(57)【特許請求の範囲】
【請求項１】
デジタル・メディアの復号化方法であって、
デジタル・メディア復号器が圧縮デジタル・メディア・ビットストリームを受信するステップと、
前記デジタル・メディア復号器が、前記ビットストリームから、デジタル・メディア・データの処理中における変換計算に利用する計算精度の程度を伝達する第１の構文要素、及び、前記ビットストリームから、前記デジタル・メディア・データの処理期間における変換計算のための精度モードの選択を伝達する第２の構文要素を解析するステップと、
スケーリングを用いる第一の精度モードが前記第２の構文要素により伝達された場合に、最終段階の出力を前記デジタル・メディア復号器がスケーリングするステップと、
スケーリングをしない第二の精度モードが前記第２の構文要素により伝達された場合に、前記デジタル・メディア復号器が前記最終段階の出力へのスケーリングの適用を省略するステップと、
前記デジタル・メディア復号器が再構成された画像を出力するステップと、
を含み、
前記第１の構文要素が、高い計算精度と低い計算精度とのうちの一方を用いることを伝達する、方法。
【請求項２】
請求項１記載のデジタル・メディアの復号化方法であって、前記高い計算精度が３２ビット数字処理であり、前記低い計算精度が１６ビット数字処理である方法。
【請求項３】
請求項１記載のデジタル・メディアの復号化方法であって、更に、
前記デジタル・メディア復号器が前記圧縮デジタル・メディア・ビットストリームから変換係数のブロックを復号化するステップと、
前記第１の構文要素信号が前記高い計算精度の利用を伝達する場合に、前記デジタル・メディア復号器が前記変換係数に高い計算精度の処理を用いる逆変換を適用するステップと、
前記第１の構文要素信号が前記低い計算精度の利用を伝達する場合に、前記デジタル・メディア復号器が前記変換係数に低い計算精度の処理を用いる逆変換を適用するステップと、
を含む方法。
【請求項４】
請求項３記載のデジタル・メディアの復号化方法であって、前記高い計算精度が３２ビット数字処理であり、前記低い計算精度が１６ビット数字処理である、方法。
【請求項５】
請求項１又は２記載のデジタル・メディアの復号化方法であって、更に、
前記デジタル・メディア復号器が前記圧縮デジタル・メディア・ビットストリームから変換係数のブロックを復号化するステップと、
前記デジタル・メディア復号器が前記構文要素によって伝達された計算精度の程度に関わりなく、前記変換係数に高い計算精度の処理を用いる逆変換を適用するステップと、
を含む方法。
【請求項６】
請求項１又は２記載のデジタル・メディアの復号化方法であって、前記復号器の出力をスケーリングする前記ステップが、前記出力の或る数による丸め除算を含む方法。
【請求項７】
請求項６記載のデジタル・メディアの復号化方法であって、前記出力の丸め除算が８による丸め除算である、方法。
【請求項８】
請求項１又は２記載のデジタル・メディアの復号化方法であって、更に、
前記デジタル・メディア復号器が前記圧縮デジタル・メディア・ビットストリームから変換係数のブロックを復号化するステップと、
スケーリング無しの前記第二の精度モードと、低い計算精度の使用とが伝達された場合に、前記デジタル・メディア復号器が前記低い計算精度を用いて前記変換係数の逆変換処理を実行するステップと、
を含む方法。
【請求項９】
請求項８記載のデジタル・メディアの復号化方法であって、前記低い計算精度が１６ビットの計算精度である、方法。
【請求項１０】
請求項１又は２記載のデジタル・メディアの復号化方法であって、
前記デジタル・メディア・データを、第一段階変換と、前記第一段階変換を経たＤＣ係数のそれに続く第二段階変換とを有する二段階変換構造を用いて、デジタル・メディア符号器が符号化し、
該デジタル・メディア復号化方法が、更に、
前記デジタル・メディア復号器が前記デジタル・メディア・ビットストリームからデジタル・メディア・データを復号化するステップと、
前記デジタル・メディア復号器が前記デジタル・メディア・データに逆第二段階変換を適用するステップと、
前記デジタル・メディア復号器が前記デジタル・メディア・データに逆第一段階変換を適用するステップと、
前記デジタル・メディア復号器が前記デジタル・メディア・データの色変換を実行するステップと、
を含み、前記最終段階の出力を前記デジタル・メディア復号器がスケーリングする前記ステップが、スケーリングを用いる前記第一の精度モードが伝達された場合に、
前記デジタル・メディア復号器が、入力を、前記逆第一段階変換への入力前に、１ビットだけ左にシフトするステップと、
前記デジタル・メディア復号器が、前記最終段階の出力を、前記色変換後に３ビットだけ右にシフトするステップと、
を含む方法。
【請求項１１】
請求項１又は２記載のデジタル・メディアの復号化方法であって、
デジタル・メディア符号器が、前記圧縮デジタル・メディア・ビットストリームを、画像のそれぞれ別個の主要画像平面とアルファ画像平面とを定義する構文スキームに従って符号化し、前記第２の構文要素により画像平面ごとの精度モードの選択を伝達し、それにより、前記主要画像平面と前記アルファ画像平面との精度モードが独立して伝達され、
前記復号化方法が、
前記デジタル・メディア復号器が各画像平面に対する精度モードの選択を伝達する前記構文要素を解析する前記動作を実行するステップと、
個々の画像平面に対し、スケーリングを用いる前記第一の精度モードが伝達された場合に、前記デジタル・メディア復号器が前記個々の画像平面に対して前記復号器の出力をスケーリングするステップと、
をさらに含む方法。
【請求項１２】
請求項１又は２記載のデジタル・メディアの復号化方法において、前記方法がハンドヘルド・コンピューティング・デバイスにおいて実行される、方法。
【請求項１３】
デジタル・メディアの符号化方法であって、
デジタル・メディア符号器がデジタル・メディア・データを受信するステップと、
前記デジタル・メディア符号器が、前記デジタル・メディア・データの処理中の変換計算のために低い計算精度を使用するか否かの第１の決定を行うステップと、
前記デジタル・メディア符号器が、符号化されたビットストリーム内の第１の構文要素により、前記デジタル・メディア・データの処理中の変換計算のために低い計算精度を使用するか否かの前記第１の決定を表現するステップと、
前記デジタル・メディア符号器が、変換符号化に先立って前記入力デジタル・メディア・データのスケーリングを適用するか否かの第２の決定を行うステップと、
前記デジタル・メディア符号器が、前記符号化されたビットストリーム内の第２の構文要素により、前記スケーリングを適用するか否かの前記第２の決定を表現するステップと、
前記デジタル・メディア符号器が、前記符号化されたビットストリームを出力するステップと、
を含む方法。
【請求項１４】
コンピュータにより実行されるとコンピュータに請求項１〜１３の何れか１項に記載の方法を実行させるコンピュータ実行可能命令を格納したコンピュータ可読記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ブロック変換ベースの符号化
変換（transform）符号化は、多くのデジタル・メディア（例えば、音声、画像及びビデオ）圧縮システムにおいて使用される圧縮技術である。圧縮されていないデジタル画像及びビデオは、一般に、２次元（２Ｄ）グリッドとして配列された画像又はビデオフレーム中の場所における画素又は色のサンプルとして表わされ、又は取り込まれる。これは、画像又はビデオの空間領域表現と呼ばれる。例えば、画像での一つの典型的な形式は、グリッドとして配列された２４ビットの色画素サンプルのストリームからなる。各サンプルは、特にＲＧＢやＹＩＱといった色空間内におけるグリッド中の或る画素位置における色成分を表す数である。様々な画像及びビデオシステムが、サンプリングの様々な異なる色、空間及び時間分解能を使用し得る。同様に、デジタル音声は、一般に、時間サンプリングされた音声信号ストリームとして表わされる。例えば、一つの典型的な音声形式は、規則的な時間間隔で採取された音声信号の１６ビット振幅サンプルのストリームからなる。
【０００２】
圧縮されていないデジタル音声、画像及びビデオ信号は、少なからぬ記憶及び伝送容量を消費し得る。変換符号化は、信号の空間領域表現を周波数領域（又は、他の同様な変換領域）表現に変換し、次いで、その変換領域表現の特定の、一般にはより知覚されにくい周波数成分の分解能を低減することによって、デジタル音声、画像及びビデオのサイズを縮小する。これは、一般に、空間領域における画像又はビデオ、或いは時間領域における音声の色又は空間分解能を低減するのと比べて、比較的知覚されにくいデジタル信号の劣化を生じさせる。
【０００３】
より具体的に、図１に示される典型的なブロック変換ベースの符号器／復号器システム１００（以下、「コーデック」とも呼ぶ）は、圧縮されていないデジタル画像の画素を、各ブロックが他のブロックと重なり合うこともある固定サイズの二次元ブロック（Ｘ１、・・・、Ｘｎ）に分割する。空間周波数分析を行う線形変換１２０〜１２１が各ブロックに適用され、ブロック内の離隔されたサンプルが、該ブロック間隔にわたる、対応する周波数帯域でのデジタル信号の強さを一般に表す１組の周波数（又は変換）係数に変換される。圧縮のために、これらの変換係数が選択的に量子化され（１３０）（すなわち、係数値の最下位ビットを除去し、或いは別の方法により、より高い分解能数セット中の値をより低い分解能にマッピングすることによって、分解能が低減され）、さらに、圧縮データストリームへと、エントロピー符号化又は可変長符号化され得る（１３０）。復号化時に、変換係数は、色／空間サンプリングされた元の画像／ビデオ信号をほぼ再構成するように逆変換される（１７０〜１７１）（再構成されたブロック
【０００４】
【数１】
0005457199.tif 000002
【０００５】
）。
ブロック変換１２０〜１２１は、サイズＮのベクトルｘに対する数学演算として定義され得る。ほとんどの場合、この演算は線形乗算であり、変換領域出力ｙ＝Ｍｘを生じる。ただしＭは変換行列である。入力データが任意の長さであるとき、該データはサイズＮのベクトルに区分化され、ブロック変換が各区分に適用される。データ圧縮のために、可逆ブロック変換が選択される。言い換えると、行列Ｍは反転可能である。（例えば画像やビデオなどに対する）多次元において、ブロック変換は、一般に、分離可能な演算として実施される。行列乗算は、データの各次元（すなわち行と列の両方）に従って分離可能に適用される。
【０００６】
圧縮のために、変換係数（ベクトルｙの成分）が選択的に量子化され（すなわち、係数値の最下位ビットを除去し、或いは別の方法で、より高い分解能数セット中の値をより低い分解能にマッピングすることによって、分解能が低減され）、さらに、圧縮データストリームへと、エントロピー符号化又は可変長符号化され得る。
【０００７】
復号器１５０における復号時には、図１に示すように、復号器１５０側で、これらの演算の逆（逆量子化／エントロピー復号化１６０及び逆ブロック変換１７０〜１７１）が適用される。データを再構成する間に、逆行列Ｍ−１（ 逆変換１７０〜１７１）が、乗数として変換領域データに適用される。変換領域データに適用されると、この逆変換は、元の時間領域又は空間領域デジタル・メディアをほぼ再構成する。
【０００８】
多くのブロック変換ベースの符号化のアプリケーションにおいて、変換は、量子化係数に応じて、損失有り及び損失無しの圧縮をサポートするように、可逆的であることが望ましい。例えば、（一般に、量子化係数１として表される）量子化無しの場合、可逆変換を利用するコーデックは、復号時に入力データを正確に再現することができる。しかしながら、これらのアプリケーションにおける可逆性の要件は、コーデックが設計され得る変換の選択を制約する。
【０００９】
ＭＰＥＧやＷｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａなどの多くの画像及びビデオ圧縮システムは、特に、離散コサイン変換（ＤＣＴ）に基づく変換を利用する。ＤＣＴは、ほぼ最適なデータ圧縮を生じる好適なエネルギー圧縮特性を持つことが知られている。これらの圧縮システムでは、個々の画像ブロックを再構成するために、圧縮システムの符号器及び復号器の再構成ループにおいて、逆ＤＣＴ（ＩＤＣＴ）が用いられる。
【００１０】
量子化
量子化は、大部分の画像及びビデオコーデックにとって、圧縮画像品質及び圧縮率を制御するための主要なメカニズムである。一つの可能な定義によれば、量子化は、損失有りの圧縮に一般的に用いられる近似不可逆マッピング機能のために用いられる用語であって、取り得る出力値の特定の組が存在し、該取り得る出力値の組における個々の数値が、その特定の出力値の選択をもたらし得る、関連付けられた入力値の組を有している。スカラー量子化又はベクトル量子化、線形量子化又は非線形量子化、デッドゾーン付き量子化又はデッドゾーン無し量子化、及び、適応量子化又は非適応量子化を含む様々な量子化技術が開発されてきている。
【００１１】
量子化演算は、本質的には、エンコーダにおいて実行される、量子化パラメータＱＰによるバイアスされた除算である。逆量子化又は乗算演算は、デコーダにおいて実行されるＱＰによる乗算である。これらの処理は、ともに、元の変換係数データの損失を招き、復号化された画像における圧縮誤差又は画像乱れとして現れる。
【発明の概要】
【課題を解決するための手段】
【００１２】
以下の詳細な説明は、デジタル・メディア・コーデックによる符号化の計算の複雑性及び精度を制御する装置及び技術を提示する。本技術の一つの態様において、符号器は、復号器で使用されるために、スケーリング有り又はスケーリング無しの精度モードのうちいずれか一つを伝達する。スケーリング有りの精度モードでは、入力画像が符号器において予め（例えば８によって）乗算される。復号器における出力もまた、丸め除算によってスケーリングされる。スケーリング無しの精度モードの場合、そのようなスケーリング演算は適用されない。スケーリング無し精度モードの場合、符号器及び復号器は、変換係数に対して、より小さなダイナミック・レンジを扱い、それによって計算の複雑性が低減される。
【００１３】
本技術の他の態様において、コーデックは、また、変換演算を実行するために必要とされる精度を復号器に伝達し得る。一つの実施形態において、ビットストリームの構文要素のうちの一つの要素は、復号器における変換に、低めの精度の数学演算を用いるか否かを伝達する。
【００１４】
この発明概要は、以下の発明の詳細な説明において更に説明する単純化された形態の発明構想のうちの選択されたものを紹介するためのものである。本発明概要には、請求項に記載された発明の主要な特徴又は必要不可欠な特徴を特定する意図はなく、請求項に記載された発明の範囲の決定を助けることを意図するものでもない。本発明の更なる特徴及び利点は、添付の図面を参照して行われる以下の本発明の実施形態の詳細な説明から明らかにされる。
【図面の簡単な説明】
【００１５】
【図１】図１は、従来技術におけるブロック変換ベースのコーデックのブロック図である。
【図２】図２は、ブロック・パターン符号化を組み込む代表的な符号器のフロー図である。
【図３】図３は、ブロック・パターン符号化を組み込む代表的な復号器のフロー図である。
【図４】図４は、図２及び３の代表的な符号器／復号器の一つの実施形態における、コア変換及びポストフィルター（重ね合わせ）演算を含む逆重ね合わせ変換の図である。
【図５】図５は、変換演算のための入力データ点を示す図である。
【図６】図６は、図２及び３のメディア符号器／復号器を実現するのに適切なコンピューティング環境のブロック図である。
【発明を実施するための形態】
【００１６】
発明の詳細な説明
以下の説明は、変換ベースのデジタル・メディア・コーデックの精度及び計算の複雑性を制御する技術に関する。以下の説明では、デジタル・メディアの圧縮システム又はコーデックにおける、本技術の例としての実施形態を記述する。デジタル・メディア・システムは、伝送及び記憶のためにデジタル・メディア・データを圧縮された形態に符号化し、再生又はその他の処理のために該データを復号化する。説明のために、計算の複雑性及び精度の制御を組み込んだ例としての本圧縮システムは、画像又はビデオ圧縮システムである。代替として、本技術は、他のデジタル・メディア・データ圧縮システム又はコーデックに組み込まれてもよい。計算の複雑性及び精度の制御技術は、デジタル・メディア圧縮システムが圧縮されるデジタル・メディア・データを、特定の符号化形式で符号化することを必要としない。
【００１７】
１．符号器／復号器
図２及び３は、代表的な２次元（２Ｄ）データ符号器２００及び復号器３００において用いられるプロセスの一般化された図である。これらの図は、計算の複雑性及び精度の制御技術を用いた圧縮を実行する２Ｄデータ符号器及び復号器を組み込んだ圧縮システムの一般化又は簡略化された例を示している。この制御技術を用いる代替の圧縮システムにおいては、２Ｄデータ圧縮のために、この代表的な符号器及び復号器に示すものより多い又は少ないプロセスも用いられ得る。例えば、いくつかの符号器／復号器は、更に、色変換（color conversion）、色フォーマット、拡張可能符号化、損失無し符号化、マクロブロック・モード等も含み得る。圧縮システム（符号器及び復号器）は、損失無しから損失有りまで変化する量子化パラメータに基づき得る量子化に応じて、２Ｄデータの損失有り及び／又は損失無しの圧縮を提供することができる。
【００１８】
２Ｄデータ符号器２００は、符号器への入力として提供される２Ｄデータ２１０の、（典型的な入力のための）より容量の小さい表現である圧縮ビットストリーム２２０を生成する。例えば、該２Ｄデータ入力は、画像、ビデオ・シーケンスのフレーム、或いは、２次元を有する他のデータであり得る。２Ｄデータ符号器は、入力データのフレームをブロックに分割し（図２に分割２３０として一般的に示される）、該ブロックは、図示された実施形態において、フレーム面を覆う規則的パターンを形成する、互いに重ならない４×４画素のブロックである。該ブロックは、この代表的な符号器においては１６×１６画素のサイズである、マクロブロックと呼ばれる束へとグループ化される。次に、マクロブロックは、タイルと呼ばれる規則的な構造にグループ化される。タイルは、また、水平方向の行における複数のタイルが同一の高さを有して整列され、垂直方向の列における複数のタイルが同一の幅を有して整列されるように、画像を覆う規則的なパターンを形成する。この代表的な符号器において、タイルは、水平及び／又は垂直方向において、１６の倍数である任意のサイズを取り得る。代替的な符号器の実施形態では、画像を、ブロック、マクロブロック、タイル、又は他の大きさ及び構造を有する他の単位に分割してもよい。
【００１９】
「順方向重ね合わせ」（ｆｏｒｗａｒｄ  ｏｖｅｒｌａｐ）演算子２４０は、ブロック間の各エッジに適用され、その後に、各４×４のブロックが、ブロック変換２５０を用いて変換される。このブロック変換２５０は、スリニヴァサンにより２００４年１２月１７日に出願された、「損失有り及び損失無し２Ｄデータ圧縮のための可逆変換」という名称の米国特許出願第１１／０１５７０７号に記載されている可逆且つスケール無しの（ｓｃａｌｅ−ｆｒｅｅ）変換であってもよい。重ね合わせ演算子２４０は、チューらにより２００４年１２月１７日に出願された、「効率的な損失無しデータ圧縮のための可逆重ね合わせ演算子」という名称の米国特許出願第１１／０１５１４８号、及び、チューらにより２００５年１月１４日に出願された、「重ね合わせ双直交変換のための可逆２次元プリ／ポストフィルタリング」という名称の米国特許出願第１１／０３５９９１号に記載された可逆重ね合わせ演算子であってもよい。代替として、離散コサイン変換又は他のブロック変換と、重ね合わせ演算子とが使用され得る。この変換に続き、各４×４変換ブロックのＤＣ係数２６０が、同様の処理連鎖（タイル化、順方向重ね合わせ、次いで４×４ブロック変換）を施される。結果として生じたＤＣ変換係数及びＡＣ変換係数は、量子化２７０され、エントロピー符号化２８０されてパケット化２９０される。
【００２０】
復号器は逆のプロセスを実行する。復号器側では、変換係数ビットがそれぞれのパケットから抽出３１０され、そこから、係数自体が復号化３２０され、逆量子化３３０される。ＤＣ係数３４０は、逆変換を適用することにより再生成され、ＤＣ係数の平面が、ＤＣブロックのエッジにまたがって適用される適切な平滑化演算子を用いて「逆重ね合わせ」される。その後、ＤＣ係数と、ビットストリームから復号化されたＡＣ係数３４２とに、４×４逆変換３５０を適用することにより、データ全体が再生成される。最後に、結果として生じる画像平面のブロックエッジが逆重ね合わせフィルタリング３６０される。これにより、再構成された２Ｄデータ出力が生成される。
【００２１】
例としての実施形態において、符号器２００（図２）は、入力画像を圧縮して圧縮されたビットストリーム２２０（例えば、ファイル）にし、デコーダ３００（図３）は、損失無し又は損失有りのいずれの符号化が行われているかによって、元の入力又はその近似値を再構成する。符号化のプロセスは、以下に説明する順方向重ね合わせ変換（ＬＴ）の適用を含み、これは、やはり以下に更に詳しく説明する可逆２次元プリ／ポストフィルタリングによって実現される。復号化のプロセスは、可逆２次元プリ／ポストフィルタリングを用いる逆重ね合わせ変換（ＩＬＴ）の適用を含む。
【００２２】
上記のＬＴ及びＩＬＴは互いの逆であり、厳密には、２つ合わせて可逆重ね合わせ変換と呼ばれ得る。可逆変換として、ＬＴ及びＩＬＴの組み合わせは、損失無しの画像圧縮に用いられ得る。
【００２３】
上記の符号器２００／復号器３００によって圧縮される入力データ２１０は、様々な色フォーマットの画像（例えば、ＲＧＢ／ＹＵＶ４：４：４、ＹＵＶ４：２：２、又はＹＵＶ４：２：０の色画像フォーマット）であってよい。典型的には、入力画像は常に輝度（Ｙ）成分を有する。ＲＧＢ／ＹＵＶ４：４：４、ＹＵＶ４：２：２、又はＹＵＶ４：２：０画像である場合、画像は、更に、Ｕ成分及びＶ成分のようなクロミナンス成分を有する。画像の個々の色平面又は色成分は、異なる空間分解能を備え得る。入力画像が例えばＹＵＶ４：２：０色フォーマットである場合、Ｕ成分及びＶ成分は、Ｙ成分の半分の幅及び高さを有する。
【００２４】
上記の通り、符号器２００は、入力画像又は写真をタイル状のマクロブロックにする。例としての実施形態において、符号器２００は、入力画像を、Ｙチャンネルにおいて、１６×１６画素領域（「マクロブロック」と呼ばれる）へとタイル状にする（これは、色フォーマットに依存して、Ｕチャンネル及びＶチャンネルでは１６×１６、１６×８、又は８×８領域であり得る）。個々のマクロブロック色平面は、４×４画素領域又はブロックへとタイル状にされる。従って、マクロブロックは、この例としての符号器の実施形態において、以下の方法により、様々な色フォーマットに対して構成される。
【００２５】
１．グレースケール画像については、各マクロブロックが１６個の４×４輝度（Ｙ）ブロックを有する。
２．ＹＵＶ４：２：０フォーマットの色画像については、各マクロブロックが１６個の４×４Ｙブロックと、それぞれ４個の４×４クロミナンス（Ｕ及びＶ）ブロックとを有する。
【００２６】
３．ＹＵＶ４：２：２フォーマットの色画像については、各マクロブロックが１６個の４×４Ｙブロックと、それぞれ８個の４×４クロミナンス（Ｕ及びＶ）ブロックとを有する。
【００２７】
４．ＲＧＢ又はＹＵＶ４：４：４の色画像については、各マクロブロックがＹ、Ｕ及びＶチャンネルそれぞれについて１６ブロックを有する。
従って、変換後、この代表的な符号器２００／復号器３００におけるマクロブロックは、３つの周波数サブバンド、即ち、ＤＣサブバンド（ＤＣマクロブロック）、低域通過サブバンド（低域通過マクロブロック）及び高域通過サブバンド（高域通過マクロブロック）を有する。代表的なシステムにおいて、低域通過及び／又は高域通過サブバンドは、ビットストリームにおいて任意であり、これらのサブバンドは完全に除去されてもよい。
【００２８】
更に、圧縮データは、空間順及び周波数順のうちいずれかの順序付けにより、ビットストリームにパケット化され得る。空間順である場合、一つのタイル内における同一マクロブロックの異なるサブバンドが一緒に並べられ、各タイルの結果として生じるビットストリームは、一つのパケットに書き込まれる。周波数順である場合、一つのタイル内における異なるマクロブロックの同一サブバンドが一緒にグループ化され、一つのタイルのビットストリームが、ＤＣタイルパケット、低域通過タイルパケット及び高域通過タイルパケットの３つのパケットに書き込まれる。更に、他のデータ層も存在し得る。
【００２９】
従って、代表的なシステムにおいて、画像は以下の「次元」で組織化される。即ち、
空間次元：フレーム→タイル→マクロブロック、
周波数次元：ＤＣ｜低域通過｜高域通過、
チャンネル次元：輝度｜クロミナンス＿０｜クロミナンス＿１…（例えば、Ｙ｜Ｕ｜Ｖとして）。なお、上記矢印は階層を示し、垂直線は区切りを示す。
【００３０】
代表的なシステムは、圧縮デジタル・メディア・データを空間、周波数及びチャンネル次元において組織化するが、ここで説明された柔軟な量子化手法は、より少ない又は多い次元或いは他の次元に沿ってデータを組織化する代替としての符号器／復号器システムに適用されてもよい。例えば、柔軟な量子化手法は、より多くの周波数帯、色チャンネルの他のフォーマット（例えば、ＹＩＱ、ＲＧＢ等）、更なる画像チャンネル（例えば、ステレオ・ビジョン又は他の複数のカメラ配列）を用いる符号化に適用され得る。
【００３１】
２．逆コア変換及び逆重ね合わせ変換
概要
符号器２００／復号器３００の一つの実施形態において、復号器側における逆変換は、二段階重ね合わせ変換の形態を取り得る。そのステップは以下の通りである。
【００３２】
ＤＣ平面として知られる平面に配列された再構成されたＤＣ係数及び低域通過係数に対応して、各４×４ブロックに逆コア変換（ＩＣＴ）が適用される。ＤＣ平面のブロックに均一にまたがる４×４領域にポストフィルタリング演算が選択的に適用される。更に、境界の２×４及び４×２領域にポストフィルタリングが適用され、４つの２×２の角領域はそのままに残される。結果として生じる配列は、第一段階変換に対応する４×４ブロックのＤＣ係数を含む。ＤＣ係数は、より大きな配列に（比喩として）コピーされ、再構成された高域通過係数が残りの位置に埋められる。各４×４ブロックにＩＣＴが適用される。ＤＣ平面のブロックに均一にまたがる４×４領域にポストフィルタリング演算が選択的に適用される。更に、境界の２×４及び４×２領域にポストフィルタリングが適用され、４つの２×２の角領域はそのままに残される。このプロセスは図４に示される。
【００３３】
ポストフィルタリングの適用は、圧縮ビットストリーム２２０内のＯＶＥＲＬＡＰ＿ＩＮＦＯ構文要素に支配される。ＯＶＥＲＬＡＰ＿ＩＮＦＯは、３つの値を取り得る。ＯＶＥＲＬＡＰ＿ＩＮＦＯ＝０のとき、ポストフィルタリングは実行されない。ＯＶＥＲＬＡＰ＿ＩＮＦＯ＝１のとき、外側のポストフィルタリングのみが実行される。ＯＶＥＲＬＡＰ＿ＩＮＦＯ＝２のとき、内側及び外側のポストフィルタリングが実行される。
【００３４】
逆コア変換
コア変換（ＣＴ）は、従来から知られている４×４離散コサイン変換（ＤＣＴ）から着想されたものであるが、根本的に異なる。第一の主要な差異は、ＤＣＴが線形であるのに対し、ＣＴは非線形であることである。第二の主要な差異は、実数に定義されているという事実のために、ＤＣＴは、整数から整数への空間において損失無し演算ではないことである。ＣＴは整数上で定義されているため、この空間において損失無しである。第三の主要な差異は、２ＤのＤＣＴは分離可能な演算であることである。ＣＴは設計により分離することはできない。
【００３５】
逆変換の全プロセスは、以下の３つの基本的な変換演算のつながりとして記載することができ、それは、
２×２アダマール変換：Ｔ＿ｈ
逆１Ｄ回転：ＩｎｖＴ＿ｏｄｄ
逆２Ｄ回転：ＩｎｖＴ＿ｏｄｄ＿ｏｄｄ
である。これらの変換は、分離不可能な演算として実現され、ＩＣＴ全体の説明に続き、最初に説明される。
【００３６】
２Ｄ  ２×２アダマール変換Ｔ＿ｈ
符号器／復号器は、２Ｄ  ２×２アダマール変換：Ｔ＿ｈを、以下の擬似コード表に示すように実装する。
【００３７】
【表１】
0005457199.tif 000003
【００３８】
Ｒは、０又は１の値のみを取り得る丸め係数である。Ｔ＿ｈはインボリュートリ（ｉｎｖｏｌｕｔｏｒｙ）である（即ち、データベクトル[ａ  ｂ  ｃ  ｄ]に対しＴ＿ｈを２回適用すると、Ｒがその２回の適用間で不変である場合に、[ａ  ｂ  ｃ  ｄ]の元の値を再構成することができる）。Ｔ＿ｈの逆数はＴ＿ｈ自体である。
【００３９】
逆１Ｄ回転ＩｎｖＴ＿ｏｄｄ
Ｔ＿ｏｄｄの損失無し逆数は、以下の表において擬似コードで定義される。
【００４０】
【表２】
0005457199.tif 000004
【００４１】
【表３】
0005457199.tif 000005
【００４２】
逆２Ｄ回転ＩｎｖＴ＿ｏｄｄ＿ｏｄｄ
逆２Ｄ回転ＩｎｖＴ＿ｏｄｄ＿ｏｄｄは、以下の表において擬似コードで定義される。
【００４３】
【表４】
0005457199.tif 000006
【００４４】
ＩＣＴ演算
２×２データと先に列挙された擬似コードとの対応が、図５に示される。ここでは、次章における変換の説明を容易にするために、４つのデータ点を示す４段階のグレーレベルを用いた色符号化が用いられる。
【００４５】
２Ｄ  ４×４点ＩＣＴは、Ｔ＿ｈ、逆Ｔ＿ｏｄｄ及び逆Ｔ＿ｏｄｄ＿ｏｄｄを用いて構築される。逆Ｔ＿ｈはＴ＿ｈ自体であることに注意されたい。ＩＣＴは、以下の擬似コードで示される二段階で構成される。各段階は、該段階内において任意の順序で又は同時に実行され得る４つの２×２変換によって構成される。
【００４６】
入力データブロックが、
【００４７】
【数２】
0005457199.tif 000007
【００４８】
である場合、４×４＿ＩＰＣＴ＿１ｓｔＳｔａｇｅ（）及び４×４＿ＩＰＣＴ＿２ｎｄＳｔａｇｅ（）は、
【００４９】
【表５】
0005457199.tif 000008
【００５０】
として定義される。関数２×２＿ＩＣＴは、Ｔ＿ｈと同じである。
ポストフィルタリングの概要
４つの演算子が、逆重ね合わせ変換において使用されるポストフィルタを決定する。それらは、
４×４ポストフィルタ
４点ポストフィルタ
２×２ポストフィルタ
２点ポストフィルタ
である。
【００５１】
ポストフィルタは、Ｔ＿ｈ、ＩｎｖＴ＿ｏｄｄ＿ｏｄｄ、ｉｎｖＳｃａｌｅ及びｉｎｖＲｏｔａｔｅを用いる。ｉｎｖＲｏｔａｔｅ及びｉｎｖＳｃａｌｅは、それぞれ以下の表において定義される。
【００５２】
【表６】
0005457199.tif 000009
【００５３】
４×４ポストフィルタ
最初に、ＯＶＥＲＬＡＰ＿ＩＮＦＯが１又は２である場合、４×４ポストフィルタが、すべての色平面におけるブロック接合部（４つのブロックに均等にまたがる領域）に適用される。また、４×４ポストフィルタは、ＯＶＥＲＬＡＰ＿ＩＮＦＯが２である場合にはすべての平面について、また、ＯＶＥＲＬＡＰ＿ＩＮＦＯが２であり且つ色フォーマットがＹＵＶ４：２：０又はＹＵＶ４：２：２である場合にはルマ平面（ｌｕｍａ  ｐｌａｎｅ）のみについて、ＤＣ平面におけるすべてのブロック接合部に適用される。
【００５４】
入力データブロックが、
【００５５】
【数３】
0005457199.tif 000010
【００５６】
である場合、４×４ポストフィルタ４×４ＰｏｓｔＦｉｌｔｅｒ（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ｌ，ｍ，ｎ，ｏ，ｐ）は、以下の表において定義される。
【００５７】
【表７】
0005457199.tif 000011
【００５８】
４点ポストフィルタ
線形４点フィルタは、画像の境界部において、２×４領域及び４×２領域にまたがるエッジに適用される。入力データが[ａ  ｂ  ｃ  ｄ]である場合、４点ポストフィルタ４ＰｏｓｔＦｉｌｔｅｒ（ａ，ｂ，ｃ，ｄ）は、以下の表において定義される。
【００５９】
【表８】
0005457199.tif 000012
【００６０】
２×２ポストフィルタ
２×２ポストフィルタは、ＹＵＶ４：２：０及びＹＵＶ４：２：２データのクロマ・チャンネルに対し、ＤＣ平面におけるブロックをまたがる領域に適用される。入力データが
【００６１】
【数４】
0005457199.tif 000013
【００６２】
である場合、２×２ポストフィルタ２×２ＰｏｓｔＦｉｌｔｅｒ（ａ，ｂ，ｃ，ｄ）は、以下の表において定義される。
【００６３】
【表９】
0005457199.tif 000014
【００６４】
２点ポストフィルタ
２点ポストフィルタは、ブロックをまたがる境界部の２×１及び１×２サンプルに適用される。２点ポストフィルタ２ＰｏｓｔＦｉｌｔｅｒ（ａ，ｂ）は、以下の表において定義される。
【００６５】
【表１０】
0005457199.tif 000015
【００６６】
上記の重ね合わせ変換の変換演算を実行するために要求される精度の伝達は、圧縮された画像構造のヘッダーにおいて実行することができる。例としての実施形態において、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ及びＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧＳは、復号器において適用されるべき精度及び計算の複雑性を伝達するために、圧縮ビットストリーム内で（例えば、画像ヘッダー内で）伝達される構文要素である。
【００６７】
３．精度及びワード長
例としての符号器／復号器は、整数演算を実行する。更に、例としての符号器／復号器は、損失無しの符号化及び復号化をサポートする。そのため、例としての符号器／復号器に要求される第一のマシン精度は整数である。
【００６８】
しかしながら、例としての符号器／復号器において定義される整数演算は、損失有りの符号化における丸め誤差につながる。これらの誤差は意図的に小さくされるが、レート歪み曲線の劣化を招く。丸め誤差を減らして符号化性能を向上させるために、例としての符号器／復号器は、第二のマシン精度を定義する。このモードでは、入力に予め８が乗じられ（即ち、３ビットだけ左にシフトし）、最終的な出力を８で丸め除算する（即ち、３ビットだけ右にシフトする）。これらの演算は、符号器のフロントエンド及び復号器のリアエンドで実行され、プロセスの他の部分からは大部分が隠される。更に、第一のマシン精度で作成され第二のマシン精度で復号化された（又はその逆の）ストリームが許容範囲内の画像を生成するように、それに応じて量子化レベルがスケーリングされる。
【００６９】
第二のマシン精度は、損失無しの圧縮が所望される場合には使用できない。圧縮ファイルを作成する際に用いられるマシン精度は、ヘッダー内に明示的に記される。
第二のマシン精度は、コーデックにおいてスケーリング有りの計算を使用することと等価であり、そのため、このモードをＳｃａｌｅｄと呼ぶ。第一のマシン精度はＵｎｓｃａｌｅｄと呼ばれる。
【００７０】
例としての符号器／復号器は、優れた符号化及び復号化速度を提供するように設計される。例としての符号器／復号器の設計目標は、符号器及び復号器のデータ値が、８ビット入力に対して符号付き１６ビットを超えないことである（しかしながら、変換段階における中間の演算ではこの数値を越え得る）。これは両方のマシン精度モードに当てはまる。逆に、第二のマシン精度が選択された場合、中間値の拡張幅は８ビットまでである。第一のマシン精度は８による事前の乗算を避けるため、拡張幅は８−３＝５ビットである。第一の例としての符号器／復号器は、中間値として２つの異なるワード長を用いる。これらのワード長は、１６ビット及び３２ビットである。
【００７１】
第二の例としてのビットストリーム構文及び解釈
第二の例としてのビットストリーム構文及び解釈は階層的であり、以下の層、即ち、画像、タイル、マクロブロック及びブロックからなる。
【００７２】
【表１１】
0005457199.tif 000016
【００７３】
【表１２】
0005457199.tif 000017
【００７４】
【表１３】
0005457199.tif 000018
【００７５】
【表１４】
0005457199.tif 000019
【００７６】
【表１５】
0005457199.tif 000020
【００７７】
第二の例としてのビットストリーム構文及び解釈から選択されたいくつかのビットストリーム要素が、以下に定義される。
（１）ロング・ワード・フラグ（ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ）（１ビット）：
ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧは１ビットの構文要素であり、１６ビット整数が変換計算に利用されるか否かを特定する。この第二の例としてのビットストリーム構文において、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ＝＝０（ＦＡＬＳＥ）の場合、１６ビット整数の数字及び配列が、変換計算の外側段階に利用され得る（（例えば（３＊ａ＋１）＞＞１のような）変換内における中間演算が、より高い正確性で実行される）。ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ＝＝ＴＲＵＥの場合、３２ビット整数の数字及び配列が変換計算に利用されることになる。
【００７８】
注：３２ビット計算は、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧの値に関わらず、画像の復号化に利用され得る。この構文要素は、最も効率的なワード長を選択して実装するために、復号器によって利用され得る。
【００７９】
（２）スケーリング無し計算フラグ（ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ）（１ビット）
ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧは、変換がスケーリングを用いるか否かを特定する１ビットの構文要素である。ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝１の場合、スケーリングは実行されない。ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝０の場合、スケーリングが用いられる。この場合、スケーリングは、最終段階（色変換）の出力を適切に３ビットだけ切り捨てることにより実行される。
【００８０】
注：損失無しの符号化が所望される場合、たとえ損失無しの符号化が画像の小部分のみに用いられるとしても、ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧはＴＲＵＥにセットされる。損失有りの符号化は、いずれのモードを用いてもよい。
【００８１】
注：損失有りの符号化におけるレート歪み性能は、スケーリングが用いられる場合（即ち、ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝ＦＡＬＳＥの場合）、特に低いＱＰの場合に優れたものとなる。
【００８２】
４．ロング・ワード・フラグの伝達及び使用
代表的な符号器／復号器に対する一つの例としての画像フォーマットは、高いダイナミック・レンジ及び広い音域フォーマットを含む幅広い画素フォーマットをサポートする。サポートされているデータ種別には、符号付き整数、符号無し整数、固定小数点型小数、浮動小数点型小数が含まれる。サポートされているビット深度には、色チャンネルあたり８、１６、２４及び３２ビットが含まれる。例としての画像フォーマットは、色チャンネルあたり２４ビットまでを使用する画像の損失無しの圧縮と、色チャンネルあたり３２ビットまでを使用する画像の損失有りの圧縮とを可能とする。同時に、例としての画像フォーマットは、高品質な画像及び効率的な圧縮を提供し、簡易な符号化及び復号化の実現を可能とするように設計される。
【００８３】
複雑性の低い実装をサポートするために、例としての画像フォーマットにおける変換は、ダイナミック・レンジの拡張を最小化するように設計される。二段階変換は、ダイナミック・レンジをわずか５ビットしか増加させない。従って、画像のビット深度が色チャンネルあたり８ビットである場合、復号器における全ての変換演算の実行には、１６ビットの計算で恐らくは十分である。他のビット深度については、変換演算のために、より高精度の計算が必要となり得る。
【００８４】
特定のビットストリームを復号化する際の計算の複雑性は、変換演算の実行に必要な精度が復号器において分かっている場合には減らすことができる。この情報は、構文要素（例えば、画像ヘッダー内の１ビットのフラグ）を用いて復号器に伝達されることができる。説明する伝達技術及び構文要素により、ビットストリームを復号化する際の計算の複雑性を低減することができる。
【００８５】
一つの例としての実施形態において、１ビットの構文要素ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧが利用される。例えば、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ＝＝ＦＡＬＳＥである場合、１６ビット整数の数値及び配列が変換計算の外側段階で利用され得るが、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ＝＝ＴＲＵＥである場合、３２ビット整数の数値及び配列が変換計算に利用されることになる。
【００８６】
代表的な符号器／復号器の一つの実施形態において、インプレース（ｉｎ−ｐｌａｃｅ）変換演算は１６ビットで実行され得るが、変換中の中間演算（例えば、ｂ＋＝（３＊ａ＋１）＞＞１によって与えられる「リフティング」ステップのための積３＊ａの計算）は、より高い精度（例えば、１８ビット又はそれより高い精度）で行われる。しかしながら、この例において、中間計算値ａ及びｂ自体は１６ビット整数において格納され得る。
【００８７】
画像の復号化には、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ要素の値に関係なく、３２ビット計算が利用され得る。ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ要素は、実装に最も効率的なワード長を選択するために、符号器／復号器によって利用され得る。例えば、符号器は、１６ビット及び３２ビット精度の変換ステップが同一の出力値をもたらすことが確認できる場合、ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ要素をＦＡＬＳＥにセットすることを選択し得る。
【００８８】
５．ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧの伝達及び利用
代表的な符号器／復号器に対する一つの例としての画像フォーマットは、高いダイナミック・レンジ及び広い音域フォーマットを含む幅広い画素フォーマットをサポートする。同時に、代表的な符号器／復号器の設計は、画像品質及び圧縮効率を最大限にし、複雑性の低い符号化及び復号化の実現を可能とする。
【００８９】
上記の通り、代表的な符号器／復号器は、二段階の階層的なブロックベースの変換を利用し、全ての変換ステップは整数演算である。これらの整数演算中に表われる小さな丸め誤差は、損失有りの圧縮期間での圧縮効率の低下につながる。この問題を克服するために、代表的な符号器／復号器の一つの実施形態では、復号器での演算のために２つの異なる精度モード、即ち、スケーリング有りのモードとスケーリング無しのモードとが定義される。
【００９０】
スケーリング有りの精度モードでは、符号器において入力画像に予め８が乗じられ（即ち、３ビットだけ左にシフトされる）、復号器における最終出力が８で丸め除算される（即ち、３ビットだけ右にシフトされる）。スケーリング有りの精度モードにおける演算は、丸め誤差を最小化し、結果としてレート歪み性能を向上させる。
【００９１】
スケーリング無しの精度モードには、そのようなスケーリングは存在しない。スケーリング無しの精度モードで動作する符号器又は復号器は、変換係数に対して、より小さなダイナミック・レンジを扱わなければならず、したがって計算の複雑性が低い。しかしながら、このモードでの動作には、圧縮効率に若干の損失がある。（量子化無しの、即ち、量子化パラメータＱＰを１にセットした）損失無しの符号化では、可逆性を保証するために、スケーリング無しの精度モードしか利用することができない。
【００９２】
圧縮ファイルを作成する際に符号器によって利用された精度モードは、圧縮ビットストリーム２２０（図２）の画像ヘッダー内において、ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧを用いて明示的に伝達される。復号器３００は、演算に同じ精度モードを利用することが推奨される。
【００９３】
ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧは、次のように精度モードを特定する、１ビットの構文要素である。すなわち、ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝ＴＲＵＥである場合、復号器での演算にはスケーリング無しのモードが利用される。ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝ＦＡＬＳＥである場合、スケーリングが使用される。この場合、最終段階（色変換）の出力を適切に３ビットだけ切り捨てることにより、演算にスケーリング有りのモードが利用される。
【００９４】
損失有りの符号化におけるレート歪み性能は、スケーリング無しのモードが使用される場合（即ち、ＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧ＝＝ＦＡＬＳＥである場合）、特に低いＱＰの場合に優れたものとなる。しかしながら、２つの理由から、スケーリング無しのモードが使用される場合のほうが、計算の複雑性が小さい。
【００９５】
スケーリング無しのモードの方がダイナミック・レンジの拡張が小さいことは、特に“ＬＯＮＧ＿ＷＯＲＤ＿ＦＬＡＧ”と組み合わされて、変換計算のために、より短いワードが利用され得ることを意味する。ＶＬＳＩ実装においては、ダイナミック・レンジの拡張が低減されることは、より上位のビットを実行するゲート・ロジックでの電力消費が低減されることを意味する。
【００９６】
スケーリング有りのモードは、復号器側にて、（８による丸め除算を実現する）追加の３ビットの右ビットシフトを必要とする。符号器側では、３ビットの左ビットシフトが必要になる。これは、スケーリング無しのモードよりも計算的にはわずかに厳しい。
【００９７】
更に、スケーリング無しのモードは、スケーリング有りのモードよりも上位のビットの圧縮を可能とする。例えば、スケーリング無しのモードは、３２ビット計算を用いて、サンプルあたり２７までの上位ビットの損失無し圧縮（及び圧縮解除）を許容する。これに対し、スケーリング有りのモードでは、２４ビットしか可能でない。これは、スケーリング処理によりダイナミック・レンジに３つの追加ビットが加えられるためである。
【００９８】
復号器におけるデータ値は、両方の精度モードについて、８ビットの入力に対して符号付き１６ビットを超えない。（しかしながら、変換段階内の中間演算はこの数字を超え得る。）
注：損失無しの符号化が所望される場合（ＱＰ＝１）、たとえ画像の一部分のみに損失無しの符号化が必要な場合であっても、符号器によってＮＯ＿ＳＣＡＬＥＤ＿ＦＬＡＧがＴＲＵＥにセットされる。
【００９９】
符号器は、損失有りの圧縮のために、両方のモードを使用し得る。復号器は、その演算に、ＮＯ＿ＳＣＡＬＥＤ＿ＭＯＤＥによって指示される精度モードを利用することが推奨される。しかしながら、スケーリング有りの精度モードによって作成されスケーリング無しの精度モードを用いて復号化された（又はその逆の）ストリームが、多くの場合、許容範囲内の画像を生成するように、量子化レベルがスケーリングされる。
【０１００】
６．正確性を高めるためのスケーリング計算
代表的な符号器／復号器の一つの実施形態において、変換（色変換を含む）は整数変換であり、一連のリフティング・ステップにより実現される。それらのリフティング・ステップにおいては、切り捨て誤差が変換性能を損なう。損失有りの圧縮の場合、切り捨て誤差による損失を最小化し、変換性能を最大化するために、変換への入力データを数ビット左にシフトする必要がある。しかしながら、他の非常に望ましい特徴として、入力画像が８ビットである場合、各変換の出力は１６ビット以内でなければならない。従って、左シフトのビット数を大きくすることはできない。代表的な復号器は、両方の目的を達成するためのスケーリング計算技術を実施する。該スケーリング計算技術は、切り捨て誤差による損失を最小化することにより変換性能を最大化し、入力画像が８ビットの場合に各変換ステップの出力を依然として１６ビット以内に制限する。これにより、簡易な１６ビットでの実施が可能となる。
【０１０１】
代表的な符号器／復号器において用いられる変換は整数変換であり、リフティング・ステップにより実現される。大部分のリフティング・ステップは右シフトを含み、それにより切り捨て誤差が生じる。変換は一般に多くのリフティング・ステップを含み、累積した切り捨て誤差が変換性能を明らかに損なう。
【０１０２】
切り捨て誤差による損失を減らす一つの方法は、符号器において変換前に入力データを左にシフトし、復号器において（量子化と結合された）変換後に同じビット数だけ右にシフトすることである。上記の通り、代表的な符号器／復号器は、二段階の変換構造、即ち、オプションとしての第一段階重ね合わせと、第一段階ＣＴと、オプションとしての第二段階重ね合わせと、第二段階ＣＴとを有する。実験によれば、切り下げ誤差を最小化するには、３ビットの左シフトが必要である。従って、損失有りの場合、色変換の前に、入力データが３ビットだけ左にシフトされ、即ち、８の因数により乗算即ちスケーリングされる（例えば、上記のスケーリング有りのモードにおいて）。
【０１０３】
しかしながら、色変換（color conversion）及び変換（transform）はデータを拡張する。入力データが３ビットだけシフトされる場合、入力データが８ビットであれば、第二段階４×４ＤＣＴの出力は１７ビットのダイナミック・レンジを有する（他の各変換の出力は依然として１６ビット以内である）。これは、非常に望ましい特徴である１６ビットでの実施を妨げるため、極めて好ましくない。これを回避するため、第二段階４×４ＣＴの前に、入力データを１ビットだけ右にシフトさせると、出力データも１６ビット以内になる。第二段階４×４ＣＴはデータの１６分の１（第一段階ＤＣＴのＤＣ変換係数）のみに適用され、該データはすでに第一段階変換により拡大方向にスケーリングされているため、ここでの切り捨て誤差による損失が最小化される。
【０１０４】
従って、８ビット画像について損失有りの場合、符号器側では、入力が色変換前に３ビットだけ左にシフトされ、第二段階４×４ＣＴの前に１ビット右にシフトされる。復号器側では、第一段階４×４ＩＤＣＴの前に入力が１ビットだけ左にシフトされ、色変換の後に３ビットだけ右にシフトされる。
【０１０５】
７．コンピューティング環境
デジタル・メディア・コーデックにおける計算の正確性及び精度の伝達のための上記処理技術は、例えば、特に（サーバー、デスクトップ、ラップトップ、ハンドヘルド等を含む様々な形態を取る）コンピューター、デジタル・メディア・レコーダー及びプレイヤ、（カメラ、スキャナー等の）画像及びビデオ・キャプチャー装置、（電話、携帯電話、会議装置等の）通信装置、ディブプレイ、プリンター又は他の表示装置等を含む、様々なデジタル・メディアの符号化及び／又は復号化システムのうちの任意の一つにより実現され得る。デジタル・メディア・コーデックにおける計算の正確性及び精度の伝達技術は、図６に示されるようなコンピューター又は他のコンピューティング環境内で動作する通信ソフトウェアにおいてだけではなく、ハードウェア回路や、ファームウェア制御のデジタル・メディア処理ハードウェアにおいても実現され得る。
【０１０６】
図６は、上記の実施形態が実現され得る適切なコンピューティング環境（６００）の一般化された例を示す。コンピューティング環境（６００）は、本発明の用途又は機能の範囲の如何なる限定をも示唆するものではなく、本発明は、多様な汎用又は専用のコンピューティング環境で実現され得る。
【０１０７】
図６について、コンピューティング環境（６００）は、少なくとも一つの処理装置（６１０）と、メモリー（６２０）とを備える。図６では、この最も基本的な構成（６３０）が、点線内に含まれる。処理装置（６１０）は、コンピューター実行可能な命令を実行するものであり、実プロセッサーとすることも、仮想プロセッサーとすることもできる。多重処理システムにおいては、処理能力を増大させるために、複数の処理装置がコンピューター実行可能な命令を実行する。メモリー（６２０）は、揮発性メモリー（例えば、レジスター、キャッシュ、ＲＡＭ）であっても、不揮発性メモリー（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー等）であっても、又はこの２つの何らかの組み合わせであってもよい。メモリー（６２０）は、計算の正確性及び精度の伝達技術を備える上記のデジタル・メディア符号化／復号化を実現するソフトウェア（６８０）を記憶する。
【０１０８】
コンピューティング環境は更なる特徴を有し得る。例えば、コンピューティング環境（６００）は、記憶装置（６４０）、１つ又は複数の入力装置（６５０）、１つ又は複数の出力装置（６６０）、及び１つ又はそれ以上の通信接続（６７０）を備える。バス、コントローラー、ネットワークなどの相互接続機構（図示せず）がコンピューティング環境（６００）の要素を互いに接続する。一般に、オペレーティング・システム・ソフトウェア（図示せず）は、コンピューティング環境（６００）において動作する他のソフトウェアに動作環境を提供し、コンピューティング環境（６００）の構成要素の活動を調整する。
【０１０９】
記憶装置（６４０）は着脱式でも固定式でもよく、磁気ディスク、磁気テープ又はカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、又は、情報の記憶に用いることができ、コンピューティング環境（６００）内でアクセスできる任意の他の媒体を含む。記憶装置（６４０）は、計算の正確性及び精度の伝達技術により上記のデジタル・メディア符号化／復号化を実現するソフトウェア（６８０）への命令を記憶する。
【０１１０】
入力装置（６５０）は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャナー装置、又は、コンピューティング環境（６００）に入力を提供する他の装置であってよい。音声に対しては、入力装置（６５０）は、マイク又はマイク配列からアナログ又はデジタル形式で音声入力を受け入れるサウンド・カード又は類似の装置、或いはコンピューティング環境に音声サンプルを提供するＣＤ−ＲＯＭリーダーとすることができる。出力装置（６６０）は、ディスプレイ、プリンター、スピーカー、ＣＤライター、又は、コンピューティング環境（６００）からの出力を提供する他の装置であってよい。
【０１１１】
通信接続（６７０）は、他のコンピューティング・エンティティとの通信媒体を介した通信を可能とする。通信媒体は、コンピューター実行可能な命令、圧縮音声又はビデオ情報、又は他のデータなどの情報を、変調データ信号として伝達する。変調データ信号とは、その特性の１つ又は複数が、信号内の情報を符号化するような方式で設定又は変更されている信号である。限定的ではない例として、通信媒体には、電気、光、ＲＦ、赤外線、音声又はその他の搬送波を用いて実現される有線又は無線技術が含まれる。
【０１１２】
柔軟な量子化技術を有する上記のデジタル・メディア符号化／復号化は、本明細書において、コンピューター読み取り可能媒体の一般的状況において説明される。コンピューター読み取り可能媒体は、コンピューティング環境内でアクセスされ得る任意の入手可能な媒体であってよい。限定的ではない例として、コンピューティング環境（６００）におけるコンピューター読み取り可能媒体は、メモリー（６２０）、記憶装置（６４０）、通信媒体、及びそれらの任意の組み合わせを含む。
【０１１３】
上記の計算の正確性及び精度の伝達技術を有するデジタル・メディア符号化／復号化は、本明細書において、コンピューティング環境においてターゲットの実プロセッサー又は仮想プロセッサーで実行される、プログラム・モジュールに含まれるもののようなコンピューター実行可能な命令の一般的状況において説明される。一般に、プログラム・モジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリー、オブジェクト、クラス、コンポネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、所望の通りに組み合わされ、又は複数のプログラム間で分割され得る。プログラム・モジュールに対するコンピューター実行可能な命令は、ローカルのコンピューティング環境又は分散コンピューティング環境内で実行され得る。
【０１１４】
説明のために、発明の詳細な説明では、「決定する」、「生成する」、「調整する」及び「適用する」といった用語を利用して、コンピューティング環境におけるコンピューター動作を記述している。これらの用語は、コンピューターにより実行される動作の高度な抽象化であり、人間によって実行される動作と混同してはならない。これらの用語に対応する実際のコンピューター動作は、実装によって異なる。
【０１１５】
本発明の原理が適用され得る多くの可能な実施形態を考慮して、出願人は、以下の特許請求の範囲及びその均等物の範囲及び趣旨に含まれ得るそのような全ての実施形態を本発明として特許請求するものである。
【図１】
0005457199.tif 000021
【図４】
0005457199.tif 000022
【図６】
0005457199.tif 000023
【図２】
0005457199.tif 000024
【図３】
0005457199.tif 000025
【図５】
0005457199.tif 000026