WO2005112427A1 - 画像符号化装置 - Google Patents
画像符号化装置 Download PDFInfo
- Publication number
- WO2005112427A1 WO2005112427A1 PCT/JP2004/006974 JP2004006974W WO2005112427A1 WO 2005112427 A1 WO2005112427 A1 WO 2005112427A1 JP 2004006974 W JP2004006974 W JP 2004006974W WO 2005112427 A1 WO2005112427 A1 WO 2005112427A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coding
- encoding
- code
- path
- pass
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Definitions
- the present invention relates to an image encoding device that performs entropy encoding.
- the EG 2000 project has been started by a joint organization of ISO and ITU.In February 2000, the first part of the JPEG 2000 algorithm, The main technical content has been determined. The following is a recommendation (ISO / ITU15444-1: 20).
- an input image signal is subjected to two-dimensional ⁇ ⁇ transform by a wavelet transform unit, and is divided into a plurality of sub-bands, and a V-wavelet transform coefficient in each sub-band is generated.
- the two-dimensional wavelet transform is realized as a combination of one-dimensional wavelet transform.That is, the process of sequentially performing one-dimensional wavelet transform in the vertical direction for each column and one-dimensional wavelet transform in the horizontal direction are performed. This is a process performed sequentially for each line.
- FIG. 1 is a diagram showing a wavelet transform in the prior art.
- the one-dimensional wavelet transform is realized by a low-pass filter, a high-pass filter, and a downsampler having predetermined characteristics, as shown in Fig.
- each sub-band is divided into bands by 2D wavelet transform.
- the low-frequency component is L and the high-frequency component is H.
- the horizontal conversion is represented by the first character, and the vertical sub-scanning conversion is two characters. By visual representation, they are represented as LL, HL, LH, and HH, as shown in Fig. 1 (b).
- the low-frequency components (LL components) in the horizontal and vertical directions are recursively subjected to wavelet transform.
- the number of wavelet transformations performed recursively is called the decomposition level, and this is the number written before LL, HL, LH, and HH in Fig. 1 (b). In other words, when the number of wavelet transform decompositions is 2, the decomposition level of the lowest resolution component is 2, and conversely, the decomposition level of HL, LH, and HH of the highest resolution component is 1.
- the wavelet transform coefficients in each subband are quantized according to the quantization step size set for each subband.
- each bit plane is harmed to three coding paths Significant Propagation Decoding Pass, Magnitude Refinement Pass, and Closeup Pass.
- the binary signals output from the three encoding paths are subjected to context modeling for each of the encoding paths, and are subjected to event-to-point encoding.
- the code amount and the coding distortion for each coding pass are calculated for each code block.
- rate control for adjusting the code amount to a target code size or less is performed.
- the rate control method is not standardized, and any method can be used according to the abridgement. However, the following recommendation (IS OZ I TU 15 444-1: 20000) ) The outline of the mechanism of the rate control unit described as reference information in J.14.3 is explained.
- the Lagrange multiplier method when the truncation point in each code block i is ni, the code amount up to each truncation point is R (i, ni), and the coding distortion is D (i, ni), the Lagrange multiplier method is used. And the rate control parameter ⁇ until the total code amount R sum of the entire screen caused by the truncation point ni that maximizes the following expression is within the range of the target code amount Rmax. adjust.
- the coding distortion D indicates how much the mean square error of the reproduced image has been reduced when the code up to a certain coding pass is sent, compared to when the code is not transmitted. Strictly speaking, this is the amount of reduction in coding distortion. Therefore, before coding, the coding distortion D is 0, and when coding is performed up to the last bit plane, the coding distortion D is equal to the mean square error.
- FIG. 2 is a diagram for explaining the derivation of an optimal coding path in the prior art.
- the tangent line This is equivalent to finding a truncation point where the slope of ⁇ is 1 which is the reciprocal of the rate control parameter.
- k is a variable representing a truncated boin h ni.
- R (i, k) is corrected in advance so that it decreases monotonically with respect to k.
- the processing is performed as follows. Here, it is a variable that represents the truncation point n i
- This process optimization cut for rate control parameters given lambda disposable Te point, S (i, k)> ⁇ 1 may be the maximum of k in N i satisfying.
- FIG. 3 is a flowchart showing a monotonous phenomenon correction process of the slope of the RD curve in the related art.
- the monotone correction processing of the above steps (1) to (3) is summarized in the flowchart shown in FIG. In Fig. 3, i, which indicates a code block, is omitted.
- Step ST 13 in FIG. 3 corresponds to “Ifkbelongsto Ni” in step (3) above
- step ST 16 in FIG. 3 corresponds to “rem 0 V epfromni” in step (3) above. This corresponds to the work of removing p from among the candidates N i.
- the same processing is realized for the truncated point in FIG. 3 by using the flag (f1ag) indicating validity or invalidity.
- code data is created to achieve the target code amount Rmax.
- a rate control parameter that gives the maximum total code amount R sum that satisfies R sum ⁇ Rmax for the total code amount R sum of the entire screen for a certain rate control parameter ⁇ . become.
- the total code amount R sum for a certain rate control parameter ⁇ can be found only when the truncation point is uniquely obtained in each code block and the sum of the code data up to the truncation point is calculated.
- the total code amount R s um for a plurality of candidates for the rate control parameter ⁇ is usually Then, a rate control parameter that gives a total code amount R sum close to a desired value is calculated by convergence calculation.
- code data up to the cutoff point corresponding to the rate control parameter ⁇ is collected from all code blocks, and the number of coding passes in each code block is added as additional information. , Constitute the final code. In this way, it is possible to generate code data that minimizes the coding distortion D under the target code amount Rmax.
- JPEG 2000 international standard can be obtained through standardization organizations such as ISO and ITU-T. Also, the latest information on JPEG200 can be obtained by referring to http: //ztp.ZZwww.j ⁇ eg.org.
- the total code amount R sum for a certain rate control parameter ⁇ can be found only when a truncation point is uniquely obtained in each code block and the sum of code data up to the truncation point is calculated. Therefore, when calculating the rate control parameter ⁇ that gives the maximum total code amount R sum that satisfies R sum ⁇ Rmax, the rate control parameter ⁇ Since it is necessary to calculate the total code amount R sum for a plurality of candidates and search for the rate control parameter ⁇ that gives the total code amount R sum close to the desired value many times by convergence calculation, the calculation required for rate control There was a problem that would lead to an increase in volume.
- the present invention has been made to solve the above-described problems, and has as its object to provide an image coding apparatus capable of reducing the amount of calculation required for edge-to-peak coding and rate control. Disclosure of the invention
- An image coding apparatus divides a quantized wavelet transform coefficient in each sub-band divided by a wavelet transform into code blocks, converts each code block into a bit plane, and converts the code block into a bit plane.
- the total code amount indicating the sum of the code amounts or the sum of the coding distortions of each code block, the distortion difference of the coding distortion when each coding path and the previous coding path are coded, and the Based on the slope of the RD curve calculated from the number of output bytes of the code amount, and the reciprocal of a given set of rate control parameters where each value is monotonically decreasing.
- Rate control information extracting means for judging up to which coding pass in which code block the entropy coding means performs coding, and outputting a coding end path at which coding ends, and the rate control information extracting means
- Code data extracting means for reading out the code data up to the coding pass determined by the coding end pass outputted from the code memory, adding the number of coding passes in each code block, and outputting as a code stream. It is provided. According to the present invention, there is an effect that calculations required for entropy coding and rate control can be reduced.
- FIG. 1 is a diagram showing a wavelet transform in the prior art.
- FIG. 2 is a diagram for explaining the derivation of an optimal coding path in the prior art.
- FIG. 3 is a flowchart showing a monotonous phenomenon correction process of the slope of the RD curve in the related art.
- FIG. 4 is a block diagram showing a configuration of an image encoding device according to Embodiment 1 of the present invention.
- FIG. 5 is a block diagram showing an internal configuration of the rate control information extracting means of the image encoding device according to Embodiment 1 of the present invention.
- FIG. 6 is a diagram showing subbands when the wavelet transform means of the image coding apparatus according to the first embodiment of the present invention performs wavelet transform up to the decomposition level 2.
- FIG. 7 is a diagram for explaining a bit plane in the image encoding device according to Embodiment 1 of the present invention.
- FIG. 8 is a diagram for explaining decomposition of a bit plane into an encoding path in the image encoding device according to the first embodiment of the present invention.
- FIG. 9 is a flowchart showing a processing flow of the image coding apparatus according to Embodiment 1 of the present invention.
- FIG. 10 is a diagram showing an encoding order of an encoding pass in the image encoding device according to the first embodiment of the present invention.
- FIG. 11 is a block diagram showing the internal configuration of the rate control information extracting means of the image coding apparatus according to Embodiment 2 of the present invention.
- FIG. 12 is a diagram showing a data structure of an RD table stored in a rate distortion memory of an image coding apparatus according to Embodiment 2 of the present invention.
- FIG. 13 is a flowchart showing a processing flow of the image coding apparatus according to the second embodiment of the present invention.
- FIG. 14 is a diagram showing the correction of the slope of the RD curve in the image encoding device according to Embodiment 2 of the present invention.
- FIG. 15 is a block diagram showing the internal configuration of the rate control information extracting means of the image coding apparatus according to Embodiment 3 of the present invention.
- FIG. 16 is a diagram showing a data structure of an RD table stored in a rate distortion memory of an image encoding device according to Embodiment 3 of the present invention.
- FIG. 17 is a flowchart showing a processing flow of the image coding apparatus according to the third embodiment of the present invention.
- FIG. 4 is a block diagram showing a configuration of an image encoding device according to Embodiment 1 of the present invention.
- This image coding apparatus comprises a wavelet transform means 101, a quantizing means 102, an entropy coding means 103, a code memory 104, a rate control information extracting means 105 and a code data extracting means. 106 is provided.
- a wavelet transform unit 101 recursively performs a two-dimensional wavelet transform on an input image signal, divides it into subbands, and generates a wavelet transform coefficient in each subband.
- the quantizing means 102 is a waveform generated by the wavelet transform means 101.
- the blur transform coefficient is quantized at a preset quantization step size.
- the entropy encoding means 103 divides the quantized wavelet transform coefficients into code blocks, converts each code block into a bit plane, divides the bit plane into an encoding path, and performs an encoding for each encoding path.
- the output data is output after performing the peak-to-peak coding.
- the code memory 104 temporarily stores the code data for each coding pass that has been subjected to the event P-code.
- the rate control information extracting means 105 is a total code amount indicating the sum of the code amounts R of the respective code blocks, and the distortion of the encoding distortion D when each encoding path and the preceding encoding path are encoded.
- the slope S of the RD curve calculated from the difference AD and the number of output bytes ⁇ R of the code amount R of each coding path, and the reciprocal of the given rate control parameters over which the values are monotonically decreasing
- the entropy encoding unit 103 determines which encoding pass in which code block is to be encoded, and outputs an encoding end path that is the end of encoding.
- the code data extracting means 106 reads the code data from the code memory 104 up to the coding pass determined by the coding end path output from the rate control information extracting means 105 from the code memory 104, and performs coding in each code block. The number of passes is added and output as a code stream.
- FIG. 5 is a block diagram showing an internal configuration of the rate control information extracting means 105.
- the rate control information extracting means 105 includes a distortion calculating means 111, a code amount calculating means 112, a gradient calculating means 113, and an encoding end path deriving means 114.
- the distortion calculating means 1 1 1 calculates a distortion difference between the encoding path from the entropy encoding means 103 and the encoding distortion D in the encoding path and the encoding path D immediately before the encoding path. I do.
- the code amount calculation means 112 counts the number of output bytes ⁇ R of the code amount R in the coding pass for each coding pass from the entropy coding means 103.
- Slope calculation means 1 1 3 is strain calculation means The slope S of the RD curve is calculated from the distortion difference ⁇ D calculated by 1 1 1 and the number of output bytes counted by the code amount calculating means 1 1 2.
- the encoding end path deriving means 1 1 4 calculates the total signal amount R sum of the entire screen indicating the sum of the code amounts R of the respective code blocks, the slope S calculated by the slope calculating means 1 13 and the given rate control parameter. Based on the reciprocal ⁇ 1 of the evening, it is determined whether or not to continue encoding for each code block, to derive an encoding end path, and output information of the encoding end and the encoding end path.
- an image signal from an image input device such as an image scanner or a digital camera or a network or a storage medium is input to the wavelet conversion means 101.
- the wavelet converting means 101 performs one-dimensional wavelet conversion on the input image signal two-dimensionally in both the vertical and horizontal directions, and divides the image signal into sub-bands. Generates wavelet transform coefficients for the band.
- the one-dimensional wavelet transform is realized by filter puncturing of a low-pass filter and a high-pass filter.
- Fig. 6 is a diagram showing subbands when the wavelet transform means 101 performs wavelet transform up to decomposition level 2, and shows an example in which two-dimensional wavelet transform is performed twice recursively. ing.
- the first number indicates the decomposition level
- the following two letters L or ⁇ indicate the type of horizontal and vertical filters.
- L represents the result of low-pass filtering
- ⁇ represents the result of high-pass filtering.
- wavelet transform “recursively” twice means that first, when the first wavelet transform generates subbands 1 LL, 1 HL, 1 LH, 1 ⁇ ⁇ , A second wavelet transform is performed on the 1 LL to generate sub-bands 2 LL, 2 HL, 2 L ⁇ , 2 ⁇ ⁇ ⁇ . I taste.
- the quantization means 102 quantizes the wavelet transform coefficients generated by the wavelet transform means 101 according to the quantization step size set for each subband.
- the entropy coding means 103 divides the wavelet transform coefficients in each subband into fixed-size rectangular areas called code blocks, and then converts each code block composed of multi-valued data into a binary value. Convert to bit plane. Usually, the size of this code block is set to a size such as 64 ⁇ 64, 32 ⁇ 32, or the like.
- FIG. 7 is a diagram illustrating a bit plane.
- FIG. 7 (a) shows an example of a 4 ⁇ 4 code block.
- the data in the code block shown in Fig. 7 (a) is converted into a 1-bit signal representing positive and negative and the representation of the absolute value.
- Fig. 7 (b) shows the data arranged in units of rows.
- Fig. 7 (c) is a collection of bits with the same pit number from Fig. 7 (b).
- the 0th bit when the least significant bit (LSB: Least Significant Bit) is the 0th bit and the most significant bit (MSB: Most Significant Bit) is the 3rd bit, the 0th bit
- the data collected at bit 0 is the 0-bit plane
- the data collected at bit 1 is the first bit plane
- the data collected at bit 2 is the second bit plane
- the data collected at bit 3 is the third. It is a bit plane.
- a sign bit plane is created as a group of bits representing positive and negative.
- the entropy encoding means 103 converts each bit in the bit plane into three encoding paths, that is, a significant propagation decoding path (Significantan encoding path), according to the context. It is divided into ce Propagation Decoding Pass, Magnitude Refinement Pass, and Cleanup Pass.
- the entropy coding means 103 performs context modeling for entropy coding by arithmetic coding for each coding pass. However, for bit planes that are all 0 from the MSB plane, context modeling and coding are not performed, and only the number of all 0 bit planes is written in the header. Then, for the bit plane in which 1 first appears, all the bits are classified into the clean-up path, while the other bit planes are classified into the three types of coding paths as described above.
- FIG. 8 is a diagram for explaining the decomposition of bit planes into encoding passes, and shows an example in which the number of bit planes of a code block is 6, and the number of valid bit planes in which 1 appears is 4.
- the entropy encoding means 103 When the context modeling is completed, the entropy encoding means 103 performs entropy encoding using arithmetic codes, and stores the entropy-encoded code data in the code memory 104.
- the distortion calculating means 111 of the rate control information extracting means 105 is provided in each code block from the entropy coding means 103.
- the distortion difference AD of the encoding distortion D in the encoding pass and the immediately preceding encoding pass is calculated.
- the coding distortion D indicates how much the mean square error of the reproduced image has been reduced when a code up to a certain coding pass is sent, compared to when no code data is transmitted. Strictly speaking, it is the amount of reduction in coding distortion. Therefore, the coding distortion D is When the distortion difference is accumulated up to, it becomes equal to the mean square error.
- the code amount calculating means 112 of the rate control information extracting means 105 executes a coding pass every time coding of a certain path is completed. Count the number of output bytes AR of the code amount R of.
- the slope calculating means 113 divides the distortion difference ⁇ D calculated by the distortion calculating means 111 by the number of output bytes AR in the current coding path counted by the code amount calculating means 112. Thus, the slope S of the RD curve in the current coding path is calculated.
- the encoding end path deriving means 114 is a total signal amount R sum indicating the sum of the code amounts R of the respective code blocks, the slope S calculated by the slope calculating means 113, and the given rate. From the reciprocal ⁇ 1 of the control parameter, it is determined whether or not to continue the encoding in the code block to a further encoding pass, and outputs the determination result to the entropy encoding means 103. If continuing, the entropy coding means 103 codes the next coding pass, the distortion calculating means 111 calculates the distortion difference of the coding distortion D in the coding path, and the code amount calculating means.
- the deriving means 114 calculates the total signal amount R sum of the entire screen indicating the sum of the code amounts R of the respective code blocks, the slope S calculated by the slope calculating means 113, and the given rate control parameter. From the reciprocal ⁇ 1 , it is determined again whether or not to continue the encoding in the code block to a further encoding pass. If the encoding is not to be continued, information on the end of the encoding is output to the entropy encoding means 103, and an encoding end path indicating the end of the encoding is output to the code data extracting means 106.
- the entropy coding means 103 receives the information of the coding end from the coding end path deriving means 114 and receives the information of the subsequent coding block. Do not encode the encoding pass.
- the code data extraction means 106 reads the code data from the code memory 104 up to the coding pass determined by the coding end pass in each code block, and uses the number of coding passes in each code block as additional information. After the addition, they are arranged in the specified order, and after adding predetermined header information, are output as a code stream.
- a plurality of candidates for the rate control parameter ⁇ are prepared in advance, and coding up to a coding path satisfying a certain rate control parameter ⁇ is performed for all code blocks. At this time, it is determined whether or not the total code amount R sum of all code blocks has reached the target code amount Rmax, and if so, the coding is terminated.
- the candidate of the control parameter ⁇ is set, and the coding is executed again until all the code blocks satisfy the rate control parameter ⁇ . In this way, the process of setting the rate control parameter ⁇ and performing encoding is performed until the total code amount R sum reaches the target code amount Rmax.
- Whether or not a certain rate control parameter ⁇ is satisfied is determined by calculating the slope S of the RD curve at the end of each coding pass and determining whether the slope S has become less than the reciprocal ⁇ of the rate control parameter. .
- FIG. 9 is a flowchart showing a flow of processing of the image encoding device according to Embodiment 1 of the present invention.
- the candidate ⁇ (t) for the rate control parameter is set as follows.
- ⁇ (t) ⁇ (0), ⁇ (1), ⁇ (2), ⁇ (tma ⁇ ) ⁇ where the value of the candidate ⁇ (t) for each rate control parameter monotonically increases Where ⁇ (t) is smaller than ⁇ (t + 1). That is, the value of the reciprocal ⁇ (t) 1 of the candidate ⁇ (t) for each rate control parameter is monotonically decreasing. It is set to be.
- a variable k (i) is a variable for storing an encoding path for each code block, and an index t of the rate control parameter ⁇ .
- the code block index i and the total code amount count R sum are variables common to all code blocks.
- step ST102 the encoding end path deriving means 114 determines whether S (i, k (i)) ⁇ ⁇ (t) -1 .
- This step ST102 is a process for determining whether or not a new coding pass needs to be coded when the candidate ⁇ (t) for the rate control parameter is updated. Be sure to set S (i, -1) to a sufficiently large value so that S (i, k (i)) ⁇ ⁇ (t) — 1 .
- step ST103 the entropy coding means 103 increments the variable k (i) for storing the coding pass and prepares for coding of the first coding pass.
- step ST104 the entropy coding means 103 codes the coding path k (i) to be coded in the code block i.
- step ST105 for the current coded code block i, the distortion calculating means 1 1 1 1 calculates the coding distortion D between the current coding path k and the previous coding path k 1 1. Is calculated, and the code amount calculating means 1 12 calculates the number of output bytes ⁇ R (i, k (i)) of the code amount R in the current coding path. , And the slope calculating means 113 calculates the slope S of the RD curve in the current coding pass.
- step ST106 the coding end path deriving means 114 adds the number of output bytes (i, k (i)) of the code amount R generated in the current coding path to a total code amount counter R sum. to add.
- step ST107 the coding end path deriving means 114 determines whether or not the total code amount counter R sum has reached the target code amount R max, and the total code amount counter R sum is determined. If the target code amount R max has been reached, information on the end of coding is output to the entity-to-peak coding means 103 in each code block, and up to which coding pass is coded in each code block. An encoding pass k (i) indicating the above is output to the encoded data extracting means 106 as an encoding end pass.
- step ST107 if the count R sum of the total code amount does not reach the target code amount Rmax, in step ST108, the encoding end path deriving means 1 14 sends the current code The magnitude of the slope S (i, k (i)). And ⁇ (t) in the conversion path is determined, and if the slope S (i, k (i)) is large, the entropy encoding means 103 is notified. Then, returning to step ST103, the entropy encoding means 103 further encodes the next encoding pass.
- step ST109 If now (i, k (i)) re (t) less than _ l, notify the E down Toropi coding unit 1 0 3, entropy one coding unit 1 0 3 coded
- the code data of the coding pass is temporarily stored in the code memory 104, and coding of this code block is interrupted.
- step ST109 If the code block index i is not imax, in step ST110, the entropy coding means 103 increments the code block index i and shifts the processing to the coding of the next code block.
- steps ST104 to ST108 are repeated, and coding is performed until the slope S (i, k (i)) becomes smaller than ⁇ (t) -1 .
- step ST111 the index t of the rate control parameter ⁇ is incremented, and the rate control parameter ⁇ is Is set as the monotonically increasing candidate, and coding of all code blocks is performed again until the slope S (i, k (i)) becomes less than ⁇ (t) -1 .
- FIG. 10 is a diagram showing the encoding order of the encoding pass.
- the encoding path corresponding to each rate control parameter candidate (t) and those are processed.
- the order will be described.
- FIG. 10 (a) shows the slope S of the coding block indicated by each pass number of code block 0
- FIG. 10 (b) shows the slope of the coding block indicated by each pass number of code block 1.
- Fig. 10 (c) shows the race where the preset values are monotonically decreasing. The reciprocal ⁇ (t) -1 of the control parameter is shown.
- the coding passes of the pass numbers 0 and 1 are coded until the gradient S becomes S (k) ⁇ (0) -1 (A in FIG. 10 (a)). At this point, if the total code amount R sum has not reached the target code amount R max, the processing proceeds to the next code block 1, and similarly, the slope S becomes S (k) ⁇ (0) — 1
- the encoding pass of pass numbers 0 and 1 is encoded (B in FIG. 10 (b)).
- the rate control parameter is set to the next value ⁇ (1), processing is performed from code block 0, and the code block is processed.
- the rate control parameter is set to the next value ⁇ (2), and the coding of the pass number 3 of the code block 0 is performed.
- the path is coded (D in FIG. 10 (a)), and then the coding paths of the pass numbers 2 and 3 of the code block 1 are coded (E in FIG. 10 (b)). The above processing is performed until the total code amount R sum reaches the target code amount R max.
- the encoding is performed until the total code amount R sum reaches the target code amount Rmax, but the target encoding distortion is set instead of the target code amount Rmax and the screen is set. Coding can be performed until the sum of the coding distortion D of each code block in the whole reaches the target coding distortion.
- the rate control information extracting means 105 calculates the distortion difference of the encoding distortion D when each encoding path and the immediately preceding encoding path are encoded, and the Number of output bytes of code amount R Calculate the slope S of the D curve, calculate the total code amount R sum indicating the sum of the code amounts R of each code block, or calculate the sum of the coding distortions D of each code block, and set the total code amount R sum to the target
- the code amount Rma has been reached, or when the sum of the coding distortions D of each codec has reached the target coding distortion, it is determined that the coding is completed, and the total code amount Rsum is set to the target.
- the code block is used until the slope S becomes smaller than the reciprocal ⁇ — 1 of the given rate control parameter.
- the encoding of each encoding pass in the next code block is performed. End of encoding of each encoding pass in code block
- Ichito control parameter lambda - other rate control parameter indicating the value of the monotonically decreasing from 1 reciprocal of Isseki lambda - 1 using, which marks Goka in which code blocks It is determined whether encoding is performed up to the pass.
- the first embodiment since encoding is performed only for the encoding path that actually outputs the encoding result, compared to the conventional method in which all encoding paths are encoded, The effect is obtained that the amount of calculation required for entropy coding can be reduced. Also, since the coding is terminated when the total code amount reaches the target code amount, there is no need to perform a convergence operation to adjust the total code amount to the target code amount, and the calculation amount required for rate control Can be reduced.
- the amount of generated code and the amount of distortion reduction when coding the path to be coded are predicted on both the coding side and the decoding side, and the prediction code It is also possible to determine which coding pass is to be encoded from the amount and the amount of prediction distortion reduction.
- the additional information of the number of encoding passes is only a few percent at most, and this slight overhead can complete the encoding with an almost optimal encoding pass from the viewpoint of minimizing encoding distortion.
- the coding end path calculated from the predicted value is not the optimal coding path.
- the amount of calculation required for predicting the code amount and the coding distortion is generally much larger than the method of counting the actual generated code amount and the coding distortion as in the present invention. This leads to an increase in the amount of computation.
- FIG. 4 of the first embodiment The block diagram showing the configuration of the image encoding device according to the second embodiment of the present invention is the same as FIG. 4 of the first embodiment.
- FIG. 11 is a block diagram showing the internal configuration of the rate control information extracting means 105 of the image coding apparatus according to Embodiment 2 of the present invention.
- the rate control information extracting means 105 is a distortion calculating means 121, a code amount calculating means 122, a rate distortion memory 123, a gradient calculating means 124, and a coding end path deriving means. Steps 1 2 5 are provided.
- the distortion calculating means 122 is a distortion difference between the encoding path from the entropy encoding means 103 and the encoding distortion D in the immediately preceding encoding path for each encoding path. Calculate coding distortion D obtained by accumulating ⁇ D and distortion difference ⁇ D.
- the code amount calculating means 122 calculates, for each coding pass from the entropy coding means 103, the number of output bytes of the code amount R in the coding path and the code amount R obtained by accumulating the number of output bytes. Count.
- the rate distortion memory 123 stores, for each encoding pass, the encoding distortion D in which the distortion difference AD is accumulated, the code amount R in which the number of output bytes AR is accumulated, and the slope S of the RD curve.
- the slope calculating means 124 obtains a distortion difference based on the encoding distortion D for each encoding path stored in the rate distortion memory 123, and obtains a distortion difference for each encoding path stored in the rate distortion memory 123.
- the number of output bytes ⁇ R is obtained from the code amount R, and the slope S of the RD curve is calculated from the distortion difference ⁇ D and the number of output bytes AR.
- the coding end path deriving means 1 25 generates a code in which the slope S of the RD curve with respect to the current coding pass in the coding pass before the current coding pass is smaller than the slope S in the coding pass before the current coding pass.
- the distortion difference ⁇ D and the number of output bytes ⁇ R between the coding pass and the current coding pass as the slope S of the current coding pass and the entire screen showing the sum of the code amount R of each code block Based on the total code amount R sum, the corrected slope S of the current coding path, and the reciprocal ⁇ - 1 of the given rate control parameter, it is determined whether or not to continue coding for each code block.
- To derive the encoding end path and output the encoding end information and the encoding end path.
- the processing other than the rate control information extracting means 105 is the same as that of the first embodiment. Here, the processing of the rate control information extracting means 105 will be described.
- the coding distortion D indicates how much the mean square error of the reproduced image has decreased when a code up to a certain bit plane is sent.Strictly speaking, it is the amount of reduction in coding distortion. . Therefore, when the distortion difference ⁇ D is accumulated up to the last bit plane, it becomes equal to the mean square error.
- the coding distortion D obtained by accumulating these distortion differences ⁇ and the code amount R obtained by accumulating the number of output bytes AR are obtained by adding indexes such as subbands, code blocks, and coding paths to the rate distortion memory 1. Stored in 2 and 3.
- the slope calculating means 124 calculates the distortion difference ⁇ D from the coding distortion D for each coding path stored in the rate distortion memory 123, and calculates the coding path stored in the rate distortion memory 123.
- the number of output bytes ⁇ R is obtained from the code amount R for each and the distortion difference AD is divided by the number of output bytes AR to calculate the slope S of the RD curve in the current coding path, and the coding distortion D And stored in the position of the rate distortion memory 123 where it can be seen that the coding path has the same slope S as the coding amount R.
- Fig. 12 is a diagram showing the data structure of the RD table stored in the rate-distortion memory 123, where the pass number of each coding pass and the coding Distortion D, code amount R, slope S, and flag are stored. The flag will be described later.
- the encoding end path deriving means 1 25 determines that the slope S of the RD curve with respect to the current coding pass in the coding pass before the current coding pass is smaller than the slope S in the coding pass before the current coding pass. Distortion difference between coding path and current coding path
- the entropy encoding means 103 encodes the next encoding pass, and the distortion calculating means 121 generates the distortion difference ⁇ D and the distortion difference AD in the encoding path in the code block in which the distortion difference AD is accumulated.
- the coding distortion D is calculated, and the code amount calculating means 1 2 2 calculates the number of output bytes ⁇ R and the number of output bytes in the coding path.
- the code amount R in the code block in which R is accumulated is counted, the slope calculation means 124 calculates the slope S of the RD curve in the coding pass, and the coding end path deriving means 125 Distortion between the coding path and the current coding path where the slope S of the RD curve between the coding path before the current coding path and the current coding path is smaller than the slope S of the coding path before the current coding path.
- the ratio between the difference ⁇ D and the number of output bytes ⁇ R is corrected as the slope S of the current coding path, and the total code amount R sum of the entire screen showing the sum of the code amounts R of each code block and the current coding path Based on the corrected slope S and the reciprocal of the rate control parameter, it is determined again whether or not to continue encoding in the code block to a further encoding pass. If the encoding is not to be continued, information on the end of the encoding is output to the entropy encoding means 103, and the encoding end path is output to the code data extracting means 106.
- the code data extraction means 106 reads the code data from the code memory 104 up to the coding pass determined by the coding end pass in each code block. Then, after adding the number of encoding passes included in each code block as additional information, they are arranged in the specified order, and after adding predetermined header information, are output as a code stream.
- the details of the processing of the slope calculating means 124 and the encoding end path deriving means 125 will be described.
- the slope is corrected so as to be smaller than the previous slope S.
- FIG. 13 is a flowchart showing a flow of processing of the image coding apparatus according to Embodiment 2 of the present invention.
- the rate control parameter overnight; the catch ⁇ (t) of I is set as follows.
- ⁇ (t) ⁇ (0), ⁇ (1), ⁇ (2), ⁇ ⁇ (tma) ⁇ where the value of the candidate ⁇ (t) for each rate control parameter is monotonically increasing. ⁇ (t) ⁇ . (T + 1). That is, the value of the reciprocal ⁇ (t) -1 of the candidate (t) for each rate control parameter is set to decrease monotonically.
- k (i) is a variable for storing an encoding path for each code block.
- the index t of the rate control parameter ⁇ , the index i of the code block, and the counter R sum of the total code amount are variables common to all code blocks.
- Step ST 1 2 all indicating whether the end of encoding paths deriving means 1 2 5 stores the slope S of the RD curve at each coding pass of each co Doburokku variables f 1 a g (i, Set all values of k) to 1, that is, valid.
- step S T 1 the encoding end path deriving means 1 25
- step ST124 the entropy coding means 103 increments the variable k (i) and prepares for coding of the first coding pass.
- step ST125 the entropy coding means 103 codes the coding path k (i) to be coded in the code block i.
- step ST126 the distortion calculating means 122 1 calculates the distortion difference ⁇ D (i, k (i)) and the distortion difference AD (i) of the coding distortion D in the current coding path in the current coding code block i.
- the quantity calculation means 1 2 2 calculates the number of output bytes ⁇ R (i, k (i)) and the number of output bytes ⁇ R (i, k (i)) in the current coding pass in the current coding code block i. ) Is calculated, and the code amount R (i, k (i)) is stored in the rate distortion memory 123.
- step ST127 the encoding end path deriving means 125
- the index p of the closest valid coding pass before the coding pass is derived by detecting the coding pass with flag (i, k) of 1 in the RD table in FIG.
- the effective coding pass is a coding pass before the slope S of the RD curve of the current coding pass is smaller than the slope S of the previous coding pass and monotonically decreases.
- step ST128 the coding end path deriving means 125 calculates the slope S of the RD curve between the current coding path and the effective coding path of the index p by the following formula.
- step ST 12 9 the coding end path deriving means 1 25 generates the slope S (i, k (i)) in the current coding pass and the slope S (i, ⁇ (i) in the previous effective coding pass. )). If the gradient S (i, k (i)) in the current encoding pass is larger than the gradient S (i, ⁇ (i)) in the previous effective encoding pass, the coding ends in step ST 130.
- the path deriving unit 125 invalidates the previous valid encoding pass and sets the flag in FIG. 12 from 1 to 0. Then, the process returns to step ST127 to search for an earlier encoded effective encoding path until the gradient from the current encoding path becomes monotonically decreasing.
- FIG. 14 is a diagram showing the correction of the slope S of the RD curve.
- the horizontal axis indicates the code amount R (k)
- the vertical axis indicates the coding distortion D (k)
- 0 to 4 indicate the coding paths of pass numbers 0 to 4
- S ( 1), S (2), S (3), and S (4) indicate the slopes of the encoding passes of pass numbers 1 to 4, respectively.
- the code of pass number 4 All of the coding passes were set as valid coding passes, but the slope S (4) of the coding pass of pass number 4, which is the current coding pass, is the closest valid coding before the current coding pass.
- the encoding path of pass number 3 was set to invalid and the slope of the current encoding path of pass number 4 was set. Correction is made so that the slope S (4) 'from the encoding pass of pass number 2 is obtained. If the slope S still does not monotonically decrease even after this correction, the coding path is invalidated until the slope S of the previous coding pass decreases monotonically.
- step ST 12 9 in FIG. 13 if the slope S (i, k (i)) in the current coding pass is smaller than the slope S (i, p (i)) in the previous effective coding pass. If it is determined, in step ST 13 1, the encoding end path deriving means 1 25 adds the generated code amount R (i, k (i ))-Add R (i, k (i)-1) to calculate the total code amount R sum up to the current coding pass. In step ST 13 2, the encoding end path deriving means 1 25 determines whether or not the total code amount counter R sum reaches the target code amount Rmax, and determines the total code amount counter R sum.
- each code block information on the end of coding is output to the entry-to-end coding means 103, and in each code block, An encoding pass k (i) indicating the end of encoding as to whether encoding has been performed up to is output to the encoded data extracting means 106 as an encoding end pass.
- the encoding end path deriving means 1 25 in step ST 13 3 The slope S (i, k (i)) of the effective coding path in the coding pass and the reciprocal ⁇ (t) 1 of the rate control parameter are determined, and the slope S (i, k (i) ) Is large, the encoding end
- the derivation means 125 informs the entropy coding means 103 and returns to step ST124, where the entropy coding means 103 further codes the next coding pass.
- step ST133 if the gradient S (i, k (i)) force becomes smaller than ⁇ (t) 1 , the encoding end path deriving means 1 25 will be the entropy encoding means 1 0 3 Then, the entropy coding means 103 temporarily stores the coded data of the coded pass in the coded memory 104, and interrupts the coding of this code block.
- step ST13 if the code block index i is not imaX, in step ST135, the entropy coding means 103 increments the code block index i, and Move on to code block encoding.
- steps ST125 to ST133 are repeated until the slope S (i, k (i)) becomes less than the reciprocal ⁇ (t) 1 of the rate control parameter. Do.
- the entropy encoder 103 receives the index t of the rate control parameter ⁇ . Is incremented, the rate control parameter ⁇ is set to the next candidate, and the encoding of all the code blocks is performed again.
- the gradient S (i, k (i)) is the inverse of the rate control parameter ⁇ (t) 1 Perform until it becomes less than.
- the rate control parameter candidate ⁇ (t) is updated, it becomes S (i, k (i)) less than ⁇ (t) 1 , that is, the reciprocal of the updated rate control parameter ⁇ ( t) 1 may be larger than the slope S (i, k (i)) in the already-encoded coding pass.
- the reciprocal ⁇ (t) 1 of the updated rate control parameter in step ST123 is the slope S in the encoded encoding pass. (i, k (i)), the encoding process is skipped, and step ST is performed. Move to 1 3 3
- encoding is performed until the total code amount R sum reaches the target code amount R ma, but a target encoding distortion is set instead of the target code amount R max, and Coding can be performed until the sum of the coding distortion D of each code block reaches the target coding distortion.
- the rate control information extracting means 105 is arranged such that the slope S of the RD curve with respect to the current coding path in the coding path before the current coding path is the code before the current coding path.
- the ratio of the distortion difference ⁇ D between the coding path and the current coding path that is smaller than the slope S in the coding path and the number of output bytes ⁇ R is corrected to the slope S of the current coding path, and each code is corrected.
- Calculate the total code amount R sum indicating the total sum of the code amounts R of the blocks, or the total sum of the coding distortion D of each code block, and when the total code amount R sum reaches the target code amount R max, or each code.
- the corrected slope S is the reciprocal of the given rate control parameter given 1 smaller until in than, in that to perform the coding of each coding pass in the code block, if less has decreased than the slope S Gale Ichito control parameter Isseki reciprocal lambda 1 that corrected, this code block
- the value indicates a monotonically decreasing value from the reciprocal ⁇ 1 of the given rate control parameter.
- the second embodiment since encoding is performed only for the encoding path that actually outputs the encoding result, compared to the conventional method in which all encoding paths are encoded, The amount of computation required for entropy coding The effect of being able to reduce is obtained. In addition, since the coding is terminated when the accumulated code amount reaches the target value, it is not necessary to perform convergence calculation to adjust the total code amount to the target code amount, and the amount of calculation required for rate control is reduced. The effect is obtained.
- the slope S of the RD curve is calculated by division.
- the calculation can be a heavy load. Therefore, in the third embodiment,
- a block diagram showing the configuration of the image encoding device according to the third embodiment of the present invention is the same as FIG. 4 of the first embodiment.
- FIG. 15 is a block diagram showing an internal configuration of the rate control information extracting means 105 of the image coding apparatus according to Embodiment 3 of the present invention.
- the rate control information extracting means 105 is a distortion calculating means 131, a code amount calculating means 132, a rate distortion memory 133, a slope index value calculating means 134, and an encoding end path deriving means 135. It has.
- the rate control information extracting means 105 generates a total code amount R sum indicating the sum of the code amounts R of the code blocks, a code amount R of each code block, a coding distortion D of each code block, and each value.
- the distortion calculation means 13 1 calculates, for each coding pass from the entropy coding means 103, the distortion difference between the coding pass and the coding distortion D in the immediately preceding coding pass. Calculate the coding distortion D obtained by accumulating ⁇ D and the distortion difference ⁇ D.
- the code amount calculation means 13 2 is a code which accumulates the number of output bytes ⁇ R of the code amount R in the coding path and the number of output bytes for each coding pass from the entropy coding means 103. Count the amount R.
- the rate-distortion memory 13 stores, for each coding pass, a coding distortion D in which the distortion difference ⁇ D is accumulated, a code amount R in which the number of output bytes is accumulated, and a gradient index value F thereof.
- the slope index value calculating means 13 4 calculates a slope index value F based on the coding distortion D, the code amount R and the rate control parameter ⁇ .
- the encoding end path deriving means 1 3 determines whether or not to continue encoding for each code block, derives an encoding end path, and outputs encoding end information and an encoding end path.
- the distortion calculating means 131 each time the encoding of a certain encoding pass in each code block is completed, encodes the code between the encoding pass and the previous encoding pass.
- An encoding distortion D D + AD is calculated by accumulating the distortion difference ⁇ D and the distortion difference ⁇ D of the encoding distortion D.
- the code amount calculation means 1 3 2 Each time the encoding of the encoding pass is completed, a code value RR + ⁇ R is calculated by accumulating the number of output bytes ⁇ R and the number of output bytes ⁇ R in the encoding pass. These coding distortion D and code amount R are stored in the rate distortion memory 1333 after indexes such as subbands, code blocks, and coding paths are given.
- the slope index value calculating means 13 4 calculates the slope index value F based on the coding distortion D, the code amount R and the rate control parameter ⁇ , and calculates the same code as the coding distortion D and the code amount R. It is stored at the position of the rate distortion memory 133 that can be seen as the slope index value of the conversion path.
- FIG. 16 is a diagram showing the data structure of the RD table stored in the late distortion memory 133.
- the path number and the encoding distortion are shown in correspondence with the subbands and the codebook.
- D, code amount R, and slope index value F are stored.
- the encoding end path deriving means 1 3 based on the total code amount R sum of the entire screen indicating the total code amount R of each code block and the slope index value F, further encodes the code block by an additional encoding pass. It determines whether or not to continue, and outputs the result of the determination to the entry-point coding means 103. If continuing, the entropy coding means 103 codes the next coding pass, and the distortion calculating means 13 1 calculates the distortion difference of coding distortion D between the coding pass and the previous coding pass. The coding distortion D obtained by accumulating ⁇ D and the distortion difference ⁇ D is calculated, and the code amount calculating means 13 2 2 outputs the number of output bytes AR and the number of output bytes AR in the coding path.
- the encoding end path deriving means 135 determines again whether or not to continue the encoding to a further encoding pass. If the encoding is not to be continued, information on the end of the encoding is output to the entry-point encoding means 103, and the encoding end path is output to the code data extracting means 106.
- the code data extraction means 106 completes the encoding of each code block. The code data up to the coding pass determined by the pass is read from the code memory 104, and the number of coding passes included in each code block is added as additional information. It is output as a code stream after adding the header information.
- FIG. 17 is a flowchart showing a processing flow of the image encoding device according to the third embodiment of the present invention.
- the candidate rate control parameter ⁇ (t) is set as follows.
- ⁇ (t) ⁇ (0), ⁇ (1), ⁇ (2), ⁇ ⁇ (tma ⁇ ) ⁇ where the value of the candidate ⁇ (t) for each rate control parameter increases monotonically. It is set so that E (t) ⁇ (t + 1).
- variable k (i) is a variable for storing an encoding path for each code block
- the rate control parameter ⁇ The index t, the index i of the code block, and the counter R sum of the total code amount are variables common to all code blocks.
- step ST142 the entropy coding means 103 codes the coding path in the set code block, and 1 3 1 calculates the coding distortion D obtained by accumulating the distortion difference ⁇ D and the distortion difference ⁇ D of the coding distortion D between the coding path and the previous coding path, and the code amount calculation means 13 2
- the number of output bytes in the conversion path and the code amount R obtained by accumulating the number of output bytes are calculated, and the slope index value calculation means 134 calculates the code from the rate control parameter candidates (t) at that time.
- the slope index value F for the encoded coding path is calculated and stored in the rate distortion memory 13.
- step ST143 the encoding end path deriving means 135 derives an encoding path KL in which the slope index value F is maximum in the code block.
- step ST145 the entropy encoding means 103 increments k (i) to prepare for encoding the first encoding pass.
- step ST146 the entropy coding means 103 codes the coding path k (i) to be coded in the code block i
- step ST147 the distortion calculating means 13 1 is the coding distortion D (i, k (i)) obtained by accumulating the distortion difference AD (i, k (i)) from the distortion difference ⁇ D (i, k (i)) of the coding distortion D between the current coding pass and the previous coding pass. i, k (i))), and stores the coding distortion D (i, k (i)) in the rate distortion memory 133.
- the code amount R (i, k (i)) obtained by accumulating the number of output bytes (i, k (i)) is calculated, and the rate distortion memory 1 3 3 To be stored.
- step ST 1 48 the slope index value calculation means 13 4
- the slope index value F (i, k) in the quantization path is calculated by the following equation and stored in the rate distortion memory 133.
- step ST 1 49 the encoding end path deriving means 13 5 Referring to over and the distorted memory 1 3 3, in the encoded coding pass of the current code block, gradient index value F (i, k) to derive the coding pass k t which maximizes.
- step ST 150 the encoding end path deriving means 13 5 determines whether the encoding path in which the inclination index value F (i, k) is the maximum is the current encoding path k (i). If it is determined that the encoding path k [_ is the current encoding path k (i), the process returns to step ST145 to encode the next encoding path.
- step ST 15 1 the encoding end path deriving means 1 35 determines that the encoding path immediately before the current encoding path is the slope index value F ( i, k) is determined to be the coding path k L that gives the maximum value, and the coding path immediately before the code block i at this time is derived as the coding end path, and the coding path k is determined as The encoding end path is stored in the variable k (i), and encoding in this code block is interrupted.
- step ST 15 2 the encoding end path deriving means 13 5 adds a total code amount counter R sum to a generated code amount R (i, k (i)) ⁇ R (i , k (i) -l) to calculate the total code amount R sum up to the current coding pass.
- step ST153 the coding end path deriving means 1353 determines whether the total code amount R sum has reached the target code amount Rmax, and the total code amount R sum is equal to the target code amount R. If ma X has been reached, it is determined that the encoding has ended at this point, and information about the end of encoding is output to the entropy encoding means 103.
- An encoding pass k (i) which is information on whether encoding has been performed up to the encoding pass, is output to the encoded data extracting means 106 as an encoding end pass.
- the entropy coding means 103 will execute all code blocks. Similarly, in the next code block, the encoding is performed until the encoding path that gives the maximum gradient index value F is not the last encoding path that has been encoded, and in step ST156, the entropy encoding means 1 0 3 increments the index t of the rate control parameter ⁇ , sets the rate control parameter to the next candidate, and again inclines the encoding of all code blocks to maximize the index value F This is performed until the coding pass is no longer the current coding pass.
- coding is performed until the total code amount R sum reaches the target code amount R max.
- a target coding distortion is set and the entire screen is set. It is also possible to perform encoding until the sum of the coding distortions D of each code block at reaches the target coding distortion.
- the rate control information extracting means 105 of the third embodiment calculates the sum of the code amount R of the code block and the product of the coding distortion D of the code block and the rate control parameter ⁇ . Calculates the slope index value F of each coding pass, and derives the coding path in which the slope index value F is maximum in a certain code block. , Until the encoding path in which the derived slope index value F becomes the maximum is no longer the encoding path currently being encoded, the encoding of the encoding block is performed, and the total code amount R sum of each code block is calculated.
- the third embodiment since encoding is performed only for the encoding path that actually outputs the encoding result, compared to the conventional method in which all encoding paths are encoded, An effect is obtained that the amount of calculation required for entropy coding can be reduced. Also, since the coding is terminated when the total code amount reaches the target value, there is no need to perform a convergence operation to adjust the total code amount to the target code amount, and the calculation amount required for rate control is reduced. This has the effect of reducing power consumption.
- the third embodiment instead of using the division to calculate the slope S, instead of using the slope index value F calculated by multiplication, the first embodiment and the second embodiment are used. As compared with the above, the effect that the operation load of division in the rate control can be further reduced can be obtained.
- the image coding apparatus is suitable for reducing the amount of calculation required for entropy coding and rate control.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/579,453 US20080260275A1 (en) | 2004-05-17 | 2004-05-17 | Image Coding Apparatus |
PCT/JP2004/006974 WO2005112427A1 (ja) | 2004-05-17 | 2004-05-17 | 画像符号化装置 |
JP2006513488A JP4322920B2 (ja) | 2004-05-17 | 2004-05-17 | 画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/006974 WO2005112427A1 (ja) | 2004-05-17 | 2004-05-17 | 画像符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005112427A1 true WO2005112427A1 (ja) | 2005-11-24 |
Family
ID=35394518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/006974 WO2005112427A1 (ja) | 2004-05-17 | 2004-05-17 | 画像符号化装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080260275A1 (ja) |
JP (1) | JP4322920B2 (ja) |
WO (1) | WO2005112427A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007267340A (ja) * | 2006-03-30 | 2007-10-11 | Mitsubishi Electric Corp | 画像符号化装置 |
JP2012249167A (ja) * | 2011-05-30 | 2012-12-13 | Fujifilm Corp | 画像データ符号化装置ならびにその動作制御方法およびそのプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2429593A (en) | 2005-08-26 | 2007-02-28 | Electrosonic Ltd | Data compressing using a wavelet compression scheme |
US8879632B2 (en) * | 2010-02-18 | 2014-11-04 | Qualcomm Incorporated | Fixed point implementation for geometric motion partitioning |
CN101841709A (zh) * | 2010-03-29 | 2010-09-22 | 广东中大讯通信息有限公司 | 数字视频监控系统分流编码方法和视频监控系统 |
US8934725B1 (en) * | 2010-08-30 | 2015-01-13 | Accusoft Corporation | Image coding and decoding methods and apparatus |
US8983213B1 (en) | 2010-08-30 | 2015-03-17 | Accusoft Corporation | Image coding and decoding methods and apparatus |
CN103200407B (zh) * | 2013-04-16 | 2016-05-18 | 中国科学院光电技术研究所 | 一种自适应熵编码器 |
US9992252B2 (en) | 2015-09-29 | 2018-06-05 | Rgb Systems, Inc. | Method and apparatus for adaptively compressing streaming video |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004056605A (ja) * | 2002-07-23 | 2004-02-19 | Nippon Hoso Kyokai <Nhk> | 符号量制御方法、符号量制御装置及び符号量制御プログラム |
JP2004088164A (ja) * | 2002-08-22 | 2004-03-18 | Ricoh Co Ltd | 画像処理装置 |
JP2004166254A (ja) * | 2002-10-25 | 2004-06-10 | Sony Corp | 画像符号化装置及び方法、並びにプログラム及び記録媒体 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106366B2 (en) * | 2001-12-19 | 2006-09-12 | Eastman Kodak Company | Image capture system incorporating metadata to facilitate transcoding |
JP2004326447A (ja) * | 2003-04-24 | 2004-11-18 | Sony Corp | 画像合成装置及び方法 |
-
2004
- 2004-05-17 US US11/579,453 patent/US20080260275A1/en not_active Abandoned
- 2004-05-17 WO PCT/JP2004/006974 patent/WO2005112427A1/ja active Application Filing
- 2004-05-17 JP JP2006513488A patent/JP4322920B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004056605A (ja) * | 2002-07-23 | 2004-02-19 | Nippon Hoso Kyokai <Nhk> | 符号量制御方法、符号量制御装置及び符号量制御プログラム |
JP2004088164A (ja) * | 2002-08-22 | 2004-03-18 | Ricoh Co Ltd | 画像処理装置 |
JP2004166254A (ja) * | 2002-10-25 | 2004-06-10 | Sony Corp | 画像符号化装置及び方法、並びにプログラム及び記録媒体 |
Non-Patent Citations (1)
Title |
---|
2001, KLUWER ACADEMIC PUB, ISBN: 079237519X, article TAUBMAN D.S.: "Jpeg: Image Compression Fundamentals, Standards, and Practice." * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007267340A (ja) * | 2006-03-30 | 2007-10-11 | Mitsubishi Electric Corp | 画像符号化装置 |
US7720297B2 (en) | 2006-03-30 | 2010-05-18 | Mitsubishi Electric Corporation | Image coding apparatus |
JP4680112B2 (ja) * | 2006-03-30 | 2011-05-11 | 三菱電機株式会社 | 画像符号化装置 |
JP2012249167A (ja) * | 2011-05-30 | 2012-12-13 | Fujifilm Corp | 画像データ符号化装置ならびにその動作制御方法およびそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20080260275A1 (en) | 2008-10-23 |
JPWO2005112427A1 (ja) | 2008-03-27 |
JP4322920B2 (ja) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4273996B2 (ja) | 画像符号化装置及び方法、並びに画像復号装置及び方法 | |
Artigas et al. | The DISCOVER codec: architecture, techniques and evaluation | |
KR101695681B1 (ko) | 상황-기반의 적응형 이진 산술 코딩(cabac)비디오 스트림 준수 | |
US8111934B2 (en) | Extension of two-dimensional variable length coding for image compression | |
WO2004105398A1 (en) | Combined runlength coding and variable length coding for video compression | |
JP2001525639A (ja) | 画像信号符号化システムおよびプロセスのための適応量子化フレームワークにおける適応エントロピー符号化 | |
JP2014519215A (ja) | データをロッシー圧縮符号化する方法および装置、および、データを再構築する対応する方法および装置 | |
KR20060122684A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
US11475600B2 (en) | Method and device for digital data compression | |
WO2005112427A1 (ja) | 画像符号化装置 | |
CN1262815A (zh) | 在传输系统中的无损编码/解码 | |
Perra et al. | High-frequency error recovery in JPEG XR coded images | |
CN1622634A (zh) | 转换压缩的视频分辨率的装置和方法 | |
JP4680112B2 (ja) | 画像符号化装置 | |
KR100813001B1 (ko) | 차분신호의 크기와 부호의 분리를 이용한 동영상부호화/복호화 장치 및 그 방법 | |
WO2016025281A1 (en) | Method for coding pulse vectors using statistical properties | |
Brites et al. | Probability updating for decoder and encoder rate control turbo based Wyner-Ziv video coding | |
CN1848960A (zh) | 使用非标准化矢量量化编码器的符合视频标准的残差编码 | |
WO2016025283A1 (en) | Method for coding pulse vectors using statistical properties | |
JP4086424B2 (ja) | 符号化装置 | |
KR20020059923A (ko) | 웨이브렛 이론을 이용한 동영상 압축/복원 장치 및 그 방법 | |
WO2022073789A1 (en) | Data encoding and decoding | |
JP6526629B2 (ja) | 特に「レンジコーダ」又は算術圧縮による,特に圧縮画像を符号化する方法 | |
WO2004080080A1 (en) | Apparatus and method for compression and decompression of digital data | |
JPH09214356A (ja) | 可変長符号化方法・復号方法および可変長符号化装置・復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006513488 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11579453 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |