TWI832602B - 轉換係數符號的熵編碼 - Google Patents
轉換係數符號的熵編碼 Download PDFInfo
- Publication number
- TWI832602B TWI832602B TW111147387A TW111147387A TWI832602B TW I832602 B TWI832602 B TW I832602B TW 111147387 A TW111147387 A TW 111147387A TW 111147387 A TW111147387 A TW 111147387A TW I832602 B TWI832602 B TW I832602B
- Authority
- TW
- Taiwan
- Prior art keywords
- current
- symbol
- block
- transform
- transform coefficient
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000001186 cumulative effect Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 18
- 230000009466 transformation Effects 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000009795 derivation Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 241000023320 Luma <angiosperm> Species 0.000 description 9
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 9
- 230000001143 conditioned effect Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/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/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/18—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 a set of transform coefficients
-
- 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
提供了一種使用符號預測對變換係數進行熵編碼或解碼的方法。 視訊編解碼器接收要編碼或解碼為視訊的當前圖片的當前塊的資料。 視訊編解碼器基於當前變換係數的絕對值來選擇用於當前符號預測殘差的上下文變量。 當前符號預測殘差是預測的符號與當前塊的當前變換係數的符號之間的差值。 視訊編解碼器熵使用選定的上下文變量對當前符號預測殘差進行編碼或解碼。 視訊編解碼器通過使用當前變換係數的符號和絕對值來重建當前塊。
Description
本公開涉及視訊編解碼。更具體地,本公開涉及對變換係數(transform coefficient)的符號(sign)進行編解碼的方法。
除非在本節中另有說明,在此節中描述的方法不是以下列出的申請專利範圍的先前技術,並且不通過本節的包括而被承認為先前技術。
在視訊編解碼中,輸入視訊信號是從編碼的圖像區域所得到的重建的信號預測而來的。預測殘差信號經過塊變換(block transform)處理。變換系數經量化,與位元流中的其他輔助資訊(side information)一起經熵編碼。重建的信號是對去量化的變換系數後經逆變換後,從預測信號和重建的殘差信號在所得到的。重建的信號進一步經過環路濾波以去除編碼視訊的偽影。解碼的圖像被存儲在幀緩存器中,用於預測輸入視訊信號中的未來圖像。
通用視訊編解碼(VVC)是由ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的聯合視訊專家組(JVET)制定的最新國際視訊編解碼標準。在VVC中,編碼的圖片被劃分為由相關聯的編解碼樹單元(CTU)表示的非重疊方形塊區域。編碼的圖片可以由切片集合表示,每個切片包含整數個CTU。切片中的各個CTU以光柵掃描順序處理。可以使用幀內預測或幀間預測對雙向預測(bi-predictive,簡寫為B)切片進行解碼,其中最多有兩個運動向量和參考索引來預測每個塊的樣本值。使用具有至多一個運動矢量和參考索引的幀內
預測或幀間預測來預測每個塊的樣本值以解碼預測(predictive,簡寫為P)切片。僅使用幀內預測對幀內(intra,簡寫為I)切片進行解碼。
可以使用具有嵌套多類型樹(multi-type-tree,簡寫為MTT)結構的四叉樹(quadtree,簡寫為QT)將CTU劃分為一個或多個非重疊編解碼單元(CU),以適應各種局部運動和紋理特徵。可以使用幾種拆分類型中的一種將CU進一步拆分為更小的CU。每個CU包含一個或多個預測單元(prediction unit,簡寫為PU)。預測單元與關聯的CU句法一起作為用於發送預測資訊的基本單元。指定的預測過程用於預測PU內的相關像素樣本的值。每個CU可以包含一個或多個變換單元(TU)用於表示預測殘差塊。變換單元(transform unit,簡寫為TU)由一個亮度樣本的變換塊(transform block,簡寫為TB)和兩個相應的色度樣本變換塊組成,每個TB對應於來自一個顏色分量的樣本的一個殘差塊。將整數變換應用於變換塊。量化的係數的級別值與其他輔助資訊一起在位元流中進行熵編碼。定義術語編解碼樹塊(CTB)、編解碼塊(CB)、預測塊(PB)和變換塊(TB)以指定分別與CTU、CU、PU和TU相關聯的一個顏色分量(Y/Cb/Cr)的二維樣本陣列。一個CTU包括一個亮度CTB、兩個色度CTB和相關的語法元素。類似的關係對CU、PU和TU有效。
以下概述僅是說明性的,並不旨在以任何方式進行限制。即,提供以下概述以介紹本文描述的新穎的和非顯而易見的技術的概念、亮點、好處和優勢。在下面的詳細描述中進一步描述了選擇的而不是所有的實施方式。因此,以下概述不旨在識別要求保護的主題的基本特徵,也不旨在用於確定要求保護的主題的範圍。
本公開的一些實施例提供用於使用符號預測對變換係數進行熵
編解碼的方法和系統。視訊編解碼器接收要編碼或解碼為視訊的當前圖片的當前塊的資料。視訊編解碼器基於當前變換係數的絕對值來選擇用於當前符號預測殘差的上下文變量。當前符號預測殘差是預測的符號與當前塊的當前變換係數的符號之間的差值。視訊編解碼器熵使用選定的上下文變量對當前符號預測殘差進行編碼或解碼。視訊編解碼器通過使用當前變換係數的符號和絕對值來重建當前塊。
在一些實施例中,預測的符號是最佳符號預測假設的一組預測的符號之一,其中最佳符號預測假設是多個候選符號預測假設中具有最低成本的假設。可以基於像素域中的殘差來計算特定符號預測假設的成本,這些殘差是從一組變換係數具有當前特定符號預測假設的係數符號所變換而來的。
在一些實施例中,當當前變換係數屬於第一組變換係數時,依賴於當前變換係數的絕對值來選擇上下文變量,或者當當前變換係數屬於第二組不同的變換係數時,獨立於當前變換係數的絕對值來選擇上下文變量。
在一些實施例中,根據當前變換係數的絕對值是否大於特定閾值或在特定數值範圍內來選擇上下文變量。在一些實施例中,當變換係數大於或等於特定閾值時選擇第一上下文變量並且當變換係數小於特定閾值時選擇第二上下文變量。
在一些實施例中,當前符號預測殘差的上下文變量的選擇進一步基於當前塊是通過使用幀內預測還是通過使用幀間預測來編解碼。在一些實施例中,當前符號預測殘差的上下文變量的選擇進一步基於當前變換係數是屬於亮度變換塊還是屬於色度變換塊。
在一些實施例中,上下文變量的選擇可以基於當前變換係數在當前塊的當前變換塊中的位置。在一些實施例中,上下文變量的選擇可以進一步基於以下至少之一:(i)當前變換塊的維度(dimension),(ii)當前變換塊的變
換類型,(iii)當前變換塊的顏色分量索引,(iv)當前變換塊中預測的符號的個數,(v)當前變換塊中非零係數的個數,(vi)最後一個重要變換係數(significant transform coefficient)在當前變換塊中的位置,(vii)進行符號預測的變換係數的絕對值之和,(viii)當前變換係數之後進行符號預測的變換係數的絕對值之和。在一些實施例中,上下文變量的選擇可以基於經歷符號預測的下一個變換係數的絕對值。
在一些實施例中,視訊編解碼器基於當前變換係數是否為DC係數來選擇上下文變量。上下文變量的選擇可以基於當前塊的DC係數的預測的符號是否正確。
在一些實施例中,上下文變量的選擇進一步基於當前塊中錯誤預測的符號的累積數量。當當前塊的錯誤預測符號的累積數量超過閾值時,視訊編解碼器可以旁路模式將當前符號預測殘差編碼到位元流中。
在一些實施例中,上下文變量的選擇基於當前變換塊中符號預測殘差的總數。在一些實施例中,上下文變量的選擇還基於當前變換塊的原點和當前變換塊中當前變換係數的位置之間的距離。
100:引擎
105:語法元素
110:二值化器
115:二進位串
120:上下文建模器
150:算術編解碼器
170:旁路編碼引擎
180:常規編碼引擎
185:二進位符號
190:編解碼的位元
200:變換塊
215:符號集合
310:集合
320:實際標誌
330:符號預測殘差
400:當前塊
505:預測符號
510:絕對值
520:變換系數
530:殘差
540:成本
600:視訊編碼器
605:視訊源
610:變換模組
611:量化模組
614、911:逆量化模組
615、910:逆變換模組
616、916:變換係數
620:圖片內估計模組
625:圖片內預測模組
630、930:運動補償模組
635:運動估計模組
640、940:幀間預測模組
645、945:環路濾波器
650:重構圖片緩衝器
665、965:MV緩衝器
675、975:MV預測模組
690:熵編碼器
695、995:位元流
613:預測的像素資料
608:殘差像素資料
612、912:量化的係數
617:重構的像素資料
710、1010:係數符號
712、1012:係數絕對值
714、1014:預測的符號
716、1016:符號預測殘差
720、1020:最佳預測假設
725、1025:候選符號預測假設
730、1030:成本
735、1035:成本函數
740、1040:上下文選擇模塊
800、1110:過程
810~840、1110~1140:塊
900:視訊解碼器
913:預測的像素資料
925:幀內預測模組
950:解碼圖片緩衝器
990:解析器
917:解碼的像素資料
919:重構的殘差信號
1200:電子系統
1205:匯流排
1210:處理單元
1215:圖形處理單元
1220:系統記憶體
1225:網路
1230:只讀記憶體
1235:永久存儲設備
1240:輸入設備
1245:輸出設備
包括附圖是為了提供對本公開的進一步理解,並且併入並構成本公開的一部分。附圖圖示了本公開的實施方式,並且與描述一起用於解釋本公開的原理。值得注意的是,附圖不一定是按比例繪製的,因為為了清楚地說明本公開的概念,一些組件可能被示出為與實際實施中的尺寸不成比例。
第1圖展示執行基於上下文的自適應二進位算術編解碼(CABAC)處理的引擎的框圖。
第2圖圖示了變換塊中的變換係數。第3圖概念性地說明變換係數符號集合的
符號預測。第4圖概念性地說明當前塊的跨越塊邊界的不連續性度量。第5圖概念性地說明了使用成本函數來選擇最佳符號預測假設。
第6圖解說了在對變換係數進行熵編解碼時可以使用符號預測的示例視訊編碼器。
第7圖解說了實現符號預測和上下文選擇的視訊編碼器的部分。
第8圖概念性地說明使用符號預測對變換係數進行熵編碼的過程。
第9圖解說了在對變換係數進行熵編解碼時可以使用符號預測的示例視訊解碼器。
第10圖說明實施符號預測和上下文選擇的視訊解碼器的部分。
第11圖概念性地說明用於使用符號預測對變換係數進行熵解碼的過程。
第12圖概念性地圖示實現本公開的一些實施例的電子系統。
在下面的詳細描述中,通過示例的方式闡述了許多具體細節,以便提供對相關教導的透徹理解。基於本文描述的教導的任何變化、派生和/或擴展都在本公開的保護範圍內。在一些情況下,可以在相對較高的水平上描述與本文公開的一個或多個示例實現有關的眾所周知的方法、過程、組件和/或電路而不詳細,以避免不必要地模糊本公開的教導的方面。
在一些實施例中,為了在視訊編解碼中實現更高的壓縮效率,基於上下文的自適應二進位算術編解碼(CABAC)模式,或稱為常規模式(regular mode),被用於熵編解碼已編解碼視訊的語法元素。第1圖顯示了執行CABAC過程的引擎100的框圖。
CABAC操作首先將語法元素(SE)105的值轉換成二進位串115。
這個過程通常被稱為二值化(在二值化器110處)。
算術編解碼器150對二進位串115執行編解碼處理以產生編解碼的位元190。可以以常規模式(通過常規編碼引擎180)或旁路模式(通過旁路編碼引擎170)執行編碼過程。
當使用常規模式時,上下文建模器(context modeler)120對傳入的二進位串(或位元子(bin))115執行上下文建模並且常規編碼引擎180基於上下文建模器120中不同上下文的概率模型對二進位串115執行編碼處理。常規模式的編碼處理產生編碼的二進位符號(第1圖中表述為用於上下文模型更新的位元子值)185,其也被上下文建模器120用來建立或更新概率模型。用於編碼下一個二進位符號的建模的上下文的選擇(modeled context)(上下文選擇)可以由編碼資訊來確定。另一方面,當使用旁路模式時,符號在沒有上下文建模階段的情況下進行編碼,並假定等概率分佈。
在一些實施例中,變換係數可以通過相關標量量化(dependent scalar quantization)來量化。兩個量化器之一的選擇由具有四個狀態的狀態機決定。當前變換係數的狀態由按掃描順序的前一變換係數的絕對級別值(absolute level value)的狀態和奇偶性確定。變換塊被劃分為非重疊的子塊。使用多個子塊編解碼程序(sub-block coding pass)對每個子塊中的變換係數級別(transform coefficient level)進行熵編解碼。語法元素sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag都在第一子塊編解碼程序(sub-block coding passes)中以常規模式編解碼。元素abs_level_gt1_flag和abs_level_gt3_flag分別表示當前係數級別的絕對值是否大於1和大於3。語法元素par_level_flag指示當前級別的絕對值的奇偶校驗位元。來自第一程序的變換係數級別(level)的部分重建的絕對值由下式給出:AbsLevelPass1=sig_coeff_flag+par_level_flag+abs_level_gt1_flag+2*
abs_level_gt3_flag
用於熵編解碼sig_coeff_flag的上下文選擇(上下文建模器120中的上下文變量或概率模型的選擇)取決於當前係數的狀態。因此,變量par_level_flag在第一編解碼程序中被傳訊,用於導出下一個係數的狀態。語法元素abs_remainder和coeff_sign_flag在接下來的子塊編碼程序中以旁路模式被進一步編解碼,以分別指示剩餘的係數級別值和符號。變換係數級別的完全重建的絕對值由下式給出AbsLevel=AbsLevelPass1+2 * abs_remainder (A)
變換係數級別的給定如下TransCoeffLevel=(2 * AbsLevel-(QState>1?1:0)) * (1-2 * coeff_sign_flag) (B)
其中QState表示當前變換係數的狀態。
在某些實施方案中,為了進一步提高編解碼效率,殘差變換塊的變換系數的符號集合被共同地預測。
第2圖說明了變換塊中的變換系數。變換塊200是從變換的幀間或幀內預測殘差中得到的變換系數陣列。變換塊200可以是正在編解碼的當前塊的多個變換塊之一,其可以有多個變換塊用於不同的顏色分量。變換塊包括NxN變換系數。變換系數之一是DC系數。該變換塊200的系數可以以之字形(zig-zag)方式排序和索引。當前變換塊200的變換系數是有符號(或稱為正負號)(sign)的,但只有變換系數的子集210的符號作為符號集合215被一起預測(例如,前10個非零係數)。
第3圖概念上說明了變換系數符號集合的符號預測。該圖說明了實際符號(actual sign)320(例如子集210中的變換系數標誌)和相應的預測的符號(在說明書中亦稱為預測符號)的集合310。將實際標誌320和預測符號
310進行異或(XOR)運算以生成符號預測殘差330。在示例符號預測殘差330中,“0”表示正確預測的符號(即,預測的符號和相應的實際符號相同),“1”表示錯誤預測的符號(即,預測的符號和相應的實際符號不同)。因此,“良好”的符號預測會導致符號預測殘差(圖中示為符號預測位元子)330大多數為0,因此可以使用較少的位元用CABAC編解碼符號預測殘差。
目前正由CABAC上下文建模處理的符號預測殘差可稱為當前符號預測殘差。與當前符號預測殘差對應的變換系數可稱為當前變換系數,而當前正由CABAC處理的變換塊可稱為當前變換塊。
在某些實施方案中,視訊編碼器和視訊解碼器通過檢查不同的可能的預測符號組合或集合來確定“最佳”預測符號集合。每個可能的預測符號組合被稱為符號預測假設(sign prediction hypothesis)。最佳候選符號預測假設中的符號集合被用作產生符號預測殘差330的預測符號310。(視訊編碼器使用最佳假設310和實際符號320的符號來產生符號預測殘差330用於CABAC。視訊解碼器從反向CABAC接收符號預測殘差330,並使用最佳假設的預測符號310來重建實際符號320。)
在某些實施方案中,使用成本函數來檢查不同的候選符號預測假設,並確定最佳候選符號預測假設。對於所有候選符號預測假設(包括適用於變換系數的正負符號組合)計算重建的殘差。選擇具有最小(最佳)成本的候選假設用於變換塊。成本函數可以根據跨塊邊界的不連續性度量(discontinuity measure)定義,具體而言,作為上述行(row)和左列(column)在殘差域(residual domain)中的絕對二階導數(absolute second derivatives)的和。
其中R是重建的臨近,P是當前塊的預測,r是被測試的假設的預測殘差。對於所有候選符號預測假設計算成本函數,並選擇具有最小成本的候選假設作為系數符號(預測的符號)的預測子。
第4圖概念上說明了當前塊400跨塊邊界的不連續性度量。該圖顯示了當前塊上方和左側的重建的臨近Rx,-2、Rx,-1、R-2,y、R-1,y的像素位置以及沿著頂部和左側邊界的當前塊的預測的像素Px,0、P0,y的像素位置。Px,0、P0,y的位置也是符號預測假設的預測殘差rx,0、r0,y的位置。預測的像素Px,0、P0,y可由運動矢量和參考塊提供。預測殘差rx,0、r0,y是通過系數的逆變換得到的,每個系數都具有由符號預測假設提供的預測的符號。根據Eqn(1),使用Rx,-2、Rx,-1、R-2_y、R-1,y、Px,0、P0,y和rx,0、r0,y的值來計算當前塊400跨塊邊界的不連續性度量,其用作評估每個候選符號預測假設的成本函數。
第5圖概念上說明了使用成本函數選擇最佳符號預測假設。該圖顯示了評估當前塊的多個符號預測假設(假設1,2,3,4,...)。每個符號預測假設為當前塊400的變換系數提供了不同的預測符號集合。
為了評估候選符號預測假設的成本,將絕對值510(當前變換塊的變換系數)與候選假設的預測符號505配對,以成為帶符號的變換系數520。帶符號的變換系數520被逆變換為像素域中的假設的殘差530。成本函數(Eqn.1)使用當前塊的邊界(即rx,0、r0,y)處的殘差來確定候選假設的成本540。然後選擇具有最低成本的候選假設作為最佳符號預測假設。
在某些實施方案中,僅允許變換塊的左上4x4變換子塊區域中的系數符號(在變換域中具有最低頻率系數)被包括在假設中。在某些實施方案中,序列參數集(SPS)中會傳訊變換塊的每個符號預測假設中可以包含的最大預測符號數Nsp。在某些實施方案中,該最大數被限制為小於或等於8。收集前
Nsp個非零系數(如果可用)的符號,並根據左上4x4子塊上的光栅扫描顺序編解碼。
對於這些系數(其符號被預測的系數),而不是系數符號(coefficient sign),會傳訊符號預測殘差,以指示系數符號是否等於所選假設預測的符號。在某些實施方案中,符號預測殘差被上下文編解碼,其中所選上下文是根據系數是否為DC而導出的。在某些實施方案中,對於幀內(intra)和幀間(inter)塊以及亮度(luma)和色度(chroma)分量,上下文是分離的。對於沒有符號預測的其他系數,相應的符號由CABAC以旁路(bypass)模式編解碼。
在本公開的某些實施方案中,提供了一種修改的方法,該方法與熵編解碼圖像或視訊編解碼系統中變換系數級別的符號有關。根據與跨塊邊界的像素樣本值的不連續度測量相關的成本函數來預測變換塊中變換系數的符號集合。公式(1)是此類成本函數的示例。通過更有效地利用用於編碼或解碼與變換系數級別的預測符號相關的語法元素的上下文建模的上下文資訊,進一步提高了熵編碼的效率。
在某些實施方案中,熵編解碼當前變換系數的符號預測殘差的上下文建模可以以當前變換系數級別的絕對值資訊為條件。這是因為具有較大絕對值的系數對成本函數的輸出值具有較高影響,因此往往有更高的正確預測率。符號預測殘差的上下文建模也可以以當前變換塊的其他資訊或當前變換塊的其他變換系數為條件。
在一些實施例中,視訊編解碼器採用多個上下文變量來編解碼與和符號預測相關聯的變換係數級別的符號有關的語法資訊。用於編解碼當前係數級別的符號的上下文變量的選擇可以進一步取決於當前變換係數級別的絕對值。在一些實施例中,用於熵編解碼某些係數的符號預測殘差的上下文選擇進
一步取決於當前變換係數級別的絕對值是大於還是小於一個或多個閾值。例如,對某些係數的符號預測殘差進行熵編解碼的上下文選擇進一步決於當前變換係數級別的絕對值是否大於第一閾值T1。在一些優選實施例中,第一閾值T1可以等於1、2、3或4。在另一示例中,對某些係數的符號預測殘差進行熵編解碼的上下文選擇進一步取決於當前變換係數級別的絕對值是否大於第二閾值T2,其中T2大於第一閾值T1。在一些優選實施例中,(T1,T2)可以等於(1,2)、(1,3)或(2,4)。
在一些實施例中,視訊編解碼器還可以考慮當前變換塊的編解碼上下文適應性地設置一個或多個閾值(例如,T1、T2)的值。在一些實施例中,一個或多個閾值的推導還可以進一步取決於與當前的變換塊關聯的變換塊維度、變換類型、顏色分量索引、預測符號的數量、非零係數的數量、或最後有效係數(significant coefficient)的位置。一個或多個閾值的推導可進一步取決於當前CU的預測模式。一個或多個閾值的推導還可以取決於與變換塊中的當前係數相關聯的位置或索引。一個或多個閾值的推導還可以取決於在當前變換塊中經受符號預測的係數的絕對值之和。
在一些實施例中,用於對當前係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以從當前變換塊中的當前係數級別和其他係數級別的絕對值導出的資訊為條件。在一些實施例中,用於對當前變換塊中的係數的符號進行熵編解碼的上下文選擇可以進一步取決於在當前變換塊中進行符號預測的係數的絕對值之和。在一些實施例中,用於對當前變換塊中的係數的符號進行熵編解碼的上下文選擇可以進一步取決於當前變換塊中經受符號預測的下一個係數的絕對值或經受符號預測的剩餘係數的絕對值的和。
在一些實施例中,基於絕對係數級別的上下文選擇可以僅由指定的一組變換係數採用。當當前係數不屬於指定的一組變換係數時,當前係數的
上下文選擇與絕對係數級別無關。在一些實施例中,指定的一組變換係數是根據變換塊中的預定義掃描順序與符號預測相關聯的前N1個係數。當當前係數不屬於前N1個係數時,上下文選擇與絕對係數級別無關。在一些優選實施例中,預定義順序是用於對符號預測殘差進行熵編解碼的順序。在一些實施例中,N1等於1、2、3或4。在一些實施例中,指定的一組變換係數對應於來自變換係數區域或掃描索引範圍的係數。在一些優選實施例中,指定的一組變換係數對應於變換塊中的DC係數。當當前變換係數是DC係數時,用於符號編解碼的上下文選擇可以取決於當前變換係數級別的絕對值。否則,符號編解碼的上下文選擇與當前變換係數級別的絕對值無關。在一些實施例中,指定的一組變換係數僅來自亮度塊。用於符號編解碼的上下文選擇可以取決於亮度TB中的當前變換係數級別的絕對值並且獨立於色度TB中的當前變換係數級別的絕對值。在一些具體實施例中,指定的一組變換係數僅與一些特定的變換塊維度、變換類型或CU編解碼模式相關聯。
在一些實施例中,用於對當前係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以關於當前變換塊中的編解碼的符號預測殘差的資訊為條件。在一些實施例中,用於對某些係數的符號預測殘差進行熵編解碼的上下文選擇可以進一步取決於當前變換塊的第一編解碼的符號預測或DC符號預測是否正確。在一些實施例中,用於對當前係數的符號進行熵編解碼的上下文選擇還可以取決於與錯誤符號預測對應的符號預測殘差的累積數量。在一些具體實施例中,對某些係數的符號預測殘差進行熵編解碼的上下文選擇取決於錯誤符號預測對應的符號預測殘差的累加數量是否大於一個或多個指定閾值。在一個優選實施例中,對某些係數的符號預測殘差進行熵編解碼的上下文選擇取決於錯誤符號預測對應的符號預測殘差的累加數量是否大於Tic,其中Tic等於0、1、2或3。在一些實施例中,當錯誤符號預測對應的已編解碼的符號預測殘差
的累積數量大於指定閾值時,可以將剩餘符號預測殘差的熵編解碼切換到旁路模式。
在一些實施例中,用於對當前變換係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以當前變換塊中的符號預測殘差的總數為條件。在一些實施例中,用於對當前變換塊中的某些係數的符號預測殘差進行熵編解碼的上下文選擇還可以取決於當前變換塊中的符號預測殘差的總數是否大於一個或多個非零閾值。在這些實施例的一些中,視訊編解碼器可以進一步基於當前變換塊的編解碼上下文自適應地設置一個或多個閾值的值。在一些實施例中,視訊編解碼器可基於與當前變換塊相關聯的變換塊維度、變換類型、顏色分量索引、最後有效係數的位置或非零係數的數量來導出一個或多個閾值。一個或多個閾值的推導可進一步取決於當前CU的預測模式。一個或多個閾值的推導還可以取決於與變換塊中的當前係數相關聯的絕對級別、位置或索引。一個或多個閾值的推導還可以取決於在當前變換塊中經受符號預測的係數的絕對值之和。
在一些實施例中,用於對當前係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以關於當前變換係數在變換塊中的索引或位置的資訊為條件,其中當前變換係數的索引可以對應於用於編解碼預測符號的掃描順序,也可以根據光柵掃描順序、對角線掃描順序(如第2圖所示)、或者與當前變換塊中係數級別的絕對值相關的排序順序導出。在一些實施例中,用於對某些係數的符號預測殘差進行熵編解碼的上下文選擇取決於當前變換係數級別的索引是大於還是小於一個或多個非零閾值。
在一些其他實施例中,用於對某些係數的符號預測殘差進行熵編解碼的上下文選擇取決於位置(0,0)處的左上塊原點與當前係數位置(x,y)之間的距離(等於x+y)是否大於或小於另一個或多個非零閾值。在一些實施例
中,視訊編解碼器可以考慮當前變換塊的編解碼上下文自適應地設置所述一個或多個閾值或另一個或多個非零閾值的值。在一些實施例中,所述一個或多個閾值或另一一個或多個非零閾值的推導還可以取決於與當前變換塊關聯的變換塊維度、變換類型、顏色分量索引、預測符號的數量、非零係數的數量,或最後一個重要係數的位置。所述一個或多個閾值或另一一個或多個非零閾值的推導還可以取決於當前CU的預測模式。一個或多個閾值的推導可以進一步取決於與當前係數相關聯的絕對級別或進一步取決於在當前變換塊中經受符號預測的係數的絕對值的總和。
在一些實施例中,用於對當前變換塊中的當前係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以當前變換塊的寬度、高度或塊大小為條件。在一些實施例中,用於對當前變換塊中某些係數的符號預測殘差進行熵編解碼的上下文選擇取決於當前變換塊的寬度、高度或塊大小是大於還是小於一個或多個閾值。
根據本發明的另一方面,用於對當前變換塊中的當前係數的符號預測殘差進行熵編解碼的上下文建模可以進一步以與當前變換塊相關聯的變換類型為條件。在一些實施例中,用於對當前變換塊中某些係數的符號預測殘差進行熵編解碼的上下文選擇可以進一步取決於與當前變換塊相關聯的變換類型。在一些示例性實施例中,當當前塊變換類型屬於低頻不可分離變換(low-frequency non-separable transform,簡寫為LFNST)或多變換選擇(multiple transform selection,簡寫為MTS)時,視頻編解碼器可以分配一組單獨的上下文用於對當前變換塊中某些變換係數的符號預測殘差進行熵編解碼。
在一些實施例中,對當前係數的符號進行熵編解碼可以指在所提出的任何方法中對當前係數的符號預測殘差進行熵編解碼。當啟用相關標量量化時,任何提出的方法中的變換係數級別都可以參考方程式(A)給出的級別映射
之前的變換係數級別或方程式(B)給出的級別映射之後的變換係數級別。所提出的方面、方法和相關實施例可以在圖像和視訊編解碼系統中單獨地和聯合地實現。
任何前述提出的方法都可以在編碼器和/或解碼器中實現。例如,任何提出的方法都可以在編碼器的係數編解碼模塊和/或解碼器的係數編解碼模塊中實現。可選地,所提出的方法中的任何一個可以被實現為集成到編碼器的係數編解碼模塊和/或解碼器的係數編解碼模塊的電路。
第6圖說明在對變換係數進行熵編解碼時可以使用符號預測的示例視訊編碼器600。如圖所示,視訊編碼器600從視訊源605接收輸入視訊信號並將該信號編碼為位元流695。視訊編碼器600具有用於對來自視訊源605的信號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組610、量化模組611、逆量化模組614、逆變換模組615、圖片內估計模組620、圖片內預測模組625、運動補償模組630、運動估計模組635、環路濾波器645、重建圖片緩衝器650、MV緩衝器665、MV預測模組675和熵編碼器690。運動補償模組630和運動估計模組635是幀間預測模組640的一部分。
在一些實施例中,模組610-690是由計算設備或電子裝置的一個或多個處理單元(例如處理器)執行的軟體指令模組。在一些實施例中,模組610-690是由電子裝置的一個或多個積體電路(IC)實現的硬體電路模組。儘管模組610-690被示為單獨的模組,但是一些模組可以組合成單個模組。
視訊源605提供原始視訊信號,其呈現每個視訊幀的像素資料而沒有壓縮。減法器608計算視訊源605的原始視訊像素資料與來自運動補償模組630或幀內預測模組625的預測的像素資料613之間的差異。變換模組
610將差異(或殘差像素資料或殘差信號608)轉換成變換係數(例如,通過執行離散餘弦變換,或DCT)。量化模組611將變換係數量化為量化的資料(或量化的係數)612,其由熵編碼器590編碼為位元流695。
逆量化模組614對量化的資料(或量化的係數)612進行去量化以獲得變換係數,逆變換模組615對變換係數執行逆變換以產生重建的殘差619。重建的殘差619與預測像素資料613一起生成重建的像素資料617。在一些實施例中,重建的像素資料617臨時存儲在行緩衝器(未示出)中用於圖片內預測和空間MV預測。重建的像素由環路濾波器645濾波並存儲在重建圖片緩衝器650中。在一些實施例中,重建圖片緩衝器650是視訊編碼器600外部的記憶體。在一些實施例中,重建圖片緩衝器650是視訊編碼器600內部的記憶體。
圖片內估計模組620基於重建的像素資料617執行幀內預測(intra-prediction)以產生幀內預測資料。幀內預測資料被提供給熵編碼器690以被編碼成位元流695。幀內預測資料也被幀內預測模組625用來產生預測的像素資料613。
運動估計模組635通過產生MV以參考存儲在重建圖片緩衝器650中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供給運動補償模組630以產生預測的像素資料。
視訊編碼器600不是在位元流中編碼完整的實際MV,而是使用MV預測來生成預測的MV,並且用於運動補償的MV與預測MV之間的差異被編碼為殘差運動資料並存儲在位元流695中。
MV預測模組675基於為編碼先前視訊幀而生成的參考MV生成預測的MV,即,用於執行運動補償的運動補償MV。MV預測模組675從MV緩衝器665中擷取來自先前視訊幀的參考MV。視訊編碼器600將針對當前視訊幀生成的MV存儲在MV緩衝器665中作為用於生成預測的MV的參考MV。
MV預測模組675使用參考MV來創建預測的MV。預測的MV可以通過空間MV預測或時間MV預測來計算。熵編碼器690將當前幀的預測的MV和運動補償MV(MC MV)之間的差異(殘差運動資料)編碼到位元流695中。
熵編碼器690通過使用諸如上下文自適應二進位算術編解碼(CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和資料編碼到位元流695中。熵編碼器690將各種報頭元素、標誌連同量化的變換係數612和殘差運動資料作為句法元素編碼到位元流695中。位元流695又存儲在存儲設備中或通過通信媒介(例如網路)傳輸到解碼器。。
環路濾波器(in-loop filter)645對重建的像素資料617執行濾波或平滑操作以減少編解碼的偽像,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本自適應偏移(sample adaptive offset,簡寫為SAO)。在一些實施例中,濾波操作包括自適應環路濾波器(adaptive loop filter,簡寫為ALF)。
第7圖解說了實現符號預測和上下文選擇的視訊編碼器600的部分。如圖所示,量化的係數612包括係數符號710和係數絕對值712分量。係數符號710(或實際符號)與預測的符號714進行異或運算以生成符號預測殘差716。預測的符號714由最佳預測假設720提供,該假設基於成本730選自多個可能的不同符號預測假設725。成本730由成本函數735針對不同的候選符號預測假設725計算。對於每個候選符號預測假設,成本函數735使用(i)由重建圖片緩衝器650提供的像素值,(ii)變換係數的絕對值712,以及(iii)預測的像素資料613以計算成本。在一些實施例中,可以基於像素域中的殘差來計算特定符號預測假設的成本,該殘差是從一組變換係數具有當前特定符號預測假設的係數符號所變換而來的。方程式(1)提供了成本函數的一個例子
,並參照上文的第5圖的說明。
符號預測殘差716被提供給熵編碼器690並且由CABAC處理編碼。CABAC處理的框圖通過參考前文第1圖來描述。使用一個或多個上下文變量或概率模型以常規模式對符號預測殘差716進行編解碼。上下文選擇(在上下文選擇模塊740處)基於與變換係數相關的一個或多個參數。上下文變量的選擇在上面的第II節中有更詳細的描述。用於上下文選擇的參數由視訊編碼器600的組件或諸如率失真控制器的其他組件提供。
第8圖概念性地說明用於使用符號預測對變換係數進行熵編碼的過程800。在一些實施例中,實現編碼器600的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程800。在一些實施例中,實現編碼器600的電子裝置執行過程800。
編碼器接收要被編碼為當前圖片中的當前像素塊的資料(在塊810)。
編碼器基於預測的符號和當前塊的當前變換係數的符號來確定當前符號預測殘差(在塊820處)。在一些實施例中,當前符號預測殘差是預測的符號與當前塊的當前變換係數的符號之間的差值。在一些實施例中,預測的符號是最佳符號預測假設的一組預測的符號之一,其中最佳符號預測假設是多個候選符號預測假設中具有最低成本的假設。可以基於像素域中的殘差來計算特定符號預測假設的成本,這些殘差是從具有符號預測假設的一組預測的符號的一組變換係數變換而來的(例如,根據方程式1)。
編碼器基於當前變換係數的絕對值來選擇用於當前符號預測殘差的上下文變量(在塊830處)。上下文變量的選擇在上面的第II節中有更詳細的描述。
在一些實施例中,當當前變換係數屬於第一組變換係數時,根據
當前變換係數的絕對值來選擇上下文變量,或者當當前變換係數屬於第二組不同的變換係數時,獨立於當前變換係數的絕對值來選擇上下文變量。
在一些實施例中,根據當前變換係數的絕對值是否大於特定閾值或在特定數值範圍內來選擇上下文變量。在一些實施例中,當變換係數大於或等於特定閾值時選擇第一上下文變量,當變換係數小於特定閾值時選擇第二上下文變量。
在一些實施例中,當前符號預測殘差的上下文變量的選擇進一步基於當前塊是通過使用幀內預測還是通過使用幀間預測來編碼。在一些實施例中,當前符號預測殘差的上下文變量的選擇進一步基於當前變換係數是屬於亮度變換塊還是屬於色度變換塊。例如,編碼器可以在通過使用幀內預測對當前塊進行編解碼時為當前符號預測殘差選擇上下文變量的第一子集,並且在通過使用幀間預測對當前塊進行編解碼時選擇上下文變量的第二子集。編碼器可以在當前變換係數屬於亮度變換塊時為當前符號預測殘差選擇第一組上下文變量,而在當前變換係數屬於色度變換塊時選擇第二組上下文變量。
在一些實施例中,上下文變量的選擇可以基於當前變換係數在當前塊的當前變換塊中的位置。在一些實施例中,上下文變量的選擇可以進一步基於以下至少之一:(i)當前變換塊的維度,(ii)當前變換塊的變換類型,(iii)當前變換塊的顏色分量索引,(iv)當前變換塊中預測的符號的個數,(v)當前變換塊中非零係數的個數,(vi)最後一個重要變換係數在當前變換塊中的位置,(vii)進行符號預測的變換係數的絕對值之和,(viii)當前變換係數之後進行符號預測的變換係數的絕對值之和。在一些實施例中,上下文變量的選擇可以基於經歷符號預測的下一個變換係數的絕對值。
在一些實施例中,編碼器基於當前變換係數是否是DC係數來選擇上下文變量。上下文變量的選擇可以基於當前塊的DC係數的預測的符號是
否正確。
在一些實施例中,上下文變量的選擇進一步基於當前塊中錯誤預測的符號的累積數量。當當前塊的錯誤預測的符號的累計數量超過閾值時,編碼器可以旁路模式將當前符號預測殘差編碼到位元流中。
在一些實施例中,上下文變量的選擇基於當前變換塊中符號預測殘差的總數。在一些實施例中,上下文變量的選擇還基於當前變換塊的原點和當前變換塊中當前變換係數的位置之間的距離。
編碼器熵使用所選擇的上下文變量將當前符號預測殘差編碼到位元流中(在塊840處)。
在一些實施例中,編碼器可以傳訊(或生成)位元流中的一個或多個句法元素,使得解碼器可以從位元流解析所述一個或多個句法元素。
第9圖說明當熵編解碼變換係數時可使用符號預測的示例視訊解碼器900。如圖所示,視訊解碼器900是圖像解碼或視訊解碼電路,其接收位元流995並將位元流的內容解碼成視訊幀的像素資料以供顯示。視訊解碼器900具有用於解碼位元流995的若干組件或模組,包括選自逆量化模組911、逆變換模組910、幀內預測模組925、運動補償模組930、環路濾波器945、解碼圖片緩衝器950、MV緩衝器965、MV預測模組975和解析器990的一些組件。運動補償模組930是幀間預測模組940的一部分。
在一些實施例中,模組910-990是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組910-990是由電子裝置的一個或多個IC實現的硬體電路模組。儘管模組910-990被示為單獨的模組,但是一些模組可以組合成單個模組。
解析器990(或熵解碼器)接收位元流995並根據由視訊編解碼或
圖解像編碼標准定義的句法執行初始解析。解析的句法元素包括各種報頭元素、標誌以及量化的資料(或量化的係數)912。解析器990通過使用熵編解碼技術解析出各種句法元素,例如上下文自適應二進位算術編解碼(CABAC)或霍夫曼編碼。
逆量化模組911對量化的資料(或量化的係數)912進行去量化以獲得變換係數,並且逆變換模組910對變換係數916執行逆變換以產生重建的殘差信號919。重建的殘差信號919與來自幀內預測模組925或運動補償模組930的預測的像素資料913相加以產生解碼的像素資料917。解碼的像素資料由環路濾波器945濾波並存儲在解碼圖片緩衝器950中。在一些實施例中,解碼圖片緩衝器950是視訊解碼器900外部的記憶體。在一些實施例中,解碼圖片緩衝器950是視訊解碼器900內部的記憶體。
幀內預測模組925從位元流995接收幀內預測資料,並據此從解碼圖片緩衝器950中存儲的解碼的像素資料917產生預測的像素資料913。在一些實施例中,解碼的像素資料917還存儲在行緩衝器(未示出)中用於圖片內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器950的內容用於顯示。顯示設備955擷取解碼圖片緩衝器950的內容以直接顯示,或者擷取解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示設備通過像素傳輸從解碼圖片緩衝器950接收像素值。
運動補償模組930根據運動補償MV(motion compensation MV,簡寫為MC MV)從存儲在解碼圖片緩衝器950中的解碼的像素資料917產生預測的像素資料913。通過將從位元流995接收的殘差運動資料與從MV預測模組975接收的預測的MV相加來解碼這些運動補償MV。
MV預測模組975基於為解碼先前視訊幀而生成的參考MV生成
預測的MV,例如,用於執行運動補償的運動補償MV。MV預測模組975從MV緩衝器965中擷取先前視訊幀的參考MV。視訊解碼器900將為解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器965中作為用於產生預測的MV的參考MV。
環路濾波器945對解碼的像素資料917執行濾波或平滑操作以減少編解碼偽像,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本自適應偏移(SAO)。在一些實施例中,濾波操作包括自適應環路濾波器(ALF)。
第10圖說明實施符號預測和上下文選擇的視訊解碼器900的部分。如圖所示,量化的係數912(來自熵解碼器990)包括係數符號1010和係數絕對值1012分量。符號預測殘差1016(或實際符號)與預測的符號1014異或以生成係數符號1010。預測的符號1014由最佳預測假設1020提供,該最佳預測假設1020基於成本1030從多個可能的不同符號預測假設1025中選出。成本1030由成本函數1035針對不同的候選符號預測假設1025計算。對於每個候選符號預測假設,成本函數1035使用(i)由重建圖片緩衝器950提供的像素值,(ii)變換係數的絕對值1012,以及(iii)預測的像素資料913以計算成本。在一些實施例中,可以基於像素域中的殘差來計算特定符號預測假設的成本,該殘差是從具有符號預測的一組預測的符號的一組變換係數變換而來的。方程式(1)提供了成本函數的一個例子,並參照上文第5圖進行了說明。
符號預測殘差1016被提供給熵解碼器990並且通過逆CABAC過程被解碼。使用一個或多個上下文變量或概率模型以常規模式對符號預測殘差1016進行編解碼。上下文選擇(在上下文選擇模塊1040處)基於與變換係數相關的一個或多個參數。上下文變量的選擇在上文的第II節中有更詳細的描述。在一些實施例中,上下文選擇模塊1040是熵解碼器990的一部分,並
且用於符號預測殘差的上下文選擇的參數由熵解碼器990從位元流995中解析。
第11圖概念性地說明用於使用符號預測對變換係數進行熵解碼的過程1100。在一些實施例中,實現解碼器900的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程1100。在一些實施例中,實現解碼器900的電子裝置執行過程1100。
解碼器熵解碼位元流以接收當前塊的當前變換係數的當前符號預測殘差(在塊1110)。
解碼器基於當前變換係數的絕對值選擇用於對當前符號預測殘差進行熵解碼的上下文變量(在塊1120)。上下文變量的選擇在上文的第II節中有更詳細的描述。
在一些實施例中,當當前變換係數屬於第一組變換係數時,依賴於當前變換係數的絕對值來選擇上下文變量,或者當當前變換係數屬於第二組不同的變換係數時,獨立於當前變換係數的絕對值來選擇上下文變量。
在一些實施例中,根據當前變換係數的絕對值是否大於特定閾值或在特定數值範圍內來選擇上下文變量。在一些實施例中,當變換係數大於或等於特定閾值時選擇第一上下文變量,當變換係數小於特定閾值時選擇第二上下文變量。
在一些實施例中,在當前塊通過使用幀內預測編解碼時解碼器為當前符號預測殘差選擇第一上下文變量,在當前塊通過幀間預測編解碼時為當前符號預測殘差選擇第二上下文變量。在一些實施例中,解碼器在當前變換係數屬於亮度變換塊時為當前符號預測殘差選擇第一上下文變量並且在當前變換係數屬於色度變換塊時選擇第二上下文變量。
在一些實施例中,上下文變量的選擇可以基於當前變換係數在當
前塊的當前變換塊中的位置。在一些實施例中,上下文變量的選擇可以進一步基於以下至少之一:(i)當前變換塊的維度,(ii)當前變換塊的變換類型,(iii)當前變換塊的顏色分量索引,(iv)當前變換塊中預測符號的個數,(v)當前變換塊中非零係數的個數,(vi)當前變換塊中最後一個重要變換係數的位置,(vii)進行符號預測的變換係數的絕對值之和,(viii)當前變換係數之後進行符號預測的變換係數的絕對值之和。在一些實施例中,上下文變量的選擇可以基於經歷符號預測的下一個變換係數的絕對值。
在一些實施例中,解碼器基於當前變換係數是否是DC係數來選擇上下文變量。上下文變量的選擇可以基於當前塊的DC係數的預測的符號是否正確。
在一些實施例中,上下文變量的選擇進一步基於當前塊中錯誤預測的符號的累積數量。當當前塊的錯誤預測的符號的累計數量超過閾值時,解碼器可以旁路模式將當前符號預測殘差解碼到位元流中。
在一些實施例中,上下文變量的選擇基於當前變換塊中符號預測殘差的總數。在一些實施例中,上下文變量的選擇還基於當前變換塊的原點和當前變換塊中當前變換係數的位置之間的距離。
解碼器基於當前符號預測殘差和預測的符號來確定當前變換係數的符號(在塊1130)。在一些實施例中,當前符號預測殘差是預測的符號與當前塊的當前變換係數的符號之間的差值。在一些實施例中,預測的符號是最佳符號預測假設的一組預測的符號之一,其中最佳符號預測假設是多個候選符號預測假設中具有最低成本的假設。可以基於像素域中的殘差來計算特定符號預測假設的成本,這些殘差是從一組變換係數具有當前特定符號預測假設的係數符號所變換而來的(例如,根據方程式1)。
解碼器通過使用當前變換係數的符號和絕對值來重建當前塊(在
塊1140)。解碼器然後可以提供重建的當前塊以作為重建的當前圖片的一部分進行顯示。
許多上述特徵和應用被實現為軟體過程,這些軟體過程被指定為記錄在計算機可讀存儲介質(也稱為計算機可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器核心或其他處理單元)執行時,它們會導致處理單元執行指令中指示的動作。計算機可讀介質的示例包括但不限於CD-ROM、閃存驅動器、隨機存取記憶體(RAM)晶片、硬碟驅動器、可擦除可程式化只讀記憶體(EPROM)、電可擦除可程式化只讀記憶體(EEPROM))等。計算機可讀介質不包括無線或通過有線連接傳遞的載波和電子信號。
在本說明書中,術語“軟體”意在包括駐留在只讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以作為較大程式的子部分來實現,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以被實現為單獨的程式。最後,一起實現這裡描述的軟體發明的單獨程式的任何組合都在本公開的範圍內。在一些實施例中,當軟體程式被安裝以在一個或多個電子系統上運行時,定義了一個或多個執行和執行軟體程式的操作的特定機器實現。
第12圖概念性地圖示了實現本公開的一些實施例的電子系統1200。電子系統1200可以是計算機(例如台式計算機、個人計算機、平板計算機等)、電話、PDA或任何其他種類的電子設備。這樣的電子系統包括各種類型的計算機可讀介質和用於各種其他類型的計算機可讀介質的接口。電子系統1200包括匯流排1205、處理單元1210、圖形處理單元(GPU)1215、系統記憶體1220、網路1225、只讀記憶體1230、永久存儲設備1235、輸入設備1240和輸
出設備1245。
匯流排1205共同表示通信連接電子系統1200的眾多內部設備的所有系統、外圍設備和晶片組匯流排。例如,匯流排1205通信連接處理單元1210與GPU 1215、只讀記憶體1230、系統記憶體1220和永久存儲設備1235。
從這些不同的記憶體單元,處理單元1210擷取要執行的指令和要處理的資料以便執行本公開的過程。在不同的實施例中,處理單元可以是單處理器或多核處理器。一些指令被傳遞到GPU 1215並由其執行。GPU 1215可以卸載(offload)各種計算或補充由處理單元1210提供的圖像處理。
只讀記憶體(ROM)1230存儲由處理單元1210和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存儲設備1235是讀寫存儲設備。該設備是即使在電子系統1200關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量存儲設備(例如磁碟或光碟及其對應的磁碟驅動器)作為永久存儲設備1235。
其他實施例使用可移動存儲設備(例如軟碟、閃存設備等,及其相應的磁碟驅動器)作為永久存儲設備。與永久存儲設備1235一樣,系統記憶體1220是讀寫存儲設備。然而,與存儲設備1235不同,系統記憶體1220是易失性讀寫記憶體,例如隨機存取記憶體。系統記憶體1220存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的過程存儲在系統記憶體1220、永久存儲設備1235和/或只讀記憶體1230中。例如,在一些實施例中,各種記憶體單元包括用於處理多媒體剪輯的指令。從這些不同的記憶體單元,處理單元1210擷取要執行的指令和要處理的資料以便執行一些實施例的過程。
匯流排1205還連接到輸入和輸出設備1240和1245。輸入設
備1240使用戶能夠向電子系統傳送資訊和選擇命令。輸入設備1240包括字母數位鍵盤和定點設備(也稱為“滑鼠控制設備”)、相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備1245顯示由電子系統生成的圖像或輸出資料。輸出設備1245包括打印機和顯示設備,例如陰極射線管(CRT)或液晶顯示器(LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括同時用作輸入和輸出設備的設備,例如觸摸屏。
最後,如第12圖所示,匯流排1205還通過網路適配器(未示出)將電子系統1200耦合到網路1225。以這種方式,計算機可以是計算機網路的一部分(例如局域網(“LAN”)、廣域網(“WAN”)或內聯網,或網路網。電子系統1200的任何或所有組件可以結合本公開使用。
一些實施例包括電子組件,例如微處理器、存儲裝置和記憶體,其將計算機程式指令存儲在機器可讀或計算機可讀介質(或者稱為計算機可讀存儲介質、機器可讀存儲介質或機器可讀介質)中。此類計算機可讀介質的一些示例包括RAM、ROM、只讀光碟(CD-ROM)、可記錄光碟(CD-R)、可重寫光碟(CD-RW)、只讀數位多功能光碟(例如,DVD-ROM,雙層DVD-ROM)、各種可刻錄/可重寫DVD(例如,DVD-RAM,DVD-RW,DVD+RW,等等)、閃存(例如,SD卡,mini-SD卡、微型SD卡等)、磁性和/或固態硬碟驅動器、只讀和可刻錄Blu-Ray®光碟、超密度光碟、任何其他光學或磁性介質以及軟碟。計算機可讀介質可以存儲可由至少一個處理單元執行並且包括用於執行各種操作的指令集的計算機程式。計算機程式或計算機代碼的示例包括機器代碼,例如由編譯器生成的機器代碼,以及包括由計算機、電子組件或使用解釋器的微處理器執行的高級代碼的文件。
雖然上述討論主要涉及執行軟體的微處理器或多核處理器,但許多上述特徵和應用是由一個或多個積體電路執行的,例如專用積體電路(ASIC)
或現場可程式化門陣列(FPGA)。在一些實施例中,這樣的積體電路執行存儲在電路本身上的指令。此外,一些實施例執行存儲在可程式化邏輯設備(PLD)、ROM或RAM設備中的軟體。
如在本說明書和本申請的任何申請專利範圍中所使用的,術語“計算機”、“服務器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於說明書的目的,術語顯示或顯示表示在電子設備上顯示。如本說明書和本申請的任何申請專利範圍中所使用,術語“計算機可讀介質”、“計算機可讀存儲介質”和“機器可讀介質”完全限於以可讀形式存儲資訊的有形物理對象。這些術語不包括任何無線信號、有線下載信號和任何其他臨時信號。
雖然已經參考許多具體細節描述了本公開,但是本所屬領域具有通常知識者將認識到,在不脫離本公開的精神的情況下,本公開可以以其他具體形式體現。此外,多個附圖(包括第8圖和第11圖)概念性地說明了過程。這些過程的特定操作可能不會按照所示和描述的確切順序執行。具體操作可以不在一個連續的系列操作中執行,並且可以在不同的實施例中執行不同的具體操作。此外,該過程可以使用多個子過程或作為更大的宏過程的一部分來實現。因此,本所屬領域具有通常知識者將理解本公開不受前述說明性細節的限制,而是由所附申請專利範圍限定。
本文描述的主題有時說明不同的組件包含在不同的其他組件內或與不同的其他組件連接。應當理解,這樣描繪的架構僅僅是示例,並且實際上可以實現實現相同功能的許多其他架構。從概念上講,實現相同功能的組件的任何佈置都被有效地“關聯”,從而實現了所需的功能。因此,此處組合以實現特定功能的任何兩個組件可以被視為彼此“相關聯”以使得實現期望的功能,而不管架構或中間組件如何。同樣,如此關聯的任何兩個組件也可被視為彼此“可操
作地連接”或“可操作地耦合”以實現期望的功能,並且能夠如此關聯的任何兩個組件也可被視為“可操作地連接”耦合”,彼此實現所需的功能。可操作地耦合的具體示例包括但不限於實體上可配合和/或實體上交互的組件和/或無線上可交互和/或無線上交互的組件和/或邏輯上交互和/或邏輯上可交互的組件。
此外,關於本文中基本上任何復數和/或單數術語的使用,所屬領域具有通常知識者可以根據上下文從復數翻譯成單數和/或從單數翻譯成複數和/或申請。為了清楚起見,可以在本文中明確地闡述各種單數/複數排列。
此外,所屬領域具有通常知識者將理解,一般而言,本文使用的術語,尤其是所附申請專利範圍中使用的術語,例如所附申請專利範圍的主體,通常意在作為“開放”術語,例如,“包括”一詞應解釋為“包括但不限於”,“有”一詞應解釋為“至少有”,“包括”一詞應解釋為“包括但不限於”,等。所屬領域具有通常知識者將進一步理解,如果意圖引入特定數量的申請專利範圍陳述,則該意圖將在申請專利範圍中明確地陳述,並且在沒有該陳述的情況下不存在該意圖。例如,為了幫助理解,以下所附申請專利範圍可能包含使用介紹性短語“至少一個”和“一個或多個”來介紹申請專利範圍的敘述。然而,使用此類短語不應被解釋為暗示通過不定冠詞“a”或“an”引入的申請專利範圍將包含此類引入的申請專利範圍的任何特定申請專利範圍限制為僅包含一個此類陳述的實現,即使當同一申請專利範圍包括介紹性短語“一個或多個”或“至少一個”和不定冠詞如“一個(a)”或“一個(an)”,例如,“一個(a)”和/或“一個(an)”應解釋為“至少”一個或“一個或多個”;這同樣適用於使用定冠詞來引入索賠陳述。此外,即使明確引用了引入的申請專利範圍記載的具體數目,所屬領域具有通常知識者將認識到,這種記載應被解釋為至少表示引用的數目,例如,“兩次引用(recitation)”,而不包含其他修飾語,表示至少兩次引用,或者兩次或更多次引用。此外,在那些約定類似於“A、B和C等中的至少一個”的情況下,一般來說,這樣的結構
意在所屬領域具有通常知識者會理解約定的意義上,例如,“具有A、B和C中的至少一個的系統”將包括但不限於這樣的系統單獨有A,單獨有B,單獨有C,A和B在一起,A和C在一起,B和C在一起,和/或A、B和C在一起,等等。在那些類似於“至少一個”被使用的約定的情況下,通常這樣的結構意在所屬領域具有通常知識者理解約定的意義上,例如,“具有A、B或C中的至少一個的系統”將包括但不限於系統具有單獨的A、單獨的B、單獨的C、A和B在一起、A和C在一起、B和C在一起和/或A、B和C在一起等。所屬領域具有通常知識者將進一步理解實際上無論是在說明書、申請專利範圍書還是附圖中,任何出現兩個或更多替代術語的分離詞和/或短語都應該被理解為考慮包括一個術語、一個術語或兩個術語的可能性。例如,短語“A或B”將被理解為包括“A”或“B”或“A和B”的可能性。
從上文中可以理解,為了說明的目的,本文已經描述了本公開的各種實施方式,並且各種在不脫離本公開的範圍和精神的情況下可以進行修改。因此,本文公開的各種實施方式並非旨在限制,真正的範圍和精神由所附申請專利範圍指示。
1110:過程
1110~1140:塊
Claims (20)
- 一種視訊編解碼方法,包括: 接收待編碼或解碼為視訊的當前圖片的當前塊的資料; 基於當前變換係數的絕對值為當前符號預測殘差選擇上下文變量,其中該當前符號預測殘差是預測的符號與該當前塊的該當前變換係數的符號之間的差值; 使用所選上下文變量對該當前符號預測殘差進行熵編碼或解碼; 以及 利用該當前變換係數的該符號和該絕對值重建該當前塊。
- 如請求項1所述之視訊編解碼方法,其中,該預測的符號為最佳符號預測假設的一組預測的符號之一,該最佳符號預測假設在多個候選符號預測假設中成本最低。
- 如請求項2所述之視訊編解碼方法,其中基於從具有特定符號預測假設的一組預測的符號的一組變換係數變換的像素域中的殘差來計算該特定符號預測假設的成本。
- 如請求項1所述之視訊編解碼方法,其中,當該當前變換係數屬於第一組變換係數時,根據該當前變換係數的該絕對值來選擇該上下文變量,其中,當該當前變換係數屬於第二組不同的變換係數時,獨立於該當前變換係數的該絕對值來選擇該上下文變量。
- 如請求項1所述之視訊編解碼方法,其中根據該當前變換係數的該絕對值是否大於特定閾值或在特定數值範圍內來選擇該上下文變量。
- 如請求項5所述之視訊編解碼方法,其中,當該變換係數的該絕對值大於或等於該特定閾值時,選擇第一上下文變量,而該當變換係數的該絕對值小於該特定閾值時,選擇第二上下文變量。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還取決於該當前塊是使用幀內預測編解碼還是使用幀間預測編解碼。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還取決於該當前變換係數是屬於亮度變換塊還是屬於色度變換塊。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還取決於該當前變換係數在該當前塊的當前變換塊中的位置。
- 如請求項1所述之視訊編解碼方法,其中該上下文變量的選擇進一步基於以下至少之一:(i)包括該當前變換係數的變換塊的維度,(ii)該變換塊的變換類型, (iii) 該變換塊的顏色分量索引, (iv) 該變換塊中該預測的符號的個數, (v) 該變換塊中非零係數的個數, (vi) 該變換塊中最後一個重要變換係數的位置,(vii)進行符號預測的變換係數的絕對值之和,以及(viii)在該當前變換係數之後進行符號預測的變換係數的絕對值之和。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還基於進行符號預測的下一個變換係數的絕對值。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還基於該當前變換係數是否為DC係數。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還基於該當前塊的該DC係數的預測的符號是否正確。
- 如請求項1所述之視訊編解碼方法,其中該上下文變量的選擇還基於該當前塊中錯誤預測的符號的累積數量。
- 如請求項1所述之視訊編解碼方法,其中,當該當前塊的錯誤預測的符號的累積數量超過閾值時,以旁路方式將該當前符號預測殘差編碼到該位元流中。
- 如請求項1所述之視訊編解碼方法,其中該上下文變量的選擇還基於包括該當前變換係數的當前變換塊中的符號預測殘差的總數。
- 如請求項1所述之視訊編解碼方法,其中,該上下文變量的選擇還基於當前變換塊的原點和該當前變換塊中的該當前變換係數的位置之間的距離。
- 一種電子裝置,包括: 視訊編解碼電路,被配置為執行操作,包括: 接收待編碼或解碼的資料作為視訊的當前圖片的當前塊; 基於當前變換係數的絕對值為當前符號預測殘差選擇上下文變量,其中該當前符號預測殘差是該當前塊的預測符號與該當前變換係數的符號之間的差值; 使用所選上下文變量對該當前符號預測殘差進行熵編碼或解碼;以及 利用該當前變換係數該的符號和該絕對值重建該當前塊。
- 一種視訊編碼方法,包括: 接收要被編碼為視訊的當前圖片的當前塊的像素塊的資料; 根據預測的符號和該當前塊的當前變換係數的符號確定當前符號預測殘差; 根據該當前變換係數的絕對值,為該當前符號預測殘差選擇上下文變量;以及 使用所選上下文變量將該當前符號預測殘差熵編碼為位元流。
- 一種視訊解碼方法,包括: 對位元流進行熵解碼以接收當前塊的當前變換係數的當前符號預測殘差; 基於該當前變換係數的絕對值選擇用於對該當前符號預測殘差進行熵解碼的上下文變量; 根據該當前符號預測殘差和預測的符號確定該當前變換係數的符號;以及 利用該當前變換係數的該符號和該絕對值重建該當前塊。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163287603P | 2021-12-09 | 2021-12-09 | |
US63/287,603 | 2021-12-09 | ||
PCT/CN2022/137504 WO2023104144A1 (en) | 2021-12-09 | 2022-12-08 | Entropy coding transform coefficient signs |
WOPCT/CN2022/137504 | 2022-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202333495A TW202333495A (zh) | 2023-08-16 |
TWI832602B true TWI832602B (zh) | 2024-02-11 |
Family
ID=86729675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111147387A TWI832602B (zh) | 2021-12-09 | 2022-12-09 | 轉換係數符號的熵編碼 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TWI832602B (zh) |
WO (1) | WO2023104144A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113179404A (zh) * | 2021-04-28 | 2021-07-27 | 南京邮电大学 | 一种基于运动矢量的图像加密方法 |
TW202133621A (zh) * | 2019-12-26 | 2021-09-01 | 美商高通公司 | 支援有損解碼和無損解碼兩者的殘差解碼 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9307264B2 (en) * | 2012-06-22 | 2016-04-05 | Sharp Kabushiki Kaisha | Arithmetic decoding device, arithmetic coding device, image decoding apparatus, and image coding apparatus |
US10484695B2 (en) * | 2017-10-23 | 2019-11-19 | Google Llc | Refined entropy coding for level maps |
US20190208225A1 (en) * | 2018-01-02 | 2019-07-04 | Qualcomm Incorporated | Sign prediction in video coding |
CN111819852B (zh) * | 2018-03-07 | 2023-06-02 | 华为技术有限公司 | 用于变换域中残差符号预测的方法及装置 |
-
2022
- 2022-12-08 WO PCT/CN2022/137504 patent/WO2023104144A1/en unknown
- 2022-12-09 TW TW111147387A patent/TWI832602B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202133621A (zh) * | 2019-12-26 | 2021-09-01 | 美商高通公司 | 支援有損解碼和無損解碼兩者的殘差解碼 |
CN113179404A (zh) * | 2021-04-28 | 2021-07-27 | 南京邮电大学 | 一种基于运动矢量的图像加密方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202333495A (zh) | 2023-08-16 |
WO2023104144A1 (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI753356B (zh) | 用於編碼或解碼轉換塊的方法與裝置 | |
CN112640448B (zh) | 编码转换系数的熵编解码方法与装置 | |
CN108028919B (zh) | 一种视频或者图像编解码的方法及装置 | |
TWI685246B (zh) | 編解碼變換塊 | |
TWI750624B (zh) | 編解碼變換係數的方法及裝置 | |
TWI792149B (zh) | 量化相關參數之傳訊技術 | |
TWI830629B (zh) | 轉換省略區塊之傳訊編碼技術 | |
TWI783024B (zh) | 視訊編解碼方法及其裝置 | |
TWI832602B (zh) | 轉換係數符號的熵編碼 | |
CN114731433B (zh) | 一种视频编解码方法及装置 | |
CN113497935A (zh) | 视频编解码方法及设备 | |
WO2023131299A1 (en) | Signaling for transform coding | |
TWI830482B (zh) | 視訊編碼方法、裝置以及視訊解碼方法、裝置 | |
TWI734178B (zh) | 具有產出限制的編碼轉換係數 | |
TW202349957A (zh) | 基於模板的幀內模式推導和預測 | |
TW202349954A (zh) | 自適應編解碼的圖像以及視訊資料 | |
TW202406350A (zh) | 統一的交叉分量模型推導 | |
TW202349952A (zh) | 視訊編解碼方法及其裝置 | |
TW202420818A (zh) | 用於跨分量非線性模式推導之相鄰樣本存取 | |
TW202412522A (zh) | 約束卷積模型的係數 | |
TW202404354A (zh) | 利用卷積模型的預測改進 | |
TW202335499A (zh) | 多模型跨分量線性模型預測 | |
TW202408242A (zh) | 隱式多通道解碼器端運動向量細化 | |
TW202325020A (zh) | 視訊編碼方法、裝置以及視訊解碼方法、裝置 |