TW202327361A - 視訊編解碼方法及相關裝置 - Google Patents

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

Info

Publication number
TW202327361A
TW202327361A TW111148211A TW111148211A TW202327361A TW 202327361 A TW202327361 A TW 202327361A TW 111148211 A TW111148211 A TW 111148211A TW 111148211 A TW111148211 A TW 111148211A TW 202327361 A TW202327361 A TW 202327361A
Authority
TW
Taiwan
Prior art keywords
reference samples
motion vector
mmvd
candidates
merge mode
Prior art date
Application number
TW111148211A
Other languages
English (en)
Other versions
TWI836792B (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 TW202327361A publication Critical patent/TW202327361A/zh
Application granted granted Critical
Publication of TWI836792B publication Critical patent/TWI836792B/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
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/567Motion estimation based on 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

一種視訊編解碼系統被提供,該系統生成具有運動向量差的合併模式(Merge Mode with Motion Vector Difference,簡稱MMVD)候選以及減少資源使用。該系統接收資料,該資料將被編碼或解碼為視訊的當前圖片的當前塊。系統基於當前塊的合併候選識別具有不同偏移位置的多個MMVD候選。系統生成識別的MMVD候選的參考樣本。系統藉由使用生成的參考樣本重構當前塊或將當前塊編碼為位元流。該系統處理不同的組中的MMVD候選:第一組垂直MMVD候選和第二組水平MMVD候選。藉由將垂直濾波器應用於水平MMVD候選的源參考樣本,然後將水平濾波器應用於垂直濾波器的輸出,系統生成識別的MMVD候選的參考樣本。

Description

視訊編解碼方法及相關裝置
本公開總體上涉及視訊解碼。具體而言,本公開涉及生成具有運動向量差的合併模式(Merge Mode with Motion Vector Difference,簡稱MMVD)候選的方法。
除非本文另有說明,否則本節中描述的方法不是下面列出的申請專利範圍的習知技術,以及不被包含在本節中而被承認為習知技術。
高效視訊編解碼(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中實現混合編解碼架構的最佳編解碼效率,每個PU有兩種預測模式,即幀內預測和幀間預測。對於幀內預測模式,空間相鄰重構像素可用於生成方向預測。HEVC中最多有35個方向。對於幀間預測模式,時間重構參考幀可用於生成運動補償預測。共有三種不同的模式,包括跳過、合併和幀間高級運動向量預測(Advanced Motion Vector Prediction,簡稱AMVP)模式。
當PU在幀間AMVP模式下進行編解碼時,運動補償預測利用傳輸運動向量差(transmitted motion vector difference,簡稱MVD)來執行,傳輸運動向量差可與運動向量預測子(Motion Vector Predictor,簡稱MVP)一起用於導出運動向量(motion vector,簡稱MV)。為了確定幀間AMVP模式中的MVP,高級運動向量預測(advanced motion vector prediction,簡稱AMVP) 方案用於AMVP候選集中選擇運動向量預測子,該AMVP候選集包括兩個空間MVP和一個時間MVP。因此,在AMVP模式下,MVP的MVP索引和相應的MVD需要被編碼和傳輸。此外,幀間預測方向用於指定雙向預測和單向預測之間的預測方向,即列表0(L0)和列表1(L1),以及每個列表的參考幀索引也應該被編碼和傳輸。
當在跳過或合併模式中對PU進行編解碼時,除了所選候選的合併索引之外不發送運動資訊。這是因為跳過和合併模式利用運動推斷方法(MV=MVP+MVD,其中MVD為零)從位於同位圖片的空間相鄰塊(空間候選)或時間塊(時間候選)中獲取運動資訊,其中同位圖片是列表0或列表1中的第一參考圖片,其在片段報頭中發送。在跳過PU的情況下,殘差訊號被省略。為了確定跳過和合併模式的合併索引,合併方案用於在合併候選集中選擇運動向量預測子,該合併候選集包含四個空間MVP和一個時間MVP。
以下概述僅是說明性的並且不旨在以任何方式進行限制。即,以下概述被提供以介紹本文所述的新穎且非顯而易見的技術的概念、亮點、益處和優點。選擇而不是所有的實施方式在下面的詳細描述中被進一步描述。因此,以下概述並非旨在識別所要求保護的主題的基本特徵,也不旨在用於確定所要求保護的主題的範圍。
本公開的一些實施例提供了一種視訊編解碼系統,該系統生成用於具有運動向量差的合併模式(MMVD)候選以及減少的資源使用。該系統接收資料,該資料將被編碼或解碼為視訊的當前圖片的當前塊。系統基於當前塊的合併候選識別不同偏移位置的多個MMVD候選。系統生成識別的MMVD候選的參考樣本。系統藉由使用生成的參考樣本重構當前塊或將當前塊編碼為位元流。
在一些實施例中,識別的MMVD候選可以包括第一組MMVD候選和第二組MMVD候選。該系統可以藉由導出第一組MMVD候選的第一組參考樣本和第二組MMVD候選的第二組參考樣本來生成參考樣本。該系統可以藉由存取被限制在第一存取範圍內的參考樣本來導出第一組參考樣本,以及可以藉由存取被限制在不同的第二存取範圍內的參考樣本來導出第二組參考樣本。在一些實施例中,第一組M​​MVD候選包括兩個或更多垂直MMVD候選,其具有相對於合併候選的垂直偏移位置,以及第二組MMVD候選包括兩個或更多水平MMVD候選,其具有相對於合併候選的水平偏移位置。第一組MMVD候選可以包括所有垂直MMVD候選以及第二組MMVD候選可以包括所有水平MMVD候選,用於使用MMVD模式對當前塊進行編解碼。
在一些實施例中,藉由將垂直濾波器應用於水平MMVD候選(具有水平偏移位置的MMVD候選)的源參考樣本,然後將水平濾波器應用於垂直濾波器的輸出,系統生成識別的MMVD候選的參考樣本。源參考樣本可被存儲在垂直濾波器的移位暫存器中。在一些實施例中,每個源參考樣本具有比每個參考樣本的濾波結果(例如,16位元)更少的位元(例如,10位元)。當MMVD候選來自未縮放列表(未按時間縮放)時,水平濾波器的輸出中的至少一些被重用於不同的水平濾波器候選。
在以下詳細描述中,藉由示例的方式闡述了許多具體細節,以便提供對相關教導的透徹理解。基於本文描述的教導的任何變化、衍生和/或擴展都在本公開的保護範圍內。在一些情況下,與在此公開的一個或多個示例實施方式有關的眾所周知的方法、處理、組件和/或電路可以在相對較高的水平上進行描述而沒有細節,以避免不必要地模糊本公開的教導的方面。 一、具有運動向量差的合併模式( Merge Mode with Motion Vector Difference ,簡稱 MMVD
具有運動向量差的合併模式(Merge Mode with Motion Vector Difference,簡稱MMVD)是用於通用視訊編解碼(Versatile Video Coding,簡稱VVC)標準的新編解碼工具。與隱式導出的運動資訊直接用於當前CU的預測樣本生成的常規合併模式不同,在MMVD中,導出的運動資訊藉由運動向量差MVD進一步精細化。MMVD還藉由基於預定偏移(也被稱為MMVD偏移)添加額外的MMVD候選來擴展合併模式的候選列表。
在發送跳過標誌和合併標誌之後,MMVD標誌被發送以指定是否將MMVD模式用於CU。如果MMVD模式被使用,則選擇的合併候選藉由MVD資訊精細化。MVD資訊還包括合併候選標誌,指定運動幅度的距離索引和用於指示運動方向的索引。合併候選標誌被發送以指定前兩個合併候選中的哪一個將被用作起始MV。
距離索引用於藉由指示與起始MV的預定偏移來指定運動幅度資訊。偏移可被添加到起始MV的水平分量或垂直分量。下面的 l-1中指定了從距離索引到預定偏移的示例映射:
l-1 .距離索引
距離索引 0 1 2 3 4 5 6 7
偏移 (以亮度樣本為單位) 1/4 1/2 1 2 4 8 16 32
方向索引表示MVD相對於起點的方向。方向索引可以表示如 l-2所示的四個方向之一。
l-2 方向索引指定的 MV 偏移的符號
距離索引 00 01 10 11
x- + N/A N/A
y- N/A N/A +
需要注意的是,MVD符號的含義可以根據起始MV的資訊而變化。當起始MV是單向預測MV或雙向預測MV的兩個列表都指向當前圖片的同一側(即,兩個參考圖片的圖片順序計數或POC,都大於當前圖片的POC或都小於當前圖片的POC)時, l-2中的符號指定了添加到起始MV的MV偏移的符號。當起始MV為雙向預測MV兩個MV指向當前圖片的不同側(即一個參考的POC大於當前圖片的POC,而另一參考的POC小於當前圖片的POC)時, l-2中的每個符號都指定了添加到起始MV的列表0 MV分量的MV偏移的符號,而列表1 MV的符號具有相反值。在一些實施例中,MMVD候選的預定偏移(MmvdOffset)是從距離值(MmvdDistance)和方向符號(MmvdSign)導出或表達為距離值(MmvdDistance)和方向符號(MmvdSign)。
第1圖概念性地示出MMVD候選及其對應的偏移。該圖示出作為起始MV的合併候選110以及在垂直方向和水平方向上的若干MMVD候選。每個MMVD候選是藉由對起始MV 110應用偏移來導出。例如,MMVD候選122藉由將偏移2添加到合併候選110的水平分量來導出,以及MMVD候選124藉由將偏移-1添加到合併候選110的垂直分量來導出。在水平方向上具有偏移的MMVD候選,例如MMVD候選122,被稱為水平MMVD候選。在垂直方向上具有偏移的MMVD候選,例如MMVD候選124,被稱為垂直MMVD候選。
在一些實施例中,用於導出MMVD候選的MMVD偏移基於Ll和L0參考的時間位置(例如,POC) 進行縮放。具體來說,對於每個MMVD候選,如果abs(currPocDiffL0) ≥ abs(currPocDiffL1),則L1 MVD的偏移被縮放,否則L0 MVD的偏移被縮放。如果currPocDiffL0和currPocDiffL1具有不同的符號,則在縮放MMVD偏移時應用逆匹配(inverse matching)。
在生成每個MMVD候選的參考樣本時,軟體風格的方法可被用於在一個率失真優化(rate-distortion optimization,簡稱RDO)階段生成所有MMVD候選的參考樣本。第2圖概念性地示出用於生成合併模式和MMVD模式參考樣本的存取範圍。該圖示出當前塊200。該圖還示出MMVD候選210,220,230和240。MMVD候選210是水平MMVD候選,其水平偏移是-8。MMVD候選220是垂直MMVD候選,其垂直偏移是-8。MMVD候選230是水平MMVD候選,其水平偏移為+8。MMVD候選240是垂直MMVD候選,其垂直偏移是+8。
不同方向上較大的MMVD偏移可能需要較大的存取範圍來生成參考樣本,從而增加硬體成本。在第2圖的示例中,當前塊200為4x4時,合併模式的參考樣本250的存取範圍僅為11x11。但是,如果MMVD模式被使用,以及當MMVD的最大偏移為8時,參考樣本的存取範圍260將增加到27x27。
一些實施例提供了一種視訊編解碼系統,其中用於生成MMVD模式的參考樣本的存取範圍被減小。在一些實施方案中,MMVD候選被分成若干部分。例如,在一些實施例中,當前模組的MMVD候選被分成兩組不同的MMVD候選組,使得MMVD模式在兩個低複雜度(low-complexity,簡稱LC)率失真優化(rate-distortion-optimization,簡稱RDO)階段進行處理:第一LC-RDO階段,用於處理水平MMVD候選,第二LC-RDO階段,用於處理垂直MMVD候選。
第3圖示出MMVD候選被分成兩組以減小MMVD模式參考樣本的存取範圍。在圖中,當前塊200的MMVD候選模組分成兩組MMVD候選組被處理:垂直組301和水平組302。MMVD候選的垂直組301包括所有垂直MMVD候選,包括MMVD候選220(垂直偏移為-8)和MMVD候選240(垂直偏移為+8)。MMVD候選的水平組包括所有水平MMVD候選,包括MMVD候選210(水平偏移為-8)和MMVD候選230(水平偏移為+8)。水平組302具有大小為27x11的存取範圍310。垂直組301具有大小為11x27的存取範圍320。
也有可能將MMVD候選分成不同的組以縮小存取範圍的其他安排。第4A-B圖示出MMVD候選的其他劃分用於減少生成參考樣本的存取範圍。
第4A圖示出將MMVD候選分成當前塊200的MMVD候選的兩個L形組401和402。每個L形組包括水平MMVD候選的一半和垂直MMVD候選的一半。L形組401包括負偏移低至偏移-8的水平MMVD候選,包括MMVD候選210。L形組401還包括具有正偏移+8的垂直MMVD候選,包括MMVD候選240。L形組401的存取範圍的大小為19x19。
L形組402包括正偏移高達+8的水平MMVD候選,包括MMVD候選230。L形組402還包括負偏移低至偏移-8的垂直MMVD候選,包括MMVD候選220(偏移-8)。L形組402的存取範圍的大小為19x19(因此總大小為19x19x2)。
第4B圖示出將MMVD候選劃分為四個候選組411-414。組411包括負偏移低至-8的水平MMVD候選,包括MMVD候選210。組412包括負偏移低至-8的垂直MMVD候選,包括MMVD候選220。組413包括正偏移高達+8的水平MMVD候選,包括MMVD候選230。組414包括正偏移高達+8的垂直MMVD候選,包括MMVD候選240。四個組411-414中的每一個都有19x11的存取範圍(因此總大小為19x11x4)。
在一些實施例中,由於合併候選的分數位置和MMVD候選的分數偏移,MMVD候選的參考樣本被濾波。為了得出不同MMVD候選的參考樣本,特別是那些具有分數位置的參考樣本,垂直和水平濾波被用來生成濾波後的參考樣本。
在一些實施例中,所有水平MMVD候選的參考樣本首先藉由水平濾波器濾波,然後由垂直濾波器濾波。例如,對於水平候選組302中的水平MMVD候選(水平偏移從-8到+8),參考樣本的大小為28x4。視訊編解碼器可以首先將水平濾波應用於參考樣本,然後將濾波結果存儲在移位暫存器中(28是水平MMVD候選的存取範圍的寬度,4是4x4塊的行(row)數)。然後,視訊編解碼器將垂直濾波應用於存儲在移位暫存器中的資料。
第5圖示出對水平MMVD候選的濾波。該圖示出對4x4像素塊500的濾波,其合併候選的分數位置為(+1/4, -1/4)。該圖示出藉由水平和垂直濾波對所有水平MMVD偏移(-8、-4、-2、-1、-1/2、-1/4、1/4、1/2、1、2、4、8)生成的濾波的參考樣本。如圖所示,每行生成33個濾波的參考樣本,4x4塊有4行(row)。
要生成這些33x4=132個濾波的參考樣本,視訊編解碼器首先應用132個樣本的水平濾波,然後應用132個樣本的垂直濾波。移位暫存器可用於存儲水平濾波的中間結果。移位暫存器最初存儲水平濾波的結果。水平濾波結果的每個樣本具有16位元,移位暫存器的大小為33(樣本/行)x 7(行)x 16(位元) = 3696位元。(生成水平MMVD候選的每一行的垂直濾波結果會消耗前3行的水平濾波結果,因此總共使用7行移位暫存器)。
第5圖的示例是MMVD候選樣本,該MMVD候選樣本不是基於時間位置進行縮放(未縮放列表),以及一些濾波後的參考樣本可以由具有不同偏移的不同MMVD候選共用或重用。但是,如果MMVD候選要根據時間位置進行縮放(縮放列表),則具有不同偏移的不同MMVD候選無法共用或重用濾波的參考樣本。因此,對於縮放列表中的12個MMVD候選樣本,使用水平和垂直濾波對像素塊500生成4(寬度)x 12(MMVD候選)x 4(行)= 192個參考樣本。為了生成這192個濾波的參考樣本,視訊編解碼器可以先應用192個樣本的水平濾波,然後應用192個樣本的垂直濾波。如果移位暫存器被用來存儲用於垂直濾波的水平濾波結果,以及每個濾波參考樣本具有16位元,則移位暫存器的大小為4(寬度)x12(MMVD候選)x 7(行)x 16(位元)=5376位元。
由於MMVD模式具有許多分數偏移,因此許多水平和垂直濾波器被使用,特別是對於偏移為±1、±1/2、±1/4 的水平MMVD候選。觀察到所有水平MMVD候選具有相同的垂直插值相位。本公開的一些實施例使用這一特性來減小垂直濾波器的大小。
在一些實施例中,視訊編解碼器將參考樣本(例如, 10位元而不是用於水平濾波結果的16位元)直接存儲在移位暫存器中,以及將垂直濾波應用於存儲在移位暫存器中的資料。然後,視訊編解碼器將水平濾波應用於垂直濾波的結果或輸出。這導致濾波器大小小於在垂直濾波之前應用水平濾波時的濾波器大小。
第6A-B圖示出具有減小濾波器大小的水平MMVD候選濾波,其中垂直濾波被應用於水平濾波之前。該示例適用於4x4塊600,其合併候選具有分數位置(+1/4,-1/4)。濾波用於生成具有偏移為-8、-4、-2、-1、-1/2、-1/2、-1/4、+1/4、+1/2、1、2、4、8 的水平MMVD候選的濾波參考樣本。
第6A圖示出被應用於水平MMVD候選的存取範圍中的參考樣本的垂直濾波。該圖示出對27x4參考樣本生成的27x4=108個垂直濾波結果,因為4x4塊的水平MMVD候選需要每行27個參考樣本。
第6B圖示出被應用於垂直濾波的結果的水平濾波。水平濾波被用來生成每個水平MMVD候選的濾波後的參考樣本。如圖所示,藉由水平濾波對4行中的每一行生成33個濾波樣本。如上所述,對於未基於時間位置縮放的MMVD候選(未縮放列表),濾波後的樣本可以由不同的MMVD候選共用。因此,對於具有偏移從-8到+8的所有水平MMVD候選,每行33個樣本就足夠了。因此33x4 =132個濾波的參考樣本被生成。
為了生成這些33 x 4=132個濾波的參考樣本,視訊編解碼器將108個樣本的垂直濾波應用於水平MMVD候選的源參考樣本(整數位置處的像素值),然後將132個樣本的水平濾波應用於垂直濾波的結果。移位暫存器可用於存儲源參考樣本。移位暫存器最初將源參考樣本存儲在整數位置。每個被濾波的源參考樣本為10位元,移位暫存器的大小為27(樣本/行)x 7(行)x 10(位元)= 1890位元。(生成水平MMVD候選的每一行的垂直濾波結果會消耗前3行的參考樣本,因此總共使用了7行移位暫存器。)
如果MMVD候選將基於時間位置進行縮放(縮放列表),則具有不同偏移的不同水平MMVD候選不能重用或共用濾波的參考樣本。因此,對於縮放列表中的12個MMVD候選,使用水平和垂直濾波對4行生成4(寬度)x12(MMVD 候選)x 4(行)=192個參考樣本。移位暫存器可用於存儲源參考樣本。 移位暫存器最初將源參考樣本存儲在整數位置。每個被濾波的源參考樣本為10 位元,移位暫存器的大小為27(樣本/行)x7(行)x10(位元)=1890位元。
因此,藉由在水平濾波之前應用垂直濾波,用於計算水平MMVD候選的濾波參考樣本的資源的顯著節省可被實現。下面的 I-3是用於濾波水平 MMVD候選的計算資源使用的總結。該表還顯示首先應用垂直濾波時的資源節省百分比(與首先應用水平濾波相比)。如表中所示,首先應用垂直濾波可以節省垂直濾波器大小和移位暫存器大小,同時不會產生其他計算資源成本。
I-3: 計算使用
候選類型 使用的資源 水平優先 垂直優先 節省
未縮放的 水平濾波器 132 132 0
垂直濾波器 132 108 18.18%
移位暫存器 3696 1890 48.86%
縮放的 水平濾波器 192 192 0
垂直濾波器 192 108 43.75%
移位暫存器 5376 1890 64.84%
二、 示例視訊編碼器
第7圖示出可使用MMVD模式來編碼像素塊的示例視訊編碼器700。如圖所示,視訊編碼器700從視訊源705接收輸入視訊訊號以及將訊號編碼成位元流795。視訊編碼器700具有用於對來自視訊源705的訊號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組710、量化模組711、逆量化模組714、逆變換模組715、幀内估計模組720、幀內預測模組725、運動補償模組730、運動估計模組735、環路濾波器745、重構圖片緩衝器750、MV緩衝器765、MV預測模組775和熵編碼器790。運動補償模組730和運動估計模組735是幀間預測模組740的一部分。
在一些實施例中,模組710-790是由計算設備或電子裝置的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組710-790是由電子裝置的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。儘管模組710-790被示為單獨的模組,但一些模組可以組合成單個模組。
視訊源705提供原始視訊訊號,其呈現每個視訊幀的像素資料而不進行壓縮。減法器708計算視訊源705的原始視訊像素資料與來自運動補償模組730或幀內預測模組725的預測像素資料713之間的差值。變換模組710將差值(或殘差像素資料或殘差訊號)轉換成變換係數(例如,藉由執行離散餘弦變換或DCT)。量化模組711將變換係數量化成量化資料(或量化係數)712,其由熵編碼器790編碼成位元流795。
逆量化模組714對量化資料(或量化係數)712進行去量化以獲得變換係數,以及逆變換模組715對變換係數執行逆變換以產生重構殘差719。重構殘差719與預測像素資料713相加一起產生重構的像素資料717。在一些實施例中,重構的像素資料717被臨時存儲在行緩衝器(line buffer未示出)中用於幀內預測和空間MV預測。重構像素由環路濾波器745濾波並被存儲在重構圖片緩衝器750中。在一些實施例中,重構圖片緩衝器750是視訊編碼器700外部的記憶體。在一些實施例中,重構圖片緩衝器750是視訊編碼器700內部的記憶體。
幀內估計模組720基於重構的像素資料717執行幀內預測以產生幀內預測資料。幀內預測資料被提供至熵編碼器790以被編碼成位元流795。幀內預測資料還被幀內預測模組725用來產生預測像素資料713。
運動估計模組735藉由產生MV以參考存儲在重構圖片緩衝器750中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供至運動補償模組730以產生預測像素資料。
視訊編碼器700不是對位元流中的完整實際MV進行編碼,而是使用MV預測來生成預測的MV,以及用於運動補償的MV與預測的MV之間的差值被編碼為殘差運動資料並存儲在位元流795。
基於為編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,MV預測模組775生成預測的MV。MV預測模組775從MV緩衝器765中獲取來自先前視訊幀的參考MV。視訊編碼器700將對當前視訊幀生成的MV存儲在MV緩衝器765中作為用於生成預測MV的參考MV。
MV預測模組775使用參考MV來創建預測的MV。預測的MV可以藉由空間MV預測或時間MV預測來計算。預測的MV和當前幀的運動補償MV(MC MV)之間的差值(殘差運動資料)由熵編碼器790編碼到位元流795中。
熵編碼器790藉由使用諸如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和資料編碼到位元流795中。熵編碼器790將各種報頭元素、標誌連同量化的變換係數712和作為語法元素的殘差運動資料編碼到位元流795中。位元流795繼而被存儲在存放裝置中或藉由比如網路等通訊媒介傳輸到解碼器。
環路濾波器745對重構的像素資料717執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第8圖示出實現MMVD模式分離和插值重新排序的視訊編碼器700的部分。具體地,該圖示出視訊編碼器700的組件,該視訊編碼器700被配置為處理兩個或更多組中的MMVD候選,以及在對一些MMVD候選進行水平濾波之前執行垂直濾波。
如圖所示,MV預測模組775存取MV緩衝器765以識別各種MV預測模式的候選,包括合併模式和MMVD模式的候選。插值濾波器模組800從重構圖片緩衝器750接收像素資料以用作源參考樣本。插值濾波器模組800基於由MV預測模組775識別的各種候選的源參考樣本執行分數位置的插值。具體地,MMVD候選被處理為兩個(或更多)組,包括垂直MMVD候選組802和水平MMVD候選組804。在一些實施例中,兩組802和804在兩個不同的LC-RDO階段中被處理。
插值濾波器模組800包括水平優先濾波器810和垂直優先濾波器820。水平優先濾波器810對源參考樣本執行水平濾波,將濾波結果存儲在移位暫存器中,以及對存儲在移位暫存器中的資料執行垂直濾波。垂直優先濾波器820將源參考樣本存儲在移位暫存器中,對移位暫存器中的資料進行垂直濾波,以及對垂直濾波的結果進行水平濾波。在一些實施例中,水平MMVD候選組804由垂直優先濾波器820進行濾波,而包括垂直MMVD候選組802在內的其他預測候選組由水平優先濾波器810進行處理。然後插值濾波器模組800的輸出被提供給幀間預測模組740,以用於運動補償和運動估計操作。基於濾波的參考樣本,幀間預測模組740可以選擇所識別的MMVD候選之一作為預測模式來編碼當前塊,使得所選擇的MMVD候選的生成參考樣本是被編碼到位元流中的殘差訊號的基礎。
第9圖概念性地示出使用MMVD對像素塊進行編碼的處理900。在一些實施例中,實現編碼器700的計算設備的一個或多個處理單元(例如,處理器),藉由執行存儲在電腦可讀介質中的指令來執行處理900。在一些實施例中,實現編碼器700的電子設備執行處理900。
編碼器接收(在塊910)資料,該資料將被編碼為當前圖片中的像素的當前塊。編碼器基於當前塊的合併候選識別(在塊920)不同偏移位置的多個MMVD候選。所識別的MMVD候選包括具有分數偏移位置(例如,±1/2、±1/4)的MMVD候選和具有整數偏移位置(例如,±1、±2、±4、±8)的MMVD候選。
編碼器生成(在塊930)識別的MMVD候選的參考樣本。編碼器藉由使用生成的參考樣本將當前塊編碼(在塊940)到位元流中。在一些實施例中,編碼器選擇所識別的MMVD候選之一作為預測模式以對當前塊進行編碼,使得所選擇的MMVD候選的生成的參考樣本是被編碼到位元流中殘差訊號的基礎。
在一些實施例中,所識別的MMVD候選可以包括第一組MMVD候選和第二組MMVD候選,如參考以上第3圖和第4圖所描述。編碼器可以藉由導出用於第一組MMVD候選的第一組參考樣本和用於第二組MMVD候選的第二組參考樣本來生成參考樣本。編碼器可以藉由存取被限制在第一存取範圍內的參考樣本來導出第一組參考樣本,以及可以藉由存取被限制在不同的第二存取範圍內的參考樣本來導出第二組參考樣本。在一些實施例中,第一組MMVD候選包括兩個或更多垂直MMVD候選,其具有相對於合併候選的垂直偏移位置,以及第二組MMVD候選包括兩個或更多MMVD候選,其具有相對於合併候選的水平偏移位置。第一組MMVD候選可以包括所有垂直MMVD候選以及第二組MMVD候選可以包括所有水平MMVD候選,以用於使用MMVD模式對當前塊進行編解碼。在單獨的組中處理MMVD候選允許編碼器使用MMVD模式下的縮小的存取範圍。
在一些實施例中,如參考第6A-B所描述的,藉由將垂直濾波器應用於水平MMVD候選(具有水平偏移位置的MMVD候選)的源參考樣本,然後將水平濾波器應用於垂直濾波器的輸出,編碼器生成識別的MMVD候選的參考樣本。源參考樣本可以存儲在垂直濾波器的移位暫存器中。在一些實施例中,每個源參考樣本具有比每個參考樣本的濾波結果(例如,16位元)更少的位元(例如,10位元)。當MMVD候選來自未縮放列表(未按時間縮放)時,水平濾波器的輸出的至少一些被重新用於不同的水平濾波器候選。與在垂直濾波器之前應用水平濾波器相比,在水平濾波器之前將垂直濾波器應用於水平MMVD候選可以實現計算資源的顯著節省。 三、 示例視訊解碼器
在一些實施例中,編碼器可以發送(或生成)位元流中的一個或多個語法元素,使得解碼器可以從位元流中解析所述一個或多個語法元素。
第10圖示出可使用MMVD模式的示例視訊解碼器1000。如圖所示,視訊解碼器1000是圖像解碼或視訊解碼電路,該圖像解碼或視訊解碼電路接收位元流1095以及將位元流的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器1000具有用於解碼位元流1095的若干組件或模組,包括選自以下的一些組件:逆量化模組1011、逆變換模組1010、幀內預測模組1025、運動補償模組1030、環路濾波器1045、解碼圖片緩衝器1050、MV緩衝器1065、MV預測模組1075和解析器1090。運動補償模組1030是幀間預測模組1040的一部分。
在一些實施例中,模組1010-1090是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1010-1090是由電子設備的一個或多個IC實現的硬體電路模組。儘管模組1010-1090被示為單獨的模組,但一些模組可以組合成單個模組。
解析器1090(或熵解碼器)接收位元流1095以及根據由視訊編碼或圖像編碼標準定義的語法執行初始解析。解析的語法元素包括各種報頭元素、標誌以及量化資料(或量化係數)1012。解析器1090藉由使用熵編解碼技術(例如上下文適應性二進位算術編解碼(context-adaptive binary arithmetic coding,簡稱ABAC)或霍夫曼編碼(Huffman encoding)解析出各種語法元素。
逆量化模組1011對量化資料(或量化係數)1012進行去量化以獲得變換係數,以及逆變換模組1010對變換係數1016進行逆變換以產生重構殘差訊號1019。重構殘差訊號1019與來自幀內預測模組1025或運動補償模組1030的預測像素資料1013相加以產生解碼像素資料1017。解碼像素資料由環路濾波器1045濾波以及存儲在解碼圖片緩衝器1050中。在一些實施例中,解碼圖片緩衝器1050是視訊解碼器1000外部的記憶體。在一些實施例中,解碼圖片緩衝器1050是視訊解碼器1000內部的記憶體。
幀內預測模組1025從位元流1095接收幀內預測資料,以及據此,從存儲在解碼圖片緩衝器1050中的解碼像素資料1017產生預測像素資料1013。在一些實施例中,解碼像素資料1017也被存儲在行緩衝器(未示出)中,用於幀内預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1050的內容用於顯示。顯示裝置1055或者獲取解碼圖像緩衝器1050的內容以直接顯示,或者獲取解碼圖像緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖片緩衝器1050接收像素值。
運動補償模組1030根據運動補償MV (MC MV)從解碼圖片緩衝器1050中存儲的解碼像素資料1017產生預測像素資料1013。藉由將從位元流1095接收的殘差運動資料與從MV預測模組1075接收的預測MV相加,這些運動補償MV被解碼。
MV預測模組1075基於為解碼先前視訊幀而生成的參考MV(例如,用於執行運動補償的運動補償MV)生成預測的MV。MV預測模組1075從MV緩衝器1065中獲取先前視訊幀的參考MV。視訊解碼器1000將用於解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器1065中作為用於產生預測MV的參考MV。
環路濾波器1045對解碼的像素資料1017執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。
第11圖示出實現MMVD模式分離和插值重新排序的視訊解碼器1000的部分。具體而言,該圖示出視訊解碼器1000的組件,其被配置為處理兩個或更多組中的MMVD候選以及在對一些MMVD候選進行水平濾波之前執行垂直濾波。
如圖所示,MV預測模組1075存取MV緩衝器1065以識別各種MV預測模式的候選,包括合併模式和MMVD模式的候選。插值濾波器模組1100從解碼圖片緩衝器1050接收像素資料以用作源參考樣本。插值濾波器模組1100基於源參考樣本對MV預測模組1075識別的各種候選執行分數位置的插值。對於MMVD,一個MMVD候選被生成,其可以是具有水平偏移的MMVD候選或具有垂直偏移的MMVD候選。
插值濾波器模組1100包括水平優先濾波器1110和垂直優先濾波器1120。水平優先濾波器1110對源參考樣本執行水平濾波,將濾波結果存儲在移位暫存器中,以及對存儲在移位暫存器中的資料執行垂直濾波。垂直優先濾波器1120將源參考樣本存儲在移位暫存器中,對移位暫存器中的資料進行垂直濾波,以及對垂直濾波的結果進行水平濾波。熵解碼器1090可以提供MMVD候選的選擇(基於位元流1095中的信令),為此插值濾波器1100獲取源參考樣本以及執行濾波。然後插值濾波器模組1100的輸出被提供至幀間預測模組1040作為濾波的參考樣本以用於運動補償操作。
第12圖概念性地示出用於使用MMVD解碼像素塊的處理1200。在一些實施例中,實現解碼器1000的計算設備的一個或多個處理單元(例如,處理器),藉由執行存儲在電腦可讀介質中的指令來執行處理1200。在一些實施例中,實現解碼器1000的電子設備執行處理1200。
解碼器接收(在塊1210)資料,該資料將被解碼為當前圖片的當前塊。解碼器基於當前塊的合併候選識別(在塊1220)具有偏移位置的MMVD候選。所識別的MMVD候選可以是具有分數偏移位置(例如,±1/2、±1/4)或整數偏移位置(例如,±1、±2、±4、±8)的MMVD候選。在一些實施例中,所識別的MMVD候選者是由編碼器選擇以及在位元流中發送用於編解碼當前塊的候選。
解碼器生成(在塊1230)識別的MMVD候選的參考樣本。在一些實施例中,如參考第6A-B圖所描述的,藉由將垂直濾波器應用於水平MMVD候選(具有水平偏移位置的MMVD候選)的源參考樣本,然後將水平濾波器應用於垂直濾波器的輸出,解碼器生成識別的MMVD候選的參考樣本。源參考樣本可被存儲在垂直濾波器的移位暫存器中。在一些實施例中,每個源參考樣本具有比每個參考樣本的濾波結果(例如,16位元)更少的位元(例如,10位元)。解碼器藉由使用生成的參考樣本來重構(在塊1240)當前塊。 四、示例電子 系統
許多上述特徵和應用被實現為軟體處理,這些軟體處理被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器內核或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟驅動器(compact disc read-only memory,簡稱CD-ROM)、快閃記憶體驅動器、隨機存取記憶體(random-access memroy,簡稱RAM)晶片、硬碟驅動器、可擦除可程式設計唯讀記憶體(erasable programmble read-only memory,簡稱EPROM)、電可擦除可程式設計唯讀記憶體 (electrically erasable proagrammble read-only memory,簡稱EEPROM)等。電腦可讀介質不包括藉由無線或有線連接傳遞的載波和電子訊號。
在本說明書中,術語“軟體”意在包括駐留在唯讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以實現為更大程式的子部分,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以實現為單獨的程式。最後,共同實現此處描述的軟體發明的單獨程式的任一組合都在本公開的範圍內。在一些實施例中,軟體程式,在被安裝以在一個或多個電子系統上運行時,定義一個或多個特定機器實施方式,該實施方式處理和執行軟體程式的操作。
第13圖概念性地示出了實現本公開的一些實施例的電子系統1300。電子系統1300可以是電腦(例如,臺式電腦、個人電腦、平板電腦等)、電話、PDA或任一其他類型的電子設備。這種電子系統包括各種類型的電腦可讀介質和用於各種其他類型的電腦可讀介質的介面。電子系統1300包括匯流排1305、處理單元1310、圖形處理單元(graphics-processing unit,簡稱GPU)1315、系統記憶體1320、網路1325、唯讀記憶體1330、永久存放設備1335、輸入設備1340 , 和輸出設備1345。
匯流排1305共同表示與電子系統1300通訊連接的眾多內部設備的所有系統、週邊設備和晶片組匯流排。例如,匯流排1305將處理單元1310與GPU 1315,唯讀記憶體1330、系統記憶體1320和永久存放設備1335通訊地連接。
處理單元1310從這些各種記憶體單元中獲取要執行的指令和要處理的資料,以便執行本公開的處理。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到GPU 1315並由其執行。GPU 1315可以卸載各種計算或補充由處理單元1310提供的影像處理。
唯讀記憶體(read-only-memory,簡稱ROM)1330存儲由處理單元1310和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存放設備1335是讀寫存放設備。該設備是即使在電子系統1300關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量記憶裝置(例如磁片或光碟及其對應的磁碟機)作為永久存放設備1335。
其他實施例使用卸除式存放裝置設備(例如軟碟、快閃記憶體設備等,及其對應的磁碟機)作為永久存放設備。與永久存放設備1335一樣,系統記憶體1320是讀寫記憶體設備。然而,與永久存放設備1335不同,系統記憶體1320是易失性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體1320存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的處理被存儲在系統記憶體1320、永久存放設備1335和/或唯讀記憶體1330中。例如,根據本公開的一些實施例,各種記憶體單元包括用於根據處理多媒體剪輯的指令。從這些各種記憶體單元中,處理單元1310獲取要執行的指令和要處理的資料,以便執行一些實施例的處理。
匯流排1305還連接到輸入設備1340和輸出設備1345。輸入設備1340使使用者能夠向電子系統傳達資訊和選擇命令。輸入設備1340包括字母數位鍵盤和定點設備(也被稱為“游標控制設備”)、照相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備1345顯示由電子系統生成的圖像或者輸出資料。輸出設備1345包括印表機和顯示裝置,例如陰極射線管(cathode ray tubes,簡稱CRT)或液晶顯示器(liquid crystal display,簡稱LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括用作輸入和輸出設備的設備,例如觸控式螢幕。
最後,如第13圖所示,匯流排1305還藉由網路介面卡(未示出)將電子系統1300耦合到網路1325。以這種方式,電腦可以是電腦網路(例如局域網(“LAN”)、廣域網路(“WAN”)或內聯網的一部分,或者是多種網路的一個網路,例如互聯網。電子系統1300的任一或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如微處理器、存儲裝置和記憶體,其將電腦程式指令存儲在機器可讀或電腦可讀介質(或者被稱為電腦可讀存儲介質、機器可讀介質或機器可讀存儲介質)中。這種電腦可讀介質的一些示例包括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器件中的軟體。
如在本說明書和本申請的任一申請專利範圍中使用的,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於本說明書的目的,術語顯示或顯示是指在電子設備上顯示。如在本說明書和本申請的任何申請專利範圍中所使用的,術語“電腦可讀介質”、“電腦可讀介質”和“機器可讀介質”完全限於以電腦可讀形式存儲資訊的有形物理物件。這些術語不包括任何無線訊號、有線下載訊號和任何其他短暫訊號。
雖然已經參考許多具體細節描述了本公開,但是本領域之通常知識者將認識到,本公開可以以其他特定形式實施而不背離本公開的精神。此外,許多圖(包括第9圖和第12圖)概念性地說明了處理。這些處理的具體操作可能不會按照所示和描述的確切循序執行。具體操作可以不是在一個連續的一系列操作中執行,在不同的實施例中可以執行不同的具體操作。此外,該處理可以使用幾個子處理來實現,或者作為更大的宏處理的一部分來實現。因此,本領域之通常知識者將理解本公開不受前述說明性細節的限制,而是由所附申請專利範圍限定。 補充說明
本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視爲“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視爲相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視爲相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。
此外,關於基本上任何複數和/或單數術語的使用,本領域之通常知識者可以根據上下文和/或應用從複數變換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。
此外,本領域之通常知識者可以理解,通常,本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域之通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍内容,將在申請專利範圍内明確表示,並且,在沒有這類内容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的内容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一個”或“一種”介紹申請專利範圍内容,而限制了任何特定神專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一個”或“一種”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性内容,本領域之通常知識者可以認識到,這樣的内容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域之通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統等。本領域之通常知識者進一步可理解,無論在説明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,出於説明目的,本發明已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,真實的範圍和申請由申請專利範圍表示。
110:合併候選 122:MMVD候選 124:MMVD候選 200:當前塊 210:MMVD候選 220:MMVD候選 230:MMVD候選 240:MMVD候選 250:參考樣本 260:存取範圍 301:垂直組 302:水平組 310:存取範圍 320:存取範圍 401:L形組 402:L形組 411:候選組 412:候選組 413:候選組 414:候選組 500:像素塊 600:塊 705:視訊源 708:減法器 710:變換模組 711:量化模組 712:量化資料 713:預測像素資料 714:逆量化模組 715:逆變換模組 716:變換係數 717:重構的像素資料 719:重構殘差 720:幀內估計模組 725:幀內預測模組 730:運動補償模組 735:運動估計模組 740:幀間預測模組 745:環路濾波器 750:重構圖片緩衝器 765:MV緩衝器 775:MV預測模組 790:熵編碼器 795:位元流 802:垂直MMVD候選組 804:水平MMVD候選組 810:水平優先濾波器 820:垂直優先濾波器 900:處理 910、920、930、940:步驟 1000:視訊解碼器 1010:逆變換模組 1011:逆量化模組 1012:量化資料 1013:預測像素資料 1016:變換係數 1017:解碼像素資料 1019:重構殘差訊號 1025:幀內預測模組 1030:運動補償模組 1040:幀間預測模組 1050:解碼圖片緩衝器 1055:顯示裝置 1065:MV緩衝器 1075:MV預測模組 1090:熵解碼器 1095:位元流 1100:插值濾波器模組 1110:水平優先濾波器 1120:垂直優先濾波器 1200:處理 1210、1220、1230、1240:步驟 1300:電子系統 1305:匯流排 1310:處理單元 1315: GPU 1320:系統記憶體 1325:網路 1330:唯讀記憶體 1335:永久存放設備 1340:輸入設備 1345:輸出設備
附圖被包括以提供對本公開的進一步理解並且被併入並構成本公開的一部分。附圖說明了本公開的實施方式,並且與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製的,因為在實際實施中特定組件可能被顯示為與大小不成比例,以便清楚地說明本公開的概念。 第1圖概念性地示出MMVD候選及其對應的偏移。 第2圖概念性地示出生成用於合併模式和MMVD模式的參考樣本的存取範圍。 第3圖示出MMVD候選,MMVD候選被分為兩組以減少MMVD模式的參考樣本的存取範圍。 第4A-B圖示出MMVD候選的其他劃分,用於減少生成參考樣本的存取範圍。 第5圖示出水平MMVD候選的濾波。 第6A-B圖示出用減小的濾波器大小對水平MMVD候選進行濾波,其中在水平濾波之前應用垂直濾波。 第7圖示出可以使用MMVD模式的示例視訊編碼器。 第8圖示出實現MMVD模式分離和插值重新排序的視訊編碼器的部分。 第9圖概念性地示出使用MMVD對像素塊進行編碼的處理。 第10圖示出使用MMVD模式的示例視訊解碼器。 第11圖示出實現MMVD模式分離和插值重新排序的視訊解碼器的部分。 第12圖概念性地示出使用MMVD對像素塊進行解碼的處理。 第13圖概念性地示出實施本公開的一些實施例的電子系統。
900:處理
910、920、930、940:步驟

Claims (16)

  1. 一種視訊編碼方法,包括: 接收一像素塊的原始像素資料,該原始像素資料將被編碼為一視訊的一當前圖片的一當前塊到一位元流中; 基於該當前塊的一合併候選,識別多個不同偏移位置的的多個具有運動向量差的合併模式候選; 對識別的該等具有運動向量差的合併模式候選生成多個參考樣本;以及 使用生成的該等參考樣本將該當前塊編碼到該位元流中。
  2. 如請求項1所述之視訊編碼方法,其中該等具有運動向量差的合併模式候選包括一第一組具有運動向量差的合併模式候選和一第二組具有運動向量差的合併模式候選,其中生成該等參考樣本包括導出一第一組參考樣本和一第二組參考樣本,該第一組參考樣本用於該第一組具有運動向量差的合併模式候選,以及該第二組參考樣本用於該第二組具有運動向量差的合併模式候選。
  3. 如請求項2所述之視訊編碼方法,其中,導出該第一組參考樣本包括存取被限制在一第一存取範圍內的多個參考樣本,以及導出該第二組參考樣本包括存取被限制在一第二存取範圍內的多個參考樣本,其中該第一存取範圍不同於該第二存取範圍。
  4. 如請求項2所述之視訊編碼方法,其中,該第一組具有運動向量差的合併模式候選包括兩個或更多垂直具有運動向量差的合併模式候選,該兩個或更多垂直具有運動向量差的合併模式候選具有從該合併候選的多個垂直偏移位置,以及該第二組具有運動向量差的合併模式候選包括兩個或更多水平具有運動向量差的合併模式候選,該兩個或更多水平具有運動向量差的合併模式候選具有從該合併候選的多個水平偏移位置。
  5. 如請求項4所述之視訊編碼方法,其中,該第一組具有運動向量差的合併模式候選包括用於編解碼該當前塊的所有垂直具有運動向量差的合併模式候選,以及第二組具有運動向量差的合併模式候選包括用於編解碼該當前塊的所有水平具有運動向量差的合併模式候選。
  6. 如請求項1所述之視訊編碼方法,其中,生成識別的該等具有運動向量差的合併模式候選的該等參考樣本包括將一垂直濾波器應用於該等水平具有運動向量差的合併模式候選的多個源參考樣本以及將一水平濾波器應用於該垂直濾波器的多個輸出。
  7. 如請求項6所述之視訊編碼方法,其中,該等源参考样本被存储在該垂直滤波器的一移位寄存器中。
  8. 如請求項6所述之視訊編碼方法,其中,該等源參考樣本中的每個源參考樣本具有比該等參考樣本中的每個參考樣本的一濾波結果更少的位元。
  9. 如請求項6所述之視訊編碼方法,其中,該水平濾波器的該等輸出中至少一部分輸出被重新用於不同的水平濾波器候選。
  10. 如請求項1所述之視訊編碼方法,其中,識別的該等具有運動向量差的合併模式候選包括具有多個分數偏移的多個具有運動向量差的合併模式候選以及具有多個整數偏移的多個具有運動向量差的合併模式候選。
  11. 一種視訊解碼方法,包括: 從一位元流中接收一像素塊的待解碼資料,該待解碼資料將被解碼為一視訊的一當前圖片的一當前塊; 基於該當前塊的一合併候選識別一具有運動向量差的合併模式候選,該具有運動向量差的合併模式候選具有一偏移位置; 對識別的該具有運動向量差的合併模式候選生成多個參考樣本;以及 使用生成的該等參考樣本重構該當前塊。
  12. 如請求項11所述之視訊解碼方法,其中,生成識別的該具有運動向量差的合併模式候選的該等參考樣本包括將一垂直濾波器應用於一水平具有運動向量差的合併模式候選的多個源參考樣本,以及將一水平濾波器應用於該垂直濾波器的多個輸出。
  13. 如請求項12所述之視訊解碼方法,其中,該等源參考樣本被存儲在該垂直濾波器的一移位暫存器中。
  14. 如請求項12所述之視訊解碼方法,其中,該等源參考樣本中的每個源參考樣本具有比該等參考樣本中的每個參考樣本的一濾波結果更少的位元。
  15. 如請求項11所述之視訊解碼方法,其中,識別的該等具有運動向量差的合併模式候選具有一分數偏移或一整數偏移。
  16. 一種電子裝置,包括: 一編碼器電路,被佈置為用於執行多個操作,包括: 接收一像素塊的原始像素資料,該原始像素資料將被編碼為一視訊的一當前圖片的一當前塊到一位元流中; 基於該當前塊的一合併候選,識別多個不同偏移位置的的多個具有運動向量差的合併模式候選; 對識別的該等具有運動向量差的合併模式候選生成多個參考樣本;以及 使用生成的該等參考樣本將該當前塊編碼到該位元流中。
TW111148211A 2021-12-16 2022-12-15 視訊編解碼方法及相關裝置 TWI836792B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163290075P 2021-12-16 2021-12-16
US63/290,075 2021-12-16
US17/977,466 2022-10-31
US17/977,466 US20230199170A1 (en) 2021-12-16 2022-10-31 MMVD Mode Separation And Interpolation Reordering

Publications (2)

Publication Number Publication Date
TW202327361A true TW202327361A (zh) 2023-07-01
TWI836792B TWI836792B (zh) 2024-03-21

Family

ID=

Also Published As

Publication number Publication date
CN116266866A (zh) 2023-06-20
US20230199170A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US11297348B2 (en) Implicit transform settings for coding a block of pixels
US11310526B2 (en) Hardware friendly constrained motion vector refinement
US11172203B2 (en) Intra merge prediction
CN113455003B (zh) 视频编解码方法及电子设备
TW202034689A (zh) 用於發信合併工具的方法及裝置
TW201946470A (zh) 用於照度補償的信令
TWI752897B (zh) 運動向量差值導數傳訊技術
TW202031046A (zh) 具有應用的塊設定以及運動儲存設定的三角形預測
TWI692972B (zh) 一種編碼/解碼的方法及電子裝置
TW201939947A (zh) 視訊編解碼中的智能模式分配
TW202310620A (zh) 視訊編解碼方法及裝置
TWI836792B (zh) 視訊編解碼方法及相關裝置
TW202327361A (zh) 視訊編解碼方法及相關裝置
TWI834269B (zh) 視訊處理方法及裝置
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
TWI826079B (zh) 視訊編解碼方法及裝置
WO2023198187A1 (en) Template-based intra mode derivation and prediction
TW202402057A (zh) 視訊處理方法及裝置
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement
TW202315405A (zh) 視訊編解碼方法及其裝置
TW202325025A (zh) 具有編碼參數的局部照明補償
TW202310628A (zh) 視訊編解碼方法及裝置
TW202404354A (zh) 利用卷積模型的預測改進