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