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

視頻編碼方法及相應(yīng)的編碼裝置的制作方法

文檔序號:7717503閱讀:233來源:國知局
專利名稱:視頻編碼方法及相應(yīng)的編碼裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及的是一種視頻編碼方法用于一個劃分成宏塊的視頻幀序列,而這些宏塊本身又劃分為許多塊,針對序列的每一幀,該方法包括下列的步驟(A)在第一次編碼傳送中利用一個固定的量化步長對該幀進(jìn)行編碼,來產(chǎn)生第一個輸出位流和與該幀的每個宏塊相關(guān)的統(tǒng)計數(shù)字;(B)根據(jù)上述統(tǒng)計數(shù)字,在第二次編碼傳送中采用一個可變的量化步長再次對該幀進(jìn)行編碼,利用一個相對于第一個輸出位流的修正的位數(shù),來產(chǎn)生該幀的每個宏塊的第二個輸出位流。
本發(fā)明還涉及一個相應(yīng)的編碼裝置。
例如在1996年3月的S.R.Ely的BBC-RD報告文件“MPEG視頻編碼基本教學(xué)指南”(“MPEG video codinga basic tutorialintroduction”)中描述的目前在數(shù)字電視領(lǐng)域廣泛使用的MPEG-2標(biāo)準(zhǔn),已經(jīng)通過衛(wèi)星和電纜被用于廣播裝置中,并有望很快用于數(shù)字地面廣播中。一個適用MPEG-2標(biāo)準(zhǔn)的視頻編碼器產(chǎn)生一個MPEG-2順應(yīng)位流,即一個具有六層語法的位流序列、圖像組(或GOP)、圖像(或幀)、片、宏塊和塊(每個幀被劃分成宏塊,每個宏塊包含四個亮度塊和兩個色度塊,每個塊包括8×8像素)。
這樣的一個編碼器區(qū)別三種類型的幀I、P或B,每個GOP為一組幀,由一個I幀開始,并包括給定數(shù)量的P和B幀。在一個I幀的每個宏塊中,每個8×8塊經(jīng)歷一個離散余弦變換(DCT),所得的變換系數(shù)被量化(為每個宏塊選擇一個量化的比例因子),對所產(chǎn)生的量化DCT系數(shù)進(jìn)行掃描并利用一個可變長度的代碼(VLC)對其進(jìn)行編碼。在一個P幀中,為了將每個宏塊編碼為一個I型(如上所述)或一個P型,采用了一個判斷,即借助于一個由一個位移矢量來識別的單向預(yù)測。對于每個宏塊,該位移矢量指出在上一幀中進(jìn)行的預(yù)測和該宏塊本身(當(dāng)前幀中)之間的平移,如上所述,對于一個I幀中的每個宏塊,僅有它們之間的誤差被編碼(并用一個相關(guān)的位移矢量來發(fā)送)。在一個B幀中,在上述的兩個編碼技術(shù)之間(一個I宏塊或一個P宏塊的編碼,單向預(yù)測編碼是基于如上所述的前一個幀或后一個幀)和一個雙向預(yù)測編碼之間也進(jìn)行一個判斷,由此進(jìn)行一個類似的誤差編碼,但僅當(dāng)通過插入一個向后位移補償預(yù)測和一個向前位移補償預(yù)測來獲得一個位移補償預(yù)測之后才進(jìn)行判斷。
在利用視頻編碼器進(jìn)行編碼之后(根據(jù)幀類型利用一個各自的壓縮度在編碼時,B幀產(chǎn)生最小的位數(shù),然后是P幀,I幀),所獲得的位流被存儲在一個編碼輸出緩沖器中并發(fā)射,最后被存儲在一個存儲介質(zhì)中或立即由一個解碼器的緩沖器接收并解碼。在編碼的位流中,可以通過控制用于每個宏塊的量化器(quantizer)步長,來修正每個I、P、B幀的編碼過程產(chǎn)生的位數(shù),采用一個較大的量化器步長時,這種自適應(yīng)的量化產(chǎn)生的位數(shù)要比采用較小的量化器步長時的位數(shù)少。
已經(jīng)提出,為了在這樣一種編碼器的輸出滿足一個所要求的約束,要按照這樣一個方式來實現(xiàn)編碼方法,使得只有在至少兩次編碼傳送之后才能獲得輸出的編碼位流。例如,在國際專利申請WO99/07158(PHF 98524)中,在第一次傳送中利用一個不變的量化器步長來編碼幀序列,因此所產(chǎn)生的位流沒有必須滿足所要求的約束,但是該第一次傳送允許獲得該處理過的幀的統(tǒng)計數(shù)字(例如,位移矢量,幀的復(fù)雜度等等)。在該分析步驟之后,進(jìn)行處理該統(tǒng)計數(shù)字的第二次傳送,來至少對量化器步長進(jìn)行修正,并因此實現(xiàn)有關(guān)幀的每個宏塊的位的更協(xié)調(diào)分布。
通過將用于編碼每個幀的位數(shù)進(jìn)行不同地分配(同時保證不超過最大的信道速率,以避免解碼器一側(cè)的緩沖問題),獲得一個可變的比特率,在前面描述的應(yīng)用中,MPEG-2標(biāo)準(zhǔn)允許在可以播送一個節(jié)目的比特率中具有一個很大的靈活性。但是,比特率越低,就會出現(xiàn)越多的壓縮人工產(chǎn)物(artifact)。這些人工產(chǎn)物可能是空間的(分塊、響鈴、角顯露)或時間的(蚊式噪聲),對于觀眾來講是很討厭的。
因此,本發(fā)明的第一個目的是提出一種解碼方法,由此減少由于上述人工產(chǎn)物所造成的可感知的干擾。
為此目的,本發(fā)明涉及一種如在本說明的前言部分所定義的視頻編碼方法,此外,其特征在于它在第一次和第二次傳遞之間,還包括下列步驟(a)解碼所述第一個輸出位流,來產(chǎn)生一個解碼的輸出位流;(b)在該解碼的位流中,檢測分塊的人工產(chǎn)物,來建立一個在所有宏塊的內(nèi)部塊邊界處發(fā)生的阻斷效應(yīng)的映像;(c)依照該映像修正統(tǒng)計數(shù)字,據(jù)此進(jìn)行第二次編碼傳送。
在實現(xiàn)該編碼方法的一個有利的實施方案中,所述人工產(chǎn)物檢測步驟包括下列的子步驟-如果在每個宏塊的四個內(nèi)部塊邊界中的每一邊界上沒有發(fā)現(xiàn)阻斷效應(yīng),則將該邊界與一個第一值相關(guān)聯(lián),否則,在相反的情況下與一個第二值相關(guān)聯(lián);-為每一個宏塊定義一個全局值G,作為上述四個值的補充;-為整個幀建立與處理過的幀的宏塊相關(guān)聯(lián)的所有全局值的映像;-對于每個宏塊,根據(jù)一個由相應(yīng)的全局值決定的比例系數(shù)來修正上述統(tǒng)計數(shù)字。
更具體地講,該第一編碼傳送可以用來產(chǎn)生一個第一輸出位流和與處理過的幀的每個原始宏塊的相關(guān)復(fù)雜度,然后利用該修正子步驟將該宏塊的復(fù)雜度乘以一個比例系數(shù),該比例系數(shù)與相關(guān)的宏塊對應(yīng)的全局值成線性關(guān)系。
根據(jù)該編碼方法的一個改進(jìn)方法,在重新編碼之前,它可以包括如下的附加步驟(a)根據(jù)下面的表達(dá)式計算一個歸一化因數(shù)F(norm)=X(in)/X(out)其中X(in)和X(out)分別為根據(jù)上述的映像進(jìn)行修正前后的統(tǒng)計值的總和;(b)在修正后將每個統(tǒng)計值乘以該歸一化因數(shù)。
本發(fā)明的另一個目的是提出實現(xiàn)對應(yīng)于上述的依照本發(fā)明的編碼方法的編碼裝置。
下面將參考附圖,對本發(fā)明進(jìn)行進(jìn)一步的描述,附圖中

