JP2005260420A - Data compression apparatus and data compression program - Google Patents
Data compression apparatus and data compression program Download PDFInfo
- Publication number
- JP2005260420A JP2005260420A JP2004066910A JP2004066910A JP2005260420A JP 2005260420 A JP2005260420 A JP 2005260420A JP 2004066910 A JP2004066910 A JP 2004066910A JP 2004066910 A JP2004066910 A JP 2004066910A JP 2005260420 A JP2005260420 A JP 2005260420A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data compression
- unit
- compressed
- numerical values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
本発明は、画像データ等のデータを圧縮するデータ圧縮装置、およびコンピュータ等の情報処理装置をデータ圧縮装置として動作させるデータ圧縮プログラムに関する。 The present invention relates to a data compression apparatus that compresses data such as image data, and a data compression program that causes an information processing apparatus such as a computer to operate as a data compression apparatus.
従来より、記憶容量の低減化や通信量の低減化等のために、画像データ等のデータを圧縮する技術が広く採用されている。 2. Description of the Related Art Conventionally, techniques for compressing data such as image data have been widely adopted in order to reduce storage capacity and communication volume.
例えば、特許文献1には、原画像から代表色を選定しCLUT(カラールックアップテーブル)を構成する際に、連続する色番号が近い値の色データを持つように色番号を割り当て、次にCLUTに対応したビットマップを作成して隣接画素間の色番号の差分を求め、差分が大きな値を取る場合、画質劣化を起こさない範囲でビットマップの色番号を変更し、差分を小さな値に偏らせ、差分データに対してランレングス符号化を施すという技術が開示されている。
For example, in
また、特許文献2には、各色に対応してそれぞれ割り当てられたデータが複数集まって構成される画像用データを非可逆圧縮して符号化し、そして、データの1つを透明色に割り当てると共に、その透明色を可逆とし、画像用データを即値(差分符号化の際の最初の値)とその即値に続く複数の差分値(差分符号化の際の前の値)とで構成し、それらの値を非可逆圧縮して符号化等する際、透明色を表す即値と差分値とを可逆とし、さらに、透明色を表す即値を、各一色のデータ値の中間の値としたり、透明色を表す差分値を「0」としたりするという技術が提案されている。
Further,
また、特許文献3には、数を予測された数(s’(j))と実際の数(s(j))との差分によって符号化することが提案されている。 Patent Document 3 proposes that the number is encoded by the difference between the predicted number (s' (j)) and the actual number (s (j)).
さらに、特許文献4には、n列目の画素データ列に対して、副走査方向の同一画素データの分布状況を認識するとともに、主走査方向の同ー画素データの分布状況を認識し、これらの認識結果を基に、副走査方向に連続する同ー画素データを圧縮処理するか、あるいは主走査方向に連続する同一画素データを圧縮処理するかを決定する画像圧縮装置が提案されている。 Further, Patent Document 4 recognizes the distribution status of the same pixel data in the sub-scanning direction and the distribution status of the same pixel data in the main scanning direction with respect to the n-th pixel data column. Based on this recognition result, there has been proposed an image compression device that determines whether to compress the same pixel data continuous in the sub-scanning direction or to compress the same pixel data continuous in the main scanning direction.
ここで、データ圧縮技術を適用した1つのシステムを紹介する。 Here, one system to which the data compression technology is applied is introduced.
図1は、データ圧縮技術が適用されたプリントシステムの一例を示す図、図2は、プリントシステムにおけるデータ処理の流れを示す図である。 FIG. 1 is a diagram illustrating an example of a print system to which a data compression technique is applied, and FIG. 2 is a diagram illustrating a flow of data processing in the print system.
このプリントシステムは、図1に示すように、ホストコントローラ100と、インターフェース機器200と、プリンタ300とで構成されており、ホストコントローラ100とインターフェース機器200との間はSCSI等の汎用インターフェースケーブル150で接続され、さらにインターフェース機器200とプリンタ300との間は専用インターフェースケーブル250で接続されている。
As shown in FIG. 1, the print system includes a
ホストコントローラ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)と同一のデータに復元される。
In the
インタフェース機器200では、データ伸長後のCTデータ(ビットマップデータ12B)とLWデータ(ビットマップデータ13B)とが合成され、さらに網点情報等がタグとして付加されてプリンタ300に送られる。プリンタ300では、インタフェース機器200から受け取ったビットマップデータとそれに付加されたタグ情報とに従って画像がプリント出力される。
In the
ホストコントローラ100とインタフェース機器200とが例えば相互に離れている場合、あるいは、インタフェース機器200が複数台のホストコントローラから画像データを受信するシステムの場合など、ホストコントローラ100とインタフェース機器200を別々の装置として構成する必要がある場合には、図2に示すような、ホストコントローラ100でデータ圧縮を行なってインタフェース機器200にデータ転送しインタフェース機器でデータ伸長するように構成することにより、ホストコントローラ100からインタフェース機器200へのデータ転送時間を短縮することができ、プリントの生産性が向上する。
For example, when the
ここで、一般的には、CTデータについては、非可逆ではあるが圧縮率の高いJPEG等の圧縮方式が採用され、LWデータについてはPackBits等の可逆圧縮方式が採用される。 Here, generally, a compression method such as JPEG which is irreversible but has a high compression rate is adopted for CT data, and a reversible compression method such as PackBits is adopted for LW data.
以下、後述する本発明の実施形態との対比のために、PackBitsによる符号化方式について説明しておく。 Hereinafter, for comparison with an embodiment of the present invention described later, an encoding method using PackBits will be described.
図3は、PackBits符号化方式の説明図である。 FIG. 3 is an explanatory diagram of the PackBits encoding method.
原データは、上段に並ぶ、「01 02 02 02 03 03 03 03 04 05」であるとする。尚、ここでは、全て16進法で表わされるものとする、原データのうちの最初の数値は「01」、次は「02」、さらにその次も「02」であり、「02」は同一の数値が連続しているため、連続していない数値は「01」の1個のみである。 The original data is “01 02 02 02 03 03 03 03 04 05” arranged in the upper row. In this case, it is assumed that all are expressed in hexadecimal notation, the first numerical value of the original data is “01”, the next is “02”, and the next is “02”, and “02” is the same. Since the numerical values of are consecutive, there is only one numerical value “01” that is not continuous.
そこで、ここでは、連続していない数値の数(ここでは1)から1を引いた数値「00」を置く(図3の下段の最初の数値「00」)。それに続いて、その連続していない数値自体(ここでは「01」)を置く(下段の2番目の数値「01」)。すなわち、ここでは、原データの「01」が、PackBits符号化により、「00 01」に置き換わる。 Therefore, here, a numerical value “00” obtained by subtracting 1 from the number of numerical values that are not continuous (here, 1) is set (the first numerical value “00” in the lower part of FIG. 3). Subsequently, the discontinuous numerical value itself (here, “01”) is placed (the second numerical value “01” in the lower row). That is, here, “01” of the original data is replaced with “00 01” by PackBits encoding.
次に、原データの「02」は、3個連続しているので、連続数(ここでは3)から1を引いた数(ここでは2)を負とした数(−2)を16進法で表現した「FE」を置き(下段の3番目の数値「FE」)、その後ろに、その連続している数値自体(ここでは「02」)を置く(下段の4番目の数値「02」)。すなわち、ここでは、原データの「02 02 02」が、PackBits符号化により、「FE 02」に置き換わる。
Next, since “02” of the original data is continuous, the number (−2) obtained by subtracting 1 (here 2) from the consecutive number (here 3)
次に、原データ上で「03」が4個連続しているので、上記と同様にして、連続数4から1を引いた数3を負とした数(−3)を16進法で表現した「FD」と、その連続している数値「03」を置く。すなわち、ここでは、原データの「03 03 03 03」が、「FD 03」に置き換わる。 Next, since “03” is consecutive in the original data, the number (−3) in which the number 3 obtained by subtracting 1 from the number 4 is negative is expressed in hexadecimal as in the above. “FD” and the continuous numerical value “03” are placed. That is, here, “03 03 03 03” of the original data is replaced with “FD 03”.
さらに、その後には、原データ上で「04 05」が続くが、これら「04」、「05」はそれぞれが単独であって同一の数値が連続していない。そこで、ここでは、その連続していない数値(「04」、「05」)の数(ここでは2)から1を引いて「01」を置き、それに続いてその連続していない数値自体「04 05」を置く。すなわち、ここでは、原データの「04 05」が、PackBits符号化により「01 04 05」に置き換わる。 Further, “04 05” follows on the original data, but these “04” and “05” are each independent and the same numerical value is not continuous. Therefore, here, 1 is subtracted from the number (in this case, 2) of the non-consecutive numerical values (“04”, “05”) to place “01”, followed by the non-contiguous numerical value itself “04”. 05 ”. That is, here, “04 05” of the original data is replaced with “01 04 05” by PackBits encoding.
PackBitsでは、以上のルールに従って符号化が行なわれる。
上記のPackBits符号化の場合、同一の数値の連続数として取り得る値は−1〜−127である。すなわち連続数として表現できるのは128までである。これを2バイト(8ビット×2)で表現するので、原理的に実現できる最大の圧縮率は2/128=1/64である。 In the case of the PackBits encoding described above, values that can be taken as consecutive numbers of the same numerical value are −1 to −127. That is, up to 128 can be expressed as a continuous number. Since this is expressed by 2 bytes (8 bits × 2), the maximum compression rate that can be realized in principle is 2/128 = 1/64.
このようなPackBits符号化の場合、可逆圧縮であるため元のデータを完全に復元することができるという長所はあるものの、圧縮率が小さいという問題がある。このため、従来は、図2に示すように、可逆圧縮を行なうのは、非可逆圧縮では画質の劣化が目立ちやすいLWデータのみとし、CTデータは、LWデータと比べ非可逆圧縮であっても画質の劣化が比較的目立ちにくいため非可逆圧縮の一種であるJPEG等を採用している。 Such PackBits encoding has a problem that the compression rate is small although there is an advantage that the original data can be completely restored because it is lossless compression. For this reason, conventionally, as shown in FIG. 2, lossless compression is performed only for LW data that tends to have a noticeable deterioration in image quality in lossy compression, and CT data may be lossy compared to LW data. Since degradation of image quality is relatively inconspicuous, JPEG, which is a type of lossy compression, is used.
しかしながら、近年、高画質化への要求が益々高まってきており、CTデータについても画質の劣化を招かないよう可逆圧縮を行なうことが検討されてきている。 However, in recent years, there has been an increasing demand for higher image quality, and it has been studied to perform lossless compression of CT data so as not to cause deterioration of image quality.
本発明は、上記事情に鑑み、従来の可逆圧縮方式よりも圧縮率を向上させた可逆圧縮処理を行なうことのできるデータ圧縮装置、およびコンピュータ等の情報処理装置を、そのようなデータ圧縮装置として動作させることのできるデータ圧縮プログラムを提供することを目的とする。 In view of the above circumstances, the present invention provides a data compression apparatus capable of performing a reversible compression process with a higher compression ratio than the conventional lossless compression method, and an information processing apparatus such as a computer as such a data compression apparatus. An object of the present invention is to provide a data compression program that can be operated.
上記目的を達成する本発明のデータ圧縮装置は、所定の単位ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置において、
被圧縮データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1のデータ圧縮部と、
被圧縮データの種別に応じた、符号と数値を対応づけるテーブルを用いて、第1のデータ圧縮部で符号化された後のデータにエントロピー符号化を施す第2のデータ圧縮部とを備えたことを特徴とする。
A data compression apparatus of the present invention that achieves the above object is a data compression apparatus that performs data compression processing on data to be compressed consisting of a series of numerical values represented by a predetermined unit bit number.
Among the data to be compressed, numerical values other than one or a plurality of predetermined numerical values to be compressed are output as they are, and for the numerical values to be compressed, the numerical values to be compressed and the continuous number of the numerical values to be compressed that are the same as the numerical values to be compressed A first data compression unit that encodes and outputs a numerical value representing
A second data compression unit that performs entropy coding on the data that has been encoded by the first data compression unit using a table that associates codes and numerical values according to the type of data to be compressed; It is characterized by that.
ここで、本発明のデータ圧縮装置において、上記第2のデータ圧縮部は、典型的な一例として、被圧縮データの種別に応じたハフマンテーブルを用いてハフマン符号化を施すものであってもよい。 Here, in the data compression apparatus of the present invention, the second data compression unit may perform Huffman encoding using a Huffman table corresponding to the type of data to be compressed, as a typical example. .
また、上記第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータに基づいて被圧縮データの種別を判定する種別判定部を備えたものであることが好ましく、さらに、上記第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部を備え、上記種別判定部は、ヒストグラム算出部で求められたヒストグラムに基づいて被圧縮データの種別を判定するものであることが好ましい。 The second data compression unit preferably includes a type determination unit that determines the type of the data to be compressed based on the data encoded by the first data compression unit. The second data compression unit includes a histogram calculation unit that obtains a histogram of numerical values that appear in the data encoded by the first data compression unit, and the type determination unit is obtained by the histogram calculation unit. It is preferable that the type of data to be compressed is determined based on the obtained histogram.
また、被圧縮データは、連続階調画像およびラインワーク画像のうちの一方を表わすデータであって、上記種別判定部は、連続階調画像を表わす被圧縮データであるかラインワーク画像を表わす被圧縮データであるかを判定するものであることが好ましい。 Further, the compressed data is data representing one of a continuous tone image and a linework image, and the type determining unit is the compressed data representing the continuous tone image or representing the linework image. It is preferable to determine whether the data is compressed data.
さらに、上記第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、そのヒストグラム算出部で求められたヒストグラムに基づき、被圧縮データの種別に応じたテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部とを備え、その符号割当部により数値に符号が割り当てられてなるテーブルを用いてエントロピー符号化を施すものであることが好ましい。 Further, the second data compression unit is based on a histogram calculation unit for obtaining a histogram of numerical values appearing in the data encoded by the first data compression unit, and a histogram obtained by the histogram calculation unit. A table according to the type of data to be compressed, including a code assigning unit that assigns a code having a shorter code length to a numerical value with a higher appearance frequency, and using the table in which a code is assigned to the numerical value by the code assigning unit. It is preferable to perform entropy coding.
また、上記第1のデータ圧縮部は、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化を行なうものであることが好ましく、その一例として、上記第1のデータ圧縮部は、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化を行なうものであってもよい。 Moreover, it is preferable that the first data compression unit performs encoding that expresses the continuous number with a different number of bits in accordance with the continuous number of the same numerical value to be compressed. When the number of consecutive compression values of the same compression target is less than or equal to a predetermined number, the number of consecutive numbers is expressed by one unit bit number, and when the number of consecutive values exceeds the predetermined number, it is expressed by two unit bit numbers. Encoding may be performed.
また、本発明のデータ圧縮装置において、上記第1のデータ圧縮部の前段に、被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる新たな被圧縮データを生成して上記第1のデータ圧縮部に渡す第3のデータ圧縮部を備えることが好ましい。この場合に、上記第3のデータ圧縮部は、被圧縮データを構成する数値の連続を順次区切ったときの各区切りごとの先頭の数値についてはそのまま出力するとともに、先頭の数値以外については隣接する数値どうしの差分のうちの下位の単位ビット数で表わされる数値を出力するものであることがさらに好ましい。 Further, in the data compression apparatus according to the present invention, the first stage of the first data compression unit is made up of a series of numerical values representing the difference by obtaining a difference between adjacent numerical values for a series of numerical values constituting the compressed data. It is preferable to include a third data compression unit that generates new compressed data and passes it to the first data compression unit. In this case, the third data compression unit outputs the first numerical value for each segment when the sequence of the numerical values constituting the compressed data is sequentially segmented, and adjoins other than the first numeric value. It is more preferable to output a numerical value represented by the lower unit bit number of the difference between the numerical values.
また、上記目的を達成する本発明のデータ圧縮プログラムは、プログラムを実行する情報処理装置内で実行され、その情報処理装置を、所定の単位ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置として動作させるデータ圧縮プログラムであって、
上記情報処理装置を、
被圧縮データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1のデータ圧縮部と、
被圧縮データの種別に応じた、符号と数値を対応づけるテーブルを用いて、第1のデータ圧縮部で符号化された後のデータにエントロピー符号化を施す第2のデータ圧縮部とを備えたデータ圧縮装置として動作させることを特徴とする。
The data compression program of the present invention that achieves the above object is executed in an information processing apparatus that executes the program, and converts the information processing apparatus into compressed data consisting of a series of numerical values represented by a predetermined number of unit bits. A data compression program that operates as a data compression device that performs data compression processing,
The information processing apparatus is
Among the data to be compressed, numerical values other than one or a plurality of predetermined compression target values are output as they are, and for the compression target numerical value, the compression target numerical value and the continuous number of the compression target numerical values that are the same as the compression target numerical value are displayed. A first data compression unit that encodes and outputs a numerical value to be represented;
A second data compression unit that performs entropy coding on the data that has been encoded by the first data compression unit using a table that associates codes and numerical values according to the type of data to be compressed; It is characterized by operating as a data compression device.
ここで、上記本発明のデータ圧縮プログラムにおいて、上記第2のデータ圧縮部は、被圧縮データの種別に応じたハフマンテーブルを用いてハフマン符号化を施すものであってもよい。 Here, in the data compression program of the present invention, the second data compression unit may perform Huffman coding using a Huffman table corresponding to the type of data to be compressed.
また、上記本発明のデータ圧縮プログラムにおいて、上記第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータに基づいて被圧縮データの種別を判定する種別判定部を備えたものであることが好ましく、この場合に、第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部を備え、上記種別判定部は、ヒストグラム算出部で求められたヒストグラムに基づいて被圧縮データの種別を判定するデータ圧縮装置として動作させるものであることが好ましい。 In the data compression program of the present invention, the second data compression unit includes a type determination unit that determines the type of data to be compressed based on the data encoded by the first data compression unit. In this case, the second data compression unit includes a histogram calculation unit that obtains a histogram of numerical values that appear in the data encoded by the first data compression unit, and The type determining unit is preferably operated as a data compression device that determines the type of the data to be compressed based on the histogram obtained by the histogram calculating unit.
また、被圧縮データは、連続階調画像およびラインワーク画像のうちの一方を表わすデータであって、上記種別判定部は、連続階調画像を表わす被圧縮データであるかラインワーク画像を表わす被圧縮データであるかを判定するものであることが好ましい。 Further, the compressed data is data representing one of a continuous tone image and a linework image, and the type determining unit is the compressed data representing the continuous tone image or representing the linework image. It is preferable to determine whether the data is compressed data.
さらに、上記第2のデータ圧縮部は、第1のデータ圧縮部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、ヒストグラム算出部で求められたヒストグラムに基づき、被圧縮データの種別に応じたテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部を備え、その符号割当部により数値に符号が割り当てられてなるテーブルを用いてエントロピー符号化を施すデータ圧縮装置として動作させるものであることが好ましい。 Further, the second data compression unit is based on a histogram calculation unit for obtaining a histogram of numerical values appearing in the data encoded by the first data compression unit, and a histogram obtained by the histogram calculation unit, The table according to the type of data to be compressed has a code assigning unit that assigns a code having a shorter code length to a numerical value with a higher appearance frequency. It is preferable to operate as a data compression device that performs processing.
さらに、本発明のデータ圧縮プログラムにおいて、上記第1のデータ圧縮部は、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化を行なうものであることが好ましく、その一例として、上記第1のデータ圧縮部は、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化を行なうものであってもよい。 Furthermore, in the data compression program of the present invention, it is preferable that the first data compression unit performs encoding to express the continuous number with a different number of bits according to the continuous number of the same numerical value to be compressed. As an example, the first data compression unit expresses the continuous number as a unit bit number when the number of consecutive consecutive numerical values to be compressed is a predetermined number or less, and the continuous number exceeds the predetermined number. May be one that performs encoding expressed in 2 unit bits.
さらに、本発明のデータ圧縮プログラムは、上記第1のデータ圧縮部の前段に、被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる新たな被圧縮データを生成して第1のデータ圧縮部に渡す第3のデータ圧縮部を備えたデータ圧縮装置として動作させるものであることが好ましい。 Further, the data compression program according to the present invention comprises a series of numerical values representing the difference by obtaining a difference between adjacent numerical values for a series of numerical values constituting the data to be compressed before the first data compression unit. It is preferable to operate as a data compression apparatus including a third data compression unit that generates new compressed data and passes the data to the first data compression unit.
この場合に、その第3のデータ圧縮部は、被圧縮データを構成する数値の連続を順次区切ったときの各区切りごとの先頭の数値についてはそのまま出力するとともに、先頭の数値以外については隣接する数値どうしの差分のうちの下位の単位ビット数で表わされる数値を出力するものであることがさらに好ましい。 In this case, the third data compression unit outputs the first numerical value for each delimiter when the sequence of numerical values constituting the compressed data is sequentially delimited, and adjoins other than the first numerical value. It is more preferable to output a numerical value represented by the lower unit bit number of the difference between the numerical values.
上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、第1のデータ圧縮部において、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、図3を参照して説明したような、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。 According to the data compression apparatus or data compression program of the present invention described above, only the numerical value to be compressed is encoded into the numerical value representing the numerical value to be compressed and the continuous number in the first data compression unit. As described with reference to the above, a situation in which the redundancy is higher than that of the original data is avoided, and the compression rate is improved.
また、上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、第1のデータ圧縮部において上記のようにして圧縮されたデータについてさらに、第2のデータ圧縮部において、そのデータの種別に応じたテーブルを用いたエントロピー符号化、典型的にはハフマン符号化が施されるため、例えば連続階調画像を表わすCTデータとラインワーク画像を表わすLWデータ等のデータの種別に応じて適切にエントロピー符号化が行なわれ、圧縮率が大きく向上する。 Further, according to the data compression apparatus or data compression program of the present invention, the data compressed in the first data compression unit as described above is further processed in the second data compression unit according to the type of the data. Since entropy coding using a table, typically Huffman coding, is performed, the entropy is appropriately selected according to the type of data such as CT data representing a continuous tone image and LW data representing a linework image. Encoding is performed, and the compression rate is greatly improved.
ここで、データ種別の判定にあたっては、上記のヒストグラム算出部を備えてそのヒストグラムに基いて種別を判定を行なうと、例えばCTデータとLWデータを適切に判定することができる。 Here, in determining the data type, for example, CT data and LW data can be appropriately determined by providing the above-described histogram calculation unit and determining the type based on the histogram.
また、上記第2のデータ圧縮部が、上記のヒストグラムを求め、そのヒストグラムに基づいてデータ種別に応じたテーブルに出現頻度の高い数値ほど短かい符号長を割り当て、数値がそのようにして割り当てられたテーブルを用いてエントロピー符号化を施すものであると、データの種別に応じてはいるものの数値の割り当てが固定されたテーブルを用いたエントロピー符号化(例えばハフマン符号化)と比べ、圧縮率をさらに大きく向上させることができる。 Further, the second data compression unit obtains the above histogram, and assigns a code length that is shorter to a numerical value with a higher appearance frequency to a table corresponding to the data type based on the histogram, and the numerical value is assigned in that way. If the table is used to perform entropy coding, the compression rate is higher than that of entropy coding (for example, Huffman coding) using a table that has a fixed numerical value assignment, although it depends on the type of data. Further improvement can be achieved.
また、上記第1のデータ圧縮部を、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化を行なう構成、例えば、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化を行なう構成とすると、同一の圧縮対象数値の連続数が大きな数であるときに高圧縮率で圧縮され、圧縮率が更に向上する。 Further, the first data compression unit is configured to perform encoding that expresses the continuous number with different bit numbers according to the continuous number of the same compression target numerical value, for example, the continuous number of the same compression target numerical value is predetermined When the number of consecutive numbers is less than the number, the number of consecutive numbers is expressed by one unit bit number, and when the number of consecutive numbers exceeds a predetermined number, the number of consecutive numbers of the same compression target numerical value is encoded. When the number is a large number, compression is performed at a high compression rate, and the compression rate is further improved.
さらに、上記第3のデータ圧縮部を備えると、同一の数値が続く場合はその差分は数値ゼロとなり、数値ゼロの出現確率が増加し、上記第1および第2のデータ圧縮部との組合せにより圧縮率を更に向上させることができる。 Further, when the third data compression unit is provided, if the same numerical value continues, the difference becomes a numerical value zero, the appearance probability of the numerical value zero increases, and the combination with the first and second data compression units The compression rate can be further improved.
ここで、数値の差分を求めると、例えばその数値が1バイト(8ビット)で表現されている数値である場合に、差分は符号を含め9ビットで表現されることになる。後述する実施形態で示されるように、先頭の数値をそのまま保存しておくことにより、差分を表わす数値としてMSBの1ビットを省き、下位8ビット(1バイト)を保存しておくことで元の数値を復元することができる。 Here, when the numerical difference is obtained, for example, when the numerical value is expressed by 1 byte (8 bits), the difference is expressed by 9 bits including the sign. As shown in the embodiment described later, by storing the first numerical value as it is, by omitting 1 bit of the MSB as a numerical value representing the difference and storing the lower 8 bits (1 byte), The numerical value can be restored.
そこで、上記第3のデータ圧縮部を、被圧縮データを構成する数値の連続を順次で区切ったときの各区切りごとの先頭の数値についてはそのまま出力するとともに、先頭の数値以外については隣接する数値どうしの差分のうちの下位の単位ビット数で表わされる数値を出力する構成とすることにより、差分により1つの差分値について1ビット増加するのを防ぐことができ、更なる圧縮率向上に役立つ。 Therefore, the third data compression unit outputs the first numerical value for each delimiter when the series of numerical values constituting the compressed data are sequentially delimited, and the adjacent numerical values other than the first numerical value. By adopting a configuration that outputs a numerical value represented by the number of lower unit bits among the differences, it is possible to prevent one difference from increasing by one bit due to the difference, which helps to further improve the compression rate.
以下、本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described.
以下において説明する実施形態は、図1に示す全体システムの中のホストコントローラ100内に組み込まれるデータ圧縮装置であり、さらに具体的には、図2に示すホストコントローラ内のCTのビットマップデータ12AおよびLWのビットマップデータ13Aについてデータ圧縮を行なう処理に関するものである。したがって、ここでは、図1,図2を参照して説明したCTデータおよびLWデータについてのデータ圧縮処理が以下に説明する本発明の実施形態としての処理に置き換わるものと理解し、図1に示す全体システムおよび図2に示す処理の流れについての重複した図示および重複説明は省略する。
The embodiment described below is a data compression apparatus incorporated in the
図4は、本発明のデータ圧縮装置の一実施形態を示すブロック構成図である。 FIG. 4 is a block diagram showing an embodiment of the data compression apparatus of the present invention.
この図4に示すデータ圧縮装置500は、差分符号化部510と、ランレングス符号化部520と、データスキャニング部530と、画像判定部540と、テーブル記憶部550と、符号割当部560と、ハフマン符号化部570とを備えている。各部510〜570の詳細は後述するが、このデータ圧縮装置500内での画像データの流れは以下のとおりである。
The
入力画像ファイル(本実施形態では、図2に示すように、ビットマップに展開されたCTデータ12AもしくはLWデータ13Aが格納されたファイル)は、図4に示すデータ圧縮装置500の、差分符号化部510に入力されて、差分符号化処理、すなわち、入力されてきたデータを構成する数値の連続について隣接する数値どうしの差分を求めることによりその差分を表わす数値の連続からなる画像データを生成する処理が行なわれる。この差分符号化部510は、本発明にいう第3のデータ圧縮部の一例に相当する。さらに具体的には、この差分符号化部510では、入力されてきたデータを構成する数値の連続を順次区切ったときの各区切りごとの先頭の数値についてはそのまま出力するとともに、先頭の数値以外については隣接する数値どうしの差分のうちの下位の単位ビット数で表わされる数値を出力する処理が行なわれる。
An input image file (in this embodiment, a file storing
差分符号化部510において差分符号化されたデータは、ランレングス符号化部520との双方に入力される。ランレングス符号化部520では、先ず、入力されてきたデータの中から1つもしくは複数の圧縮対象数値の存在及び同一の圧縮対象数値の連続数が検出される。次いで、ランレングス符号化部520では、その検出結果を受けて、差分符号化部510から入力されてきたデータ中、圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理が行なわれる。このランレングス符号化部520では、その符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。ここでは、具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化が行なわれる。本実施形態では、このランレングス符号化部520が、本発明にいう第1のデータ圧縮部に相当する。
The data that has been differentially encoded by the
また、ランレングス符号化部520での符号化後のデータは、次に、データスキャニング部530とハフマン符号化部570との双方に入力される。データスキャニング部530では、ランレングス符号化部520で符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての数値の出現頻度(ヒストグラム)が求められる。ここで、この出現頻度を求めるデータは、本実施形態では、図4に示す入力画像ファイル1つずつを単位として、各入力画像ファイルの、ランレングス符号化部520で符号化された後のデータ中の数値の出現頻度が求められる。データスキャニング部530で求められたデータヒストグラム(数値の出現頻度)は画像判定部540と符号割当部560に入力される。
Further, the data encoded by the run-
データキャニング部530および画像判定部540は、それぞれ、本発明にいうヒストグラム算出部および種別判定部の各一例に相当し、画像判定部540ではデータキャニング部530で求められたヒストグラムに基づいて、今回入力されてきた画像データが連続階調画像を表わすCTデータであるか、あるいは、ラインワーク画像を表わすLWデータであるかという画像種別の判定が行なわれる。
The
テーブル記憶550には、CTデータ用のハフマンテーブル550aと、LWデータ用のハフマンテーブル550bが記憶されており、そのテーブル記憶550から、画像判定部540で今回の画像データがCTデータであると判定されたときはCTデータ用のハフマンテーブル550aが読み出されて符号割当部560に入力され、画像種別判定部540で今回の画像データがLWデータであると判定されたときはLWデータ用のハフマンテーブル550bが読み出されて符号割当部560に入力される。
The
符号割当部560では、データスキャニング部530で求められたヒストグラムに基づき、テーブル記憶部550から読み出された画像種別に応じたハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。符号割当部560で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部570に渡され、ハフマン符号化部570では、その渡されたハフマンテーブルに従って、そのハフマン符号化部570に入力されてきたデータを構成する数値がそのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短かいビット長で表わされる符号に置き換える符号化処理が行なわれる。
Based on the histogram obtained by the
このハフマン符号化は、エントロピィ符号化の一種であり、本実施形態では、データスキャニング部530、画像判定部540、テーブル記憶部550、符号割当部560、およびハフマン符号化部570を合わせたものが、本発明にいう第2のデータ圧縮部に相当する。
This Huffman coding is a kind of entropy coding. In this embodiment, the
ハフマン符号化部570でハフマン符号化された後のデータは、符号割当部560で割り当てられた、ハフマン符号化部570への入力データの数値とハフマン符号化後の値との割当テーブルを含む圧縮情報が添付されて、図1に示すSCSI等の汎用インタフェース150を経由してインタフェース機器200に転送される。インタフェース機器200では、その受け取った可逆圧縮データにデータ伸長処理が施されるが、このデータ伸長処理にあたっては、先ず、図4のハフマン符号化部570で行なわれた符号化処理に対する復号化処理が施され、次いで、図4のランレングス符号化部520で行なわれた符号化処理に対する復号化処理が施され、さらに、図4の差分符号化部510で行われた符号化処理に対する復号化処理が施されて、元の入力画像ファイル中の画像データと同一の画像データが復元される。
The data after the Huffman coding by the
図5は、図1に示すホストコントローラのハードウェア構成図である。 FIG. 5 is a hardware configuration diagram of the host controller shown in FIG.
図1に示すホストコントローラ100は、図5に示す構成のコンピュータシステムで構成されている。
The
この図5に示す、コンピュータシステムで構成されたホストコントローラ100には、CPU111、RAM112、通信インタフェース113、ハードディスクコントローラ114、FDドライブ115、CDROMドライブ116、マウスコントローラ117、キーボードコントローラ118、ディスプレイコントローラ119、および通信用ボード120が備えられており、これらはバス110で相互に接続されている。
5 includes a
ハードディスクコントローラ114は、このホストコントローラ100に内蔵されているハードディスク104のアクセスを制御するものであり、FDドライブ115、CDROMドライブ116は、このホストコントローラ100に取出し自在に装填されるフレキシブルディスク(FD)130CDROM140のアクセスを制御するものである。また、マウスコントローラ117、キーボードコントローラ118は、このホストコントローラ100に備えられたマウス107、キーボード108の操作を検出してCPU111に伝達する役割を担っている。さらに、ディスプレイコントローラ119は、このCPU111の指示に基づいて、ホストコントローラ100に備えられた画像ディスプレイ109の表示画面上に画像を表示する役割を担っている。
The
通信用ボード120は、SCSI等の汎用インタフェースプロトコルに準拠した通信を担っており、圧縮後の画像データをインタフェースケーブル150を介してインタフェース機器200(図1参照)に転送する役割を担っている。
The
さらに、通信用インタフェース113は、インターネット等の汎用の通信を担っており、このホストコントローラ100は、この通信用インタフェース113を経由して画像データを取り込むこともできる。
Furthermore, the
RAM112には、ハードディスク104に格納されているプログラムが読み出されてCPU111での実行のために展開され、CPU111では、そのRAM112に展開されたプログラムが読み出されて実行される。
A program stored in the
図6は、本発明のデータ圧縮処理プログラムの模式構成図である。 FIG. 6 is a schematic configuration diagram of the data compression processing program of the present invention.
ここでは、このデータ圧縮プログラム600は、CDROM140に記憶されている。
Here, the
このデータ圧縮プログラムは、差分符号化部610と、ランレングス符号化部620と、データスキャニング部630と、画像判定部640と、テーブル記憶部650と、符号割当部660と、ハフマン符号化部670とから構成されている。このCDROM140には、ここに示すデータ圧縮プログラム600のほか、図1に示すホストコントローラ100における図2に示す一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
The data compression program includes a
この図6に示すCDROM140が、図5に示すホストコントローラ100に装填されCDROMドライブ116でアクセスされてそのCDROM140に記憶されているプログラムがこのホストコントローラ100にアップロードされ、ハードディスク104に記憶される。このハードディスク104に記憶されたプログラムがそのハードディスク104から読み出されてRAM112に展開されCPU111で実行されると、このホストコントローラ100は、図4に示すデータを圧縮装置500としての処理を含む、ホストコントローラとしての各種処理を実行する装置として動作する。
The
ここで、図6に示すデータ圧縮プログラム600は、ホストコントローラ100にインストールされてCPU111で実行されることにより、そのホストコントローラ100内に図4に示すデータ圧縮装置500を実現するものであり、差分符号化部610、ランレングス符号化部620、データスキャニング部630、画像判定部640、テーブル記憶部650、符号割当部660およびハフマン符号化部670は、CPU111で実行されることにより、そのホストコントローラ100を、それぞれ、図4に示すデータ圧縮装置500を構成する、差分符号化部510、ランレングス符号化部520、データスキャニング部530、画像判定部540、テーブル記憶部550、符号割当部560およびハフマン符号化部570として動作させるプログラム部品である。図6のデータ圧縮プログラム600を構成する各部610〜670の、CPU111で実行されたときの作用は、それぞれ、図5のデータ圧縮装置500を構成する各部510〜570の作用そのものである。したがって、図4のデータ圧縮装置500の各部510〜570に関する、これまでの説明、および、以下に説明する詳細説明をもって、図6のデータ圧縮プログラム600を構成する各部610〜670の説明を兼ねるものとする。
Here, the
図7は、図4のデータ圧縮装置500に入力される入力画像ファイル中の画像データのデータ構造および差分符号化の概念を示す図である。
FIG. 7 is a diagram illustrating the data structure of image data in the input image file input to the
図7に示すように、図4に示すデータ圧縮装置500に入力される画像データは、所定の主走査方向に画素がM個並んでいる。その主走査方向とは直角な副走査方向に教えていったときのN番目のラインについて、主走査方向に並ぶ各画素の画素値は、その並び順に、
Dn,1,Dn,2,…,Dn,m-2,Dn,m-1,Dn,m
と表現される。
As shown in FIG. 7, the image data input to the
Dn , 1 , Dn , 2 ,..., Dn , m-2 , Dn , m-1 , Dn , m
It is expressed.
これと同様に、副走査方向の(N+1)番目のラインについて、主走査方向に並ぶ各画素の画素値は、その並びの順に、
Dn+1,1,Dn+1,2,…,Dn+1,m-2,Dn+1,m-1,Dn+1,m
と表現される。
Similarly, for the (N + 1) th line in the sub-scanning direction, the pixel values of the pixels arranged in the main scanning direction are as follows:
Dn + 1,1 , Dn + 1,2 ,..., Dn + 1, m-2 , Dn + 1, m-1 , Dn + 1, m
It is expressed.
ここで、図4に示すデータ圧縮装置500を構成する差分符号化部510では、上記のような画像データを入力し、副走査方向に隣接する画素どうしの差分が求められる。すなわち、N番目のラインと(N+1)番目のラインとの差分であって、主走査方向に並ぶj番目の画素の差分をSn,jとすると、この差分Sn,jは、
Sn,j=Dn+1,j−Dn,j (j=1〜m)
と表現される。
Here, in the
S n, j = D n + 1, j −D n, j (j = 1 to m )
It is expressed.
この差分演算を具体的に説明する。 This difference calculation will be specifically described.
図8は、図4のデータ圧縮装置500を構成する差分符号化部510における差分符号化処理を例示して示す図である。
FIG. 8 is a diagram illustrating a differential encoding process in the
ここでは、図7に示す副走査方向に並ぶある縦一列の画素値が、図8の「画像データ」
の欄に示すように、
「12 01 02 FF 64 … 40 40 3F …」
であったとする。尚、ここでは、各画素値は、16進2桁(1バイト=8ビット)で表現されている。ここでは「ライン」は主走査方向に並ぶ画素を指している。
Here, the pixel values in one vertical line arranged in the sub-scanning direction shown in FIG. 7 are “image data” in FIG.
As shown in the column
"12 01 02
Suppose that Here, each pixel value is represented by two hexadecimal digits (1 byte = 8 bits). Here, “line” indicates pixels arranged in the main scanning direction.
先ず、1ライン目の画素値「12」については、そのまま出力する。 First, the pixel value “12” on the first line is output as it is.
次に、2ライン目の画素値「01」から1ライン目の画素値「12」を引き算し、その結果を出力する。ここで、「01」から「12」を引き算した結果は負の数となり、9ビットで「1EF」と表わされるが、MSBの1ビットである「1」は省略し、下位8ビットである「EF」のみを出力する。 Next, the pixel value “12” of the first line is subtracted from the pixel value “01” of the second line, and the result is output. Here, the result of subtracting “12” from “01” is a negative number and is expressed as “1EF” by 9 bits, but “1” that is 1 bit of the MSB is omitted and “8” is the lower 8 bits. Only “EF” is output.
次に、3ライン目の画素値「02」から2ライン目の画素値「01」を引き算し、その結果の値「01」を出力する。 Next, the pixel value “01” of the second line is subtracted from the pixel value “02” of the third line, and the resultant value “01” is output.
次に、4ライン目の画素値「FF」から3ライン目の画素値「02」を引き算し、その結果の値「FD」を出力する。 Next, the pixel value “02” of the third line is subtracted from the pixel value “FF” of the fourth line, and the resultant value “FD” is output.
次に、5ライン目の画素値「64」から4ライン目の画素値「FF」を引き算し、その結果の値から、MSBの1ビットである「1」を省略し、下位8ビットである「65」を出力する。 Next, the pixel value “FF” of the fourth line is subtracted from the pixel value “64” of the fifth line, and “1” that is 1 bit of the MSB is omitted from the resulting value, and the lower 8 bits. “65” is output.
以下、これと同じ演算を繰り返すことにより、図8の「差分エンコード(下位8ビット)」の欄に表わされている。 Hereinafter, by repeating the same operation, it is represented in the column of “differential encoding (lower 8 bits)” in FIG.
「(12) EF 01 FD 65 … L0 00 FF …」
が出力される。
"(12)
Is output.
図1に示すインタフェース機器200では、この差分符号化されたデータを復号化するにあたり、図8の右側に示す演算が行なわれる。
In decoding the differentially encoded data, the
先ず1ライン目の画素値は「12」のそのままである。 First, the pixel value of the first line remains “12”.
2ライン目の画素値は、差分値「EF」に1ライン目の画素値「12」を足し算した結果のうちの下位8ビットで表わされる「01」である。 The pixel value of the second line is “01” represented by the lower 8 bits of the result of adding the pixel value “12” of the first line to the difference value “EF”.
3ライン目の画素値は、差分値「01」に、上記で求めた2ライン目の画素値「01」を足し算することにより求められる「02」である。 The pixel value of the third line is “02” obtained by adding the pixel value “01” of the second line obtained above to the difference value “01”.
4ライン目の画素値は、差分値「FD」に、上記で求めた3ライン目の画素値「02」を足し算することにより求められる「FF」である。 The pixel value of the fourth line is “FF” obtained by adding the pixel value “02” of the third line obtained above to the difference value “FD”.
5ライン目の画素値は差分値「65」に、上記で求めた4ライン目の画素値「FF」を足し算した結果のうちの下位8ビットで表わされる「64」である。 The pixel value of the fifth line is “64” represented by the lower 8 bits of the result obtained by adding the pixel value “FF” of the fourth line obtained above to the difference value “65”.
以下これと同様の演算を繰り返すことにより、差分符号化を行なう前のデータと同一のデータに復号化される。 Thereafter, the same calculation is repeated, whereby the same data as the data before differential encoding is decoded.
ここでは、主走査方向の1ライン目に並ぶ各画素の画素値を演算における先頭の数値として、図8に例示した演算が行なわれる。すなわち、ここに示す例では、副走査方向の一列を、本発明にいう、「入力されてきたデータを構成する数値の連続を順次区切ったときの各区切り」として取り扱っており、1ライン目の画素値を、「各区切りごとの先頭の数値」として取り扱っている。 Here, the calculation illustrated in FIG. 8 is performed with the pixel value of each pixel arranged in the first line in the main scanning direction as the first numerical value in the calculation. In other words, in the example shown here, one column in the sub-scanning direction is treated as “each delimiter when the sequence of numerical values constituting the input data is sequentially delimited” according to the present invention. The pixel value is handled as “the first numerical value for each segment”.
尚、ここでは副走査方向の一列を1つの区切りとしているが、どの単位で区切るかは任意であり、例えば副走査方向の一列を複数に区切ってもよく、副走査方向の複数の列をひとまとめにして1つの区切りとしてもよい。 Here, one column in the sub-scanning direction is defined as one segment, but the unit of segmentation is arbitrary. For example, one column in the sub-scanning direction may be segmented into a plurality of columns, and a plurality of columns in the sub-scanning direction are grouped together. It is good also as one division.
図9は、差分符号化による作用説明図である。 FIG. 9 is a diagram for explaining the operation by differential encoding.
図9(A)は、画像の概念を表わしており、ここでは、図の縦方向を主走査方向、横方向を副走査方向とし、副走査方向(横方向)に引いた矢印A上の各画素の画素値に着目している。尚、ここではLW画像を圧縮対象として説明しているがCT画像を圧縮対象とする場合も同様である。 FIG. 9A shows the concept of an image. Here, the vertical direction in the figure is the main scanning direction, the horizontal direction is the sub scanning direction, and each of the arrows A drawn in the sub scanning direction (horizontal direction) is shown in FIG. Focus is on the pixel value of the pixel. Here, the LW image is described as the compression target, but the same applies to the case where the CT image is the compression target.
この画像上には、主走査方向に延びる画素値「63」の濃度を持つ直線L1と、画素値「FF」の濃度を持つ直線L2が描かれており、その右側には、CT画像があて嵌められるCT画像領域が存在する。CT画像があて嵌められる領域は、画素値「00」で表わされている。 On this image, a straight line L1 having a density of pixel value “63” extending in the main scanning direction and a straight line L2 having a density of pixel value “FF” are drawn. There is a CT image area to be fitted. A region to which a CT image is fitted is represented by a pixel value “00”.
図9(A)の矢印A上に並ぶ画素の画素値は、図9(B)示すように、左側から順に、最初は「01」が続き直線L1上では「63」が続き、再度「01」が続き、直線L2上では「FF」となり、再度「01」に戻り、CT画像があて嵌められる領域では「00」が続き、CT画像領域が終わるともう一度「01」が続く。ここで、画素値「01」は、何も描かれていない領域(用紙の地の領域)であることを表わしている。 As shown in FIG. 9B, the pixel values of the pixels arranged on the arrow A in FIG. 9A are, in order from the left, first “01”, followed by “63” on the straight line L1, and again “01 ”Continues to“ FF ”on the straight line L2, returns to“ 01 ”again,“ 00 ”continues in the area where the CT image is fitted, and“ 01 ”continues again when the CT image area ends. Here, the pixel value “01” represents an area in which nothing is drawn (paper area).
図9(B)に示す元データに対し、差分演算を行なうと図9(C)に示す差分後データとなり、「00」の出現確率が大きく増加する。図8を参照して説明した、図4の差分符号化部510では、MSBの1ビット(符号ビット)は省略するため、その差分符号化部510から出力されるデータは、図9(D)のようになる。この場合であっても、図8を参照して説明したように、最初の画素値(図8の場合の1ライン目の画素値「12」)をそのまま伝えることによって、元データを順次復元することができる。
When the difference calculation is performed on the original data shown in FIG. 9B, the difference data shown in FIG. 9C is obtained, and the appearance probability of “00” is greatly increased. In the
図4に示す差分符号化部510で上記の差分符号化処理が行なわれた後のデータは、今度は、ランレングス符号化部520に入力される。
The data after the above-described differential encoding process is performed by the
ランレングス符号化部520では、差分符号化部510から受け取ったデータを構成する複数の数値のうちの特定の数値についてのみ符号化処理が行なわれる。このランレングス符号化部520では、特定数値検出部520では差分符号化部510から受け取ったデータの中からランレングス符号化処理を行なう数値(ここでは、この数値を「圧縮対象数値」と称する)と、その圧縮対象数値の連続数が検出される。
Run-
本実施形態における、図4のランレングス符号化部520では、一例として、「01」、「FF」および「00」の3つの数値を圧縮対象数値としている。
In the present embodiment, the run-
LW画像の背景等は、用紙の地の色そのものを表わす「01」が多いと考えられるため、ここでは、この「01」を圧縮対象数値の1つとしている。 Since it is considered that the background of the LW image has a lot of “01” representing the color of the background of the paper, “01” is one of the numerical values to be compressed here.
また、「FF」は最大濃度を表わす値である。LW画像の文字の部分は画素値が「FF」とは限らないが、「FF」の出現頻度が比較的多いため、ここでは「FF」も圧縮対象数値の1つとしている。 “FF” is a value representing the maximum density. The character portion of the LW image does not always have a pixel value of “FF”, but “FF” appears relatively frequently, so “FF” is also one of the numerical values to be compressed here.
さらに、LW画像中の「00」は、図2に示すインタフェース機器内部処理中の合成/タグ付加処理においてLWデータではなくCTデータの方を選択することを指示する値であり、図1に示すプリンタ300で最終的にプリントされる画像1枚中にLW画像とCT画像とが混在した画像である場合に、LWデータ中「00」も出現頻度が高い画素値となる。このため、ここでは、この「00」も圧縮対象数値の1つとしている。
Further, “00” in the LW image is a value for instructing to select CT data instead of LW data in the synthesis / tag addition processing in the interface device internal processing shown in FIG. In the case where the LW image and the CT image are mixed in one image finally printed by the
ここでは、上記のとおり「01」、「FF」、「00」の3つの数値を圧縮対象数値としているが、以下の理由から「FD」、「02」も圧縮対象数値として指定してもよい。 Here, as described above, the three numerical values “01”, “FF”, and “00” are the compression target numerical values, but “FD” and “02” may also be specified as the compression target numerical values for the following reason. .
図4に示す実施形態では、図4のランレングス符号化部520の前段に差分符号化部510が置かれている。そこで、上記の出現頻度の高い3つの数値「00」、「FF」、「01」の間の差分を求めると、符号ビットを除き、
FF−00=FF
00−FF=01
01−00=01
01−01=FF
FF−01=FE
02−FF=02
となるが、これら6つの差分値のうちの、「FF」と「01」は既に上の理由により圧縮対象数値として挙げられており、残りの、「FE」と「02」を圧縮対象数値として加えて、「01」、「FF」、「00」、「FE」、および「02」の5つを圧縮対象数値としてもよい。
In the embodiment shown in FIG. 4, a
FF-00 = FF
00-FF = 01
01-00 = 01
01-01 = FF
FF-01 = FE
02-FF = 0
Of these six difference values, “FF” and “01” have already been cited as compression target values for the above reasons, and the remaining “FE” and “02” are used as compression target values. In addition, five values “01”, “FF”, “00”, “FE”, and “02” may be set as the compression target numerical values.
ただし、ここでは、「01」、「FF」、「00」の3つが圧縮対象数値として指定されているものとして説明を続ける。 However, here, the description will be continued on the assumption that three of “01”, “FF”, and “00” are designated as compression target numerical values.
図10は、図4に示すランレングス符号化部520での符号化の説明図である。図10の上のラインは、差分符号化部510から受け取ったデータ、下のラインは、ランレングス符号化部520での符号化処理を行なった後のデータである。
FIG. 10 is an explanatory diagram of encoding in the run-
ここでは、図10の上のラインに示すように、差分符号化部510からは、
「06 02 02 02 01 01 01 01 04 05 00 … 」
なるデータが入力されたものとする。このとき、ランレングス符号化部520では、先頭の「06」は圧縮対象数値ではなく、次に続く「02 02 02」も圧縮対象数値ではなく、次に、圧縮対象数値である「01」が4つ連続していること、次に、圧縮対象数値ではない「04」、「05」を間に置いて、圧縮対象数値である「00」が32767個連続していることが検出される。
Here, as shown in the upper line of FIG. 10, from the
"06 02 02 02 01 01 01 01 01 04 05 00 ..."
It is assumed that the following data is input. At this time, in the run-
図11は、ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。 FIG. 11 is a diagram illustrating an encoding algorithm for a numerical value to be compressed in the run-length encoding unit.
この図11中、Zは同一の圧縮対象数値の連続数、例えば図10の上のラインの「01」についてはZ=4、「00」についてはZ=32767である。 In FIG. 11, Z is the continuous number of the same numerical values to be compressed, for example, Z = 4 for “01” in the upper line of FIG. 10, and Z = 32767 for “00”.
また、図11中、「YY」は、16進2桁で表わされた圧縮対象数値自体を表わしている。その「YY」に続く、「0」又は「1」は1ビットで表現された「0」又は「1」であり、さらにそれに続く「XX…」は、1つの「X」が1ビットを表わしており、この「XX…」でZの値を表現している。 In FIG. 11, “YY” represents the compression target numerical value itself represented by two hexadecimal digits. “0” or “1” following “YY” is “0” or “1” expressed by 1 bit, and “XX...” That follows “XY” represents one bit. This “XX...” Represents the value of Z.
すなわち、図11は、圧縮対象数値「YY」がZ<128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く1バイトで、先頭ビットが「0」、それに続く7ビットでZの値を表現すること、また、圧縮対象数値「YY」がZ≧128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く2バイト(16ビット)のうちの先頭の1ビットを「1」とすることで2バイトに跨って表現されていることを表現し、それに続く15ビットで、Zの値を表現することを意味している。 That is, FIG. 11 shows that when the compression target numerical value “YY” continues for Z <128, the compression target numerical value “YY” is expressed by the first byte, the first bit is “0”, and the subsequent byte is the subsequent one. Express the value of Z with 7 bits, and when the compression target numerical value “YY” continues Z ≧ 128, express the compression target numerical value “YY” with the first byte, followed by 2 bytes (16 bits) The first 1 bit of “1” is expressed as “1” to express that it is expressed over 2 bytes, and the subsequent 15 bits indicate that the value of Z is expressed.
この図11に示す規則に従って図10に示す符号化の例について説明する。 An example of the encoding shown in FIG. 10 will be described in accordance with the rules shown in FIG.
図4の差分符号化部510から入力されてきたデータ(上のライン)を構成する先頭の数値「06」は圧縮対象数値ではないため、その「06」のまま出力される。また、それに続く「02 02 02」も、「02」は圧縮対象数値ではなく、これら3つの「02」もそのまま出力される。次に、圧縮対象数値である「01」が4個連続するため、「01 04」に符号化される。次の「04」及び「05」は圧縮対象数値ではないため、そのまま「04 05」が出力される。
Since the first numerical value “06” constituting the data (upper line) input from the
次に「00」が32767個連続しているため、「00」を置き、次の1バイトのうちの先頭の1ビットを「1」とし、次いで15ビットで32767−128を表現することにより、「00 FF 7F」の3バイトで「00」が32767個連続していることを表現する。すなわち、連続数128は、最初のビット「1」を除き、「00 00」と表現される。
Next, since there are 32767 consecutive “00s”, “00” is placed, the first 1 bit of the next 1 byte is set to “1”, and then 32767-128 is expressed by 15 bits. It represents that 32767 “00” s are consecutive in 3 bytes of “00
図12は、図4のランレングス符号化部520における、連続数に応じた符号化処理の例を示す図である。
・「00」が127個連続するときは、2バイトを用いて「00 7E」に符号化され、
・「00」が32767個連続するときは、3バイトを用いて「00 FF 7E」に符号化され、
・「00」が32895個連続するときは、3バイトを用いて「00 FF FF」に符号化され、
・「00」が128個連続するときは、3バイトを用いて「00 80 00」に符号化され、
・「FF」が4096個連続するときは、3バイトを用いて「FF 8F 80」に符号化される。
FIG. 12 is a diagram illustrating an example of an encoding process according to the number of consecutive steps in the run-
When “00” is 127 consecutive, it is encoded to “00 7E” using 2 bytes,
When “00” is 32767 consecutive, it is encoded into “00 FF 7E” using 3 bytes,
When “00” is 32895 consecutive, it is encoded into “00 FF FF” using 3 bytes,
When “00” is 128 consecutive, it is encoded to “00 80 00” using 3 bytes,
-When 4096 "FFs" are contiguous, they are encoded into "
図4に示すランレングス符号化部520では、上記のような符号化処理が行なわれる。
In the run
この場合、圧縮対象数値以外の数値についてはそのまま出力されるため、図3を参照して説明したPackBits符号化のような、かえって冗長になってしまうという事態が回避される。また、図3のPackBits符号化の場合は、最大圧縮率は1/64であるが、本実施形態によるランレングス符号化部520によれば、最大圧縮率は、3/32895=1/10,965にまで向上する。
In this case, since the numerical values other than the compression target numerical values are output as they are, the situation of becoming redundant rather than the PackBits encoding described with reference to FIG. 3 is avoided. 3, the maximum compression rate is 1/64, but according to the run-
図4のランレングス符号化部520で上記の符号化処理の行なわれた後のデータは、次に図4のデータスキャニング部530およびハフマン符号化部570に入力される。
The data after the above-described encoding processing is performed by the run-
データスキャニング部530では、1枚のLW画像全体を構成する画素について画素値の出現頻度(ヒストグラム)か求められ、そのヒストグラムが画像判定部540と符号割当部560に伝えられる。
In the
図13は、図4のデータスキャニング部530で求められたヒストグラムの例を示す図である。図13(A)、(B)は、それぞれLWデータ,CTデータのヒストグラムである。
FIG. 13 is a diagram illustrating an example of a histogram obtained by the
LWデータの場合、図4のランレングス符号化部520での符号化が行なわれた後においても、図13(A)に示すように、いくつかの特定の数値の頻度が高くなっている。一方、CTデータの場合は、値0付近と値256(最大値)付近にピークがあるが、それら両端以外ではどの数値にも低い頻度で満遍なく分布している。
In the case of LW data, even after the run
図4の画像判定部では、LWデータとCTデータとの上記の差異を利用して、例えば値0〜9および値247〜256の頻度を合わせたものが画像全体の画素数の70%以上を占める場合をCTデータ、70%未満の場合をLWデータとして判定される。
In the image determination unit in FIG. 4, using the above difference between the LW data and the CT data, for example, the sum of the frequencies of the
ここでは、「A1」の出現頻度が最も強く、以下順に、「A2」、「A3」、「A4」、…の順であるとする。尚、これら「A1」、「A2」等は数値を直接表わしている訳ではなく、数値を表わす符号である。すなわち、「A1」は例えば数値「00」、「A2」は数値「FF」等である。また、ここでは、簡単のため、図4のランレングス符号化部520から送られてくるデータは全ての画素が「A1」〜「A16」の16個の数値のうちのいずれかの数値で表わされるものとする。
Here, the appearance frequency of “A1” is the strongest, and it is assumed that “A2”, “A3”, “A4”,. These “A1”, “A2” and the like do not directly represent numerical values, but are symbols representing numerical values. That is, “A1” is, for example, a numerical value “00”, “A2” is a numerical value “FF”, and the like. Here, for simplicity, the data sent from the run-
図14は、図4に示す符号割当部560における割当処理を例示した図である。
FIG. 14 is a diagram illustrating an allocation process in the
ここでは、符号列「00 01 100 101 11000 11001 …」は図4の画像判定部540での画像種別の判定結果に基づいてテーブル記憶部550から読み出されたハフマンテーブル上に並ぶ符号列である。
Here, the code string “00 01 100 101 11000 11001...” Is a code string arranged on the Huffman table read from the
ここでは、出現頻度の最も高い「A1」は、2ビットで表わされた符号「00」に割り当てられ、次の「A2」は、やはり2ビットで表わされた符号「01」に割り当てられ、次の「A3」、さらに次の「A4」は、3ビットで表わされる、それぞれ、「100」、「101」に割り当てられ、次の「A5」〜「A8」は、5ビットで表わされる各数値に割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた数値に割り当てられる。 Here, “A1” having the highest appearance frequency is assigned to the code “00” represented by 2 bits, and the next “A2” is assigned to the code “01” also represented by 2 bits. The next “A3” and the next “A4” are represented by 3 bits, respectively, assigned to “100” and “101”, and the next “A5” to “A8” are represented by 5 bits. Assigned to each numerical value, and similarly, a numerical value with a lower appearance frequency is assigned to a numerical value represented by a larger number of bits.
図4のハフマン符号化部570では、符号割当部560において上記のように数値を符号が割り当てられたハフマンテーブルを参照しながら、ランレングス符号化部520から入力されてきたデータ中の各数値が各符号に変換される。
In the
図15、図16は、ハフマンテーブルの各例を示す図である。図15はLWデータ符号化用のハフマンテーブルの一例、図16はCTデータ符号化用のハフマンテーブルの一例である。ここでは各符号列中の「,」よりも右側の一桁の数値がビット長を意味しており、その「,」の左から右側に向かってそのビット長分の2進符号が実際の符号を表わしている。例えば、図15のLWデータ符号化用のハフマンテーブルの場合、右上の#1の符号は「00」の2ビット、次の#2の符号は「010」の3ビット、その次の#3の符号は「111」の3ビット、さらにその次の#4の符号は「11000000」の8ビットである。
15 and 16 are diagrams illustrating examples of the Huffman table. FIG. 15 shows an example of a Huffman table for encoding LW data, and FIG. 16 shows an example of a Huffman table for encoding CT data. Here, the numerical value on the right side of “,” in each code string means the bit length, and the binary code corresponding to the bit length from the left to the right of “,” is the actual code. Represents. For example, in the case of the Huffman table for encoding LW data in FIG. 15, the code of # 1 at the upper right is 2 bits of “00”, the code of the
図4のテーブル記憶部550からは、今回圧縮を行なっているデータがLWデータであるときは図15に示すLWデータ符号化用のハフマンテーブル550aが読み出されて符号割当部560に入力され、一方、今回圧縮を行なっているデータがCTデータであるときは図16に示すCTデータ符号化用のハフマンテーブル550bが読み出されて符号割当部560に入力され、符号割当部560では、このようにして入力されてきた、画像の種別に応じたハフマンテーブルに関し、データスキャニング部530で求められたヒストグラムに基づいて、図14を参照して説明したようにして、数値の出現頻度順に、ナンバ#の若い符号に出現頻度の高い数値が割り当てられる。
When the currently compressed data is LW data, the
図17は、図4に示すデータ圧縮装置500から出力される画像データのデータフォーマットの一例を示す図である。
FIG. 17 is a diagram illustrating an example of a data format of image data output from the
最初に画像データファイルの先頭であることを表わすSOI(Start Of Image)を表わす符号が配置され、次いで画像のサイズ等の情報が記録されたヘッダが続き、さらにその後に、図4のデータ圧縮装置500で、今回の入力画像ファイル中の画像データについて行なわれたデータ圧縮処理に関する圧縮情報が配置される。この圧縮情報には、CTデータとLWデータとの区別を表わす情報、ハフマン符号化部570で用いられたハフマンテーブル(図15,図16参照)、およびそのハフマンテーブル中の各符号とその符号に割り当てた数値との対応など、図1のインタフェース機器200での復号化に必要な全ての情報が含まれている。
First, a code representing SOI (Start Of Image) indicating the beginning of the image data file is arranged, followed by a header in which information such as the size of the image is recorded, and then the data compression apparatus of FIG. In 500, compression information related to data compression processing performed on the image data in the current input image file is arranged. The compression information includes information indicating the distinction between CT data and LW data, the Huffman table used in the Huffman encoding unit 570 (see FIGS. 15 and 16), and each code and its code in the Huffman table. 1 includes all information necessary for decoding by the
図16に示すように、圧縮情報の後には、ハフマン符号化後の実際の画像データが続き、最後にEOI(End Of Image)の符号で締め括られる。 As shown in FIG. 16, the compressed image is followed by the actual image data after Huffman coding, and is finally concluded with a code of EOI (End Of Image).
図4に示すデータ圧縮装置500からは、図16に示すように形式が整えられた画像データファイルが図1に示すインタフェース機器200に転送され、インタフェース機器200では、これまで説明してきた符号化とは逆の順序で復号化が行なわれることによりデータ伸長が行なわれ、図4に示すデータ圧縮装置500に入力する前の入力画像ファイル内の画像データと同一の画像データに復元される。
From the
尚、図4のデータ圧縮装置500には符号割当部560が備えられており、その符号割当部560では、テーブル記憶部550から読み出した、画像種別に応じたハフマンテーブル550a,550bに、出現頻度に応じた数値が割り当てられる旨説明したが、符号割当部560を備えずに、ハフマンテーブル550a,550b中の各符号にあらかじめ固定的に各数値を割り当てておいてもよい。画像データ中の画素値の出現頻度が画像ごとに大きくは異ならない場合などには、固定的に数値を割り当てておくと一層の高速処理が可能となる。あるいは、例えばLWデータ符号化用のハフマンテーブル550aについては符号割当部560で符号と数値との対応付けを行ない、CTデータ符号化用のハフマンテーブル550bについては、符号にあらかじめ固定的に数値を割り当てておいてもまた
また、図4に示すデータ圧縮装置500では、差分符号化部510を備えており、この差分符号化部510を備えると、前述したように数値「00」の出現頻度が増加するため好ましいが、本発明ではこの差分符号化部510を備えることは必ずしも必要ではなく、入力されてきたデータに差分符号化処理を行なうことなく、直接に図4に示すランレングス符号化部520に入力してもよい。あるいは、上述の差分符号化を行なう差分符号化部510に代えて、他のデータ圧縮処理を行なう符号化部をそこに配置してもよい。
The
11 データ
12A,12B,13A,13B, ビットマップデータ
14 圧縮データ
15 LW可逆圧縮データ
100 ホストコントローラ
140 CDROM
150 汎用インタフェース
200 インタフェース機器
250 専用インターフェース
300 プリンタ
500 データ圧縮装置
510 差分符号化部
520 ランレングス符号化部
530 データスキャニング部
540 画像判定部
550 テーブル記憶部
560 符号割当部
570 ハフマン符号化部
600 データ圧縮プログラム
610 差分符号化部
620 ランレングス符号化部
630 データスキャニング部
640 画像判定部
650 テーブル記憶部
660 符号割当部
670 ハフマン符号化部
11
DESCRIPTION OF
Claims (20)
被圧縮データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1のデータ圧縮部と、
被圧縮データの種別に応じた、符号と数値を対応づけるテーブルを用いて、前記第1のデータ圧縮部で符号化された後のデータにエントロピー符号化を施す第2のデータ圧縮部とを備えたことを特徴とするデータ圧縮装置。 In a data compression apparatus that performs data compression processing on data to be compressed consisting of a series of numerical values represented by a predetermined number of unit bits,
Among the data to be compressed, numerical values other than one or a plurality of predetermined numerical values to be compressed are output as they are, and for the numerical values to be compressed, the numerical values to be compressed and the continuous number of the numerical values to be compressed that are the same as the numerical values to be compressed A first data compression unit that encodes and outputs a numerical value representing
A second data compression unit that performs entropy coding on the data that has been encoded by the first data compression unit using a table that associates codes and numerical values according to the type of data to be compressed. A data compression apparatus characterized by that.
前記情報処理装置を、
被圧縮データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1のデータ圧縮部と、
被圧縮データの種別に応じた、符号と数値を対応づけるテーブルを用いて、前記第1のデータ圧縮部で符号化された後のデータにエントロピー符号化を施す第2のデータ圧縮部とを備えたデータ圧縮装置として動作させることを特徴とするデータ圧縮プログラム。 A data compression program that is executed in an information processing apparatus that executes a program, and causes the information processing apparatus to operate as a data compression apparatus that performs data compression processing on data to be compressed consisting of a series of numerical values represented by a predetermined number of unit bits. There,
The information processing apparatus;
Among the data to be compressed, numerical values other than one or a plurality of predetermined numerical values to be compressed are output as they are, and for the numerical values to be compressed, the numerical values to be compressed and the continuous number of the numerical values to be compressed that are the same as the numerical values to be compressed A first data compression unit that encodes and outputs a numerical value representing
A second data compression unit that performs entropy coding on the data that has been encoded by the first data compression unit using a table that associates codes and numerical values according to the type of data to be compressed. A data compression program which is operated as a data compression apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066910A JP2005260420A (en) | 2004-03-10 | 2004-03-10 | Data compression apparatus and data compression program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066910A JP2005260420A (en) | 2004-03-10 | 2004-03-10 | Data compression apparatus and data compression program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005260420A true JP2005260420A (en) | 2005-09-22 |
Family
ID=35085747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004066910A Withdrawn JP2005260420A (en) | 2004-03-10 | 2004-03-10 | Data compression apparatus and data compression program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005260420A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017115A (en) * | 2006-07-05 | 2008-01-24 | Fujifilm Corp | Data compression apparatus and data compression program |
JP2008035066A (en) * | 2006-07-27 | 2008-02-14 | Fujifilm Corp | Data compression apparatus and data compression program |
-
2004
- 2004-03-10 JP JP2004066910A patent/JP2005260420A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017115A (en) * | 2006-07-05 | 2008-01-24 | Fujifilm Corp | Data compression apparatus and data compression program |
JP4689545B2 (en) * | 2006-07-05 | 2011-05-25 | 富士フイルム株式会社 | Data compression apparatus and data compression program |
KR101366030B1 (en) | 2006-07-05 | 2014-02-25 | 후지필름 가부시키가이샤 | Data compression apparatus and data compressing program storage medium |
JP2008035066A (en) * | 2006-07-27 | 2008-02-14 | Fujifilm Corp | Data compression apparatus and data compression program |
JP4699307B2 (en) * | 2006-07-27 | 2011-06-08 | 富士フイルム株式会社 | Data compression apparatus and data compression program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7826670B2 (en) | Data compression apparatus and data compression program storage medium | |
JP4689545B2 (en) | Data compression apparatus and data compression program | |
US7183950B2 (en) | Data compression apparatus, and data compression program storage medium | |
JP2006121645A (en) | Image compression apparatus and image compression program | |
JP3461309B2 (en) | Huffman coded data compression device | |
JP3278298B2 (en) | Bitmap data compression method and compression apparatus | |
US7684629B2 (en) | Data compression apparatus, and data compression program storage medium | |
JP4633576B2 (en) | Data compression apparatus and data compression program | |
JPH11168632A (en) | Binary expression processing method for dither image, method for uncompressing dither image expressed in compression binary representation and compression and uncompression system for dither image | |
JPH10215379A (en) | Image coder and image decoder | |
JP4173498B2 (en) | Data compression apparatus and data compression program | |
JP2005277932A (en) | Device and program for compressing data | |
JP4435586B2 (en) | Data compression apparatus and data compression program | |
JP2005252531A (en) | Device and program for compressing data | |
JP4377351B2 (en) | Data compression apparatus and data compression program | |
JP2005260420A (en) | Data compression apparatus and data compression program | |
JP2005260408A (en) | Data compression apparatus and data compression program | |
JP2007174464A (en) | Data compression apparatus and program | |
JP4131969B2 (en) | Data compression apparatus and data compression program | |
JP4181147B2 (en) | Data compression apparatus and data compression program | |
JP4131970B2 (en) | Data compression apparatus and data compression program | |
JP4629512B2 (en) | Data compression apparatus and data compression program | |
JP4377352B2 (en) | Data compression apparatus and data compression program | |
JP4699307B2 (en) | Data compression apparatus and data compression program | |
JP2006060490A (en) | Image compressor and image compression program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |