技術(shù)領(lǐng)域
本發(fā)明涉及一種用于對視頻進行編碼和解碼的方法和設(shè)備,更具體地,涉及一種用于有效地對當前預測單元的運動信息進行編碼和解碼的方法和設(shè)備。
背景技術(shù):
由于最近高清晰度視頻內(nèi)容增加,對于具有比根據(jù)現(xiàn)有技術(shù)的視頻編解碼器(諸如,MPEG-4H.264/MPEG-4高級視頻編碼(AVC))更高的編碼效率的視頻編解碼器的需求正在增加。
運動補償是用于去除視頻信號中的時間冗余的技術(shù)。通過運動補償,作為原始信號和由運動矢量指示的參考信號之間的差的殘差信號被發(fā)送,從而增加視頻編碼的壓縮效率。一般來說,作為通過運動補償獲得的每個塊的編碼的結(jié)果,每個塊的運動矢量和殘差值被發(fā)送到解碼器端。由于各個塊的運動矢量占用編碼的比特流的相當一部分,因此關(guān)于分配給各個塊的運動矢量的信息將被減少以增加壓縮效率。
為了減少根據(jù)運動矢量的編碼的傳輸開銷,在根據(jù)現(xiàn)有技術(shù)的MPEG-2編解碼器中,先前塊的運動矢量用作當前塊的運動矢量預測,在諸如MPEG-4H.264/MPEG-4AVC的編解碼器中,與當前塊的左側(cè)、上側(cè)和右上側(cè)相鄰的先前編碼的塊的運動矢量的中值用作運動矢量預測。
技術(shù)實現(xiàn)要素:
技術(shù)問題
本發(fā)明提供一種用于有效地對預測單元的運動信息進行編碼的方法和設(shè)備。
技術(shù)方案
通過使用與當前預測單元時間或空間相關(guān)的預測單元的運動信息來產(chǎn)生預定的固定數(shù)量的運動信息候選。
有益效果
根據(jù)本發(fā)明的實施例,由于使用了固定數(shù)量的運動信息候選,因此與基于周邊信息確定運動信息的方法或單獨地發(fā)送運動信息的方法相比,可執(zhí)行獨立的處理。即使產(chǎn)生了誤差,也由于運動信息候選的數(shù)量固定,因此在解析階段的誤差健壯性增加。
附圖說明
通過參照附圖詳細描述本發(fā)明的示例性實施例,本發(fā)明的以上和其他特征和優(yōu)點將變得更清楚,其中:
圖1是根據(jù)本發(fā)明的實施例的視頻編碼設(shè)備的框圖;
圖2是根據(jù)本發(fā)明的實施例的視頻解碼設(shè)備的框圖;
圖3是用于描述根據(jù)本發(fā)明的實施例的編碼單元的概念的示圖;
圖4是根據(jù)本發(fā)明的實施例的基于具有分層結(jié)構(gòu)的編碼單元的視頻編碼器的框圖;
圖5是根據(jù)本發(fā)明的實施例的基于具有分層結(jié)構(gòu)的編碼單元的視頻解碼器的框圖;
圖6是示出根據(jù)本發(fā)明的實施例的根據(jù)深度的較深層編碼單元和分區(qū)(partition)的示圖;
圖7是用于描述根據(jù)本發(fā)明的實施例的編碼單元和變換單元之間的關(guān)系的示圖;
圖8是用于描述根據(jù)本發(fā)明的實施例的與編碼深度相應的編碼單元的編碼信息的示圖;
圖9是根據(jù)本發(fā)明的實施例的根據(jù)深度的較深層編碼單元的示圖;
圖10至圖12是用于描述根據(jù)本發(fā)明的實施例的編碼單元、預測單元和頻率變換單元之間的關(guān)系的示圖;
圖13是用于描述根據(jù)表1的編碼模式信息的編碼單元、預測單元和變換單元之間的關(guān)系的示圖;
圖14a是示出根據(jù)本發(fā)明的實施例的運動信息編碼設(shè)備的結(jié)構(gòu)的框圖;
圖14b是示出根據(jù)本發(fā)明的另一實施例的運動信息編碼設(shè)備的結(jié)構(gòu)的框圖;
圖15是示出根據(jù)本發(fā)明的實施例的圖14a的運動矢量預測候選產(chǎn)生器的詳細結(jié)構(gòu)的框圖;
圖16示出根據(jù)本發(fā)明的實施例的在獲得當前預測單元的運動矢量預測時使用的周邊預測單元;
圖17是根據(jù)本發(fā)明的實施例的用于解釋確定經(jīng)縮放的空間運動矢量預測候選的操作的參考示圖;
圖18是用于解釋根據(jù)本發(fā)明的實施例的通過對周邊預測單元的運動矢量進行縮放來產(chǎn)生當前預測單元的運動矢量預測候選的方法的參考示圖;
圖19是用于解釋根據(jù)本發(fā)明的實施例的產(chǎn)生時間運動矢量預測的操作的參考示圖;
圖20a和圖20b示出根據(jù)本發(fā)明的實施例的指示當前預測單元的運動矢量預測的索引信息;
圖21a和圖21b是根據(jù)本發(fā)明的實施例的用于解釋從合并候選去除的周邊預測單元的參考示圖;
圖22是用于解釋根據(jù)本發(fā)明的實施例的去除包括在合并候選中的運動信息的冗余的操作的參考示圖;
圖23至圖25是用于解釋根據(jù)本發(fā)明的實施例的將選擇性的合并候選添加到合并候選的操作的參考示圖;
圖26是根據(jù)本發(fā)明的實施例的對運動信息進行編碼的方法的流程圖;
圖27a是示出根據(jù)本發(fā)明的實施例的運動信息解碼設(shè)備的結(jié)構(gòu)的框圖;
圖27b是示出根據(jù)本發(fā)明的另一實施例的運動信息解碼設(shè)備的結(jié)構(gòu)的框圖;
圖28是根據(jù)本發(fā)明的實施例的對運動矢量進行解碼的方法的流程圖。
最佳模式
根據(jù)本發(fā)明的一方面,提供一種對運動信息進行編碼的方法,所述方法包括:通過對當前預測單元執(zhí)行運動預測來獲得關(guān)于當前預測單元的運動信息;通過使用與當前預測單元時間或空間相關(guān)的預測單元的運動信息來獲得運動信息候選;當包括在運動信息候選中的運動信息的數(shù)量小于預定數(shù)量n(n是整數(shù))時,將可選擇的運動信息添加到運動信息候選,從而包括在運動信息候選中的運動信息的數(shù)量達到預定數(shù)量n;從n個運動信息候選中確定關(guān)于當前預測單元的運動信息;將指示所述運動信息的索引信息編碼為當前預測單元的運動信息。
根據(jù)本發(fā)明的另一方面,提供一種用于對運動信息進行編碼的設(shè)備,所述設(shè)備包括:運動信息候選產(chǎn)生器,用于通過使用與當前預測單元時間或空間相關(guān)的預測單元的運動信息來獲得運動信息候選,并且當包括在運動信息候選中的運動信息的數(shù)量小于預定數(shù)量n(n是整數(shù))時,將可選擇的運動信息添加到運動信息候選,從而包括在運動信息候選中的運動信息的數(shù)量達到預定數(shù)量n;運動信息編碼器,用于從n個運動信息候選中確定關(guān)于當前預測單元的運動信息,并且將指示所述運動信息的索引信息編碼為當前預測單元的運動信息。
根據(jù)本發(fā)明的另一方面,提供一種對運動信息進行解碼的方法,所述方法包括:通過使用與當前預測單元時間相關(guān)的預測單元的運動信息和與當前預測單元空間相關(guān)的預測單元的運動信息,來獲得運動信息候選;當包括在運動信息候選中的運動信息的數(shù)量小于預定數(shù)量n(n是整數(shù))時,將可選擇的運動信息添加到運動信息候選,從而包括在運動信息候選中的運動信息的數(shù)量達到數(shù)量n;從比特流獲得指示包括在運動信息候選中的n個運動信息之中的運動信息之一的索引;通過使用由獲得的索引指示的運動信息來獲得當前預測單元的運動信息。
根據(jù)本發(fā)明的另一方面,提供一種用于對運動信息進行解碼的設(shè)備,所述設(shè)備包括:運動信息候選產(chǎn)生器,用于通過使用與當前預測單元時間相關(guān)的預測單元的運動信息以及與當前預測單元空間相關(guān)的預測單元的運動信息來獲得運動信息候選,當包括在運動信息候選中的運動信息的數(shù)量小于預定數(shù)量n(n是整數(shù))時,將可選擇的運動信息添加到運動信息候選,從而包括在運動信息候選中的運動信息的數(shù)量達到預定數(shù)量n;熵解碼器,用于從比特流獲得指示包括在運動信息候選中的n個運動信息之中的一個運動信息的索引;運動信息解碼器,用于通過使用由獲得的索引指示的運動信息來獲得當前預測單元的運動信息。
具體實施方式
以下,將參照附圖來詳細描述本發(fā)明的實施例。
圖1是根據(jù)本發(fā)明的實施例的視頻編碼設(shè)備100的框圖。
視頻編碼設(shè)備100包括最大編碼單元劃分器110、編碼單元確定器120和輸出單元130。
最大編碼單元劃分器110可基于作為最大尺寸的編碼單元的最大編碼單元來劃分圖像的當前畫面。如果當前畫面大于最大編碼單元,則當前畫面的圖像數(shù)據(jù)可被劃分為至少一個最大編碼單元。根據(jù)本發(fā)明的實施例的最大編碼單元可以是尺寸為32×32、64×64、128×128、256×256等的數(shù)據(jù)單元,其中,數(shù)據(jù)單元的形狀是具有2的若干次方的寬度和長度并且大于8的正方形。圖像數(shù)據(jù)可以以至少一個最大編碼單元為單位被輸出到編碼單元確定器120。
根據(jù)本發(fā)明的實施例的編碼單元可由最大尺寸和深度來表征。深度表示從最大編碼單元空間劃分編碼單元的次數(shù),并且隨著深度加深,可將較深層編碼單元從最大編碼單元劃分為最小編碼單元。最大編碼單元的深度是最高深度,最小編碼單元的深度是最低深度。由于隨著最大編碼單元的深度加深,與每個深度相應的編碼單元的尺寸減小,因此,與更高深度相應的編碼單元可包括多個與更低深度相應的編碼單元。
如上所述,當前畫面的圖像數(shù)據(jù)根據(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ù)進行編碼的結(jié)果。在對較深層編碼單元的編碼誤差進行比較之后,可選擇具有最小編碼誤差的深度??舍槍γ總€最大編碼單元選擇至少一個編碼深度。
隨著編碼單元根據(jù)深度被分層地劃分,并且隨著編碼單元的數(shù)量增加,最大編碼單元的尺寸被劃分。另外,即使在一個最大編碼單元中多個編碼單元相應于相同深度,也通過分別測量每個編碼單元的圖像數(shù)據(jù)的編碼誤差來確定是否將與相同深度相應的編碼單元中的每個編碼單元劃分至更低深度。因此,即使當圖像數(shù)據(jù)被包括在一個最大編碼單元中時,圖像數(shù)據(jù)也根據(jù)多個深度被劃分為多個區(qū)域,在一個最大編碼單元中編碼誤差可根據(jù)區(qū)域而不同,因此編碼深度可根據(jù)圖像數(shù)據(jù)中的區(qū)域而不同。因此,在一個最大編碼單元中可確定一個或多個編碼深度,并且可根據(jù)至少一個編碼深度的編碼單元來劃分最大編碼單元的圖像數(shù)據(jù)。
因此,編碼單元確定器120可確定包括在當前最大編碼單元中的具有樹結(jié)構(gòu)的編碼單元。根據(jù)本發(fā)明的實施例的“具有樹結(jié)構(gòu)的編碼單元”包括最大編碼單元中所包括的所有較深層編碼單元中的與確定為編碼深度的深度相應的編碼單元。在最大編碼單元的相同區(qū)域中,具有編碼深度的編碼單元可根據(jù)深度被分層地確定,在不同的區(qū)域中,具有該編碼深度的編碼單元可被獨立地確定。類似地,當前區(qū)域中的編碼深度可獨立于另一區(qū)域中的編碼深度被獨立確定。
根據(jù)本發(fā)明的實施例的最大深度是與從最大編碼單元到最小編碼單元執(zhí)行劃分的次數(shù)相關(guān)的索引。根據(jù)本發(fā)明的實施例的第一最大深度可表示從最大編碼單元到最小編碼單元執(zhí)行劃分的總次數(shù)。根據(jù)本發(fā)明的實施例的第二最大深度可表示從最大編碼單元到最小編碼單元的深度級的總數(shù)。例如,當最大編碼單元的深度是0時,最大編碼單元被劃分一次的編碼單元的深度可被設(shè)置為1,并且最大編碼單元被劃分兩次的編碼單元的深度可被設(shè)置為2。這里,如果最小編碼單元是最大編碼單元被劃分四次的編碼單元,則存在深度為0、1、2、3和4的5個深度級,因此,第一最大深度可被設(shè)置為4,第二最大深度可被設(shè)置為5。
可根據(jù)最大編碼單元執(zhí)行預測編碼和變換。還可根據(jù)最大編碼單元,基于根據(jù)等于最大深度的深度或小于最大深度的多個深度的較深層編碼單元來執(zhí)行預測編碼和變換。
由于每當最大編碼單元根據(jù)深度被劃分時,較深層編碼單元的數(shù)量增加,因此對隨著深度的加深而產(chǎn)生的所有的較深層編碼單元執(zhí)行包括預測編碼和變換的編碼。為了便于描述,現(xiàn)在將基于在至少一個最大編碼單元中的當前深度的編碼單元來描述預測編碼和變換。
視頻編碼設(shè)備100可不同地選擇用于對圖像數(shù)據(jù)進行編碼的數(shù)據(jù)單元的尺寸或形狀。為了對圖像數(shù)據(jù)進行編碼,執(zhí)行多個操作(諸如,預測編碼、變換和熵編碼),此時,可針對所有操作使用相同的數(shù)據(jù)單元,或者可針對每個操作使用不同的數(shù)據(jù)單元。
例如,視頻編碼設(shè)備100不僅可選擇用于對圖像數(shù)據(jù)進行編碼的編碼單元,還可選擇與該編碼單元不同的數(shù)據(jù)單元,以便對編碼單元中的圖像數(shù)據(jù)執(zhí)行預測編碼。
為了在最大編碼單元中執(zhí)行預測編碼,可基于與編碼深度相應的編碼單元(即,基于不再被劃分為與更低深度相應的多個編碼單元的編碼單元)執(zhí)行預測編碼。以下,不再被劃分并且變?yōu)橛糜陬A測編碼的基本單元的編碼單元現(xiàn)在將被稱為“預測單元”。通過劃分預測單元而獲得的分區(qū)可包括:通過劃分預測單元的高度和寬度中的至少一個而獲得的預測單元或數(shù)據(jù)單元。
例如,當2N×2N(其中,N是正整數(shù))的編碼單元不再被劃分并且變?yōu)?N×2N的預測單元時,分區(qū)的尺寸可以是2N×2N、2N×N、N×2N或N×N。分區(qū)類型的示例包括通過對預測單元的高度或?qū)挾冗M行對稱劃分而獲得的對稱分區(qū)、通過對預測單元的高度或?qū)挾冗M行不對稱劃分(諸如,1:n或n:1)而獲得的分區(qū)、通過對預測單元進行幾何劃分而獲得的分區(qū)以及具有任意形狀的分區(qū)。
預測單元的預測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的至少一個。例如,可對2N×2N、2N×N、N×2N或N×N的分區(qū)執(zhí)行幀內(nèi)模式或幀間模式。另外,可僅對2N×2N的分區(qū)執(zhí)行跳過模式。對編碼單元中的一個預測單元獨立地執(zhí)行編碼,從而選擇具有最小編碼誤差的預測模式。
視頻編碼設(shè)備100不僅可基于用于對圖像數(shù)據(jù)進行編碼的編碼單元還可基于與該編碼單元不同的數(shù)據(jù)單元,對編碼單元中的圖像數(shù)據(jù)執(zhí)行變換。
為了在編碼單元中執(zhí)行變換,可基于具有小于或等于編碼單元的尺寸的數(shù)據(jù)單元來執(zhí)行變換。例如,用于變換的數(shù)據(jù)單元可包括用于幀內(nèi)模式的數(shù)據(jù)單元以及用于幀間模式的數(shù)據(jù)單元。
用作變換的基礎(chǔ)的數(shù)據(jù)單元現(xiàn)將被稱為“變換單元”。與編碼單元類似,編碼單元中的變換單元可被遞歸地劃分為更小尺寸的區(qū)域,從而變換單元可以以區(qū)域為單位被獨立地確定。因此,編碼單元中的殘差數(shù)據(jù)可根據(jù)具有根據(jù)變換深度的樹結(jié)構(gòu)的變換單元被劃分。
還可在變換單元中設(shè)置指示通過對編碼單元的高度和寬度進行劃分以達到變換單元而執(zhí)行劃分的次數(shù)的變換深度。例如,在2N×2N的當前編碼單元中,當變換單元的尺寸是2N×2N時,變換深度可以是0,當變換單元的尺寸是N×N時,變換深度可以是1,當變換單元的尺寸是N/2×N/2時,變換深度可以是2。也就是說,也可根據(jù)變換深度設(shè)置具有樹結(jié)構(gòu)的變換單元。
根據(jù)與編碼深度相應的編碼單元的編碼信息不僅需要關(guān)于編碼深度的信息,還需要與預測編碼和變換相關(guān)的信息。因此,編碼單元確定器120不僅確定具有最小編碼誤差的編碼深度,還確定預測單元中的分區(qū)類型、根據(jù)預測單元的預測模式以及用于變換的變換單元的尺寸。
稍后將參照圖3至圖12來詳細地描述根據(jù)本發(fā)明的實施例的最大編碼單元中的根據(jù)樹結(jié)構(gòu)的編碼單元以及確定分區(qū)的方法。
編碼單元確定器120可通過使用基于拉格朗日乘子(Lagrangian multiplier)的率失真優(yōu)化來測量根據(jù)深度的較深層編碼單元的編碼誤差。
輸出單元130在比特流中輸出最大編碼單元的圖像數(shù)據(jù)以及關(guān)于根據(jù)編碼深度的編碼模式的信息,其中,所述圖像數(shù)據(jù)基于由編碼單元確定器120確定的至少一個編碼深度被編碼。
編碼的圖像數(shù)據(jù)可以是圖像的殘差數(shù)據(jù)的編碼結(jié)果。
關(guān)于根據(jù)編碼深度的編碼模式的信息可包括關(guān)于編碼深度的信息、關(guān)于預測單元中的分區(qū)類型的信息、預測模式信息以及變換單元的尺寸信息。
可通過使用根據(jù)深度的劃分信息來定義關(guān)于編碼深度的信息,所述劃分信息指示是否針對更低深度而非當前深度的編碼單元來執(zhí)行編碼。如果當前編碼單元的當前深度是編碼深度,則當前編碼單元中的圖像數(shù)據(jù)被編碼和輸出,因此劃分信息可被定義為不將當前編碼單元劃分為更低深度??蛇x擇地,如果當前編碼單元的當前深度不是編碼深度,則對更低深度的編碼單元執(zhí)行編碼,因此劃分信息可被定義為劃分當前編碼單元以獲得更低深度的編碼單元。
如果當前深度不是編碼深度,則對被劃分為更低深度的編碼單元的編碼單元執(zhí)行編碼。由于更低深度的至少一個編碼單元存在于當前深度的一個編碼單元中,因此對更低深度的每個編碼單元重復地執(zhí)行編碼,因而可對具有相同深度的編碼單元遞歸地執(zhí)行編碼。
由于對一個最大編碼單元確定具有樹結(jié)構(gòu)的編碼單元,并且對編碼深度的編碼單元確定關(guān)于至少一個編碼模式的信息,因此可對一個最大編碼單元確定關(guān)于至少一個編碼模式的信息。另外,由于圖像數(shù)據(jù)根據(jù)深度被分層地劃分,因此最大編碼單元的圖像數(shù)據(jù)的編碼深度可根據(jù)位置而不同,因而可對圖像數(shù)據(jù)設(shè)置關(guān)于編碼深度以及編碼模式的信息。
因此,輸出單元130可將關(guān)于相應編碼深度和編碼模式的編碼信息分配給包括在最大編碼單元中的編碼單元、預測單元和最小單元中的至少一個。
根據(jù)本發(fā)明的實施例的最小單元是通過將組成最低深度的最小編碼單元劃分為4份而獲得的矩形數(shù)據(jù)單元。可選擇地,最小單元可以是可被包括在最大編碼單元中所包括的所有編碼單元、預測單元、分區(qū)單元和變換單元中的最大矩形數(shù)據(jù)單元。
例如,通過輸出單元130輸出的編碼信息可被分類為根據(jù)編碼單元的編碼信息以及根據(jù)預測單元的編碼信息。根據(jù)編碼單元的編碼信息可包括關(guān)于預測模式的信息以及關(guān)于分區(qū)的尺寸的信息。根據(jù)預測單元的編碼信息可包括關(guān)于以下內(nèi)容的信息:幀間模式的估計方向、幀間模式的參考圖像索引、運動矢量、幀內(nèi)模式的色度分量以及幀內(nèi)模式的插值方法。此外,關(guān)于根據(jù)畫面、條帶或GOP定義的編碼單元的最大尺寸的信息以及關(guān)于最大深度的信息可被插入到比特流的頭。
在視頻編碼設(shè)備100中,較深層編碼單元可以是通過將作為上一層的更高深度的編碼單元的高度或?qū)挾瘸远@得的編碼單元。換句話說,在當前深度的編碼單元的尺寸是2N×2N時,更低深度的編碼單元的尺寸是N×N。另外,尺寸為2N×2N的當前深度的編碼單元可包括最多4個更低深度的編碼單元。
因此,視頻編碼設(shè)備100可通過基于考慮當前畫面的特性所確定的最大編碼單元的尺寸和最大深度,針對每個最大編碼單元確定具有最佳形狀和最佳尺寸的編碼單元,來形成具有樹結(jié)構(gòu)的編碼單元。另外,由于通過使用各種預測模式和變換中的任意一個對每個最大編碼單元執(zhí)行編碼,因此可考慮各種圖像尺寸的編碼單元的特性來確定最佳編碼模式。
因此,如果在傳統(tǒng)的宏塊中對具有高分辨率或大數(shù)據(jù)量的圖像進行編碼,則每個畫面的宏塊的數(shù)量過度增加。因此,針對每個宏塊產(chǎn)生的壓縮信息的數(shù)量增加,因此難以發(fā)送壓縮信息并且數(shù)據(jù)壓縮效率降低。然而,通過使用視頻編碼設(shè)備100,由于在考慮圖像的尺寸的同時增加編碼單元的最大尺寸,同時在考慮圖像的特征的同時調(diào)整編碼單元,因此圖像壓縮效率會增加。
圖2是根據(jù)本發(fā)明的實施例的視頻解碼設(shè)備200的框圖。
視頻解碼設(shè)備200包括接收器210、圖像數(shù)據(jù)和編碼信息提取器220以及圖像數(shù)據(jù)解碼器230。用于視頻解碼設(shè)備200的各種操作的各種術(shù)語(諸如,編碼單元、深度、預測單元、變換單元和關(guān)于各種編碼模式的信息)的定義與以上參照圖1和視頻編碼設(shè)備100描述的那些定義一致。
接收器210接收編碼視頻的比特流以對語法元素進行解析。圖像數(shù)據(jù)和編碼信息提取器220通過對解析的語法元素執(zhí)行熵解碼來基于具有結(jié)構(gòu)的編碼單元提取指示編碼圖像數(shù)據(jù)的語法元素,并且將提取的語法元素輸出到圖像數(shù)據(jù)解碼器230。也就是說,圖像數(shù)據(jù)和編碼信息提取器220執(zhí)行以0和1的比特串的形式接收的語法元素的熵解碼,從而恢復語法元素。
另外,圖像數(shù)據(jù)和編碼信息提取器220從解析的比特流針對根據(jù)每個最大編碼單元的具有樹結(jié)構(gòu)的編碼單元提取關(guān)于編碼深度的信息、編碼模式、顏色分量信息、預測模式信息等。提取的關(guān)于編碼深度和編碼模式的信息被輸出到圖像數(shù)據(jù)解碼器230。比特流中的圖像數(shù)據(jù)被劃分為最大編碼單元,從而圖像數(shù)據(jù)解碼器230可針對每個最大編碼單元對圖像數(shù)據(jù)進行解碼。
可針對關(guān)于與編碼深度相應的至少一個編碼單元的信息來設(shè)置關(guān)于根據(jù)最大編碼單元的編碼深度和編碼模式的信息,并且關(guān)于編碼模式的信息可包括關(guān)于以下內(nèi)容的信息:與編碼深度相應的相應編碼單元的分區(qū)類型、預測模式以及變換單元的尺寸。另外,根據(jù)深度的劃分信息可被提取為關(guān)于編碼深度的信息。
由圖像數(shù)據(jù)和編碼信息提取器220提取的關(guān)于根據(jù)每個最大編碼單元的編碼深度和編碼模式的信息是關(guān)于這樣的編碼深度和編碼模式的信息:所述編碼深度和編碼模式被確定用于當編碼器(諸如,視頻編碼設(shè)備100)根據(jù)每個最大編碼單元針對根據(jù)深度的每個較深層編碼單元重復執(zhí)行編碼時產(chǎn)生最小編碼誤差。因此,視頻解碼設(shè)備200可通過根據(jù)產(chǎn)生最小編碼誤差的編碼深度和編碼模式對圖像數(shù)據(jù)進行解碼來恢復圖像。
由于關(guān)于編碼深度和編碼模式的編碼信息可被分配給相應編碼單元、預測單元以及最小單元中的預定數(shù)據(jù)單元,因此,圖像數(shù)據(jù)和編碼信息提取器220可根據(jù)預定數(shù)據(jù)單元提取關(guān)于編碼深度和編碼模式的信息。當關(guān)于相應的最大編碼單元的編碼深度和編碼模式的信息被分配到每個預定數(shù)據(jù)單元時,被分配相同的關(guān)于編碼深度和編碼模式的信息的預定數(shù)據(jù)單元可被推斷為包括在相同的最大編碼單元中的數(shù)據(jù)單元。
圖像數(shù)據(jù)解碼器230通過基于關(guān)于根據(jù)最大編碼單元的編碼深度和編碼模式的信息對每個最大編碼單元中的圖像數(shù)據(jù)進行解碼來恢復當前畫面。換句話說,圖像數(shù)據(jù)解碼器230可基于提取的關(guān)于包括在每個最大編碼單元中的具有樹結(jié)構(gòu)的編碼單元中的每個編碼單元的分區(qū)類型、預測模式和變換單元的信息來對編碼圖像數(shù)據(jù)進行解碼。解碼處理可包括預測(所述預測包括幀內(nèi)預測和運動補償)和反變換。
圖像數(shù)據(jù)解碼器230可基于關(guān)于根據(jù)編碼深度的編碼單元的預測單元的分區(qū)類型以及預測模式的信息,根據(jù)每個編碼單元的分區(qū)和預測模式來執(zhí)行幀內(nèi)預測或運動補償。
另外,圖像數(shù)據(jù)解碼器230可基于關(guān)于根據(jù)編碼深度的編碼單元的變換單元的尺寸的信息,根據(jù)編碼單元中的每個變換單元執(zhí)行反變換,以便根據(jù)最大編碼單元執(zhí)行反變換。
圖像數(shù)據(jù)解碼器230可通過使用根據(jù)深度的劃分信息來確定當前最大編碼單元的至少一個編碼深度。如果劃分信息指示圖像數(shù)據(jù)在當前深度中不再被劃分,則當前深度是編碼深度。因此,圖像數(shù)據(jù)解碼器230可通過使用關(guān)于預測單元的分區(qū)類型、預測模式以及變換單元的尺寸的信息,來針對當前最大編碼單元的圖像數(shù)據(jù)對當前深度的編碼單元進行解碼。
換句話說,可通過觀察針對編碼單元、預測單元和最小單元之中的預定數(shù)據(jù)單元分配的編碼信息集,來聚集包含包括相同劃分信息的編碼信息的數(shù)據(jù)單元,收集的數(shù)據(jù)單元可被認為是將由圖像數(shù)據(jù)解碼器230以相同的編碼模式進行解碼的一個數(shù)據(jù)單元。
視頻解碼設(shè)備200可獲得關(guān)于當針對每個最大編碼單元遞歸執(zhí)行編碼時產(chǎn)生最小編碼誤差的至少一個編碼單元的信息,并可使用所述信息來對當前畫面進行解碼。換句話說,可對每個最大編碼單元中被確定為最佳編碼單元的具有樹結(jié)構(gòu)的編碼單元的編碼圖像數(shù)據(jù)進行解碼。
因此,即使圖像數(shù)據(jù)具有高分辨率和大數(shù)據(jù)量,也可通過使用從編碼器接收的關(guān)于最佳編碼模式的信息,通過使用根據(jù)圖像數(shù)據(jù)的特性自適應地確定的編碼單元的尺寸和編碼模式來有效地對圖像數(shù)據(jù)進行解碼和恢復。
現(xiàn)將參照圖3至圖13描述根據(jù)本發(fā)明的實施例的確定具有樹結(jié)構(gòu)的編碼單元、預測單元和變換單元的方法。
圖3是用于描述根據(jù)本發(fā)明的實施例的分層編碼單元的概念的示圖。
編碼單元的尺寸可按照寬度×高度來表示,并可以是64×64、32×32、16×16和8×8。64×64的編碼單元可被劃分為64×64、64×32、32×64或32×32的分區(qū),32×32的編碼單元可被劃分為32×32、32×16、16×32或16×16的分區(qū),16×16的編碼單元可被劃分為16×16、16×8、8×16或8×8的分區(qū),8×8的編碼單元可被劃分為8×8、8×4、4×8或4×4的分區(qū)。
關(guān)于視頻數(shù)據(jù)310,設(shè)置分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是2。關(guān)于視頻數(shù)據(jù)320,設(shè)置分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是3。關(guān)于視頻數(shù)據(jù)330,設(shè)置分辨率是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的最大編碼單元以及長軸尺寸為32和16的編碼單元。同時,由于視頻數(shù)據(jù)330的最大深度是1,因此由于通過劃分最大編碼單元一次深度被加深到一層,視頻數(shù)據(jù)330的編碼單元335可包括長軸尺寸為16的最大編碼單元以及長軸尺寸為8的編碼單元。
由于視頻數(shù)據(jù)320的最大深度是3,因此由于通過劃分最大編碼單元三次深度被加深到3層,視頻數(shù)據(jù)320的編碼單元325可包括長軸尺寸為64的最大編碼單元以及長軸尺寸為32、16和8的編碼單元。隨著深度的加深,可精確地表示詳細的信息。
圖4是根據(jù)本發(fā)明的實施例的基于編碼單元的視頻編碼器400的框圖。
視頻編碼器400包括在視頻編碼設(shè)備100的編碼單元確定器120中執(zhí)行的操作以對圖像數(shù)據(jù)進行編碼。也就是說,幀內(nèi)預測器410針對當前幀405,在幀內(nèi)模式下對編碼單元執(zhí)行幀內(nèi)預測,運動估計器420和運動補償器425通過使用當前幀405和參考幀495在幀間模式下對編碼單元分別執(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。
為了使視頻編碼器400被應用到視頻編碼設(shè)備100中,視頻編碼器400的所有元件(即,幀內(nèi)預測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、反量化器460、反變換器470、去塊單元480和環(huán)路濾波單元490)不得不在考慮每個最大編碼單元的最大深度的同時,基于具有樹結(jié)構(gòu)的多個編碼單元中的每個編碼單元執(zhí)行操作。
具體地講,幀內(nèi)預測器410、運動估計器420和運動補償器425在考慮當前最大編碼單元的最大尺寸和最大深度的同時,確定具有樹結(jié)構(gòu)的多個編碼單元中的每個編碼單元的分區(qū)和預測模式,并且變換器430確定具有樹結(jié)構(gòu)的多個編碼單元的每個編碼單元中的變換單元的尺寸。
圖5是根據(jù)本發(fā)明的實施例的基于編碼單元的視頻解碼器500的框圖。
解析器510從比特流505解析將被解碼的編碼圖像數(shù)據(jù)以及解碼所需的關(guān)于編碼的信息。編碼的圖像數(shù)據(jù)通過解碼器520和反量化器530被輸出為反量化的數(shù)據(jù)。反變換器540將反量化的數(shù)據(jù)恢復為空間域中的圖像數(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。另外,經(jīng)過去塊單元570和環(huán)路濾波單元580被后處理的圖像數(shù)據(jù)可被輸出為參考幀585。
為了使視頻解碼器500被應用到視頻解碼設(shè)備200中,圖像解碼器500的所有元件(即,解析器510、熵解碼器520、反量化器530、反變換器540、幀內(nèi)預測器550、運動補償器560、去塊單元570和環(huán)路濾波單元580)基于每個最大編碼單元的具有樹結(jié)構(gòu)的編碼單元執(zhí)行操作。
幀內(nèi)預測器550和運動補償器560針對每個具有樹結(jié)構(gòu)的編碼單元確定分區(qū)和預測模式,并且反變換器540必須針對每個編碼單元確定變換單元的尺寸。
圖6是示出根據(jù)本發(fā)明的實施例的根據(jù)深度的較深層編碼單元和分區(qū)的示圖。
視頻編碼設(shè)備100和視頻解碼設(shè)備200使用分層的編碼單元以考慮圖像的特性。編碼單元的最大高度、最大寬度和最大深度可根據(jù)圖像的特性被自適應地確定,或者可由用戶不同地設(shè)置。根據(jù)深度的較深層編碼單元的尺寸可根據(jù)編碼單元的預定最大尺寸被確定。
在根據(jù)本發(fā)明的實施例的編碼單元的分層結(jié)構(gòu)600中,編碼單元的最大高度和最大寬度都是64,并且最大深度是4。由于深度沿著分層結(jié)構(gòu)600的縱軸加深,因此較深層編碼單元的高度和寬度都被劃分。另外,作為用于每個較深層編碼單元的預測編碼的基礎(chǔ)的預測單元和分區(qū)沿分層結(jié)構(gòu)600的橫軸被顯示。
換句話說,編碼單元610是分層結(jié)構(gòu)600中的最大編碼單元,其中,深度是0,尺寸(即,高度乘寬度)是64×64。深度沿縱軸加深,并且存在尺寸為32×32且深度為1的編碼單元620、尺寸為16×16且深度為2的編碼單元630、尺寸為8×8且深度為3的編碼單元640以及尺寸為4×4且深度為4的編碼單元650。尺寸為4×4且深度為4的編碼單元650是最小編碼單元。
編碼單元的預測單元和分區(qū)根據(jù)每個深度沿橫軸排列。換句話說,如果尺寸為64×64且深度為0的編碼單元610是預測單元,則該預測單元可被劃分為包括在編碼器610中的分區(qū)(即,尺寸為64×64的分區(qū)610、尺寸為64×32的分區(qū)612、尺寸為32×64的分區(qū)614、或者尺寸為32×32的分區(qū)616)。
類似地,尺寸為32×32且深度為1的編碼單元620的預測單元可被劃分為包括在編碼單元620中的分區(qū)(即,尺寸為32×32的分區(qū)620、尺寸為32×16的分區(qū)622、尺寸為16×32的分區(qū)624以及尺寸為16×16的分區(qū)626)。
類似地,尺寸為16×16且深度為2的編碼單元630的預測單元可被劃分為包括在編碼單元630中的分區(qū)(即,包括在編碼單元630中的尺寸為16×16的分區(qū)、尺寸為16×8的分區(qū)632、尺寸為8×16的分區(qū)634以及尺寸為8×8的分區(qū)636)。
類似地,尺寸為8×8且深度為3的編碼單元640的預測單元可被劃分為包括在編碼單元640中的分區(qū)(即,包括在編碼單元640中的尺寸為8×8的分區(qū)、尺寸為8×4的分區(qū)642、尺寸為4×8的分區(qū)644以及尺寸為4×4的分區(qū)646)。
尺寸為4×4且深度為4的編碼單元650是最小編碼單元以及最低深度的編碼單元。編碼單元650的預測單元僅被分配給尺寸為4×4的分區(qū)。
為了確定構(gòu)成最大編碼單元610的編碼單元的至少一個編碼深度,視頻編碼設(shè)備100的編碼單元確定器120對包括在最大編碼單元610中的與每個深度相應的編碼單元執(zhí)行編碼。
隨著深度加深,包括相同范圍和相同尺寸的數(shù)據(jù)的根據(jù)深度的較深層編碼單元的數(shù)量增加。例如,需要四個與深度2相應的編碼單元以覆蓋包括在一個與深度1相應的編碼單元中的數(shù)據(jù)。因此,為了根據(jù)深度對相同數(shù)據(jù)的多個編碼結(jié)果進行比較,與深度1相應的編碼單元以及與深度2相應的四個編碼單元都被編碼。
為了針對多個深度中的當前深度執(zhí)行編碼,通過沿分層結(jié)構(gòu)600的橫軸,對與當前深度相應的多個編碼單元中的每個預測單元執(zhí)行編碼來針對當前深度選擇最小編碼誤差??蛇x擇地,隨著深度沿分層結(jié)構(gòu)600的縱軸加深,可通過根據(jù)深度比較最小編碼誤差并針對每個深度執(zhí)行編碼,從而搜索最小編碼誤差。在最大編碼單元610中的具有最小編碼誤差的深度和分區(qū)可被選為最大編碼單元610的編碼深度和分區(qū)類型。
圖7是用于描述根據(jù)本發(fā)明的實施例的編碼單元710和變換單元720之間的關(guān)系的示圖。
視頻編碼設(shè)備100或視頻解碼設(shè)備200針對每個最大編碼單元根據(jù)尺寸小于或等于最大編碼單元的編碼單元來對圖像進行編碼或解碼。可基于不大于相應編碼單元的數(shù)據(jù)單元來選擇在編碼期間用于變換的變換單元的尺寸。
例如,在視頻編碼設(shè)備100或視頻解碼設(shè)備200中,如果編碼單元710的尺寸是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ā)明的實施例的與編碼深度相應的編碼單元的編碼信息的示圖。
視頻編碼設(shè)備100的輸出單元130可對關(guān)于分區(qū)類型的信息800、關(guān)于預測模式的信息810以及關(guān)于與編碼深度相應的每個編碼單元的變換單元的尺寸的信息820進行編碼和發(fā)送,作為關(guān)于編碼模式的信息。
信息800指示關(guān)于通過劃分當前編碼單元的預測單元而獲得的分區(qū)的形狀的信息,其中,所述分區(qū)是用于對當前編碼單元進行預測編碼的數(shù)據(jù)單元。例如,尺寸為2N×2N的當前編碼單元CU_0可被劃分為如下分區(qū)中的任何一個:尺寸為2N×2N的分區(qū)802、尺寸為2N×N的分區(qū)804、尺寸為N×2N的分區(qū)806以及尺寸為N×N的分區(qū)808。這里,關(guān)于分區(qū)類型的信息800被設(shè)置為指示尺寸為2N×2N的分區(qū)802、尺寸為2N×N的分區(qū)804、尺寸為N×2N的分區(qū)806以及尺寸為N×N的分區(qū)808中的一個。
信息810指示每個分區(qū)的預測模式。例如,信息810可指示對由信息800指示的分區(qū)執(zhí)行的預測編碼的模式(即,幀內(nèi)模式812、幀間模式814或跳過模式816)。
信息820指示當對當前編碼單元執(zhí)行變換時所基于的變換單元。例如,變換單元可以是第一幀內(nèi)變換單元822、第二幀內(nèi)變換單元824、第一幀間變換單元826或第二幀間變換單元828。
視頻解碼設(shè)備200的圖像數(shù)據(jù)和編碼信息提取器210可根據(jù)每個較深層編碼單元來提取并使用用于解碼的關(guān)于編碼單元的信息800、關(guān)于預測模式的信息810和關(guān)于變換單元的尺寸的信息820。
圖9是根據(jù)本發(fā)明的實施例的根據(jù)深度的較深層編碼單元的示圖。
劃分信息可用于指示深度的改變。劃分信息指示當前深度的編碼單元是否被劃分為更低深度的編碼單元。
用于對深度為0且尺寸為2N_0×2N_0的編碼單元900進行預測編碼的預測單元910可包括如下分區(qū)類型的分區(qū):尺寸為2N_0×2N_0的分區(qū)類型912、尺寸為2N_0×N_0的分區(qū)類型914、尺寸為N_0×2N_0的分區(qū)類型916以及尺寸為N_0×N_0的分區(qū)類型918。圖9僅示出通過對預測單元910進行對稱劃分而獲得的分區(qū)類型912至918,但是分區(qū)類型不限于此,并且預測單元910的分區(qū)可包括不對稱分區(qū)、具有預定形狀的分區(qū)以及具有幾何形狀的分區(qū)。
根據(jù)每個分區(qū)類型對如下分區(qū)重復地執(zhí)行預測編碼:尺寸為2N_0×2N_0的一個分區(qū)、尺寸為2N_0×N_0的兩個分區(qū)、尺寸為N_0×2N_0的兩個分區(qū)以及尺寸為N_0×N_0的四個分區(qū)??蓪Τ叽鐬?N_0×2N_0、N_0×2N_0、2N_0×N_0以及N_0×N_0的分區(qū)執(zhí)行幀內(nèi)模式和幀間模式下的預測編碼。僅對尺寸為2N_0×2N_0的分區(qū)執(zhí)行跳過模式下的預測編碼。
如果在尺寸為2N_0×2N_0、2N_0×N_0和N_0×2N_0的分區(qū)類型912至916之一中的編碼誤差最小,則預測單元910可不被劃分為更低深度。
如果在尺寸為N_0×N_0的分區(qū)類型918中的編碼誤差最小,則在操作920,深度從0改變?yōu)?以劃分分區(qū)類型918,并且對深度為2且尺寸為N_0×N_0的分區(qū)類型的編碼單元重復地執(zhí)行編碼以搜索最小編碼誤差。
用于對深度為1且尺寸為2N_1×2N_1(=N_0×N_0)的(分區(qū)類型的)編碼單元930進行預測編碼的預測單元940可包括如下分區(qū)類型的分區(qū):尺寸為2N_1×2N_1的分區(qū)類型942、尺寸為2N_1×N_1的分區(qū)類型944、尺寸為N_1×2N_1的分區(qū)類型946以及尺寸為N_1×N_1的分區(qū)類型948。
如果在尺寸為N_1×N_1的分區(qū)類型948中編碼誤差最小,則在操作950,深度從1改變?yōu)?以劃分分區(qū)類型948,并且對深度為2且尺寸為N_2×N_2的編碼單元960重復地執(zhí)行編碼以搜索最小編碼誤差。
當最大深度是d時,根據(jù)每個深度的劃分操作可被執(zhí)行直到深度變?yōu)閐-1,并且劃分信息可被編碼直到深度是0至d-2之一。換句話說,當執(zhí)行編碼直到在操作970與深度d-2相應的編碼單元被劃分之后深度是d-1時,用于對深度為d-1且尺寸為2N_(d-1)×2N_(d-1)的編碼單元980進行預測編碼的預測單元990可包括如下分區(qū)類型的分區(qū):尺寸為2N_(d-1)×2N_(d-1)的分區(qū)類型992、尺寸為2N_(d-1)×N_(d-1)的分區(qū)類型994、尺寸為N_(d-1)×2N_(d-1)的分區(qū)類型996以及尺寸為N_(d-1)×N_(d-1)的分區(qū)類型998。
可對分區(qū)類型992至998中的如下分區(qū)重復地執(zhí)行預測編碼以搜索具有最小編碼誤差的分區(qū)類型:尺寸為2N_(d-1)×2N_(d-1)的一個分區(qū)、尺寸為2N_(d-1)×N_(d-1)的兩個分區(qū)、尺寸為N_(d-1)×2N_(d-1)的兩個分區(qū)、尺寸為N_(d-1)×N_(d-1)的四個分區(qū)。
即使在尺寸為N_(d-1)×N_(d-1)的分區(qū)類型998具有最小編碼誤差時,由于最大深度是d,因此深度為d-1的編碼單元CU_(d-1)不再被劃分到更低深度,并且構(gòu)成當前最大編碼單元900的編碼單元的編碼深度被確定為d-1并且當前最大編碼單元900的分區(qū)類型可被確定為N_(d-1)×N_(d-1)。另外,由于最大深度是d,因此最小編碼單元980的劃分信息不被設(shè)置。
數(shù)據(jù)單元999可以是當前最大編碼單元的“最小單元”。根據(jù)本發(fā)明的實施例的最小單元可以是通過將最小編碼單元980劃分為4份而獲得的矩形數(shù)據(jù)單元。通過重復地執(zhí)行編碼,視頻編碼設(shè)備100可通過比較根據(jù)編碼單元900的多個深度的多個編碼誤差來選擇具有最小編碼誤差的深度以確定編碼深度,并且將相應分區(qū)類型以及預測模式設(shè)置為編碼深度的編碼模式。
這樣,根據(jù)深度的最小編碼誤差在所有的深度1至d中被比較,并且具有最小編碼誤差的深度可被確定為編碼深度。編碼深度、預測單元的分區(qū)類型以及預測模式可被編碼并作為關(guān)于編碼模式的信息被發(fā)送。另外,由于編碼單元從深度0被劃分到編碼深度,因此僅該編碼深度的劃分信息被設(shè)置0,除了編碼深度之外的深度的劃分信息被設(shè)置為1。
視頻解碼設(shè)備200的圖像數(shù)據(jù)和編碼信息提取器220可提取并使用關(guān)于編碼單元900的編碼深度以及預測單元的信息以對分區(qū)912進行解碼。視頻解碼設(shè)備200可通過使用根據(jù)深度的劃分信息來將劃分信息是0的深度確定為編碼深度,并且使用關(guān)于相應深度的編碼模式的信息用于解碼。
圖10至圖12是用于描述根據(jù)本發(fā)明的實施例的編碼單元1010、預測單元1060和變換單元1070之間的關(guān)系的示圖。
編碼單元1010是最大編碼單元中的與由視頻編碼設(shè)備100確定的編碼深度相應的具有樹結(jié)構(gòu)的編碼單元。預測單元1060是每個編碼單元1010的預測單元的分區(qū),變換單元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中,一些編碼單元1014、1016、1022、1032、1048、1050、1052和1054通過劃分編碼單元而獲得。換句話說,編碼單元1014、1022、1050和1054中的分區(qū)類型的尺寸為2N×N,編碼單元1016、1048和1052中的分區(qū)類型的尺寸為N×2N,編碼單元1032的分區(qū)類型的尺寸為N×N。編碼單元1010的預測單元和分區(qū)小于或等于每個編碼單元。
以小于編碼單元1052的數(shù)據(jù)單元對變換單元1070中的編碼單元1052的圖像數(shù)據(jù)執(zhí)行變換或反變換。另外,變換單元1070中的編碼單元1014、1016、1022、1032、1048、1050和1052和1054在尺寸和形狀上與預測單元1060中的編碼單元1014、1016、1022、1032、1048、1050、1052和1054不同。換句話說,視頻編碼設(shè)備100和視頻解碼設(shè)備200可對相同編碼單元中的數(shù)據(jù)單元獨立地執(zhí)行幀內(nèi)預測、運動估計、運動補償、變換和反變換。
因此,對最大編碼單元的每個區(qū)域中的具有分層結(jié)構(gòu)的每個編碼單元遞歸地執(zhí)行編碼,以確定最佳編碼單元,因此可獲得具有遞歸樹結(jié)構(gòu)的編碼單元。編碼信息可包括關(guān)于編碼單元的劃分信息、關(guān)于分區(qū)類型的信息、關(guān)于預測模式的信息以及關(guān)于變換單元的尺寸的信息。
表1顯示可由視頻編碼設(shè)備100和視頻解碼設(shè)備200設(shè)置的編碼信息。
表1
視頻編碼設(shè)備100的輸出單元130可輸出關(guān)于具有樹結(jié)構(gòu)的編碼單元的編碼信息,并且視頻解碼設(shè)備200的圖像數(shù)據(jù)和編碼信息提取器220可從接收的比特流提取關(guān)于具有樹結(jié)構(gòu)的編碼單元的編碼信息。
劃分信息指示當前編碼單元是否被劃分為更低深度的編碼單元。如果當前深度d的劃分信息是0,則當前編碼單元不再被劃分為更低深度的深度是編碼深度,因此可針對編碼深度定義關(guān)于分區(qū)類型、預測模式以及變換單元的尺寸的信息。如果當前編碼單元根據(jù)劃分信息被進一步劃分,則對更低深度的四個劃分編碼單元獨立地執(zhí)行編碼。
預測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的一個??稍谒蟹謪^(qū)類型中定義幀內(nèi)模式和幀間模式,并且可僅在尺寸為2N×2N的分區(qū)類型中定義跳過模式。
關(guān)于分區(qū)類型的信息可指示通過對稱地劃分預測單元的高度或?qū)挾榷@得的尺寸為2N×2N、2N×N、N×2N和N×N的對稱分區(qū)類型、以及通過不對稱地劃分預測單元的高度或?qū)挾榷@得的尺寸為2N×nU、2N×nD、nL×2N和nR×2N的不對稱分區(qū)類型。可通過以1:n和n:1(其中,n是大于1的整數(shù))劃分預測單元的高度來分別地獲得尺寸為2N×nU和2N×nD的不對稱分區(qū)類型,可通過以1:n和n:1劃分預測單元的寬度來分別地獲得尺寸為nL×2N和nR×2N的不對稱分區(qū)類型。
變換單元的尺寸可被設(shè)置為幀內(nèi)模式中的兩種類型以及幀間模式中的兩種類型。換句話說,如果變換單元的劃分信息是0,則變換單元的尺寸可以是作為當前編碼單元的尺寸的2N×2N。如果變換單元的劃分信息是1,則可通過劃分當前編碼單元來獲得變換單元。另外,如果尺寸為2N×2N的當前編碼單元的分區(qū)類型是對稱分區(qū)類型,則變換單元的尺寸可以是N×N,如果當前編碼單元的分區(qū)類型是不對稱分區(qū)類型,則變換單元的尺寸可以是N/2×N/2。
關(guān)于具有樹結(jié)構(gòu)的編碼單元的編碼信息可包括與編碼深度相應的編碼單元、預測單元以及最小單元中的至少一個。與編碼深度相應的編碼單元可包括:包含相同編碼信息的預測單元和最小單元中的至少一個。
因此,通過對鄰近數(shù)據(jù)單元的編碼信息進行比較,來確定鄰近數(shù)據(jù)單元是否被包括在與編碼深度相應的相同編碼單元中。另外,通過使用數(shù)據(jù)單元的編碼信息來確定與編碼深度相應的相應編碼單元,因此最大編碼單元中的編碼深度的分布可被確定。
因此,如果基于鄰近數(shù)據(jù)單元的編碼信息預測當前編碼單元,則與當前編碼單元鄰近的較深層編碼單元中的數(shù)據(jù)單元的編碼信息可被直接參考和使用。
可選擇地,如果基于鄰近數(shù)據(jù)單元的編碼信息來預測當前編碼單元,則使用數(shù)據(jù)單元的編碼信息來搜索與當前編碼單元鄰近的數(shù)據(jù)單元,并且搜索到的鄰近編碼單元可被參考以用于預測當前編碼單元。
圖13是用于描述根據(jù)表1的編碼模式信息的編碼單元、預測單元和變換單元之間的關(guān)系的示圖。
最大編碼單元1300包括多個編碼深度的編碼單元1302、1304、1306、1312、1314、1316和1318。這里,由于編碼單元1318是編碼深度的編碼單元,因此劃分信息可被設(shè)置為0。關(guān)于尺寸為2N×2N的編碼單元1318的分區(qū)類型的信息可被設(shè)置為以下分區(qū)類型之一:尺寸為2N×2N的分區(qū)類型1322、尺寸為2N×N的分區(qū)類型1324、尺寸為N×2N的分區(qū)類型1326、尺寸為N×N的分區(qū)類型1328、尺寸為2N×nU的分區(qū)類型1332、尺寸為2N×nD的分區(qū)類型1334、尺寸為nL×2N的分區(qū)類型1336和尺寸為nR×2N的分區(qū)類型1338。
當分區(qū)類型被設(shè)置為對稱(即,分區(qū)類型1322、1324、1326或1328)時,如果變換單元的劃分信息(TU尺寸標記)為0,則設(shè)置尺寸為2N×2N的變換單元1342,如果TU尺寸標記為1,則設(shè)置尺寸為N×N的變換單元1344。
當分區(qū)類型被設(shè)置為不對稱(即,分區(qū)類型1332、1334、1336或1338)時,如果TU尺寸標記為0,則設(shè)置尺寸為2N×2N的變換單元1352,如果TU尺寸標記為1,則設(shè)置尺寸為N/2×N/2的變換單元1354。
以下,將詳細描述圖4的圖像編碼設(shè)備100的運動預測器420和運動補償器425以及圖5的圖像解碼設(shè)備200的運動補償單元550中執(zhí)行的運動預測和補償、以及圖4的熵編碼器450和圖5的熵解碼器520中執(zhí)行的運動信息的編碼和解碼。如上參照圖1至圖13所述,預測單元表示用于編碼單元的預測編碼的預測單元;以下,預測單元可表示預測單元本身或通過劃分預測單元而獲得的分區(qū)。
如上所述,以各種預測模式(諸如,幀內(nèi)預測模式、幀間預測模式和跳過模式)對預測單元進行編碼。
在幀間預測模式下,通過單向預測或雙向預測來預測當前預測單元。詳細地,通過單向預測對包括在P條帶中的預測單元進行預測,其中,在單向預測中僅使用包括在P條帶中的參考畫面列表(List 0)中所包括的參考畫面(L0畫面)和參考畫面列表(List 1)中所包括的參考畫面(L1畫面)中的一個。使用包括在參考畫面列表(List 0)中的參考畫面(L0畫面)的預測方法稱為“L0預測”,使用包括在參考畫面列表(List 1)中的參考畫面(L1畫面)的預測方法稱為“L1預測”。在參考畫面列表(List 0)中,以從最近的過去的畫面到其前一畫面的順序分配參考畫面索引,隨后,以從最接近的將來的畫面到其下一畫面的順序分配參考畫面索引。另一方面,在參考畫面列表(List 1)中,與參考畫面列表(List 0)相反,以從最接近的將來的畫面到其下一畫面的順序分配參考畫面索引,隨后,以從最近的過去的畫面到其前一畫面的順序分配參考畫面索引。
通過單向預測或雙向預測對包括在B條帶中的預測單元進行預測,其中,在雙向預測中使用包括在參考畫面列表(List 0)中的參考畫面(L0畫面)和包括在參考畫面列表(List 1)中的參考畫面(L1畫面)的均值。在運動預測器420中執(zhí)行的雙向預測模式中,可使用任意兩個參考畫面而不限于當前畫面的前一參考畫面和隨后的參考畫面,并且雙向預測模式還可稱為bipredictive模式。
可對通過對根據(jù)每個預測模式獲得的預測值進行編碼而獲得的代價進行比較,并可將具有最小代價的預測模式確定為最終的預測模式。當對代價進行比較時,可基于率失真確定將應用于當前預測單元的最終的預測模式。
為了在解碼器端產(chǎn)生幀間預測的預測單元的預測值,將發(fā)送運動信息,諸如,針對每個幀間預測的預測單元指示哪一畫面正被參考的參考畫面信息、運動矢量信息和預測方向。
根據(jù)本發(fā)明的實施例,可使用以下模式對運動信息進行編碼:1)第一運動信息編碼模式(以下,稱為“高級運動矢量預測(AMVP)”模式),在第一運動信息編碼模式中,分別對預測單元的運動矢量預測索引、預測模式矢量和原始運動矢量之間的差、參考畫面信息和預測方向信息進行編碼和發(fā)送;2)作為合并模式的第二運動信息編碼模式(以下,稱為“合并模式”),在合并模式中,周邊預測單元的運動信息用作當前預測單元的運動信息,并且將標記(合并標記)和索引(合并索引)中的一個編碼為預測單元的運動信息,其中,所述標記(合并標記)指示模式是否相應于合并模式,所述索引(合并索引)指示將攜帶運動信息的周邊預測單元之一。關(guān)于從AMVP模式和合并模式中選擇用于對預測單元的運動信息進行編碼的模式,可通過對根據(jù)每個模式產(chǎn)生的RD代價進行比較來選擇具有較小的代價的模式。
在編碼器側(cè),當在AMVP模式下對當前預測單元的運動信息進行編碼時,將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)設(shè)置為0,并對預測單元的運動矢量預測索引、運動矢量預測和原始運動矢量之間的差、參考畫面信息和預測方向信息進行編碼并將其發(fā)送到解碼側(cè)。在解碼器端,如果指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)被設(shè)置為0,則確定當前預測單元的運動信息在AMVP模式下被編碼,并從比特流獲得預測單元的運動矢量預測索引、運動矢量預測和原始運動矢量之間的差、參考畫面信息和預測方向信息。
此外,在編碼器側(cè),當在合并模式下對當前預測單元的運動信息進行編碼時,將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)設(shè)置為1,并將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)和指示將攜帶運動信息的合并預測候選之一的索引(合并索引)發(fā)送到解碼器側(cè)。在解碼器側(cè),如果指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)被設(shè)置為1,則確定當前預測單元的運動信息被確定為在合并模式下被編碼,并從比特流獲得指示將攜帶運動信息的合并候選之一的索引(合并索引),并且使用合并索引確定的合并候選的運動信息(即,周邊單元的運動矢量、參考畫面信息和預測方向信息)在不進行任何改變的情況下用作當前預測單元的運動信息。
根據(jù)本發(fā)明的實施例的用于對運動信息進行編碼和解碼的方法和設(shè)備,使用默認運動信息產(chǎn)生當前預測單元的運動信息候選,其中,使用與當前預測單元時間或空間相關(guān)的預測單元的運動信息來獲得默認運動信息,如果默認運動信息少于預設(shè)的預定數(shù)量n(n是整數(shù)),則修改默認運動信息或?qū)㈩A設(shè)的運動信息添加到運動信息候選以便產(chǎn)生n個運動信息,并使用指示應用于當前預測單元的運動信息的索引執(zhí)行編碼或解碼作為當前預測單元的運動信息。
盡管在本說明書中描述集中于運動信息中的運動矢量信息的編碼,但本發(fā)明的實施例不限于此,并還可應用于除運動矢量信息以外的其他類型的運動信息(諸如,參考畫面信息或預測方向信息)的編碼。
以下,將詳細描述根據(jù)本發(fā)明的實施例的用于對預測單元的運動信息進行編碼的方法和設(shè)備以及用于對預測單元的運動信息進行解碼的方法和設(shè)備。
I.根據(jù)AMVP模式的運動信息的編碼
圖14a是示出根據(jù)本發(fā)明的實施例的運動信息編碼設(shè)備1400的結(jié)構(gòu)的框圖。參照圖14a,運動信息編碼設(shè)備1400包括運動矢量預測候選產(chǎn)生器1410和運動矢量編碼器1420。圖14a的運動信息編碼設(shè)備1400可包括在圖4的視頻編碼器400中。例如,圖4的運動預測器420可執(zhí)行圖14a的運動矢量預測候選產(chǎn)生器1410的功能,熵解碼器450可執(zhí)行圖14a的運動矢量編碼器1420的功能。然而,本發(fā)明的實施例不限于此,在圖14a的運動信息編碼設(shè)備1400中執(zhí)行的功能還可使用圖4的視頻解碼器400的其他組件或控制單元(未示出)來執(zhí)行。運動矢量預測候選產(chǎn)生器1410通過使用當前預測單元的周邊預測單元的運動矢量獲得運動矢量預測候選。具體地講,根據(jù)本發(fā)明的當前實施例的運動矢量預測候選產(chǎn)生器1410不論外部條件(諸如,當前預測單元的位置或周邊預測單元的運動信息)如何總是產(chǎn)生固定數(shù)量n(n是整數(shù))個運動矢量預測候選。如果包括在運動矢量預測候選中的運動矢量的數(shù)量小于預定數(shù)量n(n是整數(shù)),則運動矢量預測候選產(chǎn)生器1410可修改與當前預測單元時間相關(guān)或空間相關(guān)的預測單元的默認運動矢量預測,從而包括在運動矢量預測候選中的矢量的數(shù)量是n,或者可將包括零矢量的可選擇的運動矢量預測添加到運動矢量預測候選,從而產(chǎn)生總共n個運動矢量預測。稍后將描述如何產(chǎn)生運動矢量預測候選。
運動矢量編碼器1420從n個運動矢量預測候選中確定關(guān)于當前預測單元的運動矢量的運動矢量預測,并將指示運動矢量預測的索引信息編碼為當前預測單元的運動矢量信息。詳細地,運動矢量編碼器1420可將從0到(n-1)的運動矢量預測索引分配給所述n個運動矢量預測候選中的每個,并可將與當前預測單元的運動矢量預測相應的運動矢量預測索引編碼為當前預測單元的運動矢量信息。例如,當n=2時,即,在當前預測單元的運動矢量預測候選的數(shù)量固定為兩個時,假設(shè)沿L0方向和L1方向中的每個使用運動矢量預測候選產(chǎn)生器1410產(chǎn)生的兩個運動矢量預測候選是MVLX_Cand0和MVLX_Cand1(X是0或1),運動矢量編碼器1420將指示MVLX_Cand0的運動矢量預測索引設(shè)置為0并將指示MVLX_Cand1的運動矢量預測索引設(shè)置為1,并將與根據(jù)對當前預測單元進行編碼的結(jié)果而具有最小代價的運動矢量預測相應的索引編碼為當前預測單元的運動矢量信息。如上所述,當n=2時,可通過使用1比特的運動矢量預測索引來對當前預測單元的運動矢量信息進行編碼。
除運動矢量預測索引以外,運動矢量編碼器1420對當前預測單元的原始運動矢量和運動矢量預測之間的差、參考畫面信息和預測方向信息進行編碼,并將其添加到比特流。
如上所述,當在編碼器側(cè)基于預定的規(guī)則獲得固定數(shù)量的運動矢量預測候選并從編碼器側(cè)發(fā)送指示運動矢量預測候選之一的索引信息時,在解碼器側(cè),可基于與編碼器側(cè)相同的規(guī)則產(chǎn)生固定數(shù)量的運動矢量預測候選并可使用發(fā)送的索引信息確定當前預測單元的運動矢量預測。此外,在解碼器側(cè),可從比特流獲得原始運動矢量和運動矢量預測之間的差,并可通過將所述差與由預測運動矢量索引指示的運動矢量預測相加來恢復當前預測單元的運動矢量。此外,在解碼器側(cè),恢復的運動矢量以及從比特流獲得的參考畫面信息和預測方向信息(L0方向或L1方向)可用于產(chǎn)生當前預測單元的預測值。
以下,將詳細描述在AMVP中產(chǎn)生運動矢量預測候選的操作。
圖15是示出根據(jù)本發(fā)明的實施例的圖14a的運動矢量預測候選產(chǎn)生器1410的詳細結(jié)構(gòu)的框圖。
參照圖15,運動矢量預測候選產(chǎn)生器1410包括空間運動矢量預測候選產(chǎn)生器1510、時間運動矢量預測候選產(chǎn)生器1520、冗余去除單元1530和最終運動矢量預測候選產(chǎn)生器1540。
空間運動矢量預測候選產(chǎn)生器1510通過使用與當前預測單元空間相關(guān)的預測單元的運動信息來產(chǎn)生運動矢量預測候選。詳細地,空間運動矢量預測候選產(chǎn)生器1510包括第一空間運動矢量預測產(chǎn)生器1511和第二空間運動矢量預測產(chǎn)生器1512,其中,第一空間運動矢量預測產(chǎn)生器1511以預定順序依次搜索位于當前預測單元的左側(cè)的周邊預測單元以獲得第一空間運動矢量預測候選,第二空間運動矢量預測產(chǎn)生器1512以預定順序依次搜索位于當前預測單元上面的周邊預測單元以獲得第二空間運動矢量預測候選。
圖16示出根據(jù)本發(fā)明的實施例的在獲得當前預測單元1610的運動矢量預測時使用的周邊預測單元。
參照圖16,空間運動矢量預測候選產(chǎn)生器1510從位于當前預測單元1610的左側(cè)的周邊預測單元中,將位于當前預測單元1610的左下側(cè)的周邊預測單元A0 1621和位于所述位于左下側(cè)的周邊預測單元A0 1621的上側(cè)的周邊預測單元A1 1622的運動矢量中的可用的運動矢量,確定為第一空間運動矢量預測候選。此外,空間運動矢量預測候選產(chǎn)生器1510從位于當前預測單元1610的上側(cè)的周邊預測單元中,將位于當前預測單元1610的右上側(cè)的周邊預測單元B0 1631、位于所述位于右上側(cè)的周邊預測單元B0 1631的左側(cè)的周邊預測單元B1 1632以及位于當前預測單元1610的左上側(cè)的周邊預測單元B2的運動矢量中的可用的運動矢量,確定為第二空間運動矢量預測候選。
詳細地,第一空間運動矢量預測候選產(chǎn)生器1511依次檢查周邊預測單元A0 1621和A1 1622的運動矢量的可用性,并將找到具有可用運動矢量的周邊預測單元的運動矢量確定為第一空間運動矢量預測候選。運動矢量的可用性指周邊預測單元是否具有指示與當前預測單元相同的參考畫面列表中的相同的參考畫面的運動矢量。例如,如果當前預測單元1610的運動矢量是指示L0列表中的具有R0參考索引的參考畫面(L0R0畫面)的運動矢量,并且周邊預測單元A0 1621是幀內(nèi)預測的預測單元,具有指示包括在與當前預測單元1610不同的參考畫面列表中的參考畫面的運動矢量,或具有指示相同參考畫面列表的另一參考畫面的運動矢量,則周邊預測單元A0 1621被確定為不具有可用的運動矢量。如果周邊預測單元A1 1622具有指示與當前預測單元1610相同的參考畫面列表中的相同的參考畫面的運動矢量,則周邊預測單元A1 1622的運動矢量被確定為第一空間運動矢量預測候選。
類似地,第二空間運動矢量預測候選產(chǎn)生器1512依次檢查周邊預測單元B0 1631、周邊預測單元B1 1632和周邊預測單元B2 1633的運動矢量的可用性,并將指示與當前預測單元1610相同的參考畫面列表中的相同的參考畫面的周邊預測單元的運動矢量確定為第二空間運動矢量預測候選。
如果周邊預測單元中不存在具有可用運動矢量的周邊預測單元,則可對指示相同的參考畫面列表的另一參考畫面的周邊預測單元的運動矢量、或指示包括在另一參考畫面列表中的參考畫面的周邊預測單元的運動矢量進行縮放,并可將經(jīng)縮放的運動矢量用作當前預測單元的運動矢量預測候選。
圖17是根據(jù)本發(fā)明的實施例的用于解釋確定經(jīng)縮放的空間運動矢量預測候選的操作的參考示圖。
參照圖17,當前預測編碼單元1730的運動矢量MVL0_Cur指示L0R0畫面1720,其中,L0R0畫面1720是L0列表中的具有R0參考索引的參考畫面;周邊預測單元1735表示幀內(nèi)預測的預測單元;周邊預測單元A1 1736具有指示L1R0畫面1740的運動矢量mvL1_A1,其中,L1R0畫面1740是L1列表中的具有R0參考索引的參考畫面;周邊預測單元B0 1732表示幀內(nèi)預測的預測單元;周邊預測單元B1 1733具有指示L1R1畫面1750的運動矢量mvL1_B1,其中,L1R1畫面1750是L1列表中的具有R1參考索引的參考畫面;周邊預測單元B2 1734具有指示L0R1畫面1710的運動矢量mvL0_B2,其中,L0R1畫面1710是L0列表中的具有R1參考索引的參考畫面。在圖17中,當前預測單元1731的周邊預測單元中的任意一個不具有如當前預測單元1731的運動矢量mvL0_Cur的具有L0R0畫面1720的運動矢量。
如上所述,如果不存在具有指示與由當前預測單元1731的運動矢量指示的參考畫面相同的參考畫面的運動矢量的周邊預測單元,則空間運動矢量預測候選產(chǎn)生器1510可基于時間距離對幀間預測的預測單元的運動矢量進行縮放,并將經(jīng)縮放的運動矢量與運動矢量預測候選相加,其中,所述時間距離是指由周邊預測單元中的幀間預測的預測單元的運動矢量指示的參考畫面與由當前預測單元的運動矢量指示的參考畫面之間的時間距離。也就是說,空間運動矢量預測候選產(chǎn)生器1510可將周邊預測單元的運動矢量中的、指示與當前預測單元1731相同的參考畫面列表中的具有另一參考索引的參考畫面的周邊預測單元的運動矢量與運動矢量預測候選相加,或者如果存在指示與當前預測單元1731相同的參考畫面列表中的具有另一參考索引的參考畫面的周邊預測單元的任何運動矢量,則空間運動矢量預測候選產(chǎn)生器1510可添加指示與當前預測單元1731不同的另一參考畫面列表中的參考畫面的周邊預測單元的運動矢量。
例如,除幀內(nèi)預測的周邊預測單元A0 1735以外,空間運動矢量預測候選產(chǎn)生器1510可考慮當前畫面1730與由當前預測單元1731的運動矢量mvL0_Cur指示的L0R0畫面1720之間的時間距離、以及當前畫面1730與由周邊預測單元A1 1736的運動矢量mvL1_A1指示的L1R0畫面1740之間的時間距離,來對周邊預測單元A1 1736的運動矢量mvL1_A1進行縮放,并將經(jīng)縮放的運動矢量mvL1_A1’確定為第一空間運動矢量預測候選。
此外,代替指示L1R1畫面1750(L1R1畫面1750是另一參考畫面列表中的參考畫面)的周邊預測單元B1 1733的運動矢量mvL1_B1,空間運動矢量預測候選產(chǎn)生器1510可將指示L0R1畫面1710(L0R1畫面1710是與當前預測單元1731的運動矢量mvL0_Cur相同的參考畫面列表中的具有另一參考索引的參考畫面)的周邊預測單元B2 1734的運動矢量mvL0_B2縮放為第二空間運動矢量預測候選,以將經(jīng)縮放的運動矢量確定為第二空間運動矢量預測候選。也就是說,當確定周邊預測單元的將縮放的運動矢量時,空間運動矢量預測候選產(chǎn)生器1510可首先確定指示包括在與當前預測單元的運動矢量相同的參考畫面列表中的參考畫面的周邊預測單元的運動矢量,隨后,如果不存在指示包括在所述相同的參考畫面列表中的參考畫面的周邊預測單元的運動矢量,則空間運動矢量預測候選產(chǎn)生器1510可將指示包括在另一參考畫面列表中的參考畫面的周邊預測單元的運動矢量確定為將縮放的運動矢量。空間運動矢量預測候選產(chǎn)生器1510可考慮當前畫面1730與由當前預測單元1731的運動矢量mvL0_Cur指示的L0R0畫面1720之間的時間距離、以及當前畫面1730與由周邊預測單元B2 1734的運動矢量mvL0_B2指示的L1R0畫面1710之間的時間距離,來對周邊預測單元B1 1734的運動矢量mvL0_B2進行縮放,并將經(jīng)縮放的運動矢量mvL0_B2’確定為第二空間運動矢量預測候選。
同時,可考慮預定條件確定是否將上述經(jīng)縮放的運動矢量包括在空間運動矢量預測候選中。例如,僅在與當前預測單元1730的左側(cè)相鄰的周邊預測單元1735A0和1736A1之一被幀內(nèi)預測時,空間運動矢量預測候選產(chǎn)生器1510可對周邊預測單元B0 1732、B1 1733和B2 1734中的幀間預測的預測單元的運動矢量進行縮放,以便包括經(jīng)縮放的運動矢量作為第二空間運動矢量預測候選。換句話說,可根據(jù)是否滿足預設(shè)的預定條件來選擇性地確定是否將經(jīng)縮放的運動矢量包括在空間運動矢量預測候選中。預定條件不限于上述條件,并可以以各種方式設(shè)置。
圖18是根據(jù)本發(fā)明的實施例的用于解釋通過對周邊預測單元的運動矢量進行縮放來產(chǎn)生當前預測單元的運動矢量預測候選的方法的參考示圖。
如上所述,如果不存在具有與當前預測單元的運動矢量相同的運動矢量的周邊預測單元,即,如果不存在指示存在于相同的參考畫面中的具有相同的參考索引的參考畫面的運動矢量,則可對表示相同的參考畫面列表中的另一參考畫面的周邊預測單元(圖18的Bn預測單元)的運動矢量MV(Bn)進行縮放,或可對表示另一參考畫面列表中的參考畫面的周邊預測單元(圖18的An預測單元)的運動矢量MV(An)進行縮放,并可將經(jīng)縮放的運動矢量添加到當前預測單元的運動矢量預測候選。詳細地,在當前畫面與由運動矢量MVL0_Cur指示的參考畫面(L0R0畫面)之間的時間距離是d(cur),并且當前畫面與由Bn預測單元的運動矢量MV(Bn)指示的參考畫面(L0R1畫面)之間的時間距離是d(Bn)時,可根據(jù)如下等式:MV(Bn)’=MV(Bn)×{d(cur)/d(Bn)}對Bn預測單元的運動矢量MV(Bn)進行縮放,并將經(jīng)縮放的運動矢量MV(Bn)’添加到當前預測單元的運動矢量預測候選。類似地,在當前畫面與由An預測單元的運動矢量MV(An)指示的參考畫面(L1R1畫面)之間的時間距離是d(An)時,可根據(jù)如下等式:MV(An)’=MV(An)×{d(cur)/d(An)}對An預測單元的運動矢量MV(An)進行縮放,并可將經(jīng)縮放的運動矢量MV(An)’添加到當前預測單元的運動矢量預測候選。
返回參照圖15,冗余去除單元1530確定第一空間運動矢量預測候選與第二空間運動矢量預測候選是否相同,如果第一運動矢量預測候選與第二運動矢量預測候選相同,則可從運動矢量預測候選去除冗余的第二運動矢量預測候選以便僅將第一空間運動矢量預測包括在運動矢量預測候選中;如果第一空間運動矢量預測候選與第二空間運動矢量預測候選不相同,則第一空間運動矢量預測候選和第二空間運動矢量預測候選都保持在運動矢量預測候選中。
時間運動矢量預測候選產(chǎn)生器1520可將使用與當前預測單元時間相關(guān)的預測單元的運動矢量(即,先前編碼的先前畫面的預測單元中的與當前預測單元的位置相關(guān)的預測單元的運動矢量)產(chǎn)生的時間運動矢量預測添加到運動矢量預測候選。
圖19是根據(jù)本發(fā)明的實施例的用于解釋產(chǎn)生時間運動矢量預測的操作的參考示圖。
參照圖15和圖19,時間運動矢量預測候選產(chǎn)生器1520可通過對在當前畫面1910之前編碼的參考畫面1920的預測單元中的預測單元1924的運動矢量進行縮放來產(chǎn)生時間運動矢量預測,并將時間運動矢量預測添加到運動矢量預測候選,其中,預測單元1924位于參考畫面1920的預測單元1921的右下側(cè)與當前預測單元1911相同的位置處。如以上參照圖18所述,可基于由位于右下側(cè)的預測單元1924的運動矢量指示的參考畫面與由當前預測單元的運動矢量指示的參考畫面之間時間距離執(zhí)行對時間運動矢量預測進行縮放的操作。
如果位于右下側(cè)的預測單元1924被幀內(nèi)預測并因此其運動矢量不可用,則時間運動矢量預測候選產(chǎn)生器1520可通過對預測單元1921的運動矢量進行縮放來產(chǎn)生時間運動矢量預測,其中,預測單元1921在與當前預測單元1911的中心位置的點C 1911相同的位置處包括參考畫面1920的點C’1922。
包括在使用冗余去除單元1530去除了冗余的預測運動矢量候選中的運動矢量預測的數(shù)量可能小于固定的數(shù)量n。在以上示例中,如果位于與當前預測單元的上側(cè)或左側(cè)相鄰的所有周邊預測單元被幀內(nèi)預測,則通過空間運動矢量預測候選產(chǎn)生器1510和時間運動矢量預測候選產(chǎn)生器1520可能僅產(chǎn)生了少于n個的預測矢量候選。
如果包括在去除了冗余的運動矢量預測候選中的運動矢量的數(shù)量少于預設(shè)的固定數(shù)量n,則最終運動矢量預測候選產(chǎn)生器1540可將具有預設(shè)的分量至的預定的運動矢量添加到運動矢量預測候選,或?qū)⒕哂行薷牡哪J運動矢量預測值的運動矢量預測添加到運動矢量預測候選,直到包括在運動矢量預測候選中的運動矢量的數(shù)量達到n。所述預定的運動矢量可優(yōu)選為每個分量具有值0的零矢量。例如,當n=2,并且去除了時間和空間運動矢量預測的冗余的運動矢量預測候選僅具有一個運動矢量預測候選時,最終運動矢量預測產(chǎn)生器1540將零矢量(0,0)添加到運動矢量預測候選。
圖20a和圖20b示出根據(jù)本發(fā)明的實施例的指示當前預測單元的運動矢量預測的索引信息。參照圖20a和圖20b,示出了在n=2的情況下,即,當存在兩個將包括在預測運動矢量候選中的運動矢量預測時,針對包括在運動矢量預測候選中的每個運動矢量預測而設(shè)置的索引AMVP_idx。
在圖20a中,示出了設(shè)置為作為當前預測單元的運動矢量預測的沿L0方向的運動矢量預測候選的索引,在圖20b中,示出了設(shè)置為作為當前預測單元的運動矢量預測的沿L1方向的運動矢量預測候選的索引。如圖20a和圖20b所示,當n=2時,從0到1的運動矢量預測索引AMVP_idx被分配給運動矢量預測候選mvLX_Cand0或mvLX_Cand1(X是0或1)中的每個,分配給當前預測單元的運動矢量預測的索引AMVP_idx被編碼為當前預測單元的運動矢量信息。
運動矢量預測索引AMVP_idx可優(yōu)選地被分配為使得相對小的值被分配為使用與當前預測單元時間和空間相關(guān)的預測單元的運動矢量獲得的運動矢量預測的索引,在分配給時間運動矢量預測候選和空間運動矢量預測候選的索引之后的值可優(yōu)選地被分配給可選擇的運動矢量預測,其中,可選擇的運動矢量預測被添加以便修改默認運動矢量預測候選,或者可選擇的運動矢量預測像零矢量一樣被添加從而運動矢量預測候選的總數(shù)量達到n。此外,可使用截斷一元二值化方法對運動矢量預測索引AMVP_idx進行編碼。
如上所述,在AMVP模式下,產(chǎn)生固定數(shù)量n個運動矢量預測候選,將從0到(n-1)的運動矢量預測索引AMVP_idx分配給所述n個運動矢量預測候選中的每個,并作為當前預測單元的運動矢量信息,對運動矢量預測索引AMVP_idx、運動矢量預測和原始運動矢量之間的差、參考畫面信息和預測方向信息進行編碼并將其發(fā)送到解碼器端,其中,運動矢量預測索引AMVP_idx指示在當前預測單元的運動矢量的預測中使用的運動矢量預測候選。
II.根據(jù)合并模式的運動信息的編碼
在合并模式下,使用包括在合并候選中的預測單元的運動信息對當前預測單元的運動信息進行編碼,并將指示(編碼模式)是否是合并模式的標記(合并標記)以及指示將攜帶運動信息的合并候選之一的索引(合并索引)發(fā)送到解碼器端。
圖14b是示出根據(jù)本發(fā)明的另一實施例的運動信息編碼設(shè)備1450的結(jié)構(gòu)的框圖。
參照圖14b,運動信息編碼設(shè)備1450包括合并候選產(chǎn)生器1460和運動信息編碼器1470。
合并候選產(chǎn)生器1460首先搜索當前預測單元的周邊預測單元以通過使用周邊預測單元中的每個的運動信息產(chǎn)生合并候選。找到的時間和空間相關(guān)的周邊預測單元與如上所述的在AMVP模式下為了產(chǎn)生運動矢量預測候選而搜索到的預測單元類似。然而,合并模式在搜索空間相關(guān)的周邊預測單元的順序方面與AMVP模式不同。詳細地,參照圖14b和圖16,合并候選產(chǎn)生器1460以周邊預測單元A1 1622、B1 1632、B0 1631、A0 1621和B2 1633的順序搜索周邊預測單元,以檢查是否將周邊預測單元中的每個的運動信息包括在合并候選中。合并候選產(chǎn)生器1460以上述順序搜索每個預測單元,并去除包括在另一分區(qū)中的預測單元或去除具有重復的運動信息的預測單元,并通過使用剩余的預測單元的運動信息來產(chǎn)生合并候選。具體地講,合并候選產(chǎn)生器1460產(chǎn)生總是固定數(shù)量n(n是整數(shù))的合并候選。如果包括在合并候選中的運動信息的數(shù)量小于預定數(shù)量n,則合并候選產(chǎn)生器1460將可選擇的合并候選添加到合并候選,從而包括在合并候選中的運動信息的數(shù)量達到n。如稍后將描述的,作為可選擇的合并候選,可使用在產(chǎn)生時間運動矢量預測時使用的預測單元的運動信息或零矢量的運動信息。
運動信息編碼器1470可從n個合并候選中確定將用作當前預測單元的運動信息的合并候選,并對指示確定的合并候選的索引(合并索引)和指示編碼模式是否是合并模式的標記(合并標記)進行編碼。
圖21a和圖21b是根據(jù)本發(fā)明的實施例的用于解釋從合并候選去除的周邊預測單元的參考示圖。
參照圖21a,假設(shè)預測單元PU0 2110和預測單元PU1 2120是包括在編碼單元2100中的預測單元。由于預測單元PU1 2120不是編碼單元2100的第一預測單元,因此從合并候選排除作為包括在預測單元PU0 2110中的預測單元的周邊預測單元A1 2115的運動信息。除周邊預測單元A1 2115以外的剩余的周邊預測單元B1、B0、A0和B2包括在合并候選中。從合并候選排除不具有運動信息的那些周邊預測單元B1、B0、A0和B2。
類似地,參照圖21b,假設(shè)預測單元PU0 2140和預測單元PU1 2150是包括在編碼單元2130中的預測單元。由于預測單元PU 2150不是編碼單元2130的第一預測單元,因此,當產(chǎn)生預測單元PU1 2150的合并候選時,從合并候選排除作為包括在預測單元PU 2140中的預測單元的周邊預測單元B1的運動信息,并將剩余的周邊預測單元A1、B0、A0和B2的運動信息包括在合并候選中。
合并候選產(chǎn)生器1460基于周邊預測單元A1、B1、B0、A0和B2的運動信息的可用性、或周邊預測單元A1、B1、B0、A0和B2是否包括在另一分區(qū)中,針對當前預測單元產(chǎn)生合并候選,并隨后去除合并候選中存在的運動信息的冗余。
圖22是根據(jù)本發(fā)明的實施例的用于解釋去除包括在合并候選中的運動信息的冗余的操作的參考示圖。
參照圖16和圖22,如果首先找到的預測單元A1的運動信息包括在合并候選中,則合并候選產(chǎn)生器1460將預測單元A1的運動信息保持在合并候選中。合并候選產(chǎn)生器1460沿圖22中示出的箭頭方向檢查運動信息的冗余。例如,如果預測單元B1的運動信息和預測單元A1的運動信息被比較發(fā)現(xiàn)為重復,則合并候選產(chǎn)生器1460從合并候選去除預測單元B1的運動信息。此外,合并候選產(chǎn)生器1460對預測單元B1的運動信息和預測單元A1的運動信息進行比較,并且如果兩個運動信息重復,則合并候選產(chǎn)生器1460從合并候選去除預測單元B1的運動信息。類似地,當預測單元B0包括與預測單元B1的運動信息相同的運動信息時,合并候選產(chǎn)生器1460從合并候選去除預測單元B0的運動信息;當預測單元A0包括與預測單元A1的運動信息相同的運動信息時,合并候選產(chǎn)生器1460從合并候選去除預測單元A0的運動信息;當預測單元B2包括與預測單元B1和預測單元A1中的一個的運動信息相同的運動信息時,合并候選產(chǎn)生器1460從合并候選去除預測單元B2的運動信息,從而去除存在于合并候選中的運動信息的冗余。
此外,如上述的圖19所示,合并候選產(chǎn)生器1460可將在AMVP模式下產(chǎn)生時間運動矢量預測候選時使用的預測單元1921和1924的運動信息包括在合并候選中。
如果包括周邊預測單元的運動信息或在產(chǎn)生時間運動矢量預測候選時使用的預測單元的運動信息的合并候選的數(shù)量超過固定數(shù)量n,則合并候選產(chǎn)生器1460可從首先產(chǎn)生的合并候選選擇n個合并候選。如果合并候選的數(shù)量少于固定數(shù)量n,則合并候選產(chǎn)生器1460可將可選擇的合并候選添加到合并候選。
圖23至圖25是根據(jù)本發(fā)明的實施例的用于解釋將可選擇的合并候選添加到合并候選的操作的參考示圖。
參照圖23,假設(shè)使用例如周邊預測單元的運動信息或在確定時間運動矢量預測時使用的預測單元的運動信息產(chǎn)生的原始合并候選(2300)如表2300所示。為了B條帶的雙向預測的預測單元的運動信息的編碼,合并候選產(chǎn)生器1460可將包括在原始合并候選2300中的運動信息2311和2312組合來將關(guān)于雙向預測的運動信息2313添加到原始合并候選2300,從而產(chǎn)生更新的合并候選2310。如果當前預測單元是使用參考畫面列表(list 0)中具有參考索引ref0的參考畫面以及參考畫面列表(list 1)中的具有參考索引ref0的參考畫面而雙向預測的,則可將索引Merge_idx=3編碼為當前預測單元的運動信息。在解碼器側(cè),以與在編碼器側(cè)相同的方式產(chǎn)生和更新合并候選,隨后可使用包括在比特流中的合并索引確定當前預測單元的運動信息,并可使用確定的運動信息產(chǎn)生當前預測單元的預測值。
參照圖24,假設(shè)使用例如周邊預測單元的運動信息或在確定時間運動矢量預測時使用的預測單元的運動信息產(chǎn)生的原始合并候選(2400)如表2400所示。為了B條帶的雙向預測的預測單元的運動信息的編碼,合并候選產(chǎn)生器1460可對包括在原始合并候選中的運動信息2411和2412進行縮放,并將通過縮放而產(chǎn)生的關(guān)于雙向預測的運動信息2413和2414添加到原始合并候選2400,從而產(chǎn)生更新的合并候選2410。例如,合并候選產(chǎn)生器1460可對包括在與索引Merge_idx=0相應的運動信息2411中的運動矢量mvL0_A進行縮放,以產(chǎn)生指示參考畫面L1R1的運動信息2413,其中,參考畫面L1R1與包括在另一參考畫面列表中的參考畫面具有相同的參考索引。
參照圖25,假設(shè)使用例如周邊預測單元的運動信息或在確定時間運動矢量預測時使用的預測單元的運動信息產(chǎn)生的原始合并候選(2500)如表2500所示。為了B條帶的雙向預測的預測單元的運動信息的編碼,合并候選產(chǎn)生器1460保持包括在原始合并候選(2500)中的運動信息的參考畫面信息,但將具有零矢量的運動信息2511和2512新添加到原始合并候選2500,從而產(chǎn)生更新的合并候選2510。
如上所述,合并候選產(chǎn)生器1460可將包括在原始合并候選中的運動信息結(jié)合,對運動矢量進行縮放,或?qū)⒕哂辛闶噶康倪\動信息添加到原始合并候選,從而n個運動信息包括在合并候選中。
當包括n個運動信息的合并候選如上所述地被產(chǎn)生時,運動信息編碼器1470為n個運動信息中的每個設(shè)置從0至(n-1)的合并索引,并將指示在當前預測單元的編碼中使用的運動信息的合并索引、以及指示是否應用合并模式的標記(合并標記)編碼為當前預測單元的運動信息。
圖26是根據(jù)本發(fā)明的實施例的對運動信息進行編碼的方法的流程圖。
參照圖26,在操作2610,運動預測器420通過對當前預測單元執(zhí)行運動預測來獲得當前預測單元的運動矢量。
在操作2620,運動矢量預測候選產(chǎn)生器1410通過使用與當前預測單元時間相關(guān)的預測單元的運動矢量和與當前預測單元空間相關(guān)的預測單元的運動矢量,獲得運動矢量預測候選。如上述的圖16所示,運動矢量預測候選產(chǎn)生器1410檢查與左側(cè)相鄰的周邊預測單元A0和A1的運動矢量、以及與上側(cè)相鄰的周邊預測單元B0、B1和B2的運動矢量的可用性,并將可用的周邊預測單元的運動矢量包括在運動矢量預測候選中。如上所述,如果沒有可用的周邊預測單元的運動矢量,則通過對幀間預測的周邊預測單元的運動矢量進行縮放而獲得的運動矢量可包括在運動矢量預測候選中。
在操作2630中,當包括在運動矢量預測候選中的運動信息的數(shù)量小于預定數(shù)量n(n是整數(shù))時,運動矢量預測候選產(chǎn)生器1410將可選擇的運動矢量預測添加到運動矢量預測候選,從而包括在運動矢量預測候選中的運動矢量的數(shù)量達到n。如上所述,通過修改默認運動矢量預測而獲得的運動矢量或零矢量可用作可選擇的運動矢量預測。
在操作2640,運動矢量編碼器1420從n個運動矢量預測候選確定關(guān)于當前預測單元的運動矢量的運動矢量預測。在操作S2650,運動矢量編碼器1420將指示運動矢量預測的索引信息AMVP_idx編碼為當前預測單元的運動矢量信息。另外,除指示運動矢量預測的索引信息AMVP_idx以外,發(fā)送當前預測單元的實際運動矢量和運動矢量預測之間的差、參考畫面信息和預測信息。
同時,圖14a的運動信息編碼器1400的預測運動候選產(chǎn)生器1410可在將可選擇的運動矢量預測包括在候選組中時減少冗余檢查,以便減少檢查操作的復雜度。
此外,盡管在上述本發(fā)明的實施例中假設(shè)了在編碼器端和解碼器端使用了預設(shè)的固定數(shù)量n個運動矢量預測候選的示例,但本發(fā)明的實施例不限于此,可將運動矢量預測候選的數(shù)量添加到將發(fā)送的序列參數(shù)集(SPS)、畫面參數(shù)集(PPS)或條帶頭。此外,可基于在當前預測單元之前先前處理的周邊預測單元中的被幀間預測為具有運動矢量的數(shù)量A個的預測單元,適應性地確定運動矢量預測候選的數(shù)量,或者可將數(shù)量A和預設(shè)的固定數(shù)量n中的較小的值設(shè)置為運動矢量預測候選的數(shù)量。
III.AMVP模式下的運動信息的解碼
如上所述,當在AMVP模式下對當前預測單元的運動信息進行編碼時,將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)設(shè)置為0。在解碼器端,如果指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)被設(shè)置為0,則確定當前預測單元的運動信息在AMVP模式下被編碼,并且從比特流獲得當前預測單元的運動矢量預測索引AMVP_idx、運動矢量預測和原始運動矢量之間的差、參考畫面信息和預測方向信息。
圖27a是示出根據(jù)本發(fā)明的實施例的運動信息解碼設(shè)備2700的結(jié)構(gòu)的框圖。
參照圖27a,運動矢量預測解碼設(shè)備2700包括熵解碼器2710、運動矢量預測候選產(chǎn)生器2720和運動矢量解碼器2730。
熵解碼器2710從比特流獲得當前預測單元的運動矢量預測索引AMVP_idx、運動矢量預測和原始運動矢量之間的差、參考畫面信息和預測方向信息。
如同上述的圖14a的運動矢量預測候選產(chǎn)生器1410,運動矢量預測候選產(chǎn)生器2720通過使用當前預測單元的周邊預測單元的運動矢量獲得運動矢量預測候選,并且如果包括在運動矢量預測中的運動矢量的數(shù)量少于預定數(shù)量n(n是整數(shù)),則運動矢量預測候選產(chǎn)生器2720將可選擇的運動矢量預測添加到運動矢量預測候選,從而包括在運動矢量預測候選中的運動矢量的數(shù)量是n。
運動矢量解碼器2730使用從比特流獲得的當前預測單元的運動矢量預測索引(AMVP_idx)來從使用運動矢量預測候選產(chǎn)生器2720產(chǎn)生的運動矢量預測候選獲得一個運動矢量預測。此外,運動矢量解碼器2730通過將從比特流獲得的運動矢量預測與原始運動矢量之間的差添加到運動矢量預測來恢復當前預測單元的運動矢量。
IV.在合并模式下的運動信息的解碼
當如上所述在合并模式(其中,周邊預測單元的運動信息用作當前預測單元的運動信息)下對當前預測單元的運動信息進行編碼時,在編碼器端將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)設(shè)置為1,并將指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)以及指示將攜帶運動信息的合并候選中的一個的索引(合并索引)發(fā)送到解碼器端。在解碼器端,如果指示應用于當前預測單元的模式是否是合并模式的標記(合并標記)被設(shè)置為1,則確定當前預測單元的運動信息在合并模式下被編碼,并獲得來自比特流的指示將攜帶運動信息的合并候選之一的索引(合并索引),并將使用合并索引確定的合并候選的運動信息(即,周邊預測單元的運動矢量、參考畫面信息和預測方向信息)用作當前預測單元的運動信息。
圖27b是示出根據(jù)本發(fā)明的另一實施例的運動信息解碼設(shè)備2750的結(jié)構(gòu)的框圖。
參照圖27b,運動信息解碼設(shè)備2750包括熵解碼器2760、合并候選產(chǎn)生器2770和運動矢量解碼器2780。
熵解碼器2760從比特流獲得指示應用于當前預測單元的模式是否與合并模式相應的標記(合并標記)以及指示將攜帶運動信息的合并候選之一的索引(合并索引)。
如上述圖14b的合并候選產(chǎn)生器1460,運動矢量預測候選產(chǎn)生器2720搜索當前預測單元的周邊預測單元以將周邊預測單元中的每個的運動信息、在確定時間運動矢量預測時使用的預測單元的運動信息以及在原始合并候選中包括的運動信息結(jié)合,以對運動矢量進行縮放,或添加具有零矢量的運動信息,從而產(chǎn)生包括n個運動信息的合并候選。
當包括n個運動信息的合并候選被產(chǎn)生時,運動信息解碼器2780通過使用由索引(合并索引)指示的合并候選的運動信息設(shè)置當前預測單元的運動信息,其中,所述索引(合并索引)指示從比特流獲得的合并候選之一。在合并模式下,與AMVP模式不同,包括在合并候選中的運動矢量在不進行任何改變的情況下用作當前預測單元的運動矢量。
圖28是根據(jù)本發(fā)明的實施例的對運動矢量進行解碼的方法的流程圖。
參照圖28,在操作2810,運動矢量預測候選產(chǎn)生器2720通過使用與當前預測單元時間相關(guān)的預測單元的運動矢量和與當前預測單元空間相關(guān)的預測單元的運動矢量獲得運動矢量預測候選。如上所述,運動矢量預測候選產(chǎn)生器2720與圖14a的運動矢量預測候選產(chǎn)生器1410以相同的方式產(chǎn)生運動矢量預測候選。
在操作2820,如果包括在運動矢量預測候選中的運動矢量的數(shù)量小于預定數(shù)量n(n是整數(shù)),則運動矢量預測候選產(chǎn)生器2720將可選擇的運動矢量添加到運動矢量預測候選,從而包括在運動矢量預測候選中的運動矢量的數(shù)量是預定數(shù)量n。如上所述,預設(shè)的固定數(shù)量n個運動矢量預測候選被產(chǎn)生,使得在沒有修改指示運動矢量預測候選的索引(AMVP_idx)的情況下,無需任何周邊信息即可進行獨立的處理。
在操作2830,熵編碼器2710從比特流獲得指示運動矢量預測候選中應用于當前預測單元的運動矢量預測的索引。
在操作2840,運動矢量解碼器2730通過使用由獲得的索引指示的運動矢量預測恢復當前預測單元的運動矢量。詳細地,運動矢量解碼器2730通過將使用指示包括在比特流中的運動矢量預測的索引AMVP_idx確定的運動矢量預測與包括在比特流中的運動矢量預測和原始運動矢量之間的差相加,來恢復當前預測單元的運動矢量。如上所述,在AMVP模式下,除如上所述的關(guān)于運動矢量的信息以外,比特流中還包括參考畫面信息和預測方向信息。在合并模式下,包括在合并候選中的運動信息在不進行任何改變的情況下用于恢復當前預測單元的運動信息。
本發(fā)明還可被實施為計算機可讀記錄介質(zhì)上的計算機可讀代碼。計算機可讀記錄介質(zhì)是可存儲隨后可由計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲裝置。計算機可讀記錄介質(zhì)的示例包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲裝置等。計算機可讀記錄介質(zhì)還可分布于聯(lián)網(wǎng)的計算機系統(tǒng),從而可以以分布的方式存儲和執(zhí)行計算機可讀代碼。
盡管已參照本發(fā)明的示例性實施例具體地示出和描述了本發(fā)明,但本領(lǐng)域的普通技術(shù)人員將理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可在形式和細節(jié)上進行各種改變。因此,本發(fā)明的范圍不由本發(fā)明的詳細描述來限定,而是由權(quán)利要求來限定,在所述范圍內(nèi)的所有不同將被解釋為包括在本發(fā)明中。