欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

幀間預測方法及其裝置與流程

文檔序號:11292589閱讀:338來源:國知局
幀間預測方法及其裝置與流程

本申請是2014年5月7日提交的國際申請日為2012年9月7日、申請?zhí)枮?01280054717.3(pct/kr2012/007224)的,發(fā)明名稱為“幀間預測方法及其裝置”專利申請的分案申請。

本發(fā)明涉及圖像處理,尤其是,涉及幀間預測方法和裝置。



背景技術:

近來,在各種領域中存在對于具有高分辨率和高質量圖像,諸如高清(hd)視頻和超高清(uhd)視頻的增長需求。與現(xiàn)有的圖像數(shù)據(jù)相比,高分辨率和高質量圖像數(shù)據(jù)需要相對巨大的信息量或者比特量。因此,當通過使用介質諸如現(xiàn)有的有線/無線寬帶線路發(fā)送圖像數(shù)據(jù)的時候,或者當圖像數(shù)據(jù)通過使用現(xiàn)有的存儲介質存儲的時候,傳輸費用和存儲費用升高。為了解決這些問題,可以使用高效的圖像壓縮技術。

作為視頻壓縮技術,存在各種技術,諸如幀間預測方法,其從當前圖片的先前的和/或后續(xù)的圖片中預測包括在當前圖片中的像素值,幀內預測方法,其通過使用在當前圖片中的像素信息預測包括在當前圖片中的像素值,熵編碼技術,其分配短的代碼字給具有高出現(xiàn)頻率的值,和分配長的代碼字給具有低出現(xiàn)頻率的值等。這樣的圖像壓縮技術可用于通過有效地壓縮圖像數(shù)據(jù)發(fā)送或者存儲圖像數(shù)據(jù)。



技術實現(xiàn)要素:

技術問題

本發(fā)明提供用于能夠降低復雜性和改善編碼/解碼效率的視頻編碼的方法和裝置。

本發(fā)明還提供能夠降低復雜性和改善編碼/解碼效率的視頻解碼方法和裝置。

本發(fā)明還提供一種能夠降低復雜性和改善編碼/解碼效率的幀間預測方法和裝置。

本發(fā)明還提供能夠降低復雜性和改善編碼/解碼效率的合并候選列表產生方法和裝置。

技術解決方案

按照本發(fā)明的一個方面,提供了一種幀間預測方法,包括:產生要預測的塊的合并候選列表,并且該塊對應于當前的預測單元(pu);基于構成合并候選列表的多個合并候選中的一個,推導要預測的塊的運動信息;以及基于推導的運動信息對要預測的塊執(zhí)行預測,以產生對應于當前pu的預測塊,其中當前pu是屬于合并候選共享單元的pu,以及其中在合并候選列表的產生中,有選擇地產生由多個第一合并候選構成的第一合并候選列表,和由多個第二合并候選構成的第二合并候選列表中的一個,多個第一合并候選是基于要預測的塊的位置和大小確定的多個第一塊的運動信息,并且多個第二合并候選是基于與合并候選共享單元相對應的塊的位置和大小確定的多個第二塊的運動信息。

在本發(fā)明的前面提到的方面中,在合并候選列表的產生中,是否產生第一合并候選列表,或者是否產生第二合并候選列表可以是由合并候選共享單元確定的,并且如果其確定產生第二合并候選列表,則在合并候選共享單元中的所有pu可以共享第二合并候選列表。

此外,合并候選共享單元可以是當前pu所屬的當前編譯單元(cu),和多個第二合并候選可以是基于要解碼的塊的位置和大小確定的多個第二塊的運動信息,并且該塊對應于當前cu。

此外,多個第一塊可以包括在要預測的塊外部位置上最靠近于左下角的塊,在相鄰于要預測的塊的左側的塊之中位于最下面部分的塊,在要預測的塊外部位置上最靠近于左上角的塊,在相鄰于要預測的塊的上面部分的塊之中位于最右側的塊,和位置上最靠近于要預測的塊的右上角的塊,和多個第二塊可以包括在要解碼的塊外部位置上最靠近于左下角的塊,在相鄰于要解碼的塊的左側的塊之中位于最下面部分的塊,在要解碼的塊外部位置上最靠近于左上角的塊,在相鄰于要解碼的塊的上面部分的塊之中位于最右側的塊,和位置上最靠近于要解碼的塊的右上角的塊。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則在多個第一塊之中位于要解碼的塊中的塊的運動信息可以不用作第一合并候選。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則當前pu的分割模式是2n×n、2n×nu或者2n×nd,并且當前pu是位于當前編譯單元內的下面部分的pu,因而,在相鄰于要預測的塊的上面部分的塊之中位于最右側的塊的運動信息可以不用作第一合并候選。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則當前pu的分割模式是n×2n、nl×2n或者nr×2n,并且當前pu是位于當前編譯單元內的右側的pu,因而,在相鄰于要預測的塊的左側的塊之中位于最下面部分的塊的運動信息可以不用作第一合并候選。

此外,在當前pu所屬的并行處理單元中對于所有pu可以并行執(zhí)行合并候選列表的產生和運動信息的推導,并行處理單元可以基于指示并行處理單元大小的并行處理水平確定,并且有關并行處理水平的信息可以包括在圖片參數(shù)集(pps)中,以及被從編碼器發(fā)送給解碼器。

此外,在合并候選列表的產生中,是產生第一合并候選列表,還是產生第二合并候選列表可以基于要解碼的塊的大小和并行處理水平確定。

此外,在合并候選列表的產生中,如果要解碼的塊的大小是8×8,并且并行處理單元的大小是4×4,則可以產生第二合并候選列表。

按照本發(fā)明的另一個方面,提供了一種視頻解碼方法,包括:產生要預測的塊的合并候選列表,并且該塊對應于當前pu;基于構成合并候選列表的多個合并候選的一個,推導要預測的塊的運動信息;基于推導的運動信息對要預測的塊執(zhí)行預測,以產生與當前pu相對應的預測塊;以及基于產生的pu產生重建的塊,其中當前pu是屬于合并候選共享單元的pu,和其中在合并候選列表的產生中,有選擇地產生由多個第一合并候選構成的第一合并候選列表,和由多個第二合并候選構成的第二合并候選列表中的一個,多個第一合并候選是基于要預測的塊的位置和大小確定的多個第一塊的運動信息,并且多個第二合并候選是基于與合并候選共享單元相對應的塊的位置和大小確定的多個第二塊的運動信息。

在本發(fā)明的前面提到的方面中,在合并候選列表的產生中,是否產生第一合并候選列表,或者是否產生第二合并候選列表可以是由合并候選共享單元確定的,并且如果確定產生第二合并候選列表,則在合并候選共享單元中的所有pu可以共享第二合并候選列表。

此外,合并候選共享單元可以是當前pu所屬的當前cu,和多個第二合并候選可以是基于要解碼的塊的位置和大小確定的多個第二塊的運動信息,并且該塊對應于當前cu。

此外,多個第一塊可以包括在要預測的塊外部位置上最靠近于左下角的塊,在相鄰于要預測的塊的左側的塊之中位于最下面部分的塊,在要預測的塊外部位置上最靠近于左上角的塊,在相鄰于要預測的塊的上面部分塊之中位于最右側的塊,和位置上最靠近于要預測的塊的右上角的塊,和多個第二塊可以包括在要解碼的塊外部位置上最靠近于左下角的塊,在相鄰于要解碼的塊的左側的塊之中位于最下面部分的塊,在要解碼的塊外部位置上最靠近于左上角的塊,在相鄰于要解碼的塊的上面部分的塊之中位于最右側的塊,和位置上最靠近于要解碼的塊的右上角的塊。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則在多個第一塊之中位于要解碼的塊中的塊的運動信息可以不用作第一合并候選。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則當前pu的分割模式是2n×n、2n×nu或者2n×nd,并且當前pu是位于當前編譯單元內的下面部分的pu,因而,在相鄰于要預測的塊的上面部分的塊之中位于最右側塊的運動信息可以不用作第一合并候選。

此外,在合并候選列表的產生中,如果確定產生第一合并候選列表,則當前pu的分割模式是n×2n、nl×2n或者nr×2n,并且當前pu是位于當前編譯單元內的右側的pu,因而,在相鄰于要預測的塊的左側的塊之中位于最下面部分的塊的運動信息可以不用作第一合并候選。

此外,在當前pu所屬的并行處理單元中對于所有pu可以并行執(zhí)行合并候選列表的產生和運動信息的推導,并行處理單元可以基于指示并行處理單元的大小的并行處理水平確定,并且有關并行處理水平的信息可以包括在圖片參數(shù)集(pps)中,以及被從編碼器發(fā)送給解碼器。

此外,在合并候選列表的產生中,是產生第一合并候選列表,還是產生第二合并候選列表可以基于要解碼的塊的大小和并行處理水平確定。

此外,在合并候選列表的產生中,如果要解碼的塊的大小是8×8,并且并行處理單元的大小是4×4,則可以產生第二合并候選列表。

有益效果

按照本發(fā)明的視頻編譯方法,復雜度可以降低,并且編碼/解碼效率可以改善。

按照本發(fā)明的視頻解碼方法,復雜度可以降低,并且編碼/解碼效率可以改善。

按照本發(fā)明的幀間預測方法,復雜度可以降低,并且編碼/解碼效率可以改善。

按照本發(fā)明的合并候選列表產生方法,復雜度可以降低,并且編碼/解碼效率可以改善。

附圖說明

圖1是按照本發(fā)明的實施例的視頻編碼器的方框圖。

圖2是示出按照本發(fā)明的實施例的預測器的概念的示意圖。

圖3是按照本發(fā)明的實施例的視頻解碼器的方框圖。

圖4是示出按照本發(fā)明的實施例的視頻解碼器的預測器概念的示意圖。

圖5是示出在按照本發(fā)明的系統(tǒng)中的處理單元的四樹結構的示例的概念的示意圖。

圖6是簡要地示出在合并模式中的幀間預測方法的實施例的流程圖。

圖7是示出用于產生合并候選列表的合并候選的實施例的示意圖。

圖8是示出以合并模式和跳躍模式的并行處理單元的實施例的示意圖。

圖9是用于解釋當以合并模式執(zhí)行并行運動估算(me)的時候出現(xiàn)的問題的示意圖。

圖10是示出推導用于使能并行me的合并候選方法實施例的示意圖。

圖11是示出推導用于使能并行me的合并候選方法的另一個實施例的示意圖。

圖12是示出推導用于使能并行me的合并候選方法的另一個實施例的示意圖。

圖13是示出在合并候選共享單元中推導用于預測單元(pu)的通用合并候選的方法的實施例的示意圖。

圖14是示出在合并候選共享單元中推導用于pu的通用合并候選的方法的另一個實施例的示意圖。

圖15是示出推導運動估算區(qū)(mer)合并候選的方法的實施例的示意圖。

圖16是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖17是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖18是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖19是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖20是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖21是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖22是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖23是示出推導mer合并候選的方法的另一個實施例的示意圖。

圖24是示出推導mer合并候選的方法的另一個實施例的示意圖。

具體實施方式

由于本發(fā)明可以具有各種改進和不同的實施例,僅特定的實施例在附圖中示例性地地圖示,并且將進行詳細描述。但是,本發(fā)明不應該被認為是局限于在此處闡述的特定的實施例。在此處使用的術語僅是為了描述特定的實施例的目的,并且不意欲限制本發(fā)明。如在此處使用的,單數(shù)形式同樣意欲包括復數(shù)形式,除非上下文以其他方式清楚地指示。在本申請中,應該理解,該術語,諸如“包括”或者“具有”等意欲指示在說明書中公開的特點、數(shù)目、操作、動作、部件、部分,或者其組合的存在,并且不意欲排除一個或多個其它的特點、數(shù)目、操作、動作、部件、部分,或者其組合可以存在或者可以增加的可能性。

同時,為了關于在視頻編碼器/解碼器中不同的特定的功能解釋的方便起見,在本發(fā)明描述的附圖中獨立地圖示相應的結構,并且其不暗指相應的結構以單獨的硬件實體或者單獨的軟件實體實現(xiàn)。例如,在相應的結構之中,兩個或更多個結構可以合并成一個結構,并且一個結構可以被分成多個結構。只要不脫離本發(fā)明的精神,相應的結構被集成和/或分離的實施例也包括在本發(fā)明的范圍中。

此外,某些構成元件可能不是用于執(zhí)行固有功能必需的構成元件,而是僅用于改善性能的選擇性的構成元件。除了僅用于改善性能的構成元件之外,本發(fā)明可以通過僅包括用于實現(xiàn)本發(fā)明精神的必需的構成元件實現(xiàn)。除了僅用于改善性能的選擇性的構成元件之外,僅僅包必需的構成元件的結構也包括在本發(fā)明的范圍中。

在下文中將參考伴隨的附圖詳細描述本發(fā)明的實施例。此外,貫穿附圖相同的附圖標記用于指示相同元件,并且對相同元件的相同的描述將被省略。

圖1是按照本發(fā)明一個實施例的視頻編碼器的框圖。參考圖1,視頻編碼器100包括圖片劃分器105、預測器110、變換器115、量化器120、重新排序器125、熵編碼器130、去量化器135、逆變換器140、濾波器145和存儲器150。

基于至少一個處理單元圖片劃分器105可以劃分輸入圖片。在這種情況下,處理單元可以是預測單元(pu)、變換單元(tu)或者編譯單元(cu)。

