(57)【要約】  ビデオフレームを処理する方法、コンピュータプログラム製品、及びコンピュータシステムを提供する。現在フレームは、少なくとも２個の相異なる大きさを有するＭ個のブロックに分けられる。Ｍは、少なくとも９である。現在フレームの各ブロックは、動きブロックまたはＩ−ブロックに分類される。重複されたブロック動き補償（ＯＢＭＣ）は、所定のスキャン順序によってＭブロックの各ブロックに対して行われる。ＯＢＭＣが行われるブロックは、セルフブロックで表す。ＯＢＭＣは、その隣接ブロックに対してセルフブロックで行われる。隣接ブロックは、セルフブロックに最も近接した隣接ブロックを備える。セルフブロックに対してＯＢＭＣの実行は、セルフブロック及びそのそれぞれの隣接ブロックに対して加重ウィンドウを生成することを含む。
2007509542.tif 000002
【特許請求の範囲】
【請求項１】
ビデオフレームを処理する方法において、
少なくとも相異なる大きさの２個のブロックを備えるブロックに分離された現在フレームを提供するステップと、
それぞれのブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップとを含み、
前記ＯＢＭＣが行われるブロックは、セルフブロックで示し、前記ＯＢＭＣを行うステップは、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを備え、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣを行うステップは、前記セルフブロック及び前記セルフブロックの各隣接ブロックに対する加重ウィンドウを生成するステップを含むことを特徴とする方法。
【請求項２】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項１に記載の方法。
【請求項３】
前記セルフブロック及び最初の隣接ブロックは、各々Ｉ−ブロックであることを特徴とする請求項１に記載の方法。
【請求項４】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはＩ−ブロックであることを特徴とする請求項１に記載の方法。
【請求項５】
前記セルフブロックはＩ−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項１に記載の方法。
【請求項６】
前記セルフブロックはＩ−ブロックであり、前記セルフブロックの生成されたウィンドウは最初の画素加重値及び２番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記２番目の画素加重値は、前記セルフブロックが動きブロックである場合の２番目の画素加重値と同じであることを特徴とする請求項１に記載の方法。
【請求項７】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは、３番目の画素加重値及び４番目の画素加重値を備え、前記３番目の画素加重値は、前記セルフブロックが動きブロックである場合の３番目の画素加重値より大きく、前記４番目の画素加重値は、前記セルフブロックが動きブロックである場合の４番目の画素加重値と同じであることを特徴とする請求項６に記載の方法。
【請求項９】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項１に記載の方法。
【請求項１０】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するＯＢＭＣを行うステップは、前記最初の隣接ブロックの最初の部分であって、前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項９に記載の方法。
【請求項１１】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであり、前記最初の隣接ブロックの最初部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するＯＢＭＣを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項９に記載の方法。
【請求項１３】
前記セルフブロックは、動きブロックであることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記最初の隣接ブロックは、動きブロックであり、前記セルフブロックの最初の部分は、影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは、双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは、０である加重値を備えることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記最初の隣接ブロックはＩ−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは、０である加重値を備えることを特徴とする請求項１３に記載の方法。
【請求項１７】
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供し、前記動きベクトルは、総括的に１つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動（ｐｅｒｔｕｒｂｉｎｇ）して各反復ごとに改善された動きベクトルを計算するステップとをさらに含み、前記反復手順は、各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーを、前記反復の開始から前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項１に記載の方法。
【請求項１８】
前記攝動は、パラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は、前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項１７に記載の方法。
【請求項２０】
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング（ＭＣＴＦ）を行って低時間フレーム及び高時間フレームを生成するステップと、をさらに含み、
前記参照フレームは、少なくとも１つの他のフレームのうち１つであることを特徴とする請求項１に記載の方法。
【請求項２１】
その内部にコンピュータで読取り可能なプログラムコードを備えるコンピュータプログラム製品において、前記コンピュータで読取り可能なプログラムコードは、ビデオフレームを処理する方法を具現するのに適したアルゴリズムを備え、
前記方法は、
少なくとも２つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、
各ブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップとを含み、
前記ＯＢＭＣが行われるブロックをセルフブロックと称し、前記ＯＢＭＣ実行は前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣ実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを備えることを特徴とするコンピュータプログラム製品。
【請求項２２】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記セルフブロック及び最初の隣接ブロックは、各々Ｉ−ブロックであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２４】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはＩ−ブロックであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２５】
前記セルフブロックはＩ−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２６】
前記セルフブロックはＩ−ブロックであり、前記セルフブロックの生成されたウィンドウは、最初の画素加重値及び２番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記２番目の画素加重値は、前記セルフブロックが動きブロックである場合の２番目の画素加重値と同じであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項２７】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項２８】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは、３番目の画素加重値及び４番目の画素加重値を備え、前記３番目の画素加重値は、前記セルフブロックが動きブロックである場合の３番目の画素加重値より大きく、前記４番目の画素加重値は、前記セルフブロックが動きブロックである場合の４番目の画素加重値と同じであることを特徴とする請求項２６に記載のコンピュータプログラム製品。
【請求項２９】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項３０】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するＯＢＭＣを行うステップは、前記最初の隣接ブロックの最初の部分に前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項２９に記載のコンピュータプログラム製品。
【請求項３１】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであり、前記最初の隣接ブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項３０に記載のコンピュータプログラム製品。
【請求項３２】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するＯＢＭＣを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項２９に記載のコンピュータプログラム製品。
【請求項３３】
前記セルフブロックは、動きブロックであることを特徴とする請求項３２に記載のコンピュータプログラム製品。
【請求項３４】
前記最初の隣接ブロックは動きブロックであり、前記セルフブロックの最初の部分は影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を超える加重値を備えることを特徴とする請求項３３に記載のコンピュータプログラム製品。
【請求項３５】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は、前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは０である加重値を備えることを特徴とする請求項３４に記載のコンピュータプログラム製品。
【請求項３６】
前記最初の隣接ブロックはＩ−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは０である加重値を備えることを特徴とする請求項３３に記載のコンピュータプログラム製品。
【請求項３７】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供し、前記動きベクトルは、総括的に１つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動して各反復ごとに改善された動きベクトルを計算するステップと、をさらに含み、前記反復手順は、各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーが前記反復の開始で前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは、前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項３８】
前記攝動は、パラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は、前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項３７に記載のコンピュータプログラム製品。
【請求項３９】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項３７に記載のコンピュータプログラム製品。
【請求項４０】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング（ＭＣＴＦ）を行い、低時間フレーム及び高時間フレームを生成するステップとをさらに含み、前記参照フレームは少なくとも１つの他のフレームのうち１つであることを特徴とする請求項２１に記載のコンピュータプログラム製品。
【請求項４１】
プロセッサー及び前記プロセッサーに連結されたコンピュータで読取り可能なメモリ部を備えたコンピュータシステムにおいて、前記メモリ部は、前記プロセッサーによって実行されてビデオフレームを処理する方法を具現する命令を含み、前記方法は、
少なくとも２つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、
各ブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップを含み、前記ＯＢＭＣが行われるブロックをセルフブロックと言い、前記ＯＢＭＣ実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣ実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを含むことを特徴とするコンピュータシステム。
【請求項４２】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４３】
前記セルフブロック及び最初の隣接ブロックは、各々Ｉ−ブロックであることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４４】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはＩ−ブロックであることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４５】
前記セルフブロックはＩ−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４６】
前記セルフブロックはＩ−ブロックであり、前記セルフブロックの生成されたウィンドウは最初の画素加重値及び２番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記２番目の画素加重値は、前記セルフブロックが動きブロックである場合の２番目の画素加重値と同じであることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４７】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項４１に記載のコンピュータシステム。
【請求項４８】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは３番目の画素加重値及び４番目の画素加重値を備え、前記３番目の画素加重値は、前記セルフブロックが動きブロックである場合の３番目の画素加重値より大きく、前記４番目の画素加重値は前記セルフブロックが動きブロックである場合の４番目の画素加重値と同じであることを特徴とする請求項４６に記載のコンピュータシステム。
【請求項４９】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項５０】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するＯＢＭＣを行うステップは、前記最初の隣接ブロックの最初の部分で前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項４９に記載のコンピュータシステム。
【請求項５１】
前記セルフブロック及び最初の隣接ブロックは各々動きブロックであり、前記最初の隣接ブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項５０に記載のコンピュータシステム。
【請求項５２】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するＯＢＭＣを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するＯＢＭＣを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項５０に記載のコンピュータシステム。
【請求項５３】
前記セルフブロックは動きブロックであることを特徴とする請求項５２に記載のコンピュータシステム。
【請求項５４】
前記最初の隣接ブロックは動きブロックであり、前記セルフブロックの最初の部分は影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備えることを特徴とする請求項５３に記載のコンピュータシステム。
【請求項５５】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は、前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは０である加重値を備えることを特徴とする請求項５４に記載のコンピュータシステム。
【請求項５６】
前記最初の隣接ブロックはＩ−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは０である加重値を備えることを特徴とする請求項５３に記載のコンピュータシステム。
【請求項５７】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供し、前記動きベクトルは、総括的に１つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動して各反復ごとに改善された動きベクトルを計算するステップをさらに含み、前記反復手順は各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーが前記反復の開始で前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項４１に記載のコンピュータシステム。
【請求項５８】
前記攝動はパラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項５７に記載のコンピュータシステム。
【請求項５９】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項５７に記載のコンピュータシステム。
【請求項６０】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び／または以後の少なくとも１つの他のフレーム内の対応するブロックと関連させる少なくとも１つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング（ＭＣＴＦ）を行って低時間フレーム及び高時間フレームを生成するステップと、をさらに含み、前記参照フレームは、少なくとも１つの他のフレームのうち１つであることを特徴とする請求項４１に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にビデオフレームを処理する方法、システム、コンピュータプログラム製品及びコンピュータシステムに係り、より詳細には、動き補償時間フィルタリング（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｔｅｍｐｏｒａｌ  Ｆｉｌｔｅｒｉｎｇ：ＭＣＴＦ）スケーラブルビデオコーダで可変サイズブロックに対する重複されたブロック動き補償（Ｏｖｅｒｌａｐｐｅｄ  Ｂｌｏｃｋ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ：ＯＢＭＣ）を行う方法、システム、コンピュータプログラム製品及びコンピュータシステムに関する。
【背景技術】
【０００２】
現在用いられるスケーラブルビデオコーダでの可変サイズブロックマッチング（Ｖａｒｉａｂｌｅ  Ｓｉｚｅ  Ｂｌｏｃｋ  Ｍａｔｃｈｉｎｇ：ＶＳＢＭ）は、ブロック境界で劣悪なマッチングを発生させる傾向があり、これにより、低いコーディング効率を発生させる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、従来の技術でのスケーラブルビデオコーダでＶＳＢＭによって提供されるブロック境界でさらに高い動きマッチング正確性を有させる必要がある。
【課題を解決するための手段】
【０００４】
本発明の一側面によれば、ビデオフレームを処理する方法において、少なくとも相異なる大きさの２個のブロックを備えるブロックに分離された現在フレームを提供するステップと、それぞれのブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップを含み、前記ＯＢＭＣが行われるブロックはセルフブロックで示し、前記ＯＢＭＣを行うステップは前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを備え、前記隣接ブロックは前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣを行うステップは、前記セルフブロック及び前記セルフブロックの各隣接ブロックに対する加重ウィンドウを生成するステップを含むことを特徴とする方法を提供する。
【０００５】
本発明の他の側面によれば、その内部にコンピュータで読取り可能なプログラムコードを備えるコンピュータプログラム製品において、前記コンピュータで読取り可能なプログラムコードは、ビデオフレームを処理する方法を具現するのに適したアルゴリズムを備え、前記方法は、少なくとも２つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、各ブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップを含み、前記ＯＢＭＣが行われるブロックをセルフブロックと言い、前記ＯＢＭＣ実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣ実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを備えることを特徴とするコンピュータプログラム製品を提供する。
【０００６】
本発明のさらに他の側面によれば、プロセッサー及び前記プロセッサーに連結されたコンピュータで読取り可能なメモリ部を備えたコンピュータシステムにおいて、前記メモリ部は、前記プロセッサーによって実行されてビデオフレームを処理する方法を具現する命令を含み、前記方法は、少なくとも２つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、各ブロックに対して重複されたブロック動き補償（ＯＢＭＣ）を行うステップとを含み、前記ＯＢＭＣが行われるブロックをセルフブロックと言い、前記ＯＢＭＣ実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するＯＢＭＣを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するＯＢＭＣ実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを含むことを特徴とするコンピュータシステムを提供する。
【発明の効果】
【０００７】
本発明は、従来の技術に比べて、スケーラブルビデオコーダ環境下で可変サイズブロックマッチングによって提供されるブロック境界で動きマッチング正確性をさらに向上させうる。
【発明を実施するための最良の形態】
【０００８】
以下で、序論、動き補償時間フィルタリング（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｔｅｍｐｏｒａｌ  Ｆｉｌｔｅｒｉｎｇ：ＭＣＴＦ）、Ｉ−ブロックの検出及び処理、ＯＢＭＣ処理、縮少スキーム、反射スキーム、ＯＢＭＣ加重ウィンドウアルゴリズム、ＯＢＭＣの反復、向上−基盤ＭＣＴＦの変更、及びコンピュータシステム部分に分けて本発明について詳細に説明する。
【０００９】
序論
ビデオ圧縮方式は、入力ビデオ信号の伝送に先立ち、前記入力ビデオ信号のフレームによって構成された近似的な映像を表現する圧縮された情報で前記入力ビデオ信号のフレームをエンコーディングすることによって前記入力ビデオ信号から余分の（ｒｅｄｕｎｄａｎｔ）情報を除去する。目的地に圧縮された情報を伝送すれば、ビデオ信号は圧縮された情報から近似的な映像をデコーディングすることによって再構成される。時間的リダンダンシーにおいて、画素値は独立しておらず、入力ビデオ信号の連続的なフレームに亙ってそれらの隣り合いと相互関連している。
【００１０】
動映像専門家グループ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ：ＭＰＥＧ）のハイブリッドコーディング方式で、時間的リダンダンシーは動き−補償予測（Ｍｏｔｉｏｎ−Ｃｏｍｐｅｎｓａｔｅｄ  Ｐｒｅｄｉｃｔｉｏｎ：ＭＣＰ）によって除去しうる。ビデオ信号は、しばしば一連のピクチャーグループ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ：ＧＯＰ）に分割され、各ＧＯＰは、イントラコーディングされたフレーム（Ｉ）から始まり、前方予測コーディングされたフレームＰ及び双方向予測されたフレームＢからなる配列が後続する。前記Ｐ−フレーム及びＢ−フレームはいずれもインターフレームである。Ｐ−フレーム内のターゲットマクロブロックは過去の参照フレームから予測しうる（前方予測）。動き補償（ＭＣ）補間とも呼ばれる双方向予測はＭＰＥＧビデオの重要な特徴の１つである。双方向予測コーディングされたＢ−フレームは、過去と未来とで１つずつ２個の参照フレームを用いる。Ｂ−フレーム内のターゲットマクロブロックは、過去の参照フレームから予測されるか（前方予測）、未来の参照フレームから予測されるか（逆方向予測）、あるいは過去と未来との各参照フレームから各々予測された２個の予測マクロブロックの平均値（補間）によって予測しうる。Ｐ−フレームまたはＢ−フレームのうちいずれか１つのターゲットマクロブロックは、以下で定義されるようにＩ−ブロックまたはＰ−ブロックとしてイントラコーディングされうる。
【００１１】
現在入力フレーム及び参照フレームいずれもで画素の輝度及び／または色差値を考慮し、以前のまたは以後の参照フレームそれぞれの内容に基づき、前方または逆方向予測は現在入力フレーム（すなわち、ピクチャー）内のデータを符号化する。したがって、予測符号化に用いられる参照フレームは、以前の参照フレームであるか、次の参照フレームである。現在入力フレーム内の所定の入力ブロックの画素（例えば、１６×１６配列の画素）に対して、予測符号化は所定の探索範囲内で、連続的に前記ブロックを参照フレーム内で移動させる動き補償予測（ＭＣＰ）を用いて、参照フレーム内で前記入力ブロックと少なくとも所定の最小相関関係の程度を有する１６×１６画素配列が存在しているかを決定する。もし、前記所定の最小相関関係程度を有する配列が存在するならば、発見された前記参照フレームの１６×１６画素配列と入力ブロック間の変位の大きさ及び方向が水平及び垂直成分を有する動きベクトル（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ：ＭＶ）形態で得られる。入力ブロックの画素値（例えば、輝度値、色差値）と前記発見された参照フレームの１６×１６画素配列内部の対応する画素との相対的な値の差は、動き補償予測エラー値である。前述したように、以前の参照フレームからの予測は前方予測と言及され、次の参照フレームからの予測は逆方向予測と言及される。もし、参照フレームで関連した１６×１６ブロックが探索範囲内で発見されていないならば、入力ブロックは、入力フレーム内でイントラコーディングされ、Ｉ−ブロックと言及される。双方向予測において、入力ブロックの値は、以前及び以後の参照フレーム各々に存在する２個の１６×１６ブロックに基づいて予測しうる。前述した１６×１６画素ブロックについての説明は、例示的なものに過ぎず、本発明による思想は他の多様な画素配列サイズを有する画素ブロックに対しても適用しうる。例えば、可変サイズブロックマッチング（ＶＳＢＭ）において、ブロックサイズは最小４×４である。
【００１２】
現在入力フレーム内部の非連結されたブロックはＩ−ブロックまたはＰ−ブロックのうちいずれか１つに分類される。Ｉ−ブロックは、フレームに関して前方または逆方向予測に用いられる参照フレーム内の対応するブロックの画素と十分な相関関係（例えば、所定の最小相関関係程度）を持たない現在入力フレーム内の入力ブロックと定義される。十分な相関関係の不足により、Ｉ−ブロックは、参照フレームと独立的に所定のフレーム内で全体としてエンコーディングされる。Ｐ−ブロックは、参照フレームが所定フレームに先行するという前提の下に参照フレームから前方予測により、参照フレームが所定フレームに後続するという仮定下で逆方向予測により、または以前及び以後の参照フレームをいずれも用いる双方向予測によってエンコーディングされる。
【００１３】
Ｉ−ブロックの例として以前のフレームで対応する画素を持たない現在入力フレーム内の新たに露出された画素のブロックを挙げられる。Ｉ−ブロックの他の例として、特に現在入力フレームで部分的に覆われるか、または部分的に閉鎖された画素のようによくマッチされない動きブロックが含まれる。ここで、よくマッチされない動きブロックは、参照フレームの対応するブロック画素と十分な相関関係を持てない。本発明は、Ｉ−ブロックを決定して符号化する方法を提供する。
【００１４】
本発明は、動きの品質に関連して、これは動き補償時間フィルタリング（ＭＣＴＦ）は、前記品質（ｑｕａｌｉｔｙ）に多少敏感であるからである。従来ＭＰＥＧ標準案でのブロック基盤動きはＭＣＴＦ及び結果的なケーラブルビデオコーダによって出力される低フレーム率のビデオで発生する欠陥を避け難いために、高い品質を提供するには十分ではない。現在、ＶＳＢＭも信頼性あるように欠陥を避けるには十分ではない。対照的に、本発明はＭＣＴＦ使用のためにさらに軟らかくて一貫性ある動きを決定し、コーディングする方法を提供する。
【００１５】
定義
本発明を説明するに当って使われる用語を次の通り定義する。
【００１６】
“ビデオコーディングシステム”は、ビデオデータを符号化するシステムである。
【００１７】
“ビデオコーダ”は、リダンダンシーを除去して制御された歪曲を導入することによって、ビデオクリップの保存に必要なビット数を減少させるアルゴリズムである。
【００１８】
“サブバンド／ウェーブレットコーダ”は、リダンダンシー減少過程においてサブバンド／ウェーブレット変換を使用するビデオコーダである。
【００１９】
“時間的相関関係”は、隣接したまたは近いフレームの画素間の相関関係である。
【００２０】
“空間的相関関係”は、同じフレーム内の画素間の相関関係である。
【００２１】
“動き予測”は、他のフレームのマッチングされるブロックを位置させる動きまたは変位ベクトルの予測である。
【００２２】
“動き補償（ＭＣ）”は、現在フレーム内のブロックを他のフレーム内のマッチングされるブロックに実際的に整列させる過程である。
【００２３】
“動き補償時間フィルタリング（ＭＣＴＦ）”は、後述する図２と関連して記述される方式であって、ブロックまたは画素の配列を時間軸（すなわち、動き経路（ｔｒａｊｅｃｔｏｒｙ））に沿ってフィルタリングする過程である。
【００２４】
“低（ｌｏｗ）時間フレーム”は、１対（またはさらに大きな集合）のフレームで共通する低い空間周波数を含むフレームである。
【００２５】
“高（ｈｉｇｈ）時間フレーム”は、１対（またはより大きな集合）のフレームでＭＣ差を構成する高い空間周波数を含むフレームである。
【００２６】
“時間的リダンダンシー”は、隣接したまたは近いフレームの画素間の相互依存性（ｄｅｐｅｎｄａｎｃｙ）を表す。
【００２７】
“ブロックマッチング”は、何れか１フレームから隣接したまたは近いフレームで画素ブロックの動きを予測する方法である。
【００２８】
“可変サイズブロックマッチング（Ｖａｒｉａｂｌｅ  Ｓｉｚｅ  Ｂｌｏｃｋ  Ｍａｔｃｈｉｎｇ：ＶＳＢＭ）”は、動きフィールドをさらによく表すために可変サイズブロックを使用するブロックマッチング動き予測である。ブロックサイズは、特に、４×４から６４×６４の範囲でありうる。
【００２９】
“階層的（Ｈｉｅｒａｒｃｈｉｃａｌ）ＶＳＢＭ（ＨＶＳＢＭ）”は、最も低い解像度から最も高い解像度に進みつつ、ＶＳＢＭを行うに当って階層的な空間解像度を用いる動き予測方法である。
【００３０】
“重複されたブロック動き補償（ＯＢＭＣ）”は、結果的な動き基盤予測をさらに軟らかくして隣接ブロック間のモーションベクトル不連続の効果を減すｒか、除去するブロック基盤動きを向上させる方法である。
【００３１】
“全域動きベクトル”は、関連したブロックサイズがフレームサイズと同じ全体フレームに用いられる動きベクトルである。
【００３２】
“非連結領域”は、参照フレームで対応する領域を持てないか、または動きが非常に複雑で動き予測者が的確に追いつけない映像フレーム領域である。
【００３３】
“動き補償予測（ＭＣＰ）”は、動きベクトルを現在フレームの予測のための使用に先立って以前に伝送されたフレームを移動（ｗａｒｐ）と、結果的な予測エラーのみを量子化して伝送するデータ減少技術である。
【００３４】
“変位フレーム差（Ｄｉｓｐｌａｃｅｄ  ｆｒａｍｅ  ｄｉｆｆｅｒｅｎｃｅ（ＤＦＤ）”）は、動き補償予測によって発生するエラーである。
【００３５】
“ハイブリッドコーダ”は、ＭＰＥＧ２のように時間的にデータを圧縮するためにフィードバックループ内でＭＣ予測を使用し、その後、結果的な予測エラーを空間変換コーディングするビデオコーダである。
【００３６】
動き補償時間フィルタリング（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｔｅｍｐｏｒａｌ  Ｆｉｌｔｅｒｉｎｇ：ＭＣＴＦ）
スケーラブルビデオコーディングは、国際標準化機構（ＩＳＯ）の動映像専門家グループ（ＭＰＥＧ）内で調査される分野である。ＭＰＥＧの目的は、結合されたオーディオ及びビデオ信号の伝送及び保存に関連した国際的な標準を用意するところにある。このための核心要素は、視聴覚的な信号の非圧縮時に大きなサイズによって、このような視聴覚的信号を圧縮するのにある。スケーラブルビデオコーダは、スケーラブルコーダに入力されるフル（ｆｕｌｌ）フレーム率及びフル解像度に付加し、あらゆる範囲のビットレート、さらに低い解像度及びさらに低いフレーム率を含む埋め込まれたビットストリームを提供する。前記埋め込みによって、さらに低いビット率結果はさらに高いビット率を有するストリーム各々に埋め込まれる。
【００３７】
図１は、本発明の望ましい実施形態によるビデオコーディングシステム５０を示す図である。入力ビデオ５１は、ＭＣＴＦ処理部５２によって受信され、１６個の入力フレームのようなピクチャーのグループ（ＧＯＰ）を含む。各フレームは、画素を有し、各画素は、輝度及び色差の画素特徴のための画素値を有する。ＭＣＴＦ処理部５２によって処理される各ブロックデータに対して、前記ＭＣＴＦ処理部５２は、動きベクトル形態の動き情報を必要とする。したがって、前記入力ビデオ５１のデータは、前記ＭＣＴＦ処理部５２から、動きベクトルを決定し、決定された動きベクトルを再び動き補償時間フィルタリングを行う前記ＭＣＴＦ処理部５２に伝送する動き予測部５６に伝送される。また、動き情報は、動きフィールドコーディング処理部５７でコーディングされた後、パケット化部５５に伝送される。特に、本発明による動きフィールドコーディング処理部５７は、コンテキスト基盤の適応型２進算術符号化（Ｃｏｎｔｅｘｔ  Ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｅｒ：ＣＡＢＡＣ）を用いてモーションベクトルをスケーラブルに符号化する。
【００３８】
ＭＣＴＦ処理部５２は、後述する図２についての説明で記述されるように、入力ビデオ５１の入力フレームから誘導される、変換された画素値を有する１つの低時間フレーム及び複数の高時間フレームを含む出力フレームを発生させる。発生した出力フレームは、サブバンドウェーブレットコーダ、すなわち、離散ウェーブレット変換を用いて空間的に分析されることによって、空間分析部５３によって処理される。ＭＣＴＦ処理部５２を使用することによって、ビデオコーディングシステム５０は、フィードバックループを有するハイブリッドコーダで見られる流動性（ｄｒｉｆｔ）問題を経ない。
【００３９】
空間分析部５３は、発生した出力フレーム（すなわち、１つの低時間フレーム及び複数個の高時間フレーム）を１つの低い周波数帯域及び益々高い周波数の増加するスケールを有する帯域に分解する。したがって、前記空間分析部５３は、時間領域で前記ＭＣＴＦ処理部５２によって行われる画素変換と類似した方式で空間サブバンドを誘導するための空間的画素変換を行う。空間分析部５３の出力は、圧縮されていない浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）データであり、複数のサブバンドは大部分０値近くの値で構成されうる。
【００４０】
空間分析部５３によって発生する空間で、このような空間サブバンドは品質／ビット率、空間解像度及びフレーム率に完全に埋め込まれていない時間的相関関係を用いるサブバンド／ウェーブレットコーダ系列のうち１つであるＥＺＢＣ（Ｅｍｂｅｄｄｅｄ  Ｚｅｒｏ  Ｂｌｏｃｋ  Ｃｏｄｅｒ）５４に伝送される。前記ＥＺＢＣ５４アルゴリズムは、各空間解像度と高時間サブバンドとを個別的にコーディングすることによって基本的なスケーラビティー（ｓｃａｌａｂｉｌｉｔｙ）特性を提供する。前記ＥＺＢＣ５４は、サブバンド係数を量子化し、前記量子化されたサブバンド係数にビットを割り当てる圧縮ブロックを含む。前記量子化は、前記空間分析部５３の浮動小数点の出力を２進ビット表現で変換し、次いで無視できる歪曲が発生する程度で前記２進ビット表現を短縮（ｔｒｕｎｃａｔｉｏｎ）することで、相対的に重要でないビットを廃棄する。前記ＥＺＢＣ５４は、固定されたビットストリングを可変長ストリングに変換し、その結果、追加的な圧縮を実現する適応的算術コーダである。したがって、前記ＥＺＢＣ５４は、量子化器及び条件付き適応的算術コーダ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｄａｐｔｉｖｅ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｅｒ）と呼ばれる可変長コーダである。一方、量子化器は、ビットを捨てるものであり、前記可変長コーダは前記量子化器からの出力を損失なく圧縮する。前記ＥＺＢＣ５４によって発生したビットストリームは、インターリービングされて前記パケット化部５５に伝送される。前記ＥＺＢＣコーダは、他の適した埋め込みまたは階層的コーダ、例えば、ＪＰＥＧ２０００などに代替されうる。
【００４１】
パケット化部５５は、前記ＥＺＢＣ５４によって発生したストリームのビットと動きフィールドコーディング部５７から伝送された（今後のデコーディングのために必要な）動きベクトルのビットを結合し、所望の大きさのパケット（例えば、５００キロバイトまたはそれ以下のインターネットパケット）にビットの組合わせを分解する。前記パケット化部５５は、連続的に前記パケットを通信チャンネルを通じて目的地（例えば、符号化されたビデオ情報を保存する所定の保存領域）に送る。
【００４２】
図２は、本発明の望ましい実施形態によって、例示的に１６個のフレームサイズを有するＧＯＰについて前記図１のＭＣＴＦ処理部５２によって具現されるＭＣＴＦ処理過程を示す図である。図２において、連続的なフィルタリングのＭＣＴＦ処理過程での５レベル、すなわち、各々１６、８、４、２及び１フレームを有するレベル５、４、３、２及び１を図示している。したがって、各レベルＮ（Ｎ＝１、２、３、４、５）は、２Ｎ−１個のフレームを含む。レベル５は、前記図１の入力ビデオ５１の１６個の入力フレーム、すなわち、左側から右に増加する方向の順序で配列された入力フレームＦ１，Ｆ２，…，Ｆ１６を含む。ＭＣ時間フィルタリングは次の下位時間スケールまたはフレーム率の低時間（ｔ−Ｌ）及び高時間（ｔ−Ｈ）サブバンドフレームを生成するためにフレーム対に対して行われる。図２において、実線は低時間フレームを示し、点線は高時間フレームを示す。各時間スケールで、曲線は対応する動きベクトルを示す。
【００４３】
図２で、ＭＣ時間フィルタリングは、４回実行されて５個の時間スケールまたはフレーム率、すなわち、元フレーム率及び４つのさらに低いフレーム率を発生させる。前記発生したフレーム率は、レベル５、４、３、２及び１各々でフルレート、１／２フルレート、１／４フルレート、１／８フルレート及び１／１６フルレートである。したがって、もし、入力フレーム率が秒当たり３２フレーム（ｆｒａｍｅｓ  ｐｅｒ  ｓｅｃｏｎｄ：ｆｐｓ）ならば、レベル１での最低結果フレーム率は２ｆｐｓである。図２で、最適フレーム率は、（１）と表示し、次の上位のフレーム率は（２）と表示した。
【００４４】
レベル５からレベル４までの動き予測及び関連した時間フィルタリングで、前記図１の動き予測部５６は、Ｆ１からＦ２、Ｆ３からＦ４、Ｆ５からＦ６、Ｆ７からＦ８、Ｆ９からＦ１０、Ｆ１１からＦ１２、Ｆ１３からＦ１４、及びＦ１５からＦ１６への動き予測を行って各々関連した動きベクトルＭ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５、Ｍ６、Ｍ７及びＭ８を決定する。前記図１のＭＣＴＦ処理部５２は、フレームＦ１及びＦ２に対した時間フィルタリングを行って低時間フレームＬ１及び高時間フレームＨ１を発生させ、フレームＦ３及びＦ４に対して時間フィルタリングを行って低時間フレームＬ２及び高時間フレームＨ２を発生させ、フレームＦ５及びＦ６に対して時間フィルタリングを行って低時間フレームＬ３及び高時間フレームＨ３を発生させ、フレームＦ７及びＦ８に対して時間フィルタリングを行って低時間フレームＬ４及び高時間フレームＨ４を発生させ、フレームＦ９及びＦ１０に対して時間フィルタリングを行って低時間フレームＬ５及び高時間フレームＨ５を発生させ、フレームＦ１１及びＦ１２に対して時間フィルタリングを行って低時間フレームＬ６及び高時間フレームＨ６を発生させ、フレームＦ１３及びＦ１４に対して時間フィルタリングを行って低時間フレームＬ７及び高時間フレームＨ７を発生させ、及びフレームＦ１５及びＦ１６に対して時間フィルタリングを行って低時間フレームＬ８及び高時間フレームＨ９を発生させる。一般的に、子フレームで対応する画素値をＶＡ及びＶＢとすれば、Ｈａａｒフィルターが時間フィルタリングに使われる特殊な場合において、低時間及び高時間フレームで対応する画素値は各々ＶＡ＋ＶＢ及びＶＡ−ＶＢに比例する。したがって、低時間フレームの画素値は、子フレームで対応する画素値の平均に比例する。逆に、高時間フレームの画素値は、子フレームで対応する画素値間の差に比例する。したがって、子フレームで画素値が互いに近ければ、高時間フレームの画素は低いエネルギー（すなわち、複数の値が０近くにある）を有し、これにより、さらに大きく圧縮しうる。
【００４５】
レベル４からレベル３への動き予測及び関連した時間フィルタリングにおいて、前記図１の動き予測部５６は、Ｌ１からＬ２、Ｌ３からＬ４、Ｌ５からＬ６、及びＬ７からＬ８への動き予測を行って各々関連した動きベクトルＭ９、Ｍ１０、Ｍ１１及びＭ１２を決定する。前記図１のＭＣＴＦ処理部５２は、フレームＬ１及びＬ２に対して時間フィルタリングを行って低時間フレームＬ９及び高時間フレームＨ９を発生させ、フレームＬ３及びＬ４に対して時間フィルタリングを行って低時間フレームＬ１０及び高時間フレームＨ１０を発生させ、フレームＬ５及びＬ６に対して時間フィルタリングを行って低時間フレームＬ１１及び高時間フレームＨ１１を発生させ、及びフレームＬ７及びＬ８に対して時間フィルタリングを行って低時間フレームＬ１２及び高時間フレームＨ１２を発生させる。
【００４６】
レベル３からレベル２への動き予測及び関連した時間フィルタリングで、前記図１の動き予測部５６は、Ｌ９からＬ１０、及びＬ１１からＬ１２への動き予測を行って各々関連した動きベクトルＭ１３及びＭ１４を決定する。前記図１のＭＣＴＦ処理部５２は、フレームＬ９及びＬ１０に対して時間フィルタリングを行って低時間フレームＬ１３及び高時間フレームＨ１３を発生させ、及びフレームＬ１１及びＬ１２に対して時間フィルタリングを行って低時間フレームＬ１４及び高時間フレームＨ１４を発生させる。
【００４７】
レベル２からレベル１への動き予測及び関連した時間フィルタリングで、前記図１の動き予測部５６は、Ｌ１３からＬ１４への動き予測を行って関連した動きベクトルＭ１５を決定する。前記図１のＭＣＴＦ処理部５２は、フレームＬ１３及びＬ１４に対して時間フィルタリングを行って低時間フレームＬ１５及び高時間フレームＨ１５を発生させる。
【００４８】
前記図２のＭＣＴＦ実行結果、この例示的な５個のレベルで低時間フレームＬ１５及び高時間フレームＨ１，Ｈ２，…，Ｈ１５で構成された１６個のフレームは、前記ＭＣＴＦ処理部５２から出力として前記図１の空間分析部５３に伝送される。前述したように、前記高時間フレームＨ１，Ｈ２，．．．，Ｈ１５は、複数の０値近くの値を含むために、前記高時間フレームＨ１，Ｈ２，．．．，Ｈ１５は高い圧縮が可能である。
【００４９】
Ｌ１５，Ｈ１，Ｈ２，．．．，Ｈ１５のフレームが与えられれば、レベル２、３、４及び５のフレームは、前記Ｌ１５，Ｈ１，Ｈ２，．．．，Ｈ１５のフレームを発生させる過程を順次に逆にすることによって、再生成しうる。例えば、レベル１のフレームＬ１５及びＨ１５は、数学的に結合されてレベル２のＬ１３及びＬ１４を再生成する。同様に、レベル２のＬ１３及びＨ１３は、数学的に結合されてレベル３のＬ９及びＬ１０フレームを再生成し、レベル２のＬ１４及びＨ１４は、数学的に結合されてレベル３のＬ１１及びＬ１２を再生成する。このような過程は、レベル１のＦ１，Ｆ２，．．．，Ｆ１６のフレームが再生成されるまで、順次に続くことができる。前記図１のＥＺＢＣ５４によって行われる圧縮は損失的であるために、前記レベル２−５の再生成されたフレームは時間的にフィルタリングされる前のレベル２−５の元のフレームと正確ではないが、概略的に同一である。
【００５０】
Ｉ−ブロックの検出及び処理
図２と関連して前述したように、ＭＣＴＦ分解は、複数のフレーム対に対して同様に適用されるために、前記図２の１つのレベルで代表的な１対の連続的なフレーム（例えば、レベル４のフレームＬ１及びＬ２）に焦点を合わせる。このような１対の連続的なフレームの２つの代表フレームをフレームＡ及びＢと表し、前方予測はフレームＡからフレームＢに実行され、フレームＡがフレームＢより時間的に先行される。フレームＢで新たに露出された画素はフレームＡに対応する画素がない。同様に、画素Ａで見られていない画素は、画素Ｂで対応する画素がない。本発明は、フレームＢで新たに露出される画素から誘発される劣悪にマッチングされる動きブロックを局部的に処理するためにＩ−ブロックを使用する。後述するように、本発明によって識別されるＩ−ブロックに対し、ＭＣ時間フィルタリングは省略され、代りにＩ−ブロックでの画素値を決定するために空間補間が用いられる。Ｉ−ブロックに対する結果的な空間補間エラーブロック（また“補間されたＩ−ブロックのレジデュアルエラーブロック”という）は、次に関連したＭＣＴＦ高時間フレームの対応するブロックにオーバーレイ（すなわち、挿入）される。
【００５１】
本発明は、入力フレームＡ及びＢを有する代表対のように、入力フレームの対において動き補償されたブロックを用いる時空間的または空間−時間変換を含むビデオ圧縮方法を開示する。このようなブロックは、多様な大きさを有して局部動きベクトルフィールドにマッチされるように選択され、高い空間変化度（ｇｒａｄｉｅｎｔ）を有するフィールドでは小さなブロックが存在し、空間変化度の小さいさらに平らな領域では大きいブロックが存在する。このようなブロック基盤動きフィールドは、時空間的変換を制御するのに利用され、概略的な動き経路に沿ってフィルターされる。このような変換の結果は、伝送または保存のために圧縮される。
【００５２】
例えば、静的な背景客体の前を通るボールのような動きによって、フレームで覆われるか、露出される領域のために一部のブロックは（時間上）、次のフレームの近所に連結されれないこともある。低いフレーム率のビデオでＭＣ時間フィルタリングが欠陥を招く恐れがあるために、そのような領域（すなわち、Ｉ−ブロック）はＭＣ時間フィルタリングに参加してはならない。このようなＩ−ブロックは、高時間フレームの他のブロック（すなわち、Ｐ−ブロック）に沿って圧縮される必要がある。Ｐ−ブロックは、空間補間を通じて非連結されたＩ−ブロックを空間的に予測するのに用いられる。したがって、このようなＩ−ブロックは、非ハイブリッド（ｎｏｎ−ｈｙｂｒｉｄ）ＭＣＴＦで処理されることが望ましい。
【００５３】
図３は、本発明の望ましい実施形態によって、ＭＣＴＦ高時間フレームでＩ−ブロックを用いるステップ３１−３８を示すフローチャートである。
【００５４】
ステップ３１において、１つのＭＣＴＦフィルタリングレベルで２つの連続的なフレームＡ及びＢを用いて、フレームＡからフレームＢに前方予測が行われる。例えば、フレームＡ及びＢは、前記図２のレベル５でフレームＦ１及びＦ２、または前記図２のレベル４のフレームＬ１及びＬ２を表しうる。
【００５５】
ステップ３２及び３３において、フレームＡ及びＢそれぞれの画素の連結状態を決定する。フレームＡ及びＢ内の各画素は次の通り“連結された”または“非連結された”もののうち、１つの連結状態を有すると分類される。図４は、フレームＡのＡ１，Ａ２，．．．，Ａ１２画素及びフレームＢのＢ１，Ｂ２，…，Ｂ１２画素を図示している。画素Ａ１，Ａ２，Ａ３及びＡ４は、フレームのＡのブロック１内に存在する。画素Ａ５，Ａ６，Ａ７及びＡ８は、フレームのＡのブロック２内に存在する。画素Ａ９，Ａ１０，Ａ１１及びＡ１２は、フレームのＡのブロック３内に存在する。画素Ｂ１、Ｂ２、Ｂ３及びＢ４は、フレームのＢのブロック１内に存在する。画素Ｂ５、Ｂ６、Ｂ７及びＢ８は、フレームのＢのブロック２内に存在する。画素Ｂ９、Ｂ１０、Ｂ１１及びＢ１２は、フレームのＢのブロック３内に存在する。フレームＡ内の画素は、フレームＡからフレームＢへの前方動き予測と関連してフレームＢ内の画素のための参照として用いられる。フレームＡ及びＢのブロックが４×４画素ブロックであり、前記図４は、単に各４個の列ブロックのうち、１つの列のみを示している点に留意せねばならない。図４において、フレームＢの１画素ＰＢから矢印で示すフレームＡの一画素ＰＡは前記画素ＰＢの参照として利用されている。例えば、フレームＡの画素Ａ１は、フレームＢの画素Ｂ１の参照として利用されている。
【００５６】
ステップ３２において、フレームＡの一画素は、フレームＢの如何なる画素によっても参照として利用されていないならば、非連結されたものと分類される。したがって、画素Ａ７及びＡ８は非連結された。フレームＡの一る画素はフレームＢの画素によって参照として利用されれば連結されたものである。したがって、画素Ａ１−Ａ６及びＡ９−Ａ１２は連結されたものである。しかし、画素Ａ３及びＡ４各々はフレームＢの１つ以上の画素によって参照として利用されているために、特別の取扱を必要とする。例えば、画素Ａ３は、フレームＢの画素Ｂ３及びＢ５によって参照として利用されており、本発明は画素Ｂ３及びＢ５両方に対するものではなく、画素Ｂ３または画素Ｂ５のうち、１つの参照として画素Ａ１を維持するための（下記で定義されるように）最小自乗−平均変位フレーム差（ｍｉｎｉｍｕｍ  ｍｅａｎ−ｓｑｕａｒｅｄ  ｄｉｓｐｌａｃｅｄ  ｆｒａｍｅ  ｄｉｆｆｅｒｅｎｃｅ（ＤＦＤ））計算に基づいたアルゴリズムを用いる。画素Ａ３は、フレームＡのブロック１の内部に存在し、画素Ｂ３はフレームＢのブロック１の内部に存在するという点を留意しつつ、前記アルゴリズムはフレームＡのブロック１とフレームＢのブロック１との間の自乗−平均ＤＦＤであるＤＦＤ１１を計算する。画素Ａ３は、フレームＡのブロック１の内部にあり、画素Ｂ５はフレームＢのブロック２内部にある点を留意しつつ、前記アルゴリズムはフレームＡのブロック１とフレームＢのブロック２との間の自乗−平均ＤＦＤであるＤＦＤ１２を計算する。もし、ＤＦＤ１１がＤＦＤ１２より小さければ、画素Ａ３は画素Ｂ３の参照として維持され、画素Ｂ５の参照としては脱落される。もし、ＤＦＤ１２がＤＦＤ１１より小さければ、画素Ａ３は画素Ｂ５の参照として維持され、画素Ｂ３の参照としては脱落される。もし、ＤＦＤ１１とＤＦＤ１２とが同一であれば、多様なタイブレーカー（ｔｉｅ−ｂｒｅａｋｅｒ）が利用されうる。このようなタイブレーカーの一例は画素Ｂ３及びＢ５のうち、いずれでも先に画素Ａ３を参照として利用する画素に対して、前記画素Ａ３が参照として維持され続ける“スキャン順序”である。２番目のタイブレーカーの例は、０と１との間の均一な分布から任意の数字Ｒを選択し、もし、前記Ｒが０．５より小さければ、前記画素Ａ３を画素Ｂ３の参照として維持するか、または前記Ｒが０．５以上ならば、前記画素Ａ３を画素Ｂ５の参照として維持することである。図４の例で、ＤＦＤ１１はＤＦＤ１２より小さく、画素Ａ３は画素Ｂ３の参照として維持され、画素Ｂ５の参照としては脱落される。類似すように、画素Ｂ４及びＢ６各々は、画素Ａ４を参照として用いて、前述したＤＦＤ−基盤のアルゴリズムは、前記画素Ａ４が前記画素Ｂ４またはＢ６両方のためのものでなく、前記画素Ｂ４またはＢ６のうちいずれか１つのための参照として維持されるのに用いられうる。図４の例で、画素Ａ４は画素Ｂ４の参照として維持され、前述したＤＦＤ−基盤アルゴリズムに基づいて画素Ｂ６の参照としては脱落された。
【００５７】
ステップ３３で、フレームＡの一画素がフレームＢの一画素以上によって参照として用いられる場合を解決するのにＤＦＤ−基盤アルゴリズムが適用された後、フレームＡの参照画素を利用しないフレームＢの一画素は連結していないものと表示される。例えば、前述したように、ＤＦＤ−基盤アルゴリズムを適用した後、画素Ａ３及びＡ４は各々画素Ｂ５及びＢ６の参照としては脱落された。したがって、画素Ｂ５及びＢ６は非連結された。他のフレームＢの画素は連結された。したがって、画素Ｂ１−Ｂ４及びＢ７−Ｂ１２は連結された。もし、前述したＤＦＤ−基盤アルゴリズムが実行されたとすれば（すなわち、フレームＡの画素の連結状態が決定された時）、画素Ａ３及びＡ４は既に画素Ｂ５及びＢ６の参照として脱落されたために、図４で画素Ｂ５から画素Ａ３を示す矢印及び画素Ｂ６から画素Ａ４を示す矢印は意味がなくなるという点を留意せねばならない。図４では、ステップ３３がステップ３２に後続して行われることを示しているが、前記ステップ３３は、ステップ３２以前に行われることもある。フレームＡの一画素がフレームＢの一画素以上で参照として用いられる場合を解決する前述したＤＦＤ−基盤のアルゴリズムは、前記ステップ３２及び３３が行われる以前に、行われる間にまたは実行された後で実行されうる。さらに他の例として、もし、ステップ３３がステップ３２に先立って行われるならば、前述したＤＦＤ−基盤のアルゴリズムはステップ３３以前、ステップ３３とステップ３２との間、またはステップ３２以後に実行されううる。
【００５８】
ステップ３２及び３３を行った結果として実際に必要なのは、フレームＡに関連したフレームＢの各画素の連結状態（すなわち、連結または非連結）である。したがって、ステップ３２は、省略できる。なぜなら、フレームＢの各画素の連結状態は、フレームＢの各画素に対するフレームＡの参照画素の情報を要求するものであって、フレームＡの各画素の連結状態に関する情報を要求するものではないためである。
【００５９】
フレームＡの一ブロックとフレームＢの一ブロックとの間の自乗−平均ＤＦＤは次のように定義される。ｎは、前記ブロックそれぞれの画素の数である。ＶＡ１，ＶＡ２，．．．，ＶＡｎをフレームＡのブロックの画素値（例えば、輝度または色差）と称する。ＶＢ１，ＶＢ２，．．．，ＶＢｎをフレームＢのブロックの対応する画素の値と称する。フレームＡのブロックとフレームＢのブロックとの間の前記自乗−平均ＤＦＤは次の式（１）のようである。
【００６０】
自乗−平均  ＤＦＤ  ＝  ［（ＶＡ１−ＶＢ１）２    ＋  （ＶＡ２−ＶＢ２）２  ＋  ．．．  ＋  （ＶＡｎ−ＶＢｎ）ｎ］  ／  ｎ        （１）
前述したＤＦＤ−基盤のアルゴリズムは、高性能のビデオコーダで用いられるように、サブ画素間の連結に関連してサブ画素正確度を有する動きベクトルにも適用されうる。サブ画素は、隣接した画素間の位置である。補間されたサブ画素は、前記ＤＦＤを計算するのに用いられる。したがって、参照画素が整数ではない時、既定の空間補間形態を使用することを除いては、ＤＦＤアルゴリズムに他の変化は不要である。例えば、分離可能な９−タブ（ｔａｐ）ＦＩＲ補間フィルターがこのような目的のために利用されうる。
【００６１】
図４のステップ３２及び３３が実行された後、フレームＡ及びフレームＢのあらゆる画素は“非連結された”または“連結された”ものに分類される。前述したＤＦＤ−基盤のアルゴリズムは、フレームＢの２つまたはそれ以上の画素からフレームＡの一参照画素への多重連結を除去するために、フレームＡの各“連結された”画素はフレームＢの一画素に正確に連結され、その反対の場合も同じである。
【００６２】
ステップ３４は、本発明の望ましい実施形態によって、フレームＢのブロックを“単一連結した（ｕｎｉ−ｃｏｎｎｅｃｔｅｄ）”または“非連結された”ものに分類する。一フレームの一ブロック内の画素の少なくとも分数Ｆが連結されていないならば、そのブロックは、“非連結された”ブロックである。そうでなければ、そのブロックは、“単一連結された”ブロックである。Ｉ−ブロックは、別途の処理時間を要求するために、前記分数Ｆは映像品質と処理時間のトレードオフ（ｔｒａｄｅ  ｏｆｆ）を反映する値を有する。前記分数Ｆは、特に、少なくとも０．５０（例えば、０．５０〜０．６０、０．５０〜０．７５、０．６０〜０．８０、０．５０〜１．００、０．３０〜１．００、０．５０〜１より小さな範囲内）の値を有する。フレームＢの単一連結されたブロック内の画素が連結されたフレームＡの参照画素を調べることによって、フレームＢの各単一連結したブロックに対するフレームＡのマッチングされたブロック（“フレームＡの単一連結されたブロック”と称する）が決定されうる。フレームＡ及びＢの結果的な単一連結されたブロックは単一連結されたブロックのマッチングされた対の集合を構成し、ここで各マッチングされた対はフレームＢの単一連結されたブロック及びフレームＡのマッチングされた単一連結されたブロックで構成される。単一連結されたブロックのマッチングされた対を各々フレームＡ及びフレームＢで第１及び第２の単一連結されたブロックと示す。
【００６３】
ステップ３５で本発明の望ましい実施形態によって、前記単一連結されたブロックのマッチングされた対の第１及び第２の単一連結されたブロックを次の再分類基準を満たす場合に非連結されたものと再分類する。Ｖ１及びＶ２を各々第１及び第２の単一連結されたブロックの画素分散という。一ブロックで画素分散はそのブロック内の画素値とそのブロックの平均画素値間の自乗−平均偏差である。ＶＭＩＮをＶ１及びＶ２の最小値と表示する。これにより、前記最初及び２番目のブロック間の自乗−平均ＤＦＤがｆＶＭＩＮ（ここで、ｆは０と１との間の実数）を超えれば、前記第１及び第２の単一連結されたブロックは、非連結されたブロックに再分類される。例えば、ｆは、特に、０．４〜０．６、０．５〜０．７、０．４〜０．７５、０．５〜０．９、０．４〜１．００などの範囲であり得る。ステップ３５が実行された後、フレームＢの各ブロックを“非連結された”または“連結された”ものに分類することが完了する。
【００６４】
ステップ３６で本発明の望ましい実施形態によって、フレームＢの非連結された各ブロックをＰ−ブロックまたはＩ−ブロックにカテゴリーを分ける。後述するように、Ｉ−ブロックは、前記Ｉ−ブロック外部の隣接した画素から抽出される空間的に補間された値によって代替された初期画素値を有する。Ｉ−ブロック画素の初期画素値と空間的に補間された画素値との差は、補間されたＩ−ブロック画素のレジデュアルエラーである。Ｉ−ブロック内のあらゆる画素でレジデュアルエラーのブロックは、Ｉ−ブロックのまたはＩ−ブロックと関連したレジデュアルエラーブロックと称する。
【００６５】
非連結されたブロックがＩ−ブロックであるか、またはＰ−ブロックであるかを決定するために、補間されたＩ−ブロックが形成され、そのレジデュアルエラーブロックが計算され、レジデュアルエラーブロック内のレジデュアルエラーの和（ＳＲＥＳ）の絶対値も計算される。ＳＲＥＳは、“レジデュアル補間エラー”とも呼ぶ。レジデュアルエラーは、レジデュアルエラーブロックの画素でのエラーである。また、前方及び逆方向動き補償予測は非連結されたブロックに対して行われる。前方及び逆方向動き補償予測エラーのＤＦＤ絶対値の和が計算される。前記前方及び逆方向動き補償予測エラーのＤＦＤ絶対値の和の最小値（ＳＭＣ−ＭＩＮ）が決定される。ＳＭＣ−ＭＩＮは、また非連結されたブロックの“最小動き補償エラー”とも称する。非連結されたブロックは、ＳＲＥＳがＳＭＣ−ＭＩＮより小さくなければ、Ｐ−ブロックに分類される。
【００６６】
ステップ３７で、本発明の望ましい実施形態によって前記ステップ３６で決定されたＩ−ブロックは、利用可能な隣接画素から空間補間によって処理され、前記補間されたＩ−ブロックと関連したレジデュアルエラーブロックが生成される。一フレーム内のブロックは固定されたサイズまたは可変サイズを有することができる。後述するように、図５−７及び９は、本発明の望ましい実施形態によって固定されたブロックサイズを有する場合の補間についてのものであり、図８は可変ブロックサイズを有する場合の補間についてのものである。
【００６７】
ステップ３８で、補間されたＩ−ブロックと関連したレジデュアルエラーブロックは、前記図２の空間分析部５３の実行後に前記ＥＺＢＣ５４による関連高時間フレームの圧縮のために、分析されているフレーム対Ａ及びＢに関係された関連した高時間フレームにオーバーレイ（すなわち、その内部に位置）される。後述する図７Ｃでは、前記レジデュアルエラーブロックが多数の０値近くの値を有し、これによって効率的な圧縮に適しているということを図示している。
【００６８】
図５は、Ｉ−ブロック、Ｐ−ブロック、及び単一連結されたブロックを含むフレームを示す。前記Ｉ−ブロックは、ブロック１−３を含み、Ｐ−ブロック及び単一連結されたブロックは、ブロック４−１０を備える残りのブロックを含む。各Ｉ−ブロックは、４つの可能な隣接したブロック：上側ブロック、下側ブロック、左側ブロック及び右側ブロックを有する。ここで、用いられる補間アルゴリズムで、一フレームのブロックはスキャン順序によって処理され、単に“利用可能な”ブロック（すなわち、画素値を有する以前に処理されたＩ−ブロック、元のデータを有するＰ−ブロック、及び／または単一連結されたブロック）は空間補間のために使われうる。例えば、図５でブロック１に対して左側から右側及び上側から下側のスキャン順序を使用すれば、ブロック２及びブロック３はいずれも利用できないために、隣接ブロック４−５のみがブロック１の空間補間のために利用されうる。しかし、ブロック２において、ブロック１が補間された後でブロック２の空間補間のために利用可能な４個の隣接ブロック、すなわち、ブロック１及び６−８が存在する。同様に、ブロック１が補間された後に、ブロック３の空間補間のために利用可能な４個の隣接ブロック、すなわち、ブロック１及び８−１０が存在する。
【００６９】
空間補間は前述した左側から右側及び上側から下側のスキャニング規則のようなラスタースキャニング規則によって行われる。利用可能な隣接ブロック及びその位置に基づいて他の補間関数が存在する。図６は、次の表示を示したものである：“ｕ”は上側の隣接画素、“ｌｗ”は下側の隣接画素、“ｌｆ”は左側の隣接画素、“ｒ”は右側の隣接画素、“ｉｎ”はＩ−ブロックで補間された画素値を表す。補間は、線形的であるか、非線形的であり、多様な相異なる補間方式が利用されうる。
【００７０】
図７Ａなしい図７Ｃ（包括的に“図７”と称する）は、１つの隣接ブロックのみが利用可能な場合を示す図である。図７Ａの４×４画素サイズのＩブロック４０は列セグメント４１−４４によって定義され、ブロック４０上側の隣接した上側ブロックで列セグメント４５のみが利用可能な隣り合いと仮定する。図７Ａで、Ｉ−ブロック４０に対して図示された例示的な画素値は空間補間以前の初期値である。列セグメント４５の画素値は、空間補間のために使われる。このような場合のために、表１のＣ−コードが空間補間を実施するために用いられる。
【００７１】
【表１】
2007509542.tif 000003
図７Ｂは、前記表１のＣ−コードの実行結果によるＩ−ブロック４０の結果的な補間された値を示す図である。図７Ｃは、前記図７Ａの初期画素値から前記図７ｂの補間された画素値を差し引いて決定されたレジデュアルエラーブロックを示す図である。図７Ｃに示されたレジデュアルエラーブロックは、図２のＥＺＢＣ５４による関連した高時間フレームの圧縮のために、分析されているフレーム対Ａ及びＢに関連した高時間フレーム内にオーバーレイ（すなわち、位置）される。図７Ａないし図７Ｃは、上側の隣接画素のみが補間のために利用可能な実施形態について説明したが、左側、右側または下側の隣接画素のみ補間のために利用可能な場合にも前述した上側隣接画素を利用した場合から、または適切な座標回転を通じて同様に推論されうる。
【００７２】
表２及び表３は、２個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表２は、図６に図示された表示によって上側及び左側位置の利用可能な隣接画素を用いて４×４  Ｉ−ブロックでｉｎ［０］．．．ｉｎ［１５］の補間された画素値（図６参照）を計算するための公式を具体化したものである。表３は、図６に示された表示によって上側及び下側位置の利用可能な隣接画素を用いて４×４  Ｉ−ブロックでｉｎ［０］．．．ｉｎ［１５］の補間された画素値を計算するＣ−コードを具体化したものである。
【００７３】
【表２】
2007509542.tif 000004
２つの隣接ブロックが利用可能な場合の他の実施形態も各々表２及び３と関連して前述した前記“上側及び左側”または“上側及び下側”隣接した場合と類似するように誘導されるか、または適切な座標回転を通じて誘導されうる。
【００７４】
表４は、３個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表４は、図６に示された表示によって上側、左側及び右側位置の利用可能な隣接画素を用いて４×４Ｉ−ブロックでｉｎ［０］．．．ｉｎ［１５］の補間された画素値（図６参照）を計算するＣ−コードを具体化したものである。
【００７５】
【表３】
2007509542.tif 000005
３つの隣接ブロックが利用可能な場合の他の実施形態も各々表４と関連して前述した前記“上側、左側及び右側”に隣接した場合と類似して誘導されるか、または適切な座標回転を通じて誘導されうる。
【００７６】
表５は、４個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表５は、図６に示された表示によって上側、下側、左側及び右側位置の利用可能な隣接画素を用いて４×４Ｉ−ブロックでｉｎ［０］．．．ｉｎ［１５］の補間された画素値（図６参照）を計算するＣ−コードを具体化したものである。
【００７７】
【表４】
2007509542.tif 000006
図８は、ブロックサイズが４×４から６４×６４範囲の５−レベル階層的可変サイズブロックマッチングから発生する可変ブロックサイズの場合を示す図である。図８の例で、Ｉ−ブロック１１、１２が図示された。ブロック１１は、８×８画素サイズを有し、ブロック１２は４×４画素サイズを有する。Ｉ−ブロック１１、１２が前述した左側から右側及び上側から下側のスキャニング順序（すなわち、ブロック１２が補間された以前にブロック１１が補間される）によって処理されるならば、ブロック１２はブロック１１の補間に用いられない。補間を簡単化するために、ブロック１１は、補間目的のために４個の分離された４×４  Ｉ−ブロックからなり、空間補間は固定された−ブロック補間として具現されうる。
【００７８】
図９Ａないし図９Ｆ（包括して、“図９”と称する）は、本発明の望ましい実施形態によるＩ−ブロックの画素値を決定する方向空間補間方式を示す図である。図９Ａないし図９Ｆは、フレーム６０の一部分内の４×４  Ｉ−ブロック６１を示す。フレーム６０の部分は、画素Ｐ１１…Ｐ９９）を含む。Ｉ−ブロック６１は、画素Ｐ２２、Ｐ２３、Ｐ２４、Ｐ２５、Ｐ３２、Ｐ３３、Ｐ３５、Ｐ４２、Ｐ４３、Ｐ４４、Ｐ４５、Ｐ５２、Ｐ５３、Ｐ５４及びＰ５５を含む。図９Ａないし図９Ｆで、Ｉ−ブロック６１内に存在していないあらゆる画素はＩ−ブロック６１の画素の隣り合いである。Ｉ−ブロック６１の画素の補間は、図９Ａに示されたように、Ｘ軸と固定された角度θを有する平行線のうち１本、すなわち、ライン６６に沿う。図９Ｂないし図９Ｆの各図は、他のθ値を有する場合の実施形態を表す。例示的にθ値を予測し、説明の便宜上、各画素は正四角形であると仮定する。したがって、図９Ａで、画素Ｐ２５、Ｐ３４、Ｐ４３及びＰ５２の対向する頂点を対角線に貫通するライン６６によるθ＝４５゜である。もちろん、前記画素が長方形や非長方形を有する場合、前記図９Ａのライン６６によるθは４５°と異なる。ここで、θ及びθ＋１８０は、同じ集合の平行線を表すという点に留意せねばならない。このような各ラインに沿う補間は前記ライン上の利用可能な最近接隣り合いの画素値を用いて、ここで、利用可能な隣り合いは以前に設立された画素値を有する隣り合いである。方向補間方式は平行線の各ラインに対して少なくとも１つの隣り合いが常に利用可能であるということを仮定する。
【００７９】
図９Ｂは、平行線６３、６４，．．．，６９に対してθ＝４５゜である場合の方向補間を示す図である。前記ライン６３、６４，．．．，６９を“方向ライン”と呼ぶ。ライン６３は、画素Ｐ２２を貫通するために、ライン６３は、次のような隣り合い：Ｐ１３及びＰ３１が両方利用可能な場合、Ｐ１３及びＰ３１隣り合い、Ｐ１３は利用可能であるが、Ｐ３１は利用可能でない場合、Ｐ１３隣り合い、またはＰ３１は利用可能であるが、Ｐ１３は利用可能でない場合のみにＰ３１隣り合いを用いた補間に基づいて画素Ｐ２２の画素値を決定するのに用いられる。ライン６４は、画素Ｐ２３及びＰ３２を貫通するために、ライン６４は次のような隣り合い：Ｐ１４及びＰ４１が両方利用可能な場合Ｐ１４及びＰ４１隣り合い：Ｐ１４は利用可能であるが、Ｐ４１は利用可能でない場合、ただＰ１４隣り合い、またはＰ４１は利用可能であるが、Ｐ１４は利用可能でない場合、ただＰ４１隣り合いを用いる補間に基づいて画素Ｐ２３及びＰ３２の値を決定するのに用いられる。同様に、ライン６５、６６、６７、６８及び６９による補間は各々（Ｐ２４、Ｐ３３、Ｐ４２）、（Ｐ２５、Ｐ３４、Ｐ４３、Ｐ５２）、（Ｐ３５、Ｐ４４、Ｐ５３）、（Ｐ４５、Ｐ５４）及び（Ｐ５５）の画素値を決定するのに用いられる。
【００８０】
ライン６７−６９は、最近接隣り合いの代替可能性を表す。例えば、ライン６８は、Ｉ−ブロック６１の対向側境界で（Ｐ３６、Ｐ２７及びＰ１８）及び（Ｐ６３、Ｐ７２及びＰ８１）隣り合いを有する。（Ｐ３６、Ｐ２７及びＰ１８）隣り合いのうち、利用する隣り合いを決定するに当って、前記画素Ｐ３６が（Ｐ３６、Ｐ２７及びＰ１８）隣り合いのうち、最近接隣り合いであるために、利用可能であれば、方向補間は画素Ｐ３６を用いる。もし、画素Ｐ３６が利用可能でなければ、前記画素Ｐ２７が隣り合い（Ｐ２７及びＰ１８）のうち、最近接隣り合いであるために、利用可能であれば、方向補間は画素Ｐ２７を用いる。もし、画素Ｐ２７が利用可能であれば、残っている画素Ｐ１８を用いる。もし、画素Ｐ２７が利用可能でなければ、方向補間は前記画素（Ｐ３６、Ｐ２７及びＰ１８）のうち、いかなる画素も利用しない。同様に、方向補間は、前記利用可能な最近接隣り合いの判断基準に基づいて隣接画素Ｐ６３、Ｐ７２及びＰ８１のうち、一画素を選択する。したがって、最近接隣り合いの判断基準を適用した結果として、画素Ｐ４５及びＰ５４の画素値を決定するためのライン６８に沿う方向補間は次のような隣り合いの組合わせ：Ｐ６３のみ、Ｐ７２のみ、Ｐ８１のみ、Ｐ６３及びＰ３６、Ｐ６３及びＰ２７、Ｐ６３及びＰ１８、Ｐ７２及びＰ３６、Ｐ７２及びＰ２７、Ｐ７２及びＰ１８、Ｐ８１及びＰ３６、Ｐ８１及びＰ２７、Ｐ８１及びＰ１８、Ｐ３６のみ、Ｐ２７のみ、Ｐ１８のみのうち、１つを用いる。
【００８１】
隣接画素Ｐ３６及びＰ６３が両方利用可能であるという仮定下で、画素Ｐ４５及びＰ５４の画素値を決定するためのライン６８に沿う線形補間のための方向補間が次に図示される。図９Ｂでは、ライン６８に沿うポイントＱ０、Ｑ１、Ｑ２、Ｑ３及びＱ４を図示している。前記ポイントＱ０、Ｑ１、Ｑ２、Ｑ３及びＱ４は、各々画素Ｐ２７、Ｐ３６、Ｐ４５、Ｐ５４及びＰ６３に置かれたライン６８部分の中間点に位置する。Ｄ１２、Ｄ１３及びＤ１４は各々ポイントＱ１とポイントＱ２、Ｑ３、Ｑ４間の距離を示す。Ｆ１２１４及びＦ１３１４は、各々Ｄ１２／Ｄ１４及びＤ１３／Ｄ１４を示す。Ｖ３６及びＶ６３は、各々画素Ｐ３６及びＰ６３での画素値を示す。これにより、画素Ｐ４５及びＰ５４での画素値は各々（１−Ｆ１２１４）×Ｖ３６＋Ｆ１２１４×Ｖ６３及び（１−Ｆ１３１４）×Ｖ３６＋Ｆ１３１４×Ｖ６３である。
【００８２】
ライン６８に沿う線形補間のための方向補間は、隣接画素Ｐ３６は利用できず、隣接画素Ｐ２７は利用できる場合、補間を行う方法に対する疑問が提起される。Ｖ２７が画素Ｐ２７の画素値を表すと、Ｖ２７は補間数式でＶ３６が現れる部分ごとにＶ３６を代替しうる。しかし、本発明の範囲は、ライン６８に沿う距離を扱うに当って３つのオプションを含む。
【００８３】
最初のオプションは、補間公式でＦ１２１４及びＦ１３１４パラメータを維持するものであって、これは利用可能な最近接隣り合いとして画素Ｐ３６が画素Ｐ２７に代替された場合にも、距離を測定するに当って参照としてポイントＱ１を用いるものと概念的に同一である。最初のオプションにおいて、画素Ｐ４５及びＰ５４での画素値は各々（１−Ｆ１２１４）×Ｖ２７＋Ｆ１２１４×Ｖ６３及び（１−Ｆ１３１４）×Ｖ２７＋Ｆ１３１４×Ｖ６３である。
【００８４】
２番目のオプションは、隣接画素Ｐ２７から始まるライン６８のポイントＱ０からの距離を用いることである。２番目オプションにおいて、Ｄ０２、Ｄ０３及びＤ０４は各々ポイントＱ０とポイントＱ２、Ｑ３及びＱ４間の距離を示す。Ｆ０２０４及びＦ０３０４は各々Ｄ０２／Ｄ０４及びＤ０３／Ｄ０４を示す。これにより、画素Ｐ４５及びＰ５４の画素値は各々（１−Ｆ０２０４）×Ｖ２７＋Ｆ０２０４×Ｖ６３及び（１−Ｆ０３０４）×Ｖ２７＋Ｆ０３０４×Ｖ６３である。
【００８５】
３番目のオプションは、最初のオプションと２番目のオプション間の折衷案を用いることである。最初の及び２番目のオプションで（Ｆ１２１４及びＦ１３１４）または（Ｆ０２０４及びＦ０３０４）のうち、１つを用いる代わりに、（Ｆ１２１４、Ｆ０２０４）ＡＶＥ及び（Ｆ１３１４、Ｆ０３０４）ＡＶＥパラメータが用いられる。ここで、（Ｆ１２１４、Ｆ０２０４）ＡＶＥはＦ１２１４及びＦ０２０４の加重または非加重平均であり、（Ｆ１３１４、Ｆ０３０４）ＡＶＥはＦ１３１４及びＦ０３０４の加重または非加重平均である。これにより、画素Ｐ４５及びＰ５４の画素値は、各々（１−（Ｆ１２１４、Ｆ０２０４）ＡＶＥ）＊２７＋（Ｆ１２１４、Ｆ０２０４）ＡＶＥ×Ｖ６３及び（１−（Ｆ１３１４、Ｆ０３０４）ＡＶＥ）＊２７＋（Ｆ１３１４、Ｆ０３０４）ＡＶＥ×Ｖ６３である。もし、（Ｆ１２１４、Ｆ０２０４）ＡＶＥ及び（Ｆ１３１４、Ｆ０３０４）ＡＶＥが加重平均であれば、ライン６８に沿ってポイントＱ２及びＱ３から画素Ｐ３６及びＰ２７の距離に関係なく、前記加重はライン６８に沿ってＩ−ブロック６１の映像品質に前記画素Ｐ３６及びＰ２７の相対的な重要性に関する外部的な知識のような外部要素に基づく。
【００８６】
図９Ｃないし図９Ｆは、θ値を除いて前記図９Ｂと類似している。図９Ｃで方向ライン７１ないし７４のθ＝９０゜である。画素Ｐ２２、Ｐ３２、Ｐ４２及びＰ５２での値は、隣接画素Ｐ１２、Ｐ６２、Ｐ７２、Ｐ８２及びＰ９２の部分集合を用いるライン７１に沿う補間から決定される。画素Ｐ２３、Ｐ３３、Ｐ４３及びＰ５３の値は、隣接画素Ｐ１３、Ｐ６３、Ｐ７３、Ｐ８３及びＰ９３の部分集合を用いるライン７２に沿う補間から決定される。画素Ｐ２４、Ｐ３４、Ｐ４４及びＰ５４の値は、隣接画素Ｐ１４、Ｐ６４、Ｐ７４、Ｐ８４及びＰ９４の部分集合を用いるライン７３に沿う補間から決定される。画素Ｐ２５、Ｐ３５、Ｐ４５及びＰ５５の値は、隣接画素Ｐ１５、Ｐ６５、Ｐ７５、Ｐ８５及びＰ９５の部分集合を用いるライン７４に沿う補間から決定される。
【００８７】
図９Ｄで、方向ライン８１ないし８７のθ＝１３５゜である。画素Ｐ５２の値は、隣接画素Ｐ４１、Ｐ６３、Ｐ７４、Ｐ８５及びＰ９６の部分集合を用いるライン８１に沿う補間から決定される。画素Ｐ４２及びＰ５３の値は、隣接画素Ｐ３１、Ｐ６４、Ｐ７５、Ｐ８６及びＰ９７の部分集合を用いるライン８２に沿う補間から決定される。画素Ｐ３２、Ｐ４３及びＰ５４の値は、隣接画素Ｐ２１、Ｐ６５、Ｐ７６、Ｐ８７及びＰ９８の部分集合を利用したライン８３に沿う補間から決定される。画素Ｐ２２、Ｐ３３、Ｐ４４及びＰ５５の値は、隣接画素Ｐ１１、Ｐ６６、Ｐ７７、Ｐ８８及びＰ９９の部分集合を用いるライン８４に沿う補間から決定される。画素Ｐ２３、Ｐ３４及びＰ４５の値は、Ｐ１２、Ｐ５６、Ｐ６７、Ｐ７８及びＰ８９の部分集合を用いるライン８５に沿う補間から決定される。画素Ｐ２４及びＰ３５の値は、隣接画素Ｐ１３、Ｐ４６、Ｐ５７、Ｐ６８及びＰ７９の部分集合を用いるライン８６に沿う補間から決定される。画素Ｐ２５の値は、隣接画素Ｐ１４、Ｐ３６、Ｐ４７、Ｐ５８及びＰ６９の部分集合を用いるライン８７に沿う補間から決定される。
【００８８】
図９Ｅで、方向ライン７６ないし７９のθ＝０゜（または１８０゜）である。画素Ｐ２２、Ｐ２３、Ｐ２４及びＰ２５の値は、隣接画素Ｐ２１、Ｐ２６、Ｐ２７、Ｐ２８及びＰ２９の部分集合を用いるライン７６に沿う補間から決定される。画素Ｐ３２、Ｐ３３、Ｐ３４及びＰ３５の値は、隣接画素Ｐ３１、Ｐ３６、Ｐ３７、Ｐ３８及びＰ３９の部分集合を用いるライン７７に沿う補間から決定される。画素Ｐ４２、Ｐ４３、Ｐ４４及びＰ４５の値は、隣接画素Ｐ４１、Ｐ４６、Ｐ４７、Ｐ４８及びＰ４９の部分集合を利用したライン７８に沿う補間から決定される。画素Ｐ５２、Ｐ５３、Ｐ５４及びＰ５５の値は、隣接画素Ｐ５１、Ｐ５６、Ｐ５７、Ｐ５８及びＰ５９の部分集合を用いるライン７９に沿う補間から決定される。
【００８９】
図９Ｆで、方向ライン１０１ないし１０５のθ＝２６．５６゜（すなわち、θは２／４の逆タンジェント）である。画素Ｐ２２及びＰ２３の値は、隣接画素Ｐ１３及びＰ１４の部分集合を用いるライン１０１に沿う補間から決定される。画素Ｐ３２、Ｐ３３、Ｐ２４及びＰ２５の値は、隣接画素Ｐ４１及びＰ１６の部分集合を用いるライン１０２に沿う補間から決定される。画素Ｐ４２、Ｐ４３、Ｐ３４及びＰ３５の値は、隣接画素Ｐ５１、Ｐ２６、Ｐ２７、Ｐ１８及びＰ１９の部分集合を利用したライン１０３に沿う補間から決定される。画素Ｐ５２、Ｐ５３、Ｐ４４及びＰ４５の値は、隣接画素Ｐ６１、Ｐ３６、Ｐ３７、Ｐ２８及びＰ２９の部分集合を用いるライン１０４に沿う補間から決定される。画素Ｐ５４及びＰ５５の値は、隣接画素Ｐ７１、Ｐ４６、Ｐ４７、Ｐ３８及びＰ３９の部分集合を用いるライン１０５に沿う補間から決定される。
【００９０】
図９Ａないし図９Ｆは、平行方向ラインに沿って空間補間を通じて決定されるＩ−ブロック内のあらゆる画素値に特徴がある方向空間補間を示す。対照的に、図７Ａないし図７Ｃ及び表１ないし５は、Ｉ−ブロック内のあらゆる画素値が、空間補間で用いられるＩ−ブロックを貫通する方向ラインを利用せずとも利用可能な最近接隣り合い空間補間によって決定される点に特徴がある非方向空間補間を示したものである。Ｉ−ブロックのさらに他の空間補間は、方向空間補間と非方向空間補間との結合を含むハイブリッド空間補間である。ハイブリッド空間補間において、少なくとも１つの方向ラインはＩ−ブロックの一部分の空間補間のために利用され、Ｉ−ブロックの一部画素値はＩ−ブロックを貫通する方向ラインを利用せずとも利用可能な最近接隣り合い空間補間を通じて決定される。方向空間補間またはハイブリッド空間補間が用いられる時、選択された方向及びハイブリッドマスクは付加情報としてコーディングされて伝送されねばならない。本発明の実施形態において、このような目的のために短い固定ハフマンコードを用いる。
【００９１】
図１０は、本発明の実施形態によるハイブリッド空間補間を示す図である。図１０は、（ライン１２１に沿う）画素Ｐ２５、Ｐ３４、Ｐ４３及びＰ５２、（ライン１２２に沿う）画素Ｐ３５、Ｐ４４及びＰ５３、（ライン１２３に沿う）画素Ｐ４５及びＰ５４、（ライン１２４に沿う）画素Ｐ５５の値を決定するための空間補間に用いられる方向ライン１２１−１２４を含む。しかし、画素Ｐ２２、Ｐ２３、Ｐ２４、Ｐ３２、Ｐ３３及びＰ４２の値は上側の最近接隣り合い画素Ｐ１２、Ｐ１３、Ｐ１４及び左側の最近接隣り合い画素Ｐ２１、Ｐ３１及びＰ４１を利用した非方向空間補間によって決定される。
【００９２】
前記図６ないし図１０及び表１ないし５と関連して前述した空間補間例に示されたように、所定の一フレーム内の各Ｉ−ブロックの画素の値は、前記所定フレーム内の各Ｉ−ブロックと関連した利用可能な最近接隣り合い画素の値に基づいた空間補間によって計算される。所定フレームの特定Ｉ−ブロック外側の所定画素は、前記所定画素が前記空間補間によるＩ−ブロックの画素値に潜在的に貢献するＩ−ブロックに十分に近いならば、Ｉ−ブロックと関連した隣接画素と呼ばれる。
【００９３】
前記図６ないし図１０及び表１ないし表５と関連して前述した補間によるＩ−ブロックの画素値を決定することに対する論議は線形補間に焦点を合わせた。しかし、本発明の範囲には、Ｉ−ブロック内の画素値に貢献する多様な隣接画素の相対的な重要性を活用するいかなる非方向補間方式であっても含まれる。
【００９４】
ＯＢＭＣ処理
本発明は、ビデオフレームの処理と関連した実施形態を開示し、本実施形態で処理される各フレームは少なくとも２個の異なる大きさを有するブロックを含むＭ個のブロックに分けられ、ここでＭは少なくとも９である。
【００９５】
伝統的なブロック動き補償において、処理されている現在フレームは画素のブロックに分けられ、現在フレームで各ブロックＢＣＵＲ０の画素は参照フレームで同じ大きさを有するブロックＢＲＥＦ０から予測される。現在フレームの画素のブロックＢＣＵＲ０は“現在ブロック”または“セルフブロック”と呼ぶ。現在フレームでセルフブロックＢＣＵＲ０は、参照フレームのブロックＢＲＥＦ０からモーションベクトルＶ０によって空間的にシフトされる。したがって、現在フレームの（ベクトルＰＣＵＲ０と識別される）セルフブロックＢＣＵＲ０内の画素位置Ｐ０での画素値ＩＣＵＲ０（ＰＣＵＲ０）は参照フレームのブロックＢＲＥＦ０でベクトル（ＰＣＵＲ０−Ｖ０）によって識別される画素位置での画素値ＩＲＥＦ（ＰＣＵＲ０−Ｖ０）と同じものと予測される。従属変数“ｌ”は、輝度及び／または色差画素値を表す。伝統的なブロック動き補償の短所は、ブロック境界で発生する不連続と関連する（ブロッキング欠陥）。不連続は、人間の視覚に敏感に認知されうる鋭い水平または垂直エッジの形態を有することができ、またレジデュアルフレームの変換コーディングに用いられるフーリエ関連変換でｒｉｎｇｉｎｇ効果（すなわち、高周波数サブバンドで大きい係数）を発生させうる。
【００９６】
重複されたブロック動き補償（ＯＢＭＣ）において、セルフブロックＢＣＵＲ０の最も近接した隣接ブロックはセルフブロックＢＣＵＲ０内の画素値を予測するのに利用されうる。例えば、最も近接した隣接ブロックは、セルフブロックＢＣＵＲ０の直ちに右側、下側、左側及び上側が４つの最も近接した隣接ブロックを含みうる。ここで、前記４つの最も近接した隣接ブロックは、各々モーションベクトルＶ１、Ｖ２、Ｖ３及びＶ４によって参照フレームＢＲＥＦ１、ＢＲＥＦ２、ＢＲＥＦ３及びＢＲＥＦ４の対応するブロックから空間的にシフトされたものであって、各々Ｂ１、Ｂ２、Ｂ３及びＢ４で表す。参照フレームのブロックＢＲＥＦ１、ＢＲＥＦ２、ＢＲＥＦ３及びＢＲＥＦ４は大部分参照フレームのＢＲＥＦ０の最も近接した隣接ブロックでない。加重値Ｗ（ＰＣＵＲ０）は（セルフブロックＢＣＵＲ０でベクトル（ＰＣＵＲ０）によって識別される）画素位置Ｐ０と関連する。加重値Ｗ（Ｐ１）、Ｗ（Ｐ２）、Ｗ（Ｐ３）及びＷ（Ｐ４）は各々最も近接した隣接ブロックＢ１、Ｂ２、Ｂ３及びＢ４内の画素位置Ｐ１、Ｐ２、Ｐ３及びＰ４と関連して、前記画素位置  Ｐ１、Ｐ２、Ｐ３及びＰ４は前記画素位置Ｐ０に対応する。ＯＢＭＣにおいて、画素位置Ｐ０での画素値ＩＣＵＲ０（ＰＣＵＲ０）は、Ｗ（ＰＣＵＲ０）＊ＩＲＥＦ０（ＰＣＵＲ０−Ｖ０）＋［Ｗ（Ｐ１）＊Ｉ（Ｐ１−Ｖ１）＋Ｗ（Ｐ２）＊Ｉ（Ｐ２−Ｖ２）  ＋Ｗ（Ｐ３−Ｖ３）＊Ｉ（Ｐ３−Ｖ３）＋Ｗ（Ｐ４）＊Ｉ（Ｐ４−Ｖ４）］と同じものと予測される。したがって、セルフブロックＢＣＵＲ０でベクトルＰＣＵＲ０によって識別される画素位置での予測された画素値は、参照フレームで変位された位置での最も近接した隣接ブロックから画素値の貢献度を考慮することによって、ブロック境界で発生する不連続を緩和する。セルフブロックＢＣＵＲ０内のあらゆる画素に対するＷ（ＰＣＵＲ０）を含む加重値の配列は、セルフブロックＢＣＵＲ０のための“加重ウィンドウ”を構成する。同様に、最も近接した隣接ブロック  Ｂ１、Ｂ２、Ｂ３及びＢ４内のあらゆる画素のための  Ｗ（Ｐ１）、Ｗ（Ｐ２）、Ｗ（Ｐ３）及びＷ（Ｐ４）を含む加重値の配列は、各々最も近接した隣接ブロック  Ｂ１、Ｂ２、Ｂ３及びＢ４のための加重ウィンドウを構成する。本発明によって加重ウィンドウ及びその生成の例は、後述するように、図１７、図１８、図２１及び図２２から提供される。
【００９７】
本発明は、可変ブロックサイズＯＢＭＣを開示する。現在フレームのブロックと参照フレームのブロックへの関係は、次の図１１及び図１２に示される。
【００９８】
図１１は、本発明の実施形態によって（例えば、カッドツリーアルゴリズム（ｑｕａｄ  ｔｒｅｅ  ａｌｇｏｒｉｔｈｍ）による）可変サイズブロックで形成された現在フレーム２４０を示す図である。現在フレーム２４０は、示されたように２２個のブロックを備える。図１１の各ブロックは、その最も近接した隣接ブロックを考慮してセルフブロックとして処理される。例えば、ブロック２４１がセルフブロックとして処理される場合を考慮する。セルフブロック２４１は、最も近接した隣接ブロック２４２−２４６を有する。セルフブロックは、その最も近接した隣接ブロックと同一か、さらに大きいか、またはさらに小さい。図１１で、セルフブロック２４１の大きさは、最も近接した隣接ブロック２４２と同一であり、最も近接した隣接ブロック２４５及び２４６より大きく、最も近接した隣接ブロック２４３及び２４４よりは小さい。
【００９９】
図１２は、本発明の望ましい実施形態によって図１１の現在フレーム２４０と参照フレーム２６０を、現在フレーム２４０のブロック２４１−２４６と参照フレーム２６０の対応するブロック２６１−２６６を各々リンクするベクトル２５１−２５６と共に示したものである。ベクトル２５１−２５の参照フレーム２６０上への一般投影は、ブロック２６１−２６６からブロック２４１−２４６のベクトル変位を表す動きベクトルである。参照フレーム２６０は、１つまたはそれ以上の参照フレームを表し、各参照フレームは固有の動きベクトルと現在フレームのブロックと関連したブロックを有する。これは現在フレームの各画素は１つの参照フレームまたは複数の参照フレームの対応する画素から予測できるためである。
【０１００】
本発明は、図３と関連して前述した入力フレームＡ及びＢを有する代表対のような入力フレームの対で動き補償されたブロックを用いる時空間的（ｓｐａｔｉｏｔｅｍｐｏｒａｌ）または空間−時間変換を含むビデオ圧縮方法を開示する。このようなブロックは、多様な大きさを有し、局部動きベクトルフィールドにマッチングされるように選択され、動きが大きい空間変化を有する所では小さなブロックが存在し、動きの空間変化の小さなさらに平らな領域では大きなブロックが存在する。前述した説明にもかかわらず、相異なるブロックの動きベクトルは、ブロックエッジを横切って連続的でない。その結果、１つのフレームを他のフレームから予測時に欠陥が発生しうる。本発明のＯＢＭＣは、現在ブロックのモーションベクトル及びその最も近接した隣接ブロックのモーションベクトルを用いる加重された推定の結合から予測を行うことによって、このような問題を解決する。本発明のＯＢＭＣは、反復的な（ｉｔｅｒａｔｉｖｅ）調整を通じてブロックモーションベクトルが改善された動きベクトルに到達できるように改善され、結果的なフレーム予測の正確性を増加させ、これによってコーディング効率を増加させる。本発明において、このような反復は、選択的に省略しうる。ＯＢＭＣを用いて得られたＭＣＴＦの出力は、その後、伝送または保存のために圧縮される。付加的に、モーションベクトルはオーバヘッドとしてレシーバーに伝達され、全体ビット率の約１０−１５％を占める。
【０１０１】
図１３Ａは、本発明の実施形態によって図２のＭＣＴＦ高時間フレームで可変ブロックサイズＯＢＭＣを用いるステップ２１１−２１４を示すフローチャートである。ステップ２１１以前に、現在フレームは、少なくとも２個の相異なる大きさを有するブロックを含むようにＭ個のブロックで形成され、ここでＭは少なくとも９である。ステップ２１１で可変サイズブロックマッチング（ＶＳＢＭ）を行って広く知られたように動きブロックのための初期ベクトルを獲得する（例えば、Ｏｓｔｅｒｍａｎｎ及びＺｈａｎｇの“Ｖｉｄｅｏ  Ｐｒｏｃｅｓｓｉｎｇ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ”、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ、ｐｐ．１８２−１８７（２００２））。ステップ２１２で現在フレームのブロックをＩ−ブロックまたは動きブロックのうち、いずれか１つに分類する。“動きブロック”は、Ｉ−ブロックでないブロックに定義される。非連結されたブロック（すなわち、Ｉ−ブロック及びＰ−ブロック）及び単一連結したブロックの検出及び分類は、図３のステップ３１−３６と関連して前述したことがある。図１５は、後述するように、Ｐ−ブロック、デフォルトブロック及びリバースブロックを含む動きブロックの多様な類型を示す。ステップ２１３で可変ブロックサイズＯＢＭＣを行って動きブロック及びＩ−ブロックのためのオーバーラップ緩和（ｓｍｏｏｔｈｉｎｇ）を提供する。ステップ２１４で、前記ステップ２１３で生成された動きフィールド（すなわち、緩和された動きブロック及び／またはＩ−ブロック）はＭＣＴＦによって処理される。
【０１０２】
図１３Ｂは、本発明の望ましい実施形態によって図１３のステップ２１３の可変ブロックサイズＯＢＭＣ処理を示すステップ２２１−２２３を説明するフローチャートである。現在フレームの与えられたセルフブロック及び関連した最も近接した隣接ブロックに対して、ステップ２２１でセルフブロックが動きブロックであるか、そうでなければ、Ｉ−ブロックであるか、及び最も近接した隣接ブロックが動きブロックであるか、そうでなければ、Ｉ−ブロックであるかを考慮して、セルフブロック及びそれと関連した最も近接した隣接ブロックのための加重ウィンドウを発生させる縮少スキームを実行する。もし、最も近接した隣接ブロックがＩ−ブロックであれば、ステップ２２１の縮少スキームは参照フレームを利用できない最近接隣り合いＩ−ブロック固有の不能性を説明する方式で加重ウィンドウの生成に影響を及ぼす反射（ｒｅｆｌｅｃｔｉｎｇ）スキームを実行するステップ２２２に進行する。
【０１０３】
ステップ２２１の縮少スキームの実行は与えられたセルフブロックのあらゆる最も近接した隣接ブロックに対して実行され、次いで、所定のスキャン順序上の指示順に現在フレームのあらゆるセルフブロックに対して行われる。ステップ２２３は、現在フレームの各セルフブロックに対する初期モーションベクトルが利用された場合に実行される。セルフブロックの前記初期モーションベクトルは、加重ウィンドウを生成するのに用いられるが、生成された加重ウィンドウを考慮した時、攝動された（ｐｅｒｔｕｒｂｅｄ）モーションベクトルの集合が現在フレームの画素値のさらに正確な予測を招けるので、前記初期モーションベクトルは最適の加重ウィンドウではないことがある。したがって、ステップ２２３は、反復処理を行って各反復が前記ステップ２２２で生成された加重ウィンドウを考慮して現在フレームで画素値の正確性を改善する方式で動きベクトルを撹乱させる。
【０１０４】
図１３Ｂのステップ２２１−２２３は、図１３Ａの可変ブロックサイズＯＢＭＣ処理ステップ２１３の簡略化された説明を反映したものである。次の図１６ないし図１８及び図２１及び図２２は、加重ウィンドウ生成を例示したものであって、後述する図２３で本発明の実施形態によって前記図１３Ｂのステップ２２１−２２２の可変ブロックサイズＯＢＭＣを詳細に説明したフローチャートを示すものである。また、後述する図２４で前記図１３Ｂのステップ２２３でモーションベクトルを改善する反復処理を詳細に説明したフローチャートを示すこものある。
【０１０５】
図１４は、本発明の実施形態によって図１３Ａ及び図１３Ｂのフローチャートと関連したフレーム処理のブロック図である。図１４は、次の順次に順序が決まっている処理を示している：すなわち、成分（ＹＵＶ）階層的可変サイズブロックマッチング（ＨＶＳＢＭ）動き推定２３１（図１３Ａのステップ２１１に対応）と、Ｉ−ブロック検出２３２（図１３Ａのステップ２１１に対応）と、可変ブロックサイズＯＢＭＣ実行２３３（図１３Ａのステップ２１３で行われる）と、ＭＣＴＦ処理２３４（図１３のステップ２１３に対応）と、及びＭＣ−ＥＺＢＣコーダ処理２３５順である。ＨＶＳＢＭ動き推定２３１は、スケーラブルコーダ２３６によって処理されるモーションベクトルを発生させる。ビットストリーム２３７は、ＥＺＢＣコーダ２３５によって発生したコーディングされた出力及びスケーラブルコーダ２３６によって発生したコーディングされた出力から形成される。
【０１０６】
図１４で、ＭＣＴＦ処理２３４は、順次にＩ−ブロック、Ｐ−ブロック、リバースブロック及びデフォルトブロックの処理で構成される。リバースブロック予測は、以前のＢフレームから最もよく予測されるブロックの予測を含む。デフォルトブロックの画素は親フレームＨのための“予測”ステップ及び親フレームＬのための“アップデート”ステップで実際的にＭＣフィルタリングに関与する画素を含む。
【０１０７】
図１５は、本発明の実施形態によって、ＭＣＴＦによって高時間フレームＨ及び低時間フレームＬに変換される２個の連続的な入力フレームＡ及びＢを表す。ＭＣＴＦ処理によってフレームＡ及びＢからＨ及びＬフレームを誘導することは、図２（及び前述した関連説明）で説明した。しかし、図２では、Ｈ及びＬフレームの時間的位置に対して他の選択が行なわれた。図２でＬフレームは入力フレームＡとして時間参照され、Ｈフレームは入力フレームＢとして時間参照された。一方、図１５では、Ｈフレームは入力フレームＡとして時間参照され、Ｌフレームは入力フレームＢとして時間参照された。実際に、いずれか１つの時間参照集合がいずれもよく作動すると現れ、現在ＭＣＴＦスケーラブルビデオコーダで提供されている。上書き“ｔ”及び“ｔ−１”は、各々現在時間ｔ及び以前時間ｔ−１を表す。両矢印によって示したように、前述したようなデフォルトブロックは（フレームＨのための）予測及び（フレームＬのための）アップデート処理過程にいずれも関与する。単一の矢印によって示したように、Ｐブロック、リバースブロック及びＩ−ブロックは、単に１つのフレーム、すなわち、Ｈフレームにのみ影響を及ぼす。アップデートはこのようなブロックに対して見られない。Ｉ−ブロックは、前述したように、単に空間補間／予測を用いるブロックを表す。Ｉ−ブロック検出後に、図１４Ａの可変サイズＯＢＭＣ実行２３３が行われる。
【０１０８】
ＯＢＭＣ方式で、本発明は一フレームのデコーディング以前にデコーダによって受信された如何なるデータでも最終的に用いられる真の予測スキームについての情報ソースとして見なされる。
【０１０９】
図１６は、本発明の実施形態によって現在フレームでセルフブロック及び４つの最も近接した隣接ブロックを示したものである。図１６で、セルフブロック２７０の４つの最近接隣接ブロックは、右側最近接隣り合い２７１、下側最近接隣り合い２７２、左側最近接隣り合い２７３、及び上側最近接隣り合い２７４である。後述する図１７及び図１８の図示的な例のために、セルフブロック及びその最も近接した隣接ブロックは同じ大きさを有するものと仮定する。用いられる加重ウィンドウは左側から右側及び上側から下側に対称的であると仮定する。
【０１１０】
図１７Ａ及び図１７Ｂ（総称して“図１７”と称する）は、本発明の実施形態によって４×４加重ウィンドウを示す図である。図１７Ａでセルフブロックは、動きブロックであり、図１７ＢでセルフブロックはＩ−ブロックである。図１７Ａはセルフブロックの加重ウィンドウ２７０Ａ及び右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロックそれぞれのウィンドウ２７１Ａ、２７２Ａ、２７３Ａ及び２７４Ａを表す。図１７Ｂは、セルフブロックの加重ウィンドウ２７０Ｂ及び右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロックそれぞれのウィンドウ２７１Ｂ、２７２Ｂ、２７３Ｂ及び２７４Ｂを表す。
【０１１１】
例示的な目的のために図１７Ａを用いて、次の規定が図１７及び図１８及び図２１及び図２２の例で加重ウィンドウを表すのに用いられる。セルフブロック加重ウィンドウ２７０Ａにおいて、図１７Ａに図示された画素加重値は物理的画素位置での対応する画素値と同じ相対的な画素位置にある。しかし、最も近接した隣接ブロックにおいて、図１７Ａに示された画素加重値各々は物理的な画素位置で対応する画素値と反対に整列されて表示された。例えば、図１７Ａでセルフブロック加重ウィンドウ２７０Ａ及びその上側の隣り合い加重ウィンドウ２７４Ａにおいて、上側の隣り合い加重ウィンドウ２７４Ａの最上側列２７６Ａの加重値１１１１は（物理的な画素位置観点で）セルフブロック加重ウィンドウ２７０Ａの最上側列２７７Ａの画素のためなものである。さらに他の例として、図１７Ａでセルフブロック加重ウィンドウ２７０Ａ及びその右側隣り合い加重ウィンドウ２７１Ａにおいて、右側の隣り合い加重ウィンドウ２７１Ａの最右側列２７８Ａの加重値１１１１は、セルフブロック加重ウィンドウ２７０Ａの最右側列２７９Ａの画素のためのものである。
【０１１２】
前述した規定は、もし、最近接隣り合い加重ウィンドウがセルフブロック加重ウィンドウ２７０Ａ上に重畳される場合、最も近接した隣接ブロックの加重ウィンドウで該当行列位置の加重値と直下のセルフブロック加重ウィンドウの該当行列位置の加重値が本発明のＯＢＭＣ計算において同じ物理的画素のための加重値として用いられるという視覚的な長所を有する。したがって、あらゆる最近接隣り合い加重ウィンドウがセルフブロック２７０Ａ上に重畳される場合、各行列位置での加重値の和は４であるか、または一般的にＮ×Ｎブロックである場合になる。例えば、図１７Ａで、あらゆる最近接隣り合い加重ウィンドウがセルフブロック加重ウィンドウ２７０Ａの最右上側角部行列位置に重畳されれば、セルフブロック加重ウィンドウ２７０Ａ、右側隣り合い加重ウィンドウ２７１Ａ、下側隣り合い加重ウィンドウ２７２Ａ、左側隣り合い加重ウィンドウ２７３Ａ及び上側隣り合い加重ウィンドウ２７４Ａの加重値は各々２、１、０、０及び１であって、セルフブロック加重ウィンドウ２７０Ａの最右上側角部行列位置での和は４となる。
【０１１３】
加重ウィンドウが確率加重ウィンドウになるために、加重ウィンドウ内の加重値の和は１となり、これによって加重値は１より小さいか、同じ分数または小数値を有する。加重値の分数的な表現を簡単にするために、加重ウィンドウ内の加重値は、画素値の計算に用いられる時、加重ウィンドウが確率加重ウィンドウ（またはそれと同等なもの）と具現されねばならないという理解下で、図１７ないし図２０の図示的な例で使われた加重ウィンドウはＮ×Ｎ加重ウィンドウ大きさに対して加重値の和を（１にする代わりに）Ｎにするように一般化した。
【０１１４】
固定された４×４ブロックサイズを有する図１７Ａで、セルフブロックはモーションブロックであり、２次元的な（２−Ｄ）双一次（ｂｉｌｉｎｅａｒ）（すなわち、直線）補間がセルフブロック加重ウィンドウ２７０Ａ及びその最近接隣り合い加重ウィンドウ２７１Ａ、２７２Ａ、２７３Ａ、２７４Ａでの加重値を決定するのに用いられる。２−Ｄ双一次補間された画素値は、セルフブロックの中心と隣接ブロックの中心との間の直線を沿って線形補間したことに対応する。２−Ｄ双一次補間は、二次元的であるために、双一次補間された加重値は、２個の相互直交的な方向で補間された値の結果である。２−Ｄ双一次補間から発生した加重値は、最も近い整数に四捨五入し、一般化条件（すなわち、各画素での加重値の和がＮ）を満足するかについての制限を条件として必要とする。１つまたはそれ以上のセルフブロック境界がフレーム境界と一致する場合、少なくともセルフブロックの一縁部は最も近接した隣接ブロックを有さず、結果的な双一次加重ウィンドウ加重値は、それによっていかなるセルフブロックの境界もフレーム境界と一致しない時に存在する双一次加重ウィンドウとは異なる。２−Ｄ双一次加重ウィンドウは、ほぼ反復最適加重ウィンドウほど正確であると知られた。しかし、他の形態の補間（例えば、４次補間、指数補間など）が図１７Ａの加重ウィンドウまたは本発明で開示された他の実施形態の加重ウィンドウのための双一次補間の代りに、双一次補間が利用されたように利用されうる。
【０１１５】
固定された４×４ブロックサイズを有する図１７Ｂで、セルフブロックはＩ−ブロックである。図１７Ｂで加重ウィンドウの加重値は、一般化条件の制限内でセルフブロック加重ウィンドウ内の加重値の一部分を抽出し、抽出された加重値部分を最近接隣り合い加重ウィンドウで選択された加重値に加算することによって、図１７Ａの加重ウィンドウの加重値から得られる。“加重値の一部分”調節は、良好な視覚的エラー性能を与える観点で実験的に決定され、他の方式で最適化されるものではない。他の“加重値の一部分”調節は、実験及び／または分析的な方法論によって立証または実体化されれば利用されうる。選択された加重値は、ブロック境界近くの加重値である。前述したセルフブロックがＩ−ブロックである時、図１７Ａの加重値の変更は、隣接ブロックに相対的にさらに高い加重値を提供することによって、セルフブロック境界での補間された画素値のさらに積極的な緩和を促進させる。図１７Ｂで用いられる加重値分配方法は、セルフセルからその隣接セルの外側に加重値成分を放射する“放射スキーム”である。
【０１１６】
図１７Ａ及び／または図１７Ｂにおいて、一旦右側最近接隣り合いのための最近接隣り合い加重ウィンドウが決定されれば、左側最近接隣り合いのための最近接隣り合い加重ウィンドウは、図１６に示された反射対称性を用いて決定されるか、双一次補間を通じて計算されうる。同様に、一旦下側最近接隣り合いのための最近接隣り合い加重ウィンドウが決定されれば、上側最近接隣り合いのための最近接隣り合い加重ウィンドウは、図１６に示された反射対称性を用いて決定されるか、双一次補間を通じて計算されうる。
【０１１７】
図１７の例は、セルフブロックがＩ−ブロックであり、セルフブロックの生成されたウィンドウが最初の画素加重値及び２番目の画素加重値で構成された場合を示す。最初の画素加重値は、セルフブロックが動きブロックである場合に有する最初の画素加重値に比べて少なく、２番目の画素加重値はセルフブロックが動きブロックである場合に有する２番目の画素加重値と同一である。例えば、図１７ＢのセルフＩ−ブロック２７０Ｂの選択された行列位置での最初の画素加重値“２”は、図１７Ａの動きブロック２７０Ａの対応する選択された行列位置での加重値“３”より小さく、２番目の画素加重値は、図１７ＢのセルフＩ−ブロック２７０Ｂ及び図１７Ａの動きブロック２７０Ａで同じ加重値（すなわち、同じ加重値サイズ）を有する残りの画素加重値である。
【０１１８】
したがって、セルフブロックの加重ウィンドウを生成することは、セルフブロックが動きブロックであるようにセルフブロックの最初の加重ウィンドウを生成（例えば、図１７Ａの動きブロック２７０Ａを生成）するステップと、最初の加重ウィンドウで加重値を減少させることによって最初の加重ウィンドウからセルフブロックの加重ウィンドウを生成（例えば、図１７Ａの動きブロック２７０Ａの加重値を減少させ、図１７ＢのセルフＩ−ブロック２７０Ｂを生成）するステップを含みうる。
【０１１９】
また、図１７の例として示した前記実施形態で、セルフブロックの各隣接ブロックに対して生成されたウィンドウは３番目の画素加重値及び４番目の画素加重値で構成され、３番目の画素加重値はセルフブロックが動きブロックならば、３番目の画素加重値を有する値よりさらに大きく、４番目の画素加重値はセルフブロックが動きブロックならば、４番目の画素加重値が有する値と同一である。例えば、前記３番目の加重値は、図１７Ａより図１７Ｂでさらに大きい右側、下側、左側及び上側隣接ブロック加重値の選択された部分によって図示され、４番目の加重値は、図１７Ｂ及び図１７Ａで同じ大きさを有する右側、下側、左側及び上側隣接ブロックの残りの部分によって示される。
【０１２０】
図１８Ａ及び図１８Ｂ（総称して“図１８”と称する）は、本発明の実施形態によって関連したセルフブロックが各々動きブロック及びＩ−ブロックの８×８加重ウィンドウを示す。図１８Ａはセルフブロックのための加重ウィンドウ２７０Ｃ及びこれと関連した右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロック各々のための最近接隣り合い加重ウィンドウ２７１Ｃ、２７２Ｃ、２７３Ｃ、２７４Ｃを表したものである。図１８Ｂは、セルフブロックのための加重ウィンドウ２７０Ｄ及びこれと関連した右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロック各々のための最近接隣り合い加重ウィンドウ２７１Ｃ、２７２Ｃ、２７３Ｃ、２７４Ｃを表したものである。図１８で加重ウィンドウを生成する方法は、前述した図１７の加重ウィンドウを生成するのに利用された方法と同一である。
【０１２１】
縮少スキーム
図１１及び図１２と関連して前述したように、セルフブロックとその関連した最も近接した隣接ブロックは、いずれも同じ大きさを有し、またはセルフブロックの大きさはその関連した隣接ブロックのうち、少なくとも１つの大きさと異なりうる。特に、与えられたセルフブロックと関連してその最も近接した隣接ブロックについて次の三種の実施形態が存在する。
【０１２２】
（ａ）空間的に最も近接した隣接ブロックサイズがセルフブロックの大きさと同一（例えば、図１１でセルフブロック２４１及びその隣接ブロック２４２）である場合、これは前述した図１７及び図１８と関連して分析された“標準同一ブロックサイズ”の場合である。したがって、このような実施形態の場合、加重ウィンドウは、前記図１７及び図１８と関連して前述したように生成される。
【０１２３】
（ｂ）空間的に最も近接した隣接ブロックの大きさがセルフブロックの大きさよりさらに大きい場合（例えば、図１１でセルフブロック２４１及びその隣接ブロック２４３、２４４）であって、この場合は、セルフブロックの大きさと同じ大きさを有するさらに大きい最も近接した隣接ブロックの部分を用いて扱われ、前記部分は前記標準同一ブロックサイズの場合（ａ）のように、現在フレーム内で同じ空間を占める。図示すれば、図１９は、本発明の実施形態によって図１１のフレーム２４０を示したものであり、最も近接した隣接ブロック２４３、２４４の部分２４３Ａ、２４４Ａを表している。部分２４３Ａ及び２４４Ａは、セルフブロック２４１Ａのような大きさを有し、標準同一ブロックサイズの場合と同一になるようにフレーム２４０内で同じ空間を占める。この実施形態において、最も近接した隣接ブロック２４３、２４４の部分２４３Ａ、２４４Ａは、各々セルフブロック２４１の有効な最も近接した隣接ブロックとして用いられる。したがって、隣接ブロック２４３の部分２４３Ａのみセルフブロック２４１に対するＯＢＭＣを行う間にセルフブロック２４１内の画素値の予測に影響を及ぼす。同様に、隣接ブロック２４４の部分２４４Ａのみセルフブロック２４１に対するＯＢＭＣを行う間にセルフブロック２４１内の画素値の予測に影響を及ぼす。結果的に、本発明は、ブロック２４３、２４４を各々部分２４３Ａ、２４４Ａに“縮少”する。セルフブロック２４１及びその隣接ブロック２４３または２４４は、各々動きブロックであって、隣接ブロック（２４３または２４４）の部分（２４３Ａまたは２４４Ａ）の生成された加重ウィンドウは、双一次補間された加重値で構成されることもある。この実施形態において、加重ウィンドウは標準同一ブロックサイズ場合の図１７及び図１８と関連して前述したように生成される。しかし、さらに大きい最も近接した隣接ブロックと関連したモーションベクトルは、加重隣り合い予測を提供するのに用いられる。図１２を参照して、例えば、モーションベクトル２５３は、セルフブロック２４１の処理のためにさらに大きい隣接ブロック２４３の一部分２４３Ａ（図１９参照）を用いるに当って参照フレーム２６０のブロック２６３を位置させるのに用いられる。
【０１２４】
（ｃ）空間的に最も近接した隣接ブロックサイズがセルフブロックの大きさよりさらに小さな場合（例えば、図１１でセルフブロック２４１とその隣接ブロック２４５、２４６）であって、この場合、前記さらに小さな最も近接した隣接ブロックと同じ大きさを有し、さらに小さな最も近接した隣接ブロックと隣接して位置したセルフブロックの一部分を選択することを必要とする。図示のために、図２０は、図１１のフレーム２４０を示したものであり、セルフブロック２４１の部分１Ａ、１Ｂは、最も近接した隣接ブロック２４５、２４６各々に対して有効セルフブロック部分として用いられる。セルフブロック２４１の部分１Ａは、セルフブロック２４１の部分１Ａに対してＯＢＭＣを行う間に隣接ブロック２４５の加重ウィンドウによってその画素値の予測が影響を受ける唯一のセルフブロック２４１の部分である。同様に、セルフブロック２４１の部分１Ｂは、セルフブロック２４１の部分１Ｂに対してＯＢＭＣを行う間に隣接ブロック２４６の加重ウィンドウによってその画素値の予測が影響を受ける唯一のセルフブロック２４１の部分である。結果的に、本発明は部分１Ａ、１Ｂのみを用いるためにセルフブロック２４１を“縮少”する。
【０１２５】
空間的に最も近接した隣接ブロックの大きさがセルフブロックの大きさより小さな前記実施形態において、加重ウィンドウは、図２１及び図２２と関連して後述するように生成され、セルフブロックで各々用いられる部分は影響を受ける領域と影響を受けない領域とを含み、影響を受ける領域はさらに小さい最も近接した隣接ブロックによって影響を受け、影響を受けない領域はさらに小さい最も近接した隣接ブロックによって影響を受けない。いくつかの応用例において、影響を受ける領域はさらに小さい最も近接した隣接ブロックの大きさの水平または垂直に半分に該当するように構成されることもある。セルフブロックの用いられる領域の影響を受ける領域の加重ウィンドウ内の加重値及びより小さな隣接ブロックで対応する加重ウィンドウの部分は標準同一ブロックサイズの場合で誘導したように同一である。セルフブロックの用いられる領域の影響を受けない領域に対応するさらに小さな隣接ブロックの加重ウィンドウの部分内の加重値は“除去”された後、０になるように設定される。セルフブロックの用いられる部分の影響を受けない領域の加重値は、図２２の例と関連して後述するように、小さい最も近接した隣接ブロックの加重ウィンドウの対応する部分から加重値を除去することによって（標準同一ブロックサイズの場合と比較して相対的に）増加する。
【０１２６】
セルフブロックは、さらに小さな最近接隣り合いと異なるモーションベクトルを有することができるために、このような縮少スキームは動きが不連続する所でスムーシング（ｓｍｏｏｔｈｉｎｇ）を減少させる。これはこのような縮少スキームはさらに小さい最も近接した隣接ブロックサイズと互換可能なスムーシング範囲を減少させるためである。
【０１２７】
各セルフブロックにおいて、その最近接隣り合いの相対的なブロックサイズを分析するステップは、各最近接隣り合いに対して反復される。セルフブロックは、所定のスキャン順序によって順次に処理される。
【０１２８】
図２１Ａないし図２１Ｃ（総称して“図２１”と称する）は、本発明の実施形態によって、縮少スキームと関連したＯＢＭＣによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示したものであって、ここで最も近接した隣接ブロックは動きブロックである。図２１Ａで、セルフブロック２８０は、８×８ブロックであり、その右側隣接ブロック２８１は４×４ブロックである。
【０１２９】
図２１Ｂは、前記図２１のセルフブロック２８０及びその右側隣接ブロック２８１と関連し、各々セルフブロック加重ウィンドウ２８０Ａ及びその右側隣り合い加重ウィンドウ２８１Ａを提供する。図２１Ｂで、セルフブロック加重ウィンドウ２８０Ａは、右側隣り合い加重ウィンドウ２８１Ａと関連したＯＢＭＣ手順で用いられる利用部分２８２Ａを含む。利用部分２８２Ａは、セルフブロック加重ウィンドウ２８０Ａの“縮少された”形態であり、右側隣り合い加重ウィンドウ２８１Ａと同じ大きさを有する。
【０１３０】
図２１Ｂで、図示された加重値の数は最終的な加重値でなく、最終的な加重値の計算に用いられる標準初期加重値に近い。最終加重値は、図２１Ｃに表した。特に、図２１Ｂの初期加重値は、標準同一ブロックサイズの場合と関連した加重値である。したがって、図２１Ｂのセルフブロック加重ウィンドウ２８０Ａの加重値は、図１８Ａの加重ウィンドウ２７０Ｃで表した同一な双一次加重値であり、図２１Ｂの右側隣り合い加重ウィンドウ２８１Ａ内の加重値は、図１８Ａの加重ウィンドウ２７１Ｃの右上側四分面に示した同一双一次加重値である。
【０１３１】
図２１Ｂで利用部分２８２Ａは、影響を受けた領域２８３Ａと影響を受けない領域２８４Ａとで構成される。影響を受けた領域２８３Ａと関連したセルフブロックの画素は、右側隣り合い加重ウィンドウ２８１Ａの影響を与える領域２８５ＡによってＯＢＭＣ手順で影響を受ける。影響を受けない領域２８４Ａと関連したセルフブロックの画素は右側隣り合い加重ウィンドウ２８１Ａの影響を与えない領域２８６ＡによってＯＢＭＣ手順で影響を受けない。
【０１３２】
図２１Ｃに図示された加重値は、次のように図２１Ｂの加重値から誘導される。図２１Ｃの影響を与える領域２８５Ａ及び影響を受ける領域２８３Ａは、図２１Ｂでも同一である。図２１Ｂで影響を与える領域２８６Ａの加重値は、図２１Ｂの影響を受ける領域２８４Ａの対応する加重値に加えられ、図２１Ｃの影響を受ける領域２８４Ａを形成し、図２１Ｃで影響を与えない領域２８６Ａの加重値は０に設定される。
【０１３３】
図２１に示された前記縮少スキームは動き不連続で過度なスムーシングを避けるようにする。大きいブロックはそれより小さな最近接隣り合いと異なるモーションベクトルを有することができるために、縮少スキームは動き不連続で過度なスムーシングを減らしうる。縮少スキームは、前述した正方形ブロックサイズだけでなく、長方形にも適用され、これは本発明の範囲内である。そのような、単純なカッドツリー分解が正方形ブロックの配列だけを生成するのに用いられるという点に留意ねばならない。正方形ブロックの配列は、水平及び／または垂直分解アルゴリズム（例えば、８×８ブロックを２個の８×４ブロックまたは２個の４×８ブロックに分解）によって達成されることもある。
【０１３４】
図２１に示した前記縮少スキームにおいて、最も近接した隣接ブロックは、モーションベクトルによって特徴づけられる動きブロックである。逆に、Ｉ−ブロックである最も近接した隣接ブロックは関連したモーションベクトルを持たない。しかし、もし、最近接隣り合いＩ−ブロックがＯＢＭＣ緩和予測に関与しないならば、前記最近接隣り合いＩ−ブロックは最近接隣り合い動きブロック（すなわち、デフォルト、Ｐ−ブロック、またはリバースブロック）において一部ブロック欠陥を発生しうる。したがって、後述するような本発明の反射スキームが、ＯＢＭＣ構造内で最近接隣り合いＩ−ブロックを処理するのに用いられる。
【０１３５】
反射スキーム
反射スキームは、最近接隣り合いがＩ−ブロックである場合に用いられる。反射スキームは、最近接隣り合いＩ−ブロック加重値を再びセルフブロック上に反射する。これは実際的にセルフブロックのモーションベクトルがＩ−ブロックに存在しないモーションベクトルの代わりに用いられることを意味する。
【０１３６】
図２２Ａないし図２２Ｃ（総称して“図２２”と称する）は、本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで最も近接した隣接ブロックはＩ−ブロックである。図２２Ａで、セルフブロック２９０Ａは、８×８ブロックであり、その右側隣接ブロック２９１は４×４ブロックである。
【０１３７】
図２２Ｂは、前記図２２Ａのセルフブロック２９０及び右側隣接ブロック２９１と各々関連したセルフブロック加重ウィンドウ２９０Ａ及びその右側隣り合い加重ウィンドウ２９１Ａを提供する。図２２Ｂで、セルフブロック加重ウィンドウ２９０Ａは右側の隣り合い加重ウィンドウ２９１Ａと関連してＯＢＭＣ処理で用いられる部分２９２Ａを備える。用いられる部分２９２Ａは、右側隣り合い加重ウィンドウ２９１Ａと同じ大きさを有する。
【０１３８】
図２２Ｂで、図示された加重値の数は、最終加重値でなく最終加重値の計算に用いられる標準初期加重値である。最終加重値は、図２２Ｃに図示された。特に、図２２Ｂで初期加重値は標準同一ブロックサイズの場合と関連した加重値である。したがって、図２２Ｂのセルフブロック加重ウィンドウ２９０Ａ内の加重値は、図１８Ａの加重ウィンドウ２７０Ｃに現れる双一次加重値と同一であり、図２２Ｂの右側隣り合い加重ウィンドウ２９１Ａの加重値は、図１８Ａの加重ウィンドウ２７１Ｃの右上側四分面に示した双一次加重値と同一である。図２２Ｃで加重値は、次のように図２２Ｂの加重値から誘導される。図２２Ｂの右側隣り合い加重ウィンドウ２９１Ａの加重値は、図２２Ｂの用いられる部分２９２Ａに加えられ、図２２Ｃで用いられる部分２９２Ａの加重値を形成し、図２１Ｃで右側隣り合い加重ウィンドウ２９１Ａの加重値は０に設定される。
【０１３９】
本発明の発明者によって実行された実験結果は、もし、最近接隣り合いＩ−ブロックがＯＢＭＣ構造に含まれないならば、Ｉ−ブロックと動き補償されたブロックとの間に視覚的に認知されうるブロック境界が含まれうるということを示し、これは動き補償されたブロックはインターフレーム補償される一方、Ｉ−ブロックはイントラフレーム補償／予測されるものという事実で説明される。前述したように最近接隣り合いＩ−ブロックがＯＢＭＣ構造に用いられれば、大部分のブロック境界は除去され、若干のＰＳＮＲ（Ｐｅａｋ  Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ）が観察された。
【０１４０】
ＯＢＭＣ加重ウィンドウアルゴリズム
前述したＯＢＭＣでの加重ウィンドウに基づいて、図２３は本発明の実施形態によって、可変ブロックサイズＯＢＭＣで加重ウィンドウを計算するアルゴリズムのステップ３１１−３１９を示すフローチャートである。図２３のフローチャートは、前述した図１１Ｂのフローチャートのステップ２２１−２２２の具体的な内容を含む。図２３のフローチャートは、所定のスキャン順序によって順次的に現在フレーム内のあらゆるセルフブロックを処理する。
【０１４１】
ステップ３１１で所定のスキャン順序によって初期にスキャンされる最初の処理ブロックである次のセルフブロックに進む。次いで、セルフブロックは、その最も近接した隣接ブロックで構成されたその隣接ブロックと関連して処理される。セルフブロックの隣接ブロック（すなわち、次のセルフブロック）は、最初の隣接ブロックを含む。セルフブロック及び最初の隣接ブロックは、各々動きブロックであり得る。セルフブロック及び最初の隣接ブロックは、各々Ｉ−ブロックでありうる。セルフブロックは、動きブロックで最初の隣接ブロックは、Ｉ−ブロックでありうる。セルフブロックは、Ｉ−ブロックで最初の隣接ブロックは動きブロックでありうる。
【０１４２】
ステップ３１１で設立されたセルフブロックに対して、ステップ３１２は前記ステップ３１１で設立されたセルフブロック周辺の最も近接した隣接ブロックの順序のうち、最初の隣接ブロックである次の隣接ブロックに進む。
【０１４３】
ステップ３１３は、隣接ブロックが動きブロックであるか、Ｉ−ブロックであるかを決定する。
【０１４４】
ステップ３１３で隣接ブロックが動きブロックに決定された場合、ステップ３１４で縮少スキームを行い、次のステップ３１６が実行される。縮少スキームは前述したように隣接ブロックの大きさがセルフブロックの大きさと同一であるか、さらに大きいかまたはさらに小さいかによってセルフブロック及び隣接ブロックの加重ウィンドウを発生させる。
【０１４５】
ステップ３１３で隣接ブロックがＩ−ブロックに決定された場合には、ステップ３１５で反射スキームを行い、次のステップ３１６が実行される。反射スキームは、前記図２２と関連して前述した過程によってセルフブロック及び隣接ブロックの加重ウィンドウを生成する。
【０１４６】
ステップ３１６で処理するセルフブロックの隣接ブロックがさらに存在しているかを判断する。
【０１４７】
もし、ステップ３１６で処理するセルフブロックの隣接ブロックがさらに存在する場合には、ステップ３１２にループされて次の隣接ブロックの処理に進む。
【０１４８】
ステップ３１７でセルフブロックがＩ−ブロックであるか否かを判断する。もし、ステップ３１７でセルフブロックがＩ−ブロックでないと判断された場合には、ステップ３１９が実行される。もし、ステップ３１７でセルフブロックがＩ−ブロックであると判断されれば、ステップ３１８でセルフブロック及びその隣接ブロックの加重ウィンドウを変更するために、図１７Ｂと関連して前述した放射スキームが実行され、その次にステップ３１９が実行される。
【０１４９】
ステップ３１９でフレーム内に処理するセルフブロックがさらに存在しているか否かを判断する。もし、ステップ３１９でフレーム内に処理するセルフブロックがさらに存在すると判断されれば、ステップ３１１でループされて次のセルフブロックの処理に進む。もし、ステップ３１９でフレーム内に処理するセルフブロックがさらに存在していないと判断されれば、アルゴリズムは終了される。
【０１５０】
ＯＢＭＣの反復
ＯＢＭＣは、最近接隣り合いモーションベクトルがセルフブロック内の予測エラーに影響を及ぼすようにして、分離された予測次善策を作る。さらに、ＯＢＭＣは非因果的な（ｎｏｎ−ｃａｕｓａｌ）最近接隣り合いを条件とするために、毎ブロックに対してその最も近接した隣接ブロックが、先にスキャンされねばならないというブロックスキャニング順序がない。したがって、本発明は、最適化された動き予測及び空間補間／予測モード選択のために反復的な予測または探索手順を用いて、これは平均絶対値歪曲（ｍｅａｎ  ａｂｓｏｌｕｔｅ  ｄｉｓｔｏｒｔｉｏｎ（ＭＡＤ））を局部最小値に収斂させる。
【０１５１】
セルフブロックｂ内の各画素位置ｓ（２次元的な空間ベクトルである）において、画素位置ｓでのレジデュアルエラーｒ（ｓ）は次の式（２）のように計算される。
【０１５２】
【数１】
2007509542.tif 000007
インデックスｉは、セルフブロックｂの最近接隣り合いに対して合算を実行し、ｋは反復インデックスである。式（２）で、
【０１５３】
【数２】
2007509542.tif 000008
は隣接ブロックｉの加重ウィンドウ係数（すなわち、加重値）であり、ｈ１（ｉ）はセルフブロックｂが動きブロックである場合、ｈ２（ｉ）はセルフブロックｂがＩ−ブロックである場合に加重ウィンドウとして用いられる。式（２）で、Ｖｓ（ｉ）は画素位置ｓで隣接ブロックｉのモーションベクトルであり、Ｉ（ｓ）は画素位置ｓでの実際画素値であり、
【０１５４】
【数３】
2007509542.tif 000009
は隣接ブロック画素の参照フレームで（サブ画素正確度によって必要な）補間された値を表す。レジデュアルエラーイメージｒ（ｓ）はベクトル
【０１５５】
【数４】
2007509542.tif 000010
すなわち、セルフブロックｂまたは該当ブロックの空間補間／予測から発生したモーションベクトルが省略され、あらゆる最近接隣り合いのモーションベクトルが固定されることによって、発生する動き補償エラーである。これにより、本発明は次の式（３）及び（４）によって動きブロックの
【０１５６】
【数５】
2007509542.tif 000011
をさらに最適化するか、またはＩ−ブロックに対して許容される空間補間モードから空間補間モードである
【０１５７】
【数６】
2007509542.tif 000012
を最適化する。
【０１５８】
【数７】
2007509542.tif 000013
【０１５９】
【数８】
2007509542.tif 000014
ここで、
【０１６０】
【数９】
2007509542.tif 000015
は条件的最適モーションベクトルであり、
【０１６１】
【数１０】
2007509542.tif 000016
はブロックｂに対する条件的最適空間補間／予測モードであり、
【０１６２】
【数１１】
2007509542.tif 000017
はブロックｂからのモーションベクトルによって動き補償された値であり、
【０１６３】
【数１２】
2007509542.tif 000018
はセルフブロックｂの最近接隣り合いから空間補間／予測された値である。
【０１６４】
ＯＢＭＣ反復は、デザインパラメータα及びβ：すなわち、所定の総または最高反復数α及び各反復でモーションベクトルの調節距離βによって制御される。例えば、α＝４が選択されうる。例えば、（直交するＸ及びＹ方向（例えば、各々水平及び垂直方向）で１つの画素単位の一部に比例してモーションベクトル攝動（ｐｅｒｔｕｂａｔｉｏｎ）：−４／８、−２／８、０、＋２／８、＋４／８に対応して）モーションベクトル攝動変数β＝２が選択されうる。Ｘ及びＹ攝動は、独立的であるために、β＝２は各反復ごとに総２５個の相異なるモーションベクトルの方向に対して各Ｘ及びＹ方向で以前の５個の攝動を表す。式（３）及び（４）は、２５個のモーションベクトル攝動のうち、各セルフブロックのモーションベクトルとして最も最適の選択であるか否かを判断する。各セルフブロックで与えられた反復で最適のモーションベクトルが判断されれば、前記最適モーションベクトルは、次の反復ステップでβによって各セルフブロックに対する改善された値のモーションベクトルをさらに判断するために攝動される。収斂速度は非常に速いが、計算の複雑度を減少させるに当っては、多少不十分であり、ビデオクリップによって適当な次善策である。
【０１６５】
双方向カラーＨＶＳＢＭは輝度及び色差データの両方に対して行われるので、ＯＢＭＣ反復はＹＵＶにも同時に適用されうる。Ｕ及びＶは、ＲＧＢデータから所定の変換後にサブサンプリングされたフレームデータである。したがって、Ｕ及びＶに用いられる加重ウィンドウは、またＹに用いられる加重ウィンドウのサブサンプリングされたバージョンである。
【０１６６】
前述したところに基づいて、本発明のＯＢＭＣのための反復的な予測方式（ＯＢＭＣ反復）は固定された反復回数（α）の間、または収斂判断基準が満足するまで現在フレームの各セルフブロックに対する改善されたモーションベクトルの集合を連続的に計算する。
【０１６７】
図２４は、本発明の実施形態によって、図１３Ａ、図１３Ｂ及び図２４のフローチャートによって説明した方法によって計算された加重ウィンドウを使用する可変ブロックサイズＯＢＭＣによって処理される現在フレームのセルフブロックに対する改善されたモーションベクトルを連続的に計算するアルゴリズムであるステップ３２１ないし３２６を示すフローチャートである。
【０１６８】
ステップ３２１で入力、すなわち、α、β及び加重ウィンドウを提供する。
【０１６９】
ステップ３２２で次の反復に進む。ステップ３２２で設立された反復の間、ステップ３２３で所定のスキャン順序によって最初のブロックである次のセルフブロックに進む。
【０１７０】
ステップ３２４で前記式（３）及び（４）と前記式（２）を共に用いて攝動されたβ−基盤モーションベクトルから選択されたセルフブロックに対する最適のモーションベクトルを決定する。
【０１７１】
ステップ３２５で処理されるフレーム内にセルフブロックがさらに存在しているかを判断する。ステップ３２５で処理されるフレーム内にセルフブロックがさらに存在すれば、次のセルフブロックを処理するためにステップ３２３に再び戻る。ステップ３２５でフレーム内に処理するセルフブロックがさらに存在していない場合には、ステップ３２６が実行される。
【０１７２】
ステップ３２６でさらに実行する反復が存在しているか否かを判断する。
【０１７３】
ステップ３２６でさらに実行する反復が存在すると判断された場合には、次の反復に進めるためにステップ３２２に再び戻る。
【０１７４】
ステップ３２６でさらに実行する反復が存在していないと判断された場合には、アルゴリズムが終了される。実行された反復回数がαと同一なために、さらに実行する反復が存在していない。また、アップデートされたモーションベクトルに対する所定の収斂判断基準が満たされたためにさらに実行する反復が存在していない。例えば、収斂判断基準は、特に直前の反復から現在の反復までの（各セルフブロック特別な、またはあらゆるセルフブロックに対して合算された）モーションベクトルで平均自乗分数変化が所定の限界値より小さいか否かでありうる。最初の実施形態で、ただαがさらに実行する反復が存在しているかを決定するためにステップ３２６で利用された。第２実施形態で、収斂判断基準のみさらに実行する反復が存在しているかを決定するためにステップ３２６で利用された。第３実施形態で、α及び収斂判断基準両方にさらに実行する反復が存在しているかを決定するためにステップ３２６で利用された。
【０１７５】
向上−基盤ＭＣＴＦの変更（Ｍｏｄｉｆｉｃａｔｉｏｎ  ｏｆ  Ｌｉｆｔｉｎｇ−Ｂａｓｅｄ  ＭＣＴＦ）
本発明は、良好な動き領域でのノイズを減少させるためにデフォルトブロックに対して向上具現方式でＯＢＭＣ、すなわち、予測及びアップデートステップを用いて向上具現方式のＯＢＭＣを行う。向上具現方式のＯＢＭＣのための式は次の通りである。
【０１７６】
【数１３】
2007509542.tif 000019
【０１７７】
【数１４】
2007509542.tif 000020
ＯＢＭＣは、モーションベクトルフィールド
【０１７８】
【数１５】
2007509542.tif 000021
をランダムプロセスと見なす。これはフレームＢの画素Ｂ［ｍ、ｎ］が前述したような対応する確率ウィンドウから確率ｈｋ［ｍ、ｎ］を有するモーションベクトル
【０１７９】
【数１６】
2007509542.tif 000022
を有し、予測されたサブ画素の加重平均から補償されるということを意味する。式（５）−（６）で、
【０１８０】
【数１７】
2007509542.tif 000023
は（ｄｍ、ｄｎ）に最も近い整数を意味する。低時間フレームの形態は、ＯＢＭＣを経ていない場合と同一に見られるが、実際にＯＢＭＣは高時間フレーム及び低時間フレーム両方に影響を及ぼす。ＯＢＭＣから低時間フレームは視覚的にさらに好まれ、以後のＭＣＴＦステップにさらに適している。
【０１８１】
コンピュータシステム
図２５は、本発明の実施形態によって、動きＭＣＴＦスケーラブルビデオコーダでＭＣＴＦを用いてＩ−ブロックを処理及び／または可変サイズブロックに対するＯＢＭＣを行うコンピュータシステムを示す図である。コンピュータシステム９０は、プロセッサー９１、プロセッサー９１に連結された入力装置９２、プロセッサー９１に連結された出力装置９３及び各々前記プロセッサー９１に連結されたメモリ装置９４、９５を含む。入力装置９２としては、特にキーボード、マウスなどがある。出力装置９３としては、特にプリンタ、プロッター（ｐｌｏｔｔｅｒ）、コンピュータスクリーン、マグネチックテープ、内部ハードディスクまたはディスク配列、除去可能なハードディスク、フロッピー（登録商標）ディスク、情報ネットワークなどがある。メモリ装置９４、９５としては、特にハードディスク、フロッピー（登録商標）ディスク、マグネチックテープ、ＣＤまたはＤＶＤのような光記録媒体、動的ランダムアクセスメモリ（ＤＲＡＭ）、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）などがある。メモリ装置９５は、コンピュータコード９７を含む。コンピュータコード９７は、動きＭＣＴＦスケーラブルビデオコーダ環境でＭＣＴＦを用いてＩ−ブロックを処理及び／または可変サイズブロックに対するＯＢＭＣを行うアルゴリズムを含む。プロセッサー９１は、コンピュータコード９７を実行する。メモリ装置９４は、入力データ９６を含む。入力データ９６は、コンピュータコード９７で要求される入力を含む。出力装置９３は、コンピュータコード９７からの結果を表示する。メモリ装置９４、９５のうちいずれか１つまたは全て（または図２５に示されていない１つまたはそれ以上の付加メモリ装置）は、コンピュータコード９７を含むコンピュータで読取り可能な具体化されたプログラムコード及び／または他のデータを備えた、コンピュータで使用可能な媒体（またはコンピュータで読取り可能な媒体またはプログラム保存装置）として利用されうる。一般的に、前記コンピュータシステム９０のコンピュータプログラム製品（または、代案的に生産製品）は、前記コンピュータで使用可能な媒体（または前記プログラム保存装置）を含みうる。
【０１８２】
図２５では、ハードウェア及びソフトウェアの特定構成としてコンピュータシステム９０を示したが、前記図２５の特定コンピュータシステム９０は、当業者に知られたいかなる他のハードウェアまたはソフトウェアの形にも利用されうる。例えば、前記メモリ装置９４、９５は、分離された個別的なメモリ装置の代りに１つのメモリ装置の一部であり得る。
【０１８３】
以上、本発明についてその望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者ならば、本発明が本発明の本質的な特性から外れない範囲で変形された形に具現されるということを理解できるであろう。本発明の範囲は、前述した説明でなく、特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれたと解釈されねばならない。
【図面の簡単な説明】
【０１８４】
【図１】本発明の望ましい実施形態による動き補償時間フィルタリング（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  Ｔｅｍｐｏｒａｌ  Ｆｉｌｔｅｒｉｎｇ：ＭＣＴＦ）処理部を含むビデオコーディングシステムを示す図である。
【図２】本発明の望ましい実施形態によって図１のＭＣＴＦ処理部によって行われるＭＣＴＦ過程を示す図である。
【図３】本発明の望ましい実施形態によって図２のＭＣＴＦ過程によって発生する高時間フレームのＩ−ブロックを用いる方法を示すフローチャートである。
【図４】本発明の望ましい実施形態によって連続的なフレームの画素間の連結を示す図である。
【図５】本発明の望ましい実施形態によるＩ−ブロック及びＰ−ブロックを備えた１つのフレームを示す図である。
【図６】本発明の望ましい実施形態によって１つのＩ−ブロックの空間補間に用いられる記号（ｎｏｔａｔｉｏｎ）を示す図である。
【図７Ａ】本発明の望ましい実施形態によって１つの隣接ブロックのみが利用可能な場合にＩ−ブロックの空間補間を示す図である。
【図７Ｂ】本発明の望ましい実施形態によって１つの隣接ブロックのみが利用可能な場合にＩ−ブロックの空間補間を示す図である。
【図７Ｃ】本発明の望ましい実施形態によって１つの隣接ブロックのみが利用可能な場合にＩ−ブロックの空間補間を示す図である。
【図８】本発明の望ましい実施形態によってフレーム内の可変ブロックサイズを有するＩ−ブロックを示す図である。
【図９Ａ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図９Ｂ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図９Ｃ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図９Ｄ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図９Ｅ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図９Ｆ】本発明の望ましい実施形態によってＩ−ブロックの方向空間補間を示す図である。
【図１０】本発明の望ましい実施形態によってＩ−ブロックのハイブリッド空間補間を示す図である。
【図１１】本発明の実施形態によって可変サイズブロックで形成された現在フレームを示す図である。
【図１２】本発明の実施形態によって図１１の現在フレーム及び参照フレームを、現在フレームのブロック及び参照フレームの対応するブロックを各々リンクするベクトルと共に示す図である。
【図１３Ａ】本発明の実施形態によって図２のＭＣＴＦ高時間フレームで可変ブロックサイズＯＢＭＣを用いるステップを示すフローチャートである。
【図１３Ｂ】本発明の実施形態によって図１３Ａの可変ブロックサイズＯＢＭＣ処理ステップを示すフローチャートである。
【図１４】本発明の実施形態によって図１３Ａ及び図１３Ｂのフローチャートと関連したフレーム処理のブロック図である。
【図１５】本発明の実施形態により、ＭＣＴＦによって高時間フレームＨ及び低時間フレームＬに変換される２個の連続的な入力フレームＡ及びＢを示す図である。
【図１６】本発明の実施形態によって現在フレームでセルフブロック及び関連した最も近接した隣接ブロックを示す図である。
【図１７Ａ】本発明の実施形態によってセルフブロックが動きブロックである場合の４×４加重ウィンドウを示す図である。
【図１７Ｂ】本発明の実施形態によってセルフブロックがＩ−ブロックである場合の４×４加重ウィンドウを示す図である。
【図１８Ａ】本発明の実施形態によってセルフブロックが動きブロックである場合の８×８加重ウィンドウを示す図である。
【図１８Ｂ】本発明の実施形態によってセルフブロックがＩ−ブロックである場合の８×８加重ウィンドウを示す図である。
【図１９】本発明の実施形態によって関連セルフブロックよりさらに大きい選択された最も近接した隣接ブロックの部分を描写した図１１のフレームを示す図である。
【図２０】本発明の実施形態によって関連した最も近接した隣接ブロックよりさらに大きいセルフブロックの部分を描写した図１１のフレームを示す図である。
【図２１Ａ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図２１Ｂ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図２１Ｃ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図２２Ａ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはＩ−ブロックである。
【図２２Ｂ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはＩ−ブロックである。
【図２２Ｃ】本発明の実施形態によって、縮少スキームと関連してＯＢＭＣによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはＩ−ブロックである。
【図２３】本発明の実施形態によって、可変ブロックサイズＯＢＭＣで加重ウィンドウを計算を示すフローチャートである。
【図２４】本発明の実施形態によって、図１３Ａ、図１３Ｂ及び図２３のフローチャートによって説明した方法によって計算された加重ウィンドウを使用する可変ブロックサイズＯＢＭＣによって処理される現在フレームのセルフブロックに対する改善されたモーションベクトルを連続的に計算する過程を示すフローチャートである。
【図２５】本発明の実施形態によって、動きＭＣＴＦスケーラブルビデオコーダでＭＣＴＦを用いてＩ−ブロックを処理及び／または可変サイズブロックに対するＯＢＭＣを行うコンピュータシステムを示す図ある。
【図１】
2007509542.tif 000024
【図２】
2007509542.tif 000025
【図３】
2007509542.tif 000026
【図４】
2007509542.tif 000027
【図５】
2007509542.tif 000028
【図６】
2007509542.tif 000029
【図７Ａ】
2007509542.tif 000030
【図７Ｂ】
2007509542.tif 000031
【図７Ｃ】
2007509542.tif 000032
【図８】
2007509542.tif 000033
【図９Ａ】
2007509542.tif 000034
【図９Ｂ】
2007509542.tif 000035
【図９Ｃ】
2007509542.tif 000036
【図９Ｄ】
2007509542.tif 000037
【図９Ｅ】
2007509542.tif 000038
【図９Ｆ】
2007509542.tif 000039
【図１０】
2007509542.tif 000040
【図１１】
2007509542.tif 000041
【図１２】
2007509542.tif 000042
【図１３Ａ】
2007509542.tif 000043
【図１３Ｂ】
2007509542.tif 000044
【図１４】
2007509542.tif 000045
【図１５】
2007509542.tif 000046
【図１６】
2007509542.tif 000047
【図１７Ａ】
2007509542.tif 000048
【図１７Ｂ】
2007509542.tif 000049
【図１８Ａ】
2007509542.tif 000050
【図１８Ｂ】
2007509542.tif 000051
【図１９】
2007509542.tif 000052
【図２０】
2007509542.tif 000053
【図２１Ａ】
2007509542.tif 000054
【図２１Ｂ】
2007509542.tif 000055
【図２１Ｃ】
2007509542.tif 000056
【図２２Ａ】
2007509542.tif 000057
【図２２Ｂ】
2007509542.tif 000058
【図２２Ｃ】
2007509542.tif 000059
【図２３】
2007509542.tif 000060
【図２４】
2007509542.tif 000061
【図２５】
2007509542.tif 000062
【国際調査報告】
2007509542.tif 000063