專利名稱:一種用于視頻編碼的簡單化環(huán)路濾波方法
技術領域:
本發(fā)明專利涉及計算機數(shù)字視頻編碼技術領域,針對的是視頻編碼系統(tǒng)。具體的研究發(fā)明內(nèi)容為環(huán)路濾波技術。
背景技術:
現(xiàn)有的視頻圖像,在經(jīng)過傳輸之前,需要先對視頻舉行壓縮編碼,然后才可以進行傳輸。視頻編碼技術的好壞將直接影響解碼后的視頻效果。目前,國內(nèi)外有關視頻編碼的大多數(shù)技術方案,都是基于MPEG4或者H.26L標準的。其中JVT(該組織是由ITU-T和ISO/IEC JTC1這兩個國際標準化組織聯(lián)合形成的一個音視頻標準化組織)出具的視頻編碼標準則是目前國內(nèi)外十分流行的一種編碼標準技術。
在JVT所提供的視頻編碼技術中,有關環(huán)路濾波技術是如下描述的采用經(jīng)過統(tǒng)計得到的環(huán)濾波插值函數(shù),并且針對不同的幀類型和不同的預測類型,分別制定不同的濾波強度和與之相對應的濾波器。該技術的最大缺點就是濾波器比較復雜,硬件實現(xiàn)成本較高。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種用于視頻編碼的簡單化的環(huán)路濾波方案,該方案不僅可以很好地消除由于分塊變化編碼所帶來的塊效應,以達到很高的編碼效率以及更好的編碼效果,而且硬件實現(xiàn)比較簡單,成本較低。
本發(fā)明主要改動了環(huán)路濾波的濾波器和濾波強度的判定方法。其具體創(chuàng)新點在于通過判斷幀類型直接判定濾波強度,同時大幅度減小了濾波器的硬件實現(xiàn)復雜度。方案中包括了下列技術內(nèi)容1、簡單的濾波器本發(fā)明采用的濾波器插值計算系數(shù)為1,2,1。利用輸入系統(tǒng)值,按照1,2,1的額定比例,將計算得到的插值結果替換到相應位置的到視頻圖像中。
2、濾波強度的判定由于當前JVT的方案通過運動向量的插值來判斷當前塊的濾波強度不僅硬件實現(xiàn)比較麻煩,而且采用了兩種完全不同的濾波器。本發(fā)明僅僅通過判斷當前幀類型來決定相應濾波強度。在濾波強度的不同的情況下,使用同一濾波器通過不同的濾波范圍來實現(xiàn)。如果是I幀,則制定濾波強度為2;如果是P幀,則制定濾波強度為1;其余濾波強度為0。
3、濾波強度和濾波器之間的關聯(lián)如果濾波強度為2,則濾波長度為兩對象素點;如果濾波強度為1,則濾波長度為一對象素點;如果濾波強度為0,則不濾波。
本發(fā)明的技術方案如圖2-圖5所示。是在基于視頻內(nèi)容的視頻編碼方法中采用了一種簡單的環(huán)路濾波完成;這種用于視頻編碼中的的環(huán)路濾波方法,其視頻編碼是通過視頻攝像機得到原始視頻流作為輸入,通過視頻采集卡后變成視頻數(shù)據(jù)流進入計算機,并采用JVT提供的6.0版本的視頻編碼技術,由計算機進行處理與運算,其方法步驟為計算機系統(tǒng)接受采集卡處理好的原始視頻流,經(jīng)過變換和量化后,并通過視頻處理子程序后所得到的數(shù)據(jù)流再回饋到輸入部分,主要做編碼校正,繼續(xù)參與變換和量化,然后做熵編碼,最后輸出編碼好的視頻數(shù)據(jù)流;所述的視頻處理子程序主要是對視頻進行運動補償與預測,其方法步驟為對視頻依次做新的反量化、反變換處理后,進入環(huán)濾波子程序,然后存儲處理后的視頻幀,對視頻幀做運動補償和運動估計,運動補償所得到的結果用來輔助編碼,反饋回環(huán)濾波子程序中,最后作運動估計,得到的數(shù)據(jù)作為子系統(tǒng)的輸出;本發(fā)明的特征在于,在前述的環(huán)濾波子程序中所采用的方法是在JVT視頻編碼技術的基礎上,通過判斷當前幀類型直接決定相應的濾波強度視頻編碼;在濾波強度的不同的情況下,使用同一濾波器通過不同的濾波范圍來實現(xiàn),如果是I幀,則制定濾波強度為2,如果是P幀,則制定濾波強度為1,其余濾波強度為0;所采用的濾波器插值計算系數(shù)為1、2、1,利用輸入系統(tǒng)值,按照1、2、1的額定比例,將計算得到的插值結果替換到相應位置的到視頻圖像中;并且提出了用一個濾波器來對編碼塊的邊界像素進行濾波,如果濾波強度為2,則濾波長度為兩對象素點,如果濾波強度為1,則濾波長度為一對象素點,如果濾波強度為0,則不濾波。
本發(fā)明前述的環(huán)濾波子程序中是在JVT視頻編碼技術的基礎上,定義了自己的濾波強度,通過判斷幀類型直接決定濾波強度,并且提出了一個十分簡單的濾波器用來對編碼塊的邊界像素進行濾波;按照環(huán)濾波方法所執(zhí)行的環(huán)濾波程序的方法步驟如下1)判定當前編碼幀的類型,如果為B幀,即雙向預測幀,則不做環(huán)濾波,退出環(huán)濾波子程序;如果不為B幀,則進行下一步;
2)判定當前編碼幀的類型,如果為I幀、即幀內(nèi)預測幀,則濾波強度為2;如果為P幀、即預測幀,則濾波強度為1;3)如果濾波強度為2,則濾波范圍為邊界的兩對像素點;如果濾波強度為1,則濾波范圍為邊界的一對像素點;使用濾波系數(shù)為1、2、1的濾波器,權重為1的分別是當前像素點的左右鄰點,權重為2的則是當前像素點。
其中,所述的環(huán)濾波子程序中濾波器的計算公式為當邊界強度為2的時候,且p0和q0的像素插值大于一定閾值,則(P0,P1,q0,q1分別為編碼塊邊界的兩對像素點)P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于該閾值,則P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,則同樣按照以上規(guī)則進行處理。
當邊界強度為1的時候P0=(p1+2×p0+q0+2)/4;至于q0,則同樣按照以上規(guī)則進行處理。
其中,q1和p1不作濾波處理。
公式中,p0,p1,p2,q0,q1,q2分別為編碼塊邊界的兩對像素點。其中,p0為當前像素點的話,p1為p0左邊的相鄰像素,p2為p1左邊的相鄰像素q0為p0點右邊的鄰接像素點,q1為q0右邊的相鄰像素,q2為q1右邊的相鄰像素。
本發(fā)明的實驗效果顯著,可以有效提高數(shù)字視頻的編碼效率。
圖1系統(tǒng)框圖;圖2計算機編碼流程圖;圖3視頻處理子程序流程圖;圖4環(huán)濾波原理框圖;圖5環(huán)濾波子程序流程圖。
具體實施例方式
根據(jù)圖1-圖5配置本發(fā)明的一個實施例用于說明。本例中中計算機為奔騰3以上CPU,10G以上硬盤,具有一般圖像處理能力的普通臺式微機。采用現(xiàn)有的JVT提供的編碼標準6.0版本,流程圖中所述的變換以及量化分別為視頻流的格式一般為YUV格式,(即亮度、色度和飽和度分量,其比例一般是4∶2∶2或者4∶2∶0),采用的變化一般為DCT變化。目前,H.264中4×4點殘差塊的整數(shù)變換和量化方法具體為1、整數(shù)變換和量化對于運動補償預測或幀內(nèi)預測后的4×4點殘差數(shù)據(jù),進行如下的變換
Y=CfXCfT⊗Ef=(111121-1-21-1-111-22-1X121111-1-21-1-121-21-1)⊗a2ab/2a2ab/2ab/2b2/4ab/2b2/4a2ab/2a2ab/2ab/2b2/4ab/2b2/4]]>a=12,]]>b=25.]]>CfXCfT是二維變換的核心部分,Ef是縮放系數(shù)矩陣。運算符表示每一個變換后的系數(shù)分別與矩陣Ef中相同位置的縮放因子相乘(標量乘法而不是矩陣乘法)。
以上只是整數(shù)變換的正變換理論說明,在H.264的應用中,在進行了二維核心變換CfXCfT后,縮放過程是和量化相結合的,這樣就減少了運算量。
H.264中的量化方法如下Yq(i,j)=sign{Y(i,j)}(|Y(i,j)|A(QM,i,j)+f)>>(15+QE)QM≡QPmod6,QE≡QP/6,A(QM,i,j)=M(QM,r)。當r=0時,(i,j)={(0,0),(0,2),(2,0),(2,2)},當r=1時,(i,j)={(1,1),(1,3),(3,1),(3,3)},當r=2時,(i,j)是其它值。M(QM,r)的取值如下M=131075243806611916466074901008241946554936236475825819233555243728228934559]]>在解碼端,反量化的方法是Yr′(i,j)=Yq(i,j)B(QM,i,j)<<QEYr(i,j)=Yr′(i,j)>>6B(QM,i,j)=S(QM,r)。當r=0時,(i,j)={(0,0),(0,2),(2,0),(2,2)},當r=1時,(i,j)={(1,1),(1,3),(3,1),(3,3)},當r=2時,(i,j)是其它值。S(QM,r)的取值如下S=101613111814132016142318162520182923]]>反變換過程是X′=CiT(Y⊗Ei)Ci=1111/211/2-1-11-1/2-111-11-1/2(Yr⊗a2aba2ababb2abb2a2aba2ababb2abb2)111111/2-1/2-11-1-111/2-11-1/2]]>a=12,]]>b=25;]]>CiTYCi是二維變換的核心部分,Ei是縮放系數(shù)矩陣。
以上只是整數(shù)變換的反變換理論說明,在H.264的應用中,在進行了二維核心反變換CiTYCi前,縮放過程已和量化相結合,這樣就減少了運算量。
同理,在涉及到后面的反量化和反變化,則剛剛好是以上所述過程的逆變換。
對環(huán)濾波這一環(huán)節(jié)的程序進行完全替換。這里修改了濾波器的插值函數(shù),以及修改過后的濾波強度判定辦法。具體實施方案為1邊界范圍的相鄰像素濾波示意視頻圖像的每一個宏塊在做環(huán)濾波的時候,對相鄰3對像素點作插值。具體位置關系如圖所示 圖中p0,p1,p2,q0,q1,q2表示編碼塊邊界的6個像素位置。
2濾波強度的制定直接判定當前編碼幀的類型,如果是雙向編碼幀(B幀),則濾波強度為0,不作濾波。如果當前編碼幀為預測幀(P幀),則濾波強度為1,對邊界的一對像素點進行濾波。如果當前編碼幀為幀內(nèi)編碼幀(I幀),則濾波強度為2,對邊界的兩對像素點進行濾波。
3綜述綜合以上幾種因素的考慮,具體實現(xiàn)為首先,針對不同的當前視頻編碼幀,按不同的濾波強度,具體濾波如下●當邊界強度為2的時候,且p0和q0的像素插值大于一定閾值M,則P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于該閾值M,則P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,則同樣按照以上規(guī)則進行處理。
●當邊界強度為1的時候P0=(p1+2×p0+q0+2)/4;至于q0,則同樣按照以上規(guī)則進行處理。
其中,q1和p1不作濾波處理。
本發(fā)明經(jīng)多次實驗其效果顯著,具體實驗效果數(shù)據(jù)如下高清視頻序列Flamingo.yuv的測試結果(幀率30Hz,20幀,1920*1088)
高清視頻序列Harbour.yuv的測試結果(幀率30Hz,300幀,1280*720)
權利要求
1.一種用于視頻編碼的簡單化環(huán)路濾波方法,其視頻編碼是通過視頻攝像機得到原始視頻流作為輸入,通過視頻采集卡后變成視頻數(shù)據(jù)流進入計算機,并采用JVT提供的6.0版本的視頻編碼技術,由計算機進行處理與運算,其方法步驟為計算機系統(tǒng)接受采集卡處理好的原始視頻流,經(jīng)過變換和量化后,并通過視頻處理子程序后所得到的數(shù)據(jù)流再回饋到輸入部分,主要做編碼校正,繼續(xù)參與變換和量化,然后做熵編碼,最后輸出編碼好的視頻數(shù)據(jù)流;所述的視頻處理子程序主要是對視頻進行運動補償與預測,其方法步驟為對視頻依次做新的反量化、反變換處理后,進入環(huán)濾波子程序,然后存儲處理后的視頻幀,對視頻幀做運動補償和運動估計,運動補償所得到的結果用來輔助編碼,反饋回環(huán)濾波子程序中,最后作運動估計,得到的數(shù)據(jù)作為子系統(tǒng)的輸出;本發(fā)明的特征在于,在前述的環(huán)濾波子程序中所采用的方法是在JVT視頻編碼技術的基礎上,通過判斷當前幀類型直接決定相應的濾波強度視頻編碼;在濾波強度的不同的情況下,使用同一濾波器通過不同的濾波范圍來實現(xiàn),如果是I幀(幀內(nèi)預測幀),則制定濾波強度為2,如果是P幀(預測幀),則制定濾波強度為1,其余濾波強度為0;所采用的濾波器插值計算系數(shù)為1、2、1,利用輸入系統(tǒng)值,按照1、2、1的額定比例,將計算得到的插值結果替換到相應位置的到視頻圖像中;并且提出了用一個濾波器來對編碼塊的邊界像素進行濾波,如果濾波強度為2,則濾波長度為兩對象素點,如果濾波強度為1,則濾波長度為一對象素點,如果濾波強度為0,則不濾波。
2.根據(jù)權利要求1所述的一種用于視頻編碼的簡單化環(huán)路濾波方法,其特征在于,按照環(huán)濾波方法所執(zhí)行的環(huán)濾波程序的方法步驟如下1)判定當前編碼幀的類型,如果為B幀,即雙向預測幀,則不做環(huán)濾波,退出環(huán)濾波子程序;如果不為B幀,則進行下一步;2)判定當前編碼幀的類型,如果為I幀、即幀內(nèi)預測幀,則濾波強度為2;如果為P幀、即預測幀,則濾波強度為1;3)如果濾波強度為2,則濾波范圍為邊界的兩對像素點;如果濾波強度為1,則濾波范圍為邊界的一對像素點;使用濾波系數(shù)為1、2、1的濾波器,權重為1的分別是當前像素點的左右鄰點,權重為2的則是當前像素點。
3.根據(jù)權利要求1所述的一種用于視頻編碼的簡單化環(huán)路濾波方法,其特征在于,所述的環(huán)濾波子程序中濾波器的技術參數(shù)為濾波器的計算公式為1)當邊界強度為2的時候,且p0和q0的像素插值大于一定閾值M,則P0=(p1+2×p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;如果p0和q0的像素插值小于該閾值M,則P0=(2×p1+p0+q0+2)/4;P1=(p2+2×p1+p0+2)/4;至于q0,q1,則同樣按照以上規(guī)則進行處理;2)當邊界強度為1的時候P0=(p1+2×p0+q0+2)/4;至于q0,則同樣按照以上規(guī)則進行處理;其中,q1和p1不作濾波處理;公式中,p0,p1,p2,q0,q1,q2分別為編碼塊邊界的兩對像素點,其中,p0為當前像素點的話,p1為p0左邊的相鄰像素,p2為p1左邊的相鄰像素;q0為p0點右邊的鄰接像素點,q1為q0右邊的相鄰像素,q2為q1右邊的相鄰像素。
全文摘要
一種用于視頻編碼技術的簡單環(huán)路濾波方法,涉及數(shù)字視頻編碼技術領域。該方法是將經(jīng)攝像機、視頻采集卡后得到的視頻數(shù)據(jù)流輸入計算機,視頻數(shù)據(jù)流在計算機中依次進行變換和量化,再經(jīng)過視頻處理子程序后回饋到輸入部分,繼續(xù)參與變換和量化,之后做熵編碼,最后輸出編碼好的視頻數(shù)據(jù)流。所述的視頻處理子程序主要是在JVT視頻編碼技術的基礎上對視頻進行運動補償與預測;其發(fā)明特征在于環(huán)濾波子程序改變了原有環(huán)路濾波中的濾波強度判斷方法以及濾波器,僅通過區(qū)別不同的編碼幀類型決定當前的濾波強度,同時采用了一個簡單的濾波器對編碼塊邊界進行濾波。該方法可消除了由于分塊變化編碼帶來的塊效應,具有編碼效率和效果高,硬件實現(xiàn)簡單等特點。
文檔編號H04N7/24GK1558680SQ20041000067
公開日2004年12月29日 申請日期2004年1月16日 優(yōu)先權日2004年1月16日
發(fā)明者孔德慧, 王雁來, 尹寶才, 孫艷豐, 張楠, 孫磊 申請人:北京工業(yè)大學