JP2010087770A - Image-coding device and method - Google Patents
Image-coding device and method Download PDFInfo
- Publication number
- JP2010087770A JP2010087770A JP2008253631A JP2008253631A JP2010087770A JP 2010087770 A JP2010087770 A JP 2010087770A JP 2008253631 A JP2008253631 A JP 2008253631A JP 2008253631 A JP2008253631 A JP 2008253631A JP 2010087770 A JP2010087770 A JP 2010087770A
- Authority
- JP
- Japan
- Prior art keywords
- code amount
- block
- coefficient
- estimated
- processing target
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、画像符号化装置及び方法に関し、特に、ビデオエンコーダ等の符号量制御を行う画像符号化装置及び方法に関する。 The present invention relates to an image encoding apparatus and method, and more particularly, to an image encoding apparatus and method for performing code amount control such as a video encoder.
動画像データを少ないデータ量で伝送するための動画圧縮規格であるMPEG(Moving Picture Experts Group)−2(ISO/IEC 13818−2)やH.264(MPEG−4 AVC(Advanced Video Coding))では、マクロブロック当たりの符号量の上限が規格で決められている。また、MPEG−2では、上限を超えても良いマクロブロックの個数が規定されている。 MPEG (Moving Picture Experts Group) -2 (ISO / IEC 13818-2) or H.264, which is a moving picture compression standard for transmitting moving image data with a small amount of data. In H.264 (MPEG-4 AVC (Advanced Video Coding)), the upper limit of the code amount per macroblock is determined by the standard. In MPEG-2, the number of macroblocks that may exceed the upper limit is defined.
ここで、マクロブロックとは、動画像データの内1枚の画面データであるピクチャを定められた大きさに分割されたものである。H.264の符号化方式における、マクログロックの構成を表した図を図20に示す。 Here, the macroblock is obtained by dividing a picture, which is one screen data of moving image data, into a predetermined size. H. FIG. 20 is a diagram showing the configuration of the macro clock in the H.264 encoding method.
図20は、H.264のIntra16x16ブロックの例であり、画面を輝度16x16、色差8x8画素サイズに分割したマクロブロックを、4x4画素サイズのブロックに分けて直交変換を行い、さらに、それぞれのブロックのDC(Direct Current)成分を集めたブロックから成り、全部で27ブロック構成されている。 FIG. This is an example of an H.264 Intra16x16 block. A macroblock obtained by dividing a screen into a luminance of 16x16 and a color difference of 8x8 pixels is divided into 4x4 pixels and subjected to orthogonal transformation. Further, a DC (Direct Current) component of each block The block is composed of a total of 27 blocks.
また、図21は、4x4、色差DC2x2であるマクロブロック内の1ブロックにおけるスキャン順の例を示す図である。ブロック内の各係数位置は、スキャン順である番号で示され、番号の小さいものから大きいものへの順序は、直交変換を施したデータの周波数帯域において、低周波成分側から高周波成分側への順序に対応する。 FIG. 21 is a diagram illustrating an example of the scan order in one block in a macro block having 4 × 4 and color difference DC2 × 2. Each coefficient position in the block is indicated by a number in scan order, and the order from the smallest number to the largest number is from the low frequency component side to the high frequency component side in the frequency band of the data subjected to orthogonal transformation. Corresponds to the order.
近年、地上波デジタル放送の普及やデジタルビデオレコーダの普及に伴い、MPEG−2及びH.264といった符号化方式に対応した画像符号化装置が必要とされている。関連技術として下記の特許文献1乃至3がある。
In recent years, with the spread of terrestrial digital broadcasting and digital video recorders, MPEG-2 and H.264 have been developed. There is a need for an image encoding device that supports an encoding method such as H.264. There are the following
特許文献1には、量子化係数を調整する係数調整回路による発生符号量の制限方法が開示されている。特許文献1にかかる発生符号量の制限方法は、可変長符号化(VLC:Variable Length Coding)回路の前段に係数調整回路を配置し、VLC回路の後段の出力バッファのデータ量に応じて量子化係数データを0に置換するものである。特許文献1では、出力バッファの残容量に応じて量子化係数のAC(Alternating Current)成分を0とする係数の個数を制御する。この際、逆量子化への入力は、0に置換されないデータであり、エンコーダとデコーダとのミスマッチが生じるため、デコード画像に劣化を生じさせてしまう。
そこで、特許文献2には、特許文献1に改良を加え、同一のスライスに含まれ複数のマクロブロックに分割される画像データから符号化されたデータを生成する画像符号化装置及び方法が開示されている。図18は、特許文献2にかかる画像符号化装置の一部の構成を示すブロック図である。以下では、図18の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
Therefore,
図18に示す画像符号化装置901は、VLC回路916により画像データに基づくデータをブロックごとに所定の順序で可変長符号化する。可変長符号化されたデータの量は、符号量算出回路919によりマクロブロックごとに算出され、符号量判定回路920により所定の値を超えているか否かが判定される。可変長符号化されたデータの量が所定の値を超える際には、VLC設定回路915により、後続する同一のスライスに含まれるマクロブロックに対してVLC回路916で可変長符号化されるデータの量が制限される。
The
また、特許文献3には、ブロック毎の符号量を目標値以下に制御する符号量制御装置が開示されている。図19は、特許文献3にかかる動画像符号化装置の一部の構成を示すブロック図である。以下では、図19の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
図19に示す符号量制御装置902は、量子化回路941において変換係数951を入力し、量子化結果を出力する。そして、丸め回路942は、出力された量子化結果から0ランと非0係数レベルから符号長テーブルを参照して符号長を求め、当該符号長を積算して、レート制御回路943から入力される目標符号量952を超える場合には、量子化値を切り捨てるものである。
しかしながら、特許文献2及び3では、符号化方式によっては、正確に量子化係数の打ち切りを行うことができない、あるいは画質劣化への影響が大きいという問題点がある。以下では、H.264やMPEG−2といったマクロブロック当たりの符号量の上限が決められている符号化方式における課題を明らかにする。
However,
まず、次世代符号化方式であるH.264の可変長符号化方法には、CAVLC(Context-based Adaptive VLC)とCABAC(Context-based Adaptive Binary Arithmetic Coding)の2つの方式がある。ここで、図22は、1ブロックの量子化係数の例である。図23は、H.264のCAVLCにおける可変長符号化の例を示す図である。図23は、図22の例におけるzig−zag scanの場合を示す。尚、図22は、株式会社インプレス発行の「H.264/AVC教科書」におけるp.146の図6−4の一部を引用したものである。 First, the next generation encoding method, H.264. There are two types of H.264 variable-length coding methods: CAVLC (Context-based Adaptive VLC) and CABAC (Context-based Adaptive Binary Arithmetic Coding). Here, FIG. 22 is an example of a quantization coefficient of one block. FIG. 2 is a diagram illustrating an example of variable length coding in H.264 CAVLC. FIG. FIG. 23 shows a case of zig-zag scan in the example of FIG. Note that FIG. 22 is a page of “H.264 / AVC textbook” issued by Impress Corporation. 146 is a part of FIG.
CAVLCでは、非ゼロ係数の数(TotalCoeff)、最後に連続する絶対値1の係数の個数(TrailingOnes)、最後に連続する絶対値1の係数の符号(Trailing_ones_sign_flag)、 係数の値(level)、最後の非ゼロ係数以前の0係数の個数(TotalZeros)、及び係数値の前の0の連続個数(run_before)を符号化する。係数の並び順は逆スキャン順になっている。TotalCoeff、TotalZeroなどは、ブロック内の全ての係数の量子化が終了しないと確定しない。また、これらの情報が確定しないと、符号量が正確に算出できない情報もある。さらに、符号化テーブルは、隣接ブロックの係数の個数などの情報を利用するため、ブロック内の情報だけでは正確な符号量を算出できない。尚、図23では、TotalCoeff、TrainlingOnes、TotalZerosの符号化については、図示を省略している。 In CAVLC, the number of non-zero coefficients (TotalCoeff), the number of coefficients with the last absolute value 1 (TrailingOnes), the sign of the last consecutive coefficient with absolute value 1 (Trailing_ones_sign_flag), the value of the coefficient (level), and the last The number of zero coefficients before the non-zero coefficient (TotalZeros) and the consecutive number of zeros before the coefficient value (run_before) are encoded. The order of the coefficients is the reverse scan order. TotalCoeff, TotalZero, etc. are not determined unless quantization of all the coefficients in the block is completed. In addition, there is information that cannot accurately calculate the code amount unless these pieces of information are determined. Furthermore, since the encoding table uses information such as the number of coefficients of adjacent blocks, an accurate code amount cannot be calculated only with the information in the block. In FIG. 23, illustration of encoding of TotalCoeff, TrainingOnes, and TotalZeros is omitted.
また、図24は、H.264のCABACにおける可変長符号化の例を示す図である。図24は、図22の例におけるzig−zag scanの場合を示す。CABACでは、非ゼロ係数か否かのフラグ(significant_coeff_flag)、最後の非ゼロ係数か否かのフラグ(last_significant_coeff_flag)、非ゼロ係数の絶対値(coeff_abs_level)、非ゼロ係数の符号(coeff_sign_flag)を符号化する。なお、CABACでは、この符号をさらに算術符号化する。 In addition, FIG. 2 is a diagram illustrating an example of variable length coding in H.264 CABAC. FIG. FIG. 24 shows the case of zig-zag scan in the example of FIG. In CABAC, a non-zero coefficient flag (significant_coeff_flag), a final non-zero coefficient flag (last_significant_coeff_flag), an absolute value of non-zero coefficient (coeff_abs_level), and a non-zero coefficient code (coeff_sign_flag) are encoded. To do. In CABAC, this code is further arithmetically encoded.
また、図25は、MPEG−2における可変長符号化の例を示す図である。尚、MPEG−2は、本来、8x8ブロックサイズであるが、H.264との比較のために便宜的に4×4ブロックサイズのまま記載する。MPEG−2では、非ゼロ係数の値(level)、非ゼロ係数の前の0の連続個数(run)、ブロックの最後を示すコード(EOB)、を符号化する。 FIG. 25 is a diagram illustrating an example of variable length coding in MPEG-2. MPEG-2 is originally an 8 × 8 block size, but H.264 For comparison with H.264, the 4 × 4 block size is described for convenience. In MPEG-2, the value (level) of a non-zero coefficient, the number of consecutive 0s (run) before the non-zero coefficient, and a code (EOB) indicating the end of the block are encoded.
ここで、特許文献2は、マクロブロック単位にVLC(可変長符号化)を行った後に次のマクロブロックについて制御を行うものであり、同一マクロブロック内のブロックにフィードバックを反映することができない。そのため、マクロブロック当たりの符号量の上限を超えても良いマクロブロックの個数を制御することはできるが、規定されているマクロブロック当たりの符号量の上限を守ることができない。
Here, in
特に、特許文献2では、実際のVLC結果に基づいて、発生符号量を計算し、マクロブロックの発生符号量が規格を超えたら、それ以降のマクロブロックで符号量が越えないように、VLCの後で係数を打ち切っている。打ち切りはVLCのスキャンの途中で、VLC設定回路915がVLC回路916へブロックエンド933を出力することで実現している。そのため、ブロック内の画素データの読み込み順番が、高周波成分側から低周波成分側であるような、いわゆる、逆スキャン順の場合では、視覚的に重要な低周波成分が切り捨てられる。そのため、画質への影響が非常に大きく、劣化が目立つ場合がある。
In particular, in
また、特許文献3では、0ランと非0係数レベルのみを用いて符号量を推定しているため、ブロック全体の量子化が終わらないと符号化できない情報については、符号量推定ができない。また、ブロック内の量子化係数に対して高周波からスキャンが行われる場合、マクロブロック内の視覚的に重要な成分である低周波の量子化係数から削除されてしまうため、画質劣化への影響が大きい。また、係数毎の打ち切り判定により係数の切り捨てを行うと、視覚的に重要な低域成分を打ち切ることがある。
Further, in
そのため、MPEG−1/MPEG−2以外の符号化方式では、符号量の計算が正確にできない場合がある。そのため、所望の符号量制御ができない場合がある。あるいは不適切な打ち切りにより、画質が劣化する場合がある。 For this reason, the encoding amount may not be accurately calculated with an encoding method other than MPEG-1 / MPEG-2. Therefore, desired code amount control may not be possible. Alternatively, the image quality may be deteriorated due to inappropriate truncation.
打ち切り制御については、特許文献2では、ブロック間の符号量配分を考慮せずに、発生符号量が目標を超えた時点で打ち切りをかけるため、符号化順で後ろのほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。特許文献3では、マクロブロック全体の符号量を、予め設定された固定の割合でマクロブロック内の各ブロックに目標符号量を割り当ててはいるが、ピクチャタイプやマクロブロックタイプに応じた適応的な制御は行われていない。またマクロブロックヘッダの符号量については考慮されていない。さらに、ブロック内の係数ごとの符号発生状況については考慮されていない。そのため、発生符号量の推移に合わない目標符号量が設定される恐れがあり、その場合には、過剰に打ち切りが行われる、又は、打ち切りが少なくなるなど、適切な制御が行えなくなる。
Regarding the abort control, in
本発明にかかる画像符号化装置は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化する画像符号化装置であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する制御手段と、前記制御手段により調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換手段と、を備える。 The image coding apparatus according to the present invention divides a macroblock, which is a predetermined area included in image data, into a plurality of blocks, processes each block, outputs quantized coefficients obtained by quantizing orthogonal transform coefficients, An image encoding device that performs variable length encoding based on a quantized coefficient at a coefficient position that specifies a coefficient in the block, and is input in a predetermined order from a processing target block that is a processing target block in the macroblock Code amount estimating means for calculating a block estimated code amount that is an estimated value of a code amount related to the processing target block based on the quantized coefficient; a block estimated code amount related to the processing target block in the macroblock; Based on a target code amount that is a target value of the code amount for the processing target block, a predetermined block in the macroblock is determined. Control means for determining whether or not to perform adjustment to replace any quantization coefficient with 0, and replace any quantization coefficient in the predetermined block determined to be adjusted by the control means with 0 Coefficient replacement means.
本発明にかかる画像符号化方法は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する画係数位置に対応する量子化係数に基づいて可変長符号化する画像符号化方法であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する決定ステップと、前記決定ステップにより調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換ステップと、を備える。 The image encoding method according to the present invention divides a macroblock, which is a predetermined area included in image data, into a plurality of blocks, processes the blocks, outputs quantized coefficients obtained by quantizing orthogonal transform coefficients, An image encoding method for performing variable length encoding based on a quantized coefficient corresponding to an image coefficient position for specifying a coefficient in the block, wherein a predetermined block from a processing target block that is a processing target block in the macroblock A step of inputting the quantized coefficients read in order; and a code amount estimating step of calculating a block estimated code amount that is an estimated value of a code amount related to the processing target block based on the read quantized coefficients A block estimated code amount related to the processing target block in the macroblock and a target code that is a target value of the code amount for the processing target block. A determination step for determining whether to perform adjustment to replace any quantization coefficient with 0 in a predetermined block in the macroblock based on the amount, and the determination determined to be adjusted by the determination step A coefficient replacement step of replacing any quantized coefficient in a predetermined block with 0.
上述した本発明にかかる画像符号化装置及び方法によれば、マクロブロック内のブロック単位に処理を行い、量子化係数を0に置換する調整を行うことで、より正確に量子化係数の打ち切りを行うことができる。また、処理対象ブロックから所定の順序で入力される量子化係数に基づいてブロック推定符号量を算出するため、処理対象ブロック全体の情報を用いて符号量の推定することができる。 According to the above-described image coding apparatus and method according to the present invention, processing is performed on a block-by-block basis in a macroblock, and the quantization coefficient is censored more accurately by performing adjustment to replace the quantization coefficient with 0. It can be carried out. Further, since the block estimation code amount is calculated based on the quantization coefficients input in a predetermined order from the processing target block, the code amount can be estimated using information on the entire processing target block.
本発明により、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を予め定めた値以下にすることができる画像符号化装置及び方法を提供することができる。 According to the present invention, it is possible to provide an image encoding apparatus and method capable of reducing the code amount per macroblock to a predetermined value or less while suppressing image quality deterioration as much as possible.
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description will be omitted as necessary for the sake of clarity.
<発明の実施の形態1>
図1は、本発明の実施の形態にかかる画像符号化装置100の全体構成を示すブロック図である。画像符号化装置100は、動画像データの各画面であるピクチャを複数のマクロブロックに分割し、当該マクロブロックをさらに複数のブロックに分割し、当該ブロック(以下、処理対象ブロック)毎に処理を行う。そして、画像符号化装置100は、当該ブロック毎に直交変換を行い、直交変換により求められた変換係数をブロック毎に量子化処理し、可変長符号化及び逆量子化等を行う符号化装置である。言い換えれば、画像符号化装置100は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化するものである。そして、画像符号化装置100は、マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定し、調整を行うと決定された所定のブロックにおけるいずれかの量子化係数を0に置換する。尚、当該ブロックにおける係数位置のスキャン順は、当該ブロック内における周波数帯域に対応した順番となっている。
<
FIG. 1 is a block diagram showing an overall configuration of an
画像符号化装置100は、量子化器10、セレクタ11、逆量子化器12、可変長符号化器13、符号量推定器14、MBヘッダ符号量推定器15、目標符号量計算器16及び打ち切り制御器17を備える。尚、図1では、画像符号化装置100の一部を表示している。
The
量子化器10は、変換係数20を入力し、ブロック毎に所定のスキャン順に量子化を行い、セレクタ11へ量子化係数21を出力する。
The
セレクタ11は、後述する打ち切り制御器17からの打ち切りを行うための係数位置である置換位置29に基づいて、量子化器10から入力される量子化係数21を0に置換するか否かを判定し、置換すると判定した場合に0を、また、置換しないと判定した場合に量子化係数21をそのまま、量子化係数22として出力する。
The
逆量子化器12は、量子化係数22を入力し、逆量子化処理を行い、逆量子化係数23を出力する。尚、逆量子化係数23は、局所復号画像の生成に使用される。また、可変長符号化器13は、量子化係数22を入力し、可変長符号化処理を行い、可変長符号(不図示)を出力する。尚、量子化器10、逆量子化器12及び可変長符号化器13は、公知技術としてよく知られているものであるから、ここでは詳細な説明を省略する。
The
符号量推定器14は、量子化係数22を入力し、マクロブロック内の処理対象ブロックに関する符号量の推定値であるブロック推定符号量25を算出する。その際、符号量推定器14は、量子化係数22毎に符号量の推定を行い、入力される量子化係数22の発生状態を示す発生状態情報を更新する。そして、符号量推定器14は、処理対象ブロックにおける全ての量子化係数22の入力が終わった後に、発生状態情報及び隣接ブロック情報24を用いて、当該処理対象ブロックの全体の符号量を推定し、ブロック推定符号量25を算出する。また、符号量推定器14は、当該マクロブロック内の当該処理対象ブロック以前に処理されたブロック毎に算出されたブロック推定符号量25を累算して累算値を算出し、打ち切り制御器17へ出力する。このとき、係数の発生情報は、他のブロックでの参照のために、一時的に保存しておく。
The
MBヘッダ符号量推定器15は、当該マクロブロック(MB)の情報であるMB情報26からマクロブロックヘッダにおける符号量の推定値であるMB推定符号量27を算出する。
The MB header
目標符号量計算器16は、マクロブロック内の処理対象ブロックごとに当該処理対象ブロックに対する符号量の目標値である目標符号量28を算出する。
The target
打ち切り制御器17は、ブロック推定符号量25と、MB推定符号量27と、目標符号量28とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する制御手段である。そして、打ち切り制御器17は、所定のブロックにおいて、調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を0に置換する係数位置である置換位置29を決定し、セレクタ11へ出力する。尚、打ち切り制御器17は、MBヘッダ符号量推定器15を必ずしも必要としない。但し、打ち切り制御器17は、MBヘッダ符号量推定器15により算出されるMB推定符号量27を用いることで、より正確な打ち切り制御を行うことができる。
The
ここで、打ち切り制御器17は、符号量推定器14により算出されたブロック推定符号量25の累算値と、マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する目標符号量28を累算した累算値との差分に応じて、調整を行うか否かを決定する。
Here, the
また、打ち切り制御器17は、上述した所定のブロックを前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックとすることで、量子化係数の打ち切りを同一マクロブロック内に反映でき、発生符号量を制限する処理を効率的に行うことができる。
Further, the
つまり、打ち切り制御器17は、MB推定符号量27及びブロック推定符号量25の累算値から、量子化処理の終了した処理対象ブロックまでのマクロブロック内での推定符号量を累算し、目標符号量28の累算値との差分に応じて、次に処理されるブロックの量子化処理における置換位置29を、例えばその位置からスキャン順で高周波数側の係数を打ち切る位置番号として決定することで、セレクタ11により置換位置29よりスキャン順で高周波数帯域の量子化係数を0に置き換えることができ、画質劣化を抑制しつつ、発生符号量を目標符号量に制御することができる。
That is, the
尚、本発明の実施の形態における所定のブロックは、次に処理されるブロックに限定さ
れない。たとえば、次の次に処理されるブロックのように、次以降のブロックでもよい。
The predetermined block in the embodiment of the present invention is not limited to the block to be processed next. For example, the next and subsequent blocks may be used like the next processed block.
図2は、本発明の実施の形態にかかる一つのマクロブロック内の画像符号化処理の動作を示すフローチャート図である。まず、画像符号化装置100は、マクロブロックの初期化を行う(S101)。具体的には、例えば、置換位置29として打ち切りを開始する係数位置の番号を指定する場合には、画像符号化装置100は、係数打ち切り開始位置を、所定の初期値に設定する。また、目標符号量計算器16は、目標符号量の初期値を所定のオフセットの値に初期化する。
FIG. 2 is a flowchart showing the operation of the image encoding process in one macro block according to the embodiment of the present invention. First, the
次に、MBヘッダ符号量推定器15は、量子化係数以外のマクロブロック内の情報であるMB情報26からMB推定符号量27を推定する(S102)。また、打ち切り制御器17は、MB推定符号量27をマクロブロックごとの累算推定符号量の初期値とする。
Next, the MB header
そして、符号量推定器14は、係数の発生状態情報を初期化する(S103)。すなわち、符号量推定器14は、ブロックごとの量子化係数の発生状況に応じてカウントするカウンタや係数位置をリセットする。
Then, the
その後、処理対象ブロック毎にステップS104乃至S108が実行される。まず、量子化器10は、所定のスキャン順序で入力される変換係数20を一係数ずつ量子化し、量子化係数21を出力する(S104)。次に、セレクタ11は、係数打ち切り処理を行う(S105)。尚、ステップS105の詳細は、図6で後述する。
Thereafter, steps S104 to S108 are executed for each processing target block. First, the
そして、符号量推定器14は、量子化係数22を入力し、係数の発生状態を示すカウンタの値や、係数位置番号に関する情報である係数の発生状態情報を計測する(S106)。その後、符号量推定器14は、量子化係数22における符号量の推定値である係数推定符号量を算出する(S107)。具体的には、符号量推定器14は、量子化係数22が非0である場合に、その値と0ランの値から、量子化係数22における係数推定符号量を算出する。また、量子化係数22が0係数の場合、符号量推定器14は、量子化係数22における係数推定符号量を0とする。そして、符号量推定器14は、係数推定符号量をブロック毎に累算する。
The
そして、符号量推定器14は、処理対象ブロックにおいて最後の量子化係数22であるか否かを判定する(S108)。処理対象ブロックの最後の係数でないと判定される場合、ステップS104へ戻り、処理対象ブロックの最後の係数であると判定される場合、ステップS109へ進む。
Then, the
続いて、符号量推定器14は、ブロック符号量を推定する(S109)。具体的には、符号量推定器14は、量子化係数毎の発生状態情報から、ブロック全体の係数の発生状態に関わる符号量の推定値である全体推定符号量を算出する。さらに、符号量推定器14は、全体推定符号量に係数の符号量の累算値を加算し、ブロック推定符号量を算出する。そして、符号量推定器14は、ブロック推定符号量を当該マクロブロック内で積算し、ブロック推定符号量の累算値を計算する。
Subsequently, the
そして、目標符号量計算器16は、当該処理対象ブロックにおける目標符号量28を算出する(S110)。具体的には、目標符号量計算器16は、当該マクロブロック内の処理対象ブロックより前の目標符号量の値に、当該処理対象ブロックにおける予め決められた符号量増加分を加算し、目標符号量の値を更新する。
Then, the target
その後、打ち切り制御器17は、打ち切り制御パラメタを計算する(S111)。すなわち、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置29を算出する。置換位置29は、例えば、打ち切りを開始する係数位置の番号である。
Thereafter, the
ここで、打ち切り制御器17は、マクロブロックヘッダ推定符号量にブロック推定符号量の累算値を加算した値と、目標符号量の値を比較し、目標符号量の値を超える場合に、調整を行うと判定する。調整を行う場合、打ち切り制御器17は、置換位置を算出する。
Here, the
また、打ち切り制御器17は、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を0とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波数側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を小さくする。
The
また、打ち切り制御器17は、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を0とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を大きくする。
In addition, the
または、打ち切り制御器17は、累算値と目標符号量との差分が小さい場合、置換位置を決定しない。また、打ち切り制御器17は、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置として決定する。
Alternatively, the
そして、画像符号化装置100は、マクロブロックの最後のブロックか否かを判定する(S112)。最後のブロックと判定されなければ、ステップS103へ戻り、次のブロックに対して処理を繰り返し、最後のブロックであると判定されれば、当該マクロブロックの処理を終了する。
Then, the
尚、上述したステップS106乃至S109の処理の詳細は、以下の図3及び図4の説明において詳述する。 The details of the processing in steps S106 to S109 described above will be described in detail in the description of FIGS. 3 and 4 below.
ここで、本発明の実施の形態にかかる符号量推定器14の構成を図3にブロック図で示す。符号量推定器14は、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34、非0係数最終位置35、係数符号量推定器36及びブロック符号量推定器37を備える。
Here, FIG. 3 is a block diagram showing the configuration of the
0ランカウンタ31は、連続する0ランの値であるrunbefore41を保持する。0係数カウンタ32は、処理対象ブロック内で値が0である量子化係数の数であるTotalZeros42を保持する。1係数カウンタ33は、処理対象ブロック内で絶対値が1である量子化係数の数であるTrailingOnes43を保持する。非0係数カウンタ34は、処理対象ブロック内で値が0以外である量子化係数の数であるTotalCoeff44を保持する。非0係数最終位置35は、処理対象ブロック内で値が0以外である最後の量子化係数の係数位置であるCoeffNum45を保持する。
The 0
符号量推定器14は、入力される量子化係数22の発生状態を示す発生状態情報である0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35に保持される値を更新することで、係数の発生状態情報の計測を行う。
The
図4は、本発明の実施の形態にかかる係数の発生状態情報の計測処理の動作を示すフローチャート図である。まず、符号量推定器14は、量子化係数22が0であるか否かを判定する(S201)。量子化係数22が0である場合、符号量推定器14は、0ランカウンタ31をインクリメント(S202)し、0係数カウンタ32をインクリメント(S203)し、当該量子化係数における発生状態情報の計測処理を終了する。
FIG. 4 is a flowchart showing the operation of the coefficient generation state information measurement process according to the embodiment of the present invention. First, the
量子化係数22が0でない場合、符号量推定器14は、0ランカウンタ31をリセット(S204)し、非0係数カウンタ34をインクリメント(S205)する。そして、符号量推定器14は、非0係数最終位置35に量子化係数22の係数位置を保存する(S206)。
If the
その後、符号量推定器14は、量子化係数22の絶対値が1かつ1係数カウンタ33が3未満であるか否かを判定する(S207)。ステップS207において、YESと判定された場合、符号量推定器14は、1係数カウンタ33をインクリメント(S208)し、当該量子化係数における発生状態情報の計測処理を終了する。また、ステップS207において、NOと判定された場合、符号量推定器14は、当該量子化係数における発生状態情報の計測処理を終了する。
Thereafter, the
このように、符号量推定器14は、入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段として動作する。
In this way, the
図3に戻って、係数符号量推定器36は、量子化係数22及び0ランカウンタ31からのrunbefore41を用いて、係数単位の符号量の推定値である係数推定符号量を算出する。そして、係数符号量推定器36は、係数ごとに係数推定符号量を累算して累算値をブロック符号量推定器37へ出力する。
Returning to FIG. 3, the coefficient
ここで、係数符号量推定器36における符号量の推定方法の実施例について、符号化方式ごとに説明する。まず、MPEG−2に代表されるように、係数の符号化が、非0係数の値の大きさ(level)と0係数の連続する個数(run)の組み合わせにより、可変長符号が定義されている符号化方式では、その符号の符号長を記録した表を用意し、levelとrunの組み合わせからテーブル引きにより符号長を求めることができる。マクロブロックタイプに応じて異なる符号化を行う場合には、テーブルも複数用意し、マクロブロックタイプに応じて切り替える。また、levelとrunの値によっては、可変長符号が定義されておらず、Escape符号化となる場合もあるが、その場合はEscape符号化する場合に必要なビット数を符号長とする。
Here, an embodiment of a code amount estimation method in the coefficient
また、イントラDC係数については、levelとrunの組み合わせではなく、隣接ブロックとの差分値の大きさに応じてサイズと差分値が符号化されるが、それぞれの表現に必要なビット数を計算してそれらの合計を符号長とする。 In addition, for intra DC coefficients, the size and difference value are encoded according to the difference value between adjacent blocks, not the combination of level and run, but the number of bits required for each representation is calculated. The total of these is the code length.
次に、H.264のCAVLCのように、TrailingOnesを除いた非0係数の値の大きさ(level)と0係数の連続する個数(run_before)をそれぞれ符号化する場合には、規格で定められた符号の符号長を計算する。levelはlevel_prefixとlevel_suffixの2つの要素で符号化されるが、それぞれの符号長をlevelの値に応じて計算する。 Next, H.I. As in H.264 CAVLC, when coding the value level (level) of non-zero coefficients excluding TrailingOnes and the number of consecutive zero coefficients (run_before), the code length of the code determined by the standard Calculate The level is encoded with two elements, level_prefix and level_suffix, and the respective code lengths are calculated according to the level value.
但し、処理対象ブロックにおける第1係数の符号長のみは、TotalCoeffとTrailingOnesに依存し2通りの場合があるが、ブロックの量子化が終了するまで正確にはわからないため、取り得る値の大きなほうを選択する。 However, only the code length of the first coefficient in the block to be processed depends on TotalCoeff and TrailingOnes, and there are two cases. However, it cannot be accurately determined until the block quantization is completed, so the larger possible value is select.
run_beforeについては、当該ブロックで符号化されていない残りの0の数(ZerosLeft)との組み合わせにより可変長符号が定義されているので、その符号の符号長を記録した表を用意し、run_beforeとZerosLeftの組み合わせからテーブル引きで符号長を求める。なお、ZerosLeftはブロック全体の0係数の個数が確定しないと不明であるため、取り得る値の最大値と仮定する。 For run_before, a variable-length code is defined by a combination with the remaining zero number (ZerosLeft) that is not encoded in the block, so a table that records the code length of that code is prepared, and run_before and ZerosLeft The code length is obtained by table lookup from the combination of. Since ZerosLeft is unknown unless the number of zero coefficients of the entire block is determined, it is assumed to be the maximum value that can be taken.
続いて、H.264のCABACでは、符号化する情報を2値化したあと、算術符号化を行うが、ここでは、発生符号量の推定は、2値化したbinの符号長とする。量子化係数の符号化では、非0の係数ごとに、最後の有意係数フラグ(last_significant_coef_flag)、量子化係数の符号(coeff_sign_flag)、量子化係数の絶対値−1(coeff_abs_level_minus1)を2値化している。これらのbin長は定義に従って計算で求めることができる。 Subsequently, H.C. In H.264 CABAC, the information to be coded is binarized and then arithmetic coding is performed. Here, the generated code amount is estimated to be the binarized bin code length. In the coding of the quantized coefficient, the last significant coefficient flag (last_significant_coef_flag), the sign of the quantized coefficient (coeff_sign_flag), and the absolute value of the quantized coefficient −1 (coeff_abs_level_minus1) are binarized for each non-zero coefficient. . These bin lengths can be calculated by definition.
図3のブロック符号量推定器37は、処理対象ブロックにおける全ての量子化係数が入力された後に、発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に係数推定符号量の累算値を加算してブロック推定符号量25を算出する。
The block
このとき、ブロック符号量推定器37は、係数符号量推定器36から入力される係数推定符号量、0係数カウンタ32からのTotalZeros42、1係数カウンタ33からのTrailingOnes43、非0係数カウンタ34からのTotalCoeff44、非0係数最終位置35からのCoeffNum45及び隣接ブロック情報24を用いて、ブロック推定符号量25を出力する。
At this time, the block
ここで、ブロック符号量推定器37における符号量に推定方法の実施例について、符号化方式ごとに説明する。まず、MPEG−2に代表されるように、ブロックの終了にEnd of Block(EOB)符号を付加する場合には、そのビット長を求める。
Here, an embodiment of a method for estimating the code amount in the block
次に、H.264のCAVLCでは、係数以外のブロック毎に符号化される要素としてcoeff_token 、trailing_ones_sign_flag、total_zerosがあり、それらの符号化に必要なビット数を求める。Coeff_token は、TotalCoeffとTrailingOnesとの組み合せで可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalCoeffとTrailingOnesとの組み合わせからテーブル引きで求める。なお、上述した表は、隣接ブロックの係数の発生状態に応じて切り替える。隣接ブロックの情報を使用しない場合は、取り得る値の最大値とする。trailing_ones_sign_flagは、TrailingOnesの値から計算できる。total_zerosは、TotalCoeffに依存して可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalZerosとTotalCoeffの組み合わせによりテーブル引きで符号長を求める。 Next, H.I. In the H.264 CAVLC, there are coeff_token, trailing_ones_sign_flag, and total_zeros as elements encoded for each block other than the coefficients, and the number of bits necessary for the encoding is obtained. In Coeff_token, a variable length code is defined by a combination of TotalCoeff and TrailingOnes. A table in which the code length of the code is recorded is prepared, and the table is obtained from the combination of TotalCoeff and TrailingOnes. The table described above is switched according to the coefficient generation state of the adjacent block. When the information of the adjacent block is not used, the maximum value is assumed. trailing_ones_sign_flag can be calculated from the value of TrailingOnes. For total_zeros, a variable length code is defined depending on TotalCoeff. A table in which the code length of the code is recorded is prepared, and the code length is obtained by table lookup based on a combination of TotalZeros and TotalCoeff.
続いて、H.264のCABACでは、係数以外のブロック毎に符号化される要素として、有意係数フラグ(significant_coeff_flag)がある。これは、ブロックの量子化が終了したあと、非0係数の最終位置(CoeffNum)から有意係数フラグの必要数を求めてbin長を計算する。 Subsequently, H.C. In H.264 CABAC, there is a significant coefficient flag (significant_coeff_flag) as an element encoded for each block other than the coefficient. This is to calculate the bin length by obtaining the required number of significant coefficient flags from the final position (CoeffNum) of the non-zero coefficient after the block quantization is completed.
なお、最後の有意係数フラグ(last_significant_coef_flag)、量子化係数の符号(coeff_sign_flag)を係数ごとに計算せず、ブロックの量子化終了後に、非0係数の数から計算して求めることもできる。すなわち、係数ごとに累算する代わりに、ブロックの終了でまとめて計算して累算することもできる。 Note that the last significant coefficient flag (last_significant_coef_flag) and the sign of the quantized coefficient (coeff_sign_flag) are not calculated for each coefficient, but can be calculated from the number of non-zero coefficients after the block quantization is completed. That is, instead of accumulating every coefficient, it is also possible to calculate and accumulate all at the end of the block.
このように、符号量推定器14における発生状態情報は、H.264のCAVLCの場合、0ランカウンタ、0係数カウンタ、1係数カウンタ及び非0係数カウンタに保持された値であるとよい。また、H.264のCABACの場合、0ランカウンタ及び非0係数最終位置に保持された値であるとよい。
Thus, the generation state information in the
また、符号量推定器14は、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35に保持された値と、量子化係数22とを対応付けて記憶する発生状態情報記憶手段をさらに備えているとよい。そして、
ブロック符号量推定器37は、発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出する。
The
The block
図5は、本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。例えば、予めマクロブロック当たりの目標符号量、当該目標符号量の上限値からのマージン、およびオフセットを与えて、残りをブロックの係数の数に応じて配分して、ブロック当たりの目標符号量を算出し、図5の破線のような目標符号量を設定する。符号化処理中は、図5の実線のように、ブロック毎に推定の累算符号量を積算し、目標値からの差分の大きさに応じて、次のブロックに対する打ち切り位置を設定する。例えば、ブロックiにおけるブロック推定符号量の累算値と目標符号量を比較し、目標符号量からの差分に応じて、次のブロックi+1における打ち切り位置を決める。尚、所定のブロックを次に処理されるブロックとした場合、制御が1ブロック以上遅延するが、遅延分のマージンを見込むことで、最大発生符号量の制御を行うことができる。 FIG. 5 is a diagram illustrating an example of the abort position determination process according to the embodiment of the present invention. For example, the target code amount per macroblock, the margin from the upper limit of the target code amount, and the offset are given in advance, and the remainder is distributed according to the number of coefficients of the block to calculate the target code amount per block Then, the target code amount as shown by the broken line in FIG. 5 is set. During the encoding process, as shown by the solid line in FIG. 5, the estimated accumulated code amount is integrated for each block, and an abort position for the next block is set according to the difference from the target value. For example, the accumulated value of the block estimated code amount in the block i is compared with the target code amount, and the abort position in the next block i + 1 is determined according to the difference from the target code amount. When the predetermined block is a block to be processed next, the control is delayed by one block or more. However, the maximum generated code amount can be controlled by allowing for a delay margin.
図6は、本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、セレクタ11は、処理対象の量子化係数21の係数位置の番号が置換位置以上であるか否かを判定する(S301)。ステップS301でYESの場合、セレクタ11は、量子化係数21を0に置換して、量子化係数22を出力する(S302)。また、ステップS301でNOの場合、セレクタ11は、量子化係数21をそのまま量子化係数22として出力する(S303)。
FIG. 6 is a flowchart showing the operation of coefficient truncation processing according to the embodiment of the present invention. First, the
尚、打ち切り制御器17が複数の置換位置を決定する場合、セレクタ11は、量子化係数21の係数位置が置換位置のいずれかに含まれる場合のみ、0に置換すればよい。
When the
図7は、本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。図7に示すように、4x4のzig−zag scanで、置換位置である打ち切り開始位置が10の場合、係数位置が10乃至15の量子化係数が0で置き換えられることとなる。 FIG. 7 is a diagram illustrating an example of coefficients before and after the coefficient truncation processing according to the embodiment of the present invention. As shown in FIG. 7, in the case of 4 × 4 zig-zag scan and the censoring start position as the replacement position is 10, the quantized coefficients whose coefficient positions are 10 to 15 are replaced with 0.
尚、H.264のような符号化方式では、0ランと非0係数レベルだけでは不十分で、ブロック全体の量子化係数が分からないと正確に符号量を見積もることができない。また、H.264のような符号化方式では、隣接ブロックの情報が符号量の見積もりに必要である。さらに、マクロブロックヘッダの符号量を加味する必要がある。そして、H.264のCAVLCの可変長符号化では、逆方向にスキャンすることが多く、その場合、量子化処理でも逆順にスキャンする必要がある。 H. In a coding scheme such as H.264, the 0 run and the non-zero coefficient level are not sufficient, and the code amount cannot be estimated accurately unless the quantization coefficients of the entire block are known. H. In an encoding scheme such as H.264, information on adjacent blocks is necessary for estimating the amount of codes. Furthermore, it is necessary to consider the code amount of the macroblock header. And H. In the H.264 CAVLC variable length coding, scanning is often performed in the reverse direction, and in this case, it is necessary to scan in the reverse order even in the quantization process.
そこで、本発明の実施の形態1は、マクロブロックにおける処理対象ブロック内の全ての量子化係数に基づいたブロック推定符号量により、当該マクロブロックにおける所定のブロックについて、量子化係数の調整を行うことものである。そのため、TotalCoeff、TotalZeroなどのブロック内の全ての係数の量子化が終了しないと確定しない情報を用いることにより、H.264のような1ブロック内の全ての量子化結果を必要とする符号化方式において、正確に量子化係数の打ち切りを行うことができるという効果を奏する。また、本発明の実施の形態1により、所望の符号量制御を行うことができる。
Therefore, in
また、本発明の実施の形態1では、打ち切り制御器17により量子化係数を0に置換する係数位置である置換位置を決定し、セレクタ11により置換位置に該当する係数位置の量子化係数を0に置換することにより、H.264のCAVLCのように、ブロック当たりの量子化係数のスキャン順が高周波数のものから読み出すという、いわゆる逆スキャン順である場合においても、置換位置以前の係数位置に該当する量子化係数に対して置換を行うことができるため、データ圧縮の際、人間の視覚への影響が相対的に少ない高周波数のものから打ち切ること、つまり、人間の視覚への影響が相対的に大きく、より重要な低周波数の量子化係数を残すことができるため、画質劣化を小さく抑えられるという効果を奏する。尚、上記の効果を確保するため、DCブロックについては、0への置換は行われない様に制御する。
In
さらに、本発明の実施の形態1では、打ち切り制御器17において、マクロブロック内における処理対象ブロック以前のブロックに関するブロック推定符号量を累算した累算値を用いることにより、目標符号量の累算値との差分に応じた調整の判定を行うことができ、処理済みのブロック全体を加味したより正確な符号量制御を行うことができる。
Further, in the first embodiment of the present invention, the
また、本発明の実施の形態1では、符号量推定器14において、0ランカウンタ31、0係数カウンタ32、1係数カウンタ33、非0係数カウンタ34及び非0係数最終位置35を有することにより、量子化係数毎の発生状態情報を計測することで、H.264やMPEG−2といった複数の符号化方式に対応すると共に、正確に量子化係数の打ち切りを行うことができる。
In
さらに、本発明の実施の形態1の符号量推定器14では、係数符号量推定器36及びブロック符号量推定器37を有することにより、量子化係数毎の係数推定符号量及び全体推定符号量に基づいてブロック推定符号量を算出するため、より正確な符号量制御を行うことができる。
Furthermore, the
また、本発明の実施の形態1の符号量推定器14では、処理対象ブロック以外の隣接ブロックの情報を用いることにより、より正確な符号量制御を行うことができる。尚、上述した隣接ブロックの情報は、当該マクロブロックに隣接する隣接マクロブロックのブロックであってもよく、または、当該マクロブロック以外が隣接ブロックである場合は、とり得る最大値を推定符号量としてもよい。
Further, the
さらに、本発明の実施の形態1では、MBヘッダ符号量推定器15において、MB推定符号量27を算出することにより、打ち切り制御器17でより正確な打ち切り制御を行うことができる。
Furthermore, in
尚、上述した特許文献2は、マクロブロック単位の制御であり、マクロブロック内でのフィードバックはかからない。本発明では、マクロブロック内のブロック単位に制御を掛けているため、マクロブロック内で所定の符号量に収まるように制御を掛けることができる。
Note that
尚、上述した特許文献3では、係数の量子化毎に打ち切り判定を行い、打ち切り制御を行っている。本発明では、ブロック単位に打ち切り判定を行い、打ち切り制御を行う。例えば、H.264のCAVLCによる可変長符号化では、逆スキャン順に符号化する場合があり、量子化処理でも逆スキャン順に行うことが多い。そのため、特許文献3のように、量子化処理順では、視覚的に重要な低周波帯域成分を打ち切ることになり、画質が著しく損なわれる。
In
そこで、本発明では、ブロック単位に、打ち切りスキャン位置を設定して、その位置から高周波帯域の係数を打ち切る制御のため、画質劣化の影響が抑えられる。 In the present invention, therefore, the influence of image quality deterioration can be suppressed because the abort scan position is set for each block and the high frequency band coefficient is aborted from that position.
<発明の実施の形態2>
本発明の実施の形態2にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100の目標符号量計算器16に変更を加え、処理対象ブロックの特性に応じて、目標符号量を算出する目標符号量計算器を備えたものである。そして、打ち切り制御器17は、当該目標符号量算出器により算出された目標符号量を用いて、調整を行うか否かを決定するものである。これにより、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、本発明の実施の形態2にかかる画像符号化装置は、目標符号量計算器16を除き、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。
<
The image coding apparatus according to the second embodiment of the present invention changes the target
本発明の実施の形態2にかかる目標符号量計算器は、ピクチャタイプ又はマクロブロックタイプに応じて、処理対象のマクロブロックにおける目標符号量のオフセット及び傾きを可変にするとよい。図8は、本発明の実施の形態にかかる目標符号量をピクチャタイプ又はマクロブロックタイプに応じて可変にした場合の目標符号量の例を示す図である。 The target code amount calculator according to the second exemplary embodiment of the present invention may vary the offset and inclination of the target code amount in the macro block to be processed according to the picture type or the macro block type. FIG. 8 is a diagram illustrating an example of the target code amount when the target code amount according to the embodiment of the present invention is variable according to the picture type or the macroblock type.
図8に示す目標符号量81は、マクロブロックにおける目標符号量の傾きの基準である。目標符号量82は、予測性能の高いピクチャ又はマクロブロックタイプにおける目標符号量の例である。予測性能の高いピクチャ又はマクロブロックタイプでは、一般にMBヘッダ情報の比率が大きく、量子化係数への符号量の割り当て比率が小さくなる。そのため、目標符号量の初期値であるMBヘッダ情報の推定符号量に対応するオフセットの値を相対的に大きくし、目標符号量の傾きを基準である目標符号量81に比べて小さくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。
A
目標符号量83は、予測性能の低いピクチャ又はマクロブロックタイプ目標符号量の例である。予測性能の低いピクチャ又はマクロブロックタイプでは、MBヘッダ情報の比率が小さく、係数への符号量の割り当て比率が大きくなる。そのため、オフセットの値を相対的に小さくし、目標符号量の傾きを目標符号量82に比べて大きくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、目標符号量83の傾きは、目標符号量81より大きくても構わない。
The
また、本発明の実施の形態2にかかる目標符号量計算器は、DCブロック及びACブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図9は、本発明の実施の形態にかかる目標符号量をDCブロック及びACブロックに応じて可変にした場合の目標符号量の例を示す図である。 In addition, the target code amount calculator according to the second exemplary embodiment of the present invention may vary the slope of the target code amount in the macro block to be processed according to the DC block and the AC block. FIG. 9 is a diagram illustrating an example of the target code amount when the target code amount according to the embodiment of the present invention is variable according to the DC block and the AC block.
DCブロックは、ACブロックに比べて画面における量子化係数に非0の係数が多いため、ある程度大きい推定符号量を許容することが望ましい。そのため、図9に示すように、ACブロックの場合に、目標符号量の傾きを傾きαとし、DCブロックの場合に、目標符号量の傾きを傾きαより大きい傾きβとすることで、効果的な打ち切り制御を行うことができる。 Since the DC block has more non-zero coefficients in the screen than the AC block, it is desirable to allow a somewhat large estimated code amount. Therefore, as shown in FIG. 9, it is effective to set the slope of the target code amount to the slope α in the case of the AC block, and to set the slope of the target code amount to the slope β larger than the slope α in the case of the DC block. Can be controlled.
また、本発明の実施の形態2にかかる目標符号量計算器は、輝度ブロック及び色差ブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図10は、本発明の実施の形態にかかる目標符号量を輝度ブロック及び色差ブロックに応じて可変にした場合の目標符号量の例を示す図である。 In addition, the target code amount calculator according to the second exemplary embodiment of the present invention may vary the slope of the target code amount in the macro block to be processed according to the luminance block and the color difference block. FIG. 10 is a diagram illustrating an example of the target code amount when the target code amount according to the embodiment of the present invention is variable according to the luminance block and the color difference block.
輝度ブロックは、色情報の基準となるため、色差ブロックに比べて大きい推定符号量を許容することが望ましい。そのため、図10に示すように、輝度ブロックの場合に、目標符号量の傾きを傾きαとし、色差ブロックの場合に、目標符号量の傾きを傾きαより小さい傾きβとすることで、効果的な打ち切り制御を行うことができる。 Since the luminance block is a reference for color information, it is desirable to allow a larger estimated code amount than the color difference block. Therefore, as shown in FIG. 10, in the case of a luminance block, the inclination of the target code amount is set to the inclination α, and in the case of the chrominance block, the inclination of the target code quantity is set to an inclination β smaller than the inclination α. Can be controlled.
上記のように、複数の種類の性質に分けて個別に目標を設定する方法について述べたが、これらの性質については、適宜組み合わせて目標符号量を設定してもよい。 As described above, the method for setting a target individually for a plurality of types of properties has been described. However, for these properties, a target code amount may be set by appropriately combining them.
上述した特許文献1乃至3の関連技術では、一定の符号量を超えた後から打ち切りを開始すると、符号化順で後のほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。また、全体の符号量を固定的に均等に割り当てているだけでは、ブロックの係数の発生状況を正確に反映しておらず、精度が高くない。さらに、ブロック個別に比例配分した目標符号量では、それまでの累算符号量が考慮されていないため、過剰に打ち切りが行われる又は打ち切りが少なくなり、適切な制御が行えない。
In the related arts of
これに対し、本発明の実施の形態2では、処理対象ブロックの特性に応じて目標符号量を算出することができ、より精度の高い目標符号量配分ができる。
On the other hand, in
<発明の実施の形態3>
本発明の実施の形態3にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100に変更を加え、所定のブロックの調整を行う場合に量子化係数を0にする場合の最大の量子化係数の値である置換閾値に基づいて、置換位置を決定するものである。これにより、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を制限することができる。
<Third Embodiment of the Invention>
The image coding apparatus according to the third embodiment of the present invention changes the
図11は、本発明の実施の形態3にかかる画像符号化装置101の全体構成を示すブロック図である。画像符号化装置101は、本発明の実施の形態1にかかる画像符号化装置100に比べ、打ち切り制御器17が打ち切り制御器17aに、セレクタ11が係数打ち切り器11aに置き換わったものである。尚、本発明の実施の形態3にかかる画像符号化装置101のその他の構成は、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。尚、本発明の実施の形態3は、本発明の実施の形態2に変更を加えることでも実現可能である。
FIG. 11 is a block diagram showing the overall configuration of the
打ち切り制御器17aは、ブロック推定符号量25、MB推定符号量27及び目標符号量28に基づいて、置換位置29及び量子化係数を0にする場合の最大の量子化係数の値である置換閾値29aを算出し、係数打ち切り器11aへ出力する。
The
係数打ち切り器11aは、打ち切り制御器17aからの置換位置29及び置換閾値29aに基づいて、量子化器10から入力される所定のブロックにおける量子化係数21を0に置換するか否かを判定し、置換すると判定した場合に0を、また、置換しないと判定した場合に量子化係数21をそのまま、量子化係数22として出力する。すなわち、係数打ち切り器11aは、所定のブロックから入力される量子化係数の係数位置が置換位置29に含まれ、かつ、量子化係数21が置換閾値29a以下である場合に、量子化係数を0とする。
The
尚、打ち切り制御器17aは、必ずしも置換閾値29aを算出しなくてもよく、量子化器10から量子化係数21を入力し、置換閾値29aに基づいて置換位置29を算出してもよい。例えば、処理対象ブロックにおいて、置換閾値29a未満の量子化係数である係数位置についてのみ、所定のブロックの対応する係数位置について置換位置29として算出してもよい。その場合、係数打ち切り器11aは、置換位置29に基づいて当該所定のブロックにおける量子化係数の一部を0に置換するようにすればよい。
Note that the
尚、本発明の実施の形態3にかかる一つのマクロブロック内の画像符号化処理の動作は、図2の一部に変更を加えることで実現可能である。すなわち、図2のステップS101において、画像符号化装置101は、置換閾値を、所定の初期値に設定する。また、図2のステップS105において、係数打ち切り器11aは、係数打ち切り処理を行う。尚、係数打ち切り処理の詳細は、図13で後述する。
The operation of the image encoding process in one macroblock according to the third embodiment of the present invention can be realized by changing a part of FIG. That is, in step S101 in FIG. 2, the
また、図2のステップS111において、打ち切り制御器17aは、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置29及び置換閾値29aを算出する。
In step S111 of FIG. 2, the
また、打ち切り制御器17aは、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を0とするように置換位置及び置換閾値を決定する。また、打ち切り制御器17aは、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を0とするように置換位置及び置換閾値を決定する。または、打ち切り制御器17aは、累算値と目標符号量との差分が小さい場合、置換位置及び置換閾値を決定しない。また、打ち切り制御器17aは、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置及び置換閾値を適用する対象として決定する。
Further, the
図12は、本発明の実施の形態3にかかる係数打ち切り器11aの構成を示すブロック図である。係数打ち切り器11aは、セレクタ110、係数打ち切り判定器111及び係数閾値判定器112を備える。
FIG. 12 is a block diagram showing a configuration of a
係数打ち切り判定器111は、量子化係数21に対応する係数位置と置換位置29とを比較し、該当するか否かを係数閾値判定器112へ通知する。係数閾値判定器112は、係数打ち切り判定器111からの通知が該当する場合、量子化係数21が置換閾値29a以下であるか否かを判定し、結果をセレクタ110へ通知する。セレクタ110は、係数閾値判定器112からの結果に基づき、量子化係数21について置換を行う。すなわち、係数打ち切り器11aは、所定のブロックにおける量子化係数の一部を0に置換する。
The coefficient
図13は、本発明の実施の形態3にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、係数打ち切り判定器111は、処理対象の量子化係数21の係数位置の番号が置換位置以上であるか否かを判定する(S401)。ステップS401でYESの場合、係数閾値判定器112は、量子化係数21が置換閾値29a以下であるか否かを判定する(S402)。ステップS402でYESの場合、セレクタ110は、量子化係数21を0に置換して、量子化係数22を出力する(S403)。また、ステップS401又はS402のいずれかでNOの場合、セレクタ110は、量子化係数21をそのまま量子化係数22として出力する(S404)。
FIG. 13 is a flowchart showing the operation of coefficient censoring processing according to the third embodiment of the present invention. First, the coefficient
尚、打ち切り制御器17aが置換閾値に基づいて複数の置換位置を決定する場合、係数打ち切り器11aは、量子化係数21の係数位置が置換位置のいずれかに含まれる場合のみ、0に置換すればよい。
When the
図14は、本発明の実施の形態3にかかる係数打ち切り処理における前後の係数の例を示す図である。図14に示すように、4x4のzig−zag scanで、置換閾値である打ち切り閾値が5、かつ、置換位置である打ち切り開始位置が10の場合、係数位置が10、11、13、14及び15の量子化係数が0に置き換えられ、係数位置12については、量子化係数が6であるため置換されないこととなる。
FIG. 14 is a diagram illustrating an example of coefficients before and after the coefficient censoring process according to the third embodiment of the present invention. As shown in FIG. 14, in the case of a 4 × 4 zig-zag scan, the discontinuation threshold that is the replacement threshold is 5, and the discontinuation start position that is the replacement position is 10, the coefficient positions are 10, 11, 13, 14, and 15 , And the
上述した特許文献1乃至3の関連技術では、量子化係数の値の大きさにかかわらず、特定の係数位置の係数を0に置換してしまうので、重要な周波数成分がある場合でも打ち切られてしまい、画質に与える影響が大きい。
In the related arts of
しかしながら、本発明の実施の形態3にかかる画像符号化装置101では、量子化係数が予め指定した閾値未満の場合に量子化係数を0に置換する。また、量子化係数が置換閾値以上であれば、その値をそのまま残す。値の大きい量子化係数は、その周波数成分に重要な情報があることを示しているので、その値を残すことで、画質を保持できる。
However, the
このように、本発明の実施の形態3では、例えば、H.264のように、1ブロック内の全ての量子化結果がわからないと符号量の推定ができない場合でも、視覚的に重要な大きな値を持つ係数や、低周波成分を残すようにすることで、画質劣化の抑えつつ、規定に定められたマクロブロックあたりの最大符号量の制限を満足させる制御を行うことができる。 As described above, in the third embodiment of the present invention, for example, H.264. Even if the amount of code cannot be estimated without knowing all the quantization results in one block as in H.264, the image quality can be reduced by leaving a coefficient having a visually significant value and a low-frequency component. It is possible to perform control that satisfies the restriction on the maximum code amount per macroblock defined in the regulations while suppressing deterioration.
例えば、上述した特許文献2では、量子化係数の0への置き換えは、図18のVLC設定回路915からブロックエンド933の位置を、本来よりも早く出すことで、後続する非0係数を0にしている。そのため、係数の値の大きさについては考慮されていない。本発明では、図11の打ち切り制御器17aから置換閾値を算出して、係数打ち切り器11aへ送り、図12の係数打ち切り器11aにあるように、入力の量子化係数21に対して閾値判定を行い、その値が閾値より小さければ、その係数を0に置換すると判定する。
For example, in
<発明の実施の形態4>
本発明の実施の形態4にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100に変更を加え、処理対象ブロックの係数位置に対応する量子化係数毎の係数推定符号量に基づいて、当該処理対象ブロックの次に処理されるブロックにおける置換位置を決定するものである。これにより、ブロック推定符号量の累算値が目標符号量を超える前に、次に処理されるブロックにおける打ち切り制御を適用することができる。つまり、次に処理されるブロックにおいて、目標符号量を超えることを未然に防ぐことができる場合がある。そのため、より正確な打ち切り制御を行うことができ、また、打ち切り制御を安定させることができる。
<
The image coding apparatus according to the fourth embodiment of the present invention changes the
尚、本発明の実施の形態4にかかる画像符号化装置は、本発明の実施の形態1にかかる画像符号化装置100の符号量推定器14及び打ち切り制御器17に変更を加えたことを除き、図1と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態1との違いを中心に説明する。尚、本発明の実施の形態4は、本発明の実施の形態2又は3に変更を加えることでも実現可能である。
The image encoding apparatus according to the fourth embodiment of the present invention is different from the
尚、本発明の実施の形態4にかかる画像符号化装置は、処理対象ブロックの次に処理されるブロックにおける置換位置を決定することに限定されない。例えば、本発明の実施の形態4にかかる画像符号化装置は、少なくとも処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおいて、調整を行うか否かを決定すればよい。または、本発明の実施の形態4にかかる画像符号化装置は、処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおける置換位置を決定すればよい。 Note that the image coding apparatus according to the fourth embodiment of the present invention is not limited to determining a replacement position in a block to be processed next to the processing target block. For example, the image coding apparatus according to the fourth embodiment of the present invention determines whether or not to perform adjustment in a predetermined block based on at least the coefficient estimation code amount for each quantization coefficient of the processing target block. Good. Alternatively, the image coding apparatus according to the fourth embodiment of the present invention may determine the replacement position in a predetermined block based on the coefficient estimation code amount for each quantization coefficient of the processing target block.
図15は、本発明の実施の形態4にかかる符号量推定器14aの構成を示すブロック図である。符号量推定器14aは、図15の符号量推定器14における係数符号量推定器36とブロック符号量推定器37の間に、推定符号量累算器38が追加されたものである。
FIG. 15 is a block diagram showing a configuration of a
推定符号量累算器38は、係数符号量推定器36による係数推定符号量の算出ごとに、当該処理対象ブロックにおける係数推定符号量の累算値を処理対象の量子化係数の係数位置に対応付けて符号量分布情報である符号量分布46として出力し符号量分布情報記憶部(不図示)に格納する。すなわち、推定符号量累算器38は、係数符号量推定器36により算出された係数推定符号量と処理対象の量子化係数に対応する係数位置と対応付けて符号量分布46として符号量分布情報記憶部に記憶する。また、符号量分布情報記憶部は、ブロック毎の符号量分布46を記憶する。
The estimated
図16は、本発明の実施の形態4にかかるブロック内の符号量分布の例を示す図である。推定符号量161は、正スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。また、推定符号量162は、逆スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。
FIG. 16 is a diagram illustrating an example of a code amount distribution in a block according to the fourth embodiment of the present invention. The estimated
また、本発明の実施の形態4にかかる打ち切り制御器(不図示)は、処理対象ブロックの係数位置に対応する係数推定符号量を、次に処理されるブロックの係数位置に対応する係数推定符号量と仮定し、係数推定符号量の累算値が目標符号量を超える次に処理されるブロックにおける係数位置を特定して、置換位置を決定するものである。これにより、連続するブロックの推定符号量の傾向に応じて、より正確な符号量の予測を行うことができる。 Also, the abort controller (not shown) according to the fourth embodiment of the present invention uses the coefficient estimation code amount corresponding to the coefficient position of the block to be processed as the coefficient estimation code corresponding to the coefficient position of the block to be processed next. The replacement position is determined by specifying the coefficient position in the block to be processed next in which the accumulated value of the coefficient estimation code quantity exceeds the target code quantity. Thereby, more accurate code amount prediction can be performed according to the tendency of the estimated code amount of consecutive blocks.
さらに、本発明の実施の形態4にかかる打ち切り制御器は、上述した符号量分布情報記憶部により記憶された当該処理対象ブロックにおける符号量分布46に基づいて、次に処理されるブロックにおける置換位置を決定するとよい。これにより、複数のブロック、又は複数のマクロブロックにおける符号量分布46を総合的に用いてより正確な符号量の予測を行うことができる。また、逆スキャン順の場合は、置換位置の決定のためには、符号量の累算値の推移を反転して、正スキャン順相当に変換して利用するとよい。
Furthermore, the truncation controller according to the fourth embodiment of the present invention is based on the
図17は、本発明の実施の形態4にかかる打ち切り位置決定処理の例を示す図である。図17の場合、本発明の実施の形態4にかかる打ち切り制御器は、ブロックiにおける符号量分布46を符号量分布情報記憶部から取得し、符号量分布46をブロックi+1におけるブロック推定符号量として、当該マクロブロックにおける推定符号量に加算する。そして、ブロックi+1において、目標符号量を超える係数位置が存在する場合、当該係数位置を置換位置として決定する。つまり、本発明の実施の形態4では、直前の処理対象ブロックにおける符号量分布46により、次のブロックの推定符号量が目標符号量を超過するか否かの見込みを立てることができる。これにより、不要な打ち切り制御を減らし、目標符号量の超過を未然に防ぎ、適度な制御を行うことができる。
FIG. 17 is a diagram illustrating an example of the abort position determination process according to the fourth embodiment of the present invention. In the case of FIG. 17, the truncation controller according to the fourth embodiment of the present invention acquires the
<その他の発明の実施の形態>
ここで、本発明に適用可能なマクロブロックの構造について、以下に例示する。但し、これらに限定されるものではない。まず、4:2:0フォーマットの場合のマクロブロック構造について説明する。4:2:0フォーマットのマクロブロックの輝度は16x16画素である。また、色差は、CbとCrの2つであり、それぞれ8x8画素のサイズからなる。また、マクロブロックのタイプにより、内部のブロック分割パタンにはいくつか種類がある。
<Other embodiments of the invention>
Here, the structure of the macroblock applicable to the present invention will be exemplified below. However, it is not limited to these. First, the macroblock structure in the 4: 2: 0 format will be described. The luminance of the 4: 2: 0 format macroblock is 16 × 16 pixels. Further, there are two color differences, Cb and Cr, each having a size of 8 × 8 pixels. There are several types of internal block division patterns depending on the macroblock type.
図20は、Intra16x16の場合のブロック分割を説明する図である。輝度は、4x4サイズの16個のブロックに分割され、さらに、直流成分だけを分離して集めて4x4サイズのDCブロックを構成する。残った交流成分のブロックは、15個の係数で構成されることになる。色差も同様にそれぞれ4x4サイズの4個のブロックに分割され、さらに、直流成分だけを分離して集めて2x2サイズのDCブロックを構成する。 FIG. 20 is a diagram for explaining block division in the case of Intra16 × 16. The luminance is divided into 16 blocks of 4 × 4 size, and further, only DC components are separated and collected to form a 4 × 4 size DC block. The remaining AC component block is composed of 15 coefficients. Similarly, the color difference is divided into four blocks each having a 4 × 4 size, and further, only the DC component is separated and collected to form a 2 × 2 size DC block.
図26は、Intra16x16以外で4x4サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。この場合、輝度は、4x4サイズの16個のブロックに分割され、直流成分は分離しない。また、色差は、図20と同じである。 FIG. 26 is a diagram illustrating a configuration example of a macroblock in the case of performing orthogonal transform of 4 × 4 size other than Intra16 × 16. In this case, the luminance is divided into 16 blocks of 4 × 4 size, and the DC component is not separated. The color difference is the same as in FIG.
図27は、Intra16x16以外で8x8サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。輝度は、8x8サイズの4個のブロックに分割され、直流成分は分離しない。色差は、図20と同じである。 FIG. 27 is a diagram illustrating a configuration example of a macroblock in the case of performing 8 × 8 size orthogonal transform other than Intra16 × 16. The luminance is divided into 4 blocks of 8x8 size, and the DC component is not separated. The color difference is the same as in FIG.
図28は、MPEG−2の4:2:0フォーマットにおけるマクロブロック構造のブロック分割を説明する図である。輝度は、8x8サイズの4個のブロックに分割される。また、色差は8x8サイズのまま、1つのブロックを構成する。 FIG. 28 is a diagram for explaining block division of the macroblock structure in the MPEG-2 4: 2: 0 format. The luminance is divided into 4 blocks of 8x8 size. In addition, the color difference is 8 × 8 size and constitutes one block.
図29は、8x8サイズの場合におけるスキャン順の例を示す図である。図21の4x4サイズの場合と同様に、図29に示すようにスキャン順が定義されている。尚、H.264とMPEG−2のzig−zagスキャンは同じである。また、H.264のCAVLCの場合には、64係数のデータを4つの16係数の系列に分けて符号化処理をしているため、量子化処理自体は、1つの系列を1ブロックとみなし、4x4サイズの場合と同様に扱う。 FIG. 29 is a diagram illustrating an example of the scan order in the case of 8 × 8 size. As in the case of the 4 × 4 size in FIG. 21, the scan order is defined as shown in FIG. H. H.264 and MPEG-2 zig-zag scans are the same. H. In the case of H.264 CAVLC, encoding processing is performed by dividing 64 coefficient data into four 16 coefficient sequences, and therefore the quantization processing itself regards one sequence as one block, and the case of 4 × 4 size. Treat as well.
また、4:2:0以外の画像フォーマットの場合についても、色差ブロックの数が異なるだけで、本発明の方式を同様に適用することができる。例えば、monochromeの画像では色差ブロック(Cb、Cr)は存在しない。 Also, in the case of an image format other than 4: 2: 0, the system of the present invention can be applied in the same manner, except that the number of color difference blocks is different. For example, there are no color difference blocks (Cb, Cr) in a monochrome image.
その他のフォーマットの色差ブロックの構造を図30に示す。尚、以下では、輝度ブロックについては違いが無いため、図示及び説明を省略する。また、2つの色差ブロックの内、1つだけを図示及び説明する。また、4:2:2フォーマット及び4:4:4フォーマットでは、それぞれ色差のマクロブロックのサイズが大きくなり、ブロック数が増加する。図30は、フォーマットの違いによる色差ブロックの構成例を示す図である。 The structure of the color difference block in other formats is shown in FIG. In the following, since there is no difference with respect to the luminance block, illustration and description are omitted. Also, only one of the two color difference blocks is shown and described. In the 4: 2: 2 format and the 4: 4: 4 format, the size of the color difference macroblock increases, and the number of blocks increases. FIG. 30 is a diagram illustrating a configuration example of a color difference block depending on a format.
また、MPEG−2の場合の4:2:0フォーマット以外のマクロブロック構造を、図31、32に示す。図31は、MPEG−2の4:2:2フォーマットにおけるマクロブロックの構成例を示す図である。図32は、MPEG−2の4:4:4フォーマットにおけるマクロブロックの構成例を示す図である。 Also, macroblock structures other than the 4: 2: 0 format in the case of MPEG-2 are shown in FIGS. FIG. 31 is a diagram illustrating a configuration example of a macroblock in the MPEG-2 4: 2: 2 format. FIG. 32 is a diagram illustrating a configuration example of a macroblock in the MPEG-2 4: 4: 4 format.
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.
100 画像符号化装置
101 画像符号化装置
10 量子化器
11 セレクタ
11a 係数打ち切り器
110 セレクタ
111 係数打ち切り判定器
112 係数閾値判定器
12 逆量子化器
13 可変長符号化器
14 符号量推定器
14a 符号量推定器
15 MBヘッダ符号量推定器
16 目標符号量計算器
17 打ち切り制御器
17a 打ち切り制御器
20 変換係数
21 量子化係数
22 量子化係数
23 逆量子化係数
24 隣接ブロック情報
25 ブロック推定符号量
26 MB情報
27 MB推定符号量
28 目標符号量
29 置換位置
29a 置換閾値
31 0ランカウンタ
32 0係数カウンタ
33 1係数カウンタ
34 非0係数カウンタ
35 非0係数最終位置
36 係数符号量推定器
37 ブロック符号量推定器
38 推定符号量累算器
41 runbefore
42 TotalZeros
43 TrailingOnes
44 TotalCoeff
45 CoeffNum
46 符号量分布
81 目標符号量
82 目標符号量
83 目標符号量
161 推定符号量
162 推定符号量
901 画像符号化装置
911 符号化モード選択回路
912 DCT回路
913 量子化回路
914 スキャン順並べ替え回路
915 VLC設定回路
916 VLC回路
917 逆量子化回路
918 逆DCT回路
919 符号量算出回路
920 符号量判定回路
921 制御データ位置情報記憶回路
922 重複領域判定回路
931 予測データ位置情報
932 符号化出力
933 ブロックエンド
934 制御データ位置情報
902 符号量制御装置
941 量子化回路
942 丸め回路
943 レート制御回路
944 符号量テーブル
945 可変長符号化回路
946 逆量子化回路
951 変換係数
952 目標符号量
953 逆量子化変換係数
α 傾き
β 傾き
DESCRIPTION OF
42 TotalZeros
43 TrailingOnes
44 TotalCoeff
45 CoeffNum
46
Claims (24)
前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、
前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する制御手段と、
前記制御手段により調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換手段と、を備える画像符号化装置。 Coefficient position that divides a macroblock that is a predetermined area included in image data into multiple blocks, processes each block, outputs quantized coefficients obtained by quantizing orthogonal transform coefficients, and identifies the coefficients in the block An image encoding device that performs variable length encoding based on a quantization coefficient in
Code amount for calculating a block estimated code amount that is an estimated value of a code amount related to the processing target block based on quantization coefficients input in a predetermined order from the processing target block that is a processing target block in the macroblock An estimation means;
Based on a block estimated code amount related to the processing target block in the macroblock and a target code amount that is a target value of the code amount for the processing target block, any quantum in the predetermined block in the macroblock is determined. Control means for determining whether or not to perform adjustment to replace the quantization coefficient with 0;
An image coding apparatus comprising: coefficient replacement means for replacing any quantization coefficient in the predetermined block determined to be adjusted by the control means with 0.
前記係数置換手段は、前記制御手段により決定された置換位置における量子化係数を0に置換することを特徴とする請求項1に記載の画像符号化装置。 When the control unit determines to perform the adjustment in the predetermined block, the control unit further determines a replacement position that is a coefficient position for replacing the quantization coefficient in the predetermined block with 0,
The image coding apparatus according to claim 1, wherein the coefficient replacement unit replaces the quantization coefficient at the replacement position determined by the control unit with 0.
前記制御手段は、前記符号量推定手段により算出された累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する目標符号量を累算した累算値との差分に応じて、前記調整を行うか否かを決定することを特徴とする請求項1乃至3のいずれか1項に記載の画像符号化装置。 The code amount estimation means calculates an accumulated value by accumulating a block estimation code amount calculated for each block processed before the processing target block in the macroblock,
The control means is responsive to a difference between the accumulated value calculated by the code amount estimating means and an accumulated value obtained by accumulating a target code amount for blocks processed before the processing target block in the macroblock. 4. The image encoding device according to claim 1, wherein whether or not to perform the adjustment is determined.
前記制御手段は、前記目標符号量算出手段により算出された目標符号量を用いて、前記調整を行うか否かを決定することを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。 A target code amount calculating means for calculating the target code amount according to the characteristics of the processing target block;
5. The control unit according to claim 1, wherein the control unit determines whether to perform the adjustment using the target code amount calculated by the target code amount calculation unit. Image encoding device.
前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段と、
前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定手段と、
当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定手段と、
を備えることを特徴とする請求項1乃至6のいずれか1項に記載の画像符号化装置。 The code amount estimation means includes:
Generation state update means for updating generation state information indicating a generation state of the input quantization coefficient;
Coefficient code amount estimating means for calculating a coefficient estimated code amount that is an estimated value of a code amount corresponding to the quantized coefficient based on the occurrence state information in the quantized coefficient;
After all the quantization coefficients in the processing target block are input, an overall estimated code amount that is an estimated value of the code amount for the entire block of the processing target block is calculated from the occurrence state information, and the total estimated code amount is calculated. A block code amount estimating means for calculating the block estimated code amount by adding an accumulated value of the coefficient estimated code amount;
The image coding apparatus according to claim 1, further comprising:
前記制御手段は、前記符号量分布情報記憶手段により記憶された当該処理対象ブロックにおける前記符号量分布情報に基づいて、前記所定のブロックにおいて、前記調整を行うか否かを決定する請求項1に記載の画像符号化装置。 Code amount distribution information for storing a coefficient estimated code amount that is an estimated value of a code amount related to a quantized coefficient corresponding to the coefficient position of the processing target block and code amount distribution information associated with the coefficient position corresponding to the quantized coefficient A storage means,
2. The control unit according to claim 1, wherein the control unit determines whether or not to perform the adjustment in the predetermined block based on the code amount distribution information in the processing target block stored by the code amount distribution information storage unit. The image encoding device described.
ブロック符号量推定手段は、前記発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出することを特徴とする請求項7に記載の画像符号化装置。 A generation state information storage unit for storing the input quantization coefficient and the generation state information updated by the generation state update unit in association with each other;
The block code amount estimation unit is configured to perform the overall estimation based on the generation state information in an adjacent block adjacent to the processing target block among blocks processed before the processing target block stored by the generation state information storage unit. The image coding apparatus according to claim 7, wherein a code amount is calculated.
前記制御手段は、前記マクロヘッダ推定符号量に基づいて、前記打ち切り位置を決定することを特徴とする請求項1乃至12のいずれか1項に記載の画像符号化装置。 Macro header estimated code amount calculating means for calculating a macro header estimated code amount that is an estimated value of the code amount in the header of the macroblock,
The image encoding device according to any one of claims 1 to 12, wherein the control unit determines the truncation position based on the macro header estimated code amount.
前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、
前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、
前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を0に置換する調整を行うか否かを決定する決定ステップと、
前記決定ステップにより調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を0に置換する係数置換ステップと、を備える画像符号化方法。 A macroblock, which is a predetermined area included in image data, is divided into a plurality of blocks and processed for each block, and variable length coding is performed based on a quantized coefficient corresponding to a coefficient position for specifying a coefficient in the block. An image encoding method comprising:
Inputting quantization coefficients read out in a predetermined order from a processing target block that is a processing target block in the macroblock;
A code amount estimating step of calculating a block estimated code amount that is an estimated value of a code amount related to the processing target block based on the read quantization coefficient;
Based on a block estimated code amount related to the processing target block in the macroblock and a target code amount that is a target value of the code amount for the processing target block, any quantum in the predetermined block in the macroblock is determined. A decision step for deciding whether or not to make an adjustment to replace the quantization factor with 0;
An image coding method comprising: a coefficient replacement step of replacing any quantization coefficient in the predetermined block determined to be adjusted by the determination step with 0.
前記係数置換ステップは、前記決定ステップにより決定された置換位置における量子化係数を0に置換することを特徴とする請求項15に記載の画像符号化方法。 The determining step further determines a replacement position that is a coefficient position for replacing the quantization coefficient in the predetermined block with 0 when it is determined that the adjustment is performed in the predetermined block;
The image coding method according to claim 15, wherein the coefficient replacement step replaces the quantized coefficient at the replacement position determined by the determination step with 0.
前記決定ステップは、前記符号量推定ステップにより算出された累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに応じた目標符号量を累算した累算値との差分に応じて、前記調整を行うか否かを決定することを特徴とする請求項15乃至17のいずれか1項に記載の画像符号化方法。 The code amount estimation step calculates an accumulated value by accumulating the block estimated code amount calculated for each block processed before the processing target block in the macroblock,
The determining step includes a difference between the accumulated value calculated by the code amount estimating step and an accumulated value obtained by accumulating a target code amount corresponding to a block processed before the processing target block in the macroblock. The image coding method according to any one of claims 15 to 17, wherein whether or not to perform the adjustment is determined according to the method.
前記決定ステップは、前記目標符号量算出ステップにより算出された目標符号量を用いて、前記調整を行うか否かを決定することを特徴とする請求項15乃至18のいずれか1項に記載の画像符号化方法。 A target code amount calculating step of calculating the target code amount according to the characteristics of the processing target block;
19. The determination according to claim 15, wherein the determining step determines whether or not to perform the adjustment using the target code amount calculated by the target code amount calculating step. Image coding method.
前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新ステップと、
前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定ステップと、
当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定ステップと、
を備えることを特徴とする請求項15乃至20のいずれか1項に記載の画像符号化方法。 The code amount estimation step includes:
A generation state update step of updating generation state information indicating a generation state of the input quantization coefficient;
A coefficient code amount estimating step of calculating a coefficient estimated code amount that is an estimated value of a code amount corresponding to the quantized coefficient based on the occurrence state information in the quantized coefficient;
After all the quantization coefficients in the processing target block are input, an overall estimated code amount that is an estimated value of the code amount for the entire block of the processing target block is calculated from the occurrence state information, and the total estimated code amount is calculated. A block code amount estimation step of calculating the block estimated code amount by adding an accumulated value of the coefficient estimated code amount;
21. The image encoding method according to claim 15, further comprising:
前記決定ステップは、前記係数推定符号量に基づいて、前記次に処理されるブロックにおける前記置換位置を決定することを特徴とする請求項17に記載の画像符号化方法。 The code amount estimation step calculates a coefficient estimation code amount that is an estimated value of a code amount related to a quantization coefficient corresponding to a coefficient position of the processing target block,
The image coding method according to claim 17, wherein the determining step determines the replacement position in the block to be processed next based on the coefficient estimation code amount.
前記決定ステップは、前記記憶部に記憶された当該処理対象ブロックにおける前記符号量分布情報に基づいて、前記次に処理されるブロックにおける前記置換位置を決定することを特徴とする請求項22又は23に記載の画像符号化方法。 A code amount distribution information storing step of storing in the storage unit code amount distribution information associated with the coefficient estimated code amount calculated by the coefficient code amount estimating step and the coefficient position corresponding to the quantized coefficient;
The determination step determines the replacement position in the block to be processed next based on the code amount distribution information in the processing target block stored in the storage unit. The image encoding method described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008253631A JP5059728B2 (en) | 2008-09-30 | 2008-09-30 | Image coding apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008253631A JP5059728B2 (en) | 2008-09-30 | 2008-09-30 | Image coding apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010087770A true JP2010087770A (en) | 2010-04-15 |
JP5059728B2 JP5059728B2 (en) | 2012-10-31 |
Family
ID=42251291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008253631A Expired - Fee Related JP5059728B2 (en) | 2008-09-30 | 2008-09-30 | Image coding apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5059728B2 (en) |
Cited By (6)
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 |
JP2013031007A (en) * | 2011-07-28 | 2013-02-07 | Fujitsu Ltd | Moving image encoding apparatus, moving image encoding method, and moving image encoding program |
JP2015149762A (en) * | 2015-04-13 | 2015-08-20 | 富士通株式会社 | Moving image encoder, moving image encoding method and moving image encoding program |
JP2017200189A (en) * | 2017-05-22 | 2017-11-02 | 株式会社東芝 | Image encoding device and method of the same |
WO2018079444A1 (en) * | 2016-10-24 | 2018-05-03 | 日本電気株式会社 | Coding device, coding method, and program recording medium |
WO2020183846A1 (en) * | 2019-03-08 | 2020-09-17 | ソニー株式会社 | Information processing device, information processing method and program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102352629B (en) * | 2011-07-25 | 2014-03-12 | 上海建工集团股份有限公司 | Large-tonnage double-limb steel concrete combined environment-friendly supporting structure |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06153172A (en) * | 1992-10-30 | 1994-05-31 | Hitachi Ltd | Code quantity control system |
JPH08205153A (en) * | 1995-01-26 | 1996-08-09 | Fujitsu Ltd | Dynamic image encoding device |
JPH0923427A (en) * | 1995-07-06 | 1997-01-21 | Sony Corp | Method and device for picture compression |
JPH10243399A (en) * | 1997-02-25 | 1998-09-11 | Sharp Corp | Code amount controller and moving image encoder provided with the same |
JPH11164302A (en) * | 1997-11-26 | 1999-06-18 | Matsushita Electric Ind Co Ltd | Image compression method |
JPH11252572A (en) * | 1998-03-03 | 1999-09-17 | Nippon Hoso Kyokai <Nhk> | Code amount distribution device |
JPH11355774A (en) * | 1998-06-03 | 1999-12-24 | Matsushita Electric Ind Co Ltd | Image encoding device and method |
JP2007019878A (en) * | 2005-07-07 | 2007-01-25 | Matsushita Electric Ind Co Ltd | Image coding apparatus and image coding method |
WO2008111511A1 (en) * | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | Code quantity estimating method and device, their program, and recording medium |
-
2008
- 2008-09-30 JP JP2008253631A patent/JP5059728B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06153172A (en) * | 1992-10-30 | 1994-05-31 | Hitachi Ltd | Code quantity control system |
JPH08205153A (en) * | 1995-01-26 | 1996-08-09 | Fujitsu Ltd | Dynamic image encoding device |
JPH0923427A (en) * | 1995-07-06 | 1997-01-21 | Sony Corp | Method and device for picture compression |
JPH10243399A (en) * | 1997-02-25 | 1998-09-11 | Sharp Corp | Code amount controller and moving image encoder provided with the same |
JPH11164302A (en) * | 1997-11-26 | 1999-06-18 | Matsushita Electric Ind Co Ltd | Image compression method |
JPH11252572A (en) * | 1998-03-03 | 1999-09-17 | Nippon Hoso Kyokai <Nhk> | Code amount distribution device |
JPH11355774A (en) * | 1998-06-03 | 1999-12-24 | Matsushita Electric Ind Co Ltd | Image encoding device and method |
JP2007019878A (en) * | 2005-07-07 | 2007-01-25 | Matsushita Electric Ind Co Ltd | Image coding apparatus and image coding method |
WO2008111511A1 (en) * | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | Code quantity estimating method and device, their program, and recording medium |
Cited By (9)
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 |
JP2013031007A (en) * | 2011-07-28 | 2013-02-07 | Fujitsu Ltd | Moving image encoding apparatus, moving image encoding method, and moving image encoding program |
KR101345072B1 (en) | 2011-07-28 | 2013-12-26 | 후지쯔 가부시끼가이샤 | Motion picture coding apparatus, motion picture coding method and computer-readable recording medium storing motion picture coding program |
JP2015149762A (en) * | 2015-04-13 | 2015-08-20 | 富士通株式会社 | Moving image encoder, moving image encoding method and moving image encoding program |
WO2018079444A1 (en) * | 2016-10-24 | 2018-05-03 | 日本電気株式会社 | Coding device, coding method, and program recording medium |
JP2017200189A (en) * | 2017-05-22 | 2017-11-02 | 株式会社東芝 | Image encoding device and method of the same |
WO2020183846A1 (en) * | 2019-03-08 | 2020-09-17 | ソニー株式会社 | Information processing device, information processing method and program |
US20220166980A1 (en) * | 2019-03-08 | 2022-05-26 | Sony Group Corporation | Information processing device, information processing method, and program |
US11924429B2 (en) | 2019-03-08 | 2024-03-05 | Sony Group Corporation | Information processing device and information processing method for determination of optimum quantization coefficients |
Also Published As
Publication number | Publication date |
---|---|
JP5059728B2 (en) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10750177B2 (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
JP6402234B2 (en) | Video decoding method and apparatus and video encoding method and apparatus | |
EP2984829B1 (en) | Encoding and decoding of significant coefficients in dependence upon a parameter of the significant coefficients | |
JP2010087771A (en) | Image-coding device and method | |
US7839312B2 (en) | Coder | |
JP5472105B2 (en) | Image processing apparatus and image processing method | |
JP5059728B2 (en) | Image coding apparatus and method | |
US8396311B2 (en) | Image encoding apparatus, image encoding method, and image encoding program | |
US9131249B2 (en) | Apparatus for encoding moving images to minimize an amount of generated code | |
US8483494B2 (en) | Image encoding device and image encoding method | |
KR101960470B1 (en) | A rate control method of video coding processes supporting off-line cabac based on a bit estimator and an appratus using it | |
KR20110096118A (en) | Image encoding apparatus, image encoding method, and image encoding program | |
JP4532980B2 (en) | Moving picture coding apparatus and method, computer program, and computer-readable storage medium | |
JP7450078B1 (en) | Video encoding device and video encoding method | |
EP1768416A1 (en) | Frequency selective video compression and quantization | |
Heo et al. | VLC table prediction for CAVLC in H. 264/AVC using correlation, statistics, and structural characteristics of mode information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120709 |
|
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: 20120731 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |