TW202021368A - 視訊編解碼中共享合併候選列表區域的方法和裝置 - Google Patents

視訊編解碼中共享合併候選列表區域的方法和裝置 Download PDF

Info

Publication number
TW202021368A
TW202021368A TW108136228A TW108136228A TW202021368A TW 202021368 A TW202021368 A TW 202021368A TW 108136228 A TW108136228 A TW 108136228A TW 108136228 A TW108136228 A TW 108136228A TW 202021368 A TW202021368 A TW 202021368A
Authority
TW
Taiwan
Prior art keywords
block
history
candidate list
current block
shared
Prior art date
Application number
TW108136228A
Other languages
English (en)
Other versions
TWI734212B (zh
Inventor
林郁晟
賴貞延
陳俊嘉
蕭裕霖
莊子德
陳慶曄
徐志瑋
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202021368A publication Critical patent/TW202021368A/zh
Application granted granted Critical
Publication of TWI734212B publication Critical patent/TWI734212B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

揭示一種使用基於歷史(history-based)候選推導的視訊編解碼方法與裝置。根據一種方法,接收在一共享合併候選列表區域(Shared Merge candidate list Region,SMR)或是在一基於歷史平行處理區域之中的一當前塊,而該當前塊是使用一合併候選列表來加以編碼或解碼。只有在該當前塊是首先被編碼N(N≥0)塊中之一、或是最後被編碼N塊中之一、或是被選擇N塊中之一的時候,才在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新。在一實施例中,該合併候選列表是事先產生的以用於該共享合併候選列表區域的該當前塊,而且是分別產生的以用於該基於歷史平行處理區域的該當前塊。在另一方法中,如果該當前塊是在該共享合併候選列表區域之中或是在該基於歷史平行處理區域之中的時候,使用相關於該根編解碼單元的該基於歷史候選列表來對該當前塊進行編碼或解碼。

Description

視訊編解碼中共享合併候選列表區域的方法和裝置
本發明關於視訊編解碼中使用合併模式與基於歷史(history-based)合併候選的建構。尤其,本發明揭示的技術可用來克服依存度(dependency)的問題,其是相關聯用於共享合併候選列表區域(SMR)或是如合併估計區域(Merge Estimation Region,MER)的平行處理區域之中基於歷史候選列表的處理(handling)。
高效率視訊編碼(High Efficiency Video Coding,HEVC)的標準,是由一些標準化組織國際電信聯盟電信標準化部門的視訊編碼專家組(ITU-T Video Coding Experts Group,VCEG)與國際標準組織/國際電子電機委員會下屬的動態影像專家組(ISO/ IEC Moving Picture Experts Group,MPEG)於聯合視訊計劃下所開發的,而且特別是與視訊編碼聯合協作小組(Joint Collaborative Team on Video Coding,JCT-VC)合作開發。在HEVC中,一個切片(slice)被分割成複數個編解碼樹單元(Coding Tree Unit,CTU)。在主設定檔(main profile)中,CTU的最小尺寸和最大尺寸由序列參數集(Sequence Parameter Set,SPS)中的語法元素指定。允許的CTU尺寸可以是8x8,16x16,32x32或64x64。對於每個切片,切片內的CTU根據光柵掃描(raster scan)順序進行處理。
CTU進一步被分割成複數個編解碼單元(Coding Unit,CU)以適應各種局部特性。表示為編解碼樹的四叉樹用於將CTU分割成複數個CU。將CTU尺寸設為M×M,其中M是值64,32或16中的一個。CTU可以是單個CU(即無分割)或可以被分割成四個相同尺寸的較小單元(亦即每一個是M/2xM/2),其相對應為編解碼樹的節點。如果這些單元是編解碼樹的葉節點,則這些單元變成CU。否則,四叉樹分割流程可以被反覆運算,直到一節點的尺寸達到序列參數集(SPS)中指定的最小允許CU尺寸。這種表示形成了如第1圖中的編解碼樹(也稱為分割樹結構)120所指定的遞迴結構。CTU分割110在第1圖中示出,其中實線表示CU邊界。使用幀間(時間)或是幀內(空間)預測來編解碼一畫面區域的決定,是在CU層級(CU level)作出的。由於最小CU尺寸可以是8x8,所以用於在不同基本預測類型之間切換的最小間隔尺寸是8x8。
此外根據HEVC,每個CU可以被分割成一或複數個預測單元(Prediction Unit,PU)。結合CU,PU作為分享共用預測信息的基本表示塊。在每個PU內部,可應用相同的預測流程,並將相關信息以PU為基礎發送給解碼器。根據PU分割類型,CU可以被分割成一個,兩個或四個PU。如第2圖所示,HEVC定義了八個形狀用以於CU分割成PU,包括M x M、M x M/2、M/2 x M、M/2 x M/2、M x M/4 (U)、M x M/4 (D)、M/4 x M (L)與M/4 x M (R)的分割類型。與CU不同,PU根據HEVC僅可以被分割一次。第二行(row)所示的分割對應於不對稱分割,其中兩個分割部分具有不同的尺寸。
基於PU分割類型,在藉由預測過程來獲得殘差塊之後,可以根據另一四叉樹結構(其與第1圖中所示CU的編解碼樹類似)將CU分割成轉換單元(Transform Unit,TU)。實線表示CU邊界,而虛線表示TU邊界。TU是具有殘差或轉換係數的基本代表塊,以用來應用整數轉換和量化。對於每個TU,與TU有相同尺寸的一個整數轉換會被用來獲得殘差係數。在以TU為基礎進行量化之後,這些係數被傳輸到解碼器。
這些術語編解碼樹塊(Coding Tree Block,CTB),編解碼塊(Coding Block,CB),預測塊(Prediction Block,PB)和轉換塊(Transform Block,TB)被定義出以分別指定與CTU,CU,PU,和TU相關的一個顏色分量的2-D樣本陣列。因此,CTU由一個亮度CTB,兩個色度CTB和相關的語法元素所組成。類似的關係對CU,PU和TU一樣適用有效。通常同時將樹分割應用於亮度和色度,儘管當達到色度的最小尺寸時會有例外產生。
也可以選擇性地使用於JCTVC-P1005所提出的二叉樹塊分割結構(由D. Flynn 等所提出的 “HEVC Range Extensions Draft 6”,國際電信通訊聯盟 -電信標準化部門,研究小組16,工作集會3 (ITU-T SG16 WP3) 以及國際標準化組織/國際電工協會之第一技術委員會第29子委員會第11號工作群組(ISO/IEC JTC1/SC29 WG11) 下轄的視訊編碼聯合協作小組(Joint Collaborative Team on Video Coding,JCT-VC),2014年1月9-17日於美國聖荷西第16次會議中文件的JCTVC-P1005)。在所提出的二叉樹分割結構中,可以用第3圖所示的多種二元分割類型(即M/2 x M、M x M/2、M/4 x M (L)、M/4 x M (R)、M x M/4 (U)與M x M/4 (D)),將一塊遞迴地分割成兩個較小塊。最有效和最簡單的分割類型是第3圖中的前兩種分割類型所示的對稱水平和垂直分割。對於尺寸為MxN的給定塊,可以發信一旗標以表示給定塊是否被分割成兩個較小塊。如果該旗標表示“是”,則發信另一語法元素以表示使用了哪種分割類型。如果使用水平分割,則給定塊被分割成兩個尺寸為M x N/2的塊;如果使用垂直分割,則給定塊被分割成兩個尺寸為M/2 x N的塊。二叉樹分割過程可以被反覆運算,直到分割塊的尺寸(寬度或高度)達到最小允許塊尺寸(寬度或高度),最小允許塊尺寸可以在諸如SPS的高層語法中加以定義。由於二叉樹具有兩種分割類型(即水平和垂直),所以最小允許塊的寬度與高度二者都應該被指示出來。當分割會造成一個塊的高度小於被指示出的最小值時,也就隱含了非-水平分割(Non- horizontal splitting);當分割會造成一個塊的寬度小於被指示出的最小值時,也就隱含了非-垂直分割(Non- vertical splitting)。第4圖示出了塊分割410及其相應的二叉樹結構420的例子。在二叉樹的每個分割節點(即非葉節點)上,一個旗標被用來表示使用了哪種分割類型(水平或垂直),其中0可表示水平分割,1可表示垂直分割。
所述二叉樹結構可以用於將一影像區域分割成複數個較小塊,諸如將一切片(slice)分割成複數個CTU,將一CTU分割成複數個CU,將一CU分割成複數個PU或將一CU分割成複數個TU,等等。二叉樹可用於將CTU分割成複數個CU,其中二叉樹的根節點是CTU,而二叉樹的葉節點是CU。葉節點可藉由預測和轉換編解碼進一步來處理。為簡化起見,不存在從CU到PU或從CU到TU的進一步分割,這則意味著CU等同於PU並且PU也等同於TU。因此,在這種情況下,二叉樹的葉節點也就是用於預測和轉換編解碼的基本單元。
QTBT結構
二叉樹結構比四叉樹結構更具彈性,是因為可以支持更多的分割形狀,這也是編解碼效率提高的來源。但是,為了選擇最佳的分割形狀,編解碼複雜度也會增加。為了平衡複雜度和編解碼效率,也已經有方法揭示出了組合四叉樹和二叉樹結構的方法,該結構也稱為四叉樹加二叉樹(quadtree plus binary tree,QTBT)結構。根據所述QTBT結構中,一CTU(或對I-切片而言是CTB)是四叉樹的根節點,而首先透過四叉樹對CTU進行分割,其中對於一節點進行四叉樹分割可以被反覆運算直到節點達到最小可被允許四叉樹葉節點尺寸(即MinQTSize)。如果四叉樹葉節點的尺寸不大於最大可被允許二叉樹根節點的尺寸(即MaxBTSize),則可以透過二叉樹進一步分割。對於一節點進行二叉樹分割可以被反覆運算直到節點達到最小可被允許二叉樹葉節點尺寸(即MinBTSize)或是最大可被允許二叉樹深度(即MaxBTDepth)。二叉樹葉節點(即CU,或對I-切片而言是CB)會被用來作預測(即幀內或幀間預測)與轉換而不進一步分割。在二叉樹分割中有二種分割類型:對稱水平分割與對稱垂直分割。在QTBT結構中,可以在高級語法如SPS中指示最小可被允許四叉樹葉節點的尺寸,最大可被允許二叉樹根節點的尺寸,最小可被允許二叉樹葉節點的寬度和高度以及最大可被允許二叉樹的深度。第5圖示出了塊分割510及其對應的QTBT結構520的例子。實線表示四叉樹分割,虛線表示二叉樹分割。在二叉樹的每個分割節點(即非葉節點)中,一個旗標會指示使用了哪種分割類型(水平或垂直),0可表示水平分割,1可表示垂直分割。
上述的QTBT結構可以用於將一影像區域(即一切片,CTU,或CU)分割成複數個更小的塊,諸如將一切片分割成複數個CTU,將一CTU分割成複數個CU,將一CU分割成複數個PU,或將一CU分割成複數個TU等等。例如,QTBT可用於將CTU分割為複數個CU,其中QTBT的根節點是CTU,其由QTBT結構分割成複數個CU,而CU由預測和轉換編解碼進行進一步處理。為簡化起見,不存在從CU到PU或從CU到TU的進一步分割,這則意味著CU等同於PU並且PU也等同於TU。因此,在這種情況下,QTBT的葉節點也就是用於預測和轉換的基本單元。
於下面顯示一QTBT結構的例子。對於一尺寸大小為128x128的編碼樹單元(CTU),最小可被允許四叉樹葉節點尺寸設為16×16,最大可被允許二叉樹根節點尺寸設為64x64,最小可被允許二叉樹葉節點寬度或高度皆設為4,最大可被允許的二叉樹深度設為4。首先,CTU經由四叉樹結構分割,而葉四叉樹單元的尺寸可以從16×16(即最小可被允許四叉樹葉節點尺寸)至128×128(等於CTU的尺寸,無分割)。如果葉四叉樹單元為128×128,則不能被二叉樹進一步分割,因為其尺寸大小超過最大可被允許二叉樹根節點尺寸64x64;否則,葉四叉樹單元可以經由二叉樹進一步分割。葉四叉樹單元(也是作為根二叉樹單元)的二叉樹深度等於0。當二叉樹深度達到4時(即上述之最大可被允許的二叉樹深度),即隱含了不分割;當一相對應二叉樹節點的塊的寬度等於4時,即隱含了非-水平分割;並且當一相對應二叉樹節點的塊的高度等於4時,即隱含了非-垂直分割。QTBT的葉節點可藉由預測(幀內或幀間)和轉換編解碼進一步來處理。
對於I-切片(I slice),通常會以亮度/色度分別編解碼的方式來適用QTBT樹結構。例如,QTBT樹結構會分別適用在I-切片的亮度與色度成份上,而對於P-和B-切片的亮度與色度則一起適用(當達到色度的某些最小尺寸時會有例外產生)。換言之,在I-切片中的亮度CTB有其QTBT樹結構塊分割,而二個色度CTB有另外一QTBT樹結構塊分割。在另一例子中,二個色度CTB也可以有他們自己不同的QTBT樹結構塊分割。
為了進一步支援更多分割形狀以達成更有彈性的分割,三叉樹分割方法則設計為捕捉位於塊中央的物體,而四叉樹與二叉樹分割方法總是沿著塊中央來進行分割。第6A圖示出了垂直三叉樹分割610與水平三叉樹分割方620。藉由允許垂直地或水平地進行四分之一分割,三叉樹分割方法可以提供更快發現沿著塊邊界小物體位置的能力。
多類型樹(Multi-Type-Tree,MTT)的塊分割,是藉由在MTT的第二層中允許同時有二叉樹與三叉樹分割方法,來延伸QTBT中二層的樹結構的概念。所述MTT中二層的樹分別被稱為區域樹(region tree,RT)與預測樹(prediction tree,PT)。第一層RT總是以四叉樹(QT)分割,而第二層PT則可能為二叉樹(BT)分割或是三叉樹(TT)分割。例如,一CTU首先藉由RT進行分割,其為QT分割,而每一RT葉節點可以藉由PT進一步分割,其為BT或是TT分割。藉由PT分割的塊可進一步用PT分割,直至達到了一最大PT深度。例如,一個塊可以首先藉由垂直BT進行分割來產生一左方子塊與一右方子塊,而且左方子塊藉由水平TT進一步分割,而右方子塊藉由水平BT進一步分割。一PT葉節點是預測與轉換的基本編解碼單元(CU)而不會進一步被分割。
第6B圖根據MTT塊分割示出了一個用於塊分割的樹-類型發信的例子。RT發信可以和QTBT塊分割中四叉樹發信相似。對於發信一PT節點而言,一額外的位元子(bin)會被發信來指示出其是否為二叉樹分割或是三叉樹分割。對於藉由RT進行的塊分割,一第一位元子會被發信來指示出是否有另一RT分割。如果該塊不藉由RT進一步分割(即第一位元子是0),則一第二位元子會被發信來指示出是否有一PT分割。如果該塊也不藉由PT進一步分割(即第二位元子是0),則此塊為一葉節點。如果該塊有藉由PT進一步分割(即第二位元子是1),則會送出一第三位元子來指示出是水平或垂直分割,而後跟著一第四位元子來區分是二叉樹(BT)或是三叉樹(TT)分割。
在建構MTT塊分割之後,MTT葉節點則為CU,則被用來進行預測與轉換而不作進一步分割。在MTT中,所提出的樹結構在I-切片(I slice)的亮度與色度會分別編碼,而在P-和B-切片的亮度與色度則一起適用(當達到色度的某些最小尺寸時會有例外產生)。也就是說,在I-切片中的亮度CTB有其QTBT-結構的塊分割,而二個色度CTB有另外一QTBT-結構的塊分割。
雖然所提出的MTT藉由自適應式分割塊來進行預測與轉換可以改善表現性能,但是如果可能還是有需要進一步改善表現性能來達成整體的效率目標。
合併模式與AMVP模式
為增進HEVC中運動向量(MV)編解碼的編解碼效率,HEVC有跳過,合併模式與幀間高級運動向量預測(AMVP)模式。跳過與合併模式是從如第7圖所示的空間相鄰塊(空間候選)或是一時間並位塊(時間候選)來取得運動信息。當一PU是跳過或合併模式時,不需要對運動信息加以編碼;而是只有對選擇到的候選的索引加以編碼。對於跳過模式,則殘差信號被迫為0且不加以編碼。在HEVC,如果一特定塊是以跳過或合併模式編碼時,會發信出一候選索引以指示是使用候選組之中哪一個候選來進行合併。每一被合併的PU重複使用所選擇的候選的MV、預測方向、與參考畫面索引。
如第7圖所示對於HM-4.0(HEVC測試模型4.0)而言,最多有四個空間MV候選可以從A0 、A1 、B0 與 B1 推導出以及一個時間MV候選可以從TBR 或 TCTR 推導出(先使用TBR ;如果TBR 是不可用的,則再使用TCTR )。要注意的是,如果四個空間MV候選中任何一個是不可用的,則位置B2 被用來推導MV候選以作為替代。在四空間MV候選與一時間MV候選的推導過程後,則使用移除冗餘(修剪)來移除冗餘的MV候選。在移除冗餘(修剪)之後,如果可用的MV候選數目小於5,則三種額外的候選會被推導出並加入於候選組(候選列表)之中。基於率-失真最佳化(rate-distortion optimization,RDO)決策,編碼器會在跳過或合併模式的候選組之中來選擇出一最後的候選,並將索引傳送至解碼器。
在本揭示中,跳過與合併模式即以“合併模式”稱之。
第7圖也示出了AMVP與合併架構二者中使用來推導空間與時間MVP的相鄰PU。在AMVP中,左方MVP是在A0 、A1 中第一個可用的MVP,上方MVP是在B0 、B1 、B2 中第一個可用的MVP,而時間MVP是在TBR 或 TCTR 中第一個可用的MVP(先使用TBR ;如果TBR 是不可用的,則再使用TCTR )。如果左方MVP是不可用的而且上方MVP不是縮放的(scaled)MVP,則如果在B0 、B1 與B2 中有一縮放的MVP,就可以推導出第二個上方MVP。在HEVC中AMVP的MVP的列表大小是2。因此,在二空間MVP與一時間MVP的推導過程後,僅有前二個MVP可以被納入於MVP列表中。在移除冗餘之後,如果可用的MVP數目少於2,則在候選列表中加入零向量候選。
當一PU是以幀間 AMVP模式編碼時,運動補償的預測是由所傳送來的運動向量差異(motion vector differences,MVDs)來進行,MVDs可以與運動向量預測子(Motion Vector Predictors,MVPs)一起使用來推導出運動向量(motion vector,MVs)。為了決定幀間 AMVP模式下的MVP,可以使用高級運動向量預測(AMVP)的架構來選出一運動向量預測子,方式是從包括二空間MVP以及一時間MVP的一AMVP候選組中選出。因此在AMVP模式下,需要對MVP的MVP索引以及相對應的MVDs進行編碼與傳送。此外,幀間預測方向(用來表明在雙向預測以及單向預測之間的預測方向,也就是列表List0 (即L0) 以及列表List1 (即L1))以及對於每一列表所伴隨的參考幀索引也應予以編碼與傳送。
第7圖示出了AMVP與合併架構二者中用來推導空間與時間MVP所參考的相鄰PU。在AMVP中,左方MVP是在A0 、A1 中第一個可用的MVP,上方MVP是在B0 、B1 、B2 中第一個可用的MVP,而時間MVP是在TBR 或 TCTR 中第一個可用的MVP(先使用TBR ;如果TBR 是不可用的,則再使用TCTR )。如果左方MVP是不可用的而且上方MVP不是縮放的(scaled)MVP,則如果在B0 、B1 與B2 中有一縮放的MVP,就可以推導出第二個上方MVP。在HEVC中AMVP的MVP的列表大小是2。因此,在二空間MVP與一時間MVP的推導過程後,僅有前二個MVP可以被納入於MVP列表中。在移除冗餘之後,如果可用的MVP數目少於2,則在候選列表中加入零向量候選。
如第7圖所示對於跳過與合併模式而言,最多有四個空間合併索引可以從A0 、A1 、B0 與 B1 推導出以及一個時間合併索引可以從TBR 或 TCTR 推導出(先使用TBR ;如果TBR 是不可用的,則再使用TCTR )。要注意的是,如果四個空間合併索引中任何一個是不可用的,則位置B2 被用來推導合併索引以作為替代。在四空間合併索引與一時間合併索引的推導過程後,則使用移除冗餘來移除冗餘的合併索引。在移除冗餘之後,如果可用的合併索引數目小於5,則三種額外的候選會被推導出並加入於候選列表中。基於率-失真最佳化(rate-distortion optimization,RDO)決策,編碼器會在跳過或合併模式的候選組之中來選擇出一最後的候選,並將索引傳送至解碼器。
藉由使用原始的合併候選來創建出額外雙向預測的合併候選。所述額外的候選可以分為三種候選類型: 1.結合型(combined)雙向預測合併候選(候選類型1) 2.縮放型(scaled)雙向預測合併候選(候選類型2) 3.零向量合併/AMVP候選(候選類型3)
在候選類型1中,結合型雙向預測合併候選是藉由結合原始的合併候選來創建出。尤其,雙向預測合併候選是使用在原始候選中的二個候選來創建的:其中有mvL0 (列表0中的運動向量)與 refIdxL0 (列表0中的參考畫面索引);或是mvL1 (列表1中的運動向量) 與refIdxL1 (列表1中的參考畫面索引)。第8圖示出了結合型雙向預測合併候選推導過程的一例子。候選組810相對應於一原始候選列表,其包括L0中的mvL0_A, ref0 (831) 與 L1中的mvL1_B, ref0 (832) 。如第8圖中流程830所示,藉由結合L0與L1中的候選,可以形成一雙向預測MVP833。
在候選類型2中,縮放型雙向預測合併候選是藉由縮放原始的合併候選來創建出。尤其,雙向預測合併候選是使用在原始候選中的一個候選來創建的:其中有mvLX (列表X中的運動向量)與 refIdxLX (列表X中的參考畫面索引),X可以是0或1。例如,一候選A是列表0有mvL0_A與ref0的單向預測,ref0先拷貝到列表1的參考索引ref0’。之後以ref0 與ref0’來縮放mvL0_A並藉以計算出mvL0’_A。然後,列表0中具有mvL0_A 與ref0以及列表1中具有mvL0’_A 與 ref0’的雙向預測合併候選則被創建出並加入於合併候選列表中。第9A圖示出了縮放型雙向預測合併候選推導過程的一例子,其中候選列表910相對應於一原始候選列表,而候選列表920相對應於一擴大候選列表,其包括如流程930顯所示所二個所產生出來的雙向預測MVP。
在候選類型3中,零向量合併/AMVP候選是藉由結合零向量與可以被參考的參考索引來創建出。第9B圖示出了加入零向量合併候選的例子,其中候選列表940相對應於一原始候選列表,而候選列表950相對應於藉由加入零向量而擴展的合併候選列表。第9C圖示出了加入零向量AMVP候選的例子,其中候選列表960 (L0) 與962 (L1)相對應於原始AMVP候選列表,而候選列表970 (L0) 與972 (L1)相對應於藉由加入零向量而擴展的AMVP候選列表。如果零向量候選不重複,則將其加入合併/AMVP候選列表中。
傳統子-PU時間運動向量預測(SbTMVP)
ATMVP(高級時間運動向量預測)模式(也稱為子-PU時間運動向量預測(SbTMVP))是基於子-PU的模式來用於合併候選,其使用了空間相鄰來得出一初始向量(initial vector),並且使用此初始向量(在某些情況下會加以修正)來得出並位畫面中並位塊的座標(coordinate)。然後,取得並位畫面中並位塊的子-CU(通常是4x4或8x8)的運動信息,並填入當前合併候選的子-CU(通常是4x4或8x8)運動緩衝器中。有多種ATMVP的變型揭示於文件JVET- C1001 (由J. Chen等人所提的“Algorithm Description of Joint Exploration Test Model 3 (JEM3)”;於國際電信通訊聯盟 -電信標準化部門,研究小組16,工作集會3 (ITU-T SG16 WP3) 以及國際標準化組織/國際電工協會之第一技術委員會第29子委員會第11號工作群組(ISO/IEC JTC1/SC29 WG11) 下的聯合視訊專家組(JVET),第3次會議 :在瑞士日內瓦(Geneva,CH);  2016年5月26日–6月1日; 文件:JVET-C1001) ;以及文件JVET- K0346 (X. Xiu等人所提的“CE4-related: One simplified design of advanced temporal motion vector prediction (ATMVP)”,ITU-T SG 16 WP 3 與 ISO/IEC JTC 1/SC 29/WG 11下的聯合視訊專家組(JVET),第11次會議:在斯洛維尼亞的盧布爾雅那(Ljubljana,SI), 2018年7月10–18日;文件:JVET-K0346)。
空間-時間運動向量預測(STMVP)
STMVP模式是基於子-PU的模式來用於合併候選,子-PU的運動向量於光柵掃描(raster scan)順序中會被遞迴地產生。當前塊的MV推導首先會識別出其二個空間相鄰,然後使用某種MV縮放來推導出時間相鄰。在取得與縮放MV之後,將所有可用的運動向量(最多3個)加以平均以形成STMVP,並指定為當前子-PU的運動向量。STMVP的詳細描述可以在文件JVET-C1001第2.3.1.2小節中找到。
基於歷史合併模式
基於歷史合併模式是傳統合併模式的一種變型。基於歷史合併模式會將一些先前CU的合併候選儲存於一歷史陣列(history array)中。因此,除了原始的合併候選之外,當前CU可以使用歷史陣列中的一或多個候選來豐富合併模式的候選。基於歷史合併模式的細節可以在文件 JVET-K0104中找到(L. Zhang 等人所提的“CE4-related: History-based Motion Vector Prediction”;於 ITU-T SG 16 WP 3 與 ISO/IEC JTC 1/SC 29/WG 11 下的聯合視訊專家組(JVET),第11次會議: 在斯洛維尼亞的盧布爾雅那 (Ljubljana,SI), 2018年7月10–18日 ; 文件:JVET-K0104)。
所述基於歷史的方法也可以應用於AMVP候選列表。
非-相鄰合併候選
非-相鄰合併候選擇使用遠離當前CU的一些空間候選。非-相鄰合併候的變型可以於下列文件中找到:JVET- K0228(R. Yu等人所提的 “CE4-2.1: Adding non-adjacent spatial merge candidates”,ITU-T SG 16 WP 3 與 ISO/IEC JTC 1/SC 29/WG 11,第11次會議: 在斯洛維尼亞的盧布爾雅那 (Ljubljana,SI), 2018年7月10–18日 ; 文件:JVET-K0104) ;以及文件:JVET-K0286(J. Ye等人所提的 “CE4: Additional merge candidates (Test 4.2.13)”,ITU-T SG 16 WP 3 與 ISO/IEC JTC 1/SC 29/WG 11,第11次會議: 在斯洛維尼亞的盧布爾雅那 (Ljubljana,SI), 2018年7月10–18日 ; 文件:JVET-K0104)。
所述非-相鄰-依據的方法也可以應用於AMVP候選列表。
仿射模式
在遞交至國際電信通訊聯盟–視頻編解碼專家組(ITU-VCEG)的提案投稿ITU-T13-SG16-C1016(由Lin等人所提的“Affine transform prediction for next generation video coding”,ITU-U,研究組16,問題Q6/16,提案投稿 C1016,2015年9月,瑞士日內瓦)中,揭示了四參數仿射預測,其中包括了仿射合併模式。當仿射運動塊正在移動時,該塊的運動向量場域可以藉由兩個控制點運動向量或者四個參數加以描述如下,其中(vx, vy)表示運動向量:
Figure 02_image001
等式(1)
四參數仿射模型的例子如第10圖所示,其中塊1010相對應於當前塊,而塊1020相對應於參考塊。變換塊是一矩形塊。在此移動的塊中的每個點的運動向量場域可以藉由如下等式加以描述:
Figure 02_image003
等式(2)
在上述等式中,(v0x , v0y )是位於塊的左上方角落處的一個控制點運動向量(即v0 ),(v1x , v1y ) 是位於塊的右上方角落的另一個控制點運動向量(即v1 )。當兩個控制點的MV被解碼時,該塊的每個4x4塊的MV可以根據上述等式來決定。換句話說,該塊的仿射運動模型可以由位於兩個控制點處的兩個運動向量來指定。另外,雖然塊的左上方角落和右上方角落用作兩個控制點,其他兩個控制點也可以被使用。
有兩種仿射候選:繼承仿射候選與角落推導候選(即結構候選)。對於繼承仿射候選而言,當前塊會繼承一相鄰塊的仿射模型,所有控制點MV都是來自相同的相鄰塊。如第11A圖所示,如果當前塊1110繼承了塊A1的仿射運動,則塊A1的控制點MV會被使用作為當前塊的控制點MV,其中根據二個控制點MV(v0 和 v1 ),相關聯於塊A1的塊1112則會旋轉到塊1114。因此,當前塊1110則會旋轉到塊1116。繼承候選會在角落推導候選之前插入。繼承控制點MV的候選的選擇順序根據如下:(A0->A1)(B0 -> B1 -> B2)。
在投稿ITU-T13-SG16-C1016中,對於幀間模式編解碼的CU而言,當CU尺寸等於或大於16x16之時,會發信一仿射旗標以指示仿射幀間模式是否被使用。如果當前塊(例如當前CU)以仿射幀間模式進行編解碼,則使用相鄰有效重構塊來建立候選MVP對的列表。第11B圖示出了相鄰塊組以用來堆導出角落-推導仿射候選。如第11B圖所示,
Figure 02_image005
對應於位於當前塊1120的左上方角落處的塊V0的運動向量,其是從相鄰塊a0(稱為左上方塊,above-left block)、相鄰塊a1(稱為左上方內側塊,inner above-left block)和相鄰塊a2(稱為左上方下側塊,lower above-left block)的運動向量中所選擇出的。
Figure 02_image007
對應於位於當前塊1120的右上方角落處的塊V1 的運動向量,其是從相鄰塊b0(稱為上方塊)和相鄰塊b1(稱為右上方塊)的運動向量中所選擇出的。
在上述等式中,MVa是與塊a0、a1或者a2相關的運動向量,MVb是從塊b0和b1的運動向量中所選擇出來的,MVc是從塊c0和c1的運動向量中所選擇出來的。具有最小DV的MVa和MVb則被選擇以形成MVP對。因此,雖然僅兩個MV集(即MVa和MVb)將被搜索以找到最小DV,但是第三DV集(即MVc)也涉及在此選擇過程中。第三DV集對應於位於當前塊1110的左下方角落塊的運動向量,其是從相鄰塊c0(稱為左方塊)和c1(稱為左下方塊)的運動向量中所選擇出來的。在第11B圖的例子中,使用來建構仿射運動模型的控制點MV的相鄰塊(a0、a1、a2、b0、b1、b2、c0 與 c1),在本揭示中則稱為一相鄰塊組。
在投稿ITU-T13-SG16-C-1016中,也提出了仿射合併模式。如果當前塊是一合併PU,則檢查五個相鄰塊(即第11B圖中的c0、b0、b1、c1與a0塊)來決定它們其中之一是否為仿射幀間模式或者仿射合併模式。如果是,則affine_flag旗標被發信以指示當前PU是否為仿射模式。當當前PU是以仿射合併模式編碼時,其從有效相鄰重構塊中得到用仿射模式編碼的第一塊。如第11B圖中所示,候選塊的選擇順序是從左方、上方、右上方、左下方到左上方(即c0àb0àb1àc1àa0)。第一仿射編碼塊的仿射參數會用於推導出當前PU的v0 和v1
揭示一種使用基於歷史候選推導的視訊編解碼幀間預測的方法與裝置,其中於編碼或解碼時對於一基於歷史候選列表加以更新。根據本發明的一種方法,在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊,其中該當前塊是在一共享合併候選列表區域(SMR)之中或是在一平行處理區域之中。使用一合併候選列表來對該當前塊進行編碼或解碼。只有在該當前塊是首先被編碼N塊中之一、或是最後被編碼N塊中之一、或是在該SMR或是在該基於歷史平行處理區域之中所選擇N塊中之一的時候,才在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新。而N是大於或等於0的一整數。
在一實施例中,N等於0。在此案例中,在該當前塊被編碼或被解碼之後,總是對於該基於歷史候選列表的更新加以限制。也可以選擇性地在該當前塊被編碼或被解碼之後對於該基於歷史候選列表的更新加以限制,除非該當前塊是該SMR或是在該基於歷史平行處理區域之中的最後一塊。
在一實施例中,N是基於下列來決定:包含該當前塊的一共享邊界CU(編解碼單元)中塊的形狀、塊的寬度、或是塊的高度。
在一實施例中,N是一事先定義的數值。會在該視訊編碼器側的一序列、畫面、或切片層級中發信該事先定義的數值,或是在該視訊解碼器側的該序列、畫面、或切片層級中剖析該事先定義的數值。
在一實施例中,該合併候選列表是事先產生的以用於該SMR的當前塊,而且是分別產生的以用於該基於歷史平行處理區域的當前塊。
根據另一種方法,決定一根CU(編解碼單元)以用於一共享合併候選列表區域(SMR)或是在一基於歷史平行處理區域。在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊。如果該當前塊是在該SMR之中或是在該基於歷史平行處理區域之中的時候,使用相關於該根CU的該基於歷史候選列表來對該當前塊進行編碼或解碼。
如果該當前塊是在該SMR之中或是在該平行處理區域之中的時候,在該當前塊被編碼或被解碼之後對於該基於歷史候選列表的更新加以限制。如果該當前塊不是在該SMR之中或不是在該基於歷史平行處理區域之中,在該當前塊被編碼或被解碼之後對於該根基於歷史候選列表加以更新。
在接下來的說明是實施本發明所最佳能思及的方式,在此說明的目的是為了闡釋本發明的一般性原則,不應受所述說明性細節的限制,而本發明的範圍最佳方式是由參照所附的申請專利範圍來決定。
在本發明中揭示了一些技藝以便於簡化子-塊合併模式。
提出方法 – 共享候選列表
為了簡化編解碼器操作的複雜度,提出一種共享候選列表的方法。在此,“候選列表”是指合併模式或 AMVP 模式候選,或其他種類的預測候選列表(例如DMVR或雙向改善(bi-lateral refinement)候選列表、仿射合併模式、子-塊合併模式、仿射幀間/AMVP模式)。“共享候選列表”的基本想法是,可以產生在一個較大邊界(例如一母CU、或QTBT 或 QTBTTT 樹中一子-樹的根、或QT樹的一節點)的候選列表,而所產生的候選列表可以由邊界之內或是子-樹之內的所有葉-CU來共享。
第12A圖-第12C圖示出了共享候選列表的一些例子。第12A圖中,子-樹的根CU(1210)藉由大的虛線方框所顯示。一分割的葉CU(1212)則如小的虛線方框所顯示。在根葉(root leaf)之下,相關聯於根CU的虛線方框(1210)也相對應於葉CU的一共享邊界。第12B圖中,共享邊界(1220)是藉由大的虛線方框所顯示。一小的葉CU(1222)則如小的虛線方框所顯示。第12C圖顯示出了合併共享節點的四個例子。共享合併候選列表被產生以用於點狀虛擬CU(即合併共享節點)。在分割1232中,相對應於8x8塊的合併共享節點被分割為4個4x4的塊。在分割1234中,相對應於8x8塊的合併共享節點被分割為2個4x8的塊。在分割1236中,相對應於4x16塊的合併共享節點被分割為2個4x8的塊。在分割1238中,相對應於4x16塊的合併共享節點被分割為2個4x4的塊與1個8x8的塊。
有兩個主要的實施例是有關於“共享候選列表”:一個是在一子-樹之內來共享所述之候選列表,而另一個是在一“共同共享邊界”之內來共享所述之候選列表。
實施例 – 在一子-樹之內的共享候選列表
“子-樹”一詞定義為QTBT分割樹的一子-樹(例如第1圖所示的QTBT分割樹120)。第13圖顯示“子-樹(1310)”的一個例子,其中子-樹根是QTBT分割樹中的一樹節點(1312)。子-樹最後的分割葉CU則是在此子-樹之內。塊分割1320相對應於第13圖的子-樹1310。在所提出的方法中,候選列表(例如合併模式、AMVP模式候選、或其他類型的預測候選列表)可以基於一共享-塊-邊界來產生,其中共享-塊-邊界的例子是基於如第12A圖所示的子-樹的根CU邊界。
實施例 – 在一“共同共享邊界”之內的共享候選列表
在此實施例中定義了共同共享邊界。一“共同共享邊界”是在畫面內排列的最小-塊(例如4x4)的一矩形區域。在“共同共享邊界”之內的每一CU可以使用一共同共享候選列表,其中共同共享候選列表是基於“共同共享邊界”所產生的。例如,共同共享邊界1210中的子塊可以共享一合併候選列表,其中基於共同共享邊界的相鄰塊可以推導出一或更多的合併候選。換言之,空間相鄰位置與時間相鄰位置都是基於“共同共享邊界”。 共同共享邊界可以是一方形塊或一非方形塊。共同共享邊界的尺寸大小/深度/寬度/高度可以發信於序列-層級/畫面-層級/切片-層級。
在所提出的共享列表方法(例如在一子-樹與共同共享邊界之內的共享候選列表),根CU(或稱母CU)或共享邊界的尺寸大小/深度/形狀/寬度/高度是用來推導出候選列表。在候選列表推導中,對於任何基於位置的推導(根據當前塊/CU/PU位置/尺寸大小/深度/形狀/寬度/高度來推導出參考塊的位置),會使用根CU或共享邊界位置與形狀/尺寸大小/深度/寬度/高度。在一實施例中,對仿射繼承候選推導而言,會先推導出參考塊的位置。當應用共享列表時,會藉由使用根CU或共享邊界位置與形狀/尺寸大小/深度/寬度/高度,來推導出參考塊的位置。在一例子中,會儲存參考塊的位置。當對於根CU或共享邊界的子CU編碼時,會使用所儲存的參考塊位置來找仿射候選的參考塊。
在另一實施例中,在候選列表中每一仿射候選的根CU或共享邊界的控制點MV被推導出。每一仿射候選的根CU或共享邊界的控制點MV,會被此根CU或共享邊界的數個子CU中所共享。在一例子中,所推導出控制點MV可以儲存起來而用於子CU。對於根CU或共享邊界的每一個子CU,根CU或共享邊界的控制點MV會被使用來推導子CU的控制點MV,或被使用來推導子CU的子-塊MV。在一例子中,子CU的子-塊MV是從子CU的控制點MV推導得出的,而子CU的控制點MV是從根CU或共享邊界的控制點MV推導得出的。在一例子中,子CU的子-塊MV是從根CU或共享邊界的控制點MV推導得出的。在一例子中,根CU或共享邊界的子-塊MV是在根CU或共享邊界推導得出的。所推導出的子-塊MV可以直接被使用。對於在根CU或共享邊界之外的相鄰CU的這種CU,從根CU或共享邊界的控制點MV所推導出的控制點MV,則被使用來推導出仿射繼承候選。在另一例子中,根CU或共享邊界的控制點MV被使用來推導出仿射繼承候選。在另一例子中,所儲存一CU的子-塊MV被使用來推導出仿射繼承候選。在另一例子中,所儲存的在根CU或共享邊界的子-塊MV被使用來推導出仿射繼承候選。在一實施例中,對於在上方CTU行(row)的 一相鄰參考CU而言,會被用來推導仿射繼承候選的,是用所儲存相鄰參考CU的子-塊MV(例如左下方與右下方的子-塊MV、或左下方與下方中間的子-塊MV、或下方中間與右下方的子-塊MV),而不是用包含此相鄰參考CU的根CU或共享邊界的控制點MV,而也不是用此相鄰參考CU的控制點MV。
在另一實施例中,在編碼子CU時,根CU或共享邊界的位置與形狀/寬度/高度/尺寸大小可以被儲存起來或推導出以用於仿射候選參考塊推導。可以使用等式(3)的四-參數仿射模型與等式(4)的六-參數仿射模型,來推導子CU的仿射候選或控制點MV。例如在第12A圖,在根CU之內的CU可以參考塊A0 、A1 、B0 、B1 、B2 以及並位塊TBR 與TCTR 來推導仿射候選。在另一實施例中,對於仿射繼承候選的推導而言,會使用當前子CU的位置與形狀/尺寸大小/深度/寬度/高度。如果參考塊是在根CU或共享邊界之內,則不會用它來推導仿射候選。
Figure 02_image009
(等式3)
Figure 02_image011
(等式4)
對於仿射角落推導候選而言,根據本發明的一實施例對於子CU不會使用角落推導候選。在另一實施例中,會使用當前子CU的位置與形狀/尺寸大小/深度/寬度/高度。如果參考塊/MV是在根CU或共享邊界之內,則不會用它來推導仿射候選。在另一實施例中,會使用根CU或共享邊界的形狀/尺寸大小/深度/寬度/高度。角落參考塊/MV的推導是基於根CU或共享邊界的形狀/尺寸大小/深度/寬度/高度。所推導出的MV可以直接使用為控制點MV。在另一實施例中,角落參考塊/MV的推導是基於根CU或共享邊界的形狀/尺寸大小/深度/寬度/高度。藉由使用仿射模型(例如四-參數仿射模型或六-參數仿射模型),參考MV與其位置可以被用來推導子CU的仿射候選。例如,所推導出的角落控制點MV可被視為根CU或共享邊界的CU的控制點MV。子CU的仿射候選可以藉由等式(3)或等式(4)推導出。
可以將根CU或根共享邊界的結構仿射候選的控制點MV儲存起來。對於根CU或共享邊界中的子CU而言,所儲存起來的參考塊位置可以用來找到仿射候選推導的參考塊。在另一實施例中,在候選列表的每一個仿射候選的根CU或共享邊界的控制點MV可以被推導出來。每一個仿射候選的根CU或共享邊界的控制點MV可以被此根CU或共享邊界的子CU們所共享。在一例子中,可以將所推導出的控制點MV儲存起來以用於子CU中。對於根CU或共享邊界中的每一個子CU而言,根CU或共享邊界的控制點MV被用來推導子CU的控制點MV,或是被用來推導子CU的子-塊MV。在一例子中,子CU的子-塊MV是從子CU的控制點MV推導出來的,而所述控制點MV是從根CU或共享邊界的控制點MV推導出來的。在一例子中,子CU的子-塊MV是從根CU或共享邊界的控制點MV推導出來的。在一例子中,在根CU或共享邊界中的子-塊MV可以在根CU或共享邊界推導出來的。所推導出來的子-塊MV可以被直接使用。對於根CU或共享邊界之外的相鄰CU中的CU而言,從根CU或共享邊界的控制點MV所推導出的控制點MV被用來推導仿射繼承候選。在另一例子中,根CU或共享邊界的控制點MV被用來推導仿射繼承候選。在另一例子中,一CU所儲存的子-塊MV被用來推導仿射繼承候選。在另一例子中,根CU或共享邊界的所儲存的子-塊MV被用來推導仿射繼承候選。在一實施例中,對於在上方CTU行(row)的一相鄰參考CU而言,會被用來推導仿射繼承候選的,是用所儲存相鄰參考CU的子-塊MV(例如左下方與右下方的子-塊MV、或左下方與下方中間的子-塊MV、或下方中間與右下方的子-塊MV),而不是用包含此相鄰參考CU的根CU或共享邊界的控制點,而也不是用此相鄰參考CU的控制點MV。
在另一實施例中,從根CU與共享邊界所推導出的控制點MV可以未經仿射模型轉換而直接被使用。
在一實施例中,對於時間並位MV推導而言,根CU或共享邊界的並位MV是被所有子CU所共享/使用。在另一實施例中,對於時間並位MV推導而言,是使用每一CU/塊的並位MV,而不是使用共享時間並位MV。
在另一實施例中,對於所提出的共享列表方法(即在一子-樹與共同共享邊界之內的共享候選列表)而言,當推導參考塊位置時會使用當前塊的位置/尺寸大小/深度/寬度/高度。然而,如果參考塊是在根CU或共享邊界之內,則將參考塊位置推至或移至根CU或共享邊界之外。例如在第3.2圖中,塊B1是當前塊右上方樣本的上方塊。如果塊B1是在根CU或共享邊界之內,則將塊B1位置向上移至根CU或共享邊界之外的第一個最近塊。在另一實施例中,當推導參考塊位置時會使用當前塊的位置/尺寸大小/深度/寬度/高度。然而,如果參考塊是在根CU或共享邊界之內,則不使用此參考塊/MV(或視為不可用)。在一實施例中,當推導參考塊位置時會使用當前塊的位置/尺寸大小/深度/寬度/高度。然而,如果參考塊是在根CU或共享邊界之內,或是包含參考塊的CU/PU是在根CU或共享邊界之內,或是包含參考塊的CU/PU的一部分是在根CU或共享邊界之內,則不使用此參考塊/MV(或視為不可用)。
在所提出的方法中,根CU或共享邊界的尺寸大小/深度/形狀/面積/寬度/高度可以事先定義或被發信於序列/畫面/切片/方塊(tile)/CTU-行(CTU-row)的層級(level)或一事先定義區域(即CTU或CTU-行)。根CU或共享邊界的共享可以是方形或非方形。根CU或共享邊界的尺寸大小/深度/形狀/面積/寬度/高度可以事先定義而且取決於輸入畫面的尺寸大小/深度/寬度/高度。
在一實施例中,如果當前CU大於或等於此定義的面積/尺寸大小/形狀/面積/寬度/高度,而且子分割之一、或所有子分割、或部份的子分割小於所述的面積/尺寸大小/形狀/面積/寬度/高度,則將當前CU指定為一根CU。在另一實施例中,如果當前CU小於或等於此定義的面積/尺寸大小/形狀/面積/寬度/高度,而且母大於此定義的面積/尺寸大小/形狀/面積/寬度/高度,則將當前CU指定為一根CU。相似地,如果當前CU的深度小於或等於此定義的深度,而且子分割之一、或所有子分割、或部份的子分割的深度大於此定義的深度,則將當前CU指定為一根CU。例如,如果此定義的面積是1024而且一CU的尺寸大小是64x32(寬度=64與高度=32),而且使用的是垂直TT分割(例如一64x32CU被分割成一16x32子-CU、一32x32子-CU、與一16x32子-CU),則將此64x32塊指定為一根CU。在此64x32中的子-CU則使用所述共享列表。在另一實施例中,此64x32不可以是一根CU,而此16x32子-CU、此32x32子-CU、與此16x32子-CU可以是一根CU。在另一實施例中,對於一定義了的根CU或共享邊界的面積/尺寸大小/深度/形狀/面積/寬度/高度而言,在TT分割中此根CU或共享邊界的面積/尺寸大小/深度/形狀/面積/寬度/高度在不同TT分割可以是不同的。例如,對於第一與第三分割而言,可以將根CU或共享邊界的面積/尺寸大小/深度/形狀/面積/寬度/高度的閥值除以2。對於第二分割而言, 根CU或共享邊界的面積/尺寸大小/深度/形狀/面積/寬度/高度的閥值可以保持相同。
在一實施例中,根CU或共享邊界被定義以用於QT分割或QT分割CU。如果葉QT CU等於或大於此定義的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度,則將此根CU或共享邊界定義為葉QT CU的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度。在此QT葉CU之中的所有子-CU(例如藉由BT或TT所分割)使用此QT葉CU當成根CU或共享邊界。如果一QT非-葉CU等於此定義的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度,則使用此QT CU當成為根CU或共享邊界。在此QT CU之中藉由QT、BT、或TT所分割的所有子-CU,都使用此QT CU當作一根CU或共享邊界。在一例子中,會使用此根CU或共享邊界的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。在另一例子中,會使用當前CU的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。如果參考塊位置是在根CU或共享邊界之內,則將參考塊位置移至根CU或共享邊界之外。在另一例子中,會使用當前CU的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。如果參考塊位置是在根CU或共享邊界之內,則不使用此參考塊。
在上面所述的深度,深度可以等於(((A*QT-深度)>>C) + ((B* MT-深度)>>D) + E)>>F + G或 (((A*QT-深度)>>C) + ((B* BT-深度)>>D) + E)>>F + G,其中A、B、C、D、E、F、G是整數。MT-深度是指TT-深度或BT-深度。例如,深度可以等於2*QT-深度 + MT-深度 或 2*QT-深度 + BT-深度 或 QT-深度 + MT-深度 或 QT-深度 + BT-深度。
除了共享列表方法,基於共享列表方法吾人也提出了“共享合併索引”與“合併模式的共享參考索引”。在此吾人先定義 “用於共享的子CU”一詞。“用於共享的子CU”是指為了候選列表共享,在一子-樹或“共同共享邊界”中的任何CU。例如,如果候選列表共享是基於子-樹的方法,“用於共享的子CU”則是在子-樹之中的所有CU。例如,如果候選列表共享是基於“共同共享邊界”的方法,“用於共享的子CU”則是在“共同共享邊界” 之中的所有CU。
以下介紹基於共享列表方法的“共享合併索引”與“合併模式的共享參考索引”。
對於“共享合併索引”方法,不僅所有用於共享的子CU的合併候選列表是相同的,而且所有用於共享的子CU的最後選擇合併索引(final selected Merge index)也是相同的。
對於“合併模式的共享參考索引”方法,不僅所有用於共享的子CU的合併候選列表是相同的,而且所有用於共享的子CU的合併索引,其代表具有該參考索引的一選擇候選(a selected candidate having the reference index),也是相同的。
共享合併列表MV以用於合併/幀間/仿射-合併/仿射-幀間/ATMVP/ 子-塊候選列表的建構
即使共享列表未被致能(not enabled),在根CU或共享邊界所產生的候選列表可以作為子CU合併/幀間/仿射-合併/仿射-幀間/ATMVP/ 子-塊候選列表的建構。根CU或共享邊界的候選可以被加入於子CU的候選列表中。根CU或共享邊界的形狀/尺寸大小/深度/寬度/高度可以被事先定義、被發信(例如於序列/畫面/切片/方塊(tile)/CTU-行(CTU-row)/CTU-層級(CTU-level))、或被推導出。例如,根CU可以是母N-層級CU而N可以是一整數。
在一實施例中,可以定義出二個閥值,一個比較大而一個比較小。一個較大的根CU或較大的共享邊界可以藉由此較大的閥值來加以定義/決定。在此較大的根CU或較大的共享邊界則產生出一候選列表。對於在此較大的根CU或較大的共享邊界中的所有子CU而言,此較大的根CU或較大的共享邊界的候選則可被加入於子CU的候選列表中。一個較小的根CU或較小的共享邊界可以藉由此較小的閥值來加以定義/決定。在此較小的根CU或較小的共享邊界則產生出一候選列表。當此較小的根CU或較小的共享邊界的候選列表產生出時,則可以加入此較大的根CU或較大的共享邊界的候選。對於在此較小的根CU或較小的共享邊界中的子CU而言,則使用產生於此較小的根CU或較小的共享邊界的候選列表。
在共享候選列表中的子-CU合併候選處理
揭示了一些方法以達成用於子-CU候選(例如ATMVP或STMVP或合併模式中的仿射合併,與仿射AMVP候選)的共享列表。對於子-CU候選而言,也揭示了數種共享候選列表的實施例。
一種方法是關掉共享候選列表中的子-CU候選。另一方法是在根CU建立子-CU候選(或建立在共享-塊-邊界)。對於每一“用於共享的子CU”,它會直接從子-CU候選中來取得(相對應區域的)子-CU運動信息。以相對應於16x8與ATMVP的一共享邊界為例。如傳統ATMVP方法,ATMVP可以產生在相對應於16x8的共享邊界。當分享此候選列表給共同邊界(例如16x8)之內的二個子CU時,要使得為了產生給一16x8塊的ATMVP候選適合於一8x8塊,它可以直接取得16x8與ATMVP中左方8x8的運動信息,來形成新的8x8ATMVP以用於左方8x8子-CU。它可以直接取得16x8與ATMVP中右方8x8的運動信息,來形成新的8x8ATMVP以用於右方8x8子-CU。
在另一實施例中,ATMVP的初始MV(其用於推導ATMVP並位MV參考塊)是藉由使用根CU或共享邊界的尺寸大小/深度/形狀/面積/寬度/高度來推導的。根CU或共享邊界的ATMVP的初始MV可以為子CU所共享。共享的初始MV可被用來推導子CU的並位MV參考塊,而然後推導子CU的塊MV或子-塊MV。
所提出“共享候選列表” 、“共享合併索引”與其他共享-特性的方法也可以應用於其他種類的合併列表建構的方法,例如“基於歷史的合併模式建構”與“非-相鄰合併候選”。換言之,共享-特性的方法通常可以適用於所有合併模式演算法與AMVP模式演算法。
此外,吾人進一步提出發信一旗標來對於所提的共享方法進行開啟或關閉的切換。在一實施例中,可以發信一旗標來指示是否致能(enable)“共享候選列表”。用來發信的單元的最小尺寸也可以分別地編碼於序列層級、畫面層級、切片層級、或PU層級。
在一實施例中,當推導用於ATMVP的初始向量時,如果參考相鄰MV是在根CU或共享邊界之內時,則不使用這樣的MV。
小CU的縮減型候選列表
所提出的方法會依據CU尺寸大小來移除某些候選。如果一CU尺寸小於一預訂閥值(例如面積=16),就會從候選列表的建構中移除某些候選。有些實施例則藉由移除某些候選來加以說明於第7圖中。 a)   移除 A1、B1、TCTR b)  移除 A0、B0 c)   移除 ATMVP d)  移除 TCTR、TBR 或取消TCTR、TBR的 MV 縮放
所提出方法不限於已列出的實施例,根據本發明其他的候選組合也可以被移除。
在小CU下的簡化型修剪(Simplified Pruning)
傳統上,合併/AMVP模式的修剪有二種類型,第一類型是全面修剪,第二類型是配對(pair-wise)修剪。
在本實施例中對於小CU是使用配對修剪(例如CU尺寸小於一閥值),而對於其他CU則使用全面修剪。對於配對修剪而言,每一候選被用來與其之前的候選來比較,而不是和所有候選來比較。
在另一實施例中,在候選列表中的某些候選使用配對修剪,而在候選列表中的某些其他候選則使用全面修剪。此方法可以有一CU尺寸約束。例如,如果CU尺寸小於或大於一閥值,則此模式會被致能(enabled)。否則,對所有候選都使用全面修剪或配對修剪。在另一實施例中,此方法可以適用於所有CU尺寸。
在另一實施例中,在候選列表中的某些候選使用配對修剪,在候選列表中的某些候選使用全面修剪,而在候選列表中的某些其他候選則使用部份修剪。對於部份修剪而言,一標的候選不是和所有候選來比較,該標的候選僅和之前的候選來比較。此方法可以有一CU尺寸約束。例如,如果CU尺寸小於(或大於)一閥值,則此模式會被致能(enabled)。否則,對所有候選都使用全面修剪或配對修剪。在另一實施例中,此方法可以適用於所有CU尺寸。
在一實施例中,修剪是取決於參考CU/PU是否屬於一相同的CU/PU。如果兩個參考塊屬於相同的CU/PU,則後面的那個會定義為冗餘。在一實施例中,一預定的位置會使用作為修剪程序。例如,CU/PU的左上方樣本位置是用來修剪。對於二個參考塊而言,如果左上方樣本位置是相同的,則它們是在相同的CU/PU,後面的那個候選則為冗餘。
在小CU下關掉子-CU的合併模式
在此一實施例中,其在小CU(即CU小於一閥值)下關掉子-CU的合併模式(例如ATMVP 或 STMVP 或仿射合併)。
在子-塊合併列表中,可以插入超過一個ATMVP候選。例如,可以插入二個ATMVP候選。在一實施例中,二個ATMVP候選是插入在子-塊合併列表之前。在另一實施例中,一個ATMVP候選是插入在子-塊合併列表之前,而另一個是插入在一或多種其他子-塊候選(例如仿射候選)類型之後。在一例子中,ATMVP是插入在子-塊合併列表的第三、第四、或第五個位置。在另一實施例中,一個ATMVP候選是插入在子-塊合併列表中的某些仿射候選之後,例如在某些仿射繼承候選之後或仿射結構候選之前。在另一實施例中,二個ATMVP候選都插入在一或多種其他子-塊候選(例如仿射候選)類型之後。
用於QTMTT結構的MER
在一實施例中,在HEVC中的合併估計區域(Merge estimation region,MER)概念可以延伸至QTBT或QTBTT結構。所述MER可以是非方形。取決於結構分割,MER可以是不同的形狀或尺寸大小。其尺寸大小/面積/寬度/高度可以被事先定義或被發信於序列/畫面/切片-層級。對於MER的寬度/高度,可以發信寬度/高度的對數log2的值。對於MER的面積/尺寸大小,可以發信尺寸大小/面積的對數log2的值。當對於一區域定義出一MER時,在此一MER的CU/PU無法被使用作為合併模式候選推導的參考CU/PU。例如,在此一MER的CU/PU的MV或仿射參數,無法被相同MER中用為合併候選或仿射合併候選推導的CU/PU所參考。對於相同MER中的CU/PU而言,這些MV與/或仿射參數則被當成不可用(unavailable)。對於子-塊模式(例如ATMVP模式)推導而言,可以使用當前CU的尺寸大小/深度/形狀/面積/寬度/高度。如果參考CU是在相同的MER,則不能使用參考CU的MV信息。
由於MER中塊的編解碼處理不會互相干擾,因此MER概念所預期的應用之一是平行處理。在本揭示中,比起MER,“平行處理區域” (parallel processing region)一詞是使用更普遍的詞。
當MER的面積/尺寸大小/深度/形狀/面積/寬度/高度被定義了(例如被事先定義或被發信),如果當前CU大於或等於此定義的面積/尺寸大小/形狀/面積/寬度/高度,而且子分割之一、所有子分割、或部份的子分割小於所述的面積/尺寸大小/形狀/面積/寬度/高度,則將當前CU指定為一MER。在另一實施例中,如果當前CU的深度小於或等於此定義的深度,而且子分割之一、或所有子分割、或部份的子分割的深度大於此定義的深度,則將當前CU指定為一MER。在另一實施例中,如果當前CU小於或等於此定義的面積/尺寸大小/形狀/面積/寬度/高度,而且母CU大於此定義的面積/尺寸大小/形狀/面積/寬度/高度,則將當前CU指定為一MER。在另一實施例中,如果當前CU的深度大於或等於此定義的深度,而且母CU小於此定義的深度,則將當前CU指定為一MER。例如,如果此定義的面積是1024而且一CU的尺寸大小是64x32(即寬度=64與高度=32),而且使用的是垂直TT分割(即64x32CU被分割成一16x32子-CU、一32x32子-CU、與一16x32子-CU),則根據本發明的一實施例此64x32即為MER。在此64x32MER中的子-CU則使用所述共享列表。在另一實施例中,此64x32區域並非一MER,而是將此16x32子-CU、此32x32子-CU、與此16x32子-CU指定為MER。在另一實施例中,對於一定義了的MER面積/尺寸大小/深度/形狀/面積/寬度/高度而言,在TT分割中此MER面積/尺寸大小/深度/形狀/面積/寬度/高度在不同TT分割可以是不同的。例如,對於第一與第三分割而言,可以將MER面積/尺寸大小/深度/形狀/面積/寬度/高度的閥值除以2,或是可以將深度增加1。對於第二分割而言, MER面積/尺寸大小/深度/形狀/面積/寬度/高度的閥值可以保持相同。
在一實施例中,MER被定義以用於QT分割或QT分割CU。如果QTCU等於或大於此定義的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度,則將此MER定義為葉QT CU面積/尺寸大小/QT-深度/形狀/面積/寬度/高度。在此QT葉CU之中的所有子-CU(例如藉由BT或TT所分割)使用此QT葉CU當成MER。此MER包括在此葉QT CU之中的所有子-CU。如果一QT非-葉CU等於此定義的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度,則使用此QT CU當成為一MER。在此QT CU之中的所有子-CU(例如藉由QT、BT、或TT所分割)都包括於此MER之中。在一實施例中,會使用此MER的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。在另一實施例中,會使用當前CU的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。如果參考塊位置是在MER之內,則將參考塊位置移至MER之外。在另一例子中,會使用當前CU的面積/尺寸大小/QT-深度/形狀/面積/寬度/高度來推導參考塊位置。如果參考塊位置是在MER之內,則不使用此參考塊作為合併候選或仿射合併候選推導。
在上面所述的深度,深度可以等於(((A*QT-深度)>>C) + ((B* MT-深度)>>D) + E)>>F + G或 (((A*QT-深度)>>C) + ((B* BT-深度)>>D) + E)>>F + G,其中A、B、C、D、E、F、G是整數。例如,深度可以等於2*QT-深度 + MT-深度 或 2*QT-深度 + BT-深度 或 QT-深度 + MT-深度 或 QT-深度 + BT-深度。
在另一實施例中,MER區域無法跨越畫面邊界。換言之,MER區域必須完全在畫面之內,MER區域中沒有像素是存在於畫面邊界之外。
除了合併或仿射合併之外,也可以應用MER概念於AMVP模式。也可以應用基於QTMTT的MER於所有候選-推導工具,例如AMVP、合併、仿射合併等。
MER與共享列表兩者都存在用於QTMTT結構
在此方法中,MER與共享列表兩者都可以被致能於QTMTT結構中。在一實施例中,對於一般合併與ATMVP模式,其使用一共享列表。但是對於仿射合併模式而言,其使用基於QTMTT的MER。在另一實施例中,對於有些預測模式,其使用一共享列表;但是對於其他合併模式或AMVP模式而言,其使用的是MER。
MER的變形與/或共享列表模式
吾人提議以基於歷史MVP模式結構來應用合併估計區域(MER)與/或共享列表模式。基於歷史合併模式會將一些先前CU的運動向量儲存於一歷史陣列(history array)中。在這種狀況下,基於歷史MER的概念被延伸至基於歷史平行處理區域。對於合併候選而言,除了原始的合併模式候選之外,當前CU可以使用歷史陣列中的一或多個候選來豐富合併模式的候選。
基於歷史MVP模式的建構是一種基於歷史合併模式的一般性方法,而被應用於合併、AMVP、或其他幀間預測模式。如果其被應用於合併模式,其演算法與基於歷史合併模式是相同的。仿射候選(例如控制點)也可以被納入於歷史列表之中,而歷史列表的每一欄位可以儲存一傳統MV或一仿射控制點MV組(包括相對應於仿射控制點的k-控制點、塊開始偏移量、塊寬度/高度)。以下則提供關於歷史列表中仿射候選的一些實施例。在一實施例中,只有最後-編碼的仿射CU的仿射控制點會被插入於歷史列表中。在另一實施例中,最後-編碼的仿射CU的仿射控制點、塊開始偏移量(塊_x,塊_y)、塊寬度、塊高度會被插入於歷史列表中。在又另一實施例中,仿射控制點的四個角落會被插入於歷史緩衝器中。在又另一實施例中,少於四個角落(例如二個控制點或三個控制點)會被插入於歷史列表中,其中或者會發信一模式來指示是使用二或三個角落,或者所有控制點皆儲存於三個-角落的版本。
在共享列表模式中,吾人於事先定義的節點或區域來產生候選列表(例如一母CU、於QTBT或QTBTTT樹的一子-樹的根、QT樹的一節點、或包含當前CU的其他事先定義的長方形區域),而且所產生的候選列表可以被邊界之內或子-樹之內的所有葉-CU們所共享。在MER中,會事先定義一區域,而此MER中的CU們無法被使用作為合併模式候選推導的參考CU。因此,為了保存共享列表模式與MER的概念並且還同時要應用基於歷史合併/MVP模式,因而提出幾種更新約束與複雜度降低的方法。此外,以下方法中的MER是一般化(generalized)的MER或合併模式MER。合併模式MER是傳統的MER,其僅用在合併模式中。在有著相同的概念下,一般化的MER可以應用於AMVP、合併、或其他幀間模式。上述之相同概念是指如果相鄰CU與當前CU是在同一MER區域時,則不使用相鄰CU MV作為候選。此外,在本揭示之後部分所描述的歷史方法也指:(1)依據本發明的一般化歷史方法,或(2)原始的傳統基於歷史合併模式。
變形1 –基於歷史合併模式的約束更新
在一實施例中,當共享列表模式或MER被致能時,只有在編碼與/或解碼MER區域或共享區域中的最後一個葉-CU之後才可以將基於歷史候選進行更新。在對於MER區域或共享區域中的一葉-CU進行編碼與/或解碼之時,更新是不能進行的,這是因為更新會破壞MER或共享列表的平行處理好處。
有幾個方式可以更新基於歷史候選列表。在一實施例中,可以用下列的MV來更新基於歷史候選:最先-編碼的N個CU、最後-編碼的N個CU、或一MER區域或共享區域中的任何N個CU。N可以取決於共享邊界CU的CU形狀、CU寬度、或CU高度。N也可以選擇性地是在序列/畫面/切片層級中被發信的事先定義的數值。例如,可以用一64x64MER區域或共享區域中最後或最先N個經過編碼的CU(例如最後或最先3個經過編碼的CU)的MV來更新歷史列表。
在另一實施例中使用了二個歷史列表緩衝器。一個是用來代表一MER區域或共享區域的一第一歷史列表,而且會用它於MER區域或共享區域的每一個葉-CU。另一個是用來代表一第二歷史列表,其中在處理MER區域或共享區域的每一個葉-CU之後會對第二歷史列表加以更新。在一實施例中,第二歷史列表可以用於幀間/AMVP模式候選的產生。在編碼與/或解碼一MER區域或共享區域中的最後一個葉-CU之後,可以用第二歷史列表來對第一歷史列表加以更新。
變形2 – 再利用合併列表以作為歷史列表
基於歷史合併模式會於一歷史陣列中儲存一些先前CU的MV。除了原始的合併模式候選之外,對於當前CU其可以使用歷史陣列中的一或多個候選來豐富合併模式的候選。
在一實施例中,提議將預先-建構的或之前建構的合併候選列表直接使用為歷史列表,也稱為再利用歷史列表。例如,當停在某一母節點之時,可以將合併列表預先-建構並儲存於此列表中。對於接下來的子節點,在歷史列表中預先-建構的合併候選可以被使用作為原始的基於歷史合併列表。在另一例子,在一二叉樹分割中,用於左分割的之前建構的合併列表可以被使用作為用於右分割的歷史列表。
在另一實施例中,所提出的方法也可以使用基於歷史的機制而應用於AMVP列表。
在又另一實施例中,所提出的再利用歷史列表方法也可以與原始歷史列表一起使用。換言之,再利用歷史列表中經過或未經修剪的的任何N欄位,可以被用來取代原始歷史列表中在任何位置的現存的欄位。
在又另一實施例中,用於基於歷史合併模式的MER區域或共享區域中的更新約束,可以應用於所提出的再利用歷史列表。
變形3 –在共享列表模式或MER為致能的情形下關掉基於歷史合併模式
在此一實施例中,在共享列表模式或MER為致能(enabled)的情形下其關掉基於歷史合併模式。如果共享列表模式或MER為致能的狀態,基於歷史合併模式將會被推論是失能的(disabled)。
此外,也進一步提出發信一旗標來對於MER或共享列表模式加以開啟或關閉。在一實施例中,可以發信一旗標(例如:平行化_區域,"parallelized_region")來指示MER或共享列表模式是否被致能(例如數值 1:致能,數值 0:失能)。用來發信旗標(spatial_based_pruning_en)的單元的最小尺寸也可以分別地編碼於序列層級、畫面層級、切片層級、或方塊(tile)層級。
變形4 –對於MER內不同CU有不同歷史候選的更新數目
如之前所述,當編解碼葉CU在MER區域之內時,所要使用的歷史列表不可以改變。在此一方法中,雖然當編解碼葉CU在一MER區域之內時歷史緩衝器不可被更新,然而對於不同CU而言,要插入葉CU合併列表的來自歷史列表的候選數目是可以不同的。例如,如果一MER區域有4個葉CU,而歷史列表有5個候選。當編解碼第一CU時,其可應用歷史列表中的4個候選而將其插入第一CU的合併列表中。當編解碼第二CU時,其可應用歷史列表中的3個候選而將其插入第二CU的合併列表中,依此類推。換言之,取決於MER區域之內的CU編解碼順序,而來決定插入當前CU的合併列表中歷史欄位的數目。有一些子-實施例。在一子-實施例中,對於MER區域中較早編碼的CU,其插入較多歷史欄位於合併列表中;而對於較晚編碼的CU,其插入較少歷史欄位於合併列表中。在另一實施例中,對於MER區域中較早編碼的CU,其插入較少歷史欄位於合併列表中;而對於較晚編碼的CU,其插入較多歷史欄位於合併列表中。
變形5 –使歷史緩衝器修剪失能
在此一實施例中,當當前MER區域或共享區域完成編解碼,而如果在一MER區域或共享區域之內的最後-編碼的N個MV需要被更新於一歷史緩衝器以用於下一個CU的時候,可以使得最後-編碼的N個MV的歷史列表MV修剪失能,以便可以致能平行處理。
變形6 –具有平均配對的歷史
在歷史FIFO中的MV可以被用來與另一個候選加以平均,而上述的候選是已經在列表中或將於候選產生過程中被檢查、或是另一MV。例如,時間並位MV可以被用來與基於歷史候選加以平均。如果參考索引是相同的,會使用基於歷史候選MV與另一MV(例如時間MV)的加權平均來產生一新的候選。在一實施例中,如果參考索引是不同的,則應用縮放。此另一的MV會被縮放至基於歷史候選的參考畫面。在另一實施例中,基於歷史候選會被縮放至此另一的MV候選。在另一實施例中,二者MV都會被縮放至一預先定義的、推導出的、或被發信的參考索引/畫面。在另一實施例中,會使用直接的加權平均。基於歷史候選或其他候選的參考索引/畫面會被使用。在另一實施例中,其僅挑選基於歷史的或僅挑選其他的候選。在另一實施例中,如果參考索引是不同的,則不加入候選。
變形7 –方形MER與共享列表,與CU分割約束
於此提議總是使用一方形區域以用於MER與/或共享列表根CU或共享邊界。
於此提議當應用方形MER或方形共享列表根CU或共享邊界之時,也應用CU分割約束。在一例子中,當對CU進行分割時,子-CU應該要涵蓋一或多個完整的MER或共享列表區域。在另一例子中,子-CU應該在一MER區域或共享列表區域之內。
在另一實施例中,CU邊界不能跨越MER邊界或共享列表區域邊界。CU可以涵蓋一或多個完整的MER或共享列表區域。
在另一實施例中,如果CU不是完整地涵蓋/包含/包括那些MER區域或共享列表區域,則此CU不能涵蓋/包含/包括位在二個不同MER區域或共享列表區域的像素。
變形8 –MER,使用根歷史列表與根區域之內持續更新
當MER被致能時,根CU則被定義出。當一CU是一根CU時,歷史運動候選列表會被儲存起來,與/或會被用來產生候選列表(例如一般合併模式、子-塊合併模式、仿射合併模式、與/或三角合併模式;或是一般幀間/AMVP模式與/或仿射幀間/AMVP模式)。對於根CU之內的一當前CU而言,根歷史列表會被使用。在一實施例中,一第二歷史列表會被使用。初始的第二歷史列表會拷貝自第一/原始的歷史列表。當一當前CU是在根CU之內,運動信息則會更新於第二歷史列表中。第二歷史列表的數據無法被使用來產生候選列表。在對根CU中所有CU進行編解碼後,第一/原始的歷史會被第二歷史列表所取代,或第一/原始的歷史會拷貝自第二歷史列表。在另一實施例中,當一CU是一根CU,原始歷史列表的數據會儲存在一緩衝器中。當一當前CU是在根CU之內,會使用所儲存的歷史列表數據來產生候選列表。當此當前CU是在根CU之內,原始的歷史列表會持續更新數據。然而,無法使用更新的數據來產生候選列表;只能使用所儲存的數據。在對根CU中所有CU進行編解碼後,原始的歷史則可以再被使用。對於在根CU之內的空間相鄰CU而言,信息(包括運動信息、仿射控制點MV/參數、與/或例如預測模式和種類的邊信息)是無法被存取或是被視為不可用的。
在一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,當前葉CU則不定義為位於根CU之內。在另一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,則當前葉CU也還是定義位於根CU之內。
變形9 –MER,使用根歷史列表與僅更新根區域內的最後CU數據
當MER被致能時,根CU則被定義出。當一CU是一根CU時,基於歷史運動候選列表會被儲存起來,與/或會被用來產生候選列表(例如一般合併模式、子-塊合併模式、仿射合併模式、與/或三角合併模式;或是一般幀間/AMVP模式與/或仿射幀間/AMVP模式)。對於根CU之內的一當前CU而言,根歷史列表會被使用。除了根CU的最後CU之外,在根CU之內的歷史列表是不會被更新的。在編解碼根CU的最後CU之後,最後CU的數據則可以被更新於歷史列表中。被更新的歷史列表可以被根CU之外的CU所參考。對於在根CU之內的空間相鄰CU而言,信息(包括運動信息與/或例如預測模式和種類的邊信息)是無法被存取或是被視為不可用的。
在一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,當前葉CU則不定義為位於根CU之內。在另一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,則當前葉CU也還是定義位於根CU之內。
變形10 –MER,使用根歷史列表與根區域之內不更新
當MER被致能時,根CU則被定義出。當一CU是一根CU時,基於歷史運動候選列表會被儲存起來,與/或會被用來產生候選列表(例如一般合併模式、子-塊合併模式、仿射合併模式、與/或三角合併模式;或是一般幀間/AMVP模式與/或仿射幀間/AMVP模式),使得根CU之內的一或多個CU可以在如下的程序中使用基於歷史運動候選列表。對於根CU之內的一當前CU而言,事先產生的(或稱產生於先前相對應於根CU的程序)歷史列表(或稱基於歷史運動候選列表)會被使用。在一實施例中,當編解碼CU是在根CU之內,歷史更新會失能(disabled,或稱基於歷史候選列表的更新會被限制)。只有在當編解碼CU不在根CU之內或CU尺寸大小大於MER閥值之時,才會進行歷史更新。對於在根CU之內的空間相鄰CU而言,信息(包括運動信息、仿射控制點MV/參數、與/或例如預測模式和種類的邊信息)是無法被存取或是被視為不可用的。
在一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,當前葉CU則不定義為位於根CU之內。在另一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,則當前葉CU也還是定義位於根CU之內。
變形11 –MER,不使用MER之歷史候選與於MER中不更新
當MER被致能時,根CU則被定義出。當一CU是一根CU時,基於歷史運動候選列表無法被用來產生候選列表(例如一般合併模式、子-塊合併模式、仿射合併模式、與/或三角合併模式;或是一般幀間/AMVP模式與/或仿射幀間/AMVP模式)。在一實施例中,當編解碼CU是在根CU之內,歷史更新會失能(disabled)。只有在當編解碼CU不在根CU之內或CU尺寸大小大於MER閥值之時,才會進行歷史更新。對於在根CU之內的空間相鄰CU而言,信息(包括運動信息、仿射控制點MV/參數、與/或例如預測模式和種類的邊信息)是無法被存取或是被視為不可用的。
在一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,當前葉CU則不定義為位於根CU之內。在另一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,則當前葉CU也還是定義位於根CU之內。
變形12 –MER,不使用MER之歷史候選與於MER中持續更新
當MER被致能時,根CU則被定義出。當一CU是一根CU時,基於歷史運動候選列表無法被用來產生候選列表(例如一般合併模式、子-塊合併模式、仿射合併模式、與/或三角合併模式;或是一般幀間/AMVP模式與/或仿射幀間/AMVP模式)。在一實施例中,當編解碼CU在根CU之內的時候,歷史列表仍持續更新。然而,當編解碼CU在根CU之內的時候,無法使用更新的數據。可以使用更新的數據來產生根CU之外CU的候選列表。對於在根CU之內的空間相鄰CU而言,信息(包括運動信息、仿射控制點MV/參數、與/或例如預測模式和種類的邊信息)是無法被存取或是被視為不可用的。
在一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,當前葉CU則不定義為位於根CU之內。在另一實施例中,如果當前葉CU的尺寸大小與位置和根CU是相同的,則當前葉CU也還是定義位於根CU之內。
在一實施例中,如果相鄰參考PU/CU/塊和當前PU/CU/塊是處於相同的MER之內,則無法使用相鄰參考運動信息與邊信息。例如,當推導ATMVP模式的初始向量(initial vector)時,會使用相鄰塊的MV。當推導仿射繼承候選時,會使用相鄰CU/PU/塊的控制點MV或子-塊MV。當推導仿射結構候選時,會使用相鄰CU/PU/塊的MV或子-塊MV。如果相鄰參考PU/CU/塊和當前PU/CU/塊是處於相同的MER之內,則這些信息都無法使用。
變形13 – 歷史-索引-依據仿射表
在此方法中,一歷史-索引-依據表被建立而表中每一欄位儲存一組仿射參數。使用解碼後的仿射-編碼CU的仿射參數來寫入歷史-索引-依據表,並且使用這些仿射參數來推導歷史-索引-依據的仿射候選。可以將這些歷史-索引-依據的仿射候選加入到仿射候選列表中。可以利用基礎位置與基礎MV來推導每一塊的MV以用在歷史-索引-依據的仿射候選,或是來推導CPMV以用在一AMVP歷史-索引-依據的仿射候選。
在一實施例中,使用在歷史-索引-依據表中的仿射參數來推導歷史-索引-依據的繼承仿射候選。
在另一實施例中,使用在歷史-索引-依據表中的仿射參數來推導歷史-索引-依據的結構仿射候選。
在另一實施例中,使用在歷史-索引-依據表中的仿射參數來推導歷史-索引-依據的ATMVP候選。
在另一實施例中,使用在歷史-索引-依據表中的仿射參數來推導歷史-索引-依據的AMVP候選。
在另一實施例中,於合併候選列表的一開始,將歷史-索引-依據的仿射候選加入。
在另一實施例中,於繼承仿射合併候選之後,再加入歷史-索引-依據的仿射候選。
在另一實施例中,於ATMVP候選之後,再加入歷史-索引-依據的仿射候選。
在另一實施例中,於結構仿射合併候選之後,再加入歷史-索引-依據的仿射候選。
在另一實施例中,於仿射AMVP候選的一開始,將歷史-索引-依據的仿射候選加入。
在另一實施例中,歷史-索引-依據的仿射候選是在仿射AMVP候選之後。
在另一實施例中,歷史-索引-依據的仿射候選是在預定AMVP候選之前。
在另一實施例中,歷史-索引-依據的仿射候選是在繼承仿射合併候選列表的建構中插入的。
在另一實施例中,歷史-索引-依據的仿射候選是在ATMVP候選列表的建構中插入的。
在另一實施例中,歷史-索引-依據的仿射候選是在結構仿射合併候選列表的建構中插入的。
在另一實施例中,歷史-索引-依據的仿射候選是在AMVP候選列表的建構中插入的。
在另一實施例中,在表中的仿射參數是從相鄰塊拷貝而得。
在另一實施例中,在表中的仿射參數是經由轉換從相鄰塊推導而得。
在另一實施例中,在表中的仿射參數是基於歷史-索引從相鄰塊推導而得。
在另一實施例中,基礎位置(base position)是在相鄰塊的中央位置。
在另一實施例中,基礎位置是在相鄰塊的角落位置。
在另一實施例中,基礎位置是在相鄰塊之內的內插點。
在另一實施例中,基礎位置是在相鄰塊之內的邊界。
在另一實施例中,基礎位置是在相鄰塊之內的外插點。
在另一實施例中,基礎MV是從相鄰塊拷貝而得。
在另一實施例中,基礎MV是從相鄰塊轉換而得。
在另一實施例中,基礎MV是從相鄰塊取平均而得。
在另一實施例中,基礎MV是從相鄰塊縮放而得。
在一實施例中,儲存在歷史-索引-依據表中的一組仿射參數可以被壓縮。此壓縮方法包括尾數加上指數表示法(mantissa plus exponent representation)、截斷最低有效位元或最高有效位元法(truncating least significant bits or most significant bits)、捨入法(rounding)與/或向右位移法(right-shift)。
在一實施例中,將仿射參數壓縮而儲存在歷史-索引-依據表中。在將這些數值從歷史-索引-依據表中讀出之後,可將仿射參數解壓縮。在上述實施例中,仿射參數被壓縮與解壓縮而後存入在歷史緩衝器中。
以上提出的方法(例如具有MER或共享列表合併模式的歷史依據合併候選)可以應用於僅有-合併模式(例如一般的合併模式、子塊合併模式、仿射合併模式、與/或三角合併模式),也可以應用於合併模式與幀間模式兩者(AMVP模式,例如一般幀間/AMVP模式與/或仿射幀間/AMVP模式)。
可以在編碼器與/或解碼器中實施上述提出的方法。例如可以在一編碼器的幀間預測模組、與/或一解碼器的幀間預測模組中實施所提出的方法。任何所提出的方法也可以選擇性地實施為一電路來耦合至一編碼器的幀間預測模組、與/或一解碼器的幀間預測模組中,以便提供幀間預測模組所需的信息。
第14圖根據本發明的一實施例示出了一種使用基於歷史候選推導的視訊編解碼中示例性幀間預測的一流程圖。本流程圖中所示的步驟,以及本揭示中其他接下來的流程圖,可以實作成程式碼而可在編碼器側與/或解碼器側中的一或多個處理器(例如一或多個中央處理器)中執行。本流程圖中所示的步驟也可以基於硬體來實作,硬體可以例如安排來進行本流程圖中各步驟的一或多個電子裝置或處理器。根據本方法在步驟1410中,在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊,其中該當前塊是在一共享合併候選列表區域(SMR)之中或是在一基於歷史平行處理區域之中。在步驟1420中,使用一合併候選列表來對該當前塊進行編碼或解碼。在步驟1430中,只有在該當前塊是首先被編碼N塊中之一、或是最後被編碼N塊中之一、或是在該SMR或是在該基於歷史平行處理區域之中所選擇N塊中之一的時候,才在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新,其中N是大於或等於0的一整數。
第15圖根據本發明的一實施例示出了一種使用基於歷史候選推導的視訊編解碼中示例性幀間預測的另一流程圖。根據本方法在步驟1510中,決定一根CU(編解碼單元)以用於一共享合併候選列表區域(SMR)或是在一基於歷史平行處理區域。在步驟1520中,在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊。在步驟1530中,如果該當前塊是在該SMR之中或是在該基於歷史平行處理區域之中的時候,使用相關於該根CU的一基於歷史候選列表來對該當前塊進行編碼或解碼。
所示的流程圖用於示出根據本發明的視訊編解碼的示例。在不脫離本發明的精神的情況下,所屬領域中具有習知技術者可以修改每個步驟、重組這些步驟、將一個步驟進行分離或者組合這些步驟而實施本發明。在本揭示中,具體的語法和語義已被使用以示出實現本發明實施例的示例。在不脫離本發明的精神的情況下,透過用等同的語法和語義來替換該語法和語義,具有習知技術者可以實施本發明。
運動緩衝壓縮
使用6-位元尾數與4-位元指數來儲存運動向量以便進一步降低儲存的要求規定。尾數加上指數表示法有效地較粗略地量化較大的運動向量數值,然而對於較小的運動向量保持較高的精確度,而且在此,當一時間運動向量位移(displacement)是不可用(not available)來作為運動預測的時候,尾數與指數分別設為-32與15。例如,當使用幀內模式時,所有四個運動向量位移方向的數值都指定其尾數為-32與指數為15。類似地,當二運動向量僅有一個是有效的(valid,例如 inter_pred_idc[][] 是 PRED_L0 或 PRED_L1),則對於沒有有效的運動信息的運動向量,在二個位移方向上其尾數與指數會被設為-32與15。此一指示可用性(availability)的作法也被應用在相對應於當前畫面參考的時間運動信息中。值得注意的是此一部分也可以非-規範性地(non-normatively)來達成。
上述說明,使得所屬領域中具有習知技術者能夠在特定應用程式的內容及其需求中實施本發明。對所屬領域中具有習知技術者來說,所描述的實施例的各種變形將是顯而易見的,並且本文定義的一般原則可以應用於其他實施例中。因此,本發明不限於所示和描述的特定實施例,而是將被賦予與本文所公開的原理和新穎特徵相一致的最大範圍。在上述詳細說明中,說明了各種具體細節,以便透徹理解本發明。儘管如此,將被本領域的具有習知技術者理解的是,本發明能夠被實踐。
如上所述的本發明的實施例可以在各種硬體、軟體代碼或兩者的結合中實現。例如,本發明的實施例可以是集成在視訊壓縮晶片內的電路,或者是集成到視訊壓縮軟體中的程式碼,以執行本文所述的處理。本發明的一個實施例也可以是在數位訊號處理器(Digital Signal Processor,DSP)上執行的程式碼,以執行本文所描述的處理。本發明還可以包括由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(field programmable gate array,FPGA)所執行的若干函數。根據本發明,透過執行定義了本發明所實施的特定方法的機器可讀軟體代碼或者固件代碼,這些處理器可以被配置為執行特定任務。軟體代碼或固件代碼可以由不同的程式設計語言和不同的格式或樣式開發。軟體代碼也可以編譯為不同的目標平臺。然而,執行本發明的任務的不同的代碼格式、軟體代碼的樣式和語言以及其他形式的配置代碼,不會背離本發明的精神和範圍。
本發明可以以不脫離其精神或本質特徵的其他具體形式來實施。所描述的例子在所有方面僅是說明性的,而非限制性的。因此,本發明的範圍由附加的權利要求來表示,而不是前述的描述來表示。權利要求的含義以及相同範圍內的所有變化都應納入其範圍內。
110:CTU分割 120:編解碼樹(分割樹結構) 410:塊分割 420:二叉樹結構 510:塊分割 520:QTBT結構 610:垂直三叉樹分割 620:水平三叉樹分割 810:候選組 820:候選組 830:流程 831:mvL0_A, ref0 832:mvL1_B, ref0 833:雙向預測MVP 910:候選列表 920:候選列表 930:流程 940:候選列表 950:候選列表 960:候選列表 962:候選列表 970:候選列表 972:候選列表 1010:塊 1020:塊 1110:當前塊 1112:塊 1114:塊 1116:塊 1120:當前塊 1210:根CU/虛線方框 1212:分割的葉CU 1220:共享邊界 1222:小的葉CU 1232:分割 1234:分割 1236:分割 1238:分割 1310:子-樹 1312:樹節點 1320:塊分割 1410~1430:步驟 1510~1530:步驟
第1圖示出了塊分割的一個例子,使用四叉樹結構來將一編解碼樹單元(CTU)分割成數個編解碼單元(CUs)。 第2圖示出了根據高效率視訊編碼(HEVC)的非對稱運動分割(AMP),其中AMP定義了八個形狀來將一CU分割成PU。 第3圖示出了二叉樹分割結構所使用的多種二元分割類型的例子,其中使用分割類型可將一塊遞迴地分割成兩個較小塊。 第4圖示出了塊分割及其相應的二叉樹的例子,其中在二叉樹的每個分割節點(即非葉節點)上,一個語法被用來表示使用了哪種分割類型(水平或垂直),其中0可表示水平分割,而1可表示垂直分割。 第5圖示出了塊分割及其對應的QTBT的例子,其中實線表示四叉樹分割,而虛線表示二叉樹分割。 第6A圖示出了垂直三叉樹分割與水平三叉樹分割。 第6B圖根據MTT塊分割示出了一個用於塊分割的樹-類型發信的例子,其中RT發信可以和QTBT塊分割中四叉樹發信相似。 第7圖示出了AMVP與合併架構二者中使用來推導空間與時間MVP的相鄰PU。 第8 圖示出了結合型雙向預測合併候選推導過程的一例子。 第9A圖示出了縮放型雙向預測合併候選推導過程的一例子,其中在左方的候選列表相對應於一原始候選列表,而在右方的候選列表相對應於一擴大候選列表,其包括二個所產生出來的雙向預測MVP。 第9B圖示出了加入零向量合併候選的例子,其中在左方的候選列表相對應於一原始合併候選列表,而在右方的候選列表相對應於藉由加入零候選而擴展的合併候選列表。 第9C圖示出了加入零向量AMVP候選的例子,其中在上方的候選列表相對應於原始AMVP候選列表(L0在左方,而L1在右方),而在下方的候選列表相對應於藉由加入零向量而擴展的AMVP候選列表(L0在左方,而L1在右方)。 第10圖示出了四參數仿射模型的例子,其中也示出了一當前塊與一參考塊。 第11A圖示出了繼承仿射候選推導的一例子,其中當前塊繼承一相鄰塊的仿射模型,並且是藉由來繼承相鄰塊的控制點MV來當成當前塊的控制點MV來達成。 第11B圖示出了用來推導角落-推導仿射候選的相鄰塊組,其中一MV是從每一相鄰群組推導得出。 第12A圖-第12C圖示出了在一根CU中的子-CU的一共享合併列表的例子。 第13圖示出了一子-樹的例子,其中的子-樹根是QTBT分割樹的一樹節點。 第14圖根據本發明的一實施例示出了使用基於歷史候選推導的示例性視訊編解碼幀間預測的一流程圖。 第15圖根據本發明的一實施例示出了使用基於歷史候選推導的示例性視訊編解碼幀間預測的另一流程圖。
1510~1530:步驟

