(57)【特許請求の範囲】
【請求項１】
第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮して圧縮済特性データを生成する特性データ圧縮装置において、
前記第１の数値について隣接する２つの前記対データにおける２つの前記第２の数値から差分値を計算する差分計算手段と、
前記差分値を、第１のビット長で表現可能な差分値と、前記第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類する差分分類手段と、
前記第１のビット長で表現可能な差分値を、前記第１のビット長の差分データとして配列し、前記第２のビット長で表現可能な差分値を、前記第２のビット長の差分データとして配列して、前記圧縮済特性データの特性データ領域に格納する差分データ配列手段と、
を備え、
前記差分データ配列手段は、１または複数の、前記第２のビット長の差分データの出現位置を示す位置データを、前記圧縮済特性データの位置データ領域に格納し、
前記差分データ配列手段は、前記第１のビット長の前記差分データを前記特性データ領域に連続させて格納し、前記第２のビット長の前記差分データを前記特性データ領域に連続させて格納すること、
を特徴とする特性データ圧縮装置。
【請求項２】
前記圧縮済特性データは、前記第１のビット長の差分データの個数または前記第２のビット長の差分データの個数を示す個数データを前記圧縮済特性データの個数データ領域を備えることを特徴とする請求項１記載の特性データ圧縮装置。
【請求項３】
前記第２のビット長は、前記第１のビット長の整数倍であることを特徴とする請求項１または２に記載の特性データ圧縮装置。
【請求項４】
前記第２のビット数は、すべての前記第２の数値のいずれも表現可能なビット数であることを特徴とする請求項１から３のいずれか１項に記載の特性データ圧縮装置。
【請求項５】
第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮して圧縮済特性データを生成する特性データ圧縮方法において、
前記第１の数値について隣接する２つの前記対データにおける２つの前記第２の数値から差分値を計算するステップと、
前記差分値を、第１のビット長で表現可能な差分値と、前記第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類するステップと、
前記第１のビット長で表現可能な差分値を、前記第１のビット長の差分データとして配列し、前記第２のビット長で表現可能な差分値を、前記第２のビット長の差分データとして配列して、前記圧縮済特性データの特性データ領域に格納するステップと、
を備え、
前記格納するステップは、１または複数の、前記第２のビット長の差分データの出現位置を示す位置データを、前記圧縮済特性データの位置データ領域に格納し、
前記格納するステップは、前記第１のビット長の前記差分データを前記特性データ領域に連続させて格納し、前記第２のビット長の前記差分データを前記特性データ領域に連続させて格納すること、
ることを特徴とする特性データ圧縮方法。
【請求項６】
コンピュータで、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮して圧縮済特性データを生成するための特性データ圧縮プログラムであって、
前記コンピュータを、
前記第１の数値について隣接する２つの前記対データにおける２つの前記第２の数値から差分値を計算する差分計算手段、
前記差分値を、第１のビット長で表現可能な差分値と、前記第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類する差分分類手段、および
前記第１のビット長で表現可能な差分値を、前記第１のビット長の差分データとして配列し、前記第２のビット長で表現可能な差分値を、前記第２のビット長の差分データとして配列して、前記圧縮済特性データの特性データ領域に格納する差分データ配列手段、
として機能させ、
前記差分データ配列手段は、１または複数の、前記第２のビット長の差分データの出現位置を示す位置データを、前記圧縮済特性データの位置データ領域に格納し、
前記差分データ配列手段は、前記第１のビット長の前記差分データを前記特性データ領域に連続させて格納し、前記第２のビット長の前記差分データを前記特性データ領域に連続させて格納すること、
を特徴とする特性データ圧縮プログラム。
【請求項７】
請求項１から請求項４のうちのいずれか１項に記載の特性データ圧縮装置で生成された圧縮済特性データの特性データ領域における、第１のビット長の差分データから前記第１ビット長で表現可能な差分値を抽出し、第２のビット長の差分データから前記第２ビット長で表現可能な差分値を抽出する差分値抽出手段と、
抽出された前記差分値から前記特性データを復元する特性データ復元手段と、
を備え、
前記差分値抽出手段は、１または複数の、前記第２のビット長の差分データに対応する位置データを、前記圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、前記位置データの示す出現位置に、前記第２のビット長の差分データを挿入して前記差分値を抽出する
ことを特徴とする特性データ伸長装置。
【請求項８】
前記差分データ抽出手段は、前記圧縮済特性データの個数データ領域から個数データを読み出して前記第２のビット長の差分データの個数を特定し、その個数の第２のビット長の差分データを前記特性データ領域から読み出し、第２のビット長の差分データの個数から第１の差分データの個数を特定し、その個数の第１のビット長の差分データを前記特性データ領域から読み出すことを特徴とする請求項７記載の特定データ伸長装置。
【請求項９】
請求項５に記載の特性データ圧縮方法により生成された圧縮済特性データの特性データ領域における、第１のビット長の前記差分データから前記第１ビット長で表現可能な差分値を抽出し、第２のビット長の前記差分データから前記第２ビット長で表現可能な差分値を抽出するステップと、
抽出した前記差分値から前記特性データを復元するステップと、
を備え、
前記抽出するステップは、１または複数の、前記第２のビット長の差分データに対応する位置データを、前記圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、前記位置データの示す出現位置に、前記第２のビット長の差分データを挿入して前記差分値を抽出する
ることを特徴とする特性データ伸長方法。
【請求項１０】
コンピュータを、
請求項６に記載の特性データ圧縮プログラムにより生成された圧縮済特性データの特性データ領域における、前記第１のビット長の前記差分データから前記第１ビット長で表現可能な差分値を抽出し、前記第２のビット長の前記差分データから前記第２ビット長で表現可能な差分値を抽出する差分値抽出手段、並びに
抽出された前記差分値から前記特性データを復元する特性データ復元手段、
として機能させ、
前記差分値抽出手段は、１または複数の、前記第２のビット長の差分データに対応する位置データを、前記圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、前記位置データの示す出現位置に、前記第２のビット長の差分データを挿入して前記差分値を抽出する
ことを特徴とする特性データ伸長プログラム。
【請求項１１】
請求項１から請求項４のうちのいずれか１項に記載の特性データ圧縮装置で生成された圧縮済特性データの圧縮データ構造で特性データを特性データ領域に有するデータ格納手段と、
前記特性データ領域における圧縮されている前記特性データを伸長する請求項７記載の特性データ伸長装置と、
を備えることを特徴とする情報処理装置。
【請求項１２】
請求項１から請求項４のうちのいずれか１項に記載の特性データ圧縮装置で生成された圧縮済特性データの圧縮データ構造で特性データとしてのガンマ補正テーブルを特性データ領域に有するデータ格納手段と、
前記特性データ領域における圧縮されている前記ガンマ補正テーブルを伸長する請求項７記載の特性データ伸長装置と、
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮データ構造、特性データ圧縮装置、特性データ圧縮方法、特性データ圧縮プログラム、特性データ伸長装置、特性データ伸長方法、特性データ伸長プログラムおよび情報処理装置に関するものである。
【背景技術】
【０００２】
印刷装置などの画像処理装置は、色補正を行うために１または複数のガンマ補正テーブルを有する場合がある。例えば、ＣＭＹＫ等のインク処理系では、各色に１つのガンマ補正テーブルが使用されたりする。
【０００３】
このようなガンマ補正テーブルなどの特性データは、通常、更新可能なように、書き換え可能な不揮発性メモリなどに格納される。各種装置に内蔵される不揮発性メモリの記憶領域は、様々な用途に必要な領域ずつ割り当てられる。不揮発性メモリは比較的高価であるので、記憶領域を節約するために、ガンマ補正テーブルなどの特性データは圧縮された状態で格納される（例えば特許文献１参照）。そして、圧縮され格納されている特性データは伸長された後に使用される。
【０００４】
また、各種装置に内蔵される不揮発性メモリの記憶領域では、このような特性データは、予め割り当てられている固定長の領域に記憶される。したがって、固定長を超える特性データは格納できないため、装置内の特性データを更新する場合には、更新後の特性データは、その固定長の領域に格納されなければならない。
【０００５】
この他、データ圧縮に関する技術としては、特許文献２に記載のものがある。
【特許文献１】特許第３７８４５７７号公報
【特許文献２】特開２００６−２１７５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、圧縮後に特性データを固定長の領域に格納する場合、従来の圧縮方法では、圧縮率がデータ内容によって変化するため、更新前の圧縮済特性データが固定長の領域に格納可能であっても、更新後の圧縮済特性データが固定長の領域に格納できない可能性がある。従来の圧縮方法では、圧縮前の特性データのデータ長が一定であっても圧縮後の特性データのデータ長の最大値が既知ではない。このため、同一データ量の特性データの内容のみを更新しても圧縮後の特性データが格納可能なように、元の特性データのデータサイズより短く上述の固定長を決めることが困難である。
【０００７】
本発明は、上述のように問題に鑑みてなされたものであり、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる圧縮データ構造、その圧縮データ構造で特性データを圧縮する特性データ圧縮装置、特性データ圧縮方法および特性データ圧縮プログラム、その圧縮データ構造で圧縮されている特性データを伸長する特性データ伸長装置、特性データ伸長方法および特性データ伸長プログラム、並びに、そのような圧縮データ構造で特性データを有し伸長して使用する情報処理装置および画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明では以下のようにした。
【０００９】
本発明に係る特性データ圧縮装置は、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮する特性データ圧縮装置である。この装置は、第１の数値について隣接する２つの対データにおける２つの第２の数値から差分値を計算する差分計算手段と、差分値を、第１のビット長で表現可能な差分値と、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類する差分分類手段と、第１のビット長で表現可能な差分値を第１のビット長の差分データとして配列し第２のビット長で表現可能な差分値を第２のビット長の差分データとして配列して、圧縮済特性データの特性データ領域に格納する差分データ配列手段とを備える。
【００１０】
これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。
【００１１】
また、本発明に係る特性データ圧縮装置は、上記の特性データ圧縮装置に加え、次のようにしてもよい。この場合、第２のビット長は、第１のビット長のＮ倍（Ｎ：整数）倍とされる。
【００１２】
これにより、特性データ領域の単位ビット長が第２のビット数である場合、Ｎ個の第１のビット長の差分データを隙間なく配列させることで、１つの第２のビット長の差分データと同一ビット長となるため、第１のビット数の差分データを特性データ領域内で効率よく配置させることができる。
【００１３】
また、本発明に係る特性データ圧縮装置は、上記の特性データ圧縮装置のいずれかに加え、次のようにしてもよい。この場合、差分データ配列手段は、１または複数の、第２のビット長の差分データの出現位置を示す位置データを、圧縮済特性データの位置データ領域に格納し、差分データ配列手段は、第１のビット長の差分データを特性データ領域に連続させて格納し、第２のビット長の差分データを特性データ領域に連続させて格納する。
【００１４】
これにより、一連の差分値での第２のビット長の差分データの出現位置が位置データにより保持されるため、第１のビット長の差分データと第２のビット長の差分データとを分離して特性データ領域に配置してもデータ伸長時には位置データを参照して、第２のビット長の差分データがどの差分値を有しているかを特定することができる。したがって、第１のビット長の差分データと第２のビット長の差分データとが混在して配置される場合より第１のビット長の差分データを密に配置することができる。
【００１５】
また、本発明に係る特性データ圧縮装置は、上記の特性データ圧縮装置のいずれかに加え、次のようにしてもよい。この場合、圧縮済特性データは、第１のビット長の差分データの個数または第２のビット長の差分データの個数を示す個数データを格納する個数データ領域を備える。
【００１６】
これにより、第２のビット長の差分データの個数を特定することができるため、固定長の位置データ領域からその個数分の位置データだけを抽出することで、すべての第２のビット長の差分データの出現位置を確実に特定することができる。
【００１７】
また、本発明に係る特性データ圧縮装置は、上記の特性データ圧縮装置のいずれかに加え、次のようにしてもよい。この場合、第２のビット数は、すべての第２の数値のいずれも表現可能なビット数とされる。
【００１８】
これにより、差分値も必ず第２のビット数で表現可能となる。
【００１９】
本発明に係る特性データ圧縮方法は、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮する特性データ圧縮方法である。この方法は、第１の数値について隣接する２つの対データにおける２つの第２の数値から差分値を計算するステップと、差分値を、第１のビット長で表現可能な差分値と、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類するステップと、第１のビット長で表現可能な差分値を第１のビット長の差分データとして配列し第２のビット長で表現可能な差分値を第２のビット長の差分データとして配列して、圧縮済特性データの特性データ領域に格納するステップとを備える。ここで、格納するステップは、１または複数の、第２のビット長の差分データの出現位置を示す位置データを、圧縮済特性データの位置データ領域に格納し、格納するステップは、第１のビット長の差分データを特性データ領域に連続させて格納し、第２のビット長の差分データを特性データ領域に連続させて格納する。
【００２０】
これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。
【００２１】
本発明に係る特性データ圧縮プログラムは、コンピュータで、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮するための特性データ圧縮プログラムである。このプログラムは、コンピュータを、第１の数値について隣接する２つの対データにおける２つの第２の数値から差分値を計算する差分計算手段、差分値を、第１のビット長で表現可能な差分値と、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類する差分分類手段、および第１のビット長で表現可能な差分値を第１のビット長の差分データとして配列し第２のビット長で表現可能な差分値を第２のビット長の差分データとして配列して、圧縮済特性データの特性データ領域に格納する差分データ配列手段として機能させる。ここで、差分データ配列手段は、１または複数の、第２のビット長の差分データの出現位置を示す位置データを、圧縮済特性データの位置データ領域に格納し、差分データ配列手段は、第１のビット長の差分データを特性データ領域に連続させて格納し、第２のビット長の差分データを特性データ領域に連続させて格納する。
【００２２】
これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。
【００２３】
本発明に係る特性データ伸長装置は、上記の特性データ圧縮装置で生成された圧縮済特性データの特性データ領域における、第１のビット長の差分データから第１ビット長で表現可能な差分値を抽出し、第２のビット長の差分データから第２ビット長で表現可能な差分値を抽出する差分値抽出手段と、抽出された差分値から特性データを復元する特性データ復元手段とを備える。ここで、差分値抽出手段は、１または複数の、第２のビット長の差分データに対応する位置データを、圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、位置データの示す出現位置に、第２のビット長の差分データを挿入して差分値を抽出する。
【００２４】
これにより、固定長のデータ領域に格納されている圧縮された特性データを伸長することができる。
【００２５】
また、本発明に係る特性データ伸長装置は、上記の特性データ伸長装置のいずれかに加え、次のようにしてもよい。この場合、差分データ抽出手段は、圧縮済特性データの個数データ領域から個数データを読み出して第２のビット長の差分データの個数を特定し、その個数の第２のビット長の差分データを特性データ領域から読み出し、第２のビット長の差分データの個数から第１の差分データの個数を特定し、その個数の第１のビット長の差分データを特性データ領域から読み出す。
【００２７】
本発明に係る特性データ伸長方法は、上記の特性データ圧縮方法により生成された圧縮済特性データの特性データ領域における、第１のビット長の差分データから第１ビット長で表現可能な差分値を抽出し、第２のビット長の差分データから第２ビット長で表現可能な差分値を抽出するステップと、抽出した差分値から特性データを復元するステップとを備える。ここで、抽出するステップは、１または複数の、第２のビット長の差分データに対応する位置データを、圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、位置データの示す出現位置に、第２のビット長の差分データを挿入して差分値を抽出する。
【００２８】
これにより、固定長のデータ領域に格納されている圧縮された特性データを伸長することができる。
【００２９】
本発明に係る特性データ伸長プログラムは、コンピュータを、上記の特性データ圧縮プログラムにより生成された圧縮済特性データの特性データ領域における、第１のビット長の差分データから第１ビット長で表現可能な差分値を抽出し、第２のビット長の差分データから第２ビット長で表現可能な差分値を抽出する差分値抽出手段、並びに抽出された差分値から特性データを復元する特性データ復元手段として機能させる。ここで、差分値抽出手段は、１または複数の、第２のビット長の差分データに対応する位置データを、圧縮特性データの位置データ領域から読み出し、未圧縮特性データの配列の、位置データの示す出現位置に、第２のビット長の差分データを挿入して差分値を抽出する。
【００３０】
これにより、固定長のデータ領域に格納されている圧縮された特性データを伸長することができる。
【００３１】
本発明に係る情報処理装置は、上記の特性データ圧縮装置で生成された圧縮済特性データの圧縮データ構造で特性データを特性データ領域に有するデータ格納手段と、特性データ領域における圧縮されている特性データを伸長する上記の特性データ伸長装置とを備える。
【００３２】
これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納しておくことができる。さらに、その固定長のデータ領域に格納されている圧縮された特性データを伸長して使用することができる。
【００３３】
本発明に係る画像処理装置は、上記の特性データ圧縮装置で生成された圧縮済特性データの圧縮データ構造のいずれかで特性データとしてガンマ補正テーブルを特性データ領域に有するデータ格納手段と、特性データ領域における圧縮されているガンマ補正テーブルを伸長する上記の特性データ伸長装置とを備える。
【００３４】
これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、ガンマ補正テーブルの内容に拘わらず、ガンマ補正テーブルを圧縮して固定長のデータ領域に格納しておくことができる。さらに、その固定長のデータ領域に格納されている圧縮されたガンマ補正テーブルを伸長して使用することができる。
【発明の効果】
【００３５】
本発明によれば、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。
【発明を実施するための最良の形態】
【００３６】
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態１．
図１は、本発明の実施の形態１に係る特性データ圧縮装置の構成を示すブロック図である。図１において、演算処理装置１は、図示せぬコンピュータを内蔵し、図示せぬ記録媒体に格納された特性データ圧縮プログラムを実行し、差分計算部１１、差分分類部１２および差分データ配列部１３を実現する装置である。
【００３７】
演算処理装置１は、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有する特性データを圧縮する。特に、実施の形態１では、画像処理に使用されるガンマ補正テーブルを圧縮する。ガンマ補正テーブルは、入力値（第１の数値）と出力値（第２の数値）との対データを複数有する特性データである。例えば、２５６階調（８ビット）の画像データをガンマ補正するためのガンマ補正テーブルの入力値および出力値の範囲は０〜２５５である。
【００３８】
差分計算部１１は、第１の数値について隣接する２つの対データにおける２つの第２の数値から差分値を計算する差分計算手段として機能する処理部である。特性データの第２の数値がＮビットのデータである場合、計算された差分値は、Ｎビットの未圧縮差分データ２２として一時的にデータ格納装置２に格納される。第１の数値の昇順または降順に差分値が計算され、その計算順で差分値が未圧縮差分データ２２として格納される。実施の形態１では、ガンマ補正テーブルにおける、入力値について隣接する２つの対データの出力値の差分値が計算される。例えば、入力値が０であるときの出力値が０であり、入力値が１であるときの出力が７である場合、差分値は７となる。ガンマ補正テーブルのように単調増加の特性の場合には、すべての差分値はゼロまたは正数となる。そして、入力値の昇順または降順に差分値が計算され、その計算順に配列されて差分値が未圧縮差分データ２２として格納される。
【００３９】
差分分類部１２は、差分計算部１１により計算された差分値を、第１のビット長で表現可能な差分値と、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類する差分分類手段として機能する処理部である。差分分類部１２は、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値が何番目の差分値であるか（つまり出現位置）を差分属性データ２３としてデータ格納装置２に格納する。実施の形態１では、差分値が、４ビットで表現可能な差分値と、４ビットで表現可能ではなくかつ８ビットで表現可能な差分値とに分類される。つまり、１５以下の差分値と１６以上の差分値とに分類される。したがって、実施の形態１では、１６以上の差分値が何番目の差分値であるかが差分属性データ２３として格納される。
【００４０】
差分データ配列部１３は、差分属性データ２３に基づき、第１のビット長で表現可能な差分値を含む未圧縮差分データ２２と第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値を含む未圧縮差分データ２２とを特定し、第１のビット長で表現可能な差分値を第１のビット長の差分データとして連続させて圧縮済特性データ２４内の特性データ領域に格納し、それに続けて、第２のビット長で表現可能な差分値を第２のビット長の差分データとして連続させて圧縮済特性データ２４内の特性データ領域に格納する差分データ配列手段として機能する処理部である。この実施の形態１では、１５以下の差分値は、４ビットの差分データとして特性データ領域に格納され、１６以上の差分値を、８ビットの差分データとして特性データ領域に格納される。
【００４１】
さらに、差分データ配列部１３は、差分属性データ２３から第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値の出現位置を取得し、その出現位置を位置データとして圧縮済特性データ２４内の固定長の位置データ領域に格納する。実施の形態１では、差分データ配列部１３は、差分属性データ２３から１６以上の差分値の出現位置をすべて取得し、その出現位置を位置データとして圧縮済特性データ２４内の１５バイトの位置データ領域に格納する。ここで、２５６階調のガンマ補正テーブルの場合、差分値の数は２５５個であるため、１つの位置データは、０〜２５４番目のいずれかといった出現位置を表現可能な８ビットのデータとされる。このため、１５バイトの位置データ領域には、最大１５個の位置データが格納される。
【００４２】
さらに、差分データ配列部１３は、差分属性データ２３を参照して第２のビット長の差分データの個数を取得し、個数データとして圧縮済特性データ２４内の個数データ領域に格納する。実施の形態１では、差分データ配列部１３は、第２のビット長の差分データの個数を１バイトの個数データとして圧縮済特性データ２４内の１バイトの個数データ領域に格納する。
【００４３】
また、データ格納装置２は、圧縮処理の対象となる特性データ２１、処理途中で生成される未圧縮差分データ２２および差分属性データ２３、並びに、処理結果となる圧縮済特性データ２４を格納する装置である。データ格納装置２としては、ハードディスクドライブ、ＲＡＭなどが適宜使用される。
【００４４】
特性データ２１は、第１の数値と最小値および最大値が既知である第２の数値との対データを複数有するデータである。この実施の形態１では、特性データ２１は、ガンマ補正テーブルとされる。ガンマ補正テーブルは、入力値と出力値との対データを、入力値の個数分、つまり、入力値の範囲分だけ有する。例えば、入力値の範囲が０〜２５５である場合には、ガンマ補正テーブルは、２５６個の対データを有する。また、この場合、出力値の範囲は０〜２５５に限定されるため、出力値の取り得る最小値は０、出力値の取り得る最大値は２５５と既知である。
【００４５】
未圧縮差分データ２２は、差分計算部１１により計算された差分値を含む第２のビット長のデータである。この実施の形態１では、１つの未圧縮差分データ２２は８ビットのデータである。例えば、２５６階調のガンマ補正テーブルについて差分値が計算された場合、２５５個の未圧縮差分データ２２が発生する。
【００４６】
差分属性データ２３は、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値が何番目の差分値であるか（つまり出現位置）を含むデータである。差分属性データ２３は、１つの出現位置を示す１つの位置データを、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値の個数と同数だけ有する。１つの位置データは、第２のビット長のデータである。この実施の形態１では、１つの位置データは、８ビットのデータである。
【００４７】
圧縮済特性データ２４は、固定長の特性データ領域に圧縮後の特性データを、固定長の位置データ領域に位置データを、固定長の個数データ領域に個数データを有するデータである。
【００４８】
図２は、実施の形態１における圧縮済特性データ２４のデータフォーマットの一例を示す図である。この実施の形態１では、２５６階調（つまり８ビット）のガンマ補正テーブルが圧縮される。ここでは、第１のビット長が４ビットとされ、第２のビット長が８ビットとされ、出力値の最小値が０であり出力値の最大値が２５５であるので、特性データ領域２４ａの長さは、１３５バイトの固定長とされ、位置データ領域２４ｂの長さは、１５バイトの固定長とされる。また、個数データ領域２４ｃは、１バイトとされる。
【００４９】
出力値の最大値が２５５であるため、１６以上の差分値の数は、最大で１５となる。このため、位置データ領域２４ｂの長さは１５バイトとされる。１６以上の差分値の数が１５である場合、１６以上の差分値を含む８ビットの差分データを格納するための領域長は、１５バイト（＝１５×８ビット）となり、１５以下の差分値を含む４ビットの差分データを格納するための領域長は、１２０バイト（＝（２５５−１５）×４ビット）となる。このため、特性データ領域２４ａの長さは、１３５バイト（＝１５＋１２０バイト）あれば十分となる。また、８ビットの差分データの個数は最大で１５であるから、個数データ領域２４ｃは１バイトで十分である。このように、実施の形態１では、圧縮済特性データ２４は、１５１バイト（１３５＋１５＋１バイト）の固定長のデータとなる。２５６階調のガンマ補正テーブルを圧縮せずに格納する場合には２５６バイトの記憶領域が必要になるため、この圧縮データ構造によりガンマ補正テーブルを格納すれば、非圧縮時より約４１％少ない固定長の記憶領域があれば済む。
【００５０】
次に、上記装置の動作について説明する。図３は、実施の形態１に係る特性データ圧縮装置の動作を説明するフローチャートである。
【００５１】
差分計算部１１は、一連の対データにおいて、第１の数値について隣接する２つの対データにおける第２の数値から差分値を順次計算する（ステップＳ１）。特性の入力値と出力値を有する対データは、入力値の昇順に配列されているため、連続する２つの対データの出力値間の差分値が計算される。これらの差分値は、未圧縮差分データ２２としてデータ格納装置２へ一旦格納される。
【００５２】
図４は、実施の形態１におけるガンマ補正テーブルによるガンマ補正特性の一例を示す図である。なお、図４では、特性を連続的な曲線で表しているが、実際には、テーブルによる特性データは、離散的な点の集合となる。実施の形態１では、入力値および出力値の範囲が０〜２５５であるガンマ補正テーブルが特性データとされる。したがって、実施の形態１では、２５６個の対データが存在するため、２５５個の差分値が計算される。入力値の昇順に沿って、ガンマ補正テーブルの出力値をＧ（０），Ｇ（１），・・・，Ｇ（２５４），Ｇ（２５５）とし、差分値をＤＧ（０），ＤＧ（１），・・・，ＤＧ（２５４）とする場合、各差分値ＤＧ（ｉ）は、次式で計算される。
【００５３】
ＤＧ（ｉ）＝Ｇ（ｉ＋１）−Ｇ（ｉ），ｉ＝０，１，・・・，２５４
次に、差分分類部１２は、未圧縮差分データ２２内の差分値を、第１のビット長で表現可能な差分値と、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値とに分類し、入力値の昇順または降順で配列されている未圧縮差分データ２２のうち、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値の出現位置を差分属性データ２３としてデータ格納装置２に格納する（ステップＳ２）。実施の形態１では、差分分類部１２は、入力値の昇順または降順で配列されている未圧縮差分データ２２を順番に参照していき、１６以上の差分値が何番目の差分値であるかを差分属性データ２３として格納する。つまり、入力値の昇順または降順に沿って計算された一連の差分値の配列のうち、値が１６以上である差分値についての配列内の要素番号が差分属性データ２３として格納される。
【００５４】
次に、差分データ配列部１３は、差分属性データ２３に基づき、第１のビット長で表現可能な差分値を含む未圧縮差分データ２２と第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値を含む未圧縮差分データ２２とを特定する。そして差分データ配列部１３は、第１のビット長で表現可能な差分値を、第１のビット長の差分データとして展開し、連続させて圧縮済特性データ２４内の特性データ領域２４ａに格納し（ステップＳ３）、第２のビット長で表現可能な差分値を、第２のビット長の差分データとして展開し、連続させて圧縮済特性データ２４内の特性データ領域２４ａに格納する（ステップＳ４）。図５は、実施の形態１における差分データのビット長を説明する図である。実施の形態１では、１５以下の差分値は、図５（Ａ）に示すように４ビットの差分データとして特性データ領域２４ａに格納され、１６以上の差分値は、図５（Ｂ）に示すように８ビットの差分データとして特性データ領域２４ａに格納される。また、図５（Ｃ）に示すように、８ビットを単位として、まず４ビットの差分データが２つずつ連続して格納され、４ビットの差分データに続いて８ビットの差分データが連続して格納される。このため、４ビットの差分データが奇数個である場合には、最後の４ビットの差分データの次に４ビットのパディングデータ（全ビット値を１などにした意味のないデータ）が追加される。
【００５５】
実施の形態１では、図５（Ａ）に示すように、１５以下の差分値は、４ビットの差分データとして格納されるため、８ビットの領域に２つの差分値が格納される。実施の形態１では、最小値と最大値との差が２５５であるため、差分値は、本来、８ビットデータとして表現されるが、図５（Ａ）に示すように、１５以下の差分値については、データ量が圧縮される。
【００５６】
さらに、差分データ配列部１３は、差分属性データ２３から第１のビット長で表現可能ではなくかつ第２のビット長で表現可能な差分値の出現位置を取得し、その出現位置を第２のビット長の位置データに展開し圧縮済特性データ２４内の固定長の位置データ領域２４ｂに格納する（ステップＳ５）。特性データ領域２４ａにおける第２のビット長の差分データの配列順序と同一順序で、各第２のビット長の差分データに対応する位置データが、位置データ領域２４ｂに格納される。これにより、第２のビット長の差分データと位置データとが関連付けられる。実施の形態１では、差分データ配列部１３は、差分属性データ２３から１６以上の差分値の出現位置をすべて取得し、その出現位置を位置データとして位置データ領域２４ｂに格納する。
【００５７】
さらに、差分データ配列部１３は、差分属性データ２３を参照して第２のビット長の差分データの個数を取得し、第２のビット長の個数データに展開し、圧縮済特性データ２４内の個数データ領域２４ｃに格納する（ステップＳ６）。実施の形態１では、差分データ配列部１３は、８ビット差分データの個数を１バイトの個数データとして個数データ領域２４ｃに格納する。
【００５８】
図６は、実施の形態１における圧縮済特性データ２４の具体例を示す図である。図６に示す圧縮済特性データ２４では、１３５バイトの特性データ領域２４ａには、２５３個の４ビット差分データおよび４ビットのパディングデータがまず格納され、それに続いて２個の８ビット差分データが格納されている。そして、特性データ領域２４ａの残りの部分は、パディングデータで埋められている。特性データ領域２４ａに続く１５バイトの位置データ領域２４ｂには、２個の８ビット差分データの出現位置を示す２つの位置データが格納されている。そして、位置データ領域２４ｂの残りの部分は、パディングデータで埋められている。位置データ領域２４ｂに続く１バイトの個数データ領域２４ｃには、８ビット差分データの個数（ここでは２個）を示す個数データが格納されている。このように、この圧縮データ構造によれば、２５６階調のガンマ補正テーブルは、特性の内容に拘わらず、常に、一定長の圧縮済特性データ２４とされる。
【００５９】
以上のように、上記実施の形態１によれば、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。
【００６０】
また、上記実施の形態１によれば、圧縮済特性データ２４に使用されるデータ構造は、対データの第１の数値について隣接する２つの対データにおける２つの第２の数値から計算された差分値を有する複数の差分データを格納する固定長の特性データ領域２４ａを備える。そして、このデータ構造は、第１のビット長で表現可能と判定された差分値を、特性データ領域２４ａに第１のビット長の差分データで格納し、第１のビット長で表現可能ではなくかつ第２のビット長で表現可能と判定された差分値を、特性データ領域２４ａに第２のビット長の差分データで格納する。これにより、第２のビット長で表現可能と判定される差分値の最大数を特定できるため、特性データの内容に拘わらず、特性データを圧縮して固定長のデータ領域に格納することができる。また、圧縮時に情報量が失われないため、可逆的に圧縮・伸長が可能である。
【００６１】
また、上記実施の形態１によれば、第２のビット長は、第１のビット長のＮ倍とされる。これにより、特性データ領域２４ａの単位ビット長が第２のビット数である場合、Ｎ個の第１のビット長の差分データを隙間なく配列させることで、１つの第２のビット長の差分データと同一ビット長となるため、第１のビット数の差分データを特性データ領域２４ａ内で効率よく配置させることができる。
【００６２】
また、上記実施の形態１によれば、固定長の位置データ領域２４ｂに位置データが格納される。そして、特性データ領域２４ａは、第１のビット長の差分データを連続させて格納し、第２のビット長の差分データを連続させて格納する。これにより、データ伸長時には、出現位置により、第２のビット長の差分データが何番目の差分データかを特定することで差分データの再配列が可能となるため、第１のビット長の差分データと第２のビット長の差分データとの分離が可能となる。このため、第１のビット長の差分データと第２のビット長の差分データとが混在して配置される場合より第１のビット長の差分データを密に配置することができる。
【００６３】
また、上記実施の形態１によれば、個数データ領域２４ｃに個数データが格納される。これにより、第２のビット長の差分データの個数を特定することができるため、固定長の位置データ領域２４ｂからその個数分の位置データだけを抽出することで、すべての第２のビット長の差分データの出現位置を確実に特定することができる。
【００６４】
また、上記実施の形態１によれば、第２のビット数は、すべての第２の数値のいずれも表現可能なビット数とされる。これにより、差分値も必ず第２のビット数で表現可能となる。
実施の形態２．
本発明の実施の形態２に係る特性データ伸長装置は、実施の形態１に係る特性データ圧縮装置により生成された圧縮済特性データを伸長し、元の特性データを生成する情報処理装置である。例えば、このような特性データ伸長装置は、ガンマ補正テーブルを使用して画像処理を行う画像処理装置に内蔵されてもよい。
【００６５】
図７は、本発明の実施の形態２に係る特性データ伸長装置の構成を示すブロック図である。図７において、演算処理装置５１は、図示せぬコンピュータを内蔵し、図示せぬ記録媒体に格納された特性データ伸長プログラムを実行し、データ抽出部６１およびデータ変換部６２を実現する装置である。
【００６６】
データ抽出部６１は、実施の形態１に係る特性データ圧縮装置により生成された圧縮済特性データにおける、第１のビット長の差分データから第１ビット長で表現可能な差分値を抽出し、第２のビット長の差分データから第２ビット長で表現可能な差分値を抽出する差分値抽出手段として機能する処理部である。実施の形態２では、データ抽出部６１は、圧縮済特性データにおける、４ビット差分データから４ビット表現可能な差分値を抽出し、８ビット差分データから８ビット長で表現可能な差分値を抽出する。
【００６７】
データ変換部６２は、抽出された差分値から特性データを復元する特性データ復元手段として機能する処理部である。
【００６８】
また、データ格納装置５２は、固定長の記憶領域に格納された、伸長の対象となる圧縮済特性データ７１、処理途中で生成される未圧縮差分データ７２、および処理結果となる元の特性データ７３を格納する装置である。圧縮済特性データ７１は、実施の形態１における圧縮済特性データ２４と同一のものである。特性データ７３は、実施の形態１における特性データ２１と同一のものである。データ格納装置５２としては、書換可能な不揮発性の記録媒体（ハードディスクドライブ、ＮＶＲＡＭ：Non-Volatile RAMなど）、ＲＡＭなどが適宜使用される。この実施の形態２では、圧縮済特性データ７１は、書換可能な不揮発性メモリであるＮＶＲＡＭ８１内の固定長の記憶領域に予め格納されており、未圧縮差分データ７２は、ＲＡＭ８２に格納される。特性データ７３は、ＲＡＭ８２に格納される。さらに、この実施の形態２では、ガンマ補正テーブルが特性データ７３として伸長され、ＲＡＭ８２に格納され、図示せぬ画像処理部により、画像処理に使用される。
【００６９】
次に、上記装置の動作について説明する。図８は、実施の形態２に係る特性データ伸長装置の動作を説明するフローチャートである。
【００７０】
データ抽出部６１は、圧縮済特性データ７１から個数データを読み出し、第２のビット長の差分データの個数を特定する（ステップＳ１１）。実施の形態２では、データ抽出部６１は、８ビット差分データの個数を特定する。図２に示すように、個数データ領域２４ｃの位置は既知であるので、データ抽出部６１は、その位置から個数データを読み出せばよい。
【００７１】
次に、データ抽出部６１は、第２のビット長の差分データの個数から、第１のビット長の差分データの個数を特定し、その個数の、第１のビット長の差分データを特性データ領域２４ａから読み出す（ステップＳ１２）。第１のビット長の差分データは、第２のビット長の差分データへ変換され、特性データ領域２４ａに格納されていた順番と同一の順番で、未圧縮差分データ７２として格納される。なお、ここでは、ビット長が変換されるだけで、データの値は変化しない。実施の形態２では、データ抽出部６１は、全差分データ数から８ビット差分データの個数を減算して４ビット差分データの個数を特定し、その個数の４ビット差分データを特性データ領域２４ａの先頭から読み出す。このとき、２つの４ビット差分データを８ビットデータとして読み出して、上位４ビットと下位４ビットとから２つの差分値を特定するようにしてもよい。ただし、４ビット差分データの個数が奇数である場合には、最後のパディングデータ部分は破棄する。
【００７２】
さらに、データ抽出部６１は、特定した個数だけ、第２のビット長の差分データを特性データ領域２４ａから読み出す（ステップＳ１３）。第２のビット長の差分データは、そのまま未圧縮差分データ７２として格納される。このとき、データ抽出部６１は、第２のビット長の差分データに対応する位置データを、圧縮済特性データ７１の位置データ領域２４ｂから読み出し、未圧縮特性データ７２の配列の、その位置データの示す出現位置に、その第２のビット長の差分データを挿入する。これにより、圧縮前の差分データが復元される。つまり、第１の値の昇順または降順に沿った順番で配列された差分データが得られる。
【００７３】
そして、データ変換部６２は、未圧縮特性データ７２から特性データ７３を復元する（ステップＳ１４）。復元された特性データ７３は、ＲＡＭ８２に格納される。実施の形態２のガンマ補正テーブルの場合では、入力値が０であるときの出力値が０であるため、入力値が１であるときの出力値は、１番目の差分データの値とされる。次に、入力値が２であるときの出力値は、１番目の差分データの値に２番目の差分データの値を加算した値となる。このようにして順次、各入力値での出力値が計算される。なお、このように、最小の入力値に対する出力値が既知ではない特性データの場合には、最小の入力値に対する出力値を格納する領域を圧縮済特性データ７１に設け、圧縮時にその出力値をその領域に格納しておき、伸長時にその出力値を参照して、最小の入力値に対する出力値を決定すればよい。
【００７４】
以上のように、上記実施の形態２によれば、実施の形態１のようにして、固定長のデータ領域に格納されている圧縮された特性データを伸長することができる。
【００７５】
また、上記実施の形態２によれば、圧縮済特性データ７１は固定長のデータフォーマットとなっているため、圧縮済特性データ７１の更新時に、記憶領域の長さを変更せずに済む。例えば、ガンマ補正テーブルの出力値、つまり特性が変更されるような場合に、確実に新たなガンマ補正テーブルへ更新することができる。
【００７６】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００７７】
例えば、実施の形態１では、個数データは、第２のビット長の差分データの個数を示すが、第１のビット長の差分データの個数を示すようにしてもよい。その場合、差分データの総数から第１のビット長の差分データの個数を減算することで第２のビット長の差分データの個数を取得すればよい。
【００７８】
また、上記各実施の形態では、一例として８ビット、つまり２５６階調のガンマ補正テーブルを特性データ２１，７３としているが、他の偶数ビット（２Ｍビット）のガンマ補正テーブルを特性データ２１，７３としても勿論よい。その場合には、第２のビット長が２Ｍとなり、第１のビット長がＭとなる。また、特性データは、ガンマ補正テーブルに限らず、例えば測定値の補正用テーブル、校正用テーブルなどであってもよい。
【００７９】
また、上記実施の形態１では、差分値を未圧縮差分データ２２として一旦格納してから、差分値を第１のビット長で表現可能か否かを判定しているが、その代わりに、差分値を未圧縮差分データ２２として格納する前に、差分値を第１のビット長で表現可能か否かを判定するようにしてもよい。
【産業上の利用可能性】
【００８０】
本発明は、例えば、画像処理装置のガンマ補正テーブルに適用可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態１に係る特性データ圧縮装置の構成を示すブロック図である。
【図２】実施の形態１における圧縮済特性データのデータフォーマットの一例を示す図である。
【図３】実施の形態１に係る特性データ圧縮装置の動作を説明するフローチャートである。
【図４】実施の形態１におけるガンマ補正テーブルによるガンマ補正特性の一例を示す図である。
【図５】実施の形態１における差分データのビット長を説明する図である。
【図６】実施の形態１における圧縮済特性データの具体例を示す図である。
【図７】本発明の実施の形態２に係る特性データ伸長装置の構成を示すブロック図である。
【図８】実施の形態２に係る特性データ伸長装置の動作を説明するフローチャートである。
【符号の説明】
【００８２】
１１  差分計算部（差分計算手段）
１２  差分分類部（差分分類手段）
１３  差分データ配列部（差分データ配列手段）
２４ａ  特性データ領域
２４ｂ  位置データ領域
２４ｃ  個数データ領域
５２  データ格納装置（データ格納手段）
６１  データ抽出部（差分値抽出手段）
６２  データ変換部（特性データ復元手段）
【図１】
0005202919.tif 000002
【図２】
0005202919.tif 000003
【図３】
0005202919.tif 000004
【図４】
0005202919.tif 000005
【図５】
0005202919.tif 000006
【図６】
0005202919.tif 000007
【図７】
0005202919.tif 000008
【図８】
0005202919.tif 000009