CN100466743C - Method for programmable entropy decoding based on shared storage and countra-quantization - Google Patents

Method for programmable entropy decoding based on shared storage and countra-quantization Download PDF

Info

Publication number
CN100466743C
CN100466743C CNB2006101715011A CN200610089146A CN100466743C CN 100466743 C CN100466743 C CN 100466743C CN B2006101715011 A CNB2006101715011 A CN B2006101715011A CN 200610089146 A CN200610089146 A CN 200610089146A CN 100466743 C CN100466743 C CN 100466743C
Authority
CN
China
Prior art keywords
run
decoding
level
intra
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006101715011A
Other languages
Chinese (zh)
Other versions
CN1905675A (en
Inventor
何芸
瞿艳梅
李宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2006101715011A priority Critical patent/CN100466743C/en
Publication of CN1905675A publication Critical patent/CN1905675A/en
Application granted granted Critical
Publication of CN100466743C publication Critical patent/CN100466743C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to a decoding and anti-quantization method based on the shared memory and programmable entropy including: entropy-decoding the bit stream for the first category to get the positive scanning sequence (run. level), or for the second category to get the reverse order, and then the positive scanning sequence (run. level) is get after reading and writing in the shared memory by the principle of First In Last Out. Run for decoding to get the quantization coefficient V and its index. Run for anti-scanning to get anti-quantitative parameters except w_load. If it is the first code-flow, it needs to read the shared memory for the user-defined quantified weight (w_load). Run for anti-quantifying process to get the transformed coefficients and save them into memory.

Description

A kind of based on the method for sharing storage programmable entropy decoding and inverse quantization
Technical field
The invention belongs to the video decode technical field, particularly a kind of based on the method for sharing storage programmable entropy decoding and inverse quantization.
Background technology
In most video compression standard, as MPEG-1, MPEG-2, MPEG-4, H.261, H.263,264/AVC, and the senior audio and video standard AVS that formulates of China, all adopted the hybrid coding method of predictive coding, transition coding and entropy coding, obtained good image compression effect.The process of coding and decoding video as shown in Figure 1, among the figure, the solid line presentation code process of top, following dotted line is represented decode procedure.In cataloged procedure, to the prediction after residual error coefficient carry out conversion, quantification, scanning and entropy coding after, the code stream that obtains encoding.When decoding, at first encoding code stream carries out the entropy decoding, obtains scanning the back quantization parameter, passes through counter-scanning, inverse quantization and inverse transformation again, obtains decoded residual error coefficient, then the reconstructed image that obtains decoding through motion compensation.
In decode procedure, the entropy decoding is a very important part, especially in real time high-speed decoding application system, because the avriable length codes of coding is serially connected, there is not the border that to distinguish, so only behind previous codeword decoding, could begin the decoding of next code word.The document that a lot of research entropys decodings are therefore arranged, entropy decoding wherein able to programme is widely used, and this is because under the various video standard at present and the situation of depositing, programmable method can be saved cost.
The programmability of existing entropy decoding method able to programme is mainly reflected in look-up table can customize (look-up tables different according to different standard formulations), and H.261 these methods are mainly supported, MPEG-1, and MPEG-2, H.263 and MPEG-4-2 etc.H.261, MPEG-1, the entropy coding of MPEG-2 all adopts two-dimensional variable length coding (2D-VLC) technology, promptly the residual error coefficient after the scanning is carried out Run-Length Coding earlier, form before the nonzero coefficient continuously zero number run and the combination of the value level of nonzero coefficient thereafter to (run, level), again Run-Length Coding is made up (run level) carries out the Huffman coding.For probability of occurrence very little (run, fixed length code is adopted in level) combination, (Escape) sign indicating number of promptly escaping adds the run of fixed bit length and the level of fixed bit length.End of block flag code word (EOB) is added in coefficient ending at each piece (pixel is 8 * 8), indicates last nonzero coefficient.Because the efficient of 2D-VLC coding descends to some extent because the ratio of EOB is too high under the situation of low code check.Therefore, H.263 with in the MPEG-4 standard adopted the three-dimensional variable-length encoding (3D-VLC) that expands from 2D-VLC, its basic skills is whether add this nonzero coefficient of one-dimensional representation again on original two-dimensional representation symbol be the sign (end) of last nonzero coefficient, become three dimensional representation symbol (run, level, end), and no longer use the EOB identifier.
Above-mentioned entropy coding method is commonly referred to as traditional entropy coding.In order further to improve compression efficiency, advanced audio frequency standard AVS has adopted based on contextual self-adaptive two-dimensional variable length coding (Content Adaptive 2D-VLC is called for short CA-2D-VLC).CA-2D-VLC is multistage index Golomb (Exp-Golomb) sign indicating number and based on the combination of contextual 2D-VLC.Behind the quantization parameter inverse scan, to (run, being combined under different situations level) adopted with different code tables, and corresponding employing not the Exp-Golomb sign indicating number of same order encode.One has 19 2D-VLC code tables, i.e. VLC0_Intra ~ VLC6_Intra, VLC0_Inter ~ VLC6_Inter and VLC0_Chroma ~ VLC4_Chroma.The selection of code table is by absolute value (absLevel) decision of the level of last coding.
Though the CA-2D-VLC of AVS and traditional entropy coding have all adopted 2D-VLC, difference is: CA-2D-VLC has adopted multistage Exp-Golomb sign indicating number, and traditional entropy coding has adopted the Huffman sign indicating number; CA-2D-VLC is based on contextual information, and with the coefficient of a plurality of code table pieces of coding (pixel is 8 * 8), and traditional entropy coding has 1~2 variable length code table, and the piece of certain type adopts a code table; CA-2D-VLC is to (run level) press the sequential encoding of inverse scan, and traditional entropy coding is to (run is level) by the sequential encoding that is just scanning.Because CA-2D-VLC and traditional entropy coding have above-mentioned difference, so the method for existing entropy decoding able to programme can not be directly used in the decoding of CA-2D-VLC.
Since up to now time of CA-2D-VLC algorithm development very short, so the decoding implementation method that has proposed is seldom.Document 1 (AVS reference software) is the coding/decoding method than disclosed CA-2D-VLC morning, and this method is the pure software decoding, the decoding look-up table is not optimized, and needs bigger memory space.Document 2 (Yanme Qu and Yun He, " A Simpleand Memory Efficient VLSI Architecture of CA-2D-VLC decoder for AVS ", PictureCoding Symposium 2006,2006) a kind of programmable CA-2D-VLC coding/decoding method is disclosed.Because CA-2D-VLC has a lot of code tables and code word, effective tissue of look-up table so the bottleneck of decoding is to decode, the main feature of method is to organize the decoding look-up table effectively in the document 2, to reduce the memory space that decoding needs.In the method, mainly contain two class look-up tables: a class is storage (run, look-up table absLevel), another kind of look-up table for storage RefAbsLevel, wherein absLevel represents the absolute value of level, and RefAbsLevel represents the reference value of absLevel, and the decoding step of this method comprises:
1) selects initial code table;
2) decoding of Exp-Golomb sign indicating number obtains Exp-Golomb decoded results (CodeNum);
3) if first decodes codeword of a piece, then execution in step 4; Otherwise judge whether it is end of block character (EOB), if, execution in step 8, otherwise execution in step 4;
4) Escape detects, if not Escape, and execution in step 5; Otherwise execution in step 6;
5) by relevant (run, look-up table level) obtain (run, absLevel), in this look-up table one group (run, storage absLevel) needs 10 bits (bit), and is as shown in table 1; Obtain level according to CodeNum and absLevel then, execution in step 6 then;
Table 1 relevant (run, the institutional framework of look-up table level)
Figure C200610089146D00051
6) decoding of Exp-Golomb sign indicating number obtains CodeNum ', and looks into corresponding table and obtain MaxRun and RefAbsLevel, utilizes MaxRun, RefAbsLevel, CodeNum and CodeNum ' to obtain run and level.
7) upgrade code table and select, execution in step 2, next code word begins to decode;
8) all coefficient decodings of a piece finish.
The method of document 2 has reduced the memory space that decoding needs to a certain extent, but about (run, look-up table level) still needs bigger memory space.
In addition, the inverse quantization of AVS is also different with the algorithm of traditional inverse quantization, one of them important difference is: in the standard of the traditional entropy codings of employing such as MPEG-2, quantization matrix can adopt default value in the interframe quantization matrix of its inverse quantization and the frame, also can be the user-defined matrix (comprising quantization matrix (8 * 8) and user-defined interframe quantization matrix (8 * 8) in the user-defined frame) that enrolls code stream, so need be used to store the memory of user definition matrix; And do not have user-defined quantization matrix in the inverse quantization parameter of AVS, do not need memory.And the difference of decoding from the decoding of above-mentioned AVS entropy and traditional entropy is as can be seen, the memory that AVS need read and write principle first-in last-out with obtain positive scanning sequency (run, level).
The coding/decoding method of existing programmable entropy decoding, counter-scanning and inverse quantization carries out entropy decoding, counter-scanning and inverse quantization usually separately to be handled.Carry out entropy when decoding, the decoding of AVS entropy need storage (run, memory level) with obtain positive scanning sequency (run, level); During inverse quantization, the standard of the traditional entropy codings of employing such as MPEG-2 need be stored the memory of user definition quantization matrix to obtain user-defined quantization weight (w_load).To need two groups of memories like this, also just need bigger storage space.
In sum, existent method is owing to carry out entropy decoding, counter-scanning and inverse quantization separately, so need bigger memory space, and the coding/decoding method of existing CA-2D-VLC is because (run, level) one group of (run in the look-up table, level) storage needs 10 bits, so also need bigger memory space.
Summary of the invention
The objective of the invention is to overcome the deficiency of above-mentioned existing coding/decoding method, a kind of method based on shared programmable entropy decoding of storage and inverse quantization is provided,, and can save memory space applicable to the decoding of adopting multiple coding standard coding.
The method of entropy decoding and inverse quantization is handled in programmable merging of the present invention, and this method comprises:
Definition: first kind code stream: according to the code stream of the sequential encoding that is just scanning;
First kind entropy decoding: first kind code stream is carried out the entropy decoding;
The second class code stream: according to the code stream of the sequential encoding of inverse scan, and inverse quantization does not need to store user definition quantization matrix Wload;
Second class entropy decoding: the second class code stream is carried out the entropy decoding;
Shared storage: be used for storing the user definition quantization matrix Wload of inverse quantization of first kind code stream decoding and the combination of the Run-Length Coding in the second class code stream decoding to (run, level), wherein the element among the Wload is user-defined quantization weight w_load;
This method specifically comprises the steps:
2) bit stream that receives is carried out the entropy decoding:
11) if first kind code stream, carry out the decoding of first kind entropy, obtain by the Run-Length Coding combination of positive scanning sequency to (run, level);
12) if the second class code stream, at first carry out the decoding of the second class entropy, obtain by the Run-Length Coding combination of inverse scan order to (run, level); With the combination of the Run-Length Coding that obtains to (run, level) in shared storage by first-in last-out principle read-write, obtain by the Run-Length Coding combination of positive scanning sequency to (run, level);
2) Run-Length Coding is made up (run level) carries out runs decoding, quantization parameter V after obtaining scanning and index index;
3) carry out the counter-scanning processing according to index index and scan mode, produce address addr that is used for the store transformed coefficient and the address addr that obtains user-defined quantization weight w_load;
4) obtain Quantization weightInverse quantization parameter beyond the w_load; If first kind code stream also will read shared storage according to the address addr of the quantization weight w_load of counter-scanning gained, obtain user-defined quantization weight w_load;
5) according to above-mentioned inverse quantization parameter quantization parameter V is carried out inverse quantization and handle, obtain conversion coefficient;
6) conversion coefficient is write the conversion coefficient memory according to above-mentioned address addr.
The present invention takes all factors into consideration entropy decoding and inverse quantization, with the shared storage storage customization quantization matrix and the second class entropy decoded results, has saved memory space greatly; The present invention is applicable to the decoding of adopting multiple coding standard coding.
Description of drawings
Fig. 1 is the schematic diagram of video encoding-decoding process;
Fig. 2 is a method flow diagram of the present invention.
Embodiment
The present invention is described in further detail below in conjunction with drawings and Examples.
The method of entropy decoding and inverse quantization is handled in the programmable merging that the present invention proposes, and as shown in Figure 2, comprising:
Definition: first kind code stream: according to the code stream (such as MPEG-1, MPEG-2 etc.) of the sequential encoding that is just scanning;
First kind entropy decoding: first kind code stream is carried out the entropy decoding;
The second class code stream: according to the code stream (such as AVS etc.) of the sequential encoding of inverse scan, and inverse quantization does not need to store user definition quantization matrix Wload;
Second class entropy decoding: the second class code stream is carried out the entropy decoding;
Shared storage: be used for storing in the user definition quantization matrix Wload of inverse quantization of first kind code stream decoding and the second class code stream decoding (run, level), wherein the element among the Wload is user-defined quantization weight w_load;
Specifically comprise the steps:
2) bit stream that receives is carried out the entropy decoding;
11) if first kind code stream, carry out the decoding of first kind entropy, obtain by positive scanning sequency (run, level);
12) if the second class code stream, at first carry out the decoding of the second class entropy, obtain by the inverse scan order (run, level); With obtain (run, level) in shared storage by the read-write of first-in last-out principle, obtain by positive scanning sequency (run, level);
2) to (run level) carries out runs decoding, quantization parameter V after obtaining scanning and index index;
3) carry out the counter-scanning processing according to index index and scan mode, produce address addr that is used for the store transformed coefficient and the address addr that obtains user-defined quantization weight (w_load);
4) obtain w_load inverse quantization parameter in addition and (, obtain user-defined quantization weight (w_load) if first kind code stream also needs to read shared storage according to the addr of counter-scanning gained;
5) according to above-mentioned inverse quantization parameter quantization parameter V is carried out inverse quantization and handle, obtain conversion coefficient;
6) conversion coefficient is write the conversion coefficient memory according to above-mentioned address.
Method of the present invention is used for being described in detail as follows at the embodiment of MPEG-2 and AVS decoding:
Being first kind code stream with the MPEG-2 code stream in the present embodiment, is the second class code stream with the AVS code stream, and first kind entropy is decoded as the decoding of MPEG-2 entropy so, and the second class entropy is decoded as the decoding of AVS entropy;
With shared storage come in the user definition quantization matrix Wload of store M PEG-2 inverse quantization and the AVS decoding (run, level), wherein the element among the Wload is user-defined quantization weight w_load;
In the present embodiment, the data width of shared storage storage is 18 bits, and this is because the run of AVS decoding is that 6 bits, level are 12 bits, and the w_load of MPEG-2 decoding is 8 bits; Adopt two shared storages to carry out " table tennis " operation, to improve decoding speed; Each shared storage has 64 inlets, 8 * 8 block encodings of AVS obtain 64 groups of (run at most, level), and the user-defined quantization matrix Wload of MPEG-2 comprises quantization matrix (8 * 8) and user-defined interframe quantization matrix (8 * 8), the wherein element 64 of each user definition quantization matrix in the user-defined frame;
Described " table tennis " operation is meant, when being carried out write operation, a shared storage can carry out read operation to another shared storage, can reduce (the run that the decoding of AVS entropy obtains the inverse scan order like this, level) and write shared storage and reading (run, stand-by period level) that shared storage obtains positive scanning sequency.
Present embodiment specifically comprises the steps:
1) bit stream that receives carries out the entropy decoding;
11) if the MPEG-2 code stream, carry out the decoding of MPEG-2 entropy, obtain by positive scanning sequency (run, level);
12) if the AVS code stream, at first carry out AVS CA-2D-VLC decoding, obtain by the inverse scan order (run, level); With obtain (run, level) in shared storage by the read-write of first-in last-out principle, obtain by positive scanning sequency (run, level);
2) to (run level) carries out runs decoding, quantization parameter V after obtaining scanning and index index;
3) carry out the counter-scanning processing according to index index and scan mode, produce address addr that is used for the store transformed coefficient and the address addr that obtains user-defined quantization weight (w_load);
4) if the MPEG-2 code stream obtains MPEG-2 inverse quantization parameter, wherein the inverse quantization parameter of obtaining from user-defined quantization matrix (user-defined quantization weight w_load) is that addr according to the counter-scanning gained reads shared storage and obtains; If the AVS code stream obtains AVS inverse quantization parameter (the AVS inverse quantization does not have user-defined quantization weight w_load);
5) according to above-mentioned inverse quantization parameter quantization parameter V is carried out inverse quantization and handle, obtain conversion coefficient;
6) conversion coefficient is write the conversion coefficient memory according to above-mentioned address.
Above-mentioned steps 11) MPEG-2 entropy decoding, step 2) beyond the w_load that obtains MPEG-2 in the runs decoding, step 3) counter-scanning, step 4) the inverse quantization parameter and obtain AVS inverse quantization parameter, the step 5) inverse quantization is handled, and step 6) conversion coefficient to be write the method for conversion coefficient memory identical with existing method, repeat no more here.
Obtain in the above-mentioned AVS CA-2D-VLC decoding by the inverse scan order (run, concrete grammar level), the concrete grammar step basic identical with existing method step; Its difference be in the step 5) pass through relevant (run, look-up table level) obtain (run, absLevel): specifically may further comprise the steps;
1) selects initial code table;
2) decoding of Exp-Golomb sign indicating number obtains Exp-Golomb decoded results (CodeNum);
3) if first decodes codeword of a piece, then execution in step 4; Otherwise judge whether it is end of block character (EOB), if, execution in step 8, otherwise execution in step 4;
4) Escape detects, if not Escape, and execution in step 5; Otherwise execution in step 6;
5) by relevant (run, look-up table level) obtain (run, absLevel), of the present invention relevant (run, look-up table institutional framework level) is as shown in table 2, wherein every group (run, storage absLevel) needs 8 bits;
Table 2 relevant (run, the institutional framework of look-up table level)
Figure C200610089146D00081
In the table 2, tblnum represents the table label of CA-2D-VLC look-up table, and specifically, tblnum is following 6 code table: VLC0_Intra, VLC1_Intra, VLC0_Inter, VLC1_Inter, VLC0_Chroma and VLC1_Chroma of 0 and 1 expression; Tblnum is following 6 code table: VLC2_Intra, VLC3_Intra, VLC2_Inter, VLC3_Inter, VLC2_Chroma and VLC3_Chroma of 2 and 3 expressions; Tblnum is following 7 code table: VLC4_Intra, VLC5_Intra, VLC6_Intra, VLC4_Inter, VLC5_Inter, VLC6_Inter and VLC4_Chroma of 4,5 and 6 expressions.
Present embodiment according to the institutional framework of look-up table 2 be divided into three kinds of situations obtain (run, absLevel):
First kind: if the code table that current decoding is adopted is VLC0_Intra or VLC1_Intra or VLC0_Inter or VLC1_Inter or VLC0_Chroma or VLC1_Chroma, be first kind of situation so, this moment, run was 5-bit, and absLevel is 3-bit;
Second kind: if the code table table that current decoding is adopted is VLC2_Intra or VLC3_Intra or VLC2_Inter or VLC3_Inter or VLC2_Chroma or VLC3_Chroma, be second kind of situation so, this moment, run was 4-bit, and absLevel is 4-bit;
The third: is if the code table that current decoding is adopted is VLC4_Intra or VLC5_Intra or VLC6_Intra or VLC4_Inter or VLC5_Inter or VLC6_Inter or VLC4_Chroma, be the third situation so, this moment, run was 3-bit, and absLevel is 5-bit;
Then according to Step II) in Exp-Golomb decoded result CodeNum with relevant (run, the absLevel that look-up table level) obtains obtains level, execution in step 7 again;
6) decoding of Exp-Golomb sign indicating number, obtain Exp-Golomb decoded results CodeNum ', and obtain MaxRun and RefAbsLevel according to the entropy of AVS standard definition decoding look-up table, utilize MaxRun, RefAbsLevel, CodeNum ' and Step II) in Exp-Golomb decoded result CodeNum obtain run and level;
7) upgrade code table and select, execution in step 2, next code word begins to decode;
8) all coefficient decodings of a piece finish.
Said method can be saved storage resources according to the present invention, can be used for software decode, also can be integrated among video decode VLSI (Very Large Scale Integrated Circuits, the very lagre scale integrated circuit (VLSIC)) chip, especially be fit to be applied to the design of VLSI circuit.
The inventive method is not limited to above-mentioned specific embodiment, and those skilled in the art takes to be equal in technical scheme disclosed by the invention or similar variation or replacement, all should belong to protection scope of the present invention.

