説明

デジタルビデオにおける繰り返しの検出

ビデオピクチャデータのシーケンス中の繰り返しピクチャを検出する方法であり、前記ビデオピクチャデータの各ピクチャが複数のマクロブロックを含む方法が提供される。この方法は、各マクロブロックの最適動きベクトル、各マクロブロックの最適動きベクトルの差分絶対値和の値及び各マクロブロックのゼロ動きベクトルの差分絶対値の和の値を提供するために、複数のレベルを含み、各マクロブロックの前記最適動きベクトル、前記最適動きベクトルの差分絶対値和の値及び前記ゼロ動きベクトルの差分絶対値和の値が少なくとも最上位レベルに提供される階層的動き推定をビデオピクチャデータに対して実行することと、階層的動き推定の最上位レベルからゼロ動きベクトルの差分絶対値の和の値に基づいてノイズ閾値を提供することと、ピクチャに対して歪み値を提供するためにノイズ閾値より大きい最適動きベクトルの差分絶対値の和の値を有するマクロブロックに対する最適動きベクトルの差分絶対値の和の値を累積することと、歪み値に依存して繰り返しフラグを設定することとを含む。この方法を実行するように構成された装置、並びにコンピュータによる実行時にそのコンピュータにこの方法を実行させる命令を保持するコンピュータ可読媒体が更に提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にビデオ符号化に関し、特に、繰り返されるピクチャを検出するためのビデオの前処理に関するものである。
【背景技術】
【0002】
数十年もの間、映画産業は、動画材料を撮像するために24画像/秒(即ち、24Hz)のピクチャ又はフレームレートを使用していた。テレビ技術が1930年代に登場した時、この初期のフィルム規格が存在したにも関わらず異なるフレームレートが選択された。実際には、24Hzのフィルム規格が実質上の世界標準であったが、テレビのピクチャレートは、配電システムの周波数に基づいて2つの標準に二極化された。
【0003】
欧州及び世界の他の多くの地域では、電力周波数は50Hzであるため、これらの地域において、テレビのフレームレートは一般に25Hzである。これは、テレビが主にインタレースディスプレイ形式、即ち、動画を生成するために交互に入れ替わるフィールド(上位(TOP)及び下位(BOTTOM))を表示する形式であるためである。これを図1に更に明示的に示す。従って、テレビの場合、インタレースフィールドディスプレイレートが電力システムの周波数、即ち、50Hzである場合、結果として得られるフレームレートは半分、即ち、25Hzである。
【0004】
2つのフレーム周波数(24Hz対25Hz)の間の差は小さいため、映画は通常よりわずかに速く(約4.16%速く)フィルムを回すことにより25Hzで欧州のテレビで容易に提示される。この場合、音の高さがほぼ半音高いが、視聴者はそれを許容できる。従って、50Hzのテレビ環境で映画を提示することに関連する大きな問題はない。
【0005】
しかしながら、米国及び米国の電力周波数が採用されている他のいくつかの地域では電力周波数が60Hzであるため、それらの地域のテレビのフィールドレートは60Hzであり且つフレームレートは30Hzである。後者のフレーム周波数は、1950年代にカラーテレビ(NTSCテレビジョン方式(National Television System Committee)と呼ばれる方式)が採用された時に29.97Hzになるように変更され、このフレーム周波数がそれ以降使用されている。
【0006】
元の24Hzのフィルムレートと現在の29.97HzのNTSCフレームレートとの間の差異は約25%であり、このフレームレートの差異が大きいため、NTSCテレビ(又は他の60Hzのテレビ方式)での映画の提示は容易ではなく、単に映画の再生速度を加速することでは行えない。
【0007】
上記で簡単に説明したように、全ての現在の標準解像度テレビジョンシステムは完全なテレビフレームの各々がフィールドと呼ばれる2つの部分で送信されるインタレースのシステムを使用する。図1は、ビデオフレーム10が奇数ラインを含む上位フィールド20及び偶数ラインを含む下位フィールド30の2つのフィールドから形成される方法を示す。
【0008】
送信される第1のフィールドはラスタ走査の奇数ラインを含み、送信される第2のフィールドはラスタ走査の偶数ラインを含む。
【0009】
図2は、8つのフィールドを有するフィルムシーケンスの4つのフレーム、即ち、ビデオの代表的な4フレームの長さの部分における通常のフィールドのシーケンスを示す。
【0010】
フィルム生成中に取り込まれる24フレーム/秒をNTSCテレビジョン方式の29.97フレーム/秒にマッピングする方法は「3:2プルダウン」と呼ばれる。これは、24個のフィルムフレームが対応する30個のテレビフレームと同一の時間を占有すること、即ち、5個のテレビフレームの各集合に対して4つのフィルムフレームが占有することを保証するパターンのいくつかのテレビフレームのいくつかのフィールドの完全な繰り返しを含む。29.97Hzと30Hzとの間の小さな差分はこの処理に対しては重要ではない。
【0011】
3:2プルダウン処理において、24個のフィルムフレーム(/秒)は、60個の別個のテレビ又はビデオフィールドとして配置された30個のビデオフレーム(/秒)に分配される。各3:2シーケンスの開始時、フィルムの所定のフレームは走査され且つビデオ出力の3つのフィールド上に配置される。ここで、第3のフィールドは第1のフィールドの繰り返しであり、新しいテレビフレームの第1のフィールドを含む。その後、次のフィルムフレームが走査され且つ次の2つのテレビフィールド上に配置されるが、順番は逆である。即ち、第2のテレビフレームを完成するために下位フィールドが最初になり、第3のテレビフレームの第1のフィールドを形成するために上位フィールドは最後になる。第3のフィルムフレームは走査され且つ別の繰り返しフィールドを含む次の3つのフィールド上に配置され(即ち、マッピングされ)、第4のフィルムフレームは2つのテレビフレーム上になるが順番は逆である。その結果、4つのフィルムフレーム毎に、図3に示すようなテレビフィールド分布のパターンで5つのテレビフレーム(又はNTSCインタレースビデオの10個のフィールド)に変換される。
【0012】
そのようなテレビフィールドのシーケンスにビデオ圧縮を適用することにより、特有の問題が生じる。例えば、3:2プルダウン処理が適用されたシーケンスにおいて、フレームを使用した符号化が使用される場合、全てのテレビフレームのうちの1/4は種々のソースフィルムフレームのうちの2つのフィールドから構成され、低品質の圧縮及び望ましくない目に見える人為的な不自然な結果を招く。その一方で、フィールドを使用した符号化が使用される場合、フィールドの繰り返しにより起こる2つの冗長フィールドは10個のフィールド毎に無駄に再符号化され、結果として非効率的な圧縮を招く。
【0013】
その結果、MPEG2デジタルビデオのシンタックス(syntax)は、そのようなシーケンスが24フレーム/秒で符号化され且つフィールドの繰り返しが復号器で実行されるようにフラグを使用してこの効率の悪さを回避しようとしている。これらのフラグは、RFF(Pepeat First Field)及びTFF(Top Field First)である。同様に、付加拡張情報(SEI)メッセージは、繰り返しフィールドを示すためにH.264において使用される。従って、達成される圧縮を向上させ、且つ知覚されるビデオ品質を向上させるためにビデオシーケンスにおいて繰り返しフィールドを確実に検出できることが非常に望ましい。
【0014】
入力ビデオの形式の事前の指示を必要とするいくつかの3:2検出方式が存在し、それらの方式は全てのビデオが一貫して同一の形式及び品質であることを仮定している。従って、特に3:2シーケンスを検出する既知の実際的なハードウェアにおいて、入力が既にその形式であることは事実上既知である。
【0015】
しかし、この入力ビデオの種類の事前の指示はビデオ圧縮符号器の前処理環境でそれ程使用されず、ソースのビデオ信号形式は本質的に任意に組み合わされてもよい。即ち、共に編集されたいくつかの種々のソースからの挿入を含んでもよい。ある材料はフィルムストックから導出され且つフィルムからの3:2変換であり、他の部分は必然的にインタレースされるテレビビデオ固有の部分であり、更に他の部分は元々はプログレッシブである。従って、プリプロセッサは、ピクチャ品質を低下させることなく信号形式又は挙動の事前の知識なしで全てのこれらの形式の特性に対処できるべきである。
【0016】
ノイズのないシーケンスの場合、繰り返しフィールドは隣接するフレームにおいて同一のパリティ、即ち、上位又は下位フィールドを有するフィールド間の時間的差分を計算することによりインタレースビデオにおいて容易に検出される。例えば、図4に示すように、繰り返しフィールドの比較によりゼロの時間的差分(40a)が生成され、非繰り返しフィールドの比較により非ゼロの時間的差分(40b)が生成される。これにより、10フィールド期間にわたり時間的差分値の最終的な繰り返しパターンを識別するという機会が提供され、3:2プルダウンシーケンスが識別可能である。
【0017】
しかしながら、ノイズ及びフィルムの揺れ等のビデオシーケンスに対する他の損傷がある場合、繰り返しフィールド間の時間的差分はゼロではない。差分値は、ノイズにより左右される累積された損傷の変化に依存する。
【0018】
スローモーション動作及びノイズを含むシーケンスの場合、単に時間的差分の値を観察することは間違ったトリガを引き起こすか又は繰り返しフィールドのトリガを逃すことになる。これは、非繰り返しフィールドがそのようなスローモーションシーケンスに対しても小さな時間的差分値を生成するためである。繰り返しフィールド間の差分を解析することにより時間領域で動作する既存の解決策はノイズにより劣化するため、あらゆる新しい繰り返しフィールド検出方法がスローモーションシーケンスに対するノイズに対して高い耐性を有する向上した性能を提供することが非常に望ましい。
【0019】
3:2プルダウンシーケンスを検出する方法が存在するが、ソースビデオシーケンスに一般に存在する強いノイズレベルがある状態で繰り返しフィールドを効率的に検出する方法は存在しない。
【0020】
例えば、特許文献1では、3:2プルダウンパターンを識別するために隣接するフィールドの各ブロックの動きベクトル間の相関及び大きさの組合せを使用する。
【0021】
特許文献2では、現在の上位及び下位フィールド、並びに以前の上位及び下位フィールドが各差分絶対値の和(SAD)回路に入力され、且つその出力が差分信号を生成するために減算される回路を使用する。差分信号はスパイク検出器に入力され、スパイク検出器は、シーンの変更により起こるスパイクを検出し且つ除去し、最後の5つのフレームにわたり差分信号の最大値及び最小値を検出する。更にこれらの最大値及び最小値は、3:2プルダウン素材を示すフラグ信号を生成するために相関がとられ、そして処理される。
【0022】
特許文献3では、動き推定器により判定されたフィールド動きベクトルを使用し、繰り返しフィールドが存在するかを判定するためにフィールド動きベクトルを閾値と比較する。
【0023】
特許文献4では、3:2プルダウンシーケンスを検出するためにファジー理論を使用するが、フィールド又はフレーム差分及びSADを用いた方法を使用する。ファジー理論は、体系的に関係する5つのフレームにわたる3:2プルダウンシーケンスの予測されたフィールドのパターンを見る。
【先行技術文献】
【特許文献】
【0024】
【特許文献1】米国特許第6,058,140号明細書
【特許文献2】米国特許第5,852,473号明細書
【特許文献3】米国特許第7,203,238号明細書
【特許文献4】米国特許第7,180,570号明細書
【発明の概要】
【発明が解決しようとする課題】
【0025】
上述の方法の全てが入力ビデオシーケンスに存在するノイズレベルを適切に考慮に入れるわけではないため、ノイズがある状態で間違った結果を生成する可能性がある。例えば、それらの方法は、輝度成分の平均値を計算することによりテレビ信号のノイズ成分の大きさを計算してもよい。この手法は、より暗いシーンが撮影される時にビデオ信号がより大きいノイズ成分を有する(即ち、明るいシーンと比較して暗いシーンに対しての方がノイズレベルが高い)と仮定する。従って、この方法において、閾値は、輝度平均値が高い場合に小さい値に設定され、輝度平均値が低い場合に大きい値に設定される。
【0026】
従って、本発明の目的は、そのような問題に対処し、MPEG2符号化の実際的な性能を向上させることである。
【課題を解決するための手段】
【0027】
本発明を第1の側面から見れば、ビデオピクチャデータのシーケンス中の繰り返しピクチャを検出する方法であり、前記ビデオピクチャデータの各ピクチャが複数のマクロブロックを含む方法であって、前記方法は、各マクロブロックの最適動きベクトルと、各マクロブロックの最適動きベクトルの差分絶対値和の値と、各マクロブロックのゼロ動きベクトルの差分絶対値の和の値を提供するために、複数のレベルを含み、前記各マクロブロックの前記最適動きベクトルと、前記最適動きベクトルの差分絶対値の和の値と、前記ゼロ動きベクトルの差分絶対値の和のと値が少なくとも最上位レベルに対して提供される階層的動き推定をビデオピクチャデータに対して実行する工程と、前記階層的動き推定の最上位レベルからゼロ動きベクトルの差分絶対値の和の値に基づいてノイズ閾値を提供する工程と、ピクチャに対して歪み値を提供するために、前記ノイズ閾値より大きい最適動きベクトルの差分絶対値の和の値を有するマクロブロックに対する最適動きベクトルの差分絶対値の和の値を累積する工程と、歪み値に依存して繰り返しフラグを設定する工程とを有することを特徴とする方法を備える。
【0028】
このようにして、より高い耐性を有し、ノイズに対して耐性のある繰り返しピクチャ検出方法が提供される。この方法は、一般にビデオ前処理又は符号化ハードウェアに既に含まれた特定の回路を再利用する。
【0029】
オプションとして、各レベルにおいて、階層的動き推定は試験中の現在のピクチャ及び現在のピクチャと比較するための先行ピクチャに対して実行され、階層的動き推定は、現在のピクチャと先行ピクチャとをローパスフィルタリングする工程と、現在のピクチャ及び先行ピクチャの双方を第1の所定の値だけ間引く工程と、前記各マクロブロックの最適動きベクトルと、前記各マクロブロックの最適動きベクトルの差分絶対値の和の値と、前記マクロブロックのゼロ動きベクトルの差分絶対値の和の値とを提供するために、前記フィルタリングされ間引かれた現在のピクチャと前記フィルタリングされ間引かれた先行ピクチャに対してフルサーチ動き推定を実行する工程とを含む。
【0030】
オプションとして、前記フルサーチ動き推定を実行する工程は、検索ウィンドウにおいてフルサーチ動き推定を実行することを含む。
【0031】
オプションとして、その検索ウィンドウのサイズは(±16,±12)である。
【0032】
オプションとして、フルサーチ動き推定は、最上位レベルに対して(0,0)の周囲で実行され、各下位レベルに対しては、上位レベルからの最適動きベクトルの周囲で実行される。オプションとして、階層的動き推定は、ノイズ閾値を導出するために最上位レベル(即ち、間引きの最大レベル)でのみ使用されてもよく、この方法全体の後続する部分では他の形態の動き推定が使用される。
【0033】
オプションとして、階層的動き推定は3つのレベルに対して実行される。
【0034】
オプションとして、ノイズ閾値を提供する工程は、ノイズ推定閾値を提供するために階層的動き推定の最上位レベルからのゼロ動きベクトルの差分絶対値和の値を合計することと、ノイズ推定閾値を第2の所定の値で除算することと、オフセット値を加算することとを更に含む。
【0035】
オプションとして、ノイズ閾値を提供する工程は、ノイズ閾値を第3の所定の値に制限することを更に含む。
【0036】
オプションとして、この方法は、繰り返しフラグの出力シーケンスから、一般的な3:2プルダウン繰り返しシーケンスを表示する繰り返しピクチャと非繰り返しピクチャのシーケンスを検出する工程を更に含む。
【0037】
オプションとして、前記累積する工程は、第4の所定の値を下回る累積された最適動きベクトルの差分絶対値の和の値を無視することを更に含む。
【0038】
オプションとして、ピクチャは上位フィールド及び下位フィールドを含み、
前記累積する工程は、
疑似コード、即ち、
Field_Distortion = 0;
フィールドにおける全てのマクロブロックに関して、
if (Best_MV_SAD > Field_Noise_Threshold)
Field_Distortion += Best_MV_SAD;
if (Field_Distortion > fourth predetermined value)
Field_Distortion = Field_Distortion − fourth predetermined value
else
Field_Distortion = 0;
if (Field_Distortion < fifth predetermined value)
Field_Distortion = fifth predetermined value/(1+Field_Distortion);
else
Field_Distortion = 1;
を上位フィールド又は下位フィールドに対して別個に実行することを含む。
【0039】
オプションとして、繰り返しフィールドと非繰り返しフィールドのシーケンスを検出する工程は、
疑似コード、即ち、
if ((Field_Distortion * sixth predetermined value/(Field_Sum + Field_Distortion)) > seventh predetermined value AND Field_Distortion > eighth predetermined value AND Previous Field_Repetitive_Flag is at least 4 Fields away)
Set Field_Repetitive_Flag to 1;
Otherwise set Field_Repetitive_Flag to 0;
を上位フィールド及び下位フィールドに対して別個に実行することを含む。
【0040】
オプションとして、ピクチャはフレームを含み、
前記累積する工程は、
疑似コード、即ち、
Frame_Distortion = 0;
フレームの全てのマクロブロックに関して、
if (Best_MV_SAD > Frame_Noise_Threshold)
Frame_Distortion += Best_MV_SAD;
if (Frame_Distortion > fourth predetermined value)
Frame_Distortion = Frame_Distortion − fourth predetermined value
else
Frame_Distortion = 0
を実行することを含む。
【0041】
オプションとして、繰り返しフレームと非繰り返しフレームのシーケンスを検出する工程は、
次の疑似コード、即ち、
if (Frame_Distortion)) < ninth predetermined value;
Set Frame_Repetitive_Flag to 1
を実行することを含む。
【0042】
オプションとして、前記階層的動き推定はノイズ閾値を提供するために使用され、あらゆる形態の動き推定が後続する前記累積する工程において最適動きベクトルの差分絶対値の和の値を提供するために使用される。
【0043】
本発明を第2の側面から見れば、繰り返しピクチャを検出するためにビデオピクチャデータのシーケンスを前処理するビデオプリプロセッサ装置であって、上述の方法のいずれかを実行するように構成された装置を備えた装置が備えられる。
【0044】
本発明を第3の側面から見れば、繰り返しピクチャを検出するためにビデオピクチャデータのシーケンスを前処理するビデオプリプロセッサ装置であって、階層的動き推定回路と、ノイズ推定回路と、1ピクチャ遅延回路と、繰り返しピクチャが階層的動き推定回路の出力を使用してノイズ推定回路により導出されたノイズ閾値を使用して検出される時に繰り返しフラグを設定するように構成された決定論理部とを備えた装置が備えられる。
【0045】
本発明を第4の側面から見れば、実行時にコンピュータ論理回路に上述の方法のいずれかを実行させる命令を保持するコンピュータ可読媒体が備えられる。
【0046】
標準解像度ビデオと共に使用するように設計された本発明の特定の一実施例において、所定の値が以下のように設定される。第1の所定の値は“2”であり、第2の所定の値は“16”であり、第3の所定の値は“3072”であり、第4の所定の値は“1024”であり、第5の所定の値は“65586”であり、第6の所定の値は“384”であり、第7の所定の値は“176”であり、第8の所定の値は“32768”であり、第9の所定の値は“4092”であり、オフセット値は“1280”である。
【0047】
次に、添付図面を参照して、一例としてビデオデータを前処理する方法について説明する。
【図面の簡単な説明】
【0048】
【図1】ビデオのフレームが2つのインタレースフィールドで物理的に形成される方法を示す図である。
【図2】フレーム及びフィールドに関してフィルムの4つのフレームの標準的なレイアウトを示す図である。
【図3】図2のフィルムの4つのフレームが3:2プルダウン処理を使用して5つのフレームに変換される方法を示す図である。
【図4】3:2プルダウンシーケンスを検出するために現在のピクチャ及び次のピクチャの同一のパリティフィールドの間で使用される時間的差分計算を示す図である。
【図5】本発明の実施例に従う繰り返しフレーム又はフィールドを検出する回路を示すブロック図である。
【図6】提案されたプルダウン検出方法の階層的動き推定部分の代表的な実施例を示すブロック図である。
【図7】本発明の実施例に従う方法の上位フィールド歪み計算部分を示すフローチャートである。
【図8】本発明の実施例に従う方法の下位フィールド歪み計算部分を示すフローチャートである。
【図9】本発明の実施例に従う方法のフレーム歪み計算部分を示すフローチャートである。
【発明を実施するための形態】
【0049】
次に、添付図面を参照して本発明の実施例について説明する。図中、同一又は同様の部分又はステップには同一又は同様の図中符号が与えられる。
【0050】
テレビのフィールド又はフレームの繰り返しシーケンスの高信頼検出を向上する1つの方法は、フィールド/フレーム比較処理のノイズ回復を改善することである。これは、検出処理の一部として階層的動き推定を使用することにより可能である。本質的には、階層的動き推定は、平均される合計の集合を処理し且つ相関フィルタとして効果的に動作するためノイズからの回復力がある。MPEG2及びMPEG4等の現在の業界標準の圧縮アルゴリズムは、ピクチャをいわゆるマクロブロックに区分する。マクロブロックは、一般に16×16画素のサイズの正方形のアセンブリから成る。これらのマクロブロックの各々は、動き推定が圧縮処理の成功に大きく寄与することを可能にする画素グループ化の基本単位である。この技術を使用することにより、ノイズが存在する状態で画像挙動の解析が局所的に詳細になされ、信頼できるため、3:2検出の問題は非常に軽減にされる。
【0051】
図4に示すように、繰り返しフィールドは、ソースビデオの同一のパリティフィールド(上位又は下位)の間で動き推定を実行することにより検出される。繰り返しフィールドの間の動き推定は、非繰り返しフィールドの間の動き推定と比較して相対的に低い歪み又はゼロの歪みを結果として与える。歪みは、当該フィールドの全てのマクロブロックに対する差分絶対値の和(SAD)の合計として規定される。
【0052】
差分絶対値の和は、元のマクロブロックの各画素と比較に使用されているマクロブロックの対応する画素との間の差分の絶対値として規定される。これらの絶対画素差分は合計され、ブロック類似性の計測値を提供する。
【0053】
ノイズがない場合、繰り返しフィールドは、全てのマクロブロックに対してゼロのSAD値を結果として与えるため、歪みはゼロである。しかし、ノイズがある場合、繰り返しフィールドのSAD値は、試験中のフィールドのノイズの変動に依存するため、歪みはノイズの強度に基づく。ノイズレベルが推定できる場合、このノイズレベルに基づく閾値が判定され、閾値未満のSAD値を破棄することを支援するために使用される。測定された歪みは、非繰り返しフィールドと比較して繰り返しフィールドに対しての方が低い。この処理により、非常に大きなノイズが存在する場合でも繰り返しフィールドの検出が可能になる。
【0054】
要約すると、以下に詳細に示すように、ノイズ閾値は階層的動き推定の最上位レベルから導出される。ノイズ推定値が生成されると、その後はどんな形態の動き推定が使用されてもよい。しかし、階層的動き推定がノイズ閾値を導出するために使用され且つ計算効率の良い動き推定の方法であるため、好適な実施例は一貫して階層的動き推定を使用する。
【0055】
繰り返しフィールド/フレーム検出に対する提案された方法を実行するハードウェアの実施例の概略ブロック図を図5に示し、以下の節において更に詳細に説明する。以下のハードウェアは通常、前処理段階として符号器の前に適切に備えられる。即ち、プリプロセッサの出力は、符号器が符号化ビデオの各フィールド又はフレームを処理する方法を誘導する。
【0056】
図5に示すように、繰り返しピクチャ検出ハードウェア500はビデオデータ入力510を含み、解析されるビデオデータを階層的動き推定回路530に直接又は1ピクチャ遅延回路520を介して提供する。階層的動き推定回路530の出力は決定論理回路560を通過し、以下に更に詳細に説明するように、決定論理回路560は、階層的動き推定回路530の出力に依存して符号化ラインを更に下げるビデオ符号器(不図示)により使用される繰り返しフィールド/フレームフラグ570をアサートするかを決定する。
【0057】
階層的動き推定回路530は、動き推定歪み計算回路540及びノイズ推定回路550を含む。ノイズ推定回路550はビデオデータ510(即ち、現在のピクチャ)及び1ピクチャ分遅延したビデオデータ550(即ち、先行ピクチャ)を入力として利用し、推定されたノイズ閾値545を出力として提供し、動き推定歪み計算回路540に供給される。その一方で、動き推定歪み計算回路540は、ビデオデータ510(即ち、現在のピクチャデータ)及び推定されたノイズ閾値545と共に1ピクチャ分遅延したビデオデータ525(先行ピクチャ)を使用して、決定論理が繰り返しフィールド/フレームの正確な判定を行うように誘導する。
【0058】
図5は、階層的動き推定が一貫して使用される好適な実施例を示す。ノイズ閾値が階層的動き推定処理の最上位レベルから判定された後に別の動き推定方法が使用される場合、ビデオデータ510、遅延ビデオデータ525及びノイズ閾値545は選択された動き推定方法を実行するように構成された回路に供給される。これは、一般に階層的動き推定回路530と決定論理回路560との間に配置される。
【0059】
更に詳細には、動き推定は、ピクチャを16×16のマクロブロックに分割することにより先行ピクチャに関して現在のピクチャに対して実行される。マクロブロック毎の最適動きベクトルのSAD値が計算され、その値がノイズ推定回路550により提供されたノイズ閾値545より大きい場合にそれは歪みの一部として考えられる。
【0060】
最適動きベクトルのSAD値は、先行ピクチャのマクロブロックが移動した場所に最も適合すると考えられる現在のピクチャ(即ち、最も最近のピクチャ)の位置に試験中のマクロブロックが配置される場合のそのマクロブロックの差分絶対値の和の値である。
【0061】
繰り返しフィールド/フレームの場合、動き推定歪みは非繰り返しフィールド/フレームと比較して非常に小さい。ノイズ閾値が階層的動き推定の最上位レベルから判定されると、更なる処理ステップにおいて、何らかの適切な動き推定方法が使用可能である。しかしながら、好適な実施例では、階層的動き推定処理が他の形態の動き推定と比較してハードウェアで実現するのに相対的に安価であり、そして、ノイズレベルを推定する際に既に使用されているため、階層的モデル動き推定は現在のピクチャ及び先行ピクチャの同一のパリティフィールド/フレームの間で動き推定を実行するために使用される。一般にノイズレベル測定回路、即ち、ノイズ推定回路550は、計算の複雑さを軽減するために動き推定回路に組み込まれる。
【0062】
階層的動き推定処理の実施例を図6に示す。
【0063】
階層的動き推定600において、画像のピラミッド構造は、元のフィールド/フレームのシーケンスをローパスフィルタリングし、レベル毎に水平方向及び垂直方向の双方に2ずつ間引く(640、670)ことにより構成される。従って、3つのレベルを有する説明した実施例において、元のピクチャ610は、レベル1に対して2だけ間引かれ(640)、更にレベル2に対して2だけ間引かれる(670)。
【0064】
階層的動き推定は、間引き(decimation)の前にローパスフィルタリングステップを常に含む。これを含まない場合は、間引き処理は、エイリアシングのために間引かれた信号に望ましくない高周波数成分を生成するだろう。
【0065】
フルサーチ(FS)動き推定660/690は、上位レベル(即ち、レベル1及び2)でフィルタリングと間引き後の画像650/680に対して実行される。最下位レベル(レベル0)において、フルサーチ動き推定620は画像全体610に対して実行される。
【0066】
上位レベルは、下位レベルに対してシード動きベクトルを提供し、検索はシード動きベクトルの周囲で実行される。好適な実施例において、全てのレベルにおいて、フルサーチ動き推定が(±16,±12)の検索ウィンドウで実行される。しかし、他の検索ウィンドウサイズが特定の実施形の要件(特に、利用可能な処理電力の大きさ)に応じて使用されてもよい。
【0067】
説明した実施例において、階層的動き推定は3つのレベルで実行され、各レベルについては以下に詳細に説明する。しかし、当業者には理解されるように、より多くのレベル又はより少ないレベルが特定の実施形の具体的な要件に応じてその実施形の階層的動き推定において使用されてもよい。
【0068】
繰り返しフィールド/フレーム検出方法の厳密な形式は、ソースビデオ材料がインタレースされるか(即ち、フィールドに基づくか)又はプログレッシブであるか(即ち、フレームに基づくか)に依存する。従って、以下の説明は、インタレース部分とプログレッシブ部分とに区別される。ハードウェアは、形式の変更があった場合に再設定される。
【0069】
階層的動き推定は、最上位レベル、この場合は第3のレベル(即ち、レベル0から開始すると、レベル2)から開始する。
【0070】
レベル2の動き推定
1.現在の参照ピクチャ及び先行参照ピクチャ(即ち、2つのピクチャは繰り返しピクチャであるかを判定するために比較される)は、ローパスフィルタリングされ、適切なフィルタを使用して水平方向及び垂直方向の双方に4だけ間引かれる。例えば、係数{17, 26, 35, 44, 51, 55, 56, 55, 51, 44, 35, 26, 17}を有する13タップフィルタがローパスフィルタとして使用される。更に正確なデシメータを提供するために、より大きい値のタップフィルタが使用されてもよい。しかし、より大きい値のタップフィルタは、計算的に/ハードウェア的に複雑になる。
【0071】
2.(±16,±12)の検索ウィンドウにおけるフルサーチ動き推定は、原点(0,0)の周囲で実行される。最適動きベクトル及びそれらの対応するSAD値は、ゼロ動きベクトルのSAD値と共にマクロブロック毎に記録される。
【0072】
ゼロ動きベクトルのSAD値は、試験中のマクロブロックが先行ピクチャと現在のピクチャとの間で全く移動しない場合、即ち、動きベクトルがゼロであった場合にそのマクロブロックに対する差分絶対値の和の値である。
【0073】
インタレースコンテンツ
Top_Field_Noise_Estimateは、上位フィールドに対するレベル2におけるゼロ動きベクトルのSADの合計として規定され、Bot_Field_Noise_Estimateは、下位フィールドに対するレベル2におけるゼロ動きベクトルのSADの合計として規定される。
【0074】
プログレッシブコンテンツ
Frame_Noise_Estimateは、フレーム全体に対するレベル2におけるゼロ動きベクトルのSADの合計として規定される。
【0075】
レベル2において、ピクチャが13タップフィルタによりローパスフィルタリングされ且つ4だけ間引かれるため、ゼロ動きベクトルのSAD値は、繰り返しフィールド又はフレームを潜在的に含む試験中のビデオシーケンスに存在するノイズレベルの推定値を与える。ゼロ動きベクトルのSADは、それらの計算の平均化特性により、このノイズ推定値を提供する。
【0076】
ノイズ閾値は、ノイズを含む繰り返しフィールド/フレームと非繰り返しフィールドとを区別することに制限される。
【0077】
インタレースコンテンツ
Top_Field_Noise_Estimate値とBot_Field_Noise_Estimate値から、フィールドノイズ閾値が以下のように導出される。即ち、
Top_Field_Noise_Threshold = 1280 +(Top_Field_Noise_Estimate/16)
Bot_Field_Noise_Threshold = 1280 +(Bot_Field_Noise_Estimate/16)
である。
【0078】
上記閾値計算は、オフセット値“1280”を含む。しかし、“512”と“2400”との間のオフセット値が使用されてもよい。オフセット値“1280”は、実用試験で起こる一般的なピクチャノイズレベルに対して間違いが最小の検出を行うために見つけられたものである。
【0079】
ノイズ推定器の除数の選択は任意である。しかし、上記で使用された値“16”は、標準解像度入力ビデオピクチャデータを使用して方法の実用試験において特に満足のいく結果を与えるために見つけられた。除数のサイズは、入力ビデオピクチャデータの解像度に関連付けられるため、解像度に従って変倍されるべきである。例えば、入力ビデオデータが高解像度ビデオ(例えば、標準解像度ビデオの解像度の約4倍)であった場合、除数は“64”に大きくされる。
【0080】
上述したように、ノイズ閾値はノイズを含む繰り返しフィールド/フレームと非繰り返しフィールドとを区別することに制限されるため、制限されたフィールド閾値は以下のように計算される。即ち、
if (Top_Field_Noise_Threshold > 3072)
{
Top_Field_Noise_Threshold = 3072
}
if (Bot_Field_Noise_Threshold > 3072)
{
Bot_Field_Noise_Threshold = 3072
}
である。
【0081】
上述したように、ノイズ閾値は“3072”に制限される。この閾値は、実世界のビデオデータに対する試験から導出され、正確度に関する適切な妥協点となるように実験により見つけられる。使用された制限された閾値の選択は任意であるが、大きすぎないようにすべきである。これは、繰り返しフレーム/フィールドの最大SAD値より小さいべきである。これが小さくないと、繰り返しフィールド/フレームは動き推定歪みの累積後にゼロの時間的歪みを生成する。
【0082】
プログレッシブコンテンツ
フレームノイズ閾値は、フレームピクチャノイズ推定値から以下のように導出される。即ち、
Frame_Noise_Threshold = 1280 +(Frame_Noise_Estimate/32)
である。
【0083】
ここでも、オフセットが使用され、フィールド閾値の計算に関して上述したように閾値サイズの同一の原理は同様に適用される(即ち、“512”と“2400”との間になる)。
【0084】
プログレッシブ形式の入力ビデオに対する除数の選択は、インタレースビデオと同様に制限される(即ち、選択は任意であるが、ビデオの解像度に従って変倍する)。しかし、プログレッシブビデオが2つのフィールドに対応するフレーム全体に対して動作するため、その値はインタレースビデオに対して使用される値の2倍である。従って、実用試験において、値“32”は最も満足のいく結果を生成したことが理解される。
【0085】
最終的な制限されたフレーム閾値は、フレームノイズ閾値から以下のように設定される。即ち、
if (Frame_Noise_Threshold > 3072)
{
Frame_Noise_Threshold = 3072
}
である。
【0086】
ここでも、この方法のインタレースのバージョンに関して先に検討したように、制限された閾値は実用試験から判定され、同様の規則がその選択に対して適用される。
【0087】
レベル2の動き推定は、レベル1の動き推定に対するシード動きベクトルを提供する。
【0088】
レベル1の動き推定
1)ソースピクチャ及び参照ピクチャは、ローパスフィルタリングされ且つ先に使用されたのと同一の13タップフィルタを使用して水平方向及び垂直方向の双方に2ずつ間引かれる。異なるフィルタが使用されてもよい。
【0089】
2)(±16,±12)の検索ウィンドウにおけるフルサーチ動き推定は、レベル2の最適動きベクトルの周囲で実行され、対応するレベル1の最適動きベクトル及びSAD値はマクロブロック毎に記録される。
【0090】
レベル1の動き推定は、レベル0の動き推定に対するシード動きベクトルを提供する。
【0091】
レベル0の動き推定
(±16,±12)の検索ウィンドウにおけるフルサーチ動き推定は、レベル1の最適動きベクトルの周囲で実行され、対応するレベル0の最適動きベクトル及びSAD値はマクロブロック毎に記録される。
【0092】
インタレースコンテンツ
上位フィールド及び下位フィールドに対する時間的歪みは、レベル0の動き推定の最適動きベクトルのSADから計算される。
【0093】
この方法の上位フィールド部分に対する代表的な疑似コードを以下に示す。即ち、
Top_Field_Distortion = 0;
トップフィールドにおける全てのマクロブロックに関して、
if (Best_MV_SAD > Top_Field_Noise_Threshold)
Top_Field_Distortion += Best_MV_SAD;
であり、上記の式中、+=は累積演算である。
【0094】
上記の第1の(主)部分はノイズ閾値を上回るマイクロブロックに対する最適動きベクトルのSAD値を累積し、Top_Field_Distortion値を生成する。即ち、
if (Top_Field_Distortion > 1024)
Top_Field_Distortion = Top_Field_Distortion − 1024
else
Top_Field_Distortion = 0;
である。
【0095】
第2の部分は、より小さい歪みの値(図示する例においては1024未満―この値はサンプルの標準解像度入力ビデオデータに対する実用試験から導出された)を除去する。これは、より小さい値が無視されること(より小さい値がスプリアスであってもよいこと)を実質的に意味する。従って、この部分の出力歪み値は“0”に設定されるか、あるいは閾値の制限1024未満の元の累積歪みに設定される。即ち、
if (Top_Field_Distortion < 65536)
Top_Field_Distortion = 65536/(1 + Top_Field_Distortion);
else
Top_Field_Distortion = 1;
である。
【0096】
この第3の部分は、小さい歪み値を大きい歪み値に変更し、大きい歪み値を小さい歪み値に変更して、繰り返しフィールド/フレームのより信頼できる検出を保証する。この方法のこの部分は、探索の対象を効果的に反転する。即ち、大きな歪みを有するフィールドは、実際にはこの部分の後に小さな歪みを有するように設定される。従って、大きな歪みを有するフィールドを見つけるために、この方法は疑似コードのこの第3の部分の後に小さな歪みを有するフィールドを探すことを含む。
【0097】
上記の疑似コードの第2の部分及び第3の部分は、厳密に要求されるわけではない。しかしながら、これらは、最終結果に影響を及ぼすスプリアスな中間結果を除去することを助けることにより、この方法の正確度を向上させる。
【0098】
図7は、現在のピクチャに適用されるように、本発明の実施例の上述した上位フィールド歪み計算部分を示すフローチャートである。特に、図7は、現在のピクチャの上位フィールドの全てのマクロブロックに対して(710)、先行ピクチャの上位フィールドと比較して動き推定が実行される(720)ことを示す。各マクロブロックの最適動きベクトルのSADは、制限された上位フィールド閾値より大きいかを検出するために試験される(730)。大きい場合、最適動きベクトルのSADは累積された最適動きベクトルのSADのこれまでの合計に加算される(750)。最適動きベクトルのSADが制限された上位フィールド閾値より小さい場合(740)、それは累積において無視され、この方法は次のマクロブロックに進む。
【0099】
この方法の下位フィールド部分に対する代表的な疑似コードは以下の通りである。即ち、
Bot_Field_Distortion = 0;
フレームにおける全てのマクロブロックに関して、
if (Best_MV_SAD > Bot_Field_Noise_Threshold)
Bot_Field_Distortion += Best_MV_SAD;
if (Bot_Field_Distortion > 1024)
Bot_Field_Distortion = Bot_Field_Distortion − 1024
else
Bot_Field_Distortion = 0;
if (Bot_Field_Distortion < 65536)
Bot_Field_Distortion = 65536/(1 + Bot_Field_Distortion);
else
Bot_Field_Distortion = 1;
である。
【0100】
上位フィールド歪み計算の疑似コードに関して上述したように、同一の原理がこの下位フィールド歪み計算の疑似コードに適用される。
【0101】
図8は、本発明の実施例の上述した下位フィールド歪み計算部分を示すフローチャートである。特に、図8は、現在のピクチャの下位フィールドの全てのマクロブロックに対して(810)、動き推定が先行ピクチャの下位フィールドと比較して実行される(820)ことを示す。各マクロブロックの最適動きベクトルのSADは、制限された下位フィールド閾値より大きいかを検出するために試験される(830)。大きい場合、最適動きベクトルのSADは累積された最適動きベクトルのSADのこれまでの合計に加算される(850)。最適動きベクトルのSADが制限された下位フィールド閾値より小さい場合(840)、それは累積において無視され、処理は次のマクロブロックに進む。
【0102】
上位フィールド動き推定歪み及び下位フィールド動き推定歪みに対応する上記で計算されたTop_Field_Distortion値とBot_Field_Distortion値とを使用して、繰り返しフィールドは歪みの最終的なパターンを観察することにより検出される。例えば、3:2プルダウンの場合、先行する4つのピクチャの上位フィールド歪みと下位フィールド歪みとは、現在のピクチャの上位フィールド歪みと下位フィールド歪みと共に使用され、繰り返しフィールドを検出する。即ち、5つのフレームの各々に対する繰り返しフレームフラグの出力「…00001…」は3:2プルダウンシーケンスの検出を示す。
【0103】
しかしながら、フィールド又はフレームの何らかの繰り返しは、このように検出されてもよく、単に3:2プルダウン処理からの結果ではない。従って、ここで開示した方法は、フィールド/フレームの何らかの繰り返しを検出してそれらのフラグを立てるために使用されてもよいため、符号化処理はその繰り返しを考慮に入れ且つその結果として符号化効率を向上できる。
【0104】
Top_Sum及びBot_Sumは、4つの先行するTop_Field_Distortion及びBot_Field_Distortionの合計としてそれぞれ規定される。3:2プルダウンシーケンスを見つける方法は以下の通りである。即ち、
疑似コード:
上位フィールド:
if ((Top_Field_Distortion * 384/(Top_Sum + Top_Field_Distortion)) > 176 AND Top_Field_Distortion > 32768 AND Previous TOP_Field_Repetitive_Flag is at least 4 Fields away)
Set TOP_Field_Repetitive_Flag to 1
Otherwise TOP_Field_Repetitive_Flag is set to 0.
であり、
下位フィールド:
if ((Bot_Field_Distortion * 384/(Bot_Sum + Bot_Field_Distortion)) > 176 AND Bot_Field_Distortion > 32768 AND Previous BOTTOM_Field_Repetitive_Flag is at least 4 Fields away)
Set Bot_Field_Repetitive_Flag to 1
Otherwise BOTTOM_Field_Repetitive_Flag is set to 0.
である。
【0105】
上記の疑似コードの部分の双方により、静的フィールドが存在するために3:2プルダウンシーケンスの間違った検出が起こらないように、繰り返しフィールド/フレームを検出する方法は入力ビデオピクチャデータにおいて静的フィールドを有することを考慮できる。
【0106】
上述の値“32768”は“8192”〜“32768”の範囲の値をとってもよい。値“384”及び“176”が関連付けられる。例えば、閾値1が“384”に設定される場合、閾値2の値の大よその範囲は(0.8 * 閾値1)〜(0.4 * 閾値1)の間であり、この例においては“176”に設定された。
【0107】
上記の疑似コードで使用された定数(384、176、及び32768)は、方法の実用試験から導出される。
【0108】
プログレッシブコンテンツ
各フレームの時間的歪みは、以下のようにレベル0の動き推定の最適動きベクトルのSADから計算される。
Frame_Distortion = 0;
フレームにおける全てのマクロブロックに関して、
if (Best_MV_SAD > Frame_Noise_Threshold)
Frame_Distortion += Best_MV_SAD;
if (Frame_Distortion > 1024)
Frame_Distortion = Frame_Distortion − 1024
else
Frame_Distortion = 0;
であり、上記式中、+=は累積関数である。
【0109】
図9は、本発明に従う方法の実施例の上述のフレーム歪み計算部分を示すフローチャートである。特に、図9は、現在のピクチャのフレームの全てのマクロブロックに対して(910)、先行フレームと比較して動き推定が実行される(920)ことを示す。各マクロブロックの最適動きベクトルのSADは、制限されたフレーム閾値より大きいかを検出するために試験される(930)。大きい場合、最適動きベクトルのSADは累積された最適動きベクトルのSADのこれまでの合計に加算される(950)。最適動きベクトルのSADが制限されたフレーム閾値より小さい場合(940)、それは累積において無視され、処理は次のマクロブロックに進む。
【0110】
繰り返しフレームは、Frame_Distortion値を使用して、繰り返しフレームに対する非常に小さなフレーム歪みを観察することにより検出される。例えば、3:2プルダウンの場合、繰り返しフレームは非常に小さな Frame_Distortion値を与える。
【0111】
疑似コード:
if (Frame_Distortion)) < 4096
Set Frame_Repetitive_Flag to 1
である。
【0112】
ここで、閾値“4096”は、実世界の例の標準解像度ビデオシーケンスによる実験により選択された。しかしながら、本発明の特定の実施形の要件に応じて他の値が選択されてもよい。例えば、“閾値”4096は入力ビデオピクチャの解像度に従って変倍される必要がある。
【0113】
上述した方法は、従来技術の圧縮符号器の前処理部分において全てのプルダウンシーケンスに対して開発され且つ試験され、28dBの信号対雑音値を有するスローモーションシーケンスに対する3:2プルダウンパターンを確実に検出できた。これは、以前の方法及び技術に対する大きな改善点である。
【0114】
3:2プルダウンシーケンスを検出するこの新しい方法により提供された改善された前処理画像解析は、以前のより単純な方法と比較して非常に良い性能を提供し、符号器の圧縮性能を向上する。以前の方法は、強いノイズレベルが存在する状態で繰り返しフィールドを検出することに関わる問題に対処していない。フレーム間ノイズレベル推定回路から成る提案された方法は、ノイズレベルを効率的に且つ正確に推定し、繰り返しフィールドを検出するために閾値を適応させる。この方法は、シーケンス中のノイズレベルを推定することに関わる余分な計算の負担を低減するために、一般に動き推定段階自体に含まれるノイズレベル測定回路と組み合わせて階層的動き推定回路を使用する。
【0115】
上述の方法は通常、符号化段階の前にビデオプリプロセッサ段階において適切に実行される。しかし、これは符号器自体の一部として形成されてもよい。この方法がビデオプリプロセッサにより実行される場合、符号器がビデオピクチャデータに関する詳細に関して前もって警告を受け、従って出力符号化ビデオを最適化できるように、プリプロセッサはビデオピクチャデータを符号化するために解析し、繰り返しフラグを含む情報をビデオ符号器に提供する。特定の例においては、繰り返しフラグは通常繰り返しフレームを送出する必要性を回避するために使用されるため、符号化ビデオの効率性は向上する。
【0116】
上述の方法は、適切に適応されたあらゆるハードウェアによって実行されてもよく、従って、この方法はコンピュータ可読媒体に格納された命令のセットに具体化されてもよい。この命令のセットは、コンピュータ、デジタル信号プロセッサ(DSP)又は同様の機器にロードされた時、コンピュータに上述の方法を実行させる。
【0117】
同様に、この方法は、特別にプログラムされたか又はハードウェア設計された集積回路にロードされた画像データに対してこの方法を実行するように動作する前記集積回路として具体化されてもよい。その集積回路は、PC等の汎用演算装置の一部として形成されてもよく、あるいはゲームコンソール、移動体電話、ポータブル演算装置又はハードウェアビデオ符号器等のより専用のデバイスの一部として形成されてもよい。
【0118】
1つの代表的なハードウェアの実施例は、説明した方法を実行するようにプログラムされ、例えば、テレビスタジオ又は現場のニュースチームをサポートするロケーションビデオアップリンク車で使用するラックマウントされたビデオ符号器のドーターボードに配置されたフィールドプログラマブルゲートアレイ(FPGA)である。
【0119】
本発明の別の代表的なハードウェアの実施例は、特定用途向け集積回路(ASIC)から構成されたビデオプリプロセッサである。
【0120】
本明細書で説明した方法で実行されたステップの厳密な順序及び内容は、検出速度及び検出の正確度等の実行パラメータの特定のセットの要求に応じて変更されてもよいことが当業者には明らかとなるだろう。従って、請求項の番号付けは、請求項の間で工程を移動することに対する厳密な制限として解釈されず、従属請求項のそのような部分は自由に利用されてもよい。

