TW202025769A - 一種視頻處理方法和裝置 - Google Patents
一種視頻處理方法和裝置 Download PDFInfo
- Publication number
- TW202025769A TW202025769A TW108123184A TW108123184A TW202025769A TW 202025769 A TW202025769 A TW 202025769A TW 108123184 A TW108123184 A TW 108123184A TW 108123184 A TW108123184 A TW 108123184A TW 202025769 A TW202025769 A TW 202025769A
- Authority
- TW
- Taiwan
- Prior art keywords
- motion
- candidates
- merge
- candidate
- patent application
- Prior art date
Links
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
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
提供了視頻處理的方法以包括:維護表的集合,其中每個表包括運動候選,並且每個運動候選與對應的運動資訊相關聯;使用來自表的集合的一個或多個表更新候選列表;基於候選列表執行基於表的當前塊與包括當前塊的視頻的位元流表示之間的轉換;並且其中轉換基於從候選列表中的候選繼承的運動資訊。
Description
本專利文件涉及視頻編碼技術、設備和系統。
[相關申請的交叉引用]
根據適用的專利法和/或依據巴黎公約,做出本發明以及時要求2018年6月29日提交的國際專利申請No.PCT/CN2018/093663、和2019年1月16日提交的國際專利申請No.PCT/CN2019/072058的優先權和權益。出於美國法律的所有目的,國際專利申請No.PCT/CN2018/093663和國際專利申請No.PCT/ CN2019/072058的全部公開通過引用合併作為本發明的公開的一部分。
儘管視頻壓縮有所進步,但是數位視頻仍然占互聯網和其它數位通信網路上最大的頻寬使用。隨著能夠接收並且顯示視頻的連接的使用者設備的數量增加,預計數位視頻使用所需的頻寬將繼續增長。
本文件公開了用於使用運動向量的Merge清單編碼和解碼數位視頻的方法、系統、和設備。
在一個示例方面,提供了視頻處理的方法,包括:維護表的集合,其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯;使用來自表的集合的一個或多個表更新候選列表;基於候選列表執行,基於表的當前塊與包括當前塊的視頻的位元流表示之間的轉換;並且其中轉換基於從候選列表中的候選繼承的運動資訊。
在另一示例方面,提供了用於視頻處理的方法以包括:接收包括當前塊的視頻的位元流表示;以及基於使用一個或多個表更新的候選列表處理位元流表示,其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯,並且轉換基於從候選列表中的候選繼承的運動資訊。
在又一示例方面,公開了實施本文描述的視頻編碼方法的視頻編碼器設備。
在又一代表性方面,本文描述的各種技術可以體現為儲存在非暫時性電腦可讀介質上的電腦程式產品。電腦程式產品包括用於實行本文描述的方法的程式碼。
在又一代表性方面,視頻解碼器裝置可以實施如本文描述的方法。
在隨附的附件、附圖、和以下描述中闡述了一個或多個實施方式的細節。從描述和附圖以及從申請專利範圍,其它特徵將是顯而易見的。
為了改進視頻的壓縮比,研究人員持續地尋找通過其來編碼視頻的新技術。
1.
簡介
本文件涉及視頻編碼技術。具體地,本文件涉及視頻編碼中的運動資訊編碼(諸如Merge模式、AMVP模式)。本文件可以應用於像HEVC的現有視頻編碼標準、或要最終確定的標準(多功能視頻編碼)。本文件也可以適用於未來視頻編碼標準或視頻編碼器。
簡要討論
視頻編碼標準已經主要地通過眾所周知的ITU-T和ISO/IEC標準的發展而演進。ITU-T產生了H.261和H.263,ISO/IEC產生了MPEG-1和MPEG-4視頻(Visual),並且兩個組織聯合地產生了H.262/MPEG-2視頻和H.264/MPEG-4高級視頻編碼(Advanced Video Coding,AVC)以及H.265/HEVC標準。自從H.262以來,視頻編碼標準基於混合視頻編碼結構,其中利用時間預測加上變換編碼。圖1中描繪了典型的HEVC編碼器框架的示例。
2.1
分割結構
2.1.1 H.264/AVC
中的分割樹結構
先前標準中的編碼層的核心是巨集塊,包含16×16的亮度樣本(sample)塊,並且在4:2:0顏色採樣的通常情況,包含兩個對應的8×8的彩度樣本塊。
幀內編碼塊使用空間預測以利用畫素當中的空間相關性。定義了兩個分割:16x16和4x4。
幀間編碼塊通過估計圖片當中的運動來使用時間預測而不是空間預測。可以針對16x16宏塊或其任何子宏塊分割:16x8、8x16、8x8、8x4、4x8、4x4(參見圖2)獨立地估計運動。每個子宏塊分割僅允許一個運動向量(Motion Vector,MV)。
2.1.2 HEVC
中的分割樹結構
在HEVC中,通過使用標示為編碼樹的四叉樹結構將CTU劃分成CU,以適應各種局部特性。是否要使用圖片間(時間)或圖片內(空間)預測編碼圖片區域的決定是在CU級別處做出的。根據PU劃分類型,每個CU可以進一步劃分成一個、兩個或四個PU。在一個PU內部,應用相同的預測過程,並且在PU基礎上將相關資訊發送到解碼器。在通過基於PU劃分類型應用預測過程獲得殘差塊之後,可以根據與CU的編碼樹類似的另一四叉樹結構將CU分割為變換單元(TU)。HEVC結構的關鍵特徵之一是它具有包括CU、PU、和TU的多個分割概念。
在下文中,如下突出使用HEVC的混合視頻編碼涉及的各種特徵。
1)編碼樹單元和編碼樹塊(CTB)結構:HEVC中的類似結構是編碼樹單元(CTU),編碼樹單元具有由編碼器選擇的尺寸並且可以大於傳統宏塊。CTU由亮度CTB和對應的彩度CTB和語法元素組成。亮度CTB的尺寸L×L可以選取為L=16、32、或64個樣本,更大的尺寸典型地能夠更好的壓縮。HEVC然後支援使用樹結構和類似四叉樹信號將CTB分割為更小的塊。
2)編碼單元(CU)和編碼塊(CB):CTU的四叉樹語法指定其亮度和彩度CB的尺寸和位置。四叉樹的根與CTU相關聯。因此,亮度CTB的尺寸是亮度CB的最大支持尺寸。聯合地信號通知CTU到亮度和彩度CB的劃分。一個亮度CB和通常地兩個彩度CB與相關聯的語法一起形成編碼單元(CU)。CTB可以僅包含一個CU或者可以被劃分以形成多個CU,並且每個CU具有相關聯的到預測單元(PU)的分割和變換單元的樹(TU)。
3)預測單元和預測塊(Prediction Block,PB):是否要使用幀間或幀內預測編碼圖片區域的決定是在CU級別處做出的。PU分割結構在CU級別處具有其根。取決於基本預測類型決定,亮度和彩度CB然後可以進一步以尺寸劃分並且從亮度和彩度預測塊(PB)中預測。HEVC支援從64×64下到4×4樣本的可變PB尺寸。圖3示出了對於MxM CU允許的PB的示例。
4)TU和變換塊:使用塊變換編碼預測殘差。TU樹結構在CU級別處具有其根。亮度CB殘差可以與亮度變換塊(TB)相同或者可以進一步被劃分成更小的亮度TB。這同樣適用於彩度TB。與離散餘弦變換(Discrete Cosine Transform,DCT)的整數基函數類似的整數基函式定義方形TB尺寸4×4、8×8、16×16、和32×32。對於亮度幀內預測殘差的4×4變換,替代地指定從離散正弦變換(Discrete Sine Transform,DST)的形式推導的整數變換。
圖4示出了將CTB細分為CB[和變換塊(TB)]的示例。實線指示CB邊界並且虛線指示TB邊界。(a)CTB與其分割。(b)對應的四叉樹。
2.1.2.1
到變換塊和單元的樹結構化的分割
對於殘差編碼,可以將CB遞迴地分割為變換塊(TB)。分割由殘差四叉樹信號通知。僅指定了方形CB和TB分割,其中塊可以遞迴地劃分到象限(quadrant),如圖4中所示。對於尺寸M×M的給定亮度CB,標誌信號通知是否將其劃分成尺寸為M/2×M/2的四個塊。如果進一步劃分是可能的,如由SPS中指示的殘差四叉樹的最大深度信號通知的,則每個象限被指派指示是否將其劃分成四個象限的標誌。從殘差四叉樹引起的葉節點塊是通過變換編碼進一步處理的變換塊。編碼器指示它將使用的最大和最小亮度TB尺寸。當CB尺寸大於最大TB尺寸時,劃分是隱含的。當劃分將引起亮度TB尺寸小於指示的最小值時,不劃分是隱含的。除了當亮度TB尺寸為4×4時,彩度TB尺寸在每個維度中是亮度TB尺寸的一半,在這種情況下,單個4×4彩度TB用於由四個4×4亮度TB覆蓋的區域。在圖片內預測的CU的情況下,最近的相鄰TB(在CB內或外部)的解碼樣本用作用於幀內預測的參考資料。
與先前的標準相反,HEVC設計允許TB橫跨用於圖片間預測的CU的多個PB,以最大化四叉樹結構化的TB分割的潛在編碼效率益處。
2.1.2.2
父和子節點
根據四叉樹結構劃分CTB,四叉樹結構的節點是編碼單元。四叉樹結構中的多個節點包括葉節點和非葉節點。葉節點在樹結構中不具有子節點(即,葉節點不進一步劃分)。非葉節點包括樹結構的根節點。根節點對應於視頻資料的初始視頻塊(例如,CTB)。對於多個節點中的每個各個非根節點,各個非根節點對應於視頻塊,該視頻塊是對應於各個非根節點的樹結構中的父節點的視頻塊的子塊。多個非葉節點中的每個各個非葉節點在樹結構中具有一個或多個子節點。
2.1.3
在
JEM
中具有更大
CTU
的四叉樹加上二叉樹塊結構
為了探索超越HEVC的未來視頻編碼技術,由VCEG和MPEG在2015年聯合地成立了聯合視頻探索團隊(Joint Video Exploration Team,JVET)。自從那時以來,許多新方法已經由JVET採用並且放入到名為聯合探索模型(Joint Exploration Model,JEM)的參考軟體中。
2.1.3.1 QTBT
塊分割結構
不同於HEVC,QTBT結構去除多個分割類型的概念,即,它去除了CU、PU和TU概念的分離,並且對於CU分割形狀支持更多的靈活性。在QTBT塊結構中,CU可以具有方形或矩形形狀。如圖5中所示,首先由四叉樹結構分割編碼樹單元(CTU)。四叉樹葉節點進一步由二叉樹結構分割。在二叉樹劃分中有兩種劃分類型,對稱水平劃分和對稱垂直劃分。二叉樹葉節點被稱為編碼單元(CU),並且該分割用於預測和變換處理而無需任何進一步的分割。這意味著CU、PU和TU在QTBT編碼塊結構中具有相同塊尺寸。在JEM中,CU有時由不同顏色分量的編碼塊(CB)組成,例如,在4:2:0彩度格式的P和B條帶的情況下,一個CU包含一個亮度CB和兩個彩度CB,並且有時由單個分量的CB組成,例如,在I條帶的情況下,一個CU僅包含一個亮度CB或僅兩個彩度CB。
為QTBT分割方案定義以下參數。
-CTU尺寸:四叉樹的根節點尺寸,與HEVC中相同的概念
-MinQTSize
:最小允許的四叉樹葉節點尺寸
-MaxBTSize
:最大允許的二叉樹根節點尺寸
-MaxBTDepth
:最大允許的二叉樹深度
-MinBTSize
:最小允許的二叉樹葉節點尺寸
在QTBT分割結構的一個示例中,CTU尺寸設置為具有兩個對應的64×64彩度樣本塊的128×128亮度樣本,MinQTSize
設置為16×16,MaxBTSize
設置為64×64,MinBTSize
(對於寬度和高度兩者)設置為4×4,並且MaxBTDepth
設置為4。四叉樹分割首先應用於CTU以生成四叉樹葉節點。四叉樹葉節點可以具有從16×16(即,MinQTSize
)到128×128(即,CTU尺寸)的尺寸。如果葉四叉樹節點是128×128,則因為尺寸超過MaxBTSize
(即64×64),所以它將不進一步由二叉樹劃分。否則,葉四叉樹節點可以由二叉樹進一步劃分。因此,四叉樹葉節點也是二叉樹的根節點並且其具有二叉樹深度為0。當二叉樹深度達到MaxBTDepth
(即4)時,不考慮進一步的劃分。當二叉樹節點具有等於MinBTSize
(即4)的寬度時,不考慮進一步的水平劃分。類似地,當二叉樹節點具有等於MinBTSize
的高度時,不考慮進一步的垂直劃分。通過預測和變換處理進一步處理二叉樹的葉節點而無需任何進一步的分割。在JEM中,最大CTU尺寸為256×256亮度樣本。
圖5(左)示出了通過使用QTBT塊劃分的示例,並且圖5(右)示出了對應的樹表示。實線指示四叉樹劃分並且虛線指示二叉樹劃分。在二叉樹的每個劃分(即,非葉)節點中,信號通知一個標誌以指示使用哪種劃分類型(即,水平或垂直),其中0指示水平劃分並且1指示垂直劃分。對於四叉樹劃分,不需要指示劃分類型,因為四叉樹劃分總是水平地和垂直地劃分塊以產生具有相同尺寸的4個子塊。
另外,QTBT方案支持用於亮度和彩度具有分離的QTBT結構的能力。目前,對於P和B條帶,一個CTU中的亮度和彩度CTB共用相同的QTBT結構。然而,對於I條帶,亮度CTB通過QTBT結構分割為CU,並且彩度CTB通過另一QTBT結構分割為彩度CU。這意味著I條帶中的CU由亮度分量的編碼塊或兩個彩度分量的編碼塊組成,並且P或B條帶中的CU由所有三個顏色分量的編碼塊組成。
在HEVC中,限制小塊的幀間預測以減少運動補償的儲存器訪問,使得對於4×8和8×4塊不支持雙向預測,並且對於4×4塊不支持幀間預測。在JEM的QTBT中,去除了這些限制。
2.1.4
用於
VVC
的三叉樹
在一些實施例中,支持除四叉樹和二叉樹之外的樹類型。在實施方式中,引入了另外兩個三叉樹(ternary tree,TT)分割,即水平和垂直中心側三叉樹,如圖6中(d)和(e)所示。
圖6示出:(a)四叉樹分割(b)垂直二叉樹分割(c)水平二叉樹分割(d)垂直中心側三叉樹分割(e)水平中心側三叉樹分割。
在一些實施方式中,存在樹的兩個級別,區域樹(四叉樹)和預測樹(二叉樹或三叉樹)。首先由區域樹(Region Tree,RT)分割CTU。可以用預測樹(Prediction Tree,PT)進一步分割RT葉。也可以用PT進一步劃分PT葉,直到達到最大PT深度。PT葉是基本編碼單元。為方便起見,它仍然被稱為CU。 CU不可以進一步劃分。預測和變換兩者都以與JEM相同的方式應用於CU。整個分割結構被稱為“多類型樹”。
2.1.5
示例分割結構
在此回應中使用的被稱為多樹類型(Multi-Tree Type,MTT)的樹結構是QTBT的一般化。在QTBT中,如圖5中所示,首先由四叉樹結構分割編碼樹單元(CTU)。四叉樹葉節點進一步由二叉樹結構分割。
MTT的基本結構由樹節點的兩種類型構成:區域樹(RT)和預測樹(PT),支援分割的九種類型,如圖7中所示。
圖7示出:(a)四叉樹分割(b)垂直二叉樹分割(c)水平二叉樹分割(d)垂直三叉樹分割(e)水平三叉樹分割(f)水平上非對稱二叉樹分割(g)水平下非對稱二叉樹分割(h)垂直左非對稱二叉樹分割(i)垂直右非對稱二叉樹分割。
區域樹可以遞迴地將CTU劃分方形塊,下至4x4尺寸的區域樹葉節點。在區域樹中的每個節點處,可以從三種樹類型之一形成預測樹:二叉樹(BT)、三叉樹(TT)、和非對稱二叉樹(Asymmetric Binary Tree,ABT)。在PT劃分中,禁止在預測樹的分支中具有四叉樹分割。與在JEM中相同,亮度樹和彩度樹在I條帶中分離。用於RT和PT的信號方法在圖8中示出。
2.2 HEVC/H.265
中的幀間預測
每個幀間預測的PU具有用於一個或兩個參考圖片清單的運動參數。運動參數包括運動向量和參考圖片索引。也可以使用inter_pred_idc
來信號通知兩個參考圖片清單中的一個的使用。可以將運動向量顯式地編碼為相對於預測值(predictor)的增量(delta),這種編碼模式被稱為AMVP模式。
當使用跳過模式編碼CU時,一個PU與CU相關聯,並且沒有顯著的殘差係數、沒有編碼的運動向量增量或參考圖片索引。指定Merge模式,由此從相鄰PU獲得用於當前PU的運動參數,包括空間和時間候選。Merge模式可以應用於任何幀間預測的PU,不僅用於跳過模式。對於Merge模式的替代是運動參數的顯式傳輸,其中對於每個PU,顯式地信號通知運動向量、每個參考圖片清單的對應參考圖片索引和參考圖片清單使用。
當信號指示要使用兩個參考圖片清單中的一個時,從樣本的一個塊產生PU。這被稱為“單向預測”。單向預測可用於P條帶和B條帶兩者。
當信號指示要使用參考圖片清單中的兩者時,從樣本的兩個塊產生PU。這被稱為“雙向預測”。雙向預測僅可用於B條帶。
以下文本提供了關於HEVC 中指定的幀間預測模式的細節。描述將以Merge模式開始。
2.2.1 Merge
模式
2.2.1.1 Merge
模式的候選的推導
當使用Merge模式預測PU時,指向Merge候選列表中的條目(entry)的索引從位元流中解析並且用於檢索運動資訊。該列表的構造在HEVC標準中指定並且可以根據以下步驟序列總結:
•步驟1:初始候選推導
o步驟1.1:空間候選推導
o步驟1.2:空間候選的冗餘檢查
o步驟1.3:時間候選推導
•步驟2:額外候選***
o步驟2.1:雙向預測候選的創建
o步驟2.2:零運動候選的***
這些步驟也在圖9中示意性地描繪。對於空間Merge候選推導,在定位在五個不同位置中的候選當中選擇最多四個Merge候選。對於時間Merge候選推導,在兩個候選當中選擇最多一個Merge候選。因為在解碼器處假設恆定數量的候選用於每個PU,所以當候選的數量未達到在條帶頭中信號通知的Merge候選的最大數量(Maximum Number of Merge Candidate,MaxNumMergeCand)時,生成額外候選。因為候選的數量是恆定的,所以使用截斷的一元二值化(truncated unary binarization,TU)編碼最佳Merge候選的索引。如果CU的尺寸等於8,則當前CU的所有PU共用單個Merge候選列表,單個Merge候選列表與2N×2N預測單元的Merge候選清單相同。
在下文中,詳細說明了與前述步驟相關聯的操作。
2.2.1.2
空間候選推導
在空間Merge候選的推導中,在定位在圖10中描繪的位置中的候選當中選擇最多四個Merge候選。推導的順序是A1
、B1
、B0
、A0
和B2
。僅當位置A1
、B1
、B0
、A0
的任何PU是不可用的(例如,因為它屬於另一條帶或片)或是幀內編碼的時,才考慮位置B2
。在添加位置A1
處的候選之後,剩餘候選的添加經受冗餘檢查,冗餘檢查確保從列表中排除具有相同運動資訊的候選從而改進編碼效率。為了降低計算複雜度,在提到的冗餘檢查中並不考慮所有可能的候選對。相反,如果用於冗餘檢查的對應的候選不具有相同的運動資訊,則僅考慮圖11中用箭頭連結的對並且僅將候選添加到列表中。複製的運動資訊的另一源是與不同於2Nx2N的分割相關聯的“第二PU”。作為示例,圖12描繪了分別用於N×2N和2N×N的情況的第二PU。當當前PU分割為N×2N時,位置A1
處的候選不考慮用於列表構造。事實上,通過添加該候選將導致具有相同運動資訊的兩個預測單元,這對於在編碼單元中僅具有一個PU是冗餘的。類似地,當當前PU被分割為2N×N時,不考慮位置B1
。
2.2.1.3
時間候選推導
在此步驟中,僅將一個候選添加到列表中。具體地,在該時間Merge候選的推導中,基於屬於具有與給定參考圖片清單內的當前圖片的最小POC差的圖片的共位元的PU來推導縮放運動向量。在條帶頭中顯式地信號通知要用於共位的PU的推導的參考圖片清單。如圖13中由虛線所示獲得用於時間Merge候選的縮放運動向量,其使用POC距離tb和td從共位的PU的運動向量縮放,其中tb定義為當前圖片的參考圖片與當前圖片之間的POC差,td定義為共位元的圖片的參考圖片與共位元的圖片之間的POC差。設置時間Merge候選的參考圖片索引等於零。在HEVC說明書中描述了縮放過程的實際實現。對於B條帶,獲得兩個運動向量,一個用於參考圖片清單0,另一個用於參考圖片清單1,並且兩個運動向量組合以獲得雙向預測Merge候選[1]。對於時間Merge候選的運動向量縮放的說明。
如圖14中所描繪的,在屬於參考幀的共位的PU(Y)中,在候選C0
與C1
之間選擇用於時間候選的位置。如果位置C0
處的PU是不可用的、是幀內編碼的、或在當前CTU的外部,則使用位置C1
。否則,在時間Merge候選的推導中使用位置C0
。
2.2.1.4
額外候選***
除了空間-時間Merge候選之外,存在Merge候選的兩種額外類型:組合的雙向預測Merge候選和零Merge候選。通過利用空間-時間Merge候選來生成組合的雙向預測Merge候選。組合的雙向預測Merge候選僅用於B條帶。通過將初始候選的第一參考圖片清單運動參數與另一個的第二參考圖片清單運動參數組合來生成組合的雙向預測候選。如果這兩個元組(tuple)提供不同的運動假設,它們將形成一個新的雙向預測候選。作為示例,圖15描繪了當(在左的)原始列表中具有mvL0和refIdxL0或mvL1和refIdxL1的兩個候選用於創建添加到(在右的)最終清單的組合的雙向預測Merge候選的情況。關於考慮為生成這些額外Merge候選的組合有許多規則。
***零運動候選以填充Merge候選列表中的剩餘條目並且因此碰到(hit)MaxNumMergeCand容量。這些候選具有零空間位移和參考圖片索引,參考圖片索引從零開始並且每次新的零運動候選添加到列表時增加。由這些候選使用的參考幀的數量對於單向預測和雙向預測分別是一個和兩個。最後,在這些候選上不執行冗餘檢查。
2.2.1.5
用於並行處理的運動估計區域
為了加速編碼過程,可以並行地執行運動估計,由此同時地推導用於給定區域內部的所有預測單元的運動向量。從空間鄰域(neighbourhood)推導Merge候選可能干擾並行處理,因為一個預測單元在其相關聯的運動估計完成之前,不能從鄰近PU推導運動參數。為了減輕編碼效率與處理延遲之間的折衷,HEVC定義運動估計區域(Motion Estimation Region,MER),運動估計區域的尺寸在圖片參數集中使用“log2_parallel_merge_level_minus2”語法元素信號通知。當定義MER時,落在相同區域中的Merge候選標記為不可用並且因此在列表構造中不考慮。
7.3.2.3
圖片參數集
RBSP
語法
7.3.2.3.1
一般圖片參數集
RBSP
語法
pic_parameter_set_rbsp( ) { | 描述符 |
pps_pic_parameter_set_id | ue(v) |
pps_seq_parameter_set_id | ue(v) |
dependent_slice_segments_enabled_flag | u(1) |
… | |
pps_scaling_list_data_present_flag | u(1) |
if( pps_scaling_list_data_present_flag ) | |
scaling_list_data( ) | |
lists_modification_present_flag | u(1) |
log2_parallel_merge_level_minus2 | ue(v) |
slice_segment_header_extension_present_flag | u(1) |
pps_extension_present_flag | u(1) |
… | |
rbsp_trailing_bits( ) | |
} |
log2_parallel_merge_level_minus2
加上2指定變數Log2ParMrgLevel的值,值在第8.5.3.2.2節中指定的用於Merge模式的亮度運動向量的推導過程和第8.5.3.2.3節中指定的空間Merge候選的推導過程中使用。log2_parallel_merge_level_minus2的值應該在0到CtbLog2SizeY-2的範圍中,包括0和CtbLog2SizeY-2。
變數Log2ParMrgLevel推導如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (7-37)
注3 - Log2ParMrgLevel的值指示Merge候選列表的並行推導的內置能力。例如,當Log2ParMrgLevel等於6時,可以並行地推導包含在64x64塊中的所有預測單元(PU)和編碼單元(CU)的Merge候選列表。
2.2.2 AMVP模式中的運動向量預測
運動向量預測利用運動向量與相鄰PU的空間-時間相關性,空間-時間相關性用於運動參數的顯式傳輸。它通過首先檢查左側、上側時間相鄰的PU位置的可用性,去除冗餘候選並且添加零向量以使候選列表為恆定長度來構建運動向量候選列表。然後,編碼器可以從候選清單選擇最佳預測值並且傳輸指示選取的候選的對應的索引。與Merge索引信號類似,使用截斷的一元來編碼最佳運動向量候選的索引。在這種情況下要編碼的最大值是2(例如,圖2到圖8)。在以下章節中,提供了關於運動向量預測候選的推導過程的細節。
2.2.2.1
運動向量預測候選的推導
圖16總結了運動向量預測候選的推導過程。
在運動向量預測中,考慮兩種類型的運動向量候選:空間運動向量候選和時間運動向量候選。對於空間運動向量候選推導,如圖11中所描繪的,最終地基於定位在五個不同位置中的每個PU的運動向量推導兩個運動向量候選。
對於時間運動向量候選推導,從基於兩個不同的共位的位置推導的兩個候選中選擇一個運動向量候選。在做出空間-時間候選的第一列表之後,去除列表中的複製的運動向量候選。如果潛在候選的數量大於兩個,則從列表去除相關聯的參考圖片清單內的其參考圖片索引大於1的運動向量候選。如果空間-時間運動向量候選的數量小於兩個,則將額外的零運動向量候選添加到列表中。
2.2.2.2
空間運動向量候選
在空間運動向量候選的推導中,在五個潛在候選當中考慮最多兩個候選,其從定位在如圖11中所描繪的位置中的PU推導,那些位置與運動Merge的那些位置相同。對於當前PU的左側的推導的順序定義為A0
、A1
、以及縮放的A0
、縮放的A1
。對於當前PU的上側的推導的順序定義為B0
、B1
、B2
、縮放的B0
、縮放的B1
、縮放的B2
。對於每一側因此存在四種可以用作運動向量候選的情況,其中兩種情況不要求使用空間縮放、以及兩種情況使用空間縮放。四種不同情況總結如下。
•無空間縮放
-(1)相同參考圖片清單、以及相同參考圖片索引(相同POC)
-(2)不同參考圖片清單、但是相同參考圖片(相同POC)
•空間縮放
-(3)相同參考圖片清單、但是不同參考圖片(不同POC)
-(4)不同參考圖片清單、以及不同參考圖片(不同POC)
首先檢查無空間縮放情況,隨後是空間縮放。當POC在相鄰PU的參考圖片與當前PU的參考圖片之間不同時,考慮空間縮放,不管參考圖片清單。如果左側候選的所有PU是不可用的或是幀內編碼的,則允許對上側運動向量的縮放以幫助左側和上側MV候選的並行推導。否則,對於上側運動向量不允許空間縮放。
在空間縮放過程中,如圖17中所描繪的,以與用於時間縮放類似的方式縮放相鄰PU的運動向量。主要差異在於參考圖片清單和當前PU的索引作為輸入給定;實際縮放過程與時間縮放的過程相同。
2.2.2.3
時間運動向量候選
除了參考圖片索引推導之外,用於時間Merge候選的推導的所有過程與用於空間運動向量候選的推導相同(參見例如圖6)。將參考圖片索引信號通知給解碼器。
2.2.2.4 AMVP
資訊的信號通知
對於AMVP模式,可以在位元流中信號通知四個部分,即,預測方向、參考索引、MVD(Motion Vector Difference,運動向量差)和mv預測值候選索引。
語法表:
prediction_unit( x0, y0, nPbW, nPbH ) { | 描述符 |
if( cu_skip_flag[ x0 ][ y0 ] ) { | |
if( MaxNumMergeCand > 1 ) | |
merge_idx [ x0 ][ y0 ] | ae(v) |
} else { /* MODE_INTER */ | |
merge_flag [ x0 ][ y0 ] | ae(v) |
if( merge_flag[ x0 ][ y0 ] ) { | |
if( MaxNumMergeCand > 1 ) | |
merge_idx [ x0 ][ y0 ] | ae(v) |
} else { | |
if( slice_type = = B ) | |
inter_pred_idc [ x0 ][ y0 ] | ae(v) |
if( inter_pred_idc[ x0 ][ y0 ] != PRED_L1 ) { | |
if( num_ref_idx_l0_active_minus1 > 0 ) | |
ref_idx_l0 [ x0 ][ y0 ] | ae(v) |
mvd_coding( x0, y0, 0 ) | |
mvp_l0_flag[ x0 ][ y0 ] | ae(v) |
} | |
if( inter_pred_idc[ x0 ][ y0 ] != PRED_L0 ) { | |
if( num_ref_idx_l1_active_minus1 > 0 ) | |
ref_idx_l1 [ x0 ][ y0 ] | ae(v) |
if( mvd_l1_zero_flag && inter_pred_idc[ x0 ][ y0 ] = = PRED_BI ) { | |
MvdL1[ x0 ][ y0 ][ 0 ] = 0 | |
MvdL1[ x0 ][ y0 ][ 1 ] = 0 | |
} else | |
mvd_coding( x0, y0, 1 ) | |
mvp_l1_flag[ x0 ][ y0 ] | ae(v) |
} | |
} | |
} | |
} |
7.3.8.9運動向量差語法
mvd_coding( x0, y0, refList ) { | 描述符 |
abs_mvd_greater0_flag[ 0 ] | ae(v) |
abs_mvd_greater0_flag[ 1 ] | ae(v) |
if( abs_mvd_greater0_flag[ 0 ] ) | |
abs_mvd_greater1_flag[ 0 ] | ae(v) |
if( abs_mvd_greater0_flag[ 1 ] ) | |
abs_mvd_greater1_flag[ 1 ] | ae(v) |
if( abs_mvd_greater0_flag[ 0 ] ) { | |
if( abs_mvd_greater1_flag[ 0 ] ) | |
abs_mvd_minus2 [ 0 ] | ae(v) |
mvd_sign_flag [ 0 ] | ae(v) |
} | |
if( abs_mvd_greater0_flag[ 1 ] ) { | |
if( abs_mvd_greater1_flag[ 1 ] ) | |
abs_mvd_minus2 [ 1 ] | ae(v) |
mvd_sign_flag [ 1 ] | ae(v) |
} | |
} |
2.3 JEM
中的新幀間預測方法(聯合探索模型)
2.3.1
基於子
CU
的運動向量預測
在具有QTBT的JEM中,每個CU可以具有用於每個預測方向的至多一個運動參數集。通過將大CU劃分成子CU並且推導用於大CU的所有子CU的運動資訊,在編碼器中考慮兩個子CU級別運動向量預測方法。可選時域運動向量預測(ATMVP)方法允許每個CU從小於共位的(collocated)參考圖片中的當前CU的多個塊提取運動資訊的多個集合。在空時運動向量預測(Spatial-Temporal Motion Vector Prediction,STMVP)方法中,通過使用時間運動向量預測值和空間相鄰運動向量來遞迴地推導子CU的運動向量。
為了保留子CU運動預測的更準確的運動場,當前地禁用對參考幀的運動壓縮。
2.3.1.1
可選時域運動向量預測
在可選時域運動向量預測(ATMVP)方法中,通過從小於當前CU的塊提取運動資訊(包括運動向量和參考索引)的多個集合來修改運動向量時間運動向量預測(Temporal Motion Vector Prediction,TMVP)。如圖18中所示,子CU是方形N×N塊(默認將N設置為4)。
ATMVP以兩個步驟預測CU內的子CU的運動向量。第一步是利用所謂的時間向量識別參考圖片中的對應塊。參考圖片被稱為運動源圖片。第二步是將當前CU劃分成子CU並且從對應於每個子CU的塊獲得運動向量以及每個子CU的參考索引,如圖18所示。
在第一步中,參考圖片和對應塊由當前CU的空間相鄰塊的運動資訊確定。為了避免相鄰塊的重複掃描過程,使用當前 CU的Merge候選列表中的第一Merge候選。第一可用運動向量以及其相關聯的參考索引設置為時間向量和對運動源圖片的索引。這樣,在ATMVP中,與TMVP相比,可以更準確地識別對應的塊,其中對應的塊(有時被稱為共位的塊)總是相對於當前CU在右下或中心位置。在一個示例中,如果第一Merge候選來自左側相鄰塊(即,圖19中的A1
),則利用相關聯的MV和參考圖片來識別源塊和源圖片。
圖19示出了源塊和源圖片的識別的示例。
在第二步中,通過向當前CU的座標添加時間向量,由運動源圖片中的時間向量識別子CU的對應塊。對於每個子CU,其對應塊(覆蓋中心樣本的最小運動網格)的運動資訊用於推導子CU的運動資訊。在識別了對應的N×N塊的運動資訊之後,以與HEVC的TMVP相同的方式將其轉換為當前子CU的運動向量和參考索引,其中運動縮放和其它過程適用。例如,解碼器檢查是否滿足低延遲條件(即,當前圖片的所有參考圖片的POC小於當前圖片的POC)並且可能使用運動向量MVx
(對應於參考圖片清單X的運動向量)以預測每個子CU的運動向量MVy
(其中X等於0或1,Y等於1-X)。
2.3.1.2
空時運動向量預測
在此方法中,遵循光柵掃描順序遞迴地推導子CU的運動向量。圖20示出了此概念。讓我們考慮包含四個4×4子CU A、B、C、和D的8×8 CU。當前幀中的相鄰4×4塊標記為a、b、c、和d。
子CU A的運動推導通過識別其兩個空間鄰居(neighbour)開始。第一鄰居是子CU A上側的N×N塊(塊c)。如果該塊c是不可用的或是幀內編碼的,則檢查子CU A上側的其它N×N塊(從左到右,從塊c處開始)。第二鄰居是對子CU A的左側的塊(塊b)。如果塊b是不可用的或是幀內編碼的,則檢查子CU A的左側的其它塊(從上到下,從塊b處開始)。從每個清單的相鄰塊獲得的運動資訊縮放到給定清單的第一參考幀。接下來,通過遵循與HEVC中指定的TMVP推導的過程相同的過程來推導子塊A的時間運動向量預測值(Temporal Motion Vector Predictor,TMVP)。提取位置D處的共位元的塊的運動資訊並且對應地縮放。最後,在檢索和縮放運動資訊之後,分別針對每個參考列表平均所有可用的運動向量(上至3個)。指派平均的運動向量為當前子CU的運動向量。
圖20示出了具有四個子塊(A-D)及其相鄰塊(a-d)的一個CU的示例。
2.3.1.3
子
CU
運動預測模式信號
啟用子CU模式作為額外Merge候選,並且不要求額外語法元素來信號通知該模式。將兩個額外Merge候選添加到每個CU的Merge候選清單以表示ATMVP模式和STMVP模式。如果序列參數集指示啟用了ATMVP和STMVP,則使用上至七個Merge候選。額外Merge候選的編碼邏輯與用於HM中的Merge候選相同,這意味著,對於P或B條帶中的每個CU,對於兩個額外Merge候選需要兩個更多的RD檢查。
在JEM中,Merge索引的所有二進位位元都由CABAC上下文編碼。而在HEVC中,僅第一二進位位元是上下文編碼的並且剩餘的二進位位元是上下文旁路編碼的。
2.3.2
自我調整運動向量差解析度
在HEVC中,當條帶頭中的use_integer_mv_flag等於0時,以四分之一亮度樣本為單位信號通知(在PU的運動向量與預測的運動向量之間的)運動向量差(MVD)。在JEM中,引入了局部自我調整運動向量解析度(Locally Adaptive Motion Vector Resolution,LAMVR)。在JEM中,MVD可以以四分之一亮度樣本、整數亮度樣本或四亮度樣本為單位編碼。在編碼單元(CU)級別處控制MVD解析度,並且對於具有至少一個非零MVD分量的每個CU有條件地信號通知MVD解析度標誌。
對於具有至少一個非零MVD分量的CU,信號通知第一標誌以指示在CU中是否使用四分之一亮度樣本MV精度。當第一標誌(等於1)指示不使用四分之一亮度樣本MV精度時,信號通知另一標誌以指示是否使用整數亮度樣本MV精度或四亮度樣本MV精度。
當CU的第一MVD解析度標誌是零、或不對於CU編碼(意味著CU中的所有MVD是零)時,四分之一亮度樣本MV解析度用於CU。當CU使用整數亮度樣本MV精度或四亮度樣本MV精度時,用於CU的AMVP候選列表中的MVP取整到對應的精度。
在編碼器中,CU級別RD檢查用於確定哪個MVD解析度要用於CU。也就是說,對於每個MVD解析度執行三次CU級別RD檢查。為了加快編碼器速度,在JEM中應用以下編碼方案。
在具有正常四分之一亮度樣本MVD解析度的CU的RD檢查期間,儲存當前CU的運動資訊(整數亮度樣本精度)。儲存的(在取整之後的)運動資訊在具有整數亮度樣本和4亮度樣本MVD解析度的相同CU的RD檢查期間用作進一步小範圍運動向量細化的開始點,使得耗時的運動估計過程不重複三次。
有條件地調用具有4個亮度樣本MVD解析度的CU的RD檢查。對於CU,當RD成本整數亮度樣本MVD解析度比四分之一亮度樣本MVD的解析度更大得多時,跳過對於CU的4亮度樣本MVD解析度的RD檢查。
2.3.3
模式匹配的運動向量推導
模式匹配的運動向量推導(Pattern Matched Motion Vector Derivation,PMMVD)模式是基於幀速率上轉換(Frame-Rate Up Conversion,FRUC)技術的特殊Merge模式。利用該模式,塊的運動資訊不用信號通知而是在解碼器側處推導。
當CU的Merge標誌為真時,對於CU信號通知FRUC標誌。當FRUC標誌為假時,信號通知Merge索引並且使用常規Merge模式。當FRUC標誌為真時,信號通知額外FRUC模式標誌以指示要使用哪種方法(雙邊匹配或範本匹配)來推導塊的運動資訊。
在編碼器側處,關於是否對於CU使用FRUC Merge模式的決定是基於如對正常Merge候選所做的RD成本選擇。即,通過使用RD成本選擇對CU檢查兩種匹配模式(雙邊匹配和範本匹配)。引起最小成本的模式進一步與其它CU模式比較。如果FRUC匹配模式是最有效的模式,則對於CU將FRUC標誌設置為真,並且使用相關匹配模式。
FRUC Merge模式中的運動推導過程具有兩個步驟。首先執行CU級別運動搜索,然後隨後是子CU級別運動細化。在CU級別處,基於雙邊匹配或範本匹配為整個CU推導初始運動向量。首先,生成MV候選的列表,並且將引起最小匹配成本的候選選擇為進一步CU級別細化的開始點。然後,在開始點周圍執行基於雙邊匹配或範本匹配的局部搜索,並且採用最小匹配成本中的MV結果作為整個CU的MV。隨後,以推導的CU運動向量作為開始點,在子CU級別處進一步細化運動資訊。
例如,對於W×H
CU運動資訊推導執行以下推導處理。在第一階段處,推導整個W×H
CU的MV。在第二階段處,CU進一步劃分成M×M
子CU。如(16)中計算M
的值,D
是預定義的劃分深度,D
在JEM中默認設置為3。然後推導每個子CU的MV。(3)
如圖21中所示,雙邊匹配用於通過在兩個不同參考圖片中沿著當前CU的運動軌跡找到兩個塊之間的最接近匹配來推導當前CU的運動資訊。在連續運動軌跡的假設下,指向兩個參考塊的運動向量MV0和MV1應該與當前圖片與兩個參考圖片之間的時間距離(即TD0和TD1)成比例。作為特殊情況,當當前圖片在時間上在兩個參考圖片之間並且從當前圖片到兩個參考圖片的時間距離相同時,雙邊匹配變為基於鏡像的雙向MV。
如圖22中所示,範本匹配用於通過找到當前圖片中的範本(當前CU的頂部和/或左側相鄰塊)與參考圖片中的(與範本相同尺寸的)塊之間的最接近匹配來推導當前CU的運動資訊。除了前述FRUC Merge模式之外,範本匹配也適用於AMVP模式。在JEM中,如在HEVC中所做的,AMVP具有兩個候選。利用範本匹配方法,推導新的候選。如果通過範本匹配新推導的候選不同於第一現有AMVP候選,則其在AMVP候選列表的最開始處***,並且然後將列表尺寸設置為2(意味著去除第二現有AMVP候選)。當應用於AMVP模式時,僅應用CU級別搜索。
2.3.3.1 CU
級別
MV
候選集
在CU級別處的MV候選集由以下組成:
(i)如果當前CU在AMVP模式中,則原始AMVP候選
(ii)所有Merge候選,
(iii)內插的MV場中的若干MV。
(iv)頂部和左側相鄰運動向量
當使用雙邊匹配時,Merge候選的每個有效MV用作輸入以在雙邊匹配的假設下生成MV對。例如,Merge候選的一個有效MV是在參考列表A處的(MVa,refa)。然後,在其它參考列表B中找到其配對雙邊MV的參考圖片refb,使得refa和refb在時間上在當前圖片的不同側。如果這樣的refb在參考列表B中不可用,則將refb確定為不同於refa的參考,並且其到當前圖片的時間距離是清單B中的最小的一個。在確定refb之後,通過基於當前圖片與refa、refb之間的時間距離縮放MVa來推導MVb。
來自內插的MV場的四個MV也添加到CU級別候選列表。更具體地,添加當前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)處的內插的MV。
當FRUC應用在AMVP模式中時,原始AMVP候選也添加到CU級別MV候選集。
在CU級別處,AMVP CU的上至15個MV以及Merge CU的上至13個MV添加到候選列表。
2.3.3.2
子
CU
級別
MV
候選集
在子CU級別處的MV候選集由以下組成:
(i)從CU級別搜索確定的MV,
(ii)頂部、左側、左上和右上相鄰MV,
(iii)來自參考圖片的共位元的MV的縮放版本,
(iv)上至4個ATMVP候選,
(v)上至4個STMVP候選
來自參考圖片的縮放的MV如下推導。遍歷兩個清單中的所有參考圖片。參考圖片中的子CU的共位的位置處的MV縮放到開始CU級別MV的參考。
ATMVP和STMVP候選限制為前四個。
在子CU級別處,上至17個MV添加到候選列表中。
2.3.3.3
內插的
MV
場的生成
在編碼幀之前,基於單邊ME為整個圖片生成內插的運動場。然後,運動場可以稍後用作CU級別或子CU級別MV候選。
首先,兩個參考清單中的每個參考圖片的運動場以4×4塊級別遍歷。對於每個4×4塊,如果與塊相關聯的運動穿過當前圖片中的4×4塊(如圖23中所示)並且塊還未被指派任何內插的運動,則參考塊的運動根據時間距離TD0和TD1(與HEVC中的TMVP的MV縮放的方式相同的方式)縮放到當前圖片,並且將縮放的運動指派給當前幀中的塊。如果縮放的MV未被指派給4×4塊,則在內插的運動場中將塊的運動標記為不可用。
2.3.3.4
內插和匹配
成本
當運動向量指向分數樣本位置時,需要運動補償的內插。為了降低複雜性,雙線性內插代替常規8抽頭HEVC內插用於雙邊匹配和範本匹配。
匹配成本的計算在不同步驟處有點不同。當從CU級別處的候選集中選擇候選時,匹配成本是雙邊匹配或範本匹配的絕對和差(Absolute Sum Difference,SAD)。在確定開始MV之後,如下計算子CU級別搜索處的雙邊匹配的匹配成本C。(4)
其中w是經驗地設置為4的加權因數,MV和MVs
分別指示當前MV和開始MV。SAD仍然用作子CU級別搜索處的範本匹配的匹配成本。
在FRUC模式中,僅通過使用亮度樣本來推導MV。推導的運動將用於用於MC幀間預測的亮度和彩度兩者。在決定MV之後,使用用於亮度的8抽頭內插濾波器和用於彩度的4抽頭內插濾波器來執行最終MC。
2.3.3.5 MV
細化
MV細化是基於模式的MV搜索,具有雙邊匹配成本或範本匹配成本的標準。在JEM中,支援兩種搜索模式-分別是,無限制的中心偏置菱形搜索(Unrestricted Center-Biased Diamond Search,UCBDS)和用於CU級別和子CU級別處的MV細化的自我調整交叉搜索。對於CU和子CU級別MV細化兩者,以四分之一亮度樣本MV精度直接地搜索MV,並且接著是八分之一亮度樣本MV細化。CU和子CU步驟的MV細化的搜索範圍被設置為等於8亮度樣本。
2.3.3.6
範本匹配
FRUC Merge
模式中預測方向的選擇
在雙邊匹配Merge模式中,始終應用雙向預測,因為CU的運動資訊是基於兩個不同參考圖片中的沿當前CU的運動軌跡的兩個塊之間的最接近匹配而推導的。對於範本匹配Merge模式沒有這樣的限制。在範本匹配Merge模式中,編碼器可以在根據list0的單向預測、根據list1的單向預測或CU的雙向預測當中選取。選擇基於範本匹配成本,如下所示:
如果costBi >=factor
*min (cost
0,cost1
)
使用雙向預測;
否則,如果cost
0>=cost1
使用根據list0的單向預測;
否則,
使用根據list1的單向預測;
其中,cost0是list0範本匹配的SAD,cost1是list1範本匹配的SAD,並且costBi是雙向預測範本匹配的SAD。facto
r的值等於1.25,這意味著選擇過程偏向雙向預測。
幀間預測方向選擇僅應用於CU級別範本匹配過程。
2.3.4
解碼器側運動向量細化
在雙向預測操作中,對於一個塊區域的預測,組合分別使用list0的運動向量(MV)和list1的MV形成的兩個預測塊以形成單個預測信號。在解碼器側運動向量細化(Decoder-Side Motion Vector Refinement,DMVR)方法中,通過雙邊範本匹配過程進一步細化雙向預測的兩個運動向量。雙邊範本匹配在解碼器中應用,以在雙邊範本與參考圖片中的重建樣本之間執行基於失真的搜索,以便在不用額外運動資訊的傳輸的情況下獲得細化的MV。
在DMVR中,如圖23中所示,分別從list0的初始MV0和list1的MV1生成雙邊範本作為兩個預測塊的加權組合(即平均)。範本匹配操作由計算生成的範本與參考圖片中的樣本區域(初始預測塊周圍)之間的成本度量(cost measure)組成。對於兩個參考圖片中的每一個,引發最小範本成本的MV被考慮為該列表的更新的MV以替換原始MV。在JEM中,對於每個列表搜索九個MV候選。九個MV候選包括原始MV和8個環繞MV,該8個環繞MV在水平或垂直方向上、或者在兩者上偏移原始MV一個亮度樣本。最後,兩個新的MV,即圖24中所示的MV0'和MV1'用於生成最終的雙向預測結果。絕對差之和(SAD)用作成本度量。
DMVR應用於雙向預測的Merge模式,其中一個MV來自過去的參考圖片並且另一MV來自未來的參考圖片,而不用額外語法元素的傳輸。在JEM中,當為CU啟用LIC、仿射運動、FRUC、或子CU Merge候選時,不應用DMVR。
2.3.5
具有雙邊匹配細化的
Merge/
跳過模式
首先通過利用冗餘檢查將空間相鄰和時間相鄰塊的運動向量和參考索引***到候選清單中來構造Merge候選列表,直到可用候選的數量達到最大候選尺寸19。通過根據預定義的***順序***空間候選(圖11)、時間候選、仿射候選、高級時間MVP(ATMVP)候選、空間時間MVP(STMVP)候選以及如HEVC中使用的額外候選(組合的候選和零候選)來構造Merge/跳過模式的候選清單:
-塊1-4的空間候選。
-塊1-4的推測的仿射候選。
-ATMVP。
-STMVP。
-虛擬仿射候選。
-空間候選(塊5)(僅當可用候選的數量小於6時使用)。
-推測的仿射候選(塊5)。
-時間候選(如在HEVC中推導的)。
-非相鄰空間候選,接著是推測的仿射候選(塊6至49,如圖25中所描繪的)。
-組合的候選。
-零候選
注意,除了STMVP和仿射之外,IC標誌也從Merge候選繼承。此外,對於前四個空間候選,在具有單向預測的候選之前***雙向預測候選。
在一些實施方式中,可以訪問未與當前塊連接的塊。如果以非幀內模式編碼非鄰近塊,則可以添加相關聯的運動資訊作為額外Merge候選。
2.3.6共用的Merge列表JVET-M0170
提出對於CU劃分樹中的一個根節點的所有葉編碼單元(CU)共用相同的Merge候選列表,以便啟用小的跳過/Merge編碼的CU的並行處理。根節點被命名為Merge共用節點。在Merge共用節點處生成共用的Merge候選列表,假設Merge共用節點是葉CU。
對於類型2定義,將在解碼的解析階段期間為CTU內部的每個CU決定Merge共用節點;此外,Merge共用節點是葉CU的根節點,必須符合以下2個準則:
Merge共用節點尺寸等於或大於尺寸閾值
在Merge共用節點中,子CU尺寸之一小於尺寸閾值
此外,必須保證沒有Merge共用節點的樣本在圖片邊界外部。在解析階段期間,如果根節點符合準則(1)和(2)但是在圖片邊界外部具有一些樣本,則此根節點將不是Merge共用節點,並且它繼續為其子CU尋找Merge共用節點。
圖35示出了類型1與類型2定義的差異的示例。在此示例中,父節點被三元劃分(ternary-split)成3個子CU。父節點的尺寸為128。對於類型1定義,3個子CU將分別是Merge共用節點。但是對於類型2定義,父節點是Merge共用節點。
提出的共用的Merge候選清單演算法支援平移Merge(包括Merge模式和三角Merge模式,也支援基於歷史的候選)和基於子塊的Merge模式。對於所有種類的Merge模式,共用的Merge候選清單演算法的行為看起來基本相同,並且它僅在Merge共用節點處生成候選,假設Merge共用節點是葉CU。它具有兩個主要的益處。第一個益處是啟用Merge模式的並行處理,並且第二個益處是將所有葉CU的所有計算共用到Merge共用節點中。因此,它顯著地降低了硬體編碼器的所有Merge模式的硬體成本。通過提出的共用的Merge候選清單演算法,編碼器和解碼器能夠容易地支援Merge模式的並行編碼,並且它減輕了Merge模式的迴圈預算問題。
2.3.7片組
採用JVET-L0686,其中去除條帶以有利於片組,並且HEVC語法元素slice_address由tile_group_header中的tile_group_address替換(如果圖片中存在多於一個片)作為片組中第一片的位址。
3.
由本文公開的實施例解決的問題的示例
當前HEVC設計可以採用當前塊與其相鄰塊(緊接當前塊)的相關性來更好地編碼運動資訊。然而,可能相鄰塊對應於具有不同運動軌跡的不同物件。在這種情況下,來自其相鄰塊的預測不是有效的。
來自非鄰近塊的運動資訊的預測可以帶來額外的編碼增益,這具有將所有運動資訊(典型地在4×4級別上)儲存到快取儲存器中的代價,這顯著地增加了硬體實現的複雜性。
4.
一些示例
目前公開的技術的實施例克服了現有實施方式的缺點,從而提供具有更高編碼效率的視頻編碼。
為了克服現有實施方式的缺點,可以在各種實施例中實施使用具有儲存的至少一個運動候選的一個或多個表(例如,查閱資料表)來預測塊的運動資訊的基於LUT的運動向量預測技術以提供具有更高編碼效率的視頻編碼。查閱資料表是可以用於包括運動候選以預測塊的運動資訊的表的示例,並且其它實施方式也是可能的。每個LUT可以包括一個或多個運動候選,每個運動候選與對應的運動資訊相關聯。運動候選的運動資訊可以包括預測方向、參考索引/圖片、運動向量、LIC標誌、仿射標誌、運動向量推導(MVD)精度、和/或MVD值中的部分或所有。運動資訊還可以包括塊位置資訊以指示運動資訊正在來自哪裡。
基於公開的技術的可以增強現有和未來視頻編碼標準兩者的基於LUT的運動向量預測在關於各種實施方式描述的以下示例中闡明。因為LUT允許基於歷史資料(例如,已經處理了的塊)執行編碼/解碼過程,所以基於LUT的運動向量預測也可以被稱為基於歷史的運動向量預測(History based Motion Vector Prediction,HMVP)方法。在基於LUT的運動向量預測方法中,在編碼/解碼過程期間維護具有來自先前編碼的塊的運動資訊的一個或多個表。儲存在LUT中的這些運動候選被命名為HMVP候選。在一個塊的編碼/解碼期間,可以將LUT中的相關聯的運動資訊添加到運動候選清單(例如,Merge/AMVP候選清單),並且在編碼/解碼一個塊之後,可以更新LUT。更新的LUT然後用於編碼後續塊。因此,LUT中的運動候選的更新基於塊的編碼/解碼順序。
以下示例應該考慮為用於解釋一般概念的示例。不應該以狹隘的方式解釋這些示例。此外,這些示例可以以任何方式組合。
一些實施例可以使用具有儲存的至少一個運動候選的一個或多個查閱資料表來預測塊的運動資訊。實施例可以使用運動候選來指示儲存在查閱資料表中的運動資訊的集合。對於傳統的AMVP或Merge模式,實施例可以使用AMVP或Merge候選來儲存運動資訊。
以下示例解釋了一般概念。
查閱資料表的示例
a.示例A1:每個查閱資料表可以包含一個或多個運動候選,其中每個候選與其運動資訊相關聯。這裡運動候選的運動資訊可以包括預測方向、參考索引/圖片、運動向量、LIC標誌、仿射標誌、MVD精度、MVD值的部分或所有。
b. 運動資訊還可以包括用於指示運動資訊正在來自其中的塊位置資訊和/或塊形狀。
LUT
的選擇
示例B1:為了編碼塊,可以按照順序檢查來自一個查閱資料表的運動候選的部分或全部。當在編碼塊期間檢查一個運動候選時,可以將其添加到運動候選列表(例如,AMVP、Merge候選列表)。
查閱資料表的使用
示例C1:可以預定義查閱資料表中要檢查的運動候選的總數量。
a. 它還可以取決於編碼資訊、塊尺寸、塊形狀等。
a1. 例如,對於AMVP模式,可以僅檢查m個運動候選,而對於Merge模式,可以檢查n個運動候選(例如,m=2,n=44)。
b. 在一個示例中,可以在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶頭、片頭、編碼樹單元(CTU)、編碼樹塊(CTB)、編碼單元(CU)或預測單元(PU)、覆蓋多個CTU/CTB/CU/PU的區域中信號通知要檢查的運動候選的總數量。
示例C2:查閱資料表中包括的(多個)運動候選可以由塊直接地繼承。
a. 它們可以用於Merge模式編碼,即,可以在Merge候選列表推導過程中檢查運動候選。
b. 它們可以用於仿射Merge模式編碼。
i. 如果其仿射標誌是1,則可以將查閱資料表中的運動候選添加為仿射Merge候選。
c. 它們可以用於其它種類的Merge模式,諸如子塊Merge模式、仿射Merge模式、三角Merge模式、幀間幀內Merge模式,具有MVD的Merge(merge with MVD,MMVD)模式。
d. 當以下情況時,可以啟用查閱資料表中運動候選的檢查:
i. ***TMVP候選之後,Merge候選列表未滿;
ii. 在檢查用於空間Merge候選推導的某個空間相鄰塊之後,Merge候選列表未滿;
iii. 在所有空間Merge候選之後,Merge候選列表未滿;
iv. 在組合的雙向預測Merge候選之後,Merge候選列表未滿;
e. 可以在檢查其它Merge(或仿射Merge或其它幀間編碼方法)候選之前啟用查閱資料表中的運動候選的檢查,諸如從鄰近/非鄰近空間或時間塊推導。
f. 當在查閱資料表中存在至少一個運動候選時,可以啟用查閱資料表中的運動候選的檢查。
示例C3:包括在查閱資料表中的(多個)運動候選可以用作於編碼塊的運動資訊的預測值。
a. 它們可以用於AMVP模式編碼,即,可以在AMVP候選列表推導過程中檢查運動候選。
示例C4:可以利用查閱資料表中的運動候選來推導其他候選,並且可以利用推導的候選來編碼塊。
查閱資料表的更新
示例D1:在用運動資訊編碼塊(即,IntraBC模式、幀間編碼模式)之後,可以更新一個或多個查閱資料表。
示例:對於所有以上專案編號,查閱資料表指示編碼資訊或以解碼順序從來自先前編碼的塊的編碼資訊中推導的資訊。
a. 查閱資料表可以包括平移運動資訊、或仿射運動資訊、或仿射模型參數、或幀內模式資訊、或照度補償資訊等。
b. 替代地,查閱資料表可以包括至少兩種資訊,諸如平移運動資訊、或仿射運動資訊、或仿射模型參數、或幀內模式資訊、或照度補償資訊等。
額外示例實施例
提出了基於歷史的MVP(HMVP)方法,其中HMVP候選定義為先前編碼的塊的運動資訊。在編碼/解碼過程期間維護具有多個HMVP候選的表。遇到新條帶時,清空表。每當存在幀間編碼的塊時,相關聯的運動資訊添加到表的最後條目作為新的HMVP候選。整個編碼流程在圖31中描繪。
在一個示例中,表尺寸設置為L(例如,L=16或6、或44),L指示上至L個HMVP候選可以添加到表。
在一個實施例中(對應於示例11.g.i),如果存在來自先前編碼的塊的多於L個HMVP候選,則應用先進先出(First-In-First-Out,FIFO)規則,使得表始終包含最近的先前編碼的L個運動候選。圖31描繪了應用FIFO規則以去除HMVP候選並且將新的一個添加到在提出的方法中使用的表的示例。
在另一實施例中(對應於發明11.g.iii),每當添加新的運動候選(諸如當前塊是幀間編碼的和非仿射模式)時,首先應用冗餘檢查過程來識別是否LUT中存在相同或類似的運動候選。
一些示例描繪如下:
圖33A示出了當在添加新的運動候選之前LUT已滿的示例。
圖33B示出了當在添加新的運動候選之前LUT未滿的示例。
圖33A和圖33B一起示出了基於冗餘去除的LUT更新方法的示例(具有去除的一個冗餘運動候選)。
圖34A和圖34B示出了用於基於冗餘去除的LUT更新方法的兩種情況的示例實施方式(具有去除的多個冗餘運動候選,圖中為2個候選)。
圖34A示出了當在添加新的運動候選之前LUT已滿時的示例情況。
圖34B示出了當在添加新的運動候選之前LUT未滿時的示例情況。
HMVP候選可以用在Merge候選列表構建過程中。在TMVP候選之後***表中從最後條目到第一條目的所有HMVP候選(或者最後K0
個HMVP,例如,K0
等於16或6)。修剪應用於HMVP候選。一旦可用Merge候選的總數量達到信號通知的最大允許Merge候選,就終止Merge候選列表構建過程。替代地,一旦添加的運動候選的總數量達到給定值,就終止從LUT提取運動候選。在各種實施方式中,修剪可以包括:a)針對唯一性將運動資訊與現有條目比較,或b)如果唯一,則將運動資訊添加到清單,或c)如果不唯一,則c1)不添加或c2)添加運動資訊並且刪除匹配的現有條目。
類似地,HMVP候選也可以用在AMVP候選列表構建過程中。在TMVP候選之後***表中的最後K1
個HMVP候選的運動向量。僅使用具有與AMVP目標參考圖片相同的參考圖片的HMVP候選來構建AMVP候選列表。修剪應用於HMVP候選。在一個示例中,K1
設置為4。
圖28是視頻處理裝置2800的方塊圖。裝置2800可以用於實施本文描述的方法中的一個或多個。裝置2800可以體現在智慧型電話、平板電腦、電腦、物聯網(Internet of Things,IoT)接收器等中。裝置2800可以包括一個或多個處理器2802、一個或多個儲存器2804和視頻處理硬體2806。(多個)處理器2802可以被配置為實施本文件中描述的一個或多個方法。儲存器(多個儲存器)2804可以用於儲存用於實施本文描述的方法和技術的代碼和資料。視頻處理硬體2806可以用於以硬體電路實施本文件中描述的一些技術。
圖29是用於視頻處理方法務奏的示例的流程圖。方法2900包括在步驟2902處包括維護表的集合,其中每個表包括運動候選,並且每個運動候選與對應的運動資訊相關聯。方法2900還包括,在步驟2904處,使用來自表的集合的一個或多個表更新候選列表。方法2900還包括,在步驟2906處,基於候選列表執行基於表的當前塊與包括當前塊的視頻的位元流表示之間的轉換,並且其中轉換基於從候選列表中的候選繼承的運動資訊。
圖30是用於視頻處理方法3000的示例的流程圖。方法3000包括,在步驟3002處,接收包括當前塊的視頻的位元流表示。方法3000還包括,在步驟3004處,基於使用一個或多個表構造的候選列表處理位元流表示,其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯,並且轉換基於從候選列表中的候選繼承的運動資訊。
以下使用基於條款的描述格式描述了上述方法/技術的額外特徵和實施例。
1.一種視頻處理方法,包括:
維護表的集合,其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯;使用來自表的集合的一個或多個表更新候選列表;以及基於候選列表執行基於表的當前塊與包括當前塊的視頻的位元流表示之間的轉換,
其中轉換基於從候選列表中的候選繼承的運動資訊。
2. 一種視頻處理方法,包括:接收包括當前塊的視頻的位元流表示;以及基於使用一個或多個表更新的候選列表處理位元流表示,其中每個表包括運動候選,每個運動候選與對應的運動資訊相關聯;並且轉換基於從候選列表中的候選繼承的運動資訊。
3.如條款1所述的方法,其中轉換的執行包括使用來自表的至少一個運動候選來執行Merge清單編碼。
4.如條款2所述的方法,其中在Merge列表推導過程中檢查表中的至少一個運動候選。
5.如條款1所述的方法,其中轉換的執行包括基於當前塊的仿射標誌執行仿射編碼。
6.如條款4所述的方法,其中將表中的特定運動候選添加為仿射候選。
7.如條款1所述的方法,還包括基於規則啟用表中的運動候選的檢查。
8.如條款7所述的方法,其中規則定義為:在Merge候選列表構造過程中,當在檢查時間運動向量預測值之後Merge候選列表未滿時,啟用所述檢查。
9.如條款7所述的方法,其中規則定義為:當在檢查用於空間Merge候選推導過程的某個空間相鄰塊之後Merge候選列表未滿時,啟用所述檢查。
10.如條款7所述的方法,其中規則定義為:當在所有空間Merge候選之後Merge候選列表未滿時,啟用所述檢查。
11.如條款7所述的方法,其中規則定義為:當在組合的雙向預測Merge候選之後Merge候選列表未滿時,啟用所述檢查。
12.如條款1所述的方法,其中來自一個或多個表的運動候選被用於子塊Merge模式、仿射模式、三角Merge模式、幀間幀內Merge模式、或具有MVD的Merge模式。
13.如條款1所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查從空間或時間塊推導的其它Merge候選之前啟用所述檢查。
14.如條款1所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查從空間或時間塊推導的其它仿射候選之前啟用所述檢查。
15.如條款1所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查已經從空間或時間塊推導的用於幀間編碼的其它Merge候選之前啟用所述檢查。
16.如條款1所述的方法,還包括啟用表中的運動候選的檢查,其中當表中存在至少一個運動候選時啟用所述檢查。
17.如條款1所述的方法,其中表的運動候選的集合是從先前解碼的視頻塊推導的,所述先前解碼的視頻塊在當前塊之前解碼。
18.如條款1-17中任一項所述的方法,其中,轉換的執行包括從視頻塊生成位元流表示。
19.如條款1-17中任一項所述的方法,其中,轉換的執行包括從位元流表示生成視頻塊。
20.如條款1至19中任一項所述的方法,其中運動候選與運動資訊相關聯,所述運動資訊包括以下中的至少一個:預測方向、參考圖片索引、運動向量值、強度補償標誌、仿射標誌、運動向量差精度、或運動向量差值。
21.如條款1-20中任一項所述的方法,還包括基於轉換更新一個或多個表。
22.如條款21所述的方法,其中一個或多個表的更新包括在執行轉換之後基於所述當前塊的運動資訊更新一個或多個表。
23.如條款22所述的方法,還包括:基於更新的表執行視頻的後續視頻塊與視頻的位元流表示之間的轉換。
24.一種包括處理器和其上具有指令的非暫時性儲存器的裝置,其中所述指令在由所述處理器運行時使所述處理器實施如條款1至23中的一項或多項所述的方法。
25.一種儲存在非暫時性電腦可讀介質上的電腦程式產品,所述電腦程式產品包括用於實行如條款1至23中的一項或多項所述的方法的程式碼。
從前述可以理解,本文已經出於說明的目的描述了本公開的技術的特定實施例,但是可以在不脫離本發明的範圍情況下做出各種修改。因此,除了由所附申請專利範圍之外,本公開的技術不受限制。
本文件中描述的公開的和其它實施例、模組和功能性操作可以在數位電子電路中實施,或者在電腦軟體、韌體、或硬體中實施,包括本文件中公開的結構及其結構等同物,或者在它們中的一個或多個的組合中實施。公開的和其它實施例可以實施為一個或多個電腦程式產品,即,在電腦可讀介質上編碼的電腦程式指令的一個或多個模組,用於由資料處理裝置運行或控制資料處理裝置的操作。電腦可讀介質可以是機器可讀存放裝置、機器可讀儲存基板、儲存器設備、影響機器可讀傳播信號的物質的組合、或者它們中的一個或多個的組合。術語“資料處理裝置”涵蓋用於處理資料的所有裝置、設備、和機器,示例地包括可程式設計處理器、電腦、或多個處理器或電腦。除了硬體之外,裝置可以包括為所討論的電腦程式創建運行環境的代碼,例如,構成處理器韌體、協定棧、資料庫管理系統、作業系統、或者它們中的一個或多個的組合的代碼。傳播信號是人工生成的信號,例如機器生成的電信號、光信號、或電磁信號,生成信號以編碼資訊以便傳輸到合適的接收器裝置。
電腦程式(也被稱為程式、軟體、軟體應用、腳本、或代碼)可以用任何形式的程式設計語言編寫,包括編譯或解釋語言,並且其可以以任何形式部署,包括作為獨立程式或作為適合於在計算環境中使用的模組、元件、子常式、或其它單元。電腦程式不必對應於檔案系統中的文件。程式可以儲存在保存其它程式或資料的文件的部分中(例如,儲存在標記語言文件中的一個或多個腳本),儲存在專用於所討論的程式的單個文件中,或儲存在多個協調文件(例如,儲存一個或多個模組、副程式、或代碼的部分的文件)中。可以部署電腦程式以在一個電腦上運行或者在定位在一個網站處或分佈跨越多個網站並且通過通信網路互連的多個電腦上運行。
本文件中描述的過程和邏輯流程可以由運行一個或多個電腦程式的一個或多個可程式設計處理器執行,以通過對輸入資料操作並且生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路執行,並且裝置也可以實施為專用邏輯電路,例如FPGA(Field Programmable Gate Array,現場可程式設計閘陣列)或ASIC(Application Specific Integrated Circuit,專用積體電路)。
適合於電腦程式的運行的處理器示例地包括通用和專用微處理器兩者、以及任何種類的數位電腦的任何一個或多個處理器。一般地,處理器將從唯讀儲存器或隨機存取儲存器或兩者接收指令和資料。電腦的基本元件是用於執行指令的處理器和用於儲存指令和資料的一個或多個儲存器設備。一般地,電腦也將包括或可操作地耦合到用於儲存資料的一個或多個大型存放區設備,例如磁片、磁光碟或光碟,以從其接收資料或向其傳送資料或者進行接收資料和傳送資料兩者。但是,電腦不需要具有這樣的設備。適用於儲存電腦程式指令和資料的電腦可讀介質包括所有形式的非揮發性儲存器、介質和儲存器設備,示例地包括半導體儲存器設備,例如EPROM、EEPROM和快閃儲存器設備;磁片,例如內部硬碟或抽取式磁碟;磁光碟;和CD ROM和DVD-ROM磁片。處理器和儲存器可以由專用邏輯電路補充或併入專用邏輯電路中。
雖然本專利文件包含許多細節,但是這些細節不應該解釋為對任何發明或可以要求保護的範圍的限制,而是作為可以特定於具體發明的具體實施例的特徵的描述。在本專利文件中在分離的實施例的上下文中描述的某些特徵也可以在單個實施例中組合實施。相反,在單個實施例的上下文中描述的各種特徵也可以分離地或以任何合適的子組合在多個實施例中實施。此外,儘管以上特徵可以描述為以某些組合起作用並且甚至最初如此要求保護,但是來自所要求保護的組合的一個或多個特徵可以在一些情況下從組合中切除,並且所要求保護的組合可以針對子組合或子組合的變化。
類似地,雖然在附圖中以具體順序描繪了操作,但是這不應該理解為要求以所示的具體順序或按次序循序執行這樣的操作,或者執行所有示出的操作,以達到期望的結果。此外,在本專利文件中描述的實施例中的各種系統元件的分離不應該理解為在所有實施例中要求這樣的分離。
僅描述了少數實施方式和示例,並且可以基於本專利文件中描述和示出的內容做出其它實施方式、增強和變化。
2800:裝置
2802:處理器
2804:儲存器
2806:視頻處理硬體
2900、3000:方法
2902、2904、2906、3002、3004:步驟
tb、td:距離
TD0、TD1:時間距離
圖1是示出視頻編碼器實施方式的示例的方塊圖
圖2示出了H.264視頻編碼標準中的巨集塊分割。
圖3示出了將編碼塊劃分成預測塊的示例。
圖4示出了將CTB(coding tree block,編碼樹塊)細分為CB和變換塊(Transform Block,TB)的示例實施方式。實線指示CB邊界並且虛線指示TB邊界,包括具有其分割的示例CTB、和對應的四叉樹。
圖5示出了用於分割視頻資料的四叉樹二叉樹(Quad Tree Binary Tree,QTBT)結構的示例。
圖6示出了視頻塊分割的示例。
圖7示出了四叉樹分割的示例。
圖8示出了樹類型信號(signaling)的示例。
圖9示出了用於Merge候選列表構造的推導過程的示例。
圖10示出了空間Merge候選的示例位置。
圖11示出了考慮空間Merge候選的冗餘檢查的候選對的示例。
圖12示出了Nx2N和2NxN分割的第二PU的位置的示例。
圖13示出了時間Merge候選的運動向量縮放。
圖14示出了時間Merge候選的候選位置、以及它們的共位元的圖片。
圖15示出了組合的雙向預測Merge候選的示例。
圖16示出了運動向量預測候選的推導過程的示例。
圖17示出了空間運動向量候選的運動向量縮放的示例。
圖18示出了用於CU(coding unit,編碼單元)的運動預測的示例可選時域運動向量預測(Alternative Temporal Motion Vector Prediction,ATMVP)。
圖19繪畫地描繪了源塊和源圖片的識別的示例。
圖20示出了具有四個子塊和相鄰塊的一個CU的示例。
圖21示出了雙邊匹配的示例。
圖22示出了範本匹配的示例。
圖23描繪了幀速率上轉換(Frame Rate Up Conversion,FRUC)中的單邊運動估計(Motion Estimation,ME)的示例。
圖24示出了基於雙邊範本匹配的DMVR的示例。
圖25示出了用於推導空間Merge候選的空間相鄰塊的示例。
圖26描繪了查閱資料表的代表性位置的選擇如何更新的示例。
圖27A和圖27B示出了用運動資訊的新集合更新查閱資料表的示例。
圖28是用於實施本文件中描述的視覺媒體解碼或視覺媒體編碼技術的硬體平臺的示例的方塊圖。
圖29是視頻處理的示例方法的流程圖。
圖30是視頻處理的另一示例方法的流程圖。
圖31示出了具有提出的HMVP方法的解碼流程圖的示例。
圖32示出了使用提出的HMVP方法更新表的示例。
圖33A和圖33B示出了基於冗餘去除的LUT(Look Up Table,查閱資料表)更新方法(去除了一個冗餘運動候選)的示例。
圖34A和圖34B示出了基於冗餘去除的LUT更新方法(去除了多個冗餘運動候選)的示例。
圖35示出了類型1與類型2塊之間的差別的示例。
2900:方法
2902、2904、2906:步驟
Claims (25)
- 一種視頻處理方法,包括: 維護表的集合,其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯; 使用來自所述表的集合的一個或多個表更新候選列表;以及 基於候選列表執行基於所述表的當前塊與包括所述當前塊的視頻的位元流表示之間的轉換, 其中所述轉換基於從候選列表中的候選繼承的運動資訊。
- 一種視頻處理方法,包括: 接收包括當前塊的視頻的位元流表示;以及 基於使用一個或多個表更新的候選列表處理所述位元流表示, 其中每個表包括運動候選並且每個運動候選與對應的運動資訊相關聯;並且 轉換基於從候選清單中的候選繼承的運動資訊。
- 如申請專利範圍第1或2項所述的方法,其中轉換的執行包括使用來自表的至少一個運動候選來執行Merge清單編碼。
- 如申請專利範圍第3項所述的方法,其中在Merge列表推導過程中檢查表中的至少一個運動候選。
- 如申請專利範圍第1或2項所述的方法,其中轉換的執行包括基於當前塊的仿射標誌執行仿射編碼。
- 如申請專利範圍第4項所述的方法,其中將表中的特定運動候選添加為仿射候選。
- 如申請專利範圍第1或2項所述的方法,還包括基於規則啟用表中的運動候選的檢查。
- 如申請專利範圍第7項所述的方法,其中規則定義為:在Merge候選列表構造過程中,當在檢查時間運動向量預測值之後Merge候選列表未滿時,啟用所述檢查。
- 如申請專利範圍第7項所述的方法,其中規則定義為:當在檢查用於空間Merge候選推導過程的某個空間相鄰塊之後Merge候選列表未滿時,啟用所述檢查。
- 如申請專利範圍第7項所述的方法,其中規則定義為:當在所有空間Merge候選之後Merge候選列表未滿時,啟用所述檢查。
- 如申請專利範圍第7項所述的方法,其中規則定義為:當在組合的雙向預測Merge候選之後Merge候選列表未滿時,啟用所述檢查。
- 如申請專利範圍第1或2項所述的方法,其中來自一個或多個表的運動候選被用於子塊Merge模式、仿射模式、三角Merge模式、幀間幀內Merge模式、或具有MVD的Merge模式。
- 如申請專利範圍第1或2項所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查從空間或時間塊推導的其它Merge候選之前啟用所述檢查。
- 如申請專利範圍第1或2項所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查從空間或時間塊推導的其它仿射候選之前啟用所述檢查。
- 如申請專利範圍第1或2項所述的方法,還包括啟用表中的運動候選的檢查,其中在檢查已經從空間或時間塊推導的用於幀間編碼的其它Merge候選之前啟用所述檢查。
- 如申請專利範圍第1或2項所述的方法,還包括啟用表中的運動候選的檢查,其中當表中存在至少一個運動候選時啟用所述檢查。
- 如申請專利範圍第1或2項所述的方法,其中表的運動候選的集合是從先前解碼的視頻塊推導的,所述先前解碼的視頻塊在當前塊之前解碼。
- 如申請專利範圍第1-17項中任一項所述的方法,其中,轉換的執行包括從視頻塊生成位元流表示。
- 如申請專利範圍第1-17項中任一項所述的方法,其中,轉換的執行包括從位元流表示生成視頻塊。
- 如申請專利範圍第1至19項中任一項所述的方法,其中運動候選與運動資訊相關聯,所述運動資訊包括以下中的至少一個:預測方向、參考圖片索引、運動向量值、強度補償標誌、仿射標誌、運動向量差精度、或運動向量差值。
- 如申請專利範圍第1-20項中任一項所述的方法,還包括基於轉換更新一個或多個表。
- 如申請專利範圍第21項所述的方法,其中一個或多個表的更新包括在執行轉換之後基於所述當前塊的運動資訊更新一個或多個表。
- 如申請專利範圍第22項所述的方法,還包括: 基於更新的表執行視頻的後續視頻塊與視頻的位元流表示之間的轉換。
- 一種包括處理器和其上具有指令的非暫時性儲存器的裝置,其中所述指令在由所述處理器運行時使所述處理器實施如申請專利範圍第1至23項中的一項或多項所述的方法。
- 一種儲存在非暫時性電腦可讀介質上的電腦程式產品,所述電腦程式產品包括用於實行如申請專利範圍第1至23項中的一項或多項所述的方法的程式碼。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018093663 | 2018-06-29 | ||
WOPCT/CN2018/093663 | 2018-06-29 | ||
WOPCT/CN2019/072058 | 2019-01-16 | ||
CN2019072058 | 2019-01-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202025769A true TW202025769A (zh) | 2020-07-01 |
TWI735900B TWI735900B (zh) | 2021-08-11 |
Family
ID=67441543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123184A TWI735900B (zh) | 2018-06-29 | 2019-07-01 | 一種視頻處理方法和裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110662030B (zh) |
TW (1) | TWI735900B (zh) |
WO (1) | WO2020003271A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709498B (zh) * | 2020-05-20 | 2023-06-02 | Oppo广东移动通信有限公司 | 帧间预测方法、编码器、解码器以及计算机存储介质 |
CN112633489B (zh) * | 2020-12-30 | 2024-03-22 | 深圳大普微电子科技有限公司 | 一种查找表lut的合并方法、装置及设备 |
WO2022214098A1 (en) * | 2021-04-09 | 2022-10-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, device, and medium for video processing |
US20230109532A1 (en) * | 2021-10-05 | 2023-04-06 | Tencent America LLC | Alternative merge mode with motion vector difference by using template-matching |
WO2023185935A1 (en) * | 2022-03-29 | 2023-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
WO2023193718A1 (en) * | 2022-04-05 | 2023-10-12 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2492778A (en) * | 2011-07-11 | 2013-01-16 | Canon Kk | Motion compensated image coding by combining motion information predictors |
GB2501835B (en) * | 2011-03-09 | 2014-09-03 | Canon Kk | Video encoding and decoding |
US9838692B2 (en) * | 2011-10-18 | 2017-12-05 | Qualcomm Incorporated | Detecting availabilities of neighboring video units for video coding |
US20130114717A1 (en) * | 2011-11-07 | 2013-05-09 | Qualcomm Incorporated | Generating additional merge candidates |
US9338451B2 (en) * | 2012-04-12 | 2016-05-10 | Qualcomm Incorporated | Common spatial candidate blocks for parallel motion estimation |
US10560718B2 (en) * | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
CN106851046A (zh) * | 2016-12-28 | 2017-06-13 | 中国科学院自动化研究所 | 视频动态超分辨率处理方法及*** |
-
2019
- 2019-07-01 CN CN201910586445.5A patent/CN110662030B/zh active Active
- 2019-07-01 WO PCT/IB2019/055576 patent/WO2020003271A1/en active Application Filing
- 2019-07-01 TW TW108123184A patent/TWI735900B/zh active
Also Published As
Publication number | Publication date |
---|---|
CN110662030A (zh) | 2020-01-07 |
CN110662030B (zh) | 2022-06-14 |
WO2020003271A1 (en) | 2020-01-02 |
TWI735900B (zh) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI723443B (zh) | 每條帶/片/lcu行的查找表的重置 | |
TWI723445B (zh) | 查找表的更新:fifo、約束的fifo | |
TWI719525B (zh) | Lut與amvp之間的交互 | |
TWI728388B (zh) | Lut中的運動候選的檢查順序 | |
TWI743506B (zh) | 來自多個查找表(lut)的選擇 | |
TWI752331B (zh) | 當向Merge/AMVP添加HMVP候選時的部分/完全修剪 | |
TWI704803B (zh) | 運動信息共享的限制 | |
TW202025760A (zh) | 要檢查多少個hmvp候選 | |
CN113273186A (zh) | Lut更新的调用 | |
TWI735900B (zh) | 一種視頻處理方法和裝置 |