[go: up one dir, main page]

WO2010035529A1 - エンコーダ - Google Patents

エンコーダ Download PDF

Info

Publication number
WO2010035529A1
WO2010035529A1 PCT/JP2009/055294 JP2009055294W WO2010035529A1 WO 2010035529 A1 WO2010035529 A1 WO 2010035529A1 JP 2009055294 W JP2009055294 W JP 2009055294W WO 2010035529 A1 WO2010035529 A1 WO 2010035529A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization error
image
processing unit
target
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2009/055294
Other languages
English (en)
French (fr)
Inventor
斉藤 誠
齋藤 和宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to US13/121,248 priority Critical patent/US8971393B2/en
Publication of WO2010035529A1 publication Critical patent/WO2010035529A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to a technique for subjectively improving the image quality of an entire stream by setting the image quality of each image equally in an encoder that encodes an input image into an output image.
  • Encoder compresses an input image with a large data capacity into an output image with a small data capacity by encoding the input image into an output image.
  • the encoder generates a predicted image based on the input image and the reference image, and generates a difference image based on the input image and the predicted image.
  • the encoder can improve the compression encoding efficiency by encoding the difference image without encoding the input image.
  • the encoder of Patent Document 1 calculates a prediction error for each image based on the input image and the predicted image in order to evaluate the image quality for each image.
  • the prediction error is a sum of absolute differences obtained by adding the absolute differences for the corresponding pixel values of the input image and the predicted image for the corresponding pixels.
  • the prediction error is a sum of squared differences obtained by adding a square difference value for each corresponding pixel value of the input image and the prediction image for each corresponding pixel.
  • the encoder determines that the prediction error for the image to be encoded at this stage has rapidly increased, the encoder determines that the image quality for the image to be encoded at this stage has deteriorated rapidly.
  • the encoder allocates a target code amount for an image to be encoded next more than a target code amount for an image to be encoded at the current stage. Therefore, the encoder can improve the image quality of the next image to be encoded over the image quality of the image to be encoded at the current stage. Furthermore, the encoder can prevent the output image buffer from overflowing.
  • Patent Document 1 improves the image quality of an image to be encoded next, even if the image quality of the image to be encoded is deteriorated at the current stage.
  • image quality of each image is not uniform in the entire stream, an image with a high image quality and an image with a low image quality appear alternately, so that flickering occurs and the image quality deteriorates subjectively.
  • the problem that the image quality deteriorates subjectively in the entire stream with little motion becomes significant.
  • the encoder of the present invention is an encoder that encodes an input image into an output image, and compares the input image with a decoded image obtained by encoding and decoding the input image, thereby reducing a quantization error.
  • Target quantization that sets the target quantization error, which is the target value of the quantization error, while reducing the variation of each image by referring to the variation of each of the measured quantization errors for each unencoded processing unit.
  • An error setting unit An error setting unit.
  • the image quality for each image is set evenly, the image quality of the entire stream can be subjectively improved.
  • pre-reading processing for each unencoded processing unit is not required, real-time processing can be executed without increasing the encoder circuit scale.
  • the encoder of the present invention further includes a target for setting a target code amount so that the target quantization error is achieved for each image of the uncoded processing unit.
  • an object of the present invention is to provide a technique for subjectively improving the image quality of the entire stream in an encoder that encodes an input image into an output image.
  • FIG. 1 is a block diagram showing components of the encoder E.
  • the encoder E may function alone.
  • the encoder E may function with the decoder by being a component of the transcoder or translator.
  • the components of the encoder E are classified into three types.
  • the first type of component is a component for executing prediction on the input image.
  • the first type of components are an input image buffer 11, a reference image buffer 12, a predicted image generation unit 13, a subtractor 14, an adder 15, and the like.
  • the input image buffer 11 inputs an input image from the outside of the encoder E.
  • the reference image buffer 12 receives the reference image from the adder 15.
  • the predicted image generation unit 13 inputs an input image from the input image buffer 11 and inputs a reference image from the reference image buffer 12.
  • the predicted image generation unit 13 generates a predicted image based on the input image and the reference image.
  • the predicted image generation unit 13 determines a prediction mode when generating a predicted image of an I picture that is an intra-frame predicted image.
  • the predicted image generation unit 13 determines a motion vector when generating a predicted image of a P picture that is an inter-frame forward predicted image or when generating a predicted picture of a B picture that is an inter-frame bidirectional predicted image. .
  • the subtractor 14 inputs an input image from the input image buffer 11 and inputs a predicted image from the predicted image generation unit 13.
  • the subtracter 14 generates a difference image by subtracting the predicted image from the input image.
  • the adder 15 receives the difference image from the inverse frequency conversion unit 26 and receives the prediction image from the prediction image generation unit 13.
  • the adder 15 generates a reference image by adding the difference image and the predicted image. The processing by the first type of component is completed as described above.
  • the second type of component is a component for executing encoding on the difference image.
  • the second type of components are a frequency conversion unit 21, a quantization unit 22, an encoding unit 23, an output image buffer 24, an inverse quantization unit 25, an inverse frequency conversion unit 26, and the like.
  • the frequency conversion unit 21 receives the difference image from the subtractor 14 and executes frequency conversion.
  • the quantization unit 22 receives the difference image that has been subjected to frequency conversion from the frequency conversion unit 21 and performs quantization.
  • the encoding unit 23 receives the difference image that has been quantized from the quantization unit 22 and inputs the prediction mode or motion vector from the predicted image generation unit 13 to execute encoding.
  • the output image buffer 24 outputs an output image outside the encoder E.
  • the inverse quantization unit 25 receives the difference image that has been quantized from the quantization unit 22 and performs inverse quantization.
  • the inverse frequency transform unit 26 receives the difference image that has been subjected to inverse quantization from the inverse quantization unit 25 and performs inverse frequency transform. The processing by the second type of component is completed as described above.
  • the difference image output by the inverse frequency transform unit 26 includes quantization errors caused by the quantization unit 22 and the inverse quantization unit 25 with respect to the difference image input by the frequency transform unit 21.
  • the third type of component is a component for setting the image quality for each image equally.
  • the third type of components are a quantization error calculation unit 31, an actually measured quantization error storage unit 32, a target quantization error setting unit 33, a target code amount setting unit 34, a quantization step value setting unit 35, and the like. Each component will be described with reference to FIGS.
  • the quantization error calculation unit 31 receives an input image from the input image buffer 11 and a reference image from the adder 15 to calculate a quantization error.
  • the measured quantization error storage unit 32 stores a quantization error for an already encoded processing unit that has already been encoded. The already encoded processing unit will be described with reference to FIG.
  • FIG. 2 is a diagram showing the definition of the quantization error.
  • FIG. 2A shows an input image A that is assumed to have an image size of 4 ⁇ 4. Symbols A1,..., A16 indicate each pixel of the input image A and each pixel value of the input image A.
  • FIG. 2B shows a decoded image B that is assumed to have an image size of 4 ⁇ 4. Reference numerals B1,..., B16 indicate each pixel of the decoded image B and each pixel value of the decoded image B.
  • FIG. 2C shows the definition of two types of quantization errors.
  • the quantization error is defined by the sum of absolute differences obtained by adding the absolute differences for the corresponding pixel values of the input image and the decoded image for the corresponding pixels. That is, as shown in the upper side of FIG. 2C, the quantization error Diff is defined by ⁇
  • the quantization error is defined by a difference square value sum obtained by adding the difference square value for each corresponding pixel value of the input image and the decoded image for each corresponding pixel. That is, as shown in the lower side of FIG. 2C, the quantization error Diff is defined by ⁇ (AN ⁇ BN) 2 . Here, the sum is calculated for 16 pixels.
  • both the luminance signal and the color difference signal of each pixel may be used for the calculation.
  • the quantization error for the luminance signal and the quantization error for the color difference signal are calculated, and an average of them may be taken or a weighted average may be taken.
  • the quantization error may be calculated using only a luminance signal or a color difference signal.
  • FIG. 3 is a diagram showing a time change of the quantization error Diff.
  • the vertical axis represents the quantization error Diff.
  • the horizontal axis shows the change with time. “I, P, B” on the lower side of the horizontal axis indicates which of the I, P, and B pictures the image input with time changes.
  • the left side of FIG. 3 shows the temporal change of the quantization error Diff for the already-encoded processing unit.
  • the encoding unit 23 has already performed the encoding
  • the actually measured quantization error storage unit 32 has already stored the quantization error Diff. That is, the quantization error Diff for the already-encoded processing unit is the measured quantization error Diff, and is indicated by a solid bar graph.
  • the right side of FIG. 3 shows the temporal change of the quantization error Diff for an unencoded processing unit that has not yet been encoded.
  • the encoding unit 23 has not yet performed the encoding
  • the measured quantization error storage unit 32 has not yet stored the quantization error Diff. That is, the quantization error Diff for an uncoded processing unit is a quantization error Diff that has not been actually measured, and is indicated by a broken line bar graph.
  • the variation of the quantization error Diff for each image is large, that is, the variation of the image quality for each image is large.
  • the target quantization error setting unit 33 and the target code amount setting unit are set so that the variation of the quantization error Diff for each image is reduced, that is, the variation of the image quality for each image is reduced.
  • the quantization step value setting unit 35 executes processing.
  • the processing result of the encoding process in the already encoded process unit is fed back to the encoding process in the uncoded process unit.
  • the target quantization error setting unit 33, the target code amount setting unit 34, and the quantization step so that the image quality variation for each image in the uncoded processing unit becomes smaller than the image quality variation for each image in the already coded processing unit.
  • the value setting unit 35 executes processing.
  • the target quantization error setting unit 33 and the target code amount setting unit 34 are set so that the image quality variation for each image in the next unencoded processing unit is smaller than the image quality variation for each image in the previous unencoded processing unit.
  • the quantization step value setting unit 35 executes processing.
  • the encoded processing unit and the uncoded processing unit are arbitrary processing units.
  • each of the already-encoded processing unit and the uncoded processing unit may be one GOP (Group of Pictures) unit or an arbitrary number of GOP units.
  • the already encoded processing unit and the uncoded processing unit may be included in one GOP unit.
  • specific examples are not limited to the above specific examples.
  • the variation in image quality for each image increases.
  • the variation in image quality for each image is small. The process of setting the image quality for each image equally can be executed more easily than in the second specific example.
  • the variation in image quality for each image becomes large.
  • the variation in image quality for each image is small. The process of setting the image quality for each image uniformly can be executed in real time from the first specific example.
  • the target quantization error setting unit 33 inputs the quantization error for the already-encoded processing unit from the actually measured quantization error storage unit 32 and inputs the output rate for the already-encoded processing unit from the output image buffer 24.
  • the target quantization error setting unit 33 sets the quantization error for the uncoded processing unit based on the quantization error and the output rate for the already coded processing unit.
  • the target code amount setting unit 34 inputs the quantization error for the uncoded processing unit from the target quantization error setting unit 33.
  • the target code amount setting unit 34 sets the target code amount for the uncoded processing unit based on the quantization error for the uncoded processing unit.
  • the quantization step value setting unit 35 inputs a target code amount for an uncoded processing unit from the target code amount setting unit 34.
  • the quantization step value setting unit 35 sets the quantization step value for the uncoded processing unit based on the target code amount for the uncoded processing unit.
  • the quantization unit 22 and the inverse quantization unit 25 respectively perform quantization and inverse quantization for the uncoded processing unit based on the quantization step value for the uncoded processing unit.
  • FIG. 4 is a diagram showing an outline of a method for setting the image quality for each image equally.
  • the quantization error average value Diff_Ave is obtained by averaging the actual measurement values of the quantization error Diff for each of the I, P, and B pictures in the encoded processing unit.
  • the quantization error average value Diff_Ave is obtained by averaging the target value of the quantization error Diff for each of the I, P, and B pictures in the uncoded processing unit. As shown in FIG. 3, the actual measurement value and the target value are different.
  • the actual measurement value and the target value are indicated by a solid line and a broken line bar graph, respectively.
  • the target quantization error setting unit 33 calculates the average quantization error values 321, 322, and 323 for each of the I, P, and B pictures in the already encoded processing unit.
  • the target quantization error setting unit 33 equally sets the quantization error average value Diff_Ave for each of the I, P, and B pictures in the uncoded processing unit, as indicated by the arrow 331.
  • the target code amount setting unit 34 sets the target for each of the I, P, and B pictures in the uncoded processing unit so that the quantization error average value Diff_Ave for each of the I, P, and B pictures in the uncoded processing unit is achieved.
  • Code amounts 341, 342, and 343 are set.
  • the quantization step value setting unit 35 sets the I, P, and B pictures in the uncoded processing unit so that the target code amounts 341, 342, and 343 of the I, P, and B pictures in the uncoded processing unit are achieved. Respective quantization step values 351, 352, and 353 are set.
  • the target quantization error setting unit 33 compares the output rate for the already-encoded processing unit and the target rate set by the user of the encoder E.
  • the target quantization error setting unit 33 uniformly sets the quantization error average value Diff_Ave for the uncoded processing units so that the output rate for the uncoded processing units approaches the target rate set by the user of the encoder E. To do.
  • FIG. 5 is a diagram illustrating a method of setting the quantization error for each image evenly when the output rate for the already-encoded processing unit is lower than the target rate. That is, the output rate for the uncoded processing unit may be higher than the output rate for the already coded processing unit.
  • the target quantization error setting unit 33 calculates the average quantization error values 321, 322, and 323 for each of the I, P, and B pictures in the already encoded processing unit. As indicated by the arrow 332, the target quantization error setting unit 33 sets the average quantization error values 321 and 322 as the uniform quantization error average value Diff_Ave for each of the I, P, and B pictures in the uncoded processing unit. 323 is set to the minimum value.
  • the output rate for the uncoded processing unit is preferably equal to the target rate, and is preferably not extremely higher than the target rate.
  • the target quantization error setting unit 33 sets the equal quantization error average value Diff_Ave of the uncoded processing unit to be smaller than the quantization error average value 321 of the I picture of the already coded processing unit, and performs the already coded processing. It is set to be equivalent to the quantization error average values 322 and 323 of the unit P and B pictures.
  • the target code amount setting unit 34 increases the target code amount 341 of an I picture in an uncoded processing unit from the previously set target code amount of an I picture in an already encoded processing unit.
  • the target code amount setting unit 34 maintains the target code amounts 342 and 343 of the P and B pictures in the unencoded processing unit, respectively, to be equal to the target code amounts of the P and B pictures in the previously encoded processing unit. To do.
  • the target code amount setting unit 34 increases the target code amount per picture in the uncoded processing unit from the previously set target code amount per picture in the already coded processing unit.
  • the quantization step value setting unit 35 decreases the quantization step value 351 of the I picture of the uncoded processing unit from the quantization step value of the I picture of the already coded processing unit set previously.
  • the quantization step value setting unit 35 sets the quantization step values 352 and 353 for the P and B pictures in the uncoded processing unit, and the quantization step values for the P and B pictures in the previously coded processing unit, respectively. Keep the same. The above feedback process is repeated.
  • the image quality of the I picture in the uncoded processing unit is higher than the image quality of the I picture in the already coded processing unit.
  • the image quality of the P and B pictures in the uncoded processing unit is equal to the image quality of the P and B pictures in the already coded processing unit, respectively.
  • the overall image quality in the uncoded processing unit is higher than the overall image quality in the already coded processing unit. Since the image quality of each image in the unencoded processing unit is set equally, the unencoded processing unit can improve the overall image quality subjectively without causing flicker.
  • FIG. 6 is a diagram illustrating a method of setting the quantization error for each image evenly when the output rate for the already-encoded processing unit is higher than the target rate. That is, the output rate for the uncoded processing unit only needs to be lower than the output rate for the already coded processing unit.
  • the target quantization error setting unit 33 calculates the average quantization error values 321, 322, and 323 for each of the I, P, and B pictures in the already encoded processing unit. As indicated by an arrow 333, the target quantization error setting unit 33 sets the average quantization error values 321 and 322 as the uniform quantization error average value Diff_Ave for each of the I, P, and B pictures in the uncoded processing unit. 323 is set as the maximum value.
  • the output rate for the uncoded processing unit is preferably equal to the target rate, and is preferably not extremely lower than the target rate.
  • the target quantization error setting unit 33 sets the equal quantization error average value Diff_Ave of the uncoded processing unit to be equal to the quantization error average value 321 of the I picture of the already coded processing unit, and the already coded The quantization unit is set to be larger than the quantization error average values 322 and 323 of the P and B pictures of the processing unit.
  • the target code amount setting unit 34 maintains the target code amount 341 of the I picture in the uncoded processing unit equal to the previously set target code amount of the I picture in the already coded processing unit.
  • the target code amount setting unit 34 reduces the target code amounts 342 and 343 of the P and B pictures in the uncoded processing unit from the previously set target code amounts of the P and B pictures in the already encoded processing unit, respectively.
  • the target code amount setting unit 34 reduces the target code amount per picture in the uncoded processing unit from the target code amount per picture in the previously set encoded processing unit.
  • the quantization step value setting unit 35 maintains the quantization step value 351 of the I picture of the uncoded processing unit equal to the previously set quantization step value of the I picture of the already coded processing unit.
  • the quantization step value setting unit 35 sets the quantization step values 352 and 353 of the P and B pictures in the uncoded processing unit respectively from the quantization step values of the P and B pictures in the previously coded processing unit. increase. The above feedback process is repeated.
  • the image quality of an I picture in an uncoded processing unit is equivalent to the image quality of an I picture in an already coded processing unit.
  • the image quality of the P and B pictures in the uncoded processing unit is lower than the image quality of the P and B pictures in the already coded processing unit, respectively.
  • the individual image quality in the uncoded processing unit is lower than the individual image quality in the already coded processing unit.
  • the unencoded processing unit subjectively improves the overall image quality without causing flicker.
  • FIG. 7 is a diagram illustrating a method of setting the quantization error for each image equally when the output rate for the already-encoded processing unit is equal to the target rate. That is, the output rate for the uncoded processing unit may be equal to the output rate for the already coded processing unit.
  • the target quantization error setting unit 33 calculates the average quantization error values 321, 322, and 323 for each of the I, P, and B pictures in the already encoded processing unit. As indicated by an arrow 334, the target quantization error setting unit 33 sets the quantization error average values 321 and 322 as the uniform quantization error average value Diff_Ave for each of the I, P, and B pictures in the uncoded processing unit. 323 is set as the average value.
  • the output rate for an uncoded processing unit is preferably equal to the target rate, and is preferably not far from the target rate. In addition to selecting an average value of quantization errors, a median value may be selected.
  • the target quantization error setting unit 33 sets the equal quantization error average value Diff_Ave of the uncoded processing unit to be smaller than the quantization error average value 321 of the I picture of the already coded processing unit, and performs the already coded processing. It is set to be larger than the quantization error average values 322 and 323 of the unit P and B pictures.
  • the target code amount setting unit 34 increases the target code amount 341 of an I picture in an uncoded processing unit from the previously set target code amount of an I picture in an already encoded processing unit.
  • the target code amount setting unit 34 reduces the target code amounts 342 and 343 of the P and B pictures in the uncoded processing unit from the previously set target code amounts of the P and B pictures in the already encoded processing unit, respectively.
  • the target code amount setting unit 34 maintains the target code amount per picture in the unencoded processing unit equal to the target code amount per picture in the previously set encoded processing unit.
  • the quantization step value setting unit 35 decreases the quantization step value 351 of the I picture of the uncoded processing unit from the quantization step value of the I picture of the already coded processing unit set previously.
  • the quantization step value setting unit 35 sets the quantization step values 352 and 353 of the P and B pictures in the uncoded processing unit respectively from the quantization step values of the P and B pictures in the previously coded processing unit. increase. The above feedback process is repeated.
  • the image quality of each image in the uncoded processing unit is set equally. Therefore, the unencoded processing unit can subjectively improve the overall image quality without causing flicker.
  • a one-pass process is performed in which the processing result of the encoding process of the already-encoded process unit is fed back to the encoding process of the unencoded process unit.
  • a two-pass process that requires a prefetching process in the processing unit is not executed. Therefore, real-time processing can be executed without increasing the circuit scale.
  • ⁇ Second method for uniformly setting quantization error for each image A second method for uniformly setting the quantization error for each image will be described.
  • the target code amount of the uncoded processing unit is set.
  • the second method unlike the first method, as a result of setting the target code amount of the uncoded processing unit, how much the quantization error average value of the uncoded processing unit actually becomes. In consideration, the actual output code amount of the unencoded processing unit is taken into consideration.
  • Each left end indicates an actual measurement value of the quantization error average value Diff_Ave of the already-encoded processing unit by a solid bar graph.
  • Each center shows the target value of the quantization error average value Diff_Ave of the unencoded processing unit before the actual encoding process by a broken line bar graph.
  • Each right end shows an actual measurement value of the quantization error average value Diff_Ave of an unencoded processing unit after an actual encoding process by a solid line bar graph.
  • FIG. 8 shows the quantization for each image in the case where the quantization error average value 321 of the I picture in the already coded processing unit is larger than the quantization error average values 322 and 323 of the P and B pictures in the already coded processing unit It is a figure which shows the method of setting an error equally.
  • the target quantization error setting unit 33 sets the equal quantization error average value Diff_Ave of the uncoded processing unit to be smaller than the quantization error average value 321 of the I picture of the already coded processing unit, and performs the already coded processing. It is set to be equivalent to the quantization error average values 322 and 323 of the unit P and B pictures.
  • the target value of the uniform quantization error average value Diff_Ave of the uncoded processing unit is indicated by an arrow 335A.
  • the measured value of the quantization error average value Diff_Ave is likely to be equal to the target value of the quantization error average value Diff_Ave.
  • the actual measurement value of the quantization error average value Diff_Ave may be smaller than the target value of the quantization error average value Diff_Ave.
  • the output code amounts of the P and B pictures in the uncoded processing unit will be smaller than the output code amounts of the P and B pictures in the already coded processing unit, respectively.
  • An actual measurement value of the quantization error average value Diff_Ave of P and B pictures in an uncoded processing unit is indicated by an arrow 335B. The above possibility is not clear from the case shown in FIG. 5, and the reason for the above possibility will be described below.
  • an uncoded processing unit there are P and B pictures that refer to I pictures, and there are P and B pictures that refer to P pictures that refer to I pictures.
  • the influence of the quantization error of the I picture on the quantization error of the P and B pictures is not considered in the uncoded processing unit.
  • the influence of the quantization error of the I picture on the quantization error of the P and B pictures is considered in the uncoded processing unit.
  • the quantization error of the I picture is small, the quantization error of the P and B pictures that refer to the I picture is also small. If the quantization error of the P picture referring to the I picture is small, the quantization error of the P and B pictures referring to the P picture referring to the I picture is also small.
  • the actual quantization error value of the P and B pictures in the uncoded processing unit is smaller than the target quantization error value of the P and B pictures in the uncoded processing unit.
  • the output code amount of the P and B pictures in the uncoded processing unit may be smaller than the target code amount of the P and B pictures in the uncoded processing unit. That is, it may be explained first.
  • the output code amount of the I picture will increase as the coding process of the already coded processing unit shifts to the coding process of the uncoded processing unit.
  • the output code amount of the P and B pictures decreases as the coding process of the already coded process unit shifts to the coding process of the uncoded process unit. If the decrease in the output code amount of the P and B pictures is higher than the increase in the output code amount of the I picture, the output code amount per picture in the uncoded processing unit is the picture in the already encoded processing unit. It is possible to reduce the output code amount per sheet.
  • FIG. 9 shows the quantization for each image in the case where the average quantization error value 321 of the I picture in the already encoded processing unit is smaller than the average quantization error values 322 and 323 of the P and B pictures in the already encoded processing unit It is a figure which shows the method of setting an error equally.
  • the target quantization error setting unit 33 sets the equal quantization error average value Diff_Ave of the uncoded processing unit to be larger than the quantization error average value 321 of the I picture of the already coded processing unit, and performs the already coded processing. It is set to be equivalent to the quantization error average values 322 and 323 of the unit P and B pictures.
  • the target value of the uniform quantization error average value Diff_Ave for the uncoded processing unit is indicated by an arrow 336A.
  • the measured value of the quantization error average value Diff_Ave is likely to be equal to the target value of the quantization error average value Diff_Ave.
  • the output code amount of an I picture in an uncoded processing unit will be smaller than the output code amount of an I picture in an already coded processing unit. The above possibility is clear from the case shown in FIG.
  • the actual measurement value of the quantization error average value Diff_Ave may be larger than the target value of the quantization error average value Diff_Ave.
  • the output code amounts of the P and B pictures in the uncoded processing unit will be larger than the output code amounts of the P and B pictures in the already coded processing unit, respectively.
  • An actual measurement value of the quantization error average value Diff_Ave of the P and B pictures in the uncoded processing unit is indicated by an arrow 336B. The above possibility is not clear from the case shown in FIG. 6, but is clear if the reverse case of the case shown in FIG. 8 is considered.
  • the output code amount of the I picture will decrease as the encoding process of the already encoded process unit shifts to the encoding process of the unencoded process unit.
  • the output code amount of the P and B pictures increases as the encoding process of the already-encoded processing unit shifts to the encoding process of the unencoded process unit. If the decrease in the output code amount of the I picture is higher than the increase in the output code amount of the P and B pictures, the output code amount per picture in the uncoded processing unit is the picture in the already encoded processing unit. It is possible to reduce the output code amount per sheet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 既符号化処理単位については、I,P,Bピクチャの量子化誤差平均値Diff_Aveは、ばらつきの大きい実測値として算出される。未符号化処理単位については、I,P,Bピクチャの量子化誤差平均値Diff_Aveは、ばらつきの小さい目標値として設定される。既符号化処理単位の符号化処理の処理結果は、未符号化処理単位の符号化処理において参照されていてフィードバックされている。画像毎の量子化誤差を均等に設定することにより、ひいては画像毎の画質を均等に設定することにより、ストリーム全体の画質を主観的に向上できる。未符号化処理単位の先読み処理を必要としないことにより、回路規模を増大させることなくリアルタイム処理を実行できる。

