(57)【要約】  クロマ位置のシグナリングおよび解釈のためのルールについて記載する。１つのルールは、ショート・ルールと呼ばれ、１５の離散クロマ中心位置、および対応する４ビット・シンタックス・エレメントを定める。別のルールは、拡張ルールと呼ばれ、８１の離散クロマ中心位置、および対応する７ビット・シンタックス・エレメントを定める。記載する方法は、ディジタル・メディア・エンコーダーにおいてディジタル・メディア・データを受信するステップと、受信したディジタル・メディア・データについてクロマ位置情報を決定するステップと、エンコード・ビットストリームにおける１つ以上のシンタックス・エレメントでクロマ位置情報を表すステップとを含む。１つ以上のシンタックス・エレメントは、クロマ位置情報をディジタル・メディア・デコーダーに伝達するように動作可能である。クロマ位置情報は、画像の回転または反転を容易にする。【選択図】図１
2010521083.tif 000002
【特許請求の範囲】
【請求項１】
画像についてディジタル画像データを受信するステップであって、前記ディジタル画像データがダウンサンプル・クロマ情報を含む、ステップと、
クロマ位置情報をＸ次元における位相情報とＹ次元における位相情報とにマッピングするクロマ位置ルールにしたがって、前記ダウンサンプル・クロマ情報について、前記クロマ位置情報を決定するステップであって、前記クロマ位置ルールは、前記画像の水平方向または垂直方向の反転または回転を容易にする、ステップと、
前記クロマ位置情報を、エンコード・ビットストリームにおける１つ以上のシンタックス・エレメントで表すステップと、
前記エンコード・ビットストリームを出力するステップと、
を備えた、方法。
【請求項２】
請求項１記載の方法において、前記クロマ情報を、１つ以上の次元において１／２にダウンサンプリングする、方法。
【請求項３】
請求項１記載の方法において、前記Ｘ次元における位相情報は、半ピクセル単位の位相情報を含む、方法。
【請求項４】
請求項１記載の方法において、前記Ｙ次元またはＸ次元における位相情報は、１／４ピクセル単位の位相情報を含む、方法。
【請求項５】
請求項１記載の方法において、前記クロマ位置ルールは、前記クロマ位置情報を、Ｘ位相位置０、０．５および１、ならびにＹ位相位置０、０．２５、０．５、０．７５、および１を含むクロマ・センタリング位相にマッピングし、前記位相位置はピクセル単位である、方法。
【請求項６】
請求項１記載の方法において、前記１つ以上のシンタックス・エレメントは、前記Ｘ次元における位相情報と前記Ｙ次元における位相情報との双方を表す１つのシンタックス・エレメントを含む、方法。
【請求項７】
請求項１記載の方法において、前記１つ以上のシンタックス・エレメントは、前記Ｘ次元における位相情報を表す第１シンタックス・エレメントと、前記Ｙ次元における位相情報を表す第２シンタックス・エレメントとを含む、方法。
【請求項８】
請求項１記載の方法において、前記ディジタル画像データは、インターレース・ディジタル画像データを含む、方法。
【請求項９】
請求項１記載の方法において、前記クロマ位置ルールは、前記クロマ位置情報を、位相位置−０．５、−０．２５、０、０．２５、０．５、０．７５、１、１．２５、および１．５を含むクロマ・センタリング位相にマッピングし、前記位相位置はピクセル単位である、方法。
【請求項１０】
請求項９記載の方法において、前記クロマ位置ルールは、前記画像の整数個のピクセルだけの変換も容易にする、方法。
【請求項１１】
請求項１記載の方法であって、更に、前記ダウンサンプル・クロマ情報をアップサンプリングするために前記クロマ位置情報を用いるステップを含む、方法。
【請求項１２】
画像についてのエンコード・ディジタル画像を受信するステップであって、前記エンコード・ディジタル画像データがクロマ情報を含む、ステップと、
ダウンサンプル・クロマ情報についてクロマ位置情報をデコードするステップであって、前記画像の水平方向および垂直方向の反転または回転を容易にするために、前記クロマ位置情報をＸ次元における位相情報とＹ次元における位相情報とにマッピングするクロマ位置ルールにしたがって、前記クロマ位置情報を決定するステップと、
デコード・ビットストリームを出力するステップと、
を備えた、方法。
【請求項１３】
請求項１２記載の方法において、前記クロマ情報を１つ以上の次元において１／２にダウンサンプリングする、方法。
【請求項１４】
請求項１２記載の方法において、前記Ｘ次元における位相情報は、半ピクセル単位の位相情報を含む、方法。
【請求項１５】
請求項１２記載の方法において、前記Ｙ次元または前記Ｘ次元における位相情報は、１／４ピクセル単位の位相情報を含む、方法。
【請求項１６】
請求項１２記載の方法において、前記クロマ位置情報をデコードするステップは、１つ以上のシンタックス・エレメントをデコードするステップを含み、前記１つ以上のシンタックス・エレメントは、前記Ｘ次元における位相情報と前記Ｙ次元における位相情報との双方を表す１つのシンタックス・エレメントを含む、方法。
【請求項１７】
請求項１２記載の方法において、前記クロマ位置情報をデコードするステップは、１つ以上のシンタックス・エレメントをデコードするステップを含み、前記１つ以上のシンタックス・エレメントは、前記Ｘ次元における位相情報を表す第１シンタックス・エレメントと、前記Ｙ次元における位相情報を表す第２シンタックス・エレメントとを含む、方法。
【請求項１８】
請求項１２記載の方法であって、更に、前記ダウンサンプル・クロマ情報をアップサンプリングするために、前記クロマ位置情報を用いるステップを含む、方法。
【請求項１９】
圧縮画像についての圧縮ディジタル画像データを受信するステップであって、前記圧縮ディジタル画像データが、ダウンサンプル画像チャネル情報を含む、ステップと、
複数の利用可能な位置ルールの内、第１位置ルールにしたがって前記ダウンサンプル画像チャネル情報についての画像チャネル位置情報を決定するステップであって、前記複数の利用可能な位置ルールの各々は、前記画像の水平方向および垂直方向の反転または回転を容易にするために前記画像チャネル位置情報をＸ次元における位相情報とＹ次元における位相情報とにマッピングする、ステップと、
前記圧縮画像の水平反転、垂直反転、または回転を実行するために、前記画像チャネル位置情報を用いる、ステップと、
を備えた、方法。
【請求項２０】
請求項１９記載の方法において、前記ダウンサンプル画像チャネル情報は、ダウンサンプル・クロマ情報を備えており、前記画像チャネル位置情報は、クロマ位置情報を含む、方法。
【請求項２１】
画像についてのエンコード・ディジタル画像を受信するステップであって、前記エンコード・ディジタル画像データがクロマ情報を含む、ステップと、
ダウンサンプル・クロマ情報についてのクロマ位置情報をデコードするステップと、
変換に基づいて、前記受信したディジタル画像データの少なくとも一部を再エンコードするステップであって、前記変換が水平方向の反転、垂直方向の反転、回転、または切り取りである、ステップと、
を備えており、前記再エンコードするステップは、前記変換を反映するために前記クロマ位置情報を修正することを含む、方法。
【請求項２２】
請求項２１記載の方法において、前記再エンコードするステップは、無損失エンコード処理を含む、方法。
【請求項２３】
請求項２１記載の方法において、前記再エンコードするステップは、有損失エンコード処理を含む、方法。
【請求項２４】
請求項２１記載の方法において、前記再エンコードするステップは、変換ドメイン・エンコード処理を含む、方法。
【発明の詳細な説明】
【発明の概要】
【発明が解決しようとする課題】
【０００１】
要約すると、詳細な説明は、ディジタル・メディア・データをエンコードおよびデコードする形態、特にディジタル・メディア・エンコーダーおよびデコーダーにおいてディジタル・メディア・データをエンコードおよびデコードする形態を対象とする。
【課題を解決するための手段】
【０００２】
例えば、クロマ位置のシグナリング(signaling)および解釈に関するルールについて記載する。１つのルールは、ショート・ルール(short rule)と呼ばれ、１５の離散クロマ中心位置、および対応する４ビット・シンタックス・エレメントを定める。別のルールは、拡張ルール(extended rule)と呼ばれ、８１の離散クロマ中心位置、および対応する７ビット・シンタックス・エレメントを定める。これらのルールおよびその他の形態についての変形についても記載する。
【０００３】
一形態では、方法は、ディジタル・メディア・エンコーダーにおいてディジタル・メディア・データを受信するステップと、受信したディジタル・メディア・データについてクロマ位置情報を決定するステップと、エンコード・ビットマップにおける１つ以上のシンタックス・エレメントでクロマ位置情報を表すステップであって、シンタックス・エレメントが、クロマ位置情報をディジタル・メディア・デコーダーに伝達するように動作可能であり、クロマ位置情報が画像の回転または反転を容易にする、ステップと、エンコード・ビットストリームを出力するステップと、を備えている。別の形態では、クロマ一情報をデコードする。
【０００４】
この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で導入するために設けられている。この摘要は、特許請求する主題の鍵となる特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
【０００５】
前述のおよびその他の目的、特徴、および利点は、添付図面を参照しながら進められる、以下の詳細な説明から一層明白となろう。
【図面の簡単な説明】
【０００６】
【図１】図１は、１つ以上の記載する実現例におけるクロマ位置情報のシグナリングおよび使用のための技法およびツールを実現するのに適した計算環境のブロック図である。
【図２】図２は、クロマ・サンプル位置ルールの第１の例を示す図である。
【図３】図３は、クロマ・サンプル位置ルールの第２の例を示す図である。
【図４】図４は、インターレース・データのクロマ・ダウンサンプリングを示す図である。
【図５】図５は、ブロック変換型コデックのブロック図である。
【図６】図６は、代表的なエンコーダーの流れ図である。
【図７】図７は、代表的なデコーダーの流れ図である。
【発明を実施するための形態】
【０００７】
本願は、ディジタル・メディア・データの効率的な圧縮および伸張のための技法およびツールに冠する。記載する種々の実施形態では、静止画像エンコーダーおよび／またはデコーダーが、画像データを圧縮および／または伸張する技法を組み込む。
【０００８】
本明細書に記載する実現例に対する様々な代替物も可能である。例えば、フローチャート図を参照して説明する技法は、フローチャートに示す段階の順序を変えること、ある段階を繰り返すまたは省略すること等によって、変更することができる。別の一例として、具体的なディジタル・メディア・フォーマットを参照していくつかの実施形態について説明するが、他のフォーマットも用いることができる。
【０００９】
種々の技法およびツールは、組み合わせてまたは独立して用いることができる。異なる実施形態は、記載する技法およびツールの１つ以上を実現する。本明細書に記載する技法およびツールの中には、静止画像エンコーダーまたはデコーダーに用いたり、静止画像のエンコードまたはデコード処理に特定的に制限されない他の何らかのシステムにおいても使用できるものもある。
１．計算環境
図１は、様々な記載する実施形態を実現することができる、適した計算環境１００の例を一般化して示す。本技法およびツールは多種多様の汎用計算環境または特殊目的計算環境において実現することができるので、計算環境１００は、使用範囲や機能に関して何の限定をも示唆することを意図するのではない。
【００１０】
図１を参照すると、計算環境１００は、少なくとも１つの処理ユニット１１０とメモリー１２０とを含む。図１において、この最も基本的な構成１３０は破線内に含まれている。処理ユニット１１０は、コンピューター実行可能命令を実行し、実在のプロセッサーまたは仮想プロセッサーでもよい。マルチ処理システムでは、複数の処理ユニットがコンピューター実行可能命令を実行して、処理パワーを高める。メモリー１２０は、揮発性メモリー（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリー（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリー等）、またはこれら２つの何らかの組み合わせとすることができる。メモリー１２０は、ディジタル・メディア・エンコーダーまたはデコーダーを、記載する技術およびツールの１つ以上によって実現するソフトウェア１８０を格納する。  
【００１１】
計算環境は、追加の機構を有することもできる。例えば、計算環境１００は、ストレージ１４０、１つ以上の入力デバイス１５０、１つ以上の出力デバイス１６０、および１つ以上の通信接続１７０を含む。バス、コントローラ、またはネットワークのような相互接続メカニズム（図示せず）が、計算環境１００のコンポーネントを相互接続する。通例、オペレーティング・システム・ソフトウェア（図示せず）が、計算環境１００において実行するその他のソフトウェアに動作環境を提供し、計算環境１００のコンポーネントの活動を調整する。
【００１２】
ストレージ１４０は、リムーバブルまたは非リムーバブルでもよく、磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＤＶＤ（高品位ＤＶＤを含む）、あるいは情報を格納することができ計算環境１００内においてアクセスすることができるその他の任意の媒体を含む。ストレージ１４０は、ディジタル・メディア・エンコーダーまたはデコーダーを実現するソフトウェア１８０の命令を格納する。
【００１３】
入力デバイス（群）１５０は、キーボード、マウス、ペン、またはトラックボールのような接触入力デバイス、音声入力デバイス、走査デバイス、静止画像取り込みデバイス（例えば、ディジタル・カメラ）、または計算環境１００に入力を提供するその他のデバイスとすることができる。オーディオまたはビデオ・エンコード処理では、入力デバイス１５０は、サウンド・カード、ビデオ・カード、ＴＶチューナ・カード、あるいアナログまたはディジタル形態のオーディオ入力またはビデオ入力を受け入れる同様のデバイス、あるいはオーディオまたはビデオサンプルを計算環境１００に読み込むＣＤ−ＲＯＭまたはＣＤ−ＲＷとすることができる。出力デバイス（群）１６０は、ディスプレイ、プリンター、スピーカー、ＣＤ−またはＤＶＤ−ライター、あるいは計算環境１００からの出力を提供するその他のデバイスとすることができる。
【００１４】
通信接続１７０は、通信媒体を通じた別の計算実体への通信を可能にする。通信媒体は、コンピューター実行可能命令、ディジタル・メディア入力または出力、あるいは変調データ信号におけるその他のデータを伝達する。変調データ信号とは、当該信号内に情報をエンコードするようにその特性の１つ以上を設定したまたは変化させた信号のことである。限定ではない一例として、通信媒体は、電気、光学、ＲＦ、赤外線、音響、またはその他のキャリアによって実現される有線またはワイヤレス技法を含む。
【００１５】
前述の技法およびツールは、コンピューター読み取り可能媒体という一般的なコンテキストで記述することができる。コンピューター読み取り可能媒体は、計算環境内においてアクセスすることができる任意の入手可能な媒体である。限定ではない一例として、計算環境１００では、コンピューター読み取り可能媒体は、メモリー１２０、ストレージ１４０、通信媒体、および以上の任意の組み合わせを含む。
【００１６】
本技法およびツールは、ターゲットの実体または仮想プロセッサー上の計算環境において実行するプログラム・モジュールに含まれるような、コンピューター実行可能命令という一般的なコンテキストで記述することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含み、特定のタスクを実行するかまたは特定の抽象的データ・タイプを実装する。プログラム・モジュールの機能は、種々の実施形態において所望通りに、プログラム・モジュール間で組み合わせたりまたは分割することもできる。プログラム・モジュールのコンピューター実行可能命令は、ローカル計算環境または分散計算環境において実行することもできる。
【００１７】
紹介の目的のために、詳細な説明では、計算環境におけるコンピューター動作を記述するために「選択する」および「受信する」というような用語を用いる。これらの用語は、コンピューターによって実行する動作の上位抽象化であり、人が実行する行為と混同してはならない。これらの用語に対応する実際のコンピューター動作は、実現例に応じて様々な形を取る。
ＩＩ．クロマ・サンプル位置情報のシグナリングおよび使用
記載する実施形態は、高度静止画像コデック・ビットストリーム機構を提供し、完全デコードや再エンコードせずに、画像上において基軸回転(cardinal rotation)および鏡面反転(mirror flip)を実行する能力を含む。この特徴は、複数の設計技術によってサポートすることができ、その設計技術は次を含む。
１．重複双直交変換（ＬＢＴ）−
ａ．ＬＢＴの基本的機能の対称性により、奇数対称変換係数の符号を単に負にするだけで、変換ブロック内における空間データの鏡面反転が可能になる。これは、空間方位ＸおよびＹ双方にあてはまる。
【００１８】
ｂ．ＬＢＴの基本機能の等方性により、単に変換係数を転置することにより、変換ブロック内にある空間データを転置することができる。基軸回転は、転置および鏡面反転の組み合わせとして実現することができる。
２．ブロック、マクロブロック、およびタイル空間階層
ａ．データのマクロブロック内において鏡面反転を実現するためには、横方向反転シーケンスで（要件に応じてＸおよび／またはＹ方向）修正変換ブロックを走査する。同様に、タイル内では、横方向逆順序で修正マクロブロックを走査し、画像内では、横方向逆順序で修正タイルを走査する。
【００１９】
ｂ．転置を実現するためには、修正ブロック、マクロブロック、およびタイルを転置する。基軸回転は、転置および鏡面反転の組み合わせとして実施することができる。
３．拡張クロップ・エリア(extended crop area)内における記入エリアのシグナリング−これは、非マクロブロック整合画像を自由に鏡面反転または回転させることができ、更にマクロブロック格子からの画像の非ゼロ・オフセットを、単に右および下だけでなく、任意の方向に可能にする。
４．クロマ・サンプルの位置のシグナリング−これは、クロマ・サンプルの位置の独立した指定を許可することによって、ＹＵＶ：４：２：０およびＹＵＶ４：２：２のようなクロマ・サブサンプル・カラー・フォーマットを回転させることができる。また、これは、ルーマ／クロマ・サンプル位置の相対的整合をデコーダーに伝達することができるので、しかるべきフェーズを有するアップサンプリング・フィルタを選択することが可能になる。
【００２０】
クロマ・サンプルの位置のシグナリングについては、以下で詳細に網羅する(cover)。記載するシグナリング技法によって、情報を失うことなく、更に圧縮サイズに著しい変化を生ずることなく、圧縮ドメインにおいて画像を回転させることが可能になる。これは、望ましいビット・ストリーム機構であり、複雑さの恩恵を有する。
Ａ．クロマ・センタリング
画像は、複数のデータ平面で構成されている。主要空間では、画像は、通例、赤、緑、および青（Ｒ、Ｇ、およびＢ）チャネルにそれぞれ対応する３つのカラー平面で構成されている。殆どの一般的なコデックに用いられる内部カラー空間では、画像は、多くの場合Ｙ、Ｕ、およびＶと呼ばれる３つの変換カラー平面で構成されている。Ｙ成分は、ルミナンスまたはルーマ平面と呼ばれ、大まかに画像の中間調レンダリングに対応する。ＵおよびＶ成分は、クロマ、クロミナンス、または色差平面と呼ばれている。本明細書では、名称Ｙ、Ｕ、Ｖを包括的な意味で用いており、記載する技法およびツールは、ＹＣｂＣｒ、ＹＣｏＣｇ等のような種々の「ＹＵＶ型」カラー・フォーマットに適用可能であることは言うまでもない。ＹＵＶ４：４：４と呼ばれるカラー・フォーマットは、Ｙサンプル毎に１つのＵサンプルおよび１つのＶサンプルを有する。
【００２１】
人の目は、ルミナンス・チャネルの強度変動および分解能には非常に敏感である。相対的に、クロマに対する感度は低い。このため、クロマ（ＵおよびＶ）成分をサブサンプリングするまたはその分解能を落とすことによって、データにおけるピクセル数を削減する単純な手段が可能となる。
【００２２】
２つのクロマ・サブサンプリング技法が広く知られている。
１．ＹＵＶ４：２：２−ここでは、Ｘ方向のＵおよびＶの空間分解能が１／２に減少する（通常何らかのアンチ・エリアシング・フィルタを用いる）。
【００２３】
２．ＹＵＶ４：２：０−ここでは、ＸおよびＹ方向双方におけるＵおよびＶの空間分解能が１／２に減少する。
ＹＵＶ４：２：２の場合、各クロマ・サンプルは２つのルーマ・サンプルに対応する。同様に、ＹＵＶ４：２：０の場合、各クロマ・サンプルは４つのルーマ・サンプルに対応する。クロマ・サブサンプリングは、通常、アンチ・エリアシング・フィルタによってサンプルをフィルタ処理した後に行われる。
【００２４】
このフィルタの位相は、クロマおよびルーマ・サンプルの相対的な位置を決定する。
表示または印刷の目的でこれらのフォーマットのいずれかから逆にＹＵＶ４：４：４に変換する場合、適正なアップサンプリング・フィルタを用いることができるように、相対的なサンプル位置の知識が入手できなければならない。
【００２５】
この問題に対する１つの手法では、用いるべき正確なアップサンプリング・フィルタを指示(mandate)または通知する。しかしながら、この手法では、システムに余分な要件が強いられ、業界の残りの部分との互換性がない場合もある。
【００２６】
サブサンプル・バージョンから最大分解能データをどのようにして再現するかを示す、より簡単でより柔軟性の高い解決策は、ルーマおよびクロマ・サンプルの整合に関する「位置」情報を通知することによる。この手法により、デコーダーは、位相が位置情報に一致するのであれば、任意のアップサンプリング・フィルタを用いることが可能になる。
【００２７】
この手法は一意の再現規則（即ち、一意のアップサンプリング・フィルタ）を指定しないが、十分に優れた性能を有し、広範な容認性を有する。
サブサンプリングしたデータ点の「位置」は、最大分解能格子内におけるその値の場所(location)または位相である。位置情報は、位相制約に合ったアップサンプリング・フィルタ間で選抜するために用いられる。位置情報は、一般に二次元であり、水平方向および垂直方向双方に、シフトを指定する。図２および図３は、ＹＵＶ４：２：０に用いられる２つの共通クロマ位置ルールの例を示す。図２においては位相＝（０、０）であり、図３においては、ルーマピクセル単位で、位相＝（０．５、０．５）である。
Ｂ．画像回転／反転によるクロマ・センタリング
図２および図３に示す２つの例は、クロマのＹＵＶ４：２：０サブサンプリングでは、最も一般的な事例である。これらの２つのセンタリング・ルール(centering rule)は、通常ビデオ・データには十分であるが、画像データには通常不十分である。ビデオと画像との間の相違は、ビデオは殆ど回転または鏡面反転させないのに対して、画像は非常に頻繁に回転および／または鏡面反転させることである。
【００２８】
２つのセンタリング・ルールが通常画像データには不十分である理由を調べるために、次の事例を考察する。
事例１：センタリング例１について、水平方向に沿った鏡面反転を考える。ここでは、クロマ・サンプルは、左上ルーマ・サンプルとではなく、右上ルーマ・サンプルと同じ位置にある。クロマの対応する位相は、ルーマピクセル単位で（１、０）である。これは、図２および図３に示したルールによって定められたのではない。
事例２：同様に、例１に示すクロマ位置で、垂直方向に沿って画像を鏡面反転させると、ルーマピクセル単位で（０、１）位相のクロマ位置となる。これは、図２および図３に示したルールによって定められたのではない。
【００２９】
以上の事例は、画像が基軸回転および鏡面反転という基本的動作を受けるときに正しい再現のプロセスを補助するために、ビットストリームへの副情報として追加のクロマ・センタリング・ルールを定める有用性を示す。
Ｃ．インターレース・データによるクロマ・センタリング
インターレースしたビデオによって、別の厄介な問題が生ずる。インターレース・ビデオのフレームは２つのフィールド、即ち、上位フィールドおよび下位フィールドを含む。ビデオ・フィールドは、クロマ・ダウンサンプリングをせずに、その最大分解能で格納することができる。更に慣例的には、これはＹＵＶ４：２：２のようなクロマ・ダウンサンプル形態で搬送され、クロマはＸ方向に１／２にダウンサンプリングされ、Ｙ方向のルーマ分解能と一致する。しかしながら、近年のビデオ・コデックでは、インターレース・ビデオのフィールドがＹＵＶ４：２：０空間に定められているので、そのクロマはＸおよびＹ方向双方で１／２にダウンサンプリングされる。
【００３０】
この動作の結果、上位フィールド・データかまたは下位フィールド・データかに応じて、垂直方向に０．２５または０．７５の位相シフト（ルーマピクセル単位）によって、クロマ・センタリングを得る場合が多い。このようなセンタリングは、以下のことを確保するために用いることができる。
１．フレームにおける交互のクロマ・ラインが交互のフィールドによって生成される。
【００３１】
クロマ・センタリングは、連続するフレームのラインに跨って均一である。
インターレース・データのクロマ・ダウンサンプリングを図４に示す。Ｘ軸ダウンサンプリングは、任意の位相を有することができ、この論述には関連がない。したがって、この図は、Ｙ軸センタリングおよび変位のみを示す。
Ｄ．クロマ位置
以上のことを念頭に置いて、クロマ位置に対して２つのルールを定める。第１ルールは、ショート・ルールと呼び、１５のクロマ・センタリング位相を定める。このルールは、画像ビットストリーム内において４ビット・ワードを用いて通知する。表１は、一実現例におけるシンタックス・エレメントCHROMA_CENTERING_SHORTの値および対応する位相を列挙する。表１に示す例では、CHROMA_CENTERING_SHORTは０および１５の間の値を取ることができるが、値１４は予約されており用いられない。
【００３２】
CHROMA_CENTERING_SHORTは、例えば、画像ヘッダまたは画像平面ヘッダにおいて通知することができる。
【００３３】
【表１】
2010521083.tif 000003
第２の、より総合的なクロマ・センタリング・ルールは、拡張ルールと呼ばれ、これについても説明する。このルールには、データの損失なく、任意のピクセル数だけ、画像を変換できるという利点がある。これは、回転および鏡面反転とは別である。
【００３４】
一実現例では、拡張ルールは、画像ビットストリーム内における７ビット・ワード(CHROMA_CENTERING_LONG)によって通知され、シンタックス・エレメントCHROMA_CENTERING_LONGに対応する位相の一覧は、次の通りである。CHROMA_CENTERING_LONG=CHROMA_CENTERING_X+CHROMA_CENTERING_Y*9、ここで、CHROMA_CENTERING_XおよびCHROMA_CENTERING_Yは、以下の表２に示すように、ｘおよびｙ方向における位相を定めるシンタックス・エレメントである。CHROMA_CENTERING_XおよびCHROMA_CENTERING_Yは、０と８との間の値を取ることができる。したがって、CHROMA_CENTERING_LONG は、０と８０との間の値を取ることができる。この範囲の外側にある値は、予約されている。CHROMA_CENTERING_LONG、CHROMA_CENTERING_X、および／またはCHROMA_CENTERING_Yは、例えば、画像ヘッダまたは画像平面ヘッダ内において通知することができる。
【００３５】
【表２】
2010521083.tif 000004
表１および表２の代わりに、別のマッピングを用いることも可能である。また、可変長コードのような、CHROMA_CENTERINGエレメントの別のエンコード処理を用いることも可能である。
ＩＩＩ．ブロック変換に基づくコード化
変換コード化は、多くのディジタル・メディア（例えば、オーディオ、画像、およびビデオ）圧縮システムにおいて用いられている圧縮技法である。未圧縮画像およびビデオは、通例、二次元（２Ｄ）格子に配列された画像またはビデオ・フレーム内の位置におけるピクセルまたはカラーのサンプルとして表されるか、または取り込まれる。これは、画像またはビデオの空間ドメイン表現と呼ばれている。例えば、画像の典型的なフォーマットは、格子状に配列された２４ビット・カラーピクセルサンプルのストリームで構成される。各サンプルは、とりわけ、ＲＧＢまたはＹＩＱのような、カラー空間内の格子におけるピクセル位置でのカラー成分を表す数値である。種々の画像およびビデオ・システムの中には、種々の異なるカラー、サンプリングの空間および時間分解能を用いるものもある。同様に、ディジタル・オーディオは、通例、時間サンプリングしたオーディオ信号ストリームとして表される。例えば、典型的なオーディオ・フォーマットは、規則的な時間間隔で取り込んだオーディオ信号の１６ビット振幅サンプルのストリームで構成されている。
【００３６】
未圧縮ディジタル・オーディオ、画像、およびビデオ信号は、多大な記憶および送信容量を消費する可能性がある。変換コード化は、信号の空間ドメイン表現を周波数ドメイン（またはその他の同様の変換ドメイン）表現に変換し、次いで変換ドメイン表現の内、一般的に認知でき難いある種の周波数成分の分解能を低減することによって、ディジタル・オーディオ、画像、およびビデオのサイズを縮小する。これによって、カラー、あるいは空間ドメインにおける画像またはビデオ、あるいは時間ドメインのオーディオの空間分解能を低下させる場合と比較して、全体的に、ディジタル信号の劣化は遥かに認知でき難くなる。
【００３７】
更に具体的には、図５に示す、典型的なブロック変換に基づくエンコーダー／デコーダー・システム５００（「コデック」とも呼ぶ）は、未圧縮ディジタル画像のピクセルを、固定サイズの２次元ブロック（Ｘ１，．．．Ｘｎ）に分割し、各ブロックは他のブロックと重複する可能性がある。エンコーダー５１０において、空間−周波数分析である線形変換５２０〜５２１を各ブロックに適用し、ブロック内にある離間サンプルを、１組の周波数（または変換）係数に変換する。これらは、総合的に、ブロック間隔における対応する周波数帯域内のディジタル信号の強度を表す。圧縮のために、変換係数を選択的に量子化し（５３０）（即ち、係数値の最下位ビットを欠落させるまたはそれ以外の方法でより高い分解能数値集合における値をより低い分解能にマッピングする等によって、分解能を低下させる）、更にエントロピーまたは可変長コード化して圧縮データ・ストリームを得る（５３０）。デコード処理において、変換係数を逆変換して（５７０〜５７１）、元のカラー／空間サンプル画像／ビデオ信号（再現ブロック
【００３８】
【数１】
2010521083.tif 000005
）をほぼ再現する。
【００３９】
ブロック変換５２０〜５２１は、サイズＮのベクトルｘに対する数学的演算として定めることができる。殆どの場合、この演算は線形乗算であり、変換ドメイン出力ｙ＝Ｍｘを生成する。Ｍは、変換行列である。入力データが任意の長さである場合、これをサイズＮのベクトルに区分し、ブロック変換を各セグメントに摘要する。データ圧縮の目的上、可逆ブロック変換を選択する。言い換えると、行列Ｍは反転可能である。多次元（例えば、画像およびビデオについて）では、ブロック変換は、通例、分離可能な演算として実施する。行列乗算を、別個に、データの各次元（即ち、行および列双方）に沿って適用する。
【００４０】
圧縮のために、変換係数（ベクトルｙの成分）を選択的に量子化し（即ち、係数値の最下位ビットを欠落させるまたはそれ以外の方法でより高い分解能数値集合における値をより低い分解能にマッピングする等によって、分解能を低下させる）、更にエントロピーまたは可変長コード化して、圧縮データ・ストリームを得る。
【００４１】
デコーダー５５０におけるデコード処理において、図５に示すように、これらの演算の逆（逆量子化／エントロピー・デコード処理５６０および逆ブロック変換５７０〜５７１）をデコーダー側５５０で適用する。データを再現する間、逆行列Ｍ−１（逆変換５７０〜５７１）を乗数として変換ドメイン・データに適用する。変換ドメイン・データに適用すると、逆変換により元の時間ドメインまたは空間ドメイン・ディジタル・メディアがほぼ再現される。
【００４２】
多くのブロック変換に基づくコード化の用途では、変換は、量子化係数に応じて、損失のある圧縮および損失のない圧縮双方をサポートするために、可逆性であることが望ましい。例えば、量子化を行わない場合（量子化係数が１であるとして表す）、可逆変換を利用するコデックは、デコード処理において正確に入力データを再現することができる。しかしながら、これらの用途における可逆性の要件が、コデックを設計することができる変換の選択の制約となる。
【００４３】
とりわけＭＰＥＧおよびWindows Mediaのような多くの画像およびビデオ圧縮システムは、離散余弦変換（ＤＣＴ）に基づく変換を利用する。ＤＣＴは、好ましいエネルギ圧密性状(energy compaction properties)を有し、ほぼ最適なデータ圧縮が得られることが知られている。これらの圧縮システムでは、個々の画像ブロックを再現するために、圧縮システムのエンコーダーおよびデコーダー双方において、逆ＤＣＴ（ＩＤＣＴ）を再現ループに採用する。
ＩＶ．エンコーダー／デコーダーの例示の実現例
図６および図７は、代表的な二次元（２Ｄ）データ・エンコーダー６００およびデコーダー７００に採用されるプロセスを一般化した図である。これらの図は、記載する技法およびツールを実現するために用いることができる圧縮／伸張システムの一般化した図または簡略化した図を提案する。代替圧縮／伸張システム、この代表的なエンコーダーおよびデコーダーに示されるプロセスよりも多いプロセスまたは少ないプロセスも、２Ｄデータ圧縮に用いることができる。例えば、エンコーダー／デコーダーによっては、カラー変換、カラー・フォーマット、スケーラブル・コード化、無損失コード化、マクロブロック・モードなども含むことができる場合もある。圧縮システム（エンコーダーおよびデコーダー）は、無損失から有損失までの多様な量子化パラメータに基づく可能性がある量子化に応じて、２Ｄデータの無損失圧縮および／または有損失圧縮双方に備えることができる。
【００４４】
２Ｄデータ・エンコーダー６００は、圧縮ビットストリーム６２０を生成する。圧縮ビットストリーム６２０は、エンコーダーへの入力として呈示された２Ｄデータ６１０を（典型的な入力に対して）一層コンパクトな表現にしたものである。例えば、２Ｄデータ入力は、画像、ビデオ・シーケンスのフレーム、または二次元を有するその他のデータとすることができる。２Ｄデータ・エンコーダーは、入力データのフレームをブロック群（図６では全体的に区画化６３０として示す）に分割する。これらは、図示の実現例では、重複しない４×４ピクセルブロックであり、フレームの平面全体に規則的なパターンを形成する。これらのブロックを、マクロブロックと呼ぶクラスタにグループ化する。マクロブロックとは、この代表的なエンコーダーでは、サイズが１６×１６ピクセルである。一方、マクロブロックをグループ化して、タイルと呼ばれる規則的な構造にする。また、タイルは画像全体に規則的なパターンを形成し、水平行におけるタイルの高さが均一で位置合わせされており、垂直列におけるタイルが均一な幅で位置合わせされるようになっている。代表的なエンコーダーでは、タイルは、水平方向および／または垂直方向に１６の倍数となるのであれば、いずれの任意のサイズとすることもできる。代わりのエンコーダーの実現例では、画像をブロック、マクロブロック、タイル、またはその他のサイズおよび構造のその他の単位に分割することができる。
【００４５】
「順方向重複」演算子６４０を、ブロック間の各エッジに適用し、その後、ブロック変換６５０を用いて、各４×４ブロックを変換する。このブロック変換６５０は可逆スケール・フリー(scale-free)２Ｄ変換であり、"Reversible Transform For Lossy AND Lossless 2-D Data Compression"（有損失および無損失２−Ｄデータ圧縮のための可逆変換）と題し２００４年１２月１７日に出願されたSrinivasanの米国特許出願第１１／０１５，７０７号に記載されている。重複演算子６４０は、可逆重複演算子であり、２００４年１２月１７日に出願され"Reversible Overlap Operator for Efficient Lossless Data Compression"（効率的な無損失データ圧縮のための可逆重複演算子）と題するTu et al.の米国特許出願第１１／０１５，１４８号、および２００５年１月１４日に出願され"Reversible 2-Dimensional Pre/Post-Filtering For Lapped Biorthogonal Transform"（重複双直交変換用可逆二次元事前／事後フィルタリング）と題するTu et al.の米国特許出願第１１／０３５，９９１号に記載されている。あるいは、離散余弦変換またはその他のブロック変換および重複演算子も用いることができる。変換に続いて、各４×４変換ブロックのＤＣ係数６６０が、同様の処理連鎖（変換タイリング、順方向重複、その後に続く４×４ブロック）を受ける。その結果得られたＤＣ変換係数およびＡＣ変換係数６６２を量子化し（６７０）、エントロピー・コード化し（６８０）、パケット化する（６９０）。
【００４６】
デコーダーは、逆のプロセスを実行する。デコーダー側では、変換係数ビットを、それらのそれぞれのパケットから抽出し（７１０）、係数自体をデコードし（７２０）、逆量子化する（７３０）。逆変換を適用することによって、ＤＣ係数７４０を再発生し、適したスムージング演算子を用い、ＤＣブロック・エッジを跨いで適用することによって、ＤＣ係数の平面を「逆重複」(inverse overlap)させる。続いて、４×４逆変換７５０をＤＣ係数に適用することによって、データ全体を再生し、ＡＣ係数７４２をビットストリームからデコードする。最後に、得られた画像平面におけるブロック・エッジを逆重複フィルタ処理する(inverse overlap filtered)（７６０）。これによって、再現した２Ｄデータ出力７９０を生成する。
【００４７】
例示の実現例では、エンコーダー６００（図６）は入力画像を圧縮して、圧縮ビットストリーム６２０（例えば、ファイル）とし、デコーダー７００（図７）は無損失または有損失コード化のどちらが採用されているのかに基づいて、元の入力またはその近似を再現する。エンコード処理のプロセスには、以下で論ずる順方向重複変換（ＬＴ：lapped transform）の適用を伴い、可逆二次元プレ／ポスト・フィルタリングによって実現する。これについても、以下で更に詳しく説明する。デコード処理プロセスには、可逆二次元プレ／ポスト・フィルタリングを用いた逆重複変換（ＩＬＴ）の適用を伴う。
【００４８】
図示したＬＴおよびＩＬＴは、正しい意味では、互いの逆であり、したがって纏めて可逆重複変換と呼ぶことができる。可逆変換として、ＬＴ／ＩＬＴ対は無損失画像圧縮に用いることができる。
【００４９】
図示したエンコーダー６００／デコーダー７００によって圧縮された入力データ６１０は、種々のカラー・フォーマット（例えば、ＲＧＢ／ＹＵＶ４：４：４、ＹＵＶ４：２：２、またはＹＵＶ４：２：０カラー画像フォーマット）の画像とすることができる。通例、入力画像は常にルミナンス（Ｙ）成分を有する。これがＲＧＢ／ＹＵＶ４：４：４、ＹＵＶ４：２：２、またはＹＵＶ４：２：０画像である場合、画像はＵ成分およびＶ成分のような、クロミナンス成分も有する。別個のカラー平面または画像成分は、異なる空間分解能を有することができる。例えば、ＹＵＶ４：２：０カラー・フォーマットにおける入力画像の場合、ＵおよびＶ成分は、Ｙ成分の半分の幅および高さを有する。
【００５０】
先に論じたように、エンコーダー６００は、入力画像またはピクチャをマクロブロックに並べる。例示の実現例では、エンコーダー６００は、Ｙチャネル（カラー・フォーマットによって、ＵおよびＶチャネルにおいて１６×１６、１６×８、または８×８のエリアとなる場合がある）において、入力画像を１６×１６ピクセル・エリア（「マクロブロック」と呼ぶ）に並べる。各マクロブロック・カラー平面を、４×４ピクセル領域またはブロックに並べる。したがって、このエンコーダーの実現例では、以下のようにして、種々のカラー・フォーマットに合わせてマクロブロックを構成する。
【００５１】
・中間調画像では、各マクロブロックは１６個の４×４ルミナンス（Ｙ）ブロックを収容する。
・ＹＵＶ４：２：０フォーマットのカラー画像では、各マクロブロックは１６個の４×４Ｙブロックと、４つの各４×４クロミナンス（ＵおよびＶ）ブロックとを収容する。
【００５２】
・ＹＵＶ４：２：２フォーマットのカラー画像では、各マクロブロックは１６個の４×４Ｙブロックと、８つの各４×４クロミナンス（ＵおよびＶ）ブロックとを収容する。
・ＲＧＢまたはＹＵＶ４：４：４カラー画像では、各マクロブロックはＹ、Ｕ、およびＶチャネル毎に１６小のブロックを収容する。
【００５３】
したがって、変換後には、この代表的なエンコーダー６００／デコーダー７００におけるマクロブロックは、３つの周波数サブバンド、即ち、ＤＣサブバンド（ＤＣマクロブロック）、ロー・パス・サブバンド（ロー・パス・マクロブロック）、およびハイ・パス・サブバンド（ハイ・パス・マクロブロック）を有する。この代表的なシステムでは、ロー・パスおよび／またはハイ・パス・サブバンドは、ビットストリームでは任意であり、これらのサブバンドを完全に欠落させてもよい。
【００５４】
更に、圧縮データを２つの順序、空間順序および周波数順序の内の１つで、ビットストリームにパックすることができる。空間順序では、タイル内にある同じマクロブロックの異なるサブバンドを一緒に整列し、その結果各タイルで得られたビットストリームを１つのパケットに書き込む。周波数順序では、タイル内にある異なるマクロブロックからの同じサブバンドを一緒にグループ化し、こうしてタイルのビットストリームを３つのパケット、即ち、ＤＣタイル・パケット、ロー・パス・タイル・パケット、およびハイ・パス・タイル・パケットに書き込む。加えて、他のデータ・レイヤがあってもよい。
【００５５】
このように、代表的なシステムでは、以下の「次元」に画像を編成する。
・空間次元：フレーム−＞タイル−＞マクロブロック。
・周波数次元：ＤＣ｜ロー・パス｜ハイ・パス。
【００５６】
・チャネル次元：ルミナンス｜クロミナンス＿０｜クロミナンス＿１．．．（例えば、Ｙ｜Ｕ｜Ｖのように）。
以上で、矢印は階層を示し、一方縦線は区画化を表す。
【００５７】
代表的なシステムは圧縮ディジタル・メディア・データを空間、周波数、およびチャネルの次元で編成するが、本明細書に記載する柔軟な量子化手法は、これらの次元よりも少ない次元、多い次元、別の次元に沿ってそのデータを編成する代替エンコーダー／デコーダー・システムにも適用することができる。例えば、柔軟な量子化手法は、より多くの数の周波数帯域、カラー・チャネルの別のフォーマット（例えば、ＹＩＱ、ＲＧＢ等）、追加の画像チャネル（例えば、ステレオ・ビジョンまたはその他の複数のカメラ・アレイ）を用いるコード化に適用することができる。
【００５８】
以上、種々の実施形態を参照しながら本発明の原理について説明し図示したが、種々の実施形態は、このような原理から逸脱することなく、構成および詳細を変更可能であることは認められよう。尚、本明細書に記載したプログラム、プロセス、または方法は、特に指示がない限り、いずれの特定的な形式の計算環境に関係せず、それに限定されないことは言うまでもない。本明細書に記載した教示による動作と共に、種々の形式の汎用計算環境または特殊計算環境を用いることもでき、あるいはこれらの汎用計算環境または特殊計算環境がその動作を実行することもできる。ソフトウェアで示した実施形態の要素をハードウェアで実現すること、およびその逆も可能である。
【００５９】
開示した発明の原理を適用することができる実施形態は多数あり得ることに鑑み、図示した実施形態は本発明の好ましい例に過ぎず、本発明の範囲を限定するように捕らえてはならないことは認められてしかるべきである。逆に、本発明の範囲は、以下の請求項によって定めることとする。したがって、これらの請求項の範囲および主旨に該当する全てを、本出願人の発明として主張することとする。
【図１】
2010521083.tif 000006
【図４】
2010521083.tif 000007
【図５】
2010521083.tif 000008
【図２】
2010521083.tif 000009
【図３】
2010521083.tif 000010
【図６】
2010521083.tif 000011
【図７】
2010521083.tif 000012
【国際調査報告】
2010521083.tif 000013
2010521083.tif 000014