(57)【要約】本発明は、伝送された映像信号のロバストさ（強固さ）を高めるために、予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）用の冗長な動きベクトル818を符号化し、復号する方法及びその装置に関する。１つの実施の形態では、ＭＰＥＧ−４に準拠したビットストリームのユーザデータビデオパケットに冗長な動きベクトルを提供する。それによって、強化されたビットストリームが、ＭＰＥＧ−４構文に準拠し、ＭＰＥＧ−４デコーダとの下位互換性を維持できるようになる。デコーダに係る１つの実施の形態には、標準の動きベクトルとその前のフレーム、すなわち、冗長な動きベクトルと前のフレームの前のフレーム又はその両者とから、Ｐ−ＶＯＰを再構成することができるという利点がある。【選択図】図８
2004531925.tif 000002
【特許請求の範囲】
【請求項１】
ロバストに符号化されたビットストリームの映像情報を圧縮するのに適合したビデオエンコーダであって、
映像フレームを受信し、該映像フレームをビデオオブジェクトに構文解析するのに適合した定義モジュールと、
複数のイントラ符号化ビデオオブジェクトプレーン（Ｉ−ＶＯＰ）及びビデオオブジェクトに対応する複数の予測符号化ＶＯＰ（Ｐ−ＶＯＰ）を生成するのに適合した複数のビデオオブジェクトプレーン（ＶＯＰ）エンコーダとを含んで構成され、
前記複数のＶＯＰエンコーダのうちの１つのＶＯＰエンコーダが、前記映像フレームを基に、予測符号化ＶＯＰ（Ｐ−ＶＯＰ）を生成するように構成され、
前記ＶＯＰエンコーダが、現在のフレームにおけるビデオオブジェクト用の標準の動きベクトルを生成するように構成され、
前記標準の動きベクトルが、前記現在のフレームに対する直前のフレームにおける一部分の動きを基準とし、
前記ＶＯＰエンコーダが、前記現在のフレームにおけるビデオオブジェクト用の標準の動きベクトルとは独立した冗長な動きベクトルを生成するように構成され、
前記冗長な動きベクトルが、前記標準の動きベクトルによって参照された前記フレームに対する前のフレームにおける一部分の動きを基準とし、
前記ＶＯＰエンコーダが、データパケットに前記冗長な動きベクトルを組み込み、
前記ＶＯＰエンコーダの出力が、前記ロバストに符号化されたビットストリームに関係していることを特徴とするビデオエンコーダ。
【請求項２】
前記ＶＯＰエンコーダが、ビットストリームが既存の構文に準拠するように、冗長な動きベクトルをデータパケットに組み込むことを特徴とする請求項１に記載のビデオエンコーダ。
【請求項３】
前記データパケットが、ユーザデータビデオパケットであることを特徴とする請求項１に記載のビデオエンコーダ。
【請求項４】
さらに、前記ロバストに符号化されたビットストリームを生成するように、複数のＶＯＰエンコーダの出力を組み合わせるのに適合したマルチプレクサを含むことを特徴とする請求項１に記載のビデオエンコーダ。
【請求項５】
前記ビデオエンコーダが、さらに、受信したフレームにおけるシーン変化を検出し、２つの連続したイントラ符号化フレーム（Ｉ−フレーム）と共に前記シーン変化を符号化するように構成され、前記Ｉ−フレームが、Ｐ−ＶＯＰではなくＩ−ＶＯＰだけを含んでいることを特徴とする請求項１に記載のビデオエンコーダ。
【請求項６】
前記ビデオエンコーダが、ＭＰＥＧ−４構文に準拠するロバストに符号化されたビットストリームを生成するように構成されていることを特徴とする請求項１に記載のビデオエンコーダ。
【請求項７】
前記ＶＯＰエンコーダのフレームが、前記前のフレームの直前にある符号化されたフレームからの前記冗長な動きベクトルの動きを参照することを特徴とする請求項１に記載のビデオエンコーダ。
【請求項８】
前記マルチプレクサが、ＭＰＥＧ−４ビデオビットストリームのユーザデータビデオパケットにおける前記冗長な動きベクトルを格納するように構成されていることを特徴とする請求項１に記載のビデオエンコーダ。
【請求項９】
符号化される一連の映像フレームにおける第１映像フレームのビデオオブジェクトプレーン（ＶＯＰ）の一時的な動きをロバストに符号化する動きエンコーダであって、
前記第１映像フレームの直前の映像フレームに対応する第２映像フレームのＶＯＰを格納するように構成された前のＶＯＰメモリと、
前記前のＶＯＰメモリからのビデオオブジェクトを再構成するように構成され、前記前のＶＯＰメモリと交信する前のＶＯＰ再構成回路と、
前記第１映像フレームにおける第１ビデオオブジェクトを基に、標準の動きベクトルと前記前のＶＯＰ再構成回路からの第１の再構成されたビデオオブジェクトとを生成するのに適合した第１動きベクトル発生器と、
前記第２映像フレームの直前にある映像フレームに対応し、少なくとも第３映像フレームのＶＯＰを格納するように構成された前の前のＶＯＰメモリと、
該前の前のＶＯＰメモリからのビデオオブジェクトを再構成するように構成され、前記前のＶＯＰメモリと交信する前の前のＶＯＰ再構成回路と、
前記第１映像フレームにおける第１ビデオオブジェクトを基にした標準の動きベクトルと、前記前の前のＶＯＰ再構成回路からの第２の再構成されたビデオオブジェクトとを生成する第２動きベクトル発生器とを含んで構成されていることを特徴とする動きエンコーダ。
【請求項１０】
前記前の前のＶＯＰメモリが、さらに、前記前の前のフレーム以前のフレームのＶＯＰを格納するように構成されていることを特徴とする請求項９に記載の動きエンコーダ。
【請求項１１】
前記第２動きベクトル発生器が、動き推定器及び動き補正器を含むことを特徴とする請求項９に記載の動きエンコーダ。
【請求項１２】
符号化されたビデオビットストリームに冗長な動きベクトルを提供する方法であって、
符号化される複数の映像フレームを受信するステップと、
映像フレームを、イントラ符号化フレーム（Ｉ−フレーム）として符号化するか、又は予測符号化フレーム（Ｐ−フレーム）として符号化するかを判断するステップと、
Ｐ−フレームを符号化する際に、前記フレーム内の第１ビデオオブジェクトを、第１予測ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）として符号化するステップと、
前記第１Ｐ−ＶＯＰが、符号化される前記Ｐ−フレームの前の少なくとも２つの映像フレームにおける第２ＶＯＰに関係しているか否かを判断するステップと、
前記第２ＶＯＰを基に前記第１Ｐ−ＶＯＰの動きを基準とする冗長な動きベクトルを計算するステップとを含むことを特徴とする冗長な動きベクトルの提供方法。
【請求項１３】
さらに、前記符号化されたビデオビットストリームが、標準のＭＰＥＧ−４構文に準拠するユーザデータビデオパケットに、前記冗長な動きベクトルを格納するステップを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項１４】
さらに、前記ユーザデータビデオパケットに、ヘッダ拡張コードを格納するステップを含むことを特徴とする請求項１４に記載の冗長な動きベクトルの提供方法。
【請求項１５】
さらに、前記ビットストリームにおける前記第１Ｐ−ＶＯＰに対応するデータパケットの後にすぐに続くユーザデータビデオパケットに、前記冗長な動きベクトルを格納するステップを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項１６】
前記冗長な動きベクトルの基準として用いられる前記第２ＶＯＰが、符号化される前記Ｐ−フレーム以前の２つのフレームである映像フレームからのものであることを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項１７】
さらに、前記符号化されるＰ−フレーム以前の少なくとも２つの映像フレームである映像フレームを選択するステップを含み、選択された前記映像フレームが、符号化される前記Ｐ−フレームに関係し、
前記選択された映像フレームから前記第２ＶＯＰを選択するステップと、
前記符号化されたビデオビットストリームにおける、前記選択された映像フレームの表示を行うステップとを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項１８】
さらに、Ｉ−フレームとしてフレームを符号化する際に、自動的に、連続して少なくとも２つのＩ−フレームを符号化するステップを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項１９】
映像フレームのＩ−フレームとしての符号化が、シーン変化を検出することか否かの判断を含み、さらに、
Ｉ−フレームとしてのシーン変化に対応する前記映像フレームを符号化するステップと、
自動的に、シーン変化として該シーン変化に対応する前記映像フレームを符号化するステップとを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項２０】
映像フレームのＩ−フレームとしての符号化が、急速なシーン変化を検出することか否かの判断を含み、さらに、
Ｉフレームとして急速に変化するシーンに対応する前記映像フレームを符号化するステップと、
自動的に、シーン変化として急速に変化するシーンに対応する前記映像フレームの後に続く映像フレームを符号化するステップとを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項２１】
さらに、前記符号化されたビットストリームが、少なくとも１つのリモートビデオデコーダによって受信されるように、前記符号化されたビデオビットストリームを無線で伝送するステップを含むことを特徴とする請求項１２に記載の冗長な動きベクトルの提供方法。
【請求項２２】
イントラ符号化フレーム（Ｉ−フレーム）及び予測符号化フレーム（Ｐ−フレーム）を含む複数の映像フレームを伝送するビデオビットストリームであって、
イントラ符号化ＶＯＰ（Ｉ−ＶＯＰ）用のパケットと、予測符号化ＶＯＰ（Ｐ−ＶＯＰ）用のパケットとを含み、ビデオオブジェクトプレーン（ＶＯＰ）を伝送する複数の第１パケットと、
前記ビデオビットストリームにおけるＰ−ＶＯＰに対応する少なくとも１つの冗長な動きベクトルを伝送する複数の第２パケットとを含むことを特徴とするビデオビットストリーム。
【請求項２３】
前記複数の第２パケットが、ユーザデータビデオパケットを含み、複数個のユーザデータビデオパケットが、前記ビデオビットストリームがＭＰＥＧ−４構文に準拠するように、前記冗長な動きベクトルを伝送するものであることを特徴とする請求項２２に記載のビデオビットストリーム。
【請求項２４】
前記ユーザデータビデオパケットが、前記ビデオビットストリームにおけるＰ−ＶＯＰに対応する前記第１パケットに続くものであることを特徴とする請求項２３に記載のビデオビットストリーム。
【請求項２５】
前記ユーザデータビデオパケットが、さらに、前記冗長な動きベクトルに対応する基準フレームとして使用するフレームに関する指示を伝送するものであることを特徴とする請求項２３に記載のビデオビットストリーム。
【請求項２６】
前記ユーザデータビデオパケットが、さらに、該ユーザデータビデオパケット内のデータを識別する少なくとも１つのユーザデータヘッダコードを含むものであることを特徴とする請求項２３に記載のビデオビットストリーム。
【請求項２７】
前記ユーザデータヘッダコードが、１６ビットの長さである請求項２３に記載のビデオビットストリーム。
【請求項２８】
前記ユーザデータビデオパケットが、ヘッダ拡張コードを含むものであることを特徴とする請求項２３に記載のビデオビットストリーム。
【請求項２９】
ビデオビットストリームにおけるユーザデータビデオパケットであって、
ユーザデータビデオパケットを指示する構文に対応するスタートコードと、
第１フレーム以前の第２フレームの一部分に関係する前記第１フレームの一部分の動きベクトルに対応するデータとを含むことを特徴とするユーザデータビデオパケット。
【請求項３０】
前記ユーザデータビデオパケットが、前記第２フレームとは異なるフレームに関係する前記第１フレームの標準の動きベクトルを含む、対応するデータパケットに続くものであることを特徴とする請求項２９に記載のユーザデータビデオパケット。
【請求項３１】
前記ユーザデータパケットが、前記ユーザデータビデオパケットにおける動きベクトルを用いることができないデコーダが、前記ユーザデータビデオパケットを無視するように、スタートコードによって識別されるものであることを特徴とする請求項２９に記載のユーザデータビデオパケット。
【請求項３２】
さらに、前記動きベクトルに対応する前記ユーザデータビデオパケットにおけるデータを識別するためのユーザデータヘッダコードを含むことを特徴とする請求項２９に記載のユーザデータビデオパケット。
【請求項３３】
さらに、前記第１フレームと第２フレームとの一時的な関係に対応するユーザデータビデオパケットへの追加データを含むことを特徴とする請求項２９に記載のユーザデータビデオパケット。
【請求項３４】
符号化されたビデオビットストリームに冗長な動きベクトルを提供するビデオエンコーダであって、
符号化される複数の映像フレームを受信する手段と、
前記映像フレームを、イントラ符号化フレーム（Ｉ−フレーム）として符号化するのか、又は予測符号化フレーム（Ｐ−フレーム）として符号化するのかを判断する手段と、
Ｐ−フレームを符号化する際に、前記フレームにおける第１ビデオオブジェクトを、第１予測ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）として符号化する手段と、
前記第１Ｐ−ＶＯＰが、１つのＰ−フレームを符号化する際に、符号化されるＰ−フレーム以前の少なくとも２つの映像フレームにおける第２ＶＯＰに関係しているか否かを判断する手段と、
前記第２ＶＯＰに基づく前記第１Ｐ−ＶＯＰの動きを基準とする冗長な動きベクトルを計算する手段とを含んで構成されていることを特徴とするビデオエンコーダ。
【請求項３５】
ロバストに符号化された映像情報を復号するのに適合したビデオデコーダであって、
ビデオビットストリームからのデータを構文解析するのに適合したデマルチプレクサと、
該デマルチプレクサからの動き情報を受信するように構成された動きデコーダとを含み、
該動きデコーダが、前のフレームを基準とする標準の動きベクトルに関係する動き情報を復号することができるように構成され、
さらに、前記動きデコーダが、前のフレーム以前のフレームを基準とする冗長な動きベクトルに基づく動き情報を復号することができるように構成され、
さらに、前記デマルチプレクサからのテクスチャ情報を受信し、前記ＶＯＰのテクスチャを復号するように構成されたテクスチャデコーダと、
映像フレームを生成することができるように、複数のＶＯＰを組み合わせるのに適合したコンポジション回路とを含んで構成されていることを特徴とするビデオデコーダ。
【請求項３６】
さらに、前記デマルチプレクサからの形状情報を受信し、受信したデータからビデオオブジェクトプレーン（ＶＯＰ）の形状を復号するように構成されたシェープデコーダを含むことを特徴とする請求項３５に記載のビデオデコーダ。
【請求項３７】
前記動きデコーダが、前記前のフレームを利用できる時に、前記標準の動きベクトルを基に動きを復号するように構成されていることを特徴とする請求項３５に記載のビデオデコーダ。
【請求項３８】
前記動きデコーダが、前のフレームを利用できない時に、前記冗長な動きベクトルを基に動きを復号するように構成されていることを特徴とする請求項３５に記載のビデオデコーダ。
【請求項３９】
前記動きデコーダが、標準の動きベクトルと冗長な動きベクトルとの両方を基に動きを復号するように構成され、さらに、前記標準の動きベクトルを基に再構成されたＶＯＰと、前記冗長な動きベクトルを基に再構成されたＶＯＰとの間で選択するように構成されていることを特徴とする請求項３５に記載のビデオデコーダ。
【請求項４０】
前記動きデコーダが、ＭＰＥＧ−４構文に準拠するビデオビットストリームを復号するように構成されていることを特徴とする請求項３５に記載のビデオデコーダ。
【請求項４１】
第１フレーム内のビデオオブジェクトプレーン（ＶＯＰ）を復号するのに適合したビデオデコーダにおけるＶＯＰデコーダであって、
第２フレームが第１フレームの直前に位置し、前記第２フレームを基に再構成されたＶＯＰを格納するように構成された第１メモリと、
第３フレームが前記第２フレームの前のフレームであり、前記第３フレームを基に再構成されたＶＯＰを格納するように構成された第２メモリと、
前記第１メモリにおける前記第１の再構成されたＶＯＰの動きに関係する、符号化されたビットストリームからの標準の動きベクトルを復号するように構成された第１動きデコーダと、
前記第２メモリにおける前記第２の再構成されたＶＯＰの動きに関係する、符号化されたビットストリームからの冗長な動きベクトルを復号するように構成された第２動きデコーダと、
前記第１動きデコーダと前記第２動きデコーダのうちの少なくとも１つによって提供される情報を基に、少なくとも一部分のＶＯＰを再構成するように構成された動き補正器とを含んで構成されていることを特徴とするＶＯＰデコーダ。
【請求項４２】
前記第２メモリに格納された第３のフレームが、前記第２フレームの直前にあるフレームであることを特徴とする請求項４１に記載のＶＯＰデコーダ。
【請求項４３】
さらに、セレクタモジュールが、前記標準の動きベクトルを基に少なくとも一部が再構成されたＶＯＰと、前記冗長な動きベクトルを基に少なくとも一部が再構成されたＶＯＰとの間で選択するのに適合するものであることを特徴とする請求項４１に記載のＶＯＰデコーダ。
【請求項４４】
少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）に関係する冗長な動きベクトルを含むビデオビットストリームを復号する方法であって、
前記ビデオビットストリームを受信するステップと、
前記ビデオビットストリームからの第１フレームのビデオオブジェクトプレーン（ＶＯＰ）を復号するステップと、
第２フレームが前記第１フレームにおけるＰ−ＶＯＰの標準の動きベクトルに対する基準フレームであり、前記第２フレームから第１基準ＶＯＰを利用することができないことを検出するステップと、
前記ビデオビットストリームから、基準として前記第２フレーム以前の第３フレームからの第２基準ＶＯＰを使用する冗長な動きベクトルを読み取るステップと、
前記冗長な動きベクトルと前記第２基準ＶＯＰとを基に、前記Ｐ−ＶＯＰを再構成するステップとを含むことを特徴とするビデオビットストリームの復号方法。
【請求項４５】
前記第３フレームが、前記第２フレームに対して時間的に直前にあるフレームであることを特徴とする請求項４４に記載のビデオビットストリームの復号方法。
【請求項４６】
さらに、前記冗長な動きベクトルの基準として用いられる前記第３フレームに対応するフレームを指示する、前記ビデオビットストリームの値を読み取るステップを含むことを特徴とする請求項４４に記載のビデオビットストリームの復号方法。
【請求項４７】
前記復号方法における処理が、リアルタイムで実行されることを特徴とする請求項４４に記載のビデオビットストリームの復号方法。
【請求項４８】
前記冗長な動きベクトルを読み取るステップが、さらに、前記ビデオビットストリームにおけるユーザデータビデオパケットから前記冗長な動きベクトルを読み取ることを含むことを特徴とする請求項４４に記載のビデオビットストリームの復号方法。
【請求項４９】
前記ビデオビットストリームを読み取るステップが、さらに、無線通信を介して、前記ビデオビットストリームを受信することを含むことを特徴とする請求項４４に記載のビデオビットストリームの復号方法。
【請求項５０】
少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）の冗長な動きベクトルを含むビデオビットストリームを復号する方法であって、
ビデオビットストリームを受信するステップと、
前記ビデオビットストリームからの第１フレーム内のビデオオブジェクトプレーン（ＶＯＰ）を復号するステップと、
第２フレームが前記第１フレームの直前にあり、標準の動きベクトルが基準フレームとして前記第２フレームからの第１基準ＶＯＰを使用するものであり、前記第１フレームのＰ−ＶＯＰを復号するために、前記ビデオビットストリームから前記標準の動きベクトルを読み取るステップと、
前記冗長な動きベクトルが基準として前記第２フレーム以前の第３フレームを基に第２基準ＶＯＰを使用するものであり、前記ビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、
前記標準の動きベクトルと前記第１基準ＶＯＰとを基に、第１Ｐ−ＶＯＰを再構成するステップと、
前記冗長な動きベクトルと前記第２基準ＶＯＰとを基に、第２Ｐ−ＶＯＰを再構成するステップと、
前記第１フレームで使用するために、前記第１Ｐ−ＶＯＰ及び前記第２Ｐ−ＶＯＰのうちの１つを選択するステップとを含むことを特徴とするビデオビットストリームの復号方法。
【請求項５１】
前記選択するステップが、前記第１Ｐ−ＶＯＰの誤差推定量と前記第２Ｐ−ＶＯＰの誤差推定量とを比較することによって判断することを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５２】
前記第３フレームが、前記第２フレームに対して時間的に直前のフレームであることを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５３】
さらに、第３フレームが前記冗長な動きベクトルによって基準として用いられるものであり、前記第３フレームに対応するフレームを指示するビデオビットストリームの値を読み取るステップを含むことを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５４】
前記復号方法における処理が、リアルタイムで実行されることを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５５】
前記冗長な動きベクトルを読み取るステップが、さらに、前記ビデオビットストリームにおけるユーザデータビデオパケットから、前記冗長な動きベクトルを読み取ることを含むことを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５６】
前記ビデオビットストリームを読み取るステップが、さらに、無線通信を介して、ビデオビットストリームを受信することを含むことを特徴とする請求項５０に記載のビデオビットストリームの復号方法。
【請求項５７】
符号化されたビデオビットストリームに存在している冗長な動きベクトルの使用方法であって、
第１ビデオオブジェクトプレーン（ＶＯＰ）を再構成することに、標準の動きベクトルを用いることができないことを判断するステップと、
前記符号化されたビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、
前記第１ＶＯＰに対応するフレームの前の少なくとも２つのフレームであり、前記冗長な動きベクトルに対応する基準のＶＯＰを含む基準フレームを読み取るステップと、
前記冗長な動きベクトルを基に前記第１ＶＯＰの少なくとも一部と前記基準ＶＯＰとを再構成するステップとを含むことを特徴とする冗長な動きベクトルの使用方法。
【請求項５８】
符号化されたビデオビットストリームに存在している冗長な動きベクトルの使用方法であって、
第１フレームにおける第１ビデオオブジェクトプレーン（ＶＯＰ）を再構成するのに用いることが意図された標準の動きベクトルを受信するステップと、
第１フレームに対して時間的に前にある第２フレームから選ばれる第１基準ＶＯＰを読み取るステップと、
前記標準の動きベクトルに基づく一時的な第１ＶＯＰと前記第１基準ＶＯＰとを再構成するステップと、
前記符号化されたビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、
前記第１フレームの前の少なくとも２つのフレームである第２基準フレームから、第２基準ＶＯＰを読み取るステップと、
前記冗長な動きベクトルの少なくとも一部分である一時的な第２ＶＯＰと前記第２基準ＶＯＰとを再構成するステップと、
前記第１ＶＯＰを提供するために、前記一時的な第１ＶＯＰと前記一時的な第２ＶＯＰとの間にあるものを選択するステップとを含むことを特徴とする動きベクトルの使用方法。
【請求項５９】
予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）の再構成用の基準フレームを使用する方法であって、
リアルタイムで表示するために復号されている映像フレームの前の少なくとも２つのフレームのうち、少なくとも１つのフレームを基準フレームとして格納するステップと、
前記格納された映像フレームを読み取るステップと、
対応する動きベクトルの基準フレームとして、前記格納された映像フレームを使用するステップとを含むことを特徴とする基準フレームの使用方法。
【請求項６０】
少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）用の冗長な動きベクトルを含むビデオビットストリームを復号するように構成されたビデオデコーダであって、
ビデオビットストリームを受信する手段と、
前記ビデオビットストリームから第１フレームのビデオオブジェクトプレーン（ＶＯＰ）を復号する手段と、
第２フレームが前記第１フレームにおけるＰ−ＶＯＰの標準の動きベクトル用の基準フレームであり、前記第２フレームからの第１基準ＶＯＰを使用することができないことを検出する手段と、
前記冗長な動きベクトルが、基準として前記第２フレームより時間的に前の第３フレームからの第２基準ＶＯＰを用いるものであり、前記ビデオビットストリームから前記冗長な動きベクトルを読み取る手段と、
前記冗長な動きベクトル及び前記第２基準ＶＯＰを基にＰ−ＶＯＰを再構成する手段とを含んで構成されていることを特徴とするビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像の符号化及び復号技術に関する。特に、本発明は、伝送エラーに比較的ロバスト（強固）なビデオコードを生成するシステムと方法、及びエラーの伝搬を軽減することができるビデオコードの復号化システムと方法に関する。
【背景技術】
【０００２】
狭い帯域幅又は少ない格納スペースで映像信号を伝送し格納するために、様々なディジタル映像の圧縮技術が提案されてきた。そのような映像圧縮技術には、Ｈ．２６１、Ｈ．２６３、Ｈ．２６３＋、Ｈ．２６３＋＋、Ｈ．２６Ｌ、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４及びＭＰＥＧ−７などの国際標準がある。これらの圧縮技術によれば、特に、離散コサイン変換（ＤＣＴ）技術及び動き補正（ＭＣ）技術では、比較的高い圧縮率を得ることができる。そのような映像圧縮技術によって、無線携帯電話ネットワーク、コンピュータネットワーク、ケーブルネットワーク、衛星中継などの様々なディジタルネットワークにおいて、効率的に送信されるビデオビットストリームの利用が可能になる。
【０００３】
ユーザにとって具合が悪いことに、ディジタル映像信号を送信し、伝送するのに用いられる様々なメディアは、常に完全に動作する訳ではなく、伝送されたデータには、コラプション(CORRUPTION：破損)が含まれたり、インターラプション(INTERRUPTION：割り込み)があったりすることがある。このようなコラプションは、エラー、脱落及び遅れを含んでいる。また、コラプションは、無線チャネルや非同期転送モード（ＡＴＭ）ネットワークのようないくつかの伝送メディアにおける周波数で発生する。例えば、無線チャネルにおけるデータの伝送では、環境ノイズ、マルチパス及びシャドーイングによってエラーが生じる。別の例では、ＡＴＭネットワークを介するデータの伝送では、ネットワークの過密(CONGESTION)及びバッファ・オーバーフローによって、エラーが生じる。
【０００４】
映像を送信するデータストリームやビットストリームのコラプションは、表示された映像に混乱を生じさせる。１ビットのデータが欠落したとしても、それによって、ビットストリームと同期しないという結果になり、引いては、同期コードワードを受信するまで、後に続くビットを利用できないことになる。これらの伝送エラーは、受信ミスフレーム、ミスしたフレーム内のブロックなどの原因となる。比較的圧縮率が高いデータストリームに関する欠点の１つは、映像信号を送信するデータストリームを伝送する際に、コラプションに対する感受性が高いことである。
【０００５】
本技術に関係する技術者達は、ビットストリーム中のデータのコラプションを軽減することができる技術の開発を模索してきた。例えば、エラー隠蔽法は、受信ミスやコラプションを含むブロックにおけるエラーを隠すことに利用することができる。しかし、エラー隠蔽法は、エラーのあるブロックが、隣接するブロックに外見が似ていない場合には、よく機能しない。別の例では、前進型誤信号訂正（ＦＥＣ）技術があり、破損したビットの回復や、コラプションが生じた場合のデータの再構成に利用される。しかし、ＦＥＣ技術には、冗長なデータが発生し、それによって、映像用のビットストリームの帯域幅が広くなるか、又は映像を維持する有効な帯域幅が狭くなるという不利な点がある。また、ＦＥＣ技術は、計算の実行が複雑である。さらに、従来のＦＥＣ技術は、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ−２及びＭＰＥＧ−４などの国際標準とは互換性がない。そのために、高いレベルの「システム」で、計算を行わなければならない。
【０００６】
データのコラプションを軽減するアプローチの一つに、ビデオコーダの構文(Syntax)を改良する方法があり、動きの基準となるフレーム番号を指示する遅れ値を伴う１つの動きベクトルを用いる。すなわち、その動きベクトルは、いくつかの先行するフレームのうちの１つのフレームに依存する。Budagavi, M., et al., "Error propagation in Motion Compensated Video over Wireless Channels", Proc. ICIP'97, Vol.2(Oct. 1997), pp.89-92を参照のこと。１つだけの動きベクトルが送信されると、冗長さが全くないという欠点がある。さらに、遅れ値が国際標準に含まれていないという欠点がある。そのために、１つの動きベクトルと遅れ値によって符号化された映像は、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ−２及びＭＰＥＧ−４などの国際標準と互換性があるデコーダのように、先行するフレームだけに基づく動きベクトルを復号するデコーダとは、下位互換性がない。
【０００７】
データのコラプションを軽減するもう一つのアプローチに、ダブルベクトル動き補正法を用いる方法がある。ｋ番目のフレームにおけるそれぞれのブロックＦkは、前のフレームＦk-1におけるブロックの動きベクトルと、その前の前のフレームＦk-2のブロックの動きベクトルとの重み付けされた重ね合わせに基づいて補正された動きである。これらの２つのブロックの１つが破損すると、デコーダは、破損していないＦk-1又はＦk-2のいずれかの残っているブロックから、ｋ番目のフレームＦkのブロックを予測することによって、エラーの伝搬を抑制する。Kim, C.-S., et al., "Robust Transmission of Video Sequence Using Double-Vector Motion Compensation", IEEE Transaction on Circuits and Systems for Video Technology, Vol.11, No.9 (Sept. 2001), pp.1011-1021を参照のこと。しかし、ダブルベクトル動き補正法は、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ−２及びＭＰＥＧ−４などの現存の国際標準とは下位互換性がない。
【発明の開示】
【課題を解決するための手段】
【０００８】
本発明は、伝送された映像信号のロバストさ（強固さ）を高めるために、予測符号化ビデオオブジェクトプレーン（Predictive-coded Video Object Plane：Ｐ−ＶＯＰ）用の冗長な動きベクトルを符号化する方法及び装置に関する。本発明に係る１つの態様は、ＭＰＥＧ−４標準に準拠したビットストリームのユーザデータビデオパケットで冗長な動きベクトルを提供する。それによって、強化されたビットストリームが、ＭＰＥＧ−４構文に準拠し、ＭＰＥＧ−４デコーダとの下位互換性を維持することができるようになる。また、強化されたビットストリームによって、ビデオデコーダが、ビットストリームの部分が混信、遅れなどで妨害されたり、損傷をうけたりした時に、より優れた画像、比較的少ないエラーとエラー伝搬という好ましい条件で、映像を表示することができるようになる。
【０００９】
本発明に係る１つの態様は、ロバストに符号化されたビットストリームの映像情報を圧縮するのに適合したビデオエンコーダを含んで構成されている。このビデオエンコーダは、前記映像フレームを受信し、該映像フレームをビデオオブジェクトに構文解析するのに適合した定義モジュールと、複数のイントラ符号化ビデオオブジェクトプレーン（Ｉ−ＶＯＰ）及び前記ビデオオブジェクトに対応する複数の予測符号化ＶＯＰ（Ｐ−ＶＯＰ）を生成するのに適合した複数のビデオオブジェクトプレーン（ＶＯＰ）エンコーダとを含んで構成され、前記複数のＶＯＰエンコーダのうちの１つのＶＯＰエンコーダが、前記映像フレームを基に、予測符号化ＶＯＰ（Ｐ−ＶＯＰ）を生成するように構成され、前記ＶＯＰエンコーダが、現在のフレームにおけるビデオオブジェクト用の標準の動きベクトルを生成するように構成され、前記標準の動きベクトルが、前記現在のフレームに対する直前のフレームにおける一部分の動きを基準とし、前記ＶＯＰエンコーダが、前記現在のフレームにおけるビデオオブジェクト用の標準の動きベクトルとは独立した冗長な動きベクトルを生成するように構成され、前記冗長な動きベクトルが、前記標準の動きベクトルによって参照された前記フレームに対する前のフレームにおける一部分の動きを基準とし、前記ＶＯＰエンコーダが、データパケットに前記冗長な動きベクトルを組み込み、前記ＶＯＰエンコーダの出力が、前記ロバストに符号化されたビットストリームに関係していることを特徴としている。
【００１０】
本発明に係る別の態様は、符号化される一連の映像フレームにおける第１映像フレームのビデオオブジェクトプレーン（ＶＯＰ）の一時的な動きをロバストに符号化する動きエンコーダを含んでいる。この動きエンコーダは、前記第１映像フレームの直前の映像フレームに対応する第２映像フレームのＶＯＰを格納するように構成された前のＶＯＰメモリと、該前のＶＯＰメモリからのビデオオブジェクトを再構成するように構成され、前記前のＶＯＰメモリと交信する前のＶＯＰ再構成回路と、前記第１映像フレームにおける第１ビデオオブジェクトを基に、標準の動きベクトルと前記前のＶＯＰ再構成回路からの第１の再構成されたビデオオブジェクトとを生成するのに適合した第１動きベクトル発生器と、前記第２映像フレームの直前にある映像フレームに対応し、少なくとも第３映像フレームのＶＯＰを格納するように構成された前の前のＶＯＰメモリと、該前の前のＶＯＰメモリからのビデオオブジェクトを再構成するように構成され、前記前のＶＯＰメモリと交信する前の前のＶＯＰ再構成回路と、前記第１映像フレームにおける第１ビデオオブジェクトを基にした標準の動きベクトルと、前記前の前のＶＯＰ再構成回路からの第２の再構成されたビデオオブジェクトとを生成する第２動きベクトル発生器とを含んで構成されていることを特徴としている。
【００１１】
また、本発明に係る別の態様は、符号化されたビデオビットストリームに冗長な動きベクトルを提供する方法を含んでいる。この冗長な動きベクトルの提供方法は、符号化される複数の映像フレームを受信するステップと、映像フレームを、イントラ符号化フレーム（Ｉ−フレーム）として符号化するか、又は予測符号化フレーム（Ｐ−フレーム）として符号化するかを判断するステップと、Ｐ−フレームを符号化する際に、前記フレーム内の第１ビデオオブジェクトを、第１予測ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）として符号化するステップと、前記第１Ｐ−ＶＯＰが、符号化される前記Ｐ−フレームの前の少なくとも２つの映像フレームにおける第２ＶＯＰに関係しているか否かを判断するステップと、前記第２ＶＯＰを基に前記第１Ｐ−ＶＯＰの動きを基準とする冗長な動きベクトルを計算するステップとを含むことを特徴としている。
【００１２】
また、本発明に係る別の態様は、イントラ符号化フレーム（Ｉ−フレーム）及び予測符号化フレーム（Ｐ−フレーム）を含む複数の映像フレームを伝送するビデオビットストリームを含んでいる。このビデオビットストリームは、イントラ符号化ＶＯＰ（Ｉ−ＶＯＰ）用のパケットと、予測符号化ＶＯＰ（Ｐ−ＶＯＰ）用のパケットとを含み、ビデオオブジェクトプレーン（ＶＯＰ）を伝送する複数の第１パケットと、前記ビデオビットストリームにおけるＰ−ＶＯＰに対応する少なくとも１つの冗長な動きベクトルを伝送する複数の第２パケットとを含むことを特徴としている。
【００１３】
また、本発明に係る別の態様は、ビデオビットストリームにおけるユーザデータビデオパケットを含んでいる。このユーザデータビデオパケットは、ユーザデータビデオパケットを指示する構文に対応するスタートコードと、第１フレーム以前の第２フレームの一部分に関係する前記第１フレームの一部分の動きベクトルに対応するデータとを含むことを特徴としている。
【００１４】
また、本発明に係る別の態様は、符号化されたビデオビットストリームに冗長な動きベクトルを提供するビデオエンコーダを含んでいる。このビデオエンコーダは、符号化される複数の映像フレームを受信する手段と、映像フレームを、イントラ符号化フレーム（Ｉ−フレーム）として符号化するのか、又は予測符号化フレーム（Ｐ−フレーム）として符号化するのかを判断する手段と、Ｐ−フレームを符号化する際に、前記フレームにおける第１ビデオオブジェクトを、第１予測ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）として符号化する手段と、前記第１Ｐ−ＶＯＰが、１つのＰ−フレームを符号化する際に、符号化されるＰ−フレーム以前の少なくとも２つの映像フレームにおける第２ＶＯＰに関係しているか否かを判断する手段と、前記第２ＶＯＰに基づく前記第１Ｐ−ＶＯＰの動きを基準とする冗長な動きベクトルを計算する手段とを含んで構成されていることを特徴としている。
【００１５】
本発明は、ロバストに符号化されたビデオビットストリームを復号する方法及び装置に関する。デコーダに係る１つの実施の形態では、冗長な動きベクトルと、前のフレーム以前のフレーム又はその両者を基にして、標準の動きベクトルと前のフレームからの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）を再構成することができるという利点がある。それによって、デコーダが、混信や遅れなどの好ましくない環境条件があるときに再構成されたＶＯＰに基づくフレームを表示することができるようになる。そうではない場合には、混信や遅れが、標準のＭＰＥＧ−４デコーダなど、標準のデコーダによって基準として使用される前のフレームに悪影響を与える。また、１つの態様では、ＭＰＥＧ−４標準に対応するビットストリームと下位互換性があり、ユーザデータビデオパケットから冗長な動きベクトルに関する情報を読み取ることができるという利点がある。また、１つの実施の形態では、冗長な動きベクトルに対応する基準フレームを格納する、少なくとも１つの別のフレームバッファを含んでいる。
【００１６】
また、本発明に係る１つの態様は、ロバストに符号化された映像情報を復号するのに適合したビデオデコーダを含んでいる。このビデオデコーダは、ビデオビットストリームからのデータを構文解析するのに適合したデマルチプレクサと、該デマルチプレクサからの動き情報を受信するように構成された動きデコーダとを含み、該動きデコーダが、前のフレームを基準とする標準の動きベクトルに関係する動き情報を復号することができるように構成され、さらに、前記動きデコーダが、前のフレーム以前のフレームを基準とする冗長な動きベクトルに基づく動き情報を復号することができるように構成され、さらに、前記デマルチプレクサからのテクスチャ情報を受信し、前記ＶＯＰのテクスチャを復号するように構成されたテクスチャデコーダと、映像フレームを生成することができるように、複数のＶＯＰを組み合わせるのに適合したコンポジション回路とを含んで構成されていることを特徴としている。
【００１７】
また、本発明に係る別の態様は、第１フレーム内のビデオオブジェクトプレーン（ＶＯＰ）を復号するのに適合したビデオデコーダにおけるＶＯＰデコーダを含んでいる。このＶＯＰデコーダは、第２フレームが第１フレームの直前に位置し、前記第２フレームを基に再構成されたＶＯＰを格納するように構成された第１メモリと、第３フレームが前記第２フレームの前のフレームであり、前記第３フレームを基に再構成されたＶＯＰを格納するように構成された第２メモリと、前記第１メモリにおける前記第１の再構成されたＶＯＰの動きに関係する、符号化されたビットストリームからの標準の動きベクトルを復号するように構成された第１動きデコーダと、前記第２メモリにおける前記第２の再構成されたＶＯＰの動きに関係する、符号化されたビットストリームからの冗長な動きベクトルを復号するように構成された第２動きデコーダと、前記第１動きデコーダと前記第２動きデコーダのうちの少なくとも１つによって提供される情報を基に、少なくとも一部分のＶＯＰを再構成するように構成された動き補正器とを含んで構成されていることを特徴としている。
【００１８】
また、本発明に係る別の態様は、少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）に関係する冗長な動きベクトル含むビデオビットストリームを復号する方法を含んでいる。このビデオビットストリームの復号化方法は、前記ビデオビットストリームを受信するステップと、該ビデオビットストリームからの第１フレームのビデオオブジェクトプレーン（ＶＯＰ）を復号するステップと、第２フレームが前記第１フレームにおけるＰ−ＶＯＰの標準の動きベクトルに対する基準フレームであり、前記第２フレームからの第１基準ＶＯＰを利用することができないことを検出するステップと、前記ビデオビットストリームから、基準として前記第２フレーム以前の第３フレームからの第２基準ＶＯＰを使用する冗長な動きベクトルを読み取るステップと、前記冗長な動きベクトルと前記第２基準ＶＯＰとを基に、前記Ｐ−ＶＯＰを再構成するステップとを含むことを特徴としている。
【００１９】
また、本発明に係る別の態様は、少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）の冗長な動きベクトルを含むビデオビットストリームを復号する方法を含んでいる。このビデオビットストリームの復号化方法は、ビデオビットストリームを受信するステップと、前記ビデオビットストリームからの第１フレーム内のビデオオブジェクトプレーン（ＶＯＰ）を復号するステップと、第２フレームが前記第１フレームの直前にあり、標準の動きベクトルが基準フレームとして前記第２フレームからの第１基準ＶＯＰを使用するものであり、前記第１フレームのＰ−ＶＯＰを復号するために、前記ビデオビットストリームから前記標準の動きベクトルを読み取るステップと、前記冗長な動きベクトルが基準として前記第２フレーム以前の第３フレームを基に第２基準ＶＯＰを使用するものであり、前記ビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、前記標準の動きベクトルと前記第１基準ＶＯＰとを基に、第１Ｐ−ＶＯＰを再構成するステップと、前記冗長な動きベクトルと前記第２基準ＶＯＰとを基に、第２Ｐ−ＶＯＰを再構成するステップと、前記第１フレームで使用するために、前記第１Ｐ−ＶＯＰ及び前記第２Ｐ−ＶＯＰのうちの１つを選択するステップとを含むことを特徴としている。
【００２０】
また、本発明に係る別の態様は、符号化されたビデオビットストリームに存在している冗長な動きベクトルの使用方法を含んでいる。この冗長な動きベクトルの使用方法は、第１ビデオオブジェクトプレーン（ＶＯＰ）を再構成することに、標準の動きベクトルを用いることができないことを判断するステップと、前記符号化されたビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、前記第１ＶＯＰに対応するフレームの前の少なくとも２つのフレームであり、前記冗長な動きベクトルに対応する基準のＶＯＰを含む基準フレームを読み取るステップと、前記冗長な動きベクトルを基に前記第１ＶＯＰの少なくとも一部と前記基準ＶＯＰとを再構成するステップとを含むことを特徴としている。
【００２１】
また、本発明に係る別の態様は、符号化されたビデオビットストリームに存在している冗長な動きベクトルの使用方法を含んでいる。この冗長な動きベクトルの使用方法は、第１フレームにおける第１ビデオオブジェクトプレーン（ＶＯＰ）を再構成するのに用いることが意図された標準の動きベクトルを受信するステップと、第１フレームに対して時間的に前にある第２フレームから選ばれる第１基準ＶＯＰを読み取るステップと、前記標準の動きベクトルに基づく一時的な第１ＶＯＰと前記第１基準ＶＯＰとを再構成するステップと、前記符号化されたビデオビットストリームから前記冗長な動きベクトルを読み取るステップと、前記第１フレームの前の少なくとも２つのフレームである第２基準フレームから、第２基準ＶＯＰを読み取るステップと、前記冗長な動きベクトルの少なくとも一部分である一時的な第２ＶＯＰと前記第２基準ＶＯＰとを再構成するステップと、前記第１ＶＯＰを提供するために、前記一時的な第１ＶＯＰと前記一時的な第２ＶＯＰとの間にあるものを選択するステップとを含むことを特徴としている。
【００２２】
また、本発明に係る別の態様は、予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）の再構成用の基準フレームを使用する方法を含んでいる。この基準フレームの使用方法は、リアルタイムで表示するために復号化されている映像フレームの前の少なくとも２つのフレームのうち、少なくとも１つのフレームを基準フレームとして格納するステップと、前記格納された映像フレームを読み取るステップと、対応する動きベクトルの基準フレームとして、前記格納された映像フレームを使用するステップとを含むことを特徴としている。
【００２３】
また、本発明に係る別の態様は、少なくともいくつかの予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）用の冗長な動きベクトルを含むビデオビットストリームを復号するように構成されたビデオデコーダを含んでいる。このビデオデコーダは、ビデオビットストリームを受信する手段と、前記ビデオビットストリームから第１フレームのビデオオブジェクトプレーン（ＶＯＰ）を復号する手段と、第２フレームが前記第１フレームにおけるＰ−ＶＯＰの標準の動きベクトルに対する基準フレームであり、前記第２フレームからの第１基準ＶＯＰを使用することができないことを検出する手段と、前記冗長な動きベクトルが、基準として前記第２フレームより時間的に前の第３フレームからの第２基準ＶＯＰを用いるものであり、前記ビデオビットストリームから前記冗長な動きベクトルを読み取る手段と、前記冗長な動きベクトル及び前記第２基準ＶＯＰを基にＰ−ＶＯＰを再構成する手段とを含んで構成されていることを特徴としている。
【発明を実施するための最良の形態】
【００２４】
本発明に関する特徴を、図面を参照して以下に説明する。なお、これらの図面及びそれに関連する説明は、本発明に係る好ましい実施の形態を説明するためのものであり、本発明の技術的範囲を限定することを意図するものではない。また、本発明について、好ましい実施の形態を説明するが、以下に説明する利点や特徴を備えていない実施の形態などの、当業者には明らかなその他の実施の形態も、本発明の技術的範囲に属する。したがって、本発明に係る技術的範囲は、添付する特許請求の範囲における記載を参照することによってのみ限定されなければならない。
【００２５】
本発明に係る実施の形態には、比較的スポット的なビデオビットストリームの受信が保護されるので、ロバストな符号化が要求される、ＭＰＥＧビットストリームのような比較的高い圧縮率のビデオビットストリームの受信が可能になるという長所がある。ビデオビットストリームがリアルタイムで受信される場合には、欠落したデータパケットをリアルタイムで要求し、受信するのに十分な時間がないことが多い。そのために、ロバストに符号化されることが望ましい。
【００２６】
さらに、ビデオビットストリームの受信ができない場合には、引き続いて受信されるビットは、再同期ビットが受信されるまで利用できない可能性がある。また、ビデオビットストリームのデータパケットが受信される時であっても、そのパケットが、ネットワークの過密(congestion)などのためにタイムリーに受信されないのであれば、そのパケットを、ビデオビットストリームの符号化に用いることができない。本発明に係る実施の形態の場合には、混信、微弱信号などの理由で、フレームが失われたり脱落したりした時であっても、標準の動きに対して冗長な動きベクトルを利用することができるという利点がある。さらに好ましいことに、ビデオビットストリームは、従来のビデオデコーダと互換性を保った形で符号化される。
【００２７】
図１は、本発明の１つの実施の形態に係る映像配信システムを組み込むためのネットワークシステムを示すブロック図である。符号化コンピュータ１０２は、比較的コンパクトでロバストなフォーマットに符号化される必要がある映像信号を受信する。符号化コンピュータ１０２は、ソフトウエアによる動作を実行させる汎用コンピュータなどの様々なタイプの装置や特殊なハードウエアに対応するものである。また、符号化コンピュータ１０２は、衛星中継受信機１０４、ビデオカメラ１０６及びビデオ会議用端末器１０８などの広範囲のソースからビデオ映像を受信することができる。
【００２８】
ビデオカメラ１０６は、ビデオカメラレコーダ、ウエブカム(Web cam)、無線装置に組み込まれたカメラなどの様々なタイプのカメラに対応するものである。ビデオ映像は、データ記憶装置１１０に格納することもできる。データ記憶装置１１０は、符号化コンピュータ１０２に対して、内蔵でも外付けでもよい。このデータ記憶装置１１０には、テープ、ハードディスク、光ディスクなどの装置が含まれる。当業者であれば、図１に示したデータ記憶装置１１０のようなデータ記憶装置には、符号化されていない映像、符号化された映像又はその両者を格納可能なことを理解することができるはずである。
【００２９】
１つの実施の形態では、符号化コンピュータ１０２は、データ記憶装置１１０などの記憶装置から符号化されていない映像を読み出し、その符号化されていない映像を符号化し、同じデータの記憶部又は別のデータの記憶部に該当するデータ記憶部に、符号化されたデータを格納する。映像のソースには、フィルムフォーマットで撮影されたソースも含まれることが理解されるであろう。
【００３０】
符号化コンピュータ１０２は、符号化された映像を復号する受信装置に、符号化された映像を配信する。受信装置は、映像を表示することができる多種多様の装置に対応している。例えば、図１のネットワークシステムに示した受信装置には、携帯電話１１２、パーソナルディジタルアシスタント（ＰＤＡ：携帯情報端末）１１４、ラップトップコンピュータ１１６及びデスクトップコンピュータ１１８が含まれる。また、受信装置は、無線通信ネットワークを含む様々なネットワークに相当する通信ネットワーク１２０を介して、符号化コンピュータ１０２と交信することができる。当業者であれば、携帯電話１１２などの受信装置は、符号化コンピュータ１０２に映像信号を伝送することにも利用可能なことが理解されるはずである。
【００３１】
符号化コンピュータ１０２は、受信装置やデコーダと同様に、多種多様のコンピュータに相当するものである。例えば、符号化コンピュータ１０２には、ある種のマイクロプロセッサやプロセッサ（以下、単に「プロセッサ」と記す）にコントロールされた装置が含まれる。それらの装置には、下記のものに限定されるものではないが、パーソナルコンピュータ、ワークステーション、サーバ、クライアント、ミニコンピュータ、メイン−フレームコンピュータ、ラップトップコンピュータ、ネットワークの個別コンピュータ、モバイルコンピュータ、パームトップコンピュータ、ハンドヘルドコンピュータ、テレビジョン用セットトップボックス、双方向型テレビジョン、双方向型公衆電話、パーソナルディジタルアシスタント（ＰＤＡ）、双方向無線通信装置、モバイルブラウザ、インターネット携帯電話又はそれらの組み合わせなどがある。コンピュータは、さらに、キーボード、マウス、トラックボール、タッチパッド、タッチスクリーンなどの入力装置、及びコンピュータスクリーン、プリンタ、スピーカなどの出力装置、又は現在あるか今後開発されるその他の入力装置を備えていてもよい。
【００３２】
上記の符号化コンピュータ１０２は、デコーダも同様に、単一プロセッサ又はマルチプロセッサ装置に相当している。さらに、これらのコンピュータは、アドレス可能な記憶媒体やコンピュータがアクセス可能な媒体を含むことができる。これらの媒体には、ランダムアクセスメモリ（ＲＡＭ）、電気的に消去可能な読取専用メモリ（ＥＥＰＲＯＭ）、ハードディスク、フロッピーディスク、レーザディスクプレーヤ、ディジタルビデオ装置、コンパクトディスクＲＯＭ、ビデオテープ、オーディオテープ、磁気記録トラック、電子ネットワーク及び、一例として、プログラムやデータなどの電子情報を伝送したり格納したりするその他の技術がある。
【００３３】
１つの実施の形態として、コンピュータは、ネットワークインターフェースカード、モデム、赤外線（ＩＲ）ポート又はその他のネットワークへの接続に適したネットワーク接続装置などのネットワーク通信装置を装備している。さらに、コンピュータは、適切なオペレーティングシステムを動作させる。このオペレーティングシステムには、Linux, Unix, MicrosoftR WindowsR 3.1, MicrosoftR WindowsR 95, MicrosoftR WindowsR 98, MicrosoftR WindowsR NT, MicrosoftR WindowsR 2000, MicrosoftR WindowsR Me, MicrosoftR WindowsR XP, AppleR MacOSR, IBMR OS/2R, MicrosoftR WindowsR CE又はPalm OSがある。従来のように、適切なオペレーティングシステムは、無線ネットワークを含むネットワークを介して受信し送信するすべてのメッセージを管理する通信プロトコルの遂行を含むことが好ましい。別の実施の形態では、オペレーティングシステムがコンピュータのタイプによって相違するので、オペレーティングシステムは、ネットワークと通信リンクを確立するのに必要な適切な通信プロトコル提供しつづける。
【００３４】
図２は、一連のフレームを示す模式的斜視図である。映像は、間欠的に撮影された複数の映像フレームを含んでいる。フレームが表示される速さはフレーム速度と呼ばれる。静止像の圧縮に用いられる技術に加えて、動きビデオ技術は、映像情報をさらに少ない量のデータに圧縮するために、時間ｋにおけるフレームを時間ｋ−１におけるフレームに関係付ける。しかし、伝送エラーのようなエラーによって、時間ｋ−１におけるフレームを利用することができない場合には、従来の映像技術では、時間ｋにおけるフレームを正確に復号することができない。後に説明するように、本発明に係る実施の形態の場合には、時間ｋ−１におけるフレームを利用することができない時であっても、時間ｋにおけるフレームを復号することができるような、ロバストな態様でビデオストリームを符号化することができるという利点がある。
【００３５】
一連のフレーム内のフレームは、インターレース（飛び越し走査）されたフレーム又はインターレースされていないフレーム（例えば、プログレッシブフレーム）のいずれかに対応する。インターレースされたフレームの中では、各フレームは、フレームを作り出すために一つに組み合わされた２つの分離したフィールドで構成されている。そのようなインターレーシングは、インターレースされていないフレームやプログレッシブフレームの中では行われない。インターレースされていないフレーム又はプログレッシブフレームに関して説明したが、当業者であれば、ここに説明する原理や利点は、インターレースされた映像とインターレースされていない映像の両方に適用できることが理解されるであろう。また、本発明に係る実施の形態は、ＭＰＥＧ−４及びビデオオブジェクトプレーン（ＶＯＰ）を対象に説明されているが、ここに記載されている原理や利点は、その他のビデオ標準にも適合するものものである。その他のビデオ標準には、ＶＯＰを利用するか利用しないかを問わず、Ｈ．２６１、Ｈ．２６３及びＭＰＥＧ−２があり、開発されているビデオ標準も含まれる。
【００３６】
ＭＰＥＧ−４標準は、"Coding of Audio-Visual Objects: Systems", 14496-1, ISO/IEC JTC1/SC29/WG11 N2501, November 1998及び"Coding of Audio-Visual Objects: Visual", 14496-2, ISO/IEC JTC1/SC29/WG11 N2502, November 1998に定義されている。また、ＭＰＥＧ−４ビデオ照合モデル(Verification Model)17.0は、ISO/IEC JTC1/SC29/WG11, "MPEG-4 Video Verification Model 17.0"ISO/IEC JTC1/SC29/WG11 N3515, Beijing, china, July 2000に定義されている。
【００３７】
あるＭＰＥＧ−４システムでは、一連のフレーム中の１つのフレームが、ビデオオブジェクトプレーン（ＶＯＰ）と呼ばれる多数のビデオオブジェクトに符号化される。１つのフレームは、１つのＶＯＰ又は多数のＶＯＰに符号化される。無線システムなどのあるシステムでは、それぞれのフレームは１つだけのＶＯＰを含むので、１つのＶＯＰが１つのフレームに対応している。ＭＰＥＧ−２のような別のシステムでは、１つのフレームがマクロブロックに符号化される。複数のＶＯＰが受信機に伝送され、そこでデコーダによって、表示用にビデオオブジェクトに復号される。１つのＶＯＰは、１つのイントラ符号化ＶＯＰ（Ｉ−ＶＯＰ）、予測符号化ＶＯＰ（Ｐ−ＶＯＰ）、双方向予測符号化ＶＯＰ（Ｂ−ＶＯＰ）又はスプライト(sprite)ＶＯＰに対応している。１つのＩ−ＶＯＰは、別のフレーム又は画像からの情報に依存していない。すなわち、Ｉ−ＶＯＰは独立に復号される。
【００３８】
フレームがＩ−ＶＯＰだけで構成されている場合には、そのフレームはＩ−フレームと呼ばれる。そのようなフレームは、通常シーンチェンジなどの状況で使用される。別のフレームからの情報の依存性に欠けているために、Ｉ−ＶＯＰはロバストに伝送され受信されるようになる。しかし、Ｉ−ＶＯＰには、Ｐ−ＶＯＰやＢ−ＶＯＰに比べて、比較的多くのデータや帯域幅を消費するという欠点がある。映像を効率的に圧縮し伝送するために、映像フレーム内の多くのＶＯＰがＰ−ＶＯＰに対応していることが必要である。
【００３９】
Ｐ−ＶＯＰは、ビデオオブジェクトを参照することによって、ビデオオブジェクトを効率的に過去のＶＯＰ、すなわち以前のビデオオブジェクト（ＶＯＰで符号化されたもの）に符号化する。この過去のＶＯＰは、基準ＶＯＰと呼ばれる。例えば、時間ｋにおけるフレーム内のオブジェクトが、時間ｋ−１におけるフレーム内のオブジェクトに関係している場合には、Ｐ−ＶＯＰで符号化された動き補正は、Ｉ−ＶＯＰよりも少ない情報でビデオオブジェクトを符号化することに利用することができる。上記の基準ＶＯＰは、Ｉ−ＶＯＰ又はＰ−ＶＯＰのどちらかであってもよい。
【００４０】
Ｂ−ＶＯＰは、基準ＶＯＰとして、過去のＶＯＰと未来のＶＯＰの両方を使用する。リアルタイムのビデオビットストリームでは、Ｂ−ＶＯＰは使わない方がよい。しかし、ここに説明する原理や利点は、Ｂ−ＶＯＰを含むビデオビットストリームに適用することも可能である。Ｓ−ＶＯＰは、アニメ化されたオブジェクトを表示するのに利用される。
【００４１】
符号化されたＶＯＰは、マクロブロックに体系化される。マクロブロックは、輝度成分を格納するセクションと色成分を格納するセクションとを備えている。このマクロブロックは、通信ネットワーク１２０を介して送信され受信される。当業者であれば、データの通信には、符号分割多重アクセス方式（ＣＤＭＡ）への変調又はＣＤＭＡからの復調のような通信レイヤが含まれることを理解できるであろう。さらに、当業者であれば、ビデオビットストリームには、符号化され復号される、対応する音声情報が含まれることを理解できるであろう。
【００４２】
図３（ａ）〜（ｄ）は、一連のフレームにおけるエラーの伝搬を示す写真である。図３（ａ）及び（ｂ）は、エラーなしに符号化、復号化されたイメージに対応している。このシーンは、図３（ａ）と（ｂ）との間で変化している。図３（ｃ）及び（ｅ）は、それぞれ図３（ａ）と（ｂ）と同じシーンであるが、伝送エラーが存在している。図３（ｃ）及び（ｅ）に示されているように、視認されたイメージに、望ましくない伝送エラーが伝搬している。本発明に係るシステムと方法は、これらの伝送エラーを軽減するものである。
【００４３】
図４Ａは、対応する連続したフレームに関する一連のマクロブロックを示す図である。図４Ａは、符号化され送信されたものと、良好に受信されたものに相当している。図４Ａには、第１マクロブロック４０２、第２マクロブロック４０４、第３マクロブロック４０６、第４マクロブロック４０８、第５マクロブロック４１０、第６マクロブロック４１２及び第７マクロブロック４１４が示されている。図４Ａに示したように、時間は右側に進む（図４Ｂも同様）。図示した７つのマクロブロック４０２〜４１４は、様々なタイプのＶＯＰに対応している。例えば、図示した７つのマクロブロック４０２〜４１４は、[I,P,P,P,P,I,P], [P,I,P,P,I,P,I], [I,I,P,P,P,P,P]などの一連のＶＯＰに対応し得る。マクロブロックが正確に受信される場合には、対応する画像は、予定通りに復号される。
【００４４】
図４Ｂは、従来のシステムにおける伝送エラーの影響を示す図である。図４Ｂでは、第４マクロブロック４０８が欠落している。第４マクロブロック４０８は、時間ｋにおけるマクロブロックに対応するものである。時間ｋ＋１における第５マクロブロック４１０が、基準ＶＯＰとして第４マクロブロック４０８に依存している場合には、対応する画像にエラーが発生する。例えば、第５マクロブロック４１０がＰ−ＶＯＰに対応しているとすると、図４Ａに矢印４２０で示したように、第５マクロブロック４１０は、第４マクロブロック４０８に対応するＶＯＰと、第５マクロブロック４１０におけるＰ−ＶＯＰとの間に、相対的な動きを定義する動きベクトルを含んでいる。しかし、図４Ｂに示したように、第４マクロブロック４０８が欠落しているか脱落している場合には、第５マクロブロックにおける動きベクトルには、動きを推定するのに必要な基準が存在しない。また、第６マクロブロックと第７マクロブロックとが、予定のビデオオブジェクトを表示する第５マクロブロックと第６マクロブロックに依存するＰ−ＶＯＰにも対応しているので、さらに問題が複雑になる。このように、１つのマクロブロックの欠落又は脱落の結果として生じるエラーが、多くのマクロブロックに伝搬するという問題がある。
【００４５】
図４Ａ、４Ｂに示したる矢印は、マクロブロック内のＶＯＰが、前のマクロブロックにおける前のＶＯＰ又は基準のＶＯＰに依存することができることを示している。当業者であれば、図４Ａ及び４Ｂに示されているマクロブロックが、別のＶＯＰに依存しないＩ−ＶＯＰであってもよいことを理解できるであろう。
【００４６】
図５Ａ及び５Ｂは、本発明の実施の形態に係る一連のマクロブロックを示す図である。後にさらに詳しく説明するが、時間ｔ0におけるシーケンス内のマクロブロックに対応するＶＯＰは、直前のマクロブロック（ｔ0−１）（その前のフレーム）内のＶＯＰのみに依存するのではなく、直前のマクロブロックのその前のマクロブロック（ｔ0−２）（前の前のフレーム）にも対応し得るという利点がある。
【００４７】
本発明に係る別の実施の形態は、図６を参照して後に説明するが、この場合には、マクロブロックが、直前のマクロブロック（ｔ0−１）以前のマクロブロック（ｔ0−ｘ）に依存し得るが、必ずしも直前のマクロブロック（ｔ0−２）の直ぐ前である必要はない。すなわち、前の前のフレームだけではなく、３つ前のフレーム又は４つ前のフレームなどにも依存し得る。
【００４８】
図５Ａは、符号化され伝送されることを表しており、また良好に受信されることも表している。すなわち、図５Ａは、欠落も脱落もないマクロブロックの場合を示している。図５Ｂは、欠落又は脱落がある場合を示している。
【００４９】
図５Ａには、第１マクロブロック５０２、第２マクロブロック５０４、第３マクロブロック５０６、第４マクロブロック５０８、第５マクロブロック５１０、第６マクロブロック５１２及び第７マクロブロック５１４が示されている。図５Ａでは、時間は右側に進むように表されている（図５Ｂも同様）。図に示したマクロブロック５０２〜５１４は、Ｉ−ＶＯＰ、Ｐ−ＶＯＰなどの様々なタイプのＶＯＰに対応することができる。図示したシーケンスの原理と利点を説明するために、マクロブロック５０２〜５１４は、Ｐ−ＶＯＰを示しているものとする。ＭＰＥＧ−４標準に従えば、１つのＰ−ＶＯＰは前の１つのＰ−ＶＯＰに依存している。例えば、第１の矢印５２０で示されているように、第２マクロブロック５０４のＰ−ＶＯＰは、第１マクロブロック５０２のＶＯＰを基準としている。第２の矢印５２２、第３の矢印５２４、第４の矢印５２６、第５の矢印５２８及び第６の矢印５３０は、それぞれ、第３マクロブロック５０６、第４マクロブロック５０８、第５マクロブロック５１０、第６マクロブロック５１２及び第７マクロブロック５１４の内容に関し、それぞれ直前のマクロブロックに対するポテンシャルの依存関係を示している。
【００５０】
図５Ａは、直前のマクロブロックではない前のマクロブロックへの依存関係も示している。これらの別の依存関係は、曲線の矢印で表されている。第１の曲線矢印５４０は、時間ｋ−１におけるフレームに対応する第３マクロブロック５０６から、時間ｋ−３におけるフレームに対応する第１マクロブロック５０２への依存関係を表している。第１の曲線矢印５４０は、第２マクロブロック５０４が正確に受信されない時に、バックアップとして用いることができる冗長な動きベクトルを表している。第１の曲線矢印５４０で表されている冗長な動きベクトルを用いると、時間ｋ−１における第３フレームの表示のエラーを減らし、また後に続くフレームにおけるエラーの伝搬を減らすことができるという利点がある。第２の曲線矢印５４２、第３の曲線矢印５４４、第４の曲線矢印５４６、第５の曲線矢印５４８は、それぞれ、第４マクロブロック５０８、第５マクロブロック５１０、第６マクロブロック５１２及び第７マクロブロック５１４におけるＶＯＰを用いることができる冗長な動きベクトルに対応している。後に図１２Ｂを参照して説明するように、本発明に係る１つの実施の形態は、現存のＭＰＥＧ−４デコーダを用いて、下位互換性を保持する冗長な動きベクトルを符号化するという利点を有している。
【００５１】
当業者であれば、マクロブロックがＩ−ＶＯＰに対応する場合には、そのマクロブロックは別のいずれのマクロブロックには依存しないことを理解できるであろう。また、同様に当業者には、マクロブロックがＩ−ＶＯＰに対応する場合には、そのＩ−ＶＯＰの前のＶＯＰを基準とする冗長な動きベクトルに従う後続のマクロブロックは、実用的ではないことが理解されるであろう。しかし、図１０を参照して後に説明するように、本発明に係る１つの実施の形態では、逐次的に２つのＩ−ＶＯＰを符号化し、それによって、直前のＶＯＰの前のＶＯＰを基準とする冗長な動きベクトルを利用することができる。
【００５２】
図５Ｂには、本発明の実施の形態に係る、欠落や脱落を伴う一連のマクロブロックを示した。図５Ｂでは、時間ｋにおけるフレームに相当する第４マクロブロック５０８が、そのシーケンスから欠落している。これは、該当するビデオビットストリームデータを受信する際に、混信又は遅れにより、欠落又は脱落した時間ｋにおけるフレームの影響をシミュレートするものである。従来のＭＰＥＧ−４システムでは、マクロブロックが脱落すると、基準のＶＯＰがないために、脱落したマクロブロックに依存する内容を伴うマクロブロックを、正確に符号化することができなかった。それに対して、本発明に係る実施の形態の場合には、欠落しているマクロブロックの基準ＶＯＰに依存するＶＯＰを伴う後続のマクロブロックであっても、復号することができる。
【００５３】
例えば、欠落したマクロブロックが第４マクロブロック５０８の場合には、第５マクロブロック５１０のＰ−ＶＯＰは、第３の曲線矢印５４４で表されている冗長な動きベクトルを用いることによって、基準ＶＯＰとして第３マクロブロック５０６内のＶＯＰを利用することができる。図１６を参照して後に説明するように、本発明に係る１つの実施の形態は、標準の動きベクトルに対する基準フレームを利用することができない時には、別の状態にある冗長な動きベクトルを利用することもできる。
【００５４】
図６は、本発明の実施の形態に係る一連のマクロブロックを示す図である。また図６は、Ｐ−ＶＯＰを伴うマクロブロックが、前のマクロブロックだけではなく、３つ前のマクロブロックにも依存することができることを示している。例えば、時間ｋのマクロブロック６０２は、時間ｋ−１のマクロブロック６０６によって、保持されたＶＯＰに対する動きに関係する第１の矢印６０４によって示されている標準の動きベクトルを含んでいる。時間ｋのマクロブロック６０２によって保持されたＰ−ＶＯＰは、曲線矢印６１０で示されている冗長な動きベクトルにより、時間ｋ−３マクロブロック６０８によって保持されている基準のＶＯＰに対する動きを参照することもできる。
【００５５】
当業者であれば、その他のマクロブロックへの別の依存関係、これらの依存関係の組み合わせが可能なことが理解されるであろう。例えば、本発明に係る１つの実施の形態では、前の前のフレーム、３つ前のフレームから選ばれたＶＯＰを基準とする冗長な動きベクトルを符号化することができる。また、どのフレームを基準フレームとして利用すべきかを指示する値を含んでいる。
【００５６】
図７は、本発明の実施の形態に係るビデオエンコーダ７００を示すブロック図である。ビデオエンコーダ７００は、ＡＳＩＣ(Application Specific Integrated Circuit)、ＦＰＧＡ(Field programmable Gate Array)などを備える専用のハードウエアのような様々な装置に組み込むことができる。また、ビデオエンコーダ７００は、汎用コンピュータにおいて、ソフトウエアによって動作するマイクロプロセッサ、マイクロコントローラ、ディジタル信号プロセッサ（ＤＳＰ）によって実行されるソフトウエアやファームウエアにより実現することもできる。ビデオエンコーダ７００は、入力データ７０２として、映像フレームを受信する。それぞれの映像フレームは、フレームをビデオオブジェクトに分割するＶＯＰ定義ステップ７０４に送られる。このフレームは、長方形の形をした１つのビデオオブジェクトによって画定されることが理解されるであろう。
【００５７】
それぞれのビデオオブジェクトは、エンコーダステップ７０６〜７１２で符号化される。１つの実施の形態では、エンコーダステップ７０６〜７１２では、ビデオオブジェクトがＩ−ＶＯＰ又はＰ−ＶＯＰに符号化される。１つの実施の形態では、ビデオオブジェクトがＰ−ＶＯＰとして符号化されると、エンコーダステップでは、１つのＶＯＰに関するそれぞれのマクロブロックに対する冗長な動きベクトルが符号化されるという長所がある。
【００５８】
別の実施の形態では、選ばれたＶＯＰに対して、冗長な動きベクトルが符号化される。さらに、Ｐ−ＶＯＰとしてビデオオブジェクトを符号化するように構成されたエンコーダステップに関して、その実施の形態を、図８を参照して後に詳しく説明する。マルチプレクサ７１４は、符号化されたＶＯＰを受信し、符号化された映像データを伝送する符号化されたビットストリーム７１６を生成する。
【００５９】
図８は、本発明の実施の形態に係る予測符号化ビデオオブジェクトプレーン（Ｐ−ＶＯＰ）エンコーダ８００を示すブロック図である。当業者であれば、Ｐ−ＶＯＰエンコーダ８００は、専用のハードウエア、又は汎用コンピュータで動作するソフトウエアによって実現可能なことが理解されるであろう。図示したＰ−ＶＯＰエンコーダ８００は、必要に応じて、シェープエンコーダ８０２を備えていてもよい。フレームが１つだけのＶＯＰを含む場合には、シェープエンコーダ８０２は必要ではなく、形状情報８１２がハードワイヤされるか又はハードコードされる。シェープエンコーダ８０２が用いられる場合には、入力データとして、ビデオオブジェクトデータ８１０が、シェープエンコーダ８０２に提供される。シェープエンコーダ８０２は、ビデオオブジェクトの形状を符号化し、マルチプレクサ８０８に、入力データとして形状情報８１２を提供する。例えば、ビデオオブジェクトは、長方形に符号化される。
【００６０】
ビデオオブジェクトデータ８１０は、入力データとして、第１動きエスティメータ８２６にも提供される。第１動きエスティメータ８２６は、入力データとしてマルチプレクサ８０８に提供される標準動きベクトル８１４を生成する。第１テクスチャコーダ８３４は、入力データとしてマルチプレクサ８０８にも提供されるテクスチャ情報８１６を生成する。マルチプレクサ８０８の時分割によって、入力データは、符号化されたＶＯＰデータ８０９に多重化される。
【００６１】
図８に示したＰ−ＶＯＰ８００は、前の前のＶＯＰリコンストラクション８２２、前のＶＯＰリコンストラクション８２４、第１動きエスティメータ８２６、第１動き補正器８２８、第１ディファレンシングノード８３０、第１サミングノード８３２及び第１テクスチャコーダ８３４を含んで構成されている。前の前のＶＯＰリコンストラクション８２２は、前のＶＯＰリコンストラクション８２４から前のフレームを受信し、前の前のフレームからのＶＯＰを提供する。すなわち、時間ｋにおけるフレームからのＶＯＰがＰ−ＶＯＰエンコーダ８００によって符号化されると、前の前のＶＯＰリコンストラクション８２２は、時間ｋ−２におけるフレームから対応するＶＯＰを提供する。前のビデオオブジェクトは、前のＶＯＰリコンストラクション８２４によって格納されたＶＯＰを基に再構成される。再構成された前のビデオオブジェクトは、入力データとして、第１動きエスティメータ８２６、第１動き補正器８２８に提供される。
【００６２】
ビデオオブジェクトデータ８１０は、入力データとして、第１動きエスティメータ８２６にも提供される。第１動きエスティメータ８２６は、ビデオオブジェクトデータ８１０と、前のＶＯＰリコンストラクション８２４からの再構成された前のビデオオブジェクトとを比較し、動きベクトルの推定値を生成する。この動きベクトルの推定値は、入力データとして、第１動き補正器８２８に提供される。第１動き補正器８２８は、前のＶＯＰリコンストラクション８２４から、推定された動きベクトルを前のＶＯＰに供給し、その結果を第１ディファレンシングノード８３０、第１サミングノード８３２に提供する。第１ディファレンシングノード８３０は、動き補正された前のビデオオブジェクトとビデオオブジェクトデータ８１０とを比較し、その結果を、入力データとして、第１テクスチャコーダ８３４に提供する。
【００６３】
第１テクスチャコーダ８３４は、ビデオオブジェクトのテクスチャを符号化し、第１フィードバック信号を生成し、第１フィードバック信号は、入力データとして、第１サミングノード８３２に提供される。第１テクスチャコーダ８３４では、離散コサイン変換（ＤＣＴ）などの技術が利用される。また、第１サミングノード８３２は、第１テクスチャコーダ８３４からの第１フィードバック信号と、第１動き補正器８２８からの推定された動きベクトルとを受信し、入力データとして、前のＶＯＰリコンストラクション８２４に、第２フィードバック信号を提供する。
【００６４】
図８には、さらに第２動きエスティメータ８４６及び第２動き補正器８４８が示されている。前の前のビデオオブジェクトは、前の前のＶＯＰリコンストラクション８２２によって格納されたＶＯＰを基に再構成される。再構成された前の前のビデオオブジェクトは、入力データとして、第２動きエスティメータ８４６及び第２動き補正器８４８に提供される。
【００６５】
ビデオオブジェクトデータ８１０は、入力データとして、第２動きエスティメータ８４６にも提供される。第２動きエスティメータ８４６は、ビデオオブジェクトデータ８１０と、前の前のＶＯＰリコンストラクション８２２からの再構成された前の前のビデオオブジェクトとを比較し、前の前のフレームからのビデオオブジェクトを基準とする動きベクトルの推定値を生成する。その動きベクトルの推定値は、入力データとして、第２動き補正器８４８に提供される。１つの実施の形態では、第２動き補正器８４８は、必要に応じて、その結果を第２ディファレンシングノード８５０に提供してもよい。図８には、必要に応じて設けられる第２テクスチャコーダ８５４を示した。
【００６６】
図９は、本発明の実施の形態に係る全体的なプロセスを示すフローチャート９００である。図９に示したフローチャートは、前の前のフレームにおけるＶＯＰに関係する動きを基準とする冗長な動きベクトルを含めるために、ビデオビットストリームの一部を符号化するものである。このプロセスは、リアルタイム又はバッチ処理において非同期的に実行される。例えば、符号化された映像データは、バッファ内又は記憶装置に格納され、処理が完了した後で、バッファ又は記憶装置から読み出される。別のプロセスとして、冗長な動きベクトルが以前のフレームのうちの１つから選択されたＶＯＰに関係する動きを基準とするものがある。そのプロセスに関しては、図１１を参照し後に説明する。図９に示したプロセスは、一連の映像フレームを受信する第１ステップ９０４からスタートする。この映像フレームは、ビデオカメラ、ビデオ会議端末機、放送(transmission)から受信することが可能であり、またビデオテープ、ハードディスクなどのデータ記憶手段から読み出すこともできる。このプロセスは、第１ステップ９０４から第２ステップ９０８へ進む。
【００６７】
第２ステップ９０８では、必要に応じて、一連の映像フレームに対して前処理を施す。例えば、フレーム速度を調節するためのフレームの追加又は削除、フレームの分解能の調節などを行う。この処理では、一連の映像フレームから削除されたフレームを符号化しないことは言うまでもない。第２ステップ９０８から、第１ＦＯＲループのスタート９１２へ進む。
【００６８】
第１ＦＯＲループのスタート９１２では、フレームのシーケンスのうち適用可能なフレームが処理されたか否か、又はさらに処理しなければならないフレームがあるか否かを判断する。このプロセスは、フレームの処理が完了した時に終了する。さらに処理する必要があるフレームがある場合には、第１ＦＯＲループのスタート９１２から、第１デシジョンブロック９１６へ進む。当業者であれば、第１ＦＯＲループは、ＷＨＩＴＥ又はＧＯＴＯなどのその他のループとともに組み込むことができることを理解できるであろう。
【００６９】
第１デシジョンブロック９１６では、イントラ符号化フレーム（Ｉ−フレーム）としてフレームを符号化するのか、予測符号化フレーム（Ｐ−フレーム）として符号化するのかを判断する。フレームをＩ−フレームとして符号化する場合には、第１デシジョンブロック９１６から第３ステップ９２０へ進む。一方、フレームをＰ−フレームとして符号化する場合には、第１デシジョンブロック９１６から第２ＦＯＲループのスタート９２４へ進む。
【００７０】
１つの実施の形態では、第１デシジョンブロック９１６で、Ｉ−フレームとして符号化する場合とＰ−フレームとして符号化する場合との判断に、標準符号化デシジョンが用いられる。１つの実施の形態では、図１０を参照して後に説明する別のプロセスの場合、どのフレームをＩ−フレームとして符号化するか、どのフレームをＰ−フレームとして符号化するかを判断する。
【００７１】
第３ステップ９２０では、フレーム内のすべてのビデオオブジェクトをＩ−ＶＯＰとして符号化する。その後、第３ステップ９２０から第４ステップ９２８へ進む。
【００７２】
第２ＦＯＲループでは、フレーム内のビデオオブジェクトがＶＯＰに処理されたか否かを判断する。ＶＯＰへの処理が終わると、第２ＦＯＲループのスタート９２４から第４ステップ９２８へ進む。処理する必要があるＶＯＰがさらに存在する場合には、第２ＦＯＲループのスタート９２４から第５ステップ９３２へ進む。当業者であれば、第２ＦＯＲループには、ＷＨＩＬＥなどの別のループを組み込んでもよいことが理解されるであろう。
【００７３】
第４ステップ９２８では、符号化処理されたフレームを出力部へ送信する。出力部は、記憶装置、送信装置、送信バッファなどである。次に、第４ステップから第１ＦＯＲループのスタート９１２へ戻る。
【００７４】
第５ステップ９３２では、ビデオオブジェクトをＶＯＰに符号化する。このＶＯＰは、Ｉ−ＶＯＰ又はＰ−ＶＯＰである。次に、第５ステップ９３２から第２デシジョンブロック９３６へ進む。
【００７５】
第２デシジョンブロック９３６では、ＶＯＰがＩ−ＶＯＰとして符号化されたか、Ｐ−ＶＯＰとして符号化されたかを判断する。その後、ＶＯＰがＰ−ＶＯＰの場合には、第２デシジョンブロック９３６から第３デシジョンブロック９４０へ進む。ＶＯＰがＩ−ＶＯＰの場合には、第２デシジョンブロック９３６から、第２ＦＯＲループのスタート９２４へ戻る。
【００７６】
第３デシジョンブロック９４０では、前の前のフレームが現在のフレームに関係しているか否かを判断する。前の前のフレームが現在のフレームと関係がある場合には、第３デシジョンブロック９４０から第６ステップ９４４へ進む。一方、前の前のフレームと現在のフレームとの間に関係がない場合には、第３デシジョンブロック９４０から第２ＦＯＲループのスタート９２４へ戻る。
【００７７】
前の前のフレームと現在のフレームとの間に関係がない場合には、現在のフレームのＰ−ＶＯＰが、前の前のフレームを基準とする必要がない。前の前のフレームと現在のフレームとの間に関係がない場合の例は、前の前のフレームと現在のフレームとの間に介在するシーン変化がある時に生じる。図１０を参照して後に説明するように、このプロセスに係る１つの実施の形態では、変化するシーン及び／又は連続するＩ−ＶＯＰのような変化の速いシーンをさらに符号化する。それによって、前の前のフレーム内のＶＯＰを基準とし、ロバストな符号化を行うＰ−ＶＯＰに対する冗長な動きベクトルが実現される。
【００７８】
第６ステップ９４４では、前の前のフレームにおける対応するＶＯＰに基づいて、現在のＶＯＰ用の冗長な動きベクトルを計算する。その後、第６ステップ９４４から第７ステップ９４８へ進む。
【００７９】
第７ステップ９４８では、ユーザのデータビデオパケットに、冗長な動きベクトルを格納する。ユーザのデータビデオパケットに、冗長な動きベクトルが記憶されると、標準のＭＰＥＧ−４デコーダによって、下位互換性のあるビデオビットストリームを生成することができるようになるという利点がある。標準のＭＰＥＧ−４デコーダは、冗長な動きベクトルデータを利用することができない。しかし、冗長な動きベクトルデータがあると、ＭＰＥＧ−４デコーダが、ビデオビットストリームの別の部分（ＭＰＥＧ−４標準に従う）を復号することを妨害しないという長所がある。
【００８０】
標準のＭＰＥＧ−４デコーダは、ユーザデータビデオパケットにあるデータを無視する。そのユーザデータビデオパケットは、ユーザデータスタートコードを入力することによって表示される。ユーザのデータスタートコードは、データパケットのスタートコードに関しては、１６進のビットストリング０００００１Ｂ２である。ユーザデータスタートコードは、別のスタートコードを受信するまで、ユーザデータスタートコードの後に受信するデータを無視するように、標準のＭＰＥＧ−４デコーダに指示する。１つの実施の形態では、次のスタートコードが、スタートコード値Ｂ６（１６進）を有するＶＯＰスタートコードに相当する。なお、ユーザデータビデオパケットについては、図１２を参照し、後に詳しく説明する。第７ステップ９４８の後、任意の第８ステップ９５２へ進む。
【００８１】
任意の第８ステップ９５２では、第７ステップで生成されたユーザデータビデオパケットに、ヘッダ拡張コード（ＨＥＣ）を追加する。ＨＥＣがあると、Ｐ−ＶＯＰに関係する別のパケットが失われているとしても、冗長な動きベクトルを利用することができるデコーダが、ユーザデータビデオパケットの内容、すなわち冗長な動きベクトルを利用することができるようになる。その後、任意の第８ステップ９５２から、次のＶＯＰを処理するために、第２ＦＯＲループのスタート９２４へ戻る。
【００８２】
図１０は、本発明の実施の形態に係るプロセスの全体を示すフローチャート１０００である。このプロセスでは、ビデオビットストリームのロバストさを高めるために、連続するイントラ符号化フレーム（Ｉ−フレーム）を伴うビデオビットストリームの一部を符号化する。この処理は、リアルタイム又はバッチ処理において非同期的に実行される。また、この処理は、フレームをＩ−フレームとして符号化する必要がある時、及びフレームをＰ−フレームとして符号化する必要がある時を判断するためには、すでに図９を参照して説明した第１デシジョンブロック９１６を利用することができる。
【００８３】
この処理は、第１デシジョンブロック１００４から始まる。現在のフレーム（時間ｋにおけるフレーム）と前のフレーム（時間ｋ−１におけるフレーム）との間で、シーン変化が検出されると、第１デシジョンブロック１００４から第１ステップ１００８へ進む。現在のフレームと前のフレームとの間で、シーン変化が検出されない場合には、第１デシジョンブロック１００４から第２デシジョンブロック１０１２へ進む。１つの実施の形態では、急速に変化するシーンを検出することによって、シーン変化を検出する。
【００８４】
第２デシジョンブロック１０１２では、現在のフレームが、シーン変化の後で生じたフレームか、比較的急速に変化するシーンの後で生じたフレームかを判断する。１つの実施の形態では、さらにロバストな符号化を行うために、シーン変化の後又は比較的急速なシーン変化の後の２つの連続するＩ−フレームを符号化する。その結果、後続のＰ−ＶＯＰにおける冗長な動きベクトルが、依然として、前の前のフレームを基準とすることができるようにもなる。シーン変化の後のフレームに対応するフレームがどちらかは、フラッグをセットするか、読み取ることによって決定される。現在のフレームが、シーン変化又は比較的急速なシーン変化の後のフレームに対応する場合には、第２デシジョンブロック１０１２から第１ステップ１００８へ進む。一方、現在のフレームが、シーン変化後のフレームに対応しない場合には、第２デシジョンブロック１０１２から第３デシジョンブロック１０２４へ進む。
【００８５】
第３デシジョンブロックでは、多くの連続するＰ−フレームの数を調べる。あるシステムでは、エラーの伝搬を制限するために、連続するＰ−フレームの数を予め定められた数に制限することが好ましい。その数が予め定められたしきい値を超える場合には、第３デシジョンブロック１０２４から第１ステップ１００８へ進む。そうでない場合には、第３ステップ１０３２へ進む。
【００８６】
第１ステップ１００８では、フレームをＩ−フレームとして符号化する。次に、第１ステップ１００８から第２ステップ１０２８へ進み、そこで、連続するＰ−フレームの数を消去した後、処理を終了する。
【００８７】
第３ステップ１０３２では、フレームをＰ−フレームとして符号化する。その後、第３ステップ１０３２から第４ステップ１０３６へ進み、そこで、連続するＰ−フレームの数を増加させた後、処理を終了する。
【００８８】
図１１は、本発明の実施の形態に係る別のプロセスの全体を示すフローチャート１１００である。このプロセスでは、冗長な動きベクトルを含めるために、ビデオビットストリームの一部を符号化し、ここでは、冗長な動きベクトルが、選択された前のフレームを基準とすることができる。図１１に示したフローチャート１１００によって説明されたプロセスは、図９を参照して説明したように、冗長なビットストリームでビデオビットストリームを符号化することが好ましい。しかし、図１１に示したプロセスは、現在のフレームの直前のフレーム以前のフレームの１つから、動きベクトルを選択して基準とすることができる。
【００８９】
１つの実施の形態では、すでに図９を参照して説明したように、フローチャート１１００には、第１ステップ９０４、第２ステップ９０８、第１ＦＯＲループのスタート９１２、第１デシジョンブロック９１６、第３ステップ９２０、第２ＦＯＲループのスタート９２４、第４ステップ９２８、第５ステップ９３２が含まれる。
【００９０】
第２デシジョンブロック９３６では、ＶＯＰがＩ−ＶＯＰとして符号化されたか、Ｐ−ＶＯＰとして符号化されたかを判断する。ＶＯＰがＰ−ＶＯＰに対応している場合には、第２デシジョンブロック９３６から第３デシジョンブロック１１０４へ進む。その後、第２デシジョンブロック９３６から第２ＦＯＲループのスタート９２４へ戻る。
【００９１】
第３デシジョンブロック１１０４では、前のフレーム以前のフレームが、現在のフレームと関係があるか否かを判断する。前のフレーム以前のフレームは、前の前のフレームを含むが、その他の先行するフレーム、すなわち、時間ｋにおけるフレームに関係する時間ｋ−２、ｋ−３、ｋ−４などのフレームのいずれかを含むこともできる。前のフレーム以前のフレームが現在のフレームに関係している時には、第３デシジョンブロック１１０４から第６ステップ１１０８へ進む。
【００９２】
前のフレーム以前のフレームと現在のフレームとの間に関係がない場合には、第３デシジョンブロック１１０４から第２ＦＯＲループのスタート９２４へ戻る。一方、前のフレーム以前のフレームと現在のフレームとの間に関係がない場合には、現在のフレームにおけるＰ−ＶＯＰは、現在のフレーム以前のどのフレームも基準とはならない。前のフレーム以前のフレームと現在のフレームとの間に関係がない場合の例には、前のフレーム以前のフレームと現在のフレームとの間に介在するシーン変化がある場合がある。すでに、図１０を参照して説明したように、本プロセスの１つの実施の形態では、シーン変化及び／又は連続するＩ−ＶＯＰなどの変化の速いシーンを符号化する。その結果、現在のフレームに対する冗長な動きベクトルが、前のフレーム以前のフレームにおけるＶＯＰを基準のＶＯＰとして使えるようになり、ロバストな符号化が行われるようになる。
【００９３】
第６ステップ１１０８では、前のフレーム以前のフレームのうちの１つが選ばれる。選択されたフレームのＶＯＰは、現在のフレームの冗長な動きベクトルのための基準として用いられる。１つの実施の形態では、そのフレームは、前のフレーム以前のフレームにおけるＶＯＰに対する現在のフレームのＶＯＰのマッチングによって選択される。ＶＯＰのマッチングを求めるためには、様々な手段を利用することができる。判断基準の例の１つに、現在のフレームのＶＯＰと、適切な動きベクトル推定によって置き換えられたような前のフレーム以前のフレーム内のＶＯＰとの間の絶対誤差合計(sum of absolute difference :SAD)の計算及び比較がある。当業者であれば、動きベクトル用の多くの推定計算が、第６ステップ１１０８で実行できることを理解できるであろう。その後、第６ステップ１１０８から第７ステップ１１１２へ進む。
【００９４】
第７ステップ１１１２では、選ばれたフレームに対する基準値をユーザデータビデオパケットに格納する。この基準値には、どの程度前のフレームが時間遅れを伴わないかを示すタイムラグ値、シーケンスに戻るフレームの数に相当する数などの様々な値が対応している。すでに、図９を参照して説明したように、ユーザデータビデオパケットにデータを記憶させると、標準のＭＰＥＧ−４デコーダと下位互換性のあるビデオビットストリームを生成することができるようになる。標準のＭＰＥＧ−４デコーダが、ユーザデータビデオパケット内に入力されたデータを使用することができない場合でも、冗長な動きベクトルデータがある場合には、妨害されることなく、ＭＰＥＧ−４デコーダが、ビデオビットストリーム（ＭＰＥＧ−４標準に従う）のその他の部分を復号することができるという利点がある。
【００９５】
上記のユーザデータビデオパケットは、データパケットのスタートコードとして、ユーザデータスタートコード（１６進のＢ２）を入力することによって表示される。ユーザデータスタートコードは、標準のＭＰＥＧ−４デコーダが、ユーザデータスタートコードと、ビットストリームによって受信される次のスタートコードとの間のデータを無視することを、標準のＭＰＥＧ−４デコーダに指示する。なお、図１２Ｂを参照して、ユーザデータビデオパケットを、後に詳しく説明する。第７ステップ１１１２の後、第８ステップ１１１６に進む。
【００９６】
第８ステップ１１１６では、選択されたフレーム内の対応するＶＯＰに基づいて、現在のフレーム用の冗長な動きベクトルを格納する。冗長な動きベクトルは、新たに計算により求めることが可能で、また、第６ステップにおける計算のように、すでに行われた計算結果から読み取ることができる。その後、第８ステップ１１１６から第９ステップ１１２０へ進む。
【００９７】
第９ステップ１１２０では、すでに第７ステップ１１１２に関連して説明したように、ユーザデータビデオパケットに冗長な動きベクトルを格納する。その後、第９ステップ１１２０から任意の第１０ステップ１１２４へ進む。
【００９８】
任意の、すなわち必要に応じて設定される第１０ステップ１１２４では、第９ステップ１１２０で生成したユーザデータビデオパケットに、ヘッダ拡張コード（ＨＥＣ）を追加する。ＨＥＣがあると、Ｐ−ＶＯＰに関係する別のパケットが失われているとしても、冗長な動きベクトルを利用することができるデコーダが、ユーザデータビデオパケットの内容、すなわち冗長な動きベクトルを利用することができるようになる。その後、次のＶＯＰを処理するために、任意の第１０ステップ１１２４から、第２ＦＯＲループのスタート９２４へ進む。
【００９９】
図１２Ａは、従来の技術に係るビデオビットストリーム１２００のサンプルを示す図である。ビデオビットストリーム１２００は、映像フレーム又はＶＯＰの内容を伝送する。当然、ＶＯＰは映像フレームであってもよい。説明上、図１２Ａに示したビデオビットストリーム１２００の各部分は、第１フレーム１２０２：Ｆk及び第２フレーム１２０４：Ｆ(k+1)（又はＶＯＰ）に対応している。フレーム又はＶＯＰは、ビデオビットストリーム１２００によって伝送される多数のビデオパケット（ＶＰ）に分割されている。第１フレーム又はＶＯＰ１２０２：Ｆkに対応する多数のＶＰの一部が、実施の形態ではＶＯＰスタートコードを含む第１ＶＰ１２０６、第２ＶＰ１２０８、第３ＶＰ１２１０及び第４ＶＰ１２１２として示されている。また、第２フレーム又はＶＯＰ１２０４：Ｆ(k+1)に対応する多数のＶＰの一部が、図１２ＡではＶＯＰスタートコードを含む第５ＶＰ１２２０、第６ＶＰ１２２２、第７ＶＰ１２２４及び第８ＶＰ１２２６として示されている。
【０１００】
図１２Ｂは、本発明の実施の形態に係るビデオビットストリーム１２５０のサンプルを示す図である。ビデオビットストリーム１２５０は、符号化されたＶＯＰをロバストに符号化するために、冗長な動きベクトルを含んでいる。また、ビデオビットストリーム１２５０には、標準のＭＰＥＧ−４デコーダと下位互換性を有しているという特長がある。
【０１０１】
ビデオビットストリーム１２５０のうち、図示した部分は、第１フレーム又はＶＯＰ１２５２：Ｆk及び第２フレーム又はＶＯＰ１２５４：Ｆ(k+1)を含んでいる。第１フレーム１２５２：Ｆkは、複数のＶＰを含んでいる。第１フレーム１２５２：Ｆkが、Ｐ−フレームに対応する場合には、第１フレーム１２５２：ＦkのＶＰは、イントラコードと予測コードの両者に関係するＶＰを含んでいる。Ｐ−フレーム又はＰ−ＶＯＰは、冗長な動きベクトルのデータを伝送するのに用いられるユーザデータビデオパケットを伴っている。この冗長な動きベクトルは、ビデオビットストリームが、ＭＰＥＧ−４構文(syntax)に準拠し、標準のＭＰＥＧ−４デコーダと下位互換性を有しているという態様をしている。
【０１０２】
図１２Ｂには、第１フレーム１２５２：Ｆkに対応するＶＯＰの一部が示されている。第１フレーム１２５２：Ｆkに関して図１２Ｂに示されている典型的なＶＰは、第１ＶＰ１２５６：ＶＰk、0、最後の２つ前のＶＰ１２５８：ＶＰk、m-2、最後の１つ前のＶＰ１２６２：ＶＰk、m-1、及び最後のＶＰ１２６６：ＶＰk、mを含んでいる。
【０１０３】
冗長な動きベクトルは、第１ユーザデータビデオパケット１２６０：ＵＤＶＰk、m-2によって伝送することができる。別の実施の形態では、対応するユーザデータビデオパケットは、関係するＰ−ＶＯＰ又はＰ−フレーム用のビデオパケット（ＶＰ）を伴っている。第１ユーザデータビデオパケット１２６０：ＵＤＶＰk、m-2は、ユーザデータビデオパケットのスタートを指示するために、ＭＰＥＧ−４においてＢ２（１６進）であるユーザデータスタートコードを含んでいる。ビデオビットストリーム１２５０におけるＶＯＰ又はフレームは、すべてではないが、ユーザデータビデオパケットで伝送される、対応する冗長な動きベクトルを有している必要がある。１つの実施の形態では、ビデオビットストリーム１２５０は、冗長な動きベクトルが計算されるそれぞれのＰ−フレーム又はＰ−ＶＯＰに対するユーザデータビデオパケットに、冗長な動きベクトルを含んでいる。例えば、ビットストリームの第１フレーム又はＶＯＰ１２５２に続くＶＰは、冗長な動きベクトルを伴うユーザデータビデオパケットを伝送することができる。
【０１０４】
さらに、１つのＩ−フレームが使われる場合、２つのＩ−フレームを逐次的に符号化することによって、１つの実施の形態では、ビデオシーケンスにおけるそれぞれのＰ−フレーム又はＰ−ＶＯＰに対する冗長な動きベクトルを計算することができる。しかし、別の実施の形態では、すべてではないが、Ｐ−フレーム又はＰ−ＶＯＰが、ユーザデータビデオパケットに、対応する冗長な動きベクトルを含んでいてもよい。例えば、前の前のフレームと現在のフレームとの間に関係がない場合には、Ｐ−フレーム又はＰ−ＶＯＰに、冗長な動きベクトルを提供するべきではない。さらに、帯域幅の制限があるシステムでは、ユーザデータビデオパケットを、ビデオビットストリームから選択的に取り除いてもよい。それによって、計算可能なすべての冗長な動きベクトルより少ない動きベクトルを、ビデオビットストリーム１２５０によって伝送してもいいようになる。
【０１０５】
１つの実施の形態では、Ｐ−フレーム又はＰ−ＶＯＰに対応するユーザデータビデオパケットが、ビデオビットストリームにおいて、Ｐ−フレーム又はＰ−ＶＯＰより遅れて位置する。しかし、当業者であれば、ユーザデータビデオパケットは、ビデオビットストリームにおいて、対応するＰ−フレーム又はＰ−ＶＯＰの前に位置していてもよいことが理解されるであろう。
【０１０６】
第２フレーム１２５４：Ｆ(k+1)は、ユーザデータビデオパケットを伴うビデオビットストリーム１２５０の別の例を示している。第２フレーム１２５４：Ｆ(k+1)に対応するビデオビットストリーム１２５０のうちの図示した部分は、複数のＶＰ：１２７０、１２７２、１２７４及び１２７８を含んでいる。ユーザデータビデオパケット１２７６：ＵＤＶＰk+1、m-1は、ＶＰ１２７４：ＵＤＶＰk+1、m-1に対応する冗長な動きベクトルを伝送する。
【０１０７】
当業者であれば、ユーザデータビデオパケットは、他のデータを伝送するのに利用可能なことが理解されるであろう。１つの実施の形態では、ユーザデータヘッダコードが、後に続くデータのタイプを指示するために、ユーザデータスタートコードの後のエンコーダに含まれる。例えば、ユーザデータヘッダコードは、続くデータが、冗長な動きベクトル、ヘッダ拡張コード（ＨＥＣ）、遅れ値又は冗長な動きベクトルのための基準フレームを指示する値などであることを指示することに利用される。また、例えば、ユーザデータヘッダコードは、１６ビットコードに対応していてもよい。当業者であれば、別の実施の形態では、ユーザデータヘッダコードのビット数が、広範囲に変わり得ることが理解されるであろう。例えば、さらに別の実施の形態では、ヘッダコードは、８ビットコードに対応していてもよい。また、１つの実施の形態では、冗長な動きベクトルや遅れ値のような多くの補充データが、１つのユーザデータビデオパケットで伝送される。別の実施の形態では、別々のユーザデータビデオパケットが、多くの補充データを伝送する。
【０１０８】
図１３は、本発明の実施の形態に係るビデオデコーダを示すハイレベルのブロック図である。ビデオデコーダは、専用のハードウエア又は汎用のコンピュータで動作するソフトウエアによって、実現されてもよい。符号化されたビットストリーム１３０２は、デマルチプレクサ１３０４に対する入力データである。デマルチプレクサ１３０４は、ビデオビットストリームのスタートコード値を読み取り、該当するデコーダに映像データを割り当てる。その映像データは、ＶＯＰデコーダ１３０６、フェースデコーダ１３０８、スティルテクスチャデコーダ１３１０及びメッシュデコーダ１３１２に配信される。
【０１０９】
ＶＯＰデコーダ１３０６は、シェープデコーダ、動き補正デコーダ及びテクスチャデコーダを含んでいる。ＶＯＰデコーダ１３０６は、ＶＯＰを再構成するために、復号された形状情報、動き情報及びテクスチャ情報を組み合わせる。ＶＯＰデコーダに関する１つの実施の形態は、後に図１４を参照してより詳細に説明する。
【０１１０】
フェースデコーダ１３０８は、フェースオブジェクトを復号する。スティルテクスチャデコーダ１３１０は、スティルテクスチャオブジェクトを復号する。また、メッシュデコーダ１３１２は、構成要素を基準とした動きを含むメッシュオブジェクトを復号する。ＶＯＰデコーダ１３０６、フェースデコーダ１３０８、スティルデコーダ１３１０及びメッシュデコーダ１３１２の出力は、ビジュアル画像を形成するために、様々なビジュアルオブジェクトを統合するコンポジションステップに提供される。
【０１１１】
図１４は、本発明の実施の形態に係るビデオオブジェクトプレーン（ＶＯＰ）デコーダを示すブロック図である。ＶＯＰデコーダは、専用のハードウエア、又は汎用のコンピュータで動作するソフトウエアを備えている。符号化されたビットストリーム１３０２は、入力データとして、デマルチプレクサ１３０４に提供される。デマルチプレクサ１３０４は、そのデータに関連する対応するスタートコード値に従って、ビットストリームのデータを配信する。ＭＰＥＧ−４標準に準拠するＶＯＰを復号するために、デマルチプレクサ１３０４は、スタートコード値Ｂ６（１６進）に対応するデータ、又はＶＯＰスタートコードに対するビットストリング０００００１Ｂを提供する。その他様々なデータアイデンティファイヤが、ＶＯＰデコーダ１４００に、符号化されたデータの復号方法を指示する。例えば、ビデオ符号化タイプ識別子によって、符号化されたデータが、Ｉ−ＶＯＰ、Ｐ−ＶＯＰ、Ｂ−ＶＯＰ又はＳ−ＶＯＰのいずれに対応するかが指示される。
【０１１２】
ＶＯＰスタートコード従うデータが、第１動きデコーダ１４０２、第１シェープデコーダ１４０４又は任意のテクスチャデコーダ１４０６の１つに対して送られる。１つの実施の形態では、ビデオビットストリームが、ユーザデータビデオパケットの冗長な動きベクトルを伝送する。この冗長な動きベクトルは、第１動きデコーダ１４０２では無視される。ユーザデータスタートコードを伴うデータが、デマルチプレクサ１３０４によって、第２動きデコーダ１４０８に送られる。
【０１１３】
第１シェープデコーダ１４０４は、ビデオオブジェクトの形状を復号する。例えば、ビデオオブジェクトの形状は、長方形であってもよい。第１メモリ１４１０は、前のフレームの再構成されたＶＯＰを格納する。このＶＯＰは、標準のＭＰＥＧ−４デコーダの基準フレームになるものである。第１動きデコーダ１４０２は動きベクトルを復号する。第１動き補正器１４１２は、現在のフレームに対するＶＯＰを生成するために、前の基準フレームにおける再構成されたＶＯＰのシフトを、上記の動きベクトルと関係付ける。第１動き補正器１４１２によって計算されたＶＯＰは、入力データとして、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４、及び必要に応じて任意の誤差推定器１４１６に提供される。
【０１１４】
冗長な動きベクトル用の基準ＶＯＰが、第２メモリ１４１８に格納される。以下に、「前に再構成されたＶＯＰ」という用語が用いられるが、これは冗長な動きベクトル用の基準ＶＯＰを意味する。例えば、第２メモリ１４１８には、冗長な動きベクトル用の基準フレームとして前の前の再構成されたＶＯＰが格納される。当業者であれば、前の前のフレーム以外のフレームが、冗長な動きベクトル用の基準フレームとして用いられる場合には、第２メモリ１４１８は、その他のフレームのＶＯＰを含み得ることを理解できるであろう。第１メモリ１４１０の出力データは、新しいＶＯＰが再構成された時に、第２メモリ１４１８の入力データとして提供される。当業者であれば、第１メモリ１４１０と第２メモリ１４１８は、同じ記憶装置内に別々のアドレススペースとして構成することができること、及び第１メモリ１４１０と第２メモリ１４１８との間のデータの伝送が、アドレスのシフティングによって効果的に行えることを理解できるであろう。
【０１１５】
第２シェープデコーダ１４２０は、ビデオオブジェクトの形状を復号する。この第２シェープデコーダ１４２０は、第１シェープデコーダ１４０４と同じ符号化された形状情報を受信する。１つの実施の形態では、第２シェープデコーダ１４２０は、第１シェープデコーダ１４０４と同じものである。第２シェープデコーダ１４２０の出力は、入力データとして、第２動き補正器１４２２に提供される。
【０１１６】
第２動きデコーダ１４０８は、冗長な動きベクトルを復号し、入力データとして、第２動き補正器１４２２に、復号された冗長な動きベクトルを提供する。１つの実施の形態では、冗長な動きベクトルは、ユーザデータビデオパケットにおける符号化されたビットストリーム１３０２によって伝送される。また、その冗長な動きベクトルは、ユーザデータスタートコードなどを検出することによりデマルチプレクサ１３０４によって、符号化されたビットストリーム１３０２から取り出される。しかし、熟練者であれば、別の標準（現存するか開発中であるかを問わず）では、冗長な動きベクトルは、それ自身のスタートコード又は同等のもので指定できること、及びデマルチプレクサ１３０４が、符号化されたビットストリーム１３０２から冗長な動きベクトルを取り出すことができることを理解できるであろう。第２動き補正器１４２２は、動きデコーダ１４０８からの動きベクトルが格納されている第２メモリ１４１８から、再構成された前のＶＯＰを組み合わせることによって、冗長なＶＯＰを生成する。第２動き補正器の出力は、入力データとして、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４、及び必要に応じて任意の誤差推定器１４１６に提供される。
【０１１７】
ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、第１動き補正器１４１２によって提供されるＶＯＰ、マクロブロック又はピクセルと、第２動き補正器１４２２によって提供されるＶＯＰとの間のものを選択する。それによって、Ｙ、Ｕ及びＶ値が個別に提供される。ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、前のフレームによる再構成と前の前のフレームによる再構成との間の相対的な期待誤差の逆に従う、前のフレームと前の前のフレームからの寄与を評価する。このＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、入力データとして、ＶＯＰ再構成ステージ１４２４に、選択されたか混合されたＶＯＰ、マクロブロック又はピクセルを提供する。
【０１１８】
第１動き補正器１４１２と第２動き補正器１４２２によって生成されたＶＯＰの１つだけが利用可能な場合には、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、利用可能なＶＯＰを選択する。１つの実施の形態では、前のフレームが利用可能であり、前のフレームを基にＶＯＰを再構成することができる場合には、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、第１動き補正器１４１２の出力を選択する。前のフレームが利用できず、また前のフレームを基にＶＯＰを再構成することができない場合には、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４は、第２動き補正器１４２２の出力を選択する。欠落(missing)フレーム検出装置１４２６は、ＶＯＰ／ＭＢ／ピクセルセレクタ／ブレンダ１４１４に、符号化されたビットストリーム１３０２をモニターして、指示を送ることによって、欠落しているか又は脱落しているフレームを検出する。
【０１１９】
欠落フレーム検出装置１４２６は、タイムスタンプ、ギャップなどを観測することによって、欠落フレームを検出する。別の実施の形態では、第１動き補正器１４１２と第２動き補正器１４２２からの両方のＶＯＰが利用可能な場合に、任意の誤差推定器１４１６は、第１動き補正器１４１２が、必ずしも選択されたＶＯＰを必要としないように、第１の動き補正器１４１２に基づくＶＯＰと、第２動き補正器１４２２に基づくＶＯＰとの間のものを選択する。例えば、絶対誤差合計（ＳＡＤ）などの評価基準は、第２動き補正器１４２２によって、前の再構成されたＶＯＰを基に生成され、提供されたＶＯＰが、より優れた画像になることを示す可能性がある。別の実施の形態では、第１動き補正器１４１２及び第２動き補正器１４２２の出力は、最小平均２乗誤差（ＭＭＳＥ）が復号化を提供することができるように、混合されるか又は結合される。
【０１２０】
任意のテクスチャデコーダ１４０６は、逆離散コサイン変換法などのさまざまな復号化手段を適用することによって、テクスチャ（構文）を復号する。任意のテクスチャデコーダ１４０６の出力は、生成され再構成されたＶＯＰ１４２８に、入力データとして、テクスチャ情報と、形状が復号され動きが補正されたＶＯＰとを組み合わせるＶＯＰ再構成ステージ１４２４を必要に応じて提供する。再構成されたＶＯＰ１４２８は、基準ＶＯＰとしてその後使用できるように、第１メモリ１４１０に、入力データとして提供される。
【０１２１】
図１５は、本発明の実施の形態に係るプロセスの全体を示すフローチャート１５００である。図１５は、冗長な動きベクトルで符号化されたビデオビットストリームを復号する手順を示すフローチャートであり、この場合には、標準の動きベクトルに対するバックアップとして、冗長な動きベクトルが用いられる。プロセスの１つの実施の形態では、マイクロソフト社で開発されたMicrosoftRインターネットエクスプローラなどのウェブブラウザへのプラグインが実行される。バッチプロセスでは、リアルタイムか非同期かのいずれかで、処理が実行される。ユーザが復号されたビデオビットストリームを見ている場合には、リアルタイムで処理が実行される。図１６を参照して後に説明する別のプロセスでは、冗長な動きが、バックアップとしてだけではなく、標準の動きベクトルに代わるものとしても用いられる。
【０１２２】
このプロセスは、第１ステップ１５０４でスタートし、そこで、符号化されたビデオビットストリームを受信する。無線通信など介して、コンピュータネットワークから符号化されたビデオビットストリームを受信する。その後、第１ステップ１５０４から第１ＦＯＲループのスタート１５０８へ進む。
【０１２３】
第１ＦＯＲループのスタート１５０８では、ビデオビットストリームにおけるフレームが処理されたか否か、すなわち、ビデオビットストリームを基に復号する他のデータがあるか、又は処理が完了したかを判断する。例えば、広告や映画などのビデオクリップは終わっているかもしれない。別の例では、ビデオ遠隔会議のセッションが終わっているかもしれないし、ビデオビットストリームへの接続が終了しているかもしれない。ビデオビットストリームにおけるフレームが処理された時に、処理は終了する。
【０１２４】
処理する必要のあるフレームが他にある時には、第１ＦＯＲループのスタート１５０８から、第２ＦＯＲループのスタート１５１２へ進む。当業者であれば、さまざまなタイプのループによって、第１ＦＯＲループと第２ＦＯＲループとを実行することが可能であり、図１５に示したＦＯＲループは、プロセスの一実施の形態を示すことだけのために図示されていることが理解されるであろう。
【０１２５】
第２ＦＯＲループのスタート１５１２では、現在のフレームで処理する必要があるＶＯＰが他にあるか否かを判断する。現在のフレームのＶＯＰが処理されている時には、第２ＦＯＲループ１５１２から第２ステップ１５１６へ進む。第２ステップ１５１６では、復号化されたＶＯＰを再構成する。その後、次のフレームを処理するために、第２ステップ１５１６から第１ＦＯＲループのスタート１５０８に戻る。現在のフレームに処理する必要がある別のＶＯＰがある場合には、第２ＦＯＲループのスタート１５１２から第１デシジョンブロック１５２０へ進む。
【０１２６】
第１デシジョンブロック１５２０では、復号されることになっている符号化されたＶＯＰが、Ｐ−ＶＯＰに対応しているか否かを判断する。１つの実施の形態では、ＶＯＰのタイプを判断するために、２ビットのＶＯＰコーディングタイプヘッダを読み取る。０１バイナリのＶＯＰコーディングタイプヘッダ値は、データがＰ−ＶＯＰに対応することを示す。符号化されたＶＯＰがＰ−ＶＯＰである場合には、第１デシジョンブロック１５２０から、第２デシジョンブロック１５２４へ進む。符号化されたＶＯＰがＰ−ＶＯＰではなく、例えばＩ−ＶＯＰの場合、第１デシジョンブロック１５２０から第３ステップ１５２８へ進み、そこでＶＯＰが復号される。第２デシジョンブロック１５２４では、正常なビデオパケットが利用可能か否かを判断する。
【０１２７】
１つの実施の形態では、第２デシジョンブロック１５２４で、正常なビデオパケットが利用可能か否かを判断する。正常なビデオパケットが利用可能な場合には、第２デシジョンブロック１５２４から復号ステップ１５３０へ進む。
【０１２８】
復号ステップ１５３０では、利用可能な正常なビデオパケットを復号し、利用可能であれば冗長な動きベクトルで復号するために、第３デシジョンブロック１５３２へ進む。前のフレームを基準フレームとして利用可能な場合には、第２デシジョンブロック１５２４から第３ステップ１５２８へ進む。
【０１２９】
第３ステップ１５２８ではＶＯＰを復号する。例えばＶＯＰがＩ−ＶＯＰに対応している場合には、別のフレームの内容を基準とすることなく、Ｉ−ＶＯＰを復号することができる。別の例では、ＶＯＰがＰ−ＶＯＰに対応し、前のフレームを基準フレームとして利用可能な場合には、ＶＯＰは、Ｐ−ＶＯＰで示された動きベクトルを用いて、基準フレーム内の基準ＶＯＰの動き補正などの手段によって復号される。その後、第３ステップ１５２８から第２ＦＯＲループのスタート１５１２に戻る。
【０１３０】
第３デシジョンブロック１５３２では、冗長な動きベクトルが利用可能か否かを判断する。１つの実施の形態では、ビデオビットストリームにおけるＶＯＰに続くユーザデータビデオパケットから、冗長な動きベクトルを読み取る。１つの実施の形態では、１６ビットコードなどのユーザデータヘッダコードを監視することによって、ユーザデータビデオパケット内で識別される。ユーザデータヘッダコードは、そのユーザデータヘッダコードに続くユーザデータビデオパケットにおけるデータが、冗長な動きベクトルに対応していることを示すものである。熟練者であれば、冗長な動きベクトルが、ビデオビットストリームにおいて常に符号化されているものではないということが分かるであろう。
【０１３１】
例えば、帯域幅が制限されている場合、前のフレームと現在のフレームとの間でシーン変化があった場合には、符号化システムは、各Ｐ−ＶＯＰに対して選択的に冗長な動きベクトルを追加してもよい。さらに、ビデオビットストリームで符号化される冗長な動きベクトルが、常に利用可能であってもよい。例えば、冗長な動きベクトルに関するデータは、伝送の間に欠陥が生じたり、なくなったりする可能性がある。
【０１３２】
適用可能な冗長な動きベクトルが利用できる場合には、第３のデシジョンブロック１５３２から第４のデシジョンブロック１５３６へ進む。冗長な動きベクトルが利用できない場合には、必要に応じて第３のデシジョンブロック１５３２から、任意の第４ステップ１５４０へ進み、そこで、エラーマスキング法を適用する。
【０１３３】
第４のデシジョンブロック１５３６では、冗長な動きベクトル用の基準フレームが利用可能か否かを判断する。１つの実施の形態では、冗長な動きベクトルに関する基準フレームが、前に前のフレームである。別の実施の形態では、冗長な動きベクトルに関する基準フレームが、前のフレーム以前の複数のフレームから選択される。次に、どのフレームを基準フレームとして使用するのが好ましいかを判断するために、ユーザデータビデオパケットから遅れ値を読み取る。冗長な動きベクトルの基準となるフレームが利用可能な場合には、第４デシジョンブロック１５３６から第５ステップ１５４４へ進む。そうではない場合には、必要に応じて、第４デシジョンブロック１５３６から、任意の第４ステップ１５４０へ進む。
【０１３４】
任意の第４ステップ１５４０では、データの欠落によるエラーをマスクするために、エラーマスキング法を適用する。例えば、周囲の映像データをコピーすることが可能であり、周囲のデータを補間することなども可能である。その後、次のＶＯＰを処理するために、任意の第４ステップ１５４０から、第２ＦＯＲループのスタート１５１２へ戻る。
【０１３５】
第５ステップ１５４４では、冗長な動きベクトルと基準フレームからの適切なＶＯＰとを組み合わせることによって、ＶＯＰの復号又は再構成を実行する。好ましいことに、第５ステップにおけるＶＯＰは、ＭＰＥＧ−４標準の符号化処理による復号に利用することができない第５ステップ１５４４におけてＶＯＰが再構成される。冗長な動きベクトルに基づいて再構成されたＶＯＰによって、比較的エラーの少ない画像が表示されるようになる。さらに、その後のフレームにおける欠落や脱落の伝搬が少なくなるという利点がある。
【０１３６】
図１６は、本発明の実施の形態に係る別のプロセスの全体を示すフローチャート１６００である。図１６に示したフローチャートは、冗長な動きベクトルで符号化されたビットストリームを復号する手順を示している。ここでは、冗長な動きベクトルが、標準の動きベクトルのバックアップとして、誤差推定量が高い場合に対応するバックアップとして用いられる。上記の処理は、リアルタイム又はバッチ処理において非同期的に実行される。ユーザが復号されたビデオビットストリームを見ている場合には、リアルタイムで処理が実行されるようにするのがよい。
【０１３７】
すでに図１５を参照して説明したプロセスと同様に、図１６に示したプロセスは、標準の動きベクトル用の基準フレームが利用できない時に、ＶＯＰを生成するのに冗長な動きベクトルを使用することができる。また、図１５に示したプロセスに対して、図１６に示したプロセスには、標準の動きベクトルによって生成されたＶＯＰに欠陥がある可能性が比較的高い場合には、標準の動きベクトルによって生成されたＶＯＰを置き換えることができるという長所がある。
【０１３８】
１つの実施の形態では、第１ステップ１５０４、第１ＦＯＲループのスタート１５０８、第２ＦＯＲループのスタート１５１２、第１デシジョンブロック１５２０、第２デシジョンブロック１５２４、第３ステップ１５２８及び任意の第４ステップ１５４０について、すでに図１５を参照して説明されている。
【０１３９】
第２デシジョンブロック１５２４では、図１６に示したプロセスの場合、その前のフレーム又はその一部分に欠落や脱落が生じたかを判断する。前のフレーム又はその一部分が欠落している時には、冗長な動きベクトルを用いる復号が利用可能か否かを判断するために、第２デシジョンブロック１５２４から第３デシジョンブロック１６０４へ進む。１つの実施の形態では、正常なデータが利用可能である場合には、正常なデータが復号され使用される。前のフレームが基準フレームとして利用可能な場合には、第２デシジョンブロック１５２４から第３ステップ１５２８へ進む。
【０１４０】
第３ステップ１５２８では、ＶＯＰを復号する。復号されたＶＯＰは、例えば、Ｉ−ＶＯＰ又はＰ−ＶＯＰに対応している。その後、第３ステップ１５２８から第３デシジョンブロック１６０４へ進む。
【０１４１】
第３デシジョンブロック１６０４では、冗長な動きベクトルが利用可能か否かを判断する。図１５に示した第３デシジョンブロック１５３２に関連してすでに説明したように、ビデオビットストリームにおける冗長な動きベクトルは、常に利用できるものではない。冗長な動きベクトルが利用可能な場合には、第３デシジョンブロック１６０４から、第４デシジョンブロック１６０８へ進む。そうではない場合には、第３デシジョンブロックから第５デシジョンブロック１６１６へ進む。
【０１４２】
第４デシジョンブロック１６０８では、冗長な動きベクトルに対応する基準フレームが利用可能か否かを判断する。例えば、基準フレームは、前の前のフレームに対応していてもよい。別の実施の形態では、前のフレームの前に受信されたフレームから基準フレームを選択してもよい。例えば、冗長な動きベクトルに対応する遅れ値に適切なフレームを関係付けることによって、適切なフレームを選択してもよい。基準フレームが利用可能な場合には、第４デシジョンブロック１６０８から第５ステップ１６１２へ進む。そうではない場合には、第４デシジョンブロック１６０８から第５デシジョンブロック１６１６へ進む。
【０１４３】
第５ステップ１６１２では、冗長な動きベクトルと基準フレームからの基準ＶＯＰとを組み合わせることによって、ＶＯＰ、マクロブロック又はピクセルを復号するか、又は再構成する。別個に、Ｙ、Ｕ及びＶ値を扱うことができる。説明を行うために、上記のプロセスは、ＶＯＰに関連して説明したが、熟練者であれば、上記のプロセスは、マクロブロックやピクセルへも適用することが可能であることが分かるであろう。冗長な動きベクトルを基に再構成されたＶＯＰは、ＶＯＰ又は必要に応じて完全なフレームを提供する。それによって、標準の動きベクトルに関する基準フレームが利用できない場合でもＶＯＰが生成されるようになるという利点がある。
【０１４４】
さらに、冗長な動きベクトルを基に再構成されたＶＯＰは、標準の動きベクトルを基に再構成されたＶＯＰの代わるＶＯＰを提供する。それによって、後に詳細に説明するように、ＶＯＰ間にあるものを選択できるようになり、表示される画像のエラーを減らすことができるようになるという利点がある。その後、第５ステップ１６１２から第５デシジョンブロック１６１６へ進む。
【０１４５】
第５デシジョンブロック１６１６では、両方のＶＯＰ（又はマクロブロック又はピクセル）の一部が再構成されたか否か、すなわち、標準の動きベクトルに基づいたＶＯＰと冗長な動きベクトルに基づいたＶＯＰの両方からの部分が、再構成されたか否かを判断する。Ｙ、Ｕ及びＶ成分は、別個に扱うことができる。両方のＶＯＰの一部が再構成された場合には、第５デシジョンブロック１６１６から、第６ステップ１６２４へ進む。そうではない場合には、第５デシジョンブロック１６１６から、第６デシジョンブロック１６２０へ進む。
【０１４６】
第６デシジョンブロック１６２０では、ＶＯＰが復号されたか、又は再構成されたかのいずれかを判断する。ＶＯＰが全く再構成されなかった場合には、第６デシジョンブロック１６２０から、任意の第４ステップ１５４０へ進む。そこで、欠落しているＶＯＰに代入するためにエラーマスキング法を適用し、次のＶＯＰを処理するために、第２ＦＯＲループのスタート１５１２に戻る。ＶＯＰの１つが復号された時には、第６デシジョンブロック１６２０から第７ステップ１６２８へ進み、そこで、現在のフレームに復号されているＶＯＰが使用される。その後、第７ステップ１６２８から第２ＦＯＲループのスタート１５１２に戻り、次のＶＯＰを処理する。
【０１４７】
第６ステップ１６２４では、標準の動きベクトルを基に再構成されたＶＯＰに関連するエラーの統計的な値が計算される。例えば、ＶＯＰの最小平均２乗誤差（ＭＭＳＥ）を計算する。その後、第６ステップ１６２４から第８ステップ１６３２へ進み、そこで、冗長な動きベクトルを基に再構成されたＶＯＰに関連するエラーに相当する統計的な値が計算される。その後、第８ステップ１６３２から第７デシジョンブロック１６３６へ進む。
【０１４８】
第７デシジョンブロック１６３６では、どのＶＯＰが、より小さい誤差推定量を有する結果を再構成したかを判断する。標準の動きベクトルに基づいて生成されたＶＯＰがより低い誤差推定量である場合には、第７デシジョンブロック１６３６から第９ステップ１６４０へ進み、現在のフレームにおける標準の動きベクトルを基に復号されたＶＯＰが利用される。冗長な動きベクトルを基に再構成されたＶＯＰが、より低い誤差推定量である場合には、第７デシジョンブロック１６３６から第１０ステップ１６４４へ進む。そこでは、現在のフレームにおける冗長な動きベクトルを基に復号されたＶＯＰが使用される。第９ステップ１６４０又は第１０ステップ１６４４から、第２ＦＯＲループのスタート１５１２に戻り、次のＶＯＰの処理を続ける。
【０１４９】
本発明に係る様々な実施の形態を説明した。本発明はこれらの特定の実施の形態に関して説明されたが、上記の説明は、本発明を説明することを意図したものであり、本発明に係る技術的範囲が上記の説明によって限定されるものではない。添付する特許請求の範囲に記載された発明に係る技術的思想及び範囲を逸脱することなく、当業者であれば、様々な改良や利用を行うことができ、それらも本発明の技術的範囲に属する。
【図面の簡単な説明】
【０１５０】
【図１】本発明の1つの実施の形態に係る映像配信システムを実行するネットワークシステムを示すシステム構成図である。
【図２】一連のフレームを示す模式的斜視図である。
【図３】一連のフレームにおけるエラーの伝搬を示す写真である。
【図４Ａ】一連のマクロブロックを示す図である。
【図４Ｂ】欠落したマクロブロックを伴う一連のマクロブロックを示す図である。
【図５Ａ】本発明の発明の実施の形態に係る一連のマクロブロックを示す図である。
【図５Ｂ】本発明の実施の形態に係る欠落したマクロブロックを伴う一連のマクロブロックを示す図である。
【図６】本発明の実施の形態に係る一連のマクロブロックを示す図である。
【図７】本発明の実施の形態に係るビデオエンコーダを示すブロック図である。
【図８】本発明の実施の形態に係る予測符号化ビデオオブジェクトプレーン(P- VOP)エンコーダを示すブロック図である。
【図９】本発明の実施の形態に係るプロセスの全体を示すフローチャートであり、冗長な動きベクトルを含めるために、ビデオビットストリームの一部を符号化することを示す図である。
【図１０】本発明の実施の形態に係るプロセスの全体を示すフローチャートであり、ビデオビットストリームのロバストさを高めるために、連続するイントラフレームを伴うビデオビットストリームの一部を、必要に応じて符号化する手順を示す図である。
【図１１】本発明の実施の形態に係る別のプロセスの全体を示すフローチャートであり、冗長な動きベクトルが選ばれた前のフレームを基準にすることが可能で、冗長な動きベクトルを含めるために、ビデオビットストリームの一部を符号化手順を示す図である。
【図１２Ａ】従来の技術に係るビデオビットストリームのサンプルを示す図である。
【図１２Ｂ】本発明の実施の形態に係るビデオビットストリームのサンプルを示す図である。
【図１３】本発明の 実施の形態に係るビデオデコーダを示すブロック図である。
【図１４】本発明の実施の形態に係る ビデオオブジェクトプレーン（ＶＯＰ）デコーダを示すブロック図である。
【図１５】本発明の実施の形態に係るプロセスの全体を示すフローチャートであり、冗長な動きベクトルで符号化されたビデオビットストリームを復号するプロセスで、標準の動きベクトルに対するバックアップとして、冗長な動きベクトルを使用するプロセスを示す図である。
【図１６Ａ】本発明の実施の形態に係る別のプロセスの前半部を示すフローチャートであり、冗長な動きベクトルで符号化されたビデオビットストリームを復号するプロセスで、標準の動きベクトル又は高い誤差推定量に対応するバックアップとして、冗長な動きベクトルを使用するプロセスを示す図である。
【図１６Ｂ】本発明の実施の形態に係る別のプロセスの後半部を示すフローチャートであり、冗長な動きベクトルで符号化されたビデオビットストリームを復号するプロセスで、標準の動きベクトル又は高い誤差推定量に対応するバックアップとして、冗長な動きベクトルを使用するプロセスを示す図である。
【図１】
2004531925.tif 000003
【図２】
2004531925.tif 000004
【図３】
2004531925.tif 000005
【図４Ａ】
2004531925.tif 000006
【図４Ｂ】
2004531925.tif 000007
【図５Ａ】
2004531925.tif 000008
【図５Ｂ】
2004531925.tif 000009
【図６】
2004531925.tif 000010
【図７】
2004531925.tif 000011
【図８】
2004531925.tif 000012
【図９】
2004531925.tif 000013
【図１０】
2004531925.tif 000014
【図１１】
2004531925.tif 000015
【図１２Ａ】
2004531925.tif 000016
【図１２Ｂ】
2004531925.tif 000017
【図１３】
2004531925.tif 000018
【図１４】
2004531925.tif 000019
【図１５】
2004531925.tif 000020
【図１６Ａ】
2004531925.tif 000021
【図１６Ｂ】
2004531925.tif 000022
【国際公開パンフレット】
2004531925.tif 000023
2004531925.tif 000024
2004531925.tif 000025
2004531925.tif 000026
2004531925.tif 000027
2004531925.tif 000028
2004531925.tif 000029
2004531925.tif 000030
2004531925.tif 000031
2004531925.tif 000032
2004531925.tif 000033
2004531925.tif 000034
2004531925.tif 000035
2004531925.tif 000036
2004531925.tif 000037
2004531925.tif 000038
2004531925.tif 000039
2004531925.tif 000040
2004531925.tif 000041
2004531925.tif 000042
2004531925.tif 000043
2004531925.tif 000044
2004531925.tif 000045
2004531925.tif 000046
2004531925.tif 000047
2004531925.tif 000048
2004531925.tif 000049
2004531925.tif 000050
2004531925.tif 000051
2004531925.tif 000052
2004531925.tif 000053
2004531925.tif 000054
2004531925.tif 000055
2004531925.tif 000056
2004531925.tif 000057
2004531925.tif 000058
2004531925.tif 000059
2004531925.tif 000060
2004531925.tif 000061
2004531925.tif 000062
2004531925.tif 000063
2004531925.tif 000064
2004531925.tif 000065
2004531925.tif 000066
2004531925.tif 000067
2004531925.tif 000068
2004531925.tif 000069
2004531925.tif 000070
2004531925.tif 000071
2004531925.tif 000072
2004531925.tif 000073
2004531925.tif 000074
2004531925.tif 000075
2004531925.tif 000076
2004531925.tif 000077
2004531925.tif 000078
2004531925.tif 000079
2004531925.tif 000080
2004531925.tif 000081
2004531925.tif 000082
2004531925.tif 000083
2004531925.tif 000084
2004531925.tif 000085
2004531925.tif 000086
2004531925.tif 000087
2004531925.tif 000088
2004531925.tif 000089
【国際調査報告】
2004531925.tif 000090