(57)【要約】【課題】エラーコンシールメント処理に係わる処理の負荷を低くすること。【解決手段】ストリーム情報処理部３０３Ｂは、エラーを検出したマクロブロック以降のマクロブロックのシンタックス値を書き換え、予測モードをイントラ４×４予測に設定し、および予測方向をＤＣ（平均値)モードに設定し、およびＤＣＴ係数を全て０に設定する。【選択図】    図５
2009081579.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化された動画像ストリームをデコードする動画像復号装置において、
前記動画像ストリームのデコード対象画面に含まれる各マクロブロックのシンタックス値を復号処理する復号手段と、
前記復号手段が復号したシンタックス値のエラーを検出するエラー検出手段と、
前記エラー検出手段がエラーを検出したデコード対象画面が動き補償予測処理が実行されないフレーム内予測ピクチャの場合、エラーを検出したマクロブロック以降のマクロブロックのデータを前記フレーム内予測ピクチャの情報または復号を行ったマクロブロックのデータから推定するために、エラーを検出したマクロブロック以降のマクロブロックのシンタックス値を書き換えるエラーコンシールメント処理を実行するエラーコンシールメント処理手段と、
前記復号手段によって復号されたシンタックス値、或いは前記エラーコンシールメント処理手段によって書き換えられたシンタックス値に応じて、前記デコード対象画面からフレーム内予測信号を生成するフレーム内予測処理を実行する手段と、
前記デコード対象画面をデコードするために、前記デコード対象画面に対応する予測誤差信号に前記フレーム間予測信号および前記フレーム内予測信号の一方を加算する手段と
を具備することを特徴とする動画像復号装置。
【請求項２】
前記エラーコンシールメント処理手段は、エラーが検出されたマクロブロック以降の各マクロブロックのシンタックス値を、前記復号対象のマクロブロックの周囲の復号済みのマクロブロックから前記フレーム内予測信号を生成するイントラ予測モードに書き換えることを特徴とする請求項１記載の動画像復号装置。
【請求項３】
前記エラーコンシールメント処理手段は、前記イントラ予測モードにＤＣモードが設定されるように前記シンタックス値を書き換えることを特徴とする請求項２記載の動画像復号装置。
【請求項４】
前記エラーコンシールメント処理手段は、エラーが検出されたマクロブロック以降のマクロブロックのシンタックス値を、前記予測誤差信号が０になるように書き換えることを特徴とする請求項１記載の動画像復号装置。
【請求項５】
圧縮符号化された動画像ストリームをデコードする動画像復号方法において、
前記動画像ストリームのデコード対象画面に含まれる各マクロブロックのシンタックス値を復号処理し、
前記復号されたシンタックス値のエラーを検出し、
エラーを検出したデコード対象画面が動き補償予測処理が実行されないフレーム内予測ピクチャの場合、エラーを検出したマクロブロック以降のマクロブロックのデータを前記フレーム内予測ピクチャの情報または復号を行ったマクロブロックのデータから推定するために、エラーを検出したマクロブロック以降のマクロブロックのシンタックス値を書き換えるエラーコンシールメント処理を実行し、
前記復号されたシンタックス値、或いは前記エラーコンシールメント処理によって書き換えられたシンタックス値に応じて、１以上の参照ピクチャから、デコード対象画面に対応するフレーム間予測信号を生成する動き補償予測処理を実行し、
前記復号されたシンタックス値、或いは前記エラーコンシールメント処理によって書き換えられたシンタックス値に応じて、前記デコード対象画面からフレーム内予測信号を生成するフレーム内予測処理を実行し、
前記デコード対象画面をデコードするために、前記デコード対象画面に対応する予測誤差信号に前記フレーム間予測信号および前記フレーム内予測信号の一方を加算する
ことを特徴とする動画像復号方法。
【請求項６】
前記エラーコンシールメント処理は、エラーが検出されたマクロブロック以降の各マクロブロックのシンタックス値を、前記復号対象のマクロブロックの周囲の復号済みのマクロブロックから前記フレーム内予測信号を生成するイントラ予測モードに書き換える処理であることを特徴とする請求項５記載の動画像復号方法。
【請求項７】
前記エラーコンシールメント処理は、前記イントラ予測モードにＤＣモードが設定されるように前記シンタックス値を書き換える処理であることを特徴とする請求項６記載の動画像復号方法。
【請求項８】
前記エラーコンシールメント処理は、エラーが検出されたマクロブロック以降のマクロブロックのシンタックス値を、前記予測誤差信号が０になるように書き換える処理であることを特徴とする請求項５記載の動画像復号方法。
【請求項９】
圧縮符号化された動画像ストリームをデコードするプログラムにおいて、
前記動画像ストリームのデコード対象画面に含まれる各マクロブロックのシンタックス値を復号処理し、
前記復号したシンタックス値のエラーを検出し、
前記エラー検出手段がエラーを検出したデコード対象画面が動き補償予測処理が実行されないフレーム内予測ピクチャの場合、エラーを検出したマクロブロック以降のマクロブロックのデータを前記フレーム内予測ピクチャの情報または復号を行ったマクロブロックのデータから推定するために、エラーを検出したマクロブロック以降のマクロブロックのシンタックス値を書き換えるエラーコンシールメント処理を実行し、
前記復号されたシンタックス値、或いは前記エラーコンシールメント処理によって書き換えられたシンタックス値に応じて、１以上の参照ピクチャから、デコード対象画面に対応するフレーム間予測信号を生成する動き補償予測処理を実行し、
前記復号されたシンタックス値、或いは前記エラーコンシールメント処理によって書き換えられたシンタックス値に応じて、前記デコード対象画面からフレーム内予測信号を生成するフレーム内予測処理を実行し、
前記デコード対象画面をデコードするために、前記デコード対象画面に対応する予測誤差信号に前記フレーム間予測信号および前記フレーム内予測信号の一方を加算する
ことを特徴とするプログラム。
【請求項１０】
前記エラーコンシールメント処理は、エラーが検出されたマクロブロック以降の各マクロブロックのシンタックス値を、前記復号対象のマクロブロックの周囲の復号済みのマクロブロックから前記フレーム内予測信号を生成するイントラ予測モードに書き換える処理であることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記エラーコンシールメント処理は、前記イントラ予測モードにＤＣモードが設定されるように前記シンタックス値を書き換える処理であることを特徴とする請求項１０記載のプログラム。
【請求項１２】
前記エラーコンシールメント処理では、エラーが検出されたマクロブロック以降のマクロブロックのシンタックス値を、前記予測誤差信号が０になるように書き換える処理であることを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラーコンシールメント処理を行う動画像復号装置、および動画像復号方法に関する。
【背景技術】
【０００２】
現在、携帯型マルチメディアプレーヤや携帯電話等にチューナが搭載され、携帯電話・移動体端末向けの１セグメント部分受信サービス（以下、ワンセグ放送）を視聴できる機器が増えてきている。
【０００３】
ワンセグ放送は、移動しながら視聴されることがあるが、移動時には電波状況が刻々と変化する。特に弱電界領域にはいると、受信して復調されたデータに誤りが混じることがある。データに誤りが混入した場合、動画像の復号時にエラーコンシールメント処理が行われる。
【０００４】
特許文献１には、生成される画像に適したエラーコンシールメント処理を実行し、エラーによる画質の劣化を低減する技術が開示されている。
【特許文献１】特開２００７−６７６６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ワンセグ放送は、携帯機器で受信されることが多い。携帯機器では、駆動時間を延ばすために、動画像の復号に係わる処理を出来るだけ低負荷で行うことが望まれる。従って、エラーコンシールメント処理も出来るだけ低負荷で行うことが望まれる。
【０００６】
本発明の目的は、エラーコンシールメント処理に係わる処理の負荷を低くすることが可能な動画像復号装置、および動画像復号方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一例に係わる動画像復号装置は、圧縮符号化された動画像ストリームをデコードする動画像復号装置において、前記動画像ストリームのデコード対象画面に含まれる各マクロブロックのシンタックス値を復号処理する復号手段と、前記復号手段が復号したシンタックス値のエラーを検出するエラー検出手段と、前記エラー検出手段がエラーを検出したデコード対象画面が動き補償予測処理が実行されないフレーム内予測ピクチャの場合、エラーを検出したマクロブロック以降のマクロブロックのデータを前記フレーム内予測ピクチャの情報または復号を行ったマクロブロックのデータから推定するために、エラーを検出したマクロブロック以降のマクロブロックのシンタックス値を書き換えるエラーコンシールメント処理を実行するエラーコンシールメント処理手段と、前記復号手段によって復号されたシンタックス値、或いは前記エラーコンシールメント処理手段によって書き換えられたシンタックス値に応じて、１以上の参照ピクチャから、デコード対象画面に対応するフレーム間予測信号を生成する動き補償予測処理を実行する手段と、前記復号手段によって復号されたシンタックス値、或いは前記エラーコンシールメント処理手段によって書き換えられたシンタックス値に応じて、前記デコード対象画面からフレーム内予測信号を生成するフレーム内予測処理を実行する手段と、前記デコード対象画面をデコードするために、前記デコード対象画面に対応する予測誤差信号に前記フレーム間予測信号および前記フレーム内予測信号の一方を加算する手段とを具備することを特徴とする。
【発明の効果】
【０００８】
エラーコンシールメント処理に係わる処理の負荷を低くすることが可能になる。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態を以下に図面を参照して説明する。
【００１０】
まず、図１を参照して、本発明の一実施形態に係る動画像復号装置の構成を説明する。
【００１１】
この動画像復号装置は、例えば、パーソナルコンピュータ、ＰＤＡ、ＡＶ（オーディオ・ビデオ）プレーヤ、のような携帯型機器であり、内蔵バッテリによって駆動可能に構成されている。以下では、電子機器がオーディオデータおよびビデオデータを再生するためのマルチメディアプレーヤ１１として実現されている場合を想定する。
【００１２】
マルチメディアプレーヤ１１の本体表面上には、表示デバイスとしてのＬＣＤ１２と、入力デバイスとしての各種操作ボタン（バックボタン１３、スタートボタン１４、ＯＫボタン１５、上下左右ボタン１６、ワンセグボタン）とが設けられている。
【００１３】
次に、図２を参照して、マルチメディアプレーヤ１１のシステム構成を説明する。
【００１４】
図２に示すように、マルチメディアプレーヤ１１は、ＣＰＵ１０１、メモリ１０２、表示コントローラ１０３、ハードディスクドライブ（ＨＤＤ）１０４、入力インタフェース部１０５、ＵＳＢコントローラ１０６、オーディオコントローラ１０７、ワンセグチューナ１０８、無線ＬＡＮモジュール１０９、電源回路１１０、およびバッテリ１１１等を備えている。
【００１５】
ＣＰＵ１０１はマルチメディアプレーヤ１１の動作を制御するプロセッサであり、メモリ１０２にロードされた各種プログラム（オペレーティングシステム、およびアプリケーションプログラム等）を実行する。アプリケーションプログラムは、オーディオデータおよびビデオデータの再生、およびワンセグ放送の再生の実行等を行うためのプログラムである。
【００１６】
表示コントローラ１０３はＬＣＤ１２を制御し、各種操作メニュー、およびアプリケーションプログラムによって再生されたビデオデータに対応する画像等を、ＬＣＤ１２の表示画面上に表示する。ＨＤＤ１０４は、オーディオデータおよびビデオデータ等の各種データを格納するためのストレージデバイスとして機能する。ＵＳＢコントローラ１０６はマルチメディアプレーヤ１１の本体に設けられたＵＳＢ端子１２１に接続されており、ＵＳＢ端子１２１に接続された他の各種デバイスとの通信を実行する。オーディオコントローラ１０７は音源デバイスであり、アプリケーションプログラムによって再生されたオーディオデータに対応するサウンド信号を生成し、そのサウンド信号をヘッドホン端子１２２に出力する。
【００１７】
ワンセグチューナ１０８はモバイル端末向けのワンセグ放送を受信するために設けられている。ワンセグチューナ１０８はチューナ回路、ＯＦＤＭ復調器、およびエラー訂正器等を備えている。チューナ回路はアンテナから入力されるデジタル放送信号（高周波信号）の中から、所望の受信チャンネルに対応する周波数の信号成分を、ミキサを用いて中間周波数信号に変換するとともに、アンプを用いてそれぞれのＯＦＤＭ復調器に入力するための所定の電力レベルに増幅する。
【００１８】
ＯＦＤＭ復調器では、チューナ回路からのアナログの中間周波数信号をそれぞれＡ／Ｄ変換してデジタル信号に変換し、それぞれ直交復調を行って複素デジタル信号に変換し、それぞれＦＦＴ（高速フーリエ変換）を行って周波数軸上のサブキャリア信号に分解した上でからワンセグ放送を再生するための復調信号を出力する。
【００１９】
ワンセグ放送では、リードソロモンと畳み込み符号によって、エラー訂正のための符号化が行われている。エラー訂正器２０３は、復調信号のエラーを検出し、検出したエラーを訂正して誤り訂正信号（トランスポートストリーム（ＴＳ））を出力する。
【００２０】
トランスポートストリームは、圧縮符号化された放送番組データを多重化したデータストリームである。地上波デジタルＴＶ放送においては、各チャネルの放送番組データに対応するトランスポートストリーム（ＴＳ）は、圧縮符号化された動画像データと、圧縮符号化されたオーディオデータと、グラフィクスデータとを含む。グラフィクスデータも圧縮符号化されている。
【００２１】
ＣＰＵ１０１で実行されるワンセグ放送再生アプリケーションは、復号されたトランスポートストリーム（ＴＳ）を映像データ、音声データに分離する。ワンセグ放送再生アプリケーションのソフトウェア・ビデオデコードモジュールは、Ｈ．２６４／ＡＶＣ規格でエンコードされている映像のストリームをデコードし、表示コントローラ１０３に送る。表示コントローラ１０３は、デコードされたデータに応じたビデオ信号を生成する。ビデオ信号がＬＣＤ１２に入力されることによって、ＬＣＤ１２はワンセグ放送の動画像を表示する。
【００２２】
また、ワンセグ放送再生アプリケーションは、ＡＡＣ方式でエンコードされている音声データをオーディオコントローラ１０７に送る。オーディオコントローラ１０７は、音声データを復号し、オーディオ信号を生成する。オーディオ信号はヘッドホン端子１２２を介してヘッドホンに入力され、ヘッドホンからワンセグ放送の音声を出力する。
【００２３】
電源回路１１０は、マルチメディアプレーヤ１１の本体内に設けられたバッテリ１１１からの電力、または外部のＡＣアダプタ１１２からの電力を用いて、各コンポーネントに動作電源を供給する。
【００２４】
次に、図３を参照して、ワンセグ放送再生アプリケーションによって実現されるビデオデコードモジュールの機能構成を説明する。
【００２５】
ワンセグ放送アプリケーションのビデオデコードモジュールは、Ｈ．２６４／ＡＶＣ規格に対応しており、図示のように、エントロピー復号部３０１、エラー検出部３０２、エラーコンシールメント処理部３０３、逆量子化部３０４、逆ＤＣＴのような逆変換部３０５、加算部３０６、デブロッキングフィルタ部３０７、フレームメモリ３０８、イントラ予測部３０９、インター予測部３１０、およびモード切替スイッチ部３１１を含む。逆変換部３０５によるＨ．２６４の直交変換は整数精度であり、従来のＤＣＴとは異なるが、ここではＤＣＴと称することとする。
【００２６】
各画面の符号化は、たとえば１６×１６画素のマクロブロック単位で実行される。各マクロブロックごとに、フレーム内符号化モード（イントラ符号化モード）およびフレーム間予測符号化モード（インター符号化）のいずれか一方が選択される。
【００２７】
フレーム間予測符号化モードにおいては、既に符号化された画面（ピクチャ）に対する符号化対象画面の動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が、例えばブロックのような、定められた形状単位で生成される。そして、符号化対象画面（ピクチャ）から動き補償フレーム間予測信号を引いた残差信号、つまり予測誤差信号が、直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。また、イントラ符号化モードにおいては、符号化対象画面（ピクチャ）の予測信号は符号化対象画面と同一の画面（ピクチャ）から生成され、その生成された予測信号が直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。
【００２８】
ＭＰＥＧ−２や、ＭＰＥＧ−４ではピクチャを一つの単位として、符号化モードが決められている。しかし、Ｈ．２６４／ＡＶＣ規格の場合、一つのピクチャ内のスライスが符号化の基本単位となっており、複数の符号化モードを混在させることが出来る。
【００２９】
一つのピクチャ単位でアクセスするために、いくつかのＮＡＬユニットをまとめた一区切りをアクセス・ユニットと呼ぶ。アクセス・ユニットは、ＳＰＳ（Sequence Parameter Set）、ＰＰＳ（Picture Parameter Set）、主ピクチャ情報を有する。
【００３０】
ＳＰＳは、画像のプロファイルやレベルなど、シーケンス全体の符号化に関する情報を含むヘッダである。ＰＰＳは、ピクチャ全体の符号化モードを示すヘッダである。主ピクチャ情報は、ピクチャに含まれる複数のマクロブロックのデータの集まりである。
【００３１】
なお、ピクチャ全体のヘッダに相当するＰＰＳが無い場合もあるので、ＰＰＳによってピクチャの先頭を見つけることが出来ない。ピクチャの区切りは、スライスのヘッダに含まれるフレーム番号等を参照して、フレーム番号などのいくつかの情報が直前のＮＡＬユニットと異なるか否かによって検出する。
【００３２】
各マクロブロックのデータは、復号に用いるための情報を有する。復号に用いられる情報としては、予測モード情報、予測ブロックサイズ、予測方向情報、参照ピクチャインデックス、動きベクトル情報、ＤＣＴ係数がある。
【００３３】
以下、図３のビデオデコードモジュール（ソフトウェアデコーダ）の動作を説明する。
【００３４】
Ｈ．２６４／ＡＶＣ規格にしたがって圧縮符号化された動画像ストリームは、まず、エントロピー復号部３０１に入力される。圧縮符号化された動画像ストリームには、１画面の符号化された画像情報の他に、フレーム間予測符号化（インター予測符号化）で用いられた予測ブロックサイズ情報、参照ピクチャインデックス、および動きベクトル情報、フレーム内予測符号化（イントラ予測符号化）で用いられたフレーム内予測情報、ならびに予測モード（インター予測符号化／イントラ予測符号化）を示すモード情報等が含まれている。
【００３５】
デコード処理は、たとえば１６×１６画素のマクロブロック単位で実行される。エントロピー復号部３０１は動画像ストリームに対して可変長復号のようなエントロピー復号処理を施して、動画像ストリームに含まれるシンタックス値をそれぞれ分離する。シンタックス値としては、ＤＣＴ係数、予測ブロックサイズ、動きベクトル情報（動きベクトル差分情報）、フレーム内予測情報、参照ピクチャインデックス、および予測モード情報がある。この場合、例えば、デコード対象画面（ピクチャ）内の各マクロブロックは４×４画素（または８×８画素）のブロック毎にエントロピー復号処理され、各ブロックは４×４（または８×８）の量子化ＤＣＴ係数に変換される。以下では、各ブロックが４×４画素である場合を想定する。
【００３６】
動きベクトル情報は、モード切替スイッチ部３１１を介してインター予測部３１０に送られる。フレーム内予測情報は、モード切替スイッチ部３１１を介してイントラ予測部３０９に送られる。モード情報はモード切替スイッチ部３１１に送られる。
【００３７】
各デコード対象ブロックの４×４の量子化ＤＣＴ係数は、逆量子化部３０４による逆量子化処理により４×４のＤＣＴ係数（直交変換係数）に変換される。この４×４のＤＣＴ係数は、逆変換部３０５による逆整数ＤＣＴ（直交逆変換）処理によって、周波数情報から、４×４の画素値に変換される。この４×４の画素値は、デコード対象ブロックに対応する予測誤差信号である。この予測誤差信号は加算部３０６に送られ、そこでデコード対象ブロックに対応する予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）が加算され、これによってデコード対象ブロックに対応する４×４の画素値がデコードされる。
【００３８】
イントラ予測モードにおいては、モード切替スイッチ部３１１によってイントラ予測部３０９が選択され、これによって、イントラ予測部３０９によって得られるフレーム内予測信号が予測誤差信号に加算される。インター予測モードにおいては、モード切替スイッチ部３１１によってインター予測部３１０が選択され、動き補償フレーム間予測信号が予測誤差信号に加算される。
【００３９】
このように、デコード対象画面に対応する予測誤差信号に予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算してデコード対象画面をデコードする処理が所定のブロック単位で実行される。
【００４０】
デコードされた各画面（ピクチャ）は、デブロッキングフィルタ部３０７によってデブロッキングフィルタ処理が施された後に、フレームメモリ３０８に格納される。このデブロッキングフィルタ部３０７は、例えば４×４画素のブロック単位で、デコードされた各画面に対してブロックノイズを低減するためのデブロッキングフィルタ処理を施す。このデブロッキングフィルタ処理は、ブロック歪みが参照画面に含まれてしまい、これによってブロック歪みが別の画面の復号画像に伝搬してしまうことを防止する。デブロッキングフィルタ処理は、ブロック歪みが生じやすい箇所に対してはより強いフィリタリングが施され、ブロック歪みが生じにくい箇所に対しては弱いフィリタリングが施されるように、適応的に実行される。デブロッキングフィルタ処理はループフィルタ処理によって実現されている。
【００４１】
そして、デブロッキングフィルタ処理された各画面は、フレームメモリ３０８から出力画像フレーム（または出力画像フィールド）として読み出される。また、動き補償フレーム間予測のための参照画面として使用されるべき各画面は、フレームメモリ３０８内に一定期間保持される。Ｈ．２６４／ＡＶＣ規格の動き補償フレーム間予測符号化においては、複数の画面を参照画面として使用することができる。このため、フレームメモリ３０８は、複数画面分の画像を記憶するための複数個のフレームメモリ部を備えている。
【００４２】
インター予測部３１０は、デコード対象画面から動き補償フレーム間予測信号を生成するフレーム間予測処理を実行する。インター予測部３１０は、デコード対象画面に対応する動きベクトル情報に基づき、デブロッキングフィルタ処理された１つの参照画面からデコード対象画面に対応するフレーム間予測信号を生成するための動き補償予測処理を実行する。動き補償予測処理は、参照画面インデックスに応じて参照される参照画面に対して画素補間処理を施す処理と、動画像ストリームに含まれる動きベクトル情報に基づいて、画素補間処理された参照画面からデコード対象画面に対応するフレーム間予測信号を生成する処理とを含む。すなわち、インター予測部３１０は、デコードされた画面（参照画面）に対して画素補間処理を施し、これによって、小数精度の画素群を含む予測補間信号を生成する。そして、インター予測部３１０は、動きベクトル情報に基づいて動き補償予測を実行することにより、画素補間処理によって得られた予測補間信号からデコード対象画面に対応するフレーム間予測信号を生成する。
【００４３】
イントラ予測部３０９は、デコード対象画面からフレーム内予測信号を生成するフレーム内予測処理を実行する。フレーム内予測処理では、デコード対象画面から、その画面内に含まれるデコード対象ブロックのフレーム内予測信号が生成される。このイントラ予測部３０９は、上述のフレーム内予測情報に従ってフレーム内予測処理（イントラ予測処理ともいう）を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。デコード対象ブロックの大きさには、４×４ブロックと、１６×１６ブロックとの二つの予測ブロックサイズがある。また、予測部ブロックサイズが４×４ブロックの場合、予測方向情報に従って、vertical（予測モード０）、horizontal（予測モード１）、DC（予測モード２）、diagonal down-left（予測モード３）、diagonal down-right（予測モード４）、vertical right（予測モード５）、horizontal down（予測モード６）、vertical left（予測モード７）、およびhorizontal up（予測モード８）の９種類の予測方向のうちの一つが、予測ブロック単位で選択される。また、また、予測部ブロックサイズが１６×１６ブロックの場合、予測方向情報に従って、vertical（予測モード０）、horizontal（予測モード１）、DC（予測モード２）、およびplane（予測モード３）の４種類の予測方向のうちの一つが、予測ブロック単位で選択される。
【００４４】
受信環境によっては、エントロピー復号部３０１に入力される動画像ストリーム（入力ストリーム）のデータにエラーが混入する場合がある。特にエラー混入によって損失してしまったデータに該当する領域の画像を補完するエラーコンシールメント機能が重要である。
【００４５】
エラー検出部３０２は、入力ストリームのデータにエラーが混入していたか否かをマクロブロック毎に判別する。そして、エラー検出部３０２は、エラーの有無を示すエラーフラグと、判定を行ったマクロブロックの番号とを含むエラー情報をエラーコンシールメント処理部３０３に出力する。エラー情報は、エラーフラグが有効な場合、エラー情報に含まれる番号のマクロブロックにエラーがあったことを示す。エラー情報は、エラーフラグが無効な場合、エラー情報に含まれる番号のマクロブロックにエラーが無かったことを示す。
【００４６】
エラー検出部３０２は、図４のフローチャートに示すように、エラーの混入を検出するために、ストリームからシンタックス値を取得し（ステップＳ１１）、シンタックス値が規格の範囲内の値であるか否かを判別している（ステップＳ１２）。エラー検出部３０２は、シンタックス値が規格の範囲内の値であればエラーが混入していないと判断する。また、エラー検出部３０２は、ピクチャのヘッダ、シンタックス値が規格の範囲外であればエラーが混入していると判断し、エラーが発生した現在のマクロブロック位置を出力する（ステップＳ１３）。
【００４７】
エラーコンシールメント処理部３０３は、図５に示すように、エラー情報解析部３０３Ａ、およびストリーム情報処理部３０３Ｂ等を有する。エラー情報解析部３０３Ａは、エラー検出部３０２から出力されたエラー情報を解析し、エラーの有無を判別する。エラーがないマクロブロックの場合、エラーコンシールメント処理部３０３は入力されたストリーム情報に処理を加えることなく出力する。エラー情報解析部３０３Ａがエラー情報からエラーがあったことを検出した場合、エラー情報解析部３０３Ａは、ストリーム情報処理部３０３Ｂにエラーがあったマクロブロックの番号を通知する。ストリーム情報処理部３０３Ｂは、エラー検出したデータ以降それ以降の失われたデータについてどのようなデータであったかを前記ピクチャのヘッダ情報、または正常に復号出来たマクロブロックの情報から推定するために、エラーがあったマクロブロックのシンタックス値を書き換える処理を実行する。
【００４８】
図６および図７のフローチャートを参照して、エラー検出部３０２によるエラー検出の詳細の手順を説明する。  
先ず、エラー検出部３０２は、ピクチャのヘッダ情報を取得し（ステップＳ２１）、ヘッダ情報が規格の範囲内の値であるか否かを判別する（ステップＳ２２）。範囲内の値ではないと判断した場合（ステップＳ２２のＮｏ）、エラーが発生したと判断し、エラー検出部３０２は、エラーコンシールメント処理部３０３にピクチャの先頭のマクロブロック番号と、当該マクロブロックにエラーが有ることを示すエラーフラグを含むエラー情報を出力する（ステップＳ３７）。
【００４９】
ステップＳ２１で取得するピクチャのヘッダ情報の一例は、そのピクチャのプロファイルやレベルなど、シーケンス全体の符号化に関する情報を含む。Ｈ．２６４／ＡＶＣ規格では、ＳＰＳ（Sequence Parameter Set）に相当する。また、ピクチャのヘッダ情報の別の一例は、ピクチャ全体の符号化モードを示す。Ｈ．２６４／ＡＶＣ規格では、ＰＰＳ（Picture Parameter Set）に相当する。
【００５０】
範囲内の値であると判断した場合（ステップＳ２２のＹＥＳ）、イントラ予測モードであるかインター予測モードの何れかを示す予測モード情報を取得する（ステップＳ２３）。予測モード情報の値が規格の範囲内の値であるか否かを判別する（ステップＳ２４）。規格の範囲内の値の値ではないとは、例えば予測モード情報がイントラ予測モードおよびインター予測モードの一方を示さない場合である。
【００５１】
範囲内の値ではないと判断した場合（ステップＳ２４のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーフラグが有効、且つ現在のエラー検出対象のマクロブロック番号を含むエラー情報を出力する（ステップＳ３７）。
【００５２】
ステップＳ２４において範囲内の値であると判断した場合（ステップＳ２４のＹｅｓ）、エラー検出部３０２は、エラー検出対象のマクロブロックがインター予測モードであるか否かを判別する（ステップＳ２５）。インター予測モードではないと判断した場合（ステップＳ２５のＮｏ）、則ちイントラ予測モードであると判断した場合、予測ブロックサイズを取得する（ステップＳ２６）。Ｈ．２６４／ＡＶＣ規格の場合、予測ブロックサイズは、インター予測モードであれば、１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４の何れかである。取得した予測ブロックサイズが規格の範囲内の値であるか否かを判別する（ステップＳ２７）。範囲内の値ではないと判断した場合（ステップＳ２７のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーフラグが有効、且つ現在のエラー検出対象のマクロブロック番号を含むエラー情報を出力する（ステップＳ３７）。
【００５３】
範囲内の値であると判断した場合（ステップＳ２７のＹｅｓ）、予測方向情報を取得する（ステップＳ２８）。Ｈ．２６４／ＡＶＣ規格におけるインター予測モードで予測部ブロックサイズが４×４ブロックの場合、予測部ブロックサイズが４×４ブロックであれば、予測方向は、予測モード０〜予測モード８の何れかである。また、Ｈ．２６４／ＡＶＣ規格におけるインター予測モードで予測部ブロックサイズが４×４ブロックの場合、予測部ブロックサイズが１６×１６ブロックであれば、予測方向は、予測モード０〜予測モード３の何れかである。
【００５４】
範囲外であると判断した場合（ステップＳ２９のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーフラグが有効、且つ現在のエラー検出対象のマクロブロック番号を含むエラー情報を出力する（ステップＳ３７）。
【００５５】
ステップＳ２５において、インター予測モードであると判断した場合（ステップＳ２５のＹｅｓ）、予測ブロックサイズを取得する（ステップＳ３１）。予測ブロックサイズが規格の範囲内の値であるか否かを判別する。Ｈ．２６４／ＡＶＣ規格におけるインター予測モードの場合、予測ブロックサイズは、１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４の何れかである。範囲外であると判断した場合（ステップＳ３２のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーフラグが有効、且つ現在のエラー検出対象のマクロブロック番号を含むエラー情報を出力する（ステップＳ３７）。
【００５６】
範囲内の値であると判断した場合（ステップＳ３２のＹｅｓ）、参照ピクチャインデックスを取得する（ステップＳ３３）。参照ピクチャインデックスが規格の範囲内の値であるか否かを判別する（ステップＳ３４）。例えば、未来のピクチャを参照していていれば、規格の範囲外である。
【００５７】
範囲外であると判断した場合（ステップＳ３４のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーが発生したエラーフラグを有効、且つ現在のエラー検出対象のマクロブロックの番号を含むエラー情報を出力する（ステップＳ３７）。
【００５８】
範囲内の値であると判断した場合（ステップＳ３４のＹｅｓ）、動きベクトル情報を取得する（ステップＳ３５）。動きベクトル情報の値が規格範囲内の値であるか否かを判別する（ステップＳ３６）。範囲外であると判断した場合（ステップＳ３６のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーが発生したエラーフラグを有効、且つエラーがあったマクロブロックの番号を含むエラー情報を出力する（ステップＳ３７）。
【００５９】
ステップＳ２９において予測方向が規格の範囲内の値であると判断した場合（ステップＳ２９のＹｅｓ）、またはステップＳ３６において動きベクトルが規格の範囲内の値であると判断した場合（ステップＳ３６のＹｅｓ）、ＤＣＴ係数を取得する（ステップＳ４１）。ＤＣＴ係数が規格の範囲内の値であるか否かを判別する（ステップＳ４２）。範囲外であると判断した場合（ステップＳ４２のＮｏ）、エラーが発生したと判断し、エラーコンシールメント処理部３０３にエラーが発生したエラーフラグを有効、且つエラーがあったマクロブロックの番号を含むエラー情報を出力する（ステップＳ３７）。
【００６０】
範囲内の値であると判断した場合（ステップＳ４２のＹｅｓ）、エラーコンシールメント処理部３０３にエラー発生の有無を示すエラーフラグが無効、且つエラーがあったマクロブロックの番号を含むエラー情報を出力する（ステップＳ４３）。
【００６１】
ピクチャの最後のマクロブロックであるか否かを判別する（ステップＳ４４）。最後のマクロブロックではないと判断した場合（ステップＳ４４のＮｏ）、ステップＳ２３に戻り、次のマクロブロックの予測モード情報を取得し、ステップＳ２４以下の処理を実行する。
【００６２】
最後のマクロブロックであると判断した場合（ステップＳ４４のＹｅｓ）、ストリームの最後のピクチャであるか否かを判別する（ステップＳ４５）。ストリームの最後のピクチャではないと判断した場合（ステップＳ４５のＮｏ）、ステップＳ２１に戻り次のピクチャのヘッダ情報を取得し、ステップＳ２２以下の処理を実行する。ストリームの最後のピクチャであると判断した場合（ステップＳ４５のＹｅｓ）、処理を終了する。
【００６３】
以上の処理で、エラー検出部３０２は、マクロブロック内にエラーがあるか否かを検出し、エラー情報を出力する。
【００６４】
次に、エラーコンシールメント処理部３０３が実施するエラーコンシールメント処理をより詳細に参照して説明する。エラーコンシールメント処理部３０３は、エラー検出部がエラー情報を出力した場合に、シンタックス値を変更することによってエラーコンシールメント処理を行う。エラーコンシールメント処理部３０３が実行するシンタックス値の変更処理は、ＩピクチャおよびＰピクチャの何れかのピクチャであるかによって、実施する処理が異なる。
【００６５】
Ｉピクチャの場合、エラーを検出したマクロブロック以降（エラーを検出したマクロブロックを含む）のマクロブロック・タイプの予測モードをイントラ４×４予測に設定、および予測方向をＤＣ（平均値)モードに設定、および予測誤差信号が０になるようにＤＣＴ係数を全て０に設定する。
【００６６】
Ｐピクチャの場合、エラーを検出したマクロブロック以降（エラーを検出したマクロブロックを含む）のマクロブロックの予測モードをスキップト・マクロブロックに設定する。
【００６７】
次に、実際のエラーコンシールメント処理部の処理を図８のフローチャートを参照して説明する。
【００６８】
エラー情報解析部３０３Ａは、エラー検出部３０２から送られるエラー情報を取得する（ステップＳ５１）。エラー情報解析部３０３Ａは、エラー情報中のエラーフラグを参照して、エラーが無かったか否かを判別する（ステップＳ５２）。エラーがあると判断した場合（ステップＳ５２のＹｅｓ）、エラー情報解析部３０３Ａは、エラー情報中のマクロブロック番号を取得し、マクロブロック番号をストリーム情報処理部３０３Ｂに通知する（ステップＳ５３）。次に、ストリーム情報処理部３０３Ｂは、処理中のピクチャがＩピクチャであるか否かを判別する（ステップＳ５４）。Ｉピクチャであると判断した場合（ステップＳ５４のＹｅｓ）、ストリーム情報処理部３０３Ｂは、エラーを検出したマクロブロックからピクチャの最後のマクロブロックまで、シンタックス値を書き換える（ステップＳ５５〜Ｓ５７）。
【００６９】
ステップＳ５６での書換処理によって、ストリーム情報処理部３０３Ｂは、予測モードをイントラ４×４予測モード、予測方向情報をＤＣ（平均値）モード、ＤＣＴ係数を全て０にする。
【００７０】
ステップＳ５４において、Ｉピクチャではないと判断した場合（ステップＳ５４のＮｏ）、則ちＰピクチャである場合、ストリーム情報処理部３０３Ｂは、エラーを検出したマクロブロックからピクチャの最後のマクロブロックまで、シンタックス値を書き換える（ステップＳ６５〜Ｓ６７）。ステップＳ６６での書換処理によって、ストリーム情報処理部３０３Ｂは、エラーを検出したマクロブロックからピクチャの最後のマクロブロックまで、予測モードをスキップト・マクロブロックに設定する。
【００７１】
以上の処理で、マクロブロック内にエラーがあった場合にエラーコンシールメント処理を行うことが出来る。この処理は、シンタックス値を規格にそった値に書き換えるだけの処理なので、ＣＰＵ１０１に与える負荷は小さい。
【００７２】
また、ストリーム情報処理部３０３Ｂによってシンタックス値が書き換えられたマクロブロックは、シンタックス値が書き換えられていないマクロブロックと同様の処理が逆量子化部３０４、逆変換部３０５、加算部３０６、デブロッキングフィルタ部３０７、イントラ予測部３０９、インター予測部３１０、およびモード切替スイッチ部３１１によって行われる。その結果、エラーがあったマクロブロック以降の画像が、正常に復号出来たマクロブロックの情報から表示される。
【００７３】
なお、本実施形態のデコード制御処理は全てコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することができる。
【００７４】
また、以上説明した第１乃至第１１の各実施形態で説明したソフトウェアデコーダは、マルチメディアプレーヤに限らず、ＰＤＡ、携帯型電話機等にも適用することができる。
【００７５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態に係わる動画像復号装置の外観を示す図。
【図２】図１に示す動画復号装置のシステム構成を示すブロック図。
【図３】図１に示す動画復号装置で用いられるワンセグ放送再生アプリケーションのビデオデコードモジュールの機能構成を示すブロック図。
【図４】図３に示すエラー検出部によるエラー検出処理の手順を示すフローチャート。
【図５】図３に示すエラーコンシールメント処理部の構成を示すブロック図。
【図６】図３に示すエラー検出部によるエラー検出処理の詳細な手順を示すフローチャート。
【図７】図３に示すエラー検出部によるエラー検出処理の詳細な手順を示すフローチャート。
【図８】図３に示すエラーコンシールメント処理部によるエラーコンシールメント処理の手順を示すフローチャート。
【符号の説明】
【００７７】
３０１…エントロピー復号部，３０２…エラー検出部，３０３…エラーコンシールメント処理部，３０３Ａ…エラー情報解析部，３０３Ｂ…ストリーム情報処理部，３０４…逆量子化部，３０５…逆変換部，３０６…加算部，３０７…デブロッキングフィルタ部，３０８…フレームメモリ，３０９…イントラ予測部，３１０…インター予測部，３１１…モード切替スイッチ部。
【図１】
2009081579.tif 000003
【図２】
2009081579.tif 000004
【図３】
2009081579.tif 000005
【図４】
2009081579.tif 000006
【図５】
2009081579.tif 000007
【図６】
2009081579.tif 000008
【図７】
2009081579.tif 000009
【図８】
2009081579.tif 000010