(57)【要約】      （修正有）【課題】色空間の間で色データを変換するための情報を色管理システムに提供するデバイスプロファイルを提供する。【解決手段】メモリデバイスは、液体インク、乾燥トナー粉末、又はプリンタと使用するための他の印刷またはマーキング物質のリザーバを有するプリンタカートリッジのような消耗製品に含められる。メモリデバイスは、圧縮差分テーブルと残余テーブルを有する圧縮色テーブルを含む。差分テーブル、は差分ノードを含む。各差分ノードは、元の色テーブルのノードの値と基準色テーブルの対応するノードの値の差分である値を表す。残余テーブルは残余ノードを含む。各残余ノードは、元の色テーブルのノードの値と復元された圧縮差分テーブルの対応するノードの値の差分である値を表す。【選択図】図１
2020074520.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを有するプリンタに動作可能に結合されることができるプリントカートリッジであって、
前記プリンタ用の一次元色変換テーブルを構成するための圧縮データ構造を含むメモリデバイスを含み、前記圧縮データ構造は、
複数の差分ノードを含む差分テーブルの圧縮から導出される量子化係数であって、各差分ノードは、基準テーブルの対応するノードと組み合わされるべき値を表し、前記量子化係数は復元された差分テーブルを生成するために使用可能である、量子化係数と、
複数の残余ノードを含む残余テーブルであって、各残余ノードは、前記復元された差分テーブルと前記基準テーブルの組み合わせの対応するノードと組み合わされることができる、残余テーブルと、
前記残余テーブルを復号するために使用可能な残余ビット割り当てテーブルとを含み、
前記圧縮データ構造は、前記プロセッサにより前記メモリデバイスから読み出されることができ、
前記量子化係数および前記残余テーブルは、元の色テーブルを得るために及び印刷の際に色空間の間で色変換を行うために、前記プロセッサにより使用されることができる、プリントカートリッジ。
【請求項２】
前記プロセッサにより、前記圧縮データ構造が圧縮解除されることができ（５０２）、前記残余テーブルが前記量子化係数を用いて復元されることができ（５０４）、前記復元された差分テーブルは前記量子化係数を用いて生成されることができ（５０６）、中間テーブルが前記復元された差分テーブルに前記基準テーブルを追加することにより得られることができ（５０８）、元の色テーブルが前記復元された残余テーブルに前記中間テーブルを追加することにより得られる（５１０）ことができる、請求項１に記載のプリントカートリッジ。
【請求項３】
前記残余ビット割り当てテーブルは、何個のビットが前記残余テーブルの各残余ノードに割り当てられるかを示すことができる、請求項１又は２に記載のプリントカートリッジ。
【請求項４】
前記量子化係数は、離散コサイン変換によって生成され、逆離散コサイン変換プロセスを用いて圧縮解除されることができ、それにより圧縮解除された差分テーブルが得られる、請求項１〜３の何れか１項に記載のプリントカートリッジ。
【請求項５】
基準テーブルの対応するノードと組み合われるべき値を表す各差分ノードは、前記元の色テーブルのノードの値と前記基準テーブルの対応するノードの値の差分を含む、請求項１〜４の何れか１項に記載のプリントカートリッジ。
【請求項６】
前記復元された差分テーブルと前記基準テーブルの組み合わせの対応するノードと組み合わされるべきである各残余ノードは、前記元の色テーブルのノードの値と前記復元された差分テーブルの対応するノードの値の差分である値を含む、請求項１〜５の何れか１項に記載のプリントカートリッジ。
【請求項７】
前記メモリデバイスは、可逆圧縮されたデータ構造を含む、請求項１〜６の何れか１項に記載のプリントカートリッジ。
【請求項８】
前記可逆圧縮は、ＬＺＭＡ（Lempel-Ziv-Markov chain Algorithm）圧縮である、請求項７に記載のプリントカートリッジ。
【請求項９】
前記量子化係数は、前記差分テーブルの不可逆圧縮から導出される、請求項１〜８の何れか１項に記載のプリントカートリッジ。
【請求項１０】
前記量子化係数は、不可逆圧縮を用いて固定ステップサイズで量子化される、請求項７に記載のプリントカートリッジ。
【請求項１１】
前記量子化係数は、プリンタ又はプリントカートリッジに格納されたコサインビット割り当てテーブルを用いて復元され、圧縮解除された差分テーブルを得るために固定ステップサイズを乗じることができる、請求項１〜１０の何れかに記載のプリントカートリッジ。
【請求項１２】
前記圧縮データ構造は、前記量子化係数から導出された係数ビット割り当てテーブルを更に含み、前記係数ビット割り当てテーブルは、前記量子化係数を復号するために使用可能であり、前記係数ビット割り当てテーブルは、前記量子化係数のそれぞれに割り当てられたビットの数に関連する情報を含む、請求項１〜１１の何れか１項に記載のプリントカートリッジ。
【請求項１３】
前記残余ビット割り当てテーブルの値は、前記残余テーブルから導出される、請求項１〜１２の何れか１項に記載のプリントカートリッジ。
【請求項１４】
黒色のプリンタ材料を含む、請求項１〜１３の何れか１項に記載のプリントカートリッジ。
【請求項１５】
前記プリンタが、前記基準テーブルを格納するための別のメモリを有する、請求項１〜１４の何れか１項に記載のプリントカートリッジ。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
色管理（カラーマネジメント）システムは、イメージスキャナ、デジタルカメラ、コンピュータ用モニタ、プリンタのような様々な色表現デバイスと対応する媒体との間で制御された変換を伝える。デバイスプロファイルは、デバイスに固有の色空間とデバイスに依存しない色空間との間、デバイスに依存しない色空間とデバイスに固有の色空間との間、及び供給源（ソース）デバイス色空間と直接的なターゲットデバイス色空間との間のような、色空間の間で色データを変換するための情報を色管理システムに提供する。
【図面の簡単な説明】
【０００２】
【図１】圧縮された色テーブルを有する例示的なメモリデバイスを示すブロック図である。
【図２】図１のメモリデバイス用の色テーブルを圧縮する例示的な方法を示すブロック図である。
【図３】図２の例示的な方法の追加の特徴を有する例示的な方法を示すブロック図である。
【図４】圧縮された色テーブルを有する別の例示的なメモリデバイスを示すブロック図である。
【図５】圧縮された色テーブルを復号する例示的な方法を示すブロック図である。
【図６】図２、図３及び図４の方法および図１と図４のメモリデバイスの例を組み込む例示的なシステムを示すブロック図である。
【図７】図５の方法および図１と図２のメモリデバイスの例を組み込む例示的なシステムを示すブロック図である。
【発明を実施するための形態】
【０００３】
詳細な説明
以下の詳細な説明において、添付図面が参照され、その添付図面は、本明細書の一部を形成し、本開示を実施することができる特定の例として例図によって示されている。理解されるべきは、本開示の範囲から逸脱せずに、他の例が使用されてもよく、構造的または論理的変更がなされてもよい。従って、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲によって規定される。理解されるべきは、特に断りのない限り、本明細書に記載された様々な例の特徴は、部分的または全体的に互いに組み合わされてもよい。
【０００４】
色空間は、軸（複数）を有し、色を数値的に記述する系である。二次元および三次元（積層造形）印刷装置のような幾つかの出力デバイスは、シアン−マゼンタ−イエロー−キー（黒色）（ＣＭＹＫ）色空間のタイプを使用することができる一方で、幾つかのソフトウェアアプリケーション及び表示装置は、赤−緑−青（ＲＧＢ）色空間のタイプを使用することができる。更に、幾つかのソフトウェアデバイスは、単色色空間またはグレースケール色空間を使用することができる。例えば、ＣＭＹＫ色空間で表された色は、シアン値、マゼンタ値、イエロー値、及びキー値を有し、それらの組み合わせによって、その色を数値的に表現する。
【０００５】
様々な色空間の間で変換を行う色テーブルは、色管理に広く使用されており、一般的例は、デバイスに依存しない色空間（例えば、ＣＩＥＬＡＢ、即ち、Ｌ＊ａ＊ｂ＊）からデバイスに依存する色空間（例えば、ＲＧＢ又はＣＭＹＫ）への変換であり、逆もまた同じである。マッピングは、１つ以上の一次元または多次元のルックアップテーブルのようなテーブルを用いて指定され、そこに補間が適用される場合もあれば、又は変換のための一連のパラメータによって指定される場合もある。色テーブルは、ランタイム計算を色ルックアップテーブルのようなもっと単純な配列索引付け操作に置き換える、メモリデバイス上のアレイまたは他のデータ構造を含むことができる。また、本開示の目的のために、色テーブルには、単色の色テーブル及びグレースケールの色テーブルも含まれ得る。
【０００６】
例えば、色テーブルは、全色の範囲からＭ色を適応させることができる一組のＭ個のノードを含むことができる。各ノードは、一組のビット又はバイトとして表される特定の色値を含む。ＲＧＢ色空間における２５６色の色テーブルは、各ノードが１８ビットの深度、即ち赤、緑、及び青の各値に６ビットを有する状態の２５６ノードで表され得る。
【０００７】
色プロファイルは、異なる色空間の間の変換を特徴付けるデータファイルである。一例において、色プロファイルは、供給源またはターゲットの色空間のようなデバイス依存の色空間とプロファイル接続空間（ＰＣＳ：Profile Connection Space）のようなデバイスに依存しない色空間との間のマッピング（及び、逆もまた同じ）を用いて、特定のデバイスの色属性または表示仕様を記述することができる。色をキャプチャする又は表示するデバイス及びソフトウェアプログラム（プリンタ、モニタ、テレビ、オペレーティングシステム、ブラウザ、及び他のデバイス及びソフトウェアを含む）は、ハードウェアとプログラムの様々な組み合わせを含むプロファイルを含むことができる。
【０００８】
ＩＣＣプロファイルは、国際色彩コンソーシアム（ＩＣＣ：International Color Consortium）によって公布された規格に従って色空間を特徴付ける一組のデータである例示的な色プロファイルである。ＩＣＣプロファイルフレームワークは、様々な色空間の間で伝達および交換するための規格として使用されている。ＩＣＣプロファイルは、デバイスのタイプによって変わることができる多数のデータ記録を含む。色ルックアップテーブルを含むもののような幾つかの記録は、色変換用のデータを提供する。色ルックアップテーブルの記録は、デバイス空間とＰＣＳとの間の色変換にパラメータを提供する複数のコンポーネントを含む。ルックアップテーブルは、色変換マトリクス、一次元ルックアップテーブル、及び多次元ルックアップテーブルを含むことができる。ルックアップテーブルの入力と出力におけるチャネルの数は、必要とされる色空間に依存して変化するであろう。
【０００９】
ＩＣＣプロファイルは、多くの場合、異なるデバイス間での色忠実度を達成するためにハードウェアとプログラムの様々な組み合わせとしてカラー文書に埋め込まれ、それによりこれら文書の総サイズが増大する。カラー文書の各グラフィック要素、即ち図またはイメージは、それ自体のＩＣＣプロファイルを有することができる。また、色プロファイルの色テーブルのサイズは、空間のより精細なサンプリング及びより大きなビット深度と共に増大するであろう。カラープリンタのような装置の場合、色テーブルは、プリンタのファームウェア又は他のハードウェアに埋め込まれることが多く、この場合、色テーブルは、記憶装置のコンピュータメモリを消費する。
【００１０】
一般に、プロファイルは、処理されるべきＮ個の色テーブル（例えば、ＣＬＵＴ１、ＣＬＵＴ２、・・ＣＬＵＴＮ）を含むことができる。異なるレンダリング目的を表す複数の色テーブルは、１つのＩＣＣプロファイルと共に含められることが多い。更に、入力色空間は、Ｊinチャネルを含み、出力色空間はＪoutチャネルを含み、ＩＣＣプロファイルの多くの例において、Ｊin及びＪoutは、１つ以上のチャネルであることができる。各出力チャネルについて、対応するルックアップテーブルは、ＭJin個のノードを含む。
【００１１】
幾つかの状況において、これら色テーブルを格納するために消費されるファームウェアメモリの量は、特にカラー装置のルックアップテーブルの数が複数の色空間、印刷媒体および好みをサポートするために増加する場合、関心事になる可能性がある。また、空間のより精細なサンプリング及びより大きなビット深度に向かう傾向は、テーブルサイズの増大、これらメモリの関心事を更に悪化させるという結果になる。更に、効率的なメモリ使用法および記憶空間使用量の関心事は、ＩＣＣソースプロファイルのようなカラー文書に埋め込まれる色テーブルに適用可能である。埋め込まれたプロファイルが使用される応用形態において、埋め込まれたプロファイルは、オーバーヘッドを表す。
【００１２】
図１は、圧縮された色テーブル（圧縮色テーブル）１０２を含む例示的なメモリデバイス１００を示す。圧縮色テーブル１０２は、圧縮された元の色テーブルであることができる。元の色テーブルは、一組のノードを含む。一例において、メモリデバイス１００は、プリンタカートリッジ又はプリンタに含められ得る。別の例において、メモリデバイス１００は、プリンタカートリッジ上の一部品および一緒に処理され得るプリンタの別の部品のような協働する部品に含められ得る。圧縮色テーブル１０２は、圧縮された差分テーブル（圧縮差分テーブル）１０４及び残余テーブル１０６を含むようにメモリデバイス１００に設けられる。圧縮色テーブル１０２は、バイナリファイルを含む一組のファイルとして又はビットストリームとして、格納され得る。差分テーブル１０４は、各ノードが元の色テーブルのノードの値と基準テーブルのノードの値との間の差分を表す複数の差分ノードを含む。基準テーブルは、予め選択された値または所定の値を有するノードを含む。一例において、基準テーブルのノードの値は、元の色テーブルのノードを表す。残余テーブル１０６は、各ノードが元の色テーブルのノードの値と復元された圧縮差分テーブルのノードの値との間の差分を表す複数の残余ノードを含む。
【００１３】
例示的なメモリデバイス１００は、１つ又は複数の揮発性または不揮発性コンピュータ記憶媒体の組み合わせを含むように実現され得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータのような情報の格納のための任意の適切な方法または技術として実現され得る。それ自体による伝搬信号は、記憶媒体またはメモリデバイスとして識別されない。メモリデバイスは、プロセッサ、及び色変換を行うための当該プロセッサを制御するための一組のコンピュータ命令を格納するためのメモリを含むシステムの一部として含められ得る。例は、インク又は媒体のパラメータ又はデバイス仕様のような係る仕様に基づいて色変換を行うためにプリンタにより読み出され得るプリンタカートリッジの一部として含められたメモリデバイスを含む。
【００１４】
図２は、色テーブル又は元の色テーブルを圧縮するために利用され得る例示的な方法２００を示す。例は、一次元色テーブル、即ち１つの入力チャネル、１つの出力チャネル、ひいてはＭ個のノードを有する色テーブルに関連して説明されるが、概念は、多次元色テーブル及び他の色プロファイル記録に移行可能であることができる。差分テーブルは２０２で圧縮される。差分テーブルは、色テーブルのノードと基準テーブルのノードの値の差分を表す複数の差分ノードを含む。圧縮差分テーブルは、２０４において、残余テーブルを生成するために復元されて適用される。残余テーブルは、色テーブルのノードと復元された圧縮差分テーブルのノードの値の差分を表す複数の残余ノードを含む。圧縮差分テーブル及び残余テーブルは、デバイス１００のようなメモリデバイスにデータファイルとして格納され得る。
【００１５】
一例において、差分色テーブルは、２０２において、データ点の有限のシーケンスを様々な周波数で振動するコサイン関数の和によって表す離散コサイン変換、即ちＤＣＴを用いて圧縮されるが、他のシステムが利用されてもよい。ＤＣＴ圧縮は特に、色テーブルが一次元または多次元で表され得る例に適切であることができる。他の例において、差分色テーブルは、ＳＰＩＨＴ（Set Partitioning In Hierarchical Trees）及びＳＰＥＣＫ（Set Partitioned Embedded bloCK）のような、ウェーブレットに基づくことができるシステムを用いて圧縮され得る。
【００１６】
例示的な方法２００は、色テーブルをファイル又はビットストリームへ圧縮するために方法２００を実行するために、プロセッサ及びメモリを有するコンピューティングデバイスのようなシステムを制御するための１つ又は複数のハードウェアデバイス及びプログラムの組み合わせを含むように実現され得る。ファイル又はビットストリームは、追加のファイル又はビットストリームへ細分化され得る。方法２００は、プロセッサを制御するための一組の実行可能命令として実現され得る。本開示の他の方法は、同様にシステムを制御するためのハードウェア及びプログラムの組み合わせとして実現され得る。
【００１７】
データ圧縮は、元の表現よりも少ないビットを用いて情報を符号化することを含む。可逆圧縮および不可逆圧縮は、データ圧縮の２つの形態である。可逆圧縮では、元のデータと復元された可逆圧縮データとの間にデジタル差は存在しない。対照的に、元のデータの一部は、不可逆圧縮データの復元時に失われる。
【００１８】
例示的な方法２００において、特定の可逆圧縮システムは、圧縮されるべき元の色テーブルの特定の特徴を利用するために使用され得る。特定の可逆圧縮は、元の色テーブルに適用されて、元の色テーブルからデジタル差のない色テーブルへ復元され得るファイルにすることができる。汎用可逆圧縮システムは、任意の種類のデータを圧縮するために利用され得る。これらファイルの１つ又は複数は、ファイルのサイズを更に低減するために汎用可逆圧縮システムでもって更に圧縮され得る。
【００１９】
図３は、方法２００においてのような元の色テーブルを圧縮する例示的な方法３００を示す。例示的な方法３００は、色テーブルデータの特定の特徴を利用する特定の可逆圧縮段階、及び高いデータ圧縮のための汎用可逆圧縮段階を含む段階で実施され得る。一例において、方法の段階は、連続的に実行される。
【００２０】
プロセス３００は、３０２において、元の色テーブル及び基準テーブルから差分テーブルを生成する。差分テーブルは、各ノードが元の色テーブルのノードの値と基準テーブルのノードの値の差分を表す値を含む複数の差分ノードを含む。一例において、元の色テーブル及び基準テーブルはそれぞれ、Ｍ個のノードを含む。元の色テーブルの各ノードの値は、差分テーブルの対応するノードに値を提供するために、基準テーブルの対応するノードの値から減算される。かくして、差分色テーブルのノード位置ｊに値を提供するために、元の色テーブルのノード位置ｊの値が、基準テーブルのノード位置ｊの値から減算され、この場合、ｊは１からＭまでのノード位置である。
【００２１】
基準テーブルは、元の色テーブルのノードを表すことができる予め選択された値または所定の値を有するノードを含む。一例において、差分ノードの値をより小さくすればするほど、残余テーブルのノードの値を小さくし、効率的な圧縮を行うことができる。一例において、基準ノードの値は、基準テーブルの｛０、１、２・・（Ｍ−１）｝であることができる。
【００２２】
３０４において、差分テーブルが圧縮される。当該例において、差分テーブルは、３０６において一組の量子化係数を生成するために更に処理され得る一組の係数を生成するためにＤＣＴによって圧縮される。Ｍ個のノードを有する差分テーブルは、Ｍ個の係数を生成する。３０６において、一組の係数における係数のそれぞれは、固定ステップサイズΔにより分割され又は量子化されて、一組のＭ個の量子化係数を提供するために最も近い整数に丸められ得る。３０８において、量子化係数は、バイナリファイルに書き込まれ得る。
【００２３】
３１０において、圧縮差分テーブルは、復元されて、最初に復元されたテーブルを生成するために基準テーブルに適用される。例えば、３０６からの量子化係数を用いて、復元された差分テーブルを生成する。当該例において、ステップサイズΔを乗じた量子化係数が、逆ＤＣＴプロセスに適用され、復元された差分テーブルのノードの値を得るために最も近い整数に丸められる。３１０において、復元された差分テーブルは、最初に復元されたテーブルを得るために基準テーブルに追加される。一例において、復元された差分テーブル及び基準テーブルはそれぞれ、Ｍ個のノードを含み、復元された差分テーブルの各ノードの値は、最初に復元されたテーブルの対応するノードの値を提供するために、基準テーブルの対応するノードの値に追加される。
【００２４】
最初に復元されたテーブルは、３１２において、残余テーブルを得るために元の色テーブルから減算される。一例において、最初に復元されたテーブル及び元のテーブルはそれぞれ、Ｍ個のノードを含み、最初に復元されたテーブルの各ノードの値は、残余テーブルの対応するノードの値を提供するために、元のテーブルの対応するノードの値から減算される。残余テーブルは、３１４においてバイナリファイルに書き込まれ得る。一例において、最初に復元されたテーブルに追加された残余テーブルは、元の色テーブルからデジタル差の無い又はほぼ無い色テーブルを生成する。別の例において、残余テーブルは、最初に復元されたテーブルに追加された残余テーブルが元の色テーブルの近似を生成するように決定される。
【００２５】
量子化係数および残余テーブルを用いて、対応するビット割り当てテーブルを計算する。量子化係数は、３０８においてバイナリファイルに書き込まれた量子化係数を復号するために使用され得る係数ビット割り当てテーブル（ＣＢＡＴ）を３１６において計算するために使用される。同様に、残余テーブルの値は、３１４においてバイナリファイルに書き込まれた残余テーブルを復号するために使用され得る残余ビット割り当てテーブル（ＲＢＡＴ）を３１８において計算するために使用され得る。一次元の元の色テーブルは、１つのＣＢＡＴ及び１つのＲＢＡＴを含む。
【００２６】
３１６及び３１８で生成されたＣＢＡＴ及びＲＢＡＴはそれぞれ、何個のビットが各量子化係数または残余値に割り当てられるかに関連している情報を格納する。例えば、
2020074520.tif 000003
は、−０．５からＬ−０．５の範囲の実数を整数値に量子化するために使用され、この場合、
2020074520.tif 000004
はＬの２を基数とする対数、ｌｏｇ２（Ｌ）の天井関数を表し、天井関数は、実数を最小の次の整数にマッピングする。係数および残余値は負の数である可能性があるため、追加のビットがＣＢＡＴ及びＲＢＡＴの符号に設けられる。
【００２７】
例示的なプロセスが、３１６、３１８においてＣＢＡＴ及びＲＢＡＴのそれぞれのビット割り当てテーブルを計算するために適用され得る。所与の出力チャネルの場合、当該出力チャネルの量子化されたＤＣＴ係数は、Ｑi，jとして示され、この場合、ｉ（１からＮ）は色テーブルの番号であり、ｊ（１からＭ）は一次元の元の色テーブルのノード番号である（多次元色テーブルの場合に１からＭＪin）。Ｑi，jに必要とされるビットの数Ｂi、jは、Ｑi，j＝０の場合、Ｂi，j＝０であり、Ｑi，jが０でない場合、
2020074520.tif 000005
である。
【００２８】
一例において、固定ビット数ａが、個々のビット割り当てテーブルのあらゆるノードに割り当てられ、各ビット割り当てテーブルのサイズを決定するために使用され得る。ビット割り当てテーブルのノード位置ｊ又はＬｊにある値は、各色テーブルｉ（１からＮまで）に必要な最大ビット数Ｂi、jから求められ得る。固定ビット数ａは、各ノード位置ｊ（１からＭまで）に対して求められた際に、
2020074520.tif 000006
の最大数から求められ得る。当該例において、一次元色テーブルの１ビット割り当てテーブルの総サイズは、このようにａＭビットである。
【００２９】
ＣＢＡＴ及びＲＢＡＴの総サイズは、汎用可逆圧縮によって大幅に低減され得る。汎用可逆圧縮は、ＬＺＭＡ（Lempel-Ziv-Markov chain Algorithm）プロセス、ＧＺＩＰ（GNU-zip）プロセス、又はデータファイルの可逆圧縮を得るために適用され得る他の適切な可逆圧縮システムを含む様々な圧縮システムを用いて実施され得る。ＣＢＡＴは、３２０において圧縮されることができ、ＲＢＡＴは、ＬＺＭＡのような可逆圧縮でもって３２２において圧縮され得る。
【００３０】
幾つかの例において、量子化係数および残余バイナリファイルは、汎用可逆圧縮でもって圧縮され得るが、ＬＺＭＡでは、高い冗長性を含む可能性がある量子化係数および残余テーブルに対する圧縮性能は、ビット割り当てテーブルに対するものと同じぐらいではないかもしれない。
【００３１】
３０６において量子化係数を生成するために使用された、選択されたステップサイズΔは、圧縮の量に影響を及ぼす可能性がある。圧縮率は、元の色テーブルのサイズを、全てのファイルのサイズ、即ち量子化係数、残余テーブル、及びビット割り当てテーブルのサイズで除算することから求められ得る。より大きなステップサイズΔは、より大きな残余値を除いてより小さい量子化ＤＣＴ係数を得るが、より小さいステップサイズΔは、より小さい残余値を除いてより大きい量子化ＤＣＴ係数を得る。最適化された圧縮率は、量子化係数ファイルのサイズと残余テーブルファイルのサイズを均衡させる。ステップサイズΔの関数として圧縮率を計算する際、ステップサイズΔが増加するにつれて、圧縮率は最初に増加し、最適化されたステップサイズΔoptでピークに到達し、減少すると判断される。一例において、一般に高い圧縮率は、約２の選択されたステップサイズΔで達成され得る。
【００３２】
また、ＤＣＴ圧縮は、色テーブルが多次元で表されるかもしれない例に特に適切であることができる。３０６における多次元色テーブルの更なる処理において、Ｊin次元の量子化係数は、選択された順序の一次元データストリームへ再順序付けされ得る。選択された順序は、三次元ジグザク順序付けのような多次元ジグザグ順序付けに基づくことができ、ＤＣＴ変換後のエネルギーが低周波領域に集中するため、量子化係数を再順序付けするために使用され得る。三次元順序付けを実施する際、平面（プレーン）ｉ＋ｊ＋ｋ＝ｃがｃの増加する順に訪問され、各平面内で２次元ジグザグが実施されるように、トラバース（横断）が構成され得る。低周波数から高周波数への量子化された係数の係るトラバースは、係数ビット割り当てテーブルに大量の冗長性を導入することができ、それにより圧縮の際にデータの効率的なパッキングが行われ得る。多次元色テーブルからの量子化係数の結果としての一次元データストリームは、３０８においてバイナリファイルに書き込まれ得る。
【００３３】
多次元テーブルの場合、各出力チャネルは、別個の係数ビット割り当てテーブルに対応することができる。従って、Ｊout出力チャネルを有するプロファイルは、Ｊout係数ビット割り当てテーブルを含む。各ビット割り当てテーブルのノードは、元の色テーブルのノードと一致する。
【００３４】
図４は、図１の圧縮色テーブル１０２と一致することができる圧縮色テーブル４０２を含む例示的なメモリデバイス４００を示す。メモリデバイス４００に格納された圧縮色テーブル４０２は、量子化係数４０４のビットストリーム、圧縮された係数ビット割り当てテーブル（ＣＢＡＴ）４０６、残余テーブル４０８、及び圧縮された残余ビット割り当てテーブル（ＲＢＡＴ）４１０を含む。例えば、量子化係数４０４のビットストリームは、３０８において方法３００から求められ、圧縮されたＣＢＡＴ４０６のビットストリームは３２０において求められ、残余テーブル４０８のビットストリームは３１２で求められ、及び圧縮されたＲＢＡＴ４１０のビットストリームは３２２で求められることができ、それらはメモリデバイス４００に格納される。一例において、ＣＢＡＴ及びＲＢＡＴは、ＬＺＭＡプロセスで圧縮されて、圧縮されたＣＢＡＴ４０６及び圧縮されたＲＢＡＴ４１０はメモリデバイス４００に.lzmaファイルとして格納される。一例において、量子化係数４０４及び残余テーブル４０８は、メモリデバイス４００にバイナリファイル（.bin）として格納される（別の例において、３０８、３１２で生成された量子化係数および残余テーブルはＬＺＭＡのような汎用圧縮技術でもって圧縮され、ファイル４０４及び４０８は.lzmaファイルとしてメモリデバイス４００に格納される）。メモリデバイス４００は、メモリデバイス１００の一例であることができる。
【００３５】
図５は、メモリデバイス４００のファイル４０４〜４１０のような、圧縮された元の色テーブル４０２を復号する例示的な方法５００を示す。
【００３６】
１つ又は複数のファイル４０２、４０４、４０６又は４０８が汎用可逆圧縮でもって圧縮される場合、メモリデバイス４００の標準的な可逆圧縮されたファイル４０２、４０４、４０６又は４０８は、５０２において圧縮解除される。例えば、５０２において、逆ＬＺＭＡ又は逆ＧＺＩＰ（即ち、３２０、３３０において及び他のファイルに適用された汎用可逆圧縮の逆）のような、標準的な可逆圧縮解除技術が、圧縮されたＣＢＡＴ及びＲＢＡＴファイル４０６、４１０に適用されて、圧縮解除されたビット割り当てテーブル、又はＣＢＡＴ及びＲＢＡＴがもたらされる。
【００３７】
５０４において、圧縮解除されたＣＢＡＴを用いて量子化係数を復元し、圧縮解除されたＲＢＡＴを用いて残余テーブルを復元する。例えば、圧縮解除されたＣＢＡＴは、ビットストリームの何個のビットがＭ個の係数の各量子化された係数値に割り当てられるかを求めるために、量子化係数ファイル４０４に適用される。同様に、圧縮解除されたＲＢＡＴは、バイナリストリームの何個のビットが残余テーブルの各ノードに割り当てられるかを求めるために、残余テーブルファイル４０８に適用される。
【００３８】
５０４からの一組のＭ個の復元された量子化係数は、５０６において差分テーブルを得るために処理される。復元された係数は、前処理された係数を得るために、量子化されたステップサイズΔを乗じる。５０６において、ＤＣＴが３０４において係数を求めるために使用された場合、逆ＤＣＴプロセスが前処理された係数に適用され、圧縮解除された差分テーブルのＭ個のノードを得るために最も近い整数に丸められる。
【００３９】
３０２で使用された基準テーブルは、５０８において中間テーブルを得るために、５０６からの圧縮解除された差分テーブルに追加される。一例において、圧縮解除された差分テーブル及び基準テーブルはそれぞれ、Ｍ個のノードを含み、圧縮解除された差分テーブルの各ノードの値は、中間テーブルの対応するノードで値を提供するために基準テーブルの対応するノードの値に追加される。かくして、圧縮解除された差分テーブルのノード位置ｊにおける値は、中間テーブルのノード位置ｊで値を提供するために、基準テーブルのノード位置ｊにおける値に追加され、この場合、ｊは１からＭまでのノード位置である。
【００４０】
５１０において、５０８からの中間テーブルは、圧縮解除された元の色テーブルを得るために、５０４からの復元された残余テーブルに追加される。一例において、中間テーブル及び復元された残余テーブルはそれぞれ、Ｍ個のノードを含み、中間テーブルの各ノードの値は、圧縮解除された元の色テーブルの対応するノードにおける値を提供するために、復元された残余テーブルの対応するノードの値に追加される。かくして、中間テーブルのノード位置ｊにおける値は、圧縮解除された元の色テーブルのノード位置ｊにおける値を提供するために、復元された残余テーブルのノード位置ｊにおける値に追加され、この場合、ｊは１からＭまでのノード位置である。圧縮解除された元の色テーブルは、方法３００でもって圧縮された元の色テーブルと同じである。
【００４１】
方法３００のような一次元色テーブルを圧縮する方法は、基準テーブルとして、1DX1_unity.cxfを用いて、1DX1_75percent_nonlinear_mono.cxf及び1DX1_90percent_nonlinear_mono.cxfテーブルに適用される。基準テーブルは、０から２５５まで線形的に増加するノードを含む、２５６個のノードを含む。基準テーブルは、メモリデバイス１００に格納され得るが、容易に計算されることもでき、圧縮された元の色テーブルのファイルの一部として格納されない。この例において、Ｍ＝２５６であり、バイト深度（各ノードの値を格納するために使用されるバイトの数）はｂ＝２である。全体で、各テーブルのｂＭ＝２５６バイト及び双方のテーブルの合計５１２バイトが存在する。２の整数ステップサイズΔが、残余値のサイズと係数のサイズの均衡（バランス）を比較的最適化するために選択された。
【００４２】
残余テーブル、量子化係数、ＲＢＡＴ、及びＣＢＡＴは、.binバイナリファイルとして書き込まれ、汎用可逆ＬＺＭＡ圧縮で圧縮されて.lzmaファイルになる。残余テーブル及び量子化係数は、汎用可逆圧縮でもって更に圧縮されない。その理由は、.lzmaファイルのサイズが対応する.binファイルより大きいと判断されるからである。従って、残余テーブル及び量子化係数は、バイナリファイルとして格納されるが、ＲＢＡＴ及びＣＢＡＴは.lzmaファイルとして格納される。
【００４３】
表１は、残余テーブル及び量子化係数がバイナリファイルとして格納され且つＲＢＡＴ及びＣＢＡＴが.lzmaファイルとして格納された際のファイルのサイズをバイトで示す。２つの圧縮された元の色テーブルは、３．０５の圧縮率の場合、元のテーブルの５１２バイトと比べて、１６８バイトだけ占有した。
【００４４】
【表１】
2020074520.tif 000007
【００４５】
図６は、メモリデバイス６０４上に圧縮色テーブル６０２を作成するために使用され得る例示的なシステム６００を示す。圧縮色テーブル６０２は、圧縮差分テーブル６１６及び残余テーブル６１８を含むことができる。一例において、メモリデバイス６０４は、例示的なメモリデバイス１００、４００の１つと一致することができる。例えば、圧縮色テーブル６０２は、圧縮色テーブル４０２の量子化係数４０４のビットストリーム、圧縮された係数ビット割り当てテーブル（ＣＢＡＴ）４０６のビットストリーム、残余テーブル４０８のビットストリーム、及び圧縮された残余ビット割り当てテーブル（ＲＢＡＴ）４１０のビットストリームを含むことができる。例示的なシステム６００は、１つ又は複数の方法２００、３００のような本開示の例示的な方法を実施するためにプロセッサ６０８を制御するための、メモリ６１０に格納された一組のコンピュータ可読命令として、当該方法を実施するために構成されているプロセッサ６０８及びメモリ６１０を有するコンピューティングデバイス６０６を含む。一例において、一組のコンピュータ可読命令は、コンピューティングデバイス６０６で動作するように構成されたハードウェアとプログラムの様々な組み合わせを含むことができるコンピュータプログラム６１２として実現され得る。コンピュータプログラム６１２は、メモリデバイス６０４上に圧縮色テーブル６０２を作成するために、メモリ６１０に格納されてプロセッサ６０８により実行され得る。メモリデバイス６０４は、プリンタカートリッジのような消耗製品６１４に含められ得る。
【００４６】
図７は、システム６００のようなシステムでもってメモリデバイス６０４上に作成される圧縮色テーブル６０２を適用するために使用され得る例示的なシステム７００を示す。当該例において、メモリデバイス６０４は、液体インク、乾燥トナー粉末、又はプリンタと使用するための他の印刷またはマーキング物質のリザーバを有するプリンタカートリッジのような消耗製品６１４に含められる。一例において、プリンタカートリッジは、黒インク、シアンインク、マゼンタインク、又はイエローインクに対応する色テーブルのような、印刷またはマーキング物質と一致する色テーブルを含む。
【００４７】
メモリデバイス６０４は、圧縮色テーブル６０２を読み出し且つ適用するために、プロセッサ７０４及びメモリ７０６を有する別のコンピューティングデバイス７０２に動作可能に結合され得る。一例において、コンピューティングデバイス７０２は、固有の印刷能力を含み、メモリデバイス６０４を受け入れ且つ色ルックアップテーブルとして圧縮色テーブル６０２を圧縮解除および読み出すことができるレーザプリンタ又はインクジェットプリンタとして構成され得る。コンピューティングデバイス７０２は、色テーブル６０２を圧縮解除する又は色テーブル６０２を適用するために方法５００のような方法を実行するために、メモリ７０６に格納され且つプロセッサ７０４により実行可能な一組のコンピュータ可読命令を含むことができる。一例において、一組のコンピュータ可読命令は、コンピューティングデバイス７０２で動作するように構成されたハードウェアとプログラムの様々な組み合わせを含むことができるコンピュータプログラム７０８として実現され得る。コンピュータプログラム７０８は、メモリ７０６に格納されて、メモリデバイス６０４の圧縮色テーブル６０２を圧縮解除するためにプロセッサ７０４により実行可能であることができる。一例において、メモリ７０６は、方法５００で使用される基準テーブルを格納することができる。別の例において、基準テーブルは、データ構造のデータのようなコンピュータプログラム７０８の一部として、又はプロセッサ７０４でもって実行された計算によってコンピュータプログラムで作成されメモリ７０６に格納されるものとして含められ得る。
【００４８】
一例において、コンピューティングデバイス７０２は、インターネットのようなコンピュータネットワークに結合され、圧縮色テーブル６０２は、ネットワークを介してコンピューティングデバイス７０２に結合されたメモリデバイス６０４に格納される。消耗製品は、コンピューティングデバイス７０２でもって付勢される場合に、コンピューティングデバイスが圧縮色テーブル６０２をプロセッサ７０４でもって読み出し且つ適用するために、メモリデバイスからメモリ７０６に圧縮色テーブル６０２（及びまた場合によっては、基準テーブル）をダウンロードするコードを含むことができる。
【００４９】
特定の例が本明細書で図示および説明されたが、様々な代替および／または等価な具現化形態が、本開示の範囲から逸脱せずに、図示および説明された特定の例に置き換えられ得る。本出願は、本明細書で説明された特定の例の任意の改変または変形を網羅することが意図されている。従って、本開示は、特許請求の範囲およびその等価物によってのみ制限されることが意図されている。
【００５０】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な例を示す。
１．  プリントカートリッジであって、
プリンタ用の一次元色変換テーブルを構成するための圧縮データ構造（102；402；602）を含むメモリデバイス（100；400；604）を含み、前記圧縮データ構造は、
複数の差分ノードを含む差分テーブル（104；404；616）の圧縮から導出される量子化計数であって、各差分ノードは、基準テーブルの対応するノードと組み合わされるべき値を表し、前記量子化係数は復元された差分テーブルを生成するために使用可能である、量子化係数と、
複数の残余ノードを含む残余テーブル（106；408；618）であって、各残余ノードは、前記復元された差分テーブルと前記基準テーブルの組み合わせの対応するノードと組み合わされることができる、残余テーブルと、
前記残余テーブル（408）を復号するために使用可能な残余ビット割り当てテーブル（410）とを含む、プリントカートリッジ。
２．  前記残余ビット割り当てテーブル（410）は、何個のビットが前記残余テーブル（408）の各残余ノードに割り当てられるかを示すことができる、上記１に記載のプリントカートリッジ。
３．  前記量子化係数は、離散コサイン変換によって生成され、逆離散コサイン変換プロセスを用いて圧縮解除されることができ、それにより圧縮解除された差分テーブルが得られる、上記１又は２に記載のプリントカートリッジ。
４．  基準テーブルの対応するノードと組み合われるべき値を表す各差分ノードは、元の色テーブルのノードの値と基準テーブルの対応するノードの値の差分を含む、上記１〜３の何れか１項に記載のプリントカートリッジ。
５．  前記復元された差分テーブルと前記基準テーブルの組み合わせの対応するノードと組み合わされるべきである各残余ノードは、前記元の色テーブルのノードの値と前記復元された差分テーブルの対応するノードの値の差分である値を含む、上記１〜４の何れか１項に記載のプリントカートリッジ。
６．  前記メモリデバイス（100；400；604）は、可逆圧縮されたデータ構造（102；402；602）を含む、上記１〜５の何れか１項に記載のプリントカートリッジ。
７．  前記可逆圧縮は、ＬＺＭＡ（Lempel-Ziv-Markov chain Algorithm）圧縮である、上記６に記載のプリントカートリッジ。
８．  前記量子化係数は、前記差分テーブルの不可逆圧縮から導出される、上記１〜７の何れか１項に記載のプリントカートリッジ。
９．  前記量子化係数は、不可逆圧縮を用いて固定ステップサイズで量子化される、上記６に記載のプリントカートリッジ。
１０．  前記量子化係数は、プリンタ又はカートリッジに格納されたコサインビット割り当てテーブルを用いて復元され、圧縮解除された差分テーブルを得るために固定ステップサイズを乗じることができる、上記１〜９の何れかに記載のプリントカートリッジ。
１１．  前記圧縮データ構造は、前記量子化係数から導出された係数ビット割り当てテーブル（406）を更に含み、前記係数ビット割り当てテーブル（406）は、前記量子化係数を復号するために使用可能であり、前記係数ビット割り当てテーブル（406）は、前記量子化係数のそれぞれに割り当てられたビットの数に関連する情報を含む、上記１〜１０の何れか１項に記載のプリントカートリッジ。
１２．  前記残余ビット割り当てテーブル（410）の値は、前記残余テーブル（408）から導出される、上記１〜１１の何れか１項に記載のプリントカートリッジ。
１３．  黒色のプリンタ材料を含む、上記１〜１２の何れか１項に記載のプリントカートリッジ。
１４．  前記メモリデバイス（100；400；600）は、前記基準テーブルを格納する別のメモリ（706）を有する別のコンピューティングデバイスに動作可能に結合されることができる、上記１〜１３の何れか１項に記載のプリントカートリッジ。
１５．  上記１〜１４の何れか１項に記載のプリントカートリッジを含むシステム（600）であって、
前記メモリデバイス（604）は、固有の印刷能力を含む別のコンピューティングデバイス（702）に動作可能に結合され、前記コンピューティングデバイス（702）は、圧縮色テーブル（602）を読み出して適用するためのプロセッサ（704）及びメモリ（706）を有し、前記メモリ（706）は前記基準テーブルを格納する、システム（600）。
【図１】
2020074520.tif 000008
【図２】
2020074520.tif 000009
【図３】
2020074520.tif 000010
【図４】
2020074520.tif 000011
【図５】
2020074520.tif 000012
【図６】
2020074520.tif 000013
【図７】
2020074520.tif 000014