如下所述,預測器110可以包括執(zhí)行幀間預測的幀間預測器,和執(zhí)行幀內預測的幀內預測器。預測器110可以通過對于在圖片劃分器105中的圖片的處理單元執(zhí)行預測產生預測塊。在預測器100中圖片的處理單元可以是cu、tu或者pu。此外,確定對于相對應的處理單元執(zhí)行的預測是幀間預測還是幀內預測,并且可以確定每個預測方法的特定內容(例如,預測模式等)。在這種情況下,用于執(zhí)行預測的處理單元可以與用于確定特定內容的處理單元不同。例如,預測方法、預測模式等可以以pu為單位確定,并且預測可以以tu為單位執(zhí)行。在產生的預測塊和初始塊之間的殘留值(即,殘留塊)可以被輸入到變換器115。此外,用于預測的預測模式信息、運動矢量信息等可以在熵編碼器130中與殘留值一起被編譯,并且可以被遞送到解碼器。

基于變換單元變換器115變換殘留塊,并且產生變換系數(shù)。變換器115的變換單元可以是tu,并且可以具有四樹結構。在這種情況下,變換單元的大小可以在特定的最大或者最小大小的范圍中確定。變換器115可以通過使用離散余弦變換(dct)和/或離散正弦變換(dst)來變換殘留塊。

量化器120可以通過量化在變換器115中變換的殘留值產生量化系數(shù)。可以將由量化器120計算的值提供給去量化器135和重新排序器125。

重新排序器125可以重新排序從量化器120提供的量化系數(shù)。量化系數(shù)的重新排序可以提高在熵編碼器130中的編譯效率。重新排序器125可以通過使用系數(shù)掃描方法將具有2維塊形式的量化系數(shù)重新排序為1維矢量形式?;趶牧炕靼l(fā)送的系數(shù)的概率統(tǒng)計數(shù)值重新排序器125可以改變系數(shù)掃描的順序,從而提高在熵編碼器130中的熵編碼效率。

熵編碼器130可以相對于由重新排序器125重新排序的量化系數(shù)執(zhí)行熵編碼。熵編碼器130可以編譯從重新排序器125和預測器110遞送的各種信息。該信息可以包括編譯單元的量化系數(shù)信息和塊類型信息、預測模式信息、劃分單元信息、預測單元信息和傳輸單元信息、運動矢量信息、參考圖片信息、塊的內插信息、濾波信息等。

熵編碼可以使用指數(shù)golomb、cavlc(上下文自適應的可變長度編碼),和/或cabac(上下文自適應的二進制算術編碼)。例如,用于執(zhí)行熵編碼的表,諸如,可變長度編碼(vlc)表可以存儲在熵編碼器130中。熵編碼器130可以通過使用存儲的vlc表執(zhí)行熵編碼。對于另一個示例,在cabac熵編碼方法中,熵編碼器130可以將符號變換為二進制形式,即,bin,并且因此,可以按照比特產生概率通過對bin執(zhí)行算術編碼產生比特流。

當應用熵編碼的時候,具有高值的索引及其相應的短代碼字可以分配給具有高產生概率的符號,并且具有高值的索引及其相應的長代碼字可以分配給具有低產生概率的符號。因此,可以降低用于要編譯的符號的比特量,并且視頻壓縮性能可以通過熵編碼而改善。

去量化器135可以去量化由量化器120量化的值。逆變換器140可以逆變換由去量化器135去量化的值。在去量化器135和逆變換器140中產生的殘留值可以與由預測器110預測的預測塊結合,并且因此,可以產生重建的塊。

濾波器145可以將內環(huán)濾波器應用于重建的塊和/或圖片。內環(huán)濾波器可以包括去塊濾波、采樣自適應的偏移(sao),和/或自適應循環(huán)濾波器(alf)等。

去塊濾波可以在重建的圖片中除去在塊之間的邊界處出現(xiàn)的塊失真。sao可以將適當?shù)钠浦翟黾咏o像素值以補償編譯錯誤。alf可以基于用于將原始圖像與在經由去塊濾波器濾波塊之后重建的圖像進行比較的值執(zhí)行濾波。

同時,關于在幀內預測中使用的重建的塊,濾波器145可以不必應用濾波。

存儲器150可以存儲通過使用濾波器145計算的重建的塊或者圖片??梢詫⒋鎯υ诖鎯ζ?50中的重建的塊或者圖片提供給用于執(zhí)行幀間預測的預測器110。

圖2是示出按照本發(fā)明一個實施例的預測器的概念的示意圖。參考圖2,預測器200可以包括幀間預測器210和幀內預測器220。

幀間預測器210可以基于當前圖片的先前的圖片或者后續(xù)圖片的信息通過執(zhí)行預測產生預測塊。此外,幀內預測器220可以基于在當前圖片中的像素信息通過執(zhí)行預測產生預測塊。

關于預測單元(pu),幀間預測器210可以選擇參考圖片,并且可以選擇具有與pu相同大小的參考塊作為像素采樣單元。隨后,幀間預測器210可以產生預測塊,該預測塊是小于整數(shù)單位的采樣單位(例如,1/2像素采樣單位和1/4像素采樣單位),并且因此,是最類似于當前的pu,并且其殘留信號可以被減到最小,而且要編譯的運動矢量也可以被減到最小。在這種情況下,運動矢量可以以小于整數(shù)像素的單位表示。

由幀間預測器210選擇的參考圖片的索引和有關運動矢量的信息可以被編碼,并且傳送給解碼器。

圖3是按照本發(fā)明一個實施例的視頻解碼器的方框圖。參考圖3,視頻解碼器300可以包括熵解碼器310、重新排序器315、去量化器320、逆變換器325、預測器330、濾波器335和存儲器340。

當視頻比特流被輸入到視頻解碼器的時候,輸入的比特流可以按照在視頻編碼器中處理視頻信息的操作被解碼。

熵解碼器310可以對輸入的比特流執(zhí)行熵解碼。熵解碼方法類似于前面提到的熵編碼方法。當應用熵解碼的時候,具有高值的索引及其相應的短代碼字可以分配給具有高產生概率的符號,并且具有高值的索引及其相應的長代碼字可以分配給具有低產生概率的符號。因此,用于要編譯的符號的比特量可以降低,并且視頻壓縮性能可以通過熵編碼而改善。

在由熵解碼器310解碼的多條信息之中,用于產生預測塊的信息可以提供給預測器330,并且可以將在熵解碼器中經歷熵解碼的殘留值輸入給重新排序器315。

重新排序器315可以按照在視頻編碼器中使用的重新排序方法重新排序在熵解碼器310中經歷熵解碼的比特流。重新排序器315可以通過將以1維矢量格式表示的系數(shù)重建為2維塊形式的系數(shù)執(zhí)行重新排序。重新排序器315可以接收與在編碼器中執(zhí)行的系數(shù)掃描相關的信息,并且可以基于在編碼器中執(zhí)行的掃描順序,通過使用反掃描方法執(zhí)行重新排序。

去量化器320基于從編碼器提供的量化參數(shù)和重新排序的塊的系數(shù)值執(zhí)行去量化。

按照由視頻編碼器執(zhí)行的量化結果,逆變換器325可以相對于由編碼器的變換器執(zhí)行的dct和dst執(zhí)行逆dct和/或逆dst。逆變換可以基于確定的傳輸單元或者圖像劃分單元執(zhí)行。編碼器的變換器可以按照多條信息,諸如預測方法、當前塊大小,和/或預測方向等有選擇地執(zhí)行dct和/或dst。解碼器的逆變換器325可以基于有關在編碼器的變換器中執(zhí)行的變換的信息執(zhí)行逆變換。

預測器330可以基于從熵解碼器310提供的預測塊產生相關信息,和預先地解碼的塊和/或從存儲器340提供的圖片信息產生預測塊。重建的塊可以通過使用從預測器330產生的預測模塊和從逆變換器325提供的殘留塊產生。

可以將重建的塊和/或圖片可以提供給濾波器335。濾波器335可以將內環(huán)濾波器應用到重建的塊和/或圖片。內環(huán)濾波器可以包括去塊濾波器、采樣自適應的偏移(sao),和/或自適應循環(huán)濾波器(alf)等。

存儲器340可以存儲重建的圖片或者塊,以便用作參考圖片或者參考塊,或者可以將重建的圖片提供給輸出元件。

圖4是示出按照本發(fā)明的一個實施例的視頻解碼器的預測器概念的示意圖。

參考圖4,預測器400可以包括幀內預測器410和幀間預測器420。

當用于相應的pu的預測模式是幀內預測模式(即,在屏幕中的預測模式)的時候,幀內預測器410可以基于在當前圖片中的像素信息產生預測塊。

如果用于pu的預測模式是幀間預測模式(即,屏幕間預測模式),則幀間預測器420可以使用用于從視頻編碼器提供的當前pu的幀間預測需要的信息,例如,關于運動矢量、參考圖片索引等的信息,以基于包括在當前圖片(當前pu包括在其中)的先前的和后續(xù)的圖片的至少一個中的信息對當前pu執(zhí)行幀間預測。

在這種情況下,如果從編碼器接收的編譯單元(cu)的跳躍標記、合并標記等被確認,則可以根據(jù)其推導運動信息。

在下文中,如果“圖像”或者“屏幕”可以按照本發(fā)明的配置或者表示用于與“圖片”相同的含義,該“圖片”也可以稱為“圖像”或者“屏幕”。此外,幀間預測和屏幕間預測具有相同的含義,并且?guī)瑑阮A測和屏幕內預測具有相同的含義。

圖5是示出在按照本發(fā)明的系統(tǒng)中的處理單元的四樹結構的示例的概念的示意圖。

編譯單元(cu)可以暗指執(zhí)行圖片的編碼/解碼的單元。在要編譯的圖片中的一個編譯塊可以基于四樹結構具有深度,并且可以被重復地分割。在這種情況下,不再分割的編譯塊可以對應于cu,并且編碼器可以對于cu執(zhí)行編碼處理。cu的大小可以是各種,諸如64×64、32×32、16×16、8×8等。

在此處,基于四樹結構被重復地分割的編碼塊可以稱作編譯樹塊(ctb)。一個ctb可以不必進一步分割,并且在這種情況下,ctb本身可以對應于一個cu。因此,ctb可以對應于最大的編譯單元(lcu),其是具有最大大小的cu。同時,在ctb中具有最小大小的cu可以被稱作最小的編譯單元(scu)。

參考圖5,經由分割,ctb500可以具有由較小cu510組成的分層結構。ctb500的分層結構可以基于大小信息、深度信息、分割標記信息等指定。關于ctb大小的信息、分割深度信息、分割標記信息等可以通過包括在有關比特流的序列參數(shù)集(sps)中從編碼器發(fā)送給解碼器。

同時,將在幀間預測和幀內預測之間執(zhí)行的預測可以以cu為單位確定。如果執(zhí)行幀間預測,幀間預測模式、運動信息等可以以pu為單位確定,并且如果執(zhí)行幀內預測,則幀內預測模式可以以pu為單位確定。在這種情況下,如上所述,通過其執(zhí)行預測的處理單元可以與通過其確定預測方法的處理單元相同,以及確定其特定內容,或者兩個單元可以是不同的。例如,預測方法、預測模式等可以以pu為單位確定,并且預測可以以變換單元(tu)為單位執(zhí)行。

參考圖5,一個cu510可以用作一個pu,或者可以被分割為多個pu。在幀內預測520的情況下,cu(和/或pu)的分割模式可以是2n×2n或者n×n模式(這里n是整數(shù))。在此處,以2n×2n模式的pu可以具有2n×2n的大小,并且以n×n模式的pu可以具有n×n的大小。在幀間預測530的情況下,cu(和/或pu)的分割模式可以是2n×2n、2n×n、n×2n、n×n、2n×nu、2n×nd、nl×2n或者nr×2n模式(這里n是整數(shù))。在此處,以2n×n模式的pu可以具有2n×n的大小,并且以n×2n模式的pu可以具有n×2n的大小。此外,在2n×nu模式中,一個cu可以被分割為具有2n×(1/2)n大小的pu,和具有2n×(3/2)n大小的pu。在這種情況下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的上面部分中。在2n×nd模式中,一個cu可以被分割為具有2n×(3/2)n大小的pu,和具有2n×(1/2)n大小的pu。在這種情況下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的下面部分中。此外,在nl×2n模式中,一個cu可以被分割為具有(1/2)n×2n大小的pu,和具有(3/2)n×2n大小的pu。在這種情況下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的左側。在nr×2n模式中,一個cu可以被分割為具有(3/2)n×2n大小的pu,和具有(1/2)n×2n大小的pu。在這種情況下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的右側。

前面提到的分割模式僅是一個實施例,并且因此,將cu分割為pu的方法不局限于前面提到的實施例。例如,在幀間預測530的情況下,cu(和/或pu)的分割模式可以僅使用四種類型的模式,即,2n×2n、2n×n、n×2n和n×n,并且除了前面提到的8種類型的分割模式之外,可以進一步使用其它分割模式。

應用于當前cu(和/或pu)的分割模式可以由編碼器確定。關于由編碼器確定的分割模式的信息可以被編譯和發(fā)送給解碼器。解碼器可以基于發(fā)送的分割模式信息確定當前cu(和/或pu)。例如,分割模式信息可以通過使用分割_模式(part_mode)語法發(fā)送給解碼器。

同時,分配給在圖5的520和530中示出的每個pu的數(shù)字表示pu的分割索引。在此處,分割索引可以暗指指示在當前cu所屬的pu之中當前pu對應哪個pu的索引。例如,分割索引可以由partidx表示。

參考圖5,例如,在圖5的520示出的n×n分割模式中,在cu中位于右上部的pu的分割索引可以對應于1。因此,如果1被分配給當前pu的分割索引,分割索引的值可以指示當前pu是在當前cu中位于右上部的pu。對于另一個示例,在圖5的530示出的2n×nu分割模式中,在cu中位于左側的pu的分割索引可以對應于0。因此,如果0被分配給當前pu的分割索引,則分割索引的值可以指示當前pu是在當前cu中位于左側的pu。

