CN103826120B - A kind of code stream analyzing device suitable for HEVC - Google Patents

A kind of code stream analyzing device suitable for HEVC Download PDF

Info

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
Application number
CN201410100270.XA
Other languages
Chinese (zh)
Other versions
CN103826120A (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.)
Shandong University
Original Assignee
Shandong 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 Shandong University filed Critical Shandong University
Priority to CN201410100270.XA priority Critical patent/CN103826120B/en
Publication of CN103826120A publication Critical patent/CN103826120A/en
Application granted granted Critical
Publication of CN103826120B publication Critical patent/CN103826120B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of code stream analyzing device suitable for HEVC
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.
CN201410100270.XA 2014-03-18 2014-03-18 A kind of code stream analyzing device suitable for HEVC Active CN103826120B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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