Claims (13)

  1. 一種使用基於歷史候選推導的視訊編解碼方法,其中於編碼或解碼時對於一基於歷史候選列表加以更新,該方法包括: 在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊,其中該當前塊是在一共享合併候選列表區域之中或是在一基於歷史平行處理區域之中; 使用一合併候選列表來對該當前塊進行編碼或解碼;以及 只有在該當前塊是首先被編碼N塊中之一、或是最後被編碼N塊中之一、或是在該共享合併候選列表區域或是在該基於歷史平行處理區域之中所選擇N塊中之一的時候,才在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新。
  2. 如申請專利範圍第1項所述之使用基於歷史候選推導的視訊編解碼方法,其中N是大於或等於0的一整數。
  3. 如申請專利範圍第2項所述之使用基於歷史候選推導的視訊編解碼方法,其中在該當前塊被編碼或被解碼之後,總是對於該基於歷史候選列表的更新加以限制。
  4. 如申請專利範圍第2項所述之使用基於歷史候選推導的視訊編解碼方法,其中在該當前塊被編碼或被解碼之後會對於該基於歷史候選列表的更新加以限制,除非該當前塊是該共享合併候選列表區域或是在該基於歷史平行處理區域之中的最後一塊。
  5. 如申請專利範圍第1項所述之使用基於歷史候選推導的視訊編解碼方法,其中N是基於下列來決定:包含該當前塊的一共享邊界編解碼單元中塊的形狀、塊的寬度、或是塊的高度。
  6. 如申請專利範圍第1項所述之使用基於歷史候選推導的視訊編解碼方法,其中N是一事先定義的數值。
  7. 如申請專利範圍第6項所述之使用基於歷史候選推導的視訊編解碼方法,其中會在該視訊編碼器側的一序列、畫面、或切片層級中發信該事先定義的數值,或是在該視訊解碼器側的該序列、畫面、或切片層級中剖析該事先定義的數值。
  8. 如申請專利範圍第1項所述之使用基於歷史候選推導的視訊編解碼方法,其中該合併候選列表是事先產生的以用於該共享合併候選列表區域的該當前塊,而且是分別產生的以用於該基於歷史平行處理區域的該當前塊。
  9. 一種使用基於歷史候選推導的視訊編解碼裝置,其中於編碼或解碼時對於一基於歷史候選列表加以更新,該裝置包括有一或複數個電子電路或處理器以安排用來: 在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊,其中該當前塊是在一共享合併候選列表區域之中或是在一基於歷史平行處理區域之中; 使用一合併候選列表來對該當前塊進行編碼或解碼;以及 只有在該當前塊是首先被編碼N塊中之一、或是最後被編碼N塊中之一、或是在該共享合併候選列表區域或是在該基於歷史平行處理區域之中所選擇N塊中之一的時候,才在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新,其中N是一整數。
  10. 一種使用基於歷史候選推導的視訊編解碼方法,其中於編碼或解碼時對於一基於歷史候選列表加以更新,該方法包括: 決定一根編解碼單元以用於一共享合併候選列表區域或是一基於歷史平行處理區域; 在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊;以及 如果該當前塊是在該共享合併候選列表區域之中或是在該基於歷史平行處理區域之中的時候,使用相關於該根編解碼單元的該基於歷史候選列表來對該當前塊進行編碼或解碼。
  11. 如申請專利範圍第10項所述之使用基於歷史候選推導的視訊編解碼方法,其中如果該當前塊是在該共享合併候選列表區域之中或是在該基於歷史平行處理區域之中的時候,在該當前塊被編碼或被解碼之後對於該基於歷史候選列表的更新加以限制。
  12. 如申請專利範圍第10項所述之使用基於歷史候選推導的視訊編解碼方法,其中如果該當前塊不是在該共享合併候選列表區域之中或不是在該基於歷史平行處理區域之中,在該當前塊被編碼或被解碼之後對於該基於歷史候選列表加以更新。
  13. 一種使用基於歷史候選推導的視訊編解碼裝置,其中於編碼或解碼時對於一基於歷史候選列表加以更新,該裝置包括有一或複數個電子電路或處理器以安排用來: 決定一根編解碼單元以用於一共享合併候選列表區域或是在一基於歷史平行處理區域; 在一視訊編碼器側接收關於一當前畫面的一當前塊的輸入資料,或在一視訊解碼器側接收相對應於經過壓縮後資料的一視訊位元流,而該壓縮後資料包括該當前畫面中的該當前塊;以及 如果該當前塊是在該共享合併候選列表區域之中或是在該基於歷史平行處理區域之中的時候,使用相關於該根編解碼單元的該基於歷史候選列表來對該當前塊進行編碼或解碼。
