JP2010109912A - Image encoder and image encoding method - Google Patents

Image encoder and image encoding method Download PDF

Info

Publication number
JP2010109912A
JP2010109912A JP2008282265A JP2008282265A JP2010109912A JP 2010109912 A JP2010109912 A JP 2010109912A JP 2008282265 A JP2008282265 A JP 2008282265A JP 2008282265 A JP2008282265 A JP 2008282265A JP 2010109912 A JP2010109912 A JP 2010109912A
Authority
JP
Japan
Prior art keywords
code amount
motion vector
binary
symbol length
binarized
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
Application number
JP2008282265A
Other languages
Japanese (ja)
Inventor
Masashi Kawakami
雅司 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008282265A priority Critical patent/JP2010109912A/en
Publication of JP2010109912A publication Critical patent/JP2010109912A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve the accuracy of code amount control by reflecting the binarized symbol length of n-th MB on the quantization parameter of the (n+1)th MB in an image encoder having an MB pipeline configuration. <P>SOLUTION: The image encoder includes: first binarized code amount calculating means for calculating the binarized symbol length of a difference motion vector from a motion vector signal output from motion vector detecting means; third binarized code amount calculating means for calculating the binarized symbol length of an orthogonal transformation coefficient output from the quantizing means; and second binarized code amount calculating means for calculating the binarized symbol length of a signal excluding the difference motion vector and the orthogonal transformation coefficient that constitute a binarized symbol column, from macro block information output from the motion vector detecting means. The code amount control means determines a quantization parameter based on the binarized symbol lengths calculated in the first to third binarized code amount calculating means, and outputs the quantization parameter to the quantizing means. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は画像符号化装置及び画像符号化方法に関し、特に、マクロブロック(MB)パイプライン構成の画像符号化装置に用いて好適な技術に関する。   The present invention relates to an image encoding device and an image encoding method, and more particularly to a technique suitable for use in an image encoding device having a macroblock (MB) pipeline configuration.

近年、ディジタル信号処理、LSIの高集積化、通信速度の高速化などの進歩により、動画像や静止画像、音声等、大量のディジタル情報を高能率符号化し、記録媒体への記録及び通信媒体による伝送を行うことが可能になってきている。このような技術を応用し、ディジタルハイビジョン放送、地上波ディジタル放送が開始され、またディジタルビデオカメラ等の高性能化が進み、画像の高画質化などが進んでいる。画像符号化の規格として近年、ITU−Tによって策定された H.264(非特許文献1)等が注目されている。   In recent years, with advances in digital signal processing, higher integration of LSIs, higher communication speeds, etc., a large amount of digital information such as moving images, still images, and voices has been encoded with high efficiency, and recorded on recording media and communication media. It has become possible to perform transmission. By applying such technology, digital high-definition broadcasting and terrestrial digital broadcasting have been started, and high performance of digital video cameras and the like has been advanced, and image quality has been improved. In recent years, H.264 has been established by ITU-T as an image coding standard. H.264 (Non-Patent Document 1) and the like are attracting attention.

H.264をはじめとするこれらの画像符号化の処理は、原画像をブロックと呼ばれる所定の領域に分割し、分割したブロックを単位にして動き補償予測や直交変換処理や量子化処理等の処理を施すものである。   H. These image encoding processes including H.264 divide an original image into predetermined regions called blocks, and perform processing such as motion compensation prediction, orthogonal transform processing, and quantization processing in units of the divided blocks. Is.

このような画像符号化装置で生成されるストリームの符号長は、画像自体の特性である空間周波数特性やシーン及び量子化スケール値に応じて大きく異なる場合が多い。このような符号化特性を有する画像符号化装置を実現する上で良好な画質の復号画像を得ることができるようにするための重要な技術が符号量制御(レート制御)である。   In many cases, the code length of a stream generated by such an image encoding device varies greatly depending on the spatial frequency characteristics, which are characteristics of the image itself, the scene, and the quantization scale value. Code amount control (rate control) is an important technique for obtaining a decoded image with good image quality in realizing an image encoding apparatus having such encoding characteristics.

符号量制御は、ピクチャの発生符号量をピクチャ毎に設定される目標符号量に近づけるために量子化制御を行っている。16x16画素をひとつの単位としたマクロブロック(以下、MB)毎に量子化パラメータを制御し、発生符号長を制御している。この符号量制御のためには、MBの発生符号長を把握しておく必要がある。   In the code amount control, quantization control is performed in order to bring the generated code amount of a picture close to the target code amount set for each picture. A quantization parameter is controlled for each macro block (hereinafter referred to as MB) having 16 × 16 pixels as one unit, and a generated code length is controlled. For this code amount control, it is necessary to know the generated code length of the MB.

H.264では、従来の画像符号化の規格であるMPEGよりも高能率符号化を実現している。H.264が高能率の符号化を実現させた理由として様々な要因があるが、そのうちの一つとしてエントロピー符号化によるものがある。特に高能率のエントロピー符号化を実現する方式として、H.264では、エントロピー符号化方式としてCABACが使用可能である。なお、CABACとは、Context−based Adaptive Binary Arithmetic Codingである。   H. H.264 realizes higher-efficiency encoding than MPEG, which is a conventional image encoding standard. H. There are various reasons why H.264 achieves high-efficiency encoding, one of which is due to entropy encoding. In particular, as a method for realizing highly efficient entropy coding, H.264 is used. In H.264, CABAC can be used as an entropy encoding method. CABAC is Context-based Adaptive Binary Arithmetic Coding.

CABACでは、二値算術符号化を用いてエントロピー符号化を行っている。二値算術符号化に関する先行技術としては、例えば、特許文献1が知られている。
一方、ハードウェアに実装される画像符号化装置では、高精細画像を一定の処理時間内に符号化するためにマクロブロック(MB)単位のパイプラインを構築し、高速化を図ることが一般的である。MBとは、符号化処理の一つの単位である。
In CABAC, entropy coding is performed using binary arithmetic coding. For example, Patent Document 1 is known as a prior art relating to binary arithmetic coding.
On the other hand, in an image encoding device mounted on hardware, it is common to increase the speed by constructing a pipeline in units of macroblocks (MB) in order to encode a high-definition image within a certain processing time. It is. MB is one unit of encoding processing.

図4を用いて、MBパイプラインの説明を行う。
図4において、縦軸のMB1からMB3は、画像の左上端のMBがMB1であり、MB1の右隣がMB2、MB2の右隣がMB3であり、符号化はMB1からMB2、MB3という順序で行われる。ステージは、動きベクトル検出ステージと、直交変換と量子化を行う直交変換量子化ステージと、CABACの二値化を行う二値化ステージを示している。
The MB pipeline will be described with reference to FIG.
In FIG. 4, MB1 to MB3 on the vertical axis are MB1 at the upper left corner of the image, MB2 is right next to MB1, MB3 is right next to MB2, and encoding is in the order MB1 to MB2 and MB3. Done. The stage indicates a motion vector detection stage, an orthogonal transform quantization stage that performs orthogonal transform and quantization, and a binarization stage that performs binarization of CABAC.

動きベクトル検出ステージにおいて、差分動きベクトルを算出する。また、並列してマクロブロックパーティションの決定、予測モードの決定など行う。差分動きベクトル及びマクロブロックパーティション等の内容は、非特許文献1に記載されているので、ここでは詳細な説明を省略する。   In the motion vector detection stage, a differential motion vector is calculated. In parallel, the macro block partition and prediction mode are determined. Since the contents such as the difference motion vector and the macroblock partition are described in Non-Patent Document 1, detailed description thereof is omitted here.

次の直交変換量子化ステージにおいて、直交変換及び量子化を行う。このステージで得られた直交変換係数及び動きベクトル検出ステージで得られた差分動きベクトル、予測モード等を次の二値化ステージにおいて二値化する。二値化ステージの終了時(時刻t1)にMB1の二値化シンボル長が得られる。こうして得られた二値化シンボル長を、時刻t1で符号量制御部(図示せず)に入力する。符号量制御部は、入力された二値化シンボル長に基づいて次のMBの量子化パラメータを決定する。   In the next orthogonal transform quantization stage, orthogonal transform and quantization are performed. The orthogonal transform coefficient obtained in this stage, the differential motion vector obtained in the motion vector detection stage, the prediction mode, etc. are binarized in the next binarization stage. At the end of the binarization stage (time t1), the binarized symbol length of MB1 is obtained. The binarized symbol length thus obtained is input to a code amount control unit (not shown) at time t1. The code amount control unit determines the quantization parameter of the next MB based on the input binary symbol length.

