(57)【要約】【課題】画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を制限すること。【解決手段】本発明にかかる画像符号化装置は、マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定器１４、マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する制御部１７と、調整すると決定された所定のブロックにおけるいずれかの量子化係数を０に置換する係数置換部１１と、を備える。【選択図】図１
2010087770.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化する画像符号化装置であって、
前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、
前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する制御手段と、
前記制御手段により調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を０に置換する係数置換手段と、を備える画像符号化装置。
【請求項２】
前記制御手段は、前記所定のブロックにおいて、前記調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を０に置換する係数位置である置換位置をさらに決定し、
前記係数置換手段は、前記制御手段により決定された置換位置における量子化係数を０に置換することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記所定のブロックは、前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックであることを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記符号量推定手段は、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロック毎に算出されたブロック推定符号量を累算して累算値を算出し、
前記制御手段は、前記符号量推定手段により算出された累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する目標符号量を累算した累算値との差分に応じて、前記調整を行うか否かを決定することを特徴とする請求項１乃至３のいずれか１項に記載の画像符号化装置。
【請求項５】
当該処理対象ブロックの特性に応じて、前記目標符号量を算出する目標符号量算出手段をさらに備え、
前記制御手段は、前記目標符号量算出手段により算出された目標符号量を用いて、前記調整を行うか否かを決定することを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
前記目標符号量算出手段は、ピクチャタイプ、マクロブロックタイプ、ＤＣ（Direct Current）ブロック及びＡＣ（Alternating Current）ブロック、並びに、輝度ブロック及び色差ブロックのいずれかに応じて、前記目標符号量を算出することを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
前記符号量推定手段は、
前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段と、
前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定手段と、
当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定手段と、
を備えることを特徴とする請求項１乃至６のいずれか１項に記載の画像符号化装置。
【請求項８】
前記処理対象ブロックの係数位置に対応する量子化係数に関する符号量の推定値である係数推定符号量と当該量子化係数に対応する係数位置と対応付けた符号量分布情報を記憶する符号量分布情報記憶手段をさらに備え、
前記制御手段は、前記符号量分布情報記憶手段により記憶された当該処理対象ブロックにおける前記符号量分布情報に基づいて、前記所定のブロックにおいて、前記調整を行うか否かを決定する請求項１に記載の画像符号化装置。
【請求項９】
前記制御手段は、前記符号量分布情報に基づいて、前記所定のブロックにおける量子化係数を０に置換する係数位置である置換位置を決定することを特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
前記制御手段は、前記符号量分布情報に基づいて、前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックにおける前記置換位置を決定することを特徴とする請求項９に記載の画像符号化装置。
【請求項１１】
前記制御手段は、前記処理対象ブロックの係数位置に対応する前記係数推定符号量を、前記次に処理されるブロックの係数位置に対応する係数推定符号量と仮定し、前記次に処理されるブロックにおいて、前記係数推定符号量の累算値が前記目標符号量を超える係数位置を特定して、前記置換位置を決定することを特徴とする請求項１０に記載の画像符号化装置。
【請求項１２】
前記入力される量子化係数と、前記発生状態更新手段により更新された発生状態情報とを対応付けて記憶する発生状態情報記憶手段をさらに備え、
ブロック符号量推定手段は、前記発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出することを特徴とする請求項７に記載の画像符号化装置。
【請求項１３】
前記マクロブロックのヘッダにおける符号量の推定値であるマクロヘッダ推定符号量を算出するマクロヘッダ推定符号量算出手段をさらに備え、
前記制御手段は、前記マクロヘッダ推定符号量に基づいて、前記打ち切り位置を決定することを特徴とする請求項１乃至１２のいずれか１項に記載の画像符号化装置。
【請求項１４】
前記発生状態情報は、０ランカウンタ、０係数カウンタ、１係数カウンタ及び非０係数カウンタ又は０ランカウンタ及び非０係数最終座標位置であることを特徴とする請求項７に記載の画像符号化装置。
【請求項１５】
画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、当該ブロック内の係数を特定する係数位置に対応する量子化係数に基づいて可変長符号化する画像符号化方法であって、
前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、
前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、
前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する決定ステップと、
前記決定ステップにより調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を０に置換する係数置換ステップと、を備える画像符号化方法。
【請求項１６】
前記決定ステップは、前記所定のブロックにおいて、前記調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を０に置換する係数位置である置換位置をさらに決定し、
前記係数置換ステップは、前記決定ステップにより決定された置換位置における量子化係数を０に置換することを特徴とする請求項１５に記載の画像符号化方法。
【請求項１７】
前記所定のブロックは、前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックであることを特徴とする請求項１４又は１５に記載の画像符号化方法。
【請求項１８】
前記符号量推定ステップは、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロック毎に算出されたブロック推定符号量を累算して累算値を算出し、
前記決定ステップは、前記符号量推定ステップにより算出された累算値と、前記マクロブロック内の当該処理対象ブロック以前に処理されたブロックに応じた目標符号量を累算した累算値との差分に応じて、前記調整を行うか否かを決定することを特徴とする請求項１５乃至１７のいずれか１項に記載の画像符号化方法。
【請求項１９】
当該処理対象ブロックの特性に応じて、前記目標符号量を算出する目標符号量算出ステップをさらに備え、
前記決定ステップは、前記目標符号量算出ステップにより算出された目標符号量を用いて、前記調整を行うか否かを決定することを特徴とする請求項１５乃至１８のいずれか１項に記載の画像符号化方法。
【請求項２０】
前記目標符号量算出ステップは、ピクチャタイプ、マクロブロックタイプ、ＤＣブロック及びＢＣブロック、並びに、輝度ブロック及び色差ブロックのいずれかに応じて、前記目標符号量を算出することを特徴とする請求項１９に記載の画像符号化方法。
【請求項２１】
前記符号量推定ステップは、
前記入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新ステップと、
前記量子化係数における発生状態情報に基づいて、前記量子化係数に対応する符号量の推定値である係数推定符号量を算出する係数符号量推定ステップと、
当該処理対象ブロックにおける全ての量子化係数が入力された後に、前記発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に前記係数推定符号量の累算値を加算して前記ブロック推定符号量を算出するブロック符号量推定ステップと、
を備えることを特徴とする請求項１５乃至２０のいずれか１項に記載の画像符号化方法。
【請求項２２】
前記符号量推定ステップは、前記処理対象ブロックの係数位置に対応する量子化係数に関する符号量の推定値である係数推定符号量を算出し、
前記決定ステップは、前記係数推定符号量に基づいて、前記次に処理されるブロックにおける前記置換位置を決定することを特徴とする請求項１７に記載の画像符号化方法。
【請求項２３】
前記決定ステップは、前記処理対象ブロックの係数位置に対応する前記係数推定符号量を、前記次に処理されるブロックの係数位置に対応する係数推定符号量と仮定し、前記係数推定符号量の累算値が前記目標符号量を超える前記次に処理されるブロックにおける係数位置を特定して、前記置換位置を決定することを特徴とする請求項２２に記載の画像符号化方法。
【請求項２４】
前記係数符号量推定ステップにより算出された係数推定符号量と当該量子化係数に対応する係数位置と対応付けた符号量分布情報を記憶部に記憶する符号量分布情報記憶ステップをさらに備え、
前記決定ステップは、前記記憶部に記憶された当該処理対象ブロックにおける前記符号量分布情報に基づいて、前記次に処理されるブロックにおける前記置換位置を決定することを特徴とする請求項２２又は２３に記載の画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及び方法に関し、特に、ビデオエンコーダ等の符号量制御を行う画像符号化装置及び方法に関する。
【背景技術】
【０００２】
動画像データを少ないデータ量で伝送するための動画圧縮規格であるＭＰＥＧ（Moving Picture Experts Group）−２（ＩＳＯ／ＩＥＣ  １３８１８−２）やＨ．２６４（ＭＰＥＧ−４  ＡＶＣ（Advanced Video Coding））では、マクロブロック当たりの符号量の上限が規格で決められている。また、ＭＰＥＧ−２では、上限を超えても良いマクロブロックの個数が規定されている。
【０００３】
ここで、マクロブロックとは、動画像データの内１枚の画面データであるピクチャを定められた大きさに分割されたものである。Ｈ．２６４の符号化方式における、マクログロックの構成を表した図を図２０に示す。
【０００４】
図２０は、Ｈ．２６４のＩｎｔｒａ１６ｘ１６ブロックの例であり、画面を輝度１６ｘ１６、色差８ｘ８画素サイズに分割したマクロブロックを、４ｘ４画素サイズのブロックに分けて直交変換を行い、さらに、それぞれのブロックのＤＣ（Direct Current）成分を集めたブロックから成り、全部で２７ブロック構成されている。
【０００５】
また、図２１は、４ｘ４、色差ＤＣ２ｘ２であるマクロブロック内の１ブロックにおけるスキャン順の例を示す図である。ブロック内の各係数位置は、スキャン順である番号で示され、番号の小さいものから大きいものへの順序は、直交変換を施したデータの周波数帯域において、低周波成分側から高周波成分側への順序に対応する。
【０００６】
近年、地上波デジタル放送の普及やデジタルビデオレコーダの普及に伴い、ＭＰＥＧ−２及びＨ．２６４といった符号化方式に対応した画像符号化装置が必要とされている。関連技術として下記の特許文献１乃至３がある。
【０００７】
特許文献１には、量子化係数を調整する係数調整回路による発生符号量の制限方法が開示されている。特許文献１にかかる発生符号量の制限方法は、可変長符号化（ＶＬＣ：Variable Length Coding）回路の前段に係数調整回路を配置し、ＶＬＣ回路の後段の出力バッファのデータ量に応じて量子化係数データを０に置換するものである。特許文献１では、出力バッファの残容量に応じて量子化係数のＡＣ（Alternating Current）成分を０とする係数の個数を制御する。この際、逆量子化への入力は、０に置換されないデータであり、エンコーダとデコーダとのミスマッチが生じるため、デコード画像に劣化を生じさせてしまう。
【０００８】
そこで、特許文献２には、特許文献１に改良を加え、同一のスライスに含まれ複数のマクロブロックに分割される画像データから符号化されたデータを生成する画像符号化装置及び方法が開示されている。図１８は、特許文献２にかかる画像符号化装置の一部の構成を示すブロック図である。以下では、図１８の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
【０００９】
図１８に示す画像符号化装置９０１は、ＶＬＣ回路９１６により画像データに基づくデータをブロックごとに所定の順序で可変長符号化する。可変長符号化されたデータの量は、符号量算出回路９１９によりマクロブロックごとに算出され、符号量判定回路９２０により所定の値を超えているか否かが判定される。可変長符号化されたデータの量が所定の値を超える際には、ＶＬＣ設定回路９１５により、後続する同一のスライスに含まれるマクロブロックに対してＶＬＣ回路９１６で可変長符号化されるデータの量が制限される。
【００１０】
また、特許文献３には、ブロック毎の符号量を目標値以下に制御する符号量制御装置が開示されている。図１９は、特許文献３にかかる動画像符号化装置の一部の構成を示すブロック図である。以下では、図１９の内、本発明に関係する部分を中心に説明し、本発明に関係しない部分についての説明は省略する。
【００１１】
図１９に示す符号量制御装置９０２は、量子化回路９４１において変換係数９５１を入力し、量子化結果を出力する。そして、丸め回路９４２は、出力された量子化結果から０ランと非０係数レベルから符号長テーブルを参照して符号長を求め、当該符号長を積算して、レート制御回路９４３から入力される目標符号量９５２を超える場合には、量子化値を切り捨てるものである。
【特許文献１】特開平９−２３４２７号公報
【特許文献２】特開平１１−３５５７７４号公報
【特許文献３】特開平１０−２４３３９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献２及び３では、符号化方式によっては、正確に量子化係数の打ち切りを行うことができない、あるいは画質劣化への影響が大きいという問題点がある。以下では、Ｈ．２６４やＭＰＥＧ−２といったマクロブロック当たりの符号量の上限が決められている符号化方式における課題を明らかにする。
【００１３】
まず、次世代符号化方式であるＨ．２６４の可変長符号化方法には、ＣＡＶＬＣ（Context-based Adaptive VLC）とＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）の２つの方式がある。ここで、図２２は、１ブロックの量子化係数の例である。図２３は、Ｈ．２６４のＣＡＶＬＣにおける可変長符号化の例を示す図である。図２３は、図２２の例におけるｚｉｇ−ｚａｇ  ｓｃａｎの場合を示す。尚、図２２は、株式会社インプレス発行の「Ｈ．２６４／ＡＶＣ教科書」におけるｐ．１４６の図６−４の一部を引用したものである。
【００１４】
ＣＡＶＬＣでは、非ゼロ係数の数（TotalCoeff）、最後に連続する絶対値１の係数の個数（TrailingOnes）、最後に連続する絶対値1の係数の符号（Trailing_ones_sign_flag）、 係数の値（level）、最後の非ゼロ係数以前の０係数の個数（TotalZeros）、及び係数値の前の０の連続個数（run_before）を符号化する。係数の並び順は逆スキャン順になっている。TotalCoeff、TotalZeroなどは、ブロック内の全ての係数の量子化が終了しないと確定しない。また、これらの情報が確定しないと、符号量が正確に算出できない情報もある。さらに、符号化テーブルは、隣接ブロックの係数の個数などの情報を利用するため、ブロック内の情報だけでは正確な符号量を算出できない。尚、図２３では、TotalCoeff、TrainlingOnes、TotalZerosの符号化については、図示を省略している。
【００１５】
また、図２４は、Ｈ．２６４のＣＡＢＡＣにおける可変長符号化の例を示す図である。図２４は、図２２の例におけるｚｉｇ−ｚａｇ  ｓｃａｎの場合を示す。ＣＡＢＡＣでは、非ゼロ係数か否かのフラグ（significant_coeff_flag）、最後の非ゼロ係数か否かのフラグ（last_significant_coeff_flag）、非ゼロ係数の絶対値（coeff_abs_level）、非ゼロ係数の符号（coeff_sign_flag）を符号化する。なお、ＣＡＢＡＣでは、この符号をさらに算術符号化する。
【００１６】
また、図２５は、ＭＰＥＧ−２における可変長符号化の例を示す図である。尚、ＭＰＥＧ−２は、本来、８ｘ８ブロックサイズであるが、Ｈ．２６４との比較のために便宜的に４×４ブロックサイズのまま記載する。ＭＰＥＧ−２では、非ゼロ係数の値（level）、非ゼロ係数の前の０の連続個数（run）、ブロックの最後を示すコード（EOB）、を符号化する。
【００１７】
ここで、特許文献２は、マクロブロック単位にＶＬＣ（可変長符号化）を行った後に次のマクロブロックについて制御を行うものであり、同一マクロブロック内のブロックにフィードバックを反映することができない。そのため、マクロブロック当たりの符号量の上限を超えても良いマクロブロックの個数を制御することはできるが、規定されているマクロブロック当たりの符号量の上限を守ることができない。
【００１８】
特に、特許文献２では、実際のＶＬＣ結果に基づいて、発生符号量を計算し、マクロブロックの発生符号量が規格を超えたら、それ以降のマクロブロックで符号量が越えないように、ＶＬＣの後で係数を打ち切っている。打ち切りはＶＬＣのスキャンの途中で、ＶＬＣ設定回路９１５がＶＬＣ回路９１６へブロックエンド９３３を出力することで実現している。そのため、ブロック内の画素データの読み込み順番が、高周波成分側から低周波成分側であるような、いわゆる、逆スキャン順の場合では、視覚的に重要な低周波成分が切り捨てられる。そのため、画質への影響が非常に大きく、劣化が目立つ場合がある。
【００１９】
また、特許文献３では、０ランと非０係数レベルのみを用いて符号量を推定しているため、ブロック全体の量子化が終わらないと符号化できない情報については、符号量推定ができない。また、ブロック内の量子化係数に対して高周波からスキャンが行われる場合、マクロブロック内の視覚的に重要な成分である低周波の量子化係数から削除されてしまうため、画質劣化への影響が大きい。また、係数毎の打ち切り判定により係数の切り捨てを行うと、視覚的に重要な低域成分を打ち切ることがある。
【００２０】
そのため、ＭＰＥＧ−１／ＭＰＥＧ−２以外の符号化方式では、符号量の計算が正確にできない場合がある。そのため、所望の符号量制御ができない場合がある。あるいは不適切な打ち切りにより、画質が劣化する場合がある。
【００２１】
打ち切り制御については、特許文献２では、ブロック間の符号量配分を考慮せずに、発生符号量が目標を超えた時点で打ち切りをかけるため、符号化順で後ろのほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。特許文献３では、マクロブロック全体の符号量を、予め設定された固定の割合でマクロブロック内の各ブロックに目標符号量を割り当ててはいるが、ピクチャタイプやマクロブロックタイプに応じた適応的な制御は行われていない。またマクロブロックヘッダの符号量については考慮されていない。さらに、ブロック内の係数ごとの符号発生状況については考慮されていない。そのため、発生符号量の推移に合わない目標符号量が設定される恐れがあり、その場合には、過剰に打ち切りが行われる、又は、打ち切りが少なくなるなど、適切な制御が行えなくなる。
【課題を解決するための手段】
【００２２】
本発明にかかる画像符号化装置は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化する画像符号化装置であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で入力される量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定手段と、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する制御手段と、前記制御手段により調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を０に置換する係数置換手段と、を備える。
【００２３】
本発明にかかる画像符号化方法は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、直交変換係数を量子化した量子化係数を出力し、当該ブロック内の係数を特定する画係数位置に対応する量子化係数に基づいて可変長符号化する画像符号化方法であって、前記マクロブロック内の処理対象のブロックである処理対象ブロックから所定の順序で読み出された量子化係数を入力するステップと、前記読み出された量子化係数に基づいて、当該処理対象ブロックに関する符号量の推定値であるブロック推定符号量を算出する符号量推定ステップと、前記マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、前記マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する決定ステップと、前記決定ステップにより調整すると決定された前記所定のブロックにおけるいずれかの量子化係数を０に置換する係数置換ステップと、を備える。
【００２４】
上述した本発明にかかる画像符号化装置及び方法によれば、マクロブロック内のブロック単位に処理を行い、量子化係数を０に置換する調整を行うことで、より正確に量子化係数の打ち切りを行うことができる。また、処理対象ブロックから所定の順序で入力される量子化係数に基づいてブロック推定符号量を算出するため、処理対象ブロック全体の情報を用いて符号量の推定することができる。
【発明の効果】
【００２５】
本発明により、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を予め定めた値以下にすることができる画像符号化装置及び方法を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００２７】
＜発明の実施の形態１＞
図１は、本発明の実施の形態にかかる画像符号化装置１００の全体構成を示すブロック図である。画像符号化装置１００は、動画像データの各画面であるピクチャを複数のマクロブロックに分割し、当該マクロブロックをさらに複数のブロックに分割し、当該ブロック（以下、処理対象ブロック）毎に処理を行う。そして、画像符号化装置１００は、当該ブロック毎に直交変換を行い、直交変換により求められた変換係数をブロック毎に量子化処理し、可変長符号化及び逆量子化等を行う符号化装置である。言い換えれば、画像符号化装置１００は、画像データに含まれる所定の領域であるマクロブロックを複数のブロックに分割してブロック毎に処理し、当該ブロック内の係数を特定する係数位置における量子化係数に基づいて可変長符号化するものである。そして、画像符号化装置１００は、マクロブロック内の当該処理対象ブロックに関するブロック推定符号量と、当該処理対象ブロックに対する符号量の目標値である目標符号量とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定し、調整を行うと決定された所定のブロックにおけるいずれかの量子化係数を０に置換する。尚、当該ブロックにおける係数位置のスキャン順は、当該ブロック内における周波数帯域に対応した順番となっている。
【００２８】
画像符号化装置１００は、量子化器１０、セレクタ１１、逆量子化器１２、可変長符号化器１３、符号量推定器１４、ＭＢヘッダ符号量推定器１５、目標符号量計算器１６及び打ち切り制御器１７を備える。尚、図１では、画像符号化装置１００の一部を表示している。
【００２９】
量子化器１０は、変換係数２０を入力し、ブロック毎に所定のスキャン順に量子化を行い、セレクタ１１へ量子化係数２１を出力する。
【００３０】
セレクタ１１は、後述する打ち切り制御器１７からの打ち切りを行うための係数位置である置換位置２９に基づいて、量子化器１０から入力される量子化係数２１を０に置換するか否かを判定し、置換すると判定した場合に０を、また、置換しないと判定した場合に量子化係数２１をそのまま、量子化係数２２として出力する。
【００３１】
逆量子化器１２は、量子化係数２２を入力し、逆量子化処理を行い、逆量子化係数２３を出力する。尚、逆量子化係数２３は、局所復号画像の生成に使用される。また、可変長符号化器１３は、量子化係数２２を入力し、可変長符号化処理を行い、可変長符号（不図示）を出力する。尚、量子化器１０、逆量子化器１２及び可変長符号化器１３は、公知技術としてよく知られているものであるから、ここでは詳細な説明を省略する。
【００３２】
符号量推定器１４は、量子化係数２２を入力し、マクロブロック内の処理対象ブロックに関する符号量の推定値であるブロック推定符号量２５を算出する。その際、符号量推定器１４は、量子化係数２２毎に符号量の推定を行い、入力される量子化係数２２の発生状態を示す発生状態情報を更新する。そして、符号量推定器１４は、処理対象ブロックにおける全ての量子化係数２２の入力が終わった後に、発生状態情報及び隣接ブロック情報２４を用いて、当該処理対象ブロックの全体の符号量を推定し、ブロック推定符号量２５を算出する。また、符号量推定器１４は、当該マクロブロック内の当該処理対象ブロック以前に処理されたブロック毎に算出されたブロック推定符号量２５を累算して累算値を算出し、打ち切り制御器１７へ出力する。このとき、係数の発生情報は、他のブロックでの参照のために、一時的に保存しておく。
【００３３】
ＭＢヘッダ符号量推定器１５は、当該マクロブロック（ＭＢ）の情報であるＭＢ情報２６からマクロブロックヘッダにおける符号量の推定値であるＭＢ推定符号量２７を算出する。
【００３４】
目標符号量計算器１６は、マクロブロック内の処理対象ブロックごとに当該処理対象ブロックに対する符号量の目標値である目標符号量２８を算出する。
【００３５】
打ち切り制御器１７は、ブロック推定符号量２５と、ＭＢ推定符号量２７と、目標符号量２８とに基づいて、マクロブロック内の所定のブロックにおいて、いずれかの量子化係数を０に置換する調整を行うか否かを決定する制御手段である。そして、打ち切り制御器１７は、所定のブロックにおいて、調整を行うと決定した場合に、当該所定のブロックにおける量子化係数を０に置換する係数位置である置換位置２９を決定し、セレクタ１１へ出力する。尚、打ち切り制御器１７は、ＭＢヘッダ符号量推定器１５を必ずしも必要としない。但し、打ち切り制御器１７は、ＭＢヘッダ符号量推定器１５により算出されるＭＢ推定符号量２７を用いることで、より正確な打ち切り制御を行うことができる。
【００３６】
ここで、打ち切り制御器１７は、符号量推定器１４により算出されたブロック推定符号量２５の累算値と、マクロブロック内の当該処理対象ブロック以前に処理されたブロックに対する目標符号量２８を累算した累算値との差分に応じて、調整を行うか否かを決定する。
【００３７】
また、打ち切り制御器１７は、上述した所定のブロックを前記マクロブロック内において、当該処理対象ブロックの次に処理されるブロックとすることで、量子化係数の打ち切りを同一マクロブロック内に反映でき、発生符号量を制限する処理を効率的に行うことができる。
【００３８】
つまり、打ち切り制御器１７は、ＭＢ推定符号量２７及びブロック推定符号量２５の累算値から、量子化処理の終了した処理対象ブロックまでのマクロブロック内での推定符号量を累算し、目標符号量２８の累算値との差分に応じて、次に処理されるブロックの量子化処理における置換位置２９を、例えばその位置からスキャン順で高周波数側の係数を打ち切る位置番号として決定することで、セレクタ１１により置換位置２９よりスキャン順で高周波数帯域の量子化係数を０に置き換えることができ、画質劣化を抑制しつつ、発生符号量を目標符号量に制御することができる。
【００３９】
尚、本発明の実施の形態における所定のブロックは、次に処理されるブロックに限定さ
れない。たとえば、次の次に処理されるブロックのように、次以降のブロックでもよい。
【００４０】
図２は、本発明の実施の形態にかかる一つのマクロブロック内の画像符号化処理の動作を示すフローチャート図である。まず、画像符号化装置１００は、マクロブロックの初期化を行う（Ｓ１０１）。具体的には、例えば、置換位置２９として打ち切りを開始する係数位置の番号を指定する場合には、画像符号化装置１００は、係数打ち切り開始位置を、所定の初期値に設定する。また、目標符号量計算器１６は、目標符号量の初期値を所定のオフセットの値に初期化する。
【００４１】
次に、ＭＢヘッダ符号量推定器１５は、量子化係数以外のマクロブロック内の情報であるＭＢ情報２６からＭＢ推定符号量２７を推定する（Ｓ１０２）。また、打ち切り制御器１７は、ＭＢ推定符号量２７をマクロブロックごとの累算推定符号量の初期値とする。
【００４２】
そして、符号量推定器１４は、係数の発生状態情報を初期化する（Ｓ１０３）。すなわち、符号量推定器１４は、ブロックごとの量子化係数の発生状況に応じてカウントするカウンタや係数位置をリセットする。
【００４３】
その後、処理対象ブロック毎にステップＳ１０４乃至Ｓ１０８が実行される。まず、量子化器１０は、所定のスキャン順序で入力される変換係数２０を一係数ずつ量子化し、量子化係数２１を出力する（Ｓ１０４）。次に、セレクタ１１は、係数打ち切り処理を行う（Ｓ１０５）。尚、ステップＳ１０５の詳細は、図６で後述する。
【００４４】
そして、符号量推定器１４は、量子化係数２２を入力し、係数の発生状態を示すカウンタの値や、係数位置番号に関する情報である係数の発生状態情報を計測する（Ｓ１０６）。その後、符号量推定器１４は、量子化係数２２における符号量の推定値である係数推定符号量を算出する（Ｓ１０７）。具体的には、符号量推定器１４は、量子化係数２２が非０である場合に、その値と０ランの値から、量子化係数２２における係数推定符号量を算出する。また、量子化係数２２が０係数の場合、符号量推定器１４は、量子化係数２２における係数推定符号量を０とする。そして、符号量推定器１４は、係数推定符号量をブロック毎に累算する。
【００４５】
そして、符号量推定器１４は、処理対象ブロックにおいて最後の量子化係数２２であるか否かを判定する（Ｓ１０８）。処理対象ブロックの最後の係数でないと判定される場合、ステップＳ１０４へ戻り、処理対象ブロックの最後の係数であると判定される場合、ステップＳ１０９へ進む。
【００４６】
続いて、符号量推定器１４は、ブロック符号量を推定する（Ｓ１０９）。具体的には、符号量推定器１４は、量子化係数毎の発生状態情報から、ブロック全体の係数の発生状態に関わる符号量の推定値である全体推定符号量を算出する。さらに、符号量推定器１４は、全体推定符号量に係数の符号量の累算値を加算し、ブロック推定符号量を算出する。そして、符号量推定器１４は、ブロック推定符号量を当該マクロブロック内で積算し、ブロック推定符号量の累算値を計算する。
【００４７】
そして、目標符号量計算器１６は、当該処理対象ブロックにおける目標符号量２８を算出する（Ｓ１１０）。具体的には、目標符号量計算器１６は、当該マクロブロック内の処理対象ブロックより前の目標符号量の値に、当該処理対象ブロックにおける予め決められた符号量増加分を加算し、目標符号量の値を更新する。
【００４８】
その後、打ち切り制御器１７は、打ち切り制御パラメタを計算する（Ｓ１１１）。すなわち、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置２９を算出する。置換位置２９は、例えば、打ち切りを開始する係数位置の番号である。
【００４９】
ここで、打ち切り制御器１７は、マクロブロックヘッダ推定符号量にブロック推定符号量の累算値を加算した値と、目標符号量の値を比較し、目標符号量の値を超える場合に、調整を行うと判定する。調整を行う場合、打ち切り制御器１７は、置換位置を算出する。
【００５０】
また、打ち切り制御器１７は、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を０とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波数側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を小さくする。
【００５１】
また、打ち切り制御器１７は、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を０とするように置換位置を決定する。例えば、処理対象ブロックにおける量子化係数の番号が低周波数側から高周波側に割り振られている場合に、指定の置換位置から高周波帯域側の係数を打ち切る場合には、置換位置の示す係数位置の番号を大きくする。
【００５２】
または、打ち切り制御器１７は、累算値と目標符号量との差分が小さい場合、置換位置を決定しない。また、打ち切り制御器１７は、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置として決定する。
【００５３】
そして、画像符号化装置１００は、マクロブロックの最後のブロックか否かを判定する（Ｓ１１２）。最後のブロックと判定されなければ、ステップＳ１０３へ戻り、次のブロックに対して処理を繰り返し、最後のブロックであると判定されれば、当該マクロブロックの処理を終了する。
【００５４】
尚、上述したステップＳ１０６乃至Ｓ１０９の処理の詳細は、以下の図３及び図４の説明において詳述する。
【００５５】
ここで、本発明の実施の形態にかかる符号量推定器１４の構成を図３にブロック図で示す。符号量推定器１４は、０ランカウンタ３１、０係数カウンタ３２、１係数カウンタ３３、非０係数カウンタ３４、非０係数最終位置３５、係数符号量推定器３６及びブロック符号量推定器３７を備える。
【００５６】
０ランカウンタ３１は、連続する０ランの値であるrunbefore４１を保持する。０係数カウンタ３２は、処理対象ブロック内で値が０である量子化係数の数であるTotalZeros４２を保持する。１係数カウンタ３３は、処理対象ブロック内で絶対値が１である量子化係数の数であるTrailingOnes４３を保持する。非０係数カウンタ３４は、処理対象ブロック内で値が０以外である量子化係数の数であるTotalCoeff４４を保持する。非０係数最終位置３５は、処理対象ブロック内で値が０以外である最後の量子化係数の係数位置であるCoeffNum４５を保持する。
【００５７】
符号量推定器１４は、入力される量子化係数２２の発生状態を示す発生状態情報である０ランカウンタ３１、０係数カウンタ３２、１係数カウンタ３３、非０係数カウンタ３４及び非０係数最終位置３５に保持される値を更新することで、係数の発生状態情報の計測を行う。
【００５８】
図４は、本発明の実施の形態にかかる係数の発生状態情報の計測処理の動作を示すフローチャート図である。まず、符号量推定器１４は、量子化係数２２が０であるか否かを判定する（Ｓ２０１）。量子化係数２２が０である場合、符号量推定器１４は、０ランカウンタ３１をインクリメント（Ｓ２０２）し、０係数カウンタ３２をインクリメント（Ｓ２０３）し、当該量子化係数における発生状態情報の計測処理を終了する。
【００５９】
量子化係数２２が０でない場合、符号量推定器１４は、０ランカウンタ３１をリセット（Ｓ２０４）し、非０係数カウンタ３４をインクリメント（Ｓ２０５）する。そして、符号量推定器１４は、非０係数最終位置３５に量子化係数２２の係数位置を保存する（Ｓ２０６）。
【００６０】
その後、符号量推定器１４は、量子化係数２２の絶対値が１かつ１係数カウンタ３３が３未満であるか否かを判定する（Ｓ２０７）。ステップＳ２０７において、ＹＥＳと判定された場合、符号量推定器１４は、１係数カウンタ３３をインクリメント（Ｓ２０８）し、当該量子化係数における発生状態情報の計測処理を終了する。また、ステップＳ２０７において、ＮＯと判定された場合、符号量推定器１４は、当該量子化係数における発生状態情報の計測処理を終了する。
【００６１】
このように、符号量推定器１４は、入力される量子化係数の発生状態を示す発生状態情報を更新する発生状態更新手段として動作する。
【００６２】
図３に戻って、係数符号量推定器３６は、量子化係数２２及び０ランカウンタ３１からのrunbefore４１を用いて、係数単位の符号量の推定値である係数推定符号量を算出する。そして、係数符号量推定器３６は、係数ごとに係数推定符号量を累算して累算値をブロック符号量推定器３７へ出力する。
【００６３】
ここで、係数符号量推定器３６における符号量の推定方法の実施例について、符号化方式ごとに説明する。まず、ＭＰＥＧ−２に代表されるように、係数の符号化が、非０係数の値の大きさ（level）と０係数の連続する個数（run）の組み合わせにより、可変長符号が定義されている符号化方式では、その符号の符号長を記録した表を用意し、levelとrunの組み合わせからテーブル引きにより符号長を求めることができる。マクロブロックタイプに応じて異なる符号化を行う場合には、テーブルも複数用意し、マクロブロックタイプに応じて切り替える。また、levelとrunの値によっては、可変長符号が定義されておらず、Escape符号化となる場合もあるが、その場合はEscape符号化する場合に必要なビット数を符号長とする。
【００６４】
また、イントラＤＣ係数については、levelとrunの組み合わせではなく、隣接ブロックとの差分値の大きさに応じてサイズと差分値が符号化されるが、それぞれの表現に必要なビット数を計算してそれらの合計を符号長とする。
【００６５】
次に、Ｈ．２６４のＣＡＶＬＣのように、TrailingOnesを除いた非０係数の値の大きさ（level）と０係数の連続する個数（run_before）をそれぞれ符号化する場合には、規格で定められた符号の符号長を計算する。levelはlevel_prefixとlevel_suffixの２つの要素で符号化されるが、それぞれの符号長をlevelの値に応じて計算する。
【００６６】
但し、処理対象ブロックにおける第１係数の符号長のみは、TotalCoeffとTrailingOnesに依存し２通りの場合があるが、ブロックの量子化が終了するまで正確にはわからないため、取り得る値の大きなほうを選択する。
【００６７】
run_beforeについては、当該ブロックで符号化されていない残りの０の数（ZerosLeft）との組み合わせにより可変長符号が定義されているので、その符号の符号長を記録した表を用意し、run_beforeとZerosLeftの組み合わせからテーブル引きで符号長を求める。なお、ZerosLeftはブロック全体の０係数の個数が確定しないと不明であるため、取り得る値の最大値と仮定する。
【００６８】
続いて、Ｈ．２６４のＣＡＢＡＣでは、符号化する情報を２値化したあと、算術符号化を行うが、ここでは、発生符号量の推定は、２値化したbinの符号長とする。量子化係数の符号化では、非０の係数ごとに、最後の有意係数フラグ（last_significant_coef_flag）、量子化係数の符号（coeff_sign_flag）、量子化係数の絶対値−１（coeff_abs_level_minus1）を２値化している。これらのbin長は定義に従って計算で求めることができる。
【００６９】
図３のブロック符号量推定器３７は、処理対象ブロックにおける全ての量子化係数が入力された後に、発生状態情報から当該処理対象ブロックのブロック全体に関する符号量の推定値である全体推定符号量を算出し、当該全体推定符号量に係数推定符号量の累算値を加算してブロック推定符号量２５を算出する。
【００７０】
このとき、ブロック符号量推定器３７は、係数符号量推定器３６から入力される係数推定符号量、０係数カウンタ３２からのTotalZeros４２、１係数カウンタ３３からのTrailingOnes４３、非０係数カウンタ３４からのTotalCoeff４４、非０係数最終位置３５からのCoeffNum４５及び隣接ブロック情報２４を用いて、ブロック推定符号量２５を出力する。
【００７１】
ここで、ブロック符号量推定器３７における符号量に推定方法の実施例について、符号化方式ごとに説明する。まず、ＭＰＥＧ−２に代表されるように、ブロックの終了にＥｎｄ  ｏｆ  Ｂｌｏｃｋ（EOB）符号を付加する場合には、そのビット長を求める。
【００７２】
次に、Ｈ．２６４のＣＡＶＬＣでは、係数以外のブロック毎に符号化される要素としてcoeff_token 、trailing_ones_sign_flag、total_zerosがあり、それらの符号化に必要なビット数を求める。Coeff_token は、TotalCoeffとTrailingOnesとの組み合せで可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalCoeffとTrailingOnesとの組み合わせからテーブル引きで求める。なお、上述した表は、隣接ブロックの係数の発生状態に応じて切り替える。隣接ブロックの情報を使用しない場合は、取り得る値の最大値とする。trailing_ones_sign_flagは、TrailingOnesの値から計算できる。total_zerosは、TotalCoeffに依存して可変長符号が定義されており、その符号の符号長を記録した表を用意し、TotalZerosとTotalCoeffの組み合わせによりテーブル引きで符号長を求める。
【００７３】
続いて、Ｈ．２６４のＣＡＢＡＣでは、係数以外のブロック毎に符号化される要素として、有意係数フラグ（significant_coeff_flag）がある。これは、ブロックの量子化が終了したあと、非０係数の最終位置（CoeffNum）から有意係数フラグの必要数を求めてbin長を計算する。
【００７４】
なお、最後の有意係数フラグ（last_significant_coef_flag）、量子化係数の符号（coeff_sign_flag）を係数ごとに計算せず、ブロックの量子化終了後に、非０係数の数から計算して求めることもできる。すなわち、係数ごとに累算する代わりに、ブロックの終了でまとめて計算して累算することもできる。
【００７５】
このように、符号量推定器１４における発生状態情報は、Ｈ．２６４のＣＡＶＬＣの場合、０ランカウンタ、０係数カウンタ、１係数カウンタ及び非０係数カウンタに保持された値であるとよい。また、Ｈ．２６４のＣＡＢＡＣの場合、０ランカウンタ及び非０係数最終位置に保持された値であるとよい。
【００７６】
また、符号量推定器１４は、０ランカウンタ３１、０係数カウンタ３２、１係数カウンタ３３、非０係数カウンタ３４及び非０係数最終位置３５に保持された値と、量子化係数２２とを対応付けて記憶する発生状態情報記憶手段をさらに備えているとよい。そして、
ブロック符号量推定器３７は、発生状態情報記憶手段により記憶された当該処理対象ブロックより前に処理されたブロックの内、当該処理対象ブロックに隣接する隣接ブロックにおける発生状態情報に基づいて前記全体推定符号量を算出する。
【００７７】
図５は、本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。例えば、予めマクロブロック当たりの目標符号量、当該目標符号量の上限値からのマージン、およびオフセットを与えて、残りをブロックの係数の数に応じて配分して、ブロック当たりの目標符号量を算出し、図５の破線のような目標符号量を設定する。符号化処理中は、図５の実線のように、ブロック毎に推定の累算符号量を積算し、目標値からの差分の大きさに応じて、次のブロックに対する打ち切り位置を設定する。例えば、ブロックｉにおけるブロック推定符号量の累算値と目標符号量を比較し、目標符号量からの差分に応じて、次のブロックｉ＋１における打ち切り位置を決める。尚、所定のブロックを次に処理されるブロックとした場合、制御が１ブロック以上遅延するが、遅延分のマージンを見込むことで、最大発生符号量の制御を行うことができる。
【００７８】
図６は、本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、セレクタ１１は、処理対象の量子化係数２１の係数位置の番号が置換位置以上であるか否かを判定する（Ｓ３０１）。ステップＳ３０１でＹＥＳの場合、セレクタ１１は、量子化係数２１を０に置換して、量子化係数２２を出力する（Ｓ３０２）。また、ステップＳ３０１でＮＯの場合、セレクタ１１は、量子化係数２１をそのまま量子化係数２２として出力する（Ｓ３０３）。
【００７９】
尚、打ち切り制御器１７が複数の置換位置を決定する場合、セレクタ１１は、量子化係数２１の係数位置が置換位置のいずれかに含まれる場合のみ、０に置換すればよい。
【００８０】
図７は、本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。図７に示すように、４ｘ４のｚｉｇ−ｚａｇ  ｓｃａｎで、置換位置である打ち切り開始位置が１０の場合、係数位置が１０乃至１５の量子化係数が０で置き換えられることとなる。
【００８１】
尚、Ｈ．２６４のような符号化方式では、０ランと非０係数レベルだけでは不十分で、ブロック全体の量子化係数が分からないと正確に符号量を見積もることができない。また、Ｈ．２６４のような符号化方式では、隣接ブロックの情報が符号量の見積もりに必要である。さらに、マクロブロックヘッダの符号量を加味する必要がある。そして、Ｈ．２６４のＣＡＶＬＣの可変長符号化では、逆方向にスキャンすることが多く、その場合、量子化処理でも逆順にスキャンする必要がある。
【００８２】
そこで、本発明の実施の形態１は、マクロブロックにおける処理対象ブロック内の全ての量子化係数に基づいたブロック推定符号量により、当該マクロブロックにおける所定のブロックについて、量子化係数の調整を行うことものである。そのため、TotalCoeff、TotalZeroなどのブロック内の全ての係数の量子化が終了しないと確定しない情報を用いることにより、Ｈ．２６４のような１ブロック内の全ての量子化結果を必要とする符号化方式において、正確に量子化係数の打ち切りを行うことができるという効果を奏する。また、本発明の実施の形態１により、所望の符号量制御を行うことができる。
【００８３】
また、本発明の実施の形態１では、打ち切り制御器１７により量子化係数を０に置換する係数位置である置換位置を決定し、セレクタ１１により置換位置に該当する係数位置の量子化係数を０に置換することにより、Ｈ．２６４のＣＡＶＬＣのように、ブロック当たりの量子化係数のスキャン順が高周波数のものから読み出すという、いわゆる逆スキャン順である場合においても、置換位置以前の係数位置に該当する量子化係数に対して置換を行うことができるため、データ圧縮の際、人間の視覚への影響が相対的に少ない高周波数のものから打ち切ること、つまり、人間の視覚への影響が相対的に大きく、より重要な低周波数の量子化係数を残すことができるため、画質劣化を小さく抑えられるという効果を奏する。尚、上記の効果を確保するため、ＤＣブロックについては、０への置換は行われない様に制御する。
【００８４】
さらに、本発明の実施の形態１では、打ち切り制御器１７において、マクロブロック内における処理対象ブロック以前のブロックに関するブロック推定符号量を累算した累算値を用いることにより、目標符号量の累算値との差分に応じた調整の判定を行うことができ、処理済みのブロック全体を加味したより正確な符号量制御を行うことができる。
【００８５】
また、本発明の実施の形態１では、符号量推定器１４において、０ランカウンタ３１、０係数カウンタ３２、１係数カウンタ３３、非０係数カウンタ３４及び非０係数最終位置３５を有することにより、量子化係数毎の発生状態情報を計測することで、Ｈ．２６４やＭＰＥＧ−２といった複数の符号化方式に対応すると共に、正確に量子化係数の打ち切りを行うことができる。
【００８６】
さらに、本発明の実施の形態１の符号量推定器１４では、係数符号量推定器３６及びブロック符号量推定器３７を有することにより、量子化係数毎の係数推定符号量及び全体推定符号量に基づいてブロック推定符号量を算出するため、より正確な符号量制御を行うことができる。
【００８７】
また、本発明の実施の形態１の符号量推定器１４では、処理対象ブロック以外の隣接ブロックの情報を用いることにより、より正確な符号量制御を行うことができる。尚、上述した隣接ブロックの情報は、当該マクロブロックに隣接する隣接マクロブロックのブロックであってもよく、または、当該マクロブロック以外が隣接ブロックである場合は、とり得る最大値を推定符号量としてもよい。
【００８８】
さらに、本発明の実施の形態１では、ＭＢヘッダ符号量推定器１５において、ＭＢ推定符号量２７を算出することにより、打ち切り制御器１７でより正確な打ち切り制御を行うことができる。
【００８９】
尚、上述した特許文献２は、マクロブロック単位の制御であり、マクロブロック内でのフィードバックはかからない。本発明では、マクロブロック内のブロック単位に制御を掛けているため、マクロブロック内で所定の符号量に収まるように制御を掛けることができる。
【００９０】
尚、上述した特許文献３では、係数の量子化毎に打ち切り判定を行い、打ち切り制御を行っている。本発明では、ブロック単位に打ち切り判定を行い、打ち切り制御を行う。例えば、Ｈ．２６４のＣＡＶＬＣによる可変長符号化では、逆スキャン順に符号化する場合があり、量子化処理でも逆スキャン順に行うことが多い。そのため、特許文献３のように、量子化処理順では、視覚的に重要な低周波帯域成分を打ち切ることになり、画質が著しく損なわれる。
【００９１】
そこで、本発明では、ブロック単位に、打ち切りスキャン位置を設定して、その位置から高周波帯域の係数を打ち切る制御のため、画質劣化の影響が抑えられる。
【００９２】
＜発明の実施の形態２＞
本発明の実施の形態２にかかる画像符号化装置は、本発明の実施の形態１にかかる画像符号化装置１００の目標符号量計算器１６に変更を加え、処理対象ブロックの特性に応じて、目標符号量を算出する目標符号量計算器を備えたものである。そして、打ち切り制御器１７は、当該目標符号量算出器により算出された目標符号量を用いて、調整を行うか否かを決定するものである。これにより、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、本発明の実施の形態２にかかる画像符号化装置は、目標符号量計算器１６を除き、図１と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態１との違いを中心に説明する。
【００９３】
本発明の実施の形態２にかかる目標符号量計算器は、ピクチャタイプ又はマクロブロックタイプに応じて、処理対象のマクロブロックにおける目標符号量のオフセット及び傾きを可変にするとよい。図８は、本発明の実施の形態にかかる目標符号量をピクチャタイプ又はマクロブロックタイプに応じて可変にした場合の目標符号量の例を示す図である。
【００９４】
図８に示す目標符号量８１は、マクロブロックにおける目標符号量の傾きの基準である。目標符号量８２は、予測性能の高いピクチャ又はマクロブロックタイプにおける目標符号量の例である。予測性能の高いピクチャ又はマクロブロックタイプでは、一般にＭＢヘッダ情報の比率が大きく、量子化係数への符号量の割り当て比率が小さくなる。そのため、目標符号量の初期値であるＭＢヘッダ情報の推定符号量に対応するオフセットの値を相対的に大きくし、目標符号量の傾きを基準である目標符号量８１に比べて小さくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。
【００９５】
目標符号量８３は、予測性能の低いピクチャ又はマクロブロックタイプ目標符号量の例である。予測性能の低いピクチャ又はマクロブロックタイプでは、ＭＢヘッダ情報の比率が小さく、係数への符号量の割り当て比率が大きくなる。そのため、オフセットの値を相対的に小さくし、目標符号量の傾きを目標符号量８２に比べて大きくすることで、符号量の配分を、実際の発生符号量の違いに対応させることができ、適切な打ち切り制御を行うことができる。尚、目標符号量８３の傾きは、目標符号量８１より大きくても構わない。
【００９６】
また、本発明の実施の形態２にかかる目標符号量計算器は、ＤＣブロック及びＡＣブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図９は、本発明の実施の形態にかかる目標符号量をＤＣブロック及びＡＣブロックに応じて可変にした場合の目標符号量の例を示す図である。
【００９７】
ＤＣブロックは、ＡＣブロックに比べて画面における量子化係数に非０の係数が多いため、ある程度大きい推定符号量を許容することが望ましい。そのため、図９に示すように、ＡＣブロックの場合に、目標符号量の傾きを傾きαとし、ＤＣブロックの場合に、目標符号量の傾きを傾きαより大きい傾きβとすることで、効果的な打ち切り制御を行うことができる。
【００９８】
また、本発明の実施の形態２にかかる目標符号量計算器は、輝度ブロック及び色差ブロックに応じて、処理対象のマクロブロックにおける目標符号量の傾きを可変にするとよい。図１０は、本発明の実施の形態にかかる目標符号量を輝度ブロック及び色差ブロックに応じて可変にした場合の目標符号量の例を示す図である。
【００９９】
輝度ブロックは、色情報の基準となるため、色差ブロックに比べて大きい推定符号量を許容することが望ましい。そのため、図１０に示すように、輝度ブロックの場合に、目標符号量の傾きを傾きαとし、色差ブロックの場合に、目標符号量の傾きを傾きαより小さい傾きβとすることで、効果的な打ち切り制御を行うことができる。
【０１００】
上記のように、複数の種類の性質に分けて個別に目標を設定する方法について述べたが、これらの性質については、適宜組み合わせて目標符号量を設定してもよい。
【０１０１】
上述した特許文献１乃至３の関連技術では、一定の符号量を超えた後から打ち切りを開始すると、符号化順で後のほうにあるブロックの係数が打ち切られやすくなり、画質への影響が大きい。また、全体の符号量を固定的に均等に割り当てているだけでは、ブロックの係数の発生状況を正確に反映しておらず、精度が高くない。さらに、ブロック個別に比例配分した目標符号量では、それまでの累算符号量が考慮されていないため、過剰に打ち切りが行われる又は打ち切りが少なくなり、適切な制御が行えない。
【０１０２】
これに対し、本発明の実施の形態２では、処理対象ブロックの特性に応じて目標符号量を算出することができ、より精度の高い目標符号量配分ができる。
【０１０３】
＜発明の実施の形態３＞
本発明の実施の形態３にかかる画像符号化装置は、本発明の実施の形態１にかかる画像符号化装置１００に変更を加え、所定のブロックの調整を行う場合に量子化係数を０にする場合の最大の量子化係数の値である置換閾値に基づいて、置換位置を決定するものである。これにより、画質劣化をできるだけ抑制しつつ、マクロブロック当たりの符号量を制限することができる。
【０１０４】
図１１は、本発明の実施の形態３にかかる画像符号化装置１０１の全体構成を示すブロック図である。画像符号化装置１０１は、本発明の実施の形態１にかかる画像符号化装置１００に比べ、打ち切り制御器１７が打ち切り制御器１７ａに、セレクタ１１が係数打ち切り器１１ａに置き換わったものである。尚、本発明の実施の形態３にかかる画像符号化装置１０１のその他の構成は、図１と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態１との違いを中心に説明する。尚、本発明の実施の形態３は、本発明の実施の形態２に変更を加えることでも実現可能である。
【０１０５】
打ち切り制御器１７ａは、ブロック推定符号量２５、ＭＢ推定符号量２７及び目標符号量２８に基づいて、置換位置２９及び量子化係数を０にする場合の最大の量子化係数の値である置換閾値２９ａを算出し、係数打ち切り器１１ａへ出力する。
【０１０６】
係数打ち切り器１１ａは、打ち切り制御器１７ａからの置換位置２９及び置換閾値２９ａに基づいて、量子化器１０から入力される所定のブロックにおける量子化係数２１を０に置換するか否かを判定し、置換すると判定した場合に０を、また、置換しないと判定した場合に量子化係数２１をそのまま、量子化係数２２として出力する。すなわち、係数打ち切り器１１ａは、所定のブロックから入力される量子化係数の係数位置が置換位置２９に含まれ、かつ、量子化係数２１が置換閾値２９ａ以下である場合に、量子化係数を０とする。
【０１０７】
尚、打ち切り制御器１７ａは、必ずしも置換閾値２９ａを算出しなくてもよく、量子化器１０から量子化係数２１を入力し、置換閾値２９ａに基づいて置換位置２９を算出してもよい。例えば、処理対象ブロックにおいて、置換閾値２９ａ未満の量子化係数である係数位置についてのみ、所定のブロックの対応する係数位置について置換位置２９として算出してもよい。その場合、係数打ち切り器１１ａは、置換位置２９に基づいて当該所定のブロックにおける量子化係数の一部を０に置換するようにすればよい。
【０１０８】
尚、本発明の実施の形態３にかかる一つのマクロブロック内の画像符号化処理の動作は、図２の一部に変更を加えることで実現可能である。すなわち、図２のステップＳ１０１において、画像符号化装置１０１は、置換閾値を、所定の初期値に設定する。また、図２のステップＳ１０５において、係数打ち切り器１１ａは、係数打ち切り処理を行う。尚、係数打ち切り処理の詳細は、図１３で後述する。
【０１０９】
また、図２のステップＳ１１１において、打ち切り制御器１７ａは、当該処理対象ブロックの次に処理されるブロックの量子化係数に対して調整を行うか否かの判定をし、調整を行うと判定した場合、置換位置２９及び置換閾値２９ａを算出する。
【０１１０】
また、打ち切り制御器１７ａは、ブロック推定符号量の累算値と目標符号量を比較して、累算値と目標符号量との差分が大きい場合、差分が小さい場合に比べて多くの量子化係数を０とするように置換位置及び置換閾値を決定する。また、打ち切り制御器１７ａは、累算値と目標符号量との差分が小さい場合、大きい場合に比べて少ない量子化係数を０とするように置換位置及び置換閾値を決定する。または、打ち切り制御器１７ａは、累算値と目標符号量との差分が小さい場合、置換位置及び置換閾値を決定しない。また、打ち切り制御器１７ａは、所定のブロック内の高い周波数帯域に対応する係数位置を置換位置及び置換閾値を適用する対象として決定する。
【０１１１】
図１２は、本発明の実施の形態３にかかる係数打ち切り器１１ａの構成を示すブロック図である。係数打ち切り器１１ａは、セレクタ１１０、係数打ち切り判定器１１１及び係数閾値判定器１１２を備える。
【０１１２】
係数打ち切り判定器１１１は、量子化係数２１に対応する係数位置と置換位置２９とを比較し、該当するか否かを係数閾値判定器１１２へ通知する。係数閾値判定器１１２は、係数打ち切り判定器１１１からの通知が該当する場合、量子化係数２１が置換閾値２９ａ以下であるか否かを判定し、結果をセレクタ１１０へ通知する。セレクタ１１０は、係数閾値判定器１１２からの結果に基づき、量子化係数２１について置換を行う。すなわち、係数打ち切り器１１ａは、所定のブロックにおける量子化係数の一部を０に置換する。
【０１１３】
図１３は、本発明の実施の形態３にかかる係数打ち切り処理の動作を示すフローチャート図である。まず、係数打ち切り判定器１１１は、処理対象の量子化係数２１の係数位置の番号が置換位置以上であるか否かを判定する（Ｓ４０１）。ステップＳ４０１でＹＥＳの場合、係数閾値判定器１１２は、量子化係数２１が置換閾値２９ａ以下であるか否かを判定する（Ｓ４０２）。ステップＳ４０２でＹＥＳの場合、セレクタ１１０は、量子化係数２１を０に置換して、量子化係数２２を出力する（Ｓ４０３）。また、ステップＳ４０１又はＳ４０２のいずれかでＮＯの場合、セレクタ１１０は、量子化係数２１をそのまま量子化係数２２として出力する（Ｓ４０４）。
【０１１４】
尚、打ち切り制御器１７ａが置換閾値に基づいて複数の置換位置を決定する場合、係数打ち切り器１１ａは、量子化係数２１の係数位置が置換位置のいずれかに含まれる場合のみ、０に置換すればよい。
【０１１５】
図１４は、本発明の実施の形態３にかかる係数打ち切り処理における前後の係数の例を示す図である。図１４に示すように、４ｘ４のｚｉｇ−ｚａｇ  ｓｃａｎで、置換閾値である打ち切り閾値が５、かつ、置換位置である打ち切り開始位置が１０の場合、係数位置が１０、１１、１３、１４及び１５の量子化係数が０に置き換えられ、係数位置１２については、量子化係数が６であるため置換されないこととなる。
【０１１６】
上述した特許文献１乃至３の関連技術では、量子化係数の値の大きさにかかわらず、特定の係数位置の係数を０に置換してしまうので、重要な周波数成分がある場合でも打ち切られてしまい、画質に与える影響が大きい。
【０１１７】
しかしながら、本発明の実施の形態３にかかる画像符号化装置１０１では、量子化係数が予め指定した閾値未満の場合に量子化係数を０に置換する。また、量子化係数が置換閾値以上であれば、その値をそのまま残す。値の大きい量子化係数は、その周波数成分に重要な情報があることを示しているので、その値を残すことで、画質を保持できる。
【０１１８】
このように、本発明の実施の形態３では、例えば、Ｈ．２６４のように、１ブロック内の全ての量子化結果がわからないと符号量の推定ができない場合でも、視覚的に重要な大きな値を持つ係数や、低周波成分を残すようにすることで、画質劣化の抑えつつ、規定に定められたマクロブロックあたりの最大符号量の制限を満足させる制御を行うことができる。
【０１１９】
例えば、上述した特許文献２では、量子化係数の０への置き換えは、図１８のＶＬＣ設定回路９１５からブロックエンド９３３の位置を、本来よりも早く出すことで、後続する非０係数を０にしている。そのため、係数の値の大きさについては考慮されていない。本発明では、図１１の打ち切り制御器１７ａから置換閾値を算出して、係数打ち切り器１１ａへ送り、図１２の係数打ち切り器１１ａにあるように、入力の量子化係数２１に対して閾値判定を行い、その値が閾値より小さければ、その係数を０に置換すると判定する。
【０１２０】
＜発明の実施の形態４＞
本発明の実施の形態４にかかる画像符号化装置は、本発明の実施の形態１にかかる画像符号化装置１００に変更を加え、処理対象ブロックの係数位置に対応する量子化係数毎の係数推定符号量に基づいて、当該処理対象ブロックの次に処理されるブロックにおける置換位置を決定するものである。これにより、ブロック推定符号量の累算値が目標符号量を超える前に、次に処理されるブロックにおける打ち切り制御を適用することができる。つまり、次に処理されるブロックにおいて、目標符号量を超えることを未然に防ぐことができる場合がある。そのため、より正確な打ち切り制御を行うことができ、また、打ち切り制御を安定させることができる。
【０１２１】
尚、本発明の実施の形態４にかかる画像符号化装置は、本発明の実施の形態１にかかる画像符号化装置１００の符号量推定器１４及び打ち切り制御器１７に変更を加えたことを除き、図１と同等の構成であるため、図示及び説明を省略する。以下では、本発明の実施の形態１との違いを中心に説明する。尚、本発明の実施の形態４は、本発明の実施の形態２又は３に変更を加えることでも実現可能である。
【０１２２】
尚、本発明の実施の形態４にかかる画像符号化装置は、処理対象ブロックの次に処理されるブロックにおける置換位置を決定することに限定されない。例えば、本発明の実施の形態４にかかる画像符号化装置は、少なくとも処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおいて、調整を行うか否かを決定すればよい。または、本発明の実施の形態４にかかる画像符号化装置は、処理対象ブロックの量子化係数毎の係数推定符号量に基づいて、所定のブロックにおける置換位置を決定すればよい。
【０１２３】
図１５は、本発明の実施の形態４にかかる符号量推定器１４ａの構成を示すブロック図である。符号量推定器１４ａは、図１５の符号量推定器１４における係数符号量推定器３６とブロック符号量推定器３７の間に、推定符号量累算器３８が追加されたものである。
【０１２４】
推定符号量累算器３８は、係数符号量推定器３６による係数推定符号量の算出ごとに、当該処理対象ブロックにおける係数推定符号量の累算値を処理対象の量子化係数の係数位置に対応付けて符号量分布情報である符号量分布４６として出力し符号量分布情報記憶部（不図示）に格納する。すなわち、推定符号量累算器３８は、係数符号量推定器３６により算出された係数推定符号量と処理対象の量子化係数に対応する係数位置と対応付けて符号量分布４６として符号量分布情報記憶部に記憶する。また、符号量分布情報記憶部は、ブロック毎の符号量分布４６を記憶する。
【０１２５】
図１６は、本発明の実施の形態４にかかるブロック内の符号量分布の例を示す図である。推定符号量１６１は、正スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。また、推定符号量１６２は、逆スキャン順における処理対象ブロック内の係数位置ごとの係数推定符号量の累算値の推移である。
【０１２６】
また、本発明の実施の形態４にかかる打ち切り制御器（不図示）は、処理対象ブロックの係数位置に対応する係数推定符号量を、次に処理されるブロックの係数位置に対応する係数推定符号量と仮定し、係数推定符号量の累算値が目標符号量を超える次に処理されるブロックにおける係数位置を特定して、置換位置を決定するものである。これにより、連続するブロックの推定符号量の傾向に応じて、より正確な符号量の予測を行うことができる。
【０１２７】
さらに、本発明の実施の形態４にかかる打ち切り制御器は、上述した符号量分布情報記憶部により記憶された当該処理対象ブロックにおける符号量分布４６に基づいて、次に処理されるブロックにおける置換位置を決定するとよい。これにより、複数のブロック、又は複数のマクロブロックにおける符号量分布４６を総合的に用いてより正確な符号量の予測を行うことができる。また、逆スキャン順の場合は、置換位置の決定のためには、符号量の累算値の推移を反転して、正スキャン順相当に変換して利用するとよい。
【０１２８】
図１７は、本発明の実施の形態４にかかる打ち切り位置決定処理の例を示す図である。図１７の場合、本発明の実施の形態４にかかる打ち切り制御器は、ブロックｉにおける符号量分布４６を符号量分布情報記憶部から取得し、符号量分布４６をブロックｉ＋１におけるブロック推定符号量として、当該マクロブロックにおける推定符号量に加算する。そして、ブロックｉ＋１において、目標符号量を超える係数位置が存在する場合、当該係数位置を置換位置として決定する。つまり、本発明の実施の形態４では、直前の処理対象ブロックにおける符号量分布４６により、次のブロックの推定符号量が目標符号量を超過するか否かの見込みを立てることができる。これにより、不要な打ち切り制御を減らし、目標符号量の超過を未然に防ぎ、適度な制御を行うことができる。
【０１２９】
＜その他の発明の実施の形態＞
ここで、本発明に適用可能なマクロブロックの構造について、以下に例示する。但し、これらに限定されるものではない。まず、４：２：０フォーマットの場合のマクロブロック構造について説明する。４：２：０フォーマットのマクロブロックの輝度は１６ｘ１６画素である。また、色差は、ＣｂとＣｒの２つであり、それぞれ８ｘ８画素のサイズからなる。また、マクロブロックのタイプにより、内部のブロック分割パタンにはいくつか種類がある。
【０１３０】
図２０は、Ｉｎｔｒａ１６ｘ１６の場合のブロック分割を説明する図である。輝度は、４ｘ４サイズの１６個のブロックに分割され、さらに、直流成分だけを分離して集めて４ｘ４サイズのＤＣブロックを構成する。残った交流成分のブロックは、１５個の係数で構成されることになる。色差も同様にそれぞれ４ｘ４サイズの４個のブロックに分割され、さらに、直流成分だけを分離して集めて２ｘ２サイズのＤＣブロックを構成する。
【０１３１】
図２６は、Ｉｎｔｒａ１６ｘ１６以外で４ｘ４サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。この場合、輝度は、４ｘ４サイズの１６個のブロックに分割され、直流成分は分離しない。また、色差は、図２０と同じである。
【０１３２】
図２７は、Ｉｎｔｒａ１６ｘ１６以外で８ｘ８サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。輝度は、８ｘ８サイズの４個のブロックに分割され、直流成分は分離しない。色差は、図２０と同じである。
【０１３３】
図２８は、ＭＰＥＧ−２の４：２：０フォーマットにおけるマクロブロック構造のブロック分割を説明する図である。輝度は、８ｘ８サイズの４個のブロックに分割される。また、色差は８ｘ８サイズのまま、１つのブロックを構成する。
【０１３４】
図２９は、８ｘ８サイズの場合におけるスキャン順の例を示す図である。図２１の４ｘ４サイズの場合と同様に、図２９に示すようにスキャン順が定義されている。尚、Ｈ．２６４とＭＰＥＧ−２のｚｉｇ−ｚａｇスキャンは同じである。また、Ｈ．２６４のＣＡＶＬＣの場合には、６４係数のデータを４つの１６係数の系列に分けて符号化処理をしているため、量子化処理自体は、１つの系列を１ブロックとみなし、４ｘ４サイズの場合と同様に扱う。
【０１３５】
また、４：２：０以外の画像フォーマットの場合についても、色差ブロックの数が異なるだけで、本発明の方式を同様に適用することができる。例えば、ｍｏｎｏｃｈｒｏｍｅの画像では色差ブロック（Ｃｂ、Ｃｒ）は存在しない。
【０１３６】
その他のフォーマットの色差ブロックの構造を図３０に示す。尚、以下では、輝度ブロックについては違いが無いため、図示及び説明を省略する。また、２つの色差ブロックの内、１つだけを図示及び説明する。また、４：２：２フォーマット及び４：４：４フォーマットでは、それぞれ色差のマクロブロックのサイズが大きくなり、ブロック数が増加する。図３０は、フォーマットの違いによる色差ブロックの構成例を示す図である。
【０１３７】
また、ＭＰＥＧ−２の場合の４：２：０フォーマット以外のマクロブロック構造を、図３１、３２に示す。図３１は、ＭＰＥＧ−２の４：２：２フォーマットにおけるマクロブロックの構成例を示す図である。図３２は、ＭＰＥＧ−２の４：４：４フォーマットにおけるマクロブロックの構成例を示す図である。
【０１３８】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施の形態にかかる画像符号化装置の全体構成を示すブロック図である。
【図２】本発明の実施の形態にかかる画像符号化処理の動作を示すフローチャート図である。
【図３】本発明の実施の形態にかかる符号量推定器の構成を示すブロック図である。
【図４】本発明の実施の形態にかかる係数の発生状態情報の計測処理の動作を示すフローチャート図である。
【図５】本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。
【図６】本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。
【図７】本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。
【図８】本発明の実施の形態にかかる目標符号量の例を示す図である。
【図９】本発明の実施の形態にかかる目標符号量の例を示す図である。
【図１０】本発明の実施の形態にかかる目標符号量の例を示す図である。
【図１１】本発明の実施の形態にかかる画像符号化装置の全体構成を示すブロック図である。
【図１２】本発明の実施の形態にかかる係数打ち切り器 の構成を示すブロック図である。
【図１３】本発明の実施の形態にかかる係数打ち切り処理の動作を示すフローチャート図である。
【図１４】本発明の実施の形態にかかる係数打ち切り処理における前後の係数の例を示す図である。
【図１５】本発明の実施の形態にかかる符号量推定器の構成を示すブロック図である。
【図１６】本発明の実施の形態にかかるブロック内の符号量分布の例を示す図である。
【図１７】本発明の実施の形態にかかる打ち切り位置決定処理の例を示す図である。
【図１８】特許文献２にかかる画像符号化装置の一部の構成を示すブロック図である。
【図１９】特許文献３にかかる動画像符号化装置の一部の構成を示すブロック図である。
【図２０】Ｉｎｔｒａ１６ｘ１６の場合におけるマクロブロックの構成例を示す図である。
【図２１】４ｘ４、色差２ｘ２の場合におけるスキャン順の例を示す図である。
【図２２】１ブロックの量子化係数の例を示す図である。
【図２３】Ｈ．２６４のＣＡＶＬＣにおける可変長符号化の例を示す図である。
【図２４】Ｈ．２６４のＣＡＢＡＣにおける可変長符号化の例を示す図である。
【図２５】ＭＰＥＧ−２における可変長符号化の例を示す図である。
【図２６】Ｉｎｔｒａ１６ｘ１６以外で４ｘ４サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。
【図２７】Ｉｎｔｒａ１６ｘ１６以外で８ｘ８サイズの直交変換を行う場合におけるマクロブロックの構成例を示す図である。
【図２８】ＭＰＥＧ−２の４：２：０フォーマットにおけるマクロブロックの構成例を示す図である。
【図２９】８ｘ８サイズの場合におけるスキャン順の例を示す図である。
【図３０】フォーマットの違いによる色差ブロックの構成例を示す図である。
【図３１】ＭＰＥＧ−２の４：２：２フォーマットにおけるマクロブロックの構成例を示す図である。
【図３２】ＭＰＥＧ−２の４：４：４フォーマットにおけるマクロブロックの構成例を示す図である。
【符号の説明】
【０１４０】
１００  画像符号化装置
１０１  画像符号化装置
１０  量子化器
１１  セレクタ
１１ａ  係数打ち切り器
１１０  セレクタ
１１１  係数打ち切り判定器
１１２  係数閾値判定器
１２  逆量子化器
１３  可変長符号化器
１４  符号量推定器
１４ａ  符号量推定器
１５  ＭＢヘッダ符号量推定器
１６  目標符号量計算器
１７  打ち切り制御器
１７ａ  打ち切り制御器
２０  変換係数
２１  量子化係数
２２  量子化係数
２３  逆量子化係数
２４  隣接ブロック情報
２５  ブロック推定符号量
２６  ＭＢ情報
２７  ＭＢ推定符号量
２８  目標符号量
２９  置換位置
２９ａ  置換閾値
３１  ０ランカウンタ
３２  ０係数カウンタ
３３  １係数カウンタ
３４  非０係数カウンタ
３５  非０係数最終位置
３６  係数符号量推定器
３７  ブロック符号量推定器
３８  推定符号量累算器
４１  runbefore
４２  TotalZeros
４３  TrailingOnes
４４  TotalCoeff
４５  CoeffNum
４６  符号量分布
８１  目標符号量
８２  目標符号量
８３  目標符号量
１６１  推定符号量
１６２  推定符号量
９０１  画像符号化装置
９１１  符号化モード選択回路
９１２  ＤＣＴ回路
９１３  量子化回路
９１４  スキャン順並べ替え回路
９１５  ＶＬＣ設定回路
９１６  ＶＬＣ回路
９１７  逆量子化回路
９１８  逆ＤＣＴ回路
９１９  符号量算出回路
９２０  符号量判定回路
９２１  制御データ位置情報記憶回路
９２２  重複領域判定回路
９３１  予測データ位置情報
９３２  符号化出力
９３３  ブロックエンド
９３４  制御データ位置情報
９０２  符号量制御装置
９４１  量子化回路
９４２  丸め回路
９４３  レート制御回路
９４４  符号量テーブル
９４５  可変長符号化回路
９４６  逆量子化回路
９５１  変換係数
９５２  目標符号量
９５３  逆量子化変換係数
α  傾き
β  傾き
【図１】
2010087770.tif 000003
【図２】
2010087770.tif 000004
【図３】
2010087770.tif 000005
【図４】
2010087770.tif 000006
【図５】
2010087770.tif 000007
【図６】
2010087770.tif 000008
【図７】
2010087770.tif 000009
【図８】
2010087770.tif 000010
【図９】
2010087770.tif 000011
【図１０】
2010087770.tif 000012
【図１１】
2010087770.tif 000013
【図１２】
2010087770.tif 000014
【図１３】
2010087770.tif 000015
【図１４】
2010087770.tif 000016
【図１５】
2010087770.tif 000017
【図１６】
2010087770.tif 000018
【図１７】
2010087770.tif 000019
【図１８】
2010087770.tif 000020
【図１９】
2010087770.tif 000021
【図２０】
2010087770.tif 000022
【図２１】
2010087770.tif 000023
【図２２】
2010087770.tif 000024
【図２３】
2010087770.tif 000025
【図２４】
2010087770.tif 000026
【図２５】
2010087770.tif 000027
【図２６】
2010087770.tif 000028
【図２７】
2010087770.tif 000029
【図２８】
2010087770.tif 000030
【図２９】
2010087770.tif 000031
【図３０】
2010087770.tif 000032
【図３１】
2010087770.tif 000033
【図３２】
2010087770.tif 000034