專利名稱:運動圖像的編碼方法、解碼方法、編碼裝置及解碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及,運動圖像的編碼方法、解碼方法、編碼裝置及解碼裝置,特別是涉及運動矢量的編碼及解碼技術(shù)。
背景技術(shù):
對運動圖像的編碼·解碼處理的概要進行說明。運動圖像的編碼一般是由圖13的編碼裝置來進行。成為編碼對象的運動圖像的1幀,如圖3所示那樣,由1個亮度信號(Y信號61)和2個色差信號(Cr62,Cb信號63)構(gòu)成,色差信號的圖像大小縱橫都為亮度信號的1/2。在一般的視頻標準中,將運動圖像的各幀分割成小塊,以被稱為宏塊的塊為單位進行再現(xiàn)處理。
上述宏塊,如圖5所示那樣,由16×16像素的1個Y信號塊30、在空間上與其一致的8×8像素的Cr信號塊31以及Cb信號塊31構(gòu)成。圖像信號的編碼以上述宏塊為單位進行處理。在編碼中大致分為幀內(nèi)編碼(幀內(nèi)方式intra coding)和預(yù)測編碼(幀間方式inter coding)。
在圖13的圖像信號的編碼裝置中,在幀內(nèi)編碼的情況下,編碼對象的輸入宏塊圖像201被分割成DCT編碼塊并由DCT變換器203直接進行DCT203,被變換成DCT系數(shù)。各變換系數(shù)由量化器204進行量化,由多路化器206進行編碼。
DCT編碼塊大小在以往的編碼方式中一般為8×8像素,但最近在MPEG-4Part10(Advanced Video Coding)等中也研討了利用4×4像素大小的DCT變換。
如圖6所示那樣,各宏塊被分割成24個4×4像素塊,由DCT變換器203分別變換成16個DCT系數(shù)。被量化的DCT系數(shù)其一部分,由局部解碼器220的反量化器207和反DCT器208被解碼成輸入宏塊,并合成到幀存儲器210中。局部解碼器220制成與后述的解碼裝置同樣的解碼圖像。存儲在幀存儲器210中的圖像被用于后述的時間方向的預(yù)測。此幀內(nèi)編碼被配置于沒有與前面幀相似的部分的宏塊(也包含第1編碼幀),或欲消除伴隨DCT的存儲運算誤差的部分等。
在幀間(預(yù)測編碼)編碼的情況下,輸入宏塊圖像201和存儲在幀存儲器210中的已編碼幀的解碼圖像(參照幀)間的運動補償處理,由運動補償器211來進行。運動補償是指從參照幀檢索出與對象宏塊的內(nèi)容相似的部分(一般是選擇塊內(nèi)的預(yù)測誤差信號的絕對值和或者平方誤差和較小的部分),并對其運動量(運動矢量)進行編碼的時間方向的壓縮技術(shù)。
圖4中示出運動補償?shù)奶幚順?gòu)造。圖4是表示關(guān)于用粗框包圍的當前幀71的亮度信號塊72的,前面幀73(參照幀)上的預(yù)測塊75和運動矢量76的圖。運動矢量76表示從對于當前幀的粗框塊在空間上相當于同一位置的前面幀上的塊(虛線)74到當前幀上的預(yù)測塊75區(qū)域的移動量(將色差信號用的運動矢量長度,設(shè)為亮度信號的一半,不進行編碼)。檢測出的運動矢量,在與從MV預(yù)測器215得到的預(yù)測運動矢量(從鄰接塊的運動矢量來預(yù)測)之間進行了差分處理后,由多路化器206進行編碼。通過運動補償從前面幀抽取出的預(yù)測宏塊圖像213,與當前幀的輸入宏塊圖像201之間由差分器202進行差分處理,并生成差分宏塊圖像。
差分宏塊圖像,如圖6所示那樣,被分割成24個4×4像素塊,由DCT變換器203分別變換成16個DCT系數(shù)。各DCT系數(shù)由量化器204進行量化,由多路化器206進行編碼。在幀間編碼的情況下也是由局部解碼器220的反量化器207和反DCT器208將量化DCT系數(shù),解碼成差分宏塊圖像,在由加法器209與預(yù)測宏塊圖像進行了相加后,合成到幀存儲器210中。此外,在這里將在1個宏塊中進行編碼的運動矢量的數(shù)目設(shè)為1個,但一般是將宏塊進一步分割成小塊,對每個小塊計算出運動矢量進行編碼的方法。例如,在MPEG-4Part10(Advanced Video Coding)中,將進行運動補償時的宏塊分割類型(亮度成分)設(shè)為圖7來考慮?;旧鲜穷愋?1~類型54的4種。類型54分別對4個8×8塊54-0~54-3,進一步從類型54a、54b、54c、54d和幀內(nèi)編碼5種中進行選擇。
進而,作為預(yù)測編碼的運動補償方法,被分成使用在時間上過去的幀的信息進行運動補償?shù)那跋蝾A(yù)測編碼,和使用在時間上過去和未來的幀的信息進行運動補償?shù)碾p向預(yù)測編碼。在上述前向預(yù)測編碼的運動補償中,僅進行前向預(yù)測,但在雙向編碼的運動補償中,除了前向預(yù)測以外,還處理后向預(yù)測、雙向預(yù)測以及利用在時間上未來的幀中的運動矢量信息從雙向進行預(yù)測的直接預(yù)測。
運動矢量的編碼精度,一般處理到整數(shù)像素或其以下的精度。例如,在MPEG-4Part2的Advanced Simple Profile中,可對每個位數(shù)據(jù)選擇1/2像素精度和1/4像素精度。關(guān)于整數(shù)像素精度或其以下的預(yù)測值的計算方法,省去說明,在1/2像素精度中依照像素位置適應(yīng)地使用2抽頭的線性過濾器,在1/4像素精度中依照像素位置適應(yīng)地使用8抽頭過濾器和2抽頭過濾器。另外,在MPEG-4Part10中也研討了以1/4像素精度來表達運動矢量,使用6抽頭過濾器和2抽頭過濾器計算出預(yù)測值。這樣,通過使用長抽頭數(shù)的過濾器就使預(yù)測性能提高。
將對全部宏塊適用了幀內(nèi)編碼得到的幀稱為I-Picture,將由前向預(yù)測編碼或者幀內(nèi)編碼所構(gòu)成的幀稱為P-Picture,將由雙向編碼或者幀內(nèi)編碼所構(gòu)成的幀稱為B-Picture。在P-Picture或者B-Picture中,由圖13的INTRA/INTER判定器214,判定對各宏塊以預(yù)測編碼和幀內(nèi)編碼的哪個來進行,并由多路化器206對判定結(jié)果218進行編碼。
運動圖像的編碼信號的解碼,以與編碼相反的步驟來進行。一般是由圖14的解碼裝置來進行。
代碼譯解部501,對所輸入的編碼數(shù)據(jù)進行分析,將運動矢量關(guān)聯(lián)信息和宏塊類型信息分給MV預(yù)測器508,將量化DCT系數(shù)信息分給反量化器502。在宏塊類型是幀內(nèi)編碼的情況下,在反量化器502和反DCT器503中,將已解碼的量化DCT系數(shù)信息對每個4×4像素塊進行反量化·反DCT處理,再現(xiàn)宏塊圖像。在宏塊的預(yù)測方式是預(yù)測編碼的情況下,由MV預(yù)測器508從解碼差分運動矢量和預(yù)測運動矢量計算出解碼運動矢量,并輸入到運動補償器504。在運動補償器504中,按照運動量從存儲著前面幀的解碼圖像的幀存儲器507抽取出預(yù)測宏塊圖像。
接著,在反量化器502和反DCT器503中,將與預(yù)測誤差信號有關(guān)的編碼數(shù)據(jù),對每個4×4像素塊進行反量化·反DCT處理,再現(xiàn)差分宏塊圖像。然后,由加法器505對預(yù)測宏塊圖像和差分宏塊圖像進行相加處理,再現(xiàn)宏塊圖像。被再現(xiàn)的宏塊圖像由合成器506合成為解碼幀圖像。另外,解碼幀圖像為下一幀的預(yù)測用而被存儲在幀存儲器507中。
作為與本發(fā)明關(guān)聯(lián)的文獻,有專利公開公報(日本專利公開特開平11-46364號公報)。在此文獻中記載有,在以塊為單位進行編碼·解碼處理的運動圖像的編碼·解碼方法中,準備數(shù)種運動矢量精度,以多個綁定在一起的塊為單位切換運動矢量的編碼精度的手段。
在以往公知的運動圖像的運動補償編碼中,研討了準備多種包含在塊中運動矢量數(shù),運動矢量的編碼精度為1/8像素精度那樣高的編碼方式。但是,由于運動矢量的代碼量的關(guān)系,即使在塊中包含多個運動的情況下,也有選擇以少的運動矢量數(shù)進行編碼的方法的傾向。另外,在使用長抽頭數(shù)的過濾器生成整數(shù)像素精度或其以下的預(yù)測像素的情況下,就產(chǎn)生為了生成1個預(yù)測塊所用的參照圖像內(nèi)的像素數(shù)變大這樣的存儲器存取的問題。此問題,特別是在進行運動補償時就成為問題。
從而,本發(fā)明的目的就是提供,能夠削減運動矢量的代碼量以及能夠削減由編碼塊內(nèi)的塊數(shù)增大造成的預(yù)測誤差信息的運動圖像信號的編碼方法、解碼方法、編碼裝置以及解碼裝置。
本發(fā)明的其他目的就是,在編碼裝置以及解碼裝置中,降低運動補償時存儲器存取范圍。
發(fā)明內(nèi)容
本發(fā)明提供一種運動圖像的編碼方法,具有如下步驟,將圖像分割成多個編碼塊,通過從鄰接塊的運動矢量來預(yù)測編碼塊的運動矢量,其中將該鄰接塊的運動矢量作為預(yù)測運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼,其中通過在該鄰接塊的運動矢量加上差分運動矢量來作為編碼塊的運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種差分運動矢量的精度,對每個編碼塊選定差分運動矢量的精度,并對所選定的精度的信息以及該精度的差分運動矢量進行編碼。
本發(fā)明提供一種運動圖像的編碼方法,具有如下步驟,將圖像分割成多個編碼塊,通過從鄰接塊的運動矢量來預(yù)測編碼塊的運動矢量,其中將該鄰接塊的運動矢量作為預(yù)測運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼,其中通過在該鄰接塊的運動矢量加上差分運動矢量來作為編碼塊的運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種運動矢量的精度,對每個編碼塊選定運動矢量的精度,并對上述所選定的精度的信息、以及由修正成上述所選定的精度的預(yù)測運動矢量和所選定的精度的運動矢量計算出的差分運動矢量進行編碼。
本發(fā)明提供一種運動圖像的解碼方法,具有如下步驟,將圖像分割成多個解碼塊,從鄰接塊的解碼運動矢量來預(yù)測解碼塊的運動矢量,由解碼差分運動矢量和預(yù)測運動矢量計算出解碼運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種差分運動矢量的精度,對每個解碼塊解碼差分運動矢量的精度信息和該精度的差分運動矢量,在將解碼差分運動矢量的精度修正成與預(yù)測運動矢量相同的精度后,從已進行精度修正的解碼差分運動矢量和預(yù)測運動矢量計算出解碼塊的運動矢量。
本發(fā)明提供一種運動圖像的解碼方法,具有如下步驟,將圖像分割成多個解碼塊,從鄰接塊的解碼運動矢量來預(yù)測解碼塊的運動矢量,由解碼差分運動矢量和預(yù)測運動矢量計算出解碼運動矢量,其特征在于還具有如下步驟準備數(shù)種運動矢量的精度,對每個解碼塊解碼運動矢量的精度信息和該精度的差分運動矢量,在將預(yù)測運動矢量的精度修正成與解碼精度信息相同的精度后,從解碼差分運動矢量和已進行精度修正的預(yù)測運動矢量計算出解碼塊的運動矢量。
為了達到上述目的,本發(fā)明提供一種運動圖像的編碼方法,包括將圖像分割成多個編碼塊,從鄰接位置的運動矢量來預(yù)測編碼塊內(nèi)的運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼的步驟,對運動矢量進行編碼,具有(1)準備數(shù)種差分運動矢量的精度,對每個編碼塊選定差分運動矢量的精度,并對所選定的精度的信息以及該精度的差分運動矢量進行編碼的步驟;或者(2)準備數(shù)種運動矢量的精度,對每個編碼塊選定運動矢量的精度,并對所選定的精度的信息,以及由修正成所選定的精度的預(yù)測運動矢量和所選定的精度的運動矢量計算出的差分運動矢量進行編碼的步驟。
這里,在上述(1)以及(2)的情況中,包含伴隨差分運動矢量的編碼的精度值(下面簡稱為mv_shift值)的決定以及編碼處理,除了在全部的宏塊中進行以外,還利用宏塊的類型(例如,編碼運動矢量的數(shù)目的大小)或周圍的狀況(例如,鄰接宏塊的狀況),省略特定宏塊的mv_shift值的編碼的情況。
上述(2)的情況,也可以在運動矢量的水平成分和垂直成分上分配不同的精度,對于各成分對從所分配的精度的運動矢量計算出的差分矢量進行編碼。
本發(fā)明的運動圖像的解碼,使用利用本發(fā)明的運動圖像編碼的代碼,通過與編碼的步驟相反的步驟,進行編碼塊的圖像再現(xiàn)。即,準備多個運動矢量的精度,在運動矢量的水平成分和垂直成分上分配不同的精度,各成分修正成該被分配的精度,對從該修正預(yù)測運動矢量和所分配的精度的運動矢量計算出的差分運動矢量進行編碼。
進而,在解碼的情況下,mv_shift值的設(shè)定,對應(yīng)解碼的代碼被編碼的處理過程來進行。例如,在編碼中宏塊的類型或者周圍的狀況下mv_shift值未被編碼的代碼被再現(xiàn)時,解碼宏塊的類型或者周圍的狀況下決定、處理mv_shift值。
本發(fā)明的目的、特征、編碼裝置以及解碼裝置的結(jié)構(gòu)通過伴隨以下附圖的實施例的說明將進一步得到明確。
圖1是表示前向預(yù)測幀的數(shù)據(jù)語法的例子的圖。
圖2是表示雙向預(yù)測幀的數(shù)據(jù)語法的例子的圖。
圖3是說明宏塊分割的圖。
圖4是說明運動補償?shù)脑淼膱D。
圖5是表示在對包含在宏塊中的有意義DCT系數(shù)的有無進行編碼時所利用的塊結(jié)構(gòu)的圖。
圖6是示出表示進行DCT處理以及編碼處理的塊單位的宏塊結(jié)構(gòu)的圖。
圖7是示出表示進行運動補償?shù)膲K單位的亮度塊的結(jié)構(gòu)的圖。
圖8是說明預(yù)測運動矢量的生成的圖。
圖9是表示運動矢量精度的代碼表的例子的圖。
圖10是說明運動矢量精度的預(yù)測方法的圖。
圖11是表示根據(jù)本發(fā)明的實施例的P-Picture中的宏塊類型的代碼表和8×8劃分類型的代碼表的圖。
圖12是表示根據(jù)本發(fā)明的實施例的B-Picture中的宏塊類型的代碼表和8×8劃分類型的代碼表的圖。
圖13是表示運動圖像編碼裝置的一般結(jié)構(gòu)的框圖。
圖14是表示本運動圖像解碼裝置的一般結(jié)構(gòu)的框圖。
圖15是說明以往方法中的宏塊類型的代碼表的例子的圖。
圖16是表示通用代碼表的結(jié)構(gòu)例子的圖。
圖17是表示域信號中的幀構(gòu)造的宏塊的結(jié)構(gòu)例子的圖。
圖18是按塊大小來切換運動矢量的編碼精度的處理的流程圖。
圖19是按本發(fā)明的實施例中的運動矢量的成分來切換運動矢量的編碼精度的處理的流程圖。
圖20是按本發(fā)明的實施例中的運動矢量的成分和宏塊結(jié)構(gòu)來切換運動矢量的編碼精度的處理的流程圖。
圖21是按本發(fā)明的實施例中的塊大小、運動矢量的成分和宏塊結(jié)構(gòu)來切換運動矢量的編碼精度的處理的流程圖。
圖22是按本發(fā)明的實施例中的塊大小、運動矢量的成分和宏塊結(jié)構(gòu)來切換運動矢量的編碼精度的處理的流程圖的別的例子。
圖23是按本發(fā)明的實施例中的塊大小和運動矢量的成分來切換運動矢量的編碼精度的處理的流程圖的例子。
圖24是按本發(fā)明的實施例中的塊大小和運動矢量的成分來切換運動矢量的編碼精度的處理的流程圖的別的例子。
圖25是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖26是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖27是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖28是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖29是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖30是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖31是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖32是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖33是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖34是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖35是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖36是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖37是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖38是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖39是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖40是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖41是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖42是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的實施例的結(jié)構(gòu)圖。
圖43是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖44是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖45是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖46是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的圖47是根據(jù)本發(fā)明的運動圖像編碼裝置的運動矢量的編碼部的圖48是根據(jù)本發(fā)明的運動圖像解碼裝置的運動矢量的解碼部的
具體實施例方式
在說明本發(fā)明的實施例之前,為了使以下的說明的理解容易,對由編碼裝置的多路化器所創(chuàng)建的代碼數(shù)據(jù)的數(shù)據(jù)語法進行說明。
圖1表示P-Picture的數(shù)據(jù)語法的一部分,圖2表示B-Picture的數(shù)據(jù)語法的一部分(由于CBP15以后與圖1相同故省略)。此外,在這里設(shè)數(shù)據(jù)(運動矢量精度信息)13,不出現(xiàn)在數(shù)據(jù)語法內(nèi)進行說明。另外,關(guān)于I-Picture,由于不包含在本發(fā)明的特征中故省略說明。
在picture header10中包含圖像大小、再現(xiàn)時刻等與幀的再現(xiàn)信息有關(guān)的數(shù)據(jù)。picture type11是幀類型信息,I-Picture、P-Picture、B-Picture的種類在此進行編碼。MB type12到Tcoeff chroma17對每個宏塊數(shù)據(jù),按幀內(nèi)的宏塊數(shù)進行反復(fù)。在MB type12中從圖15的表95(P-Picture)或者表96(B-Picture)所示的宏塊方式中對每個宏塊選擇一個方式進行編碼。
SKIP方式意味著,從前面幀的解碼圖像分離出在空間上相當于同一位置的宏塊圖像進行拷貝。表內(nèi)的IntraM×N的M、N表示進行空間預(yù)測時的小塊大小。M×N表示進行運動補償時的小塊單位,分別對應(yīng)圖7的方式1~方式4。
Direct意味著直接預(yù)測。Blcok1以及Block2,識別圖7的方式2或者方式3中的2個小塊,表示各小塊的預(yù)測方向是Forward(前向預(yù)測)、Backward(后向預(yù)測)、Bi-directional(雙向預(yù)測)的哪一個。關(guān)于在MB type12中選擇了8×8(split)的宏塊,則8×8Partition18產(chǎn)生。在除此以外的宏塊方式中,則8×8Partition18不產(chǎn)生。在8×8Partition18中,從圖11的表92(P-Picture)或者圖12的表94(B-Picture)所示的8×8劃分方式對每個8×8劃分選擇一個方式,進行編碼。表內(nèi)的Intra表示空間預(yù)測。M×N表示進行運動補償時的小塊單位,分別對應(yīng)圖7的劃分1~劃分4。Direct意味著直接預(yù)測。
Prediction表示各小塊的預(yù)測方向是Forward(前向預(yù)測)、Backward(后向預(yù)測)、Bi-directional(雙向預(yù)測)的哪一個。MVD14表示P-Picture中的差分運動矢量的編碼數(shù)據(jù)。從而,在MB type12是IntraM×N的情況下,則此數(shù)據(jù)不產(chǎn)生。在MB type12是M×N的情況下,MVD14按MB type和8×8Partition所示的矢量數(shù)反復(fù)進行編碼。例如,在16×8的情況下,應(yīng)編碼的差分運動矢量數(shù)為2個,各運動矢量由水平、垂直的2成分構(gòu)成,4個MVD連續(xù)被進行編碼。MVDFW23和MVDBW24表示B-Picture中的差分運動矢量的編碼數(shù)據(jù)。MVDFW23,在包含伴隨MB type12和8×8Partition 18所示的前向預(yù)測(也包含雙向預(yù)測)的運動矢量的宏塊的情況下產(chǎn)生。同樣,MVDBW24,在包含伴隨MB type12和8×8Partition 18所示的后向預(yù)測(也包含雙向預(yù)測)的運動矢量的宏塊的情況下產(chǎn)生。從而,在MB type12為IntraM×N或者Direct的情況下,則此數(shù)據(jù)不產(chǎn)生。在MB type12為M×N,伴隨前向預(yù)測(也包含雙向預(yù)測)的運動矢量存在的情況下,MVDFW23,按伴隨MB type和8×8Partition所示的前向預(yù)測(也包含雙向預(yù)測)的矢量數(shù)(差分運動矢量數(shù)×2、水平·垂直乘方)反復(fù)進行編碼。同樣,在MB type12為M×N,伴隨后向預(yù)測(也包含雙向預(yù)測)的運動矢量存在的情況下,MVDBW24,按伴隨MB type和8×8Partition所示的前向預(yù)測(也包含雙向預(yù)測)的矢量數(shù)(差分運動矢量數(shù)×2、水平·垂直乘方)反復(fù)進行編碼。
CBP15是表示,關(guān)于圖6所示的24個DCT塊,0以外的量化DCT系數(shù)(有意義系數(shù))是否包含在16個系數(shù)中的編碼數(shù)據(jù)。但是,由于若關(guān)于24個各DCT塊分別對有意義系數(shù)的有無信息進行編碼則附加信息將會增大,故在這里,如圖6所示那樣以匯總了4個DCT塊的8×8塊為單位對有意義系數(shù)的有無進行編碼。
Tcoeff luma16表示亮度塊40中的量化DCT系數(shù)的編碼數(shù)據(jù)。編碼是從4×4塊40-0到4×4塊40-15,按編號小的順序分別對16個量化系數(shù)進行編碼。但是,關(guān)于由CBP表示無有意義系數(shù)的8×8塊,編碼處理就被省略。
Tcoeff chroma17表示亮度塊40中的量化DCT系數(shù)的編碼數(shù)據(jù)。編碼是按4×4塊41-0、41-2、41-3、42-0、42-1、42-3的順序分別對16個量化系數(shù)進行編碼。但是,關(guān)于由CBP15表示無有意義系數(shù)的信號成分,編碼處理就被省略。
關(guān)于圖1和圖2所示的宏塊等級的編碼數(shù)據(jù)的編碼方法,考慮僅使用1種可變長度代碼表的Universal VLC(UVLC)、組合了固定長度編碼和可變長度編碼(準備對各編碼要素不同的代碼表)的編碼方法以及算術(shù)編碼(例如,參照非專利文獻1)等。圖16的表83表示UVLC的結(jié)構(gòu),Xn的值為“0”或者“1”。在表84中表示實際的可變長度代碼表的例子。作為算術(shù)編碼的具體方法,考慮用數(shù)比特的二進制數(shù)據(jù)置換各代碼的含意,對各位依照表示各0和1的產(chǎn)生概率的發(fā)生概率模型來進行編碼的方法。此方法被稱為CABAC(Context-basedAdaptive Binary Arithmetic Coding)(Witten et al.,“ArithmeticCoding for Data Compression”,Comm.of the ACM,30(6),1987,pp.520-541)。
本發(fā)明,特別是在運動矢量的編碼部/解碼部上具有特征。即,在按圖1和圖2的數(shù)據(jù)MVD語法MVD precision13部的處理、圖13的編碼裝置的MV預(yù)測部215、運動補償部211以及圖14的解碼裝置的MV部508、運動補償部504的結(jié)構(gòu)以及信息處理方法上具有特征。其他部分的結(jié)構(gòu)以及信號處理方法與以往的裝置、方法在實質(zhì)上相同,下面對本發(fā)明的特征部分的實施例進行說明。
<實施例1>
本實施例是在運動矢量的編碼部,將圖像分割成多個編碼塊,從鄰接位置的運動矢量來預(yù)測上述編碼塊的圖像信號和上述編碼塊內(nèi)的運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼的運動圖像編碼(下面簡稱為運動圖像的運動補償編碼)中,準備數(shù)種差分運動矢量的精度,對每個解碼塊選定差分運動矢量的精度,并對所選定的精度的信息以及該精度信息的差分運動矢量進行編碼的方法。
首先,使用圖8來說明上述預(yù)測運動矢量的生成。這里,設(shè)對運動矢量進行編碼的對象的小塊為50。在小塊50中,分別對運動矢量的水平·垂直成分,將位于鄰接位置A、B、C的3塊的運動矢量作為候補來計算其中間值,并將中間值的運動矢量設(shè)為預(yù)測運動矢量。但是,在編碼順序和宏塊位置的關(guān)系中位置C的塊為編碼前的情況或者位于圖像之外的情況下,將取代位置C而將位于位置D的塊的運動矢量作為候補運動矢量之一來使用。此外,在位置A、B、C、D的塊不具有運動矢量的情況下,將其運動矢量設(shè)為0矢量來進行預(yù)測處理。此時,在3個候補塊之中2個不具有運動矢量的情況下,將剩余的一個候補運動矢量設(shè)為預(yù)測運動矢量。上述的預(yù)測方法,對圖7的方式1(51)的塊51-0、方式4(54)的小塊54a-0、54b-0、54b-1、54c-0、54c-2以及54d-0~54d-3,使用相同的預(yù)測方法。
關(guān)于方式2(52)的2個小塊(52-0、52-1)、方式3(53)的2個小塊(53-0、53-1),將位于圖8所示的箭頭根處的塊的運動矢量設(shè)為預(yù)測值。此外,在任一方式中,色差成分用的運動矢量都不被進行編碼,將亮度成分的運動矢量除以2等進行使用。
在本實施例1中,首先設(shè)差分運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種。若設(shè)MV為將1/4像素精度表達的運動矢量成分設(shè)成4倍后的值,設(shè)PWV為將1/4像素精度表達的預(yù)測運動矢量成分設(shè)成4倍后的值,則在此表達中,對于各精度候補的MV的值如下面那樣進行限制。
1像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為4的倍數(shù)的MV。
1/2像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為2的倍數(shù)的MV。
1/4像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為1的倍數(shù)的MV。
從而,為使本方式的效果反映于編碼特征而在運動矢量推定中,準備在預(yù)測誤差信號的絕對值或者平方誤差和上加進了運動矢量的代碼量的影響的評價函數(shù)。此時,對(MV-PMV)的各精度算出各小塊的最優(yōu)評價值,在宏塊內(nèi)的全部小塊的運動矢量推定處理結(jié)束了以后,通過對各精度計算小塊的平均值的加法值,將平均值的總和較小的精度決定為差分運動矢量的精度。進行編碼的差分運動矢量MVD用公式(1)計算出。
MVD=(MV-PMV)>>mv_shift......(1)公式(1)中的mv_shift是圖9的表81所示的值。公式(1)表示將從運動矢量成分MV減去預(yù)測運動矢量成分PMV后的值,按mv_shift所示的數(shù)向右進行了算術(shù)位移位后的值為差分運動矢量成分MVD。這里,從運動矢量成分MV減去預(yù)測運動矢量成分PMV得到的值是1<<mv_shift的倍數(shù),進行了算術(shù)右位移位處理的差分運動矢量成分MVD就成為1的倍數(shù)的值。
在Picture type為P-Picture的情況下,mv_shift作為圖1的數(shù)據(jù)MVD precision13所示的編碼數(shù)據(jù)要素,MVD作為數(shù)據(jù)MVD14所示的編碼要素被進行編碼。在Picture type為B-Picture的情況下,mv_shift作為圖2的數(shù)據(jù)MVD precision13所示的編碼數(shù)據(jù)要素,MVD作為數(shù)據(jù)MVDFW23(在MVD為前向預(yù)測的差分運動矢量的情況下)或者數(shù)據(jù)MVDBW24(在MVD為后向預(yù)測的差分運動矢量的情況下)所示的編碼數(shù)據(jù)要素來進行編碼。此外,MVD precision的編碼在差分運動矢量的編碼數(shù)據(jù)(MVD14或者MVDFW23和MVDBW24)不產(chǎn)生的宏塊中則被省略。具體來講,就是P-PictureMB type為IntraM×N或者,MB type為8×8(split)4個小塊的8×8partition全部為Intra的情況,B-PictureMB type為IntraM×N或者Direct的情況,進而MB type為8×8(split)4個小塊的8×8partition全部為Intra或者Direct的情況。
如以往例子所示那樣,作為編碼方法采用UVLC或算術(shù)編碼等。圖9的表81所示的方式是,使用了UVLC情況下的編碼方式的例子。在算術(shù)編碼的情況下,例如編碼MB(圖10的7C)的預(yù)測運動矢量的生成值,按照從緊靠左MB(圖10的7A)和緊靠上MB(圖10的7B)的mv_shift值計算出的產(chǎn)生概率表來進行編碼。
在解碼側(cè),從解碼mv_shift值和解碼MVD以及PMV,按照下面的公式,MV=(MVD<<mv_shift)+PMV......(2)進行各運動矢量成分的解碼,即對MV值進行再現(xiàn)(解碼)。公式(2)表示在將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行了算術(shù)位移位后的值上加上預(yù)測運動矢量成分PMV后的值成為解碼運動矢量成分MV。通過此算術(shù)左位移位處理,被解碼的差分運動矢量成分MVD就從1的倍數(shù)變成1<<mv_shift的倍數(shù)(對應(yīng)于編碼側(cè)的MV-PMV)。通過在此值上加上PMV解碼運動矢量成分MV就復(fù)原成原來的精度的值。
接著,對差分運動矢量的精度的候補為,1/8像素精度、1/4像素精度、1/2像素精度、1像素精度4種的情況進行敘述。若設(shè)MV為將1/8像素精度表達的運動矢量成分設(shè)成8倍后的值,設(shè)PWV為將1/8像素精度表達的預(yù)測運動矢量成分設(shè)成8倍后的值,則在此表達中,對于各精度候補的MV的值如下面那樣進行限制。
1像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為8的倍數(shù)的MV。
1/2像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為4的倍數(shù)的MV。
1/4像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為2的倍數(shù)的MV。
1/8像素精度宏塊內(nèi)的全部小塊中的(MV-PMV)的值水平·垂直成分都為1的倍數(shù)的MV。
關(guān)于運動推定的方法,由于與1/4像素精度、1/2像素精度、1像素精度3種的情況相同,故省略說明。差分運動矢量MVD用公式(1)計算出。這里,從運動矢量成分MV減去預(yù)測運動矢量成分PMV的值是1<<mv_shift的倍數(shù),進行了算術(shù)右位移位處理的差分運動矢量成分MVD就成為1的倍數(shù)的值,用上述的公式(1)計算出。公式(1)中的mv_shift是圖9的表82所示的值。
關(guān)于mv_shift和MVD的編碼方法,由于與差分運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種的情況相同,故省略說明,使用了UVLC情況下的編碼代碼就按照表82而不是表81。
解碼側(cè)的處理也與差分運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種的情況相同,從解碼mv_shift值和解碼MVD以及PMV,按照上述的公式(2),各運動矢量成分的解碼MV值被再現(xiàn)。公式(2)表示在將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行了算術(shù)位移位的值上加上預(yù)測運動矢量成分PMV的值成為解碼運動矢量成分MV。通過此算術(shù)左位移位處理,被解碼的差分運動矢量成分MVD就從1的倍數(shù)變成1<<mv_shift的倍數(shù)(對應(yīng)于編碼側(cè)的MV-PMV)。通過在此值上加上PMV解碼運動矢量成分MV就復(fù)原成原來的精度的值。
<實施例2>
本實施例2是在運動圖像的運動補償編碼中,準備多種運動矢量的精度,對每個宏塊選定運動矢量的精度,對所選定的精度信息,以及由修正成該選定了的精度的預(yù)測運動矢量和修正成該選定了的精度的編碼運動矢量計算出的差分運動矢量進行編碼的方法。
首先,設(shè)預(yù)測運動矢量和編碼運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種。若設(shè)MV為將1/4像素精度表達的運動矢量成分設(shè)成4倍后的值,設(shè)PWV為將1/4像素精度表達的預(yù)測運動矢量成分設(shè)成4倍后的值,則在此表達中,對于各精度候補的MV的值如下面那樣進行限制。
1像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為4的倍數(shù)的MV。
1/2像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為2的倍數(shù)的MV。
1/4像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為1的倍數(shù)的MV。
從而,為使本方式的效果反映于編碼特征而在運動矢量推定中,準備在預(yù)測誤差信號的絕對值或者平方誤差和上加進了運動矢量的代碼量的影響的評價函數(shù)。此時,對MV的各精度算出各小塊的最優(yōu)評價值,在宏塊內(nèi)的全部小塊的運動矢量推定處理結(jié)束了以后,通過對各精度計算小塊的平均值的加法值,就能夠?qū)⑵骄档目偤洼^小的精度決定為差分運動矢量的精度。進行編碼的差分運動矢量MVD用公式(3)計算出。
MVD=(MV-((PMV>>mv_shift)<<mv_shift))>>mv_shift......(3)公式(3)中的mv_shift是圖9的表81所示的值。公式(3)表示對從運動矢量成分MV減去,將預(yù)測運動矢量成分PMV按mv_shift所示的數(shù)向右算術(shù)位移位后馬上向左進行了算術(shù)位移位后的值,進一步按mv_shift所示的數(shù)實施了第2算術(shù)右位移位的值成為差分運動矢量成分MVD。這里,對于預(yù)測運動矢量成分的連續(xù)的右位移位處理以及左位移位處理,起到將預(yù)測運動矢量成分PMV的值與MV相同變換成1<<mv_shift的倍數(shù)的值的作用。另外,通過第2算術(shù)右位移位處理,差分運動矢量成分MVD就成為1的倍數(shù)的值。
這樣,在切換編碼運動矢量的精度的方法中,在運動推定時就不需要考慮PMV的精度,但在MVD的生成處理時,需要進行將PMV預(yù)測運動矢量的精度下降到mv_shift的精度的處理。但是,公式(3)通過如下述那樣進行簡化,就能夠削減運算步數(shù)。在電路設(shè)計等的實現(xiàn)時就有效。在此公式中,將運動矢量成分MV和預(yù)測運動矢量成分PMV變換成1的倍數(shù)的值后實施差分處理?!皩⒆儞Q成1的倍數(shù)后的預(yù)測矢量成分設(shè)成1<<mv_shift倍的值”與上式中的“變換成1<<mv_shift倍的值的預(yù)測運動矢量成分”等同,另外由于運動矢量成分MV是1<<mv_shift的倍數(shù),故使用下述公式所造成的信息的缺失就不會發(fā)生。
MVD=(MV>>mv_shift)-(PMV>>mv_shift)......(4)關(guān)于mv_shift與MVD的數(shù)據(jù)語法向圖1和圖2的分配和編碼方法,由于與切換差分運動矢量的精度的方法相同故省略說明。
在解碼側(cè),從解碼mv_shift值和解碼MVD以及PMV,按照下面的公式,MV=(MVD<<mv_shift)+((PMV>>mv_shift)<<mv_shift)......(5)對各運動矢量成分的解碼MV值進行再現(xiàn)。此公式(5)表示,在將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行了算術(shù)位移位的后值上加上,將預(yù)測運動矢量成分PMV按mv_shift所示的數(shù)向右算術(shù)位移位后馬上向左進行了算術(shù)位移位后的值成為解碼運動矢量成分MV。這里,對于預(yù)測運動矢量成分的連續(xù)的右位移位處理以及左位移位處理,和將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行算術(shù)位移位的處理,起到將各成分變換成1<<mv_shift的倍數(shù)的值的作用。從而,解碼運動矢量成分MV就成為原來的1<<mv_shift的倍數(shù)。此外,公式(5)通過如下述那樣進行簡化,就能夠削減運算步數(shù)。在電路設(shè)計等的實現(xiàn)時就有效。在公式(5)中,表示對在已變換成1的倍數(shù)的值的預(yù)測運動矢量成分PMV上相加已解碼的差分運動矢量DMV的值,按mv_shift所示的數(shù)實施了左算術(shù)位移位的值成為解碼運動矢量成分MV?!皩⒆儞Q成1的倍數(shù)的預(yù)測矢量成分設(shè)成1<<mv_shift倍的值”與上式中的“變換成1<<mv_shift倍數(shù)的預(yù)測運動矢量成分”等同,另外由于差分運動矢量成分DMV是1的倍數(shù),故使用下述公式(6)所造成的信息的缺失就不會發(fā)生。
MV=(MVD+(PMV>>mv_shift))<<mv_shift......(6)接著,對差分運動矢量的精度的候補為,1/8像素精度、1/4像素精度、1/2像素精度、1像素精度4種的情況進行敘述。若設(shè)MV為將1/8像素精度表達的運動矢量成分設(shè)成8倍后的值,設(shè)PWV為將1/8像素精度表達的預(yù)測運動矢量成分設(shè)成8倍后的值,則在此表達中,對于各精度候補的MV的值如下面那樣進行限制。
1像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為8的倍數(shù)的MV。
1/2像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為4的倍數(shù)的MV。
1/4像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為2的倍數(shù)的MV。
1/8像素精度宏塊內(nèi)的全部小塊中的MV的值水平·垂直成分都為1的倍數(shù)的MV。
關(guān)于運動推定的方法,由于與1/4像素精度、1/2像素精度、1像素精度3種的情況相同,故省略說明。進行編碼的差分運動矢量MVD用下面的公式計算出。
MVD=(MV-((PMV>>mv_shift)<<mv_shift))>>mv_shift......(3)公式中的mv_shift是圖9的表82所示的值。此公式表示對從運動矢量成分MV減去,將預(yù)測運動矢量成分PMV按mv_shift所示的數(shù)向右算術(shù)位移位后馬上向左進行了算術(shù)位移位后的值,進一步按mv_shift所示的數(shù)實施了第2算術(shù)右位移位后的值成為差分運動矢量成分MVD。這里,對于預(yù)測運動矢量成分的連續(xù)的右位移位處理以及左位移位處理,起到將預(yù)測運動矢量成分PMV的值與MV相同變換成1<<mv_shift的倍數(shù)的值的作用。
另外,通過第2算術(shù)右位移位處理,差分運動矢量成分MVD就成為1的倍數(shù)的值。
關(guān)于mv_shift和MVD的編碼方法,由于與差分運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種的情況相同,故省略說明,使用了UVLC情況下的編碼代碼就按照表82而不是表81。但是,上式通過如下述那樣進行簡化,就能夠削減運算步數(shù)。在電路設(shè)計等的實現(xiàn)時就有效。在此公式中,將運動矢量成分MV和預(yù)測運動矢量成分PMV變換成1的倍數(shù)的值后實施差分處理。“將變換成1的倍數(shù)的預(yù)測矢量成分設(shè)成1<<mv_shift倍的值”與上式中的“變換成1<<mv_shift的倍數(shù)的預(yù)測運動矢量成分”等同,另外由于運動矢量成分MV是1<<mv_shift的倍數(shù),故使用下述公式所造成的信息的缺失就不會發(fā)生。
MVD=(MV>>mv_shift)-(PMV>>mv_shift)......(4)解碼側(cè)的處理也與差分運動矢量的精度的候補為1/4像素精度、1/2像素精度、1像素精度3種的情況相同,從解碼mv_shift值和解碼MVD以及PMV,按照下面的公式,MV=(MVD<<mv_shift)+((PMV>>mv_shift)<<mv_shift)......(5)各運動矢量成分的解碼MV值被再現(xiàn)。此公式表示,在將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行了算術(shù)位移位后的值上加上,將預(yù)測運動矢量成分PMV按mv_shift所示的數(shù)向右算術(shù)位移位后馬上向左進行了算術(shù)位移位后的值成為解碼運動矢量成分MV。這里,對于預(yù)測運動矢量成分的連續(xù)的右位移位處理以及左位移位處理,和將差分運動矢量成分MVD按mv_shift所示的數(shù)向左進行算術(shù)位移位的處理,起到將各成分變換成1<<mv_shift的倍數(shù)的值的作用。從而,解碼運動矢量成分MV就成為原來的1<<mv_shift的倍數(shù)。此外,此公式通過如下述那樣進行簡化,就能夠削減運算步數(shù)。在電路設(shè)計等的實現(xiàn)時就有效。在此公式中,表示對在已變換成1的倍數(shù)的值的預(yù)測運動矢量成分PMV上相加已解碼的差分運動矢量DMV后的值,按mv_shift所示的數(shù)實施了左算術(shù)位移位后的值成為解碼運動矢量成分MV?!皩⒆儞Q成1的倍數(shù)的預(yù)測矢量成分設(shè)成1<<mv_shift倍的值”與上式中的“變換成mv_shift倍數(shù)的預(yù)測運動矢量成分”等同,另外由于差分運動矢量成分DMV是1的倍數(shù),故使用下述公式所造成的信息的缺失就不會發(fā)生。
MV=(MVD+(PMV>>mv_shift))<<mv_shift......(6)若比較上述實施例1和2,則由于實施例1實際上是調(diào)整進行編碼的差分運動矢量的精度,故與實施例2相比較運算簡單。相對于此,由于實施例2是調(diào)整應(yīng)編碼的運動矢量的精度,故已假定各精度的情況下的探索像素就不依賴于預(yù)測矢量。從而,在僅追求編碼性能的情況下實施例1有效,但在后述的存儲器存取削減方法中,實施例2有效。
<實施例3>
本實施例3是不極力進行mv_shift值的編碼,而依照塊方式預(yù)先決定好的編碼方法和解碼方法,防止在宏塊的選擇率高的區(qū)域中,mv_shift值的代碼量增大的方法。即,在伴隨宏塊的運動矢量數(shù)少的方式中,以預(yù)先所規(guī)定的缺省的運動矢量精度進行差分運動矢量的編碼以及解碼處理。通過此處理,就省略運動矢量精度信息的編碼以及解碼處理。
例如,在編碼側(cè)和解碼側(cè)進行設(shè)定以使在MB type是16×16的宏塊中,以1/4像素精度或者1/8像素精度進行編碼以及解碼處理,在這些方式的宏塊中就省略精度信息的編碼·解碼處理。在這里,作為省略精度信息的編碼·解碼處理的方式僅設(shè)定MB type為16×16的宏塊,但能夠進一步擴展其對象。例如,在編碼側(cè)和解碼側(cè)進行設(shè)定使得以1/4像素精度或者1/8像素精度對MB type是16×16、16×8以及8×16的宏塊進行編碼以及解碼處理也是有效的。另外,在P-Picture中,作為省略精度信息的編碼·解碼處理的方式僅設(shè)定MB type為16×16的宏塊,在進行編碼的運動矢量數(shù)多的B-Picture中,也可以作為省略精度信息的編碼·解碼處理的方式設(shè)定直至MB type為16×16、16×8以及8×16的宏塊。
此外,上述運動矢量精度的default值,與mv_shift同樣可在0-3(在1/4MC type時為0-2)的范圍內(nèi)進行設(shè)定,以位流單位或者幀單位進行切換。此時,設(shè)default值的代碼,在位流單位的情況下包含在數(shù)據(jù)的起始的首標部,在幀單位的情況下包含在picture header數(shù)據(jù)中。此外,在位流單位的情況下,如果在編碼側(cè)和解碼側(cè)預(yù)先進行決定,則不需要包含在編碼數(shù)據(jù)中。
進而,通過取代圖15的表95和表96,準備規(guī)定了圖11的表91和圖12的表93所示的mv_shift值的宏塊類型,就能夠削減伴隨mv_shift值的編碼的附加信息。另外,在對mv_shift值進行算術(shù)編碼時,通過基于在宏塊中所包含的運動矢量數(shù),適應(yīng)地切換編碼所用的概率模型,就能夠使編碼效率得以提高。此外,在這里,將mv_shift的切換單位設(shè)為宏塊單位,但也考慮每8×8進行切換的情況。這樣的處理,通過在MB type中設(shè)置每8×8進行處理的方式和每16×16進行處理的方式就能夠?qū)崿F(xiàn)。另外,通過在表81或者表82中設(shè)置每8×8進行切換的方式,進而每8×8對4個mv_shift值進行編碼的方法也能夠?qū)崿F(xiàn)。
另外更進一步,作為差分運動矢量或者運動矢量精度的選擇切換單位,也可以在全體幀中設(shè)成固定或者在全體序列中設(shè)成固定。固定精度的選擇切換單位,將會簡化編碼/解碼處理。從而,在考慮了實現(xiàn)成本的簡單的編碼/解碼方式中,以幀單位或序列單位固定精度的切換單位是有效的。
<實施例4>
本實施形式4是從周圍的狀況唯一地判定移位值的方法。即,通過從鄰接宏塊來預(yù)測編碼對象宏塊的mv_shift值,來削減mv_shift值的代碼量。例如,從緊靠左的宏塊(7A)、緊靠上的宏塊(7B)的mv_shift值來預(yù)測編碼對象宏塊(圖10的宏塊7C)的mv_shift值。作為預(yù)測方法有從7A和7B的mv_shift值的加法值進行預(yù)測的方法。作為具體的利用手段,有在加法值為0,7C的MB type為16×16的情況下,省略mv_shift值(MVD precison)的編碼并在編碼·解碼側(cè)的雙方作為規(guī)定值使用1/8像素精度或者1/4像素精度,在除此以外的加法值和MB type的組合的情況下,進行mv_shift值的編碼的控制手段。此外,此具體例是一個例子,預(yù)測所用的鄰接宏塊的種類、預(yù)測方法、進行控制的MB type的種類、控制時的情況區(qū)分種類等的組合有多種。例如,通過將進行控制的MB type擴展到2個或2個以下的差分運動矢量,或者將加法值的控制點擴展到2或2以下,mv_shift值的代碼量的削減量就增大。另外,還有通過運動矢量的預(yù)測這樣的方法從鄰接MB的mv_shift值預(yù)測當前MB的mv_shift值,對其差分值進行編碼的方法等。
在上述實施例的運動矢量的編碼精度切換手段中還包含下面那樣的變形。
盡管在本實施例中,設(shè)運動矢量的編碼精度的候補為1/8像素精度、1/4像素精度、1/2像素精度、1像素精度,但并不限定于此。例如直到1/16像素精度都包含的情況或者,設(shè)為1/2像素精度、1像素精度2種的情況。
另外,盡管在上述實施例中,以宏塊為單位進行運動矢量的編碼精度信息的編碼,但也有對多個宏塊組的每個切換運動矢量的編碼精度信息的方法。
進而,盡管在上述實施例中,將宏塊中的運動補償塊的分割方式設(shè)為圖7所示的4種,但由于本說明書的運動矢量編碼方法,即使運動補償塊的分割方式的種類和數(shù)目被變更也能夠?qū)嵤?,故運動矢量的編碼塊結(jié)構(gòu)不進行限定。
另外,盡管在上述實施例中,作為編碼數(shù)據(jù)的編碼方式說明了UVLC和算術(shù)編碼,但本說明書的運動矢量編碼方法,能夠不限定于熵編碼的種類進行實施。另外,UVLC的代碼表的結(jié)構(gòu)和算術(shù)編碼/解碼的結(jié)構(gòu)方法也不限定于實施例的表。另外進而,盡管在本實施例中,關(guān)于16×16、16×8以及8×16方式,利用了mv_shift值的default值,但能夠?qū)⒋薲efault值適用于8×8(split)的一部分的Partition方式。另外,盡管在實施例中,設(shè)default值的設(shè)定為位流單位或者幀單位,但關(guān)于各宏塊單位也可以分配不同的值。例如有在16×16方式中將default值設(shè)定為1,在16×8和8×16方式中將default值設(shè)定為0的方法。如果概括地講,則關(guān)于宏塊方式和8×8Partition方式,以幀單位或者序列單位來規(guī)定各自適用的差分運動矢量(或者運動矢量)的編碼精度,進行編碼傳送即可(在序列單位的情況下,如果預(yù)先在編碼側(cè)和解碼側(cè)決定各方式中的編碼精度,則不需要進行精度信息的編碼)。如上述那樣,固定編碼精度的選擇切換單位,將會簡化編碼/解碼處理。通過增加規(guī)定default值的方式,實現(xiàn)成本就進一步降低。在需要更簡單的結(jié)構(gòu)的編碼/解碼方式中,對于更多的方式,固定編碼精度的切換單位是有效的。
上面對根據(jù)本發(fā)明的運動圖像的編碼方法以及解碼方法的實施例進行了說明。根據(jù)本發(fā)明的運動圖像的編碼裝置以及解碼裝置,關(guān)于實施例的方法圖13的編碼裝置,首先在運動補償器211中追加,依照MB type和8×8Partition的組合來開/關(guān)mv_shift值的編碼的判定處理、考慮了mv_shift值的運動推定處理、伴隨mv_shift的MVD、MVDFW、MVDBW的計算處理以及將mv_shift值傳給多路化器206的處理。另外,在多路化器206中追加將mv_shift值作為MVDprecision進行編碼的處理。關(guān)于圖14的解碼裝置,在代碼譯解器501中設(shè)置,追加依照MB type和8×8Partition的解碼值來開/關(guān)mv_shift值的解碼的判定處理、將MVD precision作為mv_shift值進行解碼的處理以及將mv_shift值傳給MV預(yù)測器508的處理的處理部。另外,在MV預(yù)測器508中設(shè)置,將伴隨mv_shift的MVD、MVDFW、MVDBW再現(xiàn)成MV的處理部。
圖25、圖27、圖29、圖31、圖33、圖35、圖37、圖39以及圖41,都是表示根據(jù)本發(fā)明的運動圖像的編碼裝置的實施例的主要部分(運動矢量的編碼部)結(jié)構(gòu)的框圖。圖26、圖28、圖30、圖32、圖34、圖36、圖38、圖40以及圖42表示分別對應(yīng)于圖25、圖27、圖29、圖31、圖33、圖35、圖37、圖39以及圖41的編碼裝置的、根據(jù)本發(fā)明的運動圖像的編碼裝置的實施例的主要部分(運動矢量的解碼部)結(jié)構(gòu)的框圖。
在各圖中,對實質(zhì)上相同功能塊附加同一編號。各圖的裝置的結(jié)構(gòu)、動作,通過上述實施例1至實施例4的說明,能夠容易地實現(xiàn),所以僅示出與上述各實施例的對應(yīng),詳細的說明省略。
圖25和圖26的裝置,分別由執(zhí)行實施例1的公式(1)和(2)的電路所構(gòu)成,移位(mv_shift)值的決定僅根據(jù)外部輸入(在運動矢量檢測時求出)來進行控制。MV預(yù)測部215利用存儲了各塊的運動矢量MV的存儲器101,生成預(yù)測運動矢量PMV。減法器102取得它們的差分MV-PMV。右移位處理部103對MV-PMV進行右移位。在解碼側(cè),由于進行編碼側(cè)的逆處理,故設(shè)置存儲了運動矢量MV的存儲器101、左移位處理部113以及加法器112。
圖27和圖28的裝置,分別由執(zhí)行實施例1的公式(1)和(2)的電路所構(gòu)成,移位(mv_shift)值的決定根據(jù)外部輸入(在運動矢量檢測時求出)和宏塊的類型等條件的某一個來進行決定、控制。在移位值選擇部104選擇了特定的塊類型的情況下,選擇mv_shift值,由控制電路105從來自該部的mv_shift值,用對應(yīng)于塊類型的mv_shift值來處理右移位處理部103。
圖29和圖30的裝置,分別由執(zhí)行實施例1的各個公式(1)和(2)的電路所構(gòu)成,移位(mv_shift)值的決定僅根據(jù)宏塊的類型等條件來進行決定、控制。
圖31和圖32的裝置,分別由執(zhí)行實施例2的公式(3)和(5)的電路所構(gòu)成,移位(mv_shift)值的決定僅根據(jù)外部輸入(在運動矢量檢測時求出)來進行控制。精度修正處理部106,進行公式(3)的(PMV>>mv_shift)<<mv_shift的處理。
圖33和圖34的裝置,分別由執(zhí)行實施例2的公式(3)和(5)的電路所構(gòu)成,移位(mv_shift)值的決定根據(jù)外部輸入(在運動矢量檢測時求出)和宏塊的類型等條件的某一個來進行決定、控制。
圖35和圖36的裝置,分別由執(zhí)行實施例2的公式(3)和(5)的電路所構(gòu)成,移位(mv_shift)值的決定僅根據(jù)宏塊的類型等來進行控制。
圖37和圖38的裝置,分別由執(zhí)行實施例2的公式(4)和(6)的電路所構(gòu)成,移位(mv_shift)值的決定僅根據(jù)外部輸入(在運動矢量檢測時求出)來進行控制。
圖39和圖40的裝置,分別由執(zhí)行實施例2的公式(4)和(6)的電路所構(gòu)成,移位(mv_shift)值的決定根據(jù)外部輸入(在運動矢量檢測時求出)和宏塊的類型等條件的某一個來進行決定、控制。
圖41和圖42的裝置,分別由執(zhí)行實施例2的各個公式(4)和(6)的電路所構(gòu)成,移位(mv_shift)值的決定根據(jù)宏塊的類型等條件的某一個來進行決定、控制。
<實施例5>
圖18是實施例5的編碼方法的處理流程圖。
本實施例5是為了解決在使用了長抽頭數(shù)的過濾器的運動補償中存儲器存取區(qū)域擴大的問題,而對編碼運動矢量的精度進行切換的編碼·解碼方法。
使用長過濾器生成的預(yù)測值只是像素精度或其以下的預(yù)測像素。從而,通過將運動矢量的編碼精度限定成整數(shù)像素,就能夠削減存儲器存取區(qū)域。但是,將運動矢量的編碼精度限定成整數(shù)像素,將使預(yù)測性能降低。因此,在本實施例5中,依照存儲器存取范圍的擴大對裝置實現(xiàn)或者軟件實現(xiàn)影響的程度,來限制像素精度。特別是僅在運動補償時的塊大小較小的情況下,限制運動矢量的編碼精度。
伴隨存儲器存取區(qū)域擴大的影響,塊大小越小就變得越大。大小較小的塊原本進行存取的像素數(shù)就少。為此,若比較大小較大的塊和小的塊,則對于原來的存取范圍的擴大存取區(qū)域的比率,塊大小越小則越大。
本實施例的編碼裝置方法,在對圖7的塊分割進行1/4像素精度的運動補償?shù)那闆r下,如圖18那樣,首先進行塊大小判別(處理801),選擇mv_shift值。在本實施例的情況下,在8×8Partition2(8×4)和8×8Partition3(4×8)中選擇1/2像素精度(處理811)、在8×8Partition3(4×4)中選擇整數(shù)像素精度(處理812)、在8×8像素以及在此以上大小較大的塊中選擇1/4像素精度(圖18的處理813),并用所選擇的mv_shift來驅(qū)動右移位處理部103進行運動補償。在運動矢量的編碼時,在8×4和4×8像素大小的塊中設(shè)mv_shift為1,在4×4像素大小的塊中設(shè)mv_shift為2,在除此以外的像素大小的塊中設(shè)mv_shift為0。
另外,在使用P-picture和B-picture的方式中,也可以僅對B-picture適用上述精度切換,在P-picture中不管塊大小如何都以1/4像素精度進行運動補償。此外,盡管在這里,僅將以整數(shù)像素精度進行運動補償?shù)膲K大小設(shè)為4×4,但也可以將其擴展到8×4和4×8。在此情況下,在8×4、4×8和4×4像素大小的塊中設(shè)mv_shift為2,在除此以外的像素大小的塊中設(shè)mv_shift為0。
根據(jù)本實施例的運動圖像的編碼裝置以及解碼裝置中的運動矢量的編碼部及解碼部,分別與上述圖41和圖42同樣地進行構(gòu)成。
<實施例6>
圖19、圖45以及圖46,分別是本發(fā)明的實施例6的編碼方法處理流程圖、編碼裝置的主要部分結(jié)構(gòu)圖以及解碼裝置的主要部分結(jié)構(gòu)圖。
本實施例也為了解決在使用了長抽頭數(shù)的過濾器的運動補償中存儲器存取區(qū)域擴大的問題,而通過以不同的編碼精度對運動矢量的垂直·水平各成分進行編碼,來限制存儲器存取范圍。
編碼裝置的移位選擇部124,如圖19那樣,判斷運動矢量是否是垂直成分(處理801),并選擇mv_shift。類型適應(yīng)部124,用所選擇的mv_shift來驅(qū)動右移位處理部103進行運動補償。在本實施例中,通過1/4像素精度的運動補償,將運動矢量的垂直成分設(shè)為整數(shù)像素精度(處理812),將水平成分設(shè)為1/4像素精度(處理813),設(shè)對垂直成分進行編碼/解碼時的mv_shift為2,設(shè)對水平成分進行編碼/解碼時的mv_shift為0。
本實施例的對存儲器存取范圍擴大的影響較大的運動矢量的垂直成分的編碼精度進行限制的方法效果很大。圖像數(shù)據(jù)一般是從左上朝右下按光柵掃描的順序保存在存儲器中。為此,在從某像素開始對鄰接像素擴大存取范圍的情況下,水平方向的1個像素意味著1個像素程度,而垂直方向的1個像素則意味著1行程度。從而,伴隨向垂直方向的存儲器存取的工數(shù),比水平方向的還要大。進而,在不是以byte單位(1個像素)而是以word單位(每2個像素)或者dword單位(每4個像素)來保存1個像素1byte的像素數(shù)據(jù)的實現(xiàn)方法中,由于向水平方向的存儲器存取范圍的擴大,以word單位或者dword單位發(fā)生,所以其影響不太大。相對于此,在垂直方向即使是1個像素程度的存取,存儲器存取范圍也必然擴大。從而,對垂直方向的運動矢量的編碼精度進行限制的方法,以存儲器存取范圍縮小這樣的觀點來看是有效果的。
另外,也可以綜合實施例5以及實施例6的方法,進行如圖23那樣的處理。即,移位選擇部124,僅對8×4、4×8以及4×4像素大小的塊,將運動矢量的垂直成分限制成整數(shù)像素。進而,依照塊大小,切換對范圍進行限制的矢量成分的手段也是有效的。
如上述那樣,伴隨存儲器存取區(qū)域擴大的影響,塊大小越小則越大,這也可說成塊的縱橫比率。也就是,在塊的縱橫大小的比率不同的情況下,大小越小的成分存取范圍擴大的影響就變得越大。若用圖7的塊分割來考慮,則可以說對大小為4像素的成分施加限制是有效的。
<實施例7>
圖24、圖43以及圖44,分別是本發(fā)明的實施例7的編碼方法處理流程圖、編碼裝置的主要部分結(jié)構(gòu)圖以及解碼裝置的主要部分結(jié)構(gòu)圖。
本實施例,編碼裝置(圖43)、解碼裝置(圖44)的移位值選擇部124如圖24的處理流程圖所示那樣,在塊大小為8×4(縱×橫)時將水平成分設(shè)為整數(shù)像素精度(mv_shift=2)將垂直成分設(shè)為1/4像素精度(mv_shift=0),在塊大小為4×8(縱×橫)時將水平成分設(shè)為1/4像素精度(mv_shift=0)將垂直成分設(shè)為整數(shù)像素精度(mv_shift=2),在塊大小為4×4(縱×橫)時將水平·垂直成分都設(shè)為整數(shù)像素精度(mv_shift=2)。此外,從預(yù)測性能的觀點出發(fā),也可以替換8×4和4×8方式的水平·垂直成分的處理。這起因于大小越小的成分精度高的預(yù)測方法越有效這樣的概念。是適用哪個方法,則根據(jù)存儲器存取限制的必要性、編碼性能、位速率等應(yīng)用來進行決定。
<實施例8>
圖20、圖47以及圖48,分別是本發(fā)明的實施例8的編碼方法處理流程圖、編碼裝置的主要部分結(jié)構(gòu)圖以及解碼裝置的主要部分結(jié)構(gòu)圖。本實施例是在實施例7中,在輸入圖像為隔行信號,宏塊為幀構(gòu)造的情況下,將運動矢量的垂直成分限制成偶數(shù)像素精度的方法。
圖17表示以幀構(gòu)造對隔行信號進行編碼/解碼的情況下的宏塊。圖上的實線意味著奇數(shù)場(top field),虛線意味著偶數(shù)場(bottomfield)。由圖17可知奇數(shù)值的運動矢量是,從參數(shù)圖像上的偶數(shù)場生成奇數(shù)場上的預(yù)測值,從參數(shù)圖像上的奇數(shù)場生成偶數(shù)場上的預(yù)測值。在隔行信號中,由于奇數(shù)場和偶數(shù)場顯示時刻不同,故奇數(shù)值的垂直成分矢量,實際上不產(chǎn)生。
因此,在本實施例中,對輸入圖像為隔行信號,宏塊為幀構(gòu)造的情況,將運動矢量的垂直成分限制成偶數(shù)像素精度。在編碼/解碼裝置中,設(shè)對垂直成分進行編碼/解碼時的mv_shift為3(圖20的處理803、814),設(shè)對水平成分進行編碼/解碼時的mv_shift為0(圖20的處理813)。即使在此隔行信號的幀構(gòu)造情況下,也可以如圖21和圖22的流程圖所示那樣,與實施例7的方法進行組合,僅對8×4、4×8以及4×4像素大小的塊(圖21的處理801),將運動矢量的垂直成分限制成整數(shù)像素。進而,作為隔行信號的編碼方式,有對每個宏塊切換幀構(gòu)造、場構(gòu)造以及幀構(gòu)造和場構(gòu)造的適應(yīng)方式,也可以依照該方法來改變運動矢量的編碼精度的選定方法。例如,在處理隔行信號和漸進信號的編碼規(guī)格中,有幀構(gòu)造的編碼方式不管信號掃描如何都相同的情況。在此情況下,也可以是在幀構(gòu)造以及場構(gòu)造中,對大小較小的塊,將垂直方向的運動矢量的編碼精度限定成整數(shù)像素精度進行編碼/解碼(圖20和圖21以及圖22的處理812),在對每個宏塊切換幀構(gòu)造和場構(gòu)造的適應(yīng)方式中,對大小較小的塊,在幀構(gòu)造中將垂直方向的運動矢量的編碼精度限定成偶數(shù)像素精度(圖20和圖21的處理814),在場構(gòu)造中限定成整數(shù)像素精度進行編碼/解碼(圖20和圖21的處理812)這樣的方法。此外,這時也可以是在幀構(gòu)造中不管塊的大小如何都將垂直方向的運動矢量的編碼精度限定成偶數(shù)像素精度(圖22的處理814),在場構(gòu)造中對大小較小的塊限定成整數(shù)像素精度進行編碼/解碼(圖22的處理801和處理812)這樣的方法。
在實施例7和8的存儲器存取范圍降低方式中,不需要mv_shift值的編碼/解碼處理。從而,就不需要圖1、圖2中的MVD Prediction13和圖11、圖12中的mv_shift。另外,在圖13中就不需要將mv_shift值從運動補償器211傳給多路化器206的處理。進而,在圖14中就不需要將mv_shift值從代碼譯解器501傳給MV預(yù)測器508的處理。mv_shift值按照預(yù)測方式由MV預(yù)測器508來進行決定。
此外,本實施例8的存儲器存取范圍降低方式是,使用對編碼運動矢量和預(yù)測編碼運動矢量的精度進行切換的手段“依照塊大小將運動矢量的編碼精度限定成整數(shù)像素”,“將運動矢量的垂直成分的編碼精度限定成整數(shù)像素或者偶數(shù)像素”,關(guān)于運動補償?shù)木?、準備的運動矢量編碼精度的種類以及切換運動矢量的編碼精度的塊大小,并不限定于上述實施例。另外,在通過將運動矢量的精度限定成1/2像素精度使存儲器存取范圍降低的運動補償方式中,不是將運動矢量限定成整數(shù)像素精度而是限定成1/2像素精度的方法也能夠用本發(fā)明實現(xiàn)。
本發(fā)明在傳送、存儲、顯示運動圖像的裝置、系統(tǒng)中,需要將圖像信息編碼成更少的代碼量的數(shù)字信號的技術(shù)的產(chǎn)業(yè)上的領(lǐng)域中得以利用。
權(quán)利要求
1.一種運動圖像的編碼方法,具有如下步驟,將圖像分割成多個編碼塊,通過從鄰接塊的運動矢量來預(yù)測編碼塊的運動矢量,其中將該鄰接塊的運動矢量作為預(yù)測運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼,其中通過在該鄰接塊的運動矢量加上差分運動矢量來作為編碼塊的運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種差分運動矢量的精度,對每個編碼塊選定差分運動矢量的精度,并對所選定的精度的信息以及該精度的差分運動矢量進行編碼。
2.根據(jù)權(quán)利要求1所述的運動圖像的編碼方法,其特征在于還具有如下步驟,準備多個塊類型作為編碼塊的種類,并選定差分運動矢量的精度和編碼塊內(nèi)的運動矢量數(shù)以及對應(yīng)于它們的組合的塊類型,其中塊類型包含表示將差分運動矢量的精度作為附加信息進行編碼還是規(guī)定成固定的精度的識別信息、并且在該多個塊類型下應(yīng)編碼的運動矢量的數(shù)目不相同;在編碼塊的塊類型表示將差分運動矢量的精度作為附加信息進行編碼的情況下,對塊類型和所選定的精度的信息以及該精度的差分運動矢量進行編碼;在編碼塊的塊類型表示以規(guī)定的精度對差分運動矢量進行編碼的情況下,對塊類型和規(guī)定精度的差分運動矢量進行編碼。
3.根據(jù)權(quán)利要求1所述的運動圖像的編碼方法,其特征在于還具有如下步驟,準備在塊內(nèi)應(yīng)編碼的運動矢量的數(shù)目不同的多種小塊形狀,決定是否將上述差分運動矢量的精度、小塊形狀種類以及上述差分運動矢量的精度作為附加信息來進行編碼,對每個塊編碼并輸出依照上述決定唯一地確定的識別信息。
4.根據(jù)權(quán)利要求1所述的運動圖像的編碼方法,其特征在于還具有如下步驟,準備在塊內(nèi)應(yīng)編碼的運動矢量的數(shù)目不同的多種小塊形狀,對于各上述多種小塊形狀,規(guī)定將差分運動矢量精度用缺省值進行固定或者設(shè)為可變值,并決定是否將上述差分運動矢量的精度、小塊形狀種類以及差分運動矢量的精度作為附加信息來進行編碼;以及對上述缺省值和依照上述決定唯一地確定的識別信息進行編碼,并將上述編碼后的識別信息包含在編碼數(shù)據(jù)中進行輸出。
5.一種運動圖像的編碼方法,具有如下步驟,將圖像分割成多個編碼塊,通過從鄰接塊的運動矢量來預(yù)測編碼塊的運動矢量,其中將該鄰接塊的運動矢量作為預(yù)測運動矢量,以塊為單位對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼,其中通過在該鄰接塊的運動矢量加上差分運動矢量來作為編碼塊的運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種運動矢量的精度,對每個編碼塊選定運動矢量的精度,并對上述所選定的精度的信息、以及由修正成上述所選定的精度的預(yù)測運動矢量和所選定的精度的運動矢量計算出的差分運動矢量進行編碼。
6.根據(jù)權(quán)利要求5所述的運動圖像的編碼方法,其特征在于還具有如下步驟,準備多個塊類型作為編碼塊的種類,并選定運動矢量的精度和編碼塊內(nèi)的運動矢量數(shù)以及對應(yīng)于它們的組合的塊類型的步驟,其中塊類型包含表示將運動矢量的精度作為附加信息進行編碼或者規(guī)定成固定的精度的識別信息、并且在該多個塊類型下應(yīng)編碼的運動矢量的數(shù)目不相同;在塊類型表示將運動矢量的精度作為附加信息進行編碼的情況下,對塊類型、所選定的精度的信息、以及由修正成所選定的精度的預(yù)測運動矢量和所選定的精度的運動矢量計算出的差分運動矢量進行編碼;在塊類型表示以規(guī)定的精度對運動矢量進行編碼的情況下,對塊類型、以及由修正成規(guī)定精度的預(yù)測運動矢量和規(guī)定精度的運動矢量計算出的差分運動矢量進行編碼。
7.根據(jù)權(quán)利要求5所述的運動圖像的編碼方法,其特征在于還具有如下步驟,準備在塊內(nèi)應(yīng)編碼的運動矢量的數(shù)目不同的多種小塊形狀,決定是否將上述運動矢量的精度、小塊形狀種類以及上述運動矢量的精度作為附加信息來進行編碼;對各塊在將運動矢量的精度作為附加信息進行編碼的情況下,對依照上述決定唯一確定的識別信息、所選定的精度的信息以及由修正成所選定的精度的預(yù)測運動矢量和所選定的精度的運動矢量計算出的差分運動矢量進行編碼并輸出;在不將運動矢量的精度作為附加信息進行編碼的情況下,對依照上述決定唯一確定的識別信息、由修正成與該識別信息相應(yīng)的精度的預(yù)測運動矢量和該精度的運動矢量計算出的差分運動矢量進行編碼并輸出。
8.一種運動圖像的解碼方法,具有如下步驟,將圖像分割成多個解碼塊,從鄰接塊的解碼運動矢量來預(yù)測解碼塊的運動矢量,由解碼差分運動矢量和預(yù)測運動矢量計算出解碼運動矢量,其特征在于該方法還具有如下步驟,準備數(shù)種差分運動矢量的精度,對每個解碼塊解碼差分運動矢量的精度信息和該精度的差分運動矢量,在將解碼差分運動矢量的精度修正成與預(yù)測運動矢量相同的精度后,從已進行精度修正的解碼差分運動矢量和預(yù)測運動矢量計算出解碼塊的運動矢量。
9.根據(jù)權(quán)利要求8所述的運動圖像的解碼方法,其特征在于還具有如下步驟,準備多個塊類型作為解碼塊的種類,并將應(yīng)解碼的塊的塊類型進行解碼,其中塊類型包含表示將差分運動矢量的精度作為附加信息進行解碼或者規(guī)定成固定的精度的識別信息、并且在該多個塊類型下應(yīng)解碼的運動矢量的數(shù)目不相同;在解碼塊類型表示將差分運動矢量的精度作為附加信息進行解碼的情況下,對精度的信息以及該精度的差分運動矢量進行解碼;在解碼塊類型表示以規(guī)定的精度對差分運動矢量進行解碼的情況下,對規(guī)定精度的差分運動矢量進行解碼;在將解碼差分運動矢量的精度修正成與預(yù)測運動矢量相同的精度后,從已進行精度修正的解碼差分運動矢量和預(yù)測運動矢量計算出解碼塊的運動矢量。
10.一種運動圖像的解碼方法,具有如下步驟,將圖像分割成多個解碼塊,從鄰接塊的解碼運動矢量來預(yù)測解碼塊的運動矢量,由解碼差分運動矢量和預(yù)測運動矢量計算出解碼運動矢量,其特征在于還具有如下步驟準備數(shù)種運動矢量的精度,對每個解碼塊解碼運動矢量的精度信息和該精度的差分運動矢量,在將預(yù)測運動矢量的精度修正成與解碼精度信息相同的精度后,從解碼差分運動矢量和已進行精度修正的預(yù)測運動矢量計算出解碼塊的運動矢量。
11.根據(jù)權(quán)利要求10所述的運動圖像的解碼方法,其特征在于還具有如下步驟,準備多個塊類型作為解碼塊的種類,并將塊類型進行解碼,其中塊類型包含表示將運動矢量的精度作為附加信息進行解碼或者規(guī)定成固定的精度的識別信息、并且在該多個塊類型下應(yīng)解碼的運動矢量的數(shù)目不相同;在解碼塊類型表示將運動矢量的精度作為附加信息進行解碼的情況下,對精度的信息以及該精度的差分運動矢量進行解碼;在解碼塊類型表示以規(guī)定的精度對運動矢量進行解碼的情況下,對規(guī)定精度的差分運動矢量進行解碼;從解碼差分運動矢量和已進行精度修正的預(yù)測運動矢量計算出解碼塊的運動矢量。
全文摘要
一種運動圖像的運動補償編碼/解碼,在從鄰接位置的運動矢量來預(yù)測編碼塊內(nèi)的運動矢量,對由應(yīng)編碼的運動矢量及其預(yù)測運動矢量計算出的差分運動矢量進行編碼的情況下,對每個塊切換(1)差分運動矢量的編碼精度或者(2)預(yù)測運動矢量和編碼運動矢量的編碼精度來進行編碼。另外,在從通過上述編碼所編碼的差分運動矢量,對運動矢量進行解碼的情況下,通過與編碼相反的處理來進行。
文檔編號H04N7/50GK1856106SQ20061008448
公開日2006年11月1日 申請日期2003年1月24日 優(yōu)先權(quán)日2002年1月24日
發(fā)明者鈴木芳典 申請人:株式會社日立制作所