技術領域
本發(fā)明涉及在空間區(qū)域和變換區(qū)域之間執(zhí)行變換的視頻編碼和視頻解碼。
背景技術:
隨著再現(xiàn)和存儲高分辨率或高質量視頻內(nèi)容的硬件被開發(fā)和提供,對于用于有效地對高分辨率或高質量視頻內(nèi)容進行編碼或解碼的視頻編解碼器的需求增加。在現(xiàn)有的視頻編解碼器中,根據(jù)有限的基于預定尺寸的宏塊的視頻編碼方法對視頻編碼。另外,現(xiàn)有視頻編解碼器通過使用具有與宏塊相同尺寸的塊對宏塊進行變換和反變換,從而對視頻數(shù)據(jù)編碼和解碼。
技術實現(xiàn)要素:
技術問題
本發(fā)明提供通過使用分層編碼單元在空間區(qū)域和變換區(qū)域之間執(zhí)行變換的視頻編碼和視頻解碼。
技術方案
根據(jù)本發(fā)明的一方面,提供了一種基于具有樹結構的編碼單元對視頻解碼的方法,所述方法包括以下操作:接收針對編碼視頻的比特流并解析比特流;從比特流提取指示編碼單元的尺寸和可變深度的編碼單元結構信息以及關于針對畫面的具有樹結構的編碼單元的編碼深度和編碼模式的信息,所述編碼單元是用于對視頻的畫面解碼的數(shù)據(jù)單元;基于編碼單元結構信息以及關于編碼深度和編碼模式的信息確定具有樹結構的編碼單元;基于編碼單元對畫面解碼。
有益效果
由于考慮了圖像的尺寸增加了編碼單元的最大尺寸同時還考慮了圖像的特性分層調整編碼單元,因此可增加圖像壓縮效率。由于編碼器發(fā)送具有關于編碼深度和編碼模式的信息的編碼的視頻數(shù)據(jù),因此解碼器可在根據(jù)具有樹結構的編碼單元確定至少一個編碼深度之后對每一幅編碼圖像解碼,因此可提高圖像的編碼和解碼效率。
附圖說明
圖1是根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻編碼的設備的框圖;
圖2是根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻解碼的設備的框圖;
圖3是用于描述根據(jù)本發(fā)明實施例的編碼單元的概念的示圖;
圖4是根據(jù)本發(fā)明實施例的基于編碼單元的圖像編碼器的框圖;
圖5是根據(jù)本發(fā)明實施例的基于編碼單元的圖像解碼器的框圖;
圖6是根據(jù)本發(fā)明實施例的根據(jù)深度的較深層編碼單元和分區(qū)的示圖;
圖7是描述根據(jù)本發(fā)明實施例的編碼單元和變換單元之間的關系的示圖;
圖8是用于描述根據(jù)本發(fā)明實施例的對應于編碼深度的編碼單元的編碼信息的示圖;
圖9是根據(jù)本發(fā)明實施例的根據(jù)深度的較深層編碼單元的示圖;
圖10到圖12是用于描述根據(jù)本發(fā)明實施例的編碼單元、預測單元和變換單元之間的關系的示圖;
圖13是用于描述根據(jù)表1的編碼模式信息的編碼單元、預測單元或分區(qū)與變換單元之間的關系的示圖;
圖14是示出根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻編碼的方法的流程圖;
圖15是示出根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻解碼的方法的流程圖。
最優(yōu)模式
根據(jù)本發(fā)明的一方面,提供了一種基于具有樹結構的編碼單元對視頻解碼的方法,所述方法包括以下操作:接收針對編碼的視頻的比特流并解析比特流;從比特流提取編碼單元結構信息和關于針對畫面的具有樹結構的編碼單元的編碼深度和編碼模式的信息,所述編碼單元結構信息指示作為對視頻的畫面解碼的數(shù)據(jù)單元的編碼單元的尺寸和可變深度;基于編碼單元結構信息和關于編碼深度和編碼模式的信息確定具有樹結構的編碼單元,并基于編碼單元對畫面解碼。
根據(jù)本發(fā)明的另一方面,提供了一種基于具有樹結構的編碼單元對視頻編碼的方法,所述方法包括以下操作:將視頻的畫面劃分為一個或多個最大編碼單元,最大編碼單元是具有最大尺寸的編碼單元;基于根據(jù)深度的編碼單元對畫面編碼,其中,通過在所述一個或多個最大編碼單元的每個中根據(jù)深度分層劃分所述一個或多個最大編碼單元中的每一個,針對每個根據(jù)深度的編碼單元確定根據(jù)編碼深度的編碼單元,從而確定具有樹結構的編碼單元來獲得根據(jù)深度的編碼單元;輸出基于具有樹結構的編碼單元被編碼的編碼數(shù)據(jù)、關于編碼深度和編碼模式的信息和指示編碼單元的尺寸和可變深度的編碼單元結構信息。
根據(jù)本發(fā)明的另一方面,提供了一種包括視頻解碼處理器并基于具有樹結構的編碼單元的視頻解碼設備,所述視頻解碼設備包括:接收器,接收針對編碼視頻的比特流,并隨后解析比特流;提取器,從比特流提取編碼單元結構信息和關于針對畫面的具有樹結構的編碼單元的編碼深度和編碼模式的信息,所述編碼單元結構信息指示作為對視頻的畫面解碼的數(shù)據(jù)單元的編碼單元的尺寸和可變深度;解碼器,與視頻解碼處理器相關聯(lián),基于編碼單元結構信息和關于編碼深度和編碼模式的信息確定具有樹結構的編碼單元,并基于編碼單元對畫面解碼。
根據(jù)本發(fā)明的另一方面,提供了一種包括視頻編碼處理器并基于具有樹結構的編碼單元的視頻編碼設備,所述視頻編碼設備包括:最大編碼單元劃分器,將視頻的畫面劃分為一個或多個最大編碼單元,最大編碼單元是具有最大尺寸的編碼單元;編碼單元確定器,與視頻編碼處理器相關聯(lián),基于根據(jù)深度的編碼單元對畫面編碼,其中,通過在所述一個或多個最大編碼單元的每個中根據(jù)深度分層劃分所述一個或多個最大編碼單元中的每一個,針對每個根據(jù)深度的編碼單元確定根據(jù)編碼深度的編碼單元,從而確定具有樹結構的編碼單元來獲得根據(jù)深度的編碼單元;輸出單元,輸出基于具有樹結構的編碼單元被編碼的數(shù)據(jù)、關于編碼深度和編碼模式的信息和指示編碼單元的尺寸和可變深度的編碼單元結構信息。
編碼單元結構信息可包括具有樹結構的編碼單元中的編碼單元的最大尺寸的信息、關于編碼單元的最小尺寸的信息或者關于可變深度的信息。
根據(jù)本發(fā)明的另一方面,提供了一種其上記錄有通過使用計算機執(zhí)行對視頻解碼的方法的程序的計算機可讀記錄介質。根據(jù)本發(fā)明的另一方面,提供了一種其上記錄有通過使用計算機執(zhí)行對視頻編碼的方法的程序的計算機可讀記錄介質。
具體實施方式
以下,將參照附圖更全面地描述本發(fā)明,在附圖中示出了本發(fā)明的示例性實施例。在本發(fā)明的實施例中,術語“圖像”可統(tǒng)一地不僅表示靜止圖像還表示諸如視頻的運動圖像。
以下,將參照圖1到圖15詳細描述基于具有樹結構的編碼單元對視頻編碼和解碼的設備和方法。
圖1是根據(jù)本發(fā)明實施例的基于具有樹結構編碼單元對視頻編碼的設備100的框圖。
基于具有樹結構的編碼單元對視頻編碼的設備100包括最大編碼單元劃分器110、編碼單元確定器120和輸出單元130。以下,為了便于描述,基于具有樹結構的編碼單元對視頻編碼的設備100被稱為“視頻編碼設備100”。
最大編碼單元劃分器110可基于圖像的當前畫面的最大編碼單元劃分當前畫面。如果當前畫面大于最大編碼單元,則可將當前畫面的圖像數(shù)據(jù)劃分為至少一個最大編碼單元。根據(jù)本發(fā)明實施例的最大編碼單元可以是尺寸為32×32、64×64、128×128、256×256等的數(shù)據(jù)單元,其中,數(shù)據(jù)單元的形狀是高度和寬度為2的若干次方的正方形。可根據(jù)至少一個最大編碼單元將圖像數(shù)據(jù)輸出到編碼單元確定器120。
根據(jù)本發(fā)明實施例的編碼單元可由最大尺寸和深度表征。深度表示編碼單元從最大編碼單元被空間劃分的次數(shù),隨著深度加深,根據(jù)深度的較深層編碼單元可從最大編碼單元被劃分到最小編碼單元。最大編碼單元的深度是最高深度,最小編碼單元的深度是最低深度。由于與每個深度相應的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,因此與較高深度相應的編碼單元可包括多個與較低深度相應的多個編碼單元。
如上所述,根據(jù)編碼單元的最大尺寸將當前畫面的圖像數(shù)據(jù)劃分為多個最大編碼單元,每個最大編碼單元可包括根據(jù)深度劃分的較深層編碼單元。由于根據(jù)本發(fā)明實施例的最大編碼單元根據(jù)深度被劃分,因此包括在最大編碼單元的空間域中的圖像數(shù)據(jù)可根據(jù)深度被分層地分類。
可預先確定編碼單元的最大深度和最大尺寸,最大深度和最大尺寸限制最大編碼單元的高度和寬度被分層劃分的總次數(shù)。
編碼單元確定器120根據(jù)深度對通過劃分最大編碼單元的區(qū)域而獲得的至少一個劃分的區(qū)域進行編碼,并根據(jù)所述至少一個劃分的區(qū)域確定輸出最終的編碼圖像數(shù)據(jù)的深度。換句話說,編碼單元確定器120通過根據(jù)當前畫面的最大編碼單元以根據(jù)深度的較深層編碼單元對圖像編碼并選擇具有最小編碼誤差的深度,來確定編碼深度。因此,最終輸出與確定的編碼深度對應的編碼單元的編碼圖像數(shù)據(jù)。另外,與編碼深度對應的編碼單元可被認為是被編碼的編碼單元。
確定的編碼深度和根據(jù)確定的編碼深度的編碼圖像數(shù)據(jù)被輸出到輸出單元130。
基于與等于或低于最大深度的至少一個深度對應的較深層編碼單元對最大編碼單元中的圖像數(shù)據(jù)進行編碼,并基于每個較深層編碼單元來比較對圖像數(shù)據(jù)進行編碼的結果??稍诒容^較深層編碼單元的編碼誤差之后選擇具有最小編碼誤差的深度??舍槍γ總€最大編碼單元選擇至少一個編碼深度。
隨著編碼單元根據(jù)深度被分層劃分并隨著編碼單元的數(shù)量增加,最大編碼單元的尺寸被劃分。另外,即使一個最大編碼單元中的多個編碼單元對應于相同深度,仍通過單獨測量每個編碼單元的圖像數(shù)據(jù)的編碼誤差來確定是否將對應于相同深度的每個編碼單元劃分為更低深度。因此,即使圖像數(shù)據(jù)被包括在一個最大編碼單元中,圖像數(shù)據(jù)被劃分為根據(jù)深度的多個區(qū)域并且在一個最大編碼單元中編碼誤差可根據(jù)區(qū)域而不同,因此,編碼深度可根據(jù)圖像數(shù)據(jù)中的區(qū)域而不同。因此,可在一個最大編碼單元中確定一個或多個編碼深度,并可根據(jù)至少一個編碼深度的編碼單元來劃分最大編碼單元的圖像數(shù)據(jù)。
因此,編碼單元確定器120可確定包括在最大編碼單元中的具有樹結構的編碼單元。根據(jù)本發(fā)明實施例的具有樹結構的編碼單元包括最大編碼單元中所包括的所有較深層編碼單元中與確定為編碼深度的深度對應的編碼單元。可在最大編碼單元的相同區(qū)域中根據(jù)深度分層地確定編碼深度的編碼單元,并可在不同區(qū)域中獨立地確定編碼深度的編碼單元。類似地,當前區(qū)域中的編碼深度與另一區(qū)域中的編碼深度可被獨立地確定。
根據(jù)本發(fā)明實施例的最大深度是與從最大編碼單元到最小編碼單元的劃分次數(shù)相關的索引。根據(jù)本發(fā)明實施例的最大深度可表示從最大編碼單元到最小編碼單元的總的劃分次數(shù)。例如,當最大編碼單元的深度是0時,最大編碼單元被劃分一次的編碼單元的深度可被設置為1,最大編碼單元被劃分兩次的編碼單元的深度可被設置為2。這里,如果最小編碼單元是最大編碼單元被劃分四次的編碼單元,則存在深度0、深度1、深度2、深度3、深度4這5個深度等級,因此,最大深度可被設置為4。
可根據(jù)最大編碼單元執(zhí)行預測編碼和變換。還根據(jù)最大編碼單元,基于根據(jù)等于最大深度的深度或小于最大深度的深度的較深層編碼單元執(zhí)行預測編碼和變換??筛鶕?jù)頻率變換、正交變換或整數(shù)變換的方法執(zhí)行變換。
由于每當最大編碼單元根據(jù)深度被劃分時較深層編碼單元的數(shù)量就增加,因此對隨著深度加深而產(chǎn)生的所有較深層編碼單元執(zhí)行包括預測編碼和變換的編碼。為了便于描述,現(xiàn)在將基于最大編碼單元中的當前深度的編碼單元描述預測編碼和變換。
視頻編碼設備100可不同地選擇用于對圖像數(shù)據(jù)編碼的數(shù)據(jù)單元的尺寸或形狀。為了對圖像數(shù)據(jù)編碼,執(zhí)行諸如預測編碼、變換和熵編碼的操作,并且同時,相同的數(shù)據(jù)單元可用于所有操作,或者不同的數(shù)據(jù)單元可用于每個操作。
例如,視頻編碼設備100可不僅選擇用于對圖像數(shù)據(jù)編碼的編碼單元,還可選擇與該編碼單元不同的數(shù)據(jù)單元以對編碼單元中的圖像數(shù)據(jù)執(zhí)行預測編碼。
為了在最大編碼單元中執(zhí)行預測編碼,可基于與編碼深度對應的編碼單元(即,基于不再被劃分為對應于更低深度的編碼單元的編碼單元)執(zhí)行預測編碼。以下,不再被劃分并且成為用于預測編碼的基本單元的編碼單元將被稱為“預測單元”。通過劃分預測單元獲得的分塊(partition)可包括預測單元或通過劃分預測單元的高度和寬度中的至少一個而獲得的數(shù)據(jù)單元。
例如,當2N×2N(其中,N是正整數(shù))的編碼單元不再被劃分并且成為2N×2N的預測單元時,分塊的尺寸可以是2N×2N、2N×N、N×2N或N×N。分塊類型的示例包括通過對稱地劃分預測單元的高度或寬度而獲得的對稱分塊、通過不對稱地劃分預測單元的高度或寬度而獲得的分塊(諸如,1:n或n:1)、通過幾何地劃分預測單元而獲得的分塊以及具有任意形狀的分塊。
預測單元的預測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的至少一個。例如,可對2N×2N、2N×N、N×2N或N×N的分塊執(zhí)行幀內(nèi)模式或幀間模式。另外,可僅對2N×2N的分塊執(zhí)行跳過模式??瑟毩⒌貙幋a單元中的一個預測單元執(zhí)行編碼,從而選擇引起最小編碼誤差的預測模式。
視頻編碼設備100可不僅基于用于對圖像數(shù)據(jù)編碼的編碼單元對編碼單元中的圖像數(shù)據(jù)執(zhí)行變換,還可基于與編碼單元不同的數(shù)據(jù)單元對編碼單元中的圖像數(shù)據(jù)執(zhí)行變換。
為了在編碼單元中執(zhí)行變換,可基于具有小于或等于編碼單元的尺寸的變換單元執(zhí)行變換。例如,用于變換的變換單元可包括用于幀內(nèi)模式的變換單元和用于幀間模式的變換單元。
與具有樹結構的編碼單元類似,編碼單元中的變換單元可被遞歸地劃分為更小尺寸的區(qū)域。因此,可基于根據(jù)變換深度的具有樹結構的變換來劃分編碼單元中的殘差數(shù)據(jù)。
還可在變換單元中設置指示通過劃分編碼單元的寬度和高度而達到變換單元的劃分次數(shù)的變換深度。例如,在2N×2N的當前編碼單元中,當變換單元的尺寸也是2N×2N時,變換深度可以是0,當變換單元的尺寸是N×N時,變換深度可以是1,當變換單元的尺寸是N/2×N/2時,變換深度可以是2。例如,可根據(jù)變換深度的分層特性,根據(jù)分層樹結構設置變換單元。
根據(jù)與編碼深度對應的編碼單元對信息編碼不僅需要關于編碼深度的信息,還需要與預測編碼和變換相關的信息。因此,編碼單元確定器120不僅確定具有最小編碼誤差的編碼深度,還確定預測單元中的分塊類型、根據(jù)預測單元的預測模式以及用于變換的變換單元的尺寸。
稍后將參照圖3到圖13詳細描述根據(jù)本發(fā)明實施例的根據(jù)最大編碼單元的樹結構的編碼單元和確定分塊的方法。
編碼單元確定器120可通過使用基于拉格朗日乘子(Lagrangian multiplier)的率失真最優(yōu)化,測量根據(jù)深度的較深層編碼單元的編碼誤差。
輸出單元130在比特流中輸出最大編碼單元的圖像數(shù)據(jù)、關于根據(jù)編碼深度的編碼模式的信息以及關于用于編碼單元的尺寸和可變深度的編碼單元結構信息,其中,基于由編碼單元確定器120確定的至少一個編碼深度對最大編碼單元的圖像數(shù)據(jù)編碼。
可通過對圖像的殘差數(shù)據(jù)編碼來獲得編碼的圖像數(shù)據(jù)。
關于根據(jù)編碼深度的編碼模式的信息可包括關于編碼深度的信息、關于預測單元中的分塊類型的信息、預測模式和變換單元的尺寸。
可通過使用根據(jù)深度的劃分信息定義關于編碼深度的信息,所述根據(jù)深度的劃分信息指示是否對較低深度而非當前深度的編碼單元執(zhí)行編碼。如果當前編碼單元的當前深度是編碼深度,則當前編碼單元中的圖像數(shù)據(jù)被編碼和輸出,并且因此劃分信息可被定義為不將當前編碼單元劃分至較低深度。可選擇地,如果當前編碼單元的當前深度不是編碼深度,則對較低深度的編碼單元執(zhí)行編碼,并且因此劃分信息可被定義為對當前編碼單元進行劃分以獲得較低深度的編碼單元。
如果當前深度不是編碼深度,則對被劃分為較低深度的編碼單元的編碼單元執(zhí)行編碼。因為在當前深度的一個編碼單元中存在較低深度的至少一個編碼單元,所以對較低深度的每個編碼單元重復執(zhí)行編碼,從而可針對具有相同深度的編碼單元遞歸地執(zhí)行編碼。
因為針對一個最大編碼單元確定具有樹結構的編碼單元,并且針對編碼深度的編碼單元確定關于至少一個編碼模式的信息,所以可針對一個最大編碼單元確定關于至少一個編碼模式的信息。另外,因為根據(jù)深度分層地劃分圖像數(shù)據(jù),所以最大編碼單元的圖像數(shù)據(jù)的編碼深度可根據(jù)位置而不同,從而可針對圖像數(shù)據(jù)設置關于編碼深度和編碼模式的信息。
因此,輸出單元130可將關于相應的編碼深度和編碼模式的編碼信息分配給包括在最大編碼單元中的編碼單元、預測單元和最小單元中的至少一個。輸出單元130可將關于相應的編碼深度和相應的編碼模式的信息插入比特流的頭、序列參數(shù)集(SPS)或畫面參數(shù)集(PPS),并可輸出它們。
根據(jù)本發(fā)明實施例的最小單元是通過將組成最低深度的最小編碼單元劃分為4份而獲得的矩形數(shù)據(jù)單元。根據(jù)本發(fā)明實施例的最小單元可以是最大矩形數(shù)據(jù)單元,所述最大矩形數(shù)據(jù)單元可被包括在最大編碼單元中包括的所有編碼單元、預測單元、分塊單元和變換單元中。
例如,通過輸出單元130輸出的編碼信息可被分類為根據(jù)編碼單元的編碼信息和根據(jù)預測單元的編碼信息。根據(jù)編碼單元的編碼信息可包括關于預測模式的信息以及關于分塊的尺寸的信息。根據(jù)預測單元的編碼信息可包括關于幀間模式的估計方向的信息、關于幀間模式的參考圖像索引的信息、關于運動矢量的信息、關于幀內(nèi)模式的色度分量的信息以及關于幀內(nèi)模式的插值方法的信息。
另外,關于根據(jù)序列、畫面、條帶或GOP定義的編碼單元的尺寸和可變深度的編碼單元結構信息可被插入到比特流的SPS、PPS或頭中。
可變深度不僅可指示具有樹結構的當前編碼單元的允許的最大深度,還可指示具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量或深度變化。
深度級的數(shù)量可指示具有樹結構的當前編碼單元中可存在的根據(jù)深度的較深層編碼單元的深度級的數(shù)量。
深度變化可指示具有樹結構的當前編碼單元中可存在的根據(jù)深度的較深層編碼單元的變化的數(shù)量。例如,深度變化可指示具有樹結構的當前編碼單元中具有最小尺寸的編碼單元和具有最大尺寸的編碼單元的深度級的變化的數(shù)量,即,從最低深度到最高深度的深度級的變化的數(shù)量??蛇x擇地,具有樹結構的當前編碼單元的深度變化可指示具有樹結構的當前編碼單元中具有最大尺寸的編碼單元和具有最小尺寸的編碼單元的深度級的變化的數(shù)量,即,從最高深度到最低深度的深度級的變化的數(shù)量。
以下,將參照在具有樹結構的當前編碼單元中確定的編碼單元的最大尺寸和最小尺寸分別為128×128和16×16的情況來描述可變深度。
如上所述,最大深度可指示根據(jù)深度的編碼單元從最大編碼單元到最小編碼單元的總的劃分次數(shù)。在這種情況下,由于編碼單元從128×128到64×64,從64×64到32×32,從32×32到16×16被劃分了3次,因此最大深度可被設置為3。
在這種情況下,128×128、64×64、32×32和16×16的編碼單元的深度分別為0、1、2和3,從而深度級的數(shù)量可以是4。
在這種情況下,深度變化可指示具有樹結構的當前編碼單元中的128×128、64×64、32×32和16×16的編碼單元的深度級的變化的數(shù)量。也就是說,由于編碼單元的深度從深度0到深度1、2和3改變3次,或者從深度3到深度2、1和0改變3次,因此深度變化可以是3。
因此,當具有樹結構的當前編碼單元中的編碼單元的最大尺寸和最小尺寸分別為128×128和16×16時,深度變化可指示作為當前編碼單元允許的最大深度的3、作為具有最小尺寸的編碼單元的最低深度的3、作為深度級的數(shù)量的4和作為深度變化的3中的一個。
可根據(jù)序列、畫面、條帶或GOP設置關于可變深度的信息。也就是說,可針對序列、畫面、條帶或GOP中的每個數(shù)據(jù)單元設置關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息或關于編碼單元的最小尺寸的信息。
因此,輸出單元130可包括編碼信息,編碼信息包括作為編碼單元結構信息的關于可變深度的信息、關于編碼單元的最大尺寸的信息和關于編碼單元的最小尺寸的信息中的至少兩個,并輸出單元130可將編碼信息插入比特流的頭(即,SPS或PPS),并隨后可輸出比特流。根據(jù)序列、畫面、條帶或GOP分別確定編碼單元的可變深度、最大尺寸和最小尺寸。
例如,編碼信息可包括關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息的組合。
例如,編碼信息可包括關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最小尺寸的信息的組合。也就是說,編碼信息可包括關于具有樹結構的當前編碼單元中的編碼單元的最小尺寸的信息,并且還可包括關于可變深度的信息,可變深度指示最大深度、具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的一個。
例如,編碼信息可包括關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息的組合。也就是說,編碼信息可包括關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息,并且還可包括關于可變深度的信息,可變深度指示最大深度、具有最大尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的一個。
另外,從輸出單元130輸出的編碼信息可指示變換索引。變換索引信息可指示關于用于變換當前編碼單元的變換單元的結構的信息。例如,變換索引信息可包括關于從當前編碼單元的編碼單元劃分到最終級變換單元的總劃分次數(shù)的信息以及關于變換單元的尺寸和形狀的信息。
變換索引信息可指示當前變換單元是否劃分為更低級的變換單元。例如,變換單元劃分位是指示變換單元是否被劃分為更低級變換單元的一個位數(shù)據(jù),變換單元劃分位可用作變換索引信息。
在視頻編碼設備100中,較深層編碼單元可以是通過將作為上一層的較高深度的編碼單元的高度或寬度除以2而獲得的編碼單元。換而言之,在當前深度的編碼單元的尺寸是2N×2N時,較低深度的編碼單元的尺寸是N×N。另外,具有2N×2N的尺寸的當前深度的編碼單元可包括最多4個較低深度的編碼單元。
因此,視頻編碼設備100可基于最大編碼單元的尺寸和考慮當前畫面的特性而確定的最大深度,通過針對每個最大編碼單元確定具有最佳形狀和最佳尺寸的編碼單元,來形成具有樹結構的編碼單元。另外,因為可通過使用各種預測模式和變換中的任意一種來對每個最大編碼單元執(zhí)行編碼,所以可考慮各種圖像尺寸的編碼單元的特性來確定最佳編碼模式。
因此,如果以傳統(tǒng)的宏塊對具有高分辨率或大數(shù)據(jù)量的圖像編碼,則每個畫面的宏塊的數(shù)量會急劇增加。因此,針對每個宏塊產(chǎn)生的壓縮信息的條數(shù)增加,從而難以發(fā)送壓縮的信息并且數(shù)據(jù)壓縮效率下降。然而,通過使用視頻編碼設備100,因為在考慮圖像的尺寸而增大編碼單元的最大尺寸的同時,考慮圖像的特性調整了編碼單元,所以圖像壓縮效率可提高。
圖2是根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻解碼的設備200的框圖。
用于基于具有樹結構的編碼單元對視頻進行解碼的設備200包括接收器210、圖像數(shù)據(jù)和編碼信息提取器220以及圖像數(shù)據(jù)解碼器230。以下,為了便于描述,基于具有樹結構的編碼單元對視頻解碼的設備200被稱為“視頻解碼設備200”。
用于視頻解碼設備200的各種操作的各種術語(諸如編碼單元、深度、預測單元、變換單元以及關于各種編碼模式的信息)的定義與參照圖1和視頻編碼設備100所描述的術語的定義相同。
接收器210接收并解析編碼的視頻的比特流。圖像數(shù)據(jù)和編碼信息提取器220從解析的比特流中提取每個編碼單元的編碼的圖像數(shù)據(jù),并將提取的圖像數(shù)據(jù)輸出到圖像數(shù)據(jù)解碼器230,其中,編碼單元具有根據(jù)每個最大編碼單元的樹結構。圖像數(shù)據(jù)和編碼信息提取器220可從來自于接收的比特流的針對當前畫面的頭、SPS和PPS中的至少一個提取關于當前畫面的編碼單元的尺寸和可變深度的編碼單元結構信息以及關于編碼深度和編碼模式的信息。
圖像數(shù)據(jù)和編碼信息提取器220可從編碼信息中提取關于可變深度的信息,并提取針對序列、畫面、條帶或GOP的每個數(shù)據(jù)單元的、具有樹結構的當前編碼單元中的編碼單元的允許的最大尺寸的信息和關于所述編碼單元的允許的最小尺寸的信息中的一個。圖像數(shù)據(jù)解碼器230可通過使用關于可變深度的信息、關于編碼單元的最大尺寸的信息和關于編碼單元的最小尺寸的信息中的至少兩個,確定針對序列、畫面、條帶或GOP的每個數(shù)據(jù)單元的、具有樹結構的當前編碼單元中的編碼單元的允許的最大尺寸和允許的最小尺寸。
可從編碼信息提取關于可變深度的信息、關于編碼單元的最大尺寸的信息和關于編碼單元的最小尺寸的信息中的至少兩個信息,所述至少兩個信息針對畫面、條帶或GOP中的每一個被確定。
例如,可從編碼信息讀取關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息和關于所述編碼單元的最小尺寸的信息的組合,并可從編碼信息確定當前編碼單元中的編碼單元的允許的最大尺寸和最小尺寸。
例如,可從編碼信息讀取關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最小尺寸的信息的組合。也就是說,可從編碼信息一起讀取關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最小尺寸的信息,可變深度指示最大深度、具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的一個。通過使用讀取的編碼單元的最小尺寸和可變深度,可確定當前數(shù)據(jù)單元中的編碼單元的允許的最大尺寸。
例如,可從編碼信息讀取關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息的組合。也就是說,可從編碼信息一起讀取關于可變深度的信息和關于具有樹結構的當前編碼單元中的編碼單元的最大尺寸的信息,可變深度指示最大深度、具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的一個。通過使用讀取的編碼單元的最大尺寸和可變深度,可確定當前數(shù)據(jù)單元中的編碼單元的允許的最小尺寸。
另外,圖像數(shù)據(jù)和編碼信息提取器220從解析的比特流提取關于根據(jù)每個最大編碼單元具有樹結構的編碼單元的編碼深度和編碼模式的信息。提取的關于編碼深度和編碼模式的信息被輸出到圖像數(shù)據(jù)解碼器230。換句話說,比特流中的圖像數(shù)據(jù)被劃分為最大編碼單元,從而圖像數(shù)據(jù)解碼器230針對每個最大編碼單元對圖像數(shù)據(jù)解碼。
可針對關于與編碼深度相應的至少一個編碼單元的信息設置關于根據(jù)最大編碼單元的編碼深度和編碼模式的信息,關于編碼模式的信息可包括關于與編碼深度相應的相應編碼單元的分塊類型的信息、關于預測模式的信息以及變換單元的尺寸的信息。另外,根據(jù)深度的劃分信息可被提取作為關于編碼深度的信息。
另外,圖像數(shù)據(jù)解碼器230可從提取自解析的比特流的編碼信息讀取關于變換索引的信息。圖像數(shù)據(jù)解碼器230可基于由圖像數(shù)據(jù)和編碼信息提取器220提取的圖像數(shù)據(jù)和變換索引信息來配置當前編碼單元的變換單元,并可基于變換單元執(zhí)行當前編碼單元的反變換,從而可對編碼的數(shù)據(jù)解碼。作為對編碼單元解碼的結果,可恢復當前畫面。
由圖像數(shù)據(jù)和編碼信息提取器220提取的關于根據(jù)每個最大編碼單元的編碼模式和編碼深度的信息是關于這樣的編碼深度和編碼模式的信息,即:所述編碼深度和編碼模式被確定為當編碼器(諸如視頻編碼設備100)根據(jù)每個最大編碼單元針對根據(jù)深度的每個較深層編碼單元重復執(zhí)行編碼時產(chǎn)生最小編碼誤差。因此,視頻解碼設備200可通過根據(jù)產(chǎn)生最小編碼誤差的編碼深度和編碼模式對圖像數(shù)據(jù)解碼來恢復圖像。
由于關于編碼深度和編碼模式的編碼信息可被分配給相應的編碼單元、預測單元和最小單元中的預定數(shù)據(jù)單元,因此圖像數(shù)據(jù)和編碼信息提取器220可提取關于根據(jù)預定數(shù)據(jù)單元的編碼深度和編碼模式的信息。被分配有相同的關于編碼深度和編碼模式的信息的預定數(shù)據(jù)單元可被推斷為是包括在同一最大編碼單元中的數(shù)據(jù)單元。
圖像數(shù)據(jù)解碼器230通過基于關于根據(jù)最大編碼單元的編碼深度和編碼模式的信息,對每個最大編碼單元中的圖像數(shù)據(jù)解碼來恢復當前畫面。換而言之,圖像數(shù)據(jù)解碼器230可基于提取的與包括在每個最大編碼單元中的具有樹結構的編碼單元中的每個編碼單元的分塊類型、預測模式和變換單元有關的信息,來對編碼的圖像數(shù)據(jù)解碼。解碼處理可包括預測和反變換,所述預測包括幀內(nèi)預測和運動補償。可根據(jù)反正交變換或反整數(shù)變換的方法來執(zhí)行反變換。
圖像數(shù)據(jù)解碼器230可基于關于根據(jù)編碼深度的編碼單元的預測單元的分塊類型和預測模式的信息,根據(jù)每個編碼單元的分塊和預測模式執(zhí)行幀內(nèi)預測或運動補償。
此外,圖像數(shù)據(jù)解碼器230可通過讀取根據(jù)樹結構的變換單元以及關于根據(jù)編碼深度的編碼單元的變換單元的尺寸的信息,根據(jù)編碼單元中的每個變換單元來執(zhí)行反變換,以根據(jù)最大編碼單元執(zhí)行反變換。
圖像數(shù)據(jù)解碼器230可通過使用根據(jù)深度的劃分信息來確定當前最大編碼單元的至少一個編碼深度。如果所述劃分信息指示在當前深度不再劃分圖像數(shù)據(jù),則當前深度是編碼深度。因此,圖像數(shù)據(jù)解碼器230可通過使用關于預測單元的分塊類型、預測模式、針對與編碼深度相應的每個編碼單元的變換單元的尺寸的信息,對當前最大編碼單元中的與每個編碼深度相應的至少一個編碼單元的編碼的數(shù)據(jù)進行解碼,并輸出當前最大編碼單元的圖像數(shù)據(jù)。
換而言之,可通過觀察為編碼單元、預測單元和最小單元中的預定數(shù)據(jù)單元分配的編碼信息集,收集包含編碼信息(所述編碼信息包括相同的劃分信息)的數(shù)據(jù)單元,并且收集的數(shù)據(jù)單元可被認為是將由圖像數(shù)據(jù)解碼器230以相同編碼模式解碼的一個數(shù)據(jù)單元。
視頻解碼設備200可獲得與在對每個最大編碼單元遞歸地執(zhí)行編碼時產(chǎn)生最小編碼誤差的至少一個編碼單元有關的信息,并且視頻解碼設備200可使用所述信息來對當前畫面解碼。換而言之,可以對在每個最大編碼單元中被確定為最佳編碼單元的具有樹結構的編碼單元進行解碼。此外,考慮圖像數(shù)據(jù)的分辨率和數(shù)據(jù)量來確定編碼單元的最大尺寸。
因此,即使圖像數(shù)據(jù)具有高分辨率和大數(shù)據(jù)量,也可通過使用編碼單元的尺寸和編碼模式對所述圖像數(shù)據(jù)進行有效地解碼和恢復,其中,通過使用從編碼器接收的關于最佳編碼模式的信息,根據(jù)圖像數(shù)據(jù)的特性來自適應地確定編碼單元的尺寸和編碼模式。
現(xiàn)在將參照圖3至圖13描述根據(jù)本發(fā)明實施例的確定具有樹結構的編碼單元、預測單元和變換單元的方法。
圖3是用于描述根據(jù)本發(fā)明實施例的編碼單元的概念的示圖。
可以以寬度×高度來表示編碼單元的尺寸,并且編碼單元的尺寸可以是64×64、32×32、16×16和8×8。64×64的編碼單元可被劃分為64×64、64×32、32×64或32×32的分塊,32×32的編碼單元可被劃分為32×32、32×16、16×32或16×16的分塊,16×16的編碼單元可被劃分為16×16、16×8、8×16或8×8的分塊,8×8的編碼單元可被劃分為8×8、8×4、4×8或4×4的分塊。
在視頻數(shù)據(jù)310中,分辨率是1920×1080,編碼單元的最大尺寸是64,最大深度是2。在視頻數(shù)據(jù)320中,分辨率是1920×1080,編碼單元的最大尺寸是64,最大深度是3。在視頻數(shù)據(jù)330中,分辨率是352×288,編碼單元的最大尺寸是16,最大深度是1。圖3中示出的最大深度表示從最大編碼單元到最小編碼單元的劃分的總次數(shù)。
如果分辨率高或者數(shù)據(jù)量大,則編碼單元的最大尺寸可以很大,從而不僅提高編碼效率,還精確地反映圖像的特性。因此,具有比視頻數(shù)據(jù)330更高的分辨率的視頻數(shù)據(jù)310和視頻數(shù)據(jù)320的編碼單元的最大尺寸可以為64。
由于視頻數(shù)據(jù)310的最大深度是2,所以視頻數(shù)據(jù)310的編碼單元315可包括具有64的長軸(long axis)尺寸的最大編碼單元,還包括由于通過將最大編碼單元劃分兩次使深度加深至兩層而具有32和16的長軸尺寸的編碼單元。同時,因為視頻數(shù)據(jù)330的最大深度是1,所以視頻數(shù)據(jù)330的編碼單元335可包括具有16的長軸尺寸的最大編碼單元,還包括由于通過將最大編碼單元劃分一次使深度加深至一層而具有8的長軸尺寸的編碼單元。
因為視頻數(shù)據(jù)320的最大深度是3,所以所述視頻數(shù)據(jù)320的編碼單元325可包括具有64的長軸尺寸的最大編碼單元,并且由于通過劃分最大編碼單元三次將深度加深至3層而具有32、16和8的長軸尺寸的編碼單元。隨著深度加深,詳細信息可被精確地表示。
圖4是根據(jù)本發(fā)明實施例的基于編碼單元的圖像編碼器400的框圖。
圖像編碼器400執(zhí)行視頻編碼設備100的編碼單元確定器120的操作,以對圖像數(shù)據(jù)編碼。換而言之,幀內(nèi)預測器410對當前幀405中的幀內(nèi)模式的編碼單元執(zhí)行幀內(nèi)預測,運動估計器420和運動補償器425通過使用當前幀405和參考幀495,對當前幀405中的幀間模式的編碼單元執(zhí)行幀間估計和運動補償。
從幀內(nèi)預測器410、運動估計器420和運動補償器425輸出的數(shù)據(jù)通過變換器430和量化器440被輸出為量化的變換系數(shù)。量化的變換系數(shù)通過反量化器460和反變換器470被恢復為空間域中的數(shù)據(jù),并且恢復的空間域中的數(shù)據(jù)在通過去塊單元480和環(huán)路濾波單元490進行后處理之后,被輸出為參考幀495。量化的變換系數(shù)可通過熵編碼器450被輸出為比特流455。
為了在視頻編碼設備100中應用圖像編碼器400,圖像編碼器400的所有部件(即,幀內(nèi)預測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、反量化器460、反變換器470、去塊單元480和環(huán)路濾波器490)在考慮每個最大編碼單元的最大深度的同時,基于具有樹結構的編碼單元中的每個編碼單元執(zhí)行操作。
具體地說,幀內(nèi)預測器410、運動估計器420以及運動補償器425在考慮當前最大編碼單元的最大尺寸和最大深度的同時,確定具有樹結構的編碼單元中的每個編碼單元的分塊和預測模式,變換器430確定在具有樹結構的編碼單元中的每個編碼單元中的變換單元的尺寸。
圖5是根據(jù)本發(fā)明實施例的基于編碼單元的圖像解碼器500的框圖。
解析器510從比特流505解析將被解碼的編碼圖像數(shù)據(jù)和解碼所需的關于編碼的信息。編碼圖像數(shù)據(jù)通過熵解碼器520和反量化器530被輸出為反量化的數(shù)據(jù),并且反量化的數(shù)據(jù)通過反變換器540被恢復為空間域中的圖像數(shù)據(jù)。
幀內(nèi)預測器550針對空間域中的圖像數(shù)據(jù),在幀內(nèi)模式下對編碼單元執(zhí)行幀內(nèi)預測,運動補償器560通過使用參考幀585,在幀間模式下對編碼單元執(zhí)行運動補償。
經(jīng)過幀內(nèi)預測器550和運動補償器560的空間域中的圖像數(shù)據(jù)可在通過去塊單元570和環(huán)路濾波單元580進行后處理之后,被輸出為恢復的幀595。另外,通過去塊單元570和環(huán)路濾波單元580進行后處理的圖像數(shù)據(jù)可被輸出為參考幀585。
為了在視頻解碼設備200的圖像數(shù)據(jù)解碼器230中對圖像數(shù)據(jù)解碼,圖像解碼器500可執(zhí)行在解析器510之后執(zhí)行的操作。
為了在視頻解碼設備200中應用圖像解碼器500,圖像解碼器500的所有部件(即,解析器510、熵解碼器520、反量化器530、反變換器540、幀內(nèi)預測器550、運動補償器560、去塊單元570以及循環(huán)濾波單元580)針對每個最大編碼單元基于具有樹結構的編碼單元來執(zhí)行操作。
具體地說,幀內(nèi)預測器550和運動補償器560基于每個具有樹結構的編碼單元的分塊和預測模式來執(zhí)行操作,反變換器540基于每個編碼單元的變換單元的尺寸來執(zhí)行操作。
圖6是示出根據(jù)本發(fā)明實施例的根據(jù)深度和分塊的較深層編碼單元的示圖。
視頻編碼設備100和視頻解碼設備200使用分層的編碼單元以考慮圖像的特性。根據(jù)圖像的特性可自適應地確定編碼單元的最大高度、最大寬度和最大深度,或可由用戶不同地設置編碼單元的最大高度、最大寬度和最大深度??筛鶕?jù)編碼單元的預定的最大尺寸來確定根據(jù)深度的較深層編碼單元的尺寸。
根據(jù)本發(fā)明實施例,在編碼單元的分層結構600中,編碼單元的最大高度和最大寬度每個都是64,最大深度是3。這里,最大深度表示根據(jù)深度的編碼單元從最大編碼單元到最小編碼單元的劃分的總次數(shù)。由于深度沿著分層結構600的垂直軸加深,因此較深層編碼單元的高度和寬度中的每一個都被劃分。此外,沿分層結構600的水平軸示出了作為用于每個較深層編碼單元的預測編碼的基礎的預測單元和分塊。
換而言之,編碼單元610是分層結構600中的最大編碼單元,其中,深度是0,尺寸(即高度×寬度)是64×64。深度沿著垂直軸加深,并存在尺寸為32×32和深度為1的編碼單元620、尺寸為16×16和深度為2的編碼單元630和尺寸為8×8和深度為3的編碼單元640。尺寸為8×8和深度為3的編碼單元640是最小編碼單元。
編碼單元的預測單元和分塊根據(jù)每個深度沿著水平軸布置。換而言之,如果尺寸為64×64和深度為0的編碼單元610是預測單元,則所述預測單元可被劃分為包括在編碼單元610中的多個分塊,即:尺寸為64×64的分塊610、尺寸為64×32的分塊612、尺寸為32×64的分塊614或尺寸為32×32的分塊616。
類似地,尺寸為32×32深度為1的編碼單元620的預測單元可以被劃分為包括在編碼單元620中的多個分塊,即:尺寸為32×32的分塊620、尺寸為32×16的分塊622、尺寸為16×32的分塊624和尺寸為16×16的分塊626。
類似地,尺寸為16×16深度為2的編碼單元630的預測單元可以被劃分為包括在編碼單元630中的多個分塊,即:包括在編碼單元630中的尺寸為16×16的分塊、尺寸為16×8的分塊632、尺寸為8×16的分塊634和尺寸為8×8的分塊636。
最后,尺寸為8×8深度為3的編碼單元640的預測單元可以被劃分為包括在編碼單元640中的多個分塊,即:包括在編碼單元640中的尺寸為8×8的分塊、尺寸為8×4的分塊642、尺寸為4×8的分塊644和尺寸為4×4的分塊646。
為了確定組成最大編碼單元610的編碼單元的至少一個編碼深度,視頻編碼設備100的編碼單元確定器120對包括在最大編碼單元610中的與各個深度相應的編碼單元執(zhí)行編碼。
隨著深度加深,以相同范圍和相同尺寸包括數(shù)據(jù)的根據(jù)深度的較深層編碼單元的數(shù)量增加。例如,需要4個與深度2相應的編碼單元以覆蓋與深度1相應的一個編碼單元中包括的數(shù)據(jù)。因此,為了比較根據(jù)深度的相同數(shù)據(jù)的編碼結果,與深度1相應的編碼單元和與深度2相應的四個編碼單元各自都被編碼。
為了對深度中的當前深度執(zhí)行編碼,可通過沿著分層結構600的水平軸對與當前深度相應的編碼單元中的每個預測單元執(zhí)行編碼來針對當前深度選擇最小編碼誤差。作為選擇,可通過隨著深度沿分層結構600的垂直軸加深對每個深度執(zhí)行編碼來比較根據(jù)深度的最小編碼誤差,從而搜索最小編碼誤差。編碼單元610中具有最小編碼誤差的深度和分塊可被選擇為編碼單元610的編碼深度和分塊類型。
對于編碼單元的分層結構600,由于從64×64的最大尺寸到4×4的最小尺寸的根據(jù)深度的編碼單元的劃分總次數(shù)為4,因此最大深度可被設置為4。
另外,由于64×64、32×32、16×16、8×8和4×4的編碼單元的深度分別為0、1、2、3和4,因此深度級的數(shù)量可以是5。
另外,由于從深度0到深度1、2、3和4或從深度4到深度3、2、1和0,編碼單元的深度可改變4次,因此深度變化可以是4。
因此,關于編碼單元的分層結構600的針對具有樹結構的當前編碼單元的可變深度的信息可指示作為最大深度的4、作為編碼單元的最小尺寸的最低深度的4、作為深度級的數(shù)量的5和作為深度變化的4中的一個。
因此,根據(jù)本發(fā)明實施例的視頻編碼設備100可包括編碼信息,編碼信息包括指示針對具有樹結構的當前編碼單元的可變深度4或5的信息、指示作為編碼單元的最大尺寸64×64的信息、指示作為編碼單元的最小尺寸4×4的信息中的至少兩條信息,可將編碼信息插入比特流的頭(即,SPS、PPS等),并隨后可輸出比特流。
視頻解碼設備200可從比特流的頭(SPS、PPS等)提取編碼信息,并可從來自編碼信息中的指示針對具有樹結構的當前編碼單元的可變深度4或5的信息、指示作為編碼單元的最大尺寸64×64的信息、指示作為編碼單元的最小尺寸4×4的信息中讀取至少兩條信息,并因此可確定具有樹結構的當前編碼單元的最大尺寸和最小尺寸分別為64×64和4×4。
圖7是用于描述根據(jù)本發(fā)明實施例的編碼單元710和變換單元720之間的關系的示圖。
視頻編碼設備100或200根據(jù)具有小于或等于用于每個最大編碼單元的最大編碼單元的尺寸的編碼單元對圖像進行編碼或解碼??苫诓淮笥谙鄳幋a單元的數(shù)據(jù)單元來選擇編碼期間用于變換的變換單元的尺寸。
例如,在視頻編碼設備100或200中,如果編碼單元170的尺寸是64×64,則可通過使用尺寸為32×32的變換單元720來執(zhí)行變換。
此外,可通過對尺寸小于64×64的32×32、16×16、8×8、4×4的變換單元中的每一個執(zhí)行變換來對尺寸為64×64的編碼單元710的數(shù)據(jù)進行編碼,然后可選擇具有最小編碼誤差的變換單元。
圖8是用于描述根據(jù)本發(fā)明實施例的與編碼深度相應的編碼單元的編碼信息的示圖。
視頻編碼設備100的輸出單元130可將與編碼深度相應的每個編碼單元的關于分塊類型的信息800、關于預測模式的信息810和關于變換單元的尺寸的信息820編碼為關于編碼模式的信息,并將其發(fā)送。
信息800表示關于通過劃分當前編碼單元的預測單元而獲得的分塊的形狀的信息,其中,所述分塊是用于對當前編碼單元進行預測編碼的數(shù)據(jù)單元。例如,尺寸為2N×2N的當前編碼單元CU_0可被劃分為尺寸為2N×2N的分塊802、尺寸為2N×N的分塊804、尺寸為N×2N的分塊806和尺寸為N×N的分塊808中的任意一個。這里,關于分塊類型的信息800被設置為表示尺寸為2N×N的分塊804、尺寸為N×2N的分塊806和尺寸為N×N的分塊808中的一個。
信息810表示每個分塊的預測模式。例如,信息810可表示對由信息800表示的分塊執(zhí)行預測編碼的模式,即:幀內(nèi)模式812、幀間模式814或跳過模式816。
信息820表示當對當前編碼單元執(zhí)行變換時作為基礎的變換單元。例如,變換單元可以是第一幀內(nèi)變換單元822、第二幀內(nèi)變換單元824、第一幀間變換單元826或第二幀間變換單元828。
視頻解碼設備200的圖像數(shù)據(jù)和編碼信息提取器220可根據(jù)每個較深層編碼單元提取和使用用于解碼的信息800、810和820。
圖9是根據(jù)本發(fā)明實施例的根據(jù)深度的較深層編碼單元的示圖。
劃分信息可被用于表示深度的改變。劃分信息表示當前深度的編碼單元是否被劃分為較低深度的編碼單元。
用于對深度為0尺寸為2N_0×2N_0的編碼單元900進行預測編碼的預測單元910可包括尺寸為2N_0×2N_0的分塊類型912、尺寸為2N_0×N_0的分塊類型914、尺寸為N_0×2N_0的分塊類型916和尺寸為N_0×N_0的分塊類型918的分塊。圖9只示出了通過對稱地劃分預測單元910獲得的分塊類型912至分塊類型918,但是分塊類型不限于此,預測單元910的分塊可包括非對稱分塊、具有預定形狀的分塊和具有幾何形狀的分塊。
根據(jù)每個分塊類型,可對尺寸為2N_0×2N_0的一個分塊、尺寸為2N_0×N_0的兩個分塊、尺寸為N_0×2N_0的兩個分塊、尺寸為N_0×N_0的四個分塊重復地執(zhí)行預測編碼??蓪Τ叽鐬?N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分塊執(zhí)行幀內(nèi)模式下和幀間模式下的預測編碼。僅對尺寸為2N_0×2N_0的分塊執(zhí)行跳過模式下的預測編碼。
對包括分塊類型912至分塊類型918中的預測編碼的編碼誤差進行比較,在分塊類型中確定最小編碼誤差。如果在分塊類型912至分塊類型916之一中,編碼誤差最小,則預測單元910可不被劃分為更低深度。
如果在分塊類型918中編碼誤差最小,則在操作920,深度從0改變?yōu)?以劃分分塊類型918,并對深度為2尺寸為N_0×N_0的編碼單元930重復執(zhí)行編碼以搜索最小編碼誤差。
用于對深度為1尺寸為2N_1×2N_1(=N_0×N_0)的編碼單元930進行預測編碼的預測單元940可包括尺寸為2N_1×2N_1的分塊類型942、尺寸為2N_1×N_1的分塊類型944、尺寸為N_1×2N_1的分塊類型946和尺寸為N_1×N_1的分塊類型948的分塊。
如果在分塊類型948中編碼誤差最小,則在操作950,深度從1改變?yōu)?以劃分分塊類型948,并對深度為2尺寸為N_2×N_2的編碼單元960重復執(zhí)行編碼以搜索最小編碼誤差。
當最大深度為d-1時,根據(jù)每個深度的編碼單元可被劃分直到深度變?yōu)閐-1,并且劃分信息可被編碼直到深度為0至d-2中的一個。換而言之,當在操作970將與深度d-2相應的編碼單元劃分之后,執(zhí)行編碼直到深度為d-1時,用于對深度為d-1尺寸為2N_(d-1)×2N_(d-1)的編碼單元980進行預測編碼的預測單元990可包括尺寸為2N_(d-1)×2N_(d-1)的分塊類型992、尺寸為2N_(d-1)×N_(d-1)的分塊類型994、尺寸為N_(d-1)×2N_(d-1)的分塊類型996以及尺寸為N_(d-1)×N_(d-1)的分塊類型998的分塊。
可對分塊類型992至分塊類型998中的尺寸為2N_(d-1)×2N_(d-1)的一個分塊、尺寸為2N_(d-1)×N_(d-1)的兩個分塊、尺寸為N_(d-1)×2N_(d-1)的兩個分塊、尺寸為N_(d-1)×N_(d-1)的四個分塊重復執(zhí)行預測編碼,以搜索具有最小編碼誤差的分塊類型。
即使當分塊類型998具有最小編碼誤差時,由于最大深度為d-1,所以深度為d-1的編碼單元CU_(d-1)不再被劃分為較低深度,構成當前最大編碼單元900的編碼單元的編碼深度被確定為d-1,并且當前最大編碼單元900的分塊類型可被確定為N_(d-1)×N_(d-1)。此外,由于最大深度為d,并且最低深度為d-1的最小編碼單元980不再被劃分為較低深度,所以不設置最小編碼單元980的劃分信息。
數(shù)據(jù)單元999可以是用于當前最大編碼單元的“最小單元”。根據(jù)本發(fā)明實施例的最小單元可以是通過將最小編碼單元980劃分為4部分而獲得的矩形數(shù)據(jù)單元。通過重復地執(zhí)行編碼,視頻編碼設備100可通過比較根據(jù)編碼單元900的深度的編碼誤差來選擇具有最小編碼誤差的深度以確定編碼深度,并且可將相應的分塊類型和預測模式設置為編碼深度的編碼模式。
這樣,在深度1至深度d的所有深度中比較根據(jù)深度的最小編碼誤差,并且具有最小編碼誤差的深度可被確定為編碼深度。預測單元的分塊類型、編碼深度和預測模式可作為關于編碼模式的信息被編碼和發(fā)送。此外,由于從深度0至編碼深度來劃分編碼單元,所以只有編碼深度的劃分信息被設置為0,并且除了編碼深度之外的深度的劃分信息被設置為1。
視頻解碼設備200的圖像數(shù)據(jù)和編碼信息提取器220可提取并使用關于編碼單元900的編碼深度以及預測單元的信息,以對分塊912解碼。視頻解碼設備200可通過使用根據(jù)深度的劃分信息將劃分信息為0的深度確定為編碼深度,并且可使用用于對與編碼深度相應的編碼單元進行解碼的關于編碼深度的編碼模式的信息。
圖10至圖12是描述根據(jù)本發(fā)明實施例的編碼單元1010、預測單元1060和變換單元1070之間的關系的示圖。
編碼單元1010是最大編碼單元中的與由視頻編碼設備100確定的編碼深度相應的具有樹結構的編碼單元。預測單元1060是每個編碼單元1010的預測單元的分塊,變換單元1070是每個編碼單元1010的變換單元。
當編碼單元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。
在預測單元1060中,通過在編碼單元1010中劃分編碼單元來獲得一些編碼單元1014、1016、1022、1032、1048、1050、1052和1054。換而言之,編碼單元1014、1022、1050和1054中的分塊類型的尺寸為2N×N,編碼單元1016、1048和1052的分塊類型的尺寸為N×2N,編碼單元1032的分塊類型的尺寸為N×N。編碼單元1010的預測單元和分塊小于或等于每個編碼單元。
以小于編碼單元1052的數(shù)據(jù)單元對變換單元1070中的編碼單元1052的圖像數(shù)據(jù)執(zhí)行變換或反變換。另外,變換單元1070中的編碼單元1014、1016、1022、1032、1048、1050和1052與預測單元1060中的那些編碼單元在尺寸和形狀上不同。換而言之,視頻編碼設備100和視頻解碼設備200可對相同的編碼單元中的數(shù)據(jù)單元執(zhí)行幀內(nèi)預測、運動估計、運動補償、變換和反變換。
因此,對最大編碼單元的每個區(qū)域中具有分層結構的每個編碼單元遞歸地執(zhí)行編碼以確定最佳編碼單元,因此可獲得具有遞歸樹結構的編碼單元。編碼信息可包括關于編碼單元的劃分信息、關于分塊類型的信息、關于預測模式的信息以及關于變換單元的尺寸的信息。表1示出了可由視頻編碼設備100和視頻解碼設備200設置的編碼信息。
[表1]
視頻編碼設備100的輸出單元130可輸出關于具有樹結構的編碼單元的編碼信息,視頻解碼設備200的圖像數(shù)據(jù)和編碼信息提取器220可從接收的比特流提取關于具有樹結構的編碼單元的編碼信息。
劃分信息指示當前編碼單元是否被劃分為較低深度的編碼單元。如果當前深度d的劃分信息為0,則當前編碼單元不再被劃分為較低深度的深度是編碼深度,因此可針對編碼深度定義關于變換單元的尺寸、分塊類型、預測模式的信息。如果根據(jù)劃分信息將當前編碼單元進一步劃分,則對較低深度的四個劃分的編碼單元獨立地執(zhí)行編碼。
預測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的一種??稍谒蟹謮K類型中定義幀內(nèi)模式和幀間模式,僅在尺寸為2N×2N的分塊類型中定義跳過模式。
關于分塊類型的信息可表示通過對稱劃分預測單元的高度或寬度獲得的尺寸為2N×2N、2N×N、N×2N和N×N的對稱分塊類型以及通過非對稱劃分預測單元的高度或寬度獲得的尺寸為2N×nU、2N×nD、nL×2N和nR×2N的非對稱分塊類型??赏ㄟ^以1:3和3:1劃分預測單元的高度來分別獲得尺寸為2N×nU和2N×nD的非對稱分塊類型,可通過以1:3和3:1劃分預測單元的寬度來分別獲得尺寸為nL×2N和nR×2N的非對稱分塊類型。
變換單元的尺寸可被設置為幀內(nèi)模式中的兩種類型以及幀間模式中的兩種類型。換而言之,如果變換單元的劃分信息為0,則變換單元的尺寸可以是2N×2N(2N×2N是當前編碼單元的尺寸)。如果變換單元的劃分信息為1,則可通過劃分當前編碼單元來獲得變換單元。另外,如果尺寸為2N×2N的當前編碼單元的分塊類型是對稱分塊類型,則變換單元的尺寸可以是N×N,如果當前編碼單元的分塊類型是非對稱分塊類型,則變換單元的尺寸可以是N/2×N/2。
關于具有樹結構的編碼單元的編碼信息可包括與編碼深度相應的編碼單元、預測單元以及最小單元中的至少一個。與編碼深度相應的編碼單元可包括包含相同編碼信息的最小單元和預測單元中的至少一個。
因此,通過比較相鄰數(shù)據(jù)單元的編碼信息來確定相鄰數(shù)據(jù)單元是否包括在與編碼深度相應的相同編碼單元中。另外,通過使用數(shù)據(jù)單元的編碼信息來確定與編碼深度相應的相應編碼單元,因此可確定最大編碼單元中的編碼深度的分布。
因此,如果基于相鄰數(shù)據(jù)單元的編碼信息來預測當前編碼單元,則可直接參照和使用與當前編碼單元相鄰的較深層編碼單元中的數(shù)據(jù)單元的編碼信息。
或者,如果基于相鄰數(shù)據(jù)單元的編碼信息來預測當前編碼單元,則使用所述數(shù)據(jù)單元的編碼信息來搜索與當前編碼單元相鄰的數(shù)據(jù)單元,并且可參照搜索到的相鄰的編碼單元來預測當前編碼單元。
圖13是描述根據(jù)表1的編碼模式信息的編碼單元、預測單元或分塊、變換單元之間的關系的示圖。
最大編碼單元1300包括多種編碼深度的編碼單元1302、1304、1306、1312、1314、1316和1318。這里,由于編碼單元1318是編碼深度的編碼單元,所以劃分信息可被設置為0。關于尺寸為2N×2N的編碼單元1318的分塊類型的信息可被設置為尺寸為2N×2N的分塊類型1322、尺寸為2N×N的分塊類型1324、尺寸為N×2N的分塊類型1326、尺寸為N×N的分塊類型1328、尺寸為2N×nU的分塊類型1332、尺寸為2N×nD的分塊類型1334、尺寸為nL×2N的分塊類型1336以及尺寸為nR×2N的分塊類型1338中的一個。
變換單元的劃分信息(TU尺寸標志)是變換索引的類型,對應于變換索引的變換單元的尺寸可根據(jù)編碼單元的預測單元類型或分塊類型而改變。
例如,當分塊類型被設置為對稱(即,分塊類型1322、1324、1326或1328)時,如果變換單元的劃分信息為0,則設置尺寸為2N×2N的變換單元1342;如果TU尺寸標志為1,則設置尺寸為N×N的變換單元1344。
當分塊類型被設置為非對稱(即,分塊類型1332、1334、1336或1338)時,如果TU尺寸標志為0,則設置尺寸為2N×2N的變換單元1352;如果TU尺寸標志為1,則設置尺寸為N/2×N/2的變換單元1354。
參照圖13,TU尺寸標志是具有值0或1的標志,但是TU尺寸標志并不限于1比特,在TU尺寸標志從0增加時,變換單元可被分層地劃分為具有樹結構。變換單元的劃分信息可用作變換索引的示例。
在這種情況下,如果變換單元的劃分信息與變換單元的最大尺寸和變換單元的最小尺寸一起使用,則可表示實際使用的變換單元的尺寸。視頻編碼設備100可對變換單元的最大尺寸信息、變換單元的最小尺寸信息以及變換單元的最大劃分信息進行編碼。編碼的變換單元的最大尺寸信息、編碼的變化單元的最小尺寸信息以及編碼的變換單元的最大劃分信息可插入SPS。視頻解碼設備200可通過使用變換單元的最大尺寸信息、變換單元的最小尺寸信息以及變換單元的最大劃分信息對視頻進行解碼。
在一示例中,(a)如果當前編碼單元的尺寸為64×64,并且變換單元的最大尺寸為32×32,則(a-1)當變換單元的劃分信息是0時,變換單元的尺寸可被設置為32×32,(a-2)當變換單元的劃分信息是1時,變換單元的尺寸可被設置為16×16,(a-3)當變換單元的劃分信息是2時,變換單元的尺寸可被設置為8×8。
在另一示例中,(b)如果當前編碼單元的尺寸是32×32,并且變換單元的最小尺寸為32×32,則(b-1)當變換單元的劃分信息為0時,變換單元的尺寸可被設置為32×32,并且由于變換單元的尺寸不能小于32×32的尺寸,因此變換單元的劃分信息不能被進一步設置。
在另一示例中,(c)如果當前編碼單元的尺寸為64×64,變換單元的最大劃分信息是1,則變換單元的劃分信息可被設置為0或1,并且不能設置變換單元的另一劃分信息。
因此,如果定義最大TU尺寸標志為“MaxTransformSizeIndex”,則最小變換單元尺寸為“MinTransformSize”,并且當TU尺寸標志是0時,變換單元尺寸為“RootTuSize”,則可通過等式(1)來定義可在當前編碼單元中確定的當前最小編碼單元尺寸“CurrMinTuSize”。
CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))……(1)
與可在當前編碼單元中確定的當前最小變換單元尺寸“CurrMinTuSize”相比,當TU尺寸標志是0時的變換單元尺寸“RootTuSize”可表示可在系統(tǒng)中選擇的最大變換單元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”表示當在TU尺寸標志是0時的變換單元尺寸“RootTuSize”被劃分與最大TU尺寸標志相應的次數(shù)時的變換單元尺寸,“MinTransformSize”表示最小變換尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中的較小值可以是可在當前編碼單元中確定的當前最小變換單元尺寸“CurrMinTuSize”。
根據(jù)本發(fā)明實施例,最大變換單元尺寸RootTuSize可根據(jù)預測模式的類型而改變。
例如,如果當前預測模式是幀間模式,則可通過使用下面的等式(2)來確定RootTuSize。在等式(2)中,“MaxTransformSize”表示最大變換單元尺寸,“PUSize”表示當前預測單元尺寸。
RootTuSize=min(MaxTransformSize,PUSize)……(2)
也就是說,如果當前預測模式是幀間模式,則當TU尺寸標志是0時的變換單元尺寸“RootTuSize”可以是最大變換單元尺寸和當前預測單元尺寸中的較小值。
如果當前分塊單元的預測模式是幀內(nèi)模式,則可通過使用下面的等式(3)來確定“RootTuSize”。在等式(3)中,“PartitionSize”表示當前分塊單元的尺寸。
RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
也就是說,如果當前預測模式是幀內(nèi)模式,則當TU尺寸標志是0時的變換單元尺寸“RootTuSize”可以是最大變換單元尺寸和當前分塊單元的尺寸中的較小值。
然而,在分塊單元中根據(jù)預測模式的類型變化的當前最大變換單元尺寸“RootTuSize”只是示例,并且本發(fā)明不限于此。
圖14是示出根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻編碼的方法的流程圖。
在操作1210,當前畫面被劃分為至少一個最大編碼單元。可預先確定指示可能的總的劃分次數(shù)的最大深度。
在操作1220,通過對至少一個劃分區(qū)域編碼來確定用于輸出根據(jù)至少一個劃分區(qū)域的最終編碼結果的編碼深度,并確定根據(jù)樹結構的編碼單元,其中,根據(jù)通過根據(jù)深度劃分每個最大編碼單元的區(qū)域獲得所述至少一個劃分區(qū)域。
每當深度加深時,最大編碼單元被空間劃分,因此被劃分為較低深度的編碼單元。通過獨立于鄰近編碼單元地空間劃分每個編碼單元,每個編碼單元可被劃分為另一較低深度的編碼單元。對根據(jù)深度的每個編碼單元重復執(zhí)行編碼。
另外,針對每個較深層編碼單元確定具有最小編碼誤差的根據(jù)分塊類型的變換單元。為了在每個最大編碼單元中確定具有最小編碼誤差的編碼深度,可在所有的根據(jù)深度的較深層編碼單元中測量和比較編碼誤差。
當確定了變換單元時,可確定用于編碼單元的變換的變換單元。根據(jù)本實施例的變換單元可被確定為使得用于編碼單元的變換的變換單元所引起的誤差最小化的數(shù)據(jù)單元。
在操作1230,輸出針對每個最大編碼單元的構成根據(jù)編碼深度的最終編碼結果的編碼圖像數(shù)據(jù)以及關于編碼深度和編碼模式的編碼信息。關于編碼模式的信息可包括關于編碼深度或劃分信息的信息、關于預測單元的分塊類型的信息、關于預測模式的信息、關于變換單元的尺寸的信息、變換索引信息等。
關于根據(jù)數(shù)據(jù)單元(諸如序列、畫面、條帶或GOP)定義的編碼單元的尺寸和可變深度的編碼單元結構信息可被插入比特流的頭、SPS或PPS。關于編碼單元的尺寸和可變深度的編碼單元結構信息可包括關于可變深度的信息、關于編碼單元的最大尺寸的信息和關于編碼單元的最小尺寸的信息??勺兩疃炔粌H可包括當前編碼單元的允許的最大深度,還可包括具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的至少一個。
關于編碼模式的編碼信息、關于編碼單元的尺寸和可變深度的編碼單元結構信息以及劃分信息可被插入比特流的頭、SPS或PPS,并隨后可與編碼圖像數(shù)據(jù)一起被發(fā)送到解碼器。
圖15是示出根據(jù)本發(fā)明實施例的基于具有樹結構的編碼單元對視頻解碼的方法的流程圖。
在操作1310,接收和解析編碼視頻的比特流。
在操作1320,從解析的比特流提取分配給最大編碼單元的當前畫面的編碼圖像數(shù)據(jù)、關于根據(jù)最大編碼單元的編碼深度和編碼模式的信息以及關于編碼單元的尺寸和可變深度的編碼單元結構信息??蓮谋忍亓鞯念^、SPS或PPS提取關于編碼深度和編碼模式的信息、關于編碼單元的尺寸和可變深度的編碼單元結構信息以及劃分信息。
每個最大編碼單元的編碼深度是在每個最大編碼單元中具有最小編碼誤差的深度。在對每個最大編碼單元編碼時,基于通過分層劃分根據(jù)深度的每個最大編碼單元獲得的至少一個數(shù)據(jù)單元對圖像數(shù)據(jù)編碼。
根據(jù)關于編碼深度和編碼模式的信息,最大編碼單元可被劃分為具有樹結構的編碼單元。具有樹結構的每個編碼單元被確定為與編碼深度對應的編碼單元,并且優(yōu)選地被編碼以輸出最小編碼誤差。因此,可通過在確定根據(jù)編碼單元的至少一個編碼深度之后,以編碼單元對每條編碼圖像數(shù)據(jù)解碼來提高圖像的編碼和解碼效率。
可從關于編碼單元的尺寸和可變深度的信息提取針對畫面、條帶或GOP的每個確定的關于可變深度的信息、關于編碼單元的最大尺寸的信息以及關于編碼單元的最小尺寸的編碼單元結構信息中的至少兩個。根據(jù)本實施例的可變深度不僅可指示當前編碼單元的允許的最大深度,還可指示具有最小尺寸的編碼單元的最低深度、深度級的數(shù)量和深度變化中的至少一個。
可基于編碼信息確定具有樹結構的當前編碼單元中的編碼單元的最大尺寸和最小尺寸,所述編碼信息包括關于具有樹結構的當前編碼單元的可變深度的信息、關于編碼單元的最大尺寸的信息和關于編碼單元的最小尺寸的信息中的至少兩個。
另外,可基于編碼信息的變換索引確定編碼單元中的根據(jù)樹結構的變換單元。
在操作1330,根據(jù)最大編碼單元基于關于編碼深度和編碼模式的信息對每個最大編碼單元的圖像數(shù)據(jù)解碼。解碼的圖像數(shù)據(jù)可通過再現(xiàn)設備被再現(xiàn),可被存儲在存儲介質中,或者通過網(wǎng)絡被發(fā)送。
本發(fā)明的實施例可被編寫為計算機程序并可在使用計算機可讀記錄介質執(zhí)行程序的通用數(shù)字計算機中實現(xiàn)。計算機可讀記錄介質的示例包括磁性存儲介質(例如,ROM、軟盤、硬盤等)和光學記錄介質(例如,CD-ROM或DVD)。
雖然已經(jīng)參照本發(fā)明的優(yōu)選實施例具體地示出和描述了本發(fā)明,但是本領域的普通技術人員應理解,在不脫離權利要求限定的本發(fā)明的精神和范圍的情況下,可以在形式和細節(jié)上進行各種改變。優(yōu)選實施例應被認為只是描述性而不是限制性的目的。因此,不是通過本發(fā)明的詳細描述而是權利要求來限定本發(fā)明的范圍,范圍內(nèi)的所有差異應被理解為包括在本發(fā)明中。