(57)【要約】      （修正有）【課題】量子化パラメータやクリッピングによって強制的に予測誤差データを変更せずに、可変長符号化部のサポート範囲に予測誤差データの値を収めることを可能とし、画質劣化を低減しつつ、少ない回路規模で動画像符号化処理を行う動画像符号化装置を提供する。【解決手段】入力画像データを直交変換した変換データを可変長符号化する可変長符号化手段と、直交変換動作を制御する符号化制御手段を備え、可変長符号化手段は、変換データの値がとりうる範囲よりも狭い範囲の可変長符号化が可能であり、符号化制御手段は変換データの値が可変長符号化手段が可変長符号化可能な範囲を超えないように直交変換動作を制御する。【選択図】図１
2010004174.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置であって、
前記複数の予測誤差データのうち、いずれかの該予測誤差データの総和を算出する算出手段と、
該総和が所定の範囲内に属するか否かを判定する判定手段と、
前記総和が前記所定の範囲内に属すると判定された場合に、該総和に対応する予測誤差データを選択させるための選択信号と、前記アダマール変換を行うか否かを制御するための制御信号とを、前記変換手段に供給する制御手段と
をさらに備えることを特徴とする動画像符号化装置。
【請求項２】
前記所定の範囲は、前記量子化手段における量子化パラメータに応じて設定されることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記判定手段が前記複数の予測誤差データについて算出された前記総和のいずれもが前記所定の範囲内に属しないと判定した場合、
前記量子化パラメータが更新され、更新された量子化パラメータに応じた前記所定の範囲が新たに設定されることを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記算出手段は、前記複数の予測誤差データのうち、所定サイズのブロックの予測誤差の和が小さいものから前記総和を算出し、算出した該総和が前記所定の範囲内に属しないと前記判定手段により判定された場合に、他の予測誤差データについて前記総和を更に算出することを特徴とする請求項１乃至３のいずれか１項に記載の動画像符号化装置。
【請求項５】
前記複数の予測方法には、イントラ１６×１６予測が含まれ、
前記制御手段は、前記判定手段により前記イントラ１６×１６予測に基づき生成された予測誤差データの総和が前記所定の範囲内に属すると判定された場合に、前記入力画像データの輝度の直流成分および色差の直流成分についての前記予測誤差データに対してのみ前記アダマール変換を実行させる制御信号を前記変換手段に供給することを特徴とする請求項１乃至４のいずれか１項に記載の動画像符号化装置。
【請求項６】
前記複数の予測方法には、イントラ４×４予測が含まれ、
前記制御手段は、前記判定手段により前記イントラ４×４予測に基づき生成された予測誤差データの総和が前記所定の範囲内に属すると判定された場合に、前記入力画像データの色差の直流成分についての前記予測誤差データに対してのみ前記アダマール変換を実行させる制御信号を前記変換手段に供給することを特徴とする請求項１乃至５のいずれか１項に記載の動画像符号化装置。
【請求項７】
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置であって、
前記変換データが所定の範囲内に属するか否かを判定する判定手段と、
前記変換データが前記所定の範囲内に属すると判定された場合に、該変換データを前記量子化手段に出力させる制御手段と
をさらに備えることを特徴とする動画像符号化装置。
【請求項８】
前記所定の範囲は、前記量子化手段における量子化パラメータに応じて設定されることを特徴とする請求項７に記載の動画像符号化装置。
【請求項９】
前記判定手段が前記複数の予測誤差データについて生成された前記変換データのいずれもが前記所定の範囲内に属しないと判定した場合、
前記量子化パラメータが更新され、更新された量子化パラメータに応じた前記所定の範囲が新たに設定されることを特徴とする請求項８に記載の動画像符号化装置。
【請求項１０】
前記変換手段は、前記複数の予測誤差データのうち、所定サイズのブロックの予測誤差の和が小さいものから前記変換データを生成し、
前記判定手段により該変換データが前記所定の範囲内に属しないと判定された場合に、他の予測誤差データについて前記変換データを更に算出することを特徴とする請求項７乃至９のいずれか１項に記載の動画像符号化装置。
【請求項１１】
前記複数の予測方法には、イントラ１６×１６予測が含まれ、
前記変換手段は、前記イントラ１６×１６予測に基づき生成された予測誤差データについては、前記入力画像データの輝度の直流成分および色差の直流成分についての予測誤差データにのみ前記アダマール変換を行うことを特徴とする請求項７乃至１０のいずれか１項に記載の動画像符号化装置。
【請求項１２】
前記複数の予測方法には、イントラ４×４予測が含まれ、
前記変換手段は、前記イントラ４×４予測に基づき生成された予測誤差データについては、前記入力画像データの色差の直流成分についての予測誤差データにのみ前記アダマール変換を行うことを特徴とする請求項７乃至１１のいずれか１項に記載の動画像符号化装置。
【請求項１３】
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置の制御方法であって、
前記複数の予測誤差データのうち、いずれかの該予測誤差データの総和を算出する算出工程と、
該総和が所定の範囲内に属するか否かを判定する判定工程と、
前記総和が前記所定の範囲内に属すると判定された場合に、該総和に対応する予測誤差データを選択させるための選択信号と、前記アダマール変換を行うか否かを制御するための制御信号とを、前記変換手段に供給する制御工程と
をさらに備えることを特徴とする動画像符号化装置の制御方法。
【請求項１４】
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置の制御方法であって、
前記変換データが所定の範囲内に属するか否かを判定する判定工程と、
前記変換データが前記所定の範囲内に属すると判定された場合に、該変換データを前記量子化手段に出力させる制御工程と
をさらに備えることを特徴とする動画像符号化装置の制御方法。
【請求項１５】
コンピュータを請求項１乃至１２のいずれか１項に記載の動画像符号化装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置及びその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、画像の圧縮符号化方式としてH.264と呼ばれる方式が規格化された。このH.264符号化方式では、MPEG2およびMPEG4などの従来の圧縮符号化方式に比べて、多くの演算量が要求されるが、より高い符号化効率が実現されることが知られている。
【０００３】
従来の動画像符号化装置構成を図３に示す。図３の動画像符号化装置は、予測部３０１、変換／逆変換部３０２、量子化／逆量子化部３０３、可変長符号化部３０４、符号化制御プロセッサ３０５を備えて構成される。
【０００４】
予測部３０１は、変換／逆変換部３０２から出力された逆変換データから予測画像データを算出し、入力画像データと予測画像データの差分を取り、予測誤差データとして出力する。予測画像データの算出には、画面内予測、画面間予測などが用いられる。一般的に複数の予測方法から、もっとも予測誤差データが小さくなる方法が選択される。
【０００５】
続いて、変換／逆変換部３０２は、予測誤差データの直交変換処理を行い、直交係数を量子化／逆量子化部３０３に出力する。直交変換処理には、整数変換、アダマール変換、ＤＣＴなどが用いられる。更に、量子化／逆量子化部３０３は、符号化制御プロセッサ３０５から与えられた量子化パラメータに基づいて、直交係数の量子化処理を行う。
【０００６】
量子化後のデータに対して、可変長符号化部３０４において、可変長符号化処理を行い、符号化データを出力する。なお、量子化後のデータは、量子化／逆量子化部３０３で逆量子化され、変換／逆変換部３０２に入力される。変換／逆変換部３０２は、逆量子化により得られた係数の逆変換を行う。逆変換されたデータは、予測部３０１に入力され、予測画像データの算出に用いられる。
【０００７】
符号化制御プロセッサ３０５は、予測部３０１、変換／逆変換部３０２、量子化／逆量子化部３０３、可変長符号化部３０４へのモード設定と起動制御を行う（非特許文献１を参照）。
【０００８】
図４は可変長符号化部３０４の入出力テーブルの一例を示す。量子化データの値をLevelとし、可変長符号の接頭辞をlevel_prefix、接尾辞をlevel_suffixと定義する。例えば量子化データの値が＋３の場合には、level_prefix = 001, level_suffix = 0となり、可変長符号化後のデータは0010となる。図４によれば、Level値が大きくなるにつれ、可変長符号の長さが長くなる（非特許文献１を参照）。
【０００９】
動画像符号化装置では、以下の方式のいずれかを用いている。
【００１０】
方式１：可変長符号化部３０４において全てのとりうる量子化データに対する可変長符号化をサポートする。
【００１１】
方式２：量子化／逆量子化部３０３において、量子化パラメータを大きくし、可変長符号化部３０４がサポートしない、極端に大きなLevel値が生じないようにする。
【００１２】
方式３：量子化／逆量子化部３０３において、出力値をクリップし、可変長符号化部３０４がサポートしない、極端に大きなLevel値が生じないようにする。
【非特許文献１】ITU-T  H.264 Advanced video coding for generic audiovisual services
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記の方式１の動画像符号化装置においては、起こりうる全てのビット長の可変長符号化をサポートするためには、大規模なテーブルおよび可変長データのシフト回路が必要になり、回路規模が増大するという問題があった。また、方式２および方式３では、量子化した部分やクリップした部分にて歪みやノイズが発生し、画質が劣化するという問題があった。
【００１４】
そこで、本発明は、画質劣化を低減しつつ、少ない回路規模で画像符号化処理を行う手段を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するための、本願発明は、
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置であって、
前記複数の予測誤差データのうち、いずれかの該予測誤差データの総和を算出する算出手段と、
該総和が所定の範囲内に属するか否かを判定する判定手段と、
前記総和が前記所定の範囲内に属すると判定された場合に、該総和に対応する予測誤差データを選択させるための選択信号と、前記アダマール変換を行うか否かを制御するための制御信号とを、前記変換手段に供給する制御手段と
をさらに備えることを特徴とする。
【００１６】
課題を解決するための他の側面に対応する本願発明は、
入力画像データと、複数の予測方法により生成された各予測画像データとの差分から複数の予測誤差データを生成する予測手段と、
前記複数の予測誤差データのいずれかの変換データを、アダマール変換を含む変換処理により生成する変換手段と、
前記変換データを量子化パラメータを用いて量子化して量子化データを生成する量子化手段と、
前記量子化データを可変長符号化して、符号化データを出力する可変長符号化手段とを備える動画像符号化装置であって、
前記変換データが所定の範囲内に属するか否かを判定する判定手段と、
前記変換データが前記所定の範囲内に属すると判定された場合に、該変換データを前記量子化手段に出力させる制御手段と
をさらに備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、量子化パラメータやクリッピングによって強制的に予測誤差データを変更せずに、可変長符号化部のサポート範囲に予測誤差データの値を収めることが可能である。そのため、量子化した部分やクリップした部分でのノイズの発生を低減させることが可能である。その結果、画質劣化を低減しつつ、少ない回路規模で動画像符号化処理を行うことが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、添付する図面を参照して、発明の実施形態を説明する。
【００１９】
［第１の実施形態］
図１は本発明の第１の実施形態の構成を示した図である。図１において本発明に係る動画像符号化装置は、予測部１０１、変換／逆変換部１０２、量子化／逆量子化部１０３、可変長符号化部１０４、符号化制御プロセッサ１０５、モード判定情報算出部１０６を備える。
【００２０】
予測部１０１は、変換／逆変換部１０２から出力された逆変換データＤ１３を用いてローカルデコード画像を生成し、該ローカルデコード画像を利用して予測画像データを算出する。また、入力画像データＤ１１と予測画像データの差分を取り、予測誤差データＤ１２として出力する。予測画像データの算出にはイントラ予測、インター予測などの公知のアルゴリズムを用いる。本実施形態では、イントラ１６×１６予測、イントラ４×４予測、インター予測の３つの予測方法を並行して行う。また、各予測方法における予測誤差の大きさを表す予測コスト情報を符号化制御プロセッサ１０５に出力する。予測コスト情報は、所定サイズのブロック（例えば４×４ブロック）の予測誤差の絶対値和を用いる。
【００２１】
変換／逆変換部１０２は、予測誤差データＤ１２を直交変換処理して直交変換データＤ１４を量子化／逆量子化部１０３に出力する。直交変換処理には、４×４整数変換、アダマール変換をモードに応じて選択的に用いる。また、量子化／逆量子化部１０３から取得した逆量子化データＤ１５を逆直交変換して、逆変換データＤ１３を予測部１０１に出力する。
【００２２】
量子化／逆量子化部１０３は、符号化制御プロセッサ１０５から与えられた量子化パラメータＤ２０に基づいて、直交変換データＤ１４の量子化処理を行い、量子化データＤ１６を可変長符号化部１０４に出力する。また、量子化データＤ１６を逆量子化した逆量子化データＤ１５を変換／逆変換部１０２に出力する。
【００２３】
可変長符号化部１０４は量子化データＤ１６に対して、可変長符号化処理を行い、符号化ビット列Ｄ１７を出力する。可変長符号化処理として図４および公知のアルゴリズムを用いる。
【００２４】
符号化制御プロセッサ１０５は、予測部１０１、変換／逆変換部１０２、量子化／逆量子化部１０３、可変長符号化部１０４へ制御信号を送信してモード設定や起動制御を行うプロセッサである。符号化制御プロセッサ１０５はまた、符号化後のビットレートが所望の範囲になるように量子化パラメータを適応的に制御する。この符号量制御には公知のアルゴリズムを用いる。
【００２５】
モード判定情報算出部１０６は、予測誤差データＤ１２から変換／逆変換部１０２のモードを設定するためのモード判定情報Ｄ１８を算出し、符号化制御プロセッサ１０５へ出力する。また、符号化制御プロセッサ１０５は、モード判定情報Ｄ１８に基づいて、適応的に変換／逆変換部１０２のモードを設定する。
【００２６】
次に、図２を参照して、符号化制御プロセッサ１０５における処理を説明する。図２は、発明の第１の実施形態に対応する符号化制御プロセッサ１０５の処理の一例を示すフローチャートである。符号化制御プロセッサ１０５は、対応する処理プログラムを実行することで、図２のフローチャートに対応する処理を行う。
【００２７】
ステップＳ２０１において、前述したアルゴリズムに基づいて、符号化後のビットレートが所望の範囲になるように量子化パラメータＱＰを算出する。続いてステップＳ２０２において予測モードリストの初期化を行う。ここでは予測モードリストに、予測部１０１で対応可能なすべての予測モードを登録する。本実施形態ではＩｎｔｅｒ予測、Ｉｎｔｒａ１６×１６予測、Ｉｎｔｒａ４×４予測の３つの予測モードをリストに登録する。
【００２８】
続いて、ステップＳ２０３において、予測部１０１より出力された各予測モードの予測コスト情報を比較し、予測コスト情報が最も小さい予測モードを選択する。以下では、Ｉｎｔｒａ１６×１６予測が選択された場合を一例として説明する。続いてステップＳ２０４において、量子化パラメータＱＰに応じて予め決められているモード判定情報の最大値Ｘmaxおよび最小値Ｘminを内部メモリから読みだす。なお、量子化パラメータＱＰ毎のＸmax, Ｘminの値を、図７のステップＳ７０６との関連で説明する方法で予め算出しメモリに格納しておくものとする。
【００２９】
続いてステップＳ２０５においてモード判定情報算出部１０６よりモード判定情報Ｄ１８を読み出し、所定の許容範囲内か否かを後述の方法で判定する。所定の許容範囲内である場合は（ステップＳ２０５において「ＹＥＳ」）、ステップＳ２０９に進む。ステップＳ２０９では、変換／逆変換部１０２に対して現在選択されている予測モードを出力し、ステップＳ２１０へ進む。ステップＳ２１０において選択された予測モードおよび量子化パラメータを用いて、変換／逆変換部１０２、量子化／逆量子化部１０３、可変長符号化部１０４を起動し、マクロブロックの符号化処理を進める。一方、ステップＳ２０５において、モード判定情報Ｉが所定の許容範囲外であった場合には（ステップＳ２０５において「ＮＯ」）、ステップＳ２０６に進み、予測モードリストの更新を行う。
【００３０】
ここでは、予測モードリストから現在選択されているＩｎｔｒａ１６×１６予測を削除する。この結果、予測モードリストにはＩｎｔｒａ４×４予測およびＩｎｔｅｒ予測が残っている状態になる。続いて、ステップＳ２０７において予測モードリストが空であるか否かを判定する。空である場合にはステップＳ２０８に進み、量子化パラメータＱＰを調整し、モード判定情報Ｄ１８が所定の許容範囲に入るようにする。本実施形態では、ＱＰに１を加算するものとする。
【００３１】
続いてステップＳ２０２へ進み、処理を継続する。一方、ステップＳ２０７において予測モードリストが空でない場合にはステップＳ２０３に戻り、処理を継続する。
【００３２】
続いて、変換／逆変換部１０２の内部の構成を、図５を用いて説明する。予測誤差データ選択部５０１は、予測部１０１からの複数の予測誤差データＤ１２−１〜Ｄ１２−３より、予測モード選択信号１に基づいていずれかの予測誤差データＤ１２を選択するセレクタ回路である。整数変換部５０２は、予測誤差データ選択部５０１で選択された予測誤差データＤ５１を４×４のブロックに分割し、以下の式１で表現される整数変換を行う回路である。
2010004174.tif 000003
これにより、選択された予測誤差データＤ５１は空間領域から周波数領域の変換データＤ５２に変換される。アダマール変換部５０３は、整数変換部５０２で変換された４×４の変換データＤ５２に対してアダマール変換を行う回路である。輝度データおよびＹＵＶ＝４：４：４の色差データに対しては式２で表現されるアダマール変換を行う。ＹＵＶ＝４：２：２の色差データに対しては式３で表現されるアダマール変換を行う。ＹＵＶ＝４：２：０の色差データに対しては式４で表現されるアダマール変換を行う。
2010004174.tif 000004
2010004174.tif 000005
2010004174.tif 000006
変換データ選択部５０４は、整数変換部５０２の変換データＤ５２と、アダマール変換部５０３の変換データＤ５３とのいずれかを予測モード選択信号３に基づいて選択して、変換データＤ１４として量子化／逆量子化部１０３へ出力する回路である。
【００３３】
逆アダマール変換部５０５は、量子化／逆量子化部１０３から入力される逆量子化データＤ１５に対して、逆アダマール変換を行う。逆アダマール変換後の逆変換データＤ５４は、逆変換データ選択部５０６に出力される。逆変換データ選択部５０６は、予測モード選択信号２に応じて、量子化／逆量子化部１０３から入力された逆量子化データＤ１５と、逆アダマール変換部５０５での逆変換データＤ５４のいずれかを選択して出力するセレクタ回路である。逆整数変換部５０７は、逆変換データ選択部５０６で選択されたデータＤ５５に対して逆整数変換を行い、逆変換データＤ１３を予測部１０１へ出力する回路である。
【００３４】
なお、図５では、変換データ選択部５０４と逆変換データ選択部５０６とを設けて、予測モード選択信号２及び３によりデータを選択することとした。しかし発明の実施形態はこのような回路構成に限定されることなく、各選択部を設ける代わりに、予測モード選択信号をアダマール変換部５０３や逆アダマール変換部５０５に入力してもよい。この場合、各変換部はアダマール変換を行うか否か、逆アダマール変換を行うか否かを入力された制御信号に基づいて切り替えることができる。
【００３５】
続いて、符号化制御プロセッサ１０５の予測モード選択信号の制御方法を説明する。符号化制御プロセッサ１０５は図２のステップＳ２０９で選択された予測モードの誤差データを選択するように予測モード選択信号１を制御する。また、選択された予測モードがＩｎｔｒａ１６×１６予測の場合には、輝度の直流成分および色差の直流成分のみアダマール変換が適用されるように予測モード選択信号２、予測モード選択信号３を制御する。選択された予測モードがＩｎｔｒａ４×４予測の場合には、色差の直流成分のみアダマール変換が適用されるように予測モード選択信号２、予測モード選択信号３を制御する。選択された予測モードがＩｎｔｅｒ予測の場合には、色差の直流成分のみアダマール変換が適用されるように予測モード選択信号２、予測モード選択信号３を制御する。
次に量子化／逆量子化部１０３における量子化処理の詳細を説明する。量子化／逆量子化部への入力４×４ブロックをＸ、出力４×４ブロックをＺとすると、ＺとＸとの間の関係は、以下の式５乃至式８で表される。なお、ＱＰは量子化パラメータ、WeightScaleは予め動画像符号化装置の外部から設定される値である。
2010004174.tif 000007
2010004174.tif 000008
2010004174.tif 000009
2010004174.tif 000010
簡単のため、Ｚ4ij＝Ｆｑ（ＱＰ.i,i,Ｘ4ij）とする。
【００３６】
続いて、モード判定情報算出部１０６における、モード判定情報Ｄ１８の算出方法を図６を用いて説明する。
【００３７】
図６はＹＵＶ＝４：２：０にサブサンプリングされたマクロブロックデータを示す図である。マクロブロックとは縦１６サンプル、横１６サンプルの大きさの領域である。また、ブロックとは縦４サンプル、横４サンプルからなる領域であり、マクロブロックを構成する要素である。各サンプルのブロック内での位置を図６（ａ）に示す。輝度成分の各ブロックのマクロブロック内での位置を図６（ｂ）に示す。第一色差成分の各ブロックのマクロブロック内での位置を図６（ｃ）に示す。第二色差成分の各ブロックのマクロブロック内での位置を図６（ｄ）に示す。
【００３８】
あるブロック内のサンプルをblkN.sijと表現する。ここで、Ｎはブロックのマクロブロック内での位置を表す値である。また、iはサンプルのブロック内での垂直方向位置を表す値、jはサンプルのブロック内での水平方向位置を表す値である。例えば、輝度成分の左上のサンプルはblk0.s00と表される。
【００３９】
モード判定情報算出部１０６は予測部１０１から出力される各ブロックのサンプル値の総和dcNを算出し、符号化制御プロセッサ１０５に出力する回路である。dcNは次の式９で表される。モード判定情報算出部１０６は一つのマクロブロックにつきＮ＝０から２３まで、合計２４個の値を出力する。
2010004174.tif 000011
次に、図７を参照して、符号化制御プロセッサ１０５でのモード判定情報Ｄ１８が所定の許容範囲内か否かを判定する処理を説明する。符号化制御プロセッサ１０５は、対応する処理プログラムを実行することで、図７のフローチャートに対応する処理を行う。
【００４０】
ステップＳ７０１において、内部変数ＮおよびＸを０に初期化する。Ｎはブロックのマクロブロック内での位置を表す値であり、Ｘはモード判定情報Ｄ１８を代入する中間変数である。
【００４１】
次にステップＳ７０２において、選択された予測モードがＩｎｔｒａ１６×１６予測であるか否かを判定する。もしＩｎｔｒａ１６×１６予測の場合には（ステップＳ７０２において「ＹＥＳ」）、ステップＳ７０３に進む。ステップＳ７０３では、モード判定情報算出部１０６からのモード判定情報dcNを読み出し、その絶対値をＸに加算する。Ｎ＝０のときはＸの値は０から|ｄｃ０|に変化する。
【００４２】
続いてステップＳ７０４において、ＮをインクリメントしステップＳ７０５に進む。ステップＳ７０５では、コンポーネントが終了したか否かを判定する。Ｎ＝１６のとき輝度成分が終了したとしてステップＳ７０６へ進む。Ｎ＜１６の場合には、輝度成分がまだ終了していないのでステップＳ７０３へ進む。また、入力画像データがＹＵＶ＝４：２：０にサブサンプリングされている場合には、Ｎ＝２０およびＮ＝２４のとき色差成分が終了したとしてステップＳ７０６へ進む。
【００４３】
Ｎ＞１６の場合で、Ｎ＜２４の値のときは色差成分がまだ終了していないのでステップＳ７０３へ進む。また、入力画像データがＹＵＶ＝４：２：２にサブサンプリングされている場合には、Ｎ＝２４およびＮ＝３２のとき色差成分がそれぞれ終了したとしてステップＳ７０６へ進む。Ｎ＞１６の場合で、Ｎ＜３２の値のときは色差成分がまだ終了していないのでステップＳ７０３へ進む。
【００４４】
また、入力画像データがＹＵＶ＝４：４：４の場合には、Ｎ＝３２およびＮ＝４８のとき色差成分がそれぞれ終了したとしてステップＳ７０６へ進む。Ｎ＞１６の場合で、Ｎ＜４８の値のときは色差成分がまだ終了していないのでステップＳ７０３へ進む。続いてステップＳ７０６においてＸの値が所定の許容範囲内か否かを判定する。
【００４５】
許容範囲内か否かは以下のように判定する。まず、可変長符号化部１０４がサポートしている量子化後の値の最大値をＶmax,最小値をＶminとする。例えば可変長符号化部１０４が図４のテーブルをサポートしているとするとＶmax=2063, Ｖmin=-2063である。
【００４６】
続いて、式５の逆関数FqInv(QP,i,j,Z)より、量子化部への入力データの最大値Xmaxおよび最小値Xminを求める。FqInv(QP,i,j,Z)は以下の式１０で表される。
【００４７】
ＦｑＩｎｖ（ＱＰ,i,j,Ｚ4ij）＝((Ｚ4ij＜＜(１５＋ＱＰ／６))−２16+QP/6／３)／Ｑ4（ＱＰ％６,i,j）    式１０
式６、式７、式８よりＱ4（ＱＰ％６,i,j）を最大にするi,jの値をimax, jmaxとする。
【００４８】
ＸmaxおよびＸminは以下の式で表される。
【００４９】
Ｘmax=FqInv(ＱＰ, imax, jmax, Vmax)                   式１１
Ｘmin=FqInv(ＱＰ, imax, jmax, Vmin)                   式１２
ＱＰ毎のＸmax, Ｘminの値を予めテーブルに格納しておく。符号化制御プロセッサ１０５はテーブルから値を読み出して、各コンポーネントのｄｃＮの総和Ｘの値と比較する。
【００５０】
|Ｘ| ≦ |Ｘmax| および|Ｘ| ≦ |Ｘmin|の際には許容範囲内と判定し、ステップＳ７０７に進む。それ以外の場合には許容範囲外と判定し、ステップＳ７１０へ進む。ステップＳ７０７ではＸの値を０にクリアし、ステップＳ７０８に進む。
【００５１】
ステップＳ７０８ではマクロブロックを構成する全てのコンポーネントが終了したか否かを判定する。入力画像データがＹＵＶ＝４：２：０にサブサンプリングされている場合には、Ｎ＝２４のときに全てのコンポーネントが終了したとしてステップＳ７０９へ進む。
【００５２】
入力画像データがＹＵＶ＝４：２：２にサブサンプリングされている場合には、Ｎ＝３２のときに全てのコンポーネントが終了したとしてステップＳ７０９へ進む。入力画像データがＹＵＶ＝４：４：４の場合には、Ｎ＝４８のときに全てのコンポーネントが終了したとしてステップＳ７０９へ進む。ステップＳ７０９では選択されたモード判定情報Ｄ１８は許容範囲内であると判定し、処理を終了する。一方、ステップＳ７１０では選択されたモード判定情報Ｄ１８は許容範囲外であると判定し、処理を終了する。
【００５３】
一方ステップＳ７０２において、選択された予測モードがＩｎｔｒａ１６×１６予測でない場合にはステップＳ７１１に進む。ステップＳ７１１ではモード判定情報算出部１０６からのモード判定情報dcNを読み出し、その値をXに加算する。Ｎ＝０のときはＸの値は０からｄｃ０に変化する。続いてステップＳ７１２において、Ｘの値が許容範囲内か否かを判定する。許容範囲は以下の式で算出する。ただし、Ｘの値は４×４整数変換後の直流成分に相当するので、i=0, j=0を用いる。
【００５４】
Ｘmax=FqInv(ＱＰ, 0, 0, Ｖmax)                式１３
Ｘmin=FqInv(ＱＰ, 0, 0, Ｖmin)                式１４
ＱＰ毎のＸmax, Ｘminの値を予めテーブルに格納しておく。符号化制御プロセッサ１０５はテーブルから値を読み出して、Ｘの値と比較する。
【００５５】
|Ｘ| ≦ |Ｘmax| および|Ｘ| ≦ |Ｘmin|の際には許容範囲内と判定し、ステップＳ７１３に進む。それ以外の場合には許容範囲外と判定し、ステップＳ７１０へ進む。ステップＳ７１３ではＮをインクリメントしステップＳ７１４に進む。
【００５６】
ステップＳ７１４では、コンポーネントが終了したか否かを判定する。Ｎ＝１６のとき輝度成分が終了したとしてステップＳ７０７へ進む。Ｎ＜１６の場合には、輝度成分がまだ終了していないのでステップＳ７１１へ進む。
【００５７】
以上説明してきたように、発明の第１の実施形態によれば、画像データの直流成分が可変長符号化部１０４のサポート範囲に収まるように、変換／逆変換部１０２で予測モードを選択することができる。この結果、直流成分に対して量子化／逆量子化部１０３で強制的に予測誤差データを変更せずに、可変長符号化手段のサポート範囲に予測誤差データの値を収めることが可能である。
【００５８】
［第２の実施形態］
以下、発明の第２の実施形態を説明する。図８は本発明の第２実施形態の構成を示した図である。
【００５９】
図１において本発明に係る動画像符号化装置は予測部１０１、変換／逆変換部１０２、量子化／逆量子化部１０３、可変長符号化部１０４、符号化制御プロセッサ１０５、モード判定情報算出部１０６を備える。上述の第１の実施形態では、モード判定情報算出部１０６は予測部１０１の出力データからモード判定情報Ｄ１８を算出していた。これに対し本実施形態では、変換／逆変換部１０２の出力データからモード判定情報Ｄ１８を算出する点に特徴を有する。
【００６０】
予測部１０１、量子化／逆量子化部１０３、可変長符号化部１０４は第一実施形態と同様であるため説明を省略する。
【００６１】
変換／逆変換部１０２は、基本的な構成は図５に示したものと同様であるが、変換データ選択部５０４からの変換データＤ１４は、符号化制御プロセッサ１０５により予測モードが決定された後に量子化／逆量子化部１０３へ出力される。また、モード判定情報算出部１０６に対し、予測誤差データＤ１２−１乃至Ｄ１２−３について生成した変換データＤ１４をモード判定情報を生成するために出力する。
【００６２】
符号化制御プロセッサ１０５は予測部１０１、変換／逆変換部１０２、量子化／逆量子化部１０３、可変長符号化部１０４へのモード設定と起動制御を行うプロセッサである。上述の第１の実施形態では、予測モードを決定した後で変換／逆変換部１０２を起動していた。これに対し本実施形態では、予測モードを決定する前に、モード判定情報Ｄ１８を算出するために変換／逆変換部１０２を起動する点に特徴を有する。
【００６３】
図９は発明の第２の実施形態における符号化制御プロセッサ１０５の処理の一例を示すフローチャートである。符号化制御プロセッサ１０５は、対応する処理プログラムを実行することで、図９のフローチャートに対応する処理を行う。
【００６４】
ステップＳ９０１において、前述したアルゴリズムに基づいて、符号化後のビットレートが所望の範囲になるように量子化パラメータＱＰを算出する。続いてステップＳ９０２において予測モードリストの初期化を行う。ここでは予測モードリストに、予測部１０１で対応可能なすべての予測モードを登録する。
【００６５】
本実施形態ではＩｎｔｅｒ予測、Ｉｎｔｒａ１６×１６予測、Ｉｎｔｒａ４×４予測の３つの予測モードをリストに登録する。続いて、ステップＳ９０３において、予測部１０１より出力された各予測モードの予測コスト情報を比較し、予測コスト情報が最も小さい予測モードを選択する。予測コスト情報の算出方法は、第１の実施形態と同様である。本実施形態では、一例としてＩｎｔｒａ１６×１６予測が選択される場合を想定して説明する。
【００６６】
続くステップＳ９０４において、選択された予測モードに基づいて変換／逆変換部１０２を起動する。これにより、モード判定情報算出部１０６でモード判定情報Ｄ１８が算出される。
【００６７】
ここで選択された予測モードがＩｎｔｒａ１６×１６予測の場合には、輝度の直流成分および色差の直流成分のみアダマール変換が適用されて変換／逆変換部１０２での変換データの生成が行われる。また、選択された予測モードがＩｎｔｒａ４×４予測の場合には、色差の直流成分のみアダマール変換が適用されて変換／逆変換部１０２での変換データの生成が行われる。また選択された予測モードがＩｎｔｅｒ予測の場合には、色差の直流成分のみアダマール変換が適用されて変換／逆変換部１０２での変換データの生成が行われる。
【００６８】
続いてＳ９０５において量子化パラメータＱＰに応じて予め決められているモード判定情報Ｄ１８の最大値Ｘmaxおよび最小値Ｘminを内部メモリから読みだす。ＱＰ毎のＸmax, Ｘminの値を予め後述の方法で算出しメモリに格納しておくものとする。
【００６９】
続いてステップＳ９０６においてモード判定情報算出部１０６よりモード判定情報Ｄ１８を読み出し、モード判定情報の許容範囲内か否かを判定する。許容範囲内である場合は（ステップＳ９０６において「ＹＥＳ」）ステップＳ９１０に進み、変換／逆変換部１０２に対して現在選択されている予測モードを出力し、ステップＳ９１１へ進む。このとき変換／逆変換部１０２では、現在選択している予測モードにおいて生成された変換データＤ１４を量子化／逆量子化部１０３に出力する。続くステップＳ９１１において、選択された予測モードおよび量子化パラメータを用いて、量子化／逆量子化部１０３、可変長符号化部１０４を起動し、マクロブロックの符号化処理を進める。
【００７０】
一方、ステップＳ９０６において、モード判定情報Ｉが許容範囲外であった場合には（ステップＳ９０６において「ＮＯ」）、ステップＳ９０７に進み、予測モードリストの更新を行う。ここでは、予測モードリストから現在選択されているＩｎｔｒａ１６×１６予測を削除する。この結果、予測モードリストにはＩｎｔｒａ４×４予測およびＩｎｔｅｒ予測が残っている状態になる。続いて、ステップＳ９０８において予測モードリストが空であるか否かを判定する。空である場合にはステップＳ９０９に進み、量子化パラメータＱＰを調整し、モード判定情報Ｄ１８が許容範囲に入るようにする。本実施形態ではＱＰに１を加算する。続いてステップＳ９０２へ進み、処理を継続する。一方、ステップＳ９０８において予測モードリストが空でない場合にはステップＳ９０３に戻り、処理を継続する。即ち、次の予測モードにおいて変換データＤ１４を生成し、モード判定情報が許容範囲内に属するかを判定していく。
【００７１】
モード判定情報算出部１０６は変換／逆変換部１０２の出力データから、変換／逆変換部１０２のモードを設定するためのモード判定情報を算出し、符号化制御プロセッサ１０５へ出力する回路である。本実施形態では符号化制御プロセッサ１０５は、モード判定情報に基づいて、適応的に変換／逆変換部１０２のモードを設定する。
【００７２】
続いて、モード判定情報算出部１０６における、モード判定情報算出方法を説明する。モード判定情報としては変換／逆変換部の出力データの値をそのものを用いる。即ち、モード判定情報算出部１０６は変換／逆変換部の出力データの値と、各値の４×４ブロック内における垂直方向座標ｉ,および水平方向座標ｊを出力する回路である。符号化制御プロセッサ１０５ではモード判定情報算出部１０６から変換／逆変換部の出力データを読み出し、式１５、式１６で算出されるＸmaxおよびＸminと比較する。i,jとしてはモード判定情報算出部１０６から出力されるi,jの値をそのまま用いる。
【００７３】
ＸmaxおよびＸminは以下の式で表される。
【００７４】
Ｘmax=FqInv(QP, i, j, Ｖmax)                   式１５
Ｘmin=FqInv(QP, i, j, Ｖmin)                   式１６
Ｘ ≦ Ｘmax およびＸ ≧ Ｘminの際には許容範囲内と判定する。それ以外の場合には許容範囲外と判定する。
【００７５】
以上説明してきたように、発明の第２の実施形態によれば、変換／逆変換後のデータをモード判定情報として用いる。これにより、画像データの直流および交流成分が可変長符号化部１０４のサポート範囲に収まるように、予測部１０１での予測モードを選択することができる。この結果、量子化／逆量子化部１０３で強制的な予測誤差データ変更を低減しつつ、可変長符号化部１０４のサポート範囲に予測誤差データの値を収めることが可能である。
【００７６】
［その他の実施形態］
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００７７】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００７８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００７９】
【図１】発明の第１の実施形態に対応する動画像符号化装置の構成例を示す図である。
【図２】発明の第１の実施形態に対応する符号化制御プロセッサ１０５の処理の一例を示すフローチャートである。
【図３】従来の動画像符号化装置構成の一例を示す図である。
【図４】可変長符号化処理の入出力テーブルを示す図である。
【図５】発明の実施形態に対応する変換／逆変換部１０２の構成例を示す図である。
【図６】発明の実施形態に対応するマクロブロックデータの位置を説明するための図である
【図７】発明の第１の実施形態に対応する符号化制御プロセッサ１０５における他の処理の一例を示すフローチャートである。
【図８】発明の第２の実施形態に対応する動画像符号化装置の構成例を示す図である。
【図９】発明の第２の実施形態に対応する符号化制御プロセッサ１０５の処理の一例を示すフローチャートである。
【符号の説明】
【００８０】
１０１  予測部
１０２  変換／逆変換部
１０３  量子化／逆量子化部
１０４  可変長符号化部
１０５  符号化制御プロセッサ
１０６  モード判定情報算出部
【図１】
2010004174.tif 000012
【図２】
2010004174.tif 000013
【図３】
2010004174.tif 000014
【図４】
2010004174.tif 000015
【図５】
2010004174.tif 000016
【図６】
2010004174.tif 000017
【図７】
2010004174.tif 000018
【図８】
2010004174.tif 000019
【図９】
2010004174.tif 000020