在圖5示出的每個分割模式中分配分割索引的方法僅是用于一個實施例,并且因此,確定是否去分配分割索引和分配分割索引的方法可以不同于前面提到的實施例。例如,在圖5的530示出的2n×nu分割模式中,在cu中位于左側的pu的分割索引可以對應于1。對于另一個示例,在2n×2n分割模式中,由于cu沒有分割為多個pu,分割索引可以不必分配給pu。在下文中,為了解釋方便起見,在如下所述本發(fā)明的實施例中假設當執(zhí)行編碼和解碼的時候,應用在圖5中示出的分割模式和分割索引。

在下文中,在本發(fā)明中,當前塊是目前對其執(zhí)行編碼、解碼和/或預測處理的塊,并且可以暗指當執(zhí)行編碼、解碼和/或預測處理的時候對應于處理單元的塊。例如,如果對當前塊執(zhí)行預測處理,則當前塊可以對應于要預測的塊,該要預測的塊對應于當前pu。此外,在本發(fā)明中,通過預測產生的塊被稱作預測塊。

“單元”暗指當執(zhí)行編碼、解碼等的時候的處理單元,并且因此,可以不同于指示一組像素和/或采樣的“塊”。但是,為了解釋方便起見,在本發(fā)明中“單元”可以選擇性地涉及對應于“單元”的“塊”。例如,在下文中,在本發(fā)明中,對應于一個pu的要預測的塊可以稱為pu,并且要編碼/解碼并且對應于一個cu的塊可以稱為cu。這樣的區(qū)別將由本領域技術人員清楚地理解。

同時,如果對當前塊執(zhí)行幀間預測,則基于該預測諸如高級運動矢量預測(amvp)、合并模式,和/或跳躍模式的預測模式可用于降低傳輸信息量。

在合并模式中的當前塊可以合并為在當前圖片和/或參考圖片中的另一個塊(例如,相鄰塊,在此處該相鄰塊包括相鄰于當前塊的塊,和/或位置上最靠近于當前塊的轉角的塊)。在這種情況下,所述的是當運動信息是在當前塊的幀間預測中從在當前圖片和/或參考圖片中的另一個塊的運動信息中獲得的時候,該塊被合并。

當前塊的合并相關的信息的示例可以包括指示用于當前塊的預測模式是否是合并模式的信息,指示在包括在合并候選列表的合并候選之中當前塊被合并到其的合并候選的信息等。在下文中,指示用于當前塊的預測模式是否是合并模式的信息被稱作合并標記,并且指示在包括在合并候選列表中的合并候選之中當前塊被合并到其的合并候選的信息被稱作合并索引。例如,該合并標記可以由合并_標記(merge_flag)指示,并且合并索引可以由merge_idx指示。在這種情況下,只有該合并標記指示用于當前塊的預測模式是合并模式(例如,merge_flag=1)時,可以獲得該合并索引。

跳躍模式是在其中殘留信號(其是在預測塊和當前塊之間的差值)的傳輸被跳躍的預測模式。在跳躍模式中,該預測塊和當前塊的殘留信號的值可以是0。因此,在跳躍模式中,編碼器可以不必將殘留信號發(fā)送給解碼器,并且該解碼器可以通過僅使用在殘留信號和運動信息之間的運動信息產生預測塊。在跳躍模式中,編碼器可以將運動信息發(fā)送給解碼器。在這種情況下,運動信息可以指定在當前塊的相鄰塊之中的任何一個塊,使得該塊的運動信息用于當前塊。

在前面提到的跳躍模式中,為了獲得當前塊的運動信息,可以使用在合并模式中使用的相同的方法。在這種情況下,在跳躍模式和合并模式中,相同的相鄰塊可以用作供推導運動信息的候選塊。例如,在跳躍模式中,在包括在合并候選列表中的合并候選之中由合并索引指示的合并候選塊的運動信息可以直接作為當前塊的運動信息使用。在這種情況下,跳躍模式也可以被稱作合并跳躍模式。在下文中,跳躍模式在本發(fā)明中暗指前面提到的合并跳躍模式。在合并模式中的幀間預測方法的特定的實施例將在下面參考圖6描述。

圖6是簡要地示出在合并模式中的幀間預測方法的實施例的流程圖。圖6的實施例可以應用于編碼器和解碼器。在下文中,為了解釋方便起見,圖6的實施例集中于解碼器。

參考圖6,解碼器可以產生由多個合并候選構成的合并候選列表(步驟s610)。解碼器可以通過使用特定的過程推導多個合并候選,并且可以基于推導的合并候選產生合并候選列表。在這種情況下,在當前圖片中包括在塊中,和/或在除當前圖片以外的參考圖片的col塊中的運動信息可以用作合并候選,和/或可用于推導合并候選。在下文中,為了解釋方便起見,在本發(fā)明中用作合并候選的運動信息被稱作“合并候選塊”。用于產生合并候選列表的合并候選的實施例將在下面描述。

回到參考圖6,解碼器可以基于產生的合并候選列表推導當前塊的運動信息(步驟s620)。

更具體地說,解碼器可以選擇在構成合并候選列表的合并候選之中用于推導當前塊的運動信息的合并候選。在一個實施例中,解碼器可以選擇由從編碼器發(fā)送的合并索引指示的合并候選作為用于推導當前塊的運動信息的合并候選。在這種情況下,解碼器可以基于選擇的合并候選推導當前塊的運動信息。例如,解碼器可以將選擇的合并候選的運動信息直接作為當前塊的運動信息使用。

當推導當前塊的運動信息的時候,編碼器可以基于推導的運動信息產生用于當前塊的預測塊(步驟s630)。

圖7是示出用于產生合并候選列表的合并候選的實施例的示意圖。

當如上所述應用合并模式的時候,當前塊的運動信息可以基于在包括在合并候選列表中的合并候選之中的任何一條運動信息推導。例如,在包括在合并候選列表的合并候選之中,任何一條運動信息單元可以用作當前塊的運動信息。在這種情況下,殘留信號可以與運動信息一起發(fā)送,并且如果預測塊的像素值被直接作為當前塊的像素值使用,則殘留信號可以不必發(fā)送。

用于產生合并候選列表的合并候選的實施例在圖7的710中示出。參考圖7的710,當前塊的左側相鄰塊a和/或當前塊的上面相鄰塊b可以用作合并候選塊。在這種情況下,如所圖示的,當前塊的左側相鄰塊可以是在相鄰于當前塊的左側的塊之中位于最上面部分的塊,并且當前塊的上面相鄰塊可以是在相鄰于當前塊的上部的塊之中位于最左側的塊。此外,左下角塊c和/或右上角塊d可以用作合并候選塊。前面提到的左側相鄰塊a、上面相鄰塊b、左下角塊c,和右上角塊d可以對應于位于當前圖片中的當前塊的相鄰塊。因此,從合并候選塊中推導的合并候選可以稱作空間合并候選。此外,以另一個視角,由于空間合并候選可用于預測當前塊的運動矢量,其也可以被稱作空間運動矢量預測器(smvp)。

此外,col塊col可以在圖7的710中作為合并候選塊使用。col塊可以對應于在除當前圖片以外的參考圖片中的塊。更具體地說,編碼器和解碼器可以在參考圖片中的特定的位置,和/或由特定過程確定的位置處選擇塊作為col塊。在此處,col塊的位置可以基于在當前塊中的塊,和/或與當前塊共處一地的參考圖片(在下文中,為了解釋方便起見,稱作“共處一地的塊”)推導。前面提到的col塊是從參考圖片推導的塊。因此,從col塊推導的合并候選可以被稱作時間合并候選。此外,從另一個視角,由于時間合并候選可用于預測當前塊的運動矢量,其可以被稱作時間運動矢量預測器(tmvp)。

用于產生合并候選列表的合并候選的另一個實施例在圖7的720中示出。參考圖7的720,合并候選列表可以包括作為合并候選的左下角塊a0、右上角塊b0,和/或左上角塊b2的運動信息。此外,該合并候選列表可以包括作為合并候選的當前塊的左相鄰塊a1,和/或當前塊的上相鄰塊b1的運動信息。在這種情況下,左相鄰塊a1可以是在相鄰于當前塊的左側塊之中位于最下面部分的塊,并且上相鄰塊b1可以是在相鄰于當前塊的上部塊之中位于最右側塊。前面提到的左下角塊a0、左相鄰塊a1、右上角塊b0、上相鄰塊b1,和左上角塊b2可以對應于位于當前圖片中的當前塊的相鄰塊。因此,從合并候選塊中推導的合并候選可以稱作空間合并候選。此外,以另一個視角,由于空間合并候選可用于預測當前塊的運動矢量,其也可以被稱作空間運動矢量預測器(smvp)。

此外,在圖7的720中,類似于圖7的710,col塊的運動信息可以用作包括在合并候選列表中的合并候選。如上所述,col塊可以對應于在除當前圖片以外的參考圖片中的塊。在此處,col塊的位置可以基于當前塊和/或共處一地的塊推導。前面提到的col塊是從參考圖片推導的塊。因此,從col塊推導的合并候選可以被稱作時間合并候選。此外,從另一個視角,由于時間合并候選可用于預測當前塊的運動矢量,其可以被稱作時間運動矢量預測器(tmvp)。

在本發(fā)明中用于產生合并候選列表的合并候選不局限于前面提到的實施例,并且因此,該合并候選可以從前面提到的實施例中選擇性地不同地推導。但是,除非在本發(fā)明中另作說明的,在下文中假設如圖7的720所示的共處一地的合并候選用于按照要預測的塊(和/或當前塊)預測合并模式。此外,在下文中,當在本發(fā)明中描述關于要合并/跳躍的pu的合并候選的內容的時候,在pu的外部位置上最靠近于左下角的塊由a0指示,在相鄰于pu左側的塊之中位于最下面部分的塊由a1指示,在pu的外部位置上最靠近于右上角的塊由b0指示,在相鄰于pu的上部塊之中位于最右側的塊由b1指示,和在pu的外部位置上最靠近于左上角的塊由b2指示。

參考圖7的實施例,選擇構成合并候選列表的合并候選的方法可以被不同地擴展。編碼器和解碼器可以按照前面提到的圖7的實施例通過選擇合并候選配置合并候選列表。在這種情況下,當選擇合并候選的時候,編碼器和解碼器可以通過除去冗余的候選配置合并候選列表以降低冗余度。

此外,在前面提到的圖7的實施例中,構成合并候選列表的合并候選的數(shù)目可以局限于特定的固定數(shù)目。例如,在圖7的720的實施例中,假設合并候選的數(shù)目是5,并且該合并候選被以{a1,b1,b0,a0,b2,col}的順序增加和/或插入到合并候選列表。在這種情況下,如果塊a1、b1、b0、a0、b2和col全部是可用的,僅塊a1、b1、b0、a0和col的運動信息可以被確定為是包括在合并候選列表中的合并候選。對于另一個示例,在塊a1、b1、b0、a0、b2和col之中,可用的塊的數(shù)目可以小于5。在這種情況下,編碼器和解碼器可以基于可用的合并候選,通過使用特定的過程,推導新的合并候選,使得最終推導的合并候選的數(shù)目是5。

同時,例如,當以合并模式和/或跳躍模式執(zhí)行幀間預測的時候,編碼器和解碼器可以對于每個pu連續(xù)地執(zhí)行運動估算(me)。但是,對于另一個示例,為了改善編碼/解碼性能,編碼器和解碼器可以對于多個pu同時地執(zhí)行me。也就是說,可以以合并模式和/或跳躍模式對于多個pu并行執(zhí)行me,并且在這種情況下,me可以被稱作并行me。在下文中,在本發(fā)明中,并行me被應用于其的合并模式被稱作并行合并模式和/或并行合并,并且并行me被英已經于其的跳躍模式被稱作并行跳躍模式和/或并行跳躍。

為了解釋方便起見,如下所述的實施例集中于并行合并模式。但是,如下所述的實施例不局限于并行合并模式,但是,相同的或者類似的方法也可以應用于并行跳躍模式。

圖8是示出以合并模式和跳躍模式的并行處理單元的實施例的示意圖。

在圖8示出的整個塊指示一個編譯樹塊(ctb),并且ctb可以對應于最大的編譯單元(lcu)。如上所述,ctb可以具有經由分割由較小編譯單元構成的分層結構,并且每個編譯單元可以用作一個pu,或者可以被分割為多個pu。因此,構成圖8的ctb的矩形塊和長方形塊的每個可以對應于一個pu。

同時,由圖8的810、820、830和840指示的矩形塊的每個可以指示用于執(zhí)行并行me的并行處理單元。也就是說,lcu可以被分割為多個非冗余的并行處理單元。在此處,例如,多個并行處理單元可以具有相同的大小。在這種情況下,編碼器和解碼器可以在一個并行處理單元內對于所有pu同時地執(zhí)行me。例如,可以對于包括在并行處理單元810中的pua和pub并行執(zhí)行me。并行處理單元對應于并行me被應用到的區(qū)域,并且因此也可以被稱作運動估算區(qū)(mer)。在下文中,為了解釋方便起見,在本發(fā)明中用于執(zhí)行并行me的并行處理單元被稱作mer。

