(57)【要約】【課題】カラーの画像を表すＣＴデータの圧縮に適用可能な新たな好ましい圧縮処理を行うことができるデータ圧縮装置およびデータ圧縮プログラムを提供する。【解決手段】被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めて差分色版データを生成し、所定種類の色要素に対応した色版データおよび差分色版データそれぞれを元データとした各元データを構成する数値の連続から周期的に数値を間引くことにより各第１の被圧縮データと各第２の被圧縮データとを作成し、第１の被圧縮データに可逆圧縮処理を施し、第２の被圧縮データに非可逆圧縮処理を施す。【選択図】        図３
2010028649.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、該複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を施すデータ圧縮装置において、
前記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、前記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、該差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
前記被圧縮データに含まれる色版データのうち前記所定種類の色要素に対応した色版データ、および前記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第１の被圧縮データと、残りの数値の連続からなる各第２の被圧縮データとを作成する間引き処理部と、
前記間引き処理部で作成された第１の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記間引き処理部で作成された第２の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを備えたことを特徴とするデータ圧縮装置。
【請求項２】
画像中のエッジ部分を判定する判定部を備え、
前記非可逆圧縮部が、前記間引き処理部で作成された第２の被圧縮データを構成する数値について、前記判定部で判定されたエッジ部分でない場合には、エッジ部分でない事を表す符号を出力するものであることを特徴とする請求項１記載のデータ圧縮装置。
【請求項３】
前記非可逆圧縮部が、前記間引き処理部で作成された第２の被圧縮データを構成する数値について、前記判定部で判定されたエッジ部分である場合には、その数値を前記単位ビット数よりも少ない少ビット数で表現した数値を出力するものであることを特徴とする請求項２記載データ圧縮装置。
【請求項４】
前記非可逆圧縮部が、数値を前記少ビット数で表現するに当たり、前記単位ビット数のビット値の下位桁を切り捨てるものであることを特徴とする請求項３記載のデータ圧縮装置。
【請求項５】
前記判定部が、前記所定種類の色要素に対応した色版画像と前記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであることを特徴とする請求項２から４のうちいずれか１項記載のデータ圧縮装置。
【請求項６】
前記判定部が、前記所定種類の色要素に対応した色版画像と前記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定し、該色版画像と該差分画像とでは判定基準が異なっているものであることを特徴とする請求項２から５のうちいずれか１項記載のデータ圧縮装置。
【請求項７】
前記間引き処理部で作成された第１の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求める差分生成部を備え、
前記判定部が、前記差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであることを特徴とする請求項２から６のうちいずれか１項記載のデータ圧縮装置。
【請求項８】
前記差分生成部が、第１の被圧縮データを構成する数値について、前記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることを特徴とする請求項７記載のデータ圧縮装置。
【請求項９】
前記間引き処理部が、前記所定種類の色要素に対応した色版データと前記差分色版データとでは間引きの周期が異なるものであることを特徴とする請求項１から８のうちいずれか１項記載のデータ圧縮装置。
【請求項１０】
前記間引き処理部が、前記所定種類の色要素に対応した色版データと前記差分色版データとでは間引きの周期が異なり、該色版データにおける間引きの周期の方が該差分色版データにおける間引きの周期よりも短いものであることを特徴とする請求項１から９のうちいずれか１項記載のデータ圧縮装置。
【請求項１１】
前記可逆圧縮部が、
前記間引き処理部で作成された第１の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
前記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
前記オフセット部によって数値がオフセットされた被圧縮データの各数値を、前記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
前記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることを特徴とする請求項１から１０のうちいずれか１項記載のデータ圧縮装置。
【請求項１２】
前記差分生成部が、第１の被圧縮データを構成する数値について、前記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることを特徴とする請求項１１記載のデータ圧縮装置。
【請求項１３】
前記上位データ圧縮部が、上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部を備えたものであることを特徴とする請求項１１または１２記載のデータ圧縮装置。
【請求項１４】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
符号と数値を対応づけるテーブルを用いて、前記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることを特徴とする請求項１１から１３のうちいずれか１項記載のデータ圧縮装置。
【請求項１５】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
ハフマンテーブルを用いて、前記第１の符号化部で符号化された後のデータにハフマン符号化を施す第２の符号化部を備えたものであることを特徴とする請求項１１から１４のうちいずれか１項記載のデータ圧縮装置。
【請求項１６】
前記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
前記第１の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
前記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短い符号を割り当てる符号割当部と、
前記符号割当部で符号が割り当てられたテーブルを用いて、前記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることを特徴とする請求項１１から１５のうちいずれか１項記載のデータ圧縮装置。
【請求項１７】
前記ヒストグラム算出部は、前記第１の符号化部で符号化された後のデータに対して、該データ中に出現する数値の間引きを行い、その間引いた数値によって前記ヒストグラムを求めるものであることを特徴とする請求項１６記載のデータ圧縮装置。
【請求項１８】
前記可逆圧縮部が、前記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたものであることを特徴とする請求項１１から１７のうちいずれか１項記載のデータ圧縮装置。
【請求項１９】
前記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることを特徴とする請求項１８記載のデータ圧縮装置。
【請求項２０】
前記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであることを特徴とする請求項１８または１９記載のデータ圧縮装置。
【請求項２１】
前記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることを特徴とする請求項１８から２０のうちいずれか１項記載のデータ圧縮装置。
【請求項２２】
プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に、複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、該複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を実行させるデータ圧縮プログラムにおいて、
前記情報処理装置上に、
前記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、前記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、該差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
前記被圧縮データに含まれる色版データのうち前記所定種類の色要素に対応した色版データ、および前記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第１の被圧縮データと、残りの数値の連続からなる各第２の被圧縮データとを作成する間引き処理部と、
前記間引き処理部で作成された第１の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記間引き処理部で作成された第２の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを構築することを特徴とするデータ圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ等のデータを圧縮するデータ圧縮装置、およびコンピュータ等の情報処理装置をデータ圧縮装置として動作させるデータ圧縮プログラムに関する。
【背景技術】
【０００２】
従来より、記憶容量の低減化や通信量の低減化等のために、画像データ等のデータを圧縮する技術が広く採用されている。
【０００３】
例えば、特許文献１には、画像データにおいて、印刷設定情報を記録する各色の属性プレーンは可逆圧縮し、ＣＭＹＫの各色のプレーンについては、非可逆圧縮することでデータサイズを低減する技術が提案されている。
【０００４】
また、特許文献２には、画像データを色プレーンごとに圧縮し、その圧縮された画像データの各色プレーンを、そのサイズまたは圧縮率に応じた順で、ブロック単位にプリンタへ転送し、そしてプリンタにおいて、該転送された画像データを伸長し、該伸長された画像データに基づいてカラー画像を形成する技術が提案されている。
【０００５】
ここで、データ圧縮技術を適用した１つのシステムを紹介する。
【０００６】
図１は、データ圧縮技術が適用されたプリントシステムの一例を示す図、図２は、プリントシステムにおけるデータ処理の流れを示す図である。
【０００７】
このプリントシステムは、図１に示すように、ホストコントローラ１００と、インターフェース機器２００と、プリンタ３００とで構成されており、ホストコントローラ１００とインターフェース機器２００との間はＳＣＳＩ等の汎用インターフェースケーブル１５０で接続され、さらにインターフェース機器２００とプリンタ３００との間は専用インターフェースケーブル２５０で接続されている。
【０００８】
ホストコントローラ１００の内部では、図２に示すように、ＰＤＦ，ＰＳ，ＴＩＦＦ等、様々な言語やフォーマットで記述された文字や画像のデータ１１が、画像（ＣＴ；Ｃｏｎｔｉｎｕｏｕｓ  Ｔｏｎｅ）データと文字やライン等（ＬＷ；Ｌｉｎｅ  Ｗｏｒｋ）のデータとに分けられて、それぞれについてＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）を行なうことによりビットマップデータ１２Ａ，１３Ａが生成され、さらにそれぞれについてデータ圧縮処理が行なわれて、ＣＴについては非可逆の圧縮データ１４、ＬＷについては可逆の圧縮データ１５が生成される。これらの圧縮データ１４，１５は、図１に示す汎用インターフェースケーブル１５０を経由して、ホストコントローラ１００からインターフェース機器２００に転送される。インターフェース機器２００では、転送されてきた圧縮データ１４，１５にデータ伸長処理を施して、ホストコントローラ１００でデータ圧縮処理を行なう前の状態のビットマップデータ１２Ａ，１３Ａに対応するビットマップデータ１２Ｂ，１３Ｂを生成する。ここで、ＣＴデータについてはホストコントローラ１００でのデータ圧縮の際非可逆圧縮処理が行なわれているため、データ伸長後のＣＴデータ（ビットマップデータ１２Ｂ）は完全にはデータ圧縮前のＣＴデータ（ビットマップデータ１２Ａ）には戻らないが、ほぼ同一のビットマップデータが復元される。ＬＷデータについては、ホストコントローラ１００でのデータ圧縮の際可逆圧縮処理が行なわれているため、データ伸長後のＬＷデータ（ビットマップデータ１３Ｂ）は、データ圧縮前のＬＷデータ（ビットマップデータ１３Ａ）と同一のデータに復元される。
【０００９】
インターフェース機器２００では、データ伸長後のＣＴデータ（ビットマップデータ１２Ｂ）とＬＷデータ（ビットマップデータ１３Ｂ）とが合成され、さらに網点情報等がタグとして付加されてプリンタ３００に送られる。プリンタ３００では、インターフェース機器２００から受け取ったビットマップデータとそれに付加されたタグ情報とに従って画像がプリント出力される。
【００１０】
ホストコントローラ１００とインターフェース機器２００とが例えば相互に離れている場合、あるいは、インターフェース機器２００が複数台のホストコントローラから画像データを受信するシステムの場合など、ホストコントローラ１００とインターフェース機器２００を別々の装置として構成する必要がある場合には、図２に示すような、ホストコントローラ１００でデータ圧縮を行なってインターフェース機器２００にデータ転送しインターフェース機器でデータ伸長するように構成することにより、ホストコントローラ１００からインターフェース機器２００へのデータ転送時間を短縮することができ、プリントの生産性が向上する。
【００１１】
ここで、一般的には、ＣＴデータについては、非可逆ではあるが圧縮率の高いＪＰＥＧ等の圧縮方式が採用され、ＬＷデータについてはＰａｃｋＢｉｔｓ等の可逆圧縮方式が採用される。
【特許文献１】特開平５−３２８１４２号公報
【特許文献２】特開２００２−２３６５６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、ＪＰＥＧ等の圧縮方式では、ソフトウェアでの圧縮処理に時間を要し、圧縮処理のシステム全体としての処理能力が劣化してしまうとともに、圧縮率を高くすると画質が低下することもある。この問題は、カラーの画像を表すＣＴデータに圧縮処理を施す場合に特に顕著になる。
【００１３】
本発明は上記事情に鑑み、カラーの画像を表すＣＴデータの圧縮に適用可能な新たな好ましい圧縮処理を行うことができるデータ圧縮装置およびデータ圧縮プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するデータ圧縮装置は、
複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、それら複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を施すデータ圧縮装置において、
上記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、上記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、その差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
上記被圧縮データに含まれる色版データのうち上記所定種類の色要素に対応した色版データ、および上記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第１の被圧縮データと、残りの数値の連続からなる各第２の被圧縮データとを作成する間引き処理部と、
上記間引き処理部で作成された第１の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記間引き処理部で作成された第２の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを備えたことを特徴とする。
【００１５】
ここで、本発明のデータ圧縮装置は、
画像中のエッジ部分を判定する判定部を備え、
上記非可逆圧縮部が、上記間引き処理部で作成された第２の被圧縮データを構成する数値について、上記判定部で判定されたエッジ部分でない場合には、エッジ部分でない事を表す符号を出力するものであることが好ましい。
【００１６】
また、上記判定部を備えたデータ圧縮装置は、
上記非可逆圧縮部が、上記間引き処理部で作成された第２の被圧縮データを構成する数値について、上記判定部で判定されたエッジ部分である場合には、その数値を上記単位ビット数よりも少ない少ビット数で表現した数値を出力するものであることも好ましい形態である。
【００１７】
ここで、上記の『画像中のエッジ部分を判定する判定部』における『画像』とは、具体的には、上記カラー画像や、そのカラー画像を構成する複数の色版画像のそれぞれや、その色版画像同士の差分画像等の意である。
【００１８】
また、上記符号には、０ビットの符号（即ち実質的には何も出力しない状態）も含まれる。このように０ビットの符号が用いられる場合に対する復号化は、例えば次のような手順で行われる。即ち、復号化された第１の被圧縮データに基づいてエッジ部分であるか否かを確認し、エッジ部分である場合には上記少ビット数の数値から第２の被圧縮データを復号化し、エッジ部分でない場合には第１の被圧縮データを用いた補間処理により第２の被圧縮データに対応したデータを生成する。
【００１９】
また、上記判定部を備えたデータ圧縮装置は、
上記非可逆圧縮部が、数値を上記少ビット数で表現するに当たり、上記単位ビット数のビット値の下位桁を切り捨てるものであってもよい。
【００２０】
また、上記判定部を備えたデータ圧縮装置は、
上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであることが好ましい。
【００２１】
また、上記判定部を備えたデータ圧縮装置は、
上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定し、その色版画像とその差分画像とでは判定基準が異なっているものであることが、より好ましい。
【００２２】
また、上記判定部を備えたデータ圧縮装置は、
上記間引き処理部で作成された第１の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求める差分生成部を備え、
上記判定部が、上記差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであることが好ましく、さらには、
上記差分生成部が、第１の被圧縮データを構成する数値について、上記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることがより好ましい。
【００２３】
また、本発明のデータ圧縮装置は、
上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なるものであることが好ましい。
【００２４】
また、本発明のデータ圧縮装置は、
上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なり、その色版データにおける間引きの周期の方がその差分色版データにおける間引きの周期よりも短いものであることが、より好ましい。
【００２５】
また、本発明のデータ圧縮装置は、
上記可逆圧縮部が、
上記間引き処理部で作成された第１の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
上記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
上記オフセット部によって数値がオフセットされた被圧縮データの各数値を、上記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、その被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
上記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることが好適である。
【００２６】
ここで、上記の『被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより』における『隣接する』とは、データストリーム上で隣接してもよいが、必ずしもそれに限定されるものではない。例えば、２次元画像データが１次元ストリーム状のデータとして扱われている場合であれば、２次元的な画像上で見て隣接してもよい。また、『隣接する数値どうしの差分』とは、１次元的な差分のみならず２次元以上の多次元的な差分も含む意である。以下においても同様である。
【００２７】
また、上記差分生成部を備えたデータ圧縮装置は、
上記差分生成部が、第１の被圧縮データを構成する数値について、上記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めるものであることがより好ましい。
【００２８】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部を備えたものであることが好ましい。
【００２９】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
符号と数値を対応づけるテーブルを用いて、上記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることが、より好ましい。
【００３０】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
ハフマンテーブルを用いて、上記第１の符号化部で符号化された後のデータにハフマン符号化を施す第２の符号化部を備えたものであってもよい。
【００３１】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、１つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第１の符号化部と、
上記第１の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
上記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短い符号を割り当てる符号割当部と、
上記符号割当部で符号が割り当てられたテーブルを用いて、上記第１の符号化部で符号化された後のデータにエントロピー符号化を施す第２の符号化部を備えたものであることが、より好ましい。
【００３２】
また、このようにヒストグラム算出部を備えたデータ圧縮装置は、
上記ヒストグラム算出部は、上記第１の符号化部で符号化された後のデータに対して、そのデータ中に出現する数値の間引きを行い、その間引いた数値によって上記ヒストグラムを求めるものであることがさらに好ましい。
【００３３】
また、上記分割部を備えたデータ圧縮装置は、
上記可逆圧縮部が、上記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたものであることが好適である。
【００３４】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることが好ましい。
【００３５】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであってもよい。
【００３６】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることも好適である。
【００３７】
また、本発明のデータ圧縮プログラムは、
プログラムを実行する情報処理装置内に組み込まれてその情報処理装置に、複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、それら複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を実行させるデータ圧縮プログラムにおいて、
上記情報処理装置上に、
上記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、上記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、その差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
上記被圧縮データに含まれる色版データのうち上記所定種類の色要素に対応した色版データ、および上記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第１の被圧縮データと、残りの数値の連続からなる各第２の被圧縮データとを作成する間引き処理部と、
上記間引き処理部で作成された第１の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記間引き処理部で作成された第２の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを構築することを特徴とする。
【００３８】
なお、本発明にいうデータ圧縮プログラムについては、ここではその基本形態のみを示すのにとどめるが、これは単に重複を避けるためであり、本発明にいうデータ圧縮プログラムには、上記の基本形態のみではなく、前述したデータ圧縮装置の各形態に対応する各種の形態が含まれる。
【００３９】
また、本発明のデータ圧縮プログラムがコンピュータ上に構成する差分色版データ生成部などといった要素は、１つの要素が１つのプログラム部品によって構築されるものであってもよく、１つの要素が複数のプログラム部品によって構築されるものであってもよく、複数の要素が１つのプログラム部品によって構築されるものであってもよい。また、これらの要素は、そのような作用を自分自身で実行するものとして構築されてもよく、あるいは、コンピュータに組み込まれている他のプログラムやプログラム部品に指示を与えて実行するものとして構築されても良い。
【発明の効果】
【００４０】
種類の異なる色要素それぞれに対応した色版データの中には、データ分布の特徴が共通しており互いに相関が強い、色版データの群が存在することが多い。
【００４１】
上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、こうした互いに相関が強い色版データのうち所定種類の色要素に対応した色版データと、その所定種類の色要素を除いた他の色要素に対応した色版データとの差分から差分色版データが生成されて圧縮処理が施される。このような差分色版データを生成する過程を経ることで、圧縮処理対象となるデータが、圧縮しやすい状態になり、全体として大きな圧縮率が達成される。また、上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、被圧縮データが、周期的に間引かれた第１の被圧縮データと残りの第２の被圧縮データに分けられ、第１の被圧縮データには可逆圧縮処理が施されて第２の被圧縮データには非可逆圧縮処理が施される。第２の被圧縮データについては非可逆圧縮によって元の情報は一部失われるが、ＣＴ画像は隣接画素間の相関が強いので、その相関を前提とすることで、第２の被圧縮データを大幅に圧縮しても元の画像の画質を高く維持することができる。
【００４２】
また、上記非可逆圧縮部が、第２の被圧縮データを圧縮する際に、画像中のエッジであるか否かで圧縮方式を切り換えるものであると、非エッジ部分では大幅な圧縮を実現すると共に、エッジ部分については圧縮を控えることで画質を維持することができる。
【００４３】
また、上記非可逆圧縮部が、下位桁を切り捨てるものであると演算が不要となり変換が容易である。
【００４４】
また、上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであると、画質の維持と圧縮率の向上との適度なバランスをとることができる。そして、その色版画像とその差分画像とでは判定基準が異なっていると、画質の維持と圧縮率の向上とのより一層適度なバランスをとることができる。
【００４５】
また、上記差分生成部を備え、上記判定部が、差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであるとエッジ判定が容易であり、更に、差分が２次元的な差分であると、エッジ部分の判定はより確からしくなる。
【００４６】
また、上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なるものであっても、画質の維持と圧縮率の向上との適度なバランスをとることができる。そして、その色版データにおける間引きの周期の方がその差分色版データにおける間引きの周期よりも短いと、画質の維持と圧縮率の向上とのより一層適度なバランスをとることができる。
【００４７】
また、上記可逆圧縮部が、上記差分生成部を経る形態によれば、圧縮処理対象となるデータが、データを構成している数値が特定の値の数値の近傍に集中したデータとなり、圧縮しやすい状態になる。また、上記可逆圧縮部が、上記分割部などを備え、上位データと下位データとを分けて処理する形態によれば、後で詳述するように、データ中の数値の分布傾向が顕著に異なっている上位データと下位データとで、各々に適した可逆な処理を施すことができ、画質と圧縮率とのより高レベルでの両立が図られる。一般に、ＣＴデータから得られる新たな被圧縮データの場合には、後で詳述するように、上位データと下位データとではデータ中の数値の分布傾向が顕著に異なっているので、各データに適した可逆圧縮処理が存在し、本発明による圧縮処理によって全体として大きな圧縮率が達成される。また、このような上位データおよび下位データは、アルゴリズムが単純な可逆圧縮処理で大幅な圧縮が期待できるため圧縮の処理時間が短い。特に、データ量が大きいため圧縮してデータ量を小さくすることが望まれるカラーのＣＴデータに対しては、好ましい可逆圧縮処理が実現されることとなる。
【００４８】
また、上記差分生成部が、第１の被圧縮データを構成する数値の連続について差分を求める際に、２次元的な差分を求めるものであると、差分ゼロの頻度が増して可逆圧縮による圧縮がより一層効率よくなる。
【００４９】
また、上記の上位データ圧縮部が第１の符号化部を備えると、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。
【００５０】
また、上記の上位データ圧縮部が第２の符号化部を備えると、エントロピー符号化（典型的にはハフマン符号化）による、圧縮率の更なる向上が見込まれる。
【００５１】
さらに、上記の上位データ圧縮部が、ヒストグラム算出部と符号割当部とを備え、第２の符号化部が、符号割当部で符号が割り当てられたテーブルを用いてエントロピー符号化（例えばハフマン符号化）を施すものであると、符号の割り当てが固定されたテーブルを用いたエントロピー符号化と比べ、圧縮率をさらに大きく向上させることができる。
【００５２】
また、上記のヒストグラム算出部が、数値の間引きを行い、その間引いた数値によって上記のヒストグラムを求めるものであると、処理速度の向上が期待できる。
【００５３】
また、上記可逆圧縮部が下位データ圧縮部を備えると、下位データについても適切な可逆圧縮が施されて圧縮率が向上する。
【００５４】
また、上記の下位データ圧縮部が、エントロピー符号化を施すものであると、エントロピー符号化（典型的にはハフマン符号化）による、圧縮率の更なる向上が見込まれる。
【００５５】
さらに、上記の下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであると、そのような指示によってより高速な圧縮処理を選択することができる。
【発明を実施するための最良の形態】
【００５６】
以下において説明する実施形態は、図１に示す全体システムの中のホストコントローラ１００に組み込まれる画像圧縮装置であり、さらに具体的には、図２に示すホストコントローラ内のＣＴのビットマップデータ１２Ａについてデータ圧縮を行なう処理に関するものである。したがって、ここでは、図１，図２を参照して説明したＣＴデータについてのデータ圧縮処理が以下に説明する本発明の実施形態としてのデータ圧縮処理に置き換わり、インターフェース機器内でのデータ伸長（解凍）処理もその本発明の実施形態としてのデータ圧縮処理に対応したデータ伸長（解凍）処理に置き換わるものと理解し、図１に示す全体システムおよび図２に示す処理の流れについて重複した図示および重複説明は省略する。
【００５７】
図３は、本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置５００を示すブロック構成図である。
【００５８】
この図３に示す画像圧縮装置５００は、ＣＴデータに対して、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色ごとに圧縮処理を施す画像圧縮装置であり、この圧縮処理のために、差分色版データ生成部５０１Ｇ−Ｒ，５０１Ｇ−Ｂ、間引き処理部５０５，５０５Ｇ−Ｒ，５０５Ｇ−Ｂ、２次元差分符号化部５１０，５１０Ｇ−Ｒ，５１０Ｇ−Ｂ、オフセット部５２０，５２０Ｇ−Ｒ，５２０Ｇ−Ｂ、エッジ検出部５２５，５２５Ｇ−Ｒ，５２５Ｇ−Ｂ、プレーン分割部５３０，５３０Ｇ−Ｒ，５３０Ｇ−Ｂ、Ｌプレーン圧縮部５４０，５４０Ｇ−Ｒ，５４０Ｇ−Ｂ、Ｈプレーン圧縮部５５０，５５０Ｇ−Ｒ，５５０Ｇ−Ｂ、およびＦＡＫＥ画素圧縮部５６０，５６０Ｇ−Ｒ，５６０Ｇ−Ｂを備えている。これら各部の詳細は後述するが、この画像圧縮装置５００内での画像データの流れは以下のとおりである。
【００５９】
入力画像ファイルＤ０（本実施形態では、図２に示すように、ビットマップに展開されたＣＴデータ１２Ａが格納されたファイル）は、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色ごとの画像データに分解される。この入力画像ファイルＤ０は、本発明にいう被圧縮データの一例に相当する。
【００６０】
以下では、このような各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データの処理について説明する。ここでは、まず、緑（Ｇ）の画像データの処理について説明し、次いで、赤（Ｒ），青（Ｂ）の各色の画像データの処理について説明する。
【００６１】
緑（Ｇ）の画像データは、図３に示す画像圧縮装置５００の間引き処理部５０５に入力されて、緑（Ｇ）の画像データから、画像中の周期的な画素部分に相当するＴＲＵＥ画素データが間引かれる。間引かれた残りはＦＡＫＥ画素データとなる。
【００６２】
緑（Ｇ）の画像データのＴＲＵＥ画素データは２次元差分符号化部５１０に入力されて、２次元差分符号化処理、すなわち、入力されてきたＴＲＵＥ画素データを構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めることによりその差分を表わす８ビットの数値の連続からなる画像データを生成する処理が行なわれる。
【００６３】
２次元差分符号化部５１０で生成された、差分を表わす数値の連続からなる画像データは、オフセット部５２０に入力されて所定値だけオフセットされる。その後、エッジ検出部５２５とプレーン分割部５３０に入力され、エッジ検出部５２５では、オフセットされた差分値に基づいて画像のエッジ部分が検出され、プレーン分割部５３０では、オフセット後の画像データ中の８ビットの各数値が下位ビットと上位ビットとに分けられることにより、画像データが、下位４ビットの数値の連続からなる下位サブプレーンＤ１Ｌと上位４ビットの数値の連続からなる上位サブプレーンＤ１Ｈに分割される。
【００６４】
プレーン分割部５３０で分割された下位サブプレーンＤ１Ｌおよび上位サブプレーンＤ１Ｈは、それぞれ、Ｌプレーン圧縮部５４０およびＨプレーン圧縮部５５０に入力されて可逆圧縮が施される。
【００６５】
Ｌプレーン圧縮部５４０には、間引きデータスキャニング部５４１＿２、最適ハフマンテーブル生成部５４１＿１、ハフマン符号化部５４１、モード切換部５４２が備えられている。Ｌプレーン圧縮部５４０に入力された、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌは、間引きデータスキャニング部５４１＿２および最適ハフマンテーブル生成部５４１＿１に入力される。間引きデータスキャニング部５４１＿２では、入力された下位サブプレーンＤ１Ｌからデータの間引きが行われ、間引かれたデータがスキャンされてデータを構成する数値の出現頻度（ヒストグラム）が解析される。その解析結果は、最適ハフマンテーブル生成部５４１＿１に入力され、最適ハフマンテーブル生成部５４１＿１では、その解析結果に基づき、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌ中の数値が出現頻度の高い数値ほど短いビット長で表わされる符号に対応づけられているハフマンテーブルの生成が行われる。そして、ハフマン符号化部５４１において、その下位サブプレーンＤ１Ｌを構成する数値を、生成されたハフマンテーブルに従って符号化（ハフマン符号化）する処理が行われ、さらに、ハフマン符号化処理が行われた後のデータに対し、数値と符号との割当テーブルを含む圧縮情報が添付される。このようなハフマン符号化は、エントロピー符号化の一種である。なお、Ｌプレーン圧縮部５４０にはモード切換部５４２が組み込まれており、このモード切換部５４２は、ユーザから、高速モードと通常モードとの切り換えを指示されて、上記のハフマン符号化部５４１によるハフマン符号化を経る通常モードと、ハフマン符号化を省略して下位サブプレーンＤ１Ｌをそのまま出力する高速モードとを切り換える。従って、最終的にＬプレーン圧縮部５４０からは、通常モードの場合には、下位サブプレーンＤ１Ｌがハフマン符号化により圧縮された下位圧縮データＤ２Ｌが出力され、高速モードの場合には、ハフマン符号化が施されていない下位圧縮データＤ２Ｌが出力されることになる。
【００６６】
一方、Ｈプレーン圧縮部５５０には、ランレングス符号化部５５１、間引きデータスキャニング部５５２、最適ハフマンテーブル生成部５５３＿１、ハフマン符号化部５５３が備えられており、上位サブプレーンＤ１Ｈは、Ｈプレーン圧縮部５５０中のランレングス符号化部５５１に入力される。
【００６７】
Ｈプレーン圧縮部５５０中のランレングス符号化部５５１では、先ず、入力されてきた上位サブプレーンＤ１Ｈのデータの中から１つもしくは複数の圧縮対象数値の存在及び同一の圧縮対象数値の連続数が検出される。次いで、ランレングス符号化部５５１では、その検出結果を受けて、上位サブプレーンＤ１Ｈのデータ中、圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理（いわゆるランレングス符号化処理）が行なわれる。このランレングス符号化部５５１では、その符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。具体的には、この符号化では、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を１単位ビット数で表現し、その連続数が所定数を越えるときは２単位ビット数で表現するという符号化が行なわれる。
【００６８】
また、Ｈプレーン圧縮部５５０中のランレングス符号化部５５１での符号化後のデータは、間引きデータスキャニング部５５２、最適ハフマンテーブル生成部５５３＿１、ハフマン符号化部５５３の各部によって、ハフマン符号化処理が行われる。このハフマン符号化処理は、ハフマン符号化処理前のデータがランレングス符号化後のデータであることを除けば、前述の下位サブプレーンＤ１Ｌと同様の処理である。そして、ランレングス符号化およびハフマン符号化が行われた上位サブプレーンＤ１Ｈは、最終的に、上位圧縮データＤ２ＨとしてＨプレーン圧縮部５５０から出力される。
【００６９】
一方、上記の間引き処理部５０５で得られた、緑（Ｇ）の画像データのＦＡＫＥ画素データは、ＦＡＫＥ画素圧縮部５６０に入力されて非可逆圧縮処理が施される。このＦＡＫＥ画素圧縮部５６０には、ビット短縮部５６１と、ランレングス符号化部５６２と、ハフマン符号化部５６３とが備えられており、ＦＡＫＥ画素データを構成する数値はビット短縮部５６１で１ビットまたは４ビットの符号に置換される。ここで、エッジ部分に属するか否かの判定は、エッジ検出部５２５によって行われる。このエッジ検出部５２５の判定に基づき、ビット短縮部５６１では、画像のエッジ部分に属する画素の画素値は４ビットの符号に置換され、画像のエッジ部分に属さない画素の画素値は１ビットの符号に置換される。このように１ビットまたは４ビットの符号に置換されたデータは、ランレングス符号化部５６２およびハフマン符号化部５６３によって、上記Ｈプレーン圧縮部５５０における処理と全く同様の処理が施される。この結果、ＦＡＫＥ画素圧縮部５６０からは、ＦＡＫＥ画素データが非可逆圧縮された非可逆圧縮データＤ３が出力される。
【００７０】
ＴＲＵＥ画素データの可逆圧縮データとＦＡＫＥ画素データの非可逆圧縮データとで、元の画像データに対する圧縮データが構成される。
【００７１】
以上が、緑（Ｇ）の画像データの処理についての説明である。次に、赤（Ｒ），青（Ｂ）の各色の画像データの処理について説明する。最初に、赤（Ｒ）の画像データの処理について説明する。
【００７２】
赤（Ｒ）の画像データは、図３に示す画像圧縮装置５００の差分色版データ生成部５０１Ｇ−Ｒにおいて、前述した緑（Ｇ）の画像データとの間で相対的な差分が計算され、緑（Ｇ）の画像データに対する相対的な差分を表す、８ビットの数値の連続からなり、緑（Ｇ）の画像データと赤（Ｒ）の画像データとの間の差分画像を表した差分色版データ（以下、この差分色版データをＧ−Ｒの画像データと称する）が生成される。差分色版データ生成部５０１Ｇ−Ｒで生成されたＧ−Ｒの画像データは、間引き処理部５０５Ｇ−Ｒに入力されて、緑（Ｇ）の画像データに対して施された処理と同様の間引き処理が施されて、ＴＲＵＥ画素データとＦＡＫＥ画素データとに分けられる。
【００７３】
Ｇ−Ｒの画像データのＴＲＵＥ画素データは２次元差分符号化部５１０Ｇ−Ｒに入力され、２次元差分符号化部５１０Ｇ−Ｒにおいて、緑（Ｇ）の画像データに対して施された処理と同様の２次元差分符号化処理が施されて、オフセット部５２０Ｇ−Ｒに入力される。オフセット部５２０Ｇ−Ｒでオフセットが施された後、プレーン分割部５３０Ｇ−Ｒで下位ビットの数値の連続からなる、Ｇ−Ｒの画像データの下位サブプレーンＤ１Ｌ＿Ｇ−Ｒと、上位ビットの数値の連続からなる、Ｇ−Ｒの画像データの上位サブプレーンＤ１Ｈ＿Ｇ−Ｒとに分割される。Ｇ−Ｒの画像データの下位サブプレーンＤ１Ｌ＿Ｇ−Ｒは、Ｌプレーン圧縮部５４０Ｇ−Ｒに入力されて、このＬプレーン圧縮部５４０Ｇ−Ｒにおいて、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌに対して施された処理と同様の可逆圧縮処理が施されて、Ｇ−Ｒの下位圧縮データＤ２Ｌ＿Ｇ−ＲとしてＬプレーン圧縮部５４０Ｇ−Ｒから出力される。一方、Ｇ−Ｒの画像データの上位サブプレーンＤ１Ｈ＿Ｇ−Ｒは、Ｈプレーン圧縮部５５０Ｇ−Ｒに入力されて、このＨプレーン圧縮部５５０Ｇ−Ｒにおいて、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈに対して施された処理と同様の可逆圧縮処理が施されて、Ｇ−Ｒの上位圧縮データＤ２Ｈ＿Ｇ−ＲとしてＨプレーン圧縮部５５０Ｇ−Ｒから出力される。
【００７４】
一方、上記の間引き処理部５０５Ｇ−Ｒで得られた、Ｇ−Ｒの画像データのＦＡＫＥ画素データは、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒに入力されて、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒにおいて、緑（Ｇ）の画像データに対して施された処理と同様の非可逆圧縮処理が施される。尚、ＦＡＫＥ画素データを構成する数値が、ビット短縮部５６１において４ビットあるいは１ビットの２種類の符号のいずれに置換されるかを決定するための、Ｇ−Ｒの画像データに対して使用されるエッジ検出部５２５Ｇ−Ｒにおける判定基準は、前述の、緑（Ｇ）の画像データに対して使用されるエッジ検出部５２５における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。この結果、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒからは、ＦＡＫＥ画素データが非可逆圧縮された非可逆圧縮データＤ３Ｇ−Ｒが出力される。
【００７５】
以上が、赤（Ｒ）の画像データの処理について説明である。
【００７６】
次に、青（Ｂ）の画像データの処理について説明する。
【００７７】
青（Ｂ）の画像データは、図３に示す画像圧縮装置５００の差分色版データ生成部５０１Ｇ−Ｂにおいて、赤（Ｒ）の画データと同様に、緑（Ｇ）の画像データとの間の差分画像を表した差分色版データ（以下、この差分色版データをＧ−Ｂの画像データと称する）が生成された後、間引き処理部５０５Ｇ−Ｂにおいて、ＴＲＵＥ画素データとＦＡＫＥ画素データとに分けられる。
【００７８】
Ｇ−Ｂの画像データのＴＲＵＥ画素データは、２次元差分符号化部５１０Ｇ−Ｂ、オフセット部５２０Ｇ−Ｂ、プレーン分割部５３０Ｇ−Ｂ、Ｌプレーン圧縮部５４０Ｇ−Ｂ、Ｈプレーン圧縮部５５０Ｇ−Ｂにおいて、Ｇ−Ｒの画像データに対して施された処理と同様の可逆圧縮処理が施されて、Ｇ−Ｂの下位圧縮データＤ２Ｌ＿Ｇ−Ｂ、Ｇ−Ｂの上位圧縮データＤ２Ｈ＿Ｇ−Ｂとして、それぞれＬプレーン圧縮部５４０Ｇ−Ｂ、Ｈプレーン圧縮部５５０Ｇ−Ｂから出力される。
【００７９】
一方、上記の間引き処理部５０５Ｇ−Ｂで得られた、Ｇ−Ｂの画像データのＦＡＫＥ画素データは、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒに入力されて、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒにおいて、Ｇ−Ｒの画像データに対して施された処理と同様の非可逆圧縮処理が施されて、ＦＡＫＥ画素データが非可逆圧縮された非可逆圧縮データＤ３Ｇ−Ｂが出力される。尚、ＦＡＫＥ画素データを構成する数値が、ビット短縮部５６１において４ビットあるいは１ビットの２種類の符号のいずれに置換されるかを決定するための、Ｇ−Ｂの画像データに対して使用されるエッジ検出部５２５Ｇ−Ｒにおける判定基準は、前述の、Ｇ−Ｒの画像データに対して使用されるエッジ検出部５２５Ｇ−Ｒにおける判定基準と同様に、前述の、緑（Ｇ）の画像データに対して使用されるエッジ検出部５２５における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。
【００８０】
以上が、青（Ｂ）の画像データの処理について説明である。
【００８１】
このように赤（Ｒ），緑（Ｇ），青（Ｂ）の各色について、各色についてのＬプレーン圧縮部およびＨプレーン圧縮部のそれぞれから出力される下位圧縮データと上位圧縮データとに、さらにＦＡＫＥ画素圧縮部から出力される非可逆圧縮データが加わったデータの組が出力されることとなり、これら３色について、下位圧縮データと上位圧縮データとにさらに非可逆圧縮データが加わったデータの組が全部で３組生成されて、これら３組のデータが元の画像データに対する圧縮データとなる。この圧縮データは、図１に示すＳＣＳＩ等の汎用インターフェース１５０を経由してインターフェース機器２００に転送される。インターフェース機器２００では、その受け取った可逆圧縮データにデータ伸長処理が施されるが、このデータ伸長処理にあたっては、図３で説明した各種の符号化処理に対応する復号化処理が施されて元の入力画像ファイル中の画像データと同一の画像データが復元される。
【００８２】
以上の説明において、ＴＲＵＥ画素データおよびＦＡＫＥ画素データが、それぞれ、本発明にいう第１の被圧縮データおよび第２の被圧縮データの各一例に相当し、間引き処理部５０５，５０５Ｇ−Ｒ，５０５Ｇ−Ｂを合わせたものが、本発明にいう間引き処理部の一例に相当する。また、２次元差分符号化部５１０，５１０Ｇ−Ｒ，５１０Ｇ−Ｂを合わせたものが、本発明にいう差分生成部の一例に相当する。また、オフセット部５２０，５２０Ｇ−Ｒ，５２０Ｇ−Ｂを合わせたものが、本発明にいうオフセット部の一例に相当し、エッジ検出部５２５，５２５Ｇ−Ｒ，５２５Ｇ−Ｂを合わせたものが、本発明にいう判定部の一例に相当し、プレーン分割部５３０，５３０Ｇ−Ｒ，５３０Ｇ−Ｂを合わせたものが、本発明にいう分割部の一例に相当する。また、下位サブプレーンＤ１Ｌ，Ｄ１Ｌ＿Ｇ−Ｒ，Ｄ１Ｌ＿Ｇ−Ｂが、本発明にいう下位データの一例に相当し、上位サブプレーンＤ１Ｈ，Ｄ１Ｈ＿Ｇ−Ｒ，Ｄ１Ｈ＿Ｇ−Ｂが、本発明にいう上位データの一例に相当する。また、Ｌプレーン圧縮部５４０，５４０Ｇ−Ｒ，５４０Ｇ−Ｂを合わせたものが、本発明にいう下位データ圧縮部の一例に相当し、Ｈプレーン圧縮部５５０，５５０Ｇ−Ｒ，５５０Ｇ−Ｂを合わせたものが、本発明にいう上位データ圧縮部の一例に相当する。
【００８３】
また、本実施形態では、ランレングス符号化部５５１，５５１Ｇ−Ｒ，５５１Ｇ−Ｂを合わせたものが、本発明にいう第１の符号化部の一例に相当し、間引きデータスキャニング部５５２，５５２Ｇ−Ｒ，５５２Ｇ−Ｂを合わせたものが、本発明にいうヒストグラム算出部の一例に相当し、最適ハフマンテーブル生成部５５３＿１，５５３Ｇ−Ｒ＿１，５５３Ｇ−Ｂ＿１を合わせたものが、本発明にいう符号割当部の一例に相当し、ハフマン符号化部５５３，５５３Ｇ−Ｒ，５５３Ｇ−Ｂを合わせたものが、本発明にいう第２の符号化部の一例に相当する。そして、２次元差分符号化部５１０，５１０Ｇ−Ｒ，５１０Ｇ−Ｂを合わせたもの、オフセット部５２０，５２０Ｇ−Ｒ，５２０Ｇ−Ｂを合わせたもの、プレーン分割部５３０，５３０Ｇ−Ｒ，５３０Ｇ−Ｂを合わせたもの、Ｌプレーン圧縮部５４０，５４０Ｇ−Ｒ，５４０Ｇ−Ｂを合わせたもの、およびＨプレーン圧縮部５５０，５５０Ｇ−Ｒ，５５０Ｇ−Ｂを合わせたものの組み合わせは、本発明にいう可逆圧縮部の一例に相当する。
【００８４】
また、本実施形態では、緑（Ｇ）の画像データが、本発明にいう、所定種類の色要素に対応した色版データの一例に相当し、赤（Ｒ）の画像データおよび青（Ｂ）の画像データが、それぞれ、本発明にいう、所定種類の色要素を除いた他の色要素に対応した色版データの一例に相当し、Ｇ−Ｒの画像データおよびＧ−Ｂの画像データが、それぞれ、本発明にいう差分色版データの一例に相当し、差分色版データ生成部５０１Ｇ−Ｒ，５０１Ｇ−Ｂを合わせたものが、本発明にいう差分色版データ生成部の一例に相当する。
【００８５】
また、本実施形態では、ＦＡＫＥ画素圧縮部５６０，５６０Ｇ−Ｒ，５６０Ｇ−Ｂを合わせたものが、本発明にいう非可逆圧縮部の一例に相当する。
【００８６】
図４は、図１に示すホストコントローラ１００のハードウェア構成図である。
【００８７】
図１に示すホストコントローラ１００は、図４に示す構成のコンピュータシステムで構成されている。
【００８８】
この図４に示す、コンピュータシステムで構成されたホストコントローラ１００には、ＣＰＵ１１１、ＲＡＭ１１２、通信インターフェース１１３、ハードディスクコントローラ１１４、ＦＤドライブ１１５、ＣＤＲＯＭドライブ１１６、マウスコントローラ１１７、キーボードコントローラ１１８、ディスプレイコントローラ１１９、および通信用ボード１２０が備えられており、これらはバス１１０で相互に接続されている。
【００８９】
ハードディスクコントローラ１１４は、このホストコントローラ１００に内蔵されているハードディスク１０４のアクセスを制御するものであり、ＦＤドライブ１１５、ＣＤＲＯＭドライブ１１６は、このホストコントローラ１００に取出し自在に装填されるフレキシブルディスク（ＦＤ）１３０、ＣＤＲＯＭ１４０のアクセスを制御するものである。また、マウスコントローラ１１７、キーボードコントローラ１１８は、このホストコントローラ１００に備えられたマウス１０７、キーボード１０８の操作を検出してＣＰＵ１１１に伝達する役割を担っている。さらに、ディスプレイコントローラ１１９は、このＣＰＵ１１１の指示に基づいて、ホストコントローラ１００に備えられた画像ディスプレイ１０９の表示画面上に画像を表示する役割を担っている。
【００９０】
通信用ボード１２０は、ＳＣＳＩ等の汎用インターフェースプロトコルに準拠した通信を担っており、圧縮後の画像データをインターフェースケーブル１５０を介してインターフェース機器２００（図１参照）に転送する役割を担っている。
【００９１】
さらに、通信用インターフェース１１３は、インターネット等の汎用の通信を担っており、このホストコントローラ１００は、この通信用インターフェース１１３を経由して画像データを取り込むこともできる。
【００９２】
ＲＡＭ１１２には、ハードディスク１０４に格納されているプログラムが読み出されてＣＰＵ１１１での実行のために展開され、ＣＰＵ１１１では、そのＲＡＭ１１２に展開されたプログラムが読み出されて実行される。
【００９３】
図５は、本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮プログラム６００の模式構成図である。
【００９４】
ここでは、この画像圧縮プログラム６００は、ＣＤＲＯＭ１４０に記憶されている。
【００９５】
この画像圧縮プログラム６００は、差分色版データ生成部６０１Ｇ−Ｒ，６０１Ｇ−Ｂ、間引き処理部６０５，６０５Ｇ−Ｒ，６０５Ｇ−Ｂ、２次元差分符号化部６１０，６１０Ｇ−Ｒ，６１０Ｇ−Ｂ、オフセット部６２０，６２０Ｇ−Ｒ，６２０Ｇ−Ｂ、エッジ検出部６２５，６２５Ｇ−Ｒ，６２５Ｇ−Ｂ、プレーン分割部６３０，６３０Ｇ−Ｒ，６３０Ｇ−Ｂ、Ｌプレーン圧縮部６４０，６４０Ｇ−Ｒ，６４０Ｇ−Ｂ、Ｈプレーン圧縮部６５０，６５０Ｇ−Ｒ，６５０Ｇ−Ｂ、およびＦＡＫＥ画素圧縮部６６０，６６０Ｇ−Ｒ，６６０Ｇ−Ｂから構成されている。このＣＤＲＯＭ１４０には、ここに示す画像圧縮プログラム６００のほか、図１に示すホストコントローラ１００における一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
【００９６】
この図５に示すＣＤＲＯＭ１４０が、図４に示すホストコントローラ１００に装填されＣＤＲＯＭドライブ１１６でアクセスされてそのＣＤＲＯＭ１４０に記憶されているプログラムがこのホストコントローラ１００にアップロードされ、ハードディスク１０４に記憶される。このハードディスク１０４に記憶されたプログラムがそのハードディスク１０４から読み出されてＲＡＭ１１２に展開され、ＣＰＵ１１１によって実行されることにより、このホストコントローラ１００は、図３に示す画像圧縮装置５００としての処理を含む、ホストコントローラとしての各種処理を実行する装置として動作する。
【００９７】
ここで、図５に示す画像圧縮プログラム６００は、ホストコントローラ１００にインストールされてＣＰＵ１１１で実行されることにより、そのホストコントローラ１００内に図３に示す画像圧縮装置５００を実現するものであり、差分色版データ生成部６０１Ｇ−Ｒ，６０１Ｇ−Ｂ、間引き処理部６０５，６０５Ｇ−Ｒ，６０５Ｇ−Ｂ、２次元差分符号化部６１０，６１０Ｇ−Ｒ，６１０Ｇ−Ｂ、オフセット部６２０，６２０Ｇ−Ｒ，６２０Ｇ−Ｂ、エッジ検出部６２５，６２５Ｇ−Ｒ，６２５Ｇ−Ｂ、プレーン分割部６３０，６３０Ｇ−Ｒ，６３０Ｇ−Ｂ、Ｌプレーン圧縮部６４０，６４０Ｇ−Ｒ，６４０Ｇ−Ｂ、Ｈプレーン圧縮部６５０，６５０Ｇ−Ｒ，６５０Ｇ−Ｂ、およびＦＡＫＥ画素圧縮部６６０，６６０Ｇ−Ｒ，６６０Ｇ−Ｂは、ＣＰＵ１１１で実行されることにより、そのホストコントローラ１００を、図３に示す画像圧縮装置５００を構成する、それぞれ、差分色版データ生成部５０１Ｇ−Ｒ，５０１Ｇ−Ｂ、間引き処理部５０５，５０５Ｇ−Ｒ，５０５Ｇ−Ｂ、２次元差分符号化部５１０，５１０Ｇ−Ｒ，５１０Ｇ−Ｂ、オフセット部５２０，５２０Ｇ−Ｒ，５２０Ｇ−Ｂ、エッジ検出部５２５，５２５Ｇ−Ｒ，５２５Ｇ−Ｂ、プレーン分割部５３０，５３０Ｇ−Ｒ，５３０Ｇ−Ｂ、Ｌプレーン圧縮部５４０，５４０Ｇ−Ｒ，５４０Ｇ−Ｂ、Ｈプレーン圧縮部５５０，５５０Ｇ−Ｒ，５５０Ｇ−Ｂ、およびＦＡＫＥ画素圧縮部５６０，５６０Ｇ−Ｒ，５６０Ｇ−Ｂとして動作させるプログラム部品である。つまり、これらのプログラム部品により、画像圧縮装置５００の構成要素がホストコントローラ１００上に実質的に構築されることとなる。
【００９８】
図５の画像圧縮プログラム６００を構成する上記の各部の、ＣＰＵ１１１で実行されたときの作用は、それぞれ、図３の画像圧縮装置５００を構成する、上述した各部の作用そのものである。したがって、図３の画像圧縮装置５００の各部に関する、これまでの説明、および、以下に説明する詳細説明をもって、図５の画像圧縮プログラム６００を構成する各部の説明を兼ねるものとする。
【００９９】
次に、図３に示す画像圧縮装置５００内での処理について詳しく説明する。
【０１００】
入力画像ファイルＤ０は、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色ごとの画像データに分解される。
【０１０１】
以下では、まず、このように各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうちの緑（Ｇ）の画像データの処理について説明し、その後で、赤（Ｒ），青（Ｂ）の各色の画像データの処理について説明する。
【０１０２】
各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうちの緑（Ｇ）の画像データは、まず、間引き処理部５０５に入力されて、間引き処理部５０５により、可逆圧縮処理の対象となるＴＲＵＥ画素の画素データと、非可逆圧縮処理の対象となるＦＡＫＥ画素の画素データとに分けられる。
【０１０３】
図６は、図３の画像圧縮装置５００に入力される入力画像ファイルＤ０中の緑（Ｇ）の画像データのデータ構造および間引き処理の概念を示す図である。
【０１０４】
図６に示すように、図３に示す画像圧縮装置５００に入力される入力画像ファイルＤ０中の緑（Ｇ）の画像データは、所定の主走査方向（図の横方向）とその主走査方向とは直角な副走査方向（図の縦方向）とに画素が並んでおり、主走査方向に並ぶ画素の列はラインと称される。ここでは６ライン分の画素が示されている。
【０１０５】
各画素の位置は、画素値を表す符号Ｔ，Ｆに付された添え字で表現される。例えば３番目のラインについて、主走査方向に並ぶ各画素の画素値には、その並び順に、
３＿１，３＿２，３＿３，３＿４，…
という添え字が付されている。
【０１０６】
図３に示す画像圧縮装置５００を構成する間引き処理部５０５には、このように並んだ画素値からなる緑（Ｇ）の画像データが入力され、間引き処理部５０５は、各画素を、ＴＲＵＥ画素とＦＡＫＥ画素とに分類する。この図６に示す各画素のうちＴＲＵＥ画素は画素値が符号Ｔで表され、ＦＡＫＥ画素は画素値が符号Ｆで表されている。ＴＲＵＥ画素は、画素の並びの中から周期的に間引かれた画素であり、ここでは、副走査方向に１ラインおきの各ライン（奇数番目のライン）について、主走査方向に１画素おきの各画素（奇数番目の画素）がＴＲＵＥ画素として間引き出されている。この結果、この図６に示す例ではＴＲＵＥ画素は、元の解像度の半分の解像度に低下した画像を構成する画素に相当しており、元の画像データの４分の１に相当する画素が間引き出されたこととなる。このように間引き出されたＴＲＵＥ画素は、そのようなＴＲＵＥ画素の連続からなるＴＲＵＥ画素データを構成し、そのＴＲＵＥ画素データの構造は、元の画像データと同様に、主走査方向と副走査方向に画素が並んだ構造となっている。ＴＲＵＥ画素の間引きによって残ったＦＡＫＥ画素についても、そのＦＡＫＥ画素の連続からなるＦＡＫＥ画素データを構成する。ＴＲＵＥ画素データが可逆圧縮処理の対象となるのに対し、このＦＡＫＥ画素データは非可逆圧縮処理の対象となる。
【０１０７】
ＴＲＵＥ画素の間引きだしとしては、このほかに例えば、副走査方向に２ラインおきの各ラインについて、主走査方向に２画素おきの各画素を間引き出すことによって元の画像データの９分の１に相当する画素を間引き出す方式や、主走査方向と副走査方向とでは間引きだしの周期が異なる方式なども採用可能であるが、以下では、図６に示すように、奇数番ラインの奇数番画素が間引き出されたものとして説明を続ける。
【０１０８】
このようにして得られた緑（Ｇ）の画像データのＴＲＵＥ画素データは、図３の画像圧縮装置５００を構成する２次元差分符号化部５１０に入力されて２次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【０１０９】
この２次元差分符号化処理を具体的に説明する。
【０１１０】
図７は、図３の２次元差分符号化部５１０に入力される緑（Ｇ）の画像データのＴＲＵＥ画素データの構造を示す図、図８は、このＴＲＵＥ画素データに対して２次元差分符号化処理が施された後のデータの構造を示す図である。
【０１１１】
図７に示す緑（Ｇ）の画像データのＴＲＵＥ画素データのデータ構造は、実際には、図４に示す緑（Ｇ）の画像データのデータ構造と同じものであるが、図７では、２次元差分符号化処理の概念を示すため、データ構造が図４とは異なる形式で表されている。尚、図７では、図７の横方向が、図４で上述した主走査方向であり、その主走査方向とは直角な方向が副走査方向である。
【０１１２】
緑（Ｇ）の画像データのＴＲＵＥ画素データで表される画像は、所定の主走査方向に画素がＭ個並んでなるラインが、その主走査方向とは直角な副走査方向にＮライン並ぶことによって構成されており、このような構成を反映してそのＴＲＵＥ画素データも、図７に示すように、主走査方向（図の左右方向）に画素値がＭ個並んでなるラインが、副走査方向（図の上下方向）にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の画素値はＰｎ，ｍと表記されており、この表記法を用いて、副走査方向にｎ番目のラインについては、主走査方向に並ぶ各画素の画素値が、その並び順に、
Ｐｎ，１，Ｐｎ，２，…，Ｐｎ，ｍ−１，Ｐｎ，ｍ，…，Ｐｎ，Ｍ−２，Ｐｎ，Ｍ−１，Ｐｎ，Ｍ
と表されている。これらの画素値は、１６進表示で表された数値である。
【０１１３】
ここで、図３に示す画像圧縮装置５００を構成する２次元差分符号化部５１０には、上記のようなＴＲＵＥ画素データが入力されて２次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【０１１４】
図８には、２次元差分符号化処理が施されたデータの構造が示されており、このデータも、２次元差分符号化後の画素値が主走査方向にＭ個並んでなるラインが、副走査方向にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の、２次元差分符号化後の画素値は、Ｘｎ，ｍと表記されており、この２次元差分符号化後の画素値Ｘｎ，ｍは、図７の中央部に示す、２次元差分符号化前の４つの画素値｛Ｐｎ−１，ｍ−１，Ｐｎ−１，ｍ，Ｐｎ，ｍ−１，Ｐｎ，ｍ｝から、下記の変換式によって得られる。
Ｘｎ，ｍ＝（Ｐｎ，ｍ−Ｐｎ，ｍ−１）−（Ｐｎ−１，ｍ−Ｐｎ−１，ｍ−１）                …（１）
ここで、ｎ＝１の場合やｍ＝１の場合には、右辺の２次元差分符号化前の画素値の添え字に０が現れることとなるが、添え字が０となる画素値については、下記のように定義する。
Ｐ０，０＝Ｐ０，ｍ＝００  （ｍ＝１〜Ｍ），  Ｐｎ，０＝Ｐｎ−１，Ｍ  （ｎ＝１〜Ｎ）…（２）  ここで、式（２）の「００」は、画素値を１６進表示で表したときに値がゼロであることを表している。以下、式（１）および式（２）の意味について簡単に説明する。
【０１１５】
式（１）は、主走査方向に隣接する画素どうしの差分（すなわち、カッコの中の値）における副走査方向での更なる差分によって２次元差分符号化後の画素値Ｘｎ，ｍが得られることを表しており、２次元差分符号化前の画素値Ｐｎ，ｍが隣接する画素の画素値と相関が強い（すなわち同じような大きさの画素値である）場合には、２次元差分符号化後の画素値Ｘｎ，ｍは、ゼロに近い値となる。
【０１１６】
式（２）は、副走査方向の仮想的な０番目のラインと、各ラインの左から０番目の仮想的な画素値とを新たに設けたときの各画素値の定義を表す式である。主走査方向については左端の画素値（左から０番目の画素値Ｐｎ，０）とそのラインより１ライン前のラインの右端の画素値Ｐｎ−１，Ｍとを同一視するという定義となっている。また、副走査方向については、図の一番上側の画素値（０番目のライン上の画素値）、すなわち、Ｐ０，０やＰ０，ｍが全て０に固定された定義となっている。
【０１１７】
２次元差分符号化後のデータにおいて、１ライン目の画素値、および各ラインの１番目の画素値については、式（１）の変換式の右辺に、添え字が「０」である項が現れるため、式（２）の定義が適用されることとなる。具体的には上記の式（１）および式（２）により、２次元差分符号化後の１ライン目の画素値は、
Ｘ１，１＝Ｐ１，１，
Ｘ１，２＝Ｐ１，２−Ｐ１，１，
Ｘ１，３＝Ｐ１，３−Ｐ１，２，
…………
Ｘ１，Ｍ＝Ｐ１，Ｍ−Ｐ１，Ｍ−１
のように表される。
【０１１８】
一方、２次元差分符号化後のデータにおいて、各ラインの１番目の画素値については、上記の式（２）により、
Ｘ１，１＝Ｐ１，１，
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１，
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ），
…………
ＸＮ，１＝（ＰＮ，１−ＰＮ−１，Ｍ）−（ＰＮ−１，１−ＰＮ−２，Ｍ）
のように表される。このように、１ライン目の画素値、および各ラインの１番目の画素値については、その変換の仕方がやや特殊であるが、これらの画素値以外の画素値については、式（２）の定義が適用されることなく、式（１）がそのまま適用される。例えば、２ライン目の画素値のうち一番左端を除いた画素値は、
Ｘ２，２＝（Ｐ２，２−Ｐ２，１）−（Ｐ１，２−Ｐ１，１），
Ｘ２，３＝（Ｐ２，３−Ｐ２，２）−（Ｐ１，３−Ｐ１，２），
…………
Ｘ２，Ｍ＝（Ｐ２，Ｍ−Ｐ２，Ｍ−１）−（Ｐ１，Ｍ−Ｐ１，Ｍ−１）
のように表される。
【０１１９】
この２次元差分符号化処理を、具体的な数値を用いて説明する。
【０１２０】
図９は、図３の画像圧縮装置５００を構成する２次元差分符号化部５１０における２次元差分符号化処理を例示して示す図である。
【０１２１】
この図の左側（パート（Ａ））に示す各数値が緑（Ｇ）の画像データのＴＲＵＥ画素データを構成する画素値であり、この図の右側（パート（Ｂ））に示す各数値が２次元差分符号化処理で出力される出力値である。この図の横方向が主走査方向であり、主走査方向に並んだ８つの数値の並びが上記のラインである。この図に示すデータにはこうした８つの数値が並んだラインが全部で８本あり、図７および図８のデータにおいてＮ＝８，Ｍ＝８の場合のデータに相当する。
【０１２２】
図９のパート（Ａ）に示すデータの２次元差分符号化処理では、先ず、１ライン目の各画素値「９０  ８Ａ  ８Ａ  ７Ｂ  …」のうち、一番左の「９０」については、この値がそのまま上記のＸ１，１として出力され、それ以外のＸ１，２，Ｘ１，３，…については、主走査方向に隣接する画素値どうしの差分の値「８Ａ−９０＝ＦＡ」「８Ａ−８Ａ＝００」…が出力される。ここで、「８Ａ」から「９０」を引き算した結果は実際には負の数となり、９ビットで「１ＦＡ」と表されるが、ＭＳＢの１ビットである最上位の「１」は省略し、下位８ビットである「ＦＡ」のみを出力する。
【０１２３】
２ライン目については、Ｘ２，１を求める式、
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１
において、Ｍ＝８としたときの右辺の｛Ｐ２，１，Ｐ１，８，Ｐ１，１｝に対し、図９のパート（Ａ）に示す数値が代入されて、「（８７−５８）−９０＝９Ｆ」がＸ２，１として出力される。それ以外のＸ２，２，Ｘ２，３，…については、２ライン目についての主走査方向に隣接する画素値どうしの差分と、１ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「（８４−８７）−（８Ａ−９０）＝３」「（８８−８４）−（８Ａ−８Ａ）＝０４」…が出力される。
【０１２４】
３ライン目については、Ｘ３，１を求める式、
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ）
において、Ｍ＝８としたときの右辺の｛Ｐ３，１，Ｐ２，８，Ｐ２，１，Ｐ１，８｝に、図９のパート（Ａ）に示す数値が代入されて、「（８Ｂ−４Ｃ）−（８７−５８）＝１０」がＸ３，１として出力される。それ以外のＸ３，２，Ｘ３，３，…については、３ライン目についての主走査方向に隣接する画素値どうしの差分と、２ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「（８６−８Ｂ）−（８４−８７）＝ＦＥ」「（８Ａ−８６）−（８８−８４）＝００」…が出力される。
【０１２５】
以下、４ライン目以降についても、３ライン目の演算と同じ演算を繰り返すことにより、図９のパート（Ｂ）に示す各数値が得られることとなる。
【０１２６】
図１に示すインターフェース機器２００では、このように２次元差分符号化されたデータに対してデータの復号化処理が行われる。この復号化処理では、２次元差分符号化されたデータの値からＰｎ，ｍを求める式が使用されており、この式は以下のようにして求めることができる。
【０１２７】
２次元差分符号化後の画素値Ｘｉ，ｊを、ｉ＝１からｉ＝ｍまで足し上げ、さらにｊ＝１からｊ＝ｍについて足し上げた結果は、式（１）および式（２）を用いて下記の式（３）のように表される。
【０１２８】
【数１】
2010028649.tif 000003
【０１２９】
ここで、式の途中に現れる｛Ｐ０，０，Ｐｎ，０，Ｐ０，ｍ｝に対して、式（２）が適用されている。この式から、２次元差分符号化前の画素値Ｐｎ，ｍは、下記の式（４）のように表される。
【０１３０】
【数２】
2010028649.tif 000004
【０１３１】
図１に示すインターフェース機器２００では、上記の式（４）により、先ず、１ライン目の画素値Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍが求められる。例えば、１ライン目の画素値のうち主走査方向にｍ番目の画素値は、上記の式（４）にｎ＝１を代入し、さらに式（２）のＰ０，Ｍ＝０を利用して、下記の式（５）のように表される。
【０１３２】
【数３】
2010028649.tif 000005
【０１３３】
このようにして、１ライン目の画素値、Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍがすべて求められる。
【０１３４】
２ライン目の画素値Ｐ２，１，Ｐ２，１，…，Ｐ２，Ｍについては、同様に上記の式（４）にｎ＝２を代入し、さらに１ライン目の画素値の複合化で得られたＰ１，Ｍを用いることで求めることができる。例えば、２ライン目の画素値のうち主走査方向にｍ番目の画素値は、下記の式（６）のように表される。
【０１３５】
【数４】
2010028649.tif 000006
【０１３６】
３ライン目以降の画素値についても同様にして、上記の式（６）やそれ以降の計算で複合化された画素値を用いて求めることができる。図１に示すインターフェース機器２００では、このような方式でデータの復号化処理が行われる。
【０１３７】
図３の２次元差分符号化部５１０では、以上説明したような２次元差分符号化が緑（Ｇ）の画像データのＴＲＵＥ画素データに施される。この２次元差分符号化によって得られるデータは、図３のオフセット部５２０に入力され、そのデータの各数値について所定のオフセット値が加算される。
【０１３８】
ここで、このような２次元差分符号化およびオフセットの効果について、具体的なＣＴの画像データを例に用いて説明する。
【０１３９】
図１０は、ＣＴの画像データの例を示す図である。
【０１４０】
この図１０のパート（Ａ）には、ＣＴの画像データが表しているＣＴ画像の一例としてカラーの風景画像が示されており、このＣＴ画像は、ＣＴ画像中の赤（Ｒ），緑（Ｇ），青（Ｂ）の各色にそれぞれ対応した画素における色の濃度が８ビットの数値でそれぞれ表現された、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データによって表される。図１０のパート（Ｂ）には、このような赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうち、緑（Ｇ）の画像データにおけるデータ値のヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸はデータ数（画素数）を表している。このヒストグラムからわかるように、ヒストグラムの幅は広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「０」の領域が生じてはいない。このような性質は、赤（Ｒ），青（Ｂ）の画像データについても共通しており、ＣＴ画像では一般に、ヒストグラムの幅が広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「０」の領域が生じることは極めてまれである。
【０１４１】
図１１は、緑（Ｇ）の画像データに対する２次元差分符号化およびオフセットの効果を示す図である。
【０１４２】
この図１１のパート（Ａ）には、図１０のパート（Ｂ）に示した緑（Ｇ）の画像データに対して２次元差分符号化が施されて得られるデータのヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸は出現頻度を表している。このヒストグラムからわかるように、２次元差分符号化処理が施された緑（Ｇ）の画像データのヒストグラムは、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなっている。このような性質は、赤（Ｒ），青（Ｂ）の画像データについても共通しており、ＣＴの画像データに対して、図７〜図９で説明した２次元差分符号化が施されると、データのヒストグラムは、一般に、この図１１のパート（Ａ）に示すような、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなる。
【０１４３】
図１１のパート（Ａ）に示すデータに対してオフセットが施されると、データのヒストグラムは、図１１のパート（Ｂ）に示すような、オフセット値のところに鋭いピークを持つヒストグラムとなる。本実施形態ではオフセット値として「８」が用いられており、オフセットの結果、値が「１６」以上となるデータの頻度はほとんど「０」となっている。このように変形させたヒストグラムのピークが鋭いほど、この後の処理で高い圧縮率が期待される。
【０１４４】
このように２次元差分符号化およびオフセットによってヒストグラムが変形された緑（Ｇ）の画像データは、図３のプレーン分割部５３０によって下位サブプレーンＤ１Ｌと上位サブプレーンＤ１Ｈとに分割される。
【０１４５】
図１２は、プレーン分割部５３０によるデータ分割の効果を説明する図である。
【０１４６】
この図１２には、図１１のパート（Ｂ）に示すヒストグラムがデータ値「１５」とデータ値「１６」との間で切り離されたヒストグラムが示されており、図３のプレーン分割部５３０によるデータ分割は、まさにこのようなヒストグラムの分割に相当する効果を生じる。すなわち、本実施形態では、差分符号化およびオフセットが施された後の緑（Ｇ）の画像データを構成している８ビットの各数値が、上位４ビットと下位４ビットとに分割されることで、下位４ビットが表す数値の連続からなる下位サブプレーンＤ１Ｌと上位４ビットが表す数値の連続からなる上位サブプレーンＤ１Ｈとが得られる。そして、下位サブプレーンＤ１Ｌを構成する４ビットの数値が値「０」から値「１５」までの各数値をそのまま表現していて、上位サブプレーンＤ１Ｈを構成する４ビットの数値の場合は、値「１６」から値「２５６」までの、１６間隔１６種類の数値を表現していると解釈すると、下位サブプレーンＤ１Ｌのヒストグラムは、この図１２の左側に示されたヒストグラムとほぼ同じものとなり、上位サブプレーンＤ１Ｈのヒストグラムは、図１２の右側に示されたヒストグラムとほぼ同じものとなる。ただし、上位サブプレーンＤ１Ｈのヒストグラムについては、図１２の右側に示されたヒストグラムのデータ値「１６」のところに、図１２の左側に示されたヒストグラムの面積に等しい高さのピークが付加されたものとなる。この図１２の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンＤ１Ｈ中の数値は、ゼロに近い値（１６進数表示での「００」や「０１」や「ＦＦ」）の連続が多いことが予想される。このため、上位サブプレーンＤ１Ｈに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、差分符号化およびオフセットが施された緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈは、図３に示すＨプレーン圧縮部５５０の構成要素の１つであるランレングス符号化部５５１に入力される。
【０１４７】
続いて、上位サブプレーンＤ１Ｈと下位サブプレーンＤ１Ｌとに分割された後の緑（Ｇ）の画像データの処理について説明する。まず、ランレングス符号化部５５１に入力された、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈに対する処理について説明する。
【０１４８】
図１２の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンＤ１Ｈ中の数値は、ゼロに近い値（１６進数表示での「００」や「０１」や「ＦＦ」）の連続が多いことが予想される。このため、上位サブプレーンＤ１Ｈに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、上位サブプレーンＤ１Ｈは、図３に示すＨプレーン圧縮部５５０の構成要素の１つであるランレングス符号化部５５１に入力される。
【０１４９】
本実施形態では、処理の都合上、ランレングス符号化部５５１で、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈを構成する連続した４ビットの数値が２つで１つの８ビットの数値として取り扱われ、これらの数値の連続を１６進数表示で表した際の、値「００」から値「ＦＦ」までの数値の連続に対して以下の符号化処理が適用される。
【０１５０】
この符号化処理では、複数の８ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部５５１では、受け取ったデータの中から、符号化処理を行なう数値（ここでは、この数値を「圧縮対象数値」と称する）と、その圧縮対象数値の連続数が検出される。
【０１５１】
本実施形態では、一例として、「０１」、「ＦＦ」および「００」の３つの数値を圧縮対象数値としている。
【０１５２】
図１３は、図３に示すランレングス符号化部５５１での符号化の説明図である。
【０１５３】
図１３の上のラインは、上位サブプレーンＤ１Ｈを構成するデータ、下のラインは、ランレングス符号化部５５１での符号化処理を行なった後のデータである。
【０１５４】
ここでは、図１３の上のラインに示すように、プレーン分割部５３０からは、
「０６  ０２  ０２  ０２  ０１  ０１  ０１  ０１  ０４  ０５  ００  …  」
なるデータが入力されたものとする。このとき、図３のランレングス符号化部５５１では、先頭の「０６」は圧縮対象数値ではなく、次に続く「０２  ０２  ０２」も圧縮対象数値ではなく、次に、圧縮対象数値である「０１」が４つ連続していること、次に、圧縮対象数値ではない「０４」、「０５」を間に置いて、圧縮対象数値である「００」が３２７６７個連続していることが検出される。
【０１５５】
図１４は、ランレングス符号化部５５１における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【０１５６】
この図１４中、Ｚは同一の圧縮対象数値の連続数、例えば図１３の上のラインの「０１」についてはＺ＝４、「００」についてはＺ＝３２７６７である。
【０１５７】
また、図１４中、「ＹＹ」は、１６進２桁で表わされた圧縮対象数値自体を表わしている。その「ＹＹ」に続く、「０」又は「１」は１ビットで表現された「０」又は「１」であり、さらにそれに続く「ＸＸＸ  ＸＸＸＸ…」は、１つの「Ｘ」が１ビットを表わしており、この「ＸＸＸ  ＸＸＸＸ…」でＺの値を表現している。
【０１５８】
すなわち、図１４は、圧縮対象数値「ＹＹ」がＺ＜１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く１バイトで、先頭ビットが「０」、それに続く７ビットでＺの値を表現すること、また、圧縮対象数値「ＹＹ」がＺ≧１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く２バイト（１６ビット）のうちの先頭の１ビットを「１」とすることで２バイトに跨って表現されていることを表現し、それに続く１５ビットで、Ｚの値を表現することを意味している。
【０１５９】
この図１４に示す規則に従って図１３に示す符号化の例について説明する。
【０１６０】
図３のプレーン分割部５３０から入力されてきた、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈのデータ（上のライン）を構成する先頭の数値「０６」は圧縮対象数値ではないため、その「０６」のまま出力される。また、それに続く「０２  ０２  ０２」も、「０２」は圧縮対象数値ではなく、これら３つの「０２」もそのまま出力される。次に、圧縮対象数値である「０１」が４個連続するため、「０１  ０４」に符号化される。次の「０４」及び「０５」は圧縮対象数値ではないため、そのまま「０４  ０５」が出力される。
【０１６１】
次に「００」が３２７６７個連続しているため、「００」を置き、次の１バイトのうちの先頭の１ビットを「１」とし、次いで１５ビットで３２７６７−１２８を表現することにより、「００  ＦＦ  ７Ｆ」の３バイトで「００」が３２７６７個連続していることを表現する。すなわち、連続数１２８は、最初のビット「１」を除き、「００  ００」と表現される。
【０１６２】
図１５は、図３のランレングス符号化部５５１における、連続数に応じた符号化処理の例を示す図である。
・「００」が１２７個連続するときは、２バイトを用いて「００  ７Ｆ」に符号化され、
・「００」が３２７６７個連続するときは、３バイトを用いて「００  ＦＦ  ７Ｆ」に符号化され、
・「００」が３２８９５個連続するときは、３バイトを用いて「００  ＦＦ  ＦＦ」に符号化され、
・  「００」が１２８個連続するときは、３バイトを用いて「００  ８０  ００」に符号化され、
・  「０１」が１２９個連続するときは、３バイトを用いて「０１  ８０  ０１」に符号化され、
・「ＦＦ」が４０９６個連続するときは、３バイトを用いて「ＦＦ  ８Ｆ  ８０」に符号化される。
【０１６３】
図３に示すランレングス符号化部５５１では、上記のような符号化処理が行なわれる。
【０１６４】
本実施形態によるランレングス符号化部５５１によれば、最大圧縮率は、３／３２８９５＝１／１０，９６５にまで向上する。また、このランレングス符号化部５５１が符号化処理の対象としている上位サブプレーンＤ１Ｈのデータは、図１２のヒストグラムで説明したように、４ビットの数値のほとんどが、データ値「１６」を表現した数値「０」であり、その４ビットの数値から作られる８ビットの数値も、多くが、１６進数表示で数値「００」となる。このためランレングス符号化部５５１における符号化処理によって大幅なデータ圧縮が期待される。
【０１６５】
図３のランレングス符号化部５５１で上記の符号化処理の行なわれた後の緑（Ｇ）の画像データは、次に図３のＨプレーン圧縮部５５０を構成する間引きデータスキャニング部５５２と最適ハフマンテーブル生成部５５３＿１に入力される。
【０１６６】
間引きデータスキャニング部５５２では、先ず、ランレングス符号化部５５１から出力されたデータの間引きが行われ、間引かれたデータがスキャニングされてデータ値の出現頻度が求められる。最適ハフマンテーブル生成部５５３＿１では、間引きデータスキャニング部５５２で求められたデータ値の出現頻度に基づき、入力された緑（Ｇ）の画像データに最適化されたハフマンテーブルが生成される。そして、ハフマン符号化部５５３において、その最適化されたハフマンテーブルに基づいてハフマン符号化が行われる。ここでは、最適化されたハフマンテーブルの生成についての具体的な詳細説明は後に回し、まず、ハフマンテーブルの概念について説明する。
【０１６７】
図１６は、ハフマンテーブルにおける符号と数値の対応関係を表す概念図である。
【０１６８】
ここでは、「Ａ１」の出現頻度が最も強く、以下順に、「Ａ２」、「Ａ３」、「Ａ４」、…の順であるとする。尚、これら「Ａ１」、「Ａ２」等は数値を直接表わしている訳ではなく、数値を表わす記号である。すなわち、「Ａ１」は例えば数値「００」、「Ａ２」は数値「ＦＦ」等である。また、ここでは、簡単のため、図３のランレングス符号化部５５１から送られてくるデータは全てのデータ値が「Ａ１」〜「Ａ１６」の１６個の数値のうちのいずれかの数値であるものとする。そして、このような１６個の数値それぞれに対して、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成されている。即ち、出現頻度の最も高い「Ａ１」には、２ビットで表わされた符号「００」が割り当てられ、次の「Ａ２」には、やはり２ビットで表わされた符号「０１」が割り当てられ、次の「Ａ３」、さらに次の「Ａ４」には、３ビットで表わされる、それぞれ、符号「１００」、符号「１０１」が割り当てられ、次の「Ａ５」〜「Ａ８」には、５ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられている。
【０１６９】
図１７は、ハフマンテーブルの概念を表す図である。
【０１７０】
このハフマンテーブルは、図１６と一致させてあり、出現頻度が高い数値ほど短いビット数で表わされた符号に置き換えられるように並べられた、符号化前（置き換え前）の数値と符号化後（置き換え後）の数値との対応テーブルである。
【０１７１】
図３のＨプレーン圧縮部５５０に備えられたハフマン符号化部５５３では、このようなハフマンテーブルに従って、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈを構成するデータの数値が符号化され、その結果、多くの数値が短いビット数の符号に置き換えられることとなってデータ圧縮が実現される。
【０１７２】
このように、図３のＨプレーン圧縮部５５０に入力された、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈについては、ランレングス符号化部５５１による符号化とハフマン符号化部５５３による符号化が施されることにより高い圧縮率で圧縮されて緑（Ｇ）の画像データの上位圧縮データＤ２Ｈとなる。
【０１７３】
ここで、ハフマンテーブルを個々の画像データに対して最適化する手順と最適化の効果について説明する。
【０１７４】
ランレングス符号化部５５１による符号化処理が施された後の、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈのデータは、図３の最適ハフマンテーブル生成部５５３＿１と間引きデータスキャニング部５５２とに入力される。
【０１７５】
間引きデータスキャニング部５５２では、入力された、ランレングス符号化後の緑（Ｇ）の上位サブプレーンＤ１Ｈのデータに対し、データを間引く処理が行われる。ここで、データの間引きは、入力された（間引き前の）データから、所定数の画素のブロックごとに１個の画素データを抽出することによって行われ、間引き前のデータの分布の特徴を十分に反映したものとなっている。そして、この間引きデータスキャニング部５５２において、その間引かれたデータについて、データ中に出現する全ての数値の出現頻度（ヒストグラム）が求められる。
【０１７６】
間引きデータスキャニング部５５２によって求められたデータヒストグラム（数値の出現頻度）は最適ハフマンテーブル生成部５５３＿１に渡され、最適ハフマンテーブル生成部５５３＿１では、そのデータヒストグラムにおけるデータ分布の特徴に適した符号列がハフマンテーブルに用意される。
【０１７７】
図１８および図１９は、ハフマンテーブルに用意される符号列の例を示す図である。
【０１７８】
図１８は、データがピークに特に集中した場合の例で、図１９は、ピークの裾野がやや広い場合の例である。
【０１７９】
ここでは各符号列中の「，」よりも右側の一桁の数値がビット長を意味しており、その「，」の左から右側に向かってそのビット長分の２進符号が実際の符号を表わしている。例えば、図１８の符号列の場合、左上の第１番目の符号は「１１」の２ビット、次の２番目の符号は「０１１」の３ビット、その次の３番目の符号は「０１０」の３ビット、さらにその次の４番目の符号は「１０１０」の４ビットである。
【０１８０】
図１８の符号列の場合には、３番目までは３ビット以下の非常に短い符号であるが、１２番目以降は９ビット以上の長い符号となっている。これに対し、図１９の符号列の場合には、３ビット以下の非常に短い符号は１番目のみであるが、１３番目までは６ビット以下のそれなりに短い符号となっている。
【０１８１】
このような符号列が、最適ハフマンテーブル生成部５５３＿１に入力された、ランレングス符号化後の緑（Ｇ）の上位サブプレーンＤ１Ｈのデータについて用意され、次に、その符号列に対して数値が割り当てられてハフマンテーブルが完成する。この数値の割当の概念は図１６を参照して説明した概念そのものであるので重複説明は省略する。
【０１８２】
このような最適ハフマンテーブル生成部５５３＿１によるハフマンテーブルの作成は、
元のデータよりもデータ量の小さい間引きデータに基づくので、短時間で実行される。
【０１８３】
このように最適ハフマンテーブル生成部５５３＿１で作成されたハフマンテーブルが、ハフマン符号化部５５３に渡されて、上述したようにハフマン符号化が行われる。
【０１８４】
次に、図３のＬプレーン圧縮部５４０に入力された、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌに対する処理について説明する。
【０１８５】
図３のＬプレーン圧縮部５４０においても、Ｈプレーン圧縮部５５０のランレングス符号化部５５１と同様に、入力されたデータは、４ビットの数値の２つ分が１つの８ビットの数値とみなされて処理される。また、このＬプレーン圧縮部５４０にも、ハフマン符号化処理を行うための、最適ハフマンテーブル生成部５４１＿１，間引きデータスキャニング部５４１＿２，ハフマン符号化部５４１が備えられており、Ｌプレーン圧縮部５４０に入力された、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌは、ユーザからからハフマン符号化を経る通常モードが指示された場合には、ランレングス符号化を経ずにそのまま間引きデータスキャニング部５４１＿２および、最適ハフマンテーブル生成部５４１＿１に入力されて、Ｈプレーン圧縮部５５０と同様に、、最適化されたハフマンテーブルに基づきハフマン符号化が行われる。そして、ハフマン符号化後のデータが、緑（Ｇ）の画像データの下位圧縮データＤ２ＬとしてＬプレーン圧縮部５４０から出力される。一方、ユーザからハフマン符号化を省略して緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌをそのまま出力する高速モードが指示された場合には、ハフマン符号化が行われることなく、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌが緑（Ｇ）の画像データの下位圧縮データＤ２ＬとしてＬプレーン圧縮部５４０から出力される。これら高速モードと通常モードとの切り換えは、ユーザの指示に基づきモード切換部５４２によって行われる。
【０１８６】
以上説明したような各種の処理が図３に示す２次元差分符号化部５１０、オフセット部５２０、プレーン分割部５３０、Ｌプレーン圧縮部５４０、およびＨプレーン圧縮部５５０で実行されることにより、緑（Ｇ）の画像データのＴＲＵＥ画素データは可逆圧縮によって圧縮され、特にＣＴ画像のデータについては大幅な圧縮が実現される。
【０１８７】
一方、上述した間引き処理部５０５で得られた、緑（Ｇ）の画像データのＦＡＫＥ画素データについては、図３に示すＦＡＫＥ画素圧縮部５６０に入力されて非可逆圧縮が施される。
【０１８８】
このＦＡＫＥ画素圧縮部５６０に入力された、緑（Ｇ）の画像データのＦＡＫＥ画素データは、ビット短縮部５６１に渡され、ビット短縮部５６１では、ＦＡＫＥ画素データを、エッジ部分であるか否かに応じて４ビットあるいは１ビットに符号化する。エッジ部分であるか否かは、図３のエッジ検出部５２５によって、オフセット後の差分データに基づいて判定され、差分データが、図１２に示すヒストグラムの右側の部分に属していて上位データが「０」以外の値を有しているとエッジ部分であると判定される。
【０１８９】
ここで、図６に示す緑（Ｇ）の画像データのＴＲＵＥ画素の画素値をＴｎ＿ｋと表現した場合に、そのＴＲＵＥ画素に隣接する緑（Ｇ）の画像データのＦＡＫＥ画素の画素値はＦｎ＿ｋ＋１，Ｆｎ＋１＿ｋ，Ｆｎ＋１＿ｋ＋１というように表現され、そのＴＲＵＥ画素に対してそれらのＦＡＫＥ画素を挟んだ位置のＴＲＵＥ画素の画素値は、Ｔｎ＿ｋ＋２，Ｔｎ＋２＿ｋ，Ｔｎ＋２＿ｋ＋２と表現される。ビット短縮部５６１では、このような４つのＴＲＵＥ画素の画素値Ｔｎ＿ｋ，Ｔｎ＿ｋ＋２，Ｔｎ＋２＿ｋ，Ｔｎ＋２＿ｋ＋２から２次元差分符号化処理で得られる差分値が、エッジ部分であることを示す大きな差分値である場合に、上述した３つのＦＡＫＥ画素の画素値Ｆｎ＿ｋ＋１，Ｆｎ＋１＿ｋ，Ｆｎ＋１＿ｋ＋１が、「１」から始まる４ビットの符号に符号化される。
【０１９０】
図２０は、４ビット符号への符号化方式を表す図である。
【０１９１】
この符号化方式では、緑（Ｇ）の画像データのＦＡＫＥ画素の画素値は、その画素値を表した８ビットのビット値の下位５桁が切り捨てられ、残った上位３桁の先頭に「１」が付加されることで「１０００」〜「１１１１」の符号に符号化される。従って、この図の表に示すように、符号化前の「０」〜「２５５」の数値のうち「０」〜「３１」の数値は「１０００」に符号化され、「２２」〜「６３」の数値は「１００１」に符号化される。以下同様に、「６４」〜「９５」、「９６」〜「１２７」、「１２８」〜「１５９」、「１６０」〜「１９１」、「１９２」〜「２２３」、「２２４」〜「２５５」の数値は、それぞれ、「１０１０」、「１０１１」、「１１００」、「１１０１」、「１１１０」、「１１１１」に符号化される。このような符号化方式は、ビット値の桁の切り捨てというごく単純な処理で実現される。このような４ビット符号への符号化によってエッジ部分の情報がある程度維持されて画質低下が回避される。
【０１９２】
ビット短縮部５６１では、上述した４つのＴＲＵＥ画素の画素値Ｔｎ＿ｋ，Ｔｎ＿ｋ＋２，Ｔｎ＋２＿ｋ，Ｔｎ＋２＿ｋ＋２から２次元差分符号化処理で得られる差分値が、エッジ部分でないことを示す小さな差分値である場合には、上述した３つのＦＡＫＥ画素の画素値Ｆｎ＿ｋ＋１，Ｆｎ＋１＿ｋ，Ｆｎ＋１＿ｋ＋１が１ビットの符号「０」に符号化される。ＣＴ画像の場合には、隣接画素間の相関が高いので、図１１および図１２で説明したように、大きな差分値が生じることは少なく、多くのＦＡＫＥ画素が１ビット符号に符号化されて、大幅な圧縮が可能であると考えられる。
【０１９３】
図３のビット短縮部５６１におけるこのような符号化によって、緑（Ｇ）の画像データのＦＡＫＥ画素の８ビットの画素値は１ビットまたは４ビットに短縮化され、符号化後のデータは１ビットの符号と４ビットの符号が混在したものとなるが、その後の処理のために８ビット単位に区切られ（バイトパッキング）、図３のランレングス符号化部５６２およびハフマン符号化部５６３によって、上記Ｈプレーン圧縮部５５０における処理と全く同様の処理が実行される。ここで、ハフマン符号化部５６３は、上述した間引きデータスキャニング部５５２とハフマン符号化部５５３との双方の役割を兼ねている。
【０１９４】
ＣＴ画像の場合は、ビット短縮部５６１の符号化によって多くの画素値が「０」に符号化されているので、その後、ランレングス符号化部５６２で更に大幅に圧縮されると期待される。
【０１９５】
以上が緑（Ｇ）の画像データの処理についての説明である。以下では、赤（Ｒ），青（Ｂ）の各色の画像データの処理について説明する。
【０１９６】
カラー画像においては、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのヒストグラムは、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色について、似たようなヒストグラムとなることが多い。そこで、このように各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうちの赤（Ｒ），青（Ｂ）の各色の画像データについては、緑（Ｇ）の画像データを基準として、この緑（Ｇ）の画像データからのさらなる差分のデータとして表すことで、データ値が原点付近に更に集中した差分のデータに変換されることが期待される。このようにデータ値が原点付近に集中したデータは、ランレングス符号化処理やハフマン符号化処理によって高い圧縮率で圧縮される。そこで、図３の画像圧縮装置５００では、赤（Ｒ）の画像データと青（Ｂ）の画像データについては、緑（Ｇ）の画像データからの差分データに変換した上で、圧縮処理が行われる。以下では、赤（Ｒ）の画像データと青（Ｂ）の画像データの処理について説明するが、上述したように、赤（Ｒ）の画像データの処理と青（Ｂ）の各色の画像データの処理とは同様の処理であり、赤（Ｒ）の画像データの処理について詳しく説明する。
【０１９７】
各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうちの赤（Ｒ）の画像データは、差分色版データ生成部５０１Ｇ−Ｒに入力され、この差分色版データ生成部５０１Ｇ−Ｒにおいて、緑（Ｇ）の画像データとの間で相対的な差分が計算され、Ｇ−Ｒの画像データが生成される。以下では、この差分色版データ生成処理処理について説明する。
【０１９８】
各色ごとの画像データに分解された後の、赤（Ｒ），緑（Ｇ），青（Ｂ）の画像データのうちの赤（Ｒ）の画像データは、図６に示した緑（Ｇ）の画像データのデータ構造と同様に、縦方向および横方向に２次元的に数値が配置されたデータとなっている。このような構成の赤（Ｒ）の画像データが、図３に示す差分色版データ生成部５０１Ｇ−Ｒに入力される。一方、緑（Ｇ）の画像データは、前述したように図３の間引き処理部５０５に入力されるが、それとともに図３の差分色版データ生成部５０１Ｇ−Ｒにも入力される。そして、差分色版データ生成部５０１Ｇ−Ｒにおいて、赤（Ｒ）の画像データを構成する各数値と、その各数値の位置と同位置にある、緑（Ｇ）の画像データを構成する各数値との間の差分が計算される。具体的には、赤（Ｒ）の画像データおよび緑（Ｇ）の画像データにおいて、縦方向にｎ番目、横方向にｊ番目の位置にある２次元差分値をそれぞれ２次元差分値Ｒｎ，ｊ，２次元差分値Ｇｎ，ｊとしたときに、これらの２次元差分値から、相対的な差分値Ｓｎ，ｊ
Ｓｎ，ｊ＝Ｒｎ，ｊ−Ｇｎ，ｊ
が計算されることにより、このように計算された相対的な差分値Ｓｎ，ｊが、縦方向にｎ番目、横方向にｊ番目の位置にある数値の連続からなり、緑（Ｇ）の画像データと赤（Ｒ）の画像データとの間の差分画像を表したＧ−Ｒの画像データが生成される。
【０１９９】
図３に示す差分色版データ生成部５０１Ｇ−Ｒでは、このような差分色版データ生成処理が行われ、この結果、赤（Ｒ）の画像データは、緑（Ｇ）の画像データに対する相対的な差分データとして表されることとなる。このような差分色版データ生成処理が施されてなるＧ−Ｒの画像データは、図３の間引き処理部５０５Ｇ−Ｒに入力され、緑（Ｇ）の画像データに対して施された処理と同様の間引き処理が施されて、ＴＲＵＥ画素データとＦＡＫＥ画素データとに分けられる。
【０２００】
Ｇ−Ｒの画像データのＴＲＵＥ画素データは２次元差分符号化部５１０Ｇ−Ｒに入力され、２次元差分符号化部５１０Ｇ−Ｒにおいて、緑（Ｇ）の画像データに対して施された処理と同様の２次元差分符号化処理が施されて、オフセット部５２０Ｇ−Ｒに入力される。オフセット部５２０Ｇ−Ｒで、そのデータの各数値について所定のオフセット値が加算されて、図１１のパート（Ｂ）に示すように、データ値が原点付近に集中するような画像データとなる。
【０２０１】
ここで、以上説明したような差分色版データ生成処理の効果を説明するため、赤（Ｒ）の画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムと、差分色版データ生成処理が施されてなるＧ−Ｒの画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムとを比較する。
【０２０２】
図２１は、赤（Ｒ）の画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムを表す図、図２２は、差分色版データ生成処理が施されてなるＧ−Ｒの画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムを表す図である。
【０２０３】
図２１のヒストグラムと図２２のヒストグラムとを比較すると、図２２のヒストグラムの方が、図２１のヒストグラムに比べて、出現頻度の分布幅が狭く、さらに出現頻度のピークも高いことがわかる。従って、図２２のヒストグラムの方が、図２１のヒストグラムよりも、出現頻度が原点付近に集中する度合が高いヒストグラムであるといえる。このため、図２２のヒストグラムで記述されるデータの方が、図２１のヒストグラムで記述されるデータに比べ、ランレングス符号化処理やハフマン符号化処理によって圧縮される際の圧縮率が極めて高くなることが期待できる。
【０２０４】
図３のオフセット部５２０Ｇ−Ｒにおいて、オフセットが施されたＧ−Ｒの画像データは、プレーン分割部５３０Ｇ−Ｒで下位ビットの数値の連続からなる、Ｇ−Ｒの画像データの下位サブプレーンＤ１Ｌ＿Ｇ−Ｒと、上位ビットの数値の連続からなる、Ｇ−Ｒの画像データの上位サブプレーンＤ１Ｈ＿Ｇ−Ｒとに分割される。Ｇ−Ｒの画像データの下位サブプレーンＤ１Ｌ＿Ｇ−Ｒは、Ｌプレーン圧縮部５４０Ｇ−Ｒに入力されて、このＬプレーン圧縮部５４０Ｇ−Ｒにおいて、緑（Ｇ）の画像データの下位サブプレーンＤ１Ｌに対して施された処理と同様の可逆圧縮処理が施されて、Ｇ−Ｒの下位圧縮データＤ２Ｌ＿Ｇ−ＲとしてＬプレーン圧縮部５４０Ｇ−Ｒから出力される。一方、Ｇ−Ｒの画像データの上位サブプレーンＤ１Ｈ＿Ｇ−Ｒは、Ｈプレーン圧縮部５５０Ｇ−Ｒに入力されて、このＨプレーン圧縮部５５０Ｇ−Ｒにおいて、緑（Ｇ）の画像データの上位サブプレーンＤ１Ｈに対して施された処理と同様の可逆圧縮処理が施されて、Ｇ−Ｒの上位圧縮データＤ２Ｈ＿Ｇ−ＲとしてＨプレーン圧縮部５５０Ｇ−Ｒから出力される。
【０２０５】
一方、上記の間引き処理部５０５Ｇ−Ｒで得られた、Ｇ−Ｒの画像データのＦＡＫＥ画素データは、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒに入力されて、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒにおいて、緑（Ｇ）の画像データに対して施された処理と同様の非可逆圧縮処理が施される。尚、ＦＡＫＥ画素データを構成する数値が、ビット短縮部５６１において４ビットあるいは１ビットの２種類の符号のいずれに置換されるかを決定するための、Ｇ−Ｒの画像データに対して使用されるエッジ検出部５２５Ｇ−Ｒにおける判定基準は、前述の、緑（Ｇ）の画像データに対して使用されるエッジ検出部５２５における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。この結果、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒからは、ＦＡＫＥ画素データが非可逆圧縮でより圧縮された非可逆圧縮データＤ３Ｇ−Ｒが出力される。
【０２０６】
青（Ｂ）の画像データの処理については、上述したように、赤（Ｒ）の画像データの処理と同様の処理が行われて、Ｇ−Ｂの下位圧縮データＤ２Ｌ＿Ｇ−Ｂ、Ｇ−Ｂの上位圧縮データＤ２Ｈ＿Ｇ−Ｂ、非可逆圧縮データＤ３Ｇ−Ｂとして、それぞれＬプレーン圧縮部５４０Ｇ−Ｂ、Ｈプレーン圧縮部５５０Ｇ−Ｂ、ＦＡＫＥ画素圧縮部５６０Ｇ−Ｒから出力される。
【０２０７】
このように、判定部が、緑（Ｇ）の画像データにより表される色版画像と、Ｇ−Ｒの画像データにより表される差分画像およびＧ−Ｂの画像データにより表される差分画像とについて、独立に画像中のエッジ部分を判定するものであると、画質の維持と圧縮率の向上との適度なバランスをとることができる。
【０２０８】
なお、圧縮された、赤（Ｒ）の画像データおよび青（Ｂ）の画像データは、復号化される際には、一旦Ｇ−Ｒの画像データと緑（Ｇ）の画像データ、および、Ｇ−Ｂの画像データと緑（Ｇ）の画像データにそれぞれ復号化され、さらに復号化されたＧ−Ｒの画像データおよびＧ−Ｂの画像データが、図９のパート（Ｂ）で説明した復号化の手順に従って、元の赤（Ｒ）の画像データおよび元の青（Ｂ）の画像データに復号化される。
【０２０９】
以上説明してきたように、画像圧縮装置５００は、種類の異なる色についての、各色ごとの画像データに分解された後の各画像データでは相関が強いことを利用して画像データの圧縮処理を実行し、特にＣＴ画像のデータについては大幅な圧縮が実現される。
【０２１０】
以下、本発明の別の実施形態を説明する。
【０２１１】
尚、上述した実施形態では、本発明にいう判定部の一例に相当するエッジ検出部５２５，５２５Ｇ−Ｒ，５２５Ｇ−Ｂのうちの、Ｇ−Ｒの画像データに対して使用されるエッジ検出部５２５Ｇ−ＲおよびＧ−Ｂの画像データに対して使用されるエッジ検出部５２５Ｇ−Ｂにおける判定基準が、緑（Ｇ）の画像データに対して使用されるエッジ検出部５２５における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている例を挙げて説明した。
【０２１２】
これに対して、以下説明する別の実施形態では、本発明にいう判定部の一例に相当するエッジ検出部５２５，５２５Ｇ−Ｒ，５２５Ｇ−Ｂそれぞれの判定基準は同一の判定基準とされている。
【０２１３】
そして、以下説明する別の実施形態では、緑（Ｇ）の画像データに対して使用される間引き処理部５０５における間引き処理は、上述した実施形態と同一の、副走査方向に１ラインおきの各ライン（奇数番目のライン）について、主走査方向に１画素おきの各画素（奇数番目の画素）がＴＲＵＥ画素として間引き出される間引き処理であるが、Ｇ−Ｒの画像データに対して使用される間引き処理部５０５Ｇ−ＲおよびＧ−Ｂの画像データに対して使用される間引き処理部５０５Ｇ−Ｂにおける間引き処理が、上述した実施形態とは異なる間引き処理とされている。
【０２１４】
以下、上述した実施形態との相違点である間引き処理部５０５Ｇ−Ｒ，５０５Ｇ−Ｂについてのみ説明する。尚、赤（Ｒ），青（Ｂ）の各色の画像データの処理は同様の処理であるため、ここでは、赤（Ｒ）の画像データの処理を例に挙げて説明する。
【０２１５】
図２３は、差分色版データ生成処理が施されてなるＧ−Ｒの画像データのデータ構造および間引き処理の概念を示す図である。
【０２１６】
図２３に示すように、差分色版データ生成処理が施されてなるＧ−Ｒの画像データは、図３に示す画像圧縮装置５００に入力される入力画像ファイルＤ０中の緑（Ｇ）の画像データと同様に、所定の主走査方向（図の横方向）とその主走査方向とは直角な副走査方向（図の縦方向）とに画素が並んでおり、主走査方向に並ぶ画素の列はラインと称される。ここでは６ライン分の画素が示されている。
【０２１７】
各画素の位置は、画素値を表す符号Ｔ，Ｆに付された添え字で表現される。例えば３番目のラインについて、主走査方向に並ぶ各画素の画素値には、その並び順に、
３＿１，３＿２，３＿３，３＿４，…
という添え字が付されている。
【０２１８】
図３に示す画像圧縮装置５００を構成する間引き処理部５０５Ｇ−Ｒには、このように並んだ画素値からなるＧ−Ｒの画像データが入力され、間引き処理部５０５Ｇ−Ｒは、各画素を、ＴＲＵＥ画素とＦＡＫＥ画素とに分類する。この図２３に示す各画素のうちＴＲＵＥ画素は画素値が符号Ｔで表され、ＦＡＫＥ画素は画素値が符号Ｆで表されている。ＴＲＵＥ画素は、画素の並びの中から周期的に間引かれた画素であり、ここでは、緑（Ｇ）の画像データに対して使用される間引き処理部５０５における間引き処理とは異なる、副走査方向に３ラインおきの各ラインについて、主走査方向に３画素おきの各画素がＴＲＵＥ画素として間引き出されている。この結果、この図２３に示す例ではＴＲＵＥ画素は、元の解像度の４分の１の解像度に低下した画像を構成する画素に相当しており、元の画像データの２５分の１に相当する画素が間引き出されたこととなる。このように間引き出されたＴＲＵＥ画素は、そのようなＴＲＵＥ画素の連続からなるＴＲＵＥ画素データを構成し、そのＴＲＵＥ画素データの構造は、元の画像データと同様に、主走査方向と副走査方向に画素が並んだ構造となっている。ＴＲＵＥ画素の間引きによって残ったＦＡＫＥ画素についても、そのＦＡＫＥ画素の連続からなるＦＡＫＥ画素データを構成する。ＴＲＵＥ画素データが可逆圧縮処理の対象となるのに対し、このＦＡＫＥ画素データは非可逆圧縮処理の対象となる。
【０２１９】
緑（Ｇ）の画像データに対してＧ−Ｒの画像データやＧ−Ｂの画像データは画素間での変化が少ないため、可逆圧縮部分がより少なくても画質の低下は小さいと考えられる。
【０２２０】
このように、緑（Ｇ）の画像データに対する間引きの周期が、Ｇ−Ｒの画像データおよびＧ−Ｂの画像データに対する間引きの周期よりも短いと、画質の維持と圧縮率の向上とのより適切なバランスをとることができる。
【０２２１】
以上が本実施形態についての説明である。
【０２２２】
本実施形態では、本発明の実施形態としてのデータ圧縮がカラーのＣＴ画像のデータのみに施される例が示されているが、本発明のデータ圧縮装置は、カラーのＣＴ画像とカラーのＬＷ画像との双方のデータに対してデータ圧縮を施すものであってもよく、さらには、画像以外のカラーを有する情報を表したデータに対してデータ圧縮を施すものであってもよい。
【０２２３】
また、本実施形態では、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色の画像データを圧縮するために、人間の目にとって重要な色である緑（Ｇ）の画像データを基準として、赤（Ｒ），青（Ｂ）の画像データの圧縮を行ったが、本発明は、いずれの色の画像データを基準として画像データの圧縮を行ってもよい。また、これら、色要素として、赤（Ｒ），緑（Ｇ），青（Ｂ）の各色以外にオレンジなど他の色が加わった場合でも、本発明は、適用可能である。さらに、本発明は、色要素が、赤（Ｒ），緑（Ｇ），青（Ｂ）の組み合わせであることに限定されず、例えば、色要素が、イエロー（Ｙ）色、マゼンタ（Ｍ）色、シアン（Ｃ）色、およびブラック（Ｋ）色の組み合わせである場合でも適用可能である。
【０２２４】
また、本実施形態では、本発明にいう可逆圧縮部の一例として、２次元差分符号化部、オフセット部、プレーン分割部、Ｌプレーン圧縮部、およびＨプレーン圧縮部を経る可逆圧縮処理を示したが、本発明にいう可逆圧縮部は、可逆圧縮処理を施すものであればよく、上記説明の方法に限定されない。
【０２２５】
また、本実施形態では、本発明にいう差分生成部の一例として、画像の縦横双方の差分を複合した２次元的な差分演算を用いて差分を求める例が示されているが、本発明にいう差分生成部は、主走査方向や副走査方向の１次元の差分を求めるものであってもよい。
【図面の簡単な説明】
【０２２６】
【図１】データ圧縮技術が適用されたプリントシステムの一例を示す図である。
【図２】プリントシステムにおけるデータ処理の流れを示す図である。
【図３】本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置を示すブロック構成図である。
【図４】図１に示すホストコントローラのハードウェア構成図である。
【図５】本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮プログラムの模式構成図である。
【図６】図３の画像圧縮装置に入力される入力画像ファイル中の緑（Ｇ）の画像データのデータ構造および間引き処理の概念を示す図である。
【図７】図３の２次元差分符号化部に入力される緑（Ｇ）の画像データのＴＲＵＥ画素データの構造を示す図である。
【図８】緑（Ｇ）のＴＲＵＥ画素データに対して２次元差分符号化処理が施された後のデータの構造を示す図である。
【図９】図３の画像圧縮装置を構成する２次元差分符号化部における２次元差分符号化処理を例示して示す図である。
【図１０】ＣＴの画像データの例を示す図である。
【図１１】緑（Ｇ）の画像データに対する２次元差分符号化およびオフセットの効果を示す図である。
【図１２】プレーン分割部によるデータ分割の効果を説明する図である。
【図１３】図３に示すランレングス符号化部での符号化の説明図である。
【図１４】ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【図１５】図３のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。
【図１６】ハフマンテーブルにおける符号と数値の対応関係を表す概念図である。
【図１７】ハフマンテーブルの概念を表す図である。
【図１８】ハフマンテーブルに用意される符号列の例を示す図である。
【図１９】ハフマンテーブルに用意される符号列の例を示す図である。
【図２０】４ビット符号への符号化方式を表す図である。
【図２１】赤（Ｒ）の画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムを表す図である。
【図２２】差分色版データ生成処理が施されてなるＧ−Ｒの画像データのＴＲＵＥ画素データに２次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムを表す図である。
【図２３】差分色版データ生成処理が施されてなるＧ−Ｒの画像データのデータ構造および間引き処理の概念を示す図である。
【符号の説明】
【０２２７】
１１    画像のデータ
１２Ａ，１２Ｂ，１３Ａ，１３Ｂ    ビットマップデータ
１４，１５    圧縮データ
１００    ホストコントローラ
１０４    ハードディスク
１０７    マウス、
１０８    キーボード
１０９    ディスプレイ
１１０    バス
１１１    ＣＰＵ
１１２    ＲＡＭ
１１３    通信インターフェース
１１４    ハードディスクコントローラ
１１５    ＦＤドライブ
１１６    ＣＤＲＯＭドライブ
１１７    マウスコントローラ
１１８    キーボードコントローラ
１１９    ディスプレイコントローラ
１２０    通信用ボード
１３０    フレキシブルディスク（ＦＤ）、
１４０    ＣＤＲＯＭ
１５０    汎用インターフェースケーブル
２００    インターフェース機器
２５０    専用インターフェースケーブル
３００    プリンタ
５００    画像圧縮装置
５０５    間引き処理部
５１０    ２次元差分符号化部
５２０    オフセット部
５２５    エッジ検出部
５３０    プレーン分割部
５４０    Ｌプレーン圧縮部
５４１    ハフマン符号化部
５４２    モード切換部
５５０    Ｈプレーン圧縮部
５５１    ランレングス符号化部
５５２，５４１＿２    間引きデータスキャニング部
５５３，５４１    ハフマン符号化部
５５３＿１，５４１＿１    最適ハフマンテーブル生成部
５６０    ＦＡＫＥ画素圧縮部
５６１    ビット短縮部
５６２    ランレングス符号化部
５６３    ハフマン符号化部
５０１Ｇ−Ｒ    差分色版データ生成部
５０５Ｇ−Ｒ    間引き処理部
５１０Ｇ−Ｒ    ２次元差分符号化部
５２０Ｇ−Ｒ    オフセット部
５２５Ｇ−Ｒ    エッジ検出部
５３０Ｇ−Ｒ    プレーン分割部
５４０Ｇ−Ｒ    Ｌプレーン圧縮部
５４１Ｇ−Ｒ    ハフマン符号化部
５４２Ｇ−Ｒ    モード切換部
５５０Ｇ−Ｒ    Ｈプレーン圧縮部
５５１Ｇ−Ｒ    ランレングス符号化部
５５２Ｇ−Ｒ，５４１Ｇ−Ｒ＿２    間引きデータスキャニング部
５５３Ｇ−Ｒ，５４１Ｇ−Ｒ    ハフマン符号化部
５５３Ｇ−Ｒ＿１，５４１Ｇ−Ｒ＿１    最適ハフマンテーブル生成部
５６０Ｇ−Ｒ    ＦＡＫＥ画素圧縮部
５６１Ｇ−Ｒ    ビット短縮部
５６２Ｇ−Ｒ    ランレングス符号化部
５６３Ｇ−Ｒ    ハフマン符号化部
５０１Ｇ−Ｂ    差分色版データ生成部
５０５Ｇ−Ｂ    間引き処理部
５１０Ｇ−Ｂ    ２次元差分符号化部
５２０Ｇ−Ｂ    オフセット部
５２５Ｇ−Ｂ    エッジ検出部
５３０Ｇ−Ｂ    プレーン分割部
５４０Ｇ−Ｂ    Ｌプレーン圧縮部
５４１Ｇ−Ｂ    ハフマン符号化部
５４２Ｇ−Ｂ    モード切換部
５５０Ｇ−Ｂ    Ｈプレーン圧縮部
５５１Ｇ−Ｂ    ランレングス符号化部
５５２Ｇ−Ｂ，５４１Ｇ−Ｂ＿２    間引きデータスキャニング部
５５３Ｇ−Ｂ，５４１Ｇ−Ｂ    ハフマン符号化部
５５３Ｇ−Ｂ＿１，５４１Ｇ−Ｂ＿１    最適ハフマンテーブル生成部
５６０Ｇ−Ｂ    ＦＡＫＥ画素圧縮部
５６１Ｇ−Ｂ    ビット短縮部
５６２Ｇ−Ｂ    ランレングス符号化部
５６３Ｇ−Ｂ    ハフマン符号化部
６００    画像圧縮プログラム
６０５    間引き処理部
６１０    ２次元差分符号化部
６２０    オフセット部
６２５    エッジ検出部
６３０    プレーン分割部
６４０    Ｌプレーン圧縮部
６５０    Ｈプレーン圧縮部
６６０    ＦＡＫＥ画素圧縮部
６０１Ｇ−Ｒ    差分色版データ生成部
６０５Ｇ−Ｒ    間引き処理部
６１０Ｇ−Ｒ    ２次元差分符号化部
６２０Ｇ−Ｒ    オフセット部
６２５Ｇ−Ｒ    エッジ検出部
６３０Ｇ−Ｒ    プレーン分割部
６４０Ｇ−Ｒ    Ｌプレーン圧縮部
６５０Ｇ−Ｒ    Ｈプレーン圧縮部
６６０Ｇ−Ｒ    ＦＡＫＥ画素圧縮部
６０１Ｇ−Ｂ    差分色版データ生成部
６０５Ｇ−Ｂ    間引き処理部
６１０Ｇ−Ｂ    ２次元差分符号化部
６２０Ｇ−Ｂ    オフセット部
６２５Ｇ−Ｂ    エッジ検出部
６３０Ｇ−Ｂ    プレーン分割部
６４０Ｇ−Ｂ    Ｌプレーン圧縮部
６５０Ｇ−Ｂ    Ｈプレーン圧縮部
６６０Ｇ−Ｂ    ＦＡＫＥ画素圧縮部
【図１】
2010028649.tif 000007
【図２】
2010028649.tif 000008
【図３】
2010028649.tif 000009
【図４】
2010028649.tif 000010
【図５】
2010028649.tif 000011
【図６】
2010028649.tif 000012
【図７】
2010028649.tif 000013
【図８】
2010028649.tif 000014
【図９】
2010028649.tif 000015
【図１０】
2010028649.tif 000016
【図１１】
2010028649.tif 000017
【図１２】
2010028649.tif 000018
【図１３】
2010028649.tif 000019
【図１４】
2010028649.tif 000020
【図１５】
2010028649.tif 000021
【図１６】
2010028649.tif 000022
【図１７】
2010028649.tif 000023
【図１８】
2010028649.tif 000024
【図１９】
2010028649.tif 000025
【図２０】
2010028649.tif 000026
【図２１】
2010028649.tif 000027
【図２２】
2010028649.tif 000028
【図２３】
2010028649.tif 000029