Description

エンコーダ
 本発明は、入力画像を出力画像に符号化するエンコーダにおいて、画像毎の画質を均等に設定することにより、ストリーム全体の画質を主観的に向上させる技術に関する。
 エンコーダは、入力画像を出力画像に符号化することにより、データ容量の大きい入力画像をデータ容量の小さい出力画像に圧縮する。エンコーダは、入力画像および参照画像に基づいて予測画像を生成して、入力画像および予測画像に基づいて差分画像を生成する。エンコーダは、入力画像を符号化することなく、差分画像を符号化することにより、圧縮符号化効率を向上させることができる。
 特許文献1のエンコーダは、画像毎に画質を評価するため、入力画像および予測画像に基づいて画像毎に予測誤差を算出する。ここで、予測誤差とは、入力画像および予測画像の各対応画素値についての差分絶対値を、各対応画素について加算した差分絶対値和である。または、予測誤差とは、入力画像および予測画像の各対応画素値についての差分自乗値を、各対応画素について加算した差分自乗値和である。
 エンコーダは、現段階で符号化する画像についての予測誤差が急激に上昇したと判断したときには、現段階で符号化する画像についての画質が急激に劣化したと判断する。エンコーダは、次に符号化する画像についての目標符号量を、現段階で符号化する画像についての目標符号量より多く割り当てる。そこで、エンコーダは、次に符号化する画像についての画質を、現段階で符号化する画像についての画質より向上させることができる。さらに、エンコーダは、出力画像バッファをオーバーフローさせないようにできる。
