TW202402053A - 使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 - Google Patents
使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 Download PDFInfo
- Publication number
- TW202402053A TW202402053A TW112120846A TW112120846A TW202402053A TW 202402053 A TW202402053 A TW 202402053A TW 112120846 A TW112120846 A TW 112120846A TW 112120846 A TW112120846 A TW 112120846A TW 202402053 A TW202402053 A TW 202402053A
- Authority
- TW
- Taiwan
- Prior art keywords
- hmvp
- current block
- tables
- list
- mvp
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 71
- 239000013598 vector Substances 0.000 title claims description 32
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 6
- 239000000463 material Substances 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims 3
- 230000037431 insertion Effects 0.000 claims 3
- 230000008569 process Effects 0.000 description 11
- 238000013139 quantization Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 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 1
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/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/42—Methods 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/423—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
使用多個基於歷史的 MVP表進行視訊編解碼的方法。根據一種方法,當前塊的運動資訊是根據合併候選列表或AMVP列表在解碼器處從已編碼資料導出的。多個HMVP表是根據為當前塊導出的運動資訊更新的。合併候選列表或AMVP列表通過從多個HMVP表中插入一個或多個MVP候選來更新。根據另一種方法,根據為當前塊導出的運動資訊更新多個HMVP查找表,並且多個HMVP查找表根據不同的更新規則進行更新。
Description
本發明有關於視訊編解碼的幀間預測。更具體而言,本發明有關於使用多個基於歷史的MVP表(History-based MVP tables)用於幀間預測。
通用視訊編解碼(VVC)是由ITU-T視訊編解碼專家組(VCEG)和ISO/IEC運動圖像專家組的聯合視訊專家組(JVET)制定的最新國際視訊編解碼標準(MPEG)。該標準已作爲ISO標準發布:ISO/IEC 23090-3:2021,Information technology - Coded representation of immersive media - Part 3: Versatile video coding,2021 年 2 月發布。通過基於其前身HEVC(High Efficiency Video coding),添加更多編解碼工具來提高編解碼效率,並處理各種類型的視訊源,包括 3 維(3D)視訊信號,發展出VVC。
第1A圖說明了包含循環處理的示例性適應性幀間/幀內(adaptive Inter/Intra)視訊編解碼系統。對於幀內預測,預測資料是根據當前圖片(在後文中也稱爲畫面)中先前編解碼的視訊資料導出的。對於幀間預測112,在編碼器側執行運動估計(Motion Estimation,簡寫爲ME)並且基於ME的結果執行運動補償(Motion Compensation,簡寫爲MC)以提供從其他畫面和運動資料導出的預測資料。開關114選擇幀內預測110或幀間預測112並且所選擇的預測資料被提供給加法器116以形成預測誤差,也稱爲殘差(residual)。預測誤差然後由變換(T)118和隨後的量化(Q)120處理。變換和量化的殘差然後由熵編碼器122編碼以包括在對應於壓縮視訊資料的視訊位元流中。然後,與變換係數相關聯的位元流將與輔助資訊(side information)(例如與幀內預測和幀間預測相關聯的運動和解碼模式)以及其他資訊(例如與應用於底層圖像區域(underlying image area)的環路濾波器相關聯的參數)一起打包。與幀內預測110、幀間預測112和環路濾波器130相關聯的輔助資訊被提供給熵編碼器122,如第1A圖所示。當使用幀間預測模式時,也必須在編碼器端重建一個或多個參考圖片。因此,經變換和量化的殘差由逆量化(IQ)124和逆變換(IT)126處理以恢復殘差。然後在重建(REC)128處將殘差加回到預測資料136以重建視訊資料。重建的視訊資料可以存儲在參考圖片緩衝器134中並用於預測其他幀。
如第1A圖所示,輸入的視訊資料在編碼系統中經過一系列處理。由於一系列處理,來自REC 128的重建的視訊資料可能會受到各種損害。因此,環路濾波器130經常在重建的視訊資料被存儲在參考圖片緩衝器134中之前應用於重建的視訊資料以提高視訊質量。例如,可以使用去塊濾波器(deblocking filter,簡寫爲DF)、樣本適應性偏移(Sample Adaptive Offset,簡寫爲SAO)和適應性環路濾波器(Adaptive Loop Filter,簡寫爲ALF)。 可能需要將環路濾波器資訊合並到位元流中,以便解碼器可以正確地恢復所需的資訊。因此,環路濾波器資訊也被提供給熵編碼器122以合並到位元流中。在第1A圖中,環路濾波器130在重建樣本被存儲在參考圖片緩衝器134中之前被應用於重建的視訊。第1A圖中的系統旨在說明典型視訊編碼器的示例性結構。它可能對應於高效視訊編解碼(HEVC)系統、VP8、VP9、H.264或VVC。
如第1B圖所示,除了變換118和量化120之外,解碼器可以使用與編碼器相似或相同的功能塊,因爲解碼器只需要逆量化124和逆變換126。取代熵編碼器122,解碼器使用熵解碼器140將視訊位元流解碼爲量化的變換係數和需要的編解碼資訊(例如ILPF資訊、幀內預測資訊和幀間預測資訊)。解碼器側的幀內預測150不需要執行模式搜索。相反,解碼器僅需要根據從熵解碼器140接收的幀內預測資訊生成幀內預測。此外,對於幀間預測,解碼器僅需要根據從熵解碼器140接收的幀間預測資訊執行運動補償(MC 152)而無需運動估計。
在本發明中,公開了使用多個基於歷史的運動向量預測(Motion Vector Prediction,簡寫為MVP)表來進行視訊編解碼的方法和裝置,以提高性能。
以下概述僅是說明性的,並不旨在以任何方式進行限制。 也就是說,提供以下概述以介紹本文描述的新穎和進步的技術的概念、要點、益處和優點。 下面在詳細描述中進一步描述選擇實現。 因此,以下發明內容並非旨在標識所要求保護的主題的必要特徵,也不旨在用於確定所要求保護的主題的範圍。
本發明提供了一種視訊解碼方法,該方法包括:在解碼端接收與待解碼的當前塊相關聯的已編碼資料;根據合併候選列表或自適應運動向量預測列表從該已編碼資料中導出該當前塊的運動資訊,其中該合併候選列表或該自適應運動向量預測列表包括來自多個HMVP表的至少一個MVP候選;根據為該當前塊導出的該運動資訊更新該多個HMVP表;以及通過插入來自該多個HMVP表中的一個或多個MVP候選來更新該合併候選列表或該自適應運動向量預測列表。
本發明還提供了一種視訊編碼方法,該方法包括:在編碼器端接收與當前塊相關聯的像素資料;導出該當前塊的運動資訊;使用包括合併候選列表或AMVP列表的資訊對該當前塊的運動資訊進行編碼,其中該合併候選列表或該AMVP列表包括來自多個HMVP表的至少一個MVP候選;根據該當前塊的該運動資訊更新該多個HMVP表;以及通過插入來自該多個HMVP表中的一個或多個MVP候選來更新該合併候選列表或該AMVP列表。
本發明還提供了一種視訊解碼方法,該方法包括:在解碼端接收與待解碼的當前塊相關聯的已編碼資料;根據多個HMVP查找表從該已編碼資料中導出該當前塊的運動資訊;以及根據為該當前塊導出的該運動資訊更新該多個HMVP查找表,其中該多個HMVP查找表根據不同的更新規則進行更新。
本發明還提供了一種視訊編碼方法,該方法包括:在編碼器端接收與當前塊相關聯的像素資料;導出該當前塊的運動資訊;使用包括多個HMVP(基於歷史的MVP)查找表的資訊對該當前塊的該運動資訊進行編碼;以及根據為該當前塊導出的該運動資訊更新該多個HMVP查找表,其中該多個HMVP查找表根據不同的更新規則進行更新。
本發明的使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置方法可以提高HMVP的編解碼效率。
將容易理解的是,如本文附圖中大體描述和圖示的本發明的組件可以以多種不同配置來佈置和設計。因此,以下對如圖所示的本發明的系統和方法的實施例的更詳細描述並不旨在限制所要求保護的本發明的範圍,而僅代表本發明的選定實施例。貫穿本說明書對“一個實施例”、“一實施例”或類似語言的引用意味著結合該實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。因此,貫穿本說明書各處出現的短語“在一個實施例中”或“在一實施例中”不一定都指代相同的實施例。
此外,所描述的特徵、結構或特性可以以任何合適的方式組合在一個或多個實施例中。然而,所述領域具有通常知識者將認識到,本發明可以在沒有一個或多個特定細節的情況下,或使用其他方法、組件等來實踐。在其他情況下,未顯示或未顯示眾所周知的結構或操作詳細描述以避免模糊本發明的方面。參考附圖將最好地理解本發明的所示實施例,其中相同的部分自始至終由相同的數字表示。下面的描述僅旨在作為示例,並且簡單地說明與如本文要求保護的本發明一致的裝置和方法的某些選定實施例。
根據VVC,類似於HEVC,輸入圖片被劃分成稱為CTU(編解碼樹單元)的非重疊方形塊區域。每個CTU都可以劃分為一個或多個較小尺寸的編解碼單元(CU)。生成的CU分區可以是正方形或矩形。此外,VVC將CTU劃分為預測單元(PU),作為應用預測過程的單元,例如幀間預測、幀內預測等。
VVC標準結合了基於歷史的合併模式(history-based merge mode),其回顧如下。
基
於歷史的
合併模式構建
基於歷史的合併模式將一些先前CU的合併候選存儲在歷史陣列中。對於當前的CU,除了原有的合併模式候選構建外,還可以利用歷史陣列中的一個或多個候選來豐富合併模式候選。基於歷史的運動向量預測的細節可以在JVET-K0104(Li Zhang, et al., “CE4-related: History-based Motion Vector Prediction”, ITU-T SG 16 WP 3 和 ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家組(JVET),第 11 次會議:盧布爾雅那,SI,2018 年 7 月 10-18 日,文件:JVET-K0104)中找到。
在HMVP中,HMVP候選表在運行中被維護和更新。在解碼非仿射幀間編碼塊之後,通過將關聯的運動資訊作為新的HMVP候選添加到表的最後一個條目來更新表。應用先進先出(First-In-First-Out,簡寫為FIFO)或約束FIFO規則來刪除和添加表中的條目。HMVP候選可以應用於合併候選列表或AMVP候選列表。
提出了一種基於歷史的MVP(HMVP)方法,其中HMVP候選被定義為先前編解碼塊的運動資訊。在編碼/解碼過程中維護一個包含多個HMVP候選的表。當遇到新的切片(slice)時,該表被清空。每當存在幀間編解碼塊時,關聯的運動資訊將作為新的HMVP候選添加到表的最後一個條目。整個編解碼流程如第2圖所示,其中執行步驟210以加載具有初始HMVP候選的表,並使用從步驟220產生的解碼的運動資訊更新該表。
在表大小S被設置為16的情況下,最多可以將16個HMVP候選添加到表中。如果先前編解碼的塊中有超過16個HMVP候選,則應用先進先出(FIFO)規則,以便該表始終包含最新的先前編解碼的16個運動候選。第3A圖說明了一個示例,其中應用FIFO規則來移除HMVP候選並將新的HMVP候選添加到所提出方法中使用的表中。
為了進一步提高編解碼效率,引入了約束FIFO規則,在向表中插入HMVP時,首先進行冗餘校驗,以查找表中是否存在相同的HMVP候選。如果找到相同的HMVP候選,則從表中移除,並且之後的所有HMVP候選都被移位,即,索引減1。第3B圖說明了約束FIFO規則的示例,其中候選HMVP
2被發現是冗餘的,並且更新後被刪除。
HMVP候選可以用於合併候選列表構建過程。表中從最後一個條目到第一個條目的所有HMVP候選都插入到時間運動向量預測子(TMVP)候選之後。對HMVP候選應用修剪。一旦可用合併候選的總數達到傳訊的最大允許合併候選,則合併候選列表構建過程終止。
類似地,HMVP候選也可以用於AMVP候選列表構建過程。表中最後K個HMVP候選的運動向量被插入到TMVP候選之後。僅使用具有與AMVP目標參考圖片相同參考圖片的HMVP候選來構建AMVP候選列表。修剪應用於HMVP候選。在JVET-K0104中,K設置為4。
另外,當總合併候選數大於或等於15時,採用截斷的一元加定長(truncated unary plus fixed length)(3位元)二值化方法對合併索引進行編解碼。合併候選的總數表示為N
mrg,二值化方法列於表1。
表1 – 合併索引的位元子字符串(假設 N
mrg為 15)
合併索引 | 位元子字符串 | |||||||||
0 | 0 | |||||||||
1 | 1 | 0 | ||||||||
2 | 1 | 1 | 0 | |||||||
… | ||||||||||
5 | 1 | 1 | 1 | 1 | 1 | 0 | ||||
6 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | |||
7 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
… | ||||||||||
14 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位元子索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
為了提高HMVP的編解碼效率,公開了一些方法來增加更多的HMVP表以增加HMVP候選的多樣性。
方法1:多HMVP表
在一個實施例中,建議使用通過應用不同的更新規則(例如不同的更新頻率)生成的多於一個的HMVP表。例如,每個CU更新一個查找表(LUT-0)。另一個查找表(LUT-1)在5個CU內更新一次。HMVP表在本公開中也被稱為查找表,因為查找表可以用於實現HMVP表。根據另一個實施例,更新規則可以與和CU相關聯的分區結果有關,例如四叉樹深度、二叉樹深度或與CU相關聯的分區數。例如,只有當當前塊的QT深度/BT深度/分區次數小於3時,才會更新LUT-0。只有當當前塊的QT深度/BT深度/分區次數大於3時,才會更新LUT-1。
在另一實施例中,提出使用基於待添加的運動與存儲在LUT中的運動之間的差異生成的多於一個HMVP表,其中差異被稱為MVD。例如,如果待添加的運動與LUT-0中的任何其他運動之間的MVD的絕對值都大於閾值,例如0,則使用一個運動向量來更新LUT-0。如果要添加的運動與LUT-1中任何其他候選之間的MVD的絕對值都大於另一個閾值,例如32,則使用一個運動向量來更新LUT-1。
在另一實施例中,提出使用基於相應CU的位置生成的多於一個HMVP表。例如,只有當待插入的CU位置的左上角位置在128x128網格中時,才會更新LUT-0。只有當待插入的CU位置的左上角位置在64x64網格中時,才會更新LUT-1。
在另一個實施例中,提出在LUT中不僅存儲運動資訊,而且還存儲當前CU的位置。這樣一來,就可以根據當前CU的位置創建多於一個HMVP表。在一個實施例中,可以根據待插入的CU與HMVP表中存儲有運動資訊的任一CU之間的水平距離或垂直距離來確定是否插入運動資訊。例如,如果待插入的CU與LUT-0中存儲有運動資訊的任何CU之間的水平距離或垂直距離大於閾值,例如16,則使用一個運動資訊(例如運動向量)來更新LUT-0。如果待插入的CU與LUT-1中存儲有運動資訊的任何CU之間的水平距離或垂直距離大於另一個閾值,例如64,則使用一個運動資訊(例如運動向量)來更新LUT-1。
在另一實施例中,提出基於MVx和MVy的符號值(sign value)創建多於一個HMVP表。例如創建4個HMVP表:LUT-0用於存儲sign(MVx)>=0和sign(MVy)>=0的運動向量;LUT-1用於存儲sign(MVx) < 0且sign(MVy) >=0的運動向量;LUT-2用於存儲sign(MVx) >=0且sign(MVy) > 0的運動向量;LUT-3用於存儲sign(MVx) < 0和sign(MVy) < 0的運動向量。再例如,針對8種符號(MVx,Mvy)對創建8個HMVP表。
在另一實施例中,提出基於CU的預測模式創建多於一個的HMVP表。例如,創建了2個HMVP表:LUT-0用於存儲來自合併模式的運動向量,LUT-1用於存儲來自非合併模式的運動向量。
此外,上述實施例還可以被進一步約束,使得如果一個LUT被更新,則其他LUT不能被更新。換言之,一個運動資訊僅用於更新一個LUT。
另外,上述實施例可以進一步組合。例如,LUT-0使用128x128網格中的CU進行更新,如果該運動與LUT-0中的任何其他運動不同,則該運動將被插入。LUT-1更新為128x128網格中的CU,如果要插入的運動資訊與LUT-1中任何其他運動資訊之間的MVD大於閾值(例如64),則將插入該運動。
在另一個實施例中,可以生成空間域多HMVP表。例如,一個LUT在N個CTU內更新。即在這個LUT中,只有這N個CTU中的運動資訊可以用來更新LUT。N可以是任何大於0的正整數。這樣,可以通過引用空間域多個HMVP表來使用來自跨CTU/跨CTU列(row)的運動資訊。此外,可以進一步限制僅保留上方M個CTU列的LUT。
方法2:將來自多個HMVP表的候選插入到合併候選列表或AMVP MVP列表
根據該方法,可以選擇一個以上的HMVP表中的N個候選插入到合併候選列表或AMVP MVP列表中。 N可以是任何大於0的整數。
在一個實施例中,HMVP LUT不僅存儲運動資訊,還存儲待插入的CU的左上位置。之後,根據CU的位置選擇N個候選。例如,CU位置最接近當前CU的運動資訊將在CU位置遠離當前CU的運動資訊之前被選擇。在另一個實施例中,在選擇CU位置靠近當前CU的運動資訊之前,將首先選擇CU位置遠離當前CU的運動資訊。
在另一實施例中,基於當前CU與具有存儲在LUT中的運動資訊的對應CU之間的距離來選擇N個候選。距離是根據當前CU的寬度和高度設計的。例如,當前CU與LUT中存儲有運動資訊的對應CU之間的距離大於CU寬度或高度且小於CU寬度和高度的兩倍的將被優先插入。之後,當前CU與LUT中存儲有運動資訊的對應CU之間的距離大於2倍CU寬或高且小於3倍CU寬高的候選將被插入。
在一個實施例中,使用N個額外的HMVP LUT。 來自其中M個的候選是從舊到新添加的。(N-M)個是從新到舊添加的。
在一個實施例中,使用一個以上的HMVP LUT。以交錯方式添加候選。例如,首先添加LUT-0中的最新運動。然後,添加LUT-1中的最新運動。然後,添加LUT-2中的最新動作。之後,添加LUT-0中第二新的運動。然後,添加LUT-1中第二新的運動。然後,添加LUT-2中第二新的運動。又例如,首先插入有希望的(promising)LUT-A中的K個候選,然後交錯添加來自其他LUT的運動。
在另一實施例中,使用多於一個LUT。添加的LUT順序是根據當前CU大小設計的。例如,使用了3個LUT。LUT-0由來自16x16網格中的CU的運動更新。LUT-1由來自64x64網格中的CU的運動更新。當當前CU的位置在16x16網格中時,在插入來自LUT-1的候選之前插入來自LUT-0的候選。
任何前述提出的基於多個HMVP方法的幀間預測可以相互組合。例如方法一可以和方法二一起使用。
可以在編碼器和/或解碼器中實現基於多個HMVP方法的任何前述提出的幀間預測。例如,所提出的任何方法都可以在解碼器的幀間編解碼模組(例如,第1B圖中的MC152)中實現。此外,任何提出的方法都可以在編碼器的幀間編解碼模組中實現(例如第1A圖中的幀間預測112)。或者,所提出的任何方法都可以實現為耦合到編碼器的幀間/幀內/預測/熵編解碼模組和/或解碼器的幀間/幀內/預測/熵編解碼模組的一個或多個電路或處理器,以提供幀間/幀內/預測模組所需的資訊。
第4圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的示例性視訊解碼系統的流程圖。流程圖中所示的步驟可以實現為可在編碼器側的一個或多個處理器(例如,一個或多個CPU)上執行的程式代碼。流程圖中所示的步驟也可以基於硬體來實現,諸如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器。根據該方法,在步驟410,在解碼器側接收與要解碼的當前塊相關聯的已編碼資料。在步驟420,根據合併候選列表或自適應運動向量預測(Adaptive Motion Vector Prediction,簡寫為AMVP)列表從已編碼資料導出當前塊的運動資訊,其中合併候選列表或AMVP列表括來自多個HMVP表的至少一個MVP候選。在步驟430中,根據為當前塊導出的運動資訊更新多個HMVP表。在步驟440中,通過插入來自多個HMVP表的一個或多個MVP候選來更新合併候選列表或AMVP列表。
第5圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的示例性視訊編解碼系統的流程圖。根據該方法,在步驟510中,在編碼器側接收與當前塊相關聯的像素資料。在步驟520中,導出當前塊的運動資訊。在步驟530中,使用包括合併候選列表或AMVP列表的資訊對當前塊的運動資訊進行編碼,其中合併候選列表或AMVP列表包括來自多個HMVP表的至少一個MVP候選。在步驟540中,根據當前塊的運動資訊更新多個HMVP表。在步驟550中通過插入來自多個HMVP表的一個或多個MVP候選來更新合併候選列表或AMVP列表。
第6圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的另一示例性視訊解碼系統的流程圖。根據該方法,在步驟610,在解碼器側接收與要解碼的當前塊相關聯的已編碼資料。在步驟620,根據多個HMVP(基於歷史的MVP)查找表從已編碼資料導出當前塊的運動資訊。在步驟630中,根據為當前塊導出的運動資訊更新多個HMVP查找表,其中根據不同的更新規則更新多個HMVP查找表。
第7圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的另一示例性視訊編碼系統的流程圖。根據該方法,在步驟710中在編碼器側接收與當前塊相關聯的像素資料。在步驟720中導出當前塊的運動資訊。在步驟730中使用包括多個HMVP查找表的資訊對當前塊的運動資訊進行編碼。在步驟740中根據為當前塊導出的運動資訊更新多個HMVP查找表,並且其中根據不同的更新規則更新多個HMVP查找表。
所示流程圖旨在說明根據本發明的視訊編解碼的示例。在不脫離本發明的精神的情況下,所屬領域具有通常知識者可以修改每個步驟、重新安排步驟、拆分步驟或組合步驟來實施本發明。在本公開中,已經使用特定句法和語義來說明示例以實現本發明的實施例。在不脫離本發明的精神的情況下,技術人員可以通過用等同的句法和語義替換句法和語義來實施本發明。
提供以上描述是為了使所屬領域具有通常知識者能夠實踐在特定應用及其要求的上下文中提供的本發明。對所描述的實施例的各種修改對於所屬領域具有通常知識者而言將是顯而易見的,並且本文定義的一般原理可以應用於其他實施例。因此,本發明並不旨在限於所示出和描述的特定實施例,而是符合與本文公開的原理和新穎特徵一致的最寬範圍。在以上詳細描述中,舉例說明了各種具體細節以提供對本發明的透徹理解。然而,所屬領域具有通常知識者將理解可以實施本發明。
如上所述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實現。例如,本發明的一個實施例可以是集成到視訊壓縮晶片中的一個或多個電路電路或者集成到視訊壓縮軟體中的程式碼以執行這裡描述的處理。本發明的實施例還可以是要在數位訊號處理器(DSP)上執行以執行這裡描述的處理的程式碼。本發明還可以涉及由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(FPGA)執行的許多功能。這些處理器可以被配置為通過執行定義由本發明體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。軟體代碼或韌體代碼可以以不同的程式設計語言和不同的格式或風格來開發。也可以為不同的目標平臺編譯軟體代碼。然而,軟體代碼的不同代碼格式、風格和語言以及配置代碼以執行根據本發明的任務的其他方式都不會脫離本發明的精神和範圍。
在不脫離其精神或基本特徵的情況下,本發明可以以其他特定形式體現。所描述的示例在所有方面都應被視為說明性而非限制性的。因此,本發明的範圍由所附申請專利範圍而不是由前述描述來指示。落入申請專利範圍等同物的含義和範圍內的所有變化都應包含在其範圍內。
110:幀內預測
112:幀間預測
114:開關
116:加法器
118:變換
120:量化
122:熵編碼器
130:環路濾波器
124:逆量化
126:逆變換
128:重建
134:參考圖片緩衝器
136:預測資料
140:熵解碼器
150:幀內預測
152:MC
210~220、410~440、510~550、610~630、710~740:步驟
第1A圖說明了包含循環處理的示例性自適應幀間/幀內視頻編碼系統。
第1B圖圖示了第1A圖中的編碼器的相應解碼器。
第2圖說明了結合基於歷史的MVP候選列表的解碼器的示例性處理流程。
第3A圖示出了使用FIFO(先進先出)結構更新HMVP表的示例。
第3B圖示出了使用受限的FIFO(先進先出)結構更新HMVP表的示例。
第4圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的示例性視訊解碼系統的流程圖。
第5圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的示例性視訊編碼系統的流程圖。
第6圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的另一示例性視訊解碼系統的流程圖。
第7圖示出了根據本發明的一個實施例的結合了多個基於歷史的MVP表的另一示例性視訊編碼系統的流程圖。
410~440:步驟
Claims (19)
- 一種視訊解碼方法,該方法包括: 在解碼端接收與待解碼的當前塊相關聯的已編碼資料; 根據合併候選列表或自適應運動向量預測列表從該已編碼資料中導出該當前塊的運動資訊,其中該合併候選列表或該自適應運動向量預測列表包括來自多個HMVP表的至少一個MVP候選; 根據為該當前塊導出的該運動資訊更新該多個HMVP表;以及 通過插入來自該多個HMVP表中的一個或多個MVP候選來更新該合併候選列表或該自適應運動向量預測列表。
- 如請求項1所述之方法,其中,該當前塊的位置也被存儲在該多個HMVP表中。
- 如請求項2所述之方法,其中,該當前塊的位置對應於左上位置。
- 如請求項2所述之方法,其中,將目標MVP候選插入到該合併候選列表或該AMVP列表中的順序取決於該當前塊和與該目標MVP候選相關聯的對應塊之間的距離。
- 如請求項4所述之方法,其中,如果與第一MVP候選對應的第一CU比與第二MVP候選對應的第二CU更接近該當前塊,則該多個HMVP表中的該第一MVP候選在該第二MVP候選之前被選擇插入到該合並候選列表或該AMVP列表。
- 如請求項4所述之方法,其中,如果與第一MVP候選對應的第一CU比與第二MVP候選對應的第二CU更遠離該當前塊,則該多個HMVP表中的該第一MVP候選在該第二MVP候選之前被選擇插入到該合並候選列表或該AMVP列表。
- 如請求項4所述之方法,其中,該多個HMVP表中的第一MVP候選具有在該第一MVP候選的第一對應塊與該當前塊之間的第一距離,該第一距離大於塊寬度或塊高度,但小於該塊寬度的兩倍或該塊高度的兩倍,該第一距離被選擇優先插入到該合併候選列表或該AMVP列表中。
- 如請求項7所述之方法,其中該多個HMVP表中的第二MVP候選具有在該第二MVP候選的第二對應塊與該當前塊之間的第二距離,該第二距離大於塊寬度的兩倍或塊高度的兩倍,但小於該塊寬度的三倍或該塊高度的三倍,該第二距離被選擇插入到該合併候選列表或該AMVP列表中次之。
- 如請求項1所述之方法,其中,該多個HMVP表中的一個表中的多個MVP候選按照從新到舊或從舊到新的順序插入到該合併候選列表或該AMVP列表中。
- 如請求項1所述之方法,其中以交錯的方式將來自該多個HMVP表的多個MVP候選插入到該合併候選列表或該AMVP列表中。
- 一種視訊編碼方法,該方法包括: 在編碼器端接收與當前塊相關聯的像素資料; 導出該當前塊的運動資訊; 使用包括合併候選列表或AMVP列表的資訊對該當前塊的運動資訊進行編碼,其中該合併候選列表或該AMVP列表包括來自多個HMVP表的至少一個MVP候選; 根據該當前塊的該運動資訊更新該多個HMVP表;以及 通過插入來自該多個HMVP表中的一個或多個MVP候選來更新該合併候選列表或該AMVP列表。
- 一種視訊解碼方法,該方法包括: 在解碼端接收與待解碼的當前塊相關聯的已編碼資料; 根據多個HMVP查找表從該已編碼資料中導出該當前塊的運動資訊;以及 根據為該當前塊導出的該運動資訊更新該多個HMVP查找表,其中該多個HMVP查找表根據不同的更新規則進行更新。
- 如請求項12所述之方法,其中,該多個HMVP查找表具有不同的更新頻率。
- 如請求項12所述之方法,其中根據該當前塊相關聯的四叉樹深度、二叉樹深度或與分區的數量來更新多個HMVP查找表之一。
- 如請求項12所述之方法,其中是否使用運動向量來更新該多個HMVP查找表之一取決於該運動向量與該多個HMVP查找表中的該一個中的運動向量候選之間的運動向量差異。
- 如請求項12所述之方法,其中是否使用運動向量來更新該多個HMVP查找表中之一取決於與該運動向量相關聯的對應塊的位置。
- 如請求項16所述之方法,其中該對應塊的該位置對應於左上位置。
- 如請求項16所述之方法,其中如果該對應塊的該位置在選定的網格處,則使用該運動向量來更新該多個HMVP查找表中的該一個。
- 一種視訊編碼方法,該方法包括: 在編碼器端接收與當前塊相關聯的像素資料; 導出該當前塊的運動資訊; 使用包括多個HMVP查找表的資訊對該當前塊的該運動資訊進行編碼;以及 根據為該當前塊導出的該運動資訊更新該多個HMVP查找表,其中該多個HMVP查找表根據不同的更新規則進行更新。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263354801P | 2022-06-23 | 2022-06-23 | |
US63/354,801 | 2022-06-23 | ||
PCT/CN2023/096043 WO2023246412A1 (en) | 2022-06-23 | 2023-05-24 | Methods and apparatus for video coding using multiple history-based motion vector prediction tables |
WOPCT/CN2023/096043 | 2023-05-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202402053A true TW202402053A (zh) | 2024-01-01 |
TWI853598B TWI853598B (zh) | 2024-08-21 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
WO2023246412A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI737184B (zh) | 幀内塊複製模式的合併列表生成的方法和裝置 | |
US11785207B2 (en) | Apparatus of encoding or decoding video blocks by current picture referencing coding | |
TWI734212B (zh) | 視訊編解碼中共享合併候選列表區域的方法和裝置 | |
US11159788B2 (en) | Method and apparatus of enhanced Intra Block Copying mode for video coding | |
KR101920352B1 (ko) | 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치 | |
US20190208211A1 (en) | Generated affine motion vectors | |
JP2019110591A (ja) | 映像復号化方法 | |
KR20060127155A (ko) | 화상 정보 부호화 장치 및 화상 정보 부호화 방법 | |
TWI729458B (zh) | 用於視訊編解碼的簡化的合併候選列表的方法和裝置 | |
CN112840645A (zh) | 视频编码系统中组合多个预测子用于块预测的方法及装置 | |
TWI718079B (zh) | 用於視訊編解碼的簡化子模式的方法和裝置 | |
TWI729497B (zh) | 在視頻編解碼系統中組合多個預測子進行塊預測的方法和裝置 | |
JP2022515725A (ja) | 候補mvリストの構築方法、プログラム、及び電子デバイス | |
TWI830334B (zh) | 視頻編解碼系統中低延遲模板匹配的方法和裝置 | |
TWI853598B (zh) | 使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 | |
TW202402053A (zh) | 使用多個基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 | |
TW202404368A (zh) | 使用基於ctu的基於歷史的運動向量預測表進行視訊編解碼的方法和裝置 | |
TWI853412B (zh) | 用於視頻編解碼的仿射編碼塊導出合併候選的方法和裝置 | |
TW202337214A (zh) | 用於視頻編解碼的仿射編碼塊導出合併候選的方法和裝置 | |
TW202402059A (zh) | 視訊編解碼方法和裝置 | |
TW202410696A (zh) | 使用合併mvd模式降低視頻編碼複雜性的方法和裝置 | |
TW202123710A (zh) | 視訊編解碼中發信可適性運動向量差值解析度的方法和裝置 | |
TW202412526A (zh) | 視訊編解碼中的出界檢查 | |
TW202408243A (zh) | 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置 |