国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種環(huán)路濾波方法

      文檔序號:7684240閱讀:220來源:國知局

      專利名稱::一種環(huán)路濾波方法
      技術領域
      :本發(fā)明涉及纟見頻編解碼領域,尤其涉及一種環(huán)路濾波方法。
      背景技術
      :視頻編解碼標準AVS(AudioVideocodingStandard,數(shù)字音-見頻編解碼標準)、H.264都采用基于宏塊的編碼框架,即將輸入視頻分割成宏塊,對宏塊進行預測、運動估計、變換、量化、熵編碼等。由于進行了分塊,因而不可避免的會導致塊效應,于是引入了環(huán)路濾波技術。除圖像邊界及條帶的邊界之外,宏塊的所有塊邊界都應進行濾波。此處宏塊邊界定義為宏塊內(nèi)部各個8x8塊的邊界。環(huán)路濾波以宏塊為單位,圖像中每個宏塊的濾波過程如下對于AVS標準來說,對亮度和色度分別做環(huán)路濾波。如圖l所示,對于一個宏塊的16xl6亮度塊來iJt,其內(nèi)部包含①、②、③、④四個8x8塊,標準環(huán)3各濾波方法首先從左到右對垂直邊界1和2依次進行濾波,然后從上到下對水平邊界3和4依次進行濾波;對于一個宏塊的8x8色度塊來說,標準環(huán)路濾波方法首先對垂直邊界5濾波,然后對水平邊界6濾波。當前宏塊的環(huán)路濾波的輸入為圖像未進行濾波的樣本值,當前宏塊環(huán)路濾波會修改這些樣本值。當前宏塊垂直邊界濾波過程中修改的樣本值作為水平邊界濾波過程的輸入。如上所述,在編解碼過程中,為解決邊界效應和塊效應問題,必須進行環(huán)路濾波。在標準的環(huán)路濾波算法中,其對一個8x8塊邊界的濾波過程為首先根據(jù)宏塊類型以及宏塊中8x8亮度塊的運動矢量得到當前邊界的濾波強度值,再根據(jù)該濾波強度值對當前邊界兩側(cè)的某一行/列樣本進行閾值判斷以確定是否需要濾波,若需要則進一步通過兩個閾值判斷步驟確定濾波的程度和范圍,最后再進行濾波操作。很顯然,由于一個8x8塊邊界僅采用一個濾波強度值,因而對于該邊界的8個行/列邊界來說,所述的濾波強度值并不一定適合該行/列邊界,會造成重建圖像質(zhì)量的下降。并且,由于對邊界上的每行/列進行濾波時都需要兩個閾值判斷步驟,因而復雜度加大,并且不利于濾波的流水操作。
      發(fā)明內(nèi)容本發(fā)明所要解決的技術問題在于提供一種使得重建圖像質(zhì)量較好的環(huán)路濾波方法。為了解決上述技術問題,本發(fā)明提出一種環(huán)路濾波方法,包括以下步驟a、計算需要濾波的邊界的每一行/列樣本的濾波強度值;b、對應所述濾波強度值對所述每一行/列樣本進行濾波。其中,所述濾波強度值通過計算邊界平滑度并根據(jù)該邊界平滑度與閾值平滑度的對應關系得到。優(yōu)選的,所述邊界平滑度通過以下方法得到判斷緊鄰當前邊界的一對樣本的差的絕對值是否小于第一閾值,若是,則耳又值1,否則,耳又值0;判斷緊鄰當前邊界的一側(cè)和次緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;判斷次緊鄰當前邊界的所述側(cè)和倒數(shù)第三緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;判斷緊鄰當前邊界的另一側(cè)和次緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;判斷次緊鄰當前邊界的所述另一側(cè)和倒數(shù)第三緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;上述五個判斷所取值的和為所述邊界平滑度;并且,所述邊界平滑度與所述濾波強度值的對應關系為若邊界平滑度大于第一閾值平滑度,則濾波強度值為2;若邊界平滑度位于第一閾值平滑度和第二閾值平滑度之間,則濾波強度值為l;若邊界平滑度小于第二閾值平滑度,則濾波強度值為o。其中,步驟b中,當所述濾波強度值為2時,且為亮度邊界時,采用以下公式進行濾波p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;q0,=(pl+p0x4+q0x4+q0x2+qlx4+q2+8)/16;pl,=(p2x3+plx8+p0x4+q0+8)/16;ql,=(q2x3+qlx8+q0x4+p0+8)/16;當所述濾波強度值為2時,且為色度邊界時,采用以下公式進行濾波p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;q0,=(pl+pOx4+q0x4+q0x2+qlx4+q2+8)/16。其中,步驟b中,當所述濾波強度值為l時,采用以下公式進行濾波p0,=(p0x3+q0+2)/4;q0,=(q0x3+p0+2)/4。另外,在計算所述邊界平滑度之前,首先判斷當前行/列樣本的邊界是否是真實邊界,若是,則結(jié)束對該行/列樣本邊界的濾波,否則執(zhí)行后續(xù)步驟。其中,步驟b中,當所述濾波強度值為不等于對應所述的情形時,則按照一見頻編解碼標準中標準濾波方案濾波。另一方面,步驟a中通過判斷當前宏塊的塊效應是否明顯實現(xiàn),若明顯,則認為需要濾波,否則不需要濾波。其中,若當前邊界滿足下述3個條件中的至少一個,則認為塊效應不明顯,否則認為明顯conl、當前幀為B幀或p幀,并且當前邊界為當前宏塊的內(nèi)部邊界,且當前宏塊亮度的宏塊編碼模板的值為0;con2、當前幀為B幀或p幀,并且當前邊界為兩個宏塊之間的邊界,且所述兩個宏塊亮度的宏塊編碼模板的值都為0;con3、當前幀為B幀或p幀,并且當前邊界為兩個宏塊之間的邊界,所述兩個宏塊的參考幀相同,且所述兩個宏塊的運動矢量的差小于一個像素點。本發(fā)明中由于對邊界上每一行/列均計算一個濾波強度值,從而該濾波強度值更加適合該行/列邊界,而根據(jù)該濾波強度值進行的濾波操作也能夠使得重建圖像的質(zhì)量更好。另外,由于在濾波過程中省略了對兩個閾值的判斷,因而避免了大量的運算,提高了效率。另一方面,由于在濾波強度值等于2或1時采用了新的濾波公式,從而使得輸出的信噪比進一步提升。圖l是一個宏塊的亮度和色度邊界分布的一個實施例的示意圖2是基于圖1所示宏塊的一個8x8塊邊界結(jié)構(gòu)的一個實施例的示意圖3是基于圖2的本發(fā)明一種環(huán)路濾波方法的一個實施例的流程圖。具體實施例方式首先,對現(xiàn)有技術中環(huán)路濾波的方法進行描述。參考圖1,圖示了一個宏塊的亮度和色度邊界分布的一個實施例的示意圖。如圖所示,該宏塊包括4個8x8亮度塊,分別是①、②、③、④;該四個亮度塊包括兩個垂直邊界1和2(圖中實線部分),兩個水平邊界3和4(圖中虛線部分);其中,2表示一整個垂直邊界,而7表示2的一部分(在本實施例中為2的一半)。該宏塊還包括一個8x8色度塊(圖中僅示出一個,對于不同的格式8x8色度塊的數(shù)量也不同),其包括垂直邊界5和水平邊界6。圖1中四個亮度塊和一個色度塊的最右邊的點線邊界為所述宏塊右邊的宏塊(圖未示)的對應亮度和色度的左邊界,最下邊的點線為所述宏塊下邊的宏塊(圖未示)的對應亮度和色度的上邊界,因此,所述兩個點線邊界為其它宏塊的邊界,可以類比于圖l所示宏塊,在此不對其說明。參考圖2,圖示了基于圖1所示宏塊的一個8x8塊邊界結(jié)構(gòu)的一個實施例的示意圖。如圖所示,實際上本實施例是將圖1中垂直邊界7及其兩側(cè)的各三列樣本進行放大后的示意圖,由于①、②均是8x8塊,因此,邊界7兩側(cè)的各三列樣本每列均包括8行,另外由于對于邊界7的濾波不涉及其兩側(cè)各三列樣本以外的數(shù)據(jù),所以,在圖2中僅示出其兩側(cè)的各三列樣本。需要說明的是,本具體實施方式中用p、q表示未進行濾波前的樣本值,用字母p,、q,對應表示濾波后的樣本值;其后所跟的數(shù)值(例如p0、ql、q2、p2等)為通用的表示同一行/列樣本中與邊界的位置關系,0表示緊鄰,1表示次緊鄰,2表示倒數(shù)第三緊鄰。在現(xiàn)有技術的環(huán)路濾波過程當中,計算邊界7的濾波強度值(BS值),并利用該濾波強度值對該邊界7的每行邊界兩側(cè)的像素進行濾波。例如,當BS二2時,濾波過辟呈如下if(Abs(p2-p0)<|3&&Abs(p0—q0)<((a》2)+2))p0,=(pl+2xpO+qO+2)2pi,=(2xpi+p0+q0+2)》2}elsep0,=(2xpl+p0+q0+2)》2if(Abs(q2,<卩&&Abs(pO—q0)<((a2)+2)){qO,=(ql+2xq0+p0+2)》2ql,=(2xql+q0+p0+2)》2elseqO,=(2xql+qO+pO+2)》2可見,在上述過程中,有兩次"if,的判斷,這兩次判斷即為閾值的判斷。其中,a、(3均為AVS標準中所定義的塊邊界閾值,其值可以參考AVS標準中的解釋;Abs為求絕對值函數(shù);Bs為濾波強度;">〉"表示右移操作,其后值為右移操作次數(shù)。下面,簡要說明本發(fā)明的原理。本發(fā)明改變了現(xiàn)有技術中以一個塊邊界的濾波強度值(即Bs值)來作為該邊界下的每一行/列樣本的邊界濾波強度值的做法;其通過計算塊邊界上的每一行/列樣本的邊界濾波強度值,來對該行/列樣本邊界兩側(cè)的像素進行濾波,這樣一來,由于每一行/列樣本的邊界濾波強度值相對于所述塊邊界的濾波強度值更能適應該行/列的情況,因而濾波的效果更好,重建圖像的質(zhì)量也更好。以圖2為例,其為8x8塊,其包括8行及8列樣本。對于邊界7來說,該塊的8行樣本所包含的每一段邊界將求得一個Bs值,并根據(jù)該Bs值對所在行的對應樣本進行濾波操作。而現(xiàn)有技術當中則是對圖2中8x8塊的邊界7求一個該邊界下所有8行樣本共用的Bs值,或者對圖1中宏塊的邊界l、2、3、4、5、6求得一個該邊界下所有行Z列樣本共用的Bs值。另外,由于每一行/列樣本邊界得到一個濾波強度值,因而省略了現(xiàn)有技術中在對每一行/列樣本邊界濾波時所進行的閾值判斷,降低了計算量,提高了效率。下面結(jié)合附圖對本發(fā)明進行詳細闡述。參考圖3,圖示了基于圖2的本發(fā)明一種環(huán)路濾波方法的一個實施例的流程圖。如圖所示,包括以下步驟步驟S300,判斷當前宏塊是否需要濾波,若是,則程序下行,否則執(zhí)行步驟S307。本步驟中,判斷當前宏塊是否需要濾波通過判斷當前宏塊的塊效應是否明顯來實現(xiàn),若明星,則認為需要濾波,否則不需要濾波。判斷當前邊界滿足是否滿足下列三個條件中的至少一個,若是,則認為塊效應不明顯.,否則i人為明顯。三個條件如下conl、當前幀為B幀或P幀,并且當前邊界為當前宏塊的內(nèi)部邊界,且當前宏塊亮度的宏塊編碼4莫板的值為0;con2、當前幀為B幀或P幀,并且當前邊界為兩個宏塊之間的邊界,且所述兩個宏塊亮度的宏塊編碼模板的值都為0;con3、當前幀為B幀或P幀,并且當前邊界為兩個宏塊之間的邊界,所述兩個宏塊的參考幀相同,且所述兩個宏塊的運動矢量的差小于一個像素點。所述宏塊編碼模板即為cbp,其含義在AVS標準中有定義,在此不進行詳細解釋。步驟S301,計算當前邊界當前行/列的邊界平滑度。在本發(fā)明的一個實施例中,所述邊界平滑度通過以下方式計算num=(abs(p0—q0)<Tl)l:0+(abs(p1—pO)〈T2)l:0+(abs(p2—pl)<T2)l:0+(abs(ql~q0)<T2)l:0+(abs(q2-ql)〈T2)l:0其中,num表示邊界平滑度;Tl為第一閾值,其可以在((013)+2)~((al)+2)之間取值,優(yōu)選的可以耳又(013)+2;T2為第二閾值,其可以在(p+2)/5《p+2)/3之間取值,優(yōu)選的可以取((3+2)/4;""為問號表達式,對于SU:V式來說,若S成立,則該式的值為U,否則為V;ot、p、abs的含義與前述背景^支術中相同;abs(pO-qO)<Tl)l:0含義為判斷緊鄰當前邊界的一對樣本的差的絕對值是否小于第一閾值,若是,則取值l,否則,取值0;abs(pl-pO)<T2)l:0含義為判斷緊鄰當前邊界的一側(cè)和次緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;abs(p2-pl)<T2l:0含義為判斷次緊鄰當前邊界的所述側(cè)和倒數(shù)第三緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值1,否則,取值0;abs(ql-qO)〈T2)1:0含義為判斷緊鄰當前邊界的另一側(cè)和次緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;abs(q2il)<T2)l:0含義為判斷次緊鄰當前邊界的所述另一側(cè)和倒數(shù)第三緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值1,否則,取值0;步驟S302,根據(jù)邊界平滑度與閾值平滑度的關系對應得到當前邊界的濾波強度值Bs。在通過步驟S301得到了邊界平滑度后,本步驟將利用該邊界平滑度與閾值平滑度的對應關系獲得濾波強度值Bs。即,得到num后再將num與閾值平滑度比較,才艮據(jù)num所在的范圍來確定濾波強度Bs的值。其得到Bs的一個實施例如下若num>Thl,則Bs=2;若Th2《num〈Thl,則Bs=l;若num〈Th2,貝'JBs=0;其中,Thl為第一閾值平滑度,其值可以取3、4或5,優(yōu)選的可以取4;Th2為第二閾值平滑度,其值可以取1或2,優(yōu)選的可以取2;另外,對于num等于邊界值的情況,這時num即可以事先約定屬于哪個區(qū)間(例如上述實施例),也可以是隨4幾的;步驟S303,判斷濾波強度值Bs是否為0,若是,則執(zhí)行步驟S305,否則,才丸行步驟S304。當Bs值為0時,即表示濾波強度為0,也就不需要濾波,因而執(zhí)行步驟S305;步驟S304,根據(jù)所述濾波強度值對當前行/列進行濾波。在本步驟中,濾波操作所采用的公式可以是視頻編解碼標準中定義的標準公式(例如AVS標準文檔、H.264標準文檔中的濾波公式),也可以采用本發(fā)明使用。下面以本發(fā)明中的濾波公式為例進行說明當所述濾波強度值為2時,且為亮度邊界時,采用以下公式進行濾波p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;q0,=(pl+p0x4+q0x4+q0x2+qlx4+q2+8)/16;pl,=(p2x3+plx8+p0x4+q0+8)/16;ql,=(q2x3+qlx8+q0x4+p0+8)/16;當所述濾波強度值為2時,且為色度邊界時,采用以下公式進行濾波p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;q0'=(pl+p0x4+q0x4+q0x2+qlx4+q2+8)/16。其中,步驟b中,當所述濾波強度值為l時,采用以下公式進行濾波p0,=(pOx3+qO+2)/4;q0,=(q0x3+p0+2)/4;所述p0、pl、p2、q2、ql、q0所表示的含義可以參考上文的闡述,其位置關系可以形象的參考下表<table>tableseeoriginaldocumentpage12</column></row><table>其表示一行/列樣本中臨近邊界(粗實線)的三個像素點;px,表示,px濾波后的《直,x取0,1,2。步驟S305,判斷當前宏塊是否濾波完畢,若是,則執(zhí)行步驟S307,否則執(zhí)行步驟S306。判斷當前宏塊是否濾波完畢是指當前宏塊的所有需要濾波的邊界的每一行/列均濾波完畢;步驟S306,取下一行/列樣本。即,在當前宏塊還有沒有濾波的行/列樣本時,則取還沒有濾波的行/列樣本以進行上述的濾波過程,其目的在于遍歷所有行/列進行濾波。本步驟執(zhí)行完畢后執(zhí)行步驟S301;步驟S307,結(jié)束。需要i兌明的是,在步驟S304的濾波過程中,可以Bs=2時采用本發(fā)明所述方案,Bs=l時采用標準文檔中的方案;或者,反過來,當Bs=l時采用本發(fā)明所述方案,Bs=2時采用標準文檔中的方案。另夕卜,由于AVS一見頻編解碼標準和H.264、MPEG^L頻編解碼標準等均是基于宏塊的編碼框架,因此本具體實施方式中的實施例均可以適用。以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。權利要求1、一種環(huán)路濾波方法,包括以下步驟a、計算需要濾波的邊界的每一行/列樣本的濾波強度值;b、對應所述濾波強度值對所述每一行/列樣本進行濾波。2、根據(jù)權利要求1中任一項所述的方法,其特征在于,所述濾波強度值通過計算邊界平滑度并根據(jù)該邊界平滑度與閾值平滑度的對應關系得到。3、根據(jù)權利要求2所述的方法,其特征在于,所述邊界平滑度通過以下方法得到判斷緊鄰當前邊界的一對樣本的差的絕對值是否小于第一閾值,若是,則取值1,否則,取值0;判斷緊鄰當前邊界的一側(cè)和次緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二闊值,若是,則取值l,否則,取值0;判斷次緊鄰當前邊界的所述側(cè)和倒數(shù)第三緊鄰當前邊界的所述側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;判斷緊鄰當前邊界的另一側(cè)和次緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;判斷次緊鄰當前邊界的所述另一側(cè)和倒數(shù)第三緊鄰當前邊界的所述另一側(cè)的一對樣本的差的絕對值是否小于第二閾值,若是,則取值l,否則,取值0;上述五個判斷所取值的和為所述邊界平滑度;并且,所述邊界平滑度與所述濾波強度值的對應關系為若邊界平滑度大于第一閾值平滑度,則濾波強度值為2;若邊界平滑度位于第一閾值平滑度和第二閾值平滑度之間,則濾波強度值為i;若邊界平滑度小于第二閾值平滑度,則濾波強度值為0。4、根據(jù)權利要求3所述的方法,其特征在于,步驟b中,當所述濾波強度值為2時,且為亮度邊界時,采用以下公式進行濾波p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;q0,=(pl+p0x4+q0x4+q0x2+qlx4+q2+8)/16;pl'=(p2x3+plx8+p0x4+q0+8)/16;ql,=(q2x3+qlx8+q0x4+p0+8)/16;當所述濾波強度值為2時,且為色度邊界時,采用以下公式進行濾波:p0,=(p2+plx4+p0x4+p0x2+q0x4+ql+8)/16;qO'=(pl+pOx4+q0x4+q0x2+qlx4+q2+8)/16。5、根據(jù)權利要求3所述的方法,其特征在于,步驟b中,當所述濾波強度值為1時,采用以下公式進行濾波p0,=(p0x3+q0+2)/4;q0,=(q0x3+p0+2)/4。6、根據(jù)權利要求2所述的方法,其特征在于,在計算所述邊界平滑度之前,首先判斷當前行/列樣本的邊界是否是真實邊界,若是,則結(jié)束對該行/列樣本邊界的濾波,否則執(zhí)4于后續(xù)步驟。7、根據(jù)權利要求4所述的方法,其特征在于,步驟b中,當所述濾波強度值為1時,采用以下公式進行濾波p0,=(p0x3+q0+2)/4;q0,=(q0x3+p0+2)/4。8、根據(jù)權利要求4、5、7中任一項所述的方法,其特征在于,步驟b中,當所述濾波強度值為不等于對應所述的情形時,則按照視頻編解碼標準中標準濾波方案濾波。9、根據(jù)權利要求1至7中任一項所述的方法,其特征在于,步驟a中通過判斷當前宏塊的塊效應是否明顯實現(xiàn),若明顯,則認為需要濾波,否則不需要濾波。10、根據(jù)權利要求9所述的方法,其特征在于,若當前邊界滿足下述3個條件中的至少一個,則認為塊效應不明顯,否則認為明顯conl、當前幀為B幀或p幀,并且當前邊界為當前宏塊的內(nèi)部邊界,且當前宏塊亮度的宏塊編碼模板的值為0;con2、當前幀為B幀或p幀,并且當前邊界為兩個宏塊之間的邊界,且所述兩個宏塊亮度的宏塊編碼模板的值都為0;con3、當前幀為B幀或p幀,并且當前邊界為兩個宏塊之間的邊界,所述兩個宏塊的參考幀相同,且所述兩個宏塊的運動矢量的差小于一個像素點。全文摘要本發(fā)明公開了一種環(huán)路濾波方法,包括以下步驟a.計算需要濾波的邊界的每一行/列的濾波強度值;b.對應所述濾波強度值對所述每一行/列樣本進行濾波。本發(fā)明中由于對邊界上每一行/列樣本均計算一個濾波強度值,從而該濾波強度值更加適合該行/列邊界,而根據(jù)該濾波強度值進行的濾波操作也能夠使得重建圖像的質(zhì)量更好。文檔編號H04N7/26GK101330615SQ20081001707公開日2008年12月24日申請日期2008年6月23日優(yōu)先權日2008年6月23日發(fā)明者微劉,彭玉華,梅焦,雷裴申請人:青島海信電子產(chǎn)業(yè)控股股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1