ITU−T Recommendation H.264ITU-T Recommendation H. H.264 特開2007−124122号公報JP 2007-124122 A

しかしながら、MBパイプライン構成の画像符号化装置においては、次のような不都合が発生する。すなわち、符号量制御部がn(図4のMB1)番目のMBの二値化シンボル長(二値化シンボル長×α)に基づいて、n+1番目(図4のMB2)以降のMBで使用する量子化パラメータを算出しても、n+1番目のMBの量子化処理には間に合わない。   However, the following inconvenience occurs in the image encoding apparatus having the MB pipeline configuration. That is, the code amount control unit uses the n + 1th (MB2 in FIG. 4) and subsequent MBs based on the binarized symbol length (binarized symbol length × α) of the nth (MB1 in FIG. 4) MB. Even if the quantization parameter is calculated, the quantization process of the (n + 1) th MB is not in time.

図4を参照しながら説明すると、時刻t1で算出された二値化シンボル長に基づいて符号化制御部が同じ時刻t1で量子化パラメータを算出し、量子化部に出力しても、次のMB2の符号化は既に開始されており、量子化も終了している。このことから、二値化シンボル長に基づいて算出された量子化パラメータは、2MB後のMBの量子化にしか使用できないため、符号量制御の精度が下がってしまうという問題があった。   Referring to FIG. 4, even if the encoding control unit calculates the quantization parameter at the same time t1 based on the binarized symbol length calculated at time t1, and outputs it to the quantization unit, the following The encoding of MB2 has already started and the quantization has also been completed. For this reason, the quantization parameter calculated based on the binarized symbol length can be used only for the quantization of the MB after 2 MB, so that there is a problem that the accuracy of the code amount control is lowered.

本発明は前述の問題点に鑑み、MBパイプライン構成の画像符号化装置において、n番目のMBの二値化シンボル長をn+1番目のMBに対する量子化パラメータに反映させることができるようにして、符号量制御の精度を向上できるようにすることを目的とする。   In view of the above-described problems, the present invention allows an image encoding apparatus having an MB pipeline configuration to reflect the binarized symbol length of the nth MB in the quantization parameter for the (n + 1) th MB, It is an object of the present invention to improve the accuracy of code amount control.

本発明の画像符号化装置は、量子化手段と、符号量制御手段と、二値化手段と、二値算術符号化手段とを具備する画像符号化装置において、動きベクトル検出手段から出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出手段と、前記量子化手段から出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出手段と、前記動きベクトル検出手段から出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出手段とを前記二値化手段とはそれぞれ別に有し、前記符号量制御手段は、前記第1〜第3の二値符号量算出手段により算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化手段に出力することを特徴とする。   An image coding apparatus according to the present invention is an image coding apparatus comprising quantization means, code amount control means, binarization means, and binary arithmetic coding means, and is output from the motion vector detection means. First binary code amount calculation means for calculating a binary symbol length of a differential motion vector from a motion vector signal, and third for calculating a binary symbol length of an orthogonal transform coefficient output from the quantization means. The binary symbol length of the signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binarized symbol sequence from the macroblock information output from the binary code amount calculating means and the motion vector detecting means Second binary code amount calculating means for calculating is separately provided from the binarizing means, and the code amount control means is calculated by the first to third binary code amount calculating means. Valuation symbol And outputting said quantization means determines the quantization parameter based on.

本発明の画像符号化方法は、量子化工程と、符号量制御工程と、二値化工程と、二値算術符号化工程とを具備する画像符号化方法において、動きベクトル検出工程において出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出工程と、前記量子化工程において出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出工程と、前記動きベクトル検出工程において出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出工程とを前記二値化工程とはそれぞれ別に有し、前記符号量制御工程においては、前記第1〜第3の二値符号量算出工程において算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化工程に出力することを特徴とする。   The image coding method of the present invention is an image coding method comprising a quantization step, a code amount control step, a binarization step, and a binary arithmetic coding step, and is output in the motion vector detection step. A first binary code amount calculating step for calculating a binary symbol length of a difference motion vector from the motion vector signal, and a third for calculating a binary symbol length of an orthogonal transform coefficient output in the quantization step. And calculating the binary symbol length of the signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binarized symbol sequence from the macroblock information output in the binary code amount calculating step and the motion vector detecting step. A second binary code amount calculation step to be calculated separately from the binarization step, and in the code amount control step, calculation is performed in the first to third binary code amount calculation steps. Determine a quantization parameter based on the binarized symbol length is and outputs the quantization step.

本発明のプログラムは、量子化工程と、符号量制御工程と、二値化工程と、二値算術符号化工程とを具備する画像符号化方法をコンピュータに実行させるプログラムにおいて、動きベクトル検出工程において出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出工程と、前記量子化工程において出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出工程と、前記動きベクトル検出工程において出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出工程とを有し、前記符号量制御工程においては、前記第1〜第3の二値符号量算出工程において算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化工程に出力する画像符号化方法をコンピュータに実行させることを特徴とする。   The program of the present invention is a program that causes a computer to execute an image encoding method including a quantization step, a code amount control step, a binarization step, and a binary arithmetic encoding step. A first binary code amount calculating step for calculating a binary symbol length of a differential motion vector from an output motion vector signal, and calculating a binarized symbol length of an orthogonal transform coefficient output in the quantization step Binarization of a signal excluding the difference motion vector and the orthogonal transform coefficient constituting the binarized symbol sequence from the macro block information output in the third binary code amount calculation step and the motion vector detection step A second binary code amount calculation step for calculating a symbol length, and in the code amount control step, in the first to third binary code amount calculation steps, Characterized in that to execute the picture coding method to be outputted to the quantization step determines the quantization parameter into the computer on the basis of the binarized symbol length issued.

本発明によれば、MBの二値データ符号量(二値データ符号量×α)に基づいて算出された量子化パラメータを、符号化順で次のMBの量子化で使用することができ、従来方法に比べ、より符号量制御の精度を高める画像符号化装置を実現することができる。   According to the present invention, the quantization parameter calculated based on the binary data code amount of MB (binary data code amount × α) can be used in the quantization of the next MB in the encoding order, As compared with the conventional method, it is possible to realize an image encoding device that further increases the accuracy of code amount control.

(第1の実施形態)
以下、本発明の実施形態を図面を参照しながら説明する。
図1は、本発明を適応できる画像符号化装置の構成例を示すブロック図である。
本実施形態の画像符号化装置100について説明する前に、CABACの符号化処理、及びCABACを用いてエントロピー符号化を行った場合の符号量制御の動作を説明する。
まず、図2を用いて、CABACの符号化処理を説明する、CABACは、二値化部201、コンテキスト計算部202、コンテキストメモリ203、二値算術符号化部204で構成されている。
(First embodiment)
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration example of an image encoding apparatus to which the present invention can be applied.
Before describing the image encoding device 100 of the present embodiment, the operation of CABAC encoding processing and code amount control when entropy encoding is performed using CABAC will be described.
First, CABAC encoding processing will be described with reference to FIG. 2. CABAC includes a binarization unit 201, a context calculation unit 202, a context memory 203, and a binary arithmetic encoding unit 204.

二値化部201は、差分動きベクトル、直交変換係数、予測モード等の情報D21を入力し、規格によって定められた二値化処理を行い、二値化シンボル列D22を生成する。二値化処理の方式は、非特許文献1に説明されているのでここでは詳細な説明を省略する。   The binarization unit 201 inputs information D21 such as a difference motion vector, an orthogonal transform coefficient, a prediction mode, etc., performs binarization processing determined by the standard, and generates a binarized symbol sequence D22. Since the binarization processing method is described in Non-Patent Document 1, detailed description thereof is omitted here.

