[go: up one dir, main page]

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

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

Info

Publication number
TWI872431B
TWI872431B TW112100602A TW112100602A TWI872431B TW I872431 B TWI872431 B TW I872431B TW 112100602 A TW112100602 A TW 112100602A TW 112100602 A TW112100602 A TW 112100602A TW I872431 B TWI872431 B TW I872431B
Authority
TW
Taiwan
Prior art keywords
candidate
mode
codec
decoding
coding
Prior art date
Application number
TW112100602A
Other languages
English (en)
Other versions
TW202337207A (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 TW202337207A publication Critical patent/TW202337207A/zh
Application granted granted Critical
Publication of TWI872431B publication Critical patent/TWI872431B/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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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

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)是一種編解碼器,旨在滿足視訊會議、OTT(over-the-top)流媒體、行動電話等方面即將到來的需求。VVC旨在提供多種功能,滿足從低解析度和低位元速率到高解析度和高位元速率、高動態範圍(high dynamic range,簡稱HDR)、360全向等的所有視訊需求。
對於每個幀間預測的CU,由運動向量、參考圖片索引和參考圖片列表使用索引以及額外資訊組成的運動參數用於幀間預測樣本生成。運動參數可以顯式或隱式方式發送。當CU以跳過模式進行編解碼時,CU與一個PU相關聯並且沒有顯著的殘差係數,沒有編解碼的運動向量增量或參考圖片索引。合併模式被指定,當前CU的運動參數從相鄰CU獲得,包括空間和時間候選,以及VVC中引入的額外排程(schedules)。合併模式可以應用於任一幀間預測的CU。合併模式的可選方案是運動參數的顯式傳輸,其中運動向量、每個參考圖片列表的相應參考圖片索引和參考圖片列表使用標誌以及其他所需資訊按每個CU顯式地發送。
除了HEVC中的幀間編解碼功能外,VVC還包括幾個新的和改進的幀間預測編解碼工具,如下所列: - 擴展合併預測 - 具有MVD(MMVD)的合併模式 - 對稱MVD(SMVD)發送 - 仿射運動補償預測 - 基於子塊的時間運動向量預測(Subblock-based temporal motion vector prediction,簡稱SbTMVP) - 適應性運動向量分辨率(Adaptive motion vector resolution,簡稱AMVR) - 運動場存儲:1/16精度的亮度樣本MV存儲和8x8運動場壓縮 - CU級權重雙向預測(Bi-prediction with CU level weight,簡稱BCW) - 雙向光流(Bi-directional optical flow,簡稱BDOF) - 解碼器側運動向量細化(Decoder side motion vector refinement,簡稱DMVR) - 幾何分區模式(Geometric partitioning mode,簡稱GPM) - 組合幀間和幀內預測(Combined inter and intra prediction,簡稱CIIP)
以下概述僅是說明性的,並不旨在以任何方式進行限制。即,提供以下概述以介紹本文描述的新穎的和非顯而易見的技術的概念、亮點、好處和優點。 在下面的詳細描述中進一步描述了選擇的而不是所有的實施方式。因此,以下概述不旨在識別要求保護的主題的基本特徵,也不旨在用於確定要求保護的主題的範圍。
一些實施例提供了一種使用成本來選擇候選編解碼模式以對當前塊進行編碼或解碼的方法。視訊編解碼器接收像素塊的資料,該像素塊的資料將被編碼或解碼為視訊的當前圖片的當前塊。視訊編解碼器識別適用於當前塊的多個候選編解碼模式。視訊編解碼器識別第一候選編解碼模式組,該第一候選編解碼模式組為多個候選編解碼模式的子集。第一候選編解碼模式組可以是基於成本識別的最高優先級候選編解碼模式。第一候選編解碼模式組中的候選編解碼模式的數量少於多個候選編解碼模式中的候選編解碼模式的數量。視訊編解碼器從第一候選編解碼模式組中選擇一個候選編解碼模式。視訊編解碼器使用所選擇的候選編解碼模式對當前塊進行編碼或解碼。
在一些實施例中,多個候選編解碼模式包括當前塊的合併候選。當前塊的合併候選可以包括(i)使用組合的幀間和幀內預測的合併候选和/或(ii)使用仿射變換運動補償預測的合併候選。在一些實施例中,多個候選編解碼模式包括對應於不同組合的候選編解碼模式,該不同組合用於細化運動資訊的距離和偏移。在一些實施例中,多個候選編解碼模式包括對應於不同線性模型的候選編解碼模式,該不同線性模型的候選編解碼模式用於基於當前塊的亮度樣本導出當前塊的色度樣本的預測子。在一些實施例中,多個候選編解碼模式包括對應於不同候選權重的候選編解碼模式,該不同候選權重用於組合不同方向的幀間預測。
在一些實施例中,第一候選編解碼模式組是基於多個候選編解碼模式的成本識別的最高優先級候選編解碼模式。編解碼器可以根據候選編解碼模式的優先級對所識別的候選編解碼模式組中的候選編解碼模式進行索引或者將碼字分配給所識別的候選編解碼模式組中的候選編解碼模式。在一些實施例中,候選編解碼模式的成本藉由比較以下樣本來進行計算:(i)與當前塊相鄰的重構樣本以及(ii)根據候選編解碼模式生成的當前塊沿當前塊邊界的預測樣本。
在一些實施例中,多個候選編解碼模式中的每個候選編解碼模式被分配給多個候選編解碼模式組中的一個候選編解碼模式組。例如,在一些實施例中,多個候選編解碼模式中的每個候選編解碼模式與原始候選索引相關聯,其中每個候選編解碼模式基於原始索引模(modulo)K或者原始索引除以K的結果被分配給K個候選編解碼模式組中的一個候選編解碼模式組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給同一候選編解碼模式組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給不同的候選編解碼模式組。在一些實施例中,具有運動差小於閾值的合併候選的候選編解碼模式被分配給同一候選編解碼模式組。在一些實施例中,具有大於閾值的運動差的合併候選的候選編解碼模式被分配給同一候選編解碼模式組。在一些實施例中,編碼器識別在多個候選編解碼模式組中具有最低代表成本的一個候選編解碼模式組,以及發送索引,該索引用於從所識別的候選編解碼模式組中選擇候選編解碼模式。已識別組的代表成本可以是已識別組的候選編解碼模式的成本(例如,邊界匹配成本)的平均值、最大值或最小值。在一些實施例中,編碼器發送用於選擇候選編解碼模式組的索引,以及基於所選擇的候選編解碼模式組的成本(例如,邊界匹配成本)從所選擇的候選編解碼模式組中識別候選編解碼模式。
在下面的詳細描述中,許多具體細節藉由示例的方式被闡述,以便提供對相關教導的透徹理解。基於本文描述的教導的任一變化、推導和/或擴展都在本公開的保護範圍內。在一些情況下,與本文公開的一個或多個示例實現有關的眾所周知的方法、處理、組件和/或電路可以在相對較高的水平上描述而不具備細節,以避免不必要地模糊本公開的教導的方面。
隨著視訊編解碼的改進,更多的編解碼工具被開發。然而,這些不同編解碼工具的編解碼增益不是叠加的。這是因為(1)並非所有新的編解碼模式都可以成為塊的候選模式,尤其是在考慮語法開銷時,以及(2)隨著塊的候選模式增加,需要更長的碼字來指示來自多個候選模式的編解碼模式。
例如,在HEVC之後,新的合併候選(例如成對平均合併候選、HMVP合併候選等)被建議添加到合併候選列表中。最佳合併候選的索引被編碼/解碼以指示當前塊選擇的合併候選。然而,合併候選列表中的合併候選的數量被限制為預定的數量,因此並不是所有的合併候選都可以被添加到合併候選列表中。隨著合併候選列表中合併候選數量的增加,最佳合併候選的索引的碼字長度也增加。
本公開的一些實施例提供了一種用於對候選模式適應性地重新排序的方案。根據該方案,視訊編碼器/解碼器計算每個候選模式的成本,其可以是另一個工具的合併候選和/或候選模式。視訊編解碼器根據成本確定候選模式的優先順序。(在一些實施例中,具有較小成本的候選模式獲得較高優先順序。在一些其他實施例中,具有較小成本的候選模式獲得較低優先順序。)然後,候選模式根據優先順序被重新排序。
在一些實施例中,視訊編解碼器使用減少的、重新排序的候選模式集,其僅包括具有更高優先順序的前k個候選模式(k<所有可能的候選模式的數量)。由於候選模式集中的候選模式的數量減少,用於指示所選候選模式的語法也被減少。索引可被用來指代重新排序後選擇的候選模式,使得較小的索引值可以指代具有較高優先順序的候選模式。(換句話說,索引值是指候選模式在候選列表中的索引,在應用重新排序之後,索引值是指候選模式重新排序後的索引。)在一些實施例中,對於具有較高優先順序的候選模式,較短的碼字被用來進行編碼/解碼。具有最高優先順序的候選模式可以被隱式地設置為當前塊的編解碼模式。
在一些實施例中,視訊編解碼器基於邊界匹配來確定候選模式集中的候選模式的優先順序。對於每個候選模式,用於使用候選模式來編解碼當前塊的邊界匹配成本被計算,以及候選模式在重新排序的候選模式列表中的優先順序根據候選模式的邊界匹配成本確定。
、邊界匹配成本
候選模式的邊界匹配成本是指從候選模式生成的當前預測(當前塊的預測樣本或預測子)與相鄰重構(一個或多個相鄰塊內的重構樣本)之間的不連續性測量(包括頂部邊界匹配和/或左邊界匹配)。頂部邊界匹配是指當前頂部預測樣本與相鄰頂部重構樣本的比較,左邊界匹配是指當前左預測樣本與相鄰左重構樣本的比較。
第1圖示出在邊界匹配中使用的重構的相鄰樣本和預測樣本。如圖所示,pred x,0是沿頂部邊界的預測樣本,reco x,-1是沿頂部邊界的重構相鄰樣本;其中pred 0,y是沿左邊界的預測樣本,reco -1,y是沿左邊界重構的相鄰樣本。
在一些實施例中,當前預測的預定子集被用來計算邊界匹配成本。例如,當前塊內的頂部邊界的n行和/或當前塊內的左邊界的m行可被使用。在這些實施例的一些中,頂部相鄰重構的n 2行和/或左相鄰重構的m 2行可用於邊界匹配。
示例邊界匹配成本根據以下公式計算,其中n = 2,m = 2,n 2=2,m 2= 2:
在此示例中,沿頂部和左邊界的兩行預測樣本和兩行重構的相鄰樣本用於計算差度量(或相似性度量)。權重(a, b, c, d, e, f, g, h, i, j, k, l)可以是任一正整數,例如,a = 2, b = 1, c = 1, d = 2 , e = 1, f = 1, g = 2, h = 1, i = 1, j = 2, k = 1, l = 1。另一個計算邊界匹配成本的例子如下,其中n = 2, m = 2, n 2= 1, m 2= 1:
其中權重(a, b, c, g, h, i)可以是任一正整數,例如 a = 2, b = 1, c = 1, g = 2, h = 1, i = 1。另一個計算邊界匹配成本的例子如下,其中n = 1,m = 1,n 2= 2,m 2= 2:
其中權重(d, e, f, j, k, l)可以是任一正整數,例如,d = 2, e = 1, f = 1, j = 2, k = 1, l = 1。另一個計算邊界匹配成本的例子如下,其中n = 1,m = 1,n 2= 1,m 2= 1:
其中權重(a, c, g, i)可以是任一正整數,例如 a = 1, c = 1, g = 1, i = 1。另一個計算邊界匹配成本的例子如下,其中n = 2, m = 1, n 2= 2, m 2= 1:
其中權重(a, b, c, d, e, f, g, i)可以是任一正整數,例如,a = 2, b = 1, c = 1, d = 2, e = 1, f = 1, g = 1, i = 1。另一個計算邊界匹配成本的例子如下,其中n = 1, m = 2, n 2= 1, m 2= 2:
其中權重(a, c, g, h, i, j, k, l)可以是任一正整數,例如,a = 1, c = 1, g = 2, h = 1, i = 1, j = 2、k = 1, l = 1。概括地說,n或n 2可以是1、2、3、4等任一正整數,m或m 2可以是1、2、3、4等任一正整數。在一些實施例中,n和/或m隨塊寬度、高度或面積而變化。例如,對於更大的塊(面積>閾值),m變大,閾值可以是64、128或256,當面積>閾值時,m可以從1增加到2,或者從1或2增加到4。又例如,對於更高的塊(高度>閾值*寬度),m變大和/或n變小,閾值可以是1,2或4;當高度>閾值*寬度時,m可能從1增加到2,或者從1或2增加到4。再比如,對於更大的塊(面積>閾值),n變大,閾值可能是64,128或256 ;當面積>閾值時,n從1增加到2,或者從1或2增加到4。再比如,對於更寬的塊(寬度>閾值*高度),n變大和/或m變小,閾值=1,2或4;當寬度>閾值*高度時,n從1增加到2;當寬度>閾值*高度時,n從1或2增加到4。
又例如,n和/或m可以在視訊編解碼標準中定義或取決於在CU/CB、PU/PB、TU/TB、CTU/CTB、圖塊、片段、圖片級別、sps級別和/或pps級別中發送出的編解碼視訊語法或去解析的編解碼視訊語法。
在一些實施例中,當當前塊位於CTU行內的頂部邊界時,頂部邊界匹配不被使用和/或僅左邊界匹配被使用。(交叉CTU行處的相鄰重構樣本不被使用。)在一些實施例中,當當前塊位於CTU內的左邊界時,左邊界匹配不被使用和/或僅頂部邊界匹配被使用。在一些實施例中,當當前塊較高時(高度>閾值*寬度),僅左邊界匹配被使用。在一些實施例中,當當前塊較寬(寬度>閾值*高度)時,僅頂部邊界匹配被使用。
在一些實施例中,左上相鄰的重構樣本(reco -1,1)可以用於邊界匹配。例如,邊界匹配成本加上以下項:
在一些實施例中,在計算邊界匹配成本時,還可以在當前預測(或當前塊的預測子)上加上殘差來重構當前塊的樣本,當前塊的重構樣本被用來計算邊界匹配成本。例如,殘差藉由在變換處理之後恢復DC和/或所有AC係數或AC係數的任一子集來生成。變換處理可以使用任一預定的變換內核進行二次變換和/或一次變換。例如,用於二次變換的變換内核是指低頻不可分離變換(Low Frequency Non-Separable Transform,簡稱LFNST)變換内核。例如,用於初級變換的變換內核指的是DCT2和/或用於多變換選擇(Multiple Transform Selection,簡稱MTS)的任一變換內核,例如DST7。例如,變換内核指的是在當前塊的變換模組中應用的真實變換。
、作為候選模式的合併候選
本公開的一些實施例提供了一種重新排序和/或減少合併候選的方案。在一些實施例中,最佳合併候選的索引(index_best_merge)不是指代合併候選列表中合併候選的順序,而是指代基於邊界匹配成本的優先順序。在一些實施例中,只有前k個合併候選(具有較高優先順序)可以是候選模式。
例如,對於合併候選列表{cand0, cand1, cand2, cand3, cand4, cand5, ...},合併候選的邊界匹配成本被計算為{cost_cand0, cost_cand1, cost_cand2, ...},這樣cost_cand0指的是cand0的邊界匹配成本,cost_cand1是指cand1的邊界匹配成本,cost_cand2是指cand2的邊界匹配成本,等等。視訊編解碼器然後根據邊界匹配成本重新排序{cand0,cand1,cand2,...}。例如cost_cand0 > cost_cand1 > cost_cand2 > cost_cand3 > cost_cand4 > cost_cand5,則重新排序後的合併候選成為{cand5, cand4, cand3, cand2, cand1, cand0},index_best_merge 0可以指代cand5(具有最小成本的合併候選使用最短的碼字發送),index_best_merge 1可以指代cand4,index_best_merge 2可以指代cand3,等等。
在一些實施例中,候選模式集僅包括前k個合併候選(根據邊界匹配成本的排序),而不是由常數(例如,VVC中的MaxNumMergeCand,其可以是6)決定。例如,在一些實施例中,k可以是4,以及每個合併候選的信令可以包括:index_best_merge 0指代具有碼字0的cand5(具有最大成本的合併候選使用最短碼字發送);index_best_merge 1指代具有碼字10的cand4;index_best_merge 2指代具有代碼字110的cand3;以及index_best_merge 3指代具有碼字111的cand2。否則,例如,如果cost_cand0<cost_cand1<cost_cand2<cost_cand3<cost_cand4<cost_cand5,則合併候選的順序可以與原始列表相同而無需重新排序:index_best_merge 0指代具有碼字0的cand0;index_best_merge 1指代具有碼字10的cand1;index_best_merge 2指代具有碼字110的cand2;以及index_best_merge 3指代具有碼字111的cand3,等等。
在一些實施例中,具有最大成本的合併候選使用最短碼字發送。再例如,如果cost_cand0<cost_cand1<cost_cand2<cost_cand3<cost_cand4< cost_cand5,則重新排序的合併候選成為{cand5,cand4,cand3,cand2,cand1,cand0},這樣index_best_merge 0指代具有碼字0的cand5(最大成本使用最短碼字);index_best_merge 1指代具有碼字10的cand4;以及index_best_merge 2指代具有碼字110的cand3。
在一些子實施例中,是使用減少和重新排序的合併候選列表(基於邊界匹配成本重新排序以及限於k個候選)還是原始合併候選列表(沒有重新排序)基於預定規則來決定(例如隱式地取決於塊寬度、塊高度或塊區域,或顯式地取決於CU/CB、PU/PB、TU/TB、CTU/CTB、圖塊、片段級別、圖片級別、SPS 級別和/或PPS級別)。當減少和重新排序的合併候選列表被使用時,用於發送的熵編解碼上下文可能不同於使用原始合併候選列表。
在一些實施例中,對於index_best_merge變數,較小的值用較短的碼字長度進行編解碼。index_best_merge變數可以用截斷的一元碼字進行編解碼。
在一些實施例中,重新排序僅應用於合併候選列表的子集。例如,子集可以參考原來的前n個候選cand0,cand1,cand2,這樣index_best_merge 0/1/2指代基於邊界匹配的優先順序,index_best_merge 3/4/5指代原始cand 3/4/5。又例如,子集指的是原來的最後n個候選cand3,cand4,cand5。那麼index_best_merge 3/4/5指代基於邊界匹配的優先順序,index_best_merge 0/1/2指代原始cand 0/1/2。又例如,該子集可以指代空間合併候選。
在一些實施例中,最佳合併候選被推斷為所有合併候選中具有最小邊界匹配成本的合併候選。在一些實施例中,最佳合併候選被推斷為所有合併候選中具有最大邊界匹配成本的合併候選。在這些實施例的一些中,index_best_merge沒有被編碼器/解碼器發送/解析,以及可以被推斷為0。
在一些實施例中,合併候選被分成幾個組。每個組的邊界匹配成本被計算。有希望的組被隱式地標識為具有最高優先順序的組。如果在識別的有希望的組中包括一個以上的合併候選,則減少的合併索引被發送/被解析以指示來自有希望的組的合併候選。由於每個組中的合併候選數量少於原始合併候選列表中的合併候選數量,因此減少的合併索引將比原始合併索引佔用更少的碼字。
在一些實施例中,如果k組被使用以及原始合併候選列表中的合併候選的數量為N,則每個組中的合併候選的數量為“N/k”以及分組規則取決於合併索引和/或合併類型。例如,具有相同“合併索引% k”(模運算子的餘數)值的合併候選在同一組中。又例如,具有相同“合併索引/ k”(除法運算子的商)值的合併候選在同一組中。又例如,空間合併候選在同一組中。又例如,k隨塊寬度,塊高度和/或塊面積而變化。又例如,運動差小的合併候選在同一組中。運動差包括mv差和/或參考圖片差。計算候選0和候選1之間的mv差(表示為mv_diff)的一個例子是: mv_diff = |(mvx_cand0 –mvx_cand1)| + |(mvy_cand0 –mvy_cand1)|
如果參考圖片相同和/或mv差小於預定閾值,則運動差較小。
在一些實施例中,當一個組包含一個以上的合併候選時,該組的成本(該組的代表成本)是該組中所有合併候選的成本的平均成本。在一些子實施例中,當一個組包含一個以上的合併候選時,該組的代表成本是來自該組中所有合併候選的成本的平均、最大或最小成本。
在一些實施例中,合併候選被劃分成幾個子集,以及子集的選擇被顯式地發送給解碼器。此外,合併候選子集中的合併候選的選擇藉由使用邊界匹配成本來進行。子集分區規則可以取決於合併索引和/或合併類型。例如,具有相同“合併索引% k”值的合併候選在同一個子集中。又例如,具有相同“合併索引/k”值的合併候選在同一子集中(k可能隨著塊寬度、塊高度和/或塊面積而變化。)又例如,空間合併候選在不同子集中。又例如,具有較大運動差的合併候選在同一子集中。運動差包括mv差和/或參考圖片差。計算候選0和候選1之間的mv差(表示為mv_diff)的一個例子是: mv_diff = |(mvx_cand0 –mvx_cand1)| + |(mvy_cand0 –mvy_cand1)|
如果參考圖片不同和/或mv差大於預定閾值,則運動差很大。
在一些實施例中,CU的合併候選包括一個或多個以下候選:(1)來自空間相鄰CU的空間合併候選或空間MVP,(2)來自同位CU的時間MVP,(3)來自FIFO表的基於歷史的MVP,(4)成對平均MVP,和/或(5)零MV。
在一些實施例中,該部分中的合併候選指的是用於組合幀間和幀內預測(combined inter and intra prediction,簡稱CIIP)的合併候選。當前塊內的預測樣本生成為CIIP處理。在一些實施例中,本節中的合併候選是指子塊合併候選的合併候選,例如仿射合併候選。當前塊內的預測樣本由仿射處理生成,例如,基於塊的仿射變換運動補償預測。
a. 空間合併候選
在位於CU周圍位置的候選中最多選擇四個合併候選,如第2圖所示,它顯示了空間合併候選的位置。推導順序為B 0、A 0、B 1、A 1、B 2。僅在位置B 0、A 0、B 1、A 1的一個或多個CU不可用(例如,因為它屬於另一個片段或圖塊)或被幀內編解碼時,位置B 2才被考慮。位置A 1的候選被添加後,對剩餘候選的添加進行冗餘校驗(redundancy check),以保證具有相同運動資訊的候選被排除在列表之外,從而提高編解碼效率。為了降低計算複雜度,在提到的冗餘校驗中並未考慮所有可能的候選對。只有當用於冗餘校驗的對應候選不具有相同的運動資訊時,候選才被添加到列表中。僅以下候選對被考慮:(A 1, B 1), (A 1, A 0), (A 1, B 2), (B 1, B 0), (B 1, B 2)。
b. 時間合併候選
只有一個時間合併候選被添加到合併候選列表。具體地,在該時間合併候選的推導中,縮放的運動向量基於同位CU來導出,該同位CU屬於同位參考圖片。用於推導同位的CU的參考圖片列表和參考索引在片段報頭中顯式地發送。如第3圖中的虛線所示,時間合併候選的縮放運動向量被獲取,其示出時間合併候選的運動向量縮放。縮放的運動向量使用圖片順序計數(picture order count,簡稱POC)距離tb和td從同位的CU的運動向量進行縮放,其中tb定義為當前圖片的參考圖片與當前圖片之間的POC差,以及td定義為同位圖片的參考圖片和同位圖片之間的POC差。時間合併候選的參考圖片索引被設置為等於零。時間合併候選的位置在候選C 0和C 1之間選擇,如第4圖所示,其示出當前塊的時間合併候選的候選位置。如果位置C 0處的CU不可用,被幀內編解碼或在當前CTU行之外,則位置C 1用於時間合併候選。否則,位置C 0用於推導時間合併候選。
c. 基於歷史的合併候選
基於歷史的MVP(history-based motion vector prediction,簡稱HMVP)合併候選被添加到空間MVP和TMVP之後的合併列表中。在該方法中,先前編解碼塊的運動資訊存儲在表中並用作當前CU的MVP。在編碼/解碼處理中,具有多個HMVP候選的表被維護。當遇到新的CTU行時,該表將被重置(清空)。每當存在非子塊幀間編解碼CU時,相關聯的運動資訊將作為新的HMVP候選添加到該表的最後一個條目。
HMVP表大小S設置為6,這表示最多可以將5個基於歷史的MVP(HMVP)候選添加到表中。當向表中插入新的運動候選時,受約束的先進先出(first-in-first-out,簡稱FIFO)規則被應用,其中冗餘校驗首先被應用以查閱資料表中是否存在相同的HMVP。如果找到,相同的HMVP被從表中移除以及之後的所有HMVP候選被向前移動,並且相同的HMVP被插入到表的最後條目。
HMVP候選可用於合併候選列表構建處理。表中最新的幾個HMVP候選被依次檢查,以及被插入到候選列表中位於TMVP候選之後。冗餘校驗應用於從HMVP候選到空間或時間合併候選的多個候選。
在一些實施例中,為了減少冗餘校驗操作的數量,表中的最後兩個條目分別對A 1和B 1空間候選進行冗餘校驗。一旦可用的合併候選總數達到允許的最大合併候選數量減1,HMVP的合併候選列表構建處理就終止了。
d. 成對平均合併候選
成對平均候選藉由使用前兩個合併候選對現有合併候選列表中的預定候選對進行平均來生成。第一合併候選被定義為p0Cand,第二合併候選可以被定義為p1Cand。根據p0Cand和p1Cand的運動向量分別對每個參考列表的可用性來計算平均運動向量。如果兩個運動向量在一個列表中可用,即使這兩個運動向量指向不同的參考圖片,也會對其進行平均,以及其參考圖片被設置為屬於p0Cand和p1Cand之一的參考圖片或用於p0Cand和p1Cand之一的參考圖片(例如設置為p0Cand的參考圖片或設置為p1Cand的參考圖片)”;如果只有一個運動向量可用,則直接使用那個運動向量所對應的合併候選;如果沒有運動向量可用,則保持此列表無效。另外,如果p0Cand和p1Cand的半像素插值濾波器索引(half-pel inerpolation filter index)不同,它被設置為0。在一些實施例中,當合併列表未滿時,在成對平均合併候選被添加之後,最後零MVP被插入,直到遇到最大合併候選數量。
e. 組合幀間和幀內預測( Combined inter and intra prediction ,簡稱 CIIP
當CU以合併模式編解碼時,如果CU包含至少64個亮度樣本(即CU寬度乘以CU高度等於或大於64),以及如果CU寬度和CU高度都小於128個亮度樣本,額外標誌可以被發送以指示組合幀間/幀內預測(CIIP)模式是否應用於當前CU。CIIP預測將幀間預測訊號與幀內預測訊號組合。CIIP模式中的幀間預測訊號 P inter 使用與應用於常規合併模式相同的幀間預測處理導出;以及幀內預測訊號 P intra 依照常規幀內預測處理導出,使用的一種或多種幀內預測模式為平面模式(planar mode)或從預定機制導出的一種或多種幀內預測模式。例如,在下文中,預定機制基於當前塊的相鄰參考區域(範本)。CU的幀內預測模式由編碼器和解碼器處的相鄰範本隱式地導出,而不是作為準確的幀內預測模式位元發送給解碼器。對每個候選模式的範本參考樣本生成範本的預測樣本。成本被計算為範本的預測樣本和重構樣本之間的SATD。具有最小成本的幀內預測模式和/或一些具有較小成本的幀內預測模式被選擇以及用於CU的幀內預測。候選模式可以是所有MPM和/或MPM的任一子集,如VVC中的67種幀內預測模式或擴展到131種幀內預測模式。幀內和幀間預測訊號使用加權平均進行組合,其中權重值根據頂部和左側相鄰塊的編解碼模式來計算。CIIP預測 P CIIP 的構成如下:( wt為權重值)
f. 仿射合併候選
視訊中的物件可能有不同類型的運動,包括平移運動、放大/縮小運動、旋轉運動、透視運動和其他不規則運動。在一些實施例中,使用基於塊的仿射變換運動補償預測來解決這些不同類型的運動。VVC提供基於塊的仿射變換運動補償預測。具體來說,當前塊的仿射運動場可以用兩個控制點的運動資訊(例如,在塊的右上角和左上角)(4參數)或三個控制點的運動資訊(例如,在塊的右上角、左上角和左下角)(6參數)。對於4參數仿射運動模型,塊中樣本位置(x, y)處的運動向量導出為:
對於6參數仿射運動模型,塊中樣本位置(x, y)處的運動向量導出為:
其中(mv 0x,mv 0y)為左上角控制點的運動向量,(mv 1x,mv 1y)為右上角控制點的運動向量,(mv 2x,mv 2y)為左下角的運動向量控制點。
仿射合併模式,或AF_MERGE模式可以應用於寬度和高度都大於或等於8的CU。在這種模式下,當前CU的控制點(motion vector at the control points,簡稱CPMV)處的運動向量根據空間相鄰CU運動資訊生成。最多可以有五個CPMVP候選,以及所以被發送以用來指示要用於當前CU的那個候選。以下三種CPMV候選用於形成仿射合併候選列表:(1)繼承仿射合併候選,從相鄰CU的CPMV中推斷出來;(2)構建的仿射合併候選CPMVP,這些CPMVP使用相鄰CU的平移MV導出;(3)零MV。
在VVC中,最多有兩個繼承的仿射候選,它們來自相鄰塊的仿射運動模型,一個來自左相鄰CU(左側預測子),一個來自頂部相鄰CU(頂部預測子)。 對於左側的預測子,掃描順序是A0->A1,對於頂部的預測子,掃描順序是B0->B1->B2。僅每一側的第一繼承候選被選擇。在兩個繼承的候選之間不執行修剪檢查(pruning check)。當相鄰的仿射CU被識別時,其控制點運動向量用於導出當前CU的仿射合併列表中的CPMVP候選。當相鄰仿射CU採用6個參數的仿射模式進行編解碼時,根據相鄰仿射CU的左上角、右上角和左下角的運動向量計算當前CU的三個CPMV。當相鄰仿射CU採用4個參數的仿射模式進行編解碼時,根據相鄰仿射CU的左上角和右上角的運動向量計算當前CU的兩個CPMV。
構建的仿射候選藉由結合每個控制點的相鄰平移運動資訊來構建。控制點的運動資訊來自當前塊的空間相鄰塊(A0、A1、A2、B0、B1、B2、B3)和時間相鄰塊。CPMV k(k=1, 2, 3, 4)表示第k個控制點的MV。對於CPMV1,B2->B3->A2塊被檢查以及第一可用塊的MV被使用。對於CPMV 2,B1->B0塊被檢查,以及對於CPMV3,A1->A0塊被檢查。如果TMVP可用,則將其用作 CPMV4。
獲得四個控制點的MV後,仿射合併候選基於這些運動資訊被構建。以下控制點MV的組合依次用於構建:{CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4}, {CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}, {CPMV1, CPMV2 }, {CPMV1, CPMV3}。3個CPMV的組合構建一個6參數仿射合併候選,2個CPMV的組合構建一個4參數仿射合併候選。為了避免運動縮放處理,如果控制點的參考索引不同,則控制點MV的相關組合被丟棄。繼承仿射合併候選和構建的仿射合併候選被檢查後,如果候選列表仍未滿,則零MV被插入到列表末尾。
MMVD 作為候選模式
具有運動向量差的合併模式(Merge Mode with Motion vector Difference,簡稱MMVD)是適用於多功能視訊編解碼(Versatile Video Coding,簡稱VVC)標準的新編解碼工具。與常規合併模式(隱式地導出的運動資訊直接用於當前CU的預測樣本的生成)不同,在MMVD中,導出的運動資訊藉由運動向量差MVD被進一步細化。MMVD還藉由基於預定偏移量(也被稱為MMVD偏移量)添加額外的MMVD候選來擴展合併模式的候選列表。
在發送跳過標誌和合併標誌以指定MMVD模式是否用於CU之後,MMVD標誌可以被發送。如果MMVD模式被使用,則選擇的合併候選將藉由MVD資訊進行細化。MVD資訊還包括合併候選標誌、用於指定運動幅度的距離索引和用於指示運動方向的索引。合併候選標誌被發送以指定前兩個合併候選中的哪一個要用作起始MV。
距離索引被用來藉由指示距起始MV的預定偏移量來指定運動幅度資訊。偏移量可以添加到起始MV的水平分量或垂直分量。從距離索引到預定偏移量的示例映射在以下表Ⅲ-1中指定: Ⅲ-1 . 距離索引
距離索引 0 1 2 3 4 5 6 7
偏移量 ( 以亮度樣本為單位 ) 1/4 1/2 1 2 4 8 16 32
 
方向索引表示MVD相對於起點的方向。方向索引可以表示如表Ⅲ-2所示的四個方向之一。 Ⅲ-2. 方向索引指定的 MV 偏移量符號
距離索引 00 01 10 11
x- + N/A N/A
y- N/A N/A +
 
需要注意的是,MVD標誌的含義可能會根據起始MV的資訊而有所不同。當起始MV是單向預測(uni-prediction)MV或雙向預測(bi-prediction)MV,兩個列表都指向當前圖片的同一側(即兩個參考圖片的圖片順序計數或POC都大於當前圖片的POC,或者都小於當前圖片的POC),表Ⅲ-2中的符號指定添加到起始MV的MV偏移量的符號。當起始MV為雙向預測MV時,兩個MV指向當前圖片的不同側(即一個參考圖片的POC大於當前圖片的POC,另一個參考圖片的POC小於當前圖片的POC),表Ⅲ-2中的每個符號指定添加到起始MV的列表0 MV分量的MV偏移量的符號,列表1 MV的符號具有相反的值。在一些實施例中,MMVD候選的預定偏移量(MmvdOffset)源自或表示為距離值(MmvdDistance)和方向符號(MmvdSign或MmvdDirection)。
第5圖概念性地示出MMVD候選及其相應的偏移量。該圖示出作為起始MV的合併候選510以及垂直方向和水平方向上的若干MMVD候選。每個MMVD候選藉由將偏移量應用於起始MV 510來導出。例如,MMVD候選522藉由將偏移量2添加到合併候選510的水平分量來導出,而MMVD候選524藉由將偏移量-1添加到合併候選510的垂直分量來導出。在水平方向上具有偏移的MMVD候選,例如MMVD候選522,被稱為水平MMVD候選。在垂直方向上具有偏移的MMVD候選,例如MMVD候選524,被稱為垂直MMVD候選。
在一些實施例中,候選模式減少/重新排序方案用於重新排序MMVD候選以改進特定語法元素。下面是VVC標準中MMVD的語法表。
            if( mmvd_merge_flag[ x0 ][ y0 ]  = =  1 ) {
               if( MaxNumMergeCand > 1 )
                  mmvd_cand_flag[ x0 ][ y0 ] ae(v)
               mmvd_distance_idx[ x0 ][ y0 ] ae(v)
               mmvd_direction_idx[ x0 ][ y0 ] ae(v)
語法元素 mmvd_cand_flag[x0][y0]指定合併候選列表中的第一(0)或第二(1)候選是否被使用,該第一(0)或第二(1)候選具有從語法元素mmvd_distance_idx[ x0 ][ y0 ] 和 mmvd_direction_idx導出的運動向量差。陣列索引x0, y0指定所考慮的編解碼塊中左上角亮度樣本相對於圖片左上角亮度樣本的位置(x0, y0)。當 mmvd_cand_flag[x0][ y0]不存在時,它被推斷為等於0。
語法元素 mmvd_distance_idx[x0][y0] 指定用於導出變數 MmvdDistance[ x0 ][ y0 ]的索引,如下所述。陣列索引x0, y0指定所考慮的編解碼塊中相對於圖片左上角亮度樣本的左上角亮度樣本位置(x0, y0)。
mmvd_distance_idx[ x0 ][ y0 ] MmvdDistance[ x0 ][ y0 ]
ph_mmvd_fullpel_only_flag = = 0 ph_mmvd_fullpel_only_flag = = 1
0 1 4
1 2 8
2 4 16
3 8 32
4 16 64
5 32 128
6 64 256
7 128 512
語法元素mmvd_direction_idx[x0][y0]指定用於導出變數 MmvdSign[x0][y0]的索引,如下所述。陣列索引x0, y0指定所考慮的編解碼塊中相對於圖片左上角亮度樣本的左上角亮度樣本位置(x0, y0)。
mmvd_direction_idx[ x0 ][ y0 ] MmvdSign[ x0 ][ y0 ][ 0 ] MmvdSign[ x0 ][ y0 ][ 1 ]
0 +1 0
1 −1 0
2 0 +1
3 0 −1
在一些實施例中,語法元素mmvd_cand_flag可以藉由使用減少的/重新排序的候選模式列表來改進。具體地,對每個MMVD模式計算邊界匹配成本,包括MMVD模式0,其中具有第一候選的MMVD在合併候選列表中;以及MMVD模式1,其中具有第二候選的MMVD在合併候選列表中。在一些實施例中,在根據成本重新排序之後,如果MMVD模式0的成本>MMVD模式1的成本,則mmvd_cand_flag等於0表示MMVD模式1以及mmvd_cand_flag等於1表示MMVD模式0。可選地,mmvd_cand_flag是隱式的,以及合併候選列表中的第一或第二候選(具有最小成本)被用於MMVD。
在一些實施例中,在根據邊界匹配成本重新排序之後,如果MMVD模式0的成本<MMVD模式1的成本,則mmvd_cand_flag等於0表示MMVD模式1以及mmvd_cand_flag等於1表示MMVD模式0。或者,mmvd_cand_flag是隱式的,合併候選列表中的第一或第二候選(具有最大成本)被用於MMVD。
在一些實施例中,語法元素mmvd_cand_flag、mmvd_distance_idx和mmvd_direction_idx的發送可以藉由使用減少的/重新排序的候選模式列表來改進。聯合指示(表示為MMVD_joint_idx)被發送/解析/分配以指定 mmvd_cand_flag、mmvd_distance_idx和mmvd_direction_idx的選定組合。MMVD_joint_idx取值範圍為0到“MMVD候選數”(如2)*“MMVD距離數”(如8)*“MMVD方向數”(如4)計算出的值減一(如63)。
在一些實施例中,對每個MMVD組合計算邊界匹配成本。在根據成本對不同的MMVD組合進行重新排序之後,MMVD_joint_idx可以用於基於重新排序來選擇MMVD組合。例如,在一些實施例中,如果MMVD組合0的成本>MMVD組合1的成本>...,則MMVD_joint_idx等於0表示MMVD組合63,MMVD_joint_idx等於63表示MMVD組合0。在一些實施例中,MMVD_joint_idx 是隱式的,具有最小成本的MMVD組合用於MMVD。在一些實施例中,MMVD組合的數量被減少以及具有較小成本的MMVD組合被保留在候選模式集中。用於發送/解析MMVD_joint_idx的碼字由此減少。
在一些實施例中,在根據成本對不同的MMVD組合進行重新排序之後,MMVD_joint_idx可以用於基於重新排序來選擇MMVD組合。在一些實施例中,如果MMVD組合0的成本<MMVD組合1的成本<...,則MMVD_joint_idx等於0是指MMVD組合63,以及MMVD_joint_idx等於63是指MMVD組合0。在一些實施例中,MMVD_joint_idx是隱式的,成本最大的MMVD組合被用於MMVD。在一些實施例中,MMVD組合的數量被減少,以及具有較大成本的MMVD組合被保留在候選模式集中。用於發送/解析MMVD_joint_idx的碼字由此減少。類似的方法可以被用來改進mmvd_distance_idx 和/或 mmvd_direction_idx的發送。
Ⅳ. BCW 權重作為候選模式
具有CU級權重的雙向預測(Bi-prediction with CU-level Weight,簡稱BCW)是一種用於增強雙向預測的編解碼工具。BCW允許對L0預測和L1預測應用不同的權重,然後將它們組合起來生成CU的雙向預測。對於要由BCW編解碼的CU,一個加權參數w被發送用於L0和L1預測,以便根據以下公式基於w計算雙向預測結果Pbi-pred:
P0表示由L0 MV(或L0預測)預測的像素值。P1表示由L1 MV(或L1預測)預測的像素值。P bi-pred是P0和P1根據w的加權平均值。對於低延遲圖片,即使用具有小圖片順序計數(picture order count,簡稱POC)的參考幀的圖片,w的可能值包括{-2、3、4、5、10},這些也被稱為BCW候選權重。對於非低延遲圖片,w(BCW 候選權重)的可能值包括{3, 4, 5}。在一些實施例中,為了找到用於對當前CU進行編解碼的最佳w,而不是為所有候選雙預測MV位置搜索w的所有可能值,LC-RDO階段可以採用交織搜索模式來搜索BCW加權參數w的最佳值。更多的權重可被支援,如下所示。例如,對於合併模式,權重從{-2, 3, 4, 5, 10}擴展到{-4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7 , 9, 10, 11, 12}或以上的任一子集。當負雙向預測權重不被支援時,合併模式的權重從{-2, 3, 4, 5, 10}擴展到{1, 2, 3, 4, 5, 6, 7}。此外,非合併模式的負雙向預測權重被替換為正權重,即將權重{-2, 10}替換為{1, 7}。
在一些實施例中,所提出的候選模式減少/重新排序方案用於重新排序BCW候選以改進特定語法元素的發送,例如,bcw_idx。下面是VVC標準中BCW的語法表。
         if( sps_bcw_enabled_flag  &&  inter_pred_idc[ x0 ][ y0 ]  = =  PRED_BI  &&                luma_weight_l0_flag[ ref_idx_l0 [ x0 ][ y0 ] ]  = =  0  &&                luma_weight_l1_flag[ ref_idx_l1 [ x0 ][ y0 ] ]  = =  0  &&                chroma_weight_l0_flag[ ref_idx_l0 [ x0 ][ y0 ] ]  = =  0  &&                chroma_weight_l1_flag[ ref_idx_l1 [ x0 ][ y0 ] ]  = =  0  &&                cbWidth * cbHeight  >=  256 )
            bcw_idx[ x0 ][ y0 ] ae(v)
語法元素 bcw_idx[x0][y0]指定具有CU權重的雙向預測的權重索引。 陣列索引x0, y0指定所考慮編解碼塊的左上角亮度樣本相對於圖片左上角亮度樣本的位置(x0, y0)。對於每個雙向預測的CU,權重w由以下兩種方式之一確定:1)對於非合併 CU,權重索引在運動向量差之後發送;2)對於合併CU,權重索引根據合併候選索引從相鄰塊中推斷出來。
語法結構 語法元素 二進位化
處理 輸入參數
bcw_idx[ ][ ] TR cMax = NoBackwardPredFlag ? 4: 2, cRiceParam = 0
為了減少和重新排序BCW候選,每個BCW候選權重的邊界匹配成本被計算,以及不同的BCW候選權重根據成本進行重新排序。在一個實施例中,預定候選的成本可以被降低。例如,預定候選是指從一個或多個相鄰塊推斷出的候選。在另一實施例中,候選權重(僅)包括兩個相鄰的雙向預測權重(即±1)和繼承(推斷)的雙向預測權重。在一些實施例中,bcw_idx等於0表示具有最小成本的BCW候選權重,bcw_idx等於4表示具有最大成本的BCW候選權重。在一些實施例中,bcw_idx是隱式的,以及具有最小成本的BCW候選權重被使用。在一些實施例中,bcw_idx等於0表示具有最大成本的BCW候選權重,bcw_idx等於4表示具有最小成本的BCW候選權重。在一些實施例中,bcw_idx是隱式的,以及具有最大成本的BCW候選權重被使用。
在一些實施例中,只有前k個BCW權重(因為成本而具有更高的優先順序)可以作為候選模式集中的候選權重(BCW權重的原始數量為5)。在一些實施例中,候選模式集中BCW權重的數量為k(例如3),每個BCW權重的發送如下所示:bcw_idx 0是指使用碼字0的具有最高優先順序的BCW候選;bcw_idx 1 是指使用碼字10具有第二高優先順序的BCW候選;bcw_idx 2是指使用碼字11的具有第三高優先順序的BCW候選。
在一些子實施例中,是否使用減少和重新排序的BCW候選(基於邊界匹配成本重新排序以及限於k個候選)或原始BCW候選(沒有重新排序)是基於預定規則(例如隱式地取決於塊寬度、塊高度或塊區域,或顯式地取決於 CU/CB、PU/PB、TU/TB、CTU/CTB、圖塊、片段級別、圖片級別、SPS級別和/或PPS級別的一個或多個標誌。)當減少和重新排序的合併候選列表被使用時,用於發送的熵編解碼上下文可能不同於使用原始合併候選列表。
在一些實施例中,BCW權重被分成幾組。接下來,每個組的邊界匹配成本被計算。然後,一個有希望的組被隱式地選擇作為具有最高優先順序的組。如果一個以上的BCW權重被包括在有希望的組中,則減少的BCW權重索引被發送/解析以指示來自有希望的組的BCW權重。由於每組中BCW權重的數量小於原始BCW權重集合中BCW權重的數量,因此減少後的BCW權重索引可能比原始BCW權重索引佔用更少的碼字。
在一些實施例中,如果k組被使用以及原始BCW權重集中的BCW權重的數量為N,則每組中的BCW權重的數量為“N/k”,以及分組規則取決於BCW權重索引和/或BCW權重值。例如,“BCW權重索引%k”值相同的BCW權重屬於同一組。又如,“BCW權重索引/k”值相同的BCW權重屬於同一組。又例如,具有相似值的BCW權重在同一組中(例如,具有負值的BCW權重在一組和/或具有正值的BCW權重在另一組中)。在一些實施例中,k(組中候選的數量)隨塊寬度、塊高度和/或塊面積而變化。
在一些實施例中,當一組包含多於一個BCW權重時,該組的成本是來自該組中所有BCW權重的成本的平均成本。在一些實施例中,當一個組包含一個以上的BCW權重時,該組的成本是來自該組中所有BCW權重的成本的平均、最大或最小成本。在一些實施例中,BCW權重被劃分成幾個子集,以及子集的選擇被顯式地發送給解碼器。並且子集的選擇藉由使用邊界匹配成本來進行。
在一些實施例中,BCW權重被劃分成多個子集。在一些實施例中,具有相似值的BCW權重被劃分成不同的子集,使得同一子集的BCW權重彼此具有較大的差值。例如,在一些實施例中,具有負值的權重可以被劃分到不同的組中。又例如,在一些實施例中,權重差大於預定閾值的權重被劃分到同一組中。預定閾值可以是固定的或顯式地決定。這可能有助於提高邊界匹配的命中率。
、線性模型作為候選模式
交叉分量線性模型(Cross Component Linear Model,簡稱CCLM)或線性模型(Linear Model,簡稱LM)模式是一種交叉分量預測模式,其中塊的色度分量藉由線性模型從同位的重構亮度樣本中預測。線性模型的參數(例如,比例和偏移)源自與塊相鄰的已經重構的亮度和色度樣本。例如,在VVC中,CCLM 模式利用通道間依賴性從重構的亮度樣本中預測色度樣本。該預測是使用以下形式的線性模型進行的:
表示一個CU中的預測色度樣本(或當前CU的預測色度樣本),以及 表示同一CU的下採樣重構亮度樣本(或當前CU的相應重構亮度樣本)。
CCLM模型參數 (縮放參數)和 (偏移參數)基於最多四個相鄰色度樣本及其對應的下採樣亮度樣本導出。在LM_A模式(也表示為LM-T模式或 INTRA_T_CCLM)中,僅上方(又稱頂部)相鄰範本被用來計算線性模型係數。在LM_L模式(也表示為LM-L模式或INTRA_L_CCLM)中,僅左側範本被用來計算線性模型係數。在LM-LA模式(也表示為LM-LT模式或INTRA_LT_CCLM)中,左側和上方範本均用於計算線性模型係數。所提出的方法可以應用於任一交叉分量模式,而不限於應用於LM模式。例如,交叉分量模式使用第一顏色分量(例如Y)的資訊來預測第二/第三顏色分量(例如Cb/Cr)。
在一些實施例中,所提出的候選模式減少/重新排序方案用於重新排序LM候選以改進特定語法的信令,例如cclm_mode_idx。下面是VVC標準中LM的語法表。
                  if( cclm_mode_flag )
                     cclm_mode_idx ae(v)
