專利名稱:視頻數(shù)據(jù)的解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對視頻數(shù)據(jù)解碼的方法,更具體而言,涉及一種在合并模式中導(dǎo)出運(yùn)動信息,產(chǎn)生預(yù)測塊和殘余塊以獲得重構(gòu)塊的方法。
背景技術(shù):
在H.264/MPEG-4AVC中,幅畫面被分成多個宏塊,利幀間預(yù)測或幀內(nèi)預(yù)測產(chǎn)生預(yù)測塊,從而對每個宏塊編碼。變換初始塊和預(yù)測塊之間的殘余塊以產(chǎn)生變換塊,利用量化參數(shù)和預(yù)定量化矩陣對變換塊進(jìn)行量化。利用掃描模式掃描量化塊的量化系數(shù)并隨后進(jìn)行熵編碼。針對每個宏塊調(diào)節(jié)量化參數(shù),并利用先前的量化參數(shù)對其進(jìn)行預(yù)測性編碼。在幀間預(yù)測模式中,使用運(yùn)動估計來消除相繼圖畫之間的時間冗余度。為了檢測時間冗余度,搜索一個或多個參考圖畫,以估計當(dāng)前塊的運(yùn)動,并利用運(yùn)動信息執(zhí)行運(yùn)動補(bǔ)償以產(chǎn)生預(yù)測塊。在預(yù)定范圍的參考圖畫中搜索非常類似于初始塊的塊。如果搜索到類似于初始塊的塊,對初始塊和搜索到的塊之間的殘余塊和運(yùn)動信息編碼并發(fā)送到解碼側(cè)。運(yùn)動信息至少包括一個參考圖畫索引和至少一個運(yùn)動矢量。對運(yùn)動矢量進(jìn)行預(yù)測性地編碼。亦即,利用相鄰塊的運(yùn)動矢量產(chǎn)生運(yùn)動矢量預(yù)測器,對運(yùn)動矢量和運(yùn)動矢量預(yù)測器之間的差異編碼以減少對運(yùn)動矢量編碼所需的編碼比特量。在H.264中,左運(yùn)動矢量、上運(yùn)動矢量和左上運(yùn)動矢量的中值被用作運(yùn)動矢量預(yù)測器。不過,如果當(dāng)前塊的運(yùn)動與相鄰塊的運(yùn)動不同,根據(jù)H.264的運(yùn)動矢量的編碼效率下降。而且,在運(yùn)動信息與相鄰塊之一相同時,H.264的運(yùn)動矢量預(yù)測器降低編碼效率。此外,如果使用編碼單元的各種大小進(jìn)行幀間預(yù)測,針對每個編碼單元調(diào)節(jié)量化參數(shù)導(dǎo)致對量化參數(shù)編碼所需的編碼比特增加,量化參數(shù)和先前量化參數(shù)之間的相關(guān)性變得比H.264更弱。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明涉及一種推導(dǎo)運(yùn)動信息并產(chǎn)生重構(gòu)塊的方法。技術(shù)方案本發(fā)明的一個方面提供了一種在合并模式中對視頻數(shù)據(jù)解碼的方法,包括:利用可用的空間合并候選(spatial merge candidate)和時間合并候選(temperal mergecandidate)構(gòu)造合并候選列表,利用合并索引和合并候選列表導(dǎo)出運(yùn)動信息(motioninformation),利用所述運(yùn)動信息產(chǎn)生預(yù)測塊(prediction block),通過利用量化參數(shù)和量化矩陣對量化塊進(jìn)行逆量化并通過對逆量化塊進(jìn)行逆變換來產(chǎn)生殘余塊(residualblock),以及利用所述殘余塊和所述預(yù)測塊產(chǎn)生重構(gòu)塊。有利效果根據(jù)本發(fā)明的方法利用可用的空間合并候選和時間合并候選構(gòu)造合并候選列表,利用合并索引和合并候選列表導(dǎo)出運(yùn)動信息,利用所述運(yùn)動信息產(chǎn)生預(yù)測塊,通過利用量化參數(shù)和量化矩陣對量化塊進(jìn)行逆量化并通過對逆量化塊進(jìn)行逆變換來產(chǎn)生殘余塊,以及利用所述殘余塊和所述預(yù)測塊產(chǎn)生重構(gòu)塊。針對每個量化單元產(chǎn)生量化參數(shù),且針對每個圖畫調(diào)節(jié)量化單元的最小大小。因此,通過在相鄰塊和時間塊之一選擇運(yùn)動信息的預(yù)測器,運(yùn)動信息的編碼效率。而且,通過針對每個量化單元自適應(yīng)地調(diào)節(jié)量化參數(shù)并利用多個相鄰量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器來改進(jìn)殘余塊的編碼效率。
圖1是根據(jù)本發(fā)明的圖像編碼設(shè)備的方框圖;圖2是示出了根據(jù)本發(fā)明對視頻數(shù)據(jù)編碼的流程的流程圖;圖3是流程圖,示出了根據(jù)本發(fā)明在合并模式中對運(yùn)動信息編碼的方法;圖4是示意圖,示出了根據(jù)本發(fā)明的空間合并候選塊(spatial mergecandidateblock)的位置;圖5是示意圖,示出了根據(jù)本發(fā)明的時間合并候選塊(temporal mergecandidateblock)的位置;圖6是根據(jù)本發(fā)明的圖像解碼設(shè)備的方框圖;圖7是流程圖,示出了根據(jù)本發(fā)明在幀間預(yù)測模式中對圖像解碼的方法;圖8是流程圖,示出了在合并模式中導(dǎo)出運(yùn)動信息的方法;圖9是流程圖,示出了根據(jù)本發(fā)明在幀間預(yù)測模式中產(chǎn)生殘余塊的流程;圖10是流程圖,示出了根據(jù)本發(fā)明導(dǎo)出量化參數(shù)的方法。
具體實施例方式在下文中,將參考附圖詳細(xì)描述本發(fā)明的各實施例。不過,本發(fā)明不限于下文公開的示范性實施例,而是可以通過各種方式實施。因此,本發(fā)明很多其他修改和變化都是可能的,要理解的是,在所公開的概念范圍之內(nèi),可以通過與具體所述不同的方式實踐本發(fā)明。根據(jù)本發(fā)明的圖像編碼設(shè)備和圖像解碼設(shè)備可以是用戶終端,例如個人計算機(jī)、個人移動終端、移動多媒體播放器、智能電話或無線通信終端。圖像編碼裝置和圖像解碼裝置可以包括用于和各種裝置通信的通信單元、用于存儲對圖像編碼或解碼的各種程序和數(shù)據(jù)的存儲器。圖1是根據(jù)本發(fā)明的圖像編碼設(shè)備100的方框圖。參考圖1,根據(jù)本發(fā)明的圖像編碼設(shè)備100包括圖畫分割單元110、幀內(nèi)預(yù)測單元120、巾貞間預(yù)測單元130、變換單元140、量化單元150、掃描單元160、熵編碼單元170、逆量化/變換單元180、后期處理單元190和圖畫存儲單元195。圖畫分割單元110將圖畫或切片劃分成多個最大編碼單元(IXU),并將每個IXU劃分成一個或多個編碼單元。IXU的大小可以是32X32、64X64或128X128。圖畫分割單元110確定每個編碼單元的預(yù)測模式和分割模式。LQJ包括一個或多個編碼單元。LQJ具有遞歸的四叉樹(recursive quadtree)結(jié)構(gòu),以指定LCU的分割結(jié)構(gòu)。用于指定編碼單元的最大大小和最小大小的參數(shù)包括在序列參數(shù)集中。由一個或多個分裂編碼單元標(biāo)志(split_cu_flag)指定分割結(jié)構(gòu)。編碼單元的大小是2NX2N。如果IXU的大小是64X64,最小編碼單元(SOT)的大小是8X8,編碼單元的大小可以是64X64、32X32、16X16或8X8。編碼單元包括一個或多個預(yù)測單元。在幀內(nèi)預(yù)測中,預(yù)測單元的大小是2NX2N或NXN0在幀間預(yù)測中,預(yù)測單元的大小由分割模式指定。如果編碼單元被對稱地分割,分割模式是2NX2N、2NXN、NX2N和NXN之一。如果編碼單元被不對稱地分割,分割模式是2NXnU、2NXnD、nLX2N 和 nRX2N 之一。編碼單元包括一個或多個變換單元。變換單元具有遞歸的四叉樹結(jié)構(gòu),以指定編碼單元的分割結(jié)構(gòu)。由一個或多個分裂變換單元標(biāo)記(split_tu_flag)指定分割結(jié)構(gòu)。用于指定變換單元的最大大小和最小大小的參數(shù)包括在序列參數(shù)集中。幀內(nèi)預(yù)測單元120確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式并利用幀內(nèi)預(yù)測模式產(chǎn)生一個或多個預(yù)測塊。幀間預(yù)測單元130利用圖畫存儲單元195中存儲的一個或多個參考圖畫確定當(dāng)前預(yù)測單元的運(yùn)動信息并產(chǎn)生預(yù)測單元的預(yù)測塊。運(yùn)動信息包括一個或多個參考圖畫索引和一個或多個運(yùn)動矢量。變換單元140變換殘余塊以產(chǎn)生變換塊。殘余塊具有變換單元的大小。如果預(yù)測單元比變換單元大,將當(dāng)前塊和預(yù)測塊之間的殘余信號劃分成多個殘余塊。量化單元150確定用于量化變換塊的量化參數(shù)。量化參數(shù)表示量化步長。針對每個量化單元確定量化參數(shù)。量化單元的大小可以變化,等于編碼單元可允許大小之一。如果編碼單元的大小等于或大于所述最小大小,則編碼單元變?yōu)榱炕瘑卧?。最小尺寸的量化單元中可以包括多個編碼單元。針對每幅圖畫確定量化單元的最小大小,在圖畫參數(shù)集中包括用于指定量化單元最小大小的參數(shù)。量化單元150產(chǎn)生量化參數(shù)預(yù)測器并通過從量化參數(shù)減去量化參數(shù)預(yù)測器產(chǎn)生差分量化參數(shù)。對差分量化參數(shù)進(jìn)行熵編碼。如下利用相鄰編碼單元的量化參數(shù)和先前編碼單元的量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器。按照所述次序順序取得左量化參數(shù)、上量化參數(shù)和前量化參數(shù)。在有兩個或更多量化參數(shù)時,將按照該次序取得的前兩個可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,在僅有一個量化參數(shù)時,將可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。亦即,如果有左和上量化參數(shù)可用,則將左和上量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果僅有左和上量化參數(shù)之一,將可用量化參數(shù)和前一量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左和上量化參數(shù)都不可用,將前一量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。對平均值進(jìn)行四舍五入。將差分量化參數(shù)轉(zhuǎn)換到用于差分量化參數(shù)絕對值的容器以及用于通過二值化過程表示差分量化參數(shù)的符號的容器中,對容器進(jìn)行算術(shù)編碼。如果差分量化參數(shù)的絕對值是0,可以省略用于表示符號的容器。將截斷一元碼用于所述絕對值的二值化。量化單元150利用量化矩陣和量化參數(shù)對變換塊進(jìn)行量化以產(chǎn)生量化塊。向逆量化/變換單元180和掃描單元160提供該量化塊。掃描單元160向量化塊應(yīng)用掃描模式。在幀間預(yù)測中,如果將CABAC用于熵編碼,則使用對角線掃描作為掃描模式。將量化塊的系數(shù)分成量化系數(shù)分量。量化系數(shù)分量是顯著標(biāo)記、系數(shù)符號和系數(shù)級別。向每個系數(shù)分量應(yīng)用對角線掃描。顯著系數(shù)表示對應(yīng)的量化系數(shù)是否為零。系數(shù)符號表示非零量化系數(shù)的符號,系數(shù)級別表示非零量化系數(shù)的絕對值。在變換單元的大小大于預(yù)定大小時,將量化塊分成多個子集并向每個子集應(yīng)用對角線掃描。根據(jù)對角線掃描分別掃描每個子集的顯著標(biāo)記、系數(shù)符號和系數(shù)級別。預(yù)定大小是4X4。子集是包含16個變換系數(shù)的4X4塊。用于掃描子集的掃描模式與用于掃描系數(shù)分量的掃描模式相同。沿相反方向掃描每個子集的顯著標(biāo)記、系數(shù)符號和系數(shù)級別。也沿反向掃描子集。對表示上一非零系數(shù)位置的參數(shù)編碼并發(fā)送到解碼側(cè)。該參數(shù)指定量化塊之內(nèi)上一非零量化系數(shù)的位置。針對第一子集和最后子集之外的每個子集定義非零子集標(biāo)志并將其發(fā)送到解碼側(cè)。第一子集覆蓋DC系數(shù)。最后子集覆蓋最后的非零系數(shù)。非零子集標(biāo)志表示子集是否包含非零系數(shù)。熵編碼單元170對從掃描單元160接收的掃描系數(shù)分量、從幀內(nèi)預(yù)測單元120接收的幀內(nèi)預(yù)測信息、從幀間預(yù)測單元130接收的運(yùn)動信息等進(jìn)行熵編碼。逆量化/變換單元180對量化塊的量化系數(shù)進(jìn)行逆量化,并對逆量化塊進(jìn)行逆變換以產(chǎn)生殘余塊。后期處理單元190執(zhí)行解塊過濾(deblocking filtering)過程,以清除重建圖畫中產(chǎn)生的分塊人為噪聲(blocking artifact)。圖畫存儲單元195從后期處理單元190接收經(jīng)后期處理的圖像并在圖畫單元中存儲圖像。一幅圖畫可以是一幀或字段。圖2是示出了根據(jù)本發(fā)明對視頻數(shù)據(jù)編碼的程序的流程圖。確定當(dāng)前塊的運(yùn)動信息(S110)。當(dāng)前塊是預(yù)測單元。由編碼單元的大小和分割模式確定當(dāng)前塊的大小。運(yùn)動信息根據(jù)預(yù)測類型而變化。如果預(yù)測類型是單向預(yù)測,運(yùn)動信息包括指定參考表O的圖畫的參考索引和運(yùn)動矢量。如果預(yù)測類型是雙向預(yù)測,運(yùn)動信息包括指定參考表O的圖畫和參考表I的圖畫的兩個參考索引和表O運(yùn)動矢量與表I運(yùn)動矢量。利用運(yùn)動信息產(chǎn)生當(dāng)前塊的預(yù)測塊(S120)。如果運(yùn)動矢量指示出了像素位置,則通過拷貝運(yùn)動矢量指定的參考圖畫塊來產(chǎn)生預(yù)測塊。如果運(yùn)動矢量指示出了子像素位置,通過對參考圖畫的像素進(jìn)行內(nèi)插產(chǎn)生預(yù)測塊。利用當(dāng)前塊和預(yù)測塊產(chǎn)生殘余塊(S130 )。對殘余塊進(jìn)行編碼(S140)。殘余塊具有與變換單元相同的大小。如果預(yù)測單元比變換單元大,將當(dāng)前塊和預(yù)測塊之間的殘余信號劃分成多個殘余塊。由圖1的變換單元140、量化單元150、掃描單元160和熵編碼單元170對一個或多個殘余塊編碼。對運(yùn)動信息進(jìn)行編碼(S150)??梢岳卯?dāng)前塊的空間候選和時間候選預(yù)測性地對運(yùn)動信息編碼。在跳躍模式、合并模式或AMVP模式中對運(yùn)動信息編碼。在跳躍模式中,預(yù)測單元具有編碼單元的大小,利用與合并模式相同的方法對運(yùn)動信息編碼。圖3是流程圖,示出了根據(jù)本發(fā)明在合并模式中對運(yùn)動信息編碼的方法。推導(dǎo)出空間合并候選(S210)。圖4是示意圖,示出了根據(jù)本發(fā)明的空間合并候選塊的位置。如圖4所示,將當(dāng)前塊的可用左塊(塊A)、可用上塊(塊B)、可用右上塊(塊C)和可用左下塊(塊D)設(shè)置為合并候選塊。如果沒有塊A、B、C和D中的一個或多個,那么將可用的左上塊(塊E)設(shè)置為合并候選塊。將合并候選塊的運(yùn)動信息設(shè)置為空間合并候選。如果空間合并候選塊被幀內(nèi)編碼、不存在或位于與當(dāng)前切片不同的切片中,將空間合并候選塊設(shè)置為不可用。導(dǎo)出時間合并候選(S220)。時間合并候選包括時間合并候選的參考圖畫索引和運(yùn)
動矢量??梢岳孟噜弶K的一個或多個參考圖畫索引導(dǎo)出時間合并候選的參考圖畫索引。例如,將左相鄰塊、上相鄰塊和角相鄰塊的參考圖畫索引之一設(shè)置為時間合并候選的參考圖畫索引。角相鄰塊是右上相鄰塊、左下相鄰塊和左上相鄰塊之一?;蛘?,可以將時間合并候選的參考圖畫索引設(shè)置為零以降低復(fù)雜性。可以如下推導(dǎo)時間合并候選的運(yùn)動矢量。首先,確定時間合并候選圖畫。時間合并候選圖畫包括時間合并候選塊。在切片之內(nèi)使用一個時間合并候選圖畫。可以將時間合并候選圖畫的參考圖畫索引設(shè)置為零。如果當(dāng)前切片為P切片,將參考圖畫列表O的參考圖畫之一設(shè)置為時間合并候選圖畫。如果當(dāng)前切片為B切片,將參考圖畫列表O和I的參考圖畫之一設(shè)置為時間合并候選圖畫。如果當(dāng)前切片為B切片,則在切片報頭中包括列表指示符,指明時間合并候選圖畫屬于參考圖畫列表O還是I??梢栽谇衅瑘箢^中包括指定時間合并候選圖畫的參考圖畫索引。接下來,確定時間合并候選塊。時間合并候選塊可以是第一候選塊或第二候選塊。如果有第一候選塊,將第一候選塊設(shè)置為時間合并候選塊。如果沒有第一候選塊,將第二候選塊設(shè)置為時間合并候選塊。如果沒有第二候選塊,將時間合并候選塊設(shè)置為不可用。圖5是示意圖,示出了根據(jù)本發(fā)明的時間合并候選塊的位置。如圖5所示,第一合并候選塊可以是塊C的右下角塊(塊H)。塊C與當(dāng)前塊具有相同的大小和相同的位置,位于時間合并候選圖畫之內(nèi)。第二合并候選塊是覆蓋塊C中心的左上像素的塊。如果確定了時間合并候選塊,將時間合并候選塊的運(yùn)動矢量被設(shè)置為時間合并候選的運(yùn)動矢量。構(gòu)造合并候選列表(S230)。以預(yù)定次序列出可用的空間候選和可用的時間候選。按照A、B、C、D和E的次序最多列出四個空間合并候選??梢栽贐和C之間或在空間候選之后列出時間合并候選。判斷是否產(chǎn)生一個或多個合并候選(S240 )。通過比較合并候選列表中列出的合并候選數(shù)量與預(yù)定的合并候選數(shù)量來進(jìn)行判斷??梢葬槍γ總€圖畫或切片確定預(yù)定數(shù)量。如果合并候選列表中列出的合并候選數(shù)量小于預(yù)定的合并候選數(shù)量,產(chǎn)生一個或多個合并候選(S250)。在最后可用合并候選之后列出產(chǎn)生的合并候選。如果可用的合并候選數(shù)量等于或大于2,兩個可用合并候選之一具有列表O的運(yùn)動信息,另一個具有列表I的運(yùn)動信息,可以通過組合列表O的運(yùn)動信息和列表I的運(yùn)動信息產(chǎn)生合并候選。如果有多種組合,可以產(chǎn)生多個合并候選。可以向列表增加一個或多個零合并候選。如果切片類型為P,零合并候選僅具有列表O的運(yùn)動信息。如果切片類型為B,零合并候選具有列表I的運(yùn)動信息。在合并列表的合并候選之間選擇合并預(yù)測器,對指定合并預(yù)測器的合并索引編碼(S260)。圖6是根據(jù)本發(fā)明的圖像解碼設(shè)備200的方框圖。根據(jù)本發(fā)明的圖像解碼設(shè)備200包括熵解碼單元210、逆掃描單元220、逆量化單元230、逆變換單元240、幀內(nèi)預(yù)測單元250、幀間預(yù)測單元260、后期處理單元270、圖畫存儲單元280和加法器290。熵解碼單元210利用語境自適應(yīng)二進(jìn)制算術(shù)解碼方法從接收的比特流提取幀內(nèi)預(yù)測信息、幀間預(yù)測信息和量化系數(shù)分量。逆掃描單元220向量化系數(shù)分量應(yīng)用逆掃描模式以產(chǎn)生量化塊。在幀間預(yù)測中,逆掃描模式為對角線掃描。量化系數(shù)分量包括顯著標(biāo)記、系數(shù)符號和系數(shù)級別。在變換單元的大小大于預(yù)定大小時,利用對角線掃描以子集為單位逆掃描顯著標(biāo)記、系數(shù)符號和系數(shù)級別以產(chǎn)生子集,利用對角線掃描逆掃描子集以產(chǎn)生量化塊。預(yù)定大小等于子集的大小。子集是包括16個變換系數(shù)的4X4塊。沿相反方向逆掃描顯著標(biāo)記、系數(shù)符號和系數(shù)級別。也沿反向逆掃描子集。從比特流提取指示非零系數(shù)位置和非零子集標(biāo)志的參數(shù)。基于表示非零系數(shù)位置的參數(shù)確定編碼子集的數(shù)量。使用非零子集判斷對應(yīng)的子集是否具有至少一個非零系數(shù)。如果非零子集標(biāo)志等于1,利用對角線掃描產(chǎn)生子集。利用逆掃描模式產(chǎn)生第一個子集和最后一個子集。逆量化單元230從熵解碼單元210接收差分量化參數(shù)并產(chǎn)生量化參數(shù)預(yù)測器,以產(chǎn)生編碼單元的量化參數(shù)。產(chǎn)生量化參數(shù)預(yù)測器的操作與圖1的量化單元150相同。然后,通過將差分量化參數(shù)和量化參數(shù)預(yù)測器相加產(chǎn)生當(dāng)前編碼單元的量化參數(shù)。如果不從編碼側(cè)發(fā)送差分量化參數(shù),將差分量化參數(shù)設(shè)置為零。逆量化單元230對量化塊進(jìn)行逆量化。逆變換單元240對逆量化塊進(jìn)行逆變換以產(chǎn)生殘余塊。根據(jù)預(yù)測模式和變換單元的大小自適應(yīng)地確定逆變換矩陣。逆變換矩陣是基于DCT的整數(shù)變換矩陣或基于DST的整數(shù)變換矩陣。將基于DCT的整數(shù)變換矩陣用于幀間預(yù)測。幀內(nèi)預(yù)測單元250利用幀內(nèi)預(yù)測信息導(dǎo)出當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式,并根據(jù)導(dǎo)出的幀內(nèi)預(yù)測模式產(chǎn)生預(yù)測塊。幀間預(yù)測單元260利用幀間預(yù)測信息導(dǎo)出當(dāng)前預(yù)測單元的運(yùn)動信息,并利用運(yùn)動信息產(chǎn)生預(yù)測塊。后期處理單元270與圖1的后期處理單元180同樣工作。圖畫存儲單元280從后期處理單元270接收經(jīng)后期處理的圖像并在圖畫單元中存儲圖像。圖畫可以是幀或場。加法器290將恢復(fù)的殘余塊和預(yù)測塊相加以產(chǎn)生重構(gòu)塊。圖7是流程圖,示出了根據(jù)本發(fā)明在幀間預(yù)測模式中對圖像解碼的方法。導(dǎo)出當(dāng)前塊的運(yùn)動信息(S310)。當(dāng)前塊是預(yù)測單元。由編碼單元的大小和分割模式確定當(dāng)前塊的大小。運(yùn)動信息根據(jù)預(yù)測類型而變化。如果預(yù)測類型是單向預(yù)測,運(yùn)動信息包括指定參考表O的圖畫的參考索引和運(yùn)動矢量。如果預(yù)測類型是雙向預(yù)測,運(yùn)動信息包括指定參考表O的圖畫的參考索引、指定參考表I的圖畫的參考索引和表O運(yùn)動矢量與表I運(yùn)動矢量。根據(jù)運(yùn)動信息的編碼模式對運(yùn)動信息進(jìn)行自適應(yīng)解碼。由跳越標(biāo)記和合并標(biāo)記確定運(yùn)動信息的編碼模式。如果跳越標(biāo)記等于1,則不存在合并標(biāo)記,編碼模式為跳躍模式。如果跳越標(biāo)記等于O且合并標(biāo)記等于I,編碼模式為合并模式。如果跳越標(biāo)記和合并標(biāo)志等于O,編碼模式為AMVP模式。利用運(yùn)動信息產(chǎn)生當(dāng)前塊的預(yù)測塊(S320 )。如果運(yùn)動矢量表示像素位置,則通過拷貝運(yùn)動矢量指定的參考圖畫塊來產(chǎn)生預(yù)測塊。如果運(yùn)動矢量表示子像素位置,通過對參考圖畫的像素進(jìn)行內(nèi)插產(chǎn)生預(yù)測塊。產(chǎn)生殘余塊(S330)。由圖6的熵解碼單元210、逆掃描單元220、逆量化單元230和逆變換單元240產(chǎn)生殘余塊。利用預(yù)測塊和殘余塊產(chǎn)生重構(gòu)塊(S340 )。預(yù)測塊具有與預(yù)測單元同樣的大小,殘余塊具有與變換單元相同的大小。因此,將殘余信號和同樣大小的預(yù)測信號相加以產(chǎn)生重構(gòu)信號。圖8是流程圖,示出了在合并模式中導(dǎo)出運(yùn)動信息的方法。從比特流提取合并索弓丨(S410 )。如果不存在合并索引,將合并候選的數(shù)量設(shè)置為
O導(dǎo)出空間合并候選(S420)。所述空間合并候選與圖3的S210中所述相同。導(dǎo)出時間合并候選(S430)。該時間合并候選包括時間合并候選的參考圖畫索引和運(yùn)動矢量。時間合并候選的參考索引和運(yùn)動矢量與圖3的S220中所述相同。構(gòu)造合并候選列表(S440)。合并列表與圖3的S230中所述相同。判斷是否產(chǎn)生一個或多個合并候選(S450 )。通過比較合并候選列表中列出的合并候選數(shù)量與預(yù)定的合并候選數(shù)量來進(jìn)行判斷??梢葬槍γ總€圖畫或切片確定預(yù)定數(shù)量。如果合并候選列表中列出的合并候選數(shù)量小于預(yù)定的合并候選數(shù)量,產(chǎn)生一個或多個合并候選(S460)。在最后可用合并候選之后列出產(chǎn)生的合并候選。以與圖3的S250所述相同的方法產(chǎn)生合并候選。將合并索引指定的合并候選設(shè)置為當(dāng)前塊的運(yùn)動信息(S470)。圖9是流程圖,示出了根據(jù)本發(fā)明在幀間預(yù)測模式中產(chǎn)生殘余塊的流程。由熵解碼單元產(chǎn)生量化的系數(shù)分量(S510)。通過根據(jù)對角線掃描逆掃描量化系數(shù)分量來產(chǎn)生量化塊(S520)。量化系數(shù)分量包括顯著標(biāo)記、系數(shù)符號和系數(shù)級別。在變換單元的大小大 于預(yù)定大小時,利用對角線掃描以子集為單位逆掃描顯著標(biāo)記、系數(shù)符號和系數(shù)級別以產(chǎn)生子集,利用對角線掃描逆掃描子集以產(chǎn)生量化塊。預(yù)定大小等于子集的大小。子集是包括16個變換系數(shù)的4X4塊。沿相反方向逆掃描顯著標(biāo)記、系數(shù)符號和系數(shù)級別。也沿反向逆掃描子集。從比特流提取指示非零系數(shù)位置和非零子集標(biāo)志的參數(shù)。基于表示非零系數(shù)位置的參數(shù)確定編碼子集的數(shù)量。使用非零子集判斷對應(yīng)的子集是否具有至少一個非零系數(shù)。如果非零子集標(biāo)志等于1,利用對角線掃描產(chǎn)生子集。利用逆掃描模式產(chǎn)生第一個子集和最后一個子集。利用逆量化矩陣和量化參數(shù)對量化塊進(jìn)行逆量化(S530)。圖10是流程圖,示出了根據(jù)本發(fā)明導(dǎo)出量化參數(shù)的方法。導(dǎo)出量化單元的最小大小(S531)。從比特流提取指定最小大小的參數(shù)(cu_qp_delta_enabled_info)并通過以下方程確定量化單元的最小大小。Log2(MinQUSize)=Log2(MaxCUSize)-cu_qp_deIta_enabIed_infο
MinQUSize表示量化單元的最小大小,Max⑶Size表示IXU的大小。從圖畫參數(shù)集提取參數(shù)cu_cip_delta_enabled_info。量化單元的大小等于編碼單元的可允許大小之一。導(dǎo)出當(dāng)前編碼單元的差分量化參數(shù)(S532)。針對每個量化單元包括差分量化參數(shù)。因此,如果當(dāng)前編碼單元的大小等于或大于最小大小,則為當(dāng)前編碼單元恢復(fù)差分量化參數(shù)。如果不存在差分量化參數(shù),將差分量化參數(shù)設(shè)置為零。如果多個編碼單元屬于最小大小的量化單元,包含解碼次序中至少一個非零系數(shù)的第一編碼單元包含差分量化參數(shù)。對編碼的差分量化參數(shù)進(jìn)行算術(shù)解碼以產(chǎn)生表示差分量化參數(shù)的絕對值的容器串和表示差分量化參數(shù)符號的容器。容器串可以是截尾的一元碼。如果差分量化參數(shù)的絕對值是零,則不存在表示符號的容器。利用表示絕對值的容器串和表示符號的容器導(dǎo)出差分量化參數(shù)。導(dǎo)出當(dāng)前編碼單元的量化參數(shù)預(yù)測器(S533)。如下利用相鄰編碼單元的量化參數(shù)和先前編碼單元的量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器。按照所述次序順序檢索左量化參數(shù)、上量化參數(shù)和前量化參數(shù)。在有兩個或更多量化參數(shù)時,將按照該次序檢索的前兩個可用量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器,在僅有一個量化參數(shù)時,將可用的量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。亦即,如果有左和上量化參數(shù),則將左和上量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果僅有左和上量化參數(shù)之一,將可用量化參數(shù)和前一量化參數(shù)的平均值設(shè)置為量化參數(shù)預(yù)測器。如果左和上量化參數(shù)都不可用,將前一量化參數(shù)設(shè)置為量化參數(shù)預(yù)測器。如果多個編碼單元屬于最小大小的量化單元,則導(dǎo)出解碼次序中第一編碼單元的量化參數(shù)預(yù)測器并用于其他編碼單元。利用差分量化參數(shù)和量化參數(shù)預(yù)測器產(chǎn)生當(dāng)前編碼單元的量化參數(shù)(S534)。通過對逆量化塊進(jìn)行逆變換來產(chǎn)生殘余塊(S540)。使用一維水平和垂直的基于DCT的逆變換。盡管已經(jīng)參考其某些示范性實施例示出并描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員將理解,可以在其中做出各種形式和細(xì)節(jié)的改變而不脫離如所附權(quán)利要求界定的本發(fā)明精神和范圍。
權(quán)利要求
1.一種在合并模式中對視頻數(shù)據(jù)解碼的方法,包括: 利用可用的空間合并候選和時間合并候選構(gòu)造合并候選列表; 利用合并索引和合并候選列表導(dǎo)出運(yùn)動信息; 利用所述運(yùn)動信息產(chǎn)生預(yù)測塊; 通過利用量化參數(shù)和量化矩陣對量化塊進(jìn)行逆量化并通過對逆量化塊進(jìn)行逆變換來產(chǎn)生殘余塊;以及 利用所述殘余塊和所述預(yù)測塊產(chǎn)生重構(gòu)塊, 其中針對每個量化單元產(chǎn)生量化參數(shù),且針對每幅圖畫調(diào)節(jié)量化單元的最小大小。
2.根據(jù)權(quán)利要求1所述的方法,其中利用差分量化參數(shù)和量化參數(shù)預(yù)測器產(chǎn)生所述量化參數(shù),該量化參數(shù)預(yù)測器是利用左量化參數(shù)、上量化參數(shù)和前量化參數(shù)中可用的兩個量化參數(shù)產(chǎn)生的,如果至少有兩個量化參數(shù)可用。
3.根據(jù)權(quán)利要求2所述的方法,其中利用指定所述量化單元最小大小和最大編碼單元大小之間深度的參數(shù)導(dǎo)出所述量化單元的最小大小。
4.根據(jù)權(quán)利要求2所述的方法,其中如果左量化參數(shù)不可用,將上量化參數(shù)和前量化參數(shù)的平均值設(shè)置為所述量化參數(shù)預(yù)測器。
5.根據(jù)權(quán)利要求1所述的方法,其中所述空間合并候選是合并候選塊的運(yùn)動信息,將左塊、上塊、右上塊和左下塊中的可用塊設(shè)置為可用合并候選塊。
6.根據(jù)權(quán)利要求5所述的方法,其中在所述左塊、上塊、右上塊和左下塊中的至少一個不可用時,將可用的左上塊設(shè)置為所述合并候選塊。
全文摘要
一種視頻數(shù)據(jù)的解碼方法。提供了一種方法,利用可用的空間合并候選和時間合并候選構(gòu)造合并候選列表,利用合并索引和合并候選列表導(dǎo)出運(yùn)動信息,利用所述運(yùn)動信息產(chǎn)生預(yù)測塊,通過利用量化參數(shù)和量化矩陣對量化塊進(jìn)行逆量化并通過對逆量化塊進(jìn)行逆變換來產(chǎn)生殘余塊,以及利用所述殘余塊和所述預(yù)測塊產(chǎn)生重構(gòu)塊。針對每個量化單元產(chǎn)生量化參數(shù),且針對每個圖畫調(diào)節(jié)量化單元的最小大小。因此,通過在相鄰塊和時間塊之一選擇運(yùn)動信息的預(yù)測器,運(yùn)動信息的編碼效率。而且,通過針對每個量化單元自適應(yīng)地調(diào)節(jié)量化參數(shù)并利用多個相鄰量化參數(shù)產(chǎn)生量化參數(shù)預(yù)測器來改進(jìn)殘余塊的編碼效率。
文檔編號H04N7/50GK103096072SQ20121044176
公開日2013年5月8日 申請日期2012年11月7日 優(yōu)先權(quán)日2011年11月7日
發(fā)明者吳秀美 申請人:吳秀美