CN101848388A - Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard - Google Patents

Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard Download PDF

Info

Publication number
CN101848388A
CN101848388A CN 201010128830 CN201010128830A CN101848388A CN 101848388 A CN101848388 A CN 101848388A CN 201010128830 CN201010128830 CN 201010128830 CN 201010128830 A CN201010128830 A CN 201010128830A CN 101848388 A CN101848388 A CN 101848388A
Authority
CN
China
Prior art keywords
probability
normalization
value
symbol
small
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.)
Granted
Application number
CN 201010128830
Other languages
Chinese (zh)
Other versions
CN101848388B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN 201010128830 priority Critical patent/CN101848388B/en
Publication of CN101848388A publication Critical patent/CN101848388A/en
Priority to PCT/CN2010/080584 priority patent/WO2011113290A1/en
Application granted granted Critical
Publication of CN101848388B publication Critical patent/CN101848388B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard. The problems to be mainly solved are that the prior method has low processing speed and high realization complexity and cannot effectively normalize the code values of any double text symbol pairs. The normalization method comprises the following steps of: firstly, reading the necessary parameters for the encoding, updating the code value and determining the left-shift counting value of the code value; secondly, respectively judging the present normalization type of the different probability types of any text symbol pairs according to the probability interval value, the probability course mark and the probability value of the small probability symbol; finally, normalizing the code values according to the normalization type and generating the corresponding normalization code stream. The invention has the advantages of high processing speed and low realization complexity and can be applied to the image compression encoding of various high-speed digital devices, in particular to the encoding of the high-speed real-time satellite remote image.

Description