當以合并模式和/或跳躍模式應用并行me的時候,編碼器需要將與并行me相關的信息發(fā)送給解碼器。如上所述,由于并行me可以應用于在mer內的所有pu,從編碼器發(fā)送到解碼器的信息可以對應于以合并模式和/或跳躍模式的并行處理水平。在此處,該并行處理水平可以對應于用于執(zhí)行并行me的并行處理單元的大小,并且因此,也可以對應于mer的大小。例如,如果以具有32×32大小的塊為單位執(zhí)行并行me,也就是說,如果mer的大小對應于32×32,可以說以32×32并行處理水平執(zhí)行并行me。并行處理水平指示以合并模式和/或合并跳躍模式的并行處理水平,并且因此,也可以被稱作并行合并水平。

在此處,并行處理水平可以限制在特定的范圍內。例如,并行處理水平可以局限于小于在4×4和lcu大小之間的大小。在這種情況下,mer可以具有小于或等于lcu大小和/或ctb大小的大小。

與前面提到的并行處理水平相關的信息可以通過包括在序列參數(shù)

集(sps)或者圖片參數(shù)集(pps)中在比特流上從編碼器發(fā)送到解碼器。與

包括在pps中的并行處理水平相關的信息可以通過包括在例如以下的

表1中的語法元素限定。

[表1]

在此處,log2_parallel_merge_level_minus2可以表示以合并模式和/或跳躍模式的并行處理水平。更具體地說,分配給log2_parallel_merge_level_minus2的值可以對應于通過從實際的并行處理水平的log值(也就是說,實際的mer大小的log值)中減去2獲得的值。如果pu的最小大小是4×4,并行處理水平的log值的最小值可以對應于2。因此,為了降低傳輸信息量,通過從實際的并行處理水平的log值中減去2獲得的值可以分配給log2_parallel_merge_level_minus2。

在pps中限定的并行處理水平信息不局限于前面提到的實施例。在表1的實施例中,除與并行處理水平相關的信息以外指示另一個信息的語法可以被不同地選擇性地應用。

同時,在表1中,log2_parallel_merge_level_minus2可以按照分配的值具有與以下的表2的實施例相同的含義。

[表2]

參考表2,如果值0被分配給log2_parallel_merge_level_minus2,則mer大小可以對應于4×4。在這種情況下,由于最小的pu的大小是4×4,編碼器和解碼器可以對于在lcu中的所有pu連續(xù)地執(zhí)行me。對于另一個示例,如果值2被分配給log2_parallel_merge_level_minus2,mer大小可以對應于16×16。在這種情況下,編碼器和解碼器可以以16×16并行處理水平執(zhí)行并行me。也就是說,編碼器和解碼器可以對于在16×16塊中的所有pu并行執(zhí)行me。同樣地,即使即使另一個值被分配給log2_parallel_merge_level_minus2,編碼器和解碼器可以按照分配的值通過使用類似的方法執(zhí)行并行me。

同時,一個編譯樹塊可以包括多個cu。在這種情況下,一個并行處理單元(也就是說,一個mer)可以包括一個pu,或者可以具有與一個cu相同的大小。此外,一個mer可以包括多個cu。

例如,參考圖8,mer810可以具有與由pua和pub構成的一個cu相同的大小。此外,mer830和mer840分別地具有與cug和cuh相同的大小。因而,如果一個cu具有與mer相同的大小,可以看到,以cu為單位執(zhí)行對于cu的并行me。另一方面,mer820可以包括cuc(在此處,cuc對應于puc)、cud(在此處,cud包括pud1和pud2)、cue(在此處,cue對應于pue),和cuf(在此處,cuf包括puf1和puf2)。在這種情況下,對于在mer820中的puc、d1、d2、e、f1和f2的全部可以以合并模式和/或跳躍模式并行執(zhí)行me。

同時,如上參考圖8的實施例所述,為了以合并模式和/或跳躍模式執(zhí)行并行me,必須允許對于并行處理單元(也就是說,對于在mer中的所有pu)獨立地執(zhí)行幀間預測和/或me。但是,在前面提到的合并模式和/或跳躍模式中,就并行me而言可能出現(xiàn)問題。

圖9是用于解釋當以合并模式執(zhí)行并行me的時候出現(xiàn)的問題的示意圖。圖9的910、920、930和940每個指示一個cu。

如上圖8所述,并行處理單元(也就是說,mer)可以與當前的cu具有相同的大小,或者可以不必具有相同的大小。在圖9的實施例中假設mer的大小與當前的cu相同。在這種情況下,在圖9中示出的每個cu可以對應于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。但是,在mer大小大于當前的cu的情形下,也可以同樣地或者類似地出現(xiàn)如下參考圖9所述的問題。

在圖9的910中,cu(和/或pu)的分割模式是2n×2n。因此,一個cu可以無需被分割用作pua,并且因此,可能不會出現(xiàn)由并行me所引起的問題。

在圖9的920中,cu(和/或pu)的分割模式是2n×n。在這種情況下,對于并行me,對于上層pub1和下層pub2同時地執(zhí)行me。但是,在用于下層pub2的合并候選之中,當完成上層pub1的編碼/解碼的時候,位于最左側并且相鄰于下層pub2的上部的塊925的運動信息可以用作下層pub2的合并候選。因而,由于下層pub2使用屬于上層pub1的運動信息,不能對于屬于在圖9的920中的cu的pu同時地執(zhí)行me。

在圖9的930中,cu(和/或pu)的分割模式是n×2n。在這種情況下,對于并行me,必須對于左側puc1和右側puc2同時地執(zhí)行me。但是,在用于右側puc2的合并候選之中,當完成左側puc1的編碼/解碼的時候,位于最下面部分和相鄰于右側puc2的左側的塊935的運動信息可以用作右側puc2的合并候選。因而,由于右側puc2使用屬于左側puc1的運動信息,不能對于屬于在圖9的930中的cu的pu同時地執(zhí)行me。

在圖9的940中,cu(和/或pu)的分割模式是n×n。在這種情況下,對于并行me,必須對左上pud1、右上pud2、左下pud3和右下pud4同時地執(zhí)行me。但是,例如,在用于右下pud4的合并候選之中,當完成左上pud1、右上pud2和左下pud3的編碼/解碼的時候,位于右下pud4的左上角的塊941、位于最右側和相鄰于右下pud4的上部的塊943,和位于最下面部分和相鄰于右下pud4的左側的塊945的運動信息可以用作右下pud4的合并候選。此外,在圖9的940中,也可能在右上pud2和左下pud3中出現(xiàn)與前面提到的右下pud4類似的問題。因而,除左上pud1以外的pu使用屬于其它的pu的運動信息,并且因此,不能對于屬于在圖9的940中的cu的pu同時地執(zhí)行me。

雖然在前面提到的實施例中僅描述了對于cu(和/或pu)的分割模式是2n×2n、2n×n、n×2n和n×n的情形的問題,這樣的問題也可能在另一個分割模式(例如,2n×nu、2n×nd、nl×2n或者nr×2n)中同樣地或者類似地出現(xiàn)。在下文中,將描述推導合并候選的方法和配置候選列表的方法,以解決按照本發(fā)明的實施例的如上參考圖9所述的問題。

圖10是示出推導用于使能并行me的合并候選方法的實施例的示意圖。圖10的1010至1060每個指示一個cu,并且在屬于每個cu的pu上標記的數(shù)字表示分割索引。

為了解釋方便起見,假設在圖10的實施例中mer具有與當前的cu相同的大小。在這種情況下,在圖10中示出的每個cu可以對應于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。然而,即使mer的大小(也就是說,并行處理水平)大于cu,圖10的以下的實施例可以同等地應用于屬于并行處理水平的每個cu。

同時,如上參考圖9所述,在對于其執(zhí)行并行me的mer內,可能存在使用對于其沒有完成編碼/解碼的另一個塊的pu。在這種情況下,不能對于屬于mer的pu同時地執(zhí)行me。因此,為了解決這個問題,編碼器和解碼器可以不必將運動信息不可用的塊作為合并候選塊使用。也就是說,編碼器和解碼器可以在推導合并候選的過程中將塊處理為不可用的,并且可以不必將該塊的運動信息增加給合并候選列表。

在圖10的1010中,cu(和/或pu)的分割模式是2n×n,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且可以不必用作下面pu的合并候選塊。在這種情況下,塊的運動信息可以不必被增加到合并候選列表。

此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且可以不必用作下面pu的合并候選塊。在這種情況下,塊的運動信息可以不必被增加到合并候選列表。

如圖10的1010的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的下面pu推導的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時間合并候選,如果將1增加到空間合并候選的數(shù)目,則對于下面pu推導的可用的合并候選的最大數(shù)可以是3。

在圖10的1020中,cu(和/或pu)的分割模式是2n×nu,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運動信息是不可用的。這是因為其可能是塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,所以塊可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖10的1020的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的下面pu推導的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于下面pu推導的可用的合并候選的最大數(shù)可以是3。

在圖10的1030中,cu(和/或pu)的分割模式是2n×nd,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運動信息是不可用的。這是因為其可能是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖10的1030的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的下面pu推導的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于下面pu推導的可用的合并候選的最大數(shù)可以是3。

在圖10的1040中,cu(和/或pu)的分割模式是n×2n,并且右側pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引1的右側pu的me中,塊a0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖10的1040的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的右側pu推導的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,則對于右側pu推導的可用的合并候選的最大數(shù)可以是4。

在圖10的1050中,cu(和/或pu)的分割模式是nl×2n,并且右側pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引1的右側pu的me中,塊a0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖10的1050的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的右側pu推導的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于右側pu推導的可用的合并候選的最大數(shù)可以是4。

在圖10的1060中,cu(和/或pu)的分割模式是nr×2n,并且右側pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引1的右側pu的me中,塊a0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖10的1060的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的右側pu推導的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于右側pu推導的可用的合并候選的最大數(shù)可以是4。

按照前面提到的實施例,在推導空間合并候選的過程中,編碼器和解碼器可以基于特定的條件將pu的相鄰塊處理為是不可用的。這可以表示如下。

如果以下條件的一個是真的,可用標記n(availableflagn)被設置等于0,兩個分量mvlxn被設置等于0,覆蓋亮度位置(xn,yn)的預測單元的refldxlxn和preflaglx[xn,yn]被分別地分配給mvlxn、refldxlxn和predflaglxn。

在此處,可用標記n是指示塊n(這里n是a0、a1、b0、b1和b2的一個)是否是能夠用作合并候選塊的可用的塊的標記。此外,mvl×n表示塊n的運動矢量,并且refidxl×n表示塊n的參考圖片索引。在此處,x可以具有0或者1的值。此外,predflaglxn可以對應于指示是否在塊n上執(zhí)行l(wèi)x預測的標記。

可能存在用于將pu的相鄰塊處理為是不可用的若干類型的條件。例如,如果n是塊b2,并且塊a0、a1、b0和b1全部是可用的,以將合并候選的數(shù)目保持為5,其可以將塊b2處理為是不可用的。此外,如果相鄰塊的預測模式是內部模式,其可以將該塊處理為是不可用的。這可以表示如下。

-n等于b2,并且可用標記a0+可用標記a1+可用標記b0+可用標記b1等于4。

-覆蓋亮度位置(xn,yn)的預測單元是不可用的,或者predmode是mode_intra。

此外,如在前面提到的實施例中描述的,如果當前的cu(和/或pu)的分割模式是2n×n、2n×nu,或者2n×nd,并且當前的pu的分割索引是1,則塊b1可以被處理為是不可用的。此外,如果當前的cu(和/或pu)的分割模式是n×2n、nl×2n,或者nr×2n,并且當前的pu的分割索引是1,則塊a1可以被處理為是不可用的。這可以表示如下。

-當前的預測單元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。

-當前的預測單元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。

前面提到的最后的兩個條件可以通過允許屬于相同的cu的pu互相不具有相關性,來對于屬于相同cu的所有pu使能并行me。此外,如果一個pu使用在相同的cu中屬于另一個pu的運動信息,則在相同的cu中長方形pu具有相同的運動信息,并且因此,可以最終具有與在2n×2n分割模式中相同的運動信息。在這種情況下,前面提到的最后的兩個條件可以防止長方形pu具有與在2n×2n分割模式中相同的運動信息。

圖11是示出推導用于使能并行me的合并候選方法的另一個實施例的示意圖。圖11的1110至1130每個指示一個cu,并且在屬于每個cu的pu中標記的數(shù)字表示分割索引。

為了解釋方便起見,假設在圖11的實施例中mer具有與當前的cu相同的大小。在這種情況下,在圖11中示出的每個cu可以對應于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。即使mer的大小(也就是說,并行處理水平)大于cu,則圖11的以下的實施例可以同等地應用于屬于并行處理水平的cu中的每個。

同時,如上圖10的實施例所述的是用于cu(和/或pu)的分割模式是2n×n、2n×nu、2n×nd、n×2n、nl×2n和nr×2n的情形。但是,即使cu(和/或pu)的分割模式是n×n,在對其執(zhí)行并行me的mer內,可能存在使用編碼/解碼沒有對其完成的另一個塊(和/或pu)的pu。在這種情況下,不能對于屬于mer的pu同時地執(zhí)行me。因此,為了解決這個問題,編碼器和解碼器不可以將其運動信息不可用的塊作為合并候選塊使用。也就是說,編碼器和解碼器可以在推導合并候選的過程中處理不可用的塊,并且不可以將該塊的運動信息增加給合并候選列表。

在圖11的1110中,cu(和/或pu)的分割模式是n×n,并且右上pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a0和塊a1是在相同的cu中屬于另一個pu的塊。在這種情況下,右上pu與在相同的cu中的另一個pu具有相關性。因此,由于塊a0和塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右上pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖11的1110的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引1的右上pu推導的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,則對于右上pu推導的可用的合并候選的最大數(shù)可以是4。

