亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

預(yù)測(cè)宏塊碼長(zhǎng)的視頻圖像信號(hào)編碼方法及裝置的制作方法

文檔序號(hào):7539854閱讀:198來(lái)源:國(guó)知局
專利名稱:預(yù)測(cè)宏塊碼長(zhǎng)的視頻圖像信號(hào)編碼方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及將多個(gè)宏塊視頻圖像信號(hào)編碼并根據(jù)該編碼后的視頻圖像信號(hào)生成碼長(zhǎng)在規(guī)定值以下的視頻信息包的編碼方法及編碼裝置,特別是涉及當(dāng)加上本次編碼的宏塊視頻圖像信號(hào)后將使視頻信息包的碼長(zhǎng)超過(guò)極限值時(shí)輸出直到前一次編碼后的宏塊視頻圖像信號(hào)的代碼用作視頻信息包并對(duì)本次編碼后的宏塊視頻圖像信號(hào)進(jìn)行重新編碼的編碼裝置。
在很多視頻一編碼系統(tǒng)中,將某個(gè)圖象劃分為多個(gè)矩形塊并用同一圖象中的空間鄰接的塊對(duì)各塊進(jìn)行編碼。
例如,對(duì)某個(gè)塊可以這樣進(jìn)行編碼,即從已編碼的鄰接塊的內(nèi)容預(yù)測(cè)該塊的內(nèi)容并對(duì)該預(yù)測(cè)的內(nèi)容與實(shí)際內(nèi)容之間的差異進(jìn)行編碼?;蛘撸凑者@種方法,預(yù)測(cè)某個(gè)塊的運(yùn)動(dòng)矢量并進(jìn)行編碼。
所謂運(yùn)動(dòng)矢量,在被稱作幀間編碼的處理過(guò)程中,當(dāng)某個(gè)塊的內(nèi)容可以根據(jù)前一個(gè)或后一個(gè)圖象中的某個(gè)塊預(yù)測(cè)時(shí)使用。
另外,為表達(dá)簡(jiǎn)潔起見(jiàn),「預(yù)測(cè)」這一術(shù)語(yǔ),在本說(shuō)明書(shū)中有時(shí)用于預(yù)測(cè)某個(gè)值,有時(shí)也用于求取預(yù)測(cè)值與實(shí)際值之間的差異。
在彩色視頻編碼中,所謂宏塊,是指占有同一圖象的一群亮度和色度塊。宏塊中的所有塊,例如可以采用同一運(yùn)動(dòng)矢量按同樣的方式編碼。在下文中作為碼長(zhǎng)引用的宏塊編碼長(zhǎng)度,隨著宏塊的內(nèi)容及怎樣才能使預(yù)測(cè)更為精確而有很大的變化。
為了在通信鏈路上傳輸,編碼視頻圖像信號(hào),在本說(shuō)明書(shū)中經(jīng)常被劃分為被稱作視頻信息包的信息包。視頻信息包,具有不超過(guò)一定的容許值的長(zhǎng)度,并包含著數(shù)量可變的編碼后宏塊。此外,為減少因視頻信息包的丟失或損壞而引起的差錯(cuò)的傳播,視頻信息包中的宏塊,不能用其他視頻信息包中的空間鄰接的宏塊進(jìn)行編碼。
在通常的編碼系統(tǒng)中,通過(guò)將編碼后的宏塊依次存儲(chǔ)在一個(gè)緩沖器內(nèi)并一直存儲(chǔ)到所存儲(chǔ)的宏塊的總碼長(zhǎng)達(dá)到或超過(guò)規(guī)定的閾值而匯編成一個(gè)視頻信息包。如果總碼長(zhǎng)仍在視頻信息包的容許值范圍內(nèi),則將緩沖器中的全部編碼后的宏塊作為一個(gè)視頻信息包輸出。如果總碼長(zhǎng)超過(guò)視頻信息包的容許值,則將除最后編碼的宏塊以外的全部作為一個(gè)視頻信息包輸出,而將最后的宏塊保存起來(lái)使其包含在下一個(gè)視頻信息包內(nèi)。最后的宏塊,即使可以用編碼后輸出的任何一個(gè)宏塊編碼,本次也不用該宏塊,而是在配置于下一個(gè)視頻信息包之前進(jìn)行重新編碼。
該系統(tǒng)的課題在于,如為了避免浪費(fèi)有效的視頻信息包空間而將閾值設(shè)定得足夠高時(shí),最后的宏塊往往不能插入視頻信息包,因而必須重新編碼。這種頻繁地反復(fù)編碼,將使編碼處理過(guò)程的效率降低。
為了說(shuō)明后文所述的本發(fā)明的實(shí)施形態(tài)所需的背景,這里將更為詳細(xì)地說(shuō)明基于MPEG—4標(biāo)準(zhǔn)的現(xiàn)有編碼系統(tǒng)。
MPEG—4標(biāo)準(zhǔn),是由ITU—T(國(guó)際電信聯(lián)盟—電信標(biāo)準(zhǔn)部)的運(yùn)動(dòng)圖象專家組(Moving Picture Experts Group)制定的標(biāo)準(zhǔn)。作為MPEG標(biāo)準(zhǔn),業(yè)已制定了MPEG—1標(biāo)準(zhǔn)和MPEG—2標(biāo)準(zhǔn)。MPEG—1標(biāo)準(zhǔn),適用于CD—ROM,并適用于VCD盤及卡拉OK,此外還通過(guò)網(wǎng)絡(luò)用于動(dòng)圖象通信。MPEG—2標(biāo)準(zhǔn),適用于普通電視機(jī)及HDTV(高清晰度電視)或存儲(chǔ)媒體系統(tǒng)及通信系統(tǒng)。
作為與上述MPEG—1標(biāo)準(zhǔn)和MPEG—2標(biāo)準(zhǔn)不同的MPEG—4標(biāo)準(zhǔn)的特征在于,雖然有時(shí)也采用具有各種特性的對(duì)象和景物之類的不同構(gòu)成要素,但其對(duì)象和景物的信息能以與位速率無(wú)關(guān)的方式壓縮并進(jìn)行可變長(zhǎng)編碼。
以下,說(shuō)明基于MPEG—4標(biāo)準(zhǔn)的編碼裝置及編碼的概要。
圖8是基于MPEG—4標(biāo)準(zhǔn)的現(xiàn)有編碼裝置的框圖,例如,如文獻(xiàn)「MPEG—4總論」(工業(yè)調(diào)查會(huì))p.39~p.40所示的裝置。
圖8的編碼裝置1,輸入將按MPEG—4處理的視頻基本處理單位即視頻對(duì)象平面(VOP)劃分后的宏塊的視頻圖像信號(hào)(亮度信號(hào)Y及色差信號(hào)Cb/Cr),并以位流形式輸出包含編碼后的視頻圖像信號(hào)的視頻信息包。從編碼裝置1輸出的視頻信息包,由譯碼裝置2內(nèi)的接收緩沖器31暫時(shí)存儲(chǔ),然后由譯碼電路32進(jìn)行譯碼。
編碼裝置1,備有減法器11,輸入所輸入的視頻圖像信號(hào),作為第一輸入;DCT電路12,對(duì)減法器11的輸出信號(hào)進(jìn)行離散余弦變換(DCT);量化電路13,將DCT電路12的輸出信號(hào)量化后輸出;DC/AC預(yù)測(cè)電路14,對(duì)與作為輸入的宏塊所屬的視頻對(duì)象平面(VOP)內(nèi)的對(duì)象的塊有關(guān)的DCT系數(shù)的DC分量及AC分量進(jìn)行預(yù)測(cè);可變長(zhǎng)編碼(VLC)電路15,對(duì)多個(gè)宏塊的DCT系數(shù)及后文所述的運(yùn)動(dòng)矢量進(jìn)行可變長(zhǎng)編碼,并將其劃分為視頻信息包后以位流形式輸出;反量化電路16,對(duì)從量化電路13輸出的DCT系數(shù)進(jìn)行反量化;反DCT電路17,對(duì)反量化后的DCT系數(shù)進(jìn)一步進(jìn)行反離散余弦變換;加法器18,輸入反離散余弦變換后的視頻圖像信號(hào),作為第一輸入;存儲(chǔ)器19,存儲(chǔ)加法器18的輸出;預(yù)測(cè)圖象生成電路20,輸入存儲(chǔ)在存儲(chǔ)器19內(nèi)的視頻圖像信號(hào)作為第一輸入,同時(shí)輸入后文所述的運(yùn)動(dòng)檢測(cè)電路21的輸出作為第二輸入,生成下一個(gè)宏塊的預(yù)測(cè)圖象并輸出到減法器11和加法器18;運(yùn)動(dòng)檢測(cè)電路21,輸入存儲(chǔ)在存儲(chǔ)器19內(nèi)的視頻圖像信號(hào)作為第一輸入,同時(shí)輸入作為對(duì)象的宏塊的視頻圖像信號(hào)作為第二輸入,對(duì)作為對(duì)象的宏塊檢測(cè)誤差最小的宏塊并將其輸出到預(yù)測(cè)圖象生成電路20,同時(shí)將指示向所檢出的宏塊運(yùn)動(dòng)的信號(hào)即運(yùn)動(dòng)矢量輸出到后文所述的運(yùn)動(dòng)矢量預(yù)測(cè)電路22;運(yùn)動(dòng)矢量預(yù)測(cè)電路22,對(duì)運(yùn)動(dòng)矢量進(jìn)行預(yù)測(cè);及控制電路23,控制上述各電路的動(dòng)作。
這里,說(shuō)明按每個(gè)宏塊輸入編碼裝置1的視頻圖像信號(hào)。
圖9是表示輸入到編碼裝置1的每個(gè)宏塊的視頻圖像信號(hào)的圖。
如圖9所示,一個(gè)視頻對(duì)象平面(VOP),被劃分成各為16行和16象素的多個(gè)宏塊。此外,各宏塊的亮度信號(hào)塊Y,被劃分成各為8行和8象素的子塊(以下,記作塊)。而色差信號(hào)Cb和Cr由8行和8象素構(gòu)成。當(dāng)所輸入的視頻圖像信號(hào)的圖象格式為MPEG—4第1版的4∶2∶0時(shí),亮度信號(hào)(Y)的16象素×16行,與2個(gè)色差信號(hào)(Cb、Cr)的8象素×8行在屏面上大小相同。因此,1個(gè)宏塊,由6個(gè)8象素×8行的塊(8×8塊)構(gòu)成。另外,圖9的VOP為矩形形狀,例如,與MPEG—2中的幀的意義相同。
圖9所示的宏塊,是位于VOP的最上部、最左邊的宏塊。例如,設(shè)圖9的VOP的最上邊的宏塊行為第1行,以下,向下依次為第2行、第3行、…,設(shè)圖9的VOP的最左邊的宏塊列為第1列,以下,向右依次為第2列、第3列、…,則圖9所示的宏塊,為位于第1列、第1行的宏塊。
另外,DCT電路12、量化電路13及DC/AC預(yù)測(cè)電路14等的各自的處理,以上述的8×8塊為單位進(jìn)行。
以下,說(shuō)明圖8的編碼裝置1的動(dòng)作。
輸入到編碼裝置1的宏塊的視頻圖像信號(hào)(亮度信號(hào)Y、色差信號(hào)Cb/Cr),由DCT電路12按每個(gè)8×8塊進(jìn)行離散余弦變換(DCT)并由量化電路13進(jìn)行量化。各量化后的8×8塊信號(hào),由DC/AC預(yù)測(cè)電路14預(yù)測(cè)DCT系數(shù)的DC分量及AC分量。
DC/AC預(yù)測(cè)電路14,在幀內(nèi)編碼的情況下,對(duì)DCT系數(shù)的DC分量及AC分量進(jìn)行預(yù)測(cè)后將其傳送到可變長(zhǎng)編碼電路15,在幀間編碼的情況下,對(duì)從量化電路13輸出的量化后的DCT系數(shù)不進(jìn)行預(yù)測(cè)而直接傳送到可變長(zhǎng)編碼電路15。
這里,進(jìn)一步用