特開2002-125235号公報
 特許文献1のエンコーダは、現段階で符号化する画像についての画質を劣化させたとしても、次に符号化する画像についての画質を向上させる。しかし、ストリーム全体において、各画像の画質が均等でないときには、画質が高い画像および画質が低い画像が交互に出現するため、ちらつきが発生して画質が主観的に劣化する。とりわけ、動きが少ないストリーム全体において、画質が主観的に劣化する問題が顕著になる。
 本発明のエンコーダは、入力画像を出力画像に符号化するエンコーダであって、入力画像と、入力画像を一旦エンコードした後デコードすることで得られる復号画像と、を比較することで量子化誤差を算出する量子化誤差算出部と、既に符号化されている既符号化処理単位について、量子化誤差の実測値である実測量子化誤差を格納する実測量子化誤差格納部と、未だ符号化されていない未符号化処理単位について、前記実測量子化誤差の画像毎のばらつきを参照することにより、量子化誤差の目標値である目標量子化誤差を画像毎のばらつきを減少させつつ設定する目標量子化誤差設定部と、を備える。
 本発明によれば、画像毎の画質が均等に設定されるため、ストリーム全体の画質を主観的に向上できる。また、未符号化処理単位の先読み処理を必要としないため、エンコーダの回路規模を増大させることなくリアルタイム処理を実行できる。
 この発明の他の好ましい実施例によれば、本発明のエンコーダは、さらに、前記未符号化処理単位の画像毎について、前記目標量子化誤差が達成されるように、目標符号量を設定する目標符号量設定部と、前記未符号化処理単位の画像毎について、前記目標符号量が達成されるように、量子化ステップ値を設定する量子化ステップ値設定部と、を備える。
 未符号化処理単位の画像毎について量子化ステップ値が設定されるため、未符号化処理単位の画像毎の量子化誤差のばらつきを小さくすることができる。
 それゆえに本発明の目的は、入力画像を出力画像に符号化するエンコーダにおいて、ストリーム全体の画質を主観的に向上させる技術を提供することである。
 この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面によって、明白となる。