Arithmetic coding code value method for normalizing based on the JPEG2000 standard
Technical field
The present invention relates to image coding technology field, particularly a kind of arithmetic coding code value method for normalizing based on the JPEG2000 standard is used for the high speed image compressed encoding of various digital devices.
Background technology
Along with multimedia and development of internet technology and in the application of aspects such as medical image, remote sensing images and digital picture/video transmission, existing Joint Photographic Experts Group JPEG can not satisfy current requirement of actual application, and International Standards Organization has formulated new Joint Photographic Experts Group JPEG2000 in November, 2000 for this reason.One of core technology of this standard is exactly that data after adopting arithmetic coding method to wavelet transformation are encoded, and realizes that the compression of view data is handled.
The coding principle of described arithmetic coding method is described below:
Arithmetic coding be input as context symbol to CXD, comprise context label CX and context judgement D, its output then is corresponding compressed bit stream, wherein CX represents the context label by the generation of present encoding pixel, span is 0-18, D represents corresponding contextual judgement, and span is 0-1.Arithmetic coding method is selected the probability of corresponding judgement D adaptively according to the context label CX of input, be worth Symbol Type to be encoded according to judgement D, be big probability symbol M PS or small probability symbol LPS, and under small probability symbol LPS situation corresponding probability Qe, adjust corresponding probability interval value A then, and output code value C.This probability interval value A adopts 16 signless integers to represent.This code value C adopts 32 bit representations, and be divided into 5 different fields, i.e. 4 remainder certificates of the 31st to 28 bit representation, the 27th bit representation " carry " position, the the 26th to 19 bit representation coding carry-out bit, the the 18th to 16 bit representation is used to cut off 3 framing bits of carry propagation, the decimal place of the 15th to 0 bit representation code value.For the probability Qe of coded identification, adopt an array with 47 index to realize that this array is called probability Estimation table PET, the Qe value of the small probability symbol LPS symbol of one 16 of each correspondences in the table.Regulation according to the JPEG2000 standard, it is 19 * 6 array that the context label CX of present encoding symbol correspondence is visited a size as the address, obtain the inlet index Index of probability Estimation table PET, be that corresponding LPS symbol probability values Qe in the pet sheet is read in the address then with Index, and judge the process of specific coding in conjunction with current probability interval value and code value.If current probability interval value is smaller or equal to 0.75, this value down for 0x8000, in order to prevent to overflow, need be carried out normalized to probability interval value and code value corresponding to hexadecimal, makes the probability interval value greater than 0x8000 by move to left probability interval value and code value.In the normalized while, if code stream is formed whole byte in the code value, then carry out the code stream output procedure, promptly obtain final coding output code flow.In order to prevent the carry transmission,, specific bit fills to block the transmission of carry by being set.
According to the arithmetic coding principle as can be known, the normalization to code value is a core of whole arithmetic coding method.Yet the JPEG2000 standard agreement has only provided in single context symbol under the situation code value being carried out normalized method, when hardware is realized arithmetic encoder, because context symbol is to handling by serial mode, thereby forms speed bottle-neck.Typical arithmetic encoder hardware implementation method, for example, the article that TaiWan, China scholar K.-K.Ong and Jen-ShiunChiang deliver in Int.Conf.Image Process. (ICIP ' 02) in 2002 and IEEE Int.Symp.Circuits and Systems in 2004 international conference respectively " A high throughput low costcontext-based adaptive arithmetic codec for multiple standards " (2002, vol.1, pp.I872-I875) and " High-speeds EBCOT with dual context-modeling coding architecture forJPEG2000 " (2004, vol.3, pp.865-868.) arithmetic coding method that proposes in, this method to carrying out the normalized of code value, makes the encoder throughput only right for 1 context symbol of single clock processing according to single context symbol.Article " VLSI Design of a High-Speed and Area-EfficientJPEG2000Encoder " (2007 the 17th volumes that people such as domestic scholars plum chief will delivered on the IEEE Trans.on Circuits and System for VideoTechnology periodical in 2007, the 8th phase, the 1065-1078 page or leaf) arithmetic coding method that proposes in, though adopt the synchronous flowing water technology of many inputs to realize arithmetic coding, but this method also is based on single context symbol to what carry out to the normalized of code value, and it is right that its disposed of in its entirety speed has only single clock to handle 0.625 context symbol.Domestic scholars is permitted to surpass the arithmetic coding method that proposes in the article of delivering " A Dual-Symbol Coding Arithmetic Coder Architecture Design for High SpeedEBCOT Coding Engine in JPEG2000 " in Int.Conf.Image Process. (ICIP ' 05) in 2005 international conference, when the right context label of two context symbol not simultaneously, this method reaches single clock to the speed of code value normalized, and to handle 2 context symbol right, but when the right context label of two context symbol was identical, it is right that the disposal ability of this method only is that every clock is handled 1 context symbol.Australia scholar M.Dyer is at IEEE Transactions onCircuitsand Systems-I:Regular Papers periodical in 2006 Concurrency Techniques for ArithmeticCoding in JPEG2000 (VOL.53 that publishes an article, NO.6, pp.1203-1213, June 2006) in a kind of high speed arithmetic coding method has been proposed.Domestic scholars Liu Qi defends 2 arithmetic coding methods that context symbol is right that Zhejiang University's master thesis " based on the research and the design of JPEG2000 binary arithmetic coder " in 2006 has proposed a kind of 4 grades of stream treatment.Though the method for M.Dyer and Liu Qiwei can realize two context symbol to parallel processing, the complexity in the correlation method is higher, and chip design is caused certain difficulty.
Above-mentioned various arithmetic coding method has following defective when carrying out code value normalization:
The first, the method for K.-K.Ong and Jen-Shiun Chiang can only reach single clock and handle 1 ability that context symbol is right, does not consider that when code value is carried out normalized follow-up context symbol to situation, can't improve coding rate.
The second, it is right that the method for Mei Kuizhi, its disposed of in its entirety speed have only single clock to handle 0.625 context symbol, also do not consider during to input, to the parallel normalized processing of code value, thereby also can't improve coding rate in a plurality of context symbol.
The 3rd, the method of Xu Chao, when the right context label of two context symbol of input was identical, this method can't the right probability interval value of two context symbol of parallel processing be upgraded, make follow-up code value is carried out normalization also can only serial process, caused the pause of whole encoding process.When the right context label of two context symbol of continuous input was identical, the disposal ability of this coding method only was that context symbol of single clock processing is right.
The 4th, two above symbol is right though the method for M.Dyer and Liu Qiwei can both be handled, but these methods are when the code value normalized, do not adopt the method for the normalization type of code value being carried out Direct Classification, concern complexity when make handling between each module, to not provide the concrete Rule of judgment of code stream output simultaneously yet, and cause and realize difficulty, and complexity will be higher.
Summary of the invention
The objective of the invention is to avoid the deficiency of above-mentioned prior art, a kind of arithmetic coding code value method for normalizing based on the JPEG2000 standard is provided, carry out normalization with the right code value of any two context symbol,, reduce implementation complexity simultaneously to improve coding rate to input simultaneously.
The key problem in technology of realizing the object of the invention is: by effective sorting technique to code value normalization classify, and in normalized, adopt specific judgment criterion, determine the byte output type of corresponding normalization code stream respectively, simplified code value normalized process, improved coding rate, reduced implementation complexity simultaneously, implementation step is as follows:
(1) reads in coding necessary probability interval value, the first probability interval value shift count NumSLA0, the second probability interval value shift count NumSLA1, the first small probability symbol probability values, the second small probability symbol probability values and be used to represent the normalization process identifier of two context symbol to the probability type, and code value upgraded, determine the code value count value CT that moves to left, this pair context symbol comprises two big probability symbols, double small probability symbol, small probability/big probability symbol and big probability/small probability symbol to the probability type;
(2), judge current normalization type according to probability interval value, normalization process identifier and small probability symbol probability values:
If the probability type that (2a) two context symbol are right is two big probability symbols, then judge according to following criterion:
If the probability interval value, is then adjusted the first small probability symbol probability values less than the twice of the first small probability symbol probability values; If the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, calculate the difference between the adjusted first small probability symbol probability values and the second small probability symbol probability values, if this difference is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, the difference of the calculating probability interval value and the first small probability symbol probability values, and the relation of this difference and hexadecimal value 0x8000 relatively: if this difference less than hexadecimal value 0x8000, is then adjusted the difference of the probability interval value and the first small probability symbol probability values; If adjusted difference is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, relatively this adjusted difference and the second small probability symbol probability values, if the difference between this adjusted difference and the second small probability symbol probability values is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization; If this difference is more than or equal to hexadecimal value 0x8000, then compare probability interval value and the difference of the first small probability symbol probability values and the relation of the second small probability symbol probability values: if the difference of the probability interval value and the first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is single normalization, otherwise the difference of the calculating probability interval value and the first small probability symbol probability values, if this difference less than the second small probability symbol probability values and hexadecimal value 0x8000's and be worth, then current normalization type is single normalization, otherwise is zero degree normalization.
If the probability type that (2b) two context symbol are right is big probability/small probability symbol, then judge according to following criterion:
If the probability interval value is less than the twice of the first small probability symbol probability values, then adjust the first small probability symbol probability values, if the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of two classes, otherwise is two normalization of a class;
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, and the difference of the probability interval value and the first small probability symbol probability values is more than or equal to hexadecimal value 0x8000, then current normalization type is single normalization, otherwise, adjust the difference of the probability interval value and the first small probability symbol probability values, if adjusted difference is more than or equal to the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise is two normalization of two classes.
If the probability type that (2c) two context symbol are right is small probability/big probability symbol, then judge according to following criterion:
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, then adjust the first small probability symbol probability values, if the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of two classes, otherwise, calculate the difference of this adjusted first small probability symbol probability values and the second small probability symbol probability values, if this difference is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability interval value is less than the twice of the first small probability symbol probability values, then adjust the difference of the probability interval value and the first small probability symbol probability values, if this adjusted difference is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, relatively this adjusted difference and the second small probability symbol probability values, if the difference between this adjusted difference and the second small probability symbol probability values is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability type that (2d) two context symbol are right is a double small probability symbol, then normalization type is judged as two normalization of a class;
(3), determine the byte output type of corresponding normalization code stream respectively according to the normalization type of above-mentioned judgement:
(3a) to single normalization type, judge the byte output type according to following criterion:
If NumSLA0<CT, or NumSLA1<CT, then the byte output type moves to left NumSLA0 time to code value C simultaneously for the output of zero degree byte;
If last two context symbol are hexadecimal number 0xFF to last byte of the normalization code stream of generation, perhaps going up two context symbol is that hexadecimal number 0xFE and current code value C are more than or equal to hexadecimal number 0x8000000 to last byte of the normalization code stream that produces, it is 7 that the code value count value NewCT that temporarily moves to left is set, otherwise is made as 8; If 0<=NumSLA0-CT<NewCT or 0<=NumSLA1-CT<NewCT, then the byte output type is the output of single byte, simultaneously code value C is moved to left NumSLA0-CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
If do not satisfy the condition of zero degree byte output and single byte output, then the byte output type is that twice byte exported, and simultaneously code value C is moved to left NumSLA0-CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
(3b), judge the byte output type according to following steps to two normalization of a class and two normalization of two classes:
At first, the code value count value NewCT that temporarily moves to left is set, if last two context symbol are hexadecimal number 0xFF to last byte of the normalization code stream of generation, perhaps going up two context symbol is that hexadecimal number 0xFE and current code value C are more than or equal to hexadecimal number 0x8000000 to last byte of the normalization code stream that produces, then the code value count value NewCT that temporarily moves to left is set to 7, otherwise is made as 8;
Then, judge the byte output type:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1<CT, or NumSLA0<CT, and CT<=NumSLA0+NumSLA1<NewCT, then the byte output type is the output of zero degree byte:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1>=CT, and NumSLA0+NumSLA1>=NewCT, and NumSLA1<NewCT+CT, or NumSLA0>=CT, and NumSLA0<CT+NewCT, and NumSLA1<CT, then the byte output type is the output of single byte:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1>=CT, and NumSLA0+NumSLA1>=NewCT, and NumSLA 1>=NewCT+CT, or CT<=NumSLA0<CT+NewCT, and CT<=NumSLA1<NewCT+CT, or NumSLA0>=CT, and NumSLA0>=CT+NewCT, and NumSLA1<CT, then the byte output type is twice byte output:
If satisfy NumSLA0>=CT, and NumSLA0<CT+NewCT<=NumSLA1, or NumSLA0>=CT, and NumSLA0>=CT+NewCT, and CT<=NumSLA1<NewCT+CT, then the byte output type is three byte output:
If do not satisfy the condition of the output of zero degree byte, the output of single byte, twice byte output and three byte outputs, then the byte output type is four byte output;
For two normalization of a described class, if the byte output type then moves to left NumSLA0+NumSLA1 time to code value C for the output of zero degree byte; Otherwise, if NumSLA0<CT then moves to left CT time to code value C, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left, otherwise C moves to left NumSLA0 time to code value, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
For two normalization of described two classes, if the byte output type is the output of zero degree byte, then earlier code value C is moved to left NumSLA0 time the code value C after will moving to left then and second small probability context symbol probability Qel addition, the moving to left NumSLA1 time more at last with addition with value; If the byte output type is single or twice or three times or four times, and output NumSLA0<CT, then code value C is moved to left CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left, otherwise, earlier code value C is moved to left NumSLA0 time, the code value C after will moving to left then and the second small probability context symbol probability Qel addition, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
(4) according to the byte output type with the code value after moving to left, the code stream byte that output is corresponding.
Above-mentioned steps (1) is described to be upgraded code value, be in first context symbol to being under the condition of big probability symbol, calculate the second small probability symbol probability values and current code value and value, and code value is updated to this and value.
Above-mentioned steps (2a), (2b) and (2c) the described adjustment first small probability symbol probability values are with the first small probability symbol probability values several times that move to left, up to this value more than or equal to hexadecimal value 0x8000.
Above-mentioned steps (2a), (2b) and (2c) difference of described adjustment probability interval value and the first small probability symbol probability values, be difference with the probability interval value and the first small probability symbol probability values several times that move to left, up to this value more than or equal to hexadecimal value 0x8000.
The present invention is owing to effectively classify respectively to the byte output type of code value normalization and corresponding normalization code stream, made full use of the degree of parallelism of two context symbol to handling, simplify code value normalized process, improved coding rate, reduced implementation complexity simultaneously.The present invention is the cores of the two context symbol of realization of High Speed to the arithmetic entropy coding system of continual stream treatment, adopt the present invention can significantly improve the coding rate and the efficient of whole arithmetic entropy coding system, in the high-speed real-time image code domain, as high speed digital camera, image retrieval, high speed satellite remote sensing images coding, the battlefield monitoring is civilian and military scenario has huge using value.
Description of drawings
Fig. 1 is overall flow figure of the present invention;
Fig. 2 is that two big probability symbolic code value normalization type of the present invention is judged sub-process figure;
Fig. 3 is that big probability of the present invention/small probability symbol code value normalization type is judged sub-process figure;
Fig. 4 is that small probability of the present invention/big probability symbolic code value normalization type is judged sub-process figure;
Fig. 5 is single normalized sub-process figure of the present invention;
Fig. 6 is two normalized sub-process figure of a class of the present invention;
Fig. 7 is two normalized sub-process figure of two classes of the present invention.
Embodiment
Coding method of the present invention adopts that Xilinx ISE 9.1 is integrated to develop software and VHDL, Verilog HDL language, in the model of Xilinx company is to realize on the programmable chip of XC2V3000-6BG728.
With reference to Fig. 1, the arithmetic coding code value method for normalizing based on the JPEG2000 standard of the present invention comprises the steps:
Step 1 is read in the coding call parameter.
The coding call parameter comprises: probability interval value A, normalization process identifier RenormTag, the first probability interval value shift count NumSLA0, the second probability interval value shift count NumSLA1, the first small probability symbol probability values Qe0 and the second small probability symbol probability values Qel.Wherein, normalization process identifier RenormTag represents two right probability types of context symbol, i.e. 0 expression double small probability symbol, the two big probability symbols of 1 expression, 2 expression big probability/small probability symbols, 3 expression small probabilities/big probability symbol.
Step 2 is upgraded code value, and definite code value count value CT that moves to left.
(2.1) according to the normalization process identifier RenormTag that imports, if first context symbol is to being big probability symbol, be that RenormTag is 1 or 2 o'clock, then calculate the second small probability symbol probability values Qel and current code value C's and value, and code value C is updated to this and value; Otherwise, keep code value C constant;
(2.2) in the following manner, determine the code value count value CT that moves to left:
If for the first time to context symbol to carrying out the code value normalized, then the initial method that provides according to the JPEG2000 standard carries out assignment to CT, otherwise, keep the CT value constant.
Step 3 is judged current normalization type.
(3.1), then carry out two big probability symbolic code value normalization types and judge if normalization process identifier RenormTag is 1.With reference to Fig. 2, being implemented as follows of this step:
If (3.1.1) probability interval value A is less than the twice of the first small probability symbol probability values Qe0, then execution in step (3.1.2); Otherwise, execution in step (3.1.4);
(3.1.2) the first small probability symbol probability values Qe0 is adjusted, Qe0 promptly moves to left, until Qe0 more than or equal to hexadecimal value 0x8000, if the adjusted first small probability symbol probability values SHIFT V (Qe0) is less than the twice of the second small probability symbol probability values Qel, then normalization type is two normalization of a class, and two normalization types indications of a class are set, otherwise, execution in step (3.1.3);
If (3.1.3) difference of the adjusted first small probability symbol probability values SHIFT V (Qe0) and the second small probability symbol probability values Qel is less than hexadecimal value 0x8000, then normalization type is two normalization of two classes, and two normalization types indications of two classes are set, otherwise, the normalization type is single normalization, and the indication of single normalization type is set;
If (3.1.4) difference of the probability interval value A and the first small probability symbol probability values Qe0 is less than hexadecimal value 0x8000, execution in step (3.1.5); Otherwise, execution in step (3.1.7);
(3.1.5) difference of the probability interval value A and the first small probability symbol probability values Qe0 is adjusted, if adjusted difference SHIFT_V (A-Qe0) is less than the twice of the first small probability symbol probability values Qe0, then normalization type is two normalization of a class, and two normalization type indications of a class are set; Otherwise, execution in step (3.1.6);
If (3.1.6) adjusted difference SHIFT_V (A-Qe0) less than the second small probability symbol probability values Qel and hexadecimal value 0x8000 and, then normalization type is two normalization of two classes, and two normalization types indications of two classes are set; Otherwise the normalization type is single normalization, and the indication of single normalization type is set;
If (3.1.7) difference of the probability interval value A and the first small probability symbol probability values Qe0 is less than the twice of the second small probability symbol probability values Qel, then normalization type is single normalization, and the indication of single normalization type is set; Otherwise, execution in step (3.1.8);
If (3.1.8) difference of the probability interval value A and the first small probability symbol probability values Qe0 less than the second small probability symbol probability values Qel and hexadecimal value 0x8000 and, then normalization type is single normalization, and single normalization type indication is set; Otherwise the normalization type is zero degree normalization, and the indication of zero degree normalization type is set.
(3.2), then carry out big probability/small probability symbol code value normalization type and judge if normalization process identifier RenormTag is 2.With reference to Fig. 3, being implemented as follows of this step:
If (3.2.1) probability interval value A is less than the twice of the first small probability symbol probability values Qe0, so, execution in step (3.2.2); Otherwise, execution in step (3.2.3);
(3.2.2) the first small probability symbol probability values Qe0 is adjusted, the Qe0 that promptly moves to left, until Qe0 more than or equal to hexadecimal value 0x8000.If the adjusted first small probability symbol probability values SHIFT_V (Qe0) is less than the twice of the second small probability symbol probability values Qel, then normalization type is two normalization of two classes, and two normalization type indications of two classes are set; Otherwise the normalization type is two normalization of a class, and two normalization type indications of a class are set;
If (3.2.3) difference of the probability interval value A and the first small probability symbol probability values Qe0 is less than hexadecimal value 0x8000, execution in step (3.2.4); Otherwise the normalization type is single normalization, and the indication of single normalization type is set;
(3.2.4) difference of the probability interval value A and the first small probability symbol probability values Qe0 is adjusted, if adjusted difference SHIFT_V (A-Qe0) is less than the twice of the first small probability symbol probability values Qe0, then normalization type is two normalization of a class, and two normalization type indications of a class are set; Otherwise the normalization type is two normalization of two classes, and two normalization type indications of two classes are set.
(3.3), then carry out small probability/big probability symbolic code value normalization type and judge if normalization process identifier RenormTag is 3.With reference to Fig. 4, being implemented as follows of this step:
If (3.3.1) probability interval value A is less than the twice of the first small probability symbol probability values Qe0, execution in step (3.3.2); Otherwise, execution in step (3.3.4);
If (3.3.2) less than the twice of the second small probability symbol probability values Qel, then normalization type is two normalization of a class to the difference of the probability interval value A and the first small probability symbol probability values Qe0 after adjusting, and two normalization type indications of a class are set; Otherwise, execution in step (3.3.3);
(3.3.3) difference of the probability interval value A and the first small probability symbol probability values Qe0 is adjusted, if adjusted difference SHIFT_V (A-Qe0) less than the second small probability symbol probability values Qel and hexadecimal value 0x8000 and, then normalization type is two normalization of two classes, and two normalization type indications of two classes are set; Otherwise the normalization type is single normalization, and the indication of single normalization type is set;
(3.3.4) the first small probability symbol probability values Qe0 is adjusted, if the adjusted first small probability symbol probability values SHIFT_V (Qe0) is less than the twice of the second small probability symbol probability values Qel, then normalization type is two normalization of two classes, and two normalization type indications of two classes are set; Otherwise, execution in step (3.3.5);
If (3.3.5) difference of the adjusted first small probability symbol probability values SHIFT_V (Qe0) and the second small probability symbol probability values Qel is less than hexadecimal value 0x8000, then normalization type is two normalization of a class, and two normalization type indications of two classes are set; Otherwise the normalization type is two normalization of a class, and the indication of single normalization type is set.
Single normalization type indication expression is only carried out normalized one time to the right code value of this pair context symbol in the above-mentioned steps, two normalization types of one class are indicated and two normalization type indications of two classes expression will be carried out the twice-normalization processing to the right code value of this pair context symbol, and the indication of zero degree normalization type is then represented the right code value of this pair context symbol is not carried out normalized.These four kinds of normalization type indications are used to select corresponding normalized.
Step 4 according to the normalization type, is carried out normalized.
According to the normalization type that step 3 obtains, respectively the code value under single normalization type, two normalization types of a class and two normalization types of two classes is carried out corresponding normalized, and produce corresponding normalization code stream.
If the normalization type is single normalization, then code value is carried out the single normalized, with reference to Fig. 5, be implemented as follows:
(4.1) if moving to left less than code value, the first probability interval value shift count NumSLA0 or the second probability interval value shift count NumSLA1 count CT, with code value C move to left NumSLA0 or NumSLA1 time, do not have corresponding single normalization code stream output, finish current normalization process; Otherwise, execution in step (4.2);
(4.2) if last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream that produces, it is 7 that the code value count value NewCT that temporarily moves to left is set, then execution in step (4.5); Otherwise, execution in step (4.3);
(4.3) if last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream that produces, execution in step (4.4); Otherwise it is 8 that the code value count value NewCT that temporarily moves to left is set, then execution in step (4.5);
(4.4) the count value NewCT that temporarily moves to left is 7 if current code value C, is provided with code value more than or equal to hexadecimal value 0x8000000, is 8 otherwise NewCT is set; Execution in step (4.5) then;
(4.5) code value C is moved to left NumSLA0-CT time, then execution in step (4.6);
(4.6) if the first probability interval value shift count NumSLA0 or the second probability interval value shift count NumSLA1 and code value move to left the difference of count value CT more than or equal to 0, and, then carry out the output of single byte less than the code value count value NewCT that moves to left temporarily; Otherwise carry out twice byte output.
If the normalization type is two normalization types of a class, then carry out two normalizeds of a class, with reference to Fig. 6, be implemented as follows:
(5.1) if NumSLA0-CT less than zero, execution in step (5.2); Otherwise, execution in step (5.3);
(5.2) if NumSLA1-(CT-NumSLA0) less than zero, C moves to left NumSLA0+NumSLA1 time with code value, finishes current normalization process then; Otherwise, execution in step (5.2.1);
(5.2.1) code value C is moved to left NumSLA0 time, and upgrade NewCT, then execution in step (5.2.2) with NewCT-NumSLA0;
If (5.2.2) NumSLA1-NewCT is more than or equal to zero, C moves to left NewCT time with code value, then execution in step (5.2.3); Otherwise, finish current normalization process;
If (5.2.3) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, then execution in step (5.2.6); Otherwise, execution in step (5.2.4);
If (5.2.4) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (5.2.5); Otherwise it is 8 that NewCT is set, execution in step (5.2.6);
If (5.2.5) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT is set, otherwise it is 8 that NewCT is set; Execution in step (5.2.6) then;
If (5.2.6) difference of NumSLA1 and CT is less than NewCT, then carry out the output of single byte, finish current normalization process then, otherwise, carry out twice byte output, finish current normalization process then;
(5.3) code value C is moved to left CT time execution in step (5.3.1);
If (5.3.1) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, execution in step (5.3.4); Otherwise, execution in step (5.3.2);
If (5.3.2) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (5.3.3); Otherwise it is 8 that NewCT is set, execution in step (5.3.4);
If (5.3.3) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT is set, otherwise it is 8 that NewCT is set; Execution in step (5.3.4);
If (5.3.4) difference of shift count NumSLA0 and CT is less than NewCT, execution in step (5.3.5), otherwise execution in step (5.3.10);
If (5.3.5) NumSLA1 deduct CT difference less than zero, then carry out the output of single byte, finish current normalization process then; Otherwise, execution in step (5.3.6);
If (5.3.6) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, then execution in step (5.3.9); Otherwise, execution in step (5.3.7);
If (5.3.7) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (5.3.8); Otherwise it is 8 that NewCT is set, then execution in step (5.3.9);
If (5.3.8) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT is set, otherwise it is 8 that NewCT is set; Execution in step (5.3.9) then;
If (5.3.9) difference of shift count NumSLA1 and CT is less than NewCT, then carry out twice byte output, finish current normalization process then; Otherwise carry out three byte output, finish current normalization process then;
If (5.3.10) NumSLA1 deduct CT difference less than zero, then carry out twice byte output, finish current normalization process then; Otherwise, execution in step (5.3.11);
If (5.3.11) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, then execution in step (5.3.14); Otherwise, execution in step (5.3.12);
If (5.3.12) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (5.3.13); Otherwise it is 8 that NewCT is set, then execution in step (5.3.14);
If (5.3.13) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT is set, otherwise it is 8 that NewCT is set; Execution in step (5.3.14) then;
If (5.3.14) difference of NumSLA1 and CT is less than NewCT, then carry out three byte output, finish current normalization process then; Otherwise carry out four byte output, finish current normalization process then.
If the normalization type is two normalization types of two classes, then carry out two normalizeds of two classes, with reference to Fig. 7, be implemented as follows:
(6.1) if NumSLA0-CT less than zero, execution in step (6.2); Otherwise, execution in step (6.3);
(6.2) if NumSLA1-(CT-NumSLA0) less than zero, moves to left code value C NumSLA0 time earlier, and code value after will moving to left and Qel addition, again should and value move to left NumSLA1 time, finish current normalization process then; Otherwise, execution in step (6.2.1);
(6.2.1) earlier code value C is moved to left NumSLA0 time, code value after usefulness moves to left then and Qel upgrade code value C with value, upgrade NewCT with NewCT-NumSLA0 simultaneously, execution in step (6.2.2);
If (6.2.2) NumSLA1-NewCT then moves to left code value C NewCT time, then execution in step (6.2.3) more than or equal to zero; Otherwise, finish current normalization process;
If (6.2.3) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, then execution in step (6.2.6); Otherwise, execution in step (6.2.4);
If (6.2.4) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (6.2.5); Otherwise it is 8 that NewCT is set, then execution in step (6.2.6);
If (6.2.5) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT then is set, otherwise it is 8 that NewCT is set; Execution in step (6.2.6) then;
If (6.2.6) NumSLA1-CT is less than NewCT, carry out the output of single byte, finish current normalization process then, otherwise carry out twice byte output, finish current normalization process then;
(6.3) code value C is moved to left CT time, then execution in step (6.3.1);
If (6.3.1) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT is set, then execution in step (6.3.4); Otherwise, execution in step (6.3.2);
If (6.3.2) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (6.3.3); Otherwise it is 8 that NewCT is set, then execution in step (6.3.4);
If (6.3.3) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT then is set, otherwise it is 8 that NewCT is set; Execution in step (6.3.4) then;
If (6.3.4) difference of NumSLA0 and CT is less than NewCT, that at first uses code value C and Qel upgrades code value C, execution in step (6.3.5) then with value; Otherwise that uses code value C and Qel earlier upgrades code value C, execution in step (6.3.10) then with value;
If (6.3.5) NumSLA1-CT is less than zero, then carry out the output of single byte, finish current normalization process then; Otherwise, execution in step (6.3.6);
If (6.3.6) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT then is set, then execution in step (6.3.9); Otherwise, execution in step (6.3.7);
If (6.3.7) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (6.3.8); Otherwise it is 8 that NewCT is set, then execution in step (6.3.9);
If (6.3.8) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT then is set, otherwise it is 8 that NewCT is set; Execution in step (6.3.9) then;
If (6.3.9) difference of NumSLA1 and CT is less than NewCT, then carry out twice byte output, finish current normalization process then; Otherwise, carry out three byte output, finish current normalization process then;
If (6.3.10) NumSLA1-CT is less than zero, then carry out twice byte output, finish current normalization process then; Otherwise, execution in step (6.3.11);
If (6.3.11) last two context symbol are hexadecimal value 0xFF to last byte of the normalization code stream of generation, it is 7 that NewCT then is set, then execution in step (6.3.14); Otherwise, execution in step (6.3.12);
If (6.3.12) last two context symbol are hexadecimal value 0xFE to last byte of the normalization code stream of generation, execution in step (6.3.13); Otherwise it is 8 that NewCT is set, then execution in step (6.3.14);
If (6.3.13) code value C is more than or equal to hexadecimal value 0x8000000, it is 7 that NewCT then is set, otherwise it is 8 that NewCT is set; Execution in step (6.3.14) then;
If (6.3.14) difference of NumSLA1 and CT is less than NewCT, then carry out three byte output, finish current normalization process then; Otherwise carry out four byte output, finish current normalization process then.
SHIFT_V in Fig. 2, Fig. 3 and Fig. 4 (X), expression moves to left to operand X, and the X value after moving to left is more than or equal to hexadecimal value 0x8000.
In Fig. 5, Fig. 6 and Fig. 7, what " previous code stream byte " represented is last two context symbol last byte to the normalization code stream of generation.
More than describing only is a specific embodiment of the present invention; obviously for those skilled in the art; after having understood content of the present invention and principle; all may be under the situation that does not deviate from the principle of the invention, structure; carry out various corrections and change on form and the details, but these are based on the correction of inventive concept with change still within claim protection range of the present invention.