コンテキストメモリ203には、発生する確率が高いシンボル(most probable symbol 以下、MPSとする)と、その発生確率がコンテキストインデックス毎に460個格納されている。   The context memory 203 stores symbols having a high probability of occurrence (most probable symbols, hereinafter referred to as MPS) and 460 occurrence probabilities for each context index.

コンテキスト計算部202では、二値化シンボルに基づいて、コンテキストインデックスを算出し、コンテキストインデックスをアドレスとしてコンテキストメモリ203からMPSと発生確率を読出し、二値算術符号化部204に入力する。   The context calculation unit 202 calculates a context index based on the binarized symbol, reads the MPS and the occurrence probability from the context memory 203 using the context index as an address, and inputs the MPS and the occurrence probability to the binary arithmetic encoding unit 204.

二値算術符号化部204では、二値化シンボル、MPS、発生確率とに基づいて算術符号化処理を行う。なお、二値算術符号化部204は、二値化シンボル毎に算術符号化を行い、その都度コンテキストメモリのMPSと発生確率を更新する必要があるため、処理サイクル数がかかるにもかかわらず、並列化が不可能であることが知られている。   The binary arithmetic encoding unit 204 performs arithmetic encoding processing based on the binary symbol, MPS, and occurrence probability. Note that the binary arithmetic coding unit 204 performs arithmetic coding for each binarized symbol, and it is necessary to update the MPS and occurrence probability of the context memory each time. It is known that parallelization is impossible.

前述したCABAC方式のエントロピー符号化を用いた符号化装置において、符号量制御を行う場合、CABACの特性から発生符号長を早期に符号量制御に返し、反映させることが困難である。そこで、二値化部201からの出力である二値化シンボルの符号長から二値算術符号化部204の発生符号長を推定する方法が提案されている(例えば、特許文献1を参照)。具体的には、二値化シンボル長に、直前の符号化済みピクチャの二値化シンボル長と算術符号長との比率αを用いて算術符号長を推定する。   In the coding apparatus using the above-described CABAC system entropy coding, when code amount control is performed, it is difficult to return and reflect the generated code length to the code amount control at an early stage due to the characteristics of CABAC. Therefore, a method has been proposed in which the generated code length of the binary arithmetic encoding unit 204 is estimated from the code length of the binarized symbol output from the binarizing unit 201 (see, for example, Patent Document 1). Specifically, the arithmetic code length is estimated using the ratio α between the binary symbol length of the immediately previous coded picture and the arithmetic code length as the binary symbol length.

次に、図3を用いて、CABACを用いてエントロピー符号化を行った場合の符号量制御の動作を説明する。
図3に示すように、直交変換量子化部301は、不図示の動き補償部において生成された予測画像と入力画像の差分画像D31が入力されると、入力画像に対して直交変換及び量子化を施す。そして、この変換係数と予測モード等のマクロブロック毎の情報(以下、マクロブロック情報)を合わせた情報D32を二値化部302に出力する。
Next, the operation of code amount control when entropy encoding is performed using CABAC will be described with reference to FIG.
As shown in FIG. 3, when a difference image D31 between a predicted image and an input image generated by a motion compensation unit (not shown) is input, the orthogonal transform quantization unit 301 performs orthogonal transform and quantization on the input image. Apply. Then, information D32 obtained by combining this transform coefficient and information for each macroblock (hereinafter, macroblock information) such as the prediction mode is output to the binarization unit 302.

二値化部302は、前述した二値化部201と同様の動作を行い、変換係数とマクロブロック情報D32を入力として、二値化シンボルD33とマクロブロック(MB)毎の二値化シンボル長D34を生成する。   The binarization unit 302 performs the same operation as the binarization unit 201 described above, and receives the conversion coefficient and macroblock information D32 as input, and the binarized symbol length for each binarized symbol D33 and macroblock (MB). D34 is generated.

発生符号長推定部304は、二値化部302から二値化シンボル長D34が入力されると、前述した比率αを用いて推定算術符号長D35を算出して、符号量制御部305に出力する。   When the binarized symbol length D34 is input from the binarizing unit 302, the generated code length estimating unit 304 calculates the estimated arithmetic code length D35 using the ratio α described above, and outputs it to the code amount control unit 305. To do.

符号量制御部305は、発生符号長推定部304からMB毎に入力される推定算術符号長D35に基づいて、次のMBを量子化する際の量子化パラメータを決定し、直交変換量子化部301に量子化パラメータD36を出力する。直交変換量子化部301は、符号量制御部305から入力される量子化パラメータD36に基づいて、直交変換及び量子化を行う。このような構成によって、CABACを用いてエントロピー符号化を行った場合の符号量制御を行っている。   The code amount control unit 305 determines a quantization parameter for quantizing the next MB based on the estimated arithmetic code length D35 input from the generated code length estimation unit 304 for each MB, and an orthogonal transform quantization unit The quantization parameter D36 is output to 301. The orthogonal transform quantization unit 301 performs orthogonal transform and quantization based on the quantization parameter D36 input from the code amount control unit 305. With such a configuration, code amount control when entropy encoding is performed using CABAC is performed.

次に、図1を参照しながら本実施形態の画像符号化装置100の構成例を説明する。
本実施形態の画像符号化装置100は、動きベクトルを検出する動きベクトル検出部101を有している。動きベクトル検出部101は、動きベクトルと周辺ブロックとを用いて生成された動きベクトル予測値(以下、pmv)との差分値を含む動きベクトル信号D10を生成して出力する。また、主に予測モード、パーティションパターン、直交変換サイズ、イントラインターフラグ、フィールドフレームフラグ等から構成されるマクロブロック情報D11を生成して出力する。動きベクトル検出部101から出力される動きベクトル信号D10は、直交変換量子化部102及び103に入力される。
Next, a configuration example of the image encoding device 100 of the present embodiment will be described with reference to FIG.
The image encoding apparatus 100 according to the present embodiment includes a motion vector detection unit 101 that detects a motion vector. The motion vector detection unit 101 generates and outputs a motion vector signal D10 including a difference value between a motion vector prediction value (hereinafter referred to as pmv) generated using the motion vector and peripheral blocks. In addition, macroblock information D11 mainly including a prediction mode, a partition pattern, an orthogonal transform size, an intra-inter flag, a field frame flag, and the like is generated and output. The motion vector signal D10 output from the motion vector detection unit 101 is input to the orthogonal transform quantization units 102 and 103.

直交変換量子化部102は、動きベクトル検出部101から供給される動きベクトル信号D10の動き補償を行う。そして、予測残差信号に直交変換を施した後、符号量制御部106から入力された量子化パラメータD16に基づいて量子化を行い、直交変換係数D12を出力する。   The orthogonal transform quantization unit 102 performs motion compensation of the motion vector signal D10 supplied from the motion vector detection unit 101. Then, after performing orthogonal transform on the prediction residual signal, quantization is performed based on the quantization parameter D16 input from the code amount control unit 106, and an orthogonal transform coefficient D12 is output.

二値化部103は、入力される動きベクトル信号D10、マクロブロック情報D11及び直交変換係数D12から二値化シンボル列D13を生成して出力する。   The binarization unit 103 generates and outputs a binarized symbol sequence D13 from the input motion vector signal D10, macroblock information D11, and orthogonal transform coefficient D12.

二値化部103から出力される二値化シンボル列D13は、算術符号化部104に入力される。算術符号化部104は、入力される二値化シンボル列D13のコンテキスト計算を行い、二値化シンボルと、前述したMPSと、発生確率とを算術符号化器(図示せず)に入力し、算術符号化を行って符号D14を出力する。   The binarized symbol sequence D13 output from the binarizing unit 103 is input to the arithmetic encoding unit 104. The arithmetic encoding unit 104 performs context calculation of the input binarized symbol string D13, inputs the binarized symbol, the MPS described above, and the occurrence probability to an arithmetic encoder (not shown), Arithmetic coding is performed and a code D14 is output.