TW108136228A 2018-10-06 2019-10-07 視訊編解碼中共享合併候選列表區域的方法和裝置 TWI734212B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862742280P 2018-10-06 2018-10-06
US62/742,280 2018-10-06
US201862777284P 2018-12-10 2018-12-10
US62/777,284 2018-12-10
US201962819702P 2019-03-18 2019-03-18
US62/819,702 2019-03-18
WOPCT/CN2019/109835 2019-10-05
PCT/CN2019/109835 WO2020069673A1 (en) 2018-10-06 2019-10-05 Method and apparatus of shared merge candidate list region for video coding

Publications (2)

Publication Number Publication Date
TW202021368A true TW202021368A (zh) 2020-06-01
TWI734212B TWI734212B (zh) 2021-07-21

Family

ID=70054971

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108136228A TWI734212B (zh) 2018-10-06 2019-10-07 視訊編解碼中共享合併候選列表區域的方法和裝置

Country Status (5)

Country Link
US (1) US11290711B2 (zh)
EP (1) EP3857888A4 (zh)
CN (1) CN112840653B (zh)
TW (1) TWI734212B (zh)
WO (1) WO2020069673A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11979593B2 (en) 2022-04-25 2024-05-07 Mediatek Inc. Method and apparatus for video coding with of low-precision floating-point operations

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011146902A1 (en) 2010-05-21 2011-11-24 Merrimack Pharmaceuticals, Inc. Bi-specific fusion proteins
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
SG11202012293RA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Update of look up table: fifo, constrained fifo
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
KR102600670B1 (ko) * 2018-07-02 2023-11-08 후아웨이 테크놀러지 컴퍼니 리미티드 움직임 벡터 예측 방법 및 장치, 인코더, 그리고 디코더
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
CN113039802B (zh) 2018-11-16 2024-05-14 北京字节跳动网络技术有限公司 基于历史的仿射参数的使用
WO2020133518A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
CN113383554B (zh) * 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
US11032560B2 (en) 2019-01-17 2021-06-08 Tencent America LLC Method and apparatus for video coding without updating the HMVP table
WO2020156576A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Multi-hmvp for affine
US11223840B2 (en) * 2019-08-19 2022-01-11 Tencent America LLC Method and apparatus for video coding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261166B2 (en) * 2008-09-17 2012-09-04 Seagate Technology Llc Node processor for use with low density parity check decoder using multiple variable node degree distribution codes
EP2532159A1 (en) * 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Selecting predicted motion vector candidates
KR101630688B1 (ko) * 2010-02-17 2016-06-16 삼성전자주식회사 움직임 예측 장치 및 방법과 영상 처리 장치
MX2013013029A (es) * 2011-06-30 2013-12-02 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes y dispositivo de codificacion/decodifi cacion de imagenes.
CN103931196B (zh) * 2011-09-09 2017-05-17 Lg电子株式会社 帧间预测方法及其装置
US9736489B2 (en) * 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
CN109996082B (zh) * 2011-11-08 2022-01-25 韩国电子通信研究院 用于共享候选者列表的方法和装置
JPWO2013108689A1 (ja) 2012-01-19 2015-05-11 ソニー株式会社 画像処理装置および方法
CN108377393A (zh) * 2012-03-22 2018-08-07 联发科技股份有限公司 编码视频数据的方法以及装置
KR102034938B1 (ko) * 2014-09-01 2019-10-21 에이치에프아이 이노베이션 인크. 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
US20160373739A1 (en) * 2015-06-16 2016-12-22 Microsoft Technology Licensing, Llc Intra/inter decisions using stillness criteria and information from previous pictures
US10863193B2 (en) * 2018-06-29 2020-12-08 Qualcomm Incorporated Buffer restriction during motion vector prediction for video coding
CN117676163A (zh) * 2018-07-06 2024-03-08 寰发股份有限公司 解码器的视频解码方法及装置
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US11336914B2 (en) * 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11979593B2 (en) 2022-04-25 2024-05-07 Mediatek Inc. Method and apparatus for video coding with of low-precision floating-point operations