圖1示出了一個具有兩次編碼傳送的常規(guī)編碼方案;圖2說明了一個對該依照本發(fā)明的編碼方案的修正;圖3示出了一個宏塊的內(nèi)部邊界;圖4說明了依照本發(fā)明的編碼方法的另一個實施方案;圖5示出了一個實現(xiàn)圖4中的方法的例子。
如圖1所示,概要介紹了一個如前面提到的專利文件WO 99/07158中所描述的編碼方案。每個連續(xù)的幀F(xiàn)RA是在第一傳送FP中在一個編碼器中處理的,其間量化器步長Q為恒定的。在該第一次傳送結(jié)束時,可以得到某些信息(圖1中由STAT1表示)被處理宏塊的復(fù)雜度、與每個宏塊相關(guān)的位移矢量等等。根據(jù)這些信息,進(jìn)行第二次傳送SP1,產(chǎn)生一個輸出位流OB,其間針對該幀的每個宏塊修正量化器的步長,以便在OB中修正對應(yīng)于每個宏塊的位分配。
根據(jù)本發(fā)明,可以按圖2中所示對上述編碼方案進(jìn)行修正,以便減少人工產(chǎn)物的數(shù)量。在第一次傳送FP的結(jié)束時得到的輸出位流OB1被解碼,解碼的位流被發(fā)送給一個下文中描述的阻斷效應(yīng)檢測器DET。該檢測器產(chǎn)生一個阻斷的人工產(chǎn)物映像BAM,該映像被存儲起來,并用來修正統(tǒng)計數(shù)字(本發(fā)明的情況中為復(fù)雜度),在圖2中表示為STAT2。然后進(jìn)行第二次傳送,在其輸出可以得到一個輸出位流OB2,但是現(xiàn)在為每個宏塊采用了一個不同的量化器步長(對于圖1中的第二次傳送SP1),結(jié)果是減少了最初觀察到的人工產(chǎn)物。
由檢測器DET實現(xiàn)的阻斷效應(yīng)的檢測操作執(zhí)行如下。如前所述,一個宏塊包含四個塊。除了宏塊間的阻斷效應(yīng)之外,認(rèn)為阻斷效應(yīng)出現(xiàn)在任何宏塊的內(nèi)部,在四個塊內(nèi)邊界中的任意一個邊界處(圖3中用A、B、C、D表示)。值V(A)、V(B)、V(C)、V(D)與上述每個邊界相關(guān)聯(lián)如果沒有阻斷效應(yīng),該值為“0”,否則為“1”。然后,對于每個宏塊,定義一個全局值G=V(A)+V(B)+V(C)+V(D),構(gòu)成一個存儲每個宏塊的G值的阻斷因素映射。對于每個宏塊,可以得到一個借助于第一次傳送處理所獲得的第一傳送復(fù)雜度。例如,在美國專利US 5680483(PHF94510)中定義了一幅圖像或一幅圖像的一部分的復(fù)雜度,多個文件中,如美國專利US 5929914(PHF95584),描述了一種方案,來估計一個復(fù)雜度并表明這樣一個復(fù)雜度和一個編碼器比特率控制之間的聯(lián)系。然后,將該復(fù)雜度X1乘以一個取決于全局值G的值,產(chǎn)生一個修正的復(fù)雜度X2=X1×C(G),其中C是一個由G決定的系數(shù),例如,根據(jù)下面的關(guān)系表來決定
但是,當(dāng)將這樣一種方法用于非常斑駁的圖像時,整個圖像的復(fù)雜度乘以同樣的因數(shù)。那么,就失去了圖像水平的調(diào)節(jié),圖像的復(fù)雜度權(quán)重比GOP中的高,干擾了GOP水平的調(diào)節(jié)。
然后,如圖4中所示(圖4說明了圖2中虛線表示部分的修正),通過在編碼器中提供一個對一種輸出復(fù)雜度進(jìn)行歸一化的附加步長,對圖2中的編碼方案進(jìn)行改進(jìn)。該附加步長包括下面兩個操作。首先,根據(jù)下面的表達(dá)式F(norm)=X(in)/X(out)計算一個歸一化因數(shù),其中對于相關(guān)幀的所有宏塊而言,X(in)為STAT2接收到的對于相關(guān)幀的所有宏塊而言的Xin值的總和,X(out)為在STAT2的輸出中得到的Xout值的總和。第二,利用一個在STAT2和SP2之間設(shè)置的一個乘法器(MUL)將STAT2輸出值Xout乘以F(norm)。
如圖4所示,本發(fā)明的另一個實施方案可以包括下列修正在要編碼的輸入幀為I或P型時,將歸一化系數(shù)設(shè)置為1,這允許在GOP調(diào)節(jié)中使這樣的幀過加權(quán)。對于該實施方案,提供了一個附加的判斷步驟,在圖4中用虛線顯示,表示為DES。
這樣,可以在圖5中的視頻編碼裝置中實現(xiàn)所描述的編碼方法,其中每個塊對應(yīng)一個在控制器55管理下完成的特定功能。所說明的編碼裝置依次包括一個接收圖像幀序列的輸入緩沖器51、一個減法器549、一個離散余弦變換(DCT)電路521、一個量化電路522、一個可變長度的編碼電路523、一個輸出緩沖器524、一個允許修改電路522中的量化步長的比特率調(diào)節(jié)電路525。電路521-525構(gòu)成了編碼分支52的主要部件,與之相關(guān)聯(lián)的有包含一個反量化電路531的預(yù)測分支53、一個反DCT電路532和一個預(yù)測子系統(tǒng)。該預(yù)測子系統(tǒng)本身包含一個加法器541、一個緩沖器542和一個在第二輸入處接收位移估計電路543的輸出的位移補償電路544(該估算是基于對在緩沖器51的輸出獲得的輸入信號的分析)。位移補償電路544的輸出信號被送回到加法器541的第二輸入,并傳送到減法器549(該減法器還接收緩沖器51的輸出信號,用于發(fā)送該輸出信號與電路544發(fā)往編碼分支的輸出信號之間的差值)。在第一次傳送FP之后,將所說明的編碼裝置的輸出發(fā)往阻斷效應(yīng)解碼級,其輸出被發(fā)往阻斷效應(yīng)檢測器DET。然后,在執(zhí)行第二次傳送SP2之前,利用由檢測器DET產(chǎn)生的阻斷人工產(chǎn)物映像BAM來修正統(tǒng)計數(shù)字。而后,借助于計算F(norm)的電路F和乘法器MUL來實現(xiàn)附加的歸一化步驟。
上面,對本發(fā)明的優(yōu)選實施方案進(jìn)行了說明和描述。這些說明和描述不是本發(fā)明的全部或者將本發(fā)明限制于所介紹的精確形式,對于一個本領(lǐng)域的熟練人員來講,顯然可以根據(jù)上述的技術(shù),在本發(fā)明的范圍之內(nèi)對本發(fā)明進(jìn)行修正和更改。例如,可以用硬件、軟件或一個硬件和軟件的組合來實現(xiàn)這里所描述的裝置,但不排除可以用一個單一硬件或軟件來實現(xiàn)幾個功能,或著可以用一個硬件組合或軟件組合,或硬件和軟件的組合來實現(xiàn)一個單一的功能。所描述的方法和裝置可以利用任何類型的計算機系統(tǒng)或其他適用于執(zhí)行這里所描述的方法的設(shè)備來實現(xiàn)。一個典型的硬件和軟件的組合可以是一個具有一個程序的通用計算機系統(tǒng),當(dāng)該程序被裝載并執(zhí)行時,它控制該計算機系統(tǒng),使其執(zhí)行這里所描述的方法。
或者,可以采用一個特殊用途的計算機,該計算機包含用來執(zhí)行本發(fā)明的一個或多個操作任務(wù)的專用硬件。本發(fā)明也可以包含在一個計算機程序產(chǎn)品中,該產(chǎn)品包含能夠?qū)崿F(xiàn)所描述的方法和功能的所有特征,并且當(dāng)被裝入到計算機系統(tǒng)時,能夠執(zhí)行這些方法和功能。在本說明的上下文中,計算機程序、軟件程序、程序、程序產(chǎn)品和軟件意指任何語言、代碼或表示法中的一套指令表達(dá)式,用來使一個系統(tǒng)具有一個信息處理能力,直接地或者在(a)轉(zhuǎn)換到另一種語言、代碼或表示法;和/或(b)以一種不同的材料形式再現(xiàn)之后,執(zhí)行一個特定的功能。
權(quán)利要求
1.一種視頻編碼方法,用于一個劃分為宏塊的視頻的幀序列,而宏塊本身又被劃分為塊,針對所述序列的每一幀,該方法包括下列步驟(A)在第一次編碼傳送中利用一個固定的量化步長對該幀進(jìn)行編碼,來產(chǎn)生第一個輸出位流和與該幀的每個宏塊相關(guān)的統(tǒng)計數(shù)字;(B)根據(jù)上述統(tǒng)計數(shù)字,在第二次編碼傳送中采用一個可變的量化步長再次對該幀進(jìn)行編碼,利用一個相對第一個輸出位流的修正的位數(shù),來產(chǎn)生該幀的每個宏塊的第二個輸出位流。該方法的進(jìn)一步的特征是,在第一次和第二次傳遞之間,它還包括下列步驟(a)解碼所述第一個輸出位流,來產(chǎn)生一個解碼的輸出位流;(b)在該解碼的位流中,檢測阻斷人工產(chǎn)物,來建立一個在所有宏塊的塊內(nèi)邊界處發(fā)生的阻斷效應(yīng)的映像;(c)依照該映像來修正統(tǒng)計數(shù)字,據(jù)此進(jìn)行第二次編碼傳送。
2.依照權(quán)利要求1的編碼方法,其中所述人工產(chǎn)物檢測步驟包括下列子步驟-如果在每個宏塊的四個塊內(nèi)邊界的每一邊界上都沒有發(fā)現(xiàn)阻斷效應(yīng),則將該邊界與一個第一值相關(guān)聯(lián),否則,在相反的情況下與一個第二值相關(guān)聯(lián);-為每一個宏塊定義一個全局值G,作為上述四個值的補充;-為整個幀建立與處理過的幀的宏塊相關(guān)聯(lián)的所有全局值的映像;-對于每個宏塊,根據(jù)一個取決于相應(yīng)全局值的比例系數(shù)來修正上述統(tǒng)計數(shù)字。
3.依照權(quán)利要求2的編碼方法,其中該第一編碼傳送可以用來產(chǎn)生第一輸出位流和與被處理幀的每個原始宏塊相關(guān)的復(fù)雜度,然后利用該修正子步驟將該宏塊的復(fù)雜度乘以一個與相關(guān)宏塊對應(yīng)的全局值成線性關(guān)系的比例系數(shù)。
4.對一個視頻幀序列進(jìn)行編碼的裝置,該視頻幀序列被劃分為宏塊,而宏塊本身又被分成塊,該裝置包括a)至少一個編碼分支,順序包括至少一個量化電路和一個可變長度電路;b)一個控制電路,針對序列的每一幀來控制下列步驟的實現(xiàn)(A)在第一次編碼傳送中利用一個固定的量化步長對該幀進(jìn)行編碼,來產(chǎn)生第一個輸出位流和與該幀的每個宏塊相關(guān)的統(tǒng)計數(shù)字;(B)根據(jù)上述統(tǒng)計數(shù)字,在第二次編碼傳送中采用一個可變的量化步長再次對該幀進(jìn)行編碼,利用一個相對第一個輸出位流的被修正的位數(shù),來產(chǎn)生該幀的每個宏塊的第二個輸出位流;(C)在第一次和第二次編碼傳送中,一個附加步驟包括下列子步驟(a)解碼第一個輸出位流,來產(chǎn)生一個解碼的輸出位流;(b)在該解碼的位流中,檢測阻斷人工產(chǎn)物,來建立一個在所有宏塊的塊內(nèi)邊界處發(fā)生的阻斷效應(yīng)的映像;(c)依照該映像修正統(tǒng)計數(shù)字,據(jù)此進(jìn)行第二次編碼傳送。
5.一種依照權(quán)利要求1的編碼方法,其特征是,在重新編碼步驟之前,它還包括下列附加的步驟(a)根據(jù)下面的表達(dá)式計算一個歸一化因數(shù)F(norm)=X(in)/X(out)其中X(in)和X(out)分別為根據(jù)上述的映像進(jìn)行修正前后的統(tǒng)計值的總和;(b)在修正后將每個統(tǒng)計值乘以該歸一化因數(shù)。
6.依照權(quán)利要求5的視頻編碼方法,其中如果有待編碼的輸入幀為I或P型,歸一化因數(shù)被設(shè)置為1。
7.一種對一個視頻幀序列進(jìn)行編碼的裝置,該視頻幀序列被劃分為宏塊,而宏塊本身又被分成塊,該裝置包括(a)至少一個編碼分支,順序包括至少一個量化電路和一個可變長度電路;(b)一個控制電路,針對該序列的每一幀來控制下列步驟的實現(xiàn)(A)在第一次編碼傳送中,利用一個固定的量化步長對該幀進(jìn)行編碼,來產(chǎn)生第一個輸出位流和與該幀的每個宏塊相關(guān)的統(tǒng)計數(shù)字;(B)解碼第一個輸出位流,來產(chǎn)生一個解碼的輸出位流;(C)在該解碼的位流中,檢測阻斷人工產(chǎn)物,來建立一個在所有宏塊的塊內(nèi)邊界處發(fā)生的阻斷效應(yīng)的映像;(D)依照該映像修正統(tǒng)計數(shù)字,(E)根據(jù)上述統(tǒng)計數(shù)字,在第二次編碼傳送中采用一個可變的量化步長再次對該幀進(jìn)行編碼,對于該幀的每個宏塊,利用一個相對第一個輸出位流被修正的位數(shù),來產(chǎn)生該幀的每個宏塊的第二個輸出位流;該裝置的進(jìn)一步特征是,還提供了一個控制電路,在重新編碼步驟之前,針對序列中的每一幀,來控制下列附加步驟的實現(xiàn)(a)根據(jù)下面的表達(dá)式計算一個歸一化因數(shù)F(norm)=X(in)/X(out)其中X(in)和X(out)分別為根據(jù)上述的映像進(jìn)行修正前后的統(tǒng)計值的總和;(b)在修正后將每個統(tǒng)計值乘以該歸一化因數(shù)。
全文摘要
本發(fā)明涉及一種適用于一個視頻幀序列的視頻編碼方法,包括的步驟有在第一次編碼傳送中利用一個固定的量化步長對每一幀進(jìn)行編碼,解碼該編碼的位流,為該幀建立一個阻塞人為因素的映像,和根據(jù)由該映像決定的修正對該幀進(jìn)行重新編碼,用于在一個采用可變的量化步長的編碼傳送中,產(chǎn)生一個第二輸出位流,相對于第一輸出位流,它具有一個修正的位數(shù)。在一個改進(jìn)的實施方案中,一個附加的歸一化操作用來在重新編碼步驟之前,消除某些不利的影響。
文檔編號H04N7/50GK1460384SQ02800948
公開日2003年12月3日 申請日期2002年3月26日 優(yōu)先權(quán)日2001年3月29日
發(fā)明者V·羅爾 申請人:皇家菲利浦電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1