【特許請求の範囲】
【請求項1】
夫々のピクチャが複数のマクロブロックを含むビデオピクチャデータのシーケンスにおいて繰り返しピクチャを検出する方法であって、前記方法は
各マクロブロックの最適動きベクトルと、各マクロブロックの最適動きベクトルの差分絶対値の和の値と、各マクロブロックのゼロ動きベクトルの差分絶対値和の値とを提供するために、複数のレベルを含み、各マクロブロックの前記最適動きベクトル、前記最適動きベクトルの差分絶対値の和の値と前記ゼロ動きベクトルの差分絶対値の和の値が少なくとも最上位レベルに対して提供される階層的動き推定を前記ビデオピクチャデータに対して実行する工程と、
前記階層的動き推定の最上位レベルから前記ゼロ動きベクトルの差分絶対値の和の値に基づいてノイズ閾値を提供する工程と、
前記ピクチャに対して歪み値を提供するために、前記ノイズ閾値より大きい最適動きベクトルの差分絶対値の和の値を有するマクロブロックに対する前記最適動きベクトルの差分絶対値和の値を累積する工程と、
前記歪み値に依存して、繰り返しフラグを設定する工程とを有することを特徴とする方法。
【請求項2】
各レベルにおいて、前記階層的動き推定は試験中の現在のピクチャ及び前記現在のピクチャと比較するための先行ピクチャに対して実行され、
前記階層的動き推定は、
前記現在のピクチャ及び前記先行ピクチャをローパスフィルタリングする工程と、
前記現在のピクチャ及び前記先行ピクチャの双方を第1の所定の値だけ間引く工程と、
前記各マクロブロックに関する最適動きベクトルと、前記各マクロブロックに関する最適動きベクトルの差分絶対値の和の値と、前記各マクロブロックのゼロ動きベクトルの差分絶対値の和の値とを提供するために、前記フィルタリングされ前記間引かれた現在のピクチャと前記フィルタリングされ前記間引かれた先行ピクチャとに対して、フルサーチ動き推定を実行する工程とを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記フルサーチ動き推定を実行する工程は、検索ウィンドウにおいて前記フルサーチ動き推定を実行することを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記検索ウィンドウのサイズは(±16,±12)であることを特徴とする請求項3に記載の方法。
【請求項5】
前記フルサーチ動き推定は、前記最上位レベルに対して(0,0)の周囲で実行され、より低い各レベルに対しては、上位レベルからの前記最適動きベクトルの周囲で実行されることを特徴とする請求項2乃至4のいずれか1項に記載の方法。
【請求項6】
前記階層的動き推定は、3つのレベルに対して実行されることを特徴とする請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記ノイズ閾値を提供する工程はさらに、
ノイズ推定閾値を提供するために前記階層的動き推定の最上位レベルからの前記ゼロ動きベクトルの差分絶対値の和の値を合計する工程と、
前記ノイズ推定閾値を第2の所定の値で除算する工程と、
オフセット値を加算する工程とを含むことを特徴とする請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記ノイズ閾値を提供する工程は、
前記ノイズ閾値を第3の所定の値に制限する工程を更に含むことを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
繰り返しフラグの出力シーケンスから、一般的な3:2プルダウン繰り返しシーケンスを表示する繰り返しピクチャと非繰り返しピクチャのシーケンスを検出する工程を更に有することを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記累積する工程はさらに、
第4の所定の値を下回る累積された最適動きベクトルの差分絶対値の和の値を無視する工程を含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記ピクチャは上位フィールド及び下位フィールドを含み、
前記累積する工程は、
疑似コード:
Field_Distortion = 0;
全てのマクロブロックに関し、
if (Best_MV_SAD > Field_Noise_Threshold)
Field_Distortion += Best_MV_SAD;
if (Field_Distortion > fourth predetermined value)
Field_Distortion = Field_Distortion - fourth predetermined value
else
Field_Distortion = 0;
if (Field_Distortion < fifth predetermined value)
Field_Distortion = fifth predetermined value/(1+Field_Distortion);
else
Field_Distortion = 1;
を前記上位フィールド又は前記下位フィールドに対して別個に実行することを含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記繰り返しフィールドと非繰り返しフィールドのシーケンスを検出する工程は、
疑似コード:
if ((Field_Distortion * sixth predetermined value/(Field_Sum + Field_Distortion)) > seventh predetermined value AND Field_Distortion > eighth predetermined value AND Previous Field_Repetitive_Flag is at least 4 Fields away)
Set Field_Repetitive_Flag to 1;
Otherwise set Field_Repetitive_Flag to 0;
を前記上位フィールド及び前記下位フィールドに対して別個に実行することを含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記ピクチャはフレームを含み、
前記累積する工程は、
疑似コード:
Frame_Distortion = 0;
フレームにおける全てのマクロブロックに関し、
if (Best_MV_SAD > Frame_Noise_Threshold)
Frame_Distortion += Best_MV_SAD;
if (Frame_Distortion > fourth predetermined value)
Frame_Distortion = Frame_Distortion - fourth predetermined value
else
Frame_Distortion = 0
を実行することを含むことを特徴とする請求項10に記載の方法。
【請求項14】
前記繰り返しフレームと非繰り返しフレームのシーケンスを検出する工程は、
疑似コード:
if (Frame_Distortion)) < ninth predetermined value;
Set Frame_Repetitive_Flag to 1
を実行することを含むことを特徴とする請求項13に記載の方法。
【請求項15】
前記階層的動き推定は前記ノイズ閾値を提供するために使用され、あらゆる形態の動き推定が、後続する前記累積する工程において前記最適動きベクトルの差分値の和を提供するために使用されることを特徴とする請求項1乃至14のいずれか1項に記載の方法。
【請求項16】
実質的に請求項1乃至15のいずれか1項に記載の方法であって、かつ、図4乃至図10に図示されていることを特徴とする方法。
【請求項17】
繰り返しピクチャを検出するためにビデオピクチャデータのシーケンスを前処理するビデオプリプロセッサ装置であって、
請求項1乃至16のいずれか1項に記載の方法を実行するように構成された装置を備えたことを特徴とする装置。
【請求項18】
繰り返しピクチャを検出するためにビデオピクチャデータのシーケンスを前処理するビデオプリプロセッサ装置であって、
階層的動き推定回路と、
ノイズ推定回路と、
1ピクチャ遅延回路と、
繰り返しピクチャが前記階層的動き推定回路の出力を使用して前記ノイズ推定回路により導出されたノイズ閾値を使用して検出される時に繰り返しフラグを設定するように構成された決定論理部とを有することを特徴とする装置。
【請求項19】
実行時にコンピュータ論理回路に請求項1乃至16のいずれか1項に記載の方法を実行させる命令を保持するコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2011−525761(P2011−525761A)
【公表日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2011−515126(P2011−515126)
【出願日】平成20年6月26日(2008.6.26)
【国際出願番号】PCT/EP2008/058146
【国際公開番号】WO2009/155979
【国際公開日】平成21年12月30日(2009.12.30)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】