(57)【特許請求の範囲】
【請求項１】
所定の符号化形式により画像の符号化を生成する方法であって、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色と前記基調色を基準とする輝度オフセットの１組とを含む符号化された画素色の１組として符号化され、
前記基調色は、所定の色空間において定義された基調色の所定の１組から選択され、
前記輝度オフセットの組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組として符号化され、
前記基調色の組および前記輝度オフセット値は、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、少なくとも１つの前記輝度線上に存在し、
各画素ブロックに対して実施される前記方法は、
前記所定の色空間における前記画素ブロックの色の平均色を決定するステップと、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するステップと、
前記少なくとも１つの輝度線上に存在する、基調色候補の１組を識別するステップと、
前記基調色候補の組および前記輝度オフセット値を用いて、前記符号化された画素色の組を決定することによって、基調色の前記候補の組から前記画素ブロックを符号化するために使用される前記基調色を選択し、前記基調色および前記輝度オフセットの組は、前記色空間における、前記符号化された画素色の組および前記画素ブロックの前記色との間の距離の和を示す符号化エラーに基づいて選択されるステップと、
を含む、符号化方法。
【請求項２】
前記色空間における前記オフセットは、前記平均色と前記少なくとも１つの輝度線との間の最短距離である、請求項１に記載の符号化方法。
【請求項３】
前記符号化エラーは、前記符号化された画素色の組と前記画素ブロックの前記色との間の距離の二乗の和として計算される、請求項１または請求項２に記載の符号化方法。
【請求項４】
前記少なくとも１つの輝度線を選択する前記ステップは前記オフセットの最も小さい値を有する３つの輝度線を選択するステップを含む、請求項１から請求項３のいずれかに記載の符号化方法。
【請求項５】
前記少なくとも１つの輝度線を選択するステップは反復輝度線選択手順を含み、前記反復輝度線選択手順は、
既に選択した輝度線の隣接輝度線を検査するステップと、
前記隣接輝度線からの、前記画素ブロックの前記色のオフセット総計が、前記既に選択された輝度線からの、前記画素ブロックの前記色のオフセット総計よりも大きくない場合に、前記隣接輝度線を選択するステップと、
を含む、請求項１から請求項４のいずれかに記載の符号化方法。
【請求項６】
前記オフセット総計は、前記画素ブロックの前記色と、それぞれ、各輝度線の最も近い点との間の距離の二乗の和として計算される、請求項５に記載の符号化方法。
【請求項７】
前記隣接輝度線は、前記隣接輝度線が前記既に選択された輝度線からの色飽和度における増加を表す場合にのみ検査される、請求項５または請求項６に記載の符号化方法。
【請求項８】
前記隣接輝度線は、前記既に選択された輝度線が前記オフセット総計の非ゼロ値を有する場合にのみ検査される、請求項５から請求項７のいずれかに記載の符号化方法。
【請求項９】
複数の輝度線が選択されるとき、前記複数の輝度線は、各輝度線に対する前記オフセット総計によりソートされる、請求項５から請求項８のいずれかに記載の符号化方法。
【請求項１０】
前記符号化された画素色の組を決定する前記ステップは反復輝度線考慮手順を含み、前記反復輝度線考慮手順においては、前記少なくとも１つの輝度線上に存在する基調色候補の１組を識別する前記ステップ、および前記符号化された画素色の組を決定する前記ステップは、増加するオフセット総計の順における前記複数の輝度線に対して実行される、請求項９に記載の符号化方法。
【請求項１１】
前記符号化された画素色の組を決定する前記ステップは、前記基調色候補の組の各基調色候補に対する反復符号化決定手順を含み、
前記基調色候補に対して適用された前記輝度オフセット値を用いて、符号化された画素色の候補組を決定するステップと、
前記色空間における、前記画素ブロックの前記色と前記符号化された画素色の候補組との間の距離総計を示す、前記符号化された画素色の候補組に対する符号化エラー候補を決定するステップと、
前記符号化エラー候補が、前記画素ブロックに対する任意の以前の符号化エラー候補よりも低い場合、前記符号化エラー候補を最良符号化エラーとして設定するステップと、
前記基調色および前記輝度オフセットの組として、前記基調色候補に適用されたときに前記最良符号化エラーを与える基調色候補および輝度オフセット値を選択するステップと、
を含む、請求項１から請求項１０のいずれかに記載の符号化方法。
【請求項１２】
前記輝度オフセット値の少なくとも１つの所定のテーブルは輝度オフセット値の複数の所定のテーブルを含み、前記基調色候補に適用された前記輝度オフセット値を用いて、前記符号化された画素色の候補組を決定する前記ステップは、前記輝度オフセット値の複数の所定のテーブルのそれぞれのテーブルを用いて、前記符号化された画素色の候補組を反復的に決定するステップを含む、請求項１１に記載の符号化方法。
【請求項１３】
前記符号化エラーは累積的符号化エラーとして累積的に決定され、考慮中の輝度オフセット値の現在のテーブルに対する前記累積的符号化エラーが前記最良符号化エラーを越える場合、前記輝度オフセット値の現在のテーブルを用いて前記符号化された画素色の前記候補組を決定する前記ステップは終了される、請求項１２に記載の符号化方法。
【請求項１４】
前記累積的符号化エラーは、前記画素ブロックの前記色に対して、画素毎に前記最良符号化エラーと比較される、請求項１３に記載の符号化方法。
【請求項１５】
前記符号化された画素色の組を決定する前記ステップは、前記基調色候補の組の各基調色候補に対する反復符号化決定手順を含み、
前記基調色候補に対して適用された前記輝度オフセット値を用いて、符号化された画素色の候補組を決定するステップと、
前記色空間における、前記画素ブロックの前記色と前記符号化された画素色の候補組との間の距離総計を示す、前記符号化された画素色の候補組に対する符号化エラー候補を決定するステップと、
前記符号化エラー候補が、前記画素ブロックに対する任意の以前の符号化エラー候補よりも低い場合、前記符号化エラー候補を最良符号化エラーとして設定するステップと、
前記基調色および前記輝度オフセットの組として、前記基調色候補に適用されたときに前記最良符号化エラーを与える基調色候補および輝度オフセット値を選択するステップと、
を含み、
次の輝度線を考慮する前に、前記次の輝度線に対する前記オフセット総計が前記最良符号化エラーを越える場合、前記反復輝度線考慮手順は終了され、前記次の輝度線も、前記複数の輝度線におけるさらなる輝度線も考慮されない、請求項１０に記載の符号化方法。
【請求項１６】
前記画素ブロックはそれぞれ２×４画素の組を含む、請求項１から請求項１５のいずれかに記載の符号化方法。
【請求項１７】
前記画素ブロックの少なくとも１対の隣接するブロックは、前記ブロックの隣接する対のうちの第２ブロックが前記ブロックの隣接する対のうちの第１ブロックを基準に符号化される相互依存形式で符号化される、請求項１から請求項１６のいずれかに記載の符号化方法。
【請求項１８】
前記ブロックの対は水平方向に隣接する、請求項１７に記載の符号化方法。
【請求項１９】
前記ブロックの対は垂直方向に隣接する、請求項１８に記載の符号化方法。
【請求項２０】
前記符号化エラーは、画素ブロックが前記相互依存形式で符号化された場合に、または画素ブロックが他の画素ブロックを基準にすることなく独立形式で符号化された場合に、より低くなるかどうかを、各画素ブロックに対して、判定するステップをさらに含む、請求項１７から請求項１９のいずれかに記載の符号化方法。
【請求項２１】
すべての符号化方式について、各画素ブロックに対して、前記符号化エラーを反復的に判定し、全体的に最も低い前記符号化エラーの値を与える符号化方式を選択するステップをさらに含む、請求項２０に記載の符号化方法。
【請求項２２】
前記色空間における距離の計算は、前記色空間における各色成分に対する人間の感度にしたがって知覚的重みが加味された、請求項１から請求項２１のいずれかに記載の符号化方法。
【請求項２３】
前記符号化エラーはピーク信号対雑音比として計算される、請求項１から請求項２２のいずれかに記載の符号化方法。
【請求項２４】
前記画像はテクスチャ画像である、請求項１から請求項２３のいずれかに記載の符号化方法。
【請求項２５】
前記所定の符号化形式はＥＴＣ形式である、請求項１から請求項２４のいずれかに記載の符号化方法。
【請求項２６】
請求項１から請求項２５のいずれかに記載の前記符号化方法をコンピュータに実行させるよう構成されたコンピュータプログラムを非一時的な方法で記憶するコンピュータプログラム製品。
【請求項２７】
所定の符号化形式により画像の符号化を生成し、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色および前記基調色を基準とする輝度オフセットの１組とを含む符号化された画素色の１組として符号化されるよう構成された符号化装置であって、
前記基調色は、所定の色空間において定義された基調色の所定の１組から選択され、
前記輝度オフセットの組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組として符号化され、
前記基調色の組および前記輝度オフセット値は、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、少なくとも１つの前記輝度線上に存在し、
各画素ブロックに対して作用するよう構成された前記符号化装置は、
前記所定の色空間における前記画素ブロックの色の平均色を決定するよう構成された平均色決定ユニットと、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するよう構成された輝度線選択ユニットと、
前記少なくとも１つの輝度線上に存在する基調色候補の１組を識別するよう構成された基調色候補識別器と、
前記基調色候補の組および前記輝度オフセット値を用いて、前記符号化された画素色の組を決定することによって、基調色の前記候補の組から前記画素ブロックを符号化するために使用される前記基調色を選択し、前記基調色および前記輝度オフセットの組は、前記色空間における、前記符号化された画素色の組と前記画素ブロックの前記色との間の距離の和を示す符号化エラーに基づいて選択するよう構成された、決定ユニットと、
を含む、符号化装置。
【請求項２８】
所定の符号化形式により画像の符号化を生成するための、符号化装置手段であって、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色と前記基調色を基準とする１組の輝度オフセットを含む、１組の符号化された画素色として符号化され、
前記基調色は、所定の色空間において定義された基調色の所定の１組から選択され、
輝度オフセットの前記の組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組として符号化され、
前記基調色の所定の組および前記輝度オフセット値は、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、少なくとも１つの前記輝度線上に存在し、
各画素ブロックのそれぞれに作用するよう構成された前記符号化装置手段は、
前記所定の色空間における前記画素ブロックの色の平均色を決定するよう構成された平均色決定手段と、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するための輝度線選択手段と、
前記少なくとも１つの輝度線上に存在する、基調色候補の１組を識別するための基調色候補識別手段と、
前記基調色候補の組と前記輝度オフセット値とを用いて、前記符号化された画素色の組を決定することによって、基調色の前記候補の組から前記画素ブロックを符号化するために使用される前記基調色を選択し、前記基調色および前記輝度オフセットの組は、前記色空間における、前記符号化された画素色の組と前記画素ブロックの前記色との間の距離の和を示す符号化エラーに基づいて決定される、決定手段と、
を含む、符号化装置手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の符号化形式にしたがって画像を符号化するための符号化方法に関する。特に、本発明は、所定の符号化形式が画素ブロックにおいて画像を符号化する際、画素ブロックのそれぞれは、基調色と、その基調色に対する輝度オフセットの１組とを含む符号化された画素色の１組として符号化される、符号化方法に関する。
【背景技術】
【０００２】
画像を符号化するための様々な符号化形式が知られている。これらの形式により具体化される特定の技術は、例えば、符号化は無損失であるべきどうか、符号化画像の望ましいサイズ、および符号化画像の全体的な品質等の、符号化された画像における様々な相対的重要性に応じて異なる。広く用いられ、且つよく知られている画像用の符号化形式は、ＪＰＥＧ  ｇｒｏｕｐにより定められたものである。しかし、ＪＰＥＧ等の所定の符号化形式がすべての用途、特に、画素エリアに対するランダムアクセスが要求される用途において適しているとは限らない。これは、例えば、符号化された画像が、図形用途において用いられる圧縮されたテクスチャを提供する場合、当てはまる。これは、ＪＰＥＧ等の符号化形式が、画像内の画像ブロックを符号化する際、同一画像内の以前のブロックを基準して符号化する技術に依存するためである。これにより、より高圧縮が可能となるが、しかし、この手法においては、画像が全体として復号化されることが要求され、したがって、係る符号化形式は、所与の画像のサブセクションへのランダムアクセスを要求する、テクスチャ表現等の用途においては適さない。
【０００３】
したがって、係るランダムアクセスが可能である符号化方法にしたがって画像を符号化することが知られている。一般に、係る符号化形式においては、画像は、符号化および復号化が可能である画像の最小単位を表す画素ブロック（例えば、４ｘ４）において個々に復号化される。係る符号化形式における１つの既知の技術は、画素ブロックを、基調色と、その基調色に対する１組の輝度オフセットで表現する技術である。すなわち、このように符号化された各ブロックにおいては、全画素に対してただ１つの色のみが定義され、各画素の輝度はその基調色からのオフセットとして与えられる。これは、一般に、許容可能な画像品質を提供する。なぜなら、人間の目に関するかぎり、局所的な輝度変化に対する感度よりも、局所的なクロミナンスの変化に対する感度のほうが、より低いからである。
【０００４】
しかし、係る符号化形式（ＥＴＣ形式（エリクソンテクスチャ圧縮）はその１例として挙げられる）により符号化される画像を生成することに関する問題点は、圧縮された（符号化された）画像を生成するために要求される圧縮時間である。例えば、既存のツールを用いてＥＴＣ圧縮されたテクスチャを生成する際、圧縮時間は、これらのツールにより維持される最高品質を用いるならば、およそ３００〜４００画素／秒、すなわち通常のテクスチャについて３０分〜１時間となる。係る極めて長い圧縮時間は、各画素ブロックに対して基調色（ｂａｓｅ  ｃｏｌｏｕｒ）および輝度オフセットの最良の組み合わせを見出すための、利用可能な符号化空間内で実施される検索に起因するものである。最高品質の圧縮されたテクスチャを生成するにあたっては、多次元的且つ大規模な検索が実施される。その結果、係る長い圧縮時間が生じるのである。しかし係る長い圧縮時間は、図形用途を開発し検証する際には、許容不可能である。なぜなら、用途は何十・何百ものテクスチャを含む場合もあり、開発者は、開発中に、圧縮されたテクスチャの品質を評価することが可能でなければならないためである。
【０００５】
図１Ａは、４ｘ４の画素ブロック１０の概略図である。一般に、画素ブロックがＥＴＣ等の符号化形式により符号化される際、各ブロックは、事実上、相互に隣接する２つのハーフブロックとして符号化される。図１Ａに示すように、画素ブロック１０は、垂直方向に分割されて、２つのハーフブロックとなってもよい。同様に、同一画素ブロックは、水平方向に分割されて、２つのハーフブロックとなってもよい。
【０００６】
ＥＴＣ符号化形式は、図１Ｂに示すように、輝度オフセットの８つのテーブルを定義する。したがって、基調色は各ハーフブロックに対して定義され、そのハーフブロック内の８つの画素が、１つの３ビットテーブル数および８つの２ビットテーブルエントリー数により、符号化される。
【０００７】
２種類の符号化がＥＴＣ規格により定義される。すなわち、図１Ｃに示すように、絶対符号化および差分符号化である。それぞれにより、画素ブロックは単一の６４ビット値として符号化される。絶対符号化においては、各ハーフブロックは独立的に符号化される。各ハーフブロックに対する基調色は、１２ビット（４４４）ＲＧＢ値として符号化され、ブロック全体の符号化は、このブロックを構成する第１ハーフブロックおよび第２ハーフブロックに対する基調色のＲ成分、Ｇ成分、およびＢ成分を与える２４ビットにより表される。これに、各ハーフブロックに対して用いられる輝度オフセットテーブルを与える２つの３ビット値が続く。「ｄｉｆｆ」ビットは、このブロックが絶対符号化または差分符号化のいずれを用いて符号化されたかを示す。「ｆｌｉｐ」ビットは、このブロックが水平または垂直のいずれの方向でハーフブロックに分割されたかを示す。最後に、２つのハーフブロックの１６の個別画素のそれぞれは、選択されたテーブルにおける対応するエントリーを与える２つのビットにより表される。符号化形式はこれらを１６のＭＳＢおよび１６のＬＳＢに分類する。
【０００８】
差分符号化においては第２ハーフブロックの基調色が、第１ハーフブロックに対するオフセットとして定義される他は、差分符号化も絶対符号化と同様に定義される。したがって、第１ハーフブロックの基調色は、１５ビット（５５５）ＲＧＢ値として与えられ、第２ハーフブロックに対するＲオフセット、Ｇオフセット、およびＢオフセットは、それぞれ３ビットオフセットとして与えられる。これにより、基調色の定義における精度をより高めることが可能となる。しかし、ハーフブロックの基調色は、これらの３ビットオフセットにより表されるよう、相互に対して十分に近くなければならない。それ以外の場合は、絶対符号化が用いられる。
【０００９】
ハーフブロックに対する基調色を符号化するために用いられる２４ビットは、エンコードにおいて定義され得る基調色の所定の組に対応する。この基調色の所定の組が図２Ａで概略的に示される。図示の簡略化のためにのみ、Ｒ成分およびＧ成分のみが示される２次元表現が図示されていることに注意すべきである（第３次元におけるＢ成分は省略されている）。所与のハーフブロックの符号化のために選択される基調色は、一般に、ハーフブロック中の画素の平均色を基準として選択される。符号化された画素は、選択された基調色を基準に輝度オフセットとして符号化されるため、図２Ａにおける対角線（輝度線）は、符号化された画素がこの色空間において存在し得る点を含む。
【００１０】
図２Ａに示されるように、所与の計算された平均色の所定の組に対して利用可能な基調色の所定の組から基調色を選択する方法は複数存在する。基調色４０が幾何学的に最も近い基調色であるのに対し、基調色３０は最も近い輝度線上における最も近い基調色である。
【００１１】
図２Ｂは、基調色からの輝度オフセットを用いての所与の画素値の符号化を示す。輝度オフセット（輝度オフセットの予め定められたテーブルから選択される）は、基調色を基準にして、この色空間における圧縮された画素色の位置を示す。圧縮された画素色と本来の画素色との間の距離が、この画素に対する符号化エラーを与える。
【００１２】
図３は画素の各ハーフブロックの基調色に対する既存のＥＴＣ圧縮アルゴリズムにより実施される検索レンジを示す。ハーフブロックの画素の平均色に基づいて基点（すなわち基調色）を選択し、開始基点の周囲の基点のボリュームにおいて検索を実施し、改善された符号化が存在するかどうかを調べる。高品質バージョンの圧縮においては、７ｘ７ｘ７の検索ボリューム（図示する２Ｄ表現では７ｘ７の検索エリアとして表される）が検索される。これらの中で、ハーフブロックに対する全体的符号化エラーを最小限にする符号化が検索される。この検索は、これらの各７ｘ７ｘ７（すなわち３４３）の基点候補に対する可能な８つのテーブルのすべてに対して最善の符号化を計算する反復プロセスである。そのために、既存の圧縮ツールに対しては、極めて長い圧縮手順となる。
【００１３】
係る画像符号化／圧縮に対する既存の手法のいくつかは、以下に見出すことができる。
−Ｊａｃｏｂ  ＳｔｒｏｍおよびＴｏｍａｓ  Ａｋｅｎｉｎｅ−Ｍｏｌｌｅｒによる「ｉＰＡＣＫＭＡＮ−Ｈｉｇｈ−Ｑｕａｌｉｔｙ，  Ｌｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｔｅｘｔｕｒｅ  Ｃｏｍｐｒｅｓｓｉｏｎ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｐｈｏｎｅｓ」（取得先は、ｈｔｔｐ：／／ｗｗｗ．ｇｒａｐｈｉｃｓｓｈａｒｄｗａｒｅ．ｏｒｇ／ｐｒｅｖｉｏｕｓ／ｗｗｗ＿２００５／ｐｒｅｓｅｎｔａｔｉｏｎｓ／ｓｔｒｏｍ−ｉｐａｃｋｍａｎ−ｇｈ０５．ｐｐｔ）  この提示はＥＴＣ圧縮形式に関するものである。
−ＥＴＣ形式に対する完全なクロノス規格。（以下で入手可能である。ｈｔｔｐ：／／ｋｈｒｏｎｏｓ．ｏｒＪｒｅｔｔｓｔｒｙ／ｒｅｇｉｓｔｒｙ／ｇｌｅｓ／ｅｘｔｅｎｓｉｏｎｓ／ＯＥＳ／ＯＥＳ＿ｃｏｍｐｒｅｓｓｅｄ＿ＥＴＣ１＿ＲＧＢ８＿ｔｅｘｔｕｒｅ．ｔｘｔ）；
−書類「Ｒｅａｌ  Ｔｉｍｅ  ＤＸＴ  Ｃｏｍｐｒｅｓｓｉｏｎ」、Ｊ．．Ｍ．Ｐおよびｖａｎ  Ｗａｖｅｒｅｍ、２００６年５月（ｈｔｔｐ：／／ｃａｃｈｅ−ｗｗｗ．ｉｎｔｅｌ．ｃｏｍ／ｃｄ／００／００／３２／４３／３２４３３７＿３２４３３７．ｐｄｆ）、および
−ＮＶＩＤＩＡテクスチャツールの説明文における（２０１０年１１月１２日に以下から取得：ｈｔｔｐ：／／ｃｏｄｅ．ｇｏｏｇｌｅ．ｃｏｍ／ｐ／ｎｖｉｄｉａ−ｔｅｘｔｕｒｅ−ｔｏｏｌｓ／ｗｉｋｉ／ＡｐｉＤｏｃｕｍｅｎｔａｔｉｏｎ）。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、上述のように、先行技術の手法においては極めて長い圧縮時間が当然となっている。したがって、処理時間が短く且つ高品質な符号化を生成するための改善さされた技術が望まれる。
【課題を解決するための手段】
【００１５】
第１の態様の観点からは、本発明は、所定の符号化形式により全画像の符号化を生成するための符号化方法を提供する。なお、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色と、前記基調色を基準とする輝度オフセットの１組とを含む、符号化された画素色の１組として符号化され、
前記基調色は、前記所定の色空間において定義された基調色の所定の組から選択され、
前記輝度オフセットの組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組として符号化され、
前記基調色の所定の組および前記輝度オフセット値は、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、少なくとも１つの前記輝度線上に存在し、
各画素ブロックに対して実施される前記方法は、
前記所定の色空間における前記画素ブロックの色の平均色を決定するステップと、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するステップと、
前記少なくとも持つ１つの輝度線上に存在する、基調色候補の１組を識別するステップと、
前記１組の基調色候補および前記輝度オフセット値を用いて、前記符号化された画素色の組を決定し、前記基調色および前記１組の輝度オフセットは、前記色空間における前記符号化された画素色の組と前記画素ブロックの前記色との間の距離の和を示す符号化エラーに基づいて選択されるステップと、
を含むものである。
【００１６】
画像が画素ブロックにおいて符号化され且つ各画素ブロックが基調色とその基調色を基準とする輝度オフセットの１組を含む符号化された画素色の１組として符号化される符号化形式により画像を符号化するとき、本発明の発明者は、各画素ブロックに対する基調色を、符号化が実施される所定の色空間を通って伸びる少なくとも１つの輝度線上に存在する基調色の候補値の組から選択することにより、改善された方法が提供され得ることを見出した。所定の色空間における輝度線は、符号化に利用可能である基調色の所定の組により定義される。したがって、本発明に係る技術によれば、符号化される各画素ブロックに対して、最初に、その画素ブロックの画素の平均色を決定し、次いで、少なくとも１つの輝度線が、所定の色空間における少なくとも１つの輝度線からのオフセットに基づいて選択される。次いで、この少なくとも１つの輝度線は基調色候補の１組を提供し、次にこの基調色候補の組は、最終的な符号化を決定するために用いられる。
【００１７】
例えば、符号化される３ブロックの画素（例えば、図３に示す７ｘ７ｘ７の検索ボリューム）の平均色をほぼ中心とする立方体を形成する基調色の１組を用いて基調色候補を識別するよりも、基調色候補が、所定の色空間を通って伸びる輝度線を基準に選択されるなら、改善された符号化方法が提供されることが見出された。
【００１８】
これは、画素ブロックを、基調色およびその基調色を基準とする輝度オフセットの１組として符号化する符号化形式が、クロミナンス値を設定することよりも、輝度値を設定することのほうにより大きい柔軟性を提供するという事実に基づくものである。さらに、符号化された画素色は、所定の色空間を通って伸びる１つの輝度線上に存在するよう制約されている（各符号化された画素色は、輝度線上のいずれかに存在する基調色からの、これらの輝度線に沿ったオフセットとして表される）ため、特定の画素ブロックを符号化するために用いられる最良基調色の特定は、画素ブロックの平均画素色の周囲における空間検索を用いるよりも、輝度線に基づくこの選択を実施することにより、改善される。この技術は、例えば、画素ブロックの平均色の位置が個々の画素色を特に表すわけではないことを意味する、画素ブロックの色が所定の色空間において広く分布する場合に、特に有益であり得る。係る状況では、輝度線は、平均色の周囲における空間検索よりも、基調色候補を提供することに、より適している。
【００１９】
輝度線に基づく手法がさらに有利であるさらなる要因は、所定の色空間における増加する輝度を定義する輝度線が、必ずしもクロミナンスが一定である線となるとは限らないことである。なぜなら、輝度は色成分が飽和する点を超えて増減することができるからである。図形な観点からすると、これは、輝度線が所定の色空間の端部と交差する状況を表す。このように、輝度線は必ずしも、所定の色空間を通る単一の直線的経路をとるとは限らない。したがって、所与の画素色の組とよりよく合致する輝度線が存在し得る。その一方で、これらの画素の平均色は、画素色の粗悪な符号化のみを生じさせ得る基調色により近く存在し得る。これは、所定の色空間における平均画素色に最も近い基調色が、クロミナンスの観点からすると個々の画素色から著しく異なる場合に特に当てはまる。なぜなら、所定の符号化形式は、個々の画素が基調色からの輝度オフセットにおいて変動することのみを許可し、したがってこのクロミナンスの差異により、大きい符号化エラー（符号化された画素色と本来の画素色との間の）が生じ得るためである。
【００２０】
様々なオフセットの定義方法が存在することが理解されるであろう。しかし、１つの実施形態においては、前記色空間における前記オフセットは、前記平均色と前記少なくとも１つの輝度線との間の最短距離である。
【００２１】
様々な符号化エラーの定義方法が存在することも理解されるであろう。しかし、１つの実施形態においては、前記符号化色は、前記符号化された画素色の組と前記画素ブロックの前記色との間の距離の二乗の和として計算される。
【００２２】
１つの実施形態において、前記少なくとも１つの輝度線を選択する前記ステップは、前記オフセットの最小値を有する３つの輝度線を選択することを含む。３つの輝度線の選択は、３次元の所定の色空間の状況において特に適している。なぜなら、所与の平均色の位置が３つの輝度線により包囲されるからである。これら３つの輝度線のうちのいずれが符号化に対する基調色を提供するに当たって最も適しているかは、各輝度線に対して、画素ブロックの画素の色の位置に依存する。
【００２３】
１つの実施形態においては、少なくとも１つの輝度線を選択する前記方法は、反復輝度線選択手順を含み、前記反復輝度線選択手順は、
既に選択した輝度線の隣接輝度線を検査するステップと、
前記隣接輝度線からの前記画素ブロックの前記色のオフセットの総計が、前記既に選択された輝度線からの前記画素ブロックの前記色のオフセットの総計よりも大きくない場合に、前記隣接輝度線を選択するステップと、
を含む。
【００２４】
したがって、複数の輝度線が、この反復輝度線選択手順により選択され得る。この反復輝度線選択手順の提案は、所定の色空間における、画素ブロックの平均色からのオフセットに基づいて選択された最初の輝度線が、事実、画素ブロックに対する最良の符号化である基調色を提供しない場合もあるという認識に基づくものである。例えば、輝度線が所定の色空間を通る経路のために、個々の画素色に最も近い輝度線が、これらの画素の平均色に最も近い輝度線と同一であるとは限らない。したがって、反復輝度線選択手順は、隣接輝度線を検査し、隣接輝度線からの画素ブロックの色のオフセット総計と、既に選択された輝度線からの画素ブロックの色のオフセット総計とを比較し、隣接輝度線が画素ブロックの色に最も近い（オフセット総計に基づいて）ことが示されると、この隣接輝度線も選択される。
【００２５】
様々なオフセット総計の計算方法が存在することも認識されるであろう。しかし、１つの実施形態においては、前記オフセット総計は、前記画素ブロックの前記色と、各輝度線のそれぞれの最も近い点との間の距離の二乗の和として計算される。
【００２６】
１つの実施形態においては、前記隣接輝度線は、前記隣接輝度線が前記既に選択された輝度線よりも色飽和度における増加を表す場合にのみ、検査される。所定の色空間における輝度線を考慮するとき、画素ブロックの色に最も近く（例えば、平均二乗偏差（ＲＭＳ）により）に存在する輝度線は、画素の平均色に最も近い線か、またはこの線よりも大きい色飽和度を有する線であることが見出された。したがって、反復輝度線選択手順の一部として輝度線を選択する際、隣接輝度線が、既に選択された輝度線よりも色飽和度における増加を表す場合にのみ、隣接輝度線の選択を考慮することは有利である。
【００２７】
１つの実施形態において、前記隣接輝度線は、前記すでに選択された輝度線が前記オフセット総計の非ゼロ値を有する場合にのみ、検査される。画素色のいくつかの特定の構成は、これらの画素色と所与の輝度線との間のオフセットの総計がゼロ値となり得ることが見出されている。これは、例えば、画素色が１つまたは複数の輝度線上に存在する場合に当てはまる。このことは、例えば、画素色が所定の色空間の完全に色飽和した端部上に存在する場合に可能である。この状況においては、隣接輝度線を検査する必要がない。
【００２８】
複数の輝度線が選択される１つの実施形態においては、前記複数の輝度線は、各輝度線に対する前記オフセット総計によりソートされる。任意の所与の符号化する画素色の組に対する符号化エラーが、少なくとも、対応する輝度線に対するオフセット総計でなければならない場合、これらの輝度線をオフセット総計によりソートするための複数の輝度線が存在するとき、それは有利である。平均して、最も小さいオフセット総計を有する輝度線が、最も低い符号化エラーを生じさせる可能性が最も大きい。しかし、最も小さいオフセット総計を有する線が必ずしも最も低い符号化エラーを生じさせるとは限らない点を認識すべきである。なぜなら、これは、その輝度線上において利用可能な基調色に対する画素色の特定の位置に依存するからである。例えば、これは、画素色が利用可能な基調色から比較的離れている場合に生じ得る。その場合は、他の輝度線が、この画素ブロックに対する最も小さい符号化エラーを提供し得る。
【００２９】
１つの実施形態においては、前記符号化された画素色の組を決定するステップは反復輝度線考慮手順を含む。なお、この反復輝度線考慮手順においては、前記少なくとも１つの輝度線上に存在する基調色候補の組を識別する前記ステップと、前記符号化された画素色の組を決定する前記ステップは、増加するオフセット総計の順における前記複数の輝度線に対して実行される。複数の輝度線を選択した後、これらの輝度線を検査するための、手順的観点から最も効果的な方法は、増加するオフセット総計の順である。
【００３０】
１つの実施形態においては、前記エンコードされた画素色の組を決定する前記ステップは、反復符号化決定手順を含む。なお、この反復符号化決定手順は、基調色候補の前記の組の各基調色候補に対して、
前記ベース色候補に対して適用された前記輝度オフセット値を用いて、符号化された画素色の候補組を決定するステップと、
前記色空間における、前記画素ブロックの前記色と前記符号化された画素色の候補組との間の距離総計を示す、前記符号化された画素色の候補組に対する符号化エラー候補を決定するステップと、
前記符号化エラー候補が前記画素ブロックに対する任意の以前の符号化エラー候補よりも低い場合に、前記符号化エラー候補を最良符号化エラーとして設定するステップと、
前記基調色および前記輝度オフセットの組として、前記基調色候補に適用されたときに前記最良符号化エラーを与える基調色候補および輝度オフセット値を選択するステップと、
を含む。
【００３１】
したがって、基調色候補の組を決定した後、次に、基調色候補の組のそれぞれを、その基調色候補に適用された輝度オフセット値を用いて、符号化された画素色の候補組を決定するために用いられてもよい。このように、色空間における、画素ブロックの色と符号化された画素色の候補組との間の距離総計を示す符号化エラー候補が決定されてもよい。このように決定された各符号化エラー候補に対して、それがいずれの以前の符号化エラー候補よりも低いことが見出された場合、それが最良符号化エラーとして設定される。各基調色候補を考慮する間、今までに見出された最良符号化エラーが記録され、このプロセスの最後において、この最良符号化エラーを与えた基調色および輝度オフセットの組が、この画素ブロックに対する選択された基調色および輝度オフセットの組として用いられることができる。
【００３２】
１つの実施形態においては、前記輝度オフセット値の少なくとも１つの所定のテーブルは、輝度オフセット値の複数の所定のテーブルを含み、前記基調色候補に適用された前記輝度オフセット値を用いて符号化された画素色の前記候補組を決定する前記ステップは、輝度オフセット値の前記複数の所定のテーブルのそれぞれのテーブルを用いて、符号化された画素色の前記候補組を反復的に決定するステップを含む。
【００３３】
したがって、輝度オフセット値の複数の所定のテーブルが提供された後、基調色候補に適用された輝度オフセット値を用いて符号化された画素色の候補組を決定するステップは、最良の符号化エラーを見出すために、輝度オフセット値の各テーブルを検索してもよい。
【００３４】
１つの実施形態においては、前記符号化エラーは累積的符号化エラーとして累積的に決定される。考慮中の輝度オフセット値の現在のテーブルに対する前記累積的符号化エラーが前記最良の符号化エラーよりも大きい場合、輝度オフセット値の前記現在のテーブルを用いて符号化された画素色の前記候補組を決定する前記ステップは、終了する。したがって、輝度オフセット値の各テーブルが考慮される間、符号化エラーは累積的に決定される。この累積的エラーが以前に見出された最良符号化エラーを越えると、このテーブルを用いたこの最終符号化エラーが今までに見出された最良符号化エラーを越えることを知ることができる。圧縮時間は、輝度オフセット値のこのテーブルに対する計算を終了することにより、節約され得る。この累積的符号化エラーは画素毎に評価され得、１つの実施形態においては、前記累積的符号化エラーは、前記画素ブロックの前記色に対して、画素毎に前記最良符号化エラーと比較される。したがって、所与の画素に対する計算により得られた累積的エラーが、今までに見出された最良符号化エラーを越えた場合、ただちに輝度オフセット値（考慮中の現在のベース色に適応される）のこのテーブルの考慮は終了することができる。
【００３５】
１つの実施形態においては、次の輝度線を考慮する前に、前記次の輝度線に対する前記オフセット総計が前記最良の符号化エラーを越える場合、前記反復輝度線考慮手順は終了され、前記次の輝度線も、前記複数の輝度線のうちのさらなる輝度線も、考慮されない。これは、上述のように、所与の輝度線上の基調色を用いる符号化エラーは、少なくとも、その輝度線に対するオフセット総計よりも大きくなければならない事実に基づくものである。したがって、反復輝度線考慮手順の間、次の輝度線に対するオフセット総計が今までに見出された最良の符号化エラーを越えることが見出された場合、この次の輝度線も、および、さらなる輝度線も、最良符号化エラーに対する改善をもたらすことができないことがただちに結論できる。なぜなら、これらの輝度線はオフセット総計でソートされているからである。そのため、今までに見出された最良符号化エラーに対する改善はもたらされず、反復輝度線考慮手順はただちに終了され得る。
【００３６】
１つの実施形態においては、前記ブロックはそれぞれ２画素×４画素の組を含む。
【００３７】
１つの実施形態においては、前記画素ブロックの、少なくとも１対の近傍ブロックは、相互既存形式で符号化される。なお、相互依存形式の符号化においては、前記近傍ブロック対のうちの第２ブロックは前記近傍ブロック対のうちの第１ブロックに基づいて符号化される。符号化効率の観点から、近傍ブロック対が相互依存形式で符号化されることが有利であることが見出されることもある。例えば、各基調色が１２ビットで符号化され得るのに対して、２つの近傍画素ブロックが２４ビットで符号化される場合、他の基調色をそれに対する３ビットのオフセットの組として定義する一方で、１つの基調色を１５ビット（例えば、ＲＧＢ５５５）で符号化することにより、基調色の定義にあたってより大きい精度が達成され得る。これは、もちろんのこと、２つのブロックの基調色の間の相違が、この３ビットのオフセットの組で表され得るよう十分小さい場合にのみ可能である。
【００３８】
１つの実施形態において、前記ブロックの対は、水平方向に隣接し、他の実施形態においては、前記ブロックの対は垂直方向に隣接する。
【００３９】
１つの実施形態においては、この方法は、その画素ブロックが前記相互依存方式で符号化された場合に、またはその画素ブロックが他の画素ブロックに対して独立方式で符号化された場合に、前記符号化エラーがより低くなるかどうかを、各画素ブロックに対して、判定するステップをさらに含む。次いで、その画素ブロックに対する最も低い符号化エラーを与える符号化形式が選択されてもよい。
【００４０】
１つの実施形態においては、この方法は、各画素ブロックに対して、すべての符号化方式に対して前記符号化エラーを反復的に決定し、前記符号化エラーに対して全体的に最も低い値を与える符号化方式を選択することをさらに含む。したがって、ブロック毎における、独立／相互依存符号化および水平／垂直分割の各順列は、いずれの順列が最良符号化を与えるかを判定するために、検証されてもよい。様々な相互依存符号化のそれぞれに対して、（ブロックの対に対して、第１および第２の仮想的なラベルを与えるものとして）第１ブロックが第２ブロックに依存する場合、または第２ブロックが第１ブロックに依存する場合、より低い符号化エラーが生成されたかどうかを判定してもよい。
【００４１】
１つの実施形態においては、前記色空間における距離の計算は、前記色空間の各色成分に対する人間の目の感度による知覚的重みが加味されてもよい。異なる色成分に対する人間の目における感度の差異が存在するため、符号化の品質における知覚的改善は、距離計算にこの現象を繰り込むことにより得られる。
【００４２】
１つの実施形態においては、前記符号化エラーは、ピーク信号対雑音比として計算される。これは、改善された品質の符号化を与えるために、判断されてもよい。
【００４３】
１つの実施形態においては、前記画像はテクスチャ画像である。テクスチャ画像は図形用途によりランダムアクセスされる必要がある。したがって、ブロックに基づく符号化が特に好適である。
【００４４】
１つの実施形態においては、前記所定の符号化形式は、ＥＴＣ形式である。
【００４５】
第２の態様の観点からは、本発明は、コンピュータに第１の態様の符号化方法を実施させるよう構成されたコンピュータプログラムを非一時的な方法で記憶するコンピュータプログラム製品を提供する。
【００４６】
第３の態様の観点からは、本発明は、所定の符号化形式により全画像の符号化を生成するための符号化装置を提供する。なお、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色と、前記基調色を基準とする輝度オフセットの１組とを含む、符号化された画素色の１組として符号化され、
前記基調色は、所定の色空間において定義された基調色の所定の１組から選択され、
前記輝度オフセットの組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組としてエンコードされ、
前記ベース色の組および前記輝度オフセット値は、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、少なくとも１つの前記輝度線上に存在し、
画素ブロックのそれぞれに作用するよう構成された前記装置は、前記書体の色空間における前記画素ブロックの平均色を決定するよう構成された平均色決定ユニットと、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するよう構成された輝度線選択ユニットと、
前記少なくとも１つの輝度線上に存在する１組の基調色候補を識別するよう構成された基調色候補識別器と、
前記１組の基調色候補と前記輝度オフセット値とを用いて、前記の組の符号化された画素色を決定し、前記基調色および前記の組の輝度オフセットは、前記色空間における前記の組の符号化された画素色と前記画素ブロックの前記色との間の距離の合計を示す符号化エラーに基づいて選択するよう構成された、決定ユニットと、
を含む。
【００４７】
第４の態様の観点からは、本発明は、所定の符号化形式により画像の符号化を生成するための符号化装置手段であって、前記所定の符号化形式は、画素ブロックにおいて前記画像を符号化し、各画素ブロックは、基調色と、前記基調色を基準とする１組の輝度オフセットとを含む、１組の符号化された画素色として符号化され、
前記基調色は、所定の色空間において定義された基調色の所定の組から選択され、
前記輝度オフセットの組は、輝度オフセット値の少なくとも１つの所定のテーブルに対する参考値の１組として符号化される。
基調色の前記の所定の組と前記輝度オフセット値とが、前記所定の色空間における輝度線の１組を定義し、前記符号化された画素色は、前記少なくとも１つの輝度線上に存在し、
各画素ブロックのそれぞれに作用するよう構成された前記装置手段は、
前記所定の色空間における前記画素ブロックの平均色を決定するよう構成された平均色決定手段と、
前記平均色の前記色空間における、前記少なくとも１つの輝度線からのオフセットに基づいて、少なくとも１つの輝度線を選択するための輝度線選択手段と、
前記少なくとも１つの輝度線上に存在する、基調色候補の１組を識別するための基調色候補識別手段と、
前記の組の基調色候補と前記輝度オフセット値とを用いて、前記の組の符号化された画素色を決定し、前記基調色および前記の組の輝度オフセットは、前記色空間における前記の組の符号化された画素色と前記画素ブロックの前記色との間の距離の合計を示す符号化エラーに基づいて決定される、決定手段と、
を含む。
【００４８】
添付の図面に示された以下の実施形態を参照して、本発明につき実施例のみによりさらに説明する。
【図面の簡単な説明】
【００４９】
【図１Ａ】２つのハーフブロックに垂直分割された、符号化される画素ブロックの概略図である。
【図１Ｂ】ＥＴＣ形式により定義された輝度オフセットの８つの所定の組を示す図である。
【図１Ｃ】絶対符号化および差分符号化の両方に対する、画素ブロックのそれぞれの６４ビット・符号化の細分を示す図である。
【図２Ａ】所定の色空間における、画素色の組と、これらの画素の平均色と、可能な基調色の所定の組とを示す図である。
【図２Ｂ】本来の画素色と対比させて、基調色および輝度オフセットにより圧縮された符号化を示す図である。
【図３】先行技術に係る符号化方法により基点が考慮される検索エリア（ボリューム）を示す図である。
【図４Ａ】平均画素色に最も近い輝度線および本来の画素色に対する最良の輝度線を示す図である。
【図４Ｂ】増加する色飽和度の方向を示す輝度線の１組を示す図である。
【図５Ａ】１つの実施形態において、所与の画素ブロックに対する最良の符号化を判定するために用いられる一連のステップを示す概略図である。
【図５Ｂ】図５Ａに示すプロセスにおいて用いられる、差分計算に関するステップを示す図である。
【図６】輝度線の候補組を判定するときに１つの実施形態において用いられる一連のステップを示す概略図である。
【図７】反復輝度線考慮手順を実施するとき１つの実施形態において用いられる一連のステップを示す概略図である。
【図８】輝度線上の１組の基調色候補を考慮するとき反復符号化決定手順における１つの実施形態において用いられる一連のステップの概略図である。
【図９】様々な実施形態を実施するために用いられ得る汎用計算装置の概略図である。
【発明を実施するための形態】
【００５０】
図４Ａは、平均画素色の近傍がこれらの画素色を符号化するための最良の基調色を含み得ない理由を示す、画素ブロックからの（特に、２×４画素のハーフブロックからの）８つの画素色の組を示す。本来の画素色が２つの群の間、すなわち１つ群は原点の比較的近傍に、他の群は高Ｒ／低Ｇの領域に、分散する事実により、平均画素色は、２つの群の間の、中間Ｒ／低Ｇ値のあたりに位置することとなる。図４Ａおよび図４Ｂは２次元色空間（ＲＧ）に対して示されるが、これは、ただ図示の簡略化のためになされたものであり、所定の色空間は一般には３次元（ＲＧＢ）であることを理解すべきである。図４Ａから見られるように、平均画素色に最も近いベース色（「最も近い輝度線」上）は、比較的大きい符号化エラーを有する、符号化された画素色しかを提供できないことが期待される。左側の画素群は、この基調色がその上に存在する輝度線から大きくは逸脱せず、そのために、比較的小さい輝度オフセットで適度に符号化されるのに対して、右側の画素色はこの輝度線から顕著に離れ、そのために比較的大きい符号化エラーでしか符号化され得ない。それに対比して、最良の基調色は、画素の左手の群および画素の右手の群の両方に対してより近くを通る輝度線（「最良の輝度線」）上に存在することが見られる。
【００５１】
これらの画素の平均画素色に最も近い輝度線ではない輝度線を選択することにより画素色の所与の組に対して達成される符号化エラーの改良が、平均画素色に最も近い輝度線に対して色飽和度の増加を示す輝度線に対してのみ生じうる（もし生じる場合）ことが、本発明の発明者により特に認められた。輝度線の増加する色飽和度の進行が、図４Ｂに示される。図４Ａに戻って、この「輝度線」は「最も近い輝度線」よりも色飽和度がより高い。したがって、本発明の実施形態は、反復輝度線選択手順を提案する。なお、この反復輝度線選択手順においては、増加する色飽和度の輝度線が（以下でより詳細に説明されるように）反復的に考慮される。
【００５２】
本発明の実施形態に係る全体的な符号化手順が、図５Ａに示される。４×４画素の各ブロックが、図５Ａに示すステップにしたがって処理される。まず、ステップ１００〜１３５において、いくつかの差分符号化計算が実施される。これらは、４×４ブロックを２つの２×４ハーフブロックに分割するステップと、１つのハーフブロックの符号化を、他方のハーフブロックに対して判定するステップとを含む。ブロックを２つのハーフブロックに分割するステップは、水平方向または垂直方向で行われ得、それぞれのハーフブロックは、「第１」ハーフブロックとして処理され、「第１」ハーフブロックに対して、「第２」ハーフブロックは差分符号化が施され得る。第１に、ステップ１００において、ブロックは垂直方向に分割され、左側のハーフブロックが「第１」ハーフブロックとして設定され、右側のハーフブロックが「第２」ハーフブロックとして設定される。次いで、ステップ１０５において、この順列に対する符号化エラーを判定するために、差分計算が実施される。ステップ１０５における差分計算は、図５Ｂに示すように実行される。ここで、ステップ１６０において、まず、最良無制限差分符号化が第１ハーフブロックに対して計算される。次いで、ステップ１６５において、第１ハーフブロックに対して第２ハーフブロックの最良差分符号化が判定される。最後に、ステップ１７０において、ブロックに対する全体的な符号化エラーは、（色空間における）本来の画素値と圧縮された画素値との差異に基づいて判定される。
【００５３】
図５Ａに戻って、ステップ１００およびステップ１０５において実行されたプロセスが、ステップ１１０およびステップ１１５において繰り返される。ただしここでは、右手のハーフブロックが「第１ブロック」として設定され、左手のハーフブロックが「第２ブロック」として設定される。同様に、ステップ１２０、１２５、１３０、および１３５において、同じプロセスが実行される。ただしここでは、ブロックは、上方ハーフブロックおよび下方ハーフブロックへと水平方向に分割され、上方ハーフブロックに関する差分計算が、下方ハーフブロックを基準にして実施され、次いで、逆の差分計算が行われる。すなわち、下方のハーフブロックに関する差分計算が、上方ハーフブロックを基準にして実施される。
【００５４】
次いで差分エンコードの順列がすべて考慮された後、ステップ１４０において、最良の絶対符号化が、２つのハーフブロックへの水平方向分割に関して決定される。一方、ステップ１４５において、２つのハーフブロックへの垂直方向分割に関する最良絶対符号化が計算される。最後にステップ１５０において、ブロックに対する最も低い符号化エラーを与える最良全体的符号化が、このブロックに対して選択された符号化として、選択される。各ハーフブロックに対する最良符号化がどのように決定されるかに関する詳細が、ここで図６、７、および８を参照して説明される。
【００５５】
各符号化手順は、符号化に用いられる輝度線候補を選択する図６に示すプロセスとともに開始される。まず、ステップ２００において、ハーフブロックに対する平均画素色が決定される。次いで、ステップ２０５において、平均画素色に最も近い３つの符号化可能な輝度線が選択される。これらの３つの輝度線は、符号化に用いられる３次元ＲＧＢ空間において、平均画素色を包囲する。次いでステップ２１０において、これらの輝度線のそれぞれについて、その輝度線上の最も近い点への、画素の色の距離の二乗の和（「オフセット総計」）を計算し、輝度線の候補組に加える。この輝度線の候補組の中で、３つの最初に選択された輝度線は「ペアレント」線としてフラグを設定され、この組は、それぞれに対して計算された距離の二乗の和に関してソートされる。次いで、反復輝度線選択手順がステップ２１５から開始して実行される。
【００５６】
ステップ２１５において、「ペアレント」線としてフラグされた輝度線が選択される。次いで、ステップ２２０において、この「ペアレント」線が、ペアレントよりも色飽和度がより高い近傍「ドーター」線を有するかどうかが判定される。３次元色空間においては、各ペアレントに対して、飽和度がより高い近傍ドーター輝度線が一般に２つ存在することに注意すべきである。また、（異なるペアレントを介して）すでに検査された近傍ドーター線は、一般に再考慮されない点についても、注意すべきである。係る近傍ドーター輝度線が存在する場合、ステップ２２５において、ドーター輝度線は選択され、ハーフブロックの画素の色からこのドーター輝度線への距離の二乗の和が計算される。次いで、ステップ２３０において、この距離の二乗の和が、このドーターのペアレント輝度線に対する距離の二乗の和より大きいかどうかが判定される。これが真である場合、次いでステップ２３５において、このドーター線は距離の二乗の和によりソートされた線の候補組に加えられる。まずステップ２４０において、二乗の和が非ゼロであるかどうかが判定され、これが真である場合、このドーターも候補一覧においてペアレントとしてフラグを設定される。
【００５７】
このドーターを線の候補組に加えた後、ステップ２５０において、考慮中の現在のペアレントの他のドーター線が存在するかどうかを判定し、存在する場合、処理の流れは、そのドーター線を処理するために、ステップ２２５に戻る。しかし、現在のペアレントのドーター線が他に存在しない場合、または（上述した）ステップ２２０において、考慮中の現在のペアレントが、飽和度がより高い、近傍ドーター輝度線をまったく有さない場合、処理の流れはステップ２５５に進み、ペアレントとしてフラグを設定され且つまだ処理されていない線の候補組において他の輝度線が存在するかどうかが判定される。存在する場合、処理の流れは、そのペアレント線を処理するために、ステップ２１５に進む。未処理のペアレント線が候補組の中にもはや存在しない場合、処理の流れはステップ２６０に進み、このステップ２６０において、候補線生成プロセスが完了する。
【００５８】
輝度線の候補組が図６に説明する手順にしたがって選択されると、輝度線候補の組は次いで、いずれが、このハーフブロックに対する最良符号化を与える基調色を提供するかを判定するために、考慮される。この手順は、１つの実施形態においては、図７に概略的に示されたステップにしたがって実行される。まず、それぞれのオフセット総計（すなわち、その輝度線上の最も近い点への、ハーフブロックの画素の色からの距離の二乗の和）にしたがってソートされた輝度線の候補組から、最も低いオフセットを有する線がステップ３００において選択される。ついで、ステップ３０５において、この線に対して利用可能な最良符号化が、決定される（すなわち、この線を定義する基調色および輝度オフセットを用いて）。これに関するさらなる詳細は、以下で図８を参照して説明する。この線に対する最良符号化を決定した後、ステップ３１０において、この線に対する符号化エラーは、このハーフブロックの本来の画素の色と、この符号化による符号化された画素色の組との間の距離の二乗の和として決定される。この符号化エラーが最良（すなわち、最も低い）である場合、これが現在の最良エラーとして設定される。次いで、処理の流れは、ステップ３１５に進み、ステップ３１５において、ソートされた一覧において他の輝度線候補が存在するかどうかが判定される。存在する場合、次に処理の流れは、ステップ３２０に進み、ステップ３２０において、次に最も近い（計算されたオフセット総計に関して）輝度線が選択される。次いで、ステップ３２５において、候補一覧においてこの線がソートされる基準となった、この線の距離の二乗の和（すなわち、この線に対するオフセット総計）が今までに決定された最良のエラーよりも大きいかどうかが確認される（ステップ３１０参照）。大きい場合、この線、またはさらなる線は、最良エラーについて改善することは不可能であり、処理の流れは、ステップ３３０に進み、ステップ３３０において、ハーフブロックは、その最良エラーを与えた線を用いて、特にその最良エラーを与えた線上のベース色を用いて、符号化される。しかしステップ３２５において、候補一覧におけるこの次の線に対するオフセット総計が今までに計算された最良エラーを越えないことが見出された場合、処理の流れは、この次の線に対する最良符号化を決定するために、ステップ３１０に戻り、ステップ３１０において、この次の線に対する符号化エラーが今までの最良エラーを越えるかどうかが確かめられる。いずれかの反復において、さらなる候補線一覧が存在しないとステップ３１５において判定された場合、処理の流れはステップ３３０に進む。
【００５９】
所与の輝度線に対する最良エラーが決定される手順（図７におけるステップ３０５）にいて、図８を参照しつつ、ここで説明する。まず、ステップ４００において、この輝度線上の第１基点（基調色候補）が選択される。次いで、ステップ４０５において、輝度オフセット値の第１テーブルが選択される。次いで、輝度オフセット値のこのテーブルから、ステップ４１０において、ハーフブロックの第１画素に対する最良テーブルエントリー（すなわち、輝度オフセット値）が決定される。ここで「最良」とは、この画素に対する最も低い符号化エラーを与えるエントリーを意味する。この画素に対する符号化エラー、すなわち色空間において符号化された画素色と本来の画素色との間の距離が、このハーフブロックに対する累積的符号化エラーに加えられる。ステップ４１５において、この累積的符号化エラーがこのハーフブロックに対するターゲットエラーを越えるかどうかが確認される。第１基点、第１テーブル、および第１画素に対して図８で説明されたプロセスのまさに最初の反復において、予め存在するターゲットエラーは当然存在せず、したがって、このまさに最初の反復において、ステップ４１５における結果は常に「無」経路にしたがうことなる点に注意すべきである。次いでステップ４２０において、ハーフブロック内に他の画素が存在するかどうかが判定され、存在する場合、次にステップ４２５において、最良テーブルエントリー（考慮中の現在のテーブルに対する）がこの次の画素に対して決定される。この次の画素に関連するエンコードエラーも計算され、このテーブルに対する累積的エラーに加えられる。ステップ４１５、４２０、および４２５におけるループが、ハーフブロックに対する全画素に対して完了する（すなわち、ステップ４１５におけるエラー総計テストに失敗することなく）と、ステップ４３０において、現在のテーブルに対するハーフブロックに関して計算されたエラー総計が、新しいターゲットエラーとして設定される。
【００６０】
ステップ４１５におけるエラー総計テストに失敗するか、またはステップ４３０における新しいターゲットエラーの設定に失敗した場合、処理の流れはステップ４３５に進み、ステップ４３５において、このハーフブロックの符号化に対して考慮することができる他のテーブルが存在するかどうかが判定される。存在する場合、ステップ４４０において、その次のテーブルが選択され、処理の流れは、そのテーブルを用いて画素のハーフブロックを符号化するために、ステップ４１０に戻る。しかしステップ４３５において他のテーブルがもはや利用可能でない場合、処理の流れはステップ４４５に進み、ステップ４４５において、現在考慮中の輝度線上に他の基点（すなわち基調色候補）が存在するかどうかが判定される。存在する場合、次いで処理の流れはステップ４０５に進み、ステップ４０５において、利用可能なテーブルに対する反復決定プロセスが新しい基調色を用いて再び実行される。この線上のすべての基点が考慮された後、処理の流れはステップ４５０において完了し、ステップ４５０においては、この線に対する最良の符号化が、ターゲットエラーを与えた基調色および輝度オフセットにより与えられることが決定される。
【００６１】
所定の色空間において計算された上記の計算は、いくつかの実施形態においては、異なる色成分に対する人間の目の感度を考慮に入れた知覚的重みを加味した距離として計算される。いくつかの実施形態における符号化エラーは、ピーク信号対雑音比に関して計算されてもよい。係る技術については、当業者は精通しているため、ここでは詳細に述べない。
【００６２】
図９は、上述の技術を実施するために用いられ得る種類の汎用計算装置５００の概略図である。汎用計算装置５００は、バス５２２を介してともに接続された中央処理装置５０２と、ランダムアクセスメモリ５０４と、読み出し専用メモリ５０６とを備える汎用計算装置５００はまた、すべて共通バス５２２を介して接続された、ネットワークインターフェースカード５０８と、ハードディスク駆動装置５１０と、ディスプレイドライバ５１２およびモニタ５１４と、キーボード５１８およびマウス５２０を有するユーザ入力／出力回路５１６とを、さらに備える。各画素ブロックの符号化を決定するために必要な計算を実行する動作中は、中央処理装置５０２は、コンピュータプログラム命令を実行され、このコンピュータプロクラム命令は、例えばランダムアクセスメモリ５０４および／または読み出し専用メモリ５０６に記憶されることもある。プログラム命令は、加えてハードディスク駆動装置５１０から取得されてもよく、または、ネットワークインターフェースカード５０８を介して動的にダウンロードされてもよい。実施された処理の結果は、接続されたディスプレイドライバ５１２およびモニタ５１４を介して、ユーザに表示されてもよい。汎用計算装置５００の動作を制御するためのユーザ入力、接続されたユーザ入力／出力回路５１６を介して、キーボード５１８またはマウス５２０から受け取られてもよい。コンピュータプログラムは様々な異なるコンピュータ言語で記述され得る。コンピュータプログラムは記録媒体上に局所的に記憶されてもよく、または汎用計算装置５００に動的にダウンロードされてもよい。適切なコンピュータプログラムの制御下で動作するとき、汎用計算装置５００は、上述した技術を実施することができ、上述の技術を実施するための装置を形成すると考えられる。汎用計算装置５００のアーキテクチャは、大きく異なるものであってもよく、図９はその１例にすぎない。
【００６３】
本明細書に記載の技術は、先行技術において知られる技術よりも、画像の符号化をはるかに高速に実施することが可能である。例えば、既存のツールを用いてのＥＴＣ圧縮テクスチャの生成はきわめて低速（既存のツールに維持される最高品質の場合、毎秒３００〜４００画素、すなわち通常のテクスチャに対して３０分〜１時間）である。本明細書に記載の技術は、圧縮プロセスを最高で１２５倍（検証した例示的場合において）まで高速化し、最高で毎秒４０，０００画素の速度で圧縮する。さらに、多くの場合において、既存のアルゴリズムよりも高品質な結果を生成しながら、高速化を可能とする。これは、図形用途の開発および検証する環境において、特に有利である。なぜなら、用途は何十・何百のテクスチャを含む場合もあり、本明細書に記載の技術を用いると、開発者は、開発中に、圧縮されたテクスチャの品質をより高速に評価することが可能になる。
【００６４】
本明細書においては特定の実施形態について説明してきたが、本発明はこれらの実施形態には限定されず、本発明の技術範囲から逸脱することなく、多くの変更例および追加例が可能であることが理解できるであろう。例えば、以下の従属請求項の特徴と、独立請求項の特徴との、様々な組み合わせが本発明の権利範囲から逸脱することなく、可能である。
【符号の説明】
【００６５】
５００  汎用計算装置
５０２  中央処理装置
５０４  ランダムアクセスメモリ
５０６  読み出し専用メモリ
５０８  ネットワークインターフェースカード
５１０  ハードディスク駆動装置
５１２  ディスプレイドライバ
５１４  モニタ
５１６  ユーザ入力／出力回路
５１８  キーボード
５２０  マウス
５２２  共通バス
【図１Ａ】
0006035026.tif 000002
【図１Ｂ】
0006035026.tif 000003
【図１Ｃ】
0006035026.tif 000004
【図２Ａ】
0006035026.tif 000005
【図２Ｂ】
0006035026.tif 000006
【図３】
0006035026.tif 000007
【図４Ａ】
0006035026.tif 000008
【図４Ｂ】
0006035026.tif 000009
【図５Ａ】
0006035026.tif 000010
【図５Ｂ】
0006035026.tif 000011
【図６】
0006035026.tif 000012
【図７】
0006035026.tif 000013
【図８】
0006035026.tif 000014
【図９】
0006035026.tif 000015