午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種視頻旋轉方法

文檔序號:6488486閱讀:816來源:國知局
一種視頻旋轉方法
【專利摘要】本申請公開了一種視頻旋轉方法,包括:確定源視頻的圖像分辨率和目標縮放率,在目標旋轉角度和目標縮放率下,按照預先確定出的縮放前像素值與旋轉后像素值間的函數(shù)關系,直接根據(jù)源視頻每幀的各像素值計算旋轉后視頻每幀的各像素值,并按照計算結果進行顯示。應用本申請,能夠大大降低對系統(tǒng)內存的消耗。
【專利說明】一種視頻旋轉方法
【技術領域】
[0001]本申請涉及視頻處理技術,特別涉及一種視頻旋轉方法。
【背景技術】
[0002]現(xiàn)有的智能多媒體播放設備在播放視頻時可由內置方向傳感器獲知設備屏幕的角度變化從而進行90度、180度或者270度的旋轉。視頻的旋轉多數(shù)可以通過硬件設備,如視頻處理芯片的相應功能完成。但當沒有可完成類似功能的硬件設備存在時,或者該硬件設備不提供相應的旋轉功能接口時,視頻播放器需要采用軟件處理的方法對解碼后并即將顯示的視頻圖像進行旋轉,而后進行顯示。
[0003]現(xiàn)有的采用軟件處理方式對圖像進行90/180/270度旋轉的方法包括兩個步驟:
[0004]I)保持原圖像寬高比的圖像縮放:因為圖像顯示區(qū)域的大小恒定,當90/270旋轉后,圖像的寬、高發(fā)生交換可能會超出顯示區(qū)域的大小,若需要將旋轉后的圖像仍然顯示在該顯示區(qū)域,則需要將圖像進行縮放,如圖1所示。(180度旋轉不需要此步驟,其旋轉后的寬度和高度不變)
[0005]2) 90/180/270度旋轉時查找目的圖像的每個像素點在縮放后的原圖像上對應的像素點,并拷貝該像素值。
[0006]對于需要旋轉的圖像無論是從硬件或軟件視頻解碼器輸出,一般多存儲于一維的連續(xù)內存。因此上述旋轉方法存在以下缺點:
[0007]I)需要中央處理器(CPU)消耗大量的乘法、加法運算和內存訪問操作在逐像素的坐標計算和數(shù)據(jù)存取上。導致每幀視頻圖像的旋轉操作速度過慢,尤其對高清(HD,1280x720分辨率)、全高清(Ful I HD 1920x1080分辨率)的視頻圖像的旋轉速度遠遠超過可流暢播放視頻的最低限制。
[0008]2)縮放和旋轉需要先后進行,而且需要儲存中間過程的圖像(即縮放后的圖像),對系統(tǒng)內存消耗較大。

【發(fā)明內容】

[0009]本申請?zhí)峁┮环N視頻旋轉方法,能夠降低視頻旋轉過程中對內存的消耗。
[0010]一種視頻旋轉方法,包括:
[0011]確定源視頻的圖像分辨率和目標縮放率,按照目標旋轉角度和所述目標縮放率,根據(jù)源視頻每幀的各像素值和預先確定出的縮放前像素值與旋轉后像素值間的函數(shù)關系,計算旋轉后視頻每幀的各像素值,并按照計算結果進行顯示;
[0012]其中,所述縮放前像素值與旋轉后像素值間的函數(shù)關系為預先根據(jù)縮放法則的縮放前像素值和縮放后像素值間的函數(shù)關系以及90/180/270度旋轉的旋轉前像素值和旋轉后像素值間的函數(shù)關系確定的;其中,90度旋轉的旋轉前像素值和旋轉后像素值間的
H
函數(shù)關系為v(x,y) = 〃(.ι\--l-x),x=0,1,...,H/r-1, y = 0,1,...,W/r-1 ;180 度旋轉