さらに、発生符号量推定部105、符号量制御部106、差分動きベクトル二値符号量算出部(第1の二値符号量算出部)107を有する。また、マクロブロック情報二値化シンボル長算出部(第2の二値符号量算出部)108及び直交変換係数二値化シンボル長算出部(第3の二値符号量算出部)109を有する。   Furthermore, it has a generated code amount estimation unit 105, a code amount control unit 106, and a differential motion vector binary code amount calculation unit (first binary code amount calculation unit) 107. In addition, a macroblock information binarized symbol length calculation unit (second binary code amount calculation unit) 108 and an orthogonal transform coefficient binary symbol length calculation unit (third binary code amount calculation unit) 109 are included. .

差分動きベクトル二値符号量算出部107は、動きベクトル検出部101から入力された動きベクトル信号D10から、MB毎の差分動きベクトル二値化シンボル長D17を算出する。マクロブロック情報二値化シンボル長算出部108は、マクロブロック情報D11が入力されると、MB毎のマクロブロック情報二値化シンボル長D18を算出して出力する。直交変換係数二値化シンボル長算出部109は、直交変換量子化部102から出力される直交変換係数D12が入力されると、MB毎の直交変換係数二値化シンボル長D19を算出して出力する。   The differential motion vector binary code amount calculation unit 107 calculates a differential motion vector binary symbol length D17 for each MB from the motion vector signal D10 input from the motion vector detection unit 101. When the macroblock information D11 is input, the macroblock information binarized symbol length calculation unit 108 calculates and outputs the macroblock information binarized symbol length D18 for each MB. When the orthogonal transform coefficient D12 output from the orthogonal transform quantization unit 102 is input, the orthogonal transform coefficient binarized symbol length calculation unit 109 calculates an orthogonal transform coefficient binarized symbol length D19 for each MB. Output.

発生符号量推定部105は、前述したMB毎の差分動きベクトル二値化シンボル長D17、MB毎のマクロブロック情報二値化シンボル長D18、MB毎の直交変換係数二値化シンボル長D19が入力されると、算術符号化後の符号長を推定する。そして、推定符号長D15を生成して出力する。また、符号量制御部106は、発生符号量推定部105から推定符号長D15が出力されると、符号化対象MB毎の量子化ステップ値を定める量子化パラメータD16を算出して出力する。   The generated code amount estimation unit 105 includes the above-described differential motion vector binarized symbol length D17 for each MB, macroblock information binarized symbol length D18 for each MB, and orthogonal transform coefficient binarized symbol length D19 for each MB. When input, the code length after arithmetic coding is estimated. Then, an estimated code length D15 is generated and output. Further, when the estimated code length D15 is output from the generated code amount estimation unit 105, the code amount control unit 106 calculates and outputs a quantization parameter D16 that determines a quantization step value for each encoding target MB.

動きベクトル検出部101、直交変換量子化部102、二値化部103、算術符号化部104の動作は、非特許文献1に記載されているので、本実施形態においては詳しい説明は省略する。   Since the operations of the motion vector detection unit 101, the orthogonal transform quantization unit 102, the binarization unit 103, and the arithmetic coding unit 104 are described in Non-Patent Document 1, detailed description thereof is omitted in this embodiment.

差分動きベクトル二値符号量算出部107は、非特許文献1に記載されているCABAC方式の二値化によって発生する二値化シンボル長を算出する。この算出処理は、動きベクトル検出部101から出力される差分動きベクトル(差分動きベクトル=動きベクトル−pmv)に対して行われる。すなわち、差分動きベクトルを非特許文献1に記載されているUEG3方式で二値化した際の二値化シンボル長を算出するものである。UEG3方式とは、Concatenated unary/k−th order Exp−Golomb binarizationである。   The difference motion vector binary code amount calculation unit 107 calculates a binarized symbol length generated by the binarization of the CABAC method described in Non-Patent Document 1. This calculation process is performed on the difference motion vector (difference motion vector = motion vector−pmv) output from the motion vector detection unit 101. That is, the binarized symbol length when the difference motion vector is binarized by the UEG3 method described in Non-Patent Document 1 is calculated. The UEG3 scheme is Concatenated unary / k-th order Exp-Golomb binarization.

二値化部103で行われる差分動きベクトルの二値化も同様の方式が用いられる。二値化部103では、符号を生成するための二値化処理であるので、直交変換係数D12をZig−zag scan、もしくはField scanの順序に従ってUEG3方式で二値化する必要がある。そのため、二値化部103では、直交変換係数D12を不図示の記憶装置にMB分を保持した後、前述したZig−zag scan、もしくはField scanの順序で直交変換係数を読み出し、UEG3方式で二値化する。   A similar method is used for binarization of the difference motion vector performed in the binarization unit 103. Since the binarization unit 103 is a binarization process for generating a code, it is necessary to binarize the orthogonal transformation coefficient D12 by the UEG3 method according to the order of Zig-zag scan or Field scan. For this reason, the binarization unit 103 stores the orthogonal transform coefficient D12 in the storage device (not shown) for MB, and then reads out the orthogonal transform coefficient in the order of the Zig-zag scan or the field scan described above, and stores it in the UEG3 method. Convert to value.

一方、差分動きベクトル二値符号量算出部107は、二値化部103とは異なり、二値化シンボル長のみを算出するため、前述したZig−zag scanもしくは、Field scanの順序を守る必要がない。したがって、記憶装置にMB部の直交変換係数を保持する必要も無い。すなわち、直交変換量子化部102から直交変換係数D12が出力されれば、二値化シンボル長を即時に算出することが可能である。符号長を算出するために、非特許文献1の「9.3.2.3」に記載されている処理を実現する専用のハードウェアを実装してもよい。また、差分動きベクトルの範囲が予め定まっているのであれば、全ての差分動きベクトル値の符号長をROMに記録し、差分動きベクトルの値をインデックスとして符号長を即座に算出するようにしてもよい。   On the other hand, the difference motion vector binary code amount calculation unit 107, unlike the binarization unit 103, calculates only the binarized symbol length, so it is necessary to keep the order of Zig-zag scan or Field scan described above. Absent. Therefore, it is not necessary to store the orthogonal transform coefficient of the MB part in the storage device. That is, if the orthogonal transform coefficient D12 is output from the orthogonal transform quantization unit 102, the binarized symbol length can be calculated immediately. In order to calculate the code length, dedicated hardware for realizing the processing described in “9.3.2.3” of Non-Patent Document 1 may be mounted. Further, if the range of the difference motion vector is determined in advance, the code lengths of all the difference motion vector values are recorded in the ROM, and the code length may be immediately calculated using the difference motion vector values as indexes. Good.

マクロブロック情報二値化シンボル長算出部108は、非特許文献1に記載されているSyntax Element(以下、SE)の二値化シンボル長を算出する。Syntax Elementに含まれる要素は、以下の名前を有する。すなわち、mb_type。 mb_skip_flag。 sub_mb_type。 ref_idx_l0。 ref_idx_l1。 mb_qp_delta。 intra_chroma_pred_mode。 prev_intra4x4_pred_mode_flag。 prev_intra8x8_pred_mode_flag。 rem_intra4x4_pred_mode。 rem_intra8x8_pred_mode。 mb_field_decoding_flag。 coded_block_pattern。 end_of_slice_flagという名前を有する。   Macroblock information binarized symbol length calculation section 108 calculates the binarized symbol length of Syntax Element (hereinafter referred to as SE) described in Non-Patent Document 1. Elements included in the Syntax Element have the following names: That is, mb_type. mb_skip_flag. sub_mb_type. ref_idx_l0. ref_idx_l1. mb_qp_delta. intra_chroma_pred_mode. prev_intra4x4_pred_mode_flag. prev_intra8x8_pred_mode_flag. rem_intra4x4_pred_mode. rem_intra8x8_pred_mode. mb_field_decoding_flag. coded_block_pattern. It has the name end_of_slice_flag.

mb_typeは、MBタイプを示すSEである。符号化するMBがイントラ予測の場合、動きベクトル検出部101から符号化中のスライスのタイプ(I、P、B)と、直交変換サイズを示すtransform_size_8x8_flagとを入力する。   mb_type is an SE indicating the MB type. When the MB to be encoded is intra prediction, the type (I, P, B) of the slice being encoded and transform_size_8x8_flag indicating the orthogonal transform size are input from the motion vector detection unit 101.