Claims (4)

1. the arithmetic coding code value method for normalizing based on the JPEG2000 standard comprises the steps:
(1) reads in coding necessary probability interval value, the first probability interval value shift count NumSLA0, the second probability interval value shift count NumSLA1, the first small probability symbol probability values, the second small probability symbol probability values and be used to represent the normalization process identifier of two context symbol to the probability type, and code value upgraded, determine the code value count value CT that moves to left, this pair context symbol comprises two big probability symbols, double small probability symbol, small probability/big probability symbol and big probability/small probability symbol to the probability type;
(2), judge current normalization type according to probability interval value, normalization process identifier and small probability symbol probability values:
If the probability type that (2a) two context symbol are right is two big probability symbols, then judge according to following criterion:
If the probability interval value, is then adjusted the first small probability symbol probability values less than the twice of the first small probability symbol probability values; If the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, calculate the difference between the adjusted first small probability symbol probability values and the second small probability symbol probability values, if this difference is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, the difference of the calculating probability interval value and the first small probability symbol probability values, and the relation of this difference and hexadecimal value 0x8000 relatively: if this difference less than hexadecimal value 0x8000, is then adjusted the difference of the probability interval value and the first small probability symbol probability values; If adjusted difference is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, relatively this adjusted difference and the second small probability symbol probability values, if the difference between this adjusted difference and the second small probability symbol probability values is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization; If this difference is more than or equal to hexadecimal value 0x8000, then compare probability interval value and the difference of the first small probability symbol probability values and the relation of the second small probability symbol probability values: if the difference of the probability interval value and the first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is single normalization, otherwise the difference of the calculating probability interval value and the first small probability symbol probability values, if this difference less than the second small probability symbol probability values and hexadecimal value 0x8000's and be worth, then current normalization type is single normalization, otherwise is zero degree normalization.
If the probability type that (2b) two context symbol are right is big probability/small probability symbol, then judge according to following criterion:
If the probability interval value is less than the twice of the first small probability symbol probability values, then adjust the first small probability symbol probability values, if the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of two classes, otherwise is two normalization of a class;
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, and the difference of the probability interval value and the first small probability symbol probability values is more than or equal to hexadecimal value 0x8000, then current normalization type is single normalization, otherwise, adjust the difference of the probability interval value and the first small probability symbol probability values, if adjusted difference is more than or equal to the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise is two normalization of two classes.
If the probability type that (2c) two context symbol are right is small probability/big probability symbol, then judge according to following criterion:
If the probability interval value is more than or equal to the twice of the first small probability symbol probability values, then adjust the first small probability symbol probability values, if the adjusted first small probability symbol probability values is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of two classes, otherwise, calculate the difference of this adjusted first small probability symbol probability values and the second small probability symbol probability values, if this difference is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability interval value is less than the twice of the first small probability symbol probability values, then adjust the difference of the probability interval value and the first small probability symbol probability values, if this adjusted difference is less than the twice of the second small probability symbol probability values, then current normalization type is two normalization of a class, otherwise, relatively this adjusted difference and the second small probability symbol probability values, if the difference between this adjusted difference and the second small probability symbol probability values is less than hexadecimal value 0x8000, then current normalization type is two normalization of two classes, otherwise is single normalization;
If the probability type that (2d) two context symbol are right is a double small probability symbol, then normalization type is judged as two normalization of a class;
(3), determine the byte output type of corresponding normalization code stream respectively according to the normalization type of above-mentioned judgement:
(3a) to single normalization type, judge the byte output type according to following criterion:
If NumSLA0<CT, or NumSLA1<CT, then the byte output type moves to left NumSLA0 time to code value C simultaneously for the output of zero degree byte;
If last two context symbol are hexadecimal number 0xFF to last byte of the normalization code stream of generation, perhaps going up two context symbol is that hexadecimal number 0xFE and current code value C are more than or equal to hexadecimal number 0x8000000 to last byte of the normalization code stream that produces, it is 7 that the code value count value NewCT that temporarily moves to left is set, otherwise is made as 8; If 0<=NumSLA0-CT<NewCT or 0<=NumSLA1-CT<NewCT, then the byte output type is the output of single byte, simultaneously code value C is moved to left NumSLA0-CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
If do not satisfy the condition of zero degree byte output and single byte output, then the byte output type is that twice byte exported, and simultaneously code value C is moved to left NumSLA0-CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
(3b), judge the byte output type according to following steps to two normalization of a class and two normalization of two classes:
At first, the code value count value NewCT that temporarily moves to left is set, if last two context symbol are hexadecimal number 0xFF to last byte of the normalization code stream of generation, perhaps going up two context symbol is that hexadecimal number 0xFE and current code value C are more than or equal to hexadecimal number 0x8000000 to last byte of the normalization code stream that produces, then the code value count value NewCT that temporarily moves to left is set to 7, otherwise is made as 8;
Then, judge the byte output type:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1<CT, or NumSLA0<CT, and CT<=NumSLA0+NumSLA1<NewCT, then the byte output type is the output of zero degree byte:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1>=CT, and NumSLA0+NumSLA1>=NewCT, and NumSLA1<NewCT+CT, or NumSLA0>=CT, and NumSLA0<CT+NewCT, and NumSLA1<CT, then the byte output type is the output of single byte:
If satisfy NumSLA0<CT, and NumSLA0+NumSLA1>=CT, and NumSLA0+NumSLA1>=NewCT, and NumSLA1>=NewCT+CT, or CT<=NumSLA0<CT+NewCT, and CT<=NumSLA1<NewCT+CT, or NumSLA0>=CT, and NumSLA0>=CT+NewCT, and NumSLA1<CT, then the byte output type is twice byte output:
If satisfy NumSLA0>=CT, and NumSLA0<CT+NewCT<=NumSLA1, or NumSLA0>=CT, and NumSLA0>=CT+NewCT, and CT<=NumSLA1<NewCT+CT, then the byte output type is three byte output:
If do not satisfy the condition of the output of zero degree byte, the output of single byte, twice byte output and three byte outputs, then the byte output type is four byte output;
For two normalization of a described class, if the byte output type then moves to left NumSLA0+NumSLA1 time to code value C for the output of zero degree byte; Otherwise, if NumSLA0<CT then moves to left CT time to code value C, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left, otherwise C moves to left NumSLA0 time to code value, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
For two normalization of described two classes, if the byte output type is the output of zero degree byte, then earlier code value C is moved to left NumSLA0 time the code value C after will moving to left then and second small probability context symbol probability Qe1 addition, the moving to left NumSLA1 time more at last with addition with value; If the byte output type is single or twice or three times or four times, and output NumSLA0<CT, then code value C is moved to left CT time, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left, otherwise, earlier code value C is moved to left NumSLA0 time, the code value C after will moving to left then and the second small probability context symbol probability Qe1 addition, and the code value count value CT that moves to left is updated to the code value count value NewCT that temporarily moves to left;
(4) according to the byte output type with the code value after moving to left, the code stream byte that output is corresponding.
2. the arithmetic coding code value method for normalizing based on the JPEG2000 standard according to claim 1, it is characterized in that step (1) is described upgrades code value, be to being under the condition of big probability symbol in first context symbol, calculate the second small probability symbol probability values and current code value and value, and code value is updated to this and value.
3. the arithmetic coding code value method for normalizing based on the JPEG2000 standard according to claim 1, it is characterized in that step (2a), (2b) and (2c) the described adjustment first small probability symbol probability values, be with the first small probability symbol probability values several times that move to left, up to this value more than or equal to hexadecimal value 0x8000.
4. the arithmetic coding code value method for normalizing based on the JPEG2000 standard according to claim 1, it is characterized in that step (2a), (2b) and (2c) difference of described adjustment probability interval value and the first small probability symbol probability values, be difference with the probability interval value and the first small probability symbol probability values several times that move to left, up to this value more than or equal to hexadecimal value 0x8000.
CN 201010128830 2010-03-19 2010-03-19 Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard Expired - Fee Related CN101848388B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 201010128830 CN101848388B (en) 2010-03-19 2010-03-19 Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard
PCT/CN2010/080584 WO2011113290A1 (en) 2010-03-19 2010-12-31 Method for processing arithmetic entropy coding in real time at high-speed based on joint photographic experts group (jpeg) 2000 standard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010128830 CN101848388B (en) 2010-03-19 2010-03-19 Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard

