新四季網

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

2023-06-01 22:18:31


本申請是2014年5月7日提交的國際申請日為2012年9月7日、申請號為201280054717.3(pct/kr2012/007224)的,發明名稱為「幀間預測方法及其裝置」專利申請的分案申請。

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



背景技術:

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

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



技術實現要素:

技術問題

本發明提供用於能夠降低複雜性和改善編碼/解碼效率的視頻編碼的方法和裝置。

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

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

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

技術解決方案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有益效果

按照本發明的視頻編譯方法,複雜度可以降低,並且編碼/解碼效率可以改善。

按照本發明的視頻解碼方法,複雜度可以降低,並且編碼/解碼效率可以改善。

按照本發明的幀間預測方法,複雜度可以降低,並且編碼/解碼效率可以改善。

按照本發明的合併候選列表產生方法,複雜度可以降低,並且編碼/解碼效率可以改善。

附圖說明

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

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

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

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

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

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

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

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

圖9是用於解釋當以合併模式執行並行運動估算(me)的時候出現的問題的示意圖。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

具體實施方式

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

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

此外,某些構成元件可能不是用於執行固有功能必需的構成元件,而是僅用於改善性能的選擇性的構成元件。除了僅用於改善性能的構成元件之外,本發明可以通過僅包括用於實現本發明精神的必需的構成元件實現。除了僅用於改善性能的選擇性的構成元件之外,僅僅包必需的構成元件的結構也包括在本發明的範圍中。

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

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

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

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

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

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

重新排序器125可以重新排序從量化器120提供的量化係數。量化係數的重新排序可以提高在熵編碼器130中的編譯效率。重新排序器125可以通過使用係數掃描方法將具有2維塊形式的量化係數重新排序為1維矢量形式。基於從量化器發送的係數的概率統計數值重新排序器125可以改變係數掃描的順序,從而提高在熵編碼器130中的熵編碼效率。

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

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

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

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

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

去塊濾波可以在重建的圖片中除去在塊之間的邊界處出現的塊失真。sao可以將適當的偏移值增加給像素值以補償編譯錯誤。alf可以基於用於將原始圖像與在經由去塊濾波器濾波塊之後重建的圖像進行比較的值執行濾波。

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

存儲器150可以存儲通過使用濾波器145計算的重建的塊或者圖片。可以將存儲在存儲器150中的重建的塊或者圖片提供給用於執行幀間預測的預測器110。

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

幀間預測器210可以基於當前圖片的先前的圖片或者後續圖片的信息通過執行預測產生預測塊。此外,幀內預測器220可以基於在當前圖片中的像素信息通過執行預測產生預測塊。

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

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

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

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

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

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

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

去量化器320基於從編碼器提供的量化參數和重新排序的塊的係數值執行去量化。

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

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

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

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

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

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

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

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

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

在下文中,如果「圖像」或者「屏幕」可以按照本發明的配置或者表示用於與「圖片」相同的含義,該「圖片」也可以稱為「圖像」或者「屏幕」。此外,幀間預測和屏幕間預測具有相同的含義,並且幀內預測和屏幕內預測具有相同的含義。

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

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

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

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

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

參考圖5,一個cu510可以用作一個pu,或者可以被分割為多個pu。在幀內預測520的情況下,cu(和/或pu)的分割模式可以是2n×2n或者n×n模式(這裡n是整數)。在此處,以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是整數)。在此處,以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)的分割模式可以由編碼器確定。關於由編碼器確定的分割模式的信息可以被編譯和發送給解碼器。解碼器可以基於發送的分割模式信息確定當前cu(和/或pu)。例如,分割模式信息可以通過使用分割_模式(part_mode)語法發送給解碼器。

同時,分配給在圖5的520和530中示出的每個pu的數字表示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。在下文中,為了解釋方便起見,在如下所述本發明的實施例中假設當執行編碼和解碼的時候,應用在圖5中示出的分割模式和分割索引。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

用於產生合併候選列表的合併候選的實施例在圖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)。

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

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

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

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

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

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

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

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

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

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

與前面提到的並行處理水平相關的信息可以通過包括在序列參數集(sps)或者圖片參數集(pps)中在比特流上從編碼器發送到解碼器。與包括在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連續地執行me。對於另一個示例,如果值2被分配給log2_parallel_merge_level_minus2,mer大小可以對應於16×16。在這種情況下,編碼器和解碼器可以以16×16並行處理水平執行並行me。也就是說,編碼器和解碼器可以對於在16×16塊中的所有pu並行執行me。同樣地,即使即使另一個值被分配給log2_parallel_merge_level_minus2,編碼器和解碼器可以按照分配的值通過使用類似的方法執行並行me。

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

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

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