また、 イントラ予測の場合、予測が4x4なのか、8x8なのか、或いは16x16なのかを示す信号を定める。また、イントラ16x16予測の予測モードと、Coded Block Pattern Lumaと、Coeded Block Pattern Chroma等のマクロブロック情報を入力し、mb_typeを定める。そして、mb_typeが定まれば、非特許文献1のTable9-27に記載されているテーブルを利用して符号長を算出する。   In the case of intra prediction, a signal indicating whether the prediction is 4x4, 8x8, or 16x16 is determined. In addition, the prediction mode of intra 16 × 16 prediction, macroblock information such as Coded Block Pattern Luma, Coeded Block Pattern Chroma, and the like are input, and mb_type is determined. When mb_type is determined, the code length is calculated using the table described in Table 9-27 of Non-Patent Document 1.

前述した、Coded Block Pattern Lumaと、Coded Block Pattern Chromaは、MB中の非零直交変換係数の有無から定まるSEである。このSEの値は、前述した直交変換量子化部102からMB中の全ての直交変換係数が出力されたタイミングで定まる。   The aforementioned Coded Block Pattern Luma and Coded Block Pattern Chroma are SEs determined from the presence or absence of non-zero orthogonal transform coefficients in the MB. The SE value is determined at the timing when all the orthogonal transform coefficients in the MB are output from the orthogonal transform quantization unit 102 described above.

mb_skip_flagは、符号化中のMBをスキップ処理する際に、1になるSEである。スキップの判定は、符号化するスライスがPスライス、Bスライスの際に全ての直交変換係数の値が0であり、かつMVDが0であるか否かを判断して決める。   mb_skip_flag is an SE that becomes 1 when the MB being encoded is skipped. The determination of skip is made by determining whether or not the values of all orthogonal transform coefficients are 0 and the MVD is 0 when the slice to be encoded is a P slice and a B slice.

符号化するMBがイントラ予測の場合、mb_skip_flagの二値化シンボル長は0であるが、他の予測の場合では、mb_skip_flagの二値化シンボル長は固定長であるため、シンボル長を算出することが可能である。   When the MB to be encoded is intra prediction, the binarized symbol length of mb_skip_flag is 0, but in other predictions, the binarized symbol length of mb_skip_flag is a fixed length, so the symbol length is calculated. Is possible.

sub_mb_typeは、PスライスもしくはBスライス時に存在するSEであり、MBの8x8以下のMBタイプを示す。sub_mb_typeの二値化シンボル長は、8x8ブロックが何分割されているかを示す信号と各パーティション毎の予測方式と、各パーティションの縦と横のサイズを動きベクトル検出部101からマクロブロック情報D11として入力する。これにより、非特許文献1に記載されているTable9-29を利用して算出される。   sub_mb_type is an SE existing at the time of P slice or B slice, and indicates an MB type of 8 × 8 or less of MB. As the binarized symbol length of sub_mb_type, a signal indicating how many 8 × 8 blocks are divided, the prediction method for each partition, and the vertical and horizontal sizes of each partition are input from the motion vector detection unit 101 as macroblock information D11. To do. Thus, calculation is performed using Table 9-29 described in Non-Patent Document 1.

ref_idx_l0、 ref_idx_l1は、参照ピクチャ番号を示すSEである。動きベクトル検出部101から参照ピクチャ番号をマクロブロック情報D11として入力し、SEの絶対値に対して1を加算した値が二値化シンボル長になる。この理由は、非特許文献1に記載されているので説明は省略する。   ref_idx_l0 and ref_idx_l1 are SEs indicating reference picture numbers. A reference picture number is input as macroblock information D11 from the motion vector detection unit 101, and a value obtained by adding 1 to the absolute value of SE is a binarized symbol length. The reason for this is described in Non-Patent Document 1 and will not be described.

mb_qp_deltaは、符号化順でみた前後のMBの量子化パラメータの差分値を示している。直交変換量子化部102、もしくは符号量制御部106から量子化パラメータ値を入力し、前回の値との差分値(SE値)を算出する。そして、code Num(非特許文献1のTable9-3に記載)に変換し、二値化シンボル長を算出する。   mb_qp_delta indicates the difference value between the quantization parameters of MBs before and after viewed in the coding order. A quantization parameter value is input from the orthogonal transform quantization unit 102 or the code amount control unit 106, and a difference value (SE value) from the previous value is calculated. Then, it is converted into code Num (described in Table 9-3 of Non-Patent Document 1), and the binarized symbol length is calculated.

intra_chroma_pred_modeは、MBに対する色差信号のイントラ予測モードを示すSEである。動きベクトル検出部101からマクロブロック情報D11として色差信号のイントラ予測モードを入力し、SE値に応じた二値化シンボル長を算出する。intra_chroma_pred_modeは、二値化部103においてTruncated unary cMax=3方式で二値化される。該方式による二値化シンボル長は固定であるので、intra_chroma_pred_modeの二値化シンボル長を算出することが可能である。   intra_chroma_pred_mode is an SE indicating the intra prediction mode of the color difference signal for MB. The intra prediction mode of the color difference signal is input as the macroblock information D11 from the motion vector detection unit 101, and the binarized symbol length corresponding to the SE value is calculated. Intra_chroma_pred_mode is binarized by the binarization unit 103 using Truncated unary cMax = 3. Since the binarized symbol length by this method is fixed, it is possible to calculate the binarized symbol length of intra_chroma_pred_mode.

prev_intra4x4_pred_mode_flagは、4x4ブロックのそれぞれに対する画面内予測モードを示すSEである。二値化部103において、該SEはFixed-length cMax=1方式で二値化される。また、prev_intra8x8_pred_mode_flagも同様の二値化方式で二値化される。該SEに対する二値化シンボル長は固定値であるので、二値化シンボル長を算出することが可能である。   prev_intra4x4_pred_mode_flag is SE which shows the prediction mode in a screen with respect to each of 4x4 block. In the binarization unit 103, the SE is binarized using the Fixed-length cMax = 1 method. Moreover, prev_intra8x8_pred_mode_flag is also binarized by the same binarization method. Since the binarized symbol length for the SE is a fixed value, the binarized symbol length can be calculated.

rem_intra4x4_pred_mode及びrem_intra8x8_pred_modeは、4x4ブロックもしくは8x8ブロックに対する画面内予測モードを示すSEである。該SEは、二値化部103において、動きベクトル検出部101からマクロブロック情報D11の中の所定のflagが0の時に二値化される。すなわち、prev_intra4x4_pred_mode_flag、もしくはprev_intra8x8_pred_mode_flagが0の時に二値化される。   rem_intra4x4_pred_mode and rem_intra8x8_pred_mode are SE indicating the intra prediction mode for the 4x4 block or the 8x8 block. The SE is binarized in the binarization unit 103 when the predetermined flag in the macroblock information D11 from the motion vector detection unit 101 is 0. That is, it is binarized when prev_intra4x4_pred_mode_flag or prev_intra8x8_pred_mode_flag is 0.

すなわち、該フラグが1の時には、二値化されないので二値化シンボル長は発生しない。しかし、動きベクトル検出部101から16本のフラグの値を知ることが可能なので、rem_intra4x4_pred_mode及びrem_intra8x8_pred_modeに対する二値化シンボル長も算出可能である。なお、rem_intra4x4_pred_mode及びrem_intra8x8_pred_modeは、二値化部103においてFixed-length cMax=7方式で二値化される。したがって、該SEの二値化シンボル長は固定長である。   That is, when the flag is 1, binarization symbol length does not occur because binarization is not performed. However, since it is possible to know the values of the 16 flags from the motion vector detection unit 101, the binarized symbol length for rem_intra4x4_pred_mode and rem_intra8x8_pred_mode can also be calculated. Note that rem_intra4x4_pred_mode and rem_intra8x8_pred_mode are binarized by the binarization unit 103 using the Fixed-length cMax = 7 method. Therefore, the binarized symbol length of the SE is a fixed length.

