(57)【要約】      （修正有）【課題】符号化データのシンタックス及びセマンティクスエラーを検出し訂正する。【解決手段】検出部１００は符号化データ内のシンタックス及びセマンティクスエラーの存在を検出し、エラーの存在情報、エラーの位置情報、シンタックスエラーの存在範囲を示す情報、及びエラーの存在位置での符号化タイプを示す種別情報のうち少なくとも１つ以上をエラー検出情報２０として出力し、復号部４００はエラー検出情報に基づき符号化データの復号画像を生成し、置換情報生成部２００はエラー検出情報に基づき復号画像を再符号化し置換符号列を生成し、置換符号列とエラー検出情報に基づいて作成した符号化データの置換位置を示す情報と符号化データの置換すべき範囲を示す情報に置換符号列を加えた置換情報３０を生成し、ビットストリーム置換部３００は置換情報に基づき符号化データをシンタックスエラーを訂正したビットストリーム５０に置換する。【選択図】図２
2006262407.tif 000002
【特許請求の範囲】
【請求項１】
動き補償予測を用いて符号化された符号化データが入力され、その入力された符号化データにシンタックスのエラーが存在するか否かを検出するとともに、前記符号化データにセマンティクスのエラーが存在するか否かを検出して、前記エラーの存在情報、前記エラーが存在する位置を示す第１の位置情報、前記エラーが存在する範囲を示す第１の範囲情報、及び前記エラーが存在する位置での符号化タイプを示す第１の種別情報のうち少なくとも１つ以上をエラー検出情報として出力するエラー検出部と、
前記エラー検出情報に基づき、前記符号化データを復号して復号画像を生成する復号部と、
前記エラー検出情報に基づき前記復号画像を再符号化して置換符号列を生成し、前記生成した置換符号列と前記エラー検出情報に基づいて前記符号化データの置換すべき位置を示す第２の位置情報と前記符号化データの置換すべき範囲を示す第２の範囲情報を作成し、前記作成した第２の位置情報及び第２の範囲情報に前記選択した置換符号列を加えた置換情報を生成する置換情報生成部と、
前記置換情報生成部の前記置換情報に基づき、前記符号化データを、前記検出されたエラーを訂正した符号化データに置換する置換部とを、
備えた符号化データ生成装置。
【請求項２】
前記エラー検出部は、セマンティクスのエラー検出において、符号化データに所定の符号化条件を満足しないエラーが存在するかを検出し、前記所定の符号化条件を満足しないエラーの存在情報、前記所定の符号化条件を満足しないエラーが存在する位置を示す位置情報、前記所定の符号化条件を満足しないエラーが存在する範囲を示す範囲情報、及び前記所定の符号化条件を満足しないエラーが存在する位置での符号化タイプを示す種別情報のうち少なくとも１つ以上をセマンティクスエラー検出情報として出力することを特徴とする請求項１に記載の符号化データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測を用いて符号化された符号化データのエラーを訂正して符号化データを生成する符号化データ生成装置に関する。
【背景技術】
【０００２】
動画像信号を伝送若しくは蓄積する場合、効率化のため圧縮符号化されビットストリームとすることが多い。動画像の圧縮符号化方式としてＭＰＥＧ（Moving Picture Experts Group,以下ＭＰＥＧなど ）の方式が標準化され、広く用いられている。よって、動画像信号をＭＰＥＧなどの方式で圧縮し、ビットストリームとして扱うことは、伝送系若しくは蓄積系の効率的な利用において非常に重要である。
【０００３】
ところで、上記のような圧縮を伴った符号化規格で圧縮符号化された圧縮符号化データにおいて、シンタックス（符号化データ列規則）のエラーが発生すると、シンタックスエラーの発生した圧縮符号化データの後に続く圧縮符号化データはエラーを回避できる機能を持たない復号器では復号することはできない。ここで、シンタックスエラーとは圧縮符号化データのパース（シンタックス要素を分解すること）を続けることができないエラーである。例えば、ＭＰＥＧなどでは、シンタックスエラーはパースの過程でＶＬＣ（可変長符号化）テーブルにない値が検出された場合や、マクロブロック内のブロック数が規定値と一致しない場合や、ピクチャ内のマクロブロック数が規定値を超えた場合などに検出される。シンタックスエラーは圧縮符号化装置、符号化変換装置、多重化装置にエラーが内在している場合や、圧縮符号化データの伝送や蓄積の途中で起きるエラーをリードソロモンなどのエラー訂正処理で修正できない場合や、パケットの損失が起きた場合などにおいて発生する可能性がある。
【０００４】
シンタックスエラーが検出された場合には、圧縮符号化装置は復号を続けるために次のような動作を行う。一般的な圧縮を伴った符号化データには同期コードが挿入されているため、シンタックスエラーが検出されたデータブロックを廃棄し、次のデータブロックを取得して復号化するというような動作を行う。上述のようにシンタックスエラーが発生した場合の処理方法として、エラーコンシールメントと呼ばれる処理がなされる。
【０００５】
また、上記のような圧縮を伴った符号化規格で圧縮符号化された圧縮符号化データにおいて、セマンティクス（コンテンツ意味内容記述ツール）のエラーが発生すると、圧縮符号化データを正しく符号化することは一般的にできない。また、セマンティクスエラーによっては復号装置に致命的な破綻が起きることもある。セマンティクスエラーとは圧縮符号化データのパースにおいて起きるエラーではなく、パースして得られた値が規格で定められている制限事項に違反しているために起きるエラーである。例えば、動画像圧縮符号化規格の１つであるＭＰＥＧでは、あるシンタックスエレメントの値が固定値に定義されているにも関わらず、その固定値になっていないようなセマンティクスエラーがある。また、最新の動画像圧縮符号化規格であるＭＰＥＧ−４・ＡＶＣでは、プロファイル、レベルによって制限事項が細かく規定されている。そのため、ベースラインプロファイル・レベル２では規格準拠となる圧縮符号化データが、ベースラインプロファイル・レベル３では規格違反となるようなセマンティクスエラーもある。
【０００６】
セマンティクスエラーは圧縮符号化装置、符号化変換装置において誤った解釈によって符号化された場合に起きる可能性があり、圧縮符号化データの蓄積、伝送、取得過程において発生する場合もある。また、動画像圧縮符号化規格のプロファイル、レベルなどに精通していないユーザが多くの機種の間でデータの相互運用を行う場合に誤った使用をすることでセマンティクスエラーが発生する可能性も高い。また、セマンティクスエラーではないが、システムの運用上で符号化の規格に制限を加える必要がある場合もある。システム上でこのような所定の符号化条件を満たさないエラーは、該当するシステムではビットストリームを取り扱うことができない。上述のようにセマンティクスエラーが発生した場合の処理方法として、エラーコンシールメントと呼ばれる処理がなされる。
【０００７】
このようなエラーコンシールメント技術を用いた従来のシステムとして、下記の特許文献１に記載のシステムは、画像の性質に応じた適切なパケット廃棄補償を行い、復号画像の画質を向上させることができる動画像伝送を実現するものである。すなわち、符号化されているビデオパケットのパケット廃棄を検出し、既に復号されている画像信号により、廃棄パケットでエラーとなった信号を置き換えることによりコンシールメントし、復号信号を生成するシステムである。ゆえに、特許文献１に記載のシステムは、入力はエラーを含むことがあるビットストリームであり、出力はエラーを含むビットストリームが入力された場合はそのエラーを修復した復号画像信号である。
【０００８】
もう１つのエラーコンシールメント技術を用いた従来のシステムとして、下記の特許文献２に記載の装置は、エラー訂正の為に別途ディスク装置を必要とせず、映像データの特性を生かしたディスクアレイ装置を備える映像送出を実現するものである。すなわち、入力映像データを分割してビットストリームとして蓄積し、入力映像データのビットストリームにエラーが発生した場合に、あらかじめ入力映像データより高圧縮されたコンシールメント用ビットストリームを蓄積しておき、コンシールメント用ビットストリームを復号及び再符号化して入力映像データのエラー発生ビットストリームと置き換えるものである。ゆえに、特許文献２の装置は、入力はエラーが発生する可能性のあるビットストリームであり、出力はエラーが発生した場合は、そのエラーが修正されたビットストリームである。
【０００９】
さらに、エラーコンシールメント技術を用いた従来のシステムとして、下記の特許文献３に記載の回路では、実時間上で符号化変換を必要とするようなファクシミリ装置において、符号化直後の正常な１ライン分の符号化情報を一時蓄積できるような符号バッファにより、符号エラーを検出したときに、バッファにある正常な１ライン分の符号化情報を出力することによってコンシールメントするものである。
【特許文献１】特開平７−１１１６５４号公報（要約書）
【特許文献２】特許第３４８２９７１号公報（特許請求の範囲）
【特許文献３】特開昭６３−２９２８７３号公報（特許請求の範囲）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、以上に述べた、エラーコンシールメント技術を用いたシステム若しくは装置においては次のような課題がある。特許文献１における動画像伝送システムは、エラーコンシールメント後の出力が復号された画像信号であるため、エラー訂正後には、動画像信号をビットストリームとして通信路などを使って伝送することができない。よって、エラーコンシールメント機能を持たない復号器においては、エラーを持つビットストリームの再生が正しくできない。
【００１１】
特許文献２における映像送出装置は、出力はエラーコンシールメントされた入力映像データのビットストリームであるが、あらかじめコンシールメント用のビットストリームを入力映像データのビットストリームごとに蓄積媒体の中に用意しておく必要があり、入力映像データのビットストリームの増加と共にコンシールメント用ビットストリームが増加し、また、蓄積媒体を用いるため、任意のビットストリームを通信路を使って伝送するような場合に適用することができない。特許文献３におけるファクシミリのエラー置換回路では、コンシールメント用の符号化情報として直前の正常な1ライン分を記憶するが、動き補償予測符号化を用いる動画像の圧縮符号化ビットストリームにおいては、直前の符号化情報だけでコンシールメントすると、再生画像の画質が大きく劣化する。
【００１２】
本発明は上記従来例の問題点に鑑み、動き補償予測を用いて符号化された符号化データにシンタックス及びセマンティクスのエラーを検出して訂正することができる符号化データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は上記目的を達成するために、動き補償予測を用いて符号化された符号化データが入力され、その入力された符号化データにシンタックスのエラーが存在するか否かを検出するとともに、前記符号化データにセマンティクスのエラーが存在するか否かを検出して、前記エラーの存在情報、前記エラーが存在する位置を示す第１の位置情報、前記エラーが存在する範囲を示す第１の範囲情報、及び前記エラーが存在する位置での符号化タイプを示す第１の種別情報のうち少なくとも１つ以上をエラー検出情報として出力するエラー検出部と、
前記エラー検出情報に基づき、前記符号化データを復号して復号画像を生成する復号部と、
前記エラー検出情報に基づき前記復号画像を再符号化して置換符号列を生成し、前記生成した置換符号列と前記エラー検出情報に基づいて前記符号化データの置換すべき位置を示す第２の位置情報と前記符号化データの置換すべき範囲を示す第２の範囲情報を作成し、前記作成した第２の位置情報及び第２の範囲情報に前記選択した置換符号列を加えた置換情報を生成する置換情報生成部と、
前記置換情報生成部の前記置換情報に基づき、前記符号化データを、前記検出されたエラーを訂正した符号化データに置換する置換部とを備えたことを特徴とする。
【００１４】
また、前記エラー検出部は、セマンティクスのエラー検出において、符号化データに所定の符号化条件を満足しないエラーが存在するかを検出し、前記所定の符号化条件を満足しないエラーの存在情報、前記所定の符号化条件を満足しないエラーが存在する位置を示す位置情報、前記所定の符号化条件を満足しないエラーが存在する範囲を示す範囲情報、及び前記所定の符号化条件を満足しないエラーが存在する位置での符号化タイプを示す種別情報のうち少なくとも１つ以上をセマンティクスエラー検出情報として出力することを特徴とする。
【発明の効果】
【００１５】
本発明は、伝送路などの途中の経路で中継器として適用することで、シンタックスエラー、セマンティクスエラーを含む、動き補償予測符号化された圧縮符号化ビットストリームをエラーコンシールメントし、受信側となるエラーコンシールメント機能を持たない復号器において圧縮符号化ビットストリームの再生が可能となる。また、入力ビットストリームを基にしたエラー訂正情報をあらかじめ用意する必要が無く、また、圧縮符号化コンシールメント用のデータ蓄積を必要とせずにシンタックス、セマンティクスのエラー訂正が可能であり、また、圧縮符号化ビットストリームのエラー訂正を行う伝送システムを実現することができる。
【発明を実施するための最良の形態】
【００１６】
＜第１の実施の形態＞
以下、図面を参照して本発明の実施の形態について説明する。図１は本発明の第１の実施の形態に係る符号化データ生成装置として中継器が用いられる伝送システムを示すブロック図、図２は図１の修正器を詳しく示すブロック図である。
【００１７】
図１の伝送システムは、ビットストリーム生成装置５００と、本発明に係る符号化データ中継器６００と、中継先である再生装置７００の接続例を示している。ビットストリーム生成装置５００は蓄積媒体５１０にある画像情報を符号化器５２０によって符号化ビットストリームとし、送信器５３０によって伝送路１００１に送信する。符号化データ中継器６００はビットストリームにエラーがある場合には中継器６１０でビットストリームを修正し、修正されたビットストリームを伝送路１００２を介して中継先の再生装置７００へ送信する。中継先である再生装置７００は受信器７１０によりビットストリームを受信し、復号器７２０で復号する。
【００１８】
この経路において、送信器５３０から伝送されるビットストリームが、伝送路１００１の影響によりエラーを持っていると仮定すると、本発明による中継器６１０はエラーを検証し修正することが可能であるので、エラーを持っているビットストリームに対するエラーコンシールメント能力を持たない復号器７２０においても、ビットストリームの再生が可能となる。また、入力ビットストリームを基にしたエラー訂正情報をあらかじめ用意する必要が無く、また、圧縮符号化コンシールメント用のデータ蓄積を必要とせずにシンタックスエラー訂正が可能であり、また、圧縮符号化ビットストリームのエラー訂正を行う伝送システムを実現することができる。
【００１９】
中継器６１０はシンタックスエラー訂正部とセマンティクスエラー訂正部を有する。図２に本発明における第１の実施の形態のシンタックスエラー訂正部のブロック図を示す。図２に示すとおり、シンタックスエラー訂正部は、シンタックスエラー検出部１００と、復号部４００と、置換情報生成部２００と、ビットストリーム置換部３００とから構成される。なお、以下では、圧縮符号化ビットストリームを単にビットストリームと呼ぶ。図２において、まず、入力としてビットストリーム１０がシンタックスエラー検出部１００に入力される。シンタックスエラー検出部１００はシンタックスエラーを含んでいるかどうかを検出し、シンタックスエラーの有無、シンタックスエラーの発生位置などを検出情報２０として出力する。
【００２０】
復号部４００は入力ビットストリーム１０を復号する。復号時に発生するヘッダ情報などを符号化パラメータ６０として出力し、復号して構成された画像を復号画像７０として出力する。置換情報生成部２００は、検出情報２０を基に、あらかじめ用意したいくつかの符号列の中から、入力ビットストリーム１０のシンタックスエラーを修正するための置換符号列を選択する。選択した置換符号列と、検出情報２０より、置換すべき入力ビットストリーム１０の位置、範囲及び置換符号列を定め、置換情報３０として出力する。ただし、何らかの外部入力４０により置換情報３０が求められてもよい。ビットストリーム置換部３００は、入力ビットストリーム１０と置換情報３０を用いてシンタックスエラーの無いビットストリーム５０を出力する。
【００２１】
次に構成要素それぞれについて説明する。シンタックスエラー検出部１００の動作について詳しく説明する。まず、シンタックスエラー検出部１００のフローチャートを図３に示し、動作について述べる（ステップＳ１０−Ｓ１５）。シンタックスエラー検出部１００は、まず、入力ビットストリーム１０をパースし（ステップＳ１０）、パースしながら入力ビットストリームのシンタックスエラーを検出する（ステップＳ１１）。
【００２２】
シンタックスエラーの検出判定（ステップＳ１２）において、入力ビットストリーム１０がシンタックスエラーを含んでいる場合、シンタックスエラーが存在することを示すフラグと、シンタックスエラーが発生したビットストリーム１０の位置情報、Reversible VLCのようにビットストリームを逆からパース可能な処理を用いた場合には、シンタックスエラーが発生している範囲情報、例えばＭＰＥＧ−４  ＡＶＣの規格ではアクセスユニット単位、スライス単位、マクロブロック単位でのシンタックスエラー発生や、イントラ、インターなどの符号化タイプを示す種別情報を生成し（ステップＳ１３）、検出情報２０として出力する（ステップＳ１５）。他方、入力ビットストリーム１０がシンタックスエラーを含まない場合、シンタックスエラーが存在しないことを示すフラグを生成し（ステップＳ１４）、検出情報２０として出力する（ステップＳ１５）。
【００２３】
ステップＳ１１、Ｓ１２では、例えば、連続していくつかのマクロブロックが欠落している場合、ピクチャサイズに対するマクロブロックの数は固定であるため、１ピクチャのパースが終わった時点で、マクロブロックの数が一致しなければシンタックスエラーであると判定される。ゆえに、この場合の検出情報２０は、エラーの発生がマクロブロックで起きたことを示す種別情報、マクロブロックの欠落した位置情報となり、すなわちエラーの発生した箇所のアドレスや、Reversible VLCなどのビットストリームを逆からパース可能な処理を用いた場合は欠落したマクロブロックのアドレスの範囲情報となる。
【００２４】
復号部４００のフローチャートを図４に示し、動作について述べる（ステップＳ４０−Ｓ４４）。復号部４００は入力ビットストリーム１０を復号する（ステップＳ４０）。このとき、検出情報２０のエラー発生位置情報、範囲情報、及び種別情報から復号画像７０を生成できるかどうかを判定する（ステップＳ４１）。シンタックスエラーの発生により、復号画像７０が生成できない場合はエラーが発生している箇所に対してエラーコンシールメントする（ステップＳ４４）。エラーコンシールメントは、周辺画像の画素値を用いることによって、欠落部分の画素を補間することによって行う。例えば、マクロブロックに欠落が発生している場合は、マクロブロック周辺の画素値より補間する、若しくは、アクセスユニット単位で欠落している場合は、前の画像からの複製画像により補間する、などといった方法を用いてエラーコンシールメントを行う。エラーコンシールメントを行った画像を復号画像７０として生成する（ステップＳ４３）。また、復号画像が生成できる場合は復号画像７０を出力する。
【００２５】
また、復号部４００は復号画像７０のみではなく、シンタックスエラーの無い箇所においては、付加情報として、復号時に発生する符号化パラメータ６０を生成することもできる（ステップＳ４２）。復号時に発生する符号化パラメータ６０の例としては、シーケンスやピクチャのヘッダ情報や、動きベクトル、マクロブロックタイプといった再符号化の簡略化に用いることができるような情報が挙げられる。
【００２６】
続いて置換情報生成部２００のフローチャートを図５に示し、動作について述べる（ステップＳ５０−Ｓ５２）。置換情報生成部２００は、検出情報２０に基づき、上述した符号化パラメータ６０を用いない場合は、復号画像７０を用いて再符号化を行う（ステップＳ５１）。符号化パラメータ６０を用いる場合は、符号化パラメータ６０に基づき再符号化パラメータを生成する（ステップＳ５０）。ここでの再符号化パラメータは、復号画像７０の再符号化すべき位置若しくは範囲である。また、シンタックスエラーの無い復号画像７０の再符号化を簡略化するために、ヘッダ情報、動きベクトルなどの符号化パラメータ６０を用いる場合に、復号部４００で出力された符号化パラメータ６０に基づいて、再符号化パラメータを求めて用いることもできる。再符号化パラメータを用いて入力ビットストリーム１０の復号画像７０を再符号化する（ステップＳ５１）。ここで、再符号化パラメータは、外部入力４０によって決められてもよい。以上のように、再符号化したビットストリームを置換符号列とし、この置換符号列と検出情報２０とにより、置換すべき入力ビットストリーム１０の位置情報、範囲情報を含む置換情報３０を生成する（ステップＳ５２）。
【００２７】
ビットストリーム置換部３００について説明する。ビットストリーム置換部３００は、上述のように生成した置換情報３０を用いて、入力ビットストリーム１０の置換すべき箇所を、置換情報３０の置換符号列によって置き換えることで、シンタックスエラーの無い置換ビットストリーム５０を生成する。生成したビットストリーム５０は蓄積媒体３５０に記録される。
【００２８】
以上説明したように、第１の実施の形態によれば、動き補償予測された動画像符号化ビットストリームにシンタックスエラーがある場合に、復号画像を用いて再符号化を行うため、シンタックスエラーが発生した部分の動き補償予測の再計算が可能である。よって、置換符号列をあらかじめ用意しておく方式や、単に直前の正常な符号列をコピーすることでエラーコンシールメントを行うような方式に比べ、エラーコンシールメント後のビットストリームの再生画像において画質を向上させることが可能である。
【００２９】
＜シンタックスエラー訂正部の参考例＞
図６にシンタックスエラー訂正部の参考例のブロック図を示す。図６に示すとおり、参考例のシンタックスエラー訂正部は、シンタックスエラー検出部１００と、置換情報生成部２００と、ビットストリーム置換部３００から構成される。なお、以下では、圧縮符号化ビットストリームを単にビットストリームと呼ぶ。
【００３０】
シンタックスエラー検出部１００について説明する。シンタックスエラー検出部１００の動作は第１の実施の形態と同じであるが、検出情報２０を置換情報生成部２００に送るところが相違している。すなわち、例えば連続していくつかのマクロブロックが欠落している場合、ピクチャサイズに対するマクロブロックの数は固定であるため、１ピクチャのパースが終わった時点で、マクロブロックの数が一致しなければシンタックスエラーであると判定される。ゆえにこの場合の検出情報２０は、エラーの発生がマクロブロックで起きたことを示す種別情報、マクロブロックの欠落した位置情報であり、すなわちエラーの発生した箇所のアドレスや、Reversible VLCなどのビットストリームを逆からパース可能な処理を用いた場合は欠落したマクロブロックのアドレスの範囲情報となる。
【００３１】
全体的な動作について図６を用いて説明する。まず、入力としてビットストリーム１０がシンタックスエラー検出部１００に入力される。シンタックスエラー検出部１００はシンタックスエラーを含んでいるかどうかを検出する。シンタックスエラーの有無、シンタックスエラーの発生位置などをシンタックスエラー検出情報（以下、単に検出情報）２０として出力する。置換情報生成部２００は、検出情報２０を基に、あらかじめ用意したいくつかの符号列の中から、入力ビットストリーム１０のシンタックスエラーを修正するための置換符号列を選択する。選択した置換符号列と、検出情報２０より、置換すべき入力ビットストリーム１０の位置、範囲及び置換符号列を定め、置換情報３０として出力する。ただし、何らかの外部入力４０により置換情報３０が求められてもよい。ビットストリーム置換部３００は、入力ビットストリーム１０と置換情報３０を用いてシンタックスエラーをコンシールメントしたビットストリーム５０を出力する。
【００３２】
置換情報生成部２００について説明する。置換情報生成部２００のフローチャートを図７に示し、動作について述べる（ステップＳ２０−Ｓ２１）。置換情報生成部２００は、検出情報２０より、入力ビットストリーム１０において発生しているシンタックスエラーの種別、位置からあらかじめ用意した符号列の中から置換に用いる置換符号列を選択する（ステップＳ２０）。選択した置換符号列と、検出情報２０を基に、入力ビットストリーム１０を置換すべき位置、範囲を決定し、選択した置換符号列と合わせて、置換情報３０として生成する（ステップＳ２１）。
【００３３】
例えば検出情報２０の種別情報がマクロブロックであり、いくつかのマクロブロックが欠落しており、欠落したマクロブロックの前後のマクロブロックタイプがNot Codedでdmv（差分動きベクトル）が０であるような場合、欠落した箇所のマクロブロックタイプも同様にNot Codedでdmvが０であると判定され、あらかじめ用意しておいたマクロブロックのNot Codedを示すフラグが欠落したマクロブロックの 置換符号列となる。この場合、置換符号列の欠落したマクロブロック個数分を置換情報３０として生成する。
【００３４】
また、例えば検出情報２０の種別情報がアクセスユニットであり、いくつかのアクセスユニットが欠落している場合は、NoMC・Not Codedのフラグが欠落したアクセスユニットの置換符号列となる。この場合、置換符号列の、欠落したアクセスユニット個数分を置換情報３０として生成する。また、入力ビットストリーム１０の符号量と一致させるために、置換情報３０の置換符号列にスタッフィングバイトを付加することもできる。ここで、置換符号列の選択において、外部入力４０によって置換符号列を選択してもよい。このようにして外部入力４０で制御することで、意図しない再生画像が出力されるのを防ぐことができる。ビットストリーム置換部３００の動作は第１の実施の形態と同じである。
【００３５】
以上説明したように、動き補償予測された動画像符号化ビットストリームにシンタックスエラーがある場合に、あらかじめエラーを置換するための符号列を用意しておくことで、エラーコンシールメントするために復号画像を再符号化する場合に比べ、高速なエラーコンシールメント処理を実現できる。また、単に直前の正常な符号列をコンシールメント用の符号列として用いる場合に比べ、エラーコンシールメント後のビットストリームにおいて、再生画像の画質を向上させることができる。
【００３６】
＜セマンティクスエラー訂正部＞
図８に第１の実施の形態のセマンティクスエラー訂正部のブロック図を示す。第１の実施の形態のセマンティクスエラー訂正部は、セマンティクスエラー検出部１０１と、復号部４００と、置換情報生成部２０１と、ビットストリーム置換部３００とから構成される。以下では、圧縮符号化ビットストリームを単にビットストリームと呼ぶ。全体的な動作について図８を用いて説明する。まず、入力としてビットストリーム１０がセマンティクスエラー検出部１０１に入力される。セマンティクスエラー検出部１０１はセマンティクスエラーを含んでいるかどうかを検出し、セマンティクスエラーの有無、セマンティクスエラーの発生位置などを検出情報２１として出力する。
【００３７】
セマンティクスエラー検出部１０１について説明する。セマンティクスエラー検出部１０１のフローチャートを図９に示し、動作について述べる（ステップＳ１０−Ｓ１５）。セマンティクスエラー検出部１０１は、まず、入力ビットストリーム１０をパースし（ステップＳ１０）、パースしながら入力ビットストリーム１０のセマンティクスエラーを検出する（ステップＳ１１ａ）。セマンティクスエラーの検出判定（ステップＳ１２）において、入力ビットストリーム１０がセマンティクスエラーを含んでいる場合、セマンティクスエラーが存在することを示すフラグと、セマンティクスエラーの発生したビットストリーム１０の位置情報、Reversible VLCのようにビットストリームを逆からパース可能な処理を用いた場合にはセマンティクスエラーの発生している範囲情報、例えばＭＰＥＧ−４  ＡＶＣの規格ではアクセスユニット単位、スライス単位、マクロブロック単位でのセマンティクスエラー発生や、イントラ、インターなどの符号化タイプを示す種別情報を生成し（ステップＳ１３）、検出情報２１として出力する（ステップＳ１５）。入力ビットストリーム１０がセマンティクスエラーを含まない場合、セマンティクスエラーが存在しないことを示すフラグを生成し（ステップＳ１４）、検出情報２１として出力する（ステップＳ１５）。
【００３８】
例えば、ＭＰＥＧ−４  ＡＶＣの符号化方式において、B-Sliceを含むストリームのシーケンスパラメータセットのプロファイル値がBaseline Profileを示す値となっている場合はセマンティクスエラーとなり、シーケンスパラメータセットの単位が種別情報となり、シーケンスパラメータセットの存在するアドレスが位置情報となる。
【００３９】
復号部４００は入力ビットストリーム１０を復号する。復号時に発生するヘッダ情報などを符号化パラメータ６０として出力し、復号して構成された画像を復号画像７０として出力する。置換情報生成部２０１は、検出情報２１を基に、あらかじめ用意したいくつかの符号列の中から、入力ビットストリーム１０のセマンティクスエラーを修正するための置換符号列を選択する。選択した置換符号列と、検出情報２１より、置換すべき入力ビットストリーム１０の位置、範囲置換符号列を定め、置換情報３１として出力する。ただし、何らかの外部入力４１により置換情報３１が求められてもよい。ビットストリーム置換部３００は、入力ビットストリーム１０と置換情報３１を用いてセマンティクスエラーの無いビットストリーム５０を出力する。
【００４０】
例えば動きベクトルが符号化方式のレベルで制限されている値を超えている場合には、動きベクトルの単位が種別情報となり、この動きベクトルが存在するマクロブロックアドレスが位置情報となる。また、復号部４００の動作は第１の実施の形態とほぼ同じであり、置換情報生成部２０１とビットストリーム置換部３００の動作は第１の実施の形態と同じである。
【００４１】
以上説明したように、動き補償予測された動画像符号化ビットストリームにセマンティクスエラーがある場合に、復号画像を用いて再符号化を行うため、セマンティクスエラーが発生した部分の動き補償予測の再計算が可能である。よって、置換符号列をあらかじめ用意しておく方式や、単に直前の正常な符号列をコピーすることでエラーコンシールメントを行うような方式に比べ、エラーコンシールメント後のビットストリームの再生画像において画質を向上させることが可能である。
【００４２】
＜セマンティクスエラー訂正部の参考例＞
図１０にセマンティクスエラー訂正部の参考例のブロック図を示す。参考例のセマンティクスエラー訂正部は、セマンティクスエラー検出部１０１と、置換情報生成部２０１と、ビットストリーム置換部３００とから構成される。以下では、圧縮符号化ビットストリームを単にビットストリームと呼ぶ。全体的な動作について図１０を用いて説明する。まず、入力としてビットストリーム１０がセマンティクスエラー検出部１０１に入力される。セマンティクスエラー検出部１０１はセマンティクスエラーを含んでいるかどうかを検出し、セマンティクスエラーの有無、セマンティクスエラーの発生位置などをセマンティクスエラー検出情報（以下、単に検出情報）２１として出力する。
【００４３】
置換情報生成部２０１は、検出情報２１を基に、あらかじめ用意したいくつかの符号列の中から、入力ビットストリーム１０のセマンティクスエラーを修正するための置換符号列を選択する。選択した置換符号列と、検出情報２１より、置換すべき入力ビットストリーム１０の位置、範囲及び置換符号列を定め、置換情報３１として出力する。ただし、何らかの外部入力４１により置換情報３１が求められてもよい。ビットストリーム置換部３００は、入力ビットストリーム１０と置換情報３１を用いてセマンティクスエラーをコンシールメントしたビットストリーム５０を出力する。
【００４４】
置換情報生成部２０１について説明する。置換情報生成部２０１のフローチャートを図１１に示し、動作について述べる（ステップＳ２０−Ｓ２１）。置換情報生成部２０１は検出情報２１より、入力ビットストリーム１０において発生しているセマンティクスエラーの種別、位置から、あらかじめ用意した符号列の中から置換に用いる符号列を選択する（ステップＳ２０）。選択した符号列と、検出情報２１を基に、入力ビットストリーム１０の置換すべき位置、範囲を決定し、選択した符号列と合わせて、置換情報３１として生成する（ステップＳ２１）。
【００４５】
例えば、ＭＰＥＧ−４  ＡＶＣの符号化方式において、B-Sliceを含むストリームのシーケンスパラメータセットのプロファイル値がBaseline Profileを示す値となっている場合は、置換符号列としてプロファイル値におけるMain Profileを示す値を選択し、置換情報３１の置換符号列とする。また、入力ビットストリーム１０の符号量と一致させるために、置換情報３１の置換符号列にスタッフィングバイトを付加することもできる。ここで、置換符号列を選択する場合、外部入力４１によって置換符号列を選択してもよい。
【００４６】
また、セマンティクスエラー検出部１０１において、セマンティクスエラーを検出せず、入力ビットストリーム１０の同一シンタックスを置換情報生成部２０１で常に同じ符号列を用いて置換する方式も考えられる。例えば、受信側となる復号器が、ビットストリームのヘッダにあるレベル値を見て、一定以上のレベル値を持つビットストリームは再生しないという制約を持つとする。ところが、上記復号器は、符号化規格上で一定以上のレベル値でしか本来再生できない画像サイズも再生できる能力を持つとする。このとき、レベル値だけを常に一定レベル以下に書き換えれば、上記復号器でビットストリームの再生が可能となる。そこで、セマンティクスエラー検出部１０１でセマンティクスのエラーを検出せず、置換情報生成部２０１でこの復号器が対応しているレベル値を置換符号列として用意しておき、ビットストリームが入ってきたときに、ビットストリームのヘッダのレベル値を用意したレベル値の符号列で置き換えるだけで、上記復号器でのビットストリームの再生が可能となる。
【００４７】
ビットストリーム置換部３００は、上述したように生成した置換情報３１を用いて、入力ビットストリーム１０の置換すべき箇所を、置換情報３１の置換符号列によって置き換えることで、セマンティクスエラーの無いビットストリーム５０を生成することができる。
【００４８】
以上説明したように、動き補償予測された動画像符号化ビットストリームにセマンティクスエラーがある場合に、あらかじめエラーを置換するための符号列を用意しておくことで、エラーコンシールメントするために復号画像を再符号化する場合に比べ、高速なエラーコンシールメント処理を実現できる。また、単に直前の正常な符号列をコンシールメント用の符号列として用いる場合に比べ、エラーコンシールメント後のビットストリームにおいて、再生画像の画質を向上させることができる。
【００４９】
＜第２の実施の形態＞
第２の実施の形態では、第１の実施の形態におけるセマンティクスエラー検出において、例えば、システム運用上で、標準化された符号化規格の符号化条件に制限を加える場合に適用される。例えばセマンティクスエラー検出部１０１は、制限セマンティクスエラー検出部として動作し、入力となるビットストリームに対してあるシステムの制限事項を満足するかどうかを検出する。満足しない場合は第１の実施の形態と同様の検出情報２０を出力する。以下の動作については、セマンティクスエラーを所定の符号化条件を満足しないエラーと読み替えて、第１の実施の形態と同様の動作を行う。
【００５０】
本実施の形態では、標準化されている符号化方式を満足していても、運用上の理由で、符号化方式の制限に更に細かい制限を加えた、規格を満たさないエラーを持つビットストリームを修正することができる。例えば、ＭＰＥＧ−２の規格は満たすが、あるシステムで制限されているＭＰＥＧ−２ビットストリームの予約ビット値を満たさないようなビットストリームは、該当するシステムで取り扱うことができないが、本実施の形態によれば、該当するシステムの制限事項を満足するようにビットストリーム内の予約ビット値を修正するため、該当するシステムで取り扱うことができるビットストリームを生成可能である。
【００５１】
また、例えばＭＰＥＧ−２の規格を満たすOpen GOPで符号化されたビットストリームがあるとする。あるシステムでは制限されているＭＰＥＧ−２ビットストリームはClosed GOPで符号化されていなければならないという制限事項があるとする。この場合、該当するシステムの復号器で再生することはできないが、本実施の形態によれば、該当するシステムの制限事項を満足するように、ＭＰＥＧ−２のGOPに符号化順においてI-pictureの直後にある最初のB-pictureを双方向予測から、片方向予測に変更して再符号化する。この ようにして、生成したビットストリームはClosed GOPを満足するため、該当するシステムの復号器で再生することができるビットストリームを生成可能である。なお、シンタックスエラー検出部とセマンティクスエラー検出部との２つのエラー検出部を設け、２つのエラーを同時に訂正できるようにしてももちろんよい。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施の形態に係る符号化データ生成装置として中継器が用いられる伝送システムを示すブロック図である。
【図２】本発明の第１の実施の形態の中継器のシンタックスエラー訂正部を示すブロック図である。
【図３】図２のシンタックスエラー検出部の処理を示すフローチャートである。
【図４】図２の復号部の処理を示すフローチャートである。
【図５】図２の置換情報生成部の処理を示すフローチャートである。
【図６】図２のシンタックスエラー訂正部の参考例を示すブロック図である。
【図７】図６の置換情報生成部の処理を示すフローチャートである。
【図８】図１の中継器のセマンティクスエラー訂正部を詳しく示すブロック図である。
【図９】図８のセマンティクスエラー検出部の処理を示すフローチャートである。
【図１０】図８のセマンティクスエラー訂正部の参考例を示すブロック図である。
【図１１】図１０の置換情報生成部の処理を示すフローチャートである。
【符号の説明】
【００５３】
１００  シンタックスエラー検出部
１０１  セマンティクスエラー検出部
２００、２０１  置換情報生成部
３００  ビットストリーム置換部
４００  復号部
５００  ビットストリーム生成装置
５１０  蓄積媒体
５２０  符号化器
５３０  送信器
６００  符号化データ中継器
６１０  中継器
７００  再生装置
７１０  受信器
７２０  復号器
１００１、１００２  伝送路
【図１】
2006262407.tif 000003
【図２】
2006262407.tif 000004
【図３】
2006262407.tif 000005
【図４】
2006262407.tif 000006
【図５】
2006262407.tif 000007
【図６】
2006262407.tif 000008
【図７】
2006262407.tif 000009
【図８】
2006262407.tif 000010
【図９】
2006262407.tif 000011
【図１０】
2006262407.tif 000012
【図１１】
2006262407.tif 000013