(58)【調査した分野】(Int.Cl.,DB名)
前記残余ビット割り当てテーブルは、何個のビットが前記残余テーブルの各残余ノードに割り当てられるかを示すことができる、請求項1又は2に記載のプリントカートリッジ。
前記量子化係数は、離散コサイン変換によって生成され、逆離散コサイン変換プロセスを用いて圧縮解除されることができ、それにより圧縮解除された差分テーブルが得られる、請求項1〜3の何れか1項に記載のプリントカートリッジ。
基準テーブルの対応するノードと組み合われるべき値を表す各差分ノードは、元の色テーブルのノードの値と基準テーブルの対応するノードの値の差分を含む、請求項1〜4の何れか1項に記載のプリントカートリッジ。
前記復元された差分テーブルと前記基準テーブルの組み合わせの対応するノードと組み合わされるべきである各残余ノードは、前記元の色テーブルのノードの値と前記復元された差分テーブルの対応するノードの値の差分である値を含む、請求項5に記載のプリントカートリッジ。
前記圧縮データ構造は、前記量子化係数から導出された係数ビット割り当てテーブルを更に含み、前記係数ビット割り当てテーブルは、前記量子化係数を復号するために使用可能であり、前記係数ビット割り当てテーブルは、前記量子化係数のそれぞれに割り当てられたビットの数に関連する情報を含む、請求項1〜11の何れか1項に記載のプリントカートリッジ。
【発明を実施するための形態】
【0003】
詳細な説明
以下の詳細な説明において、添付図面が参照され、その添付図面は、本明細書の一部を形成し、本開示を実施することができる特定の例として例図によって示されている。理解されるべきは、本開示の範囲から逸脱せずに、他の例が使用されてもよく、構造的または論理的変更がなされてもよい。従って、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲によって規定される。理解されるべきは、特に断りのない限り、本明細書に記載された様々な例の特徴は、部分的または全体的に互いに組み合わされてもよい。
【0004】
色空間は、軸(複数)を有し、色を数値的に記述する系である。二次元および三次元(積層造形)印刷装置のような幾つかの出力デバイスは、シアン−マゼンタ−イエロー−キー(黒色)(CMYK)色空間のタイプを使用することができる一方で、幾つかのソフトウェアアプリケーション及び表示装置は、赤−緑−青(RGB)色空間のタイプを使用することができる。更に、幾つかのソフトウェアデバイスは、単色色空間またはグレースケール色空間を使用することができる。例えば、CMYK色空間で表された色は、シアン値、マゼンタ値、イエロー値、及びキー値を有し、それらの組み合わせによって、その色を数値的に表現する。
【0005】
様々な色空間の間で変換を行う色テーブルは、色管理に広く使用されており、一般的例は、デバイスに依存しない色空間(例えば、CIELAB、即ち、L
*a
*b
*)からデバイスに依存する色空間(例えば、RGB又はCMYK)への変換であり、逆もまた同じである。マッピングは、1つ以上の一次元または多次元のルックアップテーブルのようなテーブルを用いて指定され、そこに補間が適用される場合もあれば、又は変換のための一連のパラメータによって指定される場合もある。色テーブルは、ランタイム計算を色ルックアップテーブルのようなもっと単純な配列索引付け操作に置き換える、メモリデバイス上のアレイまたは他のデータ構造を含むことができる。また、本開示の目的のために、色テーブルには、単色の色テーブル及びグレースケールの色テーブルも含まれ得る。
【0006】
例えば、色テーブルは、全色の範囲からM色を適応させることができる一組のM個のノードを含むことができる。各ノードは、一組のビット又はバイトとして表される特定の色値を含む。RGB色空間における256色の色テーブルは、各ノードが18ビットの深度、即ち赤、緑、及び青の各値に6ビットを有する状態の256ノードで表され得る。
【0007】
色プロファイルは、異なる色空間の間の変換を特徴付けるデータファイルである。一例において、色プロファイルは、供給源またはターゲットの色空間のようなデバイス依存の色空間とプロファイル接続空間(PCS:Profile Connection Space)のようなデバイスに依存しない色空間との間のマッピング(及び、逆もまた同じ)を用いて、特定のデバイスの色属性または表示仕様を記述することができる。色をキャプチャする又は表示するデバイス及びソフトウェアプログラム(プリンタ、モニタ、テレビ、オペレーティングシステム、ブラウザ、及び他のデバイス及びソフトウェアを含む)は、ハードウェアとプログラムの様々な組み合わせを含むプロファイルを含むことができる。
【0008】
ICCプロファイルは、国際色彩コンソーシアム(ICC:International Color Consortium)によって公布された規格に従って色空間を特徴付ける一組のデータである例示的な色プロファイルである。ICCプロファイルフレームワークは、様々な色空間の間で伝達および交換するための規格として使用されている。ICCプロファイルは、デバイスのタイプによって変わることができる多数のデータ記録を含む。色ルックアップテーブルを含むもののような幾つかの記録は、色変換用のデータを提供する。色ルックアップテーブルの記録は、デバイス空間とPCSとの間の色変換にパラメータを提供する複数のコンポーネントを含む。ルックアップテーブルは、色変換マトリクス、一次元ルックアップテーブル、及び多次元ルックアップテーブルを含むことができる。ルックアップテーブルの入力と出力におけるチャネルの数は、必要とされる色空間に依存して変化するであろう。
【0009】
ICCプロファイルは、多くの場合、異なるデバイス間での色忠実度を達成するためにハードウェアとプログラムの様々な組み合わせとしてカラー文書に埋め込まれ、それによりこれら文書の総サイズが増大する。カラー文書の各グラフィック要素、即ち図またはイメージは、それ自体のICCプロファイルを有することができる。また、色プロファイルの色テーブルのサイズは、空間のより精細なサンプリング及びより大きなビット深度と共に増大するであろう。カラープリンタのような装置の場合、色テーブルは、プリンタのファームウェア又は他のハードウェアに埋め込まれることが多く、この場合、色テーブルは、記憶装置のコンピュータメモリを消費する。
【0010】
一般に、プロファイルは、処理されるべきN個の色テーブル(例えば、CLUT
1、CLUT
2、・・CLUT
N)を含むことができる。異なるレンダリング目的を表す複数の色テーブルは、1つのICCプロファイルと共に含められることが多い。更に、入力色空間は、J
inチャネルを含み、出力色空間はJ
outチャネルを含み、ICCプロファイルの多くの例において、J
in及びJ
outは、1つ以上のチャネルであることができる。各出力チャネルについて、対応するルックアップテーブルは、M
Jin個のノードを含む。
【0011】
幾つかの状況において、これら色テーブルを格納するために消費されるファームウェアメモリの量は、特にカラー装置のルックアップテーブルの数が複数の色空間、印刷媒体および好みをサポートするために増加する場合、関心事になる可能性がある。また、空間のより精細なサンプリング及びより大きなビット深度に向かう傾向は、テーブルサイズの増大、これらメモリの関心事を更に悪化させるという結果になる。更に、効率的なメモリ使用法および記憶空間使用量の関心事は、ICCソースプロファイルのようなカラー文書に埋め込まれる色テーブルに適用可能である。埋め込まれたプロファイルが使用される応用形態において、埋め込まれたプロファイルは、オーバーヘッドを表す。
【0012】
図1は、圧縮された色テーブル(圧縮色テーブル)102を含む例示的なメモリデバイス100を示す。圧縮色テーブル102は、圧縮された元の色テーブルであることができる。元の色テーブルは、一組のノードを含む。一例において、メモリデバイス100は、プリンタカートリッジ又はプリンタに含められ得る。別の例において、メモリデバイス100は、プリンタカートリッジ上の一部品および一緒に処理され得るプリンタの別の部品のような協働する部品に含められ得る。圧縮色テーブル102は、圧縮された差分テーブル(圧縮差分テーブル)104及び残余テーブル106を含むようにメモリデバイス100に設けられる。圧縮色テーブル102は、バイナリファイルを含む一組のファイルとして又はビットストリームとして、格納され得る。差分テーブル104は、各ノードが元の色テーブルのノードの値と基準テーブルのノードの値との間の差分を表す複数の差分ノードを含む。基準テーブルは、予め選択された値または所定の値を有するノードを含む。一例において、基準テーブルのノードの値は、元の色テーブルのノードを表す。残余テーブル106は、各ノードが元の色テーブルのノードの値と復元された圧縮差分テーブルのノードの値との間の差分を表す複数の残余ノードを含む。
【0013】
例示的なメモリデバイス100は、1つ又は複数の揮発性または不揮発性コンピュータ記憶媒体の組み合わせを含むように実現され得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータのような情報の格納のための任意の適切な方法または技術として実現され得る。それ自体による伝搬信号は、記憶媒体またはメモリデバイスとして識別されない。メモリデバイスは、プロセッサ、及び色変換を行うための当該プロセッサを制御するための一組のコンピュータ命令を格納するためのメモリを含むシステムの一部として含められ得る。例は、インク又は媒体のパラメータ又はデバイス仕様のような係る仕様に基づいて色変換を行うためにプリンタにより読み出され得るプリンタカートリッジの一部として含められたメモリデバイスを含む。
【0014】
図2は、色テーブル又は元の色テーブルを圧縮するために利用され得る例示的な方法200を示す。例は、一次元色テーブル、即ち1つの入力チャネル、1つの出力チャネル、ひいてはM個のノードを有する色テーブルに関連して説明されるが、概念は、多次元色テーブル及び他の色プロファイル記録に移行可能であることができる。差分テーブルは202で圧縮される。差分テーブルは、色テーブルのノードと基準テーブルのノードの値の差分を表す複数の差分ノードを含む。圧縮差分テーブルは、204において、残余テーブルを生成するために復元されて適用される。残余テーブルは、色テーブルのノードと復元された圧縮差分テーブルのノードの値の差分を表す複数の残余ノードを含む。圧縮差分テーブル及び残余テーブルは、デバイス100のようなメモリデバイスにデータファイルとして格納され得る。
【0015】
一例において、差分色テーブルは、202において、データ点の有限のシーケンスを様々な周波数で振動するコサイン関数の和によって表す離散コサイン変換、即ちDCTを用いて圧縮されるが、他のシステムが利用されてもよい。DCT圧縮は特に、色テーブルが一次元または多次元で表され得る例に適切であることができる。他の例において、差分色テーブルは、SPIHT(Set Partitioning In Hierarchical Trees)及びSPECK(Set Partitioned Embedded bloCK)のような、ウェーブレットに基づくことができるシステムを用いて圧縮され得る。
【0016】
例示的な方法200は、色テーブルをファイル又はビットストリームへ圧縮するために方法200を実行するために、プロセッサ及びメモリを有するコンピューティングデバイスのようなシステムを制御するための1つ又は複数のハードウェアデバイス及びプログラムの組み合わせを含むように実現され得る。ファイル又はビットストリームは、追加のファイル又はビットストリームへ細分化され得る。方法200は、プロセッサを制御するための一組の実行可能命令として実現され得る。本開示の他の方法は、同様にシステムを制御するためのハードウェア及びプログラムの組み合わせとして実現され得る。
【0017】
データ圧縮は、元の表現よりも少ないビットを用いて情報を符号化することを含む。可逆圧縮および不可逆圧縮は、データ圧縮の2つの形態である。可逆圧縮では、元のデータと復元された可逆圧縮データとの間にデジタル差は存在しない。対照的に、元のデータの一部は、不可逆圧縮データの復元時に失われる。
【0018】
例示的な方法200において、特定の可逆圧縮システムは、圧縮されるべき元の色テーブルの特定の特徴を利用するために使用され得る。特定の可逆圧縮は、元の色テーブルに適用されて、元の色テーブルからデジタル差のない色テーブルへ復元され得るファイルにすることができる。汎用可逆圧縮システムは、任意の種類のデータを圧縮するために利用され得る。これらファイルの1つ又は複数は、ファイルのサイズを更に低減するために汎用可逆圧縮システムでもって更に圧縮され得る。
【0019】
図3は、方法200においてのような元の色テーブルを圧縮する例示的な方法300を示す。例示的な方法300は、色テーブルデータの特定の特徴を利用する特定の可逆圧縮段階、及び高いデータ圧縮のための汎用可逆圧縮段階を含む段階で実施され得る。一例において、方法の段階は、連続的に実行される。
【0020】
プロセス300は、302において、元の色テーブル及び基準テーブルから差分テーブルを生成する。差分テーブルは、各ノードが元の色テーブルのノードの値と基準テーブルのノードの値の差分を表す値を含む複数の差分ノードを含む。一例において、元の色テーブル及び基準テーブルはそれぞれ、M個のノードを含む。元の色テーブルの各ノードの値は、差分テーブルの対応するノードに値を提供するために、基準テーブルの対応するノードの値から減算される。かくして、差分色テーブルのノード位置jに値を提供するために、元の色テーブルのノード位置jの値が、基準テーブルのノード位置jの値から減算され、この場合、jは1からMまでのノード位置である。
【0021】
基準テーブルは、元の色テーブルのノードを表すことができる予め選択された値または所定の値を有するノードを含む。一例において、差分ノードの値をより小さくすればするほど、残余テーブルのノードの値を小さくし、効率的な圧縮を行うことができる。一例において、基準ノードの値は、基準テーブルの{0、1、2・・(M−1)}であることができる。
【0022】
304において、差分テーブルが圧縮される。当該例において、差分テーブルは、306において一組の量子化係数を生成するために更に処理され得る一組の係数を生成するためにDCTによって圧縮される。M個のノードを有する差分テーブルは、M個の係数を生成する。306において、一組の係数における係数のそれぞれは、固定ステップサイズΔにより分割され又は量子化されて、一組のM個の量子化係数を提供するために最も近い整数に丸められ得る。308において、量子化係数は、バイナリファイルに書き込まれ得る。
【0023】
310において、圧縮差分テーブルは、復元されて、最初に復元されたテーブルを生成するために基準テーブルに適用される。例えば、306からの量子化係数を用いて、復元された差分テーブルを生成する。当該例において、ステップサイズΔを乗じた量子化係数が、逆DCTプロセスに適用され、復元された差分テーブルのノードの値を得るために最も近い整数に丸められる。310において、復元された差分テーブルは、最初に復元されたテーブルを得るために基準テーブルに追加される。一例において、復元された差分テーブル及び基準テーブルはそれぞれ、M個のノードを含み、復元された差分テーブルの各ノードの値は、最初に復元されたテーブルの対応するノードの値を提供するために、基準テーブルの対応するノードの値に追加される。
【0024】
最初に復元されたテーブルは、312において、残余テーブルを得るために元の色テーブルから減算される。一例において、最初に復元されたテーブル及び元のテーブルはそれぞれ、M個のノードを含み、最初に復元されたテーブルの各ノードの値は、残余テーブルの対応するノードの値を提供するために、元のテーブルの対応するノードの値から減算される。残余テーブルは、314においてバイナリファイルに書き込まれ得る。一例において、最初に復元されたテーブルに追加された残余テーブルは、元の色テーブルからデジタル差の無い又はほぼ無い色テーブルを生成する。別の例において、残余テーブルは、最初に復元されたテーブルに追加された残余テーブルが元の色テーブルの近似を生成するように決定される。
【0025】
量子化係数および残余テーブルを用いて、対応するビット割り当てテーブルを計算する。量子化係数は、308においてバイナリファイルに書き込まれた量子化係数を復号するために使用され得る係数ビット割り当てテーブル(CBAT)を316において計算するために使用される。同様に、残余テーブルの値は、314においてバイナリファイルに書き込まれた残余テーブルを復号するために使用され得る残余ビット割り当てテーブル(RBAT)を318において計算するために使用され得る。一次元の元の色テーブルは、1つのCBAT及び1つのRBATを含む。
【0026】
316及び318で生成されたCBAT及びRBATはそれぞれ、何個のビットが各量子化係数または残余値に割り当てられるかに関連している情報を格納する。例えば、
は、−0.5からL−0.5の範囲の実数を整数値に量子化するために使用され、この場合、
はLの2を基数とする対数、log
2(L)の天井関数を表し、天井関数は、実数を最小の次の整数にマッピングする。係数および残余値は負の数である可能性があるため、追加のビットがCBAT及びRBATの符号に設けられる。
【0027】
例示的なプロセスが、316、318においてCBAT及びRBATのそれぞれのビット割り当てテーブルを計算するために適用され得る。所与の出力チャネルの場合、当該出力チャネルの量子化されたDCT係数は、Q
i,jとして示され、この場合、i(1からN)は色テーブルの番号であり、j(1からM)は一次元の元の色テーブルのノード番号である(多次元色テーブルの場合に1からM
Jin)。Q
i,jに必要とされるビットの数B
i、jは、Q
i,j=0の場合、B
i,j=0であり、Q
i,jが0でない場合、
である。
【0028】
一例において、固定ビット数aが、個々のビット割り当てテーブルのあらゆるノードに割り当てられ、各ビット割り当てテーブルのサイズを決定するために使用され得る。ビット割り当てテーブルのノード位置j又はL
jにある値は、各色テーブルi(1からNまで)に必要な最大ビット数B
i、jから求められ得る。固定ビット数aは、各ノード位置j(1からMまで)に対して求められた際に、
の最大数から求められ得る。当該例において、一次元色テーブルの1ビット割り当てテーブルの総サイズは、このようにaMビットである。
【0029】
CBAT及びRBATの総サイズは、汎用可逆圧縮によって大幅に低減され得る。汎用可逆圧縮は、LZMA(Lempel-Ziv-Markov chain Algorithm)プロセス、GZIP(GNU-zip)プロセス、又はデータファイルの可逆圧縮を得るために適用され得る他の適切な可逆圧縮システムを含む様々な圧縮システムを用いて実施され得る。CBATは、320において圧縮されることができ、RBATは、LZMAのような可逆圧縮でもって322において圧縮され得る。
【0030】
幾つかの例において、量子化係数および残余バイナリファイルは、汎用可逆圧縮でもって圧縮され得るが、LZMAでは、高い冗長性を含む可能性がある量子化係数および残余テーブルに対する圧縮性能は、ビット割り当てテーブルに対するものと同じぐらいではないかもしれない。
【0031】
306において量子化係数を生成するために使用された、選択されたステップサイズΔは、圧縮の量に影響を及ぼす可能性がある。圧縮率は、元の色テーブルのサイズを、全てのファイルのサイズ、即ち量子化係数、残余テーブル、及びビット割り当てテーブルのサイズで除算することから求められ得る。より大きなステップサイズΔは、より大きな残余値を除いてより小さい量子化DCT係数を得るが、より小さいステップサイズΔは、より小さい残余値を除いてより大きい量子化DCT係数を得る。最適化された圧縮率は、量子化係数ファイルのサイズと残余テーブルファイルのサイズを均衡させる。ステップサイズΔの関数として圧縮率を計算する際、ステップサイズΔが増加するにつれて、圧縮率は最初に増加し、最適化されたステップサイズΔ
optでピークに到達し、減少すると判断される。一例において、一般に高い圧縮率は、約2の選択されたステップサイズΔで達成され得る。
【0032】
また、DCT圧縮は、色テーブルが多次元で表されるかもしれない例に特に適切であることができる。306における多次元色テーブルの更なる処理において、J
in次元の量子化係数は、選択された順序の一次元データストリームへ再順序付けされ得る。選択された順序は、三次元ジグザク順序付けのような多次元ジグザグ順序付けに基づくことができ、DCT変換後のエネルギーが低周波領域に集中するため、量子化係数を再順序付けするために使用され得る。三次元順序付けを実施する際、平面(プレーン)i+j+k=cがcの増加する順に訪問され、各平面内で2次元ジグザグが実施されるように、トラバース(横断)が構成され得る。低周波数から高周波数への量子化された係数の係るトラバースは、係数ビット割り当てテーブルに大量の冗長性を導入することができ、それにより圧縮の際にデータの効率的なパッキングが行われ得る。多次元色テーブルからの量子化係数の結果としての一次元データストリームは、308においてバイナリファイルに書き込まれ得る。
【0033】
多次元テーブルの場合、各出力チャネルは、別個の係数ビット割り当てテーブルに対応することができる。従って、J
out出力チャネルを有するプロファイルは、J
out係数ビット割り当てテーブルを含む。各ビット割り当てテーブルのノードは、元の色テーブルのノードと一致する。
【0034】
図4は、
図1の圧縮色テーブル102と一致することができる圧縮色テーブル402を含む例示的なメモリデバイス400を示す。メモリデバイス400に格納された圧縮色テーブル402は、量子化係数404のビットストリーム、圧縮された係数ビット割り当てテーブル(CBAT)406、残余テーブル408、及び圧縮された残余ビット割り当てテーブル(RBAT)410を含む。例えば、量子化係数404のビットストリームは、308において方法300から求められ、圧縮されたCBAT406のビットストリームは320において求められ、残余テーブル408のビットストリームは312で求められ、及び圧縮されたRBAT410のビットストリームは322で求められることができ、それらはメモリデバイス400に格納される。一例において、CBAT及びRBATは、LZMAプロセスで圧縮されて、圧縮されたCBAT406及び圧縮されたRBAT410はメモリデバイス400に.lzmaファイルとして格納される。一例において、量子化係数404及び残余テーブル408は、メモリデバイス400にバイナリファイル(.bin)として格納される(別の例において、308、312で生成された量子化係数および残余テーブルはLZMAのような汎用圧縮技術でもって圧縮され、ファイル404及び408は.lzmaファイルとしてメモリデバイス400に格納される)。メモリデバイス400は、メモリデバイス100の一例であることができる。
【0035】
図5は、メモリデバイス400のファイル404〜410のような、圧縮された元の色テーブル402を復号する例示的な方法500を示す。
【0036】
1つ又は複数のファイル402、404、406又は408が汎用可逆圧縮でもって圧縮される場合、メモリデバイス400の標準的な可逆圧縮されたファイル402、404、406又は408は、502において圧縮解除される。例えば、502において、逆LZMA又は逆GZIP(即ち、320、330において及び他のファイルに適用された汎用可逆圧縮の逆)のような、標準的な可逆圧縮解除技術が、圧縮されたCBAT及びRBATファイル406、410に適用されて、圧縮解除されたビット割り当てテーブル、又はCBAT及びRBATがもたらされる。
【0037】
504において、圧縮解除されたCBATを用いて量子化係数を復元し、圧縮解除されたRBATを用いて残余テーブルを復元する。例えば、圧縮解除されたCBATは、ビットストリームの何個のビットがM個の係数の各量子化された係数値に割り当てられるかを求めるために、量子化係数ファイル404に適用される。同様に、圧縮解除されたRBATは、バイナリストリームの何個のビットが残余テーブルの各ノードに割り当てられるかを求めるために、残余テーブルファイル408に適用される。
【0038】
504からの一組のM個の復元された量子化係数は、506において差分テーブルを得るために処理される。復元された係数は、前処理された係数を得るために、量子化されたステップサイズΔを乗じる。506において、DCTが304において係数を求めるために使用された場合、逆DCTプロセスが前処理された係数に適用され、圧縮解除された差分テーブルのM個のノードを得るために最も近い整数に丸められる。
【0039】
302で使用された基準テーブルは、508において中間テーブルを得るために、506からの圧縮解除された差分テーブルに追加される。一例において、圧縮解除された差分テーブル及び基準テーブルはそれぞれ、M個のノードを含み、圧縮解除された差分テーブルの各ノードの値は、中間テーブルの対応するノードで値を提供するために基準テーブルの対応するノードの値に追加される。かくして、圧縮解除された差分テーブルのノード位置jにおける値は、中間テーブルのノード位置jで値を提供するために、基準テーブルのノード位置jにおける値に追加され、この場合、jは1からMまでのノード位置である。
【0040】
510において、508からの中間テーブルは、圧縮解除された元の色テーブルを得るために、504からの復元された残余テーブルに追加される。一例において、中間テーブル及び復元された残余テーブルはそれぞれ、M個のノードを含み、中間テーブルの各ノードの値は、圧縮解除された元の色テーブルの対応するノードにおける値を提供するために、復元された残余テーブルの対応するノードの値に追加される。かくして、中間テーブルのノード位置jにおける値は、圧縮解除された元の色テーブルのノード位置jにおける値を提供するために、復元された残余テーブルのノード位置jにおける値に追加され、この場合、jは1からMまでのノード位置である。圧縮解除された元の色テーブルは、方法300でもって圧縮された元の色テーブルと同じである。
【0041】
方法300のような一次元色テーブルを圧縮する方法は、基準テーブルとして、1DX1_unity.cxfを用いて、1DX1_75percent_nonlinear_mono.cxf及び1DX1_90percent_nonlinear_mono.cxfテーブルに適用される。基準テーブルは、0から255まで線形的に増加するノードを含む、256個のノードを含む。基準テーブルは、メモリデバイス100に格納され得るが、容易に計算されることもでき、圧縮された元の色テーブルのファイルの一部として格納されない。この例において、M=256であり、バイト深度(各ノードの値を格納するために使用されるバイトの数)はb=2である。全体で、各テーブルのbM=256バイト及び双方のテーブルの合計512バイトが存在する。2の整数ステップサイズΔが、残余値のサイズと係数のサイズの均衡(バランス)を比較的最適化するために選択された。
【0042】
残余テーブル、量子化係数、RBAT、及びCBATは、.binバイナリファイルとして書き込まれ、汎用可逆LZMA圧縮で圧縮されて.lzmaファイルになる。残余テーブル及び量子化係数は、汎用可逆圧縮でもって更に圧縮されない。その理由は、.lzmaファイルのサイズが対応する.binファイルより大きいと判断されるからである。従って、残余テーブル及び量子化係数は、バイナリファイルとして格納されるが、RBAT及びCBATは.lzmaファイルとして格納される。
【0043】
表1は、残余テーブル及び量子化係数がバイナリファイルとして格納され且つRBAT及びCBATが.lzmaファイルとして格納された際のファイルのサイズをバイトで示す。2つの圧縮された元の色テーブルは、3.05の圧縮率の場合、元のテーブルの512バイトと比べて、168バイトだけ占有した。
【0045】
図6は、メモリデバイス604上に圧縮色テーブル602を作成するために使用され得る例示的なシステム600を示す。圧縮色テーブル602は、圧縮差分テーブル616及び残余テーブル618を含むことができる。一例において、メモリデバイス604は、例示的なメモリデバイス100、400の1つと一致することができる。例えば、圧縮色テーブル602は、圧縮色テーブル402の量子化係数404のビットストリーム、圧縮された係数ビット割り当てテーブル(CBAT)406のビットストリーム、残余テーブル408のビットストリーム、及び圧縮された残余ビット割り当てテーブル(RBAT)410のビットストリームを含むことができる。例示的なシステム600は、1つ又は複数の方法200、300のような本開示の例示的な方法を実施するためにプロセッサ608を制御するための、メモリ610に格納された一組のコンピュータ可読命令として、当該方法を実施するために構成されているプロセッサ608及びメモリ610を有するコンピューティングデバイス606を含む。一例において、一組のコンピュータ可読命令は、コンピューティングデバイス606で動作するように構成されたハードウェアとプログラムの様々な組み合わせを含むことができるコンピュータプログラム612として実現され得る。コンピュータプログラム612は、メモリデバイス604上に圧縮色テーブル602を作成するために、メモリ610に格納されてプロセッサ608により実行され得る。メモリデバイス604は、プリンタカートリッジのような消耗製品614に含められ得る。
【0046】
図7は、システム600のようなシステムでもってメモリデバイス604上に作成される圧縮色テーブル602を適用するために使用され得る例示的なシステム700を示す。当該例において、メモリデバイス604は、液体インク、乾燥トナー粉末、又はプリンタと使用するための他の印刷またはマーキング物質のリザーバを有するプリンタカートリッジのような消耗製品614に含められる。一例において、プリンタカートリッジは、黒インク、シアンインク、マゼンタインク、又はイエローインクに対応する色テーブルのような、印刷またはマーキング物質と一致する色テーブルを含む。
【0047】
メモリデバイス604は、圧縮色テーブル602を読み出し且つ適用するために、プロセッサ704及びメモリ706を有する別のコンピューティングデバイス702に動作可能に結合され得る。一例において、コンピューティングデバイス702は、固有の印刷能力を含み、メモリデバイス604を受け入れ且つ色ルックアップテーブルとして圧縮色テーブル602を圧縮解除および読み出すことができるレーザプリンタ又はインクジェットプリンタとして構成され得る。コンピューティングデバイス702は、色テーブル602を圧縮解除する又は色テーブル602を適用するために方法500のような方法を実行するために、メモリ706に格納され且つプロセッサ704により実行可能な一組のコンピュータ可読命令を含むことができる。一例において、一組のコンピュータ可読命令は、コンピューティングデバイス702で動作するように構成されたハードウェアとプログラムの様々な組み合わせを含むことができるコンピュータプログラム708として実現され得る。コンピュータプログラム708は、メモリ706に格納されて、メモリデバイス604の圧縮色テーブル602を圧縮解除するためにプロセッサ704により実行可能であることができる。一例において、メモリ706は、方法500で使用される基準テーブルを格納することができる。別の例において、基準テーブルは、データ構造のデータのようなコンピュータプログラム708の一部として、又はプロセッサ704でもって実行された計算によってコンピュータプログラムで作成されメモリ706に格納されるものとして含められ得る。
【0048】
一例において、コンピューティングデバイス702は、インターネットのようなコンピュータネットワークに結合され、圧縮色テーブル602は、ネットワークを介してコンピューティングデバイス702に結合されたメモリデバイス604に格納される。消耗製品は、コンピューティングデバイス702でもって付勢される場合に、コンピューティングデバイスが圧縮色テーブル602をプロセッサ704でもって読み出し且つ適用するために、メモリデバイスからメモリ706に圧縮色テーブル602(及びまた場合によっては、基準テーブル)をダウンロードするコードを含むことができる。
【0049】
特定の例が本明細書で図示および説明されたが、様々な代替および/または等価な具現化形態が、本開示の範囲から逸脱せずに、図示および説明された特定の例に置き換えられ得る。本出願は、本明細書で説明された特定の例の任意の改変または変形を網羅することが意図されている。従って、本開示は、特許請求の範囲およびその等価物によってのみ制限されることが意図されている。