(57)【要約】本発明は、回路構成を簡易にできる。画像符号化装置（１００）は、複数の画素でなる符号化ブロックとしての４×４ブロックごとに走査されながら、複数の４×４ブロックによって構成される走査ブロックとしてのＭＢごとにライン走査されてなる入力画像（９１）が入力される。画像符号化装置（１００）は、入力画像（９１）に基づく符号化対象データとしての量子化係数において、符号化対象となる４×４ブロックの上隣及び左隣の４×４ブロックにおいて可変長符号化される符号化値としての非ゼロ係数の数ｎＢ及びｎＡの平均値であるテーブル選択指標ｎＣに対応するＶＬＣ（可変長）テーブルを選択する。このとき、画像符号化装置（１００）は、符号化対象となる４×４ブロックがＭＢの上端であった場合、上隣の４×４ブロックの非ゼロ係数の数ｎＢを左隣の４×４ブロックの非ゼロ係数の数ｎＡと擬制する。画像符号化装置（１００）は、選択されたＶＬＣテーブルを用いることにより、量子化係数において符号化対象となる４×４ブロックの非ゼロ係数の数を可変長符号化する。
2009157581.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択部と、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化部と
を有する画像処理装置。
【請求項２】
上記入力画像を少なくとも量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する前段符号化部と、
上記符号化対象データを上記可変長符号部によって可変長符号化したときの発生符号量に基づいて、上記入力画像を本符号化したときの発生符号量が目標符号量の近傍であると予測される基本量子化因子を決定する基本量子化因子決定部と、
上記基本量子化因子決定部によって決定された上記基本量子化因子に基づいて入力画像を本符号化する本符号化部と
をさらに有する請求項１に記載の画像処理装置。
【請求項３】
上記前段符号化部は、
上記入力画像を上記符号化ブロックごとに直交変換した後、量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する
請求項２に記載の画像処理装置。
【請求項４】
上記基本量子化因子決定部は、
上記基本量子化因子の近傍でなる予測量子化因子を決定する予測量子化因子選択部と、
上記予測量子化因子選択部によって選択された上記予測量子化因子及び当該予測量子化因子の近傍の量子化因子に基づいて上記入力画像を符号化し、上記入力画像の発生符号量を算出する近傍発生符号量算出部と、
上記近傍発生符号量算出部によって算出された上記入力画像の発生符号量に基づいて、上記基本量子化因子を決定する基本量子化因子決定部と
を有する請求項３に記載の画像処理装置。
【請求項５】
上記前段符号化部は、
上記ライン走査部によって走査された上記入力画像を複数の上記量子化因子に基づく複数の量子化ステップを用いて符号化することにより、複数の上記符号化対象データを生成し、
上記基本量子化因子決定部は、
上記複数の上記符号化対象データが上記可変長符号化部によって符号化されたときの複数の発生符号量に基づいて、上記基本量子化因子を決定する
請求項２に記載の画像処理装置。
【請求項６】
上記複数の符号化対象データと同一数だけ並列に設けられ、上記符号化対象データにおける符号化ブロックから、ゼロでない非ゼロの数を上記符号化値としてカウントする複数のカウント部と、
をさらに有し、
上記可変長符号化部は、
上記複数のカウント部によってカウントされた全ての上記符号化値を順次可変長符号化する
請求項５に記載の画像処理装置。
【請求項７】
上記可変長テーブル選択部は、
上記複数のカウント部によってカウントされた全ての上記符号化値に基づいて、上記複数の符号化対象データに対応する可変長テーブルを順次選択する
請求項６に記載の画像処理装置。
【請求項８】
上記カウント部は、
１又は−１の連続数であるＴｒａｉｌｉｎｇＯｎｅをカウントするＴｒａｉｌｉｎｇＯｎｅ計数部と、
上記ＴｒａｉｌｉｎｇＯｎｅ計数部によってカウントされない非ゼロの数であるＴｏｔａｌＣｏｅｆをカウントするＴｏｔａｌＣｏｅｆ計数部とを有し、
上記可変長符号化部は、
上記ＴｒａｉｌｉｎｇＯｎｅ計数部によってカウントされた全ての上記ＴｒａｉｌｉｎｇＯｎｅを記憶する第１の記憶部と、
上記ＴｏｔａｌＣｏｅｆ計数部によってカウントされた全ての上記ＴｏｔａｌＣｏｅｆを記憶する第２の記憶部と、
上記第１及び第２の記憶部に記憶されたＴｒａｉｌｉｎｇＯｎｅ及び上記ＴｏｔａｌＣｏｅｆを順次加算することにより、上記符号化値を順次算出する加算部と
を有する請求項７に記載の画像処理装置。
【請求項９】
上記前段符号化部は、
上記符号化ブロックにおける位置及び上記量子化因子の組み合わせに応じた第１の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化因子に応じて取り得る第１の乗算係数を特定し、当該特定した乗算係数を出力する乗算係数供給部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算係数供給部によって出力された第１の乗算係数のうち、使用する量子化因子に応じた第１の乗算係数を選択する複数の第１の乗算係数選択部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記第１の乗算係数選択部によって選択された乗算係数及び上記符号化ブロックの値を乗算する複数の乗算部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算部によって乗算された上記符号化ブロックの値を上記量子化因子に応じた桁数だけ右シフトさせる複数のシフト部と
を有する請求項５に記載の画像処理装置。
【請求項１０】
上記前段符号化部は、
量子化行列及び上記符号化ブロックの位置の組み合わせに応じた第２の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化行列に応じて取り得る第２の乗算係数を特定し、当該特定した第２の乗算係数を出力する第２の乗算係数供給部と、
上記第２の乗算係数供給部によって出力された第２の乗算係数のうち、使用する量子化行列に応じた乗算係数を選択する第２の乗算係数選択部と
をさらに有する請求項９に記載の画像処理装置。
【請求項１１】
直交変換された上記入力画像を上記量子化因子に基づくリスケーリングファクタにより除算したときの剰余に基づいて、上記入力画像が前回符号化されたときに使用された量子化因子を検出量子化因子として量子化単位ごとに検出する際、上記直交変換された入力画像のうち前半部分のみを除算するバックサーチ部
をさらに有する請求項１に記載の画像処理装置。
【請求項１２】
上記バックサーチ部は、
１０段構成でなる減算器を用いて、直交変換された上記入力画像のうち前半部分のみを、上記量子化因子に基づくリスケーリングファクタにより除算する
請求項１１に記載の画像処理装置。
【請求項１３】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択ステップと、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化ステップと
を有する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画像符号化装置等に係り、特に１ピクチャに与えられた目標符号量に画面内フィードバック制御を行わずに発生符号量を合わせ込む技術分野に関する。
【背景技術】
【０００２】
従来、動画のビットストリームを伝送したり記録メディアに記録したりするシステム等においては、伝送路或いは記録容量を効率良く利用するために、高能率符号化が実施されている。これを実現する画像符号化装置では、エンコーダで発生するビットストリームの符号化ビットレートは伝送メディアの転送レートに合わせて一定とされており、この制限の下でデータ発生量、つまり、エンコーダにおける量子化の量子化ステップが制御されている。すなわち、画像符号化装置は、例えば絵柄が複雑な画像が連続するときは量子化ステップを大きくしてデータ発生量を抑圧し、これとは逆に単純な絵柄が連続するときは量子化ステップを小さくしてデータ発生量を増加させることで、バッファメモリのオーバーフロー又はアンダーフローを生じさせないようにして固定レートを保持している。
従って、このような従来技術に係る画像符号化装置は、複雑な画像が連続するときは量子化ステップが大きくなり画質を劣化させ、単純な画像が連続するときは量子化ステップが小さくなり全体を通じて均等な画質を得ることができなかった。この問題に鑑みて、例えば特許文献１では、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）毎の符号化の難易度と複数のＧＯＰの符号化の難易度の総和の比に従って各ＧＯＰ自身に割り当てられる割当符号量を、絵柄が複雑な画像を含むＧＯＰに対しては多く割り当て、絵柄が単純な画像を含むＧＯＰに対しては少なく割り当てるように算出する画像符号化装置が開示されている。
一方、１ピクチャに与えられた目標符号量に発生符号量を合わせ込む方法として、例えばＴＭ５（ｔｅｓｔ  ｍｏｄｅｌ  ５）のｓｔｅｐ２が良く知られている。これは、ピクチャに割り当てられた符号量をマクロブロック（ＭＢ；Ｍａｃｒｏ  ｂｌｏｃｋ）に均等に配分したものをＭＢの目標符号量とし、ピクチャ内でフィードバック（ｆｅｅｄｂａｃｋ）制御をかける事で、目標符号量に合わせ込む手法である。
また、ＭＰＥＧ等の冗長圧縮方式の符号化処理において、画像符号化装置はＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；離散コサイン変換）等の直交変換を施した後、量子化処理を行うことで情報量を減らす処理を行う。そして、画像符号化装置は、この量子化の値を制御して、符号量の制御を行う。このとき、量子化パラメータと発生符号量との間には単調な減少関係が成立する。このため、画像符号化装置は、適当な間隔の量子化値で実際に符号量を計算して、その中間に位置する符号量の予測値については直線的な補間を行う等すれば、発生符号量を予測することができる（ＤＶ等のイントラＶＴＲで行われるバイナリサーチ等）。
この方法は、ＭＰＥＧ２等の固定テーブルを使用した符号化方式だけでなく、ＡＶＣ等で用いられる適応型（Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ）な符号化方式においても適用可能である。
【特許文献１】特許第３３５８６２０号公報。
【０００３】
しかしながら、前述したＴＭ５のｓｔｅｐ２の方法では、シーケンス先頭ピクチャやシーンチェンジ直後ピクチャのエンコードにおいて、量子化ステップの初期値が、そのピクチャの絵柄に合ったものではないため、画質が劣化する場合があった。
例えばＴＭ５のｓｔｅｐ２の方法において、画像符号化装置は、フォードバックが絵柄に追従するまでの部分の量子化ステップが大きすぎる場合は、その部分の画質が他の部分に比べて劣化してしまい、量子化値が小さすぎる場合は、その部分で符号量を使いすぎてしまい、他の部分にその影響が及ぶおそれがある。
また、画像符号化装置は、ＭＢの目標符号量を常に一定にしているため、画面内で画の難しさに偏りがある時などは、不適切な符号量配分になっていた。
一方、前述したような発生符号量の予測処理において、画像符号化装置は、精度良く予測するために量子化処理部と符号長計算部を並列に多数持ち、補間による誤差を減らすことが必要となる。この場合、画像符号化装置は、回路を多数並列に持つことにより符号量予測精度を改善するが、ハードウェア規模が大きなものとなり、回路規模を削減することが望まれる。
そこで、本発明は、符号量予測において、回路規模を削減することを課題とする。
【発明の開示】
【０００４】
かかる課題を解決するため本発明の画像処理装置においては、複数の画素でなる符号化ブロックごとに走査されながら、複数の符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、符号化対象となる符号化ブロックが走査ブロックの上端であった場合、上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択部と、可変長テーブルを用いることにより、符号化対象データにおいて符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化部とを設けるようにした。
これにより画像処理装置は、走査ブロックにおける下端の符号化ブロック１ライン分の符号化値を記憶せずに済む。
また本発明の画像処理方法においては、複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択ステップと、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化ステップと
これにより画像処理方法は、走査ブロックにおける下端の符号化ブロック１ライン分の符号化値を記憶せずに済む。
本発明によれば、走査ブロックにおける下端の符号化ブロック１ライン分の符号化値を記憶せずに済むため、ラインメモリを設ける必要がない。かくして回路規模を削減し得る画像処理装置及び画像処理方法を実現できる。
【図面の簡単な説明】
【０００５】
図１は、本発明の第１の実施の形態に係る画像符号化装置の構成図。
図２は、従来の画像符号化装置の量子化部及びＣＡＶＬＣ計算部を抽出した構成図。
図３は、量子化部、ＣＡＶＬＣ計算部の基本的な構成を示す図。
図４は、本発明の第１の実施の形態に係る画像符号化装置の量子化部及びＣＡＶＬＣ計算部の構成を詳細に示す構成図。
図５は、ＶＬＣテーブル選択処理手順を表すフローチャート。
図６は、本発明の第２の実施の形態に係る画像符号化装置の構成図。
図７は、予測モード決定部、パラメータ復元処理部の詳細な構成図。
図８は、パラメータ復元処理について説明するフローチャート。
図９は、ＭＢ  ＱＰバックサーチ部の詳細な構成図。
図１０は、ＭＢ  ＱＰバックサーチ処理について説明するフローチャート。
図１１は、Ｉｎｔｒａ予測バックサーチ部の詳細な構成図。
図１２は、Ｉｎｔｒａ予測バックサーチ処理について説明するフローチャート。
図１３は、剰余計算部の詳細な構成図。
【符号の説明】
【０００６】
１…第１のプレエンコード部、２…第２のプレエンコード部、３…エンコード部、４…符号量制御部、５，６…ディレイバッファ、１１…画面内予測モード決定部、１２…画面内予測処理部、１３…ＤＣＴ部、１４…量子化部、１５…ＣＡＶＬＣ計算部、２１…画面内予測処理部、２２…ＤＣＴ部、２３…量子化部、２４…ＣＡＶＬＣ計算部、２５…バッファ、２６…ＩＤＣＴ部、２７…逆量子化部、３１…画面内予測処理部、３２…ＤＣＴ部、３３…量子化部、３４…エントロピー符号化部、３５…バッファ、３６…ＩＤＣＴ部、３７…逆量子化部、４０…前定モード推定プレエンコード部、４４…バッファ、４５…量子化部、４６…エントロピー符号長計算部、５０…画面内予測モード決定部、６０…パラメータ復元処理部、７０…ＭＢ  ＱＰバックサーチ部、８０…Ｉｎｔｒａ予測バックサーチ部、１２０…剰余計算部、１４０…量子化共有部、１５０…ＣＡＶＬＣ共有計算部
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明を実施するための最良の形態（以下、単に実施の形態と称する）について詳細に説明する。なお説明は以下の順序で行う。
１．第１の実施の形態（計算部の一部共通化）
２．第２の実施の形態（バックサーチ部の回路構成）
３．他の実施の形態
＜１．第１の実施の形態＞
［１−１．画像符号化装置の構成］
図１には、本発明の一実施の形態に係る画像符号化装置１００の構成を示し説明する。
この画像符号化装置１００は、第１のプレエンコード部１、第２のプレエンコード部２、本エンコード部３、符号量制御部４、ディレイバッファ５，６を有している。
画像符号化装置１００は、符号量制御を行うため、予め第１のプレエンコード部１及び第２のプレエンコード部２によってプレエンコードを行い、本エンコード部３で用いる基本量子化パラメータＱＰＭＢ、予測量子化行列Ｑ  ＭａｔｒｉｘＤ、画面内予測モード、アクティビティグループなどの本エンコード情報を決定する。
このとき、第１のプレエンコード部１では、少し精度を落とし回路規模並びに処理負荷を抑えた並列プレエンコードを広い範囲の量子化パラメータＱＰで行い、目標符号量を実現する予測量子化パラメータＱＰｄを粗く見積もる。第２のプレエンコード部２では、精度を上げた並列プレエンコードを狭い範囲で行い、本エンコード部３で使用する基本量子化パラメータＱＰＭＢを決定する。
第１のプレエンコード部１は、第１のプレエンコード処理を行うモジュールであり、画面内予測モード決定部１１、画面内予測処理部１２、ＤＣＴ部１３、量子化部１４、ＣＡＶＬＣ計算部１５、アクティビティ（Ａｃｔｉｖｉｔｙ）計算部１６を備えている。
第２のプレエンコード部２は、第２のプレエンコード処理を行うモジュールであり、画面内予測処理部２１、ＤＣＴ部２２、量子化部２３、エントロピー符号長計算部２４、バッファ２５、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  ＤＣＴ）部２６、逆量子化部２７を備えている。
そして、本エンコード部３は、本エンコードを行うモジュールであり、画面内予測処理部３１、ＤＣＴ部３２、量子化部３３、エントロピー符号化部３４、バッファ３５、ＩＤＣＴ部３６、逆量子化部３７を備えている。
符号量制御部４は、符号量制御を行うモジュールである。
画像符号化装置１００は、外部から供給される入力画像９１を、第１のエンコード部１、ディレイバッファ５及び６に供給する。第１のエンコード部１は、量子化パラメータＱＰごとの発生符号量を粗く見積もる。第１のエンコード部１は、供給される入力画像９１を、アクティビティ計算部１６及び画面内予測モード決定部１１に供給する。アクティビティ計算部１６は、画像の複雑さに応じてＭＢをアクティビティグループに振分ける。アクティビティ計算部１６は、アクティビティグループ番号を量子化部１４及び符号量制御部４に供給する。
画面内予測モード決定部１１は、入力画像９１が供給されると、当該入力画像９１の画面内予測処理を実行し、差分画像データを生成する。なお、画面内予測モード決定部１１は、予測画像として入力画像９１を用いることにより、第１のプレエンコード部１における画面内予測処理を簡易化している。画面内予測モード決定部１１は、差分画像データの発生符号量に基づいて本エンコード部３で使用する画面内予測モードを決定し、当該決定した画面内予測モードを画面内予測処理部１２、２１及び３１にそれぞれ供給する。
画面内予測処理部１２は、画面内予測モード決定部１１によって決定された画面内予測モードによって入力画像９１から差分画像データを生成し、ＤＣＴ部１３に供給する。ＤＣＴ部１３は、差分画像データに対してＤＣＴ処理を施し、ＤＣＴ係数を生成し、量子化部１４へ供給する。
量子化部１４は、０〜５１でなる量子化パラメータＱＰのうち、離散的に選択された選択量子化パラメータＱＰｌを用いることにより、複数の量子化ステップで並列的に量子化を実行する。例えば、量子化部１４は、並列に接続されたｎ段の量子化部１４−１〜１４−ｎを有しており、ｎ個の選択量子化パラメータＱＰｌに基づいて量子化処理を実行し、ｎ個の量子化係数を生成する。なお、量子化部１４は、選択量子化パラメータＱＰｌをピクチャの平均量子化パラメータＢａｓｅＱＰとし、アクティビティ計算部１６から供給されるアクティビティグループ番号に応じたオフセットを加算して量子化を実行する。この量子化部１４の詳細な構成については後述する。量子化部１４は、ｎ個の量子化係数をＣＡＶＬＣ計算部１５に供給する。
ＣＡＶＬＣ計算部１５は、ｎ個の量子化係数に対し、それぞれＣＡＶＬＣ処理を実行し、ＭＢごとの発生符号量を符号量制御部４に供給する。
ここで、第１のプレエンコード部１では、画面内予測処理部１２において、予測画像としてローカルデコード画像の代りに入力画像９１を用いている。また、本エンコード部３ではエントロピー符号化方式としてＣＡＶＬＣとＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）とを切り替えて実行する。
このため、符号量制御部４は、予め統計によって算出された統計モデルを用いて、発生符号量を補正する。これにより、符号量制御部４は、第１のプレエンコード部１によって算出された発生符号量の精度を向上させることができる。さらに、符号量制御部４は、補正後の選択量子化パラメータＱＰｌに基づく発生符号量に対し、当該選択量子化パラメータＱＰｌ以外の量子化パラメータに基づく発生符号量を算出する。以下、補正後の選択量子化パラメータＱＰｌに基づく発生符号量及び補間により算出された発生符号量をまとめて低精度発生符号量と呼ぶ。これにより、符号量制御部４は、量子化パラメータＱＰの全てについて量子化及びＣＡＶＬＣ処理を実行せずに済み、量子化部１４の回路構成を削減すると共に処理負荷を軽減することができる。
符号量制御部４は、低精度発生符号量が目標符号量に最も近い量子化パラメータＱＰを予測量子化パラメータＱＰｄとして選択する。この予測量子化パラメータＱＰｄは、第１のプレエンコード部１によって簡易的に算出された低精度発生符号量に基づく大体の値であり、本エンコード時における本エンコード発生符号量が目標符号量の近傍であると予測される値となる。なお、符号量制御部４は、量子化行列Ｑ  Ｍａｔｒｉｘが適応的に選択される場合には、量子化行列Ｑ  Ｍａｔｒｉｘごとに低精度発生符号量を生成し、量子化行列Ｑ  Ｍａｔｒｉｘの取り得る量子化パラメータＱＰであって、低精度発生符号量が目標符号量に近く、かつ傾斜のなるべく小さい量子化行列Ｑ  Ｍａｔｒｉｘを予測量子化行列Ｑ  ＭａｔｒｉｘＤとして選択する。
第２のプレエンコード部２は、本エンコード部３において使用される基本量子化パラメータＱＰＭＢを決定する。第２のプレエンコード部２は、ディレイバッファ５から供給される遅延処理された入力画像９１を、画面内予測処理部２１に供給する。画面内予測処理部２１は、画面内予測モード決定部１１から供給される画面内予測モードによって当該入力画像９１を画面内予測により符号化して差分画像データを生成し、差分画像データをＤＣＴ部２２に供給する。
ＤＣＴ部２２は、差分画像データにＤＣＴ処理を施してＤＣＴ係数を生成し、量子化部２３に供給する。量子化部２３は、３段の量子化部２３−１、２３−２及び２３−３を有している。量子化部２３は、予測量子化パラメータＱＰｄ及び当該予測量子化パラメータＱＰｄの近傍の量子化パラメータＱＰに基づいてＤＣＴ係数を量子化して量子化係数をそれぞれ生成し、エントロピー符号長計算部２４に供給する。エントロピー符号長計算部２４は、ＣＡＶＬＣとＣＡＢＡＣのうち、本エンコード部３において使用される符号化方式によって量子化係数を符号化し、量子化パラメータＱＰごとの高精度発生符号量を生成する。符号量制御部４は、エントロピー符号長計算部２４による高精度発生符号量に基づいて、目標符号量に最も近い高精度発生符号量でなる量子化パラメータＱＰを基本量子化パラメータＱＰＭＢに決定する。量子化部２３は、予測量子化パラメータＱＰｄに基づいて生成された量子化係数を逆量子化部２７に供給する。逆量子化部２７は、量子化係数を逆量子化してＤＣＴ係数を生成し、ＩＤＣＴ部２６に供給する。ＩＤＣＴ部２６は、ＤＣＴ係数にＩＤＣＴ処理を施してローカルデコード画像を生成し、バッファ２５に供給する。バッファ２５は、画面内予測処理部２１にローカルデコード画像を供給する。この結果、画面内予測処理部２１は、ローカルデコード画像を予測画像として画面内予測処理を実行する。
第２のプレエンコード部２は、予測画像としてローカルデコード画像を用いると共に、本エンコード部３と同様の符号化方式でエントロピー符号化を実行することにより、第１のプレエンコード部１と比して高い精度で高精度発生符号量を算出することができる。そして符号量制御部４は、高精度発生符号量を基に、目標符号量に最も近くなる本エンコード発生符号量を発生させると予測される量子化パラメータＱＰを基本量子化パラメータＱＰＭＢに決定することができる。
本エンコード部３は、ディレイバッファ６から供給される遅延処理された入力画像９１を、画面内予測処理部３１に供給する。画面内予測処理部３１は、画面内予測モード決定部１１から供給される画面内予測モードによって当該入力画像９１を画面内予測により符号化して差分画像データを生成し、差分画像データをＤＣＴ部３２に供給する。
ＤＣＴ部３２は、差分画像データにＤＣＴ処理を施してＤＣＴ係数を生成し、量子化部２３に供給する。量子化部３３は、基本量子化パラメータＱＰＭＢに基づいてＤＣＴ係数を量子化して量子化係数を生成し、エントロピー符号長計算部３４に供給する。エントロピー符号長計算部３４は、ＣＡＶＬＣとＣＡＢＡＣのいずれかによって量子化係数をエントロピー符号化し、出力ストリーム９２として外部機器に供給する。
量子化部３３は、基本量子化パラメータＱＰＭＢに基づいて生成された量子化係数を逆量子化部３７に供給する。逆量子化部３７は、量子化係数を逆量子化してＤＣＴ係数を生成し、ＩＤＣＴ部３６に供給する。ＩＤＣＴ部３６は、ＤＣＴ係数にＩＤＣＴ処理を施してローカルデコード画像を生成し、バッファ３５を介して、画像内予測処理部３１にローカルデコード画像を供給する。画面内予測処理部３１は、ローカルデコード画像を予測画像として画面内予測処理を実行する。
このように、画像符号化装置１００は、第１のプレエンコード部１によって量子化パラメータＱＰごとの発生符号量を低精度発生符号量として粗く見積もり、当該低精度発生符号量に基づいて予測量子化パラメータＱＰｄを決定する。画像符号化装置１００は、第２のプレエンコード部２によって予測量子化パラメータＱＰｄ及びその近傍の量子化パラメータＱＰを用いて高い精度で高精度発生符号量を算出する。そして画像符号化装置１００は、高い精度で算出された高精度発生符号量に基づいて基本量子化パラメータＱＰＭＢを決定し、本エンコード部３による本エンコード処理に用いる。これにより、画像符号化装置１００は、第１のプレエンコード部１及び第２のプレエンコード部２の２段のプレエンコードにより、全ての量子化パラメータＱＰに基づく発生符号量を算出することなく、高い精度で基本量子化パラメータＱＰＭＢにおける高精度発生符号量を算出することができる。この結果、画像符号化装置１００は、簡易な構成で適切な基本量子化パラメータＱＰＭＢを決定することができる。
［１−２．従来の量子化部及びＣＡＶＬＣ計算部の構成］
ここで、本実施の形態に係る画像符号化装置１００に関する理解を深めるために、基本となる従来の量子化部及び従来のＣＡＶＬＣ計算部についてその構成及び作用を説明する。
図２には、従来の量子化部３００、従来のＣＡＶＬＣ計算部４００の構成を示し説明する。この量子化部３００及びＣＡＶＬＣ計算部４００は、選択量子化パラメータＱＰｌと同数だけ配列され、一対の量子化部３００及びＣＡＶＬＣ計算部４００ごとに一の選択量子化パラメータＱＰｌに基づく発生符号量を算出する。
量子化部３００は、ＭＢ  ＱＰ計算部３０１、スキャンアドレス生成部３０２、ＱＰ％６変換部３０３、ＱＰ／６変換部３０４、スケールファクタＲＡＭ３０５、乗算器３０６、バレルシフタ３０７を備えている。
一方、ＣＡＶＬＣ計算部４００は、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１、ＴｏｔａｌＣｏｅｆ計数部４０２、ＴｏｔａｌＺｅｒｏ計数部４０３、ＲｕｎＢｅｆｏｒｅ計数部４０４、ＬｅｖｅｌＬｅｎｇｔｈ計算部４０５、ＺｅｒｏＬｅｆｔ計算部４０６、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７、ＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８、ＲｕｎＢｅｆｏｒｅビット長ＲＯＭ４０９、加算器４１０、４１１、４１６、ＭＢ境界ｎＢ記憶用ラインメモリ４１２、ｎＢ保持メモリ４１３、ｎＡ保持メモリ４１５、そして、ｎＢ選択部４１４を備えている。
量子化部３００は、ＤＣＴ係数Ｗと量子化パラメータＱＰを用いて、次式により量子化係数Ｚを算出する。
Ｚ＝｛（ＭＦ＊１６／ＱＭａｔｒｉｘ）＊Ｗ＋ｆ｝＞＞（１５＋ＱＰ／６）
ただし、
ＭＦ：ＡＶＣの規格で定められている値から算出されるスケーリングファクタ
ｆ：切り上げ、切捨て位置を決める丸めファクタ
このような構成において、量子化部３００には、以下の信号が入力される。
・マクロブロックがＦｉｅｌｄ構成かＦｒａｍｅ構成かを示すＡＦＦ信号
・直交変換に８ｘ８ＤＣＴを使用するか４ｘ４ＤＣＴを使用するかを示す８ｘ８／４ｘ４信号
・Ａｃｔｉｖｉｔｙ  Ｇｒｏｕｐ（アクティビティグループ）
・ＤＣＴ後の結果であるＤＣＴ係数
尚、「アクティビティグループ」は、ピクチャ全体のベースとなる平均量子化パラメータＢａｓｅ  ＱＰに対するマクロブロックごとの量子化のオフセット情報として供給される。「ＤＣＴ係数」は、符号化に適した順序（例えば、スキャンの逆順）で供給されるものとする。
ＭＢ  ＱＰ計算部３０１は、アクティビティグループと平均量子化パラメータＢａｓｅ  ＱＰ（設定された選択量子化パラメータＱＰｌ）からＭＢ単位のアクティビティをオフセットした、適応量子化パラメータＱＰｔを計算する。ＱＰ％６変換部３０３は、この適応量子化パラメータＱＰｔを「６」で除算したときの剰余（すなわち０，１，２，３，４，５の６通りからいずれか）を出力して、スケールファクタＲＡＭ３０５及びＱＰ／６変換部３０４に供給する。
ＡＦＦ信号及び８ｘ８／４ｘ４信号はスキャンアドレス生成部３０２に入力される。スキャンアドレス生成部３０２は、これらＡＦＦ信号及び８ｘ８／４ｘ４信号に基づいてＤＣＴ係数の入力位置を示すＤＣＴアドレスを生成し、スケールファクタＲＡＭ３０５に供給する。
スケールファクタＲＡＭ３０５は、次式で得られる乗算係数を保持している。
2009157581.tif 000003
ここで、ｈ，ｖはＤＣＴ係数における水平方向及び垂直方向を表すＤＣＴアドレスであり、８ｘ８では０〜７，４ｘ４では０〜３まで変化する。ＭＦはＨ．２６４で定められた定数パラメータであるスケーリングファクタである。そして、量子化行列Ｑ  Ｍａｔｒｉｘはエンコーダで設定可能なパラメータである。すなわち、スケールファクタＲＡＭ３０５は、ＤＣＴブロックサイズ（８×８／４×４）、適応量子化パラメータＱＰｔの値、ＤＣＴアドレスに応じて変化するスケーリングファクタＭＦに対し、「１６」を乗算し、量子化行列Ｑ  Ｍａｔｒｉｘを除算した値（ＭＦ＊１６／ＱＭａｔｒｉｘ）を保持している。スケールファクタＲＡＭ３０５は、ＤＣＴアドレスに基づいて、スキャン位置位相のあった乗算係数を乗算器３０６に出力する。
ＱＰ／６変換部３０４は、ＭＢ  ＱＰ計算部３０１から適応量子化パラメータＱＰｔが供給されると、適応量子化パラメータＱＰｔに対して整数の割り算を行った結果をバレルシフタ３０７へ出力する。バレルシフタ３０７は、ＱＰ／６変換部３０４に対し「１５」を加算することにより、シフト量を算出し、ＣＡＶＬＣ算出部４００に供給する。量子化部３００の出力は、乗算器３０６の結果をバレルシフタ３０７でシフトしたことで、量子化（割り算）が実行されたのと等価となる。
量子化部３００の出力を受けて、ＣＡＶＬＣ計算部４００は実際の符号化を実行したときの発生符号量を計算する。
ＣＡＶＬＣ計算部４００は、非ゼロ係数の個数を表すＴｏｔａｌＣｏｅｆと、最後に連続する絶対値１の係数の個数及び符号を表すＴｒａｉｌｉｎｇＯｎｅ及びｔｒａｉｌｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇと、ＤＣＴ係数の値を表すｌｅｖｅｌと、最後の非ゼロ係数以前のゼロ係数の個数を表すｔｏｔａｌ＿ｚｅｒｏと、非ゼロでなるＤＣＴ係数の前のゼロの連続個数を表すｒｕｎ＿ｂｅｆｏｒｅをそれぞれ符号化してその符号長を算出する。このとき、ＣＡＶＬＣ計算部４００は、非ゼロ係数の個数を表すＴｏｔａｌＣｏｅｆと、最後に連続する絶対値１の係数の個数及び符号を表すＴｒａｉｌｉｎｇＯｎｅについて、周囲の４×４ブロックの状態に応じて適応的な符号化を実行する。ＣＡＶＬＣ計算部４００は、ＴｏｔａｌＣｏｅｆ及びＴｒａｉｌｉｎｇＯｎｅの加算値に基づいて４×４ブロックごとにＶＬＣテーブルを選択する。
ＴｒａｉｌｉｎｇＯｎｅ計数部４０１は、４ｘ４ブロック１６サンプルの逆スキャン順の入力値に対して、ゼロは除いて、先頭から１或いは−１の続く個数を計数し、ＴｒａｉｌｉｎｇＯｎｅとして加算器４１１及びＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７にそれぞれ供給する。ＴｏｔａｌＣｏｅｆ計数部４０２は、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１で計数されない非ゼロ係数を計数し、ＴｏｔａｌＣｏｅｆとして加算器４１１、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７及びＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８にそれぞれ供給する。ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７は、加算器４１６の結果に応じて４×４ブロックごとにＶＬＣテーブルを適応的に選択してＴｏｔａｌＣｏｅｆ及びＴｒａｉｌｉｎｇＯｎｅを符号化し、その符号長を加算器４１０に供給する。
ＴｏｔａｌＺｅｒｏ計数部４０３は、先頭に連続したゼロを除外したゼロ係数の個数を計数し、ｔｏｔａｌ＿ｚｅｒｏとしてＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８及びＺｅｒｏＬｅｆｔ計算部４０６に供給する。ＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８は、ｔｏｔａｌ＿ｚｅｒｏ及びＴｏｔａｌＣｏｅｆの組み合わせとしてその符号長を算出し、加算器４１０に供給する。
Ｒｕｎｂｅｆｏｒｅ計数部４０４は、ＴｒａｉｌｉｎｇＯｎｅ計数４０１で計数した非ゼロ係数（±１）の次に連続するゼロの個数とＴｏｔａｌＣｏｅｆ計数部４０２で計数した非ゼロ係数の次に連続するゼロの個数を順次計数し、ＺｅｒｏＬｅｆｔ計算部４０６に供給する。
ＺｅｒｏＬｅｆｔ計算部４０６では、ＴｏｔａｌＺｅｒｏ計数部４０３のｔｏｔａｌ＿ｚｅｒｏからＲｕｎｂｅｆｏｒｅ計数部４０４のゼロランの連続数を順次減じることにより、残りのＺｅｒｏ個数であるＺｅｒｏ  Ｌｅｆｔを蓄えておく。Ｒｕｎｂｅｆｏｒｅビット長ＲＯＭ４０９は、Ｚｅｒｏ  ＬｅｆｔとＲｕｎｂｅｆｏｒｅの組み合わせとして、Ｒｕｎｂｅｆｏｒｅを符号化するときの符号長を求める。
そして、ＬｅｖｅｌＬｅｎｇｔｈ計算部４０５は、非ゼロでなるＤＣＴ係数の符号長を計算する。
ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７における適応的なＶＬＣテーブルの選択は、ＴｏｔａｌＣｏｅｆ及びＴｒａｉｌｉｎｇＯｎｅに基づいて実行される。加算器４１１は、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１から供給されるＴｒａｉｌｉｎｇＯｎｅとＴｏｔａｌＣｏｅｆ計数部４０２から供給されるＴｏｔａｌＣｏｅｆとを加算して、非ゼロ係数の総数を求める。ＶＬＣテーブルは、左隣の４×４ブロックにおける非ゼロ係数の個数ｎＡと、上隣の４×４ブロックにおける非ゼロ係数の個数ｎＢとから選択される。加算器４１１は、ｎＡ及びｎＢとして参照するため、必要となる４×４ブロックにおける非ゼロ係数の個数をｎＢ保持メモリ４１３とｎＡ保持メモリ４１５に蓄える。
また、ライン方向に順次ＭＢが供給され、ＭＢにおいて所定の順序（８×８サブブロック内におけるラスタスキャン順序）で４×４ブロックがスキャンされる。このことから、左隣の４×４ブロックは、ほぼ直前にスキャンされることになる。また、ＭＢ内における上隣のブロックも同様に、ほぼ直前にスキャンされることになる。しかしながら、ＭＢにおける上端の４×４ブロックは、上隣のブロックを参照するためには、１ライン前のＭＢにおける最下端の４×４ブロックを参照する必要がある。このため、加算器４１１は、マクロブロックライン分の値をＭＢ境界ｎＢ記憶ラインメモリ４１２に蓄える。ｎＢ選択部４１４はＭＢ内の４×４ブロックのアドレスから、上境界の場合はＭＢ境界ｎＢ記憶ラインメモリ４１２に保持した上部に位置するｎＢを選択し、それ以外はｎＢ保持メモリ４１３から上部に位置するｎＢを選択する。そして、加算器４１６は、左隣及び上隣の４×４ブロックにおける非ゼロ係数の平均値をテーブル選択指標ｎＣとし、以下の数式に従ってテーブル選択指標ｎＣを算出する。
ｎＣ＝（ｎＡ＋ｎＢ）／２
そして、加算器４１０は、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７、ＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８、ＲｕｎＢｅｆｏｒｅビット長ＲＯＭ４０９、ＬｅｖｅｌＬｅｎｇｔｈ計算部４０５による値の加算を行い、符号長の総数を得る。
以上の処理は、４×４ブロックごとにピクチャ全体にわたり繰り返し行われて、平均量子化パラメータＢａｓｅ  ＱＰのときのピクチャの低精度発生符号量を得る。このピクチャの低精度発生符号量を求める処理は異なる離散的（とびとび）の選択量子化パラメータＱＰｌを平均量子化パラメータＢａｓｅ  ＱＰとし、１５通り並列に処理されると共に、各量子化行列Ｑ  Ｍａｔｒｉｘについて、処理されることになる。
［１−３．本実施の形態による量子化部及びＣＡＶＬＣ計算部の構成］
図３及び図４に、先に示した図２の構成に特徴的な処理を加えた、本発明の一実施の形態に係る画像符号化装置１００の構成の一部を抽出して示し説明する。なお、図２に示した従来のＣＡＶＬＣ計算部４００と対応する箇所に同一符号を附して示し、同一部分についての説明を省略する。
この実施の形態に係る画像符号化装置１００及び画像符号化方法は、以下などを特徴とする。
Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ；高度動画像圧縮符号化標準）などに代表される画像圧縮方式で、発生符号量を前処理で予測するとき、異なる量子化ステップで並列に量子化を行い符号長計算する際に、処理の簡易化を行うことでハードウェアを削減する構成であり、以下の３点を特徴とする。
・ＣＡＶＬＣ計算部１５のＣＡＶＬＣ共有計算部１５０にてＭＢ上端の４×４ブロックにおける非ゼロ係数の数ｎＢを使用せず符号量を計算することで、ラインメモリを削減する。
・４ｘ４ブロック単位で演算を行うＣＡＶＬＣ共有計算処理を時分割に共有することで、符号長変換メモリなどの論理モジュールを削減する。
・量子化共有部１４０により、スケーリングファクタと量子化行列Ｑ  Ｍａｔｒｉｘの選択処理と量子化処理とを分離することで、メモリを共有し、メモリを削減する。
図３に、量子化部１４及び符号長計算部１５の構成を示している。量子化部１４は、選択量子化パラメータＱＰｌと同数でなる量子化部１４−１〜１４−ｎが並列に設けられており、当該量子化部１４−１〜１４−ｎに対し共有の量子化共有部１４０がそれぞれ接続されている。ＣＡＶＬＣ計算部１５も同様であり、選択量子化パラメータＱＰｌと同数でなるＣＡＶＬＣ計算部１５−１〜１５−ｎが並列に設けられており、当該ＣＡＶＬＣ計算部１５−１〜１５−ｎに対し共有のＣＡＶＬＣ共有計算部１５０がそれぞれ接続されている。
図４は、複数の量子化パラメータＱＰで量子化、可変長符号化する要部のブロック図である。尚、この画像符号化装置１００の作用は本実施の形態に係る画像符号化方法にも相当する。
図４に示されるように、量子化共有部１４０は、スキャンアドレス生成ＲＡＭ１０１、スケールファクタＲＡＭ１０２、１／Ｍａｔｒｉｘ  ＲＡＭ１０３を有している。
量子化部１４−１〜１４−ｎは、ＭＢ  ＱＰ計算部５０１、ＱＰ％６変換部５０２、スケールファクタセレクタ５０３、１／Ｍａｔｒｉｘセレクタ５０４、ＱＰ／６変換ＲＯＭ５０５、乗算器５０６、５０７、バレルシフタ５０８を備えている。
ＣＡＶＬＣ共有計算部１５０は、バッファ２０１、２０２、加算器２０３、ｎＢ保持メモリ２０４、ｎＡ保持メモリ２０５、加算器２０６、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７、加算器２０８を備えている。
そして、ＣＡＶＬＣ計算部１５−１〜１５−ｎは、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１、ＴｏｔａｌＣｏｅｆ計数部４０２、ＴｏｔａｌＺｅｒｏ計数部４０３、ＲｕｎＢｅｆｏｒｅ計数部４０４、ＬｅｖｅｌＬｅｎｇｔｈ計算部４０５、ＺｅｒｏＬｅｆｔ計算部４０６、ＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８、ＲｕｎＢｅｆｏｒｅビット長ＲＯＭ４０９、加算器４１０を備えている。
このように、画像符号化装置１００は、並列化処理の回路規模を削減するために、量子化共有部１４０とＣＡＶＬＣ共有計算部１５０を共有して使用する構成となっている。
量子化共有部１４０では、主に、スケールファクタＲＡＭ１０２及び１／ＭａｔｒｉｘＲＡＭ１０３を共有することで、ＳＲＡＭサイズを削減する。ＣＡＶＬＣ共有計算部１５０では他の処理を画素ごとに実行するのに対し、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７の符号長計算が４ｘ４ブロックに１回の処理でよいため、時分割して処理するようにして回路を共有している。
また、ＣＡＶＬＣ計算部１５は、図３のＭＢ境界ｎＢ記憶用ラインメモリ４１２を削減するために、ＭＢ上境界でｎＢ＝ｎＡとして近似的に符号量を計算する。ｎＢ＝ｎＡとすることは近似処理であり誤差要因であるが符号量を予測する過程において許容範囲内である。また、この近似により得られる１５並列分のラインメモリの削減効果は大きい。
このような構成において、量子化共有部１４０にはＭＢがＦｉｅｌｄ構成かＦｒａｍｅ構成かを示すＡＦＦ信号、直交変換に８ｘ８ＤＣＴを使用するか４ｘ４ＤＣＴを使用するかを示す８ｘ８／４ｘ４信号が入力される。より詳細には、スキャンアドレス生成ＲＡＭ１０１は、ＡＦＦ信号、８ｘ８／４ｘ４信号が入力されると、ＤＣＴ係数入力位置を示すＤＣＴアドレスを生成する。
スケールファクタＲＡＭ１０２は、スキャン位置位相のあったスケーリングファクタＭＦを量子化部５００のスケールファクタセレクタ５０３に出力する。上述したように、スケーリングファクタＭＦは、ＤＣＴアドレス及びＱＰ％６の値（選択量子化パラメータＱＰｌを６で除算したときの剰余）に応じて選択される。各量子化部１４−１〜１４−ｎでは、それぞれ異なる選択量子化パラメータＱＰｌが平均量子化パラメータＢａｓｅＱＰとして設定される。このため、スケールファクタＲＡＭ１０２は、ＤＣＴアドレスに応じて、全６通り（ＱＰ％６＝０，１，２，３，４，５）に対応するスケーリングファクタＭＦを全て出力し、後段の量子化部１４−１〜１４−ｎにおけるスケールファクタセレクタ５０３によって選択させる。同様に、１／Ｍａｔｒｉｘ  ＲＡＭ１０３は、量子化行列Ｑ  Ｍａｔｒｉｘのうち、スキャン位置位相のあった行列値の逆数を量子化部１４−１〜１４−ｎの１／Ｍａｔｒｉｘセレクタ５０４に出力する。１／Ｍａｔｒｉｘ  ＲＡＭ１０３は、行列値の逆数を出力するために当該行列値の逆数を２０ｂｉｔ程度の左シフトで桁上げしておく。
即ち、使用される量子化行列Ｑ  Ｍａｔｒｉｘは選択量子化パラメータＱＰｌの値に依存して変化するため、複数（例えば、４種類程度）必要となる。１／ＭａｔｒｉｘＲＡＭ１０３は、量子化部１４−１〜１４−ｎの１／Ｍａｔｒｉｘセレクタ５０４に対して全通り（４種類）の行列値の逆数を出力し、設定されている選択量子化パラメータＱＰｌの値に応じて後段の量子化部１４−１〜１４−ｎの１／Ｍａｔｒｉｘセレクタ５０４で選択させる。
次に、量子化部１４−１〜１４−ｎは、順次供給されるＤＣＴ係数をＭＢ  ＱＰ計算部５０１に供給する。ＭＢ  ＱＰ計算部５０１は、選択量子化パラメータＱＰｌに対し、アクティビティグループに応じたアクティビティオフセット（Ａｃｔｉｖｉｔｙ  Ｏｆｆｓｅｔ）を付加して適応量子化パラメータＱＰｔを生成し、これをＱＰ％６変換部５０１及びＱＰ／６変換部５０５に供給する。ＱＰ％６変換部５０１は、適応量子化パラメータＱＰｔを「６」で除算したときの剰余であるＱＰ％６値を算出し、スケールファクタセレクタ５０３に供給する。スケールファクタセレクタ５０３は、ＱＰ％６値に応じて第１の乗算計数としてのスケーリングファクタＭＦを選択し、乗算器５０６に供給する。１／Ｍａｔｒｉｘセレクタ５０４は、使用する量子化行列Ｑ  Ｍａｔｒｉｘの行列識別番号ｉｄｘに基づいて、第２の乗算計数としての行列値の逆数を選択し、乗算器５０６に供給する。
乗算器５０６は、スケーリングファクタＭＦに対して「１６」及び行列値の逆数を乗算する（ＭＦ＊１６／ＱＭａｔｒｉｘ）。乗算器５０６では、スケールファクタセレクタ５０３と１／Ｍａｔｒｉｘセレクタ５０４の出力値の乗算を行った後２０ｂｉｔの右シフトを行い、１／Ｍａｔｒｉｘ  ＲＡＭ１０３の桁上げ分の整合を図り、乗算値を乗算器５０７に供給する。乗算器５０７は、スキャン逆順のＤＣＴ係数に対して乗算値を乗算し、バレルシフタ５０８に供給する。ＱＰ／６変換部は、適応量子化パラメータＱＰｔを「６」で除算したＱＰ／６値をバレルシフタ５０８に供給する。バレルシフタ５０８は、乗算器５０７の出力値をＱＰ／６値に応じた桁数だけ桁下げすることにより、量子化した結果を得る。
このように、量子化部１４は、スケールファクタＲＡＭ及び１／ＭａｔｒｉｘＲＡＭ１０３を共有化し、ＤＣＴアドレスに応じて後段の量子化部１４−１〜１４−ｎが取り得る全てのスケーリングファクタＭＦ及び行列値の逆数を量子化部１４−１〜１４−ｎに供給する。量子化部１４−１〜１４−ｎでは、選択量子化パラメータＱＰｌに応じてスケーリングファクタＭＦを選択する。また、量子化部１４−１〜１４−ｎでは、行列識別番号ｉｄｘに応じて行列値の逆数を選択する。これにより、量子化部１４では、スケールファクタＲＡＭ１０２及び１／ＭａｔｒｉｘＲＡＭ１０３を共有化することができるため、量子化部１４総体として必要となるＲＡＭの容量を減少させ得るようになされている。また、量子化部１４は、スケーリングファクタＭＦ及び行列値の逆数を別々に保持することにより、スケーリングファクタＭＦ及び行列値の逆数を乗算した全通りの値を保持する場合と比較して、スケールファクタＲＡＭ１０２及び１／ＭａｔｒｉｘＲＡＭ１０３に必要な記憶容量を削減することができる。
ＣＡＶＬＣ計算部１５は、ＣＡＶＬＣ共有計算部１５０によって適応的にＶＬＣテーブルを選択し、ＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを符号化する点が、従来のＣＡＶＬＣ計算部４００と異なっている。
ＣＡＶＬＣ計算部１５−１〜１５−ｎにおけるＴｒａｉｌｉｎｇＯｎｅ計数部４０１、ＴｏｔａｌＣｏｅｆ計数部４０２、ＴｏｔａｌＺｅｒｏ計数部４０３、ＲｕｎＢｅｆｏｒｅ計数部４０４、ＬｅｖｅｌＬｅｎｇｔｈ計算部４０５、ＺｅｒｏＬｅｆｔ計算部４０６、ＴｏｔａｌＺｅｒｏＬｅｎｇｔｈビット長ＲＯＭ４０８及びＲｕｎＢｅｆｏｒｅビット長ＲＯＭ４０９は、供給されるＤＣＴ係数に対して順次処理を実行する。すなわち、ＣＡＶＬＣ計算部１５−１〜１５−ｎの各部は、４×４のＤＣＴブロックに対し、４×４＝１６回の演算を実行する。これに対して、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７は、４ｘ４のＤＣＴブロックに対して算出されたＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆに対し、１つのＶＬＣテーブルを選択して１回の演算を行えばよい。すなわち、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ４０７は、ＣＡＶＬＣ計算部１５−１〜１５−ｎの各部に対して約１／１６の演算時間しか要さない。そこで、ＣＡＶＬＣ共有計算部１５０は、ＣＡＶＬＣ計算部１５−１〜１５−ｎから供給されるＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆをＢｕｆｆｅｒ２０１及び２０２にそれぞれ保持する。ＣＡＶＬＣ共有計算部１５０は、ＣＡＶＬＣ計算部１５−１〜１５−ｎの各部が次の４×４ブロックに対する処理を実行する間に、１つ前の４×４ブロックに対して適応的にＶＬＣテーブルを選択し、ＣＡＶＬＣ計算部１５−１〜１５−ｎによって算出された１５のＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを順次符号化する。
ＣＡＶＬＣ共有計算部１５０では、１５並列のＣＡＶＬＣ計算部１５−１〜１５−ｎのＴｒａｉｌｉｎｇＯｎｅ計数部４０１とＴｏｔａｌＣｏｅｆ計数部４０２の出力をバッファＢｕｆｆｅｒ２０１，２０２の各１５段のバッファにそれぞれ保持する。
加算器２０３は、時分割してバッファ２０１、２０２からＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを受け取り、当該ＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを加算することにより、非ゼロ係数の個数をそれぞれ算出する。ｎＡ保持メモリ２０５は、マクロブロック内において左隣として参照される４ｘ４ブロックの非ゼロ係数の個数ｎＡを保持する。ｎＢ保持メモリ２０４は、４ｘ４ｂｌｏｃｋのマクロブロック内において上隣として参照される４×４ブロックの非ゼロ係数の個数ｎＢを保持する。
ここで、ＣＡＶＬＣ共有計算部１５０は、本来はＭＢ下境界のｎＢ情報は保持しておき、下部のマクロブロックの上境界の４ｘ４ｂｌｏｃｋのｎＢ情報として使用する必要がある。しかしながら、ＣＡＶＬＣ共有計算部１５０は、ｎＢ保持のためのラインメモリを１５段配置すると、ＣＡＶＬＣ共有計算部１５０に要するＲＡＭの記憶容量が大きくなってしまい、回路規模上望ましくない。このため、ＣＡＶＬＣ共有計算部１５０は、ＭＢ上境界の４ｘ４ｂｌｏｃｋを処理する際には、ｎＢ＝ｎＡと擬制して画面の最上部のマクロブロック処理と同様の処理を行う。
すなわち、加算器２０６は、４×４ブロックがＭＢの上境界であった場合はテーブル選択指標ｎＣ＝ｎＡとする。加算器２０６は、画面左境界の４ｘ４ｂｌｏｃｋはｎＣ＝ｎＢとする。加算器２０６は、上記２ケース以外、すなわち４×４ブロックがＭＢの上境界でなく、かつ画面左境界でもない場合にはｎＣ＝（ｎＡ＋ｎＢ）／２とする。そして、ＴｏｔａｌＣｏｅｆＬｅｎｇｈｔビット長ＲＯＭ２０７は、テーブル選択指標ｎＣに基づいてＶＬＣテーブルを選択すると共に、ＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを符号化し、その符号長を算出する。この結果、ＴｏｔａｌＣｏｅｆＬｅｎｇｈｔビット長ＲＯＭ２０７は、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長を、加算器２０８に順次出力する。加算器２０８には、ＣＡＶＬＣ計算部１５−１〜１５−ｎによって算出された符号長がそれぞれ供給される。加算器２０８は、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長に対応するＣＡＶＬＣ計算部１５−１〜１５−ｎから供給される符号及び当該ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長を加算することにより、４×４ブロックごとの符号長を算出する。符号量制御部４は、ＭＢごとに４×４ブロックごとの符号長を加算することにより、ＭＢごとの発生符号量を算出する。これらの処理はピクチャ全体で繰り返し行われる。
このように、ＣＡＶＬＣ計算部１５は、演算回数の少ないＴｏｔａｌＣｏｅｆＬｅｎｇｈｔビット長ＲＯＭ２０７を共有化する。これにより、ＣＡＶＬＣ計算部１５は、ＴｏｔａｌＣｏｅｆＬｅｎｇｈｔビット長ＲＯＭ２０７の数を低減させて回路構成を簡易にすることができる。ＣＡＶＬＣ計算部１５は、４×４ブロックがＭＢの上境界であった場合はテーブル選択指標ｎＣ＝ｎＡとする。これにより、ＣＡＶＬＣ計算部１５は、ＭＢ境界ｎＢ記憶ラインメモリを省略することができ、ＣＡＶＬＣ計算部１５に要するＲＡＭの記憶容量を大幅に削減して回路構成を簡易にすることができる。
以上説明した一実施の形態に係る画像符号化装置１００及び画像符号化方法によれば、量子化部１４は、スケーリングファクタＭＦと１／Ｑ  Ｍａｔｒｉｘとを別々に記憶すると共に、ＤＣＴアドレスに応じて取り得る全ての値を各量子化部１４−１〜１４−ｎに供給する。各量子化部１４−１〜１４−ｎは、設定されている量子化パラメータＱＰに応じてスケーリングファクタＭＦと１／Ｑ  Ｍａｔｒｉｘとを選択する。これにより、量子化部１４は、量子化部１４−１〜１４−ｎでメモリを共有することができるため、メモリを削減することが可能となる。ＣＡＶＬＣ計算部１５は、ＶＬＣテーブルの選択の際、ＭＢ上端部については上隣の４×４ブロックを使用しないことにより、ＭＢ境界ｎＢ記憶用ラインメモリ４１２を削減することが可能となる。さらに、ＣＡＶＬＣ計算部１５は、４ｘ４ＤＣＴブロック単位で演算が実行されるＣＡＶＬＣ共有計算部１５を時分割に共有することで、論理モジュールを削減することが可能となる。
また、画像符号化装置１００は、ＡＶＣでは画面内の相関を利用し効率を高めていることから処理単位を小さくすることによってＡＶＣの利点を最大限に生かすことができないことに鑑み、ピクチャ単位の２回のプレエンコードを実施する。そして、画像符号化装置１００は、効率向上のために、処理量が増大し、それに起因してエンコードの回路規模が増大するとの問題を解消するために、回路一部共有化による部分的並列構成を採用する。これにより、画像符号化装置１００は、プレエンコーダの構成を簡略化しつつ、１ピクチャに与えられた目標符号量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータＱＰの決定が可能となる。
なお、本発明は前述した実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲で種々の改良や変更が可能である。
たとえば、上記画像符号化装置及び画像符号化方法は、該装置に実装されるコンピュータプログラム或いは該プログラムを記録した記録媒体、該方法を実施するコンピュータプログラム或いは該プログラムを記録した記録媒体としての実施も可能である。
なお、上述した一連の符号化処理は、ハードウェアにより実行させることもでき、また、ソフトウェアにより実行させることも可能である。符号化処理をソフトウェアによって実現する場合、ＣＰＵ及びＲＡＭに仮想的に画像符号化装置１００が形成される。そして、ＲＯＭに格納された符号化プログラムをＲＡＭに展開することにより、符号化処理が実行される。
［１−４．処理手順］
次に、ＣＡＶＬＣ共有計算部１５０が符号化プログラムに従って実行するＶＬＣテーブル選択処理手順ＲＴ１について、図５に示すフローチャートを用いて説明する。
ＣＡＶＬＣ計算部１５は、量子化部１４からＤＣＴ係数が供給されると、ＶＬＣテーブル選択処理手順ＲＴ１を開始し、ステップＳ１へ移る。ＣＡＶＬＣ計算部１５は、ＣＡＶＬＣ計算部１５−１〜１５−ｎによってＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆをカウントすると、次のステップＳ２へ移る。
ステップＳ２において、ＣＡＶＬＣ計算部１５は、ＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを加算することにより、非ゼロ係数の数を算出すると、次のステップＳ３へ移る。
ステップＳ３において、ＣＡＶＬＣ計算部１５は、参照対象となる非ゼロ係数の数ｎＡ及びｎＢを一時記憶すると、次のステップＳ４へ移る。
ステップＳ４において、ＣＡＶＬＣ計算部１５は、処理対象となる４×４ブロックがＭＢの上部境界であるか否かについて判別する。ここで、否定結果が得られた場合、このことは参照対象となるｎＢがｎＢ保持メモリ２０４に保持されていることを表している。このときＣＡＶＬＣ計算部１５は、次のステップＳ６に移る。ステップＳ６において、ＣＡＶＬＣ計算部１５は、テーブル選択指標ｎＣとして、ｎＡ及びｎＢの平均値を使用し、次のステップＳ７へ移る。
これに対してステップＳ４において肯定結果が得られた場合、ＣＡＶＬＣ計算部１５は、ステップＳ５へ移り、テーブル選択指標ｎＣとしてｎＡを使用すると、次のステップＳ７へ移る。
ステップＳ７において、ＣＡＶＬＣ計算部１５は、テーブル選択指標ｎＣに基づいてＶＬＣテーブルを選択すると、終了ステップへ移って処理を終了する。
［１−５．動作及び効果］
以上の構成において、画像符号化装置１００は、複数の画素でなる符号化ブロックとしての４×４ブロックごとに走査されながら、複数の４×４ブロックによって構成される走査ブロックとしてのＭＢごとにライン走査されてなる入力画像９１が入力される。画像符号化装置１００は、入力画像９１に基づく符号化対象データとしての量子化係数において、符号化対象となる４×４ブロックの上隣及び左隣の４×４ブロックにおいて可変長符号化される符号化値としての非ゼロ係数の数ｎＢ及びｎＡの平均値であるテーブル選択指標ｎＣに対応するＶＬＣ（可変長）テーブルを選択する。このとき、画像符号化装置１００は、符号化対象となる４×４ブロックがＭＢの上端であった場合、上隣の４×４ブロックの非ゼロ係数の数ｎＢを左隣の４×４ブロックの非ゼロ係数の数ｎＡと擬制する。画像符号化装置１００は、選択されたＶＬＣテーブルを用いることにより、量子化係数において符号化対象となる４×４ブロックの非ゼロ係数の数を可変長符号化する。
これにより、画像符号化装置１００は、ＭＢの上端において上隣の非ゼロ係数の数ｎＢを参照するための１ライン分のメモリを省略することができ、回路構成を簡易にし得る。
画像符号化装置１００は、少なくとも量子化因子（量子化パラメータＱＰ又は量子化行列、若しくはその両方）に基づく量子化ステップを用いて量子化することにより入力画像９１を符号化し、符号化対象データとしての量子化係数を生成する。
画像符号化装置１００は、量子化係数を可変長符号化したときの低精度発生符号量に基づいて、入力画像９１を本符号化したときの本エンコード発生符号量が目標符号量に最も近いと予測される基本量子化パラメータＱＰＭＢを決定する。画像符号化装置１００は、決定された基本量子化パラメータＱＰＭＢに基づいて入力画像９１を本符号化（本エンコード）する。
これにより、画像符号化装置１００は、簡易な構成で算出された低精度発生符号量に基づいて、基本量子化パラメータＱＰＭＢを決定することができる。
画像符号化装置１００は、入力画像９１を４×４ブロックごとに直交変換であるＤＣＴ処理した後、量子化パラメータＱＰに基づく量子化ステップを用いて量子化することにより符号化し、量子化係数を生成する。画像符号化装置１００は、基本量子化パラメータＱＰＭＢの近傍でなる予測量子化因子としての予測量子化パラメータＱＰｄを決定する。画像符号化装置１００は、選択された予測量子化パラメータＱＰｄ及び当該予測量子化パラメータＱＰｄの近傍の量子化パラメータＱＰに基づいて入力画像９１を符号化し、入力画像９１の高精度発生符号量を算出する。画像符号化装置１００は、算出された入力画像９１の高精度発生符号量に基づいて、基本量子化パラメータＱＰＭＢを決定する。
これにより、画像符号化装置１００は、基本量子化パラメータＱＰＭＢである可能性の高い予測量子化パラメータＱＰｄ及び当該予測量子化パラメータＱＰｄの近傍の量子化パラメータＱＰに基づいて基本量子化パラメータＱＰＭＢを決定することができる。このため画像符号化装置１００は、基本量子化パラメータＱＰＭＢの予測精度を向上させ得る。
画像符号化装置１００は、入力画像９１を複数の量子化パラメータＱＰに基づく複数の量子化ステップを用いて符号化することにより、複数の量子化係数を生成する。画像符号化装置１００は、複数の量子化係数が可変長符号化されたときの複数の低精度発生符号量に基づいて、基本量子化パラメータＱＰＭＢを決定する。
これにより、画像符号化装置１００は、基本量子化パラメータＱＰＭＢの予測精度を向上させ得る。
画像符号化装置１００は、生成される複数の量子化係数と同一数だけ並列に設けられた複数のカウント部を有している。当該複数のカウント部は、量子化係数における４×４ブロックから、ゼロでない非ゼロ係数の数を符号化値としてカウントする。画像符号化装置１００は、カウントされた全ての非ゼロ係数の数を順次可変長符号化する。
これにより、画像符号化装置１００は、非ゼロ係数の数を可変長符号化するＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７をＣＡＶＬＣ共有計算部１５０として共有することができる。すなわち、画像符号化装置１００は、４×４ブロックに対して４×４＝１６の演算を要するカウント部と４×４ブロックに対して１回のみ処理をすれば良いＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７とを切り離し、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７をＣＡＶＬＣ共有計算部１５０として共有する。そして、画像符号化装置１００は、例えば１５のカウント部によってカウントされた非ゼロ係数の数を時分割し、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７によって順次可変長符号化する。これにより、画像符号化装置１００は、ＴｏｔａｌＣｏｅｆＬｅｎｇｔｈビット長ＲＯＭ２０７の数を低減させることができ、ＣＡＶＬＣ計算部１５の構成を簡易にし得る。
画像符号化装置１００は、複数のカウント部によってカウントされた全ての非ゼロ係数の数に基づいて、複数の量子化係数に対応するＶＬＣテーブルを順次選択する。
これにより、画像符号化装置１００は、適応的にＶＬＣテーブルを選択するための回路（バッファ２０１及び２０２、加算器２０３及び２０６並びにｎＢ保持メモリ２０４及びｎＡ保持メモリ２０５）を複数のカウント部間で共有化することができる。この結果、画像符号化装置１００は、適応的にＶＬＣテーブルを選択するための回路を１つのみ設ければ良く、構成を簡易にすることができる。
画像符号化装置１００は、カウント部として、１又は−１の連続数であるＴｒａｉｌｉｎｇＯｎｅをカウントするＴｒａｉｌｉｎｇＯｎｅ計数部４０１と、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１によってカウントされない非ゼロの数であるＴｏｔａｌＣｏｅｆをカウントするＴｏｔａｌＣｏｅｆ計数部４０２とを有する。画像符号化装置１００は、可変長符号化するための回路として、ＴｒａｉｌｉｎｇＯｎｅ計数部４０１によってカウントされた全てのＴｒａｉｌｉｎｇＯｎｅを記憶するバッファ２０１と、ＴｏｔａｌＣｏｅｆ計数部４０１によってカウントされた全てのＴｏｔａｌＣｏｅｆを記憶するバッファ２０２と、バッファ２０１及び２０２に記憶されたＴｒａｉｌｉｎｇＯｎｅ及びＴｏｔａｌＣｏｅｆを順次加算することにより、非ゼロ計数の数を順次算出する加算部２０３とをさらに有する。
画像符号化装置１００は、スケールファクタＲＡＭ１０２によって、４×４ブロックにおける位置であるＤＣＴアドレス及び量子化因子（量子化パラメータＱＰ）の組み合わせに応じた第１の乗算係数（スケーリングファクタＭＦ）を記憶し、４×４ブロックのＤＣＴアドレスから、全ての量子化パラメータＱＰに応じて取り得るスケーリングファクタＭＦを特定し、当該特定したスケーリングファクタＭＦを出力する。画像符号化装置１００は、複数の量子化係数と同一数だけ並列に設けられた乗算係数選択部（スケールファクタセレクタ５０３）により、出力されたスケーリングファクタＭＦのうち、使用する量子化パラメータＱＰに応じたスケーリングファクタＭＦを選択する。画像符号化装置１００は、複数の量子化係数と同一数だけ並列に設けられた複数の乗算器５０７により、選択された乗算係数及び４×４ブロックの値を乗算する。画像符号化装置１００は、複数の量子化係数と同一数だけ並列に設けられた複数のシフト部であるバレルシフタ５０８により、乗算器５０７によって乗算された量子化係数の値を量子化因子に応じた桁数だけ右シフトさせる。
これにより、画像符号化装置１００は、乗算係数を保持するためのＲＡＭを共有化できるため、当該ＲＡＭの記憶容量を削減することができる。
画像符号化装置１００は、１／ＭａｔｒｉｘＲＡＭ１０３によって、量子化因子としての量子化行列及び符号化ブロックの位置の組み合わせに応じた第２の乗算係数（量子化行列における行列値の逆数）を記憶し、４×４ブロックのＤＣＴアドレスから、全ての量子化行列Ｑ  Ｍａｔｒｉｘに応じて取り得る行列値の逆数を特定し、当該特定した行列値の逆数を出力する。画像符号化装置１００は、出力された行列値の逆数のうち、使用する量子化行列Ｑ  Ｍａｔｒｉｘに応じた行列値の逆数を選択する。
これにより、画像符号化装置１００は、量子化パラメータＱＰ及び４×４ブロックのアドレスの組み合わせ、並びに量子化行列及び４×４ブロックのアドレスの組み合わせをそれぞれ分離して記憶すればよい。このため、画像符号化装置１００は、量子化パラメータＱＰ、４×４ブロックのアドレス及び量子化行列に応じた乗算係数を記憶する従来のスケールファクタＲＡＭ３０５と比較して、記憶する組み合わせの総数を減少させることができる。この結果、画像符号化装置１００は、スケールファクタＲＡＭ１０２及び１／ＭａｔｒｉｘＲＡＭ１０３の記憶容量を低減することができる。
以上の構成によれば、画像符号化装置１００は、ＭＢごとにラインスキャンされ、４×４ブロックをＺ字状にスキャンするラスタスキャン順序でスキャンされてなる入力画像９１を入力する。この結果、非ゼロ係数の数ｎＡが参照される左隣の４×４ブロックは、最大でも２つ前の４×４ブロックとなるのに対し、非ゼロ係数の数ｎＢが参照される上隣のブロックは、１つ前のＭＢラインとなる可能性がある。画像符号化装置１００は、簡易的な符号化においてＭＢ上端の４×４ブロックを符号化する際、上隣の４×４ブロックの非ゼロ係数の数ｎＢを左隣の非ゼロ係数の数ｎＡと擬制することにより、１つ前のＭＢラインにおける非ゼロ係数の数ｎＢを記憶するためのメモリを削減できるため、回路構成を簡易にすることができる。
＜２．第２の実施の形態＞
図６〜図１３に示す第２の実施の形態においては、前モード推定プレエンコード部４０を有している点が、第１の実施の形態と異なっている。
［２−１．バックサーチ］
本発明は、例えば画像符号化装置等に係り、特にダビング時の劣化を防ぎ所望とする本エンコード時の本エンコード発生符号量に制御する技術分野に関する。
従来、テレビジョン放送局間で映像データの伝送を行う際、或いは複数のビデオテープレコーダ（ＶＴＲ装置）を用いて映像データの複写を行う際には、ＭＰＥＧ（Ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ）２方式で圧縮符号化した映像データを伸長復号し、再度、圧縮符号化することから、エンコーダとデコーダを直列にタンデム接続する必要がある。
そして、このようなタンデム接続時の圧縮符号化と伸長復号の繰り返しによる映像の品質劣化を低減する手法として所謂「バックサーチ」という手法が採用されている。
ここで、「バックサーチ」とは、以前の圧縮符号化で使用された量子化ステップ、或いは、その倍数関係にある量子化ステップを用いると、離散余弦変換（ＤＣＴ；ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｅｒ）係数の剰余の総和が極小となるという性質を利用して、最小値に係る量子化ステップを最適な量子化ステップとして求める手法である。
この「バックサーチ」を用いた技術については、例えば特許文献２では、前回の圧縮符号化における量子化ステップをバックサーチ方式により再生し、前回と同じ量子化ステップおよびＧＯＰ（Ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ）位相で再び入力映像データを圧縮符号化し、エンコーダとデコーダをタンデム接続して映像データの圧縮符号化及び伸長復号を繰り返した場合の映像の品質の劣化を防止する映像データ圧縮装置が開示されている。
このＭＰＥＧ２など、直交変換を用いた符号化方式において、ダビング時の劣化を防ぐ方法として、量子化値や、Ｉｎｔｅｒの予測画像（動きベクトル）を再現あるいは再利用する方法がある。一方、Ｈ２６４（ＡＶＣ；Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ；高度動画像圧縮符号化標準）Ｉｎｔｒａ画像では、フレーム内予測（Ｉｎｔｒａ予測）があり、ピクチャ単位のＱ  Ｍａｔｒｉｘ、ＤＣＴブロック単位の画面内予測モードとマクロブロック単位の量子化値を再現することで、ダビング時の劣化を防ぐことができる。
【特許文献２】特開平１０−１７４０９８号公報。
【０００８】
尚、ＡＶＣ  Ｉｎｔｒａでは、復号の際に、一度符号化、復号化を通じた画像を再度復号化する際に、前回の符号化で使われた量子化行列Ｑ  Ｍａｔｒｉｘと量子化パラメータＱＰを使うと、前回の符号化で量子化歪みが既に落とされているので、それ以上、量子化歪みが生じにくいという性質がある。このように前回の符号化で使われたＱ  ＭａｔｒｉｘとＱＰを高い確率で検出することを、「バックサーチ」と称するものとする。
このバックサーチでは、Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ；高度動画像圧縮符号化標準）画像圧縮方式で、ダビング特性改善のため、量子化値とパラメータを復元する処理構成であり、以下の点を特徴として、いずれも回路規模の削減を目的とする。
・Ｉｎｔｒａ予測画像にローカルデコード画像ではなく入力画像を使用する。
・量子化レベル値をデコーダのスケールファクタから生成する。
・マクロブロックのＱＰを剰余最小条件から割り出した後、画面内予測モードのパラメータを剰余最小条件で復元する。
なお、ＡＶＣに準拠してバックサーチを実行する符号化装置の構成は、例えば特許文献３に記載されている。
【特許文献３】国際出願番号ＰＣＴ／ＪＰ２００８／０６６９１７。
【０００９】
かかる構成に加えて、本実施の形態では、さらなる回路の削減のため、以下のような構成を有している。
・ＤＣＴスキャン順で先頭の半分の係数のみを処理対象とする。
・剰余値の演算回路（後述する剰余計算部に相当）を１０段程度の減算で近似する。
以下、この特徴をふまえて、本実施の形態について詳述する。
図６には、本発明の一実施の形態に係る画像符号化装置２００の構成を示し説明する。
前モード推定プレエンコード部４０は、前モードを推定するためのプレエンコードを行うモジュールであり、パラメータ復元処理部６０、バッファ４４、量子化部４５、エントロピー符号長計算部４６を備えている。
符号量制御部４は、符号量制御を行うモジュールである。
前モード推定プレエンコード部４０には、画面内予測モード決定部１１により符号量の少ない順に決定された第１〜第ｎ候補までの画面内予測モードがパラメータ復元処理部６０に入力される。パラメータ復元処理部６０は、量子化パラメータＱＰ検出機能、並びに画面内予測モードの検出機能を備える。パラメータ復元処理部６０は、量子化パラメータＱＰ検出機能により、前回のエンコードにおいて使われた量子化パラメータＱＰを検出する。以下、検出された量子化パラメータＱＰを検出量子化パラメータＱＰｅと呼ぶ。具体的に、パラメータ復元処理部６０は、ＭＢ毎にＤＣＴ係数を複数量子化パラメータＱＰによるリスケーリングファクタＲＦで除算したときの剰余を用いて、検出量子化パラメータＱＰｅを検出する。そして、パラメータ復元処理部６０は、画面内予測モード検出機能により、検出された検出量子化パラメータＱＰｅに基づいて前回の符号化に使用された画面内予測モードを検出する。この構成の詳細については、特許文献３に記載されている。なお本実施の形態においては、処理の軽減化のため、バックサーチとして検出量子化パラメータＱＰｅと画面内予測モードの検出のみを実行し、検出量子化行列Ｑ  ＭａｔｒｉｘＥの検出を実行しない。
量子化部４５は、バックサーチが成功したＭＢについては検出量子化パラメータＱＰｅ及びバックサーチで検出された画面内予測モードを用いて量子化する。量子化部４５は、バックサーチが不成功のＭＢについては基本量子化パラメータＱＰＭＢ、アクティビティグループ及び第１のプレエンコード部１によって決定された第１候補の画面内予測モードを用いる。エントロピー符号長計算部４６は、本エンコード部３による本エンコードのエントロピー符号化と同じ方式をＣＡＢＡＣ／ＣＡＶＬＣから選択する。符号量制御部４は、こうして得られたバックサーチ発生符号量が目標符号量を満たすかを判断し、原画モードでエンコードするか、ダビングモードでエンコードするかを決定する。
符号量制御部４は、前モード推定プレエンコーダ４の結果から、原画モードでエンコードするか、ダビングモードでエンコードするかを決定し、最終的なエンコードのパラメータを決定する（詳しくは後述する）。符号量制御部４は、原画モード／ダビングモードの判定結果と、基本量子化パラメータＱＰＭＢ、予測量子化行列Ｑ  ＭａｔｒｉｘＤ、及び画面内予測化モード、並びに各ＭＢのアクティビティグループ（以下、これらをまとめて本エンコード情報と呼ぶ）を本エンコード部３に渡す。この結果、本エンコード部３は、原画モード及びダビングモードのいずれかに移行し、当該原画モード及びダビングモードに応じた本エンコード情報を用いてエンコードを行う。
本エンコード部３は、この基本量子化パラメータＱＰＭＢ、予測量子化行列Ｑ  ＭａｔｒｉｘＤ、アクティビティグループ等を使用して本エンコードを行う。即ち、ディレイバッファ６を介して遅延処理された入力画像を受けると、画面内予測処理部３１では第１のプレエンコード時に決定された予測モードで、予測画像と入力画像との差分画像が計算される。この時、画面内予測処理部３１では、原画モードであれば、画面内予測モード決定部１１で決定された画面内予測モードを使用し、ダビングモードであれば、パラメータ復元処理部６０で決定された画面内予測モードを使用する。
［２−２．パラメータ復元処理部の構成］
図７には画面内予測モード決定部１１とパラメータ復元処理部６０の関係を示し説明する。
この図７に示されるように、画面内予測モード決定部１１は、ＭＢ  Ｆｒａｍｅ／Ｆｉｅｌｄ判定部５１とアクティビティグループ決定部５２、画面内予測モード判定部５３からなる。パラメータ復元処理部６０は、１ｓｔ  Ｉｎｔｒａ予測処理部６１、２ｎｄ  Ｉｎｔｒａ予測処理部６２、３ｒｄ  Ｉｎｔｒａ予測処理部６３、ＤＣＴ部６４乃至６６、ＭＢ  ＱＰバックサーチ部７０、Ｉｎｔｒａ予測バックサーチ部８０からなる。
Ｉｎｔｒａ  ＡＶＣのパラメータには、マクロブロックがＦｉｅｌｄ／Ｆｒａｍｅであるかを示すＡＦＦ、ＭＢ毎の量子化値のオフセット（Ａｃｔｉｖｉｔｙ  Ｏｆｆｓｅｔ）、４ｘ４，８ｘ８，１６ｘ１６の画面内予測モード（８ｘ８／４ｘ４  Ｉ−Ｐｒｅｄｉｃｔｉｏｎ）がある。画面内予測モード決定部１１は、入力画像９１から、これらのパラメータを決定する。
以下、図１０のフローチャートを参照して、パラメータ復元処理手順ＲＴ２について説明する。
即ち、入力画像９１はＭＢ  Ｆｒａｍｅ／Ｆｉｅｌｄ判定部５１に入力される。ＭＢ  Ｆｒａｍｅ／Ｆｉｅｌｄ判定部５１はフィールド間の相関をＭＢの全サンプルにわたり差分の２乗和をとる処理によりＭＢがＦｒａｍｅであるかＦｉｅｌｄであるかの判定を行う（ステップＳ２１）。
この処理は、通常のＦｒａｍｅ  ＭＢから、花火やフラッシュ等の例外的にＦｒａｍｅ相関の低いＭＢを除外し、Ｆｉｅｌｄ  ＭＢとする処理である。Ｆｉｅｌｄ  ＭＢと判定するときの判定値は大きな値をとっており、量子化歪の影響を受けにくいため、２回目の符号化でも高い確率で同じ判定が行われる。
アクティビティグループ決定部５２は８ｘ８ブロックの平均値からの２乗和を４通り求めて最小値を選択し、当該最小値でなるブロックに合わせて予め決めておいた境界値でグループ分け（アクティビティグループの決定）を行う（ステップＳ２２）。一度符号化された信号では、量子化の結果、ＤＣＴ後の係数がゼロに丸められる場合が多数存在しているため、アクティビティ（平均値からの２乗和）が減少している場合が多く見られる。後述するＭＢ  ＱＰバックサーチ部７０は、量子化パラメータＱＰを最小のところから増大する方向にふることで、前回の量子化パラメータＱＰであると見込まれる値をサーチする。
画面内予測モード判定部５３は、予測残差の近いモードが２、３存在する場合があり、前回の符号化とは異なる画面内予測モードを第１候補として選択する場合がある。画面内予測モード判定部５３は、画面内予測モードを最適な順に第１、第２、第３候補まで３通りの候補を求めて、パラメータとして出力する（ステップＳ２３）。この例では、候補を３通りとしているが、これはパラメータ復元部６０側の構成の簡略化に対応したものである。画面内予測モードは最大で９通りであり、これ以下の値で好適な候補数であればよく、これには限定されないことは勿論である。
これらの結果をふまえて、パラメータ復元部６０は、ＡＦＦ判定の結果は予測モード判定部５３の結果をそのまま使うようにする。
パラメータ復元処理部６０には、入力画像９１が入力される。パラメータ復元処理部６０は、１ｓｔ  Ｉｎｔｒａ予測処理部６１、２ｎｄ  Ｉｎｔｒａ予測処理部６２、３ｒｄ  Ｉｎｔｒａ予測処理部６３により、画面内予測モード判定部５３で求めた第１、第２、第３の候補の画面内予測モードを用いて予測処理を行い、差分画像データを生成する。
続いて、ＤＣＴ部６４乃至６６は、差分画像データに対し、それぞれＤＣＴ処理を施し、ＤＣＴ係数を生成する。ＭＢ  ＱＰバックサーチ部７０は、第１候補の画面内予測モードを用いて検出量子化パラメータＱＰｅを検出する（ステップＳ２４）、Ｉｎｔｒａ予測バックサーチ部８０は、前回の符号化に使用された画面内予測モードを検出する（ステップＳ２５）。
ここで、１ｓｔ  Ｉｎｔｒａ予測処理部６１、２ｎｄ  Ｉｎｔｒａ予測処理部６２、３ｒｄ  Ｉｎｔｒａ予測処理部６３は、本来ならば、予測画像として、量子化後、逆量子化と逆ＤＣＴした、ローカルデコード画像を使用するべきものであるが、入力画像９１を使用する。これにより、１ｓｔ  Ｉｎｔｒａ予測処理部６１、２ｎｄ  Ｉｎｔｒａ予測処理部６２、３ｒｄ  Ｉｎｔｒａ予測処理部６３は、回路構成を削減することができ、画面内予測モードが前回の符号化のときと異なる場合の誤差の蓄積を防ぐことができる。
次に図９にはＭＢ  ＱＰバックサーチ部７０の詳細な構成を示し説明する。
図９に示されるように、ＭＢ  ＱＰバックサーチ部７０は、スキャン順アドレス生成ＲＡＭ７１、係数バッファ７２、Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３、ＭＢ  ＱＰ計算部（×１０）７４、剰余計算部１００ａ乃至１００ｅ、最小値選択部７５からなる。
ＭＢ  ＱＰバックサーチ部７０のＭＢ  ＱＰ計算部（×１０）７４は、１０通りの選択量子化パラメータＱＰｌ（ＱＰ０〜ＱＰ９）を平均量子化パラメータＢａｓｅＱＰとしてアクティビティオフセットを付加することにより、使用する適応量子化パラメータＱＰｔを選択する。すなわち、ＭＢ  ＱＰ計算部（×１０）７４は、１０通りの適応量子化パラメータＱＰｔを選択する。スキャン順アドレス生成ＲＡＭ７１は、供給されるＤＣＴ係数の位置を表すＤＣＴアドレスを生成し、係数バッファ７２及びＶ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３に供給する。Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３は、ＤＣＴアドレス及び適応量子化パラメータＱＰｔに基づいて、次式に従ってリスケーリングファクタＲＦを算出する。なおＡは、ＤＣＴ係数と逆ＤＣＴ係数との関係において、当該ＤＣＴ係数を構成する係数要素の値の変動を表す行列であり、ＲＦは、復号時に用いられるリスケーリングファクタである。（特許文献３参照）。
ＲＦ＝ＲＦｒ＊Ａ
＝｛ＶＱＭａｔｒｉｘ  Ａ２ｆｌｏｏｒ（ＱＰ／６）｝＞＞４
なお、Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３は、デコーダの逆量子化処理のパラメータから回路を構成することで、従来のようにエンコーダ側の量子化のスケールファクタを用いて回路を構成した場合と比較して、演算に要するビット長を削減でき、主に剰余計算部１００ａ乃至１００ｅの回路規模を減らす効果がある。
ＤＣＴ係数は係数バッファ７２に一旦蓄えられる。スキャン順アドレス生成ＲＡＭ７１は、係数バッファ７２を制御し、符号化のスキャン順に半分のサンプル（４ｘ４ＤＣＴでは８／１６サンプル、８ｘ８ＤＣＴでは３２／６４サンプル）を２回繰り返して剰余計算部１００ａ乃至１００ｅに出力させる。即ち、ＭＢ  ＱＰバックサーチ部７０は、ＤＣＴスキャン順（低周波成分から高周波成分へ向けてのジグザグスキャン）で先頭の半分の係数のみを処理対象（評価対象）とする。剰余計算部１００ａ乃至１００ｅは、半分のサンプルのみを評価対象とすることで、２通りの量子化パラメータＱＰについて時分割に処理できるようになるため、剰余計算部１００ａ乃至１００ｅとしての回路が半分で済むようになる。
また、ＤＣＴ後のスキャン後半部分のデータは、前回符号化時にゼロに丸められた係数が大半であり、本来剰余最小時の誤差要因を多く含んでいる。ＭＢ  ＱＰバックサーチ部７０は、半分のサンプルのみ評価することで、前回符号化時にゼロに丸められた係数を除外することにもなり、検出精度を改善する効果もある。Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３は、係数バッファ７２の出力とスキャン位相の合った値を出力するようにする。
この実施の形態では、ＭＢ  ＱＰバックサーチ部７０は、Ｈ．２６４で規定される、デコーダ側のパラメータを使用する。
これは、次式で記述される。
2009157581.tif 000004
（ｊ，ｉは４ｘ４ＤＣＴ時０〜３，８ｘ８ＤＣＴ時０〜７）
尚、Ｈ．２６４では、Ｖ［ＱＰ］［ｊ］［ｉ］をｎｏｒｍＡｄｊｕｓｔ（ｍ，ｉ，ｊ）、ｎｏｒｍＡｄｊｕｓｔ８ｘ８（ｍ，ｉ，ｊ）、Ｑ  Ｍａｔｒｉｘ［ｊ］［ｉ］をｗｅｉｇｈｔＳｃａｌｅ（ｉ，ｊ）、ｗｅｉｇｈｔＳｃａｌｅ８ｘ８（ｉ，ｊ）、Ａ［ｊ］［ｉ］をＡｉｊと表記している。
以下、図１０のフローチャートを参照して、ＭＢ  ＱＰバックサーチ処理手順ＲＴ３について説明する。
ＭＢ  ＱＰバックサーチ部７０は先ず、リスケーリングファクタＲＦ（分母の値）の決定を行う（ステップＳ３１）。
剰余計算に用いる、分母の値は以下の式で求める。
分母の値  ＝（ＲＡＭの値＜＜（ＱＰ／６））＞＞４
ＭＢ  ＱＰバックサーチ部７０は、次式により、１０通りの量子化パラメータＱＰに対して剰余を求める（ステップＳ３２）。
剰余＝Σ（ＤＣＴ係数＜＜６）％分母の値
ここで、１０通りとしているのは、第１のプレエンコーダ１の結果に基づいて予測量子化パラメータＱＰｄが粗く見積もられていることから、その求められた予測量子化パラメータＱＰｄの前後の所定範囲について処理対象とすれば十分精度が上がることに鑑みたものである。
こうして、ＭＢ  ＱＰバックサーチ部７０は、ＭＢごとに剰余の加算を終了したか否かを判断し（ステップＳ３３）、終了していない場合にはステップＳ３１に戻り、上記処理を繰り返す。一方、ＭＢ  ＱＰバックサーチ部７０は、終了している場合には、１０通りの量子化パラメータＱＰの評価を全て終了したか否かを判断し（ステップＳ３４）、評価をしていない場合にはステップＳ３１に戻り、上記処理を繰り返す。一方、ＭＢ  ＱＰバックサーチ部７０は、評価を終了している場合には、１０通りでなる量子化パラメータＱＰに対応する剰余をマクロブロックごとに集計する。ＭＢ  ＱＰバックサーチ部７０は、１０通りの量子化パラメータＱＰに対応する剰余を比較し、最小となるＱＰを選択して出力し（ステップＳ３５）、処理を終了する。こうしてＭＢ  ＱＰバックサーチ部７０は、マクロブロックの量子化パラメータＱＰを剰余最小条件から割り出す。画面内予測モードのパラメータは、剰余最小条件で復元される。
なお、ＭＢ  ＱＰバックサーチ部７０は、ステップＳ３３でＭＢごとの剰余の加算が終了したと判断された場合にはＭＢ毎に集計した剰余をＩｎｔｒａ予測バックサーチ部８０に出力する（ステップＳ３７）。
また、ＭＢ  ＱＰバックサーチ部７０は、剰余計算の後に、ＤＣＴブロックの加算が終了したか否かも判断し（ステップＳ３６）、加算が終了していない場合にはステップＳ３１に戻り、上記処理を繰り返す。一方、加算が終了している場合には、Ｉｎｔｒａ予測バックサーチ処理のために、ＤＣＴ  ｂｌｏｃｋ単位に集計した剰余もＩｎｔｒａ予測バックサーチ部８０にそれぞれ出力する（ステップＳ３８）。
図１１にはＩｎｔｒａ予測バックサーチ部８０の構成を示し説明する。
この図１１に示されるように、Ｉｎｔｒａ予測バックサーチ部８０は、スキャン順アドレス生成ＲＡＭ８１、２ｎｄ係数バッファ８２、３ｒｄ係数バッファ８３、ＳＥＬ８４、Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ８５、剰余計算部１００ｆ、最小値選択部８６を備えている。
このような構成において、Ｉｎｔｒａ予測バックサーチ部８０は、ＭＢ  ＱＰバックサーチ部７０で求めた量子化パラメータＱＰについて、第２、第３の候補の画面内予測モードに対しても、剰余最小条件から前回符号化時に使用された画面内予測モードを推定する。
本来ならば、画像符号化装置２００は、全ての画面内予測モードについて、１０通りの量子化パラメータＱＰについて評価してそれぞれのＤＣＴブロック毎に最小となるＩｎｔｒａ予測を選択する処理構成にすべきであるが、回路規模が大きくなるため好ましくない。
そこで、このＩｎｔｒａ予測バックサーチ部８０は、第１候補の画面内予測モード再現率がある程度あり、第１候補の画面内予測モードを用いたＭＢ  ＱＰバックサーチ処理にて、前回符号化時の量子化パラメータＱＰを高い確率で再現できる特性を基にして、上記の回路構成として回路規模を削減した。すなわち、Ｉｎｔｒａ予測バックサーチ部８０は、第１候補の画面内予測モードを用いて検出した検出量子化パラメータＱＰｅを用いて、前回の符号化に用いられた画面内予測モードを検出する。
図１１に示すように、画面内予測モードの第２、第３候補を用いた変換係数は、２ｎｄ係数バッファ８２、３ｒｄ係数バッファ８３に蓄えられる。スキャン順アドレス生成ＲＡＭ８１は、２ｎｄ係数バッファ８２、３ｒｄ係数バッファ８３から符号化のスキャン順に半分のサンプルを出力するよう制御する。ＳＥＬ８４は、時分割に２ｎｄ係数バッファ８２、３ｒｄ係数バッファ８３の符号化のスキャン順に半分のサンプルを順次出力するようにする。Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ８５及び剰余計算部１００ｆは、図９で前述したのと同様の処理を行う。即ち、Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ７３は、係数バッファ７２の出力とスキャン位相の合った値を出力するようにする。
最小値選択部８６は、画面内予測モードの３つの候補から、ＤＣＴブロック単位に最小の剰余となる画面内予測モードを選択するようにする。
以下、図１２のフローチャートを参照して、Ｉｎｔｒａ予測バックサーチ部８０によるＩｎｔｒａ予測バックサーチ処理について処理手順を整理して説明する。
先ず、Ｉｎｔｒａ予測バックサーチ部８０は、分母の値の決定を行う（ステップＳ５１）。尚、剰余計算に用いる、分母は前述したＭＢ  ＱＰバックサーチ部７０と同様に求める。続いて、Ｉｎｔｒａ予測バックサーチ部８０は、前述したＭＢ  ＱＰバックサーチ部７０と同様に、剰余を求める（ステップＳ５２）。
こうして、Ｉｎｔｒａ予測バックサーチ部８０は、ＤＣＴの加算を終了したか否かを判断し（ステップＳ５３）、終了していない場合にはステップＳ５１に戻り、上記処理を繰り返す。一方、Ｉｎｔｒａ予測バックサーチ部８０は、終了している場合には、第２、第３の候補について評価をしたか否かを判断し（ステップＳ５４）、第２、第３の評価をしていない場合にはステップＳ５１に戻り、上記処理を繰り返す。一方、Ｉｎｔｒａ予測バックサーチ部８０は、第２、第３の候補の評価をしている場合、最小値選択部８６にて最小となる画面内予測モードを選択し（ステップＳ５５）、出力する（ステップＳ５７）。
続いて、Ｉｎｔｒａ予測バックサーチ部８０は、ＭＢの終了か否かを判断し（ステップＳ５６）、終了していない場合にはステップＳ５１に戻り、上記処理を繰り返す。一方、Ｉｎｔｒａ予測バックサーチ部８０は、終了している場合には処理を終了する。
次に図１３には、剰余計算部１００の構成を示し説明する。
図１３に示されるように、剰余計算部１００は、ＱＰ％６部１０１、ＱＰ／６部１０２、スケールファクタ選択部１０３、量子化値決定部１０４、ｓｈｉｆｔ＜＜９部１０５、ｓｈｉｆｔ＜＜６部１０６、減算部１０７乃至１１６、剰余集計部１１７を備えている。減算部１０７は、減算部１０７ａ、ｓｈｉｆｔ＜＜１部１０７ｂ、バッファ１０７ｃ，１０７ｅ、ＳＥＬ１０７ｄを備えている。これは、減算部１０７乃至１１６について同様である。
このような構成において、剰余計算部１００は、ＤＣＴ係数を分母の値（リスケーリングファクタＲＦ）で除算したときの剰余を求める処理を行う。
ＱＰ％６部１０１及びＱＰ／６部１０２には、検出量子化パラメータＱＰｅが供給される。ＱＰ％６部１０１は、検出量子化パラメータＱＰｅを「６」で除算したときの剰余が供給される。Ｖ×Ａ×Ｑ  Ｍａｔｒｉｘ  ＲＡＭ８５は、ＤＣＴアドレスに応じて取り得るＶ×Ａ×Ｑ  Ｍａｔｒｉｘの値をスケールファクタ選択部１０３に供給する。スケールファクタ選択部１０３は、ＱＰ％６部１０１による演算結果からＶ×Ａ×Ｑ  Ｍａｔｒｉｘの値を選択する。ＱＰ／６部１０２は、検出量子化パラメータＱＰｅを「６」で除算した値を算出し、リスケーリングファクタ決定部１０４に供給する。リスケーリングファクタ決定部１０４は、分母の値を決定する。ｓｈｉｆｔ＜＜９部１０５では、分母の値を５１２倍したときの剰余から順次求めるために９ｂｉｔの左シフトを行う。
一方、ＤＣＴ係数はｓｈｉｆｔ＜＜６部１０６に入力される。このｓｈｉｆｔ＜＜６部１０６は、デコーダ部の逆量子化の丸めの逆変換処理として、６ｂｉｔの左シフトを行う。これは、復号時の丸めを防ぐため、リスケーリングファクタＲＦｒが６桁桁上げされているのに対応する処理である。剰余計算部１００は、除算器を除算器として回路合成した場合、大規模なものとなる為、剰余値の演算回路を１０段の減算器１０７乃至１１６による近似を行う処理を採用している。減算部１０７乃至１１６では、分子−分母の減算を行う。ＳＥＬ１０７ｄは、分子≧分母ならば、分子−分母の値を出力し、それ以外の場合には分子の値を出力する。
ｓｈｉｆｔ＞＞１部１０７ｂは、分母を１／２の値にする。減算部１０８乃至１１６は、減算部の処理をパイプラインに接続するようにして、剰余の結果を得る。剰余集計部１１７ではＤＣＴブロック単位とマクロブロック単位の剰余の総和を求め、出力する。
以上説明したように、画像符号化装置２００は、Ｉｎｔｒａ予測画像にローカルデコード画像ではなく入力画像を使用することにより、逆量子化、ＤＣＴ、逆Ｉｎｔｒａ予測などの処理が削減できる。また、予測モードが再現できなかった場合の誤差の伝播を防ぐことができて、検出精度が向上する。
さらに、画像符号化装置２００は、量子化レベル値をデコーダのスケールファクタから生成することで演算部の回路規模が削減できるばかりでなく、検出精度も向上する。
また、画像符号化装置２００は、ＤＣＴスキャン順で先頭の半分の係数のみを処理対象とすることで、１つのロジックを時分割で２回処理できるようになり、１／２の回路削減できるとともに、ゼロ係数の誤差を減らすことにより検出精度も向上する。
そして、画像符号化装置２００は、マクロブロックのＱＰを剰余最小条件からわり出した後、画面内予測モードのパラメータを剰余最小条件で復元することで、回路の段数を削減することができる。
さらに、画像符号化装置２００は、剰余値の演算回路を１０段程度の減算で近似することで、割り算器の演算回路規模を削減することができる
なお、本発明は前述した実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲で種々の改良や変更が可能である。
たとえば、上記画像符号化装置及び画像符号化方法は、該装置に実装されるコンピュータプログラム或いは該プログラムを記録した記録媒体、該方法を実施するコンピュータプログラム或いは該プログラムを記録した記録媒体としての実施も可能である。
［２−３．動作及び効果］
以上の構成によれば、画像符号化装置１００は、直交変換であるＤＣＴ変換された入力画像９１を量子化因子である量子化パラメータＱＰに基づくリスケーリングファクタＲＦにより除算したときの剰余に基づいて、入力画像９１が前回符号化されたときに使用された量子化パラメータＱＰを検出量子化パラメータＱＰｅとして量子化単位であるＭＢごとに検出する。このとき、画像符号化装置１００は、ＤＣＴ変換された入力画像９１であるＤＣＴ係数のうち前半部分のみを除算する。
これにより、画像符号化装置１００は、ＤＣＴ係数値が小さく、量子化ステップの差異に対する剰余の差異が表われにくい後半部分を使用せずに済み、バックサーチの精度を向上させ得る。
画像符号化装置１００は、１０段構成でなる減算器としての減算部１０８〜１１７を用いて、ＤＣＴ変換された入力画像９１のうち前半部分のみを、量子化パラメータＱＰに基づくリスケーリングファクタＲＦにより除算する。
これにより、画像符号化装置１００は、バックサーチの精度を維持できる範囲に除算の精度を留めつつ、減算部１０８〜１１７の数を最小にして回路構成を簡易にすることができる。
［３．他の実施の形態］
なお、上述した第１の実施の形態においては、符号化対象データとして、イントラ予測による差分画像データに対して直交変換としてのＤＣＴ変換処理を実行し、さらに量子化を行った量子化係数を用いるようにした場合について述べた。本発明はこれに限らず、例えば符号化対象データとして入力画像９１を用いたり、当該入力画像９１としてイントラ予測、直交変換、量子化のいずれか１つ又は２つ、さらには他の処理を施したデータを用いるようにしても良い。もちろん、直交変換としてウェーブレット変換などを用いることも可能である。
また、上述した第１及び第２の実施の形態においては、４×４ブロックを符号化対象となる符号化ブロックとするようにした場合について述べた。本発明はこれに限らず、例えば８×８ブロックや２×２ブロックなど、他の単位を符号かブロックにしても良い。
さらに、上述した第１及び第２の実施の形態においては、非ゼロ係数の数を符号化値とするようにした場合について述べた。本発明はこれに限らず、例えばゼロランの数など、符号化方式に応じた種々の値を符号化値とすることができる。
さらに、上述した第１及び第２の実施の形態においては、符号化値の平均値として、ｎＣ＝ｎＡ＋ｎＢとするようにした場合について述べた。本発明はこれに限らず、演算の丸めの都合上、ｎＣ＝ｎＡ＋ｎＢ＋１を符号化値の平均値としても良い。
さらに、上述した第１及び第２の実施の形態においては、第１のプレエンコード部１の低精度発生符号量を算出するための簡易的な符号化の際に本発明を適用するようにした場合について述べた。本発明はこれに限らず、例えば第２のプレエンコード部２の高精度発生符号量を算出するために本発明を適用しても良い。もちろん、本エンコード部３において用いることも可能である。また、本発明は、第１のプレコード部１、第２のプレコード部２及び第３のプレコード部３を有する画像符号化装置１００以外にも、種々の構成でなる画像符号化装置に適用することができる。
さらに、上述した第１及び第２の実施の形態においては、図４の構成を有する（共有部を有する）量子化部１４及びＣＡＶＬＣ計算部１５を有するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる量子化部１４やＣＡＶＬＣ計算部１５を有するようにしても良い。
さらに、上述した第１及び第２の実施の形態においては、共有係数部１５０において、スケーリングファクタＭＦと量子化行列Ｑ  Ｍａｔｒｉｘの逆数を別々に記憶するようにした場合について述べた。本発明はこれに限らず、スケーリングファクタＭＦと量子化行列Ｑ  Ｍａｔｒｉｘの逆数を乗算した値を乗算係数として記憶しても良い。この場合、ＤＣＴアドレスに応じて取り得る乗算係数の全てを出力し、量子化パラメータＱＰ及び量子化行列に応じ、選択部によって乗算係数を選択する。
さらに、上述した第１及び第２の実施の形態においては、除算器の代りに１０段構成の減算器１０８〜１１７を設けるようにした場合について述べた。本発明はこれに限らず、減算器の数に特に制限はなく、また除算器を用いても良い。
さらに、上述した第１及び第２の実施の形態においては、ＤＣＴ係数の低周波側の半分の値のみをリスケーリングファクタＲＦによって除算するようにした場合について述べた。本発明はこれに限らず、例えばＤＣＴ係数の低周波側（スキャン前半部分）の１／３や２／３を前半部分として使用してもよい。
さらに、上述した第２の実施の形態においては、４×４ブロックを量子化単位とするようにした場合について述べた。本発明はこれに限らず、例えば８×８や１６×１６など、種々のブロックサイズを量子化単位とすることができる。
さらに、上述した第１及び第２の実施の形態においては、ＡＶＣに本発明を適用するようにした場合について述べた。本発明はこれに限らず、適応的にＶＬＣテーブルを選択する種々の符号化方式に本発明を適用することが可能である。例えばＭＰＥＧ−２に本発明を適用する場合、量子化因子として量子化スケールが用いられる。
さらに上述した第１及び第２の実施の形態においては、ピクチャごとの発生符号量を目標符号量内に抑えるようにした場合について述べた。本発明はこれに限らず、例えばスライスごとの発生符号量を目標符号量内に抑えるようにしても良い。
さらに上述した第１及び第２の実施の形態においては、目標発生符号量に最も近い高精度発生符号量に対応する量子化パラメータＱＰを基本量子化パラメータＱＰＭＢとして決定するようにした場合について述べた。本発明はこれに限らず、例えば目標発生符号量よりも小さい高精度発生符号量のうち、目標発生符号量に最も近い高精度発生符号量に対応する量子化パラメータＱＰを基本量子化パラメータＱＰＭＢとして決定するようにしても良い。
さらに、上述した第１及び第２の実施の形態においては、可変長テーブル選択部及び可変長符号化部としてのＴｏｔａｌ  Ｃｏｅｆ  Ｌｅｎｇｔｈビット長ＲＯＭ２０７によって画像処理装置としての画像符号化装置１００を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成による可変長テーブル選択部及び可変長符号化部によって本発明の画像処理装置を構成するようにしても良い。
【図１】
2009157581.tif 000005
【図２】
2009157581.tif 000006
【図３】
2009157581.tif 000007
【図４】
2009157581.tif 000008
【図５】
2009157581.tif 000009
【図６】
2009157581.tif 000010
【図７】
2009157581.tif 000011
【図８】
2009157581.tif 000012
【図９】
2009157581.tif 000013
【図１０】
2009157581.tif 000014
【図１１】
2009157581.tif 000015
【図１２】
2009157581.tif 000016
【図１３】
2009157581.tif 000017
【手続補正書】
【提出日】平成21年11月9日(2009.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択部と、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化部と、
上記入力画像を少なくとも量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する前段符号化部と、
上記符号化対象データを上記可変長符号化部によって可変長符号化したときの発生符号量に基づいて、上記入力画像を本符号化したときの発生符号量が目標符号量の近傍であると予測される基本量子化因子を決定する基本量子化因子決定部と、
上記基本量子化因子決定部によって決定された上記基本量子化因子に基づいて入力画像を本符号化する本符号化部と
を有する画像処理装置。
【請求項２】
（削除）
【請求項３】
上記前段符号化部は、
上記入力画像を上記符号化ブロックごとに直交変換した後、量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する
請求項１に記載の画像処理装置。
【請求項４】
上記基本量子化因子決定部は、
上記基本量子化因子の近傍でなる予測量子化因子を決定する予測量子化因子選択部と、
上記予測量子化因子選択部によって選択された上記予測量子化因子及び当該予測量子化因子の近傍の量子化因子に基づいて上記入力画像を符号化し、上記入力画像の発生符号量を算出する近傍発生符号量算出部と、
上記近傍発生符号量算出部によって算出された上記入力画像の発生符号量に基づいて、上記基本量子化因子を決定する基本量子化因子決定部と
を有する請求項３に記載の画像処理装置。
【請求項５】
上記前段符号化部は、
上記ライン走査部によって走査された上記入力画像を複数の上記量子化因子に基づく複数の量子化ステップを用いて符号化することにより、複数の上記符号化対象データを生成し、
上記基本量子化因子決定部は、
上記複数の上記符号化対象データが上記可変長符号化部によって符号化されたときの複数の発生符号量に基づいて、上記基本量子化因子を決定する
請求項１に記載の画像処理装置。
【請求項６】
上記複数の符号化対象データと同一数だけ並列に設けられ、上記符号化対象データにおける符号化ブロックから、ゼロでない非ゼロの数を上記符号化値としてカウントする複数のカウント部と、
をさらに有し、
上記可変長符号化部は、
上記複数のカウント部によってカウントされた全ての上記符号化値を順次可変長符号化する
請求項５に記載の画像処理装置。
【請求項７】
上記可変長テーブル選択部は、
上記複数のカウント部によってカウントされた全ての上記符号化値に基づいて、上記複数の符号化対象データに対応する可変長テーブルを順次選択する
請求項６に記載の画像処理装置。
【請求項８】
上記カウント部は、
１又は−１の連続数であるＴｒａｉｌｉｎｇＯｎｅをカウントするＴｒａｉｌｉｎｇＯｎｅ計数部と、
上記ＴｒａｉｌｉｎｇＯｎｅ計数部によってカウントされない非ゼロの数であるＴｏｔａｌＣｏｅｆをカウントするＴｏｔａｌＣｏｅｆ計数部とを有し、
上記可変長符号化部は、
上記ＴｒａｉｌｉｎｇＯｎｅ計数部によってカウントされた全ての上記ＴｒａｉｌｉｎｇＯｎｅを記憶する第１の記憶部と、
上記ＴｏｔａｌＣｏｅｆ計数部によってカウントされた全ての上記ＴｏｔａｌＣｏｅｆを記憶する第２の記憶部と、
上記第１及び第２の記憶部に記憶されたＴｒａｉｌｉｎｇＯｎｅ及び上記ＴｏｔａｌＣｏｅｆを順次加算することにより、上記符号化値を順次算出する加算部と
を有する請求項７に記載の画像処理装置。
【請求項９】
上記前段符号化部は、
上記符号化ブロックにおける位置及び上記量子化因子の組み合わせに応じた第１の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化因子に応じて取り得る第１の乗算係数を特定し、当該特定した乗算係数を出力する乗算係数供給部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算係数供給部によって出力された第１の乗算係数のうち、使用する量子化因子に応じた第１の乗算係数を選択する複数の第１の乗算係数選択部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記第１の乗算係数選択部によって選択された乗算係数及び上記符号化ブロックの値を乗算する複数の乗算部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算部によって乗算された上記符号化ブロックの値を上記量子化因子に応じた桁数だけ右シフトさせる複数のシフト部と
を有する請求項５に記載の画像処理装置。
【請求項１０】
上記前段符号化部は、
量子化行列及び上記符号化ブロックの位置の組み合わせに応じた第２の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化行列に応じて取り得る第２の乗算係数を特定し、当該特定した第２の乗算係数を出力する第２の乗算係数供給部と、
上記第２の乗算係数供給部によって出力された第２の乗算係数のうち、使用する量子化行列に応じた乗算係数を選択する第２の乗算係数選択部と
をさらに有する請求項９に記載の画像処理装置。
【請求項１１】
直交変換された上記入力画像を上記量子化因子に基づくリスケーリングファクタにより除算したときの剰余に基づいて、上記入力画像が前回符号化されたときに使用された量子化因子を検出量子化因子として量子化単位ごとに検出する際、上記直交変換された入力画像のうち前半部分のみを除算するバックサーチ部
をさらに有する請求項１に記載の画像処理装置。
【請求項１２】
上記バックサーチ部は、
１０段構成でなる減算器を用いて、直交変換された上記入力画像のうち前半部分のみを、上記量子化因子に基づくリスケーリングファクタにより除算する
請求項１１に記載の画像処理装置。
【請求項１３】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択ステップと、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化ステップと、
上記入力画像を少なくとも量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する前段符号化ステップと、
上記符号化対象データを上記可変長符号化ステップによって可変長符号化したときの発生符号量に基づいて、上記入力画像を本符号化したときの発生符号量が目標符号量の近傍であると予測される基本量子化因子を決定する基本量子化因子決定ステップと、
上記基本量子化因子決定ステップによって決定された上記基本量子化因子に基づいて入力画像を本符号化する本符号化ステップと
を有する画像処理方法。
【手続補正書】
【提出日】平成22年2月19日(2010.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択部と、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化部と、
上記入力画像を少なくとも量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する前段符号化部と、
上記符号化対象データを上記可変長符号化部によって可変長符号化したときの発生符号量に基づいて、上記入力画像を本符号化したときの発生符号量が目標符号量の近傍であると予測される基本量子化因子を決定する基本量子化因子決定部と、
上記基本量子化因子決定部によって決定された上記基本量子化因子に基づいて入力画像を本符号化する本符号化部と
を有する画像処理装置。
【請求項２】
上記前段符号化部は、
上記入力画像を上記符号化ブロックごとに直交変換した後、量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する
請求項１に記載の画像処理装置。
【請求項３】
上記基本量子化因子決定部は、
上記基本量子化因子の近傍でなる予測量子化因子を決定する予測量子化因子選択部と、
上記予測量子化因子選択部によって選択された上記予測量子化因子及び当該予測量子化因子の近傍の量子化因子に基づいて上記入力画像を符号化し、上記入力画像の発生符号量を算出する近傍発生符号量算出部と、
上記近傍発生符号量算出部によって算出された上記入力画像の発生符号量に基づいて、上記基本量子化因子を決定する基本量子化因子決定部と
を有する請求項２に記載の画像処理装置。
【請求項４】
上記前段符号化部は、
上記ライン走査部によって走査された上記入力画像を複数の上記量子化因子に基づく複数の量子化ステップを用いて符号化することにより、複数の上記符号化対象データを生成し、
上記基本量子化因子決定部は、
上記複数の上記符号化対象データが上記可変長符号化部によって符号化されたときの複数の発生符号量に基づいて、上記基本量子化因子を決定する
請求項１に記載の画像処理装置。
【請求項５】
上記複数の符号化対象データと同一数だけ並列に設けられ、上記符号化対象データにおける符号化ブロックから、ゼロでない非ゼロの数を上記符号化値としてカウントする複数のカウント部と、
をさらに有し、
上記可変長符号化部は、
上記複数のカウント部によってカウントされた全ての上記符号化値を順次可変長符号化する
請求項４に記載の画像処理装置。
【請求項６】
上記可変長テーブル選択部は、
上記複数のカウント部によってカウントされた全ての上記符号化値に基づいて、上記複数の符号化対象データに対応する可変長テーブルを順次選択する
請求項５に記載の画像処理装置。
【請求項７】
上記カウント部は、
１又は−１の連続数であるTrailingOneをカウントするTrailingOne計数部と、
上記TrailingOne計数部によってカウントされない非ゼロの数であるTotalCoefをカウントするTotalCoef計数部とを有し、
上記可変長符号化部は、
上記TrailingOne計数部によってカウントされた全ての上記TrailingOneを記憶する第1の記憶部と、
上記TotalCoef計数部によってカウントされた全ての上記TotalCoefを記憶する第２の記憶部と、
上記第１及び第２の記憶部に記憶されたTrailingOne及び上記TotalCoefを順次加算することにより、上記符号化値を順次算出する加算部と
を有する請求項６に記載の画像処理装置。
【請求項８】
上記前段符号化部は、
上記符号化ブロックにおける位置及び上記量子化因子の組み合わせに応じた第１の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化因子に応じて取り得る第１の乗算係数を特定し、当該特定した乗算係数を出力する乗算係数供給部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算係数供給部によって出力された第１の乗算係数のうち、使用する量子化因子に応じた第１の乗算係数を選択する複数の第１の乗算係数選択部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記第１の乗算係数選択部によって選択された乗算係数及び上記符号化ブロックの値を乗算する複数の乗算部と、
上記複数の符号化対象データと同一数だけ並列に設けられ、上記乗算部によって乗算された上記符号化ブロックの値を上記量子化因子に応じた桁数だけ右シフトさせる複数のシフト部と
を有する請求項４に記載の画像処理装置。
【請求項９】
上記前段符号化部は、
量子化行列及び上記符号化ブロックの位置の組み合わせに応じた第２の乗算係数を記憶し、上記符号化ブロックの位置から、全ての上記量子化行列に応じて取り得る第２の乗算係数を特定し、当該特定した第２の乗算係数を出力する第２の乗算係数供給部と、
上記第２の乗算係数供給部によって出力された第２の乗算係数のうち、使用する量子化行列に応じた乗算係数を選択する第２の乗算係数選択部と
をさらに有する請求項８に記載の画像処理装置。
【請求項１０】
直交変換された上記入力画像を上記量子化因子に基づくリスケーリングファクタにより除算したときの剰余に基づいて、上記入力画像が前回符号化されたときに使用された量子化因子を検出量子化因子として量子化単位ごとに検出する際、上記直交変換された入力画像のうち前半部分のみを除算するバックサーチ部
をさらに有する請求項１に記載の画像処理装置。
【請求項１１】
上記バックサーチ部は、
１０段構成でなる減算器を用いて、直交変換された上記入力画像のうち前半部分のみを、上記量子化因子に基づくリスケーリングファクタにより除算する
請求項１０に記載の画像処理装置。
【請求項１２】
複数の画素でなる符号化ブロックごとに走査されながら、複数の上記符号化ブロックによって構成される走査ブロックごとにライン走査された入力画像に基づく符号化対象データにおいて、符号化対象となる符号化ブロックの上隣及び左隣の符号化ブロックにおいて可変長符号化される符号化値の平均値に対応する可変長テーブルを選択する際、上記符号化対象となる符号化ブロックが上記走査ブロックの上端であった場合、上記上隣の符号化ブロックの符号化値を左隣の符号化ブロックの符号化値と擬制する可変長テーブル選択ステップと、
上記可変長テーブルを用いることにより、上記符号化対象データにおいて上記符号化対象となる符号化ブロックの符号化値を可変長符号化する可変長符号化ステップと、
上記入力画像を少なくとも量子化因子に基づく量子化ステップを用いて量子化することにより符号化し、上記符号化対象データを生成する前段符号化ステップと、
上記符号化対象データを上記可変長符号化ステップによって可変長符号化したときの発生符号量に基づいて、上記入力画像を本符号化したときの発生符号量が目標符号量の近傍であると予測される基本量子化因子を決定する基本量子化因子決定ステップと、
上記基本量子化因子決定ステップによって決定された上記基本量子化因子に基づいて入力画像を本符号化する本符号化ステップと
を有する画像処理方法。
【国際調査報告】
2009157581.tif 000018
2009157581.tif 000019
2009157581.tif 000020
2009157581.tif 000021
2009157581.tif 000022
2009157581.tif 000023
2009157581.tif 000024