(57)【要約】  空間的スケーラブルなビデオ符号化および復号化などのアプリケーションにおける画像サイズ変更のための高精度の位置計算を行うための手法およびツールについて開示する。一態様では、映像の再サンプリングは、再サンプリングスケール係数に応じて実行される。再サンプリングは、再サンプリング配列内の位置ｉ、ｊにおけるサンプル値の計算を含む。この計算処理は、一部は２ｎ値にアップサンプリングスケール係数の逆数（近似値または厳密な値）を乗算することにより値を近似することを伴う仕方により導出された水平または垂直のサブサンプル位置ｘまたはｙを計算することを含む。この近似は、近い整数に近似するシーリング関数またはフロア関数などの、丸めまたは他の何らかの種類の近似とすることができる。サンプル値は、フィルタを使用して補間される。
2009522935.tif 000002
【特許請求の範囲】
【請求項１】
水平再サンプリングスケール係数に応じて画像データの再サンプリングを実行することを含み、前記再サンプリングは、再サンプリングされた配列内の水平位置ｉにおけるサンプル値の計算処理を含み、前記計算処理は、
結果において式ｘ＝（ｉ＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で導出された水平サブサンプル位置ｘを計算することであって、Ｃは、２Ｓ＋Ｆに前記水平再サンプリングスケール係数の逆数を掛けたものに等しい値を近似することにより導出され、Ｆ、Ｃ、Ｄ、およびＳは、整数値である、導出された水平サブサンプル位置ｘを計算することを含むことを特徴とする方法。
【請求項２】
垂直再サンプリングスケール係数に応じて画像データの再サンプリングを実行することを含み、前記再サンプリングは、再サンプリングされた配列内の垂直位置ｊにおけるサンプル値の計算処理を含み、前記計算処理は、
結果において式ｙ＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で導出された水平サブサンプル位置ｙを計算することであって、Ｃは、２Ｓ＋Ｆに前記垂直再サンプリングスケール係数の逆数を掛けたものに等しい値を近似することにより導出され、Ｆ、Ｃ、Ｄ、およびＳは、整数値である、導出された水平サブサンプル位置ｙを計算することを含むことを特徴とする方法。
【請求項３】
水平アップサンプリングスケール係数および垂直アップサンプリングスケール係数に応じて映像のアップサンプリングを実行することを含み、前記アップサンプリングは、アップサンプリングされた配列内の水平位置ｉおよび垂直位置ｊにおける補間されたサンプル値の計算処理を含み、前記計算処理は、
結果において式ｘ＝（ｉ＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で導出された水平サブサンプル位置ｘを計算することであって、Ｃは、２Ｓ＋Ｆに前記水平アップサンプリングスケール係数の逆数を掛けたものに等しい値を近似することにより導出され、Ｆ、Ｃ、Ｄ、およびＳは、整数値である、導出された水平サブサンプル位置ｘを計算することと、
結果において式ｙ＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で導出された垂直サブサンプル位置ｙを計算することであって、Ｃは、２Ｓ＋Ｆに前記垂直アップサンプリングスケール係数の逆数を掛けたものに等しい値を近似することにより導出される、導出された垂直サブサンプル位置ｙを計算することと、
前記導出されたサブサンプル位置ｘ、ｙにおいてサンプル値を補間することとを含むことを特徴とする方法。
【請求項４】
前記計算処理は、さらに、
前記導出された水平サブサンプル位置ｘのＦ個の最下位ビットに基づき水平再サンプリングフィルタを選択することと、
前記導出された水平サブサンプル位置ｘのその残存する最上位ビットに基づきフィルタリングされる低解像度のサンプルを選択することとを含み、
前記導出されたサブサンプル位置ｘ、ｙにおいてサンプル値を補間することは、
前記選択された低解像度のサンプルに基づき前記サンプル値を補間し、前記選択された水平再サンプリングフィルタを使用することとを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記導出された水平サブサンプル位置ｘの前記Ｆ個の最下位ビットの少なくとも１つの値に対し適用される水平再サンプリングフィルタは、２つよりも多い非ゼロフィルタタップ値を有する有限インパルス応答フィルタであることを特徴とする請求項４に記載の方法。
【請求項６】
前記導出された水平サブサンプル位置ｘの前記Ｆ個の最下位桁について０以外のすべての値に対し適用される水平再サンプリングフィルタは、４つの非ゼロフィルタタップ値を有する有限インパルス応答フィルタであることを特徴とする請求項５に記載の方法。
【請求項７】
前記計算処理は、さらに、
前記導出された垂直サブサンプル位置ｙのＦ個の最下位ビットに基づき垂直再サンプリングフィルタを選択することと、
前記導出された垂直サブサンプル位置ｙのその残存する最上位ビットに基づきフィルタリングされる低解像度のサンプルを選択することとを含み、
前記導出されたサブサンプル位置ｘ、ｙにおいてサンプル値を補間することは、
前記選択された低解像度のサンプルに基づき前記サンプル値を補間し、前記選択された垂直再サンプリングフィルタを使用することとを含むことを特徴とする請求項３に記載の方法。
【請求項８】
前記導出された垂直サブサンプル位置ｙの前記Ｆ個の最下位ビットの少なくとも１つの値に対し適用される垂直再サンプリングフィルタは、２つよりも多い非ゼロフィルタタップ値を有する有限インパルス応答フィルタであることを特徴とする請求項７に記載の方法。
【請求項９】
前記導出された垂直サブサンプル位置ｘの前記Ｆ個の最下位桁について０以外のすべての値に対し適用される垂直再サンプリングフィルタは、４つの非ゼロフィルタタップ値を有する有限インパルス応答フィルタであることを特徴とする請求項８に記載の方法。
【請求項１０】
前記アップサンプリングは、１つまたは複数のＭｉｔｃｈｅｌｌ−Ｎｅｔｒａｖａｌｌｉ再サンプリングフィルタを使用して実行されることを特徴とする請求項３に記載の方法。
【請求項１１】
前記アップサンプリングは、１つまたは複数のＣａｔｍｕｌｌ−Ｒｏｍ再サンプリングフィルタを使用して実行されることを特徴とする請求項３に記載の方法。
【請求項１２】
Ｆ、Ｃ、Ｄ、またはＳの前記垂直または水平の値のうちの少なくとも１つは、前記サンプル値が色度サンプル値であるか、または輝度サンプル値であるかに少なくとも一部は基づいて異なることを特徴とする請求項３に記載の方法。
【請求項１３】
結果において式ｘ＝（ｉ＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方は、式ｘ＝（（ｉ＊Ｃ＋Ｄ）＞＞Ｓ）＋Ｅの実装を含み、Ｅは、オフセットであることを特徴とする請求項３に記載の方法。
【請求項１４】
前記アップサンプリングは、帯域幅制御パラメータにより制御されるフィルタタップ値を有する１つまたは複数の再サンプリングフィルタを使用して実行されることを特徴とする請求項３に記載の方法。
【請求項１５】
前記アップサンプリングは、階層化空間スケーラブルビデオ復号化プロセスで実行されることを特徴とする請求項３に記載の方法。
【請求項１６】
前記アップサンプリングは、階層化空間スケーラブルビデオ符号化プロセスで実行されることを特徴とする請求項３に記載の方法。
【請求項１７】
前記アップサンプリングは、参照画像再サンプリングについて実行されることを特徴とする請求項３に記載の方法。
【請求項１８】
Ｆの前記値は、４に等しく、Ｓの前記値は、１２に等しいことを特徴とする請求項３に記載の方法。
【請求項１９】
前記近似することは、丸めを含むことを特徴とする請求項３に記載の方法。
【請求項２０】
前記逆数は、近似的逆数であることを特徴とする請求項３に記載の方法。
【請求項２１】
前記Ｆ、Ｃ、Ｄ、およびＳ整数値のうちの少なくとも１つは、水平計算については、前記垂直計算の場合と異なることを特徴とする請求項３に記載の方法。
【請求項２２】
アップサンプリングスケール係数に応じて映像のアップサンプリングを実行することを含み、前記アップサンプリングは、アップサンプリングされた配列内の水平位置ｉおよび垂直位置ｊにおける補間されたサンプル値の計算処理を含み、前記計算処理は、
結果において式ｘ＝（（２Ｊ＊ｉ＋Ｑ）＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で導出された水平サブサンプル位置ｘを計算することであって、Ｃは、２Ｓ＋Ｆに前記アップサンプリングスケール係数の逆数を掛けたものに等しい値を近似することにより導出され、Ｆ、Ｃ、Ｄ、Ｓ、Ｊ、およびＱは、整数値である、導出された水平サブサンプル位置ｘを計算することと、
結果において式ｙ＝（（２Ｊ＊ｊ＋Ｑ）＊Ｃ＋Ｄ）＞＞Ｓに数学的に等価である仕方で、導出された垂直サブサンプル位置ｙを計算することと、
導出されたサブサンプル位置ｘ、ｙにおいてサンプル値を補間することとを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルビデオを符号化／復号化するための手法およびツールに関する。
【背景技術】
【０００２】
ＤＶＤ、インターネットによる音楽配信、およびデジタルカメラの普及が拡大するとともに、デジタルメディアが当たり前のものになってきた。手法者は、様々な手法を使用して、品質をそのまま維持しながらデジタルオーディオ、デジタルビデオ、およびデジタル画像を効率よく処理する。これらの手法を理解するために、オーディオ、ビデオ、および画像情報がコンピュータ内でどのように表現され、処理されるかを理解するのは有益なことである。
【０００３】
Ｉ．コンピュータ内のメディア情報の表現
コンピュータは、メディア情報をその情報を表す一連の数値として処理する。例えば、単一の数値で、画像のそれぞれの基本的な小領域に対する輝度または赤色、緑色、または青色の色成分の強度を表すことができ、したがって画像のデジタル表現は、このような数値の１つまたは複数の配列からなる。それぞれのこのような数値は、サンプルと呼ばれうる。カラー画像の場合、それぞれの画素の色を表すために複数のサンプルを使用するのが習慣であり、典型的には、３つのサンプルが使用される。要素領域に対するこれらのサンプルの集合は、ピクセルと呼ぶことができるが、「ピクセル」という単語は、「画素」という概念を指し示す略語である。例えば、１ピクセルは、要素領域を表現するのに必要な赤色、緑色、青色の光の強度を表す３つのサンプルで構成されうる。このようなピクセルタイプは、ＲＧＢピクセルと呼ばれる。複数の因子が、サンプル深度、解像度、およびフレームレート（ビデオの場合）を含む、メディア情報の品質に影響を及ぼす。
【０００４】
サンプル深度は、サンプルを表現するために使用できる数値の範囲を示すビット単位で通常測定される特性である。サンプルに対しさらに多くの値を使用できる場合、数値で捕捉できる強度の微妙な変化が増え、および／または値の範囲が広がるため、品質を高めることができる。解像度は、一般に、ある継続時間（オーディオ用）または空間（画像または個々の映像用）におけるサンプルの数を意味する。画像は空間解像度が高いほど、他の画像よりも明瞭に見え、より識別しやすい有益な細部を含むように見える。フレームレートは、ビデオの時間解像度に対する一般的な用語である。ビデオはフレームレートが高いほど、他のビデオに比べて自然物の動きをより滑らかに再現する傾向があり、同様に、時間次元においてより精細な細部を含むと考えられる。これらすべての因子について、高品質に対するトレードオフは、表１に示されているようにサンプル深度、解像度およびフレームレートを表すのに必要なビットレートに関して示されている情報を格納し、送信するコストである。
【０００５】
【表１】
2009522935.tif 000003
【０００６】
高品質ビデオ（ＨＤＴＶ等）を格納して、送信するのに高いビットレートが必要であるにもかかわらず、企業も消費者も、高品質なコンテンツを作成し、配信し、再生するのにコンピュータにますます依存するようになってきている。このような理由から、手法者は、圧縮（ソースコーディング（source coding）またはソース符号化とも呼ばれる）を使用して、デジタルメディアのビットレートを削減する。圧縮は、情報をより低いビットレート形式に変換することにより情報を格納し、送信するコストを低減する。圧縮は、可逆とすることができ、この場合、ビデオの品質は損なわれないが、ビットレートの低減は、ビデオの複雑度により制限される。あるいは、圧縮は、不可逆とすることができ、ビデオの品質は損なわれるが、ビットレートの低減は、より劇的である。圧縮解除（復号化とも呼ばれる）では、圧縮形式からあるバージョンの元情報を再構成する。「コーデック」は、符号器／復号器システムである。
【０００７】
一般に、ビデオ圧縮手法は、「イントラ（画像内）」圧縮、「インター（画像間）」圧縮または予測圧縮を含む。映像については、イントラ圧縮手法で、個々の画像を圧縮する。インター圧縮手法では、先行および／または後続の画像を参照して画像を圧縮する。
【０００８】
ＩＩ．多重解像度ビデオおよび空間スケーラビリティ
標準ビデオ符号器では、目標ビットレートが特定の閾値よりも低い場合に性能が劇的に低下する。量子化および他の不可逆処理段において、歪みを生じる。低ビットレートでは、高周波情報は、大きく歪むか、または完全に失われることがある。その結果、著しいアーチファクトが発生し、再構成されたビデオの品質の実質的低下を引き起こす。利用可能なビットレートは、伝送および処理手法が改善するにつれ増大するけれども、制約されたビットレートで高い視覚的品質を維持することが、いぜんとしてビデオコーデック設計の主要目標である。既存のコーデックでは、制約されたビットレートで視覚的品質を改善するために複数の方法を利用する。
【０００９】
多重解像度符号化（多重分解能符号化）では、異なる空間解像度でビデオを符号化することができる。解像度を落としたビデオは、情報が失われるのと引き替えに、実質的に低いビットレートで符号化されうる。例えば、事前ビデオ符号器（prior video encoder）は、（ダウンダンプリングフィルタを使用して）最大解像度（フルレゾ）ビデオをダウンサンプリングし、垂直および／または水平方向に解像度を落として符号化することができる。それぞれの方向の解像度を半分に減らすと、符号化された画像サイズの寸法が半分になる。符号器は、解像度を落とした符号化信号を復号器に送る。復号器は、解像度を落とした符号化であることを示す情報を受け取り、受け取った情報から、表示する前に画像サイズを増大するのに解像度を落としたビデオを（アップサンプリングフィルタを使用して）どのようにアップサンプリングするかについて確認する。しかし、符号器がビデオ画像をダウンサンプリングしたときには、符号化したときに失われた情報は、アップサンプリングされた画像から依然としてなくなっている。
【００１０】
空間的にスケーラブル（拡大縮小可能）なビデオでは、マルチレイヤ（多層）アプローチを使用して、これにより、符号器は、１つまたは複数のエンハンスメントレイヤ（拡張階層：enhancement layer）におけるソースビデオから高解像度の情報を保持しながらベースレイヤ（基層）における空間解像度（したがってビットレート）を低減することができる。例えば、ベースレイヤイントラ画像は、解像度を落として符号化されうるが、随伴するエンハンスメントレイヤイントラ画像は、高解像度で符号化されうる。同様に、ベースレイヤ予測画像には、エンハンスメントレイヤ予測画像が随伴しうる。復号器は、（ビットレート制約条件および／または他の基準に基づき）低解像度再構成画像を得るために低解像度でベースレイヤ画像のみを復号化すること、または高解像度再構成画像を得るためにベースレイヤとエンハンスメントレイヤ画像を復号化することを選択することができる。ベースレイヤが、表示される画像よりも低い解像度で符号化される場合（ダウンサンプリングとも呼ばれる）、符号化された画像サイズは、表示される画像よりも実際に小さい。復号器は、再構成される画像のサイズを変更するために計算を実行し、アップサンプリングフィルタを使用して再構成される画像内の適切な位置に補間されたサンプル値を生成する。
【００１１】
【特許文献１】米国特許第６，５１０，１７７号明細書
【非特許文献１】ＩＴＵ−Ｔ国際標準勧告Ｈ．２６３
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、空間的にスケーラブルなビデオを使用する以前のコーデックは、硬直的なアップサンプリングフィルタと、不正確な、または（計算時間もしくはビットレートに関して）高コストの画像サイズ変更手法に悩んでいる。
【００１３】
デジタルビデオに対するビデオ圧縮および圧縮解除の決定的な重要性を考えた場合、ビデオ圧縮および圧縮解除は、十分に開発の進んでいる分野であることは驚くべきことではない。しかし、以前のビデオ圧縮および圧縮解除手法には、どのような利点があろうと、以下に説明する本発明の手法およびツールの利点を有していない。
【課題を解決するための手段】
【００１４】
この「発明の開示」では、以下の「発明を実施するための最良の形態」でさらに説明される簡素化された形式の概念の選択を導入する。この「発明の開示」は、請求されている主題の鍵となる特徴または本質的特徴を明示することを意図しておらず、また請求されている主題の範囲を制限するために使用されることも意図していない。
【００１５】
つまり、「発明を実施するための最良の形態」は、多重解像度および階層化空間的にスケーラブルなビデオ符号化および復号化用の様々な手法およびツールを対象とする。
【００１６】
例えば、「発明を実施するための最良の形態」は、空間的にスケーラブルなビデオ符号化および復号化などのアプリケーションにおける画像サイズ変更のための高精度の位置計算を行うための様々な手法およびツールを対象とする。空間的スケーラブルなビデオ符号化および復号化などのアプリケーションにおける画像サイズ変更のための高精度の位置計算を行うための手法およびツールについて説明する。一態様では、映像の再サンプリングは、再サンプリングスケール係数に応じて実行される。再サンプリングは、再サンプリング配列内の位置ｉ、ｊにおけるサンプル値の計算を含む。この計算処理は、一部は２ｎ値にアップサンプリングスケール係数の逆数（近似値または厳密な値）を乗算する（か、または２ｎ値をアップサンプリングスケール係数またはアップサンプリングスケール係数の近似値で除算する）ことにより値を近似することを伴う仕方により導出された水平または垂直のサブサンプル位置（sub-sample position）ｘまたはｙを計算することを含む。指数ｎは、小数部のビット数を表す整数Ｆを含む２つの整数の和としてよい。この近似は、近い整数に近似するシーリング関数またはフロア関数などの、丸めまたは他の何らかの種類の近似とすることができる。サンプル値は、フィルタを使用して補間される。
【００１７】
本明細書で説明されている手法のいくつかの代替え手段は、一実施態様では、サンプル位置計算プロセスまたはその複雑度を著しく変えることなく計算の中に約１エクストラビット（エキストラビット；extra bit）の精度を用意する変更されたサンプル位置計算を行う。説明されている手法のさらにいくつかの代替え手段は、４：２：２および４：４：４のサンプリング構造でサンプル位置計算が動作する仕方に関係する。このようなサンプリング構造に対するこれらの代替え手法では、色度および輝度サンプリンググリッドの解像度が特定の次元において同じである場合に必ず輝度および色度サンプル位置計算を一緒にロックする。
【００１８】
追加の特徴および利点は、付属の図面を参照しつつ進行する様々な実施形態の以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【００１９】
説明されている実施形態は、多重解像度および階層化空間的にスケーラブルなビデオ符号化および復号化用の手法およびツールを対象とする。
【００２０】
本明細書で説明されている様々な手法およびツールは、独立に使用することができる。これらの手法およびツールの一部は、併用することができる（例えば、組み合わされた符号化および／または復号化プロセスの異なるフェーズで）。
【００２１】
以下では、処理活動の流れ図に関して様々な手法について説明する。流れ図に示されている様々な処理活動を少数の活動にまとめたり、またはさらに多くの活動に分けたりすることができる。単純にするため、特定の流れ図に示されている活動と別のところで説明されている活動との関係は、しばしば示されていない。多くの場合、流れ図内の動作は、順序変更することができる。
【００２２】
「発明を実施するための最良の形態」の大部分において、ビデオ情報の表現、符号化、および復号化を取りあげている。ビデオ情報の表現、符号化、および復号化について本明細書で説明されている手法およびツールは、オーディオ情報、静止画情報、または他のメディア情報に適用されうる。
【００２３】
Ｉ．コンピュータ環境
図１は、説明されている実施形態のうちの複数を実装できる好適なコンピュータ環境１００の一般化された実施形態を例示している。これらの手法およびツールは多様な汎用または専用コンピュータ環境に実装できるため、コンピュータ環境１００は、使用または機能性の範囲に関する制限を示唆する意図はない。
【００２４】
図１を参照すると、コンピュータ環境１００は、少なくとも１つの処理装置１１０およびメモリ１２０を備える。図１で、この最も基本的な構成１３０は、破線で囲まれている。処理装置１１０は、コンピュータ実行可能命令を実行し、実プロセッサでも、仮想プロセッサでもよい。マルチプロセッシングシステムでは、処理能力を高めるため、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ１２０は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）、またはこれら２つの何らかの組合せとすることができる。メモリ１２０は、説明されている手法およびツールのうちの１つまたは複数を使ってビデオ符号器または復号器を実装するソフトウェア１８０を格納する。
【００２５】
コンピュータ環境には、機能を追加することができる。例えば、コンピュータ環境１００は、記憶装置１４０、１つまたは複数の入力デバイス１５０、１つまたは複数の出力デバイス１６０、および１つまたは複数の通信接続１７０を含む。バス、コントローラ、またはネットワークなどの相互接続メカニズム（図に示されていない）は、コンピュータ環境１００のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア（図に示されていない）は、コンピュータ環境１００内で他のソフトウェアを実行するためのオペレーティング環境を提供し、コンピュータ環境１００のコンポーネントの動作を調整する。
【００２６】
記憶装置１４０は、取り外し可能であるか、または取り外し不可能であり、磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ、または情報を格納するために使用することができ、コンピュータ環境１００内でアクセスできるその他の媒体を含む。記憶装置１４０は、ビデオ符号器または復号器を実装するソフトウェア１８０の命令を格納する。
【００２７】
（複数の）入力デバイス１５０は、キーボード、マウス、ペン、タッチスクリーン、またはトラックボールなどの接触入力デバイス、音声入力デバイス、スキャニングデバイス、またはコンピュータ環境１００に入力を行う他のデバイスとすることができる。オーディオまたはビデオ符号化については、（複数の）入力デバイス１５０は、サウンドカード、ビデオカード、ＴＶチューナーカード、または、アナログもしくはデジタル形式のオーディオまたはビデオ入力、またはコンピュータ環境１００内にオーディオまたはビデオサンプルを読み込むＣＤ−ＲＯＭ、ＣＤ−ＲＷ、またはＤＶＤのオーディオまたはビデオ入力を受け入れる類似のデバイスとすることができる。（複数の）出力デバイス１６０は、ディスプレイ、プリンタ、スピーカ、ＣＤもしくはＤＶＤライター、またはコンピュータ環境１００からの出力を供給する他のデバイスとすることができる。
【００２８】
（複数の）通信接続１７０では、通信媒体を介して、他のコンピュータエンティティと通信することが可能である。通信媒体は、コンピュータ実行可能命令、オーディオまたはビデオ入力もしくは出力、または変調データ信号内の他のデータなどの情報を伝達する。変調データ信号は、信号内の情報を符号化する仕方でその特性のうち１つまたは複数が設定または変更された信号である。例えば、限定はしないが、通信媒体は、電気的搬送波、光学的搬送波、ＲＦ搬送波、赤外線搬送波、音響搬送波、またはその他の搬送波により実装された有線または無線手法を含む。
【００２９】
これらの手法およびツールは、コンピュータ可読媒体の一般的な文脈において説明されうる。コンピュータ可読媒体は、コンピュータ環境内でアクセスできる入手可能な媒体である。例えば、限定はしないが、コンピュータ環境１００では、コンピュータ可読媒体は、メモリ１２０、記憶装置１４０、通信媒体、およびこれらのどれかの組合せを含む。
【００３０】
これらの手法およびツールは、１つまたは複数のターゲットの実プロセッサまたは仮想プロセッサ上のコンピュータ環境で実行される、プログラムモジュールに含まれるような、コンピュータ実行可能命令の一般的な文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態で望まれているように、組み合わせたり、または複数のプログラムモジュールに分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピュータ環境内で実行することができる。
【００３１】
提示するため、「発明を実施するための最良の形態」では、「符号化する」、「複合化する」、および「選択する」のような用語を使用して、コンピュータ環境におけるコンピュータの演算を説明する。これらの用語は、コンピュータにより実行される演算の高水準の抽象化であり、人間が実行する行為と混同すべきではない。これらの用語に対応する実際のコンピュータの演算は、実装によって異なる。
【００３２】
ＩＩ．例示的なビデオ符号器および復号器
図２は、いくつかの説明されている実施形態を実装できる例示的なビデオ符号器２００のブロック図である。図３は、いくつかの説明されている実施形態を実装できる一般化されたビデオ復号器３００のブロック図である。
【００３３】
符号器２００および復号器３００内のモジュール間に示される関係は、符号器および復号器内の情報の一般的な流れを示し、他の関係は、単純にするため示されていない。特に、図２および図３は、通常、ビデオシーケンス、画像、スライス、マクロブロック、ブロックなどに使用される符号器設定、モード、テーブルなどを示すサイド情報を示していない。このようなサイド情報は、出力ビットストリームで送信され、これは、典型的には、サイド情報のエントロピー符号化の後に実行する。出力ビットストリームの形式は、実装によって異なりうる。
【００３４】
符号器２００および復号器３００は、ビデオフレーム、ビデオフィールド、またはフレームとフィールドの組合せであってよい、映像を処理する。画像およびマクロブロックレベルにおけるビットストリームのシンタックスおよびセマンティックスは、フレームが使用されるのか、フィールドが使用されるのかに依存しうる。マクロブロックの編成および全体的なタイミングにも変更が生じうる。符号器２００および復号器３００は、ブロックベースであり、フレームには４：２：０マクロブロック形式を使用し、それぞれのマクロブロックは４つの８×８輝度ブロック（ときには、１つの１６×１６マクロブロックとして処理される）および２つの８×８色度ブロックを含む。フィールドについては、同じまたは異なるマクロブロック編成および形式を使用することができる。８×８ブロックは、さらに、異なる複数の段、例えば、周波数変換およびエントロピー符号化段で、細分されうる。例示的なビデオフレーム編成について、以下でさらに詳しく説明する。それとは別に、符号器２００および復号器３００は、オブジェクトベースであるか、異なるマクロブロックまたはブロック形式を使用するか、または８×８ブロックおよび１６×１６マクロブロックと異なるサイズまたは構成のサンプルの集合に対し演算を実行する。
【００３５】
実装および所望の圧縮の種類に応じて、符号器または復号器のモジュールを追加、削除し、複数のモジュールに分割し、他のモジュールと組み合わせ、および／または類似のモジュールと交換することができる。代替え実施形態では、異なるモジュールおよび／またはモジュールの他の構成を使用する符号器または復号器は、説明されている手法の１つまたは複数を実行する。
【００３６】
Ａ．ビデオフレーム編成
いくつかの実装では、符号器２００および復号器３００は、以下のように編成されたビデオフレームを処理する。１つのフレームは、１つのビデオ信号の数ライン分の空間情報を含む。プログレッシブビデオスキャニング（斬新的画像読み取り）では、これらのラインは同じ時刻にサンプリングされたシーンコンテンツのスナップショットを表し、フレームの上部から下部へのシーンで全体を覆うサンプルを含む。プログレッシブビデオフレームは、図４に示されているマクロブロック４００などの複数のマクロブロックに分割される。マクロブロック４００は、従来の４：２：０マクロブロック形式に従って４つの８×８輝度ブロック（Ｙ１からＹ４まで）および４つの輝度ブロックと同一の場所に配置されるが水平方向および垂直方向分解が半分である２つの８×８色度ブロックを含む。８×８ブロックは、さらに、異なる複数の段、例えば、周波数変換（例えば、８×４、４×８、または４×４ＤＣＴ）およびエントロピー符号化段で、細分されうる。プログレッシブＩ−フレームは、イントラ符号化プログレッシブビデオフレームであるが、ただし、「イントラ」という用語は、他のすでに復号化されている画像のコンテンツからの予測を伴わない符号化方式を指す。プログレッシブＰ−フレームは、現在の画像と時間的に異なる時刻の１つまたは複数他の画像からの予測（ときには、文脈によっては前方予測とも呼ばれる）を使用して符号化されるプログレッシブビデオフレームであり、プログレッシブＢ−フレームは、いくつかの領域における複数の予測値の（場合によっては重み付け）平均を伴うインターフレーム予測を使用して符号化されたプログレッシブビデオフレームである（ときには、双予測または双方向予測とも呼ばれる）。プログレッシブＰ−およびＢ−フレームは、イントラ符号化されたマクロブロックだけでなく様々な種類のインターフレーム予測マクロブロックを含むことができる。
【００３７】
インターレースビデオフレームスキャニングは、１つのシーンの２種類のスキャンの交互系列からなり、１つはフレームの偶数ライン（番号０、２、４などのライン）を含む、トップフィールド（top field）と呼ばれ、もう１つはそのフレームの奇数ライン（番号１、３、５などのライン）を含む、ボトムフィールド（bottom field）と呼ばれる。これら２つのフィールドは、典型的には、２つの異なるスナップショット時刻を表す。図５Ａは、インターレースビデオフレーム５００の左上部分にトップフィールドおよびボトムフィールドの交互ラインを含む、インターレースビデオフレーム５００の一部を示している。
【００３８】
図５Ｂは、フレーム５３０として符号化／符号化用に編成された図５Ａのインターレースビデオフレーム５００を示している。インターレースビデオフレーム５００は、複数のマクロブロックまたは図４に示されているような４：２：０形式を使用するマクロブロック５３１および５３２などの他のそのような複数の領域に分割されている。輝度平面内で、それぞれのマクロブロック５３１、５３２は、合計１６本のラインについてボトムフィールドからの８本のラインと交互に並ぶトップフィールドからの８本のラインを含み、それぞれのラインは、１６サンプル長である。（画像を複数のマクロブロックまたは他のそのような領域に実際に編成すること、および輝度ブロックおよび色度ブロックをマクロブロック５３１、５３２内に配置することは、示されておらず、実際には、異なる符号化決定および異なるビデオ符号化設計について異なることがある。）与えられたマクドブロック内で、トップフィールド情報およびボトムフィールド情報は、一緒に符号化されるか、または様々フェーズにおいて別々に符号化されうる。
【００３９】
インターレースＩ−フレームは、２つのフィールドを含むイントラ符号化インターレースビデオフレームであり、それぞれのマクロブロックは、一方または両方のフィールドに対する情報を含む。インターレースＰ−フレームは、インターフレーム予測を使用して符号化される２つのフィールドを含むインターレースビデオフレームであり、それぞれのマクロブロックは、インターレースＢ−フレームの場合のように、一方または両方のフィールドに対する情報を含む。インターレースＰ−およびＢ−フレームは、イントラ符号化されたマクロブロックだけでなく様々な種類のインターフレーム予測マクロブロックを含むことができる。
【００４０】
図５Ｃは、フィールド５６０として符号化／符号化用に編成された図５Ａのインターレースビデオフレーム５００を示している。インターレースビデオフレーム５００の２つのフィールドはそれぞれ、複数のマクロブロックに分割される。トップフィールドは、マクロブロック５６１などの複数のマクロブロックに分割され、ボトムフィールドは、マクロブロック５６２などの複数のマクロブロックに分割される。（ここでもまた、マクロブロックは、図４に示されているように４：２：０形式を使用し、画像を複数のマクロブロックまたは他のそのような領域に編成すること、および輝度ブロックおよび色度ブロックを複数のマクロブロック内に配置することは、図に示されておらず、異なることがある。）輝度平面内で、マクロブロック５６１は、トップフィールドからの１６本のラインを含み、マクロブロック５６２は、ボトムフィールドからの１６本のラインを含み、それぞれのラインは１６サンプル長である。
【００４１】
インターレースＩ−フィールドは、インターレースビデオフレームの単一の別々に表現されたフィールドである。インターレースＰ−フィールドは、インターレースＢ−フィールドのように、画像間予測（inter-picture prediction）を使用して符号化されたインターレースビデオフレームの単一の別々に表現されたフィールドである。インターレースＰ−およびＢ−フィールドは、イントラ符号化されたマクロブロックだけでなく様々な種類の画像間予測マクロブロックを含むことができる。
【００４２】
フィールドとして符号化／復号化するように編成されたインターレースビデオフレームは、異なるフィールドタイプの様々な組合せを含むことができる。例えば、そのようなフレームはトップフィールドおよびボトムフィールドの両方において同じフィールドタイプ（Ｉ−フィールド、Ｐ−フィールド、またはＢ−フィールド）を持つか、またはそれぞれのフィールドにおいて異なるフィールドタイプを持つことができる。
【００４３】
画像という用語は、一般に、ソース、符号化または再構成された画像データのフレームまたはフィールドを指す。プログレッシブスキャンビデオでは、画像は、典型的には、プログレッシブビデオフレームである。インターレースビデオでは、画像は、文脈に応じて、インターレースビデオフレーム、フレームのトップフィールド、またはフレームのボトムフィールドを指すことができる。
【００４４】
図５Ｄは、ビデオフレームのそれぞれのフィールドに対する輝度サンプル配置に関する４：２：０色度サンプル配置の６つの例示的な空間的アライメントを示す。
【００４５】
それとは別に、符号器２００および復号器３００は、オブジェクトベースであるか、異なるマクロブロック形式（例えば、４：２：２または４：４：４）もしくはブロック形式を使用するか、または８×８ブロックおよび１６×１６マクロブロックと異なるサイズまたは構成のサンプルの集合に対し演算を実行する。
【００４６】
Ｂ．ビデオ符号器
図２は、例示的なビデオ符号器システム２００のブロック図である。符号器システム２００は、現在の画像２０５を含む映像のシーケンス（例えば、プログレッシブビデオフレーム、インターレースビデオフレーム、またはインターレースビデオフレームのフィールド）を受け取り、圧縮されたビデオ情報２９５を出力として生成する。ビデオ符号器の特定の実施形態は、典型的には、例示的な符号器２００の一変更形態または補足バージョンを使用する。
【００４７】
符号器システム２００は、イントラ符号化された（イントラ）画像（Ｉ−画像）および画像間予測画像（inter-picture predicted picture）（Ｐ−またはＢ−画像）に符号化プロセスを使用する。提示するため、図２では、符号器システム２００を通るＩ画像に対する経路および画像間予測画像に対する経路を示す。符号器システム２００のコンポーネントの多くは、Ｉ−画像と画像間予測画像の両方を圧縮するために使用される。これらのコンポーネントにより実行される厳密な演算は、圧縮される情報のタイプに依存し、変化しうる。
【００４８】
画像間予測画像は、１つまたは複数の他の画像（典型的には参照画像と呼ばれる）からの予測（または差）に関して表現される。予測残差は、予測されたものと元の画像との差である。対照的に、Ｉ−画像は、他の画像を参照せずに圧縮される。Ｉ−画像では、空間的予測または周波数領域予測（つまり、イントラ画像予測（画像内画像予測；intra-picture prediction））を使用し、Ｉ−画像それ自体の他の部分からのデータを使用してＩ−画像のいくつかの部分を予測することができる。しかし、簡単のため、このようなＩ−画像は、この説明では、「予測」画像と呼ばれず、したがって、「予測画像」というフレーズは、画像間予測画像（例えば、Ｐ−またはＢ−画像）であると理解することができる。
【００４９】
現在の画像２０５が予測画像である場合、動き推定器２１０は、１つまたは複数の参照画像、例えば、画像記憶部（picture store）２２０内にバッファリングされている再構成された前の画像２２５に関して、現在の画像２０５のサンプルのマクロブロックまたはサンプルの他の集合の動きを推定する。動き推定器（motion estimator）２１０は、１つまたは複数の時間的に前の参照画像および１つまたは複数の時間的に後の参照画像に関して動きを推定することができる（例えば、双予測画像（bi-predictive picture）の場合）。したがって、符号器システム２００は、複数の参照画像に対し別々のストア２２０および２２２を使用することができる。
【００５０】
動き推定器２１０は、完全サンプル、１／２サンプル、１／４サンプル、または他の増分により動きを推定することができ、画像毎に、または他の基準に関して動き推定の解像度（resolution）を切り替えることができる。動き推定器２１０（および補償器２３０）は、さらに、フレーム毎に、または他の基準に関して、参照画像サンプル補間の種類を切り替える（例えば、三次畳み込み補間法と双一次補間とを切り替える）こともできる。動き推定の解像度は、水平方向および垂直方向に同じである場合も、異なる場合もある。動き推定器２１０は、サイド情報として、差動運動ベクトル情報などの動き情報２１５を出力する。符号器２００は、例えば、動きベクトルに対する１つまたは複数の予測因子を計算し、動きベクトルと予測因子との差を計算し、それらの差をエントロピー符号化することにより動き情報２１５を符号化する。動きベクトルを再構成するために、動き補償器２３０は、予測因子と動きベクトル差情報（motion vector difference information）とを組み合わせる。
【００５１】
動き補償器２３０は、再構成された動きベクトルを再構成された（複数の）画像２２５に適用して、動き補償予測２３５を形成する。しかし、予測は、めったに完全ではなく、動き補償予測２３５と元の現在画像２０５との差が、予測残差２４５である。画像を後から再構成するときに、予測残差２４５の近似が、動き補償予測２３５に加えられ、これにより、動き補償予測２３５よりも元の現在画像２０５に近い再構成画像を得ることができる。しかし、不可逆圧縮では、元の現在画像２０５から一部の情報がそのまま失われる。それとは別に、動き推定器および動き補償器は、他の種類の動き推定／補償を適用する。
【００５２】
周波数変換器２６０は、空間領域ビデオ情報を周波数領域（つまり、スペクトル）データに変換する。ブロックベースのビデオ符号化では、周波数変換器２６０は、典型的には、離散コサイン変換（ＤＣＴ）、ＤＣＴの一変種、または他の何らかのブロック変換をサンプルデータまたは予測残差データのブロックに適用し、周波数領域変換係数のブロックを生成する。それとは別に、周波数変換器２６０は、フーリエ変換などの他の種類の周波数変換を適用するか、またはウェーブレットもしくはサブバンド分析を使用する。周波数変換器２６０は、８×８、８×４、４×８、もしくは４×４または他のサイズの周波数変換を適用することができる。
【００５３】
次いで、量子化器２７０は、周波数領域変換係数のブロックを量子化する。量子化器は、画像毎に、マクロブロック毎に、または他の基準により変化する量子化ステップサイズに応じてスカラー量子化を変換係数に適用するが、ただし、量子化ステップサイズは、符号器逆量子化器プロセス２７６で複製されうる復号器逆量子化器プロセスにおける離散表現可能再構成点同士の間の一定間隔を決定する制御パラメータである。それとは別に、量子化器は、他の種類の量子化、例えば、非一様な再構成点を持つスカラー量子化器、ベクトル量子化器、または非適応量子化を周波数領域変換係数に適用するか、または周波数変換を使用しない符号化システム内で空間領域データを直接量子化する。適応量子化に加えて、符号器２００は、フレームドロッピング（frame dropping）、適応フィルタリング、またはレート制御の他の手法を使用することができる。
【００５４】
再構成された現在画像がその後の動き推定／補償に必要な場合、逆量子化２７６は、量子化された周波数領域変換係数に対し逆量子化を実行する。次いで、逆周波数変換器２６６は、周波数変換器２６０の演算の逆を実行し、（予測された画像に対する）再構成された予測残差近似または再構成されたＩ−画像近似を出力する。現在画像２０５が、Ｉ−画像であった場合、再構成されたＩ−画像近似は、再構成された現在画像近似（図に示されていない）とみなされる。現在画像２０５が、予測画像であった場合、再構成された予測残差近似が、動き補償予測２３５に加えられ、再構成された現在画像近似を形成する。画像記憶部２２０、２２２の１つまたは複数に、後続の画像の動き補償予測で参照画像として使用する再構成された現在画像近似をバッファリングする。符号器は、非ブロック化フィルタまたは他の画像リファイニングプロセス（画像精錬工程；picture refining process）を再構成されたフレームに適用し、画像近似を１つまたは複数の画像記憶部２２０、２２２に格納するのに先立って不連続を適応平滑化し、画像から他のアーチファクトを除去することができる。
【００５５】
エントロピー符号器２８０は、量子化器２７０の出力とともに、特定のサイド情報（例えば、動き情報２１５、量子化ステップサイズ）を圧縮する。典型的なエントロピー符号化手法は、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、Ｌｅｍｐｅｌ−Ｚｉｖ符号化、辞書符号化、およびこれらの組合せを含む。エントロピー符号器２８０は、典型的には、異なる種類の情報（例えば、低周波係数、高周波係数、ゼロ周波数係数、異なる種類のサイド情報）に対し異なる符号化手法を使用し、特定の符号化手法の範囲内の複数のコード表の中から選択することができる。
【００５６】
エントロピー符号器２８０は、圧縮ビデオ情報２９５をマルチプレクサ［「ＭＵＸ」］２９０に供給する。ＭＵＸ  ２９０は、バッファを備えることができ、バッファ充足レベルインジケータをレート制御のためビットレート適応モジュールにフィードバックすることができる。ＭＵＸ  ２９０の前または後に、圧縮ビデオ情報２９０は、ネットワークによる伝送用に通信路符号化することができる。通信路符号化は、誤り検出および補正データを圧縮ビデオ情報２９５に適用することができる。
【００５７】
Ｃ．ビデオ復号器
図３は、例示的なビデオ復号器システム３００のブロック図である。復号器システム３００は、圧縮された映像シーケンスに対する情報３９５を受信し、再構成された画像３０５を含む出力を生成する（例えば、プログレッシブビデオフレーム、インターレースビデオフレーム、またはインターレースビデオフレームのフィールド）。ビデオ復号器の特定の実施形態は、典型的には、一般化された復号器３００の一変更形態または補足バージョンを使用する。
【００５８】
復号器システム３００は、予測画像およびＩ−画像を圧縮解除する。提示のため、図３では、復号器システム３００を通るＩ−画像に対する経路および予測画像に対する経路を示す。復号器システム３００のコンポーネントの多くは、Ｉ−画像と予測画像の両方を圧縮解除するために使用される。これらのコンポーネントにより実行される厳密な演算は、圧縮解除される情報のタイプに依存し、変化しうる。
【００５９】
ＤＥＭＵＸ  ３９０は、圧縮されたビデオシーケンスに対する情報３９５を受け取り、受け取った情報をエントロピー復号器３８０に供給する。ＤＥＭＵＸ  ３９０は、ジッタバッファおよび他のバッファも備えることができる。ＤＥＭＵＸ  ３９０の前、またはその中で、圧縮されたビデオ情報を通信路復号化し、誤り検出および訂正のため処理することができる。
【００６０】
エントロピー復号器３８０は、エントロピー復号化された量子化データだけでなく、エントロピー符号化されたサイド情報（例えば、動き情報３１５、量子化ステップサイズ）をエントロピー復号化し、典型的には、符号器内で実行されるエントロピー符号化の逆演算を適用する。エントロピー復号化手法は、算術復号化、差分復号化、ハフマン復号化、ランレングス復号化、Ｌｅｍｐｅｌ−Ｚｉｖ復号化、辞書復号化、およびこれらの組合せを含む。エントロピー復号器３８０は、典型的には、異なる種類の情報（例えば、低周波係数、高周波係数、ゼロ周波数係数、異なる種類のサイド情報）に対し異なる復号化手法を使用し、特定の復号化手法の範囲内の複数のコード表の中から選択することができる。
【００６１】
復号器３００は、例えば、動きベクトルに対し１つまたは複数の予測因子を計算し、動きベクトル差をエントロピー復号化し（エントロピー復号器３８０で）、復号化された動きベクトル差と予測因子と組み合わせて動きベクトルを再構成することにより動き情報３１５を復号化する。
【００６２】
動き補償器３３０は、動き情報３１５を１つまたは複数の参照画像３２５に適用して、再構成される画像３０５の予測３３５を形成する。例えば、動き補償器３３０は、１つまたは複数のマクロブロック動きベクトルを使用して、サンプルのブロックを見つけるか、または（複数の）参照画像３２５内のサンプル間の分数位置を補間する。１つまたは複数の画像記憶部（例えば、画像記憶部３２０、３２２）では、参照画像として使用するために、前の再構成された画像を格納する。典型的には、Ｂ−画像は、複数の参照画像（例えば、少なくとも１つの時間的に前の参照画像および少なくとも１つの時間的に後の参照画像）を有する。したがって、復号器システム３００は、複数の参照画像に対し別々の画像記憶部３２０および３２２を使用することができる。動き推定器３３０は、完全サンプル、１／２サンプル、１／４サンプル、または他の増分で動きを補償することができ、画像毎に、または他の基準に関して動き補償の解像度を切り替えることができる。動き補償器３３０は、さらに、フレーム毎に、または他の基準に関して、参照画像サンプル補間の種類を切り替える（例えば、三次畳み込み補間法と双一次補間とを切り替える）こともできる。動き補償の解像度は、水平方向および垂直方向に同じである場合も、異なる場合もある。それとは別に、動き補償器は、他の種類の動き補償を適用する。動き補償器による予測は、めったに完全ではなく、したがって、復号器３００は、さらに、予測残差を再構成する。
【００６３】
逆量子化器３７０は、エントロピー復号化データを逆量子化する。典型的には、逆量子化は、画像毎に、マクロブロック毎に、または他の何らかの基準に関して変化する再構成ステップサイズにより均一スカラー逆量子化をエントロピー復号化データに適用する。それとは別に、逆量子化器は、他の種類の逆量子化、例えば、不均一、ベクトル、または非適応逆量子化をデータに適用するか、または逆周波数変換を使用しない復号器システム内の空間領域データを直接逆量子化する。
【００６４】
逆周波数変換器３６０は、逆量子化された周波数領域変換係数を空間領域ビデオ情報に変換する。ブロックベース映像では、逆周波数変換器３６０は、逆ＤＣＴ［「ＩＤＣＴ」］、ＩＤＣＴの一変種、または他の何らかの逆ブロック変換を周波数変換係数のブロックに適用し、それぞれＩ−画像または予測画像に対するサンプルデータまたは画像間予測残差データを生成する。それとは別に、逆周波数変換器３６０は、逆フーリエ変換などの他の種類の逆周波数変換を適用するか、またはウェーブレットもしくはサブバンド合成を使用する。逆周波数変換器３６０は、８×８、８×４、４×８、４×４、または他のサイズの逆周波数変換を適用することができる。
【００６５】
予測画像に対して、復号器３００は、再構成された予測残差３４５と動き補償予測３３５とを組み合わせて、再構成された画像３０５を形成する。復号器が、後の動き補償のため再構成された画像３０５を必要とする場合、それらの画像記憶部の１つまたは複数（例えば、画像記憶部３２０）に、次の画像を予測する際に使用する再構成された画像３０５をバッファリングする。いくつかの実施形態では、復号器３００は、非ブロック化フィルタまたは他の画像リファイニングプロセスを再構成された画像に適用し、再構成された画像３０５を画像記憶部（例えば、画像記憶部３２０）の１つまたは複数に格納するのに先立って、または復号化されたビデオの再生時に復号化された画像を表示するのに先立って、不連続を適応平滑化し、画像から他のアーチファクトを除去する。
【００６６】
ＩＩＩ．多重解像度符号化および復号化の概要
ビデオは、異なる解像度で符号化され（復号化され）うる。この説明のために、多重解像度符号化および復号化をフレームベースの符号化および復号化（例えば、参照画像再サンプリング）または階層化（ときには、空間的スケーラブルとも呼ばれる）符号化および復号化として説明することができる。多重解像度符号化および複合化は、さらに、インターレースビデオおよびフィールドベースの符号化および復号化、ならびに分解特有の基準に基づき、または他の何らかの基準に従って、フレームベースの符号化および復号化とフィールドベースの符号化および復号化とを切り替えることを伴うこともありうる。しかし、プログレッシブビデオのフレーム符号化については、概念の説明を簡素化することを目的としてこの概要において説明する。
【００６７】
Ａ．フレームベースの多重解像度符号化および復号化
フレームベースの多重解像度符号化では、符号器は、異なる解像度で入力画像を符号化する。符号器は、画像毎に、または他の何らかの基準に従って画像に対する空間解像度を選択する。例えば、参照画像再サンプリングでは、参照画像は、符号化される画像の解像度と異なる解像度で符号化される場合に再サンプリングされうる。再サンプリングという用語は、サンプリングされた信号の画像領域または他の何らかのセクションを表すために使用されるサンプルの数を増やす（アップサンプリング）または減らす（ダウンサンプリング）ことを説明するために使用される。単位面積当たり、または信号セクション毎のサンプルの数は、サンプリングの解像度と呼ばれる。
【００６８】
空間解像度は、例えば、利用可能なビットレートの増減、量子化ステップサイズの増減、入力ビデオコンテンツ内の動きの量の増減、ビデオコンテンツの他の特性（例えば、強いエッジ、テキスト、低解像度で著しく歪みことがある他のコンテンツの存在）、または他の何らかの基準に基づいて選択できる。空間解像度は、垂直、水平、または垂直と水平の両方の次元で変化しうる。水平解像度は、垂直解像度と同じ場合もあれば、異なる場合もある。復号器は、相補的手法を使用して符号化されたフレームを復号化する。
【００６９】
符号器が、現在画像または現在画像内の領域に対する空間解像度を選択すると、符号器は、符号化する前に所望の解像度に合わせて元の画像を再サンプリングする。次いで、符号器は、空間解像度の選択結果を復号器に信号で伝えることができる。
【００７０】
図６は、画像のフレームベースの多重解像度符号化の手法（６００）を示す。図２の符号器２００などの符号器は、画像に対する解像度（６１０）を設定する。例えば、符号器は、上記の基準または他の基準を考慮する。次いで、符号器は、その解像度で画像（６２０）を符号化する。符号化すべきすべての画像の符号化が完了したら（６３０）、符号器は終了する。完了しなかった場合、符号器は、次の画像に対し解像度（６１０）を設定し、符号化を続ける。それとは別に、符号器は、画像の異なる部分に対し異なる形で解像度を設定する、または画像のグループまたは画像のシーケンスに対し解像度の選択を行うなど、画像レベルと異なる何らかのレベルで解像度を設定する。
【００７１】
符号器は、予測画像だけでなくイントラ画像も符号化することができる。図８は、イントラ画像および画像間予測画像のフレームベースの多重解像度符号化の手法（８００）を示す。第１に、符号器は、符号化すべき現在画像がイントラ画像であるか、または予測画像であるかを８１０でチェックする。現在画像が、イントラ画像である場合、符号器は、８２０で現在画像に対する解像度を設定する。画像が予測画像である場合、符号器は、現在画像に対する解像度を設定する前に８３０で参照画像に対する解像度を設定する。現在画像に対する解像度を設定した後、符号器は、その解像度で現在画像（８４０）を符号化する。画像に対する解像度を設定することは（現在ソース画像または格納されている参照画像かに関係なく）、選択された解像度と一致する画像を再サンプリングすることを伴い、また信号を符号化して選択された解像度を復号器に指示することを伴うことがある。符号化すべきすべての画像の符号化が完了したら（８５０）、符号器は終了する。そうでなければ、符号器は、追加の画像を符号化することを続ける。それとは別に、符号器は、予測画像を異なる方法で取り扱う。
【００７２】
復号器は、符号化された画像を復号化し、必要ならば、表示する前に画像を再サンプリングする。符号化された画像の解像度のように、復号化された画像の解像度も、多くの異なる方法で調節することができる。例えば、復号化された画像の解像度は、出力表示デバイスの解像度または出力表示デバイスの一領域の解像度に合うように調節することができる（例えば、「ピクチャインピクチャ」またはＰＣデスクトップウィンドウ表示に対し）。
【００７３】
図７は、画像のフレームベースの多重解像度復号化の手法（７００）を示す。図３の復号器３００などの復号器は、画像に対する解像度（７１０で）を設定する。例えば、復号器は、符号器から解像度情報を取得する。次いで、復号器は、その解像度で画像（７２０）を復号化する。復号化すべきすべての画像の復号化が完了したら（７３０）、復号器は終了する。完了しなかった場合、復号器は、次の画像に対し解像度（７１０）を設定し、復号化を続ける。それとは別に、復号器は、画像レベルと異なる何らかのレベルに解像度を設定する。
【００７４】
復号器は、予測画像だけでなくイントラ画像も復号化することができる。図９は、イントラ画像および予測画像のフレームベースの多重解像度復号化の手法（９００）を示す。
【００７５】
第１に、復号器は、復号化すべき現在フレームがイントラ画像であるか、または予測画像であるかをチェックする（９１０）。現在画像が、イントラ画像である場合、復号器は、現在画像に対する解像度を設定する（９２０）。画像が予測画像である場合、復号器は、現在画像に対する解像度を設定する（９２０）前に参照画像（９３０）に対する解像度を設定する。参照画像の解像度を設定することは、選択された解像度に一致するように格納されている参照画像を再サンプリングすることを伴いうる。現在画像（９２０）に対する解像度を設定した後、復号器は、その解像度で現在画像（９４０）を符号化する。復号化すべきすべての画像の復号化が完了したら（９５０）、復号器は終了する。そうでない場合、復号器は、復号化を続ける。
【００７６】
復号器は、典型的には、符号器で使用されるのと同じ解像度で画像を復号化する。それとは別に、復号器は、復号器で利用できる解像度が符号器内で使用されるのとまったく同じではないときなど、異なる解像度で画像を復号化する。
【００７７】
Ｂ．階層化多重解像度符号化および復号化
階層化多重解像度符号化では、符号器は、ビデオをレイヤで符号化し、それぞれのレイヤは異なる解像度でビデオを復号化するための情報を含む。このようにして、符号器は、複数の解像度でビデオ内の少なくとも一部の個別画像を符号化する。次いで、復号器は、レイヤの異なる組合せを処理することにより１つまたは複数の解像度でビデオを復号化することができる。例えば、第１のレイヤ（ときには、ベースレイヤとも呼ばれる）は、低解像度でビデオを復号化するための情報を含むが、１つまたは複数の他のレイヤ（ときには、エンハンスメントレイヤとも呼ばれる）は、高解像度でビデオを復号化するための情報を含む。
【００７８】
ベースレイヤは、それ自体独立に復号化可能なビットストリームとなるように設計されうる。したがって、このような設計では、ベースレイヤのみを復号化する復号器は、ベースレイヤの低解像度の有効な復号化されたビットストリームを生成する。エンハンスメントレイヤを使用して高解像度画像を適切に復号化するには、さらに、符号化されたベースレイヤデータおよび場合によっては１つまたは複数のエンハンスメントレイヤの一部または全部を復号化する必要がある場合がある。ベースレイヤおよび１つまたは複数の他の高解像度のレイヤを復号化する復号器は、ベースレイヤのみを復号化する復号器よりも高い解像度のコンテンツを生成することができる。２つ、３つ、またはそれ以上のレイヤを使用することにより、２つ、３つ、またはそれ以上の異なる解像度を利用することができる。それとは別に、高解像度のレイヤは、それ自体も、独立に復号化可能なビットストリームとなりうる。（このような設計は、サイマルキャスト（同時放送、サーマル放送；simulcast）多重解像度符号化アプローチと呼ばれることが多い。）
【００７９】
図１０は、異なる解像度で復号化できるようにビットストリームレイヤを符号化する手法（１０００）を示す。図２の符号器２００などの符号器は、入力（１０１０）として最大解像度（full-resolution）のビデオ情報をとる。符号器は、最大解像度のビデオ情報（１０２０）をダウンサンプリングし、ダウンサンプリングされた情報（１０３０）を使用してベースレイヤを符号化する。符号器は、ベースレイヤおよび高解像度のビデオ情報（１０４０）を使用して１つまたは複数の高解像度のレイヤを符号化する。高解像度のレイヤは、最大解像度で復号化することを許すレイヤ、または何らかの中間解像度で復号化することを許すレイヤとすることができる。次いで、符号器は、符号化されたレイヤのもう２つを含む階層化ビットストリームを出力する。それとは別に、高解像度のレイヤ（１０４０）の符号化では、ベースレイヤ情報を使用することができず、したがって、サイマルキャスト多重解像度符号化アプローチについては高解像度のレイヤデータを独立に復号化することができる。
【００８０】
符号器は、図１０に示されている基本アウトラインに従って複数の方法で多重解像度レイヤ符号化を実行することができる。詳細については、特許文献１またはＭＰＥＧ−２標準もしくは他のビデオ標準を参照のこと。
【００８１】
図１１は、異なる解像度でビデオを復号化できるようにビットストリームレイヤを復号化する手法（１１００）を示す。図３の復号器３００などの復号器は、入力（１１１０）として階層化ビットストリームをとる。レイヤは、低解像度のレイヤ（ベースレイヤ）、および高解像度の情報を含む１つまたは複数のレイヤを含む。高解像度のレイヤは、独立に符号化された画像を含む必要はなく、典型的には、高解像度のレイヤは、画像の高解像度のバージョンと低解像度のバージョンとの差を記述する残差情報を含む。復号器は、ベースレイヤ（１１２０）を復号化し、高解像度の復号化が望まれている場合、復号器は、復号化されたベースレイヤ画像（１１３０）を所望の解像度に合わせてアップサンプリングする。復号器は、１つまたは複数の高解像度のレイヤ（１１４０）を復号化し、復号化された高解像度の情報をアップサンプリングされ復号化されたベースレイヤ画像と組み合わせて、高解像度の画像（１１５０）を形成する。所望の解像度をレベルに応じて、高解像度の画像は、最大解像度の画像または中間解像度の画像とすることができる。詳細については、特許文献１またはＭＰＥＧ−２標準もしくは他のビデオ標準を参照のこと。
【００８２】
復号器は、典型的には、符号器で使用される解像度のうちの１つで画像を復号化する。それとは別に、復号器に利用可能な解像度は、符号器で使用されるのとまったく同じではない。
【００８３】
ＩＶ．スケーラブルなビデオ符号化および復号化用の再サンプリングフィルタ
この節では、スケーラブルなビデオ符号化および復号化用の手法およびツールについて説明する。いくつかの説明されている手法およびツールは、階層化（または空間的スケーラブルな）文脈において説明されるが、いくつかの説明されている手法およびツールは、フレームベースの（または参照画像サンプリングの）文脈において、または再サンプリングフィルタを伴う他の何らかの文脈において使用されうる。さらに、いくつかの説明されている手法およびツールが再サンプリング画像の文脈において説明されているが、いくつかの説明されている手法およびツールは、さらに、高解像度の信号の予測から結果として得られる残差または差信号を再サンプリングするために使用されうる。
【００８４】
スケーラブルなビデオ符号化（ＳＶＣ）は、より大きなビットストリームの部分集合を復号化して、一部のアプリケーションに対し許容可能な品質の復号化された画像を生成することを可能にするデジタルビデオ符号化の一種である（ただし、このような画質は、高ビットレートのビットストリーム全体を復号化することにより生成される画質よりも低いものとなる）。ＳＶＣの種類によって知られているものは、空間スケーラビリティまたは解像度スケーラビリティと呼ばれる。空間ＳＶＣ設計では、符号化プロセス（または、符号化プロセスの範囲の正確な定義に応じて、符号化プロセスに先立って実行される前処理機能）は、典型的には、ビデオを低解像度にダウンサンプリングして低解像度の復号化プロセスを使用できるようにその低解像度のビデオを符号化することと、高解像度のビデオの画像内のサンプルの値の予測として使用するため低解像度の符号化された画像をアップサンプリングすることとを含む。次いで、高解像度のビデオの復号化プロセスは、低解像度のビデオ（またはその一部）を復号化することと、そのアップサンプリングされたビデオを高解像度のビデオの画像内のサンプルの値の予測として使用することとを含む。このような設計では、再サンプリングフィルタを使用する必要がある。特に、コーデック設計は、復号器と符号器の両方においてアップサンプリングフィルタを使用することと、符号器または符号化プリプロセッサでダウンサンプリングフィルタを使用することとを含む。ここでは、特に、このような設計で使用されるアップサンプリングフィルタを重点的に取りあげる。典型的には、アップサンプリングプロセスは、符号器と復号器において同一となるように設計され、これにより、符号化および復号化の際に同じ信号の異なる予測を使用することに引き起こされる誤差の蓄積であるドリフトと呼ばれる現象を防ぐ。
【００８５】
いくつかの空間ＳＶＣ設計の欠点の１つは、復号化プロセスで低品質のフィルタ（例えば、２タップ双線形フィルタ）を使用することである。高品質のフィルタを使用すると、ビデオ画質には有利である。
【００８６】
空間ＳＶＣは、フィルタの再サンプリング比における柔軟性を高めることができる再サンプリングフィルタを含むことができる。しかし、これは、このようなフィルタのそれぞれの異なる「フェーズ」に対する多数の特定のフィルタ設計を開発し、これらのフィルタの「タップ」値を符号器および復号器の実装内に格納する必要がある場合がある。
【００８７】
さらに、符号器が空間ＳＶＣに使用される再サンプリングフィルタのぼけの量を制御できることは、ビデオ画質にとって有益であると思われる。したがって、アップサンプリングまたはダウンサンプリング用に設計される再サンプリングのそれぞれの「フェーズ」について、プロセスに入り込むぼけの所望の程度に応じて、選択対象となる異なるフィルタをいくつか用意すると都合がよいであろう。アップサンプリングの際に実行されるぼけの程度の選択結果は、復号化プロセスで使用するために伝達される情報として符号器から復号器に送られうる。このさらなる柔軟性により、設計の複雑度が増し、符号器または復号器に格納される必要があるかもしれない必要なタップ値の数が大幅に増える。
【００８８】
統一された設計を使用することで、様々なフェーズおよびぼけの様々な程度を有する様々な再サンプリングフィルタを指定することが可能であろう。可能な解決手段の１つは、Ｍｉｔｃｈｅｌｌ−Ｎｅｔｒａｖａｌｉフィルタ設計法の使用である。これらの問題にＭｉｔｃｈｅｌｌ−Ｎｅｔｒａｖａｌｉフィルタ設計法を直接適用する場合、符号器または復号器において計算されるべき量に対し可能な値の過剰なダイナミックレンジの形で過剰な計算資源を必要とすることがある。例えば、このような設計の１つでは、汎用ＣＰＵおよびＤＳＰで通常使用される１６ビットまたは３２ビット処理要素ではなく、４５ビット算術演算処理を使用する必要がある場合もある。このような問題に対処するために、設計に対しいくつか改良を加える。
【００８９】
典型的なＳＶＣ設計では、空間スケーラビリティに対し標準アップサンプリングフィルタを必要とする。任意の再サンプリング比（拡張空間スケーラビリティと呼ばれる特徴）をサポートするために、再サンプリング比に関する大きな柔軟性を組み込んだアップサンプリングフィルタ設計について説明する。他の重要な態様は、輝度および色度の相対的アライメントである。様々なアライメント構造（例えば、４：２：０色度に対するＨ．２６１／ＭＰＥＧ−１対ＭＰＥＧ−２のアライメント、およびＨ．２６４／ＭＰＥＧ−４  ＡＶＣ）が、単一レイヤアプローチに見つかるので、説明されている手法およびツールは、柔軟性の高い様々なアライメントをサポートし、符号器がフィルタリングを適宜適用する方法を復号器に示す簡単な方法となっている。
【００９０】
説明されている手法およびツールは、高品質のアップサンプリングと良好なアンチエイリアシングを実行できるアップサンプリングフィルタを含む。特に、説明されている手法およびツールは、空間スケーラビリティに対する前の双線形フィルタ設計により実現されたものを超える品質を有する。説明されている手法およびツールは、見栄えよくするだけでなく、良好な信号処理周波数挙動をもたらす高品質アップサンプリングフィルタを有する。説明されている手法およびツールは、簡単に指定でき、タップ値を保持する大きな記憶域をとるテーブルを必要としないフィルタ設計を含み、フィルタリング演算それ自体は、計算動作が単純である。例えば、説明されている手法およびツールは、過剰に冗長であるということのない、過剰な数学的精度または過剰に複雑な数学的関数を必要としないフィルタを有する。
【００９１】
この節では、以下の特報のうちの１つまたは複数を有する設計について説明する。
【００９２】
−  輝度／色度フェーズアライメントの柔軟性、
−  再サンプリング比の柔軟性、
−  周波数特性の柔軟性、
−  高い視覚的品質、
−  フィルタタップが少なすぎも、多すぎもしない（例えば、４から６の範囲）、
−  指定するのが簡単、
−  動作が単純（例えば、実用的なワード長の算術演算を使用する）。
【００９３】
Ａ．Ｍｉｔｃｈｅｌｌ−Ｎｅｔｒａｖａｌｉアップサンプリングフィルタ
説明されている手法およびツールは、分離可能フィルタリングアプローチを採用する−したがって、以下の説明では、一次元信号の処理に主に注目するが、それは、二次元の場合は、一次元の場合の単純な分離可能な応用だからである。最初に、
【００９４】
【数１】
2009522935.tif 000004
【００９５】
により与えられる概念的連続的インパルス応答ｈ（ｘ）に基づくフィルタの２パラメータ集合を提案するが、だたし、ｂおよびｃは、２つのパラメータである。相対的フェーズオフセット位置０≦ｘ＜１について、このカーネルは、行列の式
【００９６】
【数２】
2009522935.tif 000005
【００９７】
により与えられるタップの値を持つ４タップ有限インパルス応答（ＦＩＲ）フィルタを生成する。
【００９８】
実際には、ｘに対するＦＩＲフィルタカーネルは、単に、逆順の１−ｘに対するＦＩＲフィルタカーネルであるため、０から１／２までのｘの範囲のみを考えるだけで十分である。
【００９９】
この設計は、多数の興味深い、有用な特性を有する。以下にそのいくつかを示す。
【０１００】
−  フィルタタップ値を計算するのに三角関数、超越関数、または無理数処理を必要としない。実際、このようなフィルタに対するタップ値は、ごく少数の単純な演算で直接計算できる。使用すべきパラメータおよびフェーズの様々な可能な値に対し格納しておく必要はなく、必要になったら、単に計算するだけでよい。（したがって、このようなフィルタの使用を標準化するために、少数の公式があればよい−コサインまたはベッセル関数などの関数を近似する巨大な数表または標準化された試行を必要としない。）
−  その結果得られるフィルタは、４つのタップを有する。これは、非常に実用的な数である。
−  フィルタは、メインローブのそれぞれの側に単一のサイドローブのみを有する。したがって、過剰なリンギングアーチファクト（ringing artifact）を発生しない。
−  フィルタは、平滑化されたインパルス応答を有する。その値およびその一次導関数は、両方とも連続である。
−  利得１のＤＣ応答を有するが、これは、アップサンプリングされる情報内に全体的な輝度増幅または減衰がないことを意味する。
−  このフィルタファミリのメンバは、「Ｌａｎｃｚｏｓ−２」設計および「Ｃａｔｍｕｌｌ−Ｒｏｍ」設計などのよく知られているよいフィルタの比較的良好な近似を含む。
【０１０１】
さらに、説明されている手法およびツールは、見栄えよくするフィルタの選択に関する２つのパラメータの間の特定の関係を含む。この関係は、
【０１０２】
【数３】
2009522935.tif 000006
【０１０３】
のように表すことができる。
【０１０４】
これにより、自由度は単一帯域幅制御パラメータｂに下げられる。このパラメータは、フィルタにより持ち込まれる付加的なぼけの程度を制御する。値ｂ＝０に関連するこのフィルタファミリのメンバは、優秀な、よく知られているＣａｔｍｕｌｌ−Ｒｏｍアップサンプリングフィルタ（Ｋｅｙｓ「三次畳み込み」補間フィルタとも呼ばれる）であることに留意されたい。
【０１０５】
Ｃａｔｍｕｌｌ−Ｒｏｍアップサンプリングフィルタは、Ｍｉｔｃｈｅｌｌ−Ｎｅｔｒａｖａｌｉフィルタファミリのすべてのメンバについて見られる基本的な利点に加えて、それ自体良好な特性を多数有する。
【０１０６】
−  これは、「補間」フィルタである、−つまり、フェーズ値ｘ＝０およびｘ＝１に対し、フィルタは、１に等しい単一の非ゼロタップを有する。言い換えると、アップサンプリングされた信号は、それぞれのアップサンプリングされた曲線セグメントのエッジにおける入力サンプルの値を正確に通る。
−  入力サンプルの集合が、放物線（または直線、もしくは静的値）を形成すると、出力点は、正確に放物線（または直線もしくは静的値）上に載る。
【０１０７】
実際、いくつかの点で、Ｃａｔｍｕｌｌ−Ｒｏｍアップサンプラーは、これらの理由からこの長さの最良のアップサンプリングフィルタであると考えることができる−ただし、何らかのよけいなぼけを持ち込む（ｂの増大）と、ときには、見栄えよいものとなる可能性がある。さらに、ある程度のよけいなぼけを持ち込むことで、低ビットレート圧縮アーチファクトをぼけさせることができ、そのため、真のアップサンプリングされた画像Ｗｉｅｎｅｒフィルタ（ノイズフィルタリングに使用されるよく知られているフィルタ）推定器により似た挙動を示す。
【０１０８】
式（３）を式（２）に単位代入するだけで、タップ値
【０１０９】
【数４】
2009522935.tif 000007
【０１１０】
が得られる。
【０１１１】
９人のエキスパート視聴者と５００を超えるサンプルによる主観テストに基づき以下が報告された。
【０１１２】
−  使用可能な範囲は、０≦ｂ≦５／３として報告される、
−  ０≦ｂ≦１／２は、視覚的に「満足」のゆくものとして分類され、ｂ＝１／３は、見栄えをよくするものとして報告される、
−  ｂ＞１／２は、「ぼけ」として分類され、ｂ＝３／２は、過剰にぼけているとして報告される、
【０１１３】
Ｂ．帯域幅制御パラメータの整数化
式（４）において６で除算することは、望ましくない場合がある。その代わりに、無限精度は復号器設計の一部として実用的でないので、帯域幅制御パラメータおよびフィルタタップ値を整数化することが望ましい場合がある。新しい整数値変数として
ａ＝（ｂ／６）＊２Ｓ                                                    （５）
で定義されたａを使用する代入を考えるが、
ただし、Ｓは、整数シフト係数であり、ａは、整数化帯域幅制御パラメータとして作用する符号なし整数である。パラメータａは、ビットストリーム内のビデオシーケンスレベルで符号器によりシンタックス要素として符号化されうる。例えば、パラメータａは、可変長または固定長のコードで明示的に符号化されるか、または他の情報と一緒に符号化されるか、または明示的に信号で伝達されうる。それとは別に、パラメータａは、ビットストリーム内の他の何らかのレベルで信号で伝達される。
【０１１４】
整数化の結果、整数化タップ値は
【０１１５】
【数５】
2009522935.tif 000008
【０１１６】
となる。
【０１１７】
次いで、この結果は、２進演算処理においてＳ位置だけスケールダウンされる必要がある。
【０１１８】
ａの範囲が０からＭまでである場合、ｂの範囲は０から６＊Ｍ／２Ｓまでである。Ｍに対する可能ないくつかの有益な選択は、以下のとおりである。
−  Ｍ＝２（Ｓ−２）−１、この結果ｂの範囲は０から３／２−６／２Ｓまでである。
−  Ｍ＝Ｃｅｉｌ（２Ｓ／６）、２Ｓ／６以上の最小の整数を返し、その結果ｂの範囲は０から１よりも少し大きい値までとなる。
−  Ｍ＝２（Ｓ−３）−１、この結果ｂの近似的範囲は０から３／４−６／２Ｓまでとなる。
【０１１９】
Ｍに対するこれらの選択は、最も有用な場合を十分にカバーできるくらい広く、最初の選択（Ｍ＝２（Ｓ−２）−１）は３つの選択のうちの大きい方である。Ｓに対する有用な範囲は、６から８までである。
【０１２０】
例えば、Ｓ＝７およびＭ＝２（Ｓ−２）−１、つまりＭ＝３１を考える。それとは別に、ＭおよびＳの他の値を使用することができる。
【０１２１】
Ｃ．分数サンプル位置決めの整数化
次に、ｘの値の粒度を考える。実用上は、ｘも近似すべきである。例えば、整数ｉを、
ｘ＝ｉ÷２Ｆ                                                            （７）
と定義することができる。
【０１２２】
ただし、Ｆは、サポートされている分数サンプル位置精度を表す。十分に精度のある再サンプリング演算の一実施例では、Ｆ≧４（１／１６以上のサンプル位置決め精度）を考える。この結果、整数化されたフィルタタップ値
【０１２３】
【数６】
2009522935.tif 000009
【０１２４】
が得られる。
【０１２５】
例えば、Ｆ＝４を考える。次いで、結果を、３Ｆ＋Ｓ位置だけスケールダウンされる必要がある。
【０１２６】
上記の行列内のすべてのエントリは、係数２を共通に含む（Ｓは、１より大きいと仮定する）ことに留意されたい。そこで、代わりに、タップ値を
【０１２７】
【数７】
2009522935.tif 000010
【０１２８】
のように公式化することができる。
【０１２９】
ただし、タップ値はそれぞれ、２で除算されている。次いで、結果を、３Ｆ＋Ｓ−１位置だけスケールダウンされる必要がある。
【０１３０】
ダウンスケーリングでは、関数ＲｏｕｎｄｉｎｇＲｉｇｈｔＳｈｉｆｔ（ｐ，Ｒ）を、
【０１３１】
【数８】
2009522935.tif 000011
【０１３２】
として計算される入力値ｐについて計算されたＲビットの右シフト（丸めあり）の出力として定義する。
【０１３３】
ただし、表記「＞＞」は、２の補数の２進演算を使用する２進演算右シフト演算子である。それとは別に、丸め右シフトは、異なる形で実行される。
【０１３４】
丸め右シフトに対するいくつかの例示的アプリケーションを以下に示す。
【０１３５】
Ｄ．ダイナミックレンジの考慮事項
サンプルビット深度のＮビットで画像をフィルタリングし、丸めの実行前に二次元でそうする場合、２＊（３Ｆ＋Ｓ−１）位置だけ結果をダウンシフトし、出力をＮビット範囲にクリップする前にアキュムレータ内にダイナミックレンジの２＊（３Ｆ＋Ｓ−１）＋Ｎ＋１ビットが入っている必要がある。例えば、Ｆ＝４、Ｓ＝７、およびＮ＝８であるとすると、フィルタリングされた結果を計算するために４５ビットアキュムレータを使用する必要がある場合がある。
【０１３６】
以下の節では、この問題を軽減するいくつかのアプローチについて説明する。これらのアプローチは、別々に、または互いに組み合わせて使用することができる。本明細書の説明に基づき、説明されているダイナミックレンジ軽減アプローチのいくつかの変更形態が可能であることは理解されるであろう。
【０１３７】
１．第１の例示的なダイナミックレンジ軽減アプローチ
水平フィルタリングが最初に実行され、続いて垂直フィルタリングが実行される実施例を考察する。二次元処理パイプライン内の任意の点に対し最大ワード長Ｗビットを考える。第１のダイナミックレンジ軽減アプローチでは、フィルタリングを実行するために、プロセスの第１（水平）段の出力でＲＨビットの丸め右シフトを、プロセスの第２の（垂直）段の出力でＲＶビットの丸め右シフトを使用する。
【０１３８】
そこで、
２＊（３Ｆ＋Ｓ−１）＋Ｎ＋１−ＲＨ＝Ｗ                                （１１）
を計算することができ、したがって
ＲＨ＝２＊（３Ｆ＋Ｓ−１）＋Ｎ＋１−Ｗ                                （１２）
となる。
【０１３９】
次いで、第２（垂直）段に対する右シフトを、
ＲＨ＋ＲＶ＝２＊（３Ｆ＋Ｓ−１）                                      （１３）
から計算することができ、したがって
ＲＶ＝２＊（３Ｆ＋Ｓ−１）−ＲＨ                                      （１４）
となる。
【０１４０】
例えば、Ｆ＝４およびＳ＝７ならびにＮ＝８およびＷ＝３２について、ＲＨ＝１３およびＲＶ＝２３が得られる。したがって、ダイナミックレンジの４５ビットの代わりに、丸め右シフトを使用すると、ダイナミックレンジは、３２ビットに縮小される。ビットの異なる数の右シフトを、Ｗの異なる値に対し使用することができる。
【０１４１】
２．第２の例示的なダイナミックレンジ軽減アプローチ
第２のダイナミックレンジ軽減アプローチは、フェーズ位置決めの精度を減らす（つまり、Ｆを小さくする）、フィルタ帯域幅調節パラメータの粒度を下げる（つまり、Ｓを小さくする）、または第１の段の出力の精度を下げる（つまり、ＲＨを高くする）のではなく、タップ値の精度を減らすことを伴う。
【０１４２】
式（９）により生成される４つの整数タップ値を［ｔ−１，ｔ０，ｔ１，ｔ２］で表す。４つのフィルタタップ値の合計は、２３Ｆ＋Ｓ−１に等しくなる、つまり、
ｔ−１＋ｔ０＋ｔ１＋ｔ２＝２３Ｆ＋Ｓ−１                            （１５）
となることに留意されたい。
【０１４３】
これは、４つの入力サンプルのすべてが同じ値を持つ場合には必ず、出力はその同じ値を持つため、この例示的なダイナミックレンジ軽減アプローチの重要な特性である。
【０１４４】
式（１０）にある丸め右シフトの例示的な定義を使用し、タップ値に対し右シフト量Ｒｔを与えて、以下の式を定義する。
ｕ−１＝ＲｏｕｎｄｉｎｇＲｉｇｈｔＳｈｉｆｔ（ｔ−１，Ｒｔ）、
ｕ１＝ＲｏｕｎｄｉｎｇＲｉｇｈｔＳｈｉｆｔ（ｔ１，Ｒｔ）、
ｕ２＝ＲｏｕｎｄｉｎｇＲｉｇｈｔＳｈｉｆｔ（ｔ２，Ｒｔ）、
ｕ０＝２３Ｆ＋Ｓ−１−ｕ−１−ｕ１−ｕ２。
【０１４５】
次いで、［ｔ−１，ｔ０，ｔ１，ｔ２］ではなく、タップ値［ｕ−１，ｕ０，ｕ１，ｕ２］を使用してフィルタリングを実行する。Ｒｔの値において１のそれぞれの増加は、算術アキュムレータにおいて必要なダイナミックレンジの１少ないビット、および処理の後続の段において実行される右シフトの１少ないビットを表す。
【０１４６】
３．第３の例示的なダイナミックレンジ軽減アプローチ
以前のある設計では、概念上は似ているが、プロセスの第１段の後の右シフトの量をフェーズ位置決め変数ｉの値の関数にするという点で第１の例示的なダイナミックレンジ軽減アプローチと異なるトリックを使用する。
【０１４７】
式（９）に示されているフィルタタップ値は、ｉの値が２Ｋの整数倍である場合にＫ個のゼロ値ＬＳＢを含むことがわかる。そこで、フィルタリングプロセスの第２段で、２Ｋの整数倍であるフェーズ位置決め変数ｉを使用する場合、第２段のタップ値をＫビットだけ右シフトし、第１段の右シフト量をＫビットだけ減らすことができる。
【０１４８】
これは、一般化された再サンプリング係数を操作するときに、追跡するのがかなり難しい場合がある。しかし、２：１の単純な再サンプリング係数または他の単純な係数を実行する場合には、フィルタリングプロセス第２段について使用中のすべてのフェーズが２Ｋの同じ倍数を含むことを理解することは容易であり、このアプローチをこれらの特別なケースに適用することができる。
【０１４９】
Ｖ．位置計算の手法およびツール
空間ＳＶＣに対する位置決め情報を計算するための手法およびツールについて説明する。
【０１５０】
いくつかの手法およびツールは、ワード長Ｂに注目し、そのワード長の制約内で計算の精度を最適化する方法を対象とする。精度をただ選択し、何らかの必要なワード長を要求する代わりに、新しい方法を適用すると、実際の実装の精度が高まり、手法の効果的適用の範囲が広がるが、それというのも、利用可能なワード長すべてを使用して、その制約内で精度を最大化するからである。
【０１５１】
いくつかの手法およびツールは、ａ）座標系の原点をオフセットすることと、ｂ）符号付き整数ではなく符号なし整数を使用して、精度とワード長／ダイナミックレンジとの間のトレードオフの関係を改善することとを対象とする。原点オフセット項をそれぞれの計算された位置に加えるのに、計算量をわずかに増やす必要がある。
【０１５２】
いくつかの手法およびツールは、生成されるサンプルの列の異なるセクションの計算を異なる処理段に分けることを対象とし、その際に、座標系の原点は、それぞれの段の開始に変更される。ここでもまた、必要な計算量をさらにわずかに増やすだけで精度とワード長／ダイナミックレンジとの間のトレードオフの関係を改善する（それぞれの段の開始時にいくつかの余分な計算が実行される）。この手法を論理的極限まで高めると、乗算の必要性をなくすことができ、また精度とワード長／ダイナミックレンジとの間のトレードオフの関係をさらに改善することができる。しかし、サンプル毎にいくつかの余分な演算を実行する必要がある（「それぞれの段」に必要な余分な計算処理は、すべての段が１つのサンプルのみを含む場合にサンプル毎に必要になるからである）。
【０１５３】
一般的テーマとして、設計は、計算された結果の精度、処理要素のワード長／ダイナミックレンジ、および処理に関与する数学的演算の数および種類（例えば、シフト演算、加算、および乗算）の間の望ましいトレードオフの関係を達成する処理の位置計算の一部について説明される。
【０１５４】
例えば、説明される手法およびツールを使用することで、Ｂビット（例えば、３２ビット）算術演算を使用して柔軟精度計算を実行できる。これにより、空間ＳＶＣ符号器／復号器は、計算のため異なる算術演算（例えば、１６ビットまたは６４ビット算術演算）に変換することなく異なる画像サイズに柔軟に対応できる。柔軟精度Ｂビット（例えば、３２ビット）算術演算では、符号器／復号器は、柔軟な個数のビットを分数成分に充てることができる。これにより、整数成分を表すために必要なビットの個数を減らすとともに計算の精度を高めることができる（例えば、フレームサイズの縮小のため）。整数成分を表すのに必要なビットの個数が増えると（例えば、フレームサイズが大きい場合）、符号器／復号器は整数成分には多くのビットを、分数成分には少ないビットを使用して、精度を下げるが、Ｂビット算術演算を維持することができる。このようにして、異なる精度と異なるフレームサイズとの間の変更が、大幅に簡素化される。
【０１５５】
この節では、例示的な実装に対する具体的詳細を取りあげる。しかし、本明細書で説明される詳細は、本明細書で説明される原理に応じて他の実装では変えることができることに留意されたい。
【０１５６】
Ａ．導入および位置計算の原理
精度を著しく失うことなく必要な計算量をかなり減らせる、位置およびフェーズ情報を計算する手法について説明する。例えば、説明されている手法は、例えば、公称ダイナミックレンジ要件を劇的に（数十ビットほど）下げることにより必要計算量を著しく減らせる。ベースレイヤおよびエンハンスメントレイヤで使用されうる様々な可能な色度位置を考えると、輝度サンプルに関する再サンプリングされた色度サンプルの適切な位置決めを行う解決策を見つけることが望ましい。したがって、説明されている手法を使用することで、輝度位置と色度位置との間の異なる関係によりビデオ形式に対する位置を計算するように調節を行うことができる。
【０１５７】
拡張空間スケーラビリティ用に設計されている以前のアップサンプリング方法では、低解像度のレイヤをアップサンプリングするときに位置およびフェーズ情報を計算するというかなりやっかいな方法を用い、分母のアップシフトされた近似的逆数をスケーリングするが、このため、分子が大きくなると（つまり、アップサンプリングプロセスが左から右へ、または上から下へ移動するときに）逆数近似の丸め誤差が増幅される。比較すると、本明細書で説明されている手法は、優れた精度を有し、計算を簡素化する。特に、ダイナミックレンジおよび位置計算の右シフト量を数十ビットほど減らす手法が説明される。
【０１５８】
例えば、ＳＶＣ空間アップサンプリングで使用する、整数位置およびｉ＝０．．２Ｆ−１であるフェーズ位置決め変数ｉを取得するための位置決め情報を計算する手法について説明される。
【０１５９】
説明される手法は、再サンプリングプロセスを、順方向参照画像再サンプリングではなく、空間スケーラブルなビデオ符号化のアプリケーションに適用する。空間スケーラブルなビデオ符号化のこのアプリケーションにおいて、いくつかの簡素化を適用しうる。ここでは、一般的なワーピングプロセスではなく、画像サイズ変更演算のみを必要とする。これは、それぞれの次元について分離可能な設計とすることができる。
【０１６０】
Ｂ．位置計算設計
新しい（アップサンプリングされた）配列内のＬからＲ＞Ｌまでの実数値範囲内に概念上置かれるサンプルの列の生成として、それぞれの次元（ｘまたはｙ）における、問題文を考える。この実数値範囲は、参照される低解像度配列におけるＬ’からＲ’＞Ｌ’の範囲に対応する。
【０１６１】
Ｌ≦Ｔ≦Ｒとする新しい配列内の位置Ｔについて、新しい配列内の位置に対応する参照配列内の位置を計算する必要がある。これは、位置Ｔ’＝Ｌ’＋（Ｔ−Ｌ）＊（Ｒ’−Ｌ’）÷（Ｒ−Ｌ）である。
【０１６２】
次に、ＬからＲまでの範囲のサイズ変更を考える代わりに、整数Ｍ＞０を定義し、同じサイズ変更比（Ｒ’−Ｌ’）÷（Ｒ−Ｌ）によりＬからＬ＋２Ｍまでの範囲をサイズ変更することを考える。次いで、参照されるサンプル座標における対応する範囲は、Ｌ’からＲ”までであり、Ｒ”＝Ｌ’＋２Ｍ＊（Ｒ’−Ｌ’）÷（Ｒ−Ｌ）である。Ｍが十分に大きい場合、つまり、Ｍ≧Ｃｅｉｌ（Ｌｏｇ２（Ｒ−Ｌ））であれば、Ｒ”≧Ｒ’である。（ここで、以下の概念を説明するためにこの制約条件が満たされるが、この制約は式の適切な関数機能に実際に必要ではないと仮定する。）
【０１６３】
次に、位置決め計算に位置Ｌ’とＲ”との間の線形補間を使用することができる。位置Ｌは、位置Ｌ’にマッピングされ、位置Ｔ＞＝Ｌは、位置（（２Ｍ−（Ｔ−Ｌ））＊Ｌ’＋（Ｔ−Ｌ）＊Ｒ”）÷２Ｍ．にマッピングされる。これは、演算の分母を２の累乗に変換し、したがって、２進数右シフトで置き換えられるようにしつつ、計算複雑度を除算演算に低減する。
【０１６４】
適切な修正を加えることで、計算を整数化することができる。Ｌ’およびＲ”の値を１÷２Ｇの整数倍に丸め、Ｇは、整数であり、したがって、Ｌ’は、ｋ÷２Ｇにより近似され、Ｒ”は、ｒ÷２Ｇにより近似され、ｋおよびｒは、整数である。この調節を使用することで、位置Ｔを位置（（２Ｍ−（Ｔ−Ｌ））＊ｋ＋（Ｔ−Ｌ）＊ｒ）÷２（Ｍ＋Ｇ）にマッピングしておく。
【０１６５】
次に、ＴおよびＬの関連する値は、１÷２Ｊの整数倍であり、Ｊは整数であり、Ｔ−Ｌ＝ｊ÷２Ｊとなる。この調節を使用することで、位置Ｔを位置（（２（Ｍ＋Ｊ）−ｊ）＊ｋ＋ｊ＊ｒ）÷２（Ｍ＋Ｇ＋Ｊ）にマッピングしておく。
【０１６６】
上記の節ＩＶから、再サンプリングフィルタの分数フェーズは、１÷２Ｆ単位の整数であることを思い出しておこう。したがって、これらの単位における計算された位置は、Ｒｏｕｎｄ（（（２（Ｍ＋Ｊ）−ｊ）＊ｋ＋ｊ＊ｒ）÷２（Ｍ＋Ｇ＋Ｊ−Ｆ））、または
ｔ’＝（（２（Ｍ＋Ｊ）−ｊ）＊ｋ＋ｊ＊ｒ＋２（Ｍ＋Ｇ＋Ｊ−Ｆ−１））＞＞（Ｍ＋Ｇ＋Ｊ−Ｆ）                                                            （１６）
またはより単純に、
ｔ’＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓ                                            （１７）
であるが、ただし、
Ｓ＝Ｍ＋Ｇ＋Ｊ−Ｆ                                                    （１８）
Ｃ＝ｒ−ｋ                                                            （１９）
Ｄ＝（ｋ＜＜（Ｍ＋Ｊ））＋（１＜＜（Ｓ−１））                        （２０）
である。
【０１６７】
計算された位置を１÷２Ｆの最近倍数に丸める前に本明細書で説明されている方法（ＬおよびＲならびにＬ’およびＲ’の表現に誤差がないと仮定して）で生じる唯一の誤差（両方の設計に存在する誤差である）は、位置Ｒ”を１÷２Ｇの最近倍数に丸めることで生じる丸め誤差である。この量は、Ｇ＋Ｍが比較的大きい場合には非常に小さい。実際、この誤差発生源は、ほぼ（Ｔ−Ｌ）÷２（Ｇ＋Ｍ＋１）の大きさに強く束縛されており、結果の計算に対するワード長要件は穏当であり、モジュロ演算により、結果の整数部を分離してワード長を最小にすることができるか、または計算を他の類似の方法で分解することもできる。
【０１６８】
例えば、Ｆは、４以上とすることができる。（いくつかのアプリケーションでは、Ｆ＝３またはＦ＝２で十分な場合がある。）Ｊの例示的な値は、輝度位置計算についてはＪ＝１、色度サンプル位置についてはＪ＝２を含む。Ｊのこれらの例示的な値に対する根拠を以下に示す。
【０１６９】
１．符号付きＢビット算術演算を使用する第１の例示的な簡素化された位置計算手法
Ｒ’＞０およびＬ’＞−Ｒ’である場合、１÷２Ｆを単位とする整数として、アップサンプリングされる画像内の計算すべきすべての位置ｔ’は、−２Ｚと２Ｚ−１の間にあり、ただし、Ｚ＝Ｃｅｉｌ（Ｌｏｇ２（Ｒ’））＋Ｆである。（ｊ＊Ｃ＋Ｄ）計算のワード長がＢビットであり、符号付き２の補数演算を使用すると仮定した場合、Ｂ−１≧Ｚ＋Ｓを要求することができる。この制約がきつい場合、つまり、Ｂ−１＝Ｚ＋Ｍ＋Ｇ＋Ｊ−Ｆである場合に、高い精度が得られる。
【０１７０】
十分に小さな画像サイズ（例えば、現行のＨ．２６４／ＭＰＥＧ−４  ＡＶＣ標準における最大レベル４．２までのレベルの場合）については、Ｂ＝３２がワード長として使用されうる。Ｂの他の値も、使用できる。非常に大きな画像では、さらに大きなＢを使用できる。計算処理は、さらに、１６ビットまたは他のプロセッサ上で使用するため、より小さなワード長の複数の部分計算に容易に分解することができる。
【０１７１】
残り２つの自由度は、ＭおよびＧである。その関係は、Ｌ’をｋ÷２Ｇと表したときに丸め誤差の必要性を回避する十分な大きさのＧである限り、柔軟である。したがって、ＳＶＣについて次の節で説明されている課題に基づき、単にＧ＝２を選ぶことができ、これにより、
Ｍ＝Ｂ＋Ｆ−（Ｇ＋Ｊ＋Ｚ＋１）
つまり、
Ｍ＝３２＋４−（２＋１＋Ｚ＋１）
つまり、
Ｍ＝３２−Ｚ
が得られる。
【０１７２】
例えば、Ｂ＝３２およびＬ’＝０の幅が１０００輝度サンプルである画像の輝度配列をアップサンプリングしたい場合、この第１の実施例の位置計算手法を使用して、Ｆ＝４、Ｇ＝２、Ｊ＝１、Ｍ＝１８、Ｓ＝１７、およびＺ＝１４を用いることができる。
【０１７３】
ＴがＲに非常に近く（または等しく）、Ｒ’が２の整数乗に非常に近い（または等しい）場合、特に（Ｔ−Ｌ）＊（Ｒ’−Ｌ’）÷２Ｆが大きい（例えば、１／２よりも大きい）場合、仮定上、上限を１だけ違反する可能性がありうる。このようなケースについてはここではこれ以上説明しないが、このようなケースを取り扱うための調整は簡単である。
【０１７４】
２．符号なしＢビット算術演算を使用する第２の例示的な位置計算手法
低解像度画像において計算すべきすべての位置が、０以上の場合、これは、適切なオフセットを座標系の原点に加えることにより真にできるものであるが、符号付き２の補数演算ではなく符号なし整数演算を使用してｔ’＝（ｊ＊Ｃ＋Ｄ）を計算するのがよい選択であるといえる。これにより、計算にオーバーフローを起こすことなくダイナミックレンジの１つ多いビットを許し（つまり、ダイナミックレンジの大きさのＢ−１ビットではなくＢビットを使用することができ）、したがって、Ｍ（またはＧ）およびＳをそれぞれ１だけ増やし、さらに、計算された結果の精度を高めることができる。そのため、オフセットＥを入れて、座標系の原点を調節した後、計算の形式は、単にｔ’＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓではなく、ｔ’＝（（ｊ＊Ｃ＋Ｄ’）＞＞Ｓ’）＋Ｅとなる。
【０１７５】
以下のように原点オフセットＥがいつ必要でなくなるかを識別することにより、符号なし算術演算を伴うこのより正確な方法をさらに詳しく述べる。
−  上述のようにＢ、Ｆ、Ｇ、Ｊ、およびＺに対する値を選択する。
−  Ｍ＝Ｂ＋Ｆ−（Ｇ＋Ｊ＋Ｚ）と設定する。
−  式（１８）、（１９）、および（２０）それぞれで上に指定されているようにＳ、Ｃ、およびＤを計算するが、ただし、Ｄは、符号付き数として計算される。
−  Ｄが０以上の場合、原点オフセットは不要であり（つまり、Ｅを使用しない）、計算処理は、符号なし算術演算を使用して単にｔ’＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓとして実行することができ、結果の精度は、上の節Ｖ．Ｂ．１で説明されている第１の例示的な位置計算手法よりも高くなる。
【０１７６】
符号なし整数を使用する計算を有効にすることにより精度を高めることに加えて、原点をオフセットすることも、ときには、Ｚの値を小さくできるようにすることにより精度改善に使用できる。原点オフセットがない場合、Ｚは、Ｒ’の関数である。しかし、原点オフセットがある場合、ＺをＲ’−Ｌ’の関数にすることができ、これにより、計算処理は、この結果Ｚの小さな値が得られる場合により正確なものとなる。
【０１７７】
以下のように原点をオフセットする１つの方法を示し、Ｄ’およびＥを導出することにより、符号なし算術演算を伴うこのより正確な方法をさらに詳しく述べる。
−  上述のようにＢ、Ｆ、Ｇ、およびＪに対する値を選択する。
−  Ｚ＝Ｃｅｉｌ（Ｌｏｇ２（Ｒ’−Ｌ’））＋Ｆと設定する。
−  Ｍ＝Ｂ＋Ｆ−（Ｇ＋Ｊ＋Ｚ）と設定する。
−  式（１８）、（１９）、および（２０）それぞれで上に指定されているようにＳ、Ｃ、およびＤを計算するが、ただし、Ｄは、符号付き数として計算される。
−  Ｅ＝Ｄ＞＞Ｓと設定する。
−  Ｄ’＝Ｄ−（Ｅ＜＜Ｓ）と設定する。
−  次いで、位置計算をｔ’＝（（ｊ＊Ｃ＋Ｄ’）＞＞Ｓ）＋Ｅとして実行することができる。
【０１７８】
Ｄ’およびＥ（およびＭ、Ｓ、およびＺ）が、このような仕方で計算される場合、式ｔ’＝（（ｊ＊Ｃ＋Ｄ’）＞＞Ｓ）＋Ｅの数学的結果は、実際には、（ｊ＊Ｃ＋Ｄ）の値がときには０から２Ｂ−１までの値範囲を外れるが、（ｊ＊Ｃ＋Ｄ’）の値はそうでないことを除き式ｔ’＝（ｊ＊Ｃ＋Ｄ）＞＞Ｓの結果と理論上常に同じになる。
【０１７９】
例えば、Ｂ＝３２およびＬ’＝０の幅が１０００輝度サンプルである画像の輝度配列をアップサンプリングしたい場合、この第２の実施例の位置計算手法を使用して、Ｆ＝４、Ｇ＝２、Ｊ＝１、Ｍ＝１９、Ｓ＝１８、およびＺ＝１４を用いることができる。ｊ＊Ｃ＋Ｄ’のすべての値が非負となるように原点をオフセットし、符号なし算術演算を使用する０から２Ｂ−１までのＢビット計算範囲を使用できるようにする代わりに、同じように働く可能な別の方法として、さらに２（Ｂ−１）だけ原点をさらに右にオフセットし、符号付き算術演算を使用する−２（Ｂ−１）から２（Ｂ−１）−１までのＢビット計算範囲を使用できるようにする方法がある。
【０１８０】
前の節の第１の例示的な位置計算手法のように、ＴがＲに非常に近く（または等しく）、Ｒ’−Ｌ’が２の整数乗に非常に近い（または等しい）場合に必要な「コーナーケース」修正がありうる。
【０１８１】
３．位置計算のための例示的な多段手法
生成されるサンプルの範囲をカバーするｊのすべての値（つまり、ＬとＲの間のＴのすべての値）に対し同じ変数値Ｃ、Ｄ’、Ｓ、およびＥを用いて、同じ式、例えば、ｔ’＝（（ｊ＊Ｃ＋Ｄ’）＞＞Ｓ）＋Ｅを使用して計算を実行できるような設計を行う方法について説明した。次に、この仮定を緩和し、精度を大きくし、および／または計算ダイナミックレンジ要件を下げることができる方法について説明する。
【０１８２】
通常、再サンプリングプロセスは、左から右に（または上から下に）進み、等しい間隔で並ぶ位置に連続するサンプル列を生成する。上のＶ．Ｂ．２節で説明されている第２の例示的な位置手法では、われわれは、オフセットパラメータＥを使用して原点を変更することで、位置計算の（ｊ＊Ｃ＋Ｄ’）部分を計算するために使用されるレジスタのＢビットダイナミックレンジを活用する方法を示した。
【０１８３】
前の節では、ＤのＳ個の最下位ビットのみがＤ’に保持され、残りはＥに移されたことに留意されたい。そのため、（ｊ＊Ｃ＋Ｄ’）の計算に対する残りの主な問題点は、ｊ＊Ｃの大きさである。
【０１８４】
ＴおよびＬは、１÷２Ｊの整数倍であることに留意されたい。通常、アップサンプリングプロセスを実行して、高解像度の画像において整数値増分でサンプル列を生成するが、例えば、連続生成されるサンプル間に２Ｊの間隔を入れる。そこで、ｐおよびＮの何らかの値についてｉ＝０からＮ−１に対する位置Ｔｉ＝（ｐ＋ｉ＊２Ｊ）÷２Ｊに対応する位置ｔ’ｉを計算したい。
【０１８５】
このプロセスは、ｐおよびＮのいくつかの値について図１２の擬似コード１２００に示されているように擬似コードで要約できる。ｉがＮに向かって大きくなるにつれ、ｑの値は増大し、ｑの最大値は、Ｂビットの利用可能なダイナミックレンジの範囲内に保持されなければならない。ｑについて計算された最大値は、（ｐ＋（Ｎ−１）＊２Ｊ）＊Ｃ＋Ｄ’である。
【０１８６】
次に、このようにして１つのループですべてのサンプルを生成する代わりに、プロセスを複数の段、例えば、２段に分けることを考える。例えば、２段プロセスでは、第１段で、第１のＮ０＜Ｎ個のサンプルを生成し、第２段で、残りＮ−Ｎ０個のサンプルを生成する。さらに、ｐは、そのループに関して一定であるため、第１段の前にその影響をＤ’およびＥに移動することができる。この結果、図１３の擬似コード１３００に例示されている２段プロセスが得られる。
【０１８７】
擬似コード１３００のそれぞれの段の開始時に、その段に対するｑの第１の値のＳ個の最下位ビット以外のすべてが、Ｅに移動されている（つまり、第１段についてはＥ０に、第２段についてはＥ１に移動する）ように原点がリセットされている。そのため、２段のそれぞれの演算の際に、ｑは、より小さなダイナミックレンジを必要とする。プロセスをこのように複数の段に分けた後、ｑの最大値は、Ｎ０＊Ｃ’＋Ｄ０、または（（Ｎ−Ｎ０−１）＊Ｃ’＋Ｄ１のいずれか大きい方となる。しかし、Ｄ０およびＤ１はそれぞれが有する符号なしダイナミックレンジのビット数はＳビット以下なので、これは、通常、すでに説明されている単一段設計の場合よりも小さい最大値となる。この段で生成されるサンプルの数（つまり、第１段についてはＮ０、第２段についてはＮ−Ｎ０）は、関連する計算に対するダイナミックレンジに影響を及ぼす可能性がある。例えば、それぞれの段において少ないサンプル数を使用すると、関連する計算に対するダイナミックレンジが小さくなる。
【０１８８】
それぞれの段は、さらに多くの段に分割することができ、したがって、合計Ｎ個のサンプルの生成は、さらに、そのような小さな任意の個数の段に分解されうる。例えば、プロセスは、例えば、８または１６個の連続サンプルのブロックがそれぞれの段で生成されるように等しいサイズの複数の段に分けることができるであろう。この手法を使用することで、ｑを計算するためダイナミックレンジＢの必要なビット数を減らすか、または計算の精度を高める（ＳおよびＧ＋Ｍを大きくする）一方で、ダイナミックレンジを同じに保つか、またはこれら２つの利点を同時に保持することができる。
【０１８９】
位置計算プロセスを複数の段に分解するこの手法は、さらに、サンプルがオーディオ信号用のアナログ−デジタル変換器から到着するとともにサンプリングレート変換を実行する場合など、入力サンプルの非常に長い列（概念上、その列は無限長となりうる）にそって連続再サンプリングプロセスを実行するために使用することができる。明らかに、プロセスを有限サイズの複数の段に分割し、原点をそれぞれの段から徐々に次の段へとリセットしなければ、これが処理ワード長における無限ダイナミックレンジを必要とするので、無限長のサンプル列は前の節で説明されている手法により処理できない場合がある。しかし、これらの手法を実効無限列長に適用する際の困難は、１÷２Ｇの倍数を表す整数単位で仮説的ベンチマーク位置Ｌ’およびＲ’の表現に丸め誤差が一切伴わないときにのみ実効無限長への適用が有用であるので、そのような手法に対する実質的制限ではない。
【０１９０】
多段位置計算手法が適用可能な状況では、レート変換プロセス全体を通して位置計算の演算においてどのようなものであれ丸め誤差の「ドリフト」累積を生じることなく、無限長サンプル列にそって計算を実行する手段が実現される。
【０１９１】
４．位置計算の例示的な増分演算
上述の多段分解概念に対する興味深い特別なケースは、それぞれの段で生成されるサンプルの数が１段当たりたった１つのサンプルにまで減らされた場合である。図１４の擬似コード１４００は、ｉ＝０からＮ−１に対するＮ個の位置ｔ’ｉを生成するプロセスを表す。
【０１９２】
このプロセスは、アップサンプリングプロセスとして説明されるため（同じ原理をダウンサンプリングプロセスにも適用可能であるけれども）、ｉの増分毎に、高解像度の画像内に１の間隔があり、したがって、低解像度の画像内に１以下の増分があることがわかる。低解像度の画像内の空間位置における１の増分は、Ｃ’に対する２（Ｓ＋Ｆ）の値に対応する。また、Ｄ’＜２Ｓであることがわかる。したがって、ｑ＝Ｃ’＋Ｄ’の範囲は、０から２（Ｓ＋Ｆ）＋２Ｓ未満までであり、したがって、ｑは、符号なし整数演算を使用してＢ＝Ｓ＋Ｆ＋１ビット以下のダイナミックレンジ要件で計算できる。一実装では、このダイナミックレンジ要件は、画像サイズに対して不変である（つまり、Ｒ’またはＲ’−Ｌ’の値に依存しない）。
【０１９３】
スケーラブルなビデオ符号化および多くの他のそのようなアプリケーションでは、１に非常に近いアップサンプリング比をサポートする実際の必要性はありえない。このようなアプリケーションでは、Ｃ’は、実際には、Ｓ＋Ｆ以下のビットを必要とすると仮定することができる。
【０１９４】
例えば、Ｂ＝３２およびＬ’＝０の幅が１０００輝度サンプルである画像の輝度配列をアップサンプリングしたい場合、この方法を使用して、Ｆ＝４、Ｇ＝２、Ｊ＝１、Ｍ＝２９、Ｓ＝２８、およびＺ＝１４を用いることができる。この結果は異常に正確であるため、Ｂの小さい値がより妥当な選択のように見える。
【０１９５】
それとは別に、Ｂ＝１６およびＬ’＝０の幅が１０００輝度サンプルである画像の輝度配列をアップサンプリングしたい場合、この方法を使用して、Ｆ＝４、Ｇ＝２、Ｊ＝１、Ｍ＝１３、Ｓ＝１２、およびＺ＝１４を用いることができる。
【０１９６】
実行すべきサンプリング演算の状況に関する知識がさらにあれば、さらなる最適化機会が得られる。例えば、アップサンプリング比が２よりも著しく大きい場合、ダイナミックレンジ要件は、もう１つのビットだけ低減され、４、１６などよりも大きなアップサンプリング比についても同様に低減される。
【０１９７】
この節の例示的な増分位置計算手法を参照しつつ説明される（上述の例示的な多段位置計算手法に関する）変更はどれも、Ｃ、Ｄ、およびＳの与えられた値について位置ｔ’ｉの実際の計算された値に影響を及ぼすことはない。この計算をサポートするのに必要なダイナミックレンジのみが変更される。
【０１９８】
この形式の分解に対する擬似コード１４００の内側ループは、乗算をまったく必要としない。この事実は、いくつかの計算プロセッサに対する計算時間を短縮するうえで有利であると思われる。
【０１９９】
５．追加備考
２：１、３：２などの共通再サンプリング比では−位置Ｌ’およびＲ”を１÷２Ｇ単位の整数として近似するのに丸めが必要ない場合−これらの方法を使用するときに丸め誤差はまったくない（最終結果を位置計算法に関係なく存在する誤差である１÷２Ｆを単位とする整数に丸めたときに発生しうる丸め誤差以外）。
【０２００】
Ｃ．輝度および色度位置および関係
輝度サンプリンググリッドインデックス座標に関して、完全な新しい（アップサンプリングされた）画像および参照画像配列の正確なアライメントを仮定すると、現在画像座標における位置ＬおよびＲは、
【０２０１】
【数９】
2009522935.tif 000012
【０２０２】
および
【０２０３】
【数１０】
2009522935.tif 000013
【０２０４】
であり、ただし、Ｗは、関連する再サンプリング次元に応じて、画像内のサンプルの垂直方向または水平方向の数である。同等のことであるが、画像空間座標からグリッドインデックス値に変換するときに、画像空間座標系の原点をグリッドインデックス０の位置の左（または上）、半サンプル分のところに設定し、１／２を加えることが可能であり、これにより、空間座標系内で計算を実行したときに負の数を扱わなくて済む。
【０２０５】
参照されている（低い解像度の）画像内の位置Ｌ’およびＲ’は、同じようにしてサンプリンググリッド座標を基準とし、この場合、Ｗは、新しい画像ではなく、参照画像内のサンプルの数である。
【０２０６】
色度サンプリンググリッド（新しい画像であろうと参照画像であろうと）について、この状況は、いくぶん単純ではない。輝度に関して色度サンプルの指定されたアライメントを構成するために、色度サンプルにより表現される画像矩形を輝度サンプルにより表現される矩形と同じものであると考える。これにより、以下のケースが生じる。
−  水平方向に、４：２：０の色度サンプリングタイプ０、２、および４（図５Ｄを参照）については、現在画像座標は、
【０２０７】
【数１１】
2009522935.tif 000014
【０２０８】
および
【０２０９】
【数１２】
2009522935.tif 000015
【０２１０】
により定義される。
−  水平方向に、４：２：０の色度サンプリングタイプ３、１、および５（図５Ｄを参照）については、現在画像座標は、
【０２１１】
【数１３】
2009522935.tif 000016
【０２１２】
および
【０２１３】
【数１４】
2009522935.tif 000017
【０２１４】
により定義される。
−  垂直方向に、４：２：０の色度サンプリングタイプ２および３（図５Ｄを参照）については、現在画像座標は、
【０２１５】
【数１５】
2009522935.tif 000018
【０２１６】
および
【０２１７】
【数１６】
2009522935.tif 000019
【０２１８】
により定義される。
−  垂直方向に、４：２：０の色度サンプリングタイプ０および１（図５Ｄを参照）については、現在画像座標は、
【０２１９】
【数１７】
2009522935.tif 000020
【０２２０】
および
【０２２１】
【数１８】
2009522935.tif 000021
【０２２２】
により定義される。
−  垂直方向に、４：２：０の色度サンプリングタイプ４および５（図５Ｄを参照）については、現在画像座標は、
【０２２３】
【数１９】
2009522935.tif 000022
【０２２４】
および
【０２２５】
【数２０】
2009522935.tif 000023
【０２２６】
により定義される。
−  水平方向に、４：２：２色度サンプリングについて、典型的には業界慣行で使用される４：２：２サンプリングに対する現在画像座標は、
【０２２７】
【数２１】
2009522935.tif 000024
【０２２８】
および
【０２２９】
【数２２】
2009522935.tif 000025
【０２３０】
により定義される。
−  垂直方向に、４：２：２色度サンプリングについて、典型的には業界慣行で使用される４：２：２サンプリングに対する現在画像座標は、
【０２３１】
【数２３】
2009522935.tif 000026
【０２３２】
および
【０２３３】
【数２４】
2009522935.tif 000027
【０２３４】
により定義される。
−  水平方向と垂直方向の両方で、４：４：４色度サンプリングについて、現在画像座標は、
【０２３５】
【数２５】
2009522935.tif 000028
【０２３６】
および
【０２３７】
【数２６】
2009522935.tif 000029
【０２３８】
により定義される。
【０２３９】
ここでもまた、オフセットを使用して、座標系の原点を位置Ｌの十分左に配置し、負数を扱わなくて済むようにできる。
【０２４０】
整数座標および分数フェーズオフセット剰余は、アップサンプリングされた配列で生成されるサンプルの整数座標位置を調節して、分数オフセットＬを補正し、節Ｖ．Ｂの末尾に示されている変換を適用することにより計算される。概念上、結果をＦビットだけ右にシフトすると、整数座標ポインタは参照画像を指し、左シフトされた整数座標（Ｆビットだけシフトされた）を減算すると、フェーズオフセット剰余が得られる。
【０２４１】
Ｄ．アップサンプリングに関する位置計算の余分な精度
この節では、上の節Ｖ．Ｃ．４の位置計算方法を、Ｈ．２６４  ＳＶＣ  Ｅｘｔｅｎｓｉｏｎに使用されうるアップサンプリングプロセスなどの特定のアップサンプリングプロセスにマッピングする方法を説明している。位置計算は、非常に融通の利く方法で適用され、様々な色度形式で輝度と色度の両方のチャネル、さらにはプログレッシブフレーム形式およびインターレースフレーム形式の両方について精度を最大化する。この節で説明される手法は、実装に応じて、また異なるアップサンプリングプロセスに関して異なる。
【０２４２】
上述の位置計算（上の節Ｖ．Ａ〜Ｃ）では、再スケーリングパラメータ（変数Ｃであり、以下の式においてこれ以降ｄｅｌｔａＸ（またはｄｅｌｔａＹ））は、２Ｊ（ただし、輝度に対してはＪ＝１、色度に対しては２）に等しいスケーリング係数だけスケールアップされ、左から右へ、または上から下へそれぞれのサンプル位置を生成するために加えられる増分を形成する。スケーリングは、アップスケーリング増分が１６ビットに収まるように選択された。
【０２４３】
１．スケーリング位置計算の最大精度
位置計算方法を適用する直接的な方法は、輝度に対しＪ＝１、色度に対し２として、２Ｊに等しいスケーリング係数により再スケーリングパラメータをスケールアップし、左から右へ、上から下へそれぞれのサンプル位置を生成するために加えられる増分を形成することである。次いで、アップスケーリングされた増分が１６ビットなどの特定のワード長に収まるようにスケーリングパラメータが選択される。以下の節では、位置精度を最大にするより柔軟な設計が説明される。
【０２４４】
ａ．輝度チャネル
「直接的」輝度位置計算法は、Ｆ＝４およびＳ＝１２に対し以下のサンプル式で要約することができる（水平方向にそって）。
ｄｅｌｔａＸ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈ＜＜１５）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ）
ｘｆ＝（（２＊（ｘＰ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔ）＋１）＊ｄｅｌｔａＸ−３０７２０）＞＞１２
ここで、ＢａｓｅＰｉｃＷｉｄｔｈは、ベースレイヤの水平解像度または低解像度画像であり、ＳｃａｌｅｄＢａｓｅＷｉｄｔｈは、高解像度画像領域またはウィンドウの水平解像度であり、ｄｅｌｔａＸは、中間再スケーリングパラメータであり、この場合、３２７６８の丸めた近似にアップサンプリング比の逆数を掛けた値であり、ｘＰは、高解像度画像内のサンプル位置を表し、ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔは、高解像度画像内の画像ウィンドウの相対位置を表し、Ｆｌｏｏｒ（）は、その引数以下の最大整数を表す。定数値３０７２０は、上の節Ｖ．Ｃの始めに説明されているように右シフトし、輝度サンプリンググリッド参照位置の半サンプルオフセットについて２Ｓ＊２Ｆ／２を減算する前に、２Ｓ−１を丸めオフセットとして加えた結果得られる。
【０２４５】
ｘＰのそれぞれの増分により、式内に２＊ｄｅｌｔａＸの増分が生じることは注目に値する。そして、数量２＊ｄｅｌｔａＸのＬＳＢは、常に、ゼロであり、したがって計算精度の１ビットは、本質的に無駄になる。これらの式を以下に変更することにより、複雑度を著しく増大することなく、約１エクストラビットの精度が得られる。
ｄｅｌｔａＸ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈ＜＜１６）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ）
ｘｆ＝（（ｘＰ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔ）＊ｄｅｌｔａＸ＋（ｄｅｌｔａＸ＞＞１）−３０７２０）＞＞１２
または、以下のように（少し）精度が高い形式。
ｄｅｌｔａＸａ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈ＜＜１６）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ）
ｄｅｌｔａＸａ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈ＜＜１５）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ）
ｘｆ＝（（ｘＰ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔ）＊ｄｅｌｔａＸａ＋ｄｅｌｔａＸｂ−３０７２０）＞＞１２
これら２つの形式のうちの後者は、精度が高く，複雑度影響度が無視できるくらい小さいため、示唆される（精度差も非常に小さく見えるが）。
【０２４６】
除算が実行しにくい処理アーキテクチャでは、これらの式のうちの１つの結果を持つことで、他の計算を簡素化することができる。ｄｅｌｔａＸａの値は、常に、２＊ｄｅｌｔａＸａ±１の範囲内にある。したがって、以下の簡素化された規則を、ｄｅｌｔａＸａの計算に除算を実行する必要がなくなるように導出することができる。
ｄｅｌｔａＸａ＝（ｄｅｌｔａＸｂ＜＜１）
ｒｅｍａｉｎｄｅｒＤｉｆｆ＝（ＢａｓｅＰｉｃＷｉｄｔｈ＜＜１６）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈ＞＞１）−ｄｅｌｔａＸ
（ｒｅｍａｉｎｄｅＤｉｆｆ＜０）の場合、
ｄｅｌｔａＸａ−−
そうでなく、（ｒｅｍａｉｎｄｅｒＤｉｆｆ≧ＳｅａｌｅｄＢａｓｅＷｉｄｔｈ）の場合、
ｄｅｌｔａＸａ＋＋
【０２４７】
ｂ．色度チャネル
設計のこの部分では、色度チャネルに対して、２倍乗算器の代わりに、４倍乗算器が使用され、４：２：０サンプリングに対し色度位置を表現することができる（輝度について説明されているようにＪ＝１ではなく色度に対しＪ＝２を使用する）。したがって、「直接的」な式は以下のとおりである。
ｄｅｌｔａＸＣ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈＣ＜＜１４）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ）
ｘｆＣ＝（（（（４＊（ｘＣ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔＣ）＋（２＋ｓｃａｌｅｄＢａｓｅＣｈｒｏｍａＰｈａｓｅＸ））＊ｄｅｌｔａＸＣ）＋２０４８）＞＞１２）−４＊（２＋ｂａｓｅＣｈｒｏｍａＰｈａｓｅＸ）
ここで、ｂａｓｅＣｈｒｏｍａＰｈａｓｅＸおよびｓｃａｌｅｄＢａｓｅＣｈｒｏｍａＰｈａｓｅＸは、それぞれ、低解像度および高解像度画像に対する色度サンプリンググリッド位置オフセットを表す。これらのパラメータの値は、符号器から復号器に送られる情報として明示的に伝達されるか、またはアプリケーションにより決定された特定の値を持つことができる。他のすべての変数は、色度チャネルへのアプリケーションを表す「Ｃ」サフィックスを付加した輝度チャネルについて定義されているものと似た変数である。
【０２４８】
ｘＣのそれぞれの増分の結果として、式の中で４＊ｄｅｌｔａＸＣの増分が得られる。したがって、これらの式を以下に変更することにより、複雑度を著しく増大することなく、約２エクストラビットの精度が得られる。
ｄｅｌｔａＸＣ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈＣ＜＜１６）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ）
ｘｆＣ＝（（（ｘＣ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔＣ）＊ｄｅｌｔａＸＣ＋（２＋ｓｃａｌｅｄＢａｓｅＣｈｒｏｍａＰｈａｓｅＸ）＊（（ｄｅｌｔａＸＣ＋Ｋ）＞＞２）＋２０４８）＞＞１２）−４＊（２＋ｂａｓｅＣｈｒｏｍａＰｈａｓｅＸ）
ただし、Ｋ＝０、１、または２。Ｋ＝０を使用すると、余分な演算を避けられる。Ｋ＝１またはＫ＝２を使用すると、精度が少し高くなる。
【０２４９】
対応する、少し精度が高い形式は以下のとおりである。
ｄｅｌｔａＸＣａ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈＣ＜＜１６）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ）
ｄｅｌｔａＸＣｂ＝Ｆｌｏｏｒ（（（ＢａｓｅＰｉｃＷｉｄｔｈＣ＜＜１４）＋（ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ＞＞１））÷ＳｃａｌｅｄＢａｓｅＷｉｄｔｈＣ）
ｘｆＣ＝（（（ｘＣ−ＳｃａｌｅｄＢａｓｅＬｅｆｔＯｆｆｓｅｔＣ）＊ｄｅｌｔａＸＣａ＋（２＋ｓｃａｌｅｄＢａｓｅＣｈｒｏｍａＰｈａｓｅＸ）＊ｄｅｌｔａＸＣｂ＋２０４８）＞＞１２）−４＊（２＋ｂａｓｅＣｈｒｏｍａＰｈａｓｅＸ）
輝度の場合のように、後者の変更形態は、複雑度の差が無視できるくらい小さいように思われるため好ましい（精度差も非常に小さいにように思われるが）。
【０２５０】
ｃ．インターレースフィールド座標
画像の座標系に対する参照は、通常、輝度フレーム座標内の半サンプル位置に基づいており、その結果、上述のように輝度座標参照位置に対し２のスケール係数が得られる。輝度フレーム座標内の半サンプルシフトは、４：２：０色度フレーム座標内の１／４サンプルシフトに対応するが、これは、現在上述のように色度座標に対するスケーリングにおいて係数２ではなく係数４を使用しているからである。
【０２５１】
水平方向では、フレームを表す符号化された画像とインターレースビデオの単一フィールドを表す画像に対する演算に実質的違いはない。しかし、符号化された画像が、単一フィールドを表す場合、輝度フレーム垂直座標内の半サンプル位置シフトは、輝度フィールド垂直座標内の１／４サンプル位置シフトに対応する。そのため、垂直輝度座標位置の計算では、スケール係数として２ではなく４が適用されるべきである。
【０２５２】
同様に、符号化された画像が、単一フィールドを表す場合、輝度フレーム垂直座標内の半サンプル位置シフトは、色度フィールド垂直座標内の１／８サンプル位置シフトに対応する。そのため、垂直色度座標位置の計算では、スケール係数として４ではなく８が適用されるべきである。
【０２５３】
符号化フィールド画像内の垂直座標位置の計算に対するこれらのスケーリング係数は、符号化フレーム画像内の増分計算について上で説明されているのと同じ方法でｄｅｌｔａＹ垂直増分計算に組み込むことができる。この場合、適用されるスケーリング係数が大きいため、精度改善は、輝度位置については約２ビットの精度追加、色度（垂直方向）については３ビットの精度追加となる。
【０２５４】
２．４：２：２および４：４：４の色度制限および精密化
節Ｖ．Ｄ．１．ｂの位置計算方法では、色度については輝度と異なる増倍率を使用する必要がある。これは４：２：０ビデオについてはもっともなことであり、また水平方向で４：２：２ビデオについては妥当であるが、垂直方向で４：２：２ビデオ、または水平方向もしくは垂直方向のいずれかで４：４：４ビデオについては必要でないが、それは、これらの場合において、輝度および色度解像度は、同じであり、したがって輝度および色度サンプルは、たぶん同一の場所に配置されるからである。
【０２５５】
その結果、節Ｖ．Ｄ．１．ｂの方法は、輝度および色度解像度がある次元で同じであり、フェーズシフトが意図されていない場合であっても、丸めが２つのケースにおいて少し異なる形で実行されるという理由だけで、輝度および色度位置を決定するために別々の計算を必要とする可能性がある。これは、望ましくなく、したがって、４：２：２および４：４：４サンプリング構造とともに使用するために、色度の異なる取り扱いが、この節で提案されている。
【０２５６】
ａ．４：２：２垂直ならびに４：４：４水平および垂直位置
４：２：２ビデオの垂直次元、ならびに４：４：４ビデオの垂直および水平次元の両方について、色度フェーズのカスタム制御の明白な必要性はない。したがって、色度解像度が、ある次元において輝度解像度と同じである場合には必ず、色度位置を計算する式を修正すべきであり、その結果、色度サンプリング形式が特定の次元において輝度と色度について同じ解像度を有する場合に必ず、輝度サンプルと色度サンプルの両方についてまったく同じ位置を計算することになる。オプションの１つは、色度位置変数を輝度位置変数と等しくなるように設定することであり、もう１つのオプションは、同じ結果となるように色度位置式をセットアップすることである。
【０２５７】
ｂ．４：２：２水平位置
４：２：２ビデオに対し色度フェーズ調節を水平方向に行えるようにすることに機能的問題はないが、節Ｖ．Ｄ．１．ｂの式のｓｃａｌｅｄＢａｓｅＣｈｒｏｍａＰｈａｓｅＸまたはＢａｓｅＣｈｒｏｍａＰｈａｓｅＸに対し値−１に対応するものなど、４：２：２に使用されている水平サブサンプリング構造が１種類しかない場合、カラーサンプリング形式が４：２：２であるときに必ずそれらの値が使用されるよう強制することを考慮することが望ましい場合がある。
【０２５８】
ＶＩ．拡張と代替え
本明細書で説明されている手法およびツールは、さらに、例えば、非特許文献１の付録Ｐに示されているように参照画像再サンプリングを使用して多重解像度ビデオ符号化に適用されうる。
【０２５９】
本明細書で説明されている手法およびツールは、さらに、画像サンプル配列のアップサンプリングだけでなく、残差データ信号または他の信号のアップサンプリングにも適用されうる。例えば、本明細書で説明されている手法およびツールは、さらに、例えば、非特許文献１の付録Ｑに示されているように画像解像度を落とした更新符号化用の残差データ信号のアップサンプリングに適用されうる。他の実施例では、本明細書で説明されている手法およびツールは、さらに、空間スケーラブルなビデオ符号化の設計において低解像度の残差信号から高解像度残差信号を予測するための残差データ信号のアップサンプリングに適用されうる。他の実施例として、本明細書で説明されている手法およびツールは、さらに、空間スケーラブルなビデオ符号化の設計において動きベクトルフィールドのアップサンプリングに適用されうる。他の実施例として、本明細書で説明されている手法およびツールは、さらに、グラフィック画像、写真静止画像、オーディオサンプル信号などのアップサンプリングに適用されうる。
【０２６０】
様々な説明されている実施形態を参照しつつ本発明の原理を説明し、例示したが、説明されている実施形態は、そのような原理から逸脱することなく配列および詳細について修正されうることは理解されるであろう。本明細書で説明されているプログラム、プロセス、または方法は、特に断りのない限り、特定の種類のコンピュータ環境に関係または制限されないことは理解されるであろう。様々な種類の汎用または専用コンピュータ環境を、本明細書で説明されている教示とともに使用するか、または本明細書で説明されている教示に従って演算を実行することができる。ソフトウェアで示されている説明されている実施形態の要素は、ハードウェハで実装することができ、またその逆も可能である。
【０２６１】
本発明の原理を適用できる多くの可能な実施形態を鑑みて、発明者は請求項および等価物の範囲および精神の範囲内に収まりうるすべての実施形態を本発明として請求する。
【図面の簡単な説明】
【０２６２】
【図１】いくつかの説明されている実施形態を実装できる好適なコンピュータ環境のブロック図である。
【図２】いくつかの説明されている実施形態を実装できる一般化されたビデオ符号器システムのブロック図である。
【図３】いくつかの説明されている実施形態を実装できる一般化されたビデオ復号器システムのブロック図である。
【図４】いくつかの説明されている実施形態において使用されるマクロブロック形式の図である。
【図５Ａ】トップフィールドとボトムフィールドの交互に並ぶ線を示す、インターレースビデオフレームの一部の図である。
【図５Ｂ】フレームとして符号化および復号化用に編成されたインターレースビデオフレームの図である。
【図５Ｃ】フィールドとして符号化および復号化用に編成されたインターレースビデオフレームの図である。
【図５Ｄ】ビデオフレームのそれぞれのフィールドに対する輝度サンプル配置に関する４：２：０色度サンプル配置の６つの例示的な空間的アライメントを示す図である。
【図６】ビデオの多重解像度符号化の一般化された手法を示す流れ図である。
【図７】ビデオの多重解像度復号化の一般化された手法を示す流れ図である。
【図８】イントラ画像および画像間予測画像の多重解像度符号化の手法を示す流れ図である。
【図９】イントラ画像および画像間予測画像の多重解像度復号化の手法を示す流れ図である。
【図１０】異なる解像度でビデオを復号化できるように空間的にスケーラブルなビットストリームレイヤを符号化する手法を示す流れ図である。
【図１１】異なる解像度でビデオを復号化できるように空間的にスケーラブルなビットストリームレイヤを復号化する手法を示す流れ図である。
【図１２】例示的な多段位置計算手法に対する擬似コードを示すコード図である。
【図１３】例示的な多段位置計算手法に対する擬似コードを示すコード図である。
【図１４】例示的な増分位置計算手法に対する擬似コードを示すコード図である。
【図１】
2009522935.tif 000030
【図２】
2009522935.tif 000031
【図３】
2009522935.tif 000032
【図４】
2009522935.tif 000033
【図５Ａ】
2009522935.tif 000034
【図５Ｂ】
2009522935.tif 000035
【図５Ｃ】
2009522935.tif 000036
【図５Ｄ】
2009522935.tif 000037
【図６】
2009522935.tif 000038
【図７】
2009522935.tif 000039
【図８】
2009522935.tif 000040
【図９】
2009522935.tif 000041
【図１０】
2009522935.tif 000042
【図１１】
2009522935.tif 000043
【図１２】
2009522935.tif 000044
【図１３】
2009522935.tif 000045
【図１４】
2009522935.tif 000046
【国際調査報告】
2009522935.tif 000047
2009522935.tif 000048