エンコーダの構成要素を示すブロック図である。 量子化誤差の定義を示す図である。 量子化誤差の時間変化を示す図である。 画像毎の画質を均等に設定する方法の概略を示す図である。 画像毎の量子化誤差を均等に設定する第1の方法を示す図である。 画像毎の量子化誤差を均等に設定する第1の方法を示す図である。 画像毎の量子化誤差を均等に設定する第1の方法を示す図である。 画像毎の量子化誤差を均等に設定する第2の方法を示す図である。 画像毎の量子化誤差を均等に設定する第2の方法を示す図である。
発明を実施するための形態
 {エンコーダの構成要素}
 以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、エンコーダEの構成要素を示すブロック図である。エンコーダEは、単独で機能していてもよい。エンコーダEは、トランスコーダまたはトランスレータの構成要素であることにより、デコーダとともに機能していてもよい。エンコーダEの構成要素は、3種類に分類される。
 1種類目の構成要素は、入力画像について予測を実行するための構成要素である。1種類目の構成要素は、入力画像バッファ11、参照画像バッファ12、予測画像生成部13、減算器14、加算器15などである。
 入力画像バッファ11は、エンコーダEの外部から入力画像を入力する。参照画像バッファ12は、加算器15から参照画像を入力する。予測画像生成部13は、入力画像バッファ11から入力画像を入力して、参照画像バッファ12から参照画像を入力する。予測画像生成部13は、入力画像および参照画像に基づいて、予測画像を生成する。
 予測画像生成部13は、フレーム内予測画像であるIピクチャの予測画像を生成するときには、予測モードを決定する。予測画像生成部13は、フレーム間順方向予測画像であるPピクチャの予測画像を生成するときには、または、フレーム間双方向予測画像であるBピクチャの予測画像を生成するときには、動きベクトルを決定する。
 減算器14は、入力画像バッファ11から入力画像を入力して、予測画像生成部13から予測画像を入力する。減算器14は、入力画像から予測画像を減算することにより、差分画像を生成する。加算器15は、逆周波数変換部26から差分画像を入力して、予測画像生成部13から予測画像を入力する。加算器15は、差分画像および予測画像を加算することにより、参照画像を生成する。1種類目の構成要素による処理は以上で一巡する。
 2種類目の構成要素は、差分画像について符号化を実行するための構成要素である。2種類目の構成要素は、周波数変換部21、量子化部22、符号化部23、出力画像バッファ24、逆量子化部25、逆周波数変換部26などである。
 周波数変換部21は、減算器14から差分画像を入力して、周波数変換を実行する。量子化部22は、周波数変換部21から周波数変換を実行された差分画像を入力して、量子化を実行する。符号化部23は、量子化部22から量子化を実行された差分画像を入力して、予測画像生成部13から予測モードまたは動きベクトルを入力して、符号化を実行する。出力画像バッファ24は、エンコーダEの外部に出力画像を出力する。
 逆量子化部25は、量子化部22から量子化を実行された差分画像を入力して、逆量子化を実行する。逆周波数変換部26は、逆量子化部25から逆量子化を実行された差分画像を入力して、逆周波数変換を実行する。2種類目の構成要素による処理は以上で一巡する。逆周波数変換部26が出力する差分画像は、周波数変換部21が入力する差分画像に対して、量子化部22および逆量子化部25に起因する量子化誤差を含む。
 3種類目の構成要素は、画像毎の画質を均等に設定するための構成要素である。3種類目の構成要素は、量子化誤差算出部31、実測量子化誤差格納部32、目標量子化誤差設定部33、目標符号量設定部34、量子化ステップ値設定部35などである。各構成要素について図2から図4までを用いて説明する。
 {画像毎の画質を均等に設定する方法の概略}
 画像毎の画質を均等に設定する方法の概略について説明する。量子化誤差算出部31、実測量子化誤差格納部32について、図2および図3を用いて説明する。目標量子化誤差設定部33、目標符号量設定部34、量子化ステップ値設定部35について、図4を用いて説明する。
  [量子化誤差算出部、実測量子化誤差格納部]
 量子化誤差算出部31は、入力画像バッファ11から入力画像を入力して、加算器15から参照画像を入力して、量子化誤差を算出する。実測量子化誤差格納部32は、既に符号化されている既符号化処理単位について、量子化誤差を格納する。既符号化処理単位について図3を用いて説明する。
 図2は、量子化誤差の定義を示す図である。図2(a)は、画像サイズが4×4であると仮定した入力画像Aを示す。符号A1,・・・,A16は、入力画像Aの各画素を示すとともに、入力画像Aの各画素値を示す。図2(b)は、画像サイズが4×4であると仮定した復号画像Bを示す。符号B1,・・・,B16は、復号画像Bの各画素を示すとともに、復号画像Bの各画素値を示す。図2(c)は、2種類の量子化誤差の定義を示す。
 1種類目の量子化誤差の定義について説明する。量子化誤差は、入力画像および復号画像の各対応画素値についての差分絶対値を、各対応画素について加算した差分絶対値和により定義される。すなわち、図2(c)の上側に示したように、量子化誤差Diffは、Σ|AN-BN|により定義される。ここで、和は16画素分について計算される。
 2種類目の量子化誤差の定義について説明する。量子化誤差は、入力画像および復号画像の各対応画素値についての差分自乗値を、各対応画素について加算した差分自乗値和により定義される。すなわち、図2(c)の下側に示したように、量子化誤差Diffは、Σ(AN-BN)により定義される。ここで、和は16画素分について計算される。
 なお、上記2つの方法で量子化誤差を算出する際、演算には、各画素の輝度信号と色差信号との両方を用いればよい。輝度信号についての量子化誤差と、色差信号についての量子化誤差を算出し、それらの平均をとってもよいし、重み付け平均をとってもよい。あるいは、輝度信号、色差信号のいずれかのみの信号を用いて量子化誤差を算出してもよい。
 図3は、量子化誤差Diffの時間変化を示す図である。縦軸は、量子化誤差Diffを示す。横軸は、時間変化を示す。横軸の下側の「I,P,B」は、時間変化につれて入力される画像が、I,P,Bピクチャのうちいずれの画像であるかを示す。
 図3の左側は、既に符号化されている既符号化処理単位について、量子化誤差Diffの時間変化を示す。ここで、既符号化処理単位については、符号化部23において既に符号化が実行されており、実測量子化誤差格納部32において既に量子化誤差Diffが格納されている。すなわち、既符号化処理単位についての量子化誤差Diffは、実測されている量子化誤差Diffであり、実線の棒グラフにより示されている。
 図3の右側は、未だ符号化されていない未符号化処理単位について、量子化誤差Diffの時間変化を示す。ここで、未符号化処理単位については、符号化部23において未だ符号化が実行されておらず、実測量子化誤差格納部32において未だ量子化誤差Diffが格納されていない。すなわち、未符号化処理単位についての量子化誤差Diffは、実測されていない量子化誤差Diffであり、破線の棒グラフにより示されている。
 既符号化処理単位については、画像毎の量子化誤差Diffのばらつきが大きく、すなわち、画像毎の画質のばらつきが大きい。未符号化処理単位については、画像毎の量子化誤差Diffのばらつきが小さくなるように、すなわち、画像毎の画質のばらつきが小さくなるように、目標量子化誤差設定部33、目標符号量設定部34、量子化ステップ値設定部35は処理を実行する。
 既符号化処理単位の符号化処理の処理結果は、未符号化処理単位の符号化処理にフィードバックされる。未符号化処理単位における画像毎の画質のばらつきが、既符号化処理単位における画像毎の画質のばらつきより小さくなるように、目標量子化誤差設定部33、目標符号量設定部34、量子化ステップ値設定部35は処理を実行する。次の未符号化処理単位における画像毎の画質のばらつきが、前の未符号化処理単位における画像毎の画質のばらつきより小さくなるように、目標量子化誤差設定部33、目標符号量設定部34、量子化ステップ値設定部35は処理を実行する。
 既符号化処理単位および未符号化処理単位は、任意の処理単位である。第1の具体例として、既符号化処理単位および未符号化処理単位はそれぞれ、1個のGOP(Group of Pictures)単位であってもよく、任意の個数のGOP単位であってもよい。第2の具体例として、既符号化処理単位および未符号化処理単位はあわせて、1個のGOP単位に含まれてもよい。もちろん、具体例は以上の具体例に限定されない。
 第1の具体例においては、既に符号化されている1個または任意の個数のGOP単位については、画像毎の画質のばらつきは大きくなる。しかし、未だ符号化されていない1個または任意の個数のGOP単位については、画像毎の画質のばらつきは小さくなる。画像毎の画質を均等に設定する処理を、第2の具体例より容易に実行できる。
 第2の具体例においては、1個のGOP単位のうち既に符号化されている前半部分については、画像毎の画質のばらつきは大きくなる。しかし、1個のGOP単位のうち未だ符号化されていない後半部分については、画像毎の画質のばらつきは小さくなる。画像毎の画質を均等に設定する処理を、第1の具体例よりリアルタイムに実行できる。
  [目標量子化誤差設定部、目標符号量設定部、量子化ステップ値設定部]
 目標量子化誤差設定部33は、実測量子化誤差格納部32から既符号化処理単位についての量子化誤差を入力して、出力画像バッファ24から既符号化処理単位についての出力レートを入力する。目標量子化誤差設定部33は、既符号化処理単位についての量子化誤差および出力レートに基づいて、未符号化処理単位についての量子化誤差を設定する。
 目標符号量設定部34は、目標量子化誤差設定部33から未符号化処理単位についての量子化誤差を入力する。目標符号量設定部34は、未符号化処理単位についての量子化誤差に基づいて、未符号化処理単位についての目標符号量を設定する。
 量子化ステップ値設定部35は、目標符号量設定部34から未符号化処理単位についての目標符号量を入力する。量子化ステップ値設定部35は、未符号化処理単位についての目標符号量に基づいて、未符号化処理単位についての量子化ステップ値を設定する。
 量子化部22および逆量子化部25はそれぞれ、未符号化処理単位についての量子化ステップ値に基づいて、未符号化処理単位についての量子化および逆量子化を実行する。
 図4は、画像毎の画質を均等に設定する方法の概略を示す図である。量子化誤差平均値Diff_Aveは、既符号化処理単位においては、I,P,Bピクチャそれぞれについて、量子化誤差Diffの実測値を平均したものである。量子化誤差平均値Diff_Aveは、未符号化処理単位においては、I,P,Bピクチャそれぞれについて、量子化誤差Diffの目標値を平均したものである。図3に示したように、実測値および目標値は異なる。実測値および目標値はそれぞれ、実線および破線の棒グラフにより示されている。
 目標量子化誤差設定部33は、既符号化処理単位のI,P,Bピクチャそれぞれについて、量子化誤差平均値321、322、323を算出する。目標量子化誤差設定部33は、矢印331により示したように、未符号化処理単位のI,P,Bピクチャそれぞれについて、量子化誤差平均値Diff_Aveを均等に設定する。
 目標符号量設定部34は、未符号化処理単位のI,P,Bピクチャそれぞれの量子化誤差平均値Diff_Aveが達成されるように、未符号化処理単位のI,P,Bピクチャそれぞれの目標符号量341、342、343を設定する。
 量子化ステップ値設定部35は、未符号化処理単位のI,P,Bピクチャそれぞれの目標符号量341、342、343が達成されるように、未符号化処理単位のI,P,Bピクチャそれぞれの量子化ステップ値351、352、353を設定する。
 量子化誤差平均値Diff_Aveを均等に設定する方法について、および、目標符号量341、342、343および量子化ステップ値351、352、353を設定する方法について、図5から図9までを用いて複数の方法を説明する。
 {画像毎の量子化誤差を均等に設定する第1の方法}
 画像毎の量子化誤差を均等に設定する第1の方法について説明する。目標量子化誤差設定部33は、既符号化処理単位についての出力レートおよびエンコーダEのユーザが設定した目標レートを比較する。目標量子化誤差設定部33は、未符号化処理単位についての出力レートがエンコーダEのユーザが設定した目標レートに近づくように、未符号化処理単位についての量子化誤差平均値Diff_Aveを均等に設定する。
  [図5に示す場合]
 図5は、既符号化処理単位についての出力レートが目標レートより低い場合における、画像毎の量子化誤差を均等に設定する方法を示す図である。すなわち、未符号化処理単位についての出力レートは、既符号化処理単位についての出力レートより高くてもよい。
 目標量子化誤差設定部33は、既符号化処理単位のI,P,Bピクチャそれぞれについて、量子化誤差平均値321、322、323を算出する。目標量子化誤差設定部33は、矢印332により示したように、未符号化処理単位のI,P,Bピクチャそれぞれについて、均等な量子化誤差平均値Diff_Aveとして、量子化誤差平均値321、322、323の最小値を設定する。もちろん、未符号化処理単位についての出力レートは、目標レートと同等になることが望ましく、目標レートより極端に高くならないことが望ましい。
 目標量子化誤差設定部33は、未符号化処理単位の均等な量子化誤差平均値Diff_Aveを、既符号化処理単位のIピクチャの量子化誤差平均値321より小さく設定して、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323と同等に設定する。
 量子化誤差を小さくするためには、量子化ステップ値を小さく設定することが望ましく、ひいては目標符号量を大きく設定することが望ましい。
 目標符号量設定部34は、未符号化処理単位のIピクチャの目標符号量341を、以前に設定した既符号化処理単位のIピクチャの目標符号量より増加させる。目標符号量設定部34は、未符号化処理単位のP,Bピクチャの目標符号量342、343をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの目標符号量と同等に維持する。目標符号量設定部34は、未符号化処理単位のピクチャ1枚あたりの目標符号量を、以前に設定した既符号化処理単位のピクチャ1枚あたりの目標符号量より増加させる。
 量子化ステップ値設定部35は、未符号化処理単位のIピクチャの量子化ステップ値351を、以前に設定した既符号化処理単位のIピクチャの量子化ステップ値より減少させる。量子化ステップ値設定部35は、未符号化処理単位のP,Bピクチャの量子化ステップ値352、353をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの量子化ステップ値と同等に維持する。以上のフィードバック処理が繰り返される。
 未符号化処理単位におけるIピクチャの画質は、既符号化処理単位におけるIピクチャの画質より高くなる。未符号化処理単位におけるP,Bピクチャの画質はそれぞれ、既符号化処理単位におけるP,Bピクチャの画質と同等になる。
 未符号化処理単位における全体的な画質は、既符号化処理単位における全体的な画質より高くなる。そして、未符号化処理単位における各画像の画質は均等に設定されるため、未符号化処理単位はちらつきを発生させずに全体的な画質を主観的にも向上できる。
  [図6に示す場合]
 図6は、既符号化処理単位についての出力レートが目標レートより高い場合における、画像毎の量子化誤差を均等に設定する方法を示す図である。すなわち、未符号化処理単位についての出力レートは、既符号化処理単位についての出力レートより低ければよい。
 目標量子化誤差設定部33は、既符号化処理単位のI,P,Bピクチャそれぞれについて、量子化誤差平均値321、322、323を算出する。目標量子化誤差設定部33は、矢印333により示したように、未符号化処理単位のI,P,Bピクチャそれぞれについて、均等な量子化誤差平均値Diff_Aveとして、量子化誤差平均値321、322、323の最大値を設定する。もちろん、未符号化処理単位についての出力レートは、目標レートと同等になることが望ましく、目標レートより極端に低くならないことが望ましい。
 目標量子化誤差設定部33は、未符号化処理単位の均等な量子化誤差平均値Diff_Aveを、既符号化処理単位のIピクチャの量子化誤差平均値321と同等に設定して、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323より大きく設定する。
 量子化誤差を大きくするためには、量子化ステップ値を大きく設定することが望ましく、ひいては目標符号量を小さく設定することが望ましい。
 目標符号量設定部34は、未符号化処理単位のIピクチャの目標符号量341を、以前に設定した既符号化処理単位のIピクチャの目標符号量と同等に維持する。目標符号量設定部34は、未符号化処理単位のP,Bピクチャの目標符号量342、343をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの目標符号量より減少させる。目標符号量設定部34は、未符号化処理単位のピクチャ1枚あたりの目標符号量を、以前に設定した既符号化処理単位のピクチャ1枚あたりの目標符号量より減少させる。
 量子化ステップ値設定部35は、未符号化処理単位のIピクチャの量子化ステップ値351を、以前に設定した既符号化処理単位のIピクチャの量子化ステップ値と同等に維持する。量子化ステップ値設定部35は、未符号化処理単位のP,Bピクチャの量子化ステップ値352、353をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの量子化ステップ値より増加させる。以上のフィードバック処理が繰り返される。
 未符号化処理単位におけるIピクチャの画質は、既符号化処理単位におけるIピクチャの画質と同等になる。未符号化処理単位におけるP,Bピクチャの画質はそれぞれ、既符号化処理単位におけるP,Bピクチャの画質より低くなる。
 未符号化処理単位における個々の画質は、既符号化処理単位における個々の画質より低くなる。しかし、未符号化処理単位における各画像の画質は均等に設定されるため、未符号化処理単位はちらつきを発生させずに全体的な画質が主観的に向上する。
  [図7に示す場合]
 図7は、既符号化処理単位についての出力レートが目標レートと同等である場合における、画像毎の量子化誤差を均等に設定する方法を示す図である。すなわち、未符号化処理単位についての出力レートは、既符号化処理単位についての出力レートと同等ならばよい。
 目標量子化誤差設定部33は、既符号化処理単位のI,P,Bピクチャそれぞれについて、量子化誤差平均値321、322、323を算出する。目標量子化誤差設定部33は、矢印334により示したように、未符号化処理単位のI,P,Bピクチャそれぞれについて、均等な量子化誤差平均値Diff_Aveとして、量子化誤差平均値321、322、323の平均値を設定する。もちろん、未符号化処理単位についての出力レートは、目標レートと同等になることが望ましく、目標レートより極端に離れないことが望ましい。また、量子化誤差の平均値を選択する以外にも、中央値を選択するなどしてもよい。
 目標量子化誤差設定部33は、未符号化処理単位の均等な量子化誤差平均値Diff_Aveを、既符号化処理単位のIピクチャの量子化誤差平均値321より小さく設定して、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323より大きく設定する。
 目標符号量設定部34は、未符号化処理単位のIピクチャの目標符号量341を、以前に設定した既符号化処理単位のIピクチャの目標符号量より増加させる。目標符号量設定部34は、未符号化処理単位のP,Bピクチャの目標符号量342、343をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの目標符号量より減少させる。目標符号量設定部34は、未符号化処理単位のピクチャ1枚あたりの目標符号量を、以前に設定した既符号化処理単位のピクチャ1枚あたりの目標符号量と同等に維持する。
 量子化ステップ値設定部35は、未符号化処理単位のIピクチャの量子化ステップ値351を、以前に設定した既符号化処理単位のIピクチャの量子化ステップ値より減少させる。量子化ステップ値設定部35は、未符号化処理単位のP,Bピクチャの量子化ステップ値352、353をそれぞれ、以前に設定した既符号化処理単位のP,Bピクチャの量子化ステップ値より増加させる。以上のフィードバック処理が繰り返される。
 図5から図7までに共通して、未符号化処理単位における各画像の画質は均等に設定される。そのため、未符号化処理単位はちらつきを発生させずに全体的な画質を主観的に向上できる。図5から図7までに共通して、既符号化処理単位の符号化処理の処理結果が未符号化処理単位の符号化処理にフィードバックされる1パス処理が実行されるのであって、未符号化処理単位の先読み処理を必要とする2パス処理が実行されるのではない。そのため、回路規模を増大させることなくリアルタイム処理を実行できる。
 {画像毎の量子化誤差を均等に設定する第2の方法}
 画像毎の量子化誤差を均等に設定する第2の方法について説明する。第2の方法においても、第1の方法と同様に、未符号化処理単位の目標符号量が設定される。第2の方法においては、第1の方法と異なり、未符号化処理単位の目標符号量が設定される結果として、未符号化処理単位の量子化誤差平均値が実際にいかなる程度になるかが考慮されて、未符号化処理単位の出力符号量が実際にいかなる程度になるかが考慮される。
 図8および図9は、画像毎の量子化誤差を均等に設定する第2の方法を示す図である。それぞれの左端は、既符号化処理単位の量子化誤差平均値Diff_Aveの実測値を、実線の棒グラフにより示す。それぞれの中央は、実際の符号化処理前における、未符号化処理単位の量子化誤差平均値Diff_Aveの目標値を、破線の棒グラフにより示す。それぞれの右端は、実際の符号化処理後における、未符号化処理単位の量子化誤差平均値Diff_Aveの実測値を、実線の棒グラフにより示す。
  [図8に示す場合]
 図8は、既符号化処理単位のIピクチャの量子化誤差平均値321が、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323より大きい場合における、画像毎の量子化誤差を均等に設定する方法を示す図である。
 画像毎の量子化誤差を均等に設定する方法は、図5に示す場合とほぼ同様である。目標量子化誤差設定部33は、未符号化処理単位の均等な量子化誤差平均値Diff_Aveを、既符号化処理単位のIピクチャの量子化誤差平均値321より小さく設定して、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323と同等に設定する。未符号化処理単位の均等な量子化誤差平均値Diff_Aveの目標値を矢印335Aにより示す。
 未符号化処理単位のIピクチャについては、量子化誤差平均値Diff_Aveの実測値は、量子化誤差平均値Diff_Aveの目標値と同等になる可能性が高い。未符号化処理単位のIピクチャの出力符号量は、既符号化処理単位のIピクチャの出力符号量より増加する可能性が高い。以上の可能性は図5に示す場合から明確である。
 未符号化処理単位のP,Bピクチャについては、量子化誤差平均値Diff_Aveの実測値は、量子化誤差平均値Diff_Aveの目標値より小さくなる可能性がある。未符号化処理単位のP,Bピクチャの出力符号量はそれぞれ、既符号化処理単位のP,Bピクチャの出力符号量より減少する可能性がある。未符号化処理単位のP,Bピクチャの量子化誤差平均値Diff_Aveの実測値を、矢印335Bにより示す。以上の可能性は図5に示す場合から明確でなく、以上の可能性がある理由について以下に説明する。
 未符号化処理単位内において、Iピクチャを参照するP,Bピクチャが存在して、Iピクチャを参照したPピクチャを参照するP,Bピクチャが存在する。ここで、図5に示す場合では、未符号化処理単位内において、Iピクチャの量子化誤差がP,Bピクチャの量子化誤差に及ぼす影響が考慮されない。しかし、図8に示す場合では、未符号化処理単位内において、Iピクチャの量子化誤差がP,Bピクチャの量子化誤差に及ぼす影響が考慮される。
 Iピクチャの量子化誤差が小さいならば、Iピクチャを参照するP,Bピクチャの量子化誤差も小さくなる。Iピクチャを参照したPピクチャの量子化誤差が小さいならば、Iピクチャを参照したPピクチャを参照するP,Bピクチャの量子化誤差も小さくなる。
 そこで、未符号化処理単位のP,Bピクチャの量子化誤差実測値は、未符号化処理単位のP,Bピクチャの量子化誤差目標値より小さくなる可能性がある。さらに、未符号化処理単位のP,Bピクチャの出力符号量は、未符号化処理単位のP,Bピクチャの目標符号量より小さくなる可能性がある。すなわち、最初に説明した可能性がある。
 Iピクチャの出力符号量は、既符号化処理単位の符号化処理から未符号化処理単位の符号化処理に移行するにつれて、増加する可能性が高い。P,Bピクチャの出力符号量は、既符号化処理単位の符号化処理から未符号化処理単位の符号化処理に移行するにつれて、減少する可能性がある。P,Bピクチャの出力符号量の減少程度が、Iピクチャの出力符号量の増加程度より高いならば、未符号化処理単位のピクチャ1枚あたりの出力符号量は、既符号化処理単位のピクチャ1枚あたりの出力符号量より減少することが可能になる。
  [図9に示す場合]
 図9は、既符号化処理単位のIピクチャの量子化誤差平均値321が、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323より小さい場合における、画像毎の量子化誤差を均等に設定する方法を示す図である。
 画像毎の量子化誤差を均等に設定する方法は、図6に示す場合とほぼ同様である。目標量子化誤差設定部33は、未符号化処理単位の均等な量子化誤差平均値Diff_Aveを、既符号化処理単位のIピクチャの量子化誤差平均値321より大きく設定して、既符号化処理単位のP,Bピクチャの量子化誤差平均値322、323と同等に設定する。未符号化処理単位の均等な量子化誤差平均値Diff_Aveの目標値を矢印336Aにより示す。
 未符号化処理単位のIピクチャについては、量子化誤差平均値Diff_Aveの実測値は、量子化誤差平均値Diff_Aveの目標値と同等になる可能性が高い。未符号化処理単位のIピクチャの出力符号量は、既符号化処理単位のIピクチャの出力符号量より減少する可能性が高い。以上の可能性は図6に示す場合から明確である。
 未符号化処理単位のP,Bピクチャについては、量子化誤差平均値Diff_Aveの実測値は、量子化誤差平均値Diff_Aveの目標値より大きくなる可能性がある。未符号化処理単位のP,Bピクチャの出力符号量はそれぞれ、既符号化処理単位のP,Bピクチャの出力符号量より増加する可能性がある。未符号化処理単位のP,Bピクチャの量子化誤差平均値Diff_Aveの実測値を、矢印336Bにより示す。以上の可能性は図6に示す場合から明確でないが、図8に示す場合の逆の場合を考慮すれば明確である。
 Iピクチャの出力符号量は、既符号化処理単位の符号化処理から未符号化処理単位の符号化処理に移行するにつれて、減少する可能性が高い。P,Bピクチャの出力符号量は、既符号化処理単位の符号化処理から未符号化処理単位の符号化処理に移行するにつれて、増加する可能性がある。Iピクチャの出力符号量の減少程度が、P,Bピクチャの出力符号量の増加程度より高いならば、未符号化処理単位のピクチャ1枚あたりの出力符号量は、既符号化処理単位のピクチャ1枚あたりの出力符号量より減少することが可能になる。
 この発明を添付図面に示す実施態様について説明したが、この発明は、特に明記した部分を除いては、その詳細な説明の記載をもって制約しようとするものではなく、特許請求の範囲に記載する範囲において広く構成しようとするものである。
 

