TWI806495B - 解碼方法、編碼方法、裝置、設備及存儲介質 - Google Patents
解碼方法、編碼方法、裝置、設備及存儲介質 Download PDFInfo
- Publication number
- TWI806495B TWI806495B TW111109686A TW111109686A TWI806495B TW I806495 B TWI806495 B TW I806495B TW 111109686 A TW111109686 A TW 111109686A TW 111109686 A TW111109686 A TW 111109686A TW I806495 B TWI806495 B TW I806495B
- Authority
- TW
- Taiwan
- Prior art keywords
- coding unit
- block
- motion information
- sub
- current
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000002123 temporal effect Effects 0.000 claims description 284
- 238000005516 engineering process Methods 0.000 claims description 53
- 230000003287 optical effect Effects 0.000 claims description 42
- 230000002457 bidirectional effect Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000010276 construction Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 21
- 238000004458 analytical method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000009466 transformation Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 5
- 108010025037 T140 peptide Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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)
- Peptides Or Proteins (AREA)
- Steroid Compounds (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本發明提供一種解碼方法、編碼方法、裝置、設備及存儲介質。該解碼方法包括:獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;當所述增強時域運動向量預測模式標誌位的取值為第一數值時:根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;根據所述增強時域運動向量預測模式索引值,確定目標匹配編碼單元的座標資訊;根據所述目標匹配編碼單元的座標資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。該方法可以提高編解碼性能。
Description
本發明涉及視頻編解碼技術,尤其涉及一種解碼方法、編碼方法、裝置、設備及機器可讀存儲介質。
完整的視頻編碼一般包括預測、變換、量化、熵編碼、濾波等操作。預測可以分為幀內預測和幀間預測,幀內預測是利用周圍已編碼單元作為參考對當前未編碼單元進行預測,有效去除空域上的冗餘。幀間預測是使用鄰近已編碼圖像對當前圖像進行預測,有效去除時域上的冗餘。
通用視頻編碼(Versatile Video Coding,簡稱VVC)標準裡採納的可選時域運動向量預測(Alternative Temporal Motion Vector Prediction,簡稱ATMVP)技術是利用時域子塊的運動資訊,為當前編碼單元內的每個子塊提供不同的運動資訊。
有鑑於此,本發明提供一種解碼方法、編碼方法、裝置、設備及機器可讀存儲介質。
根據本發明實施例的第一方面,提供一種解碼方法,包括:獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;當所述增強時域運動向量預測模式標誌位的取值為第一數值時:根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;根據所述初始匹配編碼單元的座標資訊,
構建增強時域候選列表;根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。
根據本發明實施例的第二方面,提供一種編碼方法,包括:根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;按順序遍歷增強時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊;根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償;計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
根據本發明實施例的第三方面,提供一種解碼裝置,包括:獲取單元,用於獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;第一確定單元,用於當所述增強時域運動向量預測模式標誌位的取值為第一數值時,根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;構建單元,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元,用於根據所述增強時域運動向量預測模式索引值,在所述增
強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;第三確定單元,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。
根據本發明實施例的第四方面,提供一種編碼裝置,包括:第一確定單元,用於根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;構建單元,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元,用於按順序遍歷增強型時域候選列表中的每一種增強時域候選模式,確定每個模式對應的目標匹配編碼單元的座標資訊;第三確定單元,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊;運動補償單元,用於根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償;編碼單元,用於計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
根據本發明實施例的第五方面,提供一種解碼設備,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現第一方面的解碼方法。
根據本發明實施例的第六方面,提供一種編碼設備,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現第二
方面的編碼方法。
根據本發明實施例的第七方面,提供一種機器可讀存儲介質,所述機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現如第一方面或第二方面所述的方法。
本發明實施例的解碼方法,通過獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;當該增強時域運動向量預測模式標誌位的取值為第一數值時,根據當前編碼單元的座標資訊,確定當前編碼單元的初始匹配編碼單元的座標資訊,並根據初始匹配編碼單元的座標資訊,構建增強時域候選列表;根據增強時域運動向量預測模式索引值,在增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;根據目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,該目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊,提高了編解碼性能。
a:視頻編碼
b:框架
COl-B0:位於同位幀的中心參考塊
clip:修剪
710:獲取單元
720,1010:第一確定單元
730,1020:構建單元
740,1030:第二確定單元
750,1040:第三確定單元
760,1050:運動補償單元
901,1101:處理器
902,1102:機器可讀存儲介質
903,1103:系統匯流排
1060:編碼單元
A,B,C,D,E:編碼實現流程
A1,A2,A3,A4,B1,B2,B3,B4,C1,C2:位置
B0:當前編碼單元
S300,S310,S320,S330,S340,T100,T110,T120,T130,T140,T150:步驟
圖1是本發明一示例性實施例示出的一種編解碼方法的示意圖;
圖2是本發明一示例性實施例示出的一種Clip操作的示意圖;
圖3是本發明一示例性實施例示出的一種解碼方法的流程示意圖;
圖4是本發明一示例性實施例示出的對匹配編碼單元進行偏移時的參考塊的示意圖;
圖5是本發明一示例性實施例示出的當前編碼單元的第一周圍塊的示意圖;
圖6是本發明一示例性實施例示出的又一種解碼方法的流程示意圖;
圖7是本發明一示例性實施例示出的一種解碼裝置的結構示意圖;
圖8是本發明一示例性實施例示出的又一種解碼裝置的結構示意圖;
圖9是本發明一示例性實施例示出的一種解碼設備的硬體結構示意圖;
圖10是本發明一示例性實施例示出的一種編碼裝置的結構示意圖;
圖11是本發明一示例性實施例示出的一種編碼設備的硬體結構示意圖。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
在本發明使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本發明。在本發明和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。
為了使本領域技術人員更好地理解本發明實施例提供的技術方案,下面先對本發明實施例涉及的部分技術術語以及現有視頻編解碼的主要流程進行簡單說明。
為了使本領域技術人員更好地理解本發明實施例提供的技術方案,下面先對先對本發明實施例涉及的部分技術術語進行簡單說明。
技術術語:
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、參考幀索引、參考方向等與運動相關的編碼資訊統稱為運動資訊,例如,運動資訊為:用於幀間預測的五元組,由預測參考模式、L0運動向量、L1運動向量、L0參考索引L1參考索引構成。
4、率失真原則(Rate-Distortion Optimized,簡稱RDO):評價編碼效率的指標包括:碼率和峰值信噪比(Peak Signal to Noise Ratio,簡稱PSNR)。碼率越小,則壓縮率越大;PSNR越大,重建圖像品質越好。在模式選擇的時候,判別公式實質上也就是對二者的綜合評價。模式對應的代價:
J(mode)=D+λ*R。
其中,D表示失真(Distortion),通常使用SSE(差值均方和)指標來衡量,SSE是指重建塊與源圖像塊的差值均方和;λ是拉格朗日乘子;
R就是該模式下圖像塊編碼所需的實際比特數,包括編碼模式資訊、運動資訊、殘差等所需的比特總和。
在模式選擇時,若使用RDO原則去對編碼模式做比較決策,通常可以保證編碼性能最佳。
5、雙向光流(BI-directional Optical flow,簡稱BIO):BIO技術是利用前向和後向參考幀中像素值的梯度資訊來對當前編碼單元疊加光流補償值。示例性的,BIO的技術細節可以如下:
5.1、計算梯度和S1、S2、S3、S5和S6:
其中,ψ x (i,j)、ψ y (i,j)和θ(i,j)的计算如下所示:
θ(i,j)=I (1)(i,j)-I (0)(i,j)
其中,I 0(x,y)和I (1)(x,y)為前向運動補償值和後向運動補償值及其擴展值。其擴展方式可以是從塊邊界的運動補償值拷貝,也可以是從參考像素位置獲取。ψ x (i,j)和ψ y (i,j)為像素點在前向參考幀和後向參考幀的水平和垂直分量的變化率。θ(i,j)表示前向運動補償只及其擴展值與後向運動補償值及其擴展值的像素差值。
5.2、然後計算改善運動向量v x 和v y
v x =(S 1+r)>m?clip3(-th BIO ,th BIO ,(S 3≪5)/(S 1+r)):0
v y =(S 5+r)>m?clip3(-th BIO ,th BIO ,((S 6≪6)-v x S 2)/((S 5+r)≪1)):0
其中,≪為左移運算子,“x>y?z:a”表明當“x>y”成立時,取值為z,當“x>y”不成立時,取值為a;m和thBIO均為閾值,r為正則項,
避免除0操作。S1、S2、S3、S5和S6為像素的梯度和,clip3表示的是將裡面的值保證在-thBIO和thBIO之間。
5.3、根據改善運動向量獲取光流偏移值b。
其中,(x,y)為當前編碼單元內部每個像素的座標,I 0(x,y)和I (1)(x,y)為前向運動補償值和後向運動補償值及其擴展值。
5.4、最後根據光流偏移值計算當前編碼單元的每個像素的預測值pred BIO (x,y):
pred BIO (x,y)=(I (0)(x,y)+I (1)(x,y)+b+1)≫1
其中,I 0(x,y)和I (1)(x,y)為前向運動補償值和後向運動補償值。
6、解碼運動向量改良(Decoder-side Motion Vector Refinement,簡稱DMVR):解碼運動向量調整技術DMVR應用於直接模式或者跳過模式。
示例性的,DMVR技術細節如下:
6.1、利用初始的MV獲取預測塊和搜索區域內所需的參考像素;
6.2、獲取最優整像素位置;
示例性的,將當前編碼單元的亮度圖像塊劃分為不重疊且位置相鄰的子塊,所有子塊的初始MV均為MV0和MV1。對於每個子塊,以初始MV0和MV1所對應的位置為中心,開始尋找附近一定範圍內範本匹配失真最小的位置,範本匹配失真的計算方式為計算前向搜索區域中以中心位置開始的子塊寬度乘以子塊高度的塊,和後向搜索區域中以中心位置開始的子塊寬度乘以子塊高度的塊之間的SAD(Sum of Absolute Differences,差的絕對值的和)值。
6.3、獲取最優亞像素位置;
示例性的,亞像素位置的確認使用整數位置最優位置、其左側、其右側、其上方、其下方共五處的範本匹配失真值,估計整數位置最優位置
附近的二次失真平面,計算得到失真平面中失真最小的位置作為亞像素位置。其計算公式如下所示:
水平亞像素位置=(sad_left-sad_right)*N/((sad_right+sad_left-2*sad_mid)*2)
垂直亞像素位置=(sad_btm-sad_top)*N/((sad_top+sad_btm-2*sad_mid)*2)
其中,sad_mid、sad_left、sad_right、sad_top和sad_btm分別是整數位置最優位置、其左側、其右側、其上方、其下方共五處的範本匹配失真值,N是精度。
6.4、根據最優MV,計算得到最終預測塊。
下面再對現有視頻編解碼的主要流程進行簡單說明。
請參考圖1中的(a),以視頻編碼為例,視頻編碼一般包括預測、變換、量化、熵編碼等過程,進一步地,編碼過程還可以按照圖1中的(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,需要右移4位元轉化為整像素。同時,需要將參考塊的位置修剪(Clip)到當前LCU(Largest Coding Unit,最大編碼單元)在參考幀中的同位LCU的範圍內,即當參考塊的位置未處於當前LCU在參考幀中的同位LCU的範圍內時,將參考塊水平平移或/和垂直平移到剛好處於當前LCU在參考幀中的同位LCU的範圍內,其示意圖如圖2所示。
中心參考塊的位置的計算方式如下所示:
yColCb=Clip3(yCtb,Min(PicHeight-1,yCtb+(1<<CtbLog2Size)-1),yColCtrCb+(tempMv[1]>>4)),
其中,(xColCb,yColCb)為中心參考塊的左上角的座標,(xCtb,yCtb)為當前LCU在參考幀中的同位LCU的左上角的座標,PicWidth和PicHeight分別為當前幀的寬和高,CtbLog2Size為以2為底,對當前LCU的尺寸取對數,(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。
6)、當ctrPredFlagLX=1時,計算每個子塊的運動資訊:遍歷匹配編碼單元內的每個子塊,對於任一子塊,將該子塊clip到匹配編碼單元所在LCU的範圍內,若clip後的子塊的運動資訊可用,則將該clip後的子塊的運動資訊伸縮到指向ListX的第一幀,並將伸縮後的運動資訊賦予當前編碼單元對應位置的子塊;若clip後的子塊的運動資訊不可用,則使用
調整後的中心參考塊的中心位置的運動資訊伸縮到指向ListX的第一幀,並將伸縮後的運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,可以通過當前編碼單元的相鄰塊的運動資訊,在Co-located(共同位置)幀中找到與當前編碼單元的相鄰編碼單元所對應的編碼單元,然後將與當前編碼單元在Co-located幀中對應位置的編碼單元內部的每個子塊的運動資訊提供給當前編碼單元內的每個子塊使用。
在co-located幀中尋找與當前編碼單元對應位置的編碼單元是需要依賴於當前編碼單元的周圍編碼單元的運動資訊的,若周圍編碼單元的運動資訊不准,則會導致尋找的對應位置的編碼單元的運動資訊也不可靠,從而影響編解碼性能。
為了提高匹配編碼單元的運行資訊的可靠性,優化編解碼性能,本發明實施例利用當前編碼單元在co-located幀中同位元編碼單元的運動資訊來確定匹配編碼單元,並且將找到的匹配編碼單元進行上下左右等一系列的偏移,產生多個時域候選模式,一定程度上避免了由於周圍編碼單元的運動資訊不准而導致的尋找匹配編碼單元不准的問題。
本發明實施例的主要實現流程可以包括以下6個部分:
第一部分(可以記為A)、根據當前編碼單元的編碼/解碼條件,編碼/解析增強時域運動向量預測(Enhanced Temporal Motion Vector Prediction,簡稱ETMVP)模式標誌位和增強時域運動向量預測模式索引值;
第二部分(可以記為B)、根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;
第三部分(可以記為C)、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表;
第四部分(可以記為D)、根據增強時域運動向量預測模式索引值,在增強時域候選模式清單中獲取對應的增強時域運動向量預測模式,並確定該增強時域運動向量預測模式對應的目標匹配編碼單元的座標資訊。
第五部分(可以記為E)、根據目標匹配編碼單元的座標資訊獲得當前編碼單元內每個子塊的運動資訊;
第六部分(可以記為F)、根據當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償。
示例性的,上述六個部分的先後順序可以調整。
為了使本發明實施例的上述目的、特徵和優點能夠更加明顯易懂,下面結合圖式對本發明實施例中技術方案作進一步詳細的說明。
請參見圖3,為本發明實施例提供的一種解碼方法的流程示意圖,其中,該解碼方法可以應用於解碼設備,如圖3所示,該解碼方法可以包括以下步驟:
步驟S300、獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值。
本發明實施例中,當前編碼單元可以為待處理圖像中的任一個編碼單元。在實施中,可以將待處理圖像劃分為不同的編碼單元,然後可以按一定順序依次對每個編碼單元進行處理。其中,每個編碼單元的大小和形狀可以根據預設的劃分規則進行設置。
示例性的,對當前編碼單元進行解碼時,可以獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值。
示例性的,當前編碼單元的增強時域運動向量預測模式標誌位的取值可以從碼流中解析得到,或者,在當前編碼單元滿足一定條件的情況下推導得到。
示例性的,當前編碼單元的增強時域運動向量預測模式索引值可以從碼流中解析得到,或者,在當前編碼單元滿足一定條件的情況下推導得到。
當獲取到的當前編碼單元的增強時域運動向量預測模式標誌位的取值為第一數值時,執行步驟S310~步驟S340。
示例性的,增強時域運動向量預測模式標誌位的取值可以包括用於表明啟用增強時域運動向量預測模式的值(本文中稱為第一數值,如1)。
步驟S310、根據當前編碼單元的座標資訊,確定當前編碼單元的初始匹配編碼單元的座標資訊。
本發明實施例中,當獲取到的當前編碼單元的增強時域運動向量預測模式標誌位的取值為第一數值時,可以確定當前編碼單元啟用增強時域運動向量預測模式,此時,可以進行初始匹配編碼單元座標資訊的確定。
示例性的,可以根據當前編碼單元的座標資訊,確定當前編碼單元的初始匹配編碼單元的座標資訊。
示例性的,該初始匹配編碼單元的座標資訊可以為該初始匹配編碼單元在對應的參考圖像中的座標資訊,如左上角座標。
步驟S320、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表。
本發明實施例中,當確定了當前編碼單元的初始匹配編碼單元的座標資訊時,可以根據該初始匹配編碼單元的座標資訊,構建增強時域候選列表。
示例性的,該增強時域候選列表包括至少一個增強時域運動向量預測模式號。
示例性的,不同增強時域運動向量預測模式號對應的匹配編碼單元的座標資訊可以不同。
步驟S330、根據獲取到的增強時域運動向量預測模式索引值,在增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定該增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊。
本發明實施例中,可以根據步驟S300中獲取到的當前編碼單元的增強時域運動向量預測模式索引值,在增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定該增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊。
示例性的,目標匹配編碼單元可以包括初始匹配編碼單元,或,通過對初始匹配編碼單元進行上/下/左/右偏移得到的匹配編碼單元。
示例性的,目標匹配編碼單元的座標資訊可以與初始匹配編碼單元的座標資訊一致,或,在初始匹配編碼單元的座標資訊的基礎上,根據預設偏移量進行調整得到。
步驟S340、根據目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,該目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊。
本發明實施例中,當確定了目標匹配編碼單元的座標資訊時,可以根據該目標匹配編碼單元的座標資訊,確定目標匹配編碼單元的運動資訊。示例性的,目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊。
示例性的,可以根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊。例如,根據目標匹配編碼單元內第h行第1列的子塊的運動資訊,確定當前編碼單元內第h行第1列的子塊的運動資訊。
在一些實施例中,步驟S300中,獲取當前編碼單元的獲取增強時域運動向量預測模式標誌位的取值,可以包括:當當前編碼單元滿足第一解析條件時,從碼流中解析增強時域運動向量預測模式標誌位的取值;否則,確定增強時域運動向量預測模式標誌位的取值為第二數值,該增強時域運動向量預測模式標誌位的取值為第二數值表明當前編碼單元不啟用增強時域運動向量預測模式。
示例性的,考慮到增強時域運動向量預測模式的使用通常需要滿足一定的條件,在不滿足該條件的情況下,可能並不適用增強時域運動向量預測模式,在該情況下,增強時域運動向量預測模式標誌位的取值不需要從碼流中解析,而是可以推導得出。
示例性的,可以根據當前編碼單元是否滿足指定條件(本文中稱為第一解析條件),確定從碼流中解析當前編碼單元的增強時域運動向量預測模式標誌位的取值,或,推導得出當前編碼單元的增強時域運動向量預
測模式標誌位的取值。
示例性的,當當前編碼單元滿足第一解析條件時,從碼流中解析當前編碼單元的增強時域運動向量預測模式標誌位的取值;當當前編碼單元不滿足第一解析條件時,可以不需要從碼流中解析當前編碼單元的增強時域運動向量預測模式標誌位的取值,而是可以確定當前編碼單元不啟用增強時域運動向量預測模式,當前編碼單元的增強時域運動向量預測模式標誌位的取值為用於表明當前編碼單元不啟用增強時域運動向量預測模式的值(本文中稱為第二數值)。
在一個示例中,上述當前編碼單元滿足第一解析條件,可以包括以下之一或多個:當前編碼單元的預測模式為跳過模式或直接模式;當前編碼單元的尺寸滿足預設尺寸限制;序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術;當前編碼單元滿足角度加權預測使用條件或滿足高級運動向量表達使用條件。
示例性的,考慮到增強時域運動向量預測模式的使用對編碼單元的預測模式以及尺寸等具有一定的要求,可以依據編碼單元的預測模式和/或尺寸等是否滿足要求來確定編碼單元是否適用。
此外,考慮到當高層語法不允許當前編碼單元啟用增強時域運動向量預測技術時,可以確定當前編碼單元不啟用增強時域運動向量預測技術。
示例性的,可以在當前編碼單元的預測模式為跳過(skip)模式或直接(direct)模式、當前編碼單元的尺寸滿足預設尺寸限制、序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術、當前編碼單元滿足角度加權預測(Angle Weight Prediction,簡稱AWP)使用條件或滿足高級運動向量表達(Ultimate Motion Vector Expression,簡稱UMVE)使用條件等條件中的一個或多個滿足時,確定當前編碼單元滿足第一解析條件。
例如,在當前編碼單元的預測模式為跳過模式或直接模式時,或,在當前編碼單元的尺寸滿足預設尺寸限制時,或,在序列級高層語法允
許當前編碼單元啟用增強時域運動向量預測技術時,或,在當前編碼單元滿足角度加權預測使用條件或滿足高級運動向量表達使用條件時,確定當前編碼單元滿足第一解析條件。
例如,在當前編碼單元的預測模式為跳過模式或直接模式時,確定當前編碼單元滿足第一解析條件。
例如,在當前編碼單元的尺寸滿足預設尺寸限制時,確定當前編碼單元滿足第一解析條件。
例如,在序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術時,確定當前編碼單元滿足第一解析條件。
例如,在當前編碼單元滿足角度加權預測使用條件或滿足高級運動向量表達使用條件時,確定當前編碼單元滿足第一解析條件。
又例如,可以在當前編碼單元的預測模式為跳過模式或直接模式、當前編碼單元的尺寸滿足預設尺寸限制、序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術時,即上述條件均滿足時,確定當前編碼單元滿足第一解析條件。
又例如,可以在當前編碼單元的預測模式為跳過模式或直接模式、當前編碼單元的尺寸滿足預設尺寸限制、序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術、且當前編碼單元滿足角度加權預測使用條件或滿足高級運動向量表達使用條件時,即上述條件均滿足時,確定當前編碼單元滿足第一解析條件。
示例性的,當前編碼單元的尺寸滿足預設尺寸限制可以包括當前編碼單元的寬度和高度均大於或等於N0。示例性的,N0=8。
需要說明的是,上述當前編碼單元的尺寸滿足預設尺寸限制的描述僅僅是本發明實施例中相關實現的一種具體示例,而並不是對本發明保護範圍的限定,本發明實施例中,當前編碼單元的尺寸滿足預設尺寸限制也可以包括其它情況,如當前編碼單元的寬度大於或等於N0、當前編碼單元的高度大於或等於N0、或、當前編碼單元的高度和寬度均大於或等於N0,且寬度和高度不同時等於N0等。
示例性的,當前編碼單元滿足角度加權預測使用條件,可以包括:序列級高層語法允許當前編碼單元啟用角度加權預測技術;當前編碼單元的寬度和高度均大於或等於N1,當前編碼單元的寬度和高度均小於或等於N2;當前圖像框架類型為B圖像。
示例性的,當前編碼單元滿足高級運動向量表達使用條件,可以包括:序列級高層語法允許所述當前編碼單元啟用高級運動向量表達技術。
在一個示例中,當前編碼單元滿足第一解析條件包括:當前編碼單元的預測模式為跳過模式或直接模式;當前編碼單元的尺寸滿足尺寸限制:當前編碼單元的寬度和高度均大於或等於N0;序列級高層語法允許所述當前編碼單元啟用增強時域運動向量預測技術;所述當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
在一個示例中,增強時域運動向量預測模式標誌位可以採用基於上下文的二進位算術編碼,並採用一個上下文模型。
在另一個示例中,增強時域運動向量預測模式標誌位可以採用基於上下文的二進位算術編碼,並採用多個上下文模型。示例性的,該多個上下文模型可以根據當前編碼單元的尺寸確定。示例性的,當前編碼單元的尺寸可以包括但不限於當前編碼單元的寬度和/或高度、當前編碼單元的寬度和高度中的最大值或最小值,或當前編碼單元的寬度和高度的乘積等。
在一些實施例中,步驟S300中,獲取當前編碼單元的增強時域運動向量預測模式索引值,可以包括:當當前編碼單元滿足第二解析條件時,從碼流中解析增強時域運動向量預測模式索引值;否則,確定增強時域運動向量預測模式索引值為第三數值。
示例性的,增強時域運動向量預測模式索引值為第三數值表明當前編碼單元不啟用增強時域運動向量預測模式。
示例性的,考慮到增強時域運動向量預測模式的使用需要滿足一定條件,當不滿足該條件時,增強時域運動向量預測模式將不適用,此時,增強時域運動向量預測模式索引值可以不需要從碼流中解析,而是可以
推導得出。
示例性的,當當前編碼單元滿足指定條件(本文中稱為第二解析條件)時,可以從碼流中解析增強時域運動向量預測模式索引值;否則,可以確定增強時域運動向量預測模式索引值為第三數值,該增強時域運動向量預測模式索引值為第三數值表明當前編碼單元不啟用增強時域運動向量預測模式。
示例性的,第三數值可以與上述第一數值或第二數值相同,或者,第三數值可以與上述第一數值和第二資料均不同。
在一個示例中,當前編碼單元滿足第二解析條件,可以包括以下之一或多個:當前編碼單元的預測模式為跳過模式或直接模式;當前編碼單元啟用增強時域運動向量預測模式。
在一個示例中,增強時域運動向量預測模式索引值的反二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串,每個二元符號採用單獨的上下文模型,一共4個上下文模型。
示例性的,為了節省編碼比特開銷,提高編解碼性能,增強時域運動向量預測模式索引值的反二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串,每個二元符號採用單獨的上下文模型,一共4個上下文模型。
例如,增強時域運動向量預測模式索引值的反二值化實現可以參見表1:
其中,cu_etmvp_cand_index為增強時域運動向量預測模式索引值。
在一些實施例中,步驟S310中,根據當前編碼單元的座標資
訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊,包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在時域參考圖像中的座標資訊。
示例性的,為了確定當前編碼單元的初始匹配編碼單元的座標資訊,可以確定當前編碼單元所在圖像(本文中稱為當前圖像)的框架類型(即當前圖像框架類型),根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像。
示例性的,若當前圖像框架類型為P圖像,則時域參考圖像是參考圖像佇列0(即List0)中參考幀索引值為0的參考圖像;若當前圖像框架類型是B圖像,則時域參考圖像是參考圖像佇列1(即List1)中參考幀索引值為0的參考圖像。
示例性的,當確定了匹配編碼單元所在的時域參考圖像時,可以根據當前編碼單元的座標資訊,確定初始匹配編碼單元在該時域參考圖像中的座標資訊。
在一個示例中,當前編碼單元的座標資訊為當前編碼單元在當前圖像中的左上角座標;匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標。
示例性的,匹配編碼單元可以包括初始匹配編碼單元或目標匹配編碼單元,即下文中若未特殊說明,所提及的初始匹配編碼單元的座標資訊可以指初始匹配編碼單元的左上角座標,目標匹配編碼單元的座標資訊可以指目標匹配編碼單元的左上角座標。
在一個示例中,上述根據當前編碼單元的座標資訊,確定初始匹配編碼單元在時域參考圖像中的座標資訊,可以包括:根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
示例性的,一個最大編碼單元可以包括一個或多個編碼單元。
示例性,可以根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前編碼單元的尺寸、當前圖像的尺寸、當前編碼單元在圖像中的左上角座標來確定當前編碼單元的匹配編碼單元的座標資訊。
在一個示例中,上述根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,可以包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、最大編碼單元的大小、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標來,確定初始匹配編碼單元的縱坐標。
示例性的,以當前編碼單元的座標資訊為當前編碼單元在當前圖像中的左上角座標;匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標。
示例性的,以在圖像平面內向右為坐標系橫軸正向,向下為坐標系縱軸正向(下同)為例。
舉例來說,假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,(x_ctb_pos,y_ctb_pos)是當前最大編碼單元在圖像中的左上角座標,cu_width和cu_height分別是當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度,lcu_size是最大編碼單元的大小,按以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),((Xpos+4)>>3)<<3)
My=Clip3(y_ctb_pos,min(y_ctb_pos+lcu_size-cu_height,vertical_size-cu_height),((Ypos+4)>>3)<<3)
又舉例來說,假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,(x_ctb_pos,y_ctb_pos)是當前最大編碼單元在圖像中的左上角座標,cu_width和cu_height分別是當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度,lcu_size是最
大編碼單元的大小,按以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=min(((Xpos+4)>>3)<<3,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width))
My=min(((Ypos+4)>>3)<<3,min(y_ctb_pos+lcu_size-cu_height,vertical_size-cu_height))
在一些實施例中,步驟S320中,根據初始匹配編碼單元的座標資訊,構建增強時域候選列表,可包括:根據初始匹配編碼單元的座標資訊,確定至少一個增強時域運動向量預測模式號;根據至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
示例性的,該至少一個增強時域運動向量預測模式號可以包括初始匹配編碼單元的座標資訊對應的增強時域運動向量預測模式號,以及一個或多個通過對初始匹配編碼單元進行偏移得到的多個新的匹配編碼單元(若可用)對應的增強時域運動向量預測模式號。
示例性的,當根據初始匹配編碼單元的座標資訊,確定了至少一個增強時域運動向量預測模式號時,可以根據該至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
示例性的,在構建增強時域候選列表時,可以將該增強時域候選列表的長度初始化為0,即該增強時域候選列表的初始長度為0。
示例性的,該增強時域候選清單的長度可以根據加入的增強時域運動向量預測模式號的數量的增加而增加。
在一個示例中,匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標;上述根據至少一個增強時域運動向量預測模式號,構建增強時域候選列表,可以包括:將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,且A1位置的運動資訊與B2位置的運動資訊不同,
或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;若My-8大於或等於y_ctb_pos,且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;若Mx-8大於或等於x_ctb_pos,且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1。
示例性的,(Mx,My)所述初始匹配編碼單元的座標資訊,(x_ctb_pos,y_ctb_pos)為當前最大編碼單元在圖像中的左上角座標,lcu_size為最大編碼單元的大小,cu_width和cu_height分別為當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度。
示例性的,A1為初始匹配編碼單元的左上角4*4塊、B1為A1正左側的4*4塊,C1為A1正上方的4*4塊;A2為初始匹配編碼單元的右上角4*4塊、B2為A2正右側的4*4塊,C2為A2正上方的4*4塊;A3為初始匹配編碼單元的左下角4*4塊、B3為A3正左側的4*4塊,C3為A3正下方的4*4塊;A4為初始匹配編碼單元的右下角4*4塊、B4為A4正右側的4*4塊,C4為A4正下方的4*4塊,其示意圖可以如圖4所示。
示例性的,以對匹配編碼單元進行偏移時,偏移的單位為8像素為例。例如,對匹配編碼單元向下進行偏移時,對匹配編碼單元向下偏移8個像素。
考慮到本發明實施例中通過對匹配編碼單元進行向上/下/左/右偏移得到新的匹配編碼單元,增加候選匹配編碼單元,以增加新的候選運動資訊。
以對匹配編碼單元向下進行偏移為例,考慮到當A1與C3位
置的運動資訊相同,且A2與C4位置的運動資訊相同時,對匹配編碼單元向下進行偏移得到的新的匹配編碼單元的運動資訊大概率會與原匹配編碼單元的運動資訊相同,此次偏移可能無法得到新的運動資訊。
因而,可以分別比較A1位置的運動資訊與C3位置的運動資訊,以及比較A2位置的運動資訊與C4位置的運動資訊,並兩個比較結果中至少一個比較結果為不一致時,可以確定通過向下偏移能夠得到新的運動資訊,即向下偏移得到的匹配編碼單元可以作為候選匹配編碼單元。
示例性的,對匹配編碼單元進行偏移時,還需要保證偏移後得到的新的匹配編碼單元在偏移方向的邊界未超過該匹配編碼單元(偏移前的匹配編碼單元)所在最大編碼單元對應的座標範圍,即未超過該最大編碼單元在偏移方向的邊界,且未超過該匹配編碼單元所在圖像對應的座標範圍,即未超過該圖像在偏移方向的邊界。
示例性的,對於向上偏移,在偏移方向的邊界即為上邊界;對於向下偏移,在偏移方向的邊界即為下邊界;對於向左偏移,在偏移方向的邊界即為左邊界;對於向右偏移,在偏移方向的邊界即為右邊界。
示例性的,仍以向下偏移為例,當對匹配編碼單元向下偏移時,一方面,偏移後的縱坐標(即My+8)需小於或等於y_ctb_pos+lcu_size-cu_height(即偏移後得到的新的匹配編碼單元的下邊界未超過偏移前的匹配編碼單元所在的最大編碼單元的下邊界),另一方面,偏移後的縱坐標需小於或等於vertical_size-cu_height(偏移後得到的新的匹配編碼單元的下邊界未超過偏移前的匹配編碼單元所在圖像的下邊界),即My+8需小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值。
在一個示例中,步驟S320中,根據初始匹配編碼單元的座標資訊,構建增強時域候選列表,還可以包括:當增強時域候選列表長度小於5時,迴圈執行如下操作,直至增強時域候選列表長度等於5:將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1。
示例性的,考慮到當對匹配編碼單元向上偏移、向下偏移、向左偏移、向右偏移均得到可用的候選匹配編碼單元的情況下,候選匹配編碼單元可以包括偏移前的匹配編碼單元,以及通過匹配得到的4個匹配編碼單元,即增強時域候選列表長度為5。
為了提高解碼魯棒性,避免解碼錯誤,當按照上述方式構建的增強時域候選列表的長度小於5時,可以通過策略將增強時域候選列表長度擴展為5。
示例性的,當增強時域候選列表長度小於5時,可以將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1;迴圈執行該操作,直至增強時域候選列表長度等於5。
在一些實施例中,根據增強時域運動向量預測模式索引值,在增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊,可以包括:若增強時域運動向量預測模式號為0,則Px等於Mx,Py等於My;若增強時域運動向量預測模式號為1,則Px等於Mx,Py等於My+n;若增強時域運動向量預測模式號為2,則Px等於Mx+n,Py等於My;若增強時域運動向量預測模式號為3,則Px等於Mx,Py等於My-n;若增強時域運動向量預測模式號為4,則Px等於Mx-n,Py等於My;
示例性的,(Mx,My)初始匹配編碼單元的左上角座標,(Px,Py)為目標匹配編碼單元的左上角座標。
示例性的,以通過對匹配編碼單元向上/下/左/右進行偏移n個像素得到新的匹配編碼單元為例。示例性的,n=8。
示例性的,假設初始匹配編碼單元對應的增強時域運動向量預測模式號為0,向下偏移得到的匹配編碼單元對應的增強時域運動向量預測模式號為1,向右偏移得到的匹配編碼單元對應的增強時域運動向量預測模式號為2,向上偏移得到的匹配編碼單元對應的增強時域運動向量預測模
式號為3,向左偏移得到的匹配編碼單元對應的增強時域運動向量預測模式號為4。
當按照上述方式構建得到增強時域候選清單時,可以根據步驟S300中獲取到的增強時域運動向量預測模式索引值,在該增強時域候選列表中獲取對應的增強時域運動向量預測模式號。
示例性的,若增強時域運動向量預測模式號為1,則目標匹配編碼單元為初始匹配編碼單元整體向下偏移n個像素得到的時域參考編碼單元,即Px等於Mx,Py等於My+n。
若增強時域運動向量預測模式號為2,則目標匹配編碼單元為初始匹配編碼單元整體向右偏移n個像素得到的時域參考編碼單元,即Px等於Mx+n,Py等於My。
若增強時域運動向量預測模式號為3,則目標匹配編碼單元為初始匹配編碼單元整體向上偏移n個像素得到的時域參考編碼單元,即Px等於Mx,Py等於My-n。
若增強時域運動向量預測模式號為4,則目標匹配編碼單元為初始匹配編碼單元整體向左偏移n個像素得到的時域參考編碼單元,即Px等於Mx-n,Py等於My。
在一些實施例中,步驟S340中,根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊,可以包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是P圖像的情況下,若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予所述當前編碼單元對應位置的子塊。
在一些實施例中,步驟S340中,根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊,可以包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是B圖像的情況下,若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第
一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,為了提升確定當前編碼單元的各子塊的運動資訊的效率,對於目標匹配編碼單元中的任一子塊,可以判斷該子塊的運動資訊是否可用。
示例性的,在當前圖像框架類型為P圖像的情況下,可以判斷該子塊的前向運動資訊是否可用;在當前圖像框架類型為B圖像的情況下,可以分別判斷該子塊的前向運動資訊和後向運動資訊是否可用。
示例性的,對於目標匹配編碼單元內的任一子塊,在判斷結果為前向運動資訊可用的情況下,可以將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,對於目標匹配編碼單元內的任一子塊,在判斷結果為後向運動資訊可用的情況(對於當前圖像框架類型為B圖像的情況)下,可將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,對於目標匹配編碼單元內的任一子塊,在判斷結果為前向運動資訊和後向運動資訊均可用的情況(對於當前圖像框架類型為B圖像的情況)下,可以將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前編碼單元對應位置的子塊。
在一些實施例中,步驟S340中,根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊,可以包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是P圖
像的情況下,若將子塊的前向運動資訊不可用,則當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;在當前圖像框架類型是B圖像的情況下,若將子塊的前向運動資訊和後向運動資訊均不可用,則當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,還可以根據當前編碼單元的周圍塊(本文中稱為第一周圍塊)的運動資訊確定當前編碼單元內子塊的運動資訊。
示例性的,當前編碼單元的第一周圍塊可以包括但不限於當前編碼單元任一已解碼的相鄰塊或非相鄰塊。
舉例來說,當前編碼單元的第一周圍塊可以如圖5所示。如圖5所示,E為當前編碼單元,當前編碼單元的第一周圍塊可以包括A、B、C、D、F和G中的任一塊。
示例性的,一個編碼單元至少包括一個子塊,每個子塊的寬度不超過當前編碼單元的寬度,每個子塊的高度不超過當前編碼單元的高度,例如每個子塊為8*8的塊。
在一個示例中,當前編碼單元的第一周圍塊為圖5中的F。示例性的,F的尺寸可以為8*8,即第一周圍塊為當前編碼單元左下角相鄰的
8*8塊。示例性的,F的尺寸可以為4*4,即第一周圍塊為當前編碼單元左下角相鄰的4*4塊。
示例性的,對於當前圖像框架類型為P圖像的情況,在目標匹配編碼單元的子塊的前向運動資訊不可用的情況下,還可以根據當前編碼單元的第一周圍塊的運動資訊確定當前編碼單元的子塊的運動資訊。
示例性的,對於當前圖像框架類型為B圖像的情況,在目標匹配編碼單元的子塊的前向運動資訊和後向運動資訊均不可用的情況下,還可以根據當前編碼單元的第一周圍塊的運動資訊確定當前編碼單元的子塊的運動資訊。
示例性的,對於當前圖像框架類型為P圖像的情況,在目標匹配編碼單元的子塊的前向運動資訊和當前圖像編碼單元的第一周圍塊的前向運動資訊均不可用的情況下,可以將零運動資訊賦予當前編碼單元對應位置的子塊。
示例性的,對於當前圖像框架類型為B圖像的情況,在目標匹配編碼單元的子塊的前向運動資訊和後向運動資訊均不可用、且第一周圍塊的前向運動資訊和後向運動資訊均不可用的情況下,可以將零運動資訊賦予當前編碼單元對應位置的子塊。
在一些實施例中,請參見圖6,步驟S340中,根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊之後,還可以包括以下步驟:步驟S350、根據當前編碼單元內每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償。
示例性的,當按照上述方式確定了當前編碼單元內每個子塊的運動資訊時,可以根據當前編碼單元內每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償。例如,可以根據當前編碼單元內第h行第1列的子塊的運動資訊,對當前編碼單元內第h行第1列的子塊進行運動補償。
在一個示例中,步驟S350中,根據當前編碼單元內每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償,可以包括:對於當
前編碼單元的任一子塊,對該子塊的運動資訊不進行解碼運動向量調整技術;若該子塊滿足雙向光流條件,根據該子塊的運動資訊對該子塊進行運動補償,並使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣;否則,根據該子塊的運動資訊對該子塊進行運動補償,得到該子塊的預測樣本矩陣。
示例性的,當前編碼單元的預測樣本由各子塊的預測樣本組成。
在一個示例中,子塊滿足雙向光流條件包括:序列級高層語法允許啟用雙向光流技術;當前編碼單元的運動向量精度等於0;該子塊採用雙向預測;該子塊的參考圖像佇列0中參考幀索引值為refIdxL0的參考幀和參考圖像佇列1中參考索引值為refIdxL1的參考幀顯示順序分別位於當前幀的兩側。
作為一種示例,本發明實施例還提供的一種編碼方法,其中,該編碼方法可以應用於編碼設備,該方法可以包括以下步驟:
T100、根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊。其具體實現可以圖3所示實施例中步驟S310,本發明實施例在此不再贅述。
T110、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表。其具體實現可以圖3所示實施例中步驟S320,本發明實施例在此不再贅述。
T120、按順序遍歷增強時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊。
示例性的,當按照步驟T120中描述的方式構建了增強時域候選清單時,編碼設備可以遍歷增強時域候選列表中各候選增強時域運動向量預測模式號。
對於任一候選增強時域運動向量預測模式號,編碼設備可以根據該候選增強時域運動向量預測模式號,確定對應的目標匹配編碼單元
的座標資訊,其具體實現可以圖3所示實施例中步驟S330,本發明實施例在此不再贅述。
T130、根據目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,該目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元內對應位置的子塊的運動資訊。其具體實現可以圖3所示實施例中步驟S340,本發明實施例在此不再贅述。
T140、根據當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償。其具體實現可以圖6所示實施例中步驟S350,本發明實施例在此不再贅述。
T150、計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
示例性的,編碼設備可以基於RDO決策確定率失真代價值最小的預測模式,並根據最小的率失真代價值所對應的預測模式,確定增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值,並將其寫入碼流,傳送給解碼設備。
示例性的,上述各實施例編碼和解碼的實現流程可以相互參照。
為了使本領域技術人員更好地理解本發明實施例提供的技術方案,下面結合具體實例對本發明實施例提供的技術方案進行說明。
實施例一
本發明實施例提供一種增強時域運動資訊預測方法,利用當前編碼單元在co-located幀中同位元編碼單元的運動資訊來確定匹配編碼單元,並且將找到的匹配編碼單元進行上下左右等一系列的偏移,產生多個時域候選模式,一定程度上避免了由於周圍編碼單元的運動資訊不准而導致的尋找匹配編碼單元不准的問題。
本發明實施例的主要實現流程可以包括以下6個部分:
第一部分、根據當前編碼單元的編碼/解碼條件,編碼/解析增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值;
第二部分、根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;
第三部分、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表;
第四部分、根據增強時域運動向量預測模式索引值,在增強時域候選模式清單中獲取對應的增強時域運動向量預測模式,並確定該增強時域運動向量預測模式對應的目標匹配編碼單元的座標資訊。
第五部分、根據目標匹配編碼單元的座標資訊獲得當前編碼單元內每個子塊的運動資訊;
第六部分、根據當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償。
示例性的,上述六個部分的先後順序可以調整。
實施例二
本發明實施例提供的編碼方法可以包括以下步驟:
1、根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;
2、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表;
3、按順序遍歷增強時域候選列表中的每一種增強時域候選模式,確定每個模式對應的目標匹配編碼單元的座標資訊;
4、根據目標匹配編碼單元的座標資訊對應的運動資訊確定當前編碼單元中的每個子塊的運動資訊;
5、根據當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償。
6、計算增強時域運動向量預測模式對應的率失真代價值,並
將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
實施例三
本發明實施例提供的解碼方法可以包括以下步驟:
1、獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;當獲取到的當前編碼單元的增強時域運動向量預測模式標誌位的取值為第一數值時,執行步驟2~6。
2、根據當前編碼單元的座標資訊,確定當前編碼單元的初始匹配編碼單元的座標資訊;
3、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表;
4、根據獲取到的增強時域運動向量預測模式索引值,在增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定該增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;
5、根據目標匹配編碼單元的座標資訊對應的運動資訊確定當前編碼單元內每個子塊的運動資訊;
6、根據當前編碼單元內每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償。
下面結合實施例對本發明實施例主要流程的各部分(即第一部分~第六部分中各部分)分別進行說明。
第一部分、編碼/解析增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值
示例性的,解析增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值可以包括:1)、解析增強時域運動向量預測模式標誌位(可以記為etmvp_flag);2)、解析增強時域運動向量預測模式索引值(可以記為cu_etmvp_cand_index)。
實施例四
若當前編碼單元滿足解析條件1(即上述第一解析條件),則從碼流中解析出增強時域運動向量預測模式標誌位,否則,增強時域運動向量預測模式標誌位取值為0(即上述第二數值為0)。
示例性的,當前編碼單元滿足解析條件1的情況可以分別參見實施例五~實施例十。
實施例五
當前編碼單元滿足解析條件1,包括:當前編碼單元為跳過模式或者直接模式。
實施例六
當前編碼單元滿足解析條件1,包括當前編碼單元尺寸滿足以下限制(即上述預設尺寸限制)中的一種:當前編碼單元的寬度和高度均大於或等於N0。示例性的,N0=8。
實施例七
當前編碼單元滿足解析條件1,包括:序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術。
實施例八
當前編碼單元滿足解析條件1,包括:當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
示例性的,角度加權預測使用條件可以包括:序列級高層語法允許所述當前編碼單元啟用角度加權預測技術;當前編碼單元的寬度和高度均大於或等於N1,當前編碼單元的寬度和高度均小於或等於N2;當前圖像框架類型為B圖像。
示例性的,N1=8。示例性的,N2=64。
示例性,當前編碼單元滿足高級運動向量表達使用條件包括:序列級高層語法允許當前編碼單元啟用高級運動向量表達技術。
實施例九
當前編碼單元滿足解析條件1,包括:
1)、當前編碼單元為跳過模式或者直接模式;
2)、當前編碼單元尺寸滿足以下限制:
2.1)、當前編碼單元的寬度和高度均大於或等於N0。示例性的,N0=8
3)、序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術。
實施例十
當前編碼單元滿足解析條件1,包括:
1)、當前編碼單元為跳過模式或者直接模式;
2)、當前編碼單元尺寸滿足以下限制:
2.1)、當前編碼單元的寬度和高度均大於或等於N0。示例性的,N0=8
3)、序列級高層語法允許當前編碼單元啟用增強時域運動向量預測技術。
4)、當前編碼單元滿足角度加權預測使用條件或滿足高級運動向量表達使用條件。
示例性的,角度加權預測使用條件可以包括:
4.1)、序列級高層語法允許所述當前編碼單元啟用角度加權預測技術;
4.2)、當前編碼單元的寬度和高度均大於或等於N1,當前編碼單元的寬度和高度均小於或等於N2;
4.3)、當前圖像框架類型為B圖像。
示例性的,N1=8。示例性的,N2=64。
示例性,當前編碼單元滿足高級運動向量表達使用條件包括:序列級高層語法允許當前編碼單元啟用高級運動向量表達技術。
需要說明的是,本發明實施例中,當前編碼單元滿足解析條件1並不限於上述實施例五~實施例十中描述的情況,其也可以包括由實施例五~實施例八中各實施例中任意兩個組合得到的情況,以及任意三個組合得到的情況(實施例五~實施例七組合得到的即為實施例九)。
實施例十一
若當前編碼單元滿足解析條件1,則從碼流解析出增強時域運動向量預測模式標誌位;否則,增強時域運動向量預測模式標誌位取值為0。
示例性的,增強型時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼。
實施例十二
若當前編碼單元滿足解析條件1,則從碼流解析出增強時域運動向量預測模式標誌位;否則,增強時域運動向量預測模式標誌位取值為0。
示例性的,當前編碼單元滿足解析條件1的具體情況可以參見上述實施例中的相關描述,如實施例五~實施例十中任一實施例的描述。
示例性的,增強型時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼,並採用1個上下文模型。
實施例十三
若當前編碼單元滿足解析條件1,則從碼流解析出增強時域運動向量預測模式標誌位;否則,增強時域運動向量預測模式標誌位取值為0。
示例性的,當前編碼單元滿足解析條件1的具體情況可以參見上述實施例中的相關描述,如實施例五~實施例十中任一實施例的描述。
示例性的,增強型時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼,並採用多個上下文模型。
示例性的,該多個上下文模型可以根據當前編碼單元的尺寸確定。
示例性的,當前編碼單元的尺寸可包括但不限於當前編碼單元的寬度和/或高度、當前編碼單元的寬度和高度中的最大值或最小值,或當前編碼單元的寬度和高度的乘積等。
實施例十四
若當前編碼單元滿足解析條件2(即上述第二解析條件),則從碼流解析出增強型時域運動向量預測模式索引值;否則,增強時域運動向量預測模式索引值為0(即上述第三數值為0)。
示例性的,當前編碼單元滿足解析條件2的情況可以分別參見實施例十五~實施例十七。
實施例十五
當前編碼單元滿足解析條件2,包括:當前編碼單元為跳過模式或者直接模式。
實施例十六
當前編碼單元滿足解析條件2,包括:當前編碼單元為增強時域運動向量預測模式。
實施例十七
當前編碼單元滿足解析條件2,包括:
1)、當前編碼單元為跳過模式或者直接模式;
2)、當前編碼單元為增強時域運動向量預測模式。
例如,增強時域運動向量預測模式索引值的語法描述可以如下:
實施例十八
若當前編碼單元滿足解析條件2(即上述第二解析條件),則從碼流解析出增強型時域運動向量預測模式索引值;否則,增強時域運動向量預測模式索引值為0(即上述第三數值為0)。
示例性的,當前編碼單元滿足解析條件2的情況可以參見實施例十五~實施例十七中任一實施例中的描述。
示例性的,增強時域運動向量預測模式索引值的反二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串(bins),每個二元符號(bin)採用單獨的上下文模型,一共4個上下文模型。例如,增強時域運動向量預測模式索引值的反二值化實現可以參見表1。
第二部分、根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊
示例性的,根據當前編碼單元的座標資訊確定當前編碼單元
的初始匹配編碼單元的座標資訊,可以包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊。
示例性的,時域參考圖像中寬度和高度與當前編碼單元的寬度和高度一致的時域參考塊為當前編碼單元的匹配編碼單元。
示例性的,若當前圖像框架類型為P圖像,則時域參考圖像是參考圖像佇列0中參考幀索引值為0的參考圖像;若當前圖像框架類型為B圖像,則時域參考圖像是參考圖像佇列1中參考幀索引值為0的參考圖像。
示例性的,當前編碼單元的座標資訊可以為當前編碼單元在圖像(當前圖像)中的左上角座標;匹配編碼單元的座標資訊可以為匹配編碼單元在時域參考圖像中的左上角座標。
示例性的,根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊,可以包括:基於當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前編碼單元的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
示例性的,基於當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、當前最大編碼單元尺寸、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標,確定初始匹配編碼單元的縱坐標。
示例性的,根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊的具體實現可以參見實施例十九~實施例二十一中任一實施例的描述。
實施例十九
假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,(x_ctb_pos,y_ctb_pos)是當前最大編碼單元在圖像中的左上角座標,cu_width和cu_height分別是當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度,lcu_size是最大編碼單元的大小,按以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),((Xpos+4)>>3)<<3)
My=Clip3(y_ctb_pos,min(y_ctb_pos+lcu_size-cu_height,vertical_size-cu_height),((Ypos+4)>>3)<<3)
實施例二十
假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,(x_ctb_pos,y_ctb_pos)是當前最大編碼單元在圖像中的左上角座標,cu_width和cu_height分別是當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度,lcu_size是最大編碼單元的大小,按以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=min(((Xpos+4)>>3)<<3,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width))
My=min(((Ypos+4)>>3)<<3,min(y_ctb_pos+lcu_size-cu_height,vertical_size-cu_height))
實施例二十一
假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,(x_ctb_pos,y_ctb_pos)是當前最大編碼單元在圖像中的左上角座標,cu_width和cu_height分別是當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度,lcu_size是最大編碼單元的大小,按以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),(Xpos>>3)<<3)
My=Clip3(y_ctb_pos,min(y_ctb_pos+lcu_size-cu_height,vertical_size-cu_height),(Ypos>>3)<<3)
實施例二十二
假設(Xpos,Ypos)是當前編碼單元在圖像中的左上角座標,則可以按照以下方法匯出匹配編碼單元的座標(Mx,My):
Mx=(Xpos>>shift)<<shift
My=(Ypos>>shift)<<shift)
示例性的,Shift與子塊的大小有關,對於N*N的子塊,N=1<<shift。例如,若子塊大小為8*8,則shift=3。
第三部分、根據初始匹配編碼單元的座標資訊,構建增強時域候選列表
示例性的,假設(Mx,My)為初始匹配編碼單元在時域參考圖像中的左上角座標,A1~A4,B1~B4,C1~C4是時域參考圖像中位於初始匹配編碼單元周圍的相鄰4*4塊,其示意圖可以如圖4所示。
實施例二十三
23.0、將增強時域候選列表的長度初始化為0。示例性的,增強時域候選列表的初始長度為0。
23.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;
23.2、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的下邊界,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
23.3、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的右邊界,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
23.4、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的上邊界,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
23.5、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼
單元所在LCU或者圖像的左邊界,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;
23.6、若增強時域候選列表長度小於5,則迴圈執行以下操作:
23.6.1、將增強時域候選列表中最後一個增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1;
23.6.2、若增強時域候選列表長度等於5,則結束列表構建過程。
示例性的,其實現邏輯可以如下:
1)、將EtmvpCandArray[i]初始化為0,i=0~4;length初始化為0;
2)、首先EtmvpCandArray[0]=0,length加1;
3)、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的下邊界,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則EtmvpCandArray[length]=1,length加1;
4)、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的右邊界,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則EtmvpCandArray[length]=2,length加1;
5)、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的上邊界,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則EtmvpCandArray[length]=3,length加1;
6)、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的左邊界,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則
EtmvpCandArray[length]=4,length加1;
7)、若length小於5,迴圈執行以下操作:
7.1)、EtmvpCandArray[length]=EtmvpCandArray[length-1],length加1。
7.2)、若length等於5,結束列表構建過程。
實施例二十四
24.0、將增強時域候選列表的長度初始化為0。示例性的,增強時域候選列表的初始長度為0。
24.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;
24.2、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的下邊界,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
24.3、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的右邊界,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
24.4、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的上邊界,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
24.5、若(Mx,My)所在的匹配編碼單元未超過該匹配編碼單元所在LCU或者圖像的左邊界,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增
強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1。
實施例二十五
25.0、將增強時域候選列表的長度初始化為0。示例性的,增強時域候選列表的初始長度為0。
25.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;示例性的,增強時域候選列表的初始長度為0。
25.2、若(Mx,My+8)所在的匹配編碼單元的下邊界未超過該匹配編碼單元所在LCU或者圖像的下邊界,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
25.3、若(Mx+8,My)所在的匹配編碼單元的右邊界未超過該匹配編碼單元所在LCU或者圖像的右邊界,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
25.4、若(Mx,My-8)所在的匹配編碼單元的上邊界未超過該匹配編碼單元所在LCU或者圖像的上邊界,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
25.5、若(Mx-8,My)所在的匹配編碼單元的左邊界未超過該匹配編碼單元所在LCU或者圖像的左邊界,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;
25.6、若增強時域候選列表長度小於5,則迴圈執行以下操作:
25.6.1、將增強時域候選列表中最後一個增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1;
25.6.2、若增強時域候選列表長度等於5,則結束列表構建過程。
實施例二十六
26.0、將增強時域候選列表的長度初始化為0。
26.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;示例性的,增強時域候選列表的初始長度為0。
26.2、若(Mx,My+8)所在的匹配編碼單元的下邊界未超過該匹配編碼單元所在LCU或者圖像的下邊界,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
26.3、若(Mx+8,My)所在的匹配編碼單元的右邊界未超過該匹配編碼單元所在LCU或者圖像的右邊界,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
26.4、若(Mx,My-8)所在的匹配編碼單元的上邊界未超過該匹配編碼單元所在LCU或者圖像的上邊界,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
26.5、若(Mx-8,My)所在的匹配編碼單元的左邊界未超過該匹配編碼單元所在LCU或者圖像的左邊界,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不
同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1。
實施例二十七
27.0、將增強時域候選列表的長度初始化為0。示例性的,增強時域候選列表的初始長度為0。
27.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;
27.2、若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
27.3、若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
27.4、若My-8大於或等於y_ctb_pos,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
27.5、若Mx-8大於或等於x_ctb_pos,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;
27.6、若增強時域候選列表長度小於5,則迴圈執行以下操作:
27.6.1、將增強時域候選列表中最後一個增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1;
27.6.2、若增強時域候選列表長度等於5,則結束列表構建過程。
實施例二十八
28.0、將增強時域候選列表的長度初始化為0。示例性的,增強時域候選列表的初始長度為0。
28.1、將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;
28.2、若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,並且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;
28.3、若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,並且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;
28.4、若My-8大於或等於y_ctb_pos,並且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;
28.5、若Mx-8大於或等於x_ctb_pos,並且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1。
第四部分、根據增強時域運動向量預測模式索引值,在增強時域候選模式清單中獲取對應的增強時域運動向量預測模式,並確定該增強時域運動向量預測模式對應的目標匹配編碼單元的座標資訊
示例性的,根據增強時域運動向量預測模式索引(可以記為EtmvpCandIndex),在增強時域候選列表中獲取對應的增強型時域運動向量預測模式號(可以記為etmvp_mode),根據增強型時域運動向量預測模式號etmvp_mode確定得到目標匹配編碼單元的位置座標(Px,Py)。示例性的,
etmvp_mode=EtmvpCandArray[EtmvpCandIndex]。
實施例二十九
根據增強型時域運動向量預測模式號,通過查表確定目標匹配編碼單元的位置座標(Px,Py)。示例性的,etmvp_mode與Px、Py的對應關係可以如表2所示:
示例性的,n可以為8。
實施例三十
若增強型時域運動向量預測模式號為0,則目標匹配編碼單元為初始匹配編碼單元,即Px等於Mx,Py等於My;
若增強型時域運動向量預測模式號為1,則目標匹配編碼單元為初始匹配編碼單元整體向下偏移n個像素得到的時域參考塊,即Px等於Mx,Py等於My+n;
若增強型時域運動向量預測模式號為2,則目標匹配編碼單元為初始匹配編碼單元整體向右偏移n個像素得到的時域參考塊,即Px等於Mx+n,Py等於My;
若增強型時域運動向量預測模式號為3,則目標匹配編碼單元為初始匹配編碼單元整體向上偏移n個像素得到的時域參考塊,即Px等於Mx,Py等於My-n;
若增強型時域運動向量預測模式號為4,則目標匹配編碼單元
為初始匹配編碼單元整體向左偏移n個像素得到的時域參考塊,即Px等於Mx-n,Py等於My。
示例性的,n可以為8。
第五部分、根據目標匹配編碼單元的座標資訊獲得當前編碼單元內每個子塊的運動資訊
示例性的,可以根據目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊;根據目標匹配編碼單元內每個子塊的運動資訊,確定當前編碼單元對應位置的子塊的運動資訊。
示例性的,當前編碼單元的第一周圍塊可以如圖5所示。如圖5所示,E為當前編碼單元,當前編碼單元的第一周圍塊可以包括A、B、C、D、F和G中的任一塊。
示例性的,一個編碼單元至少包括一個子塊,每個子塊的寬度不超過當前編碼單元的寬度,每個子塊的高度不超過當前編碼單元的高度,例如每個子塊為8*8的塊。
在一個示例中,當前編碼單元的第一周圍塊為圖5中的F。
示例性的,對於目標匹配編碼單元中的任一子塊(以8*8子塊為例),每個8*8子塊的左上角座標為(Px+(i<<3),Py+(j<<3)),i是子塊水平索引值,j是子塊垂直索引值,i=0~(cu_width>>3)-1,j=0~(cu_height>>3)-1。
示例性的,對於當前編碼單元中的任一子塊(以8*8子塊為例),每個8*8子塊的運動資訊記為MotionArray[i][j],i是子塊水平索引值,j是子塊垂直索引值,i=0~(cu_width>>3)-1,j=0~(cu_height>>3)-1。
實施例三十一
對於目標匹配編碼單元中的任一子塊:
31.1、若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和
List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
31.2、若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
31.3、若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
31.4、若將子塊的前向運動資訊和後向運動資訊均不可用,則填充缺省運動資訊。
示例性的,本發明實施例對缺省運動資訊可以不作限制,例如,缺省運動資訊可以為零運動資訊或由當前編碼單元的周圍塊匯出的運動資訊。
實施例三十二
對於目標匹配編碼單元中的任一子塊:
32.1、若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
32.2、若該子塊的前向運動資訊不可用,則填充缺省運動資訊。
示例性的,本發明實施例對缺省運動資訊可以不作限制,例如,缺省運動資訊可以為零運動資訊或由當前編碼單元的周圍塊匯出的運動資訊。
實施例三十三
對於目標匹配編碼單元中的任一子塊:
33.1、在當前圖像框架類型是P圖像的情況下:
33.1.1、若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
33.1.2、若該子塊的前向運動資訊不可用,則填充缺省運動資訊。
示例性的,本發明實施例對缺省運動資訊可以不作限制,例如,缺省運動資訊可以為零運動資訊或由當前編碼單元的周圍塊匯出的運動資訊。
33.2、在當前圖像框架類型是B圖像的情況下:
33.2.1、若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
33.2.2、若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
33.2.3、若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
33.2.4、若將子塊的前向運動資訊和後向運動資訊均不可用,則填充缺省運動資訊。
示例性的,本發明實施例對缺省運動資訊可以不作限制,例如,缺省運動資訊可以為零運動資訊或由當前編碼單元的周圍塊匯出的運動資訊。
實施例三十四
對於目標匹配編碼單元中的任一子塊:
34.1、若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
34.2、若該子塊的前向運動資訊可用,但後向運動資訊不可用,
則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
34.3、若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
34.4、若將子塊的前向運動資訊和後向運動資訊均不可用,則:
34.4.1、當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
34.4.2、當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
34.4.3、當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
34.4.4、當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊。
實施例三十五
對於目標匹配編碼單元中的任一子塊:
35.1、若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
35.2、若該子塊的前向運動資訊不可用,則:
35.2.1、當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
35.2.2、當第一周圍塊的前向運動資訊不可用時,將零運動資
訊賦予當前編碼單元對應位置的子塊。
實施例三十六
對於目標匹配編碼單元中的任一子塊:
36.1、在當前圖像框架類型是P圖像的情況下:
36.1.1、若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
36.1.2、若該子塊的前向運動資訊不可用,則:
36.1.2.1、當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
36.1.2.2、當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊。
36.2、在當前圖像框架類型是B圖像的情況下:
36.2.1、若該子塊的前向運動資訊和後向運動資訊均可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
36.2.2、若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
36.2.3、若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
36.2.4、若將子塊的前向運動資訊和後向運動資訊均不可用,則:
36.2.4.1、當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別
伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;
36.2.4.2、當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;
36.2.4.3、當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;
36.2.4.4、當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊。
第六部分、根據當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內對應子塊進行運動補償
示例性的,一個編碼單元至少包括一個子塊,每個子塊的寬度不超過當前編碼單元的寬度,每個子塊的高度不超過當前編碼單元的高度。
例如,每個子塊為8*8大小的塊。
示例性的,對於當前編碼單元中的任一子塊(以8*8子塊為例),每個8*8子塊的運動資訊記為MotionArray[i][j],i是子塊水平索引值,j是子塊垂直索引值,i=0~(cu_width>>3)-1,j=0~(cu_height>>3)-1。
實施例三十七
對於當前編碼單元的任一子塊,根據當前子塊的運動資訊,對當前子塊進行運動補償,得到當前子塊的預測樣本矩陣。示例性的,當前編碼單元的預測樣本由各子塊的預測樣本組成。
實施例三十八
對於當前編碼單元的任一子塊,若當前子塊滿足BIO條件,則根據當前子塊的運動資訊對當前子塊進行運動補償,並使用BIO技術來對補償後的像素值疊加光流偏移值,得到當前子塊的預測樣本矩陣;否則,根據當前子塊的運動資訊對當前子塊進行運動補償,得到當前子塊的預測
樣本矩陣。
示例性的,當前編碼單元的預測樣本由各子塊的預測樣本組成。示例性的,子塊滿足雙向光流條件包括:1)、序列級高層語法允許啟用雙向光流技術;2)、當前編碼單元的運動向量精度等於0;3)、該子塊採用雙向預測;4)、該子塊的參考圖像佇列0中參考幀索引值為refIdxL0的參考幀和參考圖像佇列1中參考索引值為refIdxL1的參考幀顯示順序分別位於當前幀的兩側。
實施例三十九
對於當前編碼單元的任一子塊,對當前子塊的運動資訊不進行解碼運動向量調整(DMVR)技術,根據當前子塊的運動資訊對當前子塊進行運動補償,得到當前子塊的預測樣本矩陣。示例性的,當前編碼單元的預測樣本由各子塊的預測樣本組成。
實施例四十
對於當前編碼單元的任一子塊,對當前子塊的運動資訊不進行解碼運動向量調整(DMVR)技術,若當前子塊滿足BIO條件,根據當前子塊的運動資訊對當前子塊進行運動補償,並使用BIO技術來對補償後的像素值疊加光流偏移值,得到當前子塊的預測樣本矩陣;否則,根據當前子塊的運動資訊對當前子塊進行運動補償,得到當前子塊的預測樣本矩陣。
示例性的,當前編碼單元的預測樣本由各子塊的預測樣本組成。
示例性的,子塊滿足雙向光流條件包括:1)、序列級高層語法允許啟用雙向光流技術;2)、當前編碼單元的運動向量精度等於0;3)、該子塊採用雙向預測;4)、該子塊的參考圖像佇列0中參考幀索引值為refIdxL0的參考幀和參考圖像佇列1中參考索引值為refIdxL1的參考幀顯示順序分別位於當前幀的
兩側。
需要說明的是,上述實施例僅僅是本發明實施例的實現方式的具體示例,而並不是對本發明保護範圍的限定,基於上述實施例,可以通過實施例之間的組合,即一個或多個實施例之間的任意組合,或對實施例進行變型,得到新的實施例,其均應屬於本發明的保護範圍。
此外,上述各實施例之間可相互參照,且編碼和解碼的實現流程可相互參照。
以上對本發明提供的方法進行了描述。下面對本發明提供的裝置進行描述:
請參見圖7,圖7是本發明實施例提供的一種解碼裝置的結構示意圖,該裝置可以包括:獲取單元710,用於獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;第一確定單元720,用於當所述增強時域運動向量預測模式標誌位的取值為第一數值時,根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;構建單元730,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元740,用於根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;第三確定單元750,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。
在一些實施例中,所述獲取單元710獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值,包括:當所述當前編碼單元滿足第一解析條件時,從碼流中解析所述增強時域運動向量預測模式標誌位的取值;否則,確定所述增強時域運動向量預測模式標誌位的取值為第二數值;所述增強時域運動向量預測模式標誌位的取值為第一數值,表明所述當前
編碼單元啟用增強時域運動向量預測模式,所述增強時域運動向量預測模式標誌位的取值為第二數值表明所述當前編碼單元不啟用增強時域運動向量預測模式。
在一些實施例中,所述當前編碼單元滿足第一解析條件包括以下之一或多個:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元的尺寸滿足預設尺寸限制;序列級高層語法允許所述當前編碼單元啟用增強時域運動向量預測技術;所述當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
在一些實施例中,所述當前編碼單元滿足第一解析條件包括:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元的尺寸滿足尺寸限制:當前編碼單元的寬度和高度均大於或等於N0;序列級高層語法允許所述當前編碼單元啟用增強時域運動向量預測技術;所述當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
在一些實施例中,所述增強時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼,並採用一個上下文模型。
在一些實施例中,所述獲取單元710獲取當前編碼單元的增強時域運動向量預測模式索引值,包括:當所述當前編碼單元滿足第二解析條件時,從碼流中解析所述增強時域運動向量預測模式索引值。
在一些實施例中,所述當前編碼單元滿足第二解析條件,包括以下之一或多個:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元啟用增強時域運動向量預測模式。
在一些實施例中,所述增強時域運動向量預測模式索引值的反二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串,每個二元符號採用單獨的上下文模型,一共4個上下文模型。
在一些實施例中,所述第一確定單元720根據當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊,包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據所述
當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊;其中,若所述當前圖像框架類型為P圖像,則所述時域參考圖像是參考圖像佇列0中參考幀索引值為0的參考圖像;若當前圖像框架類型是B圖像,則所述時域參考圖像是參考圖像佇列1中參考幀索引值為0的參考圖像。
在一些實施例中,所述第一確定單元720根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
在一些實施例中,所述第一確定單元720根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定所述初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、最大編碼單元的大小、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標來,確定所述初始匹配編碼單元的縱坐標。
在一些實施例中,所述構建單元730根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元的座標資訊,確定至少一個增強時域運動向量預測模式號;根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
在一些實施例中,匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標;所述構建單元730根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表,包括:將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;
若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;若My-8大於或等於y_ctb_pos,且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度加1;若Mx-8大於或等於x_ctb_pos,且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;
其中,(Mx,My)所述初始匹配編碼單元的座標資訊,(x_ctb_pos,y_ctb_pos)為當前最大編碼單元在圖像中的左上角座標,lcu_size為最大編碼單元的大小,cu_width和cu_height分別為當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度;
A1為所述初始匹配編碼單元的左上角4*4塊、B1為A1正左側的4*4塊,C1為A1正上方的4*4塊;A2為所述初始匹配編碼單元的右上角4*4塊、B2為A2正右側的4*4塊,C2為A2正上方的4*4塊;A3為所述初始匹配編碼單元的左下角4*4塊、B3為A3正左側的4*4塊,C3為A3正下方的4*4塊;A4為所述初始匹配編碼單元的右下角4*4塊、B4為A4正右側的4*4塊,C4為A4正下方的4*4塊。
在一些實施例中,所述構建單元730根據所述初始匹配編碼
單元的座標資訊,構建增強時域候選列表,還包括:當所述增強時域候選列表長度小於5時,迴圈執行如下操作,直至增強時域候選列表長度等於5:將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1。
在一些實施例中,所述第二確定單元740根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊,包括:若增強時域運動向量預測模式號為0,則Px等於Mx,Py等於My;若增強時域運動向量預測模式號為1,則Px等於Mx,Py等於My+n;若增強時域運動向量預測模式號為2,則Px等於Mx+n,Py等於My;若增強時域運動向量預測模式號為3,則Px等於Mx,Py等於My-n;若增強時域運動向量預測模式號為4,則Px等於Mx-n,Py等於My;
其中,(Mx,My)所述初始匹配編碼單元的左上角座標,(Px,Py)為所述目標匹配編碼單元的左上角座標。
在一些實施例中,所述第三確定單元750根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是P圖像的情況下,若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予所述當前編碼單元對應位置的子塊。
在一些實施例中,所述第三確定單元750根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是B圖像的情況下,若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述
當前編碼單元對應位置的子塊;若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊。
在一些實施例中,所述第三確定單元750根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是P圖像的情況下,若將子塊的前向運動資訊不可用,則當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;在當前圖像框架類型是B圖像的情況下,若將子塊的前向運動資訊和後向運動資訊均不可用,則當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊。其中,所述第一周圍塊包括所述當前編碼單元任一已解碼的相鄰塊。
在一些實施例中,如圖8所示,所述解碼裝置還包括:運動補償單元760,根據所述當前編碼單元內每個子塊的運動資訊,對所述當前編
碼單元內對應子塊進行運動補償。
在一些實施例中,所述運動補償單元760根據所述當前編碼單元內每個子塊的運動資訊,對所述當前編碼單元內對應子塊進行運動補償,包括:對於當前編碼單元的任一子塊,對該子塊的運動資訊不進行解碼運動向量調整技術;若該子塊滿足雙向光流條件,根據該子塊的運動資訊對該子塊進行運動補償,並使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣;否則,根據該子塊的運動資訊對該子塊進行運動補償,得到該子塊的預測樣本矩陣;其中,當前編碼單元的預測樣本由各子塊的預測樣本組成。
在一種可能的實施例中,上述解碼裝置可以包括視頻解碼器。
請參見圖9,為本發明實施例提供的一種解碼設備的硬體結構示意圖。該解碼設備可包括處理器901、存儲有機器可執行指令的機器可讀存儲介質902。處理器901與機器可讀存儲介質902可經由系統匯流排903通信。並且,通過讀取並執行機器可讀存儲介質902中與解碼控制邏輯對應的機器可執行指令,處理器901可執行上文描述的解碼方法。
本文中提到的機器可讀存儲介質902可以是任何電子、磁性、光學或其它物理存儲裝置,可以包含或存儲資訊,如可執行指令、資料,等等。例如,機器可讀存儲介質可以是:RAM(Radom Access Memory,隨機存取記憶體)、動態記憶體、非易失性記憶體、快閃記憶體、存儲驅動器(如硬碟驅動器)、固態硬碟、任何類型的存儲盤(如光碟、dvd等),或者類似的存儲介質,或者它們的組合。
在一些實施例中,還提供了一種機器可讀存儲介質,該機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現上文描述的解碼方法。例如,所述機器可讀存儲介質可以是ROM、RAM、CD-ROM、磁帶、軟碟和光資料存放裝置等。
請參見圖10,圖10是本發明實施例提供的一種編碼裝置的結構示意圖,該裝置可以包括:第一確定單元1010,用於根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;構建單元
1020,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元1030,用於按順序遍歷增強型時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;第三確定單元1040,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊;運動補償單元1050,用於根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償;編碼單元1060,用於計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
在一些實施例中,所述第一確定單元1010根據當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊,包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊;其中,若所述當前圖像框架類型為P圖像,則所述時域參考圖像是參考圖像佇列0中參考幀索引值為0的參考圖像;若當前圖像框架類型是B圖像,則所述時域參考圖像是參考圖像佇列1中參考幀索引值為0的參考圖像。
在一些實施例中,所述第一確定單元1010根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
在一些實施例中,所述第一確定單元1010根據當前最大編碼
單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定所述初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、最大編碼單元的大小、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標來,確定所述初始匹配編碼單元的縱坐標。
在一些實施例中,所述構建單元1020根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元的座標資訊,確定至少一個增強時域運動向量預測模式號;根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
在一些實施例中,匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標;所述構建單元1020根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表,包括:將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;若My-8大於或等於y_ctb_pos,且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表長度
加1;若Mx-8大於或等於x_ctb_pos,且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;
其中,(Mx,My)所述初始匹配編碼單元的座標資訊,(x_ctb_pos,y_ctb_pos)為當前最大編碼單元在圖像中的左上角座標,lcu_size為最大編碼單元的大小,cu_width和cu_height分別為當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度;
A1為所述初始匹配編碼單元的左上角4*4塊、B1為A1正左側的4*4塊,C1為A1正上方的4*4塊;A2為所述初始匹配編碼單元的右上角4*4塊、B2為A2正右側的4*4塊,C2為A2正上方的4*4塊;A3為所述初始匹配編碼單元的左下角4*4塊、B3為A3正左側的4*4塊,C3為A3正下方的4*4塊;A4為所述初始匹配編碼單元的右下角4*4塊、B4為A4正右側的4*4塊,C4為A4正下方的4*4塊。
在一些實施例中,所述構建單元1020根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,還包括:當所述增強時域候選列表長度小於5時,迴圈執行如下操作,直至增強時域候選列表長度等於5:將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1。
在一些實施例中,所述第二確定單元1030按順序遍歷增強型時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊,包括:對於當前遍歷的增強時域運動向量預測模式號,若該增強時域運動向量預測模式號為0,則Px等於Mx,Py等於My;若該增強時域運動向量預測模式號為1,則Px等於Mx,Py等於My+n;
若該增強時域運動向量預測模式號為2,則Px等於Mx+n,Py等於My;若該增強時域運動向量預測模式號為3,則Px等於Mx,Py等於My-n;若該增強時域運動向量預測模式號為4,則Px等於Mx-n,Py等於My;
其中,(Mx,My)所述初始匹配編碼單元的左上角座標,(Px,Py)為所述目標匹配編碼單元的左上角座標。
在一些實施例中,所述第三確定單元1040根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是P圖像的情況下:若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予所述當前編碼單元對應位置的子塊。
在一些實施例中,所述第三確定單元1040根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是B圖像的情況下,若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前編碼單元對應位置的子塊;若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊。
在一些實施例中,所述第三確定單元1040根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊,在當前圖像框架類型是P圖像的情況下,若將子塊的前向運動資訊不可用,則當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資
訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;在當前圖像框架類型是B圖像的情況下:若將子塊的前向運動資訊和後向運動資訊均不可用,則當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;其中,所述第一周圍塊包括所述當前編碼單元任一已解碼的相鄰塊。
在一些實施例中,所述運動補償單元1050根據所述當前編碼單元內每個子塊的運動資訊,對所述當前編碼單元內對應子塊進行運動補償,包括:對於當前編碼單元的任一子塊,對該子塊的運動資訊不進行解碼運動向量調整技術;若該子塊滿足雙向光流條件,根據該子塊的運動資訊對該子塊進行運動補償,並使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣;否則,根據該子塊的運動資訊對該子塊進行運動補償,得到該子塊的預測樣本矩陣;其中,當前編碼單元的預測樣本由各子塊的預測樣本組成。
在一種可能的實施例中,上述編碼裝置可以包括視訊轉碼器。
請參見圖11,為本發明實施例提供的一種編碼設備的硬體結構示意圖。該編碼設備可包括處理器1101、存儲有機器可執行指令的機器可讀存儲介質1102。處理器1101與機器可讀存儲介質1102可經由系統匯流排1103通信。並且,通過讀取並執行機器可讀存儲介質1102中與編碼
控制邏輯對應的機器可執行指令,處理器1101可執行上文描述的編碼方法。
本文中提到的機器可讀存儲介質1102可以是任何電子、磁性、光學或其它物理存儲裝置,可以包含或存儲資訊,如可執行指令、資料,等等。例如,機器可讀存儲介質可以是:RAM(Radom Access Memory,隨機存取記憶體)、動態記憶體、非易失性記憶體、快閃記憶體、存儲驅動器(如硬碟驅動器)、固態硬碟、任何類型的存儲盤(如光碟、dvd等),或者類似的存儲介質,或者它們的組合。
在一些實施例中,還提供了一種機器可讀存儲介質,該機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現上文描述的編碼方法。例如,所述機器可讀存儲介質可以是ROM、RAM、CD-ROM、磁帶、軟碟和光資料存放裝置等。
在一些實施例中,還提供了一種攝像機設備,包括上述任一實施例中的編碼裝置和上述任一實施例中的解碼裝置。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
S300,S310,S320,S330,S340:步驟
Claims (51)
- 一種解碼方法,其特徵在於,包括:獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;當所述增強時域運動向量預測模式標誌位的取值為第一數值時:根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。
- 如請求項1所述的方法,其中,所述獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值,包括:當所述當前編碼單元滿足第一解析條件時,從碼流中解析所述增強時域運動向量預測模式標誌位的取值;否則,確定所述增強時域運動向量預測模式標誌位的取值為第二數值;所述增強時域運動向量預測模式標誌位的取值為第一數值,表明所述當前編碼單元啟用增強時域運動向量預測模式,所述增強時域運動向量預測模式標誌位的取值為第二數值,表明所述當前編碼單元不啟用增強時域運動向量預測模式。
- 如請求項2所述的方法,其中,所述當前編碼單元滿足第一解析條件包括以下之一或多個:所述當前編碼單元的預測模式為跳過模式或直接模式; 所述當前編碼單元的尺寸滿足預設尺寸限制;序列級高層語法允許所述當前編碼單元啟用增強時域運動向量預測技術;所述當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
- 如請求項3所述的方法,其中,所述預設尺寸限制包括:當前編碼單元的寬度和高度均大於或等於N0。
- 如請求項4所述的方法,其中,N0為8。
- 如請求項3所述的方法,其中,所述當前編碼單元滿足角度加權預測使用條件,包括:序列級高層語法允許當前編碼單元啟用角度加權預測技術;當前編碼單元的寬度和高度均大於或等於N1,當前編碼單元的寬度和高度均小於或等於N2;當前圖像框架類型為B圖像;所述當前編碼單元滿足高級運動向量表達使用條件,包括:序列級高層語法允許所述當前編碼單元啟用高級運動向量表達技術。
- 如請求項2至6任一項所述的方法,其中,所述增強時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼,並採用一個上下文模型。
- 如請求項1所述的方法,其中,所述獲取當前編碼單元的增強時域運動向量預測模式索引值,包括:當所述當前編碼單元滿足第二解析條件時,從碼流中解析所述增強時域運動向量預測模式索引值。
- 如請求項8所述的方法,其中,所述當前編碼單元滿足第二解析條件,包括以下之一或多個:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元啟用增強時域運動向量預測模式。
- 如請求項8或9所述的方法,其中,所述增強時域運動向量預測模式索引值的反二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串,每個二元符號採用單獨的上下文模型,一共4個上下文模型。
- 如請求項1所述的方法,其中,所述根據當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊,包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊;其中,若所述當前圖像框架類型為P圖像,則所述時域參考圖像是參考圖像佇列0中參考幀索引值為0的參考圖像;若當前圖像框架類型是B圖像,則所述時域參考圖像是參考圖像佇列1中參考幀索引值為0的參考圖像;所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,構建增強時域候選列表。
- 如請求項11所述的方法,其中,所述根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
- 如請求項12所述的方法,其中,所述根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大 小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定所述初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、最大編碼單元的大小、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標來,確定所述初始匹配編碼單元的縱坐標。
- 如請求項1所述的方法,其中,所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元的座標資訊,確定至少一個增強時域運動向量預測模式號;根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
- 如請求項14所述的方法,其中,匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標;所述根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表,包括:將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;若My-8大於或等於y_ctb_pos,且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表 長度加1;若Mx-8大於或等於x_ctb_pos,且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;其中,(Mx,My)所述初始匹配編碼單元的座標資訊,(x_ctb_pos,y_ctb_pos)為當前最大編碼單元在圖像中的左上角座標,lcu_size為最大編碼單元的大小,cu_width和cu_height分別為當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度;A1為所述初始匹配編碼單元的左上角4*4塊、B1為A1正左側的4*4塊,C1為A1正上方的4*4塊;A2為所述初始匹配編碼單元的右上角4*4塊、B2為A2正右側的4*4塊,C2為A2正上方的4*4塊;A3為所述初始匹配編碼單元的左下角4*4塊、B3為A3正左側的4*4塊,C3為A3正下方的4*4塊;A4為所述初始匹配編碼單元的右下角4*4塊、B4為A4正右側的4*4塊,C4為A4正下方的4*4塊。
- 如請求項15所述的方法,其中,所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,還包括:當所述增強時域候選列表長度小於5時,迴圈執行如下操作,直至增強時域候選列表長度等於5;將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1。
- 如請求項1所述的方法,其中,所述根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊,包括:若增強時域運動向量預測模式號為0,則Px等於Mx,Py等於My;若增強時域運動向量預測模式號為1,則Px等於Mx,Py等於My+n; 若增強時域運動向量預測模式號為2,則Px等於Mx+n,Py等於My;若增強時域運動向量預測模式號為3,則Px等於Mx,Py等於My-n;若增強時域運動向量預測模式號為4,則Px等於Mx-n,Py等於My;其中,(Mx,My)所述初始匹配編碼單元的左上角座標,(Px,Py)為所述目標匹配編碼單元的左上角座標。
- 如請求項17所述的方法,其中,n為8。
- 如請求項1所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是P圖像的情況下:若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予所述當前編碼單元對應位置的子塊。
- 如請求項1所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是B圖像的情況下:若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前編碼單元對應位置的子塊;若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予 當前編碼單元對應位置的子塊。
- 如請求項1所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是P圖像的情況下:若將子塊的前向運動資訊不可用,則當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;在當前圖像框架類型是B圖像的情況下:若將子塊的前向運動資訊和後向運動資訊均不可用,則當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;其中,所述第一周圍塊包括所述當前編碼單元任一已解碼的相鄰塊。
- 如請求項1所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊之後,還包括:根據所述當前編碼單元內每個子塊的運動資訊,對所述當前編碼單元 內對應子塊進行運動補償。
- 如請求項22所述的方法,其中,所述根據所述當前編碼單元內每個子塊的運動資訊,對所述當前編碼單元內對應子塊進行運動補償,包括:對於當前編碼單元的任一子塊,對該子塊的運動資訊不進行解碼運動向量調整技術;若該子塊滿足雙向光流條件,根據該子塊的運動資訊對該子塊進行運動補償,並使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣;否則,根據該子塊的運動資訊對該子塊進行運動補償,得到該子塊的預測樣本矩陣;其中,當前編碼單元的預測樣本由各子塊的預測樣本組成。
- 如請求項23所述的方法,其中,所述該子塊滿足雙向光流條件,至少包括:序列級高層語法允許啟用雙向光流技術;當前編碼單元的運動向量精度等於0;該子塊採用雙向預測;該子塊的參考圖像佇列0中參考幀索引值為refIdxL0的參考幀和參考圖像佇列1中參考索引值為refIdxL1的參考幀顯示順序分別位於當前幀的兩側。
- 如請求項23所述的方法,其中,所述使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣,包括:根據子塊的前向運動補償值、後向運動補償值以及光流偏移值確定該子塊的預測樣本矩陣。
- 一種編碼方法,其特徵在於,包括:根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表; 按順序遍歷增強時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊;根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償;計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
- 如請求項26所述的方法,其中,所述根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償,包括:對於當前編碼單元的任一子塊,對該子塊的運動資訊不進行解碼運動向量調整技術;若該子塊滿足雙向光流條件,根據該子塊的運動資訊對該子塊進行運動補償,並使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣;否則,根據該子塊的運動資訊對該子塊進行運動補償,得到該子塊的預測樣本矩陣;其中,當前編碼單元的預測樣本由各子塊的預測樣本組成。
- 如請求項27所述的方法,其中,所述該子塊滿足雙向光流條件,至少包括:序列級高層語法允許啟用雙向光流技術;當前編碼單元的運動向量精度等於0; 該子塊採用雙向預測;該子塊的參考圖像佇列0中參考幀索引值為refIdxL0的參考幀和參考圖像佇列1中參考索引值為refIdxL1的參考幀顯示順序分別位於當前幀的兩側。
- 如請求項27所述的方法,其中,所述使用雙向光流技術對補償後的像素值疊加光流偏移值,得到該子塊的預測樣本矩陣,包括:根據子塊的前向運動補償值、後向運動補償值以及光流偏移值確定該子塊的預測樣本矩陣。
- 如請求項26所述的方法,其中,所述將對應的增強時域運動向量預測模式標誌位寫入碼流,包括:當所述當前編碼單元滿足第一解析條件時,將對應的增強時域運動向量預測模式標誌位寫入碼流;否則,確定對應的增強時域運動向量預測模式標誌位的取值為第二數值;所述增強時域運動向量預測模式標誌位的取值為第一數值,表明所述當前編碼單元啟用增強時域運動向量預測模式,所述增強時域運動向量預測模式標誌位的取值為第二數值表明所述當前編碼單元不啟用增強時域運動向量預測模式。
- 如請求項30所述的方法,其中,所述當前編碼單元滿足第一解析條件,包括:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元的尺寸滿足尺寸限制:當前編碼單元的寬度和高度均大於或等於8;序列級高層語法允許所述當前編碼單元啟用增強時域運動向量預測技術;所述當前編碼單元滿足角度加權預測使用條件或者滿足高級運動向量表達使用條件。
- 如請求項31所述的方法,其中,所述當前編碼單元滿足 角度加權預測使用條件,包括:序列級高層語法允許當前編碼單元啟用角度加權預測技術;當前編碼單元的寬度和高度均大於或等於N1,當前編碼單元的寬度和高度均小於或等於N2;當前圖像框架類型為B圖像;所述當前編碼單元滿足高級運動向量表達使用條件,包括:序列級高層語法允許所述當前編碼單元啟用高級運動向量表達技術。
- 如請求項26至32任一項所述的方法,其中,所述增強時域運動向量預測模式標誌位採用基於上下文的二進位算術編碼,並採用一個上下文模型。
- 如請求項26所述的方法,其中,所述將增強時域運動向量預測模式索引值寫入碼流,包括:當所述當前編碼單元滿足第二解析條件時,將增強時域運動向量預測模式索引值寫入碼流。
- 如請求項34所述的方法,其中,所述當前編碼單元滿足第二解析條件,包括以下之一或多個:所述當前編碼單元的預測模式為跳過模式或直接模式;所述當前編碼單元啟用增強時域運動向量預測模式。
- 如請求項34或35所述的方法,其中,所述增強時域運動向量預測模式索引值的二值化方式採用最大值為4的截斷一元碼,最多使用4個二元符號串,每個二元符號採用單獨的上下文模型,一共4個上下文模型。
- 如請求項26所述的方法,其中,所述根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊,包括:根據當前圖像框架類型確定匹配編碼單元所在的時域參考圖像;根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊;其中,若所述當前圖像框架類型為P圖像,則所述時域參考圖像是參 考圖像佇列0中參考幀索引值為0的參考圖像;若當前圖像框架類型是B圖像,則所述時域參考圖像是參考圖像佇列1中參考幀索引值為0的參考圖像;所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,構建增強時域候選列表。
- 如請求項37所述的方法,其中,所述根據所述當前編碼單元的座標資訊,確定所述初始匹配編碼單元在所述時域參考圖像中的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊。
- 如請求項38所述的方法,其中,所述根據當前最大編碼單元在圖像中的左上角座標、最大編碼單元的大小、當前圖像的尺寸、當前編碼單元的尺寸、當前編碼單元在圖像中的左上角座標,確定初始匹配編碼單元的座標資訊,包括:根據當前最大編碼單元在圖像中的左上角橫坐標、最大編碼單元的大小、當前編碼單元的寬度、當前圖像的寬度、當前編碼單元在圖像中的左上角橫坐標,確定所述初始匹配編碼單元的橫坐標;根據當前最大編碼單元在圖像中的左上角縱坐標、最大編碼單元的大小、當前編碼單元的高度、當前圖像的高度、當前編碼單元在圖像中的左上角縱坐標來,確定所述初始匹配編碼單元的縱坐標。
- 如請求項26所述的方法,其中,所述按順序遍歷增強時域候選列表中的每個增強時域運動向量預測模式號,確定每個增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊,包括:若增強時域運動向量預測模式號為0,則Px等於Mx,Py等於My;若增強時域運動向量預測模式號為1,則Px等於Mx,Py等於My+8; 若增強時域運動向量預測模式號為2,則Px等於Mx+8,Py等於My;若增強時域運動向量預測模式號為3,則Px等於Mx,Py等於My-8;若增強時域運動向量預測模式號為4,則Px等於Mx-8,Py等於My;其中,(Mx,My)所述初始匹配編碼單元的左上角座標,(Px,Py)為所述目標匹配編碼單元的左上角座標。
- 如請求項26所述的方法,其中,所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,包括:根據所述初始匹配編碼單元的座標資訊,確定至少一個增強時域運動向量預測模式號;根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表。
- 如請求項41所述的方法,其中,匹配編碼單元的座標資訊為匹配編碼單元在時域參考圖像中的左上角座標;所述根據所述至少一個增強時域運動向量預測模式號,構建增強時域候選列表,包括:將增強時域運動向量預測模式號0加入增強時域候選列表中,增強時域候選列表長度加1;若My+8小於或等於y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的較小值,且A1位置的運動資訊與C3位置的運動資訊不同,或A2位置的運動資訊與C4位置的運動資訊不同,則將增強時域運動向量預測模式號1加入增強時域候選列表中,增強時域候選列表長度加1;若Mx+8小於或等於x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的較小值,且A1位置的運動資訊與B2位置的運動資訊不同,或A3位置的運動資訊與B4位置的運動資訊不同,則將增強時域運動向量預測模式號2加入增強時域候選列表中,增強時域候選列表長度加1;若My-8大於或等於y_ctb_pos,且A3位置的運動資訊與C1位置的運動資訊不同,或A4位置的運動資訊與C2位置的運動資訊不同,則將增強時域運動向量預測模式號3加入增強時域候選列表中,增強時域候選列表 長度加1;若Mx-8大於或等於x_ctb_pos,且A2位置的運動資訊與B1位置的運動資訊不同,或A4位置的運動資訊與B3位置的運動資訊不同,則將增強時域運動向量預測模式號4加入增強時域候選列表中,增強時域候選列表長度加1;其中,(Mx,My)所述初始匹配編碼單元的座標資訊,(x_ctb_pos,y_ctb_pos)為當前最大編碼單元在圖像中的左上角座標,lcu_size為最大編碼單元的大小,cu_width和cu_height分別為當前編碼單元的寬度和高度,horizontal_size和vertical_size分別是當前圖像的寬度和高度;A1為所述初始匹配編碼單元的左上角4*4塊、B1為A1正左側的4*4塊,C1為A1正上方的4*4塊;A2為所述初始匹配編碼單元的右上角4*4塊、B2為A2正右側的4*4塊,C2為A2正上方的4*4塊;A3為所述初始匹配編碼單元的左下角4*4塊、B3為A3正左側的4*4塊,C3為A3正下方的4*4塊;A4為所述初始匹配編碼單元的右下角4*4塊、B4為A4正右側的4*4塊,C4為A4正下方的4*4塊。
- 如請求項42所述的方法,其中,所述根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表,還包括:當所述增強時域候選列表長度小於5時,迴圈執行如下操作,直至增強時域候選列表長度等於5:將與當前增強時域候選列表中最後一個增強時域運動向量預測模式號相同的增強時域運動向量預測模式號加入增強時域候選列表中,增強時域候選列表長度加1。
- 如請求項26所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是P圖像的情況下:若該子塊的前向運動資訊可用,則將該子塊的前向運動資訊伸縮到指 向List0的第一幀,將伸縮後的前向運動資訊賦予所述當前編碼單元對應位置的子塊。
- 如請求項26所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是B圖像的情況下:若該子塊的前向運動資訊和後向運動資訊可用,則將該子塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予所述當前編碼單元對應位置的子塊;若該子塊的前向運動資訊可用,但後向運動資訊不可用,則將該子塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;若該子塊的後向運動資訊可用,但前向運動資訊不可用,則將該子塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊。
- 如請求項26所述的方法,其中,所述根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊,包括:對於目標匹配編碼單元中的任一子塊:在當前圖像框架類型是P圖像的情況下:若將子塊的前向運動資訊不可用,則當當前編碼單元的第一周圍塊的前向運動資訊可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;在當前圖像框架類型是B圖像的情況下: 若將子塊的前向運動資訊和後向運動資訊均不可用,則當當前編碼單元的第一周圍塊的前向運動資訊和後向運動資訊均可用時,將第一周圍塊的前向運動資訊和後向運動資訊分別伸縮到指向List0的第一幀和List1的第一幀,將伸縮後的前向運動資訊和後向運動資訊分別賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊可用,但後向運動資訊不可用時,將第一周圍塊的前向運動資訊伸縮到指向List0的第一幀,並將伸縮後的前向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的後向運動資訊可用,但前向運動資訊不可用時,將第一周圍塊的後向運動資訊伸縮到指向List1的第一幀,並將伸縮後的後向運動資訊賦予當前編碼單元對應位置的子塊;當第一周圍塊的前向運動資訊和後向運動資訊均不可用時,將零運動資訊賦予當前編碼單元對應位置的子塊;其中,所述第一周圍塊包括所述當前編碼單元任一已解碼的相鄰塊。
- 一種解碼裝置,其特徵在於,包括:獲取單元,用於獲取當前編碼單元的增強時域運動向量預測模式標誌位的取值和增強時域運動向量預測模式索引值;第一確定單元,用於當所述增強時域運動向量預測模式標誌位的取值為第一數值時,根據所述當前編碼單元的座標資訊,確定所述當前編碼單元的初始匹配編碼單元的座標資訊;構建單元,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元,用於根據所述增強時域運動向量預測模式索引值,在所述增強時域候選列表中獲取對應的增強時域運動向量預測模式號,並確定所述增強時域運動向量預測模式號對應的目標匹配編碼單元的座標資訊;第三確定單元,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊。
- 一種編碼裝置,其特徵在於,包括: 第一確定單元,用於根據當前編碼單元的座標資訊確定當前編碼單元的初始匹配編碼單元的座標資訊;構建單元,用於根據所述初始匹配編碼單元的座標資訊,構建增強時域候選列表;第二確定單元,用於按順序遍歷增強型時域候選列表中的每一種增強時域候選模式,確定每個模式對應的目標匹配編碼單元的座標資訊;第三確定單元,用於根據所述目標匹配編碼單元的座標資訊確定目標匹配編碼單元的運動資訊,所述目標匹配編碼單元的運動資訊包括目標匹配編碼單元內每個子塊的運動資訊,並根據所述目標匹配編碼單元內每個子塊的運動資訊,確定所述當前編碼單元內對應位置的子塊的運動資訊;運動補償單元,用於根據所述當前編碼單元內的每個子塊的運動資訊,對當前編碼單元內的對應子塊進行運動補償;編碼單元,用於計算增強時域運動向量預測模式對應的率失真代價值,並將該率失真代價值與其他預測模式的率失真代價值進行比較,選擇最小的率失真代價值所對應的預測模式,並將對應的增強時域運動向量預測模式標誌位和增強時域運動向量預測模式索引值寫入碼流,傳送給解碼設備。
- 一種解碼設備,其特徵在於,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如請求項1至25任一項所述的方法。
- 一種編碼設備,其特徵在於,包括處理器和機器可讀存儲介質,所述機器可讀存儲介質存儲有能夠被所述處理器執行的機器可執行指令,所述處理器用於執行機器可執行指令,以實現如請求項26至46任一項所述的方法。
- 一種機器可讀存儲介質,其特徵在於,所述機器可讀存儲介質內存儲有機器可執行指令,所述機器可執行指令被處理器執行時實現如請求項1至25或26至46任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110297136.3 | 2021-03-19 | ||
CN202110297136.3A CN114640856B (zh) | 2021-03-19 | 2021-03-19 | 解码方法、编码方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202245472A TW202245472A (zh) | 2022-11-16 |
TWI806495B true TWI806495B (zh) | 2023-06-21 |
Family
ID=78668980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111109686A TWI806495B (zh) | 2021-03-19 | 2022-03-16 | 解碼方法、編碼方法、裝置、設備及存儲介質 |
Country Status (8)
Country | Link |
---|---|
US (1) | US12063386B2 (zh) |
EP (1) | EP4280605A4 (zh) |
JP (2) | JP7494403B2 (zh) |
KR (2) | KR102696422B1 (zh) |
CN (5) | CN113727118B (zh) |
AU (1) | AU2022235881B2 (zh) |
TW (1) | TWI806495B (zh) |
WO (1) | WO2022194103A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113727118B (zh) * | 2021-03-19 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置、设备及机器可读存储介质 |
CN115396672B (zh) * | 2022-08-25 | 2024-04-26 | 广东中星电子有限公司 | 比特流存储方法、装置、电子设备和计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110662075A (zh) * | 2018-06-29 | 2020-01-07 | 北京字节跳动网络技术有限公司 | 改进的时域运动矢量预测推导 |
CN111953995A (zh) * | 2019-05-17 | 2020-11-17 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7924923B2 (en) | 2004-11-30 | 2011-04-12 | Humax Co., Ltd. | Motion estimation and compensation method and device adaptive to change in illumination |
AU2006201490B2 (en) | 2005-04-19 | 2008-05-22 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively selecting context model for entropy coding |
JP2008005112A (ja) * | 2006-06-21 | 2008-01-10 | Matsushita Electric Ind Co Ltd | ストリームエンコーダ及びストリームデコーダ |
EP3490259B1 (en) * | 2013-04-02 | 2021-10-13 | InterDigital Madison Patent Holdings, SAS | Enhanced temporal motion vector prediction for scalable video coding |
US9762927B2 (en) | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
WO2017084512A1 (en) * | 2015-11-20 | 2017-05-26 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
CN109996081B (zh) * | 2017-12-31 | 2023-09-12 | 华为技术有限公司 | 图像预测方法、装置以及编解码器 |
US11265551B2 (en) * | 2018-01-18 | 2022-03-01 | Qualcomm Incorporated | Decoder-side motion vector derivation |
US10511852B1 (en) * | 2018-07-13 | 2019-12-17 | Tencent America LLC | Method and apparatus for video coding |
US10715812B2 (en) * | 2018-07-13 | 2020-07-14 | Tencent America LLC | Method and apparatus for video coding |
CN114866777A (zh) * | 2018-09-20 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法及其设备 |
CN111385575A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 帧间预测方法、装置以及相应的编码器和解码器 |
WO2020181504A1 (zh) * | 2019-03-12 | 2020-09-17 | 深圳市大疆创新科技有限公司 | 视频编码的方法与装置,以及视频解码的方法与装置 |
CN111953997B (zh) * | 2019-05-15 | 2024-08-09 | 华为技术有限公司 | 候选运动矢量列表获取方法、装置及编解码器 |
CN112153389B (zh) | 2019-05-17 | 2021-11-19 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
CN113794884B (zh) * | 2019-08-23 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
WO2021056205A1 (zh) * | 2019-09-24 | 2021-04-01 | 北京大学 | 一种视频处理方法、设备及存储介质 |
CN112004097B (zh) * | 2020-07-30 | 2021-09-14 | 浙江大华技术股份有限公司 | 帧间预测方法、图像处理装置以及计算机可读存储介质 |
CN112291565B (zh) * | 2020-09-10 | 2021-09-14 | 浙江大华技术股份有限公司 | 视频编码方法及其相关装置 |
CN112218076B (zh) * | 2020-10-17 | 2022-09-06 | 浙江大华技术股份有限公司 | 一种视频编码方法、装置、系统及计算机可读存储介质 |
US11924409B2 (en) * | 2021-02-21 | 2024-03-05 | Alibaba (China) Co., Ltd. | Systems and methods for inter prediction compensation |
US11778217B2 (en) * | 2021-02-22 | 2023-10-03 | Tencent America LLC | High level syntax control for screen content coding |
CN113727118B (zh) | 2021-03-19 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置、设备及机器可读存储介质 |
-
2021
- 2021-03-19 CN CN202111143914.XA patent/CN113727118B/zh active Active
- 2021-03-19 CN CN202111143912.0A patent/CN113709502B/zh active Active
- 2021-03-19 CN CN202111146280.3A patent/CN113794889B/zh active Active
- 2021-03-19 CN CN202110297136.3A patent/CN114640856B/zh active Active
- 2021-03-19 CN CN202111146263.XA patent/CN113794888B/zh active Active
-
2022
- 2022-03-14 KR KR1020237028128A patent/KR102696422B1/ko active IP Right Grant
- 2022-03-14 AU AU2022235881A patent/AU2022235881B2/en active Active
- 2022-03-14 KR KR1020247027215A patent/KR20240127495A/ko active Application Filing
- 2022-03-14 WO PCT/CN2022/080697 patent/WO2022194103A1/zh active Application Filing
- 2022-03-14 US US18/548,785 patent/US12063386B2/en active Active
- 2022-03-14 JP JP2023557413A patent/JP7494403B2/ja active Active
- 2022-03-14 EP EP22770458.2A patent/EP4280605A4/en active Pending
- 2022-03-16 TW TW111109686A patent/TWI806495B/zh active
-
2024
- 2024-05-21 JP JP2024082505A patent/JP2024098086A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110662075A (zh) * | 2018-06-29 | 2020-01-07 | 北京字节跳动网络技术有限公司 | 改进的时域运动矢量预测推导 |
CN111953995A (zh) * | 2019-05-17 | 2020-11-17 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US12063386B2 (en) | 2024-08-13 |
CN114640856A (zh) | 2022-06-17 |
CN113709502B (zh) | 2022-12-23 |
CN113727118A (zh) | 2021-11-30 |
CN113709502A (zh) | 2021-11-26 |
KR102696422B1 (ko) | 2024-08-16 |
CN113794888B (zh) | 2022-12-23 |
CN113794889B (zh) | 2022-12-23 |
AU2022235881B2 (en) | 2024-05-23 |
EP4280605A1 (en) | 2023-11-22 |
JP2024098086A (ja) | 2024-07-19 |
JP2024508193A (ja) | 2024-02-22 |
CN114640856B (zh) | 2022-12-23 |
KR20240127495A (ko) | 2024-08-22 |
CN113727118B (zh) | 2022-12-23 |
US20240171770A1 (en) | 2024-05-23 |
EP4280605A4 (en) | 2024-08-07 |
JP7494403B2 (ja) | 2024-06-03 |
TW202245472A (zh) | 2022-11-16 |
AU2022235881A1 (en) | 2023-09-07 |
CN113794889A (zh) | 2021-12-14 |
WO2022194103A1 (zh) | 2022-09-22 |
KR20230128569A (ko) | 2023-09-05 |
CN113794888A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI692248B (zh) | 解碼影像的方法、編碼影像的裝置及方法及非暫態電腦可讀記錄媒體 | |
TWI616089B (zh) | 解碼器、編碼器、及相關聯方法和電腦程式 | |
TWI643489B (zh) | 畫面間預測的方法 | |
TWI806495B (zh) | 解碼方法、編碼方法、裝置、設備及存儲介質 | |
US10715811B2 (en) | Method and apparatus for determining merge mode | |
WO2015010319A1 (zh) | 一种基于p帧的多假设运动补偿编码方法 | |
TWI806650B (zh) | 解碼方法、編碼方法、裝置、設備及存儲介質 | |
WO2022116246A1 (zh) | 帧间预测方法、视频编解码方法、装置及介质 | |
TWI790580B (zh) | 解碼方法、編碼方法、裝置及設備 | |
RU2824460C1 (ru) | Способы, оборудование, устройства и носители данных для кодирования или декодирования | |
US20240357155A1 (en) | Methods, apparatuses, devices, and storage media for encoding or decoding | |
JP2012120108A (ja) | 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム | |
JP2013255290A (ja) | 画像復号化方法 | |
JP2012120238A (ja) | 画像復号化方法 | |
KR20120008271A (ko) | 주변 화소의 정합을 이용한 예측 움직임 벡터 선택 장치 및 그 방법 |