幀內(nèi)編碼時(shí)的DC/AC預(yù)測(cè)電路14的詳細(xì)動(dòng)作。
圖10是將宏塊中的8×8亮度信號(hào)塊放大后示出的圖。
DC/AC預(yù)測(cè)電路14按每個(gè)8×8塊進(jìn)行處理,所以圖10的宏塊由作為8×8亮度信號(hào)塊的塊A、B、C及X構(gòu)成。宏塊中的右下方的8×8塊,是當(dāng)前由DC/AC預(yù)測(cè)電路14處理的塊X,圖10的宏塊中的左下方的8×8塊,是位于當(dāng)前處理中的塊X左邊的左鄰塊A,圖10的宏塊中的右上方的8×8塊,是位置為鄰接于當(dāng)前處理中的塊X的上方的上鄰塊C,圖10的宏塊中的左上方的8×8塊,是左上塊B。
在幀內(nèi)編碼時(shí)的DC/AC預(yù)測(cè)中,首先,決定DC分量的預(yù)測(cè)方向。例如,如設(shè)當(dāng)前編碼中的塊X的量化后DCT系數(shù)為Fx(i、j)(0≤i≤7,0≤j≤7)、塊X的左鄰塊A的量化后DCT系數(shù)為Fa(i、j)(0≤i≤7,0≤j≤7)、塊X的上鄰塊C的量化后DCT系數(shù)為Fc(i、j)(0≤i≤7,0≤j≤7)、塊X的左上塊B的量化后DCT系數(shù)為Fb(i、j)(0≤i≤7,0≤j≤7),則預(yù)測(cè)方向根據(jù)塊B的量化后DCT系數(shù)的DC分量Fb(0、0)、塊A的量化后DCT系數(shù)的DC分量Fa(0、0)、塊C的量化后DCT系數(shù)的DC分量Fc(0、0)決定。
為決定DC分量的預(yù)測(cè)方向,例如,如設(shè)塊A的DC分量的量化步長(zhǎng)為Qda、塊B的DC分量的量化步長(zhǎng)為Qdb、塊C的DC分量的量化步長(zhǎng)為Qdc,則反量化后的DC分量fa(0、0)、fb(0、0)、fc(0、0),分別由以下3式求得。
fa(0、0)=Fa(0、0)×Qdafb(0、0)=Fb(0、0)×Qdb
fc(0、0)=Fc(0、0)×Qdc當(dāng)在該DC分量fa(0、0)、fb(0、0)、fc(0、0)中關(guān)系式|fa(0、0)-fb(0、0)|<|fb(0、0)-fc(0、0)|成立時(shí),根據(jù)塊C的反量化后的DC分量fc(0、0)預(yù)測(cè)塊X的DC分量,相反,當(dāng)以上關(guān)系不成立時(shí),根據(jù)塊A的反量化后的DC分量fa預(yù)測(cè)塊X的DC分量。
預(yù)測(cè)后的DC分量Px(0、0),可分別按下式求得,即,當(dāng)根據(jù)塊C預(yù)測(cè)塊DC分量時(shí),Px(0、0)=Fx(0、0)-fc(0、0)/Qdx而當(dāng)根據(jù)塊A預(yù)測(cè)塊DC分量時(shí),Px(0、0)=Fx(0、0)-fa(0、0)/Qdx式中,Qdx是塊X的DC分量的量化步長(zhǎng),上述的除法按四舍五入計(jì)算。
接著,用上述的DC分量的預(yù)測(cè)方向進(jìn)行AC分量Px(i、0)或Px(0、j)的預(yù)測(cè)。如設(shè)塊A的量化參數(shù)為Qpa、塊C的量化參數(shù)為Qpc、塊X的量化參數(shù)為Qpx,則當(dāng)根據(jù)塊C預(yù)測(cè)AC分量時(shí),為Px(i、0)=Fx(i、0)-(Fc(i、0)×Qpc)/Qpx(i=1、…、7)當(dāng)根據(jù)塊A預(yù)測(cè)AC分量時(shí),為Px(0、j)=Fx(0、j)-(Fa(0、j)×Qpa)/Qpx(j=1、…、7)其中,上述的除法也按四舍五入計(jì)算。
在對(duì)每個(gè)塊分別獨(dú)立地預(yù)測(cè)了上述AC分量后,決定是否以宏塊為單位進(jìn)行AC分量的預(yù)測(cè)。
例如,當(dāng)對(duì)構(gòu)成1個(gè)宏塊的各塊中的任意的塊X根據(jù)該塊X的上鄰塊C進(jìn)行預(yù)測(cè)時(shí),由下式求得SB。
(式1)SB=Σi=17|Fx(i,0)|-Σi=17|Px(i,0)|]]>另一方面,當(dāng)根據(jù)塊X的左鄰塊A進(jìn)行預(yù)測(cè)時(shí),由下式求得SB。
(式2)SB=Σj=17|Fx(0,j)|Σj=17|Px(0,j)|]]>如構(gòu)成1個(gè)宏塊的6個(gè)塊的SB之和即SBS為SBS≥0,則對(duì)作為構(gòu)成1個(gè)宏塊的6個(gè)塊中的1個(gè)塊的各塊的AC分量進(jìn)行預(yù)測(cè),但如SBS為小于0的值,則不對(duì)作為1個(gè)宏塊中的塊的AC分量進(jìn)行預(yù)測(cè)。
另外,如設(shè)進(jìn)行AC分量的預(yù)測(cè)時(shí)ac_pred_flag=1、不進(jìn)行AC分量的預(yù)測(cè)時(shí)ac_pred_flag=0,則將ac_pred_flag作為對(duì)每個(gè)宏塊的附加信息并由可變長(zhǎng)編碼電路15進(jìn)行編碼。
當(dāng)對(duì)屬于附加了ac_pred_flag=1的宏塊的塊X根據(jù)該塊X的上鄰塊C預(yù)測(cè)AC分量時(shí),由下式求得輸出值0x(i、j),(式3) 當(dāng)根據(jù)左鄰塊A對(duì)該塊X預(yù)測(cè)AC分量時(shí),由下式求得輸出值0x(i、j)。
(式4) 對(duì)屬于附加了ac_pred_flag=0的宏塊的塊,由下式求得輸出值0x(i、j),(式5) 將該0x(i、j)作為DC/AC預(yù)測(cè)電路14的輸出,將其輸出到可變長(zhǎng)編碼電路15。
另外,在上述預(yù)測(cè)中,如當(dāng)前塊是VOP左端的塊,則對(duì)當(dāng)前塊X來(lái)說(shuō)不存在左鄰塊A和左上塊B,所以將在上述預(yù)測(cè)中用過(guò)的反量化后的DC分量fa(0、0)和fb(0、0)的值設(shè)定為預(yù)定的常數(shù)β。此外,在這種情況下,將在上述預(yù)測(cè)中用過(guò)的AC分量Fa(i、j)、Fb(i、j)、((i、j)≠(0、0))設(shè)定為0。
上述的常數(shù)β,例如可設(shè)定為從DCT電路12輸出的DCT系數(shù)中的DC分量值的范圍的中間值。即,當(dāng)從DCT電路12輸出的DC分量可取11bit的從0到2047的值時(shí),常數(shù)β=1024。
同樣,在上述預(yù)測(cè)中,如當(dāng)前塊X是位于VOP的上端的塊,則對(duì)當(dāng)前塊X來(lái)說(shuō)不存在上鄰塊C和左上塊B,所以將在上述預(yù)測(cè)中用過(guò)的反量化后的DC分量fc(0、0)和fb(0、0)的值設(shè)定為上述的常數(shù)β,并將AC分量Fc(i、j)、Fb(i、j)、((i、j)≠(0、0))設(shè)定為0。
進(jìn)一步,在上述預(yù)測(cè)中,如當(dāng)前塊X的左鄰塊A屬于與當(dāng)前塊X不同的視頻信息包,則將在上述預(yù)測(cè)中用過(guò)的反量化后的DC分量fa(0、0)設(shè)定為上述的常數(shù)β,并將AC分量Fa(i、j)、((i、j)≠(0、0))設(shè)定為0。
同樣,在上述預(yù)測(cè)中,如當(dāng)前塊X的上鄰塊C屬于與當(dāng)前塊X不同的視頻信息包,則將在上述預(yù)測(cè)中用過(guò)的反量化后的DC分量fc(0、0)設(shè)定為上述的常數(shù)β,并將AC分量Fc(i、j)、((i、j)≠(0、0))設(shè)定為0。
另外,在上述預(yù)測(cè)中,如當(dāng)前塊X的左上塊B屬于與當(dāng)前塊X不同的視頻信息包,則將在上述預(yù)測(cè)中用過(guò)的反量化后的DC分量fb(0、0)設(shè)定為上述的常數(shù)β,并將AC分量Fb(i、j)、((i、j)≠(0、0))設(shè)定為0。
按照這種構(gòu)成方式,在DC/AC預(yù)測(cè)電路14中,在屬于不同的視頻信息包的塊之間可以不參照DC分量和AC分量的系數(shù),所以,即使在所發(fā)送的位流中混入了差錯(cuò)時(shí),也可以將因DC/AC預(yù)測(cè)導(dǎo)致的差錯(cuò)的傳播限制在視頻信息包內(nèi)。
從DC/AC預(yù)測(cè)電路14輸出的多個(gè)宏塊的DCT系數(shù),輸入到可變長(zhǎng)編碼電路15。在可變長(zhǎng)編碼電路15中,將輸入信號(hào)與量化參數(shù)等附加信息一起進(jìn)行可變長(zhǎng)編碼,同時(shí)劃分成規(guī)定長(zhǎng)度的視頻信息包并以位流形式輸出。將以上的處理稱為幀內(nèi)編碼處理。此外,將對(duì)所有宏塊進(jìn)行了幀內(nèi)編碼處理的VOP稱為I—VOP。
另一方面,從量化電路13輸出的DCT系數(shù),由反量化電路16進(jìn)行反量化,進(jìn)一步,由反DCT電路17進(jìn)行反離散余弦變換,從而進(jìn)行譯碼。譯碼后的視頻圖像信號(hào),經(jīng)由加法器18輸入存儲(chǔ)器19。存儲(chǔ)在存儲(chǔ)器19內(nèi)的各宏塊的視頻圖像信號(hào),用于對(duì)與輸入到編碼裝置1的視頻圖像信號(hào)的差分進(jìn)行編碼的幀間編碼處理。
當(dāng)由編碼裝置1進(jìn)行幀間編碼處理時(shí),由運(yùn)動(dòng)檢測(cè)電路21從存儲(chǔ)在存儲(chǔ)器19內(nèi)的各宏塊的視頻圖像信號(hào)中檢測(cè)與輸入宏塊的視頻圖像信號(hào)的誤差最小的視頻圖像信號(hào)的位置,并檢測(cè)指示輸入宏塊相對(duì)于該檢出的宏塊的運(yùn)動(dòng)的運(yùn)動(dòng)矢量。在預(yù)測(cè)圖象生成電路20中,根據(jù)存儲(chǔ)在存儲(chǔ)器19內(nèi)的各宏塊的視頻圖像信號(hào)及由運(yùn)動(dòng)檢測(cè)電路21檢測(cè)出的運(yùn)動(dòng)矢量生成預(yù)測(cè)圖象。
另外,由運(yùn)動(dòng)檢測(cè)電路21檢測(cè)出的運(yùn)動(dòng)矢量,由運(yùn)動(dòng)矢量預(yù)測(cè)電路22進(jìn)行矢量值的預(yù)測(cè),并求出與預(yù)測(cè)值的差分。
這里,用