Claims (5)

1, the method for entropy decoding and inverse quantization is handled in a kind of programmable merging, it is characterized in that this method comprises:
Definition: first kind code stream: according to the code stream of the sequential encoding that is just scanning;
First kind entropy decoding: first kind code stream is carried out the entropy decoding;
The second class code stream: according to the code stream of the sequential encoding of inverse scan, and inverse quantization does not need to store user definition quantization matrix Wload;
Second class entropy decoding: the second class code stream is carried out the entropy decoding;
Shared storage: be used for storing the user definition quantization matrix Wload of inverse quantization of first kind code stream decoding and the combination of the Run-Length Coding in the second class code stream decoding to (run, level), wherein the element among the Wload is user-defined quantization weight w_load;
This method specifically comprises the steps:
1) bit stream that receives is carried out the entropy decoding:
11) if first kind code stream, carry out the decoding of first kind entropy, obtain by the Run-Length Coding combination of positive scanning sequency to (run, level);
12) if the second class code stream, at first carry out the decoding of the second class entropy, obtain by the Run-Length Coding combination of inverse scan order to (run, level); With the combination of the Run-Length Coding that obtains to (run, level) in shared storage by first-in last-out principle read-write, obtain by the Run-Length Coding combination of positive scanning sequency to (run, level);
2) Run-Length Coding is made up (run level) carries out runs decoding, quantization parameter V after obtaining scanning and index index;
3) carry out the counter-scanning processing according to index index and scan mode, produce address addr that is used for the store transformed coefficient and the address addr that obtains user-defined quantization weight w_load;
4) obtain quantization weight w_load inverse quantization parameter in addition; If first kind code stream also will read shared storage according to the address addr of the quantization weight w_load of counter-scanning gained, obtain user-defined quantization weight w_load;
5) according to above-mentioned inverse quantization parameter quantization parameter V is carried out inverse quantization and handle, obtain conversion coefficient;
6) conversion coefficient is write the conversion coefficient memory according to above-mentioned address addr.
2, the method for entropy decoding and inverse quantization is handled in programmable merging as claimed in claim 1, it is characterized in that, the data width of described shared storage storage is 18 bits.
3, the method for entropy decoding and inverse quantization is handled in programmable merging as claimed in claim 1, it is characterized in that described shared storage comprises two shared storages that carry out " ping-pong operation ".
4, the method for entropy decoding and inverse quantization is handled in programmable merging as claimed in claim 1, it is characterized in that, and described two shared storages, wherein each memory can have 64 inlets.
5, the method for entropy decoding and inverse quantization is handled in programmable merging as claimed in claim 1, it is characterized in that the described second class entropy that carries out is decoded, obtain making up (run by the Run-Length Coding of inverse scan order, level) concrete grammar specifically may further comprise the steps:
I) select initial code table;
II) decoding of Exp-Golomb sign indicating number obtains Exp-Golomb decoded results CodeNum;
III) if first decodes codeword of a piece, then execution in step IV; Otherwise judge whether it is end of block character EOB, if, execution in step VIII, otherwise execution in step IV;
IV) escape sign indicating number Escape detects, if not the sign indicating number Escape that escapes, execution in step V; Otherwise execution in step VI;
V) by the combination of relevant Run-Length Coding to (run, look-up table level) obtain (run, absLevel), this relevant Run-Length Coding combination is to (run, level) it is as shown in the table for look-up table institutional framework, wherein every group (run, storage absLevel) needs 8 bits;
Table relevant (run, the institutional framework of look-up table level)
Figure C200610089146C00031
Above-mentioned relevant (run, level) in the look-up table, tblnum represents the table label of CA-2D-VLC look-up table, and specifically, tblnum is following 6 code table: VLC0_Intra, VLC1_Intra, VLC0_Inter, VLC1_Inter, VLC0_Chroma and VLC1_Chroma of 0 and 1 expression; Tblnum is following 6 code table: VLC2_Intra, VLC3_Intra, VLC2_Inter, VLC3_Inter, VLC2_Chroma and VLC3_Chroma of 2 and 3 expressions; Tblnum is following 7 code table: VLC4_Intra, VLC5_Intra, VLC6_Intra, VLC4_Inter, VLC5_Inter, VLC6_Inter and VLC4_Chroma of 4,5 and 6 expressions; AbsLevel is the absolute value of level;
VLC0_Intra~VLC6_Intra, VLC0_Inter~VLC6_Inter, VLC0_Chroma~VLC4_Chroma and MaxRun_Tbl are the code tables that is used for the coefficient encoding and decoding of AVS definition; Wherein these 7 code tables of VLC0_Intra~VLC6_Intra are used for the brightness Intra-coded blocks, and these 7 code tables of VLC0_Inter~VLC6_Inter are used for the brightness inter-coded block, and these 5 code tables of VLC0_Chroma~VLC4_Chroma are used for chrominance block;
According to the institutional framework of described this look-up table be divided into three kinds of situations obtain the Run-Length Coding combination to (run, level) the absolute value absLevel of the value level of nonzero coefficient behind zero number run and the run continuously before the nonzero coefficient in:
First kind: if the code table that current decoding is adopted is VLC0_Intra or VLC1_Intra or VLC0_Inter or VLCI_Inter or VLC0_Chroma or VLC1_Chroma, be first kind of situation so, this moment, run was 5-bit, and absLevel is 3-bit;
Second kind: if the code table table that current decoding is adopted is VLC2_Intra or VLC3_Intra or VLC2_Inter or VLC3_Inter or VLC2_Chroma or VLC3_Chroma, be second kind of situation so, this moment, run was 4-bit, and absLevel is 4-bit;
The third: is if the code table that current decoding is adopted is VLC4_Intra or VLC5_Intra or VLC6_Intra or VLC4_Inter or VLC5_Inter or VLC6_Inter or VLC4_Chroma, be the third situation so, this moment, run was 3-bit, and absLevel is 5-bit;
Then according to Step II) in Exp-Golomb decoded result CodeNum and the combination of relevant Run-Length Coding to (run, the absLevel that look-up table level) obtains obtain Run-Length Coding and make up (run, level level), execution in step VII again;
VI) decoding of Exp-Golomb sign indicating number, obtain Exp-Golomb decoded results CodeNum ', and obtain MaxRun and RefAbsLevel according to the entropy of AVS standard definition decoding look-up table, utilize MaxRun, RefAbsLevel, CodeNum ' and Step II) in Exp-Golomb decoded result CodeNum obtain Run-Length Coding combination to (run, run level) and level;
VII) upgrade code table and select, execution in step II, next code word begins to decode;
VIII) all coefficient decodings of a piece finish.
CNB2006101715011A 2006-08-07 2006-08-07 Method for programmable entropy decoding based on shared storage and countra-quantization Expired - Fee Related CN100466743C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101715011A CN100466743C (en) 2006-08-07 2006-08-07 Method for programmable entropy decoding based on shared storage and countra-quantization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101715011A CN100466743C (en) 2006-08-07 2006-08-07 Method for programmable entropy decoding based on shared storage and countra-quantization

