TW202345602A - 視訊編解碼的擴展範本匹配 - Google Patents

視訊編解碼的擴展範本匹配 Download PDF

Info

Publication number
TW202345602A
TW202345602A TW112114514A TW112114514A TW202345602A TW 202345602 A TW202345602 A TW 202345602A TW 112114514 A TW112114514 A TW 112114514A TW 112114514 A TW112114514 A TW 112114514A TW 202345602 A TW202345602 A TW 202345602A
Authority
TW
Taiwan
Prior art keywords
motion vector
template
current block
refined
samples
Prior art date
Application number
TW112114514A
Other languages
English (en)
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 TW202345602A publication Critical patent/TW202345602A/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/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

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)。
多功能視訊編解碼(Versatile video coding,簡稱VVC)是由ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的聯合視訊專家組(Joint Video Expert Team,簡稱JVET)制定的最新國際視訊編解碼標準。輸入視訊訊號從重構訊號預測,該重構訊號從編解碼圖片區域導出。預測殘差訊號藉由塊變換進行處理。變換係數與位元流中的其他輔助資訊一起被量化和熵編解碼。重構訊號根據預測訊號和對去量化變換係數進行逆變換後的重構殘差訊號生成。重構訊號藉由環路濾波進一步被處理,以去除編解碼偽像。解碼後的圖片存儲在幀緩衝器中,用於預測輸入視訊訊號中的未來圖片。
在VVC中,已編解碼圖片被劃分為由相關聯的編解碼樹單元(coding tree unit,簡稱CTU)表示的非重疊方形塊區域。編解碼圖片可以由片段集合表示,每個片段包含整數個CTU。片段中的各個CTU以光柵掃描連續處理。幀內預測或幀間預測可以被用來對雙向預測(bi-predictive,簡稱B)片段進行解碼,其中最多有兩個運動向量和參考索引來預測每個塊的樣本值。預測(P)片段使用具有至多一個運動向量和參考索引的幀內預測或幀間預測來解碼以預測每個塊的樣本值。幀內(intra,簡稱I)片段僅使用幀內預測對進行解碼。
CTU可以使用具有嵌套多類型樹(multi-type-tree,簡稱MTT)結構的四叉樹(quadtree,簡稱QT)被劃分成一個或多個非重疊編解碼單元(coding unit,簡稱CU),以適應各種局部運動和紋理特徵。CU可以使用五種分割類型之一被進一步分割成更小的CU:四叉樹分割、垂直二叉樹分割、水平二叉樹分割、垂直中心側三叉樹分割、水平中心側三叉樹分割。
每個CU包含一個或多個預測單元(prediction unit,簡稱PU)。預測單元與關聯的CU語法一起作為用於發送預測資訊的基本單元。指定的預測處理用於預測PU內的相關像素樣本的值。每個CU可以包含一個或多個變換單元(transform unit,簡稱TU)用於表示預測殘差塊。變換單元(transform unit,簡稱TU)由亮度樣本的變換塊(transform block,簡稱TB)和兩個相應的色度樣本變換塊組成,每個TB對應於來自一種顏色分量的樣本的一個殘差塊。整數變換被應用於變換塊。量化係數的級別值與其他輔助資訊一起在位元流中進行熵編解碼。術語編解碼樹塊(coding tree block,簡稱CTB)、編解碼塊(coding block,簡稱CB)、預測塊(prediction block,簡稱PB)和變換塊(transform block,簡稱TB)被定義為指定分別與CTU、CU、PU和TU相關的一個顔色分量的2D樣本陣列。因此,一個CTU由一個亮度CTB、兩個色度CTB和相關語法元素組成。類似的關係對CU、PU和TU有效。
對於每個幀間預測CU,由運動向量,參考圖片索引和參考圖片列表使用索引組成的運動參數以及額外資訊用於幀間預測樣本生成。運動參數可以以顯式或隱式方式發送。當CU以跳過模式進行編解碼時,CU與一個PU相關聯並且沒有顯著的殘差係數,沒有被編解碼的運動向量增量或參考圖片索引。合併模式被指定,當前CU的運動參數從相鄰CU獲得,包括空間和時間候選,以及VVC中引入的額外排程。合併模式可以應用於任一幀間預測的CU。合併模式的可選方案是運動參數的顯式傳輸,其中運動向量,每個參考圖片列表的相應參考圖片索引和參考圖片列表使用標誌以及其他所需資訊按每個CU被顯式地發送。
以下概述僅是說明性的並且不旨在以任何方式進行約束。即,以下概述被提供以介紹本文所述的新穎且非顯而易見的技術的概念、亮點、益處和優點。選擇而不是所有的實施方式在下面的詳細描述中被進一步描述。因此,以下概述並非旨在識別所要求保護的主題的基本特徵,也不旨在用於決定所要求保護的主題的範圍。
本公開的一些實施例提供了一種用於使用擴展範本來細化運動向量的方法。視訊編解碼器基於由第一和第二運動向量參考的第一和第二參考圖片中的預測樣本的平均值來生成用於當前塊的範本。範本和當前塊的大小或形狀可以不同。視訊編解碼器搜索第一參考圖片以基於由細化的第一運動向量參考的樣本與範本的樣本之間的匹配成本來細化第一運動向量。視訊編解碼器搜索第二參考圖片以基於細化的第二運動向量參考的樣本與範本的樣本之間的匹配成本來細化第二運動向量。視訊編解碼器使用細化的第一和第二運動向量來編碼或解碼當前塊。
在一些實施例中,範本和當前塊的大小或形狀不同。在一些實施例中,範本是混合範本,其包括第一部分和第二部分,該第一部分基於當前圖片中與當前塊相鄰的重構樣本,以及該第二部分基於來自第一參考圖片的初始預測樣本和來自第二參考圖片的初始預測樣本的平均值。範本可以對應於當前圖片中包含第一當前塊的區域,或者當前圖片中作為當前塊的子部分的區域,或者當前圖片中部分在當前塊內且部分在當前塊之外的區域,其中當前塊部分在該區域之外。
視訊編解碼器可以發送或接收從範本的多個可能配置中選擇的配置,以及根據所選擇的配置生成範本。視訊編解碼器還可以根據色度分量的格式縮放細化的運動向量,以及使用縮放的運動向量來獲取色度分量的預測樣本。
在一些實施例中,範本具有兩個或更多個不同的範本部分,以及視訊編解碼器藉由基於分配給不同範本部分的權重計算細化的第一運動向量的成本來細化第一運動向量。在一些實施例中,範本包括第一範本部分和第二範本部分。第一範本部分用於生成第一運動向量的第一候選細化,以及第二範本部分用於生成第一運動向量的第二候選細化。然後,視訊編解碼器基於第一和第二候選細化來細化第一運動向量(例如,藉由基於成本選擇第一和第二候選細化中的一個)。
在一些實施例中,視訊編解碼器藉由根據範本反覆運算地更新第一和第二運動向量以及基於更新的第一或第二運動向量重新生成範本來細化第一和第二運動向量。在這些實施例的一些中,範本基於更新的第一運動向量被重新生成,以及重新生成的範本被用來更新第二運動向量。
在以下詳細描述中,藉由示例的方式闡述了許多具體細節,以便提供對相關教導的透徹理解。基於本文描述的教導的任何變化、衍生和/或擴展都在本公開的保護範圍內。在一些情況下,與在此公開的一個或多個示例實施方式有關的眾所周知的方法、處理、組件和/或電路可以在相對較高的水平上進行描述而沒有細節,以避免不必要地模糊本公開的教導的方面。 Ⅰ、由範本匹配優化運動向量
範本匹配(template matching,簡稱TM)是一種用於細化運動向量(motion vector,簡稱MV)以生成對當前塊(例如,CU)的更準確預測的方法。藉由搜索已經重構/解碼的像素或樣本,編碼器和解碼器都執行範本匹配以改進MV。
第1A-B圖展示藉由範本匹配對當前圖片101中的當前塊100進行的運動向量細化。當前塊上方和左側的相鄰區域分別用作範本CT和CL。上方的(CT)和左側的(CL)範本用作搜索錨點且CU部分不被涉及,因為當前塊100還沒有被重構/解碼。對於CU 100,兩個MV(MV0和MV1)被編碼在位元流中以及對CU解碼以從參考幀找到預測資料。MV0藉由在MV0的特定搜索範圍內搜索L0參考幀110來細化。MV1藉由在MV1的特定範圍內搜索L1參考幀111來細化。這個細化可以看成是得到MV差值(motion vector difference,簡稱MVD),將這個MVD加到原來的MV上。在實際實現中,多個MVD被搜索。原始MV0和MV1被用作起點,具有最低絕對差值和(sum of absolute difference,簡稱SAD)的MVD用於獲得最終的細化結果。本例中MVD0與MV0相加得到MV0',MVD1與MV1相加得到MV1'。然後細化的MV、MV0'和MV1'用於從相應的參考幀110和111獲取預測資料(Pred)。第2圖概念性地展示基於當前塊100的細化運動向量MV0'獲取預測資料105(Pred)。
使用相鄰範本(CT和CL)進行MV細化具有資料依賴性問題,因為MV細化處理只能在搜索範本CT和CL變得可用之後開始,即使MV0和MV1都已經被解碼並且準備好用於細化。為了生成沒有資料依賴性的範本,雙邊範本被生成作為列表0和列表1參考圖片中MV0和MV1參考的兩個預測塊的加權組合。
第3圖概念性地展示使用雙邊範本來細化兩個運動向量。在標記為“1”(雙邊範本生成)的操作中,雙邊範本305藉由混合(i)初始MV0參考的 L0參考圖片310中的初始預測塊320以及(ii)初始MV1參考的L1參考圖片311中的初始預測塊321來生成。在標記為“2”(範本匹配)的操作中,成本度量(範本成本)基於生成的範本305和L0初始預測塊320周圍的樣本區域330以及L1初始預測塊321周圍的樣本區域331計算。對於兩個MV中的每一個,在初始MV周圍搜索/預測塊被執行以更新MV以最小化範本成本。在一些實施例中,絕對差值之和(sum of absolute difference,簡稱SAD)被用作範本成本。最後,兩個最終更新的MV,即MV0'和MV1'被用作當前塊300的常規雙向(Bi-)預測的細化MV。 Ⅱ、使用沒有資料依賴性的範本
A.平均參考範本
在一些實施例中,平均參考範本的處理被用來細化MV0和MV1,而不是使用相鄰範本(例如,CT和CL)。這消除了對相鄰範本中重構像素的資料依賴性。因此,一旦從位元流中解碼出MV0和MV1,就可以開始MV細化處理。
第4A-B圖概念性地展示生成用於藉由對來自不同參考圖片的參考樣本進行平均來細化運動向量的範本。當前圖片401中的當前塊400具有運動向量MV0和MV1。第4A圖展示MV0和MV1,MV0被用於從參考圖片或幀410中獲取矩形P0和P1中的參考樣本作為參考樣本,以及MV1被用於從參考圖片或幀411中獲取矩形P2和P3中的參考樣本。上方範本(或範本部分)PT藉由平均P0和P2生成。左側範本(或範本部分)PL藉由對P1和P3進行平均生成。生成的範本PT和PL(平均參考範本)可以用作MV細化的範本。來自L0和L1參考圖片的參考樣本的平均可以被加權。兩組參考樣本的混合或平均權重可能相等也可能不相等(例如0.5:0.5,或0.75:0.25,或0.25:0.75等)
第4B圖展示使用平均參考範本PT和PL來細化運動向量。在示例中,參考圖片410中的範圍被搜索以更新/細化MV0以最小化範本PT+PL和其由更新的MV0標識的對應參考樣本之間的成本。參考圖片411中的範圍被搜索以更新/細化MV1,以最小化範本PT+PL和其由更新的MV1標識的相應參考樣本之間的成本。然後細化的MV(MV0'和MV1')用於從它們各自的參考幀410和411中獲取預測樣本,以重構和解碼當前CU。
B.任意形狀的範本
在一些實施例中,平均參考範本(PT和PL)的面積可以擴展到更大。但是,直接放大兩個矩形(例如PT和PL)可能會導致範本重疊。這種重疊可能會使SAD的成本計算產生偏差,因為重疊部分對SAD有兩次貢獻。第5圖展示擴大MV細化範本的平均值。第6A圖展示具有重疊區域的相鄰矩形範本。擴大的平均參考範本也可以沒有重疊,例如,藉由將PT和PL合併成一個連續的L形。第6B圖展示用於MV細化的L形範本。
藉由擴展範本形狀,可以構造不同形狀的平均參考範本用於MV細化以尋求進一步的編解碼增益。上述範本擴展方法可以應用於任意形狀的範本,儘管擴展可能受參考幀中像素可用性的限制。
第7A-C概念性地展示任意形狀的平均參考範本的一些示例。當前塊700具有初始運動向量MV0和初始運動向量MV1,初始運動向量MV0參考L0參考圖片710中的區域PL0的預測樣本,以及初始運動向量MV1參考L1參考圖片711中的區域PL1的預測樣本。PL0和PL1的樣本被平均以生成平均參考範本 PL。範本PL用於在參考圖片710和711中搜索最佳匹配樣本以細化MV0和MV1。範本PL可以對應於當前圖片701中相對於當前塊700的任意位置的任意形狀和大小的區域。
第7A圖展示對應於完全包圍當前塊700及之後的區域的PL。第7B圖展示對應於作為當前塊700的子部分的區域(L形)的PL,而當前塊700的部分在PL區域之外。第7C圖展示對應於部分在當前塊內和部分在當前塊外的區域的PL,而當前塊700的至少一部分在PL區域外。
在一些實施例中,平均參考範本的形狀可以基於亮度和/或色度和/或相鄰MV資訊的統計或特徵來決定。在一些實施例中,基於亮度和/或色度和/或相鄰MV資訊的統計和/或特徵,用於生成平均參考範本的兩組參考樣本的混合比率或權重可以被改變。
C.混合範本
當參考圖片中的樣本被用於生成用於MV細化的範本時,資料依賴性被移除。因此,MV細化可能會更早開始(例如,在完全重構上方和左側相鄰之前)。該方法適用於低延遲編解碼場景。對於解碼延遲不是主要問題的情況,更高的編解碼增益可能是主要目標。在一些實施例中,相鄰範本和平均參考範本可以聯合使用以形成混合或組合範本以進一步提高編解碼增益。
第8A-B圖概念性地展示將相鄰範本與用於MV細化的平均參考範本混合。第8A圖顯示混合範本的構建。該圖說明相鄰範本CT和CL,相鄰範本CT和CL從當前圖片801中與當前塊800相鄰的重構像素識別。該圖還說明當前塊800的L形範本PL,其是參考圖片中的參考樣本的平均值810(由MV0參考)和811(由MV1參考)。參考圖片810中MV0參考的樣本是標記為PL0的相應L形。參考圖片811中MV1參考的樣本是標記為PL1的相應L形。在相鄰範本CT和CL的樣本被重構之前,PL0和PL1的樣本可被獲取。獲取的PL0和PL1樣本被平均,成為平均參考範本PL。
第8B圖展示使用混合範本來細化運動向量。該圖顯示範本PL、CT和CL被用作混合或組合範本850的不同部分,以細化當前塊800的MV0和MV1。藉由使用該混合範本850在參考圖片810和811中搜索更好的匹配樣本,用於生成最終預測資料的細化MV(MV0'和MV1')可以為當前塊帶來更好的編解碼增益。
在一些實施例中,平均參考範本的區域可以延伸以覆蓋整個CU區域,或超出。同樣,混合範本的區域(包括重構的相鄰範本部分和平均參考範本部分)也可能超過當前塊的右側和底部。
第9A-B圖展示大於當前塊的擴展平均參考範本。第9A圖展示具有MV0和MV1的當前塊900,MV0參考參考幀910,以及MV1參考參考幀911。MV0參考參考幀910中的塊P4以及MV1參考參考幀911中的塊P7。當前塊900的平均參考範本P10藉由對P4和P7進行平均來計算。
參考塊P4具有底部延伸P5和右側延伸P6。參考塊P7具有底部延伸P8和右側延伸P9。P5和P8的平均值作為當前塊的底部延伸P11。P6和P9的平均值作為當前塊的右擴展P12。第9B圖展示包括P10、P11、P12、CL和CT(當前塊的相鄰範本)的組合/混合範本950。組合範本950可用於藉由在參考圖片910中搜索匹配樣本來細化MV0,以及藉由在參考圖片911中搜索匹配樣本來細化MV1。
更一般地,混合範本950可以是(i)當前幀中的重構像素作為範本的一些部分(例如,CL、CT)和(ii)來自參考幀的像素的平均作為範本的一些其他部分(例如 P10、P11、P12)。
D.子採樣範本
藉由擴大範本(甚至可能超過CU大小),MV細化所需的記憶體頻寬可能顯著增加。在解碼高解析度視訊用於播放時,希望將記憶體頻寬限制在合理的水準,同時提高或保持編解碼增益。在一些實施例中,當使用範本來細化MV時,對範本被子採樣以減少或限制記憶體頻寬要求。
在一些實施例中,視訊編解碼器藉由裁剪出CU的一部分(例如,CU的中心區域)來對範本進行子採樣。第10圖展示藉由裁剪掉當前塊900的中心區域而創建的子採樣範本。如圖所示,基於MV0參考塊P4和MV1參考塊P7,當前塊900的平均參考範本P13被導出。範本P13對應於當前塊900,但其中心區域1010被裁剪掉。因此,當計算CL+CT+P11+P12+P13的混合範本與當前細化MV(MV0'和MV1')參考的參考圖片910和911中的對應區域之間的SAD時,該中心1010不被存取。記憶體訪問的頻寬可以藉由跳過該區域的像素檢索被節省。
在一些實施例中,當計算用於細化運動向量的成本時,混合範本的不同部分可以根據它們各自的源像素被不同地加權。例如,重構的相鄰像素的範本(例如CL、CT)被分配第一權重,以及平均參考樣本的範本(例如 P11、P12、P13)被分配不同的第二權重。
其他子採樣方法也可以用於節省記憶體頻寬,例如,藉由僅保留範本的偶數行用於MV細化的成本搜索。多種子採樣方法可以被用來實現記憶體頻寬要求與編解碼增益的MV細化精度之間的平衡。
E.為成本計算加權不同的範本部分
在一些實施例中,權重遮罩(weight mask)用於縮放來自範本的不同部分或部分的SAD貢獻,即,在計算細化MV的成本時,範本的不同部分被不同地加權。第11圖展示不同的範本部分被不同地加權以用於計算MV細化的成本。
如圖所示,權重遮罩1100用於對當前塊900的組合範本950 (CL+CT+P10+P11+P12)的不同部分進行加權。在示例中,CL和CT的加權係數是2,P10的加權係數是4,P11和P12的加權係數是1。加權遮罩用於微調來自範本不同部分的SAD的影響。遮罩的加權係數可以被預先定義,因此不需要從編碼器向解碼器發送額外的位元。否則,加權係數可以藉由傳輸額外的語法元素來發送。
F.範本集合
在一些實施例中,多個範本被用來導出最終細化的MV。第12A-C圖藉由聯合考慮多個(組)範本概念性地說明了MV細化。對於當前圖片1201中的當前塊1200,該圖展示用於細化初始MV(MV0)的兩個(組)範本。第一組範本包括用於當前塊1200的重構相鄰範本CL和CT以及平均參考L形範本P14。第二組範本包括平均參考範本PR、PB和P15(L 形)。(重構的相鄰範本CL和CT可以用平均參考板代替。)
第12A圖展示平均參考範本PR、PB、P14、P15的產生。這些範本藉由對MV0所參考的L0參考圖片1210和MV1所參考的L1參考圖片1211中的對應樣本求平均而生成。
第12B圖展示對第一組範本(CL+CT+P14)和第二組範本(PR+PB+P15)針對L0參考圖片1210中的初始MV0所參考的搜索範圍進行的運動搜索。使用參考圖片1210中的第一組範本(CL+CT+P14)的運動搜索產生第一細化MV(MV0')。使用參考圖片1210中的第二組範本(PR+PB+P15)的運動搜索產生第二細化MV(MV0'')。然後,視訊編解碼器可以從兩個細化的MV之一中選擇成本較低的MV。
第12C圖顯示從兩個細化的MV之一中選擇的具有較低成本的 MV。在圖中,最終MV0來自兩個細化的MV,例如,根據兩個細化MV的成本選擇MV0'或MV0''作為最終MV。然後最終MV0被用來來獲取重構參考幀1210中的預測子1205(Pred)。
本文描述的多範本方法有利於與特定相鄰塊更相似的一些CU(例如,上方和左側的相鄰塊與右側和底部的相鄰塊相比)。額外的編解碼增益可以藉由對具有不同特徵的CU採用更多範本以及比較來自多個不同範本的相應細化成本以輸出具有最低成本的最終MV來實現。例如,在一些實施例中,第10圖和第12圖的範本可以被聯合考慮以對一個給定的初始MV產生兩個細化的MV,以及視訊編解碼器可以選擇兩個細化的MV之一作為最終細化的MV(基於其具有較低的成本)。
在一些實施例中,甚至更多(例如,多於兩個)的範本或範本集合,包括從當前重構鄰域的像素導出的範本和從平均類型範本導出的範本,可以被混合以構建範本組,用於尋找成本最低的最終細化MV。在這些實施例中的一些中,不需要額外的語法元素來決定最終細化的MV。
在一些實施例中,可以存在由多個(組)範本生成的多個細化MV。多個細化的MV可用於獲取CU的多個不同預測,以及CU的預測藉由混合基於多個細化的MV獲取的預測樣本形成。對於不同的細化MV,混合權重可以相等。不同細化MV的混合權重也可以根據它們相應的已計算成本來決定。
G.色度的範本細化
在一些實施例中,藉由例如根據色度分量的格式將MV從亮度縮放到色度,亮度分量的初始MV0和MV1可用於色度分量。然後,視訊編解碼器可以使用縮放後的MV從參考幀的色度緩衝器中獲取色度分量的預測資料。
在一些實施例中,以上部分II-A至II-F中描述的方法也可用於亮度和色度分量的編解碼。然而,色度分量中的運動搜索可能會增加記憶體頻寬要求。在一些實施例中,僅對亮度執行MV細化,而色度的MV細化成本藉由以特定比率混合來自亮度和色度的細化成本來決定。色度MV的細化成本可以是範本計算的SAD,以及根據亮度的縮放MV參考色度像素(在這種方法中,只有亮度的MV可用)。
H.由範本進行MV細化的隱式和顯式發送
部分II中描述的方法涉及構建用於MV細化的最低成本搜索的額外範本。額外的範本導致解碼器基於額外/擴展範本執行運動搜索產生的計算負擔。為了減輕負擔,額外的索引標誌被發送,以顯式地從所有可能的範本中選擇一個特定的範本或一組特定的範本,這些範本可用於編碼或解碼處理。標誌可以在塊級別(編解碼單元)或在更高的語法級別(例如SPS、PPS、圖片或片段報頭)發送。
J.範本重新生成
如上所述,視訊編解碼器可以生成以及使用平均參考範本來細化運動向量。視訊編解碼器可以藉由使用(例如,混合)MV0和MV1所參考的像素來生成範本(或多個範本),然後使用生成的範本來細化MV0和MV1。
在一些實施例中,視訊編解碼器可以藉由使用(例如,混合)由MV0和MV1所參考的像素來生成初始範本(或多個範本)。然後視訊編解碼器使用初始範本對MV0進行細化以獲得MV0'。然後,視訊編解碼器使用MV0'和MV1所參考的像素重新生成範本。然後重新生成的範本被用來細化MV1。
在一些實施例中,可以存在MV細化的多次反覆運算。每次反覆運算都會細化一次當前的MV0和MV1對。在每次反覆運算中,MV0和MV1可以藉由以下任一方式進行細化:(i) 使用平均參考範本細化MV0和MV1或(ii)使用平均參考範本將MV0細化為MV0',然後使用MV0'和MV1重新生成範本以細化MV1。在一些實施例中,在每次反覆運算中,兩個MV是否被(i)或(ii)細化可以由預定的順序或基於CU和/或其參考幀的鄰域資訊的統計來決定。在一些實施例中,其中兩個MV被(i)細化的反覆運算與其中兩個MV被(ii)細化的反覆運算交錯執行。
任何前述提出的方法都可以在編碼器和/或解碼器中實現。例如,所提出的任一方法都可以在用於編碼器和/或解碼器的MV細化的模組中實現。或者,所提出的任一方法都可以實現為耦合到用於編碼器和/或解碼器的MV細化的模組的電路。 Ⅲ、 示例視訊編碼器
第13圖展示可執行運動向量細化的實例視訊編碼器1300。如圖所示,視訊編碼器1300從視訊源1305接收輸入視訊訊號以及將訊號編碼成位元流1395。視訊編碼器1300具有用於對來自視訊源1305的訊號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組1310、量化模組1311、逆量化模組1314、逆變換模組1315、幀內估計模組1320、幀內預測模組1325、運動補償模組1330、運動估計模組1335、環路濾波器1345、重構圖片緩衝器1350、MV緩衝器1365、MV預測模組1375和熵編碼器1390。運動補償模組1330和運動估計模組1335是幀間預測模組1340的一部分。
在一些實施例中,模組1310-1390是由計算設備或電子裝置的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1310-1390是由電子裝置的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。儘管模組1310-1390被示為單獨的模組,但一些模組可以組合成單個模組。
視訊源1305提供原始視訊訊號,其呈現每個視訊幀的像素資料而不進行壓縮。減法器1308計算視訊源1305的原始視訊像素資料與來自運動補償模組1330或幀內預測模組1325的預測像素資料1313之間的差值作為預測殘差 1309。變換模組1310將差值(或殘差像素資料或殘差訊號1308)轉換成變換係數(例如,藉由執行離散余弦變換或DCT)。量化模組1311將變換係數量化為量化資料(或量化係數)1312,其由熵編碼器1390編碼為位元流1395。
逆量化模組1314對量化資料(或量化係數)1312進行去量化以獲得變換係數,以及逆變換模組1315對變換係數執行逆變換以產生重構殘差1319。重構殘差1319與預測像素資料1313相加一起產生重構的像素資料1317。在一些實施例中,重構的像素資料1317被臨時存儲在行緩衝器(line buffer未展示)中用於幀內預測和空間MV預測。重構像素由環路濾波器1345濾波並被存儲在重構圖片緩衝器1350中。在一些實施例中,重構圖片緩衝器1350是視訊編碼器1300外部的記憶體。在一些實施例中,重構圖片緩衝器1350是視訊編碼器1300內部的記憶體。
幀內估計模組1320基於重構的像素資料1317執行幀內預測以產生幀內預測資料。幀內預測資料被提供至熵編碼器1390以被編碼成位元流1395。幀內預測資料還被幀內預測模組1325用來產生預測像素資料1313。
運動估計模組1335藉由產生MV以參考存儲在重構圖片緩衝器1350中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供至運動補償模組1330以產生預測像素資料。
視訊編碼器1300不是對位元流中的完整實際MV進行編碼,而是使用MV預測來生成預測的MV,以及用於運動補償的MV與預測的MV之間的差值被編碼為殘差運動資料並存儲在位元流1395。
基於為編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,MV預測模組1375生成預測的MV。MV預測模組1375從MV緩衝器1365中獲取來自先前視訊幀的參考MV。視訊編碼器1300將對當前視訊幀生成的MV存儲在MV緩衝器1365中作為用於生成預測MV的參考MV。
MV預測模組1375使用參考MV來創建預測的MV。預測的MV可以藉由空間MV預測或時間MV預測來計算。預測的MV和當前幀的運動補償MV(MC MV)之間的差值(殘差運動資料)由熵編碼器1390編碼到位元流1395中。
熵編碼器1390藉由使用諸如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和資料編碼到位元流1395中。熵編碼器1390將各種報頭元素、標誌連同量化的變換係數1312和作為語法元素的殘差運動資料編碼到位元流1395中。位元流1395繼而被存儲在存放裝置中或藉由比如網路等通訊媒介傳輸到解碼器。
環路濾波器1345對重構的像素資料1317執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第14圖展示視訊編碼器1300的使用擴展範本匹配實現MV細化的部分。具體而言,該圖說明視訊編碼器1300的運動補償模組1330的組件。
MV細化模組1410藉由使用MC MV作為L0和/或L1方向上的初始或原始MV來執行MV細化處理。MV細化模組1410將初始MV細化為最終細化的MV。然後,獲取控制器1420使用最終細化的MV,以基於重構圖片緩衝器1350的內容生成預測像素資料1313。
MV細化模組1410使用重構圖片緩衝器1350的內容來構建用於細化運動向量的範本1415。從重構圖片緩衝器1350獲取的內容包括L0和L1參考圖片中的預測樣本(或預測子或參考樣本),它們由當前細化的MV(可以是初始MV,或任一後續更新)參考。獲取到的內容還可以包括當前塊的重構相鄰樣本。
生成的範本1415可以具有由範本配置模組1430指定的配置,其可以指示使用哪些範本部分、指定各種範本部分的幾何形狀、是否使用重構的相鄰樣本、是否使用參考樣本的平均值等。因此,範本1415可以包括重構的相鄰部分(基於當前圖片中的重構的相鄰樣本)和/或平均參考部分(基於L0和L1參考圖片中的參考樣本的平均值)。範本的配置也可以提供給熵編碼器1390以在位元流1395中發送。
MV細化模組1410可以使用基於範本1415計算的成本來細化/更新MV0和MV1。成本MV藉由將範本1415與根據細化/更新的參考圖片獲取的預測樣本進行比較來計算。在一些實施例中,多個範本部分被用於生成運動向量的不同更新以及具有較低成本的更新的運動向量被選擇為細化的運動向量。在一些實施例中,運動向量被反覆運算地更新以及範本1415使用根據更新的運動向量獲取的預測樣本來重新生成。
第15圖概念性地展示用於藉由使用擴展範本來細化運動向量的處理1500。在一些實施例中,實現編碼器1300的計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來執行處理1500。在一些實施例中,實現編碼器1300的電子設備執行處理1500。
編碼器接收(在塊1510)要被編碼為視訊的當前圖片的當前塊的像素塊的資料。當前塊與第一和第二運動向量相關聯,該第一和第二運動向量參考第一和第二參考圖片中的預測樣本。
編碼器基於由第一和第二運動向量參考的預測樣本的平均值生成(在塊1520)範本。在一些實施例中,範本和當前塊的大小或形狀不同。在一些實施例中,範本是混合範本,其包括第一部分和第二部分,該第一部分基於當前圖片中與當前塊相鄰的重構樣本,以及該第二部分基於來自第一參考圖片的初始預測樣本和來自第二參考圖片的初始預測樣本的平均值。範本可以對應於當前圖片中包含第一當前塊的區域,或者當前圖片中作為當前塊的子部分的區域,或者當前圖片中部分在當前塊內且部分在當前塊之外的區域,其中當前塊部分在該區域之外。
編碼器可以發送配置的選擇,以從範本的多個可能配置中選擇配置,以及根據所選擇的配置生成範本。編碼器還可以根據色度分量的格式對細化的運動向量進行縮放,以及使用縮放後的運動向量來獲取色度分量的預測樣本。
基於(例如,最小化)由細化的第一運動向量參考的樣本與範本的樣本之間的匹配成本,編碼器搜索(在塊1530)第一參考圖片以細化第一運動向量。在一些實施例中,範本具有兩個或更多個不同的範本部分,以及視訊編碼器藉由基於分配給不同範本部分的權重計算細化的第一運動向量的成本來細化第一運動向量。在一些實施例中,範本包括第一範本部分和第二範本部分。第一範本部分用於生成第一運動向量的第一候選細化,以及第二範本部分用於生成第一運動向量的第二候選細化。然後,視訊編碼器基於第一和第二候選細化來細化第一運動向量(例如,藉由基於成本選擇第一和第二候選細化中的一個)。
基於由細化的第二運動向量參考的樣本與範本的樣本之間的匹配成本,編碼器搜索(在塊1540)第二參考圖片以細化第二運動向量。在一些實施例中,編碼器藉由根據範本反覆運算地更新第一和第二運動向量以及基於更新的第一或第二運動向量重新生成範本來細化第一和第二運動向量。在這些實施例的一些中,範本基於更新的第一運動向量被重新生成,以及重新生成的範本被用來更新第二運動向量。
編碼器藉由使用細化的第一和第二運動向量來產生預測殘差和重構當前塊以編碼(在塊1550)當前塊。 Ⅳ、示例視訊解碼器
在一些實施例中,編碼器可以發送(或生成)位元流中的一個或多個語法元素,使得解碼器可以從位元流中解析所述一個或多個語法元素。
第16圖展示可執行運動向量細化的實例視訊解碼器1600。如圖所示,視訊解碼器1600是圖像解碼或視訊解碼電路,該圖像解碼或視訊解碼電路接收位元流1695以及將位元流的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器1600具有用於解碼位元流1695的若干組件或模組,包括選自以下的一些組件:逆量化模組1611、逆變換模組1610、幀內預測模組1625、運動補償模組1630、環路濾波器的1645、解碼圖片緩衝器1650、MV緩衝器1665、MV預測模組1675和解析器1690。運動補償模組1630是幀間預測模組1640的一部分。
在一些實施例中,模組1610-1690是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1610-1690是由電子設備的一個或多個IC實現的硬體電路模組。儘管模組1610-1690被示為單獨的模組,但一些模組可以組合成單個模組。
解析器1690(或熵解碼器)接收位元流1695以及根據由視訊編碼或圖像編碼標準定義的語法執行初始解析。解析的語法元素包括各種報頭元素、標誌以及量化資料(或量化係數)1612。解析器1690藉由使用熵編解碼技術(例如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱ABAC)或霍夫曼編碼(Huffman encoding)解析出各種語法元素。
逆量化模組1611對量化資料(或量化係數)1612進行去量化以獲得變換係數,以及逆變換模組1610對變換係數1616進行逆變換以產生重構殘差訊號1619。重構殘差訊號1619與來自幀內預測模組1625或運動補償模組1630的預測像素資料1613相加以產生解碼像素資料1617。解碼像素資料由環路濾波器1645濾波以及存儲在解碼圖片緩衝器1650中。在一些實施例中,解碼圖片緩衝器1650是視訊解碼器1600外部的記憶體。在一些實施例中,解碼圖片緩衝器1650是視訊解碼器1600內部的記憶體。
幀內預測模組1625從位元流1695接收幀內預測資料,以及據此,從存儲在解碼圖片緩衝器1650中的解碼像素資料1617產生預測像素資料1613。在一些實施例中,解碼像素資料1617也被存儲在行緩衝器(未展示)中,用於幀內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1650的內容用於顯示。顯示裝置1655或者獲取解碼圖像緩衝器1650的內容以直接顯示,或者獲取解碼圖像緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖片緩衝器1650接收像素值。
運動補償模組1630根據運動補償MV(MC MV)從解碼圖片緩衝器1650中存儲的解碼像素資料1617產生預測像素資料1613。藉由將從位元流1695接收的殘差運動資料與從MV預測模組1675接收的預測MV相加,這些運動補償MV被解碼。
MV預測模組1675基於為解碼先前視訊幀而生成的參考MV(例如,用於執行運動補償的運動補償MV)生成預測的MV。MV預測模組1675從MV緩衝器1665中獲取先前視訊幀的參考MV。視訊解碼器1600將用於解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器1665中作為用於產生預測MV的參考MV。
環路濾波器1645對解碼的像素資料1617執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第17圖展示視訊解碼器1600的部分,其實施具有擴展範本匹配的MV細化。具體地,該圖展示視訊解碼器1600的運動補償模組1630的組件。
MV細化模組1710藉由使用MC MV作為L0和/或L1方向上的初始或原始MV來執行MV細化處理。MV細化模組1710將初始MV細化為最終細化的MV。然後獲取控制器1720使用最終細化的MV,以基於解碼圖片緩衝器1650的內容生成預測像素資料1613。
MV細化模組1710使用解碼圖片緩衝器1650的內容來構建用於細化運動向量的範本1715。從解碼圖片緩衝器1650獲取的內容包括L0和L1參考圖片中的預測樣本(或預測子或參考樣本),它們由當前細化的MV(可以是初始 MV,或任一後續更新)所參考。獲取到的內容還可以包括當前塊的重構相鄰樣本。
生成的範本1715可以具有由範本配置模組1730指定的配置,其可以指示使用哪些範本部分、指定各種範本部分的幾何形狀、是否使用重構的相鄰樣本、是否使用參考樣本的平均值等。因此,範本1715可以包括重構的相鄰部分(基於當前圖片中的重構的相鄰樣本)和/或平均參考部分(基於L0和L1參考圖片中的參考樣本的平均值)。範本的配置可以由熵解碼器1690提供,熵解碼器1690解析位元流1695以獲得相關語法元素。
MV細化模組1710可以使用基於範本1715計算的成本來細化/更新MV0和MV1。成本MV藉由將範本1715與根據細化/更新的參考圖片獲取的預測樣本進行比較來計算。在一些實施例中,多個範本部分被用於生成運動向量的不同更新以及具有較低成本的更新的運動向量被選擇為細化的運動向量。在一些實施例中,運動向量被反覆運算地更新以及範本1715使用根據更新的運動向量獲取的預測樣本來重新生成。
第18圖概念性地展示用於藉由使用擴展範本來細化運動向量的處理1800。在一些實施例中,實現解碼器1600的計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來執行處理1800。在一些實施例中,實現解碼器1600的電子設備執行處理1800。
解碼器接收(在塊1810)要被解碼為視訊的當前圖片的當前塊的像素塊的資料。當前塊與第一和第二運動向量相關聯,該第一和第二運動向量參考第一和第二參考圖片中的預測樣本。
解碼器基於由第一和第二運動向量參考的預測樣本的平均值生成(在塊1820)範本。在一些實施例中,範本和當前塊的大小或形狀不同。在一些實施例中,範本是混合範本,其包括第一部分和第二部分,該第一部分基於當前圖片中與當前塊相鄰的重構樣本,以及該第二部分基於來自第一參考圖片的初始預測樣本和來自第二參考圖片的初始預測樣本的平均值。範本可以對應於當前圖片中包含第一當前塊的區域,或者當前圖片中作為當前塊的子部分的區域,或者當前圖片中部分在當前塊內且部分在當前塊之外的區域,其中當前塊部分在該區域之外。
解碼器可以接收配置的選擇,以從範本的多個可能配置中選擇配置,以及根據選擇的配置生成範本。解碼器還可以根據色度分量的格式對細化的運動向量進行縮放,以及使用縮放後的運動向量來獲取色度分量的預測樣本。
基於(例如,最小化)由細化的第一運動向量參考的樣本與範本的樣本之間的匹配成本,解碼器搜索(在塊1830)第一參考圖片以細化第一運動向量。在一些實施例中,範本具有兩個或更多個不同的範本部分,以及視訊解碼器藉由基於分配給不同範本部分的權重計算細化的第一運動向量的成本來細化第一運動向量。在一些實施例中,範本包括第一範本部分和第二範本部分。第一範本部分用於生成第一運動向量的第一候選細化,以及第二範本部分用於生成第一運動向量的第二候選細化。然後,視訊解碼器基於第一和第二候選細化來細化第一運動向量(例如,藉由基於成本選擇第一和第二候選細化中的一個)。
基於由細化的第二運動向量參考的樣本與範本的樣本之間的匹配成本,解碼器搜索(在塊1840)第二參考圖片以細化第二運動向量。在一些實施例中,解碼器藉由根據範本反覆運算地更新第一和第二運動向量以及基於更新的第一或第二運動向量重新生成範本來細化第一和第二運動向量。在這些實施例的一些中,範本基於更新的第一運動向量被重新生成,以及重新生成的範本被用來更新第二運動向量。
解碼器藉由使用細化的第一和第二運動向量來重構(在塊1850處)當前塊。然後,解碼器可以提供重構的當前塊以作為重構的當前圖片的一部分進行顯示。 Ⅴ、示例電子系統
許多上述特徵和應用被實現為軟體處理,這些軟體處理被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器內核或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟驅動器(compact disc read-only memory,簡稱CD-ROM)、快閃記憶體驅動器、隨機存取記憶體(random-access memroy,簡稱RAM)晶片、硬碟驅動器、可擦除可程式設計唯讀記憶體(erasable programmble read-only memory,簡稱EPROM)、電可擦除可程式設計唯讀記憶體 (electrically erasable proagrammble read-only memory,簡稱EEPROM)等。電腦可讀介質不包括藉由無線或有線連接傳遞的載波和電子訊號。
在本說明書中,術語“軟體”意在包括駐留在唯讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以實現為更大程式的子部分,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以實現為單獨的程式。最後,共同實現此處描述的軟體發明的單獨程式的任一組合都在本公開的範圍內。在一些實施例中,軟體程式,在被安裝以在一個或多個電子系統上運行時,定義一個或多個特定機器實施方式,該實施方式處理和執行軟體程式的操作。
第19圖概念性地展示了實現本公開的一些實施例的電子系統1900。電子系統1900可以是電腦(例如,臺式電腦、個人電腦、平板電腦等)、電話、PDA或任一其他類型的電子設備。這種電子系統包括各種類型的電腦可讀介質和用於各種其他類型的電腦可讀介質的介面。電子系統1900包括匯流排1905,處理單元1910,圖形處理單元(graphics-processing unit,簡稱GPU)1915,系統記憶體1920,網路1925,唯讀記憶體1930,永久存放設備1935,輸入設備1940,和輸出設備1945。
匯流排1905共同表示與電子系統1900通訊連接的眾多內部設備的所有系統、週邊設備和晶片組匯流排。例如,匯流排1905將處理單元1910與GPU 1915,唯讀記憶體1930,系統記憶體1920和永久存放設備1935通訊地連接。
處理單元1910從這些各種記憶體單元中獲取要執行的指令和要處理的資料,以便執行本公開的處理。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到GPU 1915並由其執行。GPU 1915可以卸載各種計算或補充由處理單元1910提供的影像處理。
唯讀記憶體(read-only-memory,簡稱ROM)1930存儲由處理單元1910和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存放設備1935是讀寫存放設備。該設備是即使在電子系統1900關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量記憶裝置(例如磁片或光碟及其對應的磁碟機)作為永久存放設備1935。
其他實施例使用卸載式存放裝置設備(例如軟碟、快閃記憶體設備等,及其對應的磁碟機)作為永久存放設備。與永久存放設備1935一樣,系統記憶體1920是讀寫記憶體設備。然而,與永久存放設備1935不同,系統記憶體1920是易失性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體1920存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的處理被存儲在系統記憶體1920、永久存放設備1935和/或唯讀記憶體1930中。例如,根據本公開的一些實施例,各種記憶體單元包括用於根據處理多媒體剪輯的指令。從這些各種記憶體單元中,處理單元1910獲取要執行的指令和要處理的資料,以便執行一些實施例的處理。
匯流排1905還連接到輸入設備1940和輸出設備1945。輸入設備1940使使用者能夠向電子系統傳達資訊和選擇命令。輸入設備1940包括字母數位元元鍵盤和定點設備(也被稱為“遊標控制設備”)、照相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備1945顯示由電子系統生成的圖像或者輸出資料。輸出設備1945包括印表機和顯示裝置,例如陰極射線管(cathode ray tubes,簡稱CRT)或液晶顯示器(liquid crystal display,簡稱LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括用作輸入和輸出設備的設備,例如觸控式螢幕。
最後,如第19圖所示,匯流排1905還藉由網路介面卡(未展示)將電子系統1900耦合到網路1925。以這種方式,電腦可以是電腦網路(例如局域網(“LAN”)、廣域網路(“WAN”)或內聯網的一部分,或者是多種網路的一個網路,例如互聯網。電子系統1900的任一或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如微處理器、存儲裝置和記憶體,其將電腦程式指令存儲在機器可讀或電腦可讀介質(或者被稱為電腦可讀存儲介質、機器可讀介質或機器可讀存儲介質)中。這種電腦可讀介質的一些示例包括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器件中的軟體。
如在本說明書和本申請的任一申請專利範圍中使用的,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於本說明書的目的,術語顯示或顯示是指在電子設備上顯示。如在本說明書和本申請的任何申請專利範圍中所使用的,術語“電腦可讀介質”、“電腦可讀介質”和“機器可讀介質”完全限於以電腦可讀形式存儲資訊的有形物理物件。這些術語不包括任何無線訊號、有線下載訊號和任何其他短暫訊號。
雖然已經參考許多具體細節描述了本公開,但是本領域之通常知識者將認識到,本公開可以以其他特定形式實施而不背離本公開的精神。此外,許多圖(包括第15圖和第18圖)概念性地說明瞭處理。這些處理的具體操作可能不會按照所示和描述的確切循序執行。具體操作可以不是在一個連續的一系列操作中執行,在不同的實施例中可以執行不同的具體操作。此外,該處理可以使用幾個子處理來實現,或者作為更大的宏處理的一部分來實現。因此,本領域之通常知識者將理解本公開不受前述說明性細節的約束,而是由所附申請專利範圍限定。 補充說明
本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視為“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。
此外,關於基本上任何複數和/或單數術語的使用,本領域之通常知識者可以根據上下文和/或應用從複數變換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。
此外,本領域之通常知識者可以理解,通常,本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域之通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍內容,將在申請專利範圍內明確表示,並且,在沒有這類內容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的內容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一個”或“一種”介紹申請專利範圍內容,而約束了任何特定神專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一個”或“一種”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確參考特定數量的介紹性內容,本領域之通常知識者可以認識到,這樣的內容應被解釋為表示所參考的數量,例如,沒有其他修改的“兩個參考”,意味著至少兩個參考,或兩個或兩個以上的參考。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域之通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統等。本領域之通常知識者進一步可理解,無論在説明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,出於説明目的,本發明已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於約束,真實的範圍和申請由申請專利範圍表示。
100:當前塊 101:當前圖片 110:參考幀 111:參考幀 300:當前塊 301:當前圖片 305:範本 310:L0參考圖片 311:L1參考圖片 320:初始預測塊 321:初始預測塊 330:樣本區域 331:樣本區域 400:當前塊 401:當前圖片 410:參考幀 411:參考幀 700:當前塊 701:當前圖片 710:參考圖片 711:參考圖片 800:當前塊 801:當前圖片 810:參考圖片 811:參考圖片 850:混合範本 900:當前塊 901:當前圖片 910:參考幀 911:參考圖片 950:混合範本 1010:中心 1100:權重遮罩 1200:當前塊 1201:當前圖片 1210:重構參考幀 1211:L1參考圖片 1300:編碼器 1305:視訊源 1308:減法器 1309:預測殘差 1310:變換模組 1311:量化模組 1312:變換係數 1313:預測像素資料 1314:逆量化模組 1315:逆變換模組 1316:變換係數 1317:重構的像素資料 1319:重構殘差 1320:幀內估計模組 1325:幀內預測模組 1330:運動補償模組 1335:運動估計模組 1340:幀間預測模組 1345:環路濾波器 1350:重構圖片緩衝器 1365:MV緩衝器 1375:MV預測模組 1395:位元流 1410:MV細化模組 1415:範本 1420:獲取控制器 1430:範本配置模組 1500:處理 1510、1520、1530、1540、1550:步驟 1600:視訊解碼器 1610:逆變換模組 1611:逆量化模組 1612:量化資料 1613:預測像素資料 1616:變換係數 1617:解碼像素資料 1619:重構殘差訊號 1625:幀內預測模組 1630:運動補償模組 1640:幀間預測模組 1650:解碼圖片緩衝器 1655:顯示裝置 1665:MV緩衝器 1675:MV預測模組 1690:熵解碼器 1695:位元流 1710:MV細化模組 1715:範本 1720:獲取控制器 1730:範本配置模組 1800:處理 1810、1820、1830、1840、1850:步驟 1900:電子系統 1905:匯流排 1910:處理單元 1915:GPU 1920:系統記憶體 1925:網路 1930:唯讀記憶體 1935:永久存放設備 1940:輸入設備 1945:輸出設備
附圖被包括以提供對本公開的進一步理解並且被併入並構成本公開的一部分。附圖說明瞭本公開的實施方式,並且與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製的,因為在實際實施中特定組件可能被顯示為與大小不成比例,以便清楚地說明本公開的概念。 第1A-B圖展示由當前圖片中的當前塊的範本匹配來改進運動向量。 第2圖概念性地展示基於當前塊的細化運動向量(motion vector,簡稱MV)獲取預測資料。 第3圖概念性地展示使用雙邊範本來細化兩個運動向量。 第4A-B圖概念性地展示對來自不同參考圖片的參考樣本進行平均來生成用於細化運動向量的範本。 第5圖展示擴大MV細化範本的平均值。 第6A圖展示具有重疊區域的相鄰矩形範本。 第6B圖展示用於MV細化的L形範本。 第7A-C圖概念性地展示任意形狀的平均參考範本的一些實例。 第8A-B圖概念性地展示將相鄰範本與平均參考範本混合以進行 MV細化。 第9A-B圖展示大於當前塊的擴展平均參考範本。 第10圖展示藉由裁剪出當前塊的中心區域而創建的子採樣範本。 第11圖展示不同的範本部分被不同地加權以計算MV細化的成本。 第12A-C圖概念性地展示聯合考慮多個範本的MV細化。 第13圖展示可執行運動向量細化的實例視訊編碼器。 第14圖展示使用擴展範本匹配實現MV細化的視訊編碼器部分。 第15圖概念性地展示使用擴展範本細化運動向量的處理。 第16圖展示可執行運動向量細化的示例視訊解碼器。 第17圖展示實現具有擴展範本匹配的MV細化的視訊解碼器的部分。 第18圖概念性地展示使用擴展範本細化運動向量的處理。 第19圖概念性地展示實現本公開的一些實施例的電子系統。
1800:處理
1810、1820、1830、1840、1850:步驟

Claims (17)

  1. 一種視訊編解碼方法,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊,其中該當前塊與一第一運動向量和一第二運動向量相關聯,該第一運動向量和該第二運動向量參考一第一參考圖片和一第二參考圖片中的多個預測樣本; 基於該第一運動向量和該第二運動向量所參考的該等預測樣本的一平均值生成一範本,其中該範本與該當前塊的大小或形狀不同; 基於細化的該第一運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第一參考圖片以細化該第一運動向量; 基於細化的該第二運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第二參考圖片以細化該第二運動向量;以及 使用細化的該第一運動向量和細化的該第二運動向量來編碼或解碼該當前塊。
  2. 如請求項1所述之視訊編解碼方法,其中,該範本包括一第一部分和一第二部分,該第一部分基於該當前圖片中與該當前塊相鄰的多個重構樣本,以及該第二部分基於來自該第一參考圖片的多個初始預測樣本和來自該第二參考圖片的多個初始預測樣本的一平均值。
  3. 如請求項1所述之視訊編解碼方法,其中,該範本對應於該當前圖片中包含該第一當前塊的一區域。
  4. 如請求項1所述之視訊編解碼方法,其中,該範本對應於該當前圖片中的一區域,該區域是該當前塊的一子部分。
  5. 如請求項1所述之視訊編解碼方法,其中,該範本對應於該當前圖片中的一區域,該區域一部分在該當前塊內,一部分在該當前塊外,其中該當前塊部分在該區域外。
  6. 如請求項1所述之視訊編解碼方法,其中,該範本包括一第一範本部分和一第二範本部分,其中該第一範本部分用於生成該第一運動向量的一第一候選細化,該第二範本部分用於生成該第一運動向量的一第二候選細化,其中該第一運動向量基於該第一候選細化和該第二候選細化進行細化。
  7. 如請求項6所述之視訊編解碼方法,其中,該第一運動向量的該第一候選細化和該第二候選細化中之一被選擇為細化的該第一運動向量。
  8. 如請求項1所述之視訊編解碼方法,其中,該範本包括兩個或更多不同的範本部分,其中細化該第一運動向量的步驟包括基於分配給多個不同範本部分的多個權重計算細化的該第一運動向量的一成本。
  9. 如請求項1所述之視訊編解碼方法,還包括接收或發送一配置的一選擇,該配置從該範本的多個可能配置中被選中,其中該範本根據所選擇的該配置生成。
  10. 如請求項1所述之視訊編解碼方法,還包括根據一色度分量的一格式縮放細化的該等運動向量,以及使用縮放的該等運動向量來獲取該色度分量的多個預測樣本。
  11. 如請求項1所述之視訊編解碼方法,其中,細化該第一運動向量和該第二運動向量包括根據該範本反覆運算地更新該第一運動向量和該第二運動向量以及基於更新的該第一運動向量或該第二運動向量重新生成該範本。
  12. 如請求項11所述之視訊編解碼方法,其中,該範本基於更新的該第一運動向量被重新生成,以及重新生成的該範本被用來更新該第二運動向量。
  13. 一種視訊解碼方法,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊,其中該當前塊與一第一運動向量和一第二運動向量相關聯,該第一運動向量和該第二運動向量參考一第一參考圖片和一第二參考圖片中的多個預測樣本; 基於該第一運動向量和該第二運動向量所參考的該等預測樣本的一平均值生成一範本,其中該範本與該當前塊的大小或形狀不同; 基於細化的該第一運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第一參考圖片以細化該第一運動向量; 基於細化的該第二運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第二參考圖片以細化該第二運動向量;以及 使用細化的該第一運動向量和細化的該第二運動向量來重構該當前塊。
  14. 一種視訊編碼方法,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊,其中該當前塊與一第一運動向量和一第二運動向量相關聯,該第一運動向量和該第二運動向量參考一第一參考圖片和一第二參考圖片中的多個預測樣本; 基於該第一運動向量和該第二運動向量所參考的該等預測樣本的一平均值生成一範本,其中該範本與該當前塊的大小或形狀不同; 基於細化的該第一運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第一參考圖片以細化該第一運動向量; 基於細化的該第二運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第二參考圖片以細化該第二運動向量;以及 使用細化的該第一運動向量和細化的該第二運動向量來編碼該當前塊。
  15. 一種電子設備,包括: 一視訊編解碼器電路,被配置為執行多個操作,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊,其中該當前塊與一第一運動向量和一第二運動向量相關聯,該第一運動向量和該第二運動向量參考一第一參考圖片和一第二參考圖片中的多個預測樣本; 基於該第一運動向量和該第二運動向量所參考的該等預測樣本的一平均值生成一範本,其中該範本與該當前塊的大小或形狀不同; 基於細化的該第一運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第一參考圖片以細化該第一運動向量; 基於細化的該第二運動向量所參考的多個樣本與該範本的多個樣本之間的一匹配成本,搜索該第二參考圖片以細化該第二運動向量;以及 使用細化的該第一運動向量和細化的該第二運動向量來編碼或解碼該當前塊。
  16. 一種視訊編解碼方法,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊,其中該當前塊與一第一運動向量和一第二運動向量相關聯,該第一運動向量和該第二運動向量參考一第一參考圖片和一第二參考圖片中的多個預測樣本; 基於該第一運動向量和該第二運動向量所參考的該等預測樣本的一平均值生成一範本; 反覆運算地搜索該第一參考圖片和該第二參考圖片以細化該第一運動向量和該第二運動向量,其中在每次反覆運算中,該第一運動向量和該第二運動向量被更新,以及該範本根據更新的該第一運動向量和該第二運動向量被重新生成;以及 使用細化的該第一運動向量和細化的該第二運動向量來編碼或解碼該當前塊。
  17. 如請求項16所述的視訊編解碼方法,其中,該範本基於更新的該第一運動向量被重新生成,以及重新生成的該範本被用來更新該第二運動向量。
TW112114514A 2022-04-19 2023-04-19 視訊編解碼的擴展範本匹配 TW202345602A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263332292P 2022-04-19 2022-04-19
US63/332,292 2022-04-19
WOPCT/CN2023/088940 2023-04-18
PCT/CN2023/088940 WO2023202569A1 (en) 2022-04-19 2023-04-18 Extended template matching for video coding

Publications (1)

Publication Number Publication Date
TW202345602A true TW202345602A (zh) 2023-11-16

Family

ID=88419199

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112114514A TW202345602A (zh) 2022-04-19 2023-04-19 視訊編解碼的擴展範本匹配

Country Status (2)

Country Link
TW (1) TW202345602A (zh)
WO (1) WO2023202569A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3443746B1 (en) * 2016-05-17 2021-07-21 ARRIS Enterprises LLC Template matching for jvet intra prediction
WO2019190907A1 (en) * 2018-03-30 2019-10-03 Vid Scale, Inc Template-based inter prediction techniques based on encoding and decoding latency reduction
WO2019234668A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Sub-block dmvr
US10638153B2 (en) * 2018-07-02 2020-04-28 Tencent America LLC For decoder side MV derivation and refinement
US10911768B2 (en) * 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement

Also Published As

Publication number Publication date
WO2023202569A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
CN113455003B (zh) 视频编解码方法及电子设备
US11172203B2 (en) Intra merge prediction
US11310526B2 (en) Hardware friendly constrained motion vector refinement
US11889097B2 (en) Techniques for decoding or coding images based on multiple intra-prediction modes
US11902537B2 (en) Usage of templates for decoder-side intra mode derivation
TW201832556A (zh) 多重假設之合併模式
EP3821599A1 (en) Merge candidates with multiple hypothesis
TW202345602A (zh) 視訊編解碼的擴展範本匹配
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
WO2023217140A1 (en) Threshold of similarity for candidate list
WO2023143173A1 (en) Multi-pass decoder-side motion vector refinement
WO2023236916A1 (en) Updating motion attributes of merge candidates
WO2024061136A1 (en) Method, apparatus, and medium for video processing
TW202406348A (zh) 視訊編解碼方法及其裝置
WO2024017224A1 (en) Affine candidate refinement
WO2024037645A1 (en) Boundary sample derivation in video coding
WO2024007789A1 (en) Prediction generation with out-of-boundary check in video coding
WO2024016955A1 (en) Out-of-boundary check in video coding
WO2023198187A1 (en) Template-based intra mode derivation and prediction
WO2024027700A1 (en) Joint indexing of geometric partitioning mode in video coding
TW202341740A (zh) 視訊編解碼方法及其電子裝置
TW202341736A (zh) 視訊編解碼方法及裝置
TW202415066A (zh) 多假設預測編解碼
TW202349952A (zh) 視訊編解碼方法及其裝置
TW202420819A (zh) 視訊編解碼中帶越界檢查的預測生成