mb_field_decoding_flagは、上下に隣接しているMBを一つのペアと考えるMBペアがフィールドモードである時に1となるSEである。MB-AFFモードで符号化された場合にのみ二値化部103において二値化される。   mb_field_decoding_flag is an SE that becomes 1 when an MB pair that considers MBs adjacent in the vertical direction as one pair is in the field mode. The binarization unit 103 binarizes only when encoding in the MB-AFF mode.

動きベクトル検出部101からマクロブロック情報D11に含まれる、MB-AFFモードか否かを示す信号とカレントMBのアドレスと符号化順で一つ前のMBがスキップであったか否かを示す信号を入力する。そして、二値化する必要があるか否かを判断し、二値化する必要がある場合に二値化シンボル長を算出する。このSEは、Fixed-length cMax=1方式で二値化されるので、二値化シンボル長は固定であるので二値化するか否かの判断のみを行えばよい。   Input from the motion vector detection unit 101 a signal indicating whether or not the MB-AFF mode is included, and a signal indicating whether or not the previous MB was skipped in the encoding order and the address of the current MB included in the macroblock information D11 To do. Then, it is determined whether or not binarization is necessary, and when it is necessary to binarize, a binarized symbol length is calculated. Since this SE is binarized by the Fixed-length cMax = 1 method, since the binarized symbol length is fixed, it is only necessary to determine whether or not to binarize.

coded_block_pattern は、MB中の非零直交変換係数の有無から定まるSEである。該SEは、SEの値に関わらず、二値化シンボル長は固定であるので二値化シンボル長を算出することが可能である。   coded_block_pattern is SE determined from the presence or absence of non-zero orthogonal transform coefficient in MB. Since the binarized symbol length of the SE is fixed regardless of the value of the SE, the binarized symbol length can be calculated.

end_of_slice_flagは、MBの二値化シンボル列の最後に現れ、スライスの最後のMBの符号化が終わった時に1になるSEである。該SEの二値化シンボル長は固定長であるため、MB毎に固定の二値化シンボル長を出力すればよい。   end_of_slice_flag is an SE that appears at the end of the binarized symbol string of the MB and becomes 1 when the encoding of the last MB of the slice is finished. Since the binarized symbol length of the SE is a fixed length, a fixed binarized symbol length may be output for each MB.

直交変換係数二値化シンボル長算出部109には、直交変換量子化部102において直交変換及び量子化された直交変換係数D12が入力される。直交変換係数二値化シンボル長算出部109では、SEであるcoded_block_flagの二値化シンボル長を算出する。また、 significant_coeff_flagの二値化シンボル長を算出する。また、 last_ significant_coeff_flagの二値化シンボル長を算出する。また、 coeff_abs_level_minus1、 coeff_sign_flagの二値化シンボル長を算出する。   The orthogonal transform coefficient binarized symbol length calculation unit 109 receives the orthogonal transform coefficient D12 orthogonally transformed and quantized by the orthogonal transform quantization unit 102. Orthogonal transform coefficient binarized symbol length calculation section 109 calculates the binarized symbol length of coded_block_flag which is SE. Also, the binarized symbol length of significant_coeff_flag is calculated. Also, the binarized symbol length of last_significant_coeff_flag is calculated. Also, the binarized symbol length of coeff_abs_level_minus1 and coeff_sign_flag is calculated.

coded_block_flagは、4x4ブロックに非零の係数があれば1の値を取るSEである。このSEの二値化シンボル長は、直交変換量子化部102からMB中の全ての係数が出力されたタイミングで算出可能である。例えば、1MBには輝度と色差を合わせて24個の4x4ブロックが存在する(chroma_formatが4:2:0の場合)。24個のブロックのうち、10個のブロックに非零係数が存在すればcoded_block_flagの二値化シンボル長は10ビットである。   coded_block_flag is an SE that takes a value of 1 if there is a non-zero coefficient in the 4x4 block. The binarized symbol length of the SE can be calculated at the timing when all the coefficients in the MB are output from the orthogonal transform quantization unit 102. For example, in 1 MB, there are 24 4 × 4 blocks including luminance and color difference (when chroma_format is 4: 2: 0). If non-zero coefficients exist in 10 blocks out of 24 blocks, the binarized symbol length of coded_block_flag is 10 bits.

significant_coeff_flagは、1つの変換係数が非零であれば1の値を取るSEである。last_ significant_coeff_flagは、1つの変換係数が含まれる4x4ブロックの最後の非零変換係数であった場合に1となるSEである。二値化部103は、二値化後の二値化シンボルを規格に準じた順序で出力する必要があるため、1MB分の変換係数を記憶装置に一旦保持する必要があるが、直交変換係数二値化シンボル長算出部109は、二値化シンボル長を算出するだけでよい。したがって、直交変換量子化部102からMB中の全ての係数が出力されたタイミングで算出可能である。   significant_coeff_flag is an SE that takes a value of 1 if one transform coefficient is non-zero. last_significant_coeff_flag is an SE that is 1 when it is the last non-zero transform coefficient of a 4 × 4 block including one transform coefficient. Since the binarization unit 103 needs to output the binarized symbols after binarization in the order conforming to the standard, it is necessary to temporarily store the conversion coefficient for 1 MB in the storage device. The number binarized symbol length calculation unit 109 only needs to calculate the binarized symbol length. Therefore, it can be calculated at the timing when all the coefficients in the MB are output from the orthogonal transform quantization unit 102.

coeff_abs_level_minus1は、直交変換量子化部102から出力される直交変換係数D12の絶対値から1を引いた値を取るSEであり、UEGk方式で二値化される。該SEも直交変換量子化部102からMB中の全ての係数が出力されたタイミングで算出可能である。二値化シンボル長は、予めSE値に応じた二値化シンボル長を保持したROM等を用意して算出すればよい。   coeff_abs_level_minus1 is SE which takes the value which subtracted 1 from the absolute value of the orthogonal transformation coefficient D12 output from the orthogonal transformation quantization part 102, and is binarized by UEGk system. The SE can also be calculated at the timing when all the coefficients in the MB are output from the orthogonal transform quantization unit 102. The binarized symbol length may be calculated by preparing a ROM or the like that holds the binarized symbol length corresponding to the SE value in advance.

coeff_sign_flagは、直交変換量子化部102から出力される直交変換係数D12の符号を示すSEである。この直交変換係数D12が非零であった場合に1ビットの二値化シンボル長が生じる。このSEの二値化シンボル長も直交変換量子化部102からMB中の全ての係数が出力されたタイミングで算出可能である。   coeff_sign_flag is an SE indicating the code of the orthogonal transform coefficient D12 output from the orthogonal transform quantization unit 102. When this orthogonal transform coefficient D12 is non-zero, a 1-bit binary symbol length is generated. The binarized symbol length of the SE can also be calculated at the timing when all the coefficients in the MB are output from the orthogonal transform quantization unit 102.

次に、前述した本実施形態の画像符号化装置100の動作手順を図6のフローチャートを参照しながら説明する。
まず、ステップS601において、動きベクトル検出部101により、動きベクトルを検出し、動きベクトル信号D10及びマクロブロック情報D11を検出結果として生成して出力する。
Next, the operation procedure of the above-described image encoding device 100 of the present embodiment will be described with reference to the flowchart of FIG.
First, in step S601, a motion vector is detected by the motion vector detection unit 101, and a motion vector signal D10 and macroblock information D11 are generated and output as detection results.

次に、ステップS602において、直交変換量子化部102により、直交変換及び量子化を行って直交変換係数D12を生成して、二値化部103及び直交変換係数二値化シンボル長算出部109に出力する。   Next, in step S602, the orthogonal transform quantization unit 102 performs orthogonal transform and quantization to generate an orthogonal transform coefficient D12, and a binarization unit 103 and an orthogonal transform coefficient binarized symbol length calculation unit 109. Output to.