Publications (2)

Publication Number Publication Date
CN1905675A CN1905675A (en) 2007-01-31
CN100466743C true CN100466743C (en) 2009-03-04

Family

ID=37674776

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101715011A Expired - Fee Related CN100466743C (en) 2006-08-07 2006-08-07 Method for programmable entropy decoding based on shared storage and countra-quantization

Country Status (1)

Country Link
CN (1) CN100466743C (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729886B (en) * 2008-10-24 2011-09-28 安凯(广州)微电子技术有限公司 Method, system and device for decoding videos
CN102238381B (en) * 2010-04-29 2013-06-19 晨星软件研发(深圳)有限公司 Image coding method and device for accelerating runlength coding
US10003823B2 (en) * 2015-01-30 2018-06-19 Mediatek Inc. Video decoder and video encoder using storage sharing technique for performing decoding and encoding functions complying with different video coding standards and associated shared storage device
US10643126B2 (en) * 2016-07-14 2020-05-05 Huawei Technologies Co., Ltd. Systems, methods and devices for data quantization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070525A1 (en) * 2002-06-20 2004-04-15 Nokia Corporation Method and a system for variable-length decoding, and a device for the localization of codewords
CN1589023A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Coding and decoding method and device for multiple coded list lengthening based on context
US20050135691A1 (en) * 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
US20050156761A1 (en) * 2003-12-18 2005-07-21 Lg Electronics Inc. Method and apparatus for CAVLC decoding
CN1662063A (en) * 2004-02-24 2005-08-31 上海交通大学 Method for decoding codes in variable lengths

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070525A1 (en) * 2002-06-20 2004-04-15 Nokia Corporation Method and a system for variable-length decoding, and a device for the localization of codewords
US20050156761A1 (en) * 2003-12-18 2005-07-21 Lg Electronics Inc. Method and apparatus for CAVLC decoding
US20050135691A1 (en) * 2003-12-19 2005-06-23 Reese Robert J. Content adaptive variable length coding (CAVLC) decoding
CN1662063A (en) * 2004-02-24 2005-08-31 上海交通大学 Method for decoding codes in variable lengths
CN1589023A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Coding and decoding method and device for multiple coded list lengthening based on context

Also Published As

Publication number Publication date
CN1905675A (en) 2007-01-31

Similar Documents

Publication Publication Date Title
US7769088B2 (en) Context adaptive binary arithmetic code decoding engine
US7630440B2 (en) Context adaptive binary arithmetic code decoding engine
CN1787384B (en) Decoding method and device, and encoding method and device
CN102231830B (en) Arithmetic unit used for context arithmetic encoding and decoding
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
US9369702B2 (en) Context adaptive position and amplitude coding of coefficients for video
US7411529B2 (en) Method of decoding bin values using pipeline architecture and decoding device therefor
US20110019730A1 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
KR20210063483A (en) Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection
CN101252694B (en) Address mapping system and frame storage compression of video frequency decoding based on blocks
JP2007300517A (en) Moving image processing method, program of moving image processing method, recording medium with program of moving image processing method recorded thereon and moving image processor
WO2008053755A2 (en) Entropy coding apparatus
US8319672B2 (en) Decoding device for context-based adaptive binary arithmetic coding (CABAC) technique
US10979724B2 (en) Scanning orders for non-transform coding
CN1825976A (en) Method of decoding a digital video sequence and related apparatus
CN100466743C (en) Method for programmable entropy decoding based on shared storage and countra-quantization
TW202021342A (en) Methods and apparatus for entropy coding and decoding aspects of video data
CN100542293C (en) Variable-length code decode method and codec thereof
CN101742330A (en) Image coding method and device
CN100442853C (en) Runs decoding, anti-scanning, anti-quantization and anti-inverting method and apparatus
CN101790096A (en) Encoding and decoding method and device based on double prediction
CN1925616B (en) Macro block pair class frame field adaptive coding/decoding method
CN1327712C (en) A method of video macro block pattern encoding
US11431978B2 (en) Video decoding method and video decoding device for improving decoding efficiency
CN102075746B (en) Video macro block decoding method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090304

Termination date: 20120807