Claims (10)

  1.  入力画像を出力画像に符号化するエンコーダ(E)であって、
     入力画像と、入力画像を一旦エンコードした後デコードすることで得られる復号画像と、を比較することで量子化誤差を算出する量子化誤差算出部(31)と、
     既に符号化されている既符号化処理単位について、量子化誤差の実測値である実測量子化誤差を格納する実測量子化誤差格納部(32)と、
     未だ符号化されていない未符号化処理単位について、前記実測量子化誤差の画像毎のばらつきを参照することにより、量子化誤差の目標値である目標量子化誤差を画像毎のばらつきを減少させつつ設定する目標量子化誤差設定部(33)と、
    を備える。
  2.  請求項1に記載のエンコーダ(E)において、さらに、
     前記未符号化処理単位の画像毎について、前記目標量子化誤差が達成されるように、目標符号量を設定する目標符号量設定部(34)と、
     前記未符号化処理単位の画像毎について、前記目標符号量が達成されるように、量子化ステップ値を設定する量子化ステップ値設定部(35)と、
    を備える。
  3.  請求項1に記載のエンコーダ(E)において、
     前記目標量子化誤差設定部(33)は、
     目標レートと前記既符号化処理単位の出力レートとを比較することにより、前記未符号化処理単位の出力レートが目標レートに近づくように前記目標量子化誤差を設定するレート調整部、
    を含む。
  4.  請求項1に記載のエンコーダ(E)において、
     前記目標量子化誤差設定部(33)は、
     前記既符号化処理単位の画像毎の前記実測量子化誤差から最小値を選択して、前記未符号化処理単位の画像毎の前記目標量子化誤差として設定する最小誤差選択部、
    を含む。
  5.  請求項1に記載のエンコーダ(E)において、
     前記目標量子化誤差設定部(33)は、
     前記既符号化処理単位の画像毎の前記実測量子化誤差から最大値を選択して、前記未符号化処理単位の画像毎の前記目標量子化誤差として設定する最大誤差選択部、
    を含む。
  6.  請求項1に記載のエンコーダ(E)において、
     前記目標量子化誤差設定部(33)は、
     前記既符号化処理単位の画像毎の前記実測量子化誤差について平均値を算出して、前記未符号化処理単位の画像毎の前記目標量子化誤差として設定する平均誤差選択部、
    を含む。
  7.  請求項1に記載のエンコーダ(E)において、
     前記既符号化処理単位と前記未符号化処理単位とは、1または複数のGOP(Group of Pictures)単位に対応する。
  8.  請求項1に記載のエンコーダ(E)において、
     前記実測量子化誤差と前記目標量子化誤差とは、
     フレーム内予測画像、フレーム間順方向予測画像、およびフレーム間双方向予測画像のそれぞれの画像種別について、入力画像と復号画像との比較から算出される画像種別量子化誤差、
    を含む。
  9.  請求項1に記載のエンコーダ(E)において、
     前記実測量子化誤差と前記目標量子化誤差とは、
     入力画像と復号画像との各対応画素値についての差分絶対値を、各対応画素について加算した差分絶対値和、
    を含む。
  10.  請求項1に記載のエンコーダ(E)において、
     前記実測量子化誤差と前記目標量子化誤差とは、
     入力画像と復号画像との各対応画素値についての差分自乗値を、各対応画素について加算した差分自乗値和、
    を含む。
