TWI749394B - 利用當前畫面參照編碼方式的視訊區塊編碼或解碼方法和裝置 - Google Patents
利用當前畫面參照編碼方式的視訊區塊編碼或解碼方法和裝置 Download PDFInfo
- Publication number
- TWI749394B TWI749394B TW108140225A TW108140225A TWI749394B TW I749394 B TWI749394 B TW I749394B TW 108140225 A TW108140225 A TW 108140225A TW 108140225 A TW108140225 A TW 108140225A TW I749394 B TWI749394 B TW I749394B
- Authority
- TW
- Taiwan
- Prior art keywords
- current
- block
- motion vector
- vector prediction
- candidate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 80
- 239000013598 vector Substances 0.000 claims abstract description 102
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000013138 pruning Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 43
- 230000011218 segmentation Effects 0.000 description 38
- 238000005192 partition Methods 0.000 description 21
- 241000023320 Luma <angiosperm> Species 0.000 description 19
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 19
- 239000000523 sample Substances 0.000 description 17
- 238000000638 solvent extraction Methods 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree 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
視訊處理方法包括:接收一當前畫面中一當前塊的輸入資料;藉由納入一個或多個基於歷史運動向量預測(HMVP)候選,來建構用於當前塊的一候選列表;從候選列表中選擇一候選;依據所選擇候選的運動信息來定位一參考塊;以及藉由利用參考塊來預測當前塊,用以編碼或解碼當前塊。如果當前塊是要藉由一般幀間預測模式來處理,一或多個HMVP候選會從一一般HMVP表格中取得,以及如果當前塊是要藉由一當前畫面參考(CPR)模式來處理,一或多個HMVP候選會從一CPR HMVP表格中取得。二個HMVP表格被分別地維護與更新。
Description
本發明關於利用當前畫面參考編解碼來進行視訊編碼與解碼。尤其,本發明關於使用一或多個編解碼工具來實行當前畫面參考編解碼。
高效率視訊編碼(High Efficiency Video Coding,HEVC)的標準,是由來自國際電信聯盟電信標準化部門研究組(ITU-T Study Group)的視訊編碼專家的視訊編碼聯合協作小組(Joint Collaborative Team on Video Coding,JCT-VC)所開發的最新視訊編解碼標準。HEVC標準依賴一基於塊的編解碼結構,其將每一切片(slice)分割為複數個編解碼樹單元(Coding Tree Unit,CTU)。一編碼過的畫面是由一個或一整體的切片來加以代表,每一切片包括一整數個CTU。在一切片中個別的CTU則依據一光柵掃描(raster scanning)順序進行處理。在HEVC主設定檔(main profile)中,一CTU的最小和最大尺寸由序列參數集(Sequence Parameter Set,SPS)中的語法元素,在8x8、16x16、32x32、或64x64的尺寸中來指定。在一雙向預測(Bi-predictive,B)切片中的每一塊的樣本數值是使用幀內預測或幀間預測用最多二個運動向量與參考索引來加以解碼。在一預測(Predictive,P)切片中的每一塊的樣本數值是使用幀內預測或幀間預測僅用一個運動向量與一個參考索引來加以解碼。一幀內(Intra,I)切片是僅使用幀內預測來加以解碼。依據一四叉樹(quadtree,QT)分割流程,每一CTU進一步被遞迴式地分割成一或複數個編解碼單元(Coding Unit,CU)以適應各種局部運動與紋理特性。一CTU尺寸為MxM,其中M是值64、32、與16中的一個。每一CTU可以是單個CU或被分割成相同尺寸M/2xM/2的四個較小單元,其被稱為一編解碼樹的節點。如果一節點不被進一步分割,其為編解碼樹的一葉節點,而且每一葉節點是一CU。四叉樹分割流程可以被反覆運算,直到一節點的尺寸達到序列參數集(SPS)中指定的最小允許CU尺寸。用來將一CTU分割為數個CU的四叉樹塊分割結構的例子繪示於第1圖中,其中實線表示CTU100中CU的邊界。
預測的決定是在CU層作出的,其中每一CU是由幀間(時間)預測或是幀內(空間)預測來加以編解碼。由於最小CU尺寸可以是8x8,所以用於在不同基本預測類型來切換的最小間隔尺寸是8x8。一旦CU層級化樹的分割完成時,可以依據用於預測的一PU分割類型來將每一CU作進一步分割成一或多個預測單元(Prediction Unit,PU)。第2圖顯示定義於HEVC標準中的八個PU分割類型。依據顯示於第2圖的八個PU分割類型中的一個,每一CU可進一步分割成一、二、或四個PU。PU與相關的CU語法一起作為共享預測信息的一基本代表塊,而相同的預測過程會被應用於PU中的所有像素並且預測相關信息是在以一PU的基礎上來傳達給解碼器。一指定的預測過程會被運用來預測PU之中相關像素樣本的數值。在獲得藉由預測過程所產生的一殘差信號之後,會根據一殘差四叉樹(Residual QuadTree,RQT)塊分割結構來將屬於一CU的殘差信號的殘差資料分割為一或多個轉換單元(Transform Unit,TU),以將殘差資料轉換成轉換係數作為簡潔的資料表示。第1圖中的虛線表示TU邊界。TU是一基本代表塊用來分別地應用轉換與量化於殘差信號與轉換係數上。對於每一TU,具有與TU相同尺寸大小的一轉換矩陣會被應用於殘差信號上以產生轉換係數,而且這些轉換係數是基於一TU為基礎來加以量化並且傳輸至解碼器。一轉換單元是由大小8x8、16x16、或32x32的亮度樣本的一轉換塊(Transform Block,TB)以及一畫面中依據4:2:0顏色樣本格式所編解碼的二個相對應的色度樣本的轉換塊所組成。一整數轉換會被應用於一轉換塊而且量化後係數的水平數值(level value)與其他邊信息會於視訊位元流中進行熵編解碼。
這些術語編解碼樹塊(Coding Tree Block,CTB),編解碼塊(Coding Block,CB),預測塊(Prediction Block,PB)和轉換塊(Transform Block,TB)被定義出以分別指定與CTU,CU,PU,和TU相關的一個顏色分量的二維樣本陣列。例如,一CTU由一個亮度(luma)CTB,兩個色度(chroma)CTB和其相關的語法元素所組成。在HEVC系統中,通常會將相同的四叉樹塊分割結構應用於亮度和色度二個分量,除非已達到色度塊的最小尺寸。
二叉樹分割結構是可以遞迴式分割一塊成為二個較小塊的四叉樹分割結構的一替代性結構。最有效而簡單的二叉樹分割類型是對稱水平與對稱垂直分割類型。對於尺寸大小為MxN的一給定塊,一旗標會被發信來指出這一塊是否被分割成為二個較小塊;如果是,另一語法元素會被發信來指出是使用哪一種分割類型。當該給定塊是藉由對稱水平分割類型加以分割的情況,該給定塊會被分割成為尺寸大小為MxN/2的二個塊;否則,該給定塊會被分割成為尺寸大小為M/2xN的二個塊。二叉樹分割過程可以反覆進行直到一塊的尺寸大小、寬度、或高度到達一高階語法元素所定義的一最小可允許的塊尺寸大小、寬度、或高度為止。最小可允許的塊寬度與高度二者都被指定,因為在二叉樹分割過程中有水平與垂直分割類型。當分割的結果會造成一塊高度小於所指定的最小高度時,水平分割類型會隱含地被禁止。相似地,當分割的結果會造成一塊寬度小於所指定的最小寬度時,垂直分割類型會隱含地被禁止。二叉樹分割結構可以被用來將一塊分割成為數個較小塊,例如,它可以被用來將一切片(slice)分割成數個CTU、將一CTU分割成數個CU、將一CU分割成數個PU、或將一CU分割成數個TU。
二叉樹結構比四叉樹結構更具彈性,是因為可以支持更多的分割形狀,這也是編解碼效率提高的來源。但是,由於編碼器需要從眾多分割形狀中決定一選擇最佳的分割形狀,編解碼複雜度也會增加。一種稱為四叉樹加二叉樹(Quadtree plus Binary Tree,QTBT)結構的新分割結構可以平衡四叉樹分割結構與二叉樹分割結構的編解碼效率和編解碼複雜度。第3A圖顯示一示例性的QTBT結構,其中一CTU首先藉由一四叉樹結構然後是一二叉樹分割結構來對CTU進行分割。一CU可以藉由四叉樹分割而遞迴式地進行分割,直到一當前CU尺寸大小達到一最小可被允許四叉樹葉節點尺寸。如果葉四叉樹塊的尺寸不大於一最大可被允許二叉樹根節點的尺寸,則每一葉四叉樹塊可以藉由二叉樹分割再加以分割。二叉樹分割可以被遞迴式地應用直到當前CU尺寸大小、寬度、或高度達到一最小可被允許二叉樹葉節點尺寸大小、寬度、或高度,或是二叉樹深度達到一最大可被允許二叉樹深度。在QTBT分割中,只有水平對稱分割與垂直對稱分割是二種可被允許的二叉樹分割類型。從QTBT分割中所產生的葉CU可以被運用於預測與轉換程序而不作任何進一步分割。第3A圖依據QTBT分割結構繪示塊分割結構的一例子,而第3B圖繪示一相對應的編解碼樹圖以用於第3A圖所顯示的QTBT分割結構。第3A與3B圖中實線表示四叉樹分割,而虛線表示二叉樹分割。在二叉樹結構的每個分割節點(即非-葉)中,一個旗標會指示使用了哪種分割類型(水平或垂直),0表示水平對稱分割而且1表示垂直對稱分割。對於在I型切片中被編解碼的CTU,用於色度CTB的QTBT編解碼樹代表可與用於一對應的亮度CTB的QTBT編解碼樹代表不同。對於在P型和B型切片中被編解碼的CTU,相同的QTBT編解碼樹代表被應用於色度CTB和亮度CTB二者,除非是對於一色度塊已達某一最小尺寸。在QTBT分割結構中,最小可被允許的四分樹葉節點尺寸大小,最大可被允許的二分樹根節點尺寸大小,最小可被允許的二分樹葉節點寬度和高度,以及最大可被允許的二分樹深度和高度在例如SPS的高階語法中加以指示。
QTBT分割結構可以用於將一塊分割成複數個更小的塊,例如,QTBT分割結構可以用於將一CTU分割成複數個CU,而複數個CU由預測與轉換編解碼作進一步處理。也就是說,QTBT分割結構的一葉節點是用於預測和轉換編解碼二者的一基本單元。在一例子中,一CTU的尺寸大小為128x128,一最小可被允許四叉樹葉節點尺寸為16×16,一最大可被允許二叉樹根節點尺寸為64x64,一最小可被允許二叉樹葉節點寬度與高度二者皆為4,以及一最大可被允許的二叉樹深度為4。在這個例子中每一CTU藉由四叉樹分割結構來加以分割,因此一葉四叉樹單元的尺寸可以從16×16(最小可被允許四叉樹葉節點尺寸)至128×128(CTU的尺寸)。如果一葉四叉樹單元為128×128,則不能被二叉樹分割作進一步分割,因為葉四叉樹單元的尺寸大小超過最大可被允許二叉樹根節點尺寸64x64;否則,尺寸小於或等於64x64的葉四叉樹單元可以藉由二叉樹分割作進一步分割。當藉由二叉樹分割來對一葉四叉樹單元進行分割時,此葉四叉樹單元也是作為根二叉樹單元,其具有二叉樹深度等於0。當二叉樹深度達到4時(即指定的最大深度),分割是被隱含地禁止。相似地,當一二叉樹節點的寬度或高度等於4時,水平或垂直分割分別地被隱含地禁止。QTBT分割結構的葉節點藉由預測與轉換編解碼來進一步來處理。
QTBT分割結構會分別適用在幀內(I)切片的亮度與色度分量上,而且對於預測(P)和雙向預測(B)切片的亮度與色度二者同時適用,除非當達到色度分量的某些最小尺寸時會有例外產生。在一幀內切片中,一亮度CTB有其自己的QTBT分割結構塊分割,而二個色度CTB有另外一QTBT結構塊分割,以及二個相對應色度CTB共享另一個QTBT結構塊分割。備選地,二個色度CTB有他們自己的QTBT結構塊分割。
幀間預測或運動補償(包括幀間模式、合併模式、與跳過模式)是設計來利用在一當前畫面與一或多個參考畫面之間的時間關聯性。一運動向量(MV)是用來代表在一當前畫面的一當前塊以及一參考畫面中一相對應的參考塊之間的一位移(displacement)。通常是假設在一當前畫面中相對應於物件(object)或背景的圖樣(pattern)會被位移以形成接下來畫面中相對應的物件,或是會與當前畫面中其他圖樣有所關聯。有了從其他畫面來的這種位移的估計後(例如使用塊匹配技術,block matching technique),在不重新編解碼所述圖樣的情況下就幾乎可以重製(reproduce)這些圖樣。相似地,塊匹配可以在相同的畫面中加以進行以選擇一參考塊。和幀間預測中塊匹配程序相似,一運動向量是用來代表在一當前塊以及參考畫面中一相對應的參考塊之間的一位移。相對應的參考塊是與當前塊在相同畫面之中的一先前已重構塊。此一技術被稱為幀內塊複製(Intra Block Copy,IBC)或當前畫面參考(Current Picture Referencing,CPR),當應用此技術於相機所捕捉的視訊內容時,被觀察到效率不佳。原因之一是在一空間相鄰區域的文字圖樣可能會和一當前編解碼塊相似,但是通常會有一些在空間上的逐漸變化。於相機所捕捉的視訊的相同畫面中,一塊要找到一完全的匹配會較困難,因此編解碼效率的改進是有限的。然而,藉由在當前畫面搜尋一相似的圖樣,CPR是非常有效的技術用來編碼螢幕內容。對於一典型具有文字與圖形的視訊而言,在相同畫面中通常會有重複的圖樣。為了藉由CPR模式來處理一當前畫面中的一當前塊,會從當前畫面中的一先前已重構塊來加以預測該當前塊。一運動向量(也稱為一塊向量,Block Vector,簡稱BV)會被用來發信從當前塊位置到一參考塊位置的一相對位移(relative displacement)。然後使用轉換、量化、與熵編解碼來對預測錯誤進行編碼。使用在螢幕內容編解碼的CPR補償的一些例子繪示於第4圖。從MV推導出的參考塊的參考樣本為相對應於在環內濾波操作(in-loop filter operation)之前的當前畫面的重構樣本,環內濾波操作為HEVC標準中之解塊(deblocking)與樣本自適應偏移(Sample Adaptive Offset,SAO) 濾波二者。
CPR補償的一第一版本被限制於一小的局部區域內,只有一維的MV,而且只用於具有一2Nx2N尺寸大小的塊。後來則發展出一較為先進的CPR設計,加入了一些位元流符合約束(bitstream conformance constraint)來對於較為先進CPR設計中的一當前PU的一有效CPR MV數值加以規範。第一,等式(1)與等式(2)中之一必須為真。
BV_x + offsetX + nPbSw + xPbs – xCbs >= 0 (1)
BV_y + offsetY + nPbSh + yPbs – yCbs >= 0 (2)
第二,下列於等式(3)中的波前並行處理(Wavefront Parallel Processing,WPP)條件必須為真。
( xPbs + BV_x + offsetX + nPbSw − 1 ) / CtbSizeY – xCbs / CtbSizeY >= yCbs / CtbSizeY − ( yPbs + BV_y + offsetY + nPbSh − 1 ) / CtbSizeY (3)
在等式(1)到(3)中,(BV_x, BV_y) 代表用於當前PU的一亮度塊向量,nPbSw 與 nPbSh 是當前PU的寬度與高度,(xPbS, yPbs) 代表當前PU的一左上像素相對於當前畫面的一位置,(xCbs, yCbs) 代表一當前CU的一左上像素相對於當前畫面的一位置,以及CtbSizeY 是一CTU的尺寸大小。二變數offsetX 與 offsetY是在考量用於CPR模式的色度樣本內插後二維中二個調整過的偏移量,而且定義於等式(4)與等式(5)之中。
offsetX = BVC_x & 0x7 ? 2 : 0 (4)
offsetY = BVC_y & 0x7 ? 2 : 0 (5)
其中 (BVC_x, BVC_y) 代表色度塊向量,在HEVC中是1/8像素解析度。
第三,用來預測以CPR模式所編解碼的當前PU的參考塊必須在相同的方塊(tile)邊界或切片(slice)邊界。
仿射運動補償使用一仿射模型來描述二維塊旋轉,以及從正方塊或長方塊到平行四邊形的二維變形。此一仿射模型於等式(6)中加以描述。
x’ = a0 + a1*x + a2*y
y’ = b0 + b1*x + b2*y (6)
有六個參數a0、a1、a2、b0、b1、與b2涉及在此仿射模型中。對於所感興趣區域中的每一像素(x,y),此像素的一運動向量為A’ – A = (a0+(a1-1)*x+a2*y, b0+b1*x+(b2-1)*y) 。每一像素的運動向量是取決於其位置。在此仿射模型中,如果三個不同位置的運動向量已知,於等式(6)中的上述六個參數可以被解出來,所以等效而言就是六個參數已知。具有一已知運動向量的每一個位置被稱為一控制點。六個參數的仿射模型相對應於三個控制點模型。
在仿射運動補償的實作施行上,一仿射旗標會被發信來用於以合併模式或高級運動向量預測(AMVP)模式所編解碼的每一個2Nx2N塊分割。如果對於一當前塊此一旗標為真,此當前塊的運動向量推導會依循仿射模型;如果此一旗標為假,此當前塊的運動向量推導會依循一傳統平移式模型(translation model)。當仿射AMVP模式被使用時,三個控制點的運動向量(Motion Vector,MV)被發信。在每一控制點位置,MV會被預測性地加以編解碼。然後將這些控制點的運動向量差異(Motion Vector Difference,MVD)加以編解碼與傳輸。
一基於歷史運動向量預測(History-based Motion Vector Prediction,HMVP)的方法會在一表格中儲存數項之先前編解碼塊的運動信息以被後續塊所參考。表格中每一項運動信息被稱為HMVP候選。具有複數HMVP候選的表格於編碼或解碼流程中會被維護(maintained),而且當遇到一新的切片時此表格會被清空(emptied)。在編碼或解碼一幀間編解碼非-仿射塊(inter-coded non-affine block)之後,相關聯的運動信息會被加入於表格的最後一項欄位作爲一新的HMVP候選。HMVP方法的一解碼流程被繪示於第5圖。對於以幀間預測編解碼的每一塊,具有HMVP候選的一HMVP表格會由一解碼器加以載入,而且解碼器以包含有從該HMVP表格所取得的一或多個HMVP候選的一候選列表來對於塊加以解碼。然後會以解碼後塊的解碼後運動信息對於HMVP表格加以更新。第6圖繪示更新用來儲存複數個HMVP候選的一HMVP表格的一例子。在一例子中,此表格尺寸大小被設定為6(即L=6),因此至多有6個HMVP候選可以被加入於該HMVP表格中。當插入一新的HMVP候選於該HMVP表格時,一被約束的先進先出(first-in-first-out,FIFO)規則會被應用。會先應用一冗餘檢查來搜索該HMVP表格中是否有一冗餘的HMVP候選是與最新加入的HMVP候選相同。如第6圖所示,HMVP2被決定是冗餘的HMVP候選,並且HMVP2被從該HMVP表格中移除。在從該HMVP表格中移除冗餘的HMVP候選之後,HMVP表格中位於在被移除HMVP候選之後的所有HMVP候選會藉由將每一索引減1而被往前移動。然後HMVP表格會被填入一新的HMVP候選CL-1。
儲存在HMVP表格中的HMVP候選可以被用於合併候選列表建構流程中。在HMVP表格中的最新幾個HMVP候選會被依序檢查,並且在插入一時間運動向量預測(Temporal Motion Vector Prediction,TMVP)的候選之後被插入於合併候選列表中。藉由以合併候選列表中的空間與時間候選來檢查HMVP候選,修剪(pruning)會被應用於HMVP候選中。例如像高級時間運動向量預測(Advanced Temporal Motion Vector Prediction,ATMVP)的子塊運動候選不會被和HMVP候選作檢查。為了減少修剪操作的數目,引進了三個簡化。在一第一簡化中,依據等式(7),設定待檢查HMVP候選的一數目(以L來表示)。
L=(N<=4)?M:(8-N) (7)
其中N指示出可用的非子塊合併候選的一數目,而且M指示出HMVP表格中可用的HMVP候選的一數目。
一第二簡化檢查可用的合併候選的一總數是否達到一發信最大可允許的合併候選減1,而且如果可用的合併候選的總數達到了發信最大可允許的合併候選減1,從HMVP表格來的合併候選列表建構流程會被終止。一第三簡化
將合併型雙向預測合併候選推導的配對數目從12降低到6。
與合併候選建構流程相似,HMVP候選可以被用來於AMVP候選列表建構流程。在HMVP表格中最後K個HMVP候選的運動向量會在TMVP候選之後被插入於AMVP候選列表。僅有與一AMVP目標參考畫面具有相同的參考畫面的HMVP候選才會被用來建構AMVP候選列表。修剪(pruning)會被應用於HMVP候選。例如,K被設定為4,而AMVP列表尺寸大小被設定為2,這是和HEVC標準中的AMVP列表尺寸大小相同。
揭示以二個分別的基於歷史運動向量預測(History-based Motion Vector Prediction,HMVP)的表格來處理視訊資料的方法與裝置。實行這些方法的一視訊編解碼系統的實施例:接收一當前畫面中與一當前塊相關聯的輸入資料,而於一一般幀間預測模式或當前畫面參考(Current Picture Referencing,CPR)模式來加以編碼或解碼;藉由納入一個或多個HMVP候選,來建構用於該當前塊的一候選列表;從該候選列表中選擇一候選來用於該當前塊;依據所選擇的該候選的運動信息來於一參考畫面中定位一參考塊;以及藉由利用該參考塊來預測該當前塊,用以編碼或解碼該當前塊。該候選列表可以包括下列之一或其中一組合:一或多個空間候選、一個時間候選、與一或多個子塊候選。二個HMVP表格(也稱為HMVP列表)被用來分別儲存相對應於一般幀間預測模式與CPR模式的運動信息。如果該當前塊是要藉由一般幀間預測模式來處理,該候選列表的一個或多個HMVP候選會從一一般HMVP的表格中取得,以及如果該當前塊是要藉由一CPR模式來處理,該候選列表的一個或多個HMVP候選會從一CPR HMVP的表格中取得。如果該當前塊是要藉由該CPR模式來處理,該參考畫面即為該當前畫面。該一般幀間預測模式可以是合併、跳過、或高級運動向量預測(Advanced Motion Vector Prediction,AMVP)模式中之一或其中一組合。
在一些實施例中,儲存於一般HMVP表格中的每一個HMVP候選的運動信息是一或二個運動向量(MV)與一或二個參考幀索引;而儲存於CPR HMVP表格中的每一個HMVP候選的運動信息僅包括一個MV,這是因為對於儲存於CPR HMVP表格中的每一個HMVP候選而言,一參考幀索引會被推論作為該當前畫面。
在藉由該一般幀間預測模式加以編碼或解碼該當前塊之後, 會藉由該當前塊的運動信息來對該一般HMVP表格加以更新;或是在藉由該CPR模式加以編碼或解碼該當前塊之後,會藉由該當前塊的運動信息來對該CPR HMVP表格加以更新。
在一實施例中,從該一般HMVP表格或從該CPR HMVP表格中所取得的每一個HMVP候選的一MV,在加入於該候選列表之前會先進位至一整數的精確度以用來編碼或解碼該當前塊。在運用二個HMVP表格於一般幀間預測模式與CPR模式的某些實施例中,當雙樹塊分割(dual-tree block partitioning)被使用來分割亮度與色度分量時,該二個HMVP表格會被視訊資料的亮度與色度兩分量所共享。當雙樹塊分割被運用時,視訊資料的亮度與色度分量是藉由不同的分割結構來進行分割;而當共享樹塊分割被運用時,亮度與色度分量是使用相同的分割結構來進行分割。在一些實施例中,當該當前塊是一亮度塊而且雙樹塊分割被使用來分割亮度與色度分量時,用於該當前塊的候選列表會被一個或多個並位色度塊(collocated chroma block)再使用。在另一實施例中,當該當前塊是一色度塊時,該當前塊的候選列表包括來自一個或多個並位亮度塊(collocated luma block)的一個或多個CPR MV。
在藉由CPR模式來編碼或解碼當前塊的一實施例中,本方法進一步包括在加入到該候選列表之前,會檢查從該CPR HMVP表格所取得的一HMVP候選的一合法性。依據一實施例,一HMVP候選的合法性是藉由該HMVP候選所指向的一參考塊來決定,而且如果該參考塊是位於一範圍約束(range constraint)之內時,該HMVP候選是有效而且會被加入該候選列表中。例如,在參考塊中所有的樣本是儲存於一CPR參照緩衝器(CPR referring buffer)中。
當該當前塊是藉由AMVP模式編碼或解碼時,僅有與一AMVP目標參考畫面具有相同的一參考畫面的HMVP候選才會被納入於該候選列表之中。在一些實施例中,一修剪處理流程會被應用來將從該HMVP表格或從該CPR HMVP表格中所取得的一個或多個HMVP候選與一個或多個既存的候選進行檢查,以從該候選列表中移除任何冗餘的HMVP候選。
在一實施例中,當該當前塊是要藉由該CPR模式來加以編碼或解碼時,用於預測當該當前塊的該參考塊解碼後的樣本是從一CPR參照緩衝器所取得。該CPR參照緩衝器是依照一個虛擬管道資料單元(Virtual Pipeline Data Unit,VPDU)接著一個VPDU加以更新,其中每一個VPDU的一區域或一尺寸大小是事先定義的,例如一個VPDU的尺寸大小是等於一最大轉換塊(TB)的尺寸大小。
使用一CPR參照緩衝器來解碼視訊資料的方法與裝置也予以揭示。施行這些方法的一視訊解碼系統的實施例會接收一當前畫面中與一當前VPDU相關聯的輸入資料;進行一解碼程序來解碼該當前VPDU中的編解碼單元(CU)以及產生該當前VPDU的解碼後的樣本。藉由取得儲存於一CPR參照緩衝器中的一參考塊的解碼後的樣本,來對於以一CPR模式編碼的每一個CU加以解碼。當完成該當前VPDU的解碼程序時,藉由儲存該當前VPDU的解碼後的樣本,來對於該CPR參照緩衝器加以更新。該CPR參照緩衝器是依照一個VPDU接著一個VPDU來加以更新。每一個VPDU的一區域或一尺寸大小是事先定義的,例如每一個VPDU的尺寸大小是固定於64x64 亮度樣本或 32x32 色度樣本以用於4:2:0顏色樣本格式。依據一實施例,每一個VPDU的尺寸大小是設定為等於一最大TB的尺寸大小。
用於每一CU的解碼程序包括:解碼模式信息;依據該模式信息進行幀內預測、幀間預測、或CPR以產生用於該CU的一預測子;以及還原一轉換後並且量化後的殘差信號,以及依據該還原的轉換後並且量化後的殘差信號以及該預測子來重構該CU以產生該解碼後的樣本。在一些實施例中,用於解碼以CPR模式所編碼的一當前CU並儲存在該CPR參照緩衝器中的一參考塊的一個或多個解碼後的樣本,和該當前CU不是處於一相同的編解碼樹單元( CTU)。
本揭示的一些部分進一步提供一個在一視訊解碼系統中的裝置,而且該裝置包括一或多個電子電路配置用來:接收一當前畫面中與一當前塊相關聯的輸入資料;藉由納入一個或多個HMVP的候選,來建構用於該當前塊的一候選列表;從該候選列表中選擇一候選來用於該當前塊;依據所選擇的該候選的運動信息來於一參考畫面中定位一參考塊;以及依據一一般幀間預測模式或CPR模式利用該參考塊來預測該當前塊,用以編碼或解碼該當前塊。如果該當前塊是要藉由一一般幀間預測模式來處理,該一個或多個HMVP候選會從一一般HMVP表格中取得,以及如果該當前塊是要藉由一CPR模式來處理,該一個或多個HMVP候選會從一CPR HMVP表格中取得。如果該當前塊是要藉由該CPR模式來處理,該參考畫面即為該當前畫面。
本揭示的一些部分進一步提供一種用來儲存程式指令的非暫時性電腦可讀取媒介,該程式指令使得一裝置的一處理電路對於一當前塊的視訊資料進行編碼或解碼,其依據當前塊的一預測模式,藉由使用一一般HMVP的表格或一CPR HMVP的表格來建構一候選列表。透過對以下具體實施例描述的檢閱,本發明的其他方面和特徵對於本領域一般技藝人士將變得明顯易懂。
容易理解的是,如本文附圖中一般描述和說明的本發明的各種模組可以以各種不同的配置來佈置和設計。因此,如附圖所示,本發明的系統和方法的實施例的以下更詳細的描述並非旨在限制所要求保護的本發明的範圍,而僅僅代表本發明的所選實施例。
本說明書中對“實施例”,“一些實施例”或類似語言的引用意味著結合實施例描述的具體特徵、結構或特性可以包括在本發明的至少一實施例中。因此,貫穿本說明書在各個地方出現的短語“在實施例中”或“在一些實施例中”不一定都指代相同的實施例,這些實施例可單獨地實現或者與一個或多個其他實施例結合實現。此外,所描述的特徵,結構或特性可在一個或多個實施例中以任何合適的方式組合。然而,相關領域的習知技藝者將認識到,可在沒有一個或多個具體細節的情況下或者利用其他方法,組件等來實踐本發明。在其他情況下,未示出或詳細描述公知的結構或操作,以避免模糊本發明的各方面。
本發明的各種實施例改進當前畫面參考(Current Picture Referencing,CPR)與其他編解碼工具的整合。有些實施例考量的場合為在CPR與一般幀間預測整合之下,應用雙樹塊分割來分割亮度與色度分量。一旗標CPR_enable_flag被發信來指示出一當前CU或一當前PU是否藉由CPR模式來加以編解碼。當一當前畫面是包括於參考畫面列表中而且參考畫面列表中沒有任何幀間參考畫面時,一當前CU或PU被推論為以CPR模式加以編解碼。例如,如果參考畫面列表中所有參考畫面都是當前畫面時,或是如果參考畫面列表中僅有一個參考畫面而且這僅有的參考畫面是當前畫面時,當前CU或PU被推論為以CPR模式加以編解碼。在一例子中,一當前畫面是包括於參考畫面列表中而且在參考畫面列表中沒有其他一般幀間參考畫面,當一或多個並位亮度塊是以CPR模式加以編解碼時,一當前色度CU或PU被推論為以CPR模式加以編解碼。在以下描述中,如果一當前塊是以CPR模式加以編解碼,或者如果對於一當前塊而言CPR模式為致能的(enabled),指向該當前畫面的一參考畫面被用來作為塊預測。
以基於歷史運動向量預測來實行 CPR
藉由於合併候選列表或AMVP候選列表中納入一或多個HMVP候選,HMVP方法改善視訊編解碼的編解碼效率。以一般幀間預測模式(例如跳過模式、合併模式、或AMVP模式)所編解碼或將編解碼的塊,可以藉由從一HMVP候選所推導的一參考塊來進行預測。在某些例子中,一般幀間預測模式是一種預測模式,其使用一運動向量預測子於一一般參考畫面,運動向量預測子是選擇自一候選列表並且用來產生當前塊的預測像素數值,以及所選擇運動向量預測子的一索引被編碼器傳送至解碼器,以使解碼器在藉由使用和編碼器相同的方式來建構候選列表之後可以推導出所選擇運動向量預測子。一般參考畫面是在當前畫面之前所編解碼的一畫面,並可以被當前畫面所參考。在有些實施例中,一HMVP表格僅儲存以一一般幀間預測模式所編解碼的CU的運動信息,並且該一般幀間預測模式包括合併、跳過、與AMVP模式中之一或其中一組合。在一實施例中,如果對於一當前畫面中的一當前塊而言CPR模式是致能的(enabled),而且此當前畫面是參考畫面列表中唯一的參考畫面時,HMVP方法會被失能(disabled)。在另一實施例中,僅有指向一般參考畫面的MV才被用來更新HMVP表格,也就是說,CPR MV不能被插入於HMVP表格中。
在本發明的某些實施例中,HMVP方法也被用來處理藉由CPR模式所編解碼或將編解碼的塊。因此有二個分別的HMVP表格(或二個分別的HMVP列表)被維護,一個HMVP表格儲存之前藉由一般幀間預測模式所處理的編解碼塊的運動信息所相對應的HMVP候選,被稱為一般HMVP表格;另一個HMVP表格儲存之前藉由CPR模式所處理的編解碼塊的運動信息所相對應的HMVP候選,被稱為CPR HMVP表格。儲存在一般HMVP表格的每一個HMVP候選包括在列表0、列表1、或列表0與列表1二者中指向一或二個在一般幀間參考畫面的一或二個MV。一般HMVP表格儲存用於HMVP候選的MV與參考幀索引。儲存於CPR HMVP表格的每一個HMVP候選包括指向當前畫面的一個MV。只有MV需要被儲存於CPR HMVP表格中而且一參考幀索引會被忽略,這是由於對於CPR HMVP表格中的每一個HMVP候選其參考畫面總是當前畫面。在此實施例中,為了對於以一般幀間預測模式(例如AMVP、合併、或跳過模式)所編解碼的一當前塊來進行編碼或解碼,一候選列表是藉由納入從一般HMVP表格中取得的一或多個HMVP候選來進行建構。如果當前塊是以CPR模式所編碼或解碼,一候選列表是藉由納入從CPR HMVP表格中取得的一或多個HMVP候選來進行建構。例如,所述一或多個HMVP候選是在一時間運動向量預測(TMVP)候選之後被插入於候選列表中。
如果當該當前塊是以AMVP模式所編解碼之時,僅有與一AMVP目標參考畫面具有相同的一參考畫面的HMVP候選才會被用來建構該候選列表。一修剪處理流程(pruning process)會被應用來將一個或多個HMVP候選與候選列表中一個或多個既存的候選進行檢查,以從該候選列表中移除任何冗餘的HMVP候選。一候選是從該候選列表中被選擇以用於該當前塊,例如,一編碼器藉由進行一率失真最佳化(rate distortion optimization)來選擇一候選,並且一解碼器依據視訊位元流中所傳輸的一索引來選擇一候選。藉由依據所選擇候選的運動信息而於一參考畫面定位一參考塊以及由參考塊來預測當前塊,然後將當前塊進行編碼或解碼。如果當前塊是以CPR模式所編解碼的,參考畫面即是當前畫面。
在一些實施例中,檢查一CPR MV合法性的條件是在將該CPR MV從該CPR HMVP表格加入到一合併候選列表或AMVP候選列表之前來加以進行。一範圍約束(range constraint)會被設定以決定從CPR HMVP表格中取得的每一個HMVP候選的合法性,而且如果被HMVP候選所指向的一參考塊是位於該範圍約束之內時,從CPR HMVP表格中所取得的一HMVP候選是有效而可以被加入該候選列表中。例如,如果被CPR MV所指向的一參考塊中的參考樣本是被解碼的並且被儲存於一CPR參照緩衝器中,此CPR MV在進行合法性檢查之後會被標示為有效。例如,CPR參照緩衝器儲存一當前CTU與一左方CTU區域的解碼後樣本,一有效的CPR MV會指向該當前CTU或一左方CTU區域中的一參考塊。一無效的CPR MV不會被加入於合併候選列表或AMVP候選列表之中。
在運用二個HMVP表格於一般幀間預測模式與CPR模式的一實施例中,當雙樹塊分割被使用來分割亮度與色度分量時,這二個HMVP表格會被視訊資料的亮度與色度兩分量所共享。當雙樹塊分割被使用時,亮度與色度分量是使用不同的塊分割結構來進行分割;而當共享樹塊分割被使用時,亮度與
色度分量是使用相同的塊分割結構來進行分割。在另一實施例中,當雙樹塊分割被使用來分割亮度與色度分量時,用於一當前亮度塊的候選列表會被一個或多個並位色度塊(collocated chroma block)再使用。在另一實施例中,當一當前色度塊是藉由CPR模式來處理時,該當前色度塊的候選列表包括推導自一個或多個並位亮度塊(collocated luma block)的一個或多個CPR MV。
在另一實施例中,一個HMVP表格被用來儲存之前所解碼的運動信息,從CPR模式與一般幀間預測模式來的二者MV可以被用來更新HMVP表格,而且一或多個HMVP候選會從HMVP表格取得以插入於合併候選列表或AMVP候選列表之中。在一實施例中,當當前畫面被選擇為用於預測當前塊的參考畫面時,只有一AMVP候選列表中的CPR MV可以被使用。
在一實施例中,編碼器或解碼器只從一HMVP表格中將一或多個CPR HMVP插入於一合併候選列表或AMVP候選列表中。在另一實施例中,從一HMVP表格中所取得的任何一個HMVP候選,在加入於一合併候選列表或AMVP候選列表之前會先進位至一整數的精確度。在運用雙樹塊分割於亮度與色度分量的一實施例中,當HMVP方法與CPR模式一併使用時,二個HMVP表格於編碼或解碼過程之中被維護與使用,一個HMVP表格是用於亮度分量而且另一個HMVP表格是用於色度分量。在另一實施例中,一個單一的HMVP表格被維護與使用於亮度與色度分量,而且亮度與色度分量二者的運動信息可以對HMVP表格加以更新。於共享一個單一HMVP表格於亮度與色度分量的一例子中,色度分量只可以再使用一亮度CPR MV而不使用任何相鄰色度CPR MV。
以幀間預測來實行CPR 以下的實施例描述將CPR模式與跳過模式編解碼、合併模式編解碼、或AMVP模式編解碼整合時所應用的各種約束。在一實施例中,編碼器或解碼器只從空間候選或時間候選將CPR MV加入於一合併候選列表或AMVP候選列表之中。在一實施例中,當一當前畫面被選擇作為參考畫面來編碼或解碼以AMVP模式所編解碼的一當前塊時,只有AMVP候選列表中的CPR MV可以被使用。在另一實施例中,合併候選列表中來自CPR或一般幀間預測模式的所有MV都可以被使用。在另一實施例中,只有合併候選列表中來自一般幀間預測模式的MV都可以被使用。在另一實施例中,從一空間候選、時間候選、或被產生候選的一個MV,在加入於合併候選列表或AMVP候選列表之前會先進位至一整數的精確度。
在運用雙樹塊分割來分割亮度與色度分量的一實施例中,亮度與色度分量共享一相同的合併候選列表或AMVP候選列表。例如,一亮度塊產生一合併候選列表或AMVP候選列表,而且一並位色度塊會再使用此一合併候選列表或AMVP候選列表。在另一實施例中,來自一或多個並位亮度塊的一或多個CPR MV可以被用來建構用於一當前色度塊的一合併候選列表或AMVP候選列表。在考量插入指向一合併候選列表或AMVP候選列表中當前畫面的一或多個CPR MV的一些實施例中,檢查每一個CPR MV合法性的條件會先在將該CPR MV加入到合併候選列表或AMVP候選列表之前來加以進行。
以配對式( Pairwise )平均候選或非 - 子塊 STMVP 候選來實行 CPR
在HEVC標準中,配對式平均候選會產生自一合併候選列表中事先定義的合併候選的配對,以作為組合候選的一替代(replacement of combined candidates)。如果二個列表0 MV都是可用的,在每一事先定義配對中合併候選的列表0 MV會被平均,而產生用於一配對式平均候選的一列表0 MV,而且具有一較大合併索引的合併候選的列表0 MV會被縮放到具有一較小合併索引的合併候選的參考畫面。如果只有一列表0 MV是可用的,一合併候選的列表0 MV會被直接用作配對式平均候選的列表0 MV。如果列表0中沒有MV是可用的,配對式平均候選的列表0 是無效的(invalid)。一個相類似的MV平均規則會被應用來推導該配對式平均候選的列表1 MV。非-子塊空間-時間運動向量預測(Spatial-Temporal Motion Vector Prediction,STMVP)模式是聯合探索測試模型(Joint Exploration Test Model ,JEM)中STMVP模式的簡化版本,非-子塊STMVP由於其經過優化的參考位置而產生更多的編解碼好處。一個非-子塊STMVP候選是由將空間與時間候選的一組合加以平均而產生的。非-子塊STMVP模式對於硬體實行也是有助益的。將配對式平均候選或非-子塊STMVP候選插入於一合併候選列表或AMVP候選列表中,會改善跳過模式編解碼、合併模式編解碼、或AMVP模式編解碼的編解碼效率。
在一實施例中,如果用來產生一配對式平均候選或非-子塊STMVP候選的所有來源候選都是CPR MV,所產生結果的配對式平均候選或非-子塊STMVP候選是一有效的CPR候選。例如,來自一合併候選列表的二個運動候選二者都是CPR候選,而且產生自這二個CPR候選的一配對式平均候選也會是一有效的CPR候選。在一例子中,配對式平均候選的一MV會進位至一整數的MV。在另一例子中,如果配對式平均候選的一MV不是一整數的MV,此一配對式平均候選不會被加入於候選列表中。在一實施例中,一CPR配對式平均候選不會被加入於候選列表中。例如,如果一CPR配對式平均候選的一參考畫面指向一當前畫面,此一CPR配對式平均候選不會被加入於候選列表中。
在另一實施例中,如果用來產生一非-子塊STMVP候選的所有可用的候選都是CPR MV,此一非-子塊STMVP候選也是一有效的候選。在另一實施例中,只有CPR候選被視為有效的候選以進行平均。在一例子中,一非-子塊STMVP候選的一MV會進位至一整數的MV。在另一例子中,如果一非-子塊STMVP候選的一MV不是一整數的MV,此一非-子塊STMVP候選不會被加入於候選列表中。在另一實施例中,在用於產生一非-子塊STMVP候選時,CPR候選會被視為無效的候選。例如,如果一非-子塊STMVP候選的一參考畫面指向一當前畫面,此一非-子塊STMVP候選不會被加入於候選列表中。
以 MMVD 來實行 CPR
在近來的視訊編解碼設計中,具有運動向量差異的合併模式(Merge mode with Motion Vector Difference,MMVD)被考慮用在跳過模式編解碼或合併模式編解碼之中。如果一合併旗標或跳過旗標是致能的,相對應於MMVD的語法元素會被發信。MMVD的概念是擴展既有的MV以增加在一合併候選列表中這些MV的多樣性。首先,在一合併候選列表中的K個MV被選擇為MMVD的擴展,其中K是大於0的一整數。只有具有一預設合併類型(MRG_TYPE_DEFAULT_N)的合併候選可以被選擇作MMVD擴展。與一一般合併編解碼流程相類似,只有一合併候選索引需要被發信,而且一解碼器可以從合併候選索引與MMVD信息來建構MV信息,例如,解碼器依據合併候選索引藉由參考相鄰MV信息來決定幀間方向(interDir)、參考索引、與MVP索引。從MMVD信息,解碼器決定基礎MV(base MV)的數目、擴展的方向、與擴展的步驟大小。在以MMVD來實行CPR的一實施例中,當CPR與MMVD二者都被致能時,只有具有IBC合併類型(MRG_TYPE_IBC)的合併候選才被保存作為有效的MMVD擴展。如此一來,所有擴展的MV都必須指向至當前畫面。在另一實施例中,擴展的MV的範圍可以被約束在一CTU、一CTU行(row)、或M個CTU行,其中M是大於0的一整數。在一例子中,當目標候選是一CPR候選時,在MMVD的MVD縮放會被失能(disabled)。在另一實施例中,當CPR被致能時,MMVD會被推論為失能。在另一實施例中,CPR候選不能被選擇為MMVD的擴展。
在運用雙樹塊分割的一實施例中,當MMVD與CPR二者都被致能時,色度分量可以從一亮度分量再使用MMVD信息而不管是否有進行縮放。在運用雙樹塊分割的另一實施例中,當MMVD與CPR二者都被致能時,色度分量可以藉由使用色度分量的一合併候選列表來推導MMVD信息。如此一來,用於亮度與色度分量的合併候選會被獨立地產生出來。在運用雙樹塊分割的另一實施例中,當MMVD與CPR一起被應用時,色度分量可以再使用一亮度分量的MMVD擴展來推導擴展的MV,並且選擇一最佳的擴展MV來作為所產生結果的色度分量MV。此一所產生結果的MV可以和亮度分量的MV不同。如此一來,只有產生一個合併候選而用於亮度與色度分量二者,而且此與合併模式編解碼近來的設計是符合相容的。
以仿射運動補償來實行CPR 仿射運動補償包括仿射合併模式與仿射AMVP模式。以下將說明幾種方法來改善CPR與仿射運動補償的整合。在一實施例中,如果CPR被致能時,仿射模式(包括仿射合併與仿射AMVP模式)會失能。在一實施例中,當一當前畫面被選擇用作為編解碼一當前塊的參考幀時,仿射AMVP模式會失能,因此用來指示出仿射AMVP模式是否為致能的一旗標可以被省下來。在另一實施例中,一或多個CPR MV不能被用在仿射合併模式中。在另一實施例中,當一仿射模式被選擇時,一參考畫面不能選擇一當前畫面。在另一實施例中,當一仿射模式被選擇時,選擇一當前畫面當成參考畫面的一碼字(codeword)被從參考畫面索引發信中加以移除。
在另一實施例中,仿射AMVP模式的二個或三個控制點必須加以約束,而且只有在一當前畫面的MV可以被用於仿射AMVP模式。在一實施例中,當一當前畫面被選擇作為參考畫面時,只有二個控制點的仿射模式可以被使用。在另一實施例中,當一當前畫面被選擇作為參考畫面時,只有三個控制點的仿射模式可以被使用。在一實施例中,在仿射合併模式中所必需的三個控制點可以是角落推導MV或空間繼承MV。如果CPR用於仿射合併模式為致能的,用於亮度與色度分量二者的三個控制點的MV應該要指向當前畫面。例如,當CPR被致能時,指向當前畫面的第一三個角落推導的MV會被用於仿射合併模式。在另一例子中,當CPR被致能時,指向當前畫面的繼承MV會被用於仿射合併模式。在另一例子中,當CPR被致能時,如果來自當前畫面的角落推導的MV中不到三個是可用的,來自當前畫面的空間繼承MV會被用於仿射合併模式。在一例子中,來自當前畫面的首N個空間繼承MV以及來自當前畫面的首M個角落推導MV,可以被使用作為在仿射合併模式的控制點。N與M的數值二者都是大於0的整數。在另一實施例中,當一當前畫面被選擇用作為參考畫面時,用於列表0的一整數MV旗標會被推論為真,或者imv_idx 是1或2。在另一實施例中,當一當前畫面被選擇用作為參考畫面時,在仿射模式可允許分數的MV;用於列表0、列表1、或列表0與列表1二者的一整數MV旗標會被發信來指示MV是否被編解碼為整數。在另一實施例中,以仿射模式編解碼的每一子塊的MV會進位為整數的MV。
在一些其他實施例中,仿射合併模式或子塊合併模式,如仿射模式與高級時間運動向量預測(Advanced Temporal Motion Vector Prediction,ATMVP)模式,可以藉由使用一分別的候選列表與分別的語法來加以發信。當CPR被致能並且於I-切片時,或當CPR被致能並且所有參考畫面都是當前畫面或只有一個參考畫面其為當前畫面時,仿射合併模式或子塊合併模式會被失能或是強制不加以選擇。
在應用雙樹塊分割的另一實施例中,仿射運動補償與CPR同時被致能,用於亮度與色度分量的CU結構可以不同。用於亮度與色度分量的仿射AMVP編解碼可以被獨立地應用。在另一實施例中,用於亮度與色度分量的二個合併候選列表是被獨立地產生出來,因此亮度與色度分量可以獨立地應用仿射合併模式。在另一實施例中,色度分量可以以縮放用於仿射合併模式編解碼來再使用亮度分量的控制點。
以子塊 ATMVP 來實行 CPR
在以子塊ATMVP模式來實行CPR的一實施例中,如果CPR被致能時,ATMVP會被失能。在應用雙樹塊分割的另一實施例中,ATMVP與CPR二者都被致能,當一亮度分量的一MV指向當前畫面時,用於ATMVP色度分量的一初始MV可以再使用該亮度分量的初始MV。當沒有亮度MV指向當前畫面的情況時,色度ATMVP會被失能。在一實施例中,來自一亮度並位塊的CPR MV被視為用於一當前色度塊的ATMVP候選。在一實施例中,用於ATMVP模式的一並位畫面不能是當前畫面。當發信用於ATMVP模式的一並位畫面或用於一時間並位畫面時,當前畫面會從候選並位畫面列表中被移除,當前畫面不能被發信,或是當前畫面被強制不加以發信。在一實施例中,當一待處理的MV指向當前畫面時,檢查該MV合法性的條件是在將該待處理的候選加入到候選列表之前來加以進行。例如,如果被CPR MV所指向的一參考塊中的所有參考樣本是被解碼的並且被儲存於一CPR參照緩衝器中,此CPR MV在進行合法性檢查之後會被標示為有效。例如,CPR參照緩衝器儲存一當前CTU與一左方CTU區域的解碼後樣本,一有效的CPR MV會指向該當前CTU或一左方CTU區域中的一參考塊。一無效的CPR MV不會被加入於合併候選列表或AMVP候選列表之中。
用於 CPR 參照緩衝器的更新規則
一個虛擬管道資料單元(Virtual Pipeline Data Unit,VPDU)是定義來作為管道處理的一基本單元,其為一硬體友善的設計並藉由在視訊編碼或解碼過程中將一視訊畫面分割為固定大小的數個VPDU。每一視訊畫面被分割為數個不重疊的VPDU來進行管道處理,並且後續的VPDU可以藉由多重管道階段(multiple pipeline stages)來同時處理。要定義VPDU的想法是為了要約束緩衝器尺寸大小於一個管道架構,管道架構會平行地於不同管道階段來解碼不同CU。一個VPDU可以是一方型單位(例如每一VPDU包含MxM個亮度像素或NxN個色度像素),或是一非-方型單位。一個VPDU的面積大小可以藉由一區域(例如4096個像素)或是一尺寸(例如64x64)來加以定義。在硬體解碼器中,每一VPDU是藉由一個管道階段接著另一個管道階段來加以處理,直到每一VPDU藉由所有視訊解碼的管道階段都加以處理過。VPDU的尺寸或區域是事先定義的。在硬體解碼器中的不同管道階段同時處理不同的VPDU。限制一VPDU的尺寸於一尺寸限度之內在硬體實作上是一個重要的設計課題,這是由於VPDU的尺寸在大多數的管道階段大致上是和緩衝器尺寸大小成比例。VPDU尺寸大小的一個實施例是設定為等於一最大轉換塊(TB)的尺寸大小,對於在HEVC標準4:2:0顏色格式是32x32亮度像素或16x16色度像素,或是對於在下一代產生的視訊標準4:2:0顏色格式是64x64亮度像素或 32x32色度像素。
在藉由CPR模式編解碼一當前編解碼樹單元(CTU)中的一當前CU的一當前設計中,當一當前畫面被選擇為參考畫面時,只有當前CTU的樣本可以被該當前CU參考。如此一來,當處理在一當前CTU的一第一CU時,沒有可用的有效參考樣本可以被使用在CPR模式中。需要具有與CTU尺寸大小相同的一CPR參照緩衝器,來儲存當前CTU的中的解碼後樣本。此CPR參照緩衝器在解碼一CTU之後會重置,而且會在每一CU被解碼之後被更新。CPR參照緩衝器是一個CU接著一個CU被更新。只有儲存在CPR參照緩衝器中的解碼後樣本可以被使用在CPR模式中。
在本發明的一些實施例中,當一個VPDU解碼流程結束後,儲存在一CPR參照緩衝器中的解碼後樣本被更新,也就是說CPR參照緩衝器是依照一個VPDU接著一個VPDU加以更新。VPDU可以是具有64x64 亮度樣本的一CU或是VPDU可以被設定為具有與一最大轉換尺寸的塊相同的尺寸。CPR參照緩衝器是一先進先出(first-in-first-out,FIFO)緩衝器。在一實施例中,儲存在CPR參照緩衝器中的解碼後樣本可以被用來解碼以CPR模式編解碼的一當前CU,而不管解碼後樣本與當前CU是否處於一相同的CTU。例如,儲存在CPR參照緩衝器中用來預測一當前CU的一參考塊中的一或多個解碼後樣本,與當前CU不是處於一相同的CTU。在一示例性的實施例中,當一個VPDU解碼流程結束後,一CPR參照緩衝器被更新,而且儲存在CPR參照緩衝器中的解碼後樣本可以藉由CPR模式被用來解碼一當前CU,而不管解碼後樣本與當前CU是否處於相同的CTU中。
用於實施例的代表性流程圖
根據以基於歷史運動向量預測(HMVP)的方法來運用當前畫面參考(CPR)的一實施例,第7圖為繪示一視訊處理方法來處理一當前塊的一流程圖。在第7圖中所繪示的視訊處理方法可以實作施行於一視訊編碼器或一視訊解碼器。在步驟S702,視訊編碼器或視訊解碼器接收一當前畫面中一當前塊的輸入資料;而且當前塊是藉由幀間預測或CPR所編碼或待編碼。藉由CPR所編碼或待編碼的當前塊的一參考畫面是該當前畫面。在步驟S704,檢查當前塊是要藉由一一般幀間預測模式或一CPR模式所處理;在步驟S706,如果當前塊是藉由例如跳過、合併、或AMVP模式的一般幀間預測模式所處理,用於當前塊的一候選列表會藉由納入從一一般HMVP表格所取得的一或多個HMVP候選來加以建構;在步驟S708,如果當前塊是藉由一CPR模式所處理,用於當前塊的一候選列表會藉由納入從一CPR HMVP表格所取得的一或多個HMVP候選來加以建構。一般HMVP表格與CPR HMVP表格被分別維護,一般HMVP表格是藉由以一般幀間預測模式所編解碼塊的運動信息來加以更新,而且CPR HMVP表格是藉由以CPR模式所編解碼塊的運動信息來加以更新。在步驟S710,一候選是從該候選列表中被選擇以用於該當前塊,例如,視訊編碼器依據一率失真最佳化(Rate Distortion Optimization,ROD)決策來選擇該當前塊的候選,或是視訊解碼器依據一熵解碼器所剖析與解碼的一索引來選擇該當前塊的候選。在步驟S712,依據所選擇候選的運動信息來於一參考畫面中定位一參考塊。如果該當前塊是藉由該CPR模式來處理,該參考畫面即為該當前畫面。在步驟S714,藉由利用參考塊來預測當前塊,來對該當前塊進行編碼或解碼。
第8圖為根據運用CPR的一實施例,繪示一視訊處理方法來處理一當前塊的流程圖。第8圖中所繪示視訊處理方法可以在一視訊解碼器中加以實行。在步驟S802,視訊解碼器接收一當前畫面中一當前虛擬管道資料單元(VPDU)的輸入資料,而且在當前畫面CPR是被致能。一個VPDU是由一最大TB尺寸大小或一事先定義的尺寸大小或區域來定義的。在步驟S804,一解碼流程被執行來解碼當前VPDU中的CU,而且一CPR參照緩衝器被用來解碼以一CPR模式編解碼的每一個CU。在步驟S806,CPR參照緩衝器是藉由儲存當前VPDU的解碼後樣本來被更新,而且之後接續的一VPDU會被設定為當前VPDU。然後從步驟S802到S806對當前VPDU進行處理。依據此一實施例,CPR參照緩衝器是一個VPDU接著一個VPDU被更新。
代表性的方塊圖
任何前述所描述的視訊處理方法可以在編碼器、解碼器、或編碼器與解碼器二者上來實施實作,例如:任何所述的視訊處理方法是在一編碼器或解碼器的一CPR預測模組或幀間預測模組上來實施實作。備選地,任何所述的視訊處理方法可以在編碼器或解碼器的CPR預測模組或幀間預測模組上所耦合的一電路來實施實作,以提供CPR預測模組或幀間預測模組所需的信息。第9圖繪示出了實作本發明一或多種視訊處理方法的一視訊編碼器900的一示例性系統方塊圖。視訊編碼器900接收一當前畫面中一當前塊的輸入資料。如果當前塊是要藉由幀內預測來處理,幀內預測模組910會依據一幀內預測模式並基於當前畫面的重構樣本來提供當前塊的一幀內預測子。如果當前塊是要藉由CPR來處理,CPR預測模組911會基於當前塊的一CPR MV來提供一CPR預測子。在一些實施例中,當前塊的CPR MV是從當前塊的一候選列表中所選擇的一候選來推導出的,而且該候選列表包括從一CPR HMVP表格所取得的一或多個HMVP候選。CPR預測模組911取得儲存在一CPR參照緩衝器中的重構樣本來產生該CPR預測子,而且依據本發明的一實施例CPR參照緩衝器是依照一個VPDU接著一個VPDU而加以更新。如果當前塊是要藉由幀間預測來處理,幀間預測模組912會依據當前塊的一或二個MV並基於來自其他一或多個畫面的視訊資料,來進行運動估計(motion estimation,ME)和運動補償(motion compensation,MC)以提供一幀間預測子。在本發明的一些實施例中,所述的一或二個MV是從當前塊的一候選列表中所選擇的一候選來推導出的,而且該候選列表包括從一一般HMVP表格所取得的一或多個HMVP候選。CPR HMVP表格與一般HMVP表格被分別地維護與分別地更新。幀內預測模組910、CPR預測模組911、與幀間預測模組912中之一將所選擇的預測子提供給加法模組916以形成預測誤差,也稱為預測殘差。
當前塊的預測殘差透過轉換模組(T)918進一步處理,接著是量化模組(Q)920處理。然後,已轉換和已量化的殘差信號由熵編碼器934編碼以形成一已編碼的視訊位元流。已編碼的視訊位元流然後與邊信息(side information)一起打包。當前塊的已轉換和已量化的殘差信號由逆量化模組(IQ)922和逆轉換模組(IT)924處理以還原預測殘差。如第9圖所示,藉由在重構模組(REC)926處加回所選擇的預測子來還原預測殘差,以產生重構的樣本。已重構的樣本可以儲存在參考畫面緩衝器 (Ref. Pict. Buffer)932中,中,並用於預測其它畫面。來自REC 926的已重構的樣本可能由於編碼處理而受到各種損害,因此,在儲存於參考畫面緩衝器932之前,內環路處理去塊濾波器(in-loop processing Deblocking Filter, DF)928和樣本適應性偏移(Sample Adaptive Offset, SAO)930可應用於已重構的樣本,以進一步提高畫面品質。與用於內環路處理去塊濾波器DF 928和樣本適應性偏移SAO 930的信息相關聯的語法則被提供給熵編碼器934,以合併到已編碼的視訊位元流中。
用於解碼第9圖的視訊編碼器900所產生視訊位元流的一相對應視訊解碼器1000如第10圖所示。已編碼的視訊位元流是視訊解碼器1000的輸入,並藉由熵解碼器1010解碼以剖析和還原變換後和量化後的殘差信號和其他系統信息。除了解碼器1000僅需要幀間預測模組1014中的運動補償預測之外,解碼器1000的解碼流程類似於編碼器900處的重構環路。在本發明的一些實施例中,二個HMVP表格被分別地維護來解碼以一般幀間預測模式所編碼的CU以及以一CPR模式所編碼的CU。例如,當前塊是藉由幀內預測模組1012、CPR預測模組1013、或幀間預測模組1014來加以解碼,而且如果當前塊是以一一般幀間預測模式來加以編碼時,一個一般HMVP表格會被用來建構該當前塊的一候選列表。如果當前塊是以一CPR模式來加以編碼時,一個CPR HMVP表格會被用來建構該當前塊的一候選列表。依據已解碼的模式信息,開關模組1016自幀內預測模組1012選擇一幀內預測子、自CPR預測模組1013選擇一CPR預測子、或自幀間預測模組1014選擇一幀間預測子。藉由逆量化(Inverse Quantization, IQ)模組1020和逆轉換(Inverse Transformation, IT)模組1022來還原與每個塊相關聯的已轉換和已量化的殘差信號。藉由在重構模組1018中加回預測子來重構已還原的已轉換和已量化的殘差信號,以產生重構的樣本。重構的樣本由去塊濾波器1024和樣本適應性偏移1026進一步處理以產生最終解碼的視訊。如果當前已解碼的畫面是一參考畫面,則當前已解碼畫面的重構樣本也儲存在參考畫面緩衝器1028中,用於解碼順序中的後續畫面。
第9圖和第10圖中的視訊編碼器900和視訊解碼器1000的各種組件可以由硬體組件,一個或複數個處理器被配置為執行存儲在存儲器中的程式指令,或硬體和處理器的組合來實現。例如,處理器執行程式指令以控制一當前畫面中與一當前塊相關聯的輸入資料的接收。處理器配備有單個或複數個處理核心。在一些示例中,處理器執行程式指令以在編碼器900和解碼器1000中的一些組件中執行功能,並且與處理器電耦合的存儲器用於存儲程式指令,對應於塊的已重構影像的信息和/或編碼或解碼過程中的中間資料。在一些實施例中的存儲器包括非暫時性計算機可讀介質,諸如半導體或固態存儲器,隨機存取存儲器(RAM),只讀存儲器(ROM),硬碟,光碟或其他合適的存儲介質。存儲器還可以是上面列出的兩個或更複數個非暫時性計算機可讀介質的組合。如第7圖和第8圖所示,編碼器900和解碼器1000可以在相同的電子設備中實現,因此如果在相同的電子設備中實現,則編碼器900和解碼器1000的各種功能組件可以被共用或重用。例如,第9圖中的重構模組926,逆轉換模組924,逆量化模組922,去塊濾波器928,樣本適應性偏移930和參考畫面緩衝器932中的一個或複數個,也分別可以用作第10圖中的重構模組1018,逆轉換模組1022,逆量化模組1020,去塊濾波器1024,樣本適應性偏移1026和參考畫面緩衝器1028。
於一視訊編解碼系統進行處理方法的實施例,可以在集成於視訊壓縮晶片的電路來實作,或集成於視訊壓縮軟體中執行以上描述的處理的程式代碼來實作。例如,用來編碼或解碼以一一般幀間預測模式或CPR模式所編解碼塊的候選列表,可以實現於一計算機處理器上執行的程式代碼,數位信號處理器(DSP),微處理器或現場可程式閘陣列(field programmable gate array, FPGA)上。可以透過執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼,來將這些處理器配置成執行依據本發明的特定任務。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其他具體形式實施。所描述的例子僅在所有方面被認為是說明性的而不是限制性的。因此,本發明的範圍由所附申請專利範圍而不是前面的描述來指示。屬於申請專利範圍的等同物的含義和範圍內的所有變化將被包括在其範圍內。
100:編解碼樹單元(CTU)
S702~S714:步驟
S802~S806:步驟
900:視訊編碼器
910:幀內預測模組
911:CPR預測模組
912:幀間預測模組
916:加法模組
918:轉換模組(T)
920:量化模組(Q)
922:逆量化模組(IQ)
924:逆轉換模組(IT)
926:重構模組(REC)
928:內環路處理去塊濾波器(ILPF)
930:樣本適應性偏移(SAO)
932:參考畫面緩衝器 (Ref. Pict. Buffer)
934:熵編碼器
1000:視訊解碼器
1010:熵解碼器
1012:幀內預測模組
1013:CPR預測模組
1014:幀間預測模組
1016:開關模組
1018:重構模組(REC)
1020:逆量化模組(IQ)
1022:逆轉換模組(IT)
1024:去塊濾波器(ILPF)
1026:樣本適應性偏移(SAO)
1028:參考畫面緩衝器(Ref. Pict. Buffer)
在本揭示被提出當例子的各種實施例將會參照下列圖式被更詳細地解說,其中相似的數字用來參照相似的元件,而且其中:
第1圖根據HEVC標準中所定義的四叉樹分割繪示一示例性的編解碼樹,以用來將一編解碼樹單元(CTU)分割為數個編解碼單元(CU)以及將每一CU分割為一或多個轉換單元(TU)。
第2圖根據HEVC標準繪示八個不同的預測單元(PU)分割類型,以用來將一CU分割為一或多個PU。
第3A圖根據一四叉樹加二叉樹(QTBT)分割結構繪示一示例性的塊分割結構。
第3B圖繪示相對應於第3A圖QTBT分割結構的一編解碼樹結構。
第4圖展示使用當前畫面參考(CPR)技術來編碼螢幕內容的一些例子。
第5圖繪示一基於歷史運動向量預測(HMVP)方法的一解碼流程。
第6圖繪示更新用於HMVP方法的一表格的一例子。
第7圖為根據本發明一示例性實施例的一流程圖,繪示一視訊處理方法使用二個HMVP表格來編碼或解碼一當前塊。
第8圖為根據本發明另一示例性實施例的一流程圖,繪示一視訊處理方法來解碼一當前VPDU以及更新一CPR參照緩衝器。
第9圖為根據本發明實施例繪示一示例性的系統方塊圖,以用於體現視訊處理方法的一視訊編碼系統。
第10圖為根據本發明實施例繪示一示例性的系統方塊圖,以用於體現視訊處理方法的一視訊解碼系統。
S702~S714:步驟
Claims (20)
- 一種在一視訊編解碼系統中處理視訊資料的方法,包括:接收一當前畫面中與一當前塊相關聯的輸入資料;藉由納入一個或多個基於歷史運動向量預測的候選,來建構用於該當前塊的一候選列表,其中如果該當前塊是要藉由一一般幀間預測模式來處理,該一個或多個基於歷史運動向量預測的候選會從一一般基於歷史運動向量預測的表格中取得,以及如果該當前塊是要藉由一當前畫面參考模式來處理,該一個或多個基於歷史運動向量預測的候選會從一當前畫面參考的基於歷史運動向量預測的表格中取得,其中儲存於該一般基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該一般幀間預測模式所處理的一前一個編解碼塊的運動信息,以及儲存於該當前畫面參考的基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該當前畫面參考模式所處理的一前一個編解碼塊的運動信息;從該候選列表中選擇一候選來用於該當前塊;依據所選擇的該候選的運動信息來於一參考畫面中定位一參考塊,其中如果該當前塊是要藉由該當前畫面參考模式來處理,該參考畫面即為該當前畫面;以及依據該一般幀間預測模式或該當前畫面參考模式利用該參考塊來預測該當前塊,用以編碼或解碼該當前塊;其中該一般幀間預測模式是合併、跳過、高級運動向量預測模式中之一或其中一組合,以及該候選列表是一合併候選列表或一高級運動向量預測候選列表。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中對於每一個基於歷史運動向量預測的候選,該一般基於歷史運動 向量預測的表格中儲存有一或二個運動向量與一或二個參考幀索引;以及對於每一個基於歷史運動向量預測的候選,該當前畫面參考的基於歷史運動向量預測的表格中僅儲存一個運動向量。
- 如申請專利範圍第2項所述在一視訊編解碼系統中處理視訊資料的方法,其中當儲存一基於歷史運動向量預測的候選於該當前畫面參考的基於歷史運動向量預測的表格中的時候,一參考幀索引被忽略,以及儲存於該當前畫面參考的基於歷史運動向量預測的表格中的每一個基於歷史運動向量預測的候選的一參考畫面會被推論作為該當前畫面。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中在編碼或解碼該當前塊之後,如果該當前塊是以該一般幀間預測模式加以編解碼,該一般基於歷史運動向量預測的表格會藉由該當前塊的運動信息來加以更新,或是如果該當前塊是以該當前畫面參考模式加以編解碼,該當前畫面參考的基於歷史運動向量預測的表格會藉由該當前塊的運動信息來加以更新。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中從該一般基於歷史運動向量預測的表格或從該當前畫面參考的基於歷史運動向量預測的表格中所取得的每一個基於歷史運動向量預測的候選,在加入於該候選列表之前會先進位至一整數的精確度。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中當雙樹塊分割被使用來分割亮度與色度分量時,該一般基於歷史運動向量預測的表格與該當前畫面參考的基於歷史運動向量預測的表格會被視訊資料的亮度與色度兩分量所共享。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中當雙樹塊分割被使用來分割亮度與色度分量時,該當前塊是一當前亮度塊,而且用於該當前亮度塊的該候選列表會被一個或多個並位色度塊再使用。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中該當前塊是一當前色度塊而且會被該當前畫面參考模式加以處理,該當前色度塊的該候選列表包括從一個或多個並位亮度塊所推導出來的一個或多個當前畫面參考運動向量。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,進一步包括在將一基於歷史運動向量預測的候選從該當前畫面參考的基於歷史運動向量預測的表格加入該候選列表之前,會檢查該基於歷史運動向量預測的候選的一合法性。
- 如申請專利範圍第9項所述在一視訊編解碼系統中處理視訊資料的方法,其中一基於歷史運動向量預測的候選的該合法性是藉由該基於歷史運動向量預測的候選所指向的一參考塊來決定,而且如果該參考塊是位於一範圍約束之內時,該基於歷史運動向量預測的候選是有效而可以被加入該候選列表中。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中當該當前塊是由一高級運動向量預測模式處理時,僅有與一高級運動向量預測目標參考畫面具有相同的一參考畫面的基於歷史運動向量預測的候選才會被納入於該候選列表之中。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資 料的方法,其中一修剪處理流程會被應用於從該一般基於歷史運動向量預測的表格或從該當前畫面參考的基於歷史運動向量預測子的表格中所取得的一個或多個基於歷史運動向量預測的候選,以從該候選列表中移除任何冗餘的基於歷史運動向量預測的候選。
- 如申請專利範圍第1項所述在一視訊編解碼系統中處理視訊資料的方法,其中當該當前塊是由該當前畫面參考模式處理時,用於預測當該當前塊的該參考塊解碼後的樣本是從一當前畫面參考參照緩衝器所取得,而且該當前畫面參考參照緩衝器是依照一個虛擬管道資料單元接著一個虛擬管道資料單元加以更新,其中每一個虛擬管道資料單元的一區域或一尺寸大小是事先定義的。
- 一種在一視訊解碼系統中處理視訊資料的方法,包括:接收一當前畫面中與一當前虛擬管道資料單元相關聯的輸入資料,其中每一個虛擬管道資料單元的一區域或一尺寸大小是事先定義的;進行一解碼程序來解碼該當前虛擬管道資料單元中的編解碼單元以及產生該當前虛擬管道資料單元的解碼後的樣本,其中藉由取得儲存於一當前畫面參考參照緩衝器中的一參考塊的解碼後的樣本,來對以一當前畫面參考模式編碼的每一個編解碼單元加以解碼;以及當完成該當前虛擬管道資料單元的該解碼程序時,藉由儲存該當前虛擬管道資料單元的解碼後的樣本,來對於該當前畫面參考參照緩衝器加以更新,其中該當前畫面參考參照緩衝器是依照一個虛擬管道資料單元接著一個虛擬管道資料單元加以更新。
- 如申請專利範圍第14項所述在一視訊編解碼系統中處理視訊資料的方法,其中每一個虛擬管道資料單元的尺寸大小是固定於64x64亮度樣本或 32x32色度樣本以用於4:2:0顏色樣本格式。
- 如申請專利範圍第14項所述在一視訊編解碼系統中處理視訊資料的方法,其中每一個虛擬管道資料單元的尺寸大小是設定為等於一最大轉換塊的尺寸大小。
- 如申請專利範圍第14項所述在一視訊編解碼系統中處理視訊資料的方法,其中用於每一編解碼單元的該解碼程序包括:解碼模式信息;依據該模式信息進行幀內預測、幀間預測、或當前畫面參考以產生用於該編解碼單元的一預測子;以及還原一轉換後並且量化後的殘差信號,以及依據該還原的轉換後並且量化後的殘差信號以及該預測子來重構該編解碼單元以產生該解碼後的樣本。
- 如申請專利範圍第14項所述在一視訊編解碼系統中處理視訊資料的方法,其中用於解碼以該當前畫面參考模式所編碼的一當前編解碼單元並儲存在該當前畫面參考參照緩衝器中的一參考塊的一個或多個解碼後的樣本,和該當前編解碼單元不是處於一相同的編解碼樹單元。
- 一個在一視訊解碼系統中處理視訊資料的裝置,該裝置包括一或多個電子電路配置用來:接收一當前畫面中與一當前塊相關聯的輸入資料;藉由納入一個或多個基於歷史運動向量預測的候選,來建構用於該當前塊的一候選列表,其中如果該當前塊是要藉由一一般幀間預測模式來處理,該一個或多個基於歷史運動向量預測的候選會從一一般基於歷史運動向量預測的表格中取得,以及如果該當前塊是要藉由一當前畫面參考模式來處理,該一個或多個基於歷史運動向量預測的候選會從一當前畫面參考的基於歷史運動向量預 測的表格中取得,其中儲存於該一般基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該一般幀間預測模式所處理的一前一個編解碼塊的運動信息,以及儲存於該當前畫面參考的基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該當前畫面參考模式所處理的一前一個編解碼塊的運動信息;從該候選列表中選擇一候選來用於該當前塊;依據所選擇的該候選的運動信息來於一參考畫面中定位一參考塊,其中如果該當前塊是要藉由該當前畫面參考模式來處理,該參考畫面即為該當前畫面;以及依據該一般幀間預測模式或該當前畫面參考模式利用該參考塊來預測該當前塊,用以編碼或解碼該當前塊;其中該一般幀間預測模式是合併、跳過、高級運動向量預測模式中之一或其中一組合,以及該候選列表是一合併候選列表或一高級運動向量預測候選列表。
- 一種用來儲存程式指令的非暫時性電腦可讀取媒介,該程式指令使得一裝置的一處理電路對於視訊資料進行一視訊處理的方法,而該方法包括:接收一當前畫面中與一當前塊相關聯的輸入資料;藉由納入一個或多個基於歷史運動向量預測的候選,來建構用於該當前塊的一候選列表,其中如果該當前塊是要藉由一一般幀間預測模式來處理,該一個或多個基於歷史運動向量預測的候選會從一一般基於歷史運動向量預測的表格中取得,以及如果該當前塊是要藉由一當前畫面參考模式來處理,該一個或多個基於歷史運動向量預測的候選會從一當前畫面參考的基於歷史運動向量預 測的表格中取得,其中儲存於該一般基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該一般幀間預測模式所處理的一前一個編解碼塊的運動信息,以及儲存於該當前畫面參考的基於歷史運動向量預測的表格中的每一基於歷史運動向量預測的候選相對應於藉由該當前畫面參考模式所處理的一前一個編解碼塊的運動信息;從該候選列表中選擇一候選來用於該當前塊;依據所選擇的該候選的運動信息來於一參考畫面中定位一參考塊,其中如果該當前塊是要藉由該當前畫面參考模式來處理,該參考畫面即為該當前畫面;以及依據該一般幀間預測模式或該當前畫面參考模式利用該參考塊來預測該當前塊,用以編碼或解碼該當前塊;其中該一般幀間預測模式是合併、跳過、高級運動向量預測模式中之一或其中一組合,以及該候選列表是一合併候選列表或一高級運動向量預測候選列表。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862756612P | 2018-11-07 | 2018-11-07 | |
US62/756,612 | 2018-11-07 | ||
WOPCT/CN2019/115905 | 2019-11-06 | ||
PCT/CN2019/115905 WO2020094038A1 (en) | 2018-11-07 | 2019-11-06 | Method and apparatus of encoding or decoding video blocks by current picture referencing coding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202025733A TW202025733A (zh) | 2020-07-01 |
TWI749394B true TWI749394B (zh) | 2021-12-11 |
Family
ID=70611695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108140225A TWI749394B (zh) | 2018-11-07 | 2019-11-06 | 利用當前畫面參照編碼方式的視訊區塊編碼或解碼方法和裝置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11252406B2 (zh) |
EP (2) | EP3871416A4 (zh) |
CN (2) | CN116527882A (zh) |
TW (1) | TWI749394B (zh) |
WO (1) | WO2020094038A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7328330B2 (ja) | 2018-06-29 | 2023-08-16 | 北京字節跳動網絡技術有限公司 | Lutにおける動き候補のチェック順序 |
GB2588531B (en) * | 2018-06-29 | 2023-02-01 | Beijing Bytedance Network Tech Co Ltd | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
CN116886926A (zh) * | 2018-11-10 | 2023-10-13 | 北京字节跳动网络技术有限公司 | 成对平均候选计算中的取整 |
WO2020139005A1 (ko) * | 2018-12-28 | 2020-07-02 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
US11659166B2 (en) * | 2019-01-02 | 2023-05-23 | Lg Electronics Inc. | Method and apparatus for coding image by using MMVD based on CPR |
WO2020141932A1 (ko) * | 2019-01-04 | 2020-07-09 | 엘지전자 주식회사 | Cpr 기반 mmvd를 이용하는 인터 예측 방법 및 장치 |
WO2020141962A1 (ko) * | 2019-01-04 | 2020-07-09 | 세종대학교산학협력단 | 영상 부호화/복호화 방법 및 장치 |
CN113383549A (zh) | 2019-02-02 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 使用用于视频编解码中的帧内块复制的帧内缓冲区样点的预测 |
EP3915252A4 (en) | 2019-03-04 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | IMPLEMENTATION OF ASPECTS IN AN INTRA BLOCK COPY IN VIDEO ENCODING |
CN113940082A (zh) * | 2019-06-06 | 2022-01-14 | 北京字节跳动网络技术有限公司 | 基于子块的帧内块复制和不同编解码工具之间的交互 |
MX2022000110A (es) | 2019-07-10 | 2022-02-10 | Beijing Bytedance Network Tech Co Ltd | Identificacion de muestras para la copia intra-bloque en codificacion de video. |
MX2022000714A (es) | 2019-07-25 | 2022-02-23 | Beijing Bytedance Network Tech Co Ltd | Restriccion de mapeo para bufer virtual de copia intrabloque. |
CN117499659A (zh) * | 2019-07-25 | 2024-02-02 | 北京字节跳动网络技术有限公司 | 帧内块复制虚拟缓冲区的尺寸限制 |
CN114287130A (zh) * | 2019-08-24 | 2022-04-05 | 北京字节跳动网络技术有限公司 | 基于历史的运动矢量预测表的编解码表示 |
CN117579825A (zh) | 2019-09-05 | 2024-02-20 | 北京字节跳动网络技术有限公司 | 帧内块复制模式下块矢量的范围约束 |
JP7307274B2 (ja) | 2019-09-23 | 2023-07-11 | 北京字節跳動網絡技術有限公司 | 仮想パイプラインデータユニットに基づいたイントラブロックコピー仮想バッファの設定 |
US11363285B2 (en) * | 2020-02-20 | 2022-06-14 | Tencent America LLC | Block partitioning at picture boundaries |
CN113286152B (zh) * | 2020-02-20 | 2023-05-23 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备及存储介质 |
WO2021185306A1 (en) | 2020-03-18 | 2021-09-23 | Beijing Bytedance Network Technology Co., Ltd. | Intra block copy buffer and palette predictor update |
US11477437B2 (en) * | 2021-01-28 | 2022-10-18 | Lemon Inc. | Coding of motion information |
CN118176731A (zh) * | 2021-08-24 | 2024-06-11 | 抖音视界有限公司 | 用于视频处理的方法、装置和介质 |
CN113992635B (zh) * | 2021-10-20 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 多媒体数据处理方法、装置、设备及存储介质 |
WO2023072216A1 (en) * | 2021-10-28 | 2023-05-04 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201714455A (zh) * | 2015-10-02 | 2017-04-16 | 高通公司 | 內區塊複製合併模式及不可用內區塊複製參考區域之填充 |
CN106797479A (zh) * | 2014-10-09 | 2017-05-31 | 高通股份有限公司 | 对于并行处理的帧内块复制预测限制 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6332171B1 (en) * | 1999-02-19 | 2001-12-18 | International Business Machines Corporation | Self-contained queues with associated control information for receipt and transfer of incoming and outgoing data using a queued direct input-output device |
US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
US9247266B2 (en) * | 2011-04-18 | 2016-01-26 | Texas Instruments Incorporated | Temporal motion data candidate derivation in video coding |
TR201901275T4 (tr) * | 2011-06-30 | 2019-02-21 | Ericsson Telefon Ab L M | Referans resim sinyalleme. |
GB201113527D0 (en) * | 2011-08-04 | 2011-09-21 | Imagination Tech Ltd | External vectors in a motion estimation system |
US9083983B2 (en) | 2011-10-04 | 2015-07-14 | Qualcomm Incorporated | Motion vector predictor candidate clipping removal for video coding |
WO2014082680A1 (en) * | 2012-11-30 | 2014-06-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Compressed data stream transmission using rate control |
US20160073115A1 (en) | 2013-04-05 | 2016-03-10 | Samsung Electronics Co., Ltd. | Method for determining inter-prediction candidate for interlayer decoding and encoding method and apparatus |
US10555001B2 (en) * | 2014-02-21 | 2020-02-04 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
WO2016034058A1 (en) | 2014-09-01 | 2016-03-10 | Mediatek Inc. | Method of intra picture block copy for screen content and video coding |
CN111147845B (zh) | 2014-11-27 | 2023-10-10 | 株式会社Kt | 对视频信号进行解码的方法和对视频信号进行编码的方法 |
CN107005696B (zh) * | 2014-11-27 | 2020-06-26 | 株式会社Kt | 视频信号处理方法和设备 |
-
2019
- 2019-11-06 CN CN202310563581.9A patent/CN116527882A/zh active Pending
- 2019-11-06 EP EP19881196.0A patent/EP3871416A4/en active Pending
- 2019-11-06 CN CN201980072894.6A patent/CN113016187B/zh active Active
- 2019-11-06 WO PCT/CN2019/115905 patent/WO2020094038A1/en unknown
- 2019-11-06 TW TW108140225A patent/TWI749394B/zh active
- 2019-11-06 US US17/291,085 patent/US11252406B2/en active Active
- 2019-11-06 EP EP23170555.9A patent/EP4221226A1/en active Pending
-
2022
- 2022-01-03 US US17/567,302 patent/US11785207B2/en active Active
- 2022-01-03 US US17/567,313 patent/US11889056B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797479A (zh) * | 2014-10-09 | 2017-05-31 | 高通股份有限公司 | 对于并行处理的帧内块复制预测限制 |
TW201714455A (zh) * | 2015-10-02 | 2017-04-16 | 高通公司 | 內區塊複製合併模式及不可用內區塊複製參考區域之填充 |
Also Published As
Publication number | Publication date |
---|---|
EP3871416A1 (en) | 2021-09-01 |
US11889056B2 (en) | 2024-01-30 |
EP4221226A1 (en) | 2023-08-02 |
TW202025733A (zh) | 2020-07-01 |
US20220124318A1 (en) | 2022-04-21 |
EP3871416A4 (en) | 2022-08-24 |
US20220124319A1 (en) | 2022-04-21 |
CN113016187A (zh) | 2021-06-22 |
WO2020094038A1 (en) | 2020-05-14 |
US11252406B2 (en) | 2022-02-15 |
US11785207B2 (en) | 2023-10-10 |
CN116527882A (zh) | 2023-08-01 |
CN113016187B (zh) | 2023-06-06 |
US20210314560A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI749394B (zh) | 利用當前畫面參照編碼方式的視訊區塊編碼或解碼方法和裝置 | |
JP7044778B2 (ja) | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読記録媒体 | |
CN113039787B (zh) | 解码器侧运动矢量细化 | |
TWI749584B (zh) | 具有自適應色彩轉換技術之視訊資料編碼或解碼方法和裝置 | |
TWI666927B (zh) | 用於四叉樹加二叉樹拆分塊的候選集決定的方法與裝置 | |
TWI652939B (zh) | 視訊編碼方法和裝置 | |
CN109644271B (zh) | 用于二叉树分割块的确定候选集的方法及装置 | |
JP6378433B2 (ja) | イントラbcとインター予測の統合のためのamvpおよびマージ候補リスト導出 | |
KR102435500B1 (ko) | 비디오 신호의 복호화 방법 및 이의 장치 | |
KR20230113262A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한기록 매체 | |
TW201743619A (zh) | 在視訊寫碼中適應性迴路濾波中之多個濾波器之混淆 | |
CN114175636A (zh) | 自适应参数集中的自适应环路滤波的指示 | |
KR20210019047A (ko) | 인터 예측 방법 및 그 장치 | |
CN113039782B (zh) | 视频编解码中的子块去块方法及装置 | |
CN112840645A (zh) | 视频编码系统中组合多个预测子用于块预测的方法及装置 | |
TWI779391B (zh) | 視訊編解碼中發信可適性運動向量差值解析度的方法和裝置 | |
RU2819080C2 (ru) | Способ и устройство кодирования/декодирования сигналов изображений | |
WO2023143325A1 (en) | Method and apparatus for video coding using merge with mvd mode | |
RU2819393C2 (ru) | Способ и устройство кодирования/декодирования сигналов изображений | |
TW202404368A (zh) | 使用基於ctu的基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 |