r的旋轉前像素值和旋轉后像素值間的函數(shù)關系為v(x,y) =u(ff-1-x, H-l-y), x=0,1,...,W-1, y = O, I,..., H-1 ;270度旋轉的旋轉前像素值和旋轉后像素值間的函數(shù)關系為W
v(x,y) = ?/(--1 —).’,x) , x=0,1,..., H/r-1, y = O, 1,..., ff/r-1 ;v(x, y)為旋轉后坐標為
(x,y)點的像素值,u(x' ,y')為縮放后、旋轉前坐標為(X' y')點的像素值;W和H分別為所述源視頻的寬度和高度,r為所述目標縮放率。
[0013]較佳地,該方法進一步包括:在確定所述源視頻的圖像分辨率和目標縮放率之后、計算旋轉后目標視頻每幀的各像素值前,該方法進一步包括:
[0014]將所述縮放前像素值與旋轉后像素值間的函數(shù)關系分解為坐標點表達式部分和像素值表達式部分,并將分解出的各個所述坐標點表達式部分分解為若干乘法操作的求和操作;對于任一所述乘法操作,對應旋轉后視頻各坐標點(x,y)計算該乘法操作的結果,并對應(X,y)進行保存;其中,像素值表達式部分是對坐標點表達式部分的結果進行處理的操作;
[0015]所述計算旋轉后視頻每幀的各像素值包括:對應旋轉后視頻每幀的任一坐標點(X,y),查找對應該取值保存的各所述乘法操作的結果,并根據(jù)相應的結果計算各所述坐標點表達部分的處理結果,再將該處理結果代入所述像素值表達式部分,計算任一坐標點(X,y)的像素值。
[0016]較佳地,在所述對應旋轉后視頻各坐標點(X,y)計算各所述乘除法操作的結果并對應(x,y)進行保存后,計算旋轉后視頻每幀的各像素值前,該方法進一步包括:將旋轉后視頻的每幀圖像從上到下均分為N個部分,分別分配給N個旋轉線程;所述N為預設的整數(shù);
[0017]在計算旋轉后視頻每幀的各像素值時,各個旋轉線程并行進行相應部分圖像坐標點(X,y)的像素值計算;其中,對應(X,y)保存的各所述乘除法操作的結果在每個線程中
保存一份。
[0018]較佳地,N個線程中的第i個線程計算旋轉后視頻中第+F/r行到第



/ r -1,r / r -1)行的坐標點的像素值。
[0019]較佳地,所述縮放法則為最近鄰域法;
[0020]所述縮放前像素值和縮放后像素值間的函數(shù)關系為:u (X,y) =f (xr, yr),f (xr,yr)為縮放前坐標點(xr, yr)的像素值;
[0021]90度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:v(x,y)=f(yr,(H/r-l-x)r) ; 180度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:v(x,y) =f (ff-l-x, H-l-y) ;270度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:V(x, y)=f((ff/r-l-y)r, xr)。
[0022]較佳地,當所述縮放前的像素值和縮放后的像素值均按照光柵掃描順序分別利用一維數(shù)組src[]和dst[]表示時,90度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dst[yH/r+x]=src[(H/r-l-x)Wr+yr] ;180度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dSt[yW+X]=Src[W(H-l-y)+W-l-X] ;270度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dst[yH/r+x]=src[xWr+(W/r-l-y)r]。[0023]較佳地,所述目標旋轉角度為90度時,所述坐標點表達式部分包括:yH/r+X和(H/r-1-x) Wr+yr ;乘法操作包括:yH/r、(H/r-l_x)Wr 和 yr ;
[0024]所述目標旋轉角度為180度時,所述坐標點表達式部分包括:yW+x和W (H-1-y) +ff-1-χ ;乘法操作包括:yW 和 W (H-1-y);
[0025]所述目標旋轉角度為270度時,所述坐標點表達式部分包括:yH/r+X和xWr+(W/r-l-y)r ;乘法操作包括:yH/r、xWr 和(W/r-l-y)r。
[0026]較佳地,當所述縮放前的像素值和縮放后的像素值均按照光柵掃描順序利用一維數(shù)組表示、且目標縮放率〈I時,
[0027]對于90度和270度的旋轉,在計算旋轉后視頻每幀的各像素值時按照列優(yōu)先順序進行;
[0028]對于180度的旋轉,在計算旋轉后視頻每幀的各像素值時按照行優(yōu)先順序進行。
[0029]由上述技術方案可見,確定源視頻的圖像分辨率和目標縮放率,在目標旋轉角度和目標縮放率下,按照預先確定出的縮放前像素值與旋轉后像素值間的函數(shù)關系,直接根據(jù)源視頻每幀的各像素值計算旋轉后視頻每幀的各像素值,并按照計算結果進行顯示。上述處理方式中,不需要將縮放和旋轉的操作先后分兩步執(zhí)行,而是直接一步完成縮放加旋轉,從而避免了在處理過程中額外占用系統(tǒng)內存存儲縮放后圖像,大大降低了對系統(tǒng)內存的消耗。
[0030]進一步地,可以將縮放前像素值與旋轉后像素值間的函數(shù)關系中僅與坐標點相關的處理分離出來,對應旋轉后視頻的各坐標點,一次性計算相應的處理結果并對應相應的坐標點進行保存。在實際播放視頻圖像時,根據(jù)坐標點對應查找相應的處理結果,再利用該處理結果計算旋轉后的像素值,從而在視頻圖像處理過程中,避免在每一幀圖像處理時,都要實時進行所有函數(shù)關系的運算,而只需要在最初計算一次坐標點相關的運算,之后可以直接利用初次計算結果,大大降低了實時運算量,提高圖像處理速度;同時,還可以將每一幀圖像分成多個部分,利用多線程并行進行每個部分的圖像旋轉,再合成顯示,從而進一步提高處理速度。
【專利附圖】