PCT/JP2009/055294 2008-09-29 2009-03-18 エンコーダ Ceased WO2010035529A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/121,248 US8971393B2 (en) 2008-09-29 2009-03-18 Encoder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-250195 2008-09-29
JP2008250195A JP5391479B2 (ja) 2008-09-29 2008-09-29 エンコーダ

Publications (1)

Publication Number Publication Date
WO2010035529A1 true WO2010035529A1 (ja) 2010-04-01

Family

ID=42059539

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/055294 Ceased WO2010035529A1 (ja) 2008-09-29 2009-03-18 エンコーダ

Country Status (3)

Country Link
US (1) US8971393B2 (ja)
JP (1) JP5391479B2 (ja)
WO (1) WO2010035529A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3016764B1 (fr) * 2014-01-17 2016-02-26 Sagemcom Broadband Sas Procede et dispositif de transcodage de donnees video de h.264 vers h.265
JP7543978B2 (ja) * 2021-05-12 2024-09-03 横河電機株式会社 装置、監視システム、方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107473A (ja) * 1993-10-04 1995-04-21 Sanyo Electric Co Ltd 画像符号化装置
JP2001119304A (ja) * 1999-10-21 2001-04-27 Matsushita Electric Ind Co Ltd 画像符号化装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961375B1 (en) * 1997-02-06 2005-11-01 Sony Corporation Picture coding device and method, picture transmitting device and method and recording medium
US6823074B1 (en) * 1997-09-17 2004-11-23 Pioneer Corporation Digital-watermark superposing apparatus and digital-watermarker detecting apparatus
JP3662398B2 (ja) * 1997-09-17 2005-06-22 パイオニア株式会社 電子透かし重畳装置及び電子透かし検出装置
CN1204751C (zh) * 1999-04-13 2005-06-01 松下电器产业株式会社 编码数据变换方法、再编码方法、再编码系统以及数据记录媒体
JP2002125235A (ja) 2000-10-12 2002-04-26 Sharp Corp 動画像符号化装置
JP2003230149A (ja) 2002-02-05 2003-08-15 Mitsubishi Electric Corp 高圧縮符号化装置
US7436890B2 (en) * 2002-06-05 2008-10-14 Kddi R&D Laboratories, Inc. Quantization control system for video coding
US7266661B2 (en) * 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
JP2006065834A (ja) * 2004-07-26 2006-03-09 Murata Mach Ltd 画像処理装置および画像処理方法
JP2006279513A (ja) 2005-03-29 2006-10-12 Victor Co Of Japan Ltd デジタル画像圧縮伸長装置
JP4417919B2 (ja) * 2006-03-31 2010-02-17 株式会社東芝 画像符号化装置及び画像復号化装置
US8630848B2 (en) * 2008-05-30 2014-01-14 Digital Rise Technology Co., Ltd. Audio signal transient detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107473A (ja) * 1993-10-04 1995-04-21 Sanyo Electric Co Ltd 画像符号化装置
JP2001119304A (ja) * 1999-10-21 2001-04-27 Matsushita Electric Ind Co Ltd 画像符号化装置

