CN103826120B - A kind of code stream analyzing device suitable for HEVC - Google Patents
A kind of code stream analyzing device suitable for HEVC Download PDFInfo
- Publication number
- CN103826120B CN103826120B CN201410100270.XA CN201410100270A CN103826120B CN 103826120 B CN103826120 B CN 103826120B CN 201410100270 A CN201410100270 A CN 201410100270A CN 103826120 B CN103826120 B CN 103826120B
- Authority
- CN
- China
- Prior art keywords
- cabac
- code stream
- decoding
- modules
- decoder modules
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present invention relates to a kind of code stream analyzing device suitable for HEVC, including code stream analyzing status control module, EG0 decoder modules, adjacent upper block message and relevant parameter memory element, decoding output memory element, code stream FIFO and CABAC decoder module;The EG0 refers to 0 rank order index Columbus;Described code stream FIFO is connected with the CABAC decoder modules and EG0 decoder modules respectively by buffer displacement, and the EG0 decoder modules are connected with the CABAC decoder modules by code stream analyzing status control module;The EG0 decoder modules are connected with the CABAC decoder modules by adjacent upper block message and relevant parameter memory element.The code stream analyzing device of the present invention is divided according to the syntactic element in HEVC standard and redesigns state machine, can greatly choose high data throughput;Storage and the corresponding synchronous logic of code tree unit context variable and independent segments context variable is increased simultaneously, can be realized dependent fragment context variable specified in HEVC standard and be needed the synchronizing function of synchronous code tree unit context variable.
Description
Technical field
The present invention relates to a kind of code stream analyzing device suitable for HEVC, belongs to the technology neck of digital video signal encoding and decoding
Domain.
Background technology
HEVC(High Efficiency Video Codec)It is at present by International Telecommunication Union(ITU)And moving image
Expert group(MPEG)International video coding standard of new generation in joint formulation.With present international video standard H.264/AVC
Compare, HEVC is can guarantee that on the premise of identical image quality, the code check of video is reduced into 50%.But corresponding, the calculating of HEVC
Complexity improves 2 to 3 times.Compared with H.264, the coded system of HEVC only have 0 rank order exp-Golomb coding and
CABAC encodes two kinds, does not use CAVLC codings.With H.264, in HEVC, the bottleneck of code stream analyzing remains CABAC solutions
Code.
First compare with the CABAC codings in H.264, CABAC in HEVC coding syntactic element division and corresponding send out
Improved on code encoding/decoding mode.The syntactic element of CABAC codings used in HEVC is illustrated in accompanying drawing 1.These grammer units
Element describes the coding unit of the block of pixels for encoding(CU), predicting unit(PU), conversion unit(TU)And loop filter
(LF)Characteristic.For CU, these syntactic elements describe the predictive mode of the structure and the CU of block(Frame in or frame
Between);For PU, the syntactic element in form describes intra prediction mode and a series of movable information;It is for TU, main
The information such as variation coefficient that residual matrix is included, symbol;LF syntactic elements transmit one in each maximum coding unit LCU
It is secondary, describe the type and side-play amount of SAO in loop filtering.These improvement enable CABAC modules to have bigger data to gulp down
The amount of telling, but also result in the variation of decoding process.
Out outside above-mentioned change, in specific CABAC decoding process, the initialization module in HEVC increased up and down
The storage of literary variable and synchronizing function, this change cause it is current H.264 in CABAC section decoder modules be no longer suitable for.
The content of the invention
For the deficiencies in the prior art, the present invention relates to a kind of code stream analyzing device suitable for HEVC.
Technical scheme is as follows:
The present invention relates to a kind of code stream analyzing device suitable for HEVC, including code stream analyzing status control module, EG0 decoding
Module, adjacent upper block message and relevant parameter memory element, decoding output memory element, code stream FIFO and CABAC decoder module;
The EG0 refers to 0 rank order index Columbus;
Described code stream FIFO is connected with the CABAC decoder modules and EG0 decoder modules respectively by buffer displacement, institute
State EG0 decoder modules to be connected with the CABAC decoder modules by code stream analyzing status control module;The EG0 decoder modules
It is connected with the CABAC decoder modules by adjacent upper block message and relevant parameter memory element;
The CABAC decoder modules include the control of CABAC arithmetic decodings, output module and CABAC states;The CABAC
Arithmetic decoding is connected with the decoding output memory element by output module;The ABAC arithmetic decodings and the CABAC shapes
State control is connected, and the CABAC states control is connected with the decoding output memory element by output module;
The buffer displacement is connected with the CABAC arithmetic decodings, and the adjacent upper block message and relevant parameter storage are single
It is first to be connected with CABAC states control;
The code stream analyzing status control module is the control centre of whole code stream analyzing device, is specified according in HEVC standard
Code stream composition and corresponding parsing order, the code stream analyzing status control module coordinates EG0 decoder modules and CABAC decodings
The work of module, completes the decoding operate of corresponding syntactic element;
The EG0 decoder modules are used for the decoding operate for completing the syntactic element using 0 rank order exp-Golomb coding,
Character type is specifically included and without two kinds of character type;
The adjacent upper block message and relevant parameter memory element are realized using SRAM, for storing following information:
(1)Adjacent upper piece syntax element value, the value of these syntactic elements are used for the model rope for calculating corresponding syntactic element
Draw increment:It is every solved a macroblock syntax elements value after update the syntactic element of relevant position in block message SRAM on adjacent
Value;Updated by dynamic immediately, can avoid storing the syntax elements value of two row macro blocks, and then save memory space, and while
The calculating of model index delta value is not affected;
(2)For the relevant parameter needed in CABAC decoding process:Including sequence parameter set, picture parameter set and piece
Head syntax element value;
The decoding output memory element, for storing the residual matrix and movable information of CABAC decoding outputs;Due to number
It is very big according to amount, so realized using SRAM, meanwhile, in order to reduce time delay, the collaboration of the module such as realization and inverse quantization, inverse transformation
Work, realizes ping-pong operation pattern using two SRAM, for example, when CABAC output modules write data toward SRAM1,
Inverse quantization/inverse transform block reads residual error coefficient value from SRAM2.By such realization, each module can be made while operation;
The code stream FIFO, for temporarily storage code stream information, while realizing the asynchronous access of code stream information;
The CABAC decoder modules, for realizing the decoding operate of the syntactic element using CABAC codings:Including CABAC
Arithmetic decoding module, CABAC status control modules and output module.
According to currently preferred, the CABAC arithmetic decodings module includes arithmetic decoding and renormalization unit and upper
Hereafter model management unit;
Above-mentioned arithmetic decoding and renormalization unit include conventional decode logic, bypass decode logic and terminate decoding patrolling
Volume, the unit is all realized by combination logic;The unit selects corresponding decoding by coding type specified in HEVC standard
Mode is decoded, while updating current interval width, interval biasing and context variable;
The meeting when new slice, a new tile and new a line CTU is parsed of above-mentioned context model administrative unit
According to respective initialization flow process complete each context model initialization or synchronization and arithmetic decoding engines just
Beginningization;Meanwhile, the unit can also be deposited according to memory requirement, the context variable of just corresponding CTU and slice segment
To in corresponding depositor;In order to improve decoding speed, needs complete context model information more within a clock cycle
Newly, and obtain the context model information that next bit to be solved needs.The administrative unit is carried out by CABAC status control modules
The context model value after arithmetic decoding unit updates is read in control, each clock, while exporting the context mould that decoding needs
Offset.When reading in identical with the context model of output, arithmetic decoding unit is by directly using the context model after updating
Value(The model value that i.e. administrative unit is read in)), the wait of a clock so, can be avoided;
Above-mentioned CABAC status control modules are for according to the code stream composition and decoding order specified in standard, controlled state
Redirect, while the renewal and reading of the corresponding context variable of control, complete corresponding CABAC decoding operates;
Above-mentioned output module is used for the output control for realizing the result to CABAC decodings.
According to currently preferred, the decoding process of the EG0 decoder modules includes character type and without two kinds of character type,
The resolver realizes above two decoding process by the way of solidification look-up table in hardware.In order to improve decoding efficiency, this
Solidify in the hardware by the way of look-up table to realize both decoding processes in invention.
According to currently preferred, the code stream FIFO width is 8.Facilitate the use of CABAC modules.
The advantage of the present invention:
Compared with prior art, the improved syntactic element parsing suitable for HEVC of code stream analyzing device of the present invention
Process, and its CABAC decoding process meets the requirement of HEVC.
The code stream analyzing device of the present invention is divided according to the syntactic element in HEVC standard and redesigns state machine, can be very big
Choose high data throughput;Simultaneously increased code tree unit context variable and independent segments context variable storage and
Corresponding synchronous logic, can realize dependent fragment context variable specified in HEVC standard and need synchronous coding
The synchronizing function of tree unit context variable.Meanwhile, the submodule of the code stream analyzing device of the present invention divides reasonable, can realize code
The reading of stream, decoding, the pile line operation of output, greatly improve decoding efficiency.
Description of the drawings
Fig. 1 is that the syntactic element of CABAC codings used in HEVC is divided;
Fig. 2 is the hardware structure of HEVC code stream analyzing devices.
Specific embodiment
The present invention is described in more detail below in conjunction with the accompanying drawings, but not limited to this.
Embodiment,
A kind of code stream analyzing device suitable for HEVC, including it is code stream analyzing status control module, EG0 decoder modules, adjacent
Upper block message and relevant parameter memory element, decoding output memory element, code stream FIFO and CABAC decoder module;The EG0 is
Refer to 0 rank order index Columbus;
Described code stream FIFO is connected with the CABAC decoder modules and EG0 decoder modules respectively by buffer displacement, institute
State EG0 decoder modules to be connected with the CABAC decoder modules by code stream analyzing status control module;The EG0 decoder modules
It is connected with the CABAC decoder modules by adjacent upper block message and relevant parameter memory element;
The CABAC decoder modules include the control of CABAC arithmetic decodings, output module and CABAC states;The CABAC
Arithmetic decoding is connected with the decoding output memory element by output module;The ABAC arithmetic decodings and the CABAC shapes
State control is connected, and the CABAC states control is connected with the decoding output memory element by output module;
The buffer displacement is connected with the CABAC arithmetic decodings, and the adjacent upper block message and relevant parameter storage are single
It is first to be connected with CABAC states control;
The code stream analyzing status control module is the control centre of whole code stream analyzing device, is specified according in HEVC standard
Code stream composition and corresponding parsing order, the code stream analyzing status control module coordinates EG0 decoder modules and CABAC decodings
The work of module, completes the decoding operate of corresponding syntactic element;
The EG0 decoder modules are used for the decoding operate for completing the syntactic element using 0 rank order exp-Golomb coding,
Character type is specifically included and without two kinds of character type;
The adjacent upper block message and relevant parameter memory element are realized using SRAM, for storing following information:
(1)Adjacent upper piece syntax element value, the value of these syntactic elements are used for the model rope for calculating corresponding syntactic element
Draw increment:It is every solved a macroblock syntax elements value after update the syntactic element of relevant position in block message SRAM on adjacent
Value;Updated by dynamic immediately, can avoid storing the syntax elements value of two row macro blocks, and then save memory space, and while
The calculating of model index delta value is not affected;
(2)For the relevant parameter needed in CABAC decoding process:Including sequence parameter set, picture parameter set and piece
Head syntax element value;
The decoding output memory element, for storing the residual matrix and movable information of CABAC decoding outputs;Due to number
It is very big according to amount, so realized using SRAM, meanwhile, in order to reduce time delay, the collaboration of the module such as realization and inverse quantization, inverse transformation
Work, realizes ping-pong operation pattern using two SRAM, for example, when CABAC output modules write data toward SRAM1,
Inverse quantization/inverse transform block reads residual error coefficient value from SRAM2.By such realization, each module can be made while operation;
The code stream FIFO, for temporarily storage code stream information, while realizing the asynchronous access of code stream information;
The CABAC decoder modules, for realizing the decoding operate of the syntactic element using CABAC codings:Including CABAC
Arithmetic decoding module, CABAC status control modules and output module.
The CABAC arithmetic decodings module includes arithmetic decoding and renormalization unit and context model administrative unit;
Above-mentioned arithmetic decoding and renormalization unit include conventional decode logic, bypass decode logic and terminate decoding patrolling
Volume, the unit is all realized by combination logic;The unit selects corresponding decoding by coding type specified in HEVC standard
Mode is decoded, while updating current interval width, interval biasing and context variable;
The meeting when new slice, a new tile and new a line CTU is parsed of above-mentioned context model administrative unit
According to respective initialization flow process complete each context model initialization or synchronization and arithmetic decoding engines just
Beginningization;Meanwhile, the unit can also be deposited according to memory requirement, the context variable of just corresponding CTU and slice segment
To in corresponding depositor;In order to improve decoding speed, needs complete context model information more within a clock cycle
Newly, and obtain the context model information that next bit to be solved needs.The administrative unit is carried out by CABAC status control modules
The context model value after arithmetic decoding unit updates is read in control, each clock, while exporting the context mould that decoding needs
Offset.When reading in identical with the context model of output, arithmetic decoding unit is by directly using the context model after updating
Value(The model value that i.e. administrative unit is read in)), the wait of a clock so, can be avoided;
Above-mentioned CABAC status control modules are for according to the code stream composition and decoding order specified in standard, controlled state
Redirect, while the renewal and reading of the corresponding context variable of control, complete corresponding CABAC decoding operates;
Above-mentioned output module is used for the output control for realizing the result to CABAC decodings.
The decoding process of the EG0 decoder modules includes character type and without two kinds of character type, and the resolver adopts hardware
The mode of middle solidification look-up table is realizing above two decoding process.In order to improve decoding efficiency, using in hardware in the present invention
The mode of solidification look-up table is realizing both decoding processes.
The code stream FIFO width is 8.Facilitate the use of CABAC modules.
The code stream analyzing device of the present invention is divided according to the syntactic element that HEVC standard specifies(As shown in Figure 1), plan again
State machine can accomplish it is following some, so as to improve the handling capacity of data:
(1)Reduce the total amount of bin:Syntactic element that HEVC standard specifies is divided, can by change binarization mode,
The value for speculating some bin and the mark that higher level is set(flag)It is to be processed to reduce need to avoid the modes such as information redundancy
The total amount of bin, so as to covert raising data throughout;
(2)Reduce the dependency that context is selected;Due to the data dependency in context selection procedure, iterative decoding is more
Individual bin(Herein refer to a binary system)Need a large amount of predicted operations.Reduce the mistake that such dependency can simplify context selection
Journey simultaneously reduces the predicted operation quantity required for the multiple bins of parallel processing;
(3)Reduce the dependency of parsing:CABAC parses inherently one bottleneck, therefore should be reduced to other as far as possible
The dependency of any video encoding module for being likely to result in CABAC termination.Certainly, it is ideally that process of analysis is completely same
Other processes are independent;
(4)Reduce memory requirements:Access to internal memory would generally increase path delay, therefore reduce memory access operation very
It is necessary, meanwhile, do so can also reduce cost, reduce power consumption.
Claims (4)
1. a kind of code stream analyzing device suitable for HEVC, it is characterised in that the resolver include code stream analyzing status control module,
EG0 decoder modules, adjacent upper block message and relevant parameter memory element, decoding output memory element, code stream FIFO and CABAC solution
Code module;The EG0 refers to 0 rank order index Columbus;
Described code stream FIFO is connected with the CABAC decoder modules and EG0 decoder modules respectively by buffer displacement, described
EG0 decoder modules are connected with the CABAC decoder modules by code stream analyzing status control module;The EG0 decoder modules lead to
Cross adjacent upper block message and relevant parameter memory element to be connected with the CABAC decoder modules;
The CABAC decoder modules include CABAC arithmetic decoding modules, output module and CABAC status control modules;It is described
CABAC arithmetic decodings module is connected with the decoding output memory element by output module;The CABAC arithmetic decodings module
It is connected with the CABAC status control modules, the CABAC status control modules are deposited with the decoding output by output module
Storage unit is connected;
The buffer displacement is connected with the CABAC arithmetic decodings module, and the adjacent upper block message and relevant parameter storage are single
It is first to be connected with the CABAC status control modules;
The code stream analyzing status control module is the control centre of whole code stream analyzing device, according to the code specified in HEVC standard
Stream composition and corresponding parsing order, the code stream analyzing status control module coordinate EG0 decoder modules and CABAC decoder modules
Work, complete the decoding operate of corresponding syntactic element;
The EG0 decoder modules are used for the decoding operate for completing the syntactic element using 0 rank order exp-Golomb coding, specifically
Include character type and without two kinds of character type;
The adjacent upper block message and relevant parameter memory element are realized using SRAM, for storing following information:
(1)Adjacent upper piece syntax element value, the value of these syntactic elements are used to calculate the model index of corresponding syntactic element and increase
Amount:(2)For the relevant parameter needed in CABAC decoding process:Including sequence parameter set, picture parameter set and head grammer
Element value;
The decoding output memory element, for storing the residual matrix and movable information of CABAC decoding outputs;
The code stream FIFO, for temporarily storage code stream information, while realizing the asynchronous access of code stream information;
The CABAC decoder modules, for realizing the decoding operate of the syntactic element using CABAC codings:Including CABAC arithmetic
Decoder module, CABAC status control modules and output module.
2. a kind of code stream analyzing device suitable for HEVC according to claim 1, it is characterised in that the CABAC arithmetic
Decoder module includes arithmetic decoding and renormalization unit and context model administrative unit;
Above-mentioned arithmetic decoding and renormalization unit include conventional decode logic, bypass decode logic and termination decode logic,
The unit is all realized by combination logic;The unit selects corresponding decoding mode by coding type specified in HEVC standard
Decoded, while updating current interval width, interval biasing and context variable;
Above-mentioned context model administrative unit can be according to when new slice, a new tile and new a line CTU is parsed
Respective initialization flow process completes the initialization or synchronization and the initialization of arithmetic decoding engines of each context model;
Meanwhile, the context variable of corresponding CTU and slice segment can also be stored to accordingly by the unit according to memory requirement
Depositor in;
Above-mentioned CABAC status control modules for according to the code stream composition and decoding order specified in standard, controlled state is redirected,
The renewal and reading of corresponding context variable are controlled simultaneously, complete corresponding CABAC decoding operates;
Above-mentioned output module is used for the output control for realizing the result to CABAC decodings.
3. a kind of code stream analyzing device suitable for HEVC according to claim 1, it is characterised in that the EG0 decodes mould
The decoding process of block includes character type and without two kinds of character type, and the resolver carrys out reality by the way of solidifying look-up table in hardware
Existing above two decoding process.
4. a kind of code stream analyzing device suitable for HEVC according to claim 1, it is characterised in that the code stream FIFO width
Spend for 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410100270.XA CN103826120B (en) | 2014-03-18 | 2014-03-18 | A kind of code stream analyzing device suitable for HEVC |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410100270.XA CN103826120B (en) | 2014-03-18 | 2014-03-18 | A kind of code stream analyzing device suitable for HEVC |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103826120A CN103826120A (en) | 2014-05-28 |
CN103826120B true CN103826120B (en) | 2017-04-05 |
Family
ID=50760914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410100270.XA Active CN103826120B (en) | 2014-03-18 | 2014-03-18 | A kind of code stream analyzing device suitable for HEVC |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103826120B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918048B (en) * | 2015-06-03 | 2018-04-03 | 复旦大学 | Suitable for the entropy code context probability modeling modeling module design method of HEVC standard |
CN105657421B (en) * | 2016-01-15 | 2018-08-31 | 珠海全志科技股份有限公司 | 8x8 residual error coefficients block coding method and system |
CN113038140B (en) * | 2019-12-24 | 2024-05-28 | 扬智电子科技(成都)有限公司 | Video decoding method and device for context adaptive binary arithmetic coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909664A (en) * | 2005-08-04 | 2007-02-07 | 华为技术有限公司 | Arithmetic decoding system and device based on contents self-adaption |
CN102547294A (en) * | 2012-02-16 | 2012-07-04 | 复旦大学 | Context-based adaptive binary arithmetic coding (CABAC) hardware decoder architecture applied to H.264 and high efficiency video coding (HEVC) video standards |
WO2013108639A1 (en) * | 2012-01-19 | 2013-07-25 | Sharp Kabushiki Kaisha | High throughput coding for cabac in hevc |
WO2013153820A1 (en) * | 2012-04-11 | 2013-10-17 | Sharp Kabushiki Kaisha | Golomb-rice/eg coding technique for cabac in hevc |
-
2014
- 2014-03-18 CN CN201410100270.XA patent/CN103826120B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909664A (en) * | 2005-08-04 | 2007-02-07 | 华为技术有限公司 | Arithmetic decoding system and device based on contents self-adaption |
WO2013108639A1 (en) * | 2012-01-19 | 2013-07-25 | Sharp Kabushiki Kaisha | High throughput coding for cabac in hevc |
CN102547294A (en) * | 2012-02-16 | 2012-07-04 | 复旦大学 | Context-based adaptive binary arithmetic coding (CABAC) hardware decoder architecture applied to H.264 and high efficiency video coding (HEVC) video standards |
WO2013153820A1 (en) * | 2012-04-11 | 2013-10-17 | Sharp Kabushiki Kaisha | Golomb-rice/eg coding technique for cabac in hevc |
Also Published As
Publication number | Publication date |
---|---|
CN103826120A (en) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7534562B2 (en) | Low-latency image coding | |
EP1912443B1 (en) | Context-based adaptive arithmetic decoding system and apparatus | |
CN102231830B (en) | Arithmetic unit used for context arithmetic encoding and decoding | |
CN103141098B (en) | The method and system of context initialization in Video coding and decoding | |
CN106412577A (en) | Method and system for picture segmentation using columns | |
CN104025594A (en) | Tile size in video coding | |
CN104041031A (en) | Video encoding and decoding method and apparatus using same | |
CN103959793A (en) | Efficient signaling of reference picture sets | |
CN103826120B (en) | A kind of code stream analyzing device suitable for HEVC | |
CN102547294A (en) | Context-based adaptive binary arithmetic coding (CABAC) hardware decoder architecture applied to H.264 and high efficiency video coding (HEVC) video standards | |
RU2784930C1 (en) | Low latency image encoding | |
CN105847801A (en) | Multi-standard video decoder with novel binary element decoding | |
Guo et al. | An improved CAVLC entropy encoder of H. 264/AVC and FPGA implementation | |
GB2523993A (en) | Data encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |