TWI790580B - 解碼方法、編碼方法、裝置及設備 - Google Patents

解碼方法、編碼方法、裝置及設備 Download PDF

Info

Publication number
TWI790580B
TWI790580B TW110110924A TW110110924A TWI790580B TW I790580 B TWI790580 B TW I790580B TW 110110924 A TW110110924 A TW 110110924A TW 110110924 A TW110110924 A TW 110110924A TW I790580 B TWI790580 B TW I790580B
Authority
TW
Taiwan
Prior art keywords
block
sub
motion information
matching
current block
Prior art date
Application number
TW110110924A
Other languages
English (en)
Other versions
TW202139711A (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 TW202139711A publication Critical patent/TW202139711A/zh
Application granted granted Critical
Publication of TWI790580B publication Critical patent/TWI790580B/zh

Links

Images

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/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/172Methods 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 picture, frame or field
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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
    • 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/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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申請提供一種解碼方法、編碼方法、裝置及設備,該解碼方法包括:當確定當前塊啟用增強的時域運動向量預測技術時,從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;確定當前塊的匹配塊;基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建時域候選模式清單;基於索引資訊,從時域候選模式清單中確定增強型時域運動向量預測模式;基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償。

Description

解碼方法、編碼方法、裝置及設備
本申請涉及視頻編解碼技術,尤其涉及一種解碼方法、編碼方法、裝置及設備。
完整的視頻編碼一般包括預測、變換、量化、熵編碼、濾波等操作。預測可以分為幀內預測和幀間預測,幀內預測是利用周圍已編碼塊作為參考對當前未編碼塊進行預測,有效去除空域上的冗餘。幀間預測是使用鄰近已編碼圖像對當前圖像進行預測,有效去除時域上的冗餘。
通用視頻編碼(Versatile Video Coding,簡稱VVC)標準裡採納的可選時域運動向量預測(Alternative Temporal Motion Vector Prediction,簡稱ATMVP)技術是利用時域子塊的運動資訊,為當前編碼單元內的每個子塊提供不同的運動資訊。
然而實踐發現,ATMVP技術中,在co-located幀中尋找與當前編碼塊對應位置的編碼塊是需要依賴於當前編碼塊的周圍塊的運動資訊的,如果周圍塊的運動資訊不准,會導致尋找的對應位置的編碼塊的運動資訊也不可靠,從而影響編碼性能。
有鑑於此,本申請提供一種解碼方法、編碼方法、裝置及設備。
根據本申請實施例的第一方面,提供一種解碼方法,包括:
當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的 碼流中解析增強型時域運動向量預測模式的索引資訊;
確定所述當前塊的匹配塊,包括:
至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向;
基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
基於所述索引資訊,從所述該時域候選模式清單中確定增強型時域運動向量預測模式;
基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,包括:
對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
其中,利用序列參數集級語法表示所述當前塊是否開啟增強的時域運動向量預測技術。
根據本申請實施例的第二方面,提供一種編碼方法,包括:確定當前塊的匹配塊,包括:
至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向;
基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
遍歷所述時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,包括:
對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為所述當前塊的增強型時域運動向量預測模式;
將索引資訊攜帶在所述當前塊的碼流中,所述索引資訊用於指示確定 出的增強型時域運動向量預測模式的模式索引。
根據本申請實施例的協力廠商面,提供一種解碼裝置,包括:
解碼單元,用於當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;
第一確定單元,用於確定所述當前塊的匹配塊;
構建單元,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
第二確定單元,基於所述增強型時域運動向量預測模式的索引資訊,從所述時域候選模式清單中確定增強型時域運動向量預測模式;
預測單元,用於基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述預測單元還用於:
對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
其中,利用序列參數集級語法表示所述當前塊是否啟動增強的時域運動向量預測技術,
其中,所述第一確定單元在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊, 其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
根據本申請實施例的第四方面,提供一種編碼裝置,包括:
第一確定單元,用於確定當前塊的匹配塊;
構建單元,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建第一時域候選模式清單;
預測單元,用於遍歷所述第一時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述預測單元還用於:
對於目標候選匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
第二確定單元,用於基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為所述當前塊的增強型時域運動向量預測模式;
編碼單元,用於將索引資訊攜帶在所述當前塊的碼流中,所述索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引,
其中,所述第一確定單元在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
根據本申請實施例的第五方面,提供一種解碼端設備,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如上述解碼方法。
根據本申請實施例的第六方面,提供一種編碼端設備,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如上述編碼方法。
本申請實施例的解碼方法,當確定當前塊啟用增強的時域運動向量預測技術時,從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;確定當前塊的匹配塊;基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建時域候選模式清單;基於索引資訊,從時域候選模式清單中確定增強型時域運動向量預測模式;基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償。降低了由於周圍塊的運動資訊不准導致的匹配塊的運動資訊不准的概率,提高了解碼性能。
S401,S402,S403,S404,S405,S410,S420,S430,S440,A1,A2,A3,A4,A5:步驟
A1:第一子塊,第十三子塊
A2:第五子塊,第十七子塊
A3:第三子塊,第十五子塊
A4:第七子塊,第十九子塊
B1:第六子塊,第十八子塊
B2:第二子塊,第十四子塊
B4:第四子塊,第十六子塊
B3:第八子塊,第二十子塊
C1:第十一子塊,第二十三子塊
C2:第十二子塊,第二十四子塊
C3:第九子塊,第二十一子塊
C4:第十子塊,第二十二子塊
r1~r16:比較結果記為
Mx0,My0:原匹配塊的左上角的橫縱坐標
Mx1,My1:新的匹配塊的左上角的橫縱坐標
offset1,offset2:偏移量
910,1150:解碼單元
920,1110:第一確定單元
930,1120:構建單元
940,1140:第二確定單元
950,1130:預測單元
1001,1201:處理器
1002,1202:機器可讀存儲介質
1003,1203:匯流排
圖1A~圖1B是本申請示例性實施例示出的塊劃分的示意圖;
圖2是本申請一示例性實施例示出的一種編解碼方法的示意圖;
圖3是本申請一示例性實施例示出的一種Clip操作的示意圖;
圖4A是本申請一示例性實施例示出的一種解碼方法的流程示意圖;
圖4B是本申請一示例性實施例示出的另一種解碼方法的流程示意圖;
圖5是本申請一示例性實施例示出的一種當前塊的周圍塊的示意圖;
圖6是本申請一示例性實施例示出的一種基於當前塊的第一周圍塊確定當前塊的匹配塊的流程示意圖;
圖7是本申請一示例性實施例示出的對匹配塊進行偏移時的參考塊的示意圖;
圖8A~圖8E是本申請一示例性實施例示出的對匹配塊進行偏移的示意圖;
圖9是本申請一示例性實施例示出的一種解碼裝置的結構示意圖;
圖10是本申請一示例性實施例示出的一種解碼端設備的硬體結構示意圖;
圖11是本申請一示例性實施例示出的一種編碼端設備的結構示意圖;
圖12是本申請一示例性實施例示出的一種編碼端設備的硬體結構示意圖。
在本申請實施例中所使用的術語僅僅是出於描述特定實施例的目的,而非用於限制本申請。本申請實施例和請求項中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其它含義。還應當理解,本文中使用的術語“和/或”是指包含一個或多個相關聯的列出專案的任何或所有可能組合。應當理解,儘管在本申請實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本申請範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可 以被稱為第一資訊。取決於語境,此外,所使用的詞語“如果”可以被解釋成為“在......時”,或“當......時”,或“回應於確定”。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附請求項中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本申請。在本申請和所附請求項中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。
為了使本領域技術人員更好地理解本申請實施例提供的技術方案,下面先對本申請實施例涉及的部分技術術語以及現有視頻編解碼的主要流程進行簡單說明。
為了使本領域技術人員更好地理解本申請實施例提供的技術方案,下面先對先對本申請實施例涉及的部分技術術語進行簡單說明。
技術術語:
1、預測圖元(也表示為Prediction Signal):指從已經編解碼的圖元中匯出的圖元值,通過原始圖元與預測圖元之差獲得殘差,進而進行殘差變換、量化以及係數編碼。
示例性的,幀間預測中的預測圖元指的是針對當前圖像塊從參考幀(重建圖元幀)匯出的圖元值,由於圖元位置離散,需要通過插值運算來獲取最終的預測圖元。預測圖元與原始圖元越接近,兩者相減得到的殘差能量越小,編碼壓縮性能越高。
2、運動向量(Motion Vector,簡稱MV):在幀間編碼中,用MV表示當前編碼塊與其參考圖像中的最佳匹配塊之間的相對位移。每個通過劃分得到的塊(可以稱為子塊)都有相應的運動向量需要傳送到解碼端。若對每個子塊的MV進行獨立編碼和傳輸,特別是在子塊數量眾多的情況下,需要消耗相當多的比特。為了降低用於編碼MV的比特數,視頻編碼中會利用相鄰圖像塊之間的空間相關性,根據相鄰已編碼塊的MV對 當前待編碼塊的MV進行預測,然後對預測差進行編碼。這樣可以有效地降低表示MV的比特數。基於此,在對當前圖像塊的MV編碼過程中,一般首先使用相鄰已編碼塊的MV預測當前圖像塊的MV,然後對MV的預測值(Motion Vector Prediction,簡稱MVP)與運動向量的真正估值之間的差值,即運動向量殘差(Motion Vector Difference,簡稱MVD)進行編碼,從而有效降低MV的編碼比特數。
3、運動資訊(Motion Information):由於MV表示當前圖像塊與某個參考圖像中的最佳匹配塊之間的相對位移,為了準確獲取指向圖像塊的資訊,除了MV資訊,還需要通過參考圖像的索引資訊來表示使用了哪個參考圖像。視頻編碼技術中,對於當前圖像,通常會基於一定的規則,建立一個參考圖像清單,參考圖像索引則表示當前圖像塊採用了參考圖像清單中的第幾個參考圖像。此外,編碼技術還可支援多個參考圖像清單,因此還需要一個索引表示使用了哪一個參考圖像清單,該索引可以稱為參考方向。視頻編碼中,MV、參考幀索引、參考方向等與運動相關的資訊統稱為運動資訊。
4、率失真原則(Rate-Distortion Optimized,簡稱RDO):評價編碼效率的指標包括:碼率(又稱為位元速率,Bit Per Second,BPS)和峰值信噪比(Peak Signal to Noise Ratio,簡稱PSNR)。碼率越小,則壓縮率越大;PSNR越大,重建圖像品質越好。在編碼模式選擇的時候,判別公式實質上也就是對二者的綜合評價。
例如,編碼模式對應的代價:J(mode)=D+λ*R。其中,D表示失真(Distortion),通常使用SSE(Sum-Square Error,差值均方和)指標來衡量,SSE是指重建塊與源圖像塊的差值均方和;λ是拉格朗日乘子;R就是該編碼模式下圖像塊編碼所需的實際比特數,包括編碼模式資訊、運動資訊、預測殘差等所需的比特總和。
在編碼模式選擇時,若使用RDO原則去對編碼模式做比較決策,通常可以保證編碼性能最佳。
下面再對現有視頻編碼標準中塊劃分技術以及現有視頻編解碼的主要流程進行簡單說明。
視頻編碼標準中塊劃分技術:
在HEVC中,例如,一個編碼樹單元(Coding Tree Unit,簡稱CTU)使用四叉樹遞迴劃分成編碼單元(Coding Units,簡稱CU)。如圖1A和圖1B所示,未劃分的編碼樹單元即為一個最大編碼單元(LCU)。在下文中提到的CTU可以與LCU互換使用。在葉子節點CU級確定是否使用幀內編碼或者幀間編碼。CU可以進一步劃分成兩個或者四個預測單元(Prediction Unit,簡稱PU),同一個PU內使用相同的預測資訊。在預測完成後得到殘差資訊後,一個CU可進一步四叉劃分成多個變換單元(Transform Units,簡稱TU)。例如,本申請中的當前塊即為一個PU。
但是在最新提出的通用視頻編碼中的塊劃分技術有了較大變化。一種混合了二叉樹/三叉樹/四叉樹的劃分結構取代了原先的劃分模式,取消了原先CU、PU、TU的概念的區分,支持了CU的更靈活的劃分方式。其中,CU可以是正方形也可以是矩形劃分。CTU首先進行四叉樹的劃分,然後四叉樹劃分得到的葉子節點可以進一步進行二叉樹和三叉樹的劃分。圖1A所示,CU可有五種劃分類型,分別為四叉樹劃分、水準二叉樹劃分、垂直二叉樹劃分、水準三叉樹劃分和垂直三叉樹劃分,如圖1B所示,一種CTU內的CU劃分可以是上述五種劃分類型的任意組合,使得各個PU的形狀有所不同,如不同尺寸的矩形、正方形。
視頻編解碼的主要流程:
請參考圖2中的(a),以視頻編碼為例,視頻編碼一般包括預測、變換、量化、熵編碼等過程,進一步地,編碼過程還可以按照圖2中的(b)的框架來實現。
其中,預測可以分為幀內預測和幀間預測,幀內預測是利用周圍已編碼塊作為參考對當前未編碼塊進行預測,有效去除空域上的冗餘。幀間預測是使用鄰近已編碼圖像對當前圖像進行預測,有效去除時域上的冗餘。
變換是指將圖像從空域轉換至變換域,利用變換係數對圖像加以表示。絕大多數圖像都含有較多平坦區域和緩慢變化的區域,適當的變換可以使圖像由在空域的分散分佈轉換為在變換域的相對集中分佈,去 除信號之間的頻域相關性,配合量化過程,可以有效壓縮碼流。
熵編碼是一種無損編碼方式,可以把一系列元素符號(例如,用於表示視頻序列)轉變為用來傳輸或存儲的二進位碼流。輸入熵編碼模組的元素符號可能包括量化後的變換係數、運動向量資訊、預測模式資訊、變換量化相關語法等。熵編碼可以有效地去除視頻元素符號的冗餘。
上述是以編碼為例進行介紹,視頻解碼與視頻編碼的過程是相對的,即視頻解碼通常包括熵解碼、預測、反量化、反變換、濾波等過程,各個過程的實現原理與熵編碼相同或相似。
下面再對ATMVP技術的實現進行簡單說明。
ATMVP技術的實現主要包括以下流程:
1)、確定時域運動向量預測(Temporal Motion Vector Prediction,簡稱TMVP):判斷當前編碼塊的A0位置的運動資訊是否滿足如下條件:
a)A0位置存在,且與當前編碼單元處於同一個片(Slice)和單元(Tile);
b)A0位置的預測模式為幀間預測模式;
c)A0位置的參考幀索引與當前幀對應的co-located幀的參考幀索引一致(先判斷L0方向,再判斷L1方向)。
其中,A0位置即(xCb-1,yCb+CbHeight-1)的位置;(xCb,yCb)為當前塊的左上角的座標,CbHeight為當前塊的高度。
2)、計算中心參考塊的位置:步驟1)中獲取到的TMVP的精度為1/16,需要將A0位置的運動向量右移4位,從而將該運動向量轉化為整圖元。同時,需要將中心參考塊的位置修剪(Clip)到當前CTU的範圍內,即當中心參考塊的位置未處於當前CTU範圍內時,將中心參考塊水準平移或/和垂直平移到剛好處於當前CTU範圍內,其示意圖如圖3所示。在本申請中,當前CTU可表示參考幀中的CTU。當前CTU與匹配塊位於同一圖像中,並且當前CTU可以為參考幀中與當前塊所在的最大編碼單元位於相同位置的最大編碼單元。
中心參考塊的位置的計算方式如下所示:
yColCb=Clip3(yCtb,Min(PicHeight-1,yCtb+(1<<CtbLog2size)-1),yColCtrCb+(tempMv[1]>>4)),
其中,(xColCb,yColCb)為中心參考塊的左上角的座標,(xCtb,yCtb)為當前CTU的左上角的座標,PicWidth和PicHeight分別為當前幀的寬和高,CtbLog2Size為以2為底對當前CTU的尺寸取對數,(xColCtrCb,yColCtrCb)為當前塊的中心位置的座標,tempMv[0]和tempMv[1]分別為A0位置的水準運動向量和垂直運動向量。
3)、判斷中心參考塊的預測模式,若預測模式為非幀間預測模式,則ctrPredFlagL0和ctrPredFlagL1均為0;否則,即預測模式為幀間預測模式,轉至步驟4)。
4)、調整參考位置:因為子塊大小為8*8,運動資訊是以8*8為單位。因此,需要將中心參考塊的左上角的座標調整到8倍座標位置。調整公式如下所示:
xColCb=((xColCb>>3)<<3)
yColCb=((yColCb>>3)<<3)
5)、獲取調整後的中心參考塊的運動資訊:若調整後的中心參考塊的預測模式為幀內預測或者幀內塊複製(Intra Block Copy,簡稱IBC)模式,則FlagLXCol=0;否則,分別判斷調整後的中心參考塊的L0和L1方向的運動資訊是否存在,若存在,則FlagLXCol=1,獲取調整後的中心參考塊的L0和/或L1方向的運動資訊。
示例性的,LX=L0或LX=L1,當調整後的中心參考塊的預測模式為幀內預測模式或幀內塊複製模式時,FlagL0Col=0,且FlagL1Col=0。
當調整後的中心參考塊的預測模式不是幀內預測模式,也不是幀內塊複製模式時,則當調整後的中心參考塊的L0方向的運動資訊存在時,FlagL0Col=1,當調整後的中心參考塊的L0方向的運動資訊不存在時,FlagL0Col=0;當調整後的中心參考塊的L1方向的運動資訊存在時,FlagL1Col=1,當調整後的中心參考塊的L1方向的運動資訊不存在時,FlagL1Col=0。
當FlagLXCol=1時,若當前幀的長期參考幀和co-located幀的 長期參考幀不是同一幀,則確定調整後的中心參考塊的運動資訊不可用,ctrPredFlagLX=0;否則,將該調整後的中心參考塊的運動資訊伸縮(scale)到指向ListX(X=0或1)的第一幀,並將伸縮後的運動資訊作為當前中心參考塊位置的運動資訊,ctrPredFlagLX=1。在本申請中,ListX可以用來表示參考圖像佇列X,例如,List0可表示參考圖像佇列0,List1可表示參考圖像佇列1。
6)、當ctrPredFlagLX=1時,計算每個子塊的運動資訊:遍歷匹配塊內的每個子塊,對於任一子塊,將該子塊clip到當前CTU的範圍內,若clip後的子塊的運動資訊可用,則將該clip後的子塊的運動資訊伸縮到指向ListX的第一幀,並將伸縮後的運動資訊賦予當前塊對應位置的子塊;若clip後的子塊的運動資訊不可用,則將調整後的中心參考塊的中心位置的運動資訊伸縮到指向ListX的第一幀,並將伸縮後的運動資訊賦予當前塊對應位置的子塊。
為了使本申請實施例的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖對本申請實施例中技術方案作進一步詳細的說明。
請參見圖4A,為本申請實施例提供的一種解碼方法的流程示意圖,其中,該解碼方法可以應用於解碼端設備,如圖4A所示,該解碼方法可以包括以下步驟:
步驟401:當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;
步驟402:確定所述當前塊的匹配塊;
步驟403:基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
步驟404:基於所述索引資訊,從所述時域候選模式清單中確定增強型時域運動向量預測模式;
步驟405:基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償。其中,所述基於所確定的增強型時域運動向量 預測模式,確定所述當前塊內各子塊的運動資訊可包括:對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊。其中,可利用序列參數集級語法表示所述當前塊是否開啟增強的時域運動向量預測技術。
在本申請實施例中,所述確定當前塊的匹配塊可包括:至少根據目標參考幀索引、目標參考方向和當前塊的位置,確定當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
請參見圖4B,為本申請實施例提供的另一種解碼方法的流程示意圖,其中,該解碼方法可以應用於解碼端設備,如圖4B所示,該解碼方法可以包括以下步驟:
步驟S400、獲取當前塊的碼流,並從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊,該索引資訊為增強型時域運動向量預測模式在編碼端設備構建的第一時域候選模式清單中的位置。
本申請實施例中,當前塊可以為待處理圖像中的任一個圖像塊。在實施中,可以將待處理圖像劃分為多個圖像塊,然後可以按一定順序依次對每個圖像塊進行處理。其中,每個圖像塊的大小和形狀可以根據預設的劃分規則進行設置。
對於解碼端設備,當前塊為待解碼塊。
該碼流為編碼端發送的,該碼流可以為二進位碼流,該碼流中可以攜帶解碼端設備解碼需要獲知的一些資訊,譬如,該碼流可以攜帶用於 編碼端設備採用的編碼方式的資訊、當前塊的尺寸等資訊。
為了提高匹配塊的運動資訊的可靠性,基於當前塊的周圍塊確定的匹配塊的數量不再限於一個,而是可以為多個,編碼端設備可以基於該多個匹配塊各自對應的時域預測模式(本文中可以稱為候選增強型時域運動向量預測模式)構建時域候選模式清單(本文中稱為第一時域候選模式清單),並將最終使用的匹配塊對應的候選增強型時域運動向量預測模式(本文中稱為增強型時域運動向量預測模式)的索引資訊編碼到當前塊的碼流中,該索引資訊用於標識增強型時域運動向量預測模式在編碼端設備構建的第一時域候選模式清單中的位置。
當解碼端設備獲取到當前塊的碼流時,可以從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊。
步驟S410、基於當前塊的第一周圍塊,確定當前塊的匹配塊。
本申請實施例中,當前塊的第一周圍塊可以包括當前塊的任一已解碼的相鄰塊或非相鄰塊。
舉例來說,請參見圖5,當前塊的第一周圍塊可以為A、B、C、D、F和G中的任一塊。
解碼端設備可以基於當前塊的第一周圍塊確定當前塊的匹配塊。
作為一種可能的實施例,如圖6所示,在步驟S410中,基於當前塊的第一周圍塊,確定當前塊的匹配塊,可以通過以下步驟實現:
步驟S411、基於當前塊的第一周圍塊,確定第一階段的運動資訊;
步驟S412、基於第一階段的運動資訊,確定當前塊的匹配塊。
示例性的,第一階段可以指基於當前塊的周圍塊確定當前塊的匹配塊的過程,第一階段的運動資訊可以指基於當前的第一周圍塊確定的、用於確定當前塊的匹配塊的運動資訊。
示例性的,List0和List1均用於記錄雙向預測模式下的參考幀的資訊,例如,幀號等參考幀的標識資訊,基於List0或List1中的幀的索引,可以確定參考幀資訊,如確定參考幀的幀號,進而,可以基於該幀號獲 取對應的參考幀。
在本申請實施例中,基於當前塊的第一周圍塊,確定第一階段的運動資訊時,可以包括:
確定第一階段的運動向量為0,參考幀索引為List0中的第一幀的索引,第一階段的運動資訊的參考方向為List0方向;或,
確定第一階段的運動向量為0,參考幀索引為List1中的第一幀的索引,第一階段的運動資訊的參考方向為List1方向。
在本申請實施例中,List0和List1均用於記錄雙向預測模式下的參考幀的資訊,例如,幀號等參考幀的標識資訊,基於List0或List1中的幀的索引,可以確定參考幀資訊,如確定參考幀的幀號,進而,可以基於該幀號獲取對應的參考幀。
作為一種可能的實施例,在步驟S420中,基於第一階段的運動資訊,確定當前塊的匹配塊,可以包括:
基於當前塊的位置、第一階段的水準運動向量、垂直運動向量,確定當前塊的匹配塊。該確定步驟還可以結合運動向量的精度來執行。
示例性的,當確定了第一階段的運動資訊時,解碼端設備可以基於第一階段的水準運動向量(即第一階段的運動向量的水準分量)、垂直運動向量(即第一階段的運動向量的垂直分量)以及當前塊的位置,確定當前塊的匹配塊,即對第一階段的運動資訊對應的位置進行調整。
示例性的,運動向量的精度的取值可以包括但不限於4、2、1、1/2、1/4、1/8或1/16。
示例性的,當前塊的位置可以通過當前塊的左上角的座標來表示。
解碼端設備可以基於運動向量的精度,分別對第一階段的水準運動向量和垂直運動向量進行左移(精度大於1)或右移(精度小於1)若干位,將其轉化為整圖元,基於當前塊的位置以及第一階段的水準運動向量和垂直運動向量,確定參考位置,並基於預設值(可以根據實際場景設定,如3),對參考位置進行調整,進而,基於調整後的參考位置確定匹配塊的位置,其具體實現可以參見下文中的具體實施例。
作為另一種可能的實施例,在步驟S420中,基於第一階段的運動資訊,確定當前塊的匹配塊,可以包括:
基於當前塊的位置、第一階段的水準運動向量、垂直運動向量以及子塊大小,確定當前塊的匹配塊。
示例性的,當確定了第一階段的運動資訊時,解碼端設備可以基於第一階段的水準運動向量(即第一階段的運動向量的水準分量)、垂直運動向量(即第一階段的運動向量的垂直分量)以及當前塊的位置,確定當前塊的匹配塊,即對第一階段的運動資訊對應的位置進行調整。
示例性的,運動向量的精度的取值可以包括但不限於4、2、1、1/2、1/4、1/8或1/16。
當前塊的位置可以通過當前塊的左上角的座標來表示。
解碼端設備可以基於運動向量的精度,分別對第一階段的水準運動向量和垂直運動向量進行左移(精度大於1)或右移(精度小於1)若干位,將其轉化為整圖元,基於當前塊的位置以及轉化後的第一階段的水準運動向量和垂直運動向量,確定參考位置,並基於子塊大小,對參考位置進行調整(可以稱為對齊調整),進而,基於調整後的參考位置確定匹配塊的位置。
示例性的,假設子塊大小為2N*2N,則可以先對參考位置右移N位,然後左移N位元,N為正整數。
示例性的,考慮到基於子塊邊長對參考位置進行對齊調整時,參考位置的橫縱坐標對子塊的邊長取餘後的餘數部分通常會直接被捨棄,但是當參考位置的橫縱坐標對子塊的邊長取餘後的餘數大於邊長的一半時,對取餘後的餘數進行進一處理的效果會比直接將餘數捨棄的效果更好,所確定的匹配塊通常會更優。
示例性的,在確定了第一階段的運動資訊之後,可以分別基於預設調整值對第一階段的水準運動向量和垂直運動向量進行調整,並基於調整後的第一階段的水準運動向量和垂直運動向量、運動向量的精度以及當前塊的位置,確定當前塊的匹配塊。
或者,可以基於第一階段的水準運動向量和垂直運動向量以 及運動向量的精度,初步確定匹配塊的左上角的橫縱坐標,並分別基於預設調整值對初步確定的匹配塊的左上角的橫縱坐標進行調整,最後基於子塊邊長對調整後的橫縱坐標進行對齊調整,其具體實現可以參見下文中的具體實施例。
例如,可以基於運動向量的精度將第一階段的水準運動向量和垂直運動向量轉化為整圖元後,分別在轉化後的第一階段的水準運動向量和垂直運動向量的基礎上加上2N-1,或者分別在按照上述方式初步確定的匹配塊的左上角的橫縱坐標的基礎上加上2N-1,2N為子塊的邊長。
示例性的,對第一階段的水準運動向量進行調整時的調整值與對第一階段的垂直運動向量進行調整時的調整值可以相同,也可以不同;
或,對初步確定的匹配塊的左上角的橫坐標進行調整的調整值與對初步確定的匹配塊的左上角的縱坐標進行調整的調整值可以相同,也可以不同。
步驟S420、基於該匹配塊以及對該匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所確定的候選增強型時域運動向量預測模式構建第二時域候選模式清單。
本申請實施例中,當確定了步驟S410中的匹配塊時,可以通過對該匹配塊進行偏移的方式來得到新的匹配塊。
示例性的,通過對匹配塊進行偏移的方式得到的新的匹配塊的數量可以為一個或多個。
解碼端設備可以基於步驟S410中確定的匹配塊以及步驟S420中得到的新的匹配塊,將該匹配塊對應的時域預測模式、以及新的匹配塊對應的時域預測模式確定為候選增強型時域運動向量預測模式,並基於所確定的候選增強型時域運動向量預測模式構建時域候選模式清單(本文中稱為第二時域候選模式清單)。
示例性的,候選增強型時域運動向量預測模式的數量,以及各候選增強型時域運動向量預測模式加入到時域候選模式清單的順序均可以不做限定,但解碼端設備和編碼端設備需要保持一致。
需要說明的是,在具體實施場景中,可能會出現對匹配塊進行 偏移得到的新的匹配塊的運動資訊與匹配塊的運動資訊相同或相近的情況,在該情況下,可以不將新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式。
作為一種可能的實施例,對匹配塊進行偏移得到新的匹配塊,可以通過以下方式實現:
將第一子塊和第二子塊Clip到當前CTU的範圍內,並比較Clip後的第一子塊和第二子塊的運動資訊;以及,將第三子塊和第四子塊Clip到當前CTU的範圍內,並比較Clip後的第三子塊和第四子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對匹配塊水準向右偏移一個單位,得到一個新的匹配塊;
將第五子塊和第六子塊Clip到當前CTU的範圍內,並比較Clip後的第五子塊和第六子塊的運動資訊;以及,將第七子塊和第八子塊Clip到當前CTU的範圍內,並比較Clip後的第七子塊和第八子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對匹配塊水準向左偏移一個單位,得到一個新的匹配塊;
將第一子塊和第九子塊Clip到當前CTU的範圍內,並比較Clip後的第一子塊和第九子塊的運動資訊;以及,將第五子塊和第十子塊Clip到當前CTU的範圍內,並比較Clip後的第五子塊和第十子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對匹配塊垂直向下偏移一個單位,得到一個新的匹配塊;
將第三子塊和第十一子塊Clip到當前CTU的範圍內,並比較Clip後的第三子塊和第十一子塊的運動資訊;以及,將第七子塊和第十二子塊Clip到當前CTU的範圍內,並比較Clip後的第七子塊和第十二子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對匹配塊垂直向上偏移一個單位,得到一個新的匹配塊。
示例性的,第一子塊為匹配塊的左上角的子塊,第二子塊為匹配塊正右側最上方的相鄰子塊,第三子塊為匹配塊的左下角的子塊,第四子塊為匹配塊正右側最下方的相鄰子塊,第五子塊為匹配塊的右上角的子塊,第六子塊為匹配塊正左側最上方的相鄰子塊,第七子塊為匹配塊的右下角的 子塊,第八子塊為匹配塊正左側最下方的相鄰子塊,第九子塊為匹配塊正下方最左側的相鄰子塊,第十子塊為匹配塊正下方最右側的相鄰子塊,第十一子塊為匹配塊正上方最左側的相鄰子塊,第十二子塊為匹配塊正上方最右側的相鄰子塊。
示例性的,一個單位為子塊的大小。
例如,對於8*8的子塊,一個單位為8圖元;對於4*4的子塊,一個單位為4圖元;對於16*16的子塊,一個單位為16圖元。
需要說明的是,在對匹配塊進行偏移時,也並不限於按照上述實施例中描述的偏移一個單位,也可以是其他數值,例如,當子塊為8*8子塊時,對匹配塊進行偏移時,也可以偏移8圖元之外的其他值,其具體實現在此不做贅述。
以圖7為例,第一子塊為A1,第二子塊為B2,第三子塊為A3,第四子塊為B4,第五子塊A2,第六子塊為B1,第七子塊為A4,第八子塊為B3,第九子塊為C3,第十子塊為C4,第十一子塊為C1,第十二子塊為C2。
以A1、B2、A3和B4為例,解碼端設備可以分別將A1、B2、A3和B4 Clip到當前CTU(即當前塊所歸屬的CTU)的範圍內,並比較Clip後的A1和B2的運動資訊,以及Clip後的A3和B4的運動資訊。考慮到若Clip後的A1和B2的運動資訊相同,且Clip後的A3和B4的運動資訊相同,則Clip後的A1和B2之間其他子塊的運動資訊大概率也會相同,Clip後的A3和B4之間的其他子塊的運動資訊大概率也會相同,對該匹配塊水準向右偏移一個單位,得到的新的匹配塊的運動資訊大概率會與原匹配塊的運動資訊相同,此次偏移可能無法得到新的運動資訊。
而若Clip後的A1和B2的運動資訊不同,或/和Clip後的A3和B4的運動資訊不同,則可以通過對匹配塊水準向右偏移一個單位,得到一個新的匹配塊,進而得到新的運動資訊。
同理,可以按照上述邏輯確定是否可以通過對匹配塊水準向左偏移一個單位、垂直向上偏移一個單位或垂直向下偏移一個單位,得到對應的新的匹配塊。
需要說明的是,在該實施例中,當按照上述方式未得到新的匹配塊時,可以確定原匹配塊為最終的候選匹配塊,或者,可以按照其他偏移策略再次對當前匹配塊進行偏移,以得到新的匹配塊。
作為另一種可能的實施例,對匹配塊進行偏移得到的新的匹配塊,可以通過以下方式確定:
分別基於一個或多個偏移量對,對匹配塊進行水準方向和垂直方向的偏移,得到一個或多個新的匹配塊。
示例性的,解碼端設備還可以通過分別對該匹配塊在水準方向和垂直方向上偏移一個預設偏移量的方式,得到新的匹配塊。
示例性的,對匹配塊在水準方向進行偏移的一個偏移量和對匹配塊在垂直方向進行偏移的一個偏移量構成一個偏移量對。
解碼端設備可以分別基於一個或多個偏移量對,對匹配塊進行水準方向和垂直方向的偏移,得到一個或多個新的匹配塊。
作為又一種可能的實施例,步驟S410中,確定當前塊的匹配塊之後,還可以包括:
將所確定的匹配塊Clip到當前CTU的範圍內。
示例性的,為了提高後續流程中確定當前塊的各子塊的運動資訊的效率,當確定了步驟S410中的匹配塊時,可以對所確定的匹配塊進行Clip操作,將該匹配塊Clip到當前CTU的範圍內,以保證匹配塊的各子塊均在當前CTU的範圍內。
在一個示例中,對匹配塊進行偏移得到的新的匹配塊,可以通過以下方式確定:
當Clip後的匹配塊的右邊界未處於當前CTU的右邊界位置上時,比較第十三子塊和第十四子塊的運動資訊,並比較第十五子塊和第十六子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對Clip後的匹配塊水準向右偏移一個單位,得到一個新的匹配塊;
當Clip後的匹配塊的左邊界未處於當前CTU的左邊界位置上時,比較第十七子塊和第十八子塊的運動資訊,並比較第十九子塊和第二十子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同, 則對Clip後的匹配塊水準向左偏移一個單位,得到一個新的匹配塊;
當Clip後的匹配塊的下邊界未處於當前CTU的下邊界位置上時,比較第十三子塊和第二十一子塊的運動資訊,並比較第十七子塊和第二十二子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對Clip後的匹配塊垂直向下偏移一個單位,得到一個新的匹配塊;
當Clip後的匹配塊的上邊界未處於當前CTU的上邊界位置上時,比較第十五子塊和第二十三子塊的運動資訊,並比較第十九子塊和第二十四子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對Clip後的匹配塊垂直向上偏移一個單位,得到一個新的匹配塊;
示例性的,第十三子塊為Clip後的匹配塊的左上角的子塊,第十四子塊為Clip後的匹配塊正右側最上方的相鄰子塊,第十五子塊為Clip後的匹配塊的左下角的子塊,第十六子塊為Clip後的匹配塊正右側最下方的相鄰子塊,第十七子塊為Clip後的匹配塊的右上角的子塊,第十八子塊為Clip後的匹配塊正左側最上方的相鄰子塊,第十九子塊為Clip後的匹配塊的右下角的子塊,第二十子塊為Clip後的匹配塊正左側最下方的相鄰子塊,第二十一子塊為Clip後的匹配塊正下方最左側的相鄰子塊,第二十二子塊為Clip後的匹配塊正下方最右側的相鄰子塊,第二十三子塊為Clip後的匹配塊正上方最左側的相鄰子塊,第二十四子塊為Clip後的匹配塊正上方最右側的相鄰子塊。
示例性的,一個單位為子塊的邊長,例如,子塊大小為8*8,子塊的邊長為8圖元大小。
仍以圖7為例,假設圖7中的匹配塊為Clip後的匹配塊,則第十三子塊為A1,第十四子塊為B2,第十五子塊為A3,第十六子塊為B4,第十七子塊A2,第十八子塊為B1,第十九子塊為A4,第二十子塊為B3,第二十一子塊為C3,第二十二子塊為C4,第二十三子塊為C1,第二十四子塊為C2。
為了保證匹配塊中各子塊處於當前CTU的範圍內,以提高確定當前塊內各子塊的運動資訊的效率,當確定了步驟S410中的匹配塊時,可以對該匹配塊進行Clip操作,以使Clip後的匹配塊處於當前CTU範圍內。
考慮到匹配塊的頂點座標均是按照子塊的邊長的整數倍對齊的,即匹配塊的頂點的座標均為子塊的邊長的整數倍,因此,Clip後的匹配塊的邊界到當前CTU的各邊界位置的距離均為子塊邊長的整數倍。
為了保證偏移得到的匹配塊中各子塊處於當前CTU的範圍內,在對Clip後的匹配塊進行偏移時,需要保證在偏移方向上、Clip後的匹配塊的邊界與對應的當前CTU的邊界位置的距離大於0,即在偏移方向上、Clip後的匹配塊的邊界未處於對應的當前CTU邊界位置上。
示例性的,當Clip後的匹配塊的右邊界未處於當前CTU的右邊界位置上時,解碼端設備可以基於A1和B2的運動資訊的比較結果,以及A3和B4的運動資訊的比較結果,確定是否需要對Clip後的匹配塊進行水準向右的偏移。若該兩個比較結果中至少一個比較結果為運動資訊不同,則可以對Clip後的匹配塊水準向右偏移一個單位。
同理,當Clip後的匹配塊的左邊界未處於當前CTU的左邊界位置上時,解碼端設備可以基於A2和B1的運動資訊的比較結果,以及A4和B3的運動資訊的比較結果,確定是否需要對Clip後的匹配塊進行水準向左的偏移。若該兩個比較結果中至少一個比較結果為運動資訊不同,則可以對Clip後的匹配塊水準向左偏移一個單位。
當Clip後的匹配塊的下邊界未處於當前CTU的下邊界位置上時,解碼端設備可以基於A1和C3的運動資訊的比較結果,以及A2和C4的運動資訊的比較結果,確定是否需要對Clip後的匹配塊進行垂直向下的偏移。若該兩個比較結果中至少一個比較結果為運動資訊不同,則可以對Clip後的匹配塊垂直向下偏移一個單位。
當Clip後的匹配塊的上邊界未處於當前CTU的上邊界位置上時,解碼端設備可以基於A3和C1的運動資訊的比較結果,以及A4和C2的運動資訊的比較結果,確定是否需要對Clip後的匹配塊進行垂直向上的偏移。若該兩個比較結果中至少一個比較結果為運動資訊不同,則可以對Clip後的匹配塊垂直向上偏移一個單位。在一個示例中,步驟S420中,基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,可以包括:
當存在至少一個新的匹配塊時,將偏移前的匹配塊對應的預測模式,以及偏移得到的新的匹配塊對應的預測模式,確定為候選增強型時域運動向量預測模式。
示例性的,當在對匹配塊進行偏移前,對匹配塊進行了Clip操作時,偏移前的匹配塊可以為Clip後的匹配塊;當在對匹配塊進行偏移前,未對匹配塊進行Clip操作時,偏移前的匹配塊即為原匹配塊。
示例性的,當解碼端設備按照上述實施例中描述的方式得到至少一個新的匹配塊時,解碼端設備可以將偏移前的匹配塊對應的預測模式,以及偏移得到的新的匹配塊對應的預測模式,確定為候選增強時域運動向量預測模式。
需要說明的是,當存在多個新的匹配塊時,解碼端設備可以將該多個新的匹配塊對應的預測模式中的部分或全部預測模式確定為候選增強型時域運動向量預測模式。
當解碼端設備按照上述實施例中描述的方式未得到新的匹配塊時,解碼端設備可以將偏移前的匹配塊對應的預測模式,確定為候選增強型時域運動向量預測模式。
示例性的,第二時域候選模式清單中包含至少一個候選增強型時域運動向量預測模式,各候選增強型時域運動向量預測模式分別對應不同的匹配塊。
步驟S430、基於增強型時域運動向量預測模式的索引資訊,從第二時域候選模式清單中確定增強型時域運動向量預測模式。
本申請實施例中,考慮到當前採用本申請實施例提供的技術方案時,對於同一圖像塊,編碼端設備和解碼端設備在構建時域候選模式清單時,各候選增強型時域運動向量預測模式在時域候選模式清單中的順序是相同的,因此,增強型時域運動向量預測模式在編碼端設備構建的時域候選模式清單中的位置,與該增強型時域運動向量預測模式在解碼端設備構建的時域候選模式清單中的位置相同。
因而,解碼端設備可以基於從當前塊的碼流中解析得到的增強型時域運動向量預測模式的索引資訊,從解碼端設備所構建的第二時域候 選模式清單中,確定增強型時域運動向量預測模式。
步驟S440、基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償。
本申請實施例中,當確定了增強型時域運動向量預測模式時,可以基於該增強型時域運動向量預測模式對應的匹配塊(本文中可以將該匹配塊稱為目標匹配塊),確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償。
示例性的,第二時域候選模式清單中各候選增強型時域運動向量預測模式分別對應不同的匹配塊。
作為一種可能的實施例,步驟S440中,基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,可以包括:
對於目標匹配塊中的任一子塊,將該子塊Clip到當前CTU的範圍內;
若Clip後的子塊的前向運動資訊和後向運動資訊均可用,則將Clip後的子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊;
若Clip後的子塊的前向運動資訊可用,但後向運動資訊不可用,則將Clip後的子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;
若Clip後的子塊的後向運動資訊可用,但前向運動資訊不可用,則將Clip後的子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊。
示例性的,為了提升所確定的當前塊的各子塊的運動資訊的準確性,對於目標匹配塊中的任一子塊,解碼端設備可以將該子塊Clip到當前CTU的範圍內,並判斷Clip後的子塊的前向運動資訊以及後向運動資訊是否可用。
當Clip後的子塊的前向運動資訊和後向運動資訊均可用時, 解碼端設備可以分別對Clip後的子塊的前向運動資訊和後向運動資訊進行伸縮,以將該Clip後的子塊的前向運動資訊伸縮到指向List0的第一幀,並將該Clip後的子塊的後向運動資訊伸縮到指向List1的第一幀,進而,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊。
當Clip後的子塊的前向運動資訊可用,但後向運動資訊不可用時,將Clip後的子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;
當Clip後的子塊的後向運動資訊可用,但前向運動資訊不可用時,將Clip後的子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊。
需要說明的是,在該實施例中,對於Clip後的子塊的前向運動資訊可用,但後向運動資訊不可用的情況,也可以將Clip後的子塊的前向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,並將伸縮後的運動資訊賦予當前塊對應的子塊(指向List0的第一幀的伸縮後的運動資訊作為前向運動資訊,指向List1的第一幀的伸縮後的運動資訊作為後向運動資訊)。
Clip後的子塊的後向運動資訊可用,但前向運動資訊不可用的情況同理可得。
示例性的,對於目標匹配塊中的任一子塊,若將該子塊Clip到當前CTU的範圍內時,Clip後的子塊的前向運動資訊和後向運動資訊均不可用,則至少可以通過以下方式來確定當前塊內對應位置的子塊的運動資訊:
若Clip後的子塊的前向運動資訊和後向運動資訊均不可用,則當當前塊的第二周圍塊的前向運動資訊和後向運動資訊均可用時,將第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;當第二周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;當第二周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第二周圍塊的後向運動資訊伸縮到指 向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊;當第二周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予所述當前塊對應位置的子塊。
示例性的,當前塊的第一周圍塊可以包括當前塊的任一已解碼的相鄰塊或非相鄰塊。
第二周圍塊與第一周圍塊可以相同,也可以不同。
示例性的,當Clip後的子塊的前向運動資訊和後向運動資訊均不可用時,解碼端設備可以判斷當前塊的第二周圍塊的前向運動資訊以及後向運動資訊是否可用,若該第二周圍塊的前向運動資訊和後向運動資訊均可用,則解碼端設備可以將該第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,並將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊。
若第二周圍塊的前向運動資訊可用,但後向運動資訊不可用,則將第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊。
若第二周圍塊的後向運動資訊可用,但前向運動資訊不可用,則將第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊。
若第二周圍塊的前向運動資訊和後向運動資訊均不可用,則解碼端設備可以將零運動資訊賦予當前塊對應位置的子塊。
需要說明的是,在該實施例中,對於Clip後的目標匹配塊的中心位置的前向運動資訊可用,但後向運動資訊不可用的情況,也可以將Clip後的目標匹配塊的中心位置的前向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,並將伸縮後的運動資訊賦予當前塊對應的子塊(指向List0的第一幀的伸縮後的運動資訊作為前向運動資訊,指向List1的第一幀的伸縮後的運動資訊作為後向運動資訊)。
Clip後的目標匹配塊的中心位置的後向運動資訊可用,但前向運動資訊不可用以及第二周圍塊的前向運動資訊中一個可用,但另一個不可用的情況均同理可得。
作為一種可能的實施例,步驟S440中,基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,可以包括:
對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊。
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊。
示例性的,為了提升確定當前塊的各子塊的運動資訊的效率,對於目標匹配塊中的任一子塊,解碼端設備可以判斷該子塊的運動資訊是否可用。
當該子塊的前向運動資訊和後向運動資訊均可用時,解碼端設備可以分別對該子塊的前向運動資訊和後向運動資訊進行伸縮,以將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將該子塊的後向運動資訊伸縮到指向List1的第一幀,進而,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊。
當該子塊的前向運動資訊可用,但後向運動資訊不可用時,將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;
當該子塊的後向運動資訊可用,但前向運動資訊不可用時,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊。
需要說明的是,在該實施例中,對於子塊的前向運動資訊可用,但後向運動資訊不可用的情況,也可以將子塊的前向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,並將伸縮後的運動資訊賦予當前塊對應 的子塊(指向List0的第一幀的伸縮後的運動資訊作為前向運動資訊,指向List1的第一幀的伸縮後的運動資訊作為後向運動資訊)。
子塊的後向運動資訊可用,但前向運動資訊不可用的情況同理可得。
示例性的,對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均不可用,則至少可以通過以下方式來確定當前塊內對應位置的子塊的運動資訊:
若該子塊的前向運動資訊和後向運動資訊均不可用,則當當前塊的第二周圍塊的前向運動資訊和後向運動資訊均可用時,將第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;當第二周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;當第二周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊;當第二周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予所述當前塊對應位置的子塊。
示例性的,當該子塊的前向運動資訊和後向運動資訊均不可用時,解碼端設備可以判斷當前塊的第二周圍塊的前向運動資訊以及後向運動資訊是否可用,若該第二周圍塊的前向運動資訊和後向運動資訊均可用,則解碼端設備可以將該第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,並將伸縮後的前向運動資訊和後向運動資訊賦予當前塊對應位置的子塊。
若第二周圍塊的前向運動資訊可用,但後向運動資訊不可用,則將第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊。
若第二周圍塊的後向運動資訊可用,但前向運動資訊不可用,則將第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的 後向運動資訊賦予當前塊對應位置的子塊。
若第二周圍塊的前向運動資訊和後向運動資訊均不可用,則解碼端設備可以將零運動資訊賦予當前塊對應位置的子塊。
在該實施例中,當前塊的第二周圍塊與上文中提到的第一周圍塊可以相同,也可以不同。參照圖5,該第二周圍塊例如可以是當前塊的正左側最下方的相鄰塊,即F塊。
作為一種可能的實施例,步驟S400或S402中,從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊,可以包括:
當確定當前塊啟用增強的時域運動向量預測技術時,從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊。
示例性的,為了增強本申請實施例提供的技術(本文中稱為增強的時域運動向量預測(Enhanced Tmporal Motion Vector Prediction,簡稱為ETMVP)技術)的可控性和靈活性,並實現對傳統ATMVP技術的相容,可以根據實際場景控制增強的時域運動向量預測技術啟用。
當解碼端設備接收到當前塊的碼流,且確定當前塊啟用增強的時域運動向量預測技術時,解碼端設備可以從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊,並按照上述實施例中描述的方式進行後續處理。
當解碼端設備確定當前塊未啟用增強的時域運動向量預測技術時,解碼端設備可以按照傳統ATMVP技術進行處理。
在一個示例中,利用序列參數集(Sequence Paramater Set,簡稱SPS)級語法表示當前塊是否啟用增強的時域運動向量預測技術。
示例性的,為了減少增強的時域運動向量預測技術是否啟用的控制的比特消耗,可以利用SPS級語法控制當前塊是否啟用增強的時域運動向量預測技術。
對於一個圖像序列,可以設置一個SPS級的標誌位元,通過該SPS級的標誌位元指示該圖像序列是否啟用增強的時域運動向量預測技術。
例如,該SPS級的標誌位元可以為長度為1bit的標誌位元,當該標誌位元的值為第一值(如1)時,指示對應的圖像序列啟用增強的時域 運動向量預測技術;當該標誌位元的值為第二值(如0)時,指示對應的圖像序列未啟用增強的時域運動向量預測技術。
對於任一塊,解碼端設備可以基於該塊所屬圖像序列是否啟用增強的時域運動向量預測技術,確定當前塊是否啟用增強的時域運動向量預測技術。
示例性的,當當前塊所屬圖像序列啟用增強的時域運動向量預測技術時,確定當前塊啟用增強的時域運動向量預測技術;
當當前塊所屬圖像序列未啟用增強的時域運動向量預測技術時,確定當前塊未啟用增強的時域運動向量預測技術。
在本申請實施例中,獲取當前塊的碼流,並從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;確定當前塊的匹配塊;基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建第二時域候選模式清單;基於增強型時域運動向量預測模式的索引資訊,從第二時域候選模式清單中確定增強型時域運動向量預測模式;基於增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償,通過對基於當前塊的周圍塊確定的匹配塊進行偏移得到新的匹配塊,降低了由於周圍塊的運動資訊不准導致的匹配塊的運動資訊不准的概率,提高了解碼性能。
作為一種示例,本申請實施例還提供一種編碼方法,其中,該編碼方法可以應用於編碼端設備,該方法可以包括以下步驟:
步驟A1、確定當前塊的匹配塊。
其具體實現方式可以參見上述解碼端方法的實施例,本申請實施例在此不再贅述。
步驟A2、基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建第一時域候選模式清單。
其具體實現方式可以參見圖4實施例中的步驟S420,本申請實施例在此不再贅述。
步驟A3、遍歷第一時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償。
示例性的,當按照步驟A2中描述的方式構建了第一時域候選模式清單時,編碼端設備可以遍歷第一時域候選模式清單中各候選增強型時域運動向量預測模式。
對於任一候選增強型時域運動向量預測模式,編碼端設備可以基於該候選增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償,其具體實現方式可以參見圖4實施例中的步驟S440,本申請實施例在此不再贅述。
步驟A4、基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為當前塊的增強型時域運動向量預測模式。
示例性的,編碼端設備按照步驟A3中描述的方式分別基於各候選增強型時域運動向量預測模式對當前塊內各子塊進行了運動補償時,編碼端設備可以分別確定各候選增強型時域運動向量預測模式對應的率失真代價,並將率失真代價最小的候選增強型時域運動向量預測模式,確定為當前塊的增強型時域運動向量預測模式。
步驟A5、將索引資訊攜帶在當前塊的碼流中,該索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引。
示例性的,編碼端設備確定了當前塊的增強型時域運動向量預測模式時,可以將當前塊的增強型時域運動向量預測模式的索引資訊攜帶在當前塊的碼流中,以便解碼端設備可以基於碼流中的索引資訊確定當前塊的增強型時域運動向量預測模式。
在本申請實施例中,確定當前塊的匹配塊;基於匹配塊以及對匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建第一時域候選模式清單;遍歷 第一時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定當前塊內各子塊的運動資訊,並基於當前塊內各子塊的運動資訊,對當前塊內各子塊進行運動補償;基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為當前塊的增強型時域運動向量預測模式;將當前塊的增強型時域運動向量預測模式的索引資訊攜帶在當前塊的碼流中,通過對基於當前塊的周圍塊確定的匹配塊進行偏移得到新的匹配塊,降低了由於周圍塊的運動資訊不准導致的匹配塊的運動資訊不准的概率,提高了編碼性能。
為了使本領域技術人員更好地理解本申請實施例提供的技術方案,下面結合具體實例對本申請實施例提供的技術方案進行說明。
實施例一
本申請實施例提供的編碼方法可以包括以下步驟:
1、利用當前塊的周圍塊(如上述第一周圍塊)的運動資訊確定第一階段的運動資訊;
2、利用第一階段的運動資訊確定當前塊的匹配塊;
3、基於該匹配塊以及對該匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建第一時域候選模式清單;
4、按順序遍歷第一時域候選模式清單中的每一種候選增強型時域運動向量預測模式,對於任一種候選增強型時域運動向量預測模式,根據匹配塊的運動資訊來獲取當前塊中的所有子塊的運動資訊;
5、根據當前塊內的各子塊的運動資訊,對當前塊內的各子塊進行運動補償;
6、確定該候選增強型時域運動向量預測模式對應的率失真代價,並將該率失真代價值與其他候選增強型時域運動向量預測模式的率失真代價進行比較,將率失真代價值最小的候選增強型時域運動向量預測模式作為當前塊的增強型時域運動向量預測模式,並將增強型時域運動向量預測模式的索引資訊攜帶在碼流中,傳送給解碼端設備,該索引資訊用於指示確定出的增強型 時域運動向量預測模式的模式索引。
實施例二
本申請實施例提供的解碼方法可以包括以下步驟:
1、獲取當前塊的碼流,從當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊,該索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引;
2、利用當前塊的周圍塊(如上述第一周圍塊)的運動資訊確定第一階段的運動資訊。
3、利用第一階段的運動資訊確定當前塊的匹配塊;
4、基於該匹配塊以及對該匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建第二時域候選模式清單;
5、根據步驟1得到的索引資訊,在第二時域候選模式清單中獲取對應的增強型時域運動向量預測模式,根據該增強型時域運動向量預測模式對應的目標匹配塊的運動資訊來獲取當前塊中的所有子塊的運動資訊;
6、根據當前塊內的各子塊的運動資訊,對當前塊內各子塊進行運動補償。
下面對部分步驟的具體實現進行說明。
一、利用當前塊的周圍塊的運動資訊確定第一階段的運動資訊。
示例性的,當前塊的空間相鄰塊的示意圖可以如圖5所示,以當前塊的周圍塊為F塊為例。
實施例三
確定第一階段的運動向量為0,參考幀索引為List0中的第一幀的索引,第一階段的運動資訊的參考方向為List0方向。
實施例四
確定第一階段的運動向量為0,參考幀索引為List1中的第一幀的索引,第一階段的運動資訊的參考方向為List1方向。
二、利用第一階段的運動資訊確定當前塊的匹配塊。
實施例五
假設第一階段的水準運動向量為MVx、垂直運動向量為MVy,當前塊的左上角的座標為(Xpos,Ypos),運動向量的精度為Precision。
示例性的,Precision的取值可以為4、2、1、1/2、1/4、1/8或1/16。
當Precision的取值為1、1/2、1/4、1/8或1/16時,與當前塊對應的匹配塊的左上角座標為:
Mx0=((Xpos+(MVx>>shift)+4)>>3)<<3
My0=((Ypos+(MVy>>shift)+4)>>3)<<3
其中,shift的值與Precision一一對應,當Precision的取值分別為1、1/2、1/4、1/8和1/16時,shift的值分別為0、1、2、3和4。
當Precision的取值為4或2時,與當前塊對應的匹配塊的左上角座標為:
Mx0=((Xpos+(MVx<<shift)+4)>>3)<<3
My0=((Ypos+(MVy<<shift)+4)>>3)<<3
其中,shift的值與Precision一一對應,當Precision的取值分別為4和2時,shift的值分別為2和1。
在該實施例中,分別使用調整值2N-1(N為子塊的邊長,該實施例中以8*8子塊為例,即2N-1=4)對第一階段的水準運動向量(MVx>>shift)和垂直運動向量(MVy>>shift)進行了調整,或者,分別使用調整值4對初步確定的匹配塊的左上角的橫座標(Xpos+(MVx<<shift))和縱坐標(Ypos+(MVy<<shift))進行了調整;
在對參考位置(Xpos+(MVx>>shift))和(Ypos+(MVy>>shift)進行對齊調整時,使用調整值N(N為對子塊的邊長取以2為底的對數,該實施例中以8*8子塊為例,即N=3)。
實施例六
假設第一階段的水準運動向量為MVx、垂直運動向量為MVy,當前塊的左上角的座標為(Xpos,Ypos),運動向量的精度為Precision。
示例性的,Precision的取值可以為4、2、1、1/2、1/4、1/8或1/16。
當Precision的取值為1、1/2、1/4、1/8或1/16時,與當前塊對應的匹配塊的左上角座標為:
Mx0=((Xpos+(MVx>>shift))>>3)<<3
My0=((Ypos+(MVy>>shift))>>3)<<3
其中,shift的值與Precision一一對應,當Precision的取值分別為1、1/2、1/4、1/8和1/16時,shift的值分別為0、1、2、3和4。
當Precision的取值為4或2時,與當前塊對應的匹配塊的左上角座標為:
Mx0=((Xpos+(MVx<<shift))>>3)<<3
My0=((Ypos+(MVy<<shift))>>3)<<3
其中,shift的值與Precision一一對應,當Precision的取值分別為4和2時,shift的值分別為2和1。
在該實施例中,使用常量3對所確定的參考位置(Xpos+(MVx>>shift))和(Ypos+(MVy>>shift)進行對齊調整。
三、基於該匹配塊以及對該匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於候選增強型時域運動向量預測模式構建時域候選模式清單(對於編碼端設備為第一時域候選模式清單,對於解碼端設備為第二時域候選模式清單)。
示例性的,以圖7所示匹配塊為例,假設子塊大小為8*8。
實施例七
將A1和B2 Clip到當前CTU的範圍內,獲取Clip之後的A1和B2的運動資訊,比較兩者的運動資訊,比較結果記為r1(r1包括運動資訊相同或不同,下同);
將A3和B4 Clip到當前CTU的範圍內,獲取Clip之後的A3和B4的運動資訊,比較兩者的運動資訊,比較結果記為r2;
若r1和r2中至少有一個為運動資訊不同,則對該匹配塊水準向右偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A2和B1 Clip到當前CTU的範圍內,獲取Clip之後的A2 和B1的運動資訊,比較兩者的運動資訊,比較結果記為r3;
將A4和B3 Clip到當前CTU的範圍內,獲取Clip之後的A4和B3的運動資訊,比較兩者的運動資訊,比較結果記為r4;
若r3和r4中至少有一個為運動資訊不同,則對該匹配塊水準向左偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A1和C3 Clip到當前CTU的範圍內,獲取Clip之後的A1和C3的運動資訊,比較兩者的運動資訊,比較結果記為r5;
將A2和C4 Clip到當前CTU的範圍內,獲取Clip之後的A2和C4的運動資訊,比較兩者的運動資訊,比較結果記為r6;
若r5和r6中至少有一個為運動資訊不同,則對該匹配塊垂直向下偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A3和C1 Clip到當前CTU的範圍內,獲取Clip之後的A3和C1的運動資訊,比較兩者的運動資訊,比較結果記為r7;
將A4和C2 Clip到當前CTU的範圍內,獲取Clip之後的A4和C2的運動資訊,比較兩者的運動資訊,比較結果記為r8;
若r7和r8中至少有一個為運動資訊不同,則對該匹配塊垂直向上偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將原匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
需要說明的是,原匹配塊對應的預測模式,以及新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
此外,當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當不存在新的匹配塊時,將原匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
示例性的,確定的匹配塊的示意圖可以如圖8A所示;對匹配塊水準向右偏移8個圖元得到的新的匹配塊的示意圖可以如圖8B所示,對匹配塊水準向左偏移8個圖元得到的新的匹配塊的示意圖可以如圖8C所示;對匹配塊垂直向上偏移8個圖元得到的新的匹配塊的示意圖可以如圖8D所示;對匹配塊垂直向下偏移8個圖元得到的新的匹配塊的示意圖可以如圖8E所示。
實施例八
將匹配塊Clip到當前CTU的範圍內。
假設圖7所示匹配塊為Clip後的匹配塊。
當Clip後的匹配塊的右邊界未處於當前CTU的右邊界位置上時,獲取A1和B2的運動資訊,比較兩者的運動資訊,記為r9(r9包括運動資訊相同或不同,下同);
獲取A3和B4的運動資訊,比較兩者的運動資訊,比較結果記為r10;
若r9和r10中至少有一個為運動資訊不同,則對該Clip後的匹配塊水準向右偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的左邊界未處於當前CTU的左邊界位置上時,獲取A2和B1的運動資訊,比較兩者的運動資訊,比較結果記為r11;
獲取A4和B3的運動資訊,比較兩者的運動資訊,比較結果記為r12;
若r11和r12中至少有一個為運動資訊不同,則對該Clip後的匹配塊水準向左偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的下邊界未處於當前CTU的下邊界位置上時,獲取A1和C3的運動資訊,比較兩者的運動資訊,比較結果記為r13;
獲取A2和C4的運動資訊,比較兩者的運動資訊,比較結果記為r14;
若r13和r14中至少有一個為運動資訊不同,則對該Clip後 的匹配塊垂直向下偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的上邊界未處於當前CTU的上邊界位置上時,獲取A3和C1的運動資訊,比較兩者的運動資訊,比較結果記為r15;
獲取A4和C2的運動資訊,比較兩者的運動資訊,比較結果記為r16;
若r15和r16中至少有一個為運動資訊不同,則對該Clip後的匹配塊垂直向上偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將偏移前的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
需要說明的是,偏移前的匹配塊對應的預測模式,以及新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
此外,當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當不存在新的匹配塊時,將偏移前的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
實施例九
在原匹配塊的基礎上進行偏移,得到新的匹配塊。
示例性的,偏移方式如下:
Mx1=Mx0+offset1
My1=My0+offset2
其中,Mx0和My0分別為原匹配塊的左上角的橫縱坐標,Mx1和My1分別為新的匹配塊的左上角的橫縱坐標,offset1和offset2為偏移量,其值為任意整數。
將新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將原匹配塊對應的預測模式作為候選增強型時域運動向量預 測模式,加入到時域候選模式清單。
需要說明的是,原匹配塊對應的預測模式,以及新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
offset1和offset2可以取多組值,以得到多個新的匹配塊,新的匹配塊的數量不做限定。
當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
實施例十
將A1和B2 Clip到當前CTU的範圍內,獲取Clip之後的A1和B2的運動資訊,比較兩者的運動資訊,比較結果記為r1(r1包括運動資訊相同或不相同,下同);
將A3和B4 Clip到當前CTU的範圍內,獲取Clip之後的A3和B4的運動資訊,比較兩者的運動資訊,比較結果記為r2;
若r1和r2中至少有一個為運動資訊不相同,則對該匹配塊水準向右偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A2和B1 Clip到當前CTU的範圍內,獲取Clip之後的A2和B1的運動資訊,比較兩者的運動資訊,比較結果記為r3;
將A4和B3 Clip到當前塊CTU的內,獲取Clip之後的A4和B3的運動資訊,比較兩者的運動資訊,比較結果記為r4;
若r3和r4中至少有一個為不相同,則對該匹配塊水準向左偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A1和C3 Clip到當前CTU的範圍內,獲取Clip之後的A1和C3的運動資訊,比較兩者的運動資訊,比較結果記為r5;
將A2和C4 Clip到當前CTU的範圍內,獲取Clip之後的A2和C4的運動資訊,比較兩者的運動資訊,記為r6;
若r5和r6中至少有一個為運動資訊不相同,則對該匹配塊垂直向下偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作 為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
將A3和C1 Clip到當前CTU的範圍內,獲取Clip之後的A3和C1的運動資訊,比較兩者的運動資訊,比較結果記為r7;
將A4和C2 Clip到當前CTU的範圍內,獲取Clip之後的A4和C2的運動資訊,比較兩者的運動資訊,比較結果記為r8;
若r7和r8中至少有一個為運動資訊不相同,則對該匹配塊垂直向上偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
需要說明的是,當存在多個新的匹配塊時,各新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
此外,當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當不存在新的匹配塊時,將原匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
實施例十一
將匹配塊Clip到當前CTU的範圍內。
假設圖7所示匹配塊為Clip後的匹配塊。
當Clip後的匹配塊的右邊界未處於當前CTU的右邊界位置上時,獲取A1和B2的運動資訊,比較兩者的運動資訊,比較結果記為r9(r9包括運動資訊相同或不同,下同);
獲取A3和B4的運動資訊,比較兩者的運動資訊,比較結果記為r10;
若r9和r10中至少有一個為運動資訊不同,則對該Clip後的匹配塊水準向右偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的左邊界未處於當前CTU的左邊界位置上時,獲取A2和B1的運動資訊,比較兩者的運動資訊,比較結果記為r11;
獲取A4和B3的運動資訊,比較兩者的運動資訊,比較結果 記為r12;
若r11和r12中至少有一個為運動資訊不同,則對該Clip後的匹配塊水準向左偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的下邊界未處於當前CTU的下邊界位置上時,獲取A1和C3的運動資訊,比較兩者的運動資訊,比較結果記為r13;
獲取A2和C4的運動資訊,比較兩者的運動資訊,比較結果記為r14;
若r13和r14中至少有一個為運動資訊不同,則對該Clip後的匹配塊垂直向下偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當Clip後的匹配塊的上邊界未處於當前CTU的上邊界位置上時,獲取A3和C1的運動資訊,比較兩者的運動資訊,比較結果記為r15;
獲取A4和C2的運動資訊,比較兩者的運動資訊,比較結果記為r16;
若r15和r16中至少有一個為運動資訊不同,則對該Clip後的匹配塊垂直向上偏移8個圖元,得到新的匹配塊,將該新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
需要說明的是,偏移前的匹配塊對應的預測模式,以及新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
此外,當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
當不存在新的匹配塊時,將偏移前的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
實施例十二
在原匹配塊的基礎上進行偏移,得到新的匹配塊。
示例性的,偏移方式如下:
Mx1=Mx0+offset1
My1=My0+offset2
其中,Mx0和My0分別為原匹配塊的左上角的橫縱坐標,Mx1和My1分別為新的匹配塊的左上角的橫縱坐標,offset1和offset2為偏移量,其值為任意整數。
將新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
需要說明的是,offset1和offset2可以取多組值,以得到多個新的匹配塊,新的匹配塊的數量不做限定。
當存在多個新的匹配塊時,新的匹配塊對應的預測模式加入到時域候選模式清單中的順序不做限定。
當存在多個新的匹配塊時,也可以將部分新的匹配塊對應的預測模式作為候選增強型時域運動向量預測模式,加入到時域候選模式清單。
四、根據匹配塊的運動資訊來獲取當前塊中的所有子塊的運動資訊,並根據當前塊內的各子塊的運動資訊,對當前塊內的各子塊進行運動補償。
示例性的,對於編碼端設備,該匹配塊包括時域候選模式清單中任一候選增強型時域運動向量預測模式對應的匹配塊(本文中稱為目標候選匹配塊);
對於解碼端設備,該匹配塊包括增強型時域運動向量預測模式對應的匹配塊(即上述目標匹配塊)。
實施例十三
對於匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊。
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊。
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將 該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊。
根據當前塊內的各子塊的運動資訊,對當前塊內的各子塊進行運動補償。
實施例十四
對於匹配塊中的任一子塊,若子塊的前向運動資訊和後向運動資訊可用,則將子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊。
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊。
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊。
若子塊的前向運動資訊和後向運動資訊均不可用,則當當前塊的第二周圍塊的前向運動資訊和後向運動資訊均可用時,將第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前塊對應位置的子塊;
當第二周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前塊對應位置的子塊;
當第二周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前塊對應位置的子塊;
當第二周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前塊對應位置的子塊。
根據當前塊內的各子塊的運動資訊,對當前塊內的各子塊進 行運動補償。
下面對增強的時域運動向量預測技術是否啟用的控制進行說明。
實施例十五
可以增加SPS級的語法來控制是否啟用ETMVP。
舉例說明,可選用u(n),u(v)或者ue(n),ue(v)進行編碼,其中u(n)表示讀進連續的n個bit,且解碼後為無符號數,ue(n)表示無符號指數Golomb熵編碼。當描述子中括弧內的參數為n時,表示該語法元素是定長編碼,參數為v時語法元素採用變長編碼。不限定選用的編碼方式。
在一個示例中,採用u(1)進行編碼,通過一個bit實現ETMVP是否啟用的控制。
以上對本申請提供的方法進行了描述。下面對本申請提供的裝置進行描述:
請參見圖9,圖9是本申請實施例提供的一種解碼裝置的結構示意圖,該裝置可以包括:
解碼單元910,用於當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;
第一確定單元920,用於確定所述當前塊的匹配塊;
構建單元930,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
第二確定單元940,基於所述索引資訊,從所述時域候選模式清單中確定增強型時域運動向量預測模式;
預測單元950,用於基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述預測單元950還用於:
對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0 的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
其中,利用序列參數集級語法表示所述當前塊是否啟動增強的時域運動向量預測技術,
其中,第一確定單元920在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
在一種可能的實施例中,所述構建單元930,用於分別基於一個或多個偏移量對,對所述匹配塊進行水準方向和垂直方向的偏移,得到一個或多個新的匹配塊。
在一種可能的實施例中,所述構建單元930,用於將所述匹配塊Clip。
在一種可能的實施例中,所述構建單元930,用於:
比較第十三子塊和第十四子塊的運動資訊,並比較第十五子塊和第十六子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊水準向右偏移一個單位,得到一個新的匹配塊;或者
比較第十七子塊和第十八子塊的運動資訊,並比較第十九子塊和第二十子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊水準向左偏移一個單位,得到一個新的匹配塊;或者
比較第十三子塊和第二十一子塊的運動資訊,並比較第十七子塊和第二十二子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊垂直向下偏移一個單位,得到一個新的匹配塊;或者
比較第十五子塊和第二十三子塊的運動資訊,並比較第十九子塊和第二十四子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊垂直向上偏移一個單位,得到一個新的匹配塊;
其中,第十三子塊為所述Clip後的匹配塊的左上角的子塊,第十四子塊為所述Clip後的匹配塊正右側最上方的相鄰子塊,第十五子塊為所述Clip後的匹配塊的左下角的子塊,第十六子塊為所述Clip後的匹配塊正右側最下方的相鄰子塊,第十七子塊為所述Clip後的匹配塊的右上角的子塊,第十八子塊為所述Clip後的匹配塊正左側最上方的相鄰子塊,第十九子塊為所述Clip後的匹配塊的右下角的子塊,第二十子塊為所述Clip後的匹配塊正左側最下方的相鄰子塊,第二十一子塊為所述Clip後的匹配塊正下方最左側的相鄰子塊,第二十二子塊為所述Clip後的匹配塊正下方最右側的相鄰子塊,第二十三子塊為所述Clip後的匹配塊正上方最左側的相鄰子塊,第二十四子塊為所述Clip後的匹配塊正上方最右側的相鄰子塊;一個單位為子塊的大小。
在一種可能的實施例中,所述構建單元930,用於:
當存在至少一個新的匹配塊時,將偏移前的匹配塊對應的預測模式,以及對偏移得到的新的匹配塊對應的預測模式,確定為候選增強型時域運動向量預測模式。。
在一種可能的實施例中,所述預測單元950,還用於:
若該子塊的前向運動資訊和後向運動資訊均不可用,則當當前塊的第二周圍塊的前向運動資訊和後向運動資訊均可用時,將所述第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;當所述第二周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將所述第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;當所述第二周圍塊的後向運 動資訊可用,但前向運動資訊不可用時,將所述第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊;當所述第二周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予所述當前塊對應位置的子塊。
在一種可能的實施例中,當利用序列參數集級語法表示所述當前塊是否啟用增強的時域運動向量預測技術時,所述解碼單元910,用於:
當所述當前塊所屬圖像序列啟用增強的時域運動向量預測技術時,確定所述當前塊啟用增強的時域運動向量預測技術;
當所述當前塊所屬圖像序列未啟用增強的時域運動向量預測技術時,確定所述當前塊未啟用增強的時域運動向量預測技術。
在一種可能的實施例中,上述解碼裝置可以包括視頻解碼器。
請參見圖10,為本申請實施例提供的一種解碼端設備的硬體結構示意圖。該解碼端設備可包括處理器1001、存儲有機器可執行指令的機器可讀存儲介質1002。處理器1001與機器可讀存儲介質1002可經由系統匯流排1003通信。並且,通過讀取並執行機器可讀存儲介質1002中與解碼控制邏輯對應的機器可執行指令,處理器1001可執行上文描述的解碼方法。
本文中提到的機器可讀存儲介質1002可以是任何電子、磁性、光學或其它物理存儲裝置,可以包含或存儲資訊,如可執行指令、資料,等等。例如,機器可讀存儲介質可以是:RAM(Radom Access Memory,隨機存取記憶體)、動態記憶體、非易失性記憶體、快閃記憶體、存儲驅動器(如硬碟驅動器)、固態硬碟、任何類型的存儲盤(如光碟、dvd等),或者類似的存儲介質,或者它們的組合。
在一些實施例中,還提供了一種機器可讀存儲介質,該機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現上文描述的解碼方法。例如,所述機器可讀存儲介質可以是ROM、RAM、CD-ROM、磁帶、軟碟和光資料存放裝置等。
請參見圖11,圖11是本申請實施例提供的一種編碼裝置的結構示意圖,該裝置可以包括:
第一確定單元1110,用於確定當前塊的匹配塊;
構建單元1120,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建第一時域候選模式清單;
預測單元1130,用於遍歷所述第一時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
其中,所述預測單元1130還用於:
對於目標候選匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊,
第二確定單元1140,用於基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為所述當前塊的增強型時域運動向量預測模式;
編碼單元1150,用於將索引資訊攜帶在所述當前塊的碼流中,所述索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引,
其中,第一確定單元1110在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
在一種可能的實施例中,所述構建單元1120,用於將所述匹配塊Clip。
在一種可能的實施例中,所述構建單元1120,用於:
比較第十三子塊和第十四子塊的運動資訊,並比較第十五子塊和第十六子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊水準向右偏移一個單位,得到一個新的匹配塊;或者
比較第十七子塊和第十八子塊的運動資訊,並比較第十九子塊和第二十子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊水準向左偏移一個單位,得到一個新的匹配塊;或者
比較第十三子塊和第二十一子塊的運動資訊,並比較第十七子塊和第二十二子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊垂直向下偏移一個單位,得到一個新的匹配塊;或者
比較第十五子塊和第二十三子塊的運動資訊,並比較第十九子塊和第二十四子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述Clip後的匹配塊垂直向上偏移一個單位,得到一個新的匹配塊;
其中,第十三子塊為所述Clip後的匹配塊的左上角的子塊,第十四子塊為所述Clip後的匹配塊正右側最上方的相鄰子塊,第十五子塊為所述Clip後的匹配塊的左下角的子塊,第十六子塊為所述Clip後的匹配塊正右側最下方的相鄰子塊,第十七子塊為所述Clip後的匹配塊的右上角的子塊,第十八子塊為所述Clip後的匹配塊正左側最上方的相鄰子塊,第十九子塊為所述Clip後的匹配塊的右下角的子塊,第二十子塊為所述Clip後的匹配塊正左側最下方的相鄰子塊,第二十一子塊為所述Clip後的匹配塊正下方最左側的相鄰子塊,第二十二子塊為所述Clip後的匹配塊正下方最右側的相鄰子塊,第二十三子塊為所述Clip後的匹配塊正上方最左側的相鄰子塊,第二十四子塊為所述Clip後的匹配塊正上方最右側的相鄰子塊;一個單位為子塊的大小。
在一種可能的實施例中,所述構建單元1120,用於:
當存在至少一個新的匹配塊時,將偏移前的匹配塊對應的預測模式,以及偏移得到的新的匹配塊對應的預測模式,確定為候選增強型時域運動向量預測模式。
在一種可能的實施例中,所述預測單元1130,還用於:
若該子塊的前向運動資訊和後向運動資訊均不可用,則當所述當前塊的第二周圍塊的前向運動資訊和後向運動資訊均可用時,將所述第二周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;當所述第二周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將所述第二周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;當所述第二周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將所述第二周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊;當所述第二周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予所述當前塊對應位置的子塊。
在一種可選的實施例中,所述構建單元1120,用於當所述當前塊啟用增強的時域運動向量預測技術時,基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建第一時域候選模式清單。
在一種可能的實施例中,利用序列參數集級語法控制所述當前塊是否啟用增強的時域運動向量預測技術。
在一種可能的實施例中,上述編碼裝置可以包括視訊轉碼器。
請參見圖12,為本申請實施例提供的一種編碼端設備的硬體結構示意圖。該編碼端設備可包括處理器1201、存儲有機器可執行指令的機器可讀存儲介質1202。處理器1201與機器可讀存儲介質1202可經由系統匯流排1203通信。並且,通過讀取並執行機器可讀存儲介質1202中與編碼控制邏輯對應的機器可執行指令,處理器1201可執行上文描述的編碼方法。
本文中提到的機器可讀存儲介質1202可以是任何電子、磁性、光學或其它物理存儲裝置,可以包含或存儲資訊,如可執行指令、資料,等 等。例如,機器可讀存儲介質可以是:RAM(Radom Access Memory,隨機存取記憶體)、動態記憶體、非易失性記憶體、快閃記憶體、存儲驅動器(如硬碟驅動器)、固態硬碟、任何類型的存儲盤(如光碟、dvd等),或者類似的存儲介質,或者它們的組合。
在一些實施例中,還提供了一種機器可讀存儲介質,該機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現上文描述的編碼方法。例如,所述機器可讀存儲介質可以是ROM、RAM、CD-ROM、磁帶、軟碟和光資料存放裝置等。
在一些實施例中,還提供了一種攝像機設備,包括上述任一實施例中的編碼裝置和上述任一實施例中的解碼裝置。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。
S401,S402,S403,S404,S405:步驟

Claims (12)

  1. 一種解碼方法,其特徵在於,包括:
    當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;
    確定所述當前塊的匹配塊,包括:
    至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向;
    基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
    基於所述索引資訊,從所述時域候選模式清單中確定增強型時域運動向量預測模式;
    基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
    其中,所述基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,包括:
    對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
    若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
    若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊 賦予所述當前塊對應位置的子塊,
    其中,利用序列參數集級語法表示所述當前塊是否開啟增強的時域運動向量預測技術。
  2. 如請求項1所述的方法,其特徵在於,對所述匹配塊進行偏移得到的新的匹配塊,通過以下方式確定:
    分別基於一個或多個偏移量對,對所述匹配塊進行水準方向和垂直方向的偏移,得到一個或多個新的匹配塊。
  3. 如請求項1所述的方法,其特徵在於,所述確定所述當前塊的匹配塊之後,還包括:
    對所述匹配塊進行修剪。
  4. 如請求項3所述的方法,其特徵在於,對所述匹配塊進行偏移得到的新的匹配塊,通過以下方式確定:
    比較第十三子塊和第十四子塊的運動資訊,並比較第十五子塊和第十六子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述修剪後的匹配塊水準向右偏移,得到一個新的匹配塊;或者
    比較第十七子塊和第十八子塊的運動資訊,並比較第十九子塊和第二十子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述修剪後的匹配塊水準向左偏移,得到一個新的匹配塊;或者
    比較第十三子塊和第二十一子塊的運動資訊,並比較第十七子塊和第二十二子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述修剪後的匹配塊垂直向下偏移,得到一個新的匹配塊;或者
    比較第十五子塊和第二十三子塊的運動資訊,並比較第十九子塊和第二十四子塊的運動資訊,若兩個比較結果中的至少一個比較結果為運動資訊不同,則對所述修剪後的匹配塊垂直向上偏移,得到一個新的匹配塊;
    其中,第十三子塊為所述修剪後的匹配塊的左上角的子塊,第十四子塊為所述修剪後的匹配塊正右側最上方的相鄰子塊,第十五子塊為所述修剪後的匹配塊的左下角的子塊,第十六子塊為所述修剪後的匹配塊正右側最下方的相鄰子塊,第十七子塊為所述修剪後的匹配塊的右上角的子塊,第十 八子塊為所述修剪後的匹配塊正左側最上方的相鄰子塊,第十九子塊為所述修剪後的匹配塊的右下角的子塊,第二十子塊為所述修剪後的匹配塊正左側最下方的相鄰子塊,第二十一子塊為所述修剪後的匹配塊正下方最左側的相鄰子塊,第二十二子塊為所述修剪後的匹配塊正下方最右側的相鄰子塊,第二十三子塊為所述修剪後的匹配塊正上方最左側的相鄰子塊,第二十四子塊為所述修剪後的匹配塊正上方最右側的相鄰子塊。
  5. 如請求項2-4任一項所述的方法,其特徵在於,所述基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,包括:
    當存在至少一個新的匹配塊時,將偏移前的匹配塊對應的預測模式,以及偏移得到的新的匹配塊對應的預測模式,確定為候選增強型時域運動向量預測模式。
  6. 如請求項1所述的方法,其特徵在於,所述基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,還包括:
    若該子塊的前向運動資訊和後向運動資訊均不可用,則當所述當前塊的周圍塊的前向運動資訊和後向運動資訊均可用時,將所述周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;當所述周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將所述周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;當所述周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將所述周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊;當所述周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予所述當前塊對應位置的子塊。
  7. 如請求項1所述的方法,其特徵在於,當利用序列參數集級語法表示所述當前塊是否啟用增強的時域運動向量預測技術時,所述當前塊是否啟用增強的時域運動向量預測技術,通過以下方式確定:
    當所述當前塊所屬圖像序列啟用增強的時域運動向量預測技術時,確 定所述當前塊啟用增強的時域運動向量預測技術;
    當所述當前塊所屬圖像序列未啟用增強的時域運動向量預測技術時,確定所述當前塊未啟用增強的時域運動向量預測技術。
  8. 一種編碼方法,其特徵在於,包括:
    確定當前塊的匹配塊,包括:
    至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向;
    基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
    遍歷所述時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
    其中,所述基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,包括:
    對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
    若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
    若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予所述當前塊對應位置的子塊;
    基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失 真代價最小的候選增強型時域運動向量預測模式,確定為所述當前塊的增強型時域運動向量預測模式;
    將索引資訊攜帶在所述當前塊的碼流中,所述索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引。
  9. 一種解碼裝置,包括:
    解碼單元,用於當確定當前塊啟用增強的時域運動向量預測技術時,從所述當前塊的碼流中解析增強型時域運動向量預測模式的索引資訊;
    第一確定單元,用於確定所述當前塊的匹配塊;
    構建單元,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
    第二確定單元,基於所述增強型時域運動向量預測模式的索引資訊,從所述時域候選模式清單中確定增強型時域運動向量預測模式;
    預測單元,用於基於所確定的增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
    其中,所述預測單元還用於:
    對於目標匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
    若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
    若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊 賦予所述當前塊對應位置的子塊,
    其中,利用序列參數集級語法表示所述當前塊是否啟動增強的時域運動向量預測技術,
    其中,所述第一確定單元在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
  10. 一種編碼裝置,包括:
    第一確定單元,用於確定當前塊的匹配塊;
    構建單元,用於基於所述匹配塊以及對所述匹配塊進行偏移得到的新的匹配塊,確定候選增強型時域運動向量預測模式,並基於所述候選增強型時域運動向量預測模式構建時域候選模式清單;
    預測單元,用於遍歷所述時域候選模式清單中各候選增強型時域運動向量預測模式,對於任一候選增強型時域運動向量預測模式,基於該候選增強型時域運動向量預測模式,確定所述當前塊內各子塊的運動資訊,並基於所述當前塊內各子塊的運動資訊,對所述當前塊內各子塊進行運動補償,
    其中,所述預測單元還用於:
    對於目標候選匹配塊中的任一子塊,若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前塊對應位置的子塊;或者
    若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予所述當前塊對應位置的子塊;或者
    若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊 賦予所述當前塊對應位置的子塊,
    第二確定單元,用於基於各候選增強型時域運動向量預測模式對應的率失真代價,將率失真代價最小的候選增強型時域運動向量預測模式,確定為所述當前塊的增強型時域運動向量預測模式;
    編碼單元,用於將索引資訊攜帶在所述當前塊的碼流中,所述索引資訊用於指示確定出的增強型時域運動向量預測模式的模式索引,
    其中,所述第一確定單元在確定所述當前塊的匹配塊時,至少根據目標參考幀索引、目標參考方向和所述當前塊的位置,確定所述當前塊的匹配塊,其中,所述目標參考幀索引為List0中的第一幀的索引,所述目標參考方向為List0方向;或者,所述目標參考幀索引為List1中的第一幀的索引,所述目標參考方向為List1方向。
  11. 一種解碼端設備,其特徵在於,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如請求項1-7任一項所述的方法。
  12. 一種編碼端設備,其特徵在於,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如請求項8所述的方法。
TW110110924A 2020-03-26 2021-03-25 解碼方法、編碼方法、裝置及設備 TWI790580B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010225428.1 2020-03-26
CN202010225428.1A CN113453005B (zh) 2020-03-26 2020-03-26 解码方法、编码方法、装置及设备

Publications (2)

Publication Number Publication Date
TW202139711A TW202139711A (zh) 2021-10-16
TWI790580B true TWI790580B (zh) 2023-01-21

Family

ID=77807342

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110110924A TWI790580B (zh) 2020-03-26 2021-03-25 解碼方法、編碼方法、裝置及設備

Country Status (6)

Country Link
US (1) US20230013243A1 (zh)
JP (2) JP7375223B2 (zh)
KR (1) KR20220158102A (zh)
CN (2) CN113453005B (zh)
TW (1) TWI790580B (zh)
WO (1) WO2021190591A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023130233A1 (zh) * 2022-01-04 2023-07-13 Oppo广东移动通信有限公司 时域运动信息预测和构建候选列表的方法、装置和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662075A (zh) * 2018-06-29 2020-01-07 北京字节跳动网络技术有限公司 改进的时域运动矢量预测推导

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071460B (zh) * 2010-12-14 2020-03-06 M&K控股株式会社 用于编码运动画面的设备
BR122021004576B1 (pt) * 2011-06-28 2022-07-26 Samsung Electronics Co., Ltd Aparelho de decodificação de vídeo
CN107113424B (zh) * 2014-11-18 2019-11-22 联发科技股份有限公司 以帧间预测模式编码的块的视频编码和解码方法
JP6921870B2 (ja) * 2016-05-24 2021-08-18 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 画像復号方法、画像符号化方法及び記録媒体
WO2018105580A1 (ja) * 2016-12-09 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109963155B (zh) * 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
US10728542B2 (en) * 2018-04-09 2020-07-28 Tencent America LLC Methods and apparatuses for sub-block motion vector prediction
CN108632616B (zh) * 2018-05-09 2021-06-01 电子科技大学 一种基于参考质量做帧间加权预测的方法
WO2020004990A1 (ko) * 2018-06-27 2020-01-02 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10531090B1 (en) * 2018-07-02 2020-01-07 Tencent America LLC Method and apparatus for video coding
WO2020017892A1 (ko) * 2018-07-17 2020-01-23 엘지전자 주식회사 서브블록 단위의 시간적 움직임 벡터 예측을 위한 방법 및 그 장치
CN116418992A (zh) * 2018-08-26 2023-07-11 北京字节跳动网络技术有限公司 组合的基于历史的运动矢量预测符和多运动模型解码
CN110868602B (zh) * 2018-08-27 2024-04-12 华为技术有限公司 视频编码器、视频解码器及相应方法
CN110225346A (zh) * 2018-12-28 2019-09-10 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
CN110740317B (zh) * 2019-09-18 2021-10-15 浙江大华技术股份有限公司 子块运动预测、编码方法、编码器及存储装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662075A (zh) * 2018-06-29 2020-01-07 北京字节跳动网络技术有限公司 改进的时域运动矢量预测推导

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
網路文獻 Huanbang Chen et.al., "Non-CE4: ATMVP simplification", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, July 10-18, 2018, JVET-K0189-v2 *
網路文獻 Huanbang Chen et.al., "Non-CE4: ATMVP simplification", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, July 10-18, 2018, JVET-K0189-v2。

Also Published As

Publication number Publication date
KR20220158102A (ko) 2022-11-29
JP2023518988A (ja) 2023-05-09
JP2023179792A (ja) 2023-12-19
WO2021190591A1 (zh) 2021-09-30
CN113453005A (zh) 2021-09-28
TW202139711A (zh) 2021-10-16
US20230013243A1 (en) 2023-01-19
CN113709484A (zh) 2021-11-26
JP7375223B2 (ja) 2023-11-07
CN113453005B (zh) 2022-11-01
CN113709484B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
CN111164978B (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
JP5805787B2 (ja) 適応タップサイズをもつ低複雑度補間フィルタ処理
CN113840140A (zh) 使用多条参考线的帧内预测
US11700392B2 (en) Method and apparatus for processing video signal
CN112042199A (zh) 自适应插值滤波器
CN116567216A (zh) 图像编码/解码方法以及图像数据的发送方法
KR20110044487A (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
He et al. Framework of AVS2-video coding
TWI806650B (zh) 解碼方法、編碼方法、裝置、設備及存儲介質
TWI806495B (zh) 解碼方法、編碼方法、裝置、設備及存儲介質
TWI790580B (zh) 解碼方法、編碼方法、裝置及設備
CN108432247A (zh) 用于预测残差信号的方法和装置
CN118158435A (zh) 对图像进行解码的方法、对图像进行编码的方法以及用于发送通过对图像进行编码的方法生成的比特流的方法
CN114007078A (zh) 一种运动信息候选列表的构建方法、装置及其设备