WO2009157580A1 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- WO2009157580A1 WO2009157580A1 PCT/JP2009/061806 JP2009061806W WO2009157580A1 WO 2009157580 A1 WO2009157580 A1 WO 2009157580A1 JP 2009061806 W JP2009061806 W JP 2009061806W WO 2009157580 A1 WO2009157580 A1 WO 2009157580A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encoding
- unit
- code amount
- quantization
- quantization factor
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 144
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000013139 quantization Methods 0.000 claims abstract description 647
- 239000011159 matrix material Substances 0.000 claims description 139
- 238000004364 calculation method Methods 0.000 claims description 133
- 238000012937 correction Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 description 82
- 230000008569 process Effects 0.000 description 42
- 230000000694 effects Effects 0.000 description 29
- 239000000872 buffer Substances 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 229910052729 chemical element Inorganic materials 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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/124—Quantisation
-
- 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
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Definitions
- the present invention relates to, for example, an image encoding device, and more particularly to a technical field in which a generated code amount is matched with a target code amount given to one picture without performing intra-screen feedback control.
- the encoding bit rate of the bit stream generated by the encoder is fixed according to the transfer rate of the transmission medium.
- the quantization step of quantization is controlled. In other words, for example, when images with complex patterns continue, the quantization step is increased to suppress the amount of data generated. Conversely, when simple images continue, the quantization step is decreased to generate data. By increasing the amount, a fixed rate is maintained without causing an overflow or underflow of the buffer memory.
- the allocated code amount allocated to each GOP itself is determined according to the ratio of the difficulty of encoding for each GOP (Group Of Pictures) and the sum of the difficulty of encoding of a plurality of GOPs. Assign more for GOPs with complex images, and less for GOPs with simple images.
- step 2 of TM5 (test model 5) is well known as a method for adjusting the generated code amount to the target code amount given to one picture. This is because the code amount allocated to the picture is evenly distributed to the macro block (MB) as the MB target code amount, and feedback control is performed in the picture. It is a technique to match the amount.
- Patent Document 1 Japanese Patent No. 3 3 5 8 6 2 0 publication.
- the initial value of the step in the encoding step does not match the picture of the picture in the encoding of the first picture of the sequence or the picture immediately after the scene change. It was hot.
- the quantization step of the part until it follows the pattern in feedback control is too large, the image quality of that part will deteriorate compared to the other parts, and if the quantization step is too small, that part In this case, too much code amount may be used, which may affect other parts.
- the image coding apparatus may execute coding in parallel in advance to predict the generated code amount, and match the generated code amount to the target code amount given to one picture without performing intra-screen feedback control. desirable.
- the image encoding device performs quantization in parallel by the number of quantization parameters, there is a problem that the circuit scale becomes large. Disclosure of the invention
- the image processing apparatus of the present invention encodes an input image.
- a predictive quantizing factor determining unit that determines a predictive quantizing factor that is predicted to be close to a basic quantizing factor that is predicted to be the closest to the target code amount, and a predictive quantizing factor And a simple code that calculates the amount of code generated by simple coding by coding the input image in comparison with coding based on the quantization factor in the vicinity of the predicted quantization factor.
- An encoding unit that encodes an input image based on a predictive quantization factor, and a generated code based on a predictive quantization factor calculated by a simple encoding unit.
- a code amount ratio calculation unit for calculating a code amount ratio of the generated code amount based on the prediction quantization factor calculated by the encoding unit for the amount, and a quantum in the vicinity of the prediction quantization factor calculated by the simple encoding unit. Based on chemical elements, a correction unit that corrects the generated code amount based on the quantization factor in the vicinity of the prediction amount child factor by multiplying the generated code amount by the code amount ratio is provided.
- the image processing apparatus only needs to calculate the generated code amount by encoding only for the predicted quantization factor, and the generated code amount by simple encoding for the quantization factor in the vicinity of the predicted quantized factor. It suffices to execute the calculation. .
- the predictive quantization factor that is predicted to be near the basic quantization factor that is predicted to be the closest to the target code amount when the input image is encoded is determined.
- a simple encoding step for calculating the amount of generated code by simple encoding an encoding step for calculating the amount of generated code by encoding by encoding an input image based on a predictive quantization factor, and simple encoding Calculate the code amount ratio of the generated code amount based on the predicted quantization factor calculated by the encoding unit with respect to the generated code amount based on the predicted quantization factor calculated in the step.
- the vicinity of the prediction quantization factor is calculated. Correction to correct generated code amount based on quantization factor Steps.
- the image processing method only needs to calculate the generated code amount by encoding only for the predicted quantization factor, and the generated code amount by simple encoding for the quantization factor in the vicinity of the predicted quantization factor. It suffices to execute the calculation.
- the present invention it is only necessary to calculate the generated code amount by encoding only for the predicted quantization factor, and the generated code amount is calculated by simple encoding for the quantization factor near the predicted quantized factor. Should be executed.
- the present invention can realize an image processing apparatus and an image processing method that can simplify the circuit configuration. Brief description of drawings ''
- FIG. 1 is a configuration diagram of an image encoding device according to the first embodiment of the present invention.
- FIG. 2 is a configuration diagram in which a quantization unit and a CAVLC calculation unit of a conventional image encoding device are extracted.
- FIG. 3 shows the basic configuration of the quantization unit and CAVLC calculation unit.
- FIG. 4 shows a quantization unit and an image encoding device according to the first embodiment of the present invention.
- FIG. 5 is a flowchart for explaining in detail the processing procedure of the encoding by the image encoding device.
- Figure 6 is a flow chart that further explains the adaptive Q Matrix switching process.
- FIG. 7 is a flowchart showing a VLC table selection processing procedure.
- FIG. 8 is a configuration diagram of an image encoding device according to the second embodiment.
- FIG. 9 is a flowchart for explaining a basic quantization parameter determination processing procedure.
- FIG. 10 is a conceptual diagram for explaining basic quantization parameter estimation processing.
- FIG. 11 is a flowchart for explaining a high-accuracy generated code amount calculation processing procedure.
- BEST MODE FOR CARRYING OUT THE INVENTION The best mode for carrying out the present invention (hereinafter simply referred to as an embodiment) will be described in detail below with reference to the drawings. The description will be given in the following order.
- FIG. 1 shows and describes the configuration of an image encoding device 100 according to an embodiment of the present invention.
- This image encoding device 100 has a first pre-encoding unit 1, a second pre-encoding unit 2, a main encoding unit 3, a code amount control unit 4, and delay buffers 5 and 6. Yes.
- the image encoding device 100 performs pre-encoding by the first pre-encoding unit 1 and the second pre-encoding unit 2 in advance, and the basic quantization parameter QP used in the encoding unit 3
- This encoder information such as MB , predictive quantization matrix Q Matrix D, intra prediction mode, and activity group is determined.
- parallel pre-encoding with slightly reduced accuracy and reduced circuit load and processing load is performed with a wide range of quantization parameters QP, and the predicted quantization parameter QPd for realizing the target code amount is coarsened. estimate.
- the second pre-encoding unit 2 performs parallel pre-encoding with high accuracy within a narrow range, and determines the basic quantization parameter QP MB used in the main encoding unit 3.
- the first pre-encoding unit 1 is a module that performs the first pre-encoding process.
- the in-screen prediction mode determination unit 1 1, the in-screen prediction processing unit 1 2, the DCT unit 1 3, the quantization unit 1 4, CAVLC calculation section 1 5 and activity calculation section 1 6 are provided.
- the second pre-encoding unit 2 is a module that performs the second pre-encoding process, and includes an intra-screen prediction processing unit 21, a DCT unit 2 2, a quantization unit 2 3, and an entropy code A length calculation unit 24, a buffer 25 ', an IDCT (Inverse DCT) unit 26, and an inverse quantization unit 27 are provided.
- an intra-screen prediction processing unit 21 a DCT unit 2 2, a quantization unit 2 3, and an entropy code
- a length calculation unit 24 a buffer 25 ', an IDCT (Inverse DCT) unit 26, and an inverse quantization unit 27 are provided.
- the main encoding unit 3 is a module that performs the main encoding.
- the in-screen prediction processing unit a 31, the DCT unit 3 2, the quantization unit 3 3, the entropy encoding unit 3 4, the noffer 3 5, and the IDCT unit 3 6 and an inverse quantization unit 3 7 are provided.
- the code amount control unit 4 is a module that performs code amount control.
- the image encoding device 100 supplies the input image 91 supplied from the outside to the first encoder unit 1 and the delay buffers 5 and 6.
- the first encoding unit 1 roughly estimates the amount of generated code for each quantization parameter QP.
- the first encoding unit 1 supplies the supplied input image 91 to the activity calculation unit 16 and the in-screen prediction mode determination unit 11.
- the activity calculator 16 allocates MBs to activity groups according to the complexity of the image.
- the activity calculation unit 16 supplies the activity group number to the quantization unit 14 and the code amount control unit 4.
- the intra-screen prediction mode determination unit 11 executes the intra-screen prediction process of the input image 91 and generates difference image data. Note that the intra-screen prediction mode determination unit 11 simplifies the intra-screen prediction processing in the first pre-encoding unit 1 by using the input image 9.1 as the predicted image.
- the intra-screen prediction mode determination unit 1 1 determines the intra-screen prediction mode to be used in the encoding unit 3 based on the generated code amount f of the difference image data, and uses the determined intra-screen prediction mode for the intra-screen prediction processing. Supply to parts 1 2, 2 1. and 3 1 respectively.
- the intra-screen prediction processing unit 12 generates differential image data from the input image 91 according to the intra-screen prediction mode determined by the intra-screen prediction mode determination unit 11 1, and supplies it to the DCT unit 13.
- the D C T unit 13 performs D C T processing on the difference image data, generates a D C T coefficient, and supplies it to the quantization and conversion unit 14.
- the quantization unit 14 performs quantization in parallel in multiple quantization steps by using the discrete quantization parameter QP1. Selected from the quantization parameters QP of 0 to 51. To do. For example, the quantization unit 14 has n stages connected in parallel. Quantization part 1 4! ⁇ 14 1 has n, performs quantization processing based on n selected quantization parameters QP1, and generates n quantized coefficients. The quantization unit 14 uses the selected quantization parameter QP1 as the average quantization parameter BaseQP of the picture, and adds the offset corresponding to the activity group number supplied from the activity calculation unit 16 to perform quantization. To do. The detailed configuration of the quantization unit 14 will be described later. The quantization unit 14 supplies n quantization coefficients to the CAVLC calculation unit 15.
- the CAVLC calculation unit 15 performs CAVLC processing on each of the n quantized coefficients, and supplies the generated code amount for each MB to the code amount control unit 4.
- the in-screen prediction processing unit 12 uses the input image 91 instead of the local decoded image as a predicted image. Also, this encoding unit 3 switches between CAVLC and CABAC (Context-Adaptive Binary Arithmetic Coding) as the entropy coding method.
- CABAC Context-Adaptive Binary Arithmetic Coding
- the code amount control unit 4 corrects the generated code amount using a statistical model calculated in advance by statistics. 'Thereby, the code amount control unit 4 can improve the accuracy of the generated code amount calculated by the first pre-encoding unit 1. Further, the code amount control unit 4 calculates a generated code amount based on a quantization parameter other than the selected quantization parameter QP1 for the generated code amount based on the corrected selected quantization parameter QP1.
- the generated code amount based on the corrected selected quantization parameter QP1 and the generated code amount calculated by interpolation are collectively referred to as a low-precision generated code amount.
- the code amount control unit 4 does not need to perform quantization and CAVLC processing for all of the quantization parameters QP, thereby reducing the circuit configuration of the quantization unit 14 and reducing the processing load. it can.
- the code amount control unit 4 selects the quantization parameter QP whose low-precision generated code amount is closest to the target code amount as the predicted quantization parameter QPd.
- This predictive quantization parameter QPd is an approximate value based on the low-accuracy generated code amount that is simply calculated by the first pre-encoding unit 1, and is the main code generated code at the time of this encoding. The amount is predicted to be close to the target code amount.
- the code amount control unit 4 when the quantization matrix Q Matrix is adaptively selected, the code amount control unit 4 generates a low-precision generated code amount for each quantization matrix Q Matrix, and the quantization matrix Q Matrix can take
- the quantization parameter Q Matrix X is selected as the predicted quantization matrix Q MatrixD, where the low-precision generated code amount is close to the target code amount and the gradient is as small as possible.
- the second pre-encoding unit 2 determines the basic quantization parameter QP MB used in the main: ⁇ -mode unit 3.
- the second pre-encoding unit 2 supplies the delay-processed input image 91 supplied from the delay buffer 5 to the in-plane prediction processing unit 21.
- the in-screen prediction processing unit 2 1 generates the difference image data by encoding the input image 9 1 by the in-screen prediction according to the in-screen prediction mode supplied from the in-screen prediction mode determination unit 1 1. Supply the data to DCT section 22.
- the 001 1 part 2 2 performs DCT processing on the difference image data to generate a DCT coefficient, and supplies it to the quantization part 23.
- the quantization unit 23 has three stages of quantization units 2 3-1, 2 3-2, and 2 3-3.
- the quantization unit 2 3 quantizes the DCT coefficients based on the predicted quantization parameter QPd and the quantization parameter QP in the vicinity of the predicted quantization parameter QPd to generate quantization coefficients, respectively.
- the entropy code length calculation unit 2 Supply to 4.
- the port-to-pee code length calculation unit 24 encodes the quantized coefficient by the encoding method used in the encoder unit 3 of CAVLC and CABAC, and calculates the high-accuracy generated code amount for each quantization parameter QP. Generate.
- the code amount control unit 4 converts the quantization parameter QP, which is a high-precision generated code amount closest to the target code amount, into the basic quantization parameter QPMB based on the high-accuracy generated code amount by the entropy code length calculation unit 24. decide.
- the quantization unit 23 supplies the quantization coefficient generated based on the predicted quantization parameter QPd to the inverse quantization unit 27.
- the inverse quantization unit 27 generates a DCT coefficient by dequantizing the quantization coefficient and supplies it to the IDCT unit 26.
- the IDCT section 26 generates a local decoded image by applying IDCT processing to the DCT coefficient and supplies it to the buffer 25.
- the buffer 25 supplies the locally decoded image to the intra prediction processing unit 21.
- the in-screen prediction processing unit 21 stores the local decoded image. In-screen prediction processing is executed as a predicted image.
- the second pre-encoding unit 2 uses a locally decoded image as a predicted image and performs entropy encoding with the same encoding method as the main encoding unit 3 to thereby compare with the first pre-encoding unit 1. It is possible to calculate the amount of generated code with high accuracy.
- the code amount control unit 4 then changes the quantization parameter QP that is predicted to generate the code generation code amount closest to the target code amount to the basic quantization parameter QPMB based on the high-precision generated code amount. Can be determined.
- the encoder 3 supplies the input image 91 1 subjected to delay processing supplied from the delay buffer 6 to the intra-screen prediction processing unit 31.
- the intra-screen prediction processing unit 3 1 generates the differential image data by encoding the input image 91 according to the intra-screen prediction according to the intra-screen prediction mode supplied from the intra-screen prediction mode determination unit 11 1. . . Supply to Ding 3 '2.
- the 00 unit 32 generates a DCT coefficient by performing DCT processing on the difference image data, and supplies the DCT coefficient to the quantization unit 23.
- the quantization unit 3 3 quantizes the DCT coefficient based on the basic quantization parameter QP MB to generate a quantization coefficient, and supplies the quantization coefficient to the entropy code length calculation unit 3 4.
- the entropy code length calculation unit 3.4 entropy-encodes the quantized coefficients using either CAVLC or CABAC, and supplies the result to the external device as an output small ream 92.
- the quantization unit 33 supplies the quantization coefficient generated based on the basic quantization parameter QPMB to the inverse quantization unit 37.
- the inverse quantization unit 37 generates the DCT coefficient by dequantizing the quantization coefficient and supplies it to the IDCT unit 36.
- the IDCT unit 36 performs IDCT processing on the DCT coefficient to generate a local decoded image, and supplies the local decoded image to the intra-picture prediction processing unit 31 via the buffer 35.
- the intra-screen prediction processing unit 3 1 executes intra-screen prediction processing using the local decoded image as a predicted image.
- the image encoding device 100 uses the first pre-encoding unit 1 to roughly estimate the generated code amount for each quantization parameter QP as the low-precision generated code amount, and based on the low-precision generated code amount Determine the predictive quantization parameter QPd.
- image The encoding device 100 uses the second pre-encoding unit 2 to calculate a highly accurate generated code amount with high accuracy using the predicted quantization parameter QPd and the quantization parameter QP in the vicinity thereof.
- the image encoding device 100 determines the basic quantization parameter QP MB based on the amount of high-accuracy generated code calculated with high accuracy and uses it for the main encoding process by the main encoding unit 3.
- the image encoding apparatus 100 can reduce the generated code amount based on all the quantization parameters QP by the first pre-encoding unit 1 and the second pre-encoding ; Without calculation, it is possible to calculate a high-precision generated code ⁇ ⁇ ⁇ ⁇ in the basic quantization parameter QP MB with high accuracy. As a result, the image encoding device 100 can determine an appropriate basic quantization parameter QPMB with a simple configuration.
- FIG. 2 shows and describes the configuration of a conventional quantization unit 300 and a conventional CAVLC calculation unit 400-.
- This quantization unit 3 0 0 and CAVLC calculation unit 4 0 are arranged in the same number as the selected quantization parameter QP1, one for each pair of quantization unit 3 0 0 and CAVLC calculation unit 4 0 0.
- the generated code amount based on the selected quantization parameter QP1 is calculated.
- Quantizer 3 0 0 ', MB QP calculator 3 0 1, scan address generation unit 3 0 2, QP% 6 converter 3 0 3, QP / 6 converter 3 0 4, scale factor RAM 3 0 5, Multiplier 3 0 6 and a non-reciprocal shifter 3 0 7 are provided.
- CAVLC calculation unit 400 is composed of TrailingOne counting unit 4 01, TotalCoef counting unit 4 0 2, TotalZero counting unit 4 0 3, RunBefore counting unit 4 0 4, LevelLength calculating unit 4 0 5, ZeroLeft calculating unit 4 0 6, TotalCoefLength bit length ROM 4 0 7, TotalZeroLength bit length ROM 4 0 8, RunBefore bit length ROM 4 0 9, Calorie calculator 4 1 0, 4 1 1, 4 1 6, MB boundary nB storage line memory 4 1 2, nB retention memory 4 1 3, nA retention memory 4 1 5, and nB selection unit 4 1 4 The ,
- the quantization unit 300 uses the DCT coefficient W and the quantization parameter QP to calculate the quantization coefficient Z as follows.
- the quantizer 3 0 0 receives the following signals.
- AFF signal indicating whether the macro block is a field configuration or a frame configuration
- the “activity group” is supplied as quantization offset information for each macroblock with respect to the average quantization parameter Base QP which is the base of the entire picture.
- DCT coefficients shall be supplied in an order suitable for encoding (eg, reverse order of scan).
- the MB QP calculation unit 3 0 1 calculates the adaptive quantization parameter QPt by offsetting the MB unit activity from the activity group and the average quantization parameter Base QP (the set selected quantization parameter QP 1). .
- the QP% 6 conversion unit 3 0 3 outputs the remainder when the adaptive quantization parameter QPt is divided by “6” (that is, one of the 6 types of 0, 1, 2, 3, 4 and 5).
- the scale factor RAM 3 0 5 and the QP / 6 converter 3 0 4 are supplied.
- the AFF signal and the 8x8 / 4x4 signal are input to the scan address generation unit 300.
- the scan address generator 3 0 2 is based on these AFF signals and 8x8 / 4x4 signals. To generate a DCT address indicating the input position of the DCT coefficient; and supply it to the scale factor RAM 3 0 5.
- the scale factor RAM 3 0 5 holds the multiplication coefficient obtained by the following equation.
- Multiplication coefficient 16 X MF (8x8 / 4x4, QP, h, v) / Q Matrix (8x8 / 4x4, h, v) where h and v are DCT addresses that represent the horizontal and vertical directions in the DCT coefficient. Yes, it changes from 0 to 7 at 8x8 and from 0 to 3 at 4x4 '.
- MF is a scaling factor that is a constant parameter defined in H.264.
- the quantization matrix Q Matrix is a parameter that can be set by the encoder. That is, the scale factor RAM 3 0 5 is the DCT block size.
- the scale factor RAM 3 0 5 outputs the multiplication coefficient having the scan position phase to the multiplier 3 0 6 based on the DCT address.
- QP / 6 conversion unit 3 0 4 is an MB QP calculation unit.
- adaptive quantization parameter QPt is supplied from a 0, 1
- barrel shifter 3 shows the result of integer division of adaptive quantization parameter QPt. 0 Outputs to 7.
- the node shifter 30 07 calculates “shift amount” by adding “1 5” to the QP / 6 conversion unit 30 4 and supplies it to the CAVLC calculation unit 400.
- the output of the quantization unit 300 is equivalent to the result of the quantization (division) being performed by shifting the result of the multiplier 3 06 by the barrel shifter 3 07.
- the CAVLC calculation unit 400 calculates the amount of generated code when actual encoding is executed.
- the CAVLC calculation unit 400 is composed of TotalCoef representing the number of non-zero coefficients, Trailing sign and trailing—ones_sign_ £ lag representing the number and sign of the coefficient with the absolute value 1 that is consecutive at the end, and DCT The level representing the value of the coefficient, the total— zero representing the number of zero coefficients before the last non-zero coefficient, and the zero before the non-zero DCT coefficient
- the runj efore representing the continuous number of each is encoded, and the code length is calculated.
- the CAVLC calculation unit 400 depends on the state of the surrounding 4 X 4 blocks with respect to TotalCoef that represents the number of non-zero coefficients and railingOne that represents the number and sign of the coefficient of the absolute value 1 that is last.
- the CAVLC calculator 400 selects a VLC table for every 4 X.4 blocks based on the total value of TotalCoef and TrailingOne.
- TrailingOne counting unit 4 0 1 counts the number of 1 or 1 following from the beginning, excluding zero, for 4x4 block 16 samples input value in reverse scan order, and adder 4 1 1 and TrailingOne TotalCoefLength bit length Supply to ROM 4 0 7 respectively.
- the TotalCoef counter 4 0 2 counts the non-zero coefficient that is not counted by the TrailingOne counter 4 0 1 and adds it as TotalCoef 4 1 1, TotalCoefLength bit length ROM 4 0 7 and TotalZeroLength bit length ROM 4 0 Supply to 8 respectively.
- Bit length ROM 4 0 7 selects VLC table adaptively for each 4 X 4 block according to the result of adder 4 1 6 and encodes TotalCoef and TrailingOne, and adds the code length to adder 4 1 0 Supply.
- the TotalZero counting unit 4 0 3 counts the number of zero coefficients excluding leading zeros and supplies it to the TotalZeroLength bit length ROM 4 0 8 and ZeroLeft calculation unit 4 0 6 as total_zero.
- TotalZeroLength bit length ROM 4 0 8 calculates the code length as a combination of total_zero and TotalCoef and supplies it to adder 4 10.
- Runbefore counting unit 4 0 4 is the number of consecutive zeros after the non-zero coefficient ( ⁇ 1) counted by TrailingOne counting 4 0 1 and the next consecutive zero after the non-zero coefficient counted by TotalCoef counting unit 4 2 Are sequentially counted and supplied to ZeroLeft.
- Runbefore bit length ROM 4 0 9 A code used to encode Runbefore as a combination of Zero Left and Runbefore.
- the LevelLength calculator 4 5 calculates the code length of the DCT coefficient that is non-zero.
- TotalCoefLength Bit length Selection of adaptive VLC table in ROM 4 0 7 is performed based on TotalCoef and TrailingOne.
- the adder 4 11 adds the TrailingOne supplied from the TrailingOne counter 4 0 1 and the TotalCoef supplied from the TotalCoef counter 4 0 2 to obtain the total number of non-zero coefficients.
- the VLC table is selected from the number of non-zero coefficients nA in the left 4 X 4. block and the number of non-zero coefficients nB in the top 4 X 4 block. Since the adder 4 11 is referred to as nA and nB, the number of necessary non-zero coefficients in the 4 ⁇ 4 block is stored in the nB holding memory 4 1 3 and the nA holding memory 4 1 5.
- MB is sequentially supplied in the line direction, and 4 X 4 blocks are scanned in the MB in a predetermined order (raster scan order within 8 X 8 sub-blocks). For this reason, the 4 X 4 block on the left is scanned almost immediately before. Similarly, the upper adjacent block in the MB will be scanned almost immediately before. However, the upper 4 ⁇ 4 block in the MB needs to refer to the lowermost 4 ⁇ 4 block in the previous MB to refer to the upper adjacent block. Therefore, the adder 4 1 1 stores the value of the macro block line in the MB boundary nB storage line memory 4 1 2.
- the nB selection unit 4 1 4 selects the nB located in the upper part of the MB boundary nB storage line memory 4 1 2 from the address of the 4 X block in the MB, in the case of the upper boundary, otherwise the nB holding memory 4 1 Select nB located at the top from 3. Then, the adder 4 16 calculates the table selection index nC according to the following formula using the average value of the non-zero coefficients in the 4 X 4 block on the left side and the upper side as the table selection index nC.
- the adder 4 1 0 includes the railingOne counting unit 4 0 1, TotalCoefLength bit length ROM 4 0 7, TotalZeroLengt bit length ROM 4 0 8, RunBefore bit length ROM 4 0 9, and LevelLength calculation unit 4 0 5 Addition is performed to obtain the total number of code lengths. ',' The above processing is repeated over the entire picture every 4 X 4 blocks. The low-precision generated code amount of the picture when the average quantization parameter is Base QP is obtained.
- the processing for obtaining the low-accuracy generated code amount of this picture is different discretely-the quantization parameter QP1 is set as the average quantization parameter Base QP, and 15 types of processing are performed in parallel, and for each quantization matrix Q Matrix C [1-3. Configuration of quantization unit and CAVLC calculation unit according to this embodiment]
- FIG. 3 and FIG. 4 extract and show a part of the configuration of the image encoding device 10 according to the embodiment of the present invention in which characteristic processing is added to the configuration of FIG. 2 described above. explain.
- the parts corresponding to those of the conventional CAVLC calculation unit 400 shown in FIG. 2 are denoted by the same reference numerals, and the description of the same parts is omitted.
- the image encoding device 10; 0. and the image encoding method according to this embodiment are characterized by the following.
- H.264 / AVC Advanced Video Coding Standard
- CAVLC shared calculation unit 1 5 0 reduces the amount of line memory by calculating the code amount without using the number of non-zero coefficients nB in the 4 X 4 block at the top of the MB.
- Quantization sharing unit 1 4 0 allows scaling factor and quantization matrix Q Matrix By separating the selection process and the quantization process, the memory is shared and the memory is reduced. ''
- FIG. 3 shows the configuration of the quantization unit 14 and the code length calculation unit 15.
- the quantization unit 14 has the same number of quantization units 14- :! to 14-n as the selected quantization parameter QP1 in parallel.
- a shared quantization shared part 1 4 0 is connected to each of ⁇ 1 4— n.
- CAVL.C calculation unit 1 5 and CAVLC calculation unit 1 5 _ :! ⁇ 15_n are provided in parallel, and the shared CAVLC calculation unit 1 5_n is connected to the CAVLC calculation unit 15_ :!
- Fig. 4 is a block diagram of the main parts that are quantized and variable-length coded with multiple quantization parameters QP. Note that the operation of the image encoding device 100 corresponds to the image encoding method according to the present embodiment.
- the quantization sharing unit 1 4 0 has a scan address generation RAM 1 0 1, a scale factor RAM I 0 2, 1 / Matrix RAM I 0 3, a quantization unit 1 4 one:! ⁇ 14-n is MB QP calculation unit 5 0 1, QP% 6 conversion unit 5 0 2, scale factor selector 5 0 3, 1 / Matrix selector 5 0 4, QP / 6 conversion ROM 5 0 5, multiplier 5 0 6, 5 0 7, and a non-linear shifter 5 8 8.
- CAVLC shared calculation unit 1 5 0 is notifier 2 0 1, 2 0 2, adder 2 0 3, nB hold memory 2 0 4, nA hold memory 2 0 5, adder 2 0 6, TotalCoefLength bit length ROM.2 07 and adder 2 0 8 are provided.
- CAVLC calculation unit 1.5-1 to 15-n are TrailingOne counting unit 4101, TotalCoef counting unit 4 0 2, TotalZero word + number unit 4 0 3, RunBefore counting unit 4 0 4, LevelLength calculation unit 4 0 5, ZeroLeft calculation unit 4 0 6, TotalZeroLength bit length R0M 4 0 8, RunBefore bit length.
- the quantization sharing unit 14 0 mainly reduces the size of the SRAM by sharing the scale factor RAM 1 0 2 and 1 Z Matrix RAM 1 0 3.
- CAVLC shared calculation unit 1 5 0 performs other processing for each pixel, whereas the code length calculation of TotalCoefLength bit length ROM 2 0 7 can be performed once per 4x4 block.
- the circuit is shared so that it can be processed.
- the reduction effect of the line memory for 15 parallels obtained by this approximation is great.
- an AFF signal indicating whether the MB is a Field configuration or a Frame configuration and an 8x8 / 4x4 signal indicating whether 8x8DCT or 4x4DCT is used for orthogonal transformation are input to the quantization sharing unit 140.
- the scan address generation RAM I 01 generates a DCT address indicating a DCT coefficient input position.
- the scale factor RAM I 0 2 outputs the scaling factor MF having the scan position phase to the scale factor selector 5 0 3 of the quantization unit 5 0 0.
- the scaling factor MF is selected according to the DCT address and the value of QP% 6 (the remainder when the selected quantization parameter QP1 is divided by 6).
- 1 / Matrix RAM I 0 3 uses the inverse of the matrix value with the scan position phase in the quantization matrix Q Matrix as the 1 / Matrix selector of the quantization units 1 4-1 to 1 4 _ 11 5 0 Outputs to 4.
- 1 / Matrix RAM I 0 3 outputs the inverse of the matrix value
- the inverse of the matrix value is carried with a left shift of about 20 bits.
- the quantization matrix Q Matrix to be used changes depending on the value of the selected quantization parameter QP1, so a plurality (for example, about 4 types) is required.
- 1 / Matrix RAM 1 0 3 outputs the inverse (4 types) of matrix values to the 1 Matrix selector 5 0 4 in the quantization unit 1 4— 1 to: 1 4 _ n and is set.
- the subsequent quantization unit 1 4 _ :! ⁇ 1 4 — n 1 / Matrix selector 5 0 4 Select.
- the quantization part 1 4! ⁇ 14—n supplies the DCT coefficients sequentially supplied to the MB QP calculation unit 5 0 1.
- the MB QP calculation unit 5 0 1 generates an adaptive quantization parameter QPt by adding an activity offset corresponding to the activity group to the selected quantization parameter QP1 and converts it to QP% 6 conversion.
- the QP% 6 converter 5 0 1 calculates a QP% 6 value that is a remainder when the adaptive quantization parameter QPt is divided by “6”, and supplies it to the scale factor selector 5 03.
- the scale factor selector 5 03 selects the scaling factor MF as the first multiplier according to the QP% 6 value, and supplies it to the multiplier 5 06.
- the 1 / Matrix selector 5 0 4 ′ selects the inverse of the matrix value as the second multiplication coefficient based on the matrix identification number idx of the quantization matrix Q Matrix to be used, and supplies it to the multiplier 5 0 6.
- the multiplier 50 6 multiplies the scaling factor MF by “1 6” and the inverse of the matrix value (MF * 16 / QMatrix).
- Multiplier 5 0 6 multiplies the output value of scale factor selector 5 0 3 and 1 / Matrix selector 5 0 4 and then right shifts 20 bits to carry 1 / Matrix RAM I 0 3 Match the minutes and supply the multiplier to the multiplier 5 0 7:
- the multiplier 5 07 multiplies the DCT coefficient in the reverse scan order by the multiplication value and supplies it to the barrel shifter 5 0 8.
- the QP / 6 converter supplies the QP / 6 value obtained by dividing the adaptive quantization parameter QPt by “6” to the bulk shifter 5 0 8.
- the barrel shifter 50 8 obtains a quantized result by lowering the output value of the multiplier 5 07 by the number of digits corresponding to the QP / 6 value.
- the quantization unit 14 shares the scale factor RAM 1 / MatrixRAM 10 3 and the subsequent quantization unit 14 according to the DCT address: ⁇ 1 4 1 All the scaling factors MF that can be taken by n and the inverse of the matrix value are supplied to the quantizing unit 1 4 1 1 to 1 4 — n .
- the quantization unit 1 4 one l ⁇ l 4 _ n, selects the inverse of matrix value according to the matrix identification number idx.
- the quantization unit 14 can share the scale factor RAM 1 0 2 and 1 / Matrix RAM 1 0 3, so the amount of RAM required for the quantization unit 1 4 as a whole Can be reduced.
- the quantization unit 14 scales the scale factor MF and the inverse of the matrix value separately, so that the scaler 14 scales the scale factor MF and the inverse of the matrix value.
- the storage capacity required for factor RAM I 0 2 and 1 ZMatrixRAM I 0 3 can be reduced.
- the CAVLC calculation unit 15 is different from the conventional CAVLC calculation unit 400 in that the CAVLC shared calculation unit 15 5 adaptively selects the _VLC table and encodes TrailingOne and TotalCoef. . .
- CAVLC calculator 1 5— 1 to 1 5— n railingOne counter 4 0 1, TotalCoef counter 4 0 2, TotalZero counter 4 0 3, RunBefore counter 4 0 4, LevelLength calculator 4 0 5, ZeroLeft calculation Section 4 0 6, TotalZeroLength bit length ROM 4 0 8 and RunBefore bit length ROM 4 0 9 sequentially execute processing on supplied DCT coefficients. That is, each of the CAVLC calculation units 15-1 to 15-n performs 4 ⁇ 4 16 operations on the 4 ⁇ 4 DCT block.
- TotalCoefLength bit length ROM 4 07 can select one VLC table and perform one operation for TrailingOne and TotalCoef calculated for 4x4 DCT block.
- ROM 40 7 is the CAVLC calculator 15—! ⁇ 1 5—Only about 1 1 6 computation time is required for each part of n. Therefore, the CAVLC shared calculator 1 5 0 performs the CAVLC calculation. 'Part 1 5—! ⁇ 1 5— Hold TrailingOne and TotalCoef supplied from n in Buffer 2 0 1 and 2 0 2 respectively.
- CAVLC shared calculator 1 5 0 is the CAVLC calculator 1 5— :!
- n While each part of n performs processing for the next 4 X 4 block, the VLC table is adaptively selected for the previous 4 X 4 block, and the CAVLC calculator 1 5— 1 ⁇ : 1 5—Sequentially encode 15 railingOne and TotalCoef calculated by n.
- the adder 20 3 receives the railingOne and TotalCoef from the buffers 2 0 1 and 2 0 2 in a time division manner, and calculates the number of non-zero coefficients by adding the TrailingOne and TotalCoef.
- the nA holding memory 2 0 5 holds the number nA of non-zero coefficients of the 4x4 block referred to as the left neighbor in the macro block.
- the nB holding memory 2 0 4 holds the number nB of 4 ⁇ 4 block non-zero coefficients referred to as the upper neighbor in the 4 ⁇ 4block black block.
- TotalCoefLenght bit length ROM 2 0 7 is the table selection index nC
- the VLC table is selected based on the above, and TrailingOne and TotalCoef are encoded and the code length is calculated.
- TotalCoefLenght bit length ROM 2 07 sequentially outputs the TotalCoefLength bit length to adder 2 0 8.
- the adder 20 8 is supplied with the code length calculated by the CAVLC calculation unit 15 — 1 to 15 — n.
- the adder 20 8 adds the code supplied from the CAVLC calculation unit 1 5 —:! To 1 5 — n corresponding to the TotalCoefLength bit length and the total CoefLength bit length, thereby adding a code for each 4 ⁇ 4 block.
- the code amount control unit 4 calculates the generated code amount for each MB by adding the code length for each 4 ⁇ 4 block for each MB. These processes are repeated for the entire picture.
- the CAVLC calculation unit 15 shares the TotalCoefLenght bit length ROM 2 07 with a small number of computations.
- the CAVLC calculator 15 can simplify the circuit configuration by reducing the number of TotalCoefLenght bit length ROMs 2.07.
- the CAVLC calculation unit 15 can omit the MB boundary nB storage line memory, greatly reducing the RAM storage capacity required for the CAVLC calculation unit 15 and simplifying the circuit configuration. it can.
- the quantization unit 14 stores the scaling factor MF and 1 / Q Matrix separately and also stores the DCT algorithm. All the possible values according to the dress are supplied to each quantization unit 1 4 — 1 to 1 4 1 n. Each quantization unit 1 4! ⁇ 1 4— n selects the scaling data MF and 1 ZQ Matrix according to the set quantization parameter QP. As a result, the quantizing unit 14 can share the memory among the quantizing units 14-1 to 14-1 n, so that the memory can be reduced.
- the CAVLC calculation unit 15 can reduce the MB boundary nB storage line memory 4 1 2 by not using the upper 4 x 4 block for the upper end of the MB. It becomes possible.
- CAVLC calculation part 1 5 is 4x4DCT block unit By sharing the CAVLC shared computing unit 15 where the operations are executed in the time division, the logical modules can be reduced. .
- the image encoding device 100 uses the correlation in the screen to increase the efficiency in the AVC, so that the advantage of AVC cannot be maximized by reducing the processing unit. Perform two pre-encodings for each picture. Then, the image encoding device 100 is configured to share part of the circuit in order to solve the problem that the processing amount increases for improving the efficiency and the circuit scale of the encoder increases due to that. Adopt partial parallel configuration. As a result, the image encoding device 100 can simplify the configuration of the pre-encoder, and 1. match the generated code amount to the target code amount given to the picture and distribute the code amount in consideration of visual characteristics, that is, The quantization parameter QP can be determined.
- the second pre-encoding unit 2 performs the same encoding as the encoder 3 using the prediction quantization parameter QPd and the prediction quantization matrix Q MatrixD, thereby increasing the amount of high-precision generated code. Calculate with accuracy.
- the generated code amount calculated by the second pre-encoding unit 2 is referred to as a high-precision generated code amount.
- the second pre-encoding unit 2 calculates not only the predicted quantization parameter QPd but also the quantum ⁇ : parameter QP before and after the predicted quantization parameter QPd and calculates the amount of generated code with high accuracy.
- the prediction quantization parameter is used to predict the amount of high-precision generated code near QPd.
- the code amount control unit 4 supplies the prediction quantization parameter QP d, the prediction quantization matrix Q MatrixD and the activity group of each MB to the second pre-encoding unit 2.
- the second pre-encoding unit 2 performs the second pre-encoding based on these values.
- the input image 91 is subjected to delay processing via the delay buffer 5 and then input to the intra-screen prediction processing unit 21.
- the in-screen prediction processing unit 2′1 calculates which difference between the predicted image and the input image 9 1 and generates difference image data.
- the 001 ⁇ section 22 performs DCT processing on the difference image data to generate a DCT coefficient.
- the quantization unit 23 performs a quantization process on the DCT coefficient to generate a quantization coefficient.
- the entropy code length calculation unit 24 entropy codes the quantized coefficients using CAVLC or CABAC, and calculates a high-precision generated code amount.
- the quantization unit 23 sends the quantization unit to the inverse quantization unit 27.
- the inverse quantization unit 27 dequantizes the quantization coefficient to regenerate the DCT coefficient.
- the IDCT unit 26 converts the DCT coefficient into IDCT, generates a local decoded image, and stores it in the buffer 25.
- the quantization unit 2 3 is configured by three-stage quantization units 2 3-1, 2 3-2, and 2 3 ⁇ 3 in this example, and the entropy code length calculation unit 2 4 is 3 in this example. It is composed of two stages of entropy code length calculators 2 4-1, 2 4-2 and 2 4-3. The reason why the number of steps is reduced to three is that the quantization parameter QP has already been roughly estimated over a wide range in the first pre-encoding.
- the quantization unit 2 3 and the entropy code length calculation unit 2 4 execute processing in parallel, and perform the prediction quantization parameter QPd and the quantization parameter QP before and after the prediction quantization parameter QPd. A highly accurate generated code amount is obtained.
- the entropy code length calculation unit 24 selects from CABAC / CAVLC the same method as the entropy encoding method of this encoding by the encoding unit 3. '
- the code amount control unit 4 determines the basic quantization parameter QP MB of the picture used in the main encoding from the high-accuracy generated code amount obtained by the second pre-encoding. Then, the code amount control unit 4 determines the quantization information (Q Matrix, MB of each MB) from the basic quantization parameter QPMB of the determined picture, the prediction quantization matrix Q MatrixD, and the activity group of each MB. QP etc.) is sent to the encoder section 3.
- the quantization information Q Matrix, MB of each MB
- the quantization parameter QP closest to the target code amount is selected as the basic quantization parameter QPMB. .
- the code amount control unit 4 obtains the variation rate of the highly accurate generated code amount with respect to the change of the quantization parameter from the result of the second pre-encoding.
- the predictive quantization parameter QPd is based on the low-accuracy code amount generated by the first pre-en 2 and code part 1.
- the code amount control unit 4 uses the predictive quantization parameter QPd and the quantization parameter QP before and after the predictive quantization parameter QPd to generate the high-precision Predict the code amount and select the quantization parameter QP closest to the target code amount as the basic quantization parameter QPMB
- Dif £ Ratio_l representing how much the high-precision generated code amount changes when the quantization parameter QP is subtracted by “1” is obtained from the result of the second pre-encoding 2 as follows. Generated—bits represents the amount of generated code in the second pre-encode 2.
- QP_precodel is the predicted quantization parameter QP d
- QP_precodel-l is a quantization parameter smaller by 1 than the predicted quantization parameter QPd. Represents QP.
- DiffRatio— 1 (Generated— bits (QP—precode 1-1)-
- QP_precodel Generated—bits (QP—precodel)) / Generated_bits (QP_precode 1)
- QP_precodel + l represents a quantization parameter QP that is “1” larger than the predicted quantization parameter QPd.
- DiffRatio— 2 (Generated— bits (QP—precodel)-
- DiffRatio (Difffiatio_l + DiffRatio ⁇ 2) / 2
- DiffRatio is calculated as the average value of the fluctuations in the amount of generated code when the predicted quantization parameter QPd changes by 1 in the positive and negative directions.
- DeltaQP be the absolute value of the difference between the quantization parameter QP whose high-accuracy generated code amount is closest to the target code amount and the predicted quantization parameter QPd. (QPjrecodel).
- QP_precodel-l the quantization parameter QP
- QP_precodel-l the quantization parameter QP
- the generated code amount is calculated as follows.
- Quantization parameter QP corresponding to high-precision generated code quantity closest to the target code quantity QP is the predictive quantization parameter QPd
- the quantization parameter QP (QPjrecodel + 1) which is larger by 1, is larger than the target code amount
- the high-precision generated code amount (Generated—bits (QP)) of the nearest quantization parameter QP is calculated as follows. ,
- the code quantity control unit 4 uses the quantization parameter QPd before and after the predicted quantization parameter QPd.
- the amount of generated code is increased or decreased by the amount of code corresponding to the rate of change when the value of the quantization parameter QP changes by “1” around the predicted quantization parameter QPd.
- the code amount control unit 4 can calculate a highly accurate generated code amount with high accuracy using a quantization parameter QP in the vicinity of the predicted quantization parameter QPd.
- the code quantity control unit 4 uses the quantization parameter QP that is closest to the target code quantity as the basic quantization parameter QPMB that is used as the average quantum ⁇ f ⁇ parameter (BaseQP) in this encoding. Will choose.
- the prediction quantization parameter QPd (QP_precodel) estimated by the first pre-encoding unit 1, one larger quantization parameter QP (QP_precodel + l), and one smaller Pre-encode with the quantization parameter QP (QP_precodel-l).
- the local decoding (Local Decode) image used in the in-screen prediction processing is the data quantized with the predicted quantization parameter QPd (QP_precodel) estimated based on the result of the first pre-encoding unit 1.
- the data processed by inverse quantization and IDCT is the quantization output of the predicted quantization parameter QPd (QPjrecodel).
- QPjrecodel the quantization parameter QP
- This is a pre-encoding screen that uses the quantization parameter QP (QP—precodel + l, QP_precodel-l) before and after the predicted quantization parameter QPd. This means that the input of prediction processing is substituted with the local decoding (Local Decode) image of the prediction quantization parameter QPd (QP_precodel), not the local decoding (Local Decode) image of itself.
- the code amount control unit 4 predicts the possibility that the low-precision generated code amount is closest to the target code amount by predicting the low-precision generated code amount based on the result of the first pre-encoding unit 1.
- the high-accuracy generated code amount is calculated by the same encoding as the main encoding by the quantization parameter QPd and the quantization parameter QP before and after the quantization parameter QPd.
- the code amount control unit 4 can calculate the highly accurate generated code amount almost accurately when the predicted quantization parameter QPd and the preceding and subsequent quantization parameters QP are used.
- the present invention focused on the fact that the fluctuation rate of the high-accuracy generated code amount accompanying the change of the quantization parameter QP is almost constant within a narrow range.
- the code amount control unit 4 uses the quantization parameter QP in the vicinity of the prediction quantization parameter QPd based on the fluctuation rate of the highly accurate generated code amount in the prediction quantization parameter QPd and the quantization parameter QP before and after the prediction quantization parameter QPd. The amount of generated code with high accuracy is calculated. As a result, the code amount control unit 4 can calculate a highly accurate generated code amount almost accurately for the quantization parameter QP in the vicinity of the predicted quantization parameter QPd.
- the image encoding apparatus and the image encoding method include a computer program installed in the apparatus or a recording medium that records the program, a computer program that implements the method, or a recording medium that records the program. Implementation is also possible.
- the activity calculation unit 16 calculates an activity for each MB, and divides the MB into activity groups according to the value (step S 1).
- the in-plane prediction mode determination unit 11 determines an in-screen prediction mode based on the input image 91 (step S 2). This in-screen prediction mode is also used in the second pre-encoding by the second pre-encoding unit 2 and the main encoding by the main encoding unit 3.
- the in-screen prediction processing unit 12 calculates difference image data between the predicted image and the input image.
- the predicted image here, the input image 91 is used in order to reduce processing.
- the DCT unit 13 performs integer precision DCT, and sends the DCT coefficient to the quantization unit 14 (step S 3).
- the quantization unit 14 quantizes the DCT coefficient value using a plurality of selected quantization parameters QP 1 at arbitrary intervals as the average quantization parameter (BaseQP) of the picture.
- the entry port code length calculation unit 15 obtains the generated code amount for each selected quantization parameter QP 1 by performing variable length coding of the quantization coefficient and calculating the code length (step S 4).
- the MB quantization parameter QP is encoded with a value taking into account the activity as described above. That is, as described above, the MB quantization parameter QP is obtained by adding an offset depending on the activity group to the average quantization parameter (BaseQP) of the picture.
- the above process is performed for each quantization matrix Q Matrix. That is, for each quantization matrix Q Matrix, pre-encoding is performed with a discrete (jumping) selected quantization parameter QP1, and the generated code amount for one picture is acquired. At this time, for each quantization matrix Q Matrix, select quantization parameter to cover the range that quantization parameter QP can take. Select QP1.
- the code amount control unit 4 corrects the generated code amount calculated by the first pre-encoding unit 1 to calculate a low-precision generated code amount.
- the code amount control unit 4 corrects the error by simplifying the precoding, and calculates the low-accuracy generated code amount corresponding to the quantization parameter QP other than the selected quantization parameter QP1 by interpolation processing. (Step S5). ⁇
- the code amount control unit 4 performs the process of step S5 on each quantization matrix Q Matrix and calculates the low-precision generated code amount for each quantization matrix Q Matrix (step S6). With the above processing, the low-accuracy generated code amount for all the required quantization parameters QP is obtained. Of the quantization parameters QP that can generate the low-accuracy generated code amount closest to the target code amount, The quantization matrix Q Matrix with the smallest slope is selected as the predicted quantization matrix Q MatrixD. Further, the code amount control unit 4 selects a quantization parameter QP that can generate a low-precision generated code amount closest to the target code amount corresponding to the predicted quantization matrix Q MatrixD as the predicted quantization parameter QPd. (Step S7).
- the range of possible quantization parameters QP is limited, and when the first pre-encoding unit 1 calculates the low-precision generated code amount The range of the selective quantization parameter QP1 can be reduced. This is the predicted quantization matrix Q MatrixD determined by the first pre-encoding unit 1 and the predicted quantization parameter QPd.
- a generated code amount acquisition process is performed by the second pre-enload unit 2 (steps S8 to S10).
- the purpose of the second pre-encoding unit 2 is to perform basic quantization again by pre-encoding again in view of the fact that the estimation of the prediction quantization parameter QPd by the first pre-encoding unit 1 has an error.
- the parameter is to increase the accuracy of QPMB estimation.
- a high-accuracy generated code amount is obtained by pre-encoding again with the quantization parameter QP in the vicinity of the predicted quantization parameter QPd roughly estimated from the result of the first pre-encoding unit 1, and the target code amount is obtained. Closest quantization parameter Find QP again. Entropy code length calculation is the same method as this encoding
- CABAC CABAC or CAVLC
- the second pre-encoding unit 2 uses the local quantization image QPd (QP_precodel) estimated by the result of the first pre-encoding unit 1 as a local decoded image (predicted image) to be used for intra-screen prediction. Share the decoded image.
- the prediction quantization parameter QPd (QP_precodel), the quantization matrix Q Matrix, and the activity group determined by the result of the first pre-encoding unit 1 are used.
- the quantization unit 2 3-1 is set with the predicted quantization parameter QPd (QP ⁇ recodel), and the quantization unit 2 3-2 is a quantization parameter QP (QP_precodel) that is smaller by 1 than the predicted quantization parameter QPd.
- -1) is set, and the quantization unit 2 3-3 is set to a threshold quantization parameter (QP_j) recodel + l) that is “1” larger than the predicted quantization parameter QPd.
- the MB quantization parameter (Q.P) is encoded with a value that takes into account the activity.
- the code amount control unit 4 determines a basic quantization parameter QP MB from the highly accurate generated code amount obtained based on the second pre-encoding unit 2 (step S 10).
- the main code unit 3 performs the main encoding (step S 1 1).
- the quantization parameter (QP) whose quantity is closest to the target code quantity is compared with the maximum quantization parameter QP (QMatrixTheshold [Id]) that can be taken in the quantization matrix Q-Matrix (step S 2 2).
- the code quantity control unit 4 Quantization matrix Q-Matrix is determined as -predictive quantization matrix Q MatrixD. Furthermore, the code quantity control unit 4 determines that the quantization parameter (QP) whose low-precision generated code quantity in the prediction quantization matrix Q MatrixD is closest to the target code quantity is the prediction quantization parameter QPd (step S 2 3), Q Matrix decision processing procedure RT 2 ends. ⁇
- the code quantity control unit 4 sets the maximum possible quantization parameter QP for each quantization matrix Q-Matrix, and the quantization matrix Q with a gentle slope. In order from -Matrix, it is determined whether or not the low-accuracy generated code amount corresponding to the quantization parameter QP estimated that the low-accurate generated code amount is closest to the target code amount is a value that is really close to the target code amount. And if it is close, the corresponding amount The child matrix Q-Matrix is determined as the predictive quantization matrix Q MatrixD used in this encoder.
- pre-encoding is performed twice in units of pictures.
- the image encoding device 100 has a part of the circuit in order to solve the problem that the processing amount increases and the circuit scale of the encoder increases due to this.
- Adopt a partial parallel configuration.
- the pre-encoder configuration is simplified, and errors associated with the simplification are corrected with statistical data. .
- the image encoding apparatus 100 can match the main encoding generated code amount generated in the main encoding without performing the on-screen feed back control to the target code amount given to one picture. Become.
- the image encoding device 100 can eliminate problems of feed back control such as a bad effect due to an inappropriate initial value of the feed back parameter and an inappropriate target code amount distribution.
- the image encoding apparatus 100 can match the actual encoding generated code amount with the target code amount, and can determine the code amount distribution in consideration of visual characteristics, that is, an appropriate quantization parameter.
- the VLC table selection processing procedure RT1 executed by the CAVLC shared calculation unit 15.0 according to the encoding program will be described with reference to the flowchart shown in FIG.
- the CAVLC calculation unit 15 starts the VLC table selection processing procedure RT 1 and proceeds to step S 41.
- the CAVLC calculation unit 15 counts TrailingOne and TotalCoef by the CAVLC calculation unit 15— :! to 15—n, and then proceeds to the next step S42.
- step S2 the CAVLC calculating unit 15 calculates the number of non-zero coefficients by adding railingOne and TotalCoef, and then proceeds to the next step S43.
- step S 3 the CAVLC calculation unit 15 temporarily stores the numbers n A and n B of the non-zero coefficients to be referred to, and proceeds to the next step S 44.
- step S44 the CAVLC calculation unit 15 determines whether or not the 4 X4 block to be processed is the upper boundary of the MB. Here, when a negative result is obtained, this indicates that nB to be referred to is held in the nB holding memory 204. At this time, the CAVLC calculation unit 15 proceeds to the next step S46.
- step S46 the CAVLC calculation unit 15 uses the average value of nA and nB as the table selection index nC, and proceeds to the next step S47.
- step S44 the CAVLC calculating unit 15 proceeds to step S45, and when nA is used as the table selection index nC, the process proceeds to the next step S47. .
- step S47 when the CAVLC calculation unit 15 selects a VLC table based on the table selection index nC, the CAVLC calculation unit 15 proceeds to an end step and ends the process a.
- the image encoding device 100J is scanned as a scanning block composed of a plurality of 4 X 4 blocks while being scanned every 4 X 4 blocks as an encoding block consisting of a plurality of pixels.
- An input image 91 that is line-scanned for each MB is input.
- the image encoding device 100 uses variable-length encoding in the 4 X 4 block above and to the left of the 4 X 4 block to be encoded in the quantization coefficient as the data to be encoded based on the input image 91.
- the VLC (variable length) table corresponding to the table selection index n C that is the average value of the non-zero coefficients n B and n A as the encoded values is selected.
- the image encoding apparatus 100 sets the number of non-zero coefficients n B in the upper 4 X 4 block to the left 4 X 4 block.
- the number of non-zero coefficients n is assumed to be n A.
- the image encoding apparatus 100 uses the selected VLC table to perform variable-length encoding on the number of 4 ⁇ 4 block non-zero coefficients to be encoded in the quantized coefficients. As a result, the image coding apparatus 100 can omit the memory for one line for referring to the number nB of non-zero coefficients adjacent to the upper end at the upper end of the MB, and can simplify the circuit configuration.
- the image encoding device 100 encodes the input image 9 1 by performing quantization using a quantization step based on at least a quantization factor (quantization parameter QP and / or quantization matrix). , Generates quantized coefficients as data to be encoded.
- the image encoding device 1 0 0 is based on the low-accuracy generated code amount when the quantized coefficient is variable-length encoded, and the main encoding generated code amount when the input image 91 is fully encoded is the target code.
- the image encoding device 100 performs main encoding (main encoding) on the input image 91 based on the determined basic quantization parameter QP MB .
- the image encoding device 100 can determine the basic quantization parameter QP MB based on the low-accuracy generated code amount calculated with a simple configuration.
- the image encoding device 100 encodes the input image 91 by performing DCT processing, which is orthogonal transform for each 4 ⁇ 4 block, and then quantizing it using a quantization step based on the quantization parameter QP. Generate quantized coefficients.
- the image encoding device 1 0 0 determines a predictive quantization parameter QPd as a predictive quantization factor in the vicinity of the basic quantization parameter QPMB.
- the image encoding device 1 encodes the input image 9 1 based on the selected predicted quantization parameter QPd and the quantization parameter QP in the vicinity of the predicted quantization parameter QPd, Calculate the amount of precision generated code.
- the image encoding device 100 determines the basic quantization parameter QP MB based on the calculated high-accuracy generated code amount of the input image 91.
- the image encoding device 1 0 0 is based on the prediction quantization parameter QPd which is likely to be the basic quantization parameter QP MB and the quantization parameter QP in the vicinity of the prediction quantization parameter QPd.
- the quantization parameter QPMB can be determined. For this reason, the image encoding device 100 can improve the prediction accuracy of the basic quantization parameter QP MB .
- the image encoding apparatus 200 and the image encoding method according to this embodiment are characterized by the following. ,
- the image encoding device 200 is an image compression method typified by MPEG4 AVC (Advanced Video Coding) and the like, and simplifies the processing when code amount control is performed. Reduce hardware by doing.
- the image encoding device 200 has both CABAC (Context-Adaptive Binary Arithmetic Coding) and Context-Adaptive Variable Length Coding (CAVLC).
- CABAC Context-Adaptive Binary Arithmetic Coding
- CAVLC Context-Adaptive Variable Length Coding
- the system is capable of selecting the ENT PG encoding method.
- the image encoding device 200 reduces the circuit scale by performing a parallel encoding with a single encoding method when performing quantization with different quantization values in parallel. To do.
- the image encoding device 200 is configured to change the simplified quantization unit 28 in the second pre-encoding unit 2 into the sharing unit 28 0 as in the quantization unit 14 in the first pre-encoding unit 1.
- quantization part 2 8—! It consists of ⁇ 2 8 _ 3.
- the image encoding device 200 shares a simple code length calculation unit 29 that calculates a simple generated code amount by CAVLC in the same manner as the CAVLC calculation unit 15 in the first pre-encoding unit 1.
- the calculation unit is configured as 29 0 and the CAVLC calculation unit 2 9 _ 1 to 2 9.-3.
- the CAVLC calculation unit 29-1 calculates the generated code amount based on the predicted quantization parameter QPd.
- the CAVLC calculation units 29-2 and 29-3 calculate the generated code amount based on the quantization parameter QP before and after the predicted quantization parameter QPd.
- the image encoding device 200 has only one stage of the ENT port code length calculation unit 42 for calculating the amount of code generated by CAVLC or CABAC. By switching between CAVLC and CABAC accordingly, a high-accuracy generated code amount based on the predicted quantization parameter QPd is calculated.
- the image encoding apparatus 200 When CAVLC is used for the main encoding, the image encoding apparatus 200 generates a generated code amount based on the predictive quantization parameter QPd by the CAVLC calculation unit 29-1 and an entrance py code length calculation unit 4 2.
- the amount of high-precision generated code based on the quantization parameter QP other than the predicted quantization parameter QPd is predicted from the amount of deviation from the high-precision generated code amount based on the predicted quantization parameter QPd.
- the image encoding device 200 obtains the deviation (ratio) of the generated code amount between CABAC and CAVLC, thereby obtaining the CABAC Predict the amount of code generated with high accuracy.
- the image encoding apparatus 200 eliminates the CABAC circuit in the parallel part for calculating the highly accurate generated code quantity based on the quantization parameter QP before and after the predicted quantization parameter QPd, and reduces the circuit scale. To do.
- FIG. 8 shows and describes the configuration of an image encoding device 200 according to an embodiment of the present invention.
- the second pre-encoding unit 2 is a module that performs the second pre-encoding, and includes an intra-screen prediction processing unit 2 1, 0 000 2 2 ′, a quantization unit 4 1, an entropy code length calculation unit 4 2, A buffer 25, an IDCT (Inverse DCT) unit 26, an inverse quantization unit 27, a simple quantization unit 28, and a simple code length calculation unit 29 are provided.
- an intra-screen prediction processing unit 2 1, 0 000 2 2 ′ a quantization unit 4 1
- an entropy code length calculation unit 4 2 A buffer 25, an IDCT (Inverse DCT) unit 26, an inverse quantization unit 27, a simple quantization unit 28, and a simple code length calculation unit 29 are provided.
- IDCT Inverse DCT
- the code amount control unit 4 is a module that performs code amount control.
- the simple quantization unit 28 separately outputs the scaling factor MF and the inverse of the quantization matrix Q Matrix (1 Matrix) as multiplication coefficients.
- the simple quantization unit 28 has a slight error compared to the conventional quantization unit 3 0.0 due to rounding that occurs when the inverse of the quantization matrix Q Matrix is output.
- the simplified code length calculation unit 29 is assumed that the number of upper non-zero coefficients nB in the 4 X 4 block at the upper end of the MB is assumed to be the number of left non-zero coefficients nA on the left. An error is generated. Therefore, the image encoding device 2 0 0 performs predictive quantization in which the same encoding as that of this encoder is executed. For the quantization parameter QP in the vicinity of the parameter QPd, the generated code amount calculated by the simple code length calculation unit 29 is corrected to calculate a highly accurate generated code amount. '
- the image encoding device 2 0 0 uses a highly accurate generated code amount based on the predicted quantization parameter QPd by the entropy single code length calculation unit 4 2 and the CAVLC calculation unit 2 9-1 From the ratio of the generated code amount by simple encoding based on the predicted quantization parameter QPd, the high-accuracy generated code amount in the vicinity of the predicted quantization parameter QPd is calculated.
- the code amount control unit 4 calculates a highly accurate generated code amount based on the quantization parameter QP before and after the predicted quantization parameter QPd from the code amount ratio R_reduction and the generated code amount by the simple process.
- the amount of generated code by the above is the simplified generated code amount Reduce—Generated—bits (QP_precode 1-1) and the simplified generated code ⁇ Reduce_Generated_bits (QPj) recodel + l).
- the code amount control unit 4 pays attention to the fact that the ratio of the code amount of normal processing and the code amount of simple processing is almost equal, and the code amount ratio R based on the predicted quantization parameter QPd — Reduction or Therefore, a high-precision code amount is predicted based on a quantization parameter (QPj) recodel-l) that is “1” smaller than the predicted quantization parameter QPd and a quantization parameter (QP_precodel + l) that is “1” larger than the predicted quantization parameter QPd. To do.
- the code amount control unit 4 determines the high-precision generated code amount of normal processing.
- the code quantity control unit 4 uses the following equation to calculate the quantization parameter (QPj) recodel + l) that is “1” larger than the predicted quantization parameter QPd. Calculate high-precision generated code amount Generated_bits (QP—precode 1+ 1).
- the code amount control unit 4 uses the code amount ratio R—reduction for the code amount generated by the simple processing (processing by CAVLC calculation units 29-2 and 29-3). Is used to calculate the high-precision generated code amount for the preceding and following quantization parameters QPd of the predicted quantization parameter QPd.
- the code amount control unit 4 performs the variation rate DiffRatio of the prediction quantization parameter QPd (QP_precodel) and the quantization parameters QP (QP_precodel-l and +1) before and after the prediction quantization parameter QPd (QP_precodel). From this, the high-accuracy generated code amount for the other quantization parameter QP is calculated. ' ⁇ .
- the predicted quantization parameter QPd and its Based on the quantization parameter QP in the vicinity of, the generated code amount is calculated by simple CAVLC (simple processing).
- the image encoding device 200 calculates a high-precision generated code amount based on the predicted quantization parameter QP d by the same encoding (normal processing) as the main encoding.
- the image encoding device 200 calculates the code amount ratio R_reduction between the simple process and the normal process, and multiplies the generated code quantity by the simple process based on the quantization parameter QP in the vicinity of the predicted quantization parameter QPd. As a result, the image encoding device 200 can correct errors due to simple processing, and calculates a highly accurate and highly accurate generated code amount for the quantization parameter QP in the vicinity of the predicted quantization parameter QPd. Has been made to get.
- CABAC is complicated in processing and requires a large circuit scale. Therefore, in the image encoding device 200, the prediction quantization parameter QPd is subjected to the same encoding (that is, CABAC) as this encoding, so that the simple code length is set for the quantization parameter QP in the vicinity thereof.
- CABAC CABAC
- the second pre-encoding unit 2 performs the calculation by actually encoding only the high-accuracy generated code amount based on the predictive quantization parameter QPd.
- the code quantity control unit 4 uses the high-precision generated code quantity Generated_bits (QP_precodel) with the predictive quantization parameter QPd (QPj) recodel) and simple processing (processing by the CAVLC calculation unit 29-1).
- Generated code amount Reduce The ratio of Generated_bits (QP_precodel) is the code amount ratio R_reduction.
- the code amount control unit 4 multiplies the code amount ratio R_reduction by the code amount generated by the simple processing (processing by the CAVLC calculation units 29-2 and 29-3) as in the case of CAVLC.
- the CABAC high-accuracy generated code amount is calculated for the quantization parameter QPd before and after the predicted quantization parameter QPd.
- the code amount control unit 4 performs the variation rate Difffiatio of the prediction quantization parameter QPd (QP_precodel) and the quantization parameter QP (QP_precodel-l and +1) before and after the prediction quantization parameter QPd (QP_precodel). From this, the high-accuracy generated code amount for the other quantization parameter QP is calculated.
- the image coding apparatus 200 calculates the generated code amount by simple CAVLC (simple processing) based on the predicted quantization parameter QPd and the quantization parameter QP in the vicinity thereof.
- the image encoding device 200 calculates a highly accurate generated code amount based on the predicted quantization parameter QP d by the same CABAC (normal processing) as the main encoding.
- the image encoding device 200 calculates the code amount ratio R_reduction between the simple process and the normal process, and multiplies the generated code quantity by the simple process based on the quantization parameter QP in the vicinity of the predicted quantization parameter QPd. .
- the image encoding device 200 can predict the highly accurate generated code amount by CABAC with high accuracy based on the generated code amount by simple CAVLC (simple processing).
- the image encoding apparatus 200 can provide a highly accurate prediction of the amount of code generated by CABAC with high accuracy by providing only one CABAC circuit with a complicated circuit configuration.
- the circuit configuration can be greatly simplified.
- step S 51 the code amount control unit 4 performs a simple process (indicated by a black square in FIG. 10) by the CAVLC calculation unit 29 _ 1 and a normal process (indicated by a black circle in FIG. 10) by the estropy code length calculation unit 42.
- step S 52 the code amount control unit 4 generates the generated code amounts of the quantization parameters QP (QP_precodel-l and +1) before and after the predicted quantization parameter QPd by simple processing (white squares in FIG. 10).
- the code amount control unit 4 uses the prediction quantization parameter QPd and the fluctuation rate Difffiatio of the generated code amount in the preceding and following quantization parameters QP to obtain a high-precision generated code for the quantization parameter QP in the vicinity of the predicted quantization parameter QPd.
- the process proceeds to the next step S53.
- step S 53 the code amount control unit 4 determines that the quantization parameter QP indicating the high-accuracy generated code amount closest to the target code amount is the basic quantization parameter QP MB. Exit.
- the image encoding apparatus and the image encoding method include a computer program installed in the apparatus or a recording medium that records the program, a computer program that executes the method, or a recording medium that records the program. Can also be implemented.
- the image encoding device 200 is used as a basic quantization factor that is predicted that the main code generation code amount when the input image 91 is encoded by the main encoding unit 3 is closest to the target code amount.
- the predicted quantization parameter QPd as the predicted quantization factor that is predicted to be in the vicinity of the basic quantization parameter QP MB of is determined (step S 6 1 in FIG. 11).
- the image encoding device 2 0 0 ′ calculates the input image 9 1 based on the predicted quantization parameter QPd and the quantization parameter QP in the vicinity of the predicted quantization parameter QPd and calculates the entropy code length. Compared with the coding by part 4 2 By performing encoding (simple processing), the amount of generated code by simple encoding is calculated (step S 62).
- the image coding apparatus 200 encodes the input image 91 based on the predictive quantization parameter QPd (normal processing), thereby calculating the generated code amount by the normal processing (step S 6 3).
- the image encoding device 2 0 0 generates the generated code quantity based on the predicted quantization parameter QPd based on the predicted quantization parameter QPd based on the predicted quantization parameter QPd based on the predicted quantization parameter QPd generated based on the predicted quantization parameter QPd based on the normal process Reduced Generated_bits (QP_precodel)
- the code amount ratio R—reduction is calculated (step S 6 4).
- the image encoder 2 0 0 generates a code quantity ratio for Reduce—Generated—bits (QP—precodel + l, ⁇ 1) based on the quantization parameter QP in the vicinity of the predicted quantization parameter QPd. By multiplying R_reduction, the amount of generated code based on the quantization parameter QP in the vicinity of the predicted quantization parameter QPd is corrected. Reduce—Generated—bits (QP_precodel + l, ⁇ 1) ( Step S 6 5). As a result, the image encoding apparatus 200 only needs to execute the same encoding as that of the encoding code only for the predicted quantization parameter QPd, while maintaining the accuracy of the highly accurate generated code amount.
- the circuit configuration of the second pre-encoding unit .2 can be simplified.
- the image coding apparatus 200 encodes the input image 9 1 easily by variable length coding (CAVLC) (simple processing), and encodes the input image 9 1 by arithmetic coding (CABAC) ( Normal processing).
- CAVLC variable length coding
- CABAC arithmetic coding
- the image encoding apparatus 200 can substitute CAVLC for CABAC having a complicated circuit configuration for the quantization parameter QP in the vicinity of the predictive quantization parameter QPd, thereby simplifying the circuit configuration.
- the image encoding device 200 encodes the input image 91 by simple CAVLC as compared with encoding (normal processing) (simple processing).
- the image encoding device 200 can simplify the configuration of the simple code length calculation unit 29.
- the image encoding device 200 is scanned for each 4 X 4 block as an encoding block made up of a plurality of pixels, and for each MB as a scanning block composed of a plurality of 4 X 4 blocks.
- the encoding target data (quantization coefficient) based on the input image 91 scanned in line is compared with the main encoding and is encoded easily.
- the image encoding device 200 has a coded value (number of non-zero coefficients nA and non-zero coefficients) that is variable-length coded in the 4 ⁇ 4 block on the upper side and on the port side of the 4 ⁇ 4 block to be coded Select the variable length (VLC) table corresponding to the average value of nB). If the 4 X 4 block to be encoded is the upper end of the MB, the number of non-zero coefficients in the upper 4 X 4 block nA is set to the left 4 X By mimicking the number of non-zero coefficients of 4 blocks nB, the input image 91 is simply encoded (simplified processing).
- the image encoding device 2 0 0 encodes the input image 9 1 (normal processing) regardless of the position of the 4 X 4 block MB.
- the image encoding device 200 can omit the line memory for storing the number nB of non-zero coefficients of the 4 ⁇ 4 block at the bottom end of MB in one portion of the simple code length calculation unit 29,
- the configuration of the simple code length calculation unit 29 can be simplified.
- the image encoding device 200 compares the input image 91 with the main encoding by simple quantization by the simple quantization unit 28 and simply encodes it. That is, the image encoding device 200 stores the first multiplication coefficient (scaling factor MF) corresponding to the combination of the position (DCT address) in the 4 ⁇ 4 block and the quantization parameter QP, and stores 4 ⁇ 4 blocks. From the position of, specify the scaling factor MF that can be taken according to all the quantization parameters QP, and output the specified scaling factor MF.
- the image encoding device 2 0 0 is provided in parallel with the same number of data to be encoded (DCT coefficients). Among the output scaling factors MF, the scaling factor according to the quantization parameter QP to be used. MF Select.
- the image encoding device 2 0 0 is the same as multiple encoding target data (DCT coefficients). Only one number is provided in parallel, and the selected scaling factor MF and 4 ⁇ 4 block values are multiplied.
- the image encoding device 2 0 0 is provided in parallel with the same number of data to be encoded (DCT coefficients), and the value of 4 44 blocks multiplied by the number of digits according to the quantization parameter QP Shift.
- the image encoding device 2 00 can share a part of the simplified quantization unit 28 (shared unit 2 8 0), so that the configuration of the simplified quantization unit 28 can be simplified. it can.
- the image encoding device 200 stores the reciprocal value of the quantization matrix Q Matrix as the second multiplication coefficient corresponding to the combination of the position of the quantization matrix Q Matrix and the 4 X 4 block, and stores 4 X 4 blocks. From the position (DCT address), the inverse value of the quantization matrix Q Matrix that can be taken according to all the quantization matrices Q Matrix is specified, and the inverse value of the specified quantization matrix Q Matrix is output. The image encoding device 200 selects an inverse value of the quantization matrix Q Matrix corresponding to the quantization matrix Q Matrix to be used from among the inverse values of the output quantization matrix Q Matrix.
- the image encoding device 200 can reduce the number of combinations as compared with the case where the multiplication coefficient (MF * 16 / QMatrix) is stored, and the scale factor RAM 1 0 2 and 1-matrix RAM 1 The storage capacity required for 0 3 can be reduced. '
- the image encoding device 2 0 0 is a high-precision generated code quantity based on the quantization parameter QP near the corrected prediction quantization parameter QPd Generated_bits (QP_precodel + l, -1) From the fluctuation rate DiffrRatio with the high-precision generated code quantity Generated—bits (QP—precodel) based on the predicted quantization parameter QPd calculated in step 2, the predicted quantization parameter QPd and the predicted quantization parameter QPd Quantization parameter other than quantization parameter QP Generated_bits (QP) is calculated based on the quantization parameter QP.
- the image encoding device 200 can perform high-precision generation codes with high accuracy even for the quantization parameter QP that is not actually encoded by the second pre-encoding unit 2.
- Amount GeneratedJ its (QP) can be calculated.
- the image encoder 2 0 0 uses a high-precision generated code quantity Generated_bits (QP_precodel) based on the predicted quantization parameter QPd and a quantized parameter QP in the vicinity of the corrected predicted quantization parameter QPd.
- Generated code based on Generated_bits (QP_precodel + l, -1), predicted quantization parameter QPd, quantization parameter in the vicinity of the predicted quantization parameter QPd, quantization parameter other than QP QP
- the quantization parameter QP corresponding to the generated code quantity closest to the target code quantity is determined as the basic quantization parameter QP MB . .
- the image encoding device 200 can determine the basic quantization parameter QP MB based on the high-accuracy generated code amount calculated with high accuracy, and therefore selects an appropriate basic quantization parameter QP MB. Can do.
- the image encoding device 2.00 performs main encoding of the input image 91 based on the determined basic quantization parameter QPMB. '
- the image encoding apparatus 200 can execute this encoding based on the basic quantization parameter QP MB , so that the encoding amount generated by the encoding can be controlled in the vicinity of the target code amount.
- the image encoding device 200 encodes the input image 91 by the same normal processing as that of this encoder based on the predicted quantization parameter QPd, while the predicted quantization parameter QPd and The input image 91 is simply encoded (simple process) based on the quantization parameter QP in the vicinity of the predicted quantization parameter QP d.
- the image encoding device 2 0 0 calculates a code amount ratio R-reduction between a highly accurate generated code amount by normal processing based on the predicted quantization parameter QPd and a generated code amount by simple processing based on the predicted quantization parameter QP d. .
- the code amount ratio between the generated code amount by the normal processing and the generated code amount by the simple processing is almost constant. Use that.
- the image encoding device 200 has a code amount ratio R-reduction and the prediction amount. Based on the quantization parameter in the vicinity of the child quantization parameter QP d and the generated code amount by simple processing based on the QP, the quantization parameter in the vicinity of the predicted quantization parameter QP d calculate.
- the image encoding device 200 only needs to execute the same encoding as this code only for the predicted quantization parameter QPd, and for the quantization parameter QP in the vicinity of the predicted quantization parameter QP d. Just do a simple encoding. Therefore, the present invention can realize an image processing apparatus and an image processing method capable of simplifying the circuit configuration.
- the quantization coefficient obtained by performing DCT transform processing as orthogonal transform on the difference image data based on intra prediction as the encoding target data and further performing quantization is described.
- the present invention is not limited to this.
- the input image 9 1 is used as the encoding target data, or the input image 91 is one or two of intra prediction, orthogonal transform, and quantization, 'and other You may make it use the data which processed.
- wavelet transform or the like can be used as an orthogonal transform.
- the 4 ⁇ 4 block is set as an encoding block to be encoded has been described.
- the present invention is not limited to this, and other units such as 8 X 8 blocks and 2 X 2 blocks may be used as codes or blocks.
- the present invention is not limited to this, and various values according to the encoding method such as the number of zero runs can be used as the encoded values.
- the present invention is suitable for simple encoding for calculating the low-precision generated code amount of the first pre-encoding unit 1.
- the case where it was made to use was described.
- the present invention is not limited to this.
- the present invention may be applied to calculate a highly accurate generated code amount of the second pre-encoding unit 2.
- it can also be used in the encoding section 3.
- the present invention provides an image encoding device having various configurations. Can be applied to any device.
- the quantization unit 14 (having the sharing unit) and the CAVLC calculation unit 15 having the configuration of FIG. 4 are described has been described.
- the present invention is not limited to this, and may include a quantization unit 14 and a CAVLC calculation unit 15 having various other configurations.
- the shared coefficient unit 1 50 stores the scaling factor MF and the inverse of the quantization matrix Q Matrix separately.
- the present invention is not limited to this, and a value obtained by multiplying the inverse of the scaling factor MF and the quantization matrix Q ′ Matrix may be stored as a multiplication coefficient.
- all the multiplication coefficients that can be taken according to the DCT address are output, and the multiplication coefficient is selected by the selection unit according to the quantization parameter QP and the quantization matrix.
- the case where subtracters 1 0 8 to 1 1 7 having a 10-stage configuration are provided instead of the dividers has been described.
- the present invention is not limited to this.
- the number of subtractors is not particularly limited, and a divider may be used.
- the case where only the half value of the DCT coefficient on the low frequency side is divided by the rescaling factor RF has been described.
- the present invention is not limited to this. For example, 1/3 or 23 of the DCT coefficient on the low frequency side (first half of the scan) may be used as the first half.
- 4 ⁇ 4 blocks are converted into quantization units. I mentioned the case where The present invention is not limited to this, and various block sizes such as 8 ⁇ 8 and 16 ⁇ 16 can be used as quantization units.
- the present invention is not limited to this, and the present invention can be applied to various encoding schemes that adaptively select a VLC table.
- a quantization scale is used as a quantization factor.
- the generated code amount for each voucher is suppressed within the target code amount.
- the present invention is not limited to this.
- the generated code amount for each slice may be suppressed within the target code amount.
- the image code as the image processing apparatus is provided by the total length of bit length ROM 2 07 as the variable length table selection unit and the variable length encoding unit.
- the present invention is not limited to this, and the image processing apparatus of the present invention may be configured by a variable length table selection unit and a variable length encoding unit having various other configurations. '
- the generated code amount based on the quantization parameter QP before and after the predicted quantization parameter QP is set as a neighborhood of the predicted quantization parameter QP by the second pre-encoding unit 2.
- the case where it was calculated was described.
- the present invention is not limited to this.
- the generated code amount based on the quantization parameter QP two before or two after may be calculated.
- the generated code amount is not calculated from the variation rate of the generated code amount based on the prediction quantization parameter and the quantization parameter QP before and after the prediction quantization parameter QP.
- the quantization unit 2 8— :! ⁇ 2 8 _ n and CAVLC calculator 2 9— :! ⁇ 2 ⁇ — n is more than 4 stages
- the configuration may be such that a high-precision generated code amount in the vicinity of the prediction quantization parameter QPd may be calculated based on the generated code amount by simple encoding and the code amount ratio R 1 reduction.
- the second pre-encoding unit 2 includes the simple quantization unit 28 and the simple code length calculation unit 29 that execute the simple process.
- the present invention is not limited to this, and it is only necessary to have at least one of them. In the present invention, either a simple process for CAVLC or a simple process for CABAC may be executed.
- the quantization parameter QP corresponding to the highly accurate generated code amount closest to the target generated code amount is determined as the basic quantization parameter QPMB.
- the present invention is not limited to this.
- the quantization parameter QP corresponding to the high-accuracy generated code amount closest to the target generated code amount among the high-accuracy generated code amounts smaller than the target generated code amount is set as the basic quantization parameter. It may be determined to be determined as QPMB.
- the first pre-encoding unit 1 and the code amount control unit 4 as the predictive quantization factor determination unit, and the simple quantization unit 28 as the simple encoding unit and The CAVLC calculation unit 29, the quantization unit 41 as the encoding unit, the entropy code length calculation unit 42, and the code amount control unit 4 as the code amount ratio calculation unit and the correction unit serve as an image processing apparatus.
- the case where the image encoding apparatus 200 of the present invention is configured has been described. The invention is not limited to this, and the image processing apparatus of the present invention is configured by a predictor quantization factor determination unit, a simple encoding unit, an encoding unit, a code amount calculation unit, and a correction unit with various other configurations. You may make it do.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200980100146.0A CN101779467B (zh) | 2008-06-27 | 2009-06-23 | 图像处理装置和图像处理方法 |
US12/673,237 US8270745B2 (en) | 2008-06-27 | 2009-06-23 | Image processing device and image processing method |
BRPI0904324-1A BRPI0904324A2 (pt) | 2008-06-27 | 2009-06-23 | Dispositivo de processamento de imagem, e, método de processamento de imagem |
JP2010518090A JPWO2009157580A1 (ja) | 2008-06-27 | 2009-06-23 | 画像処理装置及び画像処理方法 |
RU2010105041/07A RU2479942C2 (ru) | 2008-06-27 | 2009-06-23 | Устройство обработки изображения и способ обработки изображения |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-169394 | 2008-06-27 | ||
JP2008169394 | 2008-06-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009157580A1 true WO2009157580A1 (ja) | 2009-12-30 |
Family
ID=41444639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/061806 WO2009157580A1 (ja) | 2008-06-27 | 2009-06-23 | 画像処理装置及び画像処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8270745B2 (ja) |
JP (1) | JPWO2009157580A1 (ja) |
CN (1) | CN101779467B (ja) |
BR (1) | BRPI0904324A2 (ja) |
RU (1) | RU2479942C2 (ja) |
WO (1) | WO2009157580A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017127034A (ja) * | 2017-04-18 | 2017-07-20 | 富士通株式会社 | 動画像処理装置及び動画像処理方法 |
US11415366B2 (en) * | 2019-12-23 | 2022-08-16 | Whirlpool Corporation | Side wall attachment system for extractable wine shelves |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4569840B2 (ja) * | 2007-09-12 | 2010-10-27 | ソニー株式会社 | 画像符号化装置、画像符号化方法 |
WO2009157579A1 (ja) * | 2008-06-27 | 2009-12-30 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
RU2479942C2 (ru) | 2008-06-27 | 2013-04-20 | Сони Корпорейшн | Устройство обработки изображения и способ обработки изображения |
WO2009157581A1 (ja) * | 2008-06-27 | 2009-12-30 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
EP2192785B1 (en) * | 2008-06-27 | 2014-12-31 | Sony Corporation | Image processing device and method for computing a quantization factor |
JP5257215B2 (ja) * | 2009-04-16 | 2013-08-07 | ソニー株式会社 | 画像符号化装置と画像符号化方法 |
US8917774B2 (en) * | 2010-06-30 | 2014-12-23 | Warner Bros. Entertainment Inc. | Method and apparatus for generating encoded content using dynamically optimized conversion |
US10326978B2 (en) | 2010-06-30 | 2019-06-18 | Warner Bros. Entertainment Inc. | Method and apparatus for generating virtual or augmented reality presentations with 3D audio positioning |
US9591374B2 (en) | 2010-06-30 | 2017-03-07 | Warner Bros. Entertainment Inc. | Method and apparatus for generating encoded content using dynamically optimized conversion for 3D movies |
US8755432B2 (en) | 2010-06-30 | 2014-06-17 | Warner Bros. Entertainment Inc. | Method and apparatus for generating 3D audio positioning using dynamically optimized audio 3D space perception cues |
CN102186083A (zh) * | 2011-05-12 | 2011-09-14 | 北京数码视讯科技股份有限公司 | 量化处理方法及装置 |
CN103548350B (zh) * | 2011-06-28 | 2017-03-01 | 日本电气株式会社 | 图像编码设备和图像解码设备 |
TWI653880B (zh) * | 2011-10-31 | 2019-03-11 | 日商Jvc建伍股份有限公司 | 動態影像編碼裝置及動態影像編碼方法 |
US9143802B2 (en) | 2011-10-31 | 2015-09-22 | Qualcomm Incorporated | Fragmented parameter set for video coding |
KR20130049523A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 인트라 예측 블록 생성 장치 |
KR20130050404A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 복원 블록 생성 방법 |
JP5485969B2 (ja) * | 2011-11-07 | 2014-05-07 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
KR20130050407A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 움직임 정보 생성 방법 |
EP4221209A1 (en) * | 2011-12-13 | 2023-08-02 | JVCKENWOOD Corporation | Video coding device, video coding method, video coding program, video decoding device, video decoding method, and video decoding program |
TWI638564B (zh) * | 2011-12-21 | 2018-10-11 | Jvc建伍股份有限公司 | Dynamic image decoding device, dynamic image decoding method, and recording medium recorded with dynamic image decoding program |
US9756327B2 (en) * | 2012-04-03 | 2017-09-05 | Qualcomm Incorporated | Quantization matrix and deblocking filter adjustments for video coding |
TWI643490B (zh) * | 2012-04-06 | 2018-12-01 | 日商Jvc建伍股份有限公司 | Video decoding device, image decoding method, and recording medium storing image decoding program |
ES2967625T3 (es) | 2012-04-15 | 2024-05-03 | Samsung Electronics Co Ltd | Aparato de decodificación de video que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y el método de codificación que utiliza el mismo para la binarización |
TWI597976B (zh) * | 2012-04-16 | 2017-09-01 | Jvc Kenwood Corp | Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program |
WO2016194380A1 (ja) * | 2015-06-03 | 2016-12-08 | 日本電気株式会社 | 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 |
CN109660825B (zh) * | 2017-10-10 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 视频转码方法、装置、计算机设备及存储介质 |
US10778938B2 (en) * | 2018-12-20 | 2020-09-15 | Hulu, LLC | Video chunk combination optimization |
CA3128973A1 (en) | 2019-03-04 | 2020-09-10 | Bhaskar Bhattacharyya | Data compression and communication using machine learning |
IL313252A (en) * | 2019-07-10 | 2024-08-01 | Guangdong Oppo Mobile Telecommunications Corp Ltd | Image component prediction method, encoder, decoder and storage medium |
CN117131104B (zh) * | 2023-08-28 | 2024-02-27 | 河北望岳信息科技有限公司 | 智能抽题组卷方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1023413A (ja) * | 1996-07-03 | 1998-01-23 | Fuji Xerox Co Ltd | 符号化装置 |
JPH10341435A (ja) * | 1997-04-07 | 1998-12-22 | Mitsubishi Electric Corp | 画像符号化装置、画像符号化方法および画像蓄積/伝送装置 |
JP2004056680A (ja) * | 2002-07-23 | 2004-02-19 | Ricoh Co Ltd | 画像処理装置および画像処理方法 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3085465B2 (ja) * | 1989-10-31 | 2000-09-11 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
JPH04114585A (ja) | 1990-09-04 | 1992-04-15 | Matsushita Electric Ind Co Ltd | 動き補償フレーム間符号化装置 |
JP2908550B2 (ja) | 1990-09-28 | 1999-06-21 | 株式会社東芝 | 養液栽培装置 |
EP0493130B1 (en) * | 1990-12-28 | 1997-06-11 | Canon Kabushiki Kaisha | Image encoding apparatus optimizing the amount of generated code |
DE69222332T2 (de) * | 1991-02-21 | 1998-01-29 | Nippon Electric Co | Kodierungsgerät zur Kompression von bewegten Bilddaten |
TW224553B (en) * | 1993-03-01 | 1994-06-01 | Sony Co Ltd | Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture |
DE69434989T2 (de) * | 1993-03-29 | 2008-02-14 | Canon K.K. | Verfahren zur Kontrolle der Datenmenge und Kodierer zur Durchführung derselben |
JP3358620B2 (ja) | 1993-04-09 | 2002-12-24 | ソニー株式会社 | 画像符号化方法及び画像符号化装置 |
US5703646A (en) * | 1993-04-09 | 1997-12-30 | Sony Corporation | Picture encoding method, picture encoding apparatus and picture recording medium |
AU676581B2 (en) | 1993-04-09 | 1997-03-13 | Sony Corporation | Method and apparatus for coding image, and image recording medium |
JP3264043B2 (ja) | 1993-04-30 | 2002-03-11 | ソニー株式会社 | 量子化コントロール装置および方法 |
JP2968666B2 (ja) | 1993-06-10 | 1999-10-25 | 日本電気株式会社 | 画像符号化方法および装置 |
US5604494A (en) * | 1993-09-28 | 1997-02-18 | Sony Corporation | Efficient encoding/decoding apparatus |
JP2720926B2 (ja) | 1993-10-26 | 1998-03-04 | 富士ゼロックス株式会社 | 画像符号化装置 |
JPH07322252A (ja) | 1994-05-23 | 1995-12-08 | Canon Inc | 画像符号化装置 |
JP3561962B2 (ja) | 1994-07-25 | 2004-09-08 | ソニー株式会社 | 量子化コントロール装置および方法 |
JP2882287B2 (ja) * | 1994-08-22 | 1999-04-12 | 日本電気株式会社 | 動画像符号化装置 |
JPH08115205A (ja) | 1994-10-14 | 1996-05-07 | Matsushita Electric Ind Co Ltd | 高速剰余演算装置 |
DE69637335T2 (de) * | 1995-03-09 | 2008-10-09 | Sony Corp. | Bildsignalkodierungsmethode und -vorrichtung |
US5612900A (en) * | 1995-05-08 | 1997-03-18 | Kabushiki Kaisha Toshiba | Video encoding method and system which encodes using a rate-quantizer model |
JPH09247675A (ja) | 1996-03-13 | 1997-09-19 | Fuji Film Micro Device Kk | 画像圧縮方法および画像圧縮システム |
US6100931A (en) * | 1996-03-19 | 2000-08-08 | Sony Corporation | Method and apparatus for controlling a target amount of code and for compressing video data |
US6337879B1 (en) * | 1996-08-14 | 2002-01-08 | Sony Corporation | Video data compression apparatus and method of same |
JP3864461B2 (ja) * | 1996-08-30 | 2006-12-27 | ソニー株式会社 | 映像データ圧縮装置およびその方法 |
KR100599017B1 (ko) * | 1996-12-12 | 2006-12-13 | 소니 가부시끼 가이샤 | 영상 데이터 압축 장치 및 그 방법 |
JP4114210B2 (ja) | 1996-12-12 | 2008-07-09 | ソニー株式会社 | 映像データ圧縮装置およびその方法 |
JP3189876B2 (ja) * | 1997-06-09 | 2001-07-16 | 日本電気株式会社 | 可変長符号復号化回路 |
CA2264834C (en) * | 1997-07-08 | 2006-11-07 | Sony Corporation | Video data encoder, video data encoding method, video data transmitter, and video data recording medium |
KR100667607B1 (ko) | 1997-07-29 | 2007-01-15 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 가변 비트레이트 비디오 코딩 방법 및 대응하는 비디오 코더 |
JPH1198502A (ja) | 1997-09-25 | 1999-04-09 | Toshiba Corp | 動画像符号化装置 |
JP2000059234A (ja) * | 1998-08-10 | 2000-02-25 | Mitsubishi Electric Corp | 可変長符号処理装置 |
CN1288641A (zh) * | 1998-09-22 | 2001-03-21 | 松下电器产业株式会社 | 视频信号编码方法、视频信号编码装置及程序记录媒体 |
JP2000261805A (ja) | 1999-03-10 | 2000-09-22 | Fuji Film Microdevices Co Ltd | 画像圧縮システム |
JP3324551B2 (ja) | 1999-03-18 | 2002-09-17 | 日本電気株式会社 | 画像信号の符号化制御装置 |
US7082163B2 (en) * | 2000-11-20 | 2006-07-25 | Matsushita Electric Industrial Co., Ltd. | Picture coding method, picture coding apparatus and image relaying apparatus |
JP2002359853A (ja) | 2001-03-26 | 2002-12-13 | Sony Corp | 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体 |
JP2002290243A (ja) * | 2001-03-28 | 2002-10-04 | Mitsubishi Electric Corp | 符号化方法、符号化装置、復号方法、及び復号装置 |
US7286715B2 (en) * | 2001-03-28 | 2007-10-23 | Sony Corporation | Quantization apparatus, quantization method, quantization program, and recording medium |
JP2003032677A (ja) * | 2001-07-18 | 2003-01-31 | Hitachi Ltd | 動画像圧縮符号化装置 |
JP4135427B2 (ja) | 2001-08-01 | 2008-08-20 | ソニー株式会社 | 画像処理装置および方法、ならびに、画像処理プログラム |
US6934330B2 (en) * | 2001-08-01 | 2005-08-23 | Sony Corporation | Image processing apparatus |
JP4510465B2 (ja) * | 2002-01-22 | 2010-07-21 | ノキア コーポレイション | イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化 |
JP4042597B2 (ja) | 2002-03-28 | 2008-02-06 | ソニー株式会社 | 画像符号化装置及び方法、プログラム、記録媒体 |
JP4114585B2 (ja) | 2002-09-27 | 2008-07-09 | 東洋インキ製造株式会社 | ガスバリア性積層体の製造方法 |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
CN1898965B (zh) * | 2003-12-25 | 2012-04-18 | 日本电气株式会社 | 运动图象编码方法和装置 |
JP2005203905A (ja) | 2004-01-13 | 2005-07-28 | Sony Corp | 画像符号化装置、画像符号化方法並びに画像符号化プログラム |
US20050259730A1 (en) * | 2004-05-18 | 2005-11-24 | Sharp Laboratories Of America, Inc. | Video coding with residual color conversion using reversible YCoCg |
JP2006067302A (ja) | 2004-08-27 | 2006-03-09 | Toshiba Corp | 画像符号化装置、画像符号化方法および画像符号化プログラム |
US20060062481A1 (en) * | 2004-09-21 | 2006-03-23 | Markus Suvanto | Apparatuses, computer program product and method for bit rate control of digital image encoder |
JP2006191253A (ja) * | 2005-01-05 | 2006-07-20 | Matsushita Electric Ind Co Ltd | レート変換方法及びレート変換装置 |
JP2006222555A (ja) | 2005-02-08 | 2006-08-24 | Matsushita Electric Ind Co Ltd | 符号化装置及び符号化方法 |
JP4828925B2 (ja) | 2005-11-30 | 2011-11-30 | パナソニック株式会社 | 符号化装置 |
JP4529919B2 (ja) * | 2006-02-28 | 2010-08-25 | 日本ビクター株式会社 | 適応量子化装置及び適応量子化プログラム |
US7885471B2 (en) * | 2006-07-10 | 2011-02-08 | Sharp Laboratories Of America, Inc. | Methods and systems for maintenance and use of coded block pattern information |
CN101502123B (zh) | 2006-11-30 | 2011-08-17 | 松下电器产业株式会社 | 编码装置 |
WO2008111511A1 (ja) * | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | 符号量推定方法、装置、そのプログラムおよび記録媒体 |
JP2008283560A (ja) * | 2007-05-11 | 2008-11-20 | Canon Inc | 画像処理装置およびその方法 |
US8238423B2 (en) * | 2007-09-12 | 2012-08-07 | Sony Corporation | Image processing apparatus and method |
TWI410139B (zh) * | 2007-09-12 | 2013-09-21 | Sony Corp | Image processing apparatus and image processing method |
JP4569840B2 (ja) * | 2007-09-12 | 2010-10-27 | ソニー株式会社 | 画像符号化装置、画像符号化方法 |
JP5400876B2 (ja) * | 2008-06-16 | 2014-01-29 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化 |
EP2192785B1 (en) * | 2008-06-27 | 2014-12-31 | Sony Corporation | Image processing device and method for computing a quantization factor |
RU2479942C2 (ru) | 2008-06-27 | 2013-04-20 | Сони Корпорейшн | Устройство обработки изображения и способ обработки изображения |
JP5257215B2 (ja) * | 2009-04-16 | 2013-08-07 | ソニー株式会社 | 画像符号化装置と画像符号化方法 |
US8411750B2 (en) * | 2009-10-30 | 2013-04-02 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
-
2009
- 2009-06-23 RU RU2010105041/07A patent/RU2479942C2/ru not_active IP Right Cessation
- 2009-06-23 WO PCT/JP2009/061806 patent/WO2009157580A1/ja active Application Filing
- 2009-06-23 CN CN200980100146.0A patent/CN101779467B/zh not_active Expired - Fee Related
- 2009-06-23 US US12/673,237 patent/US8270745B2/en not_active Expired - Fee Related
- 2009-06-23 JP JP2010518090A patent/JPWO2009157580A1/ja not_active Abandoned
- 2009-06-23 BR BRPI0904324-1A patent/BRPI0904324A2/pt not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1023413A (ja) * | 1996-07-03 | 1998-01-23 | Fuji Xerox Co Ltd | 符号化装置 |
JPH10341435A (ja) * | 1997-04-07 | 1998-12-22 | Mitsubishi Electric Corp | 画像符号化装置、画像符号化方法および画像蓄積/伝送装置 |
JP2004056680A (ja) * | 2002-07-23 | 2004-02-19 | Ricoh Co Ltd | 画像処理装置および画像処理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017127034A (ja) * | 2017-04-18 | 2017-07-20 | 富士通株式会社 | 動画像処理装置及び動画像処理方法 |
US11415366B2 (en) * | 2019-12-23 | 2022-08-16 | Whirlpool Corporation | Side wall attachment system for extractable wine shelves |
US11774171B2 (en) | 2019-12-23 | 2023-10-03 | Whirlpool Corporation | Side wall attachment system for extractable wine shelves |
Also Published As
Publication number | Publication date |
---|---|
US8270745B2 (en) | 2012-09-18 |
BRPI0904324A2 (pt) | 2015-06-30 |
CN101779467A (zh) | 2010-07-14 |
RU2479942C2 (ru) | 2013-04-20 |
JPWO2009157580A1 (ja) | 2011-12-15 |
US20110200266A1 (en) | 2011-08-18 |
RU2010105041A (ru) | 2011-08-20 |
CN101779467B (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009157580A1 (ja) | 画像処理装置及び画像処理方法 | |
RU2471306C2 (ru) | Устройство обработки изображений и способ обработки изображений | |
US8374451B2 (en) | Image processing device and image processing method for reducing the circuit scale | |
EP2192785B1 (en) | Image processing device and method for computing a quantization factor | |
JP4949462B2 (ja) | 符号量推定方法、装置、そのプログラムおよび記録媒体 | |
KR100238066B1 (ko) | 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치 | |
JP2797159B2 (ja) | 画像データ圧縮装置及び画像データ圧縮方法 | |
US9906792B2 (en) | Rate control in video encoding | |
CN101325714B (zh) | 变换数据处理方法和装置以及编码、解码方法和装置 | |
US20060098733A1 (en) | Variable-length coding device and method of the same | |
US20140064368A1 (en) | Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device | |
CN103650496A (zh) | 用于在hevc中编码的基于像素的帧内预测 | |
JPWO2009035143A1 (ja) | 画像処理装置及び方法 | |
EP3292687A1 (en) | Intra prediction processor with reduced cost block partitioning and refined intra mode selection | |
JP2004007555A (ja) | エントロピー符号化装置 | |
JPH08181987A (ja) | 符号化装置 | |
JP7121584B2 (ja) | 画像符号化装置及びその制御方法及びプログラム | |
JPH05227520A (ja) | 画像圧縮符号化装置 | |
KR20100013142A (ko) | 프레임 메모리 압축방법 | |
CN116847082A (zh) | 视频编码方法和装置 | |
KR100569388B1 (ko) | 동영상 양자화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980100146.0 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 815/CHENP/2010 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010518090 Country of ref document: JP Ref document number: 2010105041 Country of ref document: RU Ref document number: 12673237 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09770290 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09770290 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: PI0904324 Country of ref document: BR Kind code of ref document: A2 Effective date: 20100212 |