TWI833327B - 視訊編解碼方法及裝置 - Google Patents

視訊編解碼方法及裝置 Download PDF

Info

Publication number
TWI833327B
TWI833327B TW111130543A TW111130543A TWI833327B TW I833327 B TWI833327 B TW I833327B TW 111130543 A TW111130543 A TW 111130543A TW 111130543 A TW111130543 A TW 111130543A TW I833327 B TWI833327 B TW I833327B
Authority
TW
Taiwan
Prior art keywords
block
pixels
prediction
prediction candidate
current
Prior art date
Application number
TW111130543A
Other languages
English (en)
Other versions
TW202310628A (zh
Inventor
邱志堯
陳俊嘉
徐志瑋
陳慶曄
莊子德
黃毓文
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202310628A publication Critical patent/TW202310628A/zh
Application granted granted Critical
Publication of TWI833327B publication Critical patent/TWI833327B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

對於當前塊的一個或多個預測候選的集合中的每個預測候選,視訊解碼器計算參考圖片中預測候選的參考像素集合與當前圖片的當前塊的相鄰像素集合之間的匹配成本。視訊解碼器基於當前圖片的參考圖片中的預測候選的分佈將參考圖片的子集識別為主要參考圖片。對每個主要參考圖片定義邊界塊,該邊界塊包含用於多個預測候選的多組參考像素的至少一部分。視訊解碼器基於預測候選集合的計算匹配成本向每個預測候選分配索引。藉由使用所選擇的預測候選的分配索引來發送預測候選的選擇。

Description

視訊編解碼方法及裝置
本公開總體上涉及視訊解碼。具體而言,本公開涉及對減少等待時間的選擇的預測候選進行排序的方法。
除非本文另有說明,否則本節中描述的方法不是下面列出的申請專利範圍的現有技術,以及不被包含在本節中而被承認為現有技術。
高效視訊編解碼(High-Efficiency Video Coding,簡稱HEVC)是由視訊編解碼聯合協作小組(Joint Collaborative Team on Video Coding,簡稱JCT-VC)開發的國際視訊編解碼標準。HEVC基於基於混合塊的運動補償類DCT變換編解碼架構。壓縮的基本單元,被稱為編解碼單元(Coding unit,簡稱CU),是2Nx2N的正方形區塊,每個CU可以被遞迴地分成四個較小的CU,直到達到預定的最小尺寸。每個CU包含一個或多個預測單元(prediction unit,簡稱PU)。
為了提高HEVC中運動向量(motion vector,簡稱MV)編解碼的編解碼效率,HEVC具有跳過模式和合併模式。跳過模式和合併模式從空間相鄰塊(空間候選)或時間同位塊(時間候選)獲取運動資訊。當PU為跳過模式和合併模式時,不會對運動資訊進行編解碼,而是僅對所選候選的索引進行編解碼。對於跳過模式,殘差訊號被強制為零並且不被編解碼。在HEVC中,如果特定塊被編解碼為跳過或合併,則候選索引被發送以指示候選集中的哪個候選被用於合併。每個合併預測單元(prediction unit,簡稱PU)重用所選候選的MV、 預測方向和參考圖片索引。
以下概述僅是說明性的並且不旨在以任何方式進行限制。即,以下概述被提供以介紹本文所述的新穎且非顯而易見的技術的概念、亮點、益處和優點。選擇而不是所有的實施方式在下面的詳細描述中被進一步描述。因此,以下概述並非旨在識別所要求保護的主題的基本特徵,也不旨在用於確定所要求保護的主題的範圍。
本公開的一些實施例提供了在計算用於重新排序預測候選的匹配成本時減少等待時間的方法。對於當前塊的一個或多個預測候選的集合中的每個預測候選,視訊解碼器計算參考圖片中預測候選的參考像素集合與當前圖片的當前塊的相鄰像素集合之間的匹配成本。視訊解碼器基於預測候選集合的計算匹配成本向每個預測候選分配索引。預測候選的選擇藉由使用所選擇的預測候選的分配索引來發送。視訊編碼器藉由使用選擇的預測候選來對當前塊進行編碼或解碼以重構當前塊。
在一些實施例中,視訊解碼器基於當前圖片的參考圖片中的預測候選的分佈將參考圖片的子集識別為主要參考圖片。對每個主要參考圖片定義邊界塊,該邊界塊包含用於多個預測候選的多個參考像素集合的至少一部分。邊界塊的內容可以藉由一個單一的動態隨機存取記憶體(dynamic random access memory,簡稱DRAM)存取來獲取。獲取的邊界塊的內容可被存儲以用於編碼或解碼在解碼順序中在當前塊之後的一個或多個塊。
在一些實施例中,參考第一非主要參考圖片的預測候選被縮放或被投影到第二主要參考圖片,使得投影的預測候選參考第二主要參考圖片中的像素。對第二主要參考圖片定義的邊界塊可以包括投影的預測候選所參考的像 素。在一些實施例中,參考非主要參考圖片的預測候選從當前塊的預測候選集合中被移除。
在一些實施例中,特定預測候選的參考像素可以包括由邊界塊包含的可用像素集合和未被邊界塊包含的不可用像素集合。特定預測候選的匹配成本基於可用像素集合而不是基於不可用像素集合計算。在一些實施例中,藉由使用填充值替換不可用像素集合來計算特定預測候選的匹配成本。在一些實施例中,藉由將基於可用像素集合而不是基於不可用像素集合計算的成本縮放到特定預測候選的所有參考像素來計算特定預測候選的匹配成本。
在一些實施例中,當前塊的相鄰像素的集合包括由第一塊包含的可用像素集合和由第二塊包含的不可用像素集合,第一塊不是按解碼順序的最近N個重構塊之一,第二塊是按解碼順序的最近N個重構塊之一。匹配成本基於當前塊的相鄰像素的可用像素集合而不是基於不可用像素集合來計算。在一些實施例中,匹配成本藉由使用填充值替換不可用像素集合來計算。在一些實施例中,相鄰像素的集合包括與祖先或更高級別架構相鄰的像素,但不包括與該當前塊相鄰的像素,該祖先或更高級別架構包括當前塊。
300:合併候選列表
610:CU
611:CU
615:L形範本
620:CU
621:CU
622:CU
623:CU
625:L形範本
710:祖先CU
720:CU
721:CU
722:CU
723:CU
735:L形範本
800:當前圖片
810:當前CU
811:L形範本
822:參考圖片
824:參考圖片
826:參考圖片
828:參考圖片
842:塊
843:塊
844:塊
845:塊
846:塊
851:參考塊
854:參考塊
864:邊界塊
866:邊界塊
900:當前圖片
910:當前CU
922:參考圖片
924:參考圖片
926:參考圖片
928:參考圖片
941:參考塊
944:參考塊
951:參考塊
954:參考塊
964:邊界塊
966:邊界塊
1000:當前CU
1010:預測候選
1015:範本
1020:預測候選
1025:L形範本
1030:預測候選
1035:範本
1050:邊界塊
1101:CU
1102:CU
1103:CU
1104:CU
1110:預測候選
1115:範本
1120:預測候選
1125:範本
1130:預測候選
1135:範本
1150:邊界塊
1190:參考圖片
1200:視訊編碼器
1202:減法器
1205:視訊源
1208:殘差訊號
1210:變換模組
1211:量化模組
1212:變換係數
1213:預測像素資料
1214:逆量化模組
1215:逆變換模組
1216:變換係數
1217:重構的像素資料
1219:重構殘差
1220:畫面內估計模組
1225:幀內預測模組
1230:運動補償模組
1235:運動估計模組
1240:幀間預測模組
1245:環路濾波器
1250:重構圖片緩衝器
1265:MV緩衝器
1275:MV預測模組
1290:熵編碼器
1295:位元流
1310:DRAM獲取控制器
1315:邊界塊內容記憶體
1320:範本獲取模組
1325:MV候選辨識模組
1330:匹配成本計算器
1340:候選選擇模組
1410、1420、1430、 1440、1450、1460、 1470、1480:步驟
1500:視訊解碼器
1510:逆變換模組
1511:逆量化模組
1512:量化資料
1513:預測像素資料
1516:變換係數
1517:解碼的像素資料
1519:重構的殘差訊號
1525:幀內預測模組
1530:運動補償模組
1540:幀間預測模組
1545:環路濾波器
1550:解碼圖片緩衝器
1555:顯示裝置
1565:MV緩衝器
1575:MV預測模組
1590:熵解碼器
1595:位元流
1610:DRAM獲取控制器
1615:邊界塊內容記憶體
1620:範本獲取模組
1630:匹配成本計算器
1640:候選選擇模組
1710、1720、1730、1740、1750、1760、1770、1780:步驟
1800:電子系統
1805:匯流排
1810:處理單元
1815:GPU
1820:系統記憶體
1825:網路
1830:唯讀記憶體
1835:永久存放裝置
1840:輸入設備
1845:輸出設備
附圖被包括以提供對本公開的進一步理解並且被併入並構成本公開的一部分。附圖說明了本公開的實施方式,並且與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製的,因為在實際實施中特定組件可能被顯示為與尺寸不成比例,以便清楚地說明本公開的概念。
第1圖示出合併模式的運動候選。
第2圖概念性地示出用於合併候選的“預測+合併”演算法框架。
第3圖概念性地示出示例候選重新排序。
第4-5圖概念性地示出用於計算所選擇的候選的匹配成本的L形匹配方法。
第6A-B圖概念性地示出L形範本,其中屬於最近重構塊的像素被排除在匹配成本計算之外。
第7圖概念性地示出使用祖先的L形範本來計算當前塊的匹配成本。
第8圖概念性地示出在主要參考圖片中使用邊界塊來減少獲取像素以進行範本匹配的延遲。
第9圖概念性地示出在主要參考圖片中使用邊界塊來減少獲取像素以進行雙邊匹配的延遲。
第10圖概念性地示出在計算用於預測候選重新排序的範本匹配成本時處理不可用像素。
第11圖概念性地示出使用相同邊界塊的內容來進行匹配成本計算和預測候選重新排序的多個不同塊。
第12圖示出可使用基於成本的重排序索引來發送預測候選的選擇的示例視訊編碼器。
第13圖示出基於匹配成本實現預測候選選擇的視訊編碼器的部分。
第14圖概念性地示出用於在使用重新排序的索引來選擇預測候選以對像素塊進行編碼時減少等待時間的處理。
第15圖示出可使用基於成本的重排序索引來接收對預測候選的選擇的示例視訊解碼器。
第16圖示出視訊編碼器的部分,該視訊編碼器基於匹配成本實現預測候選的選擇。
第17圖概念性地示出用於在使用重新排序的索引來選擇預測候選以解碼像素塊時減少等待時間的處理。
第18圖概念性地示出實現本公開的一些實施例的電子系統。
在以下詳細描述中,藉由示例的方式闡述了許多具體細節,以便提供對相關教導的透徹理解。基於本文描述的教導的任何變化、衍生和/或擴展都在本公開的保護範圍內。在一些情況下,與在此公開的一個或多個示例實施方式有關的眾所周知的方法、處理、組件和/或電路可以在相對較高的水平上進行描述而沒有細節,以避免不必要地模糊本公開的教導的方面。
一、合併模式的候選重新排序
第1圖示出合併模式的運動候選。該圖示出由視訊編碼器編碼或解碼的視訊圖片或幀的當前塊100。如圖所示,多達四個空間MV候選從空間相鄰A0、A1、B0和B1導出,以及一個時間MV候選(首先使用TBR,如果TBR不可用,則使用TCTR)從TBR或TCTR導出。如果四個空間MV候選中的任何一個都不可用,則位置B2被用來導出MV候選作為替代。在四個空間MV候選和一個時間MV候選的推導處理之後,在一些實施例中移除冗餘(修剪)被應用以移除冗餘MV候選。如果在移除冗餘(修剪pruning)之後,可用的MV候選的數量小於5,則三種額外的候選被導出並添加到候選集合(候選列表)中。視訊編碼器根據速率失真優化(rate-distortion optimization,簡稱RDO)決策在候選集合中選擇一個最終候選,用於跳過或合併模式,以及將索引傳輸到視訊解碼器。(本文檔中將跳過模式和合併模式統稱為“合併模式”。)
對於一些實施例,合併候選被定義為通用“預測+合併”演算法框架的候選。“預測+合併”演算法框架有第一部分和第二部分。第一部分生成一個候選列表(一組)預測子,這些預測子是藉由繼承相鄰資訊或細化(refining)或處理相鄰資訊而導出。第二部分是發送(i)合併索引,以指示候選列表中的哪個被選擇,以及(ii)與合併索引相關的一些輔助資訊。換句話說,編碼器將 合併索引和所選候選的一些輔助資訊發送給解碼器。
第2圖概念性地示出用於合併候選的“預測+合併”演算法框架。候選列表包括許多繼承相鄰資訊的候選。然後處理或細化繼承的資訊以形成新的候選。在這些處理中,一些候選的輔助資訊被生成以及被發送到解碼器。
視訊編解碼器(編碼器或解碼器)可以以不同方式處理合併候選。首先,在一些實施例中,視訊編解碼器可將兩個或多個候選組合成一個候選。其次,在一些實施例中,視訊編解碼器可以使用原始候選作為原始MV預測子以及使用當前像素塊執行運動估計搜索以找到最終的運動向量差(Motion Vector Difference,簡稱MVD),其中輔助資訊是MVD。第三,在一些實施例中,視訊編解碼器可以使用原始候選作為原始MV預測子以及使用當前像素塊執行運動估計搜索以找到L0的最終MVD,以及L1預測子是原始候選。第四,在一些實施例中,視訊編解碼器可以使用原始候選作為原始MV預測子以及使用當前像素塊執行運動估計搜索以找到L1的最終MVD,以及L0預測子是原始候選。第五,在一些實施例中,視訊編解碼器可以使用原始候選作為原始MV預測子以及使用頂部或左側相鄰像素作為搜索範本進行MV細化搜索以找到最終預測子。第六,視訊編解碼器可以使用原始候選作為原始MV預測子,以及使用雙邊範本(候選MV或鏡像MV指向的L0和L1參考圖片上的像素)作為搜索範本進行MV細化搜索以找到最終預測子。
範本匹配(Template matching,簡稱TM)是一種視訊編解碼方法,藉由將當前圖片中的當前CU的範本(當前範本)與參考圖片中的參考範本進行匹配來細化當前CU的預測以用於預測。CU或塊的範本通常是指與CU頂部和/或左側相鄰的特定像素集合。
對於本文檔,術語“合併候選”或“候選”是指通用“預測+合併”演算法框架中的候選。“預測+合併”演算法框架不限於前述實施例。任一具有“預測 +合併索引”行為的演算法都屬於這個框架。
在一些實施例中,視訊解碼器對合併候選重新排序,即,視訊解碼器修改候選列表內的候選順序以實現更好的編解碼效率。重排序規則依賴於對當前候選的一些預計算(重新排序之前的合併候選),例如當前CU的頂部相鄰條件(模式、MV等)或左側相鄰條件(模式、MV等),當前CU形狀,或頂部/左側L形範本匹配。
第3圖概念性地示出示例候選重新排序。如圖所示,示例合併候選列表300具有標記為“0”到“5”的六個候選。視訊編解碼器最初選擇一些候選(標記為“1”和“3”的候選)進行重新排序。然後,視訊編解碼器預先計算這些候選的成本(標記為“1”和“3”的候選的成本分別為100和50)。成本被命名為候選的猜測成本(因為這不是使用候選的真實成本,而只是對真實成本的估計或猜測),成本越低意味著候選越好。最後,視訊編解碼器藉由將成本較低的候選(標記為“3”的候選)移動到列表的前面來重新排序所選候選。
一般而言,對於在合併候選列表中具有順序位置Oi的合併候選Ci(其中i=0~N-1,N為列表中候選的總數,Oi=0表示Ci在列表的開頭,以及Oi=N-1表示Ci在列表的末尾),Oi=i(C0順序為0,C1順序為1,C2順序為2,...等等),視訊編解碼器藉由更改i的選定值的Ci的Oi(更改一些選定候選的順序)來重新排序列表中的合併候選。
在一些實施例中,合併候選重新排序可以根據當前PU或CU的尺寸或形狀來關閉。視訊編解碼器可預先定義若干PU大小或形狀以關閉合併候選重新排序。在一些實施例中,用於關閉合併候選重新排序的其他條件,例如圖片大小、QP值等,是特定的預定值。在一些實施例中,視訊編解碼器可以發送標誌以打開或關閉合併候選重新排序。例如,視訊編解碼器可以發送標誌(例如,“merge_cand_rdr_en”)以指示“合併候選重新排序”是否啟用(值1:啟用, 值0:禁用)。當該標誌不存在時,merge_cand_rdr_en的值被推斷為1。信令中的單元的最小尺寸,merge_cand_rdr_en,也可以在序列級別、圖片級別、片段級別或PU級別中單獨編解碼。
通常,視訊編解碼器可以藉由(1)識別一個或多個用於重新排序的候選,(2)計算每個識別的候選的猜測成本,以及(3)根據所選候選的猜測成本對候選重新排序來執行候選重新排序。在一些實施例中,一些候選的計算的猜測成本在候選被重新排序之前被調整(成本調整)。
在一些實施例中,L形匹配方法用於計算所選候選的猜測成本。對於當前選擇的合併候選,視訊編解碼器獲取當前圖片的L形範本(當前範本)和參考圖片的L形範本(參考範本)以及比較兩個範本之間的差值。L形匹配方法有兩個部分或步驟:(i)識別L形範本和(ii)匹配導出的範本以確定猜測成本,或候選的匹配成本。
第4-5圖概念性地示出用於計算所選候選的猜測成本的L形匹配方法。第4圖示出當前圖片中當前CU的L形範本(當前範本),包括當前PU或CU的頂部和左側邊界周圍的一些像素。參考圖片的L形範本包括當前合併候選的reference_block_for_guessing的頂部和左側邊界周圍的一些像素。reference_block_for_guessing(寬度BW和高度BH與當前PU相同)是當前合併候選的運動向量的整數部分所指向的塊。
不同的實施例不同地定義L形範本。在一些實施例中,L形範本的所有像素都在reference_block_for_guessing之外(如在第4圖中被標記為“外部像素”)。在一些實施例中,L形範本的所有像素都在reference_block_for_guessing內(如第4圖中被標記為“內部像素”)。在一些實施例中,L形範本的一些像素在reference_block_for_guessing之外,而L形範本的一些像素在reference_block_for_guessing之內。第5圖示出當前圖片中的當前PU或CU(當前 範本)的L形範本與第4圖的L形範本類似,但是第5圖的當前範本沒有左上角像素,以及參考圖片(外部像素實施例)中的L形範本沒有左上角像素。
在一些實施例中,L形匹配方法和對應的L形範本(命名為template_std)根據如下定義:假設當前PU的寬度為BW,當前PU的高度為BH,則當前圖片的L形範本有頂部和左側。定義頂部厚度(top thickness)=TTH,左側厚度(left thickness)=LTH,則頂部包含座標為(ltx+tj,lty-ti)的所有當前圖片像素,其中ltx為當前PU的左上整數像素水平座標,lty為當前PU的左上整數像素縱坐標,ti為像素行的索引(ti為0~(TTH-1)),tj為一行的像素索引(tj為0~BW-1)。對於左側部分,它包括座標為(ltx-tjl,lty+til)的所有當前圖片像素,其中ltx為當前PU的左上整數像素水平座標,lty為為當前PU的左上整數像素垂直座標,til為一列(column)的像素索引(til為0~(BH-1)),tjl為列索引(tjl為0~(LTH-1))。
在template_std中,參考圖片的L形範本具有頂部和左側。定義頂部厚度=TTHR,左側厚度=LTHR,則頂部包括座標(ltxr+tjr,ltyr-tir+shifty)的所有參考圖片像素,其中ltxr為reference_block_for_guessing的左上整數像素水平座標,ltyr是reference_block_for_guessing的左上整數像素垂直座標,tir是像素行的索引(tir是0~(TTHR-1)),tjr是一行的像素索引(tjr是0~BW-1),shifty是一個預定的移位值。對於左側部分,它由座標為(ltxr-tjlr+shiftx,ltyr+tilr)的所有參考圖片像素組成,其中ltxr為reference_block_for_guessing的左上整數像素水平坐標,ltyr為reference_block_for_guessing的左上整數像素的垂直坐標,tilr為一列的像素索引(tilr為0~(BH-1)),tjlr為列索引(tjlr為0~(LTHR-1)),shiftx為預定的移值值。
如果當前候選僅具有L0 MV或僅具有L1 MV,則參考圖片有一個L形範本。但是如果當前候選同時具有L0和L1 MV(雙向預測候選),則參考圖 片有2個L形範本,一個範本由L0參考圖片中的L0 MV指向,另一個範本由L1參考圖片中的L1 MV指向。
在一些實施例中,對於L形範本,視訊編解碼器具有適應性厚度模式。厚度定義為L形範本頂部的像素行數或L形範本左側的像素列數。對於前面提到的L型範本template_std,當前圖片的L型範本的頂部厚度為TTH和左側厚度為LTH,以及參考圖片的L型範本頂部厚度為TTHR和左側厚度為LTHR。適應性厚度模式根據一些條件改變頂部厚度或左側厚度,例如當前PU大小或當前PU形狀(寬度或高度)或當前片段的QP。例如,適應性厚度模式可以在當前PU高度
Figure 111130543-A0305-02-0012-7
32時設定頂部厚度=2,在當前PU高度<32時設定頂部厚度=1。
在執行L形範本匹配時,視訊編解碼器獲取當前圖片的L形範本和參考圖片的L形範本,以及比較(匹配)兩個範本之間的差值。兩個範本中的像素之間的差值(例如,絕對差值之和,或SAD)被用作MV的匹配成本。在一些實施例中,視訊編解碼器可以在計算兩個L形範本的所選像素之間的差值之前從當前圖片的L形範本獲得所選像素和從參考圖片的L形範本獲得所選像素。
二、減少延遲匹配成本計算
當(1)從最近重構的相鄰CU中獲取當前CU的L形範本的像素時,以及(2)從DRAM中讀取參考像素時,基於計算的L形範本匹配(template matching,簡稱TM)成本對合併候選進行重新排序可能會導致額外的延遲。本公開的一些實施例提供了減少藉由獲取當前CU的L形範本的重構像素而引入的延遲的方法。在對合併重新排序(基於匹配成本對合併候選進行重新排序)執行計算匹配成本時,當前CU的L形範本中屬於解碼順序中最近重構的N個CU的像素可被排除在匹配成本計算之外(N是一個正整數)。這種方法也可被應用於光照補償(illumination compensation,簡稱LIC)。
第6A-B圖概念性地示出L形範本,其中屬於最近重構的N個CU 的像素被排除在匹配成本計算之外。在所示示例中,正整數N被設置為1。每個CU都標有其解碼順序。第6A圖示出創建兩個CU 610和CU 611的BT分割。CU 610在解碼順序中緊接在當前CU 611之前(和之上)被重構。CU 611的L形範本615包括在CU 610中的像素。如圖所示,這些像素被指定為不可用於確定CU 611的匹配成本,因為它們位於根據解碼順序緊接在當前CU 611之前的CU 610中。
第6B圖示出創建四個CU 620-623的QT分割,其中CU 622在解碼順序上緊接在當前CU 623之前,而CU 620和621在解碼順序上更靠前(在CU 622之前)。CU 623的L形範本625包括在CU 620-622中的像素。如圖所示,在CU 622中的L形範本625的像素被指定為不可用於CU 623的匹配成本計算,因為這些像素位於根據解碼順序緊接在當前CU 623之前的CU 622中。CU 620-621中的L形範本625的像素可用於確定CU 623的匹配成本,因為它們在解碼順序中不緊接在當前CU之前。
在一些實施例中,當前CU的L形範本不被使用,而來自與更高級別視訊編解碼結構相關的以下候選的像素被用來執行合併重新排序(藉由計算匹配成本)以減少延遲:(1)當前CU的祖先的L形範本;(2)當前CU所屬的視訊處理與分配單元(Video Processing and Distribution Unit,簡稱VPDU)的L形範本;以及(3)當前CU所屬的CTU的L型範本。
第7圖概念性地示出使用祖先的L形範本來計算當前CU的匹配成本。如圖所示,CU 720-723從祖先710中分割出來。當CU 723是正在編碼或解碼的當前CU時,L形範本725不用於計算當前CU 723的匹配成本。相反,祖先CU 710的L形範本735被用於計算當前CU 723的匹配成本。當前CU的祖先710可以是當前CU的祖先CU,或者是當前CU 723所屬的VPDU,或當前CU 723所屬的CTU。
三、從DRAM中減少延遲範本檢索
在一些實施例中,視訊編解碼器由於從DRAM中獲取L形範本的 像素而減少了等待時間。具體而言,視訊解碼器藉由僅從標識為“主要”參考圖片的參考圖片而不是任一參考圖片中獲取像素資料來計算當前CU的匹配成本。(在一些實施例中,根據每個參考圖片包含或被參考的參考塊或CU的數量,參考圖片被排名或排序,以及該排名中的前K個參考圖片被指定為“主要”參考圖片;或者,在一些實施例中,包含多於M個參考塊的任一參考圖片被認為是“主要”參考圖片;或者,在一些實施例中,包括至少一個參考塊或CU的任一參考圖片被認為是“主要”參考圖片)。假設有A參考圖片,其中B參考圖片被識別為“主要”參考圖片(A和B為正整數)。為了最小化由於DRAM存取引起的延遲,在一些實施例中,參考像素僅從那些B參考圖片中獲取。
在一些實施例中,如果當前塊或CU的預測候選的參考塊不位於主要參考圖片之一中,則視訊編解碼器可從候選列表中排除參考塊(或預測候選)。在一些實施例中,視訊編解碼器可將不在主要參考圖片中的參考塊(或對應的MV)投影到主要參考圖片之一以及將經投影的參考塊(或經投影的MV)包括在候選列表中。
第8圖概念性地示出使用主要參考圖片中的邊界塊來減少獲取用於範本匹配的像素的等待時間,特別是在獲取存儲在DRAM中的參考圖片的像素時。如圖所示,當前圖片800中的當前CU 810正在被編解碼(編碼或解碼)。當前CU 810的預測候選包括MV1-MV6,MV1-MV6參考參考圖片822、824、826和828中的塊。具體地,MV1參考參考圖片822中的塊841,MV2參考參考圖片824中的塊842,MV3參考參考圖片824中的塊843、MV4參考參考圖片828中的塊844、MV5參考參考圖片826中的塊845,以及MV6參考參考圖片826中的塊846。每個預測候選的成本藉由將參考塊中的L形範本與當前CU 810的L形範本811進行比較來確定。
在該示例中,參考圖片824和826被指定為“主要”參考圖片,因為 這些參考圖片在具有更多參考塊(或具有更多參考它們的候選MV)方面排名更高。參考圖片822和828不被指定為“主要”參考圖片,因為它們因具有較少參考塊而排名較低。
由於參考塊841位於參考圖片822中,參考圖片822不是主要參考圖片,參考塊841對應的MV1被縮放為MV1',以及被投影到主要參考圖片824上作為參考塊851。同樣,參考塊844位於參考圖片828中,該參考圖片828不是主要參考圖片,因此參考塊844對應的MV4被縮放為MV4',以及被投影到主要參考圖片826上作為參考塊854。
參考圖片824中的邊界塊(或邊界框)864被定義為包括參考塊851、842和843。參考圖片826中的邊界塊866被定義為包括參考塊854、845和846。視訊編解碼器從DRAM讀取每個主要參考圖片的邊界塊。獲取邊界塊864和866的DRAM存取將包括基於CU 810的範本匹配成本的合併候選重新排序所需的L形參考範本的全部或部分像素。
在該示例中,預測候選基於L形範本的匹配成本被重新排序。在一些實施例中,預測候選基於雙邊匹配的匹配成本被重新排序。藉由將預測候選指向的參考像素(或塊)與預測候選的鏡像指向的參考像素進行比較或匹配,預測候選的雙邊匹配成本被確定。在一些實施例中,視訊編解碼器可識別每個主要參考圖片的邊界塊以用於計算雙邊匹配成本。主要參考圖片的這種邊界塊可以包含預測候選的參考塊和/或主要參考圖片中的預測候選的一些鏡像的參考塊。獲取此類邊界塊的DRAM存取將包括基於雙邊匹配成本的合併候選重新排序所需的參考塊或鏡像參考塊的全部或部分像素。
第9圖概念性地示出使用主要參考圖片中的邊界塊來減少獲取用於雙邊匹配的像素的等待時間,特別是在獲取存儲在DRAM中的參考圖片的像素時。在該示例中,當前圖片900中的當前CU 910正在被編解碼。當前CU 910 的預測候選(MV0、MV1、MV2)及其鏡像對應物(MV0m、MV1m、MV2m)位於參考圖片922、924、926和928中。其中,參考圖片924和926被標識為“主要”參考圖片,因為它們具有最多的參考塊。參考塊941和944位於非主要參考圖片922和928中。它們被投影到主要參考圖片924和926作為投影的參考塊951(MV2')和954(MV2m')。
參考圖片924中的邊界塊964被定義為其中包括參考塊。參考圖片926中的邊界塊966被定義為其中包括參考塊。視訊編解碼器從DRAM中讀取每個主要參考圖片的邊界塊。獲取邊界塊964和966的DRAM存取將包括基於雙邊匹配成本的的合併候選重新排序所需的參考塊或鏡像參考塊的全部或部分像素。
如所提及的,對於每個主要參考圖片,視訊解碼器從DRAM讀取邊界塊,該邊界塊包含對一個或幾個CU執行預測候選重新排序所需的所有或一些像素。如果(計算匹配成本)合併重新排序所需的像素未完全包含在邊界塊中,則視訊編解碼器可以使用填充值來替換所需的缺失像素。視訊編解碼器還可以在不使用丟失像素的情況下評估損失(範本匹配成本),以及以適當的比例放大評估的損失(將損失擴大到L形範本的全尺寸)。該方法可以應用於LIC,以及其他幾種預測候選重新排序的方法,例如基於L形範本(匹配成本)的合併候選重新排序、基於雙邊的合併候選重新排序等。
第10圖概念性地示出在計算用於預測候選重新排序的範本匹配成本時處理不可用像素。該圖示出當前CU 1000,當前CU 1000具有分別對應於MV1、MV2和MV3的幾個預測候選1010、1020和1030。預測候選1010、1020和1030分別具有L形範本1015、1025和1035。邊界塊1050被定義為包含L形範本的一些或所有像素。如圖所示,邊界塊1050完全包含L形範本1025,但L形範本1015和1035的一些像素不包括在邊界塊1050中。換句話說,邊界塊的DRAM存取 1050不會包括L形範本1015和1035的所有像素。這些範本的在邊界塊1050之外的像素被認為是不可用像素。
視訊編解碼器可以藉由使用填充值替換範本1015和1035的不可用像素來處理它們。視訊編解碼器還可在不使用不可用像素的情況下評估預測候選1010和1030的範本匹配成本或損失,但是會擴大或按比例放大損失。例如,當使用範本1015計算預測候選1010的匹配成本時,如果範本1015的55%的像素位於邊界塊1050之外並且因此不可用,則視訊編解碼器可以基於45%的範本可用像素計算預測候選1010的匹配成本,然後將計算成本放大到100%。
在一些實施例中,多個CU,特別是在解碼順序上連續的CU,可以共用相同的邊界塊定義,因為它們輪流成為當前CU。因此,對邊界塊的內容的一次DRAM存取可以提供像素,用於計算多個不同的連續CU在編解碼時的預測候選的匹配成本。
第11圖概念性地示出使用相同邊界塊的內容來進行匹配成本計算和預測候選重新排序的多個不同CU。如圖所示,CU 1101、1102、1103和1104是按解碼順序連續的CU。CU 1101基於MV1參考預測候選1110。CU 1102基於MV2參考預測候選1120。CU 1103基於MV3參考預測候選1130。CU 1104還基於MV4參考預測候選1130。預測候選1110、1120、1130具有相應的相應L形範本1115、1125和1135。L形範本1115、1125和1135都是參考圖片1100中的參考像素。
邊界塊1150被定義為包括預測候選1110、1120和1130的一些或所有像素及其L形範本。因此,視訊編解碼器可以對邊界塊1150的內容執行一次DRAM存取以及將獲取到的內容臨時存儲在更快的記憶體結構(例如,快取記憶體)中。例如,當CU 1101是被編解碼的當前塊時,邊界塊1150的存儲內容可用於提供範本1115的一部分像素,其用於確定預測候選1110的匹配成本和用於確定用於編解碼CU 1101的預測候選的重新排序。當CU 1102是正在編解碼的當前 塊時,邊界塊1150的存儲內容可用於提供範本1125的一部分像素,其用於確定預測候選1120的匹配成本和用於確定用於編解碼CU 1102的預測候選的重新排序。當CU 1103是當前正在編解碼的塊時,邊界塊1150的存儲內容可用於提供範本1135的一部分像素,其用於確定預測候選1130的匹配成本以及對用於編解碼CU 1130的預測候選進行重新排序。由於CU 1104也使用預測候選1130,相同的像素也可以用於對CU 1104的預測候選進行重新排序。
四、示例視訊編碼器
第12圖示出可使用基於成本的重排序索引來發送預測候選的選擇的示例視訊編碼器1200。如圖所示,視訊編碼器1200從視訊源1205接收輸入視訊訊號以及將訊號編碼為位元流1295。視訊編碼器1200具有用於對來自視訊源1205的訊號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組1210、量化模組1211、逆量化模組1214、逆變換模組1215、畫面內估計模組1220、畫面內預測模組1225、運動補償模組1230、運動估計模組1235、環路濾波器1245、重構圖片緩衝器1250、MV緩衝器1265、MV預測模組1275和熵編碼器1290。運動補償模組1230和運動估計模組1235是幀間預測模組1240的一部分.
在一些實施例中,模組1210-1290是由計算設備或電子裝置的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1210-1290是由電子裝置的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。儘管模組1210-1290被示為單獨的模組,但一些模組可以組合成單個模組。
視訊源1205提供原始視訊訊號,其呈現每個視訊幀的像素資料而不進行壓縮。減法器1202計算視訊源1205的原始視訊像素資料與來自運動補償模組1230或幀內預測模組1225的預測像素資料1213之間的差值。變換模組1210 轉換差值(或殘差像素資料或殘差訊號1208)轉換成變換係數(例如,藉由執行離散余弦變換或DCT)。量化模組1211將變換係數量化成量化資料(或量化係數)1212,其由熵編碼器1290編碼成位元流1295。
逆量化模組1214對量化資料(或量化係數)1212進行去量化以獲得變換係數,以及逆變換模組1215對變換係數執行逆變換以產生重構殘差1219。重構殘差1219與預測像素資料1213相加一起產生重構的像素資料1217。在一些實施例中,重構的像素資料1217被臨時存儲在線緩衝器(line buffer未示出)中用於畫面內預測和空間MV預測。重構像素由環路濾波器1245濾波並被存儲在重構圖片緩衝器1250中。在一些實施例中,重構圖片緩衝器1250是視訊編碼器1200外部的記憶體。在一些實施例中,重構圖片緩衝器1250是視訊編碼器1200內部的記憶體。
畫面內估計模組1220基於重構的像素資料1217執行幀內預測以產生幀內預測資料。幀內預測資料被提供至熵編碼器1290以被編碼成位元流1295。幀內預測資料還被幀內預測模組1225用來產生預測像素資料1213。
運動估計模組1235藉由產生MV以參考存儲在重構圖片緩衝器1250中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供至運動補償模組1230以產生預測像素資料。
視訊編碼器1200不是對位元流中的完整實際MV進行編碼,而是使用MV預測來生成預測的MV,以及用於運動補償的MV與預測的MV之間的差值被編碼為殘差運動資料並存儲在位元流1295。
基於為編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,MV預測模組1275生成預測的MV。MV預測模組1275從MV緩衝器1265中獲取來自先前視訊幀的參考MV。視訊編碼器1200將對當前視訊幀生成的MV存儲在MV緩衝器1265中作為用於生成預測MV的參考MV。
MV預測模組1275使用參考MV來創建預測的MV。預測的MV可以藉由空間MV預測或時間MV預測來計算。預測的MV和當前幀的運動補償MV(MC MV)之間的差值(殘差運動資料)由熵編碼器1290編碼到位元流1295中。
熵編碼器1290藉由使用諸如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和資料編碼到位元流1295中。熵編碼器1290將各種報頭元素、標誌連同量化的變換係數1212和作為語法元素的殘差運動資料編碼到位元流1295中。位元流1295繼而被存儲在存放裝置中或藉由比如網路等通訊媒介傳輸到解碼器。
環路濾波器1245對重構的像素資料1217執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第13圖示出視訊編碼器1200的部分,該視訊編碼器120基於匹配成本實現預測候選的選擇。具體而言,該圖圖示了視訊編碼器1200的幀間預測模組1240的組件,其從DRAM獲取像素作為範本或鏡像以用於計算匹配成本。
DRAM獲取控制器1310控制從重構圖片緩衝器1250獲取像素資料,這可以由DRAM實現。DRAM獲取控制器1310可以識別參考圖片的邊界塊以及將邊界塊的內容從重構的圖片緩衝器1250中獲取到邊界塊內容記憶體1315中。
對於用於編解碼當前塊的候選列表(例如,合併候選列表)中的每個預測候選,範本獲取模組1320從重構圖片緩衝器1250中獲取來自當前和參考圖片的像素作為L形範本的樣本(用於範本匹配)或作為鏡像(用於雙邊匹配)。範本獲取模組1320可以藉由使用DRAM獲取控制器1310來獲取至少一些樣 本,這可以提供從邊界塊內容記憶體1315獲取的範本樣本,以最小化DRAM存取延遲。
範本獲取模組1320確定應該從哪些圖片中提取哪些像素以及將其用於計算匹配成本。例如,範本獲取模組1320可以基於參考這些圖片的預測候選的數量將一些參考圖片指定為“主要”參考圖片。範本獲取模組1320可以將非主要參考圖片的預測候選投影到主要參考圖片以及獲取用於投影的預測候選的像素。範本獲取模組1320還可以基於像素的位置將像素識別為可用或不可用。例如,最近重構的塊(例如,解碼順序中的N個最近塊)中的像素可以被識別為不可用作當前塊的範本,而在DRAM獲取邊界塊之外的像素可以被識別為不可用作參考塊的範本。
範本獲取模組1320將預測候選的參考範本和當前範本提供給匹配成本計算器1330,匹配成本計算器1330執行匹配以產生預測候選的匹配成本。匹配成本計算器1330可以在計算預測候選的匹配成本時用填充值替換不可用像素,或者僅基於可用像素計算匹配成本,然後將計算的成本縮放到整個範本或鏡像。
計算的各種候選的匹配成本被提供至候選選擇模組1340,其可以基於計算的匹配成本將重新排序的索引配置於預測候選。然後,候選選擇模組1340可以使用計算的匹配成本來選擇用於編碼當前塊的最低成本預測候選。選擇的預測候選(可以是合併候選)被指示給運動補償模組1230以完成用於編碼當前塊的預測。選擇的預測候選也被提供給熵編碼器1290以在位元流1295中發送。選擇的預測候選可以藉由使用預測候選的對應重新排序索引來發送以減少傳輸的比特數。
第14圖概念性地示出用於在使用重新排序的索引來選擇預測候選以對像素塊進行編碼時減少等待時間的處理1400。在一些實施例中,計算設 備的一個或多個處理單元(例如,處理器)實現編碼器1200,藉由執行存儲在電腦可讀介質中的指令來執行處理1400。在一些實施例中,實現編碼器1200的電子裝置執行處理1400。
編碼器接收(在塊1410)要編碼為視訊的當前圖片中的當前像素塊的資料。編碼器識別(在塊1420)當前塊的預測候選的集合。預測候選的集合可以參考多個參考圖片,以及視訊編碼器可以基於預測候選在當前塊的參考圖片中的分佈將參考圖片的子集識別為“主要”參考圖片。在一些實施例中,相比不是主要參考圖片的任一參考圖片,每個主要參考圖片由更多的預測候選參考。例如,在一些實施例中,參考圖片根據每個參考圖片包含的參考塊或CU的數量進行排列或排序,以及將該排名中排名前N的參考圖片指定為“主要”參考圖片;或者,在一些實施例中,包含多於M個參考塊的任一參考圖片被認為是“主要”參考圖片;或者,在一些實施例中,包括至少一個參考塊或CU的任一參考圖片被認為是“主要”參考圖片。主要參考圖片藉由參考上述第8圖來描述。
編碼器從當前圖片中獲取(在塊1430)當前塊的相鄰像素的集合(例如,L形當前範本)。當前塊的相鄰像素的集合可以包括由第一塊包含的可用像素集合和由第二塊包含的不可用像素集合。第一塊是在閾值時間之前重構的塊(例如,不是按解碼順序最近重構的N個塊中的一個),第二塊是在閾值時間之後重構的塊(例如,按解碼順序最近重構的N個塊中的一個)。參考第6A-B圖描述了基於解碼順序將可用和不可用像素指定為當前塊的範本。在一些實施例中,可用像素和不可用像素可以分別分佈在多個塊中。換言之,可用像素集合可以被第一組塊包含以及不可用像素集合可以被第二組塊包含。第一組塊在閾值時間之前被重構,第二組塊在閾值時間之後被重構。
在一些實施例中,可用作當前塊的L形範本的相鄰像素的集合包括與祖先或更高級結構(例如,CTU、VDPU)相鄰的像素,祖先或更高級結構 包括當前塊。但是,與當前塊相鄰的像素不可用。參考第7圖描述了基於層次結構(hierarchy)將可用和不可用像素指定為當前塊的範本。
編碼器(在塊1440)對每個預測候選從參考圖片中獲取預測候選的參考像素集合(例如,L形參考範本)。在一些實施例中,邊界塊被定義用於每個“主要”參考圖片,該邊界塊包含多個預測候選的多個參考像素集合的至少一部分。邊界塊的內容可以藉由一個單一的動態隨機存取記憶體(dynamic random-access memory,簡稱DRAM)訪問來獲取,或者該塊的內容位於同一個DRAM頁中。編碼器可以存儲獲取到的邊界塊的內容,用於編碼在解碼順序中在當前塊之後的一個或多個塊。邊界塊參照第8圖和第10-11圖被描述。
在一些實施例中,參考非主要參考圖片的預測候選被縮放或投影到主要參考圖片,使得投影的預測候選參考主要參考圖片中的像素。對主要參考圖片定義的邊界塊可以包括投影的預測候選參考的像素。在一些實施例中,參考非主要參考圖片的預測候選從當前塊的預測候選集合中被移除。預測候選到主要參考圖片的縮放參考第8圖被描述。
編碼器對每個預測候選計算(在塊1450)預測候選的參考像素集合和當前塊的相鄰像素集合之間的匹配成本。在一些實施例中,特定預測候選的參考像素包括由邊界塊包含的可用像素集合和未被邊界塊包含的不可用像素集合。特定預測候選的匹配成本是基於可用像素集合而不是不可用像素集合計算的。在一些實施例中,匹配成本藉由使用填充值替換不可用像素集合來計算。在一些實施例中,藉由將基於可用像素集合(而不是不可用像素集合)計算的成本縮放到特定預測候選的所有參考像素來計算匹配成本。基於由於邊界塊的L形範本的可用和不可用像素的成本計算參考第10圖被描述。
在一些實施例中,匹配成本基於可用像素集合而不是當前塊的相鄰像素的不可用像素集合來計算。在一些實施例中,匹配成本藉由使用填充值 替換該不可用像素集合來計算。
編碼器基於預測候選集合的計算的匹配成本向每個預測候選分配索引(在塊1460)。
編碼器藉由使用選擇的預測候選的分配索引來發送(在塊1470)來自預測候選集合中的預測候選的選擇。編碼器藉由使用選擇的預測候選來編碼(在塊1480)當前塊(例如,編碼到位元流中)以重構當前塊。
五、示例視訊解碼器
在一些實施例中,編碼器可以發送(或生成)位元流中的一個或多個語法元素,使得解碼器可以從位元流中解析該一個或多個語法元素。
第15圖示出可使用基於成本的重排序索引來接收對預測候選的選擇的示例視訊解碼器1500。如圖所示,視訊解碼器1500是圖像解碼或視訊解碼電路,該圖像解碼或視訊解碼電路接收位元流1595以及將位元流的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器1500具有用於解碼位元流1595的若干組件或模組,包括選自以下的組件:逆量化模組1511、逆變換模組1510、畫面內預測模組1525、運動補償模組1530、環路濾波器的1545、解碼圖片緩衝器1550、MV緩衝器1565、MV預測模組1575和解析器1590。運動補償模組1530是幀間預測模組1540的一部分。
在一些實施例中,模組1510-1590是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1510-1590是由電子設備的一個或多個IC實現的硬體電路模組。儘管模組1510-1590被示為單獨的模組,但一些模組可以組合成單個模組。
根據由視訊編解碼或圖像編解碼標準定義的語法,解析器1590(或熵解碼器)接收位元流1595以及執行初始解析。解析的語法元素包括各種頭部元素、標誌以及量化資料(或量化係數)1512。解析器1590藉由使用熵編 解碼技術(例如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼(Huffman encoding)。
逆量化模組1511對量化資料(或量化係數)1512進行去量化以獲得變換係數,以及逆變換模組1510對變換係數1516執行逆變換以產生重構的殘差訊號1519。重構的殘差訊號1519與來自幀內預測模組1525或運動補償模組1530的預測像素資料1513相加以產生解碼的像素資料1517。解碼像素資料由環路濾波器1545濾波並存儲在解碼圖片緩衝器1550中。在一些實施例中,解碼圖片緩衝器1550是視訊解碼器1500外部的記憶體。在一些實施例中,解碼圖片緩衝器1550是視訊解碼器1500內部的記憶體。
幀內預測模組1525從位元流1595接收幀內預測資料,以及據此,從存儲在解碼圖片緩衝器1550中的解碼的像素資料1517產生預測像素資料1513。在一些實施例中,解碼的像素資料1517也被存儲在線緩衝器(未示出)中,用於畫面內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1550的內容用於顯示。顯示裝置1555或者獲取解碼圖片緩衝器1550的內容用於直接顯示,或者獲取解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖片緩衝器1550接收像素值。
運動補償模組1530根據運動補償MV(MC MV)從解碼圖片緩衝器1550中存儲的解碼的像素資料1517產生預測像素資料1513。這些運動補償MV藉由將從位元流1595接收的殘差運動資料與從MV預測模組1575接收的預測MV相加來解碼。
基於為解碼先前視訊幀而生成的參考MV(例如,用於執行運動補償的運動補償MV),MV預測模組1575生成預測的MV。MV預測模組1575從MV緩衝器1565中獲取先前視訊幀的參考MV。視訊解碼器1500將為解碼當前視 訊幀而生成的運動補償MV存儲在MV緩衝器1565中作為用於產生預測MV的參考MV。
環路濾波器1545對解碼的像素資料1517執行濾波或平滑操作以減少編碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括自適應性濾波器(adaptive loop filter,簡稱ALF)。
第16圖示出視訊編碼器1500的部分,該視訊編碼器1500的基於匹配成本實現預測候選的選擇。具體而言,該圖示出視訊編碼器1500的幀間預測模組1540的組件,該視訊編碼器1500從DRAM獲取像素作為範本或鏡像以用於計算匹配成本。
DRAM獲取控制器1610控制從解碼圖片緩衝器1550獲取像素資料,這可以由DRAM實現。DRAM獲取控制器1610可以識別參考圖片的邊界塊以及將邊界塊的內容從解碼圖片緩衝器1550中獲取到邊界塊內容記憶體1615中。
對於用於對當前塊進行編解碼的候選列表(例如,合併候選列表)中的每個預測候選,範本獲取模組1620從解碼圖片緩衝器1550中獲取來自當前和參考圖片的像素作為L形範本的樣本(用於範本匹配)或作為鏡像(用於雙邊匹配)。範本獲取模組1620可以藉由使用DRAM獲取控制器1610獲取至少一些樣本,這可以提供從邊界塊內容記憶體1615獲取的範本樣本以最小化DRAM存取延遲。
範本獲取模組1620確定應該從哪些圖片中提取哪些像素以及將其用於計算匹配成本。例如,範本獲取模組1620可以基於參考那些圖片的預測候選的數量將一些參考圖片指定為“主要”參考圖片。範本獲取模組1620可以將非主要參考圖片的預測候選投影到主要參考圖片以及獲取用於投影的預測候選的 像素。範本獲取模組1620還可以基於像素的位置將像素識別為可用或不可用。例如,最近重構塊(例如,解碼順序中的N個最近塊)中的像素可以被識別為不可用作為當前塊的範本,而在DRAM獲取邊界塊之外的像素可以被識別為不可用作為參考塊的範本。
範本獲取模組1620將預測候選的參考範本和當前範本提供至匹配成本計算器1630,匹配成本計算器1630執行匹配以產生預測候選的匹配成本。匹配成本計算器1630可以在計算預測候選的匹配成本時用填充值替換不可用像素,或者僅基於可用像素計算匹配成本,然後將計算的成本縮放到整個範本或鏡像。
計算的各種候選的匹配成本被提供給候選選擇模組1640,其可以基於計算的匹配成本將重新排序的索引配置至預測候選。
熵解碼器1590可以接收選擇用於當前塊的預測候選的信令(來自例如位元流1595)。選擇的預測候選可以藉由使用預測候選的相應重新排序索引來發送,以減少傳輸的位元數。選擇的預測候選(可以是合併候選)被指示給運動補償模組1530以完成用於解碼當前塊的預測。
第17圖概念性地示出用於在使用重新排序的索引來選擇預測候選以解碼像素塊時減少等待時間的處理1700。在一些實施例中,計算設備的一個或多個處理單元(例如,處理器)實現解碼器1500,其藉由執行存儲在電腦可讀介質中的指令來執行處理1700。在一些實施例中,實現解碼器1500的電子設備執行處理1700。
解碼器接收(在塊1710)要被解碼為視訊的當前圖片中的當前像素塊的資料。
解碼器識別(在塊1720)當前塊的預測候選的集合。該預測候選的集合可以參考多個參考圖片,以及視訊解碼器可以基於預測候選在當前塊的 參考圖片中的分佈將參考圖片的子集識別為“主要”參考圖片。在一些實施例中,相比不是主要參考圖片的任一參考圖片,每個主要參考圖片由更多的預測候選參考。例如,在一些實施例中,參考圖片根據每個參考圖片包含的參考塊或CU的數量進行排列或排序,以及將該排名中前N的參考圖片指定為“主要”參考圖片;或者,在一些實施例中,包含多於M個參考塊的任一參考圖片被認為是“主要”參考圖片;或者,在一些實施例中,包括至少一個參考塊或CU的任一參考圖片被認為是“主要”參考圖片。主要參考圖片藉由參考第8圖來描述。
解碼器從當前圖片中獲取(在塊1730)當前塊的相鄰像素的集合(例如,L形當前範本)。當前塊的相鄰像素的集合可以包括由第一塊包含的可用像素集合和由第二塊包含的不可用像素集合。第一塊是在閾值時間之前重構的塊(例如,不是按解碼順序最近重構的N個塊中的一個),第二塊是在閾值時間之後重構的塊(例如,按解碼順序最近重構的N個塊中的一個)。參考第6A-B圖,基於解碼順序將可用和不可用像素指定為當前塊的範本被描述。在一些實施例中,可用像素和不可用像素可以分別分佈在多個塊中。因此,可用像素集合可以被第一組塊包含以及該不可用像素集合可以被第二組塊包含。第一組塊在閾值時間之前重構,第二組塊在閾值時間之後重構。
在一些實施例中,可用作當前塊的L形範本的相鄰像素的集合包括與祖先或更高級別結構(例如,CTU、VDPU)相鄰的像素,該祖先或更高級別結構包括當前塊。但是,與當前塊相鄰的像素不可用。參考第7圖,基於層次結構將可用和不可用像素指定為當前塊的範本被描述。
解碼器(在塊1740)對每個預測候選從參考圖片中獲取預測候選的參考像素的集合(例如,L形參考範本)。在一些實施例中,對每個“主要”參考圖片定義邊界塊,該邊界塊包含多個預測候選的多個參考像素集合的至少一部分。邊界塊的內容可以藉由一個單一的動態隨機存取記憶體(dynamic random-access memory,簡稱DRAM)存取來獲取,或者該塊的內容位於同一個DRAM頁中。解碼器可以存儲獲取到的邊界塊的內容,用於解碼按解碼順序在當前塊之後的一個或多個塊。參照以上第8圖、第10-11圖,邊界塊被描述。
在一些實施例中,參考非主要參考圖片的預測候選被縮放或投影到主要參考圖片,使得投影的預測候選參考主要參考圖片中的像素。對主要參考圖片定義的邊界塊可以包括投影的預測候選參考的像素。在一些實施例中,參考非主要參考圖片的預測候選從當前塊的預測候選集合中被移除。參考以上第8圖,預測候選到主要參考圖片的縮放被描述。
解碼器對每個預測候選計算(在塊1750)預測候選的參考像素組和當前塊的相鄰像素組之間的匹配成本。在一些實施例中,特定預測候選的參考像素包括由邊界塊包含的可用像素和結合未被邊界塊包含的不可用像素集合。特定預測候選的匹配成本基於可用像素集合而不是不可用像素集合計算。在一些實施例中,匹配成本藉由用填充值替換該不可用像素集合來計算。在一些實施例中,藉由將基於可用像素集合(而不是不可用像素集合)計算的成本縮放到特定預測候選的所有參考像素,匹配成本被計算。參考第10圖,基於由邊界塊帶來的L形範本的可用和不可用像素,成本的計算被描述。
在一些實施例中,匹配成本基於可用像素集合而不是當前塊的相鄰像素的不可用像素集合來計算。在一些實施例中,匹配成本藉由用填充值替換不可用像素集合來計算。
解碼器基於所計算的預測候選的集合的匹配成本向每個預測候選分配(在塊1760)索引。解碼器藉由使用所選擇的預測候選的分配索引來發送(在塊1770)來自預測候選的集合中的預測候選的選擇。解碼器藉由使用所選擇的預測候選來解碼(在塊1780)當前塊(例如,解碼成位元流)以重構當前塊。解碼器然後可以提供重構的當前塊以作為重構的當前圖片的一部分來顯 示。
六、示例電子系統
許多上述特徵和應用被實現為軟體處理,這些軟體處理被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器內核或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟驅動器(compact disc read-only memory,簡稱CD-ROM)、快閃記憶體驅動器、隨機存取記憶體(random-access memroy,簡稱RAM)晶片、硬碟驅動器、可擦除可程式設計唯讀記憶體(erasable programmble read-only memory,簡稱EPROM)、電可擦除可程式設計唯讀記憶體(electrically erasable proagrammble read-only memory,簡稱EEPROM)等。電腦可讀介質不包括藉由無線或有線連接傳遞的載波和電子訊號。
在本說明書中,術語“軟體”意在包括駐留在唯讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以實現為更大程式的子部分,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以實現為單獨的程式。最後,共同實現此處描述的軟體發明的單獨程式的任一組合都在本公開的範圍內。在一些實施例中,軟體程式,在被安裝以在一個或多個電子系統上運行時,定義一個或多個特定機器實施方式,該實施方式處理和執行軟體程式的操作。
第18圖概念性地示出了實現本公開的一些實施例的電子系統1800。電子系統1800可以是電腦(例如,臺式電腦、個人電腦、平板電腦等)、電話、PDA或任一其他類型的電子設備。這種電子系統包括各種類型的電腦可讀介質和用於各種其他類型的電腦可讀介質的介面。電子系統1800包括匯流排1805、處理單元1810、圖形處理單元(graphics-processing unit,簡稱GPU)1815、 系統記憶體1820、網路1825、唯讀記憶體1830、永久存放裝置1835、輸入設備1840,和輸出設備1845。
匯流排1805共同表示與電子系統1800通訊連接的眾多內部設備的所有系統、週邊設備和晶片組匯流排。例如,匯流排1805將處理單元1810與GPU 1815,唯讀記憶體1830、系統記憶體1820和永久存放裝置1835通訊連接。
處理單元1810從這些各種記憶體單元中獲取要執行的指令和要處理的資料,以便執行本公開的處理。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到GPU 1815並由其執行。GPU 1815可以卸載各種計算或補充由處理單元1810提供的影像處理。
唯讀記憶體(read-only-memory,簡稱ROM)1830存儲由處理單元1810和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存放設備1835是讀寫存放設備。該設備是即使在電子系統1800關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量記憶裝置(例如磁片或光碟及其對應的磁碟機)作為永久存放裝置1835。
其他實施例使用卸除式存放裝置設備(例如軟碟、快閃記憶體設備等,及其對應的磁碟機)作為永久存放裝置。與永久存放裝置1835一樣,系統記憶體1820是讀寫記憶體設備。然而,與永久存放裝置1835不同,系統記憶體1820是易失性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體1820存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的處理被存儲在系統記憶體1820、永久存放裝置1835和/或唯讀記憶體1830中。例如,根據本公開的一些實施例,各種記憶體單元包括用於根據處理多媒體剪輯的指令。從這些各種記憶體單元中,處理單元1810獲取要執行的指令和要處理的資料,以便執行一些實施例的處理。
匯流排1805還連接到輸入設備1840和輸出設備1845。輸入設備 1840使使用者能夠向電子系統傳達資訊和選擇命令。輸入設備1840包括字母數位鍵盤和定點設備(也被稱為“游標控制設備”)、照相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備1845顯示由電子系統生成的圖像或者輸出資料。輸出設備1845包括印表機和顯示裝置,例如陰極射線管(cathode ray tubes,簡稱CRT)或液晶顯示器(liquid crystal display,簡稱LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括用作輸入和輸出設備的設備,例如觸控式螢幕。
最後,如第18圖所示,匯流排1805還藉由網路介面卡(未示出)將電子系統1800耦合到網路1825。以這種方式,電腦可以是電腦網路(例如局域網(“LAN”)、廣域網路(“WAN”)或內聯網的一部分,或者是多種網路的一個網路,例如互聯網。電子系統1800的任一或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如微處理器、存儲裝置和記憶體,其將電腦程式指令存儲在機器可讀或電腦可讀介質(或者被稱為電腦可讀存儲介質、機器可讀介質或機器可讀存儲介質)中。這種電腦可讀介質的一些示例包括RAM、ROM、唯讀光碟(read-only compact discs,簡稱CD-ROM)、可記錄光碟(recordable compact discs,簡稱CD-R)、可重寫光碟(rewritable compact discs,簡稱CD-RW)、唯讀數位多功能光碟(read-only digital versatile discs)(例如,DVD-ROM,雙層DVD-ROM),各種可燒錄/可重寫DVD(例如,DVD-RAM,DVD-RW,DVD+RW等),快閃記憶體(例如,SD卡,迷你SD卡、微型SD卡等)、磁性和/或固態硬碟驅動器、唯讀和可記錄Blu-Ray®光碟、超密度光碟、任一其他光學或磁性介質以及軟碟。電腦可讀介質可以存儲可由至少一個處理單元執行以及包括用於執行各種操作的指令集合的電腦程式。電腦程式或電腦代碼的示例包括諸如由編譯器產生的機器代碼,以及包括由電腦、電子組件或使用注釋器(interpreter)的微處理器執行的高級代碼的文檔。
雖然上述討論主要涉及執行軟體的微處理器或多核處理器,但許多上述特徵和應用由一個或多個積體電路執行,例如專用積體電路(application specific integrated circuit,簡稱ASIC)或現場可程式設計閘陣列(field programmable gate array,簡稱FPGA)。在一些實施例中,這樣的積體電路執行存儲在電路本身上的指令。此外,一些實施例執行存儲在可程式設計邏輯器件(programmable logic device,簡稱PLD)、ROM或RAM器件中的軟體。
如在本說明書和本申請的任一申請專利範圍中使用的,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於本說明書的目的,術語顯示或顯示是指在電子設備上顯示。如在本說明書和本申請的任何申請專利範圍中所使用的,術語“電腦可讀介質”、“電腦可讀介質”和“機器可讀介質”完全限於以電腦可讀形式存儲資訊的有形物理物件。這些術語不包括任何無線訊號、有線下載訊號和任何其他短暫訊號。
雖然已經參考許多具體細節描述了本公開,但是本領域之通常知識者將認識到,本公開可以以其他特定形式實施而不背離本公開的精神。此外,許多圖(包括第14圖和第17圖)概念性地說明了處理。這些處理的具體操作可能不會按照所示和描述的確切循序執行。具體操作可以不是在一個連續的一系列操作中執行,在不同的實施例中可以執行不同的具體操作。此外,該處理可以使用幾個子處理來實現,或者作為更大的宏處理的一部分來實現。因此,本領域之通常知識者將理解本公開不受前述說明性細節的限制,而是由所附申請專利範圍限定。
補充說明
本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的 排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視為“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。
此外,關於基本上任何複數和/或單數術語的使用,本領域之通常知識者可以根據上下文和/或應用從複數變換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。
此外,本領域之通常知識者可以理解,通常,本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域之通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍內容,將在申請專利範圍內明確表示,並且,在沒有這類內容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的內容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一個”或“一種”介紹申請專利範圍內容,而限制了任何特定神專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一個”或“一種”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性內容,本領域之通常知識者可以認識到,這樣的內容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著 至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域之通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統等。本領域之通常知識者進一步可理解,無論在說明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,出於說明目的,本發明已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,真實的範圍和申請由申請專利範圍表示。
300:合併候選列表

Claims (11)

  1. 一種視訊編解碼方法,包括:接收一像素塊的資料,該像素塊將被編碼或解碼作為一視訊的一當前圖片的一當前塊;對於該當前塊的一個或多個預測候選的一集合中的每個預測候選,計算一參考圖片中該預測候選的一參考像素集合與該當前圖片中該當前塊的一相鄰像素集合之間的一匹配成本;基於計算的該預測候選集合的該匹配成本向每個預測候選分配一索引;藉由使用所選擇的一預測候選的一分配的索引來發送或接收來自該預測候選集合中的該預測候選的該選擇;以及藉由使用所選擇的該預測候選來對該當前塊進行編碼或解碼以重構該當前塊,其中,該預測候選集合參考多個參考圖片,該方法還包括基於該等預測候選在該當前塊的該等參考圖片中的一分佈將該等參考圖片的一子集識別為多個主要參考圖片,對一主要參考圖片定義一邊界塊,該邊界塊包含用於多個預測候選的多個參考像素集合的至少一部分,一預測候選參考一第一非主要參考圖片,該預測候選被投影到一第二主要參考圖片,使得該投影的預測候選參考該第二主要參考圖片中的多個像素,以及對該第二主要參考圖片定義另一邊界塊,該另一邊界塊包括該投影的預測候選參考的該等像素中至少一部分像素。
  2. 如請求項1所述之視訊編解碼方法,其中,該邊界塊的內容可藉由一個單一的動態隨機存取記憶體(DRAM)存取來獲取。
  3. 如請求項2所述之視訊編解碼方法,其中,獲取的該邊界塊的該內容被存儲用於編碼或解碼在編解碼順序中在該當前塊之後的一個或多個塊。
  4. 如請求項1所述之視訊編解碼方法,其中,一特定預測候選的多個參考像素包括由該邊界塊包含的一可用像素集合和未被該邊界塊包含的一不可用像素集合,其中該特定預測候選的該匹配成本基於該可用像素集合而不是基於該不可用像素集合進行計算。
  5. 如請求項4所述之視訊編解碼方法,其中,該匹配成本藉由使用多個填充值替換該不可用像素集合進行計算。
  6. 如請求項4所述之視訊編解碼方法,其中,藉由將基於該可用像素集合而不是基於該不可用像素集合計算的一成本縮放到該特定預測候選的所有參考像素,該匹配成本被計算。
  7. 如請求項1所述之視訊編解碼方法,其中,該當前塊的該相鄰像素集合包括由一第一塊包含的一可用像素集合和由一第二塊包含的一不可用像素集合,其中該第一塊不是最近重構的N個塊之一,以及該第二塊是最近重構的N個塊之一。
  8. 如請求項7所述之視訊編解碼方法,其中,該匹配成本基於該可用像素集合而不是基於該當前塊的多個相鄰像素的該不可用像素集合進行計算。
  9. 如請求項8所述之視訊編解碼方法,其中,該匹配成本藉由使用多個填充值替換該不可用像素集合進行計算。
  10. 如請求項1所述之視訊編解碼方法,其中,該相鄰像素集合包括與一祖先結構相鄰的多個像素,但不包括與該當前塊相鄰的多個像素,該祖先結構包括該當前塊。
  11. 一種電子裝置,包括:一種視頻編解碼電路,被配置為執行多個操作,包括:接收一像素塊的資料,該像素塊將被編碼或解碼作為一視訊的一當前圖片 的一當前塊;對於該當前塊的一個或多個預測候選的一集合中的每個預測候選,計算一參考圖片中該預測候選的一參考像素集合與該當前圖片中該當前塊的一相鄰像素集合之間的一匹配成本;基於計算的該預測候選集合的該匹配成本向每個預測候選分配一索引;藉由使用所選擇的一預測候選的一分配的索引來發送或接收來自該預測候選集合中的該預測候選的該選擇;以及藉由使用所選擇的該預測候選來對該當前塊進行編碼或解碼以重構該當前塊,其中,該預測候選集合參考多個參考圖片,該方法還包括基於該等預測候選在該當前塊的該等參考圖片中的一分佈將該等參考圖片的一子集識別為多個主要參考圖片,對一主要參考圖片定義一邊界塊,該邊界塊包含用於多個預測候選的多個參考像素集合的至少一部分,一預測候選參考一第一非主要參考圖片,該預測候選被投影到一第二主要參考圖片,使得該投影的預測候選參考該第二主要參考圖片中的多個像素,以及對該第二主要參考圖片定義另一邊界塊,該另一邊界塊包括該投影的預測候選參考的該等像素中至少一部分像素。
TW111130543A 2021-08-16 2022-08-15 視訊編解碼方法及裝置 TWI833327B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163233346P 2021-08-16 2021-08-16
US63/233,346 2021-08-16
US17/874,009 US11805245B2 (en) 2021-08-16 2022-07-26 Latency reduction for reordering prediction candidates
US17/874,009 2022-07-26

Publications (2)

Publication Number Publication Date
TW202310628A TW202310628A (zh) 2023-03-01
TWI833327B true TWI833327B (zh) 2024-02-21

Family

ID=85177250

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111130543A TWI833327B (zh) 2021-08-16 2022-08-15 視訊編解碼方法及裝置

Country Status (4)

Country Link
US (1) US11805245B2 (zh)
CN (1) CN118160301A (zh)
TW (1) TWI833327B (zh)
WO (1) WO2023020392A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241993A1 (en) * 2016-05-17 2018-08-23 Arris Enterprises Llc Template matching for jvet intra prediction
US20190281285A1 (en) * 2016-11-01 2019-09-12 Samsung Electronics Co., Ltd. Encoding method and device therefor, and decoding method and device therefor
US20200404289A1 (en) * 2014-06-19 2020-12-24 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US20210044821A1 (en) * 2018-01-26 2021-02-11 Interdigital Vc Holdings, Inc. Illumination compensation flag in frame rate up-conversion with template matching
US20210250580A1 (en) * 2018-08-03 2021-08-12 Mediatek Inc. Method and Apparatus of Enhanced Intra Block Copying Mode for Video Coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103891283B (zh) 2011-12-05 2018-03-16 Lg电子株式会社 帧内预测的方法和设备
EP3443746B1 (en) 2016-05-17 2021-07-21 ARRIS Enterprises LLC Template matching for jvet intra prediction
TWI833795B (zh) 2018-09-03 2024-03-01 大陸商北京字節跳動網絡技術有限公司 交織預測的快速編碼方法
CN110933423B (zh) 2018-09-20 2022-03-25 杭州海康威视数字技术股份有限公司 帧间预测方法和设备
CN117768651A (zh) 2018-09-24 2024-03-26 北京字节跳动网络技术有限公司 处理视频数据的方法、装置、介质、以及比特流存储方法
CN118200548A (zh) * 2019-02-24 2024-06-14 Lg 电子株式会社 基于dmvr的帧间预测方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200404289A1 (en) * 2014-06-19 2020-12-24 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US20180241993A1 (en) * 2016-05-17 2018-08-23 Arris Enterprises Llc Template matching for jvet intra prediction
US20190281285A1 (en) * 2016-11-01 2019-09-12 Samsung Electronics Co., Ltd. Encoding method and device therefor, and decoding method and device therefor
US20210044821A1 (en) * 2018-01-26 2021-02-11 Interdigital Vc Holdings, Inc. Illumination compensation flag in frame rate up-conversion with template matching
US20210250580A1 (en) * 2018-08-03 2021-08-12 Mediatek Inc. Method and Apparatus of Enhanced Intra Block Copying Mode for Video Coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
期刊 Wen-Nung Lie,and Zhi-Wei Gao, Video Error Concealment by Integrating Greedy Suboptimization and Kalman Filtering Techniques, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 16, NO. 8, IEEE AUGUST 2006 page 984, *

Also Published As

Publication number Publication date
US20230047501A1 (en) 2023-02-16
US11805245B2 (en) 2023-10-31
WO2023020392A1 (en) 2023-02-23
TW202310628A (zh) 2023-03-01
CN118160301A (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
TWI711300B (zh) 照度補償方法及相應之視訊處理裝置
TWI688261B (zh) 用於簡化的合併候選發信的編解碼方法及裝置
TWI737201B (zh) 用於發信合併工具的方法及裝置
TWI669951B (zh) 多重假設之合併模式
TWI690200B (zh) 畫面內合併預測
TWI677234B (zh) 二次轉換核心尺寸選擇
US11115653B2 (en) Intra block copy merge list simplification
CN107454398B (zh) 编码方法、编码装置、解码方法和解码装置
TWI814540B (zh) 視訊編解碼方法及裝置
TWI832628B (zh) 視訊編解碼方法及其裝置
TWI833327B (zh) 視訊編解碼方法及裝置
KR20220122802A (ko) 비디오 코딩을 위한 모션 벡터 예측
TW202315405A (zh) 視訊編解碼方法及其裝置
TW202339504A (zh) 幾何分割模式及合併候選重排
TWI834269B (zh) 視訊處理方法及裝置
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement
TW202415066A (zh) 多假設預測編解碼
TW202402054A (zh) 用於候選清單的相似性閾值
TW202341736A (zh) 視訊編解碼方法及裝置
TW202341733A (zh) 視訊編解碼方法及相關裝置
EP4388735A1 (en) Candidate reordering for merge mode with motion vector difference
TW202404354A (zh) 利用卷積模型的預測改進
TW202349952A (zh) 視訊編解碼方法及其裝置
TW202349965A (zh) 高效的幾何分區模式視頻編解碼