TW202404370A - 解碼方法、編碼方法、解碼器、編碼器、電子設備、電腦可讀儲存媒介、電腦程式產品以及碼流 - Google Patents
解碼方法、編碼方法、解碼器、編碼器、電子設備、電腦可讀儲存媒介、電腦程式產品以及碼流 Download PDFInfo
- Publication number
- TW202404370A TW202404370A TW112123269A TW112123269A TW202404370A TW 202404370 A TW202404370 A TW 202404370A TW 112123269 A TW112123269 A TW 112123269A TW 112123269 A TW112123269 A TW 112123269A TW 202404370 A TW202404370 A TW 202404370A
- Authority
- TW
- Taiwan
- Prior art keywords
- mode
- mip
- intra prediction
- prediction mode
- current block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 265
- 239000013598 vector Substances 0.000 claims abstract description 215
- 230000009466 transformation Effects 0.000 claims description 253
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 84
- 239000011159 matrix material Substances 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000006837 decompression Effects 0.000 abstract description 27
- 238000005516 engineering process Methods 0.000 description 142
- 230000000875 corresponding effect Effects 0.000 description 94
- 239000000523 sample Substances 0.000 description 91
- 230000008569 process Effects 0.000 description 86
- 238000013139 quantization Methods 0.000 description 43
- 230000017105 transposition Effects 0.000 description 42
- 230000004927 fusion Effects 0.000 description 31
- 230000015654 memory Effects 0.000 description 28
- 230000006835 compression Effects 0.000 description 27
- 238000007906 compression Methods 0.000 description 27
- 238000001914 filtration Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000005070 sampling Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 12
- 238000000605 extraction Methods 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000005429 filling process Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000011426 transformation method Methods 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 101001016186 Homo sapiens Dystonin Proteins 0.000 description 2
- 101001062093 Homo sapiens RNA-binding protein 15 Proteins 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 102100029244 RNA-binding protein 15 Human genes 0.000 description 2
- 101000832669 Rattus norvegicus Probable alcohol sulfotransferase Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007500 overflow downdraw method Methods 0.000 description 2
- 244000233534 Eugenia apiculata Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000003068 static 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/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/567—Motion estimation based on 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請實施例提供了一種解碼方法、編碼方法、解碼器以及編碼器。本申請實施例涉及圖像視訊編解碼技術領域。在本申請實施例提供的解碼方法中,通過第一幀內預測模式對應的變換集對所述當前塊的第一變換係數進行第一變換,並將第一幀內預測模式設計為包括以下中的任一項:對當前塊的預測塊使用由DIMD模式匯出的幀內預測模式、對用於預測當前塊的最優MIP模式的輸出向量使用DIMD模式匯出的幀內預測模式、對與當前塊相鄰的第一範本區域內的重建樣本使用DIMD模式匯出的幀內預測模式、由TIMD模式匯出的幀內預測模式,能夠提升所述當前塊的解壓縮性能。
Description
本申請實施例涉及圖像視訊編解碼技術領域,並且更具體地,涉及解碼方法、編碼方法、解碼器以及編碼器。
數位視訊壓縮技術主要是將龐大的數位影像視訊資料進行壓縮,以便於傳輸以及儲存等。隨著互聯網視訊的激增以及人們對視訊清晰度的要求越來越高,儘管已有的數位視訊壓縮標準能夠實現視訊的解壓縮技術,但目前仍然需要追求更好的數位視訊解壓縮技術,以再提升壓縮效率。
本申請實施例提供了一種解碼方法、編碼方法、解碼器以及編碼器,能夠提升壓縮效率。
第一方面,本申請實施例提供了一種解碼方法,包括:
解析當前序列的碼流獲取當前塊的第一變換係數;
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數;
對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊;
基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
第二方面,本申請實施例提供了一種編碼方法,包括:
獲取當前序列中當前塊的殘差塊;
對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數;
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數;
對所述第四變換係數進行編碼。
第三方面,本申請實施例提供了一種解碼器,包括:
解析單元,用於解析當前序列的碼流獲取當前塊的第一變換係數;
變換單元,用於:
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數;
對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊;
重建單元,用於基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
第四方面,本申請實施例提供了一種編碼器,包括:
殘差單元,用於獲取當前序列中當前塊的殘差塊;
變換單元,用於:
對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數;
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數;
編碼單元,用於對所述第四變換係數進行編碼。
第五方面,本申請實施例提供了一種解碼器,包括:
處理器,適於實現電腦指令;以及,
電腦可讀儲存媒介,電腦可讀儲存媒介儲存有電腦指令,電腦指令適於由處理器載入並執行上述第一方面或其各實現方式中的解碼方法。
在一種實現方式中,該處理器為一個或多個,該記憶體為一個或多個。
在一種實現方式中,該電腦可讀儲存媒介可以與該處理器集成在一起,或者該電腦可讀儲存媒介與處理器分離設置。
第六方面,本申請實施例提供了一種編碼器,包括:
處理器,適於實現電腦指令;以及,
電腦可讀儲存媒介,電腦可讀儲存媒介儲存有電腦指令,電腦指令適於由處理器載入並執行上述第二方面或其各實現方式中的編碼方法。
在一種實現方式中,該處理器為一個或多個,該記憶體為一個或多個。
在一種實現方式中,該電腦可讀儲存媒介可以與該處理器集成在一起,或者該電腦可讀儲存媒介與處理器分離設置。
第七方面,本申請實施例提供了一種電腦可讀儲存媒介,該電腦可讀儲存媒介儲存有電腦指令,該電腦指令被電腦設備的處理器讀取並執行時,使得電腦設備執行上述第一方面涉及的解碼方法或上述第二方面涉及的編碼方法。
第八方面,本申請實施例提供了一種碼流,該碼流上述第一方面中涉及所述的碼流或上述第二方面中涉及的碼流。
基於以上技術方案,通過引入第一幀內預測模式,並基於所述第一幀內預測模式對應的變換集對所述當前塊的第一變換係數進行第一變換,能夠提升所述當前塊的解壓縮性能。尤其是,解碼器採用非傳統的幀內預測模式對當前塊進行預測時,可以避免直接使用平面模式對應的變換集進行第一變換,而所述第一幀內預測模式對應的變換集在一定程度上能夠反映當前塊的紋理方向,進而能夠提升當前塊的解壓縮性能。
下面將結合附圖,對本申請實施例中的技術方案進行描述。
本申請實施例提供的方案可應用於數位視訊編碼技術領域,例如,包括但不限於:圖像編解碼領域、視訊編解碼領域、硬體視訊編解碼領域、專用電路視訊編解碼領域以及即時視訊編解碼領域。此外,本申請實施例提供的方案可結合至音視訊編碼標準(Audio Video coding Standard,AVS)、第二代AVS標準(AVS2)或第三代AVS標準(AVS3)。例如,包括但不限於:H.264/音視訊編碼(Audio Video coding,AVC)標準、H.265/高效視訊編碼(High Efficiency Video Coding,HEVC)標準以及H.266/多功能視訊編碼(Versatile Video Coding,VVC)標準。另外,本申請實施例提供的方案可以用於對圖像進行失真壓縮(lossy compression),也可以用於對圖像進行無失真壓縮(lossless compression)。其中該無失真壓縮可以是視覺無失真壓縮(visually lossless compression),也可以是數學無失真壓縮(mathematically lossless compression)。
視訊編解碼標準都採用基於塊的混合編碼框架。具體地,視訊中的每一張圖像被分割成相同大小(如128x128,64x64等)的正方形的最大編碼單元(largest coding unit,LCU)或編碼樹單元(Coding Tree Unit,CTU)。每個最大編碼單元或編碼樹單元可根據規則劃分成矩形的編碼單元(coding unit,CU)。編碼單元可能還會劃分為預測單元(prediction unit,PU),變換單元(transform unit,TU)等。混合編碼框架包括預測(prediction)、變換(transform)、量化(quantization)、熵編碼(entropy coding)、環路濾波(in loop filter)等模組。預測模組包括幀內預測(intra prediction)和幀間預測(inter prediction)。幀間預測包括運動估計(motion estimation)和運動補償(motion compensation)。由於視訊的一張圖像中的相鄰像素之間存在很強的相關性,在視訊編解碼技術中使用幀內預測的方法消除相鄰像素之間的空間冗餘。幀內預測只參考同一張圖像的資訊,預測當前劃分塊內的像素資訊。由於視訊中的相鄰圖像之間存在著很強的相似性,在視訊編解碼技術中使用幀間預測方法消除相鄰圖像之間的時間冗餘,從而提高編碼效率。幀間預測可以參考不同幀的圖像資訊,利用運動估計搜索最匹配當前劃分塊的運動向量資訊。變換將預測後的圖像塊轉換到頻率域,能量重新分佈,結合量化可以將人眼不敏感的資訊去除,用於消除視覺冗餘。熵編碼可以根據當前上下文模型以及二進位碼流的概率資訊消除字元冗餘。
在數位視訊編碼過程中,編碼器可以先從原始視訊序列中讀取一幅黑白圖像或彩色圖像,然後針對黑白圖像或彩色圖像進行編碼。其中,黑白圖像可以包括亮度分量的像素,彩色圖像可以包括色度分量的像素。可選的,彩色圖像還可以包括亮度分量的像素。原始視訊序列的顏色格式可以是亮度色度(YCbCr,YUV)格式或紅綠藍(Red-Green-Blue,RGB)格式等。具體地,編碼器讀取一幅黑白圖像或彩色圖像之後,分別將其劃分成塊,並對當前塊使用幀內預測或幀間預測產生當前塊的預測塊,當前塊的原始塊減去預測塊得到殘差塊,對殘差塊進行變換、量化得到量化係數矩陣,對量化係數矩陣進行熵編碼輸出到碼流中。在數位視訊解碼過程中,解碼端對當前塊使用幀內預測或幀間預測產生當前塊的預測塊。此外,解碼端解碼碼流得到量化係數矩陣,對量化係數矩陣進行反量化、反變換得到殘差塊,將預測塊和殘差塊相加得到重建塊。重建塊可用於組成重建圖像,解碼端基於圖像或基於塊對重建圖像進行環路濾波得到解碼圖像。
當前塊(current block)可以是當前編碼單元(CU)或當前預測單元(PU)等。
需要說明的是,編碼端同樣需要和解碼端類似的操作獲得解碼圖像。解碼圖像可以作為後續圖像幀間預測的參考圖像。編碼端確定的塊劃分資訊,預測、變換、量化、熵編碼、環路濾波等模式資訊或者參數資訊,如果有必要需要在輸出到碼流中。解碼端通過解析及根據已有資訊進行分析確定與編碼端相同的塊劃分資訊,預測、變換、量化、熵編碼、環路濾波等模式資訊或者參數資訊,從而保證編碼端獲得的解碼圖像和解碼端獲得的解碼圖像相同。編碼端獲得的解碼圖像通常也叫做重建圖像。在預測時可以將當前塊劃分成預測單元,在變換時可以將當前塊劃分成變換單元,預測單元和變換單元的劃分可以相同也可以不同。當然,上述僅是基於塊的混合編碼框架下的視訊轉碼器的基本流程,隨著技術的發展,框架的一些模組或流程的一些步驟可能會被優化,本申請適用於該基於塊的混合編碼框架下的視訊轉碼器的基本流程。
為了便於理解,先對本申請提供的編碼框架進行簡單介紹。
圖1是本申請實施例提供的編碼框架100的示意性框圖。
如圖1所示,該編碼框架100可包括幀內預測單元180、幀間預測單元170、殘差單元110、變換與量化單元120、熵編碼單元130、反變換與反量化單元140、以及環路濾波單元150。可選的,該編碼框架100還可包括解碼圖像緩衝單元160。該編碼框架100也可稱為混合框架編碼模式。
其中,幀內預測單元180或幀間預測單元170可對待編碼圖像塊進行預測,以輸出預測塊。殘差單元110可基於預測塊與待編碼圖像塊計算殘差塊,即預測塊和待編碼圖像塊的差值。變換與量化單元120用於對殘差塊執行變換與量化等操作,以去除人眼不敏感的資訊,進而消除視覺冗餘。可選的,經過變換與量化單元120變換與量化之前的殘差塊可稱為時域殘差塊,經過變換與量化單元120變換與量化之後的時域殘差塊可稱為頻率殘差塊或頻域殘差塊。熵編碼單元130接收到變換與量化單元120輸出的變換量化係數後,可基於該變換量化係數輸出碼流。例如,熵編碼單元130可根據目標上下文模型以及二進位碼流的概率資訊消除字元冗餘。例如,熵編碼單元130可以用於基於上下文的自我調整二進位算術熵編碼 (CABAC)。熵編碼單元130也可稱為頭資訊編碼單元。可選的,在本申請中,該待編碼圖像塊也可稱為原始圖像塊或靶心圖表像塊,預測塊也可稱為預測圖像塊或圖像預測塊,還可以稱為預測訊號或預測資訊,重建塊也可稱為重建圖像塊或圖像重建塊,還可以稱為重建訊號或重建資訊。此外,針對編碼端,該待編碼圖像塊也可稱為編碼塊或編碼圖像塊,針對解碼端,該待編碼圖像塊也可稱為解碼塊或解碼圖像塊。該待編碼圖像塊可以是CTU或CU。
編碼框架100將預測塊與待編碼圖像塊計算殘差得到殘差塊經由變換與量化等過程,將殘差塊傳輸到解碼端。相應的,解碼端接收並解碼碼流後,經過反變換與反量化等步驟得到殘差塊,將解碼端預測得到的預測塊疊加殘差塊後得到重建塊。
需要說明的是,編碼框架100中的反變換與反量化單元140、環路濾波單元150以及解碼圖像緩衝單元160可用於形成一個解碼器。相當於,幀內預測單元180或幀間預測單元170可基於已有的重建塊對待編碼圖像塊進行預測,進而能夠保證編碼端和解碼端的對參考圖像的理解一致。換言之,編碼器可複製解碼器的處理環路,進而可與解碼端產生相同的預測。具體而言,量化的變換係數通過反變換與反量化單元140反變換與反量化來複製解碼端的近似殘差塊。該近似殘差塊加上預測塊後可經過環路濾波單元150,以平滑濾除由於基於塊處理和量化產生的塊效應等影響。環路濾波單元150輸出的圖像塊可儲存在解碼圖像緩存單元160中,以便用於後續圖像的預測。
應理解,圖1僅為本申請的示例,不應理解為對本申請的限制。
例如,該編碼框架100中的環路濾波單元150可包括去塊濾波器(deblocking filter,DBF)和樣點自我調整補償(Sample Adaptive Offset,SAO)濾波。DBF的作用是去塊效應,SAO的作用是去振鈴效應。在本申請的其他實施例中,該編碼框架100可採用基於神經網路的環路濾波演算法,以提高視訊的壓縮效率。或者說,該編碼框架100可以是基於深度學習的神經網路的視訊編碼混合框架。在一種實現中,可以在去塊濾波器和樣點自我調整補償濾波基礎上,採用基於卷積神經網路的模型計算對像素濾波後的結果。環路濾波單元150在亮度分量和色度分量上的網路結構可以相同,也可以有所不同。考慮到亮度分量包含更多的視覺資訊,還可以採用亮度分量指導色度分量的濾波,以提升色度分量的重建品質。
下面對幀內預測和幀間預測的相關內容進行說明。
對於幀間預測,幀間預測可以參考不同幀的圖像資訊,利用運動估計搜索最匹配待編碼圖像塊的運動向量資訊,用於消除時間冗餘;幀間預測所使用的幀可以為P幀和/或B幀,P幀指的是向前預測幀,B幀指的是雙向預測幀。
對於幀內預測,幀內預測只參考同一張圖像的資訊,預測待編碼圖像塊內的像素資訊,用於消除空間冗餘;幀內預測所使用的幀可以為I幀。例如,可根據從左至右、從上到下的編碼順序,待編碼圖像塊可以參考左上方圖像塊,上方圖像塊以及左側圖像塊作為參考資訊來預測待編碼圖像塊,而待編碼圖像塊又作為下一個圖像塊的參考資訊,如此,可對整幅圖像進行預測。若輸入的數位視訊為彩色格式,例如YUV 4:2:0格式,則該數位視訊的每一圖像幀的每4個像素點由4個Y分量和2個UV分量組成,編碼框架可對Y分量(即亮度塊)和UV分量(即色度塊)分別進行編碼。類似的,解碼端也可根據格式進行相應的解碼。
針對幀內預測過程,幀內預測可借助角度預測模式與非角度預測模式對待編碼圖像塊進行預測,以得到預測塊,根據預測塊與待編碼圖像塊計算得到的率失真資訊,篩選出待編碼圖像塊最優的預測模式,並將該預測模式經碼流傳輸到解碼端。解碼端解析出預測模式,預測得到目標解碼塊的預測塊並疊加經碼流傳輸而獲取的時域殘差塊,可得到重建塊。
經過歷代的數位視訊編解碼標準發展,非角度預測模式保持相對穩定,有均值模式和平面模式。角度預測模式則隨著數位視訊編解碼標準的演進而不斷增加。以國際數位視訊編碼標準H系列為例,H.264/AVC標準僅有8種角度預測模式和1種非角度預測模式;H.265/HEVC擴展到33種角度預測模式和2種非角度預測模式。在H.266/VVC中,幀內預測模式被進一步拓展,對於亮度塊共有67種傳統預測模式和非傳統的預測模式矩陣加權幀內預測(Matrix weighted intra-frame prediction,MIP)模式,其中這67種傳統預測模式包括:平面(planar)模式、直流(DC)模式和65種角度預測模式。其中,平面模式通常用於處理一些紋理存在漸變的塊,DC模式顧名思義通常用於處理一些平坦區域,而角度預測模式通常用於處理角度紋理比較明顯的塊。
需要說明的是,本申請中,用於幀內預測的當前塊可以是正方形塊,也可以是矩形塊。
進一步的,由於幀內預測塊都是正方形的所以各個角度預測模式使用的概率是相等的,當前塊的長寬不等時,對於水準類的塊(寬大於高)上邊的參考像素使用概率大於左邊參考像素的使用概率,對於垂直類的塊(高大於寬)上邊的參考像素使用概率小於左邊參考像素的使用概率。在對矩形塊預測時,將傳統的角度預測模式轉換為寬角度預測模式,可利用寬角度預測模式對矩形塊進行預測時,當前塊的預測角度範圍大於利用傳統角度預測模式對矩形塊進行預測時的預測角度範圍。可選的,使用寬角度預測模式時,可以仍然使用傳統角度預測模式的索引發出訊號,相應的,解碼端在在收到訊號後可將傳統角度預測模式再轉換為寬角度預測模式,由此,幀內預測模式的總數和幀內模式的編碼方法均可以保持不變。
進一步的,可以基於當前塊的尺寸來確定或選擇要執行的幀內預測模式;例如,可以基於當前塊的尺寸來確定或選擇寬角度預測模式對當前塊進行幀內預測;例如,在當前塊是矩形塊(寬度和高度具有不同的尺寸)時,可以使用寬角度預測模式對當前塊進行幀內預測。其中,當前塊的寬高比可以用於確定寬角度預測模式被替換的角度預測模式和替換後的角度預測模式。例如在預測當前塊時,可以選擇具有不超過當前塊的對角(從當前塊的左下角到右上角)的角度的任何幀內預測模式,作為替換後的角度預測模式。
下面對本申請涉及的其他幀內預測模式進行介紹:
(1)、基於矩陣的幀內預測(Matrix based Intra Prediction,MIP)模式。
MIP模式也可稱為矩陣加權幀內預測(Matrix weighted Intra Prediction)模式,MIP模式涉及的流程可以分為三個主要步驟,其分別是下採樣過程、矩陣相乘過程以及上採樣過程。具體來說,首先通過下採樣過程下採樣空間相鄰重建樣本,然後,將得到下採樣後的樣本序列作為矩陣相乘過程的輸入向量,即將下採樣過程的輸出向量作為矩陣相乘過程的輸入向量,與預先設定好的矩陣相乘並加上偏置向量,並輸出計算之後的樣本向量;將矩陣相乘過程的輸出向量作為上採樣過程的輸入向量,通過上採樣得到最終的預測塊。
圖2是本申請實施例提供的MIP模式的示意圖。
如圖2所示,MIP模式在下採樣過程中通過平均當前編碼單元上邊相鄰的重建樣本後得到上相鄰下採樣重建樣本向量bdrytop,通過平均左相鄰的重建樣本後得到左相鄰下採樣重建樣本向量bdryleft。得到bdrytop和bdryleft後,將其作為矩陣相乘過程的輸入向量bdryred,具體地,可通基於bdryred的頂行向量bdrytopred、bdryleft、Ak·bdryred+bk得到樣本向量,其中Ak為預先設定好的矩陣,bk為預先設定好的偏置向量,k為MIP模式的索引。得到樣本向量後通過線性插值對其進行上採樣,以得到與實際編碼單元樣本數相符的預測樣本塊。
換言之,為了對一個寬度為W高度為H的塊進行預測,MIP需要當前塊左側一列的H個重建像素和當前塊上側一行的W個重建像素作為輸入。MIP按如下3個步驟生成預測塊:參考像素平均(Averaging),矩陣乘法(Matrix Vector Multiplication)和插值(Interpolation)。其中MIP的核心是矩陣乘法,其可以認為是用一種矩陣乘法的方式用輸入像素(參考像素)生成預測塊的過程。MIP提供了多種矩陣,預測方式的不同可以體現在矩陣的不同上,相同的輸入像素使用不同的矩陣會得到不同的結果。而參考像素平均和插值的過程是一種性能和複雜度折中的設計。對於尺寸較大的塊,可以通過參考像素平均來實現一種近似於降採樣的效果,使輸入能適配到比較小的矩陣,而插值則實現一種上採樣的效果。這樣就不需要對每一種尺寸的塊都提供MIP的矩陣,而是只提供一種或幾種特定的尺寸的矩陣即可。隨著對壓縮性能的需求的提高,以及硬體能力的提高,下一代的標準中也許會出現複雜度更高的MIP。
對於MIP模式而言,MIP模式可以由神經網路簡化而來,例如其採用的矩陣可以是基於訓練得到,因此,MIP模式擁有較強的泛化能力和傳統預測模式達不到的預測效果。MIP模式可以是對一個基於神經網路的幀內預測模型經過多次硬體和軟體複雜度簡化而得到的模型,在大量訓練樣本的基礎上,多種預測模式代表著多種模型和參數,能夠較好的覆蓋自然序列的紋理情況。
MIP有些類似於平面模式,但顯然MIP比平面模式更複雜,靈活性也更強。
需要說明的是,對於不同塊尺寸的編碼單元,MIP模式的個數可以有所不同。示例性地,對於4x4大小的編碼單元,MIP模式有16種預測模式;對於8x8、寬等於4或高等於4的編碼單元,MIP模式有8種預測模式;其他尺寸的編碼單元,MIP模式有6種預測模式。同時,MIP模式有一個轉置功能,對於符合當前尺寸的預測模式,MIP模式在編碼器側可以嘗試轉置計算。因此,MIP模式不僅需要一個使用標誌位元來表示當前編碼單元是否使用MIP模式,同時,若當前編碼單元使用MIP模式,則額外還需要傳輸一個轉置標誌位元和索引標誌位元到解碼器。轉置標誌位元可由定長編碼方式(Fixed Length,FL)二值化,長度為1。索引標誌位元由截斷二進位編碼方式(Truncated Binary,TB)二值化,以4x4大小的編碼單元為例,MIP模式有16種預測模式,索引標誌位元可以是5或6位元的截斷二進位標識。
(2)、解碼器側幀內模式匯出(Decoder side Intra Mode Derivation,DIMD)模式。
DIMD模式主要核心點在於幀內預測的模式在解碼器使用與編碼器相同的方法匯出幀內預測模式,以此避免在碼流中傳輸當前編碼單元的幀內預測模式索引,達到節省位元開銷的目的。
DIMD模式的具體流程可分為以下兩個主要步驟:
步驟1:匯出預測模式。
圖3是本申請實施例提供的基於DIMD匯出預測模式的示意圖。
如圖3的(a)所示,DIMD利用重建區域中範本中的像素(當前塊左側和上側的重建像素)匯出預測模式。例如,範本可以包括當前塊的上方三行相鄰重建樣本、左側三列相鄰重建樣本以及左上方對應相鄰重建樣本,基於此,可按照視窗(例如圖3的(a)所示或如圖3的(b)所示的視窗)在範本內確定出多個相鄰重建樣本對應的多個梯度值,其中每一個梯度值可用於適配出與其梯度方向相適應的一種幀內預測模式(Intra prediction mode,IPM),基於此,編碼器可將多個梯度值中最大和次大的梯度值適配的預測模式作為匯出的預測模式。例如,如圖3的(b)所示,對於4×4大小的塊,針對所有需要確定梯度值的相鄰重建樣本進行分析並得到的對應的梯度長條圖(histogram of gradients),例如,如圖3的(c)所示,對於其它大小的塊,對所有需要確定梯度值的相鄰重建樣本進行分析並得到的對應的梯度長條圖;最終,將梯度長條圖中梯度最大和次大的梯度所對應的預測模式作為匯出的預測模式。
當然,本申請中的梯度長條圖僅為用於確定匯出的預測模式的示例,具體實現時可以用多種簡單的形式實現,本申請對此不作具體限定。此外,本申請對統計梯度長條圖的方式不作限定,例如,可以利用可利用索貝爾運算元或其他方式統計梯度長條圖。另外,在其他可替代實施例中,本申請涉及的梯度值也可等同替換為梯度幅度值,本申請對此不作具體限定。
步驟2:匯出預測塊。
圖4是本申請實施例提供的基於DIMD匯出預測塊的示意圖。
如圖4所示,編碼器可對3個幀內預測模式(平面模式以及基於DIMD匯出的2個幀內預測模式)的預測值進行加權。轉碼器使用同樣的預測塊匯出方式得到當前塊的預測塊。假設最大梯度值對應的預測模式為預測模式1,次大梯度值對應的預測模式為預測模式2,編碼器判斷以下兩個條件:
1、預測模式2的梯度不為0;
2、預測模式1和預測模式2均不為平面模式或者DC預測模式。
若上述兩個條件不同時成立,則僅使用預測模式1計算當前塊的預測樣本值,即對預測模式1應用普通預測預測過程;否則,即上述兩個條件均成立,則使用加權求平均方式匯出當前塊的預測塊。具體方法為:平面模式佔據1/3的加權權重,剩下2/3為預測模式1和預測模式2的總權重,例如將預測模式1的梯度幅度值除以預測模式1的梯度幅度值和預測模式2的梯度幅度值的和作為預測模式1的加權權重,將預測模式2的梯度幅度值除以預測模式1的梯度幅度值和預測模式2的梯度幅度值的和作為預測模式2的加權權重;將基於上述三種預測模式得到的預測塊,即對基於平面模式、預測模式1和預測模式2分別得到的預測塊1、預測塊2以及預測塊3進行加權求平均得到當前編碼單元的預測塊。解碼器以同樣步驟得到預測塊。
換言之,上述步驟2中具體權重計算如下:
Weight(PLANAR) = 1/3;
Weight(mode1) = 2/3 * (amp1/(amp1+amp2));
Weight(mode2) = 1 – Weight(PLANAR) – Weight(mode1);
其中,mode1和mode2分別代表預測模式1和預測模式2,amp1和amp2分別代表預測模式1的梯度幅度值和預測模式2的梯度幅度值。DIMD模式需要傳輸一個標誌位元傳輸到解碼器,該標誌位元用於表示當前編碼單元是否使用DIMD模式。
當然,上述加權求平均方式僅為本申請的示例,不應理解為對本申請的限定。
總結來說,DIMD利用重建像素的梯度分析來篩選幀內預測模式,而且可以將2個幀內預測模式再加上平面模式根據分析結果進行加權。DIMD的好處在於如果當前塊選擇了DIMD模式,那麼碼流中不需要再去指示具體使用了哪種幀內預測模式,而是由解碼器自己通過上述流程匯出,一定程度上節省了開銷。
(3)、基於範本的幀內模式匯出(Template based Intra Mode Derivation,TIMD)模式。
TIMD模式的技術原理與上述DIMD模式的技術原理比較近似,都是利用轉碼器同樣操作匯出預測模式的方式來節省傳輸模式索引開銷。TIMD模式主要可以理解成兩個主要部分,首先,根據範本計算各預測模式的代價資訊,最小代價及次小代價對應的預測模式將被選中,最小代價對應的預測模式記為預測模式1,次小代價對應的預測模式記為預測模式2;若次小代價的數值(costMode2)與最小代價的數值(costMode1)比例滿足預設條件,如costMode2 < 2*costMode1,則將預測模式1與預測模式2各對應的預測塊可按照預測模式1與預測模式2各對應的權重進行加權融合,進而得到最終的預測塊。
示例性地,預測模式1與預測模式2各對應的權重根據以下方式確定:
weight1 = costMode2/(costMode1+ costMode2);
weight2 = 1 - weight1;
其中,weight1即為預測模式1對應預測塊的加權權重,weight2即為預測模式2對應預測塊的加權權重。但若次小代價的數值costMode2與最小代價的數值costMode1比例不滿足預設條件,則不做預測塊之間的加權融合,預測模式1對應預測塊即為TIMD的預測塊。
需要說明的是,若採用TIMD模式對當前塊進行幀內預測時,若當前塊的重建樣本範本中不包含可用相鄰重建樣本,則TIMD模式選擇平面模式對當前塊進行幀內預測,即不進行不加權融合。與DIMD模式相同,TIMD模式需要傳輸一個標誌位元到解碼器,以表示當前編碼單元是否使用TIMD模式。
編碼器或解碼器計算各預測模式的代價資訊過程主要為:根據與範本區域的上側或左側相鄰重建樣本對範本區域內的樣本進行幀內模式預測,預測過程與原有幀內預測模式相同;例如利用DC模式對範本區域內的樣本進行幀內模式預測時,計算整個編碼單元的均值;再如利用角度預測模式對範本區域內的樣本進行幀內模式預測時,根據模式選擇對應的插值濾波器並根據規則插值出預測樣本。此時,可根據範本區域內的預測樣本和重建樣本,計算該區域預測樣本與重建樣本之間的失真,即為當前預測模式的代價資訊。
圖5是本申請實施例提供的TIMD使用的範本的示意圖。
如圖5所示,若當前塊為寬等於M且高等於N的編碼單元,轉碼器可以基於寬等於2(M+L1)+1且高等於2(N+L2)+1的編碼單元中選擇當前塊的參考範本(Reference of template)計算當前塊的範本,若當前塊的範本中不包含可用相鄰重建樣本,則TIMD模式選擇平面模式對當前塊進行幀內預測。例如,所述當前塊的範本可以是圖5中與當前CU的左側和上側相鄰的樣本,即斜線填充區域中沒有可用重建樣本。也即是說,若斜線填充區域中沒有可用相鄰重建樣本,則TIMD模式選擇平面模式對當前塊進行幀內預測。
值得注意的是,除了邊界情況,在編解碼當前塊時,當前塊的左側和上側理論上是可以得到重建值的,即當前塊的範本中包含可用相鄰重建樣本。具體實現中,解碼器可以使用某一個幀內預測模式在範本上進行預測,並且將預測值和重建值進行比較,以得到該幀內預測模式在範本上的代價。比如絕對誤差和(Sum of Absolute Differences,SAD),絕對變換差和(Sum of Absolute Transformed Difference,SATD)或誤差平方和(Sum of Squares for Error,SSE)等。由於範本和當前塊是相鄰的,因此,範本內的重建樣本和當前塊內的像素具有相關性,因此,可以用一個預測模式在範本上的表現來估計這個預測模式在當前塊上的表現。TIMD將一些候選的幀內預測模式在範本上進行預測,得到候選的幀內預測模式在範本上的代價,取代價最低的一個或2個幀內預測模式作為當前塊的幀內預測值。如果2個幀內預測模式在範本上的代價差距不大,將2個幀內預測模式的預測值進行加權平均可以得到壓縮性能的提升。可選的,2個預測模式的預測值的權重跟上述的代價有關,例如權重跟代價成反比。
總結來說,TIMD利用幀內預測模式在範本上的預測效果來篩選幀內預測模式,而且可以將2個幀內預測模式根據範本上的代價進行加權。TIMD的好處在於如果當前塊選擇了TIMD模式,則碼流中不需要再去指示具體使用了哪種幀內預測模式,而是由解碼器自己通過上述流程匯出,一定程度上節省了開銷。
通過上述簡單地對幾個幀內預測模式的介紹不難發現,DIMD模式的技術原理和TIMD模式的技術原理接近,都是利用解碼器執行與編碼器相同的操作來推斷出當前編碼單元的預測模式。這種預測模式在複雜度可接受的情況下能夠省去對預測模式的索引的傳輸,達到節省開銷的作用,提高壓縮效率。但受限於可參考資訊的局限性和本身並沒有太多提高預測品質的部分,DIMD模式和TIMD模式在大面積紋理特性一致的區域效果較好,若紋理略有變化或者範本區域不能覆蓋,則這種預測模式的預測效果較差。
此外,不管針對DIMD模式還是針對TIMD模式,其都對基於多種傳統預測模式得到的預測塊進行了融合或者都對基於多種傳統預測模式得到的預測塊進行了加權處理,預測塊的融合可以生成單一預測模式所達不到的效果,DIMD模式雖然引入平面模式作為額外加權預測模式,以增加相鄰重建樣本與預測樣本之間的空間關聯性,進而能夠提升幀內預測的預測效果,但是,由於平面模式的預測原理相對簡單,對於一些右上角與左下角相差明顯的預測塊,將平面模式作為額外加權預測模式可能會帶來反作用。
下面對與殘差塊進行變換相關的內容進行說明。
在進行編碼時,會先對當前塊進行預測,預測利用空間或者時間上的相關性能得到一個跟當前塊相同或相似的圖像。對一個塊來說,預測塊和當前塊是完全相同的情況是有可能出現的,但是很難保證一個視訊中的所有塊都如此。特別是對自然視訊,或者說相機拍攝的視訊,因為圖像的紋理複雜,且圖像有噪音的存在等因素,通常預測塊和當前塊很像,但是有差異。而且視訊中不規則的運動,扭曲形變,遮擋,亮度等的變化,當前塊很難被完全預測。因此混合編碼框架會將當前塊的原始圖像減去預測圖像得到殘差圖像,或者說當前塊減去預測塊得到殘差塊。殘差塊通常要比原始圖像簡單很多,因而預測可以顯著提升壓縮效率。對殘差塊也不是直接進行編碼,而是通常先進行變換。變換是把殘差圖像從空間域變換到頻率域,去除殘差圖像的相關性。殘差圖像變換到頻率域以後,由於能量大多集中在低頻區域,變換後的非零係數大多集中在左上角,然後利用量化對殘差塊進行進一步壓縮。可選的,由於人眼對高頻不敏感,高頻區域可以使用更大的量化步長。
圖像變換技術是為了能夠用正交函數或正交矩陣表示原始圖像而對原圖像所作的變換,該變換是二維線性可逆的。一般稱原始圖像為空間域圖像,稱變換後的圖像為轉換域圖像(也稱為頻率域),轉換域圖像可反變換為空間域圖像。經過圖像變換後,一方面能夠更有效地反映圖像自身的特徵,另一方面也可使能量集中在少量資料上,更有利於圖像的儲存、傳輸及處理。
下面對本申請涉及的與變換有關的技術進行說明。
結合至圖像視訊編碼領域,編碼器在得到殘差塊後,可對殘差塊進行變換。變換的方式包括主變換和二次變換。主變換的方式包括但不限於:離散余弦變換(Discrete Cosine Transform,DCT)和離散正弦變換(Discrete Sine Transform, DST)。視訊編解碼中可使用的DCT包括但不限於DCT2、DCT8型;視訊編解碼中可使用的DST包括但不限於DST7型。由於DCT具有很強的能量集中特性,因此,原始圖像經過DCT變換以後只有部分區域(例如左上角區域)存在非零係數。當然,在視訊編解碼中,圖像是分割成塊來處理的,因而變換也是基於塊來進行的。
值得注意的是,由於圖像都是2維的,而直接進行二維的變換運算量和記憶體開銷都是硬體條件所不能接受的,因此,上述DCT2型,DCT8型,DST7型變換通常都是拆分成水準方向和豎直方向的一維變換,即分成兩步進行的。如先進行水準方向的變換再進行豎直方向的變換,或者先進行豎直方向的變換再進行水準方向的變換。上述變換方法對水準方向和豎直方向的紋理比較有效,但是對斜向的紋理效果就會差一些。由於水準和豎直方向的紋理是最常見的,因而,上述的變換方法對提升壓縮效率是非常有用的。
編碼器可以在主變換(primary transform)的基礎上進行二次變換,以進一步提升壓縮效率,。
主變換可用於處理水準和豎直方向的紋理,主變換也可稱為基礎變換,例如主變換包括但不限於:上述DCT2型,DCT8型,DST7型變換。二次變換用於處理斜向紋理,例如,二次變換包括但不限於:低頻不可分變換(low frequency non-separable transform,LFNST)。在編碼端,二次變換用於主變換之後且量化之前。在解碼端,二次變換用於反量化之後且反主變換之前。
圖6是本申請實施例提供的LFNST的示例。
如圖6所示,在編碼端,LFNST對基礎變換後的左上角的低頻係數進行二次變換。主變換通過對圖像進行去相關性,把能量集中到左上角。而二次變換對主變換的低頻係數再去相關性。在編碼端,將16個係數輸入到4x4的LFNST時,輸出的是8個係數;將64個係數輸入到8x8的LFNST時,輸出的是16個係數。在解碼端,將8個係數輸入到4x4的反LFNST時,輸出的是16個係數;將16個係數輸入到8x8的反LFNST時,輸出的是64個係數。
編碼器對當前圖像中的當前塊進行二次變換時,可以採用選擇的變換集中的某一個變換核對當前塊的殘差塊進行變換。以二次變換為LFNST為例,變換核可以指用於對某個斜向紋理進行變換的變換核的集合,或變換集可以包括用於對某些類似的斜向紋理進行變換的變換核的集合。當然,在其他可替代實施例中,變換核也可稱為或等同替換為變換矩陣、變換核類型或基函數等具有類似或相同含義的術語,變換集也可稱為或等同替換為變換矩陣組、變換核類型組或基函數組等具有類似或相同含義的術語,本申請對此不作具體限定。
圖7是本申請實施例提供的LFNST的變換集的示例。
如圖7的(a)至(d)所示,LFNST可具有4個變換集,且同一個變換集中的變換核具有類似的斜向紋理。示例性地,圖7中的(a)所示的變換集可以是索引為0的變換集,圖7中的(b)所示的變換集可以是索引為1的變換集,圖7中的(c)所示的變換集可以是索引為2的變換集,圖7中的(d)所示的變換集可以是索引為3的變換集。
下面對LFNST應用於幀內編碼的塊的相關方案進行說明。
幀內預測使用當前塊周邊已重建的像素作為參考對當前塊進行預測,由於目前視訊都是從左向右從上向下編碼的,因而當前塊可使用的參考像素通常在左側和上側。角度預測按照指定的角度將參考像素平鋪到當前塊作為預測值,這意味著預測塊會有明顯的方向紋理,而當前塊經過角度預測後的殘差在統計上也會體現出明顯的角度特性。因而,LFNST所選用的變換集可以跟幀內預測模式進行綁定,即確定了幀內預測模式以後,LFNST可以使用紋理方向與幀內預測模式的角度特徵相適應的變換集(Transform set),以可以節省位元開銷。
示例性地,假設LFNST總共有4個變換集,每個變換集有2個變換核。表1給出了幀內預測模式和變換集的對應關係。
表1
幀內預測模式(IntraPredMode) | 變換集的索引(Tr. set index) |
IntraPredMode < 0 | 1 |
0 <= IntraPredMode <= 1 | 0 |
2 <= IntraPredMode <= 12 | 1 |
13 <= IntraPredMode <= 23 | 2 |
24 <= IntraPredMode <= 44 | 3 |
45 <= IntraPredMode <= 55 | 2 |
56 <= IntraPredMode<= 80 | 1 |
81 <= IntraPredMode<= 83 | 0 |
如表1所示,幀內預測模式0~81可與4個變換集的索引關聯。
值得注意的是,色度幀內預測使用的跨分量預測模式為81到83,亮度幀內預測並沒有這幾種模式。LFNST的變換集可以通過轉置來用一個變換集對應處理更多的角度,舉例來說,幀內預測模式13~23和幀內預測模式45~55的模式都對應變換集2,但是,幀內預測模式13~23明顯是接近於水準的模式,而幀內預測模式45~55明顯是接近於豎直的模式,幀內預測模式45~55的模式對應的變換通過轉置來進行適配。
在具體實現中,由於LFNST共有4個變換集,編碼端可根據當前塊使用的幀內預測模式確定LFNST使用哪一個變換集,進而在確定的一個變換集中確定使用的變換核。相當於,可以利用幀內預測模式和LFNST的變換集之間的相關性,從而減少了選擇LFNST的變換集在碼流中的傳輸。而當前塊是否會使用LFNST,以及如果使用LFNST,是使用一個變換集中的第一個還是第二個變換核,可以通過碼流和一些條件來確定的。
當然,考慮到普通幀內預測模式有67種,而LFNST只有4個變換集,因此,多種相近的角度預測模式只能對應一個變換集,這是一種性能和複雜度折中的考慮,因為每個變換集都需要佔用儲存空間來保存變換集中的變換核的係數。而隨著對壓縮效率要求的提升,以及硬體能力的提升,LFNST也可以設計的更加複雜。比如使用更大的變換集,更多的變換集,以及每個變換集使用更多的變換核。
示例性地,表2給出了幀內預測模式和變換集的另一種對應關係。
表2
幀內預測模式 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
變換集的索引 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
幀內預測模式 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
變換集的索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
幀內預測模式 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
變換集的索引 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
幀內預測模式 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
變換集的索引 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 33 | 32 | 31 | 30 | 29 | 28 | 27 |
幀內預測模式 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
變換集的索引 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 |
幀內預測模式 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
變換集的索引 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 2 | 2 | 2 |
幀內預測模式 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | |||
變換集的索引 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
如表2所示,使用35個變換集,每個變換集使用3個變換核。變換集與幀內預測模式的對應關係可以實現為:對於幀內預測模式0~34,正向對應變換集0~34,即預測模式的編號越大則變換集的索引越大;對於幀內預測模式35~67,由於轉置的原因,其反向對應2~33,即預測模式的編號越大則變換集的索引越小;對於剩餘的預測模式,其均可以統一對應到索引為2的變換集。也就是說,如果不考慮轉置,一種幀內預測模式對應一個變換集,按這種設計,每一個幀內預測模式對應的殘差可以得到更適配的變換集,壓縮性能也會提高。
當然,寬角度預測模式理論上也可以與變換集做到一對一,但是這種設計的性價比較低,本申請對此不再作具體說明。需要指出的是,LFNST僅是二次變換的一種示例,不應理解為對二次變換的限制。例如,LFNST是不可分離的二次變換,在其他可替代實施例中,還可以採用可分離的二次變換提升斜向紋理的殘差的壓縮效率,本申請對此不作具體限定。
圖8是本申請實施例提供的解碼框架200的示意性框圖。
如圖8所示,該解碼框架200可包括熵解碼單元210、反變換反量化單元220、殘差單元230、幀內預測單元240、幀間預測單元250、環路濾波單元260、解碼圖像緩存單元270。其中,熵解碼單元210接收並解析碼流後,以獲取預測塊和頻域殘差塊,針對頻域殘差塊,通過反變換反量化單元220進行反變換與反量化等步驟,可獲取時域殘差塊,殘差單元230將幀內預測單元240或幀間預測單元250預測得到的預測塊疊加至經過通過反變換反量化單元220進行反變換與反量化之後的時域殘差塊,可得到重建塊。
圖9是本申請實施例提供的解碼方法300的示意性流程圖。應理解,該解碼方法300可由解碼器執行。例如該解碼方法300可由圖6所示的解碼框架200執行。為便於描述,下面以解碼器為例進行說明。
如圖9所示,所述解碼方法300可包括:
S310,解析當前序列的碼流獲取當前塊的第一變換係數;
S320,確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
S330,基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數;
S340,對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊;
S350,基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
示例性地,解碼器對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式時,可以先計算所述第一範本區域內的重建樣本的梯度值,然後將與所述第一範本區域內的重建樣本中梯度值最大的重建樣本的梯度方向相匹配的幀內預測模式,確定為使用所述DIMD模式匯出的幀內預測模式。或者說,解碼器可以基於所述第一範本區域內的重建樣本,通過遍歷幀內預測模式的方式,計算每種幀內預測模式對應的梯度值,並將梯度值最大的幀內預測模式,確定為使用所述DIMD模式匯出的幀內預測模式。
示例性地,解碼器對所述當前塊的預測塊(或所述最優MIP模式的輸出向量)使用所述DIMD模式匯出的幀內預測模式時,可以先計算所述當前塊的預測塊(或所述最優MIP模式的輸出向量)內的預測樣本的梯度值,然後將與所述當前塊的預測塊(或所述最優MIP模式的輸出向量)內的預測樣本中梯度值最大的預測樣本的梯度方向相匹配的幀內預測模式,確定為使用所述DIMD模式匯出的幀內預測模式。或者說,解碼器可以基於所述當前塊的預測塊(或所述最優MIP模式的輸出向量)內的預測樣本,通過遍歷幀內預測模式的方式,計算每種幀內預測模式對應的梯度值,並將梯度值最大的幀內預測模式,確定為使用所述DIMD模式匯出的幀內預測模式。
示例性地,所述第一變換用於處理所述當前塊中沿傾斜方向上的紋理。
示例性地,所述第二變換用於處理所述當前塊中沿水準方向上的紋理和沿豎直方向上的紋理。
應當理解,所述第一變換為編碼端的二次變換的反變換,所述第二變換為編碼端的基礎變換的反變換。例如,所述第一變換可以是反(逆)LFNST,所述第二變換可以是反(逆)DCT2型,反(逆)DCT8型或反(逆)DST7型等。
當然,TMMIP技術與LFNST的適配方法也適用於其他的二次變換方法。例如,LFNST是不可分離的二次變換,在其他可替代實施例中,TMMIP技術也可適用於可分離的二次變換,本申請對此不作具體限定。
值得注意的是,編碼器或解碼器對當前塊進行預測時,有可能使用PLANAR模式對應的變換集進行LFNST,究其原因在於:LFNST使用的變換核是由傳統的幀內預測模式的資料集進行深度學習訓練得到,因此,在普通的幀內預測過程中,LFNST使用的變換核通常也是在傳統的幀內預測模式對應的LFNST的變換集中選擇的變換核。然而,編碼器或解碼器有可能採用非傳統的幀內預測模式對當前塊進行預測,此時考慮到平面(planar)模式通常用於處理一些紋理存在漸變的塊,而LFNST用於處理斜向紋理,因此,通常會將平面模式輸出的預測塊的紋理資訊和傳統的幀內預測模式中的平面(planar)模式的紋理資訊作為一類紋理處理,即編碼器或解碼器利用非傳統的幀內預測模式對當前塊進行預測時,都使用平面模式對應的變換集進行LFNST。例如,編碼器採用MIP模式對當前塊預測時,使用平面模式對應的變換集進行LFNST。然而,由於MIP模式所表示的意義與傳統的幀內預測模式不同,即傳統的幀內預測模式帶有明顯的方向性,而MIP模式僅僅是矩陣係數的索引,因此,平面模式雖然用於處理一些紋理存在漸變的塊,但並不一定符合當前塊的紋理資訊,即LFNST使用的變換集的紋理方向並不一定符合當前塊的紋理方向,降低了當前塊的解壓縮性能。
有鑑於此,本申請實施例通過引入第一幀內預測模式,並基於所述第一幀內預測模式對應的變換集對所述當前塊的第一變換係數進行第一變換,能夠進一步提升所述當前塊的解壓縮性能。尤其是,解碼器採用非傳統的幀內預測模式對當前塊進行預測時,可以避免直接使用平面模式對應的變換集進行第一變換,而所述第一幀內預測模式對應的變換集在一定程度上能夠反映當前塊的紋理方向,進而能夠提升當前塊的解壓縮性能。
下面結合表3至表4的測試結果對本申請提供的方案的有益效果進行說明。
其中,表3是利用所述最優MIP模式和次優MIP模式對當前塊進行加權預測、且將所述第一幀內預測模式設計為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式時,對測試序列進行的測試得到的結果,表4是利用所述最優MIP模式和對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式對當前塊進行加權預測、且將所述第一幀內預測模式設計為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式時,對測試序列進行的測試得到的結果。
表3
表4
Y(BD-rate) | U(BD-rate) | V(BD-rate) | 編碼性能的提升(EncT) | 解碼新能的提升(DecT) | |
類別A1 | -0.25% | -0.18% | -0.23% | 118% | 105% |
類別A2 | -0.15% | -0.06% | -0.02% | 118% | 104% |
類別B | -0.17% | -0.03% | -0.06% | 121% | 107% |
類別C | -0.20% | -0.08% | -0.02% | 117% | 106% |
類別E | -0.25% | -0.09% | -0.13% | 119% | 105% |
平均值 | -0.20% | -0.08% | -0.08% | 119% | 105% |
類別D | -0.17% | 0.00% | -0.15% | 116% | 108% |
類別F | -0.23% | 0.03% | 0.01% | 112% | 105% |
Y(BD-rate) | U(BD-rate) | V(BD-rate) | 編碼性能的提升(EncT) | 解碼新能的提升(DecT) | |
類別A1 | -0.24% | -0.09% | -0.12% | 130% | 114% |
類別A2 | -0.14% | -0.03% | 0.01% | 123% | 105% |
類別B | -0.19% | 0.00% | 0.07% | 126% | 105% |
類別C | -0.21% | 0.06% | 0.05% | 130% | 115% |
類別E | -0.28% | 0.02% | -0.05% | 128% | 109% |
平均值 | -0.21% | 0.00% | 0.01% | 127% | 109% |
類別D | -0.20% | 0.06% | -0.08% | 131% | 125% |
類別F | -0.26% | 0.15% | 0.12% | 127% | 109% |
如表3至表4所示,增量位元速率(BD-rate)為負代表基於本申請提供的方案相對於ECM2.0的測試結果的性能提升。從測試結果中可以看到,在通測條件下,表3至表4的測試結果均能夠提供平均0.20%的亮度性能增益,且4K序列表現不俗。值得注意的是,ECM2.0集成的TIMD預測模式在ECM1.0的基礎上有著較高的複雜度,同時僅有0.4%的性能增益,在當前幀內編碼性能越來越難拿到的情況下,本申請提供的方案在不增加解碼器複雜度的情況下,能夠帶來不錯的性能增益,特別是對於4K類型的視訊序列,性能增益明顯。此外,由於伺服器負載原因,即使編解碼時間略有波動,理論上解碼時間基本不會增加。
在一些實施例中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
換言之,對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式的過程,可以在對所述最優MIP模式輸出的向量進行上採樣之前執行,也可以在對所述最優MIP模式輸出的向量進行上採樣之後執行,本申請對此不作具體限定。
解碼器在參考樣本輸入所述最優MIP模式的預測矩陣並得到輸出的向量之後,所述最優MIP模式輸出的向量最多有64個預測樣本,相比於上採樣後的預測塊擁有的至多數千個預測樣本而言,解碼器在對所述最優MIP模式輸出的向量進行上採樣之前,使用所述DIMD模式匯出的所述第一幀內預測模式,能夠減小計算複雜度,進而提升當前塊的解壓縮性能。例如,解碼器在上採樣之前使用所述DIMD計算每個傳統預測模式的梯度幅度值能有效減少計算複雜度。
在一些實施例中,所述S350可包括:
解碼器基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
示例性地,解碼器基於用於對所述當前塊進行預測的預測模式的模式類型,確定所述第一幀內預測模式。
示例性地,解碼器基於用於對所述當前塊進行預測的預測模式的匯出模式,確定所述第一幀內預測模式。
示例性地,所述用於對所述當前塊進行預測的預測模式的匯出模式包括但不限於:MIP模式、所述DIMD模式和所述TIMD模式。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
換言之,若解碼器利用所述最優MIP模式和次優MIP模式對當前塊進行加權預測,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
本實施例中,在所述用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和所述次優MIP模式的情況下,解碼器優先將對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式作為所述第一幀內預測模式時,能夠使得所述第一幀內預測模式對應的變換集的紋理方向能夠同時貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性以及所述次優MIP模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能;解碼器優先將對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式作為所述第一幀內預測模式時,可以在確定所述最優MIP模式的過程中直接獲取所述最優MIP模式的輸出向量,相當於,能夠在降低解壓縮複雜度的基礎上,使得所述第一幀內預測模式對應的變換集的紋理方向能夠貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能。
當然,在其他可替代實施例中,所述用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和次優MIP模式時,解碼器也可以將對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式或由所述TIMD模式匯出的幀內預測模式,確定為所述第一幀內預測模式,本申請對此不作具體限定。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
換言之,若所述第二幀內預測模式為使用所述TIMD模式匯出的幀內預測模式,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
本實施例中,在所述第二幀內預測模式包括由所述TIMD模式匯出的幀內預測模式的情況下,解碼器優先將對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式作為所述第一幀內預測模式時,能夠使得所述第一幀內預測模式對應的變換集的紋理方向能夠同時貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性以及由所述TIMD模式匯出的幀內預測模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能;解碼器優先將由所述TIMD模式匯出的幀內預測模式作為所述第一幀內預測模式時,可以將所述第二幀內預測模式直接確定為所述第一幀內預測模式,相當於,能夠在降低解壓縮複雜度的基礎上,使得所述第一幀內預測模式對應的變換集的紋理方向能夠貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能。
當然,在其他可替代實施例中,所述第二幀內預測模式為所述TIMD模式匯出的幀內預測模式時,解碼器也可以確定將對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,確定為所述第一幀內預測模式,本申請對此不作具體限定。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
換言之,若所述第二幀內預測模式為使用DIMD模式匯出的幀內預測模式,則解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
本實施例中,在所述第二幀內預測模式包括對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式的情況下,解碼器優先將對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式作為所述第一幀內預測模式時,能夠使得所述第一幀內預測模式對應的變換集的紋理方向能夠同時貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性以及由所述DIMD模式匯出的幀內預測模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能;解碼器優先將對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式作為所述第一幀內預測模式,可以將所述第二幀內預測模式直接確定為所述第一幀內預測模式,相當於,能夠在降低解壓縮複雜度的基礎上,使得所述第一幀內預測模式對應的變換集的紋理方向能夠貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性,進而能夠盡可能的提升所述當前塊的解壓縮性能。
當然,在其他可替代實施例中,所述第二幀內預測模式為對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式時,解碼器也可以確定將對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式,確定為所述第一幀內預測模式,本申請對此不作具體限定。
在一些實施例中,所述方法300還可包括:
確定第二幀內預測模式;
其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式;
基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊。
示例性地,解碼器基於所述最優MIP模式和確定所述第二幀內預測模式對當前塊進行預測的過程簡稱為範本匹配的MIP(Template Matching MIP,TMMIP)技術、基於範本匹配的MIP預測模式匯出方法、或TMMIP融合增強技術;也即是說,解碼器在獲取當前塊的殘差塊後,可以基於由匯出的最優MIP模式和所述第二幀內預測模式對當前塊的預測過程進行性能增強。或者說,TMMIP技術可利用最優MIP預測模式與以下中的至少一項對當前塊的預測過程進行性能增強:次優MIP預測模式,由TIMD模式匯出的幀內預測模式,對與所述當前塊相鄰的第一範本區域內的重建樣本使用DIMD模式匯出的幀內預測模式。
本實施例中,解碼器基於最優MIP模式和第二幀內預測模式對當前塊進行預測,並將所述最優MIP模式設計為基於多個MIP模式的失真代價確定用於預測所述當前塊的最優MIP模式,將所述第二幀內預測模式設計為包括以下中的至少一項:基於所述多個MIP模式的失真代價確定的用於預測所述當前塊的次優MIP模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用DIMD模式匯出的幀內預測模式、由TIMD模式匯出的幀內預測模式;相當於,有利於避免解碼器通過解析碼流獲取所述MIP模式,與傳統的MIP技術相比,能夠有效減少編碼單元級的位元開銷,進而能夠提高當前塊的解壓縮效率。
具體地,MIP模式的位元開銷相比於其他幀內預測模式較大,其不僅需要一個使用標誌位元表示是否使用MIP模式,還需要一個轉置標誌位元表示是否轉置使用MIP模式,最後也是最大開銷部分,其需要使用截斷二進位編碼表示MIP模式的索引。MIP模式是基於神經網路技術簡化而來的技術,與傳統插值濾波預測技術有較大的不同,對於一些特殊的紋理,MIP模式往往比傳統幀內預測模式效果更好。但其較大的標誌位元開銷是MIP模式的缺陷,以4x4大小的編碼單元為例,MIP模式有16種預測模式,但其位元開銷包括1個MIP模式的使用標誌位元、1個MIP模式的轉置標誌位元和5或6位元的截斷二進位標識。有鑑於此,本申請利用解碼器自主確定用於預測當前塊的最優MIP模式並基於最優MIP模式確定當前塊的幀內預測模式的方式,能夠節省最多5或6個位元位的開銷,能夠有效減少編碼單元級的位元開銷,進而能夠提高解壓縮效率。
此外,針對每個編碼單元節省的至多5或6個位元位開銷的前提是基於範本匹配預測模式的匯出演算法足夠精確,若基於範本匹配預測模式的匯出演算法的準確率過低,則會導致編碼端匯出的MIP模式與編碼端匯出的MIP模式不同,進而降低編解碼性能。或者說,編解碼性能有賴於基於範本匹配預測模式的匯出演算法的準確率。
然而,無論是傳統幀內預測模式的基於範本匯出演算法還是幀間的基於範本匹配匯出演算法的準確率都不盡人意,雖然能夠節省位元開銷並提升壓縮效率,但隨著基於範本匹配預測模式的匯出演算法的預測模式的數量的增加,基於範本匹配預測模式的匯出演算法帶來的編碼單元級額外位元開銷已經不太能夠使後續技術單純依靠基於範本匹配預測模式的匯出演算法來提升壓縮效率。因此,基於範本匹配預測模式的匯出演算法亟需在提升壓縮效率的基礎上提升編解碼性能。作為一種可能的實現方式,可以在力求節省編碼單元級的位元開銷的同時,可以通過創造出不同的新穎的預測塊來保證預測多樣性以及選擇多樣化,進而提升編解碼性能。有鑑於此,本申請通過融合所述最優MIP模式和所述第二幀內預測模式,即基於所述最優MIP模式和所述第二幀內預測模式對當前塊進行融合預測,避免了將所述最優MIP模式完全取代基於率失真代價計算得到的最優預測模式,能夠兼顧預測準確性與預測多樣性,進而能夠提升解壓縮性能。
尤其是,由於TMMIP技術是結合最優MIP模式和第二幀內預測模式對當前塊進行預測的,而利用不同的預測模式對當前塊進行預測得到的預測塊可能具有不同的紋理特徵,因此,如果當前塊選擇了TMMIP技術,則說明最優MIP模式有可能會使得當前塊的預測塊會表現出一種紋理特性,而第二幀內預測模式有可能會使得當前塊的預測塊表現出另一種紋理特性;換言之,對當前塊進行預測後,從統計角度來說,當前塊的殘差塊也會表現出兩種紋理特性,即當前塊的殘差塊並不一定是符合某一種預測模式能夠體現的規律。此時,針對TMMIP技術,所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式時,使得所述第一幀內預測模式對應的變換集的紋理方向能夠同時貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性以及所述第二幀內預測模式讓當前塊的預測塊表現出的紋理特性,提升了所述當前塊的解壓縮性能。進一步的,將所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式或由所述TIMD模式匯出的幀內預測模式時,可以在確定所述第二幀內預測模式的過程中直接確定第一幀內預測模式,相當於,能夠在降低解壓縮複雜度的基礎上,使得所述第一幀內預測模式對應的變換集的紋理方向能夠同時貼合最優MIP模式讓當前塊的預測塊表現出的紋理特性以及所述第二幀內預測模式讓當前塊的預測塊表現出的紋理特性,提升瞭解壓縮效率。
在一些實施例中,解碼器先基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊;再基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊;然後基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
在一些實施例中,所述基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊之前,所述方法300還可包括:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重;若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
在一些實施例中,解碼器基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊;並基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊;然後,解碼器基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
示例性地,解碼器可直接基於所述最優MIP模式對所述當前塊進行幀內預測,得到所述第一預測塊。此外,解碼器可直接基於所述TIMD模式得到最優預測模式和次優預測模式,對當前塊進行預測,得到所述第二預測塊。例如,若所述最優預測模式與次優預測模式都不是直流模式(也可稱為均值模式)或者平面模式(也可稱為平坦模式),且次優預測模式的失真代價小於兩倍的最優預測模式的失真代價,則需要進行預測塊融合操作;即解碼器可以先根據最優預測模式對當前塊進行幀內預測,以獲取最優預測塊;其次根據次優預測模式對當前塊進行幀內預測,以獲取次優預測塊;再利用最優預測模式的失真代價與次優預測模式的失真代價之間的比例計算得到屬於最優預測塊的權重值與次優預測塊的權重值;最後將最優預測塊與次優預測塊進行加權融合得到所述第二預測塊。再如,若最優預測模式或次優預測模式為平面模式或直流模式,或者優預測模式的失真代價大於兩倍的最優預測模式的失真代價,則不需要進行預測塊融合操作,即僅可以將基於最優預測模式得到的最優預測塊直接作為所述第二預測塊。解碼器得到所述第一預測塊和所述第二預測塊後,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則解碼器基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重;若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則解碼器確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
在一些實施例中,所述S320可包括:
解碼器解析所述當前序列的碼流獲取第一標識;若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,若所述第一標識的取值為第一數值,則用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測;若所述第一標識的取值為第二數值,則用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測。在一種實現方式中,所述第一數值為1且所述第二數值為0,在另一種實現方式中,所述第一數值為0且所述第二數值為1。當然,所述第一數值和所述第二數值也可為其他數值,本申請對此不作限定。
示例性地,若所述第一標識為真,則用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測;若所述第一標識為假,則用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測。
示例性地,解碼器解析塊級標識,若當前塊採用幀內預測模式,則解析或獲取所述第一標識,若所述第一標識為真,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,所述第一標識記為sps_timd_enable_flag,此時,解碼器解析或獲取sps_timd_enable_flag,若所述sps_timd_enable_flag為真,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,所述第一標識為序列級標識。
需要說明的是,所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,也可替換為具有類似或相同含義的描述。例如,在其他可替代實施例中,所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,也可替換為以下中的任一項:所述第一標識用於標識允許使用TMMIP技術確定當前序列中的圖像塊的幀內預測模式,所述第一標識用於標識允許使用TMMIP技術對當前序列中的圖像塊進行幀內預測,所述第一標識用於標識允許所述當前序列中的圖像塊使用TMMIP技術,所述第一標識用於標識允許使用基於所述多個MIP模式確定的MIP模式對當前序列中的圖像塊進行預測。
此外,在其他可替代實施例中,將TMMIP技術結合至其他技術時,也可通過其他技術的允許標誌位元來間接指示當前序列是否允許使用TMMIP技術。例如,以TIMD技術為例,所述第一標識用於指示當前序列允許使用TIMD技術時,則說明當前序列也允許使用TMMIP技術;或者說,所述第一標識用於指示當前序列允許使用TIMD技術時,則說明當前序列允許同時使用TIMD技術和TMMIP技術;以進一步節省位元開銷。
在一些實施例中,若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則解碼器解析所述碼流獲取第二標識;若所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,解碼器解析塊級標識,若當前塊採用幀內預測模式,則解析或獲取所述第一標識,若所述第一標識為真,則解碼器解析或獲取所述第二標識,若所述第二標識為真,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,若所述第二標識的第三數值,則用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測;若所述第二標識的第四數值,則用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測。在一種實現方式中,所述第三數值為1且所述第四數值為0,在另一種實現方式中,所述第三數值為0且所述第四數值為1。當然,所述第三數值和所述第四數值也可為其他數值,本申請對此不作具體限定。
示例性地,若所述第二標識為真,則用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測;若所述第二標識為假,則用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測。
示例性地,所述第一標識記為sps_timd_enable_flag,所述第二標識記為cu_timd_enable_flag,此時,解碼器解析或獲取sps_timd_enable_flag,若所述sps_timd_enable_flag為真,則解碼器可以解析或獲取cu_timd_enable_flag,若所述cu_timd_enable_flag為真,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,所述第二標識為塊級標識或編碼單元級標識。
需要說明的是,所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,也可替換為具有類似或相同含義的描述。例如,在其他可替代實施例中,所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,也可替換為以下中的任一項:所述第二標識用於標識允許使用TMMIP技術確定當前塊的幀內預測模式,所述第二標識用於標識允許使用TMMIP技術對當前塊進行幀內預測,所述第二標識用於標識允許所述當前塊中的圖像塊使用TMMIP技術,所述第二標識用於標識允許使用基於所述多個MIP模式確定的MIP模式對當前塊進行預測。
此外,在其他可替代實施例中,將TMMIP技術結合至其他技術時,也可通過其他技術的允許標誌位元來間接指示當前塊是否允許使用TMMIP技術。例如,以TIMD技術為例,所述第二標識用於指示當前塊允許使用TIMD技術時,則說明當前塊也允許使用TMMIP技術;或者說,所述第二標識用於指示當前塊允許使用TIMD技術時,則說明當前塊允許同時使用TIMD技術和TMMIP技術;以進一步節省位元開銷。
另外,解碼端解析所述第二標識時,可以在解析當前塊的殘差塊之前解析所述第二標識,也可以在解析當前塊的殘差塊之後解析所述第二標識,本申請對此不作具體限定。
在一些實施例中,所述方法300還可包括:
解碼器基於多個MIP模式的失真代價,確定所述最優MIP模式;
其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
示例性地,解碼器基於多個MIP模式的失真代價,在確定用於預測所述當前塊的最優MIP模式之前,需要計算所述多個MIP模式中的每一個MIP模式的失真代價,並根據每一個MIP模式的失真代價對所述多個MIP模式進行排序,代價最小的MIP模式即為最優預測結果。
值得注意的是,本申請中的解碼器涉及的失真代價不同於編碼器涉及的率失真代價(RDcost),率失真代價為編碼端用於在多種幀內預測技術中確定某一種幀內預測技術時使用的失真代價,率失真代價可以是失真圖像和原始圖像比較得到的代價值,由於解碼器並不能獲取原始圖像,因此,解碼器涉及的失真代價可以是重建樣本和預測樣本之間的失真代價,例如重建樣本和預測樣本之間的絕對變換差的和(Sum of Absolute Transformed Difference,SATD)代價或其他可用於計算重建樣本和預測樣本之間的差異的代價。
當然,在其他可替代實施例中,解碼器先基於所述MIP模式的失真代價,確定所述多個MIP模式的排列順序;然後基於所述多個MIP模式的排列順序,確定所述最優MIP模式使用的編碼方式;接著基於最優MIP模式使用的編碼方式對所述當前序列的碼流進行解碼,得到最優MIP模式的索引。
例如,所述排列順序中前n個MIP模式使用的編碼方式的碼字長度小於所述排列順序中第n個MIP模式之後的MIP模式使用的編碼方式的碼字長度;和/或,所述前n個MIP模式使用變長編碼方式且所述第n個MIP模式之後的MIP模式使用截斷二進位編碼方式。示例性地,n可以是大於或等於1的任意數值。需要說明的是,對於傳統的MIP技術,對MIP模式的索引通常選擇截斷二進位的方式進行二值化並寫入,這種編碼方式比較接近等概率編碼,即其將所有的預測模式分成兩段,一段用N個碼字表示,另一個由N+1個碼字進行表示。有鑑於此,本申請中,解碼器基於多個MIP模式的失真代價確定用於預測所述當前塊的最優MIP模式之前,可以先計算所述多個MIP模式中的每一個MIP模式的失真代價,並根據每一個MIP模式的失真代價對所述多個MIP模式進行排序,最終,解碼器可基於所述多個MIP模式的排序選擇使用更靈活的變長編碼方式,與等概率編碼方式相比,通過靈活設置MIP模式的編碼方式,有利於節省所述MIP模式的索引的位元開銷。
再如,所述排列順序為解碼器按照失真代價有小到大的順序對所述多個MIP模式進行排列得到的順序。由於MIP模式的失真代價越小,編碼器使用其對當前塊進行幀內預測的概率越大,因此,將所述排列順序中前n個MIP模式使用的編碼方式的碼字長度設計為小於所述排列順序中第n個MIP模式之後的MIP模式使用的編碼方式的碼字長度;和/或,將所述前n個MIP模式使用的編碼方式設計為變長編碼方式且將所述第n個MIP模式之後的MIP模式使用的編碼方式設計為截斷二進位編碼方式;相當於,編碼器大概率使用的MIP模式使用較短碼字長度或變長編碼方式,能夠節省MIP模式的索引的位元開銷,提升解壓縮性能。
在一些實施例中,所述方法300還可包括:
若所述第二幀內預測模式為所述次優MIP模式,則解碼器基於所述最優MIP模式的失真代價和所述次優MIP模式的失真代價,確定是否採用所述次優MIP模式對所述當前塊進行預測;若確定不採用所述次優MIP模式,則解碼器可直接基於所述最優MIP模式對所述當前塊進行預測;若確定採用所述次優MIP模式,則解碼器可基於所述最優MIP模式和所述次優MIP模式對所述當前塊進行預測,以得到所述當前塊的預測塊。
示例性地,所述第二幀內預測模式為次優MIP模式時,若所述最優MIP模式的失真代價和所述次優MIP模式的失真代價之間的比值小於或等於預設比例時,則解碼器可直接基於所述最優MIP模式對所述當前塊進行預測,得到所述當前塊的預測塊。或者說,所述第二幀內預測模式為次優MIP模式時,若所述次優MIP模式的失真代價和所述最優MIP模式的失真代價之間的比值大於或等於預設比例時,則解碼器可直接基於所述最優MIP模式對所述當前塊進行預測,得到所述當前塊的預測塊。例如,若次優MIP模式的失真代價大於或等於最優MIP模式的失真代價的某一個倍數(例如兩倍)時,可以解釋為次優MIP模式已有較大的失真並不適合當前塊,即可以不用融合增強技術,僅使用最優MIP模式對當前塊進行預測。
本實施例中,解碼器基於所述最優MIP模式的失真代價和所述次優MIP模式的失真代價,確定是否採用所述次優MIP模式對所述當前塊進行預測,相當於,解碼器基於所述最優MIP模式的失真代價和所述次優MIP模式的失真代價,確定是否採用所述次優MIP模式對最優MIP模式進行性能增強,避免了在碼流中攜帶用於確定是否採用所述次優MIP模式對最優MIP模式進行性能增強的標識,節省了位元開銷,進而能夠增強解壓縮性能。
在一些實施例中,所述第二範本區域和所述第一範本區域相同或不同。
示例性地,所述第二範本區域的大小可以根據當前塊的尺寸大小預先定義。例如,所述第二範本區域中與當前塊相鄰的上側區域的寬為當前塊的寬大小,且其高為至少一行樣本高度;再如,所述第二範本區域中與當前塊的左側相鄰的左側區域的高為當前塊的高度,其寬為兩行樣本的寬度。當然,在其他可替代實施例中,所述第二範本區域也可以實現為其他尺寸或大小的第二範本區域,本申請對此不作具體限定。
在一些實施例中,所述方法300還可包括:
解碼器基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量;解碼器基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,解碼器基於多個MIP模式的失真代價,確定所述最優MIP模式之前,基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價。
如前所述,對於傳統的MIP技術,其位元開銷相比於其他幀內預測工具要多一些,其不僅需要一個標識位元去表示是否使用MIP技術,還需要一個標識位元去表示是否轉置使用MIP,最後也是最大開銷部分,它需要使用截斷二進位編碼去表示MIP的預測模式。MIP是基於神經網路技術簡化而來的技術,與傳統插值濾波預測技術有較大的不同,對於一些特殊的紋理,雖然MIP預測比傳統幀內預測模式的效果更好,但其較大的標識開銷是MIP技術的缺陷,以4x4大小的編碼單元為例,共有16個預測樣本,但其位元開銷包括1個MIP使用標識,1個MIP轉置標識和5或6位元的截斷二進位標識。有鑑於此,本申請在確定最優MIP模式時,通過遍歷所述第三標識的每一個狀態,考慮了MIP模式的轉置功能,能夠節省1個MIP轉置標識的開銷,進而能夠提高解壓縮效率。
示例性地,解碼器遍歷所述第三標識的每一個狀態和所述多個MIP模式,確定所述第三標識的每一個狀態下所述多個MIP模式的失真代價,並基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式;或者,解碼器遍歷所述第三標識的每一個狀態和所述多個MIP模式,確定所述多個MIP模式在所述第三標識的每一個狀態下的失真代價,並基於所述多個MIP模式在所述第三標識的每一個狀態下的失真代價,確定所述最優MIP模式。也即是說,解碼端可以先遍歷所述多個MIP模式,也可以先遍歷所述第三標識的狀態。
示例性地,若所述第三標識的取值為第五數值,則用於標識轉置MIP模式的輸入向量和輸出向量;若所述第三標識的取值為第六數值,則用於標識不轉置MIP模式的輸入向量和輸出向量。此時,所述第三標識的每一個狀態也可替換為所述第三標識的每一個取值。在一種實現方式中,所述第五數值為1且所述第六數值為0,在另一種實現方式中,所述第五數值為0且所述第六數值為1。當然,所述第五數值和所述第六數值也可為其他數值,本申請對此不作限定。
示例性地,若所述第三標識為真,則用於標識轉置MIP模式的輸入向量和輸出向量;若所述第三標識為假,則用於標識不轉置MIP模式的輸入向量和輸出向量。此時,所述第三標識為真或為假均為所述第三標識的一個狀態。
示例性地,所述第三標識為序列級標識、塊級標識或編碼單元級標識。
示例性地,所述第三標識也可稱為轉置訊息、轉置標識、或MIP轉置標識位元。
需要說明的是,所述第三標識用於標識是否轉置MIP模式的輸入向量和輸出向量,也可替換為具有類似或相同含義的描述。例如,在其他可替代實施例中,所述第三標識用於標識是否需要轉置MIP模式的輸入和輸出,所述第三標識用於標識MIP模式的輸入向量和輸出向量是否為轉置後的向量,所述第三標識用於表示是否轉置。
在一些實施例中,所述方法300還可包括:
若所述當前塊的尺寸為預設尺寸,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,所述預設尺寸可以包括寬度為預設寬度且高度為預設高度的尺寸。也即是說,若所述當前塊的寬度為預設寬度且高度為預設高度,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,所述預設尺寸可以通過在設備(例如,包括解碼器和編碼器)中預先保存相應的代碼、表格或其他可用於指示相關資訊的方式來實現,本申請對於其具體的實現方式不做限定。比如,預設尺寸可以是指協議中定義的尺寸。可選地,所述"協議"可以指編解碼技術領域的標準協議,例如可以包括VCC或ECM協定等相關協定。
當然,在其他可替代實施例中,解碼器也可以通過其他方式,基於所述預設尺寸確定是否基於所述多個MIP模式的失真代價確定所述最優MIP模式,本申請對此不作具體限定。
例如,解碼器可以僅基於所述當前塊的寬度或高度,確定是否基於所述多個MIP模式的失真代價確定所述最優MIP模式。在一種實現方式中,若所述當前塊的寬度為預設寬度或高度為預設高度,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。再如,解碼器可以通過比較所述當前塊的尺寸和所述預設尺寸,確定是否基於所述多個MIP模式的失真代價確定所述最優MIP模式。在一種實現方式中,若所述當前塊的尺寸大於或小於預設尺寸,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。在另一種實現方式中,若所述當前塊的寬度大於或小於預設寬度,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。在另一種實現方式中,若所述當前塊的高度大於或小於預設高度,則所述解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
在一些實施例中,所述方法300還可包括:
若所述當前塊所在的圖像幀為I幀、且所述當前塊的尺寸為所述預設尺寸,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,若所述當前塊所在的圖像幀為I幀、所述當前塊的寬度為預設寬度、且所述當前塊的高度為預設高度,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。也即是說,只有在所述當前塊所在的圖像幀為I幀的情況下,解碼器才基於所述當前塊的尺寸,確定是否基於所述多個MIP模式的失真代價確定所述最優MIP模式。
在一些實施例中,所述方法300還可包括:
若所述當前塊所在的圖像幀為B幀,則解碼器基於所述多個MIP模式的失真代價,確定所述最優MIP模式。
示例性地,若所述當前塊所在的圖像幀為B幀,則解碼器可以直接基於所述多個MIP模式的失真代價,確定所述最優MIP模式。也即是說,在所述當前塊所在的圖像幀為B幀的情況下,不管當前塊的尺寸為多少,解碼器都可以直接基於所述多個MIP模式的失真代價確定所述最優MIP模式。
在一些實施例中,所述S320之前,所述方法300還可包括:
解碼器獲取與所述當前塊相鄰的相鄰塊使用的MIP模式;解碼器將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
示例性地,所述相鄰塊可以是與所述當前塊的上側、左側、左下、右上及左上中的至少一項相鄰的圖像塊。例如,解碼器可按照所述當前塊的上側、左側、左下、右上及左上的順序獲取的圖像塊確定為所述相鄰塊。可選的,所述多個MIP模式可用於構建解碼器確定用於預測當前塊的可用MIP模式或可用MIP模式清單,以便解碼器在所述可用MIP模式或可用MIP模式清單中通過對第二範本區域內的樣本進行預測的方式確定所述最優MIP模式。
在一些實施例中,所述方法300還可包括:
解碼器對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列;解碼器以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊;解碼器基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
示例性地,解碼器基於多個MIP模式的失真代價確定所述最優MIP模式之前,對所述第二範本區域外部相鄰的參考區域進行重建樣本填充。
示例性地,所述參考區域中與所述第二範本區域的上側相鄰的區域的寬度等於所述第二範本區域的寬度,所述參考區域中與所述第二範本區域的左側相鄰的區域的高度等於所述第二範本區域的寬度;若所述參考區域中與所述第二範本區域的上側相鄰的區域的寬度大於所述第二範本區域的寬度,則解碼器可以對所述參考區域中與所述第二範本區域的上側相鄰的區域進行下採樣或降維處理,以得到所述參考行。若所述參考區域中與所述第二範本區域的左側相鄰的區域的高度可大於所述第二範本區域的寬度,則解碼器可以對所述參考區域中與所述第二範本區域的左側相鄰的區域進行下採樣或降維處理,以得到所述參考列。
示例性地,所述第二範本區域可以是上文涉及的TIMD模式中使用的範本(template)區域,所述參考區域可以是所述TIMD模式中使用的參考範本(Reference of template)。例如,結合圖5來說,若當前塊為寬等於M且高等於N的編碼單元,解碼器對寬等於2(M+L1)+1且高等於2(N+L2)+1的編碼單元組成的參考區域進行重建樣本的充填,並對填充後的參考區域進行降採樣或降維處理,得到所述參考行和所述參考列,進而基於所述參考行和所述參考列構建MIP模式的輸入向量。
示例性地,解碼器獲取所述參考行和所述參考列後,以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊;也即是說,所述解碼器基於當前塊的參考範本內的重建樣本,通過遍歷所述多個MIP模式的方式對當前塊的第二範本區域內的樣本進行預測。以當前遍歷MIP模式為例,解碼器以所述參考行、所述參考列、所述當前遍歷MIP模式的索引、上文涉及的第三標識為輸入,得到所述當前遍歷MIP模式對應的預測塊;其中,所述參考行和所述參考列用於構建所述當前遍歷MIP模式的輸入向量;所述當前遍歷MIP模式的索引用於確定當前遍歷MIP模式的矩陣和/或偏置向量;所述第三標識用於標識是否轉置MIP模式的輸入向量和輸出向量;例如,若所述第三標識用於標識不轉置MIP模式的輸入向量和輸出向量,則將所述參考列拼接在所述參考行之後,以形成所述當前遍歷MIP模式的輸入向量;若所述第三標識用於標識轉置MIP模式的輸入向量和輸出向量,則將所述參考行拼接在所述參考列之後,以形成所述當前遍歷MIP模式的輸入向量。相應的,若所述第三標識用於標識轉置MIP模式的輸入向量和輸出向量,解碼器對所述當前遍歷MIP模式的輸出進行轉置,以得到所述第二範本區域的預測塊。解碼器遍歷所述多個MIP模式的方式獲取所述多個MIP模式對應的多個預測塊後,可以基於所述多個預測塊和所述第二範本區域內的重建樣本之間的失真代價,根據失真代價最小原則選出代價最小的MIP模式,並將其確定為當前塊基於範本匹配的MIP模式下最優MIP模式。
在一些實施例中,解碼器利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測時,先對所述參考行和所述參考列進行下採樣,得到輸入向量;再以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量;最後對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
示例性地,所述參考行和所述參考列滿足所述多個MIP模式的輸入條件。若所述參考行和所述參考列不滿足所述多個MIP模式的輸入條件,可以先將所述參考行和/或所述參考列處理為滿足所述多個MIP模式的輸入條件的輸入樣本,然後基於滿足所述多個MIP模式的輸入條件的輸入樣本,確定所述多個MIP模式的輸入向量。例如,以所述輸入條件為指定個數的輸入樣本為例,若所述參考行和所述參考列不滿足MIP模式的輸入樣本個數時,解碼器可對所述參考行和/或所述參考列進行哈爾下採樣(Haar-downsampling)等方式降維到指定個數的輸入樣本,並基於降維後的指定個數的輸入樣本確定所述多個MIP模式的輸入向量。
在一些實施例中,所述S320可包括:
解碼器基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
本實施例中,解碼器基於所述多個MIP模式在所述第二範本區域上的失真代價確定所述最優MIP模式時,將所述多個MIP模式的失真代價設計為所述多個MIP模式的SATD,與直接計算所述多個MIP模式的率失真代價相比,不僅能夠實現基於所述多個MIP模式在所述第二範本區域上的失真代價確定所述最優MIP模式,還能夠簡化所述多個MIP模式的失真代價的計算複雜度,進而能夠解碼器的提升解壓縮性能。
綜上所述,本申請提供的方案在最優MIP模式的基礎上提出融合增強的思想,即解碼器不僅需要確定用於預測當前塊的最優MIP模式,同時還需要融合另一個預測塊以達到不同的預測效果。這樣不單單是節省位元開銷,還能創造出一個新的預測技術,而融合的過程,實際上也是因為最優MIP模式並不能完全取代編碼端基於率失真代價計算得到的最優預測模式,所以採用融合方法來兼顧預測準確性與預測多樣性。
示例性地,解碼器基於範本匹配的MIP模式匯出方法主要思路可分為以下幾個部分:
首先,填充參考區域(例如圖5所示的參考範本)內的重建樣本,即用於對第二範本區域(如圖5所述的範本)內的樣本進行預測時所需要的參考重建樣本。可選的,所述參考區域的寬高不需要超出第二範本區域的寬高。若所述參考區域填滿了超出第二範本區域的寬高的樣本,則需要使用下採樣或其他方式降維達到MIP輸入維度的要求。
然後,解碼器以所述參考區域內的參考重建樣本、所述多個MIP模式的索引、MIP轉置標識位元作為輸入,對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的預測塊。可選的,所述參考區域內的參考重建樣本需要滿足MIP輸入條件,如哈爾下採樣(Haar-downsampling)等降維到指定個數的輸入樣本。所述多個MIP模式的索引用於確定MIP技術的矩陣索引,進而獲取MIP預測矩陣係數。MIP轉置標識位元用於標識是否需要轉置輸入和輸出。
接著,對於所述多個MIP模式對應的預測塊而言,可以遍歷所有MIP模式與MIP轉置與否的組合情況,得到每一個MIP模式及MIP轉置標識位元的每一個狀態下的第二範本區域的預測樣本,並計算第二範本區域內預測樣本與重建樣本之間的失真並記錄其代價資訊;最後,根據失真最小原則選出代價最小的MIP模式及其對應的MIP轉置訊息,即為當前塊基於範本匹配的MIP預測匯出模式下最優MIP模式。
最後,解碼器分別利用最優MIP預測模式第二幀內預測模式對當前塊進行預測,得到第一預測塊和第二預測塊,並根據最優MIP預測模式第二幀內預測模式的加權權重,對所述第一預測塊和所述第二預測塊進行加權計算,得到當前塊的預測塊。
值得注意的是,本申請涉及的部分計算可以用查閱資料表和移位元的方式代替,雖然查閱資料表的方式在結果上可能會與直接做除法有一定誤差,但有利於硬體實現和控制編解碼成本。例如,關於失真代價的計算或確定最優MIP模式中涉及到的計算。
上文中從解碼器的角度詳細描述了根據本申請實施例的解碼方法,下面將結合圖17,從編碼器的角度描述根據本申請實施例的編碼方法。
圖10是本申請實施例提供的編碼方法400的示意性流程圖。應理解,該編碼方法400可由編碼器執行。例如應用於圖1所示的編碼框架100。為便於描述,下面以編碼器為例進行說明。
如圖10所示,所述編碼方法400可包括:
S410,獲取當前序列中當前塊的殘差塊;
S420,對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數;
S430,確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
S440,基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數;
S450,對所述第四變換係數進行編碼。
應當理解,解碼端的第一變換為編碼端的第四變換的反變換,解碼端的第二變換為編碼端的第三變換的反變換。例如,所述第三變換為上文涉及的基礎變換或主變換,所述第四變換為上文涉及的二次變換,相應的,所述第一變換為二次變換的反變換(或逆變換),所述第二變換可以為基礎變換或主變換的反變換(或逆變換)。例如,所述第一變換可以是反(逆)LFNST,所述第二變換可以是反(逆)DCT2型,反(逆)DCT8型或反(逆)DST7型等;相應的,所述第三變換可以是DCT2型,DCT8型或DST7型等,所述第四變換可以是LFNST。
在一些實施例中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
在一些實施例中,所述S430可包括:
基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,所述第二範本區域和所述第一範本區域相同或不同。
在一些實施例中,所述S410可包括:
確定第二幀內預測模式;
其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式;
基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊;
基於所述當前塊的預測塊,得到所述當前塊的殘差塊。
在一些實施例中,基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊;基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊;基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
在一些實施例中,若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重;若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
在一些實施例中,編碼器獲取第一標識;若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則確定所述第二幀內預測模式;其中,所述S450可包括:
對所述第四變換係數和所述第一標識進行編碼。
在一些實施例中,若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到第一率失真代價;基於至少一個幀內預測模式對所述當前塊進行預測,得到至少一個率失真代價;若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則將基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測得到的預測塊,確定為所述當前塊的預測塊;其中,所述S450可包括:
對所述第四變換係數、所述第一標識和第二標識進行編碼;
其中,若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測;若所述第一率失真代價大於所述至少一個率失真代價中的最小值,則所述第二標識用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測。
在一些實施例中,所述方法400還可包括:
基於多個MIP模式的失真代價,確定所述最優MIP模式;
其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
在一些實施例中,所述第二範本區域和所述第一範本區域相同或不同。
在一些實施例中,基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量;基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
在一些實施例中,基於多個MIP模式的失真代價確定所述最優MIP模式之前,所述方法400還可包括:
獲取與所述當前塊相鄰的相鄰塊使用的MIP模式;
將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
在一些實施例中,基於多個MIP模式的失真代價確定所述最優MIP模式之前,所述方法400還可包括:
對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列;以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊;基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
在一些實施例中,對所述參考行和所述參考列進行下採樣,得到輸入向量;以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量;對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
在一些實施例中,基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
應當理解,編碼方法可以理解為解碼方法的逆過程,因此,所述編碼方法400的具體方案可參見解碼方法300的相關內容,為便於描述,本申請對此不再贅述。
下面結合具體實施例對本申請的方案進行說明。
實施例1:
本實施例中,上文涉及的第二幀內預測模式為次優MIP模式,即編碼器或解碼器可基於最優MIP模式和次優MIP模式對當前塊進行幀內預測,以得到當前塊的預測塊。
編碼器遍歷預測模式,若當前塊為幀內模式,則編碼器獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前編碼器允許使用TMMIP技術。
示例性地,編碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則編碼器嘗試TMMIP技術,即執行步驟2;若sps_tmmip_enable_flag為假,則編碼器不嘗試TMMIP技術,即跳過步驟2直接執行步驟3。
步驟2:
首先,編碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,編碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,編碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,編碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:編碼器先對重建樣本進行哈爾下採樣,例如編碼器根據塊尺寸決定下採樣步長。接著,編碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,編碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,編碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
接著,編碼器基於通過遍歷每個MIP模式得到的第二範本區域的預測塊與第二範本區域內重建樣本,計算失真代價,並記錄每一個預測模式與轉置訊息下的失真代價值。遍歷所有允許的預測模式與轉置訊息後,根據代價最小原則,選擇出最優的MIP模式以及其對應的轉置訊息,以及次優MIP模式以及其對應的轉置訊息。編碼器根據最優MIP模式的代價值和次優MIP模式的代價值的關係判斷是否需要融合增強,若次優MIP模式的代價值小於最優MIP模式的代價值的兩倍,則需要將最優MIP預測塊與次優MIP預測塊進行融合增強。若次優預測模式的代價值大於或等於最優MIP模式的代價值的兩倍,則不需要融合增強。
最後,若需要融合增強,則編碼器根據最優MIP模式、次優MIP模式、最優MIP模式的轉置訊息以及次優MIP模式的轉置訊息,得到最優MIP模式對應的預測塊和次優MIP模式對應的預測塊。具體地,首先,編碼器對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。編碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的最優MIP預測塊和次優MIP預測塊,並根據計算得到的最優MIP模式的權重值和次優MIP模式的權重值,對最優MIP預測塊和次優MIP預測塊進行加權平均,得到一個新的預測塊作為當前塊的最終預測塊。若不需要融合增強,則編碼器可根據最優MIP模式及其轉置訊息,計算得到最優MIP預測塊,計算過程與前述相同,最終,編碼器將最優MIP預測塊作為當前塊的預測塊。
此外,編碼器得到當前塊的率失真代價,將其記為cost1。
另外,編碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或編碼器確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
步驟3:
編碼器繼續遍歷其他幀內預測技術並計算對應的率失真代價記為cost2…costN。
步驟4:
若cost1為所有率失真代價中最小,則當前塊採用TMMIP技術,編碼器將當前塊的TMMIP使用標誌位置真並寫進碼流;若cost1不為最小率失真代價,則當前塊採用其他幀內預測技術,編碼器將當前塊的TMMIP使用標誌位置假並寫進碼流。應當理解,其他幀內預測技術的標識位元或索引等資訊根據定義傳輸,此處不詳細闡述。
步驟5:
編碼器基於當前塊的預測塊和當前塊的原始塊確定當前塊的殘差塊,然後對當前塊的殘差塊進行基礎變換並基於所述第一幀內預測模式對基礎變換後的變換係數進行二次變換,接著對二次變換後的變換係數進行量化,熵編碼以及環路濾波等操作。應當理解,其量化具體過程可參見上文相關內容,為避免重複,此處不再贅述。
下面對本實施例中解碼器的相關方案進行說明。
解碼器解析塊級類型標誌位元,若為幀內模式,則解析或獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前解碼器允許使用TMMIP技術。
示例性地,解碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則解碼器解析當前塊的TMMIP使用標誌位元,否則,當前解碼過程不需要解碼塊級的TMMIP使用標誌位元,塊級的TMMIP使用標誌位元預設為否。若當前塊的TMMIP使用標誌位元為真,則執行步驟2;否則,執行步驟3。
步驟2:
首先,解碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,解碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,解碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,解碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:解碼器先對重建樣本進行哈爾下採樣,例如解碼器根據塊尺寸決定下採樣步長。接著,解碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,解碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,解碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
接著,解碼器基於通過遍歷每個MIP模式得到的第二範本區域的預測塊與第二範本區域內重建樣本,計算失真代價,並記錄每一個預測模式與轉置訊息下的失真代價值。遍歷所有允許的預測模式與轉置訊息後,根據代價最小原則,選擇出最優的MIP模式以及其對應的轉置訊息,以及次優MIP模式以及其對應的轉置訊息。解碼器根據最優MIP模式的代價值和次優MIP模式的代價值的關係判斷是否需要融合增強,若次優MIP模式的代價值小於最優MIP模式的代價值的兩倍,則需要將最優MIP預測塊與次優MIP預測塊進行融合增強。若次優預測模式的代價值大於或等於最優MIP模式的代價值的兩倍,則不需要融合增強。
最後,若需要融合增強,則解碼器根據最優MIP模式、次優MIP模式、最優MIP模式的轉置訊息以及次優MIP模式的轉置訊息,得到最優MIP模式對應的預測塊和次優MIP模式對應的預測塊。具體地,首先,解碼器對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。解碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的最優MIP預測塊和次優MIP預測塊,並根據計算得到的最優MIP模式的權重值和次優MIP模式的權重值,對最優MIP預測塊和次優MIP預測塊進行加權平均,得到一個新的預測塊作為當前塊的最終預測塊。若不需要融合增強,則解碼器可根據最優MIP模式及其轉置訊息,計算得到最優MIP預測塊,計算過程與前述相同,最終,解碼器將最優MIP預測塊作為當前塊的預測塊。
另外,解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
步驟3:
解碼器繼續解析其他幀內預測技術的使用標識位元或索引等資訊,並根據解析到的資訊求得當前塊的最終預測塊。
步驟4:
解碼器解析碼流並獲取當前塊的頻域殘差塊(也稱為頻域殘差資訊),並對當前塊的頻域殘差塊進行反量化及反變換(先基於第一幀內預測模式進行二次變換的反變換然後進行基礎變換或主變換的反變換的反變換)得到當前塊的殘差塊(也稱為時域殘差塊或時域殘差訊息);然後解碼器將當前塊的預測塊與當前塊的殘差塊疊加得到重建樣本塊。
步驟5:
若當前圖像中所有重建樣本塊經由環路濾波等技術後,得到最終的重建圖像。
可選的,重建圖像可以作為視訊輸出,也可以作為後面解碼參考。
本實施例中,編碼器或解碼器在TMMIP技術中用到的第二範本區域的大小可以根據當前塊的尺寸大小預先定義。例如,所述第二範本區域中與當前塊相鄰的上側區域的寬為當前塊的寬大小,且其高為兩行樣本高度;所述第二範本區域中與當前塊的左側相鄰的左側區域的高為當前塊的高度,其寬為兩行樣本的寬度。當然,在其他可替代實施例中,也可以實現為其他尺寸的第二範本區域,本申請對此不作具體限定。
本實施例中,通過TMMIP技術
實施例2:
本實施例中,上文涉及的第二幀內預測模式為由TIMD模式匯出的幀內預測模式,即編碼器或解碼器可基於最優MIP模式和由TIMD模式匯出的幀內預測模式對當前塊進行幀內預測,以得到當前塊的預測塊。
也即是說,基於範本匹配的MIP模式匯出融合增強技術不僅可以將兩個匯出的MIP預測塊進行融合,也能與其他基於範本匹配的匯出技術所產生的預測塊進行融合。本申請將TMMIP技術與TIMD技術進行融合,得到一種匯出的傳統預測塊與基於矩陣的預測塊融合方法。TIMD在編解碼端利用範本匹配的思想匯出最優的傳統幀內預測模式,且該技術還能夠將該預測模式進行偏移拓展,得到一個更新的幀內預測模式。而TMMIP技術也是在編解碼端利用範本匹配的思想匯出最優的MIP模式,將這兩個最優預測模式進行融合,則可以兼顧傳統預測塊具有的方向性與MIP預測獨特的紋理特性,產生一個全新的預測塊,提高編碼效率。
編碼器遍歷預測模式,若當前塊為幀內模式,則編碼器獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前編碼器允許使用TMMIP技術。
示例性地,編碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則編碼器嘗試TMMIP技術,即執行步驟2;若sps_tmmip_enable_flag為假,則編碼器不嘗試TMMIP技術,即跳過步驟2直接執行步驟3。
步驟2:
首先,編碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,編碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,編碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,編碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:編碼器先對重建樣本進行哈爾下採樣,例如編碼器根據塊尺寸決定下採樣步長。接著,編碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,編碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,編碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
此外,編碼器還需要嘗試TIMD的範本匹配計算過程,根據不同的預測模式索引獲取不同的插值濾波器對參考樣本進行插值得到範本內的預測樣本。
接著,編碼器基於通過遍歷每個MIP模式得到的第二範本區域的預測樣本與第二範本區域內重建樣本,計算失真代價,並記錄每一個預測模式與轉置訊息下的失真代價值,並基於每一個預測模式與轉置訊息下的失真代價值,根據代價最小原則,選擇出最優的MIP模式以及其對應的轉置訊息。此外,編碼器還需要遍歷所有TIMD允許的幀內預測模式,計算得到範本內的預測樣本並與範本內重建樣本計算失真代價,並根據代價最小原則記錄由TIMD技術匯出的最優預測模式、次優預測模式、最優預測模式的失真代價值以及次優預測模式失真代價值。
最後,編碼器根據得到的最優MIP模式和轉置訊息,對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。編碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的輸出作為當前塊的最優MIP預測塊。
對於由TIMD技術匯出的最優預測模式和次優預測模式,若最優預測模式與次優預測模式都不是均值(DC)模式或者平坦(PLANAR)模式,且次優預測模式的失真代價小於兩倍的最優預測模式失真代價,則編碼器需要進行預測塊融合操作。首先,編碼器根據最優預測模式獲取插值濾波係數,對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為最優預測塊;其次編碼器根據次優預測模式獲取插值濾波係數,對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為次優預測塊。接著,編碼器利用最優預測模式代價值與次優預測模式代價值之間的比例計算得到屬於最優預測塊的權重值與次優預測塊的權重值。最後,編碼器將最優預測塊與次優預測塊進行加權融合得到當前塊的預測塊作為輸出。若最優預測模式或次優預測模式為均值模式(DC)或平坦模式(PLANAR),或者次優預測模式的代價值大於兩倍的最優預測模式代價值,則編碼器不需要進行預測塊融合操作,僅用最優預測模式對上側和左側相鄰重建樣本進行插值濾波得到的最優預測塊作為當前塊的最優TIMD預測塊。
最後,編碼器基於計算得到的最優MIP模式的權重值和由TIMD技術匯出的預測模式的權重值,將最優MIP預測塊與最優TIMD預測塊進行加權平均,得到新的預測塊即為當前塊的預測塊。
此外,編碼器得到當前塊的率失真代價,將其記為cost1。
另外,編碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或編碼器確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
需要說明的是,由於TIMD技術的範本區域與第二範本區域(即TMMIP技術的範本區域)可以設定相同,即用於計算失真代價的範本區域相同,則TIMD技術的範本區域的代價資訊和TMMIP技術的範本區域的代價資訊可以等效或處於同一個對比水準,此時,也可以基於代價資訊確定是否融合增強,本申請對此不作具體限定。
步驟3:
編碼器繼續遍歷其他幀內預測技術並計算對應的率失真代價記為cost2…costN。
步驟4:
若cost1為所有率失真代價中最小,則當前塊採用TMMIP技術,編碼器將當前塊的TMMIP使用標誌位置真並寫進碼流;若cost1不為最小率失真代價,則當前塊採用其他幀內預測技術,編碼器將當前塊的TMMIP使用標誌位置假並寫進碼流。應當理解,其他幀內預測技術的標識位元或索引等資訊根據定義傳輸,此處不詳細闡述;
步驟5:
編碼器基於當前塊的預測塊和當前塊的原始塊確定當前塊的殘差塊,然後對當前塊的殘差塊進行基礎變換並基於所述第一幀內預測模式對基礎變換後的變換係數進行二次變換,接著對二次變換後的變換係數進行量化,熵編碼以及環路濾波等操作。應當理解,其量化具體過程可參見上文相關內容,為避免重複,此處不再贅述。
下面對本實施例中解碼器的相關方案進行說明。
解碼器解析塊級類型標誌位元,若為幀內模式,則解析或獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前解碼器允許使用TMMIP技術。
示例性地,解碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則解碼器解析當前塊的TMMIP使用標誌位元,否則,當前解碼過程不需要解碼塊級的TMMIP使用標誌位元,塊級的TMMIP使用標誌位元預設為否。若當前塊的TMMIP使用標誌位元為真,則執行步驟2;否則,執行步驟3。
步驟2:
首先,解碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,解碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,解碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,解碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:解碼器先對重建樣本進行哈爾下採樣,例如解碼器根據塊尺寸決定下採樣步長。接著,解碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,解碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,解碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
此外,解碼器還需要嘗試TIMD的範本匹配計算過程,根據不同的預測模式索引獲取不同的插值濾波器對參考樣本進行插值得到範本內的預測樣本。
接著,解碼器基於通過遍歷每個MIP模式得到的第二範本區域的預測樣本與第二範本區域內重建樣本,計算失真代價,並記錄每一個預測模式與轉置訊息下的失真代價值,並基於每一個預測模式與轉置訊息下的失真代價值,根據代價最小原則,選擇出最優的MIP模式以及其對應的轉置訊息。此外,解碼器還需要遍歷所有TIMD允許的幀內預測模式,計算得到範本內的預測樣本並與範本內重建樣本計算失真代價,並根據代價最小原則記錄由TIMD技術匯出的最優預測模式、次優預測模式、最優預測模式的失真代價值以及次優預測模式失真代價值。
最後,解碼器根據得到的最優MIP模式和轉置訊息,對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。解碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的輸出作為當前塊的最優MIP預測塊。
對於由TIMD技術匯出的最優預測模式和次優預測模式,若最優預測模式與次優預測模式都不是均值(DC)模式或者平坦(PLANAR)模式,且次優預測模式的失真代價小於兩倍的最優預測模式失真代價,則解碼器需要進行預測塊融合操作。首先,解碼器根據最優預測模式獲取插值濾波係數,對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為最優預測塊;其次解碼器根據次優預測模式獲取插值濾波係數,對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為次優預測塊。接著,解碼器利用最優預測模式代價值與次優預測模式代價值之間的比例計算得到屬於最優預測塊的權重值與次優預測塊的權重值。最後,解碼器將最優預測塊與次優預測塊進行加權融合得到當前塊的預測塊作為輸出。若最優預測模式或次優預測模式為均值模式(DC)或平坦模式(PLANAR),或者次優預測模式的代價值大於兩倍的最優預測模式代價值,則解碼器不需要進行預測塊融合操作,僅用最優預測模式對上側和左側相鄰重建樣本進行插值濾波得到的最優預測塊作為當前塊的最優TIMD預測塊。
最後,解碼器基於計算得到的最優MIP模式的權重值和由TIMD技術匯出的預測模式的權重值,將最優MIP預測塊與最優TIMD預測塊進行加權平均,得到新的預測塊即為當前塊的預測塊。
另外,解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
步驟3:
解碼器繼續解析其他幀內預測技術的使用標識位元或索引等資訊,並根據解析到的資訊求得當前塊的最終預測塊。
步驟4:
解碼器解析碼流並獲取當前塊的頻域殘差塊(也稱為頻域殘差資訊),並對當前塊的頻域殘差塊進行反量化及反變換(先基於第一幀內預測模式進行二次變換的反變換然後進行基礎變換或主變換的反變換的反變換)得到當前塊的殘差塊(也稱為時域殘差塊或時域殘差訊息);然後解碼器將當前塊的預測塊與當前塊的殘差塊疊加得到重建樣本塊。
步驟5:
若當前圖像中所有重建樣本塊經由環路濾波等技術後,得到最終的重建圖像。
可選的,重建圖像可以作為視訊輸出,也可以作為後面解碼參考。
本實施例中,TIMD預測塊加權融合的權重值計算過程可參見上文中對TIMD技術介紹所描述的內容,為避免重複,此處不再贅述。此外,編碼器或解碼器可以基於由TIMD匯出的最優預測模式確定是否融合增強;例如,若由TIMD匯出的最優預測模式為DC模式或PLANAR模式,則編碼器或解碼器可以不使用融合增強,即僅由TMMIP技術匯出的最優MIP模式所產生的預測塊作為當前塊的預測塊。另外,編碼器或解碼器在TMMIP技術中用到的第二範本區域的大小可以根據當前塊的尺寸大小預先定義。例如,TMMIP技術中關於第二範本區域的定義可以與TIMD技術中關於範本區域的定義一致,也可以不同。例如,若當前塊的寬小於等於8,則所述第二範本區域中與當前塊相鄰的上側區域的高度為兩行樣本高度,否則高度為四行樣本高度;同理,若當前塊高小於等於8,則所述第二範本區域中與當前塊的左側相鄰的左側區域的寬度為兩列樣本高度,否則寬度為四列樣本高度。
實施例3:
本實施例中,上文涉及的第二幀內預測模式為DIMD模式匯出的幀內預測模式,即編碼器或解碼器可基於最優MIP模式和對與所述當前塊相鄰的第一範本區域內的重建樣本使用DIMD模式匯出的幀內預測模式對當前塊進行幀內預測,以得到當前塊的預測塊。
與實施例2類似,TMMIP技術也可以和DIMD技術進行融合增強。
需要注意的是,雖然DIMD技術與TIMD技術在匯出的預測模式均為傳統幀內預測模式,但由於匯出方法不同,兩者得到的預測模式並不一定相同。此外,TMMIP技術和DIMD技術融合增強的做法會與TMMIP技術和TIMD技術融合增強有所不同,例如,由於TMMIP技術和TIMD技術的第二範本區域大小一般相同,而且計算代價資訊也基本為絕對變換差的和(Sum of Absolute Transformed Difference,SATD),其也稱為基於哈達瑪變換的失真代價值,因此,TMMIP技術和TIMD技術可以直接根據該代價資訊計算融合權重,但是,DIMD技術的第二範本區域一般與TMMIP技術(或DIMD技術)的第二範本區域不一樣大,且DIMD匯出預測模式的準則是根據梯度幅度值來衡量的,梯度幅度值與SATD代價值不能直接等價,因此權重不能簡單參考對TMMIP技術和TIMD技術進行融合時的方案來計算。
編碼器遍歷預測模式,若當前塊為幀內模式,則編碼器獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前編碼器允許使用TMMIP技術。
示例性地,編碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則編碼器嘗試TMMIP技術,即執行步驟2;若sps_tmmip_enable_flag為假,則編碼器不嘗試TMMIP技術,即跳過步驟2直接執行步驟3。
步驟2:
首先,編碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,編碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,編碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,編碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:編碼器先對重建樣本進行哈爾下採樣,例如編碼器根據塊尺寸決定下採樣步長。接著,編碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,編碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,編碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
此外,編碼器利用DIMD技術匯出最優幀內預測模式即為最優DIMD模式。DIMD技術根據索貝爾運算元計算第一範本區域內的重建樣本的梯度值,根據不同預測模式的角度值對梯度值進行換算得到對應預測模式下的幅度值。
接著,編碼器遍歷每個MIP模式得到的範本預測塊,與範本內重建樣本計算失真代價,根據代價最小原則記錄最優MIP模式、轉置訊息。此外,編碼器遍歷所有允許使用的幀內預測模式,計算得到各幀內預測模式下的幅度值,根據幅度最大原則記錄最優DIMD預測模式。
最後,編碼器根據得到的最優MIP模式和轉置訊息,對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。編碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的輸出作為當前塊的最優MIP預測塊。此外,對於最優DIMD預測模式,編碼器獲取對應的插值濾波係數,並對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為最優DIMD預測塊。編碼器將最優MIP預測塊與最優DIMD預測塊根據預先設定好的權重對每個預測樣本進行加權平均,得到新的預測塊即為當前塊的預測塊。
此外,編碼器得到當前塊的率失真代價,將其記為cost1。
另外,編碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或編碼器確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
步驟3:
編碼器繼續遍歷其他幀內預測技術並計算對應的率失真代價記為cost2…costN。
步驟4:
若cost1為所有率失真代價中最小,則當前塊採用TMMIP技術,編碼器將當前塊的TMMIP使用標誌位置真並寫進碼流;若cost1不為最小率失真代價,則當前塊採用其他幀內預測技術,編碼器將當前塊的TMMIP使用標誌位置假並寫進碼流。應當理解,其他幀內預測技術的標識位元或索引等資訊根據定義傳輸,此處不詳細闡述;
步驟5:
編碼器基於當前塊的預測塊和當前塊的原始塊確定當前塊的殘差塊,然後對當前塊的殘差塊進行基礎變換並基於所述第一幀內預測模式對基礎變換後的變換係數進行二次變換,接著對二次變換後的變換係數進行量化,熵編碼以及環路濾波等操作。應當理解,其量化具體過程可參見上文相關內容,為避免重複,此處不再贅述。
下面對本實施例中解碼器的相關方案進行說明。
解碼器解析塊級類型標誌位元,若為幀內模式,則解析或獲取序列級允許使用標誌位元,用於表示是否允許當前序列使用基於範本匹配的MIP模式匯出技術,其可以如sps_tmmip_enable_flag的形式。若tmmip的允許使用標誌位元均為真,則表示當前解碼器允許使用TMMIP技術。
示例性地,解碼器的流程可實現為以下過程:
步驟1:
若sps_tmmip_enable_flag為真,則解碼器解析當前塊的TMMIP使用標誌位元,否則,當前解碼過程不需要解碼塊級的TMMIP使用標誌位元,塊級的TMMIP使用標誌位元預設為否。若當前塊的TMMIP使用標誌位元為真,則執行步驟2;否則,執行步驟3。
步驟2:
首先,解碼器對第二範本區域外部相鄰的行和列進行重建樣本填充。填充過程與原始幀內預測過程所填充的方法相同,例如,解碼器可以自左下角往右上角進行遍歷填充,若所有重建樣本均可以用,則依次全部填充可用重建樣本;若所有重建樣本均不可用,則全部填充均值;若部分重建樣本可用,則先填充可用重建樣本,對於其餘不可用重建樣本,解碼器可以根據上述自左下角往右上角的順序進行遍歷,直至出現第一個可用重建樣本後,用第一個可用重建樣本對先前不可用位置進行填充。
其次,解碼器以填充完畢的第二範本區域外側重建樣本作為輸入,利用可允許使用的MIP模式對第二範本區域內的樣本進行預測。
示例性地,對於4x4大小的塊,可允許使用的MIP模式為16個。對於寬或高為4,或8x8大小的塊,可允許使用的MIP模式為8個。其他尺寸的塊可允許使用的MIP模式為6個。此外,任意尺寸的塊都可以使用MIP轉置功能,上述TMMIP的預測模式與MIP技術相同。
示例性地,具體預測計算過程包括:解碼器先對重建樣本進行哈爾下採樣,例如解碼器根據塊尺寸決定下採樣步長。接著,解碼器根據轉置與否的資訊調整上側下採樣後的重建樣本與左側下採樣後的重建樣本拼接順序;若不需要轉置則將左側下採樣後的重建樣本拼接在上側下採樣後的重建樣本之後,將得到的向量作為輸入,若需要轉置則將上側下採樣後的重建樣本拼接在左側下採樣後的重建樣本之後,將得到的向量作為輸入。然後,解碼器根據遍歷的預測模式作為索引獲取MIP矩陣係數,與輸入計算得到輸出向量。最後,解碼器根據輸出向量個數與當前範本尺寸情況,對輸出向量進行上採樣,若不需要上採樣則向量以水準方向依次填充作為範本預測塊輸出,若需要上採樣則先上採樣水準方向再下採樣垂直方向,上採樣至與範本尺寸相同後作為第二範本區域的預測塊進行輸出。
此外,解碼器利用DIMD技術匯出最優幀內預測模式即為最優DIMD模式。DIMD技術根據索貝爾運算元計算第一範本區域內的重建樣本的梯度值,根據不同預測模式的角度值對梯度值進行換算得到對應預測模式下的幅度值。
接著,解碼器遍歷每個MIP模式得到的範本預測塊,與範本內重建樣本計算失真代價,根據代價最小原則記錄最優MIP模式、轉置訊息。此外,解碼器遍歷所有允許使用的幀內預測模式,計算得到各幀內預測模式下的幅度值,根據幅度最大原則記錄最優DIMD預測模式。
最後,解碼器根據得到的最優MIP模式和轉置訊息,對當前塊上側和左側相鄰的重建樣本視情況下採樣並根據轉置訊息進行拼接作為輸入向量,並根據MIP模式作為索引讀取當前模式下的矩陣係數,然後,通過輸入向量與矩陣係數的計算得到輸出向量。解碼器可根據轉置訊息進行輸出轉置,並根據當前塊的尺寸和輸出向量的樣本數對輸出向量進行上採樣,得到與當前塊相同尺寸的輸出作為當前塊的最優MIP預測塊。此外,對於最優DIMD預測模式,解碼器獲取對應的插值濾波係數,並對上側和左側相鄰重建樣本進行插值濾波得到當前塊內所有位置的預測樣本,記為最優DIMD預測塊。解碼器將最優MIP預測塊與最優DIMD預測塊根據預先設定好的權重對每個預測樣本進行加權平均,得到新的預測塊即為當前塊的預測塊。
另外,解碼器確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或解碼器確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
步驟3:
解碼器繼續解析其他幀內預測技術的使用標識位元或索引等資訊,並根據解析到的資訊求得當前塊的最終預測塊。
步驟4:
解碼器解析碼流並獲取當前塊的頻域殘差塊(也稱為頻域殘差資訊),並對當前塊的頻域殘差塊進行反量化及反變換(先基於第一幀內預測模式進行二次變換的反變換然後進行基礎變換或主變換的反變換的反變換)得到當前塊的殘差塊(也稱為時域殘差塊或時域殘差訊息);然後解碼器將當前塊的預測塊與當前塊的殘差塊疊加得到重建樣本塊。
步驟5:
若當前圖像中所有重建樣本塊經由環路濾波等技術後,得到最終的重建圖像。
可選的,重建圖像可以作為視訊輸出,也可以作為後面解碼參考。
本實施例中,最優DIMD預測塊的計算過程可參見上文中對DIMD技術介紹所描述的內容,為避免重複,此處不再贅述。此外,最優MIP預測塊與最優DIMD預測塊的融合權重可以是預先設定值,如最優MIP預測塊占比5/9,而最優DIMD預測塊占比4/9。當然,在其他可替代實施例中,最優MIP預測塊與最優DIMD預測塊的融合權重也可以是其他數值,本申請對此不作具體限定。此外,上述第二範本區域和上述第一範本區域可以相同,也可以不同,本申請對此不作具體限定。
以上結合附圖詳細描述了本申請的優選實施方式,但是,本申請並不限於上述實施方式中的具體細節,在本申請的技術構思範圍內,可以對本申請的技術方案進行多種簡單變型,這些簡單變型均屬於本申請的保護範圍。例如,在上述具體實施方式中所描述的各個具體技術特徵,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重複,本申請對各種可能的組合方式不再另行說明。又例如,本申請的各種不同的實施方式之間也可以進行任意組合,只要其不違背本申請的思想,其同樣應當視為本申請所公開的內容。還應理解,在本申請的各種方法實施例中,上述各過程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定,而不應對本申請實施例的實施過程構成任何限定。
上文詳細描述了本申請的方法實施例,下文結合圖11至圖13,詳細描述本申請的裝置實施例。
圖11是本申請實施例的解碼器500的示意性框圖。
如圖11所示,所述解碼器500可包括:
解析單元510,用於解析當前序列的碼流獲取當前塊的第一變換係數;
變換單元520,用於:
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數;
對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊;
重建單元530,用於基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
在一些實施例中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
在一些實施例中,所述變換單元520具體用於:
基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
在一些實施例中,所述變換單元520具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,所述變換單元520具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
在一些實施例中,所述變換單元520具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,所述重建單元530還用於:
確定第二幀內預測模式;
其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式;
基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊。
在一些實施例中,所述重建單元530具體用於:
基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊;
基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊;
基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
在一些實施例中,所述重建單元530基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊之前,還用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重;
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
在一些實施例中,所述變換單元520具體用於:
解析所述當前序列的碼流獲取第一標識;
若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則確定所述第二幀內預測模式。
在一些實施例中,所述變換單元520具體用於:
若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則解析所述碼流獲取第二標識;
若所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,則確定所述第二幀內預測模式。
在一些實施例中,所述重建單元530還用於:
基於多個MIP模式的失真代價,確定所述最優MIP模式;
其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
在一些實施例中,所述第二範本區域和所述第一範本區域相同或不同。
在一些實施例中,所述重建單元530具體用於:
基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量;
基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
在一些實施例中,所述重建單元530基於多個MIP模式的失真代價,確定所述最優MIP模式之前,還用於:
獲取與所述當前塊相鄰的相鄰塊使用的MIP模式;
將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
在一些實施例中,所述重建單元530基於多個MIP模式的失真代價,確定所述最優MIP模式之前,還用於:
對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列;
以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊;
基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
在一些實施例中,所述重建單元530具體用於:
對所述參考行和所述參考列進行下採樣,得到輸入向量;
以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量;
對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
在一些實施例中,所述重建單元530具體用於:
基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
圖12是本申請實施例的編碼器600的示意性框圖。
如圖12所示,所述編碼器600可包括:
殘差單元610,用於獲取當前序列中當前塊的殘差塊;
變換單元620,用於:
對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數;
確定第一幀內預測模式;
其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式;
基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數;
編碼單元630,用於對所述第四變換係數進行編碼。
在一些實施例中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
在一些實施例中,所述變換單元620具體用於:
基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
在一些實施例中,所述變換單元620具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,所述變換單元620具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
在一些實施例中,所述變換單元620具體用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
在一些實施例中,所述殘差單元610具體用於:
確定第二幀內預測模式;
其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式;
基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊;
基於所述當前塊的預測塊,得到所述當前塊的殘差塊。
在一些實施例中,所述殘差單元610具體用於:
基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊;
基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊;
基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
在一些實施例中,所述殘差單元610基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊之前,還用於:
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重;
若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
在一些實施例中,所述殘差單元610具體用於:
獲取第一標識;
若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則確定所述第二幀內預測模式;
其中,所述編碼單元630具體用於:
對所述第四變換係數和所述第一標識進行編碼。
在一些實施例中,所述殘差單元610具體用於:
若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到第一率失真代價;
基於至少一個幀內預測模式對所述當前塊進行預測,得到至少一個率失真代價;
若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則將基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測得到的預測塊,確定為所述當前塊的預測塊;
其中,所述編碼單元630具體用於:
對所述第四變換係數、所述第一標識和第二標識進行編碼;
其中,若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測;若所述第一率失真代價大於所述至少一個率失真代價中的最小值,則所述第二標識用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測。
在一些實施例中,所述殘差單元610還用於:
基於多個MIP模式的失真代價,確定所述最優MIP模式;
其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
在一些實施例中,所述第二範本區域和所述第一範本區域相同或不同。
在一些實施例中,所述殘差單元610具體用於:
基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量;
基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
在一些實施例中,所述殘差單元610基於多個MIP模式的失真代價,確定所述最優MIP模式之前,還用於:
獲取與所述當前塊相鄰的相鄰塊使用的MIP模式;
將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
在一些實施例中,所述殘差單元610基於多個MIP模式的失真代價,確定所述最優MIP模式之前,還用於:
對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列;
以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊;
基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
在一些實施例中,所述殘差單元610具體用於:
對所述參考行和所述參考列進行下採樣,得到輸入向量;
以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量;
對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
在一些實施例中,所述殘差單元610具體用於:
基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
應理解,裝置實施例與方法實施例可以相互對應,類似的描述可以參照方法實施例。為避免重複,此處不再贅述。具體地,圖11所示的解碼器500可以對應於執行本申請實施例的方法300中的相應主體,並且解碼器500中的各個單元的前述和其它操作和/或功能分別為了實現方法300等各個方法中的相應流程。類似的,圖12所示的編碼器600可以對應於執行本申請實施例的方法400中的相應主體,即編碼器600中的各個單元的前述和其它操作和/或功能分別為了實現方法400等各個方法中的相應流程。
還應當理解,本申請實施例涉及的解碼器500或編碼器600中的各個單元可以分別或全部合併為一個或若干個另外的單元來構成,或者其中的某個(些)單元還可以再拆分為功能上更小的多個單元來構成,這可以實現同樣的操作,而不影響本申請的實施例的技術效果的實現。上述單元是基於邏輯功能劃分的,在實際應用中,一個單元的功能也可以由多個單元來實現,或者多個單元的功能由一個單元實現。在本申請的其它實施例中,該解碼器500或編碼器600也可以包括其它單元,在實際應用中,這些功能也可以由其它單元協助實現,並且可以由多個單元協作實現。根據本申請的另一個實施例,可以通過在包括例如中央處理單元(CPU)、隨機存取儲存媒介(RAM)、唯讀儲存媒介(ROM)等處理元件和記憶元件的通用電腦的通用計算設備上運行能夠執行相應方法所涉及的各步驟的電腦程式(包括程式碼),來構造本申請實施例涉及的解碼器500或編碼器600,以及來實現本申請實施例的編碼方法或解碼方法。電腦程式可以記載於例如電腦可讀儲存媒介上,並通過電腦可讀儲存媒介裝載於電子設備中,並在其中運行,來實現本申請實施例的相應方法。
換言之,上文涉及的單元可以通過硬體形式實現,也可以通過軟體形式的指令實現,還可以通過軟硬體結合的形式實現。具體地,本申請實施例中的方法實施例的各步驟可以通過處理器中的硬體的集成邏輯電路和/或軟體形式的指令完成,結合本申請實施例公開的方法的步驟可以直接體現為硬體解碼處理器執行完成,或者用解碼處理器中的硬體及軟體組合執行完成。可選地,軟體可以位於隨機記憶體,快閃記憶體、唯讀記憶體、可程式設計唯讀記憶體、電可讀寫可程式設計記憶體、寄存器等本領域的成熟的儲存媒介中。該儲存媒介位於記憶體,處理器讀取記憶體中的資訊,結合其硬體完成上述方法實施例中的步驟。
圖13是本申請實施例提供的電子設備700的示意結構圖。
如圖13所示,該電子設備700至少包括處理器710以及電腦可讀儲存媒介720。其中,處理器710以及電腦可讀儲存媒介720可通過匯流排或者其它方式連接。電腦可讀儲存媒介720用於儲存電腦程式721,電腦程式721包括電腦指令,處理器710用於執行電腦可讀儲存媒介720儲存的電腦指令。處理器710是電子設備700的計算核心以及控制核心,其適於實現一條或多條電腦指令,具體適於載入並執行一條或多條電腦指令從而實現相應方法流程或相應功能。
作為示例,處理器710也可稱為中央處理器(Central Processing Unit,CPU)。處理器710可以包括但不限於:通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式設計閘陣列(Field Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等等。
作為示例,電腦可讀儲存媒介720可以是高速RAM記憶體,也可以是非不穩定的記憶體(Non-VolatileMemory),例如至少一個磁碟記憶體;可選的,還可以是至少一個位於遠離前述處理器710的電腦可讀儲存媒介。具體而言,電腦可讀儲存媒介720包括但不限於:易失性記憶體和/或非易失性記憶體。其中,非易失性記憶體可以是唯讀記憶體(Read-Only Memory,ROM)、可程式設計唯讀記憶體(Programmable ROM,PROM)、可擦除可程式設計唯讀記憶體(Erasable PROM,EPROM)、電可擦除可程式設計唯讀記憶體(Electrically EPROM,EEPROM)或快閃記憶體。易失性記憶體可以是隨機存取記憶體(Random Access Memory,RAM),其用作外部快取記憶體。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態隨機存取記憶體(Static RAM,SRAM)、動態隨機存取記憶體(Dynamic RAM,DRAM)、同步動態隨機存取記憶體(Synchronous DRAM,SDRAM)、雙倍數據速率同步動態隨機存取記憶體(Double Data Rate SDRAM,DDR SDRAM)、增強型同步動態隨機存取記憶體(Enhanced SDRAM,ESDRAM)、同步連接動態隨機存取記憶體(synch link DRAM,SLDRAM)和直接記憶體匯流排隨機存取記憶體(Direct Rambus RAM,DR RAM)。
在一種實現方式中,該電子設備700可以是本申請實施例涉及的編碼器或編碼框架;該電腦可讀儲存媒介720中儲存有第一電腦指令;由處理器710載入並執行電腦可讀儲存媒介720中存放的第一電腦指令,以實現本申請實施例提供的編碼方法中的相應步驟;換言之,電腦可讀儲存媒介720中的第一電腦指令由處理器710載入並執行相應步驟,為避免重複,此處不再贅述。
在一種實現方式中,該電子設備700可以是本申請實施例涉及的解碼器或解碼框架;該電腦可讀儲存媒介720中儲存有第二電腦指令;由處理器710載入並執行電腦可讀儲存媒介720中存放的第二電腦指令,以實現本申請實施例提供的解碼方法中的相應步驟;換言之,電腦可讀儲存媒介720中的第二電腦指令由處理器710載入並執行相應步驟,為避免重複,此處不再贅述。
根據本申請的另一方面,本申請實施例還提供了一種編解碼系統,包括上文涉及的編碼器和解碼器。
根據本申請的另一方面,本申請實施例還提供了一種電腦可讀儲存媒介(Memory),電腦可讀儲存媒介是電子設備700中的記憶設備,用於存放程式和資料。例如,電腦可讀儲存媒介720。可以理解的是,此處的電腦可讀儲存媒介720既可以包括電子設備700中的內置儲存媒介,當然也可以包括電子設備700所支援的擴展儲存媒介。電腦可讀儲存媒介提供儲存空間,該儲存空間儲存了電子設備700的作業系統。並且,在該儲存空間中還存放了適於被處理器710載入並執行的一條或多條的電腦指令,這些電腦指令可以是一個或多個的電腦程式721(包括程式碼)。
根據本申請的另一方面,提供了一種電腦程式產品或電腦程式,該電腦程式產品或電腦程式包括電腦指令,該電腦指令儲存在電腦可讀儲存媒介中。例如,電腦程式721。此時,資料處理設備700可以是電腦,處理器710從電腦可讀儲存媒介720讀取該電腦指令,處理器710執行該電腦指令,使得該電腦執行上述各種可選方式中提供的編碼方法或解碼方法。
換言之,當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。該電腦程式產品包括一個或多個電腦指令。在電腦上載入和執行該電腦程式指令時,全部或部分地運行本申請實施例的流程或實現本申請實施例的功能。該電腦可以是通用電腦、專用電腦、電腦網路、或者其他可程式設計裝置。該電腦指令可以儲存在電腦可讀儲存媒介中,或者從一個電腦可讀儲存媒介向另一個電腦可讀儲存媒介進行傳輸,例如,該電腦指令可以從一個網站、電腦、伺服器或資料中心通過有線(例如同軸電纜、光纖、數位用戶線路(digital subscriber line,DSL))或無線(例如紅外、無線、微波等)方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元以及流程步驟,能夠以電子硬體、或者電腦軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
最後需要說明的是,以上內容,僅為本申請的具體實施方式,但本申請的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本申請揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本申請的保護範圍之內。因此,本申請的保護範圍應以申請專利範圍的保護範圍為准。
100:編碼框架
110:殘差單元
120:變換與量化單元
130:熵編碼單元
140:反變換與反量化單元
150:環路濾波單元
160:解碼圖像緩衝單元
170:幀間預測單元
180:幀內預測單元
200:解碼框架
210:熵解碼單元
220:反變換反量化單元
230:殘差單元
240:幀內預測單元
250:幀間預測單元
260:環路濾波單元
270:解碼圖像緩存單元
300:解碼方法
400:編碼方法
500:解碼器
510:解析單元
520:變換單元
530:重建單元
600:編碼器
610:殘差單元
620:變換單元
630:編碼單元
700:電子設備
710:處理器
720:電腦可讀儲存媒介
721:電腦程式
S310~S350:步驟
S410~S450:步驟
圖1是本申請實施例提供的編碼框架的示意性框圖。
圖2是本申請實施例提供的MIP模式的示意圖。
圖3是本申請實施例提供的基於DIMD匯出預測模式的示意圖。
圖4是本申請實施例提供的基於DIMD匯出預測塊的示意圖。
圖5是本申請實施例提供的TIMD使用的範本的示意圖。
圖6是本申請實施例提供的LFNST的示例。
圖7是本申請實施例提供的LFNST的變換集的示例。
圖8是本申請實施例提供的解碼框架的示意性框圖。
圖9是本申請實施例提供的解碼方法的示意性流程圖。
圖10是本申請實施例提供的編碼方法的示意性流程圖。
圖11是本申請實施例提供的解碼器的示意性框圖。
圖12是本申請實施例提供的編碼器的示意性框圖。
圖13是本申請實施例提供的電子設備的示意性框圖。
300:解碼方法
S310~S350:步驟
Claims (42)
- 一種解碼方法,其中,包括: 解析當前序列的碼流獲取當前塊的第一變換係數; 確定第一幀內預測模式; 其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式; 基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數; 對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊; 基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
- 根據請求項1所述的方法,其中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
- 根據請求項1或2所述的方法,其中,所述確定第一幀內預測模式,包括: 基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
- 根據請求項3所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
- 根據請求項3所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
- 根據請求項3所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
- 根據請求項1所述的方法,其中,所述方法還包括: 確定第二幀內預測模式; 其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式; 基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊。
- 根據請求項7所述的方法,其中,所述基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊,包括: 基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊; 基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊; 基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
- 根據請求項8所述的方法,其中,所述基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊之前,所述方法還包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重; 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
- 根據請求項7至9中任一項所述的方法,其中,所述確定第二幀內預測模式,包括: 解析所述當前序列的碼流獲取第一標識; 若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則確定所述第二幀內預測模式。
- 根據請求項10所述的方法,其中,所述確定第二幀內預測模式,包括: 若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則解析所述碼流獲取第二標識; 若所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,則確定所述第二幀內預測模式。
- 根據請求項1所述的方法,其中,所述方法還包括: 基於多個MIP模式的失真代價,確定所述最優MIP模式; 其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
- 根據請求項12所述的方法,其中,所述第二範本區域和所述第一範本區域相同或不同。
- 根據請求項12或13所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式,包括: 基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量; 基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
- 根據請求項12所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式之前,所述方法還包括: 獲取與所述當前塊相鄰的相鄰塊使用的MIP模式; 將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
- 根據請求項12所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式之前,所述方法還包括: 對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列; 以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊; 基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
- 根據請求項16所述的方法,其中,所述以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊,包括: 對所述參考行和所述參考列進行下採樣,得到輸入向量; 以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量; 對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
- 根據請求項12所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式,包括: 基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
- 一種編碼方法,其中,所述方法適用於編碼器,所述方法包括: 獲取當前序列中當前塊的殘差塊; 對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數; 確定第一幀內預測模式; 其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式; 基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數; 對所述第四變換係數進行編碼。
- 根據請求項19所述的方法,其中,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣前的向量;或,所述最優MIP模式的輸出向量為所述最優MIP模式輸出的上採樣後的向量。
- 根據請求項19或20所述的方法,其中,所述確定第一幀內預測模式,包括: 基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式。
- 根據請求項21所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述最優MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式。
- 根據請求項21所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和由所述TIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為由所述TIMD模式匯出的幀內預測模式。
- 根據請求項21所述的方法,其中,所述基於用於對所述當前塊進行預測的預測模式,確定所述第一幀內預測模式,包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述第一幀內預測模式為對所述當前塊的預測塊使用所述DIMD模式匯出的幀內預測模式,或確定所述第一幀內預測模式為對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式。
- 根據請求項19所述的方法,其中,所述獲取當前序列中當前塊的殘差塊,包括: 確定第二幀內預測模式; 其中,所述第二幀內預測模式包括以下中的任一項:用於預測所述當前塊的次優MIP模式、對所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由所述TIMD模式匯出的幀內預測模式; 基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊; 基於所述當前塊的預測塊,得到所述當前塊的殘差塊。
- 根據請求項25所述的方法,其中,所述基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊,包括: 基於所述最優MIP模式對所述當前塊進行預測,得到第一預測塊; 基於所述第二幀內預測模式對所述當前塊進行預測,得到第二預測塊; 基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊。
- 根據請求項26所述的方法,其中,所述基於所述最優MIP模式的權重和所述第二幀內預測模式的權重,對所述第一預測塊和所述第二預測塊進行加權處理,得到所述當前塊的預測塊之前,所述方法還包括: 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和用於預測所述當前塊的次優MIP模式或由所述TIMD模式匯出的幀內預測模式,則基於所述最優MIP模式的失真代價和所述第二幀內預測模式的失真代價,確定所述最優MIP模式的權重和所述第二幀內預測模式的權重; 若用於對所述當前塊進行預測的預測模式包括所述最優MIP模式和對與所述第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式,則確定所述最優MIP模式的權重和所述第二幀內預測模式的權重均為預設值。
- 根據請求項25至27中任一項所述的方法,其中,所述確定第二幀內預測模式,包括: 獲取第一標識; 若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則確定所述第二幀內預測模式; 其中,所述對所述第四變換係數進行編碼,包括: 對所述第四變換係數和所述第一標識進行編碼。
- 根據請求項28所述的方法,其中,所述基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到所述當前塊的預測塊,包括: 若所述第一標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前序列中的圖像塊進行預測,則基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測,得到第一率失真代價; 基於至少一個幀內預測模式對所述當前塊進行預測,得到至少一個率失真代價; 若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則將基於所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測得到的預測塊,確定為所述當前塊的預測塊; 其中,所述對所述第四變換係數和所述第一標識進行編碼,包括: 對所述第四變換係數、所述第一標識和第二標識進行編碼; 其中,若所述第一率失真代價小於或等於所述至少一個率失真代價中的最小值,則所述第二標識用於標識允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測;若所述第一率失真代價大於所述至少一個率失真代價中的最小值,則所述第二標識用於標識不允許使用所述最優MIP模式和所述第二幀內預測模式對所述當前塊進行預測。
- 根據請求項19所述的方法,其中,所述方法還包括: 基於多個MIP模式的失真代價,確定所述最優MIP模式; 其中,所述多個MIP模式的失真代價包括利用所述多個MIP模式對與所述當前塊相鄰的第二範本區域內的樣本進行預測得到的失真代價。
- 根據請求項30所述的方法,其中,所述第二範本區域和所述第一範本區域相同或不同。
- 根據請求項30或31所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式,包括: 基於第三標識和所述多個MIP模式對所述第二範本區域內的樣本進行預測,得到所述第三標識的每一個狀態下所述多個MIP模式的失真代價;所述第三標識的用於標識是否轉置MIP模式的輸入向量和輸出向量; 基於所述第三標識的每一個狀態下所述多個MIP模式的失真代價,確定所述最優MIP模式。
- 根據請求項30所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式之前,所述方法還包括: 獲取與所述當前塊相鄰的相鄰塊使用的MIP模式; 將所述相鄰塊使用的MIP模式,確定為所述多個MIP模式。
- 根據請求項30所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式之前,所述方法還包括: 對所述第二範本區域外部相鄰的參考區域進行重建樣本填充,得到所述第二範本區域的參考行和參考列; 以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊; 基於所述多個預測塊和所述第二範本區域內的重建塊,確定所述多個MIP模式的失真代價。
- 根據請求項34所述的方法,其中,所述以所述參考行和所述參考列為輸入,利用所述多個MIP模式分別對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式對應的多個預測塊,包括: 對所述參考行和所述參考列進行下採樣,得到輸入向量; 以所述輸入向量為輸入,通過遍歷所述多個MIP模式的方式對所述第二範本區域內的樣本進行預測,得到所述多個MIP模式的輸出向量; 對所述多個MIP模式的輸出向量進行上採樣,得到所述多個MIP模式對應的預測塊。
- 根據請求項30所述的方法,其中,所述基於多個MIP模式的失真代價,確定所述最優MIP模式,包括: 基於所述多個MIP模式在所述第二範本區域上的絕對變換差的和SATD,確定所述最優MIP模式。
- 一種解碼器,其中,包括: 解析單元,用於解析當前序列的碼流獲取當前塊的第一變換係數; 變換單元,用於: 確定第一幀內預測模式; 其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式; 基於所述第一幀內預測模式所對應的變換集,對所述第一變換係數進行第一變換,得到所述當前塊的第二變換係數; 對所述第二變換係數進行第二變換,得到所述當前塊的殘差塊; 重建單元,用於基於所述當前塊的預測塊和所述當前塊的殘差塊,確定所述當前塊的重建塊。
- 一種編碼器,其中,包括: 殘差單元,用於獲取當前序列中當前塊的殘差塊; 變換單元,用於: 對所述當前塊的殘差塊進行第三變換,得到所述當前塊的第三變換係數; 確定第一幀內預測模式; 其中,所述第一幀內預測模式包括以下中的任一項:對所述當前塊的預測塊使用由解碼器側幀內模式匯出DIMD模式匯出的幀內預測模式、對用於預測所述當前塊的最優基於矩陣的幀內預測MIP模式的輸出向量使用所述DIMD模式匯出的幀內預測模式、對與所述當前塊相鄰的第一範本區域內的重建樣本使用所述DIMD模式匯出的幀內預測模式、由基於範本的幀內模式匯出TIMD模式匯出的幀內預測模式; 基於所述第一幀內預測模式所對應的變換集,對所述第三變換係數進行第四變換,得到所述當前塊的第四變換係數; 編碼單元,用於對所述第四變換係數進行編碼。
- 一種電子設備,其中,包括: 處理器,適於執行電腦程式; 電腦可讀儲存媒介,所述電腦可讀儲存媒介中儲存有電腦程式,所述電腦程式被所述處理器執行時,實現如請求項1至18中任一項所述的方法或如請求項19至36中任一項所述的方法。
- 一種電腦可讀儲存媒介,其中,用於儲存電腦程式,所述電腦程式使得電腦執行如請求項1至18中任一項所述的方法或如請求項19至36中任一項所述的方法。
- 一種電腦程式產品,包括電腦程式/指令,其中,所述電腦程式/指令被處理器執行時實現如請求項1至18中任一項所述的方法或如請求項19至36中任一項所述的方法。
- 一種碼流,其中,所述碼流如請求項1至18中任一項所述的方法中的碼流或如請求項19至36中任一項所述的方法生成的碼流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2022/103654 | 2022-07-04 | ||
PCT/CN2022/103654 WO2024007116A1 (zh) | 2022-07-04 | 2022-07-04 | 解码方法、编码方法、解码器以及编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202404370A true TW202404370A (zh) | 2024-01-16 |
Family
ID=89454704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112123269A TW202404370A (zh) | 2022-07-04 | 2023-06-20 | 解碼方法、編碼方法、解碼器、編碼器、電子設備、電腦可讀儲存媒介、電腦程式產品以及碼流 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202404370A (zh) |
WO (1) | WO2024007116A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017192995A1 (en) * | 2016-05-06 | 2017-11-09 | Vid Scale, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
WO2018054269A1 (en) * | 2016-09-22 | 2018-03-29 | Mediatek Inc. | Method and apparatus for video coding using decoder side intra prediction derivation |
EP3922034B1 (en) * | 2019-04-17 | 2024-02-07 | Huawei Technologies Co., Ltd. | Harmonizing matrix-based intra prediction and secondary transform core selection |
US11134275B2 (en) * | 2019-06-04 | 2021-09-28 | Tencent America LLC | Method and apparatus for performing primary transform based on filtering of blocks |
EP4268453A1 (en) * | 2020-12-22 | 2023-11-01 | Qualcomm Incorporated | Decoder side intra mode derivation for most probable mode list construction in video coding |
-
2022
- 2022-07-04 WO PCT/CN2022/103654 patent/WO2024007116A1/zh unknown
-
2023
- 2023-06-20 TW TW112123269A patent/TW202404370A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024007116A1 (zh) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7514359B2 (ja) | ビデオ・データ処理方法、装置、記憶媒体及び記憶方法 | |
JP7277616B2 (ja) | ビデオ・データを処理する方法、装置及び記憶媒体 | |
JP2022543102A (ja) | ビデオ・コーディングにおける縮小二次変換のための行列の選択 | |
JP7150861B2 (ja) | ビデオコーディングのための空間変動変換 | |
WO2022116085A1 (zh) | 编码方法、解码方法、编码器、解码器以及电子设备 | |
CN117596413A (zh) | 视频处理方法及装置 | |
JP2024522853A (ja) | 複合インター及びイントラ予測を行うための方法及びシステム | |
CN114830663A (zh) | 变换方法、编码器、解码器以及存储介质 | |
CN116601957A (zh) | 一种帧内预测方法、装置及解码器和编码器 | |
WO2022155923A1 (zh) | 编码方法、解码方法、编码器、解码器以及电子设备 | |
CN110868590B (zh) | 图像划分方法及装置 | |
AU2019357929A1 (en) | Video image component prediction method and apparatus, and computer storage medium | |
CN118044184A (zh) | 用于执行组合帧间预测和帧内预测的方法和系统 | |
WO2024007116A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023193253A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023193254A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023197179A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023197181A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023197180A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023070505A1 (zh) | 帧内预测方法、解码器、编码器及编解码系统 | |
WO2024212086A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
WO2023123398A1 (zh) | 滤波方法、滤波装置以及电子设备 | |
WO2024145790A1 (zh) | 解码方法、编码方法、解码器和编码器 | |
WO2024183007A1 (zh) | 视频编解码方法、装置、设备、系统、及存储介质 | |
WO2023141970A1 (zh) | 解码方法、编码方法、解码器、编码器和编解码系统 |