Publications (2)

Publication Number Publication Date
CN101848388A true CN101848388A (en) 2010-09-29
CN101848388B CN101848388B (en) 2012-01-04

Family

ID=42772819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010128830 Expired - Fee Related CN101848388B (en) 2010-03-19 2010-03-19 Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard

Country Status (1)

Country Link
CN (1) CN101848388B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011113290A1 (en) * 2010-03-19 2011-09-22 西安电子科技大学 Method for processing arithmetic entropy coding in real time at high-speed based on joint photographic experts group (jpeg) 2000 standard
CN102523455A (en) * 2012-01-02 2012-06-27 西安电子科技大学 Multi-thread arithmetic coding circuit and method based on standard JPEG 2000
CN104394418A (en) * 2014-09-23 2015-03-04 清华大学 Method and device for coding video data and method and device for decoding video data
CN111818335A (en) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 Entropy coding method and device and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030068091A1 (en) * 2001-03-30 2003-04-10 Schwartz Edward L. Context model access to memory based on run and skip counts and context model skipping
CN1564196A (en) * 2004-04-07 2005-01-12 西安交通大学 VLSI realizing method of synchronous flowing arithmetic coder
CN101222637A (en) * 2008-02-01 2008-07-16 清华大学 Encoding method with characteristic indication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030068091A1 (en) * 2001-03-30 2003-04-10 Schwartz Edward L. Context model access to memory based on run and skip counts and context model skipping
CN1564196A (en) * 2004-04-07 2005-01-12 西安交通大学 VLSI realizing method of synchronous flowing arithmetic coder
CN101222637A (en) * 2008-02-01 2008-07-16 清华大学 Encoding method with characteristic indication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《光子学报》 20090430 MA Tao,etc. A Study of JPEG2000 Encoding System and Its VLSI Implementation 1011-1019 1-4 第38卷, 第4期 2 *
《西安交通大学学报》 20040430 梅魁志,等 一种同步流水算术编码器的设计 331-334,356 1-4 第38卷, 第4期 2 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011113290A1 (en) * 2010-03-19 2011-09-22 西安电子科技大学 Method for processing arithmetic entropy coding in real time at high-speed based on joint photographic experts group (jpeg) 2000 standard
CN102523455A (en) * 2012-01-02 2012-06-27 西安电子科技大学 Multi-thread arithmetic coding circuit and method based on standard JPEG 2000
CN102523455B (en) * 2012-01-02 2014-04-02 西安电子科技大学 Multi-thread arithmetic coding circuit and method based on standard JPEG 2000
CN104394418A (en) * 2014-09-23 2015-03-04 清华大学 Method and device for coding video data and method and device for decoding video data
CN107743239A (en) * 2014-09-23 2018-02-27 清华大学 A kind of video data encoding, the method and device of decoding
CN104394418B (en) * 2014-09-23 2018-06-05 清华大学 A kind of video data encoding, decoded method and device
US10499086B2 (en) 2014-09-23 2019-12-03 Tsinghua University Video data encoding and decoding methods and apparatuses
CN107743239B (en) * 2014-09-23 2020-06-16 清华大学 Method and device for encoding and decoding video data
CN111818335A (en) * 2020-07-03 2020-10-23 Tcl华星光电技术有限公司 Entropy coding method and device and electronic equipment