在圖11的1120中,cu(和/或pu)的分割模式是n×n,并且左下pu的合并候選具有分割索引2。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b0和塊b1是在相同的cu中屬于另一個pu的塊。在這種情況下,左下pu與在相同的cu中的另一個pu具有相關性。因此,由于塊b0和塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作左下pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引2的左下pu的me中,塊a0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作左下pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖11的1120的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對于具有分割索引2的左下pu推導的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于左下pu推導的可用的合并候選的最大數(shù)可以是3。

在圖11的1130中,cu(和/或pu)的分割模式是n×n,并且右下pu的合并候選具有分割索引3。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1、塊b1,和塊b2是在相同的cu中屬于另一個pu的塊。在這種情況下,右下pu與在相同的cu中的另一個pu具有相關性。因此,由于塊a1、塊b1和塊b2是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右下pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

此外,在具有分割索引3的右下pu的me中,塊a0和塊b0的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且不可以用作右下pu的合并候選塊。在這種情況下,該塊的運動信息不可以被增加給合并候選列表。

如圖11的1130的實施例所示,如果在并行me中不能使用的塊被處理為是不可用的,則對于具有分割索引3的右下pu推導的空間合并候選的數(shù)目可以是0。在這種情況下,通過考慮時間合并候選,如果1被增加給空間合并候選的數(shù)目,對于右下pu推導的可用的合并候選的最大數(shù)可以是1。

按照前面提到的實施例,在推導空間合并候選的過程中,編碼器和解碼器可以基于特定的條件將pu的相鄰塊處理為是不可用的。如上參考圖10所述,可能存在用于將pu的相鄰塊處理為是不可用的若干類型的條件。

按照圖11的實施例,如果當前的cu(和/或pu)的分割模式是n×n,并且當前的pu的分割索引是1,則塊a0和塊a1可以被處理為是不可用的。此外,如果當前的cu(和/或pu)的分割模式是n×n,并且當前的pu的分割索引是2,則塊b0和塊b1可以被處理為是不可用的。此外,如果當前的cu(和/或pu)的分割模式是n×n,并且當前的pu的分割索引是3,則塊a1、塊b1和塊b2可以被處理為是不可用的。前面提到的三個條件可以如下在圖10描述的實施例中那樣增加。

如果以下條件的一個是真的,可用標記n被設置等于0,兩個分量mvlxn被設置等于0,覆蓋亮度位置(xn,yn)的預測單元的refldxlxn和preflaglx[xn,yn]被分別地分配給mvlxn、refldxlxn和predflaglxn。

-n等于b2,并且可用標記a0+可用標記a1+可用標記b0+可用標記b1等于4。

-覆蓋亮度位置(xn,yn)的預測單元是不可用的,或者predmode是mode_intra。

-當前的預測單元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。

-當前的預測單元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。

-當前的預測單元的partmode是part_n×n,并且partidx等于1,以及n等于a0或者a1。

-當前的預測單元的partmode是part_n×n,并且partidx等于2,以及n等于b0或者b1。

-當前的預測單元的partmode是part_n×n,并且partidx等于3,以及n等于a1或者b1或者b2。

在前面提到的實施例中增加的三個條件可以防止屬于cu的一個pu避免引用屬于相同的cu的另一個pu的運動信息。因此,按照前面提到的實施例,對于屬于相同的cu的所有pu可以并行推導空間合并候選。

同時,如果前面提到的圖10和圖11的實施例以并行合并模式和/或并行跳躍模式應用,則對于每個pu能夠推導的可用合并候選的最大數(shù)可以按照分割模式和分割索引估算。對于每個pu可用的合并候選的最大數(shù)可以通過將時間候選的數(shù)目(例如,1)增加給能夠在并行me中使用的可用的空間合并候選的數(shù)目估算。例如,在圖10和圖11的每個分割模式中,對于具有分割索引值0的pu可以推導高達5個可用的合并候選。對于另一個示例,在如圖10的1010所示的2n×n的分割模式中,對于具有分割索引1的pu可以推導高達3個可用的合并候選。對于每個pu推導的可用的合并候選的最大數(shù)可以按照分割模式和分割索引由以下的表3表示。

[表3]

在此處,partmode表示cu(或者pu)的分割模式,并且partidx表示pu的分割索引。此外,maxnummergecand表示對于相應的pu推導的可用的合并候選的最大數(shù)。

但是,如果如上參考圖7所述合并候選的數(shù)目限于5,則合并索引指示5個合并候選的一個。在這種情況下,對應于5個合并候選的比特量可用于發(fā)送合并索引。但是,如上所述,從pu推導的可用的合并候選的最大數(shù)可以小于5,并且在這種情況下,發(fā)送合并索引需要的比特量可以小于對應于5個合并候選的比特量。也就是說,用于合并索引傳輸需要的實際比特量可以與處理為不可用的塊的數(shù)目成比例地減少。在這種情況下,當使用的比特超出用于合并索引傳輸需要的實際的比特量的時候,該比特可以認為相對于合并索引被浪費。

為了解決前面提到的問題,編碼器和解碼器可以通過應用按照分割模式和分割索引優(yōu)化的合并候選的數(shù)目對合并索引執(zhí)行編碼/解碼,從而能夠減少或者節(jié)省可以用于合并索引傳輸?shù)谋忍亓俊?/p>

在一個實施例中,諸如表3的表可以存儲在編碼器和解碼器中。在這種情況下,編碼器可以基于前面提到的表按照分割模式和分割索引確定對于任何pu推導的可用的合并候選的最大數(shù)。此外,編碼器可以基于最大數(shù)編碼用于pu的合并索引,并且可以將編碼的合并索引發(fā)送給解碼器。在這種情況下,僅對應于最大數(shù)的比特量在合并索引的傳輸中使用,并且因此,可以減少在合并索引的傳輸中使用的比特量。由于表被同等地存儲在解碼器中,對于任何pu推導的可用的合并候選的最大數(shù)可以以與在編碼器中使用的相同的方法確定。在這種情況下,基于最大數(shù),解碼器可以解碼從編碼器發(fā)送的合并索引。

同時,參考圖11的1130和表2,如果cu(和/或pu)的分割模式是n×n,并且屬于cu的pu的分割索引值是3,僅一個時間合并候選可以對應于屬于pu的可用的合并候選。在這種情況下,對于pu推導的可用的合并候選的最大數(shù)可以是1。如果可用的合并候選的最大數(shù)是1,則解碼器可以知道哪個合并候選用于推導pu的運動信息,而無需必須使用合并索引。因此,如果cu(和/或pu)的分割模式是n×n,并且屬于cu的pu的分割索引是3,則編碼器可以不將用于pu的合并索引發(fā)送給解碼器。

圖12是示出推導用于使能并行me的合并候選方法的另一個實施例的示意圖。圖12的1210指示表示一個cu,并且在屬于每個cu的pu上標記的數(shù)字表示分割索引。

為了解釋方便起見,假設在圖12的實施例中mer具有與當前的cu相同的大小。在這種情況下,在圖12中示出的每個cu可以對應于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。然而,即使mer的大小(也就是說,并行處理水平)大于cu,圖12的以下的實施例可以同等地應用于屬于并行處理水平的cu中的每個。

在圖10和圖11前面提到的實施例中,對應于當執(zhí)行并行me的時候運動信息是不可用的塊的合并候選可以處理為是不可用的,并且因此,不可以被增加給合并候選列表。在這種情況下,當當前的cu(和/或pu)的分割模式是2n×2n的時候,處理為是不可用的合并候選可以以使用的合并候選替換。

在圖12的1210中,當前的cu(和/或pu)的分割模式是2n×n,并且目前對其執(zhí)行me的pu是具有分割索引1的下面pu。在這種情況下,如上參考圖10所述,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a0、塊b0,和塊b1是在并行me中不能使用的塊,并且因此,可以處理為是不可用的。

但是,如果當前的cu(和/或pu)的分割模式是2n×2n,當執(zhí)行并行me的時候,塊b0’(即,在當前的cu外部位置上最靠近于右上角的塊)和塊b1’(即,在相鄰于當前的cu的上部的塊之中位置上最靠近于最右側的塊)可以具有可用的運動信息。因此,編碼器和解碼器可以將塊b0’而不是塊b0作為下面pu的合并候選塊使用,并且可以將塊b1’而不是塊b1作為下面pu的合并候選塊使用。

雖然前面提到的實施例局限于當前的cu(和/或pu)的分割模式是2n×n的情形,但本發(fā)明不受限于此。也就是說,推導合并候選的前面提到的方法可以類似地應用于當前的cu的分割模式是n×2n、n×n、2n×nu、2n×nd、nl×2n或者nr×2n的情形。

同時,就對其執(zhí)行并行me的多個pu而論,編碼器和解碼器可以推導和使用通用的合并候選和/或通用的合并候選列表,從而使能并行me?;谕ㄓ玫暮喜⒑蜻x和/或通用的合并列表的并行me方法可以相對于圖10和/或圖11的前面提到的實施例獨立地應用,或者也可以與圖10和/或圖11的實施例相關聯(lián)地應用于編碼器/解碼器。在下文中,在本發(fā)明中,通常供多個pu使用的合并候選被稱作“通用的合并候選”,并且供多個pu通常使用的合并候選列表被稱作“單個合并候選列表”。

在這種情況下,通過其推導通用的合并候選和/或單個合并候選列表的單元可以是預先確定的特定的單元。在此處,特定的單元可以通過數(shù)字確定,并且可以是cu、mer和/或lcu。此外,通過其推導通用的合并候選和/或單個合并候選列表的單元可以在編碼器中確定。在這種情況下,編碼器可以編碼有關單元的信息,并且將其發(fā)送給解碼器。在這種情況下,解碼器可以基于發(fā)送的信息確定通過其推導通用的合并候選和/或單個合并候選列表的單元。在下文中,在本發(fā)明中,通過其推導通用的合并候選和/或單個合并候選列表的前面提到的單元被稱作“合并候選共享單元”。

例如,如果合并候選共享單元是cu,則在一個cu中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于cu的通用的合并候選,和/或用于cu的單個合并共享列表。在這種情況下,如果cu(和/或屬于cu的pu)的分割模式是2n×2n,則單個合并候選列表可以與屬于cu的pu的合并候選列表相同。對于另一個示例,如果合并候選共享單元是lcu,則在一個lcu中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于lcu的通用的合并候選和/或用于lcu的單個合并候選列表。對于另一個示例,如果合并候選共享單元是mer,則在一個mer中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于mer的通用的合并候選和/或用于mer的單個合并候選列表。

如果在一個合并候選共享單元中的所有pu共享通用的合并候選和/或單個合并候選列表,則在某種程度上可能出現(xiàn)編譯損耗。因此,編碼器和解碼器可以基于合并候選共享標記有選擇地確定合并候選推導方法和/或合并候選列表推導方法。在此處,合并候選共享標記可以對應于用于指示是否推導單個合并候選列表,和用于在合并候選共享單元中的所有pu,或者是否推導各自的合并候選列表和用于每個pu的標記。合并候選共享標記可以例如由parallel_merge_cand_flag、parallel_merge_derivation_flag或者singlemclflag表示。

例如,如果合并候選共享標記的值是1,則該標記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個合并候選列表。也就是說,在這種情況下,該標記可以指示合并候選的位置(即,空間合并候選和/或時間合并候選)對于在合并候選共享單元中的所有pu是相同的。此外,如果該合并候選共享標記是0,則該標記可以指示各自的合并候選列表被推導和用于每個pu。

例如,前面提到的合并候選共享標記可以是由編碼器編碼的標記,并且被發(fā)送給解碼器。在這種情況下,該合并候選共享標記可以在sps、pps、適配參數(shù)集(aps)或者片段報頭中限定。也就是說,該合并候選共享標記可以包括在前面提到的sps、pps、aps或者片段報頭中,并且可以從編碼器發(fā)送到解碼器。在這種情況下,該解碼器可以基于發(fā)送的標記確定合并候選推導方法和/或合并候選列表推導方法。

在另一個實施例中,對應于合并候選共享標記的值可以通過使用與在編碼器和解碼器中使用的相同的方法推導。在這種情況下,該編碼器可以不將與合并候選共享標記相關的信息發(fā)送給解碼器。

例如,假設該合并候選共享單元是cu。在這種情況下,分配給合并候選共享標記的值可以基于mer的大小和/或當前的cu的大小確定。例如,只有當mer的大小(也就是說,并行處理水平)大于4×4,并且當前的cu的大小是8×8時,編碼器和解碼器可以將值1分配給合并候選共享標記。在此處,如果該合并候選共享標記的值是1,則該標記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個合并候選列表。也就是說,只有當并行處理水平大于4×4,并且當前的cu的大小是8×8時,編碼器和解碼器可以允許在當前的cu中的所有pu能夠共享通用的合并候選和/或單個合并候選列表。在這種情況下,如果并行處理水平是4×4,或者當前的cu的大小不是8×8,則值0可以分配給合并候選共享標記。在此處,如果合并候選共享標記的值是0,則該標記可以指示推導各自的合并候選列表,并且用于每個pu。

在下文中,將描述按照本發(fā)明的實施例推導在合并候選共享單元中用于pu的通用的合并候選的方法。

圖13是示出推導在合并候選共享單元中用于pu的通用的合并候選的方法實施例的示意圖。

圖13的1310至1330的每個指示一個相同的cu,并且cu(和/或pu)的分割模式對應于n×2n。此外,partidx表示分割索引,pu0表示其中分割索引值是0的pu,并且pu1表示其中分割索引值是1的pu。

同時,為了解釋方便起見,在圖13的實施例中假設合并候選共享單元是cu。在這種情況下,圖13的每個cu可以對應于合并候選共享單元。該合并候選共享單元的大小可以與mer,即,并行處理單元的大小相同或者不同。

