WO2009148076A1 - 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- WO2009148076A1 WO2009148076A1 PCT/JP2009/060139 JP2009060139W WO2009148076A1 WO 2009148076 A1 WO2009148076 A1 WO 2009148076A1 JP 2009060139 W JP2009060139 W JP 2009060139W WO 2009148076 A1 WO2009148076 A1 WO 2009148076A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code amount
- picture
- assigned
- video
- variable
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- 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
Definitions
- the present invention relates to a video code amount control method and apparatus used in a video coding method for performing a process of determining a quantization width of a picture to be encoded or a parameter similar thereto based on a pre-assigned code amount
- the present invention relates to a video code amount control program used for realizing the video code amount control method and a computer-readable recording medium on which the program is recorded.
- encoding is performed once to calculate the video feature amount, and the assigned code amount of each picture is obtained based on the calculated feature amount, and then the encoding is performed again.
- Non-Patent Document 1 When performing CBR (constant bit rate) coding in a single pass, as described in Non-Patent Document 1 below, a fixed code amount R is assigned to a plurality of pictures, and the error code amount is set to the fixed code. A method of reflecting the quantity R is widely used.
- this CBR coding method is applied to multi-pass coding in which the assigned code amount of each picture is determined in advance, since the assigned code amount of each picture is determined in advance, a certain code amount is set to a plurality of codes. There is no need to allocate to pictures. Therefore, when this CBR encoding method is applied to multi-pass encoding, the error code amount generated in the encoding of each picture is added to the allocated code amount of the next picture for correction.
- step S501 the error code amount and the picture number n are initialized with 0 as an initialization process.
- step S502 the nth picture is encoded with an assigned code amount given in advance.
- a quantization width is calculated from the allocated code amount of the nth picture and the feature amount of the nth picture (step S601), a prediction residual is calculated (step S602), and DCT (discrete cosine transform) is performed (step S601). S603), the DCT coefficient is quantized (step S604). Thereafter, an encoded stream is generated by variable length encoding (step S605).
- the quantized DCT coefficients are subjected to inverse quantization (step S606) and IDCT (inverse discrete cosine transform) (step S607) to create a decoded image of the prediction residual, and the decoded image is added to the predicted image. Generate (step S608).
- step S503 it is determined whether or not all frames (all pictures) have been encoded. If all frames have been encoded, the process ends and all frames are encoded. If is not completed, the following processing is executed.
- the error code amount is calculated from the difference between the allocated code amount and the actual code amount generated at the time of encoding.
- the allocation code amount of the next picture is updated by adding the error code amount to the allocation code amount of the next picture.
- the processing target is shifted to the next picture, and the process returns to the process in step S502 to repeat the above procedure.
- an encoded stream close to the target file size can be obtained while successively correcting an error between the allocated code amount and the generated code amount.
- FIG. 14 illustrates a device configuration of a conventional video encoding device that executes the processing of the flowcharts illustrated in FIGS. 12 and 13.
- the conventional video encoding apparatus that executes the processes of the flowcharts shown in FIGS. 12 and 13 includes an allocated code amount storage unit 101, two adders 102 and 111, and two subtractors 103. , 106, feature amount storage unit 104, quantization width calculation unit 105, DCT unit 107, quantization unit 108, inverse quantization unit 109, IDCT unit 110, decoded image storage buffer 112, prediction An image generation unit 113 and a variable length encoding unit 114 are provided.
- the allocation code amount storage unit 101 stores the initial value of the allocation code amount of each picture and outputs it to the adder 102 for each picture.
- the adder 102 adds the initial value of the assigned code amount output from the assigned code amount storage unit 101 and the error code amount output from the subtractor 103, thereby calculating and outputting the assigned code amount of the picture to be encoded.
- the subtractor 103 calculates the error code amount of the picture that has been encoded by calculating the difference between the allocated code amount output from the adder 102 and the generated code amount output from the variable length encoding unit 114. Output.
- the feature amount storage unit 104 stores the feature amount of each picture obtained at the time of the first pass encoding, and outputs it to the quantization width calculation unit 105 for each picture.
- the quantization width calculation unit 105 calculates and outputs the quantization width of the picture to be encoded from the feature amount output from the feature amount storage unit 104 and the assigned code amount output from the adder 102.
- the subtractor 106 generates and outputs a prediction residual by calculating a difference between the input image and the predicted image output from the predicted image generation unit 113.
- the DCT unit 107 performs DCT on the prediction residual output from the subtractor 106.
- the quantization unit 108 quantizes each DCT coefficient output from the DCT unit 107 using the quantization width output from the quantization width calculation unit 105.
- the inverse quantization unit 109 performs inverse quantization on the quantization value output from the quantization unit 108 using the quantization width output from the quantization width calculation unit 105.
- the IDCT unit 110 performs IDCT on the coefficient after inverse quantization output from the inverse quantization unit 109.
- the adder 111 generates a decoded image by adding the prediction residual decoded signal output from the IDCT unit 110 and the predicted image output from the predicted image generation unit 113, and outputs the decoded image to the decoded image storage buffer 112.
- the decoded image storage buffer 112 stores the decoded image output from the adder 111.
- the predicted image generation unit 113 generates and outputs a predicted image based on the decoded image stored in the decoded image storage buffer 112.
- the variable length coding unit 114 performs variable length coding on the quantized DCT coefficient output from the quantization unit 108 and outputs the result as an encoded stream.
- the conventional video encoding apparatus uses the configuration shown in FIG. 14 to execute the processing of the flowcharts shown in FIGS.
- Patent Document 1 the CBR rate technology, which is the basis of the method described in Non-Patent Document 1, is given by referring to the document name (ISO / IEC JTC / SC29 / WG11: “Test Model5”, 1993) 1993.
- the invention described in this document is only a technique within the framework of CBR, although the response to the code amount variation is higher than the method described in Non-Patent Document 1. Therefore, when the invention described in this document is applied to multi-pass encoding, the error code amount generated in the encoding of each picture is reduced as in the case of applying the method described in Non-Patent Document 1. Correction is performed by adding to the allocated picture amount of the next picture.
- the allocated code amount for each picture is largely different from the original. For this reason, if the error code amount generated in the previous picture is added to the allocation code amount of the next picture, the variation from the original allocation code amount becomes large, and there is a high risk that the picture quality will fluctuate greatly between pictures.
- VBR variable bit rate
- the present invention has been made in view of such circumstances, and it is possible to improve subjective image quality by reducing image quality fluctuation for each picture when realizing encoding of a video with a target code amount.
- the purpose is to provide a new video code amount control technology to be realized.
- the present invention is a video code amount control method for controlling a generated code amount of a picture to be encoded based on an initial value of an assigned code amount given to each picture in advance. , The process of obtaining the difference between the assigned code amount of the picture that has been encoded and the actually generated code amount as an error code amount, and the next and subsequent pictures based on the sign of the error code amount Selecting either the maximum value or the minimum value of the assigned code amount calculated from the initial value and a constant given in advance as a correction allowable width, and the correction allowable width and the assigned code amount for the plurality of pictures.
- the step of obtaining the maximum value and the minimum value of the assigned code amount based on the initial value and the constant of the assigned code amount in advance is provided. Is preferred.
- the allocated code amount in the process of selecting, when the error code amount shows a positive value because the allocated code amount is larger than the actually generated code amount, the allocated code amount When the maximum value is selected as the correction allowable width, and the error code amount indicates a negative value because the assigned code amount is smaller than the actually generated code amount, the minimum value of the assigned code amount is It is preferable to select the correction allowable width.
- the step of clipping the update ratio within a range the step of obtaining the difference between the error code amount and the sum of the variable code amount as the carry-over code amount, and the carry-over code amount And adding to the error code amount obtained when the next picture is encoded.
- the update ratio is common to the plurality of pictures.
- the present invention is a video code amount control device that controls the generated code amount of a picture to be encoded based on an initial value of an assigned code amount given to each picture in advance, and has finished encoding Means for obtaining a difference between an assigned code amount of a picture and an actually generated code amount as an error code amount, and for the next and subsequent pictures, the initial value of the assigned code amount is given in advance based on the sign of the error code amount
- Means for obtaining a code amount means for obtaining a ratio of a sum of the variable code amount and the error code amount as an update ratio; and for the plurality of pictures, the variable code Said based on the update rate to calculate the variation amount of codes for assignment code amount, based on the variation amount of code, and means for updating the assigned code amount of each picture of the plurality pictures with.
- the video code amount control apparatus further comprises means for obtaining the maximum value and the minimum value of the assigned code amount based on the initial value and the constant of the assigned code amount for each picture in advance. Is preferred.
- the means for selecting when the allocated code amount is larger than the actually generated code amount and the error code amount shows a positive value, When the maximum value is selected as the correction allowable width, and the error code amount indicates a negative value because the assigned code amount is smaller than the actually generated code amount, the minimum value of the assigned code amount is It is preferable to select the correction allowable width.
- means for clipping the update ratio within a range means for obtaining a difference between the error code amount and the sum of the variable code amounts as a carry-over code amount, and the carry-over code amount It is preferable to include means for adding to the error code amount obtained when the next picture is encoded.
- the update ratio is common to the plurality of pictures.
- the present invention is also a video code amount control program for causing a computer to execute the video code amount control method of the present invention.
- the present invention is also a computer-readable recording medium on which a video code amount control program for causing a computer to execute the video code amount control method of the present invention is recorded.
- the variable code amount of a plurality of predetermined pictures is obtained,
- the update ratio is obtained from the ratio between the total of the variable code amount and the error code amount, and the variable code amount allocated to each picture is obtained based on the variable code amount and the update ratio of each picture.
- the error code amount is assigned to the assigned code amounts of the next and subsequent pictures.
- the VBR As described above, even when the code amount allocated to each picture varies greatly between pictures, the fluctuation of the quantization width due to the correction of the error code amount falls within a certain range.
- the distribution amount (variable code amount) is obtained based on a common update ratio with respect to the variable code amount of each picture, the quantization width of each picture changes in the same way. Fluctuations in image quality during this period can be kept small.
- the conventional method can continue the control without failing even when the control fails.
- clip processing for realizing this mechanism is performed only for the update ratio, processing can be performed with only one conditional branch.
- This video code quantity control device controls the generated code quantity of a picture to be encoded based on an initial value of an assigned code quantity given to each picture in advance.
- first calculation means for obtaining a difference between an assigned code amount of a picture that has been encoded and an actually generated code amount as an error code amount; and (2) for a plurality of pictures subsequent to the first, Based on the sign of the error code amount obtained by one calculation means, either the maximum value or the minimum value of the assigned code amount calculated from the initial value of the assigned code amount and a predetermined constant is used as the allowable correction width.
- Second calculating means for determining, as a variable code quantity, a difference between the correction allowable width selected by the selection means and the allocated code quantity for a plurality of subsequent pictures;
- Calculation A third calculating unit that calculates a sum of the variable code amounts obtained by the means and obtains a ratio between the calculated total of the variable code amounts and the error code amount obtained by the first calculating unit as an update ratio;
- For a plurality of subsequent pictures calculate a variable code amount for the assigned code amount based on the variable code amount obtained by the second calculation unit and the update ratio obtained by the third calculation unit.
- Updating means for updating the allocated code amount of each picture of the plurality of pictures based on the calculated variable code amount.
- the selection means includes a fourth calculation means for obtaining a maximum value and a minimum value of the assigned code quantity based on an assigned code quantity initial value and a constant given in advance. You may make it read the applicable thing from what was calculated
- This fourth calculation means assigns the assigned code amount initial value multiplied by a constant to the assigned code amount maximum value, and assigns the assigned code amount initial value multiplied by a constant to the assigned code amount minimum value, In some cases, a value obtained by adding a constant to an assigned code amount initial value is used as the assigned code amount maximum value, and a value obtained by subtracting a constant from the assigned code amount initial value is used as the assigned code amount minimum value.
- the selection unit selects the maximum assigned code amount as the correction allowable width, and the error code amount is When a negative value is indicated (when the assigned code amount is smaller than the actual generated code amount), the assigned code amount minimum value is selected as the correction allowable width.
- the error code amount is 0, it may be handled in the same way as when the error code amount shows a positive value, or may be handled in the same way as when the error code amount shows a negative value.
- the video code amount control method realized by the operation of each processing means described above can also be realized by a computer program.
- the computer program is provided by being recorded on an appropriate computer-readable recording medium or provided via a network, and is installed when the video code amount control method is executed and is installed in a CPU (Central Processing Unit).
- the video code amount control method is realized by operating on the control means such as).
- an initial allocation code amount is set for each picture to be encoded. Determine the value. Then, for example, a value obtained by multiplying the initial value of the assigned code amount by a constant is used as the assigned code amount maximum value, and a value obtained by multiplying the constant by one constant is used as the assigned code amount minimum value. Thereby, as shown in FIG. 1B, the fluctuation range (maximum value to minimum value) of the allocated code amount is determined for each picture to be encoded.
- variable range of the assigned code amount determined at this time is determined from the initial value of the assigned code amount, and thus remains unchanged in the encoding process.
- the difference between the allocated code amount of the picture that has been encoded and the actually generated code amount is obtained as the error code amount.
- the error code amount obtained at this time is added to the assigned code amount of the next picture.
- the fluctuation from the assigned code amount obtained in advance increases. End up.
- the video code amount control apparatus adopts a configuration in which the error code amount obtained at this time is distributed to the N pictures beyond that to be encoded.
- this video code amount control apparatus a margin from the allocation limit is obtained for each of the N pictures beyond, and a code amount obtained by multiplying the margin by an update ratio that is a fixed ratio is obtained.
- the code amount thus determined is distributed to the N pictures.
- the update ratio is determined based on the fact that the sum of the code amounts distributed to the N pictures beyond is equal to the error code amount.
- the difference between the assigned code amount of the picture that has been encoded and the actually generated code amount is obtained as the error code amount.
- the video code amount control device adds the error code amount to the assigned code amount of the next and subsequent pictures when the error code amount shows a positive value based on the sign of the error code amount.
- the maximum value of the allocated code amount obtained before entering the encoding is selected as the correction allowable width.
- the video code amount control apparatus before the coding starts to allocate the error code amount by subtracting the error code amount from the allocated code amounts of the next and subsequent pictures.
- the minimum value of the assigned code amount obtained in (5) is selected as the correction allowable width.
- the fourth calculating means when the error code amount shows a positive value at the time of selecting the correction allowable width, the initial value of the assigned code amount is set for the next and subsequent pictures.
- the maximum value of the allocated code amount is obtained by calculating a constant multiple, and is selected as the correction allowable width.
- the minimum value of the assigned code amount is obtained by calculating, for example, one time of a constant of the assigned code amount initial value for the next and subsequent pictures. Is selected as the correction allowable width.
- the difference between the correction allowable width and the assigned code amount is obtained as a variable code amount, and the ratio of the sum of the variable code amount thus determined and the error code amount is updated. Calculate as a ratio.
- variable code amount for the assigned code amount of each picture constituting the next and subsequent pictures is calculated, and based on this, the assigned code amount of each picture is calculated. Update.
- the initial value of the assigned code amount of a certain picture after the next is 50
- a value obtained by doubling the initial value of the assigned code amount is set to the maximum value of the assigned code amount, and the assigned code amount is multiplied by 1/2
- the maximum value of the assigned code amount is 100
- the minimum value of the assigned code amount is 25.
- variable code amount of picture j is expressed as Tm [j]
- the error code amount is expressed as D
- the update ratio is expressed as K
- the update ratio K is set based on the fact that the sum of the variable code amounts Td [j] distributed to the N pictures beyond is equal to the error code amount D. I try to decide.
- this error code amount control device when the error code amount is obtained based on the difference between the assigned code amount of the picture that has been encoded and the actually generated code amount, this error code amount is used as it is for the next picture. Instead of adding up to the allocated code amount, the number of pictures to be encoded is distributed and settled according to the degree of necessity of the pictures.
- the video code amount control apparatus when the video is encoded with the target code amount, the image quality fluctuation for each picture can be reduced, and the subjective image quality can be improved. Will be able to.
- the update ratio is clipped within the range so that a difference can be made between the error code amount and the total of the variable code amount, and the difference thus made is carried over as the carry-over code amount. Then, it is added to the error code amount obtained at the time of encoding the next picture.
- the amount that cannot be stacked (the amount that cannot be drawn) is distributed when the next picture is processed.
- FIG. 4 illustrates an example of a device configuration of a video encoding device including a video code amount control device to which the present invention is applied.
- this video encoding apparatus has an allocated code amount storage unit 101, a subtractor 103, a feature amount storage unit 104, a quantization width calculation unit 105, a subtraction, which perform the same functions as those shown in FIG. 14.
- Unit 106 DCT unit 107, quantization unit 108, inverse quantization unit 109, IDCT unit 110, adder 111, decoded image storage buffer 112, predicted image generation unit 113, and variable length encoding unit 114.
- the video encoding device includes an allocated code amount calculation unit 200 that executes processing characteristic of the present embodiment.
- the video code amount control apparatus includes an allocated code amount calculation unit 200 and a subtracter 103.
- FIG. 5 shows an example of a flowchart of processing executed by the allocated code amount calculation unit 200 characteristic of the present embodiment.
- a portion surrounded by a dotted line is an application area of the present invention.
- the video encoding apparatus When starting the process, the video encoding apparatus first initializes the error code amount and the picture number n with 0 as an initialization process in step S101.
- step S102 the nth picture is encoded with an assigned code amount given in advance.
- the initial value of the assigned code amount of each picture is set in advance based on the first encoding result.
- step S103 it is determined whether or not encoding of all frames (all pictures) has been completed. If encoding of all frames has been completed, the process ends and encoding of all frames is completed. If is not completed, the following processing is executed.
- step S104 the error code amount is calculated from the difference between the assigned code amount and the generated code amount for the nth picture, and in the subsequent step S105, the sign of the calculated error code amount is positive or negative. Judge whether or not.
- step S104 When it is determined that the error code amount calculated in step S104 is positive in accordance with the determination process in step S105, the process proceeds to step S106, from n + 1 to n + Nth sheet (N is a predetermined constant exceeding 1).
- the maximum code amount of each picture (maximum value of the assigned code amount described above) is calculated from the initial value of the assigned code amount of each picture and a constant.
- step S107 the variable code amount of each picture is calculated from the difference between the maximum code amount and the assigned code amount of each picture from n + 1 to n + N.
- step S104 when it is determined that the error code amount calculated in step S104 is negative according to the determination process in step S105, the process proceeds to step S108, where n + 1 to n + Nth sheets (N is a constant exceeding 1 which is determined in advance).
- the minimum code amount of each picture up to (the above-mentioned minimum value of the assigned code amount) is calculated from the assigned code amount initial value of each picture and a constant.
- step S109 the variable code amount of each picture is calculated from the difference between the minimum code amount and the assigned code amount of each picture from n + 1 to n + N.
- step S110 when the variable code amount of each picture from the (n + 1) th to the (n + N) th picture is calculated in steps S107 and 109, the total (total value) of the calculated variable code amounts is obtained in step S110.
- the update ratio is obtained from the ratio between the total of the variable code amount and the error code amount.
- step S111 the variable code amount of each picture is obtained by the product of the variable code amount of each picture from n + 1 to n + Nth picture and the obtained update ratio.
- step S112 the allocated code amount of each picture is updated by adding the obtained variable code amount to the allocated code amount of each picture from n + 1 to n + N. Note that the initial value of the assigned code amount of each picture is set in advance based on the first encoding result and is not updated.
- step S113 the processing target is moved to the next picture, and the above processing is repeated by returning to the processing in step S102.
- the error code amount generated in the encoded picture is distributed not only to the next picture but also to a plurality of pictures, so that fluctuations in the assigned code amount of the next picture can be suppressed. It becomes like this.
- the distribution amount is determined like VBR. Even when the allocated code amount varies greatly between pictures, the fluctuation of the quantization width due to the correction of the error code amount can be kept within a certain range.
- the distribution amount is obtained by multiplying the variable code amount of each picture by a common update ratio, the quantization width of each picture changes in the same way, and the image quality between pictures by this processing is changed. Fluctuations can be minimized.
- the maximum code amount is calculated in step S106, and the minimum code amount is calculated in step S108.
- the maximum code amount and the minimum code amount are calculated from the assigned code amount initial value and constant of each picture, they can be calculated before entering the processing of step S101. From this, the maximum code amount and the minimum code amount may be calculated before entering the process of step S101, and in step S106 and step S108, the corresponding one may be selected from the calculated ones. In this way, it is not necessary to repeatedly calculate the maximum code amount and the minimum code amount showing the same value.
- FIG. 6 illustrates an example of a device configuration of the allocated code amount calculation unit 200 that executes the flowchart of FIG.
- the allocation code amount calculation unit 200 that executes processing characteristic of the present embodiment includes an allocation control unit 2001, an allowable correction width calculation unit 2002, a maximum code amount holding memory 2003, and a minimum code.
- the allocation control unit 2001 sends memory read control signals to the three memories 2003, 2004, and 2005 to control the outputs of the memories 2003, 2004, and 2005, and controls ON / OFF of the switch B2013 and switching of the switch C2014. To do.
- the allowable correction width calculation unit 2002 calculates the maximum code amount and the minimum code amount of each picture from the assigned code amount initial value of each picture, and outputs them to the maximum code amount holding memory 2003 and the minimum code amount holding memory 2004.
- the maximum code amount holding memory 2003 holds the maximum code amount of each picture output from the allowable correction width calculation unit 2002, and when receiving the memory read control signal from the allocation control unit 2001, the maximum code amount of the designated picture number Is output to the switch A2012.
- the minimum code amount holding memory 2004 holds the minimum code amount of each picture output from the allowable correction width calculation unit 2002, and upon receiving a memory read control signal from the assignment control unit 2001, the minimum code amount of the designated picture number Is output to the switch A2012.
- the allocation code amount holding memory 2005 holds the allocation code amount of each picture output from the switch C2014, and adds the allocation code amount of the designated picture number to the subtractor 2007 and adds according to the memory read control signal from the allocation control unit 2001. To the device 2011.
- the positive / negative determination unit 2006 determines whether the error code amount is positive or negative for a picture that has been encoded, and outputs a switching control signal corresponding to the determination result to the switch A2012, so that the determination result is positive. Controls the switch A2012 to select and output the maximum code amount output from the maximum code amount holding memory 2003, and when the determination result is negative, the switch A2012 outputs from the minimum code amount holding memory 2004. Control to select and output the minimum code amount.
- the subtractor 2007 calculates a variable code amount of each picture by calculating a difference between the maximum code amount or the minimum code amount output from the switch A2012 and the allocated code amount output from the allocated code amount holding memory 2005, The total value calculation unit 2008 and the multiplier 2010 are output.
- the total value calculation unit 2008 calculates the total value of the variable code amount output from the subtracter 2007 to calculate the total value of the variable code amount of each picture, and outputs the total value to the ratio calculation unit 2009.
- the ratio calculation unit 2009 calculates the update ratio by calculating the ratio between the total value of the variable code amount output from the total value calculation unit 2008 and the error code amount for the picture that has been encoded, and the multiplier 2010. Output to.
- the multiplier 2010 calculates the variable code amount of each picture by multiplying the variable code amount output from the subtractor 2007 and the update ratio output from the ratio calculation unit 2009, and outputs it to the adder 2011.
- the adder 2011 obtains an update value of the assigned code amount of each picture by adding the assigned code amount output from the assigned code amount holding memory 2005 and the variable code amount output from the multiplier 2010, and the switch B2013 and the switch Output to C2014.
- the switch A 2012 selects the terminal a when selecting the maximum code amount, and selects the terminal b when selecting the minimum code amount. Either the maximum code amount output from the holding memory 2003 or the minimum code amount output from the minimum code amount holding memory 2004 is selected and output to the subtracter 2007.
- Switch B 2013 outputs the update value of the assigned code amount output from adder 2011 to quantization width calculator 105 and subtracter 103 shown in FIG. 4 in accordance with the switching control signal from assignment controller 2001.
- the switch C2014 selects the terminal a when selecting the initial value of the allocation code amount according to the switching control signal from the allocation control unit 2001, and selects the updated allocation code amount output from the adder 2011. By selecting the terminal b, either the initial value of the assigned code amount or the updated value of the assigned code amount is selected and output to the assigned code amount holding memory 2005.
- the allocation code amount calculation unit 200 inputs an allocation code amount initial value to the allowable correction width calculation unit 2002, obtains the maximum code amount and the minimum code amount of the first to Nth pictures, The data is sent to the maximum code amount holding memory 2003 and the minimum code amount holding memory 2004, respectively. Then, a switching control signal is sent from the allocation control unit 2001 to the switch C2014 to switch the switch C2014 to the terminal a side, and the allocated code amount initial value of the first to Nth pictures is assigned to the allocated code amount holding memory 2005. input.
- the positive / negative determining unit 2006 determines whether the input error code amount is positive or negative, and sends a switching control signal to the switch A 2012. If it is positive, the positive / negative determining unit 2006 switches to the terminal a side. Subsequently, a memory read control signal is sent from the allocation control unit 2001 to the maximum code amount holding memory 2003, the minimum code amount holding memory 2004, and the allocated code amount holding memory 2005, and the first to Nth sheets held in each memory are sent. Each value of the picture up to is output.
- the subtracter 2007 obtains a difference between the outputs to obtain a variable code amount, and the total value is calculated by the total value calculation unit 2008.
- the ratio calculation unit 2009 obtains an update ratio from the ratio between the obtained total value of the variable code amount obtained and the error code amount.
- a memory read control signal is sent again from the allocation control unit 2001 to the maximum code amount holding memory 2003, the minimum code amount holding memory 2004, and the allocated code amount holding memory 2005, and the first sheet held in each memory To the Nth picture.
- the subtracter 2007 obtains the variable code amount of each picture from the difference between the output values, and the multiplier 2010 calculates the variable code amount of each picture by the product with the update ratio obtained earlier. Then, the adder 2011 adds the obtained variable code amount of each picture to the assigned code amount of each picture, thereby calculating an update value of the assigned code amount of each picture.
- the switch C2014 is switched to the terminal b side by a switching control signal from the allocation control unit 2001, and the update value of the allocated code amount of each picture obtained is output to the allocated code amount holding memory 2005, so that Update the allocated code amount.
- the switch B2013 is turned on, and the updated allocation code amount of the next picture is output to the quantization width calculation unit 105 and the subtracter 103 illustrated in FIG.
- the sign of the error code amount is determined by the positive / negative determination unit 2006, and a switching control signal is sent to the switch A2012, and when it is positive, it switches to the terminal a side, and when negative, it switches to the terminal b side.
- the maximum code amount of each picture from the (n + 1) th to (n + N) th pictures is calculated by the allowable correction amount calculation unit 2002 based on the assigned code amount initial value and the constant. Store in the holding memory 2003. Subsequently, the subtracter 2007 calculates the variable code amount of each picture from the (n + 1) th to the (n + N) th picture. In this calculation process, the maximum code amount of each picture is sequentially output from the maximum code amount holding memory 2003 to the subtracter 2007 in accordance with the memory read control signal from the assignment control unit 2001, and the assigned code amount of each picture at that time is calculated. Calculation is performed by sequentially outputting the allocated code amount holding memory 2005 to the subtracter 2007.
- the minimum code amount of each picture from the (n + 1) th to the (n + N) th picture is calculated by the allowable correction amount calculation unit 2002 based on the assigned code amount initial value and the constant. It is stored in the code amount holding memory 2004. Subsequently, the subtracter 2007 calculates the variable code amount of each picture from the (n + 1) th to the (n + N) th picture. In this calculation process, the minimum code amount of each picture is sequentially output from the minimum code amount holding memory 2004 to the subtracter 2007 in accordance with the memory read control signal from the assignment control unit 2001, and the assigned code amount of each picture at that time is calculated. Calculation is performed by sequentially outputting the allocated code amount holding memory 2005 to the subtracter 2007.
- the update ratio is calculated from the ratio between the total of the variable code amount and the error code amount.
- the total of the variable code amount is obtained by calculating the sum from the output from the subtracter 2007 by the total value calculation unit 2008.
- An update ratio is obtained by the ratio calculation unit 2009 from the sum and the error code amount.
- variable code amount of each picture is obtained by the multiplier 2010. This is because after the update ratio is calculated, a memory read control signal is sent from the allocation control unit 2001 to the allocated code amount holding memory 2005, the maximum code amount holding memory 2003, and the minimum code amount holding memory 2004, and the subtracter 2007 performs the same as described above. The variable code amount is calculated. Then, the multiplier 2010 multiplies this value and the update ratio to obtain the variable code amount of each picture from n + 1 to n + N.
- variable code amount and the assigned code amount of each picture output from the assigned code amount holding memory 2005 are added by an adder 2011 to obtain an updated value of the assigned code amount of each picture.
- the switch C2014 is switched to the terminal b side by the switching control signal from the allocation control unit 2001, and the allocation code amount of each picture held in the allocation code amount holding memory 2005 is overwritten and updated with the updated allocation code amount.
- the maximum value and the minimum value of the assigned code amount for each picture are respectively obtained by a constant multiple of the assigned code amount initial value of each picture given in advance and a constant fraction.
- the update ratio is clipped to the maximum value or less (in the range). Accordingly, a portion of the error code amount that is not allocated to each picture is assumed to have a function of adding to the error code amount of the next picture as a carry-over code amount (which may indicate a negative value).
- FIG. 7 shows an example of a flowchart executed by the allocated code amount calculation unit 200 to realize the present embodiment.
- step S201 when processing is started, first, in step S201, error code amount D, carry-over code amount C, and picture number n are initialized to 0 as initialization processing.
- step S202 the nth picture is encoded with an assigned code amount given in advance.
- the encoding performed here is the same as the encoding performed in step S102 of the flowchart of FIG.
- step S203 it is determined whether or not encoding of all frames (all pictures) has been completed. If encoding of all frames has been completed, the process ends and encoding of all frames is completed. If is not completed, the following processing is executed.
- the error code amount D is calculated from the difference between the allocated code amount Tt and the actually generated actual code amount Tg. D ⁇ Tt -Tg Is calculated.
- step S205 an error code amount D obtained by adding the carry-over code amount C by adding the carry-over code amount C to the error code amount D.
- step S206 it is determined whether or not the error code amount D is 0 or more, and when it is determined that the error code amount D is 0 or more, the process proceeds to step S207, and the flowchart of FIG. The process shown is executed.
- step S301 the code amount given in advance for each picture from the (n + 1) th sheet to the (n + N) th sheet (N is a predetermined constant exceeding 1).
- the maximum code amount Tmax [j] is obtained by a constant multiple of Torg [j] (n + 1 ⁇ j ⁇ n + N). If a constant of a constant multiple is expressed by ⁇ , Tmax [j] ⁇ Torg [j] ⁇ ⁇ Is demanded.
- Torg [j] is specifically an initial value of the allocated code amount of the j-th picture set based on the first encoding result.
- step S302 a variable code amount Tm [j] and a sum Tm_sum thereof are obtained for each picture from the (n + 1) th picture to the (n + N) th picture. That is, based on the maximum code amount Tmax [j] and the assigned code amount Tt [j], the variable code amount Tm [j] Tm [j] ⁇ Tmax [j] ⁇ Tt [j] And the sum Tm_sum Tm_sum ⁇ ⁇ Tm [j] However, ⁇ calculates the sum for n + 1 ⁇ j ⁇ n + N.
- step S303 the update ratio K is calculated from the ratio between the error code amount D ( ⁇ 0) and the total Tm_sum ( ⁇ 0) of the variable code amount. K ⁇ D / Tm_sum Ask for.
- step S304 the obtained update ratio K is clipped with a maximum value Kmax (a fixed value given in advance). That is, based on the obtained update ratio K and a preset maximum value Kmax, K ⁇ Max [K, Kmax] Is demanded.
- step S305 the variable code amount Td [j] is obtained for each picture from the (n + 1) th picture to the (n + N) th picture using the update ratio K thus obtained. That is, based on the update ratio K and the variable code amount Tm [j], the variable code amount Td [j] Td [j] ⁇ K ⁇ Tm [j] Is calculated.
- step S306 the allocated code amount Td [j] obtained in this way is added to the assigned code amount Tt [j], so that the assigned code amount for each picture from the (n + 1) th picture to the (n + N) th picture is obtained.
- Tt [j] is updated, and the process of step S207 in the flowchart of FIG. 7 ends. That is, based on the variable code amount Td [j] and the assigned code amount Tt [j], Tt [j] ⁇ Tt [j] + Td [j] Thus, the allocated code amount Tt [j] is updated, and the process of step S207 in the flowchart of FIG. 7 ends.
- step S206 when it is determined in step S206 in the flowchart of FIG. 7 that the error code amount D is not 0 or more, the process proceeds to step S208 to execute the processing shown in the flowchart of FIG.
- step S401 a code amount given in advance for each picture from the (n + 1) th sheet to the (n + N) th sheet (N is a predetermined constant exceeding 1).
- the minimum code amount Tmin [j] is obtained by a constant fraction of Torg [j] (n + 1 ⁇ j ⁇ n + N). That is, if a constant of a constant is expressed by ⁇ , Tmin [j] ⁇ Torg [j] / ⁇ Is demanded.
- Torg [j] is specifically an initial value of the allocated code amount of the j-th picture set based on the first encoding result.
- the constant of one constant is preferably the same value ( ⁇ ) as the constant multiplied by the above constant, but it is not essential that these two constants are the same.
- step S402 a variable code amount Tm [j] and a sum Tm_sum thereof are obtained for each picture from the (n + 1) th picture to the (n + N) th picture. That is, based on the minimum code amount Tmin [j] and the assigned code amount Tt [j], the variable code amount Tm [j] Tm [j] ⁇ Tmin [j] ⁇ Tt [j] And the sum Tm_sum Tm_sum ⁇ ⁇ Tm [j] However, ⁇ calculates the sum for n + 1 ⁇ j ⁇ n + N.
- step S403 the update ratio K is calculated from the ratio between the error code amount D ( ⁇ 0) and the total Tm_sum ( ⁇ 0) of the variable code amount. K ⁇ D / Tm_sum Ask for.
- step S404 the obtained update ratio K is clipped with a maximum value Kmax (a fixed value given in advance). That is, based on the obtained update ratio K and a preset maximum value Kmax, K ⁇ Max [K, Kmax] Is demanded.
- step S405 the code amount Td [j] is obtained for each picture from the (n + 1) th to the (n + N) th picture using the update ratio K thus obtained. That is, based on the update ratio K and the variable code amount Tm [j], the variable code amount Td [j] Td [j] ⁇ K ⁇ Tm [j] Is calculated.
- step S406 the allocated code amount Td [j] thus obtained is added to the assigned code amount Tt [j], thereby assigning the assigned code amount for each picture from the (n + 1) th picture to the (n + N) th picture.
- Tt [j] is updated, and the process of step S208 in the flowchart of FIG. 7 ends. That is, based on the variable code amount Td [j] and the assigned code amount Tt [j], Tt [j] ⁇ Tt [j] + Td [j] In this way, the allocated code amount Tt [j] is updated, and the process of step S208 in the flowchart of FIG. 7 ends.
- step S207 and step S208 the sum Td_sum of the variable code amount Td [j] is obtained in step S209. That is, Td_sum ⁇ ⁇ Td [j] However, ⁇ calculates the sum for n + 1 ⁇ j ⁇ n + N.
- step S210 the carry-over code amount C is calculated based on the difference between the error code amount D and the calculated total Td_sum of the variable code amounts.
- the carry-over code amount C calculated in this way is added to the error code amount D in step S205.
- step S211 the processing target is moved to the next picture, and the processing of returning to step S202 is repeated to encode the next picture with the assigned code amount Tt.
- the basic configuration of the video encoding apparatus for realizing the processing of the present embodiment is the same as that shown in FIG. 4, and the allocated code amount calculation unit 200 is different from that shown in FIG. A new configuration will be added to the configuration shown.
- FIG. 10 illustrates an example of the configuration of the allocated code amount calculation unit 200 for realizing the processing of the present embodiment.
- the allocation code amount calculation unit 200 includes the processing units 2001 to 2008 and 2010 to 2014 shown in FIG.
- the update ratio calculated in 2009 is clipped to the maximum value or less, and a second total value calculation unit 2015, a subtracter 2016, a carry-over amount holding unit 2017, and an adder 2018 are newly added. Prepare.
- the second total value calculating unit 2015 receives the variable code amount Td [j] output from the multiplier 2010 as an input, calculates the total value, thereby calculating the total Td_sum of the variable code amount, and the subtracter 2016. Output to.
- the subtractor 2016 calculates the carry-over code amount C by calculating the difference between the error code amount D and the sum of the variable code amounts Td_sum output from the second total value calculation unit 2015, and sends it to the carry-over amount holding unit 2017. Output.
- the carryover amount holding unit 2017 holds the carryover code amount C output from the subtracter 2016, and outputs the held carryover code amount C to the adder 2018 when the next picture is encoded.
- the adder 2018 corrects the error code amount D by adding the carry code amount C output from the carry amount holding unit 2017 and the error code amount D obtained by the current encoding when the next picture is encoded. The result is output to the positive / negative determining unit 2006, the ratio calculating unit 2009, and the subtracter 2016.
- the experimental image used was an ITE standard image “seq07” “European“ Market ”” (1440 ⁇ 1080, 450 mm frame from the head of the image, containing “telop”).
- the encoding method uses a two-pass encoding method, the first encoding is performed with a fixed quantization width, and half of the generated code amount of each picture is set as the target code amount for the second encoding. went.
- the quantization parameter at the first encoding (quantization width expressed in log scale) was 24 for I picture, 27 for P picture, and 30 for B picture.
- the experiment of the conventional method was performed by adding the error generated for each picture to the next picture and encoding.
- the addition is performed on the next same type picture, for example, the error of the I picture is corrected in the next I picture.
- the experiment of the present invention was performed by encoding according to the method described in the examples.
- the maximum code amount is twice the initial value of the assigned code amount
- the minimum code amount is 1 ⁇ 2 of the assigned code amount initial value
- FIG. 11A and FIG. 11B show the results of this experiment in comparison with the conventional method and the present invention.
- the horizontal axis indicates the frame number
- the vertical axis indicates the quantization parameter.
- the program for realizing each processing step described above is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed, whereby video encoding is performed. You may perform the various process which concerns on the apparatus mentioned above.
- the computer system may include an OS (operating system) and hardware such as peripheral devices.
- the computer system also includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used.
- Computer-readable recording media include flexible disks, magneto-optical disks, ROM (Read Only Memory), writable non-volatile memory such as flash memory, portable media such as CD (compact disk) -ROM, and computer systems.
- a built-in storage device such as a hard disk.
- the computer-readable recording medium is a volatile memory (for example, DRAM (Dynamic Random Random) inside a computer system serving as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. (Access Memory)), etc., which hold a program for a certain period of time.
- DRAM Dynamic Random Random
- the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
- the transmission medium for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
- the program may be for realizing a part of the functions described above. Furthermore, what can implement
- the present invention can be applied to video coding, and by applying the present invention, image quality fluctuation for each picture can be reduced when the video is encoded with a target code amount. As a result, the subjective image quality can be improved.
Abstract
Description
本願は、2008年6月5日に、日本に出願された特願2008-147534号に基づき優先権を主張し、その内容をここに援用する。
これにより、符号化したピクチャで発生した誤差符号量を次ピクチャばかりでなく複数のピクチャに分配することで、次ピクチャの割り当て符号量の変動を抑えることができ、従ってピクチャ毎の画質変動を小さくできる。
〔1〕映像符号量制御装置の構成
この映像符号量制御装置は、予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御するという構成を採るときに、(1)符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める第1の算出手段と、(2)次以降の複数ピクチャについて、第1の算出手段の求めた誤差符号量の正負に基づいて、割り当て符号量初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する選択手段と、(3)次以降の複数ピクチャについて、選択手段の選択した修正許容幅と割り当て符号量との差を変動可能符号量として求める第2の算出手段と、(4)第2の算出手段の求めた変動可能符号量の総和を算出して、算出された変動可能符号量の総和と第1の算出手段の求めた誤差符号量との比を更新比率として求める第3の算出手段と、(5)次以降の複数ピクチャについて、第2の算出手段の求めた変動可能符号量と第3の算出手段の求めた更新比率とに基づいて割り当て符号量についての変動符号量を算出して、算出された変動符号量に基づいて、複数ピクチャの各ピクチャの割り当て符号量を更新する更新手段とを備える。
以下に、第4の算出手段を備える場合に実行する処理を具体例にして、この映像符号量制御装置の処理の一例について説明する。
K=D/ΣTm[j]
と求められる。この更新比率Kに従って、ピクチャjの変動符号量Td[j]は、
Td[j]=K×Tm[j]
と求められる。従って、この変動符号量Td[j]の向こうN枚のピクチャの総和は、
ΣTd[j]=ΣK×Tm[j]=K×ΣTm[j]=(D/ΣTm[j])×ΣTm[j]=D
となる。
図4に、本発明が適応される映像符号量制御装置を具備する映像符号化装置の装置構成の一例を図示する。
D←Tt -Tg
を算出する。
D←D+C
を算出する。
Tmax[j]←Torg[j]×α
を求めるのである。ここで、Torg[j]は、具体的には、一回目の符号化結果に基づいて設定されたj番目のピクチャの割り当て符号量の初期値である。
Tm[j]←Tmax[j]-Tt[j]
を算出するとともに、その総和Tm_sum
Tm_sum←ΣTm[j]
ただし、Σはn+1≦j≦n+Nについての総和
を算出するのである。
K←D/Tm_sum
を求める。
K←Max〔K,Kmax 〕
を求めるのである。
Td[j]←K×Tm[j]
を算出するのである。
Tt[j]←Tt[j]+Td[j]
というように割り当て符号量Tt[j]を更新して、図7のフローチャートのステップS207の処理を終了するのである。
Tmin[j]←Torg[j]/α
を求めるのである。ここで、Torg[j]は、具体的には、一回目の符号化結果に基づいて設定されたj番目のピクチャの割り当て符号量の初期値である。なお、定数分の一の定数は、上述した定数倍の定数と同じ値(α)であることが好ましいが、これら2つの定数が同一であることは必須ではない。
Tm[j]←Tmin[j]-Tt[j]
を算出するとともに、その総和Tm_sum
Tm_sum←ΣTm[j]
ただし、Σはn+1≦j≦n+Nについての総和
を算出するのである。
K←D/Tm_sum
を求める。
K←Max〔K,Kmax 〕
を求めるのである。
Td[j]←K×Tm[j]
を算出するのである。
Tt[j]←Tt[j]+Td[j]
というように割り当て符号量Tt[j]を更新して、図7のフローチャートのステップS208の処理を終了するのである。
Td_sum←ΣTd[j]
ただし、Σはn+1≦j≦n+Nについての総和
を算出するのである。
C←D-Td_sum
を算出する。上述したように、このようにして算出した持ち越し符号量Cについては、ステップS205で誤差符号量Dに加算されることになる。
103 減算器
104 特徴量保存部
105 量子化幅算出部
106 減算器
107 DCT部
108 量子化部
109 逆量子化部
110 IDCT部
111 加算器
112 復号画像保存バッファ
113 予測画像生成部
114 可変長符号化部
200 割り当て符号量算出部
2001 割り当て制御部
2002 許容修正幅算出部
2003 最大符号量保持メモリ
2004 最小符号量保持メモリ
2005 割り当て符号量保持メモリ
2006 正負判定部
2007 減算器
2008 合計値算出部
2009 比率算出部
2010 乗算器
2011 加算器
2012 スイッチA
2013 スイッチB
2014 スイッチC
Claims (12)
- 予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御方法であって、
符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める過程と、
次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する過程と、
前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める過程と、
前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める過程と、
前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する過程とを備える映像符号量制御方法。 - 請求項1に記載の映像符号量制御方法において、
前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める過程を備える映像符号量制御方法。 - 請求項1又は2に記載の映像符号量制御方法において、
前記選択する過程では、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択する映像符号量制御方法。 - 請求項1ないし3のいずれか1項に記載の映像符号量制御方法において、
前記更新比率を値域内でクリップする過程と、
前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める過程と、
前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する過程とを備える映像符号量制御方法。 - 請求項1ないし4のいずれか1項に記載の映像符号量制御方法において、前記更新比率は前記複数ピクチャに共通である映像符号量制御方法。
- 予め各ピクチャに与えられた割り当て符号量の初期値に基づいて、符号化対象となるピクチャの発生符号量を制御する映像符号量制御装置であって、
符号化を終えたピクチャの割り当て符号量と実発生符号量との差を誤差符号量として求める手段と、
次以降の複数ピクチャについて、前記誤差符号量の正負に基づいて、前記割り当て符号量の前記初期値と予め与えられた定数とにより算出される割り当て符号量の最大値か最小値のいずれか一方を修正許容幅として選択する手段と、
前記複数ピクチャについて、前記修正許容幅と割り当て符号量との差を変動可能符号量として求める手段と、
前記変動可能符号量の総和と前記誤差符号量との比を更新比率として求める手段と、
前記複数ピクチャについて、前記変動可能符号量と前記更新比率とに基づいて割り当て符号量についての変動符号量を算出して、前記変動符号量に基づいて、前記複数ピクチャの各ピクチャの割り当て符号量を更新する手段とを備える映像符号量制御装置。 - 請求項6に記載の映像符号量制御装置において、
前もって、各ピクチャについて、前記割り当て符号量の前記初期値と前記定数とに基づいて、前記割り当て符号量の前記最大値および前記最小値を求める手段を備える映像符号量制御装置。 - 請求項6又は7に記載の映像符号量制御装置において、
前記選択する手段は、前記割り当て符号量が前記実発生符号量よりも大きいことで前記誤差符号量が正の値を示す場合には、前記割り当て符号量の前記最大値を前記修正許容幅として選択し、前記割り当て符号量が前記実発生符号量よりも小さいことで前記誤差符号量が負の値を示す場合には、前記割り当て符号量の前記最小値を前記修正許容幅として選択する映像符号量制御装置。 - 請求項6ないし8のいずれか1項に記載の映像符号量制御装置において、
前記更新比率を値域内でクリップする手段と、
前記誤差符号量と前記変動符号量の総和との差を持ち越し符号量として求める手段と、
前記持ち越し符号量を次ピクチャの符号化の際に求められる前記誤差符号量に加算する手段とを備える映像符号量制御装置。 - 請求項6ないし9のいずれか1項に記載の映像符号量制御装置において、前記更新比率は前記複数ピクチャに共通である映像符号量制御装置。
- 請求項1ないし5のいずれか1項に記載の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラム。
- 請求項1ないし5のいずれか1項に記載の映像符号量制御方法をコンピュータに実行させるための映像符号量制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BRPI0911762A BRPI0911762A2 (pt) | 2008-06-05 | 2009-06-03 | método de controle de taxa de bits de vídeo, aparelho de controle de taxa de bits de vídeo, programa de controle de taxa de bits de vídeo, e meio de gravação legível por computador que tem o programa gravado no mesmo |
EP09758343.9A EP2265025B1 (en) | 2008-06-05 | 2009-06-03 | Video encoding amount control method, video encoding amount control device, video encoding amount control program, and computer readable recording medium on which said program is recorded |
US12/994,339 US8548042B2 (en) | 2008-06-05 | 2009-06-03 | Video bitrate control method, video bitrate control apparatus, video bitrate control program, and computer-readable recording medium having the program recorded thereon |
JP2010515888A JP4999991B2 (ja) | 2008-06-05 | 2009-06-03 | 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
ES09758343.9T ES2694713T3 (es) | 2008-06-05 | 2009-06-03 | Método de control de la cantidad de codificación de vídeo, aparato de control de la cantidad de codificación de vídeo, programa de control de la cantidad de codificación de vídeo y medio de grabación legible por ordenador que tiene el programa grabado en el mismo |
CA 2722051 CA2722051C (en) | 2008-06-05 | 2009-06-03 | Method and apparatus for variable video bitrate control in which picture bitrate correction is limited to be within a calculated range |
CN2009801193776A CN102047661B (zh) | 2008-06-05 | 2009-06-03 | 视频码量控制方法和视频码量控制装置 |
RU2010144530/07A RU2485711C2 (ru) | 2008-06-05 | 2009-06-03 | Способ управления скоростью передачи битов видео, устройство управления скоростью передачи битов видео, машиночитаемый носитель записи, на котором записана программа управления скоростью передачи битов видео |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-147534 | 2008-06-05 | ||
JP2008147534 | 2008-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009148076A1 true WO2009148076A1 (ja) | 2009-12-10 |
Family
ID=41398149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/060139 WO2009148076A1 (ja) | 2008-06-05 | 2009-06-03 | 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (11)
Country | Link |
---|---|
US (1) | US8548042B2 (ja) |
EP (1) | EP2265025B1 (ja) |
JP (1) | JP4999991B2 (ja) |
KR (1) | KR101213243B1 (ja) |
CN (1) | CN102047661B (ja) |
BR (1) | BRPI0911762A2 (ja) |
CA (1) | CA2722051C (ja) |
ES (1) | ES2694713T3 (ja) |
RU (1) | RU2485711C2 (ja) |
TW (1) | TWI436648B (ja) |
WO (1) | WO2009148076A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011155474A (ja) * | 2010-01-27 | 2011-08-11 | Renesas Electronics Corp | 符号化装置およびそれを用いたシステム |
US20130077671A1 (en) * | 2010-06-09 | 2013-03-28 | Sony Corporation | Encoding apparatus and encoding method |
JP2013255208A (ja) * | 2012-02-01 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化装置、映像符号化方法及び映像符号化プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8160156B2 (en) * | 2006-02-01 | 2012-04-17 | Verint Systems, Inc. | System and method for controlling the long term generation rate of compressed data |
CN107682700B (zh) * | 2017-09-30 | 2022-10-21 | 江西欧菲炬能物联科技有限公司 | 编码适配方法、装置、移动终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000358247A (ja) | 1999-01-19 | 2000-12-26 | Matsushita Electric Ind Co Ltd | レート制御装置、レート制御方法及び符号化装置 |
JP2006310912A (ja) * | 2005-04-26 | 2006-11-09 | Matsushita Electric Ind Co Ltd | 動画像ビットレート変換方法、動画像ビットレート変換装置、動画像ビットレート変換回路及びプログラム記録媒体 |
JP2008147534A (ja) | 2006-12-13 | 2008-06-26 | Denso Corp | 内燃機関用点火装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3864461B2 (ja) * | 1996-08-30 | 2006-12-27 | ソニー株式会社 | 映像データ圧縮装置およびその方法 |
JP4034380B2 (ja) | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
US6222875B1 (en) | 1997-07-11 | 2001-04-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Low-delay rate detection for variable rate communication systems |
EP1051853B1 (en) * | 1998-01-26 | 2003-06-18 | STMicroelectronics Asia Pacific Pte Ltd. | One-pass variable bit rate moving pictures encoding |
JPH11252572A (ja) | 1998-03-03 | 1999-09-17 | Nippon Hoso Kyokai <Nhk> | 符号量配分装置 |
JP2000023162A (ja) | 1998-06-29 | 2000-01-21 | Sony Corp | 符号化装置及び符号化方法 |
DE19922968B4 (de) | 1998-10-06 | 2016-06-02 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Datenratenanpassung |
US6661840B1 (en) | 1999-04-23 | 2003-12-09 | Sony Corporation | Image encoder and method of the same |
CN1159916C (zh) * | 1999-06-22 | 2004-07-28 | 日本胜利株式会社 | 活动图象编码装置及其方法 |
KR100341063B1 (ko) * | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
JP4256574B2 (ja) * | 2000-08-04 | 2009-04-22 | 富士通株式会社 | 画像信号符号化方法および画像信号符号化装置 |
US7082163B2 (en) | 2000-11-20 | 2006-07-25 | Matsushita Electric Industrial Co., Ltd. | Picture coding method, picture coding apparatus and image relaying apparatus |
US7062445B2 (en) * | 2001-01-26 | 2006-06-13 | Microsoft Corporation | Quantization loop with heuristic approach |
US6895050B2 (en) * | 2001-04-19 | 2005-05-17 | Jungwoo Lee | Apparatus and method for allocating bits temporaly between frames in a coding system |
US6810083B2 (en) * | 2001-11-16 | 2004-10-26 | Koninklijke Philips Electronics N.V. | Method and system for estimating objective quality of compressed video data |
US7027982B2 (en) * | 2001-12-14 | 2006-04-11 | Microsoft Corporation | Quality and rate control strategy for digital audio |
DE60206738D1 (de) * | 2002-06-11 | 2005-11-24 | St Microelectronics Srl | Videokodierungsverfahren und -Vorrichtung mit variabler Bitrate |
US6980695B2 (en) * | 2002-06-28 | 2005-12-27 | Microsoft Corporation | Rate allocation for mixed content video |
CN1190969C (zh) * | 2003-03-08 | 2005-02-23 | 华中科技大学 | 一种视频编码比特率控制方法 |
US7095784B2 (en) * | 2003-04-14 | 2006-08-22 | Silicon Intergrated Systems Corp. | Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level |
GB0321093D0 (en) | 2003-09-09 | 2003-10-08 | Nokia Corp | Multi-rate coding |
US20050089092A1 (en) * | 2003-10-22 | 2005-04-28 | Yasuhiro Hashimoto | Moving picture encoding apparatus |
JP4543971B2 (ja) | 2005-03-07 | 2010-09-15 | ソニー株式会社 | 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体 |
-
2009
- 2009-06-03 US US12/994,339 patent/US8548042B2/en active Active
- 2009-06-03 EP EP09758343.9A patent/EP2265025B1/en active Active
- 2009-06-03 ES ES09758343.9T patent/ES2694713T3/es active Active
- 2009-06-03 JP JP2010515888A patent/JP4999991B2/ja active Active
- 2009-06-03 BR BRPI0911762A patent/BRPI0911762A2/pt not_active IP Right Cessation
- 2009-06-03 WO PCT/JP2009/060139 patent/WO2009148076A1/ja active Application Filing
- 2009-06-03 KR KR1020107026166A patent/KR101213243B1/ko active IP Right Grant
- 2009-06-03 CA CA 2722051 patent/CA2722051C/en active Active
- 2009-06-03 CN CN2009801193776A patent/CN102047661B/zh active Active
- 2009-06-03 RU RU2010144530/07A patent/RU2485711C2/ru active
- 2009-06-03 TW TW98118324A patent/TWI436648B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000358247A (ja) | 1999-01-19 | 2000-12-26 | Matsushita Electric Ind Co Ltd | レート制御装置、レート制御方法及び符号化装置 |
JP2006310912A (ja) * | 2005-04-26 | 2006-11-09 | Matsushita Electric Ind Co Ltd | 動画像ビットレート変換方法、動画像ビットレート変換装置、動画像ビットレート変換回路及びプログラム記録媒体 |
JP2008147534A (ja) | 2006-12-13 | 2008-06-26 | Denso Corp | 内燃機関用点火装置 |
Non-Patent Citations (1)
Title |
---|
HIROSHI YASUDAHIROSHI WATANABE: "Basis of Digital Image Compression", 1999, NIKKEI BP PUBLISHING CENTER, pages: 189 - 193 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011155474A (ja) * | 2010-01-27 | 2011-08-11 | Renesas Electronics Corp | 符号化装置およびそれを用いたシステム |
US20130077671A1 (en) * | 2010-06-09 | 2013-03-28 | Sony Corporation | Encoding apparatus and encoding method |
US9826227B2 (en) * | 2010-06-09 | 2017-11-21 | Sony Corporation | Motion picture encoding apparatus and motion picture encoding method based on bit rate |
JP2013255208A (ja) * | 2012-02-01 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化装置、映像符号化方法及び映像符号化プログラム |
Also Published As
Publication number | Publication date |
---|---|
CA2722051A1 (en) | 2009-12-10 |
BRPI0911762A2 (pt) | 2016-08-02 |
KR20100137008A (ko) | 2010-12-29 |
US8548042B2 (en) | 2013-10-01 |
TWI436648B (zh) | 2014-05-01 |
RU2485711C2 (ru) | 2013-06-20 |
CN102047661B (zh) | 2013-06-12 |
EP2265025A4 (en) | 2013-01-30 |
TW201010443A (en) | 2010-03-01 |
JP4999991B2 (ja) | 2012-08-15 |
KR101213243B1 (ko) | 2012-12-18 |
CA2722051C (en) | 2014-01-21 |
CN102047661A (zh) | 2011-05-04 |
RU2010144530A (ru) | 2012-07-20 |
EP2265025A1 (en) | 2010-12-22 |
ES2694713T3 (es) | 2018-12-26 |
US20110075728A1 (en) | 2011-03-31 |
JPWO2009148076A1 (ja) | 2011-11-04 |
EP2265025B1 (en) | 2018-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6850564B1 (en) | Apparatus and method for dynamically controlling the frame rate of video streams | |
US8311106B2 (en) | Method of encoding and decoding motion picture frames | |
US7925108B2 (en) | Encoding device and dynamic image recording system having the encoding device | |
JP4999991B2 (ja) | 映像符号量制御方法、映像符号量制御装置、映像符号量制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP1057342A1 (en) | Adaptive quantizer in a motion analysis based buffer regulation scheme for video compression | |
JP2003018603A (ja) | 動画像符号化方法及び装置 | |
JP4632049B2 (ja) | 動画像符号化方法及び装置 | |
US6775325B1 (en) | Method and apparatus for converting the bitrate of an encoded bitstream without full re-encoding | |
JP2010161582A (ja) | 符号化装置、目標符号量調整方法及び記録媒体 | |
US8355589B2 (en) | Method and apparatus for field picture coding and decoding | |
US20100027617A1 (en) | Method and apparatus for compressing a reference frame in encoding/decoding moving images | |
JP2004514352A (ja) | Mpeg−2スケーラブル復号器内の複雑さの動的な適応 | |
EP1381239A1 (en) | Method and apparatus for controlling amount of DCT computation performed to encode motion image | |
US20090279610A1 (en) | Method and apparatus for encoding/decoding with interlace scanning based motion vector transformation | |
JP2002185966A (ja) | 映像符号化装置 | |
KR20030005222A (ko) | 코딩 | |
JP3646849B2 (ja) | ステレオ動画像用符号化装置 | |
JP7001159B2 (ja) | 動画像符号化装置、動画像符号化方法、プログラム | |
JP2005045736A (ja) | 画像信号符号化方法及び装置、符号化制御装置並びにプログラム | |
KR100677128B1 (ko) | 동영상 부호화기의 비트율 제어장치 및 방법 | |
US8948528B2 (en) | Method and apparatus for restoring image by copying memory | |
JPH10336649A (ja) | 動画像符号化方法および装置 | |
JP3521794B2 (ja) | データ符号化方法及び装置 | |
KR20190083018A (ko) | 이미지 처리 방법 및 그 시스템 | |
JP2019092075A (ja) | 画像符号化装置及びその制御方法並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980119377.6 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09758343 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010515888 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 6438/CHENP/2010 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2722051 Country of ref document: CA Ref document number: 2009758343 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107026166 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12994339 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010144530 Country of ref document: RU |
|
ENP | Entry into the national phase |
Ref document number: PI0911762 Country of ref document: BR Kind code of ref document: A2 Effective date: 20101029 |