(57)【特許請求の範囲】
【請求項１】
受信側映像デコーダにて映像をデコードする方法であって、
ある特定の画像に対する映像データがエラーを含むかどうか決定し、そしてエラーが存在すると決定したことに応答して、少なくともそのエラーを含む映像データのエラー部分の更新を要求する更新要求メッセージを、以前の更新要求メッセージが送信側映像エンコーダへ送信されてから所定の時間周期が経過したかどうかに従って、上記送信側映像エンコーダへ送信し、上記以前に送信された更新要求メッセージは、映像データの対応するエラー部分のための更新を要求しており、上記所定の時間周期は、
上記送信側映像エンコーダが上記以前に送信された更新要求メッセージを受信し、上記以前に送信された更新要求メッセージに応答して映像データの対応する更新を送信でき、且つ
上記受信側映像デコーダが上記対応する更新された映像データを受信できるようにする時間を許すように選択されていることを特徴とする方法。
【請求項２】
上記所定の時間周期は、上記受信側映像デコーダと上記送信側映像エンコーダとの間の通信経路のラウンドトリップ遅延に、上記送信側エンコーダが受信された更新要求メッセージに応答するに必要とされる時間を加えたものに比例する請求項１に記載の方法。
【請求項３】
上記所定の時間周期は、上記ラウンドトリップ遅延時間の２倍に、上記送信側エンコーダが受信された更新要求メッセージに応答するに必要とされる時間を加えたものに等しい請求項２に記載の方法。
【請求項４】
Ｈ．２４５制御プロトコルを用いて上記ラウンドトリップ遅延時間を測定することを備える請求項２、又は３に記載の方法。
【請求項５】
上記特定の画像に対する映像データをチェックして、画像レベル、ブロックのグループレベル、若しくはマクロブロックレベルのいずれかにおけるエラーを検出することを備える請求項１に記載の方法。
【請求項６】
上記特定の画像の画像ヘッダが崩壊したか、又はあり得ないパラメータを含むときに、上記特定の画像におけるエラーを上記画像レベルで検出することを備える請求項５に記載の方法。
【請求項７】
上記特定の画像がイントラコード化されており、上記特定の画像の所定数以上のセグメントが崩壊したときに、上記特定の画像におけるエラーを上記画像レベルで検出することを備える請求項５に記載の方法。
【請求項８】
上記セグメントは、ブロックのグループ、スライス、又はマクロブロックのそれぞれである請求項７に記載の方法。
【請求項９】
所定数以上の初期の画像にわたってエラーの伝播が生じ、上記伝播したエラーによって影響を受ける領域が以前に更新されずに所定のスレッシュホールド値よりも大きくなったときに、上記特定の画像におけるエラーを上記画像レベルで検出することを備える請求項５に記載の方法。
【請求項１０】
隠蔽されたマクロブロックの記録を保持して、上記伝播したエラーによって影響を受ける上記特定の画像の領域が上記所定のスレッシュホールド値よりもいつ大きくなったのかを決定することを備える請求項９に記載の方法。
【請求項１１】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信することを備え、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項５に記載の方法。
【請求項１２】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、上記画像レベルにおける最後の更新以来、画像内容が著しく変化したかどうか決定し、
上記画像内容が著しく変化していないと決定したことに応答して、更新要求メッセージを上記画像レベルで送信することなく、かつ、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかを考慮することなく、次の画像をデコードする請求項５に記載の方法。
【請求項１３】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、上記画像レベルにおける最後の更新以来、画像内容が著しく変化したかどうか決定し、
上記画像レベルにおける最後の更新以来、画像内容が著しく変化したと決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから経過した時間周期が上記所定の時間周期を超えた場合に、更新要求メッセージを上記画像レベルで送信することを備える請求項５に記載の方法。
【請求項１４】
上記特定の画像におけるエラーを上記ブロックのグループレベルで検出したことに応答して、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記ブロックのグループレベルで送信することを備え、上記ブロックのグループレベルにおける上記更新要求メッセージは、ブロックのグループの全体に対して上記映像データの更新を要求するものである請求項５に記載の方法。
【請求項１５】
エラーを含むブロックのグループ内のマクロブロックの数を決定し、
上記エラーを含むブロックのグループ内のマクロブロックの数が所定のスレッシュホールド値より少ないと決定したことに応答して、更新要求メッセージを上記ブロックのグループレベルで送信することなく、かつ、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから所定の時間周期が経過したかどうかを考慮することなく、次のブロックのグループをデコードすることを備える請求項１４に記載の方法。
【請求項１６】
エラーを含むブロックのグループ内のマクロブロックの数を決定し、
上記エラーを含むブロックのグループ内のマクロブロックの数が所定のスレッシュホールド値を超えると決定したことに応答して、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから経過した時間周期が上記所定の時間周期を超えた場合に、更新要求メッセージを上記ブロックのグループレベルで送信することを備える請求項１４に記載の方法。
【請求項１７】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドを超えると決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信することを備え、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項５に記載の方法。
【請求項１８】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドより小さいが０より大きいと決定したことに応答して、上記特定の画像が以前の画像に関して著しく変化したかどうかを決定し、
上記特定の画像が以前の画像に関して著しく変化したと決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信することを備え、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項５に記載の方法。
【請求項１９】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドより小さいが０より大きいと決定したことに応答して、上記特定の画像が以前の画像に関して著しく変化したかどうかを決定し、
上記現在画像が上記以前の画像に関して著しく変化していないと決定したことに応答して、次の画像をデコードする請求項５に記載の方法。
【請求項２０】
上記特定の画像の全体が可能な限りデコードされるまで、上記ブロックのグループレベルで発生されたいずれの更新要求メッセージの送信をも遅延させ、
更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信すべきかどうかを決定し、更新要求メッセージを上記画像レベルで送信すべきと決定したことに応答して、いずれかの更新要求メッセージを上記ブロックのグループレベルで送信する代わりに、上記更新要求メッセージを上記画像レベルで送信することを備える請求項１４に記載の方法。
【請求項２１】
映像データをデコードするための映像デコーダであって、
ある特定の画像に対する映像データがエラーを含むかどうか決定し、そして、エラーが存在すると決定したことに応答して、少なくともそのエラーを含む映像データのエラー部分の更新を要求する更新要求メッセージを、以前の更新要求メッセージが送信側映像エンコーダへ送信されてから所定の時間周期が経過したかどうかに従って、上記送信側映像エンコーダへ送信し、上記以前に送信された更新要求メッセージは、映像データの対応するエラー部分のための更新を要求しており、上記所定の時間周期は、
上記送信側映像エンコーダが上記以前に送信された更新要求メッセージを受信し、上記以前に送信された更新要求メッセージに応答して映像データの対応する更新を送信でき、且つ
上記受信側映像デコーダが上記対応する更新された映像データを受信できるようにする時間を許すように選択されていることを特徴とする映像デコーダ。
【請求項２２】
上記所定の時間周期は、上記映像デコーダと上記送信側映像エンコーダとの間の通信経路の上記ラウンドトリップ遅延に、上記送信側エンコーダが受信された更新要求メッセージに応答するに必要とされる時間を加えたものに比例する請求項２１に記載の映像デコーダ。
【請求項２３】
上記所定の時間周期は、上記ラウンドトリップ遅延時間の２倍に、上記送信側エンコーダが受信された更新要求メッセージに応答するに必要とされる時間を加えたものに等しい請求項２２に記載の映像デコーダ。
【請求項２４】
Ｈ．２４５制御プロトコルを用いて上記ラウンドトリップ遅延時間を測定するように構成されている請求項２２、又は２３に記載の映像デコーダ。
【請求項２５】
上記特定の画像に対する映像データをチェックして、画像レベル、ブロックのグループレベル、若しくはマクロブロックレベルのいずれかにおけるエラーを検出するように構成されている請求項２１に記載の映像デコーダ。
【請求項２６】
上記特定の画像の画像ヘッダが崩壊したか、又はあり得ないパラメータを含むときに、上記特定の画像におけるエラーを画像レベルで検出するように構成されている請求項２５に記載の映像デコーダ。
【請求項２７】
上記特定の画像がイントラコード化されており、上記特定の画像の所定数以上のセグメントが崩壊したときに、上記特定の画像におけるエラーを上記画像レベルで検出するように構成されている請求項２５に記載の映像デコーダ。
【請求項２８】
上記セグメントは、ブロックのグループ、スライス、又はマクロブロックのそれぞれであるように構成されている請求項２７に記載の映像デコーダ。
【請求項２９】
所定数以上の初期の画像にわたってエラーの伝播が生じ、上記伝播したエラーによって影響を受ける領域が以前に更新されずに所定のスレッシュホールド値よりも大きくなったときに、上記特定の画像におけるエラーを上記画像レベルで検出するように構成されている請求項２５に記載の映像デコーダ。
【請求項３０】
隠蔽されたマクロブロックの記録を保持して、上記伝播したエラーによって影響を受ける上記特定の画像の領域が上記所定のスレッシュホールド値よりもいつ大きくなったのかを決定するように構成されている請求項２９に記載の映像デコーダ。
【請求項３１】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信するように構成されており、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項２５に記載の映像デコーダ。
【請求項３２】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、上記画像レベルにおける最後の更新以来、画像内容が著しく変化したかどうか決定し、
上記画像内容が著しく変化していないと検出したことに応答して、更新要求メッセージを上記画像レベルで送信することなく、かつ、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかを考慮することなく、次の画像をデコードするように構成されている請求項２５に記載の映像デコーダ。
【請求項３３】
上記特定の画像におけるエラーを上記画像レベルで検出したことに応答して、上記画像レベルにおける最後の更新以来、画像内容が著しく変化したかどうか決定し、
上記画像レベルにおける最後の更新以来、画像内容が著しく変化したと決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから経過した時間周期が上記所定の時間周期を超えた場合に、更新要求メッセージを上記画像レベルで送信するように構成されている請求項２５に記載の映像デコーダ。
【請求項３４】
上記特定の画像におけるエラーを上記ブロックのグループレベルで検出したことに応答して、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記ブロックのグループレベルで送信するように構成されており、上記ブロックのグループレベルにおける上記更新要求メッセージは、ブロックのグループの全体に対して上記映像データの更新を要求するものである請求項２５に記載の映像デコーダ。
【請求項３５】
エラーを含むブロックのグループ内のマクロブロックの数を決定し、
上記エラーを含むブロックのグループ内のマクロブロックの数が所定のスレッシュホールド値より少ないと決定したことに応答して、更新要求メッセージを上記ブロックのグループレベルで送信することなく、かつ、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから所定の時間周期が経過したかどうかを考慮することなく、次のブロックのグループをデコードするように構成されている、請求項３４に記載の映像デコーダ。
【請求項３６】
エラーを含むブロックのグループ内のマクロブロックの数を決定し、
上記エラーを含むブロックのグループ内のマクロブロックの数が所定のスレッシュホールド値を超えると決定したことに応答して、以前の更新要求メッセージが上記ブロックのグループレベルで送信されてから経過した時間周期が上記所定の時間周期を超えた場合に、更新要求メッセージを上記ブロックのグループレベルで送信するように構成されている請求項３４に記載の映像デコーダ。
【請求項３７】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドを超えると決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信するように構成されており、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項２５に記載の映像デコーダ。
【請求項３８】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドより小さいが０より大きいと決定したことに応答して、上記特定の画像が以前の画像に関して著しく変化したかどうかを決定し、
上記特定の画像が以前の画像に関して著しく変化したと決定したことに応答して、以前の更新要求メッセージが上記画像レベルで送信されてから所定の時間周期が経過したかどうかに従って、更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信するように構成されており、上記画像レベルにおける上記更新要求メッセージは、画像の全体に対して上記映像データの更新を要求するものである請求項２５に記載の映像デコーダ。
【請求項３９】
上記特定の画像に対する全てのブロックのグループをデコードし、
上記特定の画像内のエラーを含むマクロブロックの全数を決定し、
上記特定の画像内のエラーを含むマクロブロックの全数が所定のスレッシュホールドより小さいが０より大きいと決定したことに応答して、上記特定の画像が以前の画像に関して著しく変化したかどうかを決定し、
上記特定の画像が上記以前の画像に関して著しく変化していないと決定したことに応答して、次の画像をデコードするように構成されている請求項２５に記載の映像デコード装置。
【請求項４０】
上記特定の画像の全体が可能な限りデコードされるまで、上記ブロックのグループレベルで発生されたいずれの更新要求メッセージの送信をも遅延させ、
更新要求メッセージを上記送信側映像エンコーダへ上記画像レベルで送信すべきかどうかを決定し、更新要求メッセージを上記画像レベルで送信すべきと決定したことに応答して、いずれかの更新要求メッセージを上記ブロックのグループレベルで送信する代わりに、上記更新要求メッセージを上記画像レベルで送信するように構成されている請求項３４に記載の映像デコーダ。
【請求項４１】
請求項２１から４０のうちのいずれか１項に記載の映像デコーダを備える移動無線装置。
【請求項４２】
受信側映像デコーダにて映像データをデコードするためのコンピュータプログラムコードを備えたコンピュータプログラムにおいて、該コンピュータプログラムコードは、
ある特定の画像に対する映像データがエラーを含むかどうか決定し、そしてエラーが存在すると決定したことに応答して、少なくともそのエラーを含む映像データのエラー部分の更新を要求する更新要求メッセージを、以前の更新要求メッセージが送信側映像エンコーダへ送信されてから所定の時間周期が経過したかどうかに従って、上記送信側映像エンコーダへ送信するような機能を、コンピュータに行わせるものであり、上記以前に送信された更新要求メッセージは、映像データの対応するエラー部分のための更新を要求しており、上記所定の時間周期は、上記送信側映像エンコーダが上記以前に送信された更新要求メッセージを受信し、上記以前に送信された更新要求メッセージに応答して映像データの対応する更新を送信でき、且つ上記受信側映像デコーダが上記対応する更新された映像データを受信できるようにする時間を許すように選択されていることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【技術分野】
本発明は、映像コーディングに係る。
【０００２】
【背景技術】
移動テレコミュニケーションにおける最近の目標の１つは、無線ネットワークを経てマルチメディアサービスを提供できるようにデータ送信速度を高めることである。マルチメディアの重要な要素の１つは、デジタル映像である。デジタル映像は、従来のアナログシステムに勝る多数の顕著な効果を発揮し、ビデオ電話やマルチメディアアプリケーションのようなサービスをサポートする。しかしながら、アナログシステムに比較したときに、デジタル映像の重大な問題は、通信及び記憶リソースに課せられる要求である。例えば、放送用クオリティの映像を送信するためには、約１６０Ｍｂｐｓの帯域巾が必要となり、これに対して同等のクオリティのアナログ映像では約５ＭＨｚの帯域巾でよい。従って、デジタル映像を使用できるためには、デジタル信号は、データのクオリティを下げることが必要となる。
【０００３】
映像の送信は、動画を表わすデータの連続的なトラフィックより成る。良く知られたように、画像を転送するのに必要なデータの量は、多数の他の形態の媒体に比して大きく、低ビットレートのターミナルでは、これまで無視できる程度でしか映像が使用されていない。しかしながら、低ビットレートの映像圧縮の分野では著しい進歩が達成されている。約２０ｋビット／秒のビットレートで、受け入れられる映像クオリティを得ることができる。
このようにビットレートが次第に低くなる結果として、公衆交換電話ネットワーク（ＰＳＴＮ）や移動テレコミュニケーションネットワークのような限定帯域巾のネットワークに対して映像がまもなく有効なサービスを提供することになると予想される。固定ネットワークを使用したビデオ電話の分野では、通常、データの再送信によってエラーが克服される。しかしながら、移動電話は、ＰＳＴＮよりエラー率が高くそしてラウンドトリップ遅延が長いと分かっている。これらの長い遅延は、リアルタイム移動ビデオ電話のアプリケーションで再送信を使用することを不可能にする。又、再送信は、エラー率が高い状態では有効でない。
【０００４】
映像シーケンスは、一連の静止映像即ちフレームで構成される。圧縮技術を用いて、元の映像を受け入れられるクオリティで再現できるに充分な情報を保持しながら冗長なデータを除去することにより、データの減少が達成される。映像信号には、空間と時間の２つの主たる形式の冗長度がある。映像をコード化する場合に、空間的冗長度のみを利用する技術は、イントラフレーム即ちＩフレームと称され（即ち、それらは各フレームを別々に処理する）、一方、時間的冗長度を利用する技術は、インターフレーム即ちＰフレームと称される（即ち、それらはフレーム間の類似性を利用する）。又、後者は、例えば、現在映像と以前の映像の類似領域間の動き（即ち変位）を表わす動き補償データを発生することにより空間的冗長度も常に利用する。インターフレームのケースでは、予想される（動き補償される）映像が充分正確であることは稀であり、従って、各インターフレームには、空間的に圧縮された予想エラー映像も組み合わされる。
【０００５】
しかしながら、通常、シーケンスの冗長度を減少するだけでは、充分な圧縮を達成できない。従って、映像エンコーダは、主観的に重要度が最も低い映像シーケンスの部分のクオリティを下げるように試みる。更に、圧縮パラメータ及び係数の効率的なロスのないコード化により、エンコードされるビット流の冗長度が減少される。主たる技術は、独特のコードワードを用いて各値がコード化される可変長さコードを使用することである。最短のコードワードは、統計学的に最も頻繁に発生する値に割り当てられる。
多数の映像コード化技術が開発されている。それらは、ラン・レングス・コード、条件付補充、変換コード、ホフマンコード、及び差動位相コード変調（ＤＰＣＭ）を含む。それらの多くは、ＩＴＵ−Ｔ推奨勧告ＪＰＥＧ、ＭＰＥＧ−１及びＭＰＥＧ−２、並びにＨ．２６１／Ｈ．２６３のような重要な規格に利用されている。ＪＰＥＧは、静止映像に対する圧縮データ流の形式を規定し、ＭＰＥＧ／ＭＰＥＧ２は、動画の圧縮用であり、Ｈ．２６１／Ｈ．２６３は、低ビットレートの通信リンク（数十ｋビット／ｓ程度）を使用する映像技術アプリケーションに対して主として規定されている。現在のビデオ電話システムは、主として、ＰＳＴＮ又はパケットネットワークに使用するように設計されており、そして低ビットレートのマルチメディア通信を網羅するＩＴＵ−Ｔ推奨勧告Ｈ．３２４、送信プロトコルを網羅するＨ．２４５、マルチプレクシングに関連したＨ．２３３、及び従来の共用媒体ローカルエリアネットワークを経てのビデオ会議を網羅するＨ．３２３によって管理される。最初の移動ビデオ電話は、Ｈ．３２４をベースとしている。
【０００６】
圧縮された映像は、主に２つの理由で、送信エラーにより容易に崩壊される。第１に、時間的予想の差動コード（インターフレーム）を使用するために、空間的及び時間的の両面でエラーが伝播される。実際には、これは、エラーが発生すると、比較的長い時間にわたってそれが人間の目に容易に見えることを意味する。特に影響を受けるのは、僅かなイントラコードフレームしかない低ビットレートの送信である（イントラコードフレームの送信は時間的エラーの伝播を停止させる）。第２に、可変長さコードの使用は、エラーの影響を増加させる。ビットエラーでコードワードが変更されるときには、デコーダがコードワードの同期を失うと共に、その後続のエラーなしコードワード（多数のビットより成る）を次の同期（又はスタート）コードまで間違ってデコードしてしまう。同期コードとは、他のコードワードを合法的に組み合わせても発生できないビットパターンであり、このようなコードがある間隔でビット流に追加されて、再同期を可能にする。
【０００７】
圧縮された映像ビット流における各ビットは、圧縮解除される映像に対して同じ重要度をもたない。あるビットは、使用される画像形式（例えばイントラ又はインター）、量子化値及び任意のコードモードのような生きた情報を定義するセグメントに属する。Ｈ．２６３では、ほとんどの生きた情報が画像ヘッダに集められる。画像ヘッダに送信エラーがあると、通常は、画像内容を定義する後続ビットが完全に誤って解釈されることになる。時間的予想の差動コード（インターフレーム）を使用するために、エラーは、空間的及び時間的の両面で伝播される。従って、デコーダが崩壊した画像ヘッダを検出したときには、典型的な解決策は、スクリーン上に以前の画像を凍結し、イントラ画像要求を送信ターミナルへ送信し、そして要求されたイントラフレームを待機する。これは、受信映像に不快な休止を生じさせる。
送信エラーは、その基礎となるネットワークに基づいて異なる特性を有する。パケット交換ネットワークでは、送信エラーが通常パケットのロスである（ネットワーク要素に生じる混雑による）。回路交換ネットワークでは、送信エラーは、通常、「１」が崩壊して「０」になるか又はその逆のビットエラーであり、そして無線通信ネットワークでは、エラーがバーストに発生して状態を更に困難にする。
【０００８】
送信エラーにより導入される映像の質低下を防止するために、再送信を使用することができ（上述したように）、エラー検出（例えば繰り返し冗長度チェック（ＣＲＣ））及び／又はエラー修正方法を適用することができ、及び／又は受信した崩壊データからの影響を隠蔽することができる。固定ネットワークでは、再送信は、ビットエラー率（ＢＥＲ）が通常１０-6の範囲であるので映像データ流をエラーから保護するための合理的な方法である。しかしながら、低ビットレートの無線送信に関連した大きなラウンドトリップ遅延、及び中程度又は高いエラー率（例えば、１０-4ないし１０-3）により、特にリアルタイム無線ビデオ電話アプリケーションで再送信を使用することが不可能となる。エラー検出及び修正方法は、通常、送信しなければならないデータ及び必要なメモリ／処理容量に関して大きなオーバーヘッドを必要とする。その結果、低ビットレートのアプリケーションでは、エラー隠蔽が、映像を送信エラーから保護しそして回復するための好ましい方法であると考えられる。映像エラーの隠蔽方法は、通常、パケットロス及びビット崩壊により発生する送信エラーに適用することができる。
【０００９】
Ｈ．２６３は、一般に６４ｋｂｐｓより低いデータレートを意味する低ビットレート通信用の映像コードのためのＩＴＵ−Ｔ推奨勧告である。この推奨勧告は、ビット流のシンタックス及びビット流のデコードを規定する。現在、Ｈ．２３６には２つのバージョンがある。バージョン１は、コアアルゴリズムと、４つの任意のコードモードより成る。Ｈ．２３６のバージョン２は、バージョン１の拡張で、１２個の新たなネゴシエーション可能なコードモードを与える。
画像は、ルミナンス（Ｙ）及び２つのカラー差（クロミナンス）成分（ＣB及びＣR）としてコード化される。クロミナンス画像は、ルミナンス画像の解像度の半分で両座標軸に沿ってサンプリングされる。画像データは、ブロックごとにコード化され、各ブロックは、ルミナンス又はクロミナンスの８ｘ８ピクセルを表わす。
各コード化画像、及びそれに対応するコード化ビット流は、４層のハイアラーキー構造で構成され、４つの層は、下から上に、ブロック層、マクロブロック層、画像セグメント層及び画像層である。画像セグメント層は、ブロックのグループ（ＧＯＢ）として構成されてもよいし又はスライスとして構成されてもよい。
【００１０】
ブロック層は、均一に量子化された離散的コサイン変換係数より成り、これら係数は、ジグザグの順序で走査され、ラン・レングス・エンコーダで処理され、そして可変長さコードでコード化される。
各マクロブロックは、ルミナンスの１６ｘ１６ピクセルと、クロミナンス成分の空間的に対応する８ｘ８ピクセルとに関連している。換言すれば、マクロブロックは、４つの８ｘ８ルミナンスブロックと、２つの空間的に対応する８ｘ８カラー差ブロックとで構成される。各インターマクロブロックは、そのインターマクロブロックのピクセルに最も厳密に類似した基準フレーム内の対応領域の位置を定義する運動ベクトルより成る動き補償データに関連している。インターマクロブロックのデータは、マクロブロックのピクセルに対するコード化予想エラーデータを含む。
【００１１】
通常、各画像は、ブロックのグループ（ＧＯＢ）に分割される。ブロックのグループ（ＧＯＢ）は、通常、一列のマクロブロックより成る。各ＧＯＢのデータは、任意のＧＯＢヘッダと、それに続くＧＯＢ内のマクロブロックのデータとで構成される。
任意のスライス構造モードが使用される場合には、各画像が、ＧＯＢではなくスライスに分割される。スライスは、多数の連続するマクロブロックを走査順に含んでいる。各スライスのデータは、スライスヘッダと、それに続くスライスのマクロブロックのデータとで構成される。
画像層データは、全画像領域と、画像データのデコード動作とに作用するパラメータを含む。コード化されたパラメータデータは、いわゆる画像ヘッダに配置される。
画像及びＧＯＢ（又はスライス）ヘッダは、同期コードで始まる。他のコードワードでも、又はコードワードの合法的組み合わせでも、同期コードと同じビットパターンを形成することはできない。従って、同期コードは、ビット流のエラー検出、及びビットエラー後の再同期に使用することができる。ビット流に追加される同期コードが多いほど、システムは、エラーに対してより頑丈なものになる。
【００１２】
これまでに知られているほとんどのエラー隠蔽技術は、空間的及び時間的補間機構をベースとするものである。空間的補間は、イントラフレームと、インターフレームのイントラコード領域とに使用される。空間的補間とは、失われた領域が空間的に隣接する領域から補間されることを意味する。これは、例えば、境界ピクセルの距離重み付け平均を使用して行うことができる。
時間的補間を使用するエラー隠蔽は、低ビットレートの映像コード化に頻繁に使用される。というのは、イントラフレームの数が通常少ないからである。非常に基本的な時間的補間機構は、失われた領域を以前のフレームの同じ位置からコピーし、即ち失われたブロックを「非コード化」ブロックとして処理する。より進歩した機構では、空間的に隣接するブロックの運動ベクトルの中間値又は平均値を使用して動き補償が実行される。又、境界ピクセル一致を使用して、失われたブロックに対する最良の運動ベクトルを見出すための幾つかの提案もなされている。
【００１３】
低い解像度及び低いビットレートでは、空間的に隣接するブロック間の相関がしばしば低い。従って、空間的に隣接するピクセルデータに基づいて補間された運動ベクトルは、元の値から離れたものとなる。これは、一方向性の隠蔽機構が元のブロックをしばしば再構成しないことを意味する。更に、予想エラーブロックの回復を試みることなく隠蔽に運動ベクトルしか使用されない場合には、多量のディテイルが失われるために、画像がぼけた状態になる。実際に、現在の隠蔽技術を使用すると、エラー又は間違って隠蔽されたブロックが比較的長時間見えることになる。
コーデックという用語は、エンコード及びデコードの両方を行う能力を指す。映像コーデックにおけるエンコード動作を制御するアルゴリズムの映像コードパラメータは、通常、それらが作用するように設計された環境に基づいて予め選択される。これは、特に、エラーが発生し易いチャンネルを経ての送信に有利である。このような状態では、コードパラメータは、画像のクオリティに対する送信エラーの影響を最小にするよう試みるように選択される。送信にエラーが発生する場合には、それにより生じるデコードされた映像が、通常、付加的な斑点、厄介な緑及びピンクの方形、一時的な急動、及び時にはチェッカーパターンを形成する。
【００１４】
既存のシステムでは、エンコードアルゴリズムにおいて通常プリセットされる２つのパラメータが、イントラリフレッシュ情報の量と、スタートコードの周波数とである。ＰＳＴＮネットワークでは、映像コーデックは、全イントラフレームでコード化を開始する。イントラフレーム画像は、他の画像を参照せずにコード化され、これは、それら画像がデコーダによる再構成に必要な全ての情報を含み、このため、それら画像が映像シーケンスにアクセスするための本質的なエントリーポイントとなることを意味する。イントラフレームは、情報内容が多いので、圧縮レートが比較的低く、それ故、全イントラフレームは、画像を定義するのに著しい数のデータビットを必要とする。その結果、遅延を最小にするために小さなバッファを使用しても、低帯域巾チャンネルを経ての全イントラフレームの送信は、長い時間周期を必要とする。その結果、通常、デコーダは、以前の画像をスクリーンにしばらく凍結し、実際には、後続画像を捕えることができるようにする。従って、別の解決策として、全画像が一度に更新されるのではなく、次々の画像において画像の一部分がイントラモードで更新（又はリフレッシュ）される。従って、画像は、イントラリフレッシュされるといえる。通常、これは、１６ｘ１６ピクセルのマクロブロックごとのベースで行われる。マクロブロックがリフレッシュされる速度がゆっくりしている場合には、像における送信エラー欠陥が長時間見えることになり、エラー性のマクロブロックがイントラリフレッシュされたときだけ消失する。それ故、エラーが生じ易いネットワークでは、各フレームにおけるイントラリフレッシュマクロブロックの数を増加するか、又は全イントラフレームを送信するレートを高めることが必要となる。
【００１５】
送信エラーの影響を最小にするために使用される別の技術は、影響を受ける領域のサイズを減少することである。コード化ビット流は、可変長さコード（ＶＬＣ）のコードワードを含むので、ビット流にエラーがあると、ほとんどの場合にデコーダがＶＬＣコードワードとの同期を失うことになる。デコーダは、スタートコードを受信した後でなければ、デコード動作を正しく続けることができない。通常、スタートコードは、コード化画像フレームの始めに見られるが、ほとんどの映像コード化規格では、スタートコードを画像のどこにでも挿入することができ、例えば、マクロブロックの各列の始めに挿入することもできるし、或いはもっと頻繁に挿入することもできる。従って、送信エラーによって影響を受ける領域のサイズを減少するために、スタートコードを画像のより頻繁な位置に導入することができる。これらスタートコードの密度は、スタートコードの数の増加による画像クオリティの低下と、送信エラーにより影響される領域のサイズとの間の妥協である。エラーが生じ易い環境では、送信領域により影響される像領域を減少するために、可視像のクオリティをある程度犠牲にするのが好ましい。
【００１６】
全体的な現在の解決策は、イントラリフレッシュ情報及びスタートコードパラメータを、送信エラーの予想レベルに基づいて映像エンコーダを制御するアルゴリズムへと予めプログラムすることである。イントラリフレッシュデータ及びスタートコードは、予想し得る送信エラーの影響を緩和する上で適度に有効であるが、これらの解決策は、幾つかの欠点がある。主として、これらの欠点は、実際の送信エラーを常に予想できないことから生じ、予想される送信エラーと実際の送信エラーとの間に広い余裕がある状態では、イントラリフレッシュ及びスタートコードパラメータが、これらエンコードパラメータに対する要求レベルと一致しない。例えば、送信エラーが予想より少ない場合には、イントラリフレッシュデータ又はスタートコードの繰り返しレベルがその要求レベルを越えることになり、従って、越えた分が冗長となる。他方、送信エラーが予想より相当悪い場合には、イントラリフレッシュデータ及びスタートコード情報が不充分となり、デコードされた画像において時間的及び空間的の両面で広く分散される結果、像のクオリティが悪くなる。
【００１７】
既知のＨ．３２４マルチメディアターミナルでは、種々のコマンドを受信側デコーダからＨ．２４５制御プロトコルを経て送信側エンコーダに送信することができる。１つのコマンドは、デコーダが最も早い便利な時点で高速更新モードに入って全画像を更新するようにエンコーダに要求するｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅである。プロトコルは、エンコーダが更新をいかに実行するか定義しない。又、プロトコルは、最も早い便利な時点で高速更新モードに入って全ＧＯＢを更新するようにエンコーダに要求するコマンドｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢ、及び最も早い便利な時点で高速更新モードに入って全マクロブロックを更新するようにエンコーダに要求するｖｉｄｅｏＦａｓｔＵｐｄａｔｅＭＢを定義する。従って、デコーダは、更新されるべき画像、ＧＯＢ又はマクロブロックを識別することができる。
基本的な実施では、Ｈ．３２４に適合するマルチメディアターミナルは、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅコマンドをそのたびに送信し、そしてエラーが検出される。同様に、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドも、崩壊したＧＯＢごとに送信される。
Ｈ．２４５によれば、要求を発するターミナルは、送信される各メッセージに対しエンコーダから確認を要求し、そして確認が適時に送信されない場合には、デコーダがメッセージを再び送信する。これは、制御チャンネルが、繰り返されるコマンドで著しい混雑状態になることを意味する。
【００１８】
Ｈ．２３６のアペンディックス１には、Ｈ．２４５プロトコルを使用して、フレームのどのマクロブロックが崩壊状態で受信されたかに関する指示を送信する「エラートラッキング」と称するフィードバックメカニズムが紹介されている。映像エンコーダは、過去のＺフレームにおいて予想エラーを追跡する。Ｈ．２４５の指示及び予想エラーカウンタに基づいて、映像エンコーダは、それがイントラモードにおいてどのマクロブロックを更新するか判断することができる。
第３の既知のフィードバック映像送信システムがＨ．２６３のアネックスＮに定義されている。これは、「基準画像選択」モードとして知られている。これは、どの画像セグメント（ＧＯＢ又はスライス）が崩壊したか映像デコーダが指示し、そしてこの情報に基づいて、映像エンコーダが最後のフレームではなく古いフレームを使用してその崩壊した部分をエンコードできるようにする方法を定義する。デコーダは、崩壊した各画像セグメントに対し否定確認（ＮＡＣＫ）を送信する。従って、全画像が崩壊した場合には、各セグメントに対するＮＡＣＫも崩壊する。或いは又、デコーダは、肯定フィードバック、即ちどのセグメントが崩壊せずに受信されたかを送信してもよく、エンコーダは、これらの崩壊されない領域のみを予想に使用できる。
【００１９】
【発明の開示】
本発明の第１の特徴によれば、エンコードされた映像データを映像デコーダで受信し、上記映像データをデコードして、映像シーケンスの連続画像を表わすデコードされた映像データを形成し、上記デコードされた映像データがエラーを含むかどうか決定し、そしてエラーが存在すると決定されたときに、そのエラーを含む映像データの少なくとも一部分の更新を要求するメッセージを送信側映像エンコーダに送信し、上記更新メッセージは、映像データの対応部分に対する以前の更新メッセージが送信されてから所定の時間周期が経過した場合だけ送信されるという映像デコード方法が提供される。
上記更新メッセージは、映像シーケンスの全画像の更新を要求することができる。それに加えて又はそれとは別に、更新メッセージは、映像シーケンスのある画像のあるセグメントの更新を要求してもよい。
上記所定の時間周期は、映像デコーダと映像エンコーダとの間のラウンドトリップ遅延に比例するのが好ましい。この所定時間周期は、ラウンドトリップ遅延の２倍であるのが好都合である。
【００２０】
本発明の第２の特徴によれば、映像がエラーを含むかどうかを決定する上記段階は、映像の対応領域に対する以前の画像データに比して映像データの変化量を決定することを含む。
本発明の第３の特徴によれば、映像がエラーを含むかどうかを決定する上記段階は、以前の映像における動きの量が所定のスレッシュホールドを越えるかどうか決定することを含む。
本発明の第４の特徴によれば、映像デコード方法は、エンコードされた映像データを映像デコーダで受信し、上記映像データをデコードして、映像シーケンスの連続画像を表わすデコードされた映像データを形成し、上記デコードされた映像データがエラーを含むかどうか決定し、そしてエラーが存在すると決定されたときに、そのエラーを含む映像データの少なくとも一部分の更新を要求するメッセージを送信側映像エンコーダに送信する段階を含み、デコードされた映像がエラーを含むかどうか決定する上記段階は、第１画像の領域について、以前の画像の対応領域に対する映像データに比して映像データの変化量を決定することを含み、この変化量が所定のスレッシュホールドを越えた場合に上記更新メッセージを送信する。
【００２１】
本発明の更に別の特徴によれば、映像デコード方法は、エンコードされた映像データを映像デコーダで受信し、上記映像データをデコードして、映像シーケンスの連続画像を表わすデコードされた映像データを形成し、上記デコードされた映像データがエラーを含むかどうか決定し、もしそうであれば、そのエラーを含む画像の領域を隠蔽し、そしてエラーが存在すると決定されたときには、そのエラーを含む映像データの少なくとも一部分の更新を要求するメッセージを送信側映像エンコーダへ発生するという段階を含み、この更新メッセージは、隠蔽された画像領域の数が所定のスレッシュホールドより少ない場合に送信される。
本発明の更に別の特徴によれば、映像デコード方法は、エンコードされた映像データを映像デコーダで受信し、上記映像データをデコードして、映像シーケンスの連続画像を表わすデコードされた映像データを形成し、上記デコードされた映像データがエラーを含むかどうか決定し、もしそうであれば、そのエラーを含む画像の領域を隠蔽し、そして画像をデコードできないようなエラーが存在すると決定されたときには、その画像の全ての部分を隠蔽されると表示しそして次の画像をデコードするという段階を含む。
【００２２】
又、本発明は、エンコードされるべき映像信号を受信し、上記映像信号をエンコードして、エンコードされた映像データを形成し、そして上記エンコードされた映像データをリモート映像デコーダに送信するという段階を含み、上記エンコードする段階は、上記リモート映像デコーダから受信した更新制御信号に応答して、要求されたエンコードされた映像データを複数の画像にわたり連続的に更新する映像信号のエンコード方法にも係る。
上記更新は、マクロブロックごとに実行され、その更新されたマクロブロックは、映像信号の逐次画像にわたって更新されるのが好ましい。
本発明の更に別の特徴によれば、映像デコード装置は、エンコードされた映像データを受信するための手段と、上記映像データをデコードして、デコードされた映像データを形成するための手段と、上記デコードされた映像データがエラーを含むかどうか決定するための手段、及びエラーを含む映像データの少なくとも一部分の更新を要求するメッセージを送信側映像エンコーダに送信するための手段とを備え、上記装置は、映像データの対応部分に対して以前の更新メッセージが送信されてから所定の時間周期が経過した場合だけ上記更新メッセージを送信するように構成される。
【００２３】
デコードされた映像がエラーを含むかどうか決定する上記手段は、映像の対応領域に対する以前の画像データに比して映像データの変化量を決定する手段を含み、この変化量が所定のスレッシュホールドを越えた場合に上記更新メッセージが送信されるのが好ましい。
以前の画像の動き量が所定のスレッシュホールドを越えた場合に更新メッセージが発生されるのが好都合である。
本発明の更に別の特徴によれば、映像信号エンコード装置は、エンコードされるべき映像信号を受信するための手段と、上記映像信号をエンコードして、エンコードされた映像データを形成するための手段と、上記エンコードされた映像データをリモート映像デコーダに送信するための手段とを備え、上記エンコードする手段は、リモート映像デコーダから受信した更新制御信号に応答して、要求されたエンコードされた映像データを複数の画像にわたり連続的に更新する。
上記更新は、マクロブロックごとに実行され、そして更新されたマクロブロックは、映像信号の逐次画像にわたって更新されるのが好ましい。
又、本発明は、移動無線装置へも拡張できる。
【００２４】
【発明を実施するための最良の形態】
以下、添付図面を参照して本発明の好ましい実施形態を詳細に説明する。
本発明は、Ｈ．３２４推奨勧告を参照して更に詳細に述べる。しかしながら、本発明は、その用途をこのプロトコル及びその関連プロトコルに限定するものではない。
図１は、典型的なマルチメディア移動通信システムを示す。第１のマルチメディア移動ターミナル１は、移動通信ネットワーク４への無線リンク３を経て第２のマルチメディア移動ターミナル２と通信する。２つのターミナル１、２間には制御データ及びマルチメディアデータが送信される。
図２は、Ｈ．３２４に合致するターミナル１の典型的なマルチメディア要素を示す。ターミナルは、Ｈ．２６３に合致する映像コーデック１０と、Ｇ．７２３に合致する音声コーデック２０と、Ｔ．１２０に合致するデータプロトコルマネージャー３０と、Ｈ．２４５に合致する制御マネージャー４０と、Ｈ．２２３に合致するマルチプレクサ／デマルチプレクサ５０と、モデム６０（もし必要であれば）とを備えている。映像コーデック１０は、ターミナルの映像捕獲装置（図示せず）（例えば、カメラ）から信号を受信してコード化すると共に、リモートターミナル２から信号を受信してデコードしそしてターミナル１によりディスプレイ７０に表示する。音声コーデック２０は、ターミナル１のマイクロホン（図示せず）からコード化のための信号を受信すると共に、リモートターミナル２から信号を受信してデコードしそしてターミナル１のスピーカー（図示せず）により再生する。
【００２５】
制御マネージャー４０は、映像コーデック１０、音声コーデック２０及びデータプロトコルマネージャー３０の動作を制御する。しかしながら、本発明は映像コーデック１０の動作に関連したものであるから、音声コーデック２０及びプロトコルマネージャー３０についてはこれ以上説明しない。
図３は、本発明による映像コーデック１０の一例を示す。映像コーデックは、エンコーダ部分１００及びデコーダ部分２００を含む。エンコーダ部分１００は、ターミナル１のカメラ又は映像ソース（図示せず）から映像信号を受信するための入力１０１を含む。スイッチ１０２は、エンコーダをイントラモードコード化とインターモードコード化との間で切り換える。
イントラモードでは、入力１０１からの映像信号がＤＣＴ変換器１０３によりＤＣＴ係数に変換される。次いで、ＤＣＴ係数は、これら係数を量子化する量子化装置１０４に送られる。スイッチ１０２及び量子化装置１０４の両方は、映像コーデックのエンコード制御マネージャー１０５によって制御され、該制御マネージャーは、Ｈ．２４５制御マネージャー４０によって受信側ターミナル２からフィードバック制御信号も受信する。
【００２６】
インターモードでは、スイッチ１０２は、入力１０１からの信号と、画像記憶装置１０７に記憶された以前の画像との間の差を減算器１０６から受け入れるように動作する。減算器１０６からの差のデータ出力は、現在画像と、画像記憶装置１０７に記憶された以前の画像との間の画像エラーを表わす。画像記憶装置１０７のデータは、量子化装置により出力されたデータを逆量子化装置１０８に通しそしてその逆量子化されたデータに逆ＤＣＴ変換１０９を適用することにより発生される。それにより得られたデータは、加算器１１０により画像記憶装置１０７の内容に加えられる。運動推定器１１１は、画像記憶装置１０７のデータから従来のやり方で動き補償データを発生することができる。
映像コーデックは、量子化されたＤＣＴ係数１１２ａ、量子化インデックス１１２ｂ（即ち使用する量子化の詳細）、実行されるコード化モード（Ｉ又はＯ／Ｂ）を指示するイントラ／インターフラグ１１２ｃ、コード化されているフレームの数を指示する送信フラグ１１２ｄ、及びコード化されている画像に対する運動ベクトル１１２ｅを出力する。これらは、マルチプレクサ５０により他のマルチメディア信号と共にマルチプレクスされる。
【００２７】
映像コーデック１０のデコーダ部分２００は、逆量子化装置１２０と、逆ＤＣＴ変換器１２１と、動き補償器１２２と、画像記憶装置１２３と、コントローラ１２４とを備えている。コントローラ１２４は、エンコードされたマルチメディア流からデマルチプレクサ５０によってデマルチプレクスされた映像コーデック制御信号を受信する。実際に、エンコーダのコントローラ１０５及びデコーダのコントローラ１２４は、同じプロセッサでもよい。
ターミナル１を、ターミナル２からコード化された映像データを受信するものと考え、映像コーデック１０の動作を、先ずそのデコードの役割について以下に説明する。ターミナル１は、送信側ターミナル２からマルチメディア信号を受信する。デマルチプレクサ５０は、マルチメディア信号をデマルチプレクスし、そして映像データを映像コーデック１９に及びＨ．２４５制御データをＨ．２４５コントローラ４０に通過させる。映像コーデックのデコーダ２００は、エンコードされた映像データを逆量子化、逆ＤＣＴ変換及び動き補償することによりそのデータをデコードする。デコードされた映像データは、次いで、受信側ターミナル１のディスプレイ７０に再現するために出力される。デコーダのコントローラ１２４は、受信したデータの完全さをチェックし、そしてもしエラーが検出された場合には、以下に述べるように、送信側ターミナル２のエンコーダからの崩壊したデータの更新を要求する。
【００２８】
映像データのエラーは、画像レベル、ＧＯＢレベル又はマクロブロックレベルで生じ得る。エラーチェックは、各レベルにおいて実行することができる。
画像レベルのエラーは、画像をデコードできずそして完全に失われたか、又は事実上失われたかのように崩壊されたことを意味する。画像レベルのエラーは、１つ以上のやり方で検出することができる。図４は、本発明の第１実施形態による更新メッセージを発生する方法を示すフローチャートである。先ず、デコーダは、受信した画像をデコードし始める（３００）。画像ヘッダが崩壊した（３０２）か、又はあり得ないパラメータが見つかった（例えば、コード化形式がイントラであるときにインターフラグがセットされた）場合には、画像が失われたと考えられる。
或いは又、エラーは、画像に使用されるコード化の形式を決定することにより検出されてもよく、コード化形式がイントラであって且つＱ個以上のセグメントが崩壊したと決定された（３０４）場合には、画像が失われたと考えられる。セグメントは、ＧＯＢ、スライス又はマクロブロックより成る。例えば、ＱＣＩＦ画像フォーマットでは、画像当たり９個のＧＯＢがある。それ故、例えば、画像の４個以上のＧＯＢが崩壊した場合に、画像が失われたと考えるように基準を設定することができる。ＧＯＢが崩壊したかどうかは、ＣＲＣによって決定することができる。
【００２９】
或いは又、Ｆ個以上の画像にわたってエラーの時間的伝播が生じ（例えばＭＢが設定時間Ｘ内に更新されず）且つ隠蔽領域が、更新されずに、あるスレッシュホールドより大きくなった場合には、画像が失われたと考えられる。これを達成するために、デコーダは、デコード動作中に、画像のマクロブロックの状態（隠蔽／インター／イントラ）を追跡し、そして所定数以上のマクロブロックが隠蔽とマークされる場合に画像が失われたと考える。
或いは又、現在画像Ｎが失われたと考えられる場合には、コントローラ１２４は、現在フレームの手前のフレーム（Ｎ−１）が多量の動き又は多量の予想エラーを含んでいたかどうか決定する（３０７）。これは、次の画像（Ｎ＋１）のデコード動作中に、次の画像（Ｎ＋１）に対する運動ベクトルを収集し、そして全画像に対して表わされる変位を計算することにより達成される。これは、運動ベクトルにより表わされる平均運動を計算するか、又は画像に関連した運動ベクトルの数をカウントすることにより行われる。現在フレーム後のフレームが多量の動きも予想エラーも含まないと決定された場合には、次の画像がデコードされる（３００）。さもなくば、おそらく、現在画像は、受け入れられる映像を発生することが要求され、即ち次の画像がインターコード化され、そして以前に正しくデコードされた画像から予想されねばならない。
【００３０】
画像レベルのエラーが見つかったときには、コントローラ１２４は、画像の最後の更新以来、画像内容が著しく変化したかどうか決定する（３０８）。これは、現在フレーム及び以前に首尾良くデコードされた画像のクロミナンス及び／又はルミナンスピクセル値のヒストグラムを発生しそしてヒストグラムを比較することにより達成される。或いは又、２つの画像の勾配和を比較してもよい。勾配和は、各画像に対し、ｘ及びｙ方向における隣接ピクセルルミナンス値間の差の和を表す。現在画像が著しく変化したと思われる場合には、コントローラ１２４は、以前の画像更新が送信されて以来、周期Ｔ以上が経過したかどうか決定する（３１２）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅメッセージが送信側ターミナル２へ送信される（３１４）。次いで、デコーダは、更新コマンドに対するエンコーダからの応答を待機せずに次の画像をデコードするように進む（３００）。
周期Ｔは、２つの通信ターミナル１、２間の通信経路のラウンドトリップ遅延に比例し、これは、Ｈ．２４５プロトコルマネージャー４０により測定することができる。Ｔの典型的な値は、ラウンドトリップ遅延の２倍である。Ｔの値は、受信側デコーダと送信側デコーダとの間のラウンドトリップ遅延、及び更新コマンドに応答するために送信側エンコーダに必要とされる時間を許すように決定される。
全てのステップ３０２、３０４、３０６及び３０７を実行する必要はなく、各ステップが単独で使用されてもよいし、又は他のエラー検出方法を使用してもよい。
【００３１】
図５は、本発明の第２実施形態によるデコーダの画像レベルにおける動作を示すフローチャートである。先ず、次の画像Ｎがデコードされる（４００）。デコーダが画像をデコードできない（４０２）場合には、画像は「失われた」状態となる。デコーダは、画像ヘッダが回復できないときにこの判断を返送する。この場合には、デコーダのコントローラ１２４は、受信されて首尾良くデコードされた以前の画像（Ｎ−ｍ）を検査し、そして以前の画像における動きの量を確認する（４０４）。これは、例えば、以前に首尾良くデコードされた画像（Ｎ−ｍ）のＭＢに関連した運動ベクトルにより表わされる全変位量を計算することにより達成できる。この動きが所定のスレッシュホールドＤ以下である場合には、「次の画像のチェック」フラグが１にセットされ（４０６）、そして次の画像（Ｎ＋１）がデコードされる（４００）。動きが所定のスレッシュホールドＤより大きい場合には、画像が崩壊したと考えられ、全てのＭＢが崩壊とマークされる（４０８）。これは、画像における全マクロブロックの状態を「隠蔽」にセットすることにより達成される。次いで、コントローラ１２４は、以前の画像更新コマンドが送信されて以来、周期Ｔ1以上が経過したかどうか決定する（４１０）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｕｒｅメッセージが送信側エンコーダへ送信される（４１２）。いずれの場合にも、「次の画像チェックフラグ」が０にセットされ（４１４）、そして次の画像がデコードされる（４００）。
【００３２】
周期Ｔ1は、２つの通信ターミナル１、２間の通信経路のラウンドトリップ遅延に比例し、これは、Ｈ．２４５プロトコルマネージャー４０により測定することができる。Ｔ1の典型的な値は、ラウンドトリップ遅延の２倍である。
デコーダが、画像ヘッダのデータを首尾良くデコードするようにマネージした場合には（４０２）、画像のＧＯＢがデコードされる（５００）（図６参照）。Ｈ．２６３によれば、ＧＯＢヘッダを含ませることは任意である。もし省略する場合、デコーダは、ＧＯＢレベルにおける完全性チェックを行わず、ＧＯＢのＭＢのヘッダ及びデータを直ちにデコードする。
図７に示すように、画像の各ＧＯＢがデコードされるたびに、ＧＯＢの各ＭＢの状態が決定される（６０２）。マクロブロックが崩壊するか又は失われた場合には、既知のエラー隠蔽技術を使用してＭＢが隠蔽されると共に、ＭＢの状態が「隠蔽」にセットされる（６０４）。他のＭＢについては、デコーダは、マクロブロックヘッダからＭＢの形式を決定する。イントラコード化ＭＢの場合には、状態が「更新」にセットされる（６０６）。コントローラ１２４は、各ＧＯＢ及び各画像に対しＭＢの状態の記録を保持する（６０８）。インターコード化ＭＢの場合には、デコードされた以前のフレームの対応するＭＢから状態がコピーされる。
【００３３】
図６に戻ると、ＧＯＢの全ＭＢがデコードされると（デコーダがデコード可能である限り）、デコードされているＧＯＢにおける隠蔽されたＭＢの数が、ＭＢ状態記録を検査することにより決定される（６０８／５０２）。隠蔽されたＭＢの数が所定のスレッシュホールドＭより少ない場合には（５０３）、次のＧＯＢがデコードされる（５０１）。しかしながら、隠蔽されたＭＢの数が所定のスレッシュホールドＭより大きい場合には（５０３）、コントローラ１２４は、ＧＯＢの更新がデコーダにより既に指令されているかどうか調べるためにチェックを行う（５０４）。更新コマンドが既に送られている場合には、コントローラ１２４は、以前のＧＯＢ更新が送信されて以来、周期Ｔ2以上が経過したかどうか決定する（５０５）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドが送信される（５０６）。もしそうでなければ、次のＧＯＢがデコードされる（５０１）。周期Ｔ2は、２つの通信ターミナル１、２間の通信経路のラウンドトリップ遅延に比例し、これは、Ｈ．２４５プロトコルマネージャー４０により測定することができる。Ｔ2の典型的な値は、ラウンドトリップ遅延の２倍である。
【００３４】
ＧＯＢ更新がまだ送信されていない場合には（５０４）、コントローラは、ＧＯＢが崩壊したかどうかチェックする（５０７）。これは、ＣＲＣ、ビットエラー率、又はＧＯＢヘッダ（もしあれば）の検査により確認される。ＧＯＢが崩壊していないと思われる場合には、次のＧＯＢがデコードされる（５０１）。ＧＯＢが崩壊したと思われる場合には、隣接するＧＯＢ（例えば以前のＧＯＢ）が検査され（５０８）、それらが多量のイントラコード化ＭＢを含むかどうか調べられる。もしそうであれば、おそらく、現在の崩壊したＧＯＢも多量のイントラコード化ＭＢを含んでいる。コントローラ１２４は、以前のＧＯＢ更新が送信されて以来、周期Ｔ2以上が経過したかどうか決定する（５０５）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢが送信される（５０６）。もしそうでなければ、次のＧＯＢがデコードされる（５０１）。隣接するＧＯＢが多量のイントラコード化ＭＢを含まないことが決定された場合には、現在ＧＯＢにおけるビット数がカウントされ（５０９）、そしてスレッシュホールドＢと比較される。典型的に、ＱＣＩＦ  ＧＯＢは、約２００ビットで構成され、そしてＢの典型値は、５００ビットである。ＧＯＢにおけるビット数がスレッシュホールドＢを越える場合に、コントローラ１２４は、以前のＧＯＢ更新が送信されて以来、周期Ｔ2以上が経過したかどうか決定する（５０５）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢが送信される（５０６）。もしそうでなければ、次のＧＯＢがデコードされる（５０１）。ビット数がスレッシュホールドＢを越えない場合には、次のＧＯＢがデコードされる（５０１）。このプロセスは、画像の最後のＧＯＢの最後のＭＢがデコードされる（５１０）まで続けられ、その時点で、デコードプロセスは、図５のステップ４２０に続く。
【００３５】
従って、単一の画像に対して多数のＧＯＢ更新コマンドが送信される。画像の各ＧＯＢに対して個別のタイマーが維持され、そしてＧＯＢ更新コマンドは、画像のそのＧＯＢに対するＧＯＢ更新コマンドが送信されて以来、周期Ｔ2以上が経過したときだけ発生される。例えば、画像Ｎをデコードした後、例えば、ＧＯＢ１及び５に対する更新コマンドが送信される。画像Ｎ＋１をデコードする際には、たとえＧＯＢ１及び５が崩壊していると分かっても、これらＧＯＢに対するＧＯＢ更新コマンドを送信するときではない。というのは、これらＧＯＢに関する更新コマンドが以前に送信されて以来、Ｔ2が経過していないからである。
画像の全ＧＯＢがデコードされると（５００）、隠蔽されたＭＢの全数がＭＢ状態記録（６０８）から決定される（４２０）。隠蔽されたＭＢの数がスレッシュホールドＣより大きいと決定されると（４２２）、コントローラ１２４は、以前の画像更新が送信されて以来、周期Ｔ1以上が経過したかどうか決定する（４１０）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅメッセージが送信側エンコーダに送信され（４１２）、そして次の画像がデコードされる（４００）。いずれの場合にも、「次の画像チェックフラグ」が０にセットされる（４１４）。
【００３６】
画像における隠蔽されたＭＢの数がＣより小さいが０より大きいと決定された場合には（４２２）、コントローラ１２４は、現在画像が著しく変化したかどうか決定する（４２４）。これは、例えば、現在フレームと、首尾良くデコードされた以前のフレームとのヒストグラムを比較し、及び／又は２つのフレームの勾配和を比較することにより、従来のやり方で達成される。現在画像が著しく変化したと思われる場合には、コントローラ１２４は、以前の画像更新が送信されて以来、周期Ｔ1以上が経過したかどうか決定する（４１０）。もしそうであれば、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅメッセージが送信側ターミナル２に送信される（４１２）。現在画像が著しく変化したと思われない場合には、「次の画像チェックフラグ」が０にセットされ（４１４）、そして次の画像がデコードされる（４００）。
画像における隠蔽されたＭＢの数が０であると決定された場合には（４２２）、「次の画像チェック」フラグがチェックされる（４２６）。このフラグがセットされていない（即ち＝０）場合には、次の画像がデコードされる（４００）。しかしながら、このフラグがセットされた（即ち＝１）場合には、以前の画像（Ｎ−１）が失われたことを意味する。それ故、現在画像（Ｎ）が、既に首尾良くデコードされた画像（Ｎ−ｎ）と比較され（ｎは、１より大きな整数）、そして画像内容の変化が上述したように決定される（４２４）。
【００３７】
上記実施形態によれば、当該ＧＯＢに対する更新コマンドが時間Ｔ2以内に予め送信されない限り、ＧＯＢに対してＧＯＢ更新コマンドが送信される。同様に、画像更新コマンドが時間Ｔ1以内に予め送信されない限り、各画像に対して画像更新コマンドが送信される。従って、同じ画像に対してＧＯＢ更新コマンド（１つ又は複数）と画像更新コマンドの両方を送信することができる。本発明の別の実施形態によれば、更新コマンド（１つ又は複数）は発生されるが、全画像がデコードされるまで送信されない（これが可能な限り）。デコードされている現在画像に対し画像更新コマンドを送信すると判断された場合には、同じ画像に対するＧＯＢ更新コマンド（１つ又は複数）が送信されない。従って、ステップ５０６では、ＧＯＢ更新コマンドが発生されるが送信されず、そして図８に示すように、ステップ４２８において、コントローラ１２４は、デコードされている現在画像に対して画像更新コマンドが送信されたかどうか決定する。もしそうであれば、現在画像に対するＧＯＢ更新コマンド（１つ又は複数）が無視される。さもなくば、現在画像に対するＧＯＢ更新コマンド（１つ又は複数）が送信される（４３０）。次いで、次の画像のデコード動作が行われる（４００）。
【００３８】
送信側ターミナル２の映像コーデックのエンコーダ部分の動作について以下に述べる。第１画像は、イントラフレームとしてエンコードされ、その後続フレームは、インターフレームとしてコード化されるが、これは、シーンの変化がイントラフレームをコード化させるか、又はエンコーダの所定パラメータにより設定された強制更新が開始されるか、或いは受信側ターミナル１から更新メッセージが受け取られるまで行われる。
送信側ターミナル２が更新メッセージを受信すると、エンコーダ部分は、それに応答して、受信側ターミナル１からのメッセージで要求された画像の部分を更新する。従って、受信側ターミナル１がｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅコマンドを送信している場合には、送信側ターミナル２のエンコーダは、画像全体を更新する。受信側ターミナル１がｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドを送信している場合には、送信側ターミナル２のエンコーダは、ＧＯＢ全体を更新する。
【００３９】
図９は、本発明によるエンコーダが画像更新（ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅ）コマンドに対していかに反応するかを示すフローチャートである。送信側ターミナル２は、受信側ターミナル１からのコーデックフィードバックメッセージ（例えばＨ．２４５制御チャンネルを経て送信された）を、映像コーデックの制御マネージャー４０及びコントローラ１０５により監視する（８００）。更新コマンドがエンコーダ１００により受信されると（８０２）、コントローラ１０５は、それが送信開始からＳ秒（例えば５秒）以内であるかどうかチェックする（８０４）。もしそうであれば、コントローラは、イントラコード化フォーマットで画像全体を更新するようにエンコーダに命令する（８０６）。これは、スイッチ１０２が減算器１０６を取り除くように切り換え、そしてエンコーダ１００が入力１０１からの到来映像の次の画像全体をイントラフレームとしてエンコードするようにさせる。
【００４０】
画像更新コマンドを受信したときにＳ秒以上が経過した場合には、コントローラ１０５は、送信側ターミナル２が所定の周期Ｉ内にＲ個以上の更新要求を受信したかどうか決定する（８０８）。もしそうであれば、コントローラは、スイッチ１０２をイントラモードに切り換え、そして全画像がイントラコード化フォーマットで更新される（８０６）。さもなくば、コントローラは、全てのマクロブロックが次々の画像にわたりマクロブロックごとにイントラフォーマットでエンコードされるようにスイッチ１０２をマクロブロックごとのイントラモード状態にする（８１０）。エンコーダがこのように予めプログラムされて、デフォールト更新プロセス（最初のＳ秒後）がマクロブロックごとのベースで更新を行い、そして受信側デコーダが連続的マクロブロック更新を受け入れない場合には、受信側デコーダは、多数のｖｉｄｅｏＦａｓｔＵｐｄａｔｅＰｉｃｔｕｒｅコマンドを送信側エンコーダに送信する。それ故、動作ステップ８０８は、エンコーダが最終的に全画像をイントラフォーマットで更新するように確保する。Ｒ及びＩの適当な値は、各々、１０及び５秒である。
【００４１】
図１０は、送信側ターミナル２のエンコーダ１００がｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドに対していかに反応するかを示すフローチャートである。受信側ターミナル１から（例えば、Ｈ．２４５制御チャンネルを経て）送信されたフィードバックメッセージは、送信側ターミナル２のエンコーダ部分１００の制御マネージャー４０及びコントローラ１０５により監視される（９００）。ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドがエンコーダ１００により受信されると（９０２）、コントローラ１０５は、要求されたＧＯＢのマクロブロックのうち、最も変化したものを識別する（９０４）。最も変化したＧＯＢのＭＢは、先ず、イントラコード化により更新される（９０６）。これらのＭＢは、エンコードされるべき次の画像及び以前の画像のＧＯＢのＭＢのピクセルのルミナンス値をピクセルごとに考慮することにより識別することができる。次の画像と以前の画像のピクセル間の差の平方の和が形成される。エンコーダは、最も大きな差を有するＭＢを最初にイントラモードでエンコードする。ＧＯＢの他のＭＢは、後続画像の対応ＧＯＢにおける対応ＭＢのコード化中に更新される。
又、エンコーダ１００のコントローラ１０５は、崩壊したＭＢの時間的伝播を追跡する。従って、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドが受信されたときには、エンコーダは、ｖｉｄｅｏＦａｓｔＵｐｄａｔｅＧＯＢコマンドがデコーダから送信されたところの崩壊したＧＯＢから予想されるＭＢも更新することができる。
【図面の簡単な説明】
【図１】  マルチメディア移動通信システムを示す図である。
【図２】  マルチメディアターミナルのマルチメディア要素の一例を示す図である。
【図３】  映像コーデックの一例を示す図である。
【図４】  本発明の第１の実施形態による映像デコーダの動作を示すフローチャートである。
【図５】  本発明による映像デコーダの画像レベルにおける動作を示すフローチャートである。
【図６】  本発明による映像デコーダのＧＯＢレベルにおける動作を示すフローチャートである。
【図７】  本発明の映像デコーダにより実行されるマクロブロックデコードアルゴリズムを示すフローチャートである。
【図８】  本発明による映像デコーダの更に別の実施形態において画像レベルでの動作を示すフローチャートである。
【図９】  本発明による映像エンコーダの画像レベルにおける動作を示すフローチャートである。
【図１０】  本発明による映像エンコーダのＧＯＢレベルでの動作を示すフローチャートである。
【図１】
0004603695.tif 000002
【図２】
0004603695.tif 000003
【図３】
0004603695.tif 000004
【図４】
0004603695.tif 000005
【図５】
0004603695.tif 000006
【図６】
0004603695.tif 000007
【図７】
0004603695.tif 000008
【図８】
0004603695.tif 000009
【図９】
0004603695.tif 000010
【図１０】
0004603695.tif 000011