(57)【要約】  インター符号化されたフレームの現在のマクロブロックのモードを選択するためのビデオ符号器（１００）および対応する方法（４００、５００）が提供される。この方法は、マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップと、マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップとのうち、少なくとも１つのステップを含んでいる。
2007524279.tif 000002
【特許請求の範囲】
【請求項１】
インター符号化されたフレームの現在のマクロブロックのモードを選択するためのビデオ符号化方法であって、
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップと、
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップとのうち、少なくとも１つのステップと、を含む、前記ビデオ符号化方法。
【請求項２】
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項３】
前記第１の各モードがＳＫＩＰ、１６×１６、８×８、および４×４の二次モードからなる、請求項１に記載のビデオ符号化方法。
【請求項４】
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項５】
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項６】
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項７】
使用する可能性のあるブロック・サイズのサブセットのためだけに最初に動き推定を実行するステップと、
動き情報を使用して、他のブロック・サイズのための他の動き推定または演算量の計算を行うべきかどうかを判定するステップとを含む、請求項１に記載のビデオ符号化方法。
【請求項８】
前記第１の各モードが最初にチェックされ、当該第１の各モードの動き情報が他のモードをチェックする必要があるかどうかを決定するのに使用される、請求項７に記載のビデオ符号化方法。
【請求項９】
空間的／時間的に隣接するマクロブロックおよびブロック・パーティション情報が使用可能なブロック・サイズのサブセットまたはチェックされるのに必要な他のイントラ／インター・モードを決定するのに使用される、請求項１に記載のビデオ符号化方法。
【請求項１０】
インター・モードおよびイントラ・モードの双方のサブセットのためにモード・チェックを最初に実行するステップと、
前記モード・チェックに応じて演算量を計算するステップと、
演算量を用いて他のインター・モードおよびイントラ・モードが実行されるべきかどうかを判定するステップとを含む、請求項１に記載のビデオ符号化方法。
【請求項１１】
前記早期停止基準が、他のインター・モードまたはイントラ・モードのチェックを停止するための適応閾値処理に基づく、請求項６に記載のビデオ符号化方法。
【請求項１２】
特定のモードを調べた後、空間的および／または時間的に隣接するマクロブロックが現在のマクロブロックの動き情報と特定の関係を有する場合に早期終了を行う、請求項１に記載のビデオ符号化方法。
【請求項１３】
ビデオ信号データを符号化し、インター符号化されたフレームの現在のマクロブロックのモードを選択するためのビデオ符号器であって、
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択する第１の手段と、
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するマクロブロック手段と、
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するサブセット手段と、
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択する停止手段とのうち、少なくとも１つを含む、前記ビデオ符号器。
【請求項１４】
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択する第１のチェック手段を含む、請求項１３に記載のビデオ符号器。
【請求項１５】
前記第１の各モードがＳＫＩＰ、１６×１６、８×８、および４×４の二次モードからなる、請求項１３に記載のビデオ符号器。
【請求項１６】
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択する隣接チェック手段を含む、請求項１３に記載のビデオ符号器。
【請求項１７】
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するイントラ・チェック手段を含む、請求項１３に記載のビデオ符号器。
【請求項１８】
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択する閾値処理手段を含む、請求項１３に記載のビデオ符号器。
【請求項１９】
使用する可能性のあるブロック・サイズのサブセットのためだけに最初に動き推定を実行する動き推定手段と、
動き情報を使用して、他のブロック・サイズのための他の動き推定または演算量の計算を行うべきかどうかを判定する判定手段とを含む、請求項１３に記載のビデオ符号器。
【請求項２０】
前記第１の各モードが最初にチェックされ、当該第１の各モードの動き情報が他のモードをチェックする必要があるかどうかを決定するのに使用される、請求項１９に記載のビデオ符号器。
【請求項２１】
空間的／時間的に隣接するマクロブロックおよびブロック・パーティション情報が使用可能なブロック・サイズのサブセットまたはチェックされるのに必要な他のイントラ／インター・モードを決定するのに使用される、請求項１３に記載のビデオ符号器。
【請求項２２】
インター・モードおよびイントラ・モードの双方のサブセットのためにモード・チェックを最初に実行するインター／イントラ・チェック手段と、
前記モード・チェックに応じて演算量を計算する演算量計算手段と、
演算量を用いて他のインター・モードおよびイントラ・モードが実行されるべきかどうかを判定するインター／イントラ判定手段とを含む、請求項１３に記載のビデオ符号器。
【請求項２３】
前記早期停止基準が、他のインター・モードまたはイントラ・モードのチェックを停止するための適応閾値処理に基づく、請求項１８に記載のビデオ符号化器。
【請求項２４】
特定のモードを調べた後、空間的および／または時間的に隣接するマクロブロックが現在のマクロブロックの動き情報と特定の関係を有する場合に早期終了を行う、請求項１３に記載のビデオ符号化器。
【請求項２５】
複数のブロック変換係数からなる信号データを用いて符号化されたディジタル・ビデオディスクであって、
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップと、
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップとのうち、少なくとも１つのステップにより前記信号データが生ずる、前記ディジタル・ビデオディスク。
【請求項２６】
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項２７】
前記第１の各モードが、ＳＫＩＰ、１６×１６、８×８、および４×４の二次モードからなる、請求項２５に記載のディジタル・ビデオディスク。
【請求項２８】
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項２９】
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項３０】
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項３１】
さらに、使用する可能性のあるブロック・サイズのサブセットのためだけに最初に動き推定を実行するステップと、
動き情報を使用して、他のブロック・サイズのための他の動き推定または演算量の計算を行うべきかどうかを判定するステップとにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項３２】
前記第１の各モードが最初にチェックされ、当該第１の各モードの動き情報が他のモードをチェックする必要があるかどうかを決定するのに使用される、請求項２５に記載のディジタル・ビデオディスク。
【請求項３３】
空間的／時間的に隣接するマクロブロックおよびブロック・パーティション情報が使用可能なブロック・サイズのサブセットまたはチェックされるのに必要な他のイントラ／インター・モードを決定するのに使用される、請求項３１に記載のディジタル・ビデオディスク。
【請求項３４】
さらに、インター・モードおよびイントラ・モードの双方のサブセットのためにモード・チェックを最初に実行するステップと、
前記モード・チェックに応じて演算量を計算するステップと、
演算量を用いて他のインター・モードおよびイントラ・モードが実行されるべきかどうかを判定するステップとにより前記信号データが生ずる、請求項２５に記載のディジタル・ビデオディスク。
【請求項３５】
前記早期停止基準が、他のインター・モードまたはイントラ・モードのチェックを停止するための適応閾値処理に基づく、請求項３０に記載のディジタル・ビデオディスク。
【請求項３６】
特定のモードを調べた後、空間的および／または時間的に隣接するマクロブロックが現在のマクロブロックの動き情報と特定の関係を有する場合に早期終了を行う、請求項２５に記載のディジタル・ビデオディスク。
【請求項３７】
インター符号化されたフレームのマクロブロック符号化モードを選択するビデオ符号化方法であって、
符号化のためにマクロブロック・モードのサブセットを選択するステップと、
符号化効率のために前記マクロブロック・モードのサブセットを比較するステップと、
前記モード比較ステップに応じて好ましい符号化効率を有するモードを選択するステップと、を含む、前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願とのクロスリファレンス）
本出願は、２００３年６月２５日付で出願され、「インターフレームのための高速モード決定のための方法および装置（ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＦＡＳＴ  ＭＯＤＥ  ＤＥＣＩＳＩＯＮ  ＦＯＲ  ＩＮＴＥＲＦＲＡＭＥＳ）」と題された米国仮特許出願第６０／４８２，３３１号（事件整理番号ＰＵ０３０１６４）の利益を主張するものであり、その開示内容全体を本明細書中に盛り込むものとする。
【０００２】
本発明は、ビデオ符号器およびビデオ復号器に関し、より具体的には、インターフレーム・モード決定を行うための符号器に関する。
【背景技術】
【０００３】
ＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ、合同ビデオ・チーム）ビデオ圧縮規格においては、インターフレームのためにインター符号化およびイントラ符号化の双方を使用することができる。符号器は、符号化効率および主観的品質を考慮して各マクロブロックに対するモード決定を行う必要がある。インター・モード決定は、動き推定、様々なブロックのサイズ、さらに、複数のリファレンス・ピクチャ選択に関連する。イントラ・モード決定は、様々なブロックのタイプおよび複数の空間予測選択に関連する。つまり、インターフレーム・モード決定は、符号器に大きな負荷をかけるものである。従って、必要なものは、符号化決定の演算量（ｃｏｍｐｌｅｘｉｔｙ）を軽減するとともに、符号化効率を維持するための新たなスキームである。
【発明の開示】
【０００４】
（発明の概要）
従来技術のこれらのおよび他の欠点、不都合は、インターフレーム高速モード決定符号化のための装置および方法により解決される。
【０００５】
インター符号化されたフレームの現在のマクロブロックのモードを選択するためのビデオ符号器および対応する方法が提供される。この方法は、マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップと、マクロブロック・モードのサブセットのコスト（ｃｏｓｔ）をチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップとのうち、少なくとも１つのステップを含んでいる。
【０００６】
本発明のこれらの態様、特徴および利点、また、その他の態様、特徴および利点は、添付図面を参照して以下の本発明の例示的な実施の形態の説明を読むことにより明らかになるであろう。
【発明を実施するための最良の形態】
【０００７】
インター符号化方法およびイントラ符号化方法の各々は、ビデオ圧縮規格に準拠したインターフレームを符号化をするために使用される。一般的に、符号器は、符号化効率および主観的品質を考慮して、各マクロブロックについて、インター符号化またはイントラ符号化の決定を行う。ＪＶＴビデオ圧縮規格においては、インター符号化により、１６×１６のマクロブロック内に様々なブロック・パーティションを設けること（具体的には、マクロブロックは１６×１６、８×１６、８×８、また、８×８のサブブロックは８×８、８×４、４×８、４×４）や、複数のリファレンス・ピクチャをサポートしている。さらに、ＪＶＴは、スキップ・モードおよびイントラ・モードをサポートしている。イントラ・モードには、２つのタイプ、即ち、ＩＮＴＲＡ４×４およびＩＮＴＲＡ１６×１６が存在し、ＩＮＴＲＡ４×４は、９つのモードをサポートし、ＩＮＴＲＡ１６×１６は、４つのモードをサポートしている。これらの選択肢の全てにより、モード決定が極めて複雑になっている。本発明の各実施の形態は、調べることが必要な、使用する可能性のある候補となるモードの数を減少させることにより、モード決定を簡略化するものである。
【０００８】
ＪＶＴ規格（Ｈ．２６４およびＭＰＥＧ  ＡＶＣとしても知られる）では、インターフレーム（ＰフレームおよびＢフレーム）のためにインター符号化およびイントラ符号化の双方が使用される。個々のマクロブロックの各々は、空間相関のみを用いることによりイントラとして符号化されるか、前に符号化されたフレームからの時間相関を用いてインターとして符号化される。一般的に、符号器は、符号化効率および主観的品質を考慮して各マクロブロックに対し、インター符号化またはイントラ符号化の決定を行う。通常、インター符号化は、前のピクチャから十分に予測されるマクロブロックに対して使用され、一般的に、イントラ符号化は、従前のピクチャからは十分に予測できないマクロブロックに対して使用されるか、空間アクティビティ（ｓｐａｔｉａｌ  ａｃｔｉｖｉｔｙ）の低いマクロブロックに対して使用される。
【０００９】
ＪＶＴ規格は、ツリー構造の階層型マクロブロック・パーティションを使用する。インター符号化された１６×１６画素のマクロブロックは、１６×８、８×１６、または、８×８画素のサイズのマクロブロック・パーティションに分割することができる。８×８画素のマクロブロック・パーティションはサブマクロブロックとしても知られている。サブマクロブロックは、さらに、８×４、４×８、および４×４画素のサイズのサブマクロブロック・パーティションに分割することができる。符号器は、マクロブロックをどのようにパーティションやサブマクロブロックのパーティションに分割するのかを、圧縮効率および主観的な品質を最高にするために、特定のマクロブロックの特性に基づいて、選定してもよい。
【００１０】
インター予測については、複数のリファレンス・ピクチャを使用することができ、リファレンス・ピクチャ・インデックスは、符号化され、複数のリファレンス・ピクチャのうちのどれが使用されるのかを示す。Ｐピクチャ（またはＰスライス）においては、単一の方向予測のみが使用され、許容されるリファレンス・ピクチャは、リスト０において管理される。Ｂピクチャ（またはＢスライス）においては、リファレンス・ピクチャの２つのリスト、即ち、リスト０およびリスト１が管理される。Ｂピクチャ（またはＢスライス）においては、リスト０またはリスト１を使用した単一の方向予測を使用することができ、さらに、リスト０およびリスト１の双方を使用した双予測（ｂｉ‐ｐｒｅｄｉｃｔｉｏｎ）を使用することができる。双予測が使用される場合には、リスト０の予測値（ｐｒｅｄｉｃｔｏｒ）およびリスト１の予測値は、平均化されて最終予測値を形成する。
【００１１】
各マクロブロック・パーティションは、独立のリファレンス・ピクチャ・インデックス、予測タイプ（リスト０、リスト１、双予測）、さらに、独立の動きベクトルを有するようにしてもよい。各サブマクロブロック・パーティションは、独立の動きベクトルを有するようにしてもよいが、同一のサブマクロブロックにおける全てのサブマクロブロック・パーティションは、同一のリファレンス・ピクチャ・インデックスおよび予測タイプを使用する。
【００１２】
インター符号化マクロブロックでは、Ｐフレームは、さらに、ＳＫＩＰモードをサポートし、Ｂフレームは、ＳＫＩＰモードとＤＩＲＥＣＴモードの双方をサポートしている。ＳＫＩＰモードにおいては、動きや残差情報は符号化されない。ＳＫＩＰマクロブロックに対する動き情報は、ピクチャ／スライス・タイプ（ＰまたはＢ）により特定される動きベクトル予測値、さらに、シーケンスやスライス・レベルの各パラメータなどの他の情報と同一である。さらに、動き情報は、他の時間的、または空間的に隣接するマクロブロック、さらにスライス内のマクロブロックの位置に関する。また、ＤＩＲＥＣＴモードにおいては、動き情報は符号化されず、予測残差が符号化される。マクロブロックおよびサブマクロブロックのいずれもＤＩＲＥＣＴモードをサポートしている。
【００１３】
イントラ符号化されたマクロブロックでは、２つのブロック・タイプ、即ち、４×４および１６×１６がサポートされている。ＩＮＴＲＡ４×４は、９つの予測モード、即ち、垂直（ｖｅｒｔｉｃａｌ）予測、水平（ｈｏｒｉｚｏｎｔａｌ）予測、ＤＣ予測、斜め下方左（ｄｉａｇｏｎａｌ  ｄｏｗｎ‐ｌｅｆｔ）予測、斜め下方右（ｄｉａｇｏｎａｌ  ｄｏｗｎ‐ｒｉｇｈｔ）予測、垂直左（ｖｅｒｔｉｃａｌ‐ｌｅｆｔ）予測、水平下方（ｈｏｒｉｚｏｎｔａｌ‐ｄｏｗｎ）予測、垂直右（ｖｅｒｔｉｃａｌ‐ｒｉｇｈｔ）予測、および水平上方（ｈｏｒｉｚｏｎｔａｌ‐ｕｐ）予測をサポートしている。ＩＮＴＲＡ１６×１６は、４つの予測モード、即ち、垂直予測、水平予測、ＤＣ予測、および平面（ｐｌａｎｅ）予測をサポートしている。
【００１４】
モード決定では、インター・ピクチャは、インター・モードおよびイントラ・モードの双方をサポートする必要がある。イントラ・モードは、ＩＮＴＲＡ４×４およびＩＮＴＲＡ１６×１６を含んでいる。Ｐピクチャでは、インター・モードは、ＳＫＩＰおよび１６×１６、１６×８、８×１６、およびサブマクロブロックの８×８のパーティションを含んでいる。８×８は、さらに、８×８、８×４、４×８、および４×４のパーティションをサポートする。Ｂピクチャでは、マクロブロックおよびサブマクロブロックの双方のために、リスト０およびリスト１の双方、さらに、ＤＩＲＥＣＴモードが考慮される。
【００１５】
ＪＶＴリファレンス・ソフトウエアにおいては、レート歪み最適化（ＲＤＯ：Ｒａｔｅ‐Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ）フレームワークがモード決定に使用される。インター・モードでは、動き推定がモード決定とは別個に考慮される。動き推定は、まず、インター・モードの全てのブロック・タイプについて実行される。次に、モード決定は、インター・モードおよびイントラ・モードの各々のコストを比較することにより行われる。最小のコストのモードが最良のモードとして選択される。
【００１６】
ＰピクチャまたはＢピクチャにおける１つのマクロブロックｓを符号化する処理を以下に要約する。最後に復号化されたピクチャ、ラグランジュ乗数λＭＯＤＥ、λＭＯＴＩＯＮ、およびマクロブロック量子化特性値（ｍａｃｒｏｂｌｏｃｋ  ｑｕａｎｔｉｚｅｒ）ＱＰが与えられているものとする。
【００１７】
ステップ１：使用する可能性のあるマクロブロック・モードのリファレンス・ピクチャおよび動きベクトルの各々に対し、以下の値が最小になるように動き推定およびリファレンス・ピクチャの選択を行う。
【数１】
2007524279.tif 000003
（等式１）
【００１８】
この等式において、ｓは、オリジナルのビデオ信号であり、ｃは、符号化されたビデオ信号であり、ｍは、現在考慮されている動きベクトルである。ＲＥＦは、リファレンス・ピクチャを示し、ｐは、動きベクトル符号化の間の予測に使用される動きベクトルである。Ｒ（ｍ‐ｐ）は、動きベクトルを符号化するために使用されるビットを表す。Ｒ（ＲＥＦ）は、リファレンス・ピクチャを符号化するためのビットである。ＳＡ（Ｔ）Ｄは、当初の信号と動きベクトルにより予測されたリファレンス信号との間の（変換された）差の絶対値の和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  （Ｔｒａｎｓｆｏｒｍｅｄ）  Ｄｉｆｆｅｒｅｎｃｅｓ）である。
【００１９】
ステップ２：以下の値が最小になるようにマクロブロック予測モードを選択する。
【数２】
2007524279.tif 000004
（等式２）
ＱＰおよびλＭＯＤＥが与えられ、ＭＯＤＥは可変である。ＳＳＤは、当初の信号および再構築された信号との間の自乗差の和（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）である。Ｒ（ｓ，ｃ，ＭＯＤＥ）は、マクロブロック・ヘッダ、動き係数、および全てのＤＣＴ係数を含むＭＯＤＥの選択に関連するビットの数である。ＭＯＤＥは、使用する可能性のあるマクロブロック・モードのセット（集合）の中のモードを示す。
【数３】
2007524279.tif 000005
ＩＮＴＲＡ４×４は次のモードを含んでいる。
【数４】
2007524279.tif 000006
ＩＮＴＲＡ１６×１６は次のモードを含んでいる。
【数５】
2007524279.tif 000007
【００２０】
この説明は、発明の原理を例示するものである。従って、当業者であれば、本明細書に明確に記載、図示されていなくとも、本発明の原理を実施する様々な構成を考案することが可能であり、このような構成の各々が本発明の精神および範囲に包含されることが理解できるであろう。
【００２１】
本明細書に記載された全ての例および条件付の文言は、本発明の原理を読者が理解するのを助けるための教示目的のものであり、発明者により寄与された概念は、技術を発展させるものであり、このような具体的に記載された例や条件に限定されるように解釈されるべきではない。
【００２２】
また、本明細書における本発明の原理、態様、および、実施の形態についての全ての記載、さらに、その特定の例は、構造的、機能的な均等物を包含するように意図したものである。さらに、このような均等物は、現在公知の均等物だけでなく、将来において開発される均等物、即ち、構造に係らず、同一の機能を実行するように開発された全ての要素を包含するように意図されている。
【００２３】
従って、例えば、当業者であれば、本明細書において示されたブロック図は、本発明の原理を実施する回路を例示する概念図であることが理解できよう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどは、いずれも様々な処理を表す。これらの処理は、実質的にコンピュータにより読み取り可能なメディアにおいて表すことができ、コンピュータまたはプロセッサにより実行され、このようなコンピュータまたはプロセッサがはっきりと図示されているかどうかに係るものではない。
【００２４】
各図面において示される様々な要素の機能は、専用のハードウエアの使用により提供されてもよく、適切なソフトウエアと関連付けてソフトウエアを実行することが可能なハードウエアの使用により提供されてもよい。機能が、プロセッサにより提供される場合にも、単一の専用プロセッサにより提供されてもよく、単一の共有プロセッサにより提供されてもよく、複数の別個のプロセッサにより提供されてもよく、幾つかのプロセッサが共有されていてもよい。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用した場合であっても、ソフトウエアを実行することが可能なハードウエアのみを意味するように解釈されるべきではなく、限定するものではないが、ディジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）ハードウエア、ソフトウエアを格納する読み出し専用メモリ（ＲＯＭ：ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、および不揮発性の記憶装置を含んでいる。
【００２５】
また、従来のおよび／または慣習的な他のハードウエアを含むこともある。同様に、図面に示されたどのスイッチも概念的なものに過ぎない。これらの機能はプログラム・ロジックの動作を介して、専用のロジックを介して、プログラム制御と専用のロジックとのインタラクションを介して、または、手動でも実行されることがある。文脈からより具体的に理解できるように、実施者により、特定の技術を選択可能である。
【００２６】
請求の範囲において、特定の機能を実施するための手段として表現されたいずれの要素も、この機能をどのような方法で実行するものも包含するように意図している。例えば、ａ）機能を実行する回路要素を組み合わせたもの、または、ｂ）いかなる形態のソフトウエア、つまり、ファームウエア、マイクロコード等を含むもの、機能を実施するためにソフトウエアを実行する適当な回路と組み合わせたものも包含する。このような請求の範囲により定義される発明は、請求の範囲により要求されているように、様々な記載された手段により提供される機能性が組み合わされ、まとめられるという事実に基づいたものである。従って、出願人は、このような機能性を提供することが可能な手段はどのようなものであっても、本願において示されているものと均等であるとみなす。
【００２７】
図１を参照すると、ビデオ符号器が概ね参照符号１００により示されている。符号器１００に対する入力は、加算接合部（ｓｕｍｍｉｎｇ  ｊｕｎｃｔｉｏｎ）１１０の非反転入力と信号通信するように結合されている。加算結合部１１０の出力はブロック変換器１２０と信号通信するように結合されている。変換器１２０は、量子化器１３０と信号通信するように結合されている。量子化器１３０の出力は、可変長符号器（ＶＬＣ：ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｅｒ）１４０と信号通信するように結合され、ＶＬＣ１４０の出力は、符号器１００の外部的に利用可能な出力である。
【００２８】
さらに、量子化器１３０の出力は、逆量子化器１５０と信号通信するように結合される。逆量子化器１５０は、逆ブロック変換器１６０と信号通信するように結合される。また、逆ブロック変換器１６０は、リファレンス・ピクチャ記憶装置１７０と信号通信するように結合される。リファレンス・ピクチャ記憶装置１７０の第１の出力は、動き推定器１８０の第１の入力と信号通信するように結合される。さらに、符号器１００への入力は、動き推定器１８０の第２の入力と信号通信するように結合される。動きベクトルを示す動き推定器１８０の出力は、動き補償器１９０の第１の入力と信号通信するように結合される。リファレンス・ピクチャ記憶装置１７０の第２の出力は、動き補償器１９０の第２の入力と信号通信するように結合される。動き補償されたリファレンス・ピクチャを示す動き補償器１９０の出力は、加算結合部１１０の反転入力と信号通信するように結合される。
【００２９】
図２に、ビデオ復号器が概ね参照符号２００により示されている。ビデオ復号器２００は、可変長復号器（ＶＬＤ：ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｄｅｃｏｄｅｒ）２１０を備え、ＶＬＤ２１０は、逆量子化器２２０と信号通信するように結合されている。逆量子化器２２０は、逆変換器２３０と信号通信するように結合される。逆変換器２３０は、加算器または加算結合部２４０の第１の入力端子と信号通信するように結合され、加算結合部２４０の出力は、ビデオ復号器２００の出力を提供する。加算結合部２４０の出力は、リファレンス・ピクチャ記憶装置２５０と信号通信するように結合される。リファレンス・ピクチャ記憶装置２５０は、動き補償器２６０と信号通信するように結合され、動き補償器２６０は、加算結合部２４０の第２の入力端子と信号通信するように結合される。
【００３０】
図３に、Ｐピクチャにおけるマクロブロックのための動きベクトル決定符号化のための例示的な処理が概ね参照符号４００により示されている。同様の処理をＢピクチャに適用してもよい。この処理は、機能ブロック４２０に制御を受け渡す開始ブロック４１０を含んでいる。機能ブロック４２０は、ＳＫＩＰモードおよび１６×１６モードおよびをチェックし、制御を決定ブロック４２２に受け渡す。機能ブロック４２２は、ＳＫＩＰモードにおける（等式２）における関数値Ｊが１６×１６モードの関数値Ｊよりも小さく、１６×１６モードに残差が無いという条件が満たされているかどうかを決定し、これらの条件が満たされていない場合には、制御を機能ブロック４２６に受け渡す。これらの条件が満たされている場合には、制御が決定ブロック４２４に移行する。決定ブロック４２４は、ＳＫＩＰモードが１６×１６モードの場合と同じ動き情報を有するかどうかをチェックし、同じ情報を有さない場合には、制御を機能ブロック４２６に受け渡し、同じ情報を有する場合には、制御を機能ブロック４３８に受け渡し、他のインター・モードをチェックすることをスキップする。
【００３１】
機能ブロック４２６は、８×８モードのチェックを行い、制御を決定ブロック４２８に受け渡す。決定ブロック４２８は、８×８モードが１６×１６モードの場合と同じ動き情報を有するかどうかをチェックし、同じ情報を有する場合には、制御を機能ブロック４３２に受け渡し、同じ情報を有さない場合には、制御を機能ブロック４３０に受け渡す。次に、機能ブロック４３０は１６×８モードおよび８×１６モードをチェックし、制御を機能ブロック４３２に受け渡す。次に、機能ブロック４３２は、４×４モードをチェックし、制御を決定ブロック４３４に受け渡す。決定ブロック４３４は、４×４モードが８×８モードの場合と同じ動き情報を有するかどうかをチェックし、同じ情報を有する場合には、制御を機能ブロック４３８に受け渡し、同じ情報を有さない場合には、制御を機能ブロック４３６に受け渡す。機能ブロック４３６は、８×４モードおよび４×８モードをチェックし、制御を機能ブロック４３８に受け渡す。機能ブロック４３８は、各イントラ・モードをチェックし、制御を機能ブロック４４０に受け渡す。機能ブロック４４０は、最良のモードを選択する。機能ブロック４４０は、制御をエンド・ブロック４５０に受け渡す。
【００３２】
図４に、マクロブロックのためのミックスド・インター／イントラ（ｍｉｘｅｄ  ｉｎｔｅｒ  ａｎｄ  ｉｎｔｒａ）決定符号化の例示的な処理が概ね参照符号５００により示されている。この処理は、制御を機能ブロック５２０に受け渡す開始ブロック５１０を含んでいる。機能ブロック５２０は、ＳＫＩＰモードおよび１６×１６モードをチェックし、制御を決定ブロック５６０に受け渡す。決定ブロック５６０は、ＳＫＩＰモードのために評価される関数値Ｊと１６×１６モードのために評価される関数値Ｊの間の最小値であるＭＣ２が閾値Ｔ１よりも大きいかをチェックし、閾値Ｔ１よりも大きい場合には、制御を機能ブロック５７０に受け渡し、閾値Ｔ１よりも大きくない場合には、制御を決定ブロック５６２に受け渡す。
【００３３】
ブロック５６２は、ブロック５６０からの値ＭＣ２が閾値Ｔ２よりも大きいかどうかをチェックし、比較を行う。閾値Ｔ２よりも大きくない場合には、ブロック５６２は、制御を機能ブロック５６８に受け渡し、閾値Ｔ２よりも大きい場合には、制御を機能ブロック５６４に受け渡す。機能ブロック５６４は、ＩＮＴＲＡ４×４ＤＣモードをチェックし、制御を決定ブロック５６６に受け渡す。決定ブロック５６６は、ＩＮＴＲＡ４×４ＤＣモードのために評価される関数値Ｊが値ａに値ＭＣ２を乗算したものにｂを加算したものよりも小さいかどうかを判定し、小さくない場合には、制御を機能ブロック５６８に受け渡し、小さい場合には、制御を機能ブロック５７０に受け渡す。機能ブロック５６８は、他の各インター・モードをチェックし、制御を機能ブロック５７０に受け渡す。次に、機能ブロック５７０は、他の各イントラ・モードをチェックし、制御を機能ブロック５７２に受け渡す。機能ブロック５７２は、最良のモードを選択し、制御をエンド・ブロック５８０に受け渡す。
【００３４】
従って、本発明の好ましい実施の形態においては、使用する可能性のあるモードの数を減少させることによりインターフレームのためのモード決定における演算量を低減するために新しいアルゴリズムが提供される。モードは、２つのカテゴリ、即ち、インター・モードおよびイントラ・モードに分割される。インター・モードは、ＳＫＩＰ（およびＢピクチャのためのＤＩＲＥＣＴ）モード、異なるブロック・タイプ（具体的には、１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４）を含んでいる。イントラ・モードは、ＩＮＴＲＡ４×４およびＩＮＴＲＡ１６×１６を含んでいる。説明のため、Ｐピクチャを使用する。同じ考え方をＢピクチャにも適用することが可能である。Ｂピクチャについては、このような例示的な実施の形態に係るアルゴリズムにおいて、ＳＫＩＰモードおよびＤＩＲＥＣＴモードが同様に扱われ、サブマクロブロック・パーティションにおいては、また、サブマクロブロックのための最良のモードを選択するのにＤＩＲＥＣＴモードが考慮される。
【００３５】
各実施の形態は、４つの技術的なカテゴリを提供し、これらは、一緒に、または、別個に適用される。
【００３６】
１つのカテゴリは動きベクトル決定のためのものである。このカテゴリにおいては、まず、二次モード（ｑｕａｄｒａｔｉｃ  ｍｏｄｅｓ）、即ち、ＳＫＩＰ、１６×１６、８×８、４×４をチェックする。つまり、「二次モード」は、チェックされるべきモードの特定のサブセット（部分集合）であり、これらは４つのモード、ＳＫＩＰ、１６×１６、８×８、および４×４である。他の非二次モードをチェックする必要性は、二次モードの（動き自体、動きベクトルの予測値およびリファレンス値（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ  ａｎｄ  ｒｅｆｅｒｅｎｃｅ））を含む動きベクトル情報に基づくものである。このカテゴリの決定は、１つのオブジェクトを分割するような小さなブロック・サイズよりも１つのオブジェクトを含むような最大のブロック・サイズを選択する方が効率がよいという前提に基づく。まず、ＳＫＩＰモードおよび１６×１６モードをチェックし、Ｊ（ＳＫＩＰ）＜Ｊ（１６×１６）（簡略化のため、ＭＯＤＥを評価する（等式２）の場合の関数Ｊを表すためにＪ（ＭＯＤＥ）と記載する）であり、１６×１６に残差が無い場合、ＳＫＩＰが１６×１６の場合と同様の動きベクトル情報を有するかどうかをチェックする。１６×１６の場合と同様の動きベクトル情報を有する場合には、ＳＫＩＰが選択され、他のインター・モードをチェックする必要はない。１６×１６の場合と同様の動きベクトル情報を有さない場合には、１６×１６および８×８をチェックし、これらが同様の動きベクトル情報を有する場合、即ち、４つの８×８動きベクトルが１つの１６×１６と同じ情報を有している場合には、１６×８、８×１６をチェックしないが、そうでない場合には、まず、１６×８、８×１６のそれぞれのために（等式１）における上述した動きベクトルおよびリファレンス選択を実行する。１６×８が１６×１６の場合と同様の動き情報を有する場合には、ＲＤＯ計算は必要とはならない。なぜならば、Ｊ（１６×８）は、Ｊ（１６×１６）よりも大きいと考えられるからである。
【００３７】
必要ではないが、動きベクトルの予測値をこのような決定の範囲内にすることも考えられる。なぜならば、動きベクトルの予測値が同一であれば、Ｊ（１６×１６）が小さくなることが確かだからである。同じ処理を８×１６に対しても行うことができる。次に、４×４をチェックする。８×８ブロックにおけるサブパーティションの各々に対し、４つの４×４の各々の動きベクトルが８×８のブロックの場合と同一の値を有する場合には、４×８および８×４をチェックする必要がない。そうでない場合には、まず、４×８および８×４の各々のために動きベクトルおよびリファレンス選択を実行する。２つの８×４のブロックが８×８のブロックと同じ動き値を有する場合には、ＲＤＯ計算が必要でない。なぜならば、Ｊ（８×４）は、Ｊ（８×８）よりも大きいと考えられるからである。同じ処理を４×８のために行うことも可能である。図３は、動きベクトル決定の例を示している。この処理は、整数動き推定の直後に実行することもできる。上述した各モードの整数動きベクトルが同一であれば、サブピクセル・リファインメント（ｓｕｂ‐ｐｉｘｅｌ  ｒｅｆｉｎｅｍｅｎｔ）を完全に回避することができ、演算量をさらに低減させることができる。
【００３８】
別のカテゴリは、隣接（ｎｅｉｇｈｂｏｒｈｏｏｄ）決定のために使用される。Ｈ．２６４は、ブロック符号化構造を使用し、オブジェクトは、ブロック境界を越えることが多い。このカテゴリにおいては、モード決定をより高速に行うために隣接情報を利用する。
【００３９】
上側のマクロブロックのモードが１６×１６であり、左側のマクロブロックが１６×８である場合には、現在のマクロブロックは１６×８である可能性が高い。必要であれば、右上や、以前のピクチャ、またはリファレンス・ピクチャにおいて共に位置した（ｃｏ‐ｌｏｃａｔｅｄ）ものなど、他の隣接したマクロブロックのモードを考慮することにより、このアプローチをさらに推し進めることができる。この場合、ＳＫＩＰ、１６×１６、および１６×８のみをチェックすればよく、他のインター・モードを完全に無視することができる。８×１６についても同様に考慮することができる。具体的には、左側のマクロブロックが１６×１６であり、上側のマクロブロックが８×１６である場合には、ＳＫＩＰ、１６×１６、および８×１６のみをチェックすればよい。同様の基準をサブマクロブロック・モード決定にも使用することができる。即ち、上側の８×８ブロックのモードが８×８であり、左側のモードが８×４である場合には、８×４のみを調べればよい。上側の８×８のモードが４×８であり、左側のモードが８×８であれば、４×８のみをチェックすればよい。上側マクロブロックおよび左側マクロブロックのモードがイントラであれば、ＳＫＩＰ、１６×１６、およびイントラ・モードのみをチェックすればよい。
【００４０】
比較的に同様の決定を時間的に隣接したマクロブロック（即ち、共に位置する（ｃｏ‐ｌｏｃａｔｅｄ）マクロブロック）を用いることにより適用することができる。具体的には、特定のモード（即ち、１６×１６）を調べた後、最良のモードと関連する動き情報がこの時間的に隣接したマクロブロックのものと同一である場合には、直ちにモード決定を終了し、これ以上他のモードを調べることを回避することができる。この処理は、関連する歪みを考慮することによりさらに良好に行うこともできる（例えば、現在のマクロブロックの歪みが共に位置するマクロブロックの歪みや他の時間的および／または空間的に隣接したマクロブロックの歪みよりも少ない場合、終了するのが正しい可能性がより高くなる）。
【００４１】
さらに別のカテゴリは、ミックスド・インター／イントラ・モード決定のためのものである。一般的に、全てのインター・モードはイントラ・モードの前にチェックされる。このカテゴリにおいては、インター・モードおよびインター・モードのチェックする順番をミックスさせた技術を紹介する。２つの閾値（Ｔ１およびＴ２、Ｔ１＞Ｔ２）が設定される。まず、ＳＫＩＰおよび１６×１６をチェックする。ＭＣ２で示すこれらの２つの最小のコストがＴ１よりも大きい場合には、継続してイントラ・モードをチェックし、他のインター・モードはチェックしない。ＭＣ２がＴ２よりも大きい場合には、まず、ＩＮＴＲＡ４×４ＤＣモードをチェックする。コストがａ×ＭＣ２＋ｂ（ａおよびｂは所与のウエイト／オフセット・パラメータ）よりも小さい場合には、イントラ・モードのみがチェックされ、そうでない場合には、インター・モードおよびイントラ・モードの双方がチェックされる。図４は、ミックスド・インター／イントラ・モード決定の例を示している。
【００４２】
別のカテゴリは早期停止決定のためのものである。使用する可能性のある全てのモードを完全にチェックする代わりに、本発明の好ましい実施の形態においては、高速モード決定に達するための早期停止基準を使用する。各早期停止基準は、適応閾値処理メカニズム（ａｄａｐｔｉｖｅ  ｔｈｒｅｓｈｏｌｄｉｎｇ  ｍｅｃｈａｎｉｓｍ）に基づいて行われる。１つの特定のモードに対する１つの閾値が満たされた場合には、他の残ったモードをチェックすることやめる。（等式４）において本発明における１つのモードＴ（モード）のためにどのように閾値処理Ｔを選定するかの例が示されている。この等式において、α（モード）およびβ（モード）は、１つのモードのためのスカラー（ｓｃａｌａｒｓ）である。ＣＯＳＴは、（等式１）、（等式２）におけるＪ、ＳＡＤ、またはＳＳＤとすることができ、ＣＯＳＴｉは、ｉ番目の隣接ブロックのコストを示す。
【数６】
2007524279.tif 000008
【００４３】
本発明のこれらの特徴および利点、また、その他の特徴および利点は、本明細書の開示内容に基づいて関連する技術分野における当業者であれば容易に確認することができるであろう。本発明の原理が、ハードウエア、ソフトウエア、ファームウエア、特定用途プロセッサ、またはこれらを組み合わせた様々な形態で実施可能であることが理解できよう。
【００４４】
最も好ましくは、本発明の原理は、ハードウエアとソフトウエアとを組み合わせることにより実行される。さらに、ソフトウエアは、プログラム記憶装置に具体的な形態に実装されたアプリケーション・プログラムとして実施されることが好ましい。アプリケーション・プログラムは、好ましいアーキテクチャーを有するマシンに対してアップロードされ、このマシンにより実行可能なものであってもよい。好ましくは、マシンは、１つ以上の中央処理装置（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）、入出力（Ｉ／Ｏ）インターフェースを備えるコンピュータ・プラットフォーム上で実施される。このコンピュータ・プラットフォームは、オペレーション・システムとマイクロインストラクション・コードをさらに備えるものであってもよい。本明細書において記載された様々な処理および機能は、マイクロインストラクション・コードの一部であってもよいし、アプリケーション・プログラムの一部であってもよいし、これらを組み合わせたものであってもよく、ＣＰＵにより実行されるものでもよい。さらに、コンピュータ・プラットフォームには、追加のデータ記憶装置や、印刷機等、周辺機器を接続するようにしてもよい。
【００４５】
さらに、添付図面に描かれた構成要素としてのシステム・コンポーネントおよび方法の幾つかは、好ましくはソフトウエアの形態で実施されるため、システム・コンポーネントまたは処理機能ブロック間の実際の接続は、本発明の実施の形態のプログラムの仕方により異なるものであることが理解できよう。本明細書の開示内容に基づいて、関連する技術分野の当業者であれば、これらの本発明の実施例、構成例、また、同様の構成例、実施例を企図することも可能であろう。
【００４６】
添付図面を参照して例示的な実施の形態を説明したが、本発明はこのような具体的な実施の形態に限定されるものではなく、関連する技術分野の当業者であれば、このような実施の形態に対し、本発明の範囲または精神を逸脱することなく、様々な変形、改変が可能であることが理解できるであろう。このような変形、改変は全て、付随する請求の範囲に記載された本発明の範囲に含まれるように意図されたものである。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明の実施の形態に係る高速モード決定のためのビデオ符号器のブロック図である。
【図２】図２は、ビデオ復号器のブロック図である。
【図３】図３は、本発明の実施の形態に係る例示的な動きベクトル符号化決定処理のフローチャートである。
【図４】図４は、本発明の実施の形態に係る例示的なミックスド・イントラ／インター符号化決定処理のフローチャートである。
【図１】
2007524279.tif 000009
【図２】
2007524279.tif 000010
【図３】
2007524279.tif 000011
【図４】
2007524279.tif 000012
【手続補正書】
【提出日】平成19年6月15日(2007.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インター符号化されたフレームの現在のマクロブロックのモードを選択するためのビデオ符号化方法であって、
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップと、
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップと、
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップと、
のうち、少なくとも１つのステップを含む、前記ビデオ符号化方法。
【請求項２】
マクロブロック・モードのサブセットのための第１の各モードをチェックし、チェックされた第１の各モードの動きベクトル情報に応じて他のモードを選択的にチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項３】
前記第１の各モードがＳＫＩＰ、１６×１６、８×８、および４×４の二次モードからなる、請求項１に記載のビデオ符号化方法。
【請求項４】
少なくとも１つの隣接マクロブロックのマクロブロック・モードをチェックし、少なくとも１つのチェックされた隣接マクロブロックのマクロブロック・モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項５】
マクロブロック・モードのサブセットのコストをチェックし、チェックされたコストが所定の基準を満たす場合にイントラ符号化されたモードのみをさらにチェックし、前記チェックされた各モードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項６】
チェックされたマクロブロック・モードに応じて早期停止閾値を調整し、調整された早期停止閾値に達している場合にチェックされたマクロブロックのモードに応じて現在のマクロブロックのためのモードを選択するステップを含む、請求項１に記載のビデオ符号化方法。
【請求項７】
使用する可能性のあるブロック・サイズのサブセットのためだけに最初に動き推定を実行するステップと、
動き情報を使用して、他のブロック・サイズのための他の動き推定または演算量の計算を行うべきかどうかを判定するステップと、を含む、請求項１に記載のビデオ符号化方法。
【請求項８】
前記第１の各モードが最初にチェックされ、当該第１の各モードの動き情報が他のモードをチェックする必要があるかどうかを決定するのに使用される、請求項７に記載のビデオ符号化方法。
【請求項９】
空間的／時間的に隣接するマクロブロックおよびブロック・パーティション情報が使用可能なブロック・サイズのサブセットまたはチェックされるのに必要な他のイントラ／インター・モードを決定するのに使用される、請求項１に記載のビデオ符号化方法。
【請求項１０】
インター・モードおよびイントラ・モードの双方のサブセットのためにモード・チェックを最初に実行するステップと、
前記モード・チェックに応じて演算量を計算するステップと、
演算量を用いて他のインター・モードおよびイントラ・モードが実行されるべきかどうかを判定するステップと、
を含む、請求項１に記載のビデオ符号化方法。
【請求項１１】
前記早期停止基準が、他のインター・モードまたはイントラ・モードのチェックを停止するための適応閾値処理に基づく、請求項６に記載のビデオ符号化方法。
【請求項１２】
特定のモードを調べた後、空間的および／または時間的に隣接するマクロブロックが現在のマクロブロックの動き情報と特定の関係を有する場合に早期終了を行う、請求項１に記載のビデオ符号化方法。
【国際調査報告】
2007524279.tif 000013
2007524279.tif 000014
2007524279.tif 000015