專利名稱:移動向量解碼方法和移動向量解碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用幀間預(yù)測編碼的移動向量解碼方法和移動向量解碼裝置。
背景技術(shù):
近幾年,迎來了對聲音、圖像和其他數(shù)據(jù)進行綜合處理的多媒體時代,將過去的信息媒體,即報紙、雜志、電視、無線電、電話等的信息向人們傳輸?shù)姆桨?,已作為多媒體的對象提出。一般,所謂多媒體,不僅表示文字,而且將圖形、聲音、尤其是圖像等同時關(guān)聯(lián)起來表示,但為了把上述過去的信息媒體作為多媒體的對象,其必須的條件是用數(shù)字形式來表示這些信息。
但是,若將上述各種信息媒體所具有的信息量,按數(shù)字信息量進行估算,那么,在文字的情況下,相對于每一個字的信息量是1~2字節(jié),在聲音的情況下每一秒的信息量是64千比特(電話質(zhì)量),另外,在動畫的情況下,每一秒需要100兆比特(現(xiàn)行電視接收質(zhì)量)或以上的信息量,在上述信息媒體中將這樣龐大的信息用數(shù)字形式直接進行處理是不現(xiàn)實的。例如,可視電話,利用具有64kb/s~1.5Mb/s的傳輸速度的綜合服務(wù)數(shù)字網(wǎng)絡(luò)(ISDNIntegrated Services Digital Network),已達到了實用化階段,但是將電視攝影機的影像直接用ISDN進行傳輸是不可能的。
在此,必須使用信息壓縮技術(shù),例如在電視電話的情況下,采用了由ITU-T(國際電氣通信協(xié)會.電氣通信標準化部門)進行了國際標準化的H.261或H.263標準的動畫壓縮技術(shù)(例如參照Informationtechnology-Coding of audio-Visual objects-part2Video(ISO/IEC 14496-2),PP.146-148,1999,12.1。)。并且,若按照MPEG-1標準的信息壓縮技術(shù),則也可以把圖像信息和聲音信息一起存儲到通常的音樂用CD(激光唱盤)中。
在此,所謂MPEG(Moving Picture Experts Group)是動態(tài)圖像信號壓縮的國際標準,MPEG-1是把動態(tài)圖像動態(tài)圖像信號壓縮到1.5Mbps,即把電視信號的信息壓縮到約100分之一的標準。此外,根據(jù)以MPEG-1標準為對象的傳輸速度主要限制在約1.5Mbps,在能夠滿足更高圖像質(zhì)量要求的標準MPEG-2中,動態(tài)圖像信號被壓縮到2~15Mbps。目前,由一直在推進MPEG-1、MPEG-2和標準化的工作組(ISO/IECJTC1/SC29/WG11),進一步制定了MPEG-4標準,該標準達到了超過MPEG-1、MPEG-2的壓縮率,并能以物體單位進行編碼、解碼、操作,實現(xiàn)了多媒體時代所需的新功能。在MPEG-4中,最初是以低位傳輸速率的編碼方法的標準化為目的進行的,但現(xiàn)在已擴展成為既包括隔行掃描圖像也包括高位傳輸速率在內(nèi)的更廣泛的通用編碼。
在上述動態(tài)圖像編碼中,利用一般動態(tài)圖像具有的空間方向和時間方向的冗余性,進行信息量的壓縮。在此,采用幀間預(yù)測編碼作為利用時間方向冗余性的方法。在幀間預(yù)測編碼中,在對某一圖像進行編碼時,把在時間上位于前方或后方的圖像作為參照圖像。然后,對來自該參照圖像的移動量(移動向量)進行檢測,并通過從進行了移動補償?shù)膱D像和編碼對象的圖像的差分值,去掉空間方向的冗余度,進行信息量壓縮。
在MPEG-1、MPEG-2、MPEG-4、H.263、H.26L等動態(tài)圖像編碼方式中,不進行幀間預(yù)測編碼,即進行幀內(nèi)編碼的圖像稱為I幀圖像(picture)。在此,幀圖像(picture)表示包括幀(frame)和場(field)兩者的一個編碼的單位。并且,參照一個圖像進行幀間預(yù)測編碼的圖像稱為P幀;參照已處理的2個圖像進行幀間預(yù)測編碼的圖像稱為B幀。
圖1是表示上述動態(tài)圖像編碼方式中的各圖像的預(yù)測關(guān)系的關(guān)系表示圖。
在該圖1中,縱線表示1張圖像,在各圖像的右下角表示圖像類型(I、P、B)。并且,圖1中的箭頭表示位于箭頭終端上的圖像,把位于箭頭始端上的圖像用作參照圖像,進行幀間預(yù)測編碼。例如,從開頭起第2張的B幀,通過將開頭的I幀和從開頭起第4張的P幀作為參照圖像使用,進行編碼。
在MPEG-4和H.26L等動態(tài)圖像編碼方式中,在B幀的編碼中,可以選擇稱作直接方式的編碼方式。
以下利用圖2,詳細說明直接方式中的幀間預(yù)測編碼方法。
圖2是用于說明直接方式中的幀間預(yù)測編碼方法的說明圖。
現(xiàn)假定以直接方式對幀B3的塊C進行編碼。在此情況下,利用在幀B3之前被編碼的參照圖像(在此情況下,是作為后方參照圖像的幀P4)中的、位于和塊C相同位置上的塊X的移動向量MVp。移動向量MVp是塊X已被編碼時用的移動向量,其參照幀P1。對塊C,利用與移動向量MVp平行的移動向量,根據(jù)作為參照圖像的幀P1和幀P4進行雙方向預(yù)測。在此情況下,對塊C進行編碼時所用的移動向量對幀P1為移動向量MVFc,對幀P4為移動向量MVBc。
并且,在MPEG4和H.26L等動態(tài)圖像編碼方式中,在對移動向量進行編碼時,對來自周邊塊的移動向量的預(yù)測值和編碼對象塊的移動向量的差分值,進行編碼。以下簡稱為“預(yù)測值”的情況,表示其為移動向量的預(yù)測值。在多數(shù)情況下,附近的塊的移動向量具有相同的方向和大小,所以,通過對與來自周邊塊的移動向量的預(yù)測值的差分值進行編碼,即可減少移動向量的代碼量。
在此,用圖3詳細說明MPEG-4中的移動向量的編碼方法。
圖3是用于對MPEG-4中的編碼對象塊A的移動向量MV的編碼方法進行說明的說明圖。
在該圖3中的(a)~(d)中,用粗線框表示的塊是16×16像素的宏塊,其中有4個8×8像素的塊。在此,以8×8像素的塊為單位求出移動向量。
如圖3(a)所示,對位于宏塊內(nèi)的左上角的編碼對象塊A,根據(jù)位于其左側(cè)的周邊塊B的移動向量MVb、位于上側(cè)的周邊塊C的移動向量MVc、以及位于右上側(cè)的周邊塊D的移動向量MVd求出的預(yù)測值、和編碼對象塊A的移動向量MV的差分值,被進行編碼。
與此相同,如圖3(b)所示,對位于宏塊內(nèi)的右上角的編碼對象塊A,根據(jù)位于其左側(cè)的周邊塊B的移動向量MVb、位于上側(cè)的周邊塊C的移動向量MVc、以及位于右上側(cè)的周邊塊D的移動向量MVd求出的預(yù)測值、和編碼對象塊A的移動向量MV的差分值,被進行編碼。
如圖3(C)所示,對位于宏塊內(nèi)的左下角的編碼對象塊A,根據(jù)位于其左側(cè)的周邊塊B的移動向量MVb、位于上側(cè)的周邊塊C的移動向量MVc、以及位于右上側(cè)的周邊塊D的移動向量MVd求出的預(yù)測值、和編碼對象塊A的移動向量MV的差分值,被進行編碼。
并且,如圖3(d)所示,對位于宏塊內(nèi)的右下角的編碼對象塊A,根據(jù)位于其左側(cè)的周邊塊B的移動向量MVb、位于左上側(cè)的周邊塊C的移動向量MVc、以及位于上側(cè)的周邊塊D的移動向量MVd求出的預(yù)測值、和編碼對象塊A的移動向量MV的差分值,被進行編碼。在此,預(yù)測值是對3個移動向量MVb、MVc、MVd的每個水平分量、垂直分量分別取中值(中位數(shù))求出。
以下,用圖4詳細說明目前正在策劃制定標準的H.26L中的移動向量的編碼方法。
圖4是用于說明H.26L中的編碼對象塊A的移動向量MV的編碼方法的說明圖。
編碼對象塊A是4×4像素或8×8像素或16×16像素的塊,當對該編碼對象塊A的移動向量進行編碼時,采用包括位于該編碼對象塊A左側(cè)的像素b在內(nèi)的周邊塊B的移動向量、包括位于該編碼對象塊A上側(cè)的像素c在內(nèi)的周邊塊C的移動向量、包括位于該編碼對象塊A右上側(cè)的像素d在內(nèi)的周邊塊D的移動向量。而且,周邊塊B、C、D的大小并不限于圖4的虛線所示的大小。
圖5是表示編碼對象塊A的移動向量MV用這樣的周邊塊B、C、D的移動向量進行編碼的過程的流程圖。
首先,在參照周邊塊B、C、D中,選定與編碼對象塊A參照相同的圖像的周邊塊(S502步驟),判定該選定的周邊塊的數(shù)量(S504步驟)。
然后,如果在S504步驟判定的周邊塊數(shù)為1個,那么,把參照相同圖像的這一個周邊塊的移動向量,作為編碼對象塊A的移動向量MV的預(yù)測值(S506步驟)。
并且,如果在S504步驟判定的周邊塊數(shù)為1個以外,那么,在周邊塊B、C、D中,將與編碼對象塊A參照不同圖像的周邊塊的移動向量,設(shè)定為0(S507步驟)。然后,把周邊塊B、C、D的移動向量的中值,設(shè)定為編碼對象塊A的移動向量MV的預(yù)測值(S508步驟)。
這樣,利用在S506步驟或S508步驟設(shè)定的預(yù)測值,求出該預(yù)測值與編碼對象塊A的移動向量MV的差分值,對該差分值進行編碼(S510步驟)。
如上所述,在MPEG-4和H.26L的移動向量編碼方法中,當對編碼對象塊的移動向量進行編碼時,利用周邊塊的移動向量。
但是,周邊塊中有其移動向量尚未被編碼的情況。例如,該周邊塊用幀內(nèi)編碼進行了處理的情況,或者,對B幀用直接方式進行了處理的情況,或者對P幀用跳躍方式進行了處理的情況。在這些情況下,該周邊塊除了以幀內(nèi)編碼方式被編碼了的情況之外,均用其他塊的移動向量來進行編碼,在其他情況下,周邊塊用根據(jù)移動檢測結(jié)果的自身移動向量,來進行編碼。
因此,上述過去的移動向量編碼方法,在3個周邊塊中沒有如上述基于移動檢測結(jié)果的移動向量,有一個利用其他塊的移動向量進行了編碼的周邊塊的情況下,把該周邊塊的移動向量作為0進行處理;有2個這種周邊塊的情況下,把剩余的一個周邊塊的移動向量作為預(yù)測值使用;有3個的情況下,預(yù)測值設(shè)為0,進行移動向量編碼處理。
但是,在直接方式或跳躍方式中,雖然移動向量信息未進行了編碼,但實際上,進行了與使用了根據(jù)檢測結(jié)果的自身移動向量的情況同等的移動補償處理。所以,在上述過去的方法中,在用直接方式和跳躍方式對周邊塊進行了編碼的情況下,不把這些周邊塊的移動向量作為預(yù)測值的后補使用,所以存在這樣的問題當對移動向量進行編碼時,移動向量的預(yù)測值的預(yù)測能力降低,編碼效率隨之下降。
發(fā)明內(nèi)容
本發(fā)明正是為解決上述問題而提出的,其目的在于提供一種通過提高移動向量的預(yù)測值的預(yù)測能力,來提高解碼效率的移動向量解碼方法和移動向量解碼裝置。
為了實現(xiàn)上述目的,本發(fā)明涉及的移動向量解碼方法,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其包括以下步驟周邊塊確定步驟,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出步驟,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼步驟,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼、進一步還使用前方移動向量和后方移動向量這2個移動向量被解碼的情況下,在上述預(yù)測移動向量導(dǎo)出步驟,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼步驟,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
另外,本發(fā)明的另一種移動向量解碼方法,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其包括以下步驟周邊塊確定步驟,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出步驟,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼步驟,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼,再者,上述其它塊具有前方移動向量和后方移動向量這2個移動向量的情況下,在上述預(yù)測移動向量導(dǎo)出步驟,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼步驟,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
由此,當用根據(jù)周邊塊的移動向量推導(dǎo)出的預(yù)測移動向量,對編碼對象塊的移動向量進行解碼時,能提高上述預(yù)測值的預(yù)測能力,其結(jié)果,能提高移動向量的解碼效率。
本發(fā)明涉及的一種移動向量解碼裝置,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其包括周邊塊確定單元,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出單元,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼單元,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼、進一步還使用前方移動向量和后方移動向量這2個移動向量被解碼的情況下,在上述預(yù)測移動向量導(dǎo)出單元,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼單元,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
本發(fā)明涉及的另一種移動向量解碼裝置,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其包括周邊塊確定單元,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出單元,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼單元,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼,再者,上述其它塊具有前方移動向量和后方移動向量這2個移動向量的情況下,在上述預(yù)測移動向量導(dǎo)出單元,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼單元,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
由此,可對可對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量正確地進行解碼,其實用價值高。
圖1是表示動態(tài)圖像編碼方式中各圖像的預(yù)測關(guān)系的關(guān)系表示圖。
圖2是說明直接方式中幀間預(yù)測方法的說明圖。
圖3是用于說明MPEG-4中編碼對象塊移動向量的編碼方法的說明圖。
圖4是用于說明H.26L中編碼對象塊移動向量的編碼方法的說明圖。
圖5是表示同上編碼過程的流程圖。
圖6是表示本發(fā)明第1實施方式中動態(tài)圖像編碼裝置結(jié)構(gòu)的方框圖。
圖7是表示同上的幀存儲器中圖像的輸入輸出關(guān)系的圖像表示圖。
圖8是表示同上的移動向量編碼部的動作的流程圖。
圖9是表示同上的周邊塊以跳躍方式進行編碼的情況的說明圖。
圖10是用于說明同上的依雙向移動向量的幀間預(yù)測編碼的說明圖。
圖11是用于說明同上的周邊塊以時間性的直接方式進行編碼的情況的說明圖。
圖12是用于說明同上的周邊塊以空間性的直接方式進行編碼的情況的說明圖。
圖13是表示同上的移動向量編碼部的其他動作的流程圖。
圖14是表示本發(fā)明的第2實施方式中動態(tài)圖像解碼裝置結(jié)構(gòu)的方框圖。
圖15是表示同上的移動向量解碼部的動作的流程圖。
圖16是用于說明同上的動態(tài)圖像解碼裝置的輸入輸出關(guān)系的說明圖。
圖17是表示同上的移動向量解碼部的其他動作的流程圖。
圖18是本發(fā)明第3實施方式中的記錄媒體的說明圖。
圖19是表示本發(fā)明第4實施方式中內(nèi)容供給系統(tǒng)的整體結(jié)構(gòu)的方框圖。
圖20是同上的移動電話的正面圖。
圖21是同上的移動電話的方框圖。
圖22是表示同上的數(shù)字廣播用系統(tǒng)的整體結(jié)構(gòu)的方框圖。
具體實施例方式
以下參照附圖,詳細說明本發(fā)明的第1實施方式中的動態(tài)圖像編碼裝置。
圖6是本發(fā)明第1實施方式中的動態(tài)圖像編碼裝置100的方框圖。
該動態(tài)圖像編碼裝置100是通過提高移動向量預(yù)測值的預(yù)測能力,來提高編碼效率的裝置,其具有幀存儲器101、差分運算部102、預(yù)測誤差編碼部103、代碼序列生成部104、預(yù)測誤差解碼部105、加法運算部106、幀存儲器107、移動向量檢測部108、方式選擇部109,編碼控制部110、開關(guān)111~115、移動向量存儲部116和移動向量編碼部117。
幀存儲器101是以圖像單位保存輸入圖像的圖像存儲器,將以圖像單位按時間順序取得的輸入圖像,按照編碼順序改變排列后進行輸出。改變排列是由編碼控制部110進行控制。
圖7的(a)表示輸入到幀存儲器101內(nèi)的圖像的情況。
在該圖7(a)中,縱線表示圖像,在各個圖像的右下角所示的符號中,第1個文字的字母表示圖像類型(I、P或B),第2個文字以后的數(shù)字表示按時間順序的圖像序號。輸入到幀存儲器101內(nèi)的各圖像,按編碼順序來改變排列。按編碼順序進行的改變排列,根據(jù)幀間預(yù)測編碼中的參照關(guān)系來進行,改變排列的是以被作為參照圖像使用的圖像比將該圖像作為參照圖像使用的圖像先進行編碼的方式進行。例如,幀P7~P13的各個圖像的參照關(guān)系如圖7(a)的箭頭所示。在圖7(a)中,箭頭的起點表示被參照的圖像,箭頭的終點表示進行參照的圖像。在此情況下,對圖7(a)的圖像進行改變排列的結(jié)果如圖7(b)所示。
圖7(b)表示如(a)所示輸入的圖像已被改變排列的情況。這樣在幀存儲器101中進行改變排列的各個圖像,以宏塊為單元被讀出。在此,宏塊是水平16×垂直16像素的大小。
差分運算部102,通過開關(guān)111,以宏塊為單位從幀存儲器101中取得圖像數(shù)據(jù),并且,從方式選擇部109中取得移動補償圖像。此外,差分運算部102運算出宏塊單位的圖像數(shù)據(jù)和移動補償圖像的差分,并生成預(yù)測誤差圖像之后進行輸出。
預(yù)測誤差編碼部103,對通過開關(guān)112從幀存儲器101中取得的圖像數(shù)據(jù)、或者由差分運算部102求得的預(yù)測誤差圖像,進行離散余弦變換等頻率變換以及量子化等編碼處理,由此制作編碼數(shù)據(jù)。例如,頻率變換和量子化的處理是以水平8×垂直8像素為單位進行。此外,預(yù)測誤差編碼部103,把編碼數(shù)據(jù)輸出到代碼序列生成部104和預(yù)測誤差編碼部105。
代碼序列生成部104,對來自預(yù)測誤差編碼部103的編碼數(shù)據(jù),進行可變長編碼,變換成輸出用的編碼位流格式,再附加上從移動向量編碼部117輸入的移動向量的信息、從方式選擇部109輸入的編碼方式的信息、以及其他標題信息等,由此來生成代碼序列。
預(yù)測誤差解碼部105,對來自預(yù)測誤差編碼部103的編碼數(shù)據(jù),進行反量子化后,進行反離散余弦變換等反頻率變換,解碼成為預(yù)測誤差圖像。
加法運算部106,把上述移動補償圖像加到作為解碼結(jié)果的預(yù)測誤差圖像上,作為經(jīng)過了編碼和解碼的圖像數(shù)據(jù),輸出表示1幀圖像的解碼圖像。
幀存儲器107是一種圖像存儲器,其以圖像為單位來保存圖像,被存儲的圖像是從加法運算部106輸出的解碼圖像中,在其他圖像編碼時被作為參照圖像使用的圖像。
移動向量檢測部108,把存儲在幀存儲器107內(nèi)的解碼圖像作為參照圖像使用,對編碼對象的宏塊內(nèi)的各塊進行移動向量的檢測。被檢測出的移動向量輸出到方式選擇部109內(nèi)。
方式選擇部109利用由移動向量檢測部108檢測出的移動向量,決定宏塊的編碼方式。在此,編碼方式表示用什么方法對宏塊進行編碼。例如,方式選擇部109在編碼對象圖像是P幀的情況下,從幀內(nèi)編碼、采用移動向量的幀間預(yù)測編碼以及跳躍方式(通過利用根據(jù)其他塊的移動向量求出的移動向量來進行預(yù)測編碼,不對移動向量進行編碼,而且預(yù)測誤差編碼的結(jié)果,系數(shù)值全部成為0,不對系數(shù)值進行編碼的幀間預(yù)測編碼)中選定某一種作為編碼方式。此外,一般用規(guī)定的位量來決定編碼誤差成為最小的編碼方式。
并且,方式選擇部109把已決定的編碼方式輸出到代碼序列生成部104內(nèi),把該編碼方式中使用的移動向量,輸出到移動向量編碼部117內(nèi)。再者,方式選擇部109,當已決定的編碼方式是采用移動向量的幀間預(yù)測編碼時,把該幀間預(yù)測編碼中使用的移動向量和編碼方式,存儲到移動向量存儲部116內(nèi)。
并且,方式選擇部109,根據(jù)已決定的編碼方式以及由移動向量檢測部108檢測出的移動向量,來進行移動被償,生成移動補償圖像,并把該移動補償圖像輸出到差分運算部102和加法運算部106內(nèi)。但是,在選擇了幀內(nèi)編碼的情況下,不輸出移動補償圖像。再者,在由方式選擇部109選擇了幀內(nèi)編碼的情況下,由方式選擇部109來控制兩個開關(guān)111、112,使開關(guān)111與端子a相連接,使開關(guān)112與端子c相連接;在選擇了幀間預(yù)測編碼的情況下,對兩個開關(guān)111、112進行控制,使開關(guān)111與端子b相連接,使開關(guān)112與端子d相連接。此外,上述移動補償以塊為單位(在此設(shè)定為8×8像素的大小)來進行。
編碼控制部110決定用什么類型的圖像(I、P或B幀)來對已輸入的圖像進行編碼,根據(jù)該圖像類型控制各開關(guān)113、114、115。在此,決定圖像類型時,例如一般采用周期性地分配圖像類型的方法。
移動向量存儲部116,從方式選擇部109中取得在幀間預(yù)測編碼中采用的移動向量和編碼方式,并將其存儲起來。
移動向量編碼部117,在由方式選擇部109選擇了采用移動向量的幀間預(yù)測編碼時,利用參照圖3和圖4說明的方法,對編碼對象塊的移動向量進行編碼。也就是說,移動向量編碼部117選定位于編碼對象塊周圍的3個周邊塊,根據(jù)這些周邊塊的移動向量來決定預(yù)測值,對該預(yù)測值和成為編碼對象的現(xiàn)在的塊的移動向量的差分值,進行編碼。
并且,本實施方式中的移動向量的編碼部117,當對編碼對象塊的移動向量進行編碼時,周邊塊利用跳躍方式或直接方式等以及其他塊的移動向量進行編碼的情況下,不將該周邊塊的移動向量跟現(xiàn)有例那樣設(shè)為0,而是將在該周邊塊編碼時根據(jù)上述其他塊的移動向量求出的移動向量,作為該周邊塊的移動向量進行處理。
圖8是表示本發(fā)明中的移動向量編碼部117的一般動作的流程圖。
首先,移動向量編碼部117,選定位于編碼對象塊的周邊的已編碼的3個周邊塊(S100步驟)。
然后,移動向量編碼部117,對所選定的該各周邊塊是利用其他塊的移動向量進行了編碼的周邊塊Ba、還是不用其他塊的移動向量進行了編碼的周邊塊Bb進行判斷(S102步驟)。
其結(jié)果,移動向量編碼部117判斷出在選定的3個周邊塊中是否包括周邊塊Ba(S104步驟)。
當在S104步驟判斷出包括周邊塊Ba在內(nèi)時(S104步驟的“是”),移動向量編碼部117,將為對周邊塊Ba進行編碼而根據(jù)其他塊的移動向量求出的移動向量,作為該周邊塊Ba的移動向量進行處理,按上述方法根據(jù)3個周邊塊的移動向量推導(dǎo)出預(yù)測值(S106步驟)。
另一方面,當在S104步驟判斷為不包括周邊塊Ba時(S104步驟的“否”),移動向量編碼部117,根據(jù)3個周邊塊Bb的各自的移動檢測和方式選擇結(jié)果的移動向量,推導(dǎo)出預(yù)測值(S108步驟)。
并且,移動向量編碼部117,對編碼對象塊的移動向量和在S106、S108步驟推導(dǎo)出的預(yù)測值的差分,進行編碼(S110步驟)。而且,移動向量編碼部117,把這樣編碼的移動向量輸出到代碼序列生成部104中。
在此,以圖7所示的幀P13和幀B11的編碼為例,具體說明上述動態(tài)圖像編碼裝置100的編碼處理。
因為幀P13是P幀,所以,動態(tài)圖像編碼裝置100,在對幀P13進行編碼處理時,進行將另一個圖像作為參照圖像使用的幀間預(yù)測編碼。這時的參照圖像成為幀P10。對該幀P10進一步完成編碼,該幀P10的解碼圖像被存儲到幀存儲器107內(nèi)。
編碼控制部110在P幀的編碼中,對各開關(guān)進行控制,使開關(guān)113、114、115接通。所以,從幀存儲器101讀出的幀P13的宏塊,可由移動向量檢測部108、方式選擇部109和差分運算部102取得。
移動向量檢測部108,將存儲在幀存儲器107內(nèi)的幀P10的解碼圖像作為參照圖像使用,對宏塊內(nèi)的各個塊進行移動向量的檢測,把被檢測出的移動向量輸出到方式選擇部109。
方式選擇部109,用在移動向量檢測部108檢測出的移動向量,決定幀P13的宏塊的編碼方式。也就是說,因為幀P13是P幀,所以,方式選擇部109,如上所述,從幀內(nèi)編碼、采用移動向量的幀間預(yù)測編碼以及跳躍方式(通過利用根據(jù)其他塊的移動向量求出的移動向量來進行移動補償,不對移動向量進行編碼,且預(yù)測誤差編碼的結(jié)果,全部系數(shù)值成為0,不對系數(shù)值進行編碼的幀間預(yù)測編碼)中選定某一種編碼方式。
并且,本實施方式中的移動向量編碼部117,如上所述,當由方式選擇部109選擇了采用移動向量的幀間預(yù)測編碼時,利用參照圖3進行了說明的方法,對幀P13的編碼對象塊的移動向量進行編碼,但在位于該編碼對象塊周邊的周邊塊以跳躍方式編碼了的情況下,不把該周邊塊的移動向量設(shè)為0,而是將為了對該周邊塊進行編碼而根據(jù)其他塊而求出的移動向量,作為該周邊塊的移動向量進行處理。
對在這種周邊塊以跳躍方式進行了編碼的情況下的、其編碼對象塊的移動向量的編碼方法,說明如下。
圖9是用于說明周邊塊C以跳躍方式進行編碼的情況的說明圖。
如該圖9所示,當幀P13的周邊塊C用跳躍方式進行編碼時,求出位于該周邊塊C周圍的、塊E的移動向量Mve、塊F的移動向量MVf、和塊G的移動向量MVg的中值,用表示該中值的移動向量MVcm,來對周邊塊C進行編碼。在此,移動向量的中值,例如可以通過對水平成分和垂直成分分別求出中值而取得。
移動向量編碼部117,當對圖9所示的編碼對象塊A的移動向量進行編碼時,選定位于編碼對象塊A周圍的3個周邊塊B、C、D(塊B、C、D的位置關(guān)系參見圖3、圖4),判斷出各周邊塊B、C、D是否是利用其他塊的移動向量進行了編碼的塊。其結(jié)果,移動向量編碼部117若判斷為只有周邊塊C以跳躍方式進行了編碼,即利用其他塊進行了編碼,則將如上所述為對周邊塊C進行編碼而根據(jù)作為其他塊的塊E、F、G的移動向量求出的中值(移動向量MVcm),作為周邊塊C的移動向量進行處理,求出該移動向量MVcm和周邊塊B、D的各個移動向量的中值,把該中值作為編碼對象塊A的移動向量的預(yù)測值。然后,移動向量編碼部117,對該預(yù)測值與編碼對象塊A的移動向量的差分值進行編碼。
并且,移動向量存儲部116存儲已編碼的塊的編碼方式,根據(jù)該移動向量存儲部116所存儲的編碼方式,移動向量編碼部117判斷各周邊塊B、C、D是否是用其他塊的移動向量進行了編碼的塊。再者,移動向量存儲部116,對于不使用其他塊的移動向量,而使用從參照圖像中檢測出的自身移動向量進行了編碼的塊,存儲該塊的移動向量。也就是說,移動向量存儲部116存儲塊E、F、G的各移動向量MVe、MVf、MVg,當對編碼對象塊A的移動向量進行編碼時,移動向量編碼部117用移動向量存儲部116所存儲的這些移動向量,對周邊塊C求出上述移動向量MVcm。再者,移動向量存儲部116,對于用其他塊的移動向量進行了編碼的塊,也可以預(yù)先存儲為對該塊進行編碼而取中值來求出的移動向量。在該情況下,移動向量存儲部116因為預(yù)先存儲了移動向量MVcm,所以,移動向量編碼部117對編碼對象塊A的移動向量進行編碼時,不需要對周邊塊C求出移動向量MVcm,能夠直接利用移動向量存儲部116預(yù)先存儲的移動向量MVcm作為周邊塊C的移動向量使用。
另一方面,表示幀P13的編碼對象的宏塊與移動補償圖像的差分的預(yù)測誤差圖像,在預(yù)測誤差編碼部103和代碼序列生成部104進行編碼,生成編碼數(shù)據(jù),如上所述被編碼的移動向量的信息,在代碼序列生成部104附加到該編碼數(shù)據(jù)上。但是,對于按跳躍方式進行了編碼的宏塊,宏塊和移動補償圖像的差分為0,移動向量的信息也不附加到編碼數(shù)據(jù)上。
然后,利用同樣的處理方法,對幀P13的其余宏塊進行編碼處理。并且,對幀P13的所有宏塊處理一結(jié)束,則進行幀B11的編碼處理。
因為幀B11是B幀,所以,動態(tài)圖像編碼裝置100當對幀B11進行編碼處理時,進行把其他的2個圖像作為參照圖像使用的幀間預(yù)測編碼。這時的參照圖像,如圖7所示,是位于幀B11前方的幀P10、和位于幀B11后方的幀P13。對這些幀P10、P13,已結(jié)束了編碼,該幀P10、P13的解碼圖像被存儲在幀存儲器107內(nèi)。
編碼控制部110,在B幀的編碼中,對各個開關(guān)進行控制,使開關(guān)113接通,使開關(guān)114,115切斷。所以,從幀存儲器101中讀出的幀B11的宏塊,可由移動向量檢測部108、方式選擇部109和差分運算部102中取得。
移動向量檢測部108,把存儲在幀存儲器107中的幀P10的解碼圖像作為前方參照圖像使用;把幀P13的解碼圖像作為后方參照圖像使用,這樣,對于宏塊內(nèi)的各個塊,對前方移動向量和后方移動向量進行檢測,把檢測出的前方移動向量和后方移動向量輸出到方式選擇部109內(nèi)。
方式選擇部109,用由移動向量檢測部108檢測出的前方移動向量和后方移動向量,決定幀B11的宏塊的編碼方式,也就是說,因為幀B11是B幀,所以,方式選擇部109,例如從幀內(nèi)編碼、采用前方移動向量的幀間預(yù)測編碼、采用后方移動向量的幀間預(yù)測編碼、采用雙向移動向量的幀間預(yù)測編碼、以及直接方式(利用從其他塊的移動向量中求出的移動向量,來進行移動補償,不對移動向量進行編碼的幀間預(yù)測編碼)中選定編碼方式。
然后,本實施方式中的移動向量編碼部117,如上所述,當在方式選擇部109中選擇了采用移動向量的幀間預(yù)測編碼時,利用參照圖3進行了說明的方法,來對幀B13的編碼對象塊的移動向量進行編碼。
具體來說,當在方式選擇部109中選擇了采用雙向移動向量的幀間預(yù)測編碼時,移動向量編碼部117如下對編碼對象塊的移動向量進行編碼。
圖10是用于說明采用雙向移動向量的幀間預(yù)測編碼的說明圖。
移動向量編碼部117,當對編碼對象塊A的移動向量進行編碼時,對前方移動向量MVF和后方移動向量MVB進行編碼。
也就是說,移動向量編碼部117,把周邊塊B、C、D的各前方移動向量MVF1、MVF2、MVF3的中值,作為前方移動向量MVF的預(yù)測值,并對前方移動向量MVF和其預(yù)測值的差分值進行編碼。然后,由移動向量編碼部117把周邊塊B、C、D的各后方移動向量MVB1、MVB2、MVB3的中值,作為后方移動向量MVB的預(yù)測值,并對后方移動向量MVB和其預(yù)測值的差分值進行編碼。在此,移動向量的中值是例如對每個水平成分、垂直成分取中值而求得。
這里,本實施方式的移動向量編碼部117,當對B幀的編碼對象塊的移動向量進行編碼時,在該周邊塊以直接方式進行了編碼的情況下,該周邊塊的移動向量不設(shè)為0,而將為了對該周邊塊進行編碼而根據(jù)其他塊求出的移動向量,作為該周邊塊的移動向量。此外,直接方式中有時間性直接方式和空間性直接方式兩種。
首先,說明周邊塊以時間性直接方式進行編碼的情況下,編碼對象塊的移動向量的編碼方法。
圖11是用于說明周邊塊C以時間性直接方式進行編碼的情況的說明圖。
如該圖11所示,當幀B11的周邊塊C以直接方式進行編碼時,利用近前進行了編碼的后方參照圖像,即幀P13中的、位于和周邊塊C相同位置上的塊X的移動向量MVp。移動向量MVp是在塊X被編碼了的時候所使用的移動向量,它存儲在移動向量存儲部116內(nèi)。該移動向量MVp參照幀P10。對于周邊塊C的編碼,利用與移動向量MVp相平行的移動向量,根據(jù)參照圖像即幀P10和幀P13進行雙向預(yù)測。在此情況下,在對周邊塊C進行編碼時所用的移動向量,對于幀P10是移動向量MVFc,對于幀P13是移動向量MVBc。
在此,若設(shè)作為前方向移動向量的移動向量MVFc的大小為mvf,作為后方向移動向量的移動向量MVBc的大小為mvb,移動向量MVp的大小為mvp,編碼對象的圖像(幀B11)的后方參照圖像(幀P13)、和其后方參照圖像的塊所參照的圖像(幀P10)的時間性距離為TRD,編碼對象的圖像(幀B11)和后方參照圖像的塊所參照的圖像(幀P10)的時間性距離為TRB,那么,mvf、mvb分別由以下所示的(式1)和(式2)來求出。
mvf=mvp×TRB/TRD…………(式1)mvb=(TRB-TRD)×mvp/TRD…………(式2)式中,mvf、mvb分別表示移動向量的水平成分和垂直成分。并且,用正值表示移動向量MVp的方向,用負值表示與移動向量MVp相反的方向。
周邊塊C用這樣求出的移動向量MVFc、MVBc來進行編碼。
移動向量編碼部117,在對圖10所示的編碼對象塊A的移動向量MVF、MVB進行編碼時,選定位于編碼對象塊A周圍的3個周邊塊B、C、D,判斷出各個周邊塊B、C、D是否是用其他的塊的移動向量進行了編碼的塊。其結(jié)果,移動向量編碼部117若判斷出僅周邊塊C用時間性的直接方式進行了編碼,即利用其他塊的移動向量進行了編碼,則如圖11所示,通過將為了對周邊塊C進行編碼而根據(jù)作為其他塊的塊X的移動向量MVp求出的移動向量MVFc、MVBc,作為周邊塊C的移動向量進行處理,求出這些移動向量MVFc、MVBc和周邊塊B、D的各個移動向量的中值,由此推導(dǎo)出編碼對象塊A的移動向量的預(yù)測值。而且,這種預(yù)測值的推導(dǎo)是劃分成前方向和后方向來進行。并且,移動向量編碼部117,對該預(yù)測值和編碼對象塊A的移動向量MVF、MVB的差分值,進行編碼。
并且,移動向量存儲部116存儲已編碼的塊的編碼方式,根據(jù)該移動向量存儲部116所存儲的編碼方式,移動向量編碼部117判斷出周邊塊B、C、D是否是利用其他塊的移動向量進行了編碼的塊。再者,移動向量存儲部116,對于不使用其他塊的移動向量而使用從參照圖像中檢測出的自身移動向量進行了編碼的塊,存儲了該塊的移動向量。也就是說,移動向量編碼部117在對編碼對象塊A的移動向量進行編碼時,對周邊塊B、D,直接利用由移動向量存儲部116存儲的移動向量,但對周邊塊C,則讀出在移動向量存儲部116中存儲了的塊X的移動向量MVp,求出移動向量MVFc、MVBc。而且,移動向量存儲部116,對于用其他塊的移動向量進行了編碼的塊,也可以預(yù)先存儲為對該塊進行編碼而根據(jù)其他塊的移動向量求出來的移動向量。在此情況下,移動向量存儲部116預(yù)先存儲移動向量MVFc、MVBc,所以,移動向量編碼部117在對編碼對象塊A的移動向量進行編碼時,對周邊塊C不需要在讀出塊X的移動向量MVp后利用(式1)和(式2)來求出移動向量MVFc、MVBc,能夠直接利用移動向量存儲部116所存儲的移動向量MVFc、MVBc,作為周邊塊C的移動向量。
以下,說明周邊塊被以空間性的直接方式進行了編碼的情況下的、編碼對象塊的移動向量的編碼方法。
圖12是用于說明周邊塊被以空間性的直接方式進行了編碼的情況的說明圖。
如該圖12所示,在利用空間性的直接方式來對幀B11的周邊塊C進行編碼時,利用移動向量MVFc、MVBc進行編碼,該移動向量MVFc、MVBc是根據(jù)位于周邊塊C周圍的塊E的移動向量MVFe、MVBe、和塊F的移動向量MVFf、MVBf、以及塊G的移動向量MVFg、MVBg,分別在前后方向劃分后,取中值求出來的。
移動向量編碼部117,當對圖10所示的編碼對象塊A的移動向量MVF、MVB進行編碼時,選定位于編碼對象塊A周圍的3個周邊塊B、C、D,判斷出各個周邊塊B、C、D是否是利用其他塊的移動向量進行了編碼的塊。其結(jié)果,移動向量編碼部117若判斷為僅周邊塊C以空間性的直接方式進行了編碼,即利用其他塊的移動向量進行了編碼,則如圖12所示,通過將為了對周邊塊C進行編碼而根據(jù)其他塊即塊E、F、C的移動向量求出的移動向量MVFc、MVBc,作為周邊塊C的移動向量使用,求出這些移動向量和周邊塊B、D的各個移動向量的中值,由此來推導(dǎo)出編碼對象塊A的移動向量的預(yù)測值。此外,移動向量編碼部117,對該預(yù)測值和編碼對象塊A的移動向量MVF、MVB的差分值,進行編碼。
并且,移動向量存儲部116,對于不用其他塊的移動向量而利用從參照圖像中檢測出的自己的移動向量進行了編碼的塊,存儲該塊的移動向量,所以,對各塊E、F、G分別存儲前后方向的2個移動向量;移動向量編碼部117,在對編碼對象塊A的移動向量進行編碼時,用由移動向量存儲部116所存儲的這些移動向量,對周邊塊C求出移動向量MVFc、MVBc。而且,移動向量存儲部116,對于用其他塊的移動向量進行了編碼的塊,也可以預(yù)先存儲為對該塊進行編碼而取中值求出的前后方向的2個移動向量。在此情況下,移動向量存儲部116預(yù)先存儲移動向量MVFc、MVBc,所以,移動向量編碼部117,在對編碼對象塊A的移動向量進行編碼時,不需要對周邊塊C求出移動向量MVFc、MVBc,而能夠直接使用移動向量存儲部116所存儲的移動向量MVFc、MVBc,作為周邊塊C的移動向量。
這樣,在利用上述時間性的直接方式來對周邊塊C進行了編碼時,必須把編碼對象圖像的后方參照圖像(在上述例中為幀P13)的移動向量,存儲到移動向量存儲部116內(nèi),但在以空間性的直接方式對周邊塊C進行了編碼時,可以省略該存儲。
這時,動態(tài)圖像編碼裝置100,在對編碼對象塊的移動向量進行編碼時,在位于其周圍的周邊塊不是以上述的幀間預(yù)測編碼來進行處理,而是以幀內(nèi)編碼來進行了處理的情況下,進行例外的處理。
例如,在3個周邊塊中存在有一個用幀內(nèi)編碼進行了編碼的塊的情況下,動態(tài)圖像編碼裝置100的移動向量編碼部117,把該塊的移動向量設(shè)為0進行處理。并且,在有2個以幀內(nèi)編碼進行了編碼的周邊塊的情況下,移動向量編碼部117,把剩余的1個周邊塊的移動向量,用作編碼對象塊的移動向量的預(yù)測值。再者,在3個周邊塊全部以幀內(nèi)編碼進行了編碼的情況下,移動向量編碼部117將編碼對象塊的移動向量的預(yù)測值設(shè)為0,進行該移動向量的編碼處理。
另一方面,表示幀B11的編碼對象的宏塊和移動補償圖像的差分的預(yù)測誤差圖像,利用預(yù)測誤差編碼部103和代碼序列生成部104進行編碼,生成代碼數(shù)據(jù),按上述方法編碼了的移動向量信息,在代碼序列生成部104中附加到該編碼數(shù)據(jù)上。但是,對于以直接方式編碼了的宏塊,其移動向量信息不附加到編碼數(shù)據(jù)上。
以下,通過同樣的處理,來對幀B11的剩余的宏塊進行編碼處理。并且,對幀B11的全部宏塊一結(jié)束處理,則接著進行幀B12的編碼處理。
如上所述,本發(fā)明的移動向量編碼方法,當對各塊的移動向量進行編碼時,從已編碼的周邊塊的移動向量中推導(dǎo)出預(yù)測值,用該預(yù)測值和編碼對象塊的移動向量來對該移動向量進行編碼。并且,如周邊塊像跳躍方式和直接方式,在用根據(jù)其他塊的移動向量求出的移動向量,來進行編碼的情況下,將在對該周邊塊進行編碼時根據(jù)上述其他塊的移動向量求出的移動向量,作為該周邊塊的移動向量,推導(dǎo)出預(yù)測值。
由此,當用根據(jù)周邊塊的移動向量推導(dǎo)出的預(yù)測值,來對編碼對象塊的移動向量進行編碼時,在該周邊塊利用其他塊的移動向量來進行編碼的情況下,不像現(xiàn)有例那樣把該周邊塊的移動向量設(shè)為0,而是設(shè)為根據(jù)上述其他塊的移動向量求出的移動向量,所以能提高上述預(yù)測值的預(yù)測能力,其結(jié)果,能提高移動向量的編碼效率。
而且,在本實施方式中,說明了宏塊以水平16×垂直16像素為單位,移動補償以水平8×垂直8像素的塊為單位,塊預(yù)測誤差圖像的編碼以水平8×垂直8像素為單位進行處理的情況,但這些單位也可以是別的像素數(shù)。
并且,在本實施方式中,說明了將根據(jù)已編碼的3個周邊塊的移動向量求出來的中值,作為移動向量編碼時的預(yù)測值使用的情況,但該周邊塊數(shù)也可以是3以外的其他數(shù),預(yù)測值的決定方法也可以是其他方法。例如,也可以是把左鄰的塊的移動向量作為預(yù)測值使用的方法,也可以是不使用中值而使用平均值的方法等。
并且,在本實施方式中,利用圖3、圖4,說明了移動向量編碼中的周邊塊的位置,但這也可以是其他位置。
并且,在本實施方式中,以跳躍方式和時間性的直接方式及空間性的直接方式為例,說明了用其他塊的移動向量來對編碼對象塊進行編碼的方法,但也可以是其他方法。
再者,在本實施方式中,說明了通過取得編碼對象塊的移動向量和根據(jù)周邊塊的移動向量得到的預(yù)測值的差分,來進行移動向量編碼的情況,但它也可以利用差分以外的方法來進行移動向量編碼。
并且,在本實施方式中,說明了在以空間性的直接方式來對周邊塊進行編碼的情況下,求得位于該周邊塊周圍的已編碼的3個塊的移動向量的中值,把該中值作為周邊塊的移動向量使用的情況,但該塊數(shù)也可以是3個以外的其他數(shù),移動向量的決定方法也可以是其他方法。例如,也可以是把左鄰的塊的移動向量作為周邊塊的移動向量使用的方法,也可以是不使用中值而使用平均值的方法。
并且,在本實施方式中,當以空間性的直接方式來對B幀的塊進行編碼時,對該塊求出了前后方向的2個移動向量,但也可以求出前方向或后方向的一個方向的2個移動向量。在此情況下,B幀參照相對該圖像位于前方或后方的一個方向上的2張圖像。
再者,在本實施方式中,說明了在P幀的編碼中,參照預(yù)先規(guī)定的一個圖像(例如在幀P13的編碼中參照幀P10);在B幀的編碼中參照預(yù)先規(guī)定的2個圖像(例如在幀B11的編碼中參照幀P10和P13),進行編碼的情況。但是,也可以從多個圖像中選擇由宏塊和每個塊參照的圖像進行編碼。在這種情況下,為了生成移動向量的預(yù)測值,可以按照圖13所示來進行。
圖13是表示下述動作的流程圖,即在對每個塊選擇出參照圖像的情況下,移動向量編碼部117推導(dǎo)出編碼對象塊的移動向量的預(yù)測值,對其移動向量進行編碼。
首先,移動向量編碼部117選定位于編碼對象塊周圍的已編碼的3個周邊塊(S300步驟)。
然后,移動向量編碼部117判斷該被選定的周邊塊分別是用其他塊的移動向量進行了編碼的周邊塊Ba,還是不用其他塊的移動向量進行了編碼的周邊塊Bb(S302步驟)。
在此,移動向量編碼部117,對周邊塊Ba,取得在其編碼中使用的移動向量、以及表示該周邊塊Ba參照哪個參照圖像的信息,把在該編碼中使用的移動向量作為周邊塊Ba的移動向量使用;對周邊塊Bb,取得該周邊塊Bb的移動向量、以及表示該周邊塊Bb參照哪個參照圖像的信息(S304步驟)。
然后,移動向量編碼部117,根據(jù)在S304步驟取得的信息,在3個周邊塊中選定參照與編碼對象塊相同的圖像的周邊塊(S306步驟),判斷該被選定的周邊塊的數(shù)量(S308)。
并且,如果移動向量編碼部117,若在S308步驟判斷出的周邊塊的數(shù)量為1個,那么,把參照相同圖像的這一個周邊塊的移動向量,作為編碼對象塊的移動向量MV的預(yù)測值(S310步驟)。
再者,如果在S308步驟判斷的周邊塊的數(shù)量為1個以外,那么,移動向量編碼部117,把3個周邊塊中參照與編碼對象塊不同的圖像的周邊塊的移動向量,設(shè)為0(S312步驟),把3個周邊塊的移動向量的中值,作為編碼對象塊的移動向量MV的預(yù)測值(S314步驟)。
移動向量編碼部117,如上所述,用在S310步驟或S314步驟中推導(dǎo)出的預(yù)測值,求出該預(yù)測值和編碼對象塊的移動向量MV的差分值,對該差分值進行編碼(S316步驟)。
并且,如本實施方式,在將空間上相鄰接的塊的移動向量作為預(yù)測值,對移動向量進行編碼的情況下,為了對移動向量進行編碼而保存在移動向量存儲部116內(nèi)的移動向量的數(shù)量,在移動向量存儲部116內(nèi)以跳躍方式和直接方式保存實際用于移動補償?shù)囊苿酉蛄康那闆r下,可以保存1個宏塊行(高度為1個宏塊,橫寬等于畫面橫寬的區(qū)域)的量的塊的移動向量。這是因為,在移動向量存儲部116內(nèi),以跳躍方式和直接方式保存實際用于移動補償?shù)囊苿酉蛄康那闆r下,在本實施方式中使用以圖3、和圖4說明的周邊塊的場合,在移動向量編碼時作為周邊塊被參照的塊為以現(xiàn)在的宏塊為起點,是過去一個宏塊片的量。
以下參照附圖,詳細說明本發(fā)明第2實施方式中的動態(tài)圖像解碼裝置700。
圖14是本發(fā)明第2實施方式中的動態(tài)圖像解碼裝置700的方框圖。
在該圖14內(nèi)所示的動態(tài)圖像解碼裝置700是對動態(tài)圖像進行解碼的裝置,該動態(tài)圖像是用第1實施方式的動態(tài)圖像編碼裝置100進行了編碼的動態(tài)圖像圖像,該動態(tài)圖像解碼裝置700具有代碼序列解析部701、預(yù)測誤差解碼部702、方式解碼部703、移動補償解碼部705、移動向量存儲部706、幀存儲器707、加法運算部708、開關(guān)709、710和移動向量解碼部711。
代碼序列解析部701從被輸入的代碼序列中抽出各種數(shù)據(jù)。這里所說的各種數(shù)據(jù)是指編碼方式的信息和有關(guān)移動向量的信息等。被抽出的編碼方式的信息輸出到方式解碼部703內(nèi)。并且,被抽出的移動向量的信息被輸出到移動向量解碼部711內(nèi)。并且,被抽出的預(yù)測誤差編碼數(shù)據(jù)被輸出到預(yù)測誤差解碼部702內(nèi)。
預(yù)測誤差解碼部702對被輸入的預(yù)測誤差編碼數(shù)據(jù)進行解碼,生成預(yù)測誤差圖像。生成的預(yù)測誤差圖像輸出到開關(guān)709內(nèi)。然后,當開關(guān)709連接到端子b上時,預(yù)測誤差圖像輸出到加法運算部708內(nèi)。
方式解碼部703參照從代碼序列中抽出的編碼方式的信息,對開關(guān)709和開關(guān)710進行控制。在編碼方式是幀內(nèi)編碼的情況下,控制該開關(guān)709連接到端子a上,并且使開關(guān)710連接到端子c上;在編碼方式是圖像間編碼的情況下,將控制該開關(guān)709連接到端子b上,并使開關(guān)710連接到端子d上。另外,方式解碼部703把編碼方式信息輸出到移動向量解碼部711。
移動向量解碼部711,對從代碼序列解析部701輸出的移動向量信息,進行解碼處理。
也就是說,移動向量解碼部711,在編碼方式信息表示采用移動向量的幀間預(yù)測編碼的情況下,和利用圖3、圖4說明的一樣,對解碼對象塊,使用已解碼的周邊塊的移動向量來推導(dǎo)出預(yù)測值。例如,如圖3所示,移動向量解碼部711對解碼對象塊A,根據(jù)周邊塊B的移動向量MVb、周邊塊C的移動向量MVc和周邊塊D的移動向量MVd,來推導(dǎo)出預(yù)測值。在此,求得預(yù)測值是對3個已編碼的移動向量MVb、MVc、MVd的水平成分、垂直成分,分別取其中值(中位數(shù))來求出。并且,移動向量解碼部711,對從代碼序列解析部701輸出的作為移動向量信息的差分值,加上其預(yù)測值,決定解碼對象塊A的移動向量MV。并且,移動向量解碼部711,在編碼方式信息為例如上述跳躍方式或時間性的直接方式或空間性的直接方式中的某一種的情況下,僅利用已編碼的周邊塊的移動向量來決定移動向量。
圖15是表示本實施方式中的移動向量解碼部711的一般動作的流程圖。
首先,移動向量解碼部711,選定出位于解碼對象塊周圍的已編碼的3個周邊塊(S200步驟)。
并且,移動向量解碼部711,判斷出該被選定的各個周邊塊是利用其他移動向量進行編碼的周邊塊Ba,還是不利用其他移動向量進行編碼的周邊塊Bb(S202步驟)。
其結(jié)果,移動向量解碼部711判斷出在被選定的3個周邊塊中是否包括周邊塊Ba(S204步驟)。
當在S204步驟判斷為包括周邊塊Ba時(S204步驟的是),移動向量解碼部711,將為了對周邊塊Ba進行解碼而根據(jù)其他塊的移動向量求出的移動向量,作為該周邊塊Bb的移動向量使用,如上所述根據(jù)3個周邊塊的移動向量推導(dǎo)出預(yù)測值(S206步驟)。
另一方面,當在S206步驟判斷為不包括周邊塊Ba時(S204步驟的“否”),移動向量解碼部711根據(jù)3個周邊塊Bb的基于各個檢測結(jié)果的移動向量,推導(dǎo)出預(yù)測值(S208步驟)。
然后,移動向量解碼部711,通過在從代碼序列解析部701輸出的移動向量信息差分值上,加上由S206、S208步驟推導(dǎo)出的預(yù)測值,由此,對解碼對象塊的被編碼了的移動向量進行解碼(S210步驟)。并且,移動向量解碼部711,把這樣解碼的移動向量輸出到移動補償解碼部705內(nèi)。
移動向量存儲部706,將由移動向量解碼部711解碼的移動向量和由方式解碼部703取得的編碼方式,進行存儲。
移動補償解碼部705,根據(jù)由移動向量解碼部711解碼的移動向量,從幀存儲器707中對每個宏塊取得移動補償圖像。然后,移動補償解碼部705把該移動補償圖像,輸出到加法運算部708內(nèi)。
加法運算部708對被輸入的預(yù)測誤差圖像和移動補償圖像進行加法運算,生成解碼圖像,把該生成的解碼圖像輸出到幀存儲器707內(nèi)。
并且,幀存儲器707對由加法運算部708生成的解碼圖像的每一幀進行保存。
關(guān)于這種動態(tài)圖像解碼裝置700的動作,首先從一般的概要動作開始進行說明。
圖16是用于說明動態(tài)圖像解碼裝置700的輸入輸出關(guān)系的說明圖。
動態(tài)圖像解碼裝置700如該圖16(a)所示,按其輸出順序依次取得第1實施方式的從動態(tài)圖像編碼裝置100中輸出的代碼序列,對包括在該代碼序列中的圖像依次進行解碼。然后,動態(tài)圖像解碼裝置700,如圖16中的(b)所示,按顯示順序?qū)σ呀獯a的圖像依次更改排列進行輸出。
在此,以圖16所示的幀P13和幀B11的解碼為例,具體說明上述動態(tài)圖像解碼裝置700的解碼處理。
首先,動態(tài)圖像解碼裝置700的代碼序列解析部701,取得幀P13的代碼序列,之后從該代碼序列中,抽出方式選擇信息和移動向量信息以及預(yù)測誤差編碼數(shù)據(jù)。
方式解碼部703,參照從幀P13的代碼序列中抽出的方式選擇信息,對開關(guān)709和710進行控制。
以下說明方式選擇信息表示幀間預(yù)測編碼的情況。
移動向量解碼部711,根據(jù)從方式解碼部703來的表示幀間預(yù)測編碼的方式選擇信息,對從幀P13的代碼序列中抽出的移動向量信息,對其每個塊進行上述解碼處理。
在此,移動向量解碼部711,在對幀P13的解碼對象塊的移動向量進行解碼時,選定出位于該解碼對象塊周圍的已解碼的3個周邊塊,判斷出這些周邊塊是否用其他塊的移動向量進行了編碼,其結(jié)果,若某一個周邊塊是用其他移動向量進行了編碼的塊,即用跳躍方式進行了編碼的塊,在這種情況下,則和第1實施方式的移動向量編碼部117一樣,將為了對該周邊塊進行解碼而根據(jù)其他塊的移動向量求出的移動向量,作為該周邊塊的移動向量使用。也就是說,移動向量解碼部711根據(jù)位于該周邊塊周圍的已解碼了的3個塊的移動向量來求出中值,將其作為該周邊塊的移動向量使用。
此外,移動向量存儲部706存儲從方式解碼部703來的方式選擇信息,根據(jù)該移動向量存儲部706所存儲的方式選擇信息,移動向量解碼部711判斷各個周邊塊是否是用其他塊的移動向量進行了編碼的塊。再者,移動向量存儲部706存儲用于周邊塊的解碼的其他塊的移動向量。也即,移動向量存儲部706對以跳躍方式編碼了的、位于周邊塊周圍的3個塊的各自的移動向量進行存儲;移動向量解碼部711,當對解碼對象塊的移動向量進行解碼時,對該周邊塊,根據(jù)移動向量存儲部706所存儲的上述3個塊的移動向量求出中值。而且,移動向量存儲部706,對用其他塊的移動向量進行了編碼的塊,將為了對該塊進行解碼而取中值求出來的移動向量,預(yù)先進行存儲也可以。在此情況下,移動向量解碼部711,在對解碼對象塊的移動向量進行解碼時,對以跳躍方式編碼了的周邊塊不需要求出移動向量,能夠直接將移動向量存儲部706所存儲的移動向量,作為該周邊塊的移動向量使用。
另一方面,對應(yīng)于幀P13的解碼對象的宏塊的預(yù)測誤差編碼數(shù)據(jù),在預(yù)測誤差解碼部702被解碼,生成預(yù)測誤差圖像,開關(guān)709、710與加法運算部708連接,因此,根據(jù)在移動向量解碼部711被解碼的移動向量生成的移動補償圖像,加到該預(yù)測誤差圖像上后,輸出到幀存儲器707內(nèi)。
并且,移動向量解碼部711在對P幀進行移動向量解碼時,為了對后面的圖像和塊進行解碼,把該移動向量和從方式解碼部703得到的編碼方式存儲到移動向量存儲部706中。
以后,利用同樣的處理,幀P13的剩余宏塊依次進行解碼。之后,一旦幀P13的宏塊全部被解碼,則進行幀B11的解碼。
首先,動態(tài)圖像解碼裝置700的代碼序列解析部701,取得幀B11的代碼序列,從該代碼序列中抽出方式選擇信息和移動向量信息以及預(yù)測誤差編碼數(shù)據(jù)。
方式解碼部703參照從幀B11的代碼序列中抽出的方式選擇信息,對開關(guān)709和710進行控制。
以下,說明方式選擇信息表示幀間預(yù)測編碼的情況。
移動向量解碼部711,根據(jù)從方式解碼部703來的表示幀間預(yù)測編碼的方式選擇信息,對從幀B11的代碼序列中抽出的移動向量的信息,對其每個塊進行上述解碼處理。
在此,移動向量解碼部711,在對幀B11的解碼對象塊的移動向量進行解碼時,選定出位于該解碼對象塊周圍的已解碼的3個周邊塊,判斷出這些周邊塊是否用其他塊的移動向量進行了編碼,其結(jié)果,如果某一周邊塊是用其他塊的移動向量進行了編碼的塊,即為以時間性的直接方式或空間性的直接方式進行了編碼的塊,那么,和第1實施方式的移動向量編碼部117一樣,將為了對該周邊塊進行解碼而用其他塊的移動向量求出的移動向量,作為該周邊塊的移動向量使用。
具體來說,移動向量解碼部711,在周邊塊以時間性的直接方式進行了編碼的情況下,從移動向量存儲部706中讀出在之前解碼了的參照圖像(幀P13)中的、位于與以直接方式編碼了的周邊塊相同的位置上的塊的移動向量。例如圖11所示,假定周邊塊C以時間性的直接方式進行了編碼,那么移動向量解碼部711從移動向量存儲部706中讀出幀P13的塊X的解碼后的移動向量。并且,用(式1)和(式2),來求出用于對周邊塊C進行編碼的前方移動向量MVFc和后方移動向量MVBc,把該移動向量MVFc、MVBc用作周邊塊C的移動向量。
而且,在上述情況下,移動向量解碼部711從移動向量存儲部706讀出幀P13中的、位于與以直接方式編碼了的周邊塊C相同的位置上的塊X的移動向量MVp,但是也以由移動向量存儲部706,對用其他塊的移動向量進行了編碼的塊,預(yù)先存儲為了對該塊進行解碼而根據(jù)其他塊的移動向量求出的移動向量。在此情況下,移動向量存儲部706預(yù)先存儲移動向量MVFc、MVBc,所以,移動向量解碼部711在對編碼對象塊A的移動向量進行編碼時,不必對周邊塊C讀出塊X的移動向量MVp,用(式1)和(式2)求出移動向量MVFc、MVBc,能夠直接將移動向量存儲部706所存儲的移動向量的MVFc、MVBc作為周邊塊C的移動向量使用。
另一方面,在周邊塊以空間性的直接方式進行了編碼的情況下,移動向量解碼部711,把用位于該周邊塊周圍的其他塊的移動向量求出來的移動向量,作為該塊的移動向量使用。例如,在圖12所示的狀況下,移動向量解碼部711,對以空間性的直接方式進行了編碼的周邊塊C,根據(jù)位于其周圍的已編碼的3個塊E、F、G的移動向量求出中值,把該中值所表示的前方移動向量MVFc和后方移動向量MVBc,作為該周邊塊C的移動向量使用。
并且,移動向量存儲部706,對不用其他塊的移動向量進行了編碼的塊,存儲在該塊的解碼中所使用的移動向量,所以,在圖12所示的狀況下,存儲以空間性的直接方式編碼了的周邊塊C周圍的3個塊E、F、G的各個移動向量;移動向量解碼部711在對解碼對象塊A的移動向量進行解碼時,對該周邊塊C,根據(jù)移動向量存儲部706所存儲的上述3個塊E、F、G的移動向量,求出移動向量MVFc、MVBc。而且,也可以由移動向量存儲部706,對于使用其他塊的移動向量編碼了的塊,將為了對該塊進行解碼而取中值求出來的移動向量,預(yù)先進行存儲。在此情況下,在圖12所示的狀況下,移動向量存儲部706預(yù)先存儲移動向量MVFc、MVBc;移動向量解碼部711,在對編碼對象塊A的移動向量進行解碼時,對以空間性的直接方式編碼了的周邊塊C,不必求出移動向量,而能夠直接將移動向量存儲部706所存儲的移動向量MVFc、MVBc,作為該周邊塊C的移動向量使用。
在此,動態(tài)圖像解碼裝置700,在對解碼對象塊的移動向量進行解碼時,位于其周圍的已解碼了的周邊塊不是以上述幀間預(yù)測編碼進行處理,而是以幀內(nèi)編碼進行了處理的情況下,進行例外的處理。
例如,在3個周邊塊中有1個以幀內(nèi)編碼進行了編碼的周邊塊的情況下,動態(tài)圖像解碼裝置700的移動向量解碼部711,將該周邊塊的移動向量設(shè)為0進行處理。并且,在有2個以幀內(nèi)編碼方法進行了編碼的周邊塊的情況下,移動向量解碼部711把剩余的一個周邊塊的移動向量,作為解碼對象塊的移動向量的預(yù)測值使用。再者,在3個周邊塊全都是以幀內(nèi)編碼進行了編碼的情況下,移動向量解碼部711把編碼對象塊的移動向量的預(yù)測值設(shè)為0,對該移動向量進行解碼處理。
另一方面,幀B11的解碼對象的宏塊所對應(yīng)的預(yù)測誤差編碼數(shù)據(jù)在預(yù)測誤差解碼部702被解碼,生成預(yù)測誤差圖像,開關(guān)709、710連接在加法運算部708上,所以,根據(jù)在移動向量解碼部711被解碼的移動向量所生成的移動補償圖像,加到該預(yù)測誤差圖像上后,輸出到幀存儲器707內(nèi)。
之后,通過同樣的處理,幀B11的剩余宏塊依次被進行解碼。并且,一旦幀B11的宏塊的全部被解碼,則進行幀B12的解碼。
如上所述,本發(fā)明的移動向量解碼方法,在對各塊的移動向量進行解碼時,根據(jù)已解碼的周邊塊的移動向量推導(dǎo)出預(yù)測值,并通過使用該預(yù)測值和差分值,對移動向量進行解碼。并且,周邊塊如跳躍方式和直接方式那樣,利用其他塊的移動向量進行編碼的情況下,將為了對該周邊塊進行解碼而根據(jù)其他塊的移動向量求出的移動向量,作為該周邊塊的移動向量使用,推導(dǎo)出預(yù)測值。
這樣,能對用第1實施方式的方法進行了編碼的移動向量,正確地進行解碼。
而且,在本實施方式中,說明了將根據(jù)已解碼的3個周邊塊的移動向量求出來的中值,作為移動向量解碼時的預(yù)測值使用的情況,但該周邊塊數(shù)也可以是3以外的其他數(shù),預(yù)測值的決定方法也可以是其他方法。例如,也可以是把左鄰塊的移動向量用作預(yù)測值的方法,也可以是不用中值而用平均值的方法等。
并且,在本實施方式中,利用圖3、圖4說明了移動向量解碼中的周邊塊的位置,但這也可以是其他位置。
再者,在本發(fā)明實施方式中,以跳躍方式或時間性的直接方式及空間性的直接方式為例,說明了利用其他塊的移動向量對塊進行編碼的方法,但這也可以是其他方法。
并且,在本實施方式中說明了通過對根據(jù)周邊塊的移動向量取得的預(yù)測值和由代碼序列表示的差分值進行加法運算,對移動向量進行解碼的情況,但也可以利用加法以外的方法對移動向量進行解碼。
再者,在本實施方式中,說明了在以空間性的直接方式對周邊塊進行了編碼的情況下,求出位于該周邊塊周圍的已解碼的3個塊的移動向量的中值,把該中值作為周邊塊的移動向量使用的情況。但該塊數(shù)也可以是3個以外的其他數(shù),移動向量的決定方法也可以是其他方法。例如,也可以是把左鄰塊的移動向量作為周邊塊的移動向量使用的方法,也可以是不用中值而用平均值的方法等。
再者,在本實施方式中,在具有以空間性的直接方式進行了編碼的周邊塊的情況下,對該周邊塊求出了前后方向的2個移動向量,但也可以求出前方向或后方向的一個方向的2個移動向量。在此情況下,解碼對象的B幀,參照相對于該圖像在前方或后方的一個方向上的2張圖像。
并且,在本實施方式中,說明了以下情況在P幀的解碼時,參照預(yù)定的一個圖像(例如在幀P13的解碼中,參照幀P10),在B幀的解碼中,參照預(yù)定的2個圖像(例如在幀B11解碼中參照幀P10和P13),進行解碼。但也可從多個圖像中選擇宏塊或每個塊所參照的圖像,進行解碼。在這種情況下,為生成移動向量的預(yù)測值,可以按圖17所示的方法進行。
圖17是動作流程圖,它表示在對每個塊選擇參照圖像的情況下,由移動向量解碼部711,推導(dǎo)出解碼對象塊的移動向量預(yù)測值,并利用該預(yù)測值來進行解碼的動作。
首先,移動向量解碼部711選定位于解碼對象塊周圍的、已解碼的3個周邊塊(S400步驟)。
并且,移動向量解碼部711判斷該被選定的各周邊塊是用其他塊的移動向量進行了編碼的周邊塊Ba,還是不用其他塊的移動向量進行了編碼的周邊塊Bb(S402步驟)。
在此,移動向量解碼部711對周邊塊Ba,取得在該解碼中使用的移動向量、以及表示該周邊塊Ba參照了哪一個參照圖像的信息,把在該解碼中所使用的移動向量作為周邊塊Ba的移動向量使用;對周邊塊Bb,取得該周邊塊Bb的移動向量、以及表示該周邊塊Bb參照了哪一個參照圖像的信息(S404步驟)。
然后,移動向量解碼部711根據(jù)在S404步驟取得的信息,在3個周邊塊中選定與解碼對象塊參照相同圖像的周邊塊(S406步驟),判斷該被選定的周邊塊的數(shù)量(S408步驟)。
并且,移動向量解碼部711,如果在S408步驟判定的周邊塊的數(shù)為1個,那么把參照相同的圖像的這一個周邊塊的移動向量,作為解碼對象塊的移動向量的預(yù)測值(S410步驟)。
再者,如果在S408步驟判定的周邊塊的數(shù)量為1個以外,那么,移動向量解碼部711,將3個周邊塊中參照與解碼對象塊不同的圖像的周邊塊的移動向量,設(shè)為0(S412步驟),將3個周邊塊的移動向量的中值,作為解碼對象塊的移動向量的預(yù)測值(S414步驟)。
這樣,利用在S410步驟或S414步驟推導(dǎo)出的預(yù)測值,在該預(yù)測值上加上差分值,將其解碼成解碼對象塊的移動向量(S416步驟)。
并且,如本實施方式所示,在把從空間上相鄰接的塊的移動向量作為預(yù)測值使用,對移動向量進行解碼的情況下,為了對移動向量進行解碼而在移動向量存儲部706中保存的移動向量的量,在移動向量存儲部706中按跳躍方式或直接方式保存實際在移動補償中利用了的移動向量的情況下,可以保存1個宏塊行(高度為一個宏塊,橫寬與畫面橫寬相等的區(qū)域)的量的塊移動向量。這是因為,在移動向量存儲部706中,按跳躍方式或直接方式保存實際在移動補償中利用了的移動向量的情況下,在本實施方式中使用以圖3和圖4說明了的周邊塊的場合,對移動向量解碼時作為周邊塊被參照的塊為,以當前的宏塊為起點,是過去1個宏塊片的量。
再者,通過將用于實現(xiàn)上述各實施方式所示的移動向量編碼方法或移動向量解碼方法的程序,記錄到軟盤等記錄媒體上,能夠在獨立的計算機系統(tǒng)中簡單地實施在上述各實施方式中所示的處理。
圖18是有關(guān)存儲程序的記錄媒體的說明圖,該程序用于通過計算機系統(tǒng),來實現(xiàn)第1實施方式和第2實施方式的動態(tài)圖像編碼裝置100和動態(tài)圖像解碼裝置200所執(zhí)行的移動向量編碼方法和移動向量解碼方法。
圖18中的(b)表示從軟盤FD的正面看的外觀、斷面結(jié)構(gòu)和盤主體FD1,圖18中的(a)表示作為記錄媒體主體的盤主體FD1的物理格式例。
盤體FD1安裝在外殼F內(nèi),在盤體FD1的表面上,以同心圓狀從外周向內(nèi)周形成了多個磁軌Tr,各個軌跡在角度方向上分割成16個扇區(qū)Se。所以在存儲上述程序的軟盤FD上,在上述盤體FD1上分割的區(qū)域內(nèi)記錄了作為上述程序的移動向量編碼方法和移動向量解碼方法。
并且,圖18中的(c)表示用于在軟盤FD上記錄和重放上述程序的結(jié)構(gòu)。
在軟盤FD上記錄上述程序的情況下,計算機系統(tǒng)Cs通過軟盤驅(qū)動器FDD來寫入作為上述程序的移動向量編碼方法或移動向量解碼方法。并且,在根據(jù)軟盤FD內(nèi)的程序在計算機系統(tǒng)Cs中構(gòu)筑上述移動向量編碼方法和移動向量解碼方法的情況下,利用軟盤驅(qū)動器FDD從軟盤FD中讀出程序,并將其傳送到計算機系統(tǒng)Cs內(nèi)。
而且,在上述說明中,用軟盤FD作為記錄媒體進行了說明,但同樣也可以使用光盤。并且,記錄媒體并不僅限于此,IC卡,ROM卡等只要是能記錄程序的媒體,同樣可以實施。
再者,在此說明在上述實施方式中所示的移動向量編碼方法和移動向量解碼方法的應(yīng)用例、以及使用所述方法的系統(tǒng)。
圖19是表示實現(xiàn)內(nèi)容發(fā)送服務(wù)的內(nèi)容供給系統(tǒng)ex100的整體結(jié)構(gòu)的方框圖。把通信服務(wù)的提供區(qū)劃分成所需的大小,在各單元內(nèi)分別設(shè)置了作為固定無線電臺的基地站ex107~ex110。
該內(nèi)容供給系統(tǒng)ex100,例如在互聯(lián)網(wǎng)ex101中,通過互聯(lián)網(wǎng)服務(wù)供應(yīng)商ex102和電話網(wǎng)ex104以及基站ex107~ex110,連接了計算機cx111、PDA(personal digital assistant)ex112、攝影機ex113、移動電話ex114、帶攝影機的移動電話ex115等各種機器。
但是,內(nèi)容供給系統(tǒng)ex100并不限于圖19那樣的組合,也可以是組合連接任一裝置的形式。并且,也可以不通過作為固定無線電臺的基站ex107~ex110,在電話網(wǎng)ex104上直接連接各種機器。
攝影機ex113是數(shù)碼攝影機等能拍攝動畫的機器。并且,移動電話可以是PDC(personal Digital Communications)方式、CDMA(CodeDivision Multiple Access)方式、W-CDMA(Wideband-Code DivisionMultiple Access)方式、或者GSM(Global System for MobileCommunications)方式的攜帶式電話機、或者PHS(Personal HandyphoneSystem,日本數(shù)字式無線電話系統(tǒng))等,以上任一種均可。
再者,流式服務(wù)器ex103從攝影機ex113通過基站ex109、電話網(wǎng)104連接,可利用攝影機ex113實現(xiàn)根據(jù)用戶發(fā)送的、已編碼處理的數(shù)據(jù)進行的現(xiàn)場發(fā)送等。已拍攝數(shù)據(jù)的編碼處理,既可以用攝影機ex113進行,也可以用進行數(shù)據(jù)發(fā)信處理的服務(wù)器等進行。并且,用攝影機116拍攝的動畫數(shù)據(jù),也可以通過計算機ex111傳送到流式服務(wù)器ex103內(nèi)。攝影機ex116是數(shù)碼攝相機等的能拍攝靜止畫面、動畫的機器。在此情況下,動畫數(shù)據(jù)的編碼既可以用相機ex116來進行,也可以用計算機ex111來進行。并且,編碼處理在計算機ex111或攝影機ex116所具有的LSIex117中進行處理。而且,也可以將圖像編碼、解碼用的軟件組裝到作為能用計算機ex111等讀取的記錄媒體的任一種存儲媒體(CD-ROM、軟盤和硬盤等)中。并且,也可以利用帶有攝影機的移動電話ex115來發(fā)送動畫數(shù)據(jù)。這時的動畫數(shù)據(jù)是移動電話ex115所具有的LSI進行編碼處理的數(shù)據(jù)。
在該內(nèi)容供給系統(tǒng)ex100中,由用戶利用攝影機ex113、攝影機ex116等拍攝的內(nèi)容(例如拍攝音樂現(xiàn)場的影像等)和上述實施方式一樣進行編碼處理,發(fā)送到流式服務(wù)器ex103,另一方面,流式服務(wù)器ex103把上述內(nèi)容數(shù)據(jù)對有請求的客戶機進行流式分配。作為客戶機有能對上述編碼處理的數(shù)據(jù)進行解碼的、計算機ex111、PDAex112、攝影機ex113、移動電話ex114等。這樣一來,內(nèi)容供給系統(tǒng)ex100能夠在客戶機上接收并重放已編碼的數(shù)據(jù),而且是一種能夠通過在客戶機中實時地接收、解碼,并重放,從而能夠?qū)崿F(xiàn)個人廣播的系統(tǒng)。
構(gòu)成該系統(tǒng)的各臺機器的編碼、解碼,可以采用上述各實施方式所示的動態(tài)圖像編碼裝置或動態(tài)圖像解碼裝置。
把移動電話作為一例進行說明。
圖20是表示使用上述實施方式中說明的移動向量編碼方法和移動向量解碼方法的移動電話ex115的圖。移動電話ex115具有用于在和基站ex110之間收發(fā)電波的天線ex201、CCD攝影機等能拍攝影像、靜止圖像的攝影機ex203、由攝影機部ex203拍攝的影像、對由天線ex201接收的影像等被解碼后的數(shù)據(jù)進行顯示的液晶顯示器等顯示部ex202、由操作鍵ex204群構(gòu)成的主體部、用于聲音輸出的揚聲器等聲音輸出部208、用于聲音輸入的話筒等聲音輸入部ex205,拍攝的動畫或靜畫的數(shù)據(jù)、接收的郵件的數(shù)據(jù),用于對動畫數(shù)據(jù)或靜止圖像數(shù)據(jù)等已編碼了的數(shù)據(jù)或已解碼了的數(shù)據(jù)進行保存的記錄媒體ex207、以及用于能把記錄媒體ex207安裝到移動電話ex115上的槽口部ex206。記錄媒體ex207是一種在SD卡等塑料外殼內(nèi)能夠進行電性改寫或消除的非揮發(fā)性存儲器,即作為EEPROM(Electricaily Erasable and Prigrammable Read Only Memory)的一種的快閃存儲器元件。
再者,用圖21來說明移動電話ex115。移動電話ex115,在構(gòu)成為可對具有顯示部ex202和操作鍵ex204的主體部的各部分進行綜合控制的主控制部ex311上,電源電路部ex310、操作輸入控制部ex304、圖像編碼部ex312、攝影機接口部ex303、LCD(Liquid Crystal Display)控制部ex302、圖像解碼部ex309、多重分離部ex308、記錄重放部ex307、調(diào)制解調(diào)電路部ex306和聲音處理部ex305,通過同步總線ex313互相連接。
電源電路部ex310,一旦通過用戶的操作話終和電源鍵成為接通狀態(tài)時,則從電池組向各部分供給電力,由此,使帶有攝影機的數(shù)碼移動電話ex115起動為能工作的狀態(tài)。
移動電話ex115,根據(jù)由CPU、ROM和RAM等構(gòu)成的主控制部ex311的控制,利用聲音處理部ex305把在聲音通話方式時由聲音輸入部ex205收集的聲音信號變換成數(shù)字聲音數(shù)據(jù),并利用調(diào)制解調(diào)電路部ex306對其進行頻譜擴散處理,利用收發(fā)電路部ex301來進行數(shù)字模擬變換處理和頻率變換處理,然后,通過天線ex201進行發(fā)送。并且,移動電話ex115,在聲音通話方式時對由天線ex201接收的接收信號進行放大,進行頻率變換處理和模擬數(shù)字變換處理,利用調(diào)制解調(diào)電路部ex306進行頻譜反擴散處理,利用聲音處理部ex305變換成模擬聲音信號,然后,通過聲音輸出部ex208對其進行輸出。
再者,在數(shù)據(jù)通信方式時,發(fā)送電子郵件的情況下,通過主體部的操作鍵ex204的操作輸入的電子郵件的文本數(shù)據(jù),通過操作輸入控制部ex304發(fā)送到主控制部ex311內(nèi)。主控制部ex311,在調(diào)制解調(diào)電路部ex306對文本數(shù)據(jù)進行頻譜擴散處理,并在收發(fā)電路部ex301進行數(shù)模變換處理和頻率變換處理,之后,通過天線ex201向基站ex110發(fā)送。
在數(shù)據(jù)通信方式時發(fā)送圖像數(shù)據(jù)的情況下,把由攝影機部ex203拍照的圖像數(shù)據(jù),通過攝影機接口部ex303供給到圖像編碼部ex312內(nèi)。并且,在不發(fā)送圖像數(shù)據(jù)的情況下,也可以把由攝影機部ex203拍攝的圖像數(shù)據(jù)通過相機接口部ex303和LCD控制部ex303,直接顯示在顯示部ex202上。
圖像編碼部ex312是具有本發(fā)明說明的圖像編碼裝置的結(jié)構(gòu),對從攝影機部ex203供給的圖像數(shù)據(jù),通過利用在上述實施方式中所示的圖像編碼裝置中所使用的編碼方法進行壓縮編碼,變換成編碼圖像數(shù)據(jù),并將其發(fā)送到多重分離部ex308內(nèi)。并且,這時,同時移動電話ex115,將由攝影機部ex203在進行拍攝時用聲音輸入部ex205收集的聲音,通過聲音處理部ex305作為數(shù)字聲音數(shù)據(jù)發(fā)送到多重分離部ex308中。
多重分離部ex308以既定的方式,對從圖像編碼部ex312供給的編碼圖像數(shù)據(jù)和從聲音處理部ex305供給的聲音數(shù)據(jù)進行多重化,對其結(jié)果所得到的多重化數(shù)據(jù),利用調(diào)制解調(diào)電路部ex306進行頻譜擴散處理,并在收發(fā)電路部ex301實施數(shù)模變換處理和頻率變換處理之后,通過天線ex201進行發(fā)送。
在數(shù)據(jù)通信方式時接收與主頁等相鏈接的動畫文件數(shù)據(jù)的情況下,利用調(diào)制解調(diào)電路部ex306,來對通過天線ex201從基站ex110接收到的接收信號進行頻譜反擴散處理,并將其結(jié)果獲得的多重化數(shù)據(jù)發(fā)送到多重分離部ex308內(nèi)。
并且,為了對通過天線ex201接收的多重化數(shù)據(jù)進行解碼,多重分離部ex308通過對多重化數(shù)據(jù)進行分離,劃分成圖像數(shù)據(jù)的編碼位流和聲音數(shù)據(jù)的編碼位流,通過同步總線ex313把該編碼圖像數(shù)據(jù)供給到圖像解碼部ex309內(nèi),同時,把該聲音數(shù)據(jù)供給到聲音處理部ex305內(nèi)。
接著,圖像解碼部ex309是具有本發(fā)明中說明的圖像解碼裝置的結(jié)構(gòu),利用與在上述實施方式所示出的編碼方法相對應(yīng)的解碼方法,對圖像數(shù)據(jù)的編碼位流進行解碼,生成重放動態(tài)圖像數(shù)據(jù),將其通過LCD控制部ex302供給顯示部ex202內(nèi),這樣,例如顯示出與主頁鏈接的動態(tài)圖像文件中所包括的動畫數(shù)據(jù)。同時,聲音處理部ex305在把聲音數(shù)據(jù)變換成模擬聲音信號后,將其供給到聲音輸出部ex208內(nèi),由此,重放例如與主頁相鏈接的動態(tài)圖像文件中所包含的聲音數(shù)據(jù)。
而且,并不限于上述系統(tǒng)的例子,最近,根據(jù)衛(wèi)星、地面波的數(shù)字廣播已成為話題,如圖22所示,在數(shù)字廣播用系統(tǒng)中,也能組合上述實施方式的至少圖像編碼裝置或圖像解碼裝置中的某一個。具體來說,在廣播電臺ex406中,影像信息的編碼位流通過電波傳輸?shù)酵ㄐ呕驈V播衛(wèi)星ex410上。對其進行接收的廣播衛(wèi)星ex410發(fā)射廣播用電波,利用具有衛(wèi)星廣播接收設(shè)備的家庭的天線ex406來接收該電波,利用電視(接收機)ex401或機頂盒(STB)ex407等裝置對編碼位流進行解碼,對其進行重放。并且,在對記錄媒體CD或DVD等存儲媒體ex402上記錄的編碼位流進行讀取、解碼的重放裝置ex403上,也可以安裝在上述實施方式中所示的圖像解碼裝置。在此情況下,被重放的影像信號顯示在監(jiān)視器ex404上。并且,也可以采用這樣的結(jié)構(gòu),即在有線電視用的電纜ex405或衛(wèi)星/地面波廣播的天線ex406上所連接的機頂盒ex407內(nèi),安裝圖像解碼裝置,用電視的監(jiān)視器ex408來重放上述圖像信號。這時,也可以把圖像解碼裝置組裝到電視機內(nèi)而不是機頂盒內(nèi)。并且,也可以利用具有天線ex411的車ex412,從衛(wèi)星410或者從基站ex107等處接收信號,也能把動畫顯示到車ex412所具有的汽車導(dǎo)向裝置ex413等的顯示裝置上。
再者,也可以利用上述實施方式中所示的圖像編碼裝置對圖像信號進行編碼,并將其記錄到記錄媒體上。具體例子有在DVD光盤ex421上記錄圖像信號的DVD記錄器、和在硬盤上記錄的硬盤記錄器等記錄器ex420。另外,也能記錄到SD卡ex422上。如果記錄器ex420具有上述實施方式所示的圖像解碼裝置,那么,能夠重放DVD光盤ex421和SD卡ex422上所記錄的圖像信號,并在監(jiān)視器ex408上進行顯示。
而且,汽車導(dǎo)航裝置ex413的結(jié)構(gòu)可以是例如在圖21所示的結(jié)構(gòu)中,除掉攝影機部ex203、攝影機接口部ex303、圖像編碼部ex312的結(jié)構(gòu)。對計算機ex111和電視接收機ex401等也可以采用這種結(jié)構(gòu)。
并且,上述移動電話ex114等的終端,有3種安裝形式,即除了具有編碼器、解碼器兩者的收發(fā)信型終端外,還有僅有編碼器的發(fā)送終端、以及僅有解碼器的接收終端。
如上,能夠?qū)⑸鲜鰧嵤┓绞剿镜囊苿酉蛄烤幋a方法或移動向量解碼方法,用于上述的任一種機器、系統(tǒng)中,由此,能獲得上述實施方式中所說明的效果。
涉及本發(fā)明的移動向量編碼方法和移動向量解碼方法,適用于對動態(tài)圖像進行編碼的動態(tài)圖像編碼裝置、和對被編碼了的動態(tài)圖像進行解碼的動態(tài)圖像解碼裝置、以及具有這些裝置的系統(tǒng),例如用于供給數(shù)字作品等內(nèi)容的內(nèi)容供給系統(tǒng)和數(shù)字廣播用系統(tǒng)。
權(quán)利要求
1.一種移動向量解碼方法,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其特征在于,包括以下步驟周邊塊確定步驟,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出步驟,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼步驟,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼、進一步還使用前方移動向量和后方移動向量這2個移動向量被解碼的情況下,在上述預(yù)測移動向量導(dǎo)出步驟,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼步驟,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
2.一種移動向量解碼方法,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其特征在于,包括以下步驟周邊塊確定步驟,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出步驟,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼步驟,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼,再者,上述其它塊具有前方移動向量和后方移動向量這2個移動向量的情況下,在上述預(yù)測移動向量導(dǎo)出步驟,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼步驟,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
3.一種移動向量解碼裝置,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其特征在于,包括周邊塊確定單元,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出單元,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼單元,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼、進一步還使用前方移動向量和后方移動向量這2個移動向量被解碼的情況下,在上述預(yù)測移動向量導(dǎo)出單元,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼單元,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
4.一種移動向量解碼裝置,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其特征在于,包括周邊塊確定單元,確定位于成為解碼對象的上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出單元,使用上述周邊塊的移動向量,導(dǎo)出成為解碼對象的上述塊的預(yù)測移動向量;以及移動向量解碼單元,使用上述預(yù)測移動向量,對成為解碼對象的上述塊的移動向量進行解碼;其中,在上述周邊塊是使用其它塊的移動向量被解碼,再者,上述其它塊具有前方移動向量和后方移動向量這2個移動向量的情況下,在上述預(yù)測移動向量導(dǎo)出單元,分別導(dǎo)出與上述前方移動向量對應(yīng)的預(yù)測移動向量、和與上述后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;并且,在上述移動向量解碼單元,區(qū)分為前方移動向量和后方移動向量,使用上述2個預(yù)測移動向量對成為解碼對象的上述塊的2個移動向量進行解碼。
全文摘要
一種移動向量解碼方法,對構(gòu)成動態(tài)圖像的幀圖像的塊的編碼移動向量進行解碼,其包括周邊塊確定步驟,確定上述塊的周邊且已解碼的周邊塊;預(yù)測移動向量導(dǎo)出步驟,導(dǎo)出上述塊的預(yù)測移動向量;以及移動向量解碼步驟,對上述塊的移動向量進行解碼;在周邊塊是使用其它塊的移動向量被解碼、進一步使用前方移動向量和后方移動向量被解碼時,在預(yù)測移動向量導(dǎo)出步驟,分別導(dǎo)出與前方移動向量對應(yīng)的預(yù)測移動向量和與后方移動向量對應(yīng)的預(yù)測移動向量這2個預(yù)測移動向量;在移動向量解碼步驟,區(qū)分為前方移動向量和后方移動向量,使用2個預(yù)測移動向量對上述塊的2個移動向量進行解碼。由此,能提高預(yù)測值的預(yù)測能力,其結(jié)果,能提高移動向量的解碼效率。
文檔編號H04N7/36GK1976467SQ20061016673
公開日2007年6月6日 申請日期2003年1月8日 優(yōu)先權(quán)日2002年1月9日
發(fā)明者近藤敏志, 角野真也, 羽飼誠, 安倍清史 申請人:松下電器產(chǎn)業(yè)株式會社