本發明涉及視頻信號處理技術領域,特別是涉及一種視頻數據旋轉方法和系統。
背景技術:
近年來,拼接墻等顯示設備的應用頻率越來越高,應用范圍越來越廣。上述顯示設備在對其視頻數據進行顯示的過程中,通常會出現視頻源獲取設備的數據獲取角度變動的狀況(如掃描儀的掃描鏡頭轉動或者攝像機的拍攝鏡頭旋轉等等),若將視頻數據獲取過程中,獲取角度變動情況下所獲取的視頻數據發送至顯示設備進行顯示,則需要在顯示設備的顯示過程中,對上述獲取角度變動情況下所獲取的視頻數據進行旋轉,以保證上述視頻數據在顯示設備上的顯示效果。
傳統視頻數據旋轉方案中,有技術用兩步法實現相應圖像數據的旋轉,但是第一步變換中,丟失圖像中的高頻部分,圖像質量下降明顯,接著Paeth和Tanaka在此基礎上提出三步實現的辦法,需通過三次平移就可以完成圖像旋轉處理,但是圖像質量還是和原圖有明顯差異。還有方案提出用快速傅里葉變換實現圖像旋轉的方法,該方法將坐標變換與圖像插值合二為一,但是計算量龐大,實現過程復雜。可見,傳統的視頻數據旋轉方案存在實現過程復雜、旋轉后,視頻信號中的圖像質量變差。
技術實現要素:
基于此,有必要針對傳統的視頻數據旋轉方案存在實現過程復雜、旋轉后視頻信號中的圖像質量變差的技術問題,提供一種視頻數據旋轉方法和系統。
一種視頻數據旋轉方法,包括如下步驟:
獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍;
計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標;
根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系;
根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置。
一種視頻數據旋轉系統,包括:
獲取模塊,用于獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍;
計算模塊,用于計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標;
確定模塊,用于根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系;
填充模塊,用于根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置。
上述視頻數據旋轉方法和系統,可以獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍以及視頻數據中各個顯示在原始顯示范圍內對應的顯示坐標,計算顯示坐標按照目標旋轉角度旋轉后的目標坐標,根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系,從而根據旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置,以實現上述視頻數據中各個像素在顯示界面的旋轉,旋轉后的視頻數據中各個像素的性能參數保持不變,其對應的圖像質量得到較好的保持,且實現上述視頻數據中各個像素旋轉的過程相對簡單,具有較高的旋轉效率。
附圖說明
圖1為一個實施例的視頻數據旋轉方法流程圖;
圖2為一個實施例的原始顯示范圍和目標顯示范圍示意圖;
圖3為一個實施例的原始顯示范圍示意圖;
圖4為一個實施例的原始顯示范圍示意圖;
圖5為一個實施例的視頻數據旋轉系統結構示意圖。
具體實施方式
下面結合附圖對本發明的視頻數據旋轉方法和系統的具體實施方式作詳細描述。
參考圖1,圖1所示為一個實施例的視頻數據旋轉方法流程圖,包括如下步驟:
S10,獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍;
通常情況下,視頻源獲取設備的數據獲取角度發生變動(如掃描儀的掃描鏡頭轉動、投影儀的投影角度出現旋轉或者攝像機的拍攝鏡頭旋轉等等),這一狀態下所獲取的視頻數據需要先進行旋轉處理后再在相應顯示界面進行顯示,以保證上述視頻數據在顯示界面的顯示效果。視頻數據包括多個像素點,各個像素點在顯示界面存在對應的顯示坐標,上述各個顯示坐標構成視頻數據在顯示界面對應的原始顯示范圍。
S20,計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標;
上述目標旋轉角度可以根據視頻源獲取設備的數據獲取角度的變動幅度進行確定,通常情況下,上述目標旋轉角度為視頻源獲取設備的數據獲取角度相對于水平方向或者豎直方向的變動角度。計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標,也就是對原始顯示范圍內的各個顯示坐標依據相應的目標旋轉角度進行變換計算,以確定各個顯示坐標變換后的坐標(目標坐標)。
S30,根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系;
上述步驟可以通過像素與顯示坐標的對應關系,顯示坐標與目標坐標之間的對應關系,確定像素與目標坐標之間的對應關系,以得到旋轉對應關系。
S40,根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置。
上述步驟可以根據各個像素在視頻數據中的排列特征對像素進行采樣,以獲取視頻數據中的各個像素,進行相應的填充。
本實施例提供的視頻數據旋轉方法,可以獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍以及視頻數據中各個顯示在原始顯示范圍內對應的顯示坐標,計算顯示坐標按照目標旋轉角度旋轉后的目標坐標,根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系,從而根據旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置,以實現上述視頻數據中各個像素在顯示界面的旋轉,旋轉后的視頻數據中各個像素的性能參數保持不變,其對應的圖像質量得到較好的保持,且實現上述視頻數據中各個像素旋轉的過程相對簡單,具有較高的旋轉效率。
在一個實施例中,上述計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標的過程可以包括:
根據目標旋轉角度將顯示界面對應的原始坐標系轉換為目標坐標系;
計算所述原始顯示范圍在目標坐標系中對應的目標顯示范圍;
分別計算各個像素對應的顯示坐標在目標坐標系中對應的目標坐標。
本實施例根據目標旋轉角度進行原始坐標系至目標坐標系的轉換,從而實現顯示坐標至目標坐標的轉換,具有較高的轉換準確性。
作為一個實施例,將圖2所示的原始顯示范圍ABCD旋轉為目標顯示范圍A’B’C’D’,相應的目標旋轉角度為Φ,可以先將原始顯示范圍ABCD所在的原始坐標系轉換為以D為坐標原點(0,0)的目標坐標系,再實現原始顯示范圍ABCD至目標顯示范圍A’B’C’D’的變換。上述原始顯示范圍ABCD至目標顯示范圍A’B’C’D’的變換過程可以包括:
若上述原始顯示范圍為一個矩形區域,矩形區域的寬為w,高為l,坐標的原點選為(x0,y0),其中x0=0,y0=0,矩形區域四個頂點坐標分別為A(x0,yk1)、B(xj1,yk)、C(xj,yk2)、D(xj2,y0)。
如圖3所示,各個橫向段長度分別包括:點D的橫坐標為j1,點B的橫坐標為j2,點C的橫坐標為j,通過數學幾何計算,分別得出各個段長度如下:
j1=wcosΦ 式(1)
j2=lsinΦ 式(2)
j=wcosΦ+lsinΦ=j1+j2 式(3)
如圖4所示,各個豎向段長度分別包括:點A的縱坐標為k1,點C的縱坐標為k2,點B的縱坐標為k,通過數學幾何計算,分別得出各個段長度如下:
k1=lcosΦ 式(4)
k2=wsinΦ 式(5)
k=lcosΦ+wsinΦ=k1+k2 式(6)
通過式1-6,可以計算出A、B、C、D四點的坐標,由這4點圈定的矩形區域便為即將旋轉的區域(原始顯示范圍)。假定旋轉區域的像素點坐標為(x,y),在圖像取點時候,有如下的限制,即0<x<xj,0<y<yk.。
通過上面計算式1-6定義好了A、B、C、D四點在原始坐標系中的具體坐標后,重新在建立一個新的坐標系(目標坐標系)。圖像旋轉后,以矩形的左下點為原點建立的新直角坐標系,如圖2所示,以D點作為原點(旋轉后的D’)。定義好新坐標后,將原來的視頻像素點填入到新的坐標系中,原有的像素點數據不做任何變換。這里就省去了舊有旋轉方法的差值、傅里葉變換的復雜的計算。
在一個實施例中,上述計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標的過程之前,還可以包括:
在視頻數據的獲取過程中,檢測視頻采集單元的旋轉角度;其中,所述視頻采集單元為攝像設備的攝像頭或者掃描儀的掃描鏡頭;
根據所述旋轉角度確定所述視頻數據的目標旋轉角度。
本實施例依據視頻采集單元的旋轉角度確定所述視頻數據的目標旋轉角度,保證了所確定的目標旋轉角度的準確性。
在一個實施例中,上述根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系的過程可以包括:
獲取視頻數據中各個像素與原始顯示范圍中的各個顯示坐標的對應關系,得到原始對應關系;
獲取原始顯示范圍內各個顯示坐標與目標坐標范圍內各個目標坐標之間的對應關系,得到坐標對應關系;
根據所述原始對應關系和坐標對應關系確定各個像素與各個目標坐標之間的對應關系,得到旋轉對應關系。
本實施例中,上述旋轉對應關系依據原始對應關系和坐標對應關系所確定,準確性高,從而保證旋轉后,各個像素填充位置的準確性,提高了旋轉后相應視頻數據的顯示效果。
在一個實施例中,上述根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置的過程可以包括:
檢測各個像素在所述視頻數據中的排列順序;
根據所述排列順序從所述視頻數據中依次采樣獲取各個像素,并將所獲取的像素分別填充至所述像素對應的目標坐標位置。
本實施例依據各個像素在所述視頻數據中的排列順序進行上述像素的采樣,使其采樣過程更為有序。
在一個實施例中,上述計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標的過程之前,還可以包括:
設置雙倍速率同步動態隨機緩存區,將待旋轉的視頻數據緩存至所述雙倍速率同步動態隨機緩存區。
作為一個實施例,上述根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置的過程可以包括:
根據所述旋轉對應關系將所述雙倍速率同步動態隨機緩存區緩存的視頻數據中各個像素分別填充至所述像素對應的目標坐標位置。
上述雙倍速率同步動態隨機緩存區可以利用DDR(雙倍速率同步動態隨機存儲器)建立,上述雙倍速率同步動態隨機緩存區為一個新的視頻幀數據存儲區域,利用該雙倍速率同步動態隨機緩存區進行視頻數據的緩存,再進行相應的采樣和填充,使后續的采樣和填充過程更為穩定。
在一個實施例中,上述原始顯示范圍為三角形區域;所述三角形區域的頂點對應視頻數據中的第一個像素;
所述根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置的過程包括:
從視頻數據中的第一個像素開始,向下逐行采樣;其中,在對像素的采樣過程中,每向下采樣一行,采樣坐標的縱坐標減一,采樣坐標的橫坐標向左減一,向右加一;
根據所述旋轉對應關系將采樣得到的像素填充至所述像素對應的目標坐標位置。
本實施例的原始顯示范圍是一個三角形區域,對該區域的像素采樣可以從頂點位置對應的像素開始,逐行采樣,每下一行,y坐標(縱坐標)減少一,一直到yk2(原始顯示范圍對應的最小縱坐標)為止;對于x軸的坐標(橫坐標),每下一行采樣,坐標往左減一,往右加一。
在一個實施例中,上述原始顯示范圍為平行四變形區域;所述平行四變形區域的左上頂點對應視頻數據中的第一個像素;
所述根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置的過程包括:
從視頻數據中的第一個像素開始,向下逐行采樣;其中,在對像素的采樣過程中,每向下采樣一行,采樣坐標的橫坐標坐標往左減一,往右減一,采樣坐標的縱坐標減一;
根據所述旋轉對應關系將采樣得到的像素填充至所述像素對應的目標坐標位置。
本實施例的原始顯示范圍是一個平行四變形區域,當采集平行四變形區域的左上頂點對應的像素時,可以采用另外一個采集規則。即x坐標(橫坐標)往左減一,往右也是減一,保持兩個邊緣橫坐標的絕對值是一致的直到采用到A點,即x坐標為0;y坐標(縱坐標)可以采用每下一行,y坐標減少一,直至y坐標為原始顯示范圍的最低點。
在一個實施例中,上述原始顯示范圍是一個倒三角形,此時可以從倒三角形區域的左上頂點點開始,逐行采樣,每下一行,y坐標(縱坐標)減少一,一直到倒三角形區域的下頂點;x軸的坐標(橫坐標),每下一行采樣,坐標往左加一,往右減一。當目標旋轉角度為45°或者90°時,采樣過程相對簡單。
參考圖5所示,圖5所示為一個實施例的視頻數據旋轉系統結構示意圖,包括:
獲取模塊10,用于獲取待旋轉的視頻數據在顯示界面對應的原始顯示范圍;
計算模塊20,用于計算所述原始顯示范圍內各個像素對應的顯示坐標按照目標旋轉角度旋轉后的目標坐標;
確定模塊30,用于根據視頻數據中像素與顯示坐標的原始對應關系確定所述像素與目標坐標的旋轉對應關系;
填充模塊40,用于根據所述旋轉對應關系將視頻數據中的各個像素分別填充至所述像素對應的目標坐標位置。
本發明提供的視頻數據旋轉系統與本發明提供的視頻數據旋轉方法一一對應,在所述視頻數據旋轉方法的實施例闡述的技術特征及其有益效果均適用于視頻數據旋轉系統的實施例中,特此聲明。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。