CN107093162A - A kind of MQ encoders applied to JPEG2000 - Google Patents
A kind of MQ encoders applied to JPEG2000 Download PDFInfo
- Publication number
- CN107093162A CN107093162A CN201710295967.0A CN201710295967A CN107093162A CN 107093162 A CN107093162 A CN 107093162A CN 201710295967 A CN201710295967 A CN 201710295967A CN 107093162 A CN107093162 A CN 107093162A
- Authority
- CN
- China
- Prior art keywords
- cxd
- values
- register
- value
- index value
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
The present invention relates to a kind of MQ encoders applied to JPEG2000, including two parts of index prediction module and main body coding module, current context judgement to be encoded enters Part I to CXD and indexes prediction module to obtain correct index value;The index value that current context judgement is obtained to CXD carries out the main encoding process of MQ encoders by Part II main body coding module is entered, the module is four stage pipeline structures, first level production line obtains corresponding Qe values and LZ values according to the index value of input from probabilistic estimated value table PET, and LZ values are used to refer to the number of times of bright displacement;Qe values and LZ values enter the second level production line, the main renewal for completing register A;Qe values and register A shift count enter third level streamline, the main renewal for completing low 16 C16 of register C;Fourth stage streamline mainly completes high 12 of register C renewal, final output packed byte.
Description
Technical field
The invention belongs to image compression encoding field, it is related to Static Picture Compression standard JPEG2000.
Background technology
Image is one important information channel of human society.The information content of original image is often very huge, to storage
Resource and transmission bandwidth propose very high requirement, but many redundancies are contained among these raw informations.In order to save
About storage resource and transmission bandwidth, on the premise of image information acquisition is not influenceed, it should which certain journey is carried out to original image
The compression of degree, removes redundancy.Dimension, image compression technology is all the popular domain of image procossing all the time.
JPEG2000 is International Organization for standardization (ISO) in the Static Picture Compression standard of new generation of issue in 2000.Should
Standard is on the basis of original Joint Photographic Experts Group, and employing DWT (wavelet transform) and EBOCT, (optimal truncation embedded block is compiled
Code) two kinds of new technologies, therefore have:(1) higher compression quality is remain under low bit- rate;(2) there is well fault-tolerant
Error correcting capability;(3) " area-of-interest " (ROI) is supported;(4) the advantages of supporting progressive transmission.The complicated journey of JPEG2000 coding
Degree is higher, and the coding of wherein EBOCT parts occupies more than the 80% of the binary encoding time, is that current JPEG2000 algorithm structures are excellent
The principal concern of change.
EBOCT codings include Tier1 codings and Tier2 encodes two parts, and the former undertakes main coding work.
Tier1 codings are made up of BPC encoders and MQ encoders, and the former produces context-judgement to (CXD to), and the latter enters according to two
Coding principle processed produces compressed bit stream to CXD to carrying out coding.The optimization of BPC encoders has realized larger breakthrough at present,
" proposition of the improved method such as skip scanning method " substantially increases the processing speed of BPC encoders.
However, MQ encoders are because the coding characteristic and front and rear CXD of itself strict sequential are to strong between input
Relevance, throughput is difficult to improve always.There are two kinds of thinkings currently for the optimization of MQ encoders:(1) gulping down for encoder is improved
Rate is told, multiple CXD pairs of encoder can be handled by designing a cycle;(2) single CXD is carried out to the MQ encoders of processing excellent
Change, improve coding rate, shorten code period.For former thinking, there are many research teams to propose corresponding structure.But
The usual of these structures has the following problems:(1) encoder overall work frequency is relatively low;(2) in order to realize multipair CXD pairs simultaneously
The circuit structure of larger area is encoded and uses, storage demand is also larger;(3) it often have ignored the correlation of front and rear CXD pairs of input
Property.When front and rear input CXD to it is identical when, optimization structure tend not to normal work.Second of thinking has then been obtained than wide
Application, the present invention be also based on the MQ coder structures that this thinking proposes optimization.
There is strong correlation before and after MQ encoders between CXD pairs of input.Meeting when each CXD is to entering MQ encoders
A correspondence Index value is found from ILT forms first.But every time after end-of-encode, this corresponding Index is possible to
It can be updated.Therefore, if CXD pairs of value of front and rear input is identical, then latter CXD is to just having to wait for previous CXD
To coding complete to obtain correct Index.It is encoded that so strict relevance causes pipeline organization not to be applied to
Cheng Dangzhong so that coding rate is slower.
The content of the invention
The purpose of the present invention be overcome prior art it is above-mentioned it is not enough there is provided a kind of coding rate it is fast, storage can be reduced
The MQ encoders applied to JPEG2000 of occupancy.Technical scheme is as follows:
A kind of MQ encoders applied to JPEG2000, including two portions of index prediction module and main body coding module
Point, it is characterised in that
(1) current context judgement to be encoded enters Part I to CXD and indexes prediction module to obtain correct rope
Draw value, the index value there are two kinds of possibility:A. based on context adjudicate to the context value CX in CXD from index look-up table ILT
The original index value inquired;B. upper context judgement encodes the renewal index value produced to CXD;Index value is selected to need
Judge two conditions:A. judge whether current context judgement adjudicates pair CXD context value CX values with previous context
CXD context value CX values are identical;B. whether previous context judgement occurs renormalization operation to CXD, if two bars
Part all meets, then just using index value is updated as index value of the current context judgement to CXD, otherwise using primary index
Value;The index value of acquisition will replace index look-up table ILT original index value, in addition, after obtaining correct index value, when
What preceding context judgement also obtained the coding mode that will be carried out according to itself to CXD from probabilistic estimated value table PET
Renewal index value of the selection one to select this coding among NMPS and NLPS, to be supplied to next context judgement pair
CXD is selected, and coding mode adjudicates the comparison of minimum one to CXD decision value D and its selected index value by current context
To determine being CODEMPS or CODELPS, complete after above-mentioned work, current context judgement starts follow-up encoded to CXD
Journey;
(2) index value that current context judgement is obtained to CXD will enter Part II main body coding module progress MQ volumes
The main encoding process of code device, the module is four stage pipeline structures, the first level production line according to the index value of input from
Corresponding Qe values and LZ values are obtained in probabilistic estimated value table PET, LZ values are used to refer to the number of times of bright displacement, used in register A
Renewal among, in addition, current context judgement to CXD decision value D also by and minimum one of its index value be compared
It is CODEMPS or CODELPS to CXD coding mode to obtain current context judgement;
(3) Qe values and LZ values enter the second level production line, the main renewal for completing register A:First, according to coding mould
Formula, register A original value will carry out adder with Qe values and calculate to obtain new coding interval width, then by the width with
Defined 0x800 is compared;If less than 0x800, then be accomplished by carrying out renormalization operation, the interval width value of coding is left
Move multiplication;Under CODELPS coding modes, the LZ values obtained from probabilistic estimated value table pet sheet can indicate to need what is moved to left
Number of times, so as to realize that the disposable renormalization that completes is operated;After renormalization operation is completed, encoder A completes to update, altogether
The number of times of displacement completes register C renewal by next level production line is sent to;
(4) Qe values and register A shift count enter third level streamline, main to complete low 16 C16 of register C
Renewal:It is similar with previous level production line, adder will be carried out with Q according to coding mode from C16 original value first and calculated
To the value of renewal, C16 displacement is then completed according to register A shift count and then low 16 of register C renewal is completed;
The carry digit of generation will be fed into fourth stage streamline;
(5) fourth stage streamline mainly completes high 12 of register C renewal, and according to register C displacement situation
Carry out bit output operation, final output packed byte.
Among original MQ coder structures, current CXD is in order to obtain correct Index values, it is necessary to wait previous
Individual CXD pairs of coding is completed, and such mechanism causes MQ encoders to be difficult with pipeline organization.The MQ codings that the present invention is provided
Device is mainly made up of two parts --- index detector and Coding part, Index detector effect be for
CXD into MQ codings is to predicting that corresponding index values, so as to start coding in advance, make it to wait previous CXD pairs
End-of-encode.Pipeline organization can be thus used during next code.Coding part undertake main coding work
Make.This is four stage pipeline structures, and main improvement has:
(1) pet sheet lattice are optimized, reduces storage occupancy;
(2) renewal to register A is optimized, and shortens critical path;
(3) it is low 16 and high 12 two registers to be divided to register C, is updated respectively by two level production lines.Avoid making
With the adder of 28;
Brief description of the drawings
The high-performance MQ coder structures of Fig. 1 present invention
Fig. 2 Index detector structure chart
The stage pipeline structure Coding part of Fig. 3 tetra-
Renewal register A circuit structures after Fig. 4 simplification
Embodiment
High-performance MQ coder structure figures proposed by the present invention are as shown in Figure 1.The encoder is by Index detector (ropes
Draw prediction module) and Coding part (main body coding module) two parts composition.One clock cycle can handle one
CXD pairs.
1.Index detector
Design Index detector purpose is to make the CXD for being currently entering MQ encoders correct to obtaining in advance
Index values, from
And start coding, it is not necessary to previous CXD is waited again to end-of-encode, and its structure is as shown in Figure 2.
Among traditional structure, each CXD in cataloged procedure in the event of renormalization (Renormalizaton)
Operation, then will generate a new Index value replace originally Index corresponding in ILT tables, and end-of-encode it
ILT tables are updated afterwards.Therefore next CXD terminates to obtain the ILT tables after updating to having to wait for the former.
Among Index detector, current CXD is in previous CXD not yet end-of-encodes, its correspondence Index has
Two kinds of possibilities:(1) the Index values that are obtained in the ILT tables never updated, (2) previous CXD are to the Index values after renewal
(Index_update).If it is equal but previous that current CXD pairs CX values are not equal to previous CXD pairs of CX values, or both
Individual CXD is to no generation renormalization operation (Renorm), then just select Index values according to the initial data in ILT tables.Such as
Both equal and previous CXD of fruit are to there occurs that renormalization is operated, just using previous CXD couples of updated value Index_
Update is used as current CXD couples of Index.
Index_update equally has two kinds of possibility:NLPS and NMPS.Both can be according to previous CXD pairs
Index values are obtained from pet sheet.Index_update it is selected will according to previous CXD pairs of coding mode (CODE_MODE) come
Judge.
Current CXD is to meeting synchronized update ILT tables after acquisition Index.
2.Coding part
MQ encoders Part II proposed by the present invention is Coding part, and the part is four stage pipeline structures,
As shown in Figure 3.
Simplifying for optimization pet sheet and Reg A described herein updates.
(1) pet sheet is optimized
First, a new parameter LZ (Leading zero) is added in pet sheet.Numerical value Reg A's
Numerical value needs the number of times being shifted, and can be used in the renormalization operation among CODELPS, reaches disposable completion displacement
Purpose.Secondly, the present invention will after 47 Qe value binary representations in pet sheet, it is found that 47 Qe values are segmented into three groups, often
Qe among one group has 8 bit values to be identical, as shown in table 1.Because Qe is the data that a bit wide is 15, therefore each Qe
Only 7 data of practically necessary storage.
Table 1 simplifies Qe storage modes
(2) simplification that register A updates
Invention increases a signal --- and Space_judge simplifies register A renewal.The signal is pressed under
The formula in face
To update:
Space_judge=(D==MPS)(A<2Qe):(A>2Qe)
If space_judge=1, then A=A_lps, otherwise A=A_mps.When A=A_lps, one is returned
Change operation to be bound to occur.The LZ that now pet sheet is provided can be for indicating that A needs to move several, so as to once complete A's
Displacement.If A=mps, then only as A-Qe<Renormalization operation can occur when 0x8000.The number of times of this shift
There are three kinds of possibility:It is mobile 0 time, mobile 1 time, mobile 2 times.Time for needing to shift can be determined according to the highest three of (A-Qe)
Number.Renewal circuit structure after simplification is as shown in Figure 4.
The workflow of high-performance MQ encoders proposed by the present invention is as follows:
(1) CXD to be encoded predicts corresponding index values to initially entering among index detector.Prediction knot
After beam, index detector can update ILT tables according to the index values after renewal, be next CXD to prediction Index
Value.
(2) CXD pairs to be encoded proceeds by coding with corresponding Index values into coding part.coding part
It is four stage pipeline structures.First level production line mainly inquires about pet sheet according to Index values, obtain corresponding Qe values with
And Leading Zero values (LZ).The two values complete register A and register C renewal by subsequent pipeline is sent to.
Pet sheet is optimized the present invention, reduces storage and takes.
The work of (3) second level production lines mainly is the value for updating register A.With being needed among traditional MQ coder structures
The renewal that multi-shift completes register A is different, and the present invention realizes the renewal that disposable displacement completes register A, significantly
Shorten critical path.
(4) third level streamline completes the register C renewal of low 16.Because register C is that a width is 28
Data, in order to avoid increasing critical path using the adder of 28, register C is divided into low 16 and high by 12 by the present invention
Position, is divided to two level production lines to update.
(5) fourth stage streamline completes register C high 12 renewals, while Byte-out output squeezing bytes are completed,
Complete CXD pairs of the coding work.
3. compare
In order to illustrate encoder performance, several MQ that MQ encoders proposed by the present invention are proposed with other research groups are encoded
Device is in FPGA
Compared on platform, comparative result is as shown in table 2.It is relatively more double in order to ensure the accuracy of result of the comparison
Side all employs same FPGA.Comparative result illustrates that MQ encoders proposed by the present invention have higher performance.
The comparative result of table 2
[1]K.Liu,Y.Zhou,Y.S.Li,and J.F.Ma,“A high performance MQ encoder
architecture in JPEG2000,”Integration,the VLSI Journal,vol.43,pp.305-317,
Jan.2010.
[2]K.Sarawadekar and S.Banerjee,“Area Efficient,High Speed EBCOT
Architecture for Digital Cinema,”ISRN Signal Processing,vol.2012,p.9,
Jan.2012.
[3]Z.Di,Y.Hao,J.Shi,and P.Ma,“A High-Throughput VLSI Archi-tecture
Design of Arithmetic Encoder in JPEG2000,”Journal of Signal Processing
Systems,vol.81,pp.227-247,Sep.2015.
Claims (1)
1. a kind of MQ encoders applied to JPEG2000, including two parts of index prediction module and main body coding module,
Characterized in that,
(1) current context judgement to be encoded enters Part I index prediction module to CXD to obtain correct index value,
The index value has two kinds of possibility:A. based on context adjudicate and the context value CX in CXD is inquired from index look-up table ILT
Original index value;B. upper context judgement encodes the renewal index value produced to CXD;Selection index value needs judgement two
Individual condition:A. judge whether current context judgement is adjudicated to the upper of CXD CXD context value CX values with previous context
Hereafter value CX values are identical;B. whether previous context judgement occurs renormalization operation to CXD, if two conditions are all accorded with
Close, then just using index value is updated as index value of the current context judgement to CXD, otherwise using original index value;Obtain
The index value obtained will replace index look-up table ILT original index value, in addition, after obtaining correct index value, current
The context judgement NMPS that also obtains the coding mode that will be carried out according to itself from probabilistic estimated value table PET to CXD and
Renewal index value of the selection one to select this coding among NLPS, to be supplied to next context judgement to select CXD,
Coding mode is determined to be to CXD decision value D by current context judgement with the comparison of minimum one of its selected index value
CODEMPS or CODELPS, is completed after above-mentioned work, and current context judgement starts follow-up cataloged procedure to CXD;
(2) index value that current context judgement is obtained to CXD will enter Part II main body coding module progress MQ encoders
Main encoding process, the module is four stage pipeline structures, and the first level production line is according to the index value of input from probability
Corresponding Qe values and LZ values are obtained in estimated value table PET, LZ values are used to refer to the number of times of bright displacement, used in register A more
Among new, in addition, current context judgement to CXD decision value D also by and minimum one of its index value be compared and obtain
It is CODEMPS or CODELPS that current context, which is adjudicated to CXD coding mode,;
(3) Qe values and LZ values enter the second level production line, the main renewal for completing register A:First, according to coding mode,
Register A original value will carry out adder with Qe values and calculate to obtain new coding interval width, then by the width and rule
Fixed 0x800 is compared;If less than 0x800, then be accomplished by carrying out renormalization operation, the interval width value of coding is moved to left
Multiplication;Under CODELPS coding modes, the LZ values obtained from probabilistic estimated value table pet sheet can indicate time for needing to move to left
Number, so as to realize that the disposable renormalization that completes is operated;After renormalization operation is completed, encoder A completes to update, Zong Gongyi
The number of times of position completes register C renewal by next level production line is sent to;
(4) Qe values and register A shift count enter third level streamline, main to complete low 16 C16 of register C more
Newly:It is similar with previous level production line, adder calculating will be carried out according to coding mode and Q from C16 original value first and obtained more
New value, then completes C16 displacement according to register A shift count and then completes low 16 of register C renewal;Produce
Carry digit will be fed into fourth stage streamline;
(5) fourth stage streamline mainly completes high 12 of register C renewal, and is carried out according to register C displacement situation
Bit output operation, final output packed byte.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710295967.0A CN107093162A (en) | 2017-04-28 | 2017-04-28 | A kind of MQ encoders applied to JPEG2000 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710295967.0A CN107093162A (en) | 2017-04-28 | 2017-04-28 | A kind of MQ encoders applied to JPEG2000 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107093162A true CN107093162A (en) | 2017-08-25 |
Family
ID=59638672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710295967.0A Pending CN107093162A (en) | 2017-04-28 | 2017-04-28 | A kind of MQ encoders applied to JPEG2000 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107093162A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477879A (en) * | 2003-07-03 | 2004-02-25 | 复旦大学 | High-speed low power consumption MQ encoder applicable dto JPEG2000 standard |
CN101489128A (en) * | 2009-01-19 | 2009-07-22 | 山东大学 | JPEG2000 pipeline arithmetic encoding method and circuit |
CN102088607A (en) * | 2011-02-28 | 2011-06-08 | 西安电子科技大学 | Memory quotient (MQ) coding method and circuit based on JPEG (joint photographic experts group) 2000 standard |
CN102523455A (en) * | 2012-01-02 | 2012-06-27 | 西安电子科技大学 | Multi-thread arithmetic coding circuit and method based on standard JPEG 2000 |
-
2017
- 2017-04-28 CN CN201710295967.0A patent/CN107093162A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477879A (en) * | 2003-07-03 | 2004-02-25 | 复旦大学 | High-speed low power consumption MQ encoder applicable dto JPEG2000 standard |
CN101489128A (en) * | 2009-01-19 | 2009-07-22 | 山东大学 | JPEG2000 pipeline arithmetic encoding method and circuit |
CN102088607A (en) * | 2011-02-28 | 2011-06-08 | 西安电子科技大学 | Memory quotient (MQ) coding method and circuit based on JPEG (joint photographic experts group) 2000 standard |
CN102523455A (en) * | 2012-01-02 | 2012-06-27 | 西安电子科技大学 | Multi-thread arithmetic coding circuit and method based on standard JPEG 2000 |
Non-Patent Citations (3)
Title |
---|
NA BAO 等: "High-throughput MQ encoder for pass-parallel EBCOT in JPEG2000", 《2015 28TH IEEE INTERNATIONAL SYSTEM-ON-CHIP CONFERENCE (SOCC)》 * |
姜喆: "高性能JPEG2000图像编码器的VLSI设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
沈友宝: "JPEG2000图像编码器的VLSI设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100547615C (en) | Become the encoding scheme of the data stream of graphical model during expression | |
CN103733622B (en) | Context initialization in entropy code | |
CN109151482B (en) | Lossless lossy hybrid compression method for spectral band of satellite-borne spectral image | |
CN101610413B (en) | Video coding/decoding method and device | |
CN102970531B (en) | Method for implementing near-lossless image compression encoder hardware based on joint photographic experts group lossless and near-lossless compression of continuous-tone still image (JPEG-LS) | |
CN107481295B (en) | Image compression system of convolutional neural network based on dynamic byte length distribution | |
CN101014129B (en) | Video data compression method | |
US8604951B2 (en) | System and method for optimizing context-adaptive binary arithmetic coding | |
CN103782597A (en) | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding | |
CN103227924B (en) | A kind of arithmetic encoder and coded method | |
CN110191339B (en) | Code rate estimation core unit, code rate estimation device and code rate estimation method | |
CN103974066A (en) | Video coding method and device | |
CN110049333B (en) | JPEG _ LS image compression output coding code stream splicing system and method | |
CN109391816B (en) | Parallel processing method for realizing entropy coding link in HEVC (high efficiency video coding) based on CPU (Central processing Unit) and GPU (graphics processing Unit) heterogeneous platform | |
US8754792B2 (en) | System and method for fixed rate entropy coded scalar quantization | |
Li et al. | A CABAC encoding core with dynamic pipeline for H. 264/AVC main profile | |
CN102088607B (en) | Memory quotient (MQ) coding method and circuit based on JPEG (joint photographic experts group) 2000 standard | |
CN104918049A (en) | Binary arithmetic coding module suitable for HEVC (high efficiency video coding) standards | |
CN110365346B (en) | Arithmetic entropy coding method and system | |
WO2021056214A1 (en) | Encoding method, decoding method, encoder, decoder and storage medium | |
EP1189354A2 (en) | Data encoding method, data encoding apparatus, data decoding method, and data decoding apparatus | |
CN107093162A (en) | A kind of MQ encoders applied to JPEG2000 | |
CN115567058A (en) | Time sequence data lossy compression method combining prediction and coding | |
CN111901592B (en) | Weight updating method and device for predictive coding neural network | |
CN103152567A (en) | Any order number index Columbus encoder and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170825 |