(57)【特許請求の範囲】
【請求項１】
ディジタル・メディア・デコード・デバイスを用いてディジタル・メディアをデコードするために用いられる、逆オーバーラップ変換を実行する方法であって、
前記ディジタル・メディア・デコード・デバイスによって、ディジタル・メディアに対して逆周波数変換を実行するステップと、
前記ディジタル・メディア・デコード・デバイスによって、複数のオーバーラップ演算子を前記逆周波数変換の結果に適用するステップであって、前記複数のオーバーラップ演算子が、少なくとも第１オーバーラップ演算子と第２オーバーラップ演算子とを含み、前記第１オーバーラップ演算子が内部オーバーラップ演算子であり、前記第２オーバーラップ演算子がエッジ・オーバーラップ演算子またはコーナー・オーバーラップ演算子であり、前記内部オーバーラップ演算子及び前記エッジ・オーバーラップ演算子は、ブロック境界を跨ぐオーバーラップしたサンプル領域を前記逆オーバーラップ変換の単位として規定し、前記コーナー・オーバーラップ演算子は、ブロック境界の間のサンプル領域を前記逆オーバーラップ変換の単位として規定し、前記複数のオーバーラップ演算子の各々は、ＤＣ利得の差が、動作上の制約及び計画した用途を考慮して、前記複数のオーバーラップ演算子間におけるＤＣ利得の差によって生ずる望ましくないアーチファクトを低減又は根絶する程度に十分に小さくなるように、実質的に同等のＤＣ利得を特徴とする、ステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記適用するステップの一部として、
前記第１オーバーラップ演算子を、画像および／またはタイルの内部４×４サンプル領域に適用し、
前記第２オーバーラップ演算子が、前記画像および／またはタイルのエッジ４×１サンプル領域に適用されるエッジ・オーバーラップ演算子であり、
前記複数のオーバーラップ演算子の内第３オーバーラップ演算子を、前記画像および／またはタイルのコーナー２×２サンプル領域に適用する、方法。
【請求項３】
請求項２記載の方法において、前記逆オーバーラップ変換が、多数の段階を有する階層的逆変換であり、前記第１、第２、および第３オーバーラップ演算子を、前記多数の段階の内第１段階における少なくとも１つのチャネルのサンプルに適用する、方法。
【請求項４】
請求項２記載の方法において、前記逆オーバーラップ変換が、多数の段階を有する階層的逆変換であり、前記第１、第２、および第３オーバーラップ演算子を、前記多数の段階のうち第２段階における複数の最大分解能チャネルの各々のサンプルに適用する、方法。
【請求項５】
請求項２記載の方法において、前記コーナー２×２サンプル領域に適用される前記第３オーバーラップ演算子が、前記コーナー２×２サンプル領域の左上、右上、左下、および右下のサンプルを順序付けし直した後に、前記第２オーバーラップ演算子を用いて、中間４×１サンプル領域として適用される、方法。
【請求項６】
請求項１記載の方法において、前記逆オーバーラップ変換が、多数の段階を有する階層的逆変換であり、前記適用するステップの一部として、
画像および／またはタイルの内部２×２サンプル領域に前記第1オーバーラップ演算子を適用し、
前記第２オーバーラップ演算子が、前記画像および／またはタイルのエッジ２×１サンプル領域に適用されるエッジ・オーバーラップ演算子であり、
前記複数のオーバーラップ演算子の内第３オーバーラップ演算子を、前記画像および／またはタイルのコーナー１×１サンプル領域に適用し、
前記第１、第２、および第３オーバーラップ演算子を、前記多数の段階の内第1段階において、ダウンサンプリングされたクロマ・チャネルのサンプルに適用する、方法。
【請求項７】
請求項６記載の方法において、前記第１オーバーラップ演算子および前記第２オーバーラップ演算子が、１／３２、１／５１２、および１／８１９２の係数を有する２つの部分から成るリフティング・ステップを含む、方法。
【請求項８】
請求項６記載の方法において、水平方向に隣接する位置Ｂにおけるサンプル値を用いて、位置Ａにあるサンプルに前記第３オーバーラップ演算子を適用し、前記第３オーバーラップ演算子を、
前記位置Ｂにおけるサンプル値にオーバーラップ演算子を適用する前に、前記位置Ｂにおけるサンプル値を前記位置Ａにおけるサンプル値から減算することによって、前記位置Ａにおけるサンプル値を調節し、
前記位置Ｂにおけるサンプル値にオーバーラップ演算子を適用した後に、前記位置Ｂにおけるサンプル値を前記位置Ａにおけるサンプル値に加算することによって、前記位置Ａにおけるサンプル値を調節する、
ことによって実装する、方法。
【請求項９】
ディジタル・メディア・デコード・デバイスを用いてディジタル・メディアをデコードする方法であって、
前記ディジタル・メディア・デコード・デバイスによって、
エンコードされたビットストリームにおいて、選択されたタイル境界選択肢を示す情報を受け取るステップであって、前記選択されたタイル境界選択肢が、オーバーラップ演算子に対するハード・タイル境界処理とオーバーラップ演算子に対するソフト・タイル境界処理との内１つを示し、前記オーバーラップ演算子は、ブロック境界を跨ぐオーバーラップしたサンプル領域、又はブロック境界の間のサンプル領域を逆オーバーラップ処理の単位として規定する、ステップと、
前記選択されたタイル境界選択肢に少なくとも部分的に基づいて、前記逆オーバーラップ処理を実行するステップと、
を備えている、方法。
【請求項１０】
請求項９記載の方法であって、更に、
前記選択されたタイル境界選択肢が、オーバーラップ演算子に対する前記ソフト・タイル境界処理を示す場合、タイル境界を跨ぐ逆オーバーラップ演算によって前記逆オーバーラップ処理を実行するステップと、
前記選択されたタイル境界選択肢が、オーバーラップ演算子に対する前記ハード・タイル境界処理を示す場合、タイル境界を跨ぐ逆オーバーラップ演算を用いずに、前記逆オーバーラップ処理を実行するステップであって、前記逆オーバーラップ処理が、ＤＣ利得不整合を低減するように、前記それぞれのタイル境界の少なくとも一方側にあるエッジ・サンプルに対する逆オーバーラップ演算をなおも含む、ステップと、
を備えている、方法。
【請求項１１】
請求項９記載の方法において、前記選択されたタイル境界選択肢が、画像ヘッダ内において知らされる、方法。
【請求項１２】
請求項８記載の方法において、
前記選択されたタイル境界選択肢が、オーバーラップ演算子に対する前記ソフト・タイル境界処理を示す場合、現在のタイルに対する前記逆オーバーラップ処理が、少なくとも１つの空間的に隣接するタイルを少なくとも部分的にデコードすることを含み、
前記選択されたタイル境界選択肢が、オーバーラップ演算子に対する前記ハード・タイル境界処理を示す場合、前記現在のタイルに対する前記逆オーバーラップ処理が、空間的に隣接するタイルのデコードとは独立している、方法。
【請求項１３】
コンピューター実行可能命令を格納したコンピューター読み取り可能媒体であって、それによってプログラミングされたディジタル・メディア・デコード・デバイスに、請求項１から１２までのいずれか１項に記載の方法を実行させる、コンピューター読み取り可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
変換符号化(transform coding)は、多くのオーディオ、画像、およびビデオ圧縮システムにおいて用いられている圧縮技法である。未圧縮のディジタル画像およびビデオは、通例、二次元（２Ｄ）格子に配列された画像またはビデオの位置における画素またはカラーのサンプルとして表されるか、または取り込まれる。これは、従来より、画像またはビデオの空間ドメイン表現と呼ばれている。例えば、矩形状の画像の典型的なフォーマットは、８ビット・カラー・サンプルの３つの二次元アレイから成る。各サンプルは、格子の中の空間位置におけるカラー成分の値を表す数値であり、各カラー成分は、とりわけ、ＲＧＢまたはＹＵＶのような、カラー空間内にある軸に沿った振幅を表す。これらのアレイの１つにおける個々のサンプルを画素(pixel)と呼ぶことができる。（他の通常の使用では、画素という用語は、空間的に共存するｎ個のカラー成分サンプルのｎ−タプル(n-tuple)を指すのに用いられており、例えば、所与の空間位置についてのＲ、Ｇ、Ｂカラー成分値の３−タプル集合を指すために用いられるが、本明細書では、代わりに、この用語はスカラー値で表したサンプルを指すために用いられる）。種々の画像およびビデオ・システムが、サンプリングの異なるカラー、空間、および時間分解能を用いることもあり得る。同様に、ディジタル・オーディオは、通例、時間サンプル・オーディオ信号ストリームとして表される。例えば、典型的なオーディオ・フォーマットは、規則的に間隔を取った時点におけるオーディオ信号振幅を表すオーディオ信号の１６ビット振幅サンプルのストリームから成る。
【０００２】
未圧縮ディジタル・オーディオ、画像、およびビデオ信号は、大量の記憶および送信容量を消費する可能性がある。変換符号化は、他のエンコード技法と共に用いると、例えば、信号の空間ドメイン（または時間ドメイン）表現を周波数ドメイン（または同様の変換ドメイン）に変換することによって、このようなディジタル・オーディオ、画像、およびビデオを表すために必要とされるデータ量を削減することができ、信号を表すのに必要とされるデータ量の大幅な削減が可能になる。データ量の削減は、通例では、量子化として知られているプロセスの適用、または変換ドメイン表現の一定の周波数成分の選択的破棄によって（またはこれら２つの組み合わせ）、そしてこれに続く、適応ハフマン・エンコード処理または適応算術エンコード処理のようなエントロピー・エンコード技法の適用によって遂行される。量子化プロセスは、個々の周波数成分の知覚的感受性(perceptual sensitivity)の推定度合いに基づいて、または他の規準に基づいて選択的に適用することができる。一般に、出力の所与のビット・レートに対して、変換符号化をしかるべく適用すると、直接的に空間ドメインにおける画像またはビデオの、あるいは時間ドメインにおけるオーディオのカラー・サンプル忠実度または空間分解能を低減することと比較して、発生するディジタル信号の知覚的劣化は遥かに少ない。
【０００３】
更に具体的には、典型的なブロック変換系符号化技術では、ディジタル画像の未圧縮画素を固定サイズの二次元ブロック（Ｘ１，．．．Ｘｎ）に分割する。空間周波数分析を実行する線形変換が所与のブロックに適用され、このブロックの中にある空間ドメイン・サンプルを、１組の周波数（または変換）係数に変換する。これらの係数は、一般に、ブロック間隔における、対応する周波数帯域におけるディジタル信号の強度を表す。圧縮のためには、変換係数を量子化し（即ち、係数値の最下位ビットを欠落させることによって、または高い方の精度数からより低い方の精度に値をマッピングすることによって、精度を低下させる）、更に圧縮データ・ストリームにエントロピー符号化または可変長符号化することができる。デコード時には、これらの変換係数は、逆量子化され、更に空間ドメインに逆変換されて、本来のカラー／空間サンプル画像／ビデオ信号をほぼ再現する。
【０００４】
【数１】
0005306469.tif 000002
【０００５】
ブロック内にあるサンプルの相関を利用し、こうして圧縮能力を最大化できることは、変換設計における主要な要件である。多くのブロック変換系符号化の用途では、損失が多い圧縮および損失がない圧縮の双方をサポートするために、変換ドメインにおいて適用される量子化動作に応じて、変換が可逆的でなければならない。例えば、量子化を適用しない場合、エンコード処理に可逆変換を利用すると、対応するデコード処理の適用時に、入力データの正確な再現を可能にすることができる。しかしながら、これらの用途における可逆性の必要性のために、符号化技術を設計できる変換の選択が制約される。変換実施の複雑度が、別の重要な設計制約となる。つまり、変換設計は、順および逆変換の適用に、小さな整数との乗算、ならびに加算、減算、およびシフト演算（４、８、１６、３２等のような、２の累乗による乗算または除算を実施するため）のようなその他の単純な数学的演算のみを伴うように選択され、ダイナミック・レンジの拡大を極力抑えた高速整数の実現(fast integer implementation)が得られるようにすることが多い。
【０００６】
とりわけ、JPEG(ITU-T T.81|ISO/IEC 10918-1)およびMPEG-2(ITU-T H.262|ISO/IEC13818-2）のような多くの画像およびビデオ圧縮標準は、離散余弦変換（ＤＣＴ）に基づく変換を利用する。ＤＣＴは、好ましいエネルギ圧縮特性(property)を有することが知られているが、多くの実施態様において欠点も有する。ＤＣＴについては、N. Ahmed、T. Natarajan、およびK.R. Raoによる"Discrete Cosine Transform"（離散余弦変換）IEEE Transactions on Computers, C-23（１９７４年１月）,pp.90-93において記載されている。
【０００７】
静止画像（またはビデオ・シーケンスにおけるイントラ・コード化フレーム(intra coded frame)を圧縮するとき、ＪＰＥＧやＭＰＥＧ−２のような多くの一般的な標準では、画像を表すアレイを、８×８のサンプル・ブロックに区分し、このような画像ブロックの各々にブロック変換を適用する。これらの設計において、所与のブロックにおける変換係数は、そのブロック領域内にあるサンプル値の影響のみを受ける。画像およびビデオ符号化では、これらの独立して構築されたブロックにおいてサンプルを量子化すると、ブロック境界において不連続が生じる可能性があり、このため、ブロッキング・アーチファクトまたはブロッキング効果として知られている、目障りなアーチファクトを生成する可能性がある。オーディオ・データについても同様に、非オーバーラップ・ブロックを独立して変換符号化すると、量子化誤差のために、デコーダーにおけるオーディオ信号の再現時に、ブロック境界において信号に不連続が生じる。オーディオでは、周期的なカチカチ言う効果が聞こえる場合がある。
【０００８】
ブロッキング・アーチファクトを軽減するために用いられる技法は、デブロッキング・フィルタ(deblocking filter)を用いてブロック間エッジ境界を跨ぐ信号値を平滑化することを含む。これらの技法には欠点がない訳ではない。例えば、デブロッキング技法は、大量の計算実施リソースを必要とする可能性がある。
【０００９】
別の手法は、H. Malvar, "Signal Processing with Lapped Transforms"（重複変換による信号処理）,Artech House, Norwood MA, 1992に記載されているように、重複変換を用いることによって、ブロッキング効果を低減することである。一般に、重複変換は、現ブロックにおけるサンプル以外にも、近隣ブロックにおけるいくつかの隣接サンプルにまで及ぶ入力領域を有する変換である。同様に、再現側では、逆重複変換は、現ブロックのサンプルだけでなく、近隣ブロックにおいてデコードされるいくつかのサンプルに影響を及ぼす。つまり、逆変換は、量子化を用いてもブロック境界を跨いで連続性を保存するこ
とができ、その結果ブロッキング効果の低減がもたらされる。重複変換の別の利点は、ブロック相互相関(cross-block correlation)を利用することができ、圧縮能力の向上が得られることである。重複変換の実施態様によっては、重複するサンプルのブロックを順変換および逆変換において処理する場合もある。他の実施態様では、オーバーラップ処理を変換処理から分離する場合もあり、エンコード処理では、非重複ブロック(non-overlapping blocks)に対して行われる順変換の前に、ブロック境界を跨いでオーバーラップ処理が実行され、デコード処理では、非重複ブロックに逆変換が行われ、次いでブロック境界を跨いでオーバーラップ処理が実行される。
【００１０】
２Ｄデータの場合、一般に、重複２Ｄ変換は、現ブロックの左、上、右、下にあるブロックの選択エレメントと共に、現ブロックの関数であり、恐らくは、現ブロックの左上、右上、左下、および右下にあるブロックの関数でもある。近隣ブロックの中にあり、現ブロックのために重複変換を計算するために用いられるサンプルの数は、オーバーラップ量またはサポート量と呼ばれる。
【発明の概要】
【００１１】
要約すると、詳細な説明は、ディジタル・メディアの圧縮および伸張のための種々の技術に関する。例えば、エンコード処理および／またはデコード処理中のオーバーラップ処理動作におけるＤＣ利得不整合および／またはＤＣ漏れ現象に取り組む種々の技法を適用する。
【００１２】
開示する技術の一態様によれば、ディジタル・メディア・デコード・デバイスは、ディジタル・メディアをデコードするときに、逆オーバーラップ変換を実行する。ディジタル・メディア・デコード・デバイスは、ディジタル・メディア上で逆周波数変換を実行する。次いで、このデバイスは多数のオーバーラップ演算子を、逆周波数変換の結果に適用する。これら多数のオーバーラップ演算子の内第１のものは、内部オーバーラップ演算子であり、多数のオーバーラップ演算子の内第２のものは、エッジまたはコーナー・オーバーラップ演算子である。これら多数のオーバーラップ演算子の各々は、実質的に同等のＤＣ利得を特徴とする。これによって、演算子間におけるＤＣ利得不整合を低減する。
【００１３】
対応するエンコード処理において、ディジタル・メディア・エンコード・デバイスは、ディジタル・メディアをエンコードするときに、オーバーラップ変換を実行する。前処理において、このデバイスは多数のオーバーラップ演算子をディジタル・メディア・データ・サンプル、またはこのようなディジタル・メディア・データ・サンプルの以前のエンコード段からの結果に対して適用する。これら多数のオーバーラップ演算子の内第１のものは内部オーバーラップ演算子であり、多数のオーバーラップ演算子の内第２のものはエッジまたはコーナー・オーバーラップ演算子である。この場合も、多数のオーバーラップ演算子の各々は、実質的に同等のＤＣ利得を特徴とし、演算子間におけるＤＣ利得不整合を低減し、これによって圧縮性能を向上させる。ディジタル・メディア・エンコード・デバイスは、オーバーラップ前処理の結果に対して周波数変換を実行する。ＤＣ利得不整合の低減以外に、多数のオーバーラップ演算子は、多くの場合において、ＤＣ漏れの低減も示している。
【００１４】
開示する技術の他の態様によれば、ディジタル・メディア・デコード・デバイスは、エンコード・ビットストリームにおいて、選択されたタイル境界選択肢を示す情報を受け取る。選択されたタイル境界選択肢は、オーバーラップ演算子のためのハード・タイル境界処理、およびオーバーラップ演算子のためのソフト・タイル境界処理の内１つを示す。選択されたタイル境界選択肢に少なくとも部分的に基づいて、ディジタル・メディア・デコード・デバイスは、逆オーバーラップ処理を実行する。例えば、ソフト・タイル境界処理は、タイル境界を跨ぐオーバーラップ処理を特徴とし、ハード・タイル境界処理は、この
ような境界を跨ぐオーバーラップ処理がないことを特徴とする。実施態様によっては、逆オーバーラップ処理が、ＤＣ利得不整合および／またはＤＣ漏れを低減させるように設計されたオーバーラップ演算子を適用することを含むことができる場合もある。
【００１５】
対応するエンコード処理では、ディジタル・メディア・エンコード・デバイスが、オーバーラップ演算子のためのハード・タイル境界処理の使用と、オーバーラップ演算子のためのソフト・タイル境界処理の使用との間で選択を行う。ディジタル・メディア・エンコード・デバイスは、選択されたタイル境界選択肢にしたがって、オーバーラップ処理を実行する。また、このデバイスは、エンコード・ビットストリームにおいて、選択されたタイル境界選択肢を示す情報を通知する。実施態様によっては、これが、通例圧縮効率は低いがタイル間に依存性がない第１モード（ハード・タイル）と、通例圧縮効率は高いがタイル間に依存性がある第２モード（ソフト・タイル）との間での切換を可能にする場合もある。
【００１６】
以上の摘要は、端的な全体像に過ぎず、本明細書において紹介する革新のあらゆる特徴を記述することを意味するのではない。本発明の以上のならびにその他の目的、特徴および利点は、添付図面を参照しながら進められる以下の詳細な説明から一層明白になろう。
【図面の簡単な説明】
【００１７】
【図１】図１は、可逆オーバーラップ演算子を利用する重複変換を含むエンコーダーの流れ図である。
【図２】図２は、対応する逆重複変換を含むデコーダーの流れ図である。
【図３】図３は、実施態様例におけるブロック配列の図であり、この実施態様例における第１段オーバーラップ変換およびオーバーラップ変換の第２段における最大分解能チャネルに用いられる、４×４内部、４×１エッジ、および２×２コーナー・オーバーラップ演算子のレイアウトを図示する。図示されたオーバーラップ演算子は、本実施態様例における逆オーバーラップ変換の対応する段においても用いられる。
【図４】図４は、実施態様例におけるブロック配列の図であり、この実施態様例における４：２：２ダウンサンプル・クロマ・チャネルのための第２段オーバーラップ変換に用いるための、２×２内部、２×１エッジ、および１×１コーナー・オーバーラップ演算子のレイアウトを図示する。図示されたオーバーラップ演算子は、本実施態様例における逆オーバーラップ変換の対応する段においても用いられる。
【図５】図５は、実施態様例におけるブロック配列の図であり、この実施態様例における４：２：０ダウンサンプル・クロマ・チャネルのための第２段オーバーラップ変換に用いるための、２×２内部、２×１エッジ、および１×１コーナー・オーバーラップ演算子のレイアウトを図示する。図示されたオーバーラップ演算子は、本実施態様例における逆オーバーラップ変換の対応する段においても用いられる。
【図６Ａ】図６Ａは、オーバーラップ処理のためにハードまたはソフト・タイル境界を選択し通知する方法例を示すフローチャートである。
【図６Ｂ】図６Ｂは、逆オーバーラップ処理のために選択されたハードまたはソフト・タイル境界インディケーターを受け取る方法例を示すフローチャートである。
【図７Ａ】図７Ａは、ＤＣ利得不整合およびＤＣ漏れを低減するオーバーラップ演算子を用いてオーバーラップ変換を実行する方法例を示す流れ図である。
【図７Ｂ】図７Ｂは、ＤＣ利得不整合およびＤＣ漏れを低減するオーバーラップ演算子を用いて逆オーバーラップ変換を実行する方法例を示す流れ図である。
【図８】図８は、本明細書において記載する技術を実現するのに適したコンピューティング環境のブロック図である。
【発明を実施するための形態】
【００１８】
以下の説明は、ディジタル・メディア圧縮または伸張システム、あるいはエンコーダーまたはデコーダーに関し、ＤＣ利得不整合および／またはＤＣ漏れ現象に取り組む順／逆オーバーラップ変換設計を利用する。例示の目的上、これらの技術を組み込んだ圧縮／伸張システムの一実施形態は、画像またはビデオ圧縮／伸張システムとする。あるいは、本明細書において記載する技術は、他の２Ｄデータまたは他のメディア・データ用の圧縮または伸張システム、あるいはエンコーダーまたはデコーダーに組み込むこともできる。本明細書において記載する技術は、ディジタル・メディア圧縮システムが圧縮されたディジタル・メディア・データを特定の符号化フォーマットでエンコードすることを必要としない。
【００１９】
以下に紹介する実施態様例では、画像符号化および復号におけるＤＣ利得不整合および／またはＤＣ漏れの問題に取り組む解決策を例示する。例えば、これらの解決策をＪＰＥＧ  ＸＲ画像符号化標準（ITU-T T.832|ISO/IEC 29199-2）に組み込むことができる。加えて、第１および第２実施態様例の種々の章では、ＪＰＥＧ  ＸＲ標準において参照および／または定義されている演算子を用いる。
【００２０】
また、実施態様は、２００８年６月３０日に出願した米国特許出願第１２／１６５，４７４号に記載されているような、画像符号化および復号におけるオーバーラップ処理用の４×４演算子におけるＤＣ漏れの問題に取り組む方法についても言及する。
１．エンコーダー／デコーダー
代表的なデータ・エンコーダーおよびデコーダーについて、一般化および簡略化して、以下のように図示および説明する。
【００２１】
図１および図２は、代表的な２Ｄデータ・エンコーダー１００および対応するデコーダー２００において用いられるプロセスを一般化した図である。エンコーダー１００およびデコーダー２００は、ＤＣ利得不整合および／またはＤＣ漏れに取り組む技法を用いた、重複変換のための処理を含む。これらの図は、２Ｄデータ・エンコーダーおよびデコーダーを組み込んだ圧縮システムおよび伸張システムにおける、本明細書において記載する技術の使用および応用を一般化および簡略化した図を紹介する。これらのＤＣ利得不整合およびＤＣ漏れ低減技法に基づく代わりのエンコーダーおよびデコーダーでは、この代表的エンコーダーおよびデコーダーにおいて示されているプロセスよりも多いまたは少ないプロセスを、２Ｄデータ圧縮のために用いることができる。例えば、エンコーダー／デコーダーによっては、カラー変換や、種々のカラー・フォーマット処理、スケーラブル・コード化(scalable coding)等のいずれでも含むことができるものもある。説明する圧縮および伸張システム（エンコーダーおよびデコーダー）は、量子化の適用に応じて、２Ｄデータの損失のない圧縮および／または損失のある圧縮を行うことができる。この量子化は、完全に損失のない表現から非常に粗い（高い圧縮比）表現までの全域において、広範囲の選択可能な忠実度にわたって、エンコードされた表現における忠実度の損失度合いを制御する１つ又は複数の量子化制御パラメータに基づくことができる。
【００２２】
２Ｄデータ・エンコーダー１００は、圧縮ビットストリーム１２０を生成する。圧縮ビ
ットストリーム１２０は、エンコーダー１００への入力として提示される２Ｄデータ１１０を一層コンパクトにした（典型的な入力に対する）表現である。例えば、２Ｄデータ入力は、画像、ビデオ・シーケンスのフレーム、または一般に画像を指す２次元を有する他のデータとすることができる。エリア調整段(area arranging stage)１３０では、エンコーダー１００は、後の処理のために、入力データをブロックに編成する。例えば、ブロックは、４×４のサンプル・ブロック、２×４のサンプル・ブロック、または２×２のサンプル・ブロックである。あるいは、ブロックは他のサイズを有する。
【００２３】
順方向オーバーラップ処理の第１段１４０では、エンコーダーはオーバーラップ演算子を入力データのブロックに適用する。順方向オーバーラップ演算子（陰影付きブロック１４２として示す）は、実施形態の一例では、４つのオーバーラップ変換演算子である。エンコーダー１００は、次いで、それぞれのブロックに対してブロック変換を実行する。
【００２４】
エンコーダー１００は、後続のエンコード処理のために、ＤＣ係数をそれぞれのブロックのＡＣ係数から分離する。エンコーダー１００は、オーバーラップ処理の追加段階を実行し、ＤＣ係数に対して順方向周波数変換を実行する。このオーバーラップ処理の追加段階を飛ばすこともでき、第１段と同じオーバーラップ演算子でも異なるオーバーラップ演算子でも用いることができる。例えば、実施態様によっては、エンコーダー１００が、オーバーラップ処理の追加段階を実行するか否か選択することができ、そしてデコーダーがどの逆オーバーラップ処理を実行すべきか判断する際に用いるために、エンコードしたデータにおいてこの決定を通知することができる。エンコーダーは、ＤＣ係数の追加のオーバーラップ変換の結果を量子化し（１７０）、エンコーダーはＡＣ係数を量子化する。次いで、エンコーダーはこれらの係数をエントロピー・コード化し（１８０）、ビット・ストリーム１２０において通知するために、エントロピー・コード化した情報を、デコーダー２００がデコード処理の際に用いるコード化決定を示す副情報と共にパケット化する。
【００２５】
図２参照すると、端的な全体像として、デコーダー２００は逆プロセスを実行する。デコーダー側では、変換係数ビットが、圧縮ビットストリーム２０５の中にあるそれぞれのパケットから抽出され（２１０）、これらから、ＤＣおよびＡＣ係数自体がデコードされ（２２０）、そして逆量子化される（２３０）。ＤＣ係数２４０は、逆変換を適用することによって再生され、ＤＣ係数の平面は、ＤＣブロック・エッジを跨いで適用される適した演算子を用いる変換後フィルタリングにおいて「逆重複」 (inverse overlapped)される。続いて、ビットストリームからデコードしたＤＣ係数およびＡＣ係数２４２に逆変換２５０を適用することによって、サンプルのブロックを再生する。最後に、得られた画像面におけるブロック・エッジを逆オーバーラップ・フィルタ処理する。逆オーバーラップ処理の第２段は、オーバーラップ処理の第１段と同じオーバーラップ演算子または異なるオーバーラップ演算子を用いることができる。これによって、再現された２Ｄデータ出力２９０を生成する。
２．記載した技術の一般的な例
この章は、オーバーラップ変換コード化および対応するデコード処理の性能を向上させる技法の一般的な例を含む。
【００２６】
図６Ａは、オーバーラップ処理のためにハードまたはソフト・タイル境界を選択し通知する方法例６００を示す。図１を参照して説明したエンコーダーのようなエンコーダーが、この技法を実行する。あるいは、他のエンコーダーがこの技法を実行する。
【００２７】
６１０において、エンコーダーは、オーバーラップ変換コード化の間にオーバーラップ処理を実行するときに用いるために、ハード・タイル境界およびソフト・タイル境界から１つを選択する。例えば、この選択は、エンコードしようとする画像の中にあるタイルの数、デコード処理の所望の計算複雑度、所望の出力品質、ユーザの設定、個々のタイルの
別々のデコード処理（タイル間依存性はない）が望まれる適用要点(application feature)であるか否か、または他の要因に基づくことができる。一般に、画像内においてハード・タイル境界を用いると、タイル間依存性が少なくなる。これは、タイルのエッジがオーバーラップ処理の画像境界として扱われるからである。これによって、潜在的に可能な圧縮効率を犠牲にして、個々のタイルのデコード処理が容易になる（画面全体とは対照的に）（何故なら、オーバーラップ処理によって回避することができたブロッキング・アーチファクトを軽減するためにはより多くのビットが必要となることもあるからであり、そしてオーバーラップ動作は、通常、コード化利得として知られる変換圧縮特性も改善するからである）。一方、ソフト・タイル境界を用いると、タイル境界を跨いだオーバーラップ処理が可能となるが、デコード処理についてはタイル間には依存性が生ずる。タイル境界決定を行った後、エンコーダーはそれに応じてオーバーラップ変換処理を実行する。
【００２８】
６２０において、エンコーダーは、エンコードしたビットストリームにおいて、選択したタイル境界決定を通知する。例えば、選択したタイル境界決定は、別個のシンタックス・エレメント(syntax element)（例えば、所与の画像のオーバーラップ処理のために、ハードまたはソフトどちらのタイル境界が選択されたのかを示す、画像ヘッダにおける１つのビットとして）として通知することができる。また、選択したタイル境界は他のシンタックス・エレメントと組み合わせて、または合同で通知することもでき、画像毎以外の規準で通知することができる。
【００２９】
図６Ｂは、選択したハードまたはソフト・タイル境界インディケーターを受け取る方法例６３０を示す。図２を参照して説明したデコーダーのようなデコーダーがこの技法を実行する。あるいは、他のデコーダーがこの技法を実行する。
【００３０】
６４０において、デコーダーは、エンコードされたビットストリームにおいて、逆オーバーラップ処理に対して選択されたタイル境界選択肢を示す情報を受け取る。選択されたタイル境界選択肢は、逆オーバーラップ処理のためのハード・タイル境界またはソフト・タイル境界の内１つを示す。例えば、選択されたタイル境界選択肢は、別個のシンタックス・エレメントとして、または合同してコード化されたシンタックス・エレメントとして受け取ることができ、画像の画像ヘッダにおいて受け取ること、または他の何らかのシンタックス・レベルで受け取ることができる。
【００３１】
６５０において、デコーダーは、選択されたタイル境界選択肢に少なくとも部分的に基づいて、逆変換デコード処理を実行する。例えば、デコーダーは、ソフト・タイルまたはハード・タイルのどちらが用いられるのかに応じて、タイル境界を跨いだ逆オーバーラップ処理を選択的に実行するか、またはこの逆オーバーラップ処理を実行しない。
【００３２】
また、タイル境界決定インディケーターを、選択されたオーバーラップ・モードと組み合わせて、オーバーラップ・モード選択肢がオーバーラップ段およびハード／ソフト・タイリング決定の組み合わせを示すようにすることもできる。例えば、オーバーラップ・モード選択肢の１つの値は、オーバーラップを適用しないことを示すことができ（例えば、第１および第２オーバーラップ段は、２つの段階を有する階層オーバーラップ変換方式では適用されない）、オーバーラップ・モード選択肢の他の値は、２つのオーバーラップ段の内第１段のみにソフト・タイリングを適用することを示すことができ、オーバーラップ・モード選択肢の他の値は、２つのオーバーラップ段にソフト・タイリングを適用することを示すことができ、オーバーラップ・モード選択肢の他の値は、２つのオーバーラップ段の内第１段のみにハード・タイリングを適用することを示すことができ、オーバーラップ・モード選択肢の更に他の値は、２つのオーバーラップ段にハード・タイリングを適用することを示すことができる。このようなオーバーラップ・モード選択肢は、オーバーラップ変換コード化を実行するときに選択し、用いることができ、エンコードしたビットス
トリームにおいて通知することができる。このエンコードされたビットストリームは、対応するデコーダーによって受信され、選択されたオーバーラップ・モード選択肢がデコードされ、逆オーバーラップ変換デコード処理を実行するときに用いられる。
【００３３】
図７Ａは、エンコード処理の間にオーバーラップ変換において、ＤＣ利得不整合およびＤＣ漏れを低減するオーバーラップ演算子を用いる方法例７００を示す。図１を参照して説明したエンコーダーのようなエンコーダーが、この技法を実行する。あるいは、他のエンコーダーがこの技法を実行する。
【００３４】
７１０において、エンコーダーはディジタル・メディアをエンコードする。このエンコード処理は、複数のオーバーラップ演算子を用い、ＤＣ利得不整合およびＤＣ漏れを低減するオーバーラップ変換処理を含む。具体的には、第１オーバーラップ演算子（内部領域用）は第１ＤＣ利得を有し、第２オーバーラップ演算子（エッジまたはコーナー領域用）は、第１ＤＣ利得と実質的に同等である第２ＤＣ利得を有する。実質的に同等のＤＣ利得を有する内部オーバーラップ演算子、エッジ・オーバーラップ演算子、およびコーナー・オーバーラップ演算子の例を、異なる分解能のルーマ・サンプルおよびクロマ・サンプルのブロックについて、以下に示す。
【００３５】
７２０において、エンコーダーはエンコード・ビットストリームを生成する。例えば、このビットストリームはＪＰＥＧ  ＸＲフォーマットまたは他のフォーマットに準拠する。
【００３６】
図７Ｂは、デコード処理の間逆オーバーラップ変換において、ＤＣ利得不整合およびＤＣ漏れを低減するオーバーラップ演算子を用いる方法例７３０を示す。図２を参照して説明したデコーダーのようなデコーダーがこの技法を実行する。あるいは、他のデコーダーがこの技法を実行する。
【００３７】
７４０において、デコーダーはエンコード・ビットストリームを受信する。例えば、このビットストリームはＪＰＥＧ  ＸＲフォーマットまたは他のフォーマットに準拠する。
【００３８】
７５０において、デコーダーは、複数のオーバーラップ演算子を用い、ＤＣ利得不整合およびＤＣ漏れを低減する逆オーバーラップ変換処理を実行する。具体的には、第１オーバーラップ演算子（内部領域用）は第１ＤＣ利得を有し、第２オーバーラップ演算子（エッジまたはコーナー領域用）は、第１ＤＣ利得と実質的に同等である第２ＤＣ利得を有する。異なる分解能のルーマ・サンプルおよびクロマ・サンプルのブロックに対して、実質的に同等のＤＣ利得を有する内部オーバーラップ演算子、エッジ・オーバーラップ演算子、およびコーナー・オーバーラップ演算子の例を以下で示す。
【００３９】
「実質的に同等のＤＣ利得」という用語は、オーバーラップ演算子が正確に同じＤＣ利得を有さなければならないことを意味するのではない。そうではなく、ＤＣ利得の差は、動作上の制約や計画した用途を考慮して、これらのオーバーラップ演算子間におけるＤＣ利得の差によって生ずる望ましくないアーチファクトを低減する（または根絶する）程度に十分に小さくなければならない。ＤＣ利得の類似性の目標レベルは、他の要素に加えて、目標実施複雑度対所望の品質の関係に応じて、変化する可能性がある。例として、以下に提示するオーバーラップ演算子の組は、それぞれの組の中において実質的に同等のＤＣ利得を有する。
３．実施態様例
実施態様例には、重複変換技術が含まれる。
３．１理論的基礎
先に注記したように、重複変換(lapped transform)（オーバーラップ変換(overlappe
d transform)とも呼ぶ）は、概念的にブロック変換と同様である。従来のブロック変換は次の２つのステップを有する。
【００４０】
１．入力データをブロック領域（ＩＤシリーズにおけるサンプルのストリング、または画像のような２Ｄデータ集合におけるサンプルの矩形ブロック状アレイのストリングから成る領域）に区分するステップと、
２．変換プロセスを各ブロックに適用して、その周波数内容を分析／分解するステップ。
【００４１】
圧縮の用途では、ブロック変換の出力を量子化し、エントロピー・コード化を結果に適用する。これらのステップは、ときとして、予測プロセスおよび確率推定プロセスのような他の演算と組み合わせられることもある。デコード処理の間、デコーダーはこれらの処理段毎に、逆演算または近似逆演算を適用する。
【００４２】
ブロック変換に伴う周知の現象に、ブロッキング・アーチファクトの生成がある。これは、再現された近似において発生する可能性がある知覚的不連続であり、デコード・プロセスの結果生じる。ブロッキング・アーチファクトを軽減する周知の方法の１つは、重複変換を用いることである。先に説明したように、重複変換では、変換プロセスへの入力を形成するデータ・ブロックが、それぞれ互いと重複される。重複変換の使用において発生する問題の１つは、信号のエッジをどのように処理するかということである。１組の入力データ・サンプルのエッジ（画像のエッジのような）では、通常であればエンコーダーの重複変換入力の一部をなすデータの一部が存在しない。システム設計者は、これらのエッジの場合をどのように処理するか判断しなければならない。
【００４３】
画像コード化技術では、鍵となる概念は、大きな画像の多数のタイルへの分解である。タイルとは、ピクチャーの特定の（通常では矩形）空間画像領域に正確にまたは近似的に対応する１組のデータのことである。画像をタイルに区分し各タイルを別々にエンコードすることによって、画像の一部にアクセスし、画像全体をデコードすることなくそれをデコードすることが可能である。画像の特定の領域にアクセスすることができると、画像が大きいときに特に有用になり得る。しかしながら、大きな画像を小さなタイル領域に区分すると、ピクチャーの中に作られるエッジ、即ち、画像の中においてタイルを他のタイルと分離するエッジが多くなる可能性がある。これらのエッジの各々において、ブロッキング・アーチファクトと直接類似する境界現象が発生する可能性がある。
【００４４】
ＪＰＥＧ  ＸＲ標準の以前のバージョンでは、オーバーラップ動作をイネーブルすると、ブロック変換の個々のブロック境界を跨いで適用されるだけでなく、画像タイルの境界を跨っても適用される。この手法はある状況下では利点を有するが、この設計を選択した結果、タイル状に整列された画像領域にアクセスするときには、オーバーラップ演算を画像のタイル境界に跨って適用しない場合よりも、タイルに基づく画像エンコード処理および再現(retrieval)は計算の複雑度が高くなる。この計算コストの上昇は、隣接するタイルを跨るデータの依存性によるものであり、変換領域のオーバーラップ処理によって誘発される。その結果、特定のタイル領域をデコードするためには、空間的に隣接するタイルについて格納されているデータにもアクセスし、少なくとも部分的にこのデータをデコードすることが必要になる。
【００４５】
対照的に、本明細書において紹介する実施態様例では、以下のように、境界を２つのタイプの内１つに分類する。
【００４６】
−「ハード」タイル境界。タイルのエッジを画像のエッジと同様に扱って、タイル境界を跨いで適用される変換ブロックの重複をなくすようにする。または、
−「ソフト」タイル境界。変換ブロックの重複をタイル境界を跨いで適用する。
【００４７】
ＪＰＥＧ１およびＪＰＥＧ２００のような以前の設計では、全てのタイル境界をハード・タイル境界として処理していたものもある。対照的に、ＪＰＥＧ  ＸＲ標準の以前のバージョンでは、タイル境界はソフト・タイル境界として処理される。各タイプの境界処理は、実際に状況によっては有用な場合もある。本明細書において紹介する実施態様例では、エンコーダーは、それ自体の裁量でハードまたはソフト・タイル境界のいずれかを用いることを選択することができ、その選択を、画像データの圧縮表現と共に通知することができる。更に、本明細書において紹介する実施態様では、ハード・タイル境界を用いる場合であっても、あるタイル境界の次にある所与のタイル内にある少なくとも一部のエッジ・サンプルは、エッジ演算子によってオーバーラップ処理されて、そのタイル内部における内部オーバーラップ演算子の適用によって問題を生ずる可能性があるＤＣ利得不整合を低減する。
【００４８】
また、実施態様例は、リフティング(lifting)に基づく変換動作も用いる。「ＤＣ漏れ」として知られている現象は、ときとしてこのような変換における問題となる可能性がある。変換がＤＣ漏れを呈する場合、順方向変換の出力が、ある一定値の入力信号（理論上、その入力信号に対して、ＤＣ係数が非ゼロ周波数係数であるべき）に対して大量の非ＤＣ変換係数を含む可能性がある。ＤＣ漏れは、ときとして、圧縮性能の損失、および知覚できる位のアーチファクト（平滑エリアにおける波または歪みのような）を、デコード出力に生じさせる可能性がある。
【００４９】
大きな画像において、圧縮性能の何らかの損失、および画像の外側の境界のみで発生する知覚上のアーチファクトを有する場合、圧縮コード化設計においては容認可能であることもある。しかしながら、ハード・タイル境界を用いたタイル区分では、このような現象を生ずるエリアがより多く作成されるので、設計がハード・タイル境界のサポートを含むようなときには、エッジ領域の処理を注意深く設計することが一層重要となる。
【００５０】
画像コーダー(image coder)におけるタイル・サポートに伴って生ずる問題は、システム・レベルにおける大きな「メタ画像」のサポート・レベルを高めることに伴っても生ずる可能性がある。メタ画像は、各々が別個にエンコードされた多数の小さな画像からの大きなデータ集合として組み立てられる。この場合も、このような使用を想定する場面では、画像エッジを注意深く扱うことが一層重要となる。
【００５１】
つまり、各画像タイルを独立して処理できるようにハード・タイル境界コード化選択肢を有することが望ましい。１つの解決策は、タイル境界を画像境界全体と同じように扱うことである。しかしながら、場合によって、画像のエッジ付近において用いられる動作において、望ましくない程高いＤＣ漏れ現象が変換設計に生ずることもある。加えて、そして更に重要なことは、エッジ処理動作の出力と画像の内部領域に対して実行する処理との間にＤＣ利得差があることである。
【００５２】
いくつかの要点を認識すると、画像境界付近におけるオーバーラップ変換におけるＤＣ利得不整合およびＤＣ漏れに取り組み易くなる。第１に、以前の実施態様では、オーバーラップ演算子に、内部演算子とコーナーおよびエッジ演算子との間におけるＤＣ利得不整合が生じ、したがって圧縮効率の低下、および大量の視覚的アーチファクトが起こる。第２に、以前の実施態様におけるエッジ、コーナー、およびクロマ内部演算子にも、ＤＣ漏れが生じており、これも、圧縮効率の低下、および大量の視覚的アーチファクトの原因となる。加えて、４：２：０および４：２：２クロマの場合における画像の内部エリアの処理に対するＤＣ漏れ特性も、以前の実施態様では問題である。
３．２実施態様例の全体像
実施態様例では、階層重複変換を用いる。この変換は４つの段階を有する。
【００５３】
１．第１段オーバーラップ処理
２．第１段コア変換
３．第２段オーバーラップ処理
４．第２段コア変換
オーバーラップ段は、コア変換演算子に関して斜め格子(skewed grid)上で動作する。即ち、コア変換は、画像における左上画素と整列されている格子内に配列されている４×４ブロックに対して動作する。オーバーラップ段は、同様のサイズの格子に対して動作するが、左上角の画素から２画素水平にそして２画素垂直にずれている。また、対応する逆オーバーラップ変換も４つの段階を有する。即ち、第１段逆コア変換、第１段逆オーバーラップ処理、第２段逆コア変換、および第２段逆オーバーラップ処理である。
【００５４】
生憎、以前に実施されていたオーバーラップ演算子は、ＤＣ利得不整合およびＤＣ漏れに関して欠点がある。具体的には、エッジ・オーバーラップ演算子（オーバーラップ段の格子ずれによって誘発された２画素幅のエッジにおいて動作する演算子）に問題がある。ハード・タイリングは、画像の中央領域においてこれらのエッジ演算子の大量使用を伴うので（ハード・タイリングを許容するための最も自然な解決策として）、これらの演算子に付随する問題によって誘発されるアーチファクトは遥かに一層明白となる。ハード・タイリングを行わなくても、以前のオーバーラップ演算子は、容認できない量の目立つアーチファクトを画像に生成する。
【００５５】
本明細書において紹介する実施態様例では、オーバーラップ変換が、６つの異なる演算子によって実施される。これらは、３つの演算子から成る２つのグループ、即ち、最大分解能グループおよびクロマ・グループに分けられる。３つの最大分解能オーバーラップ演算子は、次の通りである。
【００５６】
１．オーバーラップ４×４演算子−内部オーバーラップ処理動作、
２．オーバーラップ４×１演算子−エッジ・オーバーラップ処理動作、
３．コーナー・オーバーラップ２×２演算子−コーナー・オーバーラップ処理動作
図３は、これらの演算子のレイアウト図３００を示す。図３は、２ブロック×２ブロックのサンプル領域を示す。ドットはサンプルを表し、中央の水平および垂直な破線は、変換コード化およびデコード処理のためのブロック境界を示す。角が丸いボックスは、オーバーラップ演算子の各々に対するサポート領域を表す。中央の４×４サンプル領域の回りにある、角が丸いボックス３１０は、内部オーバーラップ４×４演算子を表し、４つのコーナー２×２サンプル領域の回りにある、角が丸いボックス（例えば、３２０）は、コーナー・オーバーラップ２×２演算子を表し、他の８つの４×１（または１×４）サンプル領域の回りにある、角が丸いボックス（例えば、３３０）は、オーバーラップ４×１演算子を表す。これら３つの最大分解能演算子(full resolution operators)は、第１段オーバーラップ変換におけるチャネル全て、および第２段オーバーラップ変換における最大分解能チャネル（即ち、４：４：４サンプリング・モードにおけるルーマおよびクロマ）に用いられる。
【００５７】
３つのクロマ演算子は次の通りである。
【００５８】
１．オーバーラップ２×２演算子−内部オーバーラップ処理動作、
２．オーバーラップ２×１演算子−エッジ・オーバーラップ処理動作、
３．コーナー・オーバーラップ１×１演算子−コーナー・オーバーラップ処理動作。
【００５９】
これらのクロマ演算子は、ダウンサンプリングした（４：２：２または４：２：０リサ
ンプリング）クロマ・チャネルに対する第２段オーバーラップ変換に用いられる。
【００６０】
図４は、これらのクロマ演算子を４：２：２リサンプリングしたクロマ・チャネルに適用した場合のレイアウト図４００を示す。図４は、４：２：２ダウンサンプリングしたクロマ・チャネルに対する第２段オーバーラップ変換に用いるためのオーバーラップ演算子を示す。２×２のブロック配列では、オーバーラップ・クロマ演算子のレイアウトは４：２：２サンプルに適用される。ドットはサンプルを表し、中央の水平および垂直の破線は、変換コード化およびデコード処理のためのブロック境界を示す。つまり、角を丸くしたボックス（および円）は、種々のオーバーラップ演算子のドメイン／サポートを表す。中央の２×２サンプル領域の周囲にある丸いボックス４１０は、内部オーバーラップ２×２演算子を表し、４つのコーナー１×１サンプル領域の周囲にある丸いボックス（例えば、４２０）は、コーナー・オーバーラップ１×１演算子を表し、更に他の８つの２×１（または１×２）サンプル領域の周囲にある丸いボックス（例えば、４３０）は、オーバーラップ２×１演算子を表す。
【００６１】
図５は、これらのクロマ演算子を４：２：０リサンプリングしたクロマ・チャネルに適用した場合のレイアウトの図５００を示す。図５は、４：２：０ダウンサンプリングしたクロマ・チャネルに対する第２段オーバーラップ変換に用いるためのオーバーラップ演算子を示す。２×２のブロック配列では、オーバーラップ・クロマ演算子のレイアウトは、４：２：０サンプルに適用される。ドットはサンプルを表し、破線は、変換コード化およびデコード処理のためのブロック境界を示す。つまり、角を丸くしたボックス（および円）は、種々のオーバーラップ演算子のドメイン／サポートを表す。中央の２×２サンプル領域５１０の周囲にある丸いボックス５１０は、内部オーバーラップ２×２演算子を表し、４つの１×１サンプル領域の周囲にある丸いボックス（例えば、５２０）は、コーナー・オーバーラップ１×１演算子を表し、他の４つの２×１（または１×２）サンプル領域の周囲にある丸いボックス（例えば、５３０）は、オーバーラップ２×１演算子を表す。
【００６２】
これらの演算子の設計では、２つの問題が発生する。即ち、ＤＣ利得不整合およびＤＣ漏れである。理想的には、２つの演算子集合（最大分解能およびクロマ）の各々において、３つの演算子全てに対するＤＣ利得係数(gain factor)は同等であるべきである。ＤＣ利得不整合の問題は、これら３つのＤＣ利得が一致しないときに発生する。
【００６３】
ＤＣ漏れは、変換への完全に平坦な入力からＤＣおよびＡＣ双方の係数が生ずる現象である。ＤＣ漏れは、生じたＡＣ係数の大きさによって測定される。
【００６４】
これら２つの問題の結果、完全に平坦な画像をそのＤＣ係数だけを用いてコード化しても（全ての高周波係数を無視する）、完全に平坦な再現は得られない。再現された画素値における相違は、２つの項、ａ）スケーリングＤＣ利得不整合、およびｂ）ＤＣ漏れの和として見ることができる。
【００６５】
差〜スケーリング利得不整合(ScalingGainMismatch)＋ＤＣ漏れ(DCLeakage)
オーバーラップ４×４演算子におけるＤＣ漏れの問題に対する１つの解決策が、米国特許出願第１２／１６５，４７４号において紹介されている。
【００６６】
本明細書において紹介する実施態様例では、ＤＣ利得不整合およびＤＣ漏れを低減または根絶さえする多数の解決策が、残りの５つの演算子について紹介される（オーバーラップ４×４最大分解能演算子以外の５つの演算子）。これらの残りに５つの演算子では、ＤＣ利得不整合の大きさは、通例では、ＤＣ漏れの大きさよりも遥かに大きいが、ＤＣ漏れが原因で発生する知覚的アーチファクトの方が一般に好ましくない(objectionable)と思われる。つまり、解決する必要がある主要な問題は、オーバーラップ演算子間におけるＤ
Ｃ利得不整合である。オーバーラップ演算子におけるＤＣ漏れは、二次的な問題である。
【００６７】
次の章では、ソフト／ハード・タイル境界判断を可能にする様々な解決策についてのシンタックス(syntax)およびセマンティクス(semantics)について説明する。その後の章では、以前のオーバーラップ演算子によって誘発されるアーチファクトを根絶するように設計された新たなオーバーラップ演算子について説明する。ハード・タイリングの想定場面に加えて、これらの新しいオーバーラップ演算子は、１つの大きな画像を小さなチャンク(chunk)に分解し、これらのチャンクを独立して圧縮する「スティッチング」(stitching)の想定場面においても有用である。後の時点で、画像の本来の関係にしたがってこれらを隣接して表示することによって、画像を互いに「縫い合わせる」(stitch)。
３．３  ハード／ソフト・タイリング判断についてのシンタックスの全体像
実施形態例は、ハードおよびソフト双方のタイル境界をサポートする。ソフト・タイル境界の方が、タイル状に分割した画像において多数のタイルを処理し、ブロッキング・アーチファクトを軽減するためには一層効率的である。ハード・タイル境界は、画像におけるタイルの数が限定されているときに、一層効率的な処理を可能にする。ハード／ソフト境界判断についてのシンタックスおよびセマンティクスに関して、２つの選択肢のカテゴリについて説明する。
【００６８】
変化発生シンタックス(Breaking Change Syntax)。第１の選択肢カテゴリは、以前の実施態様のシンタックスを変化させることである。第１の選択肢は、ハードまたはソフト・タイリングのどちらが用いられているかを知らせる新たなシンタックス・エレメントの追加である。例えば、新たなシンタックス・エレメントは画像ヘッダにおけるフラグである。
【００６９】
第２の選択肢は、既にオーバーラップ・モード情報を示すオーバーラップ・レベル・シンタックス・フラグの値(OVERLAP_MODE)を追加することである。以前の実施態様では、OVERLAP_MODEは、以下の３つの可能な値および対応する解釈を有する２ビット・シンタックス・エレメントである。
【００７０】
１．OVERLAP_MODE=0は、オーバーラップ処理のいずれの段階も適用しないことを意味する。
【００７１】
２．OVERLAP_MODE=1は、２つのオーバーラップ処理段の内第１段を適用することを示す。
【００７２】
３．OVERLAP_MODE=2は、２つのオーバーラップ処理段の内双方を適用することを示す。
【００７３】
第２選択肢は、OVERLAP_MODEシンタックス・エレメントを３ビット・シンタックス・エレメントに変化させる。以上のオーバーラップ・モードは、ソフト・タイリング・モードに対応するように変化させられ（OVERLAP_MODE=0はデフォルトではハード・タイル境界であり、オーバーラップ処理が行われないので、少なくともOVERLAP_MODE=1またはOVERLAP_MODE=2について）、以下の追加の値および解釈が加えられる。
【００７４】
４．OVERLAP_MODE=3は、オーバーラップ処理段の内第１段だけを適用し、オーバーラップ処理をハード・タイリング・フォーマットで実行することを意味する。
【００７５】
５．OVERLAP_MODE=4は、オーバーラップ処理の双方の段階を適用し、オーバーラップ処理をハード・タイリング・フォーマットで実行することを意味する。
【００７６】
３ビットOVERLAP_MODEシンタックス・エレメントをサポートしないデコーダーは、この
シンタックス・エレメントを用いて画像をデコードするのを成功することができない。つまり、新たなビットの追加によって、旧式のデコーダーは画像をデコードできなくなる。
【００７７】
下位互換シンタックス(Backwards Compatible Syntax)。旧式のデコーダーが新たなビットストリーム（デコード処理の結果多量のアーチファクトが生じても）を処理することを可能にするために、サブバージョン数値シンタックス・エレメント(sub-version number syntax element)（ＪＰＥＧ  ＸＲ仕様では、RESERVED_Cと称す）を用いることができる。例えば、米国特許出願第１２／１６５，４７４号において紹介された、変化を含むビットストリームは、１のサブバージョン値を有し、それ以外ではサブバージョン値は０となる。このサブバージョン数値の最下位から２番目のビットを、ハードまたはソフト・タイリングを知らせるために用いることができる。この方式では、ソフト・タイルの使用は、最下位から２番目のビットを０に設定することによって知らされ、ハード・タイルの使用は最下位から２番目のビットを１に設定することによって知らされる。サブバージョン値を無視する旧式のデコーダーであっても、ハードおよびソフト・タイル画像の双方をデコードすることに成功するが、ハード・タイル画像では多量のアーチファクトが生ずる。何故なら、ソフト・タイル境界オーバーラップ処理がデフォルトで用いられるからである。更にデコーダーの開発が進めば、サブバージョン数値の値に応答し、ハード・タイリングが用いられるときにもアーチファクトを発生せずに画像を正しくデコードすることができるようになると考えられる。
【００７８】
ハード・タイリングの設定は、以下のようにコード化される。
【００７９】
HardTilingTrueFlag = (RESERVED_C>>1)&1
３．４  以前のオーバーラップ演算子の全体像
デコーダーにおいて、以前のオーバーラップ４×４演算子は、１／（Ｓ２）の倍率(scaling)を有するように設計されている。ここで、ｓ＝０．８２７２である。言い換えると、オーバーラップ４×４演算子は、約１．４６１４倍にＤＣ値を拡大する。（これは、米国特許出願第１２／１６５，４７４号に記載されているオーバーラップ４×４演算子である。）以前のオーバーラップ４×１演算子は、ＤＣ値の１／ｓの倍率を有するように設計されている。言い換えると、オーバーラップ４×１演算子は、約１．２０８９倍にＤＣ値を拡大する。以前のコーナー演算子、コーナー・オーバーラップ２×２はヌル（動作が行われない）であるので、対応するＤＣ値は、１．０の暗黙的な倍率を有する。これらの以前の演算子に関しては、様々な観察が行われるべきである。最初に、以前の演算子によるスケーリングでは、逆オーバーラップの規準(basis)が平滑であり、アーチファクトが大幅に少ないことに加えて、より大きなコード化利得が得られることが保証される。第２に、演算子によって実行される実際のスケーリングは、整数化の実現(integerized implementation)のために多少異なる。第３に、対応するエンコーダー・オーバーラップ演算子は、デコーダーとは逆のスケーリングを実行する。第４に、このようなエンコーダーにおける縮小(scaling down)は、損失のないコード化について何らかの含意を有する。損失のないコード化については、完全に平坦な画像でさえも、ＡＣ係数を生成する必要がある（つまり、必然的に圧縮効率をいくらか損失する）。第５に、整数化の実現において用いられる丸めは、分析および実験結果の一部に小さな影響を及ぼす。具体的には、ScalingGainMismatchおよびDCLeakageRatioのような多くの量が、近似的な線形にしかならない。
【００８０】
以下のオーバーラップ演算子の説明では、ＤＣ漏れおよびＤＣ利得不整合をこれらの演算子について計算する。以下でＤＣ漏れを計算するために用いられる方法では、マトリクス係数に基づく理論的分析とほぼ同じ結果が得られるが、この方法の方が簡単で高速である。最後に、ＤＣ漏れおよびＤＣ利得不整合の範囲を例示するために、全ての画素値が１００００００（１０６）に等しい入力ブロックを考慮することによって、ＤＣスケーリング利得比(DC scaling gain ratio)およびＤＣ漏れを、各オーバーラップ演算子について
導き出す。この入力をＸ１と呼ぶ。
【００８１】
以前の最大分解能用オーバーラップ４×４演算子。以前の４×４演算子の一例では、入力Ｘ１が与えられると、出力画素は１４６１５４０または１４６１５４７の値を有する。つまり、オーバーラップ４×４演算子のScalingGainRatioは約１．４６１５４３となる。出力値における差（即ち、｜１４６１５４０−１４６１５４７｜＝７）は、ＤＣ漏れによるものである。以前のオーバーラップ４×４演算子のDCLeakageRatioは７／１０６である。
【００８２】
８ビット・サンプル画像では、最も大きな範囲は±１２８／（ScalingGainRatio）である。つまり、８ビット画像上における４×４演算子の最大ＤＣ漏れは、次のようになる。
【００８３】
（７／１０６）×１２８／ScalingGainRatio  ＝  0.000896/ScalingGainRatio  =  0.000614
１６ビット画像上における最大ＤＣ漏れは、２５６×０．０００６１４〜０．１５７となる。
【００８４】
以前の最大分解能用オーバーラップ４×１演算子。以前のオーバーラップ４×１演算子の一例では、入力Ｘ１が与えられると、出力画素は１２０６７２６または１２０５０７８の値を有する。オーバーラップ４×１のScalingGainRatioは、約１．２０５８となる。逆オーバーラップ４×１演算子への入力が全く同じである場合、１対の入力値に対するこの演算子のスケーリング段のマトリクス表現は、次のように表すことができる。
【００８５】
【数２】
0005306469.tif 000003
【００８６】
ここで、ｘ＝３／３２であり、ｙ＝３／１６である。入力の１つにおけるスケーリングは、１＋ｘｙ＋ｘ（２＋ｘｙ）＝１９７７１／１６３８４〜１．２０６７２６となる。DCLeakageRatioは、１９７７１／１６３８４−６１７／５１２＝２７／１６３８４＝０．００１６４８となる。出力値における差（１２０６７２６−１２０５０７８＝１６４８）は、ＤＣ漏れによるものである。DCLeakageRatioは、（１６４８／１０６）となる。このＤＣ漏れは小さいが、それでも重要である。８ビット・サンプル画像では、最大ＤＣ漏れは１２７／ScalingGainRatio×（１６４８／１０６）〜０．１７８８／ScalingGainRatio〜０．１２２４７となる。１６ビット・サンプル画像では、最大ＤＣ漏れは、±４６／ScalingGainRatio〜３１．３５となる可能性がある。
【００８７】
最大分解能用の以前のコーナー・オーバーラップ２×２演算子。以前の実施態様では、コーナー用のオーバーラップ演算子はない。ScalingGainRaioは１．０であり、DCLeakageRatiaは０である。
【００８８】
以前の最大分解能演算子に対するＤＣ利得不整合の影響。以前の実施態様では、大きさに関して（知覚的重要性ではない場合もで）、主な問題はＤＣ利得不整合であり、最悪の場合における影響は、理論的に以下のように定量化することができる。８ビット・サンプル画像について、エッジでは、最悪の場合のScalingGainMismatchは、（１．４６１５−１．２０５）×１２８/ScalingGainRatio 〜 22.48となる。８ビット・サンプル画像について、コーナーでは、最悪の場合のScalingGainMismathは、約（１．４６１５−１．０）×128／ScalingGainRatio 〜５８／ScalingGainRatio 〜 40.46となる。１６ビット・サンプル画像について、エッジおよびコーナーにおける最悪の場合のScalingGainMismatchは、それぞれ、２２．４×２５６および４０．４６×２５６＝１０，３９３．６となる。
最悪の場合における差の合計は、ScalingGainMismathおよびDCLeakageの和として近似することができる。
【００８９】
以前のオーバーラップ２×２クロマ演算子。以前のオーバーラップ２×２演算子の例では、逆オーバーラップ２×２演算子への入力が全て同じ値である場合、１対の入力値におけるこの演算子のスケーリング段のマトリクス表現は、次のように表すことができる。
【００９０】
【数３】
0005306469.tif 000004
【００９１】
ここで、ｘ＝１／４、そしてｙ＝１／２である。これらの入力の１つに対する倍率は、１＋ｘｙ＋ｘ（２＋ｘｙ）＝５３／３２＝１．６５６２３５となり、他方の入力に対する倍率は、ｙ＋１＋ｘｙ＝１３／８＝１．６２５となる。DCLeakageRatioは、５３／３２−１３／８＝１／３２＝０．０３１２５となる。
【００９２】
以前のオーバーラップ２×１クロマ演算子。以前のオーバーラップ２×１演算子の例では、逆オーバーラップ２×１演算子への入力が全て等しい値である場合、１対の入力値に対するこの演算子のスケーリング段のマトリクス表現は、次のように表すことができる。
【００９３】
【数４】
0005306469.tif 000005
【００９４】
ここで、ｘ＝１／８、そしてｙ＝１／４である。入力の一方における倍率は、１＋ｘｙ＋ｘ（２＋ｘｙ）＝３２９／２５６＝１．２８５１５６２５であり、他方の入力における倍率は、ｙ＋１＋ｘｙ＝４１／３２となる。DCLeakageRatioは、３２９／２５６−４１／３２＝１／２５６＝０．００３９０６となる。
【００９５】
以前のコーナー・オーバーラップ１×１クロマ演算子。以前の実施態様では、コーナー用の１×１オーバーラップ演算子はない。ScalingGainRatioは１．０であり、DCLeakageRatioは０．０である。
３．５  オーバーラップ４×１演算子に対する解決策
オーバーラップ４×１演算子について、３つの解決策を紹介する。これら３つの解決策の内１つは、多数の変量を有する。以前のオーバーラップ４×１演算子のその画素に対する適用をオーバーラップ４×１（ａ、ｂ、ｃ、ｄ）と記す。
【００９６】
オーバーラップ４×１演算子に対する解決策１。以前のオーバーラップ４×１演算子のＤＣ利得は、大まかに、オーバーラップ４×４のＤＣ利得の二乗根であるので、第１の解決策は以前のオーバーラップ４×１演算子を２回適用することである。オーバーラップ４×１解決策（ａ、ｂ、ｃ、ｄ）を次のように指定する。
【００９７】
１．オーバーラップ４×１（ａ、ｂ、ｃ、ｄ）
２．オーバーラップ４×１（ｄ、ｃ、ｂ、ａ）
２回の演算子の適用間で順序を逆にすることによって、第１段によって混入されるＤＣ漏れは、第２段によって相殺される。順序付けを繰り返すと、漏れの蓄積が誘発される。生憎、この解決策では、大量のＤＣ利得不整合が生ずることに変わりない。
【００９８】
このオーバーラップ４×１の解決策１の演算子が入力Ｘ１を取り込むと、出力サンプルは、１４５４０６１または１４５３５４８または１４５４８５２または１４５４３４０と
いう値を有する。ScalingGainRatioは、約１．４５４２となる。DCLeakageRatioは、（１４５４８５２−１４５３５４８）／１０６＝１３０４／１０６となる。８ビット・サンプル画像について、８ビット画像に対する最悪の場合のScalingGainMismatchは、（１．４６１５−１４５４２）×１２８／ScalingGainRatio  ＝  ０．９３４４／ScalingGainRatio〜０．６４となる。最悪の場合のDCLeakageは、１２７／ScalingGainRatio×１３０４／１０６−０．１５６１／ScalingRatioとなる。１６ビット・サンプル画像について、最悪の場合のScalingGainMismatchは０．９３４４×２５６／ScalingGainRatio〜２３９．２０６４／ScalingGainRatio〜１６３となる。最悪の場合のＤＣ漏れは、２５６×０．１６５６１／ScalingGainRatio〜４２．３９／ScalingGainRatio〜２８．７６となる。複雑度に関して、この解決策の複雑度は、以前のオーバーラップ４×１演算子の複雑度のほぼ２倍である。
【００９９】
オーバーラップ４×１演算子に対する解決策２。解決策２は、その主旨が解決策１と同様である。即ち、１つの演算子を同じサンプルに２回適用することを伴う。この解決策では、しかしながら、追加のリフティング・ステップ(lifting step)を加えることによって、以前のオーバーラップ４×１演算子のスケーリングを変更する。以前と同様、オーバーラップ４×１の解決策２（ａ、ｂ、ｃ、ｄ）は、次のように指定される。
【０１００】
１．オーバーラップ４×１変更（ａ、ｂ、ｃ、ｄ）、
２．オーバーラップ４×１変更（ｄ、ｃ、ｂ、ａ）
これらの変更では、スケーリング段において６つの余分なリフティング・ステップを用い、各リフティング・ステップは１回の加算および１回のシフトを有する。
【０１０１】
この解決策２の背後にある考えは、ＤＣ漏れおよびＤＣスケーリング利得不整合の双方を最小にするように、ｘおよびｙを変化させることである。（本明細書において用いる場合、「最小にする」は、容認可能な動作レベルまで低減することを意味する。）ＤＣ漏れを最小にする条件は、次の通りである。
【０１０２】
１＋ｘｙ＋ｘ（２＋ｘｙ）＝ｙ＋１＋ｘｙ
ｙについて解くと、
【０１０３】
【数５】
0005306469.tif 000006
【０１０４】
が得られる。この場合、オーバーラップ４×１変更演算子の１段のScalingGainRatioを次のように計算することができる。
【０１０５】
【数６】
0005306469.tif 000007
【０１０６】
オーバーラップ４×４演算子のＤＣ利得の二乗根をｋで示すことにする。したがって、ScalingGainMismatchを最小にするｘの値は、次のように示される。
【０１０７】
【数７】
0005306469.tif 000008
【０１０８】
または
【０１０９】
【数８】
0005306469.tif 000009
【０１１０】
一旦この式を用いて、ScalingGainMismatchを最小にするｘの値を決定したなら、
【０１１１】
【数９】
0005306469.tif 000010
【０１１２】
という先の式を用いて（ＤＣ漏れを最小にする）ｙの値を決定することができる。この場合、オーバーラップ４×４演算子のScalingGainRatioは、≒１．４６１５４３となる。したがって、ｋの値は、ｋ≒sqrt（１．４６１５４３）≒１．２０８９４３となり、ＤＣスケーリング利得は、ＤＣスケーリング利得不整合を最小にするために、この値を近似しなければならない。したがって、ｘの値は０．０９４５８９５５４に近似しなければならず、ｙの値は、先の式にしたがって選択すべきである。
【０１１３】
実際には、２つの部分から成るリフティング・ステップを用いて実現する(implement)ことができる値によってｘを近似することができ、ｙの値を選択することができ、次いで２つの部分から成るリフティング・ステップを用いて実現することができる値によってｙを近似することができる。経験的結果は、ＤＣ漏れを最小にする目的が、ＤＣスケーリング利得不整合を最小にする目的よりも重要であることを示す。したがって、ｘの所与の値に対するｙの近似は、最初のｘの近似よりも遥かに精度が高くなければならない。
【０１１４】
オーバーラップ４×１演算子に対する解決策２ａ。ｘ＝３／３２およびｙ＝７７５／４０９６＝３／１６＋１／５１２−１／４０９６となる。この解決策は、最小のＤＣ漏れを有する。この解決策のＤＣ利得は、次の通りである。
【０１１５】
【数１０】
0005306469.tif 000011
【０１１６】
したがって、この解決策は少量のScalingGainMismatchを有する。以前のオーバーラップ４×１演算子と比較して、ｘを実現するための追加のリフティング・ステップはない。ｙの実現(implementation)には、以前のオーバーラップ４×１演算子と比較して、２つの追加のリフティング・ステップが用いられる。
【０１１７】
オーバーラップ４×１演算子に対する解決策２ｂ。ｘ＝９７／１０２４＝３／３２＋１／１０２４およびｙ＝４９／２５６＝３／１６＋１／２５６を選択する。この解決策は、最小のＤＣ漏れを有する。この解決策のＤＣ利得は、次の通りである。
【０１１８】
【数１１】
0005306469.tif 000012
【０１１９】
したがって、この解決策は少量のScalingGainMismatchを有するが、オーバーラップ４×１演算子に対する解決策２ａよりも小さい。尚、以前のオーバーラップ４×１演算子と比較すると、ｘを実現するためには１つの追加のリフティング・ステップがあることを注記しておく。以前のオーバーラップ４×１演算子と比較すると、ｙを実現する際に、２つ
の余分なリフティング・ステップがある。スケーリング段ではｘを２回適用し、ｙを１回適用する必要があるので、オーバーラップ４×１演算子に対する新たな解決策では６回の余分なリフティング・ステップがある。  
オーバーラップ４×１演算子に対する解決策２ｃ。ｘ＝７７５／８１９２，３／３２−１／１０２４−８１９２、およびｙ＝３９１／２０４８＝３／３２＋１／５１２＋１／２０４８を選択する。この解決策のＤＣ利得は、次の通りである。
【０１２０】
【数１２】
0005306469.tif 000013
【０１２１】
したがって、この解決策は、最少量のScalingGainMismatchを有する。ｘを実現する際に２つの余分なリフティング・ステップがある。ｙを実現する際に、２つの余分なリフティング・ステップがある。スケーリング段ではｘを２回適用しｙを１回適用する必要があるので、この新たな解決策では６つの余分なリフティング・ステップがある。
【０１２２】
オーバーラップ４×１演算子への変更は、ＤＣ利得不整合およびＤＣ漏れの双方を更に低減するという利点がある。解決策１の主旨を保持することによって、その利点の全ても同様に保持される。この演算子が入力Ｘ１を取り込む場合、出力画素は全て１４６１６３１という値を有する。ScalingGainRatioは、ほぼ１．４６１６となる。DCLeakageRatioは、ほぼ０になる（２−１６よりも遥かに小さい）。
【０１２３】
８ビット・サンプル画像について、最悪の場合のScalingGainMismatchは(1.461543-1.461631)×128/ScalingGainRatio=0.000088/ScalingGainRatioとなる。最悪の場合のＤＣ漏れは０となる。１６ビット・サンプル画像について、最悪の場合のScalingGainMismatchは、０．００００８８／ScalingGainRatioとなる。最悪の場合のＤＣ漏れは０である。
【０１２４】
オーバーラップ４×１演算子に対する解決策２ｃの複雑度に関して、オーバーラップ４×１変更における6つの追加のリフティング・ステップのために、その複雑度がオーバーラップ４×１の1．５倍となる。つまり、オーバーラップ４×１解決策２は全体的に、以前のオーバーラップ４×１演算子よりも、大まかに３倍複雑になる。
【０１２５】
オーバーラップ４×１演算子に対する解決策３。この解決策では、以前のオーバーラップ４×１演算子のスケーリング段を、以前のオーバーラップ４×４演算子のスケーリング段と置換して、新たな演算子オーバーラップ４×１解決策３(Overlap4x1Solution3)を形成する。この解決策は、単一段の解決策であり、したがってどの演算子も繰り返す必要がない。これらの変更によって、オーバーラップ４×１解決策３のＤＣ利得およびＤＣ漏れは、オーバーラップ４×４演算子のそれとほぼ同一になる。しかしながら、スケーリング段以外での演算の丸め効果のために、なおも何らかの小さな差がある。
【０１２６】
このオーバーラップ４×１解決策３演算子が入力Ｘ１を取り込む場合、出力画素は、１４６１５５２、１４６１５４７、１４６１５４０、および１４６１５３５という値を有する。ScalingGainRatioは、ほぼ１．４５６１５４３５となる。DCLeakageRatioは、(１４６１５５２−１４６１５３５)／１０６となる。
【０１２７】
８ビット・サンプル画像では、最悪の場合のScalingGainMismatchは、(１．４６１５４３−１．４５６１５４３５)×１２８／ScalingGainRatio  〜０．００００６４／ScalingGainRatioとなる。最悪の場合のDCLeakageは、（１４６１５５２−１４６１５３５）／１０６×１２８＝０．００２１７６／ScalingGainRatioとなる。
【０１２８】
１６ビット・サンプル画像では、最悪の場合のScalingGainMismatchは、０．００００６４×２５６＝０．０１６３８４／ScalingGainRatioとなる。最悪の場合のＤＣ漏れは、０．００２１７６×２５６＝０．５５７０５６／ScalingGainRatio＜１／２となる。
【０１２９】
例えば、以前の一実施態様では、サンプルのエッジ４×１ブロックに対するオーバーラップ・ポスト・フィルタリングは、以下の表に示す演算を用いていた。
【０１３０】
【表１】
0005306469.tif 000014
【０１３１】
オーバーラップ４×１エッジ演算子に対する解決策３に続いて、スケーリングに対する変化が、以下の表に示すように行われる。
【０１３２】
【表２】
0005306469.tif 000015
【０１３３】
ここで、InvScale()およびInvRotate()は、次のように定義される。
【０１３４】
【表３】
0005306469.tif 000016
【０１３５】
【表４】
0005306469.tif 000017
【０１３６】
オーバーラップ４×１演算子の古いスケーリング段を新しいスケーリング段と置換することによって、２つの余分なスケーリング・ステップだけ複雑度が増加する。このため、エッジに対する以前のオーバーラップ４×１演算子の複雑度よりも１．２倍だけ複雑度が増加する。
【０１３７】
・  コーナー・オーバーラップ２×２演算子に対する解決策
コーナー・オーバーラップ２×２演算子に対して、２つの可能な解決策を紹介する。
コーナー・オーバーラップ２×２演算子に対する解決策１。解決策１は、コーナーのために新たなオーバーラップ６×１演算子を開発し、コーナー画素を隣接するエッジ画素と併合することである。この解決策が望ましくない１つの理由は、ＤＣ利得不整合およびＤＣ漏れを根絶するために入り組んだ設計を必要とするからである。加えて、これらの演算子の方位が水平である場合、画像の幅は３マイクロブロック未満となり、この解決策は相容れない(break down)。同様に、これらの演算子の方位が垂直である場合、高さが３マイクロブロック未満の４：２：０画像、および高さが２マイクロブロック未満の４：２：２画像は、この解決策とではうまく行かない。
【０１３８】
コーナー・オーバーラップ２×２演算子に対する解決策２。解決策２は、エッジに適用された同じオーバーラップ４×１演算子を、ラスタ・スキャン順にコーナー画素に適用することである。双方の演算子は４画素に作用するので、この解決策には、コーナー演算子がエッジ演算子と全く同じＤＣ利得不整合およびＤＣ漏れ特性を有するという利点がある。
【０１３９】
この解決策を、コーナー・オーバーラップ２×２（ａ、ｂ、ｃ、ｄ）＝オーバーラップ４×１解決策適用(AppliedSolution)（左上、右上、左下、右下）と記す。
【０１４０】
具体的な実施態様では、コーナー・オーバーラップ２×２演算子は、コーナー毎に同じ画素順序付けで適用される。これには、全てのコーナーにわたって均一の実施を可能にするという利点がある。この実施態様の欠点は、回転が何らかの小さな誤差を混入させる虞れがあることである。オーバーラップ４×１解決策３では、誤差は丸めにおいて生ずるだけである。あるいは、コーナー毎に循環順序付け(rotated ordering)を用いることもできる。
【０１４１】
３．７  クロマ用オーバーラップ２×２演算子に対する解決策
従来の実施態様におけるオーバーラップ２×２演算子に伴う主要な問題は、ＤＣ漏れである。この章では、ＤＣ漏れを低減するようなこの演算子のスケーリング段の再設計を紹介する。以下の章では、オーバーラップ２×１およびコーナー・オーバーラップ２×１演算子を再設計して、この新たなオーバーラップ２×２演算子の利得を一致させる(gain-match)。
【０１４２】
デコーダーにおけるこの新たなオーバーラップ２×２演算子のＤＣ漏れは、この演算子への入力全てを同じ値に設定することによって、推定することができる。逆オーバーラップ２×２演算子への入力が全て同じ値である場合、この演算子の１対の入力値に対する効果を次のように表すことができる。
【０１４３】
【数１３】
0005306469.tif 000018
【０１４４】
ＤＣ漏れがない場合の条件は次のようになる。
【０１４５】
１＋ｘｙ＋ｙ＝ｘ（２＋ｘｙ）＋１＋ｘｙ
ここで、ｙについて解くと、次のようになる。
【０１４６】
ｙ＝ｘ（２＋ｘｙ）、次いで、
ｙ＝２×ｘ／（１−ｘ２）
ＤＣ漏れの量は、次のように定量化することができる。
【０１４７】
ｙ−ｘ（２＋ｘｙ）
以前のオーバーラップ２×２演算子は、ｘ＝１／４およびｙ＝１／２の値を設定し、したがって、出力は、（１＋ｘｙ＋ｙ）＝１３／８、および（ｘ（２＋ｘｙ）＋１＋ｘｙ）＝５３／３２となり、この差が、１／３２のＤＣ漏れが生ずる原因となる。これらのｘおよびｙの値が非常に単純な２つの部分から成るリフティング・ステップを用いる実施態様に適するので、クロマ用の以前のオーバーラップ２×２演算子の複雑度は低い。
【０１４８】
一般的な解決策では、ＤＣ漏れを軽減するためにｘおよびｙ双方を変化させることができるが、これらの解決策は、クロマ用の以前のオーバーラップ２×２演算子よりも高い複雑性を有するのが通例である。したがって、複雑度の増大を制限しつつＤＣ漏れを低減する解決策が開発されている。
【０１４９】
可能な解決策の１つでは、ｘ＝１／４の値を保持し、ＤＣ漏れを低減するようにｙの値を調節する。尚、ｙを用いるリフティングが行われ、したがって、この解決策は、ｙの既存の値を保持しつつｘを変化させる解決策と比較して、複雑度が低くなることを注記しておく。
【０１５０】
クロマ用オーバーラップ２×２演算子に対する解決策１。ＤＣ漏れを根絶するｙの値は、ｙ＝２×（１／４）（１−１／１６）＝８／１５である。この解決策におけるＤＣ漏れは０である。しかしながら、２つの部分から成るリフティング・ステップを用いてｙ＝８／１５を実現することはできない。したがって、この解決策は、除算演算を必要とするので、複雑度が高くなる。
【０１５１】
クロマ用オーバーラップ２×２演算子に対する解決策２ａ。ｙ＝１７／３２に値を設定
し、この解決策は、２つの部分から成るリフティング・ステップを用いて、１／２＋１／３２として実現することができる。この値では、ＤＣ漏れは１／５１２となる。
【０１５２】
クロマ用オーバーラップ２×２演算子に対する解決策２ｂ。ｙ＝２７３／５１２に値を設定する。この解決策は、２つの部分から成るリフティング・ステップを用いて、１／２＋１／３２＋１／５１２として実現することができる（乗算器を用いることなく）。この値では、ＤＣ漏れは１／８１９２となる。
【０１５３】
クロマ用オーバーラップ２×２演算子に対する解決策２ｃ。ｙ＝４３６９／８１９２に値を設定する。この解決策は、２つの部分から成るリフティング・ステップを用いて、１／２＋１／３２＋１／５１２＋１／８１９２として実現することができる（乗算器を用いることなく）。この値では、ＤＣ漏れは１／１３１０７２、即ち、１／（２１７）となる。
【０１５４】
このように、ＤＣ漏れは１／３２（０．０３１２５）から１／（２１７）に低減されている。つまり、ＤＣ漏れは１６ビット精度以下に低減されることになる。この場合のＤＣスケーリング利得比は、１＋ｘｙ＋ｙ＝５４６１３／３２７６８〜１．６６６６５６４９４となる。
【０１５５】
例えば、以前の実施態様の１つでは、クロマ・サンプルの内部２×２ブロック用のオーバーラップ・ポスト・フィルタリングでは、以下の表に示す演算が用いられていた。
【０１５６】
【表５】
0005306469.tif 000019
【０１５７】
クロマ用のオーバーラップ２×２演算子に対する解決策２ｃに従って、以下の表に示すように、係数を１／３２、１／５１２、および１／８１９２とした２つの部分から成るリフティング動作を追加する。５、９、および１３ビットのシフト（＞＞）が、それぞれ、３２、５１２、および８１９２による除算に対応するとする。
【０１５８】
【表６】
0005306469.tif 000020
【０１５９】
３．８  オーバーラップ２×１演算子に対する解決策
オーバーラップ４×１演算子に対する解決策と同様に、オーバーラップ２×１演算子について３つの解決策を紹介する。ここで、解決策の１つは多数の変量を有する。
【０１６０】
オーバーラップ２×１演算子に対する解決策１。以前のオーバーラップ２×１演算子のＤＣ利得は、大まかに以前のオーバーラップ２×２演算子のＤＣ利得の二乗根であるので、第１の解決策は、以前のオーバーラップ２×１演算子を２回適用することである。オーバーラップ２×１解決策（ａ、ｂ）を次のように指定する。
【０１６１】
３．オーバーラップ２×１（ａ、ｂ）
４．オーバーラップ２×１（ｂ、ａ）
この演算子の２回の適用の間で順序を逆転させることによって、第１段によって生じるＤＣ漏れは、第２段によって相殺される。この順序付けを繰り返すと、漏れの蓄積を誘発する。生憎、この解決策ではかなりのＤＣ利得不整合がなおも生ずる。複雑度について、この解決策は、以前のオーバーラップ２×１演算子の約２倍の複雑度を有する。
【０１６２】
オーバーラップ２×１演算子に対する解決策２。解決策２は、オーバーラップ２×１演算子に対する解決策１と主旨が同様である。即ち、１つの演算子を同じサンプルに２回適用することを伴う。しかしながら、この解決策では、追加のリフティング・ステップを加えることによって、以前のオーバーラップ２×１演算子のスケーリングを変更する。以前と同様に、オーバーラップ２×１解決策２（ａ、ｂ）を次のように指定する。
【０１６３】
３．オーバーラップ２×１変更（ａ、ｂ）
４．オーバーラップ２×１変更（ｂ、ａ）
オーバーラップ２×１演算子に対するこの解決策２の背後にある考えは、ＤＣ漏れおよびＤＣスケーリング利得不整合の双方を最小にするようにｘおよびｙを変化させることである。ＤＣ漏れを最小にする条件は、次の通りである。
【０１６４】
１＋ｘｙ＋ｘ（２＋ｘｙ）＝ｙ＋１＋ｘｙ
ｙについて解くと、
【０１６５】
【数１４】
0005306469.tif 000021
【０１６６】
が得られる。この場合、オーバーラップ２×１変更演算子の１段のScalingGainRatioは、次のように計算することができる。
【０１６７】
【数１５】
0005306469.tif 000022
【０１６８】
オーバーラップ２×２演算子の利得の二乗根をｋで示すことにする。したがって、ＤＣスケーリング利得不整合を最小にするｘの値は、次のように示される。
【０１６９】
【数１６】
0005306469.tif 000023
【０１７０】
または、
【０１７１】
【数１７】
0005306469.tif 000024
【０１７２】
一旦この式を用いてScalingGainMismatchを最小にするｘの値を決定したなら、先の式
【０１７３】
【数１８】
0005306469.tif 000025
【０１７４】
を用いて、（ＤＣ漏れを最小にする）ｙの値を決定することができる。この場合、オーバーラップ４×４演算子のScalingGainRatioは、≒１．６６６６５６４９４となる。したがって、ｋの値は、ｋ≒sqrt（１．６６６６５６４９４）≒１．２９０９９０５０９となり、ＤＣスケーリング利得は、ＤＣScalingGainMismatchを最小にするように、この値を近似しなければならない。したがって、ｘの値は、０．１２７０１５１５３に近似しなければならず、ｙの値は、先の式にしたがって選択するとよい。
【０１７５】
実際には、２つの部分から成るリフティング・ステップを用いて実現することができる値でｘを近似することができ、ｙの値を選択することができ、次いで２つの部分から成るリフティング・ステップを用いて実現することができる値でｙを近似することができる。この演算子について、経験的結果は、ＤＣ漏れを最小にするという目的は、ＤＣScalingGainMismatchを最小にするという目的よりも重要である。したがって、ｘの所与の値に対するｙの近似は、ｘの初期近似よりも格段に高精度にすべきである。
【０１７６】
オーバーラップ２×１演算子に対する解決策２ａ。ｘ＝１／８およびｙ＝６５／２５６＝１／４＋１／２５６を選択する。この解決策では、ＤＣ漏れが最小となる。この解決策のＤＣスケーリング利得は次の通りである。
【０１７７】
【数１９】
0005306469.tif 000026
【０１７８】
したがって、この解決策にはなおも少量のＤＣScalingGainMismatchがある。以前のオーバーラップ２×１演算子と比較して、ｘを実現するための追加のリフティング・ステップはない。ｙの実現には、以前のオーバーラップ２×１演算子と比較して、１つ追加のリフティング・ステップを用いる。
【０１７９】
オーバーラップ２×１演算子に対する解決策２ｂ。ｘ＝６５／５１２＝１／８＋１／５１２およびｙ＝３３／１２８＝１／４＋１／１２８を選択する。この解決策では、ＤＣ漏れが最小となる。この解決策のＤＣスケーリング利得は次の通りである。
【０１８０】
【数２０】
0005306469.tif 000027
【０１８１】
したがって、この解決策にはなおも少量のＤＣScalingGainMismatchがあるが、オーバーラップ２×１演算子に対する解決策２ａよりは少ない。以前のオーバーラップ２×１演算子と比較して、ｘを実現するために追加のリフティング・ステップが１つある。ｙを実現するには、以前のオーバーラップ２×１演算子と比較して、１つの追加のリフティング・ステップが必要となる。スケーリング段ではｘを２回適用し、ｙを１回適用することが必要となるので、オーバーラップ２×１演算子に対する新たな解決策２ｂでは、３つの余分なリフティング・ステップがある。
【０１８２】
オーバーラップ２×１演算子に対する解決策２ｃ。ｘ＝２０８１／１６３８４およびｙ＝３３／１２８を選択する。この解決策のＤＣスケーリング利得は、
【０１８３】
【数２１】
0005306469.tif 000028
【０１８４】
となる。したがって、この解決策には少量のＤＣScalingGainMismatchがある。ｘを実現する際に、２つの余分なリフティング・ステップがある。ｙを実現する際に、１つの余分なリフティング・ステップがある。スケーリング段ではｘを２回適用し、ｙを１回適用することが必要となるので、オーバーラップ２×１演算子に対する新たな解決策２ｂでは、５つの余分なリフティング・ステップがある。複雑度に関して、オーバーラップ２×１変更における５つの追加のリフティング・ステップのために、その複雑度が以前のオーバーラップ２×１演算子よりも１．５倍高くなる。つまり、オーバーラップ２×１解決策２の全体的な解決策では、以前のオーバーラップ２×１演算子よりも複雑度が約３倍となる。
【０１８５】
オーバーラップ２×１演算子に対する解決策３。この解決策では、以前のオーバーラップ２×１演算子のスケーリング段を、以前のオーバーラップ２×２演算子のスケーリング段と置換して、新たな演算子、オーバーラップ２×１解決策３を形成する。この解決策は、単一ステップの解決策であり、したがっていずれの演算子も繰り返す必要がない。これらの変更によって、オーバーラップ２×１解決策３のＤＣ利得およびＤＣ漏れがオーバーラップ２×２演算子のそれとほぼ同一になることを保証する。しかしながら、スケーリング段の外側における演算の丸め効果のために、なおも何らかの小さな差がある。
【０１８６】
例えば、従来の実施態様の１つでは、クロマ・サンプルのエッジ２×１ブロック用のオ
ーバーラップ・ポスト・フィルタリングでは、以下の表に示す演算が用いられていた。
【０１８７】
【表７】
0005306469.tif 000029
【０１８８】
クロマ用のオーバーラップ２×１演算子に対する解決策３に従って、以下の表に示すように、係数を１／３２、１／５１２、および１／８１９２とした２つの部分から成るリフティング動作を追加する。５、９、および１３ビットのシフト（＞＞）が、それぞれ、３２、５１２、および８１９２による除算に対応するとする。
【０１８９】
【表８】
0005306469.tif 000030
【０１９０】
オーバーラップ２×１演算子の古いスケーリング段を新たなスケーリング段と置換することによって、３つの余分なスケーリング・ステップだけ複雑度が高くなる。これによって、エッジ用の以前のオーバーラップ２×１演算子よりも１．２倍複雑度が高くなる。
３．９  コーナー・オーバーラップ１×１演算子に対する解決策
コーナー・オーバーラップ１×１演算子は、１つのサンプルのみに対して動作するので、特異の設計課題がある。つまり、ＤＣ漏れは問題とならないが、ＤＣ利得不整合が大きな問題となる。以下に、可能な様々な解決策について説明する。
【０１９１】
厳密に言うと、コーナー・オーバーラップ１×１演算子は、他のオーバーラップ演算子と同じ意味の演算子ではない。「１×１」演算子は、１つのサンプルの他にサポートの領域を有していない。一方、以下の１×１演算子の解決策例では、その多くが１つのサンプルと、１×１エリアの外側にある少なくとも１つのサンプルから決定される予測子(predictor)との間における予測を伴う。簡略化のために、これらのコーナー演算子をコーナー・オーバーラップ１×１演算子と呼ぶことにする。
【０１９２】
ＤＣスケーリングは、以下に紹介する１×１演算子に対する解決策の例の多くが、他のオーバーラップ演算子とは異なる別の方法である。これまでの４×４、４×１、２×２、および２×１演算子では、オーバーラップ動作から直接スケーリングが得られた。以下で説明するコーナー・オーバーラップ１×１演算子のいくつかの例に対するサンプル予測動作では、スケーリングは同じようには行われない。これは、１つの集合における演算子全てに対して同じＤＣ利得を有するという目標から遠離る潜在的な可能性があるが、実際には、以下で説明するように、このような１×１コーナー演算子に対して、殆どの時間で同じスケーリングが得られる。
【０１９３】
コーナー・オーバーラップ１×１演算子に対する解決策１。コーナー・オーバーラップ２×２演算子に対する解決策１と同様、１つの解決策は新たなオーバーラップ３×１演算子を設計することである。この解決策には同様の欠点がある。この解決策には、最小画像サイズの要件（演算子の方向に沿って３マイクロブロック）という問題があり、ＤＣ利得不整合およびＤＣ漏れの可能性という他の問題と合わせて２つの難点がある。
【０１９４】
コーナー・オーバーラップ１×１演算子に対する解決策２。この解決策では、コーナーのサンプルは、それに隣接するサンプルに密接に相関付けられている可能性が高いという事実を利用する。重要なのは、ＤＣ係数のオーバーラップ処理においてその使用を考慮すると、この演算子は、元の画像ブロックの各々の平均(mean)以上に作用するということである。つまり、１×１コーナー・オーバーラップ演算子の前に、コーナー・サンプルおよびそれに隣接するサンプルは、同様である高い可能性がある。ＤＣ利得不整合を排除すれば、コーナー・サンプル値は、オーバーラップ変換の後でも同様に、その隣接するサンプルと全く同様になる。
したがって、この解決策は、コーナー・サンプルの予測に基づく方式を用いる。一例として左上コーナーについて考え、サンプルに次のような記号で呼ぶことにする。
【０１９５】
Ａ  Ｂ…
Ｃ  Ｄ…
…
左上のサンプルをＡと呼び、Ａの右隣にあるサンプルをＢと呼び、Ａの下にあるサンプルをＣと呼ぶ。現場(in-place)計算を用いると仮定して、予測方式を以下のように実施する。
【０１９６】
１．第２段オーバーラップ演算子を適用する前。
【０１９７】
ａ．値（Ａ）＝値（Ａ）−（値（Ｂ）＋値（Ｃ）＋１）＞＞１
２．第２弾オーバーラップ演算子を適用した後。
【０１９８】
ａ．値（Ａ）＝値（Ａ）＋（値（Ｂ）＋値（Ｃ）＋１）＞＞１
ステップ１後のＡの残余値は小さいように思われるので、この演算は、同じ利得をコーナー・サンプルに適用することとほぼ同等である。（ＢおよびＣは有意な値(significant
value)を有するかもしれないが、差の値Ａは通例０またはほぼ０である。ステップ１の後、隣接するＢおよびＣサンプルにスケーリングを適用する（例えば、エッジ・オーバーラップ演算子によって）。ステップ２において、スケーリングしたＢおよびＣの値を差の値Ａに加算すると、得られた値Ａは、殆どの場合、Ａは、事実上ＢおよびＣ値と同じ程度にスケーリングされている。この解決策を他の３つのコーナーに適用することは簡単である。
【０１９９】
コーナー・オーバーラップ１×１演算子に対する解決策２には、回転に関して対称的であるという利点がある。１つの欠点は、この解決策が、少なくとも２マクロブロックの幅および２マクロブロックの高さ（４：２：０についてのみであり、４：２：２には当てはまらない）を有する画像を必要とすることであり、そうでなければ、この予測方式は非実用的になる。
【０２００】
コーナー・オーバーラップ１×１演算子に対する解決策３。解決策２と同様の第２方式を、コーナー・オーバーラップ１×１演算子のために紹介する。実施態様によっては、オーバーラップ変換の各段階を１回で実行しなくてもよく、代わりに、これらの段階をずらせばよい場合もある。これによって、オーバーラップ変換の前または後に、ＢおよびＣ双方に同時にアクセスすることを困難にすることができる。以下の方式をこの解決策のため
に紹介する。
【０２０１】
１．第２段オーバーラップ演算子をＢに適用する前：
ａ．値（Ａ）＝値（Ａ）−値（Ｂ）＞＞１．
２．第２段オーバーラップ演算子をＣに適用する前：
ａ．値（Ａ）＝値（Ａ）−値（Ｃ）＞＞１．
３．第２段オーバーラップ演算子をＢに適用した後：
ａ．値（Ａ）＝値（Ａ）＋値（Ｂ）＞＞１．
４．第２段オーバーラップ演算子をＣに適用した後：
ａ．値（Ａ）＝値（Ａ）＋値（Ｃ）＞＞１．
ステップの順序付けには、１を３の前に行わせ、２を４の前に行わせることだけが求められる。これら２つの条件が満たされている限り、いずれの再順序付けでも容認可能である。コーナー・オーバーラップ１×１演算子に対する解決策３によって、種々の実施態様におけるタイミングの問題からの切り離しが可能になる。生憎、この解決策には、解決策２では生じない丸めによる問題がいくつかある。それ以外では、この解決策は、コーナー・オーバーラップ１×１演算子に対する解決策２と同じ特性を共有する。
【０２０２】
コーナー・オーバーラップ1×１演算子に対する解決策４。この解決策では、解決策３を修正して、以下のように、水平方向のみに渡って動作するようにした。
【０２０３】
１．第２段オーバーラップ演算子をＢに適用する前、
ａ．値（Ａ）＝値（Ａ）−  値（Ｂ）
２．第２段オーバーラップ演算子をＢに適用した後、
ａ．値（Ａ）＝値（Ａ）＋  値（Ｂ）
この解決策の利点は、これの方が必要なメモリー・アクセスが少ないことである。これは、コーナー・オーバーラップ１×１演算子に対する解決策２および３の半分のサンプルとしか相互作用しないので、複雑度は低くなる。この解決策の欠点は、これには対称性が欠けており、したがって回転による問題があることである。この懸念は、ダウンサンプリングが発生する損失が、非対称性が発生する損失よりも大きいことを考慮すると緩和される。コーナー・オーバーラップ１×１演算子に対する他の解決策と同様、解決策４では、画像（即ち、ハード・タイル）が有する幅は、少なくとも２マクロブロック分である。しかしながら、１つの利点は、ダウンサンプリングしたクロマ動作の全てが同様であることである。解決策２（ならびに解決策３、５、６、および７）と同様、Ａに対する差を計算するために用いられる隣接サンプルは、Ａに非常に似通った値を有することが予期される。ステップ１の後、エッジ・オーバーラップ処理の一部として、隣接サンプルをスケーリングし、次いでステップ２において、コーナーに対する差Ａに加算し戻す。差Ａは０であるかまたは０に近いことが予期されるので、コーナー値は隣接サンプルとほぼ同じ範囲にスケーリングされる。
【０２０４】
コーナー・オーバーラップ１×１演算子に対する解決策５。この解決策では、解決策３を修正して、以下のように、垂直方向のみにわたって動作するようにした。
【０２０５】
１．第２段オーバーラップ演算子をＣに適用する前、
ａ．値（Ａ）＝値（Ａ）−  値（Ｃ）
２．第２段オーバーラップ演算子をＣに適用した後、
ａ．値（Ａ）＝値（Ａ）＋  値（Ｃ）
この解決策の利点は、これの方が必要なメモリー・アクセスが少ないことである。これは、コーナー・オーバーラップ１×１演算子に対する解決策２および３の半分のサンプルとしか相互作用しないので、複雑度は低くなる。解決策４と同様、この解決策の欠点は、これには対称性が欠けており、したがって回転による問題があることである。この懸念は
、ダウンサンプリングが発生する損失が、非対称性が発生する損失よりも大きいことを考慮すると緩和される。コーナー・オーバーラップ１×１演算子に対する他の解決策と同様、解決策５では、４：２：０画像の高さは、少なくとも２マイクロブロック分である。この解決策からは、他のサイズ要件は発生しない。つまり、４：２：０および４：２：２演算は並列ではない。これは、この解決策の別の欠点となる。
【０２０６】
コーナー・オーバーラップ１×１演算子に対する解決策６。コーナー・オーバーラップ１×１演算子に対するこの解決策は、解決策４および５の組み合わせである。具体的には、シンタックス・エレメントをビットストリームに追加して、コーナー・オーバーラップ１×１演算子に対する予測が水平かまたは垂直か指定する。この解決策には、回転が簡単にサポートされるという利点がある。シンタックス・エレメントの追加は、この解決策の欠点となる。
【０２０７】
コーナー・オーバーラップ１×１演算子に対する解決策７。この最後の解決策は、Ａに対する予測子としてＢの値が用いられる代わりに、Ｄの値が予測子として用いられることを除いて、解決策４と同様である。Ｄを予測子として用いることの利点は、回転対称性である。しかしながら、Ｄを用いることの欠点は、ＢまたはＣよりも整合性が悪い(worse match)場合があることである。
４．コンピューティング環境
以上に説明したオーバーラップ処理の改革は、ディジタル・メディア信号処理が実行される種々のデバイス（例えば、ディジタル・メディア・エンコードおよび／またはデコード・デバイス）であればいずれにおいても実現することができ、例の中でもとりわけ、コンピューター、画像およびビデオ記録、送信および受信機器、携帯用ビデオ・プレーヤー、ディジタル・メディア・プレーヤー、ビデオ会議などが含まれる。このオーバーラップ処理の改革は、ハードウェア回路、および図８に示すような、コンピューターまたは他のコンピューティング環境ないにおいて実効するディジタル・メディア処理ソフトウェアでも実現することができる。
【０２０８】
図８は、説明した実施形態を実現することができる、適したコンピューティング環境（８００）を一般化した例を示す。コンピューター環境（８００）は、本発明の使用範囲や機能についていかなる限定をも示唆することを意図していない。それは、本発明が多種多様の汎用または特殊目的コンピューティング環境において実現できるからである。
【０２０９】
図８を参照すると、コンピューティング環境（８００）は、少なくとも１つの演算装置（８１０）とメモリーー・ユニット（８２０）とを含む。図８において、この最も基本的な構成（８３０）は、破線の中に含まれている。演算装置（８１０）は、コンピューター実行可能命令を実行し、実在のプロセッサーでも仮想プロセッサーであってもよい。マルチ処理システムでは、多数の演算装置がコンピューター実行可能命令を実行して、処理パワーを増大する。メモリー（８２０）は、揮発性メモリー（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリー（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリー等）、またはこれら２つの何らかの組み合わせとすることができる。メモリー（８２０）は、オーバーラップ処理のための多数のタイル境界選択肢および／またはＤＣ利得不整合を低減するオーバーラップ演算子を備えた、先に説明したエンコーダー／デコーダーを実現するソフトウェア（８８０）を格納する。
【０２１０】
コンピューティング環境は、追加の特徴を有してもよい。例えば、コンピューティング環境（８００）は、ストレージ（８４０）、１つ又は複数の入力デバイス（８５０）、１つ又は複数の出力デバイス（８６０）、および１つ又は複数の通信接続（８７０）を含む。バス、コントローラー、またはネットワークというような相互接続メカニズム（図示せず）が、コンピューティング環境（８００）のコンポーネントを相互接続する。通例では
、オペレーティング・システム・ソフトウェア（図示せず）が、コンピューティング環境（８００）において実行するほかのソフトウェアに合った動作環境を提供し、コンピューティング環境（８００）のコンポーネントの動作(activities)を調整する。
【０２１１】
ストレージ（８４０）は、リムーバブルでも非リムーバブルでもよく、磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、あるいは情報を格納するために用いることができしかもコンピューティング環境（８００）内においてアクセスすることができるその他のあらゆる媒体も含む。ストレージ（８４０）は、オーバーラップ処理のための多数のタイル境界選択肢および／またはＤＣ利得不整合を低減するオーバーラップ演算子を備えた、先に説明したエンコーダー／デコーダーを実現するソフトウェア（８８０）に対する命令を格納する。
【０２１２】
入力デバイス（１つまたは複数）（８５０）は、キーボード、マウス、ペン、またはトラックボールのような接触入力デバイス、音声入力デバイス、走査デバイス、またはコンピューティング環境（８００）に入力を供給する他のデバイスとすることができる。オーディオについては、入力デバイス（８５０）は、サウンド・カード、あるいはアナログまたはディジタル形態でオーディオ入力を受け入れる同様のデバイス、あるいはオーディオ・サンプルをコンピューティング環境に供給するＣＤ−ＲＯＭリーダーとすることができる。画像またはビデオについては、入力デバイス（１つまたは複数）（８５０）は、カメラ、ＴＶチューナー、あるいはアナログまたはディジタル形態で入力ビデオを供給するその他のデバイスとすることができる。出力デバイス（１つまたは複数）（８６０）は、ディスプレイ、プリンター、スピーカー、ＣＤ−ライター、またはコンピューティング環境（８００）からの出力を供給するその他のデバイスとすることができる。
【０２１３】
通信接続（１つまたは複数）（８７０）は、通信媒体を通じたほかのコンピューティングエンティティへの通信を可能にする。通信媒体は、圧縮オーディオまたはビデオ情報、あるいは変調データ信号におけるその他のデータというような情報を伝達する。変調データ信号とは、その信号の中に情報をエンコードするような態様で、その特性の１つ又は複数を設定または変化させた信号のことである。一例として、そして限定ではなく、通信媒体は、電気、光、ＲＦ、赤外線、音響、またはその他の搬送波で実現した有線またはワイヤレス技法を含む。
【０２１４】
本明細書におけるディジタル・メディア処理技法は、コンピューター読み取り可能媒体という一般的なコンテキストで説明することができる。コンピューター読み取り可能媒体は、コンピューティング環境内においてアクセスすることができ、入手可能なあらゆる有形媒体である。一例として、そして限定ではなく、コンピューティング環境（８００）では、コンピューター読み取り可能媒体は、メモリー（８２０）およびストレージ（８４０）、ならびにこれら２つの組み合わせを含む。コンピューター読み取り可能媒体は、有形媒体である。コンピューター読み取り可能媒体は、変調データ信号を含まない。
【０２１５】
本明細書におけるディジタル・メディア処理技法は、目標とする実在のまたは仮想のプロセッサー上にあるコンピューティング環境において実行するプログラム・モジュールに含まれるような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、ライブラリー、オブジェクト、クラス、コンポーネント、データ構造等を含み、特定のタスクを実行するかまたは特定の抽象データ・タイプを実現する。プログラム・モジュールの機能は、種々の実施形態における所望に応じて、プログラム・モジュール間で組み合わせることや分割することができる。プログラム・モジュールのコンピューター実行可能命令は、ローカルまたは分散型コンピューティング環境内においても実行することができる。
【０２１６】
紹介のために、詳細な説明では、「判定する」、「発生する」、「調節する」、および「適用する」というような用語を用いて、コンピューティング環境におけるコンピューター動作を説明した。これらの用語は、コンピューターが実行する動作についての上位抽象であり、人間が行う好意と混同すべきでない。これらの用語に対応する実際のコンピューターの動作は、実施態様に応じて変化する。
【０２１７】
以上、詳細な説明および添付図面において本改革の原理について説明し図示したが、このような原理から逸脱することなく、種々の実施形態の構成および詳細を変更できることは認められよう。本明細書において説明したプログラム、プロセス、または方法は、特に指示されていない限り、いずれの特定のタイプのコンピューティング環境にも関係付けられることも限定されることもないことは言うまでもない。本明細書に記載した教示と共に、種々のタイプの汎用または特殊コンピューティング環境を用いることができ、本明細書に記載した教示にしたがって動作を実行することができる。ソフトウェアとして示した実施形態のエレメントをハードウェアで実現することもでき、更にその逆も可能である。
【０２１８】
本発明の原理を適用することができる数多くの実施形態が可能であることに鑑み、以下の特許請求の範囲およびその均等の範囲ならびに主旨に該当すると考えられる、全てのこのような実施形態を発明として特許請求することとする。
【図１】
0005306469.tif 000031
【図２】
0005306469.tif 000032
【図３】
0005306469.tif 000033
【図４】
0005306469.tif 000034
【図５】
0005306469.tif 000035
【図６Ａ】
0005306469.tif 000036
【図６Ｂ】
0005306469.tif 000037
【図７Ａ】
0005306469.tif 000038
【図７Ｂ】
0005306469.tif 000039
【図８】
0005306469.tif 000040