圖9是用於解釋當以合併模式執行並行me的時候出現的問題的示意圖。圖9的910、920、930和940每個指示一個cu。

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

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

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

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

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

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

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

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

同時,如上參考圖9所述,在對於其執行並行me的mer內,可能存在使用對於其沒有完成編碼/解碼的另一個塊的pu。在這種情況下,不能對於屬於mer的pu同時地執行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的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態。在這種情況下,由於塊a0和塊b0是在並行me中不能使用的塊,該塊可以被處理為是不可用的,並且可以不必用作下面pu的合併候選塊。在這種情況下,塊的運動信息可以不必被增加到合併候選列表。

如圖10的1010的實施例所示,如果在並行me中不能使用的塊被處理為是不可用的,對於具有分割索引1的下面pu推導的空間合併候選的數目可以是2。在這種情況下,通過考慮時間合併候選,如果將1增加到空間合併候選的數目,則對於下面pu推導的可用的合併候選的最大數可以是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的運動信息是不可用的。這是因為其可能是塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態。在這種情況下,由於塊a0和塊b0是在並行me中不能使用的塊,所以塊可以被處理為是不可用的,並且不可以用作下面pu的合併候選塊。在這種情況下,該塊的運動信息不可以被增加給合併候選列表。

如圖10的1020的實施例所示,如果在並行me中不能使用的塊被處理為是不可用的,對於具有分割索引1的下面pu推導的空間合併候選的數目可以是2。在這種情況下,通過考慮時間合併候選,如果1被增加給空間合併候選的數目,對於下面pu推導的可用的合併候選的最大數可以是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的運動信息是不可用的。這是因為其可能是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態。在這種情況下,由於塊a0和塊b0是在並行me中不能使用的塊,該塊可以被處理為是不可用的,並且不可以用作下面pu的合併候選塊。在這種情況下,該塊的運動信息不可以被增加給合併候選列表。

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

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

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

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

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

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

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

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

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

如圖10的1060的實施例所示,如果在並行me中不能使用的塊被處理為是不可用的,對於具有分割索引1的右側pu推導的空間合併候選的數目可以是3。在這種情況下,通過考慮時間合併候選,如果1被增加給空間合併候選的數目,對於右側pu推導的可用的合併候選的最大數可以是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上執行lx預測的標記。

可能存在用於將pu的相鄰塊處理為是不可用的若干類型的條件。例如,如果n是塊b2,並且塊a0、a1、b0和b1全部是可用的,以將合併候選的數目保持為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中標記的數字表示分割索引。

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

同時,如上圖10的實施例所述的是用於cu(和/或pu)的分割模式是2n×n、2n×nu、2n×nd、n×2n、nl×2n和nr×2n的情形。但是,即使cu(和/或pu)的分割模式是n×n,在對其執行並行me的mer內,可能存在使用編碼/解碼沒有對其完成的另一個塊(和/或pu)的pu。在這種情況下,不能對於屬於mer的pu同時地執行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推導的空間合併候選的數目可以是3。在這種情況下,通過考慮時間合併候選,如果1被增加給空間合併候選的數目,則對於右上pu推導的可用的合併候選的最大數可以是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的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態。在這種情況下,由於塊a0是在並行me中不能使用的塊,其可以被處理為是不可用的,並且不可以用作左下pu的合併候選塊。在這種情況下,該塊的運動信息不可以被增加給合併候選列表。

如圖11的1120的實施例所示,如果在並行me中不能使用的塊被處理為是不可用的,對於具有分割索引2的左下pu推導的空間合併候選的數目可以是2。在這種情況下,通過考慮時間合併候選,如果1被增加給空間合併候選的數目,對於左下pu推導的可用的合併候選的最大數可以是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的運動信息是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序沒有完成的狀態。在這種情況下,由於塊a0和塊b0是在並行me中不能使用的塊,該塊可以被處理為是不可用的,並且不可以用作右下pu的合併候選塊。在這種情況下,該塊的運動信息不可以被增加給合併候選列表。

如圖11的1130的實施例所示,如果在並行me中不能使用的塊被處理為是不可用的,則對於具有分割索引3的右下pu推導的空間合併候選的數目可以是0。在這種情況下,通過考慮時間合併候選,如果1被增加給空間合併候選的數目,對於右下pu推導的可用的合併候選的最大數可以是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能夠推導的可用合併候選的最大數可以按照分割模式和分割索引估算。對於每個pu可用的合併候選的最大數可以通過將時間候選的數目(例如,1)增加給能夠在並行me中使用的可用的空間合併候選的數目估算。例如,在圖10和圖11的每個分割模式中,對於具有分割索引值0的pu可以推導高達5個可用的合併候選。對於另一個示例,在如圖10的1010所示的2n×n的分割模式中,對於具有分割索引1的pu可以推導高達3個可用的合併候選。對於每個pu推導的可用的合併候選的最大數可以按照分割模式和分割索引由以下的表3表示。

