(57)【要約】【課題】  ハードウェアデコーダで復号すると、符号誤りが検出された時点で復号処理が終了してしまい画像の復元性が低かった。【解決手段】  符号化画像データを復号する画像復号回路１００にて、エラー検出回路１４、１８、２２は、符号化画像データの復号中に符号誤りを検出する。リスタートマーカ検索回路２８は、符号誤りが検出された後、次に現れる領域内に閉じた復号が可能な独立領域の位置を示す識別符号を検索する。補充回路３０は、符号誤りが検出された箇所から識別符号が検索された箇所の間に、所定のダミー画像を補充する。【選択図】  図２
2006345046.tif 000002
【特許請求の範囲】
【請求項１】
領域内に閉じた復号が可能な独立領域と、他の領域からの差分情報を利用して復号される従属領域とを含む符号化画像データを復号する画像復号回路であって、
符号化画像データの復号中に符号誤りを検出するエラー検出回路と、
前記符号誤りが検出された後、次に現れる独立領域の位置を示す識別符号を検索する検索回路と、
前記符号誤りが検出された箇所から前記識別符号が検索された箇所の間に、所定のダミー画像を補充する補充回路と、
を備えることを特徴とする画像復号回路。
【請求項２】
前記エラー検出回路は、符号誤りを検出するとホストプロセッサに通知し、
前記検索回路および前記補充回路は、そのホストプロセッサの指示を受けて、動作を開始することを特徴とする請求項１に記載の画像復号回路。
【請求項３】
前記エラー検出回路が符号誤りを検出すると、復号処理を中断し、前記ホストプロセッサからの指示を待つことを特徴とする請求項２に記載の画像復号回路。
【請求項４】
前記エラー検出回路は、エントロピー復号に必要な符号テーブルに含まれない符号が前記符号化画像データ中に含まれているかを検出することを特徴とする請求項１から３のいずれかに記載の画像復号回路。
【請求項５】
前記エラー検出回路は、前記独立領域の所在を示すリスタートマーカの位置または順番に誤りがあるか否かを検出することを特徴とする請求項１から４のいずれかに記載の画像復号回路。
【請求項６】
同一半導体基板上に集積化されたことを特徴とする請求項１から５のいずれかに記載の画像復号回路。
【請求項７】
請求項１から６のいずれかに記載の画像復号回路と、
前記画像復号回路に符号化画像データの復号を依頼するホストプロセッサと、
を備えることを特徴とする画像復号システム。
【請求項８】
前記ホストプロセッサは、前記画像復号回路からダミー画像の補充終了の通知を受けると、前記画像復号回路に復号処理の再開を指示することを特徴とする請求項７に記載の画像復号システム。
【請求項９】
請求項７または８に記載の画像復号システムを搭載する電子機器であって、
前記画像復号システムにて復号された画像を表示する表示部を備えることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮された符号化画像データを復号する画像復号回路、画像復号システムおよびそれを搭載した電子機器に関する。
【背景技術】
【０００２】
ＪＰＥＧ（Joint Photographic Experts Group）やＭＰＥＧ（Moving Picture Experts Group）などの形式で圧縮符号化された画像データが広く使用されている。通信中にノイズが重畳されたりなど様々な要因で、このような符号化画像データ内に符号誤りが発生する。符号誤りを含む画像データを復号すると、原画像と異なる部分を含む表示画像となったり、復号処理が途中で停止してしまったりする。これに対し、符号化画像データを修復する技術が使用されている。例えば、特許文献１は、符号誤りを含む符号化画像データを修復するためのプログラムを開示する。
【０００３】
一方、符号化画像データは、ＰＣ、携帯電話機など各種の電子機器で使用される。このような電子機器にて、そのホストプロセッサの処理を軽減するため、符号化画像データを復号するための専用のハードウェアデコーダを搭載する場合がある。
【特許文献１】特開２００２−２７２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
符号誤りを含む符号化画像データをハードウェアデコーダで復号すると、符号誤りが検出された時点で復号処理が終了してしまい、その後の処理はすべてホストプロセッサに委ねられていた。したがって、符号誤りが検出された場合、ホストプロセッサの負荷が大きくなり、ハードウェアデコーダを別個に設けた趣旨がそこなわれてしまいがちだった。また、ホストプロセッサが修復処理をしなければ、符号誤りが検出された以降に正常なデータがあっても、その検出のときの復号段階の画像が表示されることになる。例えば、画像が半分しか表示されないということも発生しえる。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、ハードウェア資源で構成された画像復号回路を使用する場合にて、エラーを含む符号化画像データの復元性を向上させることができる画像復号回路、画像復号システムおよびそれを搭載した電子機器を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の画像復号回路は、領域内に閉じた復号が可能な独立領域と、他の領域からの差分情報を利用して復号される従属領域とを含む符号化画像データを復号する画像復号回路であって、符号化画像データの復号中に符号誤りを検出するエラー検出回路と、前記符号誤りが検出された後、次に現れる独立領域の位置を示す識別符号を検索する検索回路と、前記符号誤りが検出された箇所から前記識別符号が検索された箇所の間に、所定のダミー画像を補充する補充回路と、を備える。
【０００７】
この態様によると、ハードウェア資源で構成された画像復号回路に検索回路および補充回路を搭載したことにより、エラーを含む符号化画像データの復元性を向上させることができる。
【０００８】
エラー検出回路は、符号誤りを検出するとホストプロセッサに通知し、検索回路および補充回路は、そのホストプロセッサの指示を受けて、動作を開始してもよい。エラー検出回路が符号誤りを検出すると、復号処理を中断し、ホストプロセッサからの指示を待ってもよい。
【０００９】
この態様によると、専用の画像復号回路とホストプロセッサとを連携して復号処理する場合において、ホストプロセッサにかける負荷を抑制しながら、画像復号回路の規模も抑制できる。
【００１０】
エラー検出回路は、エントロピー復号に必要な符号テーブルに含まれない符号が符号化画像データ中に含まれているかを検出してもよい。エラー検出回路は、独立領域の所在を示すリスタートマーカの位置または順番に誤りがあるか否かを検出してもよい。エラー検出回路は、各ブロックの要素数が規定された要素数を超えるか否かを検出してもよい。エラー検出回路は、本画像復号回路がサポートしていないマーカが符号化画像データ中に含まれているかを検出してもよい。
【００１１】
本発明のさらに別の態様は、画像復号システムである。この画像復号システムは、上述した態様の画像復号回路と、画像復号回路に符号化画像データの復号を依頼するホストプロセッサと、を備える。この態様によると、画像復号回路内の検索回路および補充回路を利用して画像の修復処理を行うことにより、ホストプロセッサにかける負荷を抑制することができる。
【００１２】
ホストプロセッサは、画像復号回路からダミー画像の補充終了の通知を受けると、画像復号回路に復号処理の再開を指示してもよい。この態様によると、画像復号回路がダミー画像を補充したのち、正常と判断された部分の画像データの復号を再開することができる。
【００１３】
本発明のさらに別の態様は、電子機器である。この電子機器は、上述した態様の画像復号システムを搭載する電子機器であって、画像復号システムにて復号された画像を表示する表示部を備える。この態様によると、画像復号に関してホストプロセッサにかかる負荷が小さいため、他のアプリケーションを安定的に実行することができる。
【００１４】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、ハードウェア資源で構成された画像復号回路を使用する場合にて、エラーを含む符号化画像データの復元性を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の実施形態における画像復号システム５００の構成を示すブロック図である。画像復号システム５００は、画像復号回路１００およびＣＰＵ２００を含む。画像復号回路１００およびＣＰＵ２００はバスで接続される。画像復号回路１００は、一定の規則に基づいて符号化画像データを復号し、原画像に復元するハードウェア資源である。画像復号回路１００は、半導体基板上に集積化されて構成されてもよい。画像復号回路１００の詳細は後述する。
【００１７】
ＣＰＵ２００は、搭載される電子機器の全体を制御する。画像復号に関しては、図示しない通信インタフェースや記録媒体から入力された符号化画像データＣＩの復号処理を画像復号回路１００に依頼するため、その符号化画像データＣＩを画像復号回路１００に出力する。また、画像復号回路１００で復号された復号画像ＤＩを受け取り、図示しない表示部などに出力する。画像復号回路１００およびＣＰＵ２００は、画像データのやりとりの他に、復号中に符号誤りが検出された場合のリカバリー処理についての制御信号をやりとりする機能を有する。この制御信号のやりとりの詳細も後述する。
【００１８】
図２は、実施形態における画像復号回路１００の詳細を示すブロック図である。以下、画像復号回路１００がＪＰＥＧ圧縮された符号化画像データを復号する専用のハードウェア資源である例を説明する。画像復号回路１００は、マーカ検出回路１２、エントロピー復号回路１６、組立回路２０、逆量子化回路２４、逆ＤＣＴ（Discrete Cosine Transform）回路２６、リスタートマーカ検索回路２８および補充回路３０を含む。
【００１９】
マーカ検出回路１２は、入力される符号化画像データＣＩのビットストリームからマーカを検出する。マーカには、ＳＯＩ（Start OF Image)、ＥＯＩ（End OF Image)および後述するリスタートマーカなどがある。ＪＰＥＧでは１６ビットで記述され、"11111111"で始まる。マーカ検出回路１２は、検出したマーカにより、ストリーム中の画像の開始位置、終了位置およびＥＣＳ（Entropy-Coded Segment）の終了位置などを制御信号として、後段のエントロピー復号回路１６、組立回路２０、逆量子化回路２４および逆ＤＣＴ回路２６に通知する。
【００２０】
マーカ検出回路１２は、第１エラー検出回路１４を含む。第１エラー検出回路１４は、本画像復号回路１００で使用可能なマーカ以外の処理できないＮＧマーカを検出すると、ＣＰＵ２００にその旨を通知し、少なくともエントロピー復号回路１６および組立回路２０に処理を中断するよう指示する。
【００２１】
また、第１エラー検出回路１４は、後述するリスタートマーカのモジュロ値が不正である場合、ならびにリスタートマーカを正常位置より前で検出した場合および正常位置で検出できない場合もＣＰＵ２００にその旨を通知する。さらに、ＥＯＩ（End OF Image)マーカを正常位置より前で検出した場合もＣＰＵ２００にその旨を通知する。いずれの場合も、少なくとも組立回路２０およびエントロピー復号回路１６に処理を中断するよう指示する。リスタートマーカの間隔もフレームの要素数もヘッダ情報として与えられるため、ブロックの要素数と同様に容易に判断することができる。
【００２２】
エントロピー復号回路１６は、エントロピー符号化されている画像データを、それに先立ちて与えられる符号テーブルを参照して復号する。例えば、ハフマン符号化されている画像データを所定のハフマンテーブルを参照して復号する。エントロピー復号回路１６は、第２エラー検出回路１８を含む。第２エラー検出回路１８は、上記符号テーブルに記述されているエントロピー符号とストリーム中のエントロピー符号とを比較し、当該符号テーブルに存在しない符号を検出する。検出した場合、ＣＰＵ２００にその旨を通知し、少なくともマーカ検出回路１２および組立回路２０に処理を中断するよう指示する。
【００２３】
組立回路２０は、エントロピー復号されたビット列をブロック単位に組み立てる。演算量を低減するために、画像はブロックに分割されて符号化される。例えば、縦８×横８＝６４で単位ブロックを構成する。以下、この例で説明する。ブロックは、左上隅のＤＣＴ係数の直流成分を表し、その他のＤＣＴ係数が交流成分を表す。右下隅に近づくにしたがって低周波成分のＤＣＴ係数から高周波成分のＤＣＴ係数が配置される。低周波成分を優先するため、左上隅からジグザグに走査されて符号化される。組立回路２０は、この反対にジグザグにＤＣＴ係数を組み立てていく。
【００２４】
組立回路２０は、第３エラー検出回路２２を含む。第３エラー検出回路２２は、構築した各ブロックが規定の要素数を超える場合、上述した例では６４を超える場合、ＣＰＵ２００にその旨を通知し、少なくともマーカ検出回路１２およびエントロピー復号回路１６に処理を中断するよう指示する。
【００２５】
逆量子化回路２４は、ブロック単位に組み立てられたＤＣＴ係数を、それに先立ちて与えられる量子化テーブルを参照して逆量子化する。逆ＤＣＴ回路２６は、逆量子化された係数を逆ＤＣＴすることにより各ブロックに対応する部分画像を復元する。そして、単位フレームを構成する各ブロックを合成すれば、復号された原画像となる。この一連の復号処理を、Ｙ成分、Ｃｂ成分およびＣｒ成分のそれぞれについて実施するとカラー画像を復元することができる。なお、Ｙ成分、Ｃｂ成分およびＣｒ成分の代わりにＲ成分、Ｇ成分およびＢ成分でもよいし、別の表示系でもよい。
【００２６】
リスタートマーカ検索回路２８は、ＣＰＵ２００からリスタートマーカの検索を依頼されると、マーカ検出回路１２に現れる次のリスタートマーカを検索し、その検索結果をＣＰＵ２００に返す。補充回路３０は、ＣＰＵ２００から指示された補充開始位置から終了位置までの間にダミー画像を補充する。ダミー画像としては、例えば、青や黒などの無地の画像データを送出することができる。
【００２７】
ＣＰＵ２００は、少なくとも３種類の指示を出す。すなわち、次のリスタートマーカの検索指示、ダミー画像の送出指示、および復号再開指示である。ＣＰＵ２００は、次のリスタートマーカの検索指示をリスタートマーカ検索回路２８に出す場合、リスタートマーカ検索回路２８が次のリスタートマーカを検索するまでの期間、マーカ検出回路１２、エントロピー復号回路１６および組立回路２０に復号を再開するよう指示する。上記復号再開指示は、少なくともマーカ検出回路１２、エントロピー復号回路１６および組立回路２０に出される。
【００２８】
次に、リスタートマーカの詳細について説明する。ＪＰＥＧでは、ＤＣＴ係数を符号化する際、各ブロックの直流成分は、隣接するブロックと値が近い場合が多いため、基準となるブロック以降のブロックについては、前のブロックとの差分情報で表される。ＤＰＣＭ（Differential Pulse Code Modulation）方式などで符号化される。交流成分は、ブロックごとに独立で符号化される。
【００２９】
基準となるブロックの直流成分にエラーが発生すると、それ以降のブロックの直流成分がエラーとなってしまう。そこで、差分情報で符号化する場合の基準とすべき基本データを含むブロックを所定の間隔で設ける。リスタートマーカは、この再基準となるブロックの位置を表す。上記所定の間隔は、設計者が自由に設定することができる。リスタートマーカも１６ビットで記述され、"111111111101"で始まり、残りの４ビットにモジュロ値が記述される。モジュロ値は、ある整数をある整数で割った余りを示す。
【００３０】
図３は、リスタートマーカが設定された画像を示す。図３の画像は、ブロックが縦６×横７＝４２で構成される。左上隅のブロックＭＢ１が基準となるブロックである。この画像では、ブロック５個に１つの割合でリスタートマーカを設定している。したがって、８個のリスタートマーカが設定される。このリスタートマーカの下位４ビットは８のモジュロ値で記述され、０〜７の値が記述される。リスタートマーカは、０から７までインクリメントし、７まできたら０に復帰する。図３では、ＲＳＴ０〜ＲＳＴ７と記述している。
【００３１】
図３は、符号化画像データのストリーム中でエラーが発生し、偶然リスタートマーカＲＳＴ５のビット列と同様のビット列が出現した状態を示している。リスタートマーカＲＳＴ５ａがエラーにより偶然出現したものを示し、リスタートマーカＲＳＴ５ｂが正規のものを示す。上述したように、第３エラー検出回路２２は、正規の順番と異なるリスタートマーカＲＳＴ５ａを検出すると、ＣＰＵ２００にその旨を通知する。その後、リスタートマーカ検索回路２８は、ＣＰＵ２００の指示により次のリスタートマーカを検索すると、リスタートマーカＲＳＴ２を検出することができる。これにより、リスタートマーカＲＳＴ５ａがエラーであることを確認することができる。
【００３２】
図４は、エラーを含む符号化画像データを復号した画像を示す。図４（ａ）は、本実施形態の修復処理がなされた画像であり、図４（ｂ）は本実施形態の修復するための回路が搭載されていない画像復号回路で復号された画像である。図４（ａ）の画像は、本実施形態の修復処理により、エラーが検出された位置から次のリスタートマーカまでの間にダミー画像Ｄが補充されている。これに対し、図４（ｂ）は、エラーが検出された位置で復号処理が終了している。
【００３３】
図５は、実施形態における画像復号システム５００の修復処理を説明するためのフローチャートである。まず、第１エラー検出回路１４、第２エラー検出回路１８および第３エラー検出回路２２のいずれかがエラーを検出すると（Ｓ１０）、ＣＰＵ２００に通知する（Ｓ１２）。ＣＰＵ２００は、リスタートマーカ検索回路２８に次のリスタートマーカを検索するよう指示する（Ｓ１４）。リスタートマーカ検索回路２８は、次のリスタートマーカを検索し、検出した場合（Ｓ１６のＹ）、ＣＰＵ２００に通知する（Ｓ１８）。
【００３４】
ＣＰＵ２００は、リスタートマーカ検索回路２８から検出成功の通知を受けると、補充回路３０にエラー検出位置から検出したリスタートマーカまでの間にダミー画像Ｄを送出するよう指示する（Ｓ２０）。補充回路３０は、ダミー画像の補充が終了すると、ＣＰＵ２００に通知する（Ｓ２２）。ＣＰＵ２００は、補充回路３０から補充完了の通知を受けると、画像復号回路１００全体に復号処理を再開するよう指示する（Ｓ２４）。
【００３５】
以上説明したように本実施形態によれば、部分的にデータ誤りが発生していたり、規格外の識別符号を含むなどのエラーを含む符号化画像データを復号する際の復元性を向上させることができる。しかも、エラー内容の検出、リスタートマーカの検出およびダミー画像の送出をハードウェアで構成していることから、ホストプロセッサに大きな負荷をかけることなく、柔軟性の高い修復処理を実現することができる。
【００３６】
ステップＳ１６にて、リスタートマーカを検出できなかった場合も（Ｓ１６のＮ）、スタートマーカ検索回路２８は、リスタートマーカの検索失敗をＣＰＵ２００に通知する（Ｓ２６）。ＣＰＵ２００は、エラー検出以降のデータに正常な部分があることを確認できないため、その符号化画像データの修復処理を終了して、次の符号化画像データの復号に備えるよう画像復号回路１００全体に指示する（Ｓ２８）。
【００３７】
図６は、本実施形態における画像復号システム５００を搭載した電子機器７００の構成を示す。当該電子機器７００は、電池７１０、通信部７２０、記録部７３０、画像復号システム５００および表示部７４０を備える。画像復号に関係のない要素は省略している。電子機器７００は、主として、携帯電話機、デジタルカメラおよび携帯型ゲーム機などの携帯機器が該当する。画像復号システム５００は、通信部７２０または記録部７３０から供給された符号化画像データを復号し、復号画像を表示部７４０に出力する。
【００３８】
画像復号システム５００は、符号化画像データをソフトウェアで復号すると、搭載されるシステム全体の制約要因となるような分野への使用に適している。携帯型の電子機器７００は正にその分野といえる。例えば、携帯型の電子機器７００に搭載されるホストプロセッサは、電池駆動などの要因で高周波数で動作させることが難しい。符号化画像データを高速に復号するにはハードウェアで行うことが適している。また、ソフトウェアで復号すると、通信など優先度の高い他のアプリケーションの制約要因となり、通信エラーなどを招来しやすくなる。このように、携帯型の電子機器に上記実施形態の画像復号システム５００を適用すると、消費電力の節約やシステムの安定化に資する。もちろん、この趣旨は携帯機器に限るものではなく、ＰＣなどにも当てはまる。
【００３９】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４０】
上記実施形態では、ＪＰＥＧ形式で圧縮された符号化画像データを復号する例を説明した。この点、ＪＰＥＧ形式に限ることなく、所定の間隔でリスタートマーカが設定されている符号化画像データであれば適用可能である。例えば、ＭＰＥＧ形式でも所定の間隔でリスタートマーカが設定されていれば、フレーム内での修復処理ばかりでなく、フレームを跨ぐ修復処理にも適用可能である。
【００４１】
上記実施形態にて、ＣＰＵ２００がソフトウェア的な判断処理に基づく各指示の生成をハードウェア的な制御回路により実現し、それを画像復号回路１００に搭載してもよい。画像復号回路１００の回路規模の増大につながるが、ホストプロセッサの負荷をさらに軽減することができる。
【００４２】
また、実施形態では、第１エラー検出回路１４、第２エラー検出回路１８および第３エラー検出回路２２の３つのエラー検出回路を搭載する例を説明した。この点、少なくとも１つを搭載していれば本発明の適用範囲となる。とくに、少なくとも第２エラー検出回路１８を搭載していることが望ましい。ハフマンテーブルに記述されていないデータが含まれることを検出する処理は、エラー検出処理のなかでとくに重要だからである。もちろん、第１エラー検出回路１４および第３エラー検出回路２２を搭載することにより、偶然にマーカなどと同じビット列に変化してしまったエラーも検出することができ、エラー検出の精度を高めることができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態における画像復号システムの構成を示すブロック図である。
【図２】実施形態における画像復号回路の詳細を示すブロック図である。
【図３】リスタートマーカが設定された画像を示す図である。
【図４】エラーを含む符号化画像データを復号した画像を示す図である。
【図５】実施形態における画像復号システムの修復処理を説明するためのフローチャートである。
【図６】実施形態における画像復号システムを搭載した電子機器の構成を示す図である。
【符号の説明】
【００４４】
１２  マーカ検出回路、  １４  第１エラー検出回路、  １６  エントロピー復号回路、  １８  第２エラー検出回路、  ２０  組立回路、  ２２  第３エラー検出回路、  ２４  逆量子化回路、  ２６  逆ＤＣＴ回路、  ２８  リスタートマーカ検索回路、  ３０  補充回路、  １００  画像復号回路、  ２００  ＣＰＵ、  ３００  表示部、  ５００  画像復号システム、  ７００  電子機器、  ７１０  電池、  ７２０  通信部、  ７３０  記録部、  ７４０  表示部。
【図１】
2006345046.tif 000003
【図２】
2006345046.tif 000004
【図３】
2006345046.tif 000005
【図４】
2006345046.tif 000006
【図５】
2006345046.tif 000007
【図６】
2006345046.tif 000008