用于使用幀內預測進行圖像編碼和解碼的方法和設備的制作方法
【專利摘要】一種對圖像進行幀內預測的方法和設備,所述方法和設備經由沿當前預測單元的水平和垂直方向的線性插值來產生預測值。所述方法包括:通過使用位于當前預測單元右上側和左下側的至少一個鄰近像素來產生第一虛擬像素和第二虛擬像素;經由使用位于與第一虛擬像素相同行上的鄰近左側像素和當前像素的線性插值來獲取當前像素的第一預測值;經由使用位于與第二虛擬像素相同列上的鄰近上側像素和當前像素的線性插值來獲取當前像素的第二預測值;通過使用第一預測值和第二預測值獲取當前像素的預測值。
【專利說明】用于使用幀內預測進行圖像編碼和解碼的方法和設備
【技術領域】
[0001]本發明涉及圖像的編碼和解碼,更具體地,涉及一種用于圖像的幀內預測編碼和幀內預測解碼的方法和設備,其中,通過使用各種方向和新的幀內預測模式提高了圖像的壓縮效率。
【背景技術】
[0002]在圖像壓縮方法(諸如,運動圖像專家組(MPEG ) -1、MPEG-2、MPEG-4或H.264/MPEG-4先進的視頻編碼(AVC))中,為了對圖像進行編碼,畫面被劃分為宏塊。按照所有編碼模式(其中,所有編碼模式可被用于幀間預測或幀內預測)對每個宏塊進行編碼,并隨后按照根據用于對宏塊進行編碼的比特率和基于原始宏塊的解碼宏塊的失真程度來選擇的編碼模式對每個宏塊進行編碼。
[0003]隨著用于再現和存儲高分辨率或高質量視頻內容的硬件的發展和提供,對于能夠有效對高分辨率或高質量視頻內容進行編碼或解碼的視頻編解碼器的需要日益增加。在傳統的視頻編解碼器中,以每個具有預定尺寸的宏塊為單位對視頻進行編碼。
【發明內容】
[0004]本發明的技術目標
[0005]本發明提供一種用于圖像的幀內預測編碼和幀內預測解碼的方法和設備,其中,經由使用與當前預測單元鄰近的像素的新的幀內預測方法,來根據圖像特征提高了編碼效率。
[0006]實現本發明目標的方法
[0007]本發明還提供一種使用與當前預測單元鄰近的像素的新的幀內預測模式。
[0008]有益效果
[0009]根據本發明的一個或多個方面,通過經由使用鄰近像素的各種幀內預測方法,根據圖像特征來應用最優幀內預測方法,圖像的編碼效率可被提高。
【專利附圖】
【附圖說明】
[0010]圖1是示出根據本發明的實施例的用于對視頻進行編碼的設備的框圖;
[0011]圖2是示出根據本發明的實施例的用于對視頻進行解碼的設備的框圖;
[0012]圖3是用于描述根據本發明的實施例的編碼單元的構思的示圖;
[0013]圖4是示出根據本發明的實施例的基于編碼單元的圖像編碼器的框圖;
[0014]圖5是示出根據本發明的實施例的基于編碼單元的圖像解碼器的框圖;
[0015]圖6是示出根據本發明的實施例的根據深度的更深層編碼單元和分區的更深層編碼單元的示圖;
[0016]圖7是用于描述根據本發明的實施例的編碼單元和變換單元之間的關系的示圖;
[0017]圖8是用于描述據本發明的實施例的與編碼深度相應的編碼單元的編碼信息的示圖;
[0018]圖9是示出根據本發明的實施例的根據深度的更深層編碼單元的示圖;
[0019]圖10至圖12是用于描述根據本發明的實施例的編碼單元、預測單元和變換單元之間的關系的不圖;
[0020]圖13是用于描述根據表I的編碼模式信息的編碼單元、預測單元和變換單元之間的關系的不圖;
[0021]圖14是示出根據本發明的實施例的根據預測單元的尺寸的幀內預測模式的數量的表格;
[0022]圖15是用于描述根據本發明的實施例的具有各種方向的幀內預測模式的參考示圖;
[0023]圖16是用于描述根據本發明的實施例的當前像素和具有(dx,dy)的方向性的延長線上的鄰近像素之間的關系的示圖;
[0024]圖17和圖18是示出根據本發明的實施例的幀內預測模式方向的示圖;
[0025]圖19是用于示出本發明的實施例的具有33個方向性的幀內預測模式的方向;
[0026]圖20A和圖20B是用于描述根據本發明的實施例的平面模式的示圖;
[0027]圖21是示出根據本發明的實施例的在當前預測單元周圍濾波的鄰近像素的示圖;
[0028]圖22是用于描述鄰近像素的濾波處理的參考示圖;
[0029]圖23是示出根據本發明的實施例的根據平面模式的幀內預測方法的流程圖。
[0030]最佳模式
[0031]根據本發明的一方面,提供一種對圖像進行幀內預測的方法,所述方法包括:通過使用位于當前預測單元的右上側的至少一個鄰近像素,來獲取位于與當前預測單元的當前預測像素相同行上同時與位于當前預測單元的最右側的像素相應的第一虛擬像素;通過使用位于當前預測單元的左下側的至少一個鄰近像素,來獲取位于與當前預測像素相同列上同時與位于當前預測單元最下側的像素相應的第二虛擬像素;經由使用第一虛擬像素和與當前預測像素相同行上的鄰近左側像素的線性插值獲取當前預測像素的第一預測值;經由使用第二虛擬像素和與當前預測像素相同列上的鄰近上側像素的線性插值獲取當前預測像素的第二預測值;通過使用第一預測值和第二預測值獲取當前預測像素的預測值。
[0032]根據本發明的另一方面,提供一種用于對圖像進行幀內預測的設備,所述設備包括:幀內預測器,用于通過使用位于當前預測單元的右上側的至少一個鄰近像素,來獲取位于與當前預測單元的當前預測像素相同行上同時與位于當前預測單元的最右側的像素相應的第一虛擬像素,通過使用位于當前預測單元的左下側的至少一個鄰近像素,來獲取位于與當前預測像素相同列上同時與位于當前預測單元最下側的像素相應的第二虛擬像素,經由使用第一虛擬像素和與當前預測像素相同行上的鄰近左側像素的線性插值獲取當前預測像素的第一預測值,經由使用第二虛擬像素和與當前預測像素相同列上的鄰近上側像素的線性插值獲取當前預測像素的第二預測值,通過使用第一預測值和第二預測值獲取當前預測像素的預測值。
【具體實施方式】[0033]以下,將參照示出本發明的示例性實施例的附圖更充分地描述本發明。
[0034]圖1是示出根據本發明的實施例的視頻編碼設備100的框圖。
[0035]視頻編碼設備100包括最大編碼單元劃分器110、編碼單元確定器120和輸出單元130。
[0036]最大編碼單元劃分器110可基于用于圖像的當前畫面的最大編碼單元,來對當前畫面進行劃分。如果當前畫面大于最大編碼單元,則當前畫面的圖像數據可被劃分為至少一個最大編碼單元。根據本發明的實施例的最大編碼單元可以是具有32X32、64X64、128X128或256X256等尺寸的數據單元,其中,數據單元的形狀是具有寬度和長度為2的冪次方的正方形。圖像數據可根據所述至少一個最大編碼單元被輸出到編碼單元確定器120。
[0037]根據本發明的實施例的編碼單元特點在于最大尺寸和深度。深度表示編碼單元從最大編碼單元空間劃分的次數,并且隨著深度加深,根據深度的更深層編碼單元可從最大編碼單元被劃分為最小編碼單元。最大編碼單元的深度是最更高深度,最小編碼單元的深度是最更低深度。由于隨著最大編碼單元的深度加深,與每個深度相應的編碼單元的尺寸減小,因此與更高深度相應的編碼單元可包括多個與更低深度相應的編碼單元。
[0038]如上所述,當前畫面的圖像數據根據編碼單元的最大尺寸被劃分為最大編碼單元,并且每個最大編碼單元可包括根據深度被劃分的更深層編碼單元。由于根據深度對根據本發明的實施例的最大編碼單元進行劃分,因此包括在最大編碼單元中的空間域的圖像數據可根據深度分層劃分。
[0039]可預先確定編碼單元的最大深度和最大尺寸,所述最大深度和最大尺寸限制對最大編碼單元的高度和寬度進行分層劃分的次數。
[0040]編碼單元確定器120對通過根據深度對最大編碼單元的區域進行劃分而獲取的至少一個劃分區域進行編碼,并且根據所述至少一個劃分區域來確定最終編碼結果將被輸出的深度。也就是說,編碼單元確定器120根據當前畫面的每個最大編碼單元,根據深度對根據更深層編碼單元的圖像數據進行編碼,選擇具有最小編碼誤差的深度。確定的編碼深度和根據確定的編碼深度的圖像數據被輸出到輸出單元130。
[0041]基于與等于或低于最大深度的至少一個深度相應的更深層編碼單元對在最大編碼單元中的圖像數據進行編碼,并且基于每個更深層編碼單元中的每一個將對圖像數據進行編碼的結果進行比較。在將更深層編碼單元的編碼誤差進行比較之后,可選擇具有最小編碼誤差的深度。可針對每個最大編碼單元選擇至少一個編碼深度。
[0042]隨著編碼單元根據深度而被分層劃分,并且隨著編碼單元的數量增加,最大編碼單元的尺寸被劃分。另外,即使在一個編碼單元中編碼單元相應于相同的深度,也通過分別測量每個編碼單元的圖像數據的編碼誤差來確定是否將與相同的深度相應的每個編碼單元劃分為更低深度。因此,即使當圖像數據被包括在一個最大編碼單元中時,由于編碼誤差可根據一個最大編碼單元中的區域而不同,因此編碼深度可根據在圖像數據中的區域而不同。因此,在一個最大編碼單元中可確定一個或多個編碼的深度,并且可根據至少一個編碼深度的編碼單元來劃分最大編碼單元的圖像數據。
[0043]因此,編碼單元確定器120可確定具有包括在當前最大編碼單元中的樹結構的編碼單元。根據本發明的實施例的“具有樹結構的編碼單元”包括與具有從包括在當前最大編碼單元中的所有更深層編碼單元中確定的編碼深度的深度相應的編碼單元。可根據在最大編碼單元中的相同區域中的深度來分層確定編碼深度的編碼單元。類似地,可與另一區域的編碼深度獨立地確定當前區域的編碼深度。
[0044]根據本發明的實施例的最大深度是關于從最大編碼單元到最小編碼單元的劃分次數的索引。根據本發明的實施例的第一最大深度可表示從最大編碼單元到最小編碼單元的總劃分次數。根據本發明實施例的第二最大深度可表示從最大編碼單元到最小編碼單元的深度等級的總數量。例如,當最大編碼單元的深度是0時,通過對最大編碼單元進行一次劃分的編碼單元的深度可被設置為1,通過對最大編碼單元進行兩次劃分的編碼單元的深度可被設置為2。這里,如果最小編碼單元是通過對最大編碼單元進行四次劃分的編碼單元,深度O、1、2、3和4的深度等級存在,并且因此第一最大深度可被設置為4,并且第二最大深度可被設置為5。
[0045]可根據最大編碼單元執行預測編碼和變換。還根據每個最大編碼單元,基于根據深度等于或小于最大深度的更深層編碼單元,來執行預測編碼和變換。
[0046]由于無論何時根據深度對最大編碼單元進行劃分,更深層編碼單元的數量均增力口,因此對所有隨著深度加深產生的更深層編碼單元執行包括預測編碼和變換的編碼。為了方便描述,將基于最大編碼單元中的當前深度的編碼單元來描述預測編碼和變換。
[0047]視頻編碼設備100可不同地選擇用于對圖像數據進行編碼的數據單元的尺寸和形狀。為了對圖像數據進行編碼,執行諸如預測編碼、變換和熵編碼的操作,同時,相同的數據單元可被用于所有操作,或者不同數據單元可被用于不同操作。
[0048]例如,視頻編碼設備100可不僅選擇用于對圖像數據進行編碼的編碼單元,還可選擇不同于編碼單元的數據單元,以對在編碼單元中的圖像數據執行預測編碼。
[0049]為了在最大編碼單元中執行預測編碼,可基于與編碼深度相應的編碼單元(S卩,不再劃分到與較低層深度相應的編碼單元的編碼單元)來執行預測編碼。以下,不再劃分且成為用于預測編碼的基本單元的編碼單元被稱為“預測單元”。通過劃分預測單元獲取的分區可包括預測單元和通過對預測單元的高度和寬度中的至少一個進行劃分而獲取的數據單
J Li o
[0050]例如,當2NX2N (N是正整數)的尺寸的編碼單元不再被劃分并成為2NX2N的預測單元時,分區的尺寸可以是2NX2N、NXN、NX2N或NXN。分區類型的示例可包括通過對預測單元的高度和寬度進行對稱地劃分而獲取的對稱分區、通過對預測單元的高度和寬度進行非對稱地劃分(諸如,按照1:n或n:l)而獲取的分區、通過對預測單元進行幾何地劃分而獲取的分區、以及具有任意形狀的分區。
[0051 ] 預測單元的預測模式可以是幀內模式、幀間模式和跳過模式中的至少一個。例如,可對2N X 2N、2N X N、N X 2N或N X N的分區執行幀內模式和幀間模式。另外,可僅對2N X 2N的分區執行跳過模式。可對編碼單元中的一個預測單元獨立地執行編碼,從而選擇具有最小編碼誤差的預測模式。
[0052]視頻編碼設備100還可不僅基于用于對圖像數據進行編碼的編碼單元,還基于不同于編碼單元的數據單元,對編碼單元中的圖像數據執行變換。
[0053]為了在編碼單元中執行變換,可基于具有小于或等于編碼單元的尺寸的數據單元來執行變換。例如,用于變換的數據單元可包括幀間模式的數據單元和幀內模式的數據單J Li o
[0054]用作變換的基礎的數據單元現在可被稱為“變換單元”。與編碼單元相似,在編碼單元中的變換單元可被遞歸地劃分為更小尺寸的區域,使得可以以區域為單元獨立地確定變換單元。因此,可根據具有基于變換深度的樹結構的變換單元對編碼單元的殘差數據進行劃分。
[0055]還可在變換單元中設置變換深度,所述變換深度指示通過對編碼單元的高度和寬度進行劃分而到達變換單元的劃分次數。例如,在2NX2N的當前編碼單元中,當變換單元的尺寸是2NX2N時,變換深度可以是0,當變換單元的尺寸是NXN時,變換深度可以是0,當變換單元的尺寸是NX N時,變換深度可以是I,并且當變換單元的尺寸是N/2 X N/2時,變換深度可以是2。換言之,可根據變換深度設置具有樹結構的變換單元。
[0056]根據與編碼深度相應的編碼單元的編碼信息不僅需要關于編碼深度的信息,還需要關于與預測編碼和變換相關的信息。因此,編碼單元確定器120不僅確定確定具有最小編碼誤差的編碼深度,還確定預測單元中的分區類型、根據預測單元的預測模式和用于變換的變換單元的尺寸。
[0057]稍后將參照圖3到圖12詳細解釋根據本發明的實施例的最大編碼單元中的根據樹結構的編碼單元和確定分區的方法。
[0058]編碼單元確定器120可通過使用基于拉格朗日乘數的率失真優化,來測量更深層編碼單元的編碼誤差。
[0059]圖像數據輸出單元130在比特流中輸出最大編碼單元的圖像數據和關于根據編碼深度的編碼模式的信息,其中,所述最大編碼單元的圖像數據基于由編碼單元確定器120確定的所述至少一個編碼深度被編碼。
[0060]可通過對圖像的殘差數據進行編碼而獲取編碼圖像數據。
[0061]關于根據編碼深度的編碼模式的信息可包括關于編碼深度的信息、關于在預測單元中的分區類型的信息、關于預測模式的信息和關于變換單元的大小的信息。
[0062]可通過使用指示是否對較低層深度而不是當前深度的編碼單元執行編碼的根據深度的劃分信息來定義關于編碼深度的信息。如果當前編碼單元的當前深度是編碼深度,則當前編碼單元中的圖像數據被編碼和輸出,因此劃分信息可被定義為不將當前編碼單元劃分到較低層深度。可選擇地,如果當前編碼單元的當前深度不是編碼深度,對較低層深度的編碼單元執行編碼,因此劃分信息可被定義為對當前編碼單元進行劃分來獲取較低層深度的編碼單元。
[0063]如果當前深度不是編碼深度,則對被劃分為較低層深度的編碼單元執行編碼。由于較低層深度的至少一個編碼單元存在于當前深度的一個編碼單元中,因此可對較低層深度的每個編碼單元重復執行編碼,并因此可對具有相同深度的編碼單元遞歸地執行編碼。
[0064]由于針對一個最大編碼單元確定具有樹結構的編碼單元,并且針對編碼深度的編碼單元確定關于至少一個編碼模式的信息,所以可針對一個最大編碼單元確定關于至少一個編碼模式的信息。另外,由于可根據深度分層地對最大編碼單元的圖像數據進行劃分,并因此最大編碼單元的圖像數據的編碼深度可根據位置而不同,因此可針對圖像數據設置關于編碼深度和編碼模式的信息。
[0065]因此,輸出單元130可將關于相應的編碼深度和編碼模式的編碼信息分配給包括在最大編碼單元中的編碼單元、預測單元和最小單元中的至少一個。
[0066]根據本發明的實施例的最小單元是通過將構成最低層深度的最小編碼單元劃分4次而獲取正方形數據單元。可選擇地,最小單元可以是可被包括在最大編碼單元中所包括的所有編碼單元、預測單元和變換單元中的最大正方形數據單元中。
[0067]例如,通過輸出單元130輸出的編碼信息可被分類為根據編碼單元的編碼信息和根據預測單元的編碼信息。根據編碼單元的編碼信息可包括關于預測模式的信息和關于分區的尺寸的信息。關于預測單元的編碼信息可包括關于幀間模式的估計方向的信息、關于幀間模式的參考圖像索引的信息、關于運動矢量的信息、關于幀內模式的色度分量的信息,以及關于幀內模式的插值方法的信息。另外,根據畫面、像條或GOP定義的關于編碼單元的最大尺寸的信息和關于最大深度的信息可被插入比特流的頭部。
[0068]根據視頻編碼設備100中,更深層編碼單元可以是通過將作為上一層的更高深度的編碼單元的高度或寬度除以二而獲取的編碼單元。換言之,當當前深度的編碼單元的尺寸是2NX 2N時,較低層深度的編碼單元的尺寸是NXN。另外,當前深度的具有2NX 2N的尺寸的編碼單元可包括最多4個較低層深度的編碼單元。
[0069]因此,視頻編碼設備100可通過基于考慮當前畫面的特點而確定的最大編碼單元的尺寸和最大深度,針對每個最大編碼單元確定具有最優形狀和最優尺寸的編碼單元來形成具有樹結構的編碼單元。另外,由于可通過使用任意不同預測模式和變換對每個最大編碼單元執行編碼,因此可考慮不同圖像尺寸的編碼單元的特點來確定最優編碼模式。
[0070]因此,如果按照傳統宏塊對具有高分辨率或大數據量的圖像進行編碼,則每個畫面的宏塊的數量極度增加。因此,針對每個宏塊產生的壓縮信息的條數增加,因此難以發送壓縮的信息,并且數據壓縮效率降低。然而,通過使用視頻編碼設備100,由于在考慮圖像的特點時,在增加編碼單元的最大尺寸時,在考慮圖像的尺寸時調整編碼單元,所以可提高圖像壓縮效率。
[0071]圖2是根據本發明的實施例的視頻解碼設備200的框圖。
[0072]視頻解碼設備200包括接收器210、圖像數據和編碼信息提取器220和圖像數據解碼器230。用于視頻解碼設備200的各種操作的各種術語(諸如編碼單元、深度、預測單元、變換單元和關于各種編碼模式的信息)的定義與參照圖1和視頻編碼設備100的描述相同。
[0073]接收器210接收和解析編碼視頻的比特流。圖像數據和編碼信息提取器220針對從解析的比特流提取用于每個編碼單元的編碼圖像數據,并將提取的圖像數據輸出到圖像數據解碼器230,其中,所述編碼單元具有根據每個最大編碼單元的樹結構。圖像數據和編碼信息提取器220可從關于當前畫面的頭提取當前畫面的編碼單元的最大尺寸的信息。
[0074]另外,圖像數據和編碼信息提取器220從解析的比特流提取關于用于具有根據每個最大編碼單元的樹結構的編碼單元的編碼深度和編碼模式的信息。提取的關于編碼深度和編碼模式的信息被輸出到圖像數據解碼器230。換言之,比特流中的圖像數據被劃分為最大編碼單元,使得圖像數據解碼器230針對每個最大編碼單元對圖像數據進行解碼。
[0075]可針對關于與編碼深度相應的至少一個編碼單元的信息設置關于根據最大編碼單元的編碼深度和編碼模式的信息,關于編碼模式的信息可包括關于與編碼深度相應的相應編碼單元的分區類型的信息、關于預測模式的信息和關于變換單元的尺寸的信息。另外,根據深度的劃分信息可被提取為關于編碼深度的信息。[0076]由圖像數據和編碼信息提取器220提取的關于根據每個最大編碼單元的編碼深度和編碼模式的信息是關于編碼深度和編碼模式的信息,其中,所述編碼深度和編碼模式被確定為在編碼端(諸如,設備100)通過重復對根據最大編碼單元的每個更深層編碼單元重復執行編碼時產生最小編碼誤差。因此,視頻解碼設備200可通過根據產生最小編碼誤差的編碼深度和編碼模式對數據進行解碼來恢復圖像。
[0077]由于關于編碼深度和編碼模式的編碼信息可被分配給相應的編碼單元、預測單元和最小單元中的預定數據單元,因此圖像數據和編碼信息提取器220可根據預定數據單元提取關于編碼深度和編碼模式的信息。如果根據預定數據單元記錄了關于相應的最大編碼單元的編碼深度和編碼模式的信息,則分配了關于編碼深度和編碼模式的相同信息的預定數據單元可被推斷為是包括在相同的最大編碼單元中的數據單元。
[0078]圖像數據解碼器230通過基于關于根據最大編碼單元的編碼深度和編碼模式的信息對每個最大編碼單元中的圖像數據進行解碼來恢復當前畫面。換言之,圖像數據解碼器230可基于提取的關于包括在每個最大編碼單元中的具有樹結構的編碼單元中的每個編碼單元的分區類型、預測模式和變換單元的信息,對編碼的圖像數據進行解碼。解碼處理可包括包含幀內預測和運動補償的預測和反變換。
[0079]編碼數據解碼器230可基于關于根據編碼深度的編碼單元的預測單元的分區類型預測模式的信息,根據每個編碼單元的每個分區和預測模式,執行幀內預測或運動補償。
[0080]另外,圖像數據解碼器230可基于關于根據編碼深度的編碼單元的變換單元的尺寸的信息,根據編碼單元中的每個變換單元來執行反變換,以執行根據最大編碼單元的反變換。
[0081]圖像數據解碼器器230可通過使用根據每個深度的劃分信息來確定當前最大編碼單元的至少一個編碼深度。如果劃分信息指示圖像數據在當前深度中不再劃分,則當前深度是編碼深度。因此,圖像數據解碼器230可通過使用關于與編碼深度相應的每個編碼單元的預測單元的分區類型、預測模式和變換單元的尺寸的信息,對與當前最大編碼單元中的每個編碼深度相應的至少一個編碼單元的編碼數據進行解碼。
[0082]換言之,可通過觀察分配給編碼單元、預測單元和最小單元中的預定數據單元的編碼信息來收集包含包括相同劃分信息的編碼信息的數據單元,并且收集的數據單元可被認為是將由圖像數據解碼器230按照相同編碼模式進行解碼的一個數據單元。
[0083]視頻解碼設備200可獲取關于當遞歸地對每個最大編碼單元執行編碼時產生最小編碼誤差的編碼單元的信息,并且可使用所述信息來對當前畫面進行解碼。換言之,確定為每個最大編碼單元中的最優編碼單元的具有樹結構的編碼單元的可被解碼。
[0084]因此,即使圖像數據具有高分辨率或大數據量,也可通過使用從編碼器接收的關于最優編碼模式的信息,使用根據圖像的特點而自適應確定的編碼單元的尺寸和編碼模式來有效地解碼和恢復圖像數據。
[0085]現在將參照圖3到圖13詳細描述確定具有樹結構的編碼單元、預測單元和變換單元的方法。
[0086]圖3是用于描述根據本發明的實施例的編碼單元的概念的示圖。
[0087]編碼單元的尺寸可被表示為寬X高,并可以是64X64、32X32、16X16和8X8。64X64的編碼單元可被劃分為64X64、64X32、32X64和32X32的分區,32X32的編碼單元可被劃分為32X32、32X16、16X32和16X16的分區,16X16的編碼單元可被劃分為16X16、16X8、8X16和8X8的分區,8X8的編碼單元可被劃分為8X8、8X4、4X8和4X4的分區。
[0088]在視頻數據310中,分辨率是1920 X 1080,編碼單元的最大尺寸是64,最大深度是
2。在視頻數據320中,分辨率是1920 X 1080,編碼單元的最大尺寸是64,最大深度是3。在視頻數據330中,分辨率是352X288,編碼單元的最大尺寸是16,最大深度是I。圖3中的最大深度表示從最大編碼單元到最小編碼單元的劃分總次數。
[0089]如果分辨率高或數據量大,則編碼單元的最大尺寸可以是大的,使得不僅提高編碼效率,而且準確地反映圖像的特點。因此,具有比視頻數據330更高分辨率的視頻數據310和視頻數據320的編碼單元的最大尺寸可以是64。
[0090]由于視頻數據310的最大深度是2,因此由于通過對最大編碼單元進行兩次劃分,深度加深兩層,因此視頻數據310的編碼單元315可包括具有64的長軸尺寸的最大編碼單元和具有32和16的長軸尺寸的編碼單元。同時,由于視頻數據330的最大深度是1,因此由于通過對最大編碼單元進行一次劃分,深度被加深一層,因此視頻數據330的編碼單元335可包括具有16的長軸尺寸的最大編碼單元和具有8的長軸尺寸的編碼單元。
[0091]由于視頻數據320的最大深度是3,因此由于通過對最大編碼單元進行三次劃分,深度被加深3層,因此視頻數據320的編碼單元325可包括具有64的長軸尺寸的最大編碼單元和具有32、16和8的長軸尺寸的編碼單元。隨著深度加深,詳細信息可被精確地表示。
[0092]圖4是示出根據本發明的實施例的基于編碼單元的圖像編碼器400的框圖。
[0093]圖像編碼器400執行視頻編碼設備100的編碼單元確定器120的操作來對圖像數據進行編碼。換言之,幀內預測器410對當前幀405中的幀內模式的編碼單元執行幀內預測,運動估計器420和運動補償器425通過使用當前幀405和參考幀495對幀間模式的編碼單元執行幀間預測和運動補償。
[0094]從幀內預測器410、運動估計器420和運動補償器425輸出的數據通過變換器430和量化器440被輸出為量化的變換系數。量化的變換系數通過反量化器460和反變換器470被恢復為空間域中的數據,恢復的空間域中的數據在通過去塊濾波單元408和環路濾波單元490后處理之后被輸出為參考幀495。量化的變換系數可通過熵編碼編碼器450被輸出為比特流455。
[0095]為了將圖像編碼器400應用于視頻編碼設備100,圖像編碼器400的所有元件,也就是說,幀內預測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、反量化器460、反變換器470、去塊濾波單元480和環路濾波單元490在考慮每個最大編碼單元的最大深度時,執行基于具有樹結構的編碼單元中的每個編碼單元的操作。
[0096]具體地,幀內預測器410、運動估計器420和運動補償器425在考慮當前最大編碼單元的最大深度和最大尺寸時,來確定具有樹結構的編碼單元中的每個編碼單元的預測單元和分區,變換器430確定具有樹結構的編碼單元中的每個編碼單元中的變換單元的尺寸。
[0097]圖5是根據本發明的實施例的基于編碼單元的圖像解碼器500的框圖。
[0098]解析器510從比特流505中解析將被解碼的編碼圖像數據和關于解碼所需的編碼的信息。編碼的圖像數據通過熵解碼器520和反量化器530被輸出為反量化的數據,反量化的數據通過反變換器540被恢復為空間域中的圖像數據。
[0099]針對空域中的圖像數據,幀內預測器550對幀內模式的編碼單元執行幀內預測,運動補償器560通過使用參考幀585對幀間模式的編碼單元執行運動補償。
[0100]通過幀內預測器550和運動補償器560的空間域中的圖像數據可在通過去塊單元570和環路濾波單元580后處理之后,被輸出為恢復幀595。另外,通過去塊單元570和環路濾波580后處理的圖像數據被輸出為參考幀585。
[0101]為了在視頻解碼設備200的圖像數據解碼器230中對圖像數據進行解碼,圖像解碼器500可執行在解析器510之后執行的操作。
[0102]為了將圖像解碼器500應用于視頻解碼設備200,圖像解碼器500的所有元件(SP,解析器510、熵解碼器520、反量化器530、反變換器540、這內預測器550、運動補償器560、塊解碼單元570和環路濾波單元580)對每個最大編碼單元執行基于具有樹結構的編碼單元的操作。
[0103]具體地,幀內預測器550和運動補償器560基于針對每個具有樹結構的編碼單元的分區和預測模式執行操作,反變換器540基于每個編碼單元的變換單元的尺寸執行操作。
[0104]圖6是示出根據本發明的實施例的根據深度的更深層編碼單元和分區的示圖。
[0105]視頻編碼設備100和視頻解碼設備200使用分層編碼單元,從而考慮圖像的特點。可根據圖像的特點自適應地確定編碼單元的最大高度、最大寬度和最大深度,或可由用戶不同地設置它們。可根據編碼單元的預設最大尺寸來確定根據深度的更深層編碼單元的尺寸。
[0106]在根據本發明的實施例的編碼單元的分層結構600中,編碼單元的最大高度和最大寬度均是64,最大深度是4。由于沿著分層結構600的垂直軸深度加深,因此更深層編碼單元的高度和寬度均被劃分。另外,作為每個更深層編碼單元的預測編碼的基礎的預測單元和分區沿著分層結構600的橫軸被示出。
[0107]換句話說,編碼單元610是在分層結構600中的最大編碼單元,其中,深度是0,尺寸(即,長乘寬)是64 X 64。沿著縱軸深度加深,存在具有32X32的尺寸和I的深度的編碼單元620、具有16X16的尺寸和2的深度的編碼單元630和具有8X8的尺寸和3的深度的編碼單元640和具有4X4的尺寸和4的深度的編碼單元650。具有4X4的尺寸和4的深度的編碼單兀650是最小編碼單兀。
[0108]根據每個深度沿著橫軸布置編碼單元的預測單元和分區。換句話說,如果具有64X64的尺寸和0的深度的編碼單元610是預測單元,則預測單元可被劃分為包括在編碼單元610中的分區,即,具有64X64的尺寸的分區610、具有64X32的尺寸的分區612、具有32X64的尺寸的分區614或具有32X32的尺寸的分區616。
[0109]相似地,具有32X32的尺寸和I的深度的編碼單元620的預測單元可被劃分為包括在編碼單元620中的分區,S卩,具有32 X 32的尺寸的分區620、具有32 X 16的尺寸的分區622、具有16X32的尺寸的分區624和具有16X16的尺寸的分區626。
[0110]相似地,具有16X16的尺寸和2的深度的編碼單元630的預測單元可被劃分為包括在編碼單元630中的分區,即包括在編碼單元630中的16 X 16的尺寸的分區、具有16X8的尺寸的分區632、具有8X 16的尺寸的分區634和具有8X8的尺寸的分區636。[0111]類似地,具有8X8的尺寸和3的深度的編碼單元640的預測單元可被劃分為包括在編碼單元640中的分區,即包括在編碼單元640中的8X8的尺寸的分區、具有8X4的尺寸的分區642、具有4X8的尺寸的分區644和具有4X4的尺寸的分區646。
[0112]具有4X4的尺寸和4的深度的編碼單元650是最小編碼單元和最低層深度的編碼單元。編碼單元650的預測單元僅被分配給具有4X4的尺寸的分區。
[0113]為了確定構成最大編碼單元610的編碼單元的至少一個編碼深度,視頻編碼設備100的編碼單元確定器120對與包括在最大編碼單元610中的與每個深度相應的編碼單元執行編碼。
[0114]根據深度的包括在相同范圍和相同尺寸的更深層編碼單元的數量隨著深度加深而增加。例如,與2的深度相應的四個編碼單元被要求覆蓋包括在與I的深度相應的一個編碼單元中的數據。因此,為了比較根據深度的相同數據的編碼結果,與I的深度相應的編碼單元和與2的深度相應的四個編碼單元均被編碼。
[0115]為了針對多個深度中的當前深度執行編碼,可通過沿著分層結構600的橫軸,對與當前深度相應的編碼單元中的每個預測單元執行編碼,來針對當前深度選擇最小編碼誤差。可選擇地,可通過隨著深度沿著分層結構600的縱軸加深對每個深度執行編碼來比較根據深度的最小編碼誤差,來搜索最小編碼誤差。在編碼單元610中的具有最小編碼誤差的深度和分區可被選擇為編碼單元610的編碼深度和分區類型。
[0116]圖7是用于描述根據本發明的實施例的編碼單元710的變換單元720之間的關系的示圖。
[0117]視頻編碼設備100或視頻解碼設備200針對每個最大編碼單元根據具有小于或等于最大編碼單元的尺寸的編碼單元對圖像進行編碼或解碼。可基于不大于相應的編碼單元的數據單元來選擇用于在編碼期間變換的變換單元的尺寸。
[0118]例如,在視頻編碼設備100或視頻解碼設備200中,如果編碼單元710的尺寸是64 X 64,則可通過使用具有32X32的尺寸的變換單元720來執行變換。
[0119]另外,可通過對具有小于64X64的32X32、16X16、8X8和4X4的尺寸的每個變換單元執行變換來對具有64X 64的尺寸的編碼單元710的數據進行編碼,并隨后選擇具有最小編碼誤差的變換單元。
[0120]圖8是用于描述根據本發明的實施例的與編碼深度相應的編碼單元的編碼信息的示圖。
[0121]視頻編碼設備100的輸出單元130可對與編碼深度相應的每個編碼單元的關于分區類型的信息800、關于預測模式的信息810和關于變換單元的尺寸的信息820進行編碼并發送為關于編碼模式的信息。
[0122]信息800指示關于通過對當前編碼單元的預測單元進行劃分而獲取的分區的形狀的信息,其中,所述分區作為用于對當前編碼單元進行預測編碼的數據單元。例如,具有2NX2N的尺寸的當前編碼單元CU_0可被劃分為具有2NX2N的尺寸的分區802、具有2NXN的尺寸的分區804、具有NX2N的尺寸的分區806和具有NXN的尺寸的分區808中的任意一個。這里,關于分區類型的信息800被設置為指示具有2NXN的尺寸的分區804、具有NX2N的尺寸的分區806和具有NXN的尺寸的分區808中的一個。
[0123]信息810指示每個分區的預測模式。例如,信息810可指示對由信息800指示的分區執行預測編碼的模式(即,幀內模式812、幀間模式814或跳過模式816)。
[0124]信息820指示當對當前編碼單元執行變換時所基于的變換單元。例如,變換單元可以是第一幀內變換單元822、第二幀內變換單元824、第一幀間變換單元826或第二幀間變換單元828。
[0125]視頻解碼設備200的圖像數據和編碼信息提取器220可根據每個更深層編碼單元提取并使用用于編碼的信息800、信息810和信息820。
[0126]圖9是示出根據本發明的實施例的根據深度的更深層編碼單元的示圖。
[0127]劃分信息可被用于指示深度的變化。劃分信息指示當前深度的編碼單元是否被劃分為更低深度的編碼單元。
[0128]用于對具有0的深度和2N_0 X 2N_0的尺寸的編碼單元900進行預測編碼的預測單元910可包括具有2N_0X2N_0的尺寸的分區類型912、具有2N_0XN_0的尺寸的分區類型914、具有N_0X2N_0的尺寸的分區類型916和具有N_0XN_0的尺寸的分區類型918的分區。圖9僅示出通過對預測單元910進行對稱劃分而獲取的分區類型912至918,但是分區類型并不限于此,并且預測單元910的分區可包括非對稱分區、具有預定形狀的分區或具有幾何形狀的分區。
[0129]根據每個劃分類型對具有2N_0X2N_0的尺寸的一個分區、具有2N_0XN_0的尺寸的兩個分區、具有N_0X2N_0的尺寸的兩個分區和具有N_0XN_0的尺寸的四個分區重復執行預測編碼。可對具有2N_0X2N_0、N_0X2N_0、2N_0XN_0和N_0XN_0的尺寸的分區執行幀內模式和幀間模式的預測編碼。僅對具有2N_0X2N_0的尺寸的分區執行跳過模式的預測編碼。
[0130]如果編碼誤差在分區類型912至916中的一個中是最小的,則預測單元910可劃分至較低層深度。
[0131]如果編碼誤差在劃分類型918中是最小的,則在操作920中,深度從0被改變為I來對分區類型918進行劃分,對具有2的深度和N_0XN_0的尺寸的編碼單元930重復執行
編碼來搜索最小編碼誤差。
[0132]用于對具有I的深度和2N_1X2N_1 (=N_0XN_0)的尺寸的編碼單元930執行預測編碼的預測單元940可包括具有2N_1X2N_1的尺寸的分區類型942、具有2N_1XN_1的尺寸的分區類型944、具有N_1X2N_1的尺寸的分區類型946和具有N_1XN_1的分區類型948的分區。
[0133]如果編碼誤差在分區類型948中是最小的,則在操作950中,深度從I改變為2來對分區類型948進行劃分,并且對具有2的深度和N_2XN_2的尺寸的編碼單元960重復執行編碼來搜索最小編碼誤差。
[0134]當最大深度是d時,根據每個深度的劃分信息可被執行直到深度變為d-1位置,并且劃分信息可被編碼直到深度變為d-2為止。也就是說,在操作970中,在與d-2的深度相應的編碼單元被劃分之后,當編碼被執行直到深度是d-1時,用于對具有d-1的深度和2N_(d-l) X2N_(d-l)的尺寸的編碼單元980執行預測編碼的預測單元990可包括具有2N_(d-1) X2N_(d-l)的尺寸的分區類型992、具有2N_(d-l) XN_(d_l)的尺寸的分區類型994、具有N_(d-1) X2N_(d-l)的尺寸的分區類型996和具有N_(d-1) XN_(d-l)的尺寸的分區類型998。[0135]可對分區類型992至998中的具有2N_ (d-1) X 2N_ (d-1)的尺寸的一個分區、具有2N_(d-l) XN_(d-l)的尺寸的兩個分區和具有N_(d-1) XN_(d-l)的尺寸的四個分區重復執行預測編碼,來搜索具有最小編碼誤差的分區類型。
[0136]即使分區類型998具有最小編碼誤差,但是由于最大深度是d,因此具有d-1的深度的編碼單元CU_(d-1)不再被劃分至更低深度,并且構成當前最大編碼單元900的編碼單元的編碼深度可被確定為d-1,當前最大編碼單元900的分區類型可被確定為【(d-1) XN_(d-1)。另外,由于最大深度是d,并且具有d-1的最低深度的最小編碼單元980不再劃分為更低深度,因此不再設置用于最小編碼單元980的劃分信息。
[0137]數據單元999可以是當前最大編碼單元的“最小單元”。根據本發明的實施例的最小單元可以是通過將最小編碼單元劃分為4個而獲取的正方形數據單元。通過重復執行編碼,視頻編碼設備100可通過對根據編碼單元900的深度的編碼誤差進行比較,選擇產生最小編碼誤差的深度,來確定編碼深度,并且將相應的分區類型和預測模式設置為編碼深度的編碼模式。
[0138]這樣,可在I至d的所有深度中比較根據深度的最小編碼誤差,并且具有最小編碼誤差的深度可被確定為編碼深度。預測單元的編碼深度、分區類型和預測模式可被編碼并發送為關于編碼模式的信息。另外,由于編碼單元從0的深度到編碼深度被劃分,因此僅編碼深度的劃分信息被設置為0,并且根據除了編碼深度以外的深度的劃分信息被設置為“I”。
[0139]視頻解碼設備200的圖像數據和編碼信息提取器220可提取并使用關于編碼單元900的編碼深度和預測單元的信息信息來對分區類型912進行解碼。視頻解碼設備200可通過使用根據深度的劃分信息將劃分信息是“0”的深度確定為編碼深度,并且使用關于相應的深度的編碼模式的信息,來進行解碼。
`[0140]圖10至圖12是用于描述根據本發明的實施例的編碼單元1010、預測單元1060和變換單元1070之間的關系的示圖。
[0141]編碼單元1010是最大編碼單元1000中的與由視頻編碼設備100確定的編碼深度相應的具有樹結構的編碼單元。預測單元1060是每個編碼單元1010的預測單元的分區,變換單元1070是每個編碼單元1010的變換單元。
[0142]當編碼單元1010中最大編碼單元的深度是0時,編碼單元1012和1054的深度是1,編碼單元 1014、1016、1018、1028、1050 和 1052 的深度是 2,編碼單元 1020、1022、1024、1026、1030、1032和1048的深度是3,編碼單元1040、1042、1044和1046的深度是4。
[0143]在預測單元1060中,通過對編碼單元1010中的編碼單元進行劃分來獲取一些編碼單元 1014、1016、1022、1032、1048、1050、1052 和 1054。換句話說,編碼單元 1014、1022、1050和1054中的分區類型具有2NXN的尺寸,編碼單元1016、1048和1052的分區類型具有NX2N的尺寸,編碼單元1032的分區類型具有NXN的尺寸。編碼單元1010的預測單元和分區小于或等于每個編碼單元。
[0144]對小于編碼單元1052的數據單元中的變換單元1070中的編碼單元1052的圖像數據執行變換或反變換。另外,在尺寸和形狀方面,變換單元1070中的變換單元1014、1016、1022、1032、1048、1050和1052不同于預測單元1060中的變換單元。換句話說,視頻編碼設備100和視頻解碼設備200可對相同編碼單元中的數據單元獨立地執行幀內預測、運動估計、運動補償、變換和反變換。
[0145]因此,由于通過對最大編碼單元的每個區域中的具有分層結構的編碼單元遞歸地執行編碼來確定最優編碼單元,因此可獲取具有遞歸樹結構的編碼單元。編碼信息可包括關于編碼單元的劃分信息、關于分區類型的信息、關于預測模式的信息和關于變換單元的尺寸的信息。表1示出可由視頻編碼設備100和視頻解碼設備200設置的編碼信息。
[0146]表1
[0147]
【權利要求】
1.一種對圖像進行幀內預測的方法,所述方法包括: 通過使用位于當前預測單元的右上側的至少一個鄰近像素,來獲取位于與當前預測單元的當前預測像素相同行上同時與位于當前預測單元的最右側的像素相應的第一虛擬像素; 通過使用位于當前預測單元的左下側的至少一個鄰近像素,來獲取位于與當前預測像素相同列上同時與位于當前預測單元最下側的像素相應的第二虛擬像素; 經由使用第一虛擬像素和與當前預測像素相同行上的鄰近左側像素的線性插值獲取當前預測像素的第一預測值; 經由使用第二虛擬像素和與當前預測像素相同列上的鄰近上側像素的線性插值獲取當前預測像素的第二預測值; 通過使用第一預測值和第二預測值獲取當前預測像素的預測值。
2.如權利要求1所述的方法,其中,通過使用位于當前預測單元的右上側的兩個像素的平均值來獲取第一虛擬像素, 通過使用位于當前預測單元的左下側的兩個像素的平均值來獲取第二虛擬像素。
3.如權利要求1所述的方法,其中,基于當前預測單元的尺寸確定分別用于獲取第一虛擬像素和第二虛擬像素的位于當前預測單元的右上側的像素的數量和位于左下側的像素的數量。
4.如權利要求3所述的方法,其中,當前預測單元的尺寸是NX N時,其中,N是整數,分別用于獲取第一虛擬像素和第二虛擬像素的位于當前預測單元的右上側的像素的數量和位于左下側的像素的數量是N/ (2~m),其中,m是滿足2~m不大于N的條件的整數。
5.如權利要求1所述的方法,其中,通過分別使用位于當前預測單元的右上側的至少一個鄰近像素的平均值和位于當前預測單元的左下側的至少一個鄰近像素的平均值來獲取第一虛擬像素和第二虛擬像素。
6.如權利要求1所述的方法,其中,通過分別使用位于當前預測單元的右上側的至少一個鄰近像素的加權平均值和位于當前預測單元的左下側的至少一個鄰近像素的加權平均值來獲取第一虛擬像素和第二虛擬像素。
7.如權利要求1所述的方法,其中,獲取第一預測值的步驟包括:通過使用考慮第一虛擬像素和當前預測像素之間的距離以及當前預測像素和與當前預測像素相同行上的鄰近左側像素之間的距離的幾何平均值來獲取第一預測值, 獲取第二預測值的步驟包括:通過使用考慮第二虛擬像素和當前預測像素之間的距離以及當前預測像素和與當前預測像素相同列上的鄰近上側像素之間的距離的幾何平均值來獲取第二預測值。
8.如權利要求7所述的方法,其中,當當前預測單元是nSXnS,其中nS是整數時,rec(x,y)表示當前預測單元的鄰近像素,其中X和y均為從-1到2XnS-l,T表示第一虛擬像素,其中T是實數,L表示第二虛擬像素,其中L是實數,p(x, y)表示當前預測像素的預測值,其中X和y均從O至nS_l,pl (x,y)表示第一預測值,p2 (x,y)表示第二預測值,根據等式 pi (X,y) = (nS-l-x) Xrec (-1,y) + (x+l) XT 獲取第一預測值,根據等式 p2 (x, y) = (nS_l-y) Xrec(x,-l) + (y+l) XL獲取第二預測值,通過使用第一預測值和第二預測值的平均值獲取當前預測像素的預測值。
9.如權利要求8所述的方法,其中,根據等式p(x,y) = {pl (x, y)+p2(x, y) +nS}?(k+l)來獲取當前預測的像素的預測值,其中,k是log2nS。
10.如權利要求1所述的方法,還包括:對位于當前預測單元的上側和左側的鄰近像素執行濾波, 其中,通過使用位于當前預測像素的右上側和左下側的至少一個鄰近濾波像素來獲取第一虛擬像素和第二虛擬像素,用于產生第一預測值和第二預測值的鄰近左側像素和鄰近上側像素是鄰近濾波像素。
11.如權利要求10所述的方法,其中,使用鄰近像素之間的加權平均值執行濾波。
12.如權利要求10所述的方法,其中,當當前預測單元的尺寸等于或大于預定尺寸時執行濾波。
13.一種用于對圖像進行幀內預測的設備,所述設備包括: 幀內預測器,用于通過使用位于當前預測單元的右上側的至少一個鄰近像素,來獲取位于與當前預測單元的當前預測像素相同行上同時與位于當前預測單元的最右側的像素相應的第一虛擬像素,通過使用位于當前預測單元的左下側的至少一個鄰近像素,來獲取位于與當前預測像素相同列上同時與位于當前預測單元最下側的像素相應的第二虛擬像素,經由使用第一虛擬像素和與當前預測像素相同行上的鄰近左側像素的線性插值獲取當前預測像素的第一預測值,經由使用第二虛擬像素和與當前預測像素相同列上的鄰近上側像素的線性插值獲取當前預測像素的第二預測值,通過使用第一預測值和第二預測值獲取當前預測像素的預測值。
14.如權利要求13所述的設備,其中,幀內預測器通過使用考慮第一虛擬像素和當前預測像素之間的距離以及當前預測像素和與當前預測像素相同行上的鄰近左側像素之間的距離的幾何平均值來獲 取第一預測值,通過使用考慮第二虛擬像素和當前預測像素之間的距離以及當前預測像素和與當前預測像素相同列上的鄰近上側像素之間的距離的幾何平均值來獲取第二預測值。
15.如權利要求14所述的設備,其中,當當前預測單元是nSXnS,其中nS是整數時,rec (X,y)表示當前預測單元的鄰近像素,其中x和y均為從_1到2XnS_l,T表示第一虛擬像素,其中T是實數,L表示第二虛擬像素,其中L是實數,p(x, y)表示當前預測像素的預測值,其中X和y均從0至nS_l,pl (x,y)表示第一預測值,p2 (x,y)表示第二預測值,根據等式 Pl (X,y) = (nS-l-x) Xrec (-1, y) + (x+l) XT 獲取第一預測值,根據等式 p2 (x, y)=(nS-l-y) Xrec(x,-l) + (y+l) XL獲取第二預測值,通過使用第一預測值和第二預測值的平均值獲取當前預測像素的預測值。
【文檔編號】H04N19/593GK103765901SQ201280042446
【公開日】2014年4月30日 申請日期:2012年6月28日 優先權日:2011年6月28日
【發明者】李泰美, 陳建樂 申請人:三星電子株式會社