(57)【要約】【課題】画質低下を抑えつつ、予測モード判定に要する処理量の低減することが可能な動画像符号化装置を実現する。【解決手段】先頭のマクロブロックＭＢ１に対しては、全ての予測モードそれぞれが評価される。そして、最もコストの小さい予測モードがＭＢ１に対する予測モードとして決定される。マクロブロックＭＢ２のモード判定には、その直前のＭＢ１のモード判定結果が利用される。この場合、ＭＢ１に対して決定された予測モードが初期予測モードに選定され、その初期予測モードでＭＢ２を符号化した場合のコストが最初に算出される。算出されたコストがＭＢ１のコスト以下である場合、初期予測モードがＭＢ２の予測モードとなり、他の予測モードに対する評価は省略される。マクロブロックＭＢ３のモード判定には、その直前のＭＢ２のモード判定結果が利用される。【選択図】      図３
2008263549.tif 000002
【特許請求の範囲】
【請求項１】
動画像信号を複数の画像ブロックに分割し、画像ブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から１つの予測モードを選択し、当該選択された予測モードで前記画像ブロックを符号化する動画像符号化装置であって、
符号化対象の先頭の画像ブロックを前記複数の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記先頭の画像ブロックの予測モードに決定する第１の予測モード判定処理を実行する第１の予測モード判定手段と、
前記第１の予測モード判定手段によって決定された予測モードに対応する前記先頭の画像ブロックの符号化コストが所定の基準値以下である場合、前記先頭の画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して、符号化対象の画像ブロックを符号化するための予測モードを前記符号化対象の画像ブロックの直前の画像ブロックに対する予測モード判定結果に基づいて決定する第２の予測モード判定処理を実行する第２の予測モード判定手段とを具備し、
前記第２の予測モード判定手段は、
前記符号化対象の画像ブロックの直前の画像ブロックに対して決定された予測モードを前記符号化対象の画像ブロックの初期予測モードに設定し、前記初期予測モードで前記符号化対象の画像ブロックを符号化した場合の符号化コストを算出する手段と、
前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コスト以下である場合、前記初期予測モードを前記符号化対象の画像ブロックを符号化するための予測モードに決定する手段と、
前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コストよりも大きい場合、前記符号化対象の画像ブロックを前記初期予測モード以外の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記符号化対象の画像ブロックの予測モードに決定する手段とを含むことを特徴とする動画像符号化装置。
【請求項２】
前記第１の予測モード判定手段は、前記第１の予測モード判定処理で決定された予測モードに対応する符号化コストが前記基準値以下となる画像ブロックが検出されるまで、前記第１の予測モード判定処理を、前記符号化対象の先頭の画像ブロックから順に実行する手段を含み、
前記第２の予測モード判定手段は、前記検出された画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して前記第２の予測モード判定処理を実行することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記第２の予測モード判定処理によって予測モードが決定された画像ブロック毎に当該画像ブロックの符号化コストが前記基準値よりも大きいか否かを判別する手段をさらに具備し、
符号化コストが前記基準値よりも大きいことが判別された場合、前記第１の予測モード判定手段は、前記符号化コストが前記基準値よりも大きいことが判別された画像ブロックに後続する符号化対象の画像ブロックそれぞれに対し、前記第１の予測モード判定処理で決定された予測モードに対応する符号化コストが前記基準値以下となる画像ブロックが検出されるまで、前記第１の予測モード判定処理を実行することを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
動画像信号を複数の画像ブロックに分割し、画像ブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から１つの予測モードを選択し、当該選択された予測モードで前記画像ブロックを符号化する動画像符号化方法であって、
符号化対象の先頭の画像ブロックを前記複数の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記先頭の画像ブロックの予測モードに決定する第１の予測モード判定処理を実行する第１の予測モード判定ステップと、
前記第１の予測モード判定処理によって決定された予測モードに対応する前記先頭の画像ブロックの符号化コストが所定の基準値以下である場合、前記先頭の画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して、符号化対象の画像ブロックを符号化するための予測モードを前記符号化対象の画像ブロックの直前の画像ブロックに対する予測モード判定結果に基づいて決定する第２の予測モード判定処理を実行する第２の予測モード判定ステップとを具備し、
前記第２の予測モード判定ステップは、
前記符号化対象の画像ブロックの直前の画像ブロックに対して決定された予測モードを前記符号化対象の画像ブロックの初期予測モードに設定し、前記初期予測モードで前記符号化対象の画像ブロックを符号化した場合の符号化コストを算出するステップと、
前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コスト以下である場合、前記初期予測モードを前記符号化対象の画像ブロックを符号化するための予測モードに決定するステップと、
前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コストよりも大きい場合、前記符号化対象の画像ブロックを前記初期予測モード以外の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記符号化対象の画像ブロックの予測モードに決定するステップとを含むことを特徴とする動画像符号化方法。
【請求項５】
前記第１の予測モード判定ステップは、前記第１の予測モード判定処理で決定された予測モードに対応する符号化コストが前記基準値以下となる画像ブロックが検出されるまで、前記第１の予測モード判定処理を、前記符号化対象の先頭の画像ブロックから順に実行し、
前記第２の予測モード判定ステップは、前記検出された画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して前記第２の予測モード判定処理を実行することを特徴とする請求項４記載の動画像符号化方法。
【請求項６】
前記第２の予測モード判定処理によって予測モードが決定された画像ブロック毎に当該画像ブロックの符号化コストが前記基準値よりも大きいか否かを判別するステップと、
符号化コストが前記基準値よりも大きいことが判別された場合、前記符号化コストが前記基準値よりも大きいことが判別された画像ブロックに後続する符号化対象の画像ブロックそれぞれに対し、前記第１の予測モード判定処理で決定された予測モードに対応する符号化コストが前記基準値以下となる画像ブロックが検出されるまで、前記第１の予測モード判定処理を実行するステップとをさらに具備することを特徴とする請求項５記載の動画像符号化方法。
【請求項７】
動画像信号を複数の画像ブロックに分割し、画像ブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から１つの予測モードを選択し、当該選択された予測モードで前記画像ブロックを符号化する処理を、コンピュータに実行させるプログラムであって、
符号化対象の先頭の画像ブロックを前記複数の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記先頭の画像ブロックの予測モードに決定する第１の予測モード判定処理を実行する第１の予測モード判定手順と、
前記第１の予測モード判定処理によって決定された予測モードに対応する前記先頭の画像ブロックの符号化コストが所定の基準値以下である場合、前記先頭の画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して、符号化対象の画像ブロックを符号化するための予測モードを前記符号化対象の画像ブロックの直前の画像ブロックに対する予測モード判定結果に基づいて決定する第２の予測モード判定処理を実行する第２の予測モード判定手順であって、前記符号化対象の画像ブロックの直前の画像ブロックに対して決定された予測モードを前記符号化対象の画像ブロックの初期予測モードに設定し、前記初期予測モードで前記符号化対象の画像ブロックを符号化した場合の符号化コストを算出する手順と、前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コスト以下である場合、前記初期予測モードを前記符号化対象の画像ブロックを符号化するための予測モードに決定する手順と、前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コストよりも大きい場合、前記符号化対象の画像ブロックを前記初期予測モード以外の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記符号化対象の画像ブロックの予測モードに決定する手順とを含む第２の予測モード判定手順とを、前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の予測モードを選択的に使用して動画像信号を符号化する動画像符号化装置および動画像符号化方法に関する。
【背景技術】
【０００２】
近年、動画像をソフトウェアによって符号化するソフトウェアエンコーダを搭載するパーソナルコンピュータが普及し始めている。また、最近では、次世代の動画像圧縮符号化技術として、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）規格が注目されている。このＨ．２６４／ＡＶＣ規格は、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも高能率の圧縮符号化技術である。
【０００３】
Ｈ．２６４／ＡＶＣ規格のフレーム間予測符号化においては、１６画素×１６画素、１６画素×８画素、８画素×１６画素、８画素×８画素といった予測ブロック形状の異なる複数の予測モードを利用することができ、また予測ブロック形状が８画素×８画素以上の場合には、直交変換も４画素×４画素、８画素×８画素のブロック形状を選択的に利用することができる。また、Ｈ．２６４／ＡＶＣ規格のフレー内符号化においては、４画素×４画素、８画素×８画素といった予測ブロック形状に対しては９通りの予測方向を選択することができ、また１６画素×１６画素の予測ブロック形状に対しても４通りの予測方向を選択することができる。
【０００４】
このように、Ｈ．２６４／ＡＶＣ規格においては、利用可能な予測モードの数を増やすことにより、予測効率の向上を実現している。
【０００５】
しかし、その反面、Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理においては、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも多くの処理量が必要とされる。特に、画像ブロック毎に複数の予測モードの中から最適な予測モードを決定するための予測モード判定処理には多くの処理量が必要とされる。
【０００６】
このようなことから、これまでも、動画像のエンコード処理量を低減するための提案がなされている。
【０００７】
例えば、特許文献１には、符号化済みの近傍ブロックの予測モードの頻度情報、重み係数を用いて、フレーム内符号化のための複数の予測モードの中から、選択可能な予測モード候補を特定の予測モードに限定する技術が開示されている。
【特許文献１】特開２００６−１４８４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上述したように、Ｈ．２６４／ＡＶＣ規格においては、フレーム内符号化のための予測モードのみならず、フレーム間符号化のための予測モードも複数存在している。このため、Ｈ．２６４／ＡＶＣ規格のエンコード処理の処理量を低減するためには、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から適用すべき１つの予測モードを効率よく決定できるようにすることが必要である。
【０００９】
本発明はこのような事情を考慮してなされたものであり、画質低下を抑えつつ、予測モード判定に要する処理量を低減することが可能な動画像符号化装置および動画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明は、動画像信号を複数の画像ブロックに分割し、画像ブロック毎に、フレーム間予測符号化のための予測モード群とフレーム内予測符号化のための予測モード群とを含む複数の予測モードの中から１つの予測モードを選択し、当該選択された予測モードで前記画像ブロックを符号化する動画像符号化装置であって、符号化対象の先頭の画像ブロックを前記複数の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記先頭の画像ブロックの予測モードに決定する第１の予測モード判定処理を実行する第１の予測モード判定手段と、前記第１の予測モード判定手段によって決定された予測モードに対応する前記先頭の画像ブロックの符号化コストが所定の基準値以下である場合、前記先頭の画像ブロックに後続する符号化対象の画像ブロックそれぞれに対して、符号化対象の画像ブロックを符号化するための予測モードを前記符号化対象の画像ブロックの直前の画像ブロックに対する予測モード判定結果に基づいて決定する第２の予測モード判定処理を実行する第２の予測モード判定手段とを具備し、前記第２の予測モード判定手段は、前記符号化対象の画像ブロックの直前の画像ブロックに対して決定された予測モードを前記符号化対象の画像ブロックの初期予測モードに設定し、前記初期予測モードで前記符号化対象の画像ブロックを符号化した場合の符号化コストを算出する手段と、前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コスト以下である場合、前記初期予測モードを前記符号化対象の画像ブロックを符号化するための予測モードに決定する手段と、前記算出された前記符号化対象の画像ブロックの符号化コストが前記直前の画像ブロックの符号化コストよりも大きい場合、前記符号化対象の画像ブロックを前記初期予測モード以外の予測モードでそれぞれ符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを前記符号化対象の画像ブロックの予測モードに決定する手段とを含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、画質低下を抑えつつ、予測モード判定に要する処理量を低減することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施形態を説明する。
【００１３】
図１には、本発明の一実施形態に係る動画像符号化装置の構成例が示されている。この動画像符号化装置は、例えば、パーソナルコンピュータのようなコンピュータによって実現されている。
【００１４】
図１に示すように、このコンピュータは、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、グラフィックスコントローラ１４、ＶＲＡＭ１４Ａ、ＬＣＤ１５、サウスブリッジ１６、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９、サウンドコントローラ２０、スピーカ２１、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２２、キーボード２３、タッチパッド２４、電源回路２５、バッテリ２６およびネットワークコントローラ２７等を備えている。
【００１５】
ＣＰＵ１１は、本コンピュータ内の各部の動作を制御するプロセッサである。ＣＰＵ１１は、ＨＤＤ１８から主メモリ１３にロードされるオペレーティングシステム（ＯＳ）１００や、このＯＳ１００の制御下で動作する、ユーティリティを含む各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、ビデオエンコーダアプリケーション２００が含まれている。ビデオエンコーダアプリケーション２００は、動画像を符号化するためのソフトウェアであり、Ｈ．２６４／ＡＶＣ規格に対応するソフトウェアエンコーダとして動作する。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳも実行する。
【００１６】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２は、バスを介してグラフィックスコントローラ１４との通信を実行する機能を有しており、また、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。グラフィックスコントローラ１４は、本コンピュータのディスプレイモニタとして使用されるＬＣＤ１５を制御する表示コントローラである。グラフィックスコントローラ１４は、ＶＲＡＭ１４Ａに書き込まれた画像データからＬＣＤ１５に送出すべき表示信号を生成する。
【００１７】
サウスブリッジ１６は、ＰＣＩバスおよびＬＰＣバス上の各種デバイスを制御するコントローラである。また、このサウスブリッジ１６には、ＢＩＯＳ−ＲＯＭ１７、ＨＤＤ１８、ＨＤ  ＤＶＤ１９およびサウンドコントローラ２０が直接的に接続され、これらを制御する機能も有している。サウンドコントローラ２０は、スピーカ２１を制御する音源コントローラである。
【００１８】
ＥＣ／ＫＢＣ２２は、電力管理のためのエンベデッドコントローラと、キーボード２３およびタッチパッド２４を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２２は、電源回路２５と協働して、バッテリ２６または外部ＡＣ電源からの電力を各部に供給制御する。そして、ネットワークコントローラ２７は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００１９】
次に、図２を参照して、このようなハードウェア構成の本コンピュータ上で動作するビデオエンコーダアプリケーション２００によって実現されるソフトウェアエンコーダの機能構成を説明する。
【００２０】
ビデオエンコーダアプリケーション２００によるエンコード処理は、Ｈ．２６４／ＡＶＣ規格に対応しており、図示のように、ビデオエンコーダアプリケーション２００は、入力部２０１、ＤＣＴ・量子化部２０２、エントロピー符号化部２０３、逆量子化・逆ＤＣＴ部２０４部、フレーム内（イントラ）予測部２０５、デブロッキングフィルタ２０６、フレームメモリ２０７、動き検出部２０８、フレーム間（インター）予測部２０９、符号化制御部２１０、スイッチ２１２、減算部２１３、加算部２１４、予測モード判定部３０１、レート制御部３０２等を備えている。
【００２１】
ビデオエンコーダアプリケーション２００は、入力部２０１から入力される動画像信号の各画面（ピクチャ）を例えば１６×１６画素のマクロブロックのような複数の画像ブロックに分割し、ピクチャの符号化を、画像ブロック単位で実行する。予測モード判定部３０１は、ＤＣＴ・量子化部２０２、逆量子化・逆ＤＣＴ部２０４部、フレーム内（イントラ）予測部２０５、動き検出部２０８、およびフレーム間（インター）予測部２０９等を制御して、マクロブロックのような画像ブロック毎に、フレーム内予測符号化（イントラ予測符号化）のための予測モード群と動き補償フレーム間予測符号化（インター予測符号化）のための予測モード群とを含む複数の予測モードの中から一つの予測モードを決定する。各マクロブロックは、予測モード判定部３０１によって決定された予測モードで符号化（イントラ予測符号化またはインター予測符号化）される。
【００２２】
図３は、この予測モード判定部３０１の機能ブロックを示している。
【００２３】
図３に示すように、予測モード判定部３０１は、第１の予測モード判定部４０１と第２の予測モード判定部４０２とを備えている。第１の予測モード判定部４０１は、通常の予測モード判定処理を行うものであり、符号化対象の画像ブロック（マクロブロック）を複数の予測モードそれぞれで符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを当該符号化対象の画像ブロックを符号化するための予測モードとして決定する、という第１の予測モード判定処理を実行する。
【００２４】
ここでは、符号化コストは符号化効率を示す値であり、例えば、発生符号量（例えば、動きベクトル量を含む符号化係数データ量と、予測画像と原画像との差分データの量との合計値、等）によって表すことができる。
【００２５】
通常は、第１の予測モード判定部４０１による第１の予測モード判定処理が全てのマクロブロックそれぞれに対して実行されるが、本実施形態では、予測モード判定処理の処理量を低減するために、第１の予測モード判定部４０１による第１の予測モード判定処理は、符号化対象ピクチャの先頭マクロブロックに対しては少なくとも実行されるものの、第１の予測モード判定処理で決定された予測モードに対応する先頭マクロブロックの符号化コストが所定の基準値以下である場合には、次のマクロブロックからは、第２の予測モード判定部４０２によるによる予測モード判定処理が用いられる。
【００２６】
この第２の予測モード判定部４０２は、予測モードが既に決定されたマクロブロックに後続する符号化対象のマクロブロック毎に、当該符号化対象のマクロブロックの直前のマクロブロックの予測モード判定結果（決定された予測モード、その予測モードに対応する直前のマクロブロックの符号化コスト）に基づいて、当該符号化対象のマクロブロックを符号化するための予測モードを決定するという第２の予測モード判定処理を実行する。
【００２７】
すなわち、第２の予測モード判定部４０２は、まず、予測モード判定済みの直前のマクロブロックの予測モードを次の符号化対象のマクロブロックに対する初期予測モードとして設定し、初期予測モードで符号化対象のマクロブロックを符号化した場合の符号化コストを算出する。そして、第２の予測モード判定部４０２は、算出された符号化対象のマクロブロックの符号化コストと直前のマクロブロックの符号化コスト（直前のマクロブロックに対して決定された予測モードで直前のマクロブロックを符号化した場合の符号化コスト）とを比較する。
【００２８】
もし、算出された符号化対象のマクロブロックの符号化コストが直前のマクロブロックの符号化コスト以下であるならば、第２の予測モード判定部４０２は、初期予測モードを符号化対象のマクロブロックを符号化するための予測モードに決定し、残りの予測モードそれぞれに対する符号化コストの算出処理を省略する。一方、算出された符号化対象のマクロブロックの符号化コストが直前のマクロブロックの符号化コストよりも大きいならば、第２の予測モード判定部４０２は、初期予測モード以外の残りの予測モードでそれぞれ符号化対象のマクロブロックを符号化した場合の符号化コストをそれぞれ算出し、符号化コストが最小となる予測モードを符号化対象のマクロブロックを符号化するための予測モードに決定する。
【００２９】
符号化順で連続するマクロブロック同士の多くは空間的な相関が強いので、直前のマクロブロックの予測モード判定結果を次のマクロブロックの予測モード判定に使用することにより、予測モード判定処理に要する処理量を効率良く低減することができる。今、図４に示すように、４つのマクロブロックＭＢ１〜ＭＢ４を順に符号化する場合を想定する。マクロブロックＭＢ１はあるピクチャ内の先頭のマクロブロックであり、マクロブロックＭＢ２〜ＭＢ４は符号化順でマクロブロックＭＢ１に後続するマクロブロック群である。マクロブロックＭＢ１に対しては、第１の予測モード判定処理が適用され、全ての予測モードそれぞれについて評価される。そして、最も符号化コストの小さい予測モードがマクロブロックＭＢ１に対する予測モードとして決定される。
【００３０】
マクロブロックＭＢ２のモード判定には、第２のモード判定処理が適用され、マクロブロックＭＢ２の直前のマクロブロックＭＢ１のモード判定結果が利用される。なお、マクロブロックＭＢ２への第２のモード判定処理の適用は先頭マクロブロックＭＢ１の符号化コストが所定の基準値以下であることを条件に行われ、先頭マクロブロックＭＢ１の符号化コストが基準値よりも大きい場合には、マクロブロックＭＢ２のモード判定には第１のモード判定処理が引き続き適用される。
【００３１】
これにより、第１のモード判定処理によって決定された予測モードの結果が良好なマクロブロックの次のマクロブロックから第２のモード判定処理の適用を開始することが可能となり、直前のモード判定結果を利用した第２のモード判定処理を精度良く実行することが可能となる。
【００３２】
先頭マクロブロックＭＢ１の符号化コストが所定の基準値以下である場合には、まず、マクロブロックＭＢ１に対して決定された予測モードがマクロブロックＭＢ２の初期予測モードとして選定され、その初期予測モードでマクロブロックＭＢ２を符号化した場合の符号化コストが最初に算出される。算出されたマクロブロックＭＢ２の符号化コストがマクロブロックＭＢ１の符号化コスト以下である場合、その時点で、初期予測モードがマクロブロックＭＢ２の予測モードとして決定され、初期予測モード以外の他の予測モードに対する評価は省略される。一方、算出されたマクロブロックＭＢ２の符号化コストがマクロブロックＭＢ１の符号化コストよりも大きい場合には、初期予測モード以外の残りの予測モードでそれぞれマクロブロックＭＢ２を符号化した場合の符号化コストがそれぞれ算出され、符号化コストが最小となる予測モードがマクロブロックＭＢ２の符号化モードとして決定される。
【００３３】
マクロブロックＭＢ３のモード判定にも、第２のモード判定処理が適用され、直前のマクロブロックＭＢ２のモード判定結果が利用される。この場合、マクロブロックＭＢ２に対して決定された予測モードが初期予測モードに選定され、その初期予測モードでマクロブロックＭＢ３を符号化した場合の符号化コストが最初に算出される。算出されたマクロブロックＭＢ３の符号化コストがマクロブロックＭＢ２の符号化コスト以下である場合、初期予測モードがマクロブロックＭＢ３の符号化モードとなる。算出されたマクロブロックＭＢ３の符号化コストがマクロブロックＭＢ２の符号化コストよりも大きい場合には、初期予測モード以外の残りの予測モードでそれぞれマクロブロックＭＢ３を符号化した場合の符号化コストがそれぞれ評価され、符号化コストが最小となる予測モードがマクロブロックＭＢ３の符号化モードとなる。
【００３４】
同様にして、マクロブロックＭＢ４のモード判定にも第２のモード判定処理が適用され、マクロブロックＭＢ４のモード判定はマクロブロックＭＢ３のモード判定結果を利用して実行される。
【００３５】
このように、本実施形態では、初期予測モードで符号化対象のマクロブロックを符号化した場合の符号化コストが直前のマクロブロックの符号化コスト以下になることを条件に、直前のマクロブロックに対して決定された予測モードが次のマクロブロックの予測モードに決定され、残りの他の予測モードそれぞれに対する評価が打ち切られる。残りの予測モードの中には、初期予測モードよりも符号化コストが小さくなる予測モードが含まれている可能性もあるが、上述の打ち切り条件の採用により、単純に、選択可能な予測モードの数を限定する場合に比し、画質低下を防止しつつ、予測モード判定処理に要する処理量を低減することが可能となる。
【００３６】
ところで、Ｈ．２６４／ＡＶＣ規格のハイプロファイルでは、インター予測において、予測モードのブロックサイズが８画素×８画素以上の場合、４画素×４画素のブロックサイズのＤＣＴ、８画素×８画素のブロックサイズのＤＣＴのいずれかから最適な方を選択可能となっている。従って、仮に、ある規格において、ｍ種類の予測モードが存在し、かつ、ｎ種類のＤＣＴが選択可能である場合、インター予測だけでｍ×ｎ個の予測モード候補が実質的に存在することとなる。このような状況において、何らの工夫も凝らさずに、すべての予測モード候補について評価を行い最適な予測モード候補を選択するとしたならば、当該インター予測の予測モード判定に要する処理量が膨大となってしまう。したがって、本実施形態の予測モード判定処理は極めて有効である。また、イントラ予測においても、４画素×４画素、８画素×８画素の予測ブロック形状毎に９通りの予測モード（予測方向）があり、１６画素×１６画素の予測ブロック形状に対しても４通りの予測モード（予測方向）があるので、イントラ予測のための予測モードの数も極めて多い。
【００３７】
本実施形態では、最小一回の判定処理で予測モードを決定できるので、予測モード判定処理の処理量を大幅に低減することができる。
【００３８】
なお、図２に機能構成が示されるソフトウェアエンコーダにおいては、イントラ予測部２０５は、予測モード判定処理部３０１の制御の下に、イントラ符号化のための複数の予測モードそれぞれに対応する予測処理を選択的に実行する。イントラ予測符号化モード時においては、予測モード判定処理部３０１はスイッチ２１２によってイントラ予測部２０５を選択する。イントラ予測部２０５は、予測モード判定処理部３０１によって決定された予測モードに従って、符号化対象画面（ピクチャ）内の幾つかの符号済みブロックから符号化対象ブロックの予測信号を生成する。減算部２１３では、符号化対象画面（ピクチャ）からこの予測信号を引いた予測誤差信号が得られる。この予測誤差信号は、ＤＣＴ・量子化部２０２によって直交変換および量子化される。量子化された直交変換係数は、イントラ予測モード情報などと共にエントロピー符号化部２０３によってエントロピー符号化される。
【００３９】
一方、インター予測符号化モード時においては、まず、動き検出部２０８が、フレームメモリ２０７に格納された既に符号化された画面（ピクチャ）からの動きを推定し、続いて、インター予測部２０９が、符号化対象画面に対応する動き補償フレーム間予測信号を定められた形状単位で生成する。そして、符号化対象画面（ピクチャ）から動き補償フレーム間予測信号を引いた予測誤差信号を、ＤＣＴ・量子化部２０２が、直交変換（ＤＣＴ）および量子化し、エントロピー符号化部２０３が、インター予測モード情報、および量子化された直交変換係数に対しエントロピー符号化を行うことによって符号化する。
【００４０】
また、逆量子化・逆ＤＣＴ部２０４は、直交変換および量子化された画像（ピクチャ）の量子化係数を逆量子化および逆直交変換するものであり、デブロッキングフィルタ２０６は、ブロックノイズを低減するためのデブロッキングフィルタ処理を行うものである。
【００４１】
レート制御部３０２は、エントロピー符号化部２０３から出力される符号化ストリームのレート（発生符号量）を調整するために、量子化パラメータの設定等を行う。
【００４２】
図５は、ピクチャ内のマクロブロックの符号化順序を示している。
【００４３】
ピクチャは複数のマクロブロックに分割され、図５の（Ａ）に示す順序または図５の（Ｂ）に示す順序で符号化される。各マクロブロックの符号化に際しては、最初に予測モード判定が実行される。
【００４４】
図６は、図５の（Ａ）に示す順序で符号化が行われる場合の予測モード判定処理の様子を示している。
【００４５】
まず、先頭のマクロブロックＭＢ１の予測モードが決定される。この場合、全ての予測モードでマクロブロックＭＢ１をそれぞれ符号化した場合の符号化コストが算出され、符号化コストが最小となる予測モードがマクロブロックＭＢ１の予測モードとして決定される。次に、マクロブロックＭＢ２の予測モードが決定される。隣接したマクロブロックの場合、空間的相関が大きいため、同一の予測モードが選択される確率も高い。そこで、マクロブロックＭＢ２の予測モード決定に際しては、直前のマクロブロックＭＢ１の予測モード判定結果を使用する。
【００４６】
なお、本実施形態では、全ての予測モードについて評価するという第１の予測モード判定処理を先頭のマクロブロックのみに対して実行するのではなく、決定された予測モードに対応する符号化コストが所定の基準値（モード判定閾値）以下となるマクロブロックが検出されるまで、第１の予測モード判定処理が、符号化対象の先頭のマクロブロックから順に実行される。このようなモード判定閾値を設けることにより、上述したように、決定された予測モードの結果が良好な場合つまり符号化コストが低い場合にのみ、直前のマクロブロックのモード判定結果を利用した第２のモード判定処理（簡略モード判定処理）を実行することが可能となり、画質劣化を抑制することができる。
【００４７】
さらに、簡略モード判定処理が開始されてからもモード判定閾値を利用し、簡略モード判定処理によってあるマクロブロックに対して算出された符号化コストの最小値がモード判定閾値よりも大きい場合には、次のマクロブロックからモード判定方法を第１の予測モード判定処理に再び切り替えるようにしてもよい。
【００４８】
この場合、予測モード判定部３０１は、簡略モード判定処理によって予測モードが決定されたマクロブロック毎に当該画像ブロックの符号化コストがモード判定閾値よりも大きいか否かを判別し、大きい場合には、第１の予測モード判定処理で決定された予測モードに対応する符号化コストがモード判定閾値以下となるマクロブロックが検出されるまで、簡略モード判定処理によって符号化コストがモード判定閾値よりも大きいマクロブロックであることが判別されたマクロブロックの直後の符号化対象のマクロブロックから順に、第１の予測モード判定処理を実行する。
【００４９】
次に、図７を参照して、各ピクチャに対して実行される本実施形態の予測モード判定処理の具体的な手順の例について説明する。
【００５０】
まず、予測モード判定部３０１は、上述のモード判定閾値EXE_thrを設定する（ステップＳ１１）。モード判定閾値EXE_thrの値は、例えば、符号化ビットレートを調整するための量子化パラメータQPに応じて決定される。予測モード判定部３０１は、符号化対象ピクチャの先頭マクロブロックに対して予測モード判定処理を行う。この場合、予測モード判定部３０１は、先頭マクロブロックに適用すべき予測モードを全ての予測モードそれぞれについて評価するために、全ての予測モードそれそれで先頭マクロブロックを符号化した場合の符号化コストCOSTをそれぞれ算出する（ステップＳ１２）。そして、符号化コストCOSTが最小となった予測モードを先頭マクロブロックの予測モードに決定する（ステップＳ１３）。
【００５１】
そして、予測モード判定部３０１は、決定された予測モードに対応する先頭マクロブロックの符号化コストCOSTとモード判定閾値EXE_thrとを比較し、先頭マクロブロックの符号化コストCOSTがモード判定閾値EXE_thr以下であるかどうかを判定する（ステップＳ１４）。
【００５２】
先頭マクロブロックの符号化コストCOSTがモード判定閾値EXE_thrよりも大きいならば（ステップＳ１４のＮＯ）、予測モード判定部３０１は、符号化対象のマクロブロックを順次変更しながら、符号化コストCOSTがモード判定閾値EXE_thr以下となるマクロブロックが検出されるまでステップＳ１２，Ｓ１３の処理を繰り返す（ステップＳ１５）。
【００５３】
符号化コストCOSTがモード判定閾値EXE_thr以下となる予測判定済みのマクロブロックが検出されると（ステップＳ１４のＹＥＳ）、予測モード判定部３０１は、当該予測判定済みのマクロブロックに対して決定した予測モードを、次の符号化対象のマクロブロックの初期評価モードMODE_initとして設定すると共に、決定した予測モードに対応する当該予測判定済みのマクロブロックの符号化コストを評価コスト閾値COST_thrとして設定する（ステップＳ１６）。
【００５４】
この後、予測モード判定部３０１は、符号化対象の現在のマクロブロックに対して簡略モード判定処理を開始する。初めに、予測モード判定部３０１は、初期評価モードMODE_initで示される直前のマクロブロックに適用された予測モードで符号化対象の現在のマクロブロックを符号化した場合の符号化コスト（評価コスト）COST_initを算出する（ステップＳ１８）。次いで、予測モード判定部３０１は、符号化コストCOST_initと評価コスト閾値COST_thrとを比較し、符号化コストCOST_initが評価コスト閾値COST_thr以下であるかどうかを判定する（ステップＳ１９）。
【００５５】
もし符号化コストCOST_initが評価コスト閾値COST_thr以下であるならば（ステップＳ１９のＹＥＳ）、予測モード判定部３０１は、初期評価モードMODE_initを現在のマクロブロックを符号化するための予測モードに決定すると共に、評価コスト閾値COST_thrを更新して、評価コスト閾値COST_thrの値を、ステップＳ１８で求めた現在のマクロブロックの符号化コストCOST_initに変更する（ステップＳ２０）。未判定のマクロブロックが存在するならば（ステップＳ２１のＮＯ）、次のマクロブロックに対してステップＳ１７からの処理が実行される。
【００５６】
一方、もし符号化コストCOST_initが評価コスト閾値COST_thrよりも大きいならば（ステップＳ１９のＮＯ）、予測モード判定部３０１は、初期評価モードMODE_init以外の他の予測モードそれぞれで現在のマクロブロックをそれぞれ符号化した場合の符号化コストをそれぞれ算出する（ステップＳ２２）。そして、全ての予測モードの中で符号化コストが最小となる予測モードを現在のマクロブロックの予測モードに決定する（ステップＳ２３）。この後、予測モード判定部３０１は、ステップＳ１４に進み、決定した予測モードに対応する当該判定済みのマクロブロックの符号化コストCOSTとモード判定閾値EXE_thrとを比較し、当該判定済みのマクロブロックの符号化コストCOSTがモード判定閾値EXE_thrよりも大きいかどうかを判定する。
【００５７】
当該判定済みのマクロブロックの符号化コストCOSTがモード判定閾値EXE_thr以下である場合には、当該判定済みのマクロブロックの予測モード判定結果を次のマクロブロックの予測モード判定に使用するために、予測モード判定部３０１は、当該判定済みのマクロブロックに対して決定された予測モードを次の符号化対象のマクロブロックの初期評価モードMODE_initとして設定すると共に、決定した予測モードに対応する当該判定済みのマクロブロックの符号化コストを評価コスト閾値COST_thrとして設定する（ステップＳ１６）。
【００５８】
一方、当該判定済みのマクロブロックの符号化コストCOSTがモード判定閾値EXE_thrよりも大きいならば、簡略モード判定処理は一時的に終了され、次の符号化対象のマクロブロックから、再びステップＳ１２からの処理が開始される。そして、符号化コストCOSTがモード判定閾値EXE_thr以下となるマクロブロックが検出されると、ステップＳ１６で初期評価モードMODE_initおよび評価コスト閾値COST_thrが設定された後に、ステップＳ１７の簡略モード判定処理が開始される。
【００５９】
なお、予測モード判定処理ではエントロピー符号化を除く他の符号化処理のほとんどが実行されるので、適用すべき予測モード判定が決定された時点でエントロピー符号化等の残りの処理を行うことにより、効率よく符号化を行うことができる。
【００６０】
以上のように、本実施形態によれば、画質低下を抑えつつ、少ない処理量で予測モードを効率よく決定することができるので、動画像信号をリアルタイムに符号化することが可能となる。
【００６１】
なお、予測モード判定処理を含む符号化の処理は全てビデオエンコーダアプリケーション２００によって実行することができるので、このプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールするだけで、本実施形態と同様の効果を容易に実現することができる。
【００６２】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係る動画像符号化装置の構成例を示すブロック図。
【図２】同実施形態の動画像符号化装置で用いられるビデオエンコーダアプリケーションによって実現されるソフトウェアエンコーダの機能構成を示すブロック図。
【図３】同実施形態の動画像符号化装置に設けられた予測モード判定部の機能を説明するための図。
【図４】同実施形態の動画像符号化装置によって実行される予測モード判定処理の基本原理を説明するための図。
【図５】同実施形態の動画像符号化装置におけるマクロブロックの符号化順序の例を示す図。
【図６】同実施形態の動画像符号化装置によって実行される予測モード判定処理の様子を示す図。
【図７】同実施形態の動画像符号化装置によって実行される予測モード判定処理の具体的な手順の例を示すフローチャート。
【符号の説明】
【００６４】
１１…ＣＰＵ、２００…ビデオエンコーダアプリケーション、２０１…入力部、２０２…ＤＣＴ・量子化部、２０３…エントロピー符号化部、２０４…逆量子化・逆ＤＣＴ部、２０５…イントラ予測部、２０８…動き検出部、２０９…インター予測部、３０１…予測モード判定部、４０１…第１の予測モード判定部、４０２…第２の予測モード判定部。
【図１】
2008263549.tif 000003
【図２】
2008263549.tif 000004
【図３】
2008263549.tif 000005
【図４】
2008263549.tif 000006
【図５】
2008263549.tif 000007
【図６】
2008263549.tif 000008
【図７】
2008263549.tif 000009