(57)【特許請求の範囲】
【請求項１】
連続するイメージの間における運動推定を使用してデータから時間的冗長性を除去するためにピクチャのシーケンスのエンコーディングデータを圧縮する方法であって、
３：２プルダウンのパターンに従ってフィールドの繰返しによるフォトグラムの数より大きな数のＴＶフレームのシーケンスにおいて撮影したシーケンスの一連のフォトグラムの３：２プルダウン変換を認識し、且つ、
このようなピクチャの繰返しに基づく冗長性を除去する、
ことを包含している方法において、
前記シーケンスの連続するピクチャの間の運動推定が、現在のピクチャの各基準マクロブロックに対して、時間的に先行するか又は後続のピクチャ上のサーチウインドウ内の予測子マクロブロックのサーチ及びノルムＬ１のコスト関数を最小とさせる予測子の選択を行い、前記ピクチャのシーケンスであるデータのデジタルエンコーディングのストリームにおける３：２プルダウンの検知が、
（ａ）Ｒが行数でＳが列数として、各半分がＲ×Ｓ／２個のピクセルであるピクチャの上部フィールド上の半分及び下部フィールド上の半分に位置されているＲ×Ｓ個のピクセルの基準マクロブロックを画定し、
（ｂ）最初及び最後の行及び最初及び最後の列に属するものを除いて、前記サーチウインドウ内において且つ前記上部半分（Ｔｏｐi）及び前記下部半分（Ｂｏｔｔｏｍi）に対して別々に現在のピクチャ（ｉ）の各マクロブロックに対して、時間的に先行するピクチャ上の相同の半分のマクロブロック（Ｔｏｐi-1，Ｂｏｔｔｏｍi-1）に関し前記Ｌ１ノルムを最小とさせる同様の寸法の予測子マクロブロックをサーチし、
（ｃ）前記上部半分に対し時間的に先行するピクチャ（ｉ−１）上でサーチされた前記Ｌ１ノルムを最小とさせる予測子マクロブロックに関連するノルム（Ｌ１Top）を先行するピクチャ（Ｔｏｐi-1）上の対応する位置におけるマクロブロックＲ×Ｓ／２を現在のイメージの前記上部半分（Ｔｏｐi）に対するマクロブロックＲ×Ｓ／２に対する予測子として使用して得られたノルム（Ｌ１Top0）と比較し且つ後者のノルム値（Ｌ１Top0）が前者のノルム値（Ｌ１Top）より小さい場合に第一カウンタ（ｎｕｍｂｅｒ＿０＿Ｔｏｐ）をインクリメントし、
（ｄ）下部半分に対するノルム値（Ｌ１Bottom，Ｌ１Bottom0）の間の比較のステップ（ｃ）を繰返し行い、後者のノルム値（Ｌ１Ｂｏｔｔｏｍ０）が前者のノルム値（Ｌ１Ｂｏｔｔｏｍ）よりも小さい場合に第二カウンタ（ｎｕｍｂｅｒ＿０＿Ｂｏｔｔｏｍ）をインクリメントし、
（ｅ）前記第一又は前記第二カウンタ内に含まれている数があるスレッシュホールドより大きいか否かを検証し、先行するピクチャに関して現在のピクチャの一方又は他方の半分のフィールドの繰返しの発生を肯定又は否定し、
（ｆ）多数の連続するピクチャ又はＴＶフレームに対する繰返しの肯定及び否定データを使用して３：２プルダウンの検知を肯定する３：２プルダウンのパターンとの一致を認識する、
ことを特徴とする方法。
【請求項２】
請求項１において、更に、
全体的な現在のピクチャに対して上部フィールド（Ｌ１Top0）及び下部フィールド（Ｌ１Bottom0）に対する前記ノルム値の平均値を計算し且つ処理し、
βが１より大きいものとして、下部フィールド（Ｌ１Bottom0）に対する前記平均値が上部フィールド（Ｌ１Top0）に対するノルムの平均値よりもβ倍大きいか否かを検証し、時間的に先行するピクチャ（ｉ−１）の同一のフィールド上の対応する位置における予測子マクロブロックによって現在のピクチャの上部フィールド（Ｔｏｐi）が下部フィールド（Ｂｏｔｔｏｍi）よりもより良く予測されており従って繰返されたものが上部フィールドであること又はその逆も真であることを確立し、
請求項１の手順に従って発生された肯定又は否定データと共に平均化されたノルム値に関して実施された前記検証・確立ステップの結果を使用して３：２プルダウンパターンとの一致を認識し且つそれの検知を肯定する、
ことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル化したピクチャの送信に関するものであって、更に詳細には、例えばＭＰＥＧ２ビデオエンコーダにおいて実現されているような運動推定アルゴリズムに基づくピクチャの圧縮技術に関するものである。
【０００２】
【従来の技術】
世界の異なるＴＶスタンダードはピクチャ寸法において互いに異なっており且つピクチャが送信される態様（フレームレート、帯域、等）において異なっている。通常、動画は２４フォトグラム／秒でカメラによって記録される。２５ピクチャ／秒の速度を必要とするＰＡＬ又はＳＥＣＡＭシステムで送信するためには、フィルムが僅かに加速され、その結果僅かな音及び運動の歪みが発生するが、それは、実際的には知覚されないものである。
【０００３】
然しながら、フィルムをＮＴＳＣ  ＴＶスタンダードで送信せねばならない場合には、それは３０ピクチャ／秒のフレーム速度を必要とするものであり、そのような加速はＴＶ視聴者によって明らかに知覚されるような歪みを発生させる場合がある。この場合には、所謂「３：２プルダウン（ｐｕｌｌｄｏｗｎ）」技術を実施することが必要であり、その技術は２４フォトグラム／秒で記録されたフィルムを３０ピクチャ／秒のＴＶシーケンスへ変換する。
【０００４】
図１に示したように、モーションピクチャ即ち動画は一般的にフォトグラム毎に記録され、即ち、各ピクチャはある時刻において全体として採取される。対照的に、テレビのピクチャは２つの別個の時刻において採取され、即ち、最初に、ピクチャの偶数セミフィールド（「上部（Ｔｏｐ）フィールド」）を構成する偶数ラインと、２番目に、奇数セミフィールド（「下部（Ｂｏｔｔｏｍ）フィールド」）を構成する奇数ラインとである。これら２つのセミフィールドの「和」がビデオ「フレーム」とも呼称される全体的なピクチャを構成する。１番目のセミフィールドと２番目のセミフィールドとの採取の間にある時間が経過するという事実に鑑み、ビデオカメラによってフォーカスされたオブジェクトの間で相対的な運動が存在する場合があり且つ２つのフィールドにおいて１つのオブジェクトは僅かに異なる位置を取る場合がある。
【０００５】
１個のフォトグラムであっても２つのフィールドに分解することが可能であり、即ち所謂上部フィールドを形成する偶数ラインと所謂下部フィールドを形成する奇数ラインとであるが、単一の時刻に採取されたピクチャであり、フォーカスされたオブジェクトは両方のフィールドにおいて同一の位置を占有する。
【０００６】
２４フォトグラム／秒から３０フォトグラム／秒への３：２プルダウン変換方法は、図２に示した手法に従って幾つかのフィールドの繰返し即ち複製によって、フィルムの４個のフォトグラムからなるシーケンスを５個のＴＶフレームからなるシーケンスへ変換することを包含している。図２において、Ｔｏｐｉ及びＢｏｔｉはフォトグラムｉの上部（Ｔｏｐ）フィールド（偶数ライン）及び下部（Ｂｏｔｔｏｍ）フィールド（奇数ライン）を夫々表わしており、尚ｉ＝１，２，３，４である。このフィールドの繰返しはアーチファクト即ち人工的な効果を発生するが、それはＴＶ視聴者に影響を与えるようなものではない。何故ならば、フレームは３３ｍｓのインターバル即ち間隔で繰返されるからである。
【０００７】
ピクチャ圧縮方法の基本的な問題は、必ず送信又は記録されねばならない情報量を減少させることであるので、そのシーケンスが３：２プルダウン変換を包含しているか否かを検知することによって、４個のピクチャによって必要とされるのと同一のビット数で５個のピクチャをコーディングすることによりどのようにして繰返しフィールドのエンコーディングを回避することが可能であるかが明らかである。従って、上述した手法に従う５個のピクチャのシーケンスを再生することはデコーダ（受信ステーション）のタスクである。このように、同じ品質のピクチャに対しては、圧縮比を増加させることが可能であり、又ピクチャをコーディングするために使用可能な同数のビットに対してはその品質を改善することが可能である。
【０００８】
又、３：２プルダウンの信頼性のある検知は、発生された運動フィールドの相関に基づく運動推定器を使用する圧縮アルゴリズムに対するコーディング品質を更に改善することを可能とする。３：２プルダウン手法に従うフィールドの繰返しはピクチャのグローバルな運動において不一致を発生する場合がある。フィールドが繰返される場合には、運動推定器はこのことをピクチャのオブジェクトの運動（仮想的なものであるが）の停止として検知し、従って発生されたベクトルの収束プロセスを検証する。３：２プルダウンの検知の更なる有益的な結果は、その検知が使用したエンコーディング方法によって許容された全ての予測を実施することを無用なものとさせ（フィールド予測、二重プライム（ｐｒｉｍｅ）予測及びフレーム等）及びフレーム予測方法のようにピクチャフィールド間の時間が欠如していることを考慮に入れる方法に特権を与えることが可能であるという点である。３：２プルダウンを検知するためには、いずれの場合においても実施されるフィールドの間の許容可能な運動推定に対するコーディングシステムによって発生される運動フィールドの解析が基本的なものとなる。
【０００９】
運動推定における従来技術の説明
運動推定の基本的な概念は以下の通りである。１つのピクチャの１つのフィールドの１組のピクセルを、先行するピクチャを変換することにより得られた次のピクチャの位置に配置させることが可能である。勿論、これらのオブジェクトの置換えは、ビデオカメラに対して、以前に見えなかった部分及びそれらの形状の変化（例えば、ズーミング等）を露呈させる場合がある。
【００１０】
これらのイメージの部分を識別し且つ関連付けるのに適当な一群のアルゴリズムは、通常、「運動推定」と呼ばれる。このような関連付けは差分イメージの部分を計算することを可能とし、従って時間的に冗長な情報を除去し且つ離散余弦変換（ＤＣＴ）、量子化及びエントロピーコーディングによる爾後の圧縮プロセスをより効果的なものとさせる。
【００１１】
このような方法はスタンダードのＭＰＥＧ２において典型的な例が見られ且つその重要性に鑑み、例えば、ＭＰＥＧ２スタンダードを参照する。注意すべきことであるが、運動推定のシステム及び本発明のアーキテクチュアはＭＰＥＧ２スタンダードとは異なるスタンダードに基づいて動作するデジタル化したピクチャを操作するシステムに対しても同様に有用であり且つ容易に適用可能である。
【００１２】
ビデオＭＰＥＧ２デコーダの典型的なブロック図を図３に示してある。このようなシステムは以下のような機能的ブロックから構成されている。
【００１３】
（１）フィールド順番付け器
このブロックはＭＰＥＧスタンダードによって必要とされるコーディング順にフィールドを出力する１個又は幾つかのフィールドメモリから構成されている。例えば、入力シーケンスがＩＢＢＰＢＢＰ等である場合には、出力順はＩＰＢＢＰＢＢ．．．である。
【００１４】
尚、Ｉ（イントラコード化ピクチャ）は時間的冗長性を含むフィールド及び／又はセミフィールドであり、
Ｐ（予測ピクチャ）は先行するＩ又はＰ（前にコード化又はデコード化されたもの）に関し時間的な冗長性が除去されているフィールド及び／又はセミフィールドであり、
Ｂ（双方向予測ピクチャ）は先行するＩ及び後続のＰ（又は先行するＰ及び後続のＰ）に関し時間的冗長性を除去したフィールド及び／又はセミフィールドである（両方の場合において、Ｉ及びＰピクチャは既にコード化／デコード化されているものと考えねばならない）。
【００１５】
フォーマット４：２：０における各フレームバッファは以下のメモリ空間を占有する。
【００１６】
スタンダードＰＡＬの場合、
ルミナンス（Ｙ）に対して  ７２０×５７６×８＝３，３１７，７６０ビット
クロミナンス（Ｕ）に対して３６０×２８８×８＝    ８２９，４４０ビット
クロミナンス（Ｖ）に対して３６０×２８８×８＝    ８２９，４４０ビット
合計                              Ｙ＋Ｕ＋Ｖ＝４，９７６，６４０ビット
スタンダードＮＴＳＣの場合、
ルミナンス（Ｙ）に対して  ７２０×４８０×８＝２，７６４，８８０ビット
クロミナンス（Ｕ）に対して３６０×２４０×８＝    ６９１，２００ビット
クロミナンス（Ｖ）に対して３６０×２４０×８＝    ６９１，２００ビット
合計                              Ｙ＋Ｕ＋Ｖ＝４，１４７，２００ビット
（２）運動推定器
これはＰ及びＢピクチャから時間的冗長性を除去するブロックである。
【００１７】
（３）ＤＣＴ
これはＭＰＥＧ２スンダードに基づいて離散余弦変換を実施するブロックである。Ｉピクチャ及びエラーピクチャＰ及びＢは８×８ブロックのピクセルＹ，Ｕ，Ｖに分割され、それに関してＤＣＴ変換が実施される。
【００１８】
（４）量子化器Ｑ
ＤＣＴ変換から発生する８×８ブロックは、次いで、ＤＣＴ係数の大きさを多かれ少なかれ著しく減少させるために量子化用マトリクスによって割算される。このような場合においては、人間の眼に対して感受性がより低い最も高い周波数に関連する情報が除去される傾向となる。その結果は整理し直され且つ次のブロックへ送られる。
【００１９】
（５）可変長コーディング（ＶＬＣ）
量子化器から出力されるコード化ワードは非ヌル値が続く多かれ少なかれ多数のヌル係数を含む傾向がある。最初の非ヌル値に先行するヌル値がカウントされ且つそのカウント値はコード化ワードの第一部分を構成し、この第二部分は非ヌル係数を表わす。
【００２０】
これらの対構成とされた値は他のものよりもより蓋然性のある値をとる傾向がある。最も蓋然性のあるものは比較的短いワード（２，３又は４ビットから構成されている）でコード化され、一方最も蓋然性の低いものはより長いワードでコード化される。統計的には、出力ビット数はこれらの方法が使用されない場合よりも少ない。
【００２１】
（６）マルチプレクサ及びバッファ
可変長コーダー、量子化用マトリクス、運動ベクトル及びその他の構文上の要素によって発生されたデータはＭＰＥＧ２スタンダードによって意図されている最終的なシンタックス即ち構文を構成するために組立てられる。その結果発生するビットストリームはメモリバッファ内に格納され、その限界寸法はＭＰＥＧ２スタンダードによって画定され且つオーバーフローすることは不可能である。量子化器ブロックＱは、システムがこのようなメモリバッファの満杯限界からどれ程離れているか及び運動推定及びＤＣＴ変換プロセスの上流側でとられた８×８ソースブロックのエネルギに依存して、ＤＣＴ８×８ブロックの割算を多かれ少なかれ著しいものとさせることによりこのような限界の側面を処理する。
【００２２】
（７）逆可変長コーディング（Ｉ−ＶＬＣ）
上に特定した可変長コーディング機能が逆の順番に実行される。
【００２３】
（８）逆量子化（ＩＱ）
Ｉ−ＶＬＣブロックによって出力されるワードが８×８ブロック構造に再調整され、それはその前のコーディングに対して使用したものと同一の量子化用マトリクスによって乗算される。
【００２４】
（９）逆ＤＣＴ（Ｉ−ＤＣＴ）
ＤＣＴ変換機能が反転され且つ逆量子化プロセスによって出力された８×８ブロックに対して適用される。このことは空間周波数のドメインからピクセルドメインへ通過することを許容する。
【００２５】
（１０）運動補償及び格納
Ｉ−ＤＣＴブロックの出力において、別法として、以下のものが存在する場合がある。
【００２６】
後続のＰ及びＢピクチャからそれに対しての時間的冗長性を除去するために夫々のメモリバッファ内に格納せねばならないデコード済のＩピクチャ（又はセミピクチャ）；
運動推定フェーズ期間中に以前に除去した情報に対して加算されねばならないデコード済の予測エラーピクチャ（セミピクチャ）Ｐ又はＢ。Ｐピクチャの場合には、専用のメモリバッファ内に格納されているこのような結果的に得られる和は持続のＰピクチャ及びＢピクチャに対する運動推定処理期間中に使用される。これらのフィールドメモリは、通常、ブロックを再調整するために使用されるフィールドメモリとは別のものである。
【００２７】
（１１）ディスプレイユニット
このユニットは４：２：０フォーマットから４：２：２フォーマットへピクチャを変換し且つイメージを表示するためのインターレース型フォーマットを発生する。
【００２８】
上述したＭＰＥＧ２デコーダを実現するアーキテクチュアにおいて、図４に示した機能的ブロックの構成を図２に示してある。明確な特徴は、フィールド再調整ブロック（１）、既に再生したＰ及びＩピクチャを格納するブロック（１０）、及びＭＰＥＧ２コーディングによって発生したビットストリームを格納するブロック（６）がデコーダのコアの集積回路外部のメモリ装置内において集積化されており、それに対して、適宜集積化した制御器によって管理される単一のインターフェースを介してアクセスする。
【００２９】
更に、予備処理ブロックが受信したイメージをクロミナンスのフィルタ処理及びサブサンプリング処理によって４：２：２フォーマットから４：２：０フォーマットへ変換する。後処理ブロックは該イメージのデコーディング及びディスプレイフェーズ期間中に逆の機能を実施する。
【００３０】
コーディングプロセスは運動推定を動作可能なものとさせるために基準ピクチャを発生するためのデコーディングステップも使用する。例えば、最初のＩピクチャをコード化し、次いでデコードし、格納し（パラグラフ１０において記載したように）且つ後のＰ及びＢピクチャをコード化するために使用される予測エラーを計算するために使用する。
【００３１】
コーディングプロセスによって以前に発生されたビットストリームのプレイバックプロセスは「逆」機能ブロック（Ｉ−ＶＬＣ，Ｉ−Ｑ，Ｉ−ＤＣＴ等）のみを使用し、「直接的」機能ブロックを使用するものではない。この観点から、イメージの後の表示のために実施されるコーディング及びデコーディングは集積化したアーキテクチュア内において非同時的なプロセスであるということが可能である。
【００３２】
運動推定アルゴリズムの範囲は、シーケンスにおけるピクチャ／セミピクチャを予測し、先行する及び／又は将来のピクチャ又はセミフィールドから発生する予測子として呼ばれるピクセルからなるブロックの全体の組成を得ることである。
【００３３】
ＭＰＥＧ２スタンダードによれば、３つのタイプのピクチャ（フィールド）又はセミフィールドが存在している。即ち、
Ｉ（イントラコード化ピクチャ）は時間的冗長性を含むフィールド及び／又はセミフィールドであり、
Ｐ（予測ピクチャ）は先行するＩ又はＰ（以前にコード化／デコード化されている）に関する時間的冗長性が除去されたフィールド及び／又はセミフィールドであり、
Ｂ（双方向予測ピクチャ）は先行するＩ及び後続のＰ（又は先行するＰ及び後続のＰ）に関する時間的冗長性が除去されたフィールド及び／又はセミフィールドである（両方の場合において、Ｉ及びＰピクチャは既にコード化／デコード化されたものと考えねばならない）。
【００３４】
Ｐフィールド又はセミフィールド
１つのピクチャの２つのフィールド（同じことがセミフィールドに対しても適用される）、即ち時刻ｔにおけるＱ１及び時刻ｔ＋（ｋｑ）×Ｔにおける後続のフィールドＱ２に付いて検討する。Ｔをフィールド周期（ＰＡＬスタンダードの場合には１／２５秒、ＮＴＳＣスタンダードの場合には１／３０秒）であり且つｋｐは先行するＩと後続のＰの間（又は２つのＰの間）に存在するＢフィールドの数に依存する定数であるとする。Ｑ１及びＱ２はルミナンス成分及びクロミナンス成分によって構成される。運動推定を、Ｎ行及びＭ列のマトリクスとして表現することの可能な最もエネルギが高く、従って、情報成分が豊富である、例えばルミナンスに対してのみ適用するものと仮定する。Ｑ１及びＱ２を各々がＲ行でＳ列からなるマクロブロックと呼ばれる部分に分割する。その分割の結果Ｎ／Ｒ及びＭ／Ｓは２つの整数でなければならないが、必ずしも互いに等しいものである必要はない。
【００３５】
ＭＢ２（ｉ，ｊ）をフィールドＱ２に属する基準マクロブロックとして画定され且つその左上部分の最初のピクセルがｉ番目の行とｊ番目の列との交差点にあるマクロブロックとする。対（ｉ，ｊ）はｉ及びｊが、夫々、Ｒ及びＳの整数の倍数であるという特徴を有している。
【００３６】
図５はどのようにして該基準マクロブロックがＱ２ピクチャ上に位置されているかを示しており、水平方向の点線矢印はＱ２上の種々のマクロブロックを識別するために使用されるスキャニング方向を示している。Ｑ１フィールド上にＭＢ２（ｉ，ｊ）を投影し、ＭＢ１（ｉ，ｊ）を得るものと仮定する。
【００３７】
Ｑ１上にその中心が（ｉ，ｊ）であり且つマクロブロックＭＢｋ［ｅ，ｆ］から構成されるサーチウインドウを画定するものとし、尚ｋはマクロブロックインデクッスである。ｋ番目のマクロブロックは以下のようにして座標（ｅ，ｆ）により識別される。
【００３８】
−ｐ≦（ｅ−ｉ）≦＋ｐ      −ｑ≦（ｆ−ｊ）≦＋ｑ
尚、インデックスｅ及びｆは整数である。
【００３９】
前記マクロブロックの各々はＭＢ２（ｉ，ｊ）の可能性のある予測子である。それがサーチされる態様及びサーチウインドウ内において選択される態様に従って異なる運動推定アルゴリズムはそれらの間で異なっている。あるコスト関数を最小とさせる予測子が全体的な可能性のある予測子の間から選択される。
【００４０】
このような関数は選択された運動推定アルゴリズムに従って異なる場合があり、例えば、ＭＰＥＧ２スタンダードにおいては、基準マクロブロックに関しＬ１ノルムを最小とさせる予測子をサーチする。このようなノルムはＭＢ２（ｉ，ｊ）及びＭＢｋ（ｅ，ｆ）に属し且つ相同のピクセルの間の差の絶対値の和に等しい。各和に対してＲ×Ｓ値が貢献し、その結果は歪みと呼ばれる。
【００４１】
ＭＢ２（ｉ，ｊ）に最も類似する予測子が運動推定の後の支配的な予測子の座標によって識別される。支配的な予測子の位置とＭＢ２（ｉ，ｊ）との間の差によって構成されるベクトルは運動ベクトルと呼ばれ且つどのようにしてＭＢ２（ｉ，ｊ）が先行するフィールド内の同様のマクロブロックのシフトから発生するかを記述する。
【００４２】
Ｂフィールド又はセミフィールド
３つのピクチャフィールド（同一のことはセミフィールドにも適用される）、即ち時刻ｔにおけるＱＰn-1、時刻ｔ＋（ｋB）×ＴにおけるＱＢｋB、時刻ｔ＋（ｋP）×ＴにおけるＱＰnについて検討するものとし、尚ｋP及びｋBは前に選択したＢフィールド（又はセミフィールド）の数に依存する。Ｔはフィールド周期である（ＰＡＬスンダードの場合には１／２５秒、ＮＴＳＣスタンダードの場合には１／３０秒）。ＱＰn-1，ＱＢｋB，ＱＰnはルミナンス成分及びクロミナンス成分によって構成されている。運動推定を、最もエネルギが高く従って情報成分が豊富である例えばＮ個の行とＭ個の列とからなるマトリクスとして表現することの可能な例えばルミナンスに対してのみ適用するものと仮定する。ＱＰn-1，ＱＢｋB，ＱＰnを各々がＲ個の行とＳ個の列とからなるマクロブロックと呼ばれる部分に分割する。割算Ｎ／Ｒ及びＭ／Ｓの結果は２つの整数となるものでなければならないが、必ずしも等しいものである必要はない。
【００４３】
ＭＢ２（ｉ，ｊ）をフィールドＱ２に属する基準マクロブロックとして画定され且つその左上部分における最初のピクセルがｉ番目の行とｊ番目の列との間の交差点にあるマクロブロックであるとする。対（ｉ，ｊ）はｉ及びｊが夫々Ｒ及びＳの整数の倍数であるという事実によって特徴付けられる。ＭＢ２（ｉ，ｊ）をＱＰn-1フィールド上に投影してＭＢ１（ｉ，ｊ）を得且つＱＰn上に投影してＭＢ３（ｉ，ｊ）を得るものと仮定する。
【００４４】
ＱＰn-1上にその中心が（ｉ，ｊ）にあり且つマクロブロックＭＢ１ｋ［ｅ，ｆ］からなるサーチウインドウを画定し且つＱＰn上にその寸法が異なる場合もあり、いずれの場合においても、予め定められておりＭＢ３ｋ［ｅ，ｆ］から構成されているサーチウインドウを画定するものとする。尚、ｋはマクロブロックインデックスである。ＱＰn-1上のｋ番目のマクロブロックは以下のようにして座標（ｅ，ｆ）により識別される。
【００４５】
−ｐ１≦（ｅ−ｉ）≦＋ｐ１      −ｑ１≦（ｆ−ｊ）≦＋ｑ１
一方、ＱＰnフィールド上のｋ番目のマクロブロックは以下のようにして座標（ｅ，ｆ）により識別される。
【００４６】
−ｐ３≦（ｅ−ｉ）≦＋ｐ３      −ｑ３≦（ｆ−ｊ）≦＋ｑ３
尚、インデックスｅ及びｆは整数である。
【００４７】
前記マクロブロックの各々はＭＢ２（ｉ，ｊ）の予測子であると言われる。従って、この場合においては、ＭＢ２（ｉ，ｊ）に対して２つのタイプの予測子が存在しており、即ち、「前方」と呼称される推定されるべきブロック（Ｉ又はＰ）を包含するものに時間的に先行するフィールド上で得られるもの、及び「後方」と呼ばれる推定されるべきブロック（Ｉ又はＰ）を包含するものに時間的に後続するフィールド上で得られるものである。
【００４８】
使用する運動推定アルゴリズムのタイプに依存する組であってこれら２つの組の可能性のある予測子の中で、ハードウエア実現化のあるコスト関数を最小とするような２つ、即ち１つが後方で１つが前方であるものを選択する。このコスト関数は選択した運動推定のタイプに依存して異なる場合があり、例えば、ＭＰＥＧ２スタンダードにおいては、基準マクロブロックに関しＬ１ノルムを最小とする予測子をサーチする。このようなノルムはＭＢ２（ｉ，ｊ）及びＭＢ１ｋ（ｅ，ｆ）又はＭＢ３ｋ（ｅ，ｆ）に属し且つ相同のピクセルの間の差の絶対値の和に等しい。各和に対して、Ｒ×Ｓ値が貢献し、その結果は歪みと呼ばれる。
【００４９】
従って、ある数の前方歪み値が得られ、その中で最も低いものがフィールドＱＰn-1における支配的な位置（ｅf，ｆf）を識別するものとして選択され、且つある後方歪み値が得られ、その中で、最小値がＱＰnフィールド上の新たな支配的な位置（ｅb，ｆb）を識別するものとして選択される。更に、ＭＢ２（ｉ，ｊ）と２つの支配的な予測子の直線補間によって得られた理論的なマックロブロックとの間の歪み値が計算される。
【００５０】
従って、ＭＢ２（ｉ，ｊ）は３つのタイプのマクロブロックのみ、即ち前方予測子（ｅf，ｆf）、又は後方予測子（ｅb，ｆb）又は平均化したものであるが両方を使用して推定することが可能である。支配的な予測子の位置とＭＢ２（ｉ，ｊ）の位置との間の差成分により構成されるベクトルは運動ベクトルとして定義され且つどのようにしてＭＢ２（ｉ，ｊ）が先行する及び／又は後続のフィールドにおけるそれと類似するマクロブロックの変換から派生するかを記述する。
【００５１】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、３：２プルダウンと呼称されるピクチャシーケンス変換が存在することを認識することによる運動推定アルゴリズムに基づいてピクチャ圧縮技術の効率を改善することである。
【００５２】
【課題を解決するための手段】
上述したことから、３：２プルダウンが存在することを認識することの能力は圧縮プロセスの効率及びイメージの品質に関して顕著な影響を与える可能性があることが明らかである。コーダー即ちコード化器において行われるその他のプロセスに関し連続的且つ同時的なモードで３：２プルダウンプロセスを検知することが基本的なことであることを強調することが重要である。
【００５３】
通常のＴＶシーケンスがカメラで撮影したシーケンス内に挿入される場合がある。ＴＶ放送フィルムがしばしばコマーシャルによって中断されることを考えることで充分である。従って、不可避的な情報の損失を発生する可能性のあるフィールドを失うことがないように、フィルムモードからすぐさま通常のモードへ変更することが可能であることが必要である。
【００５４】
基本的に、本発明によれば、データの時間的冗長性を除去するために連続するピクチャ間の運動推定手順に基づいてピクチャのシーケンスのデジタルデータをコーディングする圧縮方法が、幾つかのピクチャを繰返す即ち複製することにより多数のＴＶフレームのシーケンスにおいてある数のフィルムフォトグラムの３：２プルダウン変換を認識し且つその認識の結果としてこのようなピクチャの繰返し即ち複製に起因する冗長性を除去する、上記各ステップを有している。
【００５５】
基本的に、本発明のアルゴリズムは、先行するピクチャのものに関しあるピクチャの繰返されるフィールドが存在することを認識し且つこのような繰返しがあるシーケンスのものである、即ち３：２プルダウン変換のものに対応するシーケンスであることを検証することが可能である。従って、本発明方法が効果的なものである前提条件は、コーダー即ちコード化器において実現される運動推定アルゴリズムがそのシーケンスにおけるあるフレームとそれに続くフレームとの間の運動を確立することである。
【００５６】
前述したように、現在のピクチャの各基準マクロブロックに対して、運動推定アルゴリズムは現在のフレームと相対的に先行するフレーム上又は持続のフレーム上におけるサーチウインドウ内において予測子マクロブロックをサーチする。最良の予測子はあるコスト関数（ノルムＬ１）を最小とさせるものである。
【００５７】
本発明の３：２プルダウンの認識アルゴリズムは運動推定システムによって使用可能とされる２つの情報を使用するものであり、即ち、
※支配的なマクロブロック予測子、
※コスト関数値、
且つ、これらのデータはコーディングフェーズ期間中に計算されねばならないので、本発明方法に基づく３：２プルダウンの決定はハードウエアを実現する全体的な複雑性に関し与える影響は比較的低いものであることを暗示している。
【００５８】
シーケンスの連続するピクチャの間の運動推定が現在のピクチャの各基準マクロブロックに対して現在のピクチャに時間的に先行するか又は持続のピクチャ上のサーチウインドウ内における予測子マクロブロックをサーチし且つあるコスト関数Ｌ１を最小とする予測子を選択することによって行われる圧縮プロセスにおいて、ピクチャからなるシーケンスのデータのデジタルコーディングの流れにおいて３：２プルダウンの検知が以下の動作に従って本発明に基づいて行われる。
（ａ）各半分がＲ×Ｓ／２個のピクセルを包含しているピクチャの上部フィールド上に位置されている半分と下部フィールド上に位置されている半分とからなるＲ×Ｓ個のピクセルからなる基準ブロックを定義する。
【００５９】
（ｂ）周辺のマクロブロックを除いて、前記サーチウインドウ内において、前記上部半分（Ｔｏｐi）及び下部半分（Ｂｏｔｔｏｍi）に対して別々に、現在のピクチャ（ｉ）の各マクロブロックに対して、時間的に先行するピクチャ上の相同の半分（Ｔｏｐi-1，Ｂｏｔｔｏｍi-1）に関しより良く予測する（ノルムＬ１を最小とする）同様の寸法のマクロブロックをサーチする。
【００６０】
（ｃ）時間的に先行するピクチャ（ｉ−１）上でサーチされた支配的な予測子に関連するノルム（Ｌ１Top）を現在のピクチャの前記上部半分（Ｔｏｐi）に対するＲ×Ｓ／２マクロブロックに対する予測子として、先行するピクチャ（Ｔｏｐi-1）上の相同の位置におけるマクロブロックＲ×Ｓ／２を使用することにより得られたノルム（Ｌ１Top0）と比較し且つ後者のノルム（Ｌ１Top0）が最初のノルム（Ｌ１Top）より小さい場合に第一カウンタ（ｎｕｍｂｅｒ＿０＿Ｔｏｐ）をインクリメントさせる。
【００６１】
（ｄ）下部半分に対しノルム（Ｌ１Bottom，Ｌ１Bottom0）の間において比較（ｃ）と同一の動作を実施し、第二カウンタ（ｎｕｍｂｅｒ＿０＿Ｂｏｔｔｏｍ）をインクリメントする。
【００６２】
（ｅ）前記第一及び／又は第二カウンタ内に含まれる数があるスレッシュホールド（α×マクロブロック数、尚α＜１である）より高いか否か、この場合には先行するピクチャに関し現在のピクチャの一方及び／又は他方の半分の繰返しの発生があるか否かを検証する。
【００６３】
（ｆ）３：２プルダウンの繰返しパターンとの一致を究極的に検知し、従って３：２プルダウンの検知を確認するために、ある数の連続するピクチャに対する繰返しのアクノレッジメント即ち肯定回答又はディスアクノレッジメント即ち否定回答のデータを処理する。
【００６４】
【発明の実施の形態】
その寸法がＲ×Ｓピクセルである基準マクロブロックが半分が上部フィールド上に位置しており且つ半分が下部フィールド上に位置しており、各半分がＲ×Ｓ／２の寸法を有するものと仮定する。
【００６５】
最も外側のクラウン（最初及び最後の行及び最初及び最後の列）に属するものを除いて、現在のフレーム内に含まれる各マクロブロックに対して、最も良く予測する（Ｌ１ノルムを最小とする）同様の寸法のマクロブロックをＴｏｐｉ上のＲ×Ｓ／２部分に対するＴｏｐｉ−１及びＢｏｔｔｏｍｉ上のＲ×Ｓ／２部分に対するＢｏｔｔｏｍｉ−１上において同様に別々にサーチウインドウ内においてサーチする。
【００６６】
Ｔｏｐｉ−１上で見つかった最良の予測子Ｒ×Ｓ／２と関連するノルムＬ１（それをＬ１Topで表わす）を、Ｔｏｐｉ上のＲ×Ｓ／２マクロブロックに対する予測子として、Ｔｏｐｉ−１上の相同の位置におけるＲ×Ｓ／２マクロブロックが使用される場合に得られるノルムの値（それをＬ１Top0で表わす）と比較する。Ｌ１top0がＬ１topより小さい場合には、Ｔｏｐｉ上のマクロブロックＲ×Ｓ／２がＴｏｐｉ−１上のものと相対的にシフトしていない可能性があり、且つこの場合には、第一カウンタｎｕｍｂｅｒ＿０＿ｔｏｐがインクリメントされる。下部フィールドに対しても同様のプロセスが実施され、Ｌ１bottom0及びＬ１bottomを得、それらを比較し且つ究極的に第二カウンタｎｕｍｂｅｒ＿０＿ｂｏｔｔｏｍをインクリメントさせる。
【００６７】
全体的なピクチャのスキャニングの終りに、カウンタｎｕｍｂｅｒ＿０＿ｔｏｐはＴｏｐｉ−１とＴｏｐｉとの間で移動しなかったＲ×Ｓ／２マクロブロックの数を包含している。この数がピクチャ内に含まれるマクロブロックの総数とαとの積より大きい場合には、尚αは１未満であり、Ｔｏｐフィールドが繰返されたことを肯定することが可能である。同様に、この条件がカウンタｎｕｍｂｅｒ＿０＿ｂｏｔｔｏｍの内容についても検証される場合には、Ｂｏｔｔｏｍフィールドが繰返されている。これらのチェックはテスト１として便宜的に定義することが可能な第一テストを構成する。
【００６８】
更なる制御テストを確立するために、全体的なピクチャに対するＬ１top0及びＬ１bottom0の平均値が計算される。Ｌ１bottom0の平均がβが１より大きいものとしてＬ１top0の平均とβとの積より大きい場合には、ピクチャｉ−１のフィールド上の相同の位置における夫々の予測子によってＢｏｔｔｏｍｉ上のマクロブロックＲ×Ｓ／２よりもＴｏｐｉ上のマクロブロックＲ×Ｓ／２がより良く予測され、従ってＴｏｐフィールドが繰返されたことを肯定することが可能であり、且つその逆も又真である。便宜的にこの２番目のテストはテスト２として呼称する。
【００６９】
図７はどのようにして運動推定ブロックが３：２プルダウンを検知するブロックと通信を行うかの構成を示している。図９はＴｏｐ（上部）フィールドに関係するテスト１及びテスト２の手順を示している。勿論、同様の手順をＢｏｔｔｏｍ（下部）フィールドをテストするために使用する。上部フィールドに対するテスト１及び底部フィールドに対するテスト１は相互に排他的なものではなく、従ってテスト２と異なり、それらは異なる値又は同一の値を発生する場合がある。３：２プルダウンの場合には、繰返されたフィールドは良好に画定された手順又はパターンに適合するものでなければならない。従って、図８に示したように、３：２プルダウンを検知するブロックは３個の機能的サブブロックを有しており、即ち最初の２つのサブブロックは、夫々、Ｔｏｐ（上部）及びＢｏｔｔｏｍ（下部）フィールドに対してテスト１及びテスト２を計算し、且つ３番目のサブブロックは該フィールドを正しい順番で繰返すか否かを制御する。従って、フィールドの繰返しパターンを示すテーブルを発生することが可能であり、それは、任意の時刻において、このような手順における現在のピクチャの位置を表わす。
【００７０】
0004518599.tif 000002
尚、
※インデックスはマスク内の現在のフレームの位置を表わす。
【００７１】
※１は、その特定のフレーム内において、先行するフレームに関してその特定のフィールドの繰返しが存在する場合があることを表わす。
【００７２】
※０はその特定のフィールドの繰返しが存在しないことを表わす。
【００７３】
繰返されたフィールドの存在を決定する方法は図１０に示したアーキテクチュアの構成に従って実現することが可能である。このプロセスは以下の通りである。
【００７４】
（ａ）「インデックス」＝０？
ｙｅｓ→｛［（上部に対するテスト１）ＡＮＤ（下部に対するテスト１なし）］ＯＲ（上部に対するテスト２）｝？
ｙｅｓ  上部フィールドが繰返される。
【００７５】
（ｂ）「インデックス」＝３？
ｙｅｓ→｛［（下部に対するテスト１）ＡＮＤ（上部に対するテスト１なし）］ＯＲ（下部に対するテスト２）｝？
ｙｅｓ  下部フィールドが繰返される。
【００７６】
（ｃ）「インデックス」０及び３と異なる？
ｙｅｓ→［（上部に対するテスト２）ＡＮＤ（下部に対するテスト２）］？
ｙｅｓ  上部及び下部の両方のフィールドが繰返される。
【００７７】
実際には、マスク内のピクチャによって占有される位置に依存して（インデックス）、３：２プルダウンに従って複製されるべきフィールドの可能な繰返しをサーチする。従って、インデックスが０に等しい場合には、繰返されるＴｏｐ即ち上部をサーチし、インデックスが３に等しい場合には、繰返されるＢｏｔｔｏｍ即ち下部をサーチし、且つその他の全ての場合には、Ｔｏｐ（上部）及びＢｏｔｔｏｍ（下部）の両方のフィールドが繰返されないかチェックする。
【００７８】
図１０の「制御インデックス」ブロックは、以下の手順に従ってフィールドが正しい順番で複製されるか否かを制御する。
【００７９】
※３：２プルダウンが検知されない条件から開始するものと仮定することにより、インデックスは０であり且つＴｏｐ（上部）フィールドの複製及びＢｏｔｔｏｍ（下部）フィールドの非複製が決定されるまで（手順に従って）フレーム毎にその状態を継続する。
【００８０】
※この点において、インデックスがインクリメントされ、従って、相次ぐフレームにおいて、インデックスが１に等しい（即ち、繰返しなし）に対するテーブルに従ってフィールドの複製をサーチする。
【００８１】
※繰返しが誤ったものである場合には、インデックスはゼロへ復帰し且つ手順が新たに開始する。一方、フィールドの繰返しが正しいものである場合には、インデックスがインクリメントされる。
【００８２】
※マスクの完了時に３：２プルダウンが検知される。インデックスはゼロへ復帰する。３：２プルダウンの検知から、エンコーダは対応するインデックス値に対するテーブルのものから異なるフィールド複製パターンに遭遇するまでフィルムモードに留まる。このことが発生すると、インデックスは０へ復帰し、エンコーダはフィルムモードでの作業を終了し且つ本手順は始めから再度開始する。
【００８３】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図１】  漸進的シーケンス（フィルム）及びインターレース型シーケンス（ＴＶ）の例を示した概略図。
【図２】  フィルムの一連の４個のフォトグラムを５個のＴＶフレームからなるシーケンスへ変換する３：２プルダウンと呼ばれる方法を示した概略図。
【図３】  本発明が実施される「運動推定器」と呼ばれるブロックを包含するＭＰＥＧ２ＭＰ＠ＭＬビデオコーダーを示した概略図。
【図４】  図３のＭＰＥＧ２コーダーＭＰ＠ＭＬのアーキテクチュアを示した概略図。
【図５】  スキャニング順に関連してあるピクチャ上の１個のマクロブロックの位置を示した概略図。
【図６】  上部対上部及び下部対下部の相同フィールドのマクロブロックの間のサーチ方法を示した概略図。
【図７】  本発明に基づくモーション推定器ブロックのアーキテクチュアを示した概略図。
【図８】  ３：２プルダウン検知システムを示した概略ブロック図。
【図９】  上部フィールドに対するテスト１及びテスト２の計算方法を示した概略図。
【図１０】  繰返されるフィールドが存在することを決定し且つ繰返しの順番をチェックする方法を示した概略図。
【符号の説明】
Ｂｏｔｔｏｍ  ピクチャの下半分
Ｔｏｐ  ピクチャの上半分
【図１】
0004518599.tif 000003
【図２】
0004518599.tif 000004
【図３】
0004518599.tif 000005
【図４】
0004518599.tif 000006
【図５】
0004518599.tif 000007
【図６】
0004518599.tif 000008
【図７】
0004518599.tif 000009
【図８】
0004518599.tif 000010
【図９】
0004518599.tif 000011
【図１０】
0004518599.tif 000012