(57)【要約】   エラー隠蔽は、ディジタルビデオ情報の中で検出されたエラーの影響を隠すために使用される。複雑なエラー隠蔽モード決定が、空間的エラー隠蔽（ＳＥＣ）あるいは、時間的エラー隠蔽（ＴＥＣ）のどちらを使うべきであるかを決定するために、開示される。エラー隠蔽モード決定システムは、破損したフレームがイントラ・フレームかインター・フレームかにより、異なる方法を使用する。ビデオフレームがイントラ・フレームである場合には、イントラ・フレームがシーン変化を表すか否かを決定するのに、類似度測定基準が使用される。ビデオフレームがイントラ・フレームの場合には、複雑な多項式がＳＥＣまたはＴＥＣのどちらが使用されるべきかを、決定するために使用される。新たな空間的エラー隠蔽技術が、エラー隠蔽モード決定が、空間的エラー隠蔽が回復のために使用されるべきであると決定した場合に使用するために、開示される。この、新たな空間的エラー隠蔽技術は、破損されているマクロ・ブロックを４つの異なる領域、コーナー領域、コーナー領域に隣接している列領域、コーナー領域に隣接している行領域、および、残りの主要領域に分割する。次いで、これらの領域は、その順番に従って復元され、先に復元された領域からの情報が後に復元される領域で使用され得る。最後に、マクロ・ブロック回復技術が、エラー伝播が、破損していないインター・ブロックを損なうのを防ぐために、開示される。具体的には、インター・ブロックにエラーを伝播させるかもしれない、著しいエラーを引き起こした破損があった場合には、インター・マクロ・ブロックは、空間的エラー隠蔽を使用して、「回復される」かもしれない。
2010522514.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法であって、
前記ディジタルビデオフレームがイントラ・フレームであるかどうかを決定すること、
前記ディジタルビデオフレームがイントラ・フレームである場合に、シーン変化が生じているかどうかを決定する類似度測定基準を含む第１の式を用いることを適用すること、
前記ディジタルビデオフレームがイントラ・フレームではない場合に、シーン変化が生じているかどうかを決定するイントラ・マクロ・ブロック比率項（intra-macroblock ratio term）を含む第２の式を適用すること
を含む前記方法。
【請求項２】
前記第２の式がフレーム・ビット・サイズの項を含む、請求項１に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項３】
前記フレーム・ビット・サイズの項が、前記ディジタルビデオフレームのためのビット数を乗じた、量子化パラメータを含む、請求項２に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項４】
前記フレームのための前記ビット数が、失われたパケット数に平均パケット・サイズを乗じた値を加えた、前記ディジタルビデオフレームのために受信したビット数を含む、請求項３に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項５】
前記第２の式が、さらに動きの量を規定する動きレベル項を含む、請求項１に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項６】
前記第２の式が、さらにデータ損失スケーリング・ファクターを含む、前記請求項１に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項７】
前記データ損失スケーリング・ファクターが、時間的エラー隠蔽に向かってバイアスする、前記請求項６に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項８】
ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法であって、シーン変化が生じたかどうかを決定する複数項の式を解くことを含み、前記複数項の式がイントラ・マクロ・ブロック比率項を含む、前記方法。
【請求項９】
前記複数項の式がさらに、フレーム・サイズの項を含む、前記請求項８に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１０】
前記フレーム・サイズの項が、前記ディジタルビデオフレームのためのビット数を乗じた量子化パラメータを含む、請求項９に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１１】
前記フレームのための前記ビット数が、失われたパケット数に平均パケット・サイズを乗じた値を加えた、前記ディジタルビデオフレームのために受信したビット数を含む、請求項１０に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１２】
前記複数項の式が、さらに動きの量を規定する動きレベル項を含む、請求項８に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１３】
前記複数項の式が、さらにデータ損失スケーリング・ファクターを含む、前記請求項８に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１４】
前記データ損失スケーリング・ファクターが、時間的エラー隠蔽に向かってバイアスする、前記請求項１３に示される、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する方法。
【請求項１５】
コンピュータ可読媒体であって、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する一連の命令であって、シーン変化が生じたかどうかを決定する、複数項の式を解くステップを実行する前記一連の命令を含み、前記複数項の式がイントラ・マクロ・ブロック比率項を含む、前記コンピュータ可読媒体。
【請求項１６】
前記複数項の式がさらに、フレーム・サイズの項を含む、前記請求項１５に示される、コンピュータ可読媒体。
【請求項１７】
前記フレーム・サイズの項が、前記ディジタルビデオフレームのためのビット数を乗じた量子化パラメータを含む、請求項１６に示される、コンピュータ可読媒体。
【請求項１８】
前記フレームのための前記ビット数が、失われたパケット数に平均パケット・サイズを乗じた値を加えた、前記ディジタルビデオフレームのために受信したビット数を含む、請求項１７に示される、コンピュータ可読媒体。
【請求項１９】
前記複数項の式が、さらに動きの量を規定する動きレベル項を含む、請求項１５に示される、コンピュータ可読媒体。
【請求項２０】
前記複数項の式が、さらにデータ損失スケーリング・ファクターを含む、前記請求項１５に示される、コンピュータ可読媒体。
【請求項２１】
前記データ損失スケーリング・ファクターが、時間的エラー隠蔽に向かってバイアスする、前記請求項２０に示される、コンピュータ可読媒体。
【請求項２２】
ディジタルビデオ復号器であって、ディジタルビデオストリームにおいて、ディジタルビデオフレームがシーン変化を示すかどうかを決定する前記ディジタルビデオ復号器の方法であって、前記方法は、
シーン変化が生じたかどうかを決定する複数項の式を解く手段であって、
前記複数項の式がイントラ・マクロ・ブロック比率項を含み、
前記複数項の式が、シーン変化が生じたと決定した場合に、空間的エラー隠蔽を実行するための手段と、
前記複数項の式が、シーン変化が生じなかったと決定した場合に、時間的エラー隠蔽を実行するための手段と
を備える、前記ディジタルビデオ復号器。
【請求項２３】
空間的エラー隠蔽を実行する方法であって、
破損したマクロ・ブロックを１つ以上の領域に分割する、前記破損したマクロ・ブロックの第１の領域が前記マクロ・ブロックのコーナー・ピクセルを含む、
前記コーナー・ピクセルを含む前記第１の領域に対するピクセル値を決定する、および、
前記コーナー・ピクセルの前記ピクセル値を使用して、前記第１の領域以外の前記領域のピクセル値を決定する、
ステップを含む前記方法。
【請求項２４】
前記第１の領域のピクセル値を決定することが、隣接マクロ・ブロック内の隣接ピクセルを使用して、前記第１の領域を補間することを含む、請求項２３に示される、空間的エラー隠蔽を実行する方法。
【請求項２５】
前記第１の領域のピクセル値を決定することが、隣接マクロ・ブロック内の隣接ピクセルを含む、請求項２３に示される、空間的エラー隠蔽を実行する方法。
【請求項２６】
前記１つ以上の領域が、さらに、前記コーナー・ピクセルに隣接するピクセル行と、前記コーナー・ピクセルに隣接するピクセル列とを含む、請求項２３に示される、空間的エラー隠蔽を実行する方法。
【請求項２７】
前記ピクセル行領域が、前記コーナー領域を使用して他に復元されていて利用可能であれば、隣接したマクロ・ブロックからのピクセル行により構成されている、請求項２６に示される、空間的エラー隠蔽を実行する方法。
【請求項２８】
前記ピクセル行領域が、前記コーナー領域を使用して他に復元されていて利用可能であれば、隣接したマクロ・ブロックからのピクセル列により構成されている、請求項２６に示される、空間的エラー隠蔽を実行する方法。
【請求項２９】
前記１つ以上の領域が、さらに前記コーナー・ピクセルと隣接する前記ピクセル行、前記コーナー・ピクセルに隣接している前記ピクセル列、および、前記コーナー・ピクセルと接する主要領域を含む、請求項２６に示される、空間的エラー隠蔽を実行する方法。
【請求項３０】
前記主要領域が、隣接するマクロ・ブロックと、前記コーナー・ピクセルに隣接する前記ピクセル行、前記コーナー・ピクセルに隣接している前記ピクセル列、および、前記コーナー・ピクセルとの間で補間することにより復元される、請求項２９に示される、空間的エラー隠蔽を実行する方法。
【請求項３１】
コンピュータ可読媒体であって、前記コンピュータ可読媒体は空間的エラー隠蔽を実行する一連の命令を含んでいて、前記命令は、
破損したマクロ・ブロックを１つ以上の領域に分割する、前記破損したマクロ・ブロックの第１の領域が前記マクロ・ブロックのコーナー・ピクセルを含む；
前記コーナー・ピクセルを含む前記第１の領域のピクセル値を決定する；および、
前記コーナー・ピクセルのピクセル値を使用して、前記第１の領域以外の前記領域のピクセル値を決定する、
ステップを実行する、前記コンピュータ可読媒体。
【請求項３２】
前記第１の領域のピクセル値を決定することは、隣接マクロ・ブロック内の隣接ピクセルを使用して、前記第１の領域の補間することを含む、請求項３１に示される、コンピュータ可読媒体。
【請求項３３】
前記１つ以上の領域は、さらに、前記コーナー・ピクセルに隣接するピクセル行と、前記コーナー・ピクセルに隣接するピクセル列とを含む、請求項３１に示される、コンピュータ可読媒体。
【請求項３４】
前記ピクセル行領域は、前記コーナー領域を使用して他に復元されていて利用可能であれば、隣接したマクロ・ブロックからのピクセル行により構成される、請求項３３に示される、コンピュータ可読媒体。
【請求項３５】
前記ピクセル行領域は、前記コーナー領域を使用して他に復元されていて利用可能であれば、隣接したマクロ・ブロックからのピクセル列により構成される、請求項３３に示される、コンピュータ可読媒体。
【請求項３６】
前記１つ以上の領域は、さらに、前記コーナー・ピクセルに隣接する前記ピクセル行、前記コーナー・ピクセルに隣接する前記ピクセル列、および、前記コーナー・ピクセルと接する主要領域を含む、請求項３３に示される、コンピュータ可読媒体。
【請求項３７】
前記主要領域は、隣接するマクロ・ブロックと、前記コーナー・ピクセルに隣接する前記ピクセル行、前記コーナー・ピクセルに隣接している前記ピクセル列、および、前記コーナー・ピクセルとの間で補間することにより復元される、請求項２９に示される、コンピュータ可読媒体。
【請求項３８】
空間的エラー隠蔽装置であって、
破損したマクロ・ブロックを１つ以上の領域に分割する手段と、前記破損したマクロ・ブロックの第１の領域は前記マクロ・ブロックのコーナー・ピクセルを含む、
前記コーナー・ピクセルを含む前記第１の領域のピクセル値を決定する手段と、
前記コーナー・ピクセルの前記ピクセル値を使用して、前記第１の領域以外の前記領域のピクセル値を決定する手段、
を含む、前記空間的エラー隠蔽装置。
【請求項３９】
前記コーナー・ピクセルを含む、前記第１の領域のピクセル値を決定する手段が、隣接マクロ・ブロック内の隣接ピクセルを使用する、前記第１の領域の補間を含む、請求項３１に示される、空間的エラー隠蔽装置。
【請求項４０】
エラー隠蔽を実行するときにマクロ・ブロックを回復する方法であって、
前記マクロ・ブロックが破損していないかどうかを決定し、
前記マクロ・ブロックがインター・マクロ・ブロックであるかどうかを決定し、
損傷ファクターが閾値を越えたかどうかを決定することにより、
破損マクロ・ブロックが回復されるべきであるかどうかを決定し、
前記マクロ・ブロック上で空間的エラー隠蔽を使用して前記マクロ・ブロックが回復されるべきである場合には、前記マクロ・ブロックを回復するステップを含む、上記方法。
【請求項４１】
前記回復がクロミナンス・ドメインにおいてだけ実行される、請求項４０に示される、マクロ・ブロックの回復方法。
【請求項４２】
上記損傷ファクターが破損したマクロ・ブロックの数により増加される、請求項４０に示される、マクロ・ブロックの回復方法。
【請求項４３】
前記損傷ファクターが動きの量により増加される、請求項４０に示される、マクロ・ブロックの回復方法。
【請求項４４】
上記損傷ファクターがイントラ・マクロ・ブロックの量により減少される、請求項４０に示される、マクロ・ブロックの回復方法。
【請求項４５】
シーン変化が検出されると上記損傷ファクターが増加される、請求項４０に示される、マクロ・ブロックの回復方法。
【請求項４６】
コンピュータ可読媒体であって、エラー隠蔽を実行する時にマクロ・ブロックを回復する一連の命令を含む前記コンピュータ可読媒体であって、
前記命令は、
前記マクロ・ブロックが破損していないかどうか決定し、
前記マクロ・ブロックがインター・マクロ・ブロックであるかどうか決定し、
損傷ファクターが閾値を越えたかどうかを決定することにより、
破損マクロ・ブロックが回復されるべきであるかどうかを決定する、および、
前記マクロ・ブロック上で空間的エラー隠蔽を使用して前記マクロ・ブロックが回復されるべきである場合には、前記マクロ・ブロックを回復するステップを実行する、
前記コンピュータ可読媒体。
【請求項４７】
前記回復がクロミナンス・ドメインにおいてだけ実行される、請求項４６に示される、コンピュータ可読媒体。
【請求項４８】
上記損傷ファクターが破損したマクロ・ブロックの数により増加される、請求項４６に示される、コンピュータ可読媒体。
【請求項４９】
上記損傷ファクターが動きの量により増加される、請求項４６に示される、コンピュータ可読媒体。
【請求項５０】
上記損傷ファクターがイントラ・マクロ・ブロックの量により減少される、請求項４６に示される、コンピュータ可読媒体。
【請求項５１】
シーン変化が検出されると上記損傷ファクターが増加される、請求項４６に示される、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルビデオの復号とディスプレイに関する。特に、本発明は、損傷または消失した、ディジタルビデオ情報により引き起こされる、ディジタルビデオのエラーを隠蔽するための技術を開示する。
【背景技術】
【０００２】
多くの新しいディジタル無線通信プロトコルの急速な進歩と採用により、最近、無線エレクトロニクスの大変革が進んでいる。たとえば、符号分割多元接続（ＣＤＭＡ）およびグローバルモバイル通信システム（Global System for Mobile：ＧＳＭ）は、ディジタル携帯電話の人気を大幅に増加させ、（８０２．１１ｂ、８０２．１１ｇ、８０２．１１ａなどのような）Ｗｉ-Ｆｉローカル・エリア・ネットワーク（ＬＡＮ）プロトコルは、無線コンピュータ・ネットワークを変革させ、また、ブルートゥースは、多くの異なるディジタル・デバイスに非常に有用な、短距離の無線ディジタル・プロトコルを提供してきた。
【０００３】
これらの新しいディジタル無線プロトコルは、エラーに対して抵抗力があるように設計されているが、ディジタル無線通信は、無線信号上の種々の物理的影響による、情報消失を、常に想定している。たとえば、混信、マルチパス反射により引き起こされたエラー、無線信号のシールド、到達範囲の限界、または、その他の問題は、送信された無線信号の品質を低下させるので、情報が失われることになる。
【０００４】
ディジタル無線プロトコルを使用する、リアルタイムではない通信アプリケーションは、消失した情報の再送を、単純に要求することにより、これらの理由による情報の消失を、容易に取り扱うことができる。しかしながら、リアルタイム通信アプリケーションは、ディジタル無線チャネルを通して送信される情報の、時たま起きる、情報の消失または破損を取り扱えるように、十分にロバスト（robust）である必要がある。
【０００５】
１つの具体的なリアルタイム通信アプリケーションは、無線ディジタル・チャネルを通しての、ディジタルビデオ情報の受信および即時の表示である。ディジタルビデオの伝送の間に、何らかの情報が失われる場合に、再送は、ビデオ電話およびビデオストリーミングのような、リアルタイムの応用には適切ではない、著しい遅延をもたらすので、消失した情報の再送を要求し、受け取るのに十分な時間がない。このように、ディジタルビデオ情報が消失した場合に、ディジタルビデオ受信機は、受信した不完全なディジタルビデオ情報を使用して、１つ以上のビデオフレームを表示することを試みなければならない。
【０００６】
いくつかの異なる技術が、何らかのディジタルビデオ情報の消失にもかかわらず、できる限り、最善のディジタルビデオフレームを復号化し、表示するために、開発されている。これらの技術が、エラーにより生じた正確なビデオ情報の不足を、隠蔽することを試みるので、不完全なディジタルビデオ情報を、できる限り最善の状態で表示するために開発された、これらの技術は、一般には、エラー隠蔽（Error Concealment：ＥＣ）技術とし呼ばれる。
【０００７】
既存のディジタルビデオエラー隠蔽技術は、主に以下の２つのカテゴリーに分類される。時間的エラー隠蔽（Temporal Error Concealment：ＴＥＣ）と空間的エラー隠蔽（Spatial Error Concealment：ＳＥＣ）である。時間的エラー隠蔽（ＴＥＣ）は、（時間の次元で）近くにあるビデオフレームとの間の、時間的な相関を利用する。ＴＥＣは、破損したマクロ・ブロックを、前に復元されたビデオフレームからの処理されたマクロ・ブロックと置き換えることにより、エラーを隠蔽する。他方、空間的エラー隠蔽（ＳＥＣ）は、単一のビデオフレームの中での空間的な相関を利用する。空間的エラー隠蔽は、近隣のピクセル（または変換係数）から、誤ったピクセルを予測することにより、エラーを隠蔽する。
【０００８】
ブロック置換によるエラー隠蔽（Block Replacement Error Concealment：ＢＲＥＣ）は、最も単純で、最も直接的なタイプの、時間的エラー隠蔽（ＴＥＣ）である。ブロック置換によるエラー隠蔽は、誤りのあるマクロ・ブロックを、前に復元されたビデオフレームからの、同じ位置に存在するマクロ・ブロックと置き換えることにより、エラーを隠蔽する。時間的エラー隠蔽と比較して、この単純な方法は、隠蔽すべき誤りのあるマクロ・ブロックのゼロの動きベクトルを想定している。この性能は、ゼロの動きベクトルよりも、さらに正確な動きベクトルを利用することにより、改善できる。動きベクトル処理（ＭＶＰ）はそのような例である。
【０００９】
非常に簡単な、空間的エラー隠蔽（ＳＥＣ）の実施は、誤ったピクセルを、最も近くにある利用可能なピクセルからの情報と、単に置き換えることでもよい。改良は、補完法と空間的な予測を利用することにより達成することができる。空間的エラー隠蔽（ＳＥＣ）は、ピクセル・ドメインまたは周波数ドメインのいずれかにおいて、行われてもよい。
【００１０】
通信ストリームにおけるエラーが生じる場合に、ユーザーに最も良く見えるビデオを供給するために、ディジタルビデオ受信機は、最適なエラー隠蔽システムを選択すべきである。したがって、最良のエラー隠蔽システムを注意深く選択し、次いで、不完全なディジタルビデオ情報からできる限り最善のビデオイメージを表示する状態で、エラー隠蔽システムを実行する、ディジタルビデオ受信機を創作することが、望ましいであろう。
【発明の概要】
【００１１】
本発明は、ディジタルビデオ情報の中にエラーが検出される場合に、エラー隠蔽を行う方法を提案する。多くの種々の技術が、非常に高い画質の、ディジタルビデオエラー隠蔽を行うために、提供されている。
【００１２】
開示される最初の技術は、空間的エラー隠蔽（ＳＥＣ）または時間的エラー隠蔽（ＴＥＣ）のどちらを使うべきかを決定する、非常に精巧な方法である。主な技術は、シーン変化（scene change）が生じたかどうかを決定し、シーン変化が生じた場合には、（空間的なエラー隠避を行うのに、余りにも多くのエラーがない限り）空間的なエラー隠避を使用するであろう。エラー隠蔽モード決定システムは、破損したフレームが、イントラ・フレームかインター・フレームのどちらかに依存して、異なる方法を用いる。ビデオフレームが、イントラ・フレームの場合には、イントラ・フレームが、シーン変化を表すかどうかを決定するために、類似度測定基準（similarity metric）を使用する。ビデオフレームが、イントラ・フレームの場合には、ＳＥＣまたはＴＥＣのいずれが使用されるべきかを決定するために、複雑な多項式が使用される。
【００１３】
エラー隠蔽モードの決定が、復元のために空間エラー隠蔽が使用されるべきであると決定する場合に、使用するための、新たな空間的エラー隠蔽技術が示される。この新たな空間的エラー隠蔽技術は、破損したマクロ・ブロックを、４個の異なる領域、コーナー領域、角に接している行、角に接している列、および残りの主要領域に分割する。コーナー領域は、隣接したマクロ・ブロックにより、最初に復元される。列と行の領域は、隣接したマクロ・ブロック、または、隣接したマクロ・ブロックに加えて、復元されたコーナー領域を用いて、次に復元される。最後に、残りの領域が、隣接したマクロ・ブロック、列領域、行領域、およびコーナー領域を使用して、補間される。
【００１４】
最後に、マクロ・ブロックの回復技術が、破損されていないインター・ブロックを傷つけるエラー伝播を防ぐために、開示される。具体的には、インター・ブロックがエラーを伝播させるかもしれない、重大なエラーが引き起こす破損が生じていた場合には、インター・マクロ・ブロックは、空間的エラー隠蔽を使用して「回復」される。インター・マクロ・ブロックをいつ回復させるべきかを決定するために、損傷計算（damage calculation）が実行される。損傷計算は、破損したマクロ・ブロックの数、動きの量、シーン変化が生じたかどうか、破損していないイントラ・マクロ・ブロックの数を考慮する。
【００１５】
本発明の他の目的、特徴および利点は、添付の図面、および以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００１６】
【図１】ディジタルビデオ受信機／復号器における、シーン変化に基づくエラー隠蔽モードの決定を下すための一般的なフローを示す。
【図２】影をつけた領域が、検出されたエラーの後の、破損したマクロ・ブロックを示す、ディジタルビデオフレーム・マクロ・ブロック・マップの例を示す。
【図３】スライス全体が破損していると考えられる場合に、影をつけた領域が破損したマクロ・ブロックを示す、ディジタルビデオフレーム・マクロ・ブロック・マップの一例を示す。
【図４】改善されたシーン変化に基づくエラー隠蔽システムが使用される場合の、図１のフローチャートの改訂版を示す。
【図５】改善された空間的エラー隠蔽方法において、個々に取り扱われる、異なる領域に分割されるマクロ・ブロックを、グラフに示す。
【図６Ａ】マクロ・ブロックの中の領域Ｆに対して、３個の最も近接したピクセル、α、βとγを示す。
【図６Ｂ】メディアン適応予測器のための、ピクセル・マップを示す。
【図７】改善された空間的エラー隠蔽方法において使用される、近隣のマクロ・ブロックの最下段右端のピクセルを示す。
【図８Ａ】改善された空間的エラー隠蔽方法が、破損したマクロ・ブロックの中の、最下段のピクセルを、どのようにして復元するかを示す。
【図８Ｂ】改善された空間的エラー隠蔽方法が、破損したマクロ・ブロックの中の、最下段のピクセルを、どのようにして復元するかを示す。
【図８Ｃ】改善された空間的エラー隠蔽方法が、破損したマクロ・ブロックの中の、最下段のピクセルを、どのようにして復元するかを示す。
【図９Ａ】改善された空間的エラー隠蔽方法が、破損したマクロ・ブロックの中の、中央領域のピクセルを、どのようにして復元するかを示す。
【図９Ｂ】改善された空間的エラー隠蔽方法が、破損したマクロ・ブロックの中の、中央領域のピクセルを、どのようにして復元するかを示す。
【詳細な説明】
【００１７】
ディジタルビデオのためのエラー隠蔽システムを選択し、実施する方法が示される。以下の説明において、説明の目的のために、特定の述語が、本発明の完全な理解を提供するために、示される。しかしながら、当業者にとっては、これらの特定の詳細が、本発明を実施するために、必要ではないことは明らかであろう。さらに、本発明はＭＰＥＧディジタルビデオ符号化プロトコルを参照して、主として説明されるが、同じ技術は、他のタイプのディジタルビデオ符号化プロトコルに適用することができる。
【００１８】
エラー隠蔽のモード選択概観          
背景技術に示されているように、不完全なディジタルビデオ情報を含む、破損したディジタルビデオストリームを受信する、ディジタルビデオ受信機／復号器は、消失した情報なしで、できる限り最良な、ビデオイメージを表示しなければならない。再送は、ビデオ電話とビデオストリーミングのような、実時間アプリケーションのためには適していない、深刻な遅延をもたらすので、ディジタルビデオ受信機／復号器は、消失した情報の再送を要求することができない。したがって、いくつかの技術が、ある程度のディジタルビデオ情報の消失や破損にも関わらず、ディジタルビデオをできうる限り最良に表示するために開発されてきている。不完全なディジタルビデオ情報を、できる限り最善の状態で表示するこれらの技術は、一般に、エラー隠蔽（Error Concealment：ＥＣ）技術と呼ばれる。
【００１９】
種々の異なるエラー隠蔽技術が通信中に破損した、ディジタルビデオフレームを復元し表示するために存在する。エラー隠蔽の２つの主なカテゴリーは、時間的エラー隠蔽（Temporal Error Concealment：ＴＥＣ）と、空間的エラー隠蔽（Spatial Error Concealment：ＳＥＣ）である。時間的エラー隠蔽（ＴＥＣ）は、（時間の次元で）近くのディジタルビデオフレームの間の、時間的な相関を利用する。時間的エラー隠蔽（ＴＥＣ）は、破損したマクロ・ブロック（ＭＢ）を、前に復元したビデオフレームからの、処理されたマクロ・ブロックと置き換えることにより、しばしば、エラーを隠蔽する。空間的エラー隠蔽（ＳＥＣ）は、単一のビデオフレームの中での、空間的な相関を利用する。空間的エラー隠蔽（ＳＥＣ）は、誤ったピクセルを、近隣のピクセル（または、変換係数）から誤ったピクセルを予測することにより、ディジタルビデオフレームのエラーを隠蔽する。
【００２０】
各々の異なるエラー隠蔽技術は、それ自身の長所および短所を持つ。したがって、時間的エラー隠蔽と空間的エラー隠蔽のどちらが、最良の結果を提供するのかは、現時点の状況に依存するであろう。時間的エラー隠蔽（ＴＥＣ）と空間的エラー隠蔽（ＳＥＣ）のどちらを使うかの決定は、エラー隠蔽（ＥＣ）モード決定として知られている。エラー隠蔽モードの決定に対する最適な解決策は、与えられた歪測定基準を最小化するエラー隠蔽方法を選択することである。例えば、
【数１】
2010522514.tif 000003
【００２１】
ここで、ＤＳＥＣが、ＳＥＣ隠蔽フレームと基準フレームの間の歪であり、ＤＴＥＣが、ＴＥＣ隠蔽フレームと基準フレームの間の歪であるとする。
【００２２】
しかしながら、実際には、基準が一般に利用可能でないので、歪を測定するのは、きわめて難しい。したがって、ディジタルビデオ受信機／復号器が、空間的エラー隠蔽と時間的エラー隠蔽のどちらを使用すべきかを決定するために、他の方法が使用されなければならない。
【００２３】
シーン変化に基づくエラー隠蔽モード
典型的なビデオシーケンスは、かなりの割合の、高い時間的な相関を持つビデオフレームと、前のビデオフレームと十分な時間的相関を持たない、周期的な「シーン変化」ビデオフレームとから構成されている。したがって、ほとんどのビデオフレームは、高い時間的な相関を持つので、時間的エラー隠蔽システムは、ほとんどの環境において、空間的エラー隠蔽システムよりも、性能が優れている。しかしながら、ビデオフレームが、前のディジタルビデオフレームと十分な相関がない、新しいシーンを含む、シーン変化ビデオフレームでは、ビデオフレーム間の類似度が低いため、時間に基づくエラー隠蔽システムは、一般に、不十分な結果を提供する。したがって、空間的エラー隠蔽は、シーン変化が生じる場合には、エラー隠蔽に対するより良い選択である。
【００２４】
図１は、ディジタルビデオ受信機／復号器における、シーン変化に基づくエラー隠蔽モードの決定を下す一般的なフローを示す。ステップ１１０では、ディジタルビデオ受信機／復号器は、ビデオフレームのためのディジタルビデオ情報を検証する。ステップ１１５において、ディジタルビデオ情報に、エラーが見つからない場合には、次いで、ディジタルビデオ受信機／復号器は、ステップ１５０に示されるエラー隠蔽方法からの支援無しに、ビデオフレームを与えることができる。
【００２５】
ディジタルビデオフレーム情報におけるエラーが見つけられた場合には、次に、ディジタルビデオの受信機／復号器は、破損したビデオフレームが、シーン変化フレームを表すかどうかを決定することを試みるために、ステップ１２０において、ディジタルビデオフレーム情報を、分析する。ディジタルビデオ受信機／復号器が、ステップ１２５で、シーン変化が生じたかどうかを決定すると、次いで、ステップ１６０において、空間的エラー隠蔽技術の助けを借りて、ビデオフレームは復元される。その逆に、システムが、シーン変化が生じなかったと決定した場合には、ステップ１７０に示されるように、破損したビデオフレームは、時間的エラー隠蔽技術の助けを借りて復元される。
【００２６】
図１に示された、エラー隠蔽システムの最も困難な態様の１つは、シーン変化が生じたかどうかを決定するための、ステップ１２０と１２５における、破損したディジタルビデオフレーム情報の分析である。特に、いかにして、ディジタルビデオ受信機／復号器が、シーン変化が生じたかどうかを正確に決定できるかである。
【００２７】
シーン変化エラー隠蔽モードの決定を実施する、１つの極度に単純化された方法は、復号化されつつあるビデオフレームのタイプに基づいて、エラー隠蔽技術を単純に選択することである。具体的には、非常に単純な、シーン変化に基づくエラー隠蔽モードの決定方法は、全てのイントラ・フレーム（Ｉフレーム）に対して、空間的エラー隠蔽（ＳＥＣ）を選択し、ノン・イントラ・フレーム（ＰフレームとＢフレーム）に対して、時間的エラー隠蔽（ＴＥＣ）を選択してもよい。この非常に単純な手法は、シーン変化が生じる場合には、必ず、ディジタルビデオエンコーダーがイントラ・フレームを符号化するという仮定に基づいている。
【００２８】
この極度に単純化されたシーン変化に基づくエラー隠蔽モードの決定方法における問題は、きわめて正確であるとはいえない仮定を含むことである。たとえば、全てのシーン変化が、イントラ・フレームによって扱われるとは限らないであろう。さらに、ディジタルビデオエンコーダーは、シーン変化がない場合においても、一般に、意図的に、周期的な基準で、イントラ・フレームを生成する。イントラ・フレームは、ランダム・アクセスとエラー回復を目的として、周期的に挿入される。全てのシーン変化が、イントラ・フレームと印をつけられるわけではなく、全てのイントラ・フレームが、シーン変化というわけではないという事実は、この非常に極度に単純化されたフレーム・タイプを基にした、シーン変化エラー隠蔽モードの決定方法を、最適以下にする。
【００２９】
もう少し、より精巧で有効なシーン変化検出方法は、ディジタルビデオフレームを表すために使用されるマクロ・ブロックのタイプを分析することにより、シーン変化を検出する。このようなシーン変化検出方法においては、ディジタルビデオフレーム内の多くのマクロ・ブロックが、イントラ・コード化されていると、１つのフレームが「シーン変化」のフレームであると決定される。このエラー隠蔽モード決定の１つの実施は、次の式により表すことができる。
【数２】
2010522514.tif 000004
【００３０】
ここにおいて、
Nｉｎｔｒａ，ｒｃｖ＝（フレーム内の）受信した、破損されていないイントラ・マクロ・ブロックの数
Ｎｔｏｔａｌ，ｒｃｖ＝（フレーム内の）受信した、破損されていないマクロ・ブロックの総数
ＴＨＤ＝閾値
である。
【００３１】
いくつかのマクロ・ブロックは、パケット損失またはチャネル・エラーにより失われているか、破損しているので、Nｉｎｔｒａ，ｒｃｖは、フレーム内のマクロ・ブロックの総数ではないかもしれないことに注意されたい。
【００３２】
式（１）のシーン変化エラー隠蔽モードの決定方法は、極度に単純化されたフレーム・タイプ決定方法の改善版である。しかしながら、式（１）のシーン変化エラー隠蔽モードの決定方法は、まだ、いくつかの問題を持つ。式（１）のエラー隠蔽モードの決定方法に関わる、４個の問題は、次のテーブルに示される。
【００３３】
表１  式（１）のエラー隠蔽モード決定の問題点
問題１．マクロ・ブロックのタイプを、シーン変化のただ１つの指標として使用することは、十分に正確ではないかもしれない。マクロ・ブロックのタイプは、ディジタルビデオエンコーダーによって決定される。各々の異なるディジタルビデオエンコーダーは、異なる設計を持つので、ディジタルビデオエンコーダーが期待した通りに動作するであろうと想定することができない。たとえば、動き補償後の残余エラーが著しいにもかかわらず、ディジタルビデオエンコーダーは、多くのマクロ・ブロックを「インター(inter)」として符号化するかもしれない。したがって、インター・ブロックは、シーン変化が生じた場合にも、使用されるかもしれない。
【００３４】
問題２．（マクロ・ブロックのタイプを含むヘッダーを備える）いくつかの重要な情報が損なわれるか、失われるかもしれないので、残された情報は信頼できる決定を下すのには十分ではないかもしれない。たとえば、１つのフレーム中の９７％のマクロ・ブロックが消失し、数個の残りのマクロ・ブロックが、全てイントラ・コード化されているとすると、次に、式（１）のエラー隠蔽モードの決定方法は、ＳＥＣが選択されるように、そのフレームがシーン変化を示すと結論を下すだろう。しかしながら、多くの消失したマクロ・ブロックの、マクロ・ブロックのタイプは不明である。大半の消失したマクロ・ブロックが、ＴＥＣが使われるべきであったように、インター・コード化されていたということはありうる。
【００３５】
問題３．エラー隠蔽モードの決定を下す場合に、動きは、さらに詳しい考慮をすべきであるファクターである。非常に高い動きを有するフレームよりも、破損した静的なシーンを隠蔽する場合に、ＴＥＣはよりよい性能を有している。単純なシーン変化の検出は、動きを考慮に入れない。
【００３６】
問題４．式（１）で指定された、エラー隠蔽モードの決定方法は、イントラ・フレームではうまく働かない。具体的には、イントラ・フレーム内の全てのマクロ・ブロックが、イントラ・コード化されると、式（１）のエラー隠蔽モードの決定方法は、常にイントラ・フレームのためにＳＥＣを選択するであろう。イントラ・フレームは、シーン変化が実際に生じたか否かに関わらず、周期的に挿入されるので、ＴＥＣがより良い結果を提供したかもしれないのにも関わらず、ＳＥＣが使用されるであろう。
【００３７】
エラー隠蔽モードの決定のための改善されたシーン変化検出器
ディジタルビデオ受信機／復号器により良い結果を提供するために、本発明は、エラー隠蔽モードの決定を下すために使用されてもよい、精巧なシーン変化検出システムを導入する。本発明のシーン変化検出システムは、テーブル１に示された全ての問題を扱う。
【００３８】
問題１．大きな残余エラーを有するインター・フレーム
テーブル１の最初の問題を扱うために、インター・マクロ・ブロックにおける残余エラーの影響を反映するファクターを式（１）に加えてもよい。このように、インター・フレーム符号化からの、大きな残余エラーを有するフレームは、シーン変化であると決定してもよい。１つの実施例において、式（１）のエラー隠蔽モード決定方法、次のように修正される。
【数３】
2010522514.tif 000005
【００３９】
ここで、
ｋ１＝第１項のための重み付けファクター（インター・マクロ・ブロックのパーセント）
Ｑｐ＝フレームの平均量子化パラメータ
Ｂｉｔｓ＝破損したビデオ・フレームのビット数
Ｔ＝閾値
である。  
式（２）の修正されたエラー隠蔽モードの決定方法では、加算したＱｐ＊Ｂｉｔｓは、インター・マクロ・ブロックにおける残余エラーのファクターに算入する。この変更の背後にある考えは、マクロ・ブロックが前の基準フレームからよく一致するものを見つけられないので、シーン変化フレームにおける、インター・マクロ・ブロックの残余エラーが、通常の場合には、非常に大きいことである。したがって、より多くのビットが、残余エラーを符号化するために必要であろう。
【００４０】
通信ネットワークにおいて、ディジタルビデオ情報は、通常の場合には、小さいパケット（またはセル）に分割され送信される。ディジタルビデオパケットは通信中に失われるか、ＣＲＣ（またはチェックサム）の失敗によりディジタルビデオ受信機／復号器により廃棄されるかもしれない。したがって、ディジタルビデオ受信機／復号器は、式（２）の「Ｂｉｔｓ」項（破損したフレームのビット数）がディジタルビデオ復号器には分からないように、破損したデータを得ることができないかもしれない。これを扱うために、「Ｂｉｔｓ」項は、２つの部分、受信機／復号器が受け取るビット数（Ｂｉｔｓｒｅｃｖで表される）と、消失したビット数（Ｂｉｔｓｌｏｓｔで表される）に、分けることができる。この変更により、式（２）は次のように修正される。
【数４】
2010522514.tif 000006
【００４１】
ディジタルビデオ復号器は、一般に、通信中に消失したビット数を知らされない。ディジタルビデオ復号器は消失したデータの量を知らないので、下位レイヤー（例えばＲＴＰ）において、Ｂｉｔｓｌｏｓｔ項は推定され提供されるべきである。１つの実施例では、Ｂｉｔｓｌｏｓｔ項は次の式を使用して推定することができる。
【数５】
2010522514.tif 000007
【００４２】
ここにおいて、
Ｐｌｏｓｔ＝消失したパケット数、
Ｓｌｏｓｔ＝これらの消失したパケットの推定された大きさ
である。
【００４３】
Ｐｌｏｓｔ項は、パケット・ヘッダーのシーケンス番号から得ることができる。Ｓｌｏｓｔ項は、前に受け取ったディジタルビデオパケットの平均ペイロードの大きさを使用して推定することができる。式（４）を式（３）に代入することにより、エラー隠蔽モードの決定式を次のように変更する。
【数６】
2010522514.tif 000008
【００４４】
問題２：過度のデータ損失
テーブル１に戻って参照すると、大きな量のディジタルビデオ情報が損なわれるか、そうでなければ利用可能ではない場合に、式（１）の第２の問題は、式が不正確なことである。この第２の問題点は、大きな量のディジタルビデオ情報が利用可能ではない場合には、エラー隠蔽モードの決定方法を、時間的エラー隠蔽に向かってバイアスさせる、スケーリング「エラー・ファクター」を、式の左側に加えることにより、解決することができる。スケーリング・ファクターを式（５）に加える、１つの実施例は、以下に示される。
【数７】
2010522514.tif 000009
【００４５】
ここにおいて、
Ｎｃｏｒｒｕｐｔ＝１つのビデオフレーム内で破損（消失を含む）したマクロ・ブロックの数、
Ｎｔｏｔａｌ＝ビデオフレーム内のマクロ・ブロックの総数、
Ｓ（）＝バイアス関数
である。
【００４６】
バイアス関数Ｓ（．）は、Ｓ（０）＝０およびＳ（１）＝１を満足しなければならない。
【００４７】
１つの実施例では、式（６）のＳ（．）関数は、異なる破損レートに対して、異なるスケーリングを与える、非線形のバイアス関数である。シーン変化フレームの数が、一般に、シーン変化のないフレームよりもはるかに少ないので、モード決定は、損なわれるマクロ・ブロックの数が増加するに従って、時間的なエラー訂正（ＴＥＣ）に寄ったバイアスを持つように設計されている。さらに、空間的なエラー訂正（ＳＥＣ）は、ディジタルビデオフレーム内の大半のマクロ・ブロックが破損している場合には、良好には、実行できない。極端な場合には、Ｎｃｏｒｒｕｐｔ＝Ｎｔｏｔａｌとなり、式（６）の左側は０と等しく、時間的なエラー訂正（ＴＥＣ）が、常に選択される。
【００４８】
ビデオフレーム内の、破損したマクロ・ブロックの数を計算する異なる方法がある。その方法は、ディジタルビデオ復号器が、下位レイヤーからのスライス内でのエラーの位置を受け取るかどうかに依存して、異なるであろう。これらの２つの状況の各々は、以下に示される。
【００４９】
ディジタルビデオ復号器が、ビデオフレームの中でエラーがどこにあるのかについて知らされていれば、そのマクロ・ブロック、および、前の開始コードまたは再同期マーカー以降の、全ての前のマクロ・ブロックにエラーが見つからなければ、あるマクロ・ブロックが「破損していない」とマークされるようにして、エラー・マクロ・ブロック・マップが生成される。その反対に、現時点のマクロ・ブロック、または、前の開始コードまたは再同期マーカーまでの、いずれかの前のマクロ・ブロックにエラーが見つかると、そのマクロ・ブロックは「破損している」とマークされる。マーキングの後で、マクロ・ブロック・マップは、各々のエラー・セグメントが、破損したマクロ・ブロックの通し番号を含む、エラー・セグメントを含む。影をつけた領域が破損したマクロ・ブロックを表す、エラー・セグメントを含むマクロ・ブロックのエラー・マップの実例が、図２に示される。「スライス」がビデオフレームにおける独立に復号できるデータ構造を表すことに注意されたい。例は、ＭＰＥＧ４ビデオ符号化方法における「ビデオパケット」と、Ｈ．２６３およびＡＶＧビデオ符号化方法における「スライス」を含んでいる。スライスの中で、最初のマクロ・ブロック番号はスライス・ヘッダーから得ることができる。
【００５０】
下位レイヤーがディジタルビデオ復号器にエラー位置情報を提供しない場合には、次いで、ディジタルビデオ復号器は、それ自身により、エラーを検出することを試みてもよい。一般に、このようなエラー検出は信頼性がなく、まさに第１の破損したマクロ・ブロックを見落としてしまうかもしれない。破損したマクロ・ブロックを見落とすことにより、引き起こされる問題を防ぐために、「破損していないマクロ・ブロック」の保守的な定義が使用される。あるマクロ・ブロックは、そのマクロ・ブロックが存在するスライスの中にエラーが検出されない場合には、マクロ・ブロック・マップにおいて、「破損していない」とマークされる。その逆に、そのスライスの中で、何らかのエラーが検出されると、次いで、そのスライスの全てのマクロ・ブロックは、「破損している」としてマークされる。この破損したマクロ・ブロックの保守的な定義では、スライスの中の任意の検出されたエラーは、スライス全体を役立たないとする。この場合における、この保守的なエラー・マクロ・ブロック・マップおよびエラー・セグメントの例が、図３に示される。
【００５１】
問題３．動きレベル・ファクター
表１に戻って参照すると、式（１）のシーン変化検出システムの３番目の問題は、式（１）が激しい動きを考慮に入れ損なっていることである。具体的には、動きの著しい量がある場合には、時間的なエラー訂正は、より有用ではなくなる。
【００５２】
この問題を扱うために、「動きレベル（motion level）」パラメータが、式（６）の右側に追加されてもよい。この新たに追加された、動きレベル・パラメータは、あるシーンに激しい動きがある場合に、時間的なエラー訂正を使用するのに反対する、追加のバイアスを生成する。動きレベル・パラメータを式（６）に追加した、エラー隠蔽モードの決定式の実施例を、以下に示す。
【数８】
2010522514.tif 000010
【００５３】
ここにおいて、
ＭＶｘ（ｉ，ｊ）＝マクロ・ブロック（ｉ，ｊ）の水平方向動きベクトル
ＭＶｙ（ｉ，ｊ）＝マクロ・ブロック（ｉ，ｊ）の垂直方向動きベクトル
Ｋ２＝スケーリング定数
である。
【００５４】
イントラ・マクロ・ブロックおよび消失したマクロ・ブロックに対する動きベクトルは、利用可能ではないことに注意されたい。失われた動きベクトルに対して０の動きと単純に仮定することは、一般に、適切ではない。一つの実施例においては、「最新で利用可能な（latest available）」動きベクトルが、破損していて、イントラ・コード化されているマクロ・ブロックのために使用される。「最新で利用可能な」動きベクトルは、各々の、入力されてくる、破損していないインター・マクロ・ブロックについて、動き情報が更新される、「動きベクトルマップ（motion vector map）」から得られる。具体的には、動きベクトル（ＭＶ）マップは、Ｍ×Ｎ（ＭとＮは、それぞれ、列と行のブロックの数である）の入力から構成されている。各々の入力は、１つのブロックの、最新の動きベクトルＭＶｘ（ｉ，ｊ）とＭＶｙ（ｉ，ｊ）を含んでいる。動きベクトルマップは、ゼロにより初期化され、受信された、破損していないインター・ブロック各々について更新される。
【００５５】
問題４．イントラ・フレーム
表１に載せられている第４の、最後の問題は、周期的に挿入されるイントラ・フレームが、シーン変化が実際には生じていない場合に、シーン変化が生じたと、式（１）を騙して主張させるかもしれない。具体的には、ランダム・アクセスとエラー回復用に、ディジタル・フレームのストリームに挿入された、イントラ・フレームは、シーン変化が生じたとディジタルビデオ受信機／復号器に信じさせるかもしれない。この第４の問題を解決するために、マクロ・ブロックのタイプ情報の代わりに類似度（similarity）に基づく、特別なシーン変化決定方法がＩフレームとの使用のためだけに設計されている。破損においてＴＥＣに寄るバイアス・コストが、決定基準に追加されている。同様に、動きに対してＳＥＣに寄るバイアスも加えられる。以下の式が、シーン変化の検出を実行し、類似度の項を含んでいる。
【数９】
2010522514.tif 000011
【００５６】
ここにおいて、
Ｃ＝動きに対するスケーリング定数
τ＝閾値
ＳＩＭＹ＝輝度ドメインのための類似度測定基準
ＳＩＭＵおよびＳＩＭＶ＝２つのクロミナンス・ドメインに対する類似度測定基準
である。
【００５７】
１つの実施例においては、類似度測定基準（similarity metric）は、次のように定義されてもよい。
【数１０】
2010522514.tif 000012
【００５８】
ここで、
【数１１】
2010522514.tif 000013
【００５９】
と
【数１２】
2010522514.tif 000014
【００６０】
は、現在および前に復元された、輝度（Ｙ）ヒストグラムを表す。クロミナンスのためのシンボル
【数１３】
2010522514.tif 000015
【００６１】
と
【数１４】
2010522514.tif 000016
【００６２】
は、類似の定義を持っている。さらに、「（○の中に×が入った記号）」は「内積」を表す。
【００６３】
図４は、ディジタルビデオ復号器のエラー隠蔽のための、シーン変化検出を行うための、図１のフローチャートの修正版を示す。図４のフロー・ダイアグラムにおいて、ディジタルビデオフレームがイントラ・フレーム（Ｉ−ｆｒａｍｅ）であるかどうかを決定するために、決定ステップ４２０が追加された。ディジタルビデオフレームがイントラ・フレームであると、式（８）は、ステップ４３３に示すように、シーン変化検出に使用されるであろう。そうでなければ、式（７）は、ステップ４３０に示すように、シーン変化の検出のために使用されるであろう。
【００６４】
改善された空間的エラー隠蔽
本発明は、失われたか、破損したディジタルビデオ情報により生じたエラーを隠蔽するために、空間的エラー隠蔽が選択される場合に使用する、改善された空間的エラー隠蔽（ＳＥＣ）方法を導入する。本発明の、改善された空間的エラー隠蔽方法は、階層的な補間を使う、最近接の利用可能なピクセルを基にするメディアン適応予測器（median adaptive predictor）を備える。
【００６５】
提案された空間的エラー隠蔽手法は、マクロ・ブロックを基にした隠蔽方法であり、全ての正確に受信されたマクロ・ブロックが、前もって復号化されていると仮定している。１つの実施例では、輝度ドメインにおいて、よく知られているＩＴＵおよびＭＰＥＧ規格に示されるように、マクロ・ブロックは、１６×１６であり、クロミナンス・ドメインでは、８×８である。空間的エラー隠蔽方法は、標準ラスター順に従って、破損したマクロ・ブロックに対して実行される。したがって、隠蔽されるべきマクロ・ブロックの、左と上の、全てのマクロ・ブロックとピクセルは、既に、復号器により生成され、破損したマクロ・ブロックを隠蔽するために利用可能である。
【００６６】
提案された空間的エラー隠蔽方法は、破損したマクロ・ブロックを４つの異なる領域に分割する。提案された空間的エラー隠蔽方法は、次いで、マクロ・ブロックのその領域に特有の、特別の空間的エラー隠蔽方式を用いて、各々の異なる領域を扱う。４つの領域と、１６×１６のマクロ・ブロックのための、対応するピクセル座標は、次のように定義される。
【００６７】
領域Ｆ（右下コーナー、１つのピクセル）：（１５、１５）
領域Ｂ（最下段行、１５ピクセル）：（ｉ、１５）、０≦ｉ≦１４
領域Ｒ（右端の列、１５ピクセル）：（１５、ｊ）、０≦ｊ≦１４
領域Ｍ（中央部分、２２５ピクセル）：（ｉ、ｊ）、０≦ｉ、ｊ≦１４
図５は、１つのマクロ・ブロックの、４個のマクロ・ブロック領域、Ｆ，Ｂ，ＲとＭへの分割をグラフにより示す。提案された空間的エラー隠蔽方法は、以下の順に、４個の異なるマクロ・ブロック領域を扱う。
【００６８】
１．領域Ｆ（右下コーナー）の復元：ｘ（１５、１５）
２．領域Ｂ（最下段行）の復元：ｘ（ｉ、１５）、０≦ｉ≦１４
３．領域Ｒ（右端の列）の復元：ｘ（１５、ｊ）、０≦ｊ≦１４
４．領域Ｍ（中央部分）の復元：ｘ（ｉ、ｊ）、０≦ｉ、ｊ≦１４
ここにおいて、ｘ（ｉ、ｊ）は，ピクセルの位置（ｉ、ｊ）における、復元されたピクセルの値を表す。（領域Ｂと領域Ｒの復元は、同様の結果が得られるように、逆の順番に実行することができることに注意されたい。）４つの異なる領域の各々に対する、空間的エラー隠蔽方法は、それぞれ以下の４つの節において説明される。
【００６９】
領域Ｆ（右下コーナー）の復元：ｘ（１５，１５）
Ｆ領域（右下コーナー）は、以下の３つの方法、メディアン適応予測（median adaptive prediction）、ピクセル平均化、または、ピクセル複写、のうち１つを用いて、最近接の「利用可能な」ピクセルを処理することにより、復元される。ピクセルが、破損していないマクロ・ブロックの中に位置する場合には、ピクセルは「利用可能な」と呼ばれる。
【００７０】
領域Ｆから、最近接の利用可能なピクセルまでの距離によって、復元する手順は、以下のように、ケース１またはケース２となる。
【００７１】
ケース１：ケース１は、３つの、隣の（下、右、右下の）マクロ・ブロック内の、隣接した３つのピクセルの少なくとも１つが利用可能であることを必要とする。具体的には、図６Ａを参照すると、領域Ｆの３つの最も近隣の、α、βとγは、破損していないマクロ・ブロックの中になければならない。ケース１は、さらに、以下の４つのサブ・ケース１．１から１．４に分けられる。
【００７２】
ケース１．１：ケース１．１は、３つの周囲のピクセル、α、βとγのすべてが、利用可能である（全てのピクセルが破損していないマクロ・ブロックに存在する）場合に生じる。３つの周囲のピクセル、α、βとγが利用可能な場合には、領域Ｆのコーナー・ピクセルは、次の式でメディアン適応予測器を使用して復元される。
【数１５】
2010522514.tif 000017
【００７３】
元の、メディアン適応予測器は、ロスレスで画像を圧縮するように設計されていて、図６Ｂに示すように、周囲のピクセル、ｐ、ｑとｒにより、現在のピクセルｘを予測する、非線形の予測器である。ｒ≧ｑ≧ｐまたはｒ≦ｑ≦ｐであれば、垂直方向の縁がｘより上にあり、ｒ≧ｐ≧ｑまたはｒ≦ｐ≦ｑであれば、水平方向の縁がｘより上にあると、仮定している。領域Ｆを復元するために使用する３個の周囲のピクセルは、元のメディアン適応予測器のそれとは異なることに注意されたい。
【００７４】
ケース１．２：ケース１．２は、図６Ａの、αとβの両方のピクセルが、破損していないマクロ・ブロックに存在する場合に、使用される。（しかし、それがケース１．１になるので、γは利用可能ではない。）ケース１．２では、領域Ｆのコーナー・ピクセルは、以下の式によるピクセル平均化を使用して復元される。
【数１６】
2010522514.tif 000018
【００７５】
ここにおいて、２の割算の操作は、右シフト操作（＞＞１）によって実行され得る。
【００７６】
ケース１．３：ケース１．３は、αまたはβの一方（しかしながら両方ではない）が、破損していないマクロ・ブロックに存在している（γの状態は無関係である）場合に使用される。ケース１．３においては、ピクセルの複写
ｘ（１５，１５）＝ｘ（１６，１５）またはｘ（１５，１６）
により、領域Ｆは復元される。
【００７７】
ケース１．４：最後に、ケース１．４は、γだけが破損していないマクロ・ブロックにある場合に、使用される。ケース１．４の場合には、領域Ｆは、次のピクセル複写により復元される。
【００７８】
ｘ（１５，１５）＝ｘ（１６，１６）
ケース２：図６Ａに戻って参照すると、ケース２は、領域Ｆの３つの最も近隣のα、βとγは全て、破損したマクロ・ブロックの中にある場合に生じる。図６Ａのα、βとγは、利用可能ではないので、領域Ｆは、現時点で隠蔽されているマクロ・ブロックに隣接している、他の３個の（上、左と上左の）マクロ・ブロックからのピクセルを使用して、復元されなければならない。現在のマクロ・ブロックが端に配置されていると、これらのマクロ・ブロックは、利用可能ではないかもしれないことに注意されたい。マクロ・ブロックが端に配置されていなければ、図５に示されるように、これらは、エラー無しで受信されているか、既に隠蔽されているので、これらのマクロ・ブロックは、すでに、復元されている。ケース２では、近隣のマクロ・ブロックの、下段右端のピクセルは、図７でピクセルα、βとγにより示されるように、領域Ｆの復元に使われるかもしれない。端の状況により、ケース２は、以下の４つのサブ・ケース２．１から２．４に、さらに分割される。
【００７９】
ケース２．１：ケース２．１は、マクロ・ブロックがフレームの左上のコーナーに位置する場合に生じる。この場合には、近隣のピクセル情報は利用可能ではないため、領域Ｆは、ピクセルの値の平均か中央値に単に設定される。一つの実施例では、領域Ｆは、次の式により復元される。
【００８０】
ｘ（１５，１５）＝１２８                                      (１６)
ケース２．２：ケース２．２は、マクロ・ブロックがフレームの上段の行に位置する場合に生じる。ケース２．２では、以下の式を用いて、図７のピクセル複写αにより、復元される。
【００８１】
ｘ（１５，１５）＝ｘ（−１、１５）                            (１７)
ケース２．３：ケース２．３は、マクロ・ブロックがフレームの左端の行に位置する場合に、生じる。ケース２．３では、以下の式を有する、図７のピクセル複写βにより、領域Ｆが復元される。
【００８２】
ｘ（１５，１５）＝ｘ（１５、−１）                              （１８）
ケース２−４：ケース２．１は、前記のケースのどれもが適用できない（全ての上および左のマクロ・ブロックが利用可能である）場合に生じる。ケース２．４では、領域Ｆは、メディアン適応予測器を、ｘ（−１，１５）、ｘ（１５、−１）とｘ（−１，−１）（図７に示された、ピクセルα、βとγ）に、以下の式とともに、適用して復元される。
【数１７】
2010522514.tif 000019
【００８３】
Ｂ領域（最下段の行）の復元：ｘ（ｉ、１５）、０≦ｉ≦１４
図６Ａに戻って参照すると、２つの異なる復元方式が、最下段の行領域Ｂを再生するために使われている。具体的には、以下に示される、ケース１またはケース２が、行領域Ｂの下のマクロ・ブロックが利用可能であるか、または、破損しているか他の理由で利用できないかに依存して、選択される。
【００８４】
ケース１：ケース１は、行領域Ｂの下のマクロ・ブロックが、破損していない場合に使用することができる。この場合には、領域Ｂの各々のピクセルは、次の式を使い、その下のピクセルと同じ値として復元される。
【００８５】
ｘ（ｉ、１５）＝ｘ（ｉ、１６）、０≦ｉ≦１４                    （２０）
ケース２：ケース２は、行領域Ｂの下のマクロ・ブロックが破損しているか利用可能でない場合に、使用される。この場合に、行領域Ｂの各々のピクセルは、最下段の行の中央から開始して、２つの前に復元されたピクセルの平均として、復元される。最初の２つの、前に復元されたピクセルは、領域Ｆからのピクセルと、左側のマクロ・ブロックの、最下段の右端のピクセルである。ピクセルの復元は、以下の式を使用して行われる。
【数１８】
2010522514.tif 000020
【００８６】
ここにおいて、復元の順番と、ｉとｋの関係は、以下の表２に示される。２の割算の操作は、右シフト操作（＞＞１）により行うことができることに注意されたい。
【００８７】
表２  領域ＢとＲにおける、復元の順序と、ｉとｋとの関係
【表１】
2010522514.tif 000021
【００８８】
復元の手順は、図８Ａから８Ｃにグラフ表示される。最下段行ｘ（ｉ、１５）の各々のピクセルは、最近接の２つの、前に復元されたピクセルの平均により復元される。各々のピクセルは、復元のために、２つの加算操作（＋）と１つのシフト操作（＞＞）とを必要とする。
【００８９】
Ｒ（右端の列）の復元：ｘ（１５、ｉ）、０≦ｉ≦１４
図６Ａにおける、右端列のＲ領域の復元は、最下段行の領域Ｂのための復元手順と同様に進む。具体的には、列領域Ｒの右側のマクロ・ブロックが破損しているか否かに依存して、２つの異なる方式が、破損したマクロ・ブロックの、右端列のＲ領域を隠蔽するために、使用される。
【００９０】
ケース１：ケース１は、列領域Ｒの右側のマクロ・ブロックが破損していない場合に、使用される。この場合には、領域Ｒにおける各々のピクセルは、以下の式により、その隣のピクセルと同じ値に復元される。
【００９１】
ｘ（１５、ｉ）＝ｘ（１６、ｉ）、０≦ｉ≦１４                        （２２）
ケース２：ケース２は、列領域Ｒの右側のマクロ・ブロックが破損しているか利用可能ではない場合に、使用される。ケース２では、以下の式により、右端の列の中央から始めて、領域Ｒ内の各々のピクセルは、最近接の２つの、前に復元されたピクセルの平均として復元される。
【数１９】
2010522514.tif 000022
【００９２】
復元の順番およびｉとｋの関係は、行領域Ｂの復元に関する前節のそれと同じである。２の割算操作が、右シフト操作（＞＞１）により行うことができることに注意されたい。
【００９３】
領域Ｍ（中央部分）の復元：ｘ（ｉ、ｊ）、０≦ｉ、ｊ≦１４
この点において、マクロ・ブロックの最下段の行と右端列のピクセルが復元されている。
【００９４】
残りのピクセル（マクロ・ブロックの中央部分、図６Ａに示されている領域Ｍ）は、マクロ・ブロックの中央から開始して、４つの前に復元されたピクセルの平均として、復元される。具体的には、領域Ｍのピクセルに挿入するのに、以下の式が使用される。
【数２０】
2010522514.tif 000023
【００９５】
ここにおいてｎ＝０またはｍである。式（２４）において、４の割算は、２桁の右シフト操作（＞＞２）により行うことができる。復元の順番および最初の２５個のピクセルに対する（ｉ、ｊ）、ｍとｎとの関係は、表３に示される。残されたピクセルの順番は、以下のようにして導き出すことができる
表３  領域Ｍにおける、復元の順序と、ｉとｋとの関係
【表２】
2010522514.tif 000024
【００９６】
各々のピクセルの復元は、４つの加算操作（＋）と１つの２桁のシフト操作（＞＞２）とを必要とする。領域Ｍに対する復元手順は、図９Ａと９Ｂにグラフで示されている。
【００９７】
破損していないフレームへの伝播エラー
ディジタルビデオフレームのための情報が、エラー無しで、送信され、受信される場合でさえ、表示されるディジタルビデオフレームは、前に受信したディジタルビデオフレームにおけるエラーのために、視覚的には品位が落ちるかもしれない。具体的には、現在のディジタルビデオフレームは、前に送信されたディジタルビデオフレーム内の、破損したマクロ・ブロックの参照を含むかもしれない。これらの破損したマクロ・ブロックが、エラー隠蔽方法により復元されると、復元されたマクロ・ブロックを参照する、現在のディジタルビデオフレームは、視覚的な誤差を含むであろう。
【００９８】
この問題を扱うために、本発明は、ある条件において、マクロ・ブロックの「回復（refreshing）」を提案する。「回復」という言葉は、空間的エラー隠蔽（ＳＥＣ）により、マクロ・ブロックを再生することを、意味する。ＳＥＣにより導入される、オーバーシュート（例えば、にじみ）を防ぐために、「回復」方式は、クロミナンス（ＵとＶ）ドメイン上だけで適用される。
【００９９】
本発明の回復手順は、次の３ステップ、準備、決定および処理を含んでいる。各々のステップが詳細に説明されていく。
【０１００】
準備：回復テーブル
システムは、各々の入力が、マクロ・ブロック（ＭとＮが、ディジタル・フレーム内の、マクロ・ブロックの行と列の数を表す）のための、「回復」の状態を示す、Ｍ×Ｎの入力から構成される、回復テーブルを生成する。対応するマクロ・ブロックが破損していて、空間的なエラー訂正により隠蔽されている場合には、システムは、入力の初期値を「２」に設定する。そうでなければ、初期値を「０」に設定する。
【０１０１】
決定：破損していないブロックに空間的エラー隠蔽を使用するか？
次に、システムは、対応するマクロ・ブロックが以下の全ての条件を満たす場合に、ディジタルビデオフレームを走査し、回復テーブル入力値を「０」から「１」に変更する。
【０１０２】
１．破損していないマクロ・ブロックである。（マクロ・ブロックが破損していない場合には、エラー隠蔽が起動されるであろう。）
２．インター・マクロ・ブロックである。（イントラ・マクロ・ブロックは、エラー伝播問題がない。）
３．破損していないマクロ・ブロックの数が、閾値よりも大きい。（ＳＥＣは、余りにも多くの破損したマクロ・ブロックの条件では、適切に実行することができない。）
そうでなければ、システムは値をそのままにしておく。
【０１０３】
提案されたアルゴリズムの目的が、破損していないインター・マクロ・ブロックへの、エラー伝播の影響を減らすことであるため、エラーの状態に基づいて決定を下すべきである。したがって、条件３の閾値は、破損の関数として設定されるべきである。破損がさらに著しい場合には、より多くのマクロ・ブロックが回復されるように、閾値はより低く設定されるべきである。真の影響を反映するために、破損したマクロ・ブロックの数だけではなく、たとえば動きの量、シーン変化が生じているかどうか、破損していないイントラ・マクロ・ブロック、過去の破損など、他の要素により、破損は推定される。大きな量の動きおよびシーン変化の発生などのファクターは、破損をさらに悪くする傾向がある。他方では、破損していないイントラ・マクロ・ブロックは破損を減らす傾向がある。１つの実施例において、損傷ファクター（damage factor）は、以下の式により計算される。
【数２１】
2010522514.tif 000025
【０１０４】
ここにおいて、
【数２２】
2010522514.tif 000026
【０１０５】
Ｎｉ＝新しい損傷（破損したマクロ・ブロックの数）
Ｄｉ−１＝過去の損傷
ｋ１、ｋ２＝動きにより引き起こされた損傷の拡大を反映する定数（ｋ１、ｋ２≧１）。
【０１０６】
静的なシーンではｋ１＝ｋ２＝１
Ｉ＝エラー訂正ファクター（破損していないイントラ・マクロ・ブロックから得られた利点）。Ｉ≦１（１は破損していないイントラ・マクロ・ブロックがないことを表す。）
ｓ＝シーン変化ファクター、ｓ≧１（１は、シーン変化が無いことを表す）
処理：空間的エラー隠蔽の実行
空間的エラー隠蔽方法を、対応する回復テーブルの入力が「１」とマークされている、マクロ・ブロックのクロミナンス・ドメインに適用する。空間的エラー隠蔽アルゴリズムを、「２」とマークされている、マクロ・ブロックの輝度ドメインとクロミナンス・ドメインの両方に適用する。多くの異なる空間的エラー隠蔽方法が使用されてもよい。１つの実施例においては、前の節に示されたことに基づく、空間的エラー隠蔽方法は、実験的には、「回復」のための空間的エラー隠蔽として役に立つ。
【０１０７】
上記では、ディジタルビデオにおけるエラー隠蔽を実行するための、多くの技術が説明された。本発明の範囲から離れることなく、本発明の素材と要素の構成の変更と修正が、当業者によりされ得ることは、考えられることである。
【図１】
2010522514.tif 000027
【図２】
2010522514.tif 000028
【図３】
2010522514.tif 000029
【図４】
2010522514.tif 000030
【図５】
2010522514.tif 000031
【図６Ａ】
2010522514.tif 000032
【図６Ｂ】
2010522514.tif 000033
【図７】
2010522514.tif 000034
【図８Ａ】
2010522514.tif 000035
【図８Ｂ】
2010522514.tif 000036
【図８Ｃ】
2010522514.tif 000037
【図９Ａ】
2010522514.tif 000038
【図９Ｂ】
2010522514.tif 000039
【国際調査報告】
2010522514.tif 000040
2010522514.tif 000041
2010522514.tif 000042