JP5355234B2 - Encoding apparatus and encoding method - Google Patents
Encoding apparatus and encoding method Download PDFInfo
- Publication number
- JP5355234B2 JP5355234B2 JP2009135070A JP2009135070A JP5355234B2 JP 5355234 B2 JP5355234 B2 JP 5355234B2 JP 2009135070 A JP2009135070 A JP 2009135070A JP 2009135070 A JP2009135070 A JP 2009135070A JP 5355234 B2 JP5355234 B2 JP 5355234B2
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- evaluation value
- encoding
- image data
- code amount
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、動画像データを符号化するための符号化装置等に関する。 The present invention relates to an encoding device or the like for encoding moving image data .
従来、被写体を撮影し、撮影により得られた動画像データを圧縮符号化して記録するカメラ一体型動画像記録装置として、デジタルビデオカメラがよく知られている。近年では、動画像データを記録する記録媒体は、従来の磁気テープからランダムアクセス性などの利便性が高いディスク媒体や半導体メモリなどに移り変わってきている。また、圧縮方式としては、フレーム間で動き予測を用いて高い圧縮率で圧縮可能なMPEG2方式が一般的に用いられており、さらに近年では、より高圧縮に圧縮可能なH.264方式なども用いられている。 2. Description of the Related Art Conventionally, a digital video camera is well known as a camera-integrated moving image recording apparatus that captures a subject and compresses and records moving image data obtained by the shooting. In recent years, recording media for recording moving image data have changed from conventional magnetic tapes to highly convenient disk media such as random accessibility and semiconductor memories. In addition, as a compression method, the MPEG2 method capable of compressing at a high compression rate by using motion prediction between frames is generally used, and in recent years, H.264 that can be compressed to a higher compression is used. The H.264 system is also used.
特に、H.264方式などでは、復号化装置が有する符号化データのバッファ量が定められている。したがって、符号化装置は、前記復号化装置が有する符号化データのバッファ(仮想バッファ)の占有量を仮想的に想定し、アンダーフローやオーバーフローにならないように映像を符号化しなければならない。 In particular, H.C. In the H.264 system or the like, the buffer amount of encoded data that the decoding apparatus has is determined. Therefore, the encoding device virtually assumes the occupation amount of the encoded data buffer (virtual buffer) included in the decoding device, and must encode the video so as not to cause underflow or overflow.
バッファの破綻を抑制する手法としては、例えば特許文献1に開示されている。特許文献1では、バッファのアンダーフローを引き起こさない最大符号量を予め求め、発生符号量が最大符号量を超えないような量子化係数を求めている。一方で、これまでに発生した符号量から、目標とするビットレートとなるような量子化係数を求め、より量子化幅が大きくなる方の量子化係数で量子化をして符号化を行っている。
For example,
しかしながら、前述の特許文献1に開示された従来技術では、バッファのアンダーフローを引き起こさない最大符号量が極端に小さな値となった場合は、入力される映像によっては発生符号量が最大符号量を下回るように符号化できないことがある。このため、バッファのアンダーフローが発生してしまうことを十分に防止することができないという問題点がある。
However, in the prior art disclosed in the above-mentioned
そこで、本発明は、バッファのアンダーフローが発生する可能性をより低減できるようにすることを目的とする。 Accordingly, the present invention shall be the object to make it possible further reduce the possibility of buffer underflow occurs.
本発明に係る符号化装置は、動画像データを符号化するための符号化装置であって、復号化装置が有するバッファに相当する仮想バッファの占有量に基づいて目標符号量を制御する符号量制御手段と、前記目標符号量に基づいて量子化係数を制御する量子化制御手段と、符号化対象ブロックの画像データと、動きベクトルに対応する参照画像データとに基づいて、符号化劣化についての評価値である第1の評価値を計算する第1の計算手段と、前記符号化対象ブロックの画像データと、前記動きベクトルに対応する参照画像データとに基づいて、発生符号量についての評価値である第2の評価値を計算する第2の計算手段と、前記第1の評価値と第1の係数とを乗算する第1の乗算手段と、前記第2の評価値と第2の係数とを乗算する第2の乗算手段と、前記仮想バッファの占有量が少なくなることに応じて前記第2の係数が前記第1の係数に対して大きくなるように前記第1の係数と前記第2の係数とを生成し、前記仮想バッファの占有量が多くなることに応じて前記第2の係数が前記第1の係数に対して小さくなるように前記第1の係数と前記第2の係数とを生成する係数生成手段と、前記第1の評価値と前記第1の係数との乗算結果と、前記第2の評価値と前記第2の係数との乗算結果とに基づいて、前記動きベクトルについての評価値である第3の評価値を計算する第3の計算手段と、前記動きベクトルに対応する参照画像データを用いて前記符号化対象ブロックの画像データを符号化するか否かを、前記第3の評価値と、他の動きベクトルについて計算された評価値とに基づいて決定する決定手段とを有する。
本発明に係る符号化方法は、動画像データを符号化するための符号化方法であって、復号化装置が有するバッファに相当する仮想バッファの占有量に基づいて目標符号量を制御するステップと、前記目標符号量に基づいて量子化係数を制御するステップと、符号化対象ブロックの画像データと、動きベクトルに対応する参照画像データとに基づいて、符号化劣化についての評価値である第1の評価値を計算するステップと、前記符号化対象ブロックの画像データと、前記動きベクトルに対応する参照画像データとに基づいて、発生符号量についての評価値である第2の評価値を計算するステップと、前記第1の評価値と第1の係数とを乗算するステップと、前記第2の評価値と第2の係数とを乗算するステップと、前記仮想バッファの占有量が少なくなることに応じて前記第2の係数が前記第1の係数に対して大きくなるように前記第1の係数と前記第2の係数とを生成し、前記仮想バッファの占有量が多くなることに応じて前記第2の係数が前記第1の係数に対して小さくなるように前記第1の係数と前記第2の係数とを生成するステップと、前記第1の評価値と前記第1の係数との乗算結果と、前記第2の評価値と前記第2の係数との乗算結果とに基づいて、前記動きベクトルについての評価値である第3の評価値を計算するステップと、前記動きベクトルに対応する参照画像データを用いて前記符号化対象ブロックの画像データを符号化するか否かを、前記第3の評価値と、他の動きベクトルについて計算された評価値とに基づいて決定するステップとを有する。
An encoding device according to the present invention is an encoding device for encoding moving image data, and controls a target code amount based on an occupation amount of a virtual buffer corresponding to a buffer included in the decoding device. Based on the control means, the quantization control means for controlling the quantization coefficient based on the target code amount, the image data of the encoding target block, and the reference image data corresponding to the motion vector, the coding degradation An evaluation value for the generated code amount based on first calculation means for calculating a first evaluation value that is an evaluation value, image data of the block to be encoded, and reference image data corresponding to the motion vector Second calculation means for calculating the second evaluation value, first multiplication means for multiplying the first evaluation value and the first coefficient, the second evaluation value and the second coefficient Second to multiply with And calculating the first coefficient and the second coefficient so that the second coefficient is larger than the first coefficient in response to a decrease in the virtual buffer occupation amount. Coefficient generating means for generating the first coefficient and the second coefficient so that the second coefficient becomes smaller than the first coefficient in response to an increase in the occupation amount of the virtual buffer. And an evaluation value for the motion vector based on a multiplication result of the first evaluation value and the first coefficient, and a multiplication result of the second evaluation value and the second coefficient. Third calculation means for calculating a third evaluation value, and whether or not to encode the image data of the coding target block using reference image data corresponding to the motion vector, the third evaluation value And evaluation values calculated for other motion vectors And a determination means for determining Zui.
An encoding method according to the present invention is an encoding method for encoding moving image data, and a step of controlling a target code amount based on an occupation amount of a virtual buffer corresponding to a buffer included in a decoding device; And a first evaluation value for coding degradation based on the step of controlling the quantization coefficient based on the target code amount, the image data of the block to be encoded, and the reference image data corresponding to the motion vector. A second evaluation value, which is an evaluation value for the generated code amount, is calculated based on the step of calculating the evaluation value, the image data of the encoding target block, and the reference image data corresponding to the motion vector A step of multiplying the first evaluation value by a first coefficient, a step of multiplying the second evaluation value by a second coefficient, and an occupation amount of the virtual buffer The first coefficient and the second coefficient are generated so that the second coefficient becomes larger than the first coefficient in response to the decrease, and the occupation amount of the virtual buffer increases. Generating the first coefficient and the second coefficient so that the second coefficient is smaller than the first coefficient in response to the first coefficient, and the first evaluation value and the first coefficient Calculating a third evaluation value, which is an evaluation value for the motion vector, based on a multiplication result of a coefficient and a multiplication result of the second evaluation value and the second coefficient; Whether to encode the image data of the encoding target block using the reference image data corresponding to the vector is determined based on the third evaluation value and the evaluation values calculated for the other motion vectors A step of performing.
本発明によれば、バッファのアンダーフローが発生する可能性をより低減することができる。 According to the present invention, it is possible to further reduce the possibility of underflow of the bar Ffa occurs.
(第1の実施形態)
以下、本発明の第1の実施形態に係る画像符号化装置について説明する。
図1は、本実施形態に係る動画像符号化装置100の構成例を示すブロック図である。
(First embodiment)
Hereinafter, an image coding apparatus according to the first embodiment of the present invention will be described.
FIG. 1 is a block diagram illustrating a configuration example of a moving
図1において、動画像符号化装置100は、レンズやCCD等のカメラ部を含む撮像部101と、フレームメモリ102と、動きベクトルを探索するインター予測回路103と、イントラ予測方法を選択するイントラ予測回路104とを備えている。さらに、インター予測とイントラ予測とのどちらかの予測方法を選択する予測方法選択回路105と、予測画像生成回路106と、減算器107と、整数変換回路108と、量子化回路109とを備えている。さらに、逆量子化回路110と、逆整数変換回路111と、加算器112と、ループ内フィルタ113と、エントロピー符号化回路115と、量子化制御回路116と、符号量制御回路117と、記録回路118とを備えている。また、動画像符号化装置100には記録媒体119が装着されており、フレームメモリ102は、インター予測に用いる参照画像を記憶する参照画像メモリ114を備えている。
In FIG. 1, a moving
撮像部101により撮像して得られた動画像データは、第1フレーム、第2フレーム、第3フレーム、・・・の順で、フレームメモリ102に順次格納される。フレームメモリ102からは、例えば、第3フレーム、第1フレーム、第2フレーム、・・・と、符号化を行う順序で画像データを取り出していく。
The moving image data obtained by imaging by the
ここで、符号化方法には、フレーム内の画像データのみで符号化するイントラ符号化と、フレーム間での予測も含めて符号化するインター符号化とがある。インター符号化を行うピクチャは、動き補償の単位(MCブロック)に対して1枚の参照フレームとの予測を行うPピクチャと、MCブロックに対して2枚までの参照フレームとの予測を行うBピクチャとがある。一方、イントラ符号化を行うピクチャは、Iピクチャである。なお、符号化するフレームの順番が入力されたフレームの順番と異なるのは、過去のフレームだけではなく、時間的に未来のフレームとの予測(後方予測)を可能にするためである。 Here, the encoding methods include intra encoding that encodes only image data within a frame, and inter encoding that encodes including prediction between frames. A picture to be inter-encoded is a P picture that predicts one reference frame for a motion compensation unit (MC block) and B that predicts up to two reference frames for an MC block. There is a picture. On the other hand, a picture to be subjected to intra coding is an I picture. Note that the order of frames to be encoded is different from the order of input frames in order to enable prediction (rearward prediction) with not only past frames but also temporally future frames.
イントラ符号化を行う場合、符号化単位となる符号化対象ブロックの画像データがフレームメモリ102から読み出されて、イントラ予測回路104へ入力される。本実施形態では、1つの符号化対象ブロックの単位を横16画素×縦16画素とする。また、読み出された符号化対象ブロックに隣接する画素のデータもフレームメモリ102から読み出されて、イントラ予測回路104へ入力される。
In the case of performing intra coding, image data of a coding target block serving as a coding unit is read from the
イントラ予測回路104は、符号化対象ブロックと、その符号化対象ブロックに隣接する画素のデータから生成される複数のイントラ予測画像データとのブロックマッチングをそれぞれに行う。そして、最も相関の高いイントラ予測画像データを選択して予測方法選択回路105へ出力する。
The
イントラ符号化を行う場合は、予測方法選択回路105は常にイントラ予測を選択し、予測画像生成回路106へ選択結果を通知する。予測画像生成回路106は予測方法選択回路105が選択した予測方法に従って、後述する加算器112から出力される再構成画像データからイントラ予測画像データを生成する。
When performing intra coding, the prediction
減算器107には、前述のイントラ予測画像データとフレームメモリ102から読み出される符号化対象ブロックの画像データとが入力され、符号化対象ブロックの画像とイントラ予測画像との画素値の差分画像データを整数変換回路108へ出力する。整数変換回路108は、入力された画素値の差分画像データに整数変換を施し、量子化回路109は、整数変換回路108により整数変換された信号に対して量子化処理を行う。
The
エントロピー符号化回路115は、量子化回路109により量子化された変換係数をエントロピー符号化し、ストリームとして記録回路118に出力する。ここで、量子化回路109における量子化係数は、エントロピー符号化回路115で発生した符号量や、符号量制御回路117から設定される目標符号量などから量子化制御回路116が算出する。記録回路118は、エントロピー符号化回路115から出力されたストリームを記録媒体119に記録する。
The
また、量子化回路109により量子化された変換係数は、逆量子化回路110にも入力される。逆量子化回路110は、入力された変換係数を逆量子化し、逆整数変換回路111は、逆量子化された信号に対して逆整数変換処理を施す。
Further, the transform coefficient quantized by the
加算器112には、逆整数変換されたデータと、予測画像生成回路106により生成されたイントラ予測画像データとが入力されて加算される。加算後のデータは復号された再構成画像データとなり、前述した予測画像生成回路106に入力されてイントラ予測画像データの生成に用いられる。また、再構成画像データは、ループ内フィルタ113によって符号化歪の軽減処理が施され、後述するインター符号化の際に用いる参照画像データとして参照画像メモリ114に記憶される。
The
一方、インター符号化を行う場合、符号化単位となる符号化対象ブロックの画像データがフレームメモリ102から読み出されて、インター予測回路103へ入力される。また、インター予測回路103は、参照画像データを参照画像メモリ114から読み出し、符号化対象の画像データと参照画像データとから動きベクトルを検出して、予測方法選択回路105へ通知する。
On the other hand, when inter coding is performed, image data of an encoding target block serving as a coding unit is read from the
なお、フレームによっては、符号化対象ブロックごとにインター予測かイントラ予測かを選択することができる。イントラ予測回路104を行う場合は前述のように動作し、イントラ予測の結果を予測方法選択回路105へ通知する。予測方法選択回路105は、インター予測回路103の結果とイントラ予測回路104の結果とを入力し、例えば、差分値が小さい方の予測方法を選択して、予測画像生成回路106へ通知する。減算器107では、符号化対象の画像と予測画像との差分を計算し、差分画像データが生成される。差分画像データは整数変換回路108に出力され、その後の処理は前述したイントラ符号化の場合と同様である。
Depending on the frame, it is possible to select inter prediction or intra prediction for each encoding target block. When performing the
次に、符号量制御回路117の動作について詳細に説明する。符号量制御回路117は、ピクチャの符号化が終了すると、エントロピー符号化回路115から当該ピクチャで実際に発生した符号量の情報を受信し、仮想バッファの占有量を更新する。ここで、仮想バッファとは、復号化装置が有する、符号化データを一時的に記憶するバッファを想定したものであり、エントロピー符号化における発生符号量と出力された符号量とに基づいて定義される。
Next, the operation of the code
図3は、仮想バッファの遷移を模式的に示す図である。
図3に示すように、仮想バッファの占有量は、時間とともに、符号化のビットレートに従って増加し、ピクチャで発生した符号量分減少する。本実施形態では、例えば、P(1)ピクチャで発生した符号量をS(P(1))と定義する。
FIG. 3 is a diagram schematically showing the transition of the virtual buffer.
As shown in FIG. 3, the occupation amount of the virtual buffer increases with time according to the encoding bit rate, and decreases by the amount of code generated in the picture. In the present embodiment, for example, the code amount generated in the P (1) picture is defined as S (P (1)).
符号量制御回路117は、仮想バッファ検証手段として機能し、前述のような動作によって仮想バッファの占有量を更新し、これから符号化を行うピクチャに対する目標符号量を算出する。例えば、B(2)ピクチャまでの符号化が終了し、次に、B(3)ピクチャの符号化を行う場合、仮想バッファの占有量からB(3)ピクチャで発生することができる最大目標符号量Tmax(B(3))を算出する。
The code
B(3)ピクチャの発生符号量が最大目標符号量Tmax(B(3))を超えると、仮想バッファがアンダーフローし、バッファの破綻を引き起こす。そこで、符号量制御回路117は、最大目標符号量を超えない条件で、符号化の目標とする圧縮率などに基づいて、これから符号化するピクチャの目標符号量を量子化制御回路116へ通知する。また、仮想バッファの占有量の情報をインター予測回路103へ通知する。例えば、これからB(3)ピクチャを符号化する場合には最大目標符号量Tmax(B(3))の情報をインター予測回路103へ通知する。
When the generated code amount of the B (3) picture exceeds the maximum target code amount Tmax (B (3)), the virtual buffer underflows, causing a buffer failure. Therefore, the code
次に、インター予測回路103の動作について詳細に説明する。図2は、本実施形態におけるインター予測回路103の詳細な構成例を示すブロック図である。
図2において、符号化画像取得回路201は、符号化対象ブロックの画像データをフレームメモリ102から取得する。また、動きベクトル設定回路206は、複数の動きベクトル候補の中から、動きベクトルを順次、参照画像取得回路202、及び符号量コスト算出回路209へ設定する。
Next, the operation of the
In FIG. 2, an encoded
参照画像取得回路202は、動きベクトル設定回路206により設定された動きベクトルに対応する参照画像データをフレームメモリ102の参照画像メモリ114から取得する。そして、取得した符号化対象ブロックの画像データ及び参照画像データはそれぞれ、符号化劣化コスト算出回路208、及び符号量コスト算出回路209へ入力される。
The reference
符号化劣化コスト算出回路208は、例えば、符号化対象ブロックの画像と参照画像との差分絶対値和を算出し、符号化劣化コストを算出する。算出される符号化劣化コストは、符号化劣化(画質)の評価値に相当するものである。
For example, the encoding deterioration
一方、符号量コスト算出回路209は、符号化対象ブロックの画像データと参照画像データとの差分をアダマール変換した係数の絶対値和と、設定された動きベクトルとから、符号量に相当する符号量コストを算出する。算出される符号量コストは、発生する符号量の評価値に相当するものである。
On the other hand, the code amount
第1の乗算器203は、符号化劣化コスト算出回路208により算出された符号化劣化コストと、係数発生回路205において発生した符号化劣化コストに対する係数(Ka)とを乗算する。一方、第2の乗算器204は、符号量コスト算出回路209により算出された符号量コストと、係数発生回路205において発生した符号量コストに対する係数(Kb)とを乗算する。そして、加算器210は、第1の乗算器203で乗算された結果と、第2の乗算器204で乗算された結果とを加算し、設定された動きベクトルに対するコスト値としてコスト比較回路207へ出力する。
The
コスト比較回路207は、これまで算出されたコスト値の中で、最も値が小さいコスト値と、それに対応する動きベクトルとの情報を探索結果として記憶する。そして、すべての動きベクトル候補に対するコスト値の算出が終わった時点で記憶されている動きベクトルを、符号化対象ブロックに対する動きベクトルとして決定する。
The
係数発生回路205は、符号量制御回路117から通知される仮想バッファの占有量に応じて、占有量が少ないときほどKaに対してKbの値が大きくなり、逆に占有量が多いときほどKaに対してKbの値が小さくなるように係数を発生する。このように、仮想バッファの占有量が少なく、仮想バッファの破綻(アンダーフロー)が起こりやすい状況のときほど、動きベクトルを決定する際に符号量を重視する評価値(符号量コストに対する係数Kb)を優先した動き探索を行う。また、仮想バッファの占有量が多く、仮想バッファの破綻が起こりにくい状況のときは、動きベクトルを決定する際に画質を重視する評価値(符号化劣化コストに対する係数Ka)を優先した動き探索を行う。これにより、符号化による符号量を抑え、仮想バッファの破綻が起こりにくくなる。
In accordance with the occupation amount of the virtual buffer notified from the code
以上のように本実施形態によれば、仮想バッファの占有量に応じて、符号量コスト及び符号化劣化コストの比重を調整して動き探索を行うようにした。これにより、仮想バッファの占有量が少ない場合には、符号量を重視した動き探索を行うことができる。 As described above, according to the present embodiment, the motion search is performed by adjusting the specific gravity of the code amount cost and the encoding degradation cost in accordance with the occupation amount of the virtual buffer. As a result, when the virtual buffer occupancy is small, a motion search can be performed with an emphasis on the code amount.
(第2の実施形態)
以下、本発明の第2の実施形態に係る画像符号化装置について説明する。
図4は、本実施形態に係る動画像符号化装置400の構成例を示すブロック図である。基本的な構成は第1の実施形態と同様であり、図1と同一の構成については同一の符号を付している。異なる点は、符号量制御回路417から仮想バッファの占有量の情報を出力する代わりに、量子化制御回路416から、符号化対象ブロックの最大符号量の情報をインター予測回路403へ出力している点である。
(Second Embodiment)
Hereinafter, an image coding apparatus according to the second embodiment of the present invention will be described.
FIG. 4 is a block diagram illustrating a configuration example of the
次に、量子化制御回路416の動作を詳細に説明する。図5は、符号化ブロック数と符号量との関係を示す図である。図5において、横軸は、ピクチャのはじめから処理する符号化ブロックの数を示し、縦軸は、ピクチャのはじめからこれまでに発生した符号量を示している。 Next, the operation of the quantization control circuit 416 will be described in detail. FIG. 5 is a diagram illustrating the relationship between the number of encoded blocks and the code amount. In FIG. 5, the horizontal axis indicates the number of encoded blocks to be processed from the beginning of the picture, and the vertical axis indicates the amount of code generated so far from the beginning of the picture.
量子化制御回路416は仮想バッファ検証手段として機能し、符号量制御回路417からピクチャの目標符号量の情報と、バッファの破綻を引き起こさないピクチャの最大符号量の情報とを受信する。図5の点501は、バッファの破綻を引き起こさないピクチャの最大符号量を示している。また、符号化対象ブロックの符号化処理が終了する毎に、当該符号化対象ブロックで実際に発生した符号量の情報をエントロピー符号化回路115から受信し、ピクチャのはじめからこれまでに発生した累積の符号量を算出する。
The quantization control circuit 416 functions as a virtual buffer verification unit, and receives from the code
ここで、符号化対象ブロックを符号化することにより必ず発生する符号量を符号化ブロック最小符号量とする。符号化ブロック最小符号量と、ピクチャの最大符号量とから、各々の符号化対象ブロックにおいて、ピクチャのはじめからそれまでに発生した累積の符号量がバッファの破綻を起こさないような最大符号量が定まる。図5の実線502は、各々の符号化対象ブロックを符号化する際の、バッファの破綻を起こさない最大符号量を示している。
Here, the code amount that is always generated by encoding the block to be encoded is set as the minimum code amount of the encoded block. Based on the minimum coding amount of the coding block and the maximum coding amount of the picture, in each coding target block, the maximum coding amount that does not cause the buffer to fail due to the cumulative coding amount generated from the beginning of the picture until then. Determined. A
また、点503は、ピクチャのはじめからそれまでに実際に発生した累積の符号量を示している。したがって、バッファの破綻を起こさない最大符号量とピクチャのはじめからそれまでに実際に発生した累積の符号量との差分が、これから符号化する符号化対象ブロックでバッファの破綻を起こさない符号化ブロック最大符号量となる。すなわち、仮想バッファの占有量に相当する。量子化制御回路416は、この符号化ブロック最大符号量の情報をインター予測回路403へ出力する。
A
インター予測回路403における係数発生回路205は、量子化制御回路416において算出された符号化ブロック最大符号量に応じて、符号化ブロック最大符号量が小さいほどKaに対してKbの値が大きくなるように係数を発生する。また、逆に、符号化ブロック最大符号量が大きいほどKaに対してKbの値が小さくなるように係数を発生する。
The
すなわち、符号化ブロック最大符号量が小さく、仮想バッファの破綻が起こりやすい状況のときは、動きベクトルを決定する際に、符号量を重視した決定をすることとなり、符号量を抑え、仮想バッファの破綻が起こりにくくなる。なお、インター予測回路403の他の構成は、第1の実施形態の図2で説明したインター予測回路103の構成と同様である。
In other words, when the maximum code amount of the coding block is small and the virtual buffer is likely to fail, when determining the motion vector, the decision is made with an emphasis on the code amount. Failure is less likely to occur. The other configuration of the
以上のように本実施形態によれば、符号化ブロック最大符号量に応じて、符号量コスト及び符号化劣化コストの比重を調整して動き探索を行うようにした。これにより、仮想バッファの占有量が少ない場合には、符号量を重視した動き探索を行うことができる。 As described above, according to the present embodiment, the motion search is performed by adjusting the specific gravity of the code amount cost and the encoding deterioration cost in accordance with the maximum code amount of the encoded block. As a result, when the virtual buffer occupancy is small, a motion search can be performed with an emphasis on the code amount.
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。 As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.
(本発明に係る他の実施形態)
前述した本発明の実施形態における動画像符号化装置を構成する各手段、並びに動画像符号化方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the moving picture coding apparatus and each step of the moving picture coding method in the embodiment of the present invention described above can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable storage medium storing the program are included in the present invention.
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。 In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。 Note that the present invention includes a case where a software program that realizes the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus. This includes the case where the system or the computer of the apparatus is also achieved by reading and executing the supplied program code.
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。 Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。 In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。 Examples of the storage medium for supplying the program include a flexible disk, a hard disk, an optical disk, and a magneto-optical disk. Further, there are MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。 As another program supply method, there is a method of connecting to a homepage on the Internet using a browser of a client computer. It can also be supplied by downloading the computer program itself of the present invention or a compressed file including an automatic installation function from a homepage to a storage medium such as a hard disk.
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。 It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 As another method, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and encrypted from a homepage via the Internet to users who have cleared predetermined conditions. Download the key information to be solved. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。 Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can be realized by the processing.
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。 As another method, a program read from a storage medium is first written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Then, based on the instructions of the program, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.
103 インター予測回路、115 エントロピー符号化回路、117 符号量制御回路 103 inter prediction circuit, 115 entropy encoding circuit, 117 code amount control circuit
Claims (8)
復号化装置が有するバッファに相当する仮想バッファの占有量に基づいて目標符号量を制御する符号量制御手段と、
前記目標符号量に基づいて量子化係数を制御する量子化制御手段と、
符号化対象ブロックの画像データと、動きベクトルに対応する参照画像データとに基づいて、符号化劣化についての評価値である第1の評価値を計算する第1の計算手段と、
前記符号化対象ブロックの画像データと、前記動きベクトルに対応する参照画像データとに基づいて、発生符号量についての評価値である第2の評価値を計算する第2の計算手段と、
前記第1の評価値と第1の係数とを乗算する第1の乗算手段と、
前記第2の評価値と第2の係数とを乗算する第2の乗算手段と、
前記仮想バッファの占有量が少なくなることに応じて前記第2の係数が前記第1の係数に対して大きくなるように前記第1の係数と前記第2の係数とを生成し、前記仮想バッファの占有量が多くなることに応じて前記第2の係数が前記第1の係数に対して小さくなるように前記第1の係数と前記第2の係数とを生成する係数生成手段と、
前記第1の評価値と前記第1の係数との乗算結果と、前記第2の評価値と前記第2の係数との乗算結果とに基づいて、前記動きベクトルについての評価値である第3の評価値を計算する第3の計算手段と、
前記動きベクトルに対応する参照画像データを用いて前記符号化対象ブロックの画像データを符号化するか否かを、前記第3の評価値と、他の動きベクトルについて計算された評価値とに基づいて決定する決定手段と
を有する符号化装置。 An encoding device for encoding moving image data,
Code amount control means for controlling the target code amount based on the occupation amount of the virtual buffer corresponding to the buffer of the decoding device;
Quantization control means for controlling a quantization coefficient based on the target code amount;
First calculation means for calculating a first evaluation value, which is an evaluation value for encoding degradation, based on image data of an encoding target block and reference image data corresponding to a motion vector;
Second calculating means for calculating a second evaluation value, which is an evaluation value for the generated code amount, based on the image data of the encoding target block and the reference image data corresponding to the motion vector;
First multiplying means for multiplying the first evaluation value by a first coefficient;
Second multiplying means for multiplying the second evaluation value by a second coefficient;
Generating the first coefficient and the second coefficient so that the second coefficient is larger than the first coefficient in response to a decrease in the occupation amount of the virtual buffer; Coefficient generating means for generating the first coefficient and the second coefficient so that the second coefficient becomes smaller than the first coefficient in accordance with an increase in the occupation amount of
A third evaluation value for the motion vector based on a multiplication result of the first evaluation value and the first coefficient and a multiplication result of the second evaluation value and the second coefficient; A third calculating means for calculating the evaluation value of
Whether to encode the image data of the encoding target block using the reference image data corresponding to the motion vector is determined based on the third evaluation value and the evaluation value calculated for the other motion vector. An encoding device comprising : determination means for determining
復号化装置が有するバッファに相当する仮想バッファの占有量に基づいて目標符号量を制御するステップと、
前記目標符号量に基づいて量子化係数を制御するステップと、
符号化対象ブロックの画像データと、動きベクトルに対応する参照画像データとに基づいて、符号化劣化についての評価値である第1の評価値を計算するステップと、
前記符号化対象ブロックの画像データと、前記動きベクトルに対応する参照画像データとに基づいて、発生符号量についての評価値である第2の評価値を計算するステップと、
前記第1の評価値と第1の係数とを乗算するステップと、
前記第2の評価値と第2の係数とを乗算するステップと、
前記仮想バッファの占有量が少なくなることに応じて前記第2の係数が前記第1の係数に対して大きくなるように前記第1の係数と前記第2の係数とを生成し、前記仮想バッファの占有量が多くなることに応じて前記第2の係数が前記第1の係数に対して小さくなるように前記第1の係数と前記第2の係数とを生成するステップと、
前記第1の評価値と前記第1の係数との乗算結果と、前記第2の評価値と前記第2の係数との乗算結果とに基づいて、前記動きベクトルについての評価値である第3の評価値を計算するステップと、
前記動きベクトルに対応する参照画像データを用いて前記符号化対象ブロックの画像データを符号化するか否かを、前記第3の評価値と、他の動きベクトルについて計算された評価値とに基づいて決定するステップと
を有する符号化方法。 An encoding method for encoding moving image data,
Controlling a target code amount based on a virtual buffer occupation amount corresponding to a buffer included in the decoding device;
Controlling a quantization coefficient based on the target code amount;
Calculating a first evaluation value that is an evaluation value for encoding degradation based on the image data of the encoding target block and the reference image data corresponding to the motion vector;
Calculating a second evaluation value, which is an evaluation value for the generated code amount, based on the image data of the encoding target block and the reference image data corresponding to the motion vector;
Multiplying the first evaluation value by a first coefficient;
Multiplying the second evaluation value by a second coefficient;
Generating the first coefficient and the second coefficient so that the second coefficient is larger than the first coefficient in response to a decrease in the occupation amount of the virtual buffer; Generating the first coefficient and the second coefficient so that the second coefficient becomes smaller than the first coefficient in response to an increase in the occupation amount of
A third evaluation value for the motion vector based on a multiplication result of the first evaluation value and the first coefficient and a multiplication result of the second evaluation value and the second coefficient; Calculating an evaluation value of
Whether to encode the image data of the encoding target block using the reference image data corresponding to the motion vector is determined based on the third evaluation value and the evaluation value calculated for the other motion vector. step a coding method having a <br/> determine Te.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009135070A JP5355234B2 (en) | 2009-06-04 | 2009-06-04 | Encoding apparatus and encoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009135070A JP5355234B2 (en) | 2009-06-04 | 2009-06-04 | Encoding apparatus and encoding method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010283583A JP2010283583A (en) | 2010-12-16 |
JP2010283583A5 JP2010283583A5 (en) | 2012-07-19 |
JP5355234B2 true JP5355234B2 (en) | 2013-11-27 |
Family
ID=43539946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009135070A Expired - Fee Related JP5355234B2 (en) | 2009-06-04 | 2009-06-04 | Encoding apparatus and encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5355234B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015015595A (en) | 2013-07-04 | 2015-01-22 | 富士通株式会社 | Moving image encoding device, encoding mode determination method, and encoding program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3257988B2 (en) * | 1999-04-08 | 2002-02-18 | 日本電信電話株式会社 | Image signal encoding method and recording medium recording this method |
JP2008252176A (en) * | 2007-03-29 | 2008-10-16 | Toshiba Corp | Motion picture encoder and encoding method |
-
2009
- 2009-06-04 JP JP2009135070A patent/JP5355234B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010283583A (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8718138B2 (en) | Image encoding apparatus and image encoding method that determine an encoding method, to be used for a block to be encoded, on the basis of an intra-frame-prediction evaluation value calculated using prediction errors between selected reference pixels and an input image | |
US8675979B2 (en) | Transcoder, method of transcoding, and digital recorder | |
EP2028865A2 (en) | Bit depth dependent video coding | |
EP1860886A1 (en) | Encoding device and dynamic image recording system having the encoding device | |
JP5230483B2 (en) | Imaging apparatus and control method thereof | |
US20110013695A1 (en) | Moving image encoding apparatus and moving image encoding method | |
JP5441812B2 (en) | Video encoding apparatus and control method thereof | |
JP2011518527A (en) | Video decoding | |
JP5943733B2 (en) | Image encoding apparatus, control method therefor, and program | |
JP5294688B2 (en) | Video compression encoding device | |
JP4898415B2 (en) | Moving picture coding apparatus and moving picture coding method | |
JP2014007469A (en) | Image coding device and image coding method | |
JP5355234B2 (en) | Encoding apparatus and encoding method | |
US8594195B2 (en) | Method and apparatus for encoding and decoding at least one image frame that is artificially inserted into image sequence | |
US8306110B2 (en) | Moving image coding apparatus and method using copy pictures depending on virtual buffer verifier occupancy | |
JP2005045736A (en) | Method and device for encoding image signal, encoding controller, and program | |
JP2007336005A (en) | Image coding apparatus and image coding method | |
US8218626B2 (en) | Encoding control apparatus, encoding control method, and storage medium | |
JP5094750B2 (en) | Moving picture coding apparatus and moving picture coding method | |
JP5247210B2 (en) | Moving picture coding apparatus and moving picture coding method | |
US11611749B2 (en) | Encoding apparatus, image capturing apparatus, control method, and storage medium | |
JP5349904B2 (en) | Moving picture coding apparatus and moving picture coding method | |
JP2009049513A (en) | Moving picture encoding device and moving picture encoding method | |
JP2008153802A (en) | Moving picture encoding device and moving picture encoding program | |
JP2012222460A (en) | Moving image encoding apparatus, moving image encoding method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120531 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120531 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130312 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130827 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5355234 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |