本申請是申請日為2012年9月10日,申請?zhí)枮?01280050657.8,發(fā)明名稱為“動態(tài)圖像預測編碼方法、動態(tài)圖像預測編碼裝置、動態(tài)圖像預測編碼程序、動態(tài)圖像預測解碼方法、動態(tài)圖像預測解碼裝置、動態(tài)圖像預測解碼程序”的發(fā)明專利申請的分案申請。
本發(fā)明涉及動態(tài)圖像預測編碼方法、裝置和程序、以及動態(tài)圖像預測解碼方法、裝置和程序,尤其涉及在進行畫面間的預測編碼時使用的參照圖像在緩沖器內(nèi)的記述。
背景技術(shù):
為了高效地進行動態(tài)圖像數(shù)據(jù)的傳送和蓄積,采用了壓縮編碼技術(shù)。在動態(tài)圖像的情況下,廣泛采用mpeg1~4或h.261~h.264方式。
在這些編碼方式中,將成為編碼對象的圖像分割成多個塊后,進行編碼及解碼的處理。為了提高編碼效率,使用如下所述的預測編碼方法。在畫面內(nèi)的預測編碼中,使用與對象塊位于相同畫面內(nèi)且相鄰的已再現(xiàn)的圖像信號(對過去已壓縮的圖像數(shù)據(jù)復原后的信號)來生成預測信號后,對從對象塊的信號中減去該預測信號而得到的差分信號進行編碼。在畫面間的預測編碼中,參照位于與對象塊不同的畫面內(nèi)的已再現(xiàn)的圖像信號,檢索信號的位移,對其運動量進行補償而生成預測信號,對從對象塊的信號中減去該預測信號而得到的差分信號進行編碼。將為了進行運動的檢索及補償而參照的已再現(xiàn)的圖像稱為參照圖像。
在h.264的畫面間預測編碼中,關(guān)于針對對象塊的預測信號,是通過參照過去編碼而再現(xiàn)的多個參照圖像來進行運動檢索,從而將誤差最少的圖像信號選擇為對象塊的最佳的預測信號。求出對象塊的像素信號與該最佳的預測信號的差分,執(zhí)行離散余弦變換并在量化后進行熵編碼。同時,也對與從哪個參照圖像獲取針對對象塊的最佳預測信號相關(guān)的信息(稱為“參照索引”)、以及與從參照圖像的哪個區(qū)域獲取該最佳預測信號相關(guān)的信息(稱為“運動矢量”)一并進行編碼。在h.264中,將被再現(xiàn)的圖像作為4至5張的參照圖像存儲在幀存儲器或再現(xiàn)圖像緩沖器(decodedpicturebuffer,下面稱為“dpb”)中。
關(guān)于多張參照圖像的管理方法通常有如下的方法,從緩沖器中釋放已被再現(xiàn)的多張圖像中最早的參照圖像(即位于在時間上期間最長的緩沖器內(nèi)的參照圖像)占據(jù)的區(qū)域,將最近被解碼的再現(xiàn)圖像存儲為參照圖像。另一方面,基于提高畫面間預測的效率的目的,在后述的非專利文獻1中公開了靈活地準備最適合于對象圖像的參照圖像的參照圖像的管理方法。
根據(jù)非專利文獻1,對各對象圖像的編碼數(shù)據(jù)附加用于記述在緩沖器中存儲的多張參照圖像的緩沖器記述信息(bufferdescriptioninformation)進行編碼。在該緩沖器記述信息中記載了對象圖像以及該對象圖像以后的圖像的處理(編碼或者解碼)所需要的多張參照圖像的識別符。在編碼裝置或者解碼裝置中,按照緩沖器記述信息來管理緩沖器,以便將指定的再現(xiàn)圖像存儲在緩沖器(幀存儲器)中。另一方面,將未被指定的再現(xiàn)圖像從緩沖器中刪除。
有關(guān)各對象圖像的緩沖器記述信息也可以附加在各對象圖像的壓縮數(shù)據(jù)的報頭中進行發(fā)送,還可以將有關(guān)多張對象圖像的緩沖器記述信息匯總作為用于傳輸共同適用的解碼處理的參數(shù)的pps(pictureparameterset,圖像參數(shù)集)信息的一部分進行發(fā)送。圖15是示出在pps中記載的緩沖器記述信息的示意圖。在pps中也包括緩沖器記述信息以外的信息,但在此省略。在pps信息1510中記載了緩沖器記述(bufferdescription,下面也稱為“bd”)的個數(shù)1511、和與該個數(shù)量的bd相關(guān)的信息(1520、1522、1524)。在有關(guān)各bd的信息(以后將第k個bd稱為bd[k])中記載了被存儲在緩沖器中的參照圖像的張數(shù)1530、和用于識別存儲哪個參照圖像的信息(1531、1532)。為了識別參照圖像,采用了表示將該圖像輸出到外部的順序的信息poc(pictureoutputcount)。在此,不是直接使用poc號碼,而是記述參照圖像的poc號碼與處理對象圖像的poc號碼的差分即δpock,j(位于第k個bd中的第j個成分)。同時,也一并發(fā)送表示該參照圖像對其它圖像的依存度的d_idk,j。d_idk,j的值越小,在越多的圖像的再現(xiàn)時需要該參照圖像,相反其值越大,對其它圖像的影響比較小。在具有最大的值的情況下,在其它圖像的再現(xiàn)時將不需要該參照圖像,因而意味著不需要存儲為參照圖像??傊?,在現(xiàn)有技術(shù)中,為了發(fā)送緩沖器記述bd[k],從發(fā)送側(cè)向接收側(cè)發(fā)送表示參照圖像的張數(shù)的值(#pock)及其張數(shù)的量的{δpock,j,d_idk,j}的信息。
圖16示出對象圖像和在對各對象圖像進行處理時位于緩沖器dpb內(nèi)的多張參照圖像的狀態(tài)。在各框格中寫入了用于識別圖像的poc號碼。例如,在行1610中意味著在對poc=32的對象圖像進行處理時(編碼或者解碼),在dpb中存儲了poc=18、20、22、24的參照圖像。另外,將現(xiàn)有技術(shù)適用于圖16而求出的緩沖器記述信息如圖17所示。位于1704下方的各框格表示δpock,j的值。
現(xiàn)有技術(shù)文獻
非專利文獻
非專利文獻1:rickardsjoberg,jonatansamuelsson,“absolutesignalingofreferencepictures”,jointcollaborativeteamonvideocoding,jctvc-f493,torino,2011.
技術(shù)實現(xiàn)要素:
發(fā)明要解決的問題
另一方面,在動態(tài)圖像編碼及解碼中,通常是同一圖像被多張參照圖像參照。換言之,同一參照圖像被(反復)使用多次。在圖16中,可知用虛線1603包圍的poc=32的參照圖像被poc=28、26、30、25、27、29、31的對象圖像參照。此外,根據(jù)位于圖16中的框格1602下方的各框格的值可知,poc=22、24、28、26、30的對象圖像也被多次利用。
可是,在基于現(xiàn)有技術(shù)的緩沖器記述信息中,由于是在各bd[k]中獨立地求出δpock,j,因而即使是對于相同的參照圖像,也要對每個bd[k]記述該δpock,j,因此盡管是相同的信息卻必須反復地發(fā)送及接收相同的信息。以圖16和圖17為例進行說明。用虛線1705包圍的各框格的值對應于圖16中用虛線1603包圍的各框格的poc號碼。虛線1603內(nèi)全部成為poc=32的參照圖像,但位于虛線1705內(nèi)的δpock,j的值全部不同。并且,由于這些δpock,j的值大不相同,因而需要使用許多比特進行編碼。因此,存在這樣的問題,即為了傳輸基于現(xiàn)有技術(shù)的緩沖器記述信息,必須使用許多比特反復發(fā)送及接收相同的信息。
用于解決問題的手段
為了解決上述問題,本發(fā)明的一個方面的動態(tài)圖像預測編碼裝置具有:輸入單元,其輸入構(gòu)成動態(tài)圖像的多張圖像;編碼單元,其將過去已編碼后又被解碼及再現(xiàn)的多張圖像作為參照圖像,對對象圖像進行預測編碼而生成壓縮圖像數(shù)據(jù);復原單元,其對該壓縮圖像數(shù)據(jù)進行解碼而復原為再現(xiàn)圖像;圖像存儲單元,其存儲一張以上該再現(xiàn)圖像,作為在對后續(xù)的圖像進行編碼時使用的參照圖像;以及緩沖器管理單元,其控制圖像存儲單元,緩沖器管理單元(在對對象圖像進行處理之前)根據(jù)與在對對象圖像進行預測編碼時使用的多張參照圖像相關(guān)的緩沖器記述信息bd[k],控制圖像存儲單元,同時參照與對象圖像不同的其它圖像的緩沖器記述信息bd[m]對該緩沖器記述信息bd[k]進行編碼,然后將該編碼數(shù)據(jù)附加在壓縮圖像數(shù)據(jù)中。
另外,本發(fā)明的一個方面的動態(tài)圖像預測解碼裝置具有:輸入單元,其輸入壓縮圖像數(shù)據(jù),該壓縮圖像數(shù)據(jù)包括:將過去被解碼及再現(xiàn)的多張圖像作為參照圖像對構(gòu)成動態(tài)圖像的多張圖像分別進行預測編碼而得到的數(shù)據(jù),以及與多張參照圖像相關(guān)的緩沖器記述信息bd[k]的編碼數(shù)據(jù);復原單元,其對壓縮圖像數(shù)據(jù)進行解碼而復原為再現(xiàn)圖像;圖像存儲單元,其存儲一張以上該再現(xiàn)圖像,作為在對后續(xù)的圖像進行解碼時使用的參照圖像;以及緩沖器管理單元,其控制圖像存儲單元,緩沖器管理單元(在將再現(xiàn)圖像復原之前)參照與該再現(xiàn)圖像不同的其它圖像的緩沖器記述信息bd[m],對再現(xiàn)圖像的緩沖器記述信息bd[k]的編碼數(shù)據(jù)進行解碼,然后根據(jù)該解碼后的緩沖器記述信息bd[k]控制圖像存儲單元。
發(fā)明效果
根據(jù)本發(fā)明的緩沖器記述信息的編碼及解碼方法,利用同一參照圖像被在多張圖像的預測編碼及解碼處理中反復利用的性質(zhì),并利用了在不同的圖像中使用的緩沖器記述信息bd[k]之間的相關(guān)性來削減成為冗余的信息,由此具有能夠高效地對緩沖器記述信息進行編碼的效果。此外,各參照圖像固有的信息(依存度信息)與參照方的圖像相同,因而具有能夠直接沿用該信息,并且不需要重新進行編碼及解碼的優(yōu)點。
附圖說明
圖1是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置的框圖。
圖2是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置的框圖。
圖3是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置的緩沖器管理方法的流程圖。
圖4是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置的緩沖器管理方法的流程圖。
圖5是示出利用在本發(fā)明的實施方式中采用的緩沖器管理方法生成的緩沖器記述信息的表。
圖6是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置中的緩沖器記述信息的編碼處理的流程圖。
圖7是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置的緩沖器記述信息的解碼處理的流程圖。
圖8是示出在根據(jù)本發(fā)明的實施方式而生成的pps中記載的緩沖器記述信息的示意圖。
圖9是示出對象圖像和在對各對象圖像進行處理時位于緩沖器dpb內(nèi)的多張參照圖像的狀態(tài)的另一例。
圖10是示出有關(guān)圖9的示例的、本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置的緩沖器記述信息的編碼處理的流程圖。
圖11是示出有關(guān)圖9的示例的、本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置的緩沖器記述信息的解碼處理的流程圖。
圖12是示出有關(guān)圖9的示例的、在根據(jù)本發(fā)明的實施方式而生成的pps中記載的緩沖器記述信息的示意圖。
圖13是示出用于執(zhí)行記錄在記錄介質(zhì)中的程序的計算機的硬件結(jié)構(gòu)的圖。
圖14是用于執(zhí)行記錄在記錄介質(zhì)中的程序的計算機的立體圖。
圖15是示出基于現(xiàn)有技術(shù)的在pps中記載的緩沖器記述信息的示意圖。
圖16是示出對象圖像和在對各對象圖像進行處理時位于緩沖器dpb內(nèi)的多張參照圖像的狀態(tài)的一例。
圖17是示出根據(jù)現(xiàn)有技術(shù)從圖16的示例求出的緩沖器記述信息的表。
圖18是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置直接對緩沖器記述信息的poc號碼進行編碼的處理的流程圖。
圖19是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置直接對緩沖器記述信息的poc號碼進行解碼的處理的流程圖。
圖20是示出根據(jù)現(xiàn)有技術(shù)從圖9的示例求出的緩沖器記述信息的表。
圖21是示出根據(jù)在本發(fā)明的實施方式中采用的緩沖器管理方法,從圖20的示例求出的緩沖器記述信息的表。
圖22是示出與本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置的緩沖器記述信息的編碼處理相關(guān)、且與圖6的處理不同的實施方法的流程圖。
圖23是示出與本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置的緩沖器記述信息的解碼處理相關(guān)、且與圖7的處理不同的另一個實施方法的流程圖。
圖24是示出在pps中記載的緩沖器記述信息的示意圖,該pps是通過基于圖22的本發(fā)明的實施方式的緩沖器記述信息的編碼處理而生成的。
具體實施方式
下面,使用圖1~圖24說明本發(fā)明的實施方式。
圖1是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置100的框圖。如圖1所示,動態(tài)圖像預測編碼裝置100具有輸入單元101、塊分割器102、預測信號生成器103、幀存儲器(或者緩沖器,也稱為dpb)104、減法器105、變換器106、量化器107、逆量化器108、逆變換器109、加法器110、熵編碼器111、輸出端子112以及緩沖器管理器114。減法器105、變換器106以及量化器107對應于在權(quán)利要求書中記載的“編碼單元”。并且,逆量化器108、逆變換器109以及加法器110對應于在權(quán)利要求書中記載的“復原單元”。
下面,說明如上所述構(gòu)成的圖像預測編碼裝置100的動作。由多張圖像構(gòu)成的動態(tài)圖像的信號被輸入到輸入端子101。由塊分割器102將作為編碼對象的圖像分割為多個區(qū)域。在本發(fā)明的實施方式中是分割為由8×8像素構(gòu)成的塊,但也可以分割為除此之外的塊的大小或者形狀。然后,對于作為編碼處理的對象的區(qū)域(下面,稱為“對象塊”),生成預測信號。在本發(fā)明的實施方式中采用畫面間預測和畫面內(nèi)預測這兩種預測方法。
在畫面間預測中,將過去被編碼后又被復原的再現(xiàn)圖像作為參照圖像,從該參照圖像求出用于提供相對于對象塊的誤差為最小的預測信號的運動信息。并且,也可以根據(jù)情況對對象塊進行再分割,對被再分割后的小區(qū)域確定畫面間預測方法。在這種情況下,從各種分割方法中確定相對于對象塊整體效率最好的分割方法及各自的運動信息。在本發(fā)明的實施方式中,該處理由預測信號生成器103進行,對象塊經(jīng)由線路l102被輸入,參照圖像經(jīng)由線路l104被輸入。關(guān)于參照圖像,將過去被編碼后又被復原的多張圖像用作參照圖像。詳細情況與現(xiàn)有技術(shù)即h.264的方法相同。這樣確定的運動信息和小區(qū)域的分割方法經(jīng)由線路l112被發(fā)送給熵編碼器111進行編碼,然后從輸出端子112發(fā)送出去。并且,在多張參照圖像中,與從哪個參照圖像獲取預測信號相關(guān)的信息(基準索引)也經(jīng)由線路l112被發(fā)送給熵編碼器111。另外,在本發(fā)明的實施方式中,將3張~6張的再現(xiàn)圖像存儲在幀存儲器104中用作參照圖像。在預測信號生成器103中,根據(jù)小區(qū)域的分割方法和與各個小區(qū)域?qū)膮⒄請D像及運動信息,從幀存儲器104獲取參照圖像信號并生成預測信號。這樣生成的畫面間預測信號經(jīng)由線路l103被發(fā)送給減法器105。
在畫面內(nèi)預測中,使用在空間上與對象塊相鄰的已再現(xiàn)的像素值,生成畫面內(nèi)預測信號。具體地講,由預測信號生成器103從幀存儲器104獲取位于相同畫面內(nèi)的已再現(xiàn)的像素信號,并對這些信號進行外插,由此生成畫面內(nèi)預測信號。與外插的方法相關(guān)的信息經(jīng)由線路l112被發(fā)送給熵編碼器111進行編碼,然后從輸出端子112發(fā)送出去。這樣生成的畫面內(nèi)預測信號被發(fā)送給減法器105。預測信號生成器103的畫面內(nèi)預測信號生成方法與現(xiàn)有技術(shù)的h.264的方法相同。對于如上所述求出的畫面間預測信號和畫面內(nèi)預測信號,選擇誤差為最小的預測信號發(fā)送給減法器105。
由減法器105從對象塊的信號(經(jīng)由線路l102)減去預測信號(經(jīng)由線路l103),并生成殘差信號。由變換器106對該殘差信號進行離散余弦變換,由量化器107對各個變換系數(shù)進行量化。最后,由熵編碼器111對被量化后的變換系數(shù)進行編碼,并與有關(guān)預測方法的信息一起從輸出端子112發(fā)送出去。
為了對后續(xù)的對象塊進行畫面內(nèi)預測或者畫面間預測,需要對被壓縮后的對象塊的信號進行逆向處理將其復原。即,由逆量化器108對被量化后的變換系數(shù)進行逆量化,然后由逆變換器109進行逆離散余弦變換,將殘差信號復原。由加法器110將被復原后的殘差信號和從線路l103發(fā)送的預測信號相加,將對象塊的信號再現(xiàn)并存儲在幀存儲器104中。在本實施方式中,雖然使用變換器106及逆變換器109,但是也可以使用代替這些變換器的其他的變換處理。另外,也可以沒有變換器106及逆變換器109。
幀存儲器104是有限度的存儲器,不能存儲所有的再現(xiàn)圖像。只有在后續(xù)的圖像的編碼處理中使用的再現(xiàn)圖像被存儲在幀存儲器104中??刂圃搸鎯ζ?04的是緩沖器管理器114。從輸入端子113輸入表示各圖像的輸出順序的信息(poc,pictureoutputcount)和在對其它圖像進行預測編碼時與表示對該圖像的依存度的d_idk,j相關(guān)的依存度信息(dependencyid)、對該圖像進行編碼的類型(畫面內(nèi)預測編碼、畫面間預測編碼),緩沖器管理器114根據(jù)該信息進行動作。由緩沖器管理器114生成的緩沖器記述信息和各圖像的poc信息經(jīng)由線路l114被發(fā)送給熵編碼器111進行編碼,然后與被壓縮后的圖像數(shù)據(jù)一起進行輸出。關(guān)于本發(fā)明的緩沖器管理器114的處理方法將在后面進行說明。
下面,說明本發(fā)明的動態(tài)圖像預測解碼方法。圖2是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置200的框圖。如圖2所示,動態(tài)圖像預測解碼裝置200具有輸入端子201、數(shù)據(jù)分析器202、逆量化器203、逆變換器204、加法器205、預測信號生成器208、幀存儲器207、輸出端子206、以及緩沖器管理器209。逆量化器203和逆變換器204對應于在權(quán)利要求書中記載的“復原單元”。另外,也可以使用上述以外部件作為復原單元。并且,也可以沒有逆變換器204。
下面說明如上所述構(gòu)成的圖像預測解碼裝置200的動作。從輸入端子201輸入按照上述的方法進行了壓縮編碼后的壓縮數(shù)據(jù)。在該壓縮數(shù)據(jù)中包含對將圖像分割為多個塊后的對象塊進行預測及編碼得到的殘差信號、和與預測信號的生成相關(guān)聯(lián)的信息。關(guān)于與預測信號的生成相關(guān)聯(lián)的信息,在畫面間預測的情況下包括有關(guān)塊分割的信息(塊的尺寸)、運動信息和上述的poc信息,在畫面內(nèi)預測的情況下包括與從周邊的已再現(xiàn)的像素進行外插的方法相關(guān)的信息。并且,在壓縮數(shù)據(jù)中也包括用于控制幀存儲器207的緩沖器記述信息。
數(shù)據(jù)分析器202從壓縮數(shù)據(jù)中提取出對象塊的殘差信號、與預測信號的生成相關(guān)的信息、量化參數(shù)和圖像的poc信息。由逆變換器203根據(jù)量化參數(shù)(經(jīng)由線路l202)對對象塊的殘差信號進行逆量化。由逆變換器204對其結(jié)果進行逆離散余弦變換。
然后,與預測信號的生成相關(guān)的信息經(jīng)由線路l206b被發(fā)送給預測信號生成器208。在預測信號生成器208中,根據(jù)與預測信號的生成相關(guān)的信息訪問幀存儲器207,從多個參照圖像中獲取參照圖像而生成預測信號。該預測信號經(jīng)由線路l208被發(fā)送給加法器205,與被復原后的殘差信號進行相加而再現(xiàn)對象塊信號,并經(jīng)由線路l205進行輸出,同時被存儲在幀存儲器207中。
在幀存儲器207中存儲有在進行后續(xù)的圖像的解碼及再現(xiàn)時使用的再現(xiàn)圖像。緩沖器管理器209控制幀存儲器207。緩沖器管理器209根據(jù)經(jīng)由線路l206a發(fā)送的緩沖器記述信息和與圖像的編碼類型相關(guān)的信息進行動作。關(guān)于本發(fā)明的緩沖器管理器209的控制方法將在后面進行說明。
下面,使用圖3和圖4說明緩沖器管理器(圖1中的114和圖2中的209)的動作。本發(fā)明的實施方式的緩沖器管理器按照下面所述來管理被存儲在幀存儲器(104、207)中的參照圖像。即,在編碼側(cè)匯總生成針對多張對象圖像的各自的緩沖器記述信息,并作為用于傳輸共同使用的解碼處理的參數(shù)的pps(pictureparameterset)信息的一部分進行發(fā)送。在解碼側(cè),從pps信息中提取匯總發(fā)送過來的緩沖器記述信息,根據(jù)對各圖像的壓縮數(shù)據(jù)指定的一個緩沖器記述信息來準備位于幀存儲器中的參照圖像,然后進行解碼及再現(xiàn)處理。沒有被記載在緩沖器記述信息中的參照圖像被從幀存儲器中刪除,從此以后不能用作參照圖像。
圖3示出了本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置100的緩沖器管理器114的緩沖器記述信息的編碼方法,示出了將針對多張對象圖像的各自的緩沖器記述信息匯總進行編碼的方法。在此,用bd(bufferdescription)表示緩沖器記述,bd[k]表示有關(guān)第k個bd的信息。在根據(jù)本發(fā)明的實施方式而生成的pps中記載的緩沖器記述信息的示意圖如圖8所示。
在圖3的步驟s310,將計數(shù)器k設定為零。在步驟s320,對在pps信息中記載的全部bd的總數(shù)進行編碼。該處理對應于圖8的811。在步驟s330,對與第一個bd即bd[0]相關(guān)的信息進行編碼。圖8的820表示bd[0]的信息。#δ_poc0(830)表示bd[0]的成分的個數(shù)即所需要的參照圖像的張數(shù)。在此,指不僅是進行對象圖像的編碼及解碼所需要的參照圖像,而且不被對象圖像參照,但是在其前面的圖像的編碼及解碼處理中被參照的參照圖像也被記入bd[0]的信息中,因而這種參照圖像的張數(shù)也被計數(shù)為#δ_poc0。
然后,記載有與使用的參照圖像相關(guān)的信息(831、832、…)。在本實施方式中關(guān)于有關(guān)參照圖像的信息是記載了{δ_poc0,i,d_id0,i}。i表示bd[0]的第i個成分。δ_poc0,i表示第i個參照圖像的poc號碼與使用bd[0]的對象圖像的poc號碼的差分值,d_id0,i表示第i個參照圖像的依存度信息。
關(guān)于與bd[0]以外的bd[k]相關(guān)的信息,參照在其以前出現(xiàn)的緩沖器信息bd[m]進行預測編碼(步驟360)。在本實施方式中,采用m=k-1,但只要m<k,則可以參照任何bd[m]。k>0的bd[k]中包含的信息如圖8的822、824所示。關(guān)于其內(nèi)容是記載了bd[k]的成分的個數(shù)(即相當于對象圖像及其以后的圖像所需要的參照圖像的張數(shù))#δpock(833、839)、δbdk(834、840)、δidxk,i(835、836、837、840、841、842、843、844)、或者{δidxk,i,d_idk,i}(838)。關(guān)于這些發(fā)送數(shù)據(jù)(句法)的詳細情況在后面進行說明。在全部bd[k]被實施編碼后,將其作為pps信息的一部分與其它的壓縮數(shù)據(jù)一并發(fā)送出去。在對各圖像進行編碼時,緩沖器管理器114根據(jù)由圖1的輸入端子113指定的一個緩沖器記述信息bd[k],準備位于幀存儲器104內(nèi)的參照圖像,然后進行編碼處理。在接收側(cè),緩沖器管理器209根據(jù)在各圖像的壓縮數(shù)據(jù)的報頭中附加的緩沖器記述的識別符k,準備位于幀存儲器207內(nèi)的參照圖像,然后進行解碼處理。
圖4是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置200的緩沖器管理器209的緩沖器記述信息的解碼方法的流程圖。數(shù)據(jù)分析器202從pps信息中提取有關(guān)緩沖器記述信息的數(shù)據(jù),并輸入緩沖器管理器209。在步驟420,首先對bd的個數(shù)進行解碼。在步驟430,對與第一個bd即bd[0]相關(guān)的信息進行解碼。關(guān)于與k>0的bd[k]相關(guān)的信息,以在其以前出現(xiàn)的緩沖器記述bd[m]為參照進行預測解碼(步驟460)。如上所述,在此采用m=k-1。全部bd[k]被解碼后的緩沖器記述信息被存儲在緩沖器管理器209中。在對各圖像進行解碼時,緩沖器管理器209根據(jù)對該壓縮數(shù)據(jù)指定的一個緩沖器記述信息bd[k],準備位于幀存儲器207內(nèi)的參照圖像,然后進行解碼及再現(xiàn)處理。
圖8所示的緩沖器記述(bd[k],k>0)的發(fā)送方式是最高效的。根據(jù)本實施方式,作為對象的bd[k]與在其預測中使用的bd[m]具有如下所述的關(guān)系。
(a)在bd[k]中記載的參照圖像的至少一部分已經(jīng)被記載于bd[m]中。
(b)在所述(a)的基礎(chǔ)上,重新被實施編碼及解碼后的n張圖像作為“追加參照圖像”被記載于bd[k]中。在此,n為0以上的整數(shù)。
另外,作為更優(yōu)選的方式,
(c)將m=(k-1)即緩沖器記述信息中前一個bd應用于預測。
(d)在所述(b)記載的追加參照圖像只有1張(n=1)。并且,優(yōu)選這1張追加參照圖像是在使用了bd[m]的情況下生成的圖像。
使用圖16說明上述的關(guān)系。圖16中的欄1601表示作為編碼及解碼處理的對象的對象圖像的poc號碼。從上面開始依次按照編碼及解碼處理的順序進行排列。即,在對poc=32的圖像進行編碼及解碼后,對poc=28的圖像進行編碼及解碼。并且,在進行各對象圖像的編碼及解碼處理時使用的參照圖像(多張)的poc號碼被寫入位于欄1602下方的各框格中。
關(guān)于與在將poc=32的對象圖像(1610)進行編碼及解碼/再現(xiàn)時使用的參照圖像相關(guān)的信息,設為bd[0]并使用圖8的820的句法進行編碼。在這種情況下,#δpoc0=4,poc號碼18、20、22、24的參照圖像被作為δpoc0,i進行編碼。δpoc0,i的值是位于圖17的行1710的i=0~3的值,根據(jù)參照圖像的poc號碼與對象圖像的poc號碼之差而求出。
關(guān)于與在圖16的行1611~1617中記載的參照圖像相關(guān)的信息,設為bd[k]、k>0并使用圖8的822、824的句法進行編碼。行1611對應于k=1,表示與在poc=28的對象圖像中使用的參照圖像的poc號碼相關(guān)的信息。以后的poc號碼(22、24、32)暫且被換算為δpoc1,i。其值被賦值為位于圖17的行1711的i=0~2的值。在本發(fā)明的實施方式中,參照δpoc0,i(位于行1710的i=0~3的值)對這些δpoc1,i的值進行預測編碼。
說明本發(fā)明的緩沖器記述信息的預測編碼方法。將作為對象的緩沖器記述信息設為bd[k],將用于預測bd[k]的緩沖器記述信息設為bd[m]。將利用bd[k]的信息的對象圖像的poc號碼設為poccurrent,將利用bd[m]的信息的對象圖像的poc號碼設為pocprevious。并且,將bd[k]的第i個參照圖像的poc號碼設為pock,i,將bd[m]的第j個參照圖像的poc號碼設為pocm,j。在這種情況下,按照下面所述對δpock,i、δpocm,j賦值。
δpock,i=pock,i-poccurrent(1)
δpocm,j=pocm,j-pocprevious(2)
將δpocm,j作為預測值對δpock,i進行編碼。即,
δpock,i-δpocm,j=(pock,i-poccurrent)-(pocm,j-pocprevious)
=(pock,i-pocm,j)+(pocprevious-poccurrent)
=(pock,i-pocm,j)+δbdk(3)
其中,在滿足前述(a)的條件的情況下,pocm,j位于bd[m]中,對針對(pock,i-pocm,j)為零的δpocm,j的識別符(或者索引)進行編碼。在本實施方式中,使用如下定義的識別符δidxk,i。
δidxk,i=offsetk,i-offsetk,i-1(4)
其中,offsetk,i=j-1、offsetk,-1=0。并且,在上述式(3)中定義的δbdk是固定的,與(i、j)的值無關(guān),因而對于bd[k]僅記載一次下式(5)即可。
δbdk=pocprevious-poccurrent(5)
另一方面,存在(pock,i-pocm,j)為零的δpocm,j不在bd[m]中的情況。作為示例,圖16的成分poc1,2=32(框格1620)沒有作為行1610的參照圖像出現(xiàn)。在這種情況下,雖然可以直接對δpock,i的值進行編碼,但是如果利用前述(d)的條件,則δpock,i=δbdk,由于該值已經(jīng)記載于bd[k]中,因而不需要重新進行編碼。設定bd[m]的成分的個數(shù)的值(即#δpocm)或者其以上的值作為j的值,以便表示在bd[m]中不存在相同的poc號碼。然后在進行解碼時使用j的值,關(guān)于δpock,i的解碼方法在后面進行說明。
關(guān)于各參照圖像具有的依存度信息d_idk,i,在該參照圖像存在于預測中使用的bd[m]中的情況下,依存度信息d_idk,i與d_idm,j相等,因而不需要進行編碼。另一方面,在該參照圖像不存在于預測中使用的bd[m]中的情況下,對依存度信息d_idk,i進行編碼。
根據(jù)以上的思路來構(gòu)成圖8的822、824的內(nèi)容(句法)。下面,根據(jù)該思路說明圖3的方框360和圖4的方框460的處理。
圖6是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置100的緩沖器記述信息的編碼處理(圖3的方框360的處理)的流程圖。該處理對應于圖8中k>0時的bd[k]的編碼處理。在步驟610,對bd[k]的成分的個數(shù)即記述的參照圖像的張數(shù)#δpock進行編碼。然后,在計算出δbdk(步驟620)后,對其進行編碼(步驟630)。然后,對bd[k]的各成分進行下述的處理。在步驟640,從bd[m](m=k-1)中檢索是否存在與δpock,i共用相同的參照圖像的δpocm,j(即pocm,j=pock,i)。當在步驟645判定為存在的情況下,進入步驟650,在按照上述式(4)求出δidxk,i的值后對其進行編碼。當在步驟645判定為不存在的情況下,進入步驟655。在步驟655,對值j設定bd[m]的成分的個數(shù)(#δpocm)的值。也可以是比該個數(shù)大的值。在步驟660,在按照上述式(4)求出δidxk,i的值后對其進行編碼。在步驟670,對該參照圖像的依存度信息d-idk,i進行編碼。關(guān)于上述的各值是在變換為2值碼后實施算術(shù)編碼來進行編碼,但也可以采用除此以外的熵編碼方法。反復上述的處理一直到bd[k]的最后一個成分。
利用上述的本發(fā)明的方法對圖17所示的基于現(xiàn)有技術(shù)的緩沖器記述信息進行處理的結(jié)果如圖5所示。欄501表示各bd[k]的識別符,在本實施方式中不明確地進行編碼。欄502表示各bd[k]的成分的個數(shù),504表示用于記述bd[k]的參照圖像的數(shù)據(jù)。行510相當于bd[0],用δpock,i的值進行編碼。從行511起表示δidxk,i的值。欄505表示在預測中使用的bd[m]的識別符,但在本實施方式中由于設為m=k-1,因而不需要進行編碼。欄506表示δbdk。并且,關(guān)于框格520~523的各成分,屬于在預測中使用的bd[m]中沒有相同的參照圖像的情況,需要對δidxk,i以及d-idk,i進行編碼,但在圖5中省略了。圖5中位于504下方的各框格示出的值幾乎都是“0”,與圖17的現(xiàn)有技術(shù)的信息相比,值比較小,動態(tài)范圍較小,因而具有能夠高效地進行編碼的效果。并且,在現(xiàn)有技術(shù)中對所有成分的d-idk,i進行編碼,但在本發(fā)明的方法中,僅針對有限的成分對d-idk,i進行編碼,因而能夠進一步削減編碼量。
圖7是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置200的緩沖器記述信息的解碼處理(圖4的方框460的處理)的流程圖。該處理對應于圖8中k>0時的bd[k]的解碼處理。在步驟710,對bd[k]的成分的個數(shù)即記述的參照圖像的張數(shù)#δpock進行解碼。在步驟730,對δbdk進行解碼。然后,對bd[k]的各成分進行下述的解碼處理。在步驟740,在對δidxk,i進行解碼后,使用下面的算式求出索引j的值(步驟745)。
j=i+δidxk,i+offsetk,i-1其中offsetk,-1=0(6)
使用該索引j,在步驟750判定bd[m]中是否存在成為解碼對象的δpock,i的參照值的δpocm,j。在此,如果是j<bd[m]的成分的個數(shù)(#δpocm),則δpocm,j存在,如果是j≧(#δpocm),則δpocm,j不存在。當在步驟750判定為存在的情況下,進入步驟760,求出δpock,i的值。依存度信息d-idk,i僅僅是復制了δpocm,j具有的信息。應該注意到不需要對依存度信息d-idk,i進行編碼。當在步驟750判定為不存在的情況下,進入步驟765。在此,對依存度信息d-idk,i進行解碼,在步驟770代入δbdk作為δpock,i的值。反復上述的處理一直到bd[k]的最后一個成分。
這樣,在本發(fā)明的緩沖器記述信息的編碼及解碼方法中,利用參照圖像被反復利用的性質(zhì),利用在不同的圖像中使用的緩沖器記述信息bd[k]之間的相關(guān)來削減作為冗余的信息,由此能夠高效地對緩沖器記述信息進行編碼。
如圖16所示,按照對象圖像的編碼及解碼的順序來整理有關(guān)緩沖器的信息。因此,前述的(a)~(d)的關(guān)系成立,能夠根據(jù)上述的實施方式利用最有效的方法對緩沖器記述信息進行編碼。另一方面,緩沖器記述的順序可以任意排列,也可以按照與圖16所示的順序不同的順序記載各bd[k]。說明應對這種情況的本發(fā)明的更具通用性的實施方式。
圖9示出了按照與圖16略微不同的順序記載緩沖器的信息。與圖16的不同之處在于,有關(guān)poc=25(913)的緩沖器信息先于poc=30(914)進行記述。但是,利用的參照圖像與圖16的情況相同。在此,poc=25(913)的對象圖像利用poc=22、24、32、28、26、30的參照圖像,但比其靠上一個的poc=26(912)的對象圖像利用poc=22、24、32、28。如果為了預測行913的緩沖器記述信息bd[k]而使用行912的緩沖器記述信息bd[m],則屬于bd[k]的poc=30的成分(963)不會出現(xiàn)在bd[m]中,不是通過利用bd[m]而能夠生成的。即,如果使用前述(c)的條件(m=k-1),則無法滿足前述(d)。
為了解決該問題,將前述(c)的條件放寬,使能夠任意選擇bd[m],并對用于識別在預測中使用的bd[m]的索引m進行編碼。這樣,如果為了預測行913的緩沖器記述信息bd[k]而使用行914的緩沖器記述信息作為bd[m],(以追加索引m的編碼和解碼為前提)能夠直接適用圖6和圖7。
另外,作為其它的方法,對于預測中使用的bd[m]中不存在的追加參照圖像,可以直接對前述式(1)中的poc號碼δpock,i進行編碼,或者可以將從δpock,i減去δbdk得到的值作為ibdrk,i進行編碼。
ibdrk,i=δpock,i-δbdk(7)
如果將上述式(7)展開,則等于(pock,i–pocprevious)。在根據(jù)上述的本發(fā)明的更具通用性的實施方式而生成的pps中記載的緩沖器記述信息的示意圖如圖12所示。圖12的1211與圖8的811相同,1220與圖8的820相同。k>0的bd[k]是按照1222或1224所示的句法進行傳輸?shù)?。這種情況下的句法由bd[k]的成分的個數(shù)(即相當于對象圖像及其以后的圖像所需要的參照圖像的張數(shù))#δpock(1233、1240)、在預測處理中使用的緩沖器記述信息的識別符mk(1234、1241)、δbdk(1235、1242)、δidxk,i(1236、1237、1243、1244)、或者{δidxk,i,d_idk,i,ibdrk,i}(1238、1239、1245、1246)構(gòu)成。
按照下面所述對圖12所示的緩沖器記述信息進行編碼及解碼。圖10是示出本發(fā)明的實施方式的動態(tài)圖像預測編碼裝置100的、更具通用性的緩沖器記述信息的編碼處理(圖3的方框360的處理)的流程圖。該處理對應于圖12中k>0時的bd[k]的編碼處理。在步驟1010,對bd[k]的成分的個數(shù)即記述的參照圖像的張數(shù)#δpock進行編碼。然后,確定在預測處理中使用的參照用的緩沖器記述信息bd[m],在確定出其識別符mk的同時計算δbdk(步驟1020)。在步驟1030,對mk和δbdk進行編碼。然后對bd[k]的各成分進行下述的處理。在步驟1040,從bd[mk]中檢測是否存在與δpock,i共用相同的參照圖像的δpocm,j(即pocm,j=pock,i)。當在步驟1045判定為存在的情況下,進入步驟1050,在按照前述式(4)求出δidxk,i的值后對其進行編碼。當在步驟1045判定為不存在的情況下,進入步驟1055。在步驟1055,對索引j設定bd[m]的成分的個數(shù)(#δpocm)的值以上的值。該情況對應于(bd[m]中不存在的)追加參照圖像有1張以上的可能性,因而將在設定中尚未使用的值設定為索引j的值。在步驟1060,在按照前述式(4)求出δidxk,i的值后對其進行編碼。在步驟1070,在按照上述式(7)求出ibdrk,i的值后對其和該參照圖像的依存度信息d-idk,i一起進行編碼。關(guān)于上述的各值是在變換為2值碼后實施算術(shù)編碼來進行編碼,但也可以采用除此以外的熵編碼方法。反復上述的處理一直到bd[k]的最后一個成分。
在將圖9的緩沖器記述信息臨時換算為圖20所示的δpock,i后利用上述的具有通用性的方法進行處理的結(jié)果如圖21所示。欄941表示各bd[k]的識別符。欄942表示各bd[k]的成分的個數(shù),欄944表示用于記述bd[k]的參照圖像的數(shù)據(jù)。行950相當于bd[0],用δpock,i的值進行編碼。從行951起,用δidxk,i或者{δidxk,i,d-idk,i,ibdrk,i}進行編碼(在圖21中省略了d-idk,i)。欄945表示預測中使用的bd[m]的識別符mk。欄946表示δbdk。另外,關(guān)于框格980~983的各成分,屬于預測中使用的bd[m]中沒有相同的參照圖像的情況,屬于對{δidxk,i,d-idk,i,ibdrk,i}進行編碼的情況。圖21中位于944下方的各框格示出的值幾乎都是“0”,與圖20的現(xiàn)有技術(shù)的信息相比,值比較小,動態(tài)范圍較小,因而具有能夠高效地進行編碼的效果。
圖11是示出本發(fā)明的實施方式的動態(tài)圖像預測解碼裝置200的、更具通用性的緩沖器記述信息的解碼處理(圖4的方框460的處理)的流程圖。該處理對應于圖12中k>0時的bd[k]的解碼處理。在步驟1110,對bd[k]的成分的個數(shù)即記述的參照圖像的張數(shù)δpock進行解碼。在步驟1130,對mk和δbdk進行解碼。然后對bd[k]的各成分進行下述的解碼處理。在步驟1140,在對δidxk,i進行解碼后,使用上述式(6)求出索引j的值(步驟1145)。
使用該索引j,在步驟1150中判定bd[m]中是否存在成為解碼對象的δpock,i的參照值的pocm,j。在此,如果是j<bd[m]的成分的個數(shù)(#δpocm),則δpocm,j存在,如果是j≧(δpocm),則δpocm,j不存在。當在步驟1150判定為存在的情況下,進入步驟1160,求出δpock,i的值。依存度信息d-idk,i僅僅是復制了δpocm,j具有的信息。當在步驟1150判定為不存在的情況下,進入步驟1165。在此,對ibdrk,i和依存度信息d-idk,i進行解碼,在步驟1170計算δpock,i的值。反復上述的處理一直到bd[k]的最后一個成分。
這樣,在本發(fā)明的緩沖器記述信息的編碼及解碼方法中,利用參照圖像被反復利用的性質(zhì),并利用了在不同的圖像中使用的緩沖器記述信息bd[k]之間的相關(guān)來使成為冗余的信息緊湊化,由此能夠高效地對緩沖器記述信息進行編碼。此外,在任意進行緩沖器記述信息的相互參照的情況下,也具有能夠高效地進行編碼的效果。
關(guān)于圖6和圖10的編碼處理以及圖7和圖11的解碼處理分別進行了說明,但也可以將這兩個實施方式結(jié)合起來應用。在解碼處理中,圖7的步驟765、770和圖11的步驟1165、1170不同,但在結(jié)合起來應用時,只要追加用于識別這些處理的信息(1比特)并進行編碼即可。
并且,如圖5的行512、513、514、517所示,δidxk,i的值全部是零值,因而能夠替代獨立地對這些值進行編碼,而利用一個信號(標志)進行表示。
并且,在上述的實施方式中,將在緩沖器記述信息中記載的參照圖像的poc號碼臨時換算為δpock,i后,對本發(fā)明的緩沖器記述信息進行編碼/解碼,但也可以對poc號碼單體實施本發(fā)明的方法。即,在位于作為對象的緩沖器記述信息bd[k]中的poc號碼處于在預測處理中使用的bd[m]中的情況下,對指示該poc號碼的δidxk,i進行編碼。在期望的poc號碼不在bd[m]中的情況下,將根據(jù)前述的式(1)求出的δpock,i作為ibdrk,i進行編碼。也可以使用式(7)替代前述的式(1)。在這種情況下,圖3的方框360的處理如圖18所示,圖4的方框460的處理如圖19所示。圖18表示進行與圖10相同的處理,圖19表示進行與圖11相同的處理,在圖18、圖19中采用對對應的圖10、圖11的處理步驟的步驟號碼附加“s”的步驟號碼。但是,替代δpoc而對poc進行處理。并且,該情況時的δbdk為零,因而不需要對其進行編碼/解碼。并且,在固定為m=(k-1)的情況下(即從緊前面的bd[m]進行預測的情況下),也不需要對mk進行編碼/解碼。
另外,在上述的實施方式中,將作為對象的緩沖器記述bd[k]的i成分設為bdk,i,將在預測處理中使用的bd[m]的成分設為bdm,j,δidxk,i被認為是從bdk,i觀察的bdm,j的相對位置(索引、地址)。即,如果將bdk,i和bdm,j理解為信息存儲庫,則可以在該信息存儲庫中記入poc號碼的值,也可以記入δpoc的值。在這種情況下,δidxk,i相當于信息存儲庫之間(以在這些信息存儲庫內(nèi)存在共同使用的poc號碼為條件)的相對位置。換言之,本發(fā)明的緩沖器記述是用于記述存儲對象圖像的緩沖器信息的信息存儲庫、與存儲成為對象圖像的參照的緩沖器信息的信息存儲庫的位置關(guān)系,提供通過將所指定的信息存儲庫的位置(j)和具有內(nèi)容的信息存儲庫的個數(shù)(#δpocm或者#pocm)進行比較來切換bdk,i的內(nèi)容的再現(xiàn)方法的方法。
關(guān)于本發(fā)明的緩沖器記述信息的編碼及解碼方法還有如下的實施方式。本實施方式與圖6和圖7所示的實施方式相同地,將前述的條件(c)和(d)作為前提條件。即,將為了預測作為對象的緩沖器記述信息bd[k]而使用的緩沖器記述信息設為bd[m],并使用其前一個的bd。即m=(k-1)。并且,位于bd[k]中的追加參照圖像只有1張,這1張追加參照圖像是在使用了bd[m]的情況下生成的圖像。
在這些條件的基礎(chǔ)上,本實施方式在對作為對象的緩沖器記述bd[k]的信息進行編碼時,識別在預測用的bd[m]中“是否存在”與bd[k]的成分即δpock,i共用相同的參照圖像的δpocm,j(即pocm,j=pock,i)。但是,在前述的實施方式中是使用了“相對位置δidxk,i”,而在本實施方式中單純地使用表示“是否存在”的標志。在此,將該標志記述為ibd_flagk,j。在標志ibd_flagk,j表示“存在”的情況下,已經(jīng)被存儲在緩沖器中的第j個圖像繼續(xù)被用作參照圖像。另一方面,在標志ibd_flagk,j表示“不存在”的情況下,所指定的其它圖像作為新的參照圖像(追加參照圖像)被存儲在緩沖器中。
并且,根據(jù)條件(c)和(d),bd[k]的個數(shù)頂多也就是比bd[m]的個數(shù)多1個,即始終是#δpock=#δpocm+1,因而不需要發(fā)送#δpock。因此,在本實施方式中,能夠進一步削減編碼量。
基于上述思路的本實施方式的緩沖器記述信息的編碼處理如圖22所示。該處理對應于圖3的步驟360的處理。在步驟2210,獲取與δpock的個數(shù)和δpocm的個數(shù)相關(guān)的信息,以便在后續(xù)的判定中使用。在步驟2220,求出根據(jù)式(5)而賦值的δbdk,并對δbdk進行編碼。即,求出利用bd[k]的信息的對象圖像的poc號碼poccurrent、與利用在進行bd[k]的預測時使用的bd[m]的信息的圖像的poc號碼pocprevious之差作為δbdk。在步驟2230,將bd[k]的計數(shù)器i和bd[m]的計數(shù)器j初始化為零。
然后,從步驟2240到步驟2265確認與δpocm的個數(shù)對應的bd[m]的成分。具體地講,在滿足步驟2245的條件的情況下進入步驟2250,在不滿足的情況下進入步驟2260。并且,步驟2245的條件是根據(jù)式(3)而賦值的,相當于(pock,i=pocm,j)的情況。在步驟2250中,由于示出了滿足該條件,因而將ibd_flagk,j編碼為1。同時,將bd[k]的計數(shù)器i增量。另一方面,在步驟2260中,由于示出了不滿足該條件,因而將ibd_flagk,j編碼為0。在步驟2265中,將計數(shù)器j增量,以便確認下一個bd[m]。
在不滿足步驟2240的條件的情況下,即已確認完bd[m]的所有成分的情況下,進入步驟2270。在此,將作為對象的緩沖器記述信息bd[k]的計數(shù)器i與δpock的個數(shù)進行比較。bd[k]的計數(shù)器i從0開始計數(shù),因而其最大值為(δpock的個數(shù)-1)。如果在步驟2270中滿足條件(i=δpock的個數(shù)),則計數(shù)i超過bd[k]的成分的個數(shù),將ibd_flagk,j編碼為0,并結(jié)束處理。另一方面,當在步驟2270不滿足條件(i=δpock的個數(shù))的情況下,意味著將bd[m]中不存在的追加參照圖像存儲在緩沖器中。為了對與其相關(guān)的信息進行編碼,在步驟2290將ibd_flagk,j設為1進行編碼,在步驟2295對該追加參照圖像的依存度信息d_idk,i進行編碼。另外,如在圖6中說明的那樣,該追加參照圖像的δpock,i的值為δbdk,因而不需要進行編碼。
在這樣生成的pps中記載的緩沖器記述信息的數(shù)據(jù)排列如圖24所示。圖24基本上與圖8相同。用2411表示的“bd的個數(shù)”與圖8的811相同,與第一個bd即bd[0]相關(guān)的信息2420與圖8的820相同,分別是在圖3的步驟320和330生成的。
k>0的bd[k]中包含的信息如圖24的2422、2424所示。作為其內(nèi)容是記載了δbdk(2434、2440)、ibd_flagk,j(2435、2436、2437、2441、2442、2443、2444)、或者{ibd_flagk,j,d_idk,i}(2438)。該數(shù)據(jù)構(gòu)造(句法)與圖8相似,應該注意到不需要k>0的bd[k]的個數(shù)即#δpock(833、839)。ibd_flagk,j取值1或者0。由于不需要對與bd[k]的個數(shù)相關(guān)的信息進行編碼,因而具有能夠以更少的比特數(shù)表示緩沖器記述信息的效果。
圖23表示基于本實施方式的緩沖器記述信息的解碼處理的另一個實施方法。在步驟2310,獲取在預測中使用的bd[m]的成分即δpocm的個數(shù)(#δpocm)。在將bd[m]復原的同時計數(shù)其成分的個數(shù),由此能夠得到δpocm的個數(shù)(#δpocm)。在步驟2320,將bd[k]的計數(shù)器i和bd[m]的計數(shù)器j初始化為零。在步驟2330,對在緩沖器信息中記載的δbdk的值進行解碼。然后,對(#δpocm+1)個數(shù)量的ibd_flagk,j進行解碼(通過步驟2345進行控制)。根據(jù)被解碼后的ibd_flagk,j的值進行從步驟2345起的處理。
在步驟2345,判定bd[m]的計數(shù)器j。根據(jù)ibd_flagk,j的值(1或者0),判定是否使用δpocm,j將δpock,i復原,直到計數(shù)j達到δpocm的個數(shù)(步驟2350)。在ibd_flagk,j的值為1的情況下,在步驟2355將δbdk和δpocm,j相加而生成δpock,i。在這種情況下,δpock,i和δpocm,j共用相同的參照圖像(即pocm,j=pock,i),因而依存度信息d_idk,i可以直接復制與δpocm,j相關(guān)聯(lián)的依存度信息d_idm,j。然后,在將bd[k]的計數(shù)i增量后,進行針對bd[m]的下一個成分的判定。
在對bd[m]的成分確認到最后一個成分后(相當于在步驟2345為否的情況),判定最后一個ibd_flagk,j的值(步驟2370)。ibd_flagk,j=0的情況意味著沒有追加參照圖像,不進行任何處理,進入后述的步驟2390。另一方面,ibd_flagk,j=1的情況意味著有(bd[m]中不存在的)追加參照圖像,在步驟2375將依存度信息d_idk,i復原。在步驟2380,使用δbdk作為該追加參照圖像的poc號碼(因為利用條件(d))。并且,將bd[k]的計數(shù)i增量。最后,將由計數(shù)器i計數(shù)的值存儲為bd[k]的個數(shù)(步驟2390)。在生成bd[k+1]的各成分時使用該bd[k]的個數(shù)(在步驟2310)。
圖22和圖23的處理方法是位于bd[k]中的追加參照圖像只有1張時的實施方法,在追加參照圖像有n張的情況下,將該n的值作為bd[k]的信息的一部分進行發(fā)送及接收即可。在這種情況下,使用ibdrk,i對有關(guān)追加參照圖像的poc號碼進行編碼及解碼。具體地講,在圖22的步驟2295執(zhí)行與圖10的步驟1070相同的處理,在圖23的步驟2375執(zhí)行與圖11的步驟1165相同的處理,在圖23的步驟2380執(zhí)行與圖11的步驟1170相同的處理即可。
另外,在上述說明中,用1比特(1或者0)表示ibd_flagk,j的值,但也可以用1比特以上的比特進行表示。在這種情況下,也可以使用追加的比特來識別其它信息(d_idk,i、ibd_flagk,j或者除此以外的信息)是否已被明確地編碼。
另外,也可以使用該追加的比特表示有關(guān)δpock,i的參照圖像(即,poc號碼具有根據(jù)式(1)而賦值的pock,i的參照圖像)的適用范圍。具體地講,在ibd_flagk,j為“1”的情況下,在使用δpocm,j將δpock,i復原的同時,有關(guān)δpock,i的參照圖像適用于成為當前的處理對象的圖像(當前圖像)及其后續(xù)的未來的圖像(未來圖像,也可以是多張)。并且,在ibd_flagk,j為“01”的情況下,在使用δpocm,j將δpock,i復原的同時,有關(guān)δpock,i的參照圖像不適用于成為當前的處理對象的圖像(當前圖像),僅適用于其后續(xù)的未來的圖像(未來圖像,也可以是多張)。另外,在ibd_flagk,j為“00”的情況下,在進行δpock,i的復原時不使用δpocm,j。
在上述的實施方式中,對在緩沖器記述信息中記載的δpock,i進行處理,但也可以是對各參照圖像具有的poc號碼自身進行處理。
另外,在上述的所有實施方式中,對緩沖器記述信息進行了說明。緩沖器記述信息也是與為了對對象圖像進行編碼及解碼而使用的多張參照圖像相關(guān)的記述,因而上述的實施方式也被用作參照圖像列表的管理方法。
另外,在上述的實施方式中說明了將緩沖器記述信息匯總作為pps信息的一部分進行編碼的情況,但也能夠適用于在各個對象圖像的報頭中記載緩沖器記述信息的情況。即,也能夠適用于將圖5的行510的信息記載在poc=32的圖像的壓縮數(shù)據(jù)的開頭(報頭)的情況,以及將圖5的行511的信息記載在poc=28的圖像的壓縮數(shù)據(jù)的開頭(報頭)的情況。在這種情況下,能夠把屬于已被先行處理的圖像m的緩沖器記述信息bd[m]作為參照,通過圖6、7、10、11、18、19的處理,對屬于對象圖像k的緩沖器記述信息bd[k]進行編碼及解碼。但是,根據(jù)預測的構(gòu)造,存在對象圖像m不能全部被用作參照圖像的情況(依存度信息d_idk,i的值比較大),在這種情況下,在預測中不使用屬于圖像m的bd[m]。因為不能全部被用作參照圖像的圖像m有時將被舍去,以便控制數(shù)據(jù)量及減輕解碼處理。
用于使計算機作為上述的動態(tài)圖像預測編碼裝置100發(fā)揮作用的動態(tài)圖像預測編碼程序,能夠被存儲在記錄介質(zhì)中進行提供。同樣,用于使計算機作為上述的動態(tài)圖像預測解碼裝置200發(fā)揮作用的動態(tài)圖像預測解碼程序,能夠被存儲在記錄介質(zhì)中進行提供。關(guān)于記錄介質(zhì)可以示例出軟盤、cd-rom、dvd或者rom等記錄介質(zhì)或者半導體存儲器等。
圖13是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計算機30的硬件結(jié)構(gòu)的圖,圖14是用于執(zhí)行被存儲在記錄介質(zhì)中的程序的計算機30的立體圖。在此,計算機30包括具備cpu的進行基于軟件的信息處理和控制的dvd播放器、機頂盒、便攜電話等。
如圖13所示,計算機30具有軟盤驅(qū)動裝置、cd-rom驅(qū)動裝置、dvd驅(qū)動裝置等的讀取裝置12,使操作系統(tǒng)常駐的作業(yè)用存儲器(ram)14,存儲被保存在記錄介質(zhì)10中的程序的存儲器16,被稱為顯示器的顯示裝置18,作為輸入裝置的鼠標20和鍵盤22,用于進行數(shù)據(jù)等的收發(fā)的通信裝置24,以及控制程序的執(zhí)行的cpu26。在記錄介質(zhì)10被插入到讀取裝置12中后,計算機30能夠從讀取裝置12訪問被存儲在記錄介質(zhì)10中的動態(tài)圖像預測編碼程序,能夠根據(jù)該動態(tài)圖像預測編碼程序作為上述的動態(tài)圖像預測編碼裝置100進行工作。同樣,在記錄介質(zhì)10被插入到讀取裝置12中后,計算機30能夠從讀取裝置12訪問被存儲在記錄介質(zhì)10中的動態(tài)圖像預測解碼程序,能夠根據(jù)該動態(tài)圖像預測解碼程序作為上述的圖像預測解碼裝置200進行工作。
標號說明
100…動態(tài)圖像預測編碼裝置,101…輸入端子,102…塊分割器,103…預測信號生成器,104…幀存儲器(或者緩沖器dpb),105…減法器,106…變換器,107…量化器,108…逆量化器,109…逆變換器,110…加法器,111…熵編碼器,112…輸出端子,114…緩沖器管理器,200…動態(tài)圖像預測解碼裝置,201…輸入端子,202…數(shù)據(jù)分析器,203…逆量化器,204…逆變換器,205…加法器,206…輸出端子,207…幀存儲器,208…預測信號生成器,209…緩沖器管理器。