專利名稱:使用圖像修補進行幀內預測編碼/解碼的方法和設備的制作方法
技術領域:
與本發明一致的方法和設備涉及幀內預測編碼/解碼,更具體地,涉及幀 內預測當前塊并隨后基于幀內預測結果對當前塊編碼和解碼。
背景技術:
在視頻壓縮標準(諸如,運動圖像專家組(MPEG) -1、 MPEG-2和 H.264/MPEG-4先進視頻編碼(AVC ))中,圖像被劃分為用于視頻編碼的宏 塊。隨后使用幀間預測和幀內預測來編碼每個宏塊。接下來,基于編碼的宏
式。在選擇的編碼模式下編碼宏塊。
在幀內預測中,取代于參照參考圖像,使用與將被編碼的當前塊空間鄰 近的像素來編碼當前塊。首先,使用與當前塊鄰近的像素的像素值來產生將 被編碼的當前塊的預測塊。僅產生的預測塊的像素值與當前塊的像素值之差 被編碼。幀內預測模式被粗略地劃分為用于亮度分量的4x4幀內預測模式、 8x8幀內預測模式、16x16幀內預測模式以及用于色度分量的幀內預測模 式。
圖1示出根據現有技術的16 x 16幀內預測模式。
參照圖1,存在四種16x 16幀內預測模式,即,垂直模式、水平模式、 直流(DC)模式和平面模式。
圖2示出根據現有技術的4x4幀內預測模式。
參照圖2,存在九種4x4幀內預測模式,即,垂直模式、水平模式、DC 模式、對角線左下模式、對角線右下模式、垂直向右模式、垂直向左模式、 水平向上模式和水平向下模式。
根據幀內預測模式的使用頻率來確定索引到幀內預測模式的預測模式 號。換句話說,由0索引的垂直模式是在幀內預測中最頻繁使用的,水平向 上模式是在幀內預測中最少使用的。
例如,當以模式0(即,圖2中的垂直模式)預測編碼4x4當前塊時,
5使用4 x 4當前塊上面的像素A到像素D的像素值來預測4 x 4當前塊的像素。 換句話說,像素A的像素值被預測為4x4當前塊的第一列的四個像素的像 素值,像素B的像素值被預測為4 x 4當前塊的第二列的四個像素的像素值, 像素C的像素值被預測為4x4當前塊的第三列的四個像素的像素值,像素D 的像素值被預測為4x4當前塊的第四列的四個像素的像素值。接下來,從原 始當前塊減去使用像素A到像素D預測的當前塊的預測塊,從而產生殘差塊。 殘差塊被編碼并^R插入比特流。
在根據H.264標準的視頻編碼中,以總共13種模式(包括4 x 4幀內預 測模式和16x 16幀內預測模式)編碼當前宏塊,以所述13種模式中的一個 最優模式來產生當前塊的比特流。
在根據現有技術的幀內預測中,如圖1和圖2所示,使用與當前塊鄰近 的像素(即,位于當前塊左邊、上邊、左上邊中的至少一個位置)來預測當 前塊。
然而,當包括在當前塊中的像素沒有如圖1和圖2所示的方向性時,通 過如圖1和圖2所示的幀內預測產生不準確的預測塊,從而降低了視頻壓縮 的效率。
發明內容
技術方案
本發明提供了 一種用于幀內預測編碼/解碼的方法和設備以及記錄有用 于執行所述方法的程序的計算機可讀記錄介質,所述方法和設備可使用能夠 準確預測當前塊的幀內預測來幀內預測編碼/解碼當前塊。 有益效果
根據本發明,通過提供允許使用圖像中的空間冗余的附加幀內預測模式, 宏塊的當前塊可^皮準確地幀內預測,從而提高-見頻編碼的壓縮效率。
通過參照附圖對示例性實施例進行的詳細描述,本發明的上述和其它方 面將會變得更加清楚,其中
圖1示出根據現有技術的16 x 16幀內預測模式; 圖2示出根據現有技術的4x4幀內預測模式;圖3是根據本發明示例性實施例的視頻編碼器的框圖5A到圖5E是用于解釋根據本發明示例性實施例的圖像修補的示圖; 圖6是示出根據本發明示例性實施例的用于圖像修補的搜索區的示圖; 圖7A到圖7C是示出根據本發明示例性實施例的修補區的邊界改變的處 理的示圖8是示出根據本發明示例性實施例的視頻編碼方法的流程圖9是根據本發明示例性實施例的視頻解碼器的框圖10是示出根據本發明示例性實施例的視頻解碼方法的流程圖。
具體實施例方式
最優模式
根據本發明的一方面,提供了一種幀內預測編碼的方法。所述方法包括 基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當 前圖像的先前編碼區中的像素來執行圖像修補,從而預測當前塊;從當前塊 減去產生作為預測結果的預測塊,從而產生當前塊的殘差塊;編碼產生的殘 差塊。
預測當前塊的步驟可包括使用在與當前塊和當前圖像的先前編碼區之 間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行基于樣 本的圖像修補;根據基于樣本的圖像修補的結果預測當前塊。
基于樣本的圖像修補的步驟可包括設置當前塊與當前圖像的先前編碼 區之間的邊界作為將被修補的區的邊界;從與將被修補的區的邊界相鄰的像 素中選擇具有最高修補優先級的像素;在當前圖像的先前編碼區中搜索與包 括選擇的像素的補片相似的補片;基于搜索結果修補宏塊中的未編碼的區; 基于修補結果更新將被修補的區的邊界;重復執行這些步驟直到當前塊被修 補。
補片可具有3像素乘以3像素的大小或5像素乘以5像素的大小。 搜索補片的步驟可包括搜索與包括先前編碼區中的選擇的像素的補片 相似的補片,所述先前編碼區限制在從包括當前塊的宏塊的邊界的32像素范圍內。
根據本發明的另一方面,提供了一種幀內預測編碼的設備。所述設備包
7括幀內預測單元,基于在與當前塊和當前圖像的先前編碼區之間的邊界相
鄰的像素中包括在當前圖像的先前編碼區中的像素來執行圖像修補,從而預
測當前塊;減法單元,從當前塊減去產生作為預測結果的預測塊,從而產生 當前塊的殘差塊;編碼單元,編碼產生的殘差塊。
根據本發明的另一方面,提供了一種幀內預測解碼的方法。所述方法包 括對當前塊的殘差塊解碼;基于在與當前塊和當前圖像的先前解碼區之間 的邊界相鄰的像素中包括在當前圖像的先前解碼區中的像素來執行圖像修 補,從而預測當前塊;將產生作為預測結果的預測塊與殘差塊相加,從而重 建當前塊。
預測當前塊的步驟可包括使用在與當前塊和當前圖像的先前解碼區之 間的邊界相鄰的像素中包括在當前圖像的先前解碼區中的像素來執行基于樣 本的圖像修補;根據基于樣本的圖像修補的結果預測當前塊。
根據本發明的另一方面,提供了一種幀內預測解碼的設備。所述設備包 括解碼單元、幀內預測單元和加法單元。解碼單元對當前塊的殘差塊解碼。 幀內預測單元基于在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像 素中包括在當前圖像的先前解碼區中的像素來執行圖像修補,從而預測當前 塊。加法單元將產生作為預測結果的預測塊與殘差塊相加,從而重建當前塊。
根據本發明的另 一方面,提供了 一種記錄有用于執行幀內預測編碼/解碼 的方法的程序的計算機可讀記錄介質。 發明模式
以下,參照附圖來詳細描述本發明的示例性實施例。應該注意,在一個 或多個附圖中示出的相同的標號表示相同的部件。在本發明的以下描述中, 為了簡潔和清楚,將省略合并于此的已知功能和結構的詳細描述。
圖3是根據本發明示例性實施例的視頻編碼器300的框圖。
參照圖3,根據本發明示例性實施例的視頻編碼器300包括幀內預測單 元310、減法單元320、編碼單元330和重建單元340。
幀內預測單元310使用當前圖像中的空間冗余產生當前塊的預測塊。幀 內預測單元310提供除了已經參照圖1和圖2描述的幀內方向預測之外的新 的預測模式。基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像 素中包括在編碼區中的像素執行圖像修補,從而預測當前塊。
幀內預測單元310可包括將參照圖4詳細描述的圖^^ff補單元312和預
8測單元314。圖4是用于解釋根據本發明示例性實施例的幀內預測的示圖。 參照圖4,圖像修補單元312使用在與當前塊440和當前圖像400的先
前編碼區410之間的邊界相鄰的像素來執行圖像修補。優選地,圖像修補單
元312使用與當前塊440的邊界相鄰的先前解碼區410中包括的像素450來
執行圖像修補。在以下描述中,假設當前塊440是4x4塊并且包括當前塊
440的宏塊430是16 x 16塊來描述幀內預測。
在當前塊440與當前圖像400的先前解碼區410之間的邊界被設置為將
被修補的區或修補區的初始邊界,使用在與初始邊界相鄰的像素中的包括在
先前編碼區410中的像素450來執行圖像修補。
對于圖像修補,期望執行下面將參照圖5A到圖5E描述的基于樣本的圖
像修補。
圖5A到圖5E是用于解釋根據本發明示例性實施例的參照圖4的圖像修 補的示圖。
參照圖5A,基于在與當前塊440和先前編碼區410之間的邊界相鄰的像 素中的包括在先前編碼區410中的像素來執行圖l象修補,以預測當前塊440。
首先,乂人與當前塊440和當前圖像400的先前編碼區410之間的邊界相 鄰的像素中選擇具有最高修補優先級的像素510。雖然沒有限制選擇具有最 高修補優先級的像素的方法,但是期望基于修補區的邊界與每個像素的邊緣 方向之間的角度來計算修補優先級。
在選擇具有最高修補優先級的像素510的情況下,如在圖5B中所示設 置包括選擇的像素510以及與選擇的像素510相鄰的像素的補片520。補片 520是圖像修補單位,可使用各種大小(諸如,3x3和5x5)的圖像修補單 位執行圖像修補。在以下描述中,假設補片520具有3x3的大小。
在具有最高修補優先級的像素510周圍設置補片520之后,使用包括在 補片520中的像素中包括在先前編碼區410中的像素522在當前圖像400的 先前編碼區410中搜索與補片520最相似的補片。例如,可通過搜索與包括 在先前編碼區410中的像素522具有最小絕對誤差和(SAD)的補片來找到 最相似的補片。
一旦找到最相似的補片,則找到的補片的一部分被復制到補片520,從 而執行圖像修補。在圖5B中,包括在找到的相似補片中的像素中包括在找到 的相似補片的最右列中的像素的值作為包括在補片520的未編碼區中的像素524的值。
在完成第一圖像修補之后,基于圖5C所示的修補像素來更新修補區的 邊界。在更新的邊界中再次選擇具有最高修補優先級的像素530。
接下來,如圖5D所示在選擇的像素530周圍設置補片540。使用包括在 補片540中的像素中的包括在先前編碼區410中的像素542和包括在先前修 補區中的像素544在先前編碼區410中搜索與補片540最相似的補片。根據 搜索結果修補包括在補片540的剩余區中的像素546的值。
在完成第二圖像修補之后,如圖5E所示再次更新修補區的邊界。重復 圖像修補直到包括在當前塊440中的所有像素被4務補。
為了加速修補處理,可通過增加補片的大小來增加一次修補的像素的數 量。此外,可限制使用設置的補片520或540搜索的當前圖像400的先前編 碼區410。
圖6是示出根據本發明示例性實施例的用于圖像修補的搜索區的示圖。
當使用包括在參照圖5B和圖5D描述的設置的補片520或540中的像素 搜索先前編碼區410時,可^U叟索先前編碼區410的一部分。
更具體地,搜索區被設置為限制在宏塊430周圍,僅在限制的搜索區中 執行搜索。例如,搜索區可被限制為區610,所述區610具有從宏塊430的 左端邊界在向左方向612定位32像素的邊界、從宏塊430的邊界的右端邊界 在向右方向614定位32像素的邊界以及從宏塊430的上端邊界在向上方向 616定位32像素的邊界。
參照回圖3,在圖像修補單元312修補包括在當前塊440中的所有像素 之后,預測單元314基于圖像修補單元312的修補結果預測當前塊440。優 選的是,預測單元314預測由圖像修補單元312獲得的修補塊作為當前塊440 的預測塊。
減法單元320從當前塊400減去在幀內預測單元310中產生的預測塊, 從而產生殘差塊。
編碼單元330編碼減法單元320產生的殘差塊。編碼單元330還對殘差 塊執行離散余弦變換(DCT)以產生DCT系數并量化產生的DCT系數。編 碼單元330隨后編碼量化的DCT系數并將編碼的DCT系數插入比特流。
重建單元340對量化的DCT系凄t執行反量化和逆DCT,從而重建殘差 塊。重建的殘差塊被加到預測單元314產生的預測塊,從而被重建為當前塊
10440。重建的當前塊440用于下一塊442的預測,這將參照圖7A到圖7C詳 纟田4苗述。
圖7A到圖7C是示出根據本發明示例性實施例的修補區的邊界改變的處 理的示圖。
參照圖7A,示出用于預測包括在宏塊430中的塊440的在塊440與包括 在用于執行圖像修補的修補區的先前編碼區的像素450之間的初始邊界。然 而,參照圖7B,在完成塊440的編碼之后,與塊440的右端相鄰的塊442被 預測編碼。因此,當預測與塊440的右端相鄰的塊442時,當前塊440必須 被包括在先前編碼區410中。
其結果是,當執行圖像修補以預測與塊440的右端相鄰的塊442時,在 塊442與像素452之間的初始邊界如圖7B所示。參照圖7B,修4卜區的初始 邊界被設置為包括宏塊430的邊界和塊442的邊界。使用與修補區的初始邊 界相鄰的^^素452重復參照圖5A到圖5E所述的圖^^奮補,直到與塊440的 右端相鄰的塊442 一t修補。
在完成塊442的預測編碼之后,與當前塊440的下端相鄰的塊444被預 測編碼。相似于與當前塊440的右端相鄰的塊442的情況,在完成當前塊440 的編碼之后,與當前塊440的下端相鄰的塊444被預測編碼。因此,當與當 前塊440的下端相鄰的塊444被預測時,初始邊界在塊444與像素454之間。
參照圖8,在操作810,根據本發明示例性實施例的視頻編碼器300基于 在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素來執行圖像修 補,從而產生當前塊的預測塊。
優選地是,視頻編碼器300將當前塊與當前圖像的先前編碼區之間的邊 界設置為修補區的初始邊界,并執行參照圖5A到圖5E所述的基于樣本的圖 像修補。
在操作820,視頻編碼器300從當前塊減去在操作810產生的預測塊作 為預測結果,從而產生當前塊的殘差塊。
在操作830,視頻編碼器300編碼在操作820產生的殘差塊。為此,視 頻編碼器300對殘差塊執行DCT以產生DCT系數并量化產生的DCT系數。 視頻編碼器300隨后對量化的系數執行熵編碼并將編碼的系數插入比特流。
圖9是根據本發明示例性實施例的視頻解碼器900的框圖。參照圖9,根據本發明示例性實施例的視頻解碼器卯0包括解碼單元910、 幀內預測單元920和加法單元930。
解碼單元910對當前塊的殘差塊解碼。為此,解碼單元910接收用于殘 差塊的數據,并對接收的數據執行熵解碼。解碼單元910對產生作為熵解碼 的結果的殘差塊的量化的DCT系數執行反量化。解碼單元910對反量化的 DCT系數執行逆DCT,從而對殘差塊解碼。
與視頻編碼器300的幀內預測單元310相似,幀內預測單元920以根據 本發明示例性實施例的新的預測模式執行幀內預測,從而產生當前塊的預測 塊。更具體地,幀內預測單元920基于在與當前塊和當前圖像的先前編碼區 之間的邊界相鄰的像素中包括在先前編碼區中的像素執行圖像修補,從而預 測當前塊。
幀內預測單元920可包括圖像修補單元922和預測單元924。
圖像修補單元922使用在與當前塊和當前圖像的先前編碼區之間的邊界 相鄰的像素來執行圖像修補。如上所述,圖像修補單元922可使用基于樣本 的圖像修補執行圖像修補。
如上參照圖5A到圖5E所述,圖像修補單元922將當前塊與當前圖像的 先前編碼區之間的邊界設置為修補區的初始邊界,并重復基于樣本的圖像修 補,從而修補當前塊。
預測單元924基于圖像修補單元922獲得的預測結果產生當前塊的預測塊。
碼的殘差塊相加,^v而重建當前塊。重建的當前塊^皮發送到幀內預測單元920 以用于下 一 塊的幀內預測。
參照圖10,在操作1010,根據本發明示例性實施例的視頻解碼器900 對當前塊的殘差塊解碼。為此,視頻解碼器900對殘差塊的數據執行熵解碼、 反量化和逆DCT, ^人而重建殘差塊。
在操作1020,視頻解碼器900基于與當前圖像的先前解碼區和當前圖像 的未解碼區之間的邊界相鄰的像素來執行圖像修補,從而預測當前塊。
優選的是,視頻解碼器卯0基于與當前塊和當前圖像的先前編碼區之間 的邊界相鄰的像素來執行基于樣本的圖像修補。與視頻編碼相關的描述的幀內預測對稱地在碎見頻解碼中使用。
在操作1030,^L頻解碼器900將操作1010中解碼的殘差塊加到操作1020 中產生的預測塊,從而重建當前塊。
本發明也可被實施為計算機可讀記錄介質上的計算機可讀代碼。計算機 可讀記錄介質可以是存儲其后可被計算機系統讀取的數據的任何數據存儲裝 置。計算機可讀記錄介質的示例包括只讀存儲器(ROM)、隨機訪問存儲 器(RAM)、 CD-ROM、磁帶、軟盤和光數據存儲裝置。計算機可讀記錄介 質還可分布于聯網的計算機系統,從而以分布方式存儲和執行計算機可讀代 碼。
雖然已經參照本發明的示例性實施例具體示出和描述了本發明,但是本 領域的技術人員應該理解,在不脫離由權利要求限定的本發明的精神和范圍 的情況下,可以進行形式和細節上的各種改變。
權利要求
1、一種幀內預測編碼的方法,包括基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行圖像修補,以產生當前塊的預測塊;從當前塊減去預測塊,以產生當前塊的殘差塊;以及編碼產生的殘差塊。
2、 如權利要求1所述的幀內預測編碼的方法,其中,執行圖像修補的步驟包括使用在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行基于樣本的圖像修補;以及根據基于樣本的圖像修補的結果產生預測塊。
3、 如權利要求2所述的幀內預測編碼的方法,其中,執行基于樣本的圖像修補的步驟包括a) 設置當前塊與當前圖像的先前編碼區之間的邊界作為將被修補的區的邊界;b) 從與將被修補的區的邊界相鄰的像素中選擇具有最高修補優先級的像素;c) 在當前圖像的先前編碼區中搜索與包括選擇的像素的補片相似的補片,產生搜索結果;d) 基于搜索結果修補宏塊中的未編碼的區;e) 基于操作d)的修補結果更新將被修補的區的邊界;以及f) 重復執行操作b)到操作e)直到當前塊被修補。
4、 如權利要求3所述的幀內預測編碼的方法,其中,補片具有3像素乘以3像素的大小或5像素乘以5像素的大小。
5、 如權利要求3所述的幀內預測編碼的方法,其中,搜索補片的步驟包括搜索與包括先前編碼區中的選擇的像素的補片相似的補片,所述先前編碼區限制在從包括當前塊的宏塊的邊界的32像素范圍內。
6、 一種幀內預測編碼的設備,包括幀內預測單元,基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行圖像修補,以產生當前塊的預測塊;減法單元,從當前塊減去預測塊,以產生當前塊的殘差塊;以及編碼單元,編碼產生的殘差塊。
7、 如權利要求6所述的幀內預測編碼的設備,其中,幀內預測單元包括: 圖像修補單元,使用在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行基于樣本的圖像修 補;和預測單元,根據基于樣本的圖像修補的結果產生預測塊。
8、 一種幀內預測解碼的方法,包括 對當前塊的殘差塊解碼;基于在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像素中包括 在當前圖像的先前解碼區中的像素來執行圖像修補,以產生當前塊的預測塊; 將預測塊與殘差塊相加,以重建當前塊。
9、 如權利要求8所述的幀內預測解碼的方法,其中, 一丸行圖像修補的步 驟包括使用在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像素中包括 在當前圖像的先前解碼區中的像素來執行基于樣本的圖像修補;以及 根據基于樣本的圖像修補的結果產生預測塊。
10、 如權利要求9所述的幀內預測解碼的方法,其中,執行基于樣本的 圖像修補的步驟包括a) 設置當前塊與當前圖像的先前解碼區之間的邊界作為將被修補的區 的邊界;b) 從與將被修補的區的邊界相鄰的像素中選擇具有最高修補優先級的 像素;c) 在當前圖像的先前解碼區中搜索與包括選擇的像素的補片相似的補 片,產生搜索結果;d) 基于搜索結果修補宏塊中的未解碼的區;e) 基于操作d)的修補結果更新將被修補的區的邊界;以及f) 重復執行操作b)到操作e)直到當前塊被修補。
11、 如權利要 求IO所述的幀內預測解碼的方法,其中,補片具有3像素 乘以3像素的大小或5像素乘以5像素的大小。
12、 如權利要求IO所述的幀內預測解碼的方法,其中,搜索補片的步驟包括搜索與包括先前解碼區中的選擇的像素的補片相似的補片,所述先前解碼區限制在從包括當前塊的宏塊的邊界的32像素范圍內。
13、 一種幀內預測解碼的設備,包括解碼單元,對當前塊的殘差塊解碼;幀內預測單元,基于在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像素中包括在當前圖像的先前解碼區中的像素來執行圖像修補,以產生當前塊的預測塊;加法單元,將預測塊與殘差塊相加,以重建當前塊。
14、 如權利要求13所述的幀內預測解碼的設備,其中,幀內預測單元包括圖像修補單元,使用在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像素中包括在當前圖像的先前解碼區中的像素來執行基于樣本的圖像修補;和預測單元,根據基于樣本的圖像修補的結果產生預測塊。
15、 一種記錄有用于執行幀內預測編碼的方法的程序的計算機可讀記錄介質,包括基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行圖像修補,以產生當前塊的預測塊;從當前塊減去預測塊,以產生當前塊的殘差塊;以及編碼產生的殘差塊。
16、 一種記錄有用于執行幀內預測解碼的方法的程序的計算機可讀記錄介質,包括對當前塊的殘差塊解碼;基于在與當前塊和當前圖像的先前解碼區之間的邊界相鄰的像素中包括在當前圖像的先前解碼區中的像素來執行圖像修補,以產生當前塊的預測塊;將預測塊與殘差塊相加,以重建當前塊。
全文摘要
提供了一種幀內預測編碼/解碼的方法和設備。所述方法包括基于在與當前塊和當前圖像的先前編碼區之間的邊界相鄰的像素中包括在當前圖像的先前編碼區中的像素來執行圖像修補,以預測當前塊;使用預測結果對當前塊執行預測編碼。因此,可提供一種能夠準確預測當前塊的新的幀內預測模式。
文檔編號H04N7/32GK101682780SQ200880020003
公開日2010年3月24日 申請日期2008年6月11日 優先權日2007年6月14日
發明者孫有美, 樸正輝, 閔正惠, 韓宇鎮 申請人:三星電子株式會社