次に、ステップS603において、差分動きベクトル二値符号量算出部107により、MB毎の差分動きベクトル二値化シンボル長D17を算出する。
次に、ステップS604において、マクロブロック情報二値化シンボル長算出部108により、MB毎のマクロブロック情報二値化シンボル長D18を算出する。MB毎のマクロブロック情報二値化シンボル長D18は、二値化シンボル列を構成する差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長として算出される。
次に、ステップS605において、直交変換係数二値化シンボル長算出部109により、MB毎の直交変換係数二値化シンボル長D19を算出する。
Next, in step S603, the differential motion vector binary code amount calculation unit 107 calculates a differential motion vector binary symbol length D17 for each MB.
Next, in step S604, the macroblock information binarized symbol length calculation unit 108 calculates the macroblock information binarized symbol length D18 for each MB. The macroblock information binarized symbol length D18 for each MB is calculated as the binarized symbol length of the signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binarized symbol sequence.
Next, in step S605, the orthogonal transform coefficient binarized symbol length calculation unit 109 calculates an orthogonal transform coefficient binarized symbol length D19 for each MB.

次に、ステップS606において、発生符号量推定部105により、算術符号化後の符号長を推定する処理を行う。この処理は、前述したMB毎の差分動きベクトル二値化シンボル長D17、MB毎のマクロブロック情報二値化シンボル長D18、MB毎の直交変換係数二値化シンボル長D19が入力されると、算術符号化後の符号長を推定して行う。   Next, in step S606, the generated code amount estimation unit 105 performs processing for estimating the code length after arithmetic coding. This process is performed when the above-described differential motion vector binarized symbol length D17 for each MB, macroblock information binarized symbol length D18 for each MB, and orthogonal transform coefficient binarized symbol length D19 for each MB are input. This is performed by estimating the code length after arithmetic coding.

次に、ステップS607において、符号量制御部106により、符号化対象MB毎の量子化ステップ値を定める量子化パラメータD16を算出して、直交変換量子化部102により行われる量子化動作を制御する。これにより、MBの二値データ符号量(二値データ符号量×α)に基づいて算出された量子化パラメータを、符号化順で次のMBの量子化で使用することができる。   Next, in step S607, the code amount control unit 106 calculates a quantization parameter D16 that determines a quantization step value for each encoding target MB, and controls the quantization operation performed by the orthogonal transform quantization unit 102. . Thereby, the quantization parameter calculated based on the binary data code amount of MB (binary data code amount × α) can be used in the quantization of the next MB in the encoding order.

次に、ステップS608において、二値化部103により、差分動きベクトルの二値化処理を行う。この処理は、前述したように、符号を生成するための二値化処理であるので、直交変換係数D12をZig−zag scan、もしくはField scanの順序に従ってUEG3方式で二値化する。
次に、ステップS609において、算術符号化部104により二値算術符号化を行って符号D14を出力する。
Next, in step S608, the binarization unit 103 performs binarization processing of the difference motion vector. Since this process is a binarization process for generating a code as described above, the orthogonal transform coefficient D12 is binarized by the UEG3 method in the order of Zig-zag scan or Field scan.
Next, in step S609, the arithmetic encoding unit 104 performs binary arithmetic encoding and outputs a code D14.

次に、ステップS610において、処理を終了するか否かを判断する。この判断の結果、処理を終了しない場合にはステップS610に戻って前述した処理を繰り返し行う。また、ステップS610の判断の結果、全ての処理を終了する場合にはエンド処理を行う。   Next, in step S610, it is determined whether or not to end the process. As a result of the determination, if the process is not terminated, the process returns to step S610 to repeat the above-described process. If all the processes are ended as a result of the determination in step S610, end processing is performed.

以上のように、本実施形態の画像符号化装置100は、差分動きベクトル二値符号量算出部107〜直交変換係数二値化シンボル長算出部109(第1〜第3の二値符号量算出部)を備えた。したがって、図5の時点t2のタイミングにおいてMBの二値化シンボル長を算出することが可能である。これにより、従来の構成よりも二値化シンボル長を1MB時間だけ早く符号量制御部305に返すことが可能になり、従来よりもより精度の高い符号量制御を実現することができる。   As described above, the image coding apparatus 100 according to the present embodiment includes the difference motion vector binary code amount calculation unit 107 to the orthogonal transform coefficient binary symbol length calculation unit 109 (first to third binary code amounts). A calculation unit). Therefore, the binarized symbol length of the MB can be calculated at the timing of time t2 in FIG. As a result, the binarized symbol length can be returned to the code amount control unit 305 earlier than the conventional configuration by 1 MB time, and more accurate code amount control can be realized.

(本発明に係る他の実施形態)
前述した本発明の実施形態における画像符号化装置を構成する各手段は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the image coding apparatus according to the above-described embodiment of the present invention can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable recording medium recording 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.

なお、本発明は、前述した画像符号化方法における各工程を実行するソフトウェアのプログラム(実施形態では図6に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in FIG. 6) for executing each step in the above-described image encoding method is directly or remotely supplied to a system or apparatus. In addition, this includes a 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)などがある。   Various recording media can be used as a recording medium for supplying the program. For example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD- R).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording 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等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer may perform part or all of the actual processing. The functions of the above-described embodiments can be realized.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

本発明の実施形態を示し、画像符号化装置の構成を示すブロック図である。It is a block diagram which shows embodiment of this invention and shows the structure of an image coding apparatus. H.264におけるCABAC方式の構成を示すブロック図である。H. 2 is a block diagram showing a configuration of a CABAC system in H.264. 従来の画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional image coding apparatus. 従来の画像符号化装置の時間毎の処理内容を示す図である。It is a figure which shows the processing content for every time of the conventional image coding apparatus. 本発明の実施形態を示し、画像符号化装置の時間毎の処理内容を示す図である。It is a figure which shows embodiment of this invention and shows the processing content for every time of an image coding apparatus. 本発明の実施形態を示し、画像符号化装置の動作手順を説明するフローチャートである。It is a flowchart which shows embodiment of this invention and demonstrates the operation | movement procedure of an image coding apparatus.

符号の説明Explanation of symbols

100 画像符号化装置
101 動きベクトル検出部
102 直交変換量子化部
103 二値化部
104 算術符号化部
105 発生符号量推定部
106 符号量制御部
107 差分動きベクトル二値化シンボル長算出部
108 マクロブロック情報二値化シンボル長算出部
109 直交変換係数二値化シンボル長算出部
201 二値化部
202 コンテキスト計算部
203 コンテキストメモリ
204 二値算術符号化部
DESCRIPTION OF SYMBOLS 100 Image coding apparatus 101 Motion vector detection part 102 Orthogonal transformation quantization part 103 Binarization part 104 Arithmetic coding part 105 Generated code amount estimation part 106 Code quantity control part 107 Difference motion vector binarization symbol length calculation part 108 Macro Block information binarized symbol length calculation unit 109 Orthogonal transform coefficient binarized symbol length calculation unit 201 Binarization unit 202 Context calculation unit 203 Context memory 204 Binary arithmetic coding unit

Claims (8)

