(57)【要約】【課題】ビデオ・シーケンス内の双方向予測（Ｂ）ピクチャの処理について複数の改良を提供すること。【解決手段】いくつかの改良では、ダイレクト・モード・エンコーディングおよび／または動きベクトル予測が、空間予測技法を使用して機能拡張される。他の改良では、たとえばより正確な予測をするために、時間的距離およびサブブロック情報が動きベクトル予測に算入される。本明細書で提示されるそのような改良および他の改良によって、すべての適用可能なビデオ・コーディング・システム／ロジックの性能をかなり改善する。【選択図】　図９
2004040785.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・フレームのシーケンス内のビデオ・データをエンコードするのに使用される方法であって、
少なくとも１つのビデオ・フレームの少なくともある部分を双方向予測（Ｂ）ピクチャとして識別すること、および
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの動きパラメータをエンコードすること
を備えることを特徴とする方法。
【請求項２】
前記Ｂピクチャは、マクロブロックを含むことを特徴とする請求項１に記載の方法。
【請求項３】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、ダイレクト・マクロブロックを生成することを特徴とする請求項２に記載の方法。
【請求項４】
前記Ｂピクチャは、スライスを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記Ｂピクチャは、マクロブロックの少なくとも前記部分を含むことを特徴とする請求項１に記載の方法。
【請求項６】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して線形動きベクトル予測を使用することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して非線形動きベクトル予測を使用することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、両方が前記ビデオ・フレームの前記部分である少なくとも２つの参照ピクチャに基づいて、前記Ｂピクチャに対して中央値動きベクトル予測を使用することを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記少なくとも１つの動きパラメータは、少なくとも１つの動きベクトルを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
少なくとも１つの他のビデオ・フレームの少なくとも１つの他の部分は、さらに処理されて、時間予測を使用して前記Ｂピクチャをさらに選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの時間ベースの動きパラメータをエンコードすることを特徴とする請求項１に記載の方法。
【請求項１１】
前記時間予測は、双方向時間予測を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記少なくとも１つの他のビデオ・フレームは、予測（Ｐ）フレームであることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記他のビデオ・フレームと前記Ｂピクチャを含む前記フレームとの間の時間的距離に少なくとも部分的に基づいて前記少なくとも１つの時間ベースの動きパラメータを選択的にスケーリングすることをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１４】
前記時間的距離情報は、前記エンコードされたＢピクチャに関連付けられるヘッダ内にエンコードされることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つの他の部分は、前記少なくとも１つの他のビデオ・フレーム内のマクロブロックの少なくとも前記部分を含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
ビデオ・フレームのシーケンスに関するデータにアクセスすること、
少なくとも１つのビデオ・フレームの少なくともある部分を双方向予測（Ｂ）ピクチャとして識別すること、および
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの動きパラメータをエンコードすること
を備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項１７】
前記Ｂピクチャは、マクロブロックを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、ダイレクト・マクロブロックを生成することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記Ｂピクチャは、スライスを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２０】
前記Ｂピクチャは、マクロブロックの少なくとも前記部分を含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２１】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して線形動きベクトル予測を使用することを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２２】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して非線形動きベクトル予測を使用することを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２３】
少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードすることは、さらに、両方が前記ビデオ・フレームの前記部分である少なくとも２つの参照ピクチャに基づいて、前記Ｂピクチャに対して中央値動きベクトル予測を使用することを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２４】
前記少なくとも１つの動きパラメータは、少なくとも１つの動きベクトルを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２５】
少なくとも１つの他のビデオ・フレームの少なくとも１つの他の部分は、さらに処理されて、時間予測を使用して前記Ｂピクチャをさらに選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの時間ベースの動きパラメータをエンコードすることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項２６】
前記時間予測は、双方向時間予測を含むことを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２７】
前記少なくとも１つの他のビデオ・フレームは、予測（Ｐ）フレームであることを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２８】
前記他のビデオ・フレームと前記Ｂピクチャを含む前記フレームとの間の時間的距離に少なくとも部分的に基づいて前記少なくとも１つの時間ベースの動きパラメータを選択的にスケーリングすること
を備える動作を前記少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２９】
前記時間的距離情報は、前記エンコードされたＢピクチャに関連付けられるヘッダ内にエンコードされることを特徴とする請求項２８に記載のコンピュータ可読媒体。
【請求項３０】
前記少なくとも１つの他の部分は、前記少なくとも１つの他のビデオ・フレーム内のマクロブロックの少なくとも前記部分を含むことを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項３１】
ビデオ・フレームのシーケンス内のビデオ・データをエンコードするのに使用される装置であって、
ビデオ・フレームのシーケンスのビデオ・データにアクセスし、少なくとも１つのビデオ・フレームの少なくとも前記部分を双方向予測（Ｂ）ピクチャとして識別して、少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの動きパラメータをエンコードするように機能的に構成されたロジック
を備えることを特徴とする装置。
【請求項３２】
前記Ｂピクチャは、マクロブロックを含むことを特徴とする請求項３１に記載の装置。
【請求項３３】
前記ロジックは、少なくとも空間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記少なくとも１つの動きパラメータをエンコードして、ダイレクト・マクロブロックを生成することを特徴とする請求項３２に記載の装置。
【請求項３４】
前記Ｂピクチャは、スライスを含むことを特徴とする請求項３１に記載の装置。
【請求項３５】
前記Ｂピクチャは、マクロブロックの少なくとも前記部分を含むことを特徴とする請求項３１に記載の装置。
【請求項３６】
前記ロジックは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して線形動きベクトル予測を使用するように構成されることを特徴とする請求項３１に記載の装置。
【請求項３７】
前記ロジックは、さらに、前記ビデオ・フレームの少なくとも別の部分である少なくとも１つの参照ピクチャに基づいて、前記Ｂピクチャに対して非線形動きベクトル予測を使用するように構成されることを特徴とする請求項３１に記載の装置。
【請求項３８】
前記ロジックは、さらに、両方が前記ビデオ・フレームの前記部分である少なくとも２つの参照ピクチャに基づいて、前記Ｂピクチャに対して中央値動きベクトル予測を使用するように構成されることを特徴とする請求項３１に記載の装置。
【請求項３９】
前記少なくとも１つの動きパラメータは、少なくとも１つの動きベクトルを含むことを特徴とする請求項３１に記載の装置。
【請求項４０】
前記ロジックは、さらに、少なくとも１つの他のビデオ・フレームの少なくとも１つの他の部分を処理し、時間予測を使用して前記Ｂピクチャを選択的にエンコードし、前記Ｂピクチャに関連付けられる少なくとも１つの時間ベースの動きパラメータをエンコードするように構成されることを特徴とする請求項３１に記載の装置。
【請求項４１】
前記時間予測は、双方向時間予測を含むことを特徴とする請求項４０に記載の装置。
【請求項４２】
前記少なくとも１つの他のビデオ・フレームは、予測（Ｐ）フレームであることを特徴とする請求項４０に記載の装置。
【請求項４３】
前記ロジックは、さらに、前記他のビデオ・フレームと前記Ｂピクチャを含む前記フレームとの間の時間的距離に少なくとも部分的に基づいて前記少なくとも１つの時間ベースの動きパラメータを選択的にスケーリングするように構成されることを特徴とする請求項４０に記載の装置。
【請求項４４】
前記ロジックは、さらに、前記エンコードされたＢピクチャに関連付けられるヘッダ内に時間的距離情報を含めるように構成されることを特徴とする請求項４３に記載の装置。
【請求項４５】
前記少なくとも１つの他の部分は、前記少なくとも１つの他のビデオ・フレーム内のマクロブロックの少なくとも前記部分を含むことを特徴とする請求項４０に記載の装置。
【請求項４６】
ビデオ・データをエンコードする方法であって、
少なくとも１つのビデオ・フレームのうちで、少なくとも機能強化されたダイレクト・モードでコーディングされるべき部分を識別すること、および
前記少なくとも１つのビデオ・フレーム内の前記部分に関連付けられる少なくとも空間情報を使用して前記機能強化されたダイレクト・モードで前記部分をエンコードすること　を備えることを特徴とする方法。
【請求項４７】
前記機能強化されたダイレクト・モードで前記部分をエンコードすることは、さらに、前記部分と少なくとも１つの他のビデオ・フレームの少なくとも１つの他の前記部分とに関連付けられる時間情報を使用することを含むことを特徴とする請求項４６に記載の方法。
【請求項４８】
前記機能強化されたダイレクト・モードで前記部分をエンコードすることは、さらに、前記少なくとも１つのビデオ・フレーム内の少なくとも１つの他の前記部分に基づく動きベクトル予測を使用することを含むことを特徴とする請求項４６に記載の方法。
【請求項４９】
前記動きベクトル予測は、中央値予測を含むことを特徴とする請求項４８に記載の方法。
【請求項５０】
前記機能強化されたダイレクト・モードは、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの線形関数に基づいて前記空間情報を計算することを含むことを特徴とする請求項４６に記載の方法。
【請求項５１】
前記機能強化されたダイレクト・モードは、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの非線形関数に基づいて前記空間情報を計算することを含むことを特徴とする請求項４６に記載の方法。
【請求項５２】
少なくとも１つのビデオ・フレームのうちで、少なくとも機能強化されたダイレクト・モードでコーディングされるべき部分を識別すること、および前記少なくとも１つのビデオ・フレーム内の前記部分に関連付けられる空間情報を少なくとも使用して前記機能強化されたダイレクト・モードで前記部分をエンコードすることによってビデオ・データをエンコードすることを備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項５３】
前記機能強化されたダイレクト・モードで前記部分をエンコードすることは、さらに、前記部分と少なくとも１つの他のビデオ・フレームの少なくとも１つの他の部分とに関連付けられる時間情報を使用することを含むことを特徴とする請求項５２に記載のコンピュータ可読媒体。
【請求項５４】
前記機能強化されたダイレクト・モードで前記部分をエンコードすることは、さらに、前記少なくとも１つのビデオ・フレーム内の少なくとも１つの他の部分に基づく動きベクトル予測を使用することを含むことを特徴とする請求項５２に記載のコンピュータ可読媒体。
【請求項５５】
前記動きベクトル予測は、中央値予測を含むことを特徴とする請求項５４に記載のコンピュータ可読媒体。
【請求項５６】
前記機能強化されたダイレクト・モードは、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの線形関数に基づいて前記空間情報を計算することを含むことを特徴とする請求項５２に記載のコンピュータ可読媒体。
【請求項５７】
前記機能強化されたダイレクト・モードは、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの非線形関数に基づいて前記空間情報を計算することを含むことを特徴とする請求項５２に記載のコンピュータ可読媒体。
【請求項５８】
少なくとも１つのビデオ・フレームのうちで、少なくとも機能強化されたダイレクト・モードでコーディングされるべき部分を識別すること、および前記少なくとも１つのビデオ・フレーム内の前記部分に関連付けられる空間情報を少なくとも使用して前記機能強化されたダイレクト・モードで前記部分をエンコードすること、によってビデオ・データをエンコードするように機能的に構成されたロジック
を備えることを特徴とする装置。
【請求項５９】
前記ロジックは、さらに、前記部分と少なくとも１つの他のビデオ・フレームの少なくとも１つの他の部分とに関連付けられる時間情報を使用して、前記機能強化されたダイレクト・モードで前記部分をエンコードするように機能的に構成されることを特徴とする請求項５８に記載の装置。
【請求項６０】
前記ロジックは、さらに、前記少なくとも１つのビデオ・フレーム内の少なくとも１つの他の部分に基づく動きベクトル予測情報をさらに使用して前記機能強化されたダイレクト・モードで前記部分をエンコードするように機能的に構成されることを特徴とする請求項５８に記載の装置。
【請求項６１】
前記動きベクトル予測は、中央値予測を含むことを特徴とする請求項６０に記載の装置。
【請求項６２】
前記ロジックは、さらに、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの線形関数に基づいて前記空間情報を計算するように機能的に構成されることを特徴とする請求項５８に記載の装置。
【請求項６３】
前記ロジックは、さらに、空間予測を使用して、前記少なくとも１つのビデオ・フレームの少なくとも１つの他の部分の動き情報を考慮する少なくとも１つの非線形関数に基づいて前記空間情報を計算するように機能的に構成されることを特徴とする請求項５８に記載の装置。
【請求項６４】
ダイレクト・モード・ビデオ・エンコーディングで参照ピクチャを予測する方法であって、
エンコードされるべきビデオ・フレームの少なくとも部分に関連がある複数の予測値に関する最少参照ピクチャ、前記複数の予測値に関する中央値参照ピクチャ、および単一方向予測に基づく現在の参照ピクチャ、を備える群から参照ピクチャを選択すること、および
前記選択された参照ピクチャに基づいて前記ビデオ・フレームの前記少なくとも部分をエンコードすること
を備えることを特徴とする方法。
【請求項６５】
前記参照ピクチャを選択することは、さらに、少なくとも１つの空間的に関連がある予測値を選択することを含むことを特徴とする請求項６４に記載の方法。
【請求項６６】
前記参照ピクチャを選択することは、さらに、少なくとも１つの時間的に関連がある予測値を選択することを含むことを特徴とする請求項６４に記載の方法。
【請求項６７】
エンコードされるべきビデオ・フレームの少なくとも部分に関連がある複数の予測値に関する最少参照ピクチャ、前記複数の予測値に関する中央値参照ピクチャ、および単一方向予測に基づく現在の参照ピクチャ、を備える群から参照ピクチャを選択すること、および
前記選択された参照ピクチャに基づいて前記ビデオ・フレームの前記少なくとも部分をエンコードすること
を備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項６８】
前記参照ピクチャを選択することは、さらに、少なくとも１つの空間的に関連がある予測値を選択することを含むことを特徴とする請求項６７に記載のコンピュータ可読媒体。
【請求項６９】
前記参照ピクチャを選択することは、さらに、少なくとも１つの時間的に関連がある予測値を選択することを含むことを特徴とする請求項６７に記載のコンピュータ可読媒体。
【請求項７０】
エンコードされるべきビデオ・フレームの少なくとも部分に関連がある複数の予測値に関する最少参照ピクチャ、前記複数の予測値に関する中央値参照ピクチャ、および単一方向予測に基づく現在の参照ピクチャ、を備える群から参照ピクチャを選択し、選択された参照ピクチャに基づいて前記ビデオ・フレームの前記少なくとも部分をエンコードするように機能的に構成されたロジック
を備えることを特徴とする装置。
【請求項７１】
前記ロジックは、少なくとも１つの空間的に関連がある予測値を選択するように機能的に構成されることを特徴とする請求項７０に記載の装置。
【請求項７２】
前記ロジックは、少なくとも１つの時間的に関連がある予測値を選択するように機能的に構成されることを特徴とする請求項７０に記載の装置。
【請求項７３】
時間予測、空間予測、または時間予測と空間予測の両方、のいずれかを選択して、機能強化されたダイレクト・モードで少なくとも１つのビデオ・フレーム内の少なくとも部分をエンコードするのに使用される方法であって、
前記ビデオ・フレームの結び付けられる部分の少なくとも１つの動きベクトルが０である場合に、時間予測を選択すること、
前記ビデオ・フレーム内の周囲部分が、結び付けられる参照ピクチャと異なる参照ピクチャを使用する場合に、空間予測だけを選択すること、
前記ビデオ・フレームの前記部分に関連付けられる動きの流れが参照ピクチャに関連付けられた動きの流れと実質的に異なる場合に、空間予測を選択すること、
ダイレクト・モードの時間予測がイメージ・ヘッダ内で指示される場合に、時間予測を選択すること、および
ダイレクト・モードの空間予測がイメージ・ヘッダ内で指示される場合に、空間予測を選択すること
を備えることを特徴とする方法。
【請求項７４】
少なくとも１つの時間的に予測されるパラメータを空間情報に基づいて訂正すること
をさらに備えることを特徴とする請求項７３に記載の方法。
【請求項７５】
少なくとも１つの空間的に予測されるパラメータを時間情報に基づいて訂正すること
をさらに備えることを特徴とする請求項７３に記載の方法。
【請求項７６】
時間予測、空間予測、または時間予測と空間予測の両方、のいずれかを選択して、機能強化されたダイレクト・モードで少なくとも１つのビデオ・フレームの少なくとも部分をエンコードすることであって、
前記ビデオ・フレームの結び付けられる部分の少なくとも１つの動きベクトルが０である場合に、時間予測を選択し、
前記ビデオ・フレーム内の周囲部分が、結び付けられる参照ピクチャと異なる参照ピクチャを使用する場合に、空間予測だけを選択し、
前記ビデオ・フレームの前記部分に関連付けられる動きの流れが実質的に参照ピクチャに関連付けられた動きの流れと異なる場合に、空間予測を選択し、
ダイレクト・モードの時間予測がイメージ・ヘッダ内で指示される場合に、時間予測を選択し、
ダイレクト・モードの空間予測がイメージ・ヘッダ内で指示される場合に、空間予測を選択する
ように選択すること
を備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項７７】
少なくとも１つの時間的に予測されるパラメータを空間情報に基づいて訂正することをさらに備えることを特徴とする請求項７６に記載のコンピュータ可読媒体。
【請求項７８】
少なくとも１つの空間的に予測されるパラメータを時間情報に基づいて訂正することをさらに備えることを特徴とする請求項７６に記載のコンピュータ可読媒体。
【請求項７９】
時間予測、空間予測、または時間予測と空間予測の両方、のいずれかを選択し、それを使用して、機能強化されたダイレクト・モードで少なくとも１つのビデオ・フレームの少なくとも部分をエンコードするように機能的に構成されたロジックであって、
前記ビデオ・フレームの結び付けられる部分の少なくとも１つの動きベクトルが０である場合に、時間予測を選択し、
前記ビデオ・フレーム内の囲む部分が、結び付けられる参照ピクチャと異なる参照ピクチャを使用する場合に、空間予測だけを選択し、
前記ビデオ・フレームの前記部分に関連付けられる動きの流れが参照ピクチャに関連付けられた動きの流れと実質的に異なる場合に、空間予測を選択し、
ダイレクト・モードの時間予測がイメージ・ヘッダ内で指示される場合に、時間予測を選択し、
ダイレクト・モードの空間予測がイメージ・ヘッダ内で指示される場合に、空間予測を選択する
ロジック
を備えることを特徴とする装置。
【請求項８０】
前記ロジックは、さらに、少なくとも１つの時間的に予測されたパラメータを空間情報に基づいて訂正するように機能的に構成されることを特徴とする請求項７９に記載の装置。
【請求項８１】
前記ロジックは、さらに、少なくとも１つの空間的に予測されたパラメータを時間情報に基づいて訂正するように機能的に構成されることを特徴とする請求項７９に記載の装置。
【請求項８２】
ビデオ・データをエンコードする際に使用する方法であって、
将来のビデオ・フレームの参照部分を選択し、その以前のビデオ・フレームの少なくとも１つの部分にＢピクチャとして供給すること、
前記参照フレームに関連付けられた動きベクトルを使用して、前記少なくとも１つの部分に関連付けられる動きベクトルを計算すること、および
前記計算された動きベクトルで、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすること
を備えることを特徴とする方法。
【請求項８３】
前記参照フレームに関連付けられた前記動きベクトルを使用して、前記少なくとも１つの部分に関連付けられる前記動きベクトルを計算することは、さらに、前記参照部分の逆方向動きベクトルおよび順方向動きベクトルを射影し、反転することによってダイレクト・モードで使用される少なくとも１つの可能な予測を推定することを含むことを特徴とする請求項８２に記載の方法。
【請求項８４】
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、前記少なくとも１つの部分に関する前記参照部分に関連付けられる少なくとも１つの時間パラメータに基づいて選択的な射影および反転を適用することを含むことを特徴とする請求項８３に記載の方法。
【請求項８５】
ダイレクト・モードでエンコードする時に、１つの参照部分だけが、Ｂピクチャに使用されることを特徴とする請求項８２に記載の方法。
【請求項８６】
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、ダイレクト・モードでエンコードすることを含み、この際に前記計算された動きベクトルの少なくとも１つが２つの異なる参照ピクチャの少なくとも２つの参照部分を参照する少なくとも１つの射影された動きベクトルに基づくことを特徴とする請求項８２に記載の方法。
【請求項８７】
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、ダイレクト・モードでエンコードすることを含み、この際に前記計算された動きベクトルの少なくとも１つが前記参照部分に関連付けられる空間予測に基づくことを特徴とする請求項８２に記載の方法。
【請求項８８】
将来のビデオ・フレームの参照部分を選択し、その以前のビデオ・フレームの少なくとも１つの部分にＢピクチャとして供給すること、
前記参照フレームに関連付けられる動きベクトルを使用して、前記少なくとも１つの部分に関連付けられる動きベクトルを計算すること、および
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすること
を備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項８９】
前記参照フレームに関連付けられた前記動きベクトルを使用して、前記少なくとも１つの部分に関連付けられる前記動きベクトルを計算することは、さらに、前記参照部分の逆方向動きベクトルおよび順方向動きベクトルを射影し、反転することによってダイレクト・モードで使用される少なくとも１つの可能な予測値を推定することを含むことを特徴とする請求項８８に記載のコンピュータ可読媒体。
【請求項９０】
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、前記少なくとも１つの部分に関する前記参照部分に関連付けられる少なくとも１つの時間パラメータに基づいて選択的な射影および反転を適用することを含むことを特徴とする請求項８９に記載のコンピュータ可読媒体。
【請求項９１】
ダイレクト・モードでエンコードする際に、１つの参照部分だけが、Ｂピクチャに使用されることを特徴とする請求項８８に記載のコンピュータ可読媒体。
【請求項９２】
前記計算された動きベクトルであって、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、ダイレクト・モードでエンコードすることを含み、この際に前記計算された動きベクトルの少なくとも１つが２つの異なる参照ピクチャの少なくとも２つの参照部分を参照する少なくとも１つの射影された動きベクトルに基づくことを特徴とする請求項８８に記載のコンピュータ可読媒体。
【請求項９３】
前記計算された動きベクトルであて、前記少なくとも１つの部分に関連付けられた動きベクトルに基づいて前記少なくとも１つの部分をエンコードすることは、さらに、ダイレクト・モードでエンコードすることを含み、この際に前記計算された動きベクトルの少なくとも１つが前記参照部分に関連付けられる空間予測に基づくことを特徴とする請求項８８に記載のコンピュータ可読媒体。
【請求項９４】
将来のビデオ・フレームの参照部分を選択して、その以前のビデオ・フレームの少なくとも１つの部分にＢピクチャとして供給し、前記参照フレームに関連付けられた動きベクトルを使用して、前記少なくとも１つの部分に関連付けられる動きベクトルを計算し、前記少なくとも１つの部分に関連付けられた動きベクトルで、前記計算された動きベクトルに基づいて前記少なくとも１つの部分をエンコードするように機能的に構成されたロジックを備えることを特徴とする装置。
【請求項９５】
前記ロジックは、さらに、前記参照部分の逆方向動きベクトルおよび順方向動きベクトルを射影し、反転することによってダイレクト・モードで使用される少なくとも１つの可能な予測値を推定するように機能的に構成されることを特徴とする請求項９４に記載の装置。
【請求項９６】
前記ロジックは、さらに、前記少なくとも１つの部分に関する前記参照部分に関連付けられる少なくとも１つの時間パラメータに基づいて選択的な射影および反転を適用するように機能的に構成されることを特徴とする請求項９５に記載の装置。
【請求項９７】
ダイレクト・モードでエンコードする際に、１つの参照部分だけが、Ｂピクチャに使用されることを特徴とする請求項９４に記載の装置。
【請求項９８】
前記ロジックは、さらに、ダイレクト・モードでエンコードするように機能的に構成され、この際に前記計算された動きベクトルの少なくとも１つが２つの異なる参照ピクチャの少なくとも２つの参照部分を参照する少なくとも１つの射影された動きベクトルに基づくことを特徴とする請求項９４に記載の装置。
【請求項９９】
前記ロジックは、さらに、ダイレクト・モードでエンコードするように機能的に構成され、この際に前記計算された動きベクトルの少なくとも１つが前記参照部分に関連付けられる空間予測に基づくことを特徴とする請求項９４に記載の装置。
【請求項１００】
ビデオ・エンコード中に動きベクトルの決定に使用される方法であって、
複数の参照ピクチャであって、それぞれが関連する時間的距離ＴＲＡ、ＴＲＢ、およびＴＲＣと動きベクトルＭＶＡ、ＭＶＢ、およびＭＶＣとを有する個別の参照ピクチャを使用する少なくとも３つのプレディクタＡ、Ｂ、およびＣを選択すること、および
ＴＲに等しい時間的距離を有する現在の参照ピクチャに関連付けられる中央値動きベクトルＭＶｐｒｅｄを予測すること
を備えることを特徴とする方法。
【請求項１０１】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式１】
2004040785.tif 000014
として計算されることを特徴とする請求項１００に記載の方法。
【請求項１０２】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式２】
2004040785.tif 000015
として計算されることを特徴とする請求項１００に記載の方法。
【請求項１０３】
少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択すること
をさらに備え、前記中央値プレディクタＭＶｐｒｅｄは、
【数式３】
2004040785.tif 000016
として計算されることを特徴とする請求項１００に記載の方法。
【請求項１０４】
少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択すること
をさらに備え、前記中央値プレディクタＭＶｐｒｅｄは、
【数式４】
2004040785.tif 000017
として計算されることを特徴とする請求項１００に記載の方法。
【請求項１０５】
イントラ・コーディングが使用される時に動きベクトル予測を決定するのに使用される前記参照フレームの選択された部分に、参照フレームの隣接部分を、選択的に置換することをさらに備えることを特徴とする請求項１００に記載の方法。
【請求項１０６】
複数の参照ピクチャであって、それぞれが関連する時間的距離ＴＲＡ、ＴＲＢ、およびＴＲＣと動きベクトルＭＶＡ、ＭＶＢ、およびＭＶＣとを有する個別の参照ピクチャを使用する少なくとも３つのプレディクタＡ、Ｂ、およびＣを選択すること、および
ＴＲに等しい時間的距離を有する現在の参照ピクチャに関連付けられる中央値動きベクトルＭＶｐｒｅｄを予測すること
を備える動作を少なくとも１つの処理ユニットが実行するように構成するコンピュータ実装可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項１０７】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式５】
2004040785.tif 000018
として計算されることを特徴とする請求項１０６に記載のコンピュータ可読媒体。
【請求項１０８】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式６】
2004040785.tif 000019
として計算されることを特徴とする請求項１０６に記載のコンピュータ可読媒体。
【請求項１０９】
少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択すること
をさらに備え、前記中央値プレディクタＭＶｐｒｅｄは、
【数式７】
2004040785.tif 000020
として計算されることを特徴とする請求項１０６に記載のコンピュータ可読媒体。
【請求項１１０】
少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択すること
をさらに備え、前記中央値プレディクタＭＶｐｒｅｄは、
【数式８】
2004040785.tif 000021
として計算されることを特徴とする請求項１０６に記載のコンピュータ可読媒体。
【請求項１１１】
イントラ・コーディングが使用される時に動きベクトル予測を判定するのに使用される前記参照フレームの選択された部分に、参照フレームの隣接部分を、選択的に置換することをさらに備えることを特徴とする請求項１０６に記載のコンピュータ可読媒体。
【請求項１１２】
複数の参照ピクチャであって、それぞれが関連する時間的距離ＴＲＡ、ＴＲＢ、およびＴＲＣと動きベクトルＭＶＡ、ＭＶＢ、およびＭＶＣとを有する個別の参照ピクチャを使用する少なくとも３つのプレディクタＡ、Ｂ、およびＣを選択し、ＴＲに等しい時間的距離を有する現在の参照ピクチャに関連付けられる中央値動きベクトルＭＶｐｒｅｄを予測するように機能的に構成されたロジックを備えることを特徴とする装置。
【請求項１１３】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式９】
2004040785.tif 000022
として計算されることを特徴とする請求項１１２に記載の装置。
【請求項１１４】
前記中央値プレディクタＭＶｐｒｅｄは、
【数式１０】
2004040785.tif 000023
として計算されることを特徴とする請求項１１２に記載の装置。
【請求項１１５】
前記ロジックは、少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択するように機能的に構成され、前記中央値プレディクタＭＶｐｒｅｄは、
【数式１１】
2004040785.tif 000024
として計算されることを特徴とする請求項１１２に記載の装置。
【請求項１１６】
前記ロジックは、少なくとも、関連する時間的距離ＴＲＤと動きベクトルＭＶＤとを有する第４プレディクタＤを選択するように機能的に構成され、前記中央値プレディクタＭＶｐｒｅｄは、
【数式１２】
2004040785.tif 000025
として計算されることを特徴とする請求項１１２に記載の装置。
【請求項１１７】
前記ロジックは、さらに、イントラ・コーディングが使用される時に動きベクトル予測を判定するのに使用される前記参照フレームの選択された部分に、参照フレームの隣接部分を、選択的に置換するように機能的に構成されることを特徴とする請求項１１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ・コーディングに関し、具体的には、個々のタイプのビデオ・データに関連付けられる改善されたコーディング技法および／または予測技法を提供する方法および装置に関する。
【背景技術】
【０００２】
ビデオ・コーディングにおいてより高いコーディング効率を求める欲求は、Ｊｏｉｎｔ　Ｖｉｄｅｏ　Ｔｅａｍ（ＪＶＴ）（標準化団体）での、所与のマクロブロック（ｍａｃｒｏｂｌｏｃｋ）の動き情報を記述する、より洗練され複雑なモデルおよびモードの採用につながった。これらのモデルおよびモードは、ビデオ・シーケンス内に存在する可能性がある時間的冗長性をより有利に利用することに向けられている（たとえば、非特許文献１および／または非特許文献２参照）。
【０００３】
【文献１】
ＩＴＵ―Ｔ，ＶｉｄｅｏＣｏｄｉｎｇＥｘｐｅｒｔＧｒｏｕｐ（ＶＣＥＧ），¨ＪＶＴＣｏｄｉｎｇ―（ＩＴＵ―ＴＨ．２６Ｌ＆ＩＳＯ／ＩＥＣＪＴＣ１Ｓｔａｎｄａｒｄ）―ＷｏｒｋｉｎｇＤｒａｆｔＮｕｍｂｅｒ２（ＷＤ―２）¨，ＩＴＵ―ＴＪＶＴ―Ｂ１１８，Ｍａｒ．２００２
【文献２】
ＨｅｉｋｏＳｃｈｗａｒｚａｎｄＴｈｏｍａｓＷｉｅｇａｎｄ，¨Ｔｒｅｅ―ｓｔｒｕｃｔｕｒｅｄｍａｃｒｏｂｌｏｃｋｐａｒｔｉｔｉｏｎ¨，Ｄｏｃ．ＶＣＥＧ―Ｎ１７，Ｄｅｃ．２００１
【文献３】
ＪｏｉｎｔＶｉｄｅｏＴｅａｍ（ＪＶＴ）ｏｆＩＳＯ／ＩＥＣＭＰＥＧａｎｄＩＴＵ―ＴＶＣＥＧ，¨ＪｏｉｎｔＣｏｍｍｉｔｔｅｅＤｒａｆｔ（ＣＤ）ｏｆＪｏｉｎｔＶｉｄｅｏＳｐｅｃｉｆｉｃａｔｉｏｎ（ＩＴＵ―ＴＲｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６―１０ＡＶＣ）¨，ＩＴＵ―ＴＪＶＴ―Ｃ１６７，Ｍａｙ．２００２
【考案の開示】
【発明が解決しようとする課題】
【０００４】
ビデオ・コーディングにおいて、その最新のモデルおよびモードをサポートすることが可能で、さらに改善されたコーディング技法を利用する新しいモデルおよびモードもできる限り導入する、さらに改善された方法および装置に対する継続する要求がある。
【課題を解決するための手段】
【０００５】
上で説明した要求および他の要求は、たとえば、ビデオ・フレームのシーケンス内のビデオ・データをエンコードする際に使用される方法によって対処される。この方法には、少なくとも１つのビデオ・フレームの少なくとも一部を双方向予測（Ｂ）ピクチャであると識別すること、および少なくとも空間予測を使用してＢピクチャを選択的にエンコードし、Ｂピクチャに関連付けられる少なくとも１つの動きパラメータをエンコードすること、が含まれる。ある例示的実装では、Ｂピクチャに、ブロック、マクロブロック、サブブロック、スライス、またはビデオ・フレームの他の同様の部分を含めることができる。たとえば、マクロブロック部分が使用される時に、この方法は、ダイレクト・マクロブロック（ＤｉｒｅｃｔＭａｃｒｏｂｌｏｃｋ）を作る。
【０００６】
もう１つの例示的実装では、この方法に、さらに、ビデオ・フレームの少なくとももう１つの部分である少なくとも１つの参照ピクチャに基づいて、Ｂピクチャに対する線形または非線形の動きベクトル予測を使用することが含まれる。たとえば、ある実装において、この方法では、中央値動きベクトル予測（ｍｅｄｉａｎｍｏｔｉｏｎｖｅｃｔｏｒｐｒｅｄｉｃｔｉｏｎ）を使用して、少なくとも１つの動きベクトルを生成する。
【０００７】
もう１つの例示的実装では、空間予測のほかに、この方法では、少なくとも１つの他のビデオ・フレームの少なくとも一部を処理して、時間予測を使用してＢピクチャを選択的にさらにエンコードし、Ｂピクチャに関連付けられる少なくとも１つの時間ベースの動きパラメータをエンコードすることもできる。いくつかの場合に、時間予測は、たとえば予測（Ｐ）フレームの少なくとも一部に基づく、双方向時間予測を含む。
【０００８】
ある他の実装では、この方法で、プレディクタ（ｐｒｅｄｉｃｔｏｒ）ビデオ・フレームとＢピクチャを含むフレームとの間の時間的距離に少なくとも部分的に基づいて、時間ベース動きパラメータの適用可能なスケーリングを選択的に判定する。ある実装では、時間的距離情報が、たとえば、エンコードされたＢピクチャに関連付けられるヘッダまたは他の類似するデータ配置内に符号化される。
【０００９】
本発明を、制限ではなく例として、添付図面の図に示す。同一の符号は、複数の図面を通じて類似するコンポーネントおよび／または特徴を参照するのに使用される。
【発明を実施するための最良の形態】
【００１０】
ビデオ・シーケンス内の双方向予測（Ｂ）ピクチャに関して使用される複数の改良が、以下で説明され、添付図面に示される。いくつかの改良点のうちは、ダイレクト・モード・エンコーディングおよび／または動きベクトル予測が、空間予測技法を使用して機能強化される。他の改良点において、動きベクトル予測に、たとえばより正確な予測のために、時間的距離（ｔｅｍｐｏｒａｌｄｉｓｔａｎｃｅ）およびサブブロック情報が含まれる。そのような改良および本明細書に記載の他の改良によって、すべての適用可能なビデオ・コーディング・システム／ロジックの性能が大幅に改善される。
【００１１】
これらおよび他の例示的な方法および装置を説明するが、本発明の技法が、説明され添付図面に示される例に制限されるのではなく、他の類似する既存のおよび将来のビデオ・コーディング方式などに明らかに適用可能でもあることに留意されたい。
【００１２】
そのような例示的な方法および装置を紹介する前に、たとえばコンピューティング・デバイスおよび他のタイプのデバイス／機器の形での、適切な例示的オペレーティング環境の概要を、以下のセクションで示す。
【００１３】
例示的オペレーティング環境：
図面を参照すると、同様の符号は、同様の要素を指すが、本発明が、適切なコンピューティング環境に実装されるものとして示されている。必要ではないが、本発明を、パーソナル・コンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の全般的な文脈で説明する。
【００１４】
一般に、プログラム・モジュールには、特定のタスクを実行するか特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。当業者は、本発明を、ハンドヘルド・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースまたはプログラム可能な民生用電子機器、ネットワークＰＣ、ミニ・コンピュータ、メインフレーム・コンピュータ、ポータブル通信デバイス、および類似物を含む他のコンピュータ・システム構成と共に実践することができることを諒解するであろう。
【００１５】
本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実践することができる。分散コンピューティング環境では、プログラム・モジュールを、ローカルとリモートの両方のメモリ・ストレージ・デバイスに配置することができる。
【００１６】
図１に、後で説明するシステム、装置、および方法を実装することができる適切なコンピューティング環境１２０の例を示す。例示的なコンピューティング環境１２０は、適切なコンピューティング環境の１つの例にすぎず、本明細書で説明する改良された方法およびシステムの使用の範囲または機能性に関する制限を暗示することを意図されたものではない。コンピューティング環境１２０を、コンピューティング環境１２０に示された構成要素の任意の１つまたは組合せに関する依存性または要件を有するものと解釈してもならない。
【００１７】
本明細書の改良された方法およびシステムは、多数の他の汎用または特殊目的のコンピューティング・システム環境またはコンピューティング・システム構成と共に動作する。適する可能性がある周知のコンピューティング・システム、コンピューティング環境、および／またはコンピューティング構成の例に、パーソナル・コンピュータ、サーバ・コンピュータ、シン・クライアント、シック・クライアント、ハンドヘルド・デバイス、ラップトップ・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、セットトップボックス、プログラマブル民生用電子機器、ネットワークＰＣ、ミニ・コンピュータ、メインフレーム・コンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれるが、これに制限はされない。
【００１８】
図１からわかるように、コンピューティング環境１２０には、コンピュータ１３０の形の汎用コンピューティング・デバイスが含まれる。コンピュータ１３０の構成要素には、１つまたは複数のプロセッサまたは処理ユニット１３２、システム・メモリ１３４、および、システム・メモリ１３４を含むさまざまなシステム構成要素をプロセッサ１３２に結合するバス１３６を含めることができる。
【００１９】
バス１３６は、メモリ・バスまたはメモリ・コントローラ、周辺バス、ａｃｃｅｌｅｒａｔｅｄ　ｇｒａｐｈｉｃｓ　ｐｏｒｔ、および、さまざまなバス・アーキテクチャのいずれかを使用するプロセッサ・バスまたはローカル・バスを含む、複数のタイプのバス構造のいずれかの１つまたは複数を表す。制限ではなく例として、そのようなアーキテクチャに、Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ　Ｃｈａｎｎｅｌ　Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ　ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｓｔａｎｄａｒｄｓ　Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカル・バス、および、メザニンバスとも称するＰｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔｓ（ＰＣＩ）バスが含まれる。
【００２０】
コンピュータ１３０に、通常は、さまざまなコンピュータ可読媒体が含まれる。そのような媒体は、コンピュータ１３０によってアクセス可能な入手可能な媒体とすることができ、これには、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体の両方が含まれる。
【００２１】
システム・メモリ１３４には、ランダム・アクセス・メモリ（ＲＡＭ）１４０などの揮発性メモリ、および／または読取専用メモリ（ＲＯＭ）１３８などの不揮発性メモリの形のコンピュータ可読媒体が含まれる。起動中などに、コンピュータ１３０内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１４２が、ＲＯＭ１３８に保管される。ＲＡＭ１４０には、通常は、プロセッサ１３２によって即座にアクセス可能および／または現在操作されているデータおよび／またはプログラム・モジュールが含まれる。
【００２２】
コンピュータ１３０に、さらに、他の取外し可能／取外し不能の、揮発性／不揮発性のコンピュータ記憶媒体を含めることができる。たとえば、図１に、取外し不能不揮発性磁気媒体（図示せず、通常は「ハード・ドライブ」と称する）から読み取り、これに書き込むハード・ディスク・ドライブ１４４、取外し可能不揮発性磁気ディスク１４８（たとえば「フロッピー（登録商標）・ディスク」）から読み取り、これに書き込む磁気ディスク・ドライブ１４６、および、ＣＤ−ＲＯＭ／Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ／Ｒ／ＲＷ／＋Ｒ／ＲＡＭ、または他の光学媒体などの取外し可能不揮発性光ディスク１５２から読み取るか、これに書き込む光ディスク・ドライブ１５０を示す。ハード・ディスク・ドライブ１４４、磁気ディスク・ドライブ１４６、および光ディスク・ドライブ１５０は、それぞれ、１つまたは複数のインターフェース１５４によってバス１３６に接続される。
【００２３】
ドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ１３０の、コンピュータ可読命令、データ構造、プログラム・モジュール、および他のデータの不揮発性記憶を提供する。本明細書で説明する例示的環境では、ハード・ディスク、取外し可能磁気ディスク１４８、および取外し可能光ディスク１５２が使用されるが、磁気カセット、フラッシュメモリカード、ディジタル多用途ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、および類似物などの、コンピュータによってアクセス可能なデータを保管することができる他のタイプのコンピュータ可読媒体も、例示的オペレーティング環境で使用できることが、当業者によって諒解されなければならない。
【００２４】
複数のプログラム・モジュールを、ハード・ディスク、磁気ディスク１４８、光ディスク１５２、ＲＯＭ１３８、またはＲＡＭ１４０に保管することができ、このプログラム・モジュールには、たとえば、オペレーティング・システム１５８、１つまたは複数のアプリケーション・プログラム１６０、他のプログラム・モジュール１６２、およびプログラム・データ１６４が含まれる。
【００２５】
本明細書で説明する改良された方法およびシステムは、オペレーティング・システム１５８、１つまたは複数のアプリケーション・プログラム１６０、他のプログラム・モジュール１６２、および／またはプログラム・データ１６４内に実装することができる。
【００２６】
ユーザは、キーボード１６６およびポインティング・デバイス１６８（たとえば「マウス」）などの入力デバイスを介してコンピュータ１３０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）に、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信用パラボラアンテナ、シリアル　ポート、スキャナ、カメラなどを含めることができる。これらおよび他の入力デバイスは、バス１３６に結合されたユーザ入力インターフェース１７０を介して処理ユニット１３２に接続されるが、パラレルポート、ゲームポート、またはｕｎｉｖｅｒｓａｌ　ｓｅｒｉａｌ　ｂｕｓ（ＵＳＢ）などの他のインターフェース構造およびバス構造によって接続することができる。
【００２７】
モニタ１７２または他のタイプのディスプレイ・デバイスも、ビデオ・アダプタ１７４などのインターフェースを介してバス１３６に接続される。モニタ１７２のほかに、パーソナル・コンピュータには、通常は、スピーカおよびプリンタなど、出力周辺インターフェース１７５を介して接続することができる他の周辺出力デバイス（図示せず）が含まれる。
【００２８】
コンピュータ１３０は、リモート・コンピュータ１８２などの１つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモート・コンピュータ１８２に、コンピュータ１３０に関して本明細書で説明する要素および特徴の多くまたはすべてを含めることができる。
【００２９】
図１に示された論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７７および一般的な広域ネットワーク（ＷＡＮ）１７９である。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータ・ネットワーク、イントラネット、およびインターネットでありふれたものである。
【００３０】
ＬＡＮネットワーキング環境で使用される場合に、コンピュータ１３０は、ネットワーク・インターフェースまたはネットワーク・アダプタ１８６を介してＬＡＮ１７７に接続される。ＷＡＮネットワーキング環境で使用される場合に、コンピュータに、通常は、モデム１７８またはＷＡＮ１７９を介する通信を確立する他の手段が含まれる。モデム１７８は、内蔵または外付けとすることができるが、ユーザ入力インターフェース１７０または他の適当な機構を介してシステム・バス１３６に接続することができる。
【００３１】
図１に示されているのは、インターネットを介するＷＡＮの特定の実装である。この図では、コンピュータ１３０が、モデム１７８を使用して、インターネット１８０を介する少なくとも１つのリモート・コンピュータ１８２との通信を確立する。
【００３２】
ネットワーク化された環境では、コンピュータ１３０に関して図示されたプログラム・モジュールまたはその一部を、リモート・メモリ・ストレージ・デバイスに保管することができる。したがって、たとえば、図１からわかるように、リモート・アプリケーションプログラム１８９を、リモート・コンピュータ１８２のメモリ・デバイスに常駐させることができる。図示され説明されたネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用することができることを諒解されたい。
【００３３】
図２に注目すると、この図は、本明細書で開示される方法および装置から利益を得ることもできるもう１つの例示的なデバイス２００を示すブロック図である。デバイス２００は、本明細書で説明する方法および装置およびその同等物のすべてまたは一部に従ってビデオおよび／または関連するタイプのデータを処理するように機能的に構成された１つまたは複数のデバイスまたは機器のすべてを表す。したがって、デバイス２００は、図１に示されたコンピューティング・デバイスの形、または、たとえば、無線デバイス、ポータブル通信デバイス、携帯情報端末、ビデオ・プレイヤ、テレビジョン、ＤＶＤプレイヤ、ＣＤプレイヤ、カラオケ機、キオスク、ディジタル・ビデオ・プロジェクタ、フラット・パネル・ビデオ・ディスプレイ機構、セットトップボックス、ビデオ・ゲーム機などの他の形態をとることができる。この例では、デバイス２００に、ビデオ・データを処理するように構成されたロジック２０２、ビデオ・データをロジック２０２に供給するように構成されたビデオ・データ・ソース２０４、および、ビデオ・データのうちで少なくともユーザが見る部分を表示することができる少なくとも１つのディスプレイ・モジュール２０６が含まれる。ロジック２０２は、ハードウェア、ファームウェア、ソフトウェア、および／またはその組合せを表す。ある実装では、たとえば、ロジック２０２に、コンプレッサ／デコンプレッサ（コーデック）または類似物が含まれる。ビデオ・データ・ソース２０４は、ロジック２０２による処理に適するビデオ・データを、供給し、通信し、出力し、かつ／または少なくとも一時的に保管するすべての機構を表す。ビデオ複写ソースは、デバイス２００内および／またはデバイス２００なしとして図示されている。ディスプレイ・モジュール２０６は、ユーザが直接的または間接的に見ることができ、それに提示されるビデオ・データの視覚的結果を見る、すべての機構を表す。さらに、ある実装では、デバイス２００に、ビデオ・データに関連するオーディオ・データを複写するか他の形で処理する形または機能も含めることができる。したがって、オーディオ再生モジュール２０８が示されている。
【００３４】
図１および図２の例とこれらに類似する他の例を念頭において、次のセクションでは、そのような環境およびそのようなデバイスと共に使用して少なくとも部分的に実践することができる、ある例示的な方法および装置に焦点を合わせる。
【００３５】
双方向予測（Ｂ）ピクチャおよび動きベクトル予測値のエンコーディング
このセクションでは、ビデオ・コーディング・システムまたは類似物内に、双方向予測（Ｂ）ピクチャおよび動きベクトル予測値をエンコードするために実装することができる複数の例示的改良を説明する。この例示的な方法および装置を、動きベクトルの予測およびＢピクチャ・ダイレクト・モードの設計の機能強化に適用することができる。そのような方法および装置は、たとえばＪＶＴなどの複数ピクチャ参照コーデックに特に適し、特にパンのシーケンスまたはシーン変化に関してかなりのコーディング・ゲインを達成することができる。
【００３６】
双方向予測（Ｂ）ピクチャは、ほとんどのビデオ・コーディング標準規格およびビデオ・コーディング・システムの重要な部分である。というのは、たとえば予測（Ｐ）ピクチャだけを使用することと比較した時に、Ｂピクチャは、そのようなシステムのコーディング効率を高めることに貢献するからである。このコーディング効率の改善は、主に、双方向動き補償の検討によって達成され、双方向動き補償では、動き補償された予測を効果的に改善することができ、その結果、かなり減らされた残差情報のエンコーディングを可能にすることができる。さらに、そのようなピクチャ内のマクロブロック／ブロックのダイレクト予測（ＤｉｒｅｃｔＰｒｅｄｉｃｔｉｏｎ）モードの導入によって、エンコードされる動き情報がなくなるので、さらに効率をかなり（たとえば１０から２０％超）高めることができる。これは、たとえば、順方向動き情報と逆方向動き情報の双方向の予測を、後続参照ピクチャの対応するマクロブロック内で使用される動きベクトルから、直接（ｄｉｒｅｃｔｌｙ）、導出できるようにすることによって、達成することができる。
【００３７】
たとえば、図４に、時刻ｔおよびｔ＋２のＰフレームおよび適用可能な動きベクトル（ＭＶｓ）に基づいて、コーディングする時刻ｔ＋１でのＢピクチャ内のダイレクト予測を示す。この図では、ピクチャ内のオブジェクトが一定速度で移動していると仮定する。これによって、Ｂピクチャの内部の現在位置を予測することが、動きベクトルを送るということをせずに、可能になる。最初の後続Ｐ参照ピクチャ内の結び付けられたＭＢ（ｃｏｌｌｏｃａｔｅｄＭＢ）の動きベクトル
【００３８】
【数式１】
2004040785.tif 000003
【００３９】
に対して、ダイレクト・モードの動きベクトル
【００４０】
【数式２】
2004040785.tif 000004
【００４１】
は、基本的に次式によって計算される。
【００４２】
【数式３】
2004040785.tif 000005
【００４３】
ここで、ＴＲＢは、現在のＢピクチャと、結び付けられたＭＢの順方向ＭＶによってポイントされる参照ピクチャとの間の時間的距離、ＴＲＤは、将来の参照ピクチャと、結び付けられたＭＢの順方向ＭＶによってポイントされる参照ピクチャの間の時間的距離である。
【００４４】
残念ながら、既存のダイレクト・モードが妥当な解を提供せず、したがって、このモードの特性を効率的に利用できないいくつかの場合がある。具体的に言うと、このモードの既存の設計では、通常は、後続Ｐピクチャ内の結び付けられたマクロブロックがイントラ・コーディングされる場合に、ダイレクト・マクロブロックの動きパラメータを強制的に０にする。たとえば、図６を参照すると、動きが０と仮定される既存のコーデック内での結び付けられたイントラの処理が示されている。これは、基本的に、この場合に、Ｂピクチャ・マクロブロックが、最初の後続のＰ参照および過去のＰ参照の２つの結び付けられたマクロブロックの平均としてコーディングされることを意味する。ここから、即座に次の懸念が生じる。マクロブロックがイントラ・コーディングされる場合に、そのマクロブロックが参照ピクチャの結び付けられたマクロブロックに対してどのような関連を有するかを知るにはどうすればよいか。いくつかの状況で、実際に関連があるとしても、ごくわずかである可能性がある。したがって、ダイレクト・モードのコーディング効率が低下する可能性がある。極端な場合を、図５に示されたシーン変化の場合に見ることができる。図５には、シーン変化がビデオ・シーケンスで発生する時に発生するものおよび／または結び付けられたブロックがイントラである時に発生するものが示されている。この例では、明らかに、シーン変化に対して２つの参照ピクチャの間に関連が存在しない。そのような場合に、双方向予測は、あるとしてもごくわずかな利益しか提供しない。したがって、ダイレクト・モードは、完全に無駄になる可能性がある。残念ながら、ダイレクト・モードの従来の実装は、マクロブロックの双方向予測を必ず実行するように制限されている。
【００４５】
図７は、本発明のある実装による、後続Ｐピクチャの結び付けられるブロックの参照ピクチャが０以外である時にダイレクト・モードを処理する方法を示す図である。
【００４６】
複数ピクチャ参照動き補償が使用される時に、ダイレクト・モード・マクロブロックに関する追加の問題が存在する。最近になるまで、たとえば、ＪＶＴ標準規格で、タイミング距離情報（ＴＲＢおよびＴＲＤ）が提供され、この結果、パラメータの適切なスケーリングを可能としていた。最近に、これが、コーデックの新しいリビジョンに変更された（たとえば、非特許文献３参照）。新しいリビジョンでは、後続Ｐピクチャの動きベクトル・パラメータが、参照ピクチャ情報を考慮に入れずに、ダイレクト・モード予測のために同等にスケーリングされる。これは、ダイレクト・モードでのかなりの性能低下につながる可能性がある。というのは、一定の動きの仮定に、もはや従わなくなったからである。
【００４７】
それでも、時間的距離パラメータが使用可能であった場合であっても、前に定義されたダイレクト・モードの使用は、必ずしも最も適切な解決策であるわけではない。具体的に言うと、最初の順方向参照ピクチャにより近いＢピクチャについて、後続の参照ピクチャより、その（順方向参照）ピクチャとの相関が、はるかに強くなる可能性がある。そのようなケースを含む可能性がある極端な例が、シーンＡがシーンＢに変化し、その後、シーンＡに戻るシーケンスである（たとえば、ニュース速報などで起こるものなど）。ダイレクト・モードが、エンコーディング処理内で効率的に利用されないので、上のすべてが、Ｂピクチャ・エンコーディングの性能をかなり落とす。
【００４８】
これらおよび他の懸念を念頭において、時間予測だけが使用されたダイレクト・モードの前の定義と異なって、本発明のいくつかの態様によれば、時間予測および／または空間予測の両方が検討される新しいダイレクト・マクロブロック・タイプが導入される。使用される予測のタイプは、たとえば最初の後続Ｐ参照ピクチャの参照ピクチャ情報のタイプに依存するものとすることができる。
【００４９】
本発明のいくつかの他の態様によれば、さらに、時間的距離が使用可能である場合に、それを考慮に入れることによって、複数ピクチャ参照が使用される時のＰピクチャとＢピクチャの両方の動きベクトル予測をかなり改善することもできる。
【００５０】
これらの機能強化は、下で説明するある例示的な方法および装置に実装される。この方法および装置は、類似するかよりよい品質を達成しながら、かなりのビットレート削減を達成することができる。
【００５１】
ダイレクト・モード機能強化
ほとんどの普通のビデオ・コーディング・システムでは、ダイレクト・モードは、動きパラメータが必ず後続Ｐイメージの動きパラメータから時間的な形で予測される双方向予測方式として、設計される。このセクションでは、そのような予測値を得るために、さらに空間情報が、あるいは空間情報が代替として考慮される機能強化されたダイレクト・モード技法を提供する。
【００５２】
たとえば、システムの複雑さおよび／または仕様に依存して、必要に応じて、１つまたは複数の下記の例示的技法を実装することができる。
【００５３】
１つの技法は、ダイレクト・モードの動きベクトル・パラメータについて、時間予測を考慮せずに空間予測を実装することである。空間予測は、たとえば、動きベクトル・エンコーディングに使用される既存の動きベクトル予測技法（たとえば、中央値予測など）を使用することによって達成することができる。複数のピクチャ参照が使用される場合には、隣接するブロックの参照ピクチャも考慮することができる（そのような制限はないけれども、および同一の参照、たとえば０、を常に使用することができる）。
【００５４】
動きパラメータおよび参照ピクチャは、以下のように、図３の場合に予測することができる。図３は、使用可能でありピクチャの一部と仮定される部分Ａ〜Ｅ（たとえば、マクロブロック、スライスなど）に関連付けられる空間予測を示す図である。この図において、Ｅは、一般に、Ｍｅｄｉａｎ（Ａ、Ｂ、Ｃ）としてＡ、Ｂ、およびＣから予測される。Ｃが、実際にはピクチャの外にある場合には、その代わりにＤが使用される。Ｂ、Ｃ、およびＤがピクチャの外にある場合には、Ａだけが使用され、Ａが存在しない場合には、それは（０、０）に置換される。当業者は、空間予測を、サブブロック・レベルでも行うことができることを諒解するであろう。
【００５５】
一般に、空間予測は、ピクチャ内で、または同一ピクチャ内のマクロブロック／ブロックのグループ内で、計算されるすべての使用可能な動き情報の線形関数または非線形関数と見なすことができる。
【００５６】
ダイレクト・モードに関して参照ピクチャを予測するために配置することができる、さまざまな使用可能な方法がある。たとえば、方法の１つは、予測値（ｐｒｅｄｉｃｔｉｏｎｓ）の間で最少の参照ピクチャを選択するようにすることができる。もう１つの方法では、中央値参照ピクチャ（ｍｅｄｉａｎｒｅｆｅｒｅｎｃｅｐｉｃｔｕｒｅ）を選択することができる。ある方法では、たとえ最少値が０の場合であっても、最少参照ピクチャと中央値参照ピクチャの間で選択することができる。もう１つの実装では、垂直プレディクタ（Ａ）および水平プレディクタ（Ｂ）のいずれかに、そのＥとのより強い相関に起因して、より高い優先順位を与えることもできる。
【００５７】
予測値の１つが存在しない（たとえば、周囲のマクロブロックのすべてが、同一の方向ＦＷまたはＢＷだけを用いて予測されるか、イントラである）場合には、既存の予測値だけを使用する（単一方向予測）か、使用可能な予測値から予測することができる。たとえば、順方向予測が使用可能な場合には、
【００５８】
【数式４】
2004040785.tif 000006
【００５９】
である。
【００６０】
時間予測は、既存のコーデックと同様に、後続Ｐ参照がイントラでない場合に、マクロブロックに対して使用される。図８に注目されたい。図８では、ＭＶＦＷおよびＭＶＢＷは、空間予測（周囲のマクロブロックのメディアンＭＶ）から導出される。その一方が使用可能でない（すなわちプレディクタがない）場合には、１方向が使用される。後続Ｐ参照がイントラの場合には、上で説明したように、その代わりに空間予測を使用することができる。制限が存在しないと仮定すると、予測値の１つが使用可能でない場合には、ダイレクト・モードは、単一方向予測モードになる。
【００６１】
これは、たとえば図９に示されているようにシーンが変化する時、および／またはビデオ・シーケンス内にフェードが存在する時に、ビデオ・コーディングにかなりの利益をもたらす可能性がある。図９からわかるように、空間予測を使用して、シーン変化の問題を解決することができる。
【００６２】
時間的距離情報が、コーデック内で使用可能でない場合には、結び付けられるＰ参照ブロックが非０参照ピクチャを有する時に、時間予測は、ブロックに対するダイレクト・モードにおけるほど効率がよいことにはならない。そのような場合に、上記のように空間予測も使用することができる。代替案として、周囲のマクロブロックのうちの１つが、結び付けられるＰ参照ブロックと同一の参照ピクチャを使用している場合に、スケーリング・パラメータを推定することができる。さらに、非０参照の０動き（または０に近い動き）について、特殊な処理を提供することができる。この場合には、時間的距離に無関係に、順方向および逆方向の動きベクトルを、必ず０として解釈することができる。しかし、最善の解決策は、周囲のマクロブロックの参照ピクチャ情報を必ず検査し、それに基づいて、ダイレクト・モードでそのようなケースをどのように処理するかを決定すること、とすることができる。
【００６３】
具体的に言うと、たとえば、非０参照に対して、下記のサブケースを検討することができる。
ケースＡ：結び付けられるＰブロックの動きベクトルが０である場合に、時間予測を使用する。
ケースＢ：すべての周囲のマクロブロックで、結び付けられるＰ参照と異なる参照ピクチャが使用される場合には、空間予測がより良い選択であると思われ、時間予測は使用されない。
ケースＣ：Ｂピクチャ内の動きの流れ（ｍｏｔｉｏｎｆｌｏｗ）が、Ｐ参照ピクチャ内のそれと非常に異なると思われる場合には、空間予測を使用する。
ケースＤ：ダイレクト・モード・マクロブロックの空間予測または時間予測を、イメージ・ヘッダの中でシグナリングすることができる。イメージの事前分析を実行して、どちらを使用すべきかを判断することができる。
ケースＥ：時間的に予測されたパラメータの訂正は、空間情報に基づく（またはその逆）。したがって、たとえば、両方が同一またはほぼ同一の位相情報を有すると思われる場合に、空間情報が、ダイレクト・モード予測の非常によい候補になる可能性がある。訂正を、位相に基づいて行うこともでき、したがって、予測のサブ・ピクセル精度が訂正される。
【００６４】
図１０に、Ｂピクチャ・コーディングでのダイレクト・モードの結合時空間予測を示す。この例では、ダイレクト・モードを、使用可能な情報に応じて１から４方向のモードとすることができる。ダイレクト・モード・マクロブロックとしての双方向予測を使用するのではなく、そのようなモードについてのマルチ・ハイパセシス（ｍｕｌｔｉ―ｈｙｐｏｔｈｅｓｉｓ）拡張を行うことができ、複数の予測値を使用することができる。
【００６５】
上の説明と組み合わせて、使用可能な情報に応じて１つから４つまでの利用可能な動きベクトルを使用して、ダイレクト・モード・マクロブロックを予測することができる。これは、たとえば、結び付けられるＰ参照イメージ・マクロブロックのモードおよび現在のＢピクチャの周囲のマクロブロックに基づいて決定することができる。そのような場合に、空間予測が、時間予測とあまりにも異なる場合に、そのどちらかを、他方より優先される唯一の予測として選択することができる。前に説明した空間予測は、時間予測と異なる参照ピクチャを優先する可能性があるので、その同じマクロブロックを、３つ以上の参照ピクチャから予測するようにした方が良い。
【００６６】
ＪＶＴ標準規格では、最初の将来の参照がＰピクチャになるように制限してはいない。したがって、そのような標準規格では、ピクチャを、図１２に示されているようにＢとするか、マルチ・ハイパセシス（ＭＨ）ピクチャとすることさえできる。これは、マクロブロックごとにより多くの動きベクトルが割り当てられることを暗示する。これは、このプロパティを使用して、追加の動き情報をより効果的に活用することによって、ダイレクト・モードの効率を高めることができることを意味する。
【００６７】
図１２では、最初の後続の参照ピクチャが、Ｂピクチャである（ピクチャＢ８およびＢ９）。これによって、特にＢピクチャ内で双方向予測が使用される場合に、ダイレクト・モード予測のより多くの候補を使用できるようになる。
【００６８】
具体的に言うと、下記を実行することができる。
ａ．）最初の将来の参照の結び付けられる参照ブロックで、双方向予測が使用されている場合に、対応する動きベクトル（順方向または逆方向）が、現在のブロックの動きベクトルの計算に使用される。参照の逆方向動きベクトルは、将来の参照ピクチャに対応するので、現在の動きパラメータの推定において、特別な注意を払わなければならない。たとえば、最初の後続参照ピクチャがＢピクチャ（ピクチャＢ８およびＢ９）である図１２に注目されたい。これによって、特に双方向予測がＢピクチャ内で使用される場合に、ダイレクト・モード予測についてより多くの候補を使用できるようになる。したがって、図からわかるように、Ｂ８の逆方向動きベクトル
【００６９】
【数式５】
2004040785.tif 000007
【００７０】
は、Ｂ８、Ｂ７、およびＰ６の時間的距離に起因して、
【００７１】
【数式６】
2004040785.tif 000008
【００７２】
として計算することができる。同様に、Ｂ９について、逆方向ベクトルは、Ｂ７を参照するが、
【００７３】
【数式７】
2004040785.tif 000009
【００７４】
という形をとることができる。また、これらを、最初の後続のＰピクチャを参照するように制限することができ、この場合には、これらの動きベクトルを、それ相応にスケーリングすることができる。同様の結論を、順方向動きベクトルに関して演繹することができる。複数ピクチャ参照またはイントラ・マクロブロックを、前の説明に類似する形で処理することができる。
【００７５】
ｂ．）結び付けられたブロックについて双方向予測が使用される場合には、この例では、参照の逆方向および順方向の動きベクトルを射影し、反転することによって、ダイレクト・モードの場合に１つのマクロブロックについて４つの可能な予測値を推定することができる。
【００７６】
ｃ．）選択的な射影および反転を、時間的距離に応じて使用することができる。この解決策によれば、予測に関してより信頼性のある参照ピクチャから動きベクトルを選択する。たとえば、図１２の例を検討すると、Ｂ８がＰ６よりもＰ２にはるかに近いことに留意されたい。これは、Ｂ７の逆方向動きベクトルが、非常に信頼性の高い予測でない可能性があることを暗示する。したがって、この場合には、ダイレクト・モード動きベクトルを、Ｂ７の順方向予測だけから計算することができる。しかし、Ｂ９については、両方の動きベクトルが、予測に十分に適すると思われ、したがって、両方を使用することができる。そのような判断／情報は、イメージのヘッダ内で判断／サポートすることもできる。他の条件および規則も実装することができる。たとえば、予測および／または動きベクトルの位相の追加の空間的信頼性を考慮することができる。特に、順方向および逆方向の動きベクトル（複数）に関連がない場合に、逆方向動きベクトルが、使用するには信頼性が低すぎる場合があることに留意されたい。
【００７７】
Ｂピクチャの単一ピクチャ参照：
複数のＰピクチャ内に何枚の参照ピクチャが使用されるかに無関係に、Ｂピクチャ（通常は順方向および逆方向の参照が必要であるが）に対して１つのピクチャ参照だけを使用する特殊なケースが存在する。現在のＪＶＴコーデックのエンコーディング・シーケンスの観察から、単一ピクチャ参照の場合と複数Ｂピクチャを使用する複数ピクチャ参照の場合とを比較すると、複数ピクチャの場合に対する複数Ｐピクチャのエンコーディング性能は、ほとんど常に単一ピクチャの場合についてのエンコーディング性能を超えるが、Ｂピクチャについては必ずしも真実ではないことに留意されたい。
【００７８】
この観察の理由の１つは、マクロブロックごとに使用される参照ピクチャのオーバーヘッドである。Ｂピクチャが、Ｐピクチャより動き情報に依存することを考慮すると、参照ピクチャ情報オーバーヘッドが、所与のビットレートで送られる残差情報のビット数を減少させ、これによって効率が低下する。むしろ簡単で効率的な解決策は、順方向または逆方向のいずれかの動き補償に対して１つのピクチャ参照だけを選択することにあり、このようにすることによって、参照ピクチャ情報を送る必要性をなくすことである。
【００７９】
これを、図１３および１４に関して検討する。図１３に示されているように、Ｂピクチャを、１つの将来の参照ピクチャおよび１つの過去の参照ピクチャだけを使用するように制限することができる。したがって、ダイレクト・モード動きベクトル計算に関して、動きベクトルの射影が必要である。時間的ダイレクト予測に関する結び付けられたＭＶの現在の参照への射影を、図１４に示す（ＴＤＤ、０＞ＴＤＤ、１が可能であることに留意されたい）。したがって、この例では、ダイレクト・モード動きパラメータは、他の参照フレームを参照する動きベクトルを２つの参照ピクチャに射影すること、または図１３に示されるような空間予測を使用すること、によって計算される。そのようなオプションによって、Ｂピクチャについて可能な限りエンコーディングの複雑さを削減することを可能にするだけではなく、たとえＢピクチャがＢピクチャを参照することが許可される場合であっても格納されるべきＢピクチャは少ない（たとえば最大で２つ）ので、メモリ要件もの低減に役立つことに留意されたい。
【００８０】
いくつかの場合に、最初の将来の参照ピクチャの参照ピクチャが、もはや参照バッファ内で使用可能でない場合がある。これは、ダイレクト・モード・マクロブロックの推定に関する問題を即座に引き起こすことになり、そのような場合の特別な処理が必要とされる。単一ピクチャ参照が使用される場合には、明らかに、そのような問題はない。しかし、複数ピクチャ参照が望まれている場合に、可能な解決策には、動きベクトルを、最初の順方向参照ピクチャおよび／または使用可能でないピクチャに最も近かった参照ピクチャのいずれかに射影すること、が含まれる。どちらの解決策も実行可能であるが、やはり、この場合も、空間予測が代替解決策になり得る。
【００８１】
単一ピクチャ参照および複数ピクチャ参照の動き補償に関する動きベクトル予測の改善
複数ピクチャ参照動き補償の動きベクトル予測は、ＢピクチャおよびＰピクチャの両方のコーディングの性能に大きく影響する可能性がある。たとえばＪＶＴなどの既存の標準規格では、予測において使用される複数のマクロブロックの複数の参照ピクチャを必ずしも考慮に入れていない。そのような標準規格が制定している唯一の考慮は、複数の予測マクロブロックの１つが同一の参照を使用する場合だけである。そのような場合には、そのプレディクタだけが、動き予測に使用される。参照ピクチャについて、１つだけの場合、あるいはすべてのプレディクタが異なる参照を使用する場合、についての考慮はなされていない。
【００８２】
そのような場合に、たとえば、本発明のあるさらなる態様によれば、現在の参照に対する時間的距離に従って複数のプレディクタをスケーリングすることができる。図１１に注目されたい。この図には、プレディクタ・マクロブロック（Ｐｒ）の参照ピクチャ情報を考慮した現在のブロック（Ｃ）の動きベクトル予測と、適切な調整（たとえばプレディクタのスケーリング）の実行が示されている。
【００８３】
プレディクタＡ、Ｂ、およびＣで、それぞれ時間的距離ＴＲＡ、ＴＲＢ、およびＴＲＣを有する参照ピクチャが使用され、現在の参照ピクチャが、ＴＲと等しい時間的距離を有する場合に、中央値プレディクタは、次式に従って計算される。
【００８４】
【数式８】
2004040785.tif 000010
【００８５】
整数計算を使用する場合には、乗算を中央値（ｍｅｄｉａｎ）の中に置き、その結果、精度を高めることが、より簡単であろう。除算は、シフトに置換することもできるが、性能が低下し、（−１＞＞Ｎ＝−１）のような符号付きシフトを処理する必要が生じることもある。したがって、そのような場合に、時間的距離情報を使用可能にすることが、適当なスケーリングを実行するために非常に重要となる。これは、他の方法では予測可能ではない場合に、ヘッダ内で使用可能にすることもできる。
【００８６】
前に説明した動きベクトル予測は、基本的に中央値にバイアス（ｂｉａｓｅ）され、このことは、プレディクタの組の中の中央値が、予測用に選択されることを意味する。１つの動きベクトル（ＭＶ）を備えた１種類のマクロブロック（たとえば１６×１６）だけを使用する場合には、これらのプレディクタを、たとえば図１５に示されているように定義することができる。この図では、ＭＶプレディクタが、１つのＭＶについて示されている。図１５（ａ）では、ＭＢが、最初の行にも最後の列にもない。図１５（ｂ）では、ＭＢが、最後の列にある。図１５（ｃ）では、ＭＢが、最初の行にある。
【００８７】
ＪＶＴ標準規格は、３つのプレディクタのうちの１つだけが存在する（すなわち、マクロブロックが、イントラであるか、あるいは複数ピクチャ予測の場合に異なる参照ピクチャを使用している）場合も考慮することによって、これに関してさらに改善される。そのような場合に、既存のまたは同一の参照プレディクタだけを予測に使用し、すべての他のプレディクタを調べない。
【００８８】
イントラ・コーディングは、新しいオブジェクトが現れることまたはシーンが変換することを必ずしも暗示するものではない。そうではなく、たとえば、動きの推定および補償が、現在のオブジェクトを表すのに不適切であり（たとえば、検索範囲、使用される動き推定アルゴリズム、残差の量子化など）、それよりもイントラ・コーディングを介してよりよい結果を達成できる場合があるかも知れない。それでも、使用可能な複数の動きプレディクタは、よい動きベクトル・プレディクタ解決策を提供するのに十分に適切であることがある。
【００８９】
興味をそそるのは、それぞれに異なる動き情報が割り当てられる、１マクロブロック内のサブブロックの検討である。たとえば、ＭＰＥＧ−４標準規格およびＨ．２６３標準規格は、４つまでのそのようなサブブロック（たとえば８×８のサイズの）を有することができ、これに対して、ＪＶＴ標準規格では、１６個までのサブブロックが許容されると同時に、可変ブロック・サイズを扱うこともできる（たとえば、４×４、４×８、８×４、８×８、８×１６、１６×８、および１６×１６）。さらに、ＪＶＴでは、８×８イントラ・サブブロックも可能であり、したがって、事態がさらに複雑になる。
【００９０】
ＪＶＴおよびＭＰＥＧ−４／Ｈ．２６３に共通するケース（８×８および１６×１６）を検討すると、１６×１６マクロブロックについてセットされるプレディクタを、図１５ａ〜ｃに類似する配置を有する図１６ａ〜ｃに示す。この図では、動きベクトル・プレディクタが、８×８パーティションを有する１つのＭＶについて示されている。説明したプレディクタは、いくつかの場合に穏当な結果を与えることができはするが、すべての可能な予測値を適切に包含していない可能性がある。
【００９１】
次に、それぞれ図１５ａ〜ｃに類似する配置を有する図１７ａ〜ｃに注目されたい。図１７ａ〜ｃでは、予測フェーズで検討することもできる２つの追加のプレディクタ（Ｃ１およびＡ２）がある。４×４ブロックも検討する場合には、これによって、可能なプレディクタが４つ増える。
【００９２】
３つのプレディクタＡ、Ｂ、およびＣ（またはＡ１、Ｂ、およびＣ２）の中央値を使用する代わりに、ある追加の、明らかにより信頼性のあるオプションを有することができる。したがって、たとえば、プレディクタＡ１およびＣ２が、本質的に互いに非常に近いことを観察することができ、これらが予測フェーズにおいてあまりにも代表的でない可能性がある場合がある。その代わりに、プレディクタＡ１、Ｃ１、およびＢを選択することが、それら間の分離に起因して、より信頼性のある解決策であるように思われる。代替案は、Ａ１の代わりにＡ２を選択すること、とすることもできるが、これは、やはり、プレディクタＢに近すぎる可能性がある。シミュレーションから、通常は最初のケースがよりよい選択であることが示された。最後の列について、Ａ２を、Ａ１の代わりに使用することができる。最初の行について、Ａ１およびＡ２のいずれか、またはその平均値を使用することができる。この実装によって、ＪＶＴでの１％までの利得が記録された。
【００９３】
前のケースでは、最後の列についていくつかのテストが追加された。たとえば、図１７ｂを調べることによって、上記が最良の使用可能なパーティションをもたらす傾向があることが明白である。したがって、任意選択の解決策は、Ａ２、Ｃ１、およびＢの選択とすることができる（左上の位置から）。しかし、これは必ずしも推奨されるものではない可能性がある。というのは、このような実装が、右プレディクタの性能に悪影響を及ぼす可能性があるからである。
【００９４】
代替解決策は、マクロブロック内のプレディクタの平均値を使用することである。中央値は、次式のように実行することができる。
【００９５】
【数式９】
2004040785.tif 000011
【００９６】
中央値行／列計算について、中央値を、次式のように計算することができる。
【００９７】
【数式１０】
2004040785.tif 000012
【００９８】
もう１つの可能な解決策は、Ｍｅｄｉａｎ５解決法である。これは、おそらくは、計算（たとえばクイック・ソートまたはバブル・ソートを使用することができる）に起因して最も複雑な解であるが、潜在的に最良の結果をもたらすことができる。たとえば、４×４ブロックを検討する場合に、Ｍｅｄｉａｎ９も使用することができる。
【００９９】
【数式１１】
2004040785.tif 000013
【０１００】
ＪＶＴがイントラ・マクロブロック（ＩｎｔｅｒＭａｃｒｏｂｌｏｃｋ）（たとえばツリー・マクロブロック構造）内にイントラ・サブブロックの存在を許していることを考慮すると、同様なことを、動き予測内で考慮に入れることもできる。ＭＶ予測に使用されるサブブロック（たとえば、上または左のマクロブロックからのみ）がイントラである場合に、隣接するサブブロックを、その代わりに使用することができる。したがって、Ａ１がイントラであるが、Ａ２がイントラでない場合に、予測する際に、Ａ１をＡ２に置換することができる。もう１つの可能性は、１つの欠けているイントラ・マクロブロックを、左上位置からのＭＶプレディクタに置換することである。たとえば、図１７ａで、Ｃ１が欠けている場合に、その代わりにＤを使用することができる。
【０１０１】
上のセクションでは、Ｂピクチャ・ダイレクト・モードおよび動きベクトル予測に対する複数の改善を提示した。空間予測をダイレクト・モード・マクロブロックに使用できることも示されたが、動きベクトル予測で、より正確な予測のために、時間的距離およびサブブロック情報も考慮されるべきである。そのような考慮によって、適用可能なすべてのビデオ・コーディング・システムの性能が大きく改善されることになる。
【０１０２】
結論
上の説明では、構造的特徴および／または方法論的動作に固有の言語を使用したが、請求項で定義される発明が、説明された特定の特徴または動作によって制限されないことを理解されたい。そうではなく、これらの特定の特徴および動作は、本発明を実装する例示的な形態として開示されたものである。
【図面の簡単な説明】
【０１０３】
【図１】本発明のある実装への使用に適する例示的なコンピューティング環境を示すブロック図である。
【図２】本発明のある実装への使用に適する例示的な代表的なデバイスを示すブロック図である。
【図３】本発明のある例示的な実装による、ピクチャの部分に関連する空間予測を示す図である。
【図４】本発明のある例示的な実装による、Ｂピクチャ・コーディングでのダイレクト予測を示す図である。
【図５】本発明のある例示的な実装による、シーン変化が発生する時または結び付けられたブロックがイントラ・コーディングされる時に発生するものを示す図である。
【図６】本発明のある例示的な実装による、動きが０になると仮定される既存のコーデック内での結び付けられたイントラの処理を示す図である。
【図７】本発明のある例示的な実装による、後続Ｐピクチャの結び付けられたブロックの参照ピクチャが０以外である時にダイレクト・モードを処理する方法を示す図である。
【図８】本発明のある例示的な実装による、ＭＶＦＷおよびＭＶＢＷが空間予測から導出される例示的方式を示す図である。
【図９】本発明のある例示的な実装による、空間予測によってシーン変化および類似物の問題を解決する方法を示す図である。
【図１０】本発明のある例示的な実装による、Ｂピクチャ・コーディングでのダイレクト・モードの結合時空間予測を示す図である。
【図１１】本発明のある例示的な実装による、プレディクタ・マクロブロックの参照ピクチャ情報を考慮する現在のブロックの動きベクトル予測を示す図である。
【図１２】本発明のある例示的な実装による、特に双方向予測がＢピクチャ内で使用される場合に、より多くの候補をダイレクト・モード予測に使用する方法を示す図である。
【図１３】本発明のある例示的な実装による、将来および過去の参照ピクチャを使用することにＢピクチャを制限する方法を示す図である。
【図１４】本発明のある例示的な実装による、時間ダイレクト予測に関する結び付けられた動きベクトルの現在の参照への射影を示す図である。
【図１５】本発明のある例示的な実装形態による、異なる構成での１つのＭＶに関する動きベクトル予測を示す図である。
【図１６】本発明のある例示的な実装形態による、異なる構成での８×８パーティションを有する１つのＭＶに関する動きベクトル予測を示す図である。
【図１７】本発明のある例示的な実装による、８×８パーティショニングに関する追加プレディクタを有する１つのＭＶに関する動きベクトル予測を示す図である。
【符号の説明】
【０１０４】
２００　デバイス
２０２　ロジック
２０４　ビデオ・データ・ソース
２０６　ディスプレイ・モジュール
２０８　オーディオ再生モジュール
【図１】
2004040785.tif 000026
【図２】
2004040785.tif 000027
【図３】
2004040785.tif 000028
【図４】
2004040785.tif 000029
【図５】
2004040785.tif 000030
【図６】
2004040785.tif 000031
【図７】
2004040785.tif 000032
【図８】
2004040785.tif 000033
【図９】
2004040785.tif 000034
【図１０】
2004040785.tif 000035
【図１１】
2004040785.tif 000036
【図１２】
2004040785.tif 000037
【図１３】
2004040785.tif 000038
【図１４】
2004040785.tif 000039
【図１５】
2004040785.tif 000040
【図１６】
2004040785.tif 000041
【図１７】
2004040785.tif 000042
【外国語明細書】
2004040785.tif 000043
2004040785.tif 000044
2004040785.tif 000045
2004040785.tif 000046
2004040785.tif 000047
2004040785.tif 000048
2004040785.tif 000049
2004040785.tif 000050
2004040785.tif 000051
2004040785.tif 000052
2004040785.tif 000053
2004040785.tif 000054
2004040785.tif 000055
2004040785.tif 000056
2004040785.tif 000057
2004040785.tif 000058
2004040785.tif 000059
2004040785.tif 000060
2004040785.tif 000061
2004040785.tif 000062
2004040785.tif 000063
2004040785.tif 000064
2004040785.tif 000065
2004040785.tif 000066
2004040785.tif 000067
2004040785.tif 000068
2004040785.tif 000069
2004040785.tif 000070
2004040785.tif 000071
2004040785.tif 000072
2004040785.tif 000073
2004040785.tif 000074
2004040785.tif 000075
2004040785.tif 000076
2004040785.tif 000077
2004040785.tif 000078
2004040785.tif 000079
2004040785.tif 000080
2004040785.tif 000081
2004040785.tif 000082
2004040785.tif 000083
2004040785.tif 000084
2004040785.tif 000085
2004040785.tif 000086
2004040785.tif 000087
2004040785.tif 000088
2004040785.tif 000089
2004040785.tif 000090
2004040785.tif 000091
2004040785.tif 000092
2004040785.tif 000093
2004040785.tif 000094
2004040785.tif 000095
2004040785.tif 000096
2004040785.tif 000097
2004040785.tif 000098
2004040785.tif 000099
2004040785.tif 000100
2004040785.tif 000101
2004040785.tif 000102
2004040785.tif 000103
2004040785.tif 000104
2004040785.tif 000105
2004040785.tif 000106
2004040785.tif 000107
2004040785.tif 000108
2004040785.tif 000109
2004040785.tif 000110