(57)【要約】【課題】  誤りの発生原因に応じて適切な誤り補正を行い、誤りによる画質劣化を最小限に抑えるようにする。【解決手段】  Ｍ×Ｎ個の画像データで構成されるブロックを符号化した符号ビット列を復号化する画像復号装置において、復号化手段１１で復号したデータの個数をカウント手段１２でカウントし、カウント値がＭ×Ｎ以下で且つブロック境界を示す符号を検出した場合には、Ｍ×Ｎ番目の復号化処理が終了したときに次のブロックの復号化処理を開始し、カウント値がＭ×（Ｎ＋１）になってもブロック境界を示す符号が検出されない場合には、そのまま復号化処理を続行して、復号後データのうちＭ×Ｎ番目までを有効なデータ、Ｍ×（Ｎ＋１）番目以上は無効なデータと判定して有効なデータのみを出力するようにした。【選択図】  図５
2006211253.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ×Ｎ個（Ｍ，Ｎは自然数）の画像データで構成されるブロックを符号化したビット列を入力とし、該ビット列を復号化処理する画像復号装置であって、
前記符号化された画像データを復号化して復号後データを出力する一方、前記ビット列中に存在するブロックの境界を示す符号を検出したときに境界検出信号を出力する復号化手段と、
前記復号化手段で復号化されたデータの個数をカウントするカウント手段と、
前記カウント手段のカウント値と前記境界検出信号とに基づいて、前記復号後データが有効又は無効なデータであるかを判定する有効判定手段と、
前記有効判定手段での判定結果に基づいて、前記復号後データのうち有効なデータのみを選択して出力する出力データ生成手段とを備え、
前記復号化手段は、
前記カウント値がＭ×Ｎ以下で且つブロック境界を示す符号を検出した場合には、前記ビット列におけるＭ×Ｎ番目の復号化処理が終了したときに次のブロックの復号化処理を開始し、
前記カウント値がＭ×（Ｎ＋１）以上になってもブロック境界を示す符号が検出されない場合には、該ブロック境界を示す符号が検出されるまで復号化処理を続行するように構成され、
前記有効判定手段は、前記復号後データのうちＭ×Ｎ番目までを有効なデータと判定し、Ｍ×（Ｎ＋１）番目以上は無効なデータと判定するように構成されていることを特徴とする画像復号装置。
【請求項２】
Ｍ×Ｎ個（Ｍ，Ｎは自然数）の画像データで構成されるブロックを符号化したビット列を入力とし、該ビット列を復号化処理する画像復号装置であって、
前記符号化された画像データを復号化して復号後データを出力する一方、前記ビット列中に存在するブロックの境界を示す符号を検出したときに境界検出信号を出力する復号化手段と、
前記復号化手段で復号化されたデータの個数をカウントするカウント手段と、
前記復号化手段から出力されたＭ×Ｎ個の復号後データを、前記カウント手段のカウント値をアドレスとして順次保持する復号後データ保持手段とを備え、
前記復号化手段は、
前記カウント値がＭ×Ｎ以下で且つブロック境界を示す符号を検出した場合には、前記ビット列におけるＭ×Ｎ番目の復号化処理が終了したときに次のブロックの復号化処理を開始し、
前記カウント値がＭ×（Ｎ＋１）以上になってもブロック境界を示す符号が検出されない場合には、該ブロック境界を示す符号が検出されるまで復号化処理を続行するように構成され、
前記復号後データ保持手段は、Ｍ×（Ｎ＋１）番目以降の復号後データの保持を行わず、前記ブロック境界を示す符号が検出されたときに、今まで保持していた復号後データを出力するように構成されていることを特徴とする画像復号装置。
【請求項３】
請求項１又は２に記載された画像復号装置において、
前記カウント値が所定値以上であることを検出するエラー検出手段をさらに備え、
前記エラー検出手段は、前記カウント値が所定値になっても前記ブロック境界を示す符号が検出されない場合にエラーを通知するように構成されていることを特徴とする画像復号装置。
【請求項４】
請求項３に記載された画像復号装置において、
前記所定値を保持するデータ保持手段をさらに備え、
前記エラー検出手段は、前記データ保持手段が保持する所定値と前記カウント手段のカウント値とを比較することでエラー検出を行うように構成されていることを特徴とする画像復号装置。
【請求項５】
請求項３に記載された画像復号装置において、
前記復号化手段において復号した前記ビット列のビット数をカウントする第２のカウント手段をさらに備え、
前記エラー検出手段は、前記第２のカウント手段のカウント値が所定値になっても前記ブロック境界を示す符号が検出されない場合にエラーを通知するように構成されていることを特徴とする画像復号装置。
【請求項６】
請求項３に記載された画像復号装置において、
前記復号化手段における復号処理が開始した時点からシステムクロックのクロック数をカウントする第２のカウント手段をさらに備え、
前記エラー検出手段は、前記第２のカウント手段のカウント値が所定値になっても前記ブロック境界を示す符号が検出されない場合にエラーを通知するように構成されていることを特徴とする画像復号装置。
【請求項７】
請求項５又は６に記載された画像復号装置において、
前記所定値を保持しておくデータ保持手段をさらに備え、
前記エラー検出手段は、前記データ保持手段が保持する所定値と前記第２のカウント手段のカウント値とを比較することでエラー検出を行うように構成されていることを特徴とする画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された画像データを復号化する画像復号装置に関し、特にビットストリーム中に発生する誤りに対する耐性を強化するものに関する。
【背景技術】
【０００２】
従来の画像復号装置では、符号化された動画像データの復号処理中に誤りを検出した場合、複数のマクロブロック単位で１グループとして正常復号への復帰（再同期）を行うようにしている。グループの先頭のマクロブロックは、それ独自で画面内における絶対位置を算出することができるようになっており、ビットストリーム（符号化データ）上でグループの先頭を示すスタートコード（マーカー）を検出することで、それ以降のデータの復号処理を正しい画面内位置から再開することができる。
【０００３】
さらに、エラーが検出された場合には、次のシーケンスまで、又は次のＩピクチャかＧＯＰ（Group of Picture）以上の階層まで読み飛ばし、Ｂピクチャの場合は次のピクチャまで読み飛ばすようにしている。このように読み飛ばした範囲の画像データについては、直前の画像を表示したり黒画面を表示したりするようにしている（例えば、特許文献１参照）。
【０００４】
次に、符号化データのデータ構造について説明する。この符号化データは、先頭マーカーと復号に必要なヘッダー情報部と一定長ごとの再同期マーカーと複数の可変長符号からなる符号化された画像データで構成されており、例えば、図１に示すように先頭マーカー２１、ヘッダー情報部２２、複数の可変長符号化データ２３が続き、各々の可変長符号化データ２３は再同期マーカー２４及び複数の画像の符号化データ２５を有している。
【０００５】
ここで、画像データの符号化方式の一例としてＭＰＥＧ４方式について説明する。図２に標準的な画像データのデータ構造を示す。ＭＰＥＧ４方式の場合、符号化データはＶＯＳ３１（Visual Object Sequence）、ＶＯＬ３２（Video Object Layer）、ＶＯＰ３３（Video Object Plane）という３段階の構造から構成されるものである。ＶＯＰ３３の先頭にはスタートコードとしてのＶＯＰＨｅａｄｅｒ３４があり一定長ごとのＲＳＭ３５（Resync Marker）、ＶＰＨｅａｄｅｒ３６（Video Packet Header）、画像符号化データのＭＢ３７（Macroblock）で構成される。
【０００６】
ＶＯＳ３１、ＶＯＬ３２は、復号化に関する諸パラメータを有しており、ＶＯＰ３３は、ＶＯＰＨｅａｄｅｒ３４の後にＶＯＰ３３の復号化に関するパラメータ、一定長ごとのＲＳＭ３５、その後のＶＰＨｅａｄｅｒ３６には次のＲＳＭ３５までの復号化に関連する諸パラメータを有しており、その後に複数のＭＢ３７が続くものである。さらに、ＭＢ３７にはＭＢＨｅａｄｅｒ３８と可変長符号化されたＢｌｏｃｋ３９が複数個あり、このＢｌｏｃｋ３９は可変長符号化された画像データである。
【０００７】
次に、復号化方式の一例として、インター（Inter）と呼ばれるＢｌｏｃｋの復号化方式について説明する。図３はＢｌｏｃｋのデータ構造の一例を示しており、画像データの復号処理はＢｌｏｃｋ単位で行うものとする。Ｂｌｏｃｋは１個のＤＣ値と６３個のＡＣ値とを符号化したものである。
【０００８】
図４は、Ｂｌｏｃｋの復号化処理の手順を示すフローチャート図である。図４に示すように、まず、ステップＳ４０１で、１つの符号を復号化する。この復号化処理によって、ゼロデータの個数（ＲＵＮ）と、それに続く非ゼロデータ（ＬＥＶＥＬ）と、以降に非ゼロデータがないことを示す符号（ＬＡＳＴ）とを取得する。
【０００９】
次に、ステップＳ４０２で、ＲＵＮの値が“０”であるかを判定する。ステップＳ４０２での判定が「ＮＯ」の場合には、ステップＳ４０３に分岐し、ステップＳ４０３でゼロデータを出力する。そして、ステップＳ４０４に進み、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ４０２に進む。このような処理を繰り返すことで、結果的にＲＵＮの数だけゼロデータが出力されることになる。
【００１０】
ステップＳ４０２での判定が「ＹＥＳ」の場合には、ステップＳ４０５に分岐し、ステップＳ４０５で、ＬＥＶＥＬ（非ゼロデータ）を出力する。
【００１１】
次に、ステップＳ４０６で、ＬＡＳＴの値が“１”であるかを判定する。ここで、１つのＢｌｏｃｋにおいては、ゼロデータの個数と非ゼロデータの個数の合計が必ず６４個になるように規格で定められているため、６４番目のデータが非ゼロデータの場合、又は非ゼロデータから６４番目のデータまでに非ゼロデータがない場合は、ＬＡＳＴの値が“１”になるようになっている。
【００１２】
ステップＳ４０６での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ４０１に分岐して、次の符号を復号化する。ステップＳ４０６での判定が「ＹＥＳ」の場合には、ステップＳ４０７に分岐する。
【００１３】
ステップＳ４０７で、出力されたデータ数が６４個であるかを判定する。ステップＳ４０７での判定が「ＮＯ」の場合には、ステップＳ４０８に分岐し、ステップＳ４０８でゼロデータを出力して、再びステップＳ４０７に進む。このような処理を繰り返すことで、結果的にデータ数が６４個になるまでゼロデータが出力されることになる。
【００１４】
ステップＳ４０７での判定が「ＹＥＳ」の場合には、Ｂｌｏｃｋの復号化処理を終了する。
【特許文献１】特開平９−２７１０２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来の画像復号装置では、このような符号化データの誤りが検出された場合には、新たに検出されたグループの先頭マクロブロックの位置を再同期点に設定するため、誤りを含んでいないマクロブロックを破棄してしまうことがある等の問題があった。
【００１６】
また、上述したインターと呼ばれる復号化方式では、復号後のデータが規定数（６４個）を超えてもＬＡＳＴの値が“１”にならない場合には、復号処理を続行することができないという問題があった。
【００１７】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、誤りの発生原因に応じて適切な誤り補正を行い、誤りによる画質劣化を最小限に抑えるようにすることにある。
【課題を解決するための手段】
【００１８】
すなわち、本発明は、Ｍ×Ｎ個（Ｍ，Ｎは自然数）の画像データで構成されるブロックを符号化したビット列を入力とし、該ビット列を復号化処理する画像復号装置であって、
前記符号化された画像データを復号化して復号後データを出力する一方、前記ビット列中に存在するブロックの境界を示す符号を検出したときに境界検出信号を出力する復号化手段と、
前記復号化手段で復号化されたデータの個数をカウントするカウント手段と、
前記カウント手段のカウント値と前記境界検出信号とに基づいて、前記復号後データが有効又は無効なデータであるかを判定する有効判定手段と、
前記有効判定手段での判定結果に基づいて、前記復号後データのうち有効なデータのみを選択して出力する出力データ生成手段とを備え、
前記復号化手段は、
前記カウント値がＭ×Ｎ以下で且つブロック境界を示す符号を検出した場合には、前記ビット列におけるＭ×Ｎ番目の復号化処理が終了したときに次のブロックの復号化処理を開始し、
前記カウント値がＭ×（Ｎ＋１）以上になってもブロック境界を示す符号が検出されない場合には、該ブロック境界を示す符号が検出されるまで復号化処理を続行するように構成され、
前記有効判定手段は、前記復号後データのうちＭ×Ｎ番目までを有効なデータと判定し、Ｍ×（Ｎ＋１）番目以上は無効なデータと判定するように構成されていることを特徴とするものである。
【００１９】
また、本発明は、Ｍ×Ｎ個（Ｍ，Ｎは自然数）の画像データで構成されるブロックを符号化したビット列を入力とし、該ビット列を復号化処理する画像復号装置であって、
前記符号化された画像データを復号化して復号後データを出力する一方、前記ビット列中に存在するブロックの境界を示す符号を検出したときに境界検出信号を出力する復号化手段と、
前記復号化手段で復号化されたデータの個数をカウントするカウント手段と、
前記復号化手段から出力されたＭ×Ｎ個の復号後データを、前記カウント手段のカウント値をアドレスとして順次保持する復号後データ保持手段とを備え、
前記復号化手段は、
前記カウント値がＭ×Ｎ以下で且つブロック境界を示す符号を検出した場合には、前記ビット列におけるＭ×Ｎ番目の復号化処理が終了したときに次のブロックの復号化処理を開始し、
前記カウント値がＭ×（Ｎ＋１）以上になってもブロック境界を示す符号が検出されない場合には、該ブロック境界を示す符号が検出されるまで復号化処理を続行するように構成され、
前記復号後データ保持手段は、Ｍ×（Ｎ＋１）番目以降の復号後データの保持を行わず、前記ブロック境界を示す符号が検出されたときに、今まで保持していた復号後データを出力するように構成されていてもよい。
【発明の効果】
【００２０】
以上のように、本発明によれば、復号後のデータが規定数を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できるため、次のマーカーやスタートコードまで同期をとるために画像をスキップする必要がなく、視覚的な画像の乱れを抑えることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものでは全くない。
【００２２】
＜実施形態１＞
図５は、本発明の実施形態１に係る画像復号装置の全体構成を示すブロック図である。図５に示すように、１１は画像復号装置に入力された符号ビット列を復号化処理する復号化手段であり、復号後のデータは出力データ生成手段１４に入力される。さらに、この復号化手段１１からは、符号ビット列を復号したときに得られた復号後データ数の情報がカウント手段１２に出力され、符号化データのＭＢの境界を示す符号を検出したときに境界検出信号が有効判定手段１３に出力される。
【００２３】
ここで、ＭＢの境界を示す符号とは、ＭＢ内においてそれ以降のデータに非ゼロデータがないことを表すＬＡＳＴの値が“１”である符号をいう。前記復号化手段１１における復号化処理は、このような境界を示す符号が検出されるまで続行され、境界を示す符号が検出された後は、カウント手段１２から入力されるカウント値が６４に満たない場合、カウント値が６４になるまでゼロデータが出力データ生成手段１４に出力される。カウント手段１２から入力されるカウント値が６４以上の場合には、復号化処理が終了される。
【００２４】
前記カウント手段１２は、復号化されたデータの個数をカウントするものであり、そのカウント値が前記復号化手段１２と有効判定手段１３とにそれぞれ出力される。この有効判定手段１３では、カウント値と境界検出信号とに基づいて復号後データの有効性を示す有効データ判定信号が生成され、この有効データ判定信号が前記出力データ生成手段１４に出力される。
【００２５】
具体的に、ＭＰＥＧ４方式の場合には、１ＭＢ内のデータ数は６４個であるため、前記カウント手段１２から出力されたカウント値が６４以下のときは復号後データが有効であると判定され、有効データ判定信号として“１”が出力される。一方、カウント値が６４以上になったときは、復号化手段１１から境界検出信号が入力されるまで６５番目以降のデータが無効と判定され、有効データ判定信号として“０”が出力される。
【００２６】
前記出力データ生成手段１４では、前記復号化手段１１から入力された復号後データが前記有効データ判定信号に基づいて選択的に出力される。具体的には、有効判定の結果が“有効”であれば出力し、“無効”であれば出力しないようにしている。
【００２７】
図６は、本発明の実施形態１に係る画像復号装置における復号化処理手順を示すフローチャート図である。図６に示すように、ステップＳ６０１で、カウント手段１２におけるカウント値を初期化する。次に、ステップＳ６０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００２８】
次に、ステップＳ６０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ６０３での判定が「ＮＯ」の場合には、ステップＳ６０４に分岐し、ステップＳ６０４で、カウント手段１２のカウント値が６４以上かどうかを判定する。
【００２９】
ステップＳ６０４での判定が「ＮＯ」の場合には、ステップＳ６０５に分岐してゼロデータを出力データ生成手段１４に出力し、ステップＳ６０６に進む。ステップＳ６０４での判定が「ＹＥＳ」の場合には、データの出力を行うことなくステップＳ６０６に分岐する。
【００３０】
そして、ステップＳ６０６で、カウント手段１２のカウント値をカウントアップする。次に、ステップＳ６０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ６０３に進む。このような処理を繰り返すことで、最終的にステップＳ６０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１２のカウント値をカウントアップしてからステップＳ６０８に進むこととなる。
【００３１】
ステップＳ６０８で、カウント手段１２のカウント値が６４以上かどうかを判定する。ステップＳ６０８での判定が「ＮＯ」の場合には、ステップＳ６０９に分岐し、ステップＳ６０９で、ＬＥＶＥＬ（非ゼロデータ）を出力データ生成手段１４に出力してステップＳ６１０に進む。ステップＳ６０８での判定が「ＹＥＳ」の場合には、データの無効を示す信号が有効判定手段１３から出力データ生成手段１４に出力され、データの出力を行うことなくステップＳ６１０に分岐する。そして、ステップＳ６１０で、カウント手段１２のカウント値をカウントアップする。
【００３２】
次に、ステップＳ６１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ６１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ６０２に分岐して次の符号を復号化する。ステップＳ６１１での判定が「ＹＥＳ」の場合には、ステップＳ６１２に分岐する。
【００３３】
ステップＳ６１２で、カウント手段１２のカウント値が６４以上であるかを判定する。ステップＳ６１２での判定が「ＮＯ」の場合には、ステップＳ６１３に分岐し、ステップＳ６１３で、ゼロデータを出力データ生成手段１４に出力して、再びステップＳ６１２に進む。ステップＳ６１２での判定が「ＹＥＳ」の場合には、Ｂｌｏｃｋの復号化を終了する。このような処理を繰り返すことで、結果的にカウント値が６４になるまでゼロデータが出力データ生成手段１４に出力されてから復号化が終了するようになっている。
【００３４】
すなわち、復号後データが６４個を超えてもＬＡＳＴの値が“１”にならないような規格違反の符号化データが入力された場合であっても、復号化手段１１において復号処理を続行することができ、カウント手段１２もカウントアップを続ける。そして、有効判定手段１３から出力データ生成手段１４に対して無効を示す信号が出力されるため、結果的に６４番目以降のデータが出力データ生成手段１４から出力されることはない。そして、ＬＡＳＴの値が“１”になったとき、Ｂｌｏｃｋの復号化が終了する。
【００３５】
このように、本実施形態１に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できるため、次のＲＳＭやスタートコードまで、同期をとるために画像をスキップする必要がなくなる。
【００３６】
＜実施形態２＞
図７は、本発明の実施形態２に係る画像復号装置の全体構成を示すブロック図である。前記実施形態１との違いは、エラー検出手段を設けた点のみであるため、以下、実施形態１と同じ部分については同じ符号を付し、相違点についてのみ説明する（実施形態３〜８についても同様とする）。
【００３７】
前記エラー検出手段７５は、カウント手段１２に接続されており、このカウント手段１２から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図８に示すように、エラー検出手段７５にデータ保持手段８６を接続しておき、このデータ保持手段８６で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図８に示す画像復号装置を用いた復号化処理について説明する。
【００３８】
図９は、本発明の実施形態２に係る画像復号装置における復号化処理手順を示すフローチャート図である。図９に示すように、ステップＳ９０１で、カウント手段１２におけるカウント値を初期化する。次に、ステップＳ９０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００３９】
次に、ステップＳ９０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ９０３での判定が「ＮＯ」の場合には、ステップＳ９０４に分岐し、ステップＳ９０４で、カウント手段１２のカウント値が６４以上かどうかを判定する。
【００４０】
ステップＳ９０４での判定が「ＮＯ」の場合には、ステップＳ９０５に分岐してゼロデータを出力データ生成手段１４に出力し、ステップＳ９０６に進む。そして、ステップＳ９０６で、カウント手段１２のカウント値をカウントアップし、ステップＳ９０７に進む。
【００４１】
ステップＳ９０４での判定が「ＹＥＳ」の場合には、ステップＳ９１６に分岐して、ステップＳ９１６でカウント手段１２のカウント値をカウントアップしてステップＳ９１７に進む。そして、ステップＳ９１７で、エラー検出手段８５において、あらかじめデータ保持手段８６に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【００４２】
ステップＳ９１７での判定が「ＹＥＳ」の場合には、ステップＳ９０７に分岐して復号化処理を続行する。ステップＳ９１７での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段８５からエラー検出信号を出力して復号化処理を終了する。
【００４３】
ステップＳ９０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ９０３に進む。このような処理を繰り返すことで、最終的にステップＳ９０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１２のカウント値をカウントアップしてからステップＳ９０８に進むこととなる。
【００４４】
ステップＳ９０８で、カウント手段１２のカウント値が６４以上かどうかを判定する。ステップＳ９０８での判定が「ＮＯ」の場合には、ステップＳ９０９に分岐し、ステップＳ９０９で、ＬＥＶＥＬ（非ゼロデータ）を出力データ生成手段１４に出力してステップＳ９１０に進む。そして、ステップＳ９１０で、カウント手段１２のカウント値をカウントアップし、ステップＳ９１１に進む。
【００４５】
ステップＳ９０８での判定が「ＹＥＳ」の場合には、ステップＳ９１４に分岐して、ステップＳ９１４でカウント手段１２のカウント値をカウントアップしてステップＳ９１５に進む。そして、ステップＳ９１５で、エラー検出手段８５において、あらかじめデータ保持手段８６に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【００４６】
ステップＳ９１５での判定が「ＹＥＳ」の場合には、ステップＳ９１１に分岐して復号化処理を続行する。ステップＳ９１５での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段８５からエラー検出信号を出力して復号化処理を終了する。
【００４７】
次に、ステップＳ９１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ９１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ９０２に分岐して次の符号を復号化する。ステップＳ９１１での判定が「ＹＥＳ」の場合には、ステップＳ９１２に分岐する。
【００４８】
ステップＳ９１２で、カウント手段１２のカウント値が６４以上であるかを判定する。ステップＳ９１２での判定が「ＮＯ」の場合には、ステップＳ９１３に分岐し、ステップＳ９１３で、ゼロデータを出力データ生成手段１４に出力して、再びステップＳ９１２に進む。ステップＳ９１２での判定が「ＹＥＳ」の場合には、Ｂｌｏｃｋの復号化を終了する。このような処理を繰り返すことで、結果的にカウント値が６４になるまでゼロデータが出力データ生成手段１４に出力されてから復号化が終了するようになっている。
【００４９】
すなわち、データが６４個を超えてもＬＡＳＴの値が“１”にならないような規格違反の符号化データが入力された場合であっても、復号化手段１１において復号処理を続行することができる。
【００５０】
そして、有効判定手段１３から出力データ生成手段１４に対して無効を示す信号が出力されるため、結果的に６４番目以降のデータは出力されることはなく、ＬＡＳＴの値が“１”になったとき、Ｂｌｏｃｋの復号化が終了する。ここで、あらかじめデータ保持手段８６にカウント最大値を与えておけば、任意の復号データ数でエラーを通知して復号化処理を終了させることができる。この場合、符号データとの同期は、次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像に対しては、同じ位置にある１つ前に表示した画像を表示するようにしている。
【００５１】
このように、本実施形態２に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに任意のデータ量以上の符号化データを復号化しても境界を示す符号が検出されずに１ブロックの処理が終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができる。
【００５２】
＜実施形態３＞
図１０は、本発明の実施形態３に係る画像復号装置の全体構成を示すブロック図である。前記実施形態２との違いは、符号化データのビット数をカウントする第２のカウント手段を設けた点のみであるため、以下、実施形態２と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００５３】
前記第２のカウント手段１０５は、復号化手段１１に接続されており、この復号化手段１１で符号化データを復号化した際に消費した符号化データのビット数をカウントするものである。そして、第２のカウント手段１０５から出力されたカウント値がエラー検出手段１０６に入力される。
【００５４】
前記エラー検出手段１０６は、前記第２のカウント手段１０５から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図１１に示すように、エラー検出手段１０６にデータ保持手段１１７を接続しておき、このデータ保持手段１１７で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図１１に示す画像復号装置を用いた復号化処理について説明する。
【００５５】
図１２は、本発明の実施形態３に係る画像復号装置における復号化処理手順を示すフローチャート図である。図１２に示すように、ステップＳ１２０１で、カウント手段１２及び第２のカウント手段１０５におけるカウント値をそれぞれ初期化する。次に、ステップＳ１２０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００５６】
次に、ステップＳ１２１４で、復号した符号化データのビット数だけ第２のカウント手段１０５をカウントアップする。そして、ステップＳ１２１５で、エラー検出手段１０６において、あらかじめデータ保持手段１１７に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【００５７】
ステップＳ１２１５での判定が「ＹＥＳ」の場合には、ステップＳ１２０３に分岐して復号化処理を続行する。ステップＳ１２１５での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段１０６からエラー検出信号を出力して復号化処理を終了する。
【００５８】
次に、ステップＳ１２０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ１２０３での判定が「ＮＯ」の場合には、ステップＳ１２０４に分岐し、ステップＳ１２０４で、カウント手段１２のカウント値が６４以上かどうかを判定する。
【００５９】
ステップＳ１２０４での判定が「ＮＯ」の場合には、ステップＳ１２０５に分岐してゼロデータを出力データ生成手段１４に出力し、ステップＳ１２０６に進む。そして、ステップＳ１２０６で、カウント手段１２のカウント値をカウントアップし、ステップＳ１２０７に進む。ステップＳ１２０４での判定が「ＹＥＳ」の場合には、データの出力は行われないままステップＳ１２０７に分岐する。
【００６０】
ステップＳ１２０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ１２０３に進む。このような処理を繰り返すことで、最終的にステップＳ１２０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１２のカウント値をカウントアップしてからステップＳ１２０８に進むこととなる。
【００６１】
ステップＳ１２０８で、カウント手段１２のカウント値が６４以上かどうかを判定する。ステップＳ１２０８での判定が「ＮＯ」の場合には、ステップＳ１２０９に分岐し、ステップＳ１２０９で、ＬＥＶＥＬ（非ゼロデータ）を出力データ生成手段１４に出力してステップＳ１２１０に進む。そして、ステップＳ１２１０で、カウント手段１２のカウント値をカウントアップし、ステップＳ１２１１に進む。
【００６２】
ステップＳ１２０８での判定が「ＹＥＳ」の場合には、ステップＳ１２１１に分岐して、ステップＳ１２１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ１２１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ１２０２に分岐して次の符号を復号化する。ステップＳ１２１１での判定が「ＹＥＳ」の場合には、ステップＳ１２１２に分岐する。
【００６３】
ステップＳ１２１２で、カウント手段１２のカウント値が６４以上であるかを判定する。ステップＳ１２１２での判定が「ＮＯ」の場合には、ステップＳ１２１３に分岐し、ステップＳ１２１３で、ゼロデータを出力データ生成手段１４に出力して、再びステップＳ１２１２に進む。ステップＳ１２１２での判定が「ＹＥＳ」の場合には、Ｂｌｏｃｋの復号化を終了する。このような処理を繰り返すことで、結果的にカウント値が６４になるまでゼロデータが出力データ生成手段１４に出力されてから復号化が終了するようになっている。
【００６４】
すなわち、データが６４個を超えてもＬＡＳＴの値が“１”にならないような規格違反の符号化データが入力された場合であっても、復号化手段１１において復号処理を続行することができる。
【００６５】
そして、有効判定手段１３から出力データ生成手段１４に対して無効を示す信号を出力されるため、結果的に６４番目以降のデータは出力されることはなく、ＬＡＳＴの値が“１”になったとき、Ｂｌｏｃｋの復号化を終了する。ここで、あらかじめデータ保持手段１１７にカウント最大値を与えておけば、任意のビット数でエラーを通知して復号化処理を終了させることができる。これは、例えばＭＰＥＧ４ではＲＳＭは一定長のビット数ごとにあり、１Ｂｌｏｃｋの復号化でＲＳＭの間隔以上のビット数の復号化が続くことはあり得ないため、カウント最大値としてＲＳＭの間隔を設定することが効果的である。この場合、符号データとの同期は、次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像に対しては、同じ位置にある１つ前に表示した画像を表示するようにしている。
【００６６】
このように、本実施形態３に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに任意のデータ量以上の符号化データを復号化しても境界を示す符号が検出されずに１ブロックの処理が終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができ、また符号ビットの構成によって最適な最大値を設定することができる。
【００６７】
＜実施形態４＞
図１３は、本発明の実施形態４に係る画像復号装置の全体構成を示すブロック図である。前記実施形態２との違いは、システムクロックのクロック数をカウントする第２のカウント手段を設けた点のみであるため、以下、実施形態２と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００６８】
前記第２のカウント手段１３５は、システムクロックのクロック数をカウントするものであり、そのカウント値がエラー検出手段１３６に出力される。
【００６９】
前記エラー検出手段１３６は、前記第２のカウント手段１３５から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図１４に示すように、エラー検出手段１３６にデータ保持手段１４７を接続しておき、このデータ保持手段１４７で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図１４に示す画像復号装置を用いた復号化処理について説明する。
【００７０】
図１５は、本発明の実施形態４に係る画像復号装置における復号化処理手順を示すフローチャート図である。図１５に示すように、本実施形態４では、システムクロックのクロック数をカウントする処理Ａと、復号後データのデータ数をカウントする処理Ｂとが並列的に処理されている。
【００７１】
まず、前記処理Ａにおいては、ステップＳ１５１４で、第２のカウント手段１０５におけるカウント値を初期化する。次に、ステップＳ１５１５で、システムクロックのクロック数をカウントアップする。そして、ステップＳ１５１６で、エラー検出手段１３６において、あらかじめデータ保持手段１４７に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【００７２】
ステップＳ１５１６での判定が「ＹＥＳ」の場合には、ステップＳ１５１５に分岐して処理を続行する。ステップＳ１５１６での判定が「ＮＯ」の場合には、エラーであると判定して、エラー検出手段１３６からエラー検出信号を出力して復号化処理を終了する。
【００７３】
一方、前記処理Ｂにおいては、まず、Ｓ１５０１で、カウント手段１２におけるカウント値を初期化する。次に、ステップＳ１５０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００７４】
次に、ステップＳ１５０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ１５０３での判定が「ＮＯ」の場合には、ステップＳ１５０４に分岐し、ステップＳ１５０４で、カウント手段１２のカウント値が６４以上かどうかを判定する。
【００７５】
ステップＳ１５０４での判定が「ＮＯ」の場合には、ステップＳ１５０５に分岐してゼロデータを出力データ生成手段１４に出力し、ステップＳ１５０６に進む。そして、ステップＳ１５０６で、カウント手段１２のカウント値をカウントアップし、ステップＳ１５０７に進む。ステップＳ１５０４での判定が「ＹＥＳ」の場合には、データの出力は行われないままステップＳ１５０７に分岐する。
【００７６】
ステップＳ１５０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ１５０３に進む。このような処理を繰り返すことで、最終的にステップＳ１５０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１２のカウント値をカウントアップしてからステップＳ１５０８に進むこととなる。
【００７７】
ステップＳ１５０８で、カウント手段１２のカウント値が６４以上かどうかを判定する。ステップＳ１５０８での判定が「ＮＯ」の場合には、ステップＳ１５０９に分岐し、ステップＳ１５０９で、ＬＥＶＥＬ（非ゼロデータ）を出力データ生成手段１４に出力してステップＳ１５１０に進む。そして、ステップＳ１５１０で、カウント手段１２のカウント値をカウントアップし、ステップＳ１５１１に進む。
【００７８】
ステップＳ１５０８での判定が「ＹＥＳ」の場合には、ステップＳ１５１１に分岐して、ステップＳ１５１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ１５１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ１５０２に分岐して次の符号を復号化する。ステップＳ１５１１での判定が「ＹＥＳ」の場合には、ステップＳ１５１２に分岐する。
【００７９】
ステップＳ１５１２で、カウント手段１２のカウント値が６４以上であるかを判定する。ステップＳ１５１２での判定が「ＮＯ」の場合には、ステップＳ１５１３に分岐し、ステップＳ１５１３で、ゼロデータを出力データ生成手段１４に出力して、再びステップＳ１５１２に進む。ステップＳ１５１２での判定が「ＹＥＳ」の場合には、Ｂｌｏｃｋの復号化を終了する。このような処理を繰り返すことで、結果的にカウント値が６４になるまでゼロデータが出力データ生成手段１４に出力されてから復号化が終了するようになっている。
【００８０】
すなわち、データが６４個を超えてもＬＡＳＴの値が“１”にならないような規格違反の符号化データが入力された場合であっても、復号化手段１１において復号処理を続行することができる。
【００８１】
さらに、あらかじめデータ保持手段１４７にカウント最大値を与えておけば、任意のクロック数でエラーを通知して復号化処理を終了させることができる。これは、例えば画像を表示するための時間に間に合うように復号化又は１つ前に表示した画像の同じ位置を持ってくる等のエラー処理ができるように考慮して、クロック数をカウント最大値として設定することが効果的である。この場合、符号データとの同期は次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像に対しては、同じ位置にある１つ前に表示した画像を表示する。
【００８２】
このように、本実施形態４に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに任意のデータ量以上の符号化データを復号化しても境界を示す符号が検出されずに１ブロックの処理を終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができ、また表示時間やエラー発生後の処理時間を考慮して、最適な最大値を設定することができる。
【００８３】
＜実施形態５＞
図１６は、本発明の実施形態５に係る画像復号装置の全体構成を示すブロック図である。図１に示すように、１６１は画像復号装置に入力された符号ビット列を復号化処理する復号化手段であり、復号後のデータは復号後データ保持手段１６３に入力される。さらに、この復号化手段１６１からは、符号ビット列を復号したときに得られた復号後データ数の情報がカウント手段１６２に出力され、符号化データのＭＢの境界を示す符号を検出したかどうかを示す境界検出信号が前記復号後データ保持手段１６３に出力される。
【００８４】
前記カウント手段１６２は、復号化されたデータの個数をカウントするものであり、そのカウント値が前記復号後データ保持手段１６３に出力される。この復号後データ保持手段１６３は、前記復号化手段１６１から入力された復号後データを、カウント手段１６２から入力されたカウント値をアドレスとして保持するものである。そして、前記復号化手段１６１から入力される境界検出信号をトリガにしてデータを出力するようにしている。例えば、ＭＰＥＧ４方式の場合には、１Ｂｌｏｃｋの復号後データは６４個なので、復号後データ保持手段１６３は６４個のデータを保持する領域を持っている。
【００８５】
図１７は、本発明の実施形態５に係る画像復号装置における復号化処理手順を示すフローチャート図である。図１７に示すように、ステップＳ１７０１で、カウント手段１６２及び復号後データ保持手段１６３をそれぞれ初期化する。なお、復号後データ保持手段１６３の初期化は、例えば、ＭＰＥＧ４の場合は“０”で初期化することが好ましい。次に、ステップＳ１７０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００８６】
次に、ステップＳ１７０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ１７０３での判定が「ＮＯ」の場合には、ステップＳ１７０４に分岐し、ステップＳ１７０４で、カウント手段１６２のカウント値が６４以上かどうかを判定する。
【００８７】
ステップＳ１７０４での判定が「ＮＯ」の場合には、ステップＳ１７０５に分岐して復号後データ保持手段１６３にゼロデータを保持し、ステップＳ１７０６に進む。ステップＳ１７０４での判定が「ＹＥＳ」の場合には、カウント手段１６２が復号後データ保持手段１６３にわたすアドレスが保持領域を超えていることから、データ保持を行わずにステップＳ１７０６に分岐する。
【００８８】
そして、ステップＳ１７０６で、カウント手段１６２のカウント値をカウントアップし、ステップＳ１７０７に進む。ステップＳ１７０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ１７０３に進む。このような処理を繰り返すことで、最終的にステップＳ１７０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１６２のカウント値をカウントアップしてからステップＳ１７０８に進むこととなる。
【００８９】
ステップＳ１７０８で、カウント手段１６２のカウント値が６４以上かどうかを判定する。ステップＳ１７０８での判定が「ＮＯ」の場合には、ステップＳ１７０９に分岐し、ステップＳ１７０９で、ＬＥＶＥＬ（非ゼロデータ）を復号後データ保持手段１６３に保持してステップＳ１７１０に進む。ステップＳ１７０８での判定が「ＹＥＳ」の場合には、データ保持を行わずにステップＳ１７１０に分岐する。そして、ステップＳ１７１０で、カウント手段１６２のカウント値をカウントアップし、ステップＳ１７１１に進む。
【００９０】
ステップＳ１７１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ１７１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ１７０２に分岐して次の符号を復号化する。ステップＳ１７１１での判定が「ＹＥＳ」の場合には、ステップＳ１７１２に分岐して、ステップＳ１７１２で、復号後データ保持手段１６３に保持しているデータを全て出力して復号化を終了する。
【００９１】
すなわち、データが６４個を超えてもＬＡＳＴの値が“１”にならないような規格違反の符号化データが入力された場合であっても、復号化手段１６１において復号処理を続行することができる。
【００９２】
そして、復号後データ保持手段１６３は６４番目以降のデータを保持することができないため、結果的に６４番目以降のデータは出力されることはなく、ＬＡＳＴの値が“１”になったとき、復号後データ保持手段１６３からデータを出力してＢｌｏｃｋの復号化を終了する。
【００９３】
このように、本実施形態５に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに、次のＲＳＭやスタートコードまでの間、同期をとるために画像をスキップする必要がなくなる。
【００９４】
＜実施形態６＞
図１８は、本発明の実施形態６に係る画像復号装置の全体構成を示すブロック図である。前記実施形態５との違いは、エラー検出手段を設けた点のみであるため、以下、実施形態１と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００９５】
前記エラー検出手段１８４は、カウント手段１６２に接続されており、このカウント手段１６２から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図１９に示すように、エラー検出手段１８４にデータ保持手段１９５を接続しておき、このデータ保持手段１９５で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図１９に示す画像復号装置を用いた復号化処理について説明する。
【００９６】
図２０は、本発明の実施形態６に係る画像復号装置における復号化処理手順を示すフローチャート図である。図２０に示すように、ステップＳ２００１で、カウント手段１６２及び復号後データ保持手段１６３をそれぞれ初期化する。なお、復号後データ保持手段１６３の初期化は、例えば、ＭＰＥＧ４の場合は“０”で初期化することが好ましい。次に、ステップＳ２００２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【００９７】
次に、ステップＳ２００３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ２００３での判定が「ＮＯ」の場合には、ステップＳ２００４に分岐し、ステップＳ２００４で、カウント手段１６２のカウント値が６４以上かどうかを判定する。
【００９８】
ステップＳ２００４での判定が「ＮＯ」の場合には、ステップＳ２００５に分岐して復号後データ保持手段１６３にゼロデータを保持し、ステップＳ２００６に進む。ステップＳ２００４での判定が「ＹＥＳ」の場合には、カウント手段１６２が復号後データ保持手段１６３にわたすアドレスが保持領域を超えていることから、データ保持を行わずにステップＳ２００６に分岐する。そして、ステップＳ２００６で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２０１３に進む。
【００９９】
ステップＳ２０１３で、エラー検出手段１８４において、あらかじめデータ保持手段１９５に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【０１００】
ステップＳ２０１３での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段１８４からエラー検出信号を出力して復号化処理を終了する。ステップＳ２０１３での判定が「ＹＥＳ」の場合には、ステップＳ２００７に分岐して、ステップＳ２００７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ２００３に進む。このような処理を繰り返すことで、最終的にステップＳ２００３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１６２のカウント値をカウントアップしてからステップＳ２００８に進むこととなる。
【０１０１】
ステップＳ２００８で、カウント手段１６２のカウント値が６４以上かどうかを判定する。ステップＳ２００８での判定が「ＮＯ」の場合には、ステップＳ２００９に分岐し、ステップＳ２００９で、ＬＥＶＥＬ（非ゼロデータ）を復号後データ保持手段１６３に保持してステップＳ２０１０に進む。ステップＳ２００８での判定が「ＹＥＳ」の場合には、データ保持を行わずにステップＳ２０１０に分岐する。そして、ステップＳ２０１０で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２０１４に進む。
【０１０２】
ステップＳ２０１４で、エラー検出手段１８４において、あらかじめデータ保持手段１９５に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【０１０３】
ステップＳ２０１４での判定が「ＹＥＳ」の場合には、ステップＳ２０１１に分岐して復号化処理を続行する。ステップＳ２０１４での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段１８４からエラー検出信号を出力して復号化処理を終了する。
【０１０４】
ステップＳ２０１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ２０１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ２００２に分岐して次の符号を復号化する。ステップＳ２０１１での判定が「ＹＥＳ」の場合には、ステップＳ２０１２に分岐して、ステップＳ２０１２で、復号後データ保持手段１６３に保持しているデータを全て出力して復号化を終了する。
【０１０５】
すなわち、あらかじめデータ保持手段１９５にカウント最大値を与えておけば、任意の復号データ数でエラーを通知して復号化処理を終了させることができる。この場合、符号データとの同期は、次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像に対しては、同じ位置にある１つ前に表示した画像を表示するようにしている。
【０１０６】
このように、本実施形態６に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに、任意のデータ量以上の符号化データを復号化しても境界を示す符号が検出されずに１ブロックの処理が終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができる。
【０１０７】
＜実施形態７＞
図２１は、本発明の実施形態７に係る画像復号装置の全体構成を示すブロック図である。前記実施形態６との違いは、符号化データのビット数をカウントする第２のカウント手段を設けた点のみであるため、以下、実施形態６と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【０１０８】
前記第２のカウント手段２１４は、復号化手段１６１に接続されており、この復号化手段１６１で符号化データを復号化した際に消費した符号化データのビット数をカウントするものである。そして、第２のカウント手段２１４から出力されたカウント値がエラー検出手段２１５に入力される。
【０１０９】
前記エラー検出手段２１５は、前記第２のカウント手段２１４から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図２２に示すように、エラー検出手段２１５にデータ保持手段２２６を接続しておき、このデータ保持手段２２６で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図２２に示す画像復号装置を用いた復号化処理について説明する。
【０１１０】
図２３は、本発明の実施形態７に係る画像復号装置における復号化処理手順を示すフローチャート図である。図２３に示すように、ステップＳ２３０１で、カウント手段１６２及び復号後データ保持手段１６３をそれぞれ初期化する。なお、復号後データ保持手段１６３の初期化は、例えば、ＭＰＥＧ４の場合は“０”で初期化することが好ましい。次に、ステップＳ２００２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【０１１１】
次に、ステップＳ２３１３で、復号した符号化データのビット数だけ第２のカウント手段２１４をカウントアップする。そして、ステップＳ２３１４で、エラー検出手段２１５において、あらかじめデータ保持手段２２６に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【０１１２】
ステップＳ２３１４での判定が「ＹＥＳ」の場合には、ステップＳ２３０３に分岐して復号化処理を続行する。ステップＳ２３１４での判定が「ＮＯ」の場合には、エラーであると判定してエラー検出手段２１５からエラー検出信号を出力して復号化処理を終了する。
【０１１３】
次に、ステップＳ２３０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ２３０３での判定が「ＮＯ」の場合には、ステップＳ２３０４に分岐し、ステップＳ２３０４で、カウント手段１６２のカウント値が６４以上かどうかを判定する。
【０１１４】
ステップＳ２３０４での判定が「ＮＯ」の場合には、ステップＳ２３０５に分岐して復号後データ保持手段１６３にゼロデータを保持し、ステップＳ２３０６に進む。ステップＳ２３０４での判定が「ＹＥＳ」の場合には、カウント手段１６２が復号後データ保持手段１６３にわたすアドレスが保持領域を超えていることから、データ保持を行わずにステップＳ２３０６に分岐する。そして、ステップＳ２３０６で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２３０７に進む。
【０１１５】
ステップＳ２３０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ２３０３に進む。このような処理を繰り返すことで、最終的にステップＳ２３０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１６２のカウント値をカウントアップしてからステップＳ２３０８に進むこととなる。
【０１１６】
ステップＳ２３０８で、カウント手段１６２のカウント値が６４以上かどうかを判定する。ステップＳ２３０８での判定が「ＮＯ」の場合には、ステップＳ２３０９に分岐し、ステップＳ２３０９で、ＬＥＶＥＬ（非ゼロデータ）を復号後データ保持手段１６３に保持してステップＳ２３１０に進む。ステップＳ２３０８での判定が「ＹＥＳ」の場合には、データ保持を行わずにステップＳ２３１０に分岐する。そして、ステップＳ２３１０で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２３１１に進む。
【０１１７】
ステップＳ２３１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ２３１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ２３０２に分岐して次の符号を復号化する。ステップＳ２３１１での判定が「ＹＥＳ」の場合には、ステップＳ２３１２に分岐して、ステップＳ２３１２で、復号後データ保持手段１６３に保持しているデータを全て出力して復号化を終了する。
【０１１８】
すなわち、あらかじめデータ保持手段２２６にカウント最大値を与えておけば、任意の復号データ数でエラーを通知して復号化処理を終了させることができる。これは、例えばＭＰＥＧ４ではＲＳＭは一定長のビット数ごとにあり、１Ｂｌｏｃｋの復号化でＲＳＭの間隔以上のビット数の復号化が続くことはあり得ないため、カウント最大値としてＲＳＭの間隔を設定することが効果的である。この場合、符号データとの同期は次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像に対しては、同じ位置にある１つ前に表示した画像を表示するようにしている。
【０１１９】
このように、本実施形態７に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに、任意のデータ量以上符号化データを復号化しても境界を示す符号が検出されず１ブロックの処理を終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができ、また符号ビットの構成によって最適な最大値を設定することができる。
【０１２０】
＜実施形態８＞
図２４は、本発明の実施形態８に係る画像復号装置の全体構成を示すブロック図である。前記実施形態６との違いは、システムクロックのクロック数をカウントする第２のカウント手段を設けた点のみであるため、以下、実施形態６と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【０１２１】
前記第２のカウント手段２４４は、システムクロックのクロック数をカウントするものであり、そのカウント値がエラー検出手段２４５に出力される。
【０１２２】
前記エラー検出手段２４５は、前記第２のカウント手段２４４から入力されたカウント値が、許容される最大値を超えたときにエラーを通知するようになっている。なお、図２５に示すように、エラー検出手段２４５にデータ保持手段２５６を接続しておき、このデータ保持手段２５６で前記カウンタ最大値を設定するようにすれば、カウンタ最大値を任意の値に設定することができてより好ましい。以下、図２５に示す画像復号装置を用いた復号化処理について説明する。
【０１２３】
図２６は、本発明の実施形態８に係る画像復号装置における復号化処理手順を示すフローチャート図である。図２６に示すように、本実施形態８では、システムクロックのクロック数をカウントする処理Ａと、復号後データのデータ数をカウントする処理Ｂとが並列的に処理されている。
【０１２４】
まず、前記処理Ａにおいては、ステップＳ２６１４で、復号後データ保持手段１６３を初期化する。なお、復号後データ保持手段１６３の初期化は、例えば、ＭＰＥＧ４の場合は“０”で初期化することが好ましい。次に、ステップＳ２６１５で、第２のカウント手段２４４においてシステムクロックのクロック数をカウントアップする。そして、ステップＳ２６１６で、エラー検出手段２４５において、あらかじめデータ保持手段２５６に保持しているカウント最大値とカウント値とを比較し、カウント値がカウント最大値よりも大きいかを判定する。
【０１２５】
ステップＳ２６１６での判定が「ＹＥＳ」の場合には、ステップＳ２６１５に分岐して処理を続行する。ステップＳ２６１６での判定が「ＮＯ」の場合には、エラーであると判定して、エラー検出手段２４５からエラー検出信号を出力して復号化処理を終了する。
【０１２６】
一方、前記処理Ｂにおいては、まず、Ｓ２６０１で、カウント手段１６２におけるカウント値を初期化する。次に、ステップＳ２６０２で、Ｂｌｏｃｋの最初の符号を復号する。これにより、ＲＵＮ、ＬＥＶＥＬ、ＬＡＳＴの値をそれぞれ取得する。
【０１２７】
次に、ステップＳ２６０３で、ＲＵＮの値が“０”であるかを判定する。ステップＳ２６０３での判定が「ＮＯ」の場合には、ステップＳ２６０４に分岐し、ステップＳ２６０４で、カウント手段１６２のカウント値が６４以上かどうかを判定する。
【０１２８】
ステップＳ２６０４での判定が「ＮＯ」の場合には、ステップＳ２６０５に分岐して復号後データ保持手段１６３にゼロデータを保持し、ステップＳ２６０６に進む。ステップＳ２６０４での判定が「ＹＥＳ」の場合には、カウント手段１６２が復号後データ保持手段１６３にわたすアドレスが保持領域を超えていることから、データ保持を行わずにステップＳ２６０６に分岐する。そして、ステップＳ２６０６で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２６０７に進む。
【０１２９】
ステップＳ２６０７で、ＲＵＮの値を現在値よりも１だけマイナスして再びステップＳ２６０３に進む。このような処理を繰り返すことで、最終的にステップＳ２６０３での判定が「ＹＥＳ」となり、ＲＵＮの数だけカウント手段１６２のカウント値をカウントアップしてからステップＳ２６０８に進むこととなる。
【０１３０】
ステップＳ２６０８で、カウント手段１６２のカウント値が６４以上かどうかを判定する。ステップＳ２６０８での判定が「ＮＯ」の場合には、ステップＳ２６０９に分岐し、ステップＳ２６０９で、ＬＥＶＥＬ（非ゼロデータ）を復号後データ保持手段１６３に保持してステップＳ２６１０に進む。ステップＳ２６０８での判定が「ＹＥＳ」の場合には、データ保持を行わずにステップＳ２３１０に分岐する。そして、ステップＳ２６１０で、カウント手段１６２のカウント値をカウントアップし、ステップＳ２６１１に進む。
【０１３１】
ステップＳ２６１１で、ＬＡＳＴの値が“１”であるかを判定する。ステップＳ２６１１での判定が「ＮＯ」（ＬＡＳＴの値が“０”）の場合には、ステップＳ２６０２に分岐して次の符号を復号化する。ステップＳ２６１１での判定が「ＹＥＳ」の場合には、ステップＳ２６１２に分岐して、ステップＳ２６１２で、復号後データ保持手段１６３に保持しているデータを全て出力して復号化を終了する。
【０１３２】
すなわち、あらかじめデータ保持手段２５６にカウント最大値を与えておけば、任意のクロック数でエラーを通知して復号化を終了させることができる。これは、例えば画像の表示時間は固定であるので、視覚的に画像が飛ぶこと等が発生しない程度のクロック数をカウント最大値として設定することが効果的である。この場合、符号データとの同期は次のＲＳＭ又はＶＯＰスタートコードをサーチして再同期し、その間、スキップした画像は同じ位置にある１つ前に表示した画像を表示する。
【０１３３】
このように、本実施形態８に係る画像復号装置によれば、データが６４個を超えてしまうような規格違反の符号化データであっても、符号化データと同期を失うことなく復号化を続行できる。さらに、任意のデータ量以上の符号化データを復号化しても境界を示す符号が検出されずに１ブロックの処理を終わらない場合であっても、エラーを通知して復号化を終了させることができ、次のＲＳＭやＶＯＰスタートコードまでの間、符号化データの同期をとるために画像をスキップするかどうか自由に設定することができ、また表示時間やエラー発生後の処理時間を考慮して、最適な最大値を設定することができる。
【産業上の利用可能性】
【０１３４】
本発明にかかる画像復号装置は、画像の復号化におけるエラー耐性を強化することができるという実用性の高い効果が得られることから、きわめて有用で産業上の利用可能性は高い。
【図面の簡単な説明】
【０１３５】
【図１】代表的な符号化データの構成を示す図である。
【図２】ＭＰＥＧ４の標準的な画像データの符号化データ構成を示す図である。
【図３】Ｂｌｏｃｋの符号化データの構成を示す図である。
【図４】Ｂｌｏｃｋの復号化のフローチャート図である。
【図５】本実施形態１の画像復号装置の全体構成を示すブロック図である。
【図６】本実施形態１における復号化処理手順を示すフローチャート図である。
【図７】本実施形態２の画像復号装置の全体構成を示すブロック図である。
【図８】本実施形態２の画像復号装置の他の全体構成を示すブロック図である。
【図９】本実施形態２における復号化処理手順を示すフローチャート図である。
【図１０】本実施形態３の画像復号装置の全体構成を示すブロック図である。
【図１１】本実施形態３の画像復号装置の他の全体構成を示すブロック図である。
【図１２】本実施形態３の復号化処理手順を示すフローチャート図である。
【図１３】本実施形態４の画像復号装置の全体構成を示すブロック図である。
【図１４】本実施形態４の画像復号装置の他の全体構成を示すブロック図である。
【図１５】本実施形態４の復号化処理手順を示すフローチャート図である。
【図１６】本実施形態５の画像復号装置の全体構成を示すブロック図である。
【図１７】本実施形態５の復号化処理手順を示すフローチャート図である。
【図１８】本実施形態６の画像復号装置の全体構成を示すブロック図である。
【図１９】本実施形態６の画像復号装置の他の全体構成を示すブロック図である。
【図２０】本実施形態６の復号化処理手順を示すフローチャート図である。
【図２１】本実施形態７の画像復号装置の全体構成を示すブロック図である。
【図２２】本実施形態７の画像復号装置の全体構成を示すブロック図である。
【図２３】本実施形態７の復号化処理手順を示すフローチャート図である。
【図２４】本実施形態８の画像復号装置の全体構成を示す図である。
【図２５】本実施形態８の画像復号装置の他の全体構成を示す図である。
【図２６】本実施形態８の復号化処理手順のフローチャート図である。
【符号の説明】
【０１３６】
１１    復号化手段
１２    カウント手段
１３    有効判定手段
１４    出力データ生成手段
７５    エラー検出手段
８６    データ保持手段
１０５    第２のカウント手段
１６１    復号化手段
１６２    カウント手段
１６３    復号後データ保持手段
１８４    エラー検出手段
１９５    データ保持手段
２１４    第２のカウント手段
２２６    データ保持手段
【図１】
2006211253.tif 000003
【図２】
2006211253.tif 000004
【図３】
2006211253.tif 000005
【図４】
2006211253.tif 000006
【図５】
2006211253.tif 000007
【図６】
2006211253.tif 000008
【図７】
2006211253.tif 000009
【図８】
2006211253.tif 000010
【図９】
2006211253.tif 000011
【図１０】
2006211253.tif 000012
【図１１】
2006211253.tif 000013
【図１２】
2006211253.tif 000014
【図１３】
2006211253.tif 000015
【図１４】
2006211253.tif 000016
【図１５】
2006211253.tif 000017
【図１６】
2006211253.tif 000018
【図１７】
2006211253.tif 000019
【図１８】
2006211253.tif 000020
【図１９】
2006211253.tif 000021
【図２０】
2006211253.tif 000022
【図２１】
2006211253.tif 000023
【図２２】
2006211253.tif 000024
【図２３】
2006211253.tif 000025
【図２４】
2006211253.tif 000026
【図２５】
2006211253.tif 000027
【図２６】
2006211253.tif 000028