TWI840086B - 係數解碼方法、裝置、圖像解碼器及電子設備 - Google Patents
係數解碼方法、裝置、圖像解碼器及電子設備 Download PDFInfo
- Publication number
- TWI840086B TWI840086B TW112101085A TW112101085A TWI840086B TW I840086 B TWI840086 B TW I840086B TW 112101085 A TW112101085 A TW 112101085A TW 112101085 A TW112101085 A TW 112101085A TW I840086 B TWI840086 B TW I840086B
- Authority
- TW
- Taiwan
- Prior art keywords
- coefficient
- code
- length
- coefficient group
- group
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 200
- 238000004891 communication Methods 0.000 claims description 20
- 230000009466 transformation Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 32
- 238000013139 quantization Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 241001270131 Agaricus moelleri Species 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009419 refurbishment Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Abstract
本發明實施例提供一種係數解碼方法、裝置、圖像解碼器及電子設備,涉及圖像編解碼領域,能夠提升圖像解碼性能。該方法包括:解析碼流,獲得待解碼單元的係數組資訊,待解碼單元的係數被劃分包括至少一個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,至少一個係數組包括第一係數組,係數組資訊包括第一係數組的邊界符號;將第一係數組的係數碼解析為係數值;根據邊界符號確定第一係數組中的係數值為正值或負值。
Description
本發明實施例涉及圖像編解碼技術領域,尤其涉及一種係數解碼方法、裝置、圖像解碼器及電子設備。
無失真壓縮就是指對原圖像中的冗餘資訊進行壓縮,重建原圖像而不引起任何失真的技術。如果重建後圖像和原圖像存在誤差,而誤差被限制在一定的範圍內可稱為近無失真壓縮。在壓縮編碼過程中,預測原圖像中像素間的殘差值,殘差值用於指示像素間的差異。採用半定長編碼(Semi Fixed-Length Code)對殘差值進行編碼,進一步降低編碼長度。但是現有的半定長編碼技術仍然存在編碼長度較長,編碼效率較低的問題。
本發明實施例提供一種係數解碼方法、裝置、圖像解碼器及電子設備,能夠提升圖像解碼性能。
為達到上述目的,本發明實施例採用如下技術方案:
第一方面,本發明實施例提供一種係數解碼方法,包括:解析碼流,獲得待解碼單元的係數組資訊,待解碼單元的係數被劃分包括為一個或多個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,至少一個係數組包括第一係數組,係數組資訊包括第一係數組的邊界符號;將第一係數組的係數碼解析為係數值;根據邊界符號確定第一係數組中的係數值為正值或負值。
本發明實施例提供的係數解碼方法中,對比現有技術,未引入邊界符號的定長編碼的解碼範圍為[0,2^bit_depth-1],在引入邊界符號對該係數組的係數碼進行定長解碼的情況下,根據該係數組的邊界符號確定該係數組的正負,將定長編碼的解析範圍從[0,2^bit_depth-1]變化為[-2^(coding length-1)-1,2^(coding length-1)],無需在係數組中存在係數值等於2^bit_depth-1的情況下增加該係數組對應的碼長,提高了編解碼效率。
一種可能的實現方式中,係數組資訊還包括第一係數組的碼長和圖像位元寬,碼長用於表示第一係數組對應的定長編碼的長度,將第一係數組的係數碼解析為係數值,包括:若碼長大於或等於圖像位元寬,則採用長度與圖像位元寬等長的定長編碼將第一係數組的係數碼解析為係數值;若碼長小於圖像位元寬,則採用碼長的定長編碼將第一係數組的係數碼解析為係數值。
係數組對應的圖像位元寬用於表示該係數組中係數值的取值範圍,根據該係數組對應的預設碼長的定長編碼和該係數組中係數值的解析取值範圍,確定該係數組對應定長編碼和係數值的解析範圍,保證了判斷方式的準確性。係數組對應的圖像位元寬可以由碼流解析獲得,能夠簡單快速地提取判斷所需資料,提高了判斷效率。根據兩種情況採用不同碼長的定長編碼對係數碼進行解析,提高了解碼效率。
一種可能實現的方式中,係數組的碼長包括係數組碼長和係數位碼長,係數位碼長用於表示第一係數組中特定位置的係數碼對應的定長編碼的長度,其中,特定位置根據編解碼一致性獲得或上下文匯出。則採用長度為碼長的定長編碼將所述第一係數組的係數碼解析為係數值,包括:採用長度為係數位元碼長的定長編碼將第一係數組中特定位置的係數碼解析為係數值;採用長度為係數組碼長的定長編碼將第一係數組中除特定位置外的係數碼解析為係數值。在係數分佈不均勻時,對於一些特定位置的係數碼,對同一係數組內的係數碼使用不同長度的定長編碼進行解析,避免由於係數組中少數特定位置的係數碼與其他位置係數碼的差值較大而增加係數組的整體編碼長度,提高了解碼效率。
一種可能的實現方式中,在編碼排序時會根據係數值的大小
將對應碼長相同或相近的係數碼放入同一係數組,因此同一係數組中的係數值存在對應碼長的定長編碼的解析極值時,同一係數組中的其它係數值和解析極值同為正或同為負。因此,在第一係數組中存在絕對極值的情況下,根據邊界符號確定係數組中的所有係數值全部為正值或全部為負值,絕對極值為該係數組對應碼長的定長編碼的編碼值範圍的最大絕對值。同一係數組採用一個邊界符號表示係數正負,提高了編碼效率。
一種可能的實現方式中,將同一係數組劃分為多個係數塊,在任一係數塊中存在絕對極值的情況下,根據任一係數塊的邊界符號確定任一係數塊中的所有係數值全部為正或全部為負。進一步提高了邊界符號對係數值的正負性的指示精度。
一種可能的實現方式中,在編碼過程中,若預測值和殘差值進行量化,與將預測值和殘差值進行係數變換後進行量化相比,具有相同或更好的圖像傳輸品質和編解碼效率,則對預測值和殘差值進行量化獲得殘差係數,不會進行係數變換步驟。
因此,解碼設備解析碼流獲得的待解碼單元中的係數碼可能是殘差係數的半定長編碼結果,或是變換係數的半定長編碼結果。上述任一實現方式中的係數解碼方法能夠應用於殘差係數或變換係數的解碼,提高了該係數解碼方法的適用性。
一種可能的實現方式中,變換係數中包括的直流係數組和交流係數組被分別劃分為不同係數組。每個係數組的碼長在係數組資訊中為碼長編碼形式,邊界符號在係數組資訊中為邊界符號編碼形式。針對係數組中的係數為變換係數,且該係數組為直流係數組的情況,採用直流係數解碼方式(如定長碼)解析係數組的碼長編碼,獲得該係數組對應的碼長,採用該係數組對應的碼長的定長編碼解析係數組的邊界符號碼,獲得邊界符號。在另一示例中,針對係數組中的係數為變換係數,且該係數組為直流係數組的情況,可採用定長碼解析係數組的碼長編碼,獲得該係數組對應的碼長,採用該係數組對應的碼長的定長編碼解析直流係數值,採用固定碼長為1解析係數組的邊界符號碼,獲得邊界符號。
一種可能的實現方式中,在係數組中的係數為變換係數,且
係數組為交流係數組的情況下,採用定長解碼方式解析該係數組對應的碼長編碼,獲得該係數組對應的碼長;採用該係數組對應碼長的定長編碼解析係數組的邊界符號碼,獲得邊界符號。
由於在對殘差值和預測值進行係數變換時會產生直流係數和交流係數,則針對直流係數和交流係數分別進行係數組劃分的情況,採用直流係數解碼方式解析直流係數組的碼長編碼,採用定長解碼方式解析交流係數組的碼長編碼,能夠對直流係數和交流係數分別進行係數編解碼,避免同一係數組中係數值差異較大需要較長碼長的定長編碼進行編解析的問題,提高了解碼效率。
一種可能的實現方式中,確定待解碼單元中的第一係數組,包括:從碼流中確定待解碼單元的掃描方式和分組方式;根據掃描方式掃描待解碼單元,獲得掃描結果;根據分組方式將掃描結果劃分為一個或多個係數組,第一係數組為一個或多個係數組中的任一係數組。
在編解碼過程中,解碼可以是為編碼的逆步驟,編碼端和解碼端使用的掃描方式、分組方式、定長編碼等均為預先約定一致,遵循編解碼一致性。在半定長編碼時採用一掃描方式和分組方式對殘差係數或變換係數進行排序分組,將不同碼長的定長編碼進行編碼的係數值分別設置為不同分組,則通過碼流將該掃描方式和分組方式傳輸至解碼設備,解碼設備根據該掃描方式和分組方式確定的係數組使用同一碼長的定長編碼,保證了編解碼一致性,從而保證了編解碼準確性。
一種可能的實現方式中,係數組資訊包括每個係數組的碼長閾值和係數附加值,在係數組對應碼長大於該係數組的碼長閾值的情況下,在通過定長解碼方式獲得係數值之後,還包括:將係數值與係數組的係數附加值相加,獲得該係數組的係數值。
解碼設備基於碼長閾值判斷係數組是否在編碼時將係數組中所有係數值減去同一係數附加值,能夠在解碼端解碼係數組中的值後再加上係數附加值,以還原係數組中係數值,編碼設備傳輸預設均值至解碼設備,解碼設備基於係數附加值還原係數值,避免對係數組中原始的較大係數值對應的長編碼進行傳輸,提高了編解碼效率。
一種可能的實現方式中,係數組資訊中除了包括用於表示極值正負的符號位元之外,係數組資訊還可以包括每個係數組的係數補償值。係數補償值用於對係數組中極值進行補償。則在根據邊界符號確定係數組中的係數值為正值或負值之後,還包括:將係數值中的絕對極值與係數補償值相加,獲得該係數組中絕對極值位置的係數值。通過較短的編碼長度獲得極值加係數補償值的和的解析範圍,從而提高了編解碼效率。
一種可能的實現方式中,將係數組劃分為多個係數塊,每個係數組的係數補償值包括該係數組中所有係數塊的係數補償值,則在根據邊界符號確定係數組中的係數值為正值或負值之後,還包括:將每個係數塊中的絕對極值與同一係數塊的係數補償值相加,獲得每個係數塊的絕對極值位置的係數值。使係數補償值能夠對每個係數塊中的極值進行補償,進一步提高了編碼效率。
第二方面,本發明實施例提供一種係數解碼裝置,包括解析模組和解碼模組,其中,解析模組用於解析碼流,獲得待解碼單元的係數組資訊,待解碼單元的係數被劃分包括為一個或多個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,至少一個係數組包括第一係數組,係數組資訊包括第一係數組的邊界符號。解碼模組用於將第一係數組的係數碼解析為係數值,還用於根據邊界符號確定所述第一係數組中的係數值為正值或負值。
第三方面,本發明實施例提供一種圖像解碼器,該圖像解碼器用於執行第一方面及其可能的實現方式中任意之一所述的係數解碼方法。
第四方面,本發明實施例提供一種電子設備,包括第三方面所述的圖像解碼器、通信介面以及記憶體;該圖像解碼器用於執行上述第一方面及其可能的實現方式中任意之一所述的係數解碼方法。
第五方面,本發明實施例提供一種電腦可讀存儲介質,包括電腦指令,當電腦指令在電子設備上運行時,使得電子設備執行上述第一方面及其可能的實現方式中任意之一所述的係數解碼方法。
第六方面,本發明實施例提供一種電腦程式產品,當電腦程
式產品在電腦上運行時,執行第一方面及其可能的實現方式中任意之一所述的係數解碼方法。
第七方面,本發明實施例提供一種裝置,包括記憶體和處理器。記憶體用於存儲電腦指令。處理器用於從記憶體中調用並運行該電腦指令,以使得電子設備執行第一方面及其可能的實現方式中任意之一所述的係數解碼方法。
第八方面,本發明實施例提供一種圖像編解碼系統,包括圖像編碼設備和圖像解碼設備,圖像解碼設備用於從圖像編碼設備接收圖像碼流,並且執行第一方面及其可能的實現方式中任意之一所述的係數解碼方法以對圖像碼流進行係數解碼,根據係數解碼結果進行圖像重建,得到解碼後的圖像。
應當理解的是,本發明實施例的第二方面至第八方面技術方案及對應的可能的實施方式所取得的有益效果可以參見上述對第一方面及其對應的可能的實施方式的技術效果,此處不再贅述。
1,2:並行編碼單元
10:編解碼系統
11:源設備
111:圖像前置處理器
112,20:編碼器
113,121:通信介面
12:目的設備
122,30:解碼器
123:圖像後處理器
13:係數解碼裝置
131:解析模組
132:解碼模組
141:圖像解碼器
142:記憶體
201,304:預測處理單元
202:殘差計算單元
203:變換處理單元
204:量化單元
205:編碼單元
301:解碼單元
302:反量化單元
303:反變換處理單元
305:重構單元
306:濾波器單元
A:碼長附加值
B,D:碼長閾值
C:係數值範圍資料
Cb,Cr,U,V:色度
E:預設值
G:係數附加值
S501,S502,S503,S504,S601,S602,S603:步驟
Y:亮度
圖1為本發明實施例提供的一種編解碼系統的架構示意圖;
圖2為本發明實施例提供的一種編碼器的示意性框圖;
圖3為本發明實施例提供的一種解碼器的示意性框圖;
圖4為本發明實施例提供的一種編/解碼的流程示意圖;
圖5為本發明實施例提供的一種係數編碼方法示意圖;
圖6為本發明實施例提供的一種係數解碼方法示意圖;
圖7為本發明實施例提供的一種掃描方式示意圖之一;
圖8為本發明實施例提供的一種分組方式示意圖之一;
圖9為本發明實施例提供的一種掃描方式示意圖之二;
圖10為本發明實施例提供的一種分組方式示意圖之二;
圖11為本發明實施例提供的一種掃描及分組方式示意圖之一;
圖12為本發明實施例提供的一種掃描及分組方式示意圖之二;
圖13為本發明實施例提供的一種係數解碼裝置的結構示意圖;
圖14為本發明實施例提供的一種電子設備的硬體結構圖。
本文中術語“和/或”,僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。
本發明實施例的說明書和申請專利範圍中的術語“第一”和“第二”等是用於區別不同的物件,而不是用於描述物件的特定順序。例如,第一預測模式和第二預測模式等是用於區別不同的預測模式,而不是用於描述預測模式的特定順序。
在本發明實施例中,“示例性的”或者“例如”等詞用於表示作例子、例證或說明。本發明實施例中被描述為“示例性的”或者“例如”的任何實施例或設計方案不應被解釋為比其它實施例或設計方案更優選或更具優勢。確切而言,使用“示例性的”或者“例如”等詞旨在以具體方式呈現相關概念。
在本發明實施例的描述中,除非另有說明,“多個”的含義是指兩個或兩個以上。例如,多個預測單元是指兩個或兩個以上的多個預測單元,多個編碼塊是指兩個或兩個以上的編碼塊。
本發明實施例提供的係數解碼方法也可以用於視頻解碼、圖像解碼等,應理解,只要存在將預測值、殘差值或係數值等進行半定長編碼的編碼方式,本發明提供的係數解碼方法均適用。
下面對現有的圖像編解碼技術和半定長編碼技術進行說明。
以JPEG(Joint Photographic Experts Group)圖像壓縮方式為例,首先將圖像由RGB(Red-Green-Blue)格式轉換為YUV(Y表示明亮度,U和V表示色度)格式。然後按照一定的採樣格式對YUV格式的圖像進行採樣,並將圖像劃分成多個資料塊,其中,源圖像中每點的三個分量(Y、U、V)是交替出現的,先要把這三個分量分開,存放到三張表中。編碼時,從來源資料中讀取一個資料塊後,進行離散餘弦變換(Discrete Cosine Transform,DCT)變換、量化以及編碼,然後再讀取、處理下一個資料塊。其中,編碼可以包括二值化和熵編碼步驟。其中,二值化也叫二進位化,對需要編碼的符號或係數進行二值化,經過二值化後的符號或係
數轉化為二元字串,不同的二值化方法對相同的係數進行編碼得到的二元字串可能具有不同的二元概率模型,以及不同的字串長度。熵編碼是指按照資訊熵的原理進行的無損編碼方式,把一系列用來表示圖像序列的元素符號轉變為一個用來傳輸或存儲的二進位碼流,熵編碼後的輸出資料即原始圖像壓縮後的最終碼流。DCT變換是將圖像從時域信號變換至頻域。由於大部分圖像的能量主要集中在低頻區域,且人眼對低頻較為敏感,因此通過量化將高頻係數置零可以在變換模組的基礎上減小圖像編碼的動態範圍。去除高頻區域的變換係數,減小碼率的開銷,並且不會造成很大的失真。其中,將殘差值組成殘差塊,殘差塊經過變換、量化後的係數稱為變換係數。
應當理解的是,編碼和解碼的過程相反,例如編碼時對圖像依次進行色域轉換、採樣、DCT變換、量化以及編碼,解碼時則需要對接收到的碼流依次進行解碼、反量化、逆離散餘弦變換,然後對逆離散餘弦變換的結果進行逆採樣順序排列,最後將圖像資料從YUV格式轉換回RGB格式。
在無損與近無損視訊壓縮演算法中,例如在利用JPEG圖像壓縮方式編碼時,在執行量化步驟後,經常會使用半定長編碼方式對量化後資料進行編碼,將待編碼係數按照預測方向以及殘差大小進行分組,每個組對應一個碼長編碼,對同一個組內的係數使用相同的碼長的定長編碼進行編碼。
例如,一個資料塊量化後的資料包括(-4,-4,-3,-2,-1,0,1,2,3,7),則可以將其劃分為(-1,0,1),(-3,-2,2,3),(-4,-4,7)。其中,(-1,0,1)對應的碼長編碼的碼長為2,(-3,-2,2,3)對應的碼長編碼的碼長為3,(-4,-4,7)對應的碼長編碼的碼長為4;或者,(-1,0,1)對應的碼長編碼的碼長為1,(-3,-2,2,3)對應的碼長編碼的碼長為2,(-4,-4,7)對應的碼長編碼的碼長為3,再使用碼長為1編每個資料的符號或再使用碼長為1編每個非0資料的符號。
現有的半定長編碼對量化後的組內資料進行固定長度的定長碼分組,雖然可以一定程度上進行無損編碼,但在某一碼長對應的分組中
存在該碼長的定長編碼的解析範圍的極值時,需要增加該係數組所有的編碼長度,因此這樣的編碼碼長依然比較大,為了進一步提高編碼性能,本發明實施例提供了一種係數解碼方法。
下面描述本發明實施例的係數解碼方法所應用的系統架構。參見圖1,給出了本發明實施例所應用的編解碼系統(也可以稱為編碼及解碼系統)10的架構示意圖。如圖1所示,編解碼系統10可以包括源設備11和目的設備12,源設備11用於對圖像進行編碼,因此,源設備11可被稱為視頻編碼裝置。目的設備12用於對由源設備11所產生的經編碼的圖像資料進行解碼,因此,目的設備12可被稱為視頻解碼裝置。
源設備11和目的設備12可以包括各種裝置,例如,包含桌上型電腦、移動計算裝置、筆記型(例如,膝上型)電腦、平板電腦、機上盒、手機、電視機、相機、顯示裝置、數位媒體播放機、視頻遊戲控制台、車載電腦、無線通訊設備等等。
在一個例子中,圖1中的源設備11和目的設備12可以是兩個單獨的設備,或者,源設備11和目的設備12為同一設備,即源設備11或對應的功能以及目的設備12或對應的功能可以集成在同一個設備上。
源設備11和目的設備12之間可以進行通信,例如,目的設備12可從源設備11接收經編碼圖像資料。在一個實例中,源設備11和目的設備12之間可以包括一個或多個通信媒體,通過一個或多個通信媒體傳輸經編碼圖像資料,該一個或多個通信媒體可包含路由器、交換器、基地台或促進從源設備11到目的設備12的通信的其它設備。
如圖1所示,源設備11包括編碼器112,在一個例子中,源設備11還可以包括圖像前置處理器111以及通信介面113。其中,圖像前置處理器111,用於對接收到的待編碼圖像執行預處理,例如,圖像前置處理器111執行的預處理可以包括整修、色彩格式轉換(例如,從RGB格式轉換為YUV格式)、調色或去噪等。編碼器112,用於接收經預處理的圖像,採用相關預測模式(如本文各個實施例中的預測模式)對經預處理的圖像進行處理,從而提供經編碼圖像資料。在一些實施例中,編碼器112可以用於執行下文中所描述的各個實施例中的圖像編碼過程。通信介面113,
可用於將經編碼圖像資料傳輸至目的設備12或任何其它設備(如記憶體),以用於存儲或直接重構,其它設備可為任何用於解碼或存儲的設備。通信介面113也可以將經編碼圖像資料封裝成合適的格式之後再傳輸。
在一個例子中,上述圖像前置處理器111、編碼器112以及通信介面113可能是源設備11中的硬體部件,也可能是源設備11中的軟體程式,本發明實施例不做限定。
繼續如圖1所示,目的設備12包括解碼器122,在一個例子中,目的設備12還可以包括通信介面121、圖像後處理器123。其中,通信介面121可用於從源設備11或任何其它源設備接收經編碼圖像資料,該任何其它源設備例如為存放裝置。通信介面121還可以解封裝通信介面113所傳輸的資料以獲取經編碼圖像資料。解碼器122,用於接收經編碼圖像資料並輸出經解碼圖像資料(也稱為經重構圖像資料或已重構圖像資料)。在一些實施例中,解碼器122可以用於執行下文中所描述的各個實施例所述的係數解碼過程。
圖像後處理器123,用於對經解碼圖像資料執行後處理,以獲得經後處理像資料。圖像後處理器123執行的後處理可以包括:色彩格式轉換(例如,從YUV格式轉換為RGB格式)、調色、整修或重採樣,或任何其它處理,還可用於將經後處理圖像資料傳輸至顯示裝置進行顯示。
同理,在一個例子中,上述通信介面121、解碼器122以及圖像後處理器123可能是目的設備12中的硬體部件,也可能是目的設備12中的軟體程式,本發明實施例不做限定。
下面對圖1中的編碼器和解碼器的結構進行簡單介紹。
參見圖2,圖2示出用於實現本發明實施例的編碼器20的實例的示意性框圖。在圖2中,編碼器包括預測處理單元201、殘差計算單元202、變換處理單元203、量化單元204、編碼單元205。在一個例子中,編碼器還包括反量化單元(也可以稱為逆量化單元)、反變換處理單元(也可以稱為逆變換處理單元)、重構單元(或者稱為重建單元)以及濾波器單元。在一個例子中,編碼器20還可以包括緩衝器、經解碼圖像緩衝器,
其中,緩衝器用於緩存重構單元輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元輸出的濾波後的圖像塊。
編碼器20的輸入為圖像(可以稱為待編碼圖像)的圖像塊,圖像塊也可以稱為當前圖像塊或待編碼圖像塊,編碼器20中還可以包括分割單元(圖2中未示出),該分割單元用於將待編碼圖像分割成多個圖像塊。編碼器20用於逐塊編碼從而完成對待編碼圖像的編碼,例如,對每個圖像塊執行編碼過程。
預測處理單元201,用於接收或獲取圖像塊(當前待編碼圖像的當前待編碼圖像塊,也可以稱為當前圖像塊,該圖像塊可以理解為圖像塊的真實值)和已重構圖像資料,基於已重構圖像資料中的相關資料對當前圖像塊進行預測,得到當前圖像塊的預測塊。
殘差計算單元202用於計算圖像塊的真實值和該圖像塊的預測塊之間的殘差,得到殘差塊,例如,通過逐像素將圖像塊的像素值減去預測塊的像素值。
變換處理單元203用於對殘差塊進行例如離散餘弦變換和離散正弦變換(Discrete Sine Transform,DST)等係數變換,以在變換域中獲取變換係數。應當理解的是,本實施中變換處理單元203可以對殘差塊進行係數變換,在殘差塊與變換係數的編碼效率差距較小時,也可以不對殘差塊進行係數變換。
量化單元204用於通過應用標量量化或向量量化來量化變換係數,以獲取經量化變換係數,經量化變換係數也可以稱為經量化殘差係數。量化過程可以減少與部分或全部變換係數有關的位元深度。例如,可在量化期間將n位變換係數向下舍入到m位變換係數,其中n大於m。可通過調整量化參數(Quantization Parameter,QP)修改量化程度。例如,對於標量量化,可以應用不同的標度來實現較細或較粗的量化。較小量化步長對應較細量化,而較大量化步長對應較粗量化。可以通過量化參數指示合適的量化步長。
編碼單元205用於對上述經量化殘差係數或變換係數進行編碼,然後以一掃描方式和分組方式將係數編碼排列為待解碼單元,以編碼
位元流的形式輸出的經編碼圖像資料(即待解碼單元),然後可以將經編碼位元流傳輸到解碼器,或將其存儲起來,後續傳輸至解碼器或用於檢索。編碼單元205還可用於對當前圖像塊的其它語法元素進行編碼,例如將預測模式編碼至碼流等。可選地,本實施例中可以採用一元碼、截斷一元碼、截斷二元碼、定長編碼、半定長編碼、游程編碼、k階指數哥倫布編碼、截斷萊斯編碼、哥倫布-萊斯編碼、霍夫曼編碼、算術編碼、自我調整變長編碼等,其中的一種或結合多種編碼方式,對係數進行編碼。
具體的,在本發明實施例中,編碼器20用於實現後文實施例中描述的圖像編碼方法。
參見圖3,圖3示出用於實現本發明實施例的解碼器30的實例的示意性框圖。解碼器30用於接收例如由編碼器20編碼的經編碼圖像資料(即經編碼位元流,例如,包括圖像塊的經編碼位元流及相關聯的語法元素),以獲取經解碼圖像。解碼器30包括解碼單元301、反量化單元302、反變換處理單元303、預測處理單元304、重構單元305、濾波器單元306。在一些實例中,解碼器30可執行大體上與圖2的編碼器20描述的編碼遍次互逆的解碼遍次。在一個例子中,解碼器30還可以包括緩衝器、經解碼圖像緩衝器,其中,緩衝器用於緩存重構單元305輸出的重構圖像塊,經解碼圖像緩衝器用於緩存濾波器單元306輸出的濾波後的圖像塊。
解碼單元301用於對經編碼圖像資料執行解碼,以獲取經量化係數(例如殘差係數或變換係數)。解碼單元301還用於將上述經解碼的編碼參數轉發至預測處理單元304,以供預測處理單元根據編碼參數執行預測過程。
反量化單元302用於對上述經量化係數進行反量化,以獲取經反量化係數,該反量化是上述量化單元204的反向應用,例如,基於或使用與量化單元204相同的量化步長,應用量化單元204應用的量化方案的逆量化方案。經反量化係數也可以稱為經反量化殘差係數或經量化變換係數。
反變換處理單元303用於對上述反量化係數進行反變換,應理解,該反變換是上述變換處理單元203的反向應用,例如,反變換可以
包括逆離散餘弦變換或逆離散正弦變換,以在像素域(或者稱為樣本域)中獲取逆變換塊。逆變換塊也可以稱為逆變換經反量化塊或逆變換殘差塊。
重構單元305(例如求和器)用於對上述經量化係數進行逆變換(例如,逆DCT、逆整數變換或概念上類似的逆變換過程),得到逆變換塊(也可以稱為逆變換殘差塊),該逆變換塊即為當前圖像塊在像素域中的殘差塊。
預測處理單元304,用於接收或獲取經編碼圖像資料(例如當前圖像塊的經編碼位元流)和已重構圖像資料,預測處理單元304還可以從例如解碼單元301接收或獲取預測相關參數和/或關於所選擇的預測模式的資訊(即經解碼的編碼參數),並且基於已重構圖像資料中的相關資料和經解碼的編碼參數對當前圖像塊進行預測,得到當前圖像塊的預測塊。
重構單元305用於將逆變換塊(即逆變換殘差塊)添加到預測塊,以在樣本域中獲取經重構塊,例如將逆變換殘差塊的樣本值與預測塊的樣本值相加。
濾波器單元306用於對經重構塊進行濾波以獲取經濾波塊,該經濾波塊即為經解碼圖像塊。
具體的,在本發明實施例中,解碼單元301用於實現後文實施例中描述的係數解碼方法。
應當理解的是,在本發明實施例的編碼器20和解碼器30中,針對某個環節的處理結果也可以經過進一步處理後,輸出到下一個環節。
下面在圖1~圖3所示出的編解碼系統、編碼器以及解碼器的基礎上,本發明實施例提供一種可能的編/解碼實現方式,如圖4所示,圖4為本發明實施例提供的一種編/解碼的流程示意圖,該編/解碼實現方式包括過程至過程,過程至過程可以由上述的源設備11、編碼器20、目的設備12或解碼器30中的任意一個或多個執行。
例如,獨立編碼單元的寬為w_lcu,高為h_lcu。若並行編碼單元劃分成一個獨立編碼單元,則獨立編碼單元的尺寸與並行編碼單元完全相同;否則,則獨立編碼單元的寬應大於高(除非是邊緣區域)。
通常的,獨立編碼單元可為固定的w_lcu×h_lcu,w_lcu和h_lcu均為2的N次方(N0),如獨立編碼單元的尺寸為:128×4,64×4,32×4,16×4,8×4,32×2,16×2或8×2等。
作為一種可能的示例,獨立編碼單元可為固定的128×4。若並行編碼單元的尺寸為256×8,則可將並行編碼單元等分為4個獨立編碼單元;若並行編碼單元的尺寸為288×10,則並行編碼單元劃分為:第一/二行為2個128×4+1個32×4的獨立編碼單元;第三行為2個128×2+1個32×2的獨立編碼單元。
值得注意的是,獨立編碼單元既可以是包括亮度Y、色度Cb、色度Cr三個分量,或紅(R)、綠(G)、藍(B)三個分量,也可以僅包含其中的某一個分量。若獨立編碼單元包含三個分量,則這三個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像的輸入格式相關。
若獨立編碼單元分成多個互相不重疊的編碼單元,則其可行劃分例子有:水平等分(編碼單元的高與獨立編碼單元相同,但寬不同,可為其1/2,1/4,1/8,1/16等),垂直等分(編碼單元的寬與獨立編碼單元相同,高不同,可為其1/2,1/4,1/8,1/16等),水平和垂直等分(四叉樹劃分)等,優選為水平等分。
編碼單元的寬為w_cu,高為h_cu,則其寬應大於高(除非是邊緣區域)。通常的,編碼單元可為固定的w_cu×h_cu,w_cu和h_cu均為2的N次方(N大於等於0),如16×4,8×4,16×2,8×2,8×1,4×1等。
作為一種可能的示例,編碼單元可為固定的16×4。若獨立編碼單元的尺寸為64×4,則可將獨立編碼單元等分為4個編碼單元;若獨立編碼單元的尺寸為72×4,則編碼單元劃分為:4個16×4+1個8×4。
值得注意的是,編碼單元既可以是包括亮度Y、色度Cb、色度Cr三個分量(或紅R、綠G、藍B三分量),也可以僅包含其中的某一個分量。若包含三個分量,幾個分量的尺寸可以完全一樣,也可以不一樣,具體與圖像輸入格式相關。
過程:對於編碼單元,可以將其再分成一個或多個互相不重疊的預測組(Prediction Group,PG),PG也可簡稱為Group,各個PG按照選定預測模式進行編解碼,得到PG的預測值,組成整個編碼單元的預測值,基於預測值和編碼單元的原始值,獲得編碼單元的殘差值。
其中,過程中通過選定的掃描方式對編碼單元進行分組,掃描方式可以包括,但不限於下述任一種或多種:光柵掃描、塊掃描、水平掃描、垂直掃描、往返(水平/垂直)掃描、對角(左上,右上,左下,右下)掃描、逆對角線掃描、逆水平掃描、逆垂直掃描或基於一個固定的掃描範本進行掃描等。
過程:基於編碼單元的殘差值,對編碼單元進行分組,獲得一個或多個相不重疊的殘差小塊(Residual Block,RB),各個RB的殘差係數或變換係數按照選定模式進行編解碼,形成殘差係數流或變換係數流。
上述過程中殘差係數或變換係數的編解碼方法的選定模式可以包括,但不限於下述任一種或多種:一元碼、截斷一元碼、截斷二元
碼、定長編碼、半定長編碼、游程編碼、k階指數哥倫布編碼、截斷萊斯編碼、哥倫布-萊斯編碼、霍夫曼編碼、算術編碼、自我調整變長編碼等。
例如,編碼器可直接對RB內的係數進行編碼。
又如,編碼器也可對殘差塊進行變換,如DCT、DST、Hadamard變換等,再對變換後的係數進行編碼。
作為一種可能的示例,當RB較小時,編碼器可直接對RB內的各個係數進行統一量化,再進行二值化編碼。若RB較大,可進一步劃分為多個係數組(Coefficient Group,CG),再對各個CG進行統一量化,再進行二值化編碼。在本發明的一些實施例中,係數組和量化組可以相同。
下面以半定長編碼方式對殘差係數編碼的部分進行示例性說明。首先,將一個RB塊內殘差絕對值的最大值定義為修整最大值(modified maximum,mm)。其次,確定該RB塊內殘差係數的編碼比特數(同一個RB塊內殘差係數的編碼比特數一致)。例如,若當前RB塊的關鍵限值(Critical Limit,CL)為2,當前殘差係數為1,則編碼殘差係數1需要2個比特,可表示為01。若當前RB塊的CL為7,則表示編碼7bit的殘差係數和1bit的符號位元。CL的確定是去找滿足當前子塊所有殘差都在[-2^(coding length-1)-1,2^(coding length-1)]以及邊界值範圍之內的最小coding length值,邊界值可以是-2^(coding length-1)或2^(coding length-1)。若當前RB塊中存在絕對值為2^(coding length-1)的係數值,則在碼流中增加一個邊界符號編碼,即需要根據邊界符號編碼表示的邊界符號確定當前RB塊中係數值2^(coding length-1)的正負;若所有殘差均不存在-2^(coding length-1)和2^(coding length-1)中的任何一個,則無需編碼該邊界符號位元。若係數組中存在絕對值為2^(coding length-1)的係數值,可以用一個邊界符號編碼表示該係數組中所有係數的正負。
另外,對於某些特殊的情況,編碼器也可以直接編碼圖像的原始值,而不是殘差值。
結合上述圖1所示的編解碼系統、圖2所示的編碼器以及圖
3所示的解碼器的框架示意圖,下面對本發明涉及的圖像編碼方法和係數解碼方法進行詳細描述。
首先,本發明實施例提供一種係數編碼方法,可應用於編碼單元205,如圖5所示,該係數編碼方法可以包括步驟S501-S504。
步驟S501:編碼單元205確定待編碼單元的掃描方式和最優分組方式。
上述待編碼單元的掃描方式和分組方式可以根據編解碼一致性中編碼單元205和解碼單元301約定獲得。
最優分組方式可以根據每種分組方式的編碼代價確定。編碼代價可以使用率失真優化(Rate Distortion Optimation)、最小化率失真代價(Rate Distortion Cost)等方式計算獲得。編碼代價最小的分組方式為最優分組方式,即讓頻率高的編碼儘量短,頻率低的編碼較長。可選地,最優分組方式可以根據編編碼單元205和解碼單元301在編解碼一致性中的約定獲得,或解碼單元301根據上下文匯出(根據已編碼資料匯出、殘差係數或已編碼的參數匯出),或編碼單元205傳參獲得。
步驟S502:編碼單元205根據最優分組方式將待編碼單元劃分為多個係數組。
步驟S503:編碼單元205確定每個係數組的係數組資訊。
可選地,係數組資訊可以包括該係數組對應的碼長、邊界符號和圖像位元寬,該係數組對應的碼長用於表示係數組中的係數碼由該碼長長度的定長編碼進行編碼獲得。
其中,圖像位元寬(bit_depth)表示原始資料或重建資料的最大比特位元,根據一係數組對應的碼長和圖像位元寬,能夠判斷該係數組中是否存在超過該碼長的定長編碼值範圍的係數值。若係數組中不存在超過該碼長的定長編碼值範圍的係數值,則不需要為該係數組設置邊界符號,即該係數組的編碼範圍是[0,2^bit_depth-1]。若係數組中存在超過該碼長的定長編碼值範圍的係數值,則需要為該係數組設置邊界符號,使該係
數組的編碼範圍為[-2^(coding length-1)-1,2^(coding length-1)]。
可選地,若一係數組記憶體在邊界符號,則該係數組可採用同一個邊界符號表示係數組內所有係數值同時為正或同時為負,即該係數組共用一個邊界符號。
在另一實施例中,若一係數組記憶體在邊界符號,則該係數組內絕對值等於絕對極值,即等於2^(coding length-1)的係數值可採用同一個邊界符號,以表示這些係數值同時為正或同時為負,即這些絕對值等於2^(coding length-1)的係數值共用一個邊界符號。
步驟S504:編碼單元205針對每個係數組,根據係數組對應碼長的定長編碼對係數組的係數值、碼長、邊界符號和圖像位元寬進行編碼,獲得係數定長編碼和係數組資訊。
應當理解的是,在進行係數編碼時,根據不同的預測模式,存在不同的掃描方式,針對不同的掃描方式存在不同的分組方式,也就存在不同的係數分組情況,因此對應不同的係數編碼方法。因此除了上述步驟S501-S504的係數編碼方法,還可以根據不同的係數分組情況對上述步驟S501-S504的係數編碼方法進行一個或多個步驟的適應性細化或變化,此處不再對係數編碼方法的具體實施方式進行舉例說明,參考下文係數解碼方法的具體實施例可以逆向推理出編碼步驟。
對於圖5所示的係數編碼方法,編碼單元205完成係數編碼之後,將碼流傳輸至解碼單元301。相應地,本發明實施例提供了一種係數解碼方法,應用於解碼單元301,如圖6所示,該係數解碼方法可包括步驟S601-S603。
步驟S601:解碼單元301解析碼流,獲得待解碼單元和係數組資訊。
上述待解碼單元包括至少一個係數組,每個係數組包括至少一個係數定長編碼,係數組資訊包括每個係數組的邊界符號,每個係數組中的係數碼採用相同碼長的定長編碼進行解碼。
應當理解的是,在對某個係數組進行解析前,需要從待解碼單元中提取該係數組,本實施例可以解析碼流獲得待解碼單元對應的掃描
方式和分組方式,根據該掃描方式掃描待解碼單元,獲得掃描結果,該掃描結果將待解碼單元劃分為至少一個預測組。然後根據分組方式將掃描結果劃分為至少一個係數組,從中選擇第一係數組。
在另一個實施例中,在對某個係數組進行解析前,需要從待解碼單元中提取該係數組,本實施例可以解析碼流獲得待解碼單元對應的分組方式,從碼流中獲取當前編碼單元的預測模式,基於該預測模式匯出掃描方式,根據該掃描方式掃描待解碼單元,獲得掃描結果,該掃描結果將待解碼單元劃分為至少一個預測組。然後根據分組方式將掃描結果劃分為至少一個係數組,從中選擇第一係數組。
步驟S602:將第一係數組的係數碼解析為係數值。
可選地,本實施例可以根據第一係數組的碼長是否小於該係數組的圖像位元寬選擇不同碼長的定長編碼對係數碼進行解析。若碼長大於或等於圖像位元寬,則採用長度與圖像位元寬等長的定長編碼將第一係數組的係數碼解析為係數值。若碼長小於圖像位元寬,則採用碼長的定長編碼將第一係數組的係數碼解析為係數值。
上述第一係數組的碼長、邊界符號和圖像位元寬均可以由係數組資訊獲得,在碼流傳輸來的係數組資訊中可為定長編碼形式,即碼長碼、邊界符號碼和圖像位元寬碼。解碼單元301使用定長編碼解碼方式或其他解碼方式解析第一係數組的碼長碼、邊界符號碼和圖像位元寬碼,獲得第一係數組的碼長、邊界符號和圖像位元寬。
應當理解的是,本實施例中步驟S602對係數組中係數碼進行解析的過程,還可以引入游程編碼方式對係數組中的連續0值進行解析,其具體解析方式與現有游程編碼方式相同,在此不再贅述。與此同時,還可以引入跳過係數的方式,例如,若從碼流中解析跳過係數模式開啟時,整個組不需要編碼任何係數,解碼單元301的重建值直接等於預測值。
步驟S603:根據邊界符號確定第一係數組中的係數值為正值或負值。
未使用邊界符號的情況下,第一係數組的與圖像位元寬等長的定長編碼的解析範圍是[0,2^bit_depth-1]。使用邊界符號的情況下,第一
係數組對應碼長的定長編碼與邊界符號的解析範圍是[-2^(coding length-1)-1,2^(coding length-1)]。
進一步地,在第一係數組中存在絕對極值的情況下,即第一係數組存在絕對值等於2^(coding length-1)的係數值的情況下,第一係數組可以共用一個邊界符號,由該邊界符號表示第一係數組中所有係數值的正負。
在另一實施例中,當係數值解析等於絕對極值時,這些係數是位於邊界的係數,其符號可以由邊界符號確定。例如,在第一係數組中存在絕對極值的情況下,即第一係數組存在絕對值等於2^(coding length-1)的係數的情況下,這些係數可以共用一個邊界符號,即由該邊界符號表示絕對值等於2^(coding length-1)的係數的正負。
與現有技術相比,本發明實施例在引入邊界符號的情況下,使半定長編碼的係數值解析範圍從[0,2^bit_depth-1]變化為[-2^(coding length-1)-1,2^(coding length-1)],進一步縮短了整體編碼長度,提高了編解碼效率。
在一個例子中,第一係數組還可以進一步劃分為多個係數塊,不同係數塊中的係數碼不能共用一個邊界符號,則碼流資料中的邊界符號可以為多個,即碼流中包括每個係數塊對應的邊界符號,每個係數塊共用一個邊界符號。針對同一係數塊,若步驟S603解析邊界符號碼表示負,則該係數塊中解析值的絕對值等於2^(coding length-1)的係數值為-2^(coding length-1),若步驟S603解析邊界符號碼表示正,則該係數塊中解析值的絕對值等於2^(coding length-1)的係數值為2^(coding length-1)。可選地,邊界符號碼解析後的值可以是表示負的0或表示正的1,也可以用0表示正、1表示負,邊界符號碼用一比特表示。
需要說明的是,本實施例中步驟S602-S603對待解碼單元中一個係數組進行解析完成後,還需要採用與步驟S602-S603相同的方式對待解碼單元中其他係數組進行解析,直至待解碼單元中所有係數組均解析完畢後才完成該待解碼單元的係數解碼。
應當理解的是,本實施例提供的係數解碼方法不僅可以對變
換係數或殘差係數的編碼進行解析,根據不引入邊界符號的情況下的解析步驟,還可以對原始像素值的編碼進行解析。
本發明實施例提供一種應用於逐點預測模式下殘差係數的係數解碼方法,應用於解碼單元301。
首先對解碼單元301如何確定掃描方式和分組方式進行說明。針對採用逐點預測模式對亮度Y進行預測獲得的殘差係數,例如16*2區塊,掃描方式可以為圖7中(a)所示的逐點預測模式1,(b)所示的逐點預測模式2,(c)所示的逐點預測模式3,(d)所示的逐點預測模式4等。其中,組1(Group1)和組2(Group2)表示不同。逐點預測模式1中Group1與Group2均採用垂直方向優先的掃描順序,即先從上到下,再從左到右的掃描順序。逐點預測模式2中Group1與Group2先後採用水平方向優先,即從左到右。逐點預測模式3中Group1與Group2採用先從左到右,再從上到下的掃描順序。逐點預測模式4中Group1與Group2均採用垂直方向優先的掃描順序,即先從上到下,再從左到右的掃描順序。
根據上述掃描方式中的任一種對待解碼單元進行掃描,獲得預測組Group1和Group2,對每個預測組進行分組,分組方式可如圖8所示,其中每一小格代表一個係數定長編碼,不同的灰度值代表不同的係數組,圖8(a)表示編碼索引為0時的情況下將整個預測組作為一個16*1的係數組,圖8(b)表示編碼索引為100的情況下將一個預測組依次劃分為兩個8*1的係數組,圖8(c)表示編碼索引為101的情況下將一個預測組依次劃分為一個8*1的係數組和兩個4*1的係數組,圖8(d)表示編碼索引為110的情況下將一個預測組依次劃分為兩個4*1的係數組和一個8*1的係數組,圖8(e)表示編碼索引111的情況下將一個預測組依次劃分為四個4*1的係數組。
針對逐點預測模式對色度Cb、色度Cr進行預測獲得的殘差係數,對步驟S602進行說明。例如8*2區塊,掃描方式為水平方向掃描,即從左至右逐行掃描,則可以如圖9中(a)所示,在掃描方式的編碼索引為0的情況下將待解碼單元劃分為兩個不同的預測組,也可以如圖9中(b)所示,在掃描方式的編碼索引為1時將待解碼單元劃分為四個不同的預測
組。其中,每一小格代表一個係數定長編碼,不同的灰度值代表不同的預測組,(b)中第一行前四格、第一行後四格、第二行前四格和第二行後四格為不同灰度。
根據上述掃描方式對待解碼單元進行掃描,獲得預測組,對每個預測組進行分組,分組方式可如圖10所示,其中每一小格代表一個係數定長編碼,不同的灰度值代表不同的係數組,圖10(a)表示編碼索引為0時的情況下將整個預測組作為一個8*1的係數組,圖10(b)表示編碼索引為1的情況下將一個預測組依次劃分為兩個4*1的係數組,其中,前四格和後四格為不同灰度。
根據上述掃描方式和分組方式實現係數組的劃分後,解碼單元301確定係數組對應碼長的方式,可以是先採用定長編碼的解碼方式解析係數組對應碼長碼來獲得碼長coding length。可選地,針對碼長的解析,還可以採用定長編碼與截斷一元碼或其他編碼的混合方式進行解析。
在步驟S602中解碼單元301根據coding length對應的定長編碼對係數碼逐個進行解析。若係數組對應的coding length大於或等於該係數組的圖像位元寬,則使用圖像位元寬的碼長對應的定長編碼對係數碼進行解析,解析範圍為[0,2^bit_depth-1]。若係數組對應的coding length小於該係數組的圖像位元寬,則使用coding length對應的定長編碼解析係數碼。
在步驟S603中,解碼單元301根據邊界符號確定該係數組中係數值的正負,使係數值的解析範圍為[-2^(coding length-1)-1,2^(coding length-1)]。若該係數組中存在絕對值等於2^(coding length-1)的係數值,則該係數組的所有係數值有一個共用的邊界符號。
在另一實施例中,在該係數組中存在絕對極值的情況下,即該係數組存在絕對值等於2^(coding length-1)的係數的情況下,這些係數可以共用一個邊界符號,即由該邊界符號表示絕對值等於2^(coding length-1)的係數的符號全部為正或全部為負。
與現有技術相比,本發明實施例通過靈活地對亮度和色度進行不同方式的係數分組,提高了係數解碼的適用性,並引入邊界符號表示係數組對應碼長的定長編碼的解析極值的正負,提高了編解碼效率。同時,
該掃描方式和分組方式,考慮到資料的分佈,使幅值相近的係數分佈在鄰近區域,使劃分的係數組的每個係數值之間的關聯性得到保留,提高了解碼準確性。
本發明實施例還提供一種應用於非逐點預測模式下殘差係數的係數解碼方法,應用於解碼單元301。
首先對掃描方式和分組方式進行說明。針對採用非逐點預測模式獲得的殘差係數,例如16*2區塊,掃描順序可以如圖11中(a)、(b)的箭頭方向所示,係數組的劃分可以如圖10中(a)、(b)不同灰度所示,每一灰度表示同一係數組。
根據上述掃描方式和分組方式實現係數組的劃分後,確定係數組對應碼長的方式,可以是採用霍夫曼編碼解析係數組對應的碼長碼獲得。
在步驟S602中,解碼單元301在係數組對應的coding length大於或等於該係數組的圖像位元寬的情況下,使用圖像位元寬的碼長對應的定長編碼對係數碼進行解析,解析範圍為[0,2^bit_depth-1]。在係數組對應的coding length小於該係數組的圖像位元寬的情況下,使用coding length對應的定長編碼對係數碼進行解析。
在步驟S603中,解碼單元301採用邊界符號確定該係數組中係數值的正負,使係數值的解析範圍為[-2^(coding length-1)-1,2^(coding length-1)]。若該係數組中存在絕對值等於2^(coding length-1)的係數值,則為該係數組編碼一個共用的邊界符號。
在另一實施例中,在該係數組中存在絕對極值的情況下,即該係數組存在絕對值等於2^(coding length-1)的係數的情況下,這些係數可以共用一個邊界符號,即由該邊界符號表示絕對值等於2^(coding length-1)的係數的符號全部為正或全部為負。
本發明實施例還提供一種應用於非逐點預測模式下變換係數的係數解碼方法,應用於解碼單元301。
首先對掃描方式和分組方式進行說明。針對採用非逐點預測模式獲得的變換係數,例如16*2區塊,掃描順序可以如圖12中(a)、(b)
的箭頭方向所示,係數組的劃分可以如圖12中(a)、(b)不同灰度,每一灰度表示同一係數組,包含圓點的部分表示直流係數,所有直流係數劃分為一個直流係數組,不包含圓點的部分劃分為一個或多個交流係數。
根據上述掃描方式和分組方式實現係數組的劃分後,確定係數組對應定長編碼的碼長的方式,可以是採用霍夫曼編碼解析交流係數組對應的coding length,採用定長編碼方式解析直流係數組對應的coding length。
在步驟S602中,解碼單元301在係數組對應的coding length小於7的情況下,使用長度為coding length的碼長對應的定長編碼對係數碼進行解析。在係數組對應的coding length大於或等於7的情況下,則使用長度為圖像位元寬bit_depth+3對應的定長編碼對係數碼進行解析。
在步驟S603中,解碼單元301採用邊界符號確定該係數組中係數值的正負,使係數值的解析範圍為[-2^(coding length-1)-1,2^(coding length-1)]。若該係數組中存在絕對值等於2^(coding length-1)的係數值,則為該係數組編碼一個共用的邊界符號。
在另一實施例中,在該係數組中存在絕對極值的情況下,即該係數組存在絕對值等於2^(coding length-1)的係數的情況下,這些係數可以共用一個邊界符號,即由該邊界符號表示絕對值等於2^(coding length-1)的係數的符號全部為正或全部為負。
與現有技術相比,本發明實施例針對非逐點預測模式下的變換係數進行編碼時,將變換係數中的直流係數和交流係數劃分為不同係數組,再進行係數值的編碼,避免對同一係數組中相對頻率較低的直流係數和相對頻率較高的交流係數採用相同碼長的定長編碼,從而提高了編碼效率。
在同一係數組中,由於分組方式或係數類型的原因,可能會存在少數幾個(如一個或兩個)超過係數組均值較多的係數值,例如將直流係數和交流係數劃分在同一係數組時,直流係數與交流係數的差值較大,或是預測值在掃描獲得的預測組外時,預測值可能與當前像素值的差較大。因此,本發明實施例還提供一種係數解碼方法,應用於解碼單元301,該係
數解碼方法對係數組中係數值對應的定長編碼的碼長(coding length)進行調節,不同位置的係數值可以採用不同碼長的定長編碼進行解析。相對於步驟S601-S603,該係數解碼方法僅在確定係數組對應的碼長(coding length)以及根據該係數組對應碼長的定長編碼對係數進行解析的步驟存在差異,相同部分在此不再贅述。
在一個例子中,步驟S601中確定係數組對應的碼長的步驟可以如下:
首先,解碼單元301從碼流中解析係數組對應定長編碼的碼長coding length和碼長附加值A。
碼長附加值A可以是編碼單元205在對係數值進行編碼時,針對係數組中係數值超過係數組均值較多的特定位置設置的數值,該數值等於特定位置的係數值對應的定長編碼的碼長與該係數組對應的定長編碼的碼長的差。例如,對於編碼單元205,係數組中最大的係數值為9,第二大的係數值為3,係數值3對應的coding length為2,係數值9對應的coding length為4,則A=4-2=2。
其次,解碼單元301確定係數組中的特定位置。
特定位置可以是編碼單元205和解碼單元301在編碼一致性中約定,也可以是解碼單元301根據上下文資訊匯出,例如前一待解碼單元的某位置為特定位置,則確定當前待解碼單元的對應位置為特定位置。
然後,解碼單元301確定係數組中特定位置對應定長編碼的碼長為coding length+A,除特定位置外的係數對應定長編碼的碼長為coding length。
根據該係數組對應碼長的定長編碼對係數進行解析的步驟,可以是使用碼長為coding length+A的定長編碼對特定位置的係數碼進行解析,使用碼長為coding length的定長編碼對除特定位置外的其他係數碼進行解析。
在一個例子中,本實施例還可以在係數組對應的coding length較短時進行如下操作,例如編碼單元205和解碼單元301通過編碼一致性約定碼長閾值B,並在碼流中攜帶係數值範圍資料C,係數值範圍資料
C用於表示係數值的絕對值是否小於2^(coding length-3)。
步驟S601中確定係數組對應的碼長的步驟可以包括:在coding length小於碼長閾值B時,解碼單元301確定該係數組所有係數碼對應碼長為coding length。
步驟S602中,解碼單元301在coding length大於或等於碼長閾值B時,根據係數值範圍資料C確定每個係數碼的絕對值是否小於2^(coding length-3),若是,使用coding length-3對應的定長編碼對係數碼進行解析,若否,使用coding length對應的定長編碼對係數碼進行解析。
在一個例子中,本實施例還可以將係數組的碼長coding length變換為k階指數哥倫布解碼,例如編碼單元205和解碼單元301通過編碼一致性約定碼長閾值D。
步驟S601中確定係數組對應的碼長的步驟可以包括:在係數組的coding length小於碼長閾值D時,解碼單元301確定該係數組所有係數碼對應碼長為coding length。在係數組的coding length大於或等於碼長閾值D時,解碼單元301引入階數k=(coding length-5)的k階數哥倫布解碼獲得係數碼對應的碼長。其中,k的值可以使用其他變換方法,由coding length匯出。後續步驟S602的係數碼解析方式仍然是採用係數碼對應碼長的定長編碼進行解析,在此不再贅述。
在一個例子中,若係數組中係數碼個數較多時,例如係數碼個數大於N時,步驟S601中確定係數組對應的碼長的步驟可以包括:解碼單元301通過定長解碼方式解析係數組的碼長為coding length,在coding length不等於預設值E時,該係數組中所有係數碼對應的碼長為coding length。在coding length等於預設值E時,確定該係數組中係數值不大於0的係數為0,確定該係數組中大於0的位置的係數碼對應的碼長為coding length。在可選的示例中,預設值E可以為2、3等,N的值可以大於4。
應當理解的是,本實施例中可以將一個係數組中某一個或多個位置的係數碼對應的定長編碼的碼長視為係數位碼長,將該係數組中其他位置對應的共用的定長編碼的碼長視為係數組碼長。
與現有技術相比,通過對係數組中係數對應的碼長進行變更,
對係數值中不同係數碼採用不同碼長對應的定長編碼進行解析,能夠使用特殊碼長的定長編碼對某位置的係數碼進行解析,其他位置仍然使用較短碼長的定長編碼進行解析,減少了整體編碼長度,提高了編碼效率。
除了對係數組的定長編碼的碼長進行調節,本實施例還提供了一種係數解碼方法,應用於解碼單元301,在編碼時對係數組中的係數值進行調節,在解碼時對係數值進行還原,減少了係數值的整體編碼長度。相對於步驟S601-S603,係數解碼方法僅在根據該係數組對應碼長的定長編碼對係數進行解析的步驟存在差異,相同部分在此不再贅述。
在一個例子中,在根據該係數組對應碼長的定長編碼對係數進行解析的步驟中,解碼單元301先採用該係數組對應碼長的定長編碼解析所有係數值,針對特定位置,對係數值進行移位,即coefficient=coefficient<<F。使用定長編碼解碼方式解析F得到delda_coefficient,將係數組中所有特殊位置的已解析獲得的係數值加上delda_coefficient。上述特定位置可以是編碼單元205和解碼單元301在編碼一致性中約定,也可以是解碼單元301根據上下文資訊匯出,例如前一待解碼單元的某位置為特定位置,則確定當前待解碼單元的對應位置為特定位置。
在一個例子中,解碼單元301通過步驟S601獲取的係數組資訊中包括該係數組的碼長閾值和係數附加值G。下面對碼長閾值和係數附加值G的設置進行說明,編碼單元205在進行係數編碼過程中,若某係數值對應的定長編碼的碼長大於係數組的碼長閾值,則將該係數值減去係數附加值G,對該係數值減去係數附加值G的結果進行編碼,其中碼長閾值和係數附加值G可以根據係數組的係數值具體大小進行靈活設定。解碼單元301在根據該係數組對應碼長的定長編碼對係數進行解析的步驟中,若定長碼coding length大於碼長閾值,則先採用碼長為coding length的定長編碼解析係數附加值G的編碼,獲得係數附加值G,再採用碼長為coding length的定長編碼解析係數組中的所有係數值,並將所有係數值與係數附加值G相加,從而將係數值還原。
與現有技術相比,在編碼時對係數組中的係數值進行調節,然後在解碼時基於碼流傳輸的參數對係數組中特定位置的係數進行還原,
無需在碼流傳輸時攜帶較長的完整係數編碼,提高了編碼效率。
除了對係數組的定長編碼的碼長和係數組中的係數值進行調節,本實施例還提供了一種係數解碼方法,應用於解碼單元301,在編碼時對係數組的邊界符號進行調節,通過邊界符號進一步擴大解碼範圍。
在一個例子中,係數組資訊的邊界符號不僅可以用1比特表示係數組中絕對極值的正負,還可以用n比特表示係數補償值。則步驟S603在根據碼長為coding length的定長編碼對係數碼進行解析後,針對解析值等於絕對極值2^(coding length-1)的係數碼位置,再從邊界符號中解析係數補償值,將該係數組中的絕對極值加上係數補償值,作為該絕對極值位置的係數值。可選地,還可以採用邊界符號表示係數補償值的正負。應當理解的是,若同一係數組中存在多個絕對極值,則係數補償值也可以為多個,將絕對極值分別加上對應的係數補償值則可獲得補償後的係數值。應當理解的是,本實施例中解碼單元301需要解析邊界符號碼獲得邊界符號,該解析方式可以採用定長解碼、截斷一元碼、霍夫曼解碼或幾種常見的解碼方式的混合解碼方式等。
相應地,本發明實施例提供一種係數解碼裝置,該係數解碼裝置可以例如為通話過程中的任一係數解碼裝置,根據上述方法示例可以對該係數解碼裝置進行功能模組的劃分,例如,可以對應各個功能劃分各個功能模組,也可以將兩個或兩個以上的功能集成在一個處理模組中。上述集成的模組既可以採用硬體的形式實現,也可以採用軟體功能模組的形式實現。需要說明的是,本發明實施例中對模組的劃分是示意性的,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
在採用對應各個功能劃分各個功能模組的情況下,圖13示出上述實施例中所涉及的係數解碼裝置的一種可能的結構示意圖。如圖13所示,該係數解碼裝置13包括解析模組131、解碼模組132。
在一種實施例中,上述解析模組131用於獲得待解碼單元的係數組資訊,待解碼單元的係數被劃分包括為一個或多個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,至少一個係數組包括第一係數組,係數組資訊包括第一係數組的邊界符號。
解碼模組132用於將第一係數組的係數碼解析為係數值,還用於根據邊界符號確定第一係數組中的係數值為正值或負值。
上述係數解碼裝置的各個模組還可以用於執行上述方法實施例中的其他動作,上述方法實施例涉及的各步驟的所有相關內容均可以援引到對應功能模組的功能描述,在此不再贅述。
圖14為本發明實施例提供的一種電子設備的硬體結構圖。如圖14所示,該電子設備可包括圖像解碼器141、記憶體142以及通信介面(未示出)。記憶體142存儲有能夠被圖像解碼器141執行的電腦指令,圖像解碼器141用於執行電腦指令,以實現本發明上述任意實施例公開的方法。
在上述實施例中,可以全部或部分地通過軟體、硬體、韌體或者其任意組合來實現。當使用軟體程式實現時,可以全部或部分地以電腦程式產品的形式實現。該電腦程式產品包括一個或多個電腦指令。在電腦上載入和執行該電腦指令時,全部或部分地產生按照本發明實施例中的流程或功能。該電腦可以是通用電腦、專用電腦、電腦網路或者其他可程式設計裝置。該電腦指令可以存儲在電腦可讀存儲介質中,或者從一個電腦可讀存儲介質向另一個電腦可讀存儲介質傳輸,例如,該電腦指令可以從一個網站、電腦、伺服器或資料中心通過有線(例如同軸電纜、光纖、數位用戶線(Digital Subscriber Line,DSL))方式或無線(例如紅外、無線、微波等)方式向另一個網站、電腦、伺服器或資料中心傳輸。該電腦可讀存儲介質可以是電腦能夠存取的任何可用介質或者是包括一個或多個可用介質集成的伺服器、資料中心等資料存放裝置。該可用介質可以是磁性介質(例如,軟碟、磁片、磁帶)、光介質(例如,數位影音光碟(Digital Video Disc,DVD))、或者半導體介質(例如固態硬碟(Solid State Drives,SSD))等。
通過以上的實施方式的描述,所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者
部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品存儲在一個存儲介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)或處理器執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:快閃記憶體、移動硬碟、唯讀記憶體、隨機存取記憶體、磁碟或者光碟等各種可以存儲程式碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何在本發明揭露的技術範圍內的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述請求項的
保護範圍為準。
S601,S602,S603:步驟
Claims (17)
- 一種係數解碼方法,其特徵在於,包括:解析碼流,獲得待解碼單元的係數組資訊,所述待解碼單元的係數被劃分包括至少一個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,所述至少一個係數組包括第一係數組,所述係數組資訊包括所述第一係數組的邊界符號;將所述第一係數組的係數碼解析為係數值;根據所述邊界符號確定所述第一係數組中的係數值為正值或負值;其中,所述根據所述邊界符號確定所述第一係數組中的係數值為正值或負值,包括:在所述第一係數組中存在絕對極值的情況下,根據所述邊界符號確定所述第一係數組中的係數值的絕對值等於所述絕對極值的係數的符號全部為正或全部為負,所述絕對極值為所述碼長的定長編碼值範圍的最大絕對值。
- 如請求項1所述的係數解碼方法,其中,所述係數組資訊還包括所述第一係數組的碼長和圖像位元寬,所述碼長用於表示所述第一係數組對應的定長編碼的長度,所述將所述第一係數組的係數碼解析為係數值,包括:若所述碼長大於或等於所述圖像位元寬,則採用長度為與所述圖像位元寬等長的定長編碼將所述第一係數組的係數碼解析為係數值;若所述碼長小於所述圖像位元寬,則採用長度為所述碼長的定長編碼將所述第一係數組的係數碼解析為係數值。
- 如請求項1所述的係數解碼方法,其中,所述第一係數組包括1個或多個係數塊,所述邊界符號包括所述每個係數塊的邊界符號,所述根據所述邊界符號確定所述第一係數組中的係數值為正值或負值,包括:針對任一係數塊,在所述係數塊中存在絕對極值的情況下,根據所述係 數塊的邊界符號確定所述係數塊中的係數值的絕對值等於所述絕對極值的係數的符號全部為正或全部為負。
- 如請求項1至3中任一項所述的係數解碼方法,其中,所述第一係數組中的係數為殘差係數、變換係數或原始像素值。
- 如請求項4所述的係數解碼方法,其中,所述至少一個係數組中包括直流係數組和交流係數組,所述第一係數組為直流係數組或交流係數組。
- 如請求項5所述的係數解碼方法,其中,所述碼長在所述係數組資訊中為碼長碼形式,所述邊界符號在所述係數組資訊中為邊界符號碼形式;在所述第一係數組中的係數碼表示變換係數,且所述第一係數組為直流係數組的情況下,所述係數解碼方法還包括:採用定長碼解析所述碼長碼,獲得所述碼長;採用長度為所述碼長的定長編碼解析直流係數值,採用固定碼長為1解析所述邊界符號碼,獲得所述邊界符號。
- 如請求項4所述的係數解碼方法,其中,所述係數解碼方法還包括:根據所述碼流中確定所述待解碼單元的分組方式;從所述碼流中獲取當前編碼單元的預測模式,基於所述預測模式匯出掃描方式;根據所述掃描方式掃描所述待解碼單元,獲得掃描結果;根據所述分組方式從所述掃描結果中提取所述第一係數組。
- 一種係數解碼裝置,其特徵在於,包括:解析模組,用於解析碼流,獲得待解碼單元的係數組資訊,所述待解碼單元的係數被劃分包括至少一個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,所述至少一個係數組包括第一係數組,所述係數組資訊包括所述第一係數組的邊界符號;解碼模組,用於將所述第一係數組的係數碼解析為係數值;所述解碼模組還用於根據所述邊界符號確定所述第一係數組中的係數 值為正值或負值;其中,在根據所述邊界符號確定所述第一係數組中的係數值為正值或負值時,所述解碼模組用於:在所述第一係數組中存在絕對極值的情況下,根據所述邊界符號確定所述第一係數組中的係數值的絕對值等於所述絕對極值的係數的符號全部為正或全部為負,所述絕對極值為所述碼長的定長編碼值範圍的最大絕對值。
- 一種圖像解碼器,其特徵在於,用於執行如請求項1至7任一項所述的係數解碼方法。
- 一種電子設備,其特徵在於,包括圖像解碼器、通信介面以及記憶體;所述圖像解碼器用於執行操作,所述操作包括:解析碼流,獲得待解碼單元的係數組資訊,所述待解碼單元的係數被劃分包括至少一個係數組,每個係數組包括至少一個係數碼,同一係數組中的係數碼為同一碼長的定長編碼,所述至少一個係數組包括第一係數組,所述係數組資訊包括所述第一係數組的邊界符號;將所述第一係數組的係數碼解析為係數值;根據所述邊界符號確定所述第一係數組中的係數值為正值或負值;其中,所述第一係數組包括多個係數塊,所述邊界符號包括所述每個係數塊的邊界符號,所述根據所述邊界符號確定所述第一係數組中的係數值為正值或負值,包括:針對任一係數塊,在所述係數塊中存在絕對極值的情況下,根據所述係數塊的邊界符號確定所述係數塊中的係數值的絕對值等於所述絕對極值的係數的符號全部為正或全部為負。
- 如請求項10所述的電子設備,其中,所述係數組資訊還包括所述第一係數組的碼長和圖像位元寬,所述碼長用於表示所述第一係數組對應的定長編碼的長度,所述將所述第一係數組的係數碼解析為係數值,包括:若所述碼長大於或等於所述圖像位元寬,則採用長度為與所述圖像位 元寬等長的定長編碼將所述第一係數組的係數碼解析為係數值;若所述碼長小於所述圖像位元寬,則採用長度為所述碼長的定長編碼將所述第一係數組的係數碼解析為係數值。
- 如請求項10所述的電子設備,其中,所述第一係數組包括多個係數塊,所述邊界符號包括所述每個係數塊的邊界符號,所述根據所述邊界符號確定所述第一係數組中的係數值為正值或負值,包括:針對任一係數塊,在所述係數塊中存在絕對極值的情況下,根據所述係數塊的邊界符號確定所述係數塊中的係數值的絕對值等於所述絕對極值的係數的符號全部為正或全部為負。
- 如請求項10至12中任一項所述的電子設備,其中,所述第一係數組中的係數為殘差係數、變換係數或原始像素值。
- 如請求項13所述的電子設備,其中,所述至少一個係數組中包括直流係數組和交流係數組,所述第一係數組為直流係數組或交流係數組。
- 如請求項14所述的電子設備,其中,所述碼長在所述係數組資訊中為碼長碼形式,所述邊界符號在所述係數組資訊中為邊界符號碼形式;在所述第一係數組中的係數碼表示變換係數,且所述第一係數組為直流係數組的情況下,所述操作還包括:採用定長碼解析所述碼長碼,獲得所述碼長;採用長度為所述碼長的定長編碼解析所述邊界符號碼,獲得所述邊界符號。
- 如請求項13所述的電子設備,其中,所述操作還包括:根據所述碼流中確定所述待解碼單元的分組方式;從所述碼流中獲取當前編碼單元的預測模式,基於所述預測模式匯出掃描方式;根據所述掃描方式掃描所述待解碼單元,獲得掃描結果;根據所述分組方式從所述掃描結果中提取所述第一係數組。
- 一種電腦可讀存儲介質,其特徵在於,包括電腦指令, 當所述電腦指令在電子設備上運行時,使得所述電子設備執行如請求項1至7任一項所述的係數解碼方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210062532.2A CN116074525A (zh) | 2022-01-19 | 2022-01-19 | 一种系数解码方法、装置、图像解码器及电子设备 |
CN202210062532.2 | 2022-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202335505A TW202335505A (zh) | 2023-09-01 |
TWI840086B true TWI840086B (zh) | 2024-04-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995671A (zh) | 2021-02-21 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995671A (zh) | 2021-02-21 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI624172B (zh) | 基於調色板之視訊寫碼 | |
WO2018001207A1 (zh) | 编解码的方法及装置 | |
US20210211728A1 (en) | Image Compression Method and Apparatus | |
US9473773B2 (en) | Method and apparatus for encoding frequency transformed block using frequency mask table, and method and apparatus for encoding/decoding video using same | |
TWI750624B (zh) | 編解碼變換係數的方法及裝置 | |
WO2023040600A1 (zh) | 图像编码方法、图像解码方法、装置、电子设备及介质 | |
WO2022174660A1 (zh) | 视频编解码方法、装置、计算机可读介质及电子设备 | |
CN116506614A (zh) | 一种视频译码方法、装置及存储介质 | |
Wang et al. | United coding method for compound image compression | |
WO2024022359A1 (zh) | 一种图像编解码方法及装置 | |
US20230042484A1 (en) | Decoding method and coding method for unmatched pixel, decoder, and encoder | |
WO2023083225A1 (zh) | 视频编解码方法及装置 | |
JP2004040429A (ja) | ディジタル画像符号化装置及びそれに用いるディジタル画像符号化方法並びにそのプログラム | |
TWI840086B (zh) | 係數解碼方法、裝置、圖像解碼器及電子設備 | |
WO2023138391A1 (zh) | 系数解码方法、装置、图像解码器及电子设备 | |
CN116071440A (zh) | 一种图像解码方法、编码方法及装置 | |
TWI829424B (zh) | 解碼方法、編碼方法及裝置 | |
WO2022193394A1 (zh) | 系数的编解码方法、编码器、解码器及计算机存储介质 | |
WO2022188239A1 (zh) | 系数的编解码方法、编码器、解码器及计算机存储介质 | |
WO2023272533A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
WO2023138532A1 (zh) | 一种视频解码方法、装置、视频解码器及存储介质 | |
WO2023138562A1 (zh) | 图像解码方法、图像编码方法及相应的装置 | |
Rahman et al. | The Impact of State-of-the-Art Techniques for Lossless Still Image Compression. Electronics 2021, 10, 360 | |
JP2022548685A (ja) | 画像データの符号化及び復号化 | |
TW202327364A (zh) | 視頻編解碼方法及裝置 |