[表3]

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

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

為了解決前面提到的問題,編碼器和解碼器可以通過應用按照分割模式和分割索引優化的合併候選的數目對合併索引執行編碼/解碼,從而能夠減少或者節省可以用於合併索引傳輸的比特量。

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

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

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

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

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

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

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

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

同時,就對其執行並行me的多個pu而論,編碼器和解碼器可以推導和使用通用的合併候選和/或通用的合併候選列表,從而使能並行me。基於通用的合併候選和/或通用的合併列表的並行me方法可以相對於圖10和/或圖11的前面提到的實施例獨立地應用,或者也可以與圖10和/或圖11的實施例相關聯地應用於編碼器/解碼器。在下文中,在本發明中,通常供多個pu使用的合併候選被稱作「通用的合併候選」,並且供多個pu通常使用的合併候選列表被稱作「單個合併候選列表」。

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

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

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

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

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

例如,假設該合併候選共享單元是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。

在下文中,將描述按照本發明的實施例推導在合併候選共享單元中用於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同時地執行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共享通用的合併候選和/或單個合併候選列表,在某種程度上可能出現編譯損耗。因此,編碼器和解碼器可以基於合併候選共享標記有選擇地確定合併候選推導方法和/或合併候選列表推導方法。

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

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

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

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

同時,在圖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,對其執行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中可能是不可用的。這是因為其可以是該塊的編碼和/或解碼按照編碼/解碼順序完成的狀態。因此,如果對當前的pu執行合併模式(和/或跳躍模式)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左側的塊之中位於中心的塊,或者如果位於中心的塊的數目是2,則可以是在兩個塊之中位於上部的塊。

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

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

圖14的實施例可以被認為是mer合併候選推導方法的實施例。在圖14的實施例中,在一個合併候選共享單元中的所有pu可以共享通用的合併候選(和/或單個合併候選列表)。因此,在圖14中,在一個mer(即,合併候選共享單元)中的所有pu可以具有相同的mer合併候選。mer合併候選可以如圖14的實施例所示作為用於在一個mer中的所有pu的通用的合併候選推導,並且可以分別地對於包括在一個mer中pu的每個推導。與之相關聯地,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)<>nmer)<>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合併候選可以優先地增加給合併候選列表,從而能夠降低從編碼器發送到解碼器的信息量。為此,該編碼器和解碼器可以優先地將對應於位於靠近於當前的pu1520的塊的mer合併候選增加給合併候選列表。

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

[公式1]

distx=x%nmer

disty=y%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中按照編碼/解碼順序沒有完成編碼和/或解碼的狀態之中。

同時,在圖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的空間合併候選被處理為是不可用的,並且因此,不可以包括在合併候選列表中。

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

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

為了允許構成合併候選列表的合併候選的數目是5,另外插入合併候選列表中的mer合併候選的數目按照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合併候選增加給合併候選列表。例如,如果構成合併候選列表的合併候選的數目局限於5,則編碼器和解碼器可以將mer合併候選增加或者插入合併候選列表,直到合併候選的數目是5。

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

此外,如上參考圖23所述,另外插入合併候選列表的mer合併候選的數目按照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合併候選的數目可以小於構成合併候選列表需要的合併候選的數目。在此處,構成合併候選列表需要的合併候選的數目可以是預先確定的值。例如,構成合併候選列表的合併候選的數目可以是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內部存在,則當執行合併模式和/或跳躍模式並行me的時候,對應於pu合併候選的空間合併候選a1、b1、b0、a0和b2是不可用的。在這種情況下,僅對應於pu合併候選的時間合併候選col可以被增加給合併候選列表。

在這種情況下,在pu合併候選被增加給合併候選列表之後,編碼器和解碼器可以插入並行合併候選。例如,對於當前的pu推導的並行合併候選分別地稱作a1』、b1』、b0』、a0』和b2』。在這種情況下,對應於pu合併候選和並行合併候選的時間合併候選可以以col、a1』、b1』、b0』、a0』和b2』的順序增加和/或插入合併候選列表。在這種情況下,編碼器和解碼器可以增加並行合併候選,直到構成合併候選列表的合併候選的數目是最大數(例如,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和零的順序增加和/或插入合併候選列表。在這種情況下,編碼器和解碼器可以增加並行合併候選,直到構成合併候選列表的合併候選的數目是最大數(例如,5)。

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

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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