(57)【要約】  複数のスーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードするビデオ・エンコーダ、およびこれに対応する方法が提供される。ビデオ・エンコーダは、画像に垂直に適用される帯域通過／高域フィルタを使用して、スーパーＭＢをフレーム・モードまたはフィールド・モードの一方に分類するエンコーダ（２００）を含む。
2008514120.tif 000002
【特許請求の範囲】
【請求項１】
複数のマクロブロックをマクロブロック群として割り当てることができる、複数のマクロブロックに分割可能な画像のビデオ・データをエンコードする装置であって、
モーション・アクティビティ検出器（２１０）と、
前記モーション・アクティビティ検出器（２１０）への前記ビデオ・データの入力に応答して、フレーム・モードまたはフィールド・モードの一方でのエンコードに前記マクロブロック群を割り当てるエンコーダ（２００）とを含む装置。
【請求項２】
前記マクロブロック群が、スーパー・マクロブロック（スーパーＭＢ）である、請求項１に記載の装置。
【請求項３】
前記モーション・アクティビティ検出器（２１０）が、帯域通過／高域フィルタである、請求項２に記載の装置。
【請求項４】
マクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）判定が、画像に対する前記帯域通過／広域フィルタの適用に応答して行われる、請求項３に記載の装置。
【請求項５】
前記スーパーＭＢが複数の画素を含み、前記エンコーダ（２００）が、帯域通過／高域フィルタの適応性しきい値を使用して前記複数の画素の少なくとも一部をエッジ画素として分類し、エッジ画素を加算してその合計を求め、前記合計を別の事前に指定されたしきい値と比較して、前記スーパーＭＢがフレーム・モードに分類されるかフィールド・モードに分類されるかを判定する、請求項３に記載の装置。
【請求項６】
スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードする装置であって、
スーパーＭＢに垂直に適用される帯域通過／高域フィルタを使用してピクチャ適応フレーム／フィールド（ＰＡＦＦ）判定を実行して、前記スーパーＭＢのそれぞれを画像内の動き領域または非動き領域として分類するエンコーダ（２００）を含み、
前記ＰＡＦＦ決定が、画像内の動き領域として分類されたスーパーＭＢの割合に基づいて行われる、装置。
【請求項７】
前記帯域通過／高域フィルタが、モーション・エッジを真のエッジと区別するように選択された適応性しきい値を使用する、請求項６に記載の装置。
【請求項８】
前記しきい値が、フレームごと、ＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）ごと、またはシーンごとに適応可能である、請求項７に記載の装置。
【請求項９】
前記帯域通過／高域フィルタが、１フィールド画像に適用され、前記適応性しきい値が、前記１フィールド画像内のエッジ画素の数が別のしきい値より小さい場合に選択される、請求項７に記載の装置。
【請求項１０】
前記エンコーダ（２００）が、さらに、しきい値処理の前にスーパーＭＢ内での位置および隣接する画素との相関の少なくとも１つに応じて前記エッジ画素に重み付けするために使用される、請求項８に記載の装置。
【請求項１１】
前記ＰＡＦＦ判定を、グループ・オブ・フレーム（ｇｒｏｕｐ  ｏｆ  ｆｒａｍｅ）タイプ、現在のピクチャと以前の参照ピクチャの間の絶対差、マクロブロック特性、フレーム分散、およびマクロブロック分散から選択される少なくとも１つを含むその他の基準と組み合わせる、請求項６に記載の装置。
【請求項１２】
前記ＰＡＦＦ判定が、ＧＯＰレベルで、現在のＧＯＰ内の全てのフレームに対して実行され、フィールド・モードで符号化すると決定されたフレームの数が事前に指定された割合より多い場合には、現在のＧＯＰに対してフィールド・モードが使用され、そうでない場合には、現在のＧＯＰに対してフレーム・モードが使用される、請求項６に記載の装置。
【請求項１３】
スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードするビデオ・エンコーダであって、画像内の個々のスーパーＭＢをフィールド・モードに分類するかフレーム・モードに分類するかを判断する事前分析判定を、ピクチャ適応フレーム／フィールド（ＰＡＦＦ）モード選択およびマクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）モード選択の両方に利用するエンコーダ（２００）を含む、前記エンコーダ。
【請求項１４】
複数のマクロブロックをマクロブロック群として割り当てることができる、複数のマクロブロックに分割可能な画像のビデオ・データをエンコードする方法であって、
前記マクロブロック群の一部についてしきい値を超える動きを検出するステップ（３０４〜３０６、４０４〜４０６、および５０４〜５０６）と、
前記検出ステップにおいて前記しきい値を超える動きが検出されたかどうかに応じて、フレーム・モードまたはフィールド・モードの一方でのエンコードに前記マクロブロック群を割り当てるステップとを含む、前記方法。
【請求項１５】
画像のビデオ・データをエンコードする方法であって、
前記画像に垂直に適用される帯域通過／高域フィルタを使用して、前記画像内のスーパー・マクロブロック（スーパーＭＢ）をフレーム・モードまたはフィールド・モードの一方に分類するステップ（４２０、４１４、４０４）を含む、前記方法。
【請求項１６】
マクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）決定に、前記帯域通過／高域フィルタによって得られた分類結果を利用するステップ（４０４、４２０、４１４）をさらに含む、請求項１５に記載の方法。
【請求項１７】
前記スーパーＭＢが複数の画素を含み、前記分類ステップが、
前記帯域通過／高域フィルタの適応性しきい値を使用して、前記複数の画素の少なくとも一部をエッジ画素として分類するステップ（４０６）と、
エッジ画素を加算してその合計を求めるステップ（４１０）と、
前記合計を別の事前に指定されたしきい値と比較して、前記スーパーＭＢがフレーム・モードに分類されるかフィールド・モードに分類されるかを判定するステップ（４１２）とを含む、請求項１５に記載の方法。
【請求項１８】
スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードする方法であって、
スーパーＭＢに垂直に適用される帯域通過／高域フィルタを使用してピクチャ適応フレーム／フィールド（ＰＡＦＦ）判定を実行して、前記スーパーＭＢのそれぞれを画像内の動き領域または非動き領域として分類するステップ（３０４、３１０、３１６、３２４、および３１８）を含み、
前記ＰＡＦＦ判定が、画像内の動き領域として分類されたスーパーＭＢの割合に基づいて行われる、前記方法。
【請求項１９】
前記帯域通過／高域フィルタが、エッジ検出フィルタである、請求項１８に記載の方法。
【請求項２０】
前記帯域通過／高域フィルタが、モーション・エッジを真のエッジと区別するように選択された適応性しきい値を使用する、請求項１８に記載の方法。
【請求項２１】
前記しきい値が、フレームごと、ＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）ごと、またはシーンごとに適応可能である、請求項２０に記載の方法。
【請求項２２】
前記帯域通過／高域フィルタが、１フィールド画像に適用され、前記適応性しきい値が、前記１フィールド画像内のエッジ画素の数が別のしきい値より小さい場合に選択される、請求項２０に記載の方法。
【請求項２３】
しきい値処理の前にスーパーＭＢ内での位置および隣接する画素との相関の少なくとも１つに応じて前記エッジ画素に重み付けするステップをさらに含む、請求項２１に記載の方法。
【請求項２４】
前記ＰＡＦＦ判定を、フレーム・タイプ、現在のピクチャと以前の参照ピクチャの間の絶対差、マクロブロック特性、フレーム分散、およびマクロブロック分散から選択される少なくとも１つを含むその他の基準と組み合わせる、請求項１８に記載の方法。
【請求項２５】
前記ＰＡＦＦ判定が、ＧＯＰレベルで、現在のＧＯＰ内の全てのフレームに対して実行され、フィールド・モードで符号化すると判定されたフレームの数が事前に指定された割合より多い場合には、現在のＧＯＰに対してフィールド・モードが使用され、そうでない場合には、現在のＧＯＰに対してフレーム・モードが使用される、請求項１８に記載の方法。
【請求項２６】
画像のビデオ・データをエンコードする方法であって、画像内の個々のスーパー・マクロブロック（スーパーＭＢ）をフィールド・モードに分類するかフレーム・モードに分類するかを判定する事前分析判定を、ピクチャ適応フレーム／フィールド（ＰＡＦＦ）モード選択およびマクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）モード選択の両方に利用するステップ（５０４、５３２、５１８、５３４、５２４）を含む、前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２００４年９月１６日出願の、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＲＡＰＩＤ  ＶＩＤＥＯ  ＦＲＡＭＥ  ＡＮＤ  ＦＩＥＬＤ  ＣＯＤＩＮＧ」と題する米国仮出願第６０／６１０，５１２号（整理番号第ＰＵ０４０２５８）の特典を請求するものである。
【０００２】
本発明は、一般にビデオ・エンコーダに関し、さらに詳細には、高速なビデオ・フレーム／フィールド符号化を行う方法および装置に関する。
【背景技術】
【０００３】
ＪＶＴ／Ｈ．２６４／ＭＰＥＧ  ＡＶＣ（「ＪＶＴ」）規格では、プログレッシブ・ビデオ・シーケンスおよびインタレース・ビデオ・シーケンスの両方をエンコードすることができ、異なる３つのピクチャ符号化モードに対応している。図１Ａから図１Ｃを参照すると、Ｈ．２６４のピクチャ符号化タイプを参照番号１１０、１２０および１３０で概略的に示してある。詳細には、参照番号１１０はフレーム符号化タイプの概略を示し、参照番号１２０はフィールド符号化タイプの概略を示し、参照番号１３０はマクロブロック（ＭＢ）適応フレーム／フィールド符号化タイプの概略を示している。
【０００４】
フレーム・ベースの符号化１１０では、先頭行と最終行をインタリーブすることによってピクチャを作成する。フィールド・ベースの符号化１２０では、インタレース・フレームをトップ・フィールドとボトム・フィールドに分離し、各フィールドを別個に符号化する。この規格は、マクロブロック適応フレーム／フィールド符号化（ＭＢＡＦＦ）モードと呼ばれる２次フレーム・モードにも対応している。このモードでは、フレームを１６×３２のスーパー・マクロブロックに分割する。これらの区画は、基本的には、ともにフィールド・モードまたはフレーム・モードの何れかで符号化される２つのマクロブロック（ＭＢ）を含む。また、この２つのフレーム・ピクチャ符号化モード（通常またはＭＢＡＦＦ）の何れか一方をフィールド・ピクチャと組み合わせて、エンコーダの柔軟性を高め、性能を向上させることもできる。ただし、その場合には、エンコーダは、使用するピクチャ符号化モードを適応的に選択する機能（ピクチャ適応フレーム／フィールド符号化、ＰＡＦＦ）を有している必要がある。
【０００５】
一般に、高速な動きを含むインタレース・フレームの場合には、各フィールドを別個に圧縮した方が効率的であることがある。一方、フレームが動き領域および静止領域の両方を含む場合には、通常は、動き領域はフィールド・モードで符号化し、静止領域はＭＢＡＦＦ符号化を用いてフレーム・モードで符号化するとより効率的である。
【０００６】
ピクチャ・レベル・フレーム／フィールド符号化（ＰＡＦＦ）ツールおよびマクロブロック・レベル・フレーム／フィールド符号化（ＭＢＡＦＦ）ツールは、Ｈ．２６４ビデオ符号化規格において、インタレース・シーケンスの符号化効率を向上させるためのメイン・プロファイルおよび拡張プロファイルに採用された。ＰＡＦＦ決定は、２つの相補的なフィールド含む現在のインタレース・フレームを単一のフレームとして符号化するか（フレーム・モード）、２つの別個の符号化フィールドとして符号化するか（フィールド・モード）を判定するために使用される。これに対して、ＭＢＡＦＦ決定は、１６×３２のスーパー・マクロブロック（スーパーＭＢ）、すなわち垂直方向に隣接する一対のマクロブロックを含む特殊構造フレーム・モードで使用され、スーパーＭＢをフィールド・モードで符号化するかフレーム・モードで符号化するかを判定する。
【０００７】
従って、インタレース・シーケンスの符号化では複数の組合せが可能である。具体的に言うと、それぞれのフレームを、スーパーＭＢ分割を行わずに単一の非インタレース・フレームとして符号化することも、２つの相補的なフィールドとして符号化することもできる（ＰＡＦＦモード）。第２の選択肢として、シーケンス全体をＭＢＡＦＦモードで符号化することもできる。この場合には、各フレームを、複数のフィールド・スーパーＭＢ区画からなるフレームを含む単一のフレームとして符号化する（ＭＢＡＦＦモード）。最後に、上記２つの判定を組み合わせて、複数のフレーム・スーパーＭＢ区画またはフィールド・スーパーＭＢ区画からなる単一のフレームとして、あるいは２つの相補的なフィールドとして、フレームを符号化することもできる（ＰＡＦＦ＋ＭＢＡＦＦ）。
【０００８】
ＪＶＴ参照ソフトウェアでは、符号化モードを判定するためにマルチパス手法を用いる。ＰＡＦＦを使用する場合には、最初にフレーム・モードおよびフィールド・モードの両方でフレームを符号化する。最終的なモードには、ラグランジュ歪みＪ＝Ｄ＋λＲが最小となるものが選択される。ここで、Ｄは歪み、Ｒはレート、λはラグランジュ乗数である。同様に、ＭＢＡＦＦを使用する場合には、最初にフレーム・モードおよびフィールド・モードの両方で、各スーパーＭＢ区画（すなわち垂直方向に隣接する２つのＭＢのグループ）を符号化する。この場合も、このスーパーＭＢの最終的なモードには、ラグランジュ歪みが最小となるものが選択される。最後に、ＰＡＦＦおよびＭＢＡＦＦを両方とも考慮する場合には、このエンコード・プロセスは、上記のＰＡＦＦ符号化方法およびＭＢＡＦＦ符号化方法の組合せとみなすことができる。すなわち、フレームは、最初にＭＢＡＦＦを用いてフレーム・モードで符号化される。すなわち、各スーパーＭＢが、前述のＭＢＡＦＦ決定に基づいてフィールド・モードまたはフレーム・モードの何れかで符号化される。同じフレームが２つの別個のフィールドとしても符号化され、最終的な符号化モード（ＭＢＡＦＦフレームまたはフィールド）はＰＡＦＦ判定に基づいて決定される。
【０００９】
これらのツールを採用することによって、インタレース・シーケンスの符号化の柔軟性は向上するが、その一方で、複雑さは大幅に増大している。
【００１０】
従って、高速であり、且つ／または複雑さを軽減したＰＡＦＦおよびＭＢＡＦＦ判定を行う方法および装置があれば望ましく、非常に有利である。
【発明の開示】
【００１１】
（発明の概要）
上記その他の従来技術の欠点に鑑み、本発明の目的は、高速なビデオ・フレーム／フィールド符号化を行う方法および装置を提供することである。
【００１２】
本発明の一態様によれば、複数のスーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードするビデオ・エンコーダが提供される。このビデオ・エンコーダは、画像に垂直に適用される帯域通過／高域フィルタを使用して、画像内のスーパーＭＢをフレーム・モードまたはフィールド・モードの一方に分類するエンコーダを含む。
【００１３】
本発明の別の態様によれば、スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードするビデオ・エンコーダが提供される。このビデオ・エンコーダは、各スーパーＭＢに垂直に適用される帯域通過／高域フィルタを使用してピクチャ適応フレーム／フィールド（ＰＡＦＦ）判定を実行して、それぞれのスーパーＭＢを画像内の動き領域または非動き領域として分類するエンコーダを含む。ＰＡＦＦ決定は、画像内の動き領域として分類されたスーパーＭＢの割合に基づいて行われる。
【００１４】
本発明の別の態様によれば、スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードするビデオ・エンコーダが提供される。このビデオ・エンコーダは、画像内の個々のスーパーＭＢをフィールド・モードに分類するかフレーム・モードに分類するかを判定する事前分析判定を、ピクチャ適応フレーム／フィールド（ＰＡＦＦ）モード選択およびマクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）モード選択の両方に利用するエンコーダを含む。
【００１５】
本発明の別の態様によれば、画像のビデオ・データをエンコードする方法が提供される。この方法は、画像に垂直に適用される帯域通過／高域フィルタを使用して、画像内のスーパー・マクロブロック（スーパーＭＢ）をフレーム・モードまたはフィールド・モードの一方に分類するステップを含む。
【００１６】
本発明の別の態様によれば、スーパー・マクロブロック（スーパーＭＢ）に分割可能な画像のビデオ・データをエンコードする方法が提供される。この方法は、スーパーＭＢに垂直に適用される帯域通過／高域フィルタを使用してピクチャ適応フレーム／フィールド（ＰＡＦＦ）判定を実行して、スーパーＭＢのそれぞれを画像内の動き領域または非動き領域として分類するステップを含む。ＰＡＦＦ判定は、画像内の動き領域として分類されたスーパーＭＢの割合に基づいて行われる。
【００１７】
本発明の別の態様によれば、画像のビデオ・データをエンコードする方法が提供される。この方法は、画像内の個々のスーパー・マクロブロック（スーパーＭＢ）をフィールド・モードに分類するかフレーム・モードに分類するかを判定する事前分析判定を、ピクチャ適応フレーム／フィールド（ＰＡＦＦ）モード選択およびマクロブロック適応フレーム／フィールド（ＭＢＡＦＦ）モード選択の両方に利用するステップを含む。
【００１８】
本発明の上記その他の態様、特徴、および利点は、以下の例示的な実施形態の詳細な説明を添付の図面と関連付けて読めば明らかになるであろう。
【００１９】
本発明は、添付の例示的な図面を参照することでより深く理解することができる。
【発明を実施するための最良の形態】
【００２０】
本発明は、高速なビデオ・フレーム／フィールド符号化を行う方法および装置に関する。この方法および装置は、事前分析ステージにおいて実行することができる。
【００２１】
本明細書では、本発明の原理を例示する。従って、当業者なら、本明細書では明確には記述または図示していないが本発明の趣旨および範囲に含まれる、本発明の原理を実施する様々な構成を考案することができるであろう。
【００２２】
本明細書に記載する全ての実施例および条件に関する表現は、本発明の原理と当技術分野の進歩の助けとすべく本発明者が与える概念とを読者が理解するのを助けるための教育的な目的を有するものであり、本発明は、これら具体的に列挙した実施例および条件に限定されないものと解釈されたい。
【００２３】
さらに、本発明の原理、態様および実施形態ならびに本発明の具体的な実施例に関する本明細書の全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現時点で既知の均等物と将来開発されるであろう均等物の両方が含まれる、すなわち、その構造にかかわらず、同じ機能を実行する将来開発される任意の要素が含まれるものとする。
【００２４】
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、コンピュータまたはプロセッサ（明示してある場合も明示していない場合もある）によって実行される様々なプロセスを表すことも理解されたい。
【００２５】
図面に示す様々な要素の機能は、専用のハードウェア、および適当なソフトウェアと連動してソフトウェアを実行することができるハードウェアを使用して実現することができる。プロセッサによって実現するときには、これらの機能は単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実施することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するための読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）および不揮発性記憶装置（これらに限定されない）を暗に含むことがある。
【００２６】
従来の、且つ／または特注のその他ハードウェアも含まれることがある。同様に、図面に示すどのスイッチも、概念的なものに過ぎない。スイッチの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業によっても実施することができ、実施する者が状況から具体的に判断して特定の技術を選択することができる。
【００２７】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、例えば（ａ）当該機能を実行する回路素子の組合せや、（ｂ）ファームウェアやマイクロコードなども含む任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなど、当該機能を実行する任意の方法を含むものとする。特許請求の範囲に定義される本発明は、列挙する様々な手段によって実施される機能を、特許請求の範囲が要求するかたちで組み合わせることにある。従って、これらの機能を実施することができるあらゆる手段は、本明細書に示す手段の均等物とみなすものとする。
【００２８】
以下、本発明の概要を説明し、その後に本発明の様々な態様についてさらに詳細に説明する。
【００２９】
図２を参照すると、高速ピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）判定、またはＰＡＦＦおよびマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）判定を行うビデオ・エンコーダの全体を、参照番号２００で示してある。
【００３０】
ビデオ・エンコーダ２００への入力は、モーション・アクティビティ（ｍｏｔｉｏｎ  ａｃｔｉｖｉｔｙ）検出器２１０の入力に信号通信される。モーション・アクティビティ検出器２１０の第１の出力は、フレーム・モードまたはＭＢＡＦＦフレーム・モード・コーダ２３０の第１の入力、およびＰＡＦＦ判定モジュール２２０の入力に信号通信される。ＰＡＦＦ判定モジュール２２０の出力は、ＰＡＦＦ判定モジュール２２０の出力に応じて、フレーム・モードまたはＭＢＡＦＦフレーム・モード・コーダ２３０の第２の入力、およびフィールド・モード・コーダ２４０の第１の入力に信号通信することができる。フレーム・モードまたはＭＢＡＦＦフレーム・モード・コーダ２３０の出力またはフィールド・モード・コーダ２４０の出力を、ビデオ・エンコーダ２００の出力として取り出すことができる。
【００３１】
本発明の例示的な一実施形態では、帯域通過／高域フィルタを画像に適用して、当該画像内の動き領域（ｍｏｔｉｏｎ  ｒｅｇｉｏｎ）を検出する。ＰＡＦＦ判定は、画像内の動き領域として分類されたスーパーＭＢの割合に応じて実行される。同様に、ＭＢＡＦＦ判定は、対応するスーパーＭＢもまた動き領域に対応するとして分類されるか否かに応じて実行される。モーション・エッジ（ｍｏｖｉｎｇ  ｅｄｇｅ）の検出中には、適応しきい値が適用される。
【００３２】
本発明の実施形態では、一般的に、動き領域は通常はフィールド符号化を用いることで最適に符号化されるが、静止領域はフレーム・モードを用いた方が良好に符号化されるという基本前提を暗に含む。
【００３３】
本発明の上記実施形態についてさらに説明する。本発明は、以下の３つのステップを含むと考えることができる。
【００３４】
第１のステップでは、帯域通過／高域フィルタを画像に適用して、画像中の動き領域を検出する。帯域通過／高域フィルタは、例えばこのフィルタが画像内のインタレース・アーチファクト（モーション・エッジ）に及ぼす影響を考慮することによって、画像中の動き領域を検出する。帯域通過／高域フィルタは、エッジ検出に使用されるフィルタ、エッジ検出器、および／または画像もしくは画像の一部の中の動き領域を検出することができるその他の任意の素子にすることができるが、これらに限定されるわけではない。帯域通過／高域フィルタは、画像に対して垂直に適用されることが好ましいが、必ずしもそうすることが必要というわけではない。
【００３５】
第２のステップでは、各スーパーＭＢに対してマスクを作成する。スーパーＭＢのフィルタリング済みの画素の値に基づいて、スーパーＭＢが動きのあるスーパーＭＢである場合には、マスクは１に設定され、スーパーＭＢが動きのあるスーパーＭＢでない場合には、マスクは０に設定される。
【００３６】
第３のステップは、独立して実行する（すなわち一方のみを実行する）ことも組み合わせて実行する（すなわち両方を実行する）こともできる２つの部分（サブステップ）を含むとみなすことができる。
【００３７】
第３のステップの第１の部分は、ＰＡＦＦ判定を使用するときに実行される。この場合には、動きのあるスーパーＭＢの数もカウントし、その割合がしきい値Ｔ１より大きい場合には、フレームをフィールド・モードで符号化する。そうでない場合には、フレームをフレーム・モードで符号化する。
【００３８】
第３のステップの第２の部分は、ＭＢＡＦＦ判定を使用するときに実行される。この場合には、現在のスーパーＭＢのマスクが１に等しい場合には、現在のスーパーＭＢをフィールド・モードで符号化する。相でない場合には、現在のスーパーＭＢをフレーム・モードで符号化する。
【００３９】
上述のように、第３のステップの第１の部分および第２の部分を組み合わせて、２ステップのＰＡＦＦ／ＭＢＡＦＦ判定を行うこともできる。この場合には、ＰＡＦＦ判定を最初に行い、ＰＡＦＦ判定によってフレームが選択された場合に、ＭＢＡＦＦ判定を行う。
【００４０】
図３を参照すると、高速なピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）判定を行う方法の全体を、参照番号３００で示してある。方法３００は、機能ブロック３０４に制御を移す開始ブロック３０２を含む。機能ブロック３０４では、高域／帯域通過フィルタを画像に垂直に適用し、制御を機能ブロック３０６に移す。機能ブロック３０６では、画像にしきい値を適用し、制御をループ端ブロック３０８に移す。ループ端ブロック３０８では、ループを開始し、変数ｉを０からｓｕｐｅｒＭＢｓ＿ｉｎ＿ｐｉｃ−１にループ（ｌｏｏｐ）し、制御を機能ブロック３１０に移す。機能ブロック３１０では、スーパーＭＢ「ｉ」内のしきい値画像の値の合計に基づいてスーパーＭＢ「ｉ」のマスク値ＭＡＳＫ（ｉ）を計算し、制御を判定ブロック３１２に移す。判定ブロック３１２では、マスク値ＭＡＳＫ（ｉ）が１に等しいか否かを判定する。マスク値Ｍａｓｋ（ｉ）が１に等しくない場合には、制御はループ端ブロック３１４に移る。そうでない場合、すなわちマスク値ＭＡＳＫ（ｉ）が１に等しい場合には、制御は機能ブロック３２２に移る。
【００４１】
ループ・エンド・ブロック３１４では、ループを終了させ、制御を決定ブロック３１６に移す。決定ブロック３１６では、カウンタ変数が事前に指定されたしきい値より大きいか否かを判定する。カウンタ変数が事前に指定されたしきい値より大きくない場合には、制御は機能ブロック３１８に移る。そうでない場合、すなわちカウンタ変数が事前に指定されたしきい値より大きい場合には、制御は機能ブロック３２４に移る。
【００４２】
機能ブロック３１８では、フレーム・ピクチャ・モードで符号化を行い、制御を終了ブロック３２０に移す。
【００４３】
機能ブロック３２２では、カウンタを１だけ増分し、制御をループ端ブロック３１４に移す。
【００４４】
機能ブロック３２４では、フィールド・ピクチャ・モードで符号化を行い、制御を終了ブロック３２０に移す。
【００４５】
図４を参照すると、高速なマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）決定を実行する方法の全体を、参照番号４００で示してある。方法４００は、機能ブロック４０４に制御を移す開始ブロック４０２を含む。機能ブロック４０４では、高域／帯域通過フィルタを画像に垂直に適用し、制御を機能ブロック４０６に移す。機能ブロック４０６では、画像にしきい値を適用し、制御をループ端ブロック４０８に移す。ループ端ブロック４０８では、ループを開始し、変数ｉを０からｓｕｐｅｒＭＢｓ＿ｉｎ＿ｐｉｃ−１にループし、制御を機能ブロック４１０に移す。機能ブロック４１０では、スーパーＭＢ「ｉ」内のしきい値画像の値の合計に基づいてスーパーＭＢ「ｉ」のマスク値ＭＡＳＫ（ｉ）を計算し、制御を決定ブロック４１２に移す。判定ブロック４１２では、マスク値ＭＡＳＫ（ｉ）が１に等しいか否かを判定する。マスク値Ｍａｓｋ（ｉ）が１に等しくない場合には、制御は機能ブロック４１４に移る。そうでない場合、すなわちマスク値ＭＡＳＫ（ｉ）が１に等しい場合には、制御は機能ブロック４２０に移る。
【００４６】
機能ブロック４１４では、フレーム・スーパーＭＢモードで符号化を行い、制御をループ端ブロック４１６に移す。ループ端ブロック４１６では、ループを終了し、制御を終了ブロック４１８に移す。
【００４７】
機能ブロック４２０では、フィールド・スーパーＭＢモードで符号化を行い、制御をループ端ブロック４１６に移す。
【００４８】
図５を参照すると、高速なピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）判定および高速なマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）判定を行う方法の全体を、参照番号５００で示してある。方法５００は、機能ブロック５０４に制御を移す開始ブロック５０２を含む。機能ブロック５０４では、高域／帯域通過フィルタを画像に垂直に適用し、制御を機能ブロック５０６に移す。機能ブロック５０６では、画像にしきい値を適用し、制御をループ端ブロック５０８に移す。ループ端ブロック５０８では、ループを開始し、変数ｉを０からｓｕｐｅｒＭＢｓ＿ｉｎ＿ｐｉｃ−１にループし、制御を機能ブロック５１０に移す。機能ブロック５１０では、スーパーＭＢ「ｉ」内のしきい値画像の値の合計に基づいてスーパーＭＢ「ｉ」のマスク値ＭＡＳＫ（ｉ）を計算し、制御を判定ブロック５１２に移す。判定ブロック５１２では、マスク値ＭＡＳＫ（ｉ）が１に等しいか否かを判定する。マスク値Ｍａｓｋ（ｉ）が１に等しくない場合には、制御はループ端ブロック５１４に移る。そうでない場合、すなわちマスク値ＭＡＳＫ（ｉ）が１に等しい場合には、制御は機能ブロック５３０に移る。
【００４９】
ループ端ブロック５１４では、ループを終了させ、制御を判定ブロック５１６に移す。判定ブロック５１６では、カウンタ変数が事前に指定されたしきい値より大きいか否かを判定する。カウンタ変数が事前に指定されたしきい値より大きくない場合には、制御は機能ブロック５１８に移る。そうでない場合、すなわちカウンタ変数が事前に指定されたしきい値より大きい場合には、制御は機能ブロック５３２に移る。
【００５０】
機能ブロック５１８では、フレーム・ピクチャ・モードで符号化を行い、制御をループ制御ブロック５２０に移す。ループ制御ブロック５２０では、ループを開始し、変数ｉを０からｓｕｐｅｒＭＢｓ＿ｉｎ＿ｐｉｃ−１にループし、制御を判定ブロック５２２に移す。
【００５１】
判定ブロック５２２では、ブロック５１０で事前に計算したデータに基づいて、マスク値ＭＡＳＫ（ｉ）が１に等しいか否かを判定する。マスク値Ｍａｓｋ（ｉ）が１に等しくない場合には、制御は機能ブロック５２４に移る。そうでない場合、すなわちマスク値ＭＡＳＫ（ｉ）が１に等しい場合には、制御は機能ブロック５３４に移る。
【００５２】
機能ブロック５２４では、フレーム・スーパーＭＢモードで符号化を行い、制御をループ端ブロック５２６に移す。ループ端ブロック５２６では、ループを終了し、制御を終了ブロック５２８に移す。
【００５３】
機能ブロック５３０では、カウンタを１だけ増分し、制御をループ端ブロック５１４に移す。ループ端ブロック５１４では、ループを終了し、制御を判定ブロック５１６に移す。
【００５４】
機能ブロック５３２では、フィールド・ピクチャ・モードで符号化を行い、制御を終了ブロック５２８に移す。
【００５５】
機能ブロック５３４では、フィールド・スーパーＭＢモードで符号化を実行し、制御をループ端ブロック５２６に移す。
【００５６】
以下、上述の本発明の様々な態様に関してさらに説明する。
【００５７】
次に、帯域フィルタｋＢＰに関してさらに説明する。対象が背景の前で水平方向に移動する場合を考慮する場合には、各奇数フィールドが通常はその前の偶数フィールドより正確に１フィールド分だけ遅れて取り込まれるので、当該対象のエッジに沿ってインタレース・アーチファクト（すなわちモーション・エッジ）が観測される。これらのインタレース・アーチファクトを検出することによって、この対象が動いているかどうかを判定することができる。本明細書で使用する「帯域通過フィルタ」という表現は、高域フィルタ、および本明細書に記載するようにインタレース・アーチファクトを検出することができる任意のタイプのフィルタを含むものとして用いていることを理解されたい。これらのフィルタは、現在のフレームの垂直軸に沿って適用することができる。
【００５８】
帯域通過フィルタを現在のフレームに適用した後で、モーション・エッジが画像中に存在するか否かを判定する。フィルタリング後は、フィルタリング済みの出力はＩＢＰ（ｘ，ｙ）であるものと仮定する。
【００５９】
次に、スーパーＭＢのマスクの作成についてさらに説明する。
【００６０】
しきい値処理済みの画像Ｍ（ｘ，ｙ）は、絶対値ＩＢＰ（ｘ，ｙ）を取り込み、その値をしきい値Ｔ１と比較することによって生成される。すなわち、以下のようになる。
【００６１】
【数１】
2008514120.tif 000003
【００６２】
スーパーＭＢ  Ｅのマスクは、次のように設定される。
【００６３】
【数２】
2008514120.tif 000004
【００６４】
スーパーＭＢ  Ｅのマスクを決定する代替の方法では、以下のように、しきい値Ｔｅｎｅｒｇｙをフィルタリング済みの画素の絶対値の合計と比較する。
【００６５】
【数３】
2008514120.tif 000005
【００６６】
ＰＡＦＦ判定の場合、
【００６７】
【数４】
2008514120.tif 000006
である場合には、フレームをフィールド・モードで符号化し、そうでない場合には、フレームをフレーム・モードで符号化する。ここで、ＢはスーパーＭＢの集合である。ＭＢＡＦＦ判定の場合は、ＭＡＳＫ（Ｅ）＝１である場合には、スーパーＭＢ  Ｅをフィールド・モードで符号化し、そうでない場合には、スーパーＭＢをフレーム・モードで符号化する。
【００６８】
数式１および数式２でも動きのあるスーパーＭＢの検出には十分であるとも考えられるが、これはマクロブロックまたはブロック内の画素の実際の位置（ｘ，ｙ）をエンコードしている間の影響を考慮していない。例えば、特にイン・ループ・デブロッキング・フィルタの影響により、ブロックのエッジ画素の重要性が、比較用のブロックの中心部の画素に比べて低くなることもある。一方、重要性は、隣接する画素どうしの間の相関によって増減することもある。従って、考えられるＭＡＳＫ（Ｅ）の代替計算方法には、次のようなものがある。
【００６９】
【数５】
2008514120.tif 000007
ここで、ａ（ｘ，ｙ）は、位置（ｘ，ｙ）、ならびに当該位置およびその隣接する位置におけるＩＢＰ（．）の値の相関によって決まる値である。例えば、４×４のブロックでは、次のようになる。
【００７０】
【数６】
2008514120.tif 000008
【００７１】
エッジ検出フィルタは、インタレース・アーチファクト（モーション・エッジ）および真のエッジの両方を検出することができる。偽陽性検出の可能性を低減するために、数式１中のしきい値Ｔ１は、フレーム内の最初のフィールド（トップ・フィールドと仮定する）の特性に基づいて適応的に選択される。同じフィルタＫＢＰをこのフィールドに垂直に適用する。このフィールド内のエッジの比率がＴ４未満である、すなわち
【００７２】
【数７】
2008514120.tif 000009
である場合には、しきい値を選択する。ここで、Ｗはフレームの幅、Ｈはフレームの高さである。このしきい値は、フレームごと、ＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）ごと、またはシーンごとに決定することができる。本明細書で使用する「ＧＯＰ」という用語は、Ｉピクチャの後にＰピクチャおよびＢピクチャが続くものを指す。さらに、本明細書で使用する「シーンごと」という表現は、シーン変更とシーン変更の間のピクチャを指す。その他のしきい値は、経験的に決定することができる。１つの例では、Ｔ２＝０、Ｔ３＝０．５、Ｔ４＝０．１と設定する。もちろん、本発明は前述の値に限定されず、従って、本発明の範囲を逸脱することなく、その他の値を利用することもできる。
【００７３】
上記の決定は、現在のフレームとその前の参照フレームの間の絶対差の平均（ａｖｇｄｉｆｆと呼ぶ）、フレーム・タイプ（ｉｍａｇｅ＿ｔｙｐｅと呼ぶ）、あるいはマクロブロック特性（例えば平坦、エッジ付き、テクスチャ付きなど）、フレームまたはＭＢの分散など、その他の基準とあわせて適用することもできるが、これらの測定基準によって、必要なしきい値の自動適応を行うこともできるようになる。ＰＡＦＦ判定の一例を、例えば以下のようになる。
if (image_type == I_SLICE)
{
if (hist_edge <0.5)
Code as frame mode;
else
Code as field mode;
}
else if (image_type == B_SLICE)
{   
if (hist_edge <0.6)
Code as frame mode;
else
Code as field mode; 
}
else  //P_slice
{
if ((hist_edge >0.5)||(hist_edge>0.3)&&(avgdiff>4.5)&&(avgdiff<10.0))
Code as field mode;
else
Code as frame mode;
}
【００７４】
本発明は、ＧＯＰレベルのフレーム／フィールド決定に容易に適応させることもできる。例えば、本明細書に記載のＰＡＦＦ決定は、現在のＧＯＰ中の全てのフレームに適用することができる。フィールド・モードで符号化すべきフレームの数が一定の割合より多い場合には、ＧＯＰ全体に対してフィールド・モード符号化のみを使用すればよく、そうでない場合にはフレーム・モードを使用する。
【００７５】
次に、本発明の多くの付随的な利点／特徴のうちのいくつかについて説明する。例えば、１つの利点／特徴は、エンコーダが、事前分析ステージで、垂直帯域通過フィルタを使用してピクチャ・レベル適応フレームまたはフィールド決定（ＰＡＦＦ）を実行することである。ＰＡＦＦ決定は、画像内の動き領域として分類されたスーパーＭＢの割合に基づいて実行される。別の利点／特徴は、上述のエンコーダにおいて、帯域通過フィルタがエッジ検出フィルタであることである。さらに別の利点／特徴は、上述のエンコーダにおいて、帯域通過フィルタがモーション・エッジを真のエッジとは異ならせるように選択される適応性しきい値を使用し、このしきい値をフレームごと、ＧＯＰごと、またはシーンごとに適応させることができることである。さらに別の利点／特徴は、上述のように適応性しきい値を有するエンコーダにおいて、帯域通過フィルタが１フィールド画像にも適用され、当該フィールド画像内のエッジ画素の数が別のしきい値より小さい場合に適応性しきい値が選択されることである。また、別の利点／特徴は、上述の適応性しきい値およびその他のしきい値を有するエンコーダにおいて、エッジ画素が、ブロック内の位置または／および隣接する画素との相関に応じて、しきい値処理の前に最初に重み付けされることである。さらに、別の利点／特徴は、上述のエンコーダにおいて、モード決定を、フレーム・タイプ、現在のピクチャと以前の参照ピクチャの間の絶対差、マクロブロック特性（平坦、エッジ付き、テクスチャ付き）、フレームおよび／またはＭＢの分散など、その他の基準と組み合わせることである。さらに、別の利点／特徴は、上述のエンコーダにおいて、モード決定がＧＯＰレベルで実行されることである。この場合、上述した最初のＰＡＦＦ決定は、現在のＧＯＰ内の全てのフレームに対して実行され、フィールド・モードで符号化すると決定されたフレームの数が一定の割合より多い場合には、ＧＯＰ全体に対してフィールド・モードが使用される。そうでない場合には、フレーム・モードが使用される。さらに別の利点／特徴は、エンコーダが、帯域通過フィルタを使用してスーパーＭＢをフレームまたはフィールドとして分類することである。さらに別の利点／特徴は、上述のように分類を実行するエンコーダにおいて、ＭＢＡＦＦ判定が帯域フィルタの結果に基づいて行われることである。また、別の利点／特徴は、上述のように分類を実行するエンコーダにおいて、スーパーＭＢ内の各画素にしきい値を適用してエッジ画素を分類し、次いでエッジ画素の数を合計し、その合計をしきい値と比較して、当該ＭＢがフィールドであるかフレームであるかを判定することである。さらに、別の利点／特徴は、上述のように分類を実行するエンコーダにおいて、フィルタリング済みの画素の絶対値の合計を加算し、その和をしきい値と比較して、当該ＭＢがフィールドとして分類されるかフレームとして分類されるかを判定することである。さらに、別の利点／特徴は、エンコーダにおいて、個々のスーパーＭＢをフィールドまたはフレームとして分類するための事前分析判定を、ＰＡＦＦモード選択およびＭＢＡＦＦモード選択の両方に使用することである。
【００７６】
本発明の上記その他の特徴および利点は、当業者なら、本明細書の教示に基づいて容易に確認することができる。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサまたはそれらの組合せといった様々な形態で実施することができることを理解されたい。
【００７７】
本発明の教示は、ハードウェアとソフトウェアの組合せとして実施されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶装置に実装されたアプリケーション・プログラムとして実施されることが好ましい。アプリケーション・プログラムは、任意の適当なアーキテクチャを有するマシンにアップロードして実行することができる。このマシンは、１つまたは複数の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）および入出力（「Ｉ／Ｏ」）インタフェースなどのハードウェアを有するコンピュータ・プラットフォームに実装されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードを含むこともできる。本明細書に記載の様々なプロセスおよび機能は、ＣＰＵが実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せとすることもできる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺機器をコンピュータ・プラットフォームに接続することもできる。
【００７８】
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましいので、システム構成要素間またはプロセス機能ブロック間の実際の接続形態は、本発明を実施する方法によって変わることがあることを理解されたい。本明細書の教示があれば、当業者なら、上記の、またそれに類する本発明の実施態様または構成を想到することができるであろう。
【００７９】
本明細書では添付の図面を参照しながら例示的な実施形態について説明したが、本発明はこれらの具体的な実施形態に限定されるものではなく、当業者なら、本発明の趣旨または範囲を逸脱することなく様々な変更および修正を加えることができることを理解されたい。これらの変更および修正は全て、添付の特許請求の範囲に記載の本発明の範囲に含まれるものとする。
【図面の簡単な説明】
【００８０】
【図１Ａ】Ｈ．２６４に準拠し、且つ本発明の原理による用途に適用することができるピクチャ符号化タイプを示す図である。
【図１Ｂ】Ｈ．２６４に準拠し、且つ本発明の原理による用途に適用することができるピクチャ符号化タイプを示す図である。
【図１Ｃ】Ｈ．２６４に準拠し、且つ本発明の原理による用途に適用することができるピクチャ符号化タイプを示す図である。
【図２】本発明の原理による、高速なピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）決定、またはＰＡＦＦ決定およびマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）決定を行うビデオ・エンコーダを示すブロック図である。
【図３】本発明の原理による高速なピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）決定を実行する方法を示す流れ図である。
【図４】本発明の原理による高速なマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）を実行する方法を示す流れ図である。
【図５】本発明の原理による高速なピクチャ・フレーム／フィールド符号化（ＰＡＦＦ）決定および高速なマクロブロック・フレーム／フィールド符号化（ＭＢＡＦＦ）決定を実行する方法を示す流れ図である。
【図１Ａ】
2008514120.tif 000010
【図１Ｂ】
2008514120.tif 000011
【図１Ｃ】
2008514120.tif 000012
【図２】
2008514120.tif 000013
【図３】
2008514120.tif 000014
【図４】
2008514120.tif 000015
【図５】
2008514120.tif 000016
【国際調査報告】
2008514120.tif 000017
2008514120.tif 000018
2008514120.tif 000019
2008514120.tif 000020
2008514120.tif 000021