(57)【特許請求の範囲】
【請求項１】
ブロック基準符号化システム内でモーション推測を最適化するための方法であって、
第１のモーションベクトルと第１の残差を生成するために、アンカフレームに関して符号化されるマクロブロックのモーションを、輝度コンポーネントを使用して推測するステップと、
第２のモーションベクトルと第２の残差を生成するために、前記アンカフレームに関して符号化される前記マクロブロックのモーションを、第１の色度コンポーネントを使用して推測するステップと、
後続のモーション推測又はモーション符号化プロセスで使用するために、好ましいモーションベクトルとして、前記第１のモーションベクトルと前記第２のモーションベクトルのうち１つを選定するステップと、
を含み、
前記選定ステップが、
前記第１の残差を閾値レベルと比較することと、
前記第１の残差が前記閾値レベルより少ない場合に、前記第１のモーションベクトルを前記好ましいモーションベクトルとして選定することと、
前記第１のモーションベクトルが前記閾値レベルと等しいか又はそれを超える場合に、前記第１の残差を前記第２の残差と比較し、前記好ましいモーションベクトルとして、最小の残差に関連付けられたモーションベクトルを選定することと、
を含み、
前記好ましいモーションベクトルは、予測符号化モードにおいて、前記符号化されるマイクロブロックを符号化するのに利用される、方法。
【請求項２】
第３のモーションベクトル及び第３の残差を生成するために、前記アンカフレームに関して符号化される前記マクロブロックの前記モーションを、第２の色度コンポーネントを使用して推測するステップを更に含み、
前記選定ステップが、
前記第１の残差が前記閾値レベルと等しいか又はそれを超える場合に、前記第３の残差を前記第１の残差及び前記第２の残差と比較することと、
前記好ましいモーションベクトルとして、最小の残差に関連付けられたモーションベクトルを選定することと、
を更に含む、
請求項１記載の方法。
【請求項３】
ブロック基準符号化システムにおいてモーションを推測するための装置であって、
アンカフレーム及び符号化されるマクロブロックに関連付けられた輝度情報を受取るように結合され、第１のモーションベクトル及び関連付けられた第１の残差を生成するための第１のモーション推測器と、
前記アンカフレームと、符号化される前記マクロブロックに関連付けられた第１の色度情報とを受取るように結合され、第２のモーションベクトル及び関連付けられた第２の残差を生成するための第２のモーション推測器と、
前記第１及び第２のモーション推測器へ結合され、第１のモーションベクトルと第２のモーションベクトルとから好ましいモーションベクトルを選定して、出力へ結合するための選定器と、
を備え、
前記好ましいモーションベクトルは、前記第１の残差が閾値レベルより少ない場合に前記第１のモーションベクトルであり、前記第１の残差が前記閾値レベル以上である場合に、前記第１及び第２のモーションベクトルのうち最小の残差に関連付けられたモーションベクトルである、
装置。
【請求項４】
前記第１のモーションベクトルと、関連付けられた第１の残差のサンプリング密度とを表すレベルへ、前記第２のモーションベクトルと、関連つけられた第２の残差とをスケーリングするためのスケーラを更に備える、
請求項３記載の装置。
【請求項５】
符号化される前記マクロブロックと、前記アンカフレームに関連付けられた第２の色度情報とを受取るよう結合され、第３のモーションベクトルと、関連付けられた第３の残差とを生成するための第３のモーション推測器、を更に備え、
前記選定器は前記第３のモーション推測器へ更に結合され、
前記好ましいモーションベクトルは、前記第１の残差が前記閾値レベル以上である場合に、前記第１、第２、及び第３の残差のうち最小の残差に関連付けられたモーションベクトルである、
請求項３記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１９９７年９月２６日出願の米国仮特許出願第６０／０６０１１２号の利益を主張し、その全体を本明細書に援用する。
【０００２】
本発明は、動画像の符号化を最適化するための装置及びそれに伴う方法に関する。より詳細には、本発明は、ＭＰＥＧ類似のエンコーダにおいて、モーションを推測するために、輝度及び色度情報を適応して利用する方法と装置に関する。
発明の背景
動画専門家グループ(Moving Pictures Experts Group)（ＭＰＥＧ）は、符号化／復号化戦略のための標準を確立するために、ＩＳＯ／ＩＥＣ国際標準１１１７２及び１３８１８（一般に、それぞれＭＰＥＧ−１及びＭＰＥＧ−２フォーマットと称される）を創り上げた。これらのＭＰＥＧ標準は、ＭＰＥＧ準拠のビットストリームを生成するための一般的符号化の方法論とシンタクス（構文）を規定するが、デスクトップ・ビデオ・パブリッシング、テレビ会議システム、デジタル記録媒体、テレビジョン放送のような、複数の異なる用途やサービスに受け容れられるようにするために、多くのバリエーションが許容されている。関連するビデオ符号化標準は、「ＩＴＵ−Ｔ勧告Ｈ．２６３草案、低ビットレート通信のためのビデオ符号化」(Draft ITU-T Recommendation H.263、 Video Coding for Low Bitrate Communication) （１９９５年１２月）であり、これは、国際電気通信連合 (International Telecommunications Union) により公表された。上記標準はそれぞれ、全体を本明細書に援用する。
【０００３】
ＭＰＥＧ類似の符号化アルゴリズムは、圧縮される画像の推測を作り、圧縮される画像から、推測又は予測のピクセル値を減算することに依存する。推測が良好である場合、減算により、伝送されることになる残差は非常に少ないであろう。推測が、幾らかのピクセル、又は多くのピクセルに対してゼロに近くない場合、これらの差は、デコーダが画像を正しく再構築できるよう伝送される必要のある情報を表す。大きな予測差を引き起こす画像シーケンスの種類には、激しいモーション及び／又はシャープな細部が含まれる。
【０００４】
ＭＰＥＧ類似のビデオ符号化システムは、データ圧縮プロセスの一部としてモーション補償予測を使用する。従って、対象である現フレームにおけるマクロブロックは、前に伝送されたフレームでのマクロブロック化サイズの領域により予測される。モーション補償とは、基準フレームでのマクロブロック化サイズ領域の位置が局所モーション (local motion) に合せてオフセットされ得ることである。マクロブロックのオフセットはモーションベクトルとして知られている。
【０００５】
種々の標準は、エンコーダがどのようにしてモーションベクトルを決定すべきかを規定していない。従って、モーション推測とモーション補償のプロセスを実行させることがエンコーダ設計者の課題である。現在、モーション推測とモーション補償の実行は、入力ビデオ信号からの輝度情報を利用している。このことは、輝度（Ｙ）信号が色差信号（ＵとＶ）より帯域巾が広いので、より正確な輪郭 (edge) 情報を含み、良好なモーション推測を行えるということから、多分に便宜上及び実用上の事柄である。モーション推測は、ビデオ圧縮エンコーダの最も演算処理集約的な（従って、コストのかかる）部分であるため、輝度信号の単独使用は、そのようなエンコーダでの従来のモーション推測方法となる。
【０００６】
残念なことに、輝度信号モーション推測と補償を実行する圧縮エンコーダは、深いブラック、又は高度に飽和したレッド及びブルーのような低輝度エネルギの領域で、普通にはアーティファクト（人工物）を呈する。低輝度信号エネルギのこれらの例において、輝度信号を使用して演算されるモーションベクトル情報が不正確になる傾向がある。この不正確性の影響は、末端ユーザのデコーダ及びディスプレイ装置へ伝播し、「虫食い (wormy)」画像のような視覚上のアーティファクト (visual artifacts) を生成する、これは非常に苛立たしいことであろう。
【０００７】
従って、より徹底したモーション推測演算を遂行することにより、上記アーティファクトを排除する高品質な符号化を行う装置と方法に対するニーズが当該技術に存在する。
発明の概要
本発明は、ＭＰＥＧ類似の圧縮エンコーダにおいてモーション推測を最適化するように輝度と色度情報を適応して利用する方法及びそれに伴う装置である。本発明は、ビデオ信号内の輝度（Ｙ）及び色差（Ｕ，Ｖ）コンポーネントを調べて、ビデオ信号内のモーションを表すのに好ましいコンポーネントを識別し、好ましいコンポーネントをデコーダ内のモーション符号化回路へ供給することにより、ビデオ信号のモーション関連圧縮符号化を最適化する。
【０００８】
詳細には、本発明の一実施の形態は、ブロック基準符号化システム内でモーション推測を最適化するための方法であって、第１のモーションベクトルと第１の残差 (residual) を生成するためにアンカフレームに関して符号化されるマクロブロックのモーションを輝度コンポーネントを使用して推測するステップと、第２のモーションベクトルと第２の残差を生成するためにアンカフレームに関して符号化されるマクロブロックのモーションを第１の色度コンポーネントを使用して推測するステップと、後続のモーション推測又はモーション符号化プロセスで使用するために好ましいモーションベクトルを選定するステップと、を含む。
【０００９】
本発明の別の実施の形態は、ブロック基準符号化システムにおいてモーションを推測するための装置であって、符号化されるマクロブロックに関連付けられた輝度と色度情報を受取るよう結合され、重み付けされたマクロブロックコンポーネント信号を生成するための第１のコンポーネントウエイタ（重み付け器）と、アンカフレームに関連付けられた輝度と色度情報を受取るよう結合され、重み付けされたアンカフレームコンポーネント信号を生成するための第２のコンポーネントウエイタと、第１と第２のコンポーネントウエイタへ結合され、モーションベクトルと、関連付けられた残差とを生成するためのモーション推測器と、を備える。
【００１０】
本発明の教示は、添付図面に関連させて詳細な以下説明を熟慮することにより容易に理解されることができる。
【００１１】
理解を容易にするために、図で共通な同一構成要素を指示するために、可能な限り同一符号を使用した。
詳細な説明
本発明をＭＰＥＧ準拠のエンコーダに沿って説明するが、当業者には分かるであろうが、本発明は他の符号化／復号化標準に準拠する他のエンコーダに適応することができる。
【００１２】
図１は、本発明を取りこんだブロック基準符号化システム１００（詳細には、ＭＰＥＧエンコーダ）の高レベルブロック図を示す。ポート（出入口）１０２で、システムへの入力信号は、複数のブロックに仕切られた前処理画像であるとされ、ここで、ブロックは継続してシステムへ入力として供給される。ＭＰＥＧ標準では、これらのピクセルのブロックは、一般にマクロブロックとして知られ、例えば、４つの８ｘ８の輝度ブロックと２つの共存する８ｘ８の色度ブロックの集合から成る１６ｘ１６のピクセルブロックである。以下の開示は、ＭＰＥＧ標準の用語を使用する。しかし、マクロブロックという用語は、モーション補償の基本として使用されるピクセルのブロックのどのようなサイズをも記述することを意図すると理解されたい。
【００１３】
システム１００は、入力信号のモーションベクトルと、格納され再構築されたアンカフレームとから、一連の予測マクロブロック（Ｐ）を演算する。送信された出力信号の受信機が受信した信号を復号化するであろうことと同じく、各予測マクロブロックは、実施例では、ポート１０４での出力信号を復号化することにより生成される。減算器１０６は、経路１０７上で、入力マクロブロックから予測マクロブロックを減算することにより残差信号（この技術では、単に残差又は残差マクロブロックとも称する）を生成する。
【００１４】
予測マクロブロックが入力マクロブロックに実質上類似である場合、残差は比較的小さく、非常に少ないビットを使用して容易に符号化される。そのようなシナリオでは、マクロブロックは、モーション補償されたマクロブロック、即ち、モーションベクトルと関連付けられた残差、として符号化されるであろう。しかし、予測マクロブロックと入力マクロブロックとの間の差が大きな場合、残差は符号化するのが困難である。従って、モーション補償された残差マクロブロックを符号化することより、入力マクロブロックを直接符号化することにより、システムはより効率的に動作する。この選択は、符号化モードの選択として知られる。入力マクロブロック（Ｉ）を符号化することは、イントラ（内）符号化 (intra-coding) と称され、他方、残差を符号化することは、インタ（間）符号化 (inter-coding) と称される。この２つのモード間の選択は、イントラ−インタ−決定 (intra-inter-decision）（ＩＩＤ）として知られる。
【００１５】
ＩＩＤは、ＩＩＤ回路１１０により作られ、それが符号化モードスイッチ１０８を設定する。ＩＩＤは、普通には、最初に残差マクロブロックの分散 (variance）（Ｖａｒ Ｒ）及び入力マクロブロック（Ｖａｒ Ｉ）の分散を演算することにより演算される。符号化決定はこれらの値に基づく。この決定を行うのに使える幾つかの関数がある。例えば、最も簡単な関数を使用すると、Ｖａｒ ＲがＶａｒ Ｉより小さい場合、ＩＩＤはインタモードを選択する。逆に、Ｖａｒ ＩがＶａｒ Ｒより小さい場合、ＩＩＤはイントラモードを選択する。
【００１６】
選択されたブロックは、離散コサイン変換(discrete cosine transform）（ＤＣＴ）ブロック１１２で処理される。ＤＣＴは、ＤＣＴへの入力信号を代表する係数を生成する。量子化器 (quantizer) １１４は、係数を量子化し、ポート１０４で出力ブロックを生成する。動的レートコントローラ (dynamic rate controller) １１６は、係数を量子化するのに使用する量子化スケール（ステップサイズ）を制御する。オプションとして、レートコントローラ１１６は、システムにより符号化されるＤＣＴ係数の数も制御する。
【００１７】
動的レートコントローラ１１６の主たるタスクは、一定の出力ビットレートが伝送チャネルへ供給されるレートバッファの充満度合を管理することである。各画像及びシーケンス画像の内容に依存して、符号化レートが著しく変動しても、一定のビットレートを維持しなくてはならない。動的レートコントローラ１１６の別のタスクは、エンコーダにより生成されるビットストリームが、デコーダの入力バッファをオーバフロー、又はアンダフローさせないことを保証することである。オーバフローとアンダフローの制御は、エンコーダ内の仮想バッファを保守し監視することにより遂行される。この仮想バッファは、ビデオバッファ検証器（ＶＢＶ video buffering verifier）として知られる。デコーダの入力バッファの適切なビット制御を保証するために、エンコーダのレート制御プロセスは、各ピクチャに対して、及びまた、各ピクチャを構成するピクセルの各マクロブロックに対して、ビット割当て(bit quota)（本明細書では、ビット予算 (bit budget) とも称する）を確立する。それぞれのビット予算内にあるそれぞれのビット数を使用してブロック及び全体のピクチャを符号化することにより、ＶＢＶはオーバフロー又はアンダフローしない。ＶＢＶはデコーダの入力バッファの動作をそのまま映すので、ＶＢＶがアンダフロー又はオーバフローしない場合、デコーダの入力バッファはアンダフロー又はオーバフローしないであろう。
【００１８】
そのようなバッファ制御を遂行するために、レートコントローラは、現在のピクチャは、前のピクチャに幾らか似ているという、ビデオ符号化での普通の仮定をする。この仮定が正しい場合、ピクチャにおけるピクセルのブロックは、符号化技術によりモーション補償され、一旦補償されれば符号化するのに非常に少ないビットしか必要としない。ピクチャを符号化するのに必要とする実際のビット数が、ピクチャに割当てられた目標ビット数に近い限り、即ち、実際に使用されるビット数が、そのピクチャに対するビット割当て以内である限り、この方法は非常に良く動作する。
【００１９】
動的レートコントローラの方法と装置は、１９９６年２月２６日出願の米国特許出願第０８／６０６，６２２号、「ブロック基準ビデオ符号化システムでの動的符号化レート制御 (DYNAMIC CODING RATE CONTROL IN A BLOCK-BASED VIDEO CODING SYSYTEM)」、に開示されており、本明細書にその全体を援用する。上記の援用された出願で開示されたレート制御の方法と装置の特徴は、「シーンカット（場面終了） (scene-cuts)」を検出し、応答してレート制御プロセスを新規のシーン（場面）に関連付けられたマクロブロックをイントラ符号化することに変更する能力である。
【００２０】
残差を最も正確に演算するために、エンコーダは、復号化された画像へのアクセスを必要とする。そのようなアクセスを遂行するために、量子化器１１４の出力は、逆量子化器１１８、及び逆ＤＣＴ１２０両者を通過する。逆ＤＣＴの出力は、理想的にはＤＣＴ１１２への入力と同一である。インタモードでは、復号化されたマクロブロックは、逆ＤＣＴの出力と予測マクロブロックを加算することにより生成される。イントラモード中には、復号化されたマクロブロックは、単純に逆ＤＣＴの出力である。復号化されたマクロブロックは、次に、フレーム記憶装置１２４へ格納される。フレーム記憶装置は、画像情報の再構築されたフレーム全体を構成する複数のこれらの「再構築された」マクロブロックを蓄積する。モーションベクトル予測器１２６は、再構築されたフレームを、次に来る入力画像に対する予測マクロブロックを生成することに使用されるモーションベクトルのためのデータとして使用する。
【００２１】
モーションベクトルを生成するために、モーションベクトル予測器１２６は、３つの構成要素、つまり全ペルモーション推測器１２８、半ペル (half-pel) モーション推測器１３０、及びモーションモードブロック１３２を備える。全ペルモーション推測器１２８は、前の画像でのマクロブロックと現在の入力マクロブロックとの間の粗い一致を探る「粗」モーションベクトル生成器 ("coarse" motion vector generator) である。この粗い一致は、普通には、前画像と現在入力のマクロブロックの輝度情報コンポーネントに関して決定される。前の画像は、アンカ画像と称される。ＭＰＥＧ標準では、アンカ画像は、ＧＯＰ (Group of Pictures) として知られる画像連続内でのＩ又はＰフレームとして知られるものである。モーションベクトルは、２つのマクロブロック間に粗い一致が見出された場所の相対位置を表すベクトルである。粗モーションベクトル生成器１２８は、１つのピクチャ要素（pel）まで正確であるモーションベクトルを生成する。
【００２２】
全ペル (full-pel) モーション推測器１２８の正確さは、半ペルモーション推測器１３０において改善される。半ペルモーション推測器１３０は、全ペルモーションベクトル及びフレーム記憶装置１２４から再構築されたマクロブロックを使用してモーションベクトルを半ペル (half-pel) の正確さまで演算する。半ペルモーションベクトルは、次に、モーションモードブロック１３２へ送られる。フレームの種類（即ち、Ｉ、Ｐ、又は、Ｂ）に依存して、各マクロブロックに関して複数のモーションベクトルがあるかもしれない。Ｉ−フレーム又はイントラ符号化マクロブロックは予測を使用せず、Ｐ−フレーム又は前方予測マクロブロックは、それぞれ前方予測されたベクトルと残差に関連付けられ、他方、Ｂ−フレーム又は後方予測 (backward predicted) マクロブロックは前方と後方の両方向予測されたモーションベクトルと残差に関連付けられた。モードブロック１３２は、各入力マクロブロックに対してモーションを表すための最良のモーションベクトルを選択する。
【００２３】
全ペルモーション推測は、半ペルモーション推測より演算集約的なタスクである。その上、全ペルモーション推測は、普通にはそれぞれのマクロブロックの１つのコンポーネント、つまり輝度コンポーネントだけを使用して演算される。典型的には、全ペル推測器１２８は、符号化されるマクロブロック内の単一コンポーネント、即ち、輝度コンポーネントを利用する。同様に、半ペルモーション推測器１３０は、符号化されるマクロブロックの半ペルモーション推測を遂行するのに、普通には、同じコンポーネント、即ち輝度コンポーネントを利用する。
【００２４】
モーション推測とモーション補償の概念は、現在のピクチャが、先に発生したピクチャ（アンカ画像）からそれほど異なっていないという潜在的な仮定をベースにする。しかし、例えば、大きな場面（シーン）変更が起こる場合、アンカピクチャは、現在のピクチャから大きく異なる。従って、予測マクロブロックは非常に不正確であり、残差は大きい。そのような場合、ピクチャのほとんどの入力マクロブロックに対して、ＩＩＤは、残差を符号化する（インタモード）代りに符号化するために入力マクロブロック（イントラモード）を選択する。
【００２５】
マクロブロックを符号化するイントラモードは、普通には、マクロブロックのインタ符号化よりビット予算のより大きな部分を必要とするので、モーション推測回路又はソフトウエアは比較的少ない残差を有する正確に予測されたマクロブロックを提供することが望ましい。高品質エンコーダでは、例えば、ピクチャの一部分を選択的に強調するようビット予算を最適に利用することが重要である。例えば、好ましい色度情報、例えば、肌色の色度情報を含むマクロブロックへ符号化ビット配分を優先的に増加させるための方法は、本発明の同時出願である米国特許出願第０９／００１６１９号（弁護士登録番号１２６６１）に記載されており、その全体を本明細書に援用する。
【００２６】
本発明者が認識しているように、採用された予測の種類の故に、一定種類のマクロブロックは、アンカピクチャから正確には予測されない。つまり、アンカピクチャと符号化されるマクロブロックの輝度「スペース」だけを利用する予測方法は、マクロブロック、アンカピクチャ、又はその両者の内容関連の特徴により裏切られるかもしれない。詳細には、輝度予測は、深いブラック、又は高度に飽和したレッド及びブルーのような、低輝度エネルギを有するマクロブロック又はアンカピクチャ内容の場合には、信頼性が低いことが分かっている。従って、低輝度エネルギの場合には、輝度信号だけを使用して演算されるモーションベクトル情報は不正確になる傾向がある。この不正確性は、末端ユーザのデコーダ及びディスプレイ装置へ伝播し、「虫食い」画像のような視覚上のアーティファクトを生成する、これは非常に苛立たしいことであろう。また、そのような不正確な輝度予測は、ＩＩＤに誤ったイントラモードの決定を作り出させるかもしれず、マクロブロックは、必要以上のビットを利用することによって、効率的ではない方法で符号化されるであろう。
【００２７】
図２は、図１のブロック基準符号化システムでの使用に適した、本発明の実施の形態による、全ペルモーション推測器１２８を示す。詳細には、図２のモーション推測器１２８は、全ペル輝度モーション推測器１２８−１、全ペル第１色差モーション推測器１２８−２、全ペル第２色差モーション推測器１２８−３、第１乗算器１２８−４、第２乗算器１２８−５、及び最良モーションベクトル選定器１２８−６、を備える。
【００２８】
輝度モーション推測器１２８−１は、入力マクロブロックストリーム１０２内のマクロブロックの輝度コンポーネントＹ、及び元のアンカフレームの輝度コンポーネントＹ’に応答して、出力信号ＹＭを生成する。出力信号ＹＭは、アンカフレームに対する入力マクロブロックの輝度「スペース」のモーションを示す輝度コンポーネントＹモーション推測信号を含む。出力信号ＹＭは、輝度コンポーネントＹモーション推測の精度を示す誤差量Ｙｅｒｒｏｒも含む。輝度コンポーネントモーション推測信号ＹＭと誤差量Ｙｅｒｒｏｒは、最良モーションベクトル選定器１２８−６の第１入力へ結合される。
【００２９】
第１色差モーション推測器１２８−２は、入力マクロブロックストリーム１０２内のマクロブロックの第１色差コンポーネントＵ（又はＣR）、及び元のアンカフレームの第１色差コンポーネントＵ’に応答して、出力信号ＵＭを生成する。出力信号ＵＭは、アンカフレームに対する入力マクロブロックの第１色差「スペース」のモーションを示す第１色差コンポーネントＵモーション推測信号を含む。出力信号ＵＭは、第１色差コンポーネントＵモーション推測の精度を示す誤差量Ｕｅｒｒｏｒも含む。第１色差コンポーネントモーション推測信号ＵＭと誤差量Ｕｅｒｒｏｒは、第１乗算器１２８−４へ結合され、ここで、係数２で乗算される。即ち、モーションベクトルの垂直変位コンポーネントと水平変位コンポーネントは２で乗算される。バイナリ数を左へ１ビット、シフトすることは、その数に２を乗ずることであるから、２を乗ずる関数を実行するための回路は単純なシフトレジスタからなることでよいことに注目することは重要である。第１乗算器の出力は、最良モーションベクトル選定器１２８−６の第２入力へ結合される。
【００３０】
第２色差モーション推測器１２８−３は、入力マクロブロックストリーム１０２内のマクロブロックの第２色差コンポーネントＶ（又はＣB）、及び元のアンカフレームの第２色差コンポーネントＶ’に応答して、出力信号ＶＭを生成する。出力信号ＶＭは、アンカフレームに対する入力マクロブロックの第２色差「スペース」のモーションを示す第２色差コンポーネントＶモーション推測信号を含む。出力信号ＶＭは、第２色差コンポーネントＶモーション推測の精度を示す誤差量Ｖｅｒｒｏｒも含む。第２色差コンポーネントモーション推測信号ＶＭと誤差量Ｖｅｒｒｏｒは、第２乗算器１２８−５へ結合され、ここで、係数２で乗算される。第２乗算器の出力は、最良モーションベクトル選定器１２８−６の第３入力へ結合される。
【００３１】
全ペル輝度モーション推測器１２８−１は、全ペル第１色差モーション推測器１２８−２及び全ペル第２色差モーション推測器１２８−３の何れよりも複雑である可能性が高いことに注目することが重要である。これは、普通のＭＰＥＧビデオフォーマットは、色度情報より輝度情報をより多く利用するからである。例えば、良く知られた４：２：０ビデオフォーマットは、４つの輝度（Ｙ）サンプルと２つの色度サンプル（ＵとＶの各１つ）を利用する。従って、全ペル輝度モーション推測器１２８−１により処理される４：２：０ビデオデータの量は、第１及び第２色差モーション推測器１２８−２、１２８−３の何れかにより処理されるデータの量より４倍多い。より高い垂直色度解像度が望まれるアプリケーションでは、４：２：２ビデオフォーマットが普通には使用される。４：２：２フォーマットは、４つの輝度〈Ｙ〉サンプルと４つの色度サンプル（ＵとＶの各２つ）を利用する。従って、全ペル輝度モーション推測器１２８−１により処理される４：２：２フォーマットビデオデータの量は、第１及び第２色差モーション推測器１２８−２、１２８−３の何れかにより処理されるデータの量より２倍多い。４：２：２ビデオフォーマットを使用する場合には、モーションベクトルの垂直変位コンポーネントを２で乗算する必要はないので、第１と第２乗算器は、モーションベクトルの水平変位コンポーネントについてだけ作用する。
【００３２】
第１色差モーション推測器１２８−２及び第２色差モーション推測器１２８−３は、実質的に同じ方法で動作する。その上、第１乗算器１２８−４及び第２乗算器１２８−５により使用される係数２の乗算は、４：２：０ビデオフォーマットデータが使用されていると想定する。処理されるマクロブロックのビデオフォーマットに依存して、他の乗算係数を使用することができる。
【００３３】
最良モーションベクトル選定器１２８−６は、例えば、輝度ＹＭ、第１色差ＵＭ、及び第２色差ＶＭ、モーション推測信号の各々に関連付けられた誤差量を利用して、どのモーション推測信号が、入力マクロブロックとアンカフレームとの間の相対モーションを最も正確に表すか（即ち、「最良」モーション推測）を決定する。最良モーション推測信号は、例えば、半ペルモーション推測器１２７による使用のためのモーションベクトル（ＭＶｓ）として、全ペルモーション推測器１２８の出力へ結合される。加えて、全ペルモーション推測器１２８の出力は、「最良」種類として選定されたモーション推測の種類を示す選定印 (indicium)  (SELECTION DATA) を含む。選定印は、例えば、半ペルモーション推測器１２７により利用され、「最良」モーション推測コンポーネントを使用してモーション推測を更に洗練し、及び、モーションモードブロック１３２により利用され、モーションモード決定プロセスに参加する。
【００３４】
本発明の一実施の形態では、選定器１２８−６内で既知の種類の決定論理が、３つのモーション推測信号ＹＭ、ＵＭ、及び、ＶＭの誤差量部分Ｙｅｒｒｏｒ、Ｕｅｒｒｏｒ、及び、Ｖｅｒｒｏｒを比較するのに使用される。決定論理は、最低の誤差量を有するそのモーション推測信号（ＹＭ、ＵＭ、又はＶＭ）を出力へ結合する（即ち、「最良」として選定する）。決定論理は、実施例では、選定プロセスの一部として、誤差の２乗平均量又は絶対最低誤差量を利用する。本発明の別の実施の形態では、輝度モーション推測信号ＹＭが優先的に出力へ結合される。即ち、その信号に関連付けられた誤差量Ｙｅｒｒｏｒが閾値レベルより低い限り、輝度モーション推測信号ＹＭが出力へ結合される。閾値レベルは、予め定められる、選定可能である、又は例えば、ユーザの入力信号のオプション制御に応答して適応的に制御されることができる。
【００３５】
図４は、図２のモーション推測器１２８での使用に適したモーションベクトル生成と選定プロセスのフロー図を示す。詳細には、モーションベクトル生成と選定ルーチン４００は、輝度（ＹＭ）、第１色度（ＵＭ）、及び第２色度（ＶＭ）全ペルモーション推測値の何れが、実施例として図１の半ペルモーションベクトル予測器１３０及びモーションモードブロック１３２により表されたような、その後の処理ステップ又は回路で使用するのに「最良」モーション推測値であるかを識別するのに使用される。輝度（ＹＭ）、第１色度（ＵＭ）、及び第２色度（ＶＭ）全ペルモーション推測値の各々は、マクロブロック全体に対して誤差（即ち、残差）を演算するのに使用される。以下の検討では、予測器として輝度（ＹＭ）モーション推測値を使用して演算する場合、用語Ｙｅｒｒｏｒはマクロブロック全体の誤差を言う。同様に、予測器としてそれぞれ第１色度（ＵＭ）及び第２色度（ＶＭ）モーション推測値を使用して演算する場合、用語Ｕｅｒｒｏｒ及びＶｅｒｒｏｒはマクロブロック全体の誤差を言う。
【００３６】
ルーチン４００は、マクロブロックの輝度及び色度情報Ｙ、Ｕ、Ｖが全ペルモーション推測ユニット１２８へ入力される場合、ステップ４０５で起動される。ルーチン４００はステップ４１０へ進み、ここで、輝度スペース（Ｙ）、第１色度スペース（Ｕ）、及び第２色度スペース（Ｖ）に関連付けられた全ペルモーションベクトル、及びモーションベクトル誤差が推測される。次に、ルーチン４００はステップ４１５へ進み、第１及び第２色度スペースモーションベクトル（ＵＭ、ＶＭ）とモーションベクトル誤差（Ｕｅｒｒｏｒ、Ｖｅｒｒｏｒ）は、輝度と色度のサンプル密度差を補償するようスケーリングされる。４：２：０のビデオフォーマットの場合では、スケーリングファクタは２である。次に、ルーチンはステップ４：２：０へ進み、ここで、最良ＭＶ選定器ユニットの動作モードについての質問がなされる。ステップ４：２：０での質問への解答が動作の「輝度閾値 (Luminance Threshold)」モードである場合、ルーチン４００はステップ４２５へ進み、ここで、推測輝度スペースモーションベクトル誤差（Ｙｅｒｒｏｒ）に関連付けられた誤差が閾値レベルと比較される。ステップ４２５での比較が、推測輝度スペースモーションベクトル誤差（Ｙｅｒｒｏｒ）は閾値レベルより小さいことを示す場合、次に、ルーチンはステップ４３０へ進み、ここで、推測輝度スペースモーションベクトル（ＹＭ）が、最良モーションベクトルとして選定される。
【００３７】
ステップ４：２：０での質問が、動作の「低誤差」モードが利用されることになることを示す場合、又は、ステップ４２５での比較が、推測輝度スペースモーションベクトル誤差（Ｙｅｒｒｏｒ）は閾値レベルと等しいか又は超えることを示す場合、ルーチン４００はステップ４３５へ進む。ステップ４３５で、推測輝度スペースモーションベクトル誤差（Ｙｅｒｒｏｒ）が推測第１色度スペースモーションベクトル誤差（Ｕｅｒｒｏｒ）と比較される。ＹｅｒｒｏｒがＵｅｒｒｏｒより大きい場合、ルーチン４００はステップ４４５へ進む。ＹｅｒｒｏｒがＵｅｒｒｏｒより小さい場合、ルーチン４００はステップ４４０へ進む。
【００３８】
ステップ４４０で、推測輝度スペースモーションベクトル誤差（Ｙｅｒｒｏｒ）が推測第２色度スペースモーションベクトル誤差（Ｖｅｒｒｏｒ）と比較される。ＹｅｒｒｏｒがＶｅｒｒｏｒより大きい場合、ルーチン４００はステップ４４５へ進む。ＹｅｒｒｏｒがＶｅｒｒｏｒより小さい場合、ルーチン４００はステップ４３０へ進み、ここで、推測輝度スペースモーションベクトル（ＹＭ）が、最良モーションベクトルとして選定される。最良モーションベクトルを選定した後に、ルーチン４００はステップ４６０へ進み、ここで、終了される。
【００３９】
ステップ４４５で、推測第１色度スペースモーションベクトル誤差（Ｕｅｒｒｏｒ）が推測第２色度スペースモーションベクトル誤差（Ｖｅｒｒｏｒ）と比較される。ＵｅｒｒｏｒがＶｅｒｒｏｒより大きい場合、ルーチン４００はステップ４５０へ進み、ここで、推測第２色度スペースモーションベクトル（ＶＭ）が、最良モーションベクトルとして選定される。ＵｅｒｒｏｒがＶｅｒｒｏｒより小さい場合、ルーチン４００はステップ４５５へ進み、ここで、推測第１色度スペースモーションベクトル（ＵＭ）が、最良モーションベクトルとして選定される。最良モーションベクトルを選定した後に、ルーチン４００はステップ４６０へ進み、ここで、終了される。
【００４０】
図３は、図１のブロック基準符号化システムでの使用に適した、本発明の実施の形態による、全ペルモーション推測モジュールの実施例１２８を示す。詳細には、図３のモーション推測モジュール１２８は、第１のコンポーネントウエイタ１２８−７、第２のコンポーネントウエイタ１２８−８及びモーション推測器１２８−９を備える。
【００４１】
第１のコンポーネントウエイタ１２８−７は、入力マクロブロックストリーム１０２内のマクロブロックの輝度Ｙ及び色差Ｕ、Ｖコンポーネントを受取る。応答して、第１のコンポーネントウエイタ１２８−７は、各コンポーネントＹ、Ｕ及びＶへ重み付け、又はスケーリングファクタを適用し、画像−代理 (image-representative) 出力信号ＹＵＶ1を生成する。出力信号ＹＵＶ1は、真の輝度又は色度信号ではなく、むしろ、出力信号ＹＵＶ1は、入力マクロブロックの輝度及び色度コンポーネントを使用して生成された画像情報コンポーネントを含む画像代理信号である。
【００４２】
第２のコンポーネントウエイタ１２８−８は、元のアンカブロックの輝度Ｙ’及び色差Ｕ’、Ｖ’コンポーネントを受取る。応答して、第２のコンポーネントウエイタ１２８−８は、各コンポーネントＹ’、Ｕ’及びＶ’へ重み付け、又はスケーリングファクタを適用し、画像−代理出力信号ＹＵＶ2を生成する。ＹＵＶ2出力信号は、第１のコンポーネントウエイタ１２８−８のＹＵＶ1出力信号のような画像代理信号から成る。その上、第２のコンポーネントウエイタ１２８−８により利用される重み付け係数は、第１のコンポーネントウエイタ１２８−７により利用されるものと同一である。
【００４３】
第１及び第２のコンポーネントウエイタ１２８−７及び１２８−８のそれぞれの画像代理出力信号ＹＵＶ1及びＹＵＶ2は、モーション推測器１２８−９のそれぞれの入力へ結合される。モーション推測器１２８−９は、全ペルモーション推測機能を実質的に標準の方法で遂行し、例えば、半ペルモーション推測器１２７による使用のために全ペルモーションベクトル（ＭＶｓ）を生成する。加えて、全ペルモーション推測器１２８の出力信号は、「最良」種類として選定されたモーション推測の種類を示す選定印(SELECTION DATA) を含む。選定印は、例えば、モーション推測を更に洗練するよう半ペルモーション推測器１２７及び、モーションモード決定プロセスに参加するようモーションモードブロック１３２により利用されることができる。
【００４４】
本発明の別の実施の形態では、コンポーネントウエイタ１２８−７と１２８−８は、モーション推測器１２８−９での使用のためにそれぞれの「プリンシプルコンポーネント (principle components)」タイプの信号を生成する。プリンシプルコンポーネント信号は、通常、マルチスペクトル画像源から単一の複合出力画像を生成するのに使用される。プリンシプルコンポーネント信号を形成するのに使用できる様々な方法があるが、真正直な方法は、最高値（又は最適値に最も近い値）を有する入力画像のピクセルから出力画像の各ピクセルを選定するステップを含む。バイポーラ（＋と−）であるＵ及びＶ色差信号の場合には、ピクセル選定の前に絶対値変換 (absolute value transformation) が適用される。マクロブロック関連プリンシプルコンポーネント信号ＹＵＶ1及びアンカフレーム関連プリンシプルコンポーネント信号ＹＵＶ2は、上記で説明したのと実質的に同一の方法でモーション推測器１２８−９により処理され、例えば、半ペルモーション推測器１２７による使用のために全ペルモーションベクトル（ＭＶｓ）を生成する。
【００４５】
有利なことに、上記で説明した「プリンシプルコンポーネント」アプローチは、単純な輝度だけのモーション推測回路以上のモーション推測ハードウエアを必要としない。その上、プリンシプルコンポーネント信号を形成するのに必要なハードウエア（即ち、コンポーネントウエイタ１２８−７と１２８−８）は、図２のモーション推測回路の複雑さに比較して最少である。即ち、図３のコンポーネントウエイタ１２８−７と１２８−８を実施するのに必要な回路の複雑さは、図２に示す第１と第２色差モーション推測器１２８−２と１２８−３を実施するのに必要な回路の複雑さより少ない。
【００４６】
本発明のなお別の実施の形態では、コンポーネントウエイタ１２８−７と１２８−８、及びモーション推測器１２８−９は、レッドＲ、ブルーＢ、及びグレーンＧの一次色信号上で動作する。しかし、この実施の形態は、上記で説明したモーション推測の実施の形態で必要とされるより、より複雑なモーション推測器を必要とする。
【００４７】
上記で説明した本発明の実施の形態は、低輝度エネルギの場合においてさえ、高品質の圧縮符号化を有利に提供する。色度スペース及び輝度スペース両方でモーション推測を遂行し、最良モーション推測を選定することにより、本発明は、圧縮符号化プロセスの最適化を提供する。加えて、上記で説明した実施の形態は、良く知られた４：２：２及び４：４：４ビデオフォーマットのような異なるビデオフォーマットに容易に適応することができる。
【００４８】
本発明の教示を採用する種々の実施の形態を本明細書中に詳細に図示し説明したが、当業者は、これらの教示を依然採用する多くの他の様々な実施の形態を容易に工夫することができる。
【図面の簡単な説明】
【図１】  図１は、本発明を取りこんだブロック基準符号化システム（詳細には、ＭＰＥＧエンコーダ）の高レベルのブロック図である。
【図２】    図２は、図１のブロック基準符号化システムでの使用に適した、本発明の実施の形態による全ペル (full-pel) モーション推測器を示した図である。
【図３】  図３は、図１のブロック基準符号化システムでの使用に適した、本発明の実施の形態による全ペル (full-pel) モーション推測器を示した図である。
【図４】  図２のモーション推測器１２８での使用に適したモーションベクトル生成と選定プロセスのフロー図である。
【図１】
0004122130.tif 000002
【図２】
0004122130.tif 000003
【図３】
0004122130.tif 000004
【図４】
0004122130.tif 000005