運(yùn)動(dòng)矢量預(yù)測(cè)電路22的詳細(xì)動(dòng)作。
圖11是表示運(yùn)動(dòng)矢量的預(yù)測(cè)方法的圖。另外,用MX表示當(dāng)前編碼的宏塊。宏塊的MA、MC、MD,分別表示當(dāng)前宏塊MX的左、上、右上的宏塊。
如設(shè)當(dāng)前宏塊MX的運(yùn)動(dòng)矢量為MV=(MVx、MVy)、宏塊MA的運(yùn)動(dòng)矢量為MV1=(MV1x、MV1y)、宏塊MC的運(yùn)動(dòng)矢量為MV2=(MV2x、MV2y)、宏塊MD的運(yùn)動(dòng)矢量為MV3=(MV3x、MV3y),則宏塊MX的運(yùn)動(dòng)矢量的預(yù)測(cè)值PV=(PVx、PVy),可以由下式求得。
PVx=Median(MV1x、MV2x、MV3x)PVy=Median(MV1y、MV2y、MV3y)式中,Median是輸出多個(gè)輸入值中的中間值的函數(shù)。
另外,在上述的計(jì)算中,當(dāng)宏塊MA、MC、MD中的任何1個(gè)宏塊在VOP之外時(shí),在進(jìn)行計(jì)算時(shí)使該宏塊的運(yùn)動(dòng)矢量為(0、0)。
另外,當(dāng)宏塊MA、MC、MD中的任何2個(gè)宏塊在VOP之外時(shí),將剩下的1個(gè)在VOP內(nèi)的宏塊的運(yùn)動(dòng)矢量作為預(yù)測(cè)值PV。
另外,當(dāng)宏塊MA、MC、MD全部在VOP之外時(shí),使預(yù)測(cè)值為(0、0)。
另外,在上述的計(jì)算中,當(dāng)宏塊MA、MC、MD中的任何1個(gè)宏塊屬于與當(dāng)前的宏塊X不同的視頻信息包時(shí),在進(jìn)行計(jì)算時(shí)使該宏塊的運(yùn)動(dòng)矢量為(0、0)。
另外,當(dāng)宏塊MA、MC、MD中的任何2個(gè)宏塊屬于與當(dāng)前的宏塊X不同的視頻信息包時(shí),將剩下的1個(gè)屬于同一視頻信息包的宏塊的運(yùn)動(dòng)矢量作為預(yù)測(cè)值PV。
另外,當(dāng)宏塊MA、MC、MD全部屬于與當(dāng)前的宏塊X不同的視頻信息包時(shí),使預(yù)測(cè)值為(0、0)。
運(yùn)動(dòng)矢量預(yù)測(cè)電路22,將當(dāng)前宏塊的運(yùn)動(dòng)矢量MV與上述預(yù)測(cè)值PV之差、即MV-PV=(MVx-PVx、MVy-PVy)輸出到可變長(zhǎng)編碼電路15。
由預(yù)測(cè)圖象生成電路20輸出的預(yù)測(cè)圖象,輸入到減法器11,并從減法器11輸出輸入宏塊的視頻圖像信號(hào)與預(yù)測(cè)圖象的差分信號(hào)。由DCT電路12對(duì)該差分信號(hào)進(jìn)行DCT處理,并由量化電路13進(jìn)行量化處理。量化后的差分信號(hào)的DCT系數(shù),與由運(yùn)動(dòng)矢量預(yù)測(cè)電路22預(yù)測(cè)出的運(yùn)動(dòng)矢量及量化參數(shù)等附加信息一起由可變長(zhǎng)編碼電路15進(jìn)行編碼。此外,從量化電路13輸出的差分信號(hào)的DCT系數(shù),還由反量化電路16進(jìn)行反量化,并進(jìn)一步由反DCT電路17進(jìn)行反DCT處理而恢復(fù)為差分信號(hào)。從反DCT電路17輸出的差分信號(hào),通過(guò)加法器18與從預(yù)測(cè)圖象生成電路20輸出的預(yù)測(cè)圖象相加并存儲(chǔ)在存儲(chǔ)器19內(nèi)。
在幀間編碼中,有僅從在圖象的顯示順序中在時(shí)間上靠前的VOP生成預(yù)測(cè)圖象的單向預(yù)測(cè)及從在時(shí)間上靠前的VOP和靠后的VOP兩者生成預(yù)測(cè)圖象的雙向預(yù)測(cè)。將采用單向預(yù)測(cè)進(jìn)行編碼的VOP稱作P—VOP,將采用雙向預(yù)測(cè)進(jìn)行編碼的VOP稱作B—VOP。
上述編碼裝置1的可變長(zhǎng)編碼電路15,例如,當(dāng)采用可逆變長(zhǎng)碼進(jìn)行編碼處理時(shí),在譯碼裝置2的譯碼電路13中,除了通常的正向可變長(zhǎng)譯碼外,有時(shí)還從視頻信息包的末端起進(jìn)行反向的可變長(zhǎng)譯碼。更具體地說(shuō),在將可逆變長(zhǎng)碼用于譯碼裝置2的接收信號(hào)并在正向可變長(zhǎng)譯碼中產(chǎn)生了差錯(cuò)時(shí),譯碼電路32,可以從視頻信息包的末端起進(jìn)行反向的可變長(zhǎng)譯碼。在這種情況下,在譯碼裝置2側(cè),必須將接收到的視頻信息包的總碼長(zhǎng)暫時(shí)保存在接收緩沖器31內(nèi)。
可是,譯碼裝置2中的接收緩沖器31的存儲(chǔ)容量是有限的,在設(shè)計(jì)或制造譯碼裝置2時(shí)經(jīng)常要規(guī)定存儲(chǔ)容量。為此,對(duì)從可變長(zhǎng)編碼電路15輸出的視頻信息包的長(zhǎng)度(碼長(zhǎng))有時(shí)要加以限制,以使其不超過(guò)接收緩沖器31的存儲(chǔ)容量。因此,如上所述,當(dāng)可變長(zhǎng)編碼電路15采用可逆變長(zhǎng)碼而且規(guī)定了接收緩沖器31的存儲(chǔ)容量時(shí),編碼裝置1必須對(duì)輸出的各視頻信息包的長(zhǎng)度(碼長(zhǎng))進(jìn)行控制,使其保持在不超過(guò)接收緩沖器31的存儲(chǔ)容量的規(guī)定長(zhǎng)度以下。
作為編碼裝置1控制各視頻信息包的長(zhǎng)度(碼長(zhǎng))的裝置,可以考慮一種由可變長(zhǎng)編碼電路15將多個(gè)宏塊的視頻圖像信號(hào)依次編碼后在作為視頻信息包輸出之前判斷碼長(zhǎng)的裝置。在這種裝置中,當(dāng)判定視頻信息包的長(zhǎng)度超過(guò)規(guī)定長(zhǎng)度時(shí),對(duì)超過(guò)了的宏塊視頻圖像信號(hào)部分的代碼進(jìn)行控制,使其包含在新的視頻信息包內(nèi)。
但是,如以上參照?qǐng)D10所述,DC/AC預(yù)測(cè)電路14必須求出當(dāng)前處理中的決X與正上方的塊C及左鄰塊A的相關(guān)關(guān)系,如這時(shí)使當(dāng)前處理中的塊X包含在新的視頻信息包內(nèi),則必須將正上方的塊C的DCT系數(shù)及左鄰塊A的DCT系數(shù)看作常數(shù)(例如,1024)并預(yù)測(cè)當(dāng)前處理中的塊X的DCT系數(shù)。此外,在幀間編碼的情況下,如以上參照?qǐng)D11所述,在將宏塊MX包含在新的視頻信息包內(nèi)時(shí),由于左鄰宏塊MA、上鄰宏塊MC、右上宏塊MD與其不屬于同一視頻信息包,所以運(yùn)動(dòng)矢量預(yù)測(cè)電路22也必須使預(yù)測(cè)值PV為(0、0)并對(duì)預(yù)測(cè)后的矢量進(jìn)行修正。
另外,在某些情況下,當(dāng)視頻信息包不同時(shí),宏塊內(nèi)部的各塊的碼長(zhǎng)可能發(fā)生變化,本次編碼后的超過(guò)部分的塊的碼長(zhǎng)與包含在新的視頻信息包內(nèi)的塊的碼長(zhǎng)不同。就是說(shuō),不可能將本次編碼后的超過(guò)部分的塊的代碼直接包含在新的視頻信息包內(nèi)。
因此,當(dāng)想要將超過(guò)部分的宏塊視頻圖像信號(hào)的代碼包含在新的視頻信息包內(nèi)時(shí),不能直接使用該代碼,而是必須用DC/AC預(yù)測(cè)電路14再次對(duì)該宏塊的視頻圖像信號(hào)進(jìn)行預(yù)測(cè),或由運(yùn)動(dòng)矢量預(yù)測(cè)電路22再次進(jìn)行運(yùn)動(dòng)矢量的預(yù)測(cè),并由可變長(zhǎng)編碼電路15進(jìn)行編碼后將其包含在視頻信息包內(nèi)。
但是,在基于MPEG—4標(biāo)準(zhǔn)的現(xiàn)有編碼裝置1中,如上所述,當(dāng)對(duì)從可變長(zhǎng)編碼電路15以位流形式輸出的視頻信息包有長(zhǎng)度限制時(shí),如果沒(méi)有充分考慮對(duì)視頻信息包的碼長(zhǎng)的控制而只是簡(jiǎn)單地根據(jù)碼長(zhǎng)是否在規(guī)定值以上的判斷生成下一個(gè)視頻信息包,則必需對(duì)超過(guò)部分的視頻圖像信號(hào)重新進(jìn)行預(yù)測(cè)和編碼的處理,因而存在著使編碼效率降低的問(wèn)題。
本發(fā)明的目的在于,提供一種可以將因限定了視頻信息包長(zhǎng)度而造成的編碼效率的降低減小到最低限度的視頻編碼方法及裝置。
在所發(fā)明的編碼方法中,對(duì)宏塊的視頻圖像信號(hào)進(jìn)行編碼并將其裝入限定了長(zhǎng)度的視頻信息包內(nèi)之后輸出,各宏塊,用可變長(zhǎng)碼進(jìn)行編碼,并將編碼后的宏塊連續(xù)地存儲(chǔ)在緩沖器內(nèi)。在將各編碼宏塊存儲(chǔ)在緩沖器內(nèi)時(shí),計(jì)算編碼宏塊存儲(chǔ)于緩沖器后作為結(jié)果得到的總碼長(zhǎng),并將其與限定了視頻信息包長(zhǎng)度的有關(guān)規(guī)定值進(jìn)行比較。
當(dāng)總碼長(zhǎng)超過(guò)規(guī)定值時(shí),將除最后編碼的宏塊以外的全部作為一個(gè)視頻信息包從緩沖器輸出,并對(duì)最后編碼的宏塊重新進(jìn)行編碼。
當(dāng)總碼長(zhǎng)小于規(guī)定值時(shí),預(yù)測(cè)下一個(gè)宏塊的碼長(zhǎng),并將預(yù)測(cè)出的碼長(zhǎng)與總碼長(zhǎng)相加,然后,將作為其結(jié)果得到的總計(jì)值與規(guī)定值進(jìn)行比較。當(dāng)總計(jì)值超過(guò)規(guī)定值時(shí),將存儲(chǔ)在緩沖器內(nèi)的全部編碼后的宏塊作為一個(gè)視頻信息包輸出。
在這種方式中,可以大幅度地減少由于不能將一個(gè)宏塊裝入當(dāng)前的視頻信息包而必須重新進(jìn)行編碼的頻度。因此,能使編碼效率得到改善。
在編碼處理的過(guò)程中,包含著宏塊內(nèi)容或運(yùn)動(dòng)矢量的預(yù)測(cè),當(dāng)反復(fù)進(jìn)行編碼時(shí),反復(fù)進(jìn)行預(yù)測(cè)。
最后編碼的宏塊的長(zhǎng)度,用作下一個(gè)宏塊的預(yù)測(cè)碼長(zhǎng)。
數(shù)據(jù)劃分,用于重新配置視頻信息包的已編碼宏塊·數(shù)據(jù)。
在本發(fā)明中,還提供一種使用本發(fā)明的方法的編碼裝置。
圖1是表示本發(fā)明實(shí)施形態(tài)的編碼裝置的圖。
圖2(a)~(d)是表示以視頻信息包輸出1個(gè)VOP部分的宏塊視頻圖像信號(hào)的代碼時(shí)的位流結(jié)構(gòu)的圖。
圖3是表示使各視頻信息包的碼長(zhǎng)基本保持一定時(shí)各視頻信息包在VOP內(nèi)占有的面積的圖。
圖4(a)、(b)是表示幀內(nèi)VOP時(shí)的數(shù)據(jù)劃分的圖。
圖5(a)、(b)是表示幀間VOP時(shí)的數(shù)據(jù)劃分的圖。
圖6是視頻信息包用代碼的劃分決定動(dòng)作的流程圖。
圖7(a)、(b)是將圖1中的一部分電路的各處理動(dòng)作按步驟示出的流程圖。
圖8是基于MPEG—4標(biāo)準(zhǔn)的現(xiàn)有編碼裝置的框圖。
圖9是表示輸入到圖8的編碼裝置的每個(gè)宏塊的視頻圖像信號(hào)的圖。
圖10是將宏塊中的8×8塊放大后示出的圖。
圖11是表示運(yùn)動(dòng)矢量預(yù)測(cè)的圖。
以下,根據(jù)圖示的實(shí)施形態(tài)對(duì)本發(fā)明進(jìn)行說(shuō)明。
圖1是表示用作本發(fā)明實(shí)施形態(tài)的編碼裝置51的圖。在圖1中,對(duì)與圖8所示的現(xiàn)有編碼裝置1的功能相同的部分標(biāo)以相同的符號(hào),并將重復(fù)的說(shuō)明省略。
圖1的編碼裝置51與圖8所示的編碼裝置1的主要不同點(diǎn)在于,在編碼裝置51中的可變長(zhǎng)編碼電路65的后級(jí)備有信息包碼長(zhǎng)控制部52。
信息包碼長(zhǎng)控制部52,包括暫時(shí)緩沖器81,用于暫時(shí)存儲(chǔ)從可變長(zhǎng)編碼電路65輸出的代碼;信息傳輸順序變更電路83,通過(guò)變更存儲(chǔ)在暫時(shí)緩沖器內(nèi)的代碼順序而進(jìn)行數(shù)據(jù)劃分;發(fā)送緩沖器84,對(duì)所輸入的代碼附加標(biāo)題等并以位流形式輸出視頻信息包;及碼長(zhǎng)控制電路82,通過(guò)控制存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的代碼的輸出時(shí)間控制視頻信息包用的碼長(zhǎng),同時(shí)通過(guò)控制電路73對(duì)未輸出的宏塊視頻圖像信號(hào)的代碼再次進(jìn)行DCT系數(shù)的預(yù)測(cè)及編碼。
另外,可變長(zhǎng)編碼電路65,具有兩個(gè)輸出,第一輸出,輸入到暫時(shí)緩沖器81,第二輸出,輸入到碼長(zhǎng)控制電路82。第一輸出,是由可變長(zhǎng)編碼電路65編碼后的DCT系數(shù),第二輸出,是上述編碼后的各DCT系數(shù)的碼長(zhǎng)。
這里,對(duì)以位流形式輸出的視頻信息包進(jìn)行說(shuō)明。
圖2(a)~(d),例如是表示以視頻信息包輸出如圖9所示的1個(gè)VOP部分的宏塊視頻圖像信號(hào)的代碼時(shí)的位流結(jié)構(gòu)的圖。
圖2(a),示出以連續(xù)的7個(gè)視頻信息包VP(0)~VP(6)輸出1個(gè)VOP部分的宏塊視頻圖像信號(hào)的代碼時(shí)的位流。從編碼裝置51以位流形式按順序輸出視頻信息包,例如,先輸出最左端的視頻信息包VP(0)、接著是視頻信息包VP(1),最后輸出視頻信息包VP(6)。如該圖2(a)所示,1個(gè)VOP部分的位流,由一個(gè)以上的視頻信息包構(gòu)成。
圖2(b)是表示圖2(a)中的視頻信息包VP(0)的內(nèi)部結(jié)構(gòu)的圖。
在1個(gè)VOP的第1個(gè)視頻信息包VP(0)中,首先,在開(kāi)頭附加VOP標(biāo)題,接著,依次排列1個(gè)以上的宏塊MB(0)~MB(N)的編碼后數(shù)據(jù),最后附加填充位,用于因附加了VOP標(biāo)題而引起的字節(jié)調(diào)整。
圖2(c)是表示圖2(a)中的視頻信息包VP(1)的內(nèi)部結(jié)構(gòu)的圖。
在視頻信息包VP(0)之后輸出的視頻信息包VP(1)中,首先,為正確譯碼而在開(kāi)頭附加由特定位模式的固定長(zhǎng)度碼構(gòu)成的ResyncMarker(再同步標(biāo)記),接著,附加用作視頻信息包VP(1)的ID的視頻信息包(VP)標(biāo)題,然后,依次輸出1個(gè)以上的宏塊MB(N+1)~MB(M)的編碼后數(shù)據(jù),最后附加填充位,用于因附加了VOP標(biāo)題而引起的字節(jié)調(diào)整。
圖2(d)是表示例如在圖2(c)的視頻信息包VP(1)的內(nèi)部具有填充項(xiàng)時(shí)的結(jié)構(gòu)的圖。
在其結(jié)構(gòu)內(nèi)具有填充項(xiàng)的視頻信息包中,首先,在開(kāi)頭附加用于正確譯碼的Resync Marker,接著,在附加VP標(biāo)題后,依次輸出1個(gè)以上的宏塊MB(L)~MB(K)的編碼后數(shù)據(jù),然后輸出填充項(xiàng),并再次按順序輸出1個(gè)以上的宏塊MB(K+1)的編碼后數(shù)據(jù),最后附加填充位,用于因附加了VOP標(biāo)題而引起的字節(jié)調(diào)整。按照這種方式,可以在視頻信息包中加入任意個(gè)數(shù)的填充項(xiàng)。例如,在MPEG—4Video的情況下,將填充項(xiàng)稱作填充·宏塊,并可以按照與通常的宏塊相同的處理方法裝入任意的視頻信息包內(nèi)。另外,該填充項(xiàng)可以在譯碼裝置側(cè)廢棄。
如圖2(b)~(d)所示,裝入1個(gè)視頻信息包內(nèi)的宏塊數(shù)是任意的,但當(dāng)考慮差錯(cuò)的傳播時(shí),在結(jié)構(gòu)上最好是使各視頻信息包的碼長(zhǎng)基本保持一定。一般來(lái)說(shuō),與VOP內(nèi)的移動(dòng)大的位置對(duì)應(yīng)的視頻信息包具有大的碼長(zhǎng)。因此,為使各視頻信息包的碼長(zhǎng)基本保持一定,在VOP內(nèi)的移動(dòng)大的位置上,只能以1個(gè)視頻信息包對(duì)應(yīng)小的面積,而在VOP內(nèi)的移動(dòng)小的位置上,即使是大的面積也能以1個(gè)視頻信息包對(duì)應(yīng)。
圖3是表示使各視頻信息包的碼長(zhǎng)基本保持一定時(shí)各視頻信息包在VOP內(nèi)占有的面積的例的圖。
在圖3的VOP中,在與視頻信息包VP(3)或視頻信息包VP(4)對(duì)應(yīng)的位置上,因移動(dòng)大所以面積小。可是,在與視頻信息包VP(0)或視頻信息包VP(1)對(duì)應(yīng)的位置上,因移動(dòng)小所以面積大。這樣,當(dāng)使各視頻信息包的碼長(zhǎng)基本保持一定時(shí),在VOP內(nèi)各視頻信息包占有的面積就不能保持一定。
在本實(shí)施形態(tài)中,從信息包碼長(zhǎng)控制部52內(nèi)的暫時(shí)緩沖器81到發(fā)送緩沖器84之間將數(shù)據(jù)重新排列,以下,說(shuō)明重新排列該數(shù)據(jù)的數(shù)據(jù)劃分處理。
數(shù)據(jù)劃分,是通過(guò)變更視頻信息包內(nèi)的信息傳輸順序而提高抗差錯(cuò)性的技術(shù)。當(dāng)混入差錯(cuò)時(shí),在譯碼側(cè),在差錯(cuò)混入后失去視頻信息包的同步,因而不能對(duì)混入差錯(cuò)后的數(shù)據(jù)進(jìn)行正確的譯碼。在無(wú)規(guī)律性的視頻信息包中差錯(cuò)在隨機(jī)的位置混入,所以,對(duì)數(shù)據(jù)譯碼的概率,在視頻信息包中位置靠前側(cè)的數(shù)據(jù)要高于位置靠后側(cè)的數(shù)據(jù)。因而,將更重要的數(shù)據(jù)置于前側(cè),可以提高抗差錯(cuò)性。
因此,在數(shù)據(jù)劃分中將數(shù)據(jù)重新排列后輸出,即,從視頻信息包所包含的各宏塊的數(shù)據(jù)中,使特別重要的數(shù)據(jù)位于視頻信息包的前側(cè),并使其他信息位于后側(cè)。就是說(shuō),改變傳輸順序,使重要的數(shù)據(jù)位于前側(cè)。
另外,在使重要的數(shù)據(jù)位于前側(cè)(前半部)并使其他數(shù)據(jù)位于后側(cè)(后半部)的同時(shí),還在前半部和后半部的數(shù)據(jù)之間配置特定的位串,從而能夠判定在前半部的重要數(shù)據(jù)中是否混入了差錯(cuò)。作為特定的位串,在幀內(nèi)VOP的情況下,是DC marker(19bit),在幀間VOP的情況下,是motion marker(17bit)。
圖4(a)、(b)是表示幀內(nèi)VOP時(shí)的數(shù)據(jù)劃分的圖。
在幀內(nèi)VOP的情況下,如圖4(a)所示,以宏塊為單位按順序?qū)⒌趍宏塊MB(m)、第m+1宏塊MB(m+1)等數(shù)據(jù)存儲(chǔ)在暫時(shí)緩沖器81內(nèi)。此外,關(guān)于各宏塊MB內(nèi)的數(shù)據(jù)結(jié)構(gòu),如圖4(a)所示,在宏塊MB(m)的情況下,包括宏塊MB(m)的各塊的系數(shù)數(shù)據(jù)T0(m);為將宏塊MB(m)的幀內(nèi)DC分量譯碼所需的編碼方式mcbpc、表示量化參數(shù)的量化差分值dquant、各塊的DCT系數(shù)的DC分量等信息DC(m);及指示是否進(jìn)行為將第m宏塊MB(m)的AC分量譯碼所需的AC預(yù)測(cè)的AC預(yù)測(cè)標(biāo)志ac_pred_flag、指示亮度信號(hào)Y的各塊中有無(wú)非零AC系數(shù)的編碼模式cbpy等控制信息T1(m)。同樣,宏塊MB(m+1)的數(shù)據(jù)結(jié)構(gòu),包括系數(shù)數(shù)據(jù)T0(m+1)、信息DC(m+1)、及控制信息T1(m+1)。
在將暫時(shí)緩沖器81內(nèi)的數(shù)據(jù)傳送到發(fā)送緩沖器84時(shí),在信息傳輸順序變更電路83中,進(jìn)行使特別重要的數(shù)據(jù)位于前半部的數(shù)據(jù)劃分。其結(jié)果是,在發(fā)送緩沖器84內(nèi),如圖4(b)所示,將DC(m)、DC(m+1)等全部信息DC(n)配置在前半部。接著,在附加DC marker后,將重要程度較高的T1(m)、T1(m+1)等全部控制信息T1(n)配置在后半部的起始部分,并將T0(m)、T0(m+1)等全部系數(shù)數(shù)據(jù)T0(n)配置在最后。此外,在視頻信息包的開(kāi)頭部附加標(biāo)題。
圖5(a)、(b)是表示幀間VOP的數(shù)據(jù)劃分的圖。
在幀間VOP的情況下,如圖5(a)所示,與幀內(nèi)VOP的情況一樣,也以宏塊為單位按順序?qū)⒌趍宏塊MB(m)、第m+1宏塊MB(m+1)等數(shù)據(jù)存儲(chǔ)在暫時(shí)緩沖器81內(nèi),但宏塊內(nèi)部的數(shù)據(jù)結(jié)構(gòu)與幀內(nèi)VOP的情況不同。各宏塊MB內(nèi)的數(shù)據(jù)結(jié)構(gòu),如圖5(a)所示,在宏塊MB(m)的情況下,包括宏塊MB(m)的各塊的系數(shù)數(shù)據(jù)t0(m);指示是編碼宏塊或是非編碼宏塊的標(biāo)志not_ded、為將幀間DC分量譯碼所需的編碼方式mcbpc、運(yùn)動(dòng)矢量等為將第m個(gè)MB的運(yùn)動(dòng)矢量譯碼所需的信息MV(m);指示亮度信號(hào)Y的各塊中有無(wú)非零AC系數(shù)的編碼模式cbpy、表示量化參數(shù)的量化差分值dquant等為將第m宏塊MB(m)的AC分量譯碼所需的控制信息t1(m)。
在將暫時(shí)緩沖器81內(nèi)的數(shù)據(jù)傳送到發(fā)送緩沖器84時(shí),也與幀內(nèi)VOP的情況一樣,在信息傳輸順序變更電路83中,進(jìn)行使特別重要的數(shù)據(jù)位于前半部的數(shù)據(jù)劃分。其結(jié)果是,在發(fā)送緩沖器84內(nèi),如圖5(b)所示,將MV(m)、MV(m+1)等全部信息MV(n)配置在前半部。接著,在附加motion marker后,將重要程度較高的t1(m)、t1(m+1)等全部控制信息t1(n)配置在后半部的起始部分,并將t0(m)、t0(m+1)等全部系數(shù)數(shù)據(jù)t0(n)配置在最后。此外,在視頻信息包的開(kāi)頭部附加標(biāo)題。
另外,上述的T0(m)、T0(m+1)、t0(m)及t0(m+1)等系數(shù)數(shù)據(jù),是經(jīng)過(guò)游程長(zhǎng)度編碼后的各塊的系數(shù)數(shù)據(jù),可按如下方式求得。在MPEG—4的I—VOP的情況下,首先,用Z形掃描等方法對(duì)宏塊中各塊的量化后DCT系數(shù)的AC分量進(jìn)行一維掃描,并進(jìn)行將0的個(gè)數(shù)與非零系數(shù)的組合編碼的游程長(zhǎng)度編碼。將該游程長(zhǎng)度編碼后的各塊的系數(shù)數(shù)據(jù)按每個(gè)宏塊寫入暫時(shí)緩沖器81,即可得到圖4(a)和圖5(a)所示的系數(shù)數(shù)據(jù)。此外,編碼方式mcbpc,是將表示宏塊類型的MTYPE與指示宏塊中的各色差塊內(nèi)有無(wú)非零AC系數(shù)的CBPC組合后進(jìn)行編碼。
以下,說(shuō)明編碼裝置51的動(dòng)作。
進(jìn)行幀內(nèi)編碼時(shí)的由DC/AC預(yù)測(cè)電路14根據(jù)量化后的DCT系數(shù)進(jìn)行系數(shù)預(yù)測(cè)、直到由可變長(zhǎng)編碼電路65將其與量化參數(shù)等附加信息一起進(jìn)行編碼,與圖8所示的現(xiàn)有的編碼裝置1一樣。
另外,當(dāng)進(jìn)行幀間編碼時(shí),對(duì)量化后的DCT系數(shù)進(jìn)行預(yù)測(cè)后直到由可變長(zhǎng)編碼電路65將其與運(yùn)動(dòng)矢量及量化參數(shù)等附加信息一起進(jìn)行編碼,也與圖8所示的現(xiàn)有的編碼裝置1一樣。
碼長(zhǎng)控制電路82,根據(jù)從可變長(zhǎng)編碼電路65輸出的各宏塊的碼長(zhǎng),將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的宏塊匯編成使各視頻信息包的長(zhǎng)度不超過(guò)預(yù)定的最大視頻信息包的碼長(zhǎng)值(MAXVPlen),然后傳送到發(fā)送緩沖器84。在本實(shí)施形態(tài)中,這時(shí),如圖4(b)、圖5(b)所示,在視頻信息包的開(kāi)頭附加標(biāo)題,并按照由數(shù)據(jù)劃分處理規(guī)定的位流順序?qū)⑵渲匦屡帕泻筮M(jìn)行傳送。
在碼長(zhǎng)控制電路82中,在將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的宏塊傳送到發(fā)送緩沖器84時(shí),進(jìn)行控制以使暫時(shí)緩沖器81不會(huì)下溢、或使圖中未示出的VBV(Video Buffering Verifier;視頻緩沖檢驗(yàn)器)緩沖器不會(huì)溢出,同時(shí),決定從暫時(shí)緩沖器81輸出的視頻信息包用代碼的宏塊單位劃分。以下,參照附圖詳細(xì)說(shuō)明碼長(zhǎng)控制電路82的對(duì)從暫時(shí)緩沖器81輸出的視頻信息包用代碼的劃分的決定動(dòng)作圖6是碼長(zhǎng)控制電路82對(duì)視頻信息包用代碼的劃分決定動(dòng)作的流程圖。
在碼長(zhǎng)控制電路82中,首先,將從可變長(zhǎng)編碼電路65接收的本次編碼后的宏塊的碼長(zhǎng)Mbbits與到前一次為止的已編碼宏塊的碼長(zhǎng)Vplen0相加,從而計(jì)算碼長(zhǎng)Vplen1(步驟S1)。判斷該步驟S1的相加結(jié)果的碼長(zhǎng)Vplen1是否在限制視頻信息包長(zhǎng)度的規(guī)定值MAXVPlen以上(步驟S2)。當(dāng)碼長(zhǎng)Vplen1在規(guī)定值MAXVPlen以上時(shí)(步驟S2是),使重新編碼標(biāo)志為ON(接通)(步驟S3)并通知控制電路73,對(duì)本次的宏塊視頻圖像信號(hào)的數(shù)據(jù)進(jìn)行重新處理。
作為由控制電路73控制的重新處理動(dòng)作,首先,將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的到前一個(gè)(前一次)為止的已編碼宏塊的代碼用作本次以位流形式輸出的視頻信息包并傳送到發(fā)送緩沖器(步驟S4)。至于本次編碼后存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的宏塊的代碼,將其存儲(chǔ)內(nèi)容清除(使Vpbits為0)(步驟S5),對(duì)于該本次編碼后的宏塊的視頻圖像信號(hào)(DCT系數(shù)),則重新進(jìn)行DC/AC預(yù)測(cè)電路14的處理及可變長(zhǎng)編碼電路65的處理(步驟S6)。接收到所傳送的代碼的發(fā)送緩沖器84,以位流形式輸出附加了resync標(biāo)記和標(biāo)題等信息的視頻信息包。此外,在幀間編碼的情況下,在步驟S6中,重新進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè)電路22的處理及可變長(zhǎng)編碼電路65的處理。
按照這種方式,當(dāng)碼長(zhǎng)Vplen1在規(guī)定值MAXVPlen以上時(shí)(步驟S2是),將到前一次編碼后的宏塊為止的代碼裝入本次的視頻信息包,而將本次及其后的編碼宏塊的代碼裝入新的視頻信息包內(nèi)。
在步驟S2中,當(dāng)碼長(zhǎng)Vplen1小于規(guī)定值MAXVPlen時(shí)(步驟S2否),碼長(zhǎng)控制電路82,將下一次的宏塊碼長(zhǎng)預(yù)測(cè)為與本次的宏塊碼長(zhǎng)MBbits相等,然后計(jì)算加上了下一次的宏塊預(yù)測(cè)碼長(zhǎng)Mbbits時(shí)的暫時(shí)緩沖器的預(yù)測(cè)碼長(zhǎng)Vplen2,并判斷預(yù)測(cè)碼長(zhǎng)Vplen2是否在規(guī)定值MAXVPlen以上(步驟S7)。另外,在本實(shí)施形態(tài)中,對(duì)于Vplen2,除碼長(zhǎng)Vplen1和下一次的宏塊預(yù)測(cè)碼長(zhǎng)Mbbits外還加上一個(gè)預(yù)測(cè)誤差容許度α(例如,α=256),從而能適應(yīng)下一次的宏塊碼長(zhǎng)的變化。當(dāng)碼長(zhǎng)Vplen2在規(guī)定值MAXVPlen以上時(shí)(步驟S7是),將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的到本次為止的全部編碼后宏塊的代碼用作本次以位流形式輸出的視頻信息包并傳送到發(fā)送緩沖器(步驟S8)。將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的碼長(zhǎng)Vplen1清除,并通知控制電路73使其對(duì)下一次的宏塊的視頻圖像信號(hào)進(jìn)行編碼處理(步驟S9)。接收到所傳送的代碼的發(fā)送緩沖器84,以位流形式輸出附加了resync標(biāo)記和標(biāo)題等信息的視頻信息包。
按照這種方式,當(dāng)碼長(zhǎng)Vplen1小于規(guī)定值MAXVPlen(步驟S2否)、且碼長(zhǎng)Vplen2在規(guī)定值MAXVPlen以上時(shí)(步驟S7是),將到本次編碼后的宏塊為止的代碼裝入本次的視頻信息包內(nèi),而將下一次及其后的編碼宏塊的代碼裝入新的視頻信息包內(nèi)。
當(dāng)碼長(zhǎng)Vplen2小于規(guī)定值MAXVPlen時(shí)(步驟S7否),可以預(yù)計(jì)到即使將下一次的宏塊碼長(zhǎng)與碼長(zhǎng)Vplen1相加后大于規(guī)定值MAXVPlen的概率也很小,所以將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的碼長(zhǎng)Vplen1保留原狀,并通知控制電路73使其對(duì)下一次的宏塊的視頻圖像信號(hào)進(jìn)行編碼處理(步驟S9)。
按照這種方式,當(dāng)碼長(zhǎng)Vplen1小于規(guī)定值MAXVPlen(步驟S2否)、且碼長(zhǎng)Vplen2小于規(guī)定值MAXVPlen時(shí)(步驟S7否),預(yù)定將直到下一次編碼后宏塊為止的代碼也裝入本次的視頻信息包內(nèi)。這里,之所以只是預(yù)定,是因?yàn)榭紤]到了雖然可能性很小但當(dāng)下一次編碼后宏塊的碼長(zhǎng)比本次編碼后宏塊的碼長(zhǎng)大得多(超過(guò)預(yù)測(cè)誤差容許度α)時(shí)不能裝入本次的視頻信息包的情況。
本實(shí)施形態(tài)的碼長(zhǎng)控制電路82,如上所述,可以決定存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的視頻信息包用代碼的劃分,所以,雖然可能會(huì)發(fā)生當(dāng)例如將上述的下一次的宏塊編碼后與暫時(shí)存儲(chǔ)器相加時(shí)由于超過(guò)了規(guī)定值而必須對(duì)下一次的宏快重新進(jìn)行碼長(zhǎng)預(yù)測(cè)和編碼的情況,但這種情況的發(fā)生頻度減低了。
這里,參照附圖進(jìn)一步說(shuō)明當(dāng)發(fā)生了必須重新進(jìn)行碼長(zhǎng)預(yù)測(cè)和編碼的情況時(shí)使編碼處理的效率惡化的問(wèn)題。
圖7是將圖1中的DCT電路12、量化電路13、DC/AC預(yù)測(cè)電路14、反量化電路16、反DCT電路17、運(yùn)動(dòng)矢量預(yù)測(cè)22、暫時(shí)緩沖器81及碼長(zhǎng)控制電路82的各處理動(dòng)作按步驟示出的流程圖。
圖7(a)是不重新進(jìn)行宏塊的編碼時(shí)的流程圖。在圖6的流程圖中,對(duì)應(yīng)于步驟S2為“否”的情況。
對(duì)宏塊的視頻圖像信號(hào)進(jìn)行DCT處理而得到DCT系數(shù)(步驟S11),并將該DCT系數(shù)量化后輸出(步驟S12)。量化后的DCT系數(shù),用于DC/AC預(yù)測(cè)處理(步驟S15),同時(shí)進(jìn)行反量化(步驟S13),然后進(jìn)行反DCT處理(步驟S14)。而在幀間編碼的情況下,則需另外進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè)處理(步驟S16)。
根據(jù)DC/AC預(yù)測(cè)結(jié)果和運(yùn)動(dòng)矢量預(yù)測(cè)結(jié)果進(jìn)行可變長(zhǎng)編碼處理(步驟S17),并對(duì)編碼后存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的碼長(zhǎng)進(jìn)行如圖6流程圖所示的碼長(zhǎng)控制處理(步驟S18)。
直到該步驟S18為止,與上述相同而與是否對(duì)宏塊的視頻圖像信號(hào)重新進(jìn)行編碼處理或圖6的步驟S7所示的加上了下一次的宏塊碼長(zhǎng)后的判斷結(jié)果無(wú)關(guān),但對(duì)于暫時(shí)緩沖器81的存儲(chǔ)內(nèi)容的傳送處理,當(dāng)圖6的流程圖中步驟S7為“是”時(shí),將到本次編碼后的宏塊為止的碼長(zhǎng)傳送到發(fā)送緩沖器84(步驟S19),當(dāng)圖6的流程圖中步驟S7為“否”時(shí),不傳送暫時(shí)緩沖器81的存儲(chǔ)內(nèi)容(將步驟S19省略),而對(duì)下一次編碼的宏塊的視頻圖像信號(hào)進(jìn)行DCT處理(步驟S11)。
圖7(b)是重新進(jìn)行宏塊的編碼時(shí)的流程圖。在圖6的流程圖中,對(duì)應(yīng)于步驟S2為“是”的情況。
如上所述,直到步驟S18為止的動(dòng)作,與不重新進(jìn)行編碼處理的情況相同。但當(dāng)重新進(jìn)行時(shí),在暫時(shí)緩沖器81所存儲(chǔ)的碼長(zhǎng)內(nèi),將直到前一次編碼后的宏塊的代碼傳送到發(fā)送緩沖器84(步驟S21),該步驟S21的傳送處理,當(dāng)圖6流程圖中步驟S2為“是”時(shí)進(jìn)行。此外,至于本次編碼后的宏塊的代碼,如上所述,在用于碼長(zhǎng)判斷并使重新編碼標(biāo)志接通后將其清除而不再使用。
通過(guò)將重新編碼標(biāo)志接通,在幀內(nèi)編碼的情況下,對(duì)本次編碼后的宏塊的視頻圖像信號(hào)進(jìn)行DC/AC預(yù)測(cè)處理(步驟S22)、可變長(zhǎng)編碼處理(步驟S23)、碼長(zhǎng)控制處理(步驟S24)。在幀間編碼的情況下,進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè)處理(步驟S26)、可變長(zhǎng)編碼處理(步驟S23)、碼長(zhǎng)控制處理(步驟S24)。此外,在步驟S24的碼長(zhǎng)控制處理的圖6的步驟S7的判斷中,當(dāng)判斷結(jié)果為“是”時(shí),將存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的本次重新編碼后的宏塊的代碼傳送到發(fā)送緩沖器84(步驟S25),但當(dāng)圖6的流程圖中步驟S7為“否”時(shí),不傳送暫時(shí)緩沖器81的存儲(chǔ)內(nèi)容(將步驟S25省略),而對(duì)下一次編碼的宏塊的視頻圖像信號(hào)進(jìn)行DCT處理(步驟S11)。
從圖7(a)與圖7(b)的上述比較可以看出,一旦對(duì)編碼后的宏塊重新進(jìn)行編碼時(shí),將使編碼處理的效率大幅度惡化。因此,重要的是減少重新編碼處理的頻度。
可是,如上所述,在圖8所示的現(xiàn)有的編碼裝置1中,由于只是簡(jiǎn)單地根據(jù)碼長(zhǎng)是否在規(guī)定值以上的判斷而生成視頻信息包,所以導(dǎo)致頻繁地進(jìn)行重新編碼。
與此不同,在本實(shí)施形態(tài)中,將下一次的宏塊碼長(zhǎng)預(yù)測(cè)為與本次的宏塊碼長(zhǎng)相等,并當(dāng)在加上下一次的宏塊碼長(zhǎng)后使存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的碼長(zhǎng)超過(guò)可裝入視頻信息包的碼長(zhǎng)的可能性大時(shí)生成視頻信息包,所以能夠減少對(duì)下一次宏塊重新進(jìn)行編碼的頻度。
更具體地說(shuō),由碼長(zhǎng)控制電路82根據(jù)本次編碼后存儲(chǔ)在暫時(shí)緩沖器81內(nèi)的宏塊的碼長(zhǎng)預(yù)測(cè)加上了下一次編碼后的宏塊的碼長(zhǎng)時(shí)存儲(chǔ)在緩沖器81內(nèi)的碼長(zhǎng),當(dāng)預(yù)測(cè)結(jié)果超過(guò)可裝入視頻信息包的碼長(zhǎng)時(shí),在對(duì)下一次編碼的宏塊的視頻圖像信號(hào)進(jìn)行編碼之前,將存儲(chǔ)在緩沖器81內(nèi)的代碼傳送到發(fā)送緩沖器84,所以當(dāng)對(duì)下一次的宏塊的視頻圖像信號(hào)進(jìn)行編碼時(shí),就可以減少因超過(guò)了可裝入視頻信息包的碼長(zhǎng)而必須對(duì)下一次的宏塊的視頻圖像信號(hào)重新進(jìn)行編碼的情況的發(fā)生頻度。因此,可以抑制本實(shí)施形態(tài)的編碼裝置51的編碼效率的降低。
另外,在本實(shí)施形態(tài)的碼長(zhǎng)控制電路82中,由于每當(dāng)對(duì)宏塊進(jìn)行編碼時(shí)都可以通過(guò)將下一次編碼的宏塊的碼長(zhǎng)與本次編碼的宏塊的碼長(zhǎng)預(yù)測(cè)為相等而計(jì)算暫時(shí)緩沖器的碼長(zhǎng),所以按照這種方式可以減少對(duì)所有宏塊進(jìn)行重新編碼的頻度。因此,能夠抑制編碼效率的降低。
另外,在本實(shí)施形態(tài)的信息包碼長(zhǎng)控制部52中,由信息傳輸順序變更電路83對(duì)從暫時(shí)緩沖妻81輸出的代碼進(jìn)行數(shù)據(jù)劃分,然后將其裝入發(fā)送緩沖妻84,并由發(fā)送緩沖器84生成視頻信息包,所以,通過(guò)用于數(shù)據(jù)劃分的暫時(shí)緩沖器81及發(fā)送緩沖器84的使用,可以將為進(jìn)行本發(fā)明的控制而需追加的新的構(gòu)件抑制到最低限度,同時(shí)可以利用數(shù)據(jù)劃分加強(qiáng)從發(fā)送緩沖器84以位流形式輸出的視頻信息包的抗差錯(cuò)性。
另外,在上述實(shí)施形態(tài)中,說(shuō)明了當(dāng)進(jìn)行MPEG—4標(biāo)準(zhǔn)的數(shù)據(jù)劃分時(shí)對(duì)從暫時(shí)緩沖器傳送到發(fā)送緩沖器的碼長(zhǎng)進(jìn)行控制的例,但例如在生成視頻信息包時(shí)不進(jìn)行數(shù)據(jù)劃分的情況下,或者在H.263標(biāo)準(zhǔn)的編碼裝置的情況下,如果對(duì)視頻信息包的長(zhǎng)度有限制,則也與上述一樣可以用碼長(zhǎng)控制電路控制從暫時(shí)緩沖器傳送到發(fā)送緩沖器的碼長(zhǎng),從而減少重新編碼的頻度。
在這種情況下,也可以應(yīng)用于代替DC/AC預(yù)測(cè)電路14而利用如MPEG—2所示的僅從左鄰塊的DC分量預(yù)測(cè)DC分量的DC預(yù)測(cè)等進(jìn)行視頻信息包內(nèi)的任意DCT系數(shù)的預(yù)測(cè)的情況。
另外,即使是不用DCT而是采用小波變換等其他正交變換在視頻信息包內(nèi)預(yù)測(cè)變換系數(shù)時(shí),也能以同樣的結(jié)構(gòu)減少重新編碼的頻度。
另外,例如,當(dāng)輸入編碼裝置的視頻圖像信號(hào)的圖象格式不是4∶2∶0時(shí),或當(dāng)VOP不是矩形時(shí),由于仍可以采用如本實(shí)施形態(tài)所示的用碼長(zhǎng)控制電路控制從暫時(shí)緩沖器傳送到發(fā)送緩沖器的碼長(zhǎng)的方式,所以能夠減少重新編碼的頻度。
另外,在本實(shí)施形態(tài)中,作為預(yù)測(cè)下一次編碼的宏決的視頻圖像信號(hào)碼長(zhǎng)的方法,是將其預(yù)測(cè)為與本次編碼的宏塊的視頻圖像信號(hào)碼長(zhǎng)相等(但應(yīng)在預(yù)測(cè)誤差容許度α的范圍內(nèi)),但例如也可以采用對(duì)I—VOP和P—VOP分別預(yù)測(cè)為固定值的預(yù)測(cè)方法、求取過(guò)去的N個(gè)宏塊的視頻圖像信號(hào)的編碼后的碼長(zhǎng)平均值并根據(jù)該平均值進(jìn)行預(yù)測(cè)的方法、或利用對(duì)本次宏塊的視頻圖像信號(hào)碼長(zhǎng)的規(guī)定運(yùn)算結(jié)果(例如,碼長(zhǎng)*β+α;β、α為任意值)進(jìn)行預(yù)測(cè)的方法等。
另外,在上述的本實(shí)施形態(tài)中,預(yù)測(cè)誤差容許度α為256,但該值可以任意變更。
另外,本發(fā)明不限于上述實(shí)施形態(tài),在本發(fā)明的權(quán)利要求范圍內(nèi),可以按從業(yè)人員能夠理解的各種方法進(jìn)行變更。
按照本發(fā)明的一種形態(tài),利用碼長(zhǎng)控制電路進(jìn)行本次的庪 詒嗦后根據(jù)存儲(chǔ)在暫時(shí)緩沖器內(nèi)的宏塊碼長(zhǎng)預(yù)測(cè)加上了下一次編碼的宏塊碼長(zhǎng)時(shí)的暫時(shí)緩沖器的碼長(zhǎng),并在對(duì)下一次編碼的宏塊進(jìn)行編碼之前,將存儲(chǔ)在暫時(shí)緩沖器內(nèi)的代碼傳送到發(fā)送緩沖器,所以,當(dāng)對(duì)下一次的宏塊的視頻圖像信號(hào)進(jìn)行編碼時(shí),可以減少因超過(guò)可裝入視頻信息包的碼長(zhǎng)而需重新編碼的頻度,因而能抑制編碼效率的降低。
按照本發(fā)明的另一種形態(tài),利用碼長(zhǎng)控制電路進(jìn)行本次的幀間編碼后根據(jù)存儲(chǔ)在暫時(shí)緩沖器內(nèi)的宏塊碼長(zhǎng)預(yù)測(cè)加上了下一次編碼的宏塊碼長(zhǎng)時(shí)的暫時(shí)緩沖器的碼長(zhǎng),并在對(duì)下一次編碼的宏塊進(jìn)行編碼之前,將存儲(chǔ)在暫時(shí)緩沖器內(nèi)的代碼傳送到發(fā)送緩沖器,所以,當(dāng)對(duì)下一次的宏塊的視頻圖像信號(hào)進(jìn)行編碼時(shí),可以減少因超過(guò)可裝入視頻信息包的碼長(zhǎng)而需重新編碼的頻度,因而能抑制編碼效率的降低。
按照本發(fā)明的另一種形態(tài),每當(dāng)對(duì)宏塊的視頻圖像信號(hào)進(jìn)行編碼時(shí),將下一次編碼的宏塊視頻圖像信號(hào)的碼長(zhǎng)與本次編碼的宏塊視頻圖像信號(hào)的碼長(zhǎng)預(yù)測(cè)為相等并計(jì)算暫時(shí)緩沖器的碼長(zhǎng),所以,可以減少對(duì)所有的宏塊的視頻圖像信號(hào)進(jìn)行重新編碼的頻度,因而能抑制編碼效率的降低。
按照本發(fā)明的另一種形態(tài),將從暫時(shí)緩沖器輸出的代碼進(jìn)行數(shù)據(jù)劃分后生成為視頻信息包,所以,通過(guò)用于數(shù)據(jù)劃分的暫時(shí)緩沖器及發(fā)送緩沖器的使用,可以將為進(jìn)行本發(fā)明的控制而需追加的新的構(gòu)件抑制到最低限度,同時(shí)可以利用數(shù)據(jù)劃分加強(qiáng)視頻信息包的抗差錯(cuò)性。
權(quán)利要求
1.一種編碼方法,為輸出規(guī)定長(zhǎng)度的視頻信息包而對(duì)多個(gè)宏塊的視頻圖像信號(hào)進(jìn)行編碼,該編碼方法的特征在于,包括以下的(a)~(h)各步驟(a)利用可變長(zhǎng)碼對(duì)各宏塊進(jìn)行編碼,并由此而生成下一個(gè)編碼宏塊;(b)將各編碼宏塊存儲(chǔ)在緩沖器內(nèi);(c)每當(dāng)將各編碼宏塊存儲(chǔ)在緩沖器內(nèi)時(shí),計(jì)算編碼宏塊存儲(chǔ)于緩沖器后作為結(jié)果得到的總碼長(zhǎng);(d)將上述總碼長(zhǎng)與表示視頻信息包的規(guī)定長(zhǎng)度的規(guī)定值進(jìn)行比較;(e)當(dāng)上述總碼長(zhǎng)超過(guò)上述規(guī)定值時(shí),將本次編碼后的編碼宏塊除外,輸出存儲(chǔ)在緩沖器內(nèi)的全部編碼宏塊用作視頻信息包,并對(duì)本次編碼后的宏塊重新進(jìn)行編碼;(f)當(dāng)上述總碼長(zhǎng)小于上述規(guī)定值時(shí),計(jì)算對(duì)下一個(gè)編碼宏塊的預(yù)測(cè)的碼長(zhǎng);(g)將預(yù)測(cè)的碼長(zhǎng)與上述總碼長(zhǎng)相加,然后將作為結(jié)果得到的總計(jì)值與上述規(guī)定值進(jìn)行比較;(h)當(dāng)作為結(jié)果得到的總計(jì)值超過(guò)上述規(guī)定值時(shí),將存儲(chǔ)在緩沖器內(nèi)的全部編碼后宏塊輸出,用作視頻信息包。
2.根據(jù)權(quán)利要求1所述的編碼方法,其特征在于,還包括以下的步驟(i)根據(jù)當(dāng)前作為編碼宏塊存儲(chǔ)在緩沖器內(nèi)的宏塊的內(nèi)容,預(yù)測(cè)宏塊的內(nèi)容;(j)找出宏塊的實(shí)際內(nèi)容與所預(yù)測(cè)的內(nèi)容之間的差異;(k)將上述差異用于上述步驟(a)中的宏塊的可變長(zhǎng)編碼;(l)當(dāng)根據(jù)上述步驟(h)而對(duì)宏塊重新進(jìn)行編碼時(shí),反復(fù)進(jìn)行上述的步驟(i)、(j)和(k);
3.根據(jù)權(quán)利要求1所述的編碼方法,其特征在于,還包括以下的步驟(m)根據(jù)當(dāng)前作為編碼宏塊存儲(chǔ)在緩沖器內(nèi)的宏塊的運(yùn)動(dòng)矢量,預(yù)測(cè)宏塊的運(yùn)動(dòng)矢量;(n)找出宏塊的實(shí)際運(yùn)動(dòng)矢量與所預(yù)測(cè)的運(yùn)動(dòng)矢量之間的差異;(o)將上述差異用于上述步驟(a)中的宏塊的可變長(zhǎng)編碼;(p)當(dāng)根據(jù)上述步驟(h)而對(duì)宏塊重新進(jìn)行編碼時(shí),反復(fù)進(jìn)行上述的步驟(m)、(n)和(o);
4.根據(jù)權(quán)利要求1所述的編碼方法,其特征在于通過(guò)上述步驟(f)的計(jì)算預(yù)測(cè)的碼長(zhǎng),等于本次編碼后的宏塊的碼長(zhǎng)。
5.根據(jù)權(quán)利要求1所述的編碼方法,其特征在于還包括對(duì)上述步驟(e)和(h)的從緩沖器輸出的編碼宏塊進(jìn)行數(shù)據(jù)劃分從而將其重新配置的步驟。
6.一種編碼裝置,為輸出規(guī)定長(zhǎng)度的視頻信息包而對(duì)多個(gè)宏塊的視頻圖像信號(hào)進(jìn)行編碼,該編碼裝置的特征在于,包括以下結(jié)構(gòu)可變長(zhǎng)編碼電路,生成具有可變碼長(zhǎng)的編碼宏塊;緩沖器,與可變長(zhǎng)編碼電路連接,用于暫時(shí)存儲(chǔ)作為視頻信息包輸出的編碼宏塊;及碼長(zhǎng)控制電路,與緩沖器連接,每當(dāng)將各編碼宏塊存儲(chǔ)在緩沖器內(nèi)時(shí),計(jì)算編碼宏塊存儲(chǔ)于緩沖器后作為結(jié)果得到的總碼長(zhǎng),將表示視頻信息包的規(guī)定長(zhǎng)度的規(guī)定值與總碼長(zhǎng)進(jìn)行比較,當(dāng)上述總碼長(zhǎng)小于上述規(guī)定值時(shí),計(jì)算對(duì)下一個(gè)編碼宏塊的預(yù)測(cè)的碼長(zhǎng),將預(yù)測(cè)的碼長(zhǎng)與上述總碼長(zhǎng)相加,然后將作為其結(jié)果得到的總計(jì)值與上述規(guī)定值進(jìn)行比較,當(dāng)作為上述結(jié)果得到的總計(jì)值超過(guò)上述規(guī)定值時(shí),將存儲(chǔ)在緩沖器內(nèi)的全部編碼后宏塊輸出用作視頻信息包,而當(dāng)上述總碼長(zhǎng)超過(guò)上述規(guī)定值時(shí),將本次編碼后的宏塊除外而輸出存儲(chǔ)在緩沖器內(nèi)的全部編碼宏塊用作視頻信息包,并對(duì)本次編碼后的宏塊重新進(jìn)行編碼。
7.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于還備有預(yù)測(cè)電路,根據(jù)當(dāng)前作為編碼宏塊存儲(chǔ)在緩沖器內(nèi)的宏塊的內(nèi)容,預(yù)測(cè)宏塊的內(nèi)容,找出宏塊的預(yù)測(cè)內(nèi)容與實(shí)際內(nèi)容之間的差異,并將差異輸出到可變長(zhǎng)編碼電路,而當(dāng)對(duì)宏塊重新進(jìn)行編碼時(shí),對(duì)宏塊的內(nèi)容重新進(jìn)行預(yù)測(cè)。
8.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于還備有運(yùn)動(dòng)矢量預(yù)測(cè)電路,根據(jù)當(dāng)前作為編碼宏塊存儲(chǔ)在緩沖器內(nèi)的宏塊的運(yùn)動(dòng)矢量,預(yù)測(cè)宏塊的運(yùn)動(dòng)矢量,找出宏塊的預(yù)測(cè)運(yùn)動(dòng)矢量與實(shí)際運(yùn)動(dòng)矢量之間的差異,并將差異輸出到可變長(zhǎng)編碼電路,而當(dāng)對(duì)宏塊重新進(jìn)行編碼時(shí),對(duì)宏塊的運(yùn)動(dòng)矢量重新進(jìn)行預(yù)測(cè)。
9.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于碼長(zhǎng)控制電路,將上述的各下一次的宏塊的碼長(zhǎng)預(yù)測(cè)為與本次編碼后的宏塊的碼長(zhǎng)相等。
10.根據(jù)權(quán)利要求6所述的編碼裝置,其特征在于還備有信息傳輸順序變更電路,通過(guò)進(jìn)行數(shù)據(jù)劃分,重新配置從緩沖器輸出的編碼宏塊。
全文摘要
提供一種即使對(duì)視頻信息包有長(zhǎng)度限制時(shí)也能將編碼效率的降低抑制到最小限度的編碼裝置。每當(dāng)對(duì)宏塊的視頻圖像信號(hào)進(jìn)行編碼時(shí),將其存儲(chǔ)在緩沖器內(nèi)。當(dāng)宏塊的總碼長(zhǎng)超過(guò)規(guī)定值時(shí),將除最后編碼的宏塊以外的全部作為一個(gè)視頻信息包從緩沖器輸出。然后對(duì)最后編碼的宏塊重新進(jìn)行編碼。在存儲(chǔ)各編碼后的宏塊時(shí),預(yù)測(cè)下一個(gè)宏塊的碼長(zhǎng),并與碼長(zhǎng)的全長(zhǎng)相加,當(dāng)總計(jì)碼長(zhǎng)超過(guò)規(guī)定值時(shí),將全部編碼后的宏塊作為視頻信息包輸出。
文檔編號(hào)H03M7/40GK1327344SQ01117490
公開(kāi)日2001年12月19日 申請(qǐng)日期2001年4月30日 優(yōu)先權(quán)日2000年6月5日
發(fā)明者中尾貴史, 幡野喜子, 貴島淳子, 杉山和宏 申請(qǐng)人:三菱電機(jī)株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1