説明

データ圧縮装置およびデータ圧縮プログラム

【課題】カラーの画像を表すCTデータの圧縮に適用可能な新たな好ましい圧縮処理を行うことができるデータ圧縮装置およびデータ圧縮プログラムを提供する。
【解決手段】被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めて差分色版データを生成し、所定種類の色要素に対応した色版データおよび差分色版データそれぞれを元データとした各元データを構成する数値の連続から周期的に数値を間引くことにより各第1の被圧縮データと各第2の被圧縮データとを作成し、第1の被圧縮データに可逆圧縮処理を施し、第2の被圧縮データに非可逆圧縮処理を施す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データ等のデータを圧縮するデータ圧縮装置、およびコンピュータ等の情報処理装置をデータ圧縮装置として動作させるデータ圧縮プログラムに関する。
【背景技術】
【0002】
従来より、記憶容量の低減化や通信量の低減化等のために、画像データ等のデータを圧縮する技術が広く採用されている。
【0003】
例えば、特許文献1には、画像データにおいて、印刷設定情報を記録する各色の属性プレーンは可逆圧縮し、CMYKの各色のプレーンについては、非可逆圧縮することでデータサイズを低減する技術が提案されている。
【0004】
また、特許文献2には、画像データを色プレーンごとに圧縮し、その圧縮された画像データの各色プレーンを、そのサイズまたは圧縮率に応じた順で、ブロック単位にプリンタへ転送し、そしてプリンタにおいて、該転送された画像データを伸長し、該伸長された画像データに基づいてカラー画像を形成する技術が提案されている。
【0005】
ここで、データ圧縮技術を適用した1つのシステムを紹介する。
【0006】
図1は、データ圧縮技術が適用されたプリントシステムの一例を示す図、図2は、プリントシステムにおけるデータ処理の流れを示す図である。
【0007】
このプリントシステムは、図1に示すように、ホストコントローラ100と、インターフェース機器200と、プリンタ300とで構成されており、ホストコントローラ100とインターフェース機器200との間はSCSI等の汎用インターフェースケーブル150で接続され、さらにインターフェース機器200とプリンタ300との間は専用インターフェースケーブル250で接続されている。
【0008】
ホストコントローラ100の内部では、図2に示すように、PDF,PS,TIFF等、様々な言語やフォーマットで記述された文字や画像のデータ11が、画像(CT;Continuous Tone)データと文字やライン等(LW;Line Work)のデータとに分けられて、それぞれについてRIP(Raster Image Processing)を行なうことによりビットマップデータ12A,13Aが生成され、さらにそれぞれについてデータ圧縮処理が行なわれて、CTについては非可逆の圧縮データ14、LWについては可逆の圧縮データ15が生成される。これらの圧縮データ14,15は、図1に示す汎用インターフェースケーブル150を経由して、ホストコントローラ100からインターフェース機器200に転送される。インターフェース機器200では、転送されてきた圧縮データ14,15にデータ伸長処理を施して、ホストコントローラ100でデータ圧縮処理を行なう前の状態のビットマップデータ12A,13Aに対応するビットマップデータ12B,13Bを生成する。ここで、CTデータについてはホストコントローラ100でのデータ圧縮の際非可逆圧縮処理が行なわれているため、データ伸長後のCTデータ(ビットマップデータ12B)は完全にはデータ圧縮前のCTデータ(ビットマップデータ12A)には戻らないが、ほぼ同一のビットマップデータが復元される。LWデータについては、ホストコントローラ100でのデータ圧縮の際可逆圧縮処理が行なわれているため、データ伸長後のLWデータ(ビットマップデータ13B)は、データ圧縮前のLWデータ(ビットマップデータ13A)と同一のデータに復元される。
【0009】
インターフェース機器200では、データ伸長後のCTデータ(ビットマップデータ12B)とLWデータ(ビットマップデータ13B)とが合成され、さらに網点情報等がタグとして付加されてプリンタ300に送られる。プリンタ300では、インターフェース機器200から受け取ったビットマップデータとそれに付加されたタグ情報とに従って画像がプリント出力される。
【0010】
ホストコントローラ100とインターフェース機器200とが例えば相互に離れている場合、あるいは、インターフェース機器200が複数台のホストコントローラから画像データを受信するシステムの場合など、ホストコントローラ100とインターフェース機器200を別々の装置として構成する必要がある場合には、図2に示すような、ホストコントローラ100でデータ圧縮を行なってインターフェース機器200にデータ転送しインターフェース機器でデータ伸長するように構成することにより、ホストコントローラ100からインターフェース機器200へのデータ転送時間を短縮することができ、プリントの生産性が向上する。
【0011】
ここで、一般的には、CTデータについては、非可逆ではあるが圧縮率の高いJPEG等の圧縮方式が採用され、LWデータについてはPackBits等の可逆圧縮方式が採用される。
【特許文献1】特開平5−328142号公報
【特許文献2】特開2002−236566号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかし、JPEG等の圧縮方式では、ソフトウェアでの圧縮処理に時間を要し、圧縮処理のシステム全体としての処理能力が劣化してしまうとともに、圧縮率を高くすると画質が低下することもある。この問題は、カラーの画像を表すCTデータに圧縮処理を施す場合に特に顕著になる。
【0013】
本発明は上記事情に鑑み、カラーの画像を表すCTデータの圧縮に適用可能な新たな好ましい圧縮処理を行うことができるデータ圧縮装置およびデータ圧縮プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するデータ圧縮装置は、
複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、それら複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を施すデータ圧縮装置において、
上記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、上記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、その差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
上記被圧縮データに含まれる色版データのうち上記所定種類の色要素に対応した色版データ、および上記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第1の被圧縮データと、残りの数値の連続からなる各第2の被圧縮データとを作成する間引き処理部と、
上記間引き処理部で作成された第1の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記間引き処理部で作成された第2の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを備えたことを特徴とする。
【0015】
ここで、本発明のデータ圧縮装置は、
画像中のエッジ部分を判定する判定部を備え、
上記非可逆圧縮部が、上記間引き処理部で作成された第2の被圧縮データを構成する数値について、上記判定部で判定されたエッジ部分でない場合には、エッジ部分でない事を表す符号を出力するものであることが好ましい。
【0016】
また、上記判定部を備えたデータ圧縮装置は、
上記非可逆圧縮部が、上記間引き処理部で作成された第2の被圧縮データを構成する数値について、上記判定部で判定されたエッジ部分である場合には、その数値を上記単位ビット数よりも少ない少ビット数で表現した数値を出力するものであることも好ましい形態である。
【0017】
ここで、上記の『画像中のエッジ部分を判定する判定部』における『画像』とは、具体的には、上記カラー画像や、そのカラー画像を構成する複数の色版画像のそれぞれや、その色版画像同士の差分画像等の意である。
【0018】
また、上記符号には、0ビットの符号(即ち実質的には何も出力しない状態)も含まれる。このように0ビットの符号が用いられる場合に対する復号化は、例えば次のような手順で行われる。即ち、復号化された第1の被圧縮データに基づいてエッジ部分であるか否かを確認し、エッジ部分である場合には上記少ビット数の数値から第2の被圧縮データを復号化し、エッジ部分でない場合には第1の被圧縮データを用いた補間処理により第2の被圧縮データに対応したデータを生成する。
【0019】
また、上記判定部を備えたデータ圧縮装置は、
上記非可逆圧縮部が、数値を上記少ビット数で表現するに当たり、上記単位ビット数のビット値の下位桁を切り捨てるものであってもよい。
【0020】
また、上記判定部を備えたデータ圧縮装置は、
上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであることが好ましい。
【0021】
また、上記判定部を備えたデータ圧縮装置は、
上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定し、その色版画像とその差分画像とでは判定基準が異なっているものであることが、より好ましい。
【0022】
また、上記判定部を備えたデータ圧縮装置は、
上記間引き処理部で作成された第1の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求める差分生成部を備え、
上記判定部が、上記差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであることが好ましく、さらには、
上記差分生成部が、第1の被圧縮データを構成する数値について、上記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めるものであることがより好ましい。
【0023】
また、本発明のデータ圧縮装置は、
上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なるものであることが好ましい。
【0024】
また、本発明のデータ圧縮装置は、
上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なり、その色版データにおける間引きの周期の方がその差分色版データにおける間引きの周期よりも短いものであることが、より好ましい。
【0025】
また、本発明のデータ圧縮装置は、
上記可逆圧縮部が、
上記間引き処理部で作成された第1の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
上記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
上記オフセット部によって数値がオフセットされた被圧縮データの各数値を、上記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、その被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
上記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることが好適である。
【0026】
ここで、上記の『被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより』における『隣接する』とは、データストリーム上で隣接してもよいが、必ずしもそれに限定されるものではない。例えば、2次元画像データが1次元ストリーム状のデータとして扱われている場合であれば、2次元的な画像上で見て隣接してもよい。また、『隣接する数値どうしの差分』とは、1次元的な差分のみならず2次元以上の多次元的な差分も含む意である。以下においても同様である。
【0027】
また、上記差分生成部を備えたデータ圧縮装置は、
上記差分生成部が、第1の被圧縮データを構成する数値について、上記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めるものであることがより好ましい。
【0028】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部を備えたものであることが好ましい。
【0029】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
符号と数値を対応づけるテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが、より好ましい。
【0030】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
ハフマンテーブルを用いて、上記第1の符号化部で符号化された後のデータにハフマン符号化を施す第2の符号化部を備えたものであってもよい。
【0031】
また、上記上位データ圧縮部を備えたデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
上記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
上記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短い符号を割り当てる符号割当部と、
上記符号割当部で符号が割り当てられたテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが、より好ましい。
【0032】
また、このようにヒストグラム算出部を備えたデータ圧縮装置は、
上記ヒストグラム算出部は、上記第1の符号化部で符号化された後のデータに対して、そのデータ中に出現する数値の間引きを行い、その間引いた数値によって上記ヒストグラムを求めるものであることがさらに好ましい。
【0033】
また、上記分割部を備えたデータ圧縮装置は、
上記可逆圧縮部が、上記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたものであることが好適である。
【0034】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることが好ましい。
【0035】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであってもよい。
【0036】
また、上記下位データ圧縮部を備えたデータ圧縮装置は、
上記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることも好適である。
【0037】
また、本発明のデータ圧縮プログラムは、
プログラムを実行する情報処理装置内に組み込まれてその情報処理装置に、複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、それら複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を実行させるデータ圧縮プログラムにおいて、
上記情報処理装置上に、
上記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、上記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、その差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
上記被圧縮データに含まれる色版データのうち上記所定種類の色要素に対応した色版データ、および上記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第1の被圧縮データと、残りの数値の連続からなる各第2の被圧縮データとを作成する間引き処理部と、
上記間引き処理部で作成された第1の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
上記間引き処理部で作成された第2の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを構築することを特徴とする。
【0038】
なお、本発明にいうデータ圧縮プログラムについては、ここではその基本形態のみを示すのにとどめるが、これは単に重複を避けるためであり、本発明にいうデータ圧縮プログラムには、上記の基本形態のみではなく、前述したデータ圧縮装置の各形態に対応する各種の形態が含まれる。
【0039】
また、本発明のデータ圧縮プログラムがコンピュータ上に構成する差分色版データ生成部などといった要素は、1つの要素が1つのプログラム部品によって構築されるものであってもよく、1つの要素が複数のプログラム部品によって構築されるものであってもよく、複数の要素が1つのプログラム部品によって構築されるものであってもよい。また、これらの要素は、そのような作用を自分自身で実行するものとして構築されてもよく、あるいは、コンピュータに組み込まれている他のプログラムやプログラム部品に指示を与えて実行するものとして構築されても良い。
【発明の効果】
【0040】
種類の異なる色要素それぞれに対応した色版データの中には、データ分布の特徴が共通しており互いに相関が強い、色版データの群が存在することが多い。
【0041】
上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、こうした互いに相関が強い色版データのうち所定種類の色要素に対応した色版データと、その所定種類の色要素を除いた他の色要素に対応した色版データとの差分から差分色版データが生成されて圧縮処理が施される。このような差分色版データを生成する過程を経ることで、圧縮処理対象となるデータが、圧縮しやすい状態になり、全体として大きな圧縮率が達成される。また、上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、被圧縮データが、周期的に間引かれた第1の被圧縮データと残りの第2の被圧縮データに分けられ、第1の被圧縮データには可逆圧縮処理が施されて第2の被圧縮データには非可逆圧縮処理が施される。第2の被圧縮データについては非可逆圧縮によって元の情報は一部失われるが、CT画像は隣接画素間の相関が強いので、その相関を前提とすることで、第2の被圧縮データを大幅に圧縮しても元の画像の画質を高く維持することができる。
【0042】
また、上記非可逆圧縮部が、第2の被圧縮データを圧縮する際に、画像中のエッジであるか否かで圧縮方式を切り換えるものであると、非エッジ部分では大幅な圧縮を実現すると共に、エッジ部分については圧縮を控えることで画質を維持することができる。
【0043】
また、上記非可逆圧縮部が、下位桁を切り捨てるものであると演算が不要となり変換が容易である。
【0044】
また、上記判定部が、上記所定種類の色要素に対応した色版画像と上記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであると、画質の維持と圧縮率の向上との適度なバランスをとることができる。そして、その色版画像とその差分画像とでは判定基準が異なっていると、画質の維持と圧縮率の向上とのより一層適度なバランスをとることができる。
【0045】
また、上記差分生成部を備え、上記判定部が、差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであるとエッジ判定が容易であり、更に、差分が2次元的な差分であると、エッジ部分の判定はより確からしくなる。
【0046】
また、上記間引き処理部が、上記所定種類の色要素に対応した色版データと上記差分色版データとでは間引きの周期が異なるものであっても、画質の維持と圧縮率の向上との適度なバランスをとることができる。そして、その色版データにおける間引きの周期の方がその差分色版データにおける間引きの周期よりも短いと、画質の維持と圧縮率の向上とのより一層適度なバランスをとることができる。
【0047】
また、上記可逆圧縮部が、上記差分生成部を経る形態によれば、圧縮処理対象となるデータが、データを構成している数値が特定の値の数値の近傍に集中したデータとなり、圧縮しやすい状態になる。また、上記可逆圧縮部が、上記分割部などを備え、上位データと下位データとを分けて処理する形態によれば、後で詳述するように、データ中の数値の分布傾向が顕著に異なっている上位データと下位データとで、各々に適した可逆な処理を施すことができ、画質と圧縮率とのより高レベルでの両立が図られる。一般に、CTデータから得られる新たな被圧縮データの場合には、後で詳述するように、上位データと下位データとではデータ中の数値の分布傾向が顕著に異なっているので、各データに適した可逆圧縮処理が存在し、本発明による圧縮処理によって全体として大きな圧縮率が達成される。また、このような上位データおよび下位データは、アルゴリズムが単純な可逆圧縮処理で大幅な圧縮が期待できるため圧縮の処理時間が短い。特に、データ量が大きいため圧縮してデータ量を小さくすることが望まれるカラーのCTデータに対しては、好ましい可逆圧縮処理が実現されることとなる。
【0048】
また、上記差分生成部が、第1の被圧縮データを構成する数値の連続について差分を求める際に、2次元的な差分を求めるものであると、差分ゼロの頻度が増して可逆圧縮による圧縮がより一層効率よくなる。
【0049】
また、上記の上位データ圧縮部が第1の符号化部を備えると、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。
【0050】
また、上記の上位データ圧縮部が第2の符号化部を備えると、エントロピー符号化(典型的にはハフマン符号化)による、圧縮率の更なる向上が見込まれる。
【0051】
さらに、上記の上位データ圧縮部が、ヒストグラム算出部と符号割当部とを備え、第2の符号化部が、符号割当部で符号が割り当てられたテーブルを用いてエントロピー符号化(例えばハフマン符号化)を施すものであると、符号の割り当てが固定されたテーブルを用いたエントロピー符号化と比べ、圧縮率をさらに大きく向上させることができる。
【0052】
また、上記のヒストグラム算出部が、数値の間引きを行い、その間引いた数値によって上記のヒストグラムを求めるものであると、処理速度の向上が期待できる。
【0053】
また、上記可逆圧縮部が下位データ圧縮部を備えると、下位データについても適切な可逆圧縮が施されて圧縮率が向上する。
【0054】
また、上記の下位データ圧縮部が、エントロピー符号化を施すものであると、エントロピー符号化(典型的にはハフマン符号化)による、圧縮率の更なる向上が見込まれる。
【0055】
さらに、上記の下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであると、そのような指示によってより高速な圧縮処理を選択することができる。
【発明を実施するための最良の形態】
【0056】
以下において説明する実施形態は、図1に示す全体システムの中のホストコントローラ100に組み込まれる画像圧縮装置であり、さらに具体的には、図2に示すホストコントローラ内のCTのビットマップデータ12Aについてデータ圧縮を行なう処理に関するものである。したがって、ここでは、図1,図2を参照して説明したCTデータについてのデータ圧縮処理が以下に説明する本発明の実施形態としてのデータ圧縮処理に置き換わり、インターフェース機器内でのデータ伸長(解凍)処理もその本発明の実施形態としてのデータ圧縮処理に対応したデータ伸長(解凍)処理に置き換わるものと理解し、図1に示す全体システムおよび図2に示す処理の流れについて重複した図示および重複説明は省略する。
【0057】
図3は、本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置500を示すブロック構成図である。
【0058】
この図3に示す画像圧縮装置500は、CTデータに対して、赤(R),緑(G),青(B)の各色ごとに圧縮処理を施す画像圧縮装置であり、この圧縮処理のために、差分色版データ生成部501G−R,501G−B、間引き処理部505,505G−R,505G−B、2次元差分符号化部510,510G−R,510G−B、オフセット部520,520G−R,520G−B、エッジ検出部525,525G−R,525G−B、プレーン分割部530,530G−R,530G−B、Lプレーン圧縮部540,540G−R,540G−B、Hプレーン圧縮部550,550G−R,550G−B、およびFAKE画素圧縮部560,560G−R,560G−Bを備えている。これら各部の詳細は後述するが、この画像圧縮装置500内での画像データの流れは以下のとおりである。
【0059】
入力画像ファイルD0(本実施形態では、図2に示すように、ビットマップに展開されたCTデータ12Aが格納されたファイル)は、赤(R),緑(G),青(B)の各色ごとの画像データに分解される。この入力画像ファイルD0は、本発明にいう被圧縮データの一例に相当する。
【0060】
以下では、このような各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データの処理について説明する。ここでは、まず、緑(G)の画像データの処理について説明し、次いで、赤(R),青(B)の各色の画像データの処理について説明する。
【0061】
緑(G)の画像データは、図3に示す画像圧縮装置500の間引き処理部505に入力されて、緑(G)の画像データから、画像中の周期的な画素部分に相当するTRUE画素データが間引かれる。間引かれた残りはFAKE画素データとなる。
【0062】
緑(G)の画像データのTRUE画素データは2次元差分符号化部510に入力されて、2次元差分符号化処理、すなわち、入力されてきたTRUE画素データを構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めることによりその差分を表わす8ビットの数値の連続からなる画像データを生成する処理が行なわれる。
【0063】
2次元差分符号化部510で生成された、差分を表わす数値の連続からなる画像データは、オフセット部520に入力されて所定値だけオフセットされる。その後、エッジ検出部525とプレーン分割部530に入力され、エッジ検出部525では、オフセットされた差分値に基づいて画像のエッジ部分が検出され、プレーン分割部530では、オフセット後の画像データ中の8ビットの各数値が下位ビットと上位ビットとに分けられることにより、画像データが、下位4ビットの数値の連続からなる下位サブプレーンD1Lと上位4ビットの数値の連続からなる上位サブプレーンD1Hに分割される。
【0064】
プレーン分割部530で分割された下位サブプレーンD1Lおよび上位サブプレーンD1Hは、それぞれ、Lプレーン圧縮部540およびHプレーン圧縮部550に入力されて可逆圧縮が施される。
【0065】
Lプレーン圧縮部540には、間引きデータスキャニング部541_2、最適ハフマンテーブル生成部541_1、ハフマン符号化部541、モード切換部542が備えられている。Lプレーン圧縮部540に入力された、緑(G)の画像データの下位サブプレーンD1Lは、間引きデータスキャニング部541_2および最適ハフマンテーブル生成部541_1に入力される。間引きデータスキャニング部541_2では、入力された下位サブプレーンD1Lからデータの間引きが行われ、間引かれたデータがスキャンされてデータを構成する数値の出現頻度(ヒストグラム)が解析される。その解析結果は、最適ハフマンテーブル生成部541_1に入力され、最適ハフマンテーブル生成部541_1では、その解析結果に基づき、緑(G)の画像データの下位サブプレーンD1L中の数値が出現頻度の高い数値ほど短いビット長で表わされる符号に対応づけられているハフマンテーブルの生成が行われる。そして、ハフマン符号化部541において、その下位サブプレーンD1Lを構成する数値を、生成されたハフマンテーブルに従って符号化(ハフマン符号化)する処理が行われ、さらに、ハフマン符号化処理が行われた後のデータに対し、数値と符号との割当テーブルを含む圧縮情報が添付される。このようなハフマン符号化は、エントロピー符号化の一種である。なお、Lプレーン圧縮部540にはモード切換部542が組み込まれており、このモード切換部542は、ユーザから、高速モードと通常モードとの切り換えを指示されて、上記のハフマン符号化部541によるハフマン符号化を経る通常モードと、ハフマン符号化を省略して下位サブプレーンD1Lをそのまま出力する高速モードとを切り換える。従って、最終的にLプレーン圧縮部540からは、通常モードの場合には、下位サブプレーンD1Lがハフマン符号化により圧縮された下位圧縮データD2Lが出力され、高速モードの場合には、ハフマン符号化が施されていない下位圧縮データD2Lが出力されることになる。
【0066】
一方、Hプレーン圧縮部550には、ランレングス符号化部551、間引きデータスキャニング部552、最適ハフマンテーブル生成部553_1、ハフマン符号化部553が備えられており、上位サブプレーンD1Hは、Hプレーン圧縮部550中のランレングス符号化部551に入力される。
【0067】
Hプレーン圧縮部550中のランレングス符号化部551では、先ず、入力されてきた上位サブプレーンD1Hのデータの中から1つもしくは複数の圧縮対象数値の存在及び同一の圧縮対象数値の連続数が検出される。次いで、ランレングス符号化部551では、その検出結果を受けて、上位サブプレーンD1Hのデータ中、圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理(いわゆるランレングス符号化処理)が行なわれる。このランレングス符号化部551では、その符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。具体的には、この符号化では、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現するという符号化が行なわれる。
【0068】
また、Hプレーン圧縮部550中のランレングス符号化部551での符号化後のデータは、間引きデータスキャニング部552、最適ハフマンテーブル生成部553_1、ハフマン符号化部553の各部によって、ハフマン符号化処理が行われる。このハフマン符号化処理は、ハフマン符号化処理前のデータがランレングス符号化後のデータであることを除けば、前述の下位サブプレーンD1Lと同様の処理である。そして、ランレングス符号化およびハフマン符号化が行われた上位サブプレーンD1Hは、最終的に、上位圧縮データD2HとしてHプレーン圧縮部550から出力される。
【0069】
一方、上記の間引き処理部505で得られた、緑(G)の画像データのFAKE画素データは、FAKE画素圧縮部560に入力されて非可逆圧縮処理が施される。このFAKE画素圧縮部560には、ビット短縮部561と、ランレングス符号化部562と、ハフマン符号化部563とが備えられており、FAKE画素データを構成する数値はビット短縮部561で1ビットまたは4ビットの符号に置換される。ここで、エッジ部分に属するか否かの判定は、エッジ検出部525によって行われる。このエッジ検出部525の判定に基づき、ビット短縮部561では、画像のエッジ部分に属する画素の画素値は4ビットの符号に置換され、画像のエッジ部分に属さない画素の画素値は1ビットの符号に置換される。このように1ビットまたは4ビットの符号に置換されたデータは、ランレングス符号化部562およびハフマン符号化部563によって、上記Hプレーン圧縮部550における処理と全く同様の処理が施される。この結果、FAKE画素圧縮部560からは、FAKE画素データが非可逆圧縮された非可逆圧縮データD3が出力される。
【0070】
TRUE画素データの可逆圧縮データとFAKE画素データの非可逆圧縮データとで、元の画像データに対する圧縮データが構成される。
【0071】
以上が、緑(G)の画像データの処理についての説明である。次に、赤(R),青(B)の各色の画像データの処理について説明する。最初に、赤(R)の画像データの処理について説明する。
【0072】
赤(R)の画像データは、図3に示す画像圧縮装置500の差分色版データ生成部501G−Rにおいて、前述した緑(G)の画像データとの間で相対的な差分が計算され、緑(G)の画像データに対する相対的な差分を表す、8ビットの数値の連続からなり、緑(G)の画像データと赤(R)の画像データとの間の差分画像を表した差分色版データ(以下、この差分色版データをG−Rの画像データと称する)が生成される。差分色版データ生成部501G−Rで生成されたG−Rの画像データは、間引き処理部505G−Rに入力されて、緑(G)の画像データに対して施された処理と同様の間引き処理が施されて、TRUE画素データとFAKE画素データとに分けられる。
【0073】
G−Rの画像データのTRUE画素データは2次元差分符号化部510G−Rに入力され、2次元差分符号化部510G−Rにおいて、緑(G)の画像データに対して施された処理と同様の2次元差分符号化処理が施されて、オフセット部520G−Rに入力される。オフセット部520G−Rでオフセットが施された後、プレーン分割部530G−Rで下位ビットの数値の連続からなる、G−Rの画像データの下位サブプレーンD1L_G−Rと、上位ビットの数値の連続からなる、G−Rの画像データの上位サブプレーンD1H_G−Rとに分割される。G−Rの画像データの下位サブプレーンD1L_G−Rは、Lプレーン圧縮部540G−Rに入力されて、このLプレーン圧縮部540G−Rにおいて、緑(G)の画像データの下位サブプレーンD1Lに対して施された処理と同様の可逆圧縮処理が施されて、G−Rの下位圧縮データD2L_G−RとしてLプレーン圧縮部540G−Rから出力される。一方、G−Rの画像データの上位サブプレーンD1H_G−Rは、Hプレーン圧縮部550G−Rに入力されて、このHプレーン圧縮部550G−Rにおいて、緑(G)の画像データの上位サブプレーンD1Hに対して施された処理と同様の可逆圧縮処理が施されて、G−Rの上位圧縮データD2H_G−RとしてHプレーン圧縮部550G−Rから出力される。
【0074】
一方、上記の間引き処理部505G−Rで得られた、G−Rの画像データのFAKE画素データは、FAKE画素圧縮部560G−Rに入力されて、FAKE画素圧縮部560G−Rにおいて、緑(G)の画像データに対して施された処理と同様の非可逆圧縮処理が施される。尚、FAKE画素データを構成する数値が、ビット短縮部561において4ビットあるいは1ビットの2種類の符号のいずれに置換されるかを決定するための、G−Rの画像データに対して使用されるエッジ検出部525G−Rにおける判定基準は、前述の、緑(G)の画像データに対して使用されるエッジ検出部525における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。この結果、FAKE画素圧縮部560G−Rからは、FAKE画素データが非可逆圧縮された非可逆圧縮データD3G−Rが出力される。
【0075】
以上が、赤(R)の画像データの処理について説明である。
【0076】
次に、青(B)の画像データの処理について説明する。
【0077】
青(B)の画像データは、図3に示す画像圧縮装置500の差分色版データ生成部501G−Bにおいて、赤(R)の画データと同様に、緑(G)の画像データとの間の差分画像を表した差分色版データ(以下、この差分色版データをG−Bの画像データと称する)が生成された後、間引き処理部505G−Bにおいて、TRUE画素データとFAKE画素データとに分けられる。
【0078】
G−Bの画像データのTRUE画素データは、2次元差分符号化部510G−B、オフセット部520G−B、プレーン分割部530G−B、Lプレーン圧縮部540G−B、Hプレーン圧縮部550G−Bにおいて、G−Rの画像データに対して施された処理と同様の可逆圧縮処理が施されて、G−Bの下位圧縮データD2L_G−B、G−Bの上位圧縮データD2H_G−Bとして、それぞれLプレーン圧縮部540G−B、Hプレーン圧縮部550G−Bから出力される。
【0079】
一方、上記の間引き処理部505G−Bで得られた、G−Bの画像データのFAKE画素データは、FAKE画素圧縮部560G−Rに入力されて、FAKE画素圧縮部560G−Rにおいて、G−Rの画像データに対して施された処理と同様の非可逆圧縮処理が施されて、FAKE画素データが非可逆圧縮された非可逆圧縮データD3G−Bが出力される。尚、FAKE画素データを構成する数値が、ビット短縮部561において4ビットあるいは1ビットの2種類の符号のいずれに置換されるかを決定するための、G−Bの画像データに対して使用されるエッジ検出部525G−Rにおける判定基準は、前述の、G−Rの画像データに対して使用されるエッジ検出部525G−Rにおける判定基準と同様に、前述の、緑(G)の画像データに対して使用されるエッジ検出部525における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。
【0080】
以上が、青(B)の画像データの処理について説明である。
【0081】
このように赤(R),緑(G),青(B)の各色について、各色についてのLプレーン圧縮部およびHプレーン圧縮部のそれぞれから出力される下位圧縮データと上位圧縮データとに、さらにFAKE画素圧縮部から出力される非可逆圧縮データが加わったデータの組が出力されることとなり、これら3色について、下位圧縮データと上位圧縮データとにさらに非可逆圧縮データが加わったデータの組が全部で3組生成されて、これら3組のデータが元の画像データに対する圧縮データとなる。この圧縮データは、図1に示すSCSI等の汎用インターフェース150を経由してインターフェース機器200に転送される。インターフェース機器200では、その受け取った可逆圧縮データにデータ伸長処理が施されるが、このデータ伸長処理にあたっては、図3で説明した各種の符号化処理に対応する復号化処理が施されて元の入力画像ファイル中の画像データと同一の画像データが復元される。
【0082】
以上の説明において、TRUE画素データおよびFAKE画素データが、それぞれ、本発明にいう第1の被圧縮データおよび第2の被圧縮データの各一例に相当し、間引き処理部505,505G−R,505G−Bを合わせたものが、本発明にいう間引き処理部の一例に相当する。また、2次元差分符号化部510,510G−R,510G−Bを合わせたものが、本発明にいう差分生成部の一例に相当する。また、オフセット部520,520G−R,520G−Bを合わせたものが、本発明にいうオフセット部の一例に相当し、エッジ検出部525,525G−R,525G−Bを合わせたものが、本発明にいう判定部の一例に相当し、プレーン分割部530,530G−R,530G−Bを合わせたものが、本発明にいう分割部の一例に相当する。また、下位サブプレーンD1L,D1L_G−R,D1L_G−Bが、本発明にいう下位データの一例に相当し、上位サブプレーンD1H,D1H_G−R,D1H_G−Bが、本発明にいう上位データの一例に相当する。また、Lプレーン圧縮部540,540G−R,540G−Bを合わせたものが、本発明にいう下位データ圧縮部の一例に相当し、Hプレーン圧縮部550,550G−R,550G−Bを合わせたものが、本発明にいう上位データ圧縮部の一例に相当する。
【0083】
また、本実施形態では、ランレングス符号化部551,551G−R,551G−Bを合わせたものが、本発明にいう第1の符号化部の一例に相当し、間引きデータスキャニング部552,552G−R,552G−Bを合わせたものが、本発明にいうヒストグラム算出部の一例に相当し、最適ハフマンテーブル生成部553_1,553G−R_1,553G−B_1を合わせたものが、本発明にいう符号割当部の一例に相当し、ハフマン符号化部553,553G−R,553G−Bを合わせたものが、本発明にいう第2の符号化部の一例に相当する。そして、2次元差分符号化部510,510G−R,510G−Bを合わせたもの、オフセット部520,520G−R,520G−Bを合わせたもの、プレーン分割部530,530G−R,530G−Bを合わせたもの、Lプレーン圧縮部540,540G−R,540G−Bを合わせたもの、およびHプレーン圧縮部550,550G−R,550G−Bを合わせたものの組み合わせは、本発明にいう可逆圧縮部の一例に相当する。
【0084】
また、本実施形態では、緑(G)の画像データが、本発明にいう、所定種類の色要素に対応した色版データの一例に相当し、赤(R)の画像データおよび青(B)の画像データが、それぞれ、本発明にいう、所定種類の色要素を除いた他の色要素に対応した色版データの一例に相当し、G−Rの画像データおよびG−Bの画像データが、それぞれ、本発明にいう差分色版データの一例に相当し、差分色版データ生成部501G−R,501G−Bを合わせたものが、本発明にいう差分色版データ生成部の一例に相当する。
【0085】
また、本実施形態では、FAKE画素圧縮部560,560G−R,560G−Bを合わせたものが、本発明にいう非可逆圧縮部の一例に相当する。
【0086】
図4は、図1に示すホストコントローラ100のハードウェア構成図である。
【0087】
図1に示すホストコントローラ100は、図4に示す構成のコンピュータシステムで構成されている。
【0088】
この図4に示す、コンピュータシステムで構成されたホストコントローラ100には、CPU111、RAM112、通信インターフェース113、ハードディスクコントローラ114、FDドライブ115、CDROMドライブ116、マウスコントローラ117、キーボードコントローラ118、ディスプレイコントローラ119、および通信用ボード120が備えられており、これらはバス110で相互に接続されている。
【0089】
ハードディスクコントローラ114は、このホストコントローラ100に内蔵されているハードディスク104のアクセスを制御するものであり、FDドライブ115、CDROMドライブ116は、このホストコントローラ100に取出し自在に装填されるフレキシブルディスク(FD)130、CDROM140のアクセスを制御するものである。また、マウスコントローラ117、キーボードコントローラ118は、このホストコントローラ100に備えられたマウス107、キーボード108の操作を検出してCPU111に伝達する役割を担っている。さらに、ディスプレイコントローラ119は、このCPU111の指示に基づいて、ホストコントローラ100に備えられた画像ディスプレイ109の表示画面上に画像を表示する役割を担っている。
【0090】
通信用ボード120は、SCSI等の汎用インターフェースプロトコルに準拠した通信を担っており、圧縮後の画像データをインターフェースケーブル150を介してインターフェース機器200(図1参照)に転送する役割を担っている。
【0091】
さらに、通信用インターフェース113は、インターネット等の汎用の通信を担っており、このホストコントローラ100は、この通信用インターフェース113を経由して画像データを取り込むこともできる。
【0092】
RAM112には、ハードディスク104に格納されているプログラムが読み出されてCPU111での実行のために展開され、CPU111では、そのRAM112に展開されたプログラムが読み出されて実行される。
【0093】
図5は、本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮プログラム600の模式構成図である。
【0094】
ここでは、この画像圧縮プログラム600は、CDROM140に記憶されている。
【0095】
この画像圧縮プログラム600は、差分色版データ生成部601G−R,601G−B、間引き処理部605,605G−R,605G−B、2次元差分符号化部610,610G−R,610G−B、オフセット部620,620G−R,620G−B、エッジ検出部625,625G−R,625G−B、プレーン分割部630,630G−R,630G−B、Lプレーン圧縮部640,640G−R,640G−B、Hプレーン圧縮部650,650G−R,650G−B、およびFAKE画素圧縮部660,660G−R,660G−Bから構成されている。このCDROM140には、ここに示す画像圧縮プログラム600のほか、図1に示すホストコントローラ100における一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
【0096】
この図5に示すCDROM140が、図4に示すホストコントローラ100に装填されCDROMドライブ116でアクセスされてそのCDROM140に記憶されているプログラムがこのホストコントローラ100にアップロードされ、ハードディスク104に記憶される。このハードディスク104に記憶されたプログラムがそのハードディスク104から読み出されてRAM112に展開され、CPU111によって実行されることにより、このホストコントローラ100は、図3に示す画像圧縮装置500としての処理を含む、ホストコントローラとしての各種処理を実行する装置として動作する。
【0097】
ここで、図5に示す画像圧縮プログラム600は、ホストコントローラ100にインストールされてCPU111で実行されることにより、そのホストコントローラ100内に図3に示す画像圧縮装置500を実現するものであり、差分色版データ生成部601G−R,601G−B、間引き処理部605,605G−R,605G−B、2次元差分符号化部610,610G−R,610G−B、オフセット部620,620G−R,620G−B、エッジ検出部625,625G−R,625G−B、プレーン分割部630,630G−R,630G−B、Lプレーン圧縮部640,640G−R,640G−B、Hプレーン圧縮部650,650G−R,650G−B、およびFAKE画素圧縮部660,660G−R,660G−Bは、CPU111で実行されることにより、そのホストコントローラ100を、図3に示す画像圧縮装置500を構成する、それぞれ、差分色版データ生成部501G−R,501G−B、間引き処理部505,505G−R,505G−B、2次元差分符号化部510,510G−R,510G−B、オフセット部520,520G−R,520G−B、エッジ検出部525,525G−R,525G−B、プレーン分割部530,530G−R,530G−B、Lプレーン圧縮部540,540G−R,540G−B、Hプレーン圧縮部550,550G−R,550G−B、およびFAKE画素圧縮部560,560G−R,560G−Bとして動作させるプログラム部品である。つまり、これらのプログラム部品により、画像圧縮装置500の構成要素がホストコントローラ100上に実質的に構築されることとなる。
【0098】
図5の画像圧縮プログラム600を構成する上記の各部の、CPU111で実行されたときの作用は、それぞれ、図3の画像圧縮装置500を構成する、上述した各部の作用そのものである。したがって、図3の画像圧縮装置500の各部に関する、これまでの説明、および、以下に説明する詳細説明をもって、図5の画像圧縮プログラム600を構成する各部の説明を兼ねるものとする。
【0099】
次に、図3に示す画像圧縮装置500内での処理について詳しく説明する。
【0100】
入力画像ファイルD0は、赤(R),緑(G),青(B)の各色ごとの画像データに分解される。
【0101】
以下では、まず、このように各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのうちの緑(G)の画像データの処理について説明し、その後で、赤(R),青(B)の各色の画像データの処理について説明する。
【0102】
各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのうちの緑(G)の画像データは、まず、間引き処理部505に入力されて、間引き処理部505により、可逆圧縮処理の対象となるTRUE画素の画素データと、非可逆圧縮処理の対象となるFAKE画素の画素データとに分けられる。
【0103】
図6は、図3の画像圧縮装置500に入力される入力画像ファイルD0中の緑(G)の画像データのデータ構造および間引き処理の概念を示す図である。
【0104】
図6に示すように、図3に示す画像圧縮装置500に入力される入力画像ファイルD0中の緑(G)の画像データは、所定の主走査方向(図の横方向)とその主走査方向とは直角な副走査方向(図の縦方向)とに画素が並んでおり、主走査方向に並ぶ画素の列はラインと称される。ここでは6ライン分の画素が示されている。
【0105】
各画素の位置は、画素値を表す符号T,Fに付された添え字で表現される。例えば3番目のラインについて、主走査方向に並ぶ各画素の画素値には、その並び順に、
3_1,3_2,3_3,3_4,…
という添え字が付されている。
【0106】
図3に示す画像圧縮装置500を構成する間引き処理部505には、このように並んだ画素値からなる緑(G)の画像データが入力され、間引き処理部505は、各画素を、TRUE画素とFAKE画素とに分類する。この図6に示す各画素のうちTRUE画素は画素値が符号Tで表され、FAKE画素は画素値が符号Fで表されている。TRUE画素は、画素の並びの中から周期的に間引かれた画素であり、ここでは、副走査方向に1ラインおきの各ライン(奇数番目のライン)について、主走査方向に1画素おきの各画素(奇数番目の画素)がTRUE画素として間引き出されている。この結果、この図6に示す例ではTRUE画素は、元の解像度の半分の解像度に低下した画像を構成する画素に相当しており、元の画像データの4分の1に相当する画素が間引き出されたこととなる。このように間引き出されたTRUE画素は、そのようなTRUE画素の連続からなるTRUE画素データを構成し、そのTRUE画素データの構造は、元の画像データと同様に、主走査方向と副走査方向に画素が並んだ構造となっている。TRUE画素の間引きによって残ったFAKE画素についても、そのFAKE画素の連続からなるFAKE画素データを構成する。TRUE画素データが可逆圧縮処理の対象となるのに対し、このFAKE画素データは非可逆圧縮処理の対象となる。
【0107】
TRUE画素の間引きだしとしては、このほかに例えば、副走査方向に2ラインおきの各ラインについて、主走査方向に2画素おきの各画素を間引き出すことによって元の画像データの9分の1に相当する画素を間引き出す方式や、主走査方向と副走査方向とでは間引きだしの周期が異なる方式なども採用可能であるが、以下では、図6に示すように、奇数番ラインの奇数番画素が間引き出されたものとして説明を続ける。
【0108】
このようにして得られた緑(G)の画像データのTRUE画素データは、図3の画像圧縮装置500を構成する2次元差分符号化部510に入力されて2次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【0109】
この2次元差分符号化処理を具体的に説明する。
【0110】
図7は、図3の2次元差分符号化部510に入力される緑(G)の画像データのTRUE画素データの構造を示す図、図8は、このTRUE画素データに対して2次元差分符号化処理が施された後のデータの構造を示す図である。
【0111】
図7に示す緑(G)の画像データのTRUE画素データのデータ構造は、実際には、図4に示す緑(G)の画像データのデータ構造と同じものであるが、図7では、2次元差分符号化処理の概念を示すため、データ構造が図4とは異なる形式で表されている。尚、図7では、図7の横方向が、図4で上述した主走査方向であり、その主走査方向とは直角な方向が副走査方向である。
【0112】
緑(G)の画像データのTRUE画素データで表される画像は、所定の主走査方向に画素がM個並んでなるラインが、その主走査方向とは直角な副走査方向にNライン並ぶことによって構成されており、このような構成を反映してそのTRUE画素データも、図7に示すように、主走査方向(図の左右方向)に画素値がM個並んでなるラインが、副走査方向(図の上下方向)にNライン並んでいるという構造を備えている。この図では、上からn番目のライン中の、左からm番目の画素値はPn,mと表記されており、この表記法を用いて、副走査方向にn番目のラインについては、主走査方向に並ぶ各画素の画素値が、その並び順に、
n,1,Pn,2,…,Pn,m−1,Pn,m,…,Pn,M−2,Pn,M−1,Pn,M
と表されている。これらの画素値は、16進表示で表された数値である。
【0113】
ここで、図3に示す画像圧縮装置500を構成する2次元差分符号化部510には、上記のようなTRUE画素データが入力されて2次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【0114】
図8には、2次元差分符号化処理が施されたデータの構造が示されており、このデータも、2次元差分符号化後の画素値が主走査方向にM個並んでなるラインが、副走査方向にNライン並んでいるという構造を備えている。この図では、上からn番目のライン中の、左からm番目の、2次元差分符号化後の画素値は、Xn,mと表記されており、この2次元差分符号化後の画素値Xn,mは、図7の中央部に示す、2次元差分符号化前の4つの画素値{Pn−1,m−1,Pn−1,m,Pn,m−1,Pn,m}から、下記の変換式によって得られる。
n,m=(Pn,m−Pn,m−1)−(Pn−1,m−Pn−1,m−1) …(1)
ここで、n=1の場合やm=1の場合には、右辺の2次元差分符号化前の画素値の添え字に0が現れることとなるが、添え字が0となる画素値については、下記のように定義する。
0,0=P0,m=00 (m=1〜M), Pn,0=Pn−1,M (n=1〜N)…(2) ここで、式(2)の「00」は、画素値を16進表示で表したときに値がゼロであることを表している。以下、式(1)および式(2)の意味について簡単に説明する。
【0115】
式(1)は、主走査方向に隣接する画素どうしの差分(すなわち、カッコの中の値)における副走査方向での更なる差分によって2次元差分符号化後の画素値Xn,mが得られることを表しており、2次元差分符号化前の画素値Pn,mが隣接する画素の画素値と相関が強い(すなわち同じような大きさの画素値である)場合には、2次元差分符号化後の画素値Xn,mは、ゼロに近い値となる。
【0116】
式(2)は、副走査方向の仮想的な0番目のラインと、各ラインの左から0番目の仮想的な画素値とを新たに設けたときの各画素値の定義を表す式である。主走査方向については左端の画素値(左から0番目の画素値Pn,0)とそのラインより1ライン前のラインの右端の画素値Pn−1,Mとを同一視するという定義となっている。また、副走査方向については、図の一番上側の画素値(0番目のライン上の画素値)、すなわち、P0,0やP0,mが全て0に固定された定義となっている。
【0117】
2次元差分符号化後のデータにおいて、1ライン目の画素値、および各ラインの1番目の画素値については、式(1)の変換式の右辺に、添え字が「0」である項が現れるため、式(2)の定義が適用されることとなる。具体的には上記の式(1)および式(2)により、2次元差分符号化後の1ライン目の画素値は、
1,1=P1,1
1,2=P1,2−P1,1
1,3=P1,3−P1,2
…………
1,M=P1,M−P1,M−1
のように表される。
【0118】
一方、2次元差分符号化後のデータにおいて、各ラインの1番目の画素値については、上記の式(2)により、
1,1=P1,1
2,1=(P2,1−P1,M)−P1,1
3,1=(P3,1−P2,M)−(P2,1−P1,M),
…………
N,1=(PN,1−PN−1,M)−(PN−1,1−PN−2,M
のように表される。このように、1ライン目の画素値、および各ラインの1番目の画素値については、その変換の仕方がやや特殊であるが、これらの画素値以外の画素値については、式(2)の定義が適用されることなく、式(1)がそのまま適用される。例えば、2ライン目の画素値のうち一番左端を除いた画素値は、
2,2=(P2,2−P2,1)−(P1,2−P1,1),
2,3=(P2,3−P2,2)−(P1,3−P1,2),
…………
2,M=(P2,M−P2,M−1)−(P1,M−P1,M−1
のように表される。
【0119】
この2次元差分符号化処理を、具体的な数値を用いて説明する。
【0120】
図9は、図3の画像圧縮装置500を構成する2次元差分符号化部510における2次元差分符号化処理を例示して示す図である。
【0121】
この図の左側(パート(A))に示す各数値が緑(G)の画像データのTRUE画素データを構成する画素値であり、この図の右側(パート(B))に示す各数値が2次元差分符号化処理で出力される出力値である。この図の横方向が主走査方向であり、主走査方向に並んだ8つの数値の並びが上記のラインである。この図に示すデータにはこうした8つの数値が並んだラインが全部で8本あり、図7および図8のデータにおいてN=8,M=8の場合のデータに相当する。
【0122】
図9のパート(A)に示すデータの2次元差分符号化処理では、先ず、1ライン目の各画素値「90 8A 8A 7B …」のうち、一番左の「90」については、この値がそのまま上記のX1,1として出力され、それ以外のX1,2,X1,3,…については、主走査方向に隣接する画素値どうしの差分の値「8A−90=FA」「8A−8A=00」…が出力される。ここで、「8A」から「90」を引き算した結果は実際には負の数となり、9ビットで「1FA」と表されるが、MSBの1ビットである最上位の「1」は省略し、下位8ビットである「FA」のみを出力する。
【0123】
2ライン目については、X2,1を求める式、
2,1=(P2,1−P1,M)−P1,1
において、M=8としたときの右辺の{P2,1,P1,8,P1,1}に対し、図9のパート(A)に示す数値が代入されて、「(87−58)−90=9F」がX2,1として出力される。それ以外のX2,2,X2,3,…については、2ライン目についての主走査方向に隣接する画素値どうしの差分と、1ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「(84−87)−(8A−90)=3」「(88−84)−(8A−8A)=04」…が出力される。
【0124】
3ライン目については、X3,1を求める式、
3,1=(P3,1−P2,M)−(P2,1−P1,M
において、M=8としたときの右辺の{P3,1,P2,8,P2,1,P1,8}に、図9のパート(A)に示す数値が代入されて、「(8B−4C)−(87−58)=10」がX3,1として出力される。それ以外のX3,2,X3,3,…については、3ライン目についての主走査方向に隣接する画素値どうしの差分と、2ライン目についての主走査方向に隣接する画素値どうしの差分とのさらなる差分の値「(86−8B)−(84−87)=FE」「(8A−86)−(88−84)=00」…が出力される。
【0125】
以下、4ライン目以降についても、3ライン目の演算と同じ演算を繰り返すことにより、図9のパート(B)に示す各数値が得られることとなる。
【0126】
図1に示すインターフェース機器200では、このように2次元差分符号化されたデータに対してデータの復号化処理が行われる。この復号化処理では、2次元差分符号化されたデータの値からPn,mを求める式が使用されており、この式は以下のようにして求めることができる。
【0127】
2次元差分符号化後の画素値Xi,jを、i=1からi=mまで足し上げ、さらにj=1からj=mについて足し上げた結果は、式(1)および式(2)を用いて下記の式(3)のように表される。
【0128】
【数1】

【0129】
ここで、式の途中に現れる{P0,0,Pn,0,P0,m}に対して、式(2)が適用されている。この式から、2次元差分符号化前の画素値Pn,mは、下記の式(4)のように表される。
【0130】
【数2】

【0131】
図1に示すインターフェース機器200では、上記の式(4)により、先ず、1ライン目の画素値P1,1,P1,2,…,P1,Mが求められる。例えば、1ライン目の画素値のうち主走査方向にm番目の画素値は、上記の式(4)にn=1を代入し、さらに式(2)のP0,M=0を利用して、下記の式(5)のように表される。
【0132】
【数3】

【0133】
このようにして、1ライン目の画素値、P1,1,P1,2,…,P1,Mがすべて求められる。
【0134】
2ライン目の画素値P2,1,P2,1,…,P2,Mについては、同様に上記の式(4)にn=2を代入し、さらに1ライン目の画素値の複合化で得られたP1,Mを用いることで求めることができる。例えば、2ライン目の画素値のうち主走査方向にm番目の画素値は、下記の式(6)のように表される。
【0135】
【数4】

【0136】
3ライン目以降の画素値についても同様にして、上記の式(6)やそれ以降の計算で複合化された画素値を用いて求めることができる。図1に示すインターフェース機器200では、このような方式でデータの復号化処理が行われる。
【0137】
図3の2次元差分符号化部510では、以上説明したような2次元差分符号化が緑(G)の画像データのTRUE画素データに施される。この2次元差分符号化によって得られるデータは、図3のオフセット部520に入力され、そのデータの各数値について所定のオフセット値が加算される。
【0138】
ここで、このような2次元差分符号化およびオフセットの効果について、具体的なCTの画像データを例に用いて説明する。
【0139】
図10は、CTの画像データの例を示す図である。
【0140】
この図10のパート(A)には、CTの画像データが表しているCT画像の一例としてカラーの風景画像が示されており、このCT画像は、CT画像中の赤(R),緑(G),青(B)の各色にそれぞれ対応した画素における色の濃度が8ビットの数値でそれぞれ表現された、赤(R),緑(G),青(B)の画像データによって表される。図10のパート(B)には、このような赤(R),緑(G),青(B)の画像データのうち、緑(G)の画像データにおけるデータ値のヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸はデータ数(画素数)を表している。このヒストグラムからわかるように、ヒストグラムの幅は広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「0」の領域が生じてはいない。このような性質は、赤(R),青(B)の画像データについても共通しており、CT画像では一般に、ヒストグラムの幅が広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「0」の領域が生じることは極めてまれである。
【0141】
図11は、緑(G)の画像データに対する2次元差分符号化およびオフセットの効果を示す図である。
【0142】
この図11のパート(A)には、図10のパート(B)に示した緑(G)の画像データに対して2次元差分符号化が施されて得られるデータのヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸は出現頻度を表している。このヒストグラムからわかるように、2次元差分符号化処理が施された緑(G)の画像データのヒストグラムは、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなっている。このような性質は、赤(R),青(B)の画像データについても共通しており、CTの画像データに対して、図7〜図9で説明した2次元差分符号化が施されると、データのヒストグラムは、一般に、この図11のパート(A)に示すような、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなる。
【0143】
図11のパート(A)に示すデータに対してオフセットが施されると、データのヒストグラムは、図11のパート(B)に示すような、オフセット値のところに鋭いピークを持つヒストグラムとなる。本実施形態ではオフセット値として「8」が用いられており、オフセットの結果、値が「16」以上となるデータの頻度はほとんど「0」となっている。このように変形させたヒストグラムのピークが鋭いほど、この後の処理で高い圧縮率が期待される。
【0144】
このように2次元差分符号化およびオフセットによってヒストグラムが変形された緑(G)の画像データは、図3のプレーン分割部530によって下位サブプレーンD1Lと上位サブプレーンD1Hとに分割される。
【0145】
図12は、プレーン分割部530によるデータ分割の効果を説明する図である。
【0146】
この図12には、図11のパート(B)に示すヒストグラムがデータ値「15」とデータ値「16」との間で切り離されたヒストグラムが示されており、図3のプレーン分割部530によるデータ分割は、まさにこのようなヒストグラムの分割に相当する効果を生じる。すなわち、本実施形態では、差分符号化およびオフセットが施された後の緑(G)の画像データを構成している8ビットの各数値が、上位4ビットと下位4ビットとに分割されることで、下位4ビットが表す数値の連続からなる下位サブプレーンD1Lと上位4ビットが表す数値の連続からなる上位サブプレーンD1Hとが得られる。そして、下位サブプレーンD1Lを構成する4ビットの数値が値「0」から値「15」までの各数値をそのまま表現していて、上位サブプレーンD1Hを構成する4ビットの数値の場合は、値「16」から値「256」までの、16間隔16種類の数値を表現していると解釈すると、下位サブプレーンD1Lのヒストグラムは、この図12の左側に示されたヒストグラムとほぼ同じものとなり、上位サブプレーンD1Hのヒストグラムは、図12の右側に示されたヒストグラムとほぼ同じものとなる。ただし、上位サブプレーンD1Hのヒストグラムについては、図12の右側に示されたヒストグラムのデータ値「16」のところに、図12の左側に示されたヒストグラムの面積に等しい高さのピークが付加されたものとなる。この図12の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンD1H中の数値は、ゼロに近い値(16進数表示での「00」や「01」や「FF」)の連続が多いことが予想される。このため、上位サブプレーンD1Hに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、差分符号化およびオフセットが施された緑(G)の画像データの上位サブプレーンD1Hは、図3に示すHプレーン圧縮部550の構成要素の1つであるランレングス符号化部551に入力される。
【0147】
続いて、上位サブプレーンD1Hと下位サブプレーンD1Lとに分割された後の緑(G)の画像データの処理について説明する。まず、ランレングス符号化部551に入力された、緑(G)の画像データの上位サブプレーンD1Hに対する処理について説明する。
【0148】
図12の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンD1H中の数値は、ゼロに近い値(16進数表示での「00」や「01」や「FF」)の連続が多いことが予想される。このため、上位サブプレーンD1Hに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、上位サブプレーンD1Hは、図3に示すHプレーン圧縮部550の構成要素の1つであるランレングス符号化部551に入力される。
【0149】
本実施形態では、処理の都合上、ランレングス符号化部551で、緑(G)の画像データの上位サブプレーンD1Hを構成する連続した4ビットの数値が2つで1つの8ビットの数値として取り扱われ、これらの数値の連続を16進数表示で表した際の、値「00」から値「FF」までの数値の連続に対して以下の符号化処理が適用される。
【0150】
この符号化処理では、複数の8ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部551では、受け取ったデータの中から、符号化処理を行なう数値(ここでは、この数値を「圧縮対象数値」と称する)と、その圧縮対象数値の連続数が検出される。
【0151】
本実施形態では、一例として、「01」、「FF」および「00」の3つの数値を圧縮対象数値としている。
【0152】
図13は、図3に示すランレングス符号化部551での符号化の説明図である。
【0153】
図13の上のラインは、上位サブプレーンD1Hを構成するデータ、下のラインは、ランレングス符号化部551での符号化処理を行なった後のデータである。
【0154】
ここでは、図13の上のラインに示すように、プレーン分割部530からは、
「06 02 02 02 01 01 01 01 04 05 00 … 」
なるデータが入力されたものとする。このとき、図3のランレングス符号化部551では、先頭の「06」は圧縮対象数値ではなく、次に続く「02 02 02」も圧縮対象数値ではなく、次に、圧縮対象数値である「01」が4つ連続していること、次に、圧縮対象数値ではない「04」、「05」を間に置いて、圧縮対象数値である「00」が32767個連続していることが検出される。
【0155】
図14は、ランレングス符号化部551における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【0156】
この図14中、Zは同一の圧縮対象数値の連続数、例えば図13の上のラインの「01」についてはZ=4、「00」についてはZ=32767である。
【0157】
また、図14中、「YY」は、16進2桁で表わされた圧縮対象数値自体を表わしている。その「YY」に続く、「0」又は「1」は1ビットで表現された「0」又は「1」であり、さらにそれに続く「XXX XXXX…」は、1つの「X」が1ビットを表わしており、この「XXX XXXX…」でZの値を表現している。
【0158】
すなわち、図14は、圧縮対象数値「YY」がZ<128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く1バイトで、先頭ビットが「0」、それに続く7ビットでZの値を表現すること、また、圧縮対象数値「YY」がZ≧128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く2バイト(16ビット)のうちの先頭の1ビットを「1」とすることで2バイトに跨って表現されていることを表現し、それに続く15ビットで、Zの値を表現することを意味している。
【0159】
この図14に示す規則に従って図13に示す符号化の例について説明する。
【0160】
図3のプレーン分割部530から入力されてきた、緑(G)の画像データの上位サブプレーンD1Hのデータ(上のライン)を構成する先頭の数値「06」は圧縮対象数値ではないため、その「06」のまま出力される。また、それに続く「02 02 02」も、「02」は圧縮対象数値ではなく、これら3つの「02」もそのまま出力される。次に、圧縮対象数値である「01」が4個連続するため、「01 04」に符号化される。次の「04」及び「05」は圧縮対象数値ではないため、そのまま「04 05」が出力される。
【0161】
次に「00」が32767個連続しているため、「00」を置き、次の1バイトのうちの先頭の1ビットを「1」とし、次いで15ビットで32767−128を表現することにより、「00 FF 7F」の3バイトで「00」が32767個連続していることを表現する。すなわち、連続数128は、最初のビット「1」を除き、「00 00」と表現される。
【0162】
図15は、図3のランレングス符号化部551における、連続数に応じた符号化処理の例を示す図である。
・「00」が127個連続するときは、2バイトを用いて「00 7F」に符号化され、
・「00」が32767個連続するときは、3バイトを用いて「00 FF 7F」に符号化され、
・「00」が32895個連続するときは、3バイトを用いて「00 FF FF」に符号化され、
・ 「00」が128個連続するときは、3バイトを用いて「00 80 00」に符号化され、
・ 「01」が129個連続するときは、3バイトを用いて「01 80 01」に符号化され、
・「FF」が4096個連続するときは、3バイトを用いて「FF 8F 80」に符号化される。
【0163】
図3に示すランレングス符号化部551では、上記のような符号化処理が行なわれる。
【0164】
本実施形態によるランレングス符号化部551によれば、最大圧縮率は、3/32895=1/10,965にまで向上する。また、このランレングス符号化部551が符号化処理の対象としている上位サブプレーンD1Hのデータは、図12のヒストグラムで説明したように、4ビットの数値のほとんどが、データ値「16」を表現した数値「0」であり、その4ビットの数値から作られる8ビットの数値も、多くが、16進数表示で数値「00」となる。このためランレングス符号化部551における符号化処理によって大幅なデータ圧縮が期待される。
【0165】
図3のランレングス符号化部551で上記の符号化処理の行なわれた後の緑(G)の画像データは、次に図3のHプレーン圧縮部550を構成する間引きデータスキャニング部552と最適ハフマンテーブル生成部553_1に入力される。
【0166】
間引きデータスキャニング部552では、先ず、ランレングス符号化部551から出力されたデータの間引きが行われ、間引かれたデータがスキャニングされてデータ値の出現頻度が求められる。最適ハフマンテーブル生成部553_1では、間引きデータスキャニング部552で求められたデータ値の出現頻度に基づき、入力された緑(G)の画像データに最適化されたハフマンテーブルが生成される。そして、ハフマン符号化部553において、その最適化されたハフマンテーブルに基づいてハフマン符号化が行われる。ここでは、最適化されたハフマンテーブルの生成についての具体的な詳細説明は後に回し、まず、ハフマンテーブルの概念について説明する。
【0167】
図16は、ハフマンテーブルにおける符号と数値の対応関係を表す概念図である。
【0168】
ここでは、「A1」の出現頻度が最も強く、以下順に、「A2」、「A3」、「A4」、…の順であるとする。尚、これら「A1」、「A2」等は数値を直接表わしている訳ではなく、数値を表わす記号である。すなわち、「A1」は例えば数値「00」、「A2」は数値「FF」等である。また、ここでは、簡単のため、図3のランレングス符号化部551から送られてくるデータは全てのデータ値が「A1」〜「A16」の16個の数値のうちのいずれかの数値であるものとする。そして、このような16個の数値それぞれに対して、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成されている。即ち、出現頻度の最も高い「A1」には、2ビットで表わされた符号「00」が割り当てられ、次の「A2」には、やはり2ビットで表わされた符号「01」が割り当てられ、次の「A3」、さらに次の「A4」には、3ビットで表わされる、それぞれ、符号「100」、符号「101」が割り当てられ、次の「A5」〜「A8」には、5ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられている。
【0169】
図17は、ハフマンテーブルの概念を表す図である。
【0170】
このハフマンテーブルは、図16と一致させてあり、出現頻度が高い数値ほど短いビット数で表わされた符号に置き換えられるように並べられた、符号化前(置き換え前)の数値と符号化後(置き換え後)の数値との対応テーブルである。
【0171】
図3のHプレーン圧縮部550に備えられたハフマン符号化部553では、このようなハフマンテーブルに従って、緑(G)の画像データの上位サブプレーンD1Hを構成するデータの数値が符号化され、その結果、多くの数値が短いビット数の符号に置き換えられることとなってデータ圧縮が実現される。
【0172】
このように、図3のHプレーン圧縮部550に入力された、緑(G)の画像データの上位サブプレーンD1Hについては、ランレングス符号化部551による符号化とハフマン符号化部553による符号化が施されることにより高い圧縮率で圧縮されて緑(G)の画像データの上位圧縮データD2Hとなる。
【0173】
ここで、ハフマンテーブルを個々の画像データに対して最適化する手順と最適化の効果について説明する。
【0174】
ランレングス符号化部551による符号化処理が施された後の、緑(G)の画像データの上位サブプレーンD1Hのデータは、図3の最適ハフマンテーブル生成部553_1と間引きデータスキャニング部552とに入力される。
【0175】
間引きデータスキャニング部552では、入力された、ランレングス符号化後の緑(G)の上位サブプレーンD1Hのデータに対し、データを間引く処理が行われる。ここで、データの間引きは、入力された(間引き前の)データから、所定数の画素のブロックごとに1個の画素データを抽出することによって行われ、間引き前のデータの分布の特徴を十分に反映したものとなっている。そして、この間引きデータスキャニング部552において、その間引かれたデータについて、データ中に出現する全ての数値の出現頻度(ヒストグラム)が求められる。
【0176】
間引きデータスキャニング部552によって求められたデータヒストグラム(数値の出現頻度)は最適ハフマンテーブル生成部553_1に渡され、最適ハフマンテーブル生成部553_1では、そのデータヒストグラムにおけるデータ分布の特徴に適した符号列がハフマンテーブルに用意される。
【0177】
図18および図19は、ハフマンテーブルに用意される符号列の例を示す図である。
【0178】
図18は、データがピークに特に集中した場合の例で、図19は、ピークの裾野がやや広い場合の例である。
【0179】
ここでは各符号列中の「,」よりも右側の一桁の数値がビット長を意味しており、その「,」の左から右側に向かってそのビット長分の2進符号が実際の符号を表わしている。例えば、図18の符号列の場合、左上の第1番目の符号は「11」の2ビット、次の2番目の符号は「011」の3ビット、その次の3番目の符号は「010」の3ビット、さらにその次の4番目の符号は「1010」の4ビットである。
【0180】
図18の符号列の場合には、3番目までは3ビット以下の非常に短い符号であるが、12番目以降は9ビット以上の長い符号となっている。これに対し、図19の符号列の場合には、3ビット以下の非常に短い符号は1番目のみであるが、13番目までは6ビット以下のそれなりに短い符号となっている。
【0181】
このような符号列が、最適ハフマンテーブル生成部553_1に入力された、ランレングス符号化後の緑(G)の上位サブプレーンD1Hのデータについて用意され、次に、その符号列に対して数値が割り当てられてハフマンテーブルが完成する。この数値の割当の概念は図16を参照して説明した概念そのものであるので重複説明は省略する。
【0182】
このような最適ハフマンテーブル生成部553_1によるハフマンテーブルの作成は、
元のデータよりもデータ量の小さい間引きデータに基づくので、短時間で実行される。
【0183】
このように最適ハフマンテーブル生成部553_1で作成されたハフマンテーブルが、ハフマン符号化部553に渡されて、上述したようにハフマン符号化が行われる。
【0184】
次に、図3のLプレーン圧縮部540に入力された、緑(G)の画像データの下位サブプレーンD1Lに対する処理について説明する。
【0185】
図3のLプレーン圧縮部540においても、Hプレーン圧縮部550のランレングス符号化部551と同様に、入力されたデータは、4ビットの数値の2つ分が1つの8ビットの数値とみなされて処理される。また、このLプレーン圧縮部540にも、ハフマン符号化処理を行うための、最適ハフマンテーブル生成部541_1,間引きデータスキャニング部541_2,ハフマン符号化部541が備えられており、Lプレーン圧縮部540に入力された、緑(G)の画像データの下位サブプレーンD1Lは、ユーザからからハフマン符号化を経る通常モードが指示された場合には、ランレングス符号化を経ずにそのまま間引きデータスキャニング部541_2および、最適ハフマンテーブル生成部541_1に入力されて、Hプレーン圧縮部550と同様に、、最適化されたハフマンテーブルに基づきハフマン符号化が行われる。そして、ハフマン符号化後のデータが、緑(G)の画像データの下位圧縮データD2LとしてLプレーン圧縮部540から出力される。一方、ユーザからハフマン符号化を省略して緑(G)の画像データの下位サブプレーンD1Lをそのまま出力する高速モードが指示された場合には、ハフマン符号化が行われることなく、緑(G)の画像データの下位サブプレーンD1Lが緑(G)の画像データの下位圧縮データD2LとしてLプレーン圧縮部540から出力される。これら高速モードと通常モードとの切り換えは、ユーザの指示に基づきモード切換部542によって行われる。
【0186】
以上説明したような各種の処理が図3に示す2次元差分符号化部510、オフセット部520、プレーン分割部530、Lプレーン圧縮部540、およびHプレーン圧縮部550で実行されることにより、緑(G)の画像データのTRUE画素データは可逆圧縮によって圧縮され、特にCT画像のデータについては大幅な圧縮が実現される。
【0187】
一方、上述した間引き処理部505で得られた、緑(G)の画像データのFAKE画素データについては、図3に示すFAKE画素圧縮部560に入力されて非可逆圧縮が施される。
【0188】
このFAKE画素圧縮部560に入力された、緑(G)の画像データのFAKE画素データは、ビット短縮部561に渡され、ビット短縮部561では、FAKE画素データを、エッジ部分であるか否かに応じて4ビットあるいは1ビットに符号化する。エッジ部分であるか否かは、図3のエッジ検出部525によって、オフセット後の差分データに基づいて判定され、差分データが、図12に示すヒストグラムの右側の部分に属していて上位データが「0」以外の値を有しているとエッジ部分であると判定される。
【0189】
ここで、図6に示す緑(G)の画像データのTRUE画素の画素値をTn_kと表現した場合に、そのTRUE画素に隣接する緑(G)の画像データのFAKE画素の画素値はFn_k+1,Fn+1_k,Fn+1_k+1というように表現され、そのTRUE画素に対してそれらのFAKE画素を挟んだ位置のTRUE画素の画素値は、Tn_k+2,Tn+2_k,Tn+2_k+2と表現される。ビット短縮部561では、このような4つのTRUE画素の画素値Tn_k,Tn_k+2,Tn+2_k,Tn+2_k+2から2次元差分符号化処理で得られる差分値が、エッジ部分であることを示す大きな差分値である場合に、上述した3つのFAKE画素の画素値Fn_k+1,Fn+1_k,Fn+1_k+1が、「1」から始まる4ビットの符号に符号化される。
【0190】
図20は、4ビット符号への符号化方式を表す図である。
【0191】
この符号化方式では、緑(G)の画像データのFAKE画素の画素値は、その画素値を表した8ビットのビット値の下位5桁が切り捨てられ、残った上位3桁の先頭に「1」が付加されることで「1000」〜「1111」の符号に符号化される。従って、この図の表に示すように、符号化前の「0」〜「255」の数値のうち「0」〜「31」の数値は「1000」に符号化され、「22」〜「63」の数値は「1001」に符号化される。以下同様に、「64」〜「95」、「96」〜「127」、「128」〜「159」、「160」〜「191」、「192」〜「223」、「224」〜「255」の数値は、それぞれ、「1010」、「1011」、「1100」、「1101」、「1110」、「1111」に符号化される。このような符号化方式は、ビット値の桁の切り捨てというごく単純な処理で実現される。このような4ビット符号への符号化によってエッジ部分の情報がある程度維持されて画質低下が回避される。
【0192】
ビット短縮部561では、上述した4つのTRUE画素の画素値Tn_k,Tn_k+2,Tn+2_k,Tn+2_k+2から2次元差分符号化処理で得られる差分値が、エッジ部分でないことを示す小さな差分値である場合には、上述した3つのFAKE画素の画素値Fn_k+1,Fn+1_k,Fn+1_k+1が1ビットの符号「0」に符号化される。CT画像の場合には、隣接画素間の相関が高いので、図11および図12で説明したように、大きな差分値が生じることは少なく、多くのFAKE画素が1ビット符号に符号化されて、大幅な圧縮が可能であると考えられる。
【0193】
図3のビット短縮部561におけるこのような符号化によって、緑(G)の画像データのFAKE画素の8ビットの画素値は1ビットまたは4ビットに短縮化され、符号化後のデータは1ビットの符号と4ビットの符号が混在したものとなるが、その後の処理のために8ビット単位に区切られ(バイトパッキング)、図3のランレングス符号化部562およびハフマン符号化部563によって、上記Hプレーン圧縮部550における処理と全く同様の処理が実行される。ここで、ハフマン符号化部563は、上述した間引きデータスキャニング部552とハフマン符号化部553との双方の役割を兼ねている。
【0194】
CT画像の場合は、ビット短縮部561の符号化によって多くの画素値が「0」に符号化されているので、その後、ランレングス符号化部562で更に大幅に圧縮されると期待される。
【0195】
以上が緑(G)の画像データの処理についての説明である。以下では、赤(R),青(B)の各色の画像データの処理について説明する。
【0196】
カラー画像においては、赤(R),緑(G),青(B)の各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのヒストグラムは、赤(R),緑(G),青(B)の各色について、似たようなヒストグラムとなることが多い。そこで、このように各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのうちの赤(R),青(B)の各色の画像データについては、緑(G)の画像データを基準として、この緑(G)の画像データからのさらなる差分のデータとして表すことで、データ値が原点付近に更に集中した差分のデータに変換されることが期待される。このようにデータ値が原点付近に集中したデータは、ランレングス符号化処理やハフマン符号化処理によって高い圧縮率で圧縮される。そこで、図3の画像圧縮装置500では、赤(R)の画像データと青(B)の画像データについては、緑(G)の画像データからの差分データに変換した上で、圧縮処理が行われる。以下では、赤(R)の画像データと青(B)の画像データの処理について説明するが、上述したように、赤(R)の画像データの処理と青(B)の各色の画像データの処理とは同様の処理であり、赤(R)の画像データの処理について詳しく説明する。
【0197】
各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのうちの赤(R)の画像データは、差分色版データ生成部501G−Rに入力され、この差分色版データ生成部501G−Rにおいて、緑(G)の画像データとの間で相対的な差分が計算され、G−Rの画像データが生成される。以下では、この差分色版データ生成処理処理について説明する。
【0198】
各色ごとの画像データに分解された後の、赤(R),緑(G),青(B)の画像データのうちの赤(R)の画像データは、図6に示した緑(G)の画像データのデータ構造と同様に、縦方向および横方向に2次元的に数値が配置されたデータとなっている。このような構成の赤(R)の画像データが、図3に示す差分色版データ生成部501G−Rに入力される。一方、緑(G)の画像データは、前述したように図3の間引き処理部505に入力されるが、それとともに図3の差分色版データ生成部501G−Rにも入力される。そして、差分色版データ生成部501G−Rにおいて、赤(R)の画像データを構成する各数値と、その各数値の位置と同位置にある、緑(G)の画像データを構成する各数値との間の差分が計算される。具体的には、赤(R)の画像データおよび緑(G)の画像データにおいて、縦方向にn番目、横方向にj番目の位置にある2次元差分値をそれぞれ2次元差分値Rn,j,2次元差分値Gn,jとしたときに、これらの2次元差分値から、相対的な差分値Sn,j
n,j=Rn,j−Gn,j
が計算されることにより、このように計算された相対的な差分値Sn,jが、縦方向にn番目、横方向にj番目の位置にある数値の連続からなり、緑(G)の画像データと赤(R)の画像データとの間の差分画像を表したG−Rの画像データが生成される。
【0199】
図3に示す差分色版データ生成部501G−Rでは、このような差分色版データ生成処理が行われ、この結果、赤(R)の画像データは、緑(G)の画像データに対する相対的な差分データとして表されることとなる。このような差分色版データ生成処理が施されてなるG−Rの画像データは、図3の間引き処理部505G−Rに入力され、緑(G)の画像データに対して施された処理と同様の間引き処理が施されて、TRUE画素データとFAKE画素データとに分けられる。
【0200】
G−Rの画像データのTRUE画素データは2次元差分符号化部510G−Rに入力され、2次元差分符号化部510G−Rにおいて、緑(G)の画像データに対して施された処理と同様の2次元差分符号化処理が施されて、オフセット部520G−Rに入力される。オフセット部520G−Rで、そのデータの各数値について所定のオフセット値が加算されて、図11のパート(B)に示すように、データ値が原点付近に集中するような画像データとなる。
【0201】
ここで、以上説明したような差分色版データ生成処理の効果を説明するため、赤(R)の画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムと、差分色版データ生成処理が施されてなるG−Rの画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムとを比較する。
【0202】
図21は、赤(R)の画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムを表す図、図22は、差分色版データ生成処理が施されてなるG−Rの画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムを表す図である。
【0203】
図21のヒストグラムと図22のヒストグラムとを比較すると、図22のヒストグラムの方が、図21のヒストグラムに比べて、出現頻度の分布幅が狭く、さらに出現頻度のピークも高いことがわかる。従って、図22のヒストグラムの方が、図21のヒストグラムよりも、出現頻度が原点付近に集中する度合が高いヒストグラムであるといえる。このため、図22のヒストグラムで記述されるデータの方が、図21のヒストグラムで記述されるデータに比べ、ランレングス符号化処理やハフマン符号化処理によって圧縮される際の圧縮率が極めて高くなることが期待できる。
【0204】
図3のオフセット部520G−Rにおいて、オフセットが施されたG−Rの画像データは、プレーン分割部530G−Rで下位ビットの数値の連続からなる、G−Rの画像データの下位サブプレーンD1L_G−Rと、上位ビットの数値の連続からなる、G−Rの画像データの上位サブプレーンD1H_G−Rとに分割される。G−Rの画像データの下位サブプレーンD1L_G−Rは、Lプレーン圧縮部540G−Rに入力されて、このLプレーン圧縮部540G−Rにおいて、緑(G)の画像データの下位サブプレーンD1Lに対して施された処理と同様の可逆圧縮処理が施されて、G−Rの下位圧縮データD2L_G−RとしてLプレーン圧縮部540G−Rから出力される。一方、G−Rの画像データの上位サブプレーンD1H_G−Rは、Hプレーン圧縮部550G−Rに入力されて、このHプレーン圧縮部550G−Rにおいて、緑(G)の画像データの上位サブプレーンD1Hに対して施された処理と同様の可逆圧縮処理が施されて、G−Rの上位圧縮データD2H_G−RとしてHプレーン圧縮部550G−Rから出力される。
【0205】
一方、上記の間引き処理部505G−Rで得られた、G−Rの画像データのFAKE画素データは、FAKE画素圧縮部560G−Rに入力されて、FAKE画素圧縮部560G−Rにおいて、緑(G)の画像データに対して施された処理と同様の非可逆圧縮処理が施される。尚、FAKE画素データを構成する数値が、ビット短縮部561において4ビットあるいは1ビットの2種類の符号のいずれに置換されるかを決定するための、G−Rの画像データに対して使用されるエッジ検出部525G−Rにおける判定基準は、前述の、緑(G)の画像データに対して使用されるエッジ検出部525における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている。この結果、FAKE画素圧縮部560G−Rからは、FAKE画素データが非可逆圧縮でより圧縮された非可逆圧縮データD3G−Rが出力される。
【0206】
青(B)の画像データの処理については、上述したように、赤(R)の画像データの処理と同様の処理が行われて、G−Bの下位圧縮データD2L_G−B、G−Bの上位圧縮データD2H_G−B、非可逆圧縮データD3G−Bとして、それぞれLプレーン圧縮部540G−B、Hプレーン圧縮部550G−B、FAKE画素圧縮部560G−Rから出力される。
【0207】
このように、判定部が、緑(G)の画像データにより表される色版画像と、G−Rの画像データにより表される差分画像およびG−Bの画像データにより表される差分画像とについて、独立に画像中のエッジ部分を判定するものであると、画質の維持と圧縮率の向上との適度なバランスをとることができる。
【0208】
なお、圧縮された、赤(R)の画像データおよび青(B)の画像データは、復号化される際には、一旦G−Rの画像データと緑(G)の画像データ、および、G−Bの画像データと緑(G)の画像データにそれぞれ復号化され、さらに復号化されたG−Rの画像データおよびG−Bの画像データが、図9のパート(B)で説明した復号化の手順に従って、元の赤(R)の画像データおよび元の青(B)の画像データに復号化される。
【0209】
以上説明してきたように、画像圧縮装置500は、種類の異なる色についての、各色ごとの画像データに分解された後の各画像データでは相関が強いことを利用して画像データの圧縮処理を実行し、特にCT画像のデータについては大幅な圧縮が実現される。
【0210】
以下、本発明の別の実施形態を説明する。
【0211】
尚、上述した実施形態では、本発明にいう判定部の一例に相当するエッジ検出部525,525G−R,525G−Bのうちの、G−Rの画像データに対して使用されるエッジ検出部525G−RおよびG−Bの画像データに対して使用されるエッジ検出部525G−Bにおける判定基準が、緑(G)の画像データに対して使用されるエッジ検出部525における判定基準に比して、大きなエッジ変化のみをエッジ部分に属すると判定する判定基準とされている例を挙げて説明した。
【0212】
これに対して、以下説明する別の実施形態では、本発明にいう判定部の一例に相当するエッジ検出部525,525G−R,525G−Bそれぞれの判定基準は同一の判定基準とされている。
【0213】
そして、以下説明する別の実施形態では、緑(G)の画像データに対して使用される間引き処理部505における間引き処理は、上述した実施形態と同一の、副走査方向に1ラインおきの各ライン(奇数番目のライン)について、主走査方向に1画素おきの各画素(奇数番目の画素)がTRUE画素として間引き出される間引き処理であるが、G−Rの画像データに対して使用される間引き処理部505G−RおよびG−Bの画像データに対して使用される間引き処理部505G−Bにおける間引き処理が、上述した実施形態とは異なる間引き処理とされている。
【0214】
以下、上述した実施形態との相違点である間引き処理部505G−R,505G−Bについてのみ説明する。尚、赤(R),青(B)の各色の画像データの処理は同様の処理であるため、ここでは、赤(R)の画像データの処理を例に挙げて説明する。
【0215】
図23は、差分色版データ生成処理が施されてなるG−Rの画像データのデータ構造および間引き処理の概念を示す図である。
【0216】
図23に示すように、差分色版データ生成処理が施されてなるG−Rの画像データは、図3に示す画像圧縮装置500に入力される入力画像ファイルD0中の緑(G)の画像データと同様に、所定の主走査方向(図の横方向)とその主走査方向とは直角な副走査方向(図の縦方向)とに画素が並んでおり、主走査方向に並ぶ画素の列はラインと称される。ここでは6ライン分の画素が示されている。
【0217】
各画素の位置は、画素値を表す符号T,Fに付された添え字で表現される。例えば3番目のラインについて、主走査方向に並ぶ各画素の画素値には、その並び順に、
3_1,3_2,3_3,3_4,…
という添え字が付されている。
【0218】
図3に示す画像圧縮装置500を構成する間引き処理部505G−Rには、このように並んだ画素値からなるG−Rの画像データが入力され、間引き処理部505G−Rは、各画素を、TRUE画素とFAKE画素とに分類する。この図23に示す各画素のうちTRUE画素は画素値が符号Tで表され、FAKE画素は画素値が符号Fで表されている。TRUE画素は、画素の並びの中から周期的に間引かれた画素であり、ここでは、緑(G)の画像データに対して使用される間引き処理部505における間引き処理とは異なる、副走査方向に3ラインおきの各ラインについて、主走査方向に3画素おきの各画素がTRUE画素として間引き出されている。この結果、この図23に示す例ではTRUE画素は、元の解像度の4分の1の解像度に低下した画像を構成する画素に相当しており、元の画像データの25分の1に相当する画素が間引き出されたこととなる。このように間引き出されたTRUE画素は、そのようなTRUE画素の連続からなるTRUE画素データを構成し、そのTRUE画素データの構造は、元の画像データと同様に、主走査方向と副走査方向に画素が並んだ構造となっている。TRUE画素の間引きによって残ったFAKE画素についても、そのFAKE画素の連続からなるFAKE画素データを構成する。TRUE画素データが可逆圧縮処理の対象となるのに対し、このFAKE画素データは非可逆圧縮処理の対象となる。
【0219】
緑(G)の画像データに対してG−Rの画像データやG−Bの画像データは画素間での変化が少ないため、可逆圧縮部分がより少なくても画質の低下は小さいと考えられる。
【0220】
このように、緑(G)の画像データに対する間引きの周期が、G−Rの画像データおよびG−Bの画像データに対する間引きの周期よりも短いと、画質の維持と圧縮率の向上とのより適切なバランスをとることができる。
【0221】
以上が本実施形態についての説明である。
【0222】
本実施形態では、本発明の実施形態としてのデータ圧縮がカラーのCT画像のデータのみに施される例が示されているが、本発明のデータ圧縮装置は、カラーのCT画像とカラーのLW画像との双方のデータに対してデータ圧縮を施すものであってもよく、さらには、画像以外のカラーを有する情報を表したデータに対してデータ圧縮を施すものであってもよい。
【0223】
また、本実施形態では、赤(R),緑(G),青(B)の各色の画像データを圧縮するために、人間の目にとって重要な色である緑(G)の画像データを基準として、赤(R),青(B)の画像データの圧縮を行ったが、本発明は、いずれの色の画像データを基準として画像データの圧縮を行ってもよい。また、これら、色要素として、赤(R),緑(G),青(B)の各色以外にオレンジなど他の色が加わった場合でも、本発明は、適用可能である。さらに、本発明は、色要素が、赤(R),緑(G),青(B)の組み合わせであることに限定されず、例えば、色要素が、イエロー(Y)色、マゼンタ(M)色、シアン(C)色、およびブラック(K)色の組み合わせである場合でも適用可能である。
【0224】
また、本実施形態では、本発明にいう可逆圧縮部の一例として、2次元差分符号化部、オフセット部、プレーン分割部、Lプレーン圧縮部、およびHプレーン圧縮部を経る可逆圧縮処理を示したが、本発明にいう可逆圧縮部は、可逆圧縮処理を施すものであればよく、上記説明の方法に限定されない。
【0225】
また、本実施形態では、本発明にいう差分生成部の一例として、画像の縦横双方の差分を複合した2次元的な差分演算を用いて差分を求める例が示されているが、本発明にいう差分生成部は、主走査方向や副走査方向の1次元の差分を求めるものであってもよい。
【図面の簡単な説明】
【0226】
【図1】データ圧縮技術が適用されたプリントシステムの一例を示す図である。
【図2】プリントシステムにおけるデータ処理の流れを示す図である。
【図3】本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置を示すブロック構成図である。
【図4】図1に示すホストコントローラのハードウェア構成図である。
【図5】本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮プログラムの模式構成図である。
【図6】図3の画像圧縮装置に入力される入力画像ファイル中の緑(G)の画像データのデータ構造および間引き処理の概念を示す図である。
【図7】図3の2次元差分符号化部に入力される緑(G)の画像データのTRUE画素データの構造を示す図である。
【図8】緑(G)のTRUE画素データに対して2次元差分符号化処理が施された後のデータの構造を示す図である。
【図9】図3の画像圧縮装置を構成する2次元差分符号化部における2次元差分符号化処理を例示して示す図である。
【図10】CTの画像データの例を示す図である。
【図11】緑(G)の画像データに対する2次元差分符号化およびオフセットの効果を示す図である。
【図12】プレーン分割部によるデータ分割の効果を説明する図である。
【図13】図3に示すランレングス符号化部での符号化の説明図である。
【図14】ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【図15】図3のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。
【図16】ハフマンテーブルにおける符号と数値の対応関係を表す概念図である。
【図17】ハフマンテーブルの概念を表す図である。
【図18】ハフマンテーブルに用意される符号列の例を示す図である。
【図19】ハフマンテーブルに用意される符号列の例を示す図である。
【図20】4ビット符号への符号化方式を表す図である。
【図21】赤(R)の画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してそのままオフセットを行った場合のヒストグラムを表す図である。
【図22】差分色版データ生成処理が施されてなるG−Rの画像データのTRUE画素データに2次元差分符号化処理が施されてなるデータに対してオフセットを行った場合のヒストグラムを表す図である。
【図23】差分色版データ生成処理が施されてなるG−Rの画像データのデータ構造および間引き処理の概念を示す図である。
【符号の説明】
【0227】
11 画像のデータ
12A,12B,13A,13B ビットマップデータ
14,15 圧縮データ
100 ホストコントローラ
104 ハードディスク
107 マウス、
108 キーボード
109 ディスプレイ
110 バス
111 CPU
112 RAM
113 通信インターフェース
114 ハードディスクコントローラ
115 FDドライブ
116 CDROMドライブ
117 マウスコントローラ
118 キーボードコントローラ
119 ディスプレイコントローラ
120 通信用ボード
130 フレキシブルディスク(FD)、
140 CDROM
150 汎用インターフェースケーブル
200 インターフェース機器
250 専用インターフェースケーブル
300 プリンタ
500 画像圧縮装置
505 間引き処理部
510 2次元差分符号化部
520 オフセット部
525 エッジ検出部
530 プレーン分割部
540 Lプレーン圧縮部
541 ハフマン符号化部
542 モード切換部
550 Hプレーン圧縮部
551 ランレングス符号化部
552,541_2 間引きデータスキャニング部
553,541 ハフマン符号化部
553_1,541_1 最適ハフマンテーブル生成部
560 FAKE画素圧縮部
561 ビット短縮部
562 ランレングス符号化部
563 ハフマン符号化部
501G−R 差分色版データ生成部
505G−R 間引き処理部
510G−R 2次元差分符号化部
520G−R オフセット部
525G−R エッジ検出部
530G−R プレーン分割部
540G−R Lプレーン圧縮部
541G−R ハフマン符号化部
542G−R モード切換部
550G−R Hプレーン圧縮部
551G−R ランレングス符号化部
552G−R,541G−R_2 間引きデータスキャニング部
553G−R,541G−R ハフマン符号化部
553G−R_1,541G−R_1 最適ハフマンテーブル生成部
560G−R FAKE画素圧縮部
561G−R ビット短縮部
562G−R ランレングス符号化部
563G−R ハフマン符号化部
501G−B 差分色版データ生成部
505G−B 間引き処理部
510G−B 2次元差分符号化部
520G−B オフセット部
525G−B エッジ検出部
530G−B プレーン分割部
540G−B Lプレーン圧縮部
541G−B ハフマン符号化部
542G−B モード切換部
550G−B Hプレーン圧縮部
551G−B ランレングス符号化部
552G−B,541G−B_2 間引きデータスキャニング部
553G−B,541G−B ハフマン符号化部
553G−B_1,541G−B_1 最適ハフマンテーブル生成部
560G−B FAKE画素圧縮部
561G−B ビット短縮部
562G−B ランレングス符号化部
563G−B ハフマン符号化部
600 画像圧縮プログラム
605 間引き処理部
610 2次元差分符号化部
620 オフセット部
625 エッジ検出部
630 プレーン分割部
640 Lプレーン圧縮部
650 Hプレーン圧縮部
660 FAKE画素圧縮部
601G−R 差分色版データ生成部
605G−R 間引き処理部
610G−R 2次元差分符号化部
620G−R オフセット部
625G−R エッジ検出部
630G−R プレーン分割部
640G−R Lプレーン圧縮部
650G−R Hプレーン圧縮部
660G−R FAKE画素圧縮部
601G−B 差分色版データ生成部
605G−B 間引き処理部
610G−B 2次元差分符号化部
620G−B オフセット部
625G−B エッジ検出部
630G−B プレーン分割部
640G−B Lプレーン圧縮部
650G−B Hプレーン圧縮部
660G−B FAKE画素圧縮部

【特許請求の範囲】
【請求項1】
複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、該複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を施すデータ圧縮装置において、
前記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、前記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、該差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
前記被圧縮データに含まれる色版データのうち前記所定種類の色要素に対応した色版データ、および前記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第1の被圧縮データと、残りの数値の連続からなる各第2の被圧縮データとを作成する間引き処理部と、
前記間引き処理部で作成された第1の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記間引き処理部で作成された第2の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを備えたことを特徴とするデータ圧縮装置。
【請求項2】
画像中のエッジ部分を判定する判定部を備え、
前記非可逆圧縮部が、前記間引き処理部で作成された第2の被圧縮データを構成する数値について、前記判定部で判定されたエッジ部分でない場合には、エッジ部分でない事を表す符号を出力するものであることを特徴とする請求項1記載のデータ圧縮装置。
【請求項3】
前記非可逆圧縮部が、前記間引き処理部で作成された第2の被圧縮データを構成する数値について、前記判定部で判定されたエッジ部分である場合には、その数値を前記単位ビット数よりも少ない少ビット数で表現した数値を出力するものであることを特徴とする請求項2記載データ圧縮装置。
【請求項4】
前記非可逆圧縮部が、数値を前記少ビット数で表現するに当たり、前記単位ビット数のビット値の下位桁を切り捨てるものであることを特徴とする請求項3記載のデータ圧縮装置。
【請求項5】
前記判定部が、前記所定種類の色要素に対応した色版画像と前記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定するものであることを特徴とする請求項2から4のうちいずれか1項記載のデータ圧縮装置。
【請求項6】
前記判定部が、前記所定種類の色要素に対応した色版画像と前記差分色版データが表した差分画像とのそれぞれについて独立に画像中のエッジ部分を判定し、該色版画像と該差分画像とでは判定基準が異なっているものであることを特徴とする請求項2から5のうちいずれか1項記載のデータ圧縮装置。
【請求項7】
前記間引き処理部で作成された第1の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求める差分生成部を備え、
前記判定部が、前記差分生成部によって求められた差分に基づいて画像中のエッジ部分を判定するものであることを特徴とする請求項2から6のうちいずれか1項記載のデータ圧縮装置。
【請求項8】
前記差分生成部が、第1の被圧縮データを構成する数値について、前記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めるものであることを特徴とする請求項7記載のデータ圧縮装置。
【請求項9】
前記間引き処理部が、前記所定種類の色要素に対応した色版データと前記差分色版データとでは間引きの周期が異なるものであることを特徴とする請求項1から8のうちいずれか1項記載のデータ圧縮装置。
【請求項10】
前記間引き処理部が、前記所定種類の色要素に対応した色版データと前記差分色版データとでは間引きの周期が異なり、該色版データにおける間引きの周期の方が該差分色版データにおける間引きの周期よりも短いものであることを特徴とする請求項1から9のうちいずれか1項記載のデータ圧縮装置。
【請求項11】
前記可逆圧縮部が、
前記間引き処理部で作成された第1の被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
前記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
前記オフセット部によって数値がオフセットされた被圧縮データの各数値を、前記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
前記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたものであることを特徴とする請求項1から10のうちいずれか1項記載のデータ圧縮装置。
【請求項12】
前記差分生成部が、第1の被圧縮データを構成する数値について、前記カラー画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めるものであることを特徴とする請求項11記載のデータ圧縮装置。
【請求項13】
前記上位データ圧縮部が、上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部を備えたものであることを特徴とする請求項11または12記載のデータ圧縮装置。
【請求項14】
前記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
符号と数値を対応づけるテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項11から13のうちいずれか1項記載のデータ圧縮装置。
【請求項15】
前記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
ハフマンテーブルを用いて、前記第1の符号化部で符号化された後のデータにハフマン符号化を施す第2の符号化部を備えたものであることを特徴とする請求項11から14のうちいずれか1項記載のデータ圧縮装置。
【請求項16】
前記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
前記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
前記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短い符号を割り当てる符号割当部と、
前記符号割当部で符号が割り当てられたテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項11から15のうちいずれか1項記載のデータ圧縮装置。
【請求項17】
前記ヒストグラム算出部は、前記第1の符号化部で符号化された後のデータに対して、該データ中に出現する数値の間引きを行い、その間引いた数値によって前記ヒストグラムを求めるものであることを特徴とする請求項16記載のデータ圧縮装置。
【請求項18】
前記可逆圧縮部が、前記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部を備えたものであることを特徴とする請求項11から17のうちいずれか1項記載のデータ圧縮装置。
【請求項19】
前記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることを特徴とする請求項18記載のデータ圧縮装置。
【請求項20】
前記下位データ圧縮部が、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであることを特徴とする請求項18または19記載のデータ圧縮装置。
【請求項21】
前記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることを特徴とする請求項18から20のうちいずれか1項記載のデータ圧縮装置。
【請求項22】
プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に、複数種類の色要素それぞれに対応した複数の色版画像を、所定の単位ビット数で表される数値の連続でそれぞれ表現した複数の色版データにより構成された、該複数の色版画像が重ね合わされてなるカラー画像を表した被圧縮データに対し、データ圧縮処理を実行させるデータ圧縮プログラムにおいて、
前記情報処理装置上に、
前記被圧縮データに含まれる色版データのうち所定種類の色要素に対応した色版データと、前記所定種類の色要素を除いた他の色要素に対応した色版データとの差分を求めることにより、該差分を表わす数値の連続からなり、色版画像同士の差分画像を表した差分色版データを生成する差分色版データ生成部と、
前記被圧縮データに含まれる色版データのうち前記所定種類の色要素に対応した色版データ、および前記差分色版データ生成部によって生成された差分色版データそれぞれを元データとし、各元データを構成する数値の連続から周期的に数値を間引くことにより、その間引きで各元データから取り出された数値の連続からなる各第1の被圧縮データと、残りの数値の連続からなる各第2の被圧縮データとを作成する間引き処理部と、
前記間引き処理部で作成された第1の被圧縮データに可逆圧縮処理を施す可逆圧縮部と、
前記間引き処理部で作成された第2の被圧縮データに非可逆圧縮処理を施す非可逆圧縮部とを構築することを特徴とするデータ圧縮プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2010−28649(P2010−28649A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−189867(P2008−189867)
【出願日】平成20年7月23日(2008.7.23)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】