JP2007116655A - Moving picture coding apparatus - Google Patents
Moving picture coding apparatus Download PDFInfo
- Publication number
- JP2007116655A JP2007116655A JP2006120040A JP2006120040A JP2007116655A JP 2007116655 A JP2007116655 A JP 2007116655A JP 2006120040 A JP2006120040 A JP 2006120040A JP 2006120040 A JP2006120040 A JP 2006120040A JP 2007116655 A JP2007116655 A JP 2007116655A
- Authority
- JP
- Japan
- Prior art keywords
- code amount
- rate
- buffer
- unit
- gop
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は動画像符号化装置に係り、特にリアルタイムで可変ビットレート符号化制御を行う際に好適な動画像符号化装置に関する。 The present invention relates to a moving picture coding apparatus, and more particularly to a moving picture coding apparatus suitable for performing variable bit rate coding control in real time.
動画像信号を伝送若しくは蓄積する場合、効率化のため圧縮符号化してビットストリームとすることが多い。動画像の圧縮符号化方式としてはMPEG(Moving Picture Experts Group)等の方式が標準化され、広く用いられている。よって、動画像信号をMPEG等の方式で圧縮し、ビットストリームとして扱うことは、伝送系若しくは蓄積系の効率的な利用において重要である。 When transmitting or storing a moving image signal, it is often compressed and encoded into a bit stream for efficiency. As a moving image compression encoding method, a method such as MPEG (Moving Picture Experts Group) has been standardized and widely used. Therefore, it is important for efficient use of a transmission system or a storage system to compress a moving image signal by a method such as MPEG and handle it as a bit stream.
MPEG等の方式において、発生符号量をある単位時間内で一定に保つ制御方式として、MPEG−2のテストモデル5(Test Model 5:TM5)における固定ビットレート(CBR)制御方式が知られている。しかし、一般に、動画像信号は定常的ではないため、入力動画像信号の情報量は時間経過に伴って変化する。そのため、入力動画像信号を符号化する場合に、可変ビットレート(VBR)制御方式を用いると、同じ符号量で固定ビットレート制御方式に比べて高画質を実現できることが知られている。 In a system such as MPEG, a constant bit rate (CBR) control system in Test Model 5 (TM5) of MPEG-2 is known as a control system that keeps a generated code amount constant within a certain unit time. . However, generally, since the moving image signal is not stationary, the information amount of the input moving image signal changes with time. For this reason, it is known that, when an input moving image signal is encoded, if a variable bit rate (VBR) control method is used, a higher image quality can be realized with the same code amount than a fixed bit rate control method.
上記の可変ビットレート制御方式には、シーケンス全体を一定の量子化幅を用いて仮符号化処理した際に発生する符号量を基に、配分する符号量を設定し、本符号化処理を実行する“2パス”可変ビットレート制御方式がある。この“2パス”可変ビットレート制御方式は、シーケンス全体の符号化特性を予め知った上で符号化を行うため、高画質を実現することができる。 In the above variable bit rate control method, the amount of code to be allocated is set based on the amount of code generated when the entire sequence is provisionally encoded using a fixed quantization width, and this encoding process is executed. There is a “two pass” variable bit rate control scheme. This “two-pass” variable bit rate control method performs encoding after knowing in advance the encoding characteristics of the entire sequence, so that high image quality can be realized.
しかし、上記の“2パス”可変ビットレート制御方式では、仮符号化処理と本符号化処理を行う必要があり、本符号化処理のみに比べおよそ2倍の処理量がかかる。ゆえに、放送や通信等の手段により送られてくる動画像信号を、リアルタイムに符号化して光ディスクや磁気ディスク等の記録媒体に記録する装置には適さない。 However, in the above-described “2-pass” variable bit rate control method, it is necessary to perform provisional encoding processing and main encoding processing, and the processing amount is about twice that of the main encoding processing alone. Therefore, it is not suitable for a device that encodes a moving image signal transmitted by means such as broadcasting or communication in real time and records it on a recording medium such as an optical disk or a magnetic disk.
そこで、リアルタイムに可変ビットレート制御を実現し、符号化する方式として“1パス”可変ビットレート制御方式がある。この“1パス”可変ビットレート制御方式は、単位時間当たりの発生符号量を監視し、その時の単位時間当たりの割当符号量と比較して、次の符号化単位の割当符号量を算出し、その算出した割当符号量に応じて、次の符号化単位の量子化幅を変化させるものである。 Therefore, there is a “one-pass” variable bit rate control method as a method for realizing and encoding variable bit rate control in real time. This “one-pass” variable bit rate control method monitors the amount of generated code per unit time, compares it with the allocated code amount per unit time, and calculates the allocated code amount of the next coding unit, The quantization width of the next coding unit is changed according to the calculated allocated code amount.
“1パス”可変ビットレート制御方式の従来例として、発生符号量と予め設定された平均ビットレートとの過不足量から画像単位毎に量子化幅を調整することを特徴とする動画像符号化装置が従来から知られている(例えば、特許文献1、特許文献2参照)。具体的には、上記の従来の動画像符号化装置における“1パス”可変ビットレート制御方式は、バッファの占有量に比例して目標とするビットレートを設定し、目標とするビットレートに近付くような量子化幅を設定するものである。
As a conventional example of the “one-pass” variable bit rate control method, a moving picture coding characterized in that a quantization width is adjusted for each image unit from an excess or deficiency between a generated code quantity and a preset average bit rate. An apparatus is conventionally known (see, for example,
また、その他の1パス可変ビットレート制御方式を採用した従来の動画像符号化装置として、発生符号量の余裕分であるマージンを設定して、一定の割合でマージンを配分する方式の動画像符号化装置も知られている(例えば、特許文献3参照)。 In addition, as a conventional moving picture coding apparatus adopting another one-pass variable bit rate control method, a moving picture code of a method in which a margin that is a margin of a generated code amount is set and a margin is distributed at a constant rate An apparatus is also known (see, for example, Patent Document 3).
しかしながら、特許文献1若しくは特許文献2に記載の従来の動画像符号化装置における1パス可変ビットレート制御方式では、バッファの占有量と目標ビットレートが比例の関係にあるため、また、特許文献3記載の従来の動画像符号化装置では、マージンを一定の割合で配分するために、符号化の難しいシーケンスと符号化の簡単なシーケンスとが交互に続くような場合に、符号化の難しいシーケンスの後半部分において、特許文献1若しくは特許文献2に記載の従来の動画像符号化装置ではバッファ占有量の増大により、特許文献3記載の従来の動画像符号化装置では、マージンの減少による配分符号量の減少により、それぞれ量子化幅が大きくなり、発生符号量を強引に抑制するために、画質劣化が目立つという課題がある。
However, in the conventional one-pass variable bit rate control method described in
また、上記の各特許文献記載の従来の動画像符号化装置では、バッファ占有量が減少する場合、すなわち、符号化の易しいシーケンスの場合に、量子化幅を小さくしようとするため、無駄に符号量を使うことになる。従って、以上より上記の各特許文献記載の従来の動画像符号化装置では、符号化の難しいシーケンスは画質劣化が大きく、符号化の易しいシーケンスは極端に画質が良くなるという、シーケンス間での画質差が生じるという課題がある。 In addition, in the conventional moving image encoding device described in each of the above-mentioned patent documents, when the buffer occupancy decreases, that is, in the case of a sequence that is easy to encode, an attempt is made to reduce the quantization width. You will use the amount. Therefore, in the conventional moving image encoding apparatus described in each of the above patent documents, the image quality between the sequences is such that the sequence that is difficult to encode has a large image quality deterioration, and the sequence that is easy to encode extremely improves the image quality. There is a problem that a difference occurs.
本発明は以上の点に鑑みなされたもので、符号化の難しいシーケンスと符号化の簡単なシーケンスが交互に続くような場合に、符号化の難しいシーケンスにおける画質劣化を低減すると共に、符号化の簡単なシーケンスと符号化の難しいシーケンス間での画質差を抑制し得る、1パス可変ビットレート制御方式による動画像符号化を行う動画像符号化装置を提供することを目的とする。 The present invention has been made in view of the above points. In the case where a sequence that is difficult to encode and a sequence that is easy to encode continue alternately, image quality degradation in the sequence that is difficult to encode is reduced, and It is an object of the present invention to provide a moving picture coding apparatus that performs moving picture coding by a one-pass variable bit rate control method that can suppress a difference in image quality between a simple sequence and a difficult sequence.
上記の目的を達成するため、本発明は、符号化対象の動画像信号と参照画像信号とから予測手段にて所定の符号化単位で予測信号を生成し、その予測信号と動画像信号との差分信号を直交変換手段により直交変換して直交変換係数を生成し、直交変換係数を外部からの量子化ステップに基づき量子化した信号から、参照画像信号生成手段により参照画像信号を生成すると共に、可変長符号化手段で可変長符号化して符号化信号を出力する符号化部と、可変長符号化手段における所定の画像群符号化単位毎の発生符号量と予め定められた基準目標符号量との差分である過不足符号量に応じて、可変長符号化手段における所定の画像群符号化単位毎の発生符号量を基準目標符号量となるように、符号化部へ供給する量子化ステップを可変制御する符号化制御部とよりなる動画像符号化装置であって、
符号化制御部は、可変長符号化手段における画像群符号化単位毎の発生符号量から画像群符号化単位毎の基準目標符号量を差し引いて過不足符号量を算出する過不足符号量算出手段と、過不足符号量を積算して得たバッファ充足量と、可変長符号化手段内の画像群符号化単位毎の符号を蓄積するバッファの許容バッファサイズとの比であるバッファ充足率を算出するバッファ充足率算出手段と、バッファ充足率が0以上で、かつ、過不足符号量が0以上のときは、第1の非線形関数に従ってバッファ充足率から符号量配分率を算出し、バッファ充足率が0以上で、かつ、過不足符号量が負のときは、第2の非線形関数に従ってバッファ充足率から符号量配分率を算出し、バッファ充足率が負のときは符号量配分率を0とする符号量配分率算出手段と、符号量配分率算出手段で算出された符号量配分率と過不足符号量とから、現在の画像群符号化単位の目標符号量を算出する目標符号量算出手段と、目標符号量算出手段で算出された現在の画像群符号化単位の目標符号量と、一つ前の画像群符号化単位の目標符号量との比から量子化ステップを算出する量子化ステップ算出手段とを有し、第1の非線形関数は、バッファ充足率の増加に従い符号量配分率を非線形的に増加させる関数であり、第2の非線形関数は、バッファ充足率の増加に従い符号量配分率を非線形的に減少させる関数であることを特徴とする。
In order to achieve the above object, the present invention generates a prediction signal in a predetermined encoding unit by a prediction unit from a moving image signal to be encoded and a reference image signal, and the prediction signal and the moving image signal The difference signal is orthogonally transformed by an orthogonal transformation unit to generate an orthogonal transformation coefficient, and a reference image signal is generated by a reference image signal generation unit from a signal obtained by quantizing the orthogonal transformation coefficient based on an external quantization step, and A coding unit that performs variable-length coding by the variable-length coding unit and outputs a coded signal; a generated code amount for each predetermined image group coding unit in the variable-length coding unit; and a predetermined reference target code amount A quantization step for supplying to the encoding unit such that the generated code amount for each predetermined image group encoding unit in the variable length encoding unit becomes the reference target code amount according to the excess / deficiency code amount that is the difference between Variable control A more composed video encoding apparatus and Goka control unit,
The encoding control unit calculates an excess / deficiency code amount by subtracting a reference target code amount for each image group coding unit from a generated code amount for each image group coding unit in the variable length coding unit. And the buffer filling rate, which is the ratio between the buffer filling amount obtained by integrating the excess and deficient code amount and the allowable buffer size of the buffer that stores the code for each image group coding unit in the variable length coding means A buffer filling rate calculating means, and when the buffer filling rate is 0 or more and the excess / deficiency code amount is 0 or more, the code amount allocation rate is calculated from the buffer filling rate according to the first nonlinear function, and the buffer filling rate Is 0 or more, and when the excess / deficiency code amount is negative, the code amount distribution rate is calculated from the buffer filling rate according to the second nonlinear function. When the buffer filling rate is negative, the code amount distribution rate is set to 0. Code amount distribution rate calculation A target code amount calculating means for calculating a target code amount for the current image group coding unit from the code amount distribution rate and excess / deficient code amount calculated by the code amount distribution rate calculating means, and a target code amount calculation Quantization step calculation means for calculating a quantization step from the ratio between the target code amount of the current image group coding unit calculated by the means and the target code amount of the previous image group coding unit. The first nonlinear function is a function that increases the code amount allocation rate nonlinearly as the buffer filling rate increases, and the second nonlinear function is a function that decreases the code amount allocation rate nonlinearly as the buffer filling rate increases. It is a function to be made.
この発明では、画像群符号化単位毎の発生符号量から画像群符号化単位毎の基準目標符号量を差し引いて算出した過不足符号量と、過不足符号量を積算して得たバッファ充足量と画像群符号化単位毎の符号を蓄積するバッファの許容バッファサイズとから算出したバッファ充足率とに基づいて、バッファ充足率が0以上で、かつ、過不足符号量が0以上のときは、第1の非線形関数に従ってバッファ充足率から符号量配分率を算出し、バッファ充足率が0以上で、かつ、過不足符号量が負のときは、第2の非線形関数に従ってバッファ充足率から符号量配分率を算出し、更にその符号量配分率と過不足符号量とから現在の画像群符号化単位の目標符号量を算出し、一つ前の画像群符号化単位の目標符号量とから量子化ステップを算出するようにしたため、単調増加関数又は単調減少関数に従って符号量配分率を算出した後、目標符号量及び量子化ステップを算出する従来に比べて、量子化ステップの変化率を小さくできる。 In this invention, an excess / deficiency code amount calculated by subtracting a reference target code amount for each image group coding unit from a generated code amount for each image group coding unit, and a buffer sufficient amount obtained by integrating the excess / deficiency code amount And the buffer filling rate calculated from the allowable buffer size of the buffer for storing the code for each image group coding unit, when the buffer filling rate is 0 or more and the excess / deficiency code amount is 0 or more, The code amount allocation rate is calculated from the buffer filling rate according to the first nonlinear function. When the buffer filling rate is 0 or more and the excess / deficiency code amount is negative, the code amount from the buffer filling rate according to the second nonlinear function is calculated. The allocation rate is calculated, the target code amount of the current image group coding unit is calculated from the code amount allocation rate and the excess / deficiency code amount, and the quantum amount is calculated from the target code amount of the previous image group coding unit. To calculate the conversion step Since the, after calculating the bit allocation rate in accordance with monotonically increasing function or a monotonically decreasing function, as compared with the prior art in which to calculate the target code amount and the quantization step, can reduce the change rate of the quantization step.
すなわち、この発明では、バッファ充足率が0以上で、かつ、過不足符号量が0以上のときは、バッファ充足率の増加に従い符号量配分率を非線形的に増加させる第1の非線形関数に従って符号量配分率を算出することにより、従来に比べて量子化ステップの変化率を小さくし、バッファ充足率が0以上で、かつ、過不足符号量が負のときは、バッファ充足率の増加に従い符号量配分率を非線形的に減少させる第2の非線形関数に従って符号量配分率を算出することにより、従来に比べて量子化ステップの変化率を小さくする。 That is, according to the present invention, when the buffer filling rate is 0 or more and the excess / deficiency code amount is 0 or more, the code is encoded according to the first nonlinear function that increases the code amount allocation rate nonlinearly as the buffer filling rate increases. By calculating the amount allocation rate, the rate of change of the quantization step is reduced compared to the conventional method, and when the buffer filling rate is 0 or more and the excess / deficiency code amount is negative, the code is increased as the buffer filling rate increases. By calculating the code amount distribution rate according to the second non-linear function that decreases the amount distribution rate non-linearly, the change rate of the quantization step is reduced as compared with the conventional case.
また、上記の目的を達成するため、本発明は、上記の符号化制御部を、目標符号量から算出された現在の画像群符号化単位に含まれる画像目標符号量を算出する画像目標符号量算出手段と、画像目標符号量により所定の符号化単位で固定ビットレートの量子化ステップを算出する固定ビットレート量子化ステップ算出手段と、可変長符号化手段から出力される符号を予め定められたバッファに蓄積し、バッファの蓄積符号量が画像目標符号量に関連した所定の容量を下回っているかどうかを監視するバッファ容量監視手段と、バッファ容量監視手段により、バッファの蓄積符号量が所定の容量を下回っていると判定されたときは、固定ビットレート量子化ステップ算出手段により算出された固定ビットレートの量子化ステップを符号化部へ出力し、バッファの蓄積符号量が所定の容量を超えていると判定されたときは、量子化ステップ算出手段により算出された可変ビットレートの量子化ステップを符号化部へ出力する量子化ステップ切替出力手段とを更に有する構成としたことを特徴とする。 In order to achieve the above object, the present invention provides an image target code amount for calculating the image target code amount included in the current image group coding unit calculated from the target code amount. The code output from the calculation means, the fixed bit rate quantization step calculation means for calculating the fixed bit rate quantization step in a predetermined coding unit according to the image target code amount, and the code output from the variable length coding means are predetermined. Buffer capacity monitoring means for monitoring whether or not the accumulated code amount of the buffer is less than a predetermined capacity related to the image target code amount, and the buffer capacity monitoring means If it is determined that the fixed bit rate quantization step calculation means calculates, the fixed bit rate quantization step calculated by the fixed bit rate quantization step calculating means is output to the encoding unit. When it is determined that the accumulated code amount of the buffer exceeds a predetermined capacity, the quantization step switching output for outputting the variable bit rate quantization step calculated by the quantization step calculation means to the encoding unit And a means further comprising a means.
この発明では、可変ビットレートの量子化ステップで画像群符号化単位での量子化パラメータ制御を行っているときに、バッファの蓄積符号量が所定の容量を下回っていると判定されたときは、固定ビットレートの量子化ステップを符号化部へ出力して固定ビットレートで動作させるようにしたため、規定されたバッファ容量を保ちながら、可変ビットレートの制御が可能にできる。 In this invention, when performing quantization parameter control in units of image group encoding in the variable bit rate quantization step, when it is determined that the accumulated code amount of the buffer is below a predetermined capacity, Since the fixed bit rate quantization step is output to the encoding unit and operated at the fixed bit rate, the variable bit rate can be controlled while maintaining the specified buffer capacity.
本発明によれば、バッファ充足率が0以上で、かつ、過不足符号量が0以上のときは、バッファ充足率の増加に従い符号量配分率を非線形的に増加させる第1の非線形関数に従って符号量配分率を算出することにより、従来に比べて量子化ステップの変化率を小さくするようにしたため、符号化の難しいシーケンスと簡単なシーケンスが交互に続くような場合は、バッファ充足率が0以上で、かつ、過不足符号量が0以上であり、このときは難しいシーケンスにおいて量子化ステップの変化率を小さくすることができ、これにより符号化の難しいシーケンスの後半部分における画質劣化を従来よりも抑制することが可能である。 According to the present invention, when the buffer filling rate is 0 or more and the excess / deficiency code amount is 0 or more, the code is encoded according to the first non-linear function that increases the code amount distribution rate non-linearly as the buffer filling rate increases. By calculating the amount distribution rate, the change rate of the quantization step is reduced as compared with the conventional case. Therefore, when a difficult sequence and a simple sequence continue alternately, the buffer fullness rate is 0 or more. In addition, the excess / deficiency code amount is 0 or more, and in this case, it is possible to reduce the rate of change of the quantization step in a difficult sequence, thereby reducing the image quality degradation in the latter half of the difficult sequence. It is possible to suppress.
また、本発明によれば、バッファ充足率が0以上で、かつ、過不足符号量が負のときは、バッファ充足率の増加に従い符号量配分率を非線形的に減少させる第2の非線形関数に従って符号量配分率を算出することにより、従来に比べて量子化ステップの変化率を小さくするようにしたため、符号化が易しい(簡単な)シーケンスが続くようなバッファ充足率が0以上で、かつ、過不足符号量が負のときも、量子化ステップの変化率を従来よりも小さくすることができるため、必要以上に量子化ステップを小さくして余分な符号量を使うことがなく、符号化が易しいシーケンスにおいて極端に画質が良くなるという現象を抑制でき、シーケンス間で画質を保つことが可能である。本発明では以上の効果を持つ、1パス可変ビットレート制御方式を実現可能である。 According to the present invention, when the buffer filling rate is 0 or more and the excess / deficiency code amount is negative, according to the second nonlinear function that nonlinearly decreases the code amount distribution rate as the buffer filling rate increases. By calculating the code amount distribution rate, the change rate of the quantization step is reduced compared to the conventional case, so that the buffer fullness rate such that a sequence that is easy to encode (simple) continues is 0 or more, and Even when the excess / deficiency code amount is negative, the change rate of the quantization step can be made smaller than before, so that the quantization step can be made smaller than necessary and no extra code amount is used. The phenomenon that the image quality is extremely improved in an easy sequence can be suppressed, and the image quality can be maintained between sequences. In the present invention, a one-pass variable bit rate control system having the above effects can be realized.
更に、本発明によれば、可変ビットレートの量子化ステップで画像群符号化単位での量子化パラメータ制御を行っているときに、バッファの蓄積符号量が所定の容量を下回っていると判定されたときは、固定ビットレートの量子化ステップを符号化部へ出力して固定ビットレートで動作させることで、規定されたバッファ容量を保ちながら、可変ビットレートの制御を行うようにしたため、符号化の規格に沿ったビットストリームを従来に比べ高画質で生成することができる。 Furthermore, according to the present invention, when the quantization parameter control is performed in units of image group coding in the variable bit rate quantization step, it is determined that the accumulated code amount of the buffer is less than a predetermined capacity. In this case, the variable bit rate is controlled while maintaining the specified buffer capacity by outputting the fixed bit rate quantization step to the encoding unit and operating it at the fixed bit rate. It is possible to generate a bit stream that conforms to the standard with higher image quality than in the past.
次に、本発明の実施の形態について図面と共に説明する。図1は本発明になる動画像符号化装置の一実施の形態のブロック図を示す。ただし、本実施の形態では、画像群符号化単位を数枚の画像の集合であるGOP(Group Of Pictures)とし、画像タイプ別符号化単位を一枚のピクチャであるとする。また、本明細書において、「画像群」とは画像タイプ別符号化単位の集合であり、「画像タイプ」とは、画面内予測画像(I-picture:Iピクチャ)、画面間前方向予測画像(P-picture:Pピクチャ)、画面間両方向予測画像(B-picture:Bピクチャ)であるものとする。 Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a moving picture encoding apparatus according to the present invention. However, in the present embodiment, it is assumed that the image group coding unit is GOP (Group Of Pictures), which is a set of several images, and the image type coding unit is one picture. Also, in this specification, “image group” is a set of coding units for each image type, and “image type” is an intra-screen prediction image (I-picture), an inter-screen forward prediction image. (P-picture) is an inter-screen bidirectional prediction image (B-picture).
図1に示すように、本実施の形態の動画像符号化装置は、入力動画像信号を符号化する動画像符号化部100と、符号化する動画像信号の可変ビットレート制御を行う符号化制御部200とから構成される。動画像符号化部100は、予測部101、直交変換部102、量子化部103、可変長符号化部104、逆量子化部105、逆直交変換部106、画像メモリ部107、減算器108から構成される。符号化制御部200は、符号化過不足符号量算出部201、バッファ充足率算出部202、符号配分率算出部203、目標ビットレート算出部204、画像タイプ別目標符号量算出部205、画像タイプ別量子化ステップ算出部206から構成される。
As shown in FIG. 1, the moving image encoding apparatus according to the present embodiment includes a moving
次に、図1の動画像符号化装置の動作について説明する。まず、動画像符号化部100の動作について説明する。動画像符号化部100は、動画像信号と符号化制御部200からの量子化ステップを入力として受け、符号化ビットストリームを出力とする、MPEG等における符号化装置と同様の構成で動画像信号を符号化する。動画像符号化部100に入力された動画像信号は、予測部101にて後述する参照画像信号を用いて、画面内予測、または過去・未来の復号画像との画面間予測により予測画像信号とされる一方、減算器108を通して直交変換部102に供給される。
Next, the operation of the moving picture coding apparatus in FIG. 1 will be described. First, the operation of the moving
直交変換部102は、画面内予測画像を生成するときには、減算器108をスルーして入力された動画像信号に対して直交変換を行い、画面間前方向予測画像又は画面間両方向予測画像を生成するときには、減算器108で入力動画像信号(原画像)と予測部101で生成された予測画像との差分信号に対して直交変換を行い、それぞれ周波数係数(直交変換係数)に変換する。量子化部103は、直交変換部102から入力された周波数係数を、後述する符号化制御部200からの量子化ステップに従って量子化を行い、量子化係数に変換する。
When generating an intra-screen prediction image, the
可変長符号化部104は、量子化部103から入力された量子化係数に対してエントロピー符号化などを行って符号列へと変換し、動画像信号の符号化ビットストリームを生成して外部へ出力する。また、上記の量子化係数は、逆量子化部105により逆量子化された後、逆直交変換部106により逆直交変換された後、予測部101からの予測画像信号と加算器109で加算されることにより、復号画像信号とされる。この復号画像信号は、画像メモリ部107に蓄積され、予測部101における、過去・未来の参照用画像信号として用いられる。
The variable
次に、符号化制御部200の動作について説明する。符号化制御部200は、符号化発生符号量を入力とし、量子化ステップを出力とする、可変ビットレート制御を行う。符号化過不足符号量算出部201は、予め設定されている目標ビットレートと、動画像符号化部100の可変長符号化部104より入力される符号化発生符号量とを基に、発生符号量の目標符号量との差分符号量を求め、その差分符号量をバッファ充足率算出部202へ出力する。バッファ充足率算出部202は、上記の差分符号量より、可変長符号化部104内の符号化バッファの充足量を求め、符号化バッファの大きさに対するバッファ充足率を算出する。
Next, the operation of the
符号配分率算出部203は、バッファ充足率算出部202により算出されたバッファ充足率より、目標ビットレートから溢れた符号量の次の画像群符号化単位に対する目標ビットレートの変動符号量を算出する。目標ビットレート算出部204は、符号配分率算出部203で算出された変動符号量と、目標ビットレートとに基づいて、次の画像群符号化単位の目標ビットレートを算出する。
The code allocation
画像タイプ別目標符号量算出部205は、目標ビットレート算出部204にて算出された、次の画像群符号化単位の目標ビットレートより、画像タイプ別の目標符号量を求め、次の画像群符号化単位における画像タイプ別符号化単位の目標符号量を算出する。画像タイプ別量子化ステップ算出部206は、符号化した画像群符号化単位における画像タイプ別目標符号量と、画像タイプ別目標符号量算出部205で算出した次の画像タイプ別符号化単位の目標符号量とより、次の画像タイプ別量子化ステップを算出する。算出された次の画像タイプ別量子化ステップは、動画像符号化部100の量子化部103に入力され、その量子化ステップによる量子化を行わせる。
The target code
次に、符号化制御部200の動作を更に詳細に説明する。ただし、以下では、画像群符号化単位をGOPと呼ぶ。また、画像を単にピクチャと呼ぶ。また、符号量とバッファの単位は[bits]であり、ビットレートの単位は[bps]である。符号化制御部200では、まず、符号化過不足符号量算出部201により図2のフローチャートに従った動作を行う。
Next, the operation of the
すなわち、符号化過不足符号量算出部201は、予め定められた平均ビットレート(基準目標ビットレート:TB_int)に基づいて、次式によりGOPの基準目標符号量(T_int)を算出する(図2のステップS10)。
That is, the encoding excess / deficiency code
T_int=TB_int×N/PR (1)
ただし、(1)式中、PRはピクチャレート(固定値)、Nは符号化したGOPを構成するピクチャの枚数である。
T_int = TB_int × N / PR (1)
In equation (1), PR is the picture rate (fixed value), and N is the number of pictures constituting the encoded GOP.
続いて、符号化過不足符号量算出部201は、算出した基準目標符号量(T_int)と、動画像符号化部100内の可変長符号化部104からのGOP発生符号量(S_gop)とより、GOPの過不足符号量(dS_gop)を求める(図2のステップS11)。このGOPの過不足符号量(dS_gop)は、GOP発生符号量(S_gop)と、GOPの基準目標符号量(T_int)との差分で与えられる。従って、GOPの過不足符号量dS_gopは次式で与えられる。
Subsequently, the encoding excess / deficiency code
dS_gop=S_gop−T_int (2)
ただし、(2)中、dS_gopの初期値は0である。
dS_gop = S_gop-T_int (2)
However, in (2), the initial value of dS_gop is 0.
(2)式から分かるように、上記のGOPの過不足符号量dS_gopが正ならば、符号化が難しく目標符号量に対して発生符号量が上回ったことを意味し、負ならば符号化が容易で目標符号量に対して発生符号量が下回ったことを意味する。 As can be seen from the equation (2), if the GOP excess / deficiency code amount dS_gop is positive, it means that encoding is difficult and the generated code amount exceeds the target code amount, and if it is negative, encoding is not possible. This means that the generated code amount is less than the target code amount.
次に、バッファ充足率算出部202が図3のフローチャートに従った動作をする。まず、バッファ充足率算出部202は、上記のGOPの過不足符号量(dS_gop)より、可変長符号化部104内のバッファの充足量(BktFlns)を算出する(図3のステップS20)。このバッファ充足量(BktFlns)は、GOP過不足符号量の積算であるから、次式で与えられる。
Next, the buffer fullness
BktFlns=min(BktBufSize,max(−BktBufSize,BktFlns−dS_gop)) (3)
ただし、(3)式中、min(a,b)はa≦bならばa,b<aならばbを返し、max(a,b)はa≧bならばa,a<bならばbを返す。また、BktFlnsの初期値は0であり、BktBufSizeはバッファの許容バッファサイズを示す。また、次式の不等式が成立する。
BktFlns = min (BktBufSize, max (-BktBufSize, BktFlns-dS_gop)) (3)
However, in the formula (3), min (a, b) is a if a ≦ b, b is returned if b <a, and max (a, b) is a if a ≧ b and if a <b. Returns b. The initial value of BktFlns is 0, and BktBufSize indicates the allowable buffer size of the buffer. In addition, the following inequality is established.
−BktBufSize≦BktFlns≦BktBufSize
続いて、バッファ充足率算出部202は、算出したバッファ充足量(BktFlns)に基づいて、バッファ充足率(BktFlnsRate)を求める(ステップS21)。ここで、バッファ充足率(BktFlnsRate)は、バッファの許容バッファサイズ(BktBufSize)に対するバッファ充足量(BktFlns)の割合であるから、次式で与えられる。
-BktBufSize≤BktFns≤BktBufSize
Subsequently, the buffer filling
BktFlnsRate=BktFlns/BktBufSize (4)
ただし、BktFlnsRateの初期値は0である。また、−1≦BktFlnsRate≦1である。
BktFnsRate = BktFlns / BktBufSize (4)
However, the initial value of BktFnsRate is 0. Further, -1 ≦ BktFnsRate ≦ 1.
次に、符号配分率算出部203が図4のフローチャートに従った動作をする。符号配分率算出部203は、バッファ充足率算出部202からの、バッファ充足率(BktFlnsRate)と符号量配分率(BitDistRate)の関係を表す関数を用いて、符合量の配分率を求める(図4のステップS30〜S35)。すなわち、符号配分率算出部203は、まず、上記のバッファ充足率(BktFlnsRate)が0以上であるかどうか判定し(図4のステップS30)、0以上であるときには、前記GOP過不足符号量(dS_gop)が0以上であるかどうか判定する(図4のステップS31)。
Next, the code distribution
GOP過不足符号量(dS_gop)が0以上であるときには、(2)式からバッファが正方向に溜まっている場合、すなわち、可変長符号化部104内にあるバッファに蓄積される符号量が、時間の経過につれて増加している場合であり、増加傾向にあるほど符号量配分率(BitDistRate)を大きくする(図4のステップS32)。すなわち、ステップS32では、難しいシーケンスが続いて、バッファに蓄積される符号量(GOP発生符号量)が時間の経過につれて増加しているので、レートを上げるために符号量配分率(BitDistRate)を大きくする。
When the GOP excess / deficiency code amount (dS_gop) is 0 or more, the code amount accumulated in the buffer in the variable-
一方、ステップS31でGOP過不足符号量(dS_gop)が負であると判定されたときには、バッファに正方向に符号量が殆ど溜まっていない場合、すなわち、上記バッファに蓄積される符号量(GOP発生符号量)が増加していないか、時間の経過につれて減少している場合であり、減少傾向にあるほど符号量配分率(BitDistRate)を大きくする(図4のステップS33)。すなわち、バッファ充足率(BktFlnsRate)が正で絶対値が小さく、GOP過不足符号量(dS_gop)が負の場合は、バッファに符号量が正方向に溜まっている状態で、簡単なシーケンスによりバッファの符号量が減少する場合であり、このときには、難しいシーケンスを符号化するときに備えてバッファに余裕を持たせるため、上記のステップS33において、符号量配分率(BitDistRate)を小さくしようとする。 On the other hand, when it is determined in step S31 that the GOP excess / deficiency code amount (dS_gop) is negative, if the code amount hardly accumulates in the positive direction in the buffer, that is, the code amount accumulated in the buffer (GOP occurrence) This is a case where the code amount) does not increase or decreases with time, and the code amount distribution rate (BitDistRate) is increased as the code tends to decrease (step S33 in FIG. 4). That is, when the buffer fullness rate (BktFlnsRate) is positive and the absolute value is small and the GOP excess / deficiency code amount (dS_gop) is negative, the code amount is accumulated in the buffer in the positive direction, This is a case where the code amount decreases. At this time, in order to provide a buffer with a margin for encoding a difficult sequence, in step S33 described above, an attempt is made to reduce the code amount distribution rate (BitDistRate).
また、ステップS30でバッファ充足率(BktFlnsRate)が負であると判定されたときには、符号量配分率(BitDistRate)は0とする(図4のステップS34)。すなわち、ステップS30でバッファ充足率(BktFlnsRate)が負であると判定されたときには、可変長符号化部104内のバッファに蓄積される符号の符号量が負方向に溜まる場合、換言すると、バッファに蓄積される符号量が時間の経過と共に減少する場合は、簡単なシーケンスが続いているとみなし、上記のステップ34にて符号量配分率(BitDistRate)を0とすることで、常に基準目標レートに設定するのである。
When it is determined in step S30 that the buffer fullness rate (BktFnsRate) is negative, the code amount distribution rate (BitDistRate) is set to 0 (step S34 in FIG. 4). That is, when it is determined in step S30 that the buffer fullness rate (BktFnsRate) is negative, the code amount stored in the buffer in the variable
これにより、レートを上げる方向に配分しないようにすることで、再び難シーケンスに切り替わるときに多めに符号量を配分させることができる。符号配分率算出部203は、上記のステップS32、S33又はS34の処理により算出した符号量配分率(BitDistRate)を出力する(図4のステップS35)。
Thus, by avoiding allocation in the direction of increasing the rate, a large amount of code can be allocated when switching to the difficult sequence again. The code distribution
以上のステップS32、S33、S34において算出する符号量配分率(BitDistRate)を、関数fで表現すると、以下のように表される。ここで、関数表記において簡易化のため、BktFlnsRate=x,BitDistRate=yとする。 When the code amount distribution rate (BitDistRate) calculated in the above steps S32, S33, and S34 is expressed by the function f, it is expressed as follows. Here, for simplification in function notation, BktFnsRate = x and BitDistRate = y.
(i)BktFlnsRate≧0、かつ、dS_gop≧0の場合(図4のS30Yes,S31Yes,S32,S35)
y=f(x) (5)
(ii)BktFlnsRate≧0、かつ、dS_gop<0の場合(図4のS30Yes,S31No,S33,S35)
y=f(−x+1) (6)
(iii)BktFlnsRate<0の場合(図4のS30No,S34,S35)
y=0 (7)
例えば、上記のfを線形関数とすると、以下のように表される。
(I) When BktFnsRate ≧ 0 and dS_gop ≧ 0 (S30 Yes, S31 Yes, S32, S35 in FIG. 4)
y = f (x) (5)
(Ii) When BktFnsRate ≧ 0 and dS_gop <0 (S30 Yes, S31 No, S33, S35 in FIG. 4)
y = f (−x + 1) (6)
(Iii) When BktFnsRate <0 (S30 No, S34, S35 in FIG. 4)
y = 0 (7)
For example, when f is a linear function, it is expressed as follows.
f(x)=x (8)
従って、バッファ充足率(BktFlnsRate=x)に対する符号量配分率(BitDistRate=y)を線形関係にすると、図8に示すように表される。すなわち、図8に実線で示すy=xの直線は、(5)式に(8)式を代入した直線であるため、次式で表される関係を示す。
f (x) = x (8)
Therefore, when the code amount distribution rate (BitDistRate = y) with respect to the buffer fullness rate (BktFlnsRate = x) is linearly expressed, it is expressed as shown in FIG. That is, since the straight line of y = x shown by the solid line in FIG. 8 is a straight line obtained by substituting the equation (8) into the equation (5), the relationship represented by the following equation is shown.
BitDistRate=BktFlnsRate (0≦BitDistRate≦1,dS_gop≧0) (9)
また、図8に点線で示すy=−x+1の直線は、(6)式に(8)式を代入した直線であるため、次式で表される関係を示す。
BitDistRate = BktFlnsRate (0 ≦ BitDistRate ≦ 1, dS_gop ≧ 0) (9)
In addition, since a straight line y = −
BitDistRate=−BktFlnsRate+1 (0≦BitDistRate≦1,dS_gop<0) (10)
これに対し、上記のfを非線形関数である指数関数とすると、例えば以下のように表される。
BitDistRate = −BktFlnsRate + 1 (0 ≦ BitDistRate ≦ 1, dS_gop <0) (10)
On the other hand, when the above f is an exponential function that is a nonlinear function, for example, it is expressed as follows.
f(x)=α・(βx−1) (β=(α+1)/α) (11)
バッファに符号があまり溜まっていないときは、レートを減らす方向(DS_GOP>0)にあまり分配しないようにし、レートを増やす方向(DS_GOP<0)に多めに分配するようにするには、fを指数関数とし、適当なαとβを定めることが望ましい。例えば、α=1とすると、(11)式からβ=2となるから、指数関数fは以下のように表される。
f (x) = α · (β x −1) (β = (α + 1) / α) (11)
When there is not much code in the buffer, to distribute less in the direction of decreasing rate (DS_GOP> 0) and to distribute more in the direction of increasing rate (DS_GOP <0), use f as an exponent. It is desirable to determine appropriate α and β as functions. For example, if α = 1, β = 2 from equation (11), so the exponential function f is expressed as follows.
f(x)=2x−1 (12)
従って、バッファ充足率(BktFlnsRate=x)に対する符号量配分率(BitDistRate=y)を(12)式に示される非線形関係にすると、図9に示すように表される。すなわち、図9に実線で示すy=2x−1の曲線は、(5)式と(12)式とから得られる曲線であるため、次式で表される関係を示す。
f (x) = 2 x −1 (12)
Therefore, when the code amount distribution rate (BitDistRate = y) with respect to the buffer fullness rate (BktFnsRate = x) is set to a non-linear relationship represented by the equation (12), it is expressed as shown in FIG. That is, since the curve of y = 2x- 1 shown with a continuous line in FIG. 9 is a curve obtained from Formula (5) and Formula (12), the relationship represented by the following formula is shown.
BitDistRate=2BktFlnsRate−1 (0≦BitDistRate≦1,dS_gop≧0) (13)
また、図9に点線で示すy=2(-x+1)−1の曲線は、(6)式と(12)式とから得られる曲線であるため、次式で表される関係を示す。
BitDistRate = 2 BktFlnsRate −1 (0 ≦ BitDistRate ≦ 1, dS_gop ≧ 0) (13)
Moreover, since the curve of y = 2 (-x + 1) -1 shown with a dotted line in FIG. 9 is a curve obtained from (6) Formula and (12) Formula, the relationship represented by following Formula is shown. .
BitDistRate=2(-BktFlnsRate+1)−1 (0≦BitDistRate≦1,dS_gop<0) (14)
本実施の形態では、以上のような、バッファ充足率(BktFlnsRate)と基準目標ビットレート(TB_int)とから、過不足符号量(dS_gop)を基にした符号量配分率(BitDistRate)の関数fを指数関数に設定することで、目標ビットレート(TB_gop)を算出し、可変ビットレート制御を行う。
BitDistRate = 2 (-BktFlnsRate + 1) −1 (0 ≦ BitDistRate ≦ 1, dS_gop <0) (14)
In the present embodiment, the function f of the code amount distribution rate (BitDistRate) based on the excess / deficiency code amount (dS_gop) is calculated from the buffer filling rate (BktFlnsRate) and the reference target bit rate (TB_int) as described above. By setting the exponential function, the target bit rate (TB_gop) is calculated and variable bit rate control is performed.
次に、図1の目標ビットレート算出部204の動作について、図5のフローチャートと共に説明する。目標ビットレート算出部204は、符号量配分率(BitDistRate)とGOPの過不足符号量(dS_gop)から現GOPの目標符号量(T_gop)を算出する(図5のステップS40〜S42)。
Next, the operation of the target bit
すなわち、目標ビットレート算出部204は、GOPの過不足符号量(dS_gop)に対して、符号量配分率(BitDistRate)を掛けたものが次のGOPの目標符号量(T_gop)に加算する配分符号量(dDistBit)となるので、まず、以下の式により配分符号量(dDistBit)を算出する(図5のステップS40)。
That is, the target bit
dDistBit=dS_gop×BitDistRate (15)
ただし、dDistBitの初期値は0である。
dDistBit = dS_gop × BitDistRate (15)
However, the initial value of dDistBit is 0.
従って、配分レート(dDistRate)は、現(これから符号化する)GOPのピクチャ枚数Nに対して、以下のように表される。 Therefore, the distribution rate (dDistRate) is expressed as follows with respect to the number of pictures N of the current (to be encoded) GOP.
dDistRate=dDistBit×PR/N (16)
ここで、バッファ充足量(BktFlns)が正で、一つ前のGOP符号量が目標符号量(T_gop)を超えている場合は、配分レート(dDistRate)は0以下となる。すなわち、一つ前のGOP符号量(S_gop)が目標符号量(T_gop)を超えている場合(S_gop>T_gop)は、(2)式よりdS_gopが負となる。符号量配分率(BitDistRate)は(13)式より常に0以上であるから、(15)式より配分符号量(dDistBit)は0以下となる。従って、(16)式より、配分レート(dDistRate)も0以下となる。同様に、バッファ充足量(BktFlns)が正で、一つ前のGOP符号量が目標符号量(T_gop)を下回った場合は、配分レート(dDistRate)は正となる。
dDistRate = dDistBit × PR / N (16)
Here, when the buffer fullness (BktFlns) is positive and the previous GOP code amount exceeds the target code amount (T_gop), the distribution rate (dDistRate) is 0 or less. That is, when the previous GOP code amount (S_gop) exceeds the target code amount (T_gop) (S_gop> T_gop), dS_gop is negative from the equation (2). Since the code amount distribution rate (BitDistRate) is always 0 or more from the equation (13), the distribution code amount (dDistBit) is 0 or less from the equation (15). Therefore, the distribution rate (dDistRate) is 0 or less from the equation (16). Similarly, when the buffer fullness (BktFlns) is positive and the previous GOP code amount is lower than the target code amount (T_gop), the distribution rate (dDistRate) is positive.
続いて、目標ビットレート算出部204は、現GOPの目標ビットレート(TB_gop)を算出する(図5のステップS41)。ここで、現GOPの目標ビットレート(TB_gop)は、一つ前のGOPの目標ビットレートに配分ビットレート(dDistRate)を加算したものになるので、次式で表される。
Subsequently, the target bit
TB_gop=TB_gop+dDistRate (17)
そして、目標ビットレート算出部204は、ステップS41で算出した現GOPの目標ビットレートを用いて、現GOPの目標符号量(T_gop)を次式により算出する(図5のステップS42)。
TB_gop = TB_gop + dDistRate (17)
Then, the target bit
T_gop=TB_gop×N/PR (18)
ただし、上式中、T_gopの初期値はT_intである。
T_gop = TB_gop × N / PR (18)
However, in the above formula, the initial value of T_gop is T_int.
次に、図1の画像タイプ別目標符号量算出部205の動作について、図6に示すフローチャートと共に説明する。画像タイプ別目標符号量算出部205は、上記の目標ビットレート算出部204において(18)式により算出された現GOPの目標符号量(T_gop)と、可変長符号化部104からのピクチャ複雑度(X_pic)とを用いて、画像タイプ別に目標符号量(T_pic)を算出する(図6のステップS50)。
Next, the operation of the image type target code
ここで、上記のピクチャ複雑度(X_pic)を、ピクチャの発生符号量とピクチャ内の量子化パラメータの平均値との積とすると、例えば、MPEG−2におけるTest Model 5に準拠する場合、以下の(19)式〜(21)式で画像タイプ別に目標符号量(T_pic)が求められる。
Here, when the picture complexity (X_pic) is a product of a generated code amount of a picture and an average value of quantization parameters in the picture, for example, when conforming to
なお、「量子化パラメータ」とは、量子化ステップ値に対応する符号化パラメータである。量子化パラメータと量子化ステップは、例えば、MPEG−1では線形の関係であり、MPEG−2やMPEG−4 AVC等では非線形の関係である。ただし、以下の(19)式〜(21)式における(I)、(P)、(B)はIピクチャ、Pピクチャ、Bピクチャの変数であることを示している。また、Kp,Kbはそれぞれ、Pピクチャ,Bピクチャの量子化パラメータにおける、Iピクチャの量子化パラメータを基準とした比率であり、例えば、Kp=1.0、Kb=1.4である。また、N_picは画像タイプ別の符号化ピクチャ枚数である。 The “quantization parameter” is an encoding parameter corresponding to the quantization step value. The quantization parameter and the quantization step are, for example, a linear relationship in MPEG-1 and a non-linear relationship in MPEG-2, MPEG-4 AVC, and the like. However, (I), (P), and (B) in the following equations (19) to (21) indicate variables of I picture, P picture, and B picture. Kp and Kb are ratios of the quantization parameter of the P picture and the B picture with respect to the quantization parameter of the I picture, for example, Kp = 1.0 and Kb = 1.4. N_pic is the number of encoded pictures for each image type.
T_pic(I)=T_gop/Z(I) (19)
Z(I)=N_pic(I)+{(N_pic(P)×X_pic(P))/(X_pic(I)×Kp)}
+{(N_pic(P)×X_pic(P))/(X_pic(I)×Kp)}
T_pic(P)=T_gop/Z(P) (20)
Z(P)={(N_pic(I)×X_pic(I)×Kp)/X_pic(P)}+N_pic(P) +{(N_pic(B)×X_pic(B)×Kp)/(X_pic(P)×Kb)}
T_pic(B)=T_gop/Z(B) (21)
Z(B)={(N_pic(I)×X_pic(I)×Kb)/X_pic(B)}
+{(N_pic(P)×X_pic(P)×Kb)/(X_pic(B)×Kp)+N_pic(B)}
次に、画像タイプ別量子化ステップ算出部206の動作について、図7のフローチャートと共に説明する。画像タイプ別量子化ステップ算出部206は、画像タイプ別目標符号量算出部205により、(19)式〜(21)式により算出された上記の画像タイプ別目標符号量(T_pic(n):nはGOP番号)と前GOPの画像タイプ別目標符号量(T_pic(n−1))との比から画像タイプ別の量子化ステップを設定する(図7のステップS60)。
T_pic (I) = T_gop / Z (I) (19)
Z (I) = N_pic (I) + {(N_pic (P) × X_pic (P)) / (X_pic (I) × Kp)}
+ {(N_pic (P) × X_pic (P)) / (X_pic (I) × Kp)}
T_pic (P) = T_gop / Z (P) (20)
Z (P) = {(N_pic (I) × X_pic (I) × Kp) / X_pic (P)} + N_pic (P) + {(N_pic (B) × X_pic (B) × Kp) / (X_pic (P) × Kb)}
T_pic (B) = T_gop / Z (B) (21)
Z (B) = {(N_pic (I) × X_pic (I) × Kb) / X_pic (B)}
+ {(N_pic (P) × X_pic (P) × Kb) / (X_pic (B) × Kp) + N_pic (B)}
Next, the operation of the image type-specific quantization
すなわち、MPEG−4 AVCを例にとると、量子化ステップと発生符号量は比例関係にあることから、画像タイプ別量子化ステップ算出部206は、画像タイプ別目標符号量(T_pic(n):nはGOP番号)と前GOPの画像タイプ別目標符号量(T_pic(n−1))との比により、画像タイプ別に量子化ステップを設定する。すなわち、GOP番号nの量子化ステップをQstep_gop(n)、GOP番号(n−1)の量子化ステップをQstep_gop(n−1)とすると、画像タイプ別量子化ステップ算出部206は、GOP番号nの画像タイプ別目標符号量T_pic(n)とGOP番号(n−1)の画像タイプ別目標符号量T_pic(n−1)との比を用いて、以下の式で画像タイプ別量子化ステップを算出する。
That is, taking MPEG-4 AVC as an example, since the quantization step and the generated code amount are in a proportional relationship, the image type-specific quantization
Qstep_gop(n)=Qstep_gop(n-1)×(T_pic(n-1)/T_pic(n)) (22)
画像タイプ別量子化ステップ算出部206が、(22)式により各ピクチャタイプ別にそれぞれ算出した画像タイプ別量子化ステップは、図1の量子化部103に入力され、ここで直交変換部102から供給される周波数変換係数の量子化を行わせる。これにより、量子化部103で生成された量子化係数は、可変長符号化部104にて可変長符号化されて動画像信号の符号化ビットストリームを生成する。
Qstep_gop (n) = Qstep_gop (n-1) × (T_pic (n-1) / T_pic (n)) (22)
The quantization step by image type calculated by the image type quantization
なお、以上で求めた量子化ステップを、GOP内のピクチャ別に算出してもよいし、また、ピクチャ内の符号化単位であるマクロブロック毎に算出してもよい。これらの算出方法は、例えば、MPEG−2におけるTest Model 5のような方法を適用してもよいし、他の方法であってもよい。
Note that the quantization step obtained above may be calculated for each picture in the GOP, or may be calculated for each macroblock which is a coding unit in the picture. As these calculation methods, for example, a method such as
以上説明したように、本実施の形態では、バッファ充足率(BktFlnsRate)から所定の非線形関数である指数関数に従って符号量配分率(BitDistRate)を算出し、その符号量配分率(BitDistRate)とGOPの過不足符号量(dS_gop)とから現GOPの目標符号量(T_gop)を算出し、現GOPの目標符号量(T_gop)と一つ前のGOPの目標符号量との比に応じて量子化ステップを設定し、その量子化ステップで動画像信号を量子化することで可変ビットレート制御を行う。従って、本実施の形態によれば、例えば、バッファ充足率(BktFlnsRate)が少ないときは、符号量配分率(BitDistRate)を上記の指数関数の設定により従来よりも小さくすることで、量子化ステップの変化率を従来の比例関係に比べ小さくすることができる。 As described above, in the present embodiment, the code amount distribution rate (BitDistRate) is calculated from the buffer fullness rate (BktFlnsRate) according to an exponential function that is a predetermined nonlinear function, and the code amount distribution rate (BitDistRate) and the GOP The target code amount (T_gop) of the current GOP is calculated from the excess / deficiency code amount (dS_gop), and the quantization step is performed according to the ratio between the target code amount (T_gop) of the current GOP and the target code amount of the previous GOP And the variable bit rate control is performed by quantizing the moving image signal in the quantization step. Therefore, according to the present embodiment, for example, when the buffer fullness rate (BktFlnsRate) is small, the code amount distribution rate (BitDistRate) is made smaller than the conventional one by setting the above exponential function. The rate of change can be made smaller than the conventional proportional relationship.
すなわち、基準目標ビットレートから過不足符号量を基にした符号量配分率は、従来の比例関係では(9)式を基に表現されていたのに対して、本実施の形態では(13)式を基に指数関数的に設定されるので、バッファ充足率が少ない場合には、量子化ステップの変化率を小さくできる。 That is, the code amount distribution rate based on the excess / deficiency code amount from the reference target bit rate is expressed based on the equation (9) in the conventional proportional relationship, whereas in the present embodiment (13) Since it is set exponentially based on the equation, the change rate of the quantization step can be reduced when the buffer fullness is low.
このことについて具体例を挙げて説明する。バッファ充足率(BktFlnsRate)が少ない例として、例えばBktFlnsRate=0.1であるときは、本実施の形態では符号量配分率(BitDistRate)は(13)式からBitDistRate=(20.1)−1=0.07である。一方、従来は(9)式からBitDistRate=0.1である。よって、本実施の形態の方が、符号量分配率(BitDistRate)は小さくなる。 This will be described with a specific example. Examples buffer fill rate (BktFlnsRate) is small, for example when it is BktFlnsRate = 0.1, the code allocation ratio in this embodiment (BitDistRate) is BitDistRate from (13) = (2 0.1) -1 = 0.07. On the other hand, conventionally, BitDistRate = 0.1 from the equation (9). Therefore, the code amount distribution rate (BitDistRate) is smaller in the present embodiment.
また、GOPの過不足符号量(dS_gop)が負、すなわち、GOPの発生符号量が目標符号量(T_gop)を超えた場合、配分レート(dDistRate)は(15)式及び(16)式より負となり、(17)式より現GOP目標ビットレート(TB_gop)は、一つ前のGOP目標ビットレートより小さくなる。例えば、dS_gop=−100000[bits]、PR=30[Hz]、N=15、一つ前のGOP目標ビットレート(TB_gop)を300000[bits]とすると、本実施の形態では、符号量配分率(BitDistRate)が上記のように0.07であるから、配分符号量(dDistBit)は(15)式より−7000[bits](=−100000×0.07)となる。これに対し、従来は符号量配分率(BitDistRate)が上記のように0.1であるから、配分符号量(dDistBit)は(15)式より−10000[bits](=−100000×0.1)となる。 In addition, when the GOP excess / deficiency code amount (dS_gop) is negative, that is, when the GOP generated code amount exceeds the target code amount (T_gop), the distribution rate (dDistRate) is negative from Equations (15) and (16). Thus, from the equation (17), the current GOP target bit rate (TB_gop) is smaller than the previous GOP target bit rate. For example, assuming that dS_gop = −100000 [bits], PR = 30 [Hz], N = 15, and the previous GOP target bit rate (TB_gop) is 300000 [bits], in this embodiment, the code amount allocation rate Since (BitDistRate) is 0.07 as described above, the allocated code amount (dDistBit) is −7000 [bits] (= −100,000 × 0.07) from the equation (15). On the other hand, since the code amount distribution rate (BitDistRate) is 0.1 as described above, the distribution code amount (dDistBit) is −10000 [bits] (= −100,000 × 0.1) from the equation (15). )
従って、配分レート(dDistRate)は(16)式より、本実施の形態では−14000[bps](=−7000×(30/15))、従来は−20000[bps](=−10000×(30/15))となる。これにより、現GOPの目標ビットレート(TB_gop)は、(17)式より本実施の形態では、286000[bps](=300000+(−14000))となるのに対し、従来は280000[bps](=300000+(−20000))となる。従って、現GOPの目標符号量(T_gop)は、(18)式により本実施の形態では、143000[bits](=286000×(15/30))となるのに対し、従来は140000[bits](=280000×(15/30))となる。 Therefore, the distribution rate (dDistRate) is −14000 [bps] (= −7000 × (30/15)) in the present embodiment from the equation (16), and is −20000 [bps] (= −10000 × (30) conventionally. / 15)). As a result, the target bit rate (TB_gop) of the current GOP is 286000 [bps] (= 300000 + (− 14000)) in the present embodiment from the equation (17), whereas conventionally the target bit rate (TB_gop) is 280000 [bps] ( = 300000 + (− 20000)). Therefore, the target code amount (T_gop) of the current GOP is 143000 [bits] (= 286000 × (15/30)) in the present embodiment according to the equation (18), whereas in the past, 140000 [bits]. (= 280000 × (15/30)).
ここで、(19)式〜(21)式よりピクチャタイプ別目標符号量(T_pic)は、現GOPの目標符号量(T_gop)に比例し、また、(22)式より量子化ステップの変化率は現在のピクチャタイプ別目標符号量と前GOPのピクチャタイプ別目標符号量との比(T_pic(n-1)/T_pic(n))により表現されるため、現GOPの目標符号量(T_gop)が従来に比べて大きな値の本実施の形態の方が、現在のピクチャタイプ別目標符号量(T_pic(n))と一つ前のピクチャタイプ別目標符号量(T_pic(n-1))の差は小さくなる。従って、本実施の形態の方が従来よりも量子化ステップの変化率が小さくなる。 Here, the target code amount (T_pic) for each picture type is proportional to the target code amount (T_gop) of the current GOP from the equations (19) to (21), and the change rate of the quantization step from the equation (22). Is represented by the ratio (T_pic (n-1) / T_pic (n)) between the current code type target code amount and the previous GOP picture type target code amount, so that the current GOP target code amount (T_gop) In the present embodiment, which is larger than the conventional value, the current code type target code amount (T_pic (n)) and the previous picture type target code amount (T_pic (n-1)) The difference is smaller. Therefore, the change rate of the quantization step is smaller in the present embodiment than in the prior art.
この結果、符号化の難しいシーケンスと簡単なシーケンスが交互に続くような場合に、本実施の形態では難しいシーケンスにおいて量子化ステップの変化率を小さくすることができ、これにより符号化の難しいシーケンスの後半部分における画質劣化を従来よりも抑制することが可能である。また、符号化が易しい(簡単な)シーケンスにおいても、本実施の形態では同様に量子化ステップの変化率を従来よりも小さくすることができるため、必要以上に量子化ステップを小さくして余分な符号量を使うことがなく、符号化が易しいシーケンスにおいて極端に画質が良くなるという現象を抑制でき、シーケンス間で画質を保つことが可能である。 As a result, when the difficult sequence and the simple sequence continue alternately, the change rate of the quantization step can be reduced in the difficult sequence according to the present embodiment. It is possible to suppress the image quality deterioration in the latter half part more than before. Even in a sequence that is easy to encode (simple), in the present embodiment, the rate of change of the quantization step can be reduced as compared with the conventional method. It is possible to suppress the phenomenon that the image quality is extremely improved in a sequence that is easy to encode without using a code amount, and it is possible to maintain the image quality between sequences.
次に、本発明の他の実施の形態について説明する。図10は本発明になる動画像符号化装置の他の実施の形態の要部のブロック図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。この実施の形態は、図10に示すように、符号化制御部200’が、図1の符号化制御部200に、量子化ステップ算出モード切替部207、ピクチャ単位符号量制御部207、スイッチSW1、及びスイッチSW2を追加した構成とすることにより、予め規定された仮想的なバッファである符号化バッファ(Coding Picture Buffer:CPB)容量を守る(アンダーフローを防ぐ)ための制御により、符号化規格を遵守し、かつ、従来に比べ画質を均一化したビットストリームを生成するための符号量制御モード切替手法の実施の形態である。すなわち、この実施の形態は、図1と共に説明した上記の実施の形態に、ピクチャ単位の固定ビットレート符号量制御と、符号量制御モード切替手法とを付加したものである。
Next, another embodiment of the present invention will be described. FIG. 10 is a block diagram showing the main part of another embodiment of the moving picture coding apparatus according to the present invention. In the figure, the same components as those in FIG. In this embodiment, as shown in FIG. 10, the
次に、この実施の形態の動作について図11及び図12を併せ参照して説明する。図11は本発明になる動画像符号化装置の他の実施の形態におけるCPBアンダーフロー防止処理のフローチャートを示す。このフローチャートはピクチャ単位で実行される。また、図12はこの実施の形態における時間に伴うCPB充足量の変化とCPB充足量によるアンダーフロー防止の様子を示す。 Next, the operation of this embodiment will be described with reference to FIGS. FIG. 11 is a flowchart of CPB underflow prevention processing in another embodiment of the moving picture coding apparatus according to the present invention. This flowchart is executed in units of pictures. FIG. 12 shows a change in the CPB sufficiency with time in this embodiment and a state of underflow prevention by the CPB sufficiency.
図10の量子化ステップ算出モード切替部207は、可変長符号化部104から出力された符号を内部に設けられた仮想的なバッファであるCPBに蓄積すると共に、スルーで符号化過不足符号量算出部201又はピクチャ単位符号量制御部208へスイッチSW1を介して出力する。また、量子化ステップ算出モード切替部207は、CPBの蓄積符号量であるCPB充足量により、符号量制御モード(以下、rc_mode)を可変ビットレート(VBR)モードと固定ビットレート(CBR)モードを切り替えるため、まず画像目標符号量である最大ピクチャビット量を設定する(図11のステップS101)。
The quantization step calculation
ここでは、シーンチェンジ直後のIピクチャにのみ初期設定のピクチャターゲット(目標符号量)を用い、そうでない場合は前のIピクチャの発生符号量を最大ピクチャビット量として設定する。最大ピクチャビット量をMaxPictureBitsとすると、最大ピクチャビット量は以下の式で表される。ここで、T(I)はIピクチャの目標符号量、S(I)はGOPで1つ前のIピクチャの発生符号量である。 Here, the default picture target (target code amount) is used only for the I picture immediately after the scene change. Otherwise, the generated code amount of the previous I picture is set as the maximum picture bit amount. When the maximum picture bit amount is MaxPictureBits, the maximum picture bit amount is expressed by the following formula. Here, T (I) is the target code amount of the I picture, and S (I) is the generated code amount of the previous I picture in the GOP.
(i)シーンチェンジ直後のIピクチャ
MaxPictureBits=T(I) (23)
(ii)シーンチェンジ直後のIピクチャ以外のピクチャ
MaxPictureBits=S(I) (24)
更に、上式で、最大ピクチャビット量MaxPictureBitsを大きくすることでCPB充足量に対して余裕を持たせるため、予め定めたMaxPicBitsRatio(≧1.0)を乗算する。
(I) I picture immediately after scene change
MaxPictureBits = T (I) (23)
(Ii) Pictures other than I pictures immediately after a scene change
MaxPictureBits = S (I) (24)
Furthermore, in order to make room for the CPB sufficient amount by increasing the maximum picture bit amount MaxPictureBits in the above equation, a predetermined MaxPicBitsRatio (≧ 1.0) is multiplied.
MaxPictureBits=MaxPictureBits×MaxPicBitsRatio (25)
この(25)式で表される最大ピクチャビット量MaxPictureBitsがステップS101で設定される最大ピクチャビット量である。
MaxPictureBits = MaxPictureBits x MaxPicBitsRatio (25)
The maximum picture bit amount MaxPictureBits represented by the equation (25) is the maximum picture bit amount set in step S101.
続いて、量子化ステップ算出モード切替部207は、この最大ピクチャビット量MaxPictureBitsがCPB充足量以上であるかどうか判定し(図11のステップS102)、CPB充足量以上であるときには、符号量制御モードがVBRモードであるかどうか判定する(図11のステップS103)。最大ピクチャビット量MaxPictureBitsがCPB充足量以上の場合、次のピクチャをVBRモードで符号化した場合に、CPBの充足量を下回ってアンダーフローを起こしてしまう可能性があると判断し、マクロブロック単位で符号量を制御するCBRモードの動作に切り替える(図11のステップS104)。
Subsequently, the quantization step calculation
この切り替えにより図10のスイッチSW1が端子a側から端子b側へ切り替わると共に、スイッチSW2が端子c側から端子d側へ切り替わる。CBRモードでは仮想バッファとピクチャターゲットを更新し、符号量制御のための初期設定をする。 By this switching, the switch SW1 in FIG. 10 is switched from the terminal a side to the terminal b side, and the switch SW2 is switched from the terminal c side to the terminal d side. In the CBR mode, the virtual buffer and the picture target are updated, and initial setting for code amount control is performed.
すなわち、CpbFullnessをCPBの充足量とすると、符号量制御モード(rc_mode)が
MaxPictureBits≧CpbFullness
で、VBRモードのときには、符号量制御モード(rc_mode)はCBRモードとなる(図11のステップS104)。
That is, if CpbFullness is the CPB sufficient amount, the code amount control mode (rc_mode) is
MaxPictureBits ≧ CpbFullness
In the VBR mode, the code amount control mode (rc_mode) is the CBR mode (step S104 in FIG. 11).
上記のステップS104で符号量制御モードがCBRモードに設定された場合、又は上記のステップS103で符号量制御モードがVBRモードではない(CBRモードである)と判定された場合、ピクチャ単位符号量制御部208は、GOP初期量子化ステップを用いて仮想バッファd0()(カッコ内はピクチャタイプを示す)を次の(26)式に基づいて初期化する(図11のステップS105)。
When the code amount control mode is set to the CBR mode in step S104, or when it is determined in step S103 that the code amount control mode is not the VBR mode (CBR mode), the picture unit code amount control is performed. The
d0(I)=initialQS(I)×r/QS_MAX
d0(P)=Kp×d0(I)
d0(B)=Kb×d0(I) (26)
ただし、(26)式中、initialQS(I)はIピクチャの初期量子化ステップ、rは量子化ステップの応答速度を示すリアクションパラメータ、QS_MAXは量子化ステップの最大値である。また、KpはIピクチャのとの量子化ステップ比を示すPピクチャの量子化ステップ比率、KbはBピクチャの量子化ステップ比率である。
d0 (I) = initial QS (I) × r / QS_MAX
d0 (P) = Kp × d0 (I)
d0 (B) = Kb × d0 (I) (26)
In equation (26), initialQS (I) is the initial quantization step of the I picture, r is a reaction parameter indicating the response speed of the quantization step, and QS_MAX is the maximum value of the quantization step. Kp is the quantization step ratio of the P picture indicating the quantization step ratio of the I picture, and Kb is the quantization step ratio of the B picture.
続いて、ピクチャ単位符号量制御部208は、GOP目標符号量(GOP割り当て符号量G)を設定する(図12のステップS106)。CBRモードの場合、確実な符号量制御のためのピクチャターゲット(目標符号量)を算出する。このとき、現ピクチャがシーンチェンジ直後のGOPに属しているかどうかでGOP目標符号量(GOP割り当て符号量G)の算出方法が変わるので、ピクチャ単位でシーンチェンジが発生したかどうか検出する。1つのGOPを構成するピクチャの枚数は、シーンチェンジが発生しない場合は一定枚数であるが、シーンチェンジが発生したピクチャはIピクチャとなり、新しいGOPの先頭ピクチャとして符号化される。そこで、シーンチェンジが発生したピクチャの符号化順(伝送順)で直後のGOP(以下、これをシーンチェンジ直後のGOPという)であるかどうか検出する。このシーンチェンジ直後のGOPは、新しいGOPの先頭ピクチャ(シーンチェンジ検出によりIピクチャとなったピクチャ)を含むGOPとなる。
Subsequently, the picture unit code
(A)シーンチェンジ直後のGOPではない場合、GOPの目標ビットレート比(rate_ratio)によってGOP残符号量を制御する。GOPの目標ビットレート比(rate_ratio)は以下の式で表される。 (A) When the GOP is not a GOP immediately after a scene change, the remaining GOP code amount is controlled by the target bit rate ratio (rate_ratio) of the GOP. The target bit rate ratio (rate_ratio) of GOP is expressed by the following equation.
rate_ratio=Bitrate_For_Previous/Bitrate_For_Current (27)
ただし、(27)式中、Bitrate_For_Previousは前GOPのビットレート、Bitrate_For_Currentは現GOPの目標ビットレートである。
rate_ratio = Bitrate_For_Previous / Bitrate_For_Current (27)
In equation (27), Bitrate_For_Previous is the bit rate of the previous GOP, and Bitrate_For_Current is the target bit rate of the current GOP.
ステップS106で算出するGOP目標符号量、すなわちGOP割り当て符号量(G)は、前のGOPの発生ビットレート(Coded_Bitrate)と(27)式の目標ビットレート比(rate_ratio)とに基づいて、次式により算出される。これにより,急激なビットレート低下を抑制する。 The GOP target code amount calculated in step S106, that is, the GOP allocation code amount (G), is calculated based on the previous GOP generation bit rate (Coded_Bitrate) and the target bit rate ratio (rate_ratio) of equation (27) as follows: Is calculated by This suppresses a rapid bit rate decrease.
G=(Coded_Bitrate×N×rate_ratio/picture_rate) (28)
GOP残符号量(R)はGOP割り当て符号量(G)に等しい。
G = (Coded_Bitrate × N × rate_ratio / picture_rate) (28)
The remaining GOP code amount (R) is equal to the GOP allocated code amount (G).
R=G (29)
次に、ピクチャ単位符号量制御部208は、ピクチャタイプ別目標符号量を設定する(図11のステップS107)。符号化順(伝送順)で次のピクチャまで巻き込まないようにCPB増加分(P,Bは半分)(PictureIncBits)を最大(Tmax)とする。ただし、PictureIncBitsはピクチャ単位のCPB増加量、Tmaxはピクチャタイプ別目標符号量の最大値である。これらの間には、次式の関係がある。
R = G (29)
Next, the picture unit code
(a)Iピクチャの場合
Tmax=PictureIncBits (30)
(b)Pピクチャ、Bピクチャの場合
Tmax=PictureIncBits/2 (31)
更に、ピクチャタイプ別目標符号量の最大値(Tmax)は、前の同タイプピクチャ発生符号量(S)と比較して、次式に示すように小さい方を次のピクチャのピクチャタイプ別目標符号量の最大値とする。
(A) For I picture Tmax = PictureIncBits (30)
(B) For P picture and B picture Tmax = PictureIncBits / 2 (31)
Further, the maximum value (Tmax) of the target code amount for each picture type is smaller than the previous same-type picture generation code amount (S) as shown in the following equation, and the target code for each picture type of the next picture is smaller. The maximum amount.
Tmax=min(Tmax,S) (32)
小さい方をとる理由は、ピクチャタイプ別目標符号量の最大値Tmaxを前の同タイプのピクチャと同程度の発生符号量(S)かそれ以下とすれば、CPBのアンダーフローを防ぐことができるためである。
Tmax = min (Tmax, S) (32)
The reason for taking the smaller one is that CPB underflow can be prevented if the maximum value Tmax of the target code amount by picture type is set to a generated code amount (S) of the same level as the previous picture of the same type or less. Because.
なお、ピクチャタイプ別目標符号量の最大値Tmaxは、CPBのピクチャ単位のバッファ増加分(PictureIncBits)及び前の同タイプのピクチャ発生符号量(S)に基づき決定される。ここで、CPBにおけるピクチャ単位のバッファ増加分(PictureIncBits)とは、最大ビットレート(符号化前に定めた固定値:”MaxBitRate”とする)をピクチャレート(PR)で除算した値となり、次式で表される。 The maximum value Tmax of the target code amount for each picture type is determined based on the buffer increment (PictureIncBits) of the CPB in units of pictures and the previous generated picture amount (S) of the same type. Here, the buffer increment (PictureIncBits) in the picture unit in CPB is a value obtained by dividing the maximum bit rate (fixed value determined before encoding: “MaxBitRate”) by the picture rate (PR). It is represented by
PictureIncBits=MaxBitRate/PR (33)
また、前の同タイプのピクチャ発生符号量(S)は、シーンチェンジがない場合にのみ定義される。例えば、
I(0)、P(1)、B(2)、B(3)、P(4)、B(5)、B(6)、P(7)、B(8)、B(9)、P(10)、B(11)、B(12)、I(13)(ただし、括弧内の数字は符号化順を示す)
の順で符号化する場合、I(13)の前の同タイプのピクチャ発生符号量Sは、I(0)の発生符号量のことである。同様に、例えば、P(7)の前の同タイプのピクチャ発生符号量SはP(4)の発生符号量のことを意味し、たとえば、B(3)の前の同タイプのピクチャ発生符号量SはB(2)の発生符号量を意味する。ここでは、シーンチェンジがないとしているので、GOPの構成とは関係なく、I(13)に対するI(0)のように、同タイプのピクチャ発生符号量SはGOPを跨いで異なるGOPのピクチャの発生符合量を指すこともある。
PictureIncBits = MaxBitRate / PR (33)
The previous picture generation code amount (S) of the same type is defined only when there is no scene change. For example,
I (0), P (1), B (2), B (3), P (4), B (5), B (6), P (7), B (8), B (9), P (10), B (11), B (12), I (13) (however, the numbers in parentheses indicate the coding order)
In the case of encoding in this order, the picture generation code amount S of the same type before I (13) is the generation code amount of I (0). Similarly, for example, a picture generation code amount S of the same type before P (7) means a generation code amount of P (4). For example, a picture generation code of the same type before B (3) The quantity S means the generated code quantity of B (2). Here, since it is assumed that there is no scene change, the picture generation code amount S of the same type is different for pictures of different GOPs across the GOPs, such as I (0) with respect to I (13), regardless of the GOP configuration. It may indicate the amount of generated code.
以上により、ステップS107で設定されるピクチャタイプ別目標符号量Tは、以下の通りとなる。なお、T(I)はIピクチャの目標符号量、T(P)はPピクチャの目標符号量、T(B)はBピクチャの目標符号量である。 Thus, the target code amount T for each picture type set in step S107 is as follows. T (I) is the target code amount for I picture, T (P) is the target code amount for P picture, and T (B) is the target code amount for B picture.
T(I)=R/(1.0+N(P)・X(P)/(X(I)・Kp)+N(B)・X(B)/(X(I)・Kb))
T(I)=min(Tmax,max(T(I),Tmin)) (34)
T(P)=R/(Kp・X(I)/X(P)+N(P)+N(B)・Kp・X(B)/(Kb・X(P)))
T(P)=min(Tmax,max(T(P),Tmin)) (35)
T(B)=R/(1.0・Kb・X(I)/X(B)+N(B)+N(P)・Kb・X(P)/(Kp・X(B)))
T(B)=min(Tmax,max(T(B),Tmin)) (36)
(B)シーンチェンジ直後のGOPの場合
この場合、ピクチャタイプ別目標符号量T(T(I)、T(P)、T(B))はGOP初期設定時に算出されているので、次式により画面内アクティビティ平方比によって更新する。
T (I) = R / (1.0 + N (P) ・ X (P) / (X (I) ・ Kp) + N (B) ・ X (B) / (X (I) ・ Kb))
T (I) = min (Tmax, max (T (I), Tmin)) (34)
T (P) = R / (Kp • X (I) / X (P) + N (P) + N (B) • Kp • X (B) / (Kb • X (P)))
T (P) = min (Tmax, max (T (P), Tmin)) (35)
T (B) = R / (1.0 ・ Kb ・ X (I) / X (B) + N (B) + N (P) ・ Kb ・ X (P) / (Kp ・ X (B)))
T (B) = min (Tmax, max (T (B), Tmin)) (36)
(B) In the case of a GOP immediately after a scene change In this case, the target code amount T (T (I), T (P), T (B)) for each picture type is calculated at the time of initial setting of the GOP. Update with in-screen activity square ratio.
T=T×Sqrt(CurIntAveACT/BasicActivity) (37)
ただし、上式中、CurIntAveACTは現在のピクチャのアクティビティであり、BasicActivityは、アクティビティの基準値(定数)である。なお、GOP初期設定時は、(28)式におけるGOP割り当て符号量Gを(1)式のGOP基準目標符号量(T_int)とし、また、(29)式によりR=Gであり、このR(=T_int)を(34)式〜(36)式に代入することにより、(37)式右辺のピクチャタイプ別目標符号量T(T(I)、T(P)、T(B))が求められる。
T = T × Sqrt (CurIntAveACT / BasicActivity) (37)
However, in the above formula, CurIntAveACT is the activity of the current picture, and BasicActivity is the reference value (constant) of the activity. When the GOP is initially set, the GOP allocation code amount G in the equation (28) is set to the GOP reference target code amount (T_int) in the equation (1), and R = G according to the equation (29). = T_int) is substituted into Expressions (34) to (36) to obtain the target code amount by picture type T (T (I), T (P), T (B)) on the right side of Expression (37). It is done.
また、符号化順(伝送順)で次のピクチャまで巻き込まないように、ピクチャ単位のCPB増加量PictureIncBitsをIピクチャの場合は最大(Tmax)とし、Pピクチャ、Bピクチャの場合は最大値(Tmax)の2倍とする。すなわち、次式で表される。 Also, the CPB increase amount PictureIncBits for each picture is set to the maximum (Tmax) in the case of an I picture, and the maximum value (Tmax in the case of a P picture and a B picture so that the next picture is not involved in the encoding order (transmission order). ). That is, it is expressed by the following formula.
(a)Iピクチャの場合
Tmax=PictureIncBits (38)
(b)Pピクチャ、Bピクチャの場合
Tmax=PictureIncBits/2 (39)
更に、ピクチャタイプ別目標符号量Tは、その最小値(Tmin)と比べて大きい方と、その最大値(Tmax)と比較して小さい方を次のピクチャのピクチャタイプ別目標符号量Tとする。
(A) For I picture Tmax = PictureIncBits (38)
(B) For P picture and B picture Tmax = PictureIncBits / 2 (39)
Furthermore, the target code amount T for each picture type is set to be larger than its minimum value (Tmin) and smaller than its maximum value (Tmax) as the target code amount T for each picture type of the next picture. .
T=min(Tmax,max(T,Tmin)) (40)
以上で、図11のステップS107でのピクチャタイプ別目標符号量が設定される。続いて、ピクチャ単位符号量制御部208はマクロブロック毎に符号量制御を行うことで、CPBアンダーフローを防止する(図11のステップS108)。ここで、ステップS108のマクロブロック単位での符号量制御については、以上で求められた、ピクチャタイプ別の目標符号量を基準とした制御方法であればよく、例えばTM5による方式であってもよいし、他の方法であってもよい。
T = min (Tmax, max (T, Tmin)) (40)
Thus, the target code amount for each picture type in step S107 in FIG. 11 is set. Subsequently, the picture unit code
ここでは、一例としてTM5の方式によるマクロブロック単位の固定ビットレート量子化ステップ算出方法を示す。(26)式によってピクチャタイプ別に設定した仮想バッファd0(I)、d0(P)、d0(B)を用いて、量子化ステップをマクロブロック単位のフィードバック制御で求める。j番目のマクロブロックの符号化に先立ち、ピクチャタイプ別の仮想バッファd0の占有量d[j](I)、d[j](P)、d[j](B)を以下の式により求める。 Here, as an example, a constant bit rate quantization step calculation method for each macroblock by the TM5 method is shown. Using the virtual buffers d0 (I), d0 (P), and d0 (B) set for each picture type according to equation (26), the quantization step is obtained by feedback control in units of macroblocks. Prior to encoding the j-th macroblock, the occupation amounts d [j] (I), d [j] (P), and d [j] (B) of the virtual buffer d0 for each picture type are obtained by the following equations. .
d[j](I)=d0(I)+B[j-1]−(T(I)×(j-1)/NumMB)
d[j](P)=d0(P)+B[j-1]−(T(P)×(j-1)/NumMB)
d[j](B)=d0(B)+B[j-1]−(T(B)×(j-1)/NumMB)
ここで、B[j]はピクチャ内のj番目までのマクロブロックを符号化した際に発生した符号量、また、NumMBはピクチャ内のマクロブロック個数である。また、j=0の場合は、上式は次のようになる。
d [j] (I) = d0 (I) + B [j-1] − (T (I) × (j−1) / NumMB)
d [j] (P) = d0 (P) + B [j-1] − (T (P) × (j−1) / NumMB)
d [j] (B) = d0 (B) + B [j-1] − (T (B) × (j−1) / NumMB)
Here, B [j] is the amount of code generated when the j-th macroblock in the picture is encoded, and NumMB is the number of macroblocks in the picture. When j = 0, the above equation is as follows.
d[0](I)=d0(I)
d[0](P)=d0(P)
d[0](B)=d0(B)
j番目のマクロブロックに対するIピクチャ、Pピクチャ、Bピクチャの各量子化ステップQstep[j](I)、Qstep[j](P)、Qstep[j](B)は、Iピクチャ、Pピクチャ、Bピクチャの各量子化パラメータをそれぞれQP[j](I)、QP[j](P)、QP[j](B)とすると、以下の式で求められる。
d [0] (I) = d0 (I)
d [0] (P) = d0 (P)
d [0] (B) = d0 (B)
Quantization steps Qstep [j] (I), Qstep [j] (P), and Qstep [j] (B) for I-picture, P-picture, and B-picture for the j-th macroblock are I-picture, P-picture, When each quantization parameter of the B picture is QP [j] (I), QP [j] (P), and QP [j] (B), the following equations are obtained.
QP[j](I)=d[j](I)×51/r
Qstep[j](I)=2((QP[j](I)−4)/6) (41a)
QP[j](P)=d[j](P)×51/r
Qstep[j](P)=2((QP[j](P)−4)/6) (41b)
QP[j](B)=d[j](B)×51/r
Qstep[j](B)=2((QP[j](B)−4)/6) (41c)
ステップS108の符号量制御後は、図1に示した実施の形態と同様の動作によるピクチャ符号化が行われる。
QP [j] (I) = d [j] (I) × 51 / r
Qstep [j] (I) = 2 ((QP [j] (I) −4) / 6) (41a)
QP [j] (P) = d [j] (P) × 51 / r
Qstep [j] (P) = 2 ((QP [j] (P) −4) / 6) (41b)
QP [j] (B) = d [j] (B) × 51 / r
Qstep [j] (B) = 2 ((QP [j] (B) −4) / 6) (41c)
After the code amount control in step S108, picture coding is performed by the same operation as that of the embodiment shown in FIG.
なお、図10の量子化ステップ算出モード切替部207は、図11のステップS102で最大ピクチャビット量がCPB充足量未満であると判定したときは、符号量制御モード(rc_mode)を可変ビットレート(VBR)モードとし、スイッチSW1を端子a側に接続すると共にスイッチSW2を端子c側に接続し、前述したピクチャ単位符号量制御部208の処理は行わない。すなわち、CPB充足量に余裕ができたため、VBRモードでの符号化に戻る(図11のステップS109)。
When the quantization step calculation
以上の図11の処理について図12と共に更に説明する。シーンチェンジがない場合に、I(0)、P(1)、B(2)、B(3)、P(4)、B(5)、B(6)、・・・(ただし、括弧内の数字は符号化順を示す)の順で符号化する場合、I(0)ピクチャをVBRモードで符号化すると、右肩上がりの斜線で示される固定値のCPB増加分(PictureIncBits)だけ発生符号量S(I(0))が増加する。 The processing of FIG. 11 will be further described with reference to FIG. When there is no scene change, I (0), P (1), B (2), B (3), P (4), B (5), B (6), ... (however, in parentheses When the I (0) picture is encoded in the VBR mode, the code generated by the fixed value CPB increment (PictureIncBits) indicated by the diagonal line rising to the right is generated. The quantity S (I (0)) increases.
ここで、図12に301で示す、発生符号量S(I(0))の最大ピクチャビット量(MaxPicBitsRatio)倍の値が、同図に点線302で示すCPBアンダーフロー警戒線であり、CPB充足量(CpbFullness)が、このCPBアンダーフロー警戒線を下回ると、CPBアンダーフローを警戒し、CBRモードで動作する。図12の例では、P(4)ピクチャの発生符号量によりCPBアンダーフロー警戒線302を下回る。このとき、(24)式、(25)式と、
S(I(0))×MaxPictureBits≧CpbFullness
の条件で、VBRモードのときには、符号量制御モードはCBRモードに切り替わる(図11のステップS104)。
Here, the value of the generated code amount S (I (0)) times the maximum picture bit amount (MaxPicBitsRatio) indicated by 301 in FIG. 12 is the CPB underflow warning line indicated by the dotted
S (I (0)) × MaxPictureBits ≧ CpbFullness
Under the conditions, in the VBR mode, the code amount control mode is switched to the CBR mode (step S104 in FIG. 11).
続いて、B(5)ピクチャの目標符号量T(B(5))は、(32)式及び(36)式から、B(5)のピクチャタイプ別目標符号量の最大値Tmax(B(5))と、B(5)ピクチャの前の同タイプのB(3)のピクチャ発生符号量S(B(3))(これは(32)式のSに相当)と、T(B(5))の中から最小のものを選択される。ここでは、Tmax(B(5))が選択されるものとすると、これは(31)式よりPictureIncBits/2である。 Subsequently, the target code amount T (B (5)) of the B (5) picture is obtained from the equations (32) and (36) from the maximum value Tmax (B ( 5)), the B (3) picture generation code amount S (B (3)) of the same type before the B (5) picture (this corresponds to S in the equation (32)), and T (B ( 5)), the smallest one is selected. Here, if Tmax (B (5)) is selected, this is PictureIncBits / 2 from equation (31).
すなわち、この場合の、B(5)ピクチャの目標符号量T(B(5))は、CPBの増加分(PictureIncBits)の1/2倍の値を超えないため、図12に303で示すように、マクロブロック制御により、ほぼ正確にピクチャ毎のCPBの増加分(PictureIncBits)の1/2倍以下に発生符号量が抑えられ、図12に示すように、CPB充足量はCPBアンダーフロー警戒線302より上となる。 That is, in this case, the target code amount T (B (5)) of the B (5) picture does not exceed a value that is 1/2 times the increment of CPB (PictureIncBits). In addition, the generated code amount can be suppressed to about 1/2 times or less of the increment of CPB for each picture (PictureIncBits) by the macroblock control. As shown in FIG. 12, the CPB sufficient amount is equal to the CPB underflow warning line. 302 and above.
仮に、ピクチャB(5)の符号化時にアンダーフロー警戒線302を下回っても、次のピクチャB(6)も同様にCPB増加分の1/2倍程度で符号化されるため、これを繰り返すと、いずれはCPB充足量はアンダーフロー警戒線302より上となる。よって、本実施の形態により、CPBのアンダーフローを防止することができる。
Even if it falls below the
以上の図10〜図12と共に説明した実施の形態によれば、VBRモードではスイッチSW1を端子a側に接続し、かつ、スイッチSW2を端子c側に接続して、図1等と共に説明した先の実施の形態による可変ビットレートの量子化ステップで量子化部103を制御しGOP単位での量子化パラメータ制御を行いながら、最大ピクチャビット量がCPB充足量以上の時には、スイッチSW1を端子b側に接続し、かつ、スイッチSW2を端子d側に接続してCBRモードとし、ピクチャ単位符号量制御部208から出力される固定ビットレートの量子化ステップで量子化部103を制御することで、規定されたバッファ容量を保ちながら、VBR制御が可能であるため、符号化の規格に沿ったビットストリームを従来に比べ高画質で生成することができる。
According to the embodiment described with reference to FIGS. 10 to 12 above, in the VBR mode, the switch SW1 is connected to the terminal a side and the switch SW2 is connected to the terminal c side, and the above described with reference to FIG. When the maximum picture bit amount is equal to or larger than the CPB full amount while controlling the
なお、本発明は以上の実施の形態に限定されるものではなく、本発明は上記した装置の機能をプログラムによりコンピュータに実現させるようにしてもよい。このプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。また、本発明は、量子化・符号化を行う信号の圧縮方式に適用可能であり、例えば、動画像信号だけでなくオーディオ信号にも適用可能である。 Note that the present invention is not limited to the above-described embodiment, and the present invention may cause a computer to realize the functions of the above-described apparatus by a program. This program may be read from a recording medium and loaded into a computer, or may be transmitted via a communication network and loaded into a computer. Further, the present invention can be applied to a compression method of a signal that performs quantization / encoding, and can be applied not only to a moving image signal but also to an audio signal.
100 動画像符号化部
101 予測部
102 直交変換部
103 量子化部
104 可変長符号化部
105 逆量子化部
106 逆直交変換部
107 画像メモリ部
200、200’ 符号化制御部
201 符号化過不足符号量算出部
202 バッファ充足率算出部
203 符号配分率算出部
204 目標ビットレート算出部
205 画像タイプ別目標符号量算出部
206 画像タイプ別量子化ステップ算出部
207 量子化ステップ算出モード切替部
208 ピクチャ単位符号量制御部
SW1、SW2 スイッチ
DESCRIPTION OF
Claims (2)
前記可変長符号化手段における所定の画像群符号化単位毎の発生符号量と予め定められた基準目標符号量との差分である過不足符号量に応じて、前記可変長符号化手段における所定の画像群符号化単位毎の発生符号量を前記基準目標符号量となるように、前記符号化部へ供給する前記量子化ステップを可変制御する符号化制御部と
よりなる動画像符号化装置であって、
前記符号化制御部は、
前記可変長符号化手段における前記画像群符号化単位毎の発生符号量から前記画像群符号化単位毎の前記基準目標符号量を差し引いて、前記過不足符号量を算出する過不足符号量算出手段と、
前記過不足符号量を積算して得たバッファ充足量と、前記可変長符号化手段内の前記画像群符号化単位毎の符号を蓄積するバッファの許容バッファサイズとの比であるバッファ充足率を算出するバッファ充足率算出手段と、
前記バッファ充足率が0以上で、かつ、前記過不足符号量が0以上のときは、第1の非線形関数に従って前記バッファ充足率から符号量配分率を算出し、前記バッファ充足率が0以上で、かつ、前記過不足符号量が負のときは、第2の非線形関数に従って前記バッファ充足率から前記符号量配分率を算出し、前記バッファ充足率が負のときは前記符号量配分率を0とする符号量配分率算出手段と、
前記符号量配分率算出手段で算出された前記符号量配分率と前記過不足符号量とから、現在の画像群符号化単位の目標符号量を算出する目標符号量算出手段と、
前記目標符号量算出手段で算出された前記現在の画像群符号化単位の目標符号量と、一つ前の画像群符号化単位の目標符号量との比から前記量子化ステップを算出する量子化ステップ算出手段と
を有し、前記第1の非線形関数は、前記バッファ充足率の増加に従い前記符号量配分率を非線形的に増加させる関数であり、前記第2の非線形関数は、前記バッファ充足率の増加に従い前記符号量配分率を非線形的に減少させる関数であることを特徴とする動画像符号化装置。 A prediction signal is generated in a predetermined encoding unit by a prediction unit from a moving image signal to be encoded and a reference image signal, and a difference signal between the prediction signal and the moving image signal is orthogonally converted by an orthogonal conversion unit. An orthogonal transform coefficient is generated, and the reference image signal is generated by a reference image signal generation unit from a signal obtained by quantizing the orthogonal transform coefficient based on an external quantization step, and a variable length code is generated by a variable length encoding unit. And an encoding unit that outputs an encoded signal,
In accordance with an excess / deficiency code amount that is a difference between a generated code amount for each predetermined image group coding unit in the variable length coding unit and a predetermined reference target code amount, a predetermined length in the variable length coding unit is determined. A moving image encoding apparatus comprising: an encoding control unit that variably controls the quantization step supplied to the encoding unit such that a generated code amount for each image group encoding unit becomes the reference target code amount. And
The encoding control unit
An excess / deficiency code amount calculation means for calculating the excess / deficiency code amount by subtracting the reference target code amount for each image group coding unit from the generated code amount for each image group coding unit in the variable length coding means. When,
A buffer fullness rate which is a ratio of the buffer fullness obtained by integrating the excess / deficient code amount and the allowable buffer size of the buffer for accumulating codes for each image group coding unit in the variable length coding unit A buffer filling rate calculating means for calculating;
When the buffer filling rate is 0 or more and the excess / deficiency code amount is 0 or more, a code amount distribution rate is calculated from the buffer filling rate according to a first nonlinear function, and the buffer filling rate is 0 or more. When the excess / deficiency code amount is negative, the code amount distribution rate is calculated from the buffer filling rate according to a second nonlinear function. When the buffer filling rate is negative, the code amount distribution rate is set to 0. Code amount distribution rate calculating means, and
Target code amount calculating means for calculating a target code amount of a current image group coding unit from the code amount distribution rate calculated by the code amount distribution rate calculating means and the excess / deficiency code amount;
Quantization for calculating the quantization step from the ratio between the target code amount of the current image group coding unit calculated by the target code amount calculation means and the target code amount of the previous image group coding unit Step calculating means, wherein the first nonlinear function is a function for increasing the code amount allocation rate in a nonlinear manner according to an increase in the buffer filling rate, and the second nonlinear function is the buffer filling rate. The moving picture coding apparatus is a function that reduces the code amount distribution rate in a non-linear manner in accordance with an increase in.
前記目標符号量から算出された現在の画像群符号化単位に含まれる画像目標符号量を算出する画像目標符号量算出手段と、
前記画像目標符号量により所定の符号化単位で固定ビットレートの量子化ステップを算出する固定ビットレート量子化ステップ算出手段と、
前記可変長符号化手段から出力される符号を予め定められたバッファに蓄積し、該バッファの蓄積符号量が前記画像目標符号量に関連した所定の容量を下回っているかどうかを監視するバッファ容量監視手段と、
前記バッファ容量監視手段により、前記バッファの蓄積符号量が前記所定の容量を下回っていると判定されたときは、前記固定ビットレート量子化ステップ算出手段により算出された前記固定ビットレートの量子化ステップを前記符号化部へ出力し、前記バッファの蓄積符号量が前記所定の容量を超えていると判定されたときは、前記量子化ステップ算出手段により算出された可変ビットレートの量子化ステップを前記符号化部へ出力する量子化ステップ切替出力手段と
を更に有することを特徴とする請求項1記載の動画像符号化装置。 The encoding control unit
Image target code amount calculating means for calculating an image target code amount included in a current image group encoding unit calculated from the target code amount;
Fixed bit rate quantization step calculating means for calculating a fixed bit rate quantization step in a predetermined encoding unit according to the image target code amount;
A buffer capacity monitor for accumulating codes output from the variable length coding means in a predetermined buffer and monitoring whether the accumulated code quantity of the buffer is below a predetermined capacity related to the image target code quantity Means,
When the buffer capacity monitoring means determines that the stored code amount of the buffer is less than the predetermined capacity, the fixed bit rate quantization step calculated by the fixed bit rate quantization step calculating means Is output to the encoding unit, and when it is determined that the accumulated code amount of the buffer exceeds the predetermined capacity, the quantization step of the variable bit rate calculated by the quantization step calculation unit is performed. The moving picture coding apparatus according to claim 1, further comprising: a quantization step switching output means for outputting to the coding unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006120040A JP2007116655A (en) | 2005-09-20 | 2006-04-25 | Moving picture coding apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005271376 | 2005-09-20 | ||
JP2006120040A JP2007116655A (en) | 2005-09-20 | 2006-04-25 | Moving picture coding apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007116655A true JP2007116655A (en) | 2007-05-10 |
Family
ID=38098403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006120040A Pending JP2007116655A (en) | 2005-09-20 | 2006-04-25 | Moving picture coding apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007116655A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012521141A (en) * | 2009-03-19 | 2012-09-10 | コア ロジック,インコーポレイテッド | Encoding apparatus and method and multimedia apparatus including the encoding apparatus |
CN108124155A (en) * | 2016-11-30 | 2018-06-05 | 阿里巴巴集团控股有限公司 | A kind of bit rate control method, device and electronic equipment |
CN116156209A (en) * | 2022-12-21 | 2023-05-23 | 上海幻电信息科技有限公司 | Method and device for detecting live stream code rate mutation, storage medium and electronic equipment |
-
2006
- 2006-04-25 JP JP2006120040A patent/JP2007116655A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012521141A (en) * | 2009-03-19 | 2012-09-10 | コア ロジック,インコーポレイテッド | Encoding apparatus and method and multimedia apparatus including the encoding apparatus |
US8948242B2 (en) | 2009-03-19 | 2015-02-03 | Core Logic Inc. | Encoding device and method and multimedia apparatus including the encoding device |
CN108124155A (en) * | 2016-11-30 | 2018-06-05 | 阿里巴巴集团控股有限公司 | A kind of bit rate control method, device and electronic equipment |
CN116156209A (en) * | 2022-12-21 | 2023-05-23 | 上海幻电信息科技有限公司 | Method and device for detecting live stream code rate mutation, storage medium and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6801572B2 (en) | Method and apparatus for image signal encoding | |
US8824546B2 (en) | Buffer based rate control in video coding | |
US7426309B2 (en) | Method of controlling encoding rate, method of transmitting video data, encoding rate controller for video encoder, and video data transmission system using the encoding rate controller | |
KR100790149B1 (en) | Rate control of scene-changed video encoder | |
JPWO2009157577A1 (en) | Image processing apparatus and image processing method | |
JP4706104B2 (en) | Image encoding apparatus and method | |
US6714592B1 (en) | Picture information conversion method and apparatus | |
JPWO2009157579A1 (en) | Image processing apparatus and image processing method | |
JP2012521141A (en) | Encoding apparatus and method and multimedia apparatus including the encoding apparatus | |
JP2000197049A (en) | Dynamic image variable bit rate encoding device and method therefor | |
JP2006295535A (en) | Dynamic image coding apparatus, and method | |
JPH10164577A (en) | Dynamic image encoder | |
JP4362795B2 (en) | Video encoding apparatus and method | |
US6226326B1 (en) | Coding device and coding method | |
KR101336445B1 (en) | Method for rate control in video encoding | |
JP2007116655A (en) | Moving picture coding apparatus | |
JP2004328150A (en) | Moving picture coding apparatus and method | |
KR100800838B1 (en) | Rate control of video encoder | |
US20030174771A1 (en) | Method, apparatus, and program for variable bit rate encoding | |
JP2008271213A (en) | Image encoding device | |
Yin et al. | A rate control scheme for H. 264 video under low bandwidth channel | |
US7801214B2 (en) | Method and apparatus for controlling encoding rate and quantization scales | |
JP2008078978A (en) | Moving image encoder | |
JP3918208B2 (en) | Video data compression apparatus and method | |
JP4346732B2 (en) | Method and system for processing multiple streams of video frames |