專利名稱:圖像編碼/圖像解碼方法以及圖像編碼/圖像解碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于運(yùn)動圖像或靜止圖像的圖像編碼方法和圖像解碼 方法、圖像編碼裝置、圖像解碼裝置、圖像編碼程序以及圖像解碼程序。
背景技術(shù):
近年來,人們希望將與現(xiàn)有技術(shù)相比編碼效率大幅提高的視頻編
碼方法推進(jìn)為與ITU-T和ISO/IEC相關(guān)的ITU-TRec.H.264和 ISO-IEC14496-10 (以下稱為"H.264,,)。例如ISO/IECMPEG畫l、 2、 4, ITU-TH.261、 H.263的傳統(tǒng)編碼系統(tǒng)在正交變換頻域(DCT系數(shù)) 上執(zhí)行幀內(nèi)預(yù)測,以減少變換系數(shù)的編碼位的數(shù)量。與常規(guī)的視頻編 碼系統(tǒng)(ISO/IECMPEG-l、 2、 4)的幀內(nèi)預(yù)測相比,H.264通過釆用 空間區(qū)域(像素區(qū)域)中的方向預(yù)測(非專利文獻(xiàn)1)來實(shí)現(xiàn)高預(yù)測 效率。
在H.264高規(guī)格(high profile)等中,針對輝度信號定義了三種 幀內(nèi)預(yù)測系統(tǒng),并可以以宏塊(16x16像素塊)為單位選擇其中的一 個(gè)系統(tǒng)。這些預(yù)測系統(tǒng)分別被稱為4x4像素預(yù)測、8x8像素預(yù)測以及 16x16像素預(yù)測。
針對16x16像素預(yù)測,定義了四個(gè)編碼模式,其分別被稱為垂直 預(yù)測、水平預(yù)測、DC預(yù)測以及平面預(yù)測。經(jīng)過解塊濾波器之前的、 周圍的被解碼的宏塊的像素值被用作參考像素值,并被用于預(yù)測處理。
4x4像素預(yù)測將宏塊中的輝度信號分成16個(gè)4x4像素塊,并為每 個(gè)4x4像素塊選擇九個(gè)模式中的 一個(gè)。除了利用可用參考像素的平均 值進(jìn)行預(yù)測的DC預(yù)測(模式2)之外,九個(gè)模式中的每個(gè)均具有以 22.5度為單位的預(yù)測方向,并利用參考像素在預(yù)測方向上外插宏塊,
來生成預(yù)測值。對每一個(gè)宏塊,4x4像素預(yù)測的模式信息需要16個(gè)信 息項(xiàng)。因?yàn)?x4像素預(yù)測的預(yù)測處理單位小,因此可以對具有復(fù)雜紋 理的圖像執(zhí)行比較高效的預(yù)測。然而,該4x4像素預(yù)測僅僅通過簡單 地在預(yù)測方向上復(fù)制內(nèi)插值來執(zhí)行預(yù)測,因此存在如下問題當(dāng)相對 于參考像素的距離增大時(shí),預(yù)測誤差增大。
8x8像素預(yù)測將宏塊中的輝度信號分成四個(gè)8x8像素塊,并為每 個(gè)8x8像素塊選擇九個(gè)模式中的任一個(gè)。8x8像素預(yù)測模式是利用與 4x4像素預(yù)測相同的框架進(jìn)行設(shè)計(jì)的,8x8像素預(yù)測模式對已編碼的
參考像素執(zhí)行三抽頭的濾波,并包括通過平坦化用于預(yù)測的參考像素 對編碼失真進(jìn)行平均化的處理。但是,與4x4像素預(yù)測相似,存在如
下問題隨著相對于參考像素的距離的增加,預(yù)測越來越不正確。由 于與4x4像素預(yù)測相比,相對于參考像素的距離變長,所以存在如下 問題對具有復(fù)雜紋理的圖像,無法預(yù)期預(yù)測精度。
8x8像素預(yù)測是僅由H.264高規(guī)格規(guī)定的預(yù)測單位,并且是特別 為了提高高分辨率圖像的編碼效率而引入的。在4x4像素預(yù)測中使用 4x4像素變換器/量化塊大小,而在8x8像素預(yù)測中使用8x8像素變換 器/量化塊大小。換句話說,通過預(yù)測塊形狀來限定變換器/量化塊大 小。由于針對預(yù)測塊形狀要考慮主規(guī)格(main profile )和高規(guī)格的兼 容性,在一個(gè)標(biāo)準(zhǔn)中,8x8像素預(yù)測和4x4像素預(yù)測無法共存于一個(gè) 宏塊中。
為了減少模式信息的編碼位的數(shù)量,H.264的4x4像素預(yù)測或8x8 像素預(yù)測通過利用相鄰塊的模式信息的相關(guān)水平來預(yù)測模式信息,從 而減少編碼位的數(shù)量。在模式信息的預(yù)測正確時(shí),編碼l位的標(biāo)志, 而在不正確時(shí),進(jìn)一步編碼3位的數(shù)據(jù),由此減少了模式信息的編碼 位的數(shù)量。然而,如果在宏塊中幾乎不產(chǎn)生誤差信號時(shí)選擇4x4像素 預(yù)測,則必須編碼最少16位(最多64位),這導(dǎo)致編碼效率大幅降 低。
JP-A 2003-323736 (特開)提出了 一種通過在幀內(nèi)進(jìn)行塊匹配, 并從編碼的參考圖像填補(bǔ)預(yù)測塊的預(yù)測值來執(zhí)行預(yù)測的系統(tǒng)。該系統(tǒng)
是一種假定幀中的任意編碼塊的圖像與要預(yù)測的塊的圖像相似的預(yù)測
方法,并具有如下問題在幀中的塊的相關(guān)性低時(shí),預(yù)測精度差。必 須對示出預(yù)測中使用的參考圖像的位置的位移量進(jìn)行編碼,這導(dǎo)致模 式信息的編碼位的數(shù)量增加。
發(fā)明內(nèi)容
如上所述,在通過H.264高規(guī)格中規(guī)定的方法從編碼的參考圖像 生成基于預(yù)測模式的內(nèi)插像素,并通過在由預(yù)測模式規(guī)定的預(yù)測方向 上復(fù)制內(nèi)插像素來生成預(yù)測圖像信號的情況下,存在如下問題隨著 預(yù)測像素和參考像素之間的在預(yù)測方向上的距離增加,預(yù)測誤差增大, 這導(dǎo)致預(yù)測塊形狀在宏塊中不能共存,并且無法減少模式信息的編碼 位的數(shù)量。
本發(fā)明的一個(gè)方面提供了一種圖像編碼方法,包括將輸入圖像 分割成多個(gè)像素塊信號;執(zhí)行內(nèi)部預(yù)測,其中利用數(shù)量根據(jù)預(yù)測像素 和參考像素之間的距離而變化的參考像素,在分別表示一個(gè)預(yù)測方向 的多個(gè)預(yù)測模式下外插或內(nèi)插預(yù)測像素;通過外插或內(nèi)插預(yù)測像素來 生成預(yù)測圖像信號;從像素塊信號和預(yù)測圖像信號計(jì)算預(yù)測誤差信號; 利用預(yù)測誤差信號選擇所述多個(gè)預(yù)測模式中的一個(gè)預(yù)測模式;以及基 于所選擇的預(yù)測模式,利用預(yù)測誤差信號執(zhí)行熵編碼。
本發(fā)明的第二個(gè)方面提供了一種圖像解碼方法,包括對輸入的 編碼圖像信號進(jìn)行解碼,以生成包括預(yù)測模式信息的解碼圖像信號;
根據(jù)基于解碼圖像信號的預(yù)測模式信息的所選預(yù)測模式以及已編碼的 參考像素和預(yù)測像素之間的距離,來改變用于預(yù)測的參考像素的數(shù)量
和預(yù)測像素生成的過程;利用以像素為單位外插解碼圖像信號的圖像 內(nèi)預(yù)測,來生成預(yù)測圖像信號;根據(jù)解碼圖像信號來生成預(yù)測誤差信 號;以及通過將預(yù)測圖像信號和預(yù)測誤差信號相加來生成重構(gòu)圖像。
圖1是根據(jù)第一實(shí)施例的視頻編碼裝置的框圖。
圖2是根據(jù)該實(shí)施例的幀內(nèi)預(yù)測器的框圖。
圖3是根據(jù)該實(shí)施例的視頻編碼裝置的流程圖。
圖4A是示出與該實(shí)施例相關(guān)的預(yù)測順序的概要的圖。
圖4B是示出與該實(shí)施例相關(guān)的塊形狀的概要的圖。
圖4C是示出與該實(shí)施例相關(guān)的塊形狀的概要的圖。
圖4D是示出與該實(shí)施例相關(guān)的塊形狀的概要的圖。
圖4E是示出與該實(shí)施例相關(guān)的塊形狀的概要的圖。
圖5A是示出與該實(shí)施例相關(guān)的方向預(yù)測的圖。
圖5B是示出與該實(shí)施例相關(guān)的方向預(yù)測中的預(yù)測塊和參考圖像
之間的關(guān)系的圖。
圖5C是示出與該實(shí)施例相關(guān)的預(yù)測方法的圖。 圖5D是示出與該實(shí)施例相關(guān)的預(yù)測方法的圖。 圖6A是示出與該實(shí)施例相關(guān)的像素適應(yīng)預(yù)測中的預(yù)測塊和參考
圖像之間的關(guān)系的圖。
圖6B是示出與該實(shí)施例相關(guān)的像素適應(yīng)垂直預(yù)測的圖。
圖6C是示出與該實(shí)施例相關(guān)的像素適應(yīng)預(yù)測的圖。
圖7是示出在根據(jù)該實(shí)施例的像素適應(yīng)垂直預(yù)測時(shí)使用的參考圖
像的數(shù)量和濾波系數(shù)的加權(quán)表的圖。
圖8是示出在根據(jù)該實(shí)施例的預(yù)測模式中使用的相鄰塊的圖。 圖9是示出根據(jù)該實(shí)施例的方向預(yù)測和像素適應(yīng)預(yù)測的圖。 圖IO是示出根據(jù)第二實(shí)施例的視頻編碼裝置的結(jié)構(gòu)的框圖。 圖ll是示出根據(jù)該實(shí)施例的幀內(nèi)預(yù)測器的結(jié)構(gòu)的框圖。 圖12是示出根據(jù)該實(shí)施例的視頻編碼裝置的流程圖。 圖13是示出根據(jù)該實(shí)施例的語法(syntax)結(jié)構(gòu)的示意圖。 圖14是示出根據(jù)該實(shí)施例的序列參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖15是示出根據(jù)該實(shí)施例的圖像參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖16是示出根據(jù)該實(shí)施例的片頭部(slice header )語法的數(shù)據(jù)結(jié)
構(gòu)的圖。
圖17是示出根據(jù)該實(shí)施例的宏塊層語法的數(shù)據(jù)結(jié)構(gòu)的圖。
圖18是示出根據(jù)該實(shí)施例的序列參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖19是示出根據(jù)該實(shí)施例的圖像參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖20是示出根據(jù)該實(shí)施例的片頭部語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖21A是示出根據(jù)該實(shí)施例的宏塊層語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖21B是示出根據(jù)該實(shí)施例的宏塊預(yù)測語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖22是示出根據(jù)笫三實(shí)施例的視頻編碼裝置的結(jié)構(gòu)的框圖。 圖23是示出根據(jù)該實(shí)施例的序列參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖24是示出根據(jù)該實(shí)施例的圖像參數(shù)集語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖25是示出根據(jù)該實(shí)施例的片頭部語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖26是示出根據(jù)該實(shí)施例的宏塊層語法的數(shù)據(jù)結(jié)構(gòu)的圖。 圖27是示出根據(jù)該實(shí)施例的mbjype的數(shù)據(jù)結(jié)構(gòu)的圖。 圖28A是示出根據(jù)該實(shí)施例的塊大小切換的數(shù)據(jù)結(jié)構(gòu)的圖。 圖28B是示出根據(jù)該實(shí)施例的塊大小切換的數(shù)據(jù)結(jié)構(gòu)的圖。 圖29是示出根據(jù)第四實(shí)施例的視頻解碼裝置的框圖。 圖30是示出根據(jù)該實(shí)施例的視頻解碼裝置的幀內(nèi)預(yù)測器的結(jié)構(gòu) 的框圖。
圖31是示出根據(jù)笫五實(shí)施例的視頻解碼裝置的結(jié)構(gòu)的框圖。
具體實(shí)施例方式
下面將參考附圖詳細(xì)說明視頻編碼方法、視頻編碼裝置、視頻解 碼方法以及視頻解碼裝置。 (第一實(shí)施例)
圖1示出的視頻編碼裝置100被配置成將視頻信號分成多個(gè)像素 塊,并對其進(jìn)行編碼。該視頻編碼裝置100準(zhǔn)備有預(yù)測圖像信號的生 成方法和塊大小彼此不同的多個(gè)幀預(yù)測模式。幀內(nèi)預(yù)測是將預(yù)測限于 一幀內(nèi)、并利用已編碼的參考像素對待預(yù)測塊進(jìn)行預(yù)測的預(yù)測系統(tǒng)。 在本實(shí)施例中假設(shè),如圖4A所示,從左上到右下執(zhí)行編碼處理。
輸入到視頻編碼裝置100的視頻信號被用圖像分割器101分割成 多個(gè)像素塊,作為輸入圖像信號115。被分割的輸入圖像信號115的一部分被輸入到幀內(nèi)預(yù)測器102,并經(jīng)由模式選擇器103和變換器/量 化器104最終用編碼處理器107進(jìn)行編碼,從而輸出編碼數(shù)據(jù)113。
該圖像分割器101將視頻信號分割成多個(gè)像素塊,以為每個(gè)像素 塊生成一個(gè)16x16像素塊,如圖4B所示。該16x16像素塊被稱為宏 塊,其成為下述編碼處理的基本處理塊大小。視頻編碼裝置100以該 宏塊為單位對視頻信號進(jìn)行編碼。
幀內(nèi)預(yù)測器102利用臨時(shí)存儲在參考圖像存儲器106中的參考像 素,對于所有可選擇的預(yù)測模式以宏塊為單位對圖像信號進(jìn)行外插, 以生成預(yù)測圖像信號114,換句話說,幀內(nèi)預(yù)測器102利用圖像內(nèi)預(yù) 測(例如幀內(nèi)預(yù)測),針對可對預(yù)測像素塊執(zhí)行的所有模式,生成預(yù) 測圖像信號114。然而,當(dāng)像H.264(4x4像素預(yù)測(參考圖4C)或8x8 像素預(yù)測(參考圖4D))的幀內(nèi)預(yù)測一樣只有在宏塊中生成局部解碼 圖像才能進(jìn)行下一個(gè)預(yù)測時(shí),可以在幀內(nèi)預(yù)測器102中進(jìn)行變換和量 化、以及逆量化和逆變換。然而,預(yù)測圖像信號是僅用幀內(nèi)預(yù)測器102 生成的。
利用幀內(nèi)預(yù)測器102生成的預(yù)測圖像信號114被發(fā)送到模式選擇 器103。該模式選擇器103通過從輸入圖像信號115減去預(yù)測圖像信 號114來生成預(yù)測誤差信號116。模式選擇器103根據(jù)利用幀內(nèi)預(yù)測 器102預(yù)測的模式信息和所生成的預(yù)測誤差信號116,來選擇預(yù)測模 式。利用由下式表示的成本來具體地說明該實(shí)施例。
K=SAD + X x OH (1 )
其中,OH表示模式信息,SAD表示預(yù)測誤差信號的絕對值和,X 是常數(shù),并且根據(jù)量化寬度或量化參數(shù)的值來確定1。利用以該方式 獲得的成本來確定預(yù)測模式。將使成本K最小的預(yù)測模式選擇為最佳 預(yù)測模式。
在該實(shí)施例中,利用模式信息和預(yù)測誤差的絕對值和。然而,也 可以僅利用模式信息或僅利用預(yù)測誤差的絕對值和來選擇預(yù)測模式。 對模式信息和預(yù)測誤差的絕對值和可以進(jìn)行阿達(dá)瑪變換(Hadmard transform),或者可以利用與其相似的值。另外,可以利用輸入圖像
信號的活動性(activity)來獲得成本,并可以利用量化寬度和量化參 數(shù)來獲得成本函數(shù)。
模式選擇器103與變換器/量化器104連接,并且用模式選擇器103 選擇的模式信息和預(yù)測誤差信號被輸入到變換器/量化器104。變換器/ 量化器104對輸入的預(yù)測誤差信號執(zhí)行正交變換,以生成變換系數(shù)數(shù) 據(jù)。變換器/量化器104在本實(shí)施例中利用DCT等將預(yù)測誤差信號變 換成系數(shù),但是也可以利用例如小波變換或獨(dú)立分量分析的技術(shù)將預(yù) 測誤差信號變換成系數(shù)。變換器/量化器104對變換系數(shù)進(jìn)行量化。利 用編碼控制器108來設(shè)定量化所需的量化參數(shù)。
被量化的變換系數(shù)117與例如預(yù)測信息109的、和預(yù)測方法相關(guān) 的信息以及量化參數(shù)一起被輸出到編碼處理器107。編碼處理器107 對被量化的變換系數(shù)和輸入的預(yù)測信息等執(zhí)行熵編碼(哈夫曼編碼或 算術(shù)編碼)。利用復(fù)用器111將用編碼處理器107進(jìn)行了熵編碼的數(shù) 據(jù)和預(yù)測信息109等進(jìn)行多路復(fù)用,并經(jīng)由輸出緩沖器112將其作為 編碼數(shù)據(jù)113輸出。
逆量化器/逆變換器105根據(jù)用編碼控制器108設(shè)定的量化參數(shù), 對用變換器/量化器104進(jìn)行了量化的變換系數(shù)117進(jìn)行逆量化,并對 變換系數(shù)進(jìn)行逆變換(例如逆DCT),由此將變換系數(shù)解碼為預(yù)測誤 差信號116。
利用加法器118,將用逆量化器/逆變換器105解碼的預(yù)測誤差信 號116與從模式選擇器103提供的選擇預(yù)測模式的預(yù)測圖像信號114 相加。相加信號變成解碼的圖像信號119并被輸入到參考圖像存儲器 106。參考圖像存儲器106將解碼的圖像信號119累積為參考圖像。在 用幀內(nèi)預(yù)測器102生成預(yù)測誤差信號時(shí),參考被累積在參考圖像存儲 器106中的參考圖像。
編碼循環(huán)(圖1中按幀內(nèi)預(yù)測器102—模式選擇器103—變換器/ 量化器104—逆量化器/逆變換器105—參考圖像存儲器的順序執(zhí)行的 處理)對應(yīng)于對宏塊中可選擇的所有預(yù)測模式執(zhí)行編碼處理時(shí)的一個(gè) 循環(huán)。在完成了針對預(yù)測宏塊的編碼循環(huán)時(shí),輸入下一個(gè)塊的輸入圖
像信號115以進(jìn)行編碼。
編碼控制器108對編碼位的數(shù)量執(zhí)行反饋控制、量化特性控制和
模態(tài)控制等。另外,編碼控制器108執(zhí)行對編碼位的數(shù)量進(jìn)行控制的
速率控制、對預(yù)測單元的控制以及對編碼的整體控制。
上述的各部分的功能可以由存儲在計(jì)算機(jī)中的程序?qū)崿F(xiàn)。 下面參考圖2來解釋用于實(shí)現(xiàn)根據(jù)本實(shí)施例的視頻編碼方法的視
頻編碼裝置100的幀內(nèi)預(yù)測器。適當(dāng)?shù)厥÷粤藢εc圖l相似的部分的說明。
幀內(nèi)預(yù)測器102包括內(nèi)部模式選擇器204、內(nèi)部變換器/量化器 206、內(nèi)部逆量化器/逆變換器207以及內(nèi)部參考圖像存儲器209,用以 在與宏塊大小相比要小的塊大小中進(jìn)行預(yù)測。像素適應(yīng)預(yù)測單元201 和方向預(yù)測單元202均包括多個(gè)預(yù)測模式,但是預(yù)測方法彼此不同。 固定模式預(yù)測單元203利用像素適應(yīng)預(yù)測單元201和方向預(yù)測單元 202的預(yù)測方法來對預(yù)測塊進(jìn)行預(yù)測,但是執(zhí)行預(yù)測模式中的不發(fā)送 宏塊級別的模式信息的 一種預(yù)測模式下面詳細(xì)說明方向預(yù)測單元202和像素適應(yīng)預(yù)測單元201。這些 預(yù)測單元利用在參考圖像存儲器106中保持的已解碼的參考像素,對 預(yù)測塊進(jìn)行預(yù)測。如圖5A所示,存在九個(gè)預(yù)測模式,并且除了模式2 之外,它們具有彼此相差22.5度的預(yù)測方向。畫出了除模式2之外的 模式O、 1、 3至8,而模式2描述用方向預(yù)測單元202進(jìn)行的DC預(yù) 測。圖9示出用方向預(yù)測單元202執(zhí)行的方向預(yù)測的模式名稱以及用 像素適應(yīng)預(yù)測單元201執(zhí)行的像素適應(yīng)預(yù)測的模式名稱。圖5B示出 4x4像素預(yù)測的預(yù)測塊和參考像素之間的關(guān)系。大寫字母A至M的像 素是參考像素,而小寫字母a至p的像素是預(yù)測像素。
首先,說明方向預(yù)測單元202的預(yù)測方法。當(dāng)選擇才莫式2的DC 預(yù)測時(shí),方向預(yù)測單元202根據(jù)下式(2)計(jì)算預(yù)測像素。
H=(A+B+C+D), V=(I+J+K+L) (2)
a至p=(H+V+4)>>3
在無法使用參考像素時(shí),通過可用參考像素的平均值對預(yù)測像素
進(jìn)行預(yù)測。如果沒有可用參考像素,則利用編碼裝置的最大輝度值的
半值(如果是8位的話為128)來計(jì)算預(yù)測值。在選擇了其它模式時(shí), 方向預(yù)測單元202利用在圖5A所示的預(yù)測方向上復(fù)制對參考像素進(jìn) 行內(nèi)插而得到的預(yù)測值的預(yù)測方法。更具體地說,根據(jù)下式(3)來描 述在選擇模式0 (垂直預(yù)測)時(shí)生成預(yù)測值的方法。
a, e, i, m=A
b, f, j, n=B
c, g, k, o=C
d, h, 1, p=D (3)
僅在參考像素A至D可用時(shí),才能選擇該預(yù)測模式。圖5C示出 了該預(yù)測方法的細(xì)節(jié)。在垂直方向上將參考像素A至D的亮度值復(fù)制 到預(yù)測像素上,并將其填補(bǔ)為預(yù)測值。
根據(jù)下式(4)說明在選擇了預(yù)測模式4 (正交右下預(yù)測)時(shí)的預(yù) 測方法。
d=(B+(C《l)+D+2) 2
c, h=(A+(B《l)+C+2)>>2
b, g, l=(M+(A《l)+B+2)>>2
a, f, k, p=(I+(M《l)+A+2)>>2
e, j, o=(J+(I《l)+M+2)>>2
i, n=(K+(J《l)+I+2)>>2
m=(L+(K《l)+J+2)>>2 (4)
僅在參考像素A至D以及I至M可用時(shí),才能選擇該預(yù)測模式。 圖5D詳細(xì)示出了該預(yù)測模式。將用三抽頭濾波器生成的值復(fù)制在右 下45度方向上的預(yù)測像素上,并將其填補(bǔ)為預(yù)測值。
對于預(yù)測模式O、 2、 4之外的預(yù)測方法,使用與上述大致相似的 配置。換句話說,從預(yù)測方向上可用的參考像素生成內(nèi)插值,并執(zhí)行 根據(jù)預(yù)測方向?qū)⒃撝祻?fù)制到預(yù)測像素的預(yù)測。
下面說明像素適應(yīng)預(yù)測單元201。像素適應(yīng)預(yù)測單元201通過根 據(jù)預(yù)測像素和參考像素之間的距離來改變使用參考像素的數(shù)量,由此
執(zhí)行預(yù)測。預(yù)測值以像素為單位改變。幀內(nèi)預(yù)測是利用圖像的空間相 關(guān)性的預(yù)測,并基于相鄰像素的亮度值相似的假設(shè)來生成預(yù)測值。在 預(yù)測像素和可用參考像素之間的距離增加時(shí),該假設(shè)不成立,這導(dǎo)致 傾向于增加預(yù)測誤差。由于該原因,在預(yù)測像素和參考像素之間的距 離增加時(shí),通過根據(jù)增加的距離而增加可用像素的數(shù)量來減小預(yù)測誤 差。另外,通過根據(jù)距離改變可用參考像素的加權(quán)表,可以生成高精 度的預(yù)測值。
預(yù)測模式類似于圖5A中說明的預(yù)測模式。圖6A示出參考像素和
預(yù)測塊之間的關(guān)系。圖6A和圖5B示出的參考像素和預(yù)測像素--對
應(yīng)。但是,為了有利于預(yù)測式的說明,對這些像素賦予不同的索引。 參考像素是xOO至x08、 x09、 x18、 x27和x36這13個(gè)像素。預(yù)測像 素是x10至x13、 x19至x22、 x28至x31以及x37至x40這16個(gè)像素。 x14至x17、 x23至x26、 x32至x35以及x41至x44這16個(gè)像素是預(yù) 測輔助像素,并用于提高預(yù)測精度。
下面詳細(xì)說明與像素適應(yīng)垂直預(yù)測(模式0)有關(guān)的預(yù)測值生成 方法。圖6B示出像素適應(yīng)垂直預(yù)測的方法。從圖6B可以看出,在參 考像素和預(yù)測像素之間的距離增加時(shí),利用數(shù)量增多的參考像素確定 預(yù)測值。例如,在預(yù)測像素xlO在預(yù)測方向上距離參考像素一個(gè)像素 時(shí),利用三個(gè)參考像素xOO、 x01和x02計(jì)算預(yù)測值。在預(yù)測像素x20 在預(yù)測方向上距離參考像素兩個(gè)像素時(shí),利用五個(gè)參考像素x00、 x01、 x02、 x03和x04計(jì)算預(yù)測值。在預(yù)測像素x30在預(yù)測方向上距離參考 像素三個(gè)像素時(shí),利用七個(gè)參考像素xOO、 x01、 x02、 x03、 x04、 x05 和x06計(jì)算預(yù)測值。在預(yù)測像素x40在預(yù)測方向上距離參考像素四個(gè) 像素時(shí),利用九個(gè)參考像素x00、 x01、 x02、 x03、 x04、 x05、 x06、 x07和x08計(jì)算預(yù)測值。
下面根據(jù)下式(5 )具體說明預(yù)測值生成方法。在像素適應(yīng)垂直預(yù) 測中,利用下式(5)計(jì)算預(yù)測像素。
X(n)=(X(n-d-l)+(X(n-d)《l)+X(n-d+l)+2) 2 (5)
其中,n表示與圖6A所示的預(yù)測像素位置(x10至x13、 x19至
x22、 x28至x31和x37至x40)對應(yīng)的索引。d由下式給出。 d=(blk-num《l)+l ( 6 )
其中,blk—num在4x4像素塊中為4,在8x8像素塊中為8。 可以想到,該預(yù)測系統(tǒng)不僅利用已編碼的參考像素預(yù)測像素,而 且利用已編碼的預(yù)測像素預(yù)測下一個(gè)像素。圖6示出該概念。為了獲 得預(yù)期的預(yù)測像素,該預(yù)測系統(tǒng)就像利用與參考像素的距離近一個(gè)像 素的預(yù)測像素來執(zhí)行預(yù)測。如果將預(yù)測值代入到式(5 ),并展開式(5 ), 則得到如圖6B所示的預(yù)測方法。
如果根據(jù)參考像素和預(yù)測像素之間的距離展開式(5),則可以得 到下面的預(yù)測式(7)。
義(")=^,jt("-v,) (7)
L表示參考像素和預(yù)測像素之間的距離。Vi表示根據(jù)相應(yīng)的預(yù)測 模式確定的索引。hi表示濾波系數(shù),并且抽頭的數(shù)量根據(jù)L而改變。 關(guān)于像素適應(yīng)垂直預(yù)測,具體說明hi和Vi。圖7示出在4x4像素預(yù) 測中根據(jù)參考像素和預(yù)測圖像之間的距離而使用的權(quán)重濾波系數(shù)hi (加權(quán)表)的例子。
通過利用三個(gè)像素的下式(8),預(yù)測在預(yù)測方向上距離參考像素
一個(gè)像素的預(yù)測像素。
X(n)=(X(n-d-l)+(X(n-d)《l)+X(n-d+l)+2)>>2( 8 ) 其中,n表示與L-l (xl0至xl3)對應(yīng)的索引。濾波系數(shù)為hi-(1,2,1),并對應(yīng)于Vi- (d+l,d,d-l)。
通過利用五個(gè)像素的下式(9),預(yù)測距離參考像素達(dá)兩個(gè)像素的
預(yù)測像素。
X(n)=(X(n-(d《l)-2)+(X(n-(d《l)-l)《2)+ (6X(n-(d《l)))+(X(n-(d《l)+l)<<2)+ X(n-(d《l)+2)+8)》4 ( 9 )
其中,n表示與L = 2 (xl9至x22)對應(yīng)的索引。濾波系數(shù)為hi= (1, 4, 6, 4, 1 ),并對應(yīng)于Vi = (2d+2,2d+l, 2d, 2d-l, 2d-2)。
通過利用七個(gè)像素的下式(10),預(yù)測距離參考像素達(dá)三個(gè)像素
的預(yù)測像素。
X(n) = (X(n-3d陽3)+(6X(n-3d-2)) +(15X(n-3d-l))+ (20X(n-3d))+(15X(n-3d+l))+(6X(n-3d+2))+ X(n-3d+3)+32) 6 (10 )
其中,n表示與L = 3 (x28至x31)對應(yīng)的索引。濾波系數(shù)為hi - (1, 6, 15, 20, 15, 6, 1),并對應(yīng)于Vi - ( 3d+3,3d+2, 3d+l, 3d, 3d-l, 3d-2,3d-3)。
通過利用九個(gè)像素的下式(11),預(yù)測距離參考像素達(dá)四個(gè)像素 的預(yù)測像素。
X(n) = (X(n-(d《2)-4)+(X(n-(d《2)-3)《3) + (28X(n-(d《2)畫2))+(56X(n-(d《2)-l))十 (70X(n-(d《2)))+(56X(n曙(d《2)+l))十 (28X(n-(d《2)+2))+(X(n-(d《2)+3)<<3)+ X(n國(d《2)+4)+128) 8 (11)
其中,n表示與L-4 (x37至x40)對應(yīng)的索引。濾波系數(shù)為hi =(1, 8, 28, 56, 70, 56, 28, 8, 1),并對應(yīng)于Vi = ( 4d+4,4d+3, 4d+2, 4d+l, 4d, 4d-l, 4d-2, 4d-3, 4d-4 )。
通過展開式(5)得到用于預(yù)測的參考像素、參考像素的數(shù)量和加 權(quán)表。利用該表計(jì)算預(yù)測像素的內(nèi)插值。在計(jì)算像素x31的內(nèi)插值時(shí), 使用圖7的表中的L = 3時(shí)的濾波系數(shù)hi- (1, 6, 15, 20, 15, 6, 1 )。 根據(jù)式(9),得到以下的預(yù)測式(12)。 X(31) = (X(01)+(6X(02))+(15X(03))+
(20X(04))+(15X(05)) +(6X(06))+X(07)+32) 6 (12 ) 在沒有相應(yīng)的參考像素時(shí),通過將最后的參考像素值代入到預(yù)測 式中來執(zhí)行預(yù)測。在預(yù)測像素xl9時(shí),無法利用像素x00的左側(cè)的參 考像素。然而,由于可以利用參考像素x09,因此根據(jù)下式(1"執(zhí) 行預(yù)測。
X(19) = (X(09)+X(00)《l)+(5 X(01))十
(X(02)《2)十X(03)+8) 4 (13 )
在此情況下,通過確定用于式(5)中的預(yù)測的像素并展開必要的
預(yù)測值而得到式(12)。
利用下式(14)表示像素適應(yīng)水平預(yù)測(模式l)的預(yù)測式。 X(n) = (X(n-d-l)+(X(n陽l)《l)+X(n+d陽l)+2) 2 …(14 ) 利用下式(15)表示像素適應(yīng)相鄰預(yù)測(模式2)的預(yù)測式。 X(n) = (X(n-l)+X(n+d)+l) >> 1 …(15 )
利用下式(16)表示像素適應(yīng)正交左下預(yù)測(模式3)的預(yù)測式。 X(n) = (X(n-d)+(X(n-d+l)《l)+X(n-d+2)+2) >> 2 …(16 ) 利用下式(17)表示像素適應(yīng)正交右下預(yù)測(模式4)的預(yù)測式。 X(n) = (X(n畫d)+(X(n-d-l)《l)+X(n-l) +2) >> 2 ... (17 ) 利用下式(18)表示像素適應(yīng)垂直左預(yù)測(模式5)的預(yù)測式。 X(n) = (X(n-d)+(X(n-d-l)+l)》1 ... ( 18 )
利用下式(19)表示像素適應(yīng)水平下預(yù)測(模式6)的預(yù)測式。 X(n) = (X(n-d-l)+X(n畫l)+l) 1 ... (19 )
利用下式(20)表示像素適應(yīng)垂直左預(yù)測(模式7)的預(yù)測式。 X(n) = (X(n-d)+X(n-d+l)+l) 1 ... ( 20 )
利用下式(21)表示像素適應(yīng)水平上預(yù)測(模式8)的預(yù)測式。 X(n) = (X(n-l)+X(n+d-l)+l)》1 …(21)
與像素適應(yīng)垂直預(yù)測類似地,為了計(jì)算預(yù)測像素值,將必要的預(yù)
測出的圖像代入該式并展開。結(jié)果,確定了必要的參考像素、參考像
素的數(shù)量以及加權(quán)表。在沒有參考像素時(shí),與像素適應(yīng)垂直預(yù)測相似地填補(bǔ)參考像素。
在利用像素適應(yīng)水平預(yù)測對像素x37進(jìn)行預(yù)測時(shí),無法利用參考像素
x45。因此,如下式(22)所示,利用像素x36填補(bǔ)該參考像素。 X(37) = (X(36)+(X(36)《l)+X(27)+2) >〉 2 =
(3X(36)十X(27)+2)》2 ( 22 )
這樣,由于通過根據(jù)預(yù)測像素和參考像素之間的距離來改變使用
參考像素的數(shù)量,從而完成了更高精度的預(yù)測,因此可以提高編碼效
率。預(yù)測精度的提高使得預(yù)測圖像接近輸入圖像。因此,這是在視覺
上效果好的預(yù)測系統(tǒng)。
隨后,詳細(xì)說明固定模式預(yù)測單元203。固定模式預(yù)測單元203 預(yù)測模式信息,并根據(jù)確定的預(yù)測模式執(zhí)行像素適應(yīng)預(yù)測或方向預(yù)測。 利用相鄰預(yù)測塊的模式信息來預(yù)測所述模式信息。圖8示出了在4x4 像素預(yù)測的情況下相鄰塊之間的關(guān)系。假設(shè)與預(yù)測塊C的左側(cè)相鄰的 塊為A,并且與預(yù)測塊C的上側(cè)相鄰的塊為B。在這兩個(gè)預(yù)測模式被 限定為prev一left一mode和prev一upper一mode時(shí),利用下式(23 )確定 塊C的預(yù)測模式。
current_mode=min(prev_left_mode, prevupper—mode) …(23 )
其中,current—mode表示預(yù)測塊C的預(yù)測模式。函數(shù)min ( A, B ) 表示與A和B中較小者的值。由于根據(jù)周圍塊的預(yù)測模式信息來預(yù)測 預(yù)測塊的預(yù)測模式信息,因此該模式是可以大幅減少對預(yù)測模式信息 進(jìn)行編碼所需的編碼位的數(shù)量的編碼模式之一。根據(jù)下迷的 ex—direct—intra標(biāo)志,確定利用像素適應(yīng)預(yù)測單元201生成預(yù)測圖像 還是利用方向預(yù)測單元202生成預(yù)測圖像,并根據(jù)由編碼控制器108 提供的ex—direct—intra標(biāo)志信息進(jìn)行確定。
在本實(shí)施例中,根據(jù)相鄰預(yù)測塊A和B的預(yù)測;漠式信息確定當(dāng)前 預(yù)測塊的預(yù)測模式信息。作為本實(shí)施例的變型例,可以根據(jù)周圍預(yù)測 塊的預(yù)測模式信息進(jìn)行確定??梢岳妙A(yù)測塊B的右側(cè)的塊、預(yù)測塊 的上側(cè)的塊、預(yù)測塊A的左側(cè)的塊以及預(yù)測塊A的上側(cè)的塊的預(yù)測模 式信息,來確定當(dāng)前預(yù)測塊的預(yù)測模式。例如,可以將周圍預(yù)測塊的 預(yù)測模式中的最頻繁的預(yù)測模式、周圍預(yù)測塊的預(yù)測模式的中值、或 周圍預(yù)測塊的預(yù)測模式的平均值確定為當(dāng)前預(yù)測塊的預(yù)測模式。
下面詳細(xì)說明圖2示出的幀內(nèi)預(yù)測器102的操作。在輸入圖像信 號115被輸入到幀內(nèi)預(yù)測器102時(shí),該信號被輸入到像素適應(yīng)預(yù)測單 元201、方向預(yù)測單元202和固定模式預(yù)測單元203中。利用像素適 應(yīng)預(yù)測單元201、方向預(yù)測單元202和固定模式預(yù)測單元203中的每 一個(gè),根據(jù)預(yù)測模式和預(yù)測塊形狀,生成相應(yīng)的預(yù)測圖像信號114。
然后,如果從編碼控制器108輸入用于禁止預(yù)測的預(yù)測禁止信息,
則相應(yīng)的預(yù)測單元不生成預(yù)測圖像信號。更具體地,在預(yù)測禁止信息
被輸入到像素適應(yīng)預(yù)測單元201時(shí),從像素適應(yīng)預(yù)測單元201不生成 預(yù)測圖像信號114。在預(yù)測禁止信息被輸入到方向預(yù)測單元202時(shí), 從方向預(yù)測單元202不生成預(yù)測圖像信號114。在預(yù)測禁止信息被輸 入到固定模式預(yù)測單元203時(shí),從固定模式預(yù)測單元203不生成預(yù)測 圖像信號114。
在預(yù)測禁止信息被輸入到預(yù)測單元中的 一 個(gè)時(shí),相應(yīng)的預(yù)測單元 不與預(yù)測切換開關(guān)205連接。不允許將預(yù)測禁止信息同時(shí)輸入到像素 適應(yīng)預(yù)測單元201和方向預(yù)測單元202。
由各個(gè)預(yù)測單元預(yù)測的預(yù)測圖像信號114和預(yù)測模式信息被輸入 到內(nèi)部模式選擇器204。內(nèi)部模式選擇器204生成預(yù)測誤差信號116, 該預(yù)測誤差信號116是從輸入圖像信號115減去預(yù)測圖像信號114而 獲得的。內(nèi)部模式選擇器204根據(jù)由各個(gè)預(yù)測單元預(yù)測的模式信息和 所生成的預(yù)測誤差信號116來選擇模式。
利用在式(l)中使用的成本來選擇預(yù)測模式。內(nèi)部模式選擇器 204向編碼控制器108發(fā)送模式信息,該模式信息表示所選擇的預(yù)測 模式是用像素適應(yīng)預(yù)測單元201預(yù)測的預(yù)測模式、還是用方向預(yù)測單 元201預(yù)測的預(yù)測模式。在使用像素適應(yīng)預(yù)測時(shí),下述的 ex—adaptive—intra—flag為真(TRUE),而在使用方向預(yù)測時(shí),該標(biāo) 志為假(FALSE)。編碼控制器108根據(jù)給定的模式信息,控制預(yù)測 切換開關(guān)205。根據(jù)ex—direct—intra_flag確定固定模式預(yù)測是否被執(zhí) 行。在該標(biāo)志為真時(shí),執(zhí)行固定模式預(yù)測,而在該標(biāo)志為假時(shí),不執(zhí) 4亍該預(yù)測。
在ex—adaptive—intra—flag為真時(shí),預(yù)測切換開關(guān)205連接到4象素 適應(yīng)預(yù)測單元201。在ex_adaptive—intra_flag為假時(shí),預(yù)測切換開關(guān) 205連接到方向預(yù)測單元202。在ex_direct_intra—flag為真時(shí),編碼 控制器108將切換開關(guān)205連接到固定模式判定單元203。
在所有像素塊中的預(yù)測完成時(shí),內(nèi)部模式選擇器204從幀內(nèi)預(yù)測 器102輸出宏塊的預(yù)測圖像信號114和模式信息。
預(yù)測切換開關(guān)205連接到內(nèi)部變換器/量化器206。用內(nèi)部模式選 擇器204選擇的模式信息和預(yù)測誤差信號114經(jīng)由切換開關(guān)205被輸 入到內(nèi)部變換器/量化器206。內(nèi)部變換器/量化器206利用離散余弦變 換等將輸入的預(yù)測誤差信號114變換為變換系數(shù),并生成專員系數(shù)數(shù) 據(jù)??梢岳美缧〔ㄗ儞Q或獨(dú)立分量分析的變換,對預(yù)測誤差信號 114進(jìn)行變換。內(nèi)部變換器/量化器206對變換系數(shù)進(jìn)行量化。用編碼 控制器108設(shè)定量化所需的量化參數(shù)。
內(nèi)部逆量化器/變換器207根據(jù)用編碼控制器108設(shè)定的量化參 數(shù),對用內(nèi)部變換器/量化器206量化的變換系數(shù)117進(jìn)行逆量化,并 對經(jīng)逆量化的變換系數(shù)進(jìn)行逆變換(例如,逆DCT),并輸出預(yù)測誤 差信號116。利用內(nèi)部加法器208,將用內(nèi)部逆量化器/逆變換器207 解碼的預(yù)測誤差信號116與用內(nèi)部模式選擇器204選擇的模式的預(yù)測 圖像信號114相加。相加信號作為解碼圖像信號119被輸入到內(nèi)部參 考圖像存儲器209。
內(nèi)部參考圖像存儲器209將解碼圖像信號119作為參考圖像累積。 在用像素適應(yīng)預(yù)測單元201、方向預(yù)測單元202或固定模式預(yù)測單元 203生成預(yù)測圖像信號114等時(shí),參考累積在內(nèi)部參考圖像存儲器209 中的參考圖像。內(nèi)部預(yù)測循環(huán)(按圖2中的像素適應(yīng)預(yù)測單元201、 方向預(yù)測單元202或固定模式預(yù)測單元203—內(nèi)部模式選擇器204—預(yù) 測切換開關(guān)205—內(nèi)部變換器/量化器206—內(nèi)部逆變換器/逆量化器 207—內(nèi)部參考圖像存儲器209的順序執(zhí)行的處理)對應(yīng)于對在宏塊的 像素塊中可選擇的所有預(yù)測模式執(zhí)行編碼處理時(shí)的一個(gè)循環(huán)。
在例如在4x4像素預(yù)測中切換像素適應(yīng)預(yù)測、方向預(yù)測和固定模 式預(yù)測時(shí),總共執(zhí)行16x3次內(nèi)部預(yù)測循環(huán)。在此情況下,編碼控制 器108首先將預(yù)測切換開關(guān)205連接到像素適應(yīng)預(yù)測單元201,以執(zhí) 行16次內(nèi)部預(yù)測環(huán),并確定像素適應(yīng)預(yù)測中以宏塊為單位的最佳模式 組合。
編碼控制器108將預(yù)測切換開關(guān)205連接到方向預(yù)測單元202, 以執(zhí)行16次內(nèi)部預(yù)測循環(huán)。編碼控制器108將預(yù)測切換開關(guān)205連接
到固定模式預(yù)測單元203,根據(jù)內(nèi)部標(biāo)志的狀態(tài)確定使用哪個(gè)預(yù)測方 法來執(zhí)行固定模式預(yù)測,并根據(jù)確定的預(yù)測方法來執(zhí)行預(yù)測。以這種 方式獲得的三個(gè)模式被輸入到模式選擇器103,以便選擇宏塊的最佳 模式。
類似地,在8x8像素預(yù)測的情況中,執(zhí)行4x3次內(nèi)部預(yù)測循環(huán)。 由于16x16像素預(yù)測不需要生成局部解碼圖像,故無需執(zhí)行內(nèi)部預(yù)測 循環(huán)。因此,從幀內(nèi)預(yù)測器102原樣輸出用像素適應(yīng)預(yù)測單元201或 方向預(yù)測單元202預(yù)測的模式和預(yù)測圖像信號。在終止了針對宏塊的 內(nèi)部預(yù)測循環(huán)時(shí),輸入下一個(gè)宏塊的輸入圖像信號115以進(jìn)行編碼。
下面參考圖3說明用視頻編碼裝置100執(zhí)行的視頻編碼方法。
在將視頻信號的一幀輸入到視頻編碼裝置100時(shí)(步驟Sl ),圖 像分割器101將一幀分割為多個(gè)宏塊,并進(jìn)一步將其分割為多個(gè)像素 塊(步驟S2)。將一個(gè)被分割的宏塊作為輸入圖像信號115輸入到幀 內(nèi)預(yù)測器102。然后,模式選擇器103對表示模式的索引和成本進(jìn)行 初始化(步驟S3 )。
幀內(nèi)預(yù)測器102利用輸入圖像信號115,生成預(yù)測塊可選的預(yù)測 模式的預(yù)測圖像信號114 (步驟S4)。模式選擇器103計(jì)算預(yù)測圖像 信號114和輸入圖像信號115之間的差別,以生成預(yù)測誤差信號116。 根據(jù)預(yù)測模式的編碼位數(shù)量OH和預(yù)測誤差信號116的絕對值和 SAD,來計(jì)算成本(步驟S5)。
模式選擇器103確定計(jì)算出的成本是否比最小成本min_cost小 (步驟S6)。在計(jì)算出的成本小于最小成本(是)時(shí),模式選擇器103 將最小成本更新為計(jì)算出的成本,并將所選擇的編碼模式保持為 best—mode索引(步驟S7 )。在計(jì)算出的成本大于最小成本min_cost (否)時(shí),表示模式編號的索引增加,并確定增加的索引是否為最后 一個(gè)模式(步驟S8 )。
在索引大于表示最后一個(gè)模式的編號的MAX(是)時(shí),best—mode 的編碼模式信息和預(yù)測誤差信號116被發(fā)送到變換器/量化器104,以 被變換和量化(步驟S9)。經(jīng)量化的變換系數(shù)117被輸入到編碼處理
器107,并與預(yù)測信息109和預(yù)測切換信息110 —起^t編碼處理器107 進(jìn)行熵編碼(步驟S10)。在索引小于表示最后一個(gè)模式的編號的MAX (否)時(shí),生成由下一個(gè)索引表示的編碼模式的預(yù)測圖像信號114(步 驟S4)。
在best—mode下執(zhí)行編碼時(shí),將經(jīng)量化的變換系數(shù)117輸入到逆 量化器/逆變換器105并對其執(zhí)行逆量化和逆變換,由此將其解碼為預(yù) 測誤差信號116。利用加法器118將該解碼的預(yù)測誤差信號116與預(yù) 測圖像信號114相加,以生成解碼圖像信號119。將該解碼圖像信號 119存儲在參考圖像存儲器106中作為參考圖像。
確定對一個(gè)幀的編碼是否終止(步驟Sll)。在編碼處理完成(是) 時(shí),將下一個(gè)幀輸入到視頻編碼裝置100,并再次執(zhí)行編碼處理。在 對一個(gè)幀的編碼未完成(否)時(shí),將下一個(gè)像素塊的輸入圖像信號輸 入到幀內(nèi)預(yù)測器102,以繼續(xù)編碼處理。
如上所述,本實(shí)施例的視頻編碼裝置IOO對運(yùn)動視頻進(jìn)行編碼。
在本實(shí)施例的像素適應(yīng)預(yù)測中,利用圖7所示的濾波器的加權(quán)表 來計(jì)算預(yù)測像素。在該情況下,按參考像素和預(yù)測像素之間的距離的 增序,對預(yù)測像素進(jìn)行預(yù)測,并將通過預(yù)測獲得的像素值存儲在存儲 器中。在預(yù)測圖像和參考圖像之間的距離增加時(shí),可以將該像素值用 作參考像素。因此,可以按照參考像素和預(yù)測像素在預(yù)測方向上的距 離的增序,確定生成預(yù)測像素的順序。例如在圖6A的像素適應(yīng)垂直 預(yù)測(模式0)中從上到下生成預(yù)測像素時(shí),在L-2的預(yù)測時(shí)可以參 考用L-l生成的預(yù)測像素。類似地,在像素適應(yīng)水平預(yù)測(模式l) 中,在從左到右的方向上生成預(yù)測像素。將所生成的預(yù)測像素保存在
存儲器中,并隨時(shí)用作下一個(gè)預(yù)測的參考像素。結(jié)果,可以抑制計(jì)算 離參考像素的距離遠(yuǎn)的預(yù)測像素的預(yù)測值的運(yùn)算成本,并可以減少硬
件成本。
在該實(shí)施例中,對于4x4像素預(yù)測,詳細(xì)描述像素適應(yīng)幀內(nèi)預(yù)測。 對于8x8像素塊、16x16像素塊以及色差信號可以執(zhí)行類似的預(yù)測。 特別地,由于隨著像素塊大小的增加,參考像素和預(yù)測像素之間的距
離增加,因此像素適應(yīng)預(yù)測提供良好效果。根據(jù)距離,增加用于預(yù)測 的參考像素的數(shù)量,但是為了減少運(yùn)算成本,也可以減少用于預(yù)測的 參考像素的數(shù)量。對于每個(gè)預(yù)測像素,可以有多個(gè)用于預(yù)測的濾波器 的組合。
在該實(shí)施例中,描述如下情況待處理幀被分割為多個(gè)分別具有 16x16像素大小的矩形塊,并且這些塊按從左上到右下的順序被編碼, 然而,編碼順序也可以為另一順序??梢詮挠蚁碌阶笊蠈M(jìn)行編碼, 也可以從幀的中心開始按螺旋形狀對其進(jìn)行編碼??梢詮挠疑系阶笙?對幀進(jìn)行編碼,也可以從外圍向中心的對其進(jìn)行編碼。
在該實(shí)施例中,描述了如下情況按照16x16的塊將待處理幀分 割為多個(gè)宏塊,并根據(jù)8x8像素塊或4x4像素塊進(jìn)行幀內(nèi)預(yù)測。然而, 待處理塊無需具有均一的塊形狀,而可以具有例如16x8像素、8x16 像素、8x4像素、4x8像素等的塊大小。例如,可以在相似的框架內(nèi) 實(shí)現(xiàn)8x4像素預(yù)測或2x2像素預(yù)測。
另外,變換量化塊無需具有均一的塊大小,而可以具有例如16x8 像素、8x16像素、8x4像素、4x8像素的塊大小。另外,在一個(gè)宏塊 中,無需采取均一的塊大小。在宏塊中可以設(shè)置不同的塊大小。例如, 如圖4E所示,8x8像素預(yù)測和4x4像素預(yù)測可以共存在宏塊中。在 該情況下,隨著分割塊的數(shù)量的增加,對分割塊進(jìn)行編碼所需的編碼 位的數(shù)量增加,但是可以實(shí)現(xiàn)更高預(yù)測效率的幀內(nèi)預(yù)測,并且可以減 少預(yù)測誤差。因此,可以考慮變換系數(shù)的編碼位數(shù)量和局部解碼圖像 之間的平衡,來選擇塊大小。
在該實(shí)施例中,僅用幀內(nèi)預(yù)測說明了預(yù)測模式。然而,可以利用 使用幀之間的相關(guān)性來執(zhí)行預(yù)測的幀間預(yù)測。該預(yù)測系統(tǒng)可被用作在 幀間編碼中對片進(jìn)行編碼時(shí)選擇的幀內(nèi)預(yù)測。在該情況下,幀內(nèi)預(yù)測 和幀間預(yù)測無需以宏塊為單位進(jìn)行切換,而可以對每8x8像素塊進(jìn)行 切換,并且可以以8x4像素塊為單位進(jìn)行分割。
在該實(shí)施例中,設(shè)置有變換器/量化器104和逆量化器/逆變換器 105,但是不需要總是對所有的預(yù)測誤差信號進(jìn)行變換/量化和逆量化/
逆變換??梢杂镁幋a處理器107對預(yù)測誤差信號原樣地進(jìn)行編碼,并 且可以省略量化/逆量化處理。類似地,不需要執(zhí)行變換/逆變換處理。
下面將描述對用于在像素適應(yīng)預(yù)測和方向預(yù)測之間進(jìn)行切換的 ex_adaptive—intra_flag 和用于執(zhí)行固定模式預(yù)領(lǐng)'J的 ex—direct—intra—flag進(jìn)行編碼的方法。
在圖13中示意性地示出了在該實(shí)施例中使用的語法(syntax)的 結(jié)構(gòu)。該語法主要由三個(gè)部分(即高級語法(1301)、片級語法(1304) 以及宏塊級語法(1307))構(gòu)成。高級語法(1301)由與片相比更高 層的語法信息填充。片級語法(1304 )由對于每個(gè)片必要的信息指定。 宏塊級語法(1307)由每個(gè)宏塊所需的量化參數(shù)的模式信息或改變值 指定。
每個(gè)語法由更詳細(xì)的語法構(gòu)成。換句話說,高級語法(1301)由 例如序列參數(shù)集語法(1302)和圖像參數(shù)集語法(1303 )的序列以及 圖像級的語法構(gòu)成。片級語法(1304 )由片頭部語法(1305 )和片數(shù) 據(jù)語法(1306)構(gòu)成。宏塊級語法(1307 )由宏塊層語法(1308 )和 宏塊預(yù)測語法(1309 )構(gòu)成。
在該實(shí)施例中,必要的語法信息是序列參數(shù)集語法(1302 )、圖 像參數(shù)集語法(1303 )、片頭部語法(1305 )以及宏塊層語法(008 )。 下面對各個(gè)語法進(jìn)行解釋。
圖14的序列參數(shù)集語法中所示的ex—adaptive—intra—in—seq flag 是指示像素適應(yīng)預(yù)測是否對每個(gè)序列改變的標(biāo)志。在該標(biāo)志為真時(shí), 可以以序列為單位,切換像素適應(yīng)預(yù)測和方向預(yù)測。在該標(biāo)志為假時(shí), 在序列中不能使用像素適應(yīng)預(yù)測。
圖15的圖像參數(shù)集語法中所示的ex—adaptive—intra in—pic—flag 是指示像素適應(yīng)預(yù)測是否對每個(gè)圖像改變的標(biāo)志。在該標(biāo)志為真時(shí), 可以以圖〗象為單位切換像素適應(yīng)預(yù)測和方向預(yù)測。在該標(biāo)志為假時(shí), 在圖像中無法使用像素適應(yīng)預(yù)測。
圖16的片頭部語法中所示的ex—adaptive—intrajn—slice—flag是指 示像素適應(yīng)預(yù)測是否對每個(gè)片改變的標(biāo)志。在該標(biāo)志為真時(shí),可以以
片單位在像素適應(yīng)預(yù)測和方向預(yù)測之間切換。在該標(biāo)志為假時(shí),在片 中無法使用像素適應(yīng)預(yù)測。
圖17的宏塊層語法中所示的ex_adaptive_intra_flag是指示在宏 塊中是否使用了像素適應(yīng)預(yù)測的標(biāo)志。在該標(biāo)志為真時(shí),像素適應(yīng)預(yù) 測-故使用。在該標(biāo)志為假時(shí),方向預(yù)測被使用。該標(biāo)志在 ex_adaptive」ntra_in_seq—flag 、 ex—adaptiveintrain—pic—flag 以及 ex—adaptiveintra—in—slice—flag中的至少一個(gè)為真時(shí)有效。僅在幀內(nèi) 預(yù)測中能夠使用宏塊預(yù)測類型。
圖18的序列參數(shù)集語法中所示的ex_direct_intra_in_seq_flag是 指示固定模式預(yù)測是否對每個(gè)序列改變的標(biāo)志。在該標(biāo)志為真時(shí),可 以以序列為單位在使用與不使用固定模式預(yù)測之間進(jìn)行切換。在該標(biāo) 志為假時(shí),在序列中無法使用固定模式預(yù)測。
圖19的圖像參數(shù)集語法中所示的ex_direct—intra—in—pic—flag是 指示固定模式預(yù)測是否對每個(gè)圖像改變的標(biāo)志。在該標(biāo)志為真時(shí),可 以以圖像為單位切換固定模式預(yù)測的使用與不使用。在該標(biāo)志為假時(shí), 在圖像中無法使用固定模式預(yù)測。
圖20的片頭部語法中所示的ex—direct—intra—in_slice—flag是指示 固定模式預(yù)測是否對每個(gè)片改變的標(biāo)志。在該標(biāo)志為真時(shí),可以以片 為單位在固定模式預(yù)測的使用與不使用之間進(jìn)行切換。在該標(biāo)志為假 時(shí),在片中無法使用固定模式預(yù)測。
圖21A的宏塊層語法中所示的ex—direct—intra—flag是指示在宏塊 中是否使用了固定模式預(yù)測的標(biāo)志。在該標(biāo)志為真時(shí),固定模式預(yù)測 被使用。在該標(biāo)志為假時(shí),無法使用固定模式預(yù)測。該標(biāo)志僅在 ex—direct—intra—in—seq—flag 、 ex—direct—intra—in—pic_flag 以及 ex—direct—intra_in—slice_flag中的至少一個(gè)為真時(shí)有效。僅在幀內(nèi)預(yù) 測中能夠使用宏塊預(yù)測類型。
圖21B示出宏塊預(yù)測語法。在該語法中存儲對應(yīng)的宏塊中的預(yù)測 模式信息。在選擇了除固定模式預(yù)測以外的預(yù)測模式時(shí),該語法設(shè)定 對應(yīng)的預(yù)測模式信息。
在ex_direct_intra_flag為真時(shí),不使用在該語法中所示的 previntra4x4_pred—mode—flag。 prev—intra4x4_pred—mode_flag是指 示通過相鄰預(yù)測塊估計(jì)的預(yù)測模式(current一mode)是否與為預(yù)測對 象塊實(shí)際選擇的預(yù)測模式(pred_mode)相一致的標(biāo)志。在它們彼此 一致(即該標(biāo)志為真)時(shí),不使用rem—intra4x4_pred_mode。在它們 彼此不一致時(shí),進(jìn)一步使用 rem—intra4x4—pred_mode 。 rem—intra4x4_pred—mode表示current—mode和為預(yù)測對象塊實(shí)際選 擇的預(yù)測模式(pred—mode )之間的失配量。在pred—mode比 current mode大時(shí),存儲rem—intra4x4—pred_mode=current—mode 的值。在 predmode 等于或小于 current—mode 時(shí),存儲 rem—intra4x4_pred_mode=current_mode+l的值。
在ex—direct—intra_flag和ex—adaptive—intra—flag都為真時(shí),使 用不發(fā)送像素適應(yīng)預(yù)測中的模式信息的編碼模式。在 ex—direct—intra flag為真且ex—adaptive—intra—flag為假時(shí),4吏用不發(fā) 送方向預(yù)測中的模式信息的編碼模式。
本實(shí)施例提高了遠(yuǎn)離參考像素的預(yù)測像素的預(yù)測精度,并減小了 預(yù)測誤差。
(第二實(shí)施例(編碼))
在圖10所示的根據(jù)第二實(shí)施例的視頻編碼裝置1000中,向第一 實(shí)施例的視頻編碼裝置添加了臨時(shí)編碼/編碼位數(shù)計(jì)數(shù)器1001 、編碼失 真測量單元1002以及編碼切換開關(guān)1003。由于幀內(nèi)預(yù)測器和才莫式選 擇器在功能上與第 一實(shí)施例不同,因此為它們分配了與第 一實(shí)施例不 同的附圖標(biāo)記。在本實(shí)施例中,使用相同的附圖標(biāo)記來指定與圖1相 同的結(jié)構(gòu)元件,并且為了簡短起見,省略了進(jìn)一步的說明。
用圖像分割器101將輸入到視頻編碼裝置1000的視頻信號分割成 多個(gè)像素塊。每個(gè)塊作為輸入圖像信號115被輸入到幀內(nèi)預(yù)測器1004 。 幀內(nèi)預(yù)測器1004利用臨時(shí)存儲在參考圖像存儲器106中的參考圖像, 針對在宏塊中可選擇的所有預(yù)測模式生成預(yù)測圖像信號114。然而, 在像H.264(4x4像素預(yù)測(圖4C )或8x8像素預(yù)測(圖4D ))的幀內(nèi)預(yù)測那樣,除非在宏塊中生成局部解碼圖像,否則無法執(zhí)行下一個(gè)
預(yù)測時(shí),幀內(nèi)預(yù)測器1004可以執(zhí)4亍變換和量化以及逆量化和逆變換。 用幀內(nèi)預(yù)測器1004生成的預(yù)測圖像信號114被發(fā)送到模式選擇器 1005,模式選擇器1005生成預(yù)測誤差信號116,該預(yù)測誤差信號116 是通過從輸入圖像信號115中減去預(yù)測圖像信號114而獲得的。模式 選擇器1005接收用臨時(shí)編碼/編碼位數(shù)測量單元1001累積的編碼位的 數(shù)量1006和用編碼失真測量單元1002計(jì)算出的編碼失真1007,并計(jì) 算編碼成本。通過下式(24)來計(jì)算編碼成本。 J=D+XxR (24)
其中,R表示編碼位的數(shù)量,D是編碼失真,X是常數(shù)并且根據(jù) 量化寬度和量化參數(shù)的值來確定。根據(jù)以該方式獲得的成本來選擇模 式。將提供的成本J的值最小的模式選擇為最佳模式。
在該實(shí)施例中,使用了編碼位的數(shù)量1006和編碼失真1007。然 而,可以僅使用編碼位的數(shù)量或僅使用編碼失真來選擇模式。可以利 用輸入圖像信號115的活動性來計(jì)算成本,并且可以利用量化寬度和 量化參數(shù)來計(jì)算成本函數(shù)。將利用視覺頻率特性或敏感度等進(jìn)行了加 權(quán)的編碼失真用作編碼成本。
模式選擇器1005與變換器/量化器104相連接。用模式選擇器1005 選擇的模式信息和預(yù)測誤差信號116被輸入到變換器/量化器104。變 換器/量化器104通過對預(yù)測誤差信號116進(jìn)行變換和量化而輸出經(jīng)量 化的變換系數(shù)117。
變換系數(shù)117被發(fā)送到臨時(shí)編碼切換開關(guān)1003。在用編碼控制器 108將臨時(shí)編碼標(biāo)志設(shè)為真時(shí),臨時(shí)編碼切換開關(guān)1003將變換器/量化 器104的輸出連接到臨時(shí)編碼/編碼位數(shù)測量單元1001。將變換系數(shù) 117輸入到臨時(shí)編碼/編碼位數(shù)測量單元1001,并對其進(jìn)行臨對熵編碼。 在該情況下,臨時(shí)編碼/編碼位數(shù)測量單元1001累積編碼位的數(shù)量, 并計(jì)算因?qū)嶋H編碼而導(dǎo)致的編碼位的總數(shù)量的估計(jì)值,但是不輸出編 碼的數(shù)據(jù)。用臨時(shí)編碼/編碼位數(shù)測量單元1001計(jì)得的編碼位的數(shù)量 1006被發(fā)送到編碼失真測量單元1002。
編碼失真測量單元1002不僅接收按照用逆量化器/逆變換器105 解碼的預(yù)測誤差信號116與預(yù)測圖像信號114的和而生成的解碼圖像 信號119作為輸入信號,而且還接收輸入圖像信號115,并計(jì)算解碼 圖像信號119和輸入圖像信號115的平方誤差(編碼失真1007 )。編 碼失真測量單元1002將作為輸入的編碼位的數(shù)量1006和通過計(jì)算獲 得的編碼失真1007發(fā)送到模式選擇器1005。
臨時(shí)編碼循環(huán)(按圖10中的幀內(nèi)預(yù)測器1004—模式選擇器1005— 變換器/量化器104—臨時(shí)編碼切換開關(guān)1003—臨時(shí)編碼/編碼位數(shù)測 量單元1001—編碼失真測量單元1002的順序執(zhí)行的處理)對應(yīng)于對 宏塊可選擇的一個(gè)預(yù)測模式執(zhí)行編碼處理時(shí)的一個(gè)循環(huán)。在存在十種 模式時(shí),將臨時(shí)編碼循環(huán)重復(fù)10次。在對在宏塊中可選擇的所有模式 終止了臨時(shí)編碼循環(huán)時(shí),模式選擇器1005將編碼控制器108的臨時(shí)編 碼標(biāo)志設(shè)置為假。
在用編碼控制器108將臨時(shí)編碼標(biāo)志設(shè)置為假時(shí),臨時(shí)編碼切換 開關(guān)1003將變換器/量化器104的輸出連接到編碼處理器107。此時(shí), 模式選擇器1005針對所有的模式計(jì)算編碼成本,并將模式中給出最小 編碼成本的一個(gè)模式的模式信息和變換系數(shù)117發(fā)送到編碼處理器 107。編碼處理器107根據(jù)由輸入的模式信息規(guī)定的方法,對被量化的 變換系數(shù)117進(jìn)行實(shí)際編碼。在該情況下,要被最終編碼的數(shù)據(jù)已在 臨時(shí)編碼時(shí)進(jìn)行了一次編碼。因此,在存儲器中存儲了在臨時(shí)編碼時(shí) 編碼成本為優(yōu)選的模式的模式信息和變換系數(shù),編碼處理器107可以 執(zhí)行讀出存儲在存儲器中的編碼數(shù)據(jù)并對其進(jìn)行復(fù)制的處理,而無需 執(zhí)行編碼。
在對對象宏塊完成了編碼循環(huán)時(shí),下一個(gè)塊的輸入圖像信號115 被輸入到幀內(nèi)預(yù)測器1004,以便對下一個(gè)塊進(jìn)行編碼。編碼控制器108 執(zhí)行編碼位的數(shù)量的反饋控制、量化特性控制、模式控制等,并執(zhí)行 用于控制編碼位的數(shù)量的速率控制、對預(yù)測器的控制以及對整個(gè)編碼 的控制。
可以利用由計(jì)算機(jī)存儲的程序來實(shí)現(xiàn)上述各部分的功能。
下面,參考圖11所示的幀內(nèi)預(yù)測器1004來描述根據(jù)本實(shí)施例的 視頻編碼方法。在本實(shí)施例中,使用相同的附圖標(biāo)記來指示與圖2相 同的結(jié)構(gòu)元件,并且為了簡短起見,省略了進(jìn)一步的描述。
在輸入圖像信號115被輸入到幀內(nèi)預(yù)測器1004時(shí),該信號^皮輸入 到像素適應(yīng)預(yù)測單元201、方向預(yù)測單元202以及固定模式預(yù)測單元 203。利用像素適應(yīng)預(yù)測單元201、方向預(yù)測單元202以及固定模式預(yù) 測單元203中的每一個(gè),生成對應(yīng)于預(yù)測模式和預(yù)測塊形狀的預(yù)測圖 像信號114。
用預(yù)測器201、 202、 203預(yù)測的預(yù)測圖像信號114和預(yù)測模式信 息被分別輸入到內(nèi)部模式選擇器1104。內(nèi)部模式選擇器1104通過從 輸入圖像信號115減去預(yù)測圖像信號114來生成預(yù)測誤差信號116。 內(nèi)部模式選擇器1104根據(jù)用內(nèi)部臨時(shí)編碼/編碼位數(shù)計(jì)數(shù)器1101計(jì)算 出的編碼位的數(shù)量1105以及用內(nèi)部編碼失真測量單元1102計(jì)算出的 內(nèi)部編碼失真,利用式(24)來計(jì)算內(nèi)部編碼成本,并將提供的編碼 成本J的值最小的模式選擇為最佳模式。
在該實(shí)施例中,利用內(nèi)部編碼位的數(shù)量1105和內(nèi)部編碼失真1006 來確定模式。然而,可以僅利用內(nèi)部編碼位的數(shù)量或僅利用編碼失真 來確定模式??梢岳幂斎雸D像信號的活動性來計(jì)算成本,并且可以 利用量化寬度和量化參數(shù)來計(jì)算成本函數(shù)。將利用視覺頻率特性或敏 感度等進(jìn)行了加權(quán)的編碼失真用作編碼成本。
內(nèi)部模式選擇器1104向編碼控制器108發(fā)送模式信息,該模式信 息指示所選擇的模式是用像素適應(yīng)預(yù)測單元201預(yù)測的模式、用方向 預(yù)測單元202預(yù)測的模式、還是用固定模式預(yù)測單元203預(yù)測的模式。 編碼控制器108根據(jù)給定的模式信息來控制預(yù)測切換開關(guān)205。
用內(nèi)部模式選擇器1104選擇的模式信息和預(yù)測誤差信號被輸入 到內(nèi)部變換器/量化器206。變換器/量化器206對輸入的預(yù)測誤差信號 116執(zhí)行正交變換,以生成變換系數(shù)數(shù)據(jù)117。變換器/量化器206對 該變換系數(shù)進(jìn)行量化。用編碼控制器108來設(shè)定量化所需的量化參數(shù)。
編碼控制器108參考臨時(shí)編碼標(biāo)志,并將內(nèi)部臨時(shí)編碼切換開關(guān)
1103連接到內(nèi)部臨時(shí)編碼/編碼位數(shù)測量單元1001,由此將該模式的 變換系數(shù)和模式信息提供到內(nèi)部臨時(shí)編碼/編碼位數(shù)測量單元1101。內(nèi) 部臨時(shí)編碼/編碼位數(shù)測量單元1101對這些輸入數(shù)據(jù)進(jìn)行熵編碼。在 該情況下,內(nèi)部臨時(shí)編碼/編碼位數(shù)測量單元1101累積編碼位的數(shù)量, 并且計(jì)算因?qū)嶋H編碼而導(dǎo)致的編碼位的總數(shù)的估計(jì)值,但是不輸出編 碼的數(shù)據(jù)。用內(nèi)部臨時(shí)編碼/編碼位數(shù)測量單元1101測量的內(nèi)部編碼 位的數(shù)量1105被發(fā)送到內(nèi)部編碼失真測量單元1102。
內(nèi)部編碼失真測量單元1102不僅接收將用內(nèi)部逆量化器/逆變換 器207解碼的預(yù)測誤差信號116與預(yù)測圖像信號114相加而生成的解 碼圖像信號119作為輸入信號,而且還接收輸入圖像信號115,并計(jì) 算解碼圖像信號119和輸入圖像信號115的平方誤差(內(nèi)部編碼失真 1106)。內(nèi)部編碼失真測量單元1102將作為輸入而接收的內(nèi)部編碼位 的數(shù)量1105和通過計(jì)算而獲得的內(nèi)部編碼失真1106發(fā)送到內(nèi)部模式 選擇器1104。
內(nèi)部臨時(shí)編碼循環(huán)(按圖11中的各個(gè)預(yù)測單元—內(nèi)部模式選擇器 1104—預(yù)測切換開關(guān)205—內(nèi)部變換器/量化器206—內(nèi)部臨時(shí)編碼切 換開關(guān)1103—內(nèi)部臨時(shí)編碼/編碼位數(shù)測量單元1101 —內(nèi)部編碼失真 測量單元1102的順序執(zhí)行的處理)對應(yīng)于對宏塊可選擇的一個(gè)預(yù)測模 式執(zhí)行編碼處理時(shí)的一個(gè)循環(huán)。在存在十種模式時(shí),將該內(nèi)部臨時(shí)編 碼循環(huán)重復(fù)十次。在對在像素塊能選擇的所有模式終止了內(nèi)部臨時(shí)編 碼循環(huán)時(shí),內(nèi)部模式選擇器1104將編碼控制器108的臨時(shí)編碼標(biāo)志設(shè) 置為假。
在例如執(zhí)行4x4像素預(yù)測時(shí),對一個(gè)4x4像素塊執(zhí)行像素適應(yīng)預(yù) 測、方向預(yù)測以及固定模式預(yù)測。在該情況下,臨時(shí)編碼循環(huán)重復(fù)9 + 9 + 1次。在4x4Y象素預(yù)測中,對16個(gè)塊執(zhí)行上述預(yù)測,內(nèi)部臨時(shí) 編碼循環(huán)重復(fù)16x ( 9 + 9 + 1 )次。
在用編碼控制器108將臨時(shí)編碼標(biāo)志設(shè)置為假時(shí),內(nèi)部臨時(shí)編碼 切換開關(guān)1103將內(nèi)部變換器/量化器206的輸出連接到幀內(nèi)預(yù)測器 1004的外部。此時(shí),內(nèi)部模式選擇器1104對所有的模式計(jì)算編碼成
本,并將模式中給出最小編碼成本的一個(gè)模式的模式信息和變換系數(shù)
117發(fā)送到幀內(nèi)預(yù)測器1004的外部。
下面,參考圖12描述由視頻編碼裝置1000執(zhí)行的視頻編碼方法。
在將運(yùn)動視頻輸入到視頻編碼裝置1000時(shí)(步驟S001),圖像 分割器101將運(yùn)動視頻的一個(gè)幀分割為多個(gè)宏塊。將一個(gè)被分割的宏 塊作為輸入圖像信號115輸入到幀內(nèi)預(yù)測器(步驟S002 )。此時(shí),模 式選擇器1005和內(nèi)部模式選擇器1104對指示模式和成本的索引進(jìn)行 初始化(步驟S003 )。
幀內(nèi)預(yù)測器1004利用輸入圖像信號115,針對預(yù)測塊可選擇的模 式生成預(yù)測圖像信號114(步驟S004)。模式選擇器1005計(jì)算預(yù)測圖 像信號114和輸入圖像信號115之間的誤差,以生成預(yù)測誤差信號 116。變換器/量化器104對預(yù)測誤差信號116進(jìn)行變換和量化,并將 經(jīng)量化的變換系數(shù)117輸入到臨時(shí)編碼/編碼位數(shù)測量單元1001。臨時(shí) 編碼/編碼位數(shù)測量單元1001對變換系數(shù)進(jìn)行臨時(shí)編碼(步驟S005), 并累積編碼位的數(shù)量。對變換系數(shù)進(jìn)行局部編碼,并用編碼失真測量 單元1002計(jì)算輸入圖像信號和解碼圖像信號的平方誤差。根據(jù)編碼位 數(shù)量R和編碼失真D來計(jì)算編碼成本(步驟S006 )。
模式選擇器1005確定所計(jì)算的編碼成本是否小于最小編碼成本 min—cost (步驟S007)。在結(jié)果為小于時(shí)(是),模式選擇器1005 將最小編碼成本更新為該編碼成本,將對應(yīng)于所計(jì)算的編碼成本的編 碼模式保持為best—mode索引,并在臨時(shí)存儲中存儲臨時(shí)編碼數(shù)據(jù)(步 驟S008 )。在所計(jì)算的編碼成本大于最小編碼成本min_cost時(shí)(否), 模式選擇器1005使指示模式編號的索引增加,并確定增加后的索引是 否指示最后模式(步驟S009 )。
在索引大于指示最后模式的編號的MAX時(shí)(是),用編碼處理 器107將索引與編碼模式信息best_mode、預(yù)測信息109以及預(yù)測重 組信息110—起進(jìn)行熵編碼(步驟SOIO)。在索引小于指示最后模式 的編號的MAX(即,確定為否)時(shí),生成由下一個(gè)索引指示的編碼 模式的預(yù)測圖像信號115 (步驟S004 )。
在best_mode中執(zhí)行編碼時(shí),將經(jīng)量化的變換系數(shù)117輸入到逆 量化器/逆變換器105,以對其進(jìn)行逆量化和逆變換。用加法器118將 被解碼的預(yù)測誤差信號116和從模式選擇器1004提供的best—mode 的預(yù)測圖像信號114相加,并將其作為解碼圖像信號119存儲在參考 圖像存儲器106中。
然后,確定是否完成了一個(gè)幀的編碼(步驟SOll)。在完成了編 碼時(shí)(是),將下一個(gè)幀的輸入圖像信號輸入到圖像分割器101中, 并對下一個(gè)幀執(zhí)行編碼處理。在沒有完成一個(gè)幀的編碼處理時(shí)(否), 將下一個(gè)宏塊的輸入信號輸入到幀內(nèi)預(yù)測器1004,并繼續(xù)編碼處理。
利用視頻編碼裝置1000如上所述執(zhí)行該實(shí)施例的視頻編碼方法。 根據(jù)本實(shí)施例,通過利用臨時(shí)編碼和索引,可以對每個(gè)塊充分地分配 編碼位的數(shù)量,由此提高了編碼效率。 (第三實(shí)施例(編碼))
在圖22中示出的第三實(shí)施例中,向第二實(shí)施例添加了第一幀內(nèi)預(yù) 測器2202和第二幀內(nèi)預(yù)測器2203。由于圖像分割器2201在功能上與 第二實(shí)施例不同,因此對它們賦予與第二實(shí)施例不同的附圖標(biāo)記。在 圖10的實(shí)施例中,使用相同的附圖標(biāo)記來指示與圖1的實(shí)施例中相同 的結(jié)構(gòu)元件,并且為了簡短起見,省略了對其進(jìn)一步的描述。
在圖22所示的視頻編碼裝置2200中,第一幀內(nèi)預(yù)測器2202和第 二幀內(nèi)預(yù)測器2203的區(qū)別僅在于預(yù)測塊的大小,而預(yù)測方法與圖11 所示的幀內(nèi)預(yù)測器1004相同。圖像分割器2201將輸入視頻信號分割 成多個(gè)像素塊。此時(shí),宏塊被分割成不同的塊形狀。 一個(gè)宏塊被分割 成16個(gè)4x4像素塊,另一宏塊被分割成4個(gè)8x8像素塊。將各個(gè)被 分割的塊輸入到第 一 幀內(nèi)預(yù)測器2202和第二幀內(nèi)預(yù)測器2203作為輸 入圖像信號115。第一幀內(nèi)預(yù)測器2202執(zhí)行4x4像素預(yù)測。創(chuàng)建四個(gè) 預(yù)測圖像,每個(gè)預(yù)測圖像由8x8像素塊構(gòu)成,其中8x8像素塊由聚集 在一起的四個(gè)4x4像素塊構(gòu)成。第二幀內(nèi)預(yù)測器"03執(zhí)行8><8像素 預(yù)測。換句話說,第二幀內(nèi)預(yù)測器2203執(zhí)行4次8x8像素預(yù)測。在 完成針對第一個(gè)8x8像素塊的預(yù)測時(shí),基于4x4像素預(yù)測的預(yù)測圖像
信號和基于8x8像素預(yù)測的預(yù)測圖像信號被輸入到模式選擇器1005。 模式選擇器1005根據(jù)給定系統(tǒng)來計(jì)算編碼成本,并從計(jì)算出的編碼成 本中選擇表示最小編碼成本的預(yù)測模式。經(jīng)由變換器/量化器104和逆 量化器/逆變換器105,將對應(yīng)于所選擇的模式的解碼圖像累積在參考 圖像存儲器106中。
在確定了第一個(gè)8x8像素塊的模式時(shí),類似地執(zhí)行下一個(gè)8x8像 素塊的預(yù)測。換句話說,可以在宏塊中以8x8像素為單位,切換4x4 像素預(yù)測和8x8像素預(yù)測。圖4E示出改變宏塊中的預(yù)測塊大小的示 例。在確定了所有四個(gè)8x8像素塊的模式時(shí),編碼控制器108將臨時(shí) 編碼切換開關(guān)1003連接到編碼處理器107以執(zhí)行編碼。此時(shí),同時(shí)對 指示是利用4x4像素預(yù)測還是8x8像素預(yù)測來對8x8像素塊進(jìn)行編碼 的信息進(jìn)行編碼。用編碼處理器107在宏塊中將該信息編碼為4位的 數(shù)據(jù)。
下面,描述改變預(yù)測信息所需的塊大小切換信息的語法。
圖 23 的序列參數(shù)集語法中所示的 ex—adaptivejblocksize—in_seq—flag是指示塊大小切換預(yù)測是否對每個(gè) 序列改變的標(biāo)志。在該標(biāo)志為真時(shí),可以以序列為單位在塊大小切換 預(yù)測的使用和不使用進(jìn)行切換。在該標(biāo)志為假時(shí),在序列中不能使用 塊大小切換預(yù)測。
圖 24 的圖像參數(shù)集語法中所示的 exadaptive_blocksize_in_pic—flag是指示塊大小切換預(yù)測是否對每個(gè) 圖像改變的標(biāo)志。在該標(biāo)志為真時(shí),可以以圖像為單位在塊大小切換 預(yù)測的使用和不使用之間進(jìn)行切換。在該標(biāo)志為假時(shí),在圖像中無法 使用塊大小切換預(yù)測。
圖25的片頭部語法中所示的ex—adaptivejblocksize—in—slice—flag 是指示塊大小切換預(yù)測是否對每個(gè)片改變的標(biāo)志。在該標(biāo)志為真時(shí), 可以以片為單位在塊大小切換預(yù)測的使用和不使用之間進(jìn)行切換。在 該標(biāo)志為假時(shí),在片中無法使用塊大小切換預(yù)測。
圖26的宏塊層語法中所示的ex—adaptiveblocksize—mode是4位
的數(shù)據(jù),并且對應(yīng)于塊大小切換信息。圖28A以對應(yīng)于A、 B、 C和 D的順序示出8x8像素塊是4x4像素預(yù)測還是8x8像素預(yù)測。例如在 ex_adaptive_blocksize—mode為1100時(shí),如圖28B所示,可以看出塊 A和B是按8x8像素預(yù)測進(jìn)行編碼的,而塊C和D是按4x4像素預(yù) 測進(jìn)行編碼的。該數(shù)據(jù)在 ex_adaptive—blocksizein—seq—flag 、 ex—adaptive—blocksize—in_pic—flag 和 ex—adaptive—blocksize—in_sliee_flag中的至少一個(gè)為真時(shí)有效。
不按宏塊層發(fā)送語法,而可以按宏塊類型發(fā)送該語法。圖27示出 針對宏塊類型給出塊大小切換信息的示例。在mb—type為0時(shí),僅通 過4x4^f象素預(yù)測對宏塊進(jìn)行預(yù)測。在mb—type為1時(shí),僅通過8x8 ^象 素預(yù)測對宏塊進(jìn)行預(yù)測。在mbjype表示1到5時(shí),執(zhí)行塊大小切換 預(yù)觀'J。 Intra—A—B_C—D示出哪個(gè)塊被8x8像素預(yù)測所使用。圖28A示 出塊A、 B、 C和D的位置。在例如mb_type為3時(shí),示出通過8x8 像素預(yù)測對塊A和B進(jìn)行預(yù)測。在mb—type為6時(shí),示出執(zhí)行16x16 像素預(yù)測??梢酝ㄟ^以該方式針對mb—type給出塊大小切換信息并對 高選擇頻率的模式給予小索引,來獲得高效率的預(yù)測。
如上所述,該實(shí)施例在多個(gè)可選擇的編碼模式中的每一個(gè)中,以 8x8像素為單位實(shí)際執(zhí)行臨時(shí)編碼處理,選擇與基于每個(gè)8x8像素塊 的模式的編碼數(shù)據(jù)的編碼位的數(shù)量和其編碼失真而計(jì)算出的編碼成本 中的最小編碼成本相對應(yīng)的模式,并根據(jù)所選擇的模式輸出編碼的數(shù) 據(jù)。這樣,由于通過對宏塊中的每個(gè)8x8像素塊改變預(yù)測塊大小來執(zhí) 行模式選擇,因此可以根據(jù)預(yù)測方法來選擇能夠?qū)崿F(xiàn)高編碼效率的編 碼的塊形狀。換句話說,可以根據(jù)像素塊的內(nèi)容來執(zhí)行優(yōu)選的編碼。
這樣,由于無需對所有的各個(gè)模式執(zhí)行具有大負(fù)栽的編碼,而只 需在所選擇的模式中執(zhí)行該編碼,因此可以抑制操作負(fù)載的增加。換 句話說,該實(shí)施例允許選擇高速的優(yōu)選模式,并且可以實(shí)現(xiàn)高速和高 壓縮效率的視頻編碼。
如上所述,在以所選擇的模式對像素塊進(jìn)行編碼的情況下,只需 在所選擇的模式下生成被解碼的視頻信號。在用于確定預(yù)測模式的循
環(huán)中,并不總是需要執(zhí)行編碼。
將說明與視頻編碼裝置對應(yīng)的視頻解碼裝置。 (第四實(shí)施例(解碼))
根據(jù)圖29中示出的視頻解碼裝置,從視頻編碼裝置發(fā)送、經(jīng)由傳 送系統(tǒng)或記錄介質(zhì)系統(tǒng)傳送的編碼數(shù)據(jù)被一次存儲在輸入緩沖器901 中。用解復(fù)用器902對每個(gè)幀根據(jù)語法將編碼數(shù)據(jù)分割成多個(gè)像素塊, 然后將它們輸入到碼串解碼器903。碼串解碼器903根據(jù)圖13所示的 語法結(jié)構(gòu),對高級語法、片級語法和宏塊級語法中的每一個(gè),對編碼 數(shù)據(jù)的每個(gè)語法的碼串進(jìn)行解碼。結(jié)果,重構(gòu)了經(jīng)量化的變換系數(shù)、 量化矩陣、量化參數(shù)、預(yù)測模式信息以及預(yù)測切換信息。
由逆量化器/逆變換器904利用重構(gòu)的信息中的量化矩陣和量化參 數(shù),對經(jīng)量化的變換系數(shù)進(jìn)行逆量化,并對其進(jìn)行正交逆變換(例如, 離散余弦逆變換)。下面描述正交逆變換。然而,在用編碼器執(zhí)行了 小波變換時(shí),逆量化器/逆變換器904可以執(zhí)行與正交逆變換對應(yīng)的逆 量化和小波逆變換。將用逆量化器/逆變換器904進(jìn)行了變換的系數(shù)作 為誤差信號911發(fā)送到加法器905。加法器905將從幀內(nèi)預(yù)測器907 輸出的預(yù)測信號916和誤差信號911相加,并將相加信號作為解碼信 號912輸入到參考圖像存儲器906。將解碼信號912發(fā)送到輸出緩沖 器913,并在由解碼控制器908控制的定時(shí)輸出。
將用碼串解碼器903解碼的預(yù)測模式信息909和預(yù)測切換信息 910輸入到幀內(nèi)預(yù)測器907。將已編碼的參考信號914從參考圖像存儲 器906讀取到幀內(nèi)預(yù)測器907。幀內(nèi)預(yù)測器907根據(jù)輸入的信息生成 預(yù)測信號916,并將其輸入到加法器905。解碼控制器908控制輸入緩 沖器901、輸出緩沖器913或解碼定時(shí)等。
下面參考圖30描述根據(jù)本實(shí)施例的執(zhí)行視頻解碼方法的視頻解 碼裝置900的幀內(nèi)預(yù)測器907。在圖30的實(shí)施例中,使用相同的附圖 標(biāo)記來指示與圖29的實(shí)施例相同的結(jié)構(gòu)元件,并且為了簡短起見,省
略了對其的進(jìn)一步的描述。
在將用碼串解碼器903解碼的預(yù)測模式信息909和預(yù)測切換信息
910輸入到幀內(nèi)預(yù)測器907時(shí),這些信息被一次發(fā)送到預(yù)測控制器 3007。根據(jù)預(yù)測切換信息910來控制預(yù)測切換開關(guān)3001。更具體地講, 將ex_adaptive—intra—flag和ex_direct_intra—flag輸入到預(yù)觀'J控制器 3007作為預(yù)測切換信息。ex_adaptive—intra—flag是指示是通過像素適 應(yīng)預(yù)測還是方向預(yù)測對圖像進(jìn)行預(yù)測的標(biāo)志。如果該標(biāo)志為真,則預(yù) 測切換開關(guān)3001被連接到像素適應(yīng)預(yù)測單元3002。如果該標(biāo)志為假, 則預(yù)測切換開關(guān)3001被連接到方向預(yù)測單元3003 。 ex—direct_intra—flag是指示是否執(zhí)行固定才莫式預(yù)測的標(biāo)志。如果該標(biāo) 志為真,則不管ex—adaptive_intra—flag的狀態(tài)為何,都將預(yù)測切換開 關(guān)3001連接到固定模式預(yù)測單元。在根據(jù)各個(gè)信息切換了預(yù)測切換開 關(guān)3001時(shí),參考信號914被輸入到幀內(nèi)預(yù)測器907。
通過預(yù)測改變開關(guān)3001將參考信號914輸入到與標(biāo)志對應(yīng)的預(yù)測 單元。在將參考信號914輸入到像素適應(yīng)預(yù)測單元3002時(shí),預(yù)測控制 器3007將預(yù)測模式信息909輸入到像素適應(yīng)預(yù)測單元3002。像素適 應(yīng)預(yù)測單元3002根據(jù)該信息執(zhí)行像素適應(yīng)預(yù)測,并生成預(yù)測信號916。 在將參考信號914輸入到方向預(yù)測單元3003時(shí),預(yù)測控制器3007將 預(yù)測模式信息卯9輸入到方向預(yù)測單元3003。方向預(yù)測單元3003才艮 據(jù)該信息執(zhí)行方向預(yù)測,并生成預(yù)測信號916。在將參考信號914輸 入到固定模式預(yù)測單元3004時(shí),預(yù)測控制器3007將預(yù)測模式信息909 輸入到固定模式預(yù)測單元3004。固定模式預(yù)測單元3004根據(jù)該信息 執(zhí)行固定模式預(yù)測,并生成預(yù)測信號916。將由預(yù)測單元3002、 3003 和3004以該方式選擇性地預(yù)測的預(yù)測信號916輸出到幀內(nèi)預(yù)測器907 的外部。
隨后,將描述預(yù)測單元3002、 3003和3004中的每一個(gè)的預(yù)測方 法。這些預(yù)測單元均利用存儲在參考圖像存儲器卯6中的已解碼的參 考信號914對待預(yù)測塊進(jìn)行預(yù)測。如圖5A所示,存在九個(gè)預(yù)測模式, 這九個(gè)預(yù)測模式具有每個(gè)相差22.5度的預(yù)測方向。這些模式被規(guī)定為 模式0到模式8,并且模式2是方向預(yù)測單元3003中的DC預(yù)測。圖 9示出了用方向預(yù)測單元3003進(jìn)行的方向預(yù)測模式的名稱和用像素適
應(yīng)預(yù)測單元3002進(jìn)行的像素適應(yīng)預(yù)測模式的名稱。圖5B示出了 4x4 像素預(yù)測的參考像素和預(yù)測塊之間的關(guān)系。大寫字母A至M的l象素 為參考像素,小寫字母a至p的像素為預(yù)測像素。
首先描述方向預(yù)測單元3003的預(yù)測方法。在選擇了模式2的DC 預(yù)測時(shí),方向預(yù)測單元3003利用式(2)計(jì)算預(yù)測像素。在無法^吏用 參考像素時(shí),通過可用參考像素的平均值來執(zhí)行預(yù)測。如果沒有可用 參考像素,則通過編碼裝置的最高輝度值的半值(如果是8位的話為 128)來計(jì)算預(yù)測值。如果選擇了另一模式,方向預(yù)測單元3003使用 在圖5A所示的預(yù)測方向上復(fù)制通過參考像素進(jìn)行內(nèi)插而得到的預(yù)測 值的預(yù)測方法。例如在選擇了模式0 (垂直預(yù)測)時(shí),預(yù)測值生成方 法使用式(3)。僅當(dāng)可以利用參考像素A至D時(shí),才能選擇該模式。 在該預(yù)測方法中,如圖5C所示將參考像素A至D的亮度值原樣地沿 垂直方向復(fù)制,并將其填補(bǔ)為預(yù)測值。
除預(yù)測模式0和2以外的預(yù)測方法使用與上述近似的框架,并通 過下述方式執(zhí)行預(yù)測從在預(yù)測方向上可用參考像素生成內(nèi)插值,并 根據(jù)預(yù)測方向復(fù)制該值。
下面描述像素適應(yīng)預(yù)測單元3002。預(yù)測模式與參考圖5A描述的 模式相同。像素適應(yīng)預(yù)測單元3002在根據(jù)預(yù)測像素和參考像素之間的 距離而改變可用參考像素的數(shù)量的同時(shí)執(zhí)行預(yù)測,其中預(yù)測值是以像 素為單位改變的。通過根據(jù)距離來改變使用的參考像素的加權(quán)表,可 以生成更高精度的預(yù)測值。
圖6A示出參考像素和預(yù)測塊之間的關(guān)系。圖6A和5B所示的參 考像素和預(yù)測像素彼此一一對應(yīng)。然而,對這些像素給予不同的索引, 以便解釋預(yù)測式。存在13個(gè)參考像素x00至x08、 x09、 xl8、 x27 和x36。存在16個(gè)預(yù)測像素xl0至xl3、 x19至x22、 x28至x31以 及x37至x40。 16個(gè)像素x14至x17、 x23至x26、 x32至x35以及x41 至x44是預(yù)測輔助像素,并且用于提高預(yù)測精度。
下面詳細(xì)描述像素適應(yīng)垂直預(yù)測(模式O)中的預(yù)測值生成方法。 圖6B示出像素適應(yīng)垂直預(yù)測的預(yù)測方法。從圖6B可以看出,隨著參
考像素和預(yù)測像素之間的距離的增加,利用數(shù)量增加的參考像素來確 定預(yù)測值。
下面具體描述預(yù)測值生成方法。像素適應(yīng)垂直預(yù)測利用式(5)計(jì) 算預(yù)測像素。n表示與圖6A所示的預(yù)測像素(x10至x13、 x19至x22、 x28至x31以及x37至x40)中的一個(gè)對應(yīng)的索引。d由式(6)給出。 根據(jù)參考像素和預(yù)測像素之間的距離展開式(5),則得出例如式(7) 的預(yù)測式。L表示參考像素和預(yù)測像素之間的距離。Vi是根據(jù)對應(yīng)的 預(yù)測模式確定的索引。hi表示濾波系數(shù),并且抽頭的數(shù)量根據(jù)L改變。
利用3個(gè)參考像素,通過式(8)計(jì)算在預(yù)測方向上距離參考像素 l個(gè)像素的預(yù)測像素。其中,n表示對應(yīng)于L-l (像素x10至x13) 的索引。濾波系數(shù)是hi- (1、 2、 1),并對應(yīng)于Vi- (d+l、 d、 d-l)。
利用5個(gè)參考像素,通過式(9)預(yù)測在預(yù)測方向上距離參考像素 2個(gè)像素的預(yù)測像素。n表示對應(yīng)于L-2 (像素xl9至x22)的索引。 濾波系數(shù)是hi- (1、 4、 6、 4、 1),并對應(yīng)于Vi- (2d+2、 2d+l、 2d、 2d-l、 2d-2)。
利用7個(gè)參考像素,通過式(10)預(yù)測在預(yù)測方向上距離參考像 素3個(gè)像素的預(yù)測像素。n表示對應(yīng)于L-3 (像素x"至xM)的索 引。濾波系數(shù)是hi- (1、 6、 15、 20、 15、 6、 1),并對應(yīng)于Vi= (3d+3、 3d+2、 3d+l、 3d、 3d-l、 3d-2、 3d畫3)。
利用9個(gè)參考像素,通過式(10)預(yù)測在預(yù)測方向上距離參考像 素4個(gè)像素的預(yù)測像素。n表示對應(yīng)于L-4 (像素x"至"0)的索 引。濾波系數(shù)是hi- (1、 8、 28、 56、 70、 56、 28、 8、 1),并對應(yīng) 于Vi- (4d+4、 4d+3、 4d+2、 4d+l、 4d、 4d-l、 4d-2、 4d-3、 4d-4)。
下面描述各個(gè)模式的預(yù)測式。像素適應(yīng)水平預(yù)測(模式1)利用 式(14)執(zhí)行預(yù)測。像素適應(yīng)左上預(yù)測(模式2)利用式(15)執(zhí)行 預(yù)測。像素適應(yīng)正交左下預(yù)測(模式3)利用式(16)執(zhí)行預(yù)測。像 素適應(yīng)正交右下預(yù)測(模式4)利用式(17)執(zhí)行預(yù)測。像素適應(yīng)垂 直左預(yù)測(模式5 )利用式(18 )執(zhí)行預(yù)測。像素適應(yīng)水平下預(yù)測(模 式6)利用式(19)執(zhí)行預(yù)測。像素適應(yīng)垂直左預(yù)測(模式7)利用式(20)執(zhí)行預(yù)測。像素適應(yīng)水平上預(yù)測(模式8)利用式(21)執(zhí)行 預(yù)測。為了計(jì)算預(yù)測像素值,將所需的預(yù)測圖像代入公式并展開。結(jié) 果,確定所需的參考像素、參考像素的數(shù)量和加權(quán)表。
在沒有參考像素時(shí),與像素適應(yīng)垂直預(yù)測類似地填補(bǔ)參考像素。 在通過像素適應(yīng)水平預(yù)測來預(yù)測像素x37時(shí),無法利用參考4象素x45。 因此,用像素x36來填補(bǔ)該參考像素。
如上所述,通過像素適應(yīng)預(yù)測單元3002執(zhí)^f亍該預(yù)測圖l象生成方法。
下面,詳細(xì)描述固定模式預(yù)測單元3004。固定才莫式預(yù)測單元3004 預(yù)測模式信息,并在所確定的預(yù)測模式下執(zhí)行像素適應(yīng)預(yù)測或方向預(yù) 測。模式信息的預(yù)測使用與預(yù)測對象塊相鄰的預(yù)測塊的模式信息。
圖8示出在4x4^f象素預(yù)測中預(yù)測對象塊和相鄰塊的關(guān)系。假定與 預(yù)測對象塊C的左方相鄰的塊為A,并且與其上方相鄰的塊為B。在 將這兩個(gè)預(yù)測才莫式給出為prev—left—mode和prev—upper_mode時(shí),通 過式(23)確定該塊的預(yù)測模式。curren^mode指示預(yù)測對象塊的預(yù) 測模式。函數(shù)min(A, B)表示塊A和B中較小的一個(gè)的值。這樣,由 于根據(jù)周圍塊的預(yù)測模式信息對預(yù)測對象塊的預(yù)測模式信息進(jìn)行預(yù) 測,因此編碼模式是可大幅減少對預(yù)測模式信息進(jìn)行編碼所需的編碼 位的數(shù)量的編碼模式之一。
通過ex_direet—intra—flag來確定是利用像素適應(yīng)預(yù)測單元201還 是利用方向預(yù)測單元202來生成預(yù)測圖像。根據(jù)從編碼控制器108給 出的ex—direct—intra標(biāo)志來確定。
在本實(shí)施例中,根據(jù)相鄰預(yù)測塊A和B的預(yù)測才莫式信息來確定當(dāng) 前預(yù)測塊的預(yù)測模式信息。作為本實(shí)施例的變型,可以根據(jù)周圍預(yù)測 塊的預(yù)測模式信息來進(jìn)行確定??梢岳迷陬A(yù)測塊B的右側(cè)的塊、在 預(yù)測塊B的上側(cè)的塊、在預(yù)測塊A的左側(cè)的塊以及在預(yù)測塊A的上 側(cè)的塊的預(yù)測模式信息,來確定當(dāng)前預(yù)測塊的預(yù)測模式。例如,可以 將周圍預(yù)測塊的預(yù)測模式中最頻繁的預(yù)測模式、周圍預(yù)測塊的預(yù)測模 式的中值、或周圍預(yù)測塊的預(yù)測模式的平均值確定為當(dāng)前預(yù)測塊的預(yù)
測模式。
對用于在像素適應(yīng)預(yù)測和方向預(yù)測之間進(jìn)行切換的預(yù)測切換信息
的語法進(jìn)行解碼的解碼方法、ex_adaptive—intra_flag、用于預(yù)測固定 才莫式的語法以及ex_direct—intra—flag與圖13至21所示的編碼方法相 同。
(第五實(shí)施例(解碼))
參考圖31來描述與第二實(shí)施例相關(guān)的解碼裝置3100。在該實(shí)施 例中,將第四實(shí)施例的幀內(nèi)預(yù)測器907改變?yōu)榈谝粠瑑?nèi)預(yù)測器3102 和第二幀內(nèi)預(yù)測器3103。新引入塊大小切換開關(guān)3101。在本實(shí)施例中, 使用相同的附圖標(biāo)記來指示與圖29的實(shí)施例相同的結(jié)構(gòu)元件,并且為 了簡短起見,省略了對其的進(jìn)一步描述,將用碼串解碼器903解碼的預(yù)測模式信息909、預(yù)測切換信息910 以及塊大小切換信息915發(fā)送到塊大小切換開關(guān)3101和解碼控制器 908。解碼控制器908根據(jù)塊大小切換信息,將塊大小切換開關(guān)3101 連接到適當(dāng)?shù)慕狱c(diǎn)。
更具體地講,根據(jù)從碼串解碼器 903 給出的 ex—adaptive—blocksize—mode來確定塊大小。
該信息由4位構(gòu)成,并且指示針對宏塊中的8x8像素是執(zhí)行4x4 像素預(yù)測還是8x8像素預(yù)測。這些位從左上到右下順序地分配,并且 如圖28A所示以對應(yīng)于A 、 B 、 C和D的順序排列。在 ex—adaptive—blocksize—mode的值為1100時(shí),如圖28B所示,為塊A 和B分配8x8像素預(yù)測,而為塊C和D分配4x4像素預(yù)測。
如果每個(gè)位的值為0,則解碼控制器903將塊大小切換開關(guān)3101 的第一輸出端連接到第一幀內(nèi)預(yù)測器3102。第一幀內(nèi)預(yù)測器3102對4 個(gè)4x4像素塊執(zhí)行4x4像素預(yù)測,并將預(yù)測圖〗象發(fā)送到加法器905。
如果對應(yīng)于8x8像素塊的每個(gè)位的值為1,則解碼控制器908將 塊大小切換開關(guān)3101的第二輸出端連接到第二幀內(nèi)預(yù)測器3103。第 二幀內(nèi)預(yù)測器3103對一個(gè)8x8像素塊執(zhí)行8x8像素預(yù)測,并將預(yù)測 圖像發(fā)送到加法器905。
第一幀內(nèi)預(yù)測器3102和第二幀內(nèi)預(yù)測器3103在內(nèi)部結(jié)構(gòu)上與圖 30類似,并根據(jù)輸入的預(yù)測切換信息來執(zhí)行確定了塊大小的預(yù)測,并 各自輸出預(yù)測信號。
解碼控制器908執(zhí)行對塊大小切換開關(guān)的控制,以及對輸入緩沖 器901和輸出緩沖器913的控制或?qū)獯a定時(shí)的控制。在本實(shí)施例中 改變預(yù)測信息時(shí)所需的塊大小切換信息的語法與圖24至26所示的語 法相同。不從宏塊層獲得塊大小切換信息,而可以從宏塊類型獲得塊 大小且換信息。
圖27示出從宏塊類型獲取塊大小切換信息的示例。在mb一type 為0時(shí),僅通過4x4像素預(yù)測來對宏塊進(jìn)行預(yù)測。在mb—type為1時(shí), 僅通過8x8像素預(yù)測來對宏塊進(jìn)行預(yù)測。在mb一type為1至5時(shí),執(zhí) 行宏塊大小預(yù)測。Intra_A—B_C—D示出哪個(gè)塊利用8x8像素預(yù)測。圖 28A示出塊A、 B、 C和D的位置。
根據(jù)本實(shí)施例,可以對每個(gè)塊生成高精度的預(yù)測圖像。在執(zhí)行幀 內(nèi)預(yù)測時(shí),預(yù)測模式可以針對每個(gè)序列、每個(gè)片或每個(gè)宏塊改變,所 以可以生成考慮到主觀圖像質(zhì)量的預(yù)測圖像。
在本實(shí)施例中描述了視頻編碼,但是也可以將本發(fā)明應(yīng)用于靜止 圖像編碼。
根據(jù)本發(fā)明,在減少硬件成本的同時(shí)在幀內(nèi)預(yù)測中減少了預(yù)測誤 差,提高了編碼效率,并且能夠生成充分考慮了視覺特性的預(yù)測圖像。
工業(yè)實(shí)用性
可以在各個(gè)領(lǐng)域(例如,視頻、音頻設(shè)備、移動設(shè)備、廣播、信 息終端、網(wǎng)絡(luò))中將本發(fā)明應(yīng)用于運(yùn)動圖像、靜止圖像、語音等的編 碼和解碼。
權(quán)利要求
1.一種圖像編碼方法,包括將對應(yīng)于一幅圖像的輸入圖像信號分割成多個(gè)像素塊信號的步驟;利用數(shù)量根據(jù)預(yù)測像素和已編碼的參考像素之間的距離而變化的參考像素,在由多個(gè)預(yù)測模式中的每一個(gè)限定的方向上,對所述預(yù)測像素進(jìn)行外插,來執(zhí)行各個(gè)內(nèi)部預(yù)測,以生成預(yù)測圖像信號和預(yù)測模式信息的預(yù)測信號生成步驟;從所述像素塊信號和所述預(yù)測圖像信號計(jì)算預(yù)測誤差信號的步驟;利用所述預(yù)測誤差信號來選擇所述多個(gè)預(yù)測模式中的一個(gè)預(yù)測模式的步驟;以及基于所選擇的預(yù)測模式,利用所述預(yù)測誤差信號來對所述圖像信號進(jìn)行編碼的步驟。
2. 如權(quán)利要求1所述的圖像編碼方法,其中,在所述預(yù)測信號生 成步驟中,利用數(shù)量隨著預(yù)測像素和參考像素之間的距離增大而增加 的參考像素,對所述預(yù)測像素進(jìn)行外插。
3. 如權(quán)利要求1或2所述的圖像編碼方法,還包括在特定的像素 塊大小中改變對應(yīng)于所述預(yù)測模式的預(yù)測像素塊信號的塊大小的步 驟。
4. 如權(quán)利要求1或2所述的圖像編碼方法,還包括在特定的像素 塊大小中在所述預(yù)測模式信息的編碼和不編碼之間進(jìn)行切換的步驟。
5. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,其中,所述 預(yù)測信號生成步驟包括根據(jù)參考像素和預(yù)測像素之間的距離來改變 用于預(yù)測的濾波系數(shù)的加權(quán)表的步驟。
6. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,其中,所述 編碼步驟包括將所述預(yù)測誤差信號變換成變換系數(shù)并對其進(jìn)行量化 以生成變換系數(shù)數(shù)據(jù)的步驟。
7. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,其中,所述 預(yù)測信號生成步驟包括在以像素為單位對預(yù)測像素進(jìn)行外插時(shí),在 所迷預(yù)測圖像信號的使用和不使用之間進(jìn)行適應(yīng)性切換的步驟。
8. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,其中,所述 預(yù)測信號生成步驟包括在以一個(gè)像素為單位對預(yù)測像素進(jìn)行外插時(shí),驟。
9. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,其特征在于,內(nèi)部預(yù)測的執(zhí)行和不執(zhí)行之間進(jìn)行轉(zhuǎn)換的步驟,其中,在所述各個(gè)內(nèi) 部預(yù)測中,在每個(gè)序列、每個(gè)圖像或每個(gè)片中利用數(shù)量根據(jù)預(yù)測像素 和已編碼的參考像素之間的距離而變化的像素,在由多個(gè)預(yù)測^=莫式中 的每一個(gè)限定的方向上對預(yù)測像素進(jìn)行外插。
10. 如權(quán)利要求1至4、 6中任一項(xiàng)所述的圖像編碼方法,還包 括根據(jù)所述像素塊信號的量化塊大小在所述預(yù)測模式之間進(jìn)行切換的 步驟。
11. 如權(quán)利要求1至4中任一項(xiàng)所述的圖像編碼方法,還包括根 據(jù)輸入圖像信號的分辨率在所述預(yù)測模式之間進(jìn)行切換的步驟。
12. 如權(quán)利要求1至4、 6中任一項(xiàng)所述的圖像編碼方法,其中, 所述預(yù)測模式選擇步驟包括編碼位數(shù)計(jì)算步驟,根據(jù)所選擇的預(yù)測 模式,在對所述預(yù)測誤差信號進(jìn)行編碼時(shí)計(jì)算編碼位的數(shù)量;以及編 碼失真計(jì)算步驟,根據(jù)所選擇的預(yù)測模式對所述預(yù)測誤差信號進(jìn)行局 部解碼以生成局部解碼的圖像信號,并計(jì)算表示局部解碼的圖像和所 述輸入圖像信號之間的差異的編碼失真。
13. 如權(quán)利要求1至4、 6中任一項(xiàng)所述的圖像編碼方法,其中, 所述預(yù)測信號生成步驟包括下述步驟在以一個(gè)像素為單位進(jìn)行外插 時(shí),根據(jù)由所述預(yù)測模式規(guī)定的預(yù)測方向,改變預(yù)測像素生成的過程, 并將所述已編碼的參考像素和外插得到的預(yù)測像素臨時(shí)存儲在存儲器 中以用于下一預(yù)測。
14. 一種圖像解碼方法,包括對輸入的編碼圖像信號進(jìn)行解碼以生成包括預(yù)測模式信息的解碼 圖像信號的步驟;根據(jù)基于所述解碼圖像信號的預(yù)測模式信息的所選預(yù)測模式以及 已編碼的參考像素和預(yù)測像素之間的距離,來改變用于預(yù)測的參考像 素的數(shù)量和預(yù)測像素生成的過程的步驟;利用以一個(gè)像素為單位外插所述解碼圖像信號的內(nèi)部預(yù)測來生成 預(yù)測圖像信號的預(yù)測圖像信號生成步驟;根據(jù)所述解碼圖像信號來生成預(yù)測誤差信號的預(yù)測誤差信號生成 步驟;以及通過將所述預(yù)測圖像信號和所述預(yù)測誤差信號相加來生成重構(gòu)圖 像的重構(gòu)圖像生成步驟。
15. 根據(jù)權(quán)利要求14所述的圖像解碼方法,還包括塊大小選擇 步驟,在特定的像素塊大小中,對于每個(gè)預(yù)測模式,改變對應(yīng)于該預(yù) 測模式的預(yù)測像素塊的大小。
16. 根據(jù)權(quán)利要求14所述的圖像解碼方法,還包括模式信息選 擇步驟,在特定的像素塊大小中,對預(yù)測模式進(jìn)行預(yù)測,并在已預(yù)測 的預(yù)測模式信息的解碼和不解碼之間進(jìn)行切換。
17. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,其中, 所述預(yù)測信號生成步驟包括在以一個(gè)像素為單位執(zhí)行用于進(jìn)行外插 的內(nèi)部預(yù)測時(shí),根據(jù)參考像素和預(yù)測像素之間的距離來改變用于預(yù)測 的濾波系數(shù)的加權(quán)表的步驟。
18. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,其中, 所述預(yù)測誤差信號生成步驟包括逆量化/逆變換步驟,根據(jù)已解碼的 系數(shù)執(zhí)行逆量化,并對經(jīng)逆量化的變換系數(shù)執(zhí)行逆變換,由此生成所 述預(yù)測誤差信號。
19. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,其中, 所述預(yù)測圖像信號生成步驟包括在已預(yù)測的預(yù)測圖像信號的使用和 不使用之間進(jìn)行適應(yīng)性切換的步驟。
20. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所迷的圖像解碼方法,其中, 所述預(yù)測信號生成步驟包括在已解碼的參考圖像的使用和不使用之 間進(jìn)行適應(yīng)性切換的步驟。
21. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,其中, 所述預(yù)測信號生成步驟包括對每個(gè)序列、每個(gè)圖像或每個(gè)片,在權(quán) 利要求13的內(nèi)部預(yù)測的執(zhí)行和不執(zhí)行之間進(jìn)行切換的步驟。
22. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,還包 括根據(jù)所述圖像塊信號的量化參數(shù)的值小或大,在所述預(yù)測模式之 間進(jìn)行切換的步驟。
23. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,還包 括根據(jù)所述輸入圖像信號的分辨率高或低,在所述預(yù)測模式之間進(jìn) 行切換的步驟。
24. 根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的圖像解碼方法,其中, 生成預(yù)測信號包括如下步驟在以一個(gè)像素為單位執(zhí)行外插時(shí),根據(jù) 由所述預(yù)測模式規(guī)定的預(yù)測方向改變預(yù)測像素生成的過程,并將所述 已編碼的參考像素和外插得到的預(yù)測像素臨時(shí)存儲在存儲器中以用于 下一預(yù)測。
25. —種圖像編碼裝置,包括圖像分割器,將對應(yīng)于一幅圖像的輸入圖像信號分割成多個(gè)像素 塊信號;預(yù)測信號生成器,通過利用數(shù)量根據(jù)預(yù)測像素和已編碼的參考像 素之間的距離而變化的參考像素,根據(jù)由多個(gè)預(yù)測模式中的每一個(gè)限 定的方向?qū)︻A(yù)測像素進(jìn)行外插,來執(zhí)行各個(gè)內(nèi)部預(yù)測,從而生成預(yù)測圖像信號和預(yù)測模式信息;選擇器,利用從所述像素塊信號和所述預(yù)測圖像信號計(jì)算出的預(yù)測誤差信號來選擇所述多個(gè)預(yù)測模式中的一個(gè)預(yù)測模式;以及編碼器,基于所選擇的預(yù)測模式,利用所述預(yù)測誤差信號對所述 圖像信號進(jìn)行編碼。
26. —種圖像解碼裝置,包括 解碼器,對輸入的編碼圖像信號進(jìn)行解碼;預(yù)測信號生成器,通過根據(jù)基于所述解碼圖像信號的預(yù)測模式信 息的所選預(yù)測模式以及已編碼的參考像素和預(yù)測像素之間的距離,來 改變用于預(yù)測的參考像素的數(shù)量和預(yù)測像素生成的過程,并執(zhí)行以一 個(gè)像素為單位進(jìn)行外插的內(nèi)部預(yù)測,從而生成預(yù)測圖像信號;預(yù)測誤差信號生成器,根據(jù)所述解碼圖像信號來生成預(yù)測誤差信 號;以及重構(gòu)圖像生成器,通過將所述預(yù)測圖像信號和所述預(yù)測誤差信號 相加來生成重構(gòu)圖像。
27. —種使計(jì)算機(jī)執(zhí)行下述命令的視頻編碼程序,所述命令包括 用于將對應(yīng)于一幅圖像的輸入圖像信號分割成多個(gè)像素塊信號的命令;用于利用數(shù)量根據(jù)預(yù)測像素和已編碼的參考像素之間的距離而變 化的參考像素,根據(jù)由多個(gè)預(yù)測模式中的每一個(gè)限定的方向,對所述 預(yù)測像素進(jìn)行外插,來執(zhí)行各個(gè)內(nèi)部預(yù)測,以生成預(yù)測圖像信號和預(yù)測模式信息的命令;用于從所述像素塊信號和所述預(yù)測圖像信號計(jì)算預(yù)測誤差信號的命令;用于利用所述預(yù)測誤差信號來選擇所述多個(gè)預(yù)測模式中的一個(gè)預(yù) 測才莫式的命令;以及用于基于所選擇的預(yù)測模式,利用所述預(yù)測誤差信號來對所述圖 像信號進(jìn)行編碼的命令。
28. —種使計(jì)算機(jī)執(zhí)行下述命令的視頻解碼程序,所述命令包括 用于對輸入的編碼圖像信號進(jìn)行解碼以生成包括預(yù)測模式信息的解碼圖像信號的命令;用于根據(jù)基于所述解碼圖像信號的預(yù)測模式信息的所選預(yù)測模式 以及已編碼的參考像素和預(yù)測像素之間的距離,來改變用于預(yù)測的參 考像素的數(shù)量和預(yù)測像素生成的過程的命令;用于利用以一個(gè)像素為單位外插所述解碼圖像信號的內(nèi)部預(yù)測來 生成預(yù)測圖像信號的命令;用于根據(jù)所述解碼圖像信號來生成預(yù)測誤差信號的命令;以及 用于通過將所述預(yù)測圖像信號和所述預(yù)測誤差信號相加來生成重構(gòu)圖像的命令。
全文摘要
本發(fā)明提供了圖像編碼/圖像解碼方法以及圖像編碼/圖像解碼裝置。該圖像編碼方法包括將對應(yīng)于一幀的輸入圖像信號分割成多個(gè)像素塊信號的步驟;利用數(shù)量根據(jù)預(yù)測像素和已編碼的參考像素之間的距離而變化的參考像素來執(zhí)行根據(jù)為多個(gè)預(yù)測模式中的每一個(gè)指定的方向?qū)︻A(yù)測像素進(jìn)行外插的幀內(nèi)預(yù)測,由此生成預(yù)測圖像信號和預(yù)測模式信息的預(yù)測信號生成步驟;從像素塊信號和預(yù)測圖像信號計(jì)算預(yù)測誤差信號的步驟;利用預(yù)測誤差信號來選擇一個(gè)預(yù)測模式的預(yù)測模式選擇步驟;以及利用基于所選擇的預(yù)測模式的預(yù)測誤差信號來執(zhí)行編碼處理的編碼步驟。
文檔編號H04N7/32GK101361370SQ20068005127
公開日2009年2月4日 申請日期2006年11月27日 優(yōu)先權(quán)日2005年11月30日
發(fā)明者中條健, 谷沢昭行 申請人:株式會社東芝