圖13的1310指示具有分割索引0的左側pu的合并候選。此外,圖13的1320指示具有分割索引1的左側pu的合并候選。參考圖13的1310和1320,在cu(即,合并候選共享單元)中的每個pu可以具有單獨的合并候選列表。

在這種情況下,在圖13的1320中的塊a1可以是屬于右側pu的塊。因此,由于右側pu使用屬于左側pu的運動信息,可以對于左側pu和右側pu同時地執(zhí)行me。在這種情況下,編碼器和解碼器可以通過將塊a1處理為是不可用的來使能并行me,并且也可以通過將具有可用的運動信息的塊的運動信息用作通用的合并候選來使能并行me。

參考圖13的1330,在cu(即,合并候選共享單元)中的pu可以具有通用的合并候選(和/或通用的合并候選列表)。也就是說,在圖13的1330中,在cu中的所有pu可以具有通用的合并候選(和/或單個合并候選列表)。

在此處,例如,通用的合并候選可以與當當前的cu1330的分割模式是2n×2n的時候推導的合并候選相同。更具體地說,編碼器和解碼器可以將在cu1330外部位置上最靠近于左下角的塊a0、在相鄰于cu1330左側的塊之中位于最下面部分的塊a1、在cu1330外部位置上最靠近于右上角的塊b0、在相鄰于cu1330的上部的塊之中位于最右側的塊b1,和在cu1330外部位置上最靠近于左上角的塊b2的運動信息作為用于左側pu,即,pu0,和用于右側pu,即,pu1的通用的合并候選使用。

在前面提到的圖13的1330的實施例中,在一個cu(即,合并候選共享單元)中的所有pu可以共享通用的合并候選(即,當當前的cu1330的分割模式是2n×2n的時候推導的合并候選),和/或單個合并候選列表。也就是說,在cu(即,合并候選共享單元)中的所有pu可以使用共處一地的合并候選。因此,前面提到的推導通用的合并候選的方法可以降低編碼復雜度,并且可以便于并行me。

前面提到的通用的合并候選推導方法僅是一個實施例,并且因此,對其應用通用的合并候選推導方法的分割模式不局限于n×2n。前面提到的通用的合并候選推導方法也可以以相同或者類似的方式應用于當前的cu(和/或pu)的分割模式是2n×2n模式、2n×n模式、n×n模式、2n×nu模式、2n×nd模式、nl×2n模式,或者nr×2n模式的情形。也就是說,不管cu(和/或pu)的分割模式,在一個cu中的所有pu可以共享通用的合并候選和/或單個合并候選列表。在這種情況下,編碼器和解碼器可以將存在于與當cu(和/或pu)的分割模式是2n×2n的時候使用的合并候選相同位置的塊作為通用的合并候選使用。

例如,即使當前的cu(和/或pu)的分割模式是n×n模式,在當前的cu中的所有pu(即,具有分割索引0的pu、具有分割索引1的pu、具有分割索引2的pu,和具有分割索引3的pu)可以共享通用的合并候選,和/或單個合并候選列表。此外,存在于與當當前的cu(和/或pu)的分割模式是2n×2n的時候使用的合并候選塊相同位置的塊的運動信息可以作為通用的合并候選推導。

通常,合并候選塊和/或pu的合并候選可以由相對于pu的相對位置指定。因此,一個pu的合并候選可以基于在pu中位于最左上部的坐標(例如,(xp,yp)),pu的寬度(例如,npbw),和pu的高度(例如,npbh)確定。

但是,如果使用通用的合并候選和/或單個合并候選列表,則通用的合并候選與當cu(和/或pu)的分割模式是2n×2n的時候推導的合并候選相同,并且因此,可以由相對于cu的相對位置指定。因此,如果使用通用的合并候選和/或單個合并候選列表,則編碼器和解碼器可以將在pu中位于最左上部的像素的坐標重新配置為在pu所屬的cu中位于最左上部的像素的坐標(例如,(xc,yc))。此外,編碼器和解碼器可以將pu的寬度和pu的高度重新配置為cu的寬度(例如,ncs)和cu的高度(例如,ncs)。在這種情況下,解碼器和編碼器可以基于重新配置的值確定pu的合并候選,使得pu在并行me中使用通用的合并候選。

同時,如上所述,如果在一個合并候選共享單元中的所有pu共享通用的合并候選和/或單個合并候選列表,在某種程度上可能出現(xiàn)編譯損耗。因此,編碼器和解碼器可以基于合并候選共享標記有選擇地確定合并候選推導方法和/或合并候選列表推導方法。

例如,如果合并候選共享標記的值是1,則該標記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個合并候選列表。這可以對應于在圖13的1330中示出的通用的合并候選推導方法。此外,如果合并候選共享標記是0,則該標記可以指示推導各自的合并候選列表和用于每個pu。這可以對應于在圖13的1310和1320中示出的合并候選推導方法。

由于合并候選共享標記如上詳細地所述,在此處省略其詳細說明。

圖14是示出在合并候選共享單元中推導用于pu的通用合并候選的方法的另一個實施例的示意圖。

在圖14中1410和1430每個指示一個lcu(和/或編譯樹塊)。圖14的1430示出lcu,其與在圖14的1410中示出的lcu相同,并且因此,在圖14的1410和1430中相同的構成元件可以由相同的參考數(shù)字表示。

同時,在圖14的實施例中,為了解釋方便起見,假設一個lcu由具有相同大小的四個矩形mer組成,并且在lcu中用于pu的合并候選共享單元與mer單元相同。在這種情況下,按照構成編譯樹塊的每個cu的大小,mer可以具有與cu相同的大小,或者可以具有不同于cu的大小。在圖14的實施例中,由于mer對應于合并候選共享單元,如果cu具有與mer相同的大小,則cu可以對應于合并候選共享單元。例如,在mer大小是8×8的情形下,如果當前的cu的大小是8×8,當前的cu可以對應于合并候選共享單元。雖然圖14的實施例按照合并候選共享單元是mer單元的情形描述,相同或者類似的方法也可以應用于合并候選共享單元是cu的情形。

參考圖14的1410,對其執(zhí)行me的當前的pu1415可以包括在一個mer1413中。在下文中,當前的pu1415所屬的mer在圖14的實施例中稱作mer1413。在圖14的1410中,示出了當前的pu1415的合并候選1421、1423、1425、1427和1429。

在用作合并候選塊的塊1421、1423、1425、1427和1429之中,塊1423、1425和1427是屬于當前的mer1413的塊,并且可以是屬于與當前的pu1415相同的mer的塊。因此,塊1423、1425和1427對應于對其沒有以并行me完成編碼/解碼的塊,并且因此,不能在當前的pu1415的并行me中使用。此外,塊1421和1429的運動信息在當前的pu1415的me中可能是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序完成的狀態(tài)。因此,如果對當前的pu執(zhí)行合并模式(和/或跳躍模式)me,則前面提到的合并候選塊(即,屬于與當前的pu1415相同的mer的塊,和/或沒有以并行me對其完成編碼/解碼的塊)可以被處理為是不可用的。

此外,如上所述,編碼器和解碼器可以通過相對于在合并候選共享單元中的多個pu使用通用的合并候選和/或單個合并候選列表使能并行me。

參考圖14的1430,在mer(即,合并候選共享單元)中的pu可以具有通用的合并候選(和/或單個合并候選列表)。也就是說,在圖14的1430中,在mer中的所有pu可以共享通用的合并候選(例如,塊1441、1443、1445、1447和1449)。在這種情況下,當前的pu1415可以使用通用的合并候選,而不是合并候選1421、1423、1425、1427和1429。

在此處,例如,通用的合并候選可以與當具有與當前的mer1413相同大小的cu(和/或屬于cu的pu)具有2n×2n的分割模式的時候推導的合并候選相同。也就是說,編碼器和解碼器可以將位于當前的mer1413外部的塊作為通用的合并候選使用,并且通用的合并候選可以通過相對于當前的mer1413的相對位置指定。

在一個實施例中,編碼器和解碼器可以將在當前的mer1413外部位置上最靠近于左下角的塊1441、在相鄰于當前的mer1413左側的塊之中位于最下面部分的塊1443、在當前的mer1413外部位置上最靠近于右上角的塊1449、在相鄰于當前的mer1413的上部的塊之中位于最右側的塊1447,和在當前的mer1413外部位置上最靠近于左上角的塊1445的運動信息作為當前的pu1415的合并候選(即,通用的合并候選)使用。在這種情況下,如果在塊之中存在不具有可用的運動信息的塊(例如,在當前的mer1413外部位置上最靠近于右上角的塊1449),則編碼器和解碼器可以將相應的塊處理為是不可用的,或者不可以將其作為當前的pu1415的合并候選塊使用。在另一個實施例中,編碼器和解碼器可以將相鄰于當前的mer1413的左側的塊1444,而不是在當前的mer1413外部位置上最靠近于左上角的塊1445作為當前的pu1415的合并候選塊使用。在這種情況下,塊1444可以是在相鄰于當前的mer1413左側的塊之中位于中心的塊,或者如果位于中心的塊的數(shù)目是2,則可以是在兩個塊之中位于上部的塊。

如圖14的1430的實施例所示,如果通用的合并候選(和/或單個合并候選列表)用于在一個合并候選共享單元中的所有pu,則包括可用的運動信息的塊可以用作合并候選塊,而不是被處理為不可用的塊。因此,在這種情況下,與不使用通用的合并候選(和/或單個合并候選列表)的情形相比,可以改善編碼/解碼性能。

如上所述,編碼器和解碼器可以將相鄰于pu的塊,例如,在pu外部位置上最靠近于左下角的塊、在相鄰于pu左側的塊之中位于最下面部分的塊、在pu外部位置上最靠近于右上角的塊、在相鄰于pu的上部的塊之中位于最右側的塊,和位于pu所屬的mer外部的塊作為pu的合并候選塊使用。在下文中,在本發(fā)明中,為了替換從相鄰于pu的塊中推導的合并候選,從位于pu所屬的mer外部的塊中推導的合并候選被稱作mer合并候選。

圖14的實施例可以被認為是mer合并候選推導方法的實施例。在圖14的實施例中,在一個合并候選共享單元中的所有pu可以共享通用的合并候選(和/或單個合并候選列表)。因此,在圖14中,在一個mer(即,合并候選共享單元)中的所有pu可以具有相同的mer合并候選。mer合并候選可以如圖14的實施例所示作為用于在一個mer中的所有pu的通用的合并候選推導,并且可以分別地對于包括在一個mer中pu的每個推導。與之相關聯(lián)地,mer合并候選推導方法的實施例將在下文中另外描述。

圖15是示出推導mer合并候選的方法實施例的示意圖。圖15的1510和1520每個表示一個mer。

參考圖15的1510,包括在當前的mer1510中的當前的pu1515可以具有5個空間合并候選a0、a1、b0、b1和b2。但是,如在圖14中圖示的,對應于空間合并候選的塊不可以包括在并行me中可用的運動信息,并且因此,可以被處理為是不可用的。在這種情況下,空間合并候選a0、a1、b0、b1和b2可以分別地由在圖15的1510中示出的mer合并候選a0’、a1’、b0’、b1’和b2’替換。也就是說,編碼器和解碼器可以將mer合并候選a0’、a1’、b0’、b1’和b2’作為當前的pu1515的合并候選使用。由于在圖15的1510中示出的mer合并候選的位置實際上與在圖14的實施例中相同,將省略其詳細說明。

參考圖15的1520,包括在當前的mer1520中的當前的pu1525可以類似于圖15的1510具有5個空間合并候選a0、a1、b0、b1和b2。在這種情況下,合并候選a0、a1、b0和b1的位置可以由以下的坐標指定或者表示。

a0:(x-1,y+npsh-1)

a1:(x-1,y+npsh)

b0:(x+npsw-1,y-1)

b1:(x+npsw,y-1)

在此處,(x,y)表示在當前的pu1525中位于最左上部的像素的坐標,并且該坐標可以按照當前的pu1525所屬的圖片的最左上部位置確定。此外,npsh表示當前的pu1525的高度,并且npsw表示當前的pu1525的寬度。

同時,類似于圖15的1510,與空間合并候選相對應的塊不可以包括在并行me中可用的運動信息,并且因此,可以被處理為是不可用的。在這種情況下,空間合并候選a0、a1、b0、b1和b2可以以在圖15的1510中示出的mer合并候選a0’、a1’、b0’、b1’和b2’替換。也就是說,編碼器和解碼器可以將mer合并候選a0’、a1’、b0’、b1’和b2’作為當前的pu1515的合并候選使用。

在此處,mer合并候選a0’可以基于具有與在相鄰于當前的mer1520左側的塊之中的塊a0相同水平位置的塊a0’推導,并且mer合并候選a1’可以基于具有與在相鄰于當前的mer1520左側的塊之中的塊a1相同水平位置的塊a1’推導。此外,mer合并候選b1’可以基于具有與在相鄰于當前的mer1520上部的塊之中的塊b0相同垂直位置的塊b1’推導,并且mer合并候選b0’可以基于相鄰于塊b1’右側的塊b0’推導。在這種情況下,合并候選a0’、a1’、b0’和b1’的位置可以由以下的坐標指定或者表示。

a0’:(((x>>nmer)<<nmer)-1,y+npsh-1)

a1’:(((x>>nmer)<<nmer)-1,y+npsh)

b0’:(x+npsw-1,((y>>nmer)<<nmer)-1)

b1’:(x+npsw,((y>>nmer)<<nmer)-1)

在此處,nmer可以表示mer的大小(即,寬度/高度)的log值。