Also Published As

Publication number Publication date
US8971393B2 (en) 2015-03-03
JP2010081508A (ja) 2010-04-08
JP5391479B2 (ja) 2014-01-15
US20110182343A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
JP4624321B2 (ja) トランスコーダおよび符号化画像変換方法
US5805222A (en) Video coding apparatus
JP4247680B2 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP2006140758A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP4650173B2 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
CN102217315A (zh) 用于画面组的并行多线程视频编码的i帧去闪烁
JP5133290B2 (ja) 動画像符号化装置および復号装置
JP2000201354A (ja) 動画像符号化装置
JP4227067B2 (ja) 動画像符号化方法と装置及びプログラム
US7333660B2 (en) Apparatus for and method of coding moving picture
JP4525878B2 (ja) 動画像符号化方法
JP5391479B2 (ja) エンコーダ
JP4130617B2 (ja) 動画像符号化方法および動画像符号化装置
JP5016561B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法
JP4357560B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5328629B2 (ja) エンコーダおよび画像変換装置
CN117880511A (zh) 基于视频缓冲区校验的码率控制方法
JP2013128189A (ja) 画像符号化装置
JP2008311824A (ja) 画像符号化装置および画像符号化プログラム
JP2740746B2 (ja) 動画像圧縮装置
JP7222421B2 (ja) 動画像符号化装置、動画像圧縮装置、動画像符号化方法、及びプログラム
JP4762860B2 (ja) 動画像符号化装置
JPH11196423A (ja) 画像処理装置および方法、並びに提供媒体
JP2024000443A (ja) 映像符号化装置及びプログラム
Li et al. Efficient one-pass frame level rate control for H. 264/AVC

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09815948

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13121248

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09815948

Country of ref document: EP

Kind code of ref document: A1