JP2007318617A - Image encoder and image encoding program - Google Patents
Image encoder and image encoding program Download PDFInfo
- Publication number
- JP2007318617A JP2007318617A JP2006148030A JP2006148030A JP2007318617A JP 2007318617 A JP2007318617 A JP 2007318617A JP 2006148030 A JP2006148030 A JP 2006148030A JP 2006148030 A JP2006148030 A JP 2006148030A JP 2007318617 A JP2007318617 A JP 2007318617A
- Authority
- JP
- Japan
- Prior art keywords
- picture
- encoded
- code amount
- image
- image encoding
- 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 an image encoding device and an image encoding program for efficiently encoding image data.
従来、画像データを効率的に符号化するための画像符号化の技術としては、MPEG(Moving Picture Experts Group)に代表される符号化方式がある。図1に一般的なMPEG規格における画像符号化装置の構成を示す。 Conventionally, as an image encoding technique for efficiently encoding image data, there is an encoding method represented by MPEG (Moving Picture Experts Group). FIG. 1 shows a configuration of an image encoding device in a general MPEG standard.
図1に示す量子化制御部では、符号化されたデータを所定のデータ量で伝送するため、各ピクチャに対する割り当てデータ量(目標符号量)を制御する。例えば、MPEG符号化方式では、性質の異なる3種類のピクチャ(I、P、Bピクチャ)が存在するため、各ピクチャの種類によって目標符号量を決定する。即ちIまたはPピクチャをPまたはBピクチャの参照ピクチャとして用いる場合は、I、Pピクチャの目標符号量をBピクチャよりも多く割り当てる。 The quantization control unit shown in FIG. 1 controls the allocated data amount (target code amount) for each picture in order to transmit the encoded data with a predetermined data amount. For example, in the MPEG encoding method, there are three types of pictures (I, P, B pictures) having different properties, and therefore the target code amount is determined according to the type of each picture. That is, when an I or P picture is used as a reference picture for a P or B picture, a larger target code amount for the I or P picture is assigned than for a B picture.
上記のような量子化制御方式としては、例えば特許文献1のように、符号化ピクチャの量子化パラメータを決定する際に、符号化ピクチャを含めた1GOP分の原画像データを先読みして、イントラ予測処理とインター予測誤処理を実施し、イントラ予測処理とインター予測誤処理によって得られる予測誤差の大きさに応じて各ピクチャへ符号量を割り当てる量子化制御方式が知られている。また、非特許文献2のように、符号化ピクチャの予測誤差情報と発生符号量の相関関係に着目し、符号化ピクチャの目標符号量を決定する量子化制御方式が知られている。
As the quantization control method as described above, for example, as in
以下、MPEG-2規格にて用いられているMPEG-2 Test Model 5方式を例に量子化制御部での動作を簡単に説明する。なお、詳細な動作説明は、後述する。
Hereinafter, the operation in the quantization control unit will be briefly described by taking the MPEG-2
MPEG-2 Test Model 5では、各ピクチャへの符号量割り当てを行うステップ1、仮想バッファを用いて、ピクチャ内の各ブロックへの量子化パラメータを決定するステップ2、ピクチャ内の視覚特性を考慮して各ブロックの量子化パラメータに重み付けを行うステップ3の3ステップの処理が行われている(非特許文献1参照)。
In MPEG-2
ところで、上記MPEG-2 Test Model 5方式では、上記ステップ2の処理とステップ3の処理が相反して動作する場合がある。例えばステップ2において、符号化マクロブロックの符号量が多く発生した場合には、次に符号化するマクロブロックにおいて発生符号量を抑えようと量子化ステップが大きくなる方向に働く。そのとき、次に符号化するマクロブロックのアクティビティが小さい場合には、量子化ステップが小さくなる方向に働き、ステップ2とステップ3の制御が相殺されてしまうといった問題があった。
By the way, in the MPEG-2 Test
また、特許文献1の方式では、符号化ピクチャを含めて1GOP分の画像データを先読みして、イントラ予測またはインター予測誤処理を実施する必要があるため、処理時間が大幅にかかる。特に、HD(High Definition:高品位)画像などのサイズの大きい動画像データを符号化する際には、実時間で符号化処理を行うことが困難であるといった問題があった。
In addition, in the method of
また、非特許文献2の方式においても、符号化ピクチャの画像データを先読みして、符号化ピクチャ内の全マクロブロックの予測誤差を算出した後に、符号化ピクチャの目標符号量を決定するため、マクロブロックごとに符号化処理を行うパイプライン処理には不適であるといった問題があった。 Also in the method of Non-Patent Document 2, in order to determine the target code amount of the encoded picture after prefetching the image data of the encoded picture and calculating the prediction error of all the macroblocks in the encoded picture, There is a problem that it is not suitable for pipeline processing in which encoding processing is performed for each macroblock.
従って、本発明の目的は、かかる問題を解消し、画質を実質的に保持しながら、符号化ピクチャ以降の原画像データを先読みすることなく量子化制御を実施することを可能とした画像符号化装置および符号化方法を提供することである。 Accordingly, an object of the present invention is to provide an image coding that eliminates such a problem and can perform quantization control without prefetching the original image data after the coded picture while substantially maintaining the image quality. An apparatus and an encoding method are provided.
上記課題を解決するために、本発明の画像符号化装置は、符号化するピクチャがI、P、Bピクチャのいずれであるかを検出するピクチャ判定部とそのピクチャ判定部にてピクチャがIピクチャと判定された場合には、過去に符号化されたIピクチャの発生符号量に基づいて目標符号量を決定し、PまたはBピクチャと判定された場合には、符号化済みピクチャの予測誤差情報から、符号化ピクチャの目標符号量を決定する目標符号量決定部を備える。そして、画面内ブロックの絵柄の複雑さを検出するアクティビティ演算部を備え、上記決定された目標符号量とアクティビティ情報からピクチャ内の量子化パラメータを決定する量子化制御部を備える。 In order to solve the above problems, an image encoding apparatus according to the present invention includes a picture determination unit that detects whether a picture to be encoded is an I, P, or B picture, and the picture determination unit includes a picture that is an I picture. If it is determined, the target code amount is determined based on the generated code amount of the I picture encoded in the past, and if it is determined as the P or B picture, the prediction error information of the encoded picture And a target code amount determination unit for determining a target code amount of the encoded picture. Then, an activity calculation unit for detecting the complexity of the picture of the block in the screen is provided, and a quantization control unit for determining a quantization parameter in the picture from the determined target code amount and activity information.
本発明の画像符号化方法は、シーンチェンジなどの符号化ピクチャと符号化済みピクチャとの相関が低い場合には、符号化済みピクチャの予測誤差情報と符号化ピクチャの発生符号量を推定する関係式を補正するように制御することが好ましい。 In the image coding method of the present invention, when the correlation between a coded picture such as a scene change and a coded picture is low, the prediction error information of the coded picture and the generated code amount of the coded picture are estimated. It is preferable to control to correct the equation.
本発明によれば、MPEG規格をはじめとする動画像符号化方式における量子化ステップ決定する量子化制御において、画質を実質的保持しつつ、符号化ピクチャ以降の原画像データを先読みすることなくて符号化することが可能となる。 According to the present invention, in the quantization control for determining the quantization step in the moving picture coding system such as the MPEG standard, the image quality after the coded picture is substantially maintained without prefetching the original image data after the coded picture. It becomes possible to encode.
図1に一般的なMPEG規格における画像符号化装置の構成を示す。同図において、101は入力された画像を記憶する原画像メモリである。102は、原画像データと過去に符号化されたデータから生成された予測画像データの差分を取る加算器である。103は加算器102で演算された差分データを周波数領域に変換する直交変換処理部であり、104は、103で直交変換されたデータを量子化する量子化部である。
FIG. 1 shows a configuration of an image encoding device in a general MPEG standard. In the figure,
また、105は、104で量子化されたデータを符号化する符号化部である。106は、105で符号化されたデータを伝送するために、蓄積されるバッファであり、107は104で量子化されたデータを逆量子化する逆量子化部である。108は107で逆量子化されたデータを逆変換する逆直交変換部である。109は、108にて逆直交変換されたデータに、フレームメモリに格納されている過去のピクチャデータを加算する加算器である。
また、110は、加算器109で演算された後の復号画像データを記憶するフレームメモリであり、111は、原画像データと復号画像データの近似している部分を検出し、その動き検出によって生成された動きベクトルに基づき、フレームメモリから原画像データに最も近い復号画像データを読み出して予測画像を生成する動き検出・動き補償部である。113は、原画像をある領域にブロック分割し、そのブロックの特徴量を決定するアクティビティ演算を行うアクティビティ演算部である。112は、量子化ステップを制御し、目標符号量および符号化画質の品質を決定する量子化制御部である。114は符号化ブロックの周囲の画素から予測画像を生成するイントラ予測部である。
次に、MPEG-2 Test Model 5における各ステップの処理を説明する。
Next, processing of each step in MPEG-2
ステップ1では、まず、符号化ピクチャの発生符号量と画面の複雑さを示すパラメータXi、Xp、Xbを次式により求める。
In
ここで、Si、Sp、Sbはそれぞれ、I、P、Bピクチャ符号化時の発生符号量、Qi、Qp、QbはそれぞれI、P、Bピクチャの量子化パラメータの平均値である。また、パラメータXi、Xp、Xbの初期値は、次式で示される値が用いられる。 Here, Si, Sp, and Sb are generated code amounts when I, P, and B pictures are encoded, and Qi, Qp, and Qb are average values of quantization parameters of I, P, and B pictures, respectively. In addition, as the initial values of the parameters Xi, Xp, and Xb, values represented by the following expressions are used.
ここで、bit_rateは目標ビットレートである。 Here, bit_rate is a target bit rate.
次に、Iピクチャの量子化パラメータとP、Bピクチャの各量子化パラメータとの比率Kp、Kbを決定し、各ピクチャの目標符号量を決定する。Kp、Kbの値はそれぞれ次式に示す値が用いられる。 Next, ratios Kp and Kb between the quantization parameter of the I picture and the quantization parameters of the P and B pictures are determined, and the target code amount of each picture is determined. The values shown in the following equations are used for the values of Kp and Kb, respectively.
GOP(Group of Picture)内の各I、P、Bピクチャに対する目標符号量をTi、Tp、Tbとすると、それぞれ次式で表される。 Assuming that the target code amount for each I, P, and B picture in a GOP (Group of Picture) is Ti, Tp, and Tb, they are respectively expressed by the following equations.
ここで、Np、NbはGOP内でまだ符号化されていないP、Bピクチャの枚数であり、frame_rateはフレームレートである。また、Rは、GOP内に対して割り当てられる符号量であり、次式で更新される。 Here, Np and Nb are the numbers of P and B pictures that have not been encoded in the GOP, and frame_rate is the frame rate. R is a code amount assigned to the GOP and is updated by the following equation.
また、GOP内の最初のピクチャを符号化する際には、次式が用いられる。 Further, the following equation is used when encoding the first picture in the GOP.
NはGOP内のピクチャ数である。またシーケンスの最初でのRの初期値は0である。 N is the number of pictures in the GOP. The initial value of R at the beginning of the sequence is 0.
ステップ2では、上記ステップ1で求められた各ピクチャに対する目標符号量と発生符号量とを一致させるため、ピクチャタイプごとに独立に設定した3種類の仮想バッファ容量に基づき、マクロブロック(MB: ピクチャ内を16×16画素単位で分割したブロック)ごとの量子化パラメータを決定する。I、P、Bピクチャの仮想バッファ占有量は、次式により求められる。
In step 2, in order to match the target code amount and the generated code amount for each picture obtained in
ここで、Bjはピクチャ先頭からj番目のマクロブロックまでの発生符号量、 はピクチャ内のマクロブロック数である。j番目のマクロブロックの量子化パラメータを次式により計算する。 Here, Bj is the amount of generated code from the beginning of the picture to the jth macroblock, and is the number of macroblocks in the picture. The quantization parameter of the jth macroblock is calculated by the following equation.
ここで、rはフィードバックの応答速度を制御するパラメータであり次式で与えられる。 Here, r is a parameter for controlling the feedback response speed, and is given by the following equation.
なお、仮想バッファ占有量の初期値は、次式で与えられる。 Note that the initial value of the virtual buffer occupation amount is given by the following equation.
ステップ3では、平坦部では歪が目立ちやすく、絵柄の複雑な部分では目立ちにくいという人間の視覚特性を利用し、その判別のために、アクティビティと呼ばれる分散値を用いる。そして、アクティビティに基づいて量子化ステップを変更している。具体的な処理としては、マクロブロックを4分割し、8×8画素ブロック単位で輝度信号の分散値を計算する。分散値は、数式11の計算式で求める。ここで、変数nはマクロブロック内の8×8ブロックの位置であり、左上の8×8ブロックを1右上の8×8ブロックを2、左下の8×8ブロックを3、右下の8×8ブロックを4とする。また、Pn(x,y)は、ピクチャ内の(x,y)位置の輝度信号を示している。
In step 3, a human visual characteristic that distortion is conspicuous in a flat part and inconspicuous in a complicated part of a pattern is used, and a variance value called activity is used for the discrimination. Then, the quantization step is changed based on the activity. As a specific process, the macroblock is divided into four, and the variance value of the luminance signal is calculated in units of 8 × 8 pixel blocks. The variance value is obtained by the calculation formula of
アクティビティは、数式12に示す式で算出する。 The activity is calculated by the formula shown in Formula 12.
ここで、最小値をとるのは、マクロブロック内の一部だけでも平坦部のある場合には量子化を細かくするためである。さらに量子化ステップの重み付け係数Nactを、下記の式で算出する。 Here, the minimum value is taken in order to make the quantization fine when only a part of the macroblock has a flat portion. Further, the weighting coefficient Nact of the quantization step is calculated by the following formula.
ここで、avg_actは、直前に符号化したピクチャのアクティビティの平均値である。
続いて、ステップ2で算出された量子化パラメータQPjに重み付け係数Nact を乗算符号化ブロックの量子化パラメータQPを算出する。
Here, avg_act is an average value of the activity of the picture encoded immediately before.
Subsequently, the quantization parameter QP of the coded block is calculated by multiplying the quantization parameter QPj calculated in step 2 by the weighting coefficient Nact.
このような方法により、視覚的劣化の目立ちにくい絵柄の複雑な部分では、荒く量子化を行い、また視覚的劣化の目立ちやすい平坦な領域においては細かく量子化して、発生符号量を制御する。 By such a method, the amount of generated code is controlled by performing rough quantization on a complicated portion of a pattern that is not easily noticeable visually, and finely quantizing on a flat area where the image is easily visually deteriorated.
以下に、図を用いて、本発明の実施例を詳細に述べる。
<実施例1>
図2は、本発明による画像符号化装置の一実施例の構成を示すブロック構成図である。同図に示すように、本画像符号化装置は、従来の画像符号化装置のように、原画像メモリ101、加算器102、直交変換部103、量子化部104、符号化部105、バッファ106、逆量子化部107、逆直交変換部108、フレームメモリ110、動き検出・動き補償部111、量子化制御部112、アクティビティ演算部113、イントラ予測部114、シーンチェンジ検出部201、ピクチャタイプ判定部202、予測誤差情報算出部203、目標符号量決定部204から構成される。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<Example 1>
FIG. 2 is a block configuration diagram showing the configuration of an embodiment of an image encoding device according to the present invention. As shown in the figure, the present image encoding apparatus is an
上記構成において、シーンチェンジを検出するシーンチェンジ検出部201、符号化ピクチャの種類を判定するピクチャタイプ判定部202、イントラ予測または、インター予測処理によって選択された予測モードに基づいて生成された予測画像と原画像の差分平均値を更新する予測誤差情報更新部203、ピクチャごとの目標符号量を決定する目標符号量決定部204を除いては、従来知られている画像符号化装置と実質的に同じである。そこで、従来知られている処理部においては、図1と同じ番号を付し、説明を省略する。
In the above configuration, a scene
以下、図3、図4、図5、図6を参照して本発明の主要部であるシーンチェンジ検出部201、ピクチャ判定部202、予測誤差情報算出部203、目標符号量決定部204における処理を中心に本実施例を説明する。図3は、本実施例における符号化処理の流れを示すフローチャート図である。
Hereinafter, with reference to FIG. 3, FIG. 4, FIG. 5, and FIG. 6, the processing in the scene
まず、ステップS301にて、符号化ピクチャと符号化ピクチャの直前に符号化されたピクチャとの相関をチェックし、シーンチェンジが起こったかどうかを判定する。シーンチェンジの判定においては、例えば符号化ピクチャと符号化ピクチャの直前に符号化されたピクチャとの輝度差分値を算出し、この輝度差分値がある閾値よりも大きい場合は、シーンチェンジが起こったものと判定する。ステップS301にてシーンチェンジが検出されなかった場合には、符号化ピクチャの目標符号量決定するステップS302に移る。以下、符号化ピクチャの目標符号量を決定する方法について説明する。 First, in step S301, the correlation between the encoded picture and the picture encoded immediately before the encoded picture is checked to determine whether a scene change has occurred. In the determination of a scene change, for example, a luminance difference value between an encoded picture and a picture encoded immediately before the encoded picture is calculated. If this luminance difference value is greater than a certain threshold, a scene change has occurred. Judge that it is. If no scene change is detected in step S301, the process proceeds to step S302 for determining the target code amount of the encoded picture. Hereinafter, a method for determining the target code amount of the encoded picture will be described.
動画像符号化では、予測誤差が大きくなると予測誤差を符号化するのに必要な情報量が増加するため、発生符号量が増える。また、量子化ステップ幅が小さいほど、細かく量子化されることになり発生符号量が増える。以下、この量子化幅を決定するパラメータを量子化パラメータQPと呼ぶことにする。一例として、量子化パラメータQP1、QP2、QP3の関係が、QP1<QP2<QP3となっているとき、予測誤差と発生符号量の関係は図4のように近似できる。 In moving picture encoding, the amount of generated code increases because the amount of information required to encode the prediction error increases as the prediction error increases. Further, the smaller the quantization step width, the finer the quantization, and the larger the generated code amount. Hereinafter, the parameter for determining the quantization width is referred to as a quantization parameter QP. As an example, when the relationship between the quantization parameters QP1, QP2, and QP3 is QP1 <QP2 <QP3, the relationship between the prediction error and the generated code amount can be approximated as shown in FIG.
このような画像符号化処理の特性に基づき、符号化ピクチャの前に符号化されたピクチャの予測誤差と発生符号量の関係を、予め統計的に求め、次式のように定式化しておく。 Based on such characteristics of the image encoding process, the relationship between the prediction error of the picture encoded before the encoded picture and the generated code amount is statistically obtained in advance and formulated as the following equation.
ここで、Tは予測される符号化ピクチャの発生符号量、SADは過去に符号化されたピクチャ予測誤差平均値、a、bは量子化パラメータによって決まる変数である。各量子化パラメータに対応する変数a、bは、図15に示すような対応表を作成し、目標符号量決定部内のメモリに記憶しておく。なお、数式15は1次式で表したが、2次式以上の多項式で表しても良い。その際、係数は次数に比例して増えることになる。そして、数式15を用いて算出される値をピクチャごとの目標符号量とする。
Here, T is a generated code amount of a predicted encoded picture, SAD is a picture prediction error average value encoded in the past, and a and b are variables determined by quantization parameters. For the variables a and b corresponding to each quantization parameter, a correspondence table as shown in FIG. 15 is created and stored in the memory in the target code amount determination unit. In addition, although
ここで、予測誤差情報を用いる過去の符号化ピクチャと符号化ピクチャが異なるピクチャタイプの場合、過去に符号化されたピクチャの予測誤差平均値と符号化ピクチャにおいて発生する符号量との相関が低くなるため、数式15を用いて目標符号量を決定することが難しくなる場合がある。そこで、例えば、図5に示すように、符号化ピクチャがIピクチャ(I1)であるとき、目標符号量をTiとすると、既に符号化済みのIピクチャ(I0)の発生符号量とQPの平均値を乗算した値Xiから目標符号量Tiを次式のように求める。
Here, when the past coded picture using the prediction error information is different from the coded picture, the correlation between the prediction error average value of the previously coded picture and the code amount generated in the coded picture is low. Therefore, it may be difficult to determine the target code
ここで、ave(QP)は、符号化するIピクチャ(I1)の直前に符号化されたピクチャ(P1)の量子化パラメータの平均値である。また、aはIピクチャの発生符号量を補正する重み付け係数である。 Here, ave (QP) is an average value of quantization parameters of a picture (P1) encoded immediately before the I picture (I1) to be encoded. Further, a is a weighting coefficient for correcting the generated code amount of the I picture.
一方、符号化ピクチャがPピクチャ(P2)のとき、Pピクチャ(P2)符号化前に符号化されたピクチャがIピクチャ(I1)であるため、この場合は、Iピクチャ(I1)符号化前に符号化されたピクチャ(P1)の予測誤差平均値を用いて、数式15により目標符号量を決定する。同様に符号化するピクチャがBピクチャ(B2)のときは、Bピクチャ(B2)符号化前に符号化されたBピクチャ(B1)の予測誤差平均値を用いて、数式15により目標符号量を決定する。上記目標符号量は、次GOP全体の目標符号量決定に用いることもできる。例えば、過去に符号化されたピクチャの目標符号量をピクチャタイプ毎にメモリに格納しておく。そして、次GOP内のピクチャタイプの構成(I,B,B,P,B,B,P・・・)により、各ピクチャの枚数を計算し、上記目標符号量を加算することで、次GOP全体の目標符号量を決定することができる。
On the other hand, when the encoded picture is a P picture (P2), the picture encoded before the P picture (P2) encoding is the I picture (I1). In this case, before the I picture (I1) encoding The target code amount is determined by
なお、上記予測誤差は、H.264符号化方式のように複数の予測モードが使用されている場合、イントラ予測またはインター予測処理によって選択された予測モードの中で、最も符号化効率が良くなる予測モードで生成された予測画像と原画像の差分絶対値和を用いる。なお、予測誤差は前記差分絶対値和に重み付けを行った値を用いても良い。また、上記、予測誤差は予測画像と原画像の差分絶対値和に代えて例えば予測誤差の二乗和を適用する場合等、必要に応じて種々のパラメータを広く適用することができる。また上記予測誤差平均値は、ピクチャ内の全マクロブロックの予測誤差平均ではなく、1マクロブロック置きに算出した予測誤差の平均値を用いても良い。また、上記予測誤差平均値は、イントラ予測画像を生成する際に用いるイントラ予測画像の予測誤差平均値とインター予測処理によって生成される予測誤差平均値をそれぞれ求め、状況に応じて切り替えても良い。 Note that, when a plurality of prediction modes are used as in the H.264 encoding method, the prediction error has the highest encoding efficiency among the prediction modes selected by intra prediction or inter prediction processing. The sum of absolute differences between the predicted image generated in the prediction mode and the original image is used. The prediction error may be a value obtained by weighting the sum of absolute differences. In addition, for the prediction error, various parameters can be widely applied as necessary, for example, when a sum of squares of prediction errors is applied instead of the sum of absolute differences between the prediction image and the original image. In addition, as the prediction error average value, the prediction error average value calculated every other macro block may be used instead of the prediction error average of all the macroblocks in the picture. In addition, the prediction error average value may be switched according to the situation by obtaining the prediction error average value of the intra prediction image used when generating the intra prediction image and the prediction error average value generated by the inter prediction process, respectively. .
上記の方法により、符号化ピクチャの目標符号量を決定した後、次に、アクティビティ演算部113にて符号化マクロブロックのアクティビティを算出する(S303)。アクティビティの算出方法としては、例えば、数式11、12を用いて求める。なお、アクティビティは輝度値の分散値ではなく、輝度値の絶対差分和を用いても良い。
After determining the target code amount of the encoded picture by the above method, the
次に、ステップS302にて決定された目標符号量とステップS303にて算出されたアクティビティ情報に基づき、マクロブロックごとの量子化パラメータを決定する(S304)。マクロブロックごとの量子化パラメータの決定では、まず、ステップ302にて決定された目標符号量から、符号化ピクチャの量子化パラメータの基準値QPinitを求める。この量子化パラメータの基準値Qpinitの算出方法を述べる。
Next, a quantization parameter for each macroblock is determined based on the target code amount determined in step S302 and the activity information calculated in step S303 (S304). In determining the quantization parameter for each macroblock, first, the reference value QPinit of the quantization parameter of the encoded picture is obtained from the target code amount determined in
まず、図6に示すようにステップS302にて決定された目標符号量(BIT)と、符号化ピクチャを符号化前に符号化されたピクチャの予測誤差平均値(AVG_SAD)との交点Tを求める。次に、量子化パラメータとa、bの関係を記憶した対応表から、数式15示される直線を求め、交点Tをはさむ2直線に対応する量子化パラメータQP1、QP2を探索する。この量子化パラメータQP1とQP2をTの位置で内分した値を、量子化パラメータ基準値QPinitの値とする。ここで、図6に示す変数Dは、量子化パラメータと係数a、bの対応付けを行う対応表における記憶する量子化パラメータの間隔であり、記憶する量子化パラメータの値が5の場合はD=5となる。このように量子化パラメータ基準値Qpinitを決定した後、ステップS303にて算出されたアクティビティ情報に基づき、マクロブロックごとの量子化パラメータを決定する。具体的には、数式13および数式14により、量子化パラメータの重み付け係数Nactを算出し、量子化パラメータ基準値Qpinitに対してNactの重み付けをおこない、符号化マクロブロックの量子化パラメータを決定する。
First, as shown in FIG. 6, the intersection T between the target code amount (BIT) determined in step S302 and the prediction error average value (AVG_SAD) of the picture encoded before encoding the encoded picture is obtained. . Next, from the correspondence table storing the relationship between the quantization parameter and a and b, the straight line represented by
次に、ステップS304にて符号化マクロブロックの量子化パラメータが決定した後、その量子化パラメータを用いて、従来の符号化装置と同様に、イントラ予測部114にてイントラ予測処理を、動き検出・動き補償部111にてインター予測処理を行い、予測誤差を直交変換部103にて直交変換、量子化部104にて量子化、符号化部105にて符号化を行うといった一連の符号化処理を行う(S305)。
Next, after the quantization parameter of the encoded macroblock is determined in step S304, intra prediction processing is performed by the
次に、予測誤差情報更新部203にてピクチャの先頭マクロブロックから符号化マクロブロックまでの予測誤差の平均値を算出する(S306)。S303〜S306の処理をピクチャ内の全てのマクロブロックが終了するまで繰り返す。そして、ピクチャ内の全てのマクロブロックにおいて上記処理が終了した後、ステップS301に戻る。
Next, the prediction error
次に、ステップ301にてシーンチェンジが検出された場合について説明する。シーンチェンジが検出された場合には、符号化ピクチャと過去の符号化ピクチャとの相関が低くなることが予想される。そのため、符号化ピクチャがPまたはBピクチャの場合には、イントラ予測モードが多く選択されることになる。そこで、このような場合には、数式16を用いて目標符号量を決定することにする。そして、シーンチェンジ後の符号化ピクチャにて目標符号量と実際の発生符号量との差が閾値THを超えたピクチャが続く場合には、図15に示す係数a、bの値を目標符号量と実際の発生符号量との差が小さくなるように変更して、数式15の関係式を補正する(S309)。S301〜S309の処理をピクチャ内の全てのマクロブロックが終了するまで繰り返す。
Next, a case where a scene change is detected in step 301 will be described. When a scene change is detected, it is expected that the correlation between the coded picture and the past coded picture will be low. Therefore, when the encoded picture is a P or B picture, many intra prediction modes are selected. Therefore, in such a case, the target code amount is determined using Equation 16. Then, when a picture in which the difference between the target code amount and the actual generated code amount exceeds the threshold TH continues in the encoded picture after the scene change, the values of the coefficients a and b shown in FIG. And the relational expression of
本実施例では、符号化ピクチャの過去に符号化されたピクチャの予測誤差平均値を使用しているため、符号化ピクチャの画像データを先読みせずに、目標符号量と量子化パラメータを決定することができる。また、各ピクチャの目標符号量を決定した後に、アクティビティの大きさに応じたマクロブロックごとの量子化パラメータ決定処理に移るため、MPEG-2 Test Model 5方式のように、ステップ2とステップ3の制御が相殺されるということは起こらない。
<実施例2>
本実施例では、ピクチャごとに発生する符号量の上限値と下限値を設定することにより、バッファ破綻を回避して安定して符号化することが可能な画像符号化装置について述べる。本実施例の画像符号化装置は図2と同様の構成である。
In this embodiment, since the prediction error average value of the previously encoded picture of the encoded picture is used, the target code amount and the quantization parameter are determined without prefetching the image data of the encoded picture. be able to. In addition, after determining the target code amount of each picture, in order to move to the quantization parameter determination process for each macroblock corresponding to the size of the activity, the steps 2 and 3 are performed as in the MPEG-2
<Example 2>
In the present embodiment, an image coding apparatus capable of stably coding by avoiding buffer failure by setting an upper limit value and a lower limit value of the code amount generated for each picture will be described. The image coding apparatus of the present embodiment has the same configuration as that shown in FIG.
量子化制御処理では、デコーダのバッファ状態を仮想的にモデル化したものを破綻(オーバーフローまたはアンダーフロー)しないように符号化データを生成する必要がある。図7にバッファの概念図を示す。横軸は経過時間、縦軸はバッファ占有量であり、この仮想バッファを破綻しないように量子化パラメータを決定する必要がある。 In the quantization control process, it is necessary to generate encoded data so that a virtual model of the buffer state of the decoder is not broken (overflow or underflow). FIG. 7 shows a conceptual diagram of the buffer. The horizontal axis is the elapsed time, and the vertical axis is the buffer occupancy, and it is necessary to determine the quantization parameter so that this virtual buffer does not fail.
図8は、本実施例における符号化処理の流れを示すフローチャート図である。まずステップS801にて、符号化直前のバッファ占有量の状況を確認する。一般にバッファ占有量は、情報量の多いIフレームにおいてバッファレベルが下がり、その後のPまたはBフレームにおいてバッファレベルを回復するように制御することが望ましい。そこで、例えば図7に示すようにバッファ占有量がオーバーフローリミット(Overflow Limit)とアンダーフローリミット(Underflow Limit)の間で推移するように量子化パラメータを決定する。 FIG. 8 is a flowchart showing the flow of the encoding process in this embodiment. First, in step S801, the state of buffer occupancy immediately before encoding is confirmed. In general, it is desirable to control the buffer occupancy so that the buffer level decreases in an I frame with a large amount of information and then recovers in the subsequent P or B frame. Therefore, for example, as shown in FIG. 7, the quantization parameter is determined so that the buffer occupation amount changes between the overflow limit (Overflow Limit) and the underflow limit (Underflow Limit).
次にステップS802、S804にて符号化ピクチャの目標符号量と許容する発生符号量の上限値、下限値を決定する。以下、目標符号量および許容する発生符号量の上限値、下限値の決定方法について述べる。
Iピクチャ符号化時には、Iピクチャ符号化後のバッファ残量が、最小バッファレベルをなるべく下回らないように、目標符号量と許容する発生符号量の上限値と下限値を決定する。
Next, in steps S802 and S804, an upper limit value and a lower limit value of the target code amount of the encoded picture and the allowable generated code amount are determined. Hereinafter, a method for determining the upper limit value and lower limit value of the target code amount and the allowable generated code amount will be described.
At the time of I picture encoding, the upper limit value and the lower limit value of the target code amount and the allowable generated code amount are determined so that the remaining buffer capacity after the I picture encoding does not fall below the minimum buffer level as much as possible.
図9にIピクチャの目標符号量、許容する発生符号量の上限値と下限値の決定方法を示す。Bは、Iピクチャの符号化直前のバッファ占有量である。Iピクチャでの目標符号量Tiは、実施例1と同様に過去に符号化されたIピクチャの発生符号量とQPの平均値を乗算した値Xiから数式16を用いて算出する。次に、ステップS801にて確認したバッファ占有量が最小バッファレベル(MinLevel)付近に位置する場合には、以下のように目標符号量を決定する。まず、B-Tiが最小バッファレベル(MinLevel)を下回らない場合(図9中(a))には、目標符号量Tiは変更せずに、許容する発生符号量の上限値をa×Ti、許容する発生符号量の下限値をb×Tiとする。ここで、係数a、bはa>1、0<b<1の値をとる。一方、B-Tiが最小バッファレベルを下回る場合(図9中(b))は、B-MinLevelを許容する発生符号量の上限値とし、c×(B-MinLevel)を目標符号量、d×(B-MinLevel)を許容する発生符号量の下限値とする。ここで、係数c、dは、1>c>d>0である。 FIG. 9 shows a method for determining the target code amount of the I picture and the upper limit value and lower limit value of the allowable generated code amount. B is the buffer occupancy immediately before encoding the I picture. The target code amount Ti for the I picture is calculated using Equation 16 from the value Xi obtained by multiplying the generated code amount of the I picture encoded in the past and the average value of QP, as in the first embodiment. Next, when the buffer occupation amount confirmed in step S801 is located near the minimum buffer level (MinLevel), the target code amount is determined as follows. First, when B-Ti does not fall below the minimum buffer level (MinLevel) ((a) in FIG. 9), the target code amount Ti is not changed, and the upper limit value of the generated generated code amount is set to a × Ti, Let b × Ti be the lower limit of the amount of generated code allowed. Here, the coefficients a and b have values of a> 1, 0 <b <1. On the other hand, when B-Ti is lower than the minimum buffer level ((b) in FIG. 9), B-MinLevel is set as the upper limit value of the generated code amount, c × (B-MinLevel) is the target code amount, d × Let (B-MinLevel) be the lower limit value of the generated code amount that is allowed. Here, the coefficients c and d are 1> c> d> 0.
次にP、Bピクチャ符号化時の目標符号量および、許容する発生符号量の上限値、下限値の決定法について説明する。
P、Bピクチャ符号化時には、P、Bピクチャの発生符号量が、アンダーフローリミットを下回らないようにP、Bピクチャの目標符号量および許容する発生符号量の上限値、許容する発生符号量の下限値を決定する。
Next, a method for determining the target code amount at the time of P and B picture encoding and the upper limit value and lower limit value of the allowable generated code amount will be described.
When encoding P and B pictures, the target code amount for P and B pictures, the upper limit value of the allowable generated code amount, and the allowable generated code amount so that the generated code amount of P and B pictures does not fall below the underflow limit. Determine the lower limit.
図10にP、Bピクチャの目標符号量、許容する発生符号量の上限値、許容する発生符号量の下限値の決定方法を示す。Bは、P、Bピクチャの符号化直前のバッファ占有量である。P、Bピクチャでは、符号化ピクチャを符号化する前に符号化されたピクチャの予測誤差平均値と符号化ピクチャの発生符号量の相関が高いため、数式15を用いて算出された値を目標符号量Tとする。
FIG. 10 shows a method for determining the target code amount of P and B pictures, the upper limit value of the allowable generated code amount, and the lower limit value of the allowable generated code amount. B is the buffer occupancy immediately before encoding the P and B pictures. For P and B pictures, since the correlation between the prediction error average value of a picture encoded before encoding the encoded picture and the generated code amount of the encoded picture is high, the value calculated using
次に、ステップS801にて確認したバッファ占有量がアンダーフローリミット境界付近に位置する場合には、以下のように目標符号量を決定する。まず、B-Tがバッファのアンダーフローリミット(UFL)を下回らない場合(図10中(a))には、目標Tは変更せずに、許容する発生符号量の上限値をa×T、許容する発生符号量の下限値をb×Tとする。ここで、係数a、bはa>1、0<b<1の値をとる。一方、B-Tがバッファのアンダーフローリミット(UFL)を下回る場合(図10中(b))には、(B-UFL)を許容する発生符号量の上限値とし、c×(B-UFL)を目標符号量、d×(B-UFL)を許容する発生符号量の下限値とする。ここで、係数c、dは、1>c>d>0の値をとる。 Next, when the buffer occupation amount confirmed in step S801 is located near the underflow limit boundary, the target code amount is determined as follows. First, when BT does not fall below the buffer underflow limit (UFL) ((a) in FIG. 10), the target T is not changed, and the upper limit of the generated code amount to be allowed is allowed to be a × T. The lower limit value of the generated code amount is b × T. Here, the coefficients a and b have values of a> 1, 0 <b <1. On the other hand, when BT falls below the buffer underflow limit (UFL) ((b) in Fig. 10), (B-UFL) is set as the upper limit of the amount of generated code, and c x (B-UFL) is The target code amount, d × (B-UFL), is set as the lower limit value of the generated code amount. Here, the coefficients c and d have values of 1> c> d> 0.
次に、ステップS801にて確認したバッファ占有量Bが、オーバーフローリミット付近に位置する場合の処理について説明する。図11にオーバーフローリミット付近での各ピクチャの目標符号量および許容する発生符号量の上限値、下限値の決定方法を示す。各ピクチャの目標符号量Tは、数式15または数式16を用いて算出された値を用いる。そして、B-Tがオーバーフローリミット(OFL)を上回らない場合は、目標符号量Tは変更せずに、許容する発生符号量の上限値をa×T、許容する発生符号量の下限値をb×T (図11中(a))。ここで、係数a、bはa>1、0<b<1である。一方、B-Tがオーバーフローリミット(OFL)を上回る場合(図11中(b))は、B-OFLを許容する発生符号量の下限値とし、e×(B-UFL)を目標符号量、f×(B-UFL)を許容する発生符号量の上限値とする。ここで、係数e、fは、1<e<fである。
Next, processing when the buffer occupation amount B confirmed in step S801 is located near the overflow limit will be described. FIG. 11 shows a method for determining the target code amount of each picture in the vicinity of the overflow limit and the upper limit value and lower limit value of the allowable generated code amount. As the target code amount T of each picture, a value calculated using
上述した方法により、符号化ピクチャの目標符号量および許容する符号量の上限値、下限値を決定した後、目標符号量から符号化ピクチャの量子化パラメータの基準値を決定し(S803)、許容する発生符号量の上限値、下限値から符号化ピクチャの量子化パラメータの最小値、最大値をそれぞれ決定する(S805)。符号化ピクチャの量子化パラメータの基準値、最大値、最小値を決定方法は、実施例1で述べた目標符号量から基準値QPinitを求める方法と同様の処理により求めることができる。 After determining the target code amount of the encoded picture and the upper limit value and lower limit value of the allowable code amount by the method described above, the reference value of the quantization parameter of the encoded picture is determined from the target code amount (S803). The minimum value and the maximum value of the quantization parameter of the coded picture are determined from the upper limit value and lower limit value of the generated code amount (S805). The method for determining the reference value, maximum value, and minimum value of the quantization parameter of the coded picture can be obtained by the same process as the method for obtaining the reference value QPinit from the target code amount described in the first embodiment.
以上のようにして決定されたピクチャ内の量子化パラメータの基準値、最大値、最小値に基づき、マクロブロックごとの量子化パラメータを決定する。(S806)
マクロブロックごとの量子化パラメータの決定では、実施例1と同様に量子化パラメータの基準値QPinitに対して、アクティビティの大きさに応じて重み付けを行い、マクロブロックごとのQPを決定する。即ち、数式11〜数式14の処理を適用してマクロブロックごとの量子化パラメータを算出する。このとき、算出されたマクロブロックの量子化パラメータQPがステップS805によって求められたピクチャ内の量子化パラメータの最大値QPmaxを超える場合は、QP=QPmaxとし、ピクチャ内の最小値QPminを下回る場合は、QP=QPminとする。本実施例により、バッファ破綻を回避して安定した量子化制御を行うことが可能となる。
<実施例3>
本実施例では、各マクロブロックの量子化パラメータを決定する方法について述べる。本実施例は、上記実施例にて述べた符号化装置と同様の構成である。まず、実施例2のステップS802、S804にて述べた方法により、目標符号量および、許容する発生符号量の上限値、下限値を求める(S1201)。次に、ステップS803、S805と同様の処理を実施することにより、符号化ピクチャの量子化パラメータ 基準値Qpinitおよび最大値QPmax、最小値QPminを求める。次にアクティビティ演算部113にて算出されるアクティビティ情報に基づき、アクティビティと量子化パラメータとの特性を決定する(S1202)。
Based on the reference value, maximum value, and minimum value of the quantization parameter in the picture determined as described above, the quantization parameter for each macroblock is determined. (S806)
In the determination of the quantization parameter for each macroblock, the quantization parameter reference value QPinit is weighted according to the size of the activity in the same manner as in the first embodiment, and the QP for each macroblock is determined. That is, the quantization parameter for each macroblock is calculated by applying the processing of
<Example 3>
In this embodiment, a method for determining the quantization parameter of each macroblock will be described. This embodiment has the same configuration as that of the encoding apparatus described in the above embodiment. First, the target code amount and the upper limit value and lower limit value of the allowable generated code amount are obtained by the method described in steps S802 and S804 of the second embodiment (S1201). Next, by performing the same processing as steps S803 and S805, the quantization parameter reference value Qpinit, the maximum value QPmax, and the minimum value QPmin of the encoded picture are obtained. Next, based on the activity information calculated by the
具体的には、図13に示すように量子化パラメータの最大値Qpmaxに対して符号化ピクチャを符号化する前に符号化されたピクチャのアクティビティの最大値Act_maxを、量子化パラメータの最小値QPminに対して符号化ピクチャを符号化する前に符号化されたピクチャのアクティビティの最小値Act_minを対応付ける。次にアクティビティ演算部113にて算出される符号化マクロブロックのアクティビティの大きさに応じて、量子化パラメータQPを決定する(S1203)。即ち、図13に示すように、アクティビティの値ACTが領域Aにある場合は、QP=QPmin、領域Cにある場合には、QP=QPmaxとし、領域Bにある場合には、次式を用いて求める。 Specifically, as shown in FIG. 13, the maximum value Act_max of the activity of the encoded picture before encoding the encoded picture with respect to the maximum value Qpmax of the quantization parameter is set as the minimum value QPmin of the quantization parameter. Is associated with the minimum value Act_min of the activity of the encoded picture before encoding the encoded picture. Next, the quantization parameter QP is determined according to the activity size of the encoded macroblock calculated by the activity calculation unit 113 (S1203). That is, as shown in FIG. 13, when the activity value ACT is in the region A, QP = QPmin, when it is in the region C, QP = QPmax, and when it is in the region B, the following equation is used: Ask.
量子化パラメータQPを決定した後、アクティビティ演算部113にて算出されるアクティビティの最大値、およびアクティビティの最小値を更新する(S1205)。上記ステップS1202〜S1205の処理をピクチャ内のすべてのマクロブロックに対して実施する。なお、アクティビティの最大値、最小値は、アクティビティの値にフィルタをかけた後の値を用いてもよい。
After determining the quantization parameter QP, the activity maximum value and the activity minimum value calculated by the
上記ステップ1202において決定するアクティビティとQP特性は、図14に示すような特性にしても良い。即ち、符号化ピクチャの量子化パラメータ 基準値QPinit、最大値QPmax、最小値QPminにおいて、量子化パラメータの基準値Qpinitに対して符号化ピクチャを符号化する前のピクチャのアクティビティ平均値Act_avgを、最大値QPmaxに対して、符号化ピクチャを符号化する前のピクチャのアクティビティ最大値ACT_maxを、最小値QPminに対して符号化ピクチャを符号化する前のピクチャのアクティビティ最小値ACT_minを対応付ける。
The activity and QP characteristics determined in
そして、アクティビティ演算部113にて算出される符号化マクロブロックのアクティビティの大きさに応じて、量子化パラメータQPを決定する。即ち図14に示すように、アクティビティの値ACTが領域Aにある場合は、QP=QPmin、領域Dにある場合には、QP=QPmaxとし、領域Bにある場合には、次式を用いて求める。
Then, the quantization parameter QP is determined according to the activity size of the encoded macroblock calculated by the
また、領域Cにある場合には、次式を用いて求める。 If it is in region C, it is obtained using the following equation.
大抵の自然画像におけるアクティビティの分布の特徴としては、大抵のアクティビティ値は低い領域に集中する。本実施例により、アクティビティの高い領域と低い領域とで、アクティビティ値の変動に対する量子化パラメータの感度を変えることで、全ての領域のアクティビティ値に対して、アクティビティの差を反映した量子化パラメータの設定を行うことが可能となる。また、図14中の点Qの位置を調整することで、ピクチャごとの発生符号量の増減が可能となる。即ち、Qが左上に移動するほど全体的にQPが高くなり発生符号量が抑制される。従って、ピクチャごとに目標符号量と発生符号量の差をフィードバックさせて符号量の調整を行うことができ、発生符号量の目標ビットレートへの追従性を向上させることが可能となる。
<実施例4>
本実施例においては、上記実施例における符号化処理を実行するステップ手順を記録したプログラムを作成することによりコンピュータで動作させることができる。なお、このような符号化処理を実行するプログラムを、インターネット等のネットワークを介してユーザがダウンロードして使用することができる。また記録媒体に記録して使用することができる。また、このような記録媒体としては、光ディスク、光磁気ディスク等の記録媒体に広く適用することができる。
As a feature of the distribution of activity in most natural images, most activity values are concentrated in a low area. According to the present embodiment, by changing the sensitivity of the quantization parameter to the fluctuation of the activity value between the high activity region and the low activity region, the quantization parameter that reflects the difference in the activity is reflected in the activity values of all regions. Settings can be made. Further, by adjusting the position of the point Q in FIG. 14, the amount of generated code for each picture can be increased or decreased. That is, as Q moves to the upper left, QP increases as a whole and the amount of generated code is suppressed. Accordingly, it is possible to adjust the code amount by feeding back the difference between the target code amount and the generated code amount for each picture, and to improve the followability of the generated code amount to the target bit rate.
<Example 4>
In this embodiment, the computer can be operated by creating a program that records the step procedure for executing the encoding process in the above embodiment. Note that a program that executes such encoding processing can be downloaded and used by a user via a network such as the Internet. It can also be used by being recorded on a recording medium. Such a recording medium can be widely applied to recording media such as an optical disk and a magneto-optical disk.
また、上記実施例では、入力画像の単位をピクチャとして説明してきたが、ピクチャ内を複数の分割したスライス単位で符号化する場合にも適用できる。また、インタレース画像を入力データとして符号化する場合、フィールドとして符号化する場合においても適用できる。また、上記実施例においては、マクロブロック(16×16画素)単位で処理を行う場合について説明したが、32×32画素や8×8画素など、任意の大きさのブロックで処理を行う場合にも適用できる。本発明はH.264符号化方式をはじめとして、各種の画像データ、符号化方式において、広く適用することができる。 In the above embodiment, the unit of the input image has been described as a picture. However, the present invention can also be applied to the case where encoding is performed in units of a plurality of divided slices. Further, the present invention can also be applied to the case where an interlaced image is encoded as input data and is encoded as a field. In the above embodiment, the case where processing is performed in units of macroblocks (16 × 16 pixels) has been described. However, when processing is performed using blocks of an arbitrary size such as 32 × 32 pixels or 8 × 8 pixels. Is also applicable. The present invention can be widely applied to various image data and encoding methods including the H.264 encoding method.
101…原画像メモリ、
102、109…加算器、
103…直行変換部、
104…量子化部、
105…符号化部、
106…バッファ、
107…逆量子化部、
108…逆直行変換部、
110…フレームメモリ、
111…動き検出・動き補償部、
112…量子化制御部、
113…アクティビティ演算部、
114…イントラ予測部、
201…シーンチェンジ検出部、
202…ピクチャタイプ判定部、
203…予測誤差情報更新部、
204…目標符号量決定部。
101 ... Original image memory,
102, 109 ... adder,
103… Direct conversion part,
104 ... Quantization part,
105: Encoding unit,
106 ... buffer,
107: Inverse quantization unit,
108 ... Inverse transformation unit,
110… Frame memory,
111: Motion detection / compensation unit,
112 ... Quantization control unit,
113… Activity calculation part,
114 ... Intra prediction part,
201 ... Scene change detection unit,
202 ... Picture type determination unit,
203 ... Prediction error information update unit,
204: Target code amount determination unit.
Claims (17)
外部より入力されたピクチャの原画像を記憶する原画像記憶手段と、
前記原画像に基づいて、画面内予測を行うイントラ予測手段および画面間予測を行うインター予測手段と、
符号化する前記ピクチャの特徴量を算出する特徴量演算手段と、を備え、
前記イントラ予測手段または前記インター予測手段により生成された予測画像と前記原画像との差分に基づき、予測誤差情報を更新する予測誤差情報更新手段と、
前記更新された予測誤差情報および符号化を行ったピクチャの発生符号量に応じて、前記符号化するピクチャごとの目標符号量を決定する目標符号量決定手段と、
複数のブロックに分割された前記符号化するピクチャにおいて、前記特徴量および前記目標符号量に基づき、符号化する前記複数のブロック各々の量子化幅を決定する量子化制御手段とを有することを特徴とする画像符号化装置。 An image encoding device that encodes moving image information including a series of pictures,
Original image storage means for storing an original image of a picture input from the outside;
Based on the original image, intra prediction means for performing intra prediction and inter prediction means for performing inter prediction,
Feature amount calculating means for calculating a feature amount of the picture to be encoded,
Prediction error information updating means for updating prediction error information based on the difference between the prediction image generated by the intra prediction means or the inter prediction means and the original image;
Target code amount determining means for determining a target code amount for each picture to be encoded according to the updated prediction error information and the generated code amount of the encoded picture;
A quantization control unit configured to determine a quantization width of each of the plurality of blocks to be encoded based on the feature amount and the target code amount in the picture to be encoded divided into a plurality of blocks; An image encoding device.
前記発生符号量を記憶するバッファを有し、
前記バッファが有する記憶容量の状態と予測誤差情報に基づいて、前記目標符号量が決定されることを特徴とする画像符号化装置。 The image encoding device according to claim 1,
A buffer for storing the generated code amount;
The image coding apparatus, wherein the target code amount is determined based on a storage capacity state of the buffer and prediction error information.
前記予測誤差情報は、前記符号化するピクチャよりも以前に符号化された過去のピクチャに基づいて算出された値であることを特徴とする画像符号化装置。 The image encoding device according to claim 1,
The image coding apparatus according to claim 1, wherein the prediction error information is a value calculated based on a past picture coded before the picture to be coded.
前記過去のピクチャの発生符号量と前記ピクチャ内の量子化幅の平均値との乗算値を行う手段を有し、
前記符号化するピクチャが、画面内予測のときには、前記乗算値に基づいて目標符号量を決定することを特徴とする画像符号化装置。 The image encoding device according to claim 1,
Means for multiplying a generated code amount of the past picture by an average value of quantization widths in the picture;
When the picture to be coded is intra prediction, an image coding apparatus is characterized in that a target code amount is determined based on the multiplication value.
前記過去のピクチャの予測誤差と前記符号化するピクチャの発生符号量との関係を定式化する手段を有し、
前記符号化するピクチャが、画面間予測のときには、前記関係式に基づいて目標符号量を決定することを特徴とする画像符号化装置。 The image encoding device according to claim 1,
Means for formulating a relationship between a prediction error of the past picture and a generated code amount of the picture to be encoded;
When the picture to be encoded is inter-screen prediction, a target code amount is determined based on the relational expression.
前記符号化するピクチャが有する属性と前記符号化するピクチャの直前に符号化されたピクチャが有する属性との差分値を検出し、シーンチェンジの有無を検出するシーンチェンジ検出手段を備え、
前記差分値が所定の閾値より小さいと判定したときには、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式に基づいて目標符号量を決定することを特徴とする画像符号化装置。 In any one of the image coding apparatuses of Claim 1 thru | or 5,
A scene change detecting means for detecting a difference value between an attribute of the picture to be encoded and an attribute of a picture encoded immediately before the picture to be encoded, and detecting the presence or absence of a scene change;
When it is determined that the difference value is smaller than a predetermined threshold, a target code amount is determined based on a relational expression between prediction error information of the past picture and a generated code amount of the picture to be encoded. Image encoding device.
前記シーンチェンジが検出された場合には、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式を更新することを特徴とする画像符号化装置。 The image encoding device according to claim 6, wherein
When the scene change is detected, an image coding apparatus, wherein a relational expression between prediction error information of the past picture and a generated code amount of the picture to be coded is updated.
前記符号化するピクチャの種類を判定するピクチャタイプ判定手段を有することを特徴とする画像符号化装置。 The image encoding device according to claim 6, wherein
An image encoding apparatus comprising: a picture type determination unit that determines a type of a picture to be encoded.
前記符号化するピクチャの直前に符号化されたピクチャの予測誤差と発生符号量の関係に基づき予め準備された関係式により前記目標符号量が決定されることを特徴とする画像符号化装置。 The image encoding device according to claim 2, wherein
An image encoding apparatus, wherein the target code amount is determined by a relational expression prepared in advance based on a relationship between a prediction error of a picture encoded immediately before the picture to be encoded and a generated code amount.
前記符号化するピクチャの発生符号量の許容範囲を設け、
前記許容範囲に基づき、前記量子化幅の上限値、および下限値を決定することを特徴とする画像符号化装置。 The image encoding device according to claim 1,
Provide an allowable range of generated code amount of the picture to be encoded,
An image encoding apparatus that determines an upper limit value and a lower limit value of the quantization width based on the allowable range.
前記ピクチャごとの発生符号量状況を検出する手段を有し、
前記発生符号量状況に基づいて、前記許容範囲が決定されることを特徴とする画像符号化装置。 The image encoding device according to claim 10.
Means for detecting a generated code amount situation for each picture;
The image encoding device, wherein the allowable range is determined based on the generated code amount situation.
前記特徴量の最大値、最小値、および平均値をピクチャ単位で算出することを特徴とする画像符号化装置。 The image encoding device according to claim 1,
An image encoding apparatus, wherein the maximum value, the minimum value, and the average value of the feature amount are calculated in units of pictures.
前記特徴量の最大値、および最小値に対して、前記量子化幅の最大値、および最小値をそれぞれ対応付けることにより、前記符号化するブロックの量子化幅を決定することを特徴とする画像符号化装置。 The image encoding device according to claim 12, wherein
An image code characterized by determining the quantization width of the block to be encoded by associating the maximum value and minimum value of the quantization width with the maximum value and minimum value of the feature amount, respectively. Device.
前記特徴量の最大値、最小値、および平均値に対して、前記量子化幅の最大値、最小値、および基準値をそれぞれ対応付けることにより、前記符号化するブロックの量子化幅を決定することを特徴とする画像符号化装置。 The image encoding device according to claim 12, wherein
Determining the quantization width of the block to be encoded by associating the maximum value, minimum value, and reference value of the quantization width with the maximum value, minimum value, and average value of the feature amount, respectively; An image encoding device characterized by the above.
外部より入力されたピクチャの原画像を記憶する原画像記憶手段を有し、
前記原画像に基づいて、画面ピクチャ内予測を行うイントラ予測ステップおよび画面予測を行うインター予測ステップと、
符号化する前記ピクチャの特徴量を算出する特徴量演算するステップと、を備え、
前記イントラ予測ステップまたは前記インター予測ステップにより生成された予測画像と前記原画像との差分に基づき、予測誤差情報を更新する予測誤差情報更新するステップと、
前記更新された予測誤差情報および符号化を行ったピクチャの発生符号量に応じて、前記符号化するピクチャごとの目標符号量を決定する目標符号量決定するステップと、
複数のブロックに分割された前記符号化するピクチャにおいて、前記特徴量および前記目標符号量に基づき、符号化する前記複数のブロック各々の量子化幅を制御するステップをコンピュータに実行させるための動画像符号化プログラム。 A video encoding program having a step of encoding video information consisting of a series of pictures,
Original image storage means for storing an original image of a picture input from the outside;
Based on the original image, an intra prediction step for performing intra-picture prediction and an inter prediction step for performing screen prediction;
Calculating a feature amount for calculating a feature amount of the picture to be encoded, and
Updating prediction error information based on the difference between the prediction image generated by the intra prediction step or the inter prediction step and the original image;
Determining a target code amount for determining a target code amount for each picture to be encoded, according to the updated prediction error information and a generated code amount of the encoded picture;
A moving image for causing a computer to execute a step of controlling a quantization width of each of the plurality of blocks to be encoded based on the feature amount and the target code amount in the picture to be encoded divided into a plurality of blocks Encoding program.
前記符号化するピクチャの種類を判定するピクチャタイプ判定ステップを有することを特徴とする動画像符号化プログラム。 In the moving image encoding program according to claim 15,
A moving picture encoding program comprising a picture type determination step for determining a type of picture to be encoded.
前記符号化するピクチャが有する属性と前記符号化するピクチャの直前に符号化されたピクチャが有する属性との差分値を検出し、シーンチェンジの有無を検出するステップを備え、
前記差分値が所定の閾値より大きいと判定したときには、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式に基づいて目標符号量を決定するステップを有することを特徴とする動画像符号化プログラム。
In the moving image encoding program according to claim 16,
Detecting a difference value between an attribute of the picture to be encoded and an attribute of a picture encoded immediately before the picture to be encoded, and detecting the presence or absence of a scene change,
And determining a target code amount based on a relational expression between the prediction error information of the past picture and the generated code amount of the picture to be encoded when it is determined that the difference value is larger than a predetermined threshold. A moving image encoding program as a feature.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148030A JP2007318617A (en) | 2006-05-29 | 2006-05-29 | Image encoder and image encoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148030A JP2007318617A (en) | 2006-05-29 | 2006-05-29 | Image encoder and image encoding program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007318617A true JP2007318617A (en) | 2007-12-06 |
Family
ID=38852049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006148030A Pending JP2007318617A (en) | 2006-05-29 | 2006-05-29 | Image encoder and image encoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007318617A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166275A (en) * | 2009-01-15 | 2010-07-29 | Canon Inc | Image encoding device |
WO2011142236A1 (en) * | 2010-05-12 | 2011-11-17 | 日本電信電話株式会社 | Code amount control method and apparatus |
JP2012160973A (en) * | 2011-02-01 | 2012-08-23 | Canon Inc | Image processing apparatus |
WO2012117955A1 (en) * | 2011-02-28 | 2012-09-07 | 株式会社メガチップス | Image encoding device |
JP2014135720A (en) * | 2012-12-11 | 2014-07-24 | Mega Chips Corp | Moving image coding apparatus, coding amount control method, and coding amount control program |
JP2015192403A (en) * | 2014-03-28 | 2015-11-02 | キヤノン株式会社 | Encoder and encoding method |
US10694178B2 (en) | 2016-11-11 | 2020-06-23 | Samsung Electronics Co., Ltd. | Video processing device for encoding frames constituting hierarchical structure |
-
2006
- 2006-05-29 JP JP2006148030A patent/JP2007318617A/en active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166275A (en) * | 2009-01-15 | 2010-07-29 | Canon Inc | Image encoding device |
JP5580887B2 (en) * | 2010-05-12 | 2014-08-27 | 日本電信電話株式会社 | Code amount control method and apparatus |
WO2011142236A1 (en) * | 2010-05-12 | 2011-11-17 | 日本電信電話株式会社 | Code amount control method and apparatus |
JPWO2011142236A1 (en) * | 2010-05-12 | 2013-07-22 | 日本電信電話株式会社 | Code amount control method and apparatus |
KR101391397B1 (en) | 2010-05-12 | 2014-05-07 | 니폰덴신뎅와 가부시키가이샤 | code amount control method and apparatus |
US9131236B2 (en) | 2010-05-12 | 2015-09-08 | Nippon Telegraph And Telephone Corporation | Code amount control method and apparatus |
JP2012160973A (en) * | 2011-02-01 | 2012-08-23 | Canon Inc | Image processing apparatus |
WO2012117955A1 (en) * | 2011-02-28 | 2012-09-07 | 株式会社メガチップス | Image encoding device |
US9031341B2 (en) | 2011-02-28 | 2015-05-12 | Megachips Corporation | Image coding apparatus |
US9407919B2 (en) | 2011-02-28 | 2016-08-02 | Megachips Corporation | Image coding apparatus |
JP6062356B2 (en) * | 2011-02-28 | 2017-01-18 | 株式会社メガチップス | Image encoding device |
JP2014135720A (en) * | 2012-12-11 | 2014-07-24 | Mega Chips Corp | Moving image coding apparatus, coding amount control method, and coding amount control program |
JP2015192403A (en) * | 2014-03-28 | 2015-11-02 | キヤノン株式会社 | Encoder and encoding method |
US10694178B2 (en) | 2016-11-11 | 2020-06-23 | Samsung Electronics Co., Ltd. | Video processing device for encoding frames constituting hierarchical structure |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6286718B2 (en) | Content adaptive bitrate and quality management using frame hierarchy responsive quantization for highly efficient next generation video coding | |
JP5068265B2 (en) | Select motion vector | |
JP5267655B2 (en) | Image coding apparatus, image coding control method, and image coding program | |
JP2002010259A (en) | Image encoding apparatus and its method and recording medium recording image encoding program | |
JP2007318617A (en) | Image encoder and image encoding program | |
JP4901450B2 (en) | Video encoding device | |
JP2013115583A (en) | Moving image encoder, control method of the same, and program | |
JP3508916B2 (en) | Moving image variable bit rate encoding method and apparatus | |
WO2016116984A1 (en) | Moving image encoding device, moving image encoding method, and moving image encoding program | |
JP2009094646A (en) | Moving image encoding apparatus and method for controlling the same | |
JP4179917B2 (en) | Video encoding apparatus and method | |
JP2007228519A (en) | Image encoding device and image encoding method | |
JP2011091772A (en) | Image encoder | |
JP2008252225A (en) | Motion picture encoding device and method | |
JP2005045736A (en) | Method and device for encoding image signal, encoding controller, and program | |
JP7001159B2 (en) | Video coding device, video coding method, program | |
JP5871602B2 (en) | Encoder | |
JP5937926B2 (en) | Image encoding device, image decoding device, image encoding program, and image decoding program | |
JP4857243B2 (en) | Image encoding apparatus, control method therefor, and computer program | |
WO2008079330A1 (en) | Video compression with complexity throttling | |
JP6239838B2 (en) | Moving picture encoding apparatus, control method thereof, and imaging apparatus | |
JP2010166275A (en) | Image encoding device | |
JP5419560B2 (en) | Imaging device | |
JP2008153802A (en) | Moving picture encoding device and moving picture encoding program | |
JP2009118096A (en) | Image encoder, method of controlling the same, and computer program |