(57)【特許請求の範囲】
【請求項１】
ＭＰＥＧ信号処理システムにおいて、圧縮画像を表すビデオ・データを得る方法であって、
（ａ）ビデオ入力データを入力するステップと、
（ｂ）前記ビデオ入力データを、第１のフィールドおよび第２のフィールドを有する画像の入力ピクセル・ブロックに変換するステップであって、前記入力ピクセル・ブロックは、フレームの予め決められた基準エリアにある第１入力ピクセル・ブロック群およびフレームの前記基準エリアを除いたエリアにある第２入力ピクセル・ブロック群から構成され、
（ｃ）ブロック一致サーチを実行して、最良予測ブロックと前記第１入力ピクセル・ブロックとの間の移動量を決定することによって、前記画像の第１入力ピクセル・ブロックに対して前記最良予測ブロックおよびその関連の第１動きベクトルを決定するステップと、
（ｄ）前記画像の第２入力ピクセル・ブロックに対して複数の候補予測ブロックを決定するステップであって、前記決定するステップは前記第１のフィールドに対してまず実行され、その後前記第２のフィールドに対して実行され、
（１）すでに予測されかつ前記複数の候補予測ブロックを決定中の第２入力ピクセル・ブロックに隣接した２つの隣接ブロックに関連する動きベクトルについての各フィールド・パリティを決定するステップであって、前記フィールド・パリティは同一フィールド・パリティおよびオポジット・フィールド・パリティのいずれかであることと、
（２）ブロック一致サーチを実行して、前記複数の候補予測ブロックを決定するステップであって、
前記２つの隣接ブロックのフィールド・パリティの両方が同一フィールド・パリティの場合は、(ｉ)第１の候補予測ブロックと前記第２入力ピクセル・ブロックとの間の移動量に基づいて、前記第１の候補予測ブロックの関連の同一フィールド・パリティ動きベクトルを導き出し、（ｉｉ）前記同一フィールド・パリティ動きベクトルをスケーリングすることによって、前記同一フィールド・パリティ動きベクトルからオポジット・フィールド・パリティ動きベクトルを外挿し、（ｉｉｉ）前記外挿された動きベクトルを使用して前記複数の候補予測ブロックの第２の候補予測ブロックを決定する第１のステップを実行し
前記２つの隣接ブロックのフィールド・パリティの両方がオポジット・フィールド・パリティの場合は、(ｉ)第１の候補予測ブロックと前記第２入力ピクセル・ブロックとの間の移動量に基づいて、前記第１の候補予測ブロックの関連のオポジット・フィールド・パリティ動きベクトルを導き出し、(ｉｉ)前記オポジット・フィールド・パリティ動きベクトルをスケーリングすることによって、前記オポジット・フィールド・パリティ動きベクトルから同一フィールド・パリティ動きベクトルを外挿し、(ｉｉｉ)前記外挿されたベクトルを使用して前記複数の候補予測ブロックの第２の候補予測ブロックを決定する第２のステップを実行し、
前記２つの隣接ブロックのフィールドパリティが異なるフィールド・パリティの場合において、最小の誤差量を持つ前記隣接ブロックに関連する動きベクトルが、同一フィールド・パリティのときは前記第１のステップの(ｉ)から（ｉｉｉ）を実行し、オポジット・フィールド・パリティのときは前記第２のステップの(ｉ)から（ｉｉｉ）を実行することと、
（ｅ）前記複数の候補予測ブロックと、前記第２入力ピクセル・ブロックとの間の各誤差値に基づいて、前記複数の候補予測ブロックを相互に比較するステップと、
（ｆ）前記相互比較に基づいて、前記第２ピクセル・ブロックの最良予測ブロックとして、前記複数の候補予測ブロックの一つを選択するステップと、
（ｇ）前記選択された予測ブロックを用いて、出力ブロックを得るステップと、
（ｈ）前記出力ブロックをフォーマッティングして、データパケットを得るステップと
を備えることを特徴とする方法。
【請求項２】
前記外挿は、時間的な外挿であることを特徴とする請求項１に記載の方法。
【請求項３】
前記複数の候補予測ブロックを決定するステップにおける前記第２の候補予測ブロックの決定は、前記外挿された動きベクトルを乱すことによって行われることを特徴とする請求項１に記載の方法。
【請求項４】
ベクトルを外挿する前記ステップは、同一フィールド・パリティ動きベクトルからオポジット・フィールド・パリティ動きベクトルを、または、オポジット・フィールド・パリティ動きベクトルから同一フィールド・パリティ動きベクトルを時間的に外挿することを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記第１入力ピクセル・ブロックに対する前記予め決められた基準エリアは、フレームの上縁および左縁の領域であり、前記２つの隣接ブロックは前記第２入力ピクセル・ブロックの上側ブロックおよび左側ブロックであることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディジタル画像信号処理の分野に関し、より具体的には複数の動き依存予測(motion dependent prediction) からビデオ情報を圧縮する方法および装置に関する。
【０００２】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第０８／５１９，４３８号（１９９５年８月２５日出願）の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【０００３】
【従来の技術】
ビデオ情報伝送システムは伝送されるビデオ・データ量を削減するためにビデオ圧縮を使用している。これにより、利用する伝送バンド幅の低減、伝送時間の短縮、および記憶容量の節減が可能になっている。テレビジョン信号に含まれているような、ビデオ情報を圧縮するために一般に使用されている手法では、ピクチャ・シーケンスの連続するピクチャに出現する冗長時間的ピクチャ情報(redundant temporal picture information)を低減している。冗長時間的ピクチャ情報とは、スタチック（静的）ピクチャ・セグメントと関連がある情報、つまり、連続するピクチャ間で変位を受けるだけのピクチャ・セグメントと関連がある情報のことである。これらのピクチャ・セグメントは、冗長時間的ピクチャ情報の多くが伝送ビデオ・データから除去されるような形で識別され、符号化（コード化）されている。伝送ビデオ・データは、他の伝送ピクチャからピクチャを再構築し、符号化されたピクチャ・セグメントを受信装置で挿入することを可能にするように、適当な方法で符号化されている。この時間的情報圧縮手法によれば、あるピクチャの構成ブロックが他の先行または後続ピクチャに対してどれだけの動き（モーション）があったかの推定(estimate)を行う必要がある。この動き推定(motion estimate) は動きベクトル(motion vector) と呼ばれ、ピクチャが過去または将来のピクチャから予測できるようにビデオ・データを符号化するために使用されている。このプロセスは動き補償予測(motion compensated prediction) と呼ばれ、広く知られている。
【０００４】
動き補償予測を使用するビデオ圧縮標準の１つとして、ＭＰＥＧ（Moving Pictures Expert Group：動画像圧縮方式の標準化作業グループ）画像符号化標準(ISO/IEC 13818-2, １９９４年５月１０日）が広く利用されている。このフォーマットで符号化されたビデオ・データは、符号化データの連続するピクチャ、つまり、フレームの巡回シーケンス(cyclic sequence) からなっている。ある種のピクチャ（Ｉピクチャ）はフレーム内符号化(intra-coded) されている。すなわち、そのピクチャ自身の内部の情報からのみ符号化されている。他のピクチャ（Ｐピクチャ）は順方向予測で符号化されている。すなわち、過去のＩピクチャまたはＰピクチャからの動き補償予測を使用して符号化されている。残りのピクチャ（Ｂピクチャ）は順方向予測と逆方向予測の両方で符号化されている。すなわち、過去または将来のＩピクチャまたはＰピクチャからの動き補償予測を使用して符号化されている。従って、ＰピクチャとＢピクチャは予測符号化されるので、ＰまたはＢピクチャから画像再現を行うには、先行の復号化(decoded) ＩまたはＰピクチャから導き出された情報が必要になる。これに対して、Ｉピクチャは予測符号化されないので、画像は単一のＩピクチャ、つまり、フレームから再現することが可能である。
【０００５】
【発明が解決しようとする課題】
圧縮され、予測符号化されたＭＰＥＧ  ＰピクチャとＢピクチャを形成するためには、多数の動きベクトルを計算しなければならない。このことが問題となっているのは、動きベクトル計算が時間を消費する、計算集中型タスクであるためである。その結果として、伝送する圧縮ビデオ・データを得るために必要な動きベクトル計算を実行するには、高価で、複雑なハードウェアが必要になる。
【０００６】
【課題を解決するための手段】
本発明の原理に従う、開示されたビデオ信号圧縮システムによれば、動きベクトルに基づく予測は、低減化された動きベクトル計算回数を使用して行われる。また、開示されたビデオ信号圧縮システムによれば、１つまたは２つ以上の動きベクトルが計算され、必要とされる動きベクトル値の残余はこれらの初期計算値から外挿(extraporate) される。外挿された動きベクトルは初期計算動きベクトル値を時間的にスケーリングすることにより計算される。
【０００７】
画像を表すＭＰＥＧ準拠のビデオ入力データは入力ピクセル・ブロックに変換される。最良予測ブロックおよび関連の動きベクトルは画像のあらかじめ決めたエリアに置かれている入力ピクセル・ブロックに対して決定（判断）される。さらに、候補予測ブロックは他の入力ピクセル・ブロックに対して決定（判断）される。これは、以前に決定（判断）された関連動きベクトルから動きベクトルを外挿し、外挿された動きベクトルを使用して候補予測ブロックを識別することにより行われる。候補予測ブロックは相互に比較され、これらのブロックのうち、圧縮データレート要件に一致するものが選択される。選択されたブロックは圧縮されて、出力ブロックが得られ、この出力ブロックはデータパケットにフォーマッティングされて圧縮ビデオ出力データが得られる。
【０００８】
本発明の特徴によれば、候補ＭＰＥＧフィールド予測ブロックは、ブロック一致サーチ(block match search)を使用して候補フィールド予測ブロックおよび関連の動きベクトルを識別することによって決定（判断）される。他の動きベクトルは関連の動きベクトルから外挿され、他の候補フィールド予測ブロックを識別するために使用される。
【０００９】
本発明の別の特徴によれば、圧縮されたビデオ出力ブロックを動きベクトル外挿法を使用して出力端子から得るための装置が開示されている。
【００１０】
【発明の実施の形態】
ＭＰＥＧ標準によれば、ＰピクチャとＢピクチャを異なる方法で予測符号化することが可能になっている。これらの方法の各々によれば、動きベクトルの計算が必要である。予測符号化されるピクチャ（動画などの画像）はいくつかのブロック（現ブロック(Current blocks)）に分割され、これらのブロックは、計算された動きベクトルを使用してブロック単位(block by block basis)で予測されている。ＭＰＥＧ標準では、これらのブロックはマクロブロック(macroblocks) と名づけられ、そのサイズは１６×１６画素（ピクセル）と規定されている。いくつかの候補予測マクロブロック(candidate predicted macroblock)は、例えば、フレーム・ベース、フィールド・ベースおよび「デュアルプライム(dual prime)」の符号化を使用して、現在予測しようとしている各マクロブロックごとに作ることが可能になっている。特定の現マクロブロック（ＣＭ）の最良予測はこれらの候補予測マクロブロックから選択されて、圧縮され伝送されるようになっている。
【００１１】
ＭＰＥＧ標準のセクション７．６．３．３および表７−９，表７−１０には、候補Ｐピクチャ・マクロブロック予測を作るために計算できる５個の異なる動きベクトルが定義されており、候補Ｂピクチャ・マクロブロック予測の場合は、１０個の異なる動きベクトルが定義されている（ＭＰＥＧ画像符号化標準、ISO/IEC 13818-2 、１９９４年５月１０日）。Ｂピクチャ予測では、５個のＰピクチャ予測動きベクトルは順方向予測だけではなく、逆方向予測にも適用されている。本発明の原理は、以下で説明するように、１０個のＢピクチャ動きベクトルに適用可能であるが、説明を簡単にするために、以下ではＰピクチャ予測だけについて説明する。
【００１２】
５個のＰピクチャ動きベクトルは以下に示すとおりである。フィールド動きベクトルＭＶ２〜ＭＶ５のフィールド関係図は図１に示されている。動きベクトルＭＶ２とＭＶ３は異なるピクチャ・フレームの同一フィールド間のベクトルであるので、同一フィールド・パリティ（Same Field Parity - ＳＦＰ）をもち、各ベクトルは同一フィールド・パリティ動きベクトル (Same Field Parity Motion Vector - ＳＦＰＭＶ）と名づけられている。動きベクトルＭＶ４とＭＶ５は図１に示すように、異なるピクチャ・フレームの異なるフィールド間のベクトルであるので、オポジット・フィールド・パリティ (Opposite Field Parity - ＯＦＰ）をもち、各ベクトルはオポジット・フィールド・パリティ動きベクトル (Opposite Field Parity Motion Vector - ＯＦＰＭＶ）と名づけられている。
【００１３】
ＭＶ１  −  現在符号化しようとしているピクチャからストア・ピクチャ(stored picture)までのフレーム動きベクトル。
【００１４】
ＭＶ２  −  現在符号化しようとしているピクチャのフィールド１（ｆ１）からストア・ピクチャのフィールド１（ｆ１）までの動きベクトル（ＳＦＰＭＶ）。
【００１５】
ＭＶ３  −  現在符号化しようとしているピクチャのフィールド２（ｆ２）からストア・ピクチャのフィールド２（ｆ２）までの動きベクトル（ＳＦＰＭＶ）。
【００１６】
ＭＶ４  −  現在符号化しようとしているピクチャのフィールド２（ｆ２）からストア・ピクチャのフィールド１（ｆ１）までの動きベクトル（ＯＦＰＭＶ）。
【００１７】
ＭＶ５  −  現在符号化しようとしているピクチャのフィールド１（ｆ１）からストア・ピクチャのフィールド２（ｆ２）までの動きベクトル（ＯＦＰＭＶ）。
【００１８】
図５と図６は、フレームの各現マクロブロックごとに最良予測マクロブロックを得るための、本発明による方法を示している。この方法によれば、低減化された計算回数を使用して必要とする動きベクトルが得られるので、単純化され、低コスト化されたハードウェアを実現して使用することが可能である。この結果得られる利点は、例えば、ビデオ・カメラのように、コストとサイズに制約があるビデオ符号化の応用分野において特に価値がある。具体的には、図５と図６の方法によれば、候補予測マクロブロックを識別して、その関連ＭＶ１〜ＭＶ５動きベクトルと平均二乗誤差(Mean Squared Error - ＭＳＥ）値を求めるときの計算回数が低減化されている。候補予測ブロックのＭＳＥ値とは、候補予測ブロックのピクセル値と、それが予想する現マクロブロックの対応するピクセル値との間の、計算で求めた平均二乗誤差である。図５と図６の方法はＭＰＥＧ符号化システムと関連づけて説明されているが、本発明の原理は他のビデオ圧縮システムにも応用可能である。
【００１９】
概要を説明すると、ステップ１０でスタートしたあとに続いて、図５のステップ１５において、最良予測ブロックおよび関連の動きベクトルＭＶ１〜ＭＶ５は上縁と左縁の画像マクロブロックについて判断される。次に、ステップ２３〜７０において、２つの最良フィールド予測ブロックおよび関連のフィールド動きベクトルは、符号化しようとしているフレームのフィールド１とフィールド２の残余の現マクロブロックについて判断される。これは本発明による方法を使用して、低減化された計算回数で行われる。ステップ８０において、フレーム予測マクロブロックおよび関連のフレーム動きベクトルＭＶ１も、残余の画像現マクロブロックについて判断される。これは本発明による方法を使用して、低減化された計算回数で行われる。最後に、ステップ８５において、フレームおよびフィールド予測マクロブロックが相互に比較され、残余の画像マクロブロックの各々について、伝送システムのデータレート制約条件に一致する最良予測ブロックがＭＳＥに基づいて選択される。選択された最良予測マクロブロックは、それがフィールド予測マクロブロックである場合も、フレーム予測マクロブロックである場合も、最終的に圧縮されて、伝送されるマクロブロックである。
【００２０】
図５と図６を詳しく検討すると、予測しようとしているフレームの現マクロブロックは、ステップ１０でスタートしたあとに続いて、図５のステップ１５で入力される。ステップ１５において、最良予測マクロブロックは、フレームのあらかじめ決めた「基準エリア(reference area)」に置かれた各現マクロブロックについて判断される。好適実施例では、図２に示すように、フレームの上縁と左縁からなる、基準エリアに置かれた現マクロブロックが判断される。各最良予測マクロブロックは完全「ブロック一致サーチ」を実行することにより得られる。この種の完全「ブロック一致サーチ」は、現マクロブロックに「最良一致(best match)」しているサーチ・マクロブロックを、ストア画像の中から識別する方法として公知である。この「最良一致」サーチ・マクロブロックは、対応する現マクロブロックの予測マクロブロックとして選択される。
【００２１】
ブロック一致サーチを行うとき、現マクロブロックは予測画像のある領域に置かれたすべてのサーチ・マクロブロックと比較される。マクロブロックは、各サーチ・マクロブロックと現マクロブロックとの間のＭＳＥを、２マクロブロック間の相関(correlation) を示すものとして計算することにより比較される。最低ＭＳＥ値をもつ「最良一致ブロック(best match block)」が予測マクロブロックとして選択される。ＭＳＥに代わる方法として、平均絶対誤差 (Mean Absolute Error - ＭＡＥ）などの他の比較基準をブロック一致サーチまたは他のタイプの選択プロセスで使用して、相関を示すことも可能である。
【００２２】
ステップ１５において、上縁と左縁の現マクロブロックの動きベクトルＭＶ１〜ＭＶ５は、ブロック一致サーチ・プロセスを使用して判断される。各現マクロブロックの動きベクトルは、サーチ・プロセスで明らかにされた、現マクロブロックおよび対応する予測マクロブロックとの間のベクトル移動量(vector displacement) によって求められる。ここで説明しているブロック一致サーチ・プロセスは公知であるが、例えば、SGS-Thomson STI3220 デバイスのような、市販されている動き予測集積回路を使用して実現することが可能である。
【００２３】
次に、残余の画像現マクロブロックの各々の最良予測マクロブロックおよび関連の動きベクトルが判断される。ステップ１５では、現マクロブロックは、予測しようとしているフレーム１のフィールド１の上左から下右へ進んで行き、そのフレームのフィールド２がそのあとに続くように、順番にスキャンされるようになっている。このようにすると、現マクロブロックの上側ブロック（ＴＢ）とその左側ブロック（ＬＢ）の最良予測がすでに判断されていることが保証される。現マクロブロックは上記要件を満たす順序になっていれば、どのような順序でスキャンすることも可能である。
【００２４】
本発明による低減化された計算回数を使用して行われるフィールド予測マクロブロックの判断はステップ２０から開始される。ステップ２０では、ブロック一致サーチが実行され、動きベクトルＭＶ２〜ＭＶ５がステップ２３から７０までの該当フローチャート経路を実行することによって計算される。該当フローチャート経路がそのあとに続くステップ２３の実行は、最初に現マクロブロックのフィールド１について行われ、次にフィールド２について行われる。
【００２５】
図５のステップ２３において、現フィールド (Current Field - ＣＦ）における現マクロブロックのＬＢとＴＢの最良予測マクロブロックの動きベクトル・フィールド・パリティが検査される。例えば、ＴＢとＴＢの最良予測マクロブロックが共に、それぞれのピクチャのフィールド１（ｆ１）またはフィールド２（ｆ２）内にあれば、ＴＢは、同一フィールド・パリティ動きベクトル (Same Field Parity Motion Vector - ＳＦＰＭＶ）をもつ同一フィールド・パリティ（ＳＦＰ）マクロブロックである。同様に、ＬＢとＬＢの最良予測マクロブロックがそれぞれのピクチャの異なるフィールド内にあれば、ＬＢはオポジット・フィールド・パリティ動きベクトル (Opposite Field Parity Motion Vector - ＯＦＰＭＶ）をもつオポジット・フィールド・パリティ（ＯＦＰ）になっている。図３は、ＴＢとＬＢが共にＳＦＰであるときの条件、つまり、共に現マクロブロックと同じフィールド・パリティをもっているときの条件を示す図である。図４は、ＴＢがＳＦＰマクロブロックであり、ＬＢがＯＦＰマクロブロックであるときの条件、つまり、ＴＢとＬＢが混合フィールド・パリティであり、混合フィールド・パリティ動きベクトル(Mixed Field Parity Motion Vector - ＭＦＰＭＶ）をもっているときの条件を示す図である。従って、ステップ２３でのＴＢとＬＢのパリティ判断に応じて、ＴＢとＬＢは共に同一フィールド・パリティ動きベクトル（ＳＦＰＭＶ）をもつか、共にオポジット・フィールド・パリティ動きベクトル（ＯＦＰＭＶ）をもつか、あるいは混合フィールド・パリティ動きベクトル（ＭＦＰＭＶ）をもつか、のいずれかである。ＴＢとＬＢがＳＦＰＭＶタイプであれば、ステップ２５，３０，３２，３５および３７が実行される。同様に、ＴＢとＬＢがＯＦＰＭＶタイプであれば、ステップ４５，５０，５２，５５および５７が実行される。ＴＢとＬＢがＭＦＰＭＶタイプであれば、ステップ６５と７０が実行される。ステップ７０では、最低ＭＳＥ値をもつＴＢとＬＢマクロブロックの動きベクトル・フィールド・パリティに応じて、ＳＦＰＭＶ（ステップ２５〜３７）経路またはＯＦＰＭＶ（ステップ４５〜５７）経路のプロセスが実行される。
【００２６】
図５と図６のフローチャートは、ステップ２３のあとに続くステップ２５〜７０が３つの経路に分割されている。最初の経路（ステップ２５〜３７）はＴＢとＬＢ最良予測マクロブロックが共にＳＦＰＭＶタイプである場合に実行される。そのあと、ステップ２５の条件が満たされると、フローチャートの実行はステップ３０から続行される。ステップ３０において、前述したように、公知のブロック一致サーチが実行され、現フィールド内の現マクロブロックの、ストア画像内の最良一致マクロブロックが平均二乗誤差（ＭＳＥ）に基づいて識別される。このサーチは、予測しようとしているフレーム内の現マクロブロック・フィールドのそれと同じである、ストア画像の相対フィールド（ｆ１またはｆ２）で行われる。そのあと、同一フィールド・パリティ動きベクトル（ＳＦＰＭＶ）は、現マクロブロックと、ストア画像内の最良一致マクロブロックとの間のベクトル移動量から計算される。
【００２７】
スケール係数(scale factor)Ｋは、ステップ３５で実行される動きベクトルの予測を最適化するようにステップ３２で選択される。ステップ３２において、スケール係数Ｋはステップ３０の計算された同一フィールド・パリティ動きベクトル（ＳＦＰＭＶ）を線形的にスケーリングして、オポジット・フィールド・パリティ動きベクトル（ＯＦＰＭＶ）の推定値が得られるように選択される。ＳＦＰＭＶは、ＳＦＰＶＭに関連する現マクロブロックから予測マクロブロックまでの経過時間と、推定されたＯＦＰＭＶに関連する現マクロブロックから予測マクロブロックまでの経過時間の差に基づいて線形的にスケーリングされる。例えば、図７は、２つのケースにおいてＯＦＰＭＶを予測するときのＫ値がどのように求められるかを示している。ケース１では、マクロブロック中心点Ａ（フレーム２、フィールド１）とＢ（フレーム１、フィールド１）間の計算されたＳＦＰＭＶ１については、Ｋ値は．５と計算され、マクロブロック中心点ＡとＢ１（フレーム１、フィールド２）間のＯＦＰＭＶ1 は．５＊ＳＦＰＭＶ１と推定される。これは、１次数の近似値になるように、ＡからＢ１までの時間（Ｔ）がＡからＢまでの時間（２Ｔ）の．５であるためである。同様に、ケース２では、マクロブロック中心点Ｃ（フレーム２、フィールド２）とＤ（フレーム１、フィールド２）の間のＳＦＰＭＶ２については、Ｋ値は１．５と計算され、マクロブロック中心点ＣとＤ１（フレーム２、フィールド２）の間のＯＦＰＭＶ２は１．５＊ＳＦＰＭＶ２と推定される。これは、１次数の近似値になるように、ＣからＤ１までの時間（３Ｔ）がＣからＤまでの時間（２Ｔ）の１．５であるためである。Ｔは、これらの例における連続フィールド間の時間期間である。類似の時間的スケーリング動きベクトル推定は「デュアルプライム(Dual prime)」タイプの予測で適用されている（セクション7.6.3.6 ＭＰＥＧ画像符号化標準、ISO/IEC 13818-2 、１９９４年５月１０日）。
【００２８】
好適実施例では、１次数の線形スケーリングが採用されているが、別のスケーリング手法を採用することも可能である。前述したスケーリング手法は非連続画像間、つまり、例えば、可変時間期間が分離している画像間の動きベクトル推定を包含するように容易に拡張することが可能である。また、スケーリングは、ＭＰＥＧ「デュアルプライム」タイプの予測で使用されているような、異なるパリティのフィールド・ライン間の垂直シフトを補償することも可能である。本発明は、２つのインタレース・フィールド(interlaced field)からなる画像と関連づけて説明されているが、本発明の原理と動きベクトル推定プロセスは、ノンインタレース（順次走査型(progressive-scan type) ）ピクチャ・シーケンスからなる画像シーケンスに適用することも可能である。このようなシーケンスでは、シーケンス内の各ピクチャはフレームと考えることができる。
【００２９】
ステップ３５（図５と図６）において、ステップ３２で求めたＫ値にステップ３０で求めたＳＦＰＭＶをかけて、上記のケース１と２に例示するように推定ＯＦＰＭＶが得られる。フィールド予測マクロブロックはストア画像の中で、この初期推定ＯＦＰＭＶを使用して識別される。この初期推定ＯＦＰＭＶは、識別されたマクロブロック中心を取り巻く領域において（ＯＦＰＭＶ）動きベクトルを乱すこと(perturbing)によってさらに最適化されて、追加のローカル（局所）予測マクロブロックが求められる。最良フィールド予測マクロブロックと最適推定ＯＦＰＭＶは、これらのローカル予測ブロックの関連ＭＳＥ値を計算すると、識別することができる。最低ＭＳＥ値をもつローカル・マクロブロックは最適ローカル・マクロブロックとして選択され、その関連ＯＦＰＭＶは最適ＯＦＰＭＶ値として選択される。
【００３０】
図８は、関連の初期識別マクロブロックの中心ピクセル（Ｗ）を取り巻く初期推定ＯＦＰＭＶの乱れ(perturbation)を示す図である。乱れたＯＦＰＭＶのサーチは中心点が‘Ｚ’で示された８ピクセルをもつ８マクロブロックについて行われる。Ｗを取り巻くサーチ領域は、システムの計算制約条件に合わせて必要に応じて拡大することも、縮小することも可能である。乱れサーチを行うかどうかの判断は、例えば、ＯＦＰＭＶ  ＭＳＥ値の大きさといった、推定品質基準に基づいて行うことができる。乱れサーチ領域のサイズは、上記品質基準に応じて同じように変えることが可能である。現フィールド内の現マクロブロックの最良予測マクロブロックは、フローチャート（図６）のステップ３７で最低ＭＳＥ値をもつＳＦＰＭＶまたはＯＦＰＭＶ識別マクロブロックとして選択される。
【００３１】
ステップ２３のあとに続く、図５〜図６のフローチャートの第２経路（ステップ４５〜５７からなる）は、ＴＢとＬＢ最良予測マクロブロックが共にＯＦＰＭＶタイプであるときに実行される。ステップ４５の条件が満たされていれば、ステップ５０〜５７が実行される。ステップ４５〜５７は、ステップ５０でＯＦＰＭＶが計算されることを除けば、ステップ２５〜３７と同じである。これは、ブロック一致サーチを実行して現マクロブロックが置かれているフィールドと反対側の、ストア画像のフィールド内の最良一致マクロブロックを識別することにより行われる。次に、スケール係数Ｋがステップ５２で求められ、ステップ５５で行われる、ＯＦＰＭＶからのＳＦＰＭＶの推定を最適化する。スケール係数Ｋは、ＯＦＰＭＶとＳＰＦＭＶ現マクロブロックと予測マクロブロック間の経過時間の差に基づいて、ステップ３２で説明した線形スケーリング手法によって求められる。ステップ５５において、ストア画像内の最適化フィールド予測マクロブロックおよび関連の最適化ＳＦＰＭＶ予測とＭＳＥ値は、ステップ３５に関連して説明した乱れサーチ手法を使用して判断される。ステップ５７では、現フィールド内の現マクロブロックの最良予測マクロブロックは、最低ＭＳＥ値をもつＳＦＰＭＶまたはＯＦＰＭＶ識別マクロブロックとして選択される。
【００３２】
ステップ２３のあとに続く、図５〜図６のフローチャートの第３経路（ステップ６５と７０からなる）は、ＴＢとＬＢ最良予測マクロブロックがＭＦＰＭＶタイプであるときに実行される。ステップ６５の条件が満たされていれば、ステップ７０が実行される。ステップ７０において、ＴＢとＬＢ最良予測マクロブロックのＭＳＥ値が比較される。最低ＭＳＥ値をもつＴＢまたはＬＢ最良予測マクロブロックのフィールド・パリティ・タイプ（ＳＦＰＭＶまたはＯＦＰＭＶ）が判断される。最低ＭＳＥ値をもつＴＢまたはＬＢマクロブロックがＳＦＰＭＶタイプであれば、ＳＦＰＭＶ経路（ステップ３０〜３７）が実行される。最低ＭＳＥ値をもつＴＢまたはＬＢマクロブロックがＯＦＰＭＶタイプであれば、ＯＦＰＭＶ経路（ステップ５０〜５７）が実行される。例えば、ＴＢとＬＢ最良予測ブロックのＭＳＥ値を比較したとき、ＬＢ予測マクロブロックが最低ＭＳＥ値をもっていて、ＯＦＰＭＶタイプであれば、ＯＦＰＭＶ経路が実行される。
【００３３】
ステップ２３〜７０で詳しく説明したフィールド予測プロセスは、現在予測しようとしているフレームの次のフィールドについて繰り返される。このようにして、最良予測マクロブロックおよび関連の動きベクトルは、予測しようとしているフレームのフィールド１とフィールド２の両方の各マクロブロックについて得られることになる。
【００３４】
ステップ８０において、フレーム予測マクロブロックおよび関連フレーム動きベクトルＭＶ１が残りの現マクロブロックについて判断される。これは、図９のフローチャートに詳しく説明されている方法を使用して、本発明による低減化された計算回数で行われる。
【００３５】
ステップ１００でのスタートのあとに続く図９のステップ１０５において、現在符号化しようとしているフレームのフィールド１のＳＦＰＭＶ（ＳＦＰＭＶ−ｆ１）（これはステップ３７または５７で判断されたもの）がフレーム予測のために使用される。ステップ１０５において、このＳＦＰＭＶ−ｆ１動きベクトルはフレーム動きベクトルＭＶ１として使用され、予測しようとしている現マクロブロックのフレーム予測マクロブロックがストア画像の中から識別される。ステップ１１０において、ベクトルＳＦＰＭＶ−ｆ１で識別されたフレーム予測マクロブロックを取り巻くストア画像のフィールド１でローカル・サーチが行われる。これが行われるのは、初期ＳＦＰＭＶ−ｆ１予測を最適化するためである。このローカル・サーチは、ステップ３５と５５（図５）の乱れサーチに関して上述したのと同じ方法で行われる。つまり、ＳＦＰＭＶ−ｆ１識別マクロブロックの中心ピクセルを取り巻く中央ピクセルをもつ８マクロブロックのＭＳＥ値が計算される（図９のステップ１１０）。ステップ 1１５において、８マクロブロックのＭＳＥ値が比較され、最低ＭＳＥ値をもつマクロブロックが第１フレーム予測マクロブロックとして選択される。同様に、ステップ１２０において、ストア画像のフィールド２内のＳＦＰＭＶ−ｆ１識別マクロブロックの中心ピクセルを取り巻く中央ピクセルをもつ８マクロブロックのＭＳＥ値が計算される。ステップ１２５において、これらの８マクロブロックのＭＳＥ値が比較され、最低ＭＳＥ値をもつマクロブロックが第２フレーム予測マクロブロックとして選択される。最低ＭＳＥ値をもつ第１または第２フレーム予測マクロブロックはフレーム予測マクロブロック（ＭＶ１−ｆ１）として選択され、その関連動きベクトルはＭＶ１−ｆ１動きベクトルとして選択される（ステップ１２５）。
【００３６】
ステップ１０５〜１２５は基本的にステップ１３０〜１５０で繰り返されて、フィールド２のフレーム予測マクロブロック（ＭＶ１−ｆ２）および関連の動きベクトル（ＭＶ１−ｆ２）が判断される。ステップ１３０において、以前に判断された（図６のステップ３７または５７で）ＳＦＰＭＶ−ｆ２動きベクトルはフレーム動きベクトルＭＶ１として使用され、予測しようとしている現マクロブロックのフレーム予測マクロブロックがストア画像の中から識別される。ステップ１３５において、ベクトルＳＦＰＭＶ−ｆ２で識別されたフレーム予測マクロブロックを取り巻くストア画像のフィールド１でローカル・サーチが行われる。ＳＦＰＭＶ−ｆ２識別マクロブロックの中心ピクセルを取り巻く中央ピクセルをもつ８マクロブロックのＭＳＥ値がステップ１３５において計算される。ステップ１４０において、これらの８マクロブロックのＭＳＥ値が比較されて、最低ＭＳＥ値をもつマクロブロックが第３フレーム予測マクロブロックとして選択される。ストア画像のフィールド２内のＳＦＰＭＶ−ｆ２識別マクロブロックの中心ピクセルを取り巻く中央ピクセルをもつ８マクロブロックのＭＳＥ値も、同じようにステップ１４５で計算される。ステップ１５０において、これらの８マクロブロックのＭＳＥ値が比較され、最低ＭＳＥ値をもつマクロブロックが第４フレーム予測マクロブロックとして選択される。さらに、最低ＭＳＥ値をもつ第３または第４フレーム予測マクロブロックはフレーム予測マクロブロック（ＭＶ１−ｆ２）として選択され、その関連動きベクトルはＭＶ１−ｆ２動きベクトルとして選択される（ステップ１５０）。次に、ステップ１５５において、フィールド１とフィールド２を結合した最低ＭＳＥ値をもつＭＶ１−ｆ１またはＭＶ１−ｆ２マクロブロックのどちらかが最良フレーム予測マクロブロックとして選択される。関連ＭＶ１−ｆ１またはＭＶ１−ｆ２ベクトルは関連ＭＶ１フレーム予測動きベクトルである。以上で、図９のフレーム予測フローチャートは完了し、ステップ１６０で終了する。
【００３７】
図９のフローチャートが完了すると（図６のステップ８０）、図６のステップ８５から実行が再開される。ステップ８５において、現マクロブロックの最良フレームと最良フィールドの予測マクロブロックがＭＳＥに基づいて比較される。選択判断がデータレート制御要件の制約を受けていなければ、フィールド１とフィールド２を結合した最低ＭＳＥ値をもつ最良フレームまたは最良フィールド予測マクロブロックのどちらかが選択されて、伝送される。しかしながら、データレート制御要件がさらなるデータ圧縮が必要であることを示していれば、許容データレート制限に合致する最良予測マクロブロックが選択されて、伝送される。例えば、高圧縮されたフレーム予測マクロブロックは、高圧縮が必要とされるようなフィールド予測マクロブロックの代わりに伝送することが可能である。伝送すべきマクロブロックがステップ８５で選択されると、圧縮のための最良予測マクロブロックの判断は完了し、ステップ９５で終了する。
【００３８】
図５と図６には、最良予測マクロブロックを候補フィールドまたはフレーム予測ブロックから選択する方法が示されているが、他のタイプの予測を使用して別の候補ブロックを与えることも可能である。例えば、「デュアルプライム」予測を使用して、ステップ８０（図６）のフレーム予測の直前または直後に追加の候補マクロブロックを与えることが可能である。この場合には、ステップ８５において、最良予測ブロックは前述したフィールドおよびフレーム候補からではなく、フレーム、フィールドおよびデュアルプライム予測候補から選択される。以上のほかに、本発明は図５と図６に示されているステップ実行順序に限定されない。各現マクロブロックの最良予測マクロブロックが得られる順序ならば、どのような順序でも採用することが可能である。
【００３９】
図１０は本発明の原理を利用するのに適したＭＰＥＧ準拠の圧縮装置を示す図である。図５と図６の方法は動きエスチメータ（motion estimator：動き推定器）８５と予測ユニット９５との組み合わせにより実現されている。以下、簡単に説明すると、ピクセル輝度(pixel luminance) 値の形態になったディジタル・ビデオ信号は、公知のようにコンバータ５７により現マクロブロックに変換され、符号化される。現マクロブロックはデータ圧縮器(data compressor) ６０に入力される。図１０のシステムは公知の環境で動作し、ユニット５７からの現マクロブロックの供給は、例えば、ユニット５７内の制御下に置かれたバッファによって制御されている。このようにしたのは、マクロブロック予測サイクルの完了と出力圧縮ブロックの作成を、各現マクロブロックごとに可能にするためである。圧縮器６０は、各現マクロブロックごとにフィールドとフレーム・マクロブロック予測を行い、その結果のマクロブロック予測を伸張（圧縮復元）形態で予測ユニット９５内のメモリ９１にストアしておく。これらの予測は「候補」予測となり、現マクロブロックの最良マクロブロック予測はその候補予測から選択される。予測ユニット９５内のセレクタ９７は伝送すべき最良予測マクロブロックを、メモリ９１にストアされたフィールドとフレーム候補予測から選択する。そのあと、この最良予測マクロブロックは、それが予測する対応する現マクロブロックから減算器(subtractor)６５によって減算される。減算器６５から得た減算結果はユニット７０によって圧縮され、伝送のための別の処理に供する出力データ(Output Data) が得られる。このプロセスは各現マクロブロックごとに繰り返される。
【００４０】
以下では、図１０に示す符号化(encoder：エンコーダ）装置の動作について詳しく説明するが、ここでは、圧縮器６０の動作はＩとＰピクチャ・マクロブロックの場合に限定して説明することにする。図１０に示す装置の動作原理はＢピクチャ・マクロブロックの動作にも簡単に応用可能である。はじめに、Ｉピクチャ予測はフレーム・ベースの予測であり、Ｉフレーム・マクロブロックは未変更のまま減算器６５から符号化ユニット７０に渡されるものと想定する。ユニット７０は、８×８ピクセルのブロックに対して離散コサイン変換（Discrete Cosine Transform - ＤＣＴ）を実行してＤＣＴ係数を生成するが、これは公知である。この係数はユニット７０で量子化(quantize)される。ユニット７０ではＤＣＴと量子化が行われるので、ＤＣＴ周波数係数の多くはゼロになっている。次に、ユニット７０は係数をランレングス(run-length)および統計的に符号化して、長いゼロの並びを生成し、生成される出力データを最小限にしている。その結果、ユニット７０は入力マクロブロック・データに含まれる空間的冗長を除去することによってＩフレーム・マクロブロックを圧縮する。このプロセスは各現マクロブロックごとに繰り返される。その結果として得られた、一連の圧縮Ｉフレーム・マクロブロックはフォーマッタ(formatter) １００によって処理され、ユニット７０からの圧縮マクロブロックは、識別情報と他の情報を収めているヘッダを含むデータパケット形式にされる。
【００４１】
ユニット７０からの圧縮Ｉフレーム・マクロブロックは伸張器(decompressor)７５にも渡され、そこでは、ユニット７０によって実行されたＤＣＴと量子化機能の逆（逆ＤＣＴと逆量子化）が行われる。ユニット７５の出力は圧縮器６０に入力されたＩフレーム・マクロブロックを再現したものである。伸張Ｉフレーム・マクロブロックは未変更のまま加算器(adder) ８０に渡され、後続のＰフレーム・マクロブロックの予測圧縮に備えてメモリ９０にストアされる。上述したＩフレーム・マクロブロック圧縮プロセスは、Ｉフレーム分のマクロブロックがメモリ９０にストアされるまで繰り返される。
【００４２】
Ｐフレーム予測の場合は、予測しようとしている入力Ｐフレーム現マクロブロックは動きエスチメータ８５に入力される。ユニット８５は現マクロブロックのフィールドおよびフレーム動きベクトルを、図５と図６に示す方法を使用して判断する。この目的のために、ＴＢとＬＢマクロブロックのフィールド・パリティ、つまり、これらがＳＦＰＭＶタイプであるか、ＯＦＰＭＶタイプであるかが、ＴＢとＬＢマクロブロックのＭＳＥ値と一緒に、図１０のユニット８５内のメモリ（明確化のために図示せず）にストアされる。符号化されるフレームの左縁と上縁のマクロブロックについても同じ情報がストアされる。ＭＳＥ値とフィールド・パリティはマクロブロック当たり４（またはそれ以下）バイト（８ビット）に十分に収まるので、必要な追加メモリは最小限になっている。必要メモリは現マクロブロックが予測されるときの順序を最適化すると、最小限にすることができる。
【００４３】
図５と図６のフローチャートは、ステップ８０までがユニット８５（図１０）によって実行されて、現マクロブロックの２つのフィールド予測マクロブロックと１つのフレーム予測マクロブロックの動きベクトルが得られる。図５と図６のフローチャートを実行するために、ユニット８５はストアされたＴＢとＬＢ情報を使用する。さらに、ユニット８５はストアされたフレームのマクロブロックをメモリ９０からアクセスして、必要なブロック一致サーチを実行する。ユニット８５は、現マクロブロックと図１０のメモリ９０内のストアされたマクロブロックとの間の既知時間的関係からＫ値（図５のステップ３２と５２）を判断する。計算されたＫ値はユニット８５によって使用されて、前述したように図５のステップ３５と５５の必要な動き推定が行われる。フローチャートの残りのステップは、図５と図６を参照して前述したようにこれらの手法を使用して実行されて、２つのフィールド予測マクロブロックと１つのフレーム予測マクロブロックの動きベクトルが得られる。
【００４４】
フローチャートのステップ８０（図５と図６）の実行の完了時にユニット８５から得られた、２フィールド予測マクロブロックとフレーム予測マクロブロックの動きベクトルは、予測ユニット９５内の抽出器(extractor) ９３によって使用される。抽出器９３はこれらの動きベクトルを使用して、２フィールド予測マクロブロックとフレーム予測マクロブロックを、メモリ９０にストアされたフレームから抽出する。これらのフィールドおよびフレーム予測マクロブロックは現マクロブロックに最も近似しているマクロブロックであり、抽出器９３によって候補予測マクロブロックとしてメモリ９１にストアされる。この実施例は、前述したように「デュアルプライム」予測などの他の予測を含むように容易に拡張することが可能である。そのような場合には、メモリ９１には、「デュアルプライム」予測候補マクロブロックが付加的にストアされることになる。
【００４５】
セレクタ９７（図１０）は図５と図６のフローチャートのステップ８５を実行して、候補予測の１つを最良マクロブロック予測として選択する。セレクタ９７は圧縮のための最良フィールドまたはフレーム予測マクロブロックをＭＳＥ値に基づいて選択し、許容伝送データレート制限に一致するものを選択する。減算器６５はセレクタ９７から出力された最良予測マクロブロックを、圧縮しようとする入力現Ｐフレーム・マクロブロックからピクセル単位(pixel by pixel basis)で減算する。減算器６５から出力された差分または残余はユニット７０によって圧縮され、Ｉフレーム・マクロブロック・データと同じように処理される。その結果の圧縮Ｐフレーム・マクロブロックはフォーマッタ１００によって処理され、ユニット７０からの一連の圧縮マクロブロックは識別ヘッダを含むデータパケット形態にされる。
【００４６】
ユニット７０からの圧縮Ｐフレーム・マクロブロックの余りは、Ｉフレーム・マクロブロックと同じようにユニット７５によって伸張（圧縮復元）されてから加算器８０に入力される。これと同時に、予測されるマクロブロックから減算器６５によって減算された最良予測マクロブロックは伸張マクロブロック残余に戻されるように加算される。これは、加算器９７が最良予測マクロブロック値を加算器８０の第２入力端に入力することによって行われ、データがピクセル単位で加算されてマクロブロックが復元される。この復元されたＰフレーム・マクロブロックは再構築されたピクチャの一部を形成し、後続のＰフレーム・マクロブロックの予測圧縮に備えてメモリ９０にストアされる。このプロセスは各現マクロブロックごとに繰り返される。
【００４７】
図１０の装置は他の方法で実現することが可能である。例えば、圧縮すべき最良予測マクロブロックを判断する図５と図６の方法は、好適実施例に示されているように機能ユニット８５と９５間に分散化するのではなく、圧縮器６０とのインタフェースをもつマイクロプロセッサなどの単一判断制御ユニットで実現することが可能である。さらに、圧縮器６０の他の公知構成や圧縮器６０の機能を実現する他の方法が知られている。例えば、現マクロブロックの予測は、シリアル予測方法によるのではなく、多重パラレル予測方法によって達成することが可能である。
【図面の簡単な説明】
【図１】同一フィールド・パリティ（ＳＦＰ）およびオポジット・フィールド・パリティ（ＯＦＰ）の動きベクトルに係わりをもつフィールド関係図である。
【図２】符号化しようとするピクチャの左縁と上縁のマクロブロックを示す図であって、これに対して必要とされるすべての動きベクトルが計算される図である。
【図３】符号化しようとするピクチャにおける現マクロブロック（ＣＭ）の上側ブロック（ＴＢ）と現マクロブロックの左側ブロック（ＬＢ）が同じフィールド・パリティであるときの条件を示す図である。
【図４】符号化しようとするピクチャにおける現マクロブロック（ＣＭ）の上側ブロック（ＴＢ）と現マクロブロックの左側ブロック（ＬＢ）が混合フィールド・パリティであるときの条件を示す図である。
【図５】圧縮を行うのに最良予測マクロブロックを、低減化された動きベクトル計算回数を使用して判断するときの方法の詳細を示す、本発明によるフローチャートである。
【図６】圧縮を行うのに最良予測マクロブロックを、低減化された動きベクトル計算回数を使用して判断するときの方法の詳細を示す、本発明によるフローチャートである。
【図７】図５と図６のフローチャートで使用されている動きベクトル・スケーリングを示す図である。
【図８】図５と図６のフローチャートにおいて推定動きベクトル値をリファインするために使用される乱れサーチ・プロセスを示す図である。
【図９】最良フレーム予測マクロブロックおよび関連の動きベクトル（ＭＶ１）を判断するときの、本発明によるフローチャートを示す図である。
【図１０】本発明の原理に従うＭＰＥＧ準拠の符号化装置を示す図である。
【符号の説明】
５７  コンバータ（変換器）
６０  データ圧縮器
６５  減算器
７０  符号化ユニット
７５  伸張（圧縮復元）器
８０  加算器
８５  動きエスチメータ（推定器）
９０  メモリ
９１  メモリ
９３  抽出器
９５  予測ユニット
９７  セレクタ
１００  フォーマッタ
【図１】
0004198206.tif 000002
【図２】
0004198206.tif 000003
【図３】
0004198206.tif 000004
【図４】
0004198206.tif 000005
【図５】
0004198206.tif 000006
【図６】
0004198206.tif 000007
【図７】
0004198206.tif 000008
【図８】
0004198206.tif 000009
【図９】
0004198206.tif 000010
【図１０】
0004198206.tif 000011