Also Published As

Publication number Publication date
CN101848388B (en) 2012-01-04

Similar Documents

Publication Publication Date Title
JP6728385B2 (en) Digital image recompression
CN101841707B (en) High-speed real-time processing arithmetic coding method based on JPEG 2000 standard
Jin et al. A block-based pass-parallel SPIHT algorithm
CN101820549B (en) High-speed real-time processing arithmetic entropy coding system based on JPEG2000
CN101848388B (en) Method for normalizing arithmetic encoding value based on JPEG (Joint Photographic Experts Group) 2000 standard
Chen et al. StereoEngine: An FPGA-based accelerator for real-time high-quality stereo estimation with binary neural network
CN116385947B (en) Video target segmentation method, device, computer equipment and storage medium
CN101848387A (en) Method for determining arithmetic encoding probability interval value based on JPEG (Joint Photographic Experts Group) 2000 standard
CN103246499A (en) Device and method for parallelly processing images
CN113780523A (en) Image processing method, image processing device, terminal equipment and storage medium
CN102123275B (en) Video component data information acquiring and extracting method
CN102088607B (en) Memory quotient (MQ) coding method and circuit based on JPEG (joint photographic experts group) 2000 standard
CN102523455B (en) Multi-thread arithmetic coding circuit and method based on standard JPEG 2000
CN104349165B (en) The elongated decoding method of high-performance and device
CN106846190A (en) A kind of intellectual property case management system
CN104901651A (en) Realizing circuit and method of digital filter
Dohi et al. FPGA implementation of human detection by HOG features with AdaBoost
CN103152567A (en) Any order number index Columbus encoder and method thereof
Runhu et al. Semantic segmentation using DeepLabv3+ model for fabric defect detection
Agostini et al. A FPGA based design of a multiplierless and fully pipelined JPEG compressor
CN107508602A (en) A kind of data compression method, system and its CPU processor
CN105007490A (en) OmapL138-chip-based Jpeg compression algorithm
WO2023025024A1 (en) Point cloud attribute coding method, point cloud attribute decoding method and terminal
Dong et al. Implementation of A Real-Time Lossless JPEG-LS Compression Algorithm Based on FPGA
CN102438140B (en) Arithmetic encoder sequence renormalization method used for image compression

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20190319

CF01 Termination of patent right due to non-payment of annual fee