本申請(qǐng)是2014年5月7日提交的國(guó)際申請(qǐng)日為2012年9月7日、申請(qǐng)?zhí)枮?01280054717.3(pct/kr2012/007224)的,發(fā)明名稱為“幀間預(yù)測(cè)方法及其裝置”專利申請(qǐng)的分案申請(qǐng)。
本發(fā)明涉及圖像處理,尤其是,涉及幀間預(yù)測(cè)方法和裝置。
背景技術(shù):
近來,在各種領(lǐng)域中存在對(duì)于具有高分辨率和高質(zhì)量圖像,諸如高清(hd)視頻和超高清(uhd)視頻的增長(zhǎng)需求。與現(xiàn)有的圖像數(shù)據(jù)相比,高分辨率和高質(zhì)量圖像數(shù)據(jù)需要相對(duì)巨大的信息量或者比特量。因此,當(dāng)通過使用介質(zhì)諸如現(xiàn)有的有線/無線寬帶線路發(fā)送圖像數(shù)據(jù)的時(shí)候,或者當(dāng)圖像數(shù)據(jù)通過使用現(xiàn)有的存儲(chǔ)介質(zhì)存儲(chǔ)的時(shí)候,傳輸費(fèi)用和存儲(chǔ)費(fèi)用升高。為了解決這些問題,可以使用高效的圖像壓縮技術(shù)。
作為視頻壓縮技術(shù),存在各種技術(shù),諸如幀間預(yù)測(cè)方法,其從當(dāng)前圖片的先前的和/或后續(xù)的圖片中預(yù)測(cè)包括在當(dāng)前圖片中的像素值,幀內(nèi)預(yù)測(cè)方法,其通過使用在當(dāng)前圖片中的像素信息預(yù)測(cè)包括在當(dāng)前圖片中的像素值,熵編碼技術(shù),其分配短的代碼字給具有高出現(xiàn)頻率的值,和分配長(zhǎng)的代碼字給具有低出現(xiàn)頻率的值等。這樣的圖像壓縮技術(shù)可用于通過有效地壓縮圖像數(shù)據(jù)發(fā)送或者存儲(chǔ)圖像數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
本發(fā)明提供用于能夠降低復(fù)雜性和改善編碼/解碼效率的視頻編碼的方法和裝置。
本發(fā)明還提供能夠降低復(fù)雜性和改善編碼/解碼效率的視頻解碼方法和裝置。
本發(fā)明還提供一種能夠降低復(fù)雜性和改善編碼/解碼效率的幀間預(yù)測(cè)方法和裝置。
本發(fā)明還提供能夠降低復(fù)雜性和改善編碼/解碼效率的合并候選列表產(chǎn)生方法和裝置。
技術(shù)解決方案
按照本發(fā)明的一個(gè)方面,提供了一種幀間預(yù)測(cè)方法,包括:產(chǎn)生要預(yù)測(cè)的塊的合并候選列表,并且該塊對(duì)應(yīng)于當(dāng)前的預(yù)測(cè)單元(pu);基于構(gòu)成合并候選列表的多個(gè)合并候選中的一個(gè),推導(dǎo)要預(yù)測(cè)的塊的運(yùn)動(dòng)信息;以及基于推導(dǎo)的運(yùn)動(dòng)信息對(duì)要預(yù)測(cè)的塊執(zhí)行預(yù)測(cè),以產(chǎn)生對(duì)應(yīng)于當(dāng)前pu的預(yù)測(cè)塊,其中當(dāng)前pu是屬于合并候選共享單元的pu,以及其中在合并候選列表的產(chǎn)生中,有選擇地產(chǎn)生由多個(gè)第一合并候選構(gòu)成的第一合并候選列表,和由多個(gè)第二合并候選構(gòu)成的第二合并候選列表中的一個(gè),多個(gè)第一合并候選是基于要預(yù)測(cè)的塊的位置和大小確定的多個(gè)第一塊的運(yùn)動(dòng)信息,并且多個(gè)第二合并候選是基于與合并候選共享單元相對(duì)應(yīng)的塊的位置和大小確定的多個(gè)第二塊的運(yùn)動(dòng)信息。
在本發(fā)明的前面提到的方面中,在合并候選列表的產(chǎn)生中,是否產(chǎn)生第一合并候選列表,或者是否產(chǎn)生第二合并候選列表可以是由合并候選共享單元確定的,并且如果其確定產(chǎn)生第二合并候選列表,則在合并候選共享單元中的所有pu可以共享第二合并候選列表。
此外,合并候選共享單元可以是當(dāng)前pu所屬的當(dāng)前編譯單元(cu),和多個(gè)第二合并候選可以是基于要解碼的塊的位置和大小確定的多個(gè)第二塊的運(yùn)動(dòng)信息,并且該塊對(duì)應(yīng)于當(dāng)前cu。
此外,多個(gè)第一塊可以包括在要預(yù)測(cè)的塊外部位置上最靠近于左下角的塊,在相鄰于要預(yù)測(cè)的塊的左側(cè)的塊之中位于最下面部分的塊,在要預(yù)測(cè)的塊外部位置上最靠近于左上角的塊,在相鄰于要預(yù)測(cè)的塊的上面部分的塊之中位于最右側(cè)的塊,和位置上最靠近于要預(yù)測(cè)的塊的右上角的塊,和多個(gè)第二塊可以包括在要解碼的塊外部位置上最靠近于左下角的塊,在相鄰于要解碼的塊的左側(cè)的塊之中位于最下面部分的塊,在要解碼的塊外部位置上最靠近于左上角的塊,在相鄰于要解碼的塊的上面部分的塊之中位于最右側(cè)的塊,和位置上最靠近于要解碼的塊的右上角的塊。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則在多個(gè)第一塊之中位于要解碼的塊中的塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則當(dāng)前pu的分割模式是2n×n、2n×nu或者2n×nd,并且當(dāng)前pu是位于當(dāng)前編譯單元內(nèi)的下面部分的pu,因而,在相鄰于要預(yù)測(cè)的塊的上面部分的塊之中位于最右側(cè)的塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則當(dāng)前pu的分割模式是n×2n、nl×2n或者nr×2n,并且當(dāng)前pu是位于當(dāng)前編譯單元內(nèi)的右側(cè)的pu,因而,在相鄰于要預(yù)測(cè)的塊的左側(cè)的塊之中位于最下面部分的塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在當(dāng)前pu所屬的并行處理單元中對(duì)于所有pu可以并行執(zhí)行合并候選列表的產(chǎn)生和運(yùn)動(dòng)信息的推導(dǎo),并行處理單元可以基于指示并行處理單元大小的并行處理水平確定,并且有關(guān)并行處理水平的信息可以包括在圖片參數(shù)集(pps)中,以及被從編碼器發(fā)送給解碼器。
此外,在合并候選列表的產(chǎn)生中,是產(chǎn)生第一合并候選列表,還是產(chǎn)生第二合并候選列表可以基于要解碼的塊的大小和并行處理水平確定。
此外,在合并候選列表的產(chǎn)生中,如果要解碼的塊的大小是8×8,并且并行處理單元的大小是4×4,則可以產(chǎn)生第二合并候選列表。
按照本發(fā)明的另一個(gè)方面,提供了一種視頻解碼方法,包括:產(chǎn)生要預(yù)測(cè)的塊的合并候選列表,并且該塊對(duì)應(yīng)于當(dāng)前pu;基于構(gòu)成合并候選列表的多個(gè)合并候選的一個(gè),推導(dǎo)要預(yù)測(cè)的塊的運(yùn)動(dòng)信息;基于推導(dǎo)的運(yùn)動(dòng)信息對(duì)要預(yù)測(cè)的塊執(zhí)行預(yù)測(cè),以產(chǎn)生與當(dāng)前pu相對(duì)應(yīng)的預(yù)測(cè)塊;以及基于產(chǎn)生的pu產(chǎn)生重建的塊,其中當(dāng)前pu是屬于合并候選共享單元的pu,和其中在合并候選列表的產(chǎn)生中,有選擇地產(chǎn)生由多個(gè)第一合并候選構(gòu)成的第一合并候選列表,和由多個(gè)第二合并候選構(gòu)成的第二合并候選列表中的一個(gè),多個(gè)第一合并候選是基于要預(yù)測(cè)的塊的位置和大小確定的多個(gè)第一塊的運(yùn)動(dòng)信息,并且多個(gè)第二合并候選是基于與合并候選共享單元相對(duì)應(yīng)的塊的位置和大小確定的多個(gè)第二塊的運(yùn)動(dòng)信息。
在本發(fā)明的前面提到的方面中,在合并候選列表的產(chǎn)生中,是否產(chǎn)生第一合并候選列表,或者是否產(chǎn)生第二合并候選列表可以是由合并候選共享單元確定的,并且如果確定產(chǎn)生第二合并候選列表,則在合并候選共享單元中的所有pu可以共享第二合并候選列表。
此外,合并候選共享單元可以是當(dāng)前pu所屬的當(dāng)前cu,和多個(gè)第二合并候選可以是基于要解碼的塊的位置和大小確定的多個(gè)第二塊的運(yùn)動(dòng)信息,并且該塊對(duì)應(yīng)于當(dāng)前cu。
此外,多個(gè)第一塊可以包括在要預(yù)測(cè)的塊外部位置上最靠近于左下角的塊,在相鄰于要預(yù)測(cè)的塊的左側(cè)的塊之中位于最下面部分的塊,在要預(yù)測(cè)的塊外部位置上最靠近于左上角的塊,在相鄰于要預(yù)測(cè)的塊的上面部分塊之中位于最右側(cè)的塊,和位置上最靠近于要預(yù)測(cè)的塊的右上角的塊,和多個(gè)第二塊可以包括在要解碼的塊外部位置上最靠近于左下角的塊,在相鄰于要解碼的塊的左側(cè)的塊之中位于最下面部分的塊,在要解碼的塊外部位置上最靠近于左上角的塊,在相鄰于要解碼的塊的上面部分的塊之中位于最右側(cè)的塊,和位置上最靠近于要解碼的塊的右上角的塊。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則在多個(gè)第一塊之中位于要解碼的塊中的塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則當(dāng)前pu的分割模式是2n×n、2n×nu或者2n×nd,并且當(dāng)前pu是位于當(dāng)前編譯單元內(nèi)的下面部分的pu,因而,在相鄰于要預(yù)測(cè)的塊的上面部分的塊之中位于最右側(cè)塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在合并候選列表的產(chǎn)生中,如果確定產(chǎn)生第一合并候選列表,則當(dāng)前pu的分割模式是n×2n、nl×2n或者nr×2n,并且當(dāng)前pu是位于當(dāng)前編譯單元內(nèi)的右側(cè)的pu,因而,在相鄰于要預(yù)測(cè)的塊的左側(cè)的塊之中位于最下面部分的塊的運(yùn)動(dòng)信息可以不用作第一合并候選。
此外,在當(dāng)前pu所屬的并行處理單元中對(duì)于所有pu可以并行執(zhí)行合并候選列表的產(chǎn)生和運(yùn)動(dòng)信息的推導(dǎo),并行處理單元可以基于指示并行處理單元的大小的并行處理水平確定,并且有關(guān)并行處理水平的信息可以包括在圖片參數(shù)集(pps)中,以及被從編碼器發(fā)送給解碼器。
此外,在合并候選列表的產(chǎn)生中,是產(chǎn)生第一合并候選列表,還是產(chǎn)生第二合并候選列表可以基于要解碼的塊的大小和并行處理水平確定。
此外,在合并候選列表的產(chǎn)生中,如果要解碼的塊的大小是8×8,并且并行處理單元的大小是4×4,則可以產(chǎn)生第二合并候選列表。
有益效果
按照本發(fā)明的視頻編譯方法,復(fù)雜度可以降低,并且編碼/解碼效率可以改善。
按照本發(fā)明的視頻解碼方法,復(fù)雜度可以降低,并且編碼/解碼效率可以改善。
按照本發(fā)明的幀間預(yù)測(cè)方法,復(fù)雜度可以降低,并且編碼/解碼效率可以改善。
按照本發(fā)明的合并候選列表產(chǎn)生方法,復(fù)雜度可以降低,并且編碼/解碼效率可以改善。
附圖說明
圖1是按照本發(fā)明的實(shí)施例的視頻編碼器的方框圖。
圖2是示出按照本發(fā)明的實(shí)施例的預(yù)測(cè)器的概念的示意圖。
圖3是按照本發(fā)明的實(shí)施例的視頻解碼器的方框圖。
圖4是示出按照本發(fā)明的實(shí)施例的視頻解碼器的預(yù)測(cè)器概念的示意圖。
圖5是示出在按照本發(fā)明的系統(tǒng)中的處理單元的四樹結(jié)構(gòu)的示例的概念的示意圖。
圖6是簡(jiǎn)要地示出在合并模式中的幀間預(yù)測(cè)方法的實(shí)施例的流程圖。
圖7是示出用于產(chǎn)生合并候選列表的合并候選的實(shí)施例的示意圖。
圖8是示出以合并模式和跳躍模式的并行處理單元的實(shí)施例的示意圖。
圖9是用于解釋當(dāng)以合并模式執(zhí)行并行運(yùn)動(dòng)估算(me)的時(shí)候出現(xiàn)的問題的示意圖。
圖10是示出推導(dǎo)用于使能并行me的合并候選方法實(shí)施例的示意圖。
圖11是示出推導(dǎo)用于使能并行me的合并候選方法的另一個(gè)實(shí)施例的示意圖。
圖12是示出推導(dǎo)用于使能并行me的合并候選方法的另一個(gè)實(shí)施例的示意圖。
圖13是示出在合并候選共享單元中推導(dǎo)用于預(yù)測(cè)單元(pu)的通用合并候選的方法的實(shí)施例的示意圖。
圖14是示出在合并候選共享單元中推導(dǎo)用于pu的通用合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖15是示出推導(dǎo)運(yùn)動(dòng)估算區(qū)(mer)合并候選的方法的實(shí)施例的示意圖。
圖16是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖17是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖18是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖19是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖20是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖21是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖22是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖23是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
圖24是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。
具體實(shí)施方式
由于本發(fā)明可以具有各種改進(jìn)和不同的實(shí)施例,僅特定的實(shí)施例在附圖中示例性地地圖示,并且將進(jìn)行詳細(xì)描述。但是,本發(fā)明不應(yīng)該被認(rèn)為是局限于在此處闡述的特定的實(shí)施例。在此處使用的術(shù)語(yǔ)僅是為了描述特定的實(shí)施例的目的,并且不意欲限制本發(fā)明。如在此處使用的,單數(shù)形式同樣意欲包括復(fù)數(shù)形式,除非上下文以其他方式清楚地指示。在本申請(qǐng)中,應(yīng)該理解,該術(shù)語(yǔ),諸如“包括”或者“具有”等意欲指示在說明書中公開的特點(diǎn)、數(shù)目、操作、動(dòng)作、部件、部分,或者其組合的存在,并且不意欲排除一個(gè)或多個(gè)其它的特點(diǎn)、數(shù)目、操作、動(dòng)作、部件、部分,或者其組合可以存在或者可以增加的可能性。
同時(shí),為了關(guān)于在視頻編碼器/解碼器中不同的特定的功能解釋的方便起見,在本發(fā)明描述的附圖中獨(dú)立地圖示相應(yīng)的結(jié)構(gòu),并且其不暗指相應(yīng)的結(jié)構(gòu)以單獨(dú)的硬件實(shí)體或者單獨(dú)的軟件實(shí)體實(shí)現(xiàn)。例如,在相應(yīng)的結(jié)構(gòu)之中,兩個(gè)或更多個(gè)結(jié)構(gòu)可以合并成一個(gè)結(jié)構(gòu),并且一個(gè)結(jié)構(gòu)可以被分成多個(gè)結(jié)構(gòu)。只要不脫離本發(fā)明的精神,相應(yīng)的結(jié)構(gòu)被集成和/或分離的實(shí)施例也包括在本發(fā)明的范圍中。
此外,某些構(gòu)成元件可能不是用于執(zhí)行固有功能必需的構(gòu)成元件,而是僅用于改善性能的選擇性的構(gòu)成元件。除了僅用于改善性能的構(gòu)成元件之外,本發(fā)明可以通過僅包括用于實(shí)現(xiàn)本發(fā)明精神的必需的構(gòu)成元件實(shí)現(xiàn)。除了僅用于改善性能的選擇性的構(gòu)成元件之外,僅僅包必需的構(gòu)成元件的結(jié)構(gòu)也包括在本發(fā)明的范圍中。
在下文中將參考伴隨的附圖詳細(xì)描述本發(fā)明的實(shí)施例。此外,貫穿附圖相同的附圖標(biāo)記用于指示相同元件,并且對(duì)相同元件的相同的描述將被省略。
圖1是按照本發(fā)明一個(gè)實(shí)施例的視頻編碼器的框圖。參考圖1,視頻編碼器100包括圖片劃分器105、預(yù)測(cè)器110、變換器115、量化器120、重新排序器125、熵編碼器130、去量化器135、逆變換器140、濾波器145和存儲(chǔ)器150。
基于至少一個(gè)處理單元圖片劃分器105可以劃分輸入圖片。在這種情況下,處理單元可以是預(yù)測(cè)單元(pu)、變換單元(tu)或者編譯單元(cu)。
如下所述,預(yù)測(cè)器110可以包括執(zhí)行幀間預(yù)測(cè)的幀間預(yù)測(cè)器,和執(zhí)行幀內(nèi)預(yù)測(cè)的幀內(nèi)預(yù)測(cè)器。預(yù)測(cè)器110可以通過對(duì)于在圖片劃分器105中的圖片的處理單元執(zhí)行預(yù)測(cè)產(chǎn)生預(yù)測(cè)塊。在預(yù)測(cè)器100中圖片的處理單元可以是cu、tu或者pu。此外,確定對(duì)于相對(duì)應(yīng)的處理單元執(zhí)行的預(yù)測(cè)是幀間預(yù)測(cè)還是幀內(nèi)預(yù)測(cè),并且可以確定每個(gè)預(yù)測(cè)方法的特定內(nèi)容(例如,預(yù)測(cè)模式等)。在這種情況下,用于執(zhí)行預(yù)測(cè)的處理單元可以與用于確定特定內(nèi)容的處理單元不同。例如,預(yù)測(cè)方法、預(yù)測(cè)模式等可以以pu為單位確定,并且預(yù)測(cè)可以以tu為單位執(zhí)行。在產(chǎn)生的預(yù)測(cè)塊和初始?jí)K之間的殘留值(即,殘留塊)可以被輸入到變換器115。此外,用于預(yù)測(cè)的預(yù)測(cè)模式信息、運(yùn)動(dòng)矢量信息等可以在熵編碼器130中與殘留值一起被編譯,并且可以被遞送到解碼器。
基于變換單元變換器115變換殘留塊,并且產(chǎn)生變換系數(shù)。變換器115的變換單元可以是tu,并且可以具有四樹結(jié)構(gòu)。在這種情況下,變換單元的大小可以在特定的最大或者最小大小的范圍中確定。變換器115可以通過使用離散余弦變換(dct)和/或離散正弦變換(dst)來變換殘留塊。
量化器120可以通過量化在變換器115中變換的殘留值產(chǎn)生量化系數(shù)。可以將由量化器120計(jì)算的值提供給去量化器135和重新排序器125。
重新排序器125可以重新排序從量化器120提供的量化系數(shù)。量化系數(shù)的重新排序可以提高在熵編碼器130中的編譯效率。重新排序器125可以通過使用系數(shù)掃描方法將具有2維塊形式的量化系數(shù)重新排序?yàn)?維矢量形式?;趶牧炕靼l(fā)送的系數(shù)的概率統(tǒng)計(jì)數(shù)值重新排序器125可以改變系數(shù)掃描的順序,從而提高在熵編碼器130中的熵編碼效率。
熵編碼器130可以相對(duì)于由重新排序器125重新排序的量化系數(shù)執(zhí)行熵編碼。熵編碼器130可以編譯從重新排序器125和預(yù)測(cè)器110遞送的各種信息。該信息可以包括編譯單元的量化系數(shù)信息和塊類型信息、預(yù)測(cè)模式信息、劃分單元信息、預(yù)測(cè)單元信息和傳輸單元信息、運(yùn)動(dòng)矢量信息、參考圖片信息、塊的內(nèi)插信息、濾波信息等。
熵編碼可以使用指數(shù)golomb、cavlc(上下文自適應(yīng)的可變長(zhǎng)度編碼),和/或cabac(上下文自適應(yīng)的二進(jìn)制算術(shù)編碼)。例如,用于執(zhí)行熵編碼的表,諸如,可變長(zhǎng)度編碼(vlc)表可以存儲(chǔ)在熵編碼器130中。熵編碼器130可以通過使用存儲(chǔ)的vlc表執(zhí)行熵編碼。對(duì)于另一個(gè)示例,在cabac熵編碼方法中,熵編碼器130可以將符號(hào)變換為二進(jìn)制形式,即,bin,并且因此,可以按照比特產(chǎn)生概率通過對(duì)bin執(zhí)行算術(shù)編碼產(chǎn)生比特流。
當(dāng)應(yīng)用熵編碼的時(shí)候,具有高值的索引及其相應(yīng)的短代碼字可以分配給具有高產(chǎn)生概率的符號(hào),并且具有高值的索引及其相應(yīng)的長(zhǎng)代碼字可以分配給具有低產(chǎn)生概率的符號(hào)。因此,可以降低用于要編譯的符號(hào)的比特量,并且視頻壓縮性能可以通過熵編碼而改善。
去量化器135可以去量化由量化器120量化的值。逆變換器140可以逆變換由去量化器135去量化的值。在去量化器135和逆變換器140中產(chǎn)生的殘留值可以與由預(yù)測(cè)器110預(yù)測(cè)的預(yù)測(cè)塊結(jié)合,并且因此,可以產(chǎn)生重建的塊。
濾波器145可以將內(nèi)環(huán)濾波器應(yīng)用于重建的塊和/或圖片。內(nèi)環(huán)濾波器可以包括去塊濾波、采樣自適應(yīng)的偏移(sao),和/或自適應(yīng)循環(huán)濾波器(alf)等。
去塊濾波可以在重建的圖片中除去在塊之間的邊界處出現(xiàn)的塊失真。sao可以將適當(dāng)?shù)钠浦翟黾咏o像素值以補(bǔ)償編譯錯(cuò)誤。alf可以基于用于將原始圖像與在經(jīng)由去塊濾波器濾波塊之后重建的圖像進(jìn)行比較的值執(zhí)行濾波。
同時(shí),關(guān)于在幀內(nèi)預(yù)測(cè)中使用的重建的塊,濾波器145可以不必應(yīng)用濾波。
存儲(chǔ)器150可以存儲(chǔ)通過使用濾波器145計(jì)算的重建的塊或者圖片??梢詫⒋鎯?chǔ)在存儲(chǔ)器150中的重建的塊或者圖片提供給用于執(zhí)行幀間預(yù)測(cè)的預(yù)測(cè)器110。
圖2是示出按照本發(fā)明一個(gè)實(shí)施例的預(yù)測(cè)器的概念的示意圖。參考圖2,預(yù)測(cè)器200可以包括幀間預(yù)測(cè)器210和幀內(nèi)預(yù)測(cè)器220。
幀間預(yù)測(cè)器210可以基于當(dāng)前圖片的先前的圖片或者后續(xù)圖片的信息通過執(zhí)行預(yù)測(cè)產(chǎn)生預(yù)測(cè)塊。此外,幀內(nèi)預(yù)測(cè)器220可以基于在當(dāng)前圖片中的像素信息通過執(zhí)行預(yù)測(cè)產(chǎn)生預(yù)測(cè)塊。
關(guān)于預(yù)測(cè)單元(pu),幀間預(yù)測(cè)器210可以選擇參考圖片,并且可以選擇具有與pu相同大小的參考?jí)K作為像素采樣單元。隨后,幀間預(yù)測(cè)器210可以產(chǎn)生預(yù)測(cè)塊,該預(yù)測(cè)塊是小于整數(shù)單位的采樣單位(例如,1/2像素采樣單位和1/4像素采樣單位),并且因此,是最類似于當(dāng)前的pu,并且其殘留信號(hào)可以被減到最小,而且要編譯的運(yùn)動(dòng)矢量也可以被減到最小。在這種情況下,運(yùn)動(dòng)矢量可以以小于整數(shù)像素的單位表示。
由幀間預(yù)測(cè)器210選擇的參考圖片的索引和有關(guān)運(yùn)動(dòng)矢量的信息可以被編碼,并且傳送給解碼器。
圖3是按照本發(fā)明一個(gè)實(shí)施例的視頻解碼器的方框圖。參考圖3,視頻解碼器300可以包括熵解碼器310、重新排序器315、去量化器320、逆變換器325、預(yù)測(cè)器330、濾波器335和存儲(chǔ)器340。
當(dāng)視頻比特流被輸入到視頻解碼器的時(shí)候,輸入的比特流可以按照在視頻編碼器中處理視頻信息的操作被解碼。
熵解碼器310可以對(duì)輸入的比特流執(zhí)行熵解碼。熵解碼方法類似于前面提到的熵編碼方法。當(dāng)應(yīng)用熵解碼的時(shí)候,具有高值的索引及其相應(yīng)的短代碼字可以分配給具有高產(chǎn)生概率的符號(hào),并且具有高值的索引及其相應(yīng)的長(zhǎng)代碼字可以分配給具有低產(chǎn)生概率的符號(hào)。因此,用于要編譯的符號(hào)的比特量可以降低,并且視頻壓縮性能可以通過熵編碼而改善。
在由熵解碼器310解碼的多條信息之中,用于產(chǎn)生預(yù)測(cè)塊的信息可以提供給預(yù)測(cè)器330,并且可以將在熵解碼器中經(jīng)歷熵解碼的殘留值輸入給重新排序器315。
重新排序器315可以按照在視頻編碼器中使用的重新排序方法重新排序在熵解碼器310中經(jīng)歷熵解碼的比特流。重新排序器315可以通過將以1維矢量格式表示的系數(shù)重建為2維塊形式的系數(shù)執(zhí)行重新排序。重新排序器315可以接收與在編碼器中執(zhí)行的系數(shù)掃描相關(guān)的信息,并且可以基于在編碼器中執(zhí)行的掃描順序,通過使用反掃描方法執(zhí)行重新排序。
去量化器320基于從編碼器提供的量化參數(shù)和重新排序的塊的系數(shù)值執(zhí)行去量化。
按照由視頻編碼器執(zhí)行的量化結(jié)果,逆變換器325可以相對(duì)于由編碼器的變換器執(zhí)行的dct和dst執(zhí)行逆dct和/或逆dst。逆變換可以基于確定的傳輸單元或者圖像劃分單元執(zhí)行。編碼器的變換器可以按照多條信息,諸如預(yù)測(cè)方法、當(dāng)前塊大小,和/或預(yù)測(cè)方向等有選擇地執(zhí)行dct和/或dst。解碼器的逆變換器325可以基于有關(guān)在編碼器的變換器中執(zhí)行的變換的信息執(zhí)行逆變換。
預(yù)測(cè)器330可以基于從熵解碼器310提供的預(yù)測(cè)塊產(chǎn)生相關(guān)信息,和預(yù)先地解碼的塊和/或從存儲(chǔ)器340提供的圖片信息產(chǎn)生預(yù)測(cè)塊。重建的塊可以通過使用從預(yù)測(cè)器330產(chǎn)生的預(yù)測(cè)模塊和從逆變換器325提供的殘留塊產(chǎn)生。
可以將重建的塊和/或圖片可以提供給濾波器335。濾波器335可以將內(nèi)環(huán)濾波器應(yīng)用到重建的塊和/或圖片。內(nèi)環(huán)濾波器可以包括去塊濾波器、采樣自適應(yīng)的偏移(sao),和/或自適應(yīng)循環(huán)濾波器(alf)等。
存儲(chǔ)器340可以存儲(chǔ)重建的圖片或者塊,以便用作參考圖片或者參考?jí)K,或者可以將重建的圖片提供給輸出元件。
圖4是示出按照本發(fā)明的一個(gè)實(shí)施例的視頻解碼器的預(yù)測(cè)器概念的示意圖。
參考圖4,預(yù)測(cè)器400可以包括幀內(nèi)預(yù)測(cè)器410和幀間預(yù)測(cè)器420。
當(dāng)用于相應(yīng)的pu的預(yù)測(cè)模式是幀內(nèi)預(yù)測(cè)模式(即,在屏幕中的預(yù)測(cè)模式)的時(shí)候,幀內(nèi)預(yù)測(cè)器410可以基于在當(dāng)前圖片中的像素信息產(chǎn)生預(yù)測(cè)塊。
如果用于pu的預(yù)測(cè)模式是幀間預(yù)測(cè)模式(即,屏幕間預(yù)測(cè)模式),則幀間預(yù)測(cè)器420可以使用用于從視頻編碼器提供的當(dāng)前pu的幀間預(yù)測(cè)需要的信息,例如,關(guān)于運(yùn)動(dòng)矢量、參考圖片索引等的信息,以基于包括在當(dāng)前圖片(當(dāng)前pu包括在其中)的先前的和后續(xù)的圖片的至少一個(gè)中的信息對(duì)當(dāng)前pu執(zhí)行幀間預(yù)測(cè)。
在這種情況下,如果從編碼器接收的編譯單元(cu)的跳躍標(biāo)記、合并標(biāo)記等被確認(rèn),則可以根據(jù)其推導(dǎo)運(yùn)動(dòng)信息。
在下文中,如果“圖像”或者“屏幕”可以按照本發(fā)明的配置或者表示用于與“圖片”相同的含義,該“圖片”也可以稱為“圖像”或者“屏幕”。此外,幀間預(yù)測(cè)和屏幕間預(yù)測(cè)具有相同的含義,并且?guī)瑑?nèi)預(yù)測(cè)和屏幕內(nèi)預(yù)測(cè)具有相同的含義。
圖5是示出在按照本發(fā)明的系統(tǒng)中的處理單元的四樹結(jié)構(gòu)的示例的概念的示意圖。
編譯單元(cu)可以暗指執(zhí)行圖片的編碼/解碼的單元。在要編譯的圖片中的一個(gè)編譯塊可以基于四樹結(jié)構(gòu)具有深度,并且可以被重復(fù)地分割。在這種情況下,不再分割的編譯塊可以對(duì)應(yīng)于cu,并且編碼器可以對(duì)于cu執(zhí)行編碼處理。cu的大小可以是各種,諸如64×64、32×32、16×16、8×8等。
在此處,基于四樹結(jié)構(gòu)被重復(fù)地分割的編碼塊可以稱作編譯樹塊(ctb)。一個(gè)ctb可以不必進(jìn)一步分割,并且在這種情況下,ctb本身可以對(duì)應(yīng)于一個(gè)cu。因此,ctb可以對(duì)應(yīng)于最大的編譯單元(lcu),其是具有最大大小的cu。同時(shí),在ctb中具有最小大小的cu可以被稱作最小的編譯單元(scu)。
參考圖5,經(jīng)由分割,ctb500可以具有由較小cu510組成的分層結(jié)構(gòu)。ctb500的分層結(jié)構(gòu)可以基于大小信息、深度信息、分割標(biāo)記信息等指定。關(guān)于ctb大小的信息、分割深度信息、分割標(biāo)記信息等可以通過包括在有關(guān)比特流的序列參數(shù)集(sps)中從編碼器發(fā)送給解碼器。
同時(shí),將在幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)之間執(zhí)行的預(yù)測(cè)可以以cu為單位確定。如果執(zhí)行幀間預(yù)測(cè),幀間預(yù)測(cè)模式、運(yùn)動(dòng)信息等可以以pu為單位確定,并且如果執(zhí)行幀內(nèi)預(yù)測(cè),則幀內(nèi)預(yù)測(cè)模式可以以pu為單位確定。在這種情況下,如上所述,通過其執(zhí)行預(yù)測(cè)的處理單元可以與通過其確定預(yù)測(cè)方法的處理單元相同,以及確定其特定內(nèi)容,或者兩個(gè)單元可以是不同的。例如,預(yù)測(cè)方法、預(yù)測(cè)模式等可以以pu為單位確定,并且預(yù)測(cè)可以以變換單元(tu)為單位執(zhí)行。
參考圖5,一個(gè)cu510可以用作一個(gè)pu,或者可以被分割為多個(gè)pu。在幀內(nèi)預(yù)測(cè)520的情況下,cu(和/或pu)的分割模式可以是2n×2n或者n×n模式(這里n是整數(shù))。在此處,以2n×2n模式的pu可以具有2n×2n的大小,并且以n×n模式的pu可以具有n×n的大小。在幀間預(yù)測(cè)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模式中,一個(gè)cu可以被分割為具有2n×(1/2)n大小的pu,和具有2n×(3/2)n大小的pu。在這種情況下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的上面部分中。在2n×nd模式中,一個(gè)cu可以被分割為具有2n×(3/2)n大小的pu,和具有2n×(1/2)n大小的pu。在這種情況下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的下面部分中。此外,在nl×2n模式中,一個(gè)cu可以被分割為具有(1/2)n×2n大小的pu,和具有(3/2)n×2n大小的pu。在這種情況下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的左側(cè)。在nr×2n模式中,一個(gè)cu可以被分割為具有(3/2)n×2n大小的pu,和具有(1/2)n×2n大小的pu。在這種情況下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的右側(cè)。
前面提到的分割模式僅是一個(gè)實(shí)施例,并且因此,將cu分割為pu的方法不局限于前面提到的實(shí)施例。例如,在幀間預(yù)測(cè)530的情況下,cu(和/或pu)的分割模式可以僅使用四種類型的模式,即,2n×2n、2n×n、n×2n和n×n,并且除了前面提到的8種類型的分割模式之外,可以進(jìn)一步使用其它分割模式。
應(yīng)用于當(dāng)前cu(和/或pu)的分割模式可以由編碼器確定。關(guān)于由編碼器確定的分割模式的信息可以被編譯和發(fā)送給解碼器。解碼器可以基于發(fā)送的分割模式信息確定當(dāng)前cu(和/或pu)。例如,分割模式信息可以通過使用分割_模式(part_mode)語(yǔ)法發(fā)送給解碼器。
同時(shí),分配給在圖5的520和530中示出的每個(gè)pu的數(shù)字表示pu的分割索引。在此處,分割索引可以暗指指示在當(dāng)前cu所屬的pu之中當(dāng)前pu對(duì)應(yīng)哪個(gè)pu的索引。例如,分割索引可以由partidx表示。
參考圖5,例如,在圖5的520示出的n×n分割模式中,在cu中位于右上部的pu的分割索引可以對(duì)應(yīng)于1。因此,如果1被分配給當(dāng)前pu的分割索引,分割索引的值可以指示當(dāng)前pu是在當(dāng)前cu中位于右上部的pu。對(duì)于另一個(gè)示例,在圖5的530示出的2n×nu分割模式中,在cu中位于左側(cè)的pu的分割索引可以對(duì)應(yīng)于0。因此,如果0被分配給當(dāng)前pu的分割索引,則分割索引的值可以指示當(dāng)前pu是在當(dāng)前cu中位于左側(cè)的pu。
在圖5示出的每個(gè)分割模式中分配分割索引的方法僅是用于一個(gè)實(shí)施例,并且因此,確定是否去分配分割索引和分配分割索引的方法可以不同于前面提到的實(shí)施例。例如,在圖5的530示出的2n×nu分割模式中,在cu中位于左側(cè)的pu的分割索引可以對(duì)應(yīng)于1。對(duì)于另一個(gè)示例,在2n×2n分割模式中,由于cu沒有分割為多個(gè)pu,分割索引可以不必分配給pu。在下文中,為了解釋方便起見,在如下所述本發(fā)明的實(shí)施例中假設(shè)當(dāng)執(zhí)行編碼和解碼的時(shí)候,應(yīng)用在圖5中示出的分割模式和分割索引。
在下文中,在本發(fā)明中,當(dāng)前塊是目前對(duì)其執(zhí)行編碼、解碼和/或預(yù)測(cè)處理的塊,并且可以暗指當(dāng)執(zhí)行編碼、解碼和/或預(yù)測(cè)處理的時(shí)候?qū)?yīng)于處理單元的塊。例如,如果對(duì)當(dāng)前塊執(zhí)行預(yù)測(cè)處理,則當(dāng)前塊可以對(duì)應(yīng)于要預(yù)測(cè)的塊,該要預(yù)測(cè)的塊對(duì)應(yīng)于當(dāng)前pu。此外,在本發(fā)明中,通過預(yù)測(cè)產(chǎn)生的塊被稱作預(yù)測(cè)塊。
“單元”暗指當(dāng)執(zhí)行編碼、解碼等的時(shí)候的處理單元,并且因此,可以不同于指示一組像素和/或采樣的“塊”。但是,為了解釋方便起見,在本發(fā)明中“單元”可以選擇性地涉及對(duì)應(yīng)于“單元”的“塊”。例如,在下文中,在本發(fā)明中,對(duì)應(yīng)于一個(gè)pu的要預(yù)測(cè)的塊可以稱為pu,并且要編碼/解碼并且對(duì)應(yīng)于一個(gè)cu的塊可以稱為cu。這樣的區(qū)別將由本領(lǐng)域技術(shù)人員清楚地理解。
同時(shí),如果對(duì)當(dāng)前塊執(zhí)行幀間預(yù)測(cè),則基于該預(yù)測(cè)諸如高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)(amvp)、合并模式,和/或跳躍模式的預(yù)測(cè)模式可用于降低傳輸信息量。
在合并模式中的當(dāng)前塊可以合并為在當(dāng)前圖片和/或參考圖片中的另一個(gè)塊(例如,相鄰塊,在此處該相鄰塊包括相鄰于當(dāng)前塊的塊,和/或位置上最靠近于當(dāng)前塊的轉(zhuǎn)角的塊)。在這種情況下,所述的是當(dāng)運(yùn)動(dòng)信息是在當(dāng)前塊的幀間預(yù)測(cè)中從在當(dāng)前圖片和/或參考圖片中的另一個(gè)塊的運(yùn)動(dòng)信息中獲得的時(shí)候,該塊被合并。
當(dāng)前塊的合并相關(guān)的信息的示例可以包括指示用于當(dāng)前塊的預(yù)測(cè)模式是否是合并模式的信息,指示在包括在合并候選列表的合并候選之中當(dāng)前塊被合并到其的合并候選的信息等。在下文中,指示用于當(dāng)前塊的預(yù)測(cè)模式是否是合并模式的信息被稱作合并標(biāo)記,并且指示在包括在合并候選列表中的合并候選之中當(dāng)前塊被合并到其的合并候選的信息被稱作合并索引。例如,該合并標(biāo)記可以由合并_標(biāo)記(merge_flag)指示,并且合并索引可以由merge_idx指示。在這種情況下,只有該合并標(biāo)記指示用于當(dāng)前塊的預(yù)測(cè)模式是合并模式(例如,merge_flag=1)時(shí),可以獲得該合并索引。
跳躍模式是在其中殘留信號(hào)(其是在預(yù)測(cè)塊和當(dāng)前塊之間的差值)的傳輸被跳躍的預(yù)測(cè)模式。在跳躍模式中,該預(yù)測(cè)塊和當(dāng)前塊的殘留信號(hào)的值可以是0。因此,在跳躍模式中,編碼器可以不必將殘留信號(hào)發(fā)送給解碼器,并且該解碼器可以通過僅使用在殘留信號(hào)和運(yùn)動(dòng)信息之間的運(yùn)動(dòng)信息產(chǎn)生預(yù)測(cè)塊。在跳躍模式中,編碼器可以將運(yùn)動(dòng)信息發(fā)送給解碼器。在這種情況下,運(yùn)動(dòng)信息可以指定在當(dāng)前塊的相鄰塊之中的任何一個(gè)塊,使得該塊的運(yùn)動(dòng)信息用于當(dāng)前塊。
在前面提到的跳躍模式中,為了獲得當(dāng)前塊的運(yùn)動(dòng)信息,可以使用在合并模式中使用的相同的方法。在這種情況下,在跳躍模式和合并模式中,相同的相鄰塊可以用作供推導(dǎo)運(yùn)動(dòng)信息的候選塊。例如,在跳躍模式中,在包括在合并候選列表中的合并候選之中由合并索引指示的合并候選塊的運(yùn)動(dòng)信息可以直接作為當(dāng)前塊的運(yùn)動(dòng)信息使用。在這種情況下,跳躍模式也可以被稱作合并跳躍模式。在下文中,跳躍模式在本發(fā)明中暗指前面提到的合并跳躍模式。在合并模式中的幀間預(yù)測(cè)方法的特定的實(shí)施例將在下面參考圖6描述。
圖6是簡(jiǎn)要地示出在合并模式中的幀間預(yù)測(cè)方法的實(shí)施例的流程圖。圖6的實(shí)施例可以應(yīng)用于編碼器和解碼器。在下文中,為了解釋方便起見,圖6的實(shí)施例集中于解碼器。
參考圖6,解碼器可以產(chǎn)生由多個(gè)合并候選構(gòu)成的合并候選列表(步驟s610)。解碼器可以通過使用特定的過程推導(dǎo)多個(gè)合并候選,并且可以基于推導(dǎo)的合并候選產(chǎn)生合并候選列表。在這種情況下,在當(dāng)前圖片中包括在塊中,和/或在除當(dāng)前圖片以外的參考圖片的col塊中的運(yùn)動(dòng)信息可以用作合并候選,和/或可用于推導(dǎo)合并候選。在下文中,為了解釋方便起見,在本發(fā)明中用作合并候選的運(yùn)動(dòng)信息被稱作“合并候選塊”。用于產(chǎn)生合并候選列表的合并候選的實(shí)施例將在下面描述。
回到參考圖6,解碼器可以基于產(chǎn)生的合并候選列表推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)信息(步驟s620)。
更具體地說,解碼器可以選擇在構(gòu)成合并候選列表的合并候選之中用于推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)信息的合并候選。在一個(gè)實(shí)施例中,解碼器可以選擇由從編碼器發(fā)送的合并索引指示的合并候選作為用于推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)信息的合并候選。在這種情況下,解碼器可以基于選擇的合并候選推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)信息。例如,解碼器可以將選擇的合并候選的運(yùn)動(dòng)信息直接作為當(dāng)前塊的運(yùn)動(dòng)信息使用。
當(dāng)推導(dǎo)當(dāng)前塊的運(yùn)動(dòng)信息的時(shí)候,編碼器可以基于推導(dǎo)的運(yùn)動(dòng)信息產(chǎn)生用于當(dāng)前塊的預(yù)測(cè)塊(步驟s630)。
圖7是示出用于產(chǎn)生合并候選列表的合并候選的實(shí)施例的示意圖。
當(dāng)如上所述應(yīng)用合并模式的時(shí)候,當(dāng)前塊的運(yùn)動(dòng)信息可以基于在包括在合并候選列表中的合并候選之中的任何一條運(yùn)動(dòng)信息推導(dǎo)。例如,在包括在合并候選列表的合并候選之中,任何一條運(yùn)動(dòng)信息單元可以用作當(dāng)前塊的運(yùn)動(dòng)信息。在這種情況下,殘留信號(hào)可以與運(yùn)動(dòng)信息一起發(fā)送,并且如果預(yù)測(cè)塊的像素值被直接作為當(dāng)前塊的像素值使用,則殘留信號(hào)可以不必發(fā)送。
用于產(chǎn)生合并候選列表的合并候選的實(shí)施例在圖7的710中示出。參考圖7的710,當(dāng)前塊的左側(cè)相鄰塊a和/或當(dāng)前塊的上面相鄰塊b可以用作合并候選塊。在這種情況下,如所圖示的,當(dāng)前塊的左側(cè)相鄰塊可以是在相鄰于當(dāng)前塊的左側(cè)的塊之中位于最上面部分的塊,并且當(dāng)前塊的上面相鄰塊可以是在相鄰于當(dāng)前塊的上部的塊之中位于最左側(cè)的塊。此外,左下角塊c和/或右上角塊d可以用作合并候選塊。前面提到的左側(cè)相鄰塊a、上面相鄰塊b、左下角塊c,和右上角塊d可以對(duì)應(yīng)于位于當(dāng)前圖片中的當(dāng)前塊的相鄰塊。因此,從合并候選塊中推導(dǎo)的合并候選可以稱作空間合并候選。此外,以另一個(gè)視角,由于空間合并候選可用于預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量,其也可以被稱作空間運(yùn)動(dòng)矢量預(yù)測(cè)器(smvp)。
此外,col塊col可以在圖7的710中作為合并候選塊使用。col塊可以對(duì)應(yīng)于在除當(dāng)前圖片以外的參考圖片中的塊。更具體地說,編碼器和解碼器可以在參考圖片中的特定的位置,和/或由特定過程確定的位置處選擇塊作為col塊。在此處,col塊的位置可以基于在當(dāng)前塊中的塊,和/或與當(dāng)前塊共處一地的參考圖片(在下文中,為了解釋方便起見,稱作“共處一地的塊”)推導(dǎo)。前面提到的col塊是從參考圖片推導(dǎo)的塊。因此,從col塊推導(dǎo)的合并候選可以被稱作時(shí)間合并候選。此外,從另一個(gè)視角,由于時(shí)間合并候選可用于預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量,其可以被稱作時(shí)間運(yùn)動(dòng)矢量預(yù)測(cè)器(tmvp)。
用于產(chǎn)生合并候選列表的合并候選的另一個(gè)實(shí)施例在圖7的720中示出。參考圖7的720,合并候選列表可以包括作為合并候選的左下角塊a0、右上角塊b0,和/或左上角塊b2的運(yùn)動(dòng)信息。此外,該合并候選列表可以包括作為合并候選的當(dāng)前塊的左相鄰塊a1,和/或當(dāng)前塊的上相鄰塊b1的運(yùn)動(dòng)信息。在這種情況下,左相鄰塊a1可以是在相鄰于當(dāng)前塊的左側(cè)塊之中位于最下面部分的塊,并且上相鄰塊b1可以是在相鄰于當(dāng)前塊的上部塊之中位于最右側(cè)塊。前面提到的左下角塊a0、左相鄰塊a1、右上角塊b0、上相鄰塊b1,和左上角塊b2可以對(duì)應(yīng)于位于當(dāng)前圖片中的當(dāng)前塊的相鄰塊。因此,從合并候選塊中推導(dǎo)的合并候選可以稱作空間合并候選。此外,以另一個(gè)視角,由于空間合并候選可用于預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量,其也可以被稱作空間運(yùn)動(dòng)矢量預(yù)測(cè)器(smvp)。
此外,在圖7的720中,類似于圖7的710,col塊的運(yùn)動(dòng)信息可以用作包括在合并候選列表中的合并候選。如上所述,col塊可以對(duì)應(yīng)于在除當(dāng)前圖片以外的參考圖片中的塊。在此處,col塊的位置可以基于當(dāng)前塊和/或共處一地的塊推導(dǎo)。前面提到的col塊是從參考圖片推導(dǎo)的塊。因此,從col塊推導(dǎo)的合并候選可以被稱作時(shí)間合并候選。此外,從另一個(gè)視角,由于時(shí)間合并候選可用于預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量,其可以被稱作時(shí)間運(yùn)動(dòng)矢量預(yù)測(cè)器(tmvp)。
在本發(fā)明中用于產(chǎn)生合并候選列表的合并候選不局限于前面提到的實(shí)施例,并且因此,該合并候選可以從前面提到的實(shí)施例中選擇性地不同地推導(dǎo)。但是,除非在本發(fā)明中另作說明的,在下文中假設(shè)如圖7的720所示的共處一地的合并候選用于按照要預(yù)測(cè)的塊(和/或當(dāng)前塊)預(yù)測(cè)合并模式。此外,在下文中,當(dāng)在本發(fā)明中描述關(guān)于要合并/跳躍的pu的合并候選的內(nèi)容的時(shí)候,在pu的外部位置上最靠近于左下角的塊由a0指示,在相鄰于pu左側(cè)的塊之中位于最下面部分的塊由a1指示,在pu的外部位置上最靠近于右上角的塊由b0指示,在相鄰于pu的上部塊之中位于最右側(cè)的塊由b1指示,和在pu的外部位置上最靠近于左上角的塊由b2指示。
參考圖7的實(shí)施例,選擇構(gòu)成合并候選列表的合并候選的方法可以被不同地?cái)U(kuò)展。編碼器和解碼器可以按照前面提到的圖7的實(shí)施例通過選擇合并候選配置合并候選列表。在這種情況下,當(dāng)選擇合并候選的時(shí)候,編碼器和解碼器可以通過除去冗余的候選配置合并候選列表以降低冗余度。
此外,在前面提到的圖7的實(shí)施例中,構(gòu)成合并候選列表的合并候選的數(shù)目可以局限于特定的固定數(shù)目。例如,在圖7的720的實(shí)施例中,假設(shè)合并候選的數(shù)目是5,并且該合并候選被以{a1,b1,b0,a0,b2,col}的順序增加和/或插入到合并候選列表。在這種情況下,如果塊a1、b1、b0、a0、b2和col全部是可用的,僅塊a1、b1、b0、a0和col的運(yùn)動(dòng)信息可以被確定為是包括在合并候選列表中的合并候選。對(duì)于另一個(gè)示例,在塊a1、b1、b0、a0、b2和col之中,可用的塊的數(shù)目可以小于5。在這種情況下,編碼器和解碼器可以基于可用的合并候選,通過使用特定的過程,推導(dǎo)新的合并候選,使得最終推導(dǎo)的合并候選的數(shù)目是5。
同時(shí),例如,當(dāng)以合并模式和/或跳躍模式執(zhí)行幀間預(yù)測(cè)的時(shí)候,編碼器和解碼器可以對(duì)于每個(gè)pu連續(xù)地執(zhí)行運(yùn)動(dòng)估算(me)。但是,對(duì)于另一個(gè)示例,為了改善編碼/解碼性能,編碼器和解碼器可以對(duì)于多個(gè)pu同時(shí)地執(zhí)行me。也就是說,可以以合并模式和/或跳躍模式對(duì)于多個(gè)pu并行執(zhí)行me,并且在這種情況下,me可以被稱作并行me。在下文中,在本發(fā)明中,并行me被應(yīng)用于其的合并模式被稱作并行合并模式和/或并行合并,并且并行me被英已經(jīng)于其的跳躍模式被稱作并行跳躍模式和/或并行跳躍。
為了解釋方便起見,如下所述的實(shí)施例集中于并行合并模式。但是,如下所述的實(shí)施例不局限于并行合并模式,但是,相同的或者類似的方法也可以應(yīng)用于并行跳躍模式。
圖8是示出以合并模式和跳躍模式的并行處理單元的實(shí)施例的示意圖。
在圖8示出的整個(gè)塊指示一個(gè)編譯樹塊(ctb),并且ctb可以對(duì)應(yīng)于最大的編譯單元(lcu)。如上所述,ctb可以具有經(jīng)由分割由較小編譯單元構(gòu)成的分層結(jié)構(gòu),并且每個(gè)編譯單元可以用作一個(gè)pu,或者可以被分割為多個(gè)pu。因此,構(gòu)成圖8的ctb的矩形塊和長(zhǎng)方形塊的每個(gè)可以對(duì)應(yīng)于一個(gè)pu。
同時(shí),由圖8的810、820、830和840指示的矩形塊的每個(gè)可以指示用于執(zhí)行并行me的并行處理單元。也就是說,lcu可以被分割為多個(gè)非冗余的并行處理單元。在此處,例如,多個(gè)并行處理單元可以具有相同的大小。在這種情況下,編碼器和解碼器可以在一個(gè)并行處理單元內(nèi)對(duì)于所有pu同時(shí)地執(zhí)行me。例如,可以對(duì)于包括在并行處理單元810中的pua和pub并行執(zhí)行me。并行處理單元對(duì)應(yīng)于并行me被應(yīng)用到的區(qū)域,并且因此也可以被稱作運(yùn)動(dòng)估算區(qū)(mer)。在下文中,為了解釋方便起見,在本發(fā)明中用于執(zhí)行并行me的并行處理單元被稱作mer。
當(dāng)以合并模式和/或跳躍模式應(yīng)用并行me的時(shí)候,編碼器需要將與并行me相關(guān)的信息發(fā)送給解碼器。如上所述,由于并行me可以應(yīng)用于在mer內(nèi)的所有pu,從編碼器發(fā)送到解碼器的信息可以對(duì)應(yīng)于以合并模式和/或跳躍模式的并行處理水平。在此處,該并行處理水平可以對(duì)應(yīng)于用于執(zhí)行并行me的并行處理單元的大小,并且因此,也可以對(duì)應(yīng)于mer的大小。例如,如果以具有32×32大小的塊為單位執(zhí)行并行me,也就是說,如果mer的大小對(duì)應(yīng)于32×32,可以說以32×32并行處理水平執(zhí)行并行me。并行處理水平指示以合并模式和/或合并跳躍模式的并行處理水平,并且因此,也可以被稱作并行合并水平。
在此處,并行處理水平可以限制在特定的范圍內(nèi)。例如,并行處理水平可以局限于小于在4×4和lcu大小之間的大小。在這種情況下,mer可以具有小于或等于lcu大小和/或ctb大小的大小。
與前面提到的并行處理水平相關(guān)的信息可以通過包括在序列參數(shù)集(sps)或者圖片參數(shù)集(pps)中在比特流上從編碼器發(fā)送到解碼器。與包括在pps中的并行處理水平相關(guān)的信息可以通過包括在例如以下的表1中的語(yǔ)法元素限定。
[表1]
在此處,log2_parallel_merge_level_minus2可以表示以合并模式和/或跳躍模式的并行處理水平。更具體地說,分配給log2_parallel_merge_level_minus2的值可以對(duì)應(yīng)于通過從實(shí)際的并行處理水平的log值(也就是說,實(shí)際的mer大小的log值)中減去2獲得的值。如果pu的最小大小是4×4,并行處理水平的log值的最小值可以對(duì)應(yīng)于2。因此,為了降低傳輸信息量,通過從實(shí)際的并行處理水平的log值中減去2獲得的值可以分配給log2_parallel_merge_level_minus2。
在pps中限定的并行處理水平信息不局限于前面提到的實(shí)施例。在表1的實(shí)施例中,除與并行處理水平相關(guān)的信息以外指示另一個(gè)信息的語(yǔ)法可以被不同地選擇性地應(yīng)用。
同時(shí),在表1中,log2_parallel_merge_level_minus2可以按照分配的值具有與以下的表2的實(shí)施例相同的含義。
[表2]
參考表2,如果值0被分配給log2_parallel_merge_level_minus2,則mer大小可以對(duì)應(yīng)于4×4。在這種情況下,由于最小的pu的大小是4×4,編碼器和解碼器可以對(duì)于在lcu中的所有pu連續(xù)地執(zhí)行me。對(duì)于另一個(gè)示例,如果值2被分配給log2_parallel_merge_level_minus2,mer大小可以對(duì)應(yīng)于16×16。在這種情況下,編碼器和解碼器可以以16×16并行處理水平執(zhí)行并行me。也就是說,編碼器和解碼器可以對(duì)于在16×16塊中的所有pu并行執(zhí)行me。同樣地,即使即使另一個(gè)值被分配給log2_parallel_merge_level_minus2,編碼器和解碼器可以按照分配的值通過使用類似的方法執(zhí)行并行me。
同時(shí),一個(gè)編譯樹塊可以包括多個(gè)cu。在這種情況下,一個(gè)并行處理單元(也就是說,一個(gè)mer)可以包括一個(gè)pu,或者可以具有與一個(gè)cu相同的大小。此外,一個(gè)mer可以包括多個(gè)cu。
例如,參考圖8,mer810可以具有與由pua和pub構(gòu)成的一個(gè)cu相同的大小。此外,mer830和mer840分別地具有與cug和cuh相同的大小。因而,如果一個(gè)cu具有與mer相同的大小,可以看到,以cu為單位執(zhí)行對(duì)于cu的并行me。另一方面,mer820可以包括cuc(在此處,cuc對(duì)應(yīng)于puc)、cud(在此處,cud包括pud1和pud2)、cue(在此處,cue對(duì)應(yīng)于pue),和cuf(在此處,cuf包括puf1和puf2)。在這種情況下,對(duì)于在mer820中的puc、d1、d2、e、f1和f2的全部可以以合并模式和/或跳躍模式并行執(zhí)行me。
同時(shí),如上參考圖8的實(shí)施例所述,為了以合并模式和/或跳躍模式執(zhí)行并行me,必須允許對(duì)于并行處理單元(也就是說,對(duì)于在mer中的所有pu)獨(dú)立地執(zhí)行幀間預(yù)測(cè)和/或me。但是,在前面提到的合并模式和/或跳躍模式中,就并行me而言可能出現(xiàn)問題。
圖9是用于解釋當(dāng)以合并模式執(zhí)行并行me的時(shí)候出現(xiàn)的問題的示意圖。圖9的910、920、930和940每個(gè)指示一個(gè)cu。
如上圖8所述,并行處理單元(也就是說,mer)可以與當(dāng)前的cu具有相同的大小,或者可以不必具有相同的大小。在圖9的實(shí)施例中假設(shè)mer的大小與當(dāng)前的cu相同。在這種情況下,在圖9中示出的每個(gè)cu可以對(duì)應(yīng)于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。但是,在mer大小大于當(dāng)前的cu的情形下,也可以同樣地或者類似地出現(xiàn)如下參考圖9所述的問題。
在圖9的910中,cu(和/或pu)的分割模式是2n×2n。因此,一個(gè)cu可以無需被分割用作pua,并且因此,可能不會(huì)出現(xiàn)由并行me所引起的問題。
在圖9的920中,cu(和/或pu)的分割模式是2n×n。在這種情況下,對(duì)于并行me,對(duì)于上層pub1和下層pub2同時(shí)地執(zhí)行me。但是,在用于下層pub2的合并候選之中,當(dāng)完成上層pub1的編碼/解碼的時(shí)候,位于最左側(cè)并且相鄰于下層pub2的上部的塊925的運(yùn)動(dòng)信息可以用作下層pub2的合并候選。因而,由于下層pub2使用屬于上層pub1的運(yùn)動(dòng)信息,不能對(duì)于屬于在圖9的920中的cu的pu同時(shí)地執(zhí)行me。
在圖9的930中,cu(和/或pu)的分割模式是n×2n。在這種情況下,對(duì)于并行me,必須對(duì)于左側(cè)puc1和右側(cè)puc2同時(shí)地執(zhí)行me。但是,在用于右側(cè)puc2的合并候選之中,當(dāng)完成左側(cè)puc1的編碼/解碼的時(shí)候,位于最下面部分和相鄰于右側(cè)puc2的左側(cè)的塊935的運(yùn)動(dòng)信息可以用作右側(cè)puc2的合并候選。因而,由于右側(cè)puc2使用屬于左側(cè)puc1的運(yùn)動(dòng)信息,不能對(duì)于屬于在圖9的930中的cu的pu同時(shí)地執(zhí)行me。
在圖9的940中,cu(和/或pu)的分割模式是n×n。在這種情況下,對(duì)于并行me,必須對(duì)左上pud1、右上pud2、左下pud3和右下pud4同時(shí)地執(zhí)行me。但是,例如,在用于右下pud4的合并候選之中,當(dāng)完成左上pud1、右上pud2和左下pud3的編碼/解碼的時(shí)候,位于右下pud4的左上角的塊941、位于最右側(cè)和相鄰于右下pud4的上部的塊943,和位于最下面部分和相鄰于右下pud4的左側(cè)的塊945的運(yùn)動(dòng)信息可以用作右下pud4的合并候選。此外,在圖9的940中,也可能在右上pud2和左下pud3中出現(xiàn)與前面提到的右下pud4類似的問題。因而,除左上pud1以外的pu使用屬于其它的pu的運(yùn)動(dòng)信息,并且因此,不能對(duì)于屬于在圖9的940中的cu的pu同時(shí)地執(zhí)行me。
雖然在前面提到的實(shí)施例中僅描述了對(duì)于cu(和/或pu)的分割模式是2n×2n、2n×n、n×2n和n×n的情形的問題,這樣的問題也可能在另一個(gè)分割模式(例如,2n×nu、2n×nd、nl×2n或者nr×2n)中同樣地或者類似地出現(xiàn)。在下文中,將描述推導(dǎo)合并候選的方法和配置候選列表的方法,以解決按照本發(fā)明的實(shí)施例的如上參考圖9所述的問題。
圖10是示出推導(dǎo)用于使能并行me的合并候選方法的實(shí)施例的示意圖。圖10的1010至1060每個(gè)指示一個(gè)cu,并且在屬于每個(gè)cu的pu上標(biāo)記的數(shù)字表示分割索引。
為了解釋方便起見,假設(shè)在圖10的實(shí)施例中mer具有與當(dāng)前的cu相同的大小。在這種情況下,在圖10中示出的每個(gè)cu可以對(duì)應(yīng)于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。然而,即使mer的大小(也就是說,并行處理水平)大于cu,圖10的以下的實(shí)施例可以同等地應(yīng)用于屬于并行處理水平的每個(gè)cu。
同時(shí),如上參考圖9所述,在對(duì)于其執(zhí)行并行me的mer內(nèi),可能存在使用對(duì)于其沒有完成編碼/解碼的另一個(gè)塊的pu。在這種情況下,不能對(duì)于屬于mer的pu同時(shí)地執(zhí)行me。因此,為了解決這個(gè)問題,編碼器和解碼器可以不必將運(yùn)動(dòng)信息不可用的塊作為合并候選塊使用。也就是說,編碼器和解碼器可以在推導(dǎo)合并候選的過程中將塊處理為不可用的,并且可以不必將該塊的運(yùn)動(dòng)信息增加給合并候選列表。
在圖10的1010中,cu(和/或pu)的分割模式是2n×n,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且可以不必用作下面pu的合并候選塊。在這種情況下,塊的運(yùn)動(dòng)信息可以不必被增加到合并候選列表。
此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且可以不必用作下面pu的合并候選塊。在這種情況下,塊的運(yùn)動(dòng)信息可以不必被增加到合并候選列表。
如圖10的1010的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的下面pu推導(dǎo)的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時(shí)間合并候選,如果將1增加到空間合并候選的數(shù)目,則對(duì)于下面pu推導(dǎo)的可用的合并候選的最大數(shù)可以是3。
在圖10的1020中,cu(和/或pu)的分割模式是2n×nu,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇赡苁菈K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,所以塊可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖10的1020的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的下面pu推導(dǎo)的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于下面pu推導(dǎo)的可用的合并候選的最大數(shù)可以是3。
在圖10的1030中,cu(和/或pu)的分割模式是2n×nd,并且下面pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引1的下面pu的me中,塊a0和塊b0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇赡苁窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖10的1030的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的下面pu推導(dǎo)的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于下面pu推導(dǎo)的可用的合并候選的最大數(shù)可以是3。
在圖10的1040中,cu(和/或pu)的分割模式是n×2n,并且右側(cè)pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作下面pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引1的右側(cè)pu的me中,塊a0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側(cè)pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖10的1040的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的右側(cè)pu推導(dǎo)的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,則對(duì)于右側(cè)pu推導(dǎo)的可用的合并候選的最大數(shù)可以是4。
在圖10的1050中,cu(和/或pu)的分割模式是nl×2n,并且右側(cè)pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側(cè)pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引1的右側(cè)pu的me中,塊a0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側(cè)pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖10的1050的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的右側(cè)pu推導(dǎo)的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于右側(cè)pu推導(dǎo)的可用的合并候選的最大數(shù)可以是4。
在圖10的1060中,cu(和/或pu)的分割模式是nr×2n,并且右側(cè)pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1是在相同的cu中屬于另一個(gè)pu的塊。因此,由于塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側(cè)pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引1的右側(cè)pu的me中,塊a0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右側(cè)pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖10的1060的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的右側(cè)pu推導(dǎo)的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于右側(cè)pu推導(dǎo)的可用的合并候選的最大數(shù)可以是4。
按照前面提到的實(shí)施例,在推導(dǎo)空間合并候選的過程中,編碼器和解碼器可以基于特定的條件將pu的相鄰塊處理為是不可用的。這可以表示如下。
如果以下條件的一個(gè)是真的,可用標(biāo)記n(availableflagn)被設(shè)置等于0,兩個(gè)分量mvlxn被設(shè)置等于0,覆蓋亮度位置(xn,yn)的預(yù)測(cè)單元的refldxlxn和preflaglx[xn,yn]被分別地分配給mvlxn、refldxlxn和predflaglxn。
在此處,可用標(biāo)記n是指示塊n(這里n是a0、a1、b0、b1和b2的一個(gè))是否是能夠用作合并候選塊的可用的塊的標(biāo)記。此外,mvl×n表示塊n的運(yùn)動(dòng)矢量,并且refidxl×n表示塊n的參考圖片索引。在此處,x可以具有0或者1的值。此外,predflaglxn可以對(duì)應(yīng)于指示是否在塊n上執(zhí)行l(wèi)x預(yù)測(cè)的標(biāo)記。
可能存在用于將pu的相鄰塊處理為是不可用的若干類型的條件。例如,如果n是塊b2,并且塊a0、a1、b0和b1全部是可用的,以將合并候選的數(shù)目保持為5,其可以將塊b2處理為是不可用的。此外,如果相鄰塊的預(yù)測(cè)模式是內(nèi)部模式,其可以將該塊處理為是不可用的。這可以表示如下。
-n等于b2,并且可用標(biāo)記a0+可用標(biāo)記a1+可用標(biāo)記b0+可用標(biāo)記b1等于4。
-覆蓋亮度位置(xn,yn)的預(yù)測(cè)單元是不可用的,或者predmode是mode_intra。
此外,如在前面提到的實(shí)施例中描述的,如果當(dāng)前的cu(和/或pu)的分割模式是2n×n、2n×nu,或者2n×nd,并且當(dāng)前的pu的分割索引是1,則塊b1可以被處理為是不可用的。此外,如果當(dāng)前的cu(和/或pu)的分割模式是n×2n、nl×2n,或者nr×2n,并且當(dāng)前的pu的分割索引是1,則塊a1可以被處理為是不可用的。這可以表示如下。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。
前面提到的最后的兩個(gè)條件可以通過允許屬于相同的cu的pu互相不具有相關(guān)性,來對(duì)于屬于相同cu的所有pu使能并行me。此外,如果一個(gè)pu使用在相同的cu中屬于另一個(gè)pu的運(yùn)動(dòng)信息,則在相同的cu中長(zhǎng)方形pu具有相同的運(yùn)動(dòng)信息,并且因此,可以最終具有與在2n×2n分割模式中相同的運(yùn)動(dòng)信息。在這種情況下,前面提到的最后的兩個(gè)條件可以防止長(zhǎng)方形pu具有與在2n×2n分割模式中相同的運(yùn)動(dòng)信息。
圖11是示出推導(dǎo)用于使能并行me的合并候選方法的另一個(gè)實(shí)施例的示意圖。圖11的1110至1130每個(gè)指示一個(gè)cu,并且在屬于每個(gè)cu的pu中標(biāo)記的數(shù)字表示分割索引。
為了解釋方便起見,假設(shè)在圖11的實(shí)施例中mer具有與當(dāng)前的cu相同的大小。在這種情況下,在圖11中示出的每個(gè)cu可以對(duì)應(yīng)于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。即使mer的大小(也就是說,并行處理水平)大于cu,則圖11的以下的實(shí)施例可以同等地應(yīng)用于屬于并行處理水平的cu中的每個(gè)。
同時(shí),如上圖10的實(shí)施例所述的是用于cu(和/或pu)的分割模式是2n×n、2n×nu、2n×nd、n×2n、nl×2n和nr×2n的情形。但是,即使cu(和/或pu)的分割模式是n×n,在對(duì)其執(zhí)行并行me的mer內(nèi),可能存在使用編碼/解碼沒有對(duì)其完成的另一個(gè)塊(和/或pu)的pu。在這種情況下,不能對(duì)于屬于mer的pu同時(shí)地執(zhí)行me。因此,為了解決這個(gè)問題,編碼器和解碼器不可以將其運(yùn)動(dòng)信息不可用的塊作為合并候選塊使用。也就是說,編碼器和解碼器可以在推導(dǎo)合并候選的過程中處理不可用的塊,并且不可以將該塊的運(yùn)動(dòng)信息增加給合并候選列表。
在圖11的1110中,cu(和/或pu)的分割模式是n×n,并且右上pu的合并候選具有分割索引1。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a0和塊a1是在相同的cu中屬于另一個(gè)pu的塊。在這種情況下,右上pu與在相同的cu中的另一個(gè)pu具有相關(guān)性。因此,由于塊a0和塊a1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右上pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖11的1110的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引1的右上pu推導(dǎo)的空間合并候選的數(shù)目可以是3。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,則對(duì)于右上pu推導(dǎo)的可用的合并候選的最大數(shù)可以是4。
在圖11的1120中,cu(和/或pu)的分割模式是n×n,并且左下pu的合并候選具有分割索引2。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊b0和塊b1是在相同的cu中屬于另一個(gè)pu的塊。在這種情況下,左下pu與在相同的cu中的另一個(gè)pu具有相關(guān)性。因此,由于塊b0和塊b1是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作左下pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引2的左下pu的me中,塊a0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作左下pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖11的1120的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,對(duì)于具有分割索引2的左下pu推導(dǎo)的空間合并候選的數(shù)目可以是2。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于左下pu推導(dǎo)的可用的合并候選的最大數(shù)可以是3。
在圖11的1130中,cu(和/或pu)的分割模式是n×n,并且右下pu的合并候選具有分割索引3。在這種情況下,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a1、塊b1,和塊b2是在相同的cu中屬于另一個(gè)pu的塊。在這種情況下,右下pu與在相同的cu中的另一個(gè)pu具有相關(guān)性。因此,由于塊a1、塊b1和塊b2是在并行me中不能使用的塊,其可以被處理為是不可用的,并且不可以用作右下pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
此外,在具有分割索引3的右下pu的me中,塊a0和塊b0的運(yùn)動(dòng)信息是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態(tài)。在這種情況下,由于塊a0和塊b0是在并行me中不能使用的塊,該塊可以被處理為是不可用的,并且不可以用作右下pu的合并候選塊。在這種情況下,該塊的運(yùn)動(dòng)信息不可以被增加給合并候選列表。
如圖11的1130的實(shí)施例所示,如果在并行me中不能使用的塊被處理為是不可用的,則對(duì)于具有分割索引3的右下pu推導(dǎo)的空間合并候選的數(shù)目可以是0。在這種情況下,通過考慮時(shí)間合并候選,如果1被增加給空間合并候選的數(shù)目,對(duì)于右下pu推導(dǎo)的可用的合并候選的最大數(shù)可以是1。
按照前面提到的實(shí)施例,在推導(dǎo)空間合并候選的過程中,編碼器和解碼器可以基于特定的條件將pu的相鄰塊處理為是不可用的。如上參考圖10所述,可能存在用于將pu的相鄰塊處理為是不可用的若干類型的條件。
按照?qǐng)D11的實(shí)施例,如果當(dāng)前的cu(和/或pu)的分割模式是n×n,并且當(dāng)前的pu的分割索引是1,則塊a0和塊a1可以被處理為是不可用的。此外,如果當(dāng)前的cu(和/或pu)的分割模式是n×n,并且當(dāng)前的pu的分割索引是2,則塊b0和塊b1可以被處理為是不可用的。此外,如果當(dāng)前的cu(和/或pu)的分割模式是n×n,并且當(dāng)前的pu的分割索引是3,則塊a1、塊b1和塊b2可以被處理為是不可用的。前面提到的三個(gè)條件可以如下在圖10描述的實(shí)施例中那樣增加。
如果以下條件的一個(gè)是真的,可用標(biāo)記n被設(shè)置等于0,兩個(gè)分量mvlxn被設(shè)置等于0,覆蓋亮度位置(xn,yn)的預(yù)測(cè)單元的refldxlxn和preflaglx[xn,yn]被分別地分配給mvlxn、refldxlxn和predflaglxn。
-n等于b2,并且可用標(biāo)記a0+可用標(biāo)記a1+可用標(biāo)記b0+可用標(biāo)記b1等于4。
-覆蓋亮度位置(xn,yn)的預(yù)測(cè)單元是不可用的,或者predmode是mode_intra。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_n×n,并且partidx等于1,以及n等于a0或者a1。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_n×n,并且partidx等于2,以及n等于b0或者b1。
-當(dāng)前的預(yù)測(cè)單元的partmode是part_n×n,并且partidx等于3,以及n等于a1或者b1或者b2。
在前面提到的實(shí)施例中增加的三個(gè)條件可以防止屬于cu的一個(gè)pu避免引用屬于相同的cu的另一個(gè)pu的運(yùn)動(dòng)信息。因此,按照前面提到的實(shí)施例,對(duì)于屬于相同的cu的所有pu可以并行推導(dǎo)空間合并候選。
同時(shí),如果前面提到的圖10和圖11的實(shí)施例以并行合并模式和/或并行跳躍模式應(yīng)用,則對(duì)于每個(gè)pu能夠推導(dǎo)的可用合并候選的最大數(shù)可以按照分割模式和分割索引估算。對(duì)于每個(gè)pu可用的合并候選的最大數(shù)可以通過將時(shí)間候選的數(shù)目(例如,1)增加給能夠在并行me中使用的可用的空間合并候選的數(shù)目估算。例如,在圖10和圖11的每個(gè)分割模式中,對(duì)于具有分割索引值0的pu可以推導(dǎo)高達(dá)5個(gè)可用的合并候選。對(duì)于另一個(gè)示例,在如圖10的1010所示的2n×n的分割模式中,對(duì)于具有分割索引1的pu可以推導(dǎo)高達(dá)3個(gè)可用的合并候選。對(duì)于每個(gè)pu推導(dǎo)的可用的合并候選的最大數(shù)可以按照分割模式和分割索引由以下的表3表示。
[表3]
在此處,partmode表示cu(或者pu)的分割模式,并且partidx表示pu的分割索引。此外,maxnummergecand表示對(duì)于相應(yīng)的pu推導(dǎo)的可用的合并候選的最大數(shù)。
但是,如果如上參考圖7所述合并候選的數(shù)目限于5,則合并索引指示5個(gè)合并候選的一個(gè)。在這種情況下,對(duì)應(yīng)于5個(gè)合并候選的比特量可用于發(fā)送合并索引。但是,如上所述,從pu推導(dǎo)的可用的合并候選的最大數(shù)可以小于5,并且在這種情況下,發(fā)送合并索引需要的比特量可以小于對(duì)應(yīng)于5個(gè)合并候選的比特量。也就是說,用于合并索引傳輸需要的實(shí)際比特量可以與處理為不可用的塊的數(shù)目成比例地減少。在這種情況下,當(dāng)使用的比特超出用于合并索引傳輸需要的實(shí)際的比特量的時(shí)候,該比特可以認(rèn)為相對(duì)于合并索引被浪費(fèi)。
為了解決前面提到的問題,編碼器和解碼器可以通過應(yīng)用按照分割模式和分割索引優(yōu)化的合并候選的數(shù)目對(duì)合并索引執(zhí)行編碼/解碼,從而能夠減少或者節(jié)省可以用于合并索引傳輸?shù)谋忍亓俊?/p>
在一個(gè)實(shí)施例中,諸如表3的表可以存儲(chǔ)在編碼器和解碼器中。在這種情況下,編碼器可以基于前面提到的表按照分割模式和分割索引確定對(duì)于任何pu推導(dǎo)的可用的合并候選的最大數(shù)。此外,編碼器可以基于最大數(shù)編碼用于pu的合并索引,并且可以將編碼的合并索引發(fā)送給解碼器。在這種情況下,僅對(duì)應(yīng)于最大數(shù)的比特量在合并索引的傳輸中使用,并且因此,可以減少在合并索引的傳輸中使用的比特量。由于表被同等地存儲(chǔ)在解碼器中,對(duì)于任何pu推導(dǎo)的可用的合并候選的最大數(shù)可以以與在編碼器中使用的相同的方法確定。在這種情況下,基于最大數(shù),解碼器可以解碼從編碼器發(fā)送的合并索引。
同時(shí),參考圖11的1130和表2,如果cu(和/或pu)的分割模式是n×n,并且屬于cu的pu的分割索引值是3,僅一個(gè)時(shí)間合并候選可以對(duì)應(yīng)于屬于pu的可用的合并候選。在這種情況下,對(duì)于pu推導(dǎo)的可用的合并候選的最大數(shù)可以是1。如果可用的合并候選的最大數(shù)是1,則解碼器可以知道哪個(gè)合并候選用于推導(dǎo)pu的運(yùn)動(dòng)信息,而無需必須使用合并索引。因此,如果cu(和/或pu)的分割模式是n×n,并且屬于cu的pu的分割索引是3,則編碼器可以不將用于pu的合并索引發(fā)送給解碼器。
圖12是示出推導(dǎo)用于使能并行me的合并候選方法的另一個(gè)實(shí)施例的示意圖。圖12的1210指示表示一個(gè)cu,并且在屬于每個(gè)cu的pu上標(biāo)記的數(shù)字表示分割索引。
為了解釋方便起見,假設(shè)在圖12的實(shí)施例中mer具有與當(dāng)前的cu相同的大小。在這種情況下,在圖12中示出的每個(gè)cu可以對(duì)應(yīng)于并行處理單元,并且在這種情況下,可以以cu為單位執(zhí)行并行me。然而,即使mer的大小(也就是說,并行處理水平)大于cu,圖12的以下的實(shí)施例可以同等地應(yīng)用于屬于并行處理水平的cu中的每個(gè)。
在圖10和圖11前面提到的實(shí)施例中,對(duì)應(yīng)于當(dāng)執(zhí)行并行me的時(shí)候運(yùn)動(dòng)信息是不可用的塊的合并候選可以處理為是不可用的,并且因此,不可以被增加給合并候選列表。在這種情況下,當(dāng)當(dāng)前的cu(和/或pu)的分割模式是2n×2n的時(shí)候,處理為是不可用的合并候選可以以使用的合并候選替換。
在圖12的1210中,當(dāng)前的cu(和/或pu)的分割模式是2n×n,并且目前對(duì)其執(zhí)行me的pu是具有分割索引1的下面pu。在這種情況下,如上參考圖10所述,在用作合并候選塊的塊a0、a1、b0、b1和b2之中,塊a0、塊b0,和塊b1是在并行me中不能使用的塊,并且因此,可以處理為是不可用的。
但是,如果當(dāng)前的cu(和/或pu)的分割模式是2n×2n,當(dāng)執(zhí)行并行me的時(shí)候,塊b0’(即,在當(dāng)前的cu外部位置上最靠近于右上角的塊)和塊b1’(即,在相鄰于當(dāng)前的cu的上部的塊之中位置上最靠近于最右側(cè)的塊)可以具有可用的運(yùn)動(dòng)信息。因此,編碼器和解碼器可以將塊b0’而不是塊b0作為下面pu的合并候選塊使用,并且可以將塊b1’而不是塊b1作為下面pu的合并候選塊使用。
雖然前面提到的實(shí)施例局限于當(dāng)前的cu(和/或pu)的分割模式是2n×n的情形,但本發(fā)明不受限于此。也就是說,推導(dǎo)合并候選的前面提到的方法可以類似地應(yīng)用于當(dāng)前的cu的分割模式是n×2n、n×n、2n×nu、2n×nd、nl×2n或者nr×2n的情形。
同時(shí),就對(duì)其執(zhí)行并行me的多個(gè)pu而論,編碼器和解碼器可以推導(dǎo)和使用通用的合并候選和/或通用的合并候選列表,從而使能并行me?;谕ㄓ玫暮喜⒑蜻x和/或通用的合并列表的并行me方法可以相對(duì)于圖10和/或圖11的前面提到的實(shí)施例獨(dú)立地應(yīng)用,或者也可以與圖10和/或圖11的實(shí)施例相關(guān)聯(lián)地應(yīng)用于編碼器/解碼器。在下文中,在本發(fā)明中,通常供多個(gè)pu使用的合并候選被稱作“通用的合并候選”,并且供多個(gè)pu通常使用的合并候選列表被稱作“單個(gè)合并候選列表”。
在這種情況下,通過其推導(dǎo)通用的合并候選和/或單個(gè)合并候選列表的單元可以是預(yù)先確定的特定的單元。在此處,特定的單元可以通過數(shù)字確定,并且可以是cu、mer和/或lcu。此外,通過其推導(dǎo)通用的合并候選和/或單個(gè)合并候選列表的單元可以在編碼器中確定。在這種情況下,編碼器可以編碼有關(guān)單元的信息,并且將其發(fā)送給解碼器。在這種情況下,解碼器可以基于發(fā)送的信息確定通過其推導(dǎo)通用的合并候選和/或單個(gè)合并候選列表的單元。在下文中,在本發(fā)明中,通過其推導(dǎo)通用的合并候選和/或單個(gè)合并候選列表的前面提到的單元被稱作“合并候選共享單元”。
例如,如果合并候選共享單元是cu,則在一個(gè)cu中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于cu的通用的合并候選,和/或用于cu的單個(gè)合并共享列表。在這種情況下,如果cu(和/或?qū)儆赾u的pu)的分割模式是2n×2n,則單個(gè)合并候選列表可以與屬于cu的pu的合并候選列表相同。對(duì)于另一個(gè)示例,如果合并候選共享單元是lcu,則在一個(gè)lcu中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于lcu的通用的合并候選和/或用于lcu的單個(gè)合并候選列表。對(duì)于另一個(gè)示例,如果合并候選共享單元是mer,則在一個(gè)mer中的所有pu(即,具有合并模式和/或跳躍模式的pu)可以共享用于mer的通用的合并候選和/或用于mer的單個(gè)合并候選列表。
如果在一個(gè)合并候選共享單元中的所有pu共享通用的合并候選和/或單個(gè)合并候選列表,則在某種程度上可能出現(xiàn)編譯損耗。因此,編碼器和解碼器可以基于合并候選共享標(biāo)記有選擇地確定合并候選推導(dǎo)方法和/或合并候選列表推導(dǎo)方法。在此處,合并候選共享標(biāo)記可以對(duì)應(yīng)于用于指示是否推導(dǎo)單個(gè)合并候選列表,和用于在合并候選共享單元中的所有pu,或者是否推導(dǎo)各自的合并候選列表和用于每個(gè)pu的標(biāo)記。合并候選共享標(biāo)記可以例如由parallel_merge_cand_flag、parallel_merge_derivation_flag或者singlemclflag表示。
例如,如果合并候選共享標(biāo)記的值是1,則該標(biāo)記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個(gè)合并候選列表。也就是說,在這種情況下,該標(biāo)記可以指示合并候選的位置(即,空間合并候選和/或時(shí)間合并候選)對(duì)于在合并候選共享單元中的所有pu是相同的。此外,如果該合并候選共享標(biāo)記是0,則該標(biāo)記可以指示各自的合并候選列表被推導(dǎo)和用于每個(gè)pu。
例如,前面提到的合并候選共享標(biāo)記可以是由編碼器編碼的標(biāo)記,并且被發(fā)送給解碼器。在這種情況下,該合并候選共享標(biāo)記可以在sps、pps、適配參數(shù)集(aps)或者片段報(bào)頭中限定。也就是說,該合并候選共享標(biāo)記可以包括在前面提到的sps、pps、aps或者片段報(bào)頭中,并且可以從編碼器發(fā)送到解碼器。在這種情況下,該解碼器可以基于發(fā)送的標(biāo)記確定合并候選推導(dǎo)方法和/或合并候選列表推導(dǎo)方法。
在另一個(gè)實(shí)施例中,對(duì)應(yīng)于合并候選共享標(biāo)記的值可以通過使用與在編碼器和解碼器中使用的相同的方法推導(dǎo)。在這種情況下,該編碼器可以不將與合并候選共享標(biāo)記相關(guān)的信息發(fā)送給解碼器。
例如,假設(shè)該合并候選共享單元是cu。在這種情況下,分配給合并候選共享標(biāo)記的值可以基于mer的大小和/或當(dāng)前的cu的大小確定。例如,只有當(dāng)mer的大小(也就是說,并行處理水平)大于4×4,并且當(dāng)前的cu的大小是8×8時(shí),編碼器和解碼器可以將值1分配給合并候選共享標(biāo)記。在此處,如果該合并候選共享標(biāo)記的值是1,則該標(biāo)記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個(gè)合并候選列表。也就是說,只有當(dāng)并行處理水平大于4×4,并且當(dāng)前的cu的大小是8×8時(shí),編碼器和解碼器可以允許在當(dāng)前的cu中的所有pu能夠共享通用的合并候選和/或單個(gè)合并候選列表。在這種情況下,如果并行處理水平是4×4,或者當(dāng)前的cu的大小不是8×8,則值0可以分配給合并候選共享標(biāo)記。在此處,如果合并候選共享標(biāo)記的值是0,則該標(biāo)記可以指示推導(dǎo)各自的合并候選列表,并且用于每個(gè)pu。
在下文中,將描述按照本發(fā)明的實(shí)施例推導(dǎo)在合并候選共享單元中用于pu的通用的合并候選的方法。
圖13是示出推導(dǎo)在合并候選共享單元中用于pu的通用的合并候選的方法實(shí)施例的示意圖。
圖13的1310至1330的每個(gè)指示一個(gè)相同的cu,并且cu(和/或pu)的分割模式對(duì)應(yīng)于n×2n。此外,partidx表示分割索引,pu0表示其中分割索引值是0的pu,并且pu1表示其中分割索引值是1的pu。
同時(shí),為了解釋方便起見,在圖13的實(shí)施例中假設(shè)合并候選共享單元是cu。在這種情況下,圖13的每個(gè)cu可以對(duì)應(yīng)于合并候選共享單元。該合并候選共享單元的大小可以與mer,即,并行處理單元的大小相同或者不同。
圖13的1310指示具有分割索引0的左側(cè)pu的合并候選。此外,圖13的1320指示具有分割索引1的左側(cè)pu的合并候選。參考圖13的1310和1320,在cu(即,合并候選共享單元)中的每個(gè)pu可以具有單獨(dú)的合并候選列表。
在這種情況下,在圖13的1320中的塊a1可以是屬于右側(cè)pu的塊。因此,由于右側(cè)pu使用屬于左側(cè)pu的運(yùn)動(dòng)信息,可以對(duì)于左側(cè)pu和右側(cè)pu同時(shí)地執(zhí)行me。在這種情況下,編碼器和解碼器可以通過將塊a1處理為是不可用的來使能并行me,并且也可以通過將具有可用的運(yùn)動(dòng)信息的塊的運(yùn)動(dòng)信息用作通用的合并候選來使能并行me。
參考圖13的1330,在cu(即,合并候選共享單元)中的pu可以具有通用的合并候選(和/或通用的合并候選列表)。也就是說,在圖13的1330中,在cu中的所有pu可以具有通用的合并候選(和/或單個(gè)合并候選列表)。
在此處,例如,通用的合并候選可以與當(dāng)當(dāng)前的cu1330的分割模式是2n×2n的時(shí)候推導(dǎo)的合并候選相同。更具體地說,編碼器和解碼器可以將在cu1330外部位置上最靠近于左下角的塊a0、在相鄰于cu1330左側(cè)的塊之中位于最下面部分的塊a1、在cu1330外部位置上最靠近于右上角的塊b0、在相鄰于cu1330的上部的塊之中位于最右側(cè)的塊b1,和在cu1330外部位置上最靠近于左上角的塊b2的運(yùn)動(dòng)信息作為用于左側(cè)pu,即,pu0,和用于右側(cè)pu,即,pu1的通用的合并候選使用。
在前面提到的圖13的1330的實(shí)施例中,在一個(gè)cu(即,合并候選共享單元)中的所有pu可以共享通用的合并候選(即,當(dāng)當(dāng)前的cu1330的分割模式是2n×2n的時(shí)候推導(dǎo)的合并候選),和/或單個(gè)合并候選列表。也就是說,在cu(即,合并候選共享單元)中的所有pu可以使用共處一地的合并候選。因此,前面提到的推導(dǎo)通用的合并候選的方法可以降低編碼復(fù)雜度,并且可以便于并行me。
前面提到的通用的合并候選推導(dǎo)方法僅是一個(gè)實(shí)施例,并且因此,對(duì)其應(yīng)用通用的合并候選推導(dǎo)方法的分割模式不局限于n×2n。前面提到的通用的合并候選推導(dǎo)方法也可以以相同或者類似的方式應(yīng)用于當(dāng)前的cu(和/或pu)的分割模式是2n×2n模式、2n×n模式、n×n模式、2n×nu模式、2n×nd模式、nl×2n模式,或者nr×2n模式的情形。也就是說,不管cu(和/或pu)的分割模式,在一個(gè)cu中的所有pu可以共享通用的合并候選和/或單個(gè)合并候選列表。在這種情況下,編碼器和解碼器可以將存在于與當(dāng)cu(和/或pu)的分割模式是2n×2n的時(shí)候使用的合并候選相同位置的塊作為通用的合并候選使用。
例如,即使當(dāng)前的cu(和/或pu)的分割模式是n×n模式,在當(dāng)前的cu中的所有pu(即,具有分割索引0的pu、具有分割索引1的pu、具有分割索引2的pu,和具有分割索引3的pu)可以共享通用的合并候選,和/或單個(gè)合并候選列表。此外,存在于與當(dāng)當(dāng)前的cu(和/或pu)的分割模式是2n×2n的時(shí)候使用的合并候選塊相同位置的塊的運(yùn)動(dòng)信息可以作為通用的合并候選推導(dǎo)。
通常,合并候選塊和/或pu的合并候選可以由相對(duì)于pu的相對(duì)位置指定。因此,一個(gè)pu的合并候選可以基于在pu中位于最左上部的坐標(biāo)(例如,(xp,yp)),pu的寬度(例如,npbw),和pu的高度(例如,npbh)確定。
但是,如果使用通用的合并候選和/或單個(gè)合并候選列表,則通用的合并候選與當(dāng)cu(和/或pu)的分割模式是2n×2n的時(shí)候推導(dǎo)的合并候選相同,并且因此,可以由相對(duì)于cu的相對(duì)位置指定。因此,如果使用通用的合并候選和/或單個(gè)合并候選列表,則編碼器和解碼器可以將在pu中位于最左上部的像素的坐標(biāo)重新配置為在pu所屬的cu中位于最左上部的像素的坐標(biāo)(例如,(xc,yc))。此外,編碼器和解碼器可以將pu的寬度和pu的高度重新配置為cu的寬度(例如,ncs)和cu的高度(例如,ncs)。在這種情況下,解碼器和編碼器可以基于重新配置的值確定pu的合并候選,使得pu在并行me中使用通用的合并候選。
同時(shí),如上所述,如果在一個(gè)合并候選共享單元中的所有pu共享通用的合并候選和/或單個(gè)合并候選列表,在某種程度上可能出現(xiàn)編譯損耗。因此,編碼器和解碼器可以基于合并候選共享標(biāo)記有選擇地確定合并候選推導(dǎo)方法和/或合并候選列表推導(dǎo)方法。
例如,如果合并候選共享標(biāo)記的值是1,則該標(biāo)記可以指示在合并候選共享單元中的所有pu共享通用的合并候選和/或單個(gè)合并候選列表。這可以對(duì)應(yīng)于在圖13的1330中示出的通用的合并候選推導(dǎo)方法。此外,如果合并候選共享標(biāo)記是0,則該標(biāo)記可以指示推導(dǎo)各自的合并候選列表和用于每個(gè)pu。這可以對(duì)應(yīng)于在圖13的1310和1320中示出的合并候選推導(dǎo)方法。
由于合并候選共享標(biāo)記如上詳細(xì)地所述,在此處省略其詳細(xì)說明。
圖14是示出在合并候選共享單元中推導(dǎo)用于pu的通用合并候選的方法的另一個(gè)實(shí)施例的示意圖。
在圖14中1410和1430每個(gè)指示一個(gè)lcu(和/或編譯樹塊)。圖14的1430示出lcu,其與在圖14的1410中示出的lcu相同,并且因此,在圖14的1410和1430中相同的構(gòu)成元件可以由相同的參考數(shù)字表示。
同時(shí),在圖14的實(shí)施例中,為了解釋方便起見,假設(shè)一個(gè)lcu由具有相同大小的四個(gè)矩形mer組成,并且在lcu中用于pu的合并候選共享單元與mer單元相同。在這種情況下,按照構(gòu)成編譯樹塊的每個(gè)cu的大小,mer可以具有與cu相同的大小,或者可以具有不同于cu的大小。在圖14的實(shí)施例中,由于mer對(duì)應(yīng)于合并候選共享單元,如果cu具有與mer相同的大小,則cu可以對(duì)應(yīng)于合并候選共享單元。例如,在mer大小是8×8的情形下,如果當(dāng)前的cu的大小是8×8,當(dāng)前的cu可以對(duì)應(yīng)于合并候選共享單元。雖然圖14的實(shí)施例按照合并候選共享單元是mer單元的情形描述,相同或者類似的方法也可以應(yīng)用于合并候選共享單元是cu的情形。
參考圖14的1410,對(duì)其執(zhí)行me的當(dāng)前的pu1415可以包括在一個(gè)mer1413中。在下文中,當(dāng)前的pu1415所屬的mer在圖14的實(shí)施例中稱作mer1413。在圖14的1410中,示出了當(dāng)前的pu1415的合并候選1421、1423、1425、1427和1429。
在用作合并候選塊的塊1421、1423、1425、1427和1429之中,塊1423、1425和1427是屬于當(dāng)前的mer1413的塊,并且可以是屬于與當(dāng)前的pu1415相同的mer的塊。因此,塊1423、1425和1427對(duì)應(yīng)于對(duì)其沒有以并行me完成編碼/解碼的塊,并且因此,不能在當(dāng)前的pu1415的并行me中使用。此外,塊1421和1429的運(yùn)動(dòng)信息在當(dāng)前的pu1415的me中可能是不可用的。這是因?yàn)槠淇梢允窃搲K的編碼和/或解碼按照編碼/解碼順序完成的狀態(tài)。因此,如果對(duì)當(dāng)前的pu執(zhí)行合并模式(和/或跳躍模式)me,則前面提到的合并候選塊(即,屬于與當(dāng)前的pu1415相同的mer的塊,和/或沒有以并行me對(duì)其完成編碼/解碼的塊)可以被處理為是不可用的。
此外,如上所述,編碼器和解碼器可以通過相對(duì)于在合并候選共享單元中的多個(gè)pu使用通用的合并候選和/或單個(gè)合并候選列表使能并行me。
參考圖14的1430,在mer(即,合并候選共享單元)中的pu可以具有通用的合并候選(和/或單個(gè)合并候選列表)。也就是說,在圖14的1430中,在mer中的所有pu可以共享通用的合并候選(例如,塊1441、1443、1445、1447和1449)。在這種情況下,當(dāng)前的pu1415可以使用通用的合并候選,而不是合并候選1421、1423、1425、1427和1429。
在此處,例如,通用的合并候選可以與當(dāng)具有與當(dāng)前的mer1413相同大小的cu(和/或?qū)儆赾u的pu)具有2n×2n的分割模式的時(shí)候推導(dǎo)的合并候選相同。也就是說,編碼器和解碼器可以將位于當(dāng)前的mer1413外部的塊作為通用的合并候選使用,并且通用的合并候選可以通過相對(duì)于當(dāng)前的mer1413的相對(duì)位置指定。
在一個(gè)實(shí)施例中,編碼器和解碼器可以將在當(dāng)前的mer1413外部位置上最靠近于左下角的塊1441、在相鄰于當(dāng)前的mer1413左側(cè)的塊之中位于最下面部分的塊1443、在當(dāng)前的mer1413外部位置上最靠近于右上角的塊1449、在相鄰于當(dāng)前的mer1413的上部的塊之中位于最右側(cè)的塊1447,和在當(dāng)前的mer1413外部位置上最靠近于左上角的塊1445的運(yùn)動(dòng)信息作為當(dāng)前的pu1415的合并候選(即,通用的合并候選)使用。在這種情況下,如果在塊之中存在不具有可用的運(yùn)動(dòng)信息的塊(例如,在當(dāng)前的mer1413外部位置上最靠近于右上角的塊1449),則編碼器和解碼器可以將相應(yīng)的塊處理為是不可用的,或者不可以將其作為當(dāng)前的pu1415的合并候選塊使用。在另一個(gè)實(shí)施例中,編碼器和解碼器可以將相鄰于當(dāng)前的mer1413的左側(cè)的塊1444,而不是在當(dāng)前的mer1413外部位置上最靠近于左上角的塊1445作為當(dāng)前的pu1415的合并候選塊使用。在這種情況下,塊1444可以是在相鄰于當(dāng)前的mer1413左側(cè)的塊之中位于中心的塊,或者如果位于中心的塊的數(shù)目是2,則可以是在兩個(gè)塊之中位于上部的塊。
如圖14的1430的實(shí)施例所示,如果通用的合并候選(和/或單個(gè)合并候選列表)用于在一個(gè)合并候選共享單元中的所有pu,則包括可用的運(yùn)動(dòng)信息的塊可以用作合并候選塊,而不是被處理為不可用的塊。因此,在這種情況下,與不使用通用的合并候選(和/或單個(gè)合并候選列表)的情形相比,可以改善編碼/解碼性能。
如上所述,編碼器和解碼器可以將相鄰于pu的塊,例如,在pu外部位置上最靠近于左下角的塊、在相鄰于pu左側(cè)的塊之中位于最下面部分的塊、在pu外部位置上最靠近于右上角的塊、在相鄰于pu的上部的塊之中位于最右側(cè)的塊,和位于pu所屬的mer外部的塊作為pu的合并候選塊使用。在下文中,在本發(fā)明中,為了替換從相鄰于pu的塊中推導(dǎo)的合并候選,從位于pu所屬的mer外部的塊中推導(dǎo)的合并候選被稱作mer合并候選。
圖14的實(shí)施例可以被認(rèn)為是mer合并候選推導(dǎo)方法的實(shí)施例。在圖14的實(shí)施例中,在一個(gè)合并候選共享單元中的所有pu可以共享通用的合并候選(和/或單個(gè)合并候選列表)。因此,在圖14中,在一個(gè)mer(即,合并候選共享單元)中的所有pu可以具有相同的mer合并候選。mer合并候選可以如圖14的實(shí)施例所示作為用于在一個(gè)mer中的所有pu的通用的合并候選推導(dǎo),并且可以分別地對(duì)于包括在一個(gè)mer中pu的每個(gè)推導(dǎo)。與之相關(guān)聯(lián)地,mer合并候選推導(dǎo)方法的實(shí)施例將在下文中另外描述。
圖15是示出推導(dǎo)mer合并候選的方法實(shí)施例的示意圖。圖15的1510和1520每個(gè)表示一個(gè)mer。
參考圖15的1510,包括在當(dāng)前的mer1510中的當(dāng)前的pu1515可以具有5個(gè)空間合并候選a0、a1、b0、b1和b2。但是,如在圖14中圖示的,對(duì)應(yīng)于空間合并候選的塊不可以包括在并行me中可用的運(yùn)動(dòng)信息,并且因此,可以被處理為是不可用的。在這種情況下,空間合并候選a0、a1、b0、b1和b2可以分別地由在圖15的1510中示出的mer合并候選a0’、a1’、b0’、b1’和b2’替換。也就是說,編碼器和解碼器可以將mer合并候選a0’、a1’、b0’、b1’和b2’作為當(dāng)前的pu1515的合并候選使用。由于在圖15的1510中示出的mer合并候選的位置實(shí)際上與在圖14的實(shí)施例中相同,將省略其詳細(xì)說明。
參考圖15的1520,包括在當(dāng)前的mer1520中的當(dāng)前的pu1525可以類似于圖15的1510具有5個(gè)空間合并候選a0、a1、b0、b1和b2。在這種情況下,合并候選a0、a1、b0和b1的位置可以由以下的坐標(biāo)指定或者表示。
a0:(x-1,y+npsh-1)
a1:(x-1,y+npsh)
b0:(x+npsw-1,y-1)
b1:(x+npsw,y-1)
在此處,(x,y)表示在當(dāng)前的pu1525中位于最左上部的像素的坐標(biāo),并且該坐標(biāo)可以按照當(dāng)前的pu1525所屬的圖片的最左上部位置確定。此外,npsh表示當(dāng)前的pu1525的高度,并且npsw表示當(dāng)前的pu1525的寬度。
同時(shí),類似于圖15的1510,與空間合并候選相對(duì)應(yīng)的塊不可以包括在并行me中可用的運(yùn)動(dòng)信息,并且因此,可以被處理為是不可用的。在這種情況下,空間合并候選a0、a1、b0、b1和b2可以以在圖15的1510中示出的mer合并候選a0’、a1’、b0’、b1’和b2’替換。也就是說,編碼器和解碼器可以將mer合并候選a0’、a1’、b0’、b1’和b2’作為當(dāng)前的pu1515的合并候選使用。
在此處,mer合并候選a0’可以基于具有與在相鄰于當(dāng)前的mer1520左側(cè)的塊之中的塊a0相同水平位置的塊a0’推導(dǎo),并且mer合并候選a1’可以基于具有與在相鄰于當(dāng)前的mer1520左側(cè)的塊之中的塊a1相同水平位置的塊a1’推導(dǎo)。此外,mer合并候選b1’可以基于具有與在相鄰于當(dāng)前的mer1520上部的塊之中的塊b0相同垂直位置的塊b1’推導(dǎo),并且mer合并候選b0’可以基于相鄰于塊b1’右側(cè)的塊b0’推導(dǎo)。在這種情況下,合并候選a0’、a1’、b0’和b1’的位置可以由以下的坐標(biāo)指定或者表示。
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’用作當(dāng)前的pu1525的合并候選,則mer合并候選b2’可以基于在相鄰于當(dāng)前的mer1520的左側(cè)塊之中具有與塊b2相同水平位置的左側(cè)塊1531,或者在相鄰于當(dāng)前的mer1520的上部塊之中具有與塊b2相同垂直位置的上部塊1533推導(dǎo)。例如,編碼器和解碼器可以檢查左側(cè)塊1531是否是可用的。在這種情況下,如果左側(cè)塊1531是可用的,則編碼器和解碼器可以基于左側(cè)塊1531推導(dǎo)mer合并候選b2’,并且如果左側(cè)塊1531是不可用的,可以基于上部塊1533推導(dǎo)mer合并候選b2’。
在圖15的1520的實(shí)施例中,位于靠近于當(dāng)前的pu1520的塊可以用作合并候選塊。因此,與圖15的1510的實(shí)施例相比,可以改善編碼效率。
同時(shí),如果推導(dǎo)當(dāng)前的pu1525的mer合并候選,則編碼器和解碼器可以基于推導(dǎo)的mer合并候選產(chǎn)生合并候選列表。在這種情況下,多個(gè)mer合并候選可以以特定的順序被增加和/或插入到合并候選列表中。由于較小的合并索引被分配給首先增加給合并候選列表的mer合并候選,具有當(dāng)推導(dǎo)當(dāng)前的pu的運(yùn)動(dòng)的時(shí)候要使用的高可能性的mer合并候選可以優(yōu)先地增加給合并候選列表,從而能夠降低從編碼器發(fā)送到解碼器的信息量。為此,該編碼器和解碼器可以優(yōu)先地將對(duì)應(yīng)于位于靠近于當(dāng)前的pu1520的塊的mer合并候選增加給合并候選列表。
從當(dāng)前的pu1520到mer的水平距離可以由在當(dāng)前的pu1520中從位于最左上部的像素到mer的左邊界的距離指示。此外,從當(dāng)前的pu1520到mer的垂直距離可以由在當(dāng)前的pu1520中從位于最左上部的像素到mer的上邊界的距離表示。因此,從當(dāng)前的pu1520到mer的水平距離和垂直距離可以例如由以下的公式1表示。
[公式1]
distx=x%nmer
disty=y(tǒng)%nmer
在此處,distx表示從當(dāng)前的pu1520到mer的水平距離,并且disty表示從當(dāng)前的pu1520到mer的垂直距離。(x,y)表示在當(dāng)前的pu1520中位于最左上部的像素的坐標(biāo),并且nmer表示mer的大小。
例如,如果disx的值小于disty的值,與相鄰于mer上部的塊相比,由于相鄰于mer左側(cè)的塊靠近于當(dāng)前的pu1520,所以編碼器和解碼器可以在增加mer合并候選b1’和b0’之前首先將mer合并候選a1’和a0’增加給合并候選列表。例如,如果distx的值小于disty的值,則mer合并候選可以以a1’、a0’、b1’和b0’的順序被增加給合并候選列表。換句話說,(即,如果distx的值大于或等于disty的值),則mer合并候選可以以b1’、b0’、a1’和a0’的順序被增加給合并候選列表。對(duì)于另一個(gè)示例,如果distx的值小于disty的值,則mer合并候選可以以a1’、b1’、a0’和b0’的順序被增加給合并候選列表。換句話說,(即,如果distx的值大于或等于disty的值),則mer合并候選可以以b1’、a1’、b0’和a0’的順序被增加給合并候選列表。
圖16是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖16的1610表示一個(gè)mer。
參考圖16,單個(gè)mer1610可以包括多個(gè)pu。在下文中,僅對(duì)于圖16的實(shí)施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖16的實(shí)施例中,可以對(duì)于屬于mer1610的多個(gè)pu的每個(gè)推導(dǎo)四個(gè)mer合并候選。
在圖16中,相鄰于mer上部的兩個(gè)塊的運(yùn)動(dòng)信息,和相鄰于mer左側(cè)的兩個(gè)塊的運(yùn)動(dòng)信息可以用作用于一個(gè)pu的mer合并候選。在此處,相鄰于mer上部的兩個(gè)塊可以分別地是包括位于與pu的左上像素相同垂直線的像素的塊,和包括位于與pu的右上像素相同垂直線的像素的塊。此外,相鄰于mer左側(cè)的兩個(gè)塊可以分別地是包括位于與pu的左上像素相同水平線的像素的塊,和位于與pu的左下像素相同水平線的像素的塊。
參考圖16,pu,即,pu0可以將相鄰于mer的上部的兩個(gè)塊t0和t1的運(yùn)動(dòng)信息,和相鄰于mer的左側(cè)的兩個(gè)塊l0和l1的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t0可以是包括位于與pu0的左上像素相同垂直線的像素的塊,并且塊t1可以是包括位于與pu0的右上像素相同垂直線的像素的塊。此外,塊l0可以是包括位于與pu0的左上像素相同水平線的像素的塊,并且塊l1可以是包括位于與pu0的左下像素相同水平線的像素的塊。
再次參考圖16,pu,即,pu1可以將相鄰于mer的上部的兩個(gè)塊t2和t3的運(yùn)動(dòng)信息,和相鄰于mer的左側(cè)的兩個(gè)塊l2和l3的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t2可以是包括位于與pu1的左上像素相同垂直線的像素的塊,并且塊t3可以是包括位于與pu1的右上像素相同垂直線的像素的塊。此外,塊l2可以是包括位于與pu1的左上像素相同水平線的像素的塊,并且塊l3可以是包括位于與pu1的左下像素相同水平線的像素的塊。
圖17是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖17的1710表示一個(gè)mer。
參考圖17,單個(gè)mer1710可以包括多個(gè)pu。在下文中,僅對(duì)于圖17的實(shí)施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖17的實(shí)施例中,類似于圖16的實(shí)施例,可以對(duì)于屬于mer1710的多個(gè)pu的每個(gè)推導(dǎo)四個(gè)mer合并候選。
在圖17中,相鄰于mer上部的兩個(gè)塊(在此處,兩個(gè)塊可以是在每個(gè)mer外部位置上最靠近于左上角的塊,或者在mer外部位置上最靠近于右上角的塊,并且在下文中,也同樣適用)的運(yùn)動(dòng)信息,和相鄰于mer左側(cè)的兩個(gè)塊(在此處,兩個(gè)塊可以是在每個(gè)mer外部位置上最靠近于左上角的塊,或者在mer外部位置上最靠近于左上角的塊,并且在下文中,也同樣適用)的運(yùn)動(dòng)信息可以用作mer合并候選。在此處,相鄰于mer上部的兩個(gè)塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)左側(cè)的像素相同垂直線的像素的塊,和包括位于與相鄰于右上像素(即,在pu中的像素)右側(cè)的像素相同垂直線的像素的塊。此外,相鄰于mer左側(cè)的兩個(gè)塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)上部的像素相同垂直線的像素的塊,和包括位于與相鄰于左下像素(即,在pu中的像素)下部的像素相同垂直線的像素的塊。
參考圖17,pu,即,pu0可以將相鄰于mer的上部的兩個(gè)塊t0和t1的運(yùn)動(dòng)信息,和相鄰于mer的左側(cè)的兩個(gè)塊l0和l1的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的左側(cè)的像素相同垂直線的像素的塊。塊t1可以是包括位于與相鄰于右上像素(即,在pu0中的像素)的右側(cè)的像素相同垂直線的像素的塊。此外,塊l0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的上部的像素相同水平線的像素的塊。塊l1可以是包括位于與相鄰于左下像素(即,在pu0中的像素)的下部的像素相同水平線的像素的塊。
圖18是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖18的1810指示一個(gè)mer。
參考圖18,單個(gè)mer1810可以包括多個(gè)pu。在下文中,僅對(duì)于圖18的實(shí)施例,在pu中位于最左上部的像素被稱作左上像素。在圖18的實(shí)施例中,可以對(duì)于屬于mer1810的多個(gè)pu的每個(gè)推導(dǎo)兩個(gè)mer合并候選。
在圖18的實(shí)施例中,相鄰于mer上部的一個(gè)塊的運(yùn)動(dòng)信息和相鄰于mer左側(cè)的一個(gè)塊的運(yùn)動(dòng)信息可以用作用于一個(gè)pu的mer合并候選。在此處,相鄰于mer上部的塊可以是包括位于與pu的左上像素相同垂直線的像素的塊。此外,相鄰于mer左側(cè)的塊可以是包括位于與pu的左上像素相同水平線的像素的塊。
參考圖18,pu,即,pu0可以將相鄰于mer上部的一個(gè)塊t的運(yùn)動(dòng)信息,和相鄰于mer左側(cè)的一個(gè)塊l的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t可以是包括位于與pu0的左上像素相同垂直線的像素的塊。此外,塊l可以是包括位于與pu0的左上像素相同水平線的像素的塊。
圖19是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖19的1910指示一個(gè)mer。
參考圖19,單個(gè)mer1910可以包括多個(gè)pu。在下文中,僅對(duì)于圖19的實(shí)施例,位于pu的最右上部的像素被稱作右上像素,和位于pu的最左下部的像素被稱作左下像素。在圖19的實(shí)施例中,類似于圖18的實(shí)施例,可以對(duì)于屬于mer1910的多個(gè)pu的每個(gè)推導(dǎo)兩個(gè)mer合并候選。
在圖19的實(shí)施例中,相鄰于mer上部的一個(gè)塊的運(yùn)動(dòng)信息和相鄰于mer左側(cè)的一個(gè)塊的運(yùn)動(dòng)信息可以用作用于一個(gè)pu的mer合并候選。在此處,相鄰于mer上部的塊可以是包括位于與pu的右上像素相同垂直線的像素的塊。此外,相鄰于mer左側(cè)的塊可以是包括位于與pu的左下像素相同水平線的像素的塊。
參考圖19,pu,即,pu0可以將相鄰于mer上部的一個(gè)塊t的運(yùn)動(dòng)信息,和相鄰于mer左側(cè)的一個(gè)塊l的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t可以是包括位于與pu0的右上像素相同垂直線的像素的塊。此外,塊l可以是包括位于與pu0的左下像素相同水平線的像素的塊。
圖20是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖20的2010指示一個(gè)mer。
參考圖20,單個(gè)mer2010可以包括多個(gè)pu。在下文中,僅對(duì)于圖20的實(shí)施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖20的實(shí)施例中,可以對(duì)于屬于mer2010的多個(gè)pu的每個(gè)推導(dǎo)四個(gè)mer合并候選。
在圖20中,可以基于在mer中pu的位置推導(dǎo)pu的mer合并候選。也就是說,可以基于從pu到mer的水平距離和垂直距離推導(dǎo)pu的mer合并候選。在此處,從pu到mer的水平距離可以暗指從pu的左上像素到mer的左邊界的距離。此外,從pu到mer的垂直距離可以暗指從pu的左上像素到mer的上邊界的距離。
例如,如果從pu到mer的水平距離比垂直距離更近,則相鄰于mer(在此處,在四個(gè)塊之中,兩個(gè)塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于左下角的塊,并且,在下文中,也同樣適用)左側(cè)的四個(gè)塊的運(yùn)動(dòng)信息可以用作pu的mer合并候選。相鄰于mer左側(cè)的四個(gè)塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)上部的像素相同水平線的像素的塊、包括位于與左上像素(即,在pu中的像素)相同水平線的像素的塊、包括位于與左下像素(即,在pu中的像素)相同水平線的像素的塊,和包括位于與相鄰于左下像素(即,在pu中的像素)下部的像素相同水平線的像素的塊。
在其他方面,相鄰于mer(在此處,在四個(gè)塊之中,兩個(gè)塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于右上角的塊)上部的四個(gè)塊的運(yùn)動(dòng)信息可以用作pu的mer合并候選。在此處,相鄰于mer上部的四個(gè)塊可以分別地是包括位于與相鄰于左上像素(即,在pu中的像素)左側(cè)的像素相同垂直線的像素的塊、包括位于與左上像素(即,在pu中的像素)相同垂直線的像素的塊、位于與右上像素(即,在pu中的像素)相同垂直線的塊,和包括位于與相鄰于右上像素(即,在pu中的像素)右側(cè)的像素相同垂直線的像素的塊。
參考圖20,關(guān)于pu0,到mer的垂直距離可能比水平距離更近。因此,pu0可以將相鄰于mer上部的四個(gè)塊t0、t1、t2和t3的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t0可以是包括位于與相鄰于左上像素(即,在pu0中的像素)的左側(cè)的像素相同垂直線的像素的塊。塊t1可以是包括位于與左上像素(即,在pu0中的像素)相同垂直線的像素的塊。此外,塊t2可以是包括位于與右上像素(即,在pu0中的像素)相同垂直線的像素的塊。塊t3可以是包括位于與相鄰于右上像素(即,在pu0中的像素)的右側(cè)的像素相同垂直線的像素的塊。
再次參考圖20,關(guān)于pu1,到mer的水平距離可能比垂直距離更近。因此,pu1可以將相鄰于mer左側(cè)的四個(gè)塊l0、l1、l2和l3的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊l0可以是包括位于與相鄰于左上像素(即,在pu1中的像素)的上部的像素相同垂直線的像素的塊。塊l1可以是包括位于與左上像素(即,在pu1中的像素)相同垂直線的像素的塊。此外,塊l2可以是包括位于與左下像素(即,在pu1中的像素)相同垂直線的像素的塊。塊l3可以是包括位于與相鄰于左下像素(即,在pu1中的像素)的下部的像素相同垂直線的像素的塊。
圖21是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖21的2110表示一個(gè)mer。
參考圖21,單個(gè)mer2110可以包括多個(gè)pu。在下文中,僅對(duì)于圖21的實(shí)施例,在pu中位于最左上部的像素被稱作左上像素,位于pu的最右上部的像素被稱作右上像素,并且在pu中位于最左下部的像素被稱作左下像素。在圖21的實(shí)施例中,可以對(duì)于屬于mer2110的多個(gè)pu的每個(gè)推導(dǎo)兩個(gè)mer合并候選。
在圖21中,可以基于在mer中pu的位置推導(dǎo)pu的mer合并候選。也就是說,可以基于從pu到mer的水平距離和垂直距離推導(dǎo)pu的mer合并候選。在此處,從pu到mer的水平距離可以暗指從pu的左上像素到mer的左邊界的距離。此外,從pu到mer的垂直距離可以暗指從pu的左上像素到mer的上邊界的距離。
例如,如果從pu到mer的水平距離比垂直距離更近,則相鄰于mer(在此處,兩個(gè)塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于左下角的塊,并且,在下文中,也同樣適用)左側(cè)的兩個(gè)塊的運(yùn)動(dòng)信息可以用作pu的mer合并候選。相鄰于mer左側(cè)的兩個(gè)塊可以分別地是包括位于與左上像素(即,在pu中的像素)相同水平線的像素的塊,和位于與pu的左下像素相同水平線的像素的塊。
另一方面,相鄰于mer(在此處,兩個(gè)塊可以分別地是在mer外部位置上最靠近于左上角的塊,和在mer外部位置上最靠近于右上角的塊)上部的兩個(gè)塊的運(yùn)動(dòng)信息可以用作pu的mer合并候選。在此處,相鄰于mer上部的兩個(gè)塊可以分別地是包括位于與pu的左上像素相同垂線的像素的塊,和位于與pu的右上像素相同垂線的像素的塊。
參考圖21,關(guān)于pu0,到mer的垂直距離可能比水平距離更近。因此,pu0可以將相鄰于mer上部的兩個(gè)塊t0和t1的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊t0可以是包括位于與pu0的左上像素相同垂直線的像素的塊。此外,塊t1可以是包括位于與pu0的右上像素相同垂直線的像素的塊。
再次參考圖21,關(guān)于pu1,到mer的水平距離可能比垂直距離更近。因此,pu1可以將相鄰于mer左側(cè)的兩個(gè)塊l0和l1的運(yùn)動(dòng)信息作為mer合并候選使用。在此處,塊l0可以是包括位于與pu1的左上像素相同垂直線的像素的塊。此外,塊l1可以是包括位于與pu1的左下像素相同垂直線的像素的塊。
圖22是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖22的2210指示一個(gè)mer。
參考圖22,單個(gè)mer2210可以包括多個(gè)pu。在下文中,僅對(duì)于圖22的實(shí)施例,位于pu的最右上部的像素被稱作右上像素,和位于pu的最左下部的像素被稱作左下像素。
再次參考圖22,pu0可以具有五個(gè)空間合并候選a0、a1、b0、b1和b2。但是,如上所述,該空間合并候選在以合并模式和/或跳躍模式的并行me中是不可用的。例如,如果用作合并候選的塊包括在與pu0相同的mer中,由于該塊對(duì)應(yīng)于在me中沒有對(duì)其完成編碼/解碼的塊,則該塊不能在并行me中使用。此外,用作合并候選的塊可以處于在pu0的并行me中按照編碼/解碼順序沒有完成編碼和/或解碼的狀態(tài)之中。
同時(shí),在圖22的實(shí)施例中,關(guān)于屬于mer2210的pu0,可以推導(dǎo)高達(dá)四個(gè)mer合并候選。四個(gè)mer合并候選可以是相鄰于mer(在此處,兩個(gè)塊的一個(gè)可以是在mer外部位置上最靠近于右上角的塊,并且在下文中,也同樣適用)上部的兩個(gè)塊t0和t1的運(yùn)動(dòng)信息,和相鄰于mer(在此處,兩個(gè)塊的一個(gè)可以是在mer外部位置上最靠近于左下角的塊,并且在下文中,也同樣適用)左側(cè)的兩個(gè)塊l0和l1的運(yùn)動(dòng)信息。在此處,相鄰于mer上部的兩個(gè)塊可以分別地是位于與右上像素(即,在pu0中的像素)相同垂直線的塊t0,和包括位于與相鄰于右上像素(即,在pu0中的像素)右側(cè)的像素相同垂直線的像素的塊t1。此外,相鄰于mer左側(cè)的兩個(gè)塊可以分別地是位于與左下像素(即,在pu0中的像素)相同垂直線的塊l0,和包括位于與相鄰于左下像素(即,在pu0中的像素)下部的像素相同垂直線的像素的塊l1。
在這種情況下,僅對(duì)于在pu0的合并候選a0、a1、b0和b1之中不可用的合并候選,編碼器和解碼器可以推導(dǎo)與其對(duì)應(yīng)的mer合并候選。在mer中pu的每個(gè)空間合并候選在并行me中是否是可用的按照pu的位置確定,并且因此,在這種情況下,可以認(rèn)為對(duì)于pu0推導(dǎo)的mer合并候選基于pu的位置確定。
參考圖22,如果pu0的合并候選a1在并行合并模式/并行跳躍模式me中是不可用的,則塊l0的運(yùn)動(dòng)信息可以用作pu0的mer合并候選。此外,如果pu0的合并候選a0在并行合并模式/并行跳躍模式me中是不可用的,則塊l1的運(yùn)動(dòng)信息可以用作pu0的mer合并候選。此外,如果pu0的合并候選b1在并行合并模式/并行跳躍模式me中是不可用的,則塊t0的運(yùn)動(dòng)信息可以用作pu0的mer合并候選,并且如果pu0的合并候選b0在并行合并模式/并行跳躍模式me中是不可用的,則塊t1的運(yùn)動(dòng)信息可以用作pu0的mer合并候選。
圖23是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖23的2310指示一個(gè)mer。
參考圖23,包括在mer2310中的pu02320可以具有五個(gè)空間合并候選a0、a1、b0、b1和b2。此外,雖然在圖23中未示出,如上參考圖7所述,pu02320可以具有時(shí)間合并候選。
如上參考圖22所述,在mer中的任何pu的空間合并候選在以合并模式和/或跳躍模式的并行me中是不可用的。在圖23的實(shí)施例中,由于用于推導(dǎo)pu02320的空間合并候選的所有塊包括在與pu02320相同的mer中,pu02320的空間合并候選被處理為是不可用的,并且因此,不可以包括在合并候選列表中。
同時(shí),如上所述構(gòu)成合并候選列表的合并候選的數(shù)目可以局限于特定的固定數(shù)目。在圖23的實(shí)施例中,為了解釋方便起見,假設(shè)構(gòu)成合并候選列表的合并候選的數(shù)目限于5。在這種情況下,對(duì)于pu推導(dǎo)的可用的合并候選(即,空間合并候選和時(shí)間合并候選)的數(shù)目由于前面提到的原因可能少于5,并且即使可用的空間合并和時(shí)間合并候選被增加給合并候選列表,該合并候選列表可能沒有被完全地填充。在這種情況下,在時(shí)間合并候選被增加給合并候選列表之后,編碼器和解碼器可以推導(dǎo)mer合并候選,以另外將其以特定的順序增加給合并候選列表,從而允許構(gòu)成合并候選列表的合并候選的數(shù)目是5個(gè)。也就是說,編碼器和解碼器可以將mer合并候選增加或者插入合并候選列表,直到構(gòu)成合并候選列表的合并候選的數(shù)目是5。
參考圖23,塊l0、l1、t0和t1的運(yùn)動(dòng)信息可以用作另外插入pu02320的合并候選列表的mer合并候選。在此處,塊l0可以是在相鄰于mer左側(cè)的塊之中位于最上部的塊,并且塊l1可以是在相鄰于mer左側(cè)的塊之中位于最下部的塊。此外,塊t0可以是在相鄰于mer上部的塊之中位于最左部分的塊,并且塊t1可以是在相鄰于mer上部的塊之中位于最右部分的塊。
為了允許構(gòu)成合并候選列表的合并候選的數(shù)目是5,另外插入合并候選列表中的mer合并候選的數(shù)目按照pu的位置等是可變的。因此,可以預(yù)先確定將前面提到的mer合并候選插入合并候選列表的順序。例如,編碼器和解碼器可以另外以對(duì)應(yīng)于塊l1的mer合并候選、對(duì)應(yīng)于塊t1的mer合并候選、對(duì)應(yīng)于塊l0的mer合并候選,和對(duì)應(yīng)于塊t0的mer合并候選的順序?qū)er合并候選增加給合并候選列表。
圖24是示出推導(dǎo)mer合并候選的方法的另一個(gè)實(shí)施例的示意圖。圖24的2410指示一個(gè)mer。
參考圖24,包括在mer2410中的pu02420可以具有五個(gè)空間合并候選a0、a1、b0、b1和b2。此外,雖然在圖24中未示出,如上參考圖7所述,pu02420可以具有時(shí)間合并候選。但是,如上參考圖23所述,在mer中的任何pu的空間合并候選可以在以合并模式和/或跳躍模式的并行me中被處理為是不可用的,并且因此,不可以包括在合并候選列表中。
在這種情況下,編碼器和解碼器可以另外以與圖23的實(shí)施例相同的方式將mer合并候選增加給合并候選列表。例如,如果構(gòu)成合并候選列表的合并候選的數(shù)目局限于5,則編碼器和解碼器可以將mer合并候選增加或者插入合并候選列表,直到合并候選的數(shù)目是5。
參考圖24,塊l1和t1的運(yùn)動(dòng)信息可以用作另外插入pu02420的合并候選列表的mer合并候選。在此處,塊l1可以是在相鄰于mer左側(cè)的塊之中位于最下部的塊。此外,塊t1可以是在相鄰于mer上部的塊之中位于最右部分的塊。
此外,如上參考圖23所述,另外插入合并候選列表的mer合并候選的數(shù)目按照pu的位置等是可變的。因此,在圖24的實(shí)施例中,可以預(yù)先確定將前面提到的mer合并候選插入合并候選列表的順序。例如,編碼器和解碼器可以另外以對(duì)應(yīng)于塊l1的mer合并候選,和對(duì)應(yīng)于塊t1的mer合并候選的順序?qū)er合并候選插入合并候選列表。
同時(shí),如在前面提到的圖13至圖24的實(shí)施例中,如果對(duì)于一個(gè)pu推導(dǎo)通用的合并候選和/或mer合并候選,推導(dǎo)的通用的合并候選和/或mer合并候選可以增加或者插入pu的合并候選列表。在下文中,在以下的實(shí)施例中,為了解釋方便起見,通用的合并候選和mer合并候選共同地稱作并行合并候選。
如果沒有應(yīng)用并行合并候選,如上參考圖7所述,該pu的空間合并候選可以從相鄰于pu的塊,和位置最靠近于當(dāng)前塊的轉(zhuǎn)角的塊推導(dǎo)。此外,pu的時(shí)間合并候選可以從包括在參考圖片中的col塊推導(dǎo)。在下文中,當(dāng)并行合并候選沒有如在圖7的實(shí)施例中應(yīng)用的時(shí)候用于pu的合并候選被稱作pu合并候選。
如上所述,包括在與pu相同的mer中的合并候選可以在對(duì)應(yīng)于一個(gè)pu的pu合并候選的空間候選之中存在。在這種情況下,包括在與pu相同的mer中的合并候選不可以在并行me中包括可用的運(yùn)動(dòng)信息。因此,對(duì)于pu推導(dǎo)的可用的pu合并候選的數(shù)目可以小于構(gòu)成合并候選列表需要的合并候選的數(shù)目。在此處,構(gòu)成合并候選列表需要的合并候選的數(shù)目可以是預(yù)先確定的值。例如,構(gòu)成合并候選列表的合并候選的數(shù)目可以是5。
在這種情況下,編碼器和解碼器可以另外以特定的順序?qū)⒉⑿泻喜⒑蜻x插入合并候選列表。在這種情況下,另外插入合并候選列表的并行合并候選可以在合并候選列表中位于可用的pu合并候選之后。也就是說,合并候選可以以并行合并候選的順序插入合并候選列表。
例如,假設(shè)如圖7的720所示的pu合并候選應(yīng)用于當(dāng)前的pu。在這種情況下,編碼器和解碼器可以將在當(dāng)前的pu外部位置上最靠近于左下角的塊a0、在相鄰于當(dāng)前的pu左側(cè)的塊之中位于最下部的塊a1、在當(dāng)前的pu外部位置上最靠近于右上角的塊b0、在相鄰于當(dāng)前的pu的上部的塊之中位于最右部分的塊b1、在當(dāng)前的pu外部位置上最靠近于左上角的塊b2,和塊col的運(yùn)動(dòng)信息作為當(dāng)前的pu的pu合并候選使用。在這種情況下,例如,pu合并候選可以以a1、b1、b0、a0、b2和col的順序增加和/或插入合并候選列表。
但是,如果當(dāng)前的pu在mer內(nèi)部存在,則當(dāng)執(zhí)行合并模式和/或跳躍模式并行me的時(shí)候,對(duì)應(yīng)于pu合并候選的空間合并候選a1、b1、b0、a0和b2是不可用的。在這種情況下,僅對(duì)應(yīng)于pu合并候選的時(shí)間合并候選col可以被增加給合并候選列表。
在這種情況下,在pu合并候選被增加給合并候選列表之后,編碼器和解碼器可以插入并行合并候選。例如,對(duì)于當(dāng)前的pu推導(dǎo)的并行合并候選分別地稱作a1’、b1’、b0’、a0’和b2’。在這種情況下,對(duì)應(yīng)于pu合并候選和并行合并候選的時(shí)間合并候選可以以col、a1’、b1’、b0’、a0’和b2’的順序增加和/或插入合并候選列表。在這種情況下,編碼器和解碼器可以增加并行合并候選,直到構(gòu)成合并候選列表的合并候選的數(shù)目是最大數(shù)(例如,5)。
同時(shí),即使可用的pu合并候選和可用的并行合并候選被增加給合并候選列表,可能存在合并候選列表沒有完全地填充的情形。在這種情況下,編碼器和解碼器可以基于已經(jīng)增加給合并候選列表的合并候選推導(dǎo)新的合并候選,并且可以將其增加給合并候選列表。在這種情況下,編碼器不僅可以使用pu合并候選,而且可以使用并行合并候選去推導(dǎo)新的合并候選。
基于已經(jīng)增加給合并候選列表的合并候選推導(dǎo)的新的合并候選的示例可以包括合并的雙預(yù)測(cè)候選(cb)、非標(biāo)度的雙預(yù)測(cè)候選,和/或零運(yùn)動(dòng)候選(零)等。在此處,cb可以基于在已經(jīng)增加給合并候選列表的合并候選之中的兩個(gè)合并候選推導(dǎo)。例如,cb的l0運(yùn)動(dòng)信息可以基于兩個(gè)合并候選的一個(gè)推導(dǎo),并且cb的l1運(yùn)動(dòng)信息可以基于兩個(gè)合并候選的另一個(gè)推導(dǎo)。也就是說,cb可以通過合并兩個(gè)合并候選每個(gè)的運(yùn)動(dòng)信息推導(dǎo)。此外,nb的l0運(yùn)動(dòng)信息和l1運(yùn)動(dòng)信息可以基于在已經(jīng)增加給合并候選列表的合并候選之中的一個(gè)合并候選,經(jīng)由特定的條件和操作推導(dǎo)。此外,零可以暗指包括零失量(0,0)的運(yùn)動(dòng)信息。
新近推導(dǎo)和另外插入合并候選列表的合并候選cb、nb和零可以在合并候選列表中位于可用的pu合并候選和可用的并行合并候選之后。也就是說,該合并候選可以以pu合并候選、并行合并候選,和基于pu合并候選和并行合并候選推導(dǎo)的cb、nb和零的順序插入合并候選列表。例如,如果假設(shè)對(duì)于一個(gè)pu推導(dǎo)三個(gè)cb,即,cb0、cb1和cb2,一個(gè)nb,即,nb0,和一個(gè)零,合并候選可以以col、a1’、b1’、b0’、a0’、b2’、cb0、cb1、cb2、nb0和零的順序增加和/或插入合并候選列表。在這種情況下,編碼器和解碼器可以增加并行合并候選,直到構(gòu)成合并候選列表的合并候選的數(shù)目是最大數(shù)(例如,5)。
雖然前面提到的示例性系統(tǒng)已經(jīng)基于在其中依次列出步驟或者模塊的流程圖描述,但本發(fā)明的步驟不局限于某個(gè)順序。因此,某個(gè)步驟可以在不同的步驟中,或者以不同的順序或者相對(duì)于如上所述的同時(shí)執(zhí)行。此外,本領(lǐng)域技術(shù)人員應(yīng)該明白,該流程圖的步驟不是排它的。而是,在其中可以包括另外的步驟,或者可以在本發(fā)明的范圍內(nèi)刪除一個(gè)或多個(gè)步驟。
前面提到的實(shí)施例包括各種示例性方面。雖然不能描述用于表示各種方面的所有可能的組合,但本領(lǐng)域技術(shù)人員應(yīng)該理解,其它的組合也是可能的。因此,所有替換、修改和變化將落在本發(fā)明的權(quán)利要求書的精神和范圍內(nèi)。