此外,在圖15的1520中,編碼器和解碼器可以通過將其處理為是不可用的而不使用合并候選b2,并且可以將其替換為mer合并候選b2’。如果mer合并候選b2’用作當前的pu1525的合并候選,則mer合并候選b2’可以基于在相鄰于當前的mer1520的左側塊之中具有與塊b2相同水平位置的左側塊1531,或者在相鄰于當前的mer1520的上部塊之中具有與塊b2相同垂直位置的上部塊1533推導。例如,編碼器和解碼器可以檢查左側塊1531是否是可用的。在這種情況下,如果左側塊1531是可用的,則編碼器和解碼器可以基于左側塊1531推導mer合并候選b2’,并且如果左側塊1531是不可用的,可以基于上部塊1533推導mer合并候選b2’。

在圖15的1520的實施例中,位于靠近于當前的pu1520的塊可以用作合并候選塊。因此,與圖15的1510的實施例相比,可以改善編碼效率。

同時,如果推導當前的pu1525的mer合并候選,則編碼器和解碼器可以基于推導的mer合并候選產生合并候選列表。在這種情況下,多個mer合并候選可以以特定的順序被增加和/或插入到合并候選列表中。由于較小的合并索引被分配給首先增加給合并候選列表的mer合并候選,具有當推導當前的pu的運動的時候要使用的高可能性的mer合并候選可以優(yōu)先地增加給合并候選列表,從而能夠降低從編碼器發(fā)送到解碼器的信息量。為此,該編碼器和解碼器可以優(yōu)先地將對應于位于靠近于當前的pu1520的塊的mer合并候選增加給合并候選列表。

從當前的pu1520到mer的水平距離可以由在當前的pu1520中從位于最左上部的像素到mer的左邊界的距離指示。此外,從當前的pu1520到mer的垂直距離可以由在當前的pu1520中從位于最左上部的像素到mer的上邊界的距離表示。因此,從當前的pu1520到mer的水平距離和垂直距離可以例如由以下的公式1表示。

[公式1]

distx=x%nmer

disty=y(tǒng)%nmer

在此處,distx表示從當前的pu1520到mer的水平距離,并且disty表示從當前的pu1520到mer的垂直距離。(x,y)表示在當前的pu1520中位于最左上部的像素的坐標,并且nmer表示mer的大小。

例如,如果disx的值小于disty的值,與相鄰于mer上部的塊相比,由于相鄰于mer左側的塊靠近于當前的pu1520,所以編碼器和解碼器可以在增加mer合并候選b1’和b0’之前首先將mer合并候選a1’和a0’增加給合并候選列表。例如,如果distx的值小于disty的值,則mer合并候選可以以a1’、a0’、b1’和b0’的順序被增加給合并候選列表。換句話說,(即,如果distx的值大于或等于disty的值),則mer合并候選可以以b1’、b0’、a1’和a0’的順序被增加給合并候選列表。對于另一個示例,如果distx的值小于disty的值,則mer合并候選可以以a1’、b1’、a0’和b0’的順序被增加給合并候選列表。換句話說,(即,如果distx的值大于或等于disty的值),則mer合并候選可以以b1’、a1’、b0’和a0’的順序被增加給合并候選列表。

圖16是示出推導mer合并候選的方法的另一個實施例的示意圖。圖16的1610表示一個mer。

參考圖16,單個mer1610可以包括多個pu。在下文中,僅對于圖16的實施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖16的實施例中,可以對于屬于mer1610的多個pu的每個推導四個mer合并候選。

在圖16中,相鄰于mer上部的兩個塊的運動信息,和相鄰于mer左側的兩個塊的運動信息可以用作用于一個pu的mer合并候選。在此處,相鄰于mer上部的兩個塊可以分別地是包括位于與pu的左上像素相同垂直線的像素的塊,和包括位于與pu的右上像素相同垂直線的像素的塊。此外,相鄰于mer左側的兩個塊可以分別地是包括位于與pu的左上像素相同水平線的像素的塊,和位于與pu的左下像素相同水平線的像素的塊。

參考圖16,pu,即,pu0可以將相鄰于mer的上部的兩個塊t0和t1的運動信息,和相鄰于mer的左側的兩個塊l0和l1的運動信息作為mer合并候選使用。在此處,塊t0可以是包括位于與pu0的左上像素相同垂直線的像素的塊,并且塊t1可以是包括位于與pu0的右上像素相同垂直線的像素的塊。此外,塊l0可以是包括位于與pu0的左上像素相同水平線的像素的塊,并且塊l1可以是包括位于與pu0的左下像素相同水平線的像素的塊。

再次參考圖16,pu,即,pu1可以將相鄰于mer的上部的兩個塊t2和t3的運動信息,和相鄰于mer的左側的兩個塊l2和l3的運動信息作為mer合并候選使用。在此處,塊t2可以是包括位于與pu1的左上像素相同垂直線的像素的塊,并且塊t3可以是包括位于與pu1的右上像素相同垂直線的像素的塊。此外,塊l2可以是包括位于與pu1的左上像素相同水平線的像素的塊,并且塊l3可以是包括位于與pu1的左下像素相同水平線的像素的塊。

圖17是示出推導mer合并候選的方法的另一個實施例的示意圖。圖17的1710表示一個mer。

參考圖17,單個mer1710可以包括多個pu。在下文中,僅對于圖17的實施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖17的實施例中,類似于圖16的實施例,可以對于屬于mer1710的多個pu的每個推導四個mer合并候選。

在圖17中,相鄰于mer上部的兩個塊(在此處,兩個塊可以是在每個mer外部位置上最靠近于左上角的塊,或者在mer外部位置上最靠近于右上角的塊,并且在下文中,也同樣適用)的運動信息,和相鄰于mer左側的兩個塊(在此處,兩個塊可以是在每個mer外部位置上最靠近于左上角的塊,或者在mer外部位置上最靠近于左上角的塊,并且在下文中,也同樣適用)的運動信息可以用作mer合并候選。在此處,相鄰于mer上部的兩個塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)左側的像素相同垂直線的像素的塊,和包括位于與相鄰于右上像素(即,在pu中的像素)右側的像素相同垂直線的像素的塊。此外,相鄰于mer左側的兩個塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)上部的像素相同垂直線的像素的塊,和包括位于與相鄰于左下像素(即,在pu中的像素)下部的像素相同垂直線的像素的塊。

參考圖17,pu,即,pu0可以將相鄰于mer的上部的兩個塊t0和t1的運動信息,和相鄰于mer的左側的兩個塊l0和l1的運動信息作為mer合并候選使用。在此處,塊t0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的左側的像素相同垂直線的像素的塊。塊t1可以是包括位于與相鄰于右上像素(即,在pu0中的像素)的右側的像素相同垂直線的像素的塊。此外,塊l0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的上部的像素相同水平線的像素的塊。塊l1可以是包括位于與相鄰于左下像素(即,在pu0中的像素)的下部的像素相同水平線的像素的塊。

圖18是示出推導mer合并候選的方法的另一個實施例的示意圖。圖18的1810指示一個mer。

參考圖18,單個mer1810可以包括多個pu。在下文中,僅對于圖18的實施例,在pu中位于最左上部的像素被稱作左上像素。在圖18的實施例中,可以對于屬于mer1810的多個pu的每個推導兩個mer合并候選。

在圖18的實施例中,相鄰于mer上部的一個塊的運動信息和相鄰于mer左側的一個塊的運動信息可以用作用于一個pu的mer合并候選。在此處,相鄰于mer上部的塊可以是包括位于與pu的左上像素相同垂直線的像素的塊。此外,相鄰于mer左側的塊可以是包括位于與pu的左上像素相同水平線的像素的塊。

參考圖18,pu,即,pu0可以將相鄰于mer上部的一個塊t的運動信息,和相鄰于mer左側的一個塊l的運動信息作為mer合并候選使用。在此處,塊t可以是包括位于與pu0的左上像素相同垂直線的像素的塊。此外,塊l可以是包括位于與pu0的左上像素相同水平線的像素的塊。

圖19是示出推導mer合并候選的方法的另一個實施例的示意圖。圖19的1910指示一個mer。

參考圖19,單個mer1910可以包括多個pu。在下文中,僅對于圖19的實施例,位于pu的最右上部的像素被稱作右上像素,和位于pu的最左下部的像素被稱作左下像素。在圖19的實施例中,類似于圖18的實施例,可以對于屬于mer1910的多個pu的每個推導兩個mer合并候選。

在圖19的實施例中,相鄰于mer上部的一個塊的運動信息和相鄰于mer左側的一個塊的運動信息可以用作用于一個pu的mer合并候選。在此處,相鄰于mer上部的塊可以是包括位于與pu的右上像素相同垂直線的像素的塊。此外,相鄰于mer左側的塊可以是包括位于與pu的左下像素相同水平線的像素的塊。

參考圖19,pu,即,pu0可以將相鄰于mer上部的一個塊t的運動信息,和相鄰于mer左側的一個塊l的運動信息作為mer合并候選使用。在此處,塊t可以是包括位于與pu0的右上像素相同垂直線的像素的塊。此外,塊l可以是包括位于與pu0的左下像素相同水平線的像素的塊。

圖20是示出推導mer合并候選的方法的另一個實施例的示意圖。圖20的2010指示一個mer。

參考圖20,單個mer2010可以包括多個pu。在下文中,僅對于圖20的實施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖20的實施例中,可以對于屬于mer2010的多個pu的每個推導四個mer合并候選。

在圖20中,可以基于在mer中pu的位置推導pu的mer合并候選。也就是說,可以基于從pu到mer的水平距離和垂直距離推導pu的mer合并候選。在此處,從pu到mer的水平距離可以暗指從pu的左上像素到mer的左邊界的距離。此外,從pu到mer的垂直距離可以暗指從pu的左上像素到mer的上邊界的距離。

例如,如果從pu到mer的水平距離比垂直距離更近,則相鄰于mer(在此處,在四個塊之中,兩個塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于左下角的塊,并且,在下文中,也同樣適用)左側的四個塊的運動信息可以用作pu的mer合并候選。相鄰于mer左側的四個塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)上部的像素相同水平線的像素的塊、包括位于與左上像素(即,在pu中的像素)相同水平線的像素的塊、包括位于與左下像素(即,在pu中的像素)相同水平線的像素的塊,和包括位于與相鄰于左下像素(即,在pu中的像素)下部的像素相同水平線的像素的塊。

在其他方面,相鄰于mer(在此處,在四個塊之中,兩個塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于右上角的塊)上部的四個塊的運動信息可以用作pu的mer合并候選。在此處,相鄰于mer上部的四個塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)左側的像素相同垂直線的像素的塊、包括位于與左上像素(即,在pu中的像素)相同垂直線的像素的塊、位于與右上像素(即,在pu中的像素)相同垂直線的塊,和包括位于與相鄰于右上像素(即,在pu中的像素)右側的像素相同垂直線的像素的塊。

參考圖20,關于pu0,到mer的垂直距離可能比水平距離更近。因此,pu0可以將相鄰于mer上部的四個塊t0、t1、t2和t3的運動信息作為mer合并候選使用。在此處,塊t0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的左側的像素相同垂直線的像素的塊。塊t1可以是包括位于與左上像素(即,在pu0中的像素)相同垂直線的像素的塊。此外,塊t2可以是包括位于與右上像素(即,在pu0中的像素)相同垂直線的像素的塊。塊t3可以是包括位于與相鄰于右上像素(即,在pu0中的像素)的右側的像素相同垂直線的像素的塊。

再次參考圖20,關于pu1,到mer的水平距離可能比垂直距離更近。因此,pu1可以將相鄰于mer左側的四個塊l0、l1、l2和l3的運動信息作為mer合并候選使用。在此處,塊l0可以是包括位于與相鄰于左上像素(即,在pu1中的像素)的上部的像素相同垂直線的像素的塊。塊l1可以是包括位于與左上像素(即,在pu1中的像素)相同垂直線的像素的塊。此外,塊l2可以是包括位于與左下像素(即,在pu1中的像素)相同垂直線的像素的塊。塊l3可以是包括位于與相鄰于左下像素(即,在pu1中的像素)的下部的像素相同垂直線的像素的塊。

圖21是示出推導mer合并候選的方法的另一個實施例的示意圖。圖21的2110表示一個mer。

參考圖21,單個mer2110可以包括多個pu。在下文中,僅對于圖21的實施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖21的實施例中,可以對于屬于mer2110的多個pu的每個推導兩個mer合并候選。

在圖21中,可以基于在mer中pu的位置推導pu的mer合并候選。也就是說,可以基于從pu到mer的水平距離和垂直距離推導pu的mer合并候選。在此處,從pu到mer的水平距離可以暗指從pu的左上像素到mer的左邊界的距離。此外,從pu到mer的垂直距離可以暗指從pu的左上像素到mer的上邊界的距離。

例如,如果從pu到mer的水平距離比垂直距離更近,則相鄰于mer(在此處,兩個塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于左下角的塊,并且,在下文中,也同樣適用)左側的兩個塊的運動信息可以用作pu的mer合并候選。相鄰于mer左側的兩個塊可以分別地是包括位于與左上像素(即,在pu中的像素)相同水平線的像素的塊,和位于與pu的左下像素相同水平線的像素的塊。

另一方面,相鄰于mer(在此處,兩個塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于右上角的塊)上部的兩個塊的運動信息可以用作pu的mer合并候選。在此處,相鄰于mer上部的兩個塊可以分別地是包括位于與pu的左上像素相同垂線的像素的塊,和位于與pu的右上像素相同垂線的像素的塊。

