(57)【特許請求の範囲】
【請求項１】
ビデオデータを処理する方法であって、２次元の行及び列の配列でアドレス処理可能であるブロックである複数の画素ブロックを有するビデオデータのフレームを供給するステップと、
前記ビデオデータのフレームのブロックを交互に選択すると共に前記選択されたブロックに関して動きベクトルを推定するステップと、
動きベクトルが推定されていなかった前記ビデオデータのフレームの少なくとも１つのブロックを選択し、前記選択された少なくとも１つのブロックの左側のブロック又は右側のブロックが推定ゼロ動きベクトルを有するか否かについて第１の決定を行ない、前記選択された少なくとも１つのブロックが以前のフレームにおいて推定ゼロ動きベクトルを有したか否かについて第２の決定を行なうステップと、
前記第１の決定及び前記第２の決定が肯定的である場合、前記選択された少なくとも１つのブロックに既定の動きベクトルを供給し、前記第１の決定又は前記第２の決定が否定的である場合、動きベクトルを近隣部におけるブロックで推定した動きベクトルから補間するステップと、
前記補間された動きベクトルを前記選択された少なくとも１つのブロックに与えるステップと更に有し、前記既定の動きベクトルがゼロ動きベクトルである、方法。
【請求項２】
前記左側のブロックが、前記選択された少なくとも１つのブロックの連続的に前にあるブロックであり、前記右側のブロックが、前記選択された少なくとも１つのブロック連続的に続くブロックであり、前記既定の動きベクトルがゼロ動きベクトルである、請求項１に記載の方法。
【請求項３】
前記以前のフレームが直前のビデオデータのフレームである、請求項１に記載の方法。
【請求項４】
ブロックを交互に選択するステップが、５点形サブサンプリングパターンを用いるステップを有する、請求項１に記載の方法。
【請求項５】
動きベクトルが推定されていなかった前記ビデオデータの現在のフレームのブロックの全てが、動きベクトルを与えられているか否かを決定するステップを更に有する、請求項１に記載の方法。
【請求項６】
動きベクトルが推定されていなかった前記ビデオデータの現在のフレームの前記ブロックに供給される動きベクトルが、動きベクトルを与えられる前記ブロックの近隣部から補間された動きベクトル及びゼロ動きベクトルからなる群から選択される、請求項５に記載の方法。
【請求項７】
前記ビデオデータのフレームの前記推定動きベクトルを記憶するステップを更に有する、請求項６に記載の方法。
【請求項８】
データのフレームの第１複数個のブロックに関して動きベクトルを発生する方法であって、前記第１複数個のサブセットである第２複数個のブロックの各々に関して動きベクトルを推定するステップと、
前記第１複数個のサブセットであり前記第２複数個とは非重複である第３複数個のブロックの各々に関して、前記第３複数個のブロックの各々の左側のブロック又は右側のブロックが推定ゼロ動きベクトルを有するか否かについて第１の決定を行ない、前記第３複数個のブロックの各々が以前のフレームにおいて推定ゼロ動きベクトルを割り当てられたか否かについて第２の決定を行なうステップと、
前記第１の決定及び前記第２の決定が肯定的である前記第３複数個のブロックの各々に対してゼロ動きベクトルを割り当てるステップと、
前記第１の決定又は前記第２の決定が否定的である前記第３複数個のブロックの各々に対して、前記決定が否定的である前記第３複数個のブロックの各々を囲む近隣部のブロックの前記推定動きベクトルから補間された動きベクトルを夫々割り当てるステップとを有する方法。
【請求項９】
前記第２複数個のブロックを２次元配列の交互のパターンとして選択するステップを更に有する、請求項８に記載の方法。
【請求項１０】
前記第２複数個のブロックを５点形サブサンプリングパターンに従い選択するステップを更に有する、請求項８に記載の方法。
【請求項１１】
前記第２複数個のブロックが、前記第１複数個のブロックのうちの半分を有する、請求項８に記載の方法。
【請求項１２】
前記データのフレームがビデオデータを有する、請求項１１に記載の方法。
【請求項１３】
複数のビデオデータのフレームを受信するステップを更に有する、請求項１２に記載の方法。
【請求項１４】
前記第２複数個のブロックに関して前記推定動きベクトルを記憶するステップを更に有する、請求項１３に記載の方法。
【請求項１５】
前記第３複数個のブロックの各々の左側のブロックが、前記第３複数個のブロックの各々の直前に夫々表示されるべきデータを表すブロックを有する、請求項１４に記載の方法。
【請求項１６】
前記第３複数個のブロックの各々の右側のブロックが、前記第３複数個のブロックの各々の直後に夫々表示されるべきデータを表すブロックを有する、請求項１５に記載の方法。
【請求項１７】
前記動きベクトルを推定するステップが、ブロック内の画素情報を処理するステップを有する、請求項１６に記載の方法。
【請求項１８】
前記補間動きベクトルを記憶するステップを更に有する、請求項１７に記載の方法。
【請求項１９】
機械認識可能命令を符号化して格納するための媒体であって、
機械によって前記機械認識可能命令を認識して実行することにより、２次元の行及び列の配列でアドレス処理可能であるブロックである複数の画素ブロックを有するビデオデータのフレームを与え、前記ビデオデータのフレームの交互のブロックを選択すると共に前記選択されたブロックに関して動きベクトルを推定し、動きベクトルが推定されていなかった前記ビデオデータのフレームの少なくとも１つのブロックを選択し、前記選択された少なくとも１つのブロックの左側のブロック又は右側のブロックが推定ゼロ動きベクトルを有するか否かについて第１の決定を行ない、前記選択された少なくとも１つのブロックが以前のフレームにおいて推定ゼロ動きベクトルを有したか否かについて第２の決定を行ない、前記第１の決定及び前記第２の決定が肯定的である場合、前記選択された少なくとも１つのブロックにゼロ動きベクトルを供給する、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね画像処理に関し、更に特にビデオアーチファクトを低減するバイアスされた動きベクトル補間の方法に関する。
【背景技術】
【０００２】
半導体製造、デジタルシステムアーキテクチャ及び通信インフラの進歩は、大容量のビデオコンテンツを作成し伝達する手段を提供してきた。これらの進歩は、斯様なビデオコンテンツの作成及び伝達を可能にすることに加えて、民生電子製品がビデオ処理回路及びソフトウェアを組み込むことを経済的にも実現可能にしている。
【０００３】
ビデオコンテンツの伝達及び再生、及びある場合においてビデオコンテンツの作成は、民生電子製品において実施可能であるものの、斯様な民生電子製品を低コストな方法で生産することが所望である。同様に、広く利用可能な通信インフラのトラフィック容量は、大きく増加してきているものの、それでも、通信に関して実際に提供されるデータ量を低減することが所望である。ビデオデータを取り扱う低コストな製品を生産する目標は、斯様な装置によって実行されるのに必要とされるタスクの演算処理的複雑性を減らす努力によって概ね解決される。通信トラフィックを減らす目標は、送信されるべきデータがより少なく存在するように、ソースとなる資料を圧縮することによって概ね解決される。
【０００４】
様々な既知のスキーム、技術及び標準規格が、他の種類の画像データと同様に、ビデオデータの圧縮及び圧縮解除に関して開発されてきた。ビデオ圧縮に対する共通する解決法は、ビデオにおけるあるフレームとその次の時間的に連続なビデオフレームとの間においてかなりの量の共通性が通常存在するという事実を利用する。斯様な解決法は、第１フレームを符号化し、そして１つ又は複数の後続のフレームを処理してこれらの後続のフレームの代わりに送信される「動きベクトル」を発生する。動きベクトルは、より少ないデータトラフィックが送信に関して発生されるように、導出されたフレームよりも大幅に少ないデータを含む。動きベクトルは、再生に関してビデオデータを「再構築する」のに用いられ得る。
【０００５】
例えば、圧縮ビデオがＣＤ、ＤＶＤ，磁気ディスク、ビデオテープ又は他の斯様な媒体に記憶される場合のような、通信ネットワークにわたる送信が意図されていない場所においても、様々なビデオ圧縮スキームが用いられることが理解され得る。
【０００６】
ビデオデータにおいてしばしば実行され「スキャンレート変換」と呼ばれる処理において、特定の動きベクトルは、このベクトルの対応する実際のビデオデータから導出されるのではなく、他の動きベクトルから補間されることもある。斯様な処理は、生じる動きの推定を与える。この推定は、通常、（ブロックが通常８画素×８画素である）１つおきの画素ブロックに関して動きベクトルを引き出すことによって実行される。その結果、画像全体の動きベクトルの半分が、実際のビデオデータから導出されるのではなく、他の動きベクトルから実際に補間される。このことは、演算処理、メモリ及びバス帯域幅等を節約するのに行われる。通常、平均化又は中央値フィルタリング技術が、欠けている動きベクトルを発生するのに用いられる。
【０００７】
あいにくにも、不所望なビデオアーチファクトが、全ての動きベクトルを引き出すのではなく他の動きベクトルから動きベクトルを計算する解決法を用いるシステムにおける再生において時折発生される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ビデオアーチファクト発生が低減されるように動きベクトルを補間する方法を提供することである。
【課題を解決するための手段】
【０００９】
要約すると、動きベクトルがビデオフレームを形成するデータブロックのサブセットに関して推定されると共に動きベクトルがフレームの残りのブロックに関して補間されるビデオ処理システムにおいて、１つの方法は、動きベクトルが推定されない現在のフレームうちの少なくとも１つのブロックに関して、前記少なくとも１つのブロックの左のブロック又は右側のブロックが推定ゼロ動きベクトルを有するか否かを決定するステップと、前記少なくとも１つのブロックが推定ゼロ動きベクトルを以前のフレームにおいて有したか否かを決定するステップと、そして両方の決定が肯定的である場合、前記少なくとも１つのブロックに関して既定の動きベクトルを与えるステップとを含む。斯様な既定の動きベクトルは、ゼロ動きベクトルである。
【発明を実施するための最良の形態】
【００１０】
本発明は、概ね、ビデオ資料における動きベクトルを推定する方法に関する。本発明は、非推定領域又はブロックの動きベクトルを補間する現行の補間法アルゴリズムに対する改良である。本発明の様々な実施例は、いかなる任意に選択された補間法アルゴリズムを用いても得られる結果を向上させるために用いられ得る動きベクトル補間の方法を与える。非ゼロ動きベクトルのみが、スキップされたブロックの領域において得られる場合、このスキップされたブロックは、非ゼロ動きベクトルを有する周辺のブロックの動きベクトルから補間された動きベクトルを受信すなわち割り当てられる。しかし、左側のブロック又は右側のブロックの一方、すなわちスキップされたブロックの周辺のブロックに関連付けられた動きベクトルがゼロであり、且つ(スキップされたブロックに関する)以前の(推定された)動きベクトルもゼロである場合、ゼロ動きベクトルのような既定の動きベクトルが前記スキップされたブロックの現在の動きベクトルとして用いられる。
【００１１】
「１つの実施例（one  embodiment,  an  embodiment）」又は類似の記述に対する本文章における参照は、実施例と関連する特定の機能、構造、動作又は特性が、本発明の少なくとも１つの実施例に含まれることを意味する。したがって、ここにおける斯様な語句又は記述の体裁は、必ずしも全てが同一の実施例を参照しているわけではない。より更には、様々な特定の機能、構造、動作又は特性は、１つ又は複数の実施例におけるいかなる適切な仕方でも組み合わせられ得る。
【００１２】
画素(pixel)は、画像要素を指す。画素は、本質的に、ディスプレイのアドレス処理可能な最小ユニットである。画素を表現する一般的な方法の１つは、１つ又は複数のデジタルデータのビットとしてである。
【００１３】
ブロック(block)は、フレームすなわち画像を作り上げる画素のサブセットである、画素の集まりである。
【００１４】
近隣部(neighborhood)とは、何れの特定のブロックの既定の範囲における１つ又は複数のブロックを指す。いくつかの実施例において、近隣部は、所与のブロックに関して直接隣接するブロックを含むが、これには限定されない。しかし、本発明は、どのブロックが所与のブロックの近隣部において存在するかを規定する、いかなる特定の範囲又は規則の組にも制限されない。
【００１５】
スキップされたブロック(skipped  block)は、動きベクトルが推定されないブロックを指す。本発明に従い、規定の動きベクトル(例えばゼロ動きベクトル)又は補間動きベクトルの一方が、スキップされたブロックに対して割り当てられる又は生成される。
【００１６】
推定動きベクトル(estimated  motion  vector)は、画素情報の処理から導出されるすなわち得られる動きベクトルを指す。
【００１７】
補間された動きベクトルは、推定された動きベクトルの処理から導出されるすなわち得られる動きベクトルを指す。
【００１８】
図１を参照して、ビデオデータのフレームの区分すなわち準分割部に関する例証的なレイアウトが示される。更に特には、ビデオデータのフレームが２次元画素配列として表され得る。いくつかの実施例において、各々の画素は、１つ又は複数のデータビットによって表される。多数のビデオ処理アルゴリズムに関して、ビデオデータのブロックにおいて演算することは、有用である。ビデオデータのこれらのブロックは、ビデオデータのフレームのサブセットすなわち下位配列を表す２次元画素の集まりである。これらのブロックは、典型的なブロックサイズは８画素×８画素であるが、いかなる特定のサイズでもあり得る。ビデオデータのブロックは、Ｘ−Ｙ座標系で見て参照され得る。斯様な系において、ブロックの各々は、１行及び１列にあるとみなされ得る。この文脈において、行は、一連の水平方向のブロックを表し、行の各々は、ラスタ型のディスプレイにおいて、ディスプレイスクリーンにわたり順次的に表示され得る。同様に、列は、垂直方向のブロックの１群である。図１に図示されるように、Ｎ×Ｍブロック配列が示され、ビデオデータの２次元フレームの下位配列（すなわちブロック）の集まりへの区分化を図示する。図１の例証的なアドレス処理スキームにおいて、矢印は、Ｘ及びＹ座標に関して値が上昇する方向を示す。ブロックに区分化されるビデオデータの図示されるフレームは、ビデオデータのフレームから発生されるディスプレイの空間的レイアウトに対応するので、この種類のデータを処理する便利な装置である。しかし、ビデオデータは、本発明に従うビデオ処理システムのいかなる特定の実行においても、メモリ又は同様な記憶システムにおいて何れかの都合の良い又は適切なパターンで記憶され得、データが視覚的ディスプレイに表示されるのと同一の順序で斯様なメモリシステムにおいて配置される必要はないことを注意しなければならない。
【００１９】
動きベクトルは、特にスキャンレート変換に関して現在用いられている動き推定器において、通常ブロックが８画素×８画素であるような１つおきの画素ブロックに関して作成される（すなわち推定される）。その結果、実際のビデオデータに基づく動きベクトルは、画像データの半分のみに関して作成されている。実際のビデオデータに基づく動きベクトルの作成をブロックの半分に関してスキップする主な理由は、演算処理リソースの要件を減らすことである。上述のように、画素ブロックに関して動きベクトルを決定するステップは演算処理的なコストを有するので、大幅に演算処理量を斯様にして減らすことは、電子製品における演算処理的リソースに関する要件も減らし、これにより、この製品のコストも低減する。しかし、動きベクトルは画素ブロック毎に関していかなる動き補償処理においても必要とされるので、動きベクトル演算処理が実行されなかったこれらのブロックに関する動きベクトルは、画素データから直接動きベクトルを導出されるよりも演算処理的に少なく集中するような方法で作成される必要がある。
【００２０】
所望の低演算処理コストを有する仕方で「欠けている」動きベクトルを発生する一般的な解決法は、スキップされたブロックに関して動きベクトルを発生するために、平均化又は中央値フィルタリング技術の一方（又は両方の組み合わせ）を用いることである。これにより、一貫性が生得的に得られる。
【００２１】
上述のように、動き推定器は、特定の環境下において、画像の一部のみに関して、すなわち、ビデオデータのフレームを作り上げるブロックのサブセットに関してのみ、動きを推定し得る。非推定領域又はブロックに属する動きベクトルは、そして、直接の近隣部におけるブロックの推定された動きベクトルから補間される。例えば、字幕の左側において、第１文字が、動きベクトルが実際のビデオデータに基づいて引き出されないブロックに含まれることもあり得、したがってこのブロックに関する動きベクトルがこの近隣部から補間される必要があるので、ある種の問題が発生することもある。字幕周辺のビデオが動く場合、従来技術を用いると、第１文字を含むブロックが、非ゼロ動きベクトルを有し得、したがって動き補償技術が原因で潜在的にアーチファクトを引き起こす可能性が非常に高い。
【００２２】
本発明の様々な実施例は、ビデオ再生において視覚的表示を向上している点で、特にビデオアーチファクトを低減している点で、所望な結果を提供する。このことは、従来型システムにおいて、特に字幕含む画像領域において現れる斯様なアーチファクトを低減するのに有用である。本発明のこれら様々な実施例は、いかなる数の一般的な補間処理とも用いられ得る。この点において、本発明の実施例は、広範囲の種類の既存のビデオ処理システム及び処理方法にも容易に適用され得る。
【００２３】
例証的な実施例において、一般的な補間処理方法は、動きベクトルを、非ゼロ動きベクトルのみを含む画像領域において動きベクトルが推定されてないかったブロック(すなわちスキップされたブロック)に対し作成し割り当てるのに用いられる。しかし、ゼロ動きベクトルは、左側の又は右側の推定されたブロックがゼロ動きベクトルを有する場合、及び現在のブロックに関する以前のフレームにおける推定された動きベクトルがゼロ動きベクトルであった場合に、スキップされたブロックに割り当てられる。
【００２４】
図２を参照して、本発明に従う図示的な方法が示される。例証的な方法は、ビデオデータのフレームが通常８画素×８画素のブロックに細分化又は区分化される、一連のビデオデータのフレームを処理する状況において実行される。図２において、「ＭＶ」は、動きベクトルを示し、、「Ｘ」は、ｘ方向（通常水平方向）のブロック座標を示し、「Ｙ」は、ｙ方向（通常垂直方向）のブロック座標を示し、「ｎ」は、ビデオデータの現在のフレームを示す。動きベクトルは、ビデオデータの現在のフレームに対して、１つおきのブロックに関して、すなわち、ビデオデータの現在のフレームのブロックの半分に関して推定される２０２。動きベクトルを推定することは、動きベクトルがビデオデータにおいて実行される演算から導出されることを意味する。図２の例証的な例において、５点形サブサンプリングパターンが用いられる。動きベクトルが推定された後、動きベクトルが推定されないビデオデータの第１ブロックが、選択される２０４。ここで、第１に選択されたブロックの座標を（Ｘ，Ｙ，ｎ）と参照することにする。より一般的には、第１に選択されたブロックは、現在のブロック（Ｘ，Ｙ，ｎ）と参照され得る。第１番目に選択されたブロック（すなわち（Ｘ，Ｙ，ｎ））の左側に関する動きベクトル（すなわちＭＶ（Ｘ−１、Ｙ，ｎ））か又は右側に関する動きベクトル（すなわちＭＶ（Ｘ＋１、Ｙ，ｎ））が、ゼロ動きベクトルを有するか否か、且つ第１に選択されたブロックに関する以前のフレーム（すなわち、ＭＶ（Ｘ，Ｙ，ｎー１））における動きベクトルがゼロ動きベクトルであったか否かに関しての決定がされる２０６。決定が肯定的である場合、ゼロ動きベクトルが現在のブロックに割り当てられる２０８（すなわち（ＭＶ（Ｘ，Ｙ，ｎ）がゼロ動きベクトルである）。２０６の決定が否定的である場合、動きベクトルは、第１に選択されたブロックの近隣部から補間され、当該ブロックに割り当てられる２１０。動きベクトルが第１に選択されたブロックに割り当てられた（２０８又は２１０）後に、動きベクトルが割り当てられる必要がある全てのブロックが処理されていたかに関する決定がされる２１２。２１２の決定が肯定的である場合、現在のフレームは完全に処理されており、システムは、次のタスク２１６に関して準備が出来ている。２１２の決定が否定的である場合、現在のビデオデータのフレームにおいて動きベクトルが推定されていない別のブロックが選択され２１４、処理が２０６に継続される。
【００２５】
様々なビデオ圧縮／圧縮解除システムが、ブロック及び動きベクトルの間における関係に対して、当初のフレームから及び動きベクトルによって示された変化からビデオ再生を再構築するために、動きベクトルを用いることを注意しなければならない。言い換えれば、様々なデータブロックにおける実際のビデオ情報を送信するのではなく、動きベクトルが代わりに送信される。この点に関して、動きベクトルは、ブロックに「割り当てられる」、ブロックに「与えられる」又はブロックと「関連付けられる」ということが言える。これらの語句は、ある程度交換可能に用いられること、及び動きベクトルとブロックとの間における関係であってビデオデータの「当初の」フレームに動きベクトルを適用することによって再構築されるべき関係を伝達することになっていることが理解され得る。
【００２６】
本発明の一般的な実施例において、複数のフレームのビデオデータは、図２に図示される方法に従い受信され処理される。
【００２７】
本発明の様々な実施例は、処理されたビデオデータにおけるアーチファクトを低減する方法及び装置を含む。斯様な実施例は、動き推定器及び補償器において用いることが適切であり得る。より更には、本発明の様々な実施例は、非推定領域又はブロックに関して動きベクトルを補間するのに用いられる従来型の補間処理方法に対して改善点を提供する。
【００２８】
本発明のいくつかの実施例の有利な点は、いかなる追加的なブロックのデータ又は画素のデータを処理することなく、ビデオデータのフレームのブロックの一部のみに関して推定動きベクトルを与えるビデオ処理システムにおける字幕に関連付けられるビデオアーチファクトの低減を含む。
【００２９】
本発明に従う多数の代わりの実施例が可能であることを注意しなければならない。１つの斯様な実施例は、現在の選択されたブロックから更に空間的に及び／又は時間的に分割されるブロックと関連付けられる動きベクトルが、ゼロ動きベクトルを現在の選択されたブロックに割り当てるかを決定するのに評価される。斯様な実施例は、追加的な演算処理的リソースを必要とし得ること、そして特に現在のブロックから更に時間的に分離されるブロックを活用する実施例は、概ね、斯様な履歴を維持するために追加的なメモリリソースを必要とすることを注意しなければならない。他の代わりの実施例は、ゼロ動きベクトル以外の動きベクトル、すなわち既定であるが非ゼロである動きベクトルを割り当てるステップを含むことがある。
【００３０】
更に他の代わりの実施例は、５点形サブサンプリングパターン以外のサンプリング構造を含み得る。原理的に、いかなるフィールド交互(alternating)サンプリングパターンも、本発明の実施例において含まれ得る。５点形サブサンプリングパターンは、本発明を例示するために示されている。
【００３１】
本発明は、単一集積回路において可能な実装を含む、回路を基にした解決法として実施され得る。当該者にとって明らかであるように、回路要素の様々な機能は、ソフトウェアプログラムにおいて演算を処理するようにも実施され得る。斯様なソフトウェアは、例えば、デジタルシグナルプロセッサ、マイクロコントローラ又は汎用目的計算機において用いられ得る。
【００３２】
本発明は、これらの方法を実施する方法及び装置の形で実施され得る。また本発明は、パンチカード、磁気テープ、フロッピディスク、ハードディスクドライブ、ＣＤ−ＲＯＭ、フラッシュメモリカード又は他の如何なる機械読取可能な記憶媒体のような、有形媒体において実施されるプログラムコードの形をとり実施され得、ここで、ブログラムコードが、計算機のような機械にロードされてこの機械によって実行される場合に、この機械は、本発明を実施する装置になる。また本発明は、例えば、記録媒体に記憶され、機械にロードされ及び／若しくはこの機械によって実行される、又は電気線／ケーブルを通じて、光ファイバを介して若しくは電磁放射を介してのような、特定の伝送媒体／担体において伝送されるの何れかのプログラムコードの形をとり実施され得、ここで、ブログラムコードが、計算機のような機械にロードされてこの機械によって実行される場合に、この機械は、本発明を実施する装置になる。汎用目的処理器において実行される場合、前記プログラムコードのセグメントは、特定論理回路に類似して動作する独特な装置を提供する処理器と結合する。
【００３３】
本発明は、上述の実施例に制限されないが、何れの及び全ての実施例を添付の請求項の範囲内に含めることを理解されるべきである。
【図面の簡単な説明】
【００３４】
【図１】図１は、ブロックに区分化されたビデオデータのフレームを図示する。
【図２】図２は、本発明に従い、動きベクトルを提供する処理を図示するフロー図である。
【図１】
0004575370.tif 000002
【図２】
0004575370.tif 000003