對視頻編碼的方法和設備以及對視頻解碼的方法和設備的製作方法
2023-06-30 12:40:46 1
專利名稱:對視頻編碼的方法和設備以及對視頻解碼的方法和設備的製作方法
技術領域:
示例性實施例涉及對視頻編碼和解碼,更具體地講,涉及這樣一種對視頻編碼和解碼的方法和設備,所述方法和設備通過根據幀內預測數據單元的大小選擇幀內預測模式來執行幀內預測。
背景技術:
根據圖像壓縮標準,諸如運動圖像專家組(MPEG) -1、MPEG-2、MPEG-4或H.沈4/ MPEG4先進視頻編碼(AVC),畫面被分割為用於視頻編碼的宏塊。在以幀間預測編碼模式和幀內預測編碼模式中的任意一種對每個宏塊編碼之後,根據對宏塊編碼所需的比特率以及原始的宏塊和解碼的宏塊之間的允許的失真來選擇適當的編碼模式。然後,以選擇的編碼模式對宏塊編碼。隨著用於再現和存儲高清晰度視頻內容或高質量視頻內容的硬體被開發和供應, 對有效地編碼或解碼高清晰度視頻內容或高質量視頻內容的視頻編解碼器的需求日益增長。在傳統的視頻編解碼器中,基於具有預定大小的宏塊根據有限編碼方法對視頻編碼。
發明內容
技術問題在傳統的視頻編解碼器中,基於具有預定大小的宏塊根據有限編碼方法對視頻編碼。技術方案示例性實施例提供這樣一種對視頻編碼和解碼的方法和設備,所述方法和設備基於具有各種大小的分級編碼單元使用具有各種指向性的幀內預測方法。有益效果根據本發明,視頻編碼的編碼效率被提高。
圖1是根據示例性實施例的對視頻編碼的設備的框圖;圖2是根據示例性實施例的對視頻解碼的設備的框圖;圖3是用於解釋根據示例性實施例的編碼單元的概念的示圖;圖4是根據示例性實施例的基於編碼單元的圖像編碼器的框圖;圖5是根據示例性實施例的基於編碼單元的圖像解碼器的框圖;圖6是示出根據示例性實施例的根據深度的更深的編碼單元以及分塊的示圖;圖7是用於解釋根據示例性實施例的編碼單元和變換單元之間的關係的示圖;圖8是用於解釋根據示例性實施例的與編碼的深度相應的編碼單元的編碼信息的示圖;圖9是根據示例性實施例的根據深度的更深的編碼單元的示圖10至圖12是用於解釋根據示例性實施例的編碼單元、預測單元和變換單元之間的關係的示圖;圖13是用於解釋根據表1的編碼模式信息的編碼單元、預測單元或分塊和變換單元之間的關係的示圖;圖14示出根據示例性實施例的根據編碼單元的大小的幀內預測模式的數量;圖15A至圖15C是用於解釋根據示例性實施例的應用於具有預定大小的編碼單元的幀內預測模式的示圖;圖16是用於解釋根據另一示例性實施例的應用於具有預定大小的編碼單元的幀內預測模式的示圖;圖17是用於解釋根據示例性實施例的具有各種方向性的幀內預測模式的參考示圖;圖18是用於解釋根據示例性實施例的雙線性模式的參考示圖;圖19是用於解釋根據示例性實施例的產生當前編碼單元的幀內預測模式的預測值的處理的示圖;圖20是用於解釋根據示例性實施例的使具有不同大小的編碼單元的幀內預測模式一致的映射處理的參考示圖;圖21是用於解釋根據示例性實施例的將相鄰編碼單元的幀內預測模式映射到代表性的幀內預測模式之一的處理的參考示圖;圖22是根據示例性實施例的幀內預測設備的框圖;圖23是示出根據示例性實施例的對圖像編碼的方法的流程圖;圖M是示出根據示例性實施例的對圖像解碼的方法的流程圖;圖25是用於解釋當前像素和位於具有方向性(dx,dy)的延長線上的相鄰像素之間的關係的示圖;圖沈是用於解釋根據示例性實施例的位於具有方向性(dx,dy)的延長線上的相鄰像素根據當前像素的位置的改變的示圖;圖27和圖觀是用於解釋根據示例性實施例的確定幀內預測模式方向的方法的示圖;圖四是示出根據示例性實施例的將被用於幀內預測的當前編碼單元和相鄰像素的示圖。最佳模式根據示例性實施例,提供了一種對圖像編碼的方法,所述方法包括將當前畫面劃分為具有預定大小的至少一個塊;根據將被編碼的當前塊的大小確定將被應用於當前塊的幀內預測模式;根據確定的幀內預測模式對當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊內部的每個像素具有角度 tan—1 (dy/dx) (dx 和 dy 是整數)。根據示例性實施例的另一方面,提供了一種對圖像解碼的方法,所述方法包括將當前畫面劃分為具有預定大小的至少一個塊;從比特流提取關於應用於將被解碼的當前塊的幀內預測模式的信息;根據提取的幀內預測模式對當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊的每個像素具有角度 tan—1 (dy/dx) (dx 和 dy 是整數)。根據示例性實施例的另一方面,提供了一種對圖像編碼的設備,所述設備包括幀內預測模式確定器,根據將被編碼的當前塊的大小確定將被執行的幀內預測模式;幀內預測執行器,根據幀內預測模式對將被編碼的當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊內部的每個像素具有角度 tan—1 (dy/dx) (dx 和 dy 是整數)。根據示例性實施例的另一方面,提供了一種對圖像解碼的設備,所述設備包括熵解碼器,從比特流提取關於應用於將被解碼的當前塊的幀內預測模式的信息;幀內預測執行器,根據幀內預測模式對當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊的每個像素具有角度tarTYdy/dx) (dx和 dy是整數)。根據示例性實施例的另一方面,提供了一種在其上實現用於執行所述方法的程序的計算機可讀記錄介質。根據示例性實施例的另一方面,提供了一種在其上實現用於執行所述方法的程序的計算機可讀記錄介質。根據示例性實施例,通過沿各種方向對具有各種大小的編碼單元執行幀內預測編碼,可提高圖像壓縮效率。
具體實施例方式以下,將參照附圖更全面地描述示例性實施例,示例性實施例顯示在附圖中。在本說明書中,根據示例性實施例,「編碼單元」是在編碼器側對圖像數據編碼的編碼數據單元和在解碼器側對編碼的圖像數據解碼的編碼的數據單元。此外,「編碼深度」 表示對編碼單元編碼的深度。此外,視頻包括靜止圖像和運動圖像。在示例性實施例中,「單元」根據上下文可表示大小的單位,或者不表示大小的單位。首先將參照圖1至圖13描述根據示例性實施例的對視頻編碼的方法和設備以及對視頻解碼的方法和設備。圖1是根據示例性實施例的對視頻編碼的設備100的框圖。設備100包括最大編碼單元分割器110、編碼單元確定器120和輸出單元130。最大編碼單元分割器110可基於用於圖像的當前畫面的最大編碼單元來分割當前畫面。如果當前畫面大於最大編碼單元,則當前畫面的圖像數據可被分割為至少一個最大編碼單元。根據示例性實施例的最大編碼單元可以是具有32X32、64X64、U8X128、 256X256等大小的數據單元,其中,數據單元的形狀是具有寬度和高度為2的若干次方的正方形。根據至少一個最大編碼單元,圖像數據可被輸出到編碼單元確定器120。根據示例性實施例的編碼單元可由最大大小和深度來表示特性。深度表示從最大編碼單元空間分割編碼單元的次數,並且隨著深度加深或增大,可從最大編碼單元到最小編碼單元分割根據深度的更深的編碼單元。最大編碼單元的深度是最高的深度,最小編碼單元的深度是最低的深度。因為與每個深度相應的編碼單元的大小隨著最大編碼單元的深度加深而減小,所以與最高的深度相應的編碼單元可包括與較低的深度對應的多個編碼單元。
如上所述,當前畫面的圖像數據根據編碼單元的最大大小被分割為多個最大編碼單元,並且每個最大編碼單元可包括根據深度分割的更深的編碼單元。因為根據示例性實施例的最大編碼單元根據深度被分割,所以包括在最大編碼單元中的空域的圖像數據可根據深度被分層地分類。編碼單元的最大深度和最大大小可以被預先確定,所述最大深度和最大大小限制最大編碼單元的高度和寬度被分層分割的總次數。編碼單元確定器120對通過根據深度分割最大編碼單元的區域獲得的至少一個分割區域編碼,並根據至少一個分割區域確定深度以輸出最終編碼的圖像數據。換句話說, 編碼單元確定器120根據當前畫面的最大編碼單元,通過根據深度以更深的編碼單元對圖像數據編碼來確定編碼深度,並選擇具有最小編碼錯誤的深度。因此,與確定的編碼深度相應的編碼單元的編碼的圖像數據被最終輸出。此外,與編碼深度相應的編碼單元可被視為編碼的編碼單元。確定的編碼深度和根據確定的編碼深度的編碼的圖像數據被輸出到輸出單元 130。基於與等於或小於最大深度的至少一個深度相應的更深的編碼單元對最大編碼單元中的圖像數據編碼,並且基於每個更深的編碼單元比較編碼圖像數據的結果。可在比較更深的編碼單元的編碼錯誤之後選擇具有最小編碼錯誤的深度。可為每個最大編碼單元選擇至少一個編碼深度。隨著根據深度對編碼單元進行分層分割且隨著編碼單元的數量的增加,最大編碼單元的大小被分割。另外,即使在一個最大編碼單元中多個編碼單元對應於相同深度,也可通過單獨測量每個編碼單元的圖像數據的編碼錯誤來將與相同深度對應的每個編碼單元分割至更低的深度。因此,即使在圖像數據被包括在一個最大編碼單元中時,也根據深度將圖像數據分割至多個區域,在所述一個最大編碼單元中編碼錯誤可根據區域而不同,因此, 在圖像數據中,編碼深度可根據區域而不同。因此,可在一個最大編碼單元中確定一個或多個編碼深度,並可根據至少一個編碼深度的編碼單元對最大編碼單元的圖像數據進行劃分。因此,編碼單元確定器120可確定具有包括在最大編碼單元中的樹結構的編碼單元。根據示例性實施例的具有樹結構的編碼單元包括在最大編碼單元中所包括的所有更深的編碼單元中與確定為編碼深度的深度相應的編碼單元。可在最大編碼單元的相同區域中根據深度來分層確定編碼深度的編碼單元,並且可在不同區域中獨立地確定編碼深度的編碼單元。類似地,當前區域中的編碼深度可與另一區域中的編碼深度被獨立地確定。根據示例性實施例的最大深度是與從最大編碼單元到最小編碼單元的分割次數相關的索引。根據示例性實施例的第一最大深度可表示從最大編碼單元到最小編碼單元的總分割次數。根據示例性實施例的第二最大深度可表示從最大編碼單元到最小編碼單元的深度級的總數。例如,當最大編碼單元的深度為0時,最大編碼單元被分割一次的編碼單元的深度可被設置為1,最大編碼單元被分割兩次的編碼單元的深度可被設置為2。這裡,如果最小編碼單元是最大編碼單元被分割四次的編碼單元,則存在深度0、1、2、3和4的5個深度級,因此,第一最大深度可被設置為4,第二最大深度可被設置為5。可根據最大編碼單元執行預測編碼和變換。還可根據最大編碼單元,基於根據等於最大深度的深度或小於最大深度的深度的更深的編碼單元,執行預測編碼和變換。可根據正交變換或整數變換的方法來執行變換。因為每當最大編碼單元根據深度被分割時更深的編碼單元的數量都增加,所以對隨著深度加深而產生的所有的更深的編碼單元執行包括預測編碼和變換的編碼。為了方便描述,現在將基於最大編碼單元中的當前深度的編碼單元描述預測編碼和變換。設備100可不同地選擇用於對圖像數據編碼的數據單元的大小和形狀。為了對圖像數據編碼,執行諸如預測編碼、變換和熵編碼的操作,並且同時,相同的數據單元可被用於所有的操作,或者不同的數據單元可被用於各個操作。例如,設備100可不僅選擇用於對圖像數據編碼的編碼單元,還可選擇與編碼單元不同的數據單元以對編碼單元中的圖像數據執行預測編碼。為了以最大編碼單元執行預測編碼,可基於與編碼深度相應的編碼單元,S卩,基於不再被分割為與更低的深度相應的編碼單元的編碼單元,執行預測編碼。以下,不再被分割並且變為用於預測編碼的基本單元的編碼單元現將被稱為預測單元。通過分割預測單元獲得的分塊可包括通過分割預測單元的高度和寬度中的至少一個獲得的數據單元。例如,當2NX2N(其中,N是正整數)的編碼單元不再被分割並且變為2NX2N的預測單元時,所述分塊的大小可以是2NX2N、2NXN、NX2N或者NXN。分塊類型的示例包括通過對稱地分割預測單元的高度或寬度獲得的對稱分塊、通過非對稱地分割預測單元的高度或寬度(諸如1 η或η 1)獲得的分塊、通過幾何地分割預測單元獲得的分塊、以及具有任意形狀的分塊。編碼單元的預測模式可以是幀內模式、幀間模式和跳躍模式中的至少一個。例如, 可對2Ν X 2Ν、2Ν X N、N X 2Ν或N X N的分塊執行幀內模式或幀間模式。另外,可僅對2Ν X 2Ν 的分塊執行跳躍模式。對編碼單元中的一個預測單元獨立地執行編碼,從而選擇具有最小編碼錯誤的預測模式。設備100還可不僅基於用於對圖像數據編碼的編碼單元,而且基於與該編碼單元不同的數據單元,對編碼單元中的圖像數據執行變換。為了以編碼單元執行變換,可基於具有小於或等於所述編碼單元的大小的數據單元來執行變換。例如,用於變換的數據單元可包括針對幀內模式的數據單元和針對幀間模式的數據單元。用作變換的基礎的數據單元現將被稱為變換單元。指示通過分割編碼單元的高度和寬度達到變換單元的分割次數的變換深度也可被設置在變換單元中。例如,在2ΝΧ2Ν的當前編碼單元中,當變換單元的大小也為2ΝΧ2Ν時,變換深度可以為0 ;噹噹前編碼單元的高度和寬度分別被分割為兩個相等部分,總共被分割為41個變換單元,並且變換單元的大小因而為NXN時,變換深度可以為1 ;噹噹前編碼單元的高度和寬度分別被分割為四個相等部分,總共被分割為42個變換單元,並且變換單元的大小因而為Ν/2ΧΝ/2時,變換深度可以為2。例如,可根據分層樹結構來設置變換單元,在分層樹結構中,較高的變換深度的變換單元根據變換深度的分層特性被分割為較低的變換深度的四個變換單元。與編碼單元相似,編碼單元中的變換單元可被遞歸地分割為更小的區域,從而可以以區域為單位獨立地確定變換單元。因此,編碼單元中的殘差數據可根據變換深度按照具有樹結構的變換被劃分。
根據與編碼深度相應的編碼單元的編碼信息不僅需要關於編碼深度的信息,還需要關於與預測編碼和變換相關的信息。因此,編碼單元確定器120不僅確定具有最小編碼錯誤的編碼深度,還確定用於預測單元中的分塊類型、根據預測單元的預測模式以及用於變換的變換單元的大小。稍後將參照圖3至圖12詳細地描述根據示例性實施例的最大編碼單元中的根據樹結構的編碼單元以及確定分塊的方法。編碼單元確定器120可通過使用基於拉格朗日乘法(Lagrangian multiplier)的率失真最優化,測量根據深度的更深的編碼單元的編碼錯誤。輸出單元130在比特流中輸出最大編碼單元的圖像數據和關於根據編碼深度的編碼模式的信息,其中,基於由編碼單元確定器120確定的至少一個編碼深度對最大編碼單元的圖像數據編碼。可通過對圖像的殘差數據編碼來獲得編碼的圖像數據。關於根據編碼深度的編碼模式的信息可包括關於編碼深度的信息、關於預測單元中的分塊類型、預測模式和變換單元的大小的信息。可通過使用根據深度的分割信息定義關於編碼深度的信息,所述根據深度的分割信息指示是否對更低深度而非當前深度的編碼單元執行編碼。如果當前編碼單元的當前深度是編碼深度,則當前編碼單元中的圖像數據被編碼和輸出,並且因此分割信息可被定義為不將當前編碼單元分割至更低深度。可選擇地,如果當前編碼單元的當前深度不是編碼深度,則對更低深度的編碼單元執行編碼,並且因此分割信息可被定義為對當前編碼單元進行分割以獲得更低深度的編碼單元。如果當前深度不是編碼深度,則對被分割為更低深度的編碼單元的編碼單元執行編碼。因為在當前深度的一個編碼單元中存在更低深度的至少一個編碼單元,所以對更低深度的每個編碼單元重複執行編碼,從而可針對具有相同深度的編碼單元遞歸地執行編碼。因為針對一個最大編碼單元確定具有樹結構的編碼單元,並且針對編碼深度的編碼單元確定關於至少一個編碼模式的信息,所以可針對一個最大編碼單元確定關於至少一個編碼模式的信息。另外,因為根據深度分層地分割圖像數據,所以最大編碼單元的圖像數據的編碼深度可根據位置而不同,從而可為圖像數據設置關於編碼深度和編碼模式的信肩、ο因此,輸出單元130可將關於相應的編碼深度和編碼模式的編碼信息分配給包括在最大編碼單元中的編碼單元、預測單元和最小單元中的至少一個。根據示例性實施例的最小單元是通過將組成最低深度的最小編碼單位劃分為4 份而獲得的矩形數據單元。可選擇地,最小單元可以是最大矩形數據單元,所述最大矩形數據單元可被包括在最大編碼單元中所包括的所有編碼單元、預測單元、分塊單元和變換單元中。例如,通過輸出單元130輸出的編碼信息可被分類為根據編碼單元的編碼信息和根據預測單元的編碼信息。根據編碼單元的編碼信息可包括關於預測模式的信息以及關於分塊的大小的信息。根據預測單元的編碼信息可包括關於幀間模式的估計方向的信息、關於幀間模式的參考圖像索引的信息、關於運動矢量的信息、關於幀內模式的色度分量的信息以及關於幀內模式的插值方法的信息。另外,關於根據畫面、像條或GOP定義的編碼單元的最大大小的信息以及關於最大深度的信息可被插入到比特流的頭或SPS(序列參數集) 中。在設備100中,更深的編碼單元可以是通過將上層深度的編碼單元的高度或寬度除以2而獲得的編碼單元。換句話說,在當前深度的編碼單元的大小是2NX2N時,較低深度的編碼單元的大小是NXN。另外,具有2NX2N的大小的當前深度的編碼單元可包括最多 4個較低深度的編碼單元。因此,設備100可基於最大編碼單元的大小和考慮當前畫面的特性而確定的最大深度,通過針對每個最大編碼單元確定具有最佳形狀和最佳大小的編碼單元,來形成具有樹結構的編碼單元。另外,因為可通過使用各種預測模式和變換中的任意一種來對每個最大編碼單元執行編碼,所以可考慮各種圖像大小的編碼單元的特性來確定最佳編碼模式。因此,如果以傳統的宏塊對具有高解析度或大數據量的圖像編碼,則每個畫面的宏塊的數量急劇增加。因此,針對每個宏塊產生的壓縮信息的條數增加,從而難以發送壓縮信息並且數據壓縮效率下降。然而,通過使用設備100,因為在考慮圖像的大小而增大編碼單元的最大大小的同時,考慮圖像的特性調整了編碼單元,所以圖像壓縮效率可提高。圖2是根據示例性實施例的對視頻解碼的設備200的框圖。設備200包括接收器210、圖像數據和編碼信息提取器220以及圖像數據解碼器 230。用於設備200的各種操作的各種術語(諸如編碼單元、深度、預測單元、變換單元以及關於各種編碼模式的信息)的定義與參照圖1和設備100所描述的術語的定義相同。接收器210接收並解析已編碼的視頻的比特流。圖像數據和編碼信息提取器220 從解析的比特流中提取每個編碼單元的編碼的圖像數據,並將提取的圖像數據輸出到圖像數據解碼器230,其中,編碼單元具有根據每個最大編碼單元的樹結構。圖像數據和編碼信息提取器220可從關於當前畫面的頭或SPS提取關於當前畫面的編碼單元的最大大小的信肩、ο此外,圖像數據和編碼信息提取器220從解析的比特流提取關於編碼單元的編碼深度和編碼模式的信息,其中,編碼單元具有根據每個最大編碼單元的樹結構。提取的關於編碼深度和編碼模式的信息被輸出到圖像數據解碼器230。換句話說,比特流中的圖像數據被分割為最大編碼單元,從而圖像數據解碼器230對每個最大編碼單元的圖像數據解碼。可針對關於與編碼深度對應的至少一個編碼單元的信息設置關於根據最大編碼單元的編碼深度和編碼模式的信息,關於編碼模式的信息可包括關於與編碼深度對應的相應的編碼單元的的分塊類型的信息、關於預測模式以及變換單元的大小的信息。另外,根據深度的分割信息可被提取作為關於編碼深度的信息。關於由圖像數據和編碼信息提取器220提取的根據每個最大編碼單元的編碼模式和編碼深度的信息是這樣的信息,即關於被確定為當編碼器(諸如設備100)根據每個最大編碼單元針對根據深度的每個更深的編碼單元重複執行編碼時產生最小編碼錯誤的編碼深度和編碼模式的信息。因此,設備200可通過根據產生最小編碼錯誤的編碼深度和編碼模式對圖像數據解碼來恢復圖像。因為關於編碼深度和編碼模式的編碼信息可被分配給相應的編碼單元、預測單元和最小單元中的預定數據單元,所以圖像數據和編碼信息提取器220可根據預定數據單元提取關於編碼深度和編碼模式的信息。被分配有相同的關於編碼深度和編碼模式的信息的預定數據單元可被推斷為是包括在同一最大編碼單元中的數據單元。圖像數據解碼器230通過基於關於根據最大編碼單元的編碼深度和編碼模式的信息,對每個最大編碼單元中的圖像數據解碼來恢復當前畫面。換句話說,圖像數據解碼器 230可基於針對包括在每個最大編碼單元中的具有樹結構的編碼單元中的每個編碼單元提取的關於分塊類型、預測模式和變換單元的信息,來對編碼的圖像數據解碼。解碼處理可包括預測和逆變換,所述預測包括幀內預測和運動補償。可根據逆正交變換或逆整數變換的方法來執行逆變換。圖像數據解碼器230可基於關於根據編碼深度的編碼單元的預測單元的預測模式和分塊類型的信息,根據每個編碼單元的預測模式和分塊執行幀內預測或運動補償。此外,圖像數據解碼器230可基於關於根據編碼深度的編碼單元的變換單元的大小的信息,根據編碼單元中的每個變換單元來執行逆變換,以根據最大編碼單元執行逆變換。圖像數據解碼器230可通過使用根據深度的分割信息,確定當前最大編碼單元的至少一個編碼深度。如果所述分割信息指示在當前深度中不再分割圖像數據,則當前深度是編碼深度。因此,圖像數據解碼器230可通過使用關於預測單元的分塊類型、預測模式、 針對與編碼深度相應的每個編碼單元的變換單元的大小的信息,對當前最大編碼單元中的與每個編碼深度相應的至少一個編碼單元的已編碼的數據進行解碼,並輸出當前最大編碼單元的圖像數據。換句話說,可通過觀察為編碼單元、預測單元和最小單元中的預定數據單元分配的編碼信息,聚集包含編碼信息(所述編碼信息包括相同的分割信息)的編碼單元,並且聚集的數據單元可被考慮為一個數據單元,從而通過圖像數據解碼器230以相同的編碼模式被解碼。設備200可在對每個最大編碼單元遞歸地執行編碼時,獲得關於產生最小編碼錯誤的至少一個編碼單元的信息,並且設備200可使用所述信息來對當前畫面解碼。換句話說,可以對在每個最大編碼單元中被確定為最佳編碼單元的具有樹結構的編碼單元進行解碼。此外,考慮圖像數據的解析度和數據量來確定編碼單元的最大大小。因此,即使圖像數據具有高解析度和大數據量,也可通過使用編碼單元的大小和編碼模式對所述圖像數據進行有效地解碼和恢復,其中,通過使用從編碼器接收的關於最佳編碼模式的信息,根據圖像數據的特性來自適應地確定編碼單元的大小和編碼模式。現在將參照圖3至圖13描述根據示例性實施例的確定具有樹結構的編碼單元、預測單元和變換單元的方法。圖3是用於解釋根據示例性實施例的編碼單元的概念的示圖。可以以寬度X高度來表示編碼單元的大小,並且編碼單元的大小可以是64X64、 32X32、16X16 禾口 8X8。64X64 的編碼單元可被分割為 64X64、64X32、32X64 或 32X32 的分塊,32 X 32的編碼單元可被分割為32X32、32X16、16X32或16X16的分塊,16X16 的編碼單元可被分割為16X16、16X8、8X16或8X8的分塊,8X8的編碼單元可被分割為 8X8、8X4、4X8 或 4X4 的分塊。在視頻數據310中,解析度是1920 X 1080,編碼單元的最大大小是64,最大深度是2。在視頻數據320中,解析度是1920X1080,編碼單元的最大大小是64,最大深度是3。在視頻數據330中,解析度是352X^8,編碼單元的最大大小是16,最大深度是1。圖3中示出的最大深度表示從最大編碼單元到最小編碼單元的分割的總數。如果解析度高或者數據量大,則編碼單元的最大大小可能大,以便不僅提高編碼效率,還精確地反映圖像的特性。因此,具有比視頻數據330高的解析度的視頻數據310和 320的編碼單元的最大大小可以為64。因為視頻數據310的最大深度是2,所以視頻數據310的編碼單元315可包括具有 64的長軸(long axis)大小的最大編碼單元,以及由於通過分割最大編碼單元兩次將深度加深至兩層而具有32和16的長軸大小的編碼單元。同時,因為視頻數據330的最大深度是1,所以視頻數據330的編碼單元335可包括具有16的長軸大小的最大編碼單元,以及由於通過分割最大編碼單元一次將深度加深至一層而具有8的長軸大小的編碼單元。因為視頻數據320的最大深度是3,所以視頻數據320的編碼單元325可包括具有 64的長軸大小的最大編碼單元,以及由於通過分割最大編碼單元三次將深度加深至3層而具有32、16和8的長軸大小的編碼單元。隨著深度加深,詳細信息可被精確地表示。圖4是根據示例性實施例的基於編碼單元的圖像編碼器400的框圖。圖像編碼器400執行設備100的編碼單元確定器120的操作,以對圖像數據編碼。 換句話說,在當前幀405中,幀內預測器410在幀內模式下對編碼單元執行幀內預測,運動估計器420和運動補償器425通過使用當前幀405和參考幀495,在當前幀405中,在幀間模式下對編碼單元執行幀間估計和運動補償。從幀內預測器410、運動估計器420和運動補償器425輸出的數據通過變換器430 和量化器440被輸出為量化的變換係數。量化的變換係數通過逆量化器460和逆變換器 470被恢復為在空域中的數據,並且空域中的恢復的數據在通過去塊單元480和循環濾波器490進行後處理之後,被輸出為參考幀495。量化的變換係數可通過熵編碼器450被輸出為比特流455。為了在設備100中應用圖像編碼器400,圖像編碼器400的所有部件(即,幀內預測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、逆量化器460、逆變換器470、去塊單元480和循環濾波器490)在考慮每個最大編碼單元的最大深度的同時,基於具有樹結構的編碼單元中的每個編碼單元執行操作。具體地說,幀內預測器410、運動估計器420以及運動補償器425在考慮當前最大編碼單元的最大大小和最大深度的同時,確定具有樹結構的編碼單元中的每個編碼單元的分塊和預測模式,變換器430確定在具有樹結構的編碼單元中的每個編碼單元中的變換單元的大小。圖5是根據示例性實施例的基於解碼單元的圖像解碼器500的框圖。解析器510對將被解碼的已編碼的視頻數據以及關於從比特流505進行解碼所需的編碼的信息進行解析。編碼的視頻數據通過熵解碼器520和逆量化器530被輸出為逆量化的數據,並且逆量化的數據通過逆變換器540被恢復為在空域中的圖像數據。幀內預測器550針對空域中的圖像數據,在幀內模式下對編碼單元執行幀內預測,運動補償器560通過使用參考幀585,在幀間模式下對編碼單元執行運動補償。經過幀內預測器550和運動補償器560的空域中的圖像數據可在通過去塊單元570和循環濾波器580進行後處理之後,被輸出為恢復的幀595。另外,通過去塊單元570 和循環濾波器580進行後處理的圖像數據可被輸出為參考幀585。為了在設備200的圖像數據解碼器230中對圖像數據解碼,圖像解碼器500可執行在解析器510之後執行的操作。為了在設備200中應用圖像解碼器500,圖像解碼器500的所有部件(即,解析器 510、熵解碼器520、逆量化器530、逆變換器M0、幀內預測器550、運動補償器560、去塊單元 570以及循環濾波器580)基於用於每個最大編碼單元的具有樹結構的編碼單元執行操作。具體地說,幀內預測器550和運動補償器560基於每個具有樹結構的編碼單元的分塊和預測模式來執行操作,逆變換器540基於每個編碼單元的變換單元的大小來執行操作。圖6是示出根據示例性實施例的根據深度的更深的編碼單元以及分塊的示圖。設備100和設備200使用分層編碼單元,以考慮圖像的特性。編碼單元的最大高度、最大寬度和最大深度可根據圖像的特性被自適應地確定,或者可由用戶不同地設置。可根據編碼單元的預定最大大小來確定根據深度的更深編碼單元的大小。在根據示例性實施例的編碼單元的分層結構600中,編碼單元的最大高度和最大寬度均是64,最大深度是4。因為深度沿分層結構600的縱軸加深,所以更深的編碼單元的高度和寬度均被分割。另外,預測單元和分塊沿分層結構600的橫軸被示出,其中,所述預測單元和分塊是每個更深的編碼單元的預測編碼的基礎。換句話說,編碼單元610是分層結構600中的最大編碼單元,其中,深度是0,大小 (即,高度乘以寬度)是64X64。所述深度沿縱軸加深,並且存在大小為32X32且深度為1 的編碼單元620、大小為16X16且深度為2的編碼單元630、大小為8X8且深度為3的編碼單元640、大小為4X4且深度為4的編碼單元650。大小為4X4且深度為4的編碼單元 650是最小編碼單元。編碼單元的預測單元和分塊根據每個深度沿橫軸排列。換句話說,如果大小為 64X64且深度為0的編碼單元610是預測單元,則預測單元可被分割為包括在編碼單元 610中的分塊,即,大小為64X64的分塊610、大小為64X32的分塊612、大小為32X64的分塊614以及大小為32X32的分塊616。類似地,大小為32X32且深度為1的編碼單元620的預測單元可被分割為包括在編碼單元620中的分塊,即,大小為32X32的分塊620、大小為32X16的分塊622、大小為 16X32的分塊624以及大小為16X16的分塊626。類似地,大小為16 X 16且深度為2的編碼單元630的預測單元可被分割為包括在編碼單元630中的分塊,即,包括在編碼單元630中的大小為16X16的分塊、大小為16X8 的分塊632、大小為8X 16的分塊634以及大小為8X8的分塊636。類似地,大小為8X8且深度為3的編碼單元640的預測單元可被分割為包括在編碼單元640中的分塊,即,包括在編碼單元640中的大小為8X8的分塊、大小為8X4的分塊642、大小為4X8的分塊644以及大小為4X4的分塊646。大小為4X4且深度為4的編碼單元650是最小編碼單元且是最低深度的編碼單元。編碼單元650的預測單元僅被分配給大小為4X4的分塊。為了確定組成最大編碼單元610的編碼單元的至少一個編碼深度,設備100的編碼單元確定器120針對與包括在最大編碼單元610中的每個深度相應的編碼單元執行編碼。根據深度的更深的編碼單元的數量隨著深度加深而增加,其中,所述根據深度的更深的編碼單元包括相同範圍和相同大小的數據。例如,與深度2相應的四個編碼單元需要覆蓋包括在與深度1對應的一個編碼單元中的數據。因此,為了比較根據深度的相同數據的編碼結果,與深度1相應的編碼單元和與深度2相應的四個編碼單元均被編碼。為了針對多個深度中的當前深度執行編碼,可通過沿分層結構600的橫軸對與當前深度相應的編碼單元中的每個預測單元執行編碼,來針對當前深度選擇最小編碼錯誤。 可選擇地,隨著深度沿分層結構600的縱軸加深,可通過針對每個深度執行編碼比較根據深度的最小編碼錯誤,來搜索最小編碼錯誤。編碼單元610中具有最小編碼錯誤的深度和分塊可被選擇為編碼單元610的編碼深度和分塊類型。圖7是用於解釋根據示例性實施例的編碼單元710和變換單元720之間的關係的示圖。設備100或設備200針對每個最大編碼單元,根據大小小於或等於最大編碼單元的編碼單元對圖像編碼或解碼。可基於不大於相應的編碼單元的數據單元來選擇在編碼期間用於變換的變換單元的大小。例如,在設備100或200中,如果編碼單元710的大小是64X64,則可通過使用大小為32X32的變換單元720來執行變換。此外,可通過對大小為小於64X 64的32 X 32、16 X 16、8 X 8以及4X4的每個變換單元執行變換來對大小為64X64的編碼單元710的數據編碼,隨後可選擇具有最小編碼錯誤的變換單元。圖8是用於解釋根據示例性實施例的與編碼的深度相應的編碼單元的編碼信息的示圖。設備100的輸出單元130可對關於分塊類型的信息800、關於預測模式的信息810 和關於與編碼深度相應的每個編碼單元的變換單元的大小的信息820進行編碼和發送,作為關於編碼模式的信息。信息800指示通過分割當前編碼單元的預測單元獲得的分塊的形狀的信息,其中,所述分塊是用於對當前編碼單元進行預測編碼的數據單元。例如,大小為2NX2N的當前編碼單元CU_0可被分割為大小為2NX2N的分塊802、大小為2NXN的分塊804、大小為 NX 2N的分塊806以及大小為NXN的分塊808中的任意一個。這裡,關於分塊類型的信息 800被設置為指示大小為2NXN的分塊804、大小為NX 2N的分塊806以及大小為NXN的分塊808中的一個。信息810指示每個分塊的預測模式。例如,信息810可指示對由信息800指示的分塊執行的預測編碼的模式,即,幀內模式812、幀間模式814或跳躍模式816。信息820指示當對當前編碼單元執行變換時所基於的變換單元。例如,變換單元可以是第一幀內變換單元822、第二幀內變換單元824、第一幀間變換單元擬6或第二幀間變換單元828。設備200的圖像數據和編碼信息提取器220可提取並使用信息800、810和820以
進行解碼。
圖9是根據示例性實施例的根據深度的更深的編碼單元的示圖。分割信息可被用於指示深度的改變。分割信息指示當前深度的編碼單元是否被分割成更低深度的編碼單元。用於對深度為0且大小為2N_0X2N_0的編碼單元900進行預測編碼的預測單元 910可包括大小為2N_0X2N_0的分塊類型912的分塊、大小為2N_0XN_0的分塊類型914 的分塊、大小為N_0X2N_0的分塊類型916的分塊以及大小為Ν_0ΧΝ_0的分塊類型918的分塊。圖9僅示出了通過對稱地分割預測單元910獲得的分塊類型912至918,但是分塊類型不限於此,並且預測單元910的分塊可包括非對稱的分塊、具有預定形狀的分塊和具有幾何形狀的分塊。根據每個分塊類型,對大小為2N_0X2N_0的一個分塊、大小為2N_0XN_0的兩個分塊、大小為N_0X2N_0的兩個分塊以及大小為Ν_0ΧΝ_0的四個分塊重複執行預測編碼。 可對大小為2N_0X2N_0、N_0X2N_0、2N_0XN_0以及Ν_0ΧΝ_0的分塊執行幀內模式和幀間模式下的預測編碼。可僅對大小為2N_0X2N_0的分塊執行跳躍模式下的預測編碼。比較包括分塊類型912至分塊類型918中的預測編碼的編碼的錯誤,並在分塊類型中確定最小編碼錯誤。如果在分塊類型912至分塊類型916中的一個分塊類型中編碼錯誤最小,則預測單元910可以不被分割至更低的深度。如果在分塊類型918中編碼錯誤最小,則深度從0改變至1以在操作920中分割分塊類型918,並可針對深度為2且大小為Ν_0 ΧΝ_0的編碼單元930重複執行編碼,以搜索
最小編碼錯誤。用於對深度為1且大小為2N_1X2N_1 ( = Ν_0ΧΝ_0)的編碼單元930進行預測編碼的預測單元940可包括大小為2N_1 X 2N_1的分塊類型942的分塊、大小為2N_1 XN_1的分塊類型944的分塊、大小為N_1 X 2N_1的分塊類型946的分塊以及大小為N_1 XN_1的分塊類型948的分塊。如果在分塊類型948中編碼錯誤最小,則深度從1改變至2以在操作950中分割分塊類型948,並且針對深度為2且大小為N_2 XN_2的編碼單元960重複執行編碼,以搜索
最小編碼錯誤。當最大深度是d時,根據每個深度的分割操作可被執行,直到深度變為d-Ι為止, 並且分割信息可被編碼,直到深度為0至d-2為止。換句話說,在操作970中將與深度為 d-2相應的編碼單元分割之後,當執行編碼直到深度為d-Ι時,用於對深度為d-Ι且大小為2N_(d-l) X2N_(d-l)的編碼單元980進行預測編碼的預測單元990可包括大小為2N_ (d-1) X2N_(d-l)的分塊類型992的分塊、大小為2N_(d-l) XN_(d_l)的分塊類型994的分塊、大小*N_(d-l)X2N_(d-l)的分塊類型996的分塊以及大小為N_(d-1) XN_(d-1)的分塊類型998的分塊。可在分塊類型992至分塊類型998之中,對大小為2N_(d_l) X2N_(d_l)的一個分塊、大小為2N_(d-l) XN_(d-l)的兩個分塊、大小為N_(d-1) X2N_(d-l)的兩個分塊、大小為N_(d-1) XN_(d-l)的四個分塊重複執行預測編碼,以搜索具有最小編碼錯誤的分塊類型。即使當分塊類型998具有最小編碼錯誤時,因為最大深度為d,所以深度為d-Ι的編碼單元cu_(d-l)也不再被分割至更低深度,構成當前最大編碼單元900的編碼單元的編碼深度被確定為d-Ι,並且編碼單元900的分塊類型可被確定為N_(d-1) XN_(d-l)。此外, 因為最大深度為d,並且具有最低深度d-Ι的最小編碼單元980不再被分割至更低深度,所以不設置用於編碼單元980的分割信息。數據單元999可以是用於當前最大編碼單元的最小單元。根據示例性實施例的最小單元可以是通過將最小編碼單元980分割為4份而獲得的矩形數據單元。通過重複地執行編碼,設備100可通過比較根據編碼單元900的深度的編碼錯誤來選擇具有最小編碼錯誤的深度以確定編碼深度,並且可將相應的分塊類型和預測模式設置為編碼深度的編碼模式。因此,在所有深度1至d中比較根據深度的最小編碼錯誤,並且具有最小編碼錯誤的深度可被確定為編碼深度。編碼深度、預測單元的分塊類型和預測模式可被編碼和發送, 作為關於編碼模式的信息。此外,因為從深度0至編碼深度來分割編碼單元,所以只有編碼深度的分割信息被設置為0,並且除了編碼深度之外的深度的分割信息被設置為1。設備200的圖像數據和編碼信息提取器220可提取並使用關於編碼單元900的編碼深度以及預測單元的信息,以對分塊912解碼。設備200可通過使用根據深度的分割信息將分割信息為0的深度確定為編碼深度,並且可使用關於相應深度的編碼模式的信息進行解碼。圖10至圖12是用於解釋根據示例性實施例的編碼單元1010、預測單元1060和變換單元1070之間的關係的示圖。編碼單元1010是最大編碼單元中的、與由設備100確定的編碼深度相應的、具有樹結構的編碼單元。預測單元1060是每個編碼單元1010的預測單元的分塊,變換單元1070 是每個編碼單元1010的變換單元。當在編碼單元1010中最大編碼單元的深度為0時,編碼單元1012和IOM的深度為 1,編碼單元 1014、1016、1018、1028、1050 和 1052 的深度為 2,編碼單元 1020、1022、1024、 1026、1030、1032和1048的深度為3,編碼單元1040、1042、1044和1046的深度為4。在預測單元1060 中,一些編碼單元 1014、1016、1022、1032、1048、1050、1052 和 IOM被分割為用於預測編碼的分塊。換句話說,編碼單元1014、1022、1050和IOM的分塊類型具有2NXN的大小,編碼單元1016、1048和1052的分塊類型具有NX2N的大小,編碼單元1032的分塊類型具有NXN的大小。編碼單元1010的預測單元和分塊小於或等於每個編碼單元。以小於編碼單元1052的數據單元,對變換單元1070中的編碼單元1052的圖像數據執行變換和逆變換。另外,變換單元1070中的編碼單元1014、1016、1022、1032、1048、 1050和1052與預測單元1060中的編碼單元在大小和形狀上不同。換句話說,設備100和設備200可分別對相同編碼單元中的數據單元執行幀內預測、運動估計、運動補償、變換和逆變換。因此,對每個編碼單元遞歸地執行編碼以確定最佳編碼單元,從而可獲得具有遞歸樹結構的編碼單元,其中,每個編碼單元在最大編碼單元的每個區域中具有分層結構。編碼信息可包括關於編碼單元的分割信息、關於分塊類型的信息、關於預測模式的信息以及關於變換單元的大小的信息。表1示出了可由設備100和設備200設置的編碼信息。[表 1]
分割信息0分割信息1
(對大小為2NX2N且當前深度為d的編碼單元編碼) 預測模式分塊類型變換單元的大小對具有d+1
幀內對稱的分非對稱的變換單元變換單元的更低深幀間塊類型分塊類型的分割信的分割信度的編碼
跳過(僅2Νχ息0息1 單元重複
2N)2Nx2N 2NxnU 2Nx2N NxN (對稱編碼
2NxN 2NxnD類型)
Nx2N nLx2NΝ/2χΝ/2
NxN nRx2N(非對稱
類型)設備100的輸出單元130可輸出關於具有樹結構的編碼單元的編碼信息,設備200 的圖像數據和編碼信息提取器220可從接收的比特流提取關於具有樹結構的編碼單元的編碼信息。分割信息指示當前編碼單元是否被分割為更低深度的編碼單元。如果當前深度d 的分割信息為0,則當前編碼單元不再被分割至更低深度的深度是編碼深度,因此可對編碼深度定義關於分塊類型、預測模式和變換單元的大小的信息。如果根據分割信息將當前編碼單元進一步分割,則對更低深度的四個分割的編碼單元獨立地執行編碼。預測模式可以是幀內模式、幀間模式和跳過模式中的一種。可在所有分塊類型中定義幀內模式和幀間模式,僅在大小為2NX2N的分塊類型中定義跳過模式。關於分塊類型的信息可指示通過對稱地分割預測單元的高度或寬度獲得的大小為2N X 2N、2N X N、N X 2N和N X N的對稱的分塊類型以及通過非對稱地分割預測單元的高度或寬度獲得的大小為2N X nU、2N X nD、nL X 2N和nR X 2N的非對稱的分塊類型。可通過按 1 3和3 1分割預測單元的高度來分別獲得大小為2NXnU和2NXnD的非對稱的分塊類型,可通過按1 3和3 1分割預測單元的寬度來分別獲得大小為nLX2N和nRX2N 的非對稱的分塊類型。變換單元的大小可被設置為幀內模式下的兩種類型以及幀間模式下的兩種類型。 換句話說,如果變換單元的分割信息為0,則變換單元的大小可以是2NX 2N(2NX 2N是當前編碼單元的大小))。如果變換單元的分割信息為1,則可通過分割當前編碼單元來獲得變換單元。另外,如果大小為2NX2N的當前編碼單元的分塊類型是對稱的分塊類型,則變換單元的大小可以是NXN,如果當前編碼單元的分塊類型是非對稱的分塊類型,則變換單元的大小可以是N/2XN/2。關於具有樹結構的編碼單元的編碼信息可包括與編碼深度相應的編碼單元、預測單元和最小單元中的至少一個。與編碼深度相應的編碼單元可包括包含相同的編碼信息的預測單元和最小單元中的至少一個。因此,通過比較相鄰數據單元的編碼信息來確定相鄰數據單元是否包括在與編碼深度相應的相同的編碼單元中。另外,通過使用數據單元的編碼信息來確定與編碼深度相應的相應編碼單元,從而可確定在最大編碼單元中編碼深度的分布。
因此,如果基於相鄰數據單元的編碼信息來預測當前編碼單元,則可直接參照和使用與當前編碼單元相鄰的更深的編碼單元中的數據單元的編碼信息。可選擇地,如果基於相鄰數據單元的編碼信息來預測當前編碼單元,則使用所述數據單元的編碼信息來搜索與當前編碼單元相鄰的數據單元,並且可參照搜索到的相鄰的編碼單元來預測當前編碼單元。圖13是用於解釋根據表1的編碼模式信息的編碼單元、預測單元或分塊和變換單元之間的關係的示圖。最大編碼單元1300包括多個編碼深度的編碼單元1302、1304、1306、1312、1314、 1316和1318。這裡,因為編碼單元1318是編碼深度的編碼單元,所以分割信息可被設置為 0。關於大小為2NX2N的編碼單元1318的分塊類型的信息可被設置為大小為2NX2N的分塊類型1322、大小為2NXN的分塊類型1324、大小為NX2N的分塊類型1326、大小為NXN 的分塊類型1328、大小為2NXnU的分塊類型1332、大小為2NXnD的分塊類型1334、大小為 nLX2N的分塊類型1336以及大小為nRX2N的分塊類型1338中的一個。當分塊類型被設置為對稱(即,分塊類型1322、1324、13沈或13 )時,如果變換單元的分割信息(TU大小標誌)為0,則大小為2NX2N的變換單元1342被設置,如果TU大小標誌為1,則大小為NXN的變換單元1344被設置。當分塊類型被設置為非對稱(即,分塊類型1332、1334、1336或1338)時,如果TU 大小標誌為0,則大小為2NX2N的變換單元1352被設置,如果TU大小標誌為1,則大小為 N/2XN/2的變換單元13M被設置。參照圖13,TU大小標誌是具有值0或1的標誌,但是TU大小標誌不限於1比特, 並且在TU大小標誌從0增加時,變換單元可具有樹結構地分層分割。在這種情況下,根據示例性實施例,可通過使用變換單元的TU大小標誌將實際被使用的變換單元的大小連同變換單元的最大大小和最小大小一起表示。根據示例性實施例,設備100能夠對最大變換單元大小信息、最小變換單元大小信息、最大TU大小標誌編碼。對最大變換單元大小信息、最小變換單元大小信息、最大TU大小標誌編碼的結果可被插入到SPS中。根據示例性實施例,設備200可通過使用最大變換單元大小信息、最小變換單元大小信息、最大TU大小標誌來對視頻解碼。現在將詳細描述由圖4中示出的視頻編碼設備100的幀內預測單元410和圖5 中示出的視頻解碼設備200的幀內預測單元550執行的幀內預測。在以下描述中,編碼單元表示在圖像的編碼處理中的當前編碼塊,解碼單元表示在圖像的解碼處理中的當前解碼塊。編碼單元和解碼單元的不同僅在於編碼單元在編碼處理中使用,解碼單元在解碼處理中使用。為了術語的一致性,除了特定情況以外,編碼單元和解碼單元在編碼處理和解碼處理中都被稱為編碼單元。此外,本領域的普通技術人員通過本說明書將理解根據示例性實施例的幀內預測方法和設備也可被應用於在普通視頻編解碼器中執行幀內預測。圖14示出根據示例性實施例的根據編碼單元的大小的幀內預測模式的數量。在圖14中,將被應用於編碼單元(在解碼步驟中為解碼單元)的幀內預測模式的數量可根據編碼單元的大小而變化。例如,參照圖14,當將被幀內預測的編碼單元的大小為 NXN時,對大小為2X2、4X4、16X16、32X32、64X64和U8X128的編碼單元實際上執行的幀內預測模式的數量可以被設置為5、9、9、17、33、5和5 (在示例2中)。又例如,當將被幀內預測的編碼單元的大小為NXN時,對大小為2X2、4X4、8X8、16X16、32X32、64X64 和U8X128的編碼單元實際上執行的幀內預測模式的數量可以被設置為3、17、34、34、34、 5和5。將被執行的幀內預測模式的數量根據編碼單元的大小變化的原因在於對預測模式信息編碼的開銷根據編碼單元的大小變化。換句話說,在具有小的大小的編碼單元的情況下,雖然佔用整個圖像的小部分,但是用於發送附加信息(諸如具有小的大小的編碼單元的預測模式)的開銷可能較高。因此,如果通過使用太多的預測模式對具有小的大小的編碼單元編碼,則比特量可能會增大,並且壓縮效率可能會降低。具有大的大小的編碼單元 (例如,大小大於64X64的編碼單元)通常被選擇為用於平坦區域的編碼單元。然而,如果通過使用太多的預測模式對具有大的大小的編碼單元編碼,則壓縮效率可能也會降低。因此,在圖14中,如果將編碼單元的大小大致分類為至少三個大小m Xm (2 = Nl =4,Nl 是整數)、N2XN2 (8 = N2 = 32,N2 是整數)和 N3XN3 (N3 = 64,N3 是整數),則將對大小為mxm的編碼單元執行的幀內預測模式的數量為Al (Al是正整數),將對大小為 N2XN2的編碼單元執行的幀內預測模式的數量為A2 (A2是正整數),將對大小為N3XN3的編碼單元執行的幀內預測模式的數量為A3 (A3是正整數),可將根據每個編碼單元的大小執行的幀內預測模式的數量設置為滿足這樣的關係A3 =Al = A2。S卩,當將當前畫面大致劃分為具有較小大小的編碼單元、具有中等大小的編碼單元和具有較大大小的編碼單元時,可將具有中等大小的編碼單元設置為具有預測模式的最大數量,可將具有較小大小的編碼單元和具有較大大小的編碼單元設置為具有預測模式的相對小的數量。然而,本示例性實施例不限於此,可將具有較小大小的編碼單元和具有較大大小的編碼單元設置為具有預測模式的較大數量。圖14中示出的根據每個編碼單元的大小改變的預測模式的數量是示例,並且可改變。圖15A是用於解釋根據示例性實施例的應用於具有預定大小的編碼單元的幀內預測模式的示圖。參照圖14和圖15A,例如,當對大小為4X4的編碼單元執行幀內預測時,大小為 4X4的編碼單元可具有垂直模式(模式0)、水平模式(模式1)、直流(DC)模式(模式2)、 左下對角模式(模式幻、右下對角模式(模式4)、垂直偏右模式(模式幻、水平偏下模式 (模式6)、垂直偏左模式(模式7)和水平偏上模式(模式8)。圖15B示出圖15A的幀內預測模式的方向。在圖15B中,在箭頭末端示出的數字表示當沿箭頭標記的方向執行預測時的相應的模式值。這裡,模式2是不具有方向性的DC 預測模式,因此沒有被示出。圖15C示出對圖15A的編碼單元執行的幀內預測方法。參照圖15C,通過在根據編碼單元的大小確定的可用的幀內預測模式下使用當前編碼單元的相鄰像素A至M,產生預測編碼單元。例如,現在將解釋在模式0 (即,垂直模式) 下對大小為4X4的當前編碼單元進行預測編碼的操作。首先,在大小為4X4的當前編碼單元上方相鄰的像素A至D的像素值被預測為大小為4X4的當前編碼單元的像素值。艮口, 像素A的像素值被預測為大小為4X4的當前編碼單元的第一列的四個像素的像素值,像素 B的值被預測為大小為4X4的當前編碼單元的第二列的四個像素的像素值,像素C的值被預測為大小為4X4的當前編碼單元的第三列的四個像素的像素值,像素D的值被預測為大小為4X4的當前編碼單元的第四列的四個像素的像素值。接下來,獲得包括在原始的4X4 的編碼單元中的像素的實際像素值與包括在使用像素A至D預測的4X4的編碼單元中的
19像素的像素值之間的誤差值,並對所述誤差值編碼。圖16是用於解釋根據另一示例性實施例的應用於具有預定大小的編碼單元的幀內預測模式的示圖。參照圖14和圖16,當對大小為2X2的編碼單元執行幀內預測時,大小為2X2的編碼單元可具有5個模式,即,垂直模式、水平模式、DC模式、平面模式和右下對角模式。如果如圖14所示大小為32X32的編碼單元具有33個幀內預測模式,則必須設置 33個幀內預測模式的方向。為了設置除了圖15和圖16中示出的幀內預測模式以外的具有各種方向的幀內預測模式,通過使用dx和dy參數來設置用於選擇將被用作關於編碼單元中的像素的參考像素的相鄰像素的預測方向。例如,當33個預測模式中的每個預測模式被表示為模式N(N是從0到32的整數)時,模式0可被設置為垂直模式,模式1被設置為水平模式,模式2被設置為DC模式,模式3被設置為平面模式,模式4至模式31中的每個模式可如表 2 所示,通過使用表示為(1,-1),(1,1), (1,2), (2,1), (1,-2),(2,1), (1,_2), (2,-1),(2,-11),(5,-7),(10,-7),(11,3), (4,3), (1,11), (1,_1),(12, -3), (1, -11), (1,-7),(3,-10),(5,-6),(7,-6),(7,-4),(11,1),(6,1), (8,3), (5,3), (5,7), (2,7), (5,-7)和(4,-3)之一的(dx,dy),被設置為具有tan-l(dy/dx)的方向性的預測模式。[表 2]
權利要求
1.一種對圖像編碼的方法,所述方法包括將當前畫面劃分為具有預定大小的塊;根據將被編碼的當前塊的大小確定將被應用於當前塊的幀內預測模式;根據確定的幀內預測模式對當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊內部的每個像素具有角度tan—1 (dy/dx),dx和dy是整數。
2.如權利要求1所述的方法,其中,幀內預測模式包括使用位於所述延長線上或接近於所述延長線的先前編碼和恢復的相鄰塊的N個像素來執行預測的預測模式,N是整數。
3.如權利要求1所述的方法,其中,基於作為具有最大大小的編碼單元的最大編碼單元以及作為通過分層分割最大編碼單元獲得的信息的深度,將當前畫面劃分為塊。
4.如權利要求1所述的方法,其中,執行幀內預測的步驟包括通過使用一個或多個相鄰塊的像素來對當前塊執行幀內預測,所述像素位於當前塊的右方、左方、右上方和左下方。
5.如權利要求ι所述的方法,其中,在當前塊的可用的幀內預測模式的數量為m時, Nl是整數,所述方法還包括將當前塊的幀內預測模式映射到N2個幀內預測模式中具有最相似的方向的幀內預測模式,以與包括N2個幀內預測模式的預定大小的塊兼容,N2是整數且與m不同。
6.如權利要求1所述的方法,還包括通過使用當前塊的一個或多個相鄰塊的幀內預測模式來預測當前塊的幀內預測模式。
7.如權利要求6所述的方法,其中,預測的步驟包括如果當前塊的可用的幀內預測模式與相鄰塊的可用的幀內預測模式不同,則將相鄰塊的幀內預測模式改變為在預定數量的代表性的幀內預測模式中具有最相似的方向的代表性的幀內預測模式;將在根據當前塊的大小的幀內預測模式中具有與代表性的幀內預測模式的方向最相似的方向的幀內預測模式預測為當前塊的幀內預測模式。
8.如權利要求6所述的方法,其中,預測的步驟包括基於第一相鄰塊幀內預測模式的方向和第二相鄰塊幀內預測模式的方向,將第一相鄰塊幀內預測模式和第二相鄰塊幀內預測模式分別改變為預定數量的代表性的幀內預測模式中的第一代表性的幀內預測模式和第二代表性的幀內預測模式,其中,從當前塊的上方塊確定第一相鄰塊幀內預測模式,從當前塊的左方塊確定第二相鄰塊幀內預測模式;選擇在第一代表性的幀內預測模式和第二代表性的幀內預測模式中具有較低的模式值的代表性的幀內預測模式;將在根據當前塊的大小的幀內預測模式中具有與選擇的代表性的幀內預測模式的方向最相似的方向的幀內預測模式預測為當前塊的幀內預測模式。
9.一種對圖像解碼的方法,所述方法包括將當前畫面劃分為具有預定大小的一個塊;從比特流提取關於應用於將被解碼的當前塊的幀內預測模式的信息;根據幀內預測模式對當前塊執行幀內預測,其中,幀內預測模式包括通過使用延長線來執行預測的預測模式,所述延長線關於當前塊的每個像素具有角度tan—1 (dy/dx),dx和dy是整數。
10.根據權利要求9所述的方法,其中,幀內預測模式包括使用位於所述延長線上或接近於所述延長線的先前編碼和恢復的相鄰塊的N個像素來執行預測的預測模式,N是整數。
11.根據權利要求9所述的方法,其中,劃分的步驟包括基於作為具有最大大小的解碼器的最大解碼器以及作為通過分層分割最大解碼器獲得的信息的深度,將當前畫面劃分為塊。
12.根據權利要求9所述的方法,其中,在當前塊的可用的幀內預測模式的數量為m 時,Nl是整數,所述方法還包括將當前塊的幀內預測模式映射到N2個幀內預測模式中具有最相似的方向的幀內預測模式,以與包括N2個幀內預測模式的預定大小的塊兼容,N2是與m不同的整數。
13.根據權利要求9所述的方法,還包括通過使用當前塊的一個或多個相鄰塊的幀內預測模式來預測當前塊的幀內預測模式。
14.根據權利要求13所述的方法,其中,預測的步驟還包括如果當前塊的可用的幀內預測模式與相鄰塊的可用的幀內預測模式不同,則將相鄰塊的幀內預測模式改變為在預定數量的代表性的幀內預測模式中具有最相似的方向的代表性的幀內預測模式;將在根據當前塊的大小的幀內預測模式中具有與代表性的幀內預測模式的方向最相似的方向的幀內預測模式預測為當前塊的幀內預測模式。
15.根據權利要求13所述的方法,其中,預測的步驟還包括基於第一相鄰塊幀內預測模式的方向和第二相鄰塊幀內預測模式的方向,將第一相鄰塊幀內預測模式和第二相鄰塊幀內預測模式分別改變為預定數量的代表性幀內預測模式中的第一代表性的幀內預測模式和第二代表性的幀內預測模式,其中,從當前塊的上方塊確定第一相鄰塊幀內預測模式,從當前塊的左方塊確定第二相鄰塊幀內預測模式;選擇在第一代表性的幀內預測模式和第二代表性的幀內預測模式中具有較低的模式值的代表性的幀內預測模式;將在根據當前塊的大小的幀內預測模式中具有與選擇的代表性的幀內預測模式的方向最相似的方向的幀內預測模式預測為當前塊的幀內預測模式。
全文摘要
公開了一種對視頻編碼的方法和設備以及一種對視頻解碼的方法和設備,其中,用於對將被編碼的當前塊執行幀內預測的相鄰像素被過濾,並且通過使用過濾的相鄰像素來執行幀內預測。
文檔編號H04N7/50GK102484704SQ201080036789
公開日2012年5月30日 申請日期2010年8月17日 優先權日2009年8月17日
發明者宋學燮, 閔正惠 申請人:三星電子株式會社