Also Published As

Publication number Publication date
WO2020069673A1 (en) 2020-04-09
EP3857888A4 (en) 2022-08-03
US20210321089A1 (en) 2021-10-14
US11290711B2 (en) 2022-03-29
CN112840653B (zh) 2023-12-26
CN112840653A (zh) 2021-05-25
EP3857888A1 (en) 2021-08-04
TWI734212B (zh) 2021-07-21

Similar Documents

Publication Publication Date Title
TWI734212B (zh) 視訊編解碼中共享合併候選列表區域的方法和裝置
JP7436597B2 (ja) ジオメトリック分割を用いたインター予測のためのサイド情報信号通知方法
TWI729446B (zh) 用於視訊編解碼之增強型幀內塊複製模式的方法和裝置
US11122260B2 (en) Method and apparatus of Merge list generation for Intra Block Copy mode
CN114928744B (zh) 用于在视频编解码中信令发送运动合并模式的系统和方法
JP7425808B2 (ja) 動き候補リスト構築プロセスの条件付き実行
TW202005372A (zh) 使用雙向cu加權的視訊編解碼的方法和裝置
TWI774141B (zh) 視訊編解碼方法及裝置
TWI729458B (zh) 用於視訊編解碼的簡化的合併候選列表的方法和裝置
CN113796077A (zh) 视频编解码之亮度mpm列表导出的方法及装置
TWI737142B (zh) 視訊編碼中結合畫面間和畫面內預測之方法和裝置
TW201941616A (zh) 用於視訊編解碼的優化分割結構的方法和裝置
TWI718079B (zh) 用於視訊編解碼的簡化子模式的方法和裝置
TWI729497B (zh) 在視頻編解碼系統中組合多個預測子進行塊預測的方法和裝置
TW202038624A (zh) 視訊編碼中用於畫面內分區之轉換類型分配方法和裝置
KR102669354B1 (ko) 모션 벡터 예측
TW202404368A (zh) 使用基於ctu的基於歷史的運動向量預測表進行視訊編解碼的方法和裝置
TW202402053A (zh) 使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置
KR20200017406A (ko) 모션 벡터 예측
KR20240074911A (ko) 모션 벡터 예측