專利名稱:圖像編碼器及其方法、圖像編碼器的計算機(jī)程序和移動終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及編碼數(shù)字圖像數(shù)據(jù)(例如幀圖像)技術(shù)的領(lǐng)域。特別地,本發(fā)明涉及在同一幀中實現(xiàn)運(yùn)動預(yù)測(內(nèi)預(yù)測)的圖像編碼技術(shù)的領(lǐng)域。
背景技術(shù):
如此相關(guān)的技術(shù),例如找到了以下專利文件。
也就是,日本早期公開專利No.232886/2002(48和49段,及圖5)提出了如下技術(shù)該技術(shù)當(dāng)要被編碼的塊在圖像編碼器中被編碼時,基于存在于要被編碼的塊附近的已被編碼的塊的編碼模式的統(tǒng)計屬性而參考其編碼模式。
另外,日本早期公開專利No.186823/1996(37和43段,及圖17)提出了如下技術(shù),當(dāng)圖像數(shù)據(jù)被編碼時在每個要被編碼的4×4像素的塊中選擇最適宜的差值生成方法(編碼模式);用選擇的差值生成方法來生成差值;以及隨后對生成的差值編碼。
運(yùn)動圖像壓縮技術(shù)(例如MPEG(運(yùn)動圖像專家組)2、MPEG 4和其它)迄今已被用于各種類型的處理運(yùn)動圖像的圖像處理器。
在運(yùn)動圖像壓縮技術(shù)(運(yùn)動圖像編碼技術(shù),所謂的編解碼器),例如MPEG 2、MPEG 4和其它中,每個組成幀圖像(以下有時簡稱為“幀”)的像素實際沒有被記錄。在這樣的運(yùn)動圖像壓縮技術(shù)中,為了減少運(yùn)動圖像數(shù)據(jù)量,基于通過預(yù)測包含在某一幀中的圖像塊在其他后續(xù)幀中移動到何處(即隨著時間的流逝)所獲得的結(jié)果來實現(xiàn)圖像壓縮。
作為擴(kuò)展這樣傳統(tǒng)的運(yùn)動圖像壓縮技術(shù)的技術(shù),H.264/AVC(高級視頻編解碼器)近幾年被持續(xù)關(guān)注。H.264/AVC是由ITU-T(國際電信聯(lián)盟一電信標(biāo)準(zhǔn)部門)和ISO(國際標(biāo)準(zhǔn)化組織)/IEC合作開發(fā)的一項技術(shù),其作為運(yùn)動圖像壓縮技術(shù)將成為公開的標(biāo)準(zhǔn)。H.264/AVC編解碼器同樣被稱為MPEG 4AVC。
即使在這樣的H.264/AVC中,圖像壓縮技術(shù)的基本概念和前述的傳統(tǒng)運(yùn)動圖像壓縮技術(shù)(例如MPEG 2或者M(jìn)PEG 4)也是一樣的。區(qū)別在于在H.264/AVC中采用了被稱為“子宏塊劃分”的功能。因此,可以用更少量的數(shù)據(jù)實現(xiàn)比傳統(tǒng)運(yùn)動圖像壓縮技術(shù)更靈活的壓縮處理。這里,子宏塊意味著構(gòu)成宏塊(例如,16×16像素的塊)的具有更小劃分單元的塊(例如,4×4像素的塊)。
此外,在H.264/AVC中,通過采用稱為“內(nèi)預(yù)測”的功能,在前述傳統(tǒng)的運(yùn)動圖像壓縮技術(shù)中沒有被實現(xiàn)的在同一幀中的運(yùn)動預(yù)測可以被實現(xiàn)。
同時,有兩種主要類型的H.264的幀內(nèi)預(yù)測方法。一種是為16×16像素的每個宏塊執(zhí)行預(yù)測的方法(以下簡稱為“16×16宏塊”),另一種是為4×4像素的每個子宏塊執(zhí)行預(yù)測的方法(以下簡稱為“4×4塊”)。接著,在為每個4×4塊執(zhí)行運(yùn)動預(yù)測的方法中,定義了九種模式作為預(yù)測結(jié)果的候選。另一方面,在為16×16像素的每個宏塊執(zhí)行運(yùn)動預(yù)測的方法中,定義了四種模式作為預(yù)測結(jié)果的候選。因此,盡管其也取決于編解碼器怎樣被實現(xiàn),但是可以想到是,大體的說,每個4×4塊的運(yùn)動預(yù)測允許更接近的預(yù)測,但是與每個16×16宏塊的運(yùn)動預(yù)測相比,容易增加計算量。
發(fā)明內(nèi)容
鑒于以上情況,本發(fā)明的目的在于,當(dāng)利用幀內(nèi)預(yù)測對幀圖像編碼時,減少確定編碼模式所需的計算量。
為了達(dá)成以上目的,根據(jù)本發(fā)明的圖像編碼方法的特征在于具有以下配置。
根據(jù)本發(fā)明的圖像編碼方法包括根據(jù)經(jīng)處理的塊,從指定的多個預(yù)測模式中選擇預(yù)測模式,其中選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;根據(jù)選擇的預(yù)測模式,預(yù)測輸入幀圖像中的塊的像素;計算所述預(yù)測的像素值和輸入幀中的塊的像素值之間的差值;根據(jù)所述計算過程的結(jié)果來確定編碼模式,所述確定的編碼模式被用于所述的圖像編碼方法。
接著,在上述情況下,優(yōu)選地,用于計算的預(yù)測模式被存儲在表中。同樣優(yōu)選地,預(yù)測模式是根據(jù)對于可以被選為塊的編碼模式的多種類型模式中的每個模式,經(jīng)處理的塊和要被處理的塊之間相關(guān)性來確定的。
注意,以上目的也可以利用與具有以上配置的圖像編碼方法相對應(yīng)的圖像編碼器來達(dá)成。
此外,以上目的也可以利用如下的計算機(jī)程序和計算機(jī)可讀存儲介質(zhì)來達(dá)成所述計算機(jī)程序利用計算機(jī)實現(xiàn)具有以上配置和與之相對應(yīng)的設(shè)備的圖像編碼方法;所述計算機(jī)可讀存儲介質(zhì)中存儲有上述計算機(jī)程序。
此外,以上目的也可以利用具有對應(yīng)于具有以上配置的圖像編碼方法的圖像編碼器的移動終端來達(dá)成。
此外,以上目的也可以利用以下系統(tǒng)來達(dá)成所述系統(tǒng)具有對應(yīng)于具有以上配置的圖像編碼方法的圖像編碼器和與所述圖像編碼器相關(guān)的圖像解碼器。
利用上述本發(fā)明,當(dāng)利用幀內(nèi)預(yù)測對幀圖像編碼時,可以減少確定編碼模式所需的計算量。
也就是,首先在本發(fā)明中,用于計算關(guān)于要被處理的塊的差值的預(yù)測模式是根據(jù)在經(jīng)處理的塊上已經(jīng)確定的編碼模式而從指定的多個類型的預(yù)測模式中確定的,其中所述預(yù)測模式當(dāng)在幀圖像中確定要被處理的塊的編碼模式時被用作候選。其次在本發(fā)明中,差值是由每個確定的預(yù)測模式來計算的,并且對應(yīng)于計算出的差值中的最小差值的預(yù)測模式被選為要被處理的塊的編碼模式。
如上所述,在本發(fā)明中,僅僅利用基于在經(jīng)處理的塊上已經(jīng)確定的編碼模式而從指定的多個類型的指定模式中確定的最小所需數(shù)目的預(yù)測模式來計算差值。因此,與需要對指定的多個類型的預(yù)測模式中的每個預(yù)測模式都單獨(dú)計算差值的傳統(tǒng)過程相比,可以明顯減少在確定要被處理的塊的編碼模式時的計算量。
圖1是舉例說明本發(fā)明可應(yīng)用的移動電話的配置的框圖;圖2是示出了根據(jù)本發(fā)明的實施例的用于在編解碼器中的編碼處理的電路配置的框圖;圖3是示出了包括在圖2示出的編解碼器14中的內(nèi)預(yù)測電路208的電路配置的框圖;圖4是解釋在根據(jù)本實施例的幀內(nèi)預(yù)測中的幀圖像(輸入幀201)、組成幀圖像的宏塊,和組成每個宏塊的子宏塊的圖表;圖5是解釋在要被處理的4×4塊和已被處理的重配置幀的像素之間的關(guān)系的代表性圖表;圖6中的(a)到(i)包括用于解釋九種模式的圖表,這九種模式被指定為當(dāng)要被處理的4×4塊被編碼時的候選;圖7是解釋根據(jù)本實施例的在內(nèi)預(yù)測電路208中的運(yùn)動預(yù)測的特征的圖表;圖8是示出了對應(yīng)于九種模式類型(模式0到8)的模式向量的圖表;圖9示出了預(yù)測模式表,該表在本實施例中,當(dāng)要被處理的塊X的SAE計算的目標(biāo)候選被選擇時被參考;圖10是解釋根據(jù)本實施例的第一修改在內(nèi)預(yù)測電路208中的運(yùn)動預(yù)測的特征的圖表;以及圖11是在本實施例的第二修改中,在編解碼器14中實現(xiàn)的內(nèi)預(yù)測功能模塊的流程圖。
具體實施例方式
以下參考基于實施例的附圖來詳細(xì)描述本發(fā)明,其中本發(fā)明被例如應(yīng)用于作為代表性移動終端的移動電話。
(移動電話的硬件配置)首先,解釋根據(jù)本實施例的移動電話的硬件配置的例子。圖1是舉例說明本發(fā)明可應(yīng)用的移動電話(包括蜂窩式電話)的配置的框圖。
在本實施例中,移動電話100大致包括控制電路1、天線2、無線電收發(fā)器3、操作設(shè)備4、點選設(shè)備5、顯示設(shè)備6、照相機(jī)7、麥克風(fēng)8和揚(yáng)聲器9。
控制電路1提供CPU(中央處理單元)11、運(yùn)動存儲器12、保存存儲器13、編解碼器14和在圖中未示出的硬件。在控制電路1中,CPU 11通過運(yùn)行從保存存儲器13讀出的程序組,來控制移動電話100的每一部分。
更特別的,在控制電路1中的CPU 11在從無線電收發(fā)器3中解調(diào)的信號中檢測出移動電話的呼叫號的情況下,產(chǎn)生傳入警報。此外,在控制電路1中的CPU 11利用麥克風(fēng)8和揚(yáng)聲器9實現(xiàn)語音通信、郵件的收發(fā)和包括圖像的數(shù)據(jù)的通信。這些功能通過在CPU 11中處理音頻信號和數(shù)字?jǐn)?shù)據(jù)信號來實現(xiàn)。
此外,當(dāng)CPU 11運(yùn)行從運(yùn)動存儲器12中讀出的程序組時,在控制電路1中的CPU 11服從由用戶通過操作設(shè)備4(例如十位按鍵)和點選設(shè)備5輸入的指令。
另外,在控制電路1中的CPU 11控制編解碼器14的操作,以便編碼由照相機(jī)7拍攝的圖像,并解碼經(jīng)壓縮的圖像數(shù)據(jù)。這里,圖像包括運(yùn)動圖片。
照相機(jī)7將根據(jù)CPU 11的操作指令而拍攝的幀圖像輸入到控制電路1中。
編解碼器14將照相機(jī)7拍攝的圖像(幀圖像)壓縮為符合指定的編碼數(shù)據(jù)格式(H.264/AVC格式)的經(jīng)壓縮的圖像數(shù)據(jù)(細(xì)節(jié)以后描述)。從編解碼器14輸出的經(jīng)壓縮的圖像數(shù)據(jù)被臨時存儲在運(yùn)動存儲器12中。
此外,編解碼器14在每幀中將經(jīng)壓縮的圖像數(shù)據(jù)解碼為未壓縮的數(shù)字圖像數(shù)據(jù)。要被解碼的經(jīng)壓縮的圖像數(shù)據(jù)這里可以是從移動電話100外部獲得的經(jīng)壓縮的圖像數(shù)據(jù),或者在利用編解碼器14編碼后的存儲在移動電話100中的經(jīng)壓縮的圖像數(shù)據(jù)。
根據(jù)CPU 11的操作指令,顯示設(shè)備6顯示各種與用戶操作相關(guān)聯(lián)的被輸入到操作設(shè)備4和點選設(shè)備5的內(nèi)容。此外,顯示設(shè)備6可以顯示由照相機(jī)7拍攝的圖像或運(yùn)動圖片,從外部獲得的圖像或運(yùn)動圖片,及其它。
運(yùn)動存儲器(例如,RAM隨機(jī)訪問存儲器)12被用于在CPU 11工作期間臨時存儲數(shù)據(jù)。
保存存儲器13是非易失性存儲器(閃存或其他),并例如保存CPU 11的操作程序、各種類型的參數(shù)、移動電話的呼叫號(呼叫者ID)、用戶數(shù)據(jù)(例如郵件文件和電話號碼)及其它。
天線2發(fā)送或接收調(diào)制的無線電波。
無線電收發(fā)器3解調(diào)由天線2接收到的無線電波,并調(diào)制從控制電路1輸出的數(shù)字信號。此外,無線電收發(fā)器3具有與通常使用的無線通信終端的無線電收發(fā)器相同的功能(例如放大信號、接收信號)。在控制電路1中的CPU 11命令無線電收發(fā)器通過無線電收發(fā)器3傳輸臨時存儲在運(yùn)動存儲器12中的經(jīng)壓縮的圖像數(shù)據(jù)。
用戶的語音被輸入到麥克風(fēng)8。揚(yáng)聲器9輸出語音(聲音)給用戶。
這里,對于諸如數(shù)據(jù)收發(fā)處理和音頻編解碼處理之類的移動電話100利用上述設(shè)備配置中的外部設(shè)備所執(zhí)行的操作,現(xiàn)在其移動電話100實現(xiàn)在以上設(shè)備配置中的外部設(shè)備,可以應(yīng)用現(xiàn)在普遍使用的技術(shù)。此外,對于在編解碼器14中執(zhí)行的解碼處理,可以使用根據(jù)H.264/AVC標(biāo)準(zhǔn)的一般過程。因此,在這里省略了本實施例的詳細(xì)說明。
(編解碼器14)接著,參考圖2到9詳細(xì)解釋在控制電路1中的編解碼器14。
圖2是示出了根據(jù)本發(fā)明的實施例的用于在編解碼器電路中的編碼處理的電路配置的框圖。附圖所示的編解碼器14以適當(dāng)?shù)姆绞絹碛羞x擇地執(zhí)行“幀間預(yù)測”和“幀內(nèi)預(yù)測(內(nèi)預(yù)測)”。這里,幀間預(yù)測是利用參考幀212對輸入幀201執(zhí)行運(yùn)動預(yù)測的方法。相反的,幀內(nèi)預(yù)測是通過參考同一幀(要被編碼的單個輸入幀201)來執(zhí)行運(yùn)動預(yù)測的方法。
編解碼器14順序地將編碼處理應(yīng)用到構(gòu)成運(yùn)動圖片的每個幀(輸入幀201)。也就是編解碼器14獲得關(guān)于輸入幀201和運(yùn)動補(bǔ)償電路206的輸出幀(后述的預(yù)測幀),或者內(nèi)預(yù)測電路208的輸出幀之間的差值的信息;并接著將關(guān)于差值的信息輸入到DCT(離散余弦變換)電路202中。
這里,開關(guān)214被用于切換輸出幀的選擇。開關(guān)214根據(jù)CPU 11的指令被切換。CPU 11例如根據(jù)要被編碼的幀的類型等來切換開關(guān)214。然而,這樣的開關(guān)214所需的切換操作可能依賴于編碼器中的執(zhí)行,因此在本實施例中,所述切換操作同樣不是唯一確定的。在幀內(nèi)預(yù)測中,開關(guān)214被連接到內(nèi)預(yù)測電路208,在幀間預(yù)測中,開關(guān)214被連接到運(yùn)動補(bǔ)償電路206。
接著DCT電路202將頻率轉(zhuǎn)換應(yīng)用到輸入的差值信息。接著,量化電路203對經(jīng)過了頻率轉(zhuǎn)換的差值信息進(jìn)行量化。接著編碼電路204對經(jīng)量化的差值信息應(yīng)用熵編碼,并此后將經(jīng)量化的差值信息臨時存儲到運(yùn)動存儲器12。
此外,量化電路203的輸出被輸入到編碼電路204,并同樣被輸入到反量化電路211。反量化電路211和位于其下一級的反DCT電路210反量化和解碼在量化電路203中被量化的差值信息。通過將來自SW 214和反DCT電路210的輸出相加來產(chǎn)生重配置幀。
接著重配置幀用過濾器209經(jīng)過噪音消除和類似的處理。經(jīng)過過濾器處理之后的重配置幀被從過濾器209輸出,并作為參考幀212保存在運(yùn)動存儲器12中。在輸入到過濾器209之前,重配置幀還被輸入到內(nèi)預(yù)測電路208和模式選擇電路207??商鎿Q地,輸入到內(nèi)預(yù)測電路208和模式選擇電路207的重配置幀可以被過濾,即使它在圖2中沒有被過濾。
接著保存在運(yùn)動存儲器12中的參考幀被用于幀間預(yù)測。也就是,在執(zhí)行幀間預(yù)測時,編解碼器14首先利用運(yùn)動檢測電路205檢測在參考幀212和輸入幀201之間的運(yùn)動向量。接著,運(yùn)動補(bǔ)償電路206根據(jù)運(yùn)動檢測電路205檢測到的運(yùn)動向量而產(chǎn)生預(yù)測幀。此后,如上所述,當(dāng)開關(guān)214選擇運(yùn)動補(bǔ)償電路206時,在預(yù)測幀和輸入幀201之間的差值信息被輸入到DCT電路202中。在圖2中,即使在幀間預(yù)測中,重配置幀也還被輸入到模式選擇電路207和內(nèi)預(yù)測電路208。然而,編解碼器14適當(dāng)?shù)毓ぷ?,因為開關(guān)214在幀間預(yù)測中僅被連接到運(yùn)動補(bǔ)償電路206。
可替換地,可以在模式選擇電路207和內(nèi)預(yù)測電路208之前放置開關(guān),并在幀間預(yù)測中斷開開關(guān),以防止重配置幀輸入模式選擇電路207和內(nèi)預(yù)測電路208。
同時,輸入到內(nèi)預(yù)測電路208和模式選擇電路207的重配置幀被用于內(nèi)預(yù)測電路208中的作為本實施例特色的幀內(nèi)預(yù)測處理。在圖2中,重配置幀還被輸入到運(yùn)動存儲器12,即使在幀內(nèi)預(yù)測中也如此。然而,編解碼器14適當(dāng)?shù)毓ぷ?,因為開關(guān)214在幀內(nèi)預(yù)測中僅被連接到內(nèi)預(yù)測電路208。
可替換地,可以在過濾器209之后或之前放置開關(guān),并斷開開關(guān),以防止重配置幀輸入運(yùn)動存儲器12。
也就是,在幀內(nèi)預(yù)測中,模式選擇電路207確定哪種類型的幀內(nèi)預(yù)測方法被用于要被編碼的輸入幀201的運(yùn)動預(yù)測。模式選擇電路207可以大致選擇將預(yù)測應(yīng)用到16×16像素的每個宏塊的方法,或者選擇以與H.264/AVC中的幀內(nèi)預(yù)測的情況同樣的方式,將預(yù)測應(yīng)用到4×4像素的每個塊的方法。然而,在本實施例中,運(yùn)動預(yù)測被應(yīng)用到4×4像素的每個塊(細(xì)節(jié)將以后參考圖3解釋)。接著內(nèi)預(yù)測電路208利用模式選擇電路207確定的方法來生成預(yù)測幀。
利用圖2的電路配置,即使恰好在編解碼器14從幀內(nèi)預(yù)測改變到幀間預(yù)測之后,保存在運(yùn)動存儲器12中的參考幀212也可以被用于幀間預(yù)測。
這里,具有前述電路配置的編解碼器14的每個組件都例如根據(jù)在控制電路1中公用的系統(tǒng)時鐘(同步時鐘)213而操作。此外,CPU 11指示編解碼器14例如根據(jù)在運(yùn)動存儲器12中要被處理的輸入幀201的臨時存儲,開始編碼處理。接著CPU 11例如根據(jù)顯示編解碼器14的輸入幀的編碼完成的通知的接收,來準(zhǔn)備下一個輸入幀201;以及指示編解碼器14執(zhí)行編碼處理。
(幀內(nèi)預(yù)測的方法)這里,盡管與H.264/AVC的一般處理配置重復(fù),但是仍對根據(jù)本實施例的幀內(nèi)預(yù)測中采用的基本處理配置進(jìn)行了說明,此后將說明本實施例特有的處理配置。
首先,解釋在輸入幀201和組成輸入幀的4×4像素的塊(4×4塊)之間的關(guān)系,以及幀內(nèi)預(yù)測的方法。
圖4是解釋在根據(jù)本實施例的幀內(nèi)預(yù)測中的幀圖像(輸入幀201)、組成幀圖像的宏塊,和組成每個宏塊的子宏塊的圖表。
如圖4所示,在根據(jù)本實施例的幀內(nèi)預(yù)測中,要被編碼的幀圖像(輸入幀201)的運(yùn)動預(yù)測在每個4×4塊(包括在圖中斜線所示的更新的4×4塊)被執(zhí)行,所述4×4塊是組成每個16×16塊(宏塊)的子宏塊。4×4塊在編碼輸入幀201時,通過通常使用的鋸齒形掃描來選擇。同時,更新的4×4塊以后解釋。
圖5是解釋要被處理的4×4塊和經(jīng)處理的重配置幀的像素之間的關(guān)系的代表性圖表。圖6包括解釋當(dāng)要被編碼的4×4塊被編碼時可以使用的九種模式的圖表。
在圖5所示的代表性圖表中,小寫字母a到p代表組成要被處理的4×4塊(以下有時稱為“要被處理的塊X”)的16個像素。此外,大寫字母A到M代表組成了在要被處理的塊X的運(yùn)動預(yù)測之前,已被處理的重配置幀的一部分的像素。接著,在a到p和A到M之間的位置關(guān)系在圖6所示的九種模式(模式0到模式8)中是相同的。注意,在圖6的(c)所示的模式2中,像素A到D和像素I到L的平均值被用作組成預(yù)測塊的像素的值的預(yù)報值。
在本實施例中編解碼器14處理幀內(nèi)預(yù)測的過程基本上與H.264/AVC的那些過程相同。
也就是,通過利用重配置幀的像素A到M,編解碼器14產(chǎn)生對要被處理的塊X的像素a到p的4×4像素的預(yù)測塊。此外,編解碼器14測量已產(chǎn)生的預(yù)測塊和實際輸入塊(要被處理的塊X)之間的差值,并編碼該差值。
更具體而言,當(dāng)產(chǎn)生預(yù)測塊時,編解碼器14確定與要被處理的塊X的每個像素a到p相對應(yīng)的每個像素的預(yù)測值。同樣,根據(jù)本實施例在編解碼器14中,預(yù)先準(zhǔn)備圖6的(a)到(i)所示的九種類型的模式(模式0到模式8),以便在以與H.264/AVC的情況相同的方式產(chǎn)生預(yù)測塊時參考這些模式。與H.264/AVC類似,編解碼器14可以參考這九種類型模式中的任意一種來確定預(yù)定塊。
接著,在這九種類型的模式中,在組成要被處理的塊X的像素a到p的區(qū)域中所示的箭頭的開始點表示這些在確定預(yù)測值時被用作標(biāo)準(zhǔn)的像素在重配置幀的像素A到M之中。例如,在圖6的(b)所示的模式1的情況下,像素a到d的預(yù)測值由像素I確定,像素e到h的預(yù)測值由像素J確定,像素i到1的預(yù)測值由像素K確定,像素m到p的預(yù)測值由像素L確定。在圖6所示的其它模式中,在確定預(yù)測值時被用作標(biāo)準(zhǔn)的像素和箭頭之間的關(guān)系是相同的。
接著,編解碼器14計算在組成預(yù)測塊的4×4像素的每個預(yù)測值和組成要被處理的塊X的像素a到p的像素值之間的差值。
此外,在H.264/AVC的一般處理配置中,對于每個模式,計算通過以上程序計算的差值的總值SAE(絕對誤差的總和)。例如,圖6的(b)所示的模式1的SAE可以用以下等式計算;
SAE=(a+b+c+d-I×4)+(e+f+g+h-J×4)+(i+j+k+l-K×4)+(m+n+o+p-L×4)。
接著,在H.264/AVC的一般處理配置中,為了提高編碼效率,從這九種類型模式的計算出的SAE中選出具有最小SAE的模式。接著,通過對這樣計算的差值編碼,縮短了編碼長度(也就是經(jīng)壓縮的圖像數(shù)據(jù)的大小)。
然而,為全部要被處理的塊X計算九種類型模式的處理配置可以確保提高編碼效率,但是它增加了計算量。因此,在實現(xiàn)了上述幀內(nèi)預(yù)測的處理配置的電子設(shè)備中,從減少硬件的體積和成本以及減少電功率消耗的觀點來看,希望可以減少計算量。
從而,在本實施例中,通過根據(jù)以上參考圖5和圖6所述處理配置而在控制電路1的編解碼器14中采取后述的處理配置和內(nèi)預(yù)測電路208(參見圖3),減少了計算量。這樣,本實施例帶來的優(yōu)點是,高相關(guān)性存在于鄰近的像素之間或者存在于作為圖像性質(zhì)的塊圖像之間。
圖7是解釋根據(jù)本實施例的內(nèi)預(yù)測電路208中的運(yùn)動預(yù)測的特征的圖表。
在該圖中,要被處理的塊X是這樣的塊其組成要被編碼的輸入幀的一部分;并且具有對應(yīng)于前述像素a到p的4×4像素。同時,塊A和B是這樣的塊它們是用于輸入幀的重配置幀的部分;并且包括前述像素A到M的部分。此外,在塊中所示的箭頭示意性地表示以后要解釋的“模式向量”。這里,在以下的解釋中,為塊B的預(yù)測而確定的模式被稱為“模式B”,并且為塊A的預(yù)測而確定的模式被稱為“模式A”。
高相關(guān)性存在于鄰近像素之間或者存在于像素塊之間的一般優(yōu)點同樣應(yīng)用到圖7所示的塊A和B以及要被處理的塊X之間的關(guān)系。因此,在本實施例中,提前存儲了已被處理的塊A和B的模式,并且通過在4×4塊的幀內(nèi)預(yù)測中利用已存儲的塊A和B的模式來確定要被處理的塊X的模式。更具體而言,在本實施例中,在確定要被處理的塊X的模式時,全部前述九種類型的模式都不被用作SAE計算的目標(biāo)候選,而是根據(jù)已經(jīng)確定的塊A和B的模式,將候選的數(shù)目減少到所需的最小數(shù)目。因此,在本實施例中,與在前述一般的處理配置中計算全部九種類型的模式的SAE的情況相比,可以利用少量計算來確定要被處理的塊X的模式。
注意,存在將被參考的塊A和B不存在的情況。這些情況是否發(fā)生取決于塊X在幀圖像中的位置。在這樣的情況中,即使在本實施例中,全部九種類型的模式的SAE也都要被計算。
接著,解釋實現(xiàn)本實施例所特有的方面的內(nèi)預(yù)測電路208的配置。
(內(nèi)預(yù)測電路208)圖3是示出了包括在圖2所示的編解碼器14中的內(nèi)預(yù)測電路208的電路配置的框圖。首先,沿操作流程來解釋內(nèi)預(yù)測電路208中的每個部分的功能。
通過編解碼器14中的反量化和反DCT形成的重配置幀被存儲在內(nèi)預(yù)測電路208中的重配置幀緩沖器507中。接著,根據(jù)要被處理的塊X的位置,從存儲在重配置幀緩沖器507中的重配置幀中提取出已被處理的塊A和B。這里,從重配置幀中提取出的塊A和B保留著重配置幀在對應(yīng)于圖5所示像素A到M的像素處的像素值。接著,提取出的塊A和B被輸入到SAE計算電路501。
同時,在輸入幀201中的4×4像素(像素a到p)的要被處理的塊X通過模式選擇電路207,被輸入到內(nèi)預(yù)測電路208中的SAE計算電路501中。此外,代表其數(shù)目在預(yù)測模式候選確定電路505中被減少的候選的模式信息被輸入到SAE計算電路501。預(yù)測模式候選確定電路505在SAE計算電路501中對要被處理的塊X的計算處理之前,確定要被處理的塊X的SAE計算的目標(biāo)候選。目標(biāo)候選是根據(jù)已被處理的塊A和B的模式(模式A和B)和在預(yù)測模式表506中描述的規(guī)則而確定的。這里,預(yù)測模式表506被提前存儲在編解碼器14中的非易失性存儲介質(zhì)中(它可以被存儲在保存存儲器13中)。以后參考圖8和9解釋預(yù)測模式表506的細(xì)節(jié)。
接著,在SAE計算電路501中,根據(jù)上述輸入的信息計算關(guān)于要被處理的塊X的SAE。也就是,SAE計算電路501計算由關(guān)于要被處理的塊X的模式信息(即其數(shù)目被減少到最小值的模式)所代表的目標(biāo)候選的每個模式的SAE。通過利用塊A和B的像素A到M的像素值來計算SAE。在SAE計算電路501中計算出的模式的SAE被輸入到模式確定電路502中。
接著,模式確定電路502從輸入的模式的SAE中檢測最小值SAE。接著,模式確定電路502確定對應(yīng)于檢測到的最小值SAE的模式,以作為要被處理的塊X的模式。此外,模式確定電路502將代表確定的模式的信息輸出到預(yù)測電路503和結(jié)果存儲緩沖器504。
結(jié)果存儲緩沖器504保存代表從模式確定電路502輸出的模式的信息。也就是,代表保存在結(jié)果存儲緩沖器504中的模式的信息不僅包括關(guān)于要被處理的塊X的信息,還包括關(guān)于至今已被處理的塊的信息。
更具體而言,在存儲代表為要被處理的塊X確定的模式的信息之前,結(jié)果存儲緩沖器504已經(jīng)保存了先前為鄰近塊A確定的模式A和先前為鄰近塊B確定的模式B。此外,對應(yīng)于存儲在重配置幀緩沖器507中的重配置幀中的塊A和B的兩個4×4塊是由SAE計算電路501分配的。接著,預(yù)測模式候選確定電路505在SAE計算電路501中對要被處理的塊X的計算處理之前,從結(jié)果存儲緩沖器504中讀出塊A的模式A和塊B的模式B,這兩個塊都鄰近要被處理的塊X。
接著,預(yù)測模式候選確定電路505通過參考在預(yù)測模式表506中描述的規(guī)則,根據(jù)塊A的模式A和塊B的模式B,確定所需最小數(shù)目的最適合于要被處理的塊X的目標(biāo)候選的模式。這里,以后參考圖8和9解釋在預(yù)測模式候選確定電路505中用于確定目標(biāo)候選的過程。
接著,代表SAE計算的目標(biāo)候選的模式信息被輸入到SAE計算電路501,其中所述目標(biāo)候選是在預(yù)測模式候選確定電路505中被確定的。這樣,SAE計算電路501計算從預(yù)測模式候選確定電路505輸入的目標(biāo)候選的每個模式(模式信息)的SAE,并將計算結(jié)果設(shè)置到模式確定電路502以用于要被處理的塊X。
同時,預(yù)測電路503利用代表通過模式確定電路502中的前述過程確定的模式的信息,產(chǎn)生要被處理的塊X的差值塊。接著,產(chǎn)生的差值塊從內(nèi)預(yù)測電路208輸出。
(在預(yù)測模式候選確定電路505中用于確定目標(biāo)候選的方法)接著,解釋在預(yù)測模式候選確定電路505中用于為要被處理的塊X的SAE計算確定將作為目標(biāo)候選的模式的過程。
在圖6的九種類型的模式中所示的箭頭表示鄰近像素值的變化方向。接著,當(dāng)這九種類型的模式被正確表示為具有相同開始點的向量時,所述向量被表示為如圖8所示。向量以下在下面的解釋中被稱為“模式向量”。
圖8是示出了相應(yīng)于九種類型的模式(模式0到8)的模式向量的圖表。在圖中所示的模式向量的末端點附近描述的數(shù)字分別代表對應(yīng)于模式0到8的模式值(除了使用DC分量(直流分量或平均值)的模式2的情況)。由鄰近的兩個向量形成的角度(單位角度)為22.5度。在以下的解釋中,形成作為單位角度的22.5的角度差的兩個模式向量被稱為“鄰近模式”。
在以下的解釋中,通過使用圖8所示的模式向量來解釋存儲在預(yù)測模式表(圖9)中的配置規(guī)則。
如上所述,在本實施例中,圖像的一般優(yōu)點被用于減少計算量。也就是,本實施例是根據(jù)這樣的知識當(dāng)塊A的模式向量(模式A)和塊B的模式向量(模式B)的方向相互接近時,要被處理的塊X的模式向量的方向也與以上方向相同或類似的可能性是很高的,其中所述塊A和塊B已被確定為用作SAE計算的目標(biāo)候選。接著,在本實施例中,根據(jù)該知識,以下解釋的規(guī)則被具體化在預(yù)測模式表506中。
然而,當(dāng)在預(yù)測模式候選確定電路505中確定SAE計算的目標(biāo)候選時,作為一般規(guī)則(作為必選),塊A的模式A、塊B的模式B和模式2這三種模式必定被確定為目標(biāo)候選(預(yù)測模式)。這里,模式2被確定為目標(biāo)候選的原因是,模式2對應(yīng)于DC分量,并且因此可以獲得合理的結(jié)果,這要強(qiáng)于通過計算全部要被處理的塊X的SAE值來獲得平均SAE值。
接著,如在下面的規(guī)則(1)到(7)中解釋的,根據(jù)圖像的相關(guān)性,在預(yù)測模式表506中描述除了以上三種模式之外的模式。
(1)模式A和模式B彼此相等,但是不等于模式2的情況在這種情況中,與其它情況相比,塊A和塊B之間的相關(guān)性是最高的,并且因此估計這兩個塊與要被處理的塊X之間的相關(guān)性同樣很高。因此,在這種情況下,除了這三種類型的模式之外,不必選擇一種新模式作為必選。
也就是,在模式A和模式B彼此相等,但是不等于模式2的情況下,總體來講,只需要選擇兩種類型的預(yù)測模式,包括模式A(=B)和模式2。
(2)模式A和模式B是鄰近模式的情況在這種情況中,在塊A和塊B之間的相關(guān)性相當(dāng)高,并且因此估計這兩個塊和要被處理的塊X之間的相關(guān)性也同樣高。因此,在這種情況中,除了這三種類型的模式之外,也不必以與上述規(guī)則(1)相同的方式選擇一種新模式作為必選。
也就是,在模式A和模式B為鄰近的模式的情況下,總體來講,僅僅需要選擇三種類型的模式,包括模式A、模式B和模式2作為必選。
(3)模式A和模式B都等于模式2的情況在這種情況中,塊A和塊B之間相關(guān)性很低,并且因此估計這兩個塊和要被處理的塊X之間的相關(guān)性也同樣低。因此,在這種情況下,難以根據(jù)模式A和B來預(yù)測要被處理的塊X的模式。然而,如果塊A和塊B是模式2,仍然有可能鄰近那些塊的要被處理的塊X同樣是模式2。從而,在這種情況下,除了以上三種類型的模式作為必選之外,考慮到構(gòu)成幀圖像的每個像素的形狀,在垂直方向中的模式0和在水平方向中的模式1也被選擇。
也就是,在模式A和模式B都等于模式2的情況下,總體來講,根據(jù)前述的必選,只需要選擇三種類型的模式,包括模式0、模式1和模式2。然而在這種情況下,優(yōu)選地,還要選擇其它模式,以便優(yōu)先執(zhí)行更精確的模式預(yù)測。
(4)模式A或者模式B等于模式2的情況這種情況表示,在已被確定為模式2的塊A或者塊B中,組成確定的塊的4×4像素的DC分量是主要的。因此,該情況具有在不同于模式2的其它塊和要被處理的塊X之間存在相關(guān)性的可能性。因此,在這種情況中,除了以上三種類型的模式作為必選之外,還要選擇與不同于模式2的塊的其它塊的模式相鄰的模式。
也就是,在模式A或者模式B等于模式2的情況中,總體來講,僅僅需要選擇三種或四種類型的模式,包括與模式2的塊(A或者B)不同的另一塊的模式;鄰近目標(biāo)模式的一個或多個模式(一種類型或兩種類型取決于塊的位置);以及作為必選的模式2。
(5)模式A的模式向量和模式B的模式向量之間的角度小于90度的情況在這種情況中,在塊A和塊B之間存在較大相關(guān)性,并且因此估計在這兩個塊A,B和要被處理的塊X之間也存在類似的相關(guān)性。因此,在這種情況中,除了上述三種類型的模式作為必選之外,對應(yīng)于插入在塊A的模式向量(模式A)和塊B的模式向量(模式B)之間的全部模式向量的模式都要被選擇。
也就是,在模式A的模式向量和模式B的模式向量之間的角度小于90度的情況中,總體來講,僅僅需要選擇三種到五種類型的模式作為必選,包括對應(yīng)于插入在模式A和模式B之間的全部模式向量的一個或多個模式(0到最大2種類型);以及作為必選的三種類型。
(6)模式A的模式向量和模式B的模式向量之間的角度是90度的情況在這種情況中,與以上的規(guī)則(5)的情況基本類似,在塊A和塊B之間存在較大相關(guān)性。因此,估計在這兩個塊A,B和要被處理的塊X之間存在著類似的相關(guān)性。然而,在這種情況中,插入在模式A和模式B之間的全部模式向量的數(shù)目比以上規(guī)則(5)的情況要大。因此,擔(dān)心當(dāng)以類似標(biāo)準(zhǔn)執(zhí)行模式選擇時,計算量沒有減少。因此在這種情況中,考慮到計算效率,插入在模式A的模式向量和模式B的模式向量之間的全部模式向量沒有被選擇為候選,而是將與這兩個模式向量分別形成45度角的模式向量選作代表。
也就是,在模式A的模式向量和模式B的模式向量之間的角度是90度的情況中,總體來講,僅僅需要選擇四種類型的模式,包括對應(yīng)于被插入在模式A的模式向量和模式B的模式向量之間,并且與這兩個模式向量形成45度角的模式向量的模式;以及作為必選的三種類型的模式。
(7)模式A的模式向量和模式B的模式向量之間的角度超過90度的情況在這種情況中,估計在塊A和塊B之間的相關(guān)性很低。因此,在這種情況中,很難根據(jù)模式A和B預(yù)測要被處理的塊X。然而,這種情況仍然存在在塊A或塊B和要被處理的塊X之間存在相關(guān)性的可能性。然而在這種情況中,選擇對應(yīng)于在模式A和模式B之間插入的全部模式向量的模式,并計算選擇出的模式的SAE的做法效率很低。因此,在模式A的模式向量和模式B的模式向量之間的角度超過90度的情況中,除了作為必選的三種類型的模式之外,從插入在模式A的模式向量和模式B的模式向量之間的模式向量中選擇兩種模式向量作為代表。對于將作為代表的兩種模式向量,例如,選擇平均分割在塊A的模式向量(模式A)和塊B的模式向量(模式B)之間形成的角度的兩種模式向量。
也就是,在模式A的模式向量和模式B的之間的角度超過90度的情況中,總體來講,僅僅需要選擇五種類型的模式,包括對應(yīng)于模式A的模式向量和模式B的模式向量之間插入的將作為代表的兩種模式向量的兩種類型的模式;以及作為必選的三種類型的模式。
圖9示出了預(yù)測模式表;在本實施例中,當(dāng)要被處理的塊X的SAE計算的目標(biāo)候選被選擇時,將參考此表。如圖所示的預(yù)測模式表506表示根據(jù)前述規(guī)則(1)到(7),將九種類型的模式向量具體應(yīng)用到要被處理的塊X的例子。
在圖9所示的預(yù)測模式表506中,塊B的確定的模式在列的方向上示出,塊A的確定的模式在行的方向上示出。于是,由塊A和B的模式指定的框中的數(shù)字代表被用作要被處理的塊X的SAE計算的目標(biāo)候選的模式(預(yù)測模式)。此外,在圖9所示的預(yù)測模式表506中,在某些框中的標(biāo)記“-”意味著在選擇目標(biāo)候選時,在相關(guān)框中不存在將被選擇的模式。接著,從預(yù)測模式表506(在圖9中)和代表被選為一般規(guī)則的三種指定類型的模式可明顯看出,將被選為SAE計算的目標(biāo)候選的模式類型的數(shù)目最大是5,最小是2。
因此,通過本實施例,盡管還取決于圖像的內(nèi)容(即像素值的分布的狀態(tài))和要被處理的塊X在輸入幀201中的位置,但是與計算要被處理的某個塊X的全部九種類型的模式相比,可以將計算量減少到一半或更少。
也就是,在本實施例中,僅僅為根據(jù)經(jīng)處理的塊A和B的已經(jīng)確定的編碼模式(模式A和B),從九種類型的模式中確定出的最少所需預(yù)測模式計算差值。這里,最小所需預(yù)測模式是作為必選的三種類型的模式,以及從預(yù)測模式表506中讀出的預(yù)測模式。因此,與全部九種類型的預(yù)測模式都被分別計算的傳統(tǒng)過程相比,在確定要被處理的塊X的編碼模式時,可以顯著地減少計算量。
同時,當(dāng)通過前述過程連續(xù)使用模式預(yù)測(模式選擇)時,與根據(jù)通過計算全部九種類型的模式的SAE而獲得的結(jié)果來確定最優(yōu)模式的情況相比,出現(xiàn)累積誤差增加的可能性??紤]到這種可能性,在本實施例中,為圖4所示的每個16×16宏塊定義了用于更新的4×4塊(更新的4×4塊)。接著,當(dāng)要被處理的塊X對應(yīng)于幀圖像中的更新的4×4塊時,內(nèi)預(yù)測電路208計算要被處理的塊X的全部九種類型的模式的SAE,并根據(jù)計算結(jié)果選擇最小SAE的模式。
此外,在本實施例中,內(nèi)預(yù)測電路208使用位于幀圖像的左末端和上末端的每個4×4塊作為更新的4×4塊。原因是,涉及鋸齒形掃描的方向,當(dāng)要被處理的塊X與位于幀圖像的左末端和上末端的4×4塊相同時,在模式預(yù)測時將被參考的塊A和B不存在。
第一修改圖10是解釋根據(jù)本實施例的第一修改在內(nèi)預(yù)測電路208中的運(yùn)動預(yù)測的特征的圖表。
在本實施例中,當(dāng)確定了用于計算要被處理的塊X的SAE的模式時,如圖10所示,使用與要被處理的塊X相鄰的三個塊A到C。接著,關(guān)于在根據(jù)塊A到C的已經(jīng)確定的模式A到C,選擇要被處理的塊X的SAE的計算的目標(biāo)候選時的規(guī)則,在本修改中也僅僅需要依照前述的規(guī)則(1)到(7)。然而,在本修改的情況中,存在三種類型的變量A到C,并且因此用圖9所示的預(yù)測模式表,不可能反映塊C的模式C到要被處理的塊X的模式預(yù)測。為了解決這個,例如,在本修改中,準(zhǔn)備了一張代表三個塊A到C的三維表。否則,在本修改中,例如同樣可接受的是,具有用于參考塊C到A的預(yù)測模式表,并以適當(dāng)?shù)姆绞剑c用于參考塊A到和B的預(yù)測模式表一起使用該表。
第二修改在前述的實施例中,在移動電話100中的控制電路1中,在編解碼器14中的內(nèi)預(yù)測電路208由硬件組成。對比這樣的設(shè)備配置,在本修改的情況中,編解碼器14的前述功能由軟件執(zhí)行。注意,除了內(nèi)預(yù)測電路208的功能外,編解碼器14的其他功能幾乎與H.264/AVC一般使用的功能相同。因此,當(dāng)利用控制電路1中的CPU 11運(yùn)行的軟件而使用在這種電路配置中執(zhí)行的處理過程時,可以采用一般使用的處理配置。因此,在本修改中,省略了關(guān)于利用軟件實現(xiàn)本修改特有的內(nèi)預(yù)測電路208的功能的說明,以及對與所有功能相對應(yīng)的軟件的說明。
圖11是在本實施例的第二修改中,在編解碼器14中實現(xiàn)的內(nèi)預(yù)測功能模塊的流程圖。該流程圖示出了由圖1所示的移動電話100中的控制電路1中的CPU 11運(yùn)行的軟件程序的處理過程。通過圖11的處理流程,在垂直方向中具有H個像素并在水平方向中具有W個像素的輸入幀被處理。
在圖11中,B[x,y]表示具有4×4像素的要被處理的塊X。這里,字母x和y是要被處理的塊X的坐標(biāo),并且它們分別滿足表達(dá)式0≤x≤(W/4)-1和0≤y≤(H/4)-1。例如,在H=64和W=64的情況中,在幀圖像中存在256個4×4塊,并且x和y分別取0到15的值。接著,在本修改中,根據(jù)正被輸入的要被處理的塊X的4×4像素的像素值,要被處理的塊X的坐標(biāo)x和y還被輸入到內(nèi)預(yù)測功能模塊(參見圖10)。
此外,變量表[a, b]表示如圖9所示的預(yù)測模式表(506)。在本修改中,預(yù)測模式表(506)例如可以被存儲在保存存儲器13中。變量Ref[i](0≤i≤W-1)表示在要被處理的塊X之前已經(jīng)確定的上一預(yù)測模式的值。也就是,在本修改中,也根據(jù)塊A(模式A)和塊B(模式B),確定要被處理的塊X的SAE計算的目標(biāo)模式。為此,在本修改中,塊A和B的已經(jīng)確定的模式的值被與變量Ref[i]一起保留,以代替圖3所示的內(nèi)預(yù)測電路208中的結(jié)果存儲緩沖器504。
在以這樣的變量描述的內(nèi)預(yù)測功能模塊(圖11)中,關(guān)于要被處理的塊X(B[x,y]),在控制電路1中的CPU 11首先將4×4像素的像素值和表示塊X的坐標(biāo)x和y輸入到例如運(yùn)動存儲器12(步驟S801)。這里,用于存儲重配置幀的重配置幀緩沖器507例如可以被設(shè)置在運(yùn)動存儲器12中。接著,在步驟S801,CPU 11根據(jù)要被處理的塊X的位置來提取已被處理的塊A和B。
接著,CPU11判斷在步驟S801中輸入的要被處理的塊X的位置(B[x,y)是否對應(yīng)于在輸入幀201中的更新的4×4塊(步驟S802)。
接著,當(dāng)在步驟S802的判斷為“是”時(更新的4×4塊的情況),CPU11選擇全部九種類型的模式作為要被處理的塊X的SAE計算的模式候選(步驟S803)。
另一方面,當(dāng)在步驟S802的判斷為“否”時(不是更新的4×4塊的情況),CPU 11選擇設(shè)置在表[a,b](預(yù)測模式表)中的模式作為候選(步驟S804)。這里,在這種情況中,b=Ref[x-1]和a=Ref[x-W]。此外,CPU 11增加模式2、模式A和模式B作為根據(jù)上述必選的候選的三種類型的模式(步驟S805)。
CPU 11計算在步驟S803選出的九種類型的模式或者在步驟S804和S805選出的模式中的每一種模式的SAE[m](步驟S806)。這里,字母m(0≤m≤8)表示每個所選模式。
CPU 11從在步驟S806計算的SAE[m]中識別出最小值,并將對應(yīng)于最小值的SAE[m]的m定義為M(步驟S807)。
CPU 11將在步驟S807定義的M設(shè)置為Ref[x](步驟S808)。接著CPU11根據(jù)模式M產(chǎn)生B[x,y]的差值塊信息(步驟S809),并將產(chǎn)生的差值塊信息輸出到內(nèi)預(yù)測功能模塊外部(步驟S810)。
接著,CPU 11對輸入幀201中的每個要被處理的塊X執(zhí)行一系列以上的處理(步驟S801到S810)。
即使在本修改的情況中,計算量的減少也要受圖像內(nèi)容(即像素值的分布的狀態(tài))和要被處理的塊X在輸入幀201中的位置的影響。然而,與前述的實施例類似,與對某個要被處理的塊X計算全部九種類型的模式相比,可以將計算量減少到一半或更少。
同時,本修改可以通過以下方式獲得將能夠?qū)崿F(xiàn)在說明中涉及的流程圖(圖11)的功能的計算機(jī)程序安裝到移動電話100上;以及此后在設(shè)備的CPU 11中讀出并運(yùn)行該計算機(jī)程序。此外,提供給設(shè)備的計算機(jī)程序可以被存儲在例如隨機(jī)訪問存儲器的存儲設(shè)備中。
此外在以上情況下,對于將計算機(jī)程序應(yīng)用到設(shè)備的方法,可以采用現(xiàn)在一般使用的方法,例如在出貨之前的生產(chǎn)階段,用合適的工具將計算機(jī)程序安裝到設(shè)備中的方法,在出貨后進(jìn)行維護(hù)等的方法,或者通過例如互聯(lián)網(wǎng)的通信線路,從外部下載計算機(jī)程序的方法。接著在這樣的情況中,本發(fā)明被配置以計算機(jī)程序的代碼或存儲介質(zhì)。
同時,在前述的本實施例和修改中,對于將根據(jù)本發(fā)明的圖像編碼的處理配置應(yīng)用到移動電話的情況進(jìn)行了說明,以作為示例。然而,本發(fā)明的應(yīng)用范圍不局限于例如移動電話的移動終端。例如,本發(fā)明優(yōu)選地可應(yīng)用到信息處理器,例如個人計算機(jī)、PDA(個人數(shù)字助理)等等;以及需要編碼數(shù)字圖像功能的各種電子設(shè)備(圖像處理器),例如數(shù)碼相機(jī)、視頻照相機(jī)、靜態(tài)視頻記錄器等等。
權(quán)利要求
1.一種圖像編碼方法,包括根據(jù)經(jīng)處理的塊從指定的多個預(yù)測模式中選擇預(yù)測模式,選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;根據(jù)選擇的預(yù)測模式,預(yù)測在輸入幀圖像中的塊的像素;計算所述預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值;根據(jù)所述計算過程的結(jié)果,確定編碼模式,所述確定的編碼模式被用于所述圖像編碼方法。
2.根據(jù)權(quán)利要求1的圖像編碼方法,其中所述確定過程從根據(jù)所述選擇的預(yù)測模式計算出的所有結(jié)果中確定具有最小差值的編碼模式。
3.根據(jù)權(quán)利要求1的圖像編碼方法,其中所述選擇過程選擇以下編碼模式作為所述選擇的預(yù)測模式所述經(jīng)處理的塊的編碼模式,基于所述經(jīng)處理的塊的部分像素的值的DC分量的編碼模式,從如下表中讀出的編碼模式,在所述表中指定了在所述經(jīng)處理的塊中使用的編碼模式和對應(yīng)的最小數(shù)目的編碼模式之間的關(guān)系。
4.根據(jù)權(quán)利要求1的圖像編碼方法,其中所述經(jīng)處理的塊至少是與所述要被處理的塊相鄰的兩個塊。
5.根據(jù)權(quán)利要求1的圖像編碼方法,其中所述預(yù)測模式是根據(jù)在所述經(jīng)處理的塊和所述要被處理的塊之間的相關(guān)性而被確定的。
6.根據(jù)權(quán)利要求1或3的圖像編碼方法,其中所述經(jīng)處理的塊包括位于所述要被處理的塊的垂直方向上的第一塊和位于所述要被處理的塊的水平方向上的第二塊。
7.根據(jù)權(quán)利要求6的圖像編碼方法,其中當(dāng)在所述第一塊上確定的編碼模式和在所述第二塊上確定的編碼模式彼此相等,但是該編碼模式與所述基于DC分量的編碼模式不同時,在所述表中沒有指定對應(yīng)的預(yù)測模式。
8.根據(jù)權(quán)利要求6的圖像編碼方法,其中當(dāng)在所述第一塊上確定的編碼模式的向量和在所述第二塊上確定的編碼模式的向量彼此相鄰并形成指定的單位角度時,在所述表中沒有指定對應(yīng)的預(yù)測模式。
9.根據(jù)權(quán)利要求6的圖像編碼方法,其中當(dāng)在所述第一塊上確定的編碼模式和在所述第二塊上確定的編碼模式都等于所述基于DC分量的編碼模式時,在所述表中指定具有垂直方向的模式和具有水平方向的模式。
10.根據(jù)權(quán)利要求6的圖像編碼方法,其中當(dāng)在所述第一塊上確定的編碼模式或者在所述第二塊上確定的編碼模式等于所述基于DC分量的編碼模式時,在所述表中指定對應(yīng)于如下向量的預(yù)測模式,所述向量與在塊上確定的編碼模式的向量彼此相鄰并與之形成指定的單位角度,并且所述向量不同于所述基于DC分量的編碼模式。
11.根據(jù)權(quán)利要求6的圖像編碼模式,其中當(dāng)在所述第一塊上確定的編碼模式的向量和在所述第二塊上確定的編碼模式的向量形成小于90度的角度時,在所述表中指定對應(yīng)于插入在所述兩個向量之間的全部向量的預(yù)測模式。
12.根據(jù)權(quán)利要求6的圖像編碼模式,其中當(dāng)在所述第一塊上確定的編碼模式的向量和在所述第二塊上確定的編碼模式的向量形成90度的角度時,在所述表中指定對應(yīng)于分別與所述兩個向量形成45度角的向量的預(yù)測模式。
13.根據(jù)權(quán)利要求6的圖像編碼模式,其中當(dāng)在所述第一塊上確定的編碼模式的向量和在所述第二塊上確定的編碼模式的向量形成大于90度的角度時,在所述表中指定對應(yīng)于平均分割由所述兩個向量形成的角度的兩個向量的兩個預(yù)測模式。
14.根據(jù)權(quán)利要求1到13中的任意一個的圖像編碼方法,其中所述圖像編碼方法是遵循H.264/AVC標(biāo)準(zhǔn)的幀內(nèi)預(yù)測編碼方法。
15.一種圖像編碼器,包括選擇裝置,用于根據(jù)經(jīng)處理的塊從指定的多個預(yù)測模式中選擇預(yù)測模式,選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;預(yù)測裝置,用于根據(jù)選擇的預(yù)測模式,預(yù)測在輸入幀圖像中的塊的像素;計算裝置,用于計算所述預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值;確定裝置,用于根據(jù)所述計算裝置的結(jié)果來確定編碼模式,所述確定的編碼模式被用于編碼所述圖像。
16.根據(jù)權(quán)利要求15的圖像編碼器,其中所述確定裝置從根據(jù)所述選擇的預(yù)測模式計算出的所有結(jié)果中確定具有最小差值的編碼模式。
17.根據(jù)權(quán)利要求15的圖像編碼器,其中所述選擇裝置選擇以下編碼模式作為所述選擇的預(yù)測模式所述經(jīng)處理的塊的編碼模式,基于所述經(jīng)處理的塊的部分像素的值的DC分量的編碼模式,從如下表中讀出的編碼模式,在所述表中指定了在所述經(jīng)處理的塊中使用的編碼模式和對應(yīng)的最小數(shù)目的編碼模式之間的關(guān)系。
18.根據(jù)權(quán)利要求15的圖像編碼器,其中所述經(jīng)處理的塊至少是與所述要被處理的塊相鄰的兩個塊。
19.根據(jù)權(quán)利要求15的圖像編碼器,其中所述預(yù)測模式是根據(jù)在所述經(jīng)處理的塊和所述要被處理的塊之間的相關(guān)性而被確定的。
20.根據(jù)權(quán)利要求15或17的圖像編碼器,其中所述經(jīng)處理的塊包括位于所述要被處理的塊的垂直方向上的第一塊和位于所述要被處理的塊的水平方向上的第二塊。
21.根據(jù)權(quán)利要求15到20中的任意一個的圖像編碼器,還具有幀間預(yù)測裝置,用于根據(jù)在參考幀和所述輸入幀圖像之間的運(yùn)動向量,對所述輸入幀圖像進(jìn)行編碼。
22.根據(jù)權(quán)利要求15到21中的任意一個的圖像編碼器,其中所述圖像編碼是遵循H.264/AVC標(biāo)準(zhǔn)的編碼裝置。
23.一種包括根據(jù)權(quán)利要求15到22中的任意一個的圖像編碼器的移動終端。
24.一種用于圖像編碼器的計算機(jī)程序產(chǎn)品,包括用于致使圖像編碼器根據(jù)經(jīng)處理的塊,從指定的多個預(yù)測模式中選擇預(yù)測模式的指令裝置,其中選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;用于致使圖像編碼器根據(jù)選擇的預(yù)測模式,預(yù)測在輸入幀圖象中的塊的像素的指令裝置;用于致使圖像編碼器計算所述預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值的指令裝置;用于致使圖像編碼器根據(jù)所述計算過程的結(jié)果來確定編碼模式的指令裝置。
25.一種圖像編碼器,包括選擇電路,該電路根據(jù)經(jīng)處理的塊,從指定的多個預(yù)測模式中選擇預(yù)測模式,其中選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;預(yù)測電路,該電路根據(jù)選擇的預(yù)測模式,預(yù)測在輸入幀圖象中的塊的像素;計算電路,該電路計算所述預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值;確定電路,該電路根據(jù)所述計算裝置的結(jié)果來確定編碼模式,所述確定的編碼模式被用于對所述圖像編碼。
26.一種系統(tǒng),包括圖像編碼裝置,包括選擇裝置,用于根據(jù)經(jīng)處理的塊,從指定的多個預(yù)測模式中選擇預(yù)測模式,其中選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;預(yù)測裝置,用于根據(jù)選擇的預(yù)測模式,預(yù)測在輸入幀圖象中的塊的像素;計算裝置,用于計算所述預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值;確定裝置,用于根據(jù)所述計算裝置的結(jié)果來確定編碼模式,所述確定的編碼模式被用于對所述圖像進(jìn)行編碼;以及圖像解碼裝置,用于解碼由所述圖像編碼器所編碼的數(shù)據(jù)。
全文摘要
本發(fā)明提供一種圖像編碼方法,包括根據(jù)經(jīng)處理的塊,從指定的多個預(yù)測模式中選擇預(yù)測模式,選擇的預(yù)測模式的數(shù)目小于所述指定的多個預(yù)測模式的數(shù)目;根據(jù)選擇的預(yù)測模式,預(yù)測輸入幀圖像中的塊的像素;計算預(yù)測的像素值和在輸入幀中的塊的像素值之間的差值;根據(jù)所述計算處理的結(jié)果來確定編碼模式,所述確定的編碼模式被用于所述圖像編碼方法。并且本發(fā)明還提供了與以上圖像編碼方法相關(guān)的編碼電路、編碼程序、移動終端、編碼和解碼電路。
文檔編號G06T9/00GK1767654SQ20051012492
公開日2006年5月3日 申請日期2005年10月26日 優(yōu)先權(quán)日2004年10月26日
發(fā)明者金原史和 申請人:日本電氣株式會社