語法元素 cclm_mode_idx指定應用LM候選模式(例如,INTRA_LT_CCLM、INTRA_L_CCLM 和 INTRA_T_CCLM)中的哪一個。例如,對不同的LM候選模式計算邊界匹配成本。在根據邊界匹配成本對不同的LM候選模式進行重新排序之後,cclm_mode_idx可以用於基於重新排序來選擇候選LM候選模式。在一些實施例中,cclm_mode_idx等於0是指具有最小成本的LM候選模式,而cclm_mode_idx等於2是指具有最大成本的LM候選模式。在一些實施例中,cclm_mode_idx是隱式的以及具有最小成本的LM候選模式被使用。
在一些實施例中,只有前k個LM候選模式(由於成本而具有更高的優先順序)可以是候選LM模式(LM候選模式的原始數量為3)。在一些實施例中,k=2以及LM候選模式的發送如下:cclm_mode_idx 0指使用碼字0具有最小成本的候選LM模式;cclm_mode_idx 1 指使用碼字1具有第二小成本的候選LM模式。
在一些實施例中,根據成本重新排序後,當k=2時,cclm_mode_idx等於0表示成本最大的LM候選模式,cclm_mode_idx等於1表示成本最小的LM候選模式。在一些實施例中,cclm_mode_idx是隱式的以及具有最大成本的LM候選模式被使用。在這些實施例的一些中,cclm_mode_idx 0指使用碼字0的具有最大成本的候選LM模式;cclm_mode_idx 1指使用碼字1具有第二大成本的候選LM模式。
除了將減少/重新排序的候選模式列表應用於傳統的CCLM模式(其中從亮度分量預測色度分量(Cr或Cb))之外,減少/重新排序的候選模式列表還可以在CCLM的其他變體中使用。這裡CCLM的變體意味著當塊指示(block indication)指的是使用當前塊的交叉分量模式之一(例如CCLM_LT、MMLM_LT、CCLM_L、CCLM_T、MMLM_L、MMLM_T和/或幀內預測模式,不是傳統DC、平面和角度模式之一)時,一些可選模式可被選擇。
以下是將卷積交叉分量模式(convolutional cross-component mode,簡稱CCCM)作為可選模式的示例。當此可選模式應用於當前塊時,使用模型(包括非線性項)的交叉分量資訊被用來生成色度預測。可選模式可以遵循CCLM的範本選擇,因此CCCM系列包括CCCM_LT CCCM_L和/或CCCM_T。
在一些實施例中,預定候選的成本可以被減少。預定候選可以指代從一個或多個相鄰塊和/或諸如CCLM_LT、MMLM_LT、CCCM_LT的流行或普通模式推斷的候選。在一些實施例中,候選模式(僅)包括相關流行模式和流行模式。在一個示例中,相關的流行模式是CCCM_L和/或CCCM_T,以及流行模式是CCCM_LT。例如,相關的流行模式是CCLM_L和/或CCLM_T,以及流行模式是 CCLM_LT。在另一示例中,相關的流行模式是MMLM_L和/或MMLM_T,以及流行模式是MMLM_LT。在另一個示例中,流行模式指示所使用的參考是來自L、T還是LT。如果使用的參考來自LT,則相關的流行模式是LT的所有變體或變體的子集,例如CCLM_LT、MMLM_LT和CCCM_LT。
在一些實施例中,候選模式對應於線性模型,該線性模型藉由使用Cb和Cr的相鄰重構樣本作為輸入X和Y來導出(即,使用重構的Cb樣本來導出或預測Cr樣本,反之亦然)。在一些實施例中,候選模式對應於從多個同位亮度塊導出的線性模型,用於預測或導出色度分量。在一些實施例中,減小/重新排序的候選列表中的候選模式可以對應於多模型線性模型(multi-model linear model,簡稱MMLM)模式,使得不同的線性模型可以從多個線性模型中選擇來預測不同區域或不同像素組的色度分量。與CCLM類似,MMLM可以具有MMLM_LT、MMLM_L和/或MMLM_T。
減少/重新排序的候選模式列表中的LM候選模式還可以包括任一LM擴展/變體,使得列表中的候選模式的數量也可以增加。隨著LM候選模式數量的增加,使用基於邊界匹配成本的減少/重新排序的候選模式列表的編碼性能改進變得更加顯著。
Ⅵ. MHP 作為候選模式
對於應用了多假設預測(multi-hypothesis prediction,簡稱MHP)的塊,一個或多個預測假設(預測訊號)與現有的預測假設相結合,以形成當前塊的最終(結果)預測。MHP可以應用於許多幀間模式,例如合併、子塊合併、幀間AMVP和/或仿射。最終預測可以用預測訊號的每個額外假設反覆運算地累加。累加示例如下所示:
得到的預測訊號作為最後一個 (即, 具有最大的索引 )。P 0是當前塊的第一(現有)預測。例如,如果MHP應用於合併候選,則p 0由現有合併索引指示。額外預測表示為h,以及將藉由權重α與先前累積的預測進一步組合。因此,對於預測的每個額外假設,加權索引被發送/解析以指示加權,和/或對於預測的每個假設,幀間索引被發送/解析以指示運動候選(用於為此生成預測樣本 假設)。
需要提出的重新排序方案,以使MHP權重的發送和/或運動候選的發送更有效。在一些實施例中,對每個額外預測假設計算每個MHP候選權重的邊界匹配成本。例如,假定預測假設有兩個候選權重: 步驟0:對於預測的額外假設,cost_w0和cost_w1分別計算為第一和第二候選權重的成本; 步驟1:對於該預測假設,候選權重根據成本進行重新排序。
在一些子實施例中,具有較小成本的候選權重獲得較高的優先順序。如果cost_w0 > cost_w1,權重索引0指代w1,權重索引1指代w0。否則,重新排序不被使用,權重索引0和1指的是原始的w0和w1。在一些實施例中,具有較大成本的候選權重獲得較高的優先順序。如果cost_w0 < cost_w1,權重索引0指代w1,權重索引1指代w0。否則,重新排序不被使用,權重索引0和1指的是原始的w0和w1。
在一些實施例中,具有最小成本的候選權重用於當前額外預測假設。 在這種情況下推斷當前額外預測假設的權重索引。在一些實施例中,每個假設或假設的任一子集的權重根據成本隱式設置。一種可能的方式是,權重是成本的縮放值或成本的縮放值的倒數。(例如,如果成本=2,則成本的倒數=1/2。)在一些子實施例中,具有最大成本的候選權重被用於當前額外預測假設。在這種情況下推斷當前額外預測假設的權重索引。
可以對每個額外的預測假設重複步驟0和1,以及得到每個額外的預測假設的每個權重索引的含義。在一些實施例中,假定預測假設有t個候選權重(t可以是任一正整數。在以下示例中取t = 5。) 步驟0:對於預測的額外假設,分別計算每個候選權重的成本。 步驟 1:對於該預測假設,候選權重根據成本重新排序。
例如,具有較小成本的候選權重獲得較高的優先順序。又例如,具有較大成本的候選權重獲得較高的優先順序。只有前k個候選權重(優先順序高的)才能作為候選權重。候選模式集僅包括前k個候選權重。在一些實施例中,候選模式集合中的候選權重的數量為k(例如,2)以及每個候選權重的發送如下:weight_idx 0指具有最高優先順序且碼字0的候選;weight_idx 1指代具有第二高優先順序且碼字1的候選。可以對每個額外的預測假設重複步驟0和1,以及對每個額外的預測假設獲得每個權重索引的含義。
在一些實施例中,MHP權重被分成幾組。接下來,每個組的邊界匹配成本被計算。然後,有希望的組被隱式地確定為具有最高優先順序的組。如果一個以上的MHP權重被包括在有希望的組中,則減少的MHP權重索引被發送/解析以指示來自有希望的組的MHP權重。由於每組中的MHP權重數小於原始MHP權重集中的MHP權重數,因此減少的MHP權重索引應比原始MHP權重索引佔用更少的碼字。
在一些實施例中,如果k組被使用以及原始MHP權重集中的MHP權重數為N,則每組中的MHP權重數為“N/k”以及分組規則取決於MHP權重索引和/或MHP權重值。例如,具有相同的“MHP權重索引%k”值的MHP權重屬於同一組。又如,具有相同的“MHP權重索引/k”的MHP權重屬於同一組。又例如,具有相似值的MHP權重在同一組中(例如,具有負值的MHP權重在一組和/或具有正值的MHP權重在另一組中)又例如,k隨塊寬度、塊高度和/或塊面積而變化。在一些實施例中,當一個組包含一個以上的合併候選時,該組的成本是來自該組中所有合併候選的成本的平均成本。在一些實施例中,當組包含一個以上的合併候選,該組的成本是該組中所有合併候選的成本的平均、最大或最小成本。
在一些實施例中,MHP權重被劃分成幾個子集,以及子集選擇被顯式地用發送給解碼器。以及子集中的選擇藉由使用邊界匹配成本來進行。在一些實施例中,彼此具有較大不同值的權重將被劃分在同一子集中。也就是說,具有相似值的權重將被劃分到不同的子集中。這可能有助於提高邊界匹配的命中率。例如,具有負值的權重被劃分到不同的組中。又例如,那些權重差大於預定閾值的權重被劃分到同一組中。預定閾值可以是固定的或被顯式地決定。
在一些實施例中,對於每個假設,候選權重的當前預測(用於計算邊界匹配成本)是組合預測(來自運動候選的預測和先前累積的預測的加權平均值)。(運動候選由發送/解析的運動索引指示。)一個示例在下圖顯示。當應用建議的方法對h2的候選權重的發送重新排序時,h2有4個候選權重(包括候選0到 3)。候選n的成本由先前累積預測和h2預測的加權平均進行計算(權重來自候選n)。
當對h1的候選權重的發送應用重新排序時,有4個候選權重(包括候選0到3):對於h1,候選0的當前預測= p0預測和h1的預測的加權平均,權重來自候選0;候選1的當前預測= p0預測和h1的預測的加權平均,權重來自候選1。
在一些實施例中,對每個MHP運動候選計算邊界匹配成本。下面的子實施例以MHP為合併方式為例。(MHP可以應用於其他幀間模式,例如幀間AMVP和/或仿射,以及當幀間AMVP或仿射被使用時,以下示例中的“合併”替換為該幀間模式的命名。)在一些實施例中,每個運動候選的邊界匹配成本被計算。例如,候選模式包括候選0到4。最初,索引0(較短的碼字)指的候選0,索引4(較長的碼字)指的是候選4。使用所提出的方法,索引的含義遵循優先順序。如果優先順序(基於邊界匹配成本)指定候選4具有最高優先順序,索引0映射到候選4。
在一些實施例中,計算每個運動候選的邊界匹配成本。例如,候選模式包括候選0到4。最初,索引0(較短的碼字)指的是候選0,索引4(較長的碼字)指的是候選4。使用所提出的方法,索引的含義遵循優先順序。如果優先順序順序(基於邊界匹配成本)指定候選4具有最高優先順序,該索引未被發送/解析,以及所選擇的運動候選被推斷為具有最高優先順序的運動候選。
在一些實施例中,對於每個假設,運動候選的當前預測(用於計算邊界匹配成本)是由該運動候選產生的運動補償結果。
結合上述兩個子實施例的示例如下所示。例如,如果額外假設的數量等於2,則使用具有較高優先順序的前三個運動候選來形成當前MHP塊的結果預測。又例如,如果額外假設的個數等於2,則現有假設被保留,優先順序較高的兩個運動候選被用來形成額外假設的預測,得到的預測由現有假設和額外假設形成。
在一些實施例中,運動候選的當前預測(用於計算邊界匹配成本)是組合預測(來自運動候選的預測和現有預測(p0)的加權平均)。(權重由發送/解析的權重索引指示。)
在一些實施例中,對於每個假設,運動候選的當前預測(用於計算邊界匹配成本)是組合預測(來自運動候選的預測和先前累積的預測的加權平均)。(權重由發送/解析的權重索引指示。)示例如下圖所示。當應用提出的方法對h2的運動候選的發送重新排序時,h2有4個運動候選(包括候選0到3)。候選n的成本計算為p0的預測、h1的預測和候選n的預測的加權平均。換句話說,對於h2:候選0的當前預測=h1預測和來自候選0的預測的加權平均;候選1的當前預測=h1預測和來自候選1的預測的加權平均。
當應用建議的方法對h1的運動候選的發送重新排序時,h1有4個運動候選(包括候選0到3):候選0的當前預測=p0預測和來自候選0的預測的加權平均;候選1的當前預測=p0預測和來自候選1的預測的加權平均。
在一些實施例中,對每個預測假設的每個MHP組合(運動候選和權重)計算邊界匹配成本。下面的子實施例以MHP為合併方式為例。(MHP可以應用於其他幀間模式,例如幀間AMVP和/或仿射,以及當使用幀間AMVP或仿射時,以下示例中的“合併”將替換為該幀間模式的命名。)
在一些實施例中,一個組合是指運動候選和權重。如果有m個運動候選以及每個運動候選有n個權重,則組合數為m*n。在一些子實施例中,組合的當前預測(用於計算邊界匹配成本)是組合預測(來自運動候選的預測和現有預測(p0)的加權平均)。 使用該方法,合併索引和表示預測額外假設的權重被聯合決定。例如,具有最高優先順序的組合是選擇的MHP組合。(無需發送/解析合併索引和權重以指示預測的額外假設)。又例如,聯合索引被發送/解析以決定MHP組合。本實施例可以固定額外假設的數量。
在一些實施例中,每個MHP運動候選的邊界匹配成本被計算。以合併模式的MHP為例。合併索引(用於指示每個假設的運動候選)可以被推斷。例如,根據合併候選列表中合併候選的順序,假設0為合併候選0,假設1為合併候選1等。又例如,根據成本,成本較小的合併候選首先被使用。再例如,取決於合併候選的預定數量。如果假設的數量為4,則使用合併候選列表中的4個合併候選被用作每個假設的運動候選。前4個合併候選被使用,以及來自合併候選列表中的任意4個合併候選被使用。權重(用於組合預測假設)是隱式的,具體取決於成本。MHP結果預測按如下形成。 (weight0)*(hypothesis0) + (weight1)*(hypothesis1) + (weight2)*(hypothesis2)+…
在一些實施例中,固定數量的預測假設被使用。也就是說,混合固定數量的假設以及隱式地使用匹配成本作為權重。在一些實施例中,具有較高優先順序的運動候選(或者可以說是假設)的權重大於具有較低優先順序的運動候選的權重。在一些實施例中,運動候選的當前預測(用於計算邊界匹配成本)是由該運動候選生成的運動補償結果。在一些實施例中,合併候選列表中的前n個運動候選用於生成預測假設。使用這種提議的方法,不會對MHP發送合併索引。在一些實施例中,合併候選列表中的所有運動候選都用於生成預測假設。(權重可以決定一個運動候選是否被完全使用。如果它的權重為零,則這個運動候選實際上沒有被使用。)使用這種提議的方法,不會對MHP發送合併索引。在一些實施例中,具有較高優先順序的運動候選的權重大於具有較低優先順序的運動候選的權重。例如,權重遵循不同運動候選的成本比率。如果有兩個運動候選以及 cost_cand0 = 2* cost_cand1,weight_cand0 = 2 * weight_cand1或weight_cand0 = 1/2* weight_cand1。
又例如,每個運動候選的成本首先被歸一化到區間[MIN_VALUE,MAX_VALUE]。MAX_VALUE是預定的,例如預測假設的數量。MIN_VALUE是預定的,例如0。例如,(MAX_VALUE-歸一化成本)可以是運動候選的權重或者歸一化成本可以是運動候選的權重。
又例如,權重是成本的縮放值或成本倒數的縮放值。(例如,如果成本= 2,則成本的倒數= ½。)縮放值表示縮放因數*原始值。如果比例因數=1,則縮放。
在一些實施例中,權重和合併索引對於所提議的方法是隱式的。該方法的當然預測的產生可以參考本發明中提議的任一其他方法。在一些實施例中,所提議的方案應用於所有額外預測假設的子集。(即,對所有額外預測假設的子集重複上述步驟0和1。)例如,只有第一個額外預測假設(與現有預測假設相結合)的候選權重使用提議的方案進行重新排序。在一些實施例中,該子集在視訊編解碼標準中預定。在實施例中,子集取決於當前塊寬度、高度或面積。例如,對於塊面積大於(或小於)閾值的塊,該子集包括更多的預測假設。
在一些實施例中,來自子集的重新排序結果可以被重新用於剩餘的額外預測假設。例如,基於第一個預測假設的重排序結果,權重索引0和1分別指代w1和w0。對於以下預測假設,權重索引0和1也分別指代w1和w0。
在一些實施例中,所提議的方案被應用於所有候選權重的子集以用於額外預測假設。也就是說,對所有候選權重的子集重複上述步驟0和1,以用於額外預測假設。以候選權重數(對於額外預測假設)等於4為例。對於額外預測假設,僅最前(或最後)兩個候選權重使用提議的方案進行重新排序。在一些實施例中,該子集在視訊編解碼標準中預定。在一些實施例中,子集取決於當前塊寬度、高度或面積。例如,對於塊面積大於(或小於)閾值的塊,該子集包括更多的候選權重。
在一些實施例中,預測假設可以是來自單向預測或雙向預測運動補償結果的預測訊號。提議的不同工具(不限於以下示例中的那些工具)的重新排序方案可以統一。例如,用於MHP、LM、BCW、MMVD和/或合併候選的提議的重新排序方案被統一,具有相同的計算邊界匹配成本的規則。
根據隱式規則(例如塊寬度、高度或面積)或根據顯式規則(例如,基於塊、圖塊、片段、圖片、SPS或PPS級),本發明中提出的方法可以被啟用和/或禁用。例如,當塊區域小於閾值時,提議的重新排序被應用。本發明中提出的方法的任一組合可以被應用。
任一前述提出的方法都可以在編碼器和/或解碼器中實現。例如,任一提出的方法都可以在編碼器的幀內/幀間編解碼模組、解碼器的運動補償模組、合併候選導出模組中實現。或者,所提出的方法中的任何一個都可以實現為耦合到編碼器的幀內/幀間編碼模組和/或解碼器的運動補償模組、合併候選導出模組的電路。
、示例視訊編碼器
第6圖示出可實施基於邊界匹配成本的候選編解碼模式選擇的實例視訊編碼器600。如圖所示,視訊編碼器600從視訊源605接收輸入視訊訊號以及將該訊號編碼成位元流695。視訊編碼器600具有用於對來自視訊源605的訊號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組610、量化模組611、逆量化模組614、逆變換模組615、幀內估計模組620、幀內預測模組625、運動補償模組630、運動估計模組635、環路濾波器645、重構圖片緩衝器650、MV緩衝器665、MV預測模組675和熵編碼器690。運動補償模組630和運動估計模組635是幀間預測模組640的一部分。
在一些實施例中,模組610-690是由計算設備或電子設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組610-690是由電子裝置的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。儘管模組610-690被示為單獨的模組,但是一些模組可以組合成單個模組。
視訊源605提供未壓縮的原始視訊訊號,其呈現每個視訊幀的像素資料。減法器608計算視訊源605的原始視訊像素資料與來自運動補償模組630或幀內預測模組625的預測像素資料613之間的差值。變換模組610將差值(或殘差像素資料或殘差訊號608)轉換成變換係數(例如,藉由執行離散余弦變換,或Discrete Cosine Transform,簡稱DCT)。量化模組611將變換係數量化為量化資料(或量化係數)612,其由熵編碼器690編碼為位元流695。
逆量化模組614對量化資料(或量化係數)612進行逆量化得到變換係數,逆變換模組615對變換係數進行逆變換產生重構殘差619。重構殘差619與預測的像素資料613相加以產生重構像素資料617。在一些實施例中,重構像素資料617被臨時存儲在行緩衝器(未示出)中用於圖片內預測和空間MV預測。重構像素由環路濾波器645濾波以及存儲在重構圖片緩衝器650中。在一些實施例中,重構圖片緩衝器650是視訊編碼器600外部的記憶體。在一些實施例中,重構圖片緩衝器650是視訊編碼器600內部的記憶體。
幀内估計模組620基於重構像素資料617執行幀內預測以產生幀内預測資料。幀內預測資料被提供給熵編碼器690以被編碼成位元流695。幀內預測資料也被幀內預測模組625用來產生預測像素資料613。
運動估計模組635藉由產生MV以參考存儲在重構圖片緩衝器650中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供給運動補償模組630以產生預測像素資料。
視訊編碼器600不是在位元流中編碼完整的實際MV,而是使用MV預測來生成預測MV,以及用於運動補償的MV與預測MV之間的差值被編碼為殘差運動資料並存儲在位元流695中。
基於為編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,MV預測模組675生成預測MV。MV預測模組675從MV緩衝器665中獲取來自先前視訊幀的參考MV。視訊編碼器600將對當前視訊幀生成的MV存儲在MV緩衝器665中作為用於生成預測MV的參考MV。
MV預測模塊675使用參考MV來創建預測MV。預測的MV可以藉由空間MV預測或時間MV預測來計算。熵編碼器690將預測MV與當前幀的運動補償MV(MC MV)之間的差值(殘差運動數據)編碼到位元流695中。
熵編碼器690藉由使用諸如上下文自適應二進制算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和數據編碼到位元流695中。熵編碼器690將各種報頭元素、標誌連同量化變換係數612和殘差運動數據作為語法元素編碼到位元流695中。位元流695又存儲在存儲設備中或藉由通訊媒介(譬如網絡)傳輸到解碼器。
環內濾波器645對重構的像素資料617執行濾波或平滑操作以減少編解碼的偽像,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第7圖示出基於邊界匹配成本實現候選編解碼模式選擇的視訊編碼器600的部分。具體地,該圖示出視訊編碼器600的幀間預測模塊640的組件,其計算不同候選編解碼模式的所有或任一子集的邊界匹配成本,以及基於組分配和計算的成本來選擇候選編解碼模式。
幀間預測模塊640包括各種邊界預測模塊710。這些邊界預測模塊710對各種候選編解碼模式沿著當前塊的邊界生成當前塊的預測樣本715。邊界匹配成本計算器730將每個候選編解碼模式的邊界預測子樣本715與當前塊的相鄰樣本725(從重構圖片緩衝器650中獲取)進行比較,以計算每個候選編解碼模式或候選編解碼模式的任一子集的邊界匹配成本。上面的Ⅰ部分描述了根據相鄰樣本和邊界預測樣本計算邊界匹配成本。
組分配和選擇模塊740將不同的候選編解碼模式分配到不同的組中並選擇其中一個組。候選選擇模塊750然後從所選擇的組中選擇一種候選編解碼模式。幀間預測模塊640然後使用所選擇的候選編解碼模式來執行運動補償。在一些實施例中,組分配模塊740分配一定數量的具有最低邊界匹配成本的候選編解碼模式以形成一個最低成本組,以及候選選擇模塊750從該最低成本組中選擇候選編解碼模式。在一些實施例中,組分配模塊740分配一定數量的候選編解碼模式以形成具有預定規則(可以取決於或不取決於成本)的組,以及候選選擇模塊750基於成本從組中選擇候選編解碼模式。例如,選擇的候選編解碼模式為組中優先級最高的候選模式。
在一些實施例中,所選組的標識被發送到熵編碼器690以在位元流695中發送。在一些實施例中,所選組的標識被隱式地確定以及不在位元流中發送。在一些實施例中,組的選擇是基於計算的不同組的邊界匹配成本來確定,例如,組選擇模塊740可以選擇具有最低代表成本的組。
在一些實施例中,所選組內的所選候選編解碼模式的標識被提供給熵編碼器690以在位元流695中發送。在一些實施例中,根據計算的邊界匹配成本,組內的候選編解碼模式被重新排序,使得最低成本(或最高成本)的候選將使用最短的碼字發送。在一些實施例中,所選擇的候選編解碼模式的標識將被隱式地確定以及不在位元流中發送,例如,藉由選擇組內具有最低邊界匹配成本的候選編解碼模式。在上面的部分II-VI中描述了一組候選編解碼模式的選擇以及從該組中選擇一個候選編解碼模式。
邊界預測模組710包括用於各種不同候選編解碼模式的模組。這些候選編解碼模式可以使用存儲在重構緩衝器650中的亮度和色度樣本、來自MV緩衝器665的運動資訊和/或來自視訊源605的傳入亮度和色度樣本來生成邊界預測樣本715(例如,藉由導出合併候選,導出MMVD候選,使用運動資訊獲取參考樣本,生成線性模型等)在一些實施例中,各種候選編解碼模式包括對應於當前塊的各種合併候選的那些候選編解碼模式。作為候選編解碼模式的各種類型的合併候選(例如,空間、時間、仿射、CIIP等)在上面的部分II中進行了描述。作為候選編解碼模式的不同的MMVD距離和方向在上面的部分III中描述。作為候選編解碼模式的不同的BCW權重在上面的部分Ⅳ中描述。作為候選編解碼模式的各種類型的線性模型(例如,LM-L、LM-T、LM-LT)在上面的部分Ⅴ中描述。
第8圖概念性地示出用於使用邊界匹配成本來選擇候選編解碼模式以對當前塊進行編碼的處理800。在一些實施例中,實現編碼器600的計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來執行處理800。在一些實施例中,實現編碼器600的電子設備執行處理800。
編碼器接收(在塊810處)像素塊的資料,該像素塊的資料將被編碼的視訊的當前圖片中的當前塊。編碼器識別(在塊820處)適用於當前塊的多個候選編解碼模式。在一些實施例中,多個候選編解碼模式包括當前塊的合併候選。當前塊的合併候選可以包括(i)使用CIIP的合併候選和/或(ii)使用仿射變換運動補償預測的合併候選。在一些實施例中,多個候選編解碼模式包括對應於用於細化運動資訊的距離和偏移的不同MMVD組合的候選編解碼模式。在一些實施例中,多個候選編解碼模式包括對應於用於基於當前塊的亮度樣本導出當前塊的色度樣本的預測子的不同線性模型的候選編解碼模式。在一些實施例中,多個候選編解碼模式包括對應於用於組合不同方向的幀間預測的不同候選BCW權重的候選編解碼模式。
編碼器識別(在塊830)作為多個候選編解碼模式的子集的第一候選編解碼模式組,使得第一候選編解碼模式組中編解碼模式的數量少於多個候選編解碼模式中的候選編解碼模式的數量。
在一些實施例中,第一候選編解碼模式組基於多個候選編解碼模式的成本識別的最高優先順序候選編解碼模式。編碼器可以根據候選編解碼模式的優先順序對候選編解碼模式進行索引或者將碼字分配給所識別的候選編解碼模式組中的候選編解碼模式。在一些實施例中,候選編解碼模式的成本是藉由比較(i)與當前塊相鄰的重構樣本與(ii)根據候選編解碼模式生成的當前塊沿當前塊邊界的預測樣本來計算的邊界匹配成本。上面的部分Ⅰ描述根據相鄰樣本和邊界預測樣本計算邊界匹配成本。
在一些實施例中,多個候選編解碼模式中的每一個被分配給多個候選編解碼模式組中的一個。例如,在一些實施例中,多個候選編解碼模式中的每個候選編解碼模式與原始候選索引相關聯,其中每個候選編解碼模式基於原始索引模K的結果或原始索引除以K的結果被分配給K組候選編解碼模式中的一組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給同一個候選編解碼模式組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給不同的候選編解碼模式組。在一些實施例中,具有運動差小於閾值的合併候選的候選編解碼模式被分配給同一組。在一些實施例中,具有運動差大於閾值的合併候選的候選編解碼模式被分配給同一組。在一些實施例中,編碼器識別在多組候選編解碼模式中具有最低代表成本的一個候選編解碼模式組,並且發送索引,該索引用於從所識別的候選編解碼模式組中選擇一個候選編解碼模式。所識別組的代表成本可以是所識別組的候選編解碼模式的成本(例如,邊界匹配成本)的平均值、最大值或最小值。在一些實施例中,編碼器發送用於選擇一個候選編解碼模式組的索引,以及基於所選擇的候選編解碼模式組的成本(例如,邊界匹配成本)從所選擇的候選編解碼模式組中識別候選編解碼模式。在上面的部分II-VI中描述一組候選編解碼模式的選擇以及從該組中選擇一個候選編解碼模式。
編碼器選擇(在塊840)第一候選編解碼模式組中的候選編解碼模式。第一候選編解碼模式組中選擇的候選編解碼模式可以基於成本來選擇。
編碼器使用選擇的候選編解碼模式對當前塊進行編碼(在塊850)。具體地,編碼器根據選擇的候選編解碼模式構建當前塊的預測子,以及使用預測子對當前塊進行編碼。
. 示例視訊解碼器
在一些實施例中,編碼器可以在位元流中發送(或生成)一個或多個語法元素,使得解碼器可以從位元流中解析所述一個或多個語法元素。
第9圖示出可實施基於邊界匹配成本的候選解碼模式選擇的實例視訊解碼器900。如圖所示,視訊解碼器900是圖像解碼或視訊解碼電路,其接收位元流995以及將位元流的內容解碼成視訊幀的像素資料以供顯示。視訊解碼器900具有用於解碼位元流995的若干組件或模組,包括選自以下的一些組件:逆量化模組911、逆變換模組910、幀內預測模組925、運動補償模組930、環內濾波器945、解碼圖片緩衝器950、MV緩衝器965、MV預測模組975和解析器990。運動補償模組930是幀間預測模組940的一部分。
在一些實施例中,模組910-990是由計算設備的一個或多個處理單元(例如處理器)執行的軟體指令模組。在一些實施例中,模組910-990是由電子裝置的一個或多個IC實現的硬體電路模組。儘管模組910-990被示為單獨的模組,但是一些模組可以組合成單個模組。
解析器990(或熵解碼器)接收位元流995以及根據視訊編解碼或圖像編解碼標準定義的語法執行初始解析。解析的語法元素包括各種報頭元素、標誌以及量化資料(或量化係數)912。解析器990藉由使用諸如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼。
逆量化模組911對量化資料(或量化係數)912進行逆量化得到變換係數,逆變換模組910對變換係數916進行逆變換得到重構殘差訊號919。重構殘差訊號919被添加至來自幀內預測模組925或運動補償模組930的預測像素資料913以一起產生解碼像素資料917。解碼像素資料由環內濾波器945濾波以及存儲在解碼圖片緩衝器950中。在一些實施例中,解碼圖片緩衝器950是視訊解碼器900外部的存儲器。在一些實施例中,解碼圖片緩衝器950是視訊解碼器900內部的存儲器。
幀內預測模組925從位元流995接收幀內預測資料,以及據此從存儲在解碼圖片緩衝器950中的解碼像素資料917產生預測像素資料913。在一些實施例中,解碼像素資料917也被存儲在行緩衝器(未示出)中用於畫面內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器950的內容用於顯示。顯示裝置955獲取解碼圖片緩衝器950的內容以直接顯示,或者獲取解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖片緩衝器950接收像素值。
運動補償模組930根據運動補償MV(MC MV)從存儲在解碼圖片緩衝器950中的解碼像素資料917產生預測像素資料913。藉由將從位元流995接收的殘差運動資料與從MV預測模組975接收的預測MV相加來解碼這些運動補償MV。
MV預測模組975基於為解碼先前視訊幀而生成的參考MV生成預測MV,例如,用於執行運動補償的運動補償MV。MV預測模組975從MV緩衝器965中獲取先前視訊幀的參考MV。視訊解碼器900將為解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器965中作為用於產生預測MV的參考MV。
環內濾波器945對解碼像素資料917執行濾波或平滑操作以減少編解碼偽像,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第10圖示出基於邊界匹配成本實現候選編解碼模式選擇的視訊解碼器900的部分。具體地,該圖示出視訊解碼器900的幀間預測模組940的組件,其計算不同候選編解碼模式的所有或任一子集的邊界匹配成本,以及基於組分配和計算的成本來選擇候選編解碼模式。
幀間預測模組940包括各種邊界預測模組1010。這些邊界預測模組1010生成各種候選編解碼模式沿著當前塊的邊界的當前塊的預測樣本1015。邊界匹配成本計算器1030將每個候選編解碼模式的邊界預測器樣本1015與當前塊的相鄰樣本1025(從重構圖片緩衝器950中獲取)進行比較,以計算每個候選編解碼模式或候選編解碼模式任一子集的邊界匹配成本。上面的部分Ⅰ描述了根據相鄰樣本和邊界預測樣本計算邊界匹配成本。
組分配和選擇模組1040將不同的候選編解碼模式分配到不同的組中以及選擇組中的一個。然後,候選選擇模組1050從所選擇的組中選擇一個候選編解碼模式。然後,幀間預測模組940使用所選擇的候選編解碼模式來執行運動補償。在一些實施例中,組分配模組1040分配一定數量的具有最低邊界匹配成本的候選編解碼模式以形成一個最低成本組,以及候選選擇模組1050從該最低成本組中選擇候選編解碼模式。在一些實施例中,組分配模組1040分配一定數量的候選編解碼模式以形成具有預定規則的組(可以取決於或不取決於成本),以及候選選擇模組1050根據成本從組中選擇候選編解碼模式。例如,選擇的候選編解碼模式為組中優先順序最高的候選模式。
在一些實施例中,熵解碼器990解析位元流995以獲得所選擇組的標識,以及將所選擇組的標識提供給組分配和選擇模組1040。在一些實施例中,所選擇組的標識是隱式確定的,以及未在位元流中發送。在一些實施例中,組的選擇基於計算的不同組的邊界匹配成本來確定,例如,組選擇模組1040可以選擇具有最低代表成本的組。在一些實施例中,熵解碼器990解析位元流995以獲得所選擇組內的所選擇的候選編解碼模式的標識,以及將所選擇的候選編解碼模式的標識提供至候選選擇模組1050。
在一些實施例中,組內的候選編解碼模式根據計算的邊界匹配成本被重新排序,使得最低成本(或最高成本)候選將使用最短碼字來發送。在一些實施例中,所選擇的候選編解碼模式的標識將被隱式地確定以及不在位元流中發送,例如,藉由選擇組內具有最低邊界匹配成本的候選編解碼模式。在上面的部分Ⅱ-Ⅵ中描述了一組候選編解碼模式的選擇以及從該組中選擇一個候選編解碼模式。
邊界預測模組1010包括用於各種不同候選編解碼模式的模組。這些候選編解碼模式可以使用存儲在重構緩衝器950中的亮度和色度樣本以及來自MV緩衝器965的運動資訊來生成邊界預測樣本1015(例如,藉由導出合併候選、導出MMVD候選、使用運動資訊獲取參考樣本、生成線性模型等)在一些實施例中,候選編解碼模式包括對應於當前塊的各種合併候選的那些候選編解碼模式。作為候選編解碼模式的各種類型的合併候選(例如,空間、時間、仿射、CIIP 等)在上面的部分II中進行了描述。作為候選編解碼模式的不同的MMVD距離和方向在上面的部分III中描述。作為候選編解碼模式不同的BCW權重在上面的部分Ⅳ中描述。作為候選編解碼模式的各種類型的線性模型(例如,LM-L、LM-T、LM-LT)在上面的部分Ⅴ中描述。
第11圖概念性地示出使用邊界匹配成本來選擇候選編解碼模式以解碼當前塊的處理1100。在一些實施例中,實現解碼器900的計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來執行處理1100。在一些實施例中,實現解碼器900的電子設備執行處理1100。
解碼器接收(在塊1110)像素塊的資料,該像素塊的資料將被解碼為視訊的當前圖片中的當前塊。解碼器識別(在框1120)適用於當前塊的多個候選編解碼模式。在一些實施例中,多個候選編解碼模式包括當前塊的合併候選。當前塊的合併候選可以包括(i)使用組合的幀間和幀內預測(CIIP)的合併候選和/或(ii)使用仿射變換運動補償預測的合併候選。在一些實施例中,多個候選編解碼模式包括對應於用於細化運動資訊的距離和偏移的不同MMVD組合的候選編解碼模式。在一些實施例中,多個候選編解碼模式包括對應於用於基於當前塊的亮度樣本導出當前塊的色度樣本的預測子的不同線性模型(linear model,簡稱LM)的候選編解碼模式。在一些實施例中,多個候選編解碼模式包括對應於用於組合不同方向的幀間預測的不同候選BCW權重的候選編解碼模式。
解碼器識別(在塊1130)作為多個候選編解碼模式的子集的第一候選編解碼模式組。第一候選編解碼模式組中的候選編解碼模式的數量少於多個候選編解碼模式中的候選編解碼模式的數量。(即,第一候選編解碼模式組是多個候選編解碼模式的子集。)
在一些實施例中,第一候選編解碼模式組基於多個候選編解碼模式的成本識別的最高優先順序候選編解碼模式。解碼器可以根據候選編解碼模式的優先順序對識別的候選編解碼模式組中的候選編解碼模式進行索引或分配碼字給候選編解碼模式。在一些實施例中,候選編解碼模式的成本是藉由比較(i)與當前塊相鄰的重構樣本與(ii)根據候選編解碼模式生成的當前塊沿當前塊邊界的預測樣本來計算的邊界匹配成本。上面的部分Ⅰ描述根據相鄰樣本和邊界預測樣本計算邊界匹配成本。
在一些實施例中,多個候選編解碼模式中的每一個被分配給多個候選編解碼模式組中的一個。例如,在一些實施例中,多個候選編解碼模式中的每個候選編解碼模式與原始候選索引相關聯,其中每個候選編解碼模式基於原始索引模K的結果或原始索引除以K的結果被分配給K組候選編解碼模式中的一組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給同一個候選編解碼模式組。在一些實施例中,對應於空間合併候選的候選編解碼模式被分配給不同的候選編解碼模式組。在一些實施例中,具有運動差小於閾值的合併候選的候選編解碼模式被分配給同一組。在一些實施例中,具有運動差大於閾值的合併候選的候選編解碼模式被分配給同一組。在一些實施例中,解碼器識別在多組候選編解碼模式中具有最低代表成本的一個候選編解碼模式組,並且發送索引,該索引用於從所識別的候選編解碼模式組中選擇一個候選編解碼模式。所識別組的代表成本可以是所識別組的候選編解碼模式的成本(例如,邊界匹配成本)的平均值、最大值或最小值。在一些實施例中,解碼器發送用於選擇一個候選編解碼模式組的索引,以及基於所選擇的候選編解碼模式組的成本(例如,邊界匹配成本)從所選擇的候選編解碼模式組中識別候選編解碼模式。在上面的部分II-VI中描述一組候選編解碼模式的選擇以及從該組中選擇一個候選編解碼模式。
解碼器選擇(在塊1140)第一候選編解碼模式組中的候選編解碼模式。第一候選編解碼模式組中選擇的候選編解碼模式可以基於成本來選擇。
解碼器使用選擇的候選編解碼模式來解碼(在塊1150)當前塊以重構當前塊。具體地,解碼器根據選擇的候選編解碼模式構建當前塊的預測子,以及使用預測子來重構當前塊。然後,解碼器可以提供重構的當前塊以作為重構的當前圖片的一部分進行顯示。
. 示例電子系統
許多上述特徵和應用被實現為軟體處理,這些軟體處理被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器,處理器內核或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟驅動器(compact disc read-only memory,簡稱CD-ROM),快閃記憶體驅動器,隨機存取記憶體(random-access memroy,簡稱RAM)晶片,硬碟驅動器,可擦除可程式設計唯讀記憶體(erasable programmble read-only memory,簡稱EPROM),電可擦除可程式設計唯讀記憶體 (electrically erasable proagrammble read-only memory,簡稱EEPROM)等。電腦可讀介質不包括藉由無線或有線連接傳遞的載波和電子訊號。
在本說明書中,術語“軟體”意在包括駐留在唯讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以實現為更大程式的子部分,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以實現為單獨的程式。最後,共同實現此處描述的軟體發明的單獨程式的任一組合都在本公開的範圍內。在一些實施例中,軟體程式,在被安裝以在一個或多個電子系統上運行時,定義一個或多個特定機器實施方式,該實施方式處理和執行軟體程式的操作。
第12圖概念性地示出了實現本公開的一些實施例的電子系統1200。電子系統1200可以是電腦(例如,臺式電腦,個人電腦,平板電腦等),電話,PDA或任一其他類型的電子設備。這種電子系統包括各種類型的電腦可讀介質和用於各種其他類型的電腦可讀介質的介面。電子系統1200包括匯流排1205,處理單元1210,圖形處理單元(graphics-processing unit,簡稱GPU)1215,系統記憶體1220,網路1225,唯讀記憶體1230,永久存放設備1235,輸入設備1240,和輸出設備1245。
匯流排1205共同表示與電子系統1200通訊連接的眾多內部設備的所有系統,週邊設備和晶片組匯流排。例如,匯流排1205將處理單元1210與GPU 1215,唯讀記憶體1230,系統記憶體1220和永久存放設備1235通訊地連接。
處理單元1210從這些各種記憶體單元中獲取要執行的指令和要處理的資料,以便執行本公開的處理。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到GPU 1215並由其執行。GPU 1215可以卸載各種計算或補充由處理單元1210提供的影像處理。
唯讀記憶體(read-only-memory,簡稱ROM)1230存儲由處理單元1210和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存放設備1235是讀寫存放設備。該設備是即使在電子系統1200關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量記憶裝置(例如磁片或光碟及其對應的磁碟機)作為永久存放設備1235。
其他實施例使用卸載式存放裝置設備(例如軟碟,快閃記憶體設備等,及其對應的磁碟機)作為永久存放裝置。與永久存放設備1235一樣,系統記憶體1220是讀寫記憶體設備。然而,與永久存放設備1235不同,系統記憶體1220是易失性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體1220存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的處理被存儲在系統記憶體1220,永久存放設備1235和/或唯讀記憶體1230中。例如,根據本公開的一些實施例,各種記憶體單元包括用於根據處理多媒體剪輯的指令。從這些各種記憶體單元中,處理單元1210獲取要執行的指令和要處理的資料,以便執行一些實施例的處理。
匯流排1205還連接到輸入設備1240和輸出設備1245。輸入設備1240使使用者能夠向電子系統傳達資訊和選擇命令。輸入設備1240包括字母數位元元鍵盤和定點設備(也被稱為“遊標控制設備”),照相機(例如,網路攝像頭),麥克風或用於接收語音命令的類似設備等。輸出設備1245顯示由電子系統生成的圖像或者輸出資料。輸出設備1245包括印表機和顯示裝置,例如陰極射線管(cathode ray tubes,簡稱CRT)或液晶顯示器(liquid crystal display,簡稱LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括用作輸入和輸出設備的設備,例如觸控式螢幕。
最後,如第12圖所示,匯流排1205還藉由網路介面卡(未示出)將電子系統1200耦合到網路1225。以這種方式,電腦可以是電腦網路(例如局域網(“LAN”),廣域網路(“WAN”)或內聯網的一部分,或者是多種網路的一個網路,例如互聯網。電子系統1200的任一或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如微處理器,存儲裝置和記憶體,其將電腦程式指令存儲在機器可讀或電腦可讀介質(或者被稱為電腦可讀存儲介質,機器可讀介質或機器可讀存儲介質)中。這種電腦可讀介質的一些示例包括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器件中的軟體。
如在本說明書和本申請的任一申請專利範圍中使用的,術語“電腦”,“伺服器”,“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於本說明書的目的,術語顯示或顯示是指在電子設備上顯示。如在本說明書和本申請的任何申請專利範圍中所使用的,術語“電腦可讀介質”,“電腦可讀介質”和“機器可讀介質”完全限於以電腦可讀形式存儲資訊的有形物理物件。這些術語不包括任何無線訊號,有線下載訊號和任何其他短暫訊號。
儘管已經參考許多具體細節描述了本公開,但是本領域的普通技術人員將認識到,在不脫離本公開的精神的情況下,可以以其他具體形式來實施本公開。此外,多個附圖(包括第8圖和第11圖)概念性地示出處理。這些處理的特定操作可以不會按照所示和描述的確切循序執行。具體操作可以不在一個連續的系列操作中執行,以及可以在不同的實施例中執行不同的具體操作。此外,該處理可以使用多個子處理或作為更大的宏處理的一部分來實現。因此,本領域的普通技術人員將理解本公開不受前述說明性細節的限制,而是由所附申請專利範圍限定。 補充說明
本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視爲“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視爲相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。
此外,關於基本上任何複數和/或單數術語的使用,本領域之通常知識者可以根據上下文和/或應用從複數變換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。
此外,本領域之通常知識者可以理解,通常,本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域之通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍內容,將在申請專利範圍內明確表示,並且,在沒有這類內容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的內容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一個”或“一種”介紹申請專利範圍內容,而限制了任何特定神專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一個”或“一種”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性內容,本領域之通常知識者可以認識到,這樣的內容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A,B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域之通常知識者可以理解該表述,例如,“系統包括A,B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A,B和C的系統等。本領域之通常知識者進一步可理解,無論在説明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,出於説明目的,本發明已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,真實的範圍和申請由申請專利範圍表示。
510:合併候選 522:MMVD候選 524:MMVD候選 600:視訊編碼器 605:視訊源 608:減法器 610:變換模組 611:量化模組 612:量化變換係數 613:像素資料 614:逆量化模組 615:逆變換模組 616:變換係數 617:重構的像素資料 619:重構殘差 620:幀內估計模組 625:幀內預測模組 630:運動補償模組 635:運動估計模組 640:幀間預測模組 645:環路濾波器 650:重構圖片緩衝器 665:MV緩衝器 675:MV預測模組 690:熵編碼器 695:位元流 710:邊界預測模組 715:邊界預測樣本 725:相鄰樣本 730:邊界匹配成本計算器 740:組選擇模塊 750:候選選擇模塊 800:處理 810:步驟 820:步驟 830:步驟 840:步驟 850:步驟 900:視訊解碼器 910:逆變換模組 911:逆量化模組 912:量化資料 913:預測像素資料 916:變換係數 917:解碼像素資料 919:重構殘差訊號 925:幀內預測模組 930:運動補償模組 940:幀間預測模組 945:環路濾波器 950:解碼圖片緩衝器 955:顯示裝置 965:MV緩衝器 975:MV預測模組 990:解析器 895:位元流 1010:邊界預測模組 1015:邊界預測樣本 1020:相鄰獲取 1025:相鄰樣本 1030:邊界匹配成本計算器 1040:組選擇模組 1050:候選選擇模組 1100:處理 1110:步驟 1120:步驟 1130:步驟 1140:步驟 1150:步驟 1200:電子系統 1205:匯流排 1210:處理單元 1215:GPU 1220:系統記憶體 1225:網路 1230:唯讀記憶體 1235:永久存放設備 1240:輸入設備
所包含的附圖是為了提供對本公開的進一步理解,以及併入並構成本公開的一部分。附圖圖示了本公開的實施方式,並且與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製,因為為了清楚地說明本公開的概念,一些組件可能被示出為與實際實施中的尺寸不成比例。 第1圖示出用於邊界匹配的當前塊的重構相鄰樣本和預測樣本。 第2圖示出空間合併候選的位置。 第3圖示出時間合併候選的運動向量縮放。 第4圖示出當前塊的時間合併候選的候選位置。 第5圖從概念上說明具有運動向量差的合併模式(Merge Mode with Motion Vector Difference,簡稱MMVD)候選及其相應的偏移量。 第6圖示出示例視訊編碼器,該視訊編碼器可實施基於邊界匹配成本的候選編解碼模式選擇。 第7圖示出視訊編碼器的部分,該視訊編碼器基於邊界匹配成本實施候選編解碼模式選擇。 第8圖概念性地示出使用邊界匹配成本來選擇候選編解碼模式以對當前塊進行編碼的處理。 第9圖示出示例視訊解碼器,該視訊解碼器可實施基於邊界匹配成本的候選編解碼模式選擇。 第10圖示出視訊解碼器的部分,該視訊解碼器可實施基於邊界匹配成本的候選編解碼模式選擇。 第11圖概念性地示出使用邊界匹配成本來選擇候選編解碼模式以對當前塊進行解碼的處理。 第12圖概念性地示出實現本公開的一些實施例的電子系統。
1100:處理 1110:步驟 1120:步驟 1130:步驟 1140:步驟 1150:步驟

Claims (16)

  1. 一種視訊編解碼方法,包括: 接收一像素塊的資料,該像素塊的資料將被編碼或解碼為一視訊的一當前圖片的一當前塊; 識別適用於該當前塊的多個候選編解碼模式; 識別一第一候選編解碼模式組,該第一候選編解碼模式組為該等候選編解碼模式的一子集,其中該第一候選編解碼模式組的一候選編解碼模式數量少於該等候選編解碼模式的一候選編解碼模式數量; 對該第一候選編解碼模式組的每個候選編解碼模式計算一邊界匹配成本,該邊界匹配成本藉由比較(i)與該當前塊相鄰的多個重構樣本與(ii)該當前塊沿該當前塊邊界的多個預測樣本來計算,其中該等預測樣本根據該第一候選編解碼模式組中的一候選編解碼模式生成; 根據該等邊界匹配成本對所識別的該第一候選編解碼模式組中的多個候選編解碼模式進行索引; 基於該索引隱式地從該第一候選編解碼模式組選擇一候選編解碼候選模式;或者基於分配的多個碼字顯式地從該第一候選編解碼模式組來選擇該候選編解碼候選模式,其中該等碼字根據所述候選編解碼模式的優先順序向所識別的該候選編解碼模式組中的多個候選編解碼模式分配,以及最短碼字對應最小成本的候選;以及 使用選擇的該候選編解碼模式對該當前塊進行編碼或解碼。
  2. 如請求項1所述之視訊編解碼方法,其中,該等候選編解碼模式中的每個候選編解碼模式被分配給多個候選編解碼模式組中的一候選編解碼模式組。
  3. 如請求項2所述之視訊編解碼方法,其中,該等候選編解碼模式中的每個候選編解碼模式與一原始候選索引相關聯,其中每個候選編解碼模式基於一原始索引模K的結果或一原始索引除以K的結果被分配給K個候選編解碼模式組中的一候選編解碼模式組。
  4. 如申請求項2所述之視訊編解碼方法,其中,對應於多個空間合併候選的該等候選編解碼模式被分配給同一候選編解碼模式組。
  5. 如請求項2所述之視訊編解碼方法,其中,對應於多個空間合併候選的該等候選編解碼模式被分配給不同的候選編解碼模式組。
  6. 如請求項2所述之視訊編解碼方法,其中,運動差小於閾值的多個合併候選的該等候選編解碼模式被分配到同一候選編解碼模式組。
  7. 如請求項2所述之視訊編解碼方法,其中,運動差大於閾值的多個合併候選的該等候選編解碼模式被分配到同一候選編解碼模式組。
  8. 如請求項2所述之視訊編解碼方法,其中,還包括: 在該等候選編解碼模式組中識別具有最低代表成本的一候選編解碼模式組;以及 發送或接收一索引,該索引用於從識別的該候選編解碼模式組中選擇一候選編解碼模式。
  9. 如請求項8所述之視訊編解碼方法,其中,所識別的候選編解碼模式組的代表成本是所識別候選編解碼模式組的該等候選編解碼模式的成本的平均值、最大值或最小值。
  10. 如請求項2所述之視訊編解碼方法,其中,還包括: 發送或接收一索引,該索引用於選擇一候選編解碼模式組;以及 基於所選擇的該候選編解碼模式的成本從所選擇的候選編解碼模式組中識別一候選編解碼模式。
  11. 如請求項1所述之視訊編解碼方法,其中,該等候選編解碼模式包括該當前塊的多個合併候選。
  12. 如請求項11所述之視訊編解碼方法,其中,該當前塊的該等合併候選包括: (i) 使用組合幀間和幀內預測的多個合併候選;或者 (ii) 使用仿射變換運動補償預測的多個合併候選。
  13. 如請求項1所述之視訊編解碼方法,該等候選編解碼模式包括對應於多個不同組合的多個候選編解碼模式,該等不同組合用於細化運動資訊的距離和偏移。
  14. 如請求項1所述之視訊編解碼方法,該等候選編解碼模式包括對應於不同候選權重的多個候選編解碼模式,該等不同候選權重用於組合不同方向的幀間預測。
  15. 如請求項1所述之視訊編解碼方法,該等候選編解碼模式包括對應於多個不同模型的多個候選編解碼模式,該等不同模型用於基於該當前塊的多個亮度樣本導出該當前塊的多個色度樣本的多個預測子。
  16. 一種電子裝置,包括: 一種視訊編解碼電路,被配置為執行多個操作,包括: 接收一像素塊的資料,該像素塊的資料待編碼或解碼為一視訊的一當前圖片的一當前塊; 識別適用於該當前塊的多個候選編解碼模式; 識別一第一候選編解碼模式組,該第一候選編解碼模式組為該等候選編解碼模式的一子集,其中該第一候選編解碼模式組的一候選編解碼模式數量少於該等候選編解碼模式的一候選編解碼模式數量; 對該第一候選編解碼模式組的每個候選編解碼模式計算一邊界匹配成本,該邊界匹配成本藉由比較(i)與該當前塊相鄰的多個重構樣本與(ii)該當前塊沿該當前塊邊界的多個預測樣本來計算,其中該等預測樣本根據該第一候選編解碼模式組中的一候選編解碼模式生成; 根據該等邊界匹配成本對所識別的該第一候選編解碼模式組中的多個候選編解碼模式進行索引; 基於該索引隱式地從該第一候選編解碼模式組選擇一候選編解碼候選模式;或者基於分配的多個碼字顯式地從該第一候選編解碼模式組來選擇該候選編解碼候選模式,其中該等碼字根據所述候選編解碼模式的優先順序向所識別的該候選編解碼模式組中的多個候選編解碼模式分配,以及最短碼字對應最小成本的候選;以及 使用選擇的該候選編解碼模式對該當前塊進行編碼或解碼。
TW112100602A 2022-01-07 2023-01-06 視訊編解碼方法及其裝置 TWI872431B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263297252P 2022-01-07 2022-01-07
US63/297,252 2022-01-07
PCT/CN2023/071007 WO2023131298A1 (en) 2022-01-07 2023-01-06 Boundary matching for video coding
WOPCT/CN2023/071007 2023-01-06

Publications (2)

Publication Number Publication Date
TW202337207A TW202337207A (zh) 2023-09-16
TWI872431B true TWI872431B (zh) 2025-02-11

Family

ID=87073303

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112100602A TWI872431B (zh) 2022-01-07 2023-01-06 視訊編解碼方法及其裝置

Country Status (2)

Country Link
TW (1) TWI872431B (zh)
WO (1) WO2023131298A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024182732A1 (en) * 2023-03-02 2024-09-06 Bytedance Inc. Method, apparatus, and medium for video processing
WO2025077872A1 (en) * 2023-10-13 2025-04-17 Mediatek Inc. Method and apparatus of syntax design for cross-component models in video coding system
WO2025087361A1 (en) * 2023-10-25 2025-05-01 Mediatek Inc. Extrapolation intra prediction model for chroma coding

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493385B1 (en) * 1997-10-23 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Image encoding method, image encoder, image decoding method, and image decoder
US20150172653A1 (en) * 2012-07-05 2015-06-18 Thomson Licensing Video coding and decoding method with adaptation of coding modes and corresponding encoder and decoder
US20160127725A1 (en) * 2014-10-31 2016-05-05 Ecole De Technologie Superieure Method and system for fast mode decision for high efficiency video coding
US20170353720A1 (en) * 2015-05-08 2017-12-07 Tencent Technology (Shenzhen) Company Limited Prediction mode selection method, apparatus and device
US20180288439A1 (en) * 2017-03-31 2018-10-04 Mediatek Inc. Multiple Transform Prediction
US20200186808A1 (en) * 2018-12-11 2020-06-11 Google Llc Rate/distortion/rdcost modeling with machine learning
WO2020228662A1 (en) * 2019-05-11 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Boundary strength determination for deblocking filters in video processing
TW202106004A (zh) * 2019-04-03 2021-02-01 聯發科技股份有限公司 核心轉換和次級轉換間之交互作用

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685474B (zh) * 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
CN103581682B (zh) * 2013-08-14 2017-08-01 北京交通大学 一种hevc帧内编码的快速模式决策算法及其应用
CN111885382B (zh) * 2020-06-23 2023-04-18 北京工业职业技术学院 帧内色度预测模式快速选择

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493385B1 (en) * 1997-10-23 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Image encoding method, image encoder, image decoding method, and image decoder
US20150172653A1 (en) * 2012-07-05 2015-06-18 Thomson Licensing Video coding and decoding method with adaptation of coding modes and corresponding encoder and decoder
US20160127725A1 (en) * 2014-10-31 2016-05-05 Ecole De Technologie Superieure Method and system for fast mode decision for high efficiency video coding
US20170353720A1 (en) * 2015-05-08 2017-12-07 Tencent Technology (Shenzhen) Company Limited Prediction mode selection method, apparatus and device
US20180288439A1 (en) * 2017-03-31 2018-10-04 Mediatek Inc. Multiple Transform Prediction
US20200186808A1 (en) * 2018-12-11 2020-06-11 Google Llc Rate/distortion/rdcost modeling with machine learning
TW202106004A (zh) * 2019-04-03 2021-02-01 聯發科技股份有限公司 核心轉換和次級轉換間之交互作用
WO2020228662A1 (en) * 2019-05-11 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Boundary strength determination for deblocking filters in video processing

Also Published As

Publication number Publication date
TW202337207A (zh) 2023-09-16
WO2023131298A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
CN113853794B (zh) 视频解码方法与相关电子装置
CN112042189B (zh) 照度补偿方法及相应的电子装置
US11297348B2 (en) Implicit transform settings for coding a block of pixels
CN112400319B (zh) 一种视频编码/解码方法及装置
CN115152227B (zh) 视频编解码方法及装置
US11245922B2 (en) Shared candidate list
WO2020169082A1 (en) Intra block copy merge list simplification
TWI872431B (zh) 視訊編解碼方法及其裝置
TWI802271B (zh) 具有應用的塊設定以及運動儲存設定的三角形預測
CN111989927A (zh) 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置
TW202034693A (zh) 視訊編碼中結合畫面間和畫面內預測之方法和裝置
CN102804774A (zh) 用于视频编解码的降低了复杂度的模板匹配预测方法和装置
WO2023198187A1 (en) Template-based intra mode derivation and prediction
WO2019161798A1 (en) Intelligent mode assignment in video coding
TW202402054A (zh) 用於候選清單的相似性閾值
WO2025021011A1 (en) Combined prediction mode
CN116684578A (zh) 基于控制点运动矢量的仿射模型优化
TWI871596B (zh) 幾何分割模式及合併候選重排
WO2025011496A1 (en) Local illumination compensation model inheritance
US20250294171A1 (en) Linear model derivation for cross-component prediction by multiple reference lines
TW202415066A (zh) 多假設預測編解碼
TW202408232A (zh) 更新合併候選的運動屬性
TW202406348A (zh) 視訊編解碼方法及其裝置
TW202420819A (zh) 視訊編解碼中帶越界檢查的預測生成
CN120569967A (zh) 用于帧内模板匹配预测的多个块向量