量子化手段と、符号量制御手段と、二値化手段と、二値算術符号化手段とを具備する画像符号化装置において、
動きベクトル検出手段から出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出手段と、
前記量子化手段から出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出手段と、
前記動きベクトル検出手段から出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出手段とを前記二値化手段とはそれぞれ別に有し、
前記符号量制御手段は、前記第1〜第3の二値符号量算出手段により算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化手段に出力することを特徴とする画像符号化装置。
In an image encoding device comprising quantization means, code amount control means, binarization means, and binary arithmetic encoding means,
First binary code amount calculating means for calculating a binary symbol length of a differential motion vector from a motion vector signal output from the motion vector detecting means;
Third binary code amount calculation means for calculating the binarized symbol length of the orthogonal transform coefficient output from the quantization means;
A second binary code amount for calculating a binary symbol length of a signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binary symbol sequence from the macroblock information output from the motion vector detecting means A calculation means separately from the binarization means,
The code amount control means determines a quantization parameter based on the binarized symbol length calculated by the first to third binary code amount calculation means, and outputs the quantization parameter to the quantization means. An image encoding device.
前記第1〜第3の二値符号量算出手段において算出される二値化シンボル長から前記二値算術符号化手段の符号長を推定して前記符号量制御手段に出力する発生符号量推定手段をさらに備えたことを特徴とする請求項1に記載の画像符号化装置。   Generated code amount estimating means for estimating the code length of the binary arithmetic coding means from the binarized symbol length calculated by the first to third binary code amount calculating means and outputting the estimated code length to the code amount control means The image encoding apparatus according to claim 1, further comprising: 前記二値化手段と前記二値算術符号化手段は、CABAC方式であることを特徴とする請求項1または2に記載の画像符号化装置。   The image coding apparatus according to claim 1 or 2, wherein the binarization means and the binary arithmetic coding means are CABAC systems. 量子化工程と、符号量制御工程と、二値化工程と、二値算術符号化工程とを具備する画像符号化方法において、
動きベクトル検出工程において出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出工程と、
前記量子化工程において出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出工程と、
前記動きベクトル検出工程において出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出工程とを前記二値化工程とはそれぞれ別に有し、
前記符号量制御工程においては、前記第1〜第3の二値符号量算出工程において算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化工程に出力することを特徴とする画像符号化方法。
In an image encoding method comprising a quantization step, a code amount control step, a binarization step, and a binary arithmetic encoding step,
A first binary code amount calculating step of calculating a binary symbol length of a difference motion vector from a motion vector signal output in the motion vector detection step;
A third binary code amount calculating step of calculating a binarized symbol length of the orthogonal transform coefficient output in the quantization step;
A second binary code amount for calculating a binarized symbol length of a signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binarized symbol sequence from the macroblock information output in the motion vector detecting step A calculation step separately from the binarization step,
In the code amount control step, a quantization parameter is determined based on the binarized symbol length calculated in the first to third binary code amount calculation steps, and is output to the quantization step. An image encoding method.
前記第1〜第3の二値符号量算出工程において算出される二値化シンボル長から前記二値算術符号化工程の符号長を推定して前記符号量制御工程に出力する発生符号量推定工程をさらに備えたことを特徴とする請求項4に記載の画像符号化方法。   Generated code amount estimation step of estimating the code length of the binary arithmetic encoding step from the binarized symbol length calculated in the first to third binary code amount calculation steps and outputting the estimated code length to the code amount control step The image encoding method according to claim 4, further comprising: 前記二値化工程と前記二値算術符号化工程は、CABAC方式であることを特徴とする請求項4または5に記載の画像符号化方法。   6. The image encoding method according to claim 4, wherein the binarization step and the binary arithmetic encoding step are a CABAC method. 量子化工程と、符号量制御工程と、二値化工程と、二値算術符号化工程とを具備する画像符号化方法をコンピュータに実行させるプログラムにおいて、
動きベクトル検出工程において出力される動きベクトル信号から、差分動きベクトルの二値化シンボル長を算出する第1の二値符号量算出工程と、
前記量子化工程において出力される直交変換係数の二値化シンボル長を算出する第3の二値符号量算出工程と、
前記動きベクトル検出工程において出力されるマクロブロック情報から、二値化シンボル列を構成する前記差分動きベクトル及び前記直交変換係数を除く信号の二値化シンボル長を算出する第2の二値符号量算出工程とを有し、
前記符号量制御工程においては、前記第1〜第3の二値符号量算出工程において算出される二値化シンボル長に基づいて量子化パラメータを決定して前記量子化工程に出力する画像符号化方法をコンピュータに実行させることを特徴とするプログラム。
In a program for causing a computer to execute an image encoding method including a quantization step, a code amount control step, a binarization step, and a binary arithmetic encoding step,
A first binary code amount calculating step of calculating a binary symbol length of a difference motion vector from a motion vector signal output in the motion vector detection step;
A third binary code amount calculating step of calculating a binarized symbol length of the orthogonal transform coefficient output in the quantization step;
A second binary code amount for calculating a binary symbol length of a signal excluding the differential motion vector and the orthogonal transform coefficient constituting the binary symbol sequence from the macroblock information output in the motion vector detection step A calculation step,
In the code amount control step, image coding for determining a quantization parameter based on the binarized symbol length calculated in the first to third binary code amount calculation steps and outputting the quantization parameter to the quantization step A program for causing a computer to execute the method.
請求項7に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 7.
JP2008282265A 2008-10-31 2008-10-31 Image encoder and image encoding method Pending JP2010109912A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008282265A JP2010109912A (en) 2008-10-31 2008-10-31 Image encoder and image encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008282265A JP2010109912A (en) 2008-10-31 2008-10-31 Image encoder and image encoding method

Publications (1)

Publication Number Publication Date
JP2010109912A true JP2010109912A (en) 2010-05-13

Family

ID=42298862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008282265A Pending JP2010109912A (en) 2008-10-31 2008-10-31 Image encoder and image encoding method

Country Status (1)

Country Link
JP (1) JP2010109912A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186569A (en) * 2011-03-03 2012-09-27 Fujitsu Ltd Image encoding device, image encoding method, and image encoding program
US9635366B2 (en) 2013-08-30 2017-04-25 Fujitsu Limited Quantization method, coding apparatus, and computer-readable recording medium storing quantization program
CN107222748A (en) * 2017-06-12 2017-09-29 西安万像电子科技有限公司 The treating method and apparatus of view data code check

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158430A (en) * 2005-11-30 2007-06-21 Matsushita Electric Ind Co Ltd Image information encoder
JP2008035134A (en) * 2006-07-27 2008-02-14 Matsushita Electric Ind Co Ltd Image coding device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158430A (en) * 2005-11-30 2007-06-21 Matsushita Electric Ind Co Ltd Image information encoder
JP2008035134A (en) * 2006-07-27 2008-02-14 Matsushita Electric Ind Co Ltd Image coding device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186569A (en) * 2011-03-03 2012-09-27 Fujitsu Ltd Image encoding device, image encoding method, and image encoding program
US9635366B2 (en) 2013-08-30 2017-04-25 Fujitsu Limited Quantization method, coding apparatus, and computer-readable recording medium storing quantization program
CN107222748A (en) * 2017-06-12 2017-09-29 西安万像电子科技有限公司 The treating method and apparatus of view data code check
CN107222748B (en) * 2017-06-12 2019-05-24 西安万像电子科技有限公司 The treating method and apparatus of image data code rate

Similar Documents

Publication Publication Date Title
EP3158750B1 (en) Intra block copy block vector signaling for video coding
JP6695692B2 (en) Intra coding for 4: 2: 2 sample format in video coding
TWI666916B (en) Coefficient level coding in a video coding process
CN112514386B (en) Grid coding and decoding quantization coefficient coding and decoding
JP5815877B2 (en) Reduction of line buffer for short-range intra prediction in video coding
US20070009047A1 (en) Method and apparatus for hybrid entropy encoding and decoding
TW201711467A (en) Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US20140198855A1 (en) Square block prediction
WO2010119757A1 (en) Image encoding apparatus, method, and program, and image decoding apparatus, method, and program
TW201342920A (en) Transform unit partitioning for chroma components in video coding
KR20160031496A (en) Intra motion compensation extensions
US20140286417A1 (en) Data encoding and decoding
TW201424403A (en) Signaling layer identifiers for operation points in video coding
TWI566582B (en) Method, device, and apparatus for processing and encoding video data and computer readable storage medium
CN117915092A (en) Data encoding and decoding method, data encoding and decoding apparatus, and storage medium
US20080232706A1 (en) Method and apparatus for encoding and decoding image using pixel-based context model
JP2008219612A (en) Data embedding apparatus, data extracting apparatus, data embedding method, and data extracting metho
JP2023158204A (en) Image or video coding based on signaling of transform skip- and palette coding-related information
CN110337809B (en) Block-based video decoding method using pre-scanning and apparatus thereof
CN115443660A (en) Method and apparatus for decoding imaging related to symbol data hiding
KR20220027162A (en) Independent CABAC for sub-sections of a picture
JP2010109912A (en) Image encoder and image encoding method
CN114503590A (en) Signaling coding schemes for residual values in transform skipping for video coding
JP4895396B2 (en) Image decoding apparatus and image decoding method
US11936872B2 (en) Image data encoding and decoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121218