【附圖說明】
[0031]圖1為現(xiàn)有方法全高清視頻90度旋轉示意圖;
[0032]圖2為本申請實施例中視頻旋轉方法的具體流程圖。
【具體實施方式】
[0033]為了使本申請的目的、技術手段和優(yōu)點更加清楚明白,以下結合附圖對本申請做進一步詳細說明。
[0034]本申請的基本視頻旋轉方法包括:確定源視頻的圖像分辨率和目標縮放率,按照目標旋轉角度和所述目標縮放率,根據(jù)源視頻每幀的各像素值和縮放前像素值與旋轉后像素值間的函數(shù)關系,計算旋轉后視頻每幀的各像素值,并按照計算結果進行顯示。
[0035]其中,縮放前像素值和旋轉后像素值間函數(shù)關系的確定方式包括:根據(jù)縮放法則中縮放前和縮放后像素值間的函數(shù)關系以及90/180/270度旋轉的旋轉前像素值和旋轉后像素值間的函數(shù)關系確定。具體地,對應每種縮放法則,都有確定的縮放前和縮放后像素值間的函數(shù)關系,可以根據(jù)實際需要選擇縮放法則,確定相應的函數(shù)關系;對于90度旋轉,
旋轉前像素值和旋轉后像素值間的函數(shù)關系為V,(A.,- O x=0,1,..., H/r-1,




r
y=0,1,..., ff/r-1 ;對于180度旋轉,旋轉前像素值和旋轉后像素值間的函數(shù)關系為v(x,y) =u(ff-l-x, H-l-y),x=0,1,..., ff-1, y=0,1,...,H_1 ;對于 270 度旋轉,旋轉前像素值和
旋轉后像素值間的函數(shù)關系為
【權利要求】
1.一種視頻旋轉方法,其特征在于,包括: 確定源視頻的圖像分辨率和目標縮放率,按照目標旋轉角度和所述目標縮放率,根據(jù)源視頻每幀的各像素值和預先確定出的縮放前像素值與旋轉后像素值間的函數(shù)關系,計算旋轉后視頻每幀的各像素值,并按照計算結果進行顯示; 其中,所述縮放前像素值與旋轉后像素值間的函數(shù)關系為預先根據(jù)縮放法則的縮放前像素值和縮放后像素值間的函數(shù)關系以及90/180/270度旋轉的旋轉前像素值和旋轉后像素值間的函數(shù)關系確定的;其中,90度旋轉的旋轉前像素值和旋轉后像素值間的函數(shù)關系為
2.根據(jù)權利要求1所述的方法,其特征在于,該方法進一步包括:在確定所述源視頻的圖像分辨率和目標縮放率之后、計算旋轉后目標視頻每幀的各像素值前,該方法進一步包括: 將所述縮放前像素值與旋轉后像素值間的函數(shù)關系分解為坐標點表達式部分和像素值表達式部分,并將分解出的各個所述坐標點表達式部分分解為若干乘法操作的求和操作;對于任一所述乘法操作,對應旋轉后視頻各坐標點(x,y)計算該乘法操作的結果,并對應(X,y)進行保存;其中,像素值表達式部分是對坐標點表達式部分的結果進行處理的操作; 所述計算旋轉后視頻每幀的各像素值包括:對應旋轉后視頻每幀的任一坐標點(X,y),查找對應該取值保存的各所述乘法操作的結果,并根據(jù)相應的結果計算各所述坐標點表達部分的處理結果,再將該處理結果代入所述像素值表達式部分,計算任一坐標點U,y)的像素值。
3.根據(jù)權利要求2所述的方法,其特征在于,在所述對應旋轉后視頻各坐標點(X,y)計算各所述乘除法操作的結果并對應(X,y)進行保存后,計算旋轉后視頻每幀的各像素值前,該方法進一步包括:將旋轉后視頻的每幀圖像從上到下均分為N個部分,分別分配給N個旋轉線程;所述N為預設的整數(shù); 在計算旋轉后視頻每幀的各像素值時,各個旋轉線程并行進行相應部分圖像坐標點(x,y)的像素值計算;其中,對應(x,y)保存的各所述乘除法操作的結果在每個線程中保存—份。
4.根據(jù)權利要求3所述的方法,其特征在于,N個線程中的第i個線程計算旋轉后視頻中第
5.根據(jù)權利要求3所述的方法,其特征在于,所述縮放法則為最近鄰域法; 所述縮放前像素值和縮放后像素值間的函數(shù)關系為:u(x, y) =f (xr, yr), f (xr, yr)為縮放前坐標點(xr,yr)的像素值; 90度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:v(x,y) =f (yr,(H/r-l-x)r) ;180度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:v(x,y) =f (ff-l-x, H-l-y) ;270度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:V(x, y)=f((ff/r-l-y)r, xr)。
6.根據(jù)權利要求5所述的方法,其特征在于,當所述縮放前的像素值和縮放后的像素值均按照光柵掃描順序分別利用一維數(shù)組src[]和dst[]表示時,90度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dst[yH/r+x]=src[(H/r-l-x)Wr+yr] ;180度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dst[yff+x] =src[ff (H-l-y) +ff-1-χ];270度旋轉的所述縮放前像素值和旋轉后像素值間的函數(shù)關系為:dst [yH/r+x]=src[xffr+(ff/r-l-y)r]。
7.根據(jù)權利要求6所述的方法,其特征在于,所述目標旋轉角度為90度時,所述坐標點表達式部分包括:yH/r+x和(H/r-1-χ) Wr+yr ;乘法操作包括:yH/r、(H/r-l_x)Wr和yr ; 所述目標旋轉角度為180度時,所述坐標點表達式部分包括:yW+x和W(H-l-y)+W-l-x ;乘法操作包括:yW和W(H-l-y); 所述目標旋轉角度為270度時,所述坐標點表達式部分包括:yH/r+X和xWr+ (ff/r-1-y)r ;乘法操作包括:yH/r、xffr 和(W/r-l-y)r。
8.根據(jù)權利要求1到7中任一所述的方法,其特征在于,當所述縮放前的像素值和縮放后的像素值均按照光柵掃描順序利用一維數(shù)組表示、且目標縮放率〈I時, 對于90度和270度的旋轉,在計算旋轉后視頻每幀的各像素值時按照列優(yōu)先順序進行; 對于180度的旋轉,在計算旋轉后視頻每幀的各像素值時按照行優(yōu)先順序進行。
【文檔編號】G06T3/40GK103679630SQ201210320566
【公開日】2014年3月26日 申請日期:2012年9月3日 優(yōu)先權日:2012年9月3日
【發(fā)明者】朱春波, 吳迪, 加納納塞卡·塞尼尼, 民時·宋, 維納·哥帕拉·拉瑪那 申請人:三星電子(中國)研發(fā)中心, 三星電子株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1