説明

MCTFスケーラブルビデオコーダでの可変サイズブロックの重複ブロック動き補償

ビデオフレームを処理する方法、コンピュータプログラム製品、及びコンピュータシステムを提供する。現在フレームは、少なくとも2個の相異なる大きさを有するM個のブロックに分けられる。Mは、少なくとも9である。現在フレームの各ブロックは、動きブロックまたはI−ブロックに分類される。重複されたブロック動き補償(OBMC)は、所定のスキャン順序によってMブロックの各ブロックに対して行われる。OBMCが行われるブロックは、セルフブロックで表す。OBMCは、その隣接ブロックに対してセルフブロックで行われる。隣接ブロックは、セルフブロックに最も近接した隣接ブロックを備える。セルフブロックに対してOBMCの実行は、セルフブロック及びそのそれぞれの隣接ブロックに対して加重ウィンドウを生成することを含む。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的にビデオフレームを処理する方法、システム、コンピュータプログラム製品及びコンピュータシステムに係り、より詳細には、動き補償時間フィルタリング(Motion Compensated Temporal Filtering:MCTF)スケーラブルビデオコーダで可変サイズブロックに対する重複されたブロック動き補償(Overlapped Block Motion Compensation:OBMC)を行う方法、システム、コンピュータプログラム製品及びコンピュータシステムに関する。
【背景技術】
【0002】
現在用いられるスケーラブルビデオコーダでの可変サイズブロックマッチング(Variable Size Block Matching:VSBM)は、ブロック境界で劣悪なマッチングを発生させる傾向があり、これにより、低いコーディング効率を発生させる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
したがって、従来の技術でのスケーラブルビデオコーダでVSBMによって提供されるブロック境界でさらに高い動きマッチング正確性を有させる必要がある。
【課題を解決するための手段】
【0004】
本発明の一側面によれば、ビデオフレームを処理する方法において、少なくとも相異なる大きさの2個のブロックを備えるブロックに分離された現在フレームを提供するステップと、それぞれのブロックに対して重複されたブロック動き補償(OBMC)を行うステップを含み、前記OBMCが行われるブロックはセルフブロックで示し、前記OBMCを行うステップは前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを備え、前記隣接ブロックは前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMCを行うステップは、前記セルフブロック及び前記セルフブロックの各隣接ブロックに対する加重ウィンドウを生成するステップを含むことを特徴とする方法を提供する。
【0005】
本発明の他の側面によれば、その内部にコンピュータで読取り可能なプログラムコードを備えるコンピュータプログラム製品において、前記コンピュータで読取り可能なプログラムコードは、ビデオフレームを処理する方法を具現するのに適したアルゴリズムを備え、前記方法は、少なくとも2つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、各ブロックに対して重複されたブロック動き補償(OBMC)を行うステップを含み、前記OBMCが行われるブロックをセルフブロックと言い、前記OBMC実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMC実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを備えることを特徴とするコンピュータプログラム製品を提供する。
【0006】
本発明のさらに他の側面によれば、プロセッサー及び前記プロセッサーに連結されたコンピュータで読取り可能なメモリ部を備えたコンピュータシステムにおいて、前記メモリ部は、前記プロセッサーによって実行されてビデオフレームを処理する方法を具現する命令を含み、前記方法は、少なくとも2つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、各ブロックに対して重複されたブロック動き補償(OBMC)を行うステップとを含み、前記OBMCが行われるブロックをセルフブロックと言い、前記OBMC実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMC実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを含むことを特徴とするコンピュータシステムを提供する。
【発明の効果】
【0007】
本発明は、従来の技術に比べて、スケーラブルビデオコーダ環境下で可変サイズブロックマッチングによって提供されるブロック境界で動きマッチング正確性をさらに向上させうる。
【発明を実施するための最良の形態】
【0008】
以下で、序論、動き補償時間フィルタリング(Motion Compensated Temporal Filtering:MCTF)、I−ブロックの検出及び処理、OBMC処理、縮少スキーム、反射スキーム、OBMC加重ウィンドウアルゴリズム、OBMCの反復、向上−基盤MCTFの変更、及びコンピュータシステム部分に分けて本発明について詳細に説明する。
【0009】
序論
ビデオ圧縮方式は、入力ビデオ信号の伝送に先立ち、前記入力ビデオ信号のフレームによって構成された近似的な映像を表現する圧縮された情報で前記入力ビデオ信号のフレームをエンコーディングすることによって前記入力ビデオ信号から余分の(redundant)情報を除去する。目的地に圧縮された情報を伝送すれば、ビデオ信号は圧縮された情報から近似的な映像をデコーディングすることによって再構成される。時間的リダンダンシーにおいて、画素値は独立しておらず、入力ビデオ信号の連続的なフレームに亙ってそれらの隣り合いと相互関連している。
【0010】
動映像専門家グループ(Motion Picture Expert Group:MPEG)のハイブリッドコーディング方式で、時間的リダンダンシーは動き−補償予測(Motion−Compensated Prediction:MCP)によって除去しうる。ビデオ信号は、しばしば一連のピクチャーグループ(Group Of Picture:GOP)に分割され、各GOPは、イントラコーディングされたフレーム(I)から始まり、前方予測コーディングされたフレームP及び双方向予測されたフレームBからなる配列が後続する。前記P−フレーム及びB−フレームはいずれもインターフレームである。P−フレーム内のターゲットマクロブロックは過去の参照フレームから予測しうる(前方予測)。動き補償(MC)補間とも呼ばれる双方向予測はMPEGビデオの重要な特徴の1つである。双方向予測コーディングされたB−フレームは、過去と未来とで1つずつ2個の参照フレームを用いる。B−フレーム内のターゲットマクロブロックは、過去の参照フレームから予測されるか(前方予測)、未来の参照フレームから予測されるか(逆方向予測)、あるいは過去と未来との各参照フレームから各々予測された2個の予測マクロブロックの平均値(補間)によって予測しうる。P−フレームまたはB−フレームのうちいずれか1つのターゲットマクロブロックは、以下で定義されるようにI−ブロックまたはP−ブロックとしてイントラコーディングされうる。
【0011】
現在入力フレーム及び参照フレームいずれもで画素の輝度及び/または色差値を考慮し、以前のまたは以後の参照フレームそれぞれの内容に基づき、前方または逆方向予測は現在入力フレーム(すなわち、ピクチャー)内のデータを符号化する。したがって、予測符号化に用いられる参照フレームは、以前の参照フレームであるか、次の参照フレームである。現在入力フレーム内の所定の入力ブロックの画素(例えば、16×16配列の画素)に対して、予測符号化は所定の探索範囲内で、連続的に前記ブロックを参照フレーム内で移動させる動き補償予測(MCP)を用いて、参照フレーム内で前記入力ブロックと少なくとも所定の最小相関関係の程度を有する16×16画素配列が存在しているかを決定する。もし、前記所定の最小相関関係程度を有する配列が存在するならば、発見された前記参照フレームの16×16画素配列と入力ブロック間の変位の大きさ及び方向が水平及び垂直成分を有する動きベクトル(Motion Vector:MV)形態で得られる。入力ブロックの画素値(例えば、輝度値、色差値)と前記発見された参照フレームの16×16画素配列内部の対応する画素との相対的な値の差は、動き補償予測エラー値である。前述したように、以前の参照フレームからの予測は前方予測と言及され、次の参照フレームからの予測は逆方向予測と言及される。もし、参照フレームで関連した16×16ブロックが探索範囲内で発見されていないならば、入力ブロックは、入力フレーム内でイントラコーディングされ、I−ブロックと言及される。双方向予測において、入力ブロックの値は、以前及び以後の参照フレーム各々に存在する2個の16×16ブロックに基づいて予測しうる。前述した16×16画素ブロックについての説明は、例示的なものに過ぎず、本発明による思想は他の多様な画素配列サイズを有する画素ブロックに対しても適用しうる。例えば、可変サイズブロックマッチング(VSBM)において、ブロックサイズは最小4×4である。
【0012】
現在入力フレーム内部の非連結されたブロックはI−ブロックまたはP−ブロックのうちいずれか1つに分類される。I−ブロックは、フレームに関して前方または逆方向予測に用いられる参照フレーム内の対応するブロックの画素と十分な相関関係(例えば、所定の最小相関関係程度)を持たない現在入力フレーム内の入力ブロックと定義される。十分な相関関係の不足により、I−ブロックは、参照フレームと独立的に所定のフレーム内で全体としてエンコーディングされる。P−ブロックは、参照フレームが所定フレームに先行するという前提の下に参照フレームから前方予測により、参照フレームが所定フレームに後続するという仮定下で逆方向予測により、または以前及び以後の参照フレームをいずれも用いる双方向予測によってエンコーディングされる。
【0013】
I−ブロックの例として以前のフレームで対応する画素を持たない現在入力フレーム内の新たに露出された画素のブロックを挙げられる。I−ブロックの他の例として、特に現在入力フレームで部分的に覆われるか、または部分的に閉鎖された画素のようによくマッチされない動きブロックが含まれる。ここで、よくマッチされない動きブロックは、参照フレームの対応するブロック画素と十分な相関関係を持てない。本発明は、I−ブロックを決定して符号化する方法を提供する。
【0014】
本発明は、動きの品質に関連して、これは動き補償時間フィルタリング(MCTF)は、前記品質(quality)に多少敏感であるからである。従来MPEG標準案でのブロック基盤動きはMCTF及び結果的なケーラブルビデオコーダによって出力される低フレーム率のビデオで発生する欠陥を避け難いために、高い品質を提供するには十分ではない。現在、VSBMも信頼性あるように欠陥を避けるには十分ではない。対照的に、本発明はMCTF使用のためにさらに軟らかくて一貫性ある動きを決定し、コーディングする方法を提供する。
【0015】
定義
本発明を説明するに当って使われる用語を次の通り定義する。
【0016】
“ビデオコーディングシステム”は、ビデオデータを符号化するシステムである。
【0017】
“ビデオコーダ”は、リダンダンシーを除去して制御された歪曲を導入することによって、ビデオクリップの保存に必要なビット数を減少させるアルゴリズムである。
【0018】
“サブバンド/ウェーブレットコーダ”は、リダンダンシー減少過程においてサブバンド/ウェーブレット変換を使用するビデオコーダである。
【0019】
“時間的相関関係”は、隣接したまたは近いフレームの画素間の相関関係である。
【0020】
“空間的相関関係”は、同じフレーム内の画素間の相関関係である。
【0021】
“動き予測”は、他のフレームのマッチングされるブロックを位置させる動きまたは変位ベクトルの予測である。
【0022】
“動き補償(MC)”は、現在フレーム内のブロックを他のフレーム内のマッチングされるブロックに実際的に整列させる過程である。
【0023】
“動き補償時間フィルタリング(MCTF)”は、後述する図2と関連して記述される方式であって、ブロックまたは画素の配列を時間軸(すなわち、動き経路(trajectory))に沿ってフィルタリングする過程である。
【0024】
“低(low)時間フレーム”は、1対(またはさらに大きな集合)のフレームで共通する低い空間周波数を含むフレームである。
【0025】
“高(high)時間フレーム”は、1対(またはより大きな集合)のフレームでMC差を構成する高い空間周波数を含むフレームである。
【0026】
“時間的リダンダンシー”は、隣接したまたは近いフレームの画素間の相互依存性(dependancy)を表す。
【0027】
“ブロックマッチング”は、何れか1フレームから隣接したまたは近いフレームで画素ブロックの動きを予測する方法である。
【0028】
“可変サイズブロックマッチング(Variable Size Block Matching:VSBM)”は、動きフィールドをさらによく表すために可変サイズブロックを使用するブロックマッチング動き予測である。ブロックサイズは、特に、4×4から64×64の範囲でありうる。
【0029】
“階層的(Hierarchical)VSBM(HVSBM)”は、最も低い解像度から最も高い解像度に進みつつ、VSBMを行うに当って階層的な空間解像度を用いる動き予測方法である。
【0030】
“重複されたブロック動き補償(OBMC)”は、結果的な動き基盤予測をさらに軟らかくして隣接ブロック間のモーションベクトル不連続の効果を減すrか、除去するブロック基盤動きを向上させる方法である。
【0031】
“全域動きベクトル”は、関連したブロックサイズがフレームサイズと同じ全体フレームに用いられる動きベクトルである。
【0032】
“非連結領域”は、参照フレームで対応する領域を持てないか、または動きが非常に複雑で動き予測者が的確に追いつけない映像フレーム領域である。
【0033】
“動き補償予測(MCP)”は、動きベクトルを現在フレームの予測のための使用に先立って以前に伝送されたフレームを移動(warp)と、結果的な予測エラーのみを量子化して伝送するデータ減少技術である。
【0034】
“変位フレーム差(Displaced frame difference(DFD)”)は、動き補償予測によって発生するエラーである。
【0035】
“ハイブリッドコーダ”は、MPEG2のように時間的にデータを圧縮するためにフィードバックループ内でMC予測を使用し、その後、結果的な予測エラーを空間変換コーディングするビデオコーダである。
【0036】
動き補償時間フィルタリング(Motion Compensated Temporal Filtering:MCTF)
スケーラブルビデオコーディングは、国際標準化機構(ISO)の動映像専門家グループ(MPEG)内で調査される分野である。MPEGの目的は、結合されたオーディオ及びビデオ信号の伝送及び保存に関連した国際的な標準を用意するところにある。このための核心要素は、視聴覚的な信号の非圧縮時に大きなサイズによって、このような視聴覚的信号を圧縮するのにある。スケーラブルビデオコーダは、スケーラブルコーダに入力されるフル(full)フレーム率及びフル解像度に付加し、あらゆる範囲のビットレート、さらに低い解像度及びさらに低いフレーム率を含む埋め込まれたビットストリームを提供する。前記埋め込みによって、さらに低いビット率結果はさらに高いビット率を有するストリーム各々に埋め込まれる。
【0037】
図1は、本発明の望ましい実施形態によるビデオコーディングシステム50を示す図である。入力ビデオ51は、MCTF処理部52によって受信され、16個の入力フレームのようなピクチャーのグループ(GOP)を含む。各フレームは、画素を有し、各画素は、輝度及び色差の画素特徴のための画素値を有する。MCTF処理部52によって処理される各ブロックデータに対して、前記MCTF処理部52は、動きベクトル形態の動き情報を必要とする。したがって、前記入力ビデオ51のデータは、前記MCTF処理部52から、動きベクトルを決定し、決定された動きベクトルを再び動き補償時間フィルタリングを行う前記MCTF処理部52に伝送する動き予測部56に伝送される。また、動き情報は、動きフィールドコーディング処理部57でコーディングされた後、パケット化部55に伝送される。特に、本発明による動きフィールドコーディング処理部57は、コンテキスト基盤の適応型2進算術符号化(Context Based Adaptive Arithmetic coder:CABAC)を用いてモーションベクトルをスケーラブルに符号化する。
【0038】
MCTF処理部52は、後述する図2についての説明で記述されるように、入力ビデオ51の入力フレームから誘導される、変換された画素値を有する1つの低時間フレーム及び複数の高時間フレームを含む出力フレームを発生させる。発生した出力フレームは、サブバンドウェーブレットコーダ、すなわち、離散ウェーブレット変換を用いて空間的に分析されることによって、空間分析部53によって処理される。MCTF処理部52を使用することによって、ビデオコーディングシステム50は、フィードバックループを有するハイブリッドコーダで見られる流動性(drift)問題を経ない。
【0039】
空間分析部53は、発生した出力フレーム(すなわち、1つの低時間フレーム及び複数個の高時間フレーム)を1つの低い周波数帯域及び益々高い周波数の増加するスケールを有する帯域に分解する。したがって、前記空間分析部53は、時間領域で前記MCTF処理部52によって行われる画素変換と類似した方式で空間サブバンドを誘導するための空間的画素変換を行う。空間分析部53の出力は、圧縮されていない浮動小数点(floating point)データであり、複数のサブバンドは大部分0値近くの値で構成されうる。
【0040】
空間分析部53によって発生する空間で、このような空間サブバンドは品質/ビット率、空間解像度及びフレーム率に完全に埋め込まれていない時間的相関関係を用いるサブバンド/ウェーブレットコーダ系列のうち1つであるEZBC(Embedded Zero Block Coder)54に伝送される。前記EZBC54アルゴリズムは、各空間解像度と高時間サブバンドとを個別的にコーディングすることによって基本的なスケーラビティー(scalability)特性を提供する。前記EZBC54は、サブバンド係数を量子化し、前記量子化されたサブバンド係数にビットを割り当てる圧縮ブロックを含む。前記量子化は、前記空間分析部53の浮動小数点の出力を2進ビット表現で変換し、次いで無視できる歪曲が発生する程度で前記2進ビット表現を短縮(truncation)することで、相対的に重要でないビットを廃棄する。前記EZBC54は、固定されたビットストリングを可変長ストリングに変換し、その結果、追加的な圧縮を実現する適応的算術コーダである。したがって、前記EZBC54は、量子化器及び条件付き適応的算術コーダ(Conditional Adaptive Arithmetic Coder)と呼ばれる可変長コーダである。一方、量子化器は、ビットを捨てるものであり、前記可変長コーダは前記量子化器からの出力を損失なく圧縮する。前記EZBC54によって発生したビットストリームは、インターリービングされて前記パケット化部55に伝送される。前記EZBCコーダは、他の適した埋め込みまたは階層的コーダ、例えば、JPEG2000などに代替されうる。
【0041】
パケット化部55は、前記EZBC54によって発生したストリームのビットと動きフィールドコーディング部57から伝送された(今後のデコーディングのために必要な)動きベクトルのビットを結合し、所望の大きさのパケット(例えば、500キロバイトまたはそれ以下のインターネットパケット)にビットの組合わせを分解する。前記パケット化部55は、連続的に前記パケットを通信チャンネルを通じて目的地(例えば、符号化されたビデオ情報を保存する所定の保存領域)に送る。
【0042】
図2は、本発明の望ましい実施形態によって、例示的に16個のフレームサイズを有するGOPについて前記図1のMCTF処理部52によって具現されるMCTF処理過程を示す図である。図2において、連続的なフィルタリングのMCTF処理過程での5レベル、すなわち、各々16、8、4、2及び1フレームを有するレベル5、4、3、2及び1を図示している。したがって、各レベルN(N=1、2、3、4、5)は、2N−1個のフレームを含む。レベル5は、前記図1の入力ビデオ51の16個の入力フレーム、すなわち、左側から右に増加する方向の順序で配列された入力フレームF1,F2,…,F16を含む。MC時間フィルタリングは次の下位時間スケールまたはフレーム率の低時間(t−L)及び高時間(t−H)サブバンドフレームを生成するためにフレーム対に対して行われる。図2において、実線は低時間フレームを示し、点線は高時間フレームを示す。各時間スケールで、曲線は対応する動きベクトルを示す。
【0043】
図2で、MC時間フィルタリングは、4回実行されて5個の時間スケールまたはフレーム率、すなわち、元フレーム率及び4つのさらに低いフレーム率を発生させる。前記発生したフレーム率は、レベル5、4、3、2及び1各々でフルレート、1/2フルレート、1/4フルレート、1/8フルレート及び1/16フルレートである。したがって、もし、入力フレーム率が秒当たり32フレーム(frames per second:fps)ならば、レベル1での最低結果フレーム率は2fpsである。図2で、最適フレーム率は、(1)と表示し、次の上位のフレーム率は(2)と表示した。
【0044】
レベル5からレベル4までの動き予測及び関連した時間フィルタリングで、前記図1の動き予測部56は、F1からF2、F3からF4、F5からF6、F7からF8、F9からF10、F11からF12、F13からF14、及びF15からF16への動き予測を行って各々関連した動きベクトルM1、M2、M3、M4、M5、M6、M7及びM8を決定する。前記図1のMCTF処理部52は、フレームF1及びF2に対した時間フィルタリングを行って低時間フレームL1及び高時間フレームH1を発生させ、フレームF3及びF4に対して時間フィルタリングを行って低時間フレームL2及び高時間フレームH2を発生させ、フレームF5及びF6に対して時間フィルタリングを行って低時間フレームL3及び高時間フレームH3を発生させ、フレームF7及びF8に対して時間フィルタリングを行って低時間フレームL4及び高時間フレームH4を発生させ、フレームF9及びF10に対して時間フィルタリングを行って低時間フレームL5及び高時間フレームH5を発生させ、フレームF11及びF12に対して時間フィルタリングを行って低時間フレームL6及び高時間フレームH6を発生させ、フレームF13及びF14に対して時間フィルタリングを行って低時間フレームL7及び高時間フレームH7を発生させ、及びフレームF15及びF16に対して時間フィルタリングを行って低時間フレームL8及び高時間フレームH9を発生させる。一般的に、子フレームで対応する画素値をV及びVとすれば、Haarフィルターが時間フィルタリングに使われる特殊な場合において、低時間及び高時間フレームで対応する画素値は各々V+V及びV−Vに比例する。したがって、低時間フレームの画素値は、子フレームで対応する画素値の平均に比例する。逆に、高時間フレームの画素値は、子フレームで対応する画素値間の差に比例する。したがって、子フレームで画素値が互いに近ければ、高時間フレームの画素は低いエネルギー(すなわち、複数の値が0近くにある)を有し、これにより、さらに大きく圧縮しうる。
【0045】
レベル4からレベル3への動き予測及び関連した時間フィルタリングにおいて、前記図1の動き予測部56は、L1からL2、L3からL4、L5からL6、及びL7からL8への動き予測を行って各々関連した動きベクトルM9、M10、M11及びM12を決定する。前記図1のMCTF処理部52は、フレームL1及びL2に対して時間フィルタリングを行って低時間フレームL9及び高時間フレームH9を発生させ、フレームL3及びL4に対して時間フィルタリングを行って低時間フレームL10及び高時間フレームH10を発生させ、フレームL5及びL6に対して時間フィルタリングを行って低時間フレームL11及び高時間フレームH11を発生させ、及びフレームL7及びL8に対して時間フィルタリングを行って低時間フレームL12及び高時間フレームH12を発生させる。
【0046】
レベル3からレベル2への動き予測及び関連した時間フィルタリングで、前記図1の動き予測部56は、L9からL10、及びL11からL12への動き予測を行って各々関連した動きベクトルM13及びM14を決定する。前記図1のMCTF処理部52は、フレームL9及びL10に対して時間フィルタリングを行って低時間フレームL13及び高時間フレームH13を発生させ、及びフレームL11及びL12に対して時間フィルタリングを行って低時間フレームL14及び高時間フレームH14を発生させる。
【0047】
レベル2からレベル1への動き予測及び関連した時間フィルタリングで、前記図1の動き予測部56は、L13からL14への動き予測を行って関連した動きベクトルM15を決定する。前記図1のMCTF処理部52は、フレームL13及びL14に対して時間フィルタリングを行って低時間フレームL15及び高時間フレームH15を発生させる。
【0048】
前記図2のMCTF実行結果、この例示的な5個のレベルで低時間フレームL15及び高時間フレームH1,H2,…,H15で構成された16個のフレームは、前記MCTF処理部52から出力として前記図1の空間分析部53に伝送される。前述したように、前記高時間フレームH1,H2,...,H15は、複数の0値近くの値を含むために、前記高時間フレームH1,H2,...,H15は高い圧縮が可能である。
【0049】
L15,H1,H2,...,H15のフレームが与えられれば、レベル2、3、4及び5のフレームは、前記L15,H1,H2,...,H15のフレームを発生させる過程を順次に逆にすることによって、再生成しうる。例えば、レベル1のフレームL15及びH15は、数学的に結合されてレベル2のL13及びL14を再生成する。同様に、レベル2のL13及びH13は、数学的に結合されてレベル3のL9及びL10フレームを再生成し、レベル2のL14及びH14は、数学的に結合されてレベル3のL11及びL12を再生成する。このような過程は、レベル1のF1,F2,...,F16のフレームが再生成されるまで、順次に続くことができる。前記図1のEZBC54によって行われる圧縮は損失的であるために、前記レベル2−5の再生成されたフレームは時間的にフィルタリングされる前のレベル2−5の元のフレームと正確ではないが、概略的に同一である。
【0050】
I−ブロックの検出及び処理
図2と関連して前述したように、MCTF分解は、複数のフレーム対に対して同様に適用されるために、前記図2の1つのレベルで代表的な1対の連続的なフレーム(例えば、レベル4のフレームL1及びL2)に焦点を合わせる。このような1対の連続的なフレームの2つの代表フレームをフレームA及びBと表し、前方予測はフレームAからフレームBに実行され、フレームAがフレームBより時間的に先行される。フレームBで新たに露出された画素はフレームAに対応する画素がない。同様に、画素Aで見られていない画素は、画素Bで対応する画素がない。本発明は、フレームBで新たに露出される画素から誘発される劣悪にマッチングされる動きブロックを局部的に処理するためにI−ブロックを使用する。後述するように、本発明によって識別されるI−ブロックに対し、MC時間フィルタリングは省略され、代りにI−ブロックでの画素値を決定するために空間補間が用いられる。I−ブロックに対する結果的な空間補間エラーブロック(また“補間されたI−ブロックのレジデュアルエラーブロック”という)は、次に関連したMCTF高時間フレームの対応するブロックにオーバーレイ(すなわち、挿入)される。
【0051】
本発明は、入力フレームA及びBを有する代表対のように、入力フレームの対において動き補償されたブロックを用いる時空間的または空間−時間変換を含むビデオ圧縮方法を開示する。このようなブロックは、多様な大きさを有して局部動きベクトルフィールドにマッチされるように選択され、高い空間変化度(gradient)を有するフィールドでは小さなブロックが存在し、空間変化度の小さいさらに平らな領域では大きいブロックが存在する。このようなブロック基盤動きフィールドは、時空間的変換を制御するのに利用され、概略的な動き経路に沿ってフィルターされる。このような変換の結果は、伝送または保存のために圧縮される。
【0052】
例えば、静的な背景客体の前を通るボールのような動きによって、フレームで覆われるか、露出される領域のために一部のブロックは(時間上)、次のフレームの近所に連結されれないこともある。低いフレーム率のビデオでMC時間フィルタリングが欠陥を招く恐れがあるために、そのような領域(すなわち、I−ブロック)はMC時間フィルタリングに参加してはならない。このようなI−ブロックは、高時間フレームの他のブロック(すなわち、P−ブロック)に沿って圧縮される必要がある。P−ブロックは、空間補間を通じて非連結されたI−ブロックを空間的に予測するのに用いられる。したがって、このようなI−ブロックは、非ハイブリッド(non−hybrid)MCTFで処理されることが望ましい。
【0053】
図3は、本発明の望ましい実施形態によって、MCTF高時間フレームでI−ブロックを用いるステップ31−38を示すフローチャートである。
【0054】
ステップ31において、1つのMCTFフィルタリングレベルで2つの連続的なフレームA及びBを用いて、フレームAからフレームBに前方予測が行われる。例えば、フレームA及びBは、前記図2のレベル5でフレームF1及びF2、または前記図2のレベル4のフレームL1及びL2を表しうる。
【0055】
ステップ32及び33において、フレームA及びBそれぞれの画素の連結状態を決定する。フレームA及びB内の各画素は次の通り“連結された”または“非連結された”もののうち、1つの連結状態を有すると分類される。図4は、フレームAのA1,A2,...,A12画素及びフレームBのB1,B2,…,B12画素を図示している。画素A1,A2,A3及びA4は、フレームのAのブロック1内に存在する。画素A5,A6,A7及びA8は、フレームのAのブロック2内に存在する。画素A9,A10,A11及びA12は、フレームのAのブロック3内に存在する。画素B1、B2、B3及びB4は、フレームのBのブロック1内に存在する。画素B5、B6、B7及びB8は、フレームのBのブロック2内に存在する。画素B9、B10、B11及びB12は、フレームのBのブロック3内に存在する。フレームA内の画素は、フレームAからフレームBへの前方動き予測と関連してフレームB内の画素のための参照として用いられる。フレームA及びBのブロックが4×4画素ブロックであり、前記図4は、単に各4個の列ブロックのうち、1つの列のみを示している点に留意せねばならない。図4において、フレームBの1画素Pから矢印で示すフレームAの一画素Pは前記画素Pの参照として利用されている。例えば、フレームAの画素A1は、フレームBの画素B1の参照として利用されている。
【0056】
ステップ32において、フレームAの一画素は、フレームBの如何なる画素によっても参照として利用されていないならば、非連結されたものと分類される。したがって、画素A7及びA8は非連結された。フレームAの一る画素はフレームBの画素によって参照として利用されれば連結されたものである。したがって、画素A1−A6及びA9−A12は連結されたものである。しかし、画素A3及びA4各々はフレームBの1つ以上の画素によって参照として利用されているために、特別の取扱を必要とする。例えば、画素A3は、フレームBの画素B3及びB5によって参照として利用されており、本発明は画素B3及びB5両方に対するものではなく、画素B3または画素B5のうち、1つの参照として画素A1を維持するための(下記で定義されるように)最小自乗−平均変位フレーム差(minimum mean−squared displaced frame difference(DFD))計算に基づいたアルゴリズムを用いる。画素A3は、フレームAのブロック1の内部に存在し、画素B3はフレームBのブロック1の内部に存在するという点を留意しつつ、前記アルゴリズムはフレームAのブロック1とフレームBのブロック1との間の自乗−平均DFDであるDFD11を計算する。画素A3は、フレームAのブロック1の内部にあり、画素B5はフレームBのブロック2内部にある点を留意しつつ、前記アルゴリズムはフレームAのブロック1とフレームBのブロック2との間の自乗−平均DFDであるDFD12を計算する。もし、DFD11がDFD12より小さければ、画素A3は画素B3の参照として維持され、画素B5の参照としては脱落される。もし、DFD12がDFD11より小さければ、画素A3は画素B5の参照として維持され、画素B3の参照としては脱落される。もし、DFD11とDFD12とが同一であれば、多様なタイブレーカー(tie−breaker)が利用されうる。このようなタイブレーカーの一例は画素B3及びB5のうち、いずれでも先に画素A3を参照として利用する画素に対して、前記画素A3が参照として維持され続ける“スキャン順序”である。2番目のタイブレーカーの例は、0と1との間の均一な分布から任意の数字Rを選択し、もし、前記Rが0.5より小さければ、前記画素A3を画素B3の参照として維持するか、または前記Rが0.5以上ならば、前記画素A3を画素B5の参照として維持することである。図4の例で、DFD11はDFD12より小さく、画素A3は画素B3の参照として維持され、画素B5の参照としては脱落される。類似すように、画素B4及びB6各々は、画素A4を参照として用いて、前述したDFD−基盤のアルゴリズムは、前記画素A4が前記画素B4またはB6両方のためのものでなく、前記画素B4またはB6のうちいずれか1つのための参照として維持されるのに用いられうる。図4の例で、画素A4は画素B4の参照として維持され、前述したDFD−基盤アルゴリズムに基づいて画素B6の参照としては脱落された。
【0057】
ステップ33で、フレームAの一画素がフレームBの一画素以上によって参照として用いられる場合を解決するのにDFD−基盤アルゴリズムが適用された後、フレームAの参照画素を利用しないフレームBの一画素は連結していないものと表示される。例えば、前述したように、DFD−基盤アルゴリズムを適用した後、画素A3及びA4は各々画素B5及びB6の参照としては脱落された。したがって、画素B5及びB6は非連結された。他のフレームBの画素は連結された。したがって、画素B1−B4及びB7−B12は連結された。もし、前述したDFD−基盤アルゴリズムが実行されたとすれば(すなわち、フレームAの画素の連結状態が決定された時)、画素A3及びA4は既に画素B5及びB6の参照として脱落されたために、図4で画素B5から画素A3を示す矢印及び画素B6から画素A4を示す矢印は意味がなくなるという点を留意せねばならない。図4では、ステップ33がステップ32に後続して行われることを示しているが、前記ステップ33は、ステップ32以前に行われることもある。フレームAの一画素がフレームBの一画素以上で参照として用いられる場合を解決する前述したDFD−基盤のアルゴリズムは、前記ステップ32及び33が行われる以前に、行われる間にまたは実行された後で実行されうる。さらに他の例として、もし、ステップ33がステップ32に先立って行われるならば、前述したDFD−基盤のアルゴリズムはステップ33以前、ステップ33とステップ32との間、またはステップ32以後に実行されううる。
【0058】
ステップ32及び33を行った結果として実際に必要なのは、フレームAに関連したフレームBの各画素の連結状態(すなわち、連結または非連結)である。したがって、ステップ32は、省略できる。なぜなら、フレームBの各画素の連結状態は、フレームBの各画素に対するフレームAの参照画素の情報を要求するものであって、フレームAの各画素の連結状態に関する情報を要求するものではないためである。
【0059】
フレームAの一ブロックとフレームBの一ブロックとの間の自乗−平均DFDは次のように定義される。nは、前記ブロックそれぞれの画素の数である。VA1,VA2,...,VAnをフレームAのブロックの画素値(例えば、輝度または色差)と称する。VB1,VB2,...,VBnをフレームBのブロックの対応する画素の値と称する。フレームAのブロックとフレームBのブロックとの間の前記自乗−平均DFDは次の式(1)のようである。
【0060】
自乗−平均 DFD = [(VA1−VB1 + (VA2−VB2 + ... + (VAn−VBn] / n (1)
前述したDFD−基盤のアルゴリズムは、高性能のビデオコーダで用いられるように、サブ画素間の連結に関連してサブ画素正確度を有する動きベクトルにも適用されうる。サブ画素は、隣接した画素間の位置である。補間されたサブ画素は、前記DFDを計算するのに用いられる。したがって、参照画素が整数ではない時、既定の空間補間形態を使用することを除いては、DFDアルゴリズムに他の変化は不要である。例えば、分離可能な9−タブ(tap)FIR補間フィルターがこのような目的のために利用されうる。
【0061】
図4のステップ32及び33が実行された後、フレームA及びフレームBのあらゆる画素は“非連結された”または“連結された”ものに分類される。前述したDFD−基盤のアルゴリズムは、フレームBの2つまたはそれ以上の画素からフレームAの一参照画素への多重連結を除去するために、フレームAの各“連結された”画素はフレームBの一画素に正確に連結され、その反対の場合も同じである。
【0062】
ステップ34は、本発明の望ましい実施形態によって、フレームBのブロックを“単一連結した(uni−connected)”または“非連結された”ものに分類する。一フレームの一ブロック内の画素の少なくとも分数Fが連結されていないならば、そのブロックは、“非連結された”ブロックである。そうでなければ、そのブロックは、“単一連結された”ブロックである。I−ブロックは、別途の処理時間を要求するために、前記分数Fは映像品質と処理時間のトレードオフ(trade off)を反映する値を有する。前記分数Fは、特に、少なくとも0.50(例えば、0.50〜0.60、0.50〜0.75、0.60〜0.80、0.50〜1.00、0.30〜1.00、0.50〜1より小さな範囲内)の値を有する。フレームBの単一連結されたブロック内の画素が連結されたフレームAの参照画素を調べることによって、フレームBの各単一連結したブロックに対するフレームAのマッチングされたブロック(“フレームAの単一連結されたブロック”と称する)が決定されうる。フレームA及びBの結果的な単一連結されたブロックは単一連結されたブロックのマッチングされた対の集合を構成し、ここで各マッチングされた対はフレームBの単一連結されたブロック及びフレームAのマッチングされた単一連結されたブロックで構成される。単一連結されたブロックのマッチングされた対を各々フレームA及びフレームBで第1及び第2の単一連結されたブロックと示す。
【0063】
ステップ35で本発明の望ましい実施形態によって、前記単一連結されたブロックのマッチングされた対の第1及び第2の単一連結されたブロックを次の再分類基準を満たす場合に非連結されたものと再分類する。V及びVを各々第1及び第2の単一連結されたブロックの画素分散という。一ブロックで画素分散はそのブロック内の画素値とそのブロックの平均画素値間の自乗−平均偏差である。VMINをV及びVの最小値と表示する。これにより、前記最初及び2番目のブロック間の自乗−平均DFDがfVMIN(ここで、fは0と1との間の実数)を超えれば、前記第1及び第2の単一連結されたブロックは、非連結されたブロックに再分類される。例えば、fは、特に、0.4〜0.6、0.5〜0.7、0.4〜0.75、0.5〜0.9、0.4〜1.00などの範囲であり得る。ステップ35が実行された後、フレームBの各ブロックを“非連結された”または“連結された”ものに分類することが完了する。
【0064】
ステップ36で本発明の望ましい実施形態によって、フレームBの非連結された各ブロックをP−ブロックまたはI−ブロックにカテゴリーを分ける。後述するように、I−ブロックは、前記I−ブロック外部の隣接した画素から抽出される空間的に補間された値によって代替された初期画素値を有する。I−ブロック画素の初期画素値と空間的に補間された画素値との差は、補間されたI−ブロック画素のレジデュアルエラーである。I−ブロック内のあらゆる画素でレジデュアルエラーのブロックは、I−ブロックのまたはI−ブロックと関連したレジデュアルエラーブロックと称する。
【0065】
非連結されたブロックがI−ブロックであるか、またはP−ブロックであるかを決定するために、補間されたI−ブロックが形成され、そのレジデュアルエラーブロックが計算され、レジデュアルエラーブロック内のレジデュアルエラーの和(SRES)の絶対値も計算される。SRESは、“レジデュアル補間エラー”とも呼ぶ。レジデュアルエラーは、レジデュアルエラーブロックの画素でのエラーである。また、前方及び逆方向動き補償予測は非連結されたブロックに対して行われる。前方及び逆方向動き補償予測エラーのDFD絶対値の和が計算される。前記前方及び逆方向動き補償予測エラーのDFD絶対値の和の最小値(SMC−MIN)が決定される。SMC−MINは、また非連結されたブロックの“最小動き補償エラー”とも称する。非連結されたブロックは、SRESがSMC−MINより小さくなければ、P−ブロックに分類される。
【0066】
ステップ37で、本発明の望ましい実施形態によって前記ステップ36で決定されたI−ブロックは、利用可能な隣接画素から空間補間によって処理され、前記補間されたI−ブロックと関連したレジデュアルエラーブロックが生成される。一フレーム内のブロックは固定されたサイズまたは可変サイズを有することができる。後述するように、図5−7及び9は、本発明の望ましい実施形態によって固定されたブロックサイズを有する場合の補間についてのものであり、図8は可変ブロックサイズを有する場合の補間についてのものである。
【0067】
ステップ38で、補間されたI−ブロックと関連したレジデュアルエラーブロックは、前記図2の空間分析部53の実行後に前記EZBC54による関連高時間フレームの圧縮のために、分析されているフレーム対A及びBに関係された関連した高時間フレームにオーバーレイ(すなわち、その内部に位置)される。後述する図7Cでは、前記レジデュアルエラーブロックが多数の0値近くの値を有し、これによって効率的な圧縮に適しているということを図示している。
【0068】
図5は、I−ブロック、P−ブロック、及び単一連結されたブロックを含むフレームを示す。前記I−ブロックは、ブロック1−3を含み、P−ブロック及び単一連結されたブロックは、ブロック4−10を備える残りのブロックを含む。各I−ブロックは、4つの可能な隣接したブロック:上側ブロック、下側ブロック、左側ブロック及び右側ブロックを有する。ここで、用いられる補間アルゴリズムで、一フレームのブロックはスキャン順序によって処理され、単に“利用可能な”ブロック(すなわち、画素値を有する以前に処理されたI−ブロック、元のデータを有するP−ブロック、及び/または単一連結されたブロック)は空間補間のために使われうる。例えば、図5でブロック1に対して左側から右側及び上側から下側のスキャン順序を使用すれば、ブロック2及びブロック3はいずれも利用できないために、隣接ブロック4−5のみがブロック1の空間補間のために利用されうる。しかし、ブロック2において、ブロック1が補間された後でブロック2の空間補間のために利用可能な4個の隣接ブロック、すなわち、ブロック1及び6−8が存在する。同様に、ブロック1が補間された後に、ブロック3の空間補間のために利用可能な4個の隣接ブロック、すなわち、ブロック1及び8−10が存在する。
【0069】
空間補間は前述した左側から右側及び上側から下側のスキャニング規則のようなラスタースキャニング規則によって行われる。利用可能な隣接ブロック及びその位置に基づいて他の補間関数が存在する。図6は、次の表示を示したものである:“u”は上側の隣接画素、“lw”は下側の隣接画素、“lf”は左側の隣接画素、“r”は右側の隣接画素、“in”はI−ブロックで補間された画素値を表す。補間は、線形的であるか、非線形的であり、多様な相異なる補間方式が利用されうる。
【0070】
図7Aなしい図7C(包括的に“図7”と称する)は、1つの隣接ブロックのみが利用可能な場合を示す図である。図7Aの4×4画素サイズのIブロック40は列セグメント41−44によって定義され、ブロック40上側の隣接した上側ブロックで列セグメント45のみが利用可能な隣り合いと仮定する。図7Aで、I−ブロック40に対して図示された例示的な画素値は空間補間以前の初期値である。列セグメント45の画素値は、空間補間のために使われる。このような場合のために、表1のC−コードが空間補間を実施するために用いられる。
【0071】
【表1】


図7Bは、前記表1のC−コードの実行結果によるI−ブロック40の結果的な補間された値を示す図である。図7Cは、前記図7Aの初期画素値から前記図7bの補間された画素値を差し引いて決定されたレジデュアルエラーブロックを示す図である。図7Cに示されたレジデュアルエラーブロックは、図2のEZBC54による関連した高時間フレームの圧縮のために、分析されているフレーム対A及びBに関連した高時間フレーム内にオーバーレイ(すなわち、位置)される。図7Aないし図7Cは、上側の隣接画素のみが補間のために利用可能な実施形態について説明したが、左側、右側または下側の隣接画素のみ補間のために利用可能な場合にも前述した上側隣接画素を利用した場合から、または適切な座標回転を通じて同様に推論されうる。
【0072】
表2及び表3は、2個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表2は、図6に図示された表示によって上側及び左側位置の利用可能な隣接画素を用いて4×4 I−ブロックでin[0]...in[15]の補間された画素値(図6参照)を計算するための公式を具体化したものである。表3は、図6に示された表示によって上側及び下側位置の利用可能な隣接画素を用いて4×4 I−ブロックでin[0]...in[15]の補間された画素値を計算するC−コードを具体化したものである。
【0073】
【表2】


2つの隣接ブロックが利用可能な場合の他の実施形態も各々表2及び3と関連して前述した前記“上側及び左側”または“上側及び下側”隣接した場合と類似するように誘導されるか、または適切な座標回転を通じて誘導されうる。
【0074】
表4は、3個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表4は、図6に示された表示によって上側、左側及び右側位置の利用可能な隣接画素を用いて4×4I−ブロックでin[0]...in[15]の補間された画素値(図6参照)を計算するC−コードを具体化したものである。
【0075】
【表3】


3つの隣接ブロックが利用可能な場合の他の実施形態も各々表4と関連して前述した前記“上側、左側及び右側”に隣接した場合と類似して誘導されるか、または適切な座標回転を通じて誘導されうる。
【0076】
表5は、4個の隣接ブロックが利用可能な場合の補間アルゴリズムを示す図である。表5は、図6に示された表示によって上側、下側、左側及び右側位置の利用可能な隣接画素を用いて4×4I−ブロックでin[0]...in[15]の補間された画素値(図6参照)を計算するC−コードを具体化したものである。
【0077】
【表4】


図8は、ブロックサイズが4×4から64×64範囲の5−レベル階層的可変サイズブロックマッチングから発生する可変ブロックサイズの場合を示す図である。図8の例で、I−ブロック11、12が図示された。ブロック11は、8×8画素サイズを有し、ブロック12は4×4画素サイズを有する。I−ブロック11、12が前述した左側から右側及び上側から下側のスキャニング順序(すなわち、ブロック12が補間された以前にブロック11が補間される)によって処理されるならば、ブロック12はブロック11の補間に用いられない。補間を簡単化するために、ブロック11は、補間目的のために4個の分離された4×4 I−ブロックからなり、空間補間は固定された−ブロック補間として具現されうる。
【0078】
図9Aないし図9F(包括して、“図9”と称する)は、本発明の望ましい実施形態によるI−ブロックの画素値を決定する方向空間補間方式を示す図である。図9Aないし図9Fは、フレーム60の一部分内の4×4 I−ブロック61を示す。フレーム60の部分は、画素P11…P99)を含む。I−ブロック61は、画素P22、P23、P24、P25、P32、P33、P35、P42、P43、P44、P45、P52、P53、P54及びP55を含む。図9Aないし図9Fで、I−ブロック61内に存在していないあらゆる画素はI−ブロック61の画素の隣り合いである。I−ブロック61の画素の補間は、図9Aに示されたように、X軸と固定された角度θを有する平行線のうち1本、すなわち、ライン66に沿う。図9Bないし図9Fの各図は、他のθ値を有する場合の実施形態を表す。例示的にθ値を予測し、説明の便宜上、各画素は正四角形であると仮定する。したがって、図9Aで、画素P25、P34、P43及びP52の対向する頂点を対角線に貫通するライン66によるθ=45゜である。もちろん、前記画素が長方形や非長方形を有する場合、前記図9Aのライン66によるθは45°と異なる。ここで、θ及びθ+180は、同じ集合の平行線を表すという点に留意せねばならない。このような各ラインに沿う補間は前記ライン上の利用可能な最近接隣り合いの画素値を用いて、ここで、利用可能な隣り合いは以前に設立された画素値を有する隣り合いである。方向補間方式は平行線の各ラインに対して少なくとも1つの隣り合いが常に利用可能であるということを仮定する。
【0079】
図9Bは、平行線63、64,...,69に対してθ=45゜である場合の方向補間を示す図である。前記ライン63、64,...,69を“方向ライン”と呼ぶ。ライン63は、画素P22を貫通するために、ライン63は、次のような隣り合い:P13及びP31が両方利用可能な場合、P13及びP31隣り合い、P13は利用可能であるが、P31は利用可能でない場合、P13隣り合い、またはP31は利用可能であるが、P13は利用可能でない場合のみにP31隣り合いを用いた補間に基づいて画素P22の画素値を決定するのに用いられる。ライン64は、画素P23及びP32を貫通するために、ライン64は次のような隣り合い:P14及びP41が両方利用可能な場合P14及びP41隣り合い:P14は利用可能であるが、P41は利用可能でない場合、ただP14隣り合い、またはP41は利用可能であるが、P14は利用可能でない場合、ただP41隣り合いを用いる補間に基づいて画素P23及びP32の値を決定するのに用いられる。同様に、ライン65、66、67、68及び69による補間は各々(P24、P33、P42)、(P25、P34、P43、P52)、(P35、P44、P53)、(P45、P54)及び(P55)の画素値を決定するのに用いられる。
【0080】
ライン67−69は、最近接隣り合いの代替可能性を表す。例えば、ライン68は、I−ブロック61の対向側境界で(P36、P27及びP18)及び(P63、P72及びP81)隣り合いを有する。(P36、P27及びP18)隣り合いのうち、利用する隣り合いを決定するに当って、前記画素P36が(P36、P27及びP18)隣り合いのうち、最近接隣り合いであるために、利用可能であれば、方向補間は画素P36を用いる。もし、画素P36が利用可能でなければ、前記画素P27が隣り合い(P27及びP18)のうち、最近接隣り合いであるために、利用可能であれば、方向補間は画素P27を用いる。もし、画素P27が利用可能であれば、残っている画素P18を用いる。もし、画素P27が利用可能でなければ、方向補間は前記画素(P36、P27及びP18)のうち、いかなる画素も利用しない。同様に、方向補間は、前記利用可能な最近接隣り合いの判断基準に基づいて隣接画素P63、P72及びP81のうち、一画素を選択する。したがって、最近接隣り合いの判断基準を適用した結果として、画素P45及びP54の画素値を決定するためのライン68に沿う方向補間は次のような隣り合いの組合わせ:P63のみ、P72のみ、P81のみ、P63及びP36、P63及びP27、P63及びP18、P72及びP36、P72及びP27、P72及びP18、P81及びP36、P81及びP27、P81及びP18、P36のみ、P27のみ、P18のみのうち、1つを用いる。
【0081】
隣接画素P36及びP63が両方利用可能であるという仮定下で、画素P45及びP54の画素値を決定するためのライン68に沿う線形補間のための方向補間が次に図示される。図9Bでは、ライン68に沿うポイントQ0、Q1、Q2、Q3及びQ4を図示している。前記ポイントQ0、Q1、Q2、Q3及びQ4は、各々画素P27、P36、P45、P54及びP63に置かれたライン68部分の中間点に位置する。D12、D13及びD14は各々ポイントQ1とポイントQ2、Q3、Q4間の距離を示す。F1214及びF1314は、各々D12/D14及びD13/D14を示す。V36及びV63は、各々画素P36及びP63での画素値を示す。これにより、画素P45及びP54での画素値は各々(1−F1214)×V36+F1214×V63及び(1−F1314)×V36+F1314×V63である。
【0082】
ライン68に沿う線形補間のための方向補間は、隣接画素P36は利用できず、隣接画素P27は利用できる場合、補間を行う方法に対する疑問が提起される。V27が画素P27の画素値を表すと、V27は補間数式でV36が現れる部分ごとにV36を代替しうる。しかし、本発明の範囲は、ライン68に沿う距離を扱うに当って3つのオプションを含む。
【0083】
最初のオプションは、補間公式でF1214及びF1314パラメータを維持するものであって、これは利用可能な最近接隣り合いとして画素P36が画素P27に代替された場合にも、距離を測定するに当って参照としてポイントQ1を用いるものと概念的に同一である。最初のオプションにおいて、画素P45及びP54での画素値は各々(1−F1214)×V27+F1214×V63及び(1−F1314)×V27+F1314×V63である。
【0084】
2番目のオプションは、隣接画素P27から始まるライン68のポイントQ0からの距離を用いることである。2番目オプションにおいて、D02、D03及びD04は各々ポイントQ0とポイントQ2、Q3及びQ4間の距離を示す。F0204及びF0304は各々D02/D04及びD03/D04を示す。これにより、画素P45及びP54の画素値は各々(1−F0204)×V27+F0204×V63及び(1−F0304)×V27+F0304×V63である。
【0085】
3番目のオプションは、最初のオプションと2番目のオプション間の折衷案を用いることである。最初の及び2番目のオプションで(F1214及びF1314)または(F0204及びF0304)のうち、1つを用いる代わりに、(F1214、F0204)AVE及び(F1314、F0304)AVEパラメータが用いられる。ここで、(F1214、F0204)AVEはF1214及びF0204の加重または非加重平均であり、(F1314、F0304)AVEはF1314及びF0304の加重または非加重平均である。これにより、画素P45及びP54の画素値は、各々(1−(F1214、F0204)AVE)*27+(F1214、F0204)AVE×V63及び(1−(F1314、F0304)AVE)*27+(F1314、F0304)AVE×V63である。もし、(F1214、F0204)AVE及び(F1314、F0304)AVEが加重平均であれば、ライン68に沿ってポイントQ2及びQ3から画素P36及びP27の距離に関係なく、前記加重はライン68に沿ってI−ブロック61の映像品質に前記画素P36及びP27の相対的な重要性に関する外部的な知識のような外部要素に基づく。
【0086】
図9Cないし図9Fは、θ値を除いて前記図9Bと類似している。図9Cで方向ライン71ないし74のθ=90゜である。画素P22、P32、P42及びP52での値は、隣接画素P12、P62、P72、P82及びP92の部分集合を用いるライン71に沿う補間から決定される。画素P23、P33、P43及びP53の値は、隣接画素P13、P63、P73、P83及びP93の部分集合を用いるライン72に沿う補間から決定される。画素P24、P34、P44及びP54の値は、隣接画素P14、P64、P74、P84及びP94の部分集合を用いるライン73に沿う補間から決定される。画素P25、P35、P45及びP55の値は、隣接画素P15、P65、P75、P85及びP95の部分集合を用いるライン74に沿う補間から決定される。
【0087】
図9Dで、方向ライン81ないし87のθ=135゜である。画素P52の値は、隣接画素P41、P63、P74、P85及びP96の部分集合を用いるライン81に沿う補間から決定される。画素P42及びP53の値は、隣接画素P31、P64、P75、P86及びP97の部分集合を用いるライン82に沿う補間から決定される。画素P32、P43及びP54の値は、隣接画素P21、P65、P76、P87及びP98の部分集合を利用したライン83に沿う補間から決定される。画素P22、P33、P44及びP55の値は、隣接画素P11、P66、P77、P88及びP99の部分集合を用いるライン84に沿う補間から決定される。画素P23、P34及びP45の値は、P12、P56、P67、P78及びP89の部分集合を用いるライン85に沿う補間から決定される。画素P24及びP35の値は、隣接画素P13、P46、P57、P68及びP79の部分集合を用いるライン86に沿う補間から決定される。画素P25の値は、隣接画素P14、P36、P47、P58及びP69の部分集合を用いるライン87に沿う補間から決定される。
【0088】
図9Eで、方向ライン76ないし79のθ=0゜(または180゜)である。画素P22、P23、P24及びP25の値は、隣接画素P21、P26、P27、P28及びP29の部分集合を用いるライン76に沿う補間から決定される。画素P32、P33、P34及びP35の値は、隣接画素P31、P36、P37、P38及びP39の部分集合を用いるライン77に沿う補間から決定される。画素P42、P43、P44及びP45の値は、隣接画素P41、P46、P47、P48及びP49の部分集合を利用したライン78に沿う補間から決定される。画素P52、P53、P54及びP55の値は、隣接画素P51、P56、P57、P58及びP59の部分集合を用いるライン79に沿う補間から決定される。
【0089】
図9Fで、方向ライン101ないし105のθ=26.56゜(すなわち、θは2/4の逆タンジェント)である。画素P22及びP23の値は、隣接画素P13及びP14の部分集合を用いるライン101に沿う補間から決定される。画素P32、P33、P24及びP25の値は、隣接画素P41及びP16の部分集合を用いるライン102に沿う補間から決定される。画素P42、P43、P34及びP35の値は、隣接画素P51、P26、P27、P18及びP19の部分集合を利用したライン103に沿う補間から決定される。画素P52、P53、P44及びP45の値は、隣接画素P61、P36、P37、P28及びP29の部分集合を用いるライン104に沿う補間から決定される。画素P54及びP55の値は、隣接画素P71、P46、P47、P38及びP39の部分集合を用いるライン105に沿う補間から決定される。
【0090】
図9Aないし図9Fは、平行方向ラインに沿って空間補間を通じて決定されるI−ブロック内のあらゆる画素値に特徴がある方向空間補間を示す。対照的に、図7Aないし図7C及び表1ないし5は、I−ブロック内のあらゆる画素値が、空間補間で用いられるI−ブロックを貫通する方向ラインを利用せずとも利用可能な最近接隣り合い空間補間によって決定される点に特徴がある非方向空間補間を示したものである。I−ブロックのさらに他の空間補間は、方向空間補間と非方向空間補間との結合を含むハイブリッド空間補間である。ハイブリッド空間補間において、少なくとも1つの方向ラインはI−ブロックの一部分の空間補間のために利用され、I−ブロックの一部画素値はI−ブロックを貫通する方向ラインを利用せずとも利用可能な最近接隣り合い空間補間を通じて決定される。方向空間補間またはハイブリッド空間補間が用いられる時、選択された方向及びハイブリッドマスクは付加情報としてコーディングされて伝送されねばならない。本発明の実施形態において、このような目的のために短い固定ハフマンコードを用いる。
【0091】
図10は、本発明の実施形態によるハイブリッド空間補間を示す図である。図10は、(ライン121に沿う)画素P25、P34、P43及びP52、(ライン122に沿う)画素P35、P44及びP53、(ライン123に沿う)画素P45及びP54、(ライン124に沿う)画素P55の値を決定するための空間補間に用いられる方向ライン121−124を含む。しかし、画素P22、P23、P24、P32、P33及びP42の値は上側の最近接隣り合い画素P12、P13、P14及び左側の最近接隣り合い画素P21、P31及びP41を利用した非方向空間補間によって決定される。
【0092】
前記図6ないし図10及び表1ないし5と関連して前述した空間補間例に示されたように、所定の一フレーム内の各I−ブロックの画素の値は、前記所定フレーム内の各I−ブロックと関連した利用可能な最近接隣り合い画素の値に基づいた空間補間によって計算される。所定フレームの特定I−ブロック外側の所定画素は、前記所定画素が前記空間補間によるI−ブロックの画素値に潜在的に貢献するI−ブロックに十分に近いならば、I−ブロックと関連した隣接画素と呼ばれる。
【0093】
前記図6ないし図10及び表1ないし表5と関連して前述した補間によるI−ブロックの画素値を決定することに対する論議は線形補間に焦点を合わせた。しかし、本発明の範囲には、I−ブロック内の画素値に貢献する多様な隣接画素の相対的な重要性を活用するいかなる非方向補間方式であっても含まれる。
【0094】
OBMC処理
本発明は、ビデオフレームの処理と関連した実施形態を開示し、本実施形態で処理される各フレームは少なくとも2個の異なる大きさを有するブロックを含むM個のブロックに分けられ、ここでMは少なくとも9である。
【0095】
伝統的なブロック動き補償において、処理されている現在フレームは画素のブロックに分けられ、現在フレームで各ブロックBCUR0の画素は参照フレームで同じ大きさを有するブロックBREF0から予測される。現在フレームの画素のブロックBCUR0は“現在ブロック”または“セルフブロック”と呼ぶ。現在フレームでセルフブロックBCUR0は、参照フレームのブロックBREF0からモーションベクトルVによって空間的にシフトされる。したがって、現在フレームの(ベクトルPCUR0と識別される)セルフブロックBCUR0内の画素位置Pでの画素値ICUR0(PCUR0)は参照フレームのブロックBREF0でベクトル(PCUR0−V)によって識別される画素位置での画素値IREF(PCUR0−V)と同じものと予測される。従属変数“l”は、輝度及び/または色差画素値を表す。伝統的なブロック動き補償の短所は、ブロック境界で発生する不連続と関連する(ブロッキング欠陥)。不連続は、人間の視覚に敏感に認知されうる鋭い水平または垂直エッジの形態を有することができ、またレジデュアルフレームの変換コーディングに用いられるフーリエ関連変換でringing効果(すなわち、高周波数サブバンドで大きい係数)を発生させうる。
【0096】
重複されたブロック動き補償(OBMC)において、セルフブロックBCUR0の最も近接した隣接ブロックはセルフブロックBCUR0内の画素値を予測するのに利用されうる。例えば、最も近接した隣接ブロックは、セルフブロックBCUR0の直ちに右側、下側、左側及び上側が4つの最も近接した隣接ブロックを含みうる。ここで、前記4つの最も近接した隣接ブロックは、各々モーションベクトルV、V、V及びVによって参照フレームBREF1、BREF2、BREF3及びBREF4の対応するブロックから空間的にシフトされたものであって、各々B、B、B及びBで表す。参照フレームのブロックBREF1、BREF2、BREF3及びBREF4は大部分参照フレームのBREF0の最も近接した隣接ブロックでない。加重値W(PCUR0)は(セルフブロックBCUR0でベクトル(PCUR0)によって識別される)画素位置P0と関連する。加重値W(P)、W(P)、W(P)及びW(P)は各々最も近接した隣接ブロックB、B、B及びB内の画素位置P、P、P及びPと関連して、前記画素位置 P、P、P及びPは前記画素位置Pに対応する。OBMCにおいて、画素位置Pでの画素値ICUR0(PCUR0)は、W(PCUR0)*IREF0(PCUR0−V)+[W(P)*I(P−V)+W(P)*I(P−V) +W(P−V)*I(P−V)+W(P)*I(P−V)]と同じものと予測される。したがって、セルフブロックBCUR0でベクトルPCUR0によって識別される画素位置での予測された画素値は、参照フレームで変位された位置での最も近接した隣接ブロックから画素値の貢献度を考慮することによって、ブロック境界で発生する不連続を緩和する。セルフブロックBCUR0内のあらゆる画素に対するW(PCUR0)を含む加重値の配列は、セルフブロックBCUR0のための“加重ウィンドウ”を構成する。同様に、最も近接した隣接ブロック B、B、B及びB内のあらゆる画素のための W(P)、W(P)、W(P)及びW(P)を含む加重値の配列は、各々最も近接した隣接ブロック B、B、B及びBのための加重ウィンドウを構成する。本発明によって加重ウィンドウ及びその生成の例は、後述するように、図17、図18、図21及び図22から提供される。
【0097】
本発明は、可変ブロックサイズOBMCを開示する。現在フレームのブロックと参照フレームのブロックへの関係は、次の図11及び図12に示される。
【0098】
図11は、本発明の実施形態によって(例えば、カッドツリーアルゴリズム(quad tree algorithm)による)可変サイズブロックで形成された現在フレーム240を示す図である。現在フレーム240は、示されたように22個のブロックを備える。図11の各ブロックは、その最も近接した隣接ブロックを考慮してセルフブロックとして処理される。例えば、ブロック241がセルフブロックとして処理される場合を考慮する。セルフブロック241は、最も近接した隣接ブロック242−246を有する。セルフブロックは、その最も近接した隣接ブロックと同一か、さらに大きいか、またはさらに小さい。図11で、セルフブロック241の大きさは、最も近接した隣接ブロック242と同一であり、最も近接した隣接ブロック245及び246より大きく、最も近接した隣接ブロック243及び244よりは小さい。
【0099】
図12は、本発明の望ましい実施形態によって図11の現在フレーム240と参照フレーム260を、現在フレーム240のブロック241−246と参照フレーム260の対応するブロック261−266を各々リンクするベクトル251−256と共に示したものである。ベクトル251−25の参照フレーム260上への一般投影は、ブロック261−266からブロック241−246のベクトル変位を表す動きベクトルである。参照フレーム260は、1つまたはそれ以上の参照フレームを表し、各参照フレームは固有の動きベクトルと現在フレームのブロックと関連したブロックを有する。これは現在フレームの各画素は1つの参照フレームまたは複数の参照フレームの対応する画素から予測できるためである。
【0100】
本発明は、図3と関連して前述した入力フレームA及びBを有する代表対のような入力フレームの対で動き補償されたブロックを用いる時空間的(spatiotemporal)または空間−時間変換を含むビデオ圧縮方法を開示する。このようなブロックは、多様な大きさを有し、局部動きベクトルフィールドにマッチングされるように選択され、動きが大きい空間変化を有する所では小さなブロックが存在し、動きの空間変化の小さなさらに平らな領域では大きなブロックが存在する。前述した説明にもかかわらず、相異なるブロックの動きベクトルは、ブロックエッジを横切って連続的でない。その結果、1つのフレームを他のフレームから予測時に欠陥が発生しうる。本発明のOBMCは、現在ブロックのモーションベクトル及びその最も近接した隣接ブロックのモーションベクトルを用いる加重された推定の結合から予測を行うことによって、このような問題を解決する。本発明のOBMCは、反復的な(iterative)調整を通じてブロックモーションベクトルが改善された動きベクトルに到達できるように改善され、結果的なフレーム予測の正確性を増加させ、これによってコーディング効率を増加させる。本発明において、このような反復は、選択的に省略しうる。OBMCを用いて得られたMCTFの出力は、その後、伝送または保存のために圧縮される。付加的に、モーションベクトルはオーバヘッドとしてレシーバーに伝達され、全体ビット率の約10−15%を占める。
【0101】
図13Aは、本発明の実施形態によって図2のMCTF高時間フレームで可変ブロックサイズOBMCを用いるステップ211−214を示すフローチャートである。ステップ211以前に、現在フレームは、少なくとも2個の相異なる大きさを有するブロックを含むようにM個のブロックで形成され、ここでMは少なくとも9である。ステップ211で可変サイズブロックマッチング(VSBM)を行って広く知られたように動きブロックのための初期ベクトルを獲得する(例えば、Ostermann及びZhangの“Video Processing and Communications”、Prentice−Hall、pp.182−187(2002))。ステップ212で現在フレームのブロックをI−ブロックまたは動きブロックのうち、いずれか1つに分類する。“動きブロック”は、I−ブロックでないブロックに定義される。非連結されたブロック(すなわち、I−ブロック及びP−ブロック)及び単一連結したブロックの検出及び分類は、図3のステップ31−36と関連して前述したことがある。図15は、後述するように、P−ブロック、デフォルトブロック及びリバースブロックを含む動きブロックの多様な類型を示す。ステップ213で可変ブロックサイズOBMCを行って動きブロック及びI−ブロックのためのオーバーラップ緩和(smoothing)を提供する。ステップ214で、前記ステップ213で生成された動きフィールド(すなわち、緩和された動きブロック及び/またはI−ブロック)はMCTFによって処理される。
【0102】
図13Bは、本発明の望ましい実施形態によって図13のステップ213の可変ブロックサイズOBMC処理を示すステップ221−223を説明するフローチャートである。現在フレームの与えられたセルフブロック及び関連した最も近接した隣接ブロックに対して、ステップ221でセルフブロックが動きブロックであるか、そうでなければ、I−ブロックであるか、及び最も近接した隣接ブロックが動きブロックであるか、そうでなければ、I−ブロックであるかを考慮して、セルフブロック及びそれと関連した最も近接した隣接ブロックのための加重ウィンドウを発生させる縮少スキームを実行する。もし、最も近接した隣接ブロックがI−ブロックであれば、ステップ221の縮少スキームは参照フレームを利用できない最近接隣り合いI−ブロック固有の不能性を説明する方式で加重ウィンドウの生成に影響を及ぼす反射(reflecting)スキームを実行するステップ222に進行する。
【0103】
ステップ221の縮少スキームの実行は与えられたセルフブロックのあらゆる最も近接した隣接ブロックに対して実行され、次いで、所定のスキャン順序上の指示順に現在フレームのあらゆるセルフブロックに対して行われる。ステップ223は、現在フレームの各セルフブロックに対する初期モーションベクトルが利用された場合に実行される。セルフブロックの前記初期モーションベクトルは、加重ウィンドウを生成するのに用いられるが、生成された加重ウィンドウを考慮した時、攝動された(perturbed)モーションベクトルの集合が現在フレームの画素値のさらに正確な予測を招けるので、前記初期モーションベクトルは最適の加重ウィンドウではないことがある。したがって、ステップ223は、反復処理を行って各反復が前記ステップ222で生成された加重ウィンドウを考慮して現在フレームで画素値の正確性を改善する方式で動きベクトルを撹乱させる。
【0104】
図13Bのステップ221−223は、図13Aの可変ブロックサイズOBMC処理ステップ213の簡略化された説明を反映したものである。次の図16ないし図18及び図21及び図22は、加重ウィンドウ生成を例示したものであって、後述する図23で本発明の実施形態によって前記図13Bのステップ221−222の可変ブロックサイズOBMCを詳細に説明したフローチャートを示すものである。また、後述する図24で前記図13Bのステップ223でモーションベクトルを改善する反復処理を詳細に説明したフローチャートを示すこものある。
【0105】
図14は、本発明の実施形態によって図13A及び図13Bのフローチャートと関連したフレーム処理のブロック図である。図14は、次の順次に順序が決まっている処理を示している:すなわち、成分(YUV)階層的可変サイズブロックマッチング(HVSBM)動き推定231(図13Aのステップ211に対応)と、I−ブロック検出232(図13Aのステップ211に対応)と、可変ブロックサイズOBMC実行233(図13Aのステップ213で行われる)と、MCTF処理234(図13のステップ213に対応)と、及びMC−EZBCコーダ処理235順である。HVSBM動き推定231は、スケーラブルコーダ236によって処理されるモーションベクトルを発生させる。ビットストリーム237は、EZBCコーダ235によって発生したコーディングされた出力及びスケーラブルコーダ236によって発生したコーディングされた出力から形成される。
【0106】
図14で、MCTF処理234は、順次にI−ブロック、P−ブロック、リバースブロック及びデフォルトブロックの処理で構成される。リバースブロック予測は、以前のBフレームから最もよく予測されるブロックの予測を含む。デフォルトブロックの画素は親フレームHのための“予測”ステップ及び親フレームLのための“アップデート”ステップで実際的にMCフィルタリングに関与する画素を含む。
【0107】
図15は、本発明の実施形態によって、MCTFによって高時間フレームH及び低時間フレームLに変換される2個の連続的な入力フレームA及びBを表す。MCTF処理によってフレームA及びBからH及びLフレームを誘導することは、図2(及び前述した関連説明)で説明した。しかし、図2では、H及びLフレームの時間的位置に対して他の選択が行なわれた。図2でLフレームは入力フレームAとして時間参照され、Hフレームは入力フレームBとして時間参照された。一方、図15では、Hフレームは入力フレームAとして時間参照され、Lフレームは入力フレームBとして時間参照された。実際に、いずれか1つの時間参照集合がいずれもよく作動すると現れ、現在MCTFスケーラブルビデオコーダで提供されている。上書き“t”及び“t−1”は、各々現在時間t及び以前時間t−1を表す。両矢印によって示したように、前述したようなデフォルトブロックは(フレームHのための)予測及び(フレームLのための)アップデート処理過程にいずれも関与する。単一の矢印によって示したように、Pブロック、リバースブロック及びI−ブロックは、単に1つのフレーム、すなわち、Hフレームにのみ影響を及ぼす。アップデートはこのようなブロックに対して見られない。I−ブロックは、前述したように、単に空間補間/予測を用いるブロックを表す。I−ブロック検出後に、図14Aの可変サイズOBMC実行233が行われる。
【0108】
OBMC方式で、本発明は一フレームのデコーディング以前にデコーダによって受信された如何なるデータでも最終的に用いられる真の予測スキームについての情報ソースとして見なされる。
【0109】
図16は、本発明の実施形態によって現在フレームでセルフブロック及び4つの最も近接した隣接ブロックを示したものである。図16で、セルフブロック270の4つの最近接隣接ブロックは、右側最近接隣り合い271、下側最近接隣り合い272、左側最近接隣り合い273、及び上側最近接隣り合い274である。後述する図17及び図18の図示的な例のために、セルフブロック及びその最も近接した隣接ブロックは同じ大きさを有するものと仮定する。用いられる加重ウィンドウは左側から右側及び上側から下側に対称的であると仮定する。
【0110】
図17A及び図17B(総称して“図17”と称する)は、本発明の実施形態によって4×4加重ウィンドウを示す図である。図17Aでセルフブロックは、動きブロックであり、図17BでセルフブロックはI−ブロックである。図17Aはセルフブロックの加重ウィンドウ270A及び右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロックそれぞれのウィンドウ271A、272A、273A及び274Aを表す。図17Bは、セルフブロックの加重ウィンドウ270B及び右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロックそれぞれのウィンドウ271B、272B、273B及び274Bを表す。
【0111】
例示的な目的のために図17Aを用いて、次の規定が図17及び図18及び図21及び図22の例で加重ウィンドウを表すのに用いられる。セルフブロック加重ウィンドウ270Aにおいて、図17Aに図示された画素加重値は物理的画素位置での対応する画素値と同じ相対的な画素位置にある。しかし、最も近接した隣接ブロックにおいて、図17Aに示された画素加重値各々は物理的な画素位置で対応する画素値と反対に整列されて表示された。例えば、図17Aでセルフブロック加重ウィンドウ270A及びその上側の隣り合い加重ウィンドウ274Aにおいて、上側の隣り合い加重ウィンドウ274Aの最上側列276Aの加重値1111は(物理的な画素位置観点で)セルフブロック加重ウィンドウ270Aの最上側列277Aの画素のためなものである。さらに他の例として、図17Aでセルフブロック加重ウィンドウ270A及びその右側隣り合い加重ウィンドウ271Aにおいて、右側の隣り合い加重ウィンドウ271Aの最右側列278Aの加重値1111は、セルフブロック加重ウィンドウ270Aの最右側列279Aの画素のためのものである。
【0112】
前述した規定は、もし、最近接隣り合い加重ウィンドウがセルフブロック加重ウィンドウ270A上に重畳される場合、最も近接した隣接ブロックの加重ウィンドウで該当行列位置の加重値と直下のセルフブロック加重ウィンドウの該当行列位置の加重値が本発明のOBMC計算において同じ物理的画素のための加重値として用いられるという視覚的な長所を有する。したがって、あらゆる最近接隣り合い加重ウィンドウがセルフブロック270A上に重畳される場合、各行列位置での加重値の和は4であるか、または一般的にN×Nブロックである場合になる。例えば、図17Aで、あらゆる最近接隣り合い加重ウィンドウがセルフブロック加重ウィンドウ270Aの最右上側角部行列位置に重畳されれば、セルフブロック加重ウィンドウ270A、右側隣り合い加重ウィンドウ271A、下側隣り合い加重ウィンドウ272A、左側隣り合い加重ウィンドウ273A及び上側隣り合い加重ウィンドウ274Aの加重値は各々2、1、0、0及び1であって、セルフブロック加重ウィンドウ270Aの最右上側角部行列位置での和は4となる。
【0113】
加重ウィンドウが確率加重ウィンドウになるために、加重ウィンドウ内の加重値の和は1となり、これによって加重値は1より小さいか、同じ分数または小数値を有する。加重値の分数的な表現を簡単にするために、加重ウィンドウ内の加重値は、画素値の計算に用いられる時、加重ウィンドウが確率加重ウィンドウ(またはそれと同等なもの)と具現されねばならないという理解下で、図17ないし図20の図示的な例で使われた加重ウィンドウはN×N加重ウィンドウ大きさに対して加重値の和を(1にする代わりに)Nにするように一般化した。
【0114】
固定された4×4ブロックサイズを有する図17Aで、セルフブロックはモーションブロックであり、2次元的な(2−D)双一次(bilinear)(すなわち、直線)補間がセルフブロック加重ウィンドウ270A及びその最近接隣り合い加重ウィンドウ271A、272A、273A、274Aでの加重値を決定するのに用いられる。2−D双一次補間された画素値は、セルフブロックの中心と隣接ブロックの中心との間の直線を沿って線形補間したことに対応する。2−D双一次補間は、二次元的であるために、双一次補間された加重値は、2個の相互直交的な方向で補間された値の結果である。2−D双一次補間から発生した加重値は、最も近い整数に四捨五入し、一般化条件(すなわち、各画素での加重値の和がN)を満足するかについての制限を条件として必要とする。1つまたはそれ以上のセルフブロック境界がフレーム境界と一致する場合、少なくともセルフブロックの一縁部は最も近接した隣接ブロックを有さず、結果的な双一次加重ウィンドウ加重値は、それによっていかなるセルフブロックの境界もフレーム境界と一致しない時に存在する双一次加重ウィンドウとは異なる。2−D双一次加重ウィンドウは、ほぼ反復最適加重ウィンドウほど正確であると知られた。しかし、他の形態の補間(例えば、4次補間、指数補間など)が図17Aの加重ウィンドウまたは本発明で開示された他の実施形態の加重ウィンドウのための双一次補間の代りに、双一次補間が利用されたように利用されうる。
【0115】
固定された4×4ブロックサイズを有する図17Bで、セルフブロックはI−ブロックである。図17Bで加重ウィンドウの加重値は、一般化条件の制限内でセルフブロック加重ウィンドウ内の加重値の一部分を抽出し、抽出された加重値部分を最近接隣り合い加重ウィンドウで選択された加重値に加算することによって、図17Aの加重ウィンドウの加重値から得られる。“加重値の一部分”調節は、良好な視覚的エラー性能を与える観点で実験的に決定され、他の方式で最適化されるものではない。他の“加重値の一部分”調節は、実験及び/または分析的な方法論によって立証または実体化されれば利用されうる。選択された加重値は、ブロック境界近くの加重値である。前述したセルフブロックがI−ブロックである時、図17Aの加重値の変更は、隣接ブロックに相対的にさらに高い加重値を提供することによって、セルフブロック境界での補間された画素値のさらに積極的な緩和を促進させる。図17Bで用いられる加重値分配方法は、セルフセルからその隣接セルの外側に加重値成分を放射する“放射スキーム”である。
【0116】
図17A及び/または図17Bにおいて、一旦右側最近接隣り合いのための最近接隣り合い加重ウィンドウが決定されれば、左側最近接隣り合いのための最近接隣り合い加重ウィンドウは、図16に示された反射対称性を用いて決定されるか、双一次補間を通じて計算されうる。同様に、一旦下側最近接隣り合いのための最近接隣り合い加重ウィンドウが決定されれば、上側最近接隣り合いのための最近接隣り合い加重ウィンドウは、図16に示された反射対称性を用いて決定されるか、双一次補間を通じて計算されうる。
【0117】
図17の例は、セルフブロックがI−ブロックであり、セルフブロックの生成されたウィンドウが最初の画素加重値及び2番目の画素加重値で構成された場合を示す。最初の画素加重値は、セルフブロックが動きブロックである場合に有する最初の画素加重値に比べて少なく、2番目の画素加重値はセルフブロックが動きブロックである場合に有する2番目の画素加重値と同一である。例えば、図17BのセルフI−ブロック270Bの選択された行列位置での最初の画素加重値“2”は、図17Aの動きブロック270Aの対応する選択された行列位置での加重値“3”より小さく、2番目の画素加重値は、図17BのセルフI−ブロック270B及び図17Aの動きブロック270Aで同じ加重値(すなわち、同じ加重値サイズ)を有する残りの画素加重値である。
【0118】
したがって、セルフブロックの加重ウィンドウを生成することは、セルフブロックが動きブロックであるようにセルフブロックの最初の加重ウィンドウを生成(例えば、図17Aの動きブロック270Aを生成)するステップと、最初の加重ウィンドウで加重値を減少させることによって最初の加重ウィンドウからセルフブロックの加重ウィンドウを生成(例えば、図17Aの動きブロック270Aの加重値を減少させ、図17BのセルフI−ブロック270Bを生成)するステップを含みうる。
【0119】
また、図17の例として示した前記実施形態で、セルフブロックの各隣接ブロックに対して生成されたウィンドウは3番目の画素加重値及び4番目の画素加重値で構成され、3番目の画素加重値はセルフブロックが動きブロックならば、3番目の画素加重値を有する値よりさらに大きく、4番目の画素加重値はセルフブロックが動きブロックならば、4番目の画素加重値が有する値と同一である。例えば、前記3番目の加重値は、図17Aより図17Bでさらに大きい右側、下側、左側及び上側隣接ブロック加重値の選択された部分によって図示され、4番目の加重値は、図17B及び図17Aで同じ大きさを有する右側、下側、左側及び上側隣接ブロックの残りの部分によって示される。
【0120】
図18A及び図18B(総称して“図18”と称する)は、本発明の実施形態によって関連したセルフブロックが各々動きブロック及びI−ブロックの8×8加重ウィンドウを示す。図18Aはセルフブロックのための加重ウィンドウ270C及びこれと関連した右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロック各々のための最近接隣り合い加重ウィンドウ271C、272C、273C、274Cを表したものである。図18Bは、セルフブロックのための加重ウィンドウ270D及びこれと関連した右側の最も近接した隣接ブロック、下側の最も近接した隣接ブロック、左側の最も近接した隣接ブロック及び上側の最も近接した隣接ブロック各々のための最近接隣り合い加重ウィンドウ271C、272C、273C、274Cを表したものである。図18で加重ウィンドウを生成する方法は、前述した図17の加重ウィンドウを生成するのに利用された方法と同一である。
【0121】
縮少スキーム
図11及び図12と関連して前述したように、セルフブロックとその関連した最も近接した隣接ブロックは、いずれも同じ大きさを有し、またはセルフブロックの大きさはその関連した隣接ブロックのうち、少なくとも1つの大きさと異なりうる。特に、与えられたセルフブロックと関連してその最も近接した隣接ブロックについて次の三種の実施形態が存在する。
【0122】
(a)空間的に最も近接した隣接ブロックサイズがセルフブロックの大きさと同一(例えば、図11でセルフブロック241及びその隣接ブロック242)である場合、これは前述した図17及び図18と関連して分析された“標準同一ブロックサイズ”の場合である。したがって、このような実施形態の場合、加重ウィンドウは、前記図17及び図18と関連して前述したように生成される。
【0123】
(b)空間的に最も近接した隣接ブロックの大きさがセルフブロックの大きさよりさらに大きい場合(例えば、図11でセルフブロック241及びその隣接ブロック243、244)であって、この場合は、セルフブロックの大きさと同じ大きさを有するさらに大きい最も近接した隣接ブロックの部分を用いて扱われ、前記部分は前記標準同一ブロックサイズの場合(a)のように、現在フレーム内で同じ空間を占める。図示すれば、図19は、本発明の実施形態によって図11のフレーム240を示したものであり、最も近接した隣接ブロック243、244の部分243A、244Aを表している。部分243A及び244Aは、セルフブロック241Aのような大きさを有し、標準同一ブロックサイズの場合と同一になるようにフレーム240内で同じ空間を占める。この実施形態において、最も近接した隣接ブロック243、244の部分243A、244Aは、各々セルフブロック241の有効な最も近接した隣接ブロックとして用いられる。したがって、隣接ブロック243の部分243Aのみセルフブロック241に対するOBMCを行う間にセルフブロック241内の画素値の予測に影響を及ぼす。同様に、隣接ブロック244の部分244Aのみセルフブロック241に対するOBMCを行う間にセルフブロック241内の画素値の予測に影響を及ぼす。結果的に、本発明は、ブロック243、244を各々部分243A、244Aに“縮少”する。セルフブロック241及びその隣接ブロック243または244は、各々動きブロックであって、隣接ブロック(243または244)の部分(243Aまたは244A)の生成された加重ウィンドウは、双一次補間された加重値で構成されることもある。この実施形態において、加重ウィンドウは標準同一ブロックサイズ場合の図17及び図18と関連して前述したように生成される。しかし、さらに大きい最も近接した隣接ブロックと関連したモーションベクトルは、加重隣り合い予測を提供するのに用いられる。図12を参照して、例えば、モーションベクトル253は、セルフブロック241の処理のためにさらに大きい隣接ブロック243の一部分243A(図19参照)を用いるに当って参照フレーム260のブロック263を位置させるのに用いられる。
【0124】
(c)空間的に最も近接した隣接ブロックサイズがセルフブロックの大きさよりさらに小さな場合(例えば、図11でセルフブロック241とその隣接ブロック245、246)であって、この場合、前記さらに小さな最も近接した隣接ブロックと同じ大きさを有し、さらに小さな最も近接した隣接ブロックと隣接して位置したセルフブロックの一部分を選択することを必要とする。図示のために、図20は、図11のフレーム240を示したものであり、セルフブロック241の部分1A、1Bは、最も近接した隣接ブロック245、246各々に対して有効セルフブロック部分として用いられる。セルフブロック241の部分1Aは、セルフブロック241の部分1Aに対してOBMCを行う間に隣接ブロック245の加重ウィンドウによってその画素値の予測が影響を受ける唯一のセルフブロック241の部分である。同様に、セルフブロック241の部分1Bは、セルフブロック241の部分1Bに対してOBMCを行う間に隣接ブロック246の加重ウィンドウによってその画素値の予測が影響を受ける唯一のセルフブロック241の部分である。結果的に、本発明は部分1A、1Bのみを用いるためにセルフブロック241を“縮少”する。
【0125】
空間的に最も近接した隣接ブロックの大きさがセルフブロックの大きさより小さな前記実施形態において、加重ウィンドウは、図21及び図22と関連して後述するように生成され、セルフブロックで各々用いられる部分は影響を受ける領域と影響を受けない領域とを含み、影響を受ける領域はさらに小さい最も近接した隣接ブロックによって影響を受け、影響を受けない領域はさらに小さい最も近接した隣接ブロックによって影響を受けない。いくつかの応用例において、影響を受ける領域はさらに小さい最も近接した隣接ブロックの大きさの水平または垂直に半分に該当するように構成されることもある。セルフブロックの用いられる領域の影響を受ける領域の加重ウィンドウ内の加重値及びより小さな隣接ブロックで対応する加重ウィンドウの部分は標準同一ブロックサイズの場合で誘導したように同一である。セルフブロックの用いられる領域の影響を受けない領域に対応するさらに小さな隣接ブロックの加重ウィンドウの部分内の加重値は“除去”された後、0になるように設定される。セルフブロックの用いられる部分の影響を受けない領域の加重値は、図22の例と関連して後述するように、小さい最も近接した隣接ブロックの加重ウィンドウの対応する部分から加重値を除去することによって(標準同一ブロックサイズの場合と比較して相対的に)増加する。
【0126】
セルフブロックは、さらに小さな最近接隣り合いと異なるモーションベクトルを有することができるために、このような縮少スキームは動きが不連続する所でスムーシング(smoothing)を減少させる。これはこのような縮少スキームはさらに小さい最も近接した隣接ブロックサイズと互換可能なスムーシング範囲を減少させるためである。
【0127】
各セルフブロックにおいて、その最近接隣り合いの相対的なブロックサイズを分析するステップは、各最近接隣り合いに対して反復される。セルフブロックは、所定のスキャン順序によって順次に処理される。
【0128】
図21Aないし図21C(総称して“図21”と称する)は、本発明の実施形態によって、縮少スキームと関連したOBMCによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示したものであって、ここで最も近接した隣接ブロックは動きブロックである。図21Aで、セルフブロック280は、8×8ブロックであり、その右側隣接ブロック281は4×4ブロックである。
【0129】
図21Bは、前記図21のセルフブロック280及びその右側隣接ブロック281と関連し、各々セルフブロック加重ウィンドウ280A及びその右側隣り合い加重ウィンドウ281Aを提供する。図21Bで、セルフブロック加重ウィンドウ280Aは、右側隣り合い加重ウィンドウ281Aと関連したOBMC手順で用いられる利用部分282Aを含む。利用部分282Aは、セルフブロック加重ウィンドウ280Aの“縮少された”形態であり、右側隣り合い加重ウィンドウ281Aと同じ大きさを有する。
【0130】
図21Bで、図示された加重値の数は最終的な加重値でなく、最終的な加重値の計算に用いられる標準初期加重値に近い。最終加重値は、図21Cに表した。特に、図21Bの初期加重値は、標準同一ブロックサイズの場合と関連した加重値である。したがって、図21Bのセルフブロック加重ウィンドウ280Aの加重値は、図18Aの加重ウィンドウ270Cで表した同一な双一次加重値であり、図21Bの右側隣り合い加重ウィンドウ281A内の加重値は、図18Aの加重ウィンドウ271Cの右上側四分面に示した同一双一次加重値である。
【0131】
図21Bで利用部分282Aは、影響を受けた領域283Aと影響を受けない領域284Aとで構成される。影響を受けた領域283Aと関連したセルフブロックの画素は、右側隣り合い加重ウィンドウ281Aの影響を与える領域285AによってOBMC手順で影響を受ける。影響を受けない領域284Aと関連したセルフブロックの画素は右側隣り合い加重ウィンドウ281Aの影響を与えない領域286AによってOBMC手順で影響を受けない。
【0132】
図21Cに図示された加重値は、次のように図21Bの加重値から誘導される。図21Cの影響を与える領域285A及び影響を受ける領域283Aは、図21Bでも同一である。図21Bで影響を与える領域286Aの加重値は、図21Bの影響を受ける領域284Aの対応する加重値に加えられ、図21Cの影響を受ける領域284Aを形成し、図21Cで影響を与えない領域286Aの加重値は0に設定される。
【0133】
図21に示された前記縮少スキームは動き不連続で過度なスムーシングを避けるようにする。大きいブロックはそれより小さな最近接隣り合いと異なるモーションベクトルを有することができるために、縮少スキームは動き不連続で過度なスムーシングを減らしうる。縮少スキームは、前述した正方形ブロックサイズだけでなく、長方形にも適用され、これは本発明の範囲内である。そのような、単純なカッドツリー分解が正方形ブロックの配列だけを生成するのに用いられるという点に留意ねばならない。正方形ブロックの配列は、水平及び/または垂直分解アルゴリズム(例えば、8×8ブロックを2個の8×4ブロックまたは2個の4×8ブロックに分解)によって達成されることもある。
【0134】
図21に示した前記縮少スキームにおいて、最も近接した隣接ブロックは、モーションベクトルによって特徴づけられる動きブロックである。逆に、I−ブロックである最も近接した隣接ブロックは関連したモーションベクトルを持たない。しかし、もし、最近接隣り合いI−ブロックがOBMC緩和予測に関与しないならば、前記最近接隣り合いI−ブロックは最近接隣り合い動きブロック(すなわち、デフォルト、P−ブロック、またはリバースブロック)において一部ブロック欠陥を発生しうる。したがって、後述するような本発明の反射スキームが、OBMC構造内で最近接隣り合いI−ブロックを処理するのに用いられる。
【0135】
反射スキーム
反射スキームは、最近接隣り合いがI−ブロックである場合に用いられる。反射スキームは、最近接隣り合いI−ブロック加重値を再びセルフブロック上に反射する。これは実際的にセルフブロックのモーションベクトルがI−ブロックに存在しないモーションベクトルの代わりに用いられることを意味する。
【0136】
図22Aないし図22C(総称して“図22”と称する)は、本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで最も近接した隣接ブロックはI−ブロックである。図22Aで、セルフブロック290Aは、8×8ブロックであり、その右側隣接ブロック291は4×4ブロックである。
【0137】
図22Bは、前記図22Aのセルフブロック290及び右側隣接ブロック291と各々関連したセルフブロック加重ウィンドウ290A及びその右側隣り合い加重ウィンドウ291Aを提供する。図22Bで、セルフブロック加重ウィンドウ290Aは右側の隣り合い加重ウィンドウ291Aと関連してOBMC処理で用いられる部分292Aを備える。用いられる部分292Aは、右側隣り合い加重ウィンドウ291Aと同じ大きさを有する。
【0138】
図22Bで、図示された加重値の数は、最終加重値でなく最終加重値の計算に用いられる標準初期加重値である。最終加重値は、図22Cに図示された。特に、図22Bで初期加重値は標準同一ブロックサイズの場合と関連した加重値である。したがって、図22Bのセルフブロック加重ウィンドウ290A内の加重値は、図18Aの加重ウィンドウ270Cに現れる双一次加重値と同一であり、図22Bの右側隣り合い加重ウィンドウ291Aの加重値は、図18Aの加重ウィンドウ271Cの右上側四分面に示した双一次加重値と同一である。図22Cで加重値は、次のように図22Bの加重値から誘導される。図22Bの右側隣り合い加重ウィンドウ291Aの加重値は、図22Bの用いられる部分292Aに加えられ、図22Cで用いられる部分292Aの加重値を形成し、図21Cで右側隣り合い加重ウィンドウ291Aの加重値は0に設定される。
【0139】
本発明の発明者によって実行された実験結果は、もし、最近接隣り合いI−ブロックがOBMC構造に含まれないならば、I−ブロックと動き補償されたブロックとの間に視覚的に認知されうるブロック境界が含まれうるということを示し、これは動き補償されたブロックはインターフレーム補償される一方、I−ブロックはイントラフレーム補償/予測されるものという事実で説明される。前述したように最近接隣り合いI−ブロックがOBMC構造に用いられれば、大部分のブロック境界は除去され、若干のPSNR(Peak Signal to Noise Ratio)が観察された。
【0140】
OBMC加重ウィンドウアルゴリズム
前述したOBMCでの加重ウィンドウに基づいて、図23は本発明の実施形態によって、可変ブロックサイズOBMCで加重ウィンドウを計算するアルゴリズムのステップ311−319を示すフローチャートである。図23のフローチャートは、前述した図11Bのフローチャートのステップ221−222の具体的な内容を含む。図23のフローチャートは、所定のスキャン順序によって順次的に現在フレーム内のあらゆるセルフブロックを処理する。
【0141】
ステップ311で所定のスキャン順序によって初期にスキャンされる最初の処理ブロックである次のセルフブロックに進む。次いで、セルフブロックは、その最も近接した隣接ブロックで構成されたその隣接ブロックと関連して処理される。セルフブロックの隣接ブロック(すなわち、次のセルフブロック)は、最初の隣接ブロックを含む。セルフブロック及び最初の隣接ブロックは、各々動きブロックであり得る。セルフブロック及び最初の隣接ブロックは、各々I−ブロックでありうる。セルフブロックは、動きブロックで最初の隣接ブロックは、I−ブロックでありうる。セルフブロックは、I−ブロックで最初の隣接ブロックは動きブロックでありうる。
【0142】
ステップ311で設立されたセルフブロックに対して、ステップ312は前記ステップ311で設立されたセルフブロック周辺の最も近接した隣接ブロックの順序のうち、最初の隣接ブロックである次の隣接ブロックに進む。
【0143】
ステップ313は、隣接ブロックが動きブロックであるか、I−ブロックであるかを決定する。
【0144】
ステップ313で隣接ブロックが動きブロックに決定された場合、ステップ314で縮少スキームを行い、次のステップ316が実行される。縮少スキームは前述したように隣接ブロックの大きさがセルフブロックの大きさと同一であるか、さらに大きいかまたはさらに小さいかによってセルフブロック及び隣接ブロックの加重ウィンドウを発生させる。
【0145】
ステップ313で隣接ブロックがI−ブロックに決定された場合には、ステップ315で反射スキームを行い、次のステップ316が実行される。反射スキームは、前記図22と関連して前述した過程によってセルフブロック及び隣接ブロックの加重ウィンドウを生成する。
【0146】
ステップ316で処理するセルフブロックの隣接ブロックがさらに存在しているかを判断する。
【0147】
もし、ステップ316で処理するセルフブロックの隣接ブロックがさらに存在する場合には、ステップ312にループされて次の隣接ブロックの処理に進む。
【0148】
ステップ317でセルフブロックがI−ブロックであるか否かを判断する。もし、ステップ317でセルフブロックがI−ブロックでないと判断された場合には、ステップ319が実行される。もし、ステップ317でセルフブロックがI−ブロックであると判断されれば、ステップ318でセルフブロック及びその隣接ブロックの加重ウィンドウを変更するために、図17Bと関連して前述した放射スキームが実行され、その次にステップ319が実行される。
【0149】
ステップ319でフレーム内に処理するセルフブロックがさらに存在しているか否かを判断する。もし、ステップ319でフレーム内に処理するセルフブロックがさらに存在すると判断されれば、ステップ311でループされて次のセルフブロックの処理に進む。もし、ステップ319でフレーム内に処理するセルフブロックがさらに存在していないと判断されれば、アルゴリズムは終了される。
【0150】
OBMCの反復
OBMCは、最近接隣り合いモーションベクトルがセルフブロック内の予測エラーに影響を及ぼすようにして、分離された予測次善策を作る。さらに、OBMCは非因果的な(non−causal)最近接隣り合いを条件とするために、毎ブロックに対してその最も近接した隣接ブロックが、先にスキャンされねばならないというブロックスキャニング順序がない。したがって、本発明は、最適化された動き予測及び空間補間/予測モード選択のために反復的な予測または探索手順を用いて、これは平均絶対値歪曲(mean absolute distortion(MAD))を局部最小値に収斂させる。
【0151】
セルフブロックb内の各画素位置s(2次元的な空間ベクトルである)において、画素位置sでのレジデュアルエラーr(s)は次の式(2)のように計算される。
【0152】
【数1】


インデックスiは、セルフブロックbの最近接隣り合いに対して合算を実行し、kは反復インデックスである。式(2)で、
【0153】
【数2】


は隣接ブロックiの加重ウィンドウ係数(すなわち、加重値)であり、h(i)はセルフブロックbが動きブロックである場合、h(i)はセルフブロックbがI−ブロックである場合に加重ウィンドウとして用いられる。式(2)で、V(i)は画素位置sで隣接ブロックiのモーションベクトルであり、I(s)は画素位置sでの実際画素値であり、
【0154】
【数3】


は隣接ブロック画素の参照フレームで(サブ画素正確度によって必要な)補間された値を表す。レジデュアルエラーイメージr(s)はベクトル
【0155】
【数4】


すなわち、セルフブロックbまたは該当ブロックの空間補間/予測から発生したモーションベクトルが省略され、あらゆる最近接隣り合いのモーションベクトルが固定されることによって、発生する動き補償エラーである。これにより、本発明は次の式(3)及び(4)によって動きブロックの
【0156】
【数5】


をさらに最適化するか、またはI−ブロックに対して許容される空間補間モードから空間補間モードである
【0157】
【数6】


を最適化する。
【0158】
【数7】

【0159】
【数8】


ここで、
【0160】
【数9】


は条件的最適モーションベクトルであり、
【0161】
【数10】


はブロックbに対する条件的最適空間補間/予測モードであり、
【0162】
【数11】


はブロックbからのモーションベクトルによって動き補償された値であり、
【0163】
【数12】


はセルフブロックbの最近接隣り合いから空間補間/予測された値である。
【0164】
OBMC反復は、デザインパラメータα及びβ:すなわち、所定の総または最高反復数α及び各反復でモーションベクトルの調節距離βによって制御される。例えば、α=4が選択されうる。例えば、(直交するX及びY方向(例えば、各々水平及び垂直方向)で1つの画素単位の一部に比例してモーションベクトル攝動(pertubation):−4/8、−2/8、0、+2/8、+4/8に対応して)モーションベクトル攝動変数β=2が選択されうる。X及びY攝動は、独立的であるために、β=2は各反復ごとに総25個の相異なるモーションベクトルの方向に対して各X及びY方向で以前の5個の攝動を表す。式(3)及び(4)は、25個のモーションベクトル攝動のうち、各セルフブロックのモーションベクトルとして最も最適の選択であるか否かを判断する。各セルフブロックで与えられた反復で最適のモーションベクトルが判断されれば、前記最適モーションベクトルは、次の反復ステップでβによって各セルフブロックに対する改善された値のモーションベクトルをさらに判断するために攝動される。収斂速度は非常に速いが、計算の複雑度を減少させるに当っては、多少不十分であり、ビデオクリップによって適当な次善策である。
【0165】
双方向カラーHVSBMは輝度及び色差データの両方に対して行われるので、OBMC反復はYUVにも同時に適用されうる。U及びVは、RGBデータから所定の変換後にサブサンプリングされたフレームデータである。したがって、U及びVに用いられる加重ウィンドウは、またYに用いられる加重ウィンドウのサブサンプリングされたバージョンである。
【0166】
前述したところに基づいて、本発明のOBMCのための反復的な予測方式(OBMC反復)は固定された反復回数(α)の間、または収斂判断基準が満足するまで現在フレームの各セルフブロックに対する改善されたモーションベクトルの集合を連続的に計算する。
【0167】
図24は、本発明の実施形態によって、図13A、図13B及び図24のフローチャートによって説明した方法によって計算された加重ウィンドウを使用する可変ブロックサイズOBMCによって処理される現在フレームのセルフブロックに対する改善されたモーションベクトルを連続的に計算するアルゴリズムであるステップ321ないし326を示すフローチャートである。
【0168】
ステップ321で入力、すなわち、α、β及び加重ウィンドウを提供する。
【0169】
ステップ322で次の反復に進む。ステップ322で設立された反復の間、ステップ323で所定のスキャン順序によって最初のブロックである次のセルフブロックに進む。
【0170】
ステップ324で前記式(3)及び(4)と前記式(2)を共に用いて攝動されたβ−基盤モーションベクトルから選択されたセルフブロックに対する最適のモーションベクトルを決定する。
【0171】
ステップ325で処理されるフレーム内にセルフブロックがさらに存在しているかを判断する。ステップ325で処理されるフレーム内にセルフブロックがさらに存在すれば、次のセルフブロックを処理するためにステップ323に再び戻る。ステップ325でフレーム内に処理するセルフブロックがさらに存在していない場合には、ステップ326が実行される。
【0172】
ステップ326でさらに実行する反復が存在しているか否かを判断する。
【0173】
ステップ326でさらに実行する反復が存在すると判断された場合には、次の反復に進めるためにステップ322に再び戻る。
【0174】
ステップ326でさらに実行する反復が存在していないと判断された場合には、アルゴリズムが終了される。実行された反復回数がαと同一なために、さらに実行する反復が存在していない。また、アップデートされたモーションベクトルに対する所定の収斂判断基準が満たされたためにさらに実行する反復が存在していない。例えば、収斂判断基準は、特に直前の反復から現在の反復までの(各セルフブロック特別な、またはあらゆるセルフブロックに対して合算された)モーションベクトルで平均自乗分数変化が所定の限界値より小さいか否かでありうる。最初の実施形態で、ただαがさらに実行する反復が存在しているかを決定するためにステップ326で利用された。第2実施形態で、収斂判断基準のみさらに実行する反復が存在しているかを決定するためにステップ326で利用された。第3実施形態で、α及び収斂判断基準両方にさらに実行する反復が存在しているかを決定するためにステップ326で利用された。
【0175】
向上−基盤MCTFの変更(Modification of Lifting−Based MCTF)
本発明は、良好な動き領域でのノイズを減少させるためにデフォルトブロックに対して向上具現方式でOBMC、すなわち、予測及びアップデートステップを用いて向上具現方式のOBMCを行う。向上具現方式のOBMCのための式は次の通りである。
【0176】
【数13】

【0177】
【数14】


OBMCは、モーションベクトルフィールド
【0178】
【数15】


をランダムプロセスと見なす。これはフレームBの画素B[m、n]が前述したような対応する確率ウィンドウから確率h[m、n]を有するモーションベクトル
【0179】
【数16】


を有し、予測されたサブ画素の加重平均から補償されるということを意味する。式(5)−(6)で、
【0180】
【数17】


は(d、d)に最も近い整数を意味する。低時間フレームの形態は、OBMCを経ていない場合と同一に見られるが、実際にOBMCは高時間フレーム及び低時間フレーム両方に影響を及ぼす。OBMCから低時間フレームは視覚的にさらに好まれ、以後のMCTFステップにさらに適している。
【0181】
コンピュータシステム
図25は、本発明の実施形態によって、動きMCTFスケーラブルビデオコーダでMCTFを用いてI−ブロックを処理及び/または可変サイズブロックに対するOBMCを行うコンピュータシステムを示す図である。コンピュータシステム90は、プロセッサー91、プロセッサー91に連結された入力装置92、プロセッサー91に連結された出力装置93及び各々前記プロセッサー91に連結されたメモリ装置94、95を含む。入力装置92としては、特にキーボード、マウスなどがある。出力装置93としては、特にプリンタ、プロッター(plotter)、コンピュータスクリーン、マグネチックテープ、内部ハードディスクまたはディスク配列、除去可能なハードディスク、フロッピー(登録商標)ディスク、情報ネットワークなどがある。メモリ装置94、95としては、特にハードディスク、フロッピー(登録商標)ディスク、マグネチックテープ、CDまたはDVDのような光記録媒体、動的ランダムアクセスメモリ(DRAM)、ROM(Read−Only Memory)などがある。メモリ装置95は、コンピュータコード97を含む。コンピュータコード97は、動きMCTFスケーラブルビデオコーダ環境でMCTFを用いてI−ブロックを処理及び/または可変サイズブロックに対するOBMCを行うアルゴリズムを含む。プロセッサー91は、コンピュータコード97を実行する。メモリ装置94は、入力データ96を含む。入力データ96は、コンピュータコード97で要求される入力を含む。出力装置93は、コンピュータコード97からの結果を表示する。メモリ装置94、95のうちいずれか1つまたは全て(または図25に示されていない1つまたはそれ以上の付加メモリ装置)は、コンピュータコード97を含むコンピュータで読取り可能な具体化されたプログラムコード及び/または他のデータを備えた、コンピュータで使用可能な媒体(またはコンピュータで読取り可能な媒体またはプログラム保存装置)として利用されうる。一般的に、前記コンピュータシステム90のコンピュータプログラム製品(または、代案的に生産製品)は、前記コンピュータで使用可能な媒体(または前記プログラム保存装置)を含みうる。
【0182】
図25では、ハードウェア及びソフトウェアの特定構成としてコンピュータシステム90を示したが、前記図25の特定コンピュータシステム90は、当業者に知られたいかなる他のハードウェアまたはソフトウェアの形にも利用されうる。例えば、前記メモリ装置94、95は、分離された個別的なメモリ装置の代りに1つのメモリ装置の一部であり得る。
【0183】
以上、本発明についてその望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者ならば、本発明が本発明の本質的な特性から外れない範囲で変形された形に具現されるということを理解できるであろう。本発明の範囲は、前述した説明でなく、特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれたと解釈されねばならない。
【図面の簡単な説明】
【0184】
【図1】本発明の望ましい実施形態による動き補償時間フィルタリング(Motion Compensated Temporal Filtering:MCTF)処理部を含むビデオコーディングシステムを示す図である。
【図2】本発明の望ましい実施形態によって図1のMCTF処理部によって行われるMCTF過程を示す図である。
【図3】本発明の望ましい実施形態によって図2のMCTF過程によって発生する高時間フレームのI−ブロックを用いる方法を示すフローチャートである。
【図4】本発明の望ましい実施形態によって連続的なフレームの画素間の連結を示す図である。
【図5】本発明の望ましい実施形態によるI−ブロック及びP−ブロックを備えた1つのフレームを示す図である。
【図6】本発明の望ましい実施形態によって1つのI−ブロックの空間補間に用いられる記号(notation)を示す図である。
【図7A】本発明の望ましい実施形態によって1つの隣接ブロックのみが利用可能な場合にI−ブロックの空間補間を示す図である。
【図7B】本発明の望ましい実施形態によって1つの隣接ブロックのみが利用可能な場合にI−ブロックの空間補間を示す図である。
【図7C】本発明の望ましい実施形態によって1つの隣接ブロックのみが利用可能な場合にI−ブロックの空間補間を示す図である。
【図8】本発明の望ましい実施形態によってフレーム内の可変ブロックサイズを有するI−ブロックを示す図である。
【図9A】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図9B】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図9C】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図9D】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図9E】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図9F】本発明の望ましい実施形態によってI−ブロックの方向空間補間を示す図である。
【図10】本発明の望ましい実施形態によってI−ブロックのハイブリッド空間補間を示す図である。
【図11】本発明の実施形態によって可変サイズブロックで形成された現在フレームを示す図である。
【図12】本発明の実施形態によって図11の現在フレーム及び参照フレームを、現在フレームのブロック及び参照フレームの対応するブロックを各々リンクするベクトルと共に示す図である。
【図13A】本発明の実施形態によって図2のMCTF高時間フレームで可変ブロックサイズOBMCを用いるステップを示すフローチャートである。
【図13B】本発明の実施形態によって図13Aの可変ブロックサイズOBMC処理ステップを示すフローチャートである。
【図14】本発明の実施形態によって図13A及び図13Bのフローチャートと関連したフレーム処理のブロック図である。
【図15】本発明の実施形態により、MCTFによって高時間フレームH及び低時間フレームLに変換される2個の連続的な入力フレームA及びBを示す図である。
【図16】本発明の実施形態によって現在フレームでセルフブロック及び関連した最も近接した隣接ブロックを示す図である。
【図17A】本発明の実施形態によってセルフブロックが動きブロックである場合の4×4加重ウィンドウを示す図である。
【図17B】本発明の実施形態によってセルフブロックがI−ブロックである場合の4×4加重ウィンドウを示す図である。
【図18A】本発明の実施形態によってセルフブロックが動きブロックである場合の8×8加重ウィンドウを示す図である。
【図18B】本発明の実施形態によってセルフブロックがI−ブロックである場合の8×8加重ウィンドウを示す図である。
【図19】本発明の実施形態によって関連セルフブロックよりさらに大きい選択された最も近接した隣接ブロックの部分を描写した図11のフレームを示す図である。
【図20】本発明の実施形態によって関連した最も近接した隣接ブロックよりさらに大きいセルフブロックの部分を描写した図11のフレームを示す図である。
【図21A】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図21B】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図21C】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロック及びそれと関連したさらに小さい最も近接した隣接ブロックを示す図である。
【図22A】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはI−ブロックである。
【図22B】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはI−ブロックである。
【図22C】本発明の実施形態によって、縮少スキームと関連してOBMCによって用いられるセルフブロックの加重ウィンドウ及び関連したさらに小さい最も近接した隣接ブロックを示しており、ここで、最も近接した隣接ブロックはI−ブロックである。
【図23】本発明の実施形態によって、可変ブロックサイズOBMCで加重ウィンドウを計算を示すフローチャートである。
【図24】本発明の実施形態によって、図13A、図13B及び図23のフローチャートによって説明した方法によって計算された加重ウィンドウを使用する可変ブロックサイズOBMCによって処理される現在フレームのセルフブロックに対する改善されたモーションベクトルを連続的に計算する過程を示すフローチャートである。
【図25】本発明の実施形態によって、動きMCTFスケーラブルビデオコーダでMCTFを用いてI−ブロックを処理及び/または可変サイズブロックに対するOBMCを行うコンピュータシステムを示す図ある。

【特許請求の範囲】
【請求項1】
ビデオフレームを処理する方法において、
少なくとも相異なる大きさの2個のブロックを備えるブロックに分離された現在フレームを提供するステップと、
それぞれのブロックに対して重複されたブロック動き補償(OBMC)を行うステップとを含み、
前記OBMCが行われるブロックは、セルフブロックで示し、前記OBMCを行うステップは、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを備え、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMCを行うステップは、前記セルフブロック及び前記セルフブロックの各隣接ブロックに対する加重ウィンドウを生成するステップを含むことを特徴とする方法。
【請求項2】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項1に記載の方法。
【請求項3】
前記セルフブロック及び最初の隣接ブロックは、各々I−ブロックであることを特徴とする請求項1に記載の方法。
【請求項4】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはI−ブロックであることを特徴とする請求項1に記載の方法。
【請求項5】
前記セルフブロックはI−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項1に記載の方法。
【請求項6】
前記セルフブロックはI−ブロックであり、前記セルフブロックの生成されたウィンドウは最初の画素加重値及び2番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記2番目の画素加重値は、前記セルフブロックが動きブロックである場合の2番目の画素加重値と同じであることを特徴とする請求項1に記載の方法。
【請求項7】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項6に記載の方法。
【請求項8】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは、3番目の画素加重値及び4番目の画素加重値を備え、前記3番目の画素加重値は、前記セルフブロックが動きブロックである場合の3番目の画素加重値より大きく、前記4番目の画素加重値は、前記セルフブロックが動きブロックである場合の4番目の画素加重値と同じであることを特徴とする請求項6に記載の方法。
【請求項9】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項1に記載の方法。
【請求項10】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するOBMCを行うステップは、前記最初の隣接ブロックの最初の部分であって、前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項9に記載の方法。
【請求項11】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであり、前記最初の隣接ブロックの最初部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項9に記載の方法。
【請求項12】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するOBMCを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項9に記載の方法。
【請求項13】
前記セルフブロックは、動きブロックであることを特徴とする請求項12に記載の方法。
【請求項14】
前記最初の隣接ブロックは、動きブロックであり、前記セルフブロックの最初の部分は、影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備えることを特徴とする請求項13に記載の方法。
【請求項15】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは、双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは、0である加重値を備えることを特徴とする請求項14に記載の方法。
【請求項16】
前記最初の隣接ブロックはI−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは、0である加重値を備えることを特徴とする請求項13に記載の方法。
【請求項17】
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供し、前記動きベクトルは、総括的に1つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動(perturbing)して各反復ごとに改善された動きベクトルを計算するステップとをさらに含み、前記反復手順は、各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーを、前記反復の開始から前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項1に記載の方法。
【請求項18】
前記攝動は、パラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は、前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項17に記載の方法。
【請求項19】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項17に記載の方法。
【請求項20】
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング(MCTF)を行って低時間フレーム及び高時間フレームを生成するステップと、をさらに含み、
前記参照フレームは、少なくとも1つの他のフレームのうち1つであることを特徴とする請求項1に記載の方法。
【請求項21】
その内部にコンピュータで読取り可能なプログラムコードを備えるコンピュータプログラム製品において、前記コンピュータで読取り可能なプログラムコードは、ビデオフレームを処理する方法を具現するのに適したアルゴリズムを備え、
前記方法は、
少なくとも2つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、
各ブロックに対して重複されたブロック動き補償(OBMC)を行うステップとを含み、
前記OBMCが行われるブロックをセルフブロックと称し、前記OBMC実行は前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMC実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを備えることを特徴とするコンピュータプログラム製品。
【請求項22】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項23】
前記セルフブロック及び最初の隣接ブロックは、各々I−ブロックであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項24】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはI−ブロックであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項25】
前記セルフブロックはI−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項26】
前記セルフブロックはI−ブロックであり、前記セルフブロックの生成されたウィンドウは、最初の画素加重値及び2番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記2番目の画素加重値は、前記セルフブロックが動きブロックである場合の2番目の画素加重値と同じであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項27】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項26に記載のコンピュータプログラム製品。
【請求項28】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは、3番目の画素加重値及び4番目の画素加重値を備え、前記3番目の画素加重値は、前記セルフブロックが動きブロックである場合の3番目の画素加重値より大きく、前記4番目の画素加重値は、前記セルフブロックが動きブロックである場合の4番目の画素加重値と同じであることを特徴とする請求項26に記載のコンピュータプログラム製品。
【請求項29】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項30】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するOBMCを行うステップは、前記最初の隣接ブロックの最初の部分に前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項29に記載のコンピュータプログラム製品。
【請求項31】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであり、前記最初の隣接ブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項30に記載のコンピュータプログラム製品。
【請求項32】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するOBMCを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項29に記載のコンピュータプログラム製品。
【請求項33】
前記セルフブロックは、動きブロックであることを特徴とする請求項32に記載のコンピュータプログラム製品。
【請求項34】
前記最初の隣接ブロックは動きブロックであり、前記セルフブロックの最初の部分は影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは、双一次補間された加重値を超える加重値を備えることを特徴とする請求項33に記載のコンピュータプログラム製品。
【請求項35】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は、前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは0である加重値を備えることを特徴とする請求項34に記載のコンピュータプログラム製品。
【請求項36】
前記最初の隣接ブロックはI−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは0である加重値を備えることを特徴とする請求項33に記載のコンピュータプログラム製品。
【請求項37】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供し、前記動きベクトルは、総括的に1つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動して各反復ごとに改善された動きベクトルを計算するステップと、をさらに含み、前記反復手順は、各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーが前記反復の開始で前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは、前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項38】
前記攝動は、パラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は、前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項37に記載のコンピュータプログラム製品。
【請求項39】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項37に記載のコンピュータプログラム製品。
【請求項40】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング(MCTF)を行い、低時間フレーム及び高時間フレームを生成するステップとをさらに含み、前記参照フレームは少なくとも1つの他のフレームのうち1つであることを特徴とする請求項21に記載のコンピュータプログラム製品。
【請求項41】
プロセッサー及び前記プロセッサーに連結されたコンピュータで読取り可能なメモリ部を備えたコンピュータシステムにおいて、前記メモリ部は、前記プロセッサーによって実行されてビデオフレームを処理する方法を具現する命令を含み、前記方法は、
少なくとも2つの相異なる大きさのブロックを備えるブロックに分離された現在フレームを提供するステップと、
各ブロックに対して重複されたブロック動き補償(OBMC)を行うステップを含み、前記OBMCが行われるブロックをセルフブロックと言い、前記OBMC実行は、前記セルフブロックの隣接ブロックに対して前記セルフブロックに対するOBMCを行うステップを含み、前記隣接ブロックは、前記セルフブロックに最も近接した隣接ブロックを備え、前記隣接ブロックは、最初の隣接ブロックを備え、前記セルフブロックに対するOBMC実行は、前記セルフブロック及びその各隣接ブロックに対して加重ウィンドウを生成するステップを含むことを特徴とするコンピュータシステム。
【請求項42】
前記セルフブロック及び最初の隣接ブロックは、各々動きブロックであることを特徴とする請求項41に記載のコンピュータシステム。
【請求項43】
前記セルフブロック及び最初の隣接ブロックは、各々I−ブロックであることを特徴とする請求項41に記載のコンピュータシステム。
【請求項44】
前記セルフブロックは動きブロックであり、前記最初の隣接ブロックはI−ブロックであることを特徴とする請求項41に記載のコンピュータシステム。
【請求項45】
前記セルフブロックはI−ブロックであり、前記最初の隣接ブロックは動きブロックであることを特徴とする請求項41に記載のコンピュータシステム。
【請求項46】
前記セルフブロックはI−ブロックであり、前記セルフブロックの生成されたウィンドウは最初の画素加重値及び2番目の画素加重値を備え、前記最初の画素加重値は、前記セルフブロックが動きブロックである場合の最初の画素加重値より小さく、前記2番目の画素加重値は、前記セルフブロックが動きブロックである場合の2番目の画素加重値と同じであることを特徴とする請求項41に記載のコンピュータシステム。
【請求項47】
前記セルフブロックに対する加重ウィンドウを生成するステップは、
前記セルフブロックを動きブロックと見なして前記セルフブロックに対する最初の加重ウィンドウを生成するステップと、
前記最初の加重ウィンドウの加重値を減少させることによって、前記最初の加重ウィンドウからセルフブロックに対する加重ウィンドウを生成するステップとをさらに含むことを特徴とする請求項41に記載のコンピュータシステム。
【請求項48】
前記セルフブロックの各隣接ブロックの生成されたウィンドウは3番目の画素加重値及び4番目の画素加重値を備え、前記3番目の画素加重値は、前記セルフブロックが動きブロックである場合の3番目の画素加重値より大きく、前記4番目の画素加重値は前記セルフブロックが動きブロックである場合の4番目の画素加重値と同じであることを特徴とする請求項46に記載のコンピュータシステム。
【請求項49】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズと異なることを特徴とする請求項41に記載のコンピュータシステム。
【請求項50】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズを超え、前記セルフブロックに対するOBMCを行うステップは、前記最初の隣接ブロックの最初の部分で前記最初の隣接ブロックのブロックサイズを縮少するステップをさらに含み、前記最初の隣接ブロックの最初の部分は、前記セルフブロックのブロックサイズと同じ大きさを有し、前記最初の隣接ブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間に前記セルフブロックで画素値の予測に影響を及ぼす加重ウィンドウを有する前記最初の隣接ブロックの唯一の部分であることを特徴とする請求項49に記載のコンピュータシステム。
【請求項51】
前記セルフブロック及び最初の隣接ブロックは各々動きブロックであり、前記最初の隣接ブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を含むことを特徴とする請求項50に記載のコンピュータシステム。
【請求項52】
前記最初の隣接ブロックのブロックサイズは、前記セルフブロックのブロックサイズより小さく、前記セルフブロックに対するOBMCを行うステップは、前記セルフブロックの最初の部分に前記セルフブロックのブロックサイズを縮少するステップをさらに含み、前記セルフブロックの最初の部分は、前記最初の隣接ブロックのブロックサイズと同一であり、前記セルフブロックの最初の部分は、前記セルフブロックに対するOBMCを行う間にその画素値の予測が前記最初の隣接ブロックの加重ウィンドウに影響を受ける前記セルフブロックの唯一の部分であることを特徴とする請求項50に記載のコンピュータシステム。
【請求項53】
前記セルフブロックは動きブロックであることを特徴とする請求項52に記載のコンピュータシステム。
【請求項54】
前記最初の隣接ブロックは動きブロックであり、前記セルフブロックの最初の部分は影響を受ける領域と影響を受けない領域とを備え、前記影響を受ける領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を受けない領域で前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備えることを特徴とする請求項53に記載のコンピュータシステム。
【請求項55】
前記最初の隣接ブロックは、影響を与える領域と影響を与えない領域とを備え、前記最初の隣接ブロックの影響を与える領域は、前記セルフブロックの影響を受ける領域と関連し、前記最初の隣接ブロックの影響を与えない領域は、前記セルフブロックの影響を受けない領域と関連し、前記影響を与える領域で前記最初の隣接ブロックの生成された加重ウィンドウは双一次補間された加重値を備え、前記影響を与えない領域での最初の隣接ブロックの生成された加重ウィンドウは0である加重値を備えることを特徴とする請求項54に記載のコンピュータシステム。
【請求項56】
前記最初の隣接ブロックはI−ブロックであり、前記セルフブロックの最初の部分の生成された加重ウィンドウは双一次補間された加重値を超える加重値を備え、前記最初の隣接ブロックの生成された加重ウィンドウは0である加重値を備えることを特徴とする請求項53に記載のコンピュータシステム。
【請求項57】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供し、前記動きベクトルは、総括的に1つの初期動きベクトルの集合を構成するステップと、
あらゆる加重ウィンドウを生成した後、反復的な手順で前記動きベクトルの初期集合を攝動して各反復ごとに改善された動きベクトルを計算するステップをさらに含み、前記反復手順は各反復の最後で前記現在フレーム内の各動きブロックでのレジデュアルエラーが前記反復の開始で前記現在フレーム内の各動きブロックでのレジデュアルエラーに比べてさらに小さくし、前記レジデュアルエラーは前記生成された加重ウィンドウの利用を通じて計算されることを特徴とする請求項41に記載のコンピュータシステム。
【請求項58】
前記攝動はパラメータβによって各反復の開始で前記初期動きベクトル集合または改善された動きベクトルの集合の各動きベクトルが画素単位の部分に比例するように攝動するステップを含み、前記攝動は前記βによって各動きベクトルの水平及び垂直成分を独立的に攝動することを含むことを特徴とする請求項57に記載のコンピュータシステム。
【請求項59】
前記反復手順は、所定の反復最大値αが行われるか、所定の収斂条件が満たされる場合に終了されることを特徴とする請求項57に記載のコンピュータシステム。
【請求項60】
前記方法は、
動きブロックに分類された現在フレーム内の各ブロックに対して、前記動きブロックを現在フレームより時間上、以前及び/または以後の少なくとも1つの他のフレーム内の対応するブロックと関連させる少なくとも1つの動きベクトルを提供するステップと、
現在フレーム及び参照フレームの画素に対して動き補償時間フィルタリング(MCTF)を行って低時間フレーム及び高時間フレームを生成するステップと、をさらに含み、前記参照フレームは、少なくとも1つの他のフレームのうち1つであることを特徴とする請求項41に記載のコンピュータシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図9D】
image rotate

【図9E】
image rotate

【図9F】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21A】
image rotate

【図21B】
image rotate

【図21C】
image rotate

【図22A】
image rotate

【図22B】
image rotate

【図22C】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公表番号】特表2007−509542(P2007−509542A)
【公表日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2006−535646(P2006−535646)
【出願日】平成16年10月15日(2004.10.15)
【国際出願番号】PCT/US2004/033876
【国際公開番号】WO2005/038603
【国際公開日】平成17年4月28日(2005.4.28)
【出願人】(591117594)レンセラー・ポリテクニック・インスティチュート (6)
【氏名又は名称原語表記】RENSSELAER POLYTECHNIC INSTITUTE
【Fターム(参考)】