參考圖21,關于pu0,到mer的垂直距離可能比水平距離更近。因此,pu0可以將相鄰于mer上部的兩個塊t0和t1的運動信息作為mer合并候選使用。在此處,塊t0可以是包括位于與pu0的左上像素相同垂直線的像素的塊。此外,塊t1可以是包括位于與pu0的右上像素相同垂直線的像素的塊。

再次參考圖21,關于pu1,到mer的水平距離可能比垂直距離更近。因此,pu1可以將相鄰于mer左側的兩個塊l0和l1的運動信息作為mer合并候選使用。在此處,塊l0可以是包括位于與pu1的左上像素相同垂直線的像素的塊。此外,塊l1可以是包括位于與pu1的左下像素相同垂直線的像素的塊。

圖22是示出推導mer合并候選的方法的另一個實施例的示意圖。圖22的2210指示一個mer。

參考圖22,單個mer2210可以包括多個pu。在下文中,僅對于圖22的實施例,位于pu的最右上部的像素被稱作右上像素,和位于pu的最左下部的像素被稱作左下像素。

再次參考圖22,pu0可以具有五個空間合并候選a0、a1、b0、b1和b2。但是,如上所述,該空間合并候選在以合并模式和/或跳躍模式的并行me中是不可用的。例如,如果用作合并候選的塊包括在與pu0相同的mer中,由于該塊對應于在me中沒有對其完成編碼/解碼的塊,則該塊不能在并行me中使用。此外,用作合并候選的塊可以處于在pu0的并行me中按照編碼/解碼順序沒有完成編碼和/或解碼的狀態(tài)之中。

同時,在圖22的實施例中,關于屬于mer2210的pu0,可以推導高達四個mer合并候選。四個mer合并候選可以是相鄰于mer(在此處,兩個塊的一個可以是在mer外部位置上最靠近于右上角的塊,并且在下文中,也同樣適用)上部的兩個塊t0和t1的運動信息,和相鄰于mer(在此處,兩個塊的一個可以是在mer外部位置上最靠近于左下角的塊,并且在下文中,也同樣適用)左側的兩個塊l0和l1的運動信息。在此處,相鄰于mer上部的兩個塊可以分別地是位于與右上像素(即,在pu0中的像素)相同垂直線的塊t0,和包括位于與相鄰于右上像素(即,在pu0中的像素)右側的像素相同垂直線的像素的塊t1。此外,相鄰于mer左側的兩個塊可以分別地是位于與左下像素(即,在pu0中的像素)相同垂直線的塊l0,和包括位于與相鄰于左下像素(即,在pu0中的像素)下部的像素相同垂直線的像素的塊l1。

在這種情況下,僅對于在pu0的合并候選a0、a1、b0和b1之中不可用的合并候選,編碼器和解碼器可以推導與其對應的mer合并候選。在mer中pu的每個空間合并候選在并行me中是否是可用的按照pu的位置確定,并且因此,在這種情況下,可以認為對于pu0推導的mer合并候選基于pu的位置確定。

參考圖22,如果pu0的合并候選a1在并行合并模式/并行跳躍模式me中是不可用的,則塊l0的運動信息可以用作pu0的mer合并候選。此外,如果pu0的合并候選a0在并行合并模式/并行跳躍模式me中是不可用的,則塊l1的運動信息可以用作pu0的mer合并候選。此外,如果pu0的合并候選b1在并行合并模式/并行跳躍模式me中是不可用的,則塊t0的運動信息可以用作pu0的mer合并候選,并且如果pu0的合并候選b0在并行合并模式/并行跳躍模式me中是不可用的,則塊t1的運動信息可以用作pu0的mer合并候選。

圖23是示出推導mer合并候選的方法的另一個實施例的示意圖。圖23的2310指示一個mer。

參考圖23,包括在mer2310中的pu02320可以具有五個空間合并候選a0、a1、b0、b1和b2。此外,雖然在圖23中未示出,如上參考圖7所述,pu02320可以具有時間合并候選。

如上參考圖22所述,在mer中的任何pu的空間合并候選在以合并模式和/或跳躍模式的并行me中是不可用的。在圖23的實施例中,由于用于推導pu02320的空間合并候選的所有塊包括在與pu02320相同的mer中,pu02320的空間合并候選被處理為是不可用的,并且因此,不可以包括在合并候選列表中。

同時,如上所述構成合并候選列表的合并候選的數(shù)目可以局限于特定的固定數(shù)目。在圖23的實施例中,為了解釋方便起見,假設構成合并候選列表的合并候選的數(shù)目限于5。在這種情況下,對于pu推導的可用的合并候選(即,空間合并候選和時間合并候選)的數(shù)目由于前面提到的原因可能少于5,并且即使可用的空間合并和時間合并候選被增加給合并候選列表,該合并候選列表可能沒有被完全地填充。在這種情況下,在時間合并候選被增加給合并候選列表之后,編碼器和解碼器可以推導mer合并候選,以另外將其以特定的順序增加給合并候選列表,從而允許構成合并候選列表的合并候選的數(shù)目是5個。也就是說,編碼器和解碼器可以將mer合并候選增加或者插入合并候選列表,直到構成合并候選列表的合并候選的數(shù)目是5。

參考圖23,塊l0、l1、t0和t1的運動信息可以用作另外插入pu02320的合并候選列表的mer合并候選。在此處,塊l0可以是在相鄰于mer左側的塊之中位于最上部的塊,并且塊l1可以是在相鄰于mer左側的塊之中位于最下部的塊。此外,塊t0可以是在相鄰于mer上部的塊之中位于最左部分的塊,并且塊t1可以是在相鄰于mer上部的塊之中位于最右部分的塊。

為了允許構成合并候選列表的合并候選的數(shù)目是5,另外插入合并候選列表中的mer合并候選的數(shù)目按照pu的位置等是可變的。因此,可以預先確定將前面提到的mer合并候選插入合并候選列表的順序。例如,編碼器和解碼器可以另外以對應于塊l1的mer合并候選、對應于塊t1的mer合并候選、對應于塊l0的mer合并候選,和對應于塊t0的mer合并候選的順序將mer合并候選增加給合并候選列表。

圖24是示出推導mer合并候選的方法的另一個實施例的示意圖。圖24的2410指示一個mer。

參考圖24,包括在mer2410中的pu02420可以具有五個空間合并候選a0、a1、b0、b1和b2。此外,雖然在圖24中未示出,如上參考圖7所述,pu02420可以具有時間合并候選。但是,如上參考圖23所述,在mer中的任何pu的空間合并候選可以在以合并模式和/或跳躍模式的并行me中被處理為是不可用的,并且因此,不可以包括在合并候選列表中。

在這種情況下,編碼器和解碼器可以另外以與圖23的實施例相同的方式將mer合并候選增加給合并候選列表。例如,如果構成合并候選列表的合并候選的數(shù)目局限于5,則編碼器和解碼器可以將mer合并候選增加或者插入合并候選列表,直到合并候選的數(shù)目是5。

參考圖24,塊l1和t1的運動信息可以用作另外插入pu02420的合并候選列表的mer合并候選。在此處,塊l1可以是在相鄰于mer左側的塊之中位于最下部的塊。此外,塊t1可以是在相鄰于mer上部的塊之中位于最右部分的塊。

此外,如上參考圖23所述,另外插入合并候選列表的mer合并候選的數(shù)目按照pu的位置等是可變的。因此,在圖24的實施例中,可以預先確定將前面提到的mer合并候選插入合并候選列表的順序。例如,編碼器和解碼器可以另外以對應于塊l1的mer合并候選,和對應于塊t1的mer合并候選的順序將mer合并候選插入合并候選列表。

同時,如在前面提到的圖13至圖24的實施例中,如果對于一個pu推導通用的合并候選和/或mer合并候選,推導的通用的合并候選和/或mer合并候選可以增加或者插入pu的合并候選列表。在下文中,在以下的實施例中,為了解釋方便起見,通用的合并候選和mer合并候選共同地稱作并行合并候選。

如果沒有應用并行合并候選,如上參考圖7所述,該pu的空間合并候選可以從相鄰于pu的塊,和位置最靠近于當前塊的轉角的塊推導。此外,pu的時間合并候選可以從包括在參考圖片中的col塊推導。在下文中,當并行合并候選沒有如在圖7的實施例中應用的時候用于pu的合并候選被稱作pu合并候選。

如上所述,包括在與pu相同的mer中的合并候選可以在對應于一個pu的pu合并候選的空間候選之中存在。在這種情況下,包括在與pu相同的mer中的合并候選不可以在并行me中包括可用的運動信息。因此,對于pu推導的可用的pu合并候選的數(shù)目可以小于構成合并候選列表需要的合并候選的數(shù)目。在此處,構成合并候選列表需要的合并候選的數(shù)目可以是預先確定的值。例如,構成合并候選列表的合并候選的數(shù)目可以是5。

在這種情況下,編碼器和解碼器可以另外以特定的順序將并行合并候選插入合并候選列表。在這種情況下,另外插入合并候選列表的并行合并候選可以在合并候選列表中位于可用的pu合并候選之后。也就是說,合并候選可以以并行合并候選的順序插入合并候選列表。

例如,假設如圖7的720所示的pu合并候選應用于當前的pu。在這種情況下,編碼器和解碼器可以將在當前的pu外部位置上最靠近于左下角的塊a0、在相鄰于當前的pu左側的塊之中位于最下部的塊a1、在當前的pu外部位置上最靠近于右上角的塊b0、在相鄰于當前的pu的上部的塊之中位于最右部分的塊b1、在當前的pu外部位置上最靠近于左上角的塊b2,和塊col的運動信息作為當前的pu的pu合并候選使用。在這種情況下,例如,pu合并候選可以以a1、b1、b0、a0、b2和col的順序增加和/或插入合并候選列表。

但是,如果當前的pu在mer內部存在,則當執(zhí)行合并模式和/或跳躍模式并行me的時候,對應于pu合并候選的空間合并候選a1、b1、b0、a0和b2是不可用的。在這種情況下,僅對應于pu合并候選的時間合并候選col可以被增加給合并候選列表。

在這種情況下,在pu合并候選被增加給合并候選列表之后,編碼器和解碼器可以插入并行合并候選。例如,對于當前的pu推導的并行合并候選分別地稱作a1’、b1’、b0’、a0’和b2’。在這種情況下,對應于pu合并候選和并行合并候選的時間合并候選可以以col、a1’、b1’、b0’、a0’和b2’的順序增加和/或插入合并候選列表。在這種情況下,編碼器和解碼器可以增加并行合并候選,直到構成合并候選列表的合并候選的數(shù)目是最大數(shù)(例如,5)。

同時,即使可用的pu合并候選和可用的并行合并候選被增加給合并候選列表,可能存在合并候選列表沒有完全地填充的情形。在這種情況下,編碼器和解碼器可以基于已經增加給合并候選列表的合并候選推導新的合并候選,并且可以將其增加給合并候選列表。在這種情況下,編碼器不僅可以使用pu合并候選,而且可以使用并行合并候選去推導新的合并候選。

基于已經增加給合并候選列表的合并候選推導的新的合并候選的示例可以包括合并的雙預測候選(cb)、非標度的雙預測候選,和/或零運動候選(零)等。在此處,cb可以基于在已經增加給合并候選列表的合并候選之中的兩個合并候選推導。例如,cb的l0運動信息可以基于兩個合并候選的一個推導,并且cb的l1運動信息可以基于兩個合并候選的另一個推導。也就是說,cb可以通過合并兩個合并候選每個的運動信息推導。此外,nb的l0運動信息和l1運動信息可以基于在已經增加給合并候選列表的合并候選之中的一個合并候選,經由特定的條件和操作推導。此外,零可以暗指包括零失量(0,0)的運動信息。

新近推導和另外插入合并候選列表的合并候選cb、nb和零可以在合并候選列表中位于可用的pu合并候選和可用的并行合并候選之后。也就是說,該合并候選可以以pu合并候選、并行合并候選,和基于pu合并候選和并行合并候選推導的cb、nb和零的順序插入合并候選列表。例如,如果假設對于一個pu推導三個cb,即,cb0、cb1和cb2,一個nb,即,nb0,和一個零,合并候選可以以col、a1’、b1’、b0’、a0’、b2’、cb0、cb1、cb2、nb0和零的順序增加和/或插入合并候選列表。在這種情況下,編碼器和解碼器可以增加并行合并候選,直到構成合并候選列表的合并候選的數(shù)目是最大數(shù)(例如,5)。

雖然前面提到的示例性系統(tǒng)已經基于在其中依次列出步驟或者模塊的流程圖描述,但本發(fā)明的步驟不局限于某個順序。因此,某個步驟可以在不同的步驟中,或者以不同的順序或者相對于如上所述的同時執(zhí)行。此外,本領域技術人員應該明白,該流程圖的步驟不是排它的。而是,在其中可以包括另外的步驟,或者可以在本發(fā)明的范圍內刪除一個或多個步驟。

前面提到的實施例包括各種示例性方面。雖然不能描述用于表示各種方面的所有可能的組合,但本領域技術人員應該理解,其它的組合也是可能的。因此,所有替換、修改和變化將落在本發(fā)明的權利要求書的精神和范圍內。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
温州市| 卓尼县| 日照市| 慈利县| 商都县| 阿城市| 淮安市| 东阳市| 刚察县| 新建县| 阿城市| 全椒县| 克拉玛依市| 确山县| 雅安市| 庆云县| 西林县| 泰安市| 平阳县| 平陆县| 临漳县| 喜德县| 沂水县| 文昌市| 赤城县| 财经| 玉树县| 高阳县| 深泽县| 东阿县| 石城县| 沐川县| 清徐县| 喜德县| 伊吾县| 新绛县| 巴中市| 全椒县| 兴城市| 龙井市| 岳西县|