JP2008035066A - Data compression apparatus and data compression program - Google Patents
Data compression apparatus and data compression program Download PDFInfo
- Publication number
- JP2008035066A JP2008035066A JP2006204760A JP2006204760A JP2008035066A JP 2008035066 A JP2008035066 A JP 2008035066A JP 2006204760 A JP2006204760 A JP 2006204760A JP 2006204760 A JP2006204760 A JP 2006204760A JP 2008035066 A JP2008035066 A JP 2008035066A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- unit
- numerical value
- value
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (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))との差分によって符号化することが提案されている。
さらに、特許文献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にデータ伸長処理を施して、ビットマップデータ12B,13Bを生成する。ここで、CTデータについてはホストコントローラ100でのデータ圧縮の際非可逆データ変換処理が行なわれており、データ伸長後のCTデータ(ビットマップデータ12B)は完全にはデータ圧縮前のCTデータ(ビットマップデータ12A)には戻らないが、ほぼ同一のビットマップデータが復元される。
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等の可逆圧縮方式が採用される。
しかし、JPEG等の圧縮方式では、ソフトウェアでの圧縮処理に時間を要し、圧縮処理のシステム全体としての処理能力を劣化させる要因となっていた。 However, in a compression method such as JPEG, it takes time to perform compression processing by software, which causes a deterioration in the processing capability of the entire compression processing system.
本発明は上記事情に鑑み、CTデータの圧縮に適用可能な新たな好ましい圧縮処理を行うことができるデータ圧縮装置およびデータ圧縮プログラムを提供することを目的とする。 In view of the above circumstances, an object of the present invention is to provide a data compression apparatus and a data compression program capable of performing a new preferable compression process applicable to CT data compression.
上記目的を達成する本発明のデータ圧縮装置は、
所定の単位ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置において、
被圧縮データを構成する数値を、上記連続におけるその数値の周囲の所定位置に存在する複数の数値とその数値との相違が縮小するように書き換えて出力する非可逆データ変換部と、
該非可逆データ変換部によって出力された被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
上記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
上記オフセット部によって数値がオフセットされた被圧縮データの各数値を、上記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
上記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部と、
上記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたことを特徴とする。
The data compression apparatus of the present invention that achieves the above object provides:
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,
A irreversible data conversion unit that rewrites and outputs a numerical value constituting the compressed data so that a difference between the numerical value and the numerical value existing at a predetermined position around the numerical value in the continuation is reduced;
A difference generating unit that generates new compressed data composed 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 output by the lossy data conversion unit; ,
An offset unit for offsetting each numerical value constituting new compressed data generated by the difference generation unit by a predetermined value;
By dividing each numerical value of the compressed data whose numerical value is offset by the offset unit into an upper bit part and a lower bit part at a predetermined divided bit number smaller than the unit bit number, the compressed data is A dividing unit that divides the upper data consisting of a continuation of the upper bit part in each numerical value and the lower data consisting of a continuation of the lower bit part of each numerical value;
A lower data compression unit that performs lossless compression processing on the lower data divided by the dividing unit;
And an upper data compression unit that performs a lossless compression process on the upper data divided by the dividing unit.
ここで、上記の『被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより』における『隣接する』とは、データストリーム上で隣接してもよいが、必ずしもそれに限定されるものではない。例えば、2次元画像データが1次元ストリーム状のデータとして扱われている場合であれば、2次元的な画像上で見て隣接してもよい。また、『隣接する数値どうしの差分』とは、1次元的な差分のみならず2次元以上の多次元的な差分も含む意である。以下においても同様である。 Here, “adjacent” in the above “by calculating the difference between adjacent numerical values for a series of numerical values constituting the compressed data” may be adjacent on the data stream, but is not necessarily limited thereto. It is not something. For example, if two-dimensional image data is handled as one-dimensional stream data, the two-dimensional images may be adjacent to each other when viewed on the two-dimensional image. Further, “difference between adjacent numerical values” means not only a one-dimensional difference but also a multi-dimensional difference of two or more dimensions. The same applies to the following.
また、本発明のデータ圧縮装置においては、上記非可逆データ変換部が、被圧縮データを構成する数値を書き換えるに際し、該数値と、該数値および上記複数の数値からなる数値群の平均値との相違が所定程度に満たない場合には、その書き換え対象の数値を該平均値に書き換えるものであることが好ましい。このとき、上記非可逆データ変換部が、圧縮率の入力を受けるものであり、被圧縮データを構成する数値を書き換えるに際し、該数値と、該数値および上記複数の数値からなる数値群の平均値との相違が、上記圧縮率が大きいほど大きい所定程度に満たない場合には、その書き換え対象の数値を該平均値に書き換えるものであってもよい。 Further, in the data compression device of the present invention, when the irreversible data conversion unit rewrites the numerical value constituting the compressed data, the numerical value and an average value of the numerical value group including the numerical value and the plurality of numerical values. When the difference is less than a predetermined level, it is preferable to rewrite the numerical value to be rewritten to the average value. At this time, the irreversible data conversion unit receives an input of the compression rate, and when rewriting the numerical value constituting the compressed data, the average value of the numerical value and the numerical value group consisting of the numerical value and the plurality of numerical values If the difference is less than a predetermined level that is larger as the compression ratio is larger, the numerical value to be rewritten may be rewritten to the average value.
また、本発明のデータ圧縮装置においては、上記非可逆データ変換部が、被圧縮データを構成する数値を書き換えるに際し、該数値と、該数値および上記複数の数値からなる数値群の平均値との相違が所定程度以上である場合には、元の相違以下該所定程度以上の相違が残るように書き換えるものであることが好ましい。 Further, in the data compression device of the present invention, when the irreversible data conversion unit rewrites the numerical value constituting the compressed data, the numerical value and an average value of the numerical value group including the numerical value and the plurality of numerical values. When the difference is greater than or equal to a predetermined level, it is preferable to rewrite the difference so that the difference equal to or greater than the predetermined level remains below the original difference.
また、本発明のデータ圧縮装置は、
上記上位データ圧縮部が、上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部を備えたものであることも好ましく、さらには、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
符号と数値を対応づけるテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが、より好ましい。
The data compression apparatus of the present invention
The upper data compression unit outputs the numerical values except the one or more predetermined compression target numerical values in the upper data as they are, and the compression target numerical values are the same as the compression target numerical values and the compression target numerical values. It is also preferable to include a first encoding unit that encodes and outputs a numerical value representing a continuous number of numerical values to be compressed,
The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
It is more preferable to include a second encoding unit that performs entropy encoding on the data after being encoded by the first encoding unit using a table that associates a code with a numerical value.
また、本発明のデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
ハフマンテーブルを用いて、上記第1の符号化部で符号化された後のデータにハフマン符号化を施す第2の符号化部を備えたものであってもよい。
The data compression apparatus of the present invention
The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
A second encoding unit that performs Huffman encoding on data encoded by the first encoding unit using a Huffman table may be provided.
さらに、本発明のデータ圧縮装置は、
上記上位データ圧縮部が、
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
上記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
上記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、
上記符号割当部で符号が割り当てられたテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが、より好ましい。
Furthermore, the data compression apparatus of the present invention is
The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
A histogram calculation unit for obtaining a histogram of numerical values appearing in the data encoded by the first encoding unit;
Based on the histogram obtained by the histogram calculation unit, a code allocating unit that allocates a code having a shorter code length to a table that associates codes and numerical values with higher appearance frequency values;
A second encoding unit that performs entropy encoding on the data encoded by the first encoding unit using the table to which the code is allocated by the code allocation unit; More preferable.
また、本発明のデータ圧縮装置は、
上記下位データ圧縮部が、符号と数値を対応づけるテーブルを用いて下位データにエントロピー符号化を施すものであることが好ましい。
The data compression apparatus of the present invention
The lower data compression unit preferably performs entropy coding on the lower data using a table that associates codes and numerical values.
ここで、本発明のデータ圧縮装置において、上記の下位データ圧縮部は、ハフマンテーブルを用いて下位データにハフマン符号化を施すものであってもよい。 Here, in the data compression device of the present invention, the lower data compression unit may perform Huffman coding on the lower data using a Huffman table.
また、本発明のデータ圧縮装置は、
上記下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであることも好適である。
The data compression apparatus of the present invention
It is also preferable that the low-order data compression unit outputs a low-order data without compression in response to an instruction to omit compression.
上記目的を達成する本発明のデータ圧縮プログラムは、
プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に、所定の単位ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を実行させるデータ圧縮プログラムにおいて、
上記情報処理装置上に、
被圧縮データを構成する数値を、上記連続におけるその数値の周囲の所定位置に存在する複数の数値とその数値との相違が縮小するように書き換えて出力する非可逆データ変換部と、
該非可逆データ変換部によって出力された被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
上記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
上記オフセット部によって数値がオフセットされた被圧縮データの各数値を、上記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
上記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部と、
上記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを構築することを特徴とする。
A data compression program of the present invention that achieves the above object is as follows.
In a data compression program that is incorporated in an information processing apparatus that executes a program and causes the information processing apparatus to perform data compression processing on data to be compressed consisting of a series of numerical values represented by a predetermined number of unit bits.
On the information processing apparatus,
A irreversible data conversion unit that rewrites and outputs a numerical value constituting the compressed data so that a difference between the numerical value and the numerical value existing at a predetermined position around the numerical value in the continuation is reduced;
A difference generating unit that generates new compressed data composed 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 output by the lossy data conversion unit; ,
An offset unit for offsetting each numerical value constituting new compressed data generated by the difference generation unit by a predetermined value;
By dividing each numerical value of the compressed data whose numerical value is offset by the offset unit into an upper bit part and a lower bit part at a predetermined divided bit number smaller than the unit bit number, the compressed data is A dividing unit that divides the upper data consisting of a continuation of the upper bit part in each numerical value and the lower data consisting of a continuation of the lower bit part of each numerical value;
A lower data compression unit that performs lossless compression processing on the lower data divided by the dividing unit;
An upper data compression unit that performs a lossless compression process on the upper data divided by the dividing unit is constructed.
なお、本発明にいうデータ圧縮プログラムについては、ここではその基本形態のみを示すのにとどめるが、これは単に重複を避けるためであり、本発明にいうデータ圧縮プログラムには、上記の基本形態のみではなく、前述したデータ圧縮装置の各形態に対応する各種の形態が含まれる。 The data compression program referred to in the present invention is only shown in its basic form here, but this is only for avoiding duplication, and the data compression program referred to in the present invention includes only the above basic form. Instead, various forms corresponding to each form of the data compression apparatus described above are included.
また、本発明のデータ圧縮プログラムがコンピュータ上に構成するオフセット部などといった要素は、1つの要素が1つのプログラム部品によって構築されるものであってもよく、1つの要素が複数のプログラム部品によって構築されるものであってもよく、複数の要素が1つのプログラム部品によって構築されるものであってもよい。また、これらの要素は、そのような作用を自分自身で実行するものとして構築されてもよく、あるいは、コンピュータに組み込まれている他のプログラムやプログラム部品に指示を与えて実行するものとして構築されても良い。 In addition, an element such as an offset unit configured on the computer by the data compression program of the present invention may be one element constructed by one program part, and one element constructed by a plurality of program parts. The plurality of elements may be constructed by one program component. In addition, these elements may be constructed so as to execute such actions by themselves, or constructed by giving instructions to other programs and program components incorporated in the computer. May be.
上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、被圧縮データ中の数値と上記の数値群の平均値との差分値の大きさが上記の所定の正定値以上であれば、非可逆データ変換部により、その数値を平均値に近づけるように数値の書き換えが行われる。このため、数値の書き換えが行われたデータは周囲の数値との差が小さい数値で構成されることとなり、隣接した数値同士の相関が強くて圧縮されやすいデータとなる。このような数値の書き換えが行われたデータは、オフセット部によって数値がオフセットされた後に上位データと下位データとに分割されて、それぞれのデータに対しては可逆圧縮処理が実行される。 According to the data compression apparatus or data compression program of the present invention, if the difference value between the numerical value in the compressed data and the average value of the numerical value group is not less than the predetermined positive definite value, it is irreversible. The data conversion unit rewrites the numerical value so that the numerical value approaches the average value. For this reason, the data whose numerical values have been rewritten is composed of numerical values having a small difference from the surrounding numerical values, and the data between adjacent numerical values is strong and easily compressed. The data that has undergone such rewriting of numerical values is divided into upper data and lower data after the numerical values are offset by the offset unit, and reversible compression processing is performed on each data.
一般に、CTデータから得られる新たな色版データの場合には、後で詳述するように、上位データと下位データとではデータ中の数値の分布傾向が顕著に異なっているので、各データに適した可逆圧縮処理が存在し、本発明による圧縮処理によって全体として大きな圧縮率が達成される。また、各データに施される可逆圧縮処理としては、アルゴリズムが単純な処理が適用可能であるため、本発明による圧縮処理は処理時間が短く、特にCTデータの圧縮に適用すると特に好ましい圧縮処理が実現される。 In general, in the case of new color plate data obtained from CT data, as will be described in detail later, the distribution tendency of numerical values in the data is significantly different between the upper data and the lower data. There is a suitable lossless compression process, and the compression process according to the present invention achieves a large compression ratio as a whole. In addition, as a lossless compression process applied to each data, a process with a simple algorithm can be applied. Therefore, the compression process according to the present invention has a short processing time, and a compression process particularly preferable when applied to compression of CT data. Realized.
ここで、上記本発明のデータ圧縮装置ないしデータ圧縮プログラムは、非可逆データ変換部における数値の書き換えの方式として、数値と、その数値および上記複数の数値からなる数値群の平均値との相違が所定程度に満たない場合には、その書き換え対象の数値を該平均値に書き換える方式を採用することにより、書き換え後のデータを、同程度の大きさの数値が連続して現れるデータに変換することができる。このようなデータ変換の結果、被圧縮データは、極めて圧縮されやすい形態のデータに変換されることとなる。このとき、非可逆データ変換部が、圧縮率の入力を受けるものであり、上記所定程度が上記圧縮率が大きいほど大きいものであるような書き換え方式を採用することにより、ユーザの所望するような圧縮率でデータの圧縮が行われる。 Here, in the data compression apparatus or data compression program of the present invention, as a numerical value rewriting method in the irreversible data conversion unit, there is a difference between a numerical value and an average value of the numerical value group including the numerical value and the plurality of numerical values. If it is less than the predetermined level, the rewritten data is converted to the average value to convert the rewritten data into data that has the same numerical value continuously. Can do. As a result of such data conversion, the data to be compressed is converted into data in a form that is very easily compressed. At this time, the irreversible data conversion unit receives the input of the compression rate, and adopts a rewriting method in which the predetermined degree is larger as the compression rate is larger, so that the user desires. Data is compressed at the compression rate.
また、上記本発明のデータ圧縮装置ないしデータ圧縮プログラムが、非可逆データ変換部における数値の書き換えの方式として、数値と、該数値および上記複数の数値からなる数値群の平均値との相違が所定程度以上である場合には、元の相違以下該所定程度以上の相違が残るように書き換える方式を採用することにより、データの形態が圧縮されやすい形態に変換されるとともにデータ中の連続する数値の変化の情報などといった元のデータの特徴も充分維持されることとなる。 The data compression apparatus or data compression program according to the present invention provides a method for rewriting a numerical value in the irreversible data conversion unit, wherein a difference between a numerical value and an average value of the numerical value group including the numerical value and the plurality of numerical values is predetermined. If this is the case, the data format is converted into a format that is easy to compress by adopting a method of rewriting so that the difference of the predetermined level or less remains below the original difference, and the continuous numerical values in the data are The characteristics of the original data such as change information are sufficiently maintained.
また、上記の上位データ圧縮部が第1の符号化部を備えると、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。 Further, when the upper data compression unit includes the first encoding unit, only the numerical value to be compressed is encoded into the numerical value representing the numerical value to be compressed and the continuous number, and therefore, the redundancy is higher than that of the original data. Is avoided, and the compression rate is improved.
また、上記の上位データ圧縮部が第2の符号化部を備えると、エントロピー符号化(典型的にはハフマン符号化)による、圧縮率の更なる向上が見込まれる。 Further, when the upper data compression unit includes the second encoding unit, further improvement of the compression rate is expected by entropy encoding (typically Huffman encoding).
さらに、上記の上位データ圧縮部が、ヒストグラム算出部と符号割当部とを備え、第2の符号化部が、符号割当部で符号が割り当てられたテーブルを用いてエントロピー符号化(例えばハフマン符号化)を施すものであると、符号の割り当てが固定されたテーブルを用いたエントロピー符号化と比べ、圧縮率をさらに大きく向上させることができる。 Further, the higher-order data compression unit includes a histogram calculation unit and a code allocation unit, and the second encoding unit uses entropy coding (for example, Huffman coding) using a table to which codes are allocated by the code allocation unit. ), The compression ratio can be further improved as compared with entropy coding using a table in which code assignment is fixed.
また、上記の下位データ圧縮部が、エントロピー符号化を施すものであると、エントロピー符号化(典型的にはハフマン符号化)による、圧縮率の更なる向上が見込まれる。 Further, if the lower data compression unit performs entropy coding, further improvement of the compression rate by entropy coding (typically Huffman coding) is expected.
さらに、上記の下位データ圧縮部が、圧縮省略の指示を受けて下位データを無圧縮で出力するものであると、そのような指示によってより高速な圧縮処理を選択することができる。 Furthermore, when the lower data compression unit receives an instruction to omit compression and outputs the lower data without compression, it is possible to select a higher-speed compression process according to such an instruction.
以下において説明する実施形態は、図1に示す全体システムの中のホストコントローラに組み込まれる画像圧縮装置であり、さらに具体的には、図2に示すホストコントローラ内のCTのビットマップデータ12AおよびLWのビットマップデータ13Aについてデータ圧縮を行なう処理に関するものである。したがって、ここでは、図1,図2を参照して説明したCTデータおよびLWデータについてのデータ圧縮処理が以下に説明する本発明の実施形態としてのデータ圧縮処理に置き換わり、インターフェース機器内でのデータ伸長(解凍)処理もその本発明の実施形態としてのデータ圧縮処理に対応したデータ伸長(解凍)処理に置き換わるものと理解し、図1に示す全体システムおよび図2に示す処理の流れについて重複した図示および重複説明は省略する。
The embodiment described below is an image compression apparatus incorporated in a host controller in the overall system shown in FIG. 1, and more specifically,
図3は、本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置を示すブロック構成図である。 FIG. 3 is a block diagram showing an image compression apparatus corresponding to an embodiment of the data compression apparatus of the present invention.
この図3に示す画像圧縮装置500は、CTデータおよびLWデータの両方に対して、圧縮処理を施す画像圧縮装置であり、この圧縮処理のために、差分符号化部510、フィルタリング処理部515、オフセット部520、プレーン分割部530、Lプレーン圧縮部540、Hプレーン圧縮部550を備えている。各部510〜550の詳細は後述するが、この画像圧縮装置500内での画像データの流れは以下のとおりである。
The
入力画像ファイルD0(本実施形態では、図2に示すように、ビットマップに展開されたCTデータ12AやLWデータ13Aが格納されたファイル)は、まず、フィルタリング処理部515に入力される。また、このフィルタリング処理部515には、ユーザから指定された、入力画像ファイルD0のデータを圧縮する際の圧縮率も入力される。このフィルタリング処理部515では、このデータを構成する画素値それぞれについて、各画素値の位置を中心とする画素値のブロックの平均値と、各画素値との差分の大きさが指定された圧縮率に応じて決まる所定値未満であれば各画素値をブロックの平均値に書き換え、その差分の大きさが上記の所定値以上であれば各画素値を差分の大きさが上記の所定値となるように各画素値を書き換える処理(以下では、フィルタリング処理と呼ぶ)が行われる。入力されたデータは、このフィルタリング処理により画素値の相関が強められて圧縮されやすいデータに変換される。ここで、フィルタリング処理部515が、本発明にいう非可逆データ変換部の一例に相当する。
An input image file D0 (in this embodiment, a file storing
フィルタリング処理が施されたデータは、次に差分符号化部510に入力されて、2次元差分符号化処理、すなわち、入力されてきたデータを構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求めることによりその差分を表わす8ビットの数値の連続からなる画像データを生成する処理が行なわれる。この差分符号化部510は、本発明にいう差分生成部の一例に相当する。
The data subjected to the filtering process is then input to the
差分符号化部510で生成された、差分を表わす数値の連続からなる画像データは、オフセット部520に入力されて所定量のオフセットが施される。プレーン分割部530では、オフセット後の画像データ中の8ビットの各数値が、下位ビットと上位ビットとに分けられることにより、画像データが、下位ビットの数値の連続からなる下位サブプレーンD1Lと上位ビットの数値の連続からなる上位サブプレーンD1Hとに分割される。このオフセット部520が、本発明にいうオフセット部の一例に相当し、プレーン分割部530が、本発明にいう分割部の一例に相当する。また、下位サブプレーンD1Lおよび上位サブプレーンD1Hは、それぞれ、本発明にいう下位データおよび上位データの各一例に相当する。プレーン分割部530で分割された下位サブプレーンD1Lおよび上位サブプレーンD1Hは、それぞれ、Lプレーン圧縮部540およびHプレーン圧縮部550において可逆圧縮が施される。これらLプレーン圧縮部540およびHプレーン圧縮部550は、それぞれ、本発明にいう下位データ圧縮部および上位データ圧縮部の各一例に相当する。以下、Lプレーン圧縮部540およびHプレーン圧縮部550においてそれぞれ施される可逆圧縮の内容の概略を説明する。
The image data that is generated by the
Lプレーン圧縮部540には、Lプレーン圧縮部540にハフマン符号化部541が備えられており、下位サブプレーンD1Lは、このハフマン符号化部541に入力される。このハフマン符号化部541は、数値と符号とを対応づける固定的なハフマンテーブルに従って、入力されてきた下位サブプレーンD1Lを構成する数値をそのハフマンテーブルに従う符号に書き換える符号化処理を行う。このハフマン符号化は、エントロピー符号化の一種である。なお、Lプレーン圧縮部540にはモード切換部542が組み込まれており、このモード切換部542は、ユーザから、高速モードと通常モードとの切り換えを指示されて、上記のハフマン符号化部541によるハフマン符号化を経る通常モードと、ハフマン符号化を省略して下位サブプレーンD1Lをそのまま出力する高速モードとを切り換える。このようなLプレーン圧縮部540からは、下位サブプレーンD1Lが圧縮された下位圧縮データD2Lが出力されるが、高速モードの場合には下位圧縮データD2Lは下位サブプレーンD1Lそのものである。
The L
一方、Hプレーン圧縮部550には、ランレングス符号化部551と、データスキャニング部552と、ハフマン符号化部553が備えられており、上位サブプレーンD1Hはランレングス符号化部551に入力される。
On the other hand, the H
ランレングス符号化部551では、先ず、入力されてきた上位サブプレーンD1Hのデータの中から1つもしくは複数の圧縮対象数値の存在及び同一の圧縮対象数値の連続数が検出される。次いで、ランレングス符号化部551では、その検出結果を受けて、上位サブプレーンD1Hのデータ中、圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理が行なわれる。このランレングス符号化部551では、その符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。ここでは、具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化が行なわれる。本実施形態では、このランレングス符号化部551が、本発明にいう第1の符号化部の一例に相当する。
In the run-
また、ランレングス符号化部551での符号化後のデータは、次に、データスキャニング部552とハフマン符号化部553との双方に入力される。データスキャニング部552では、ランレングス符号化部551で符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての数値の出現頻度(ヒストグラム)が求められる。ここで、この出現頻度を求める処理は、本実施形態では、図3に示す上位サブプレーンD1Hの1つずつを単位として実行され、各上位サブプレーンD1Hの、ランレングス符号化部551で符号化された後のデータ中の数値の出現頻度が求められる。さらに、データスキャニング部552では、求められたデータヒストグラム(数値の出現頻度)に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。このデータスキャニング部552は、本発明にいうヒストグラム算出部および符号割当部の各一例を兼ね備えたものに相当する。
The data encoded by the run-
データスキャニング部552で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部553に渡され、ハフマン符号化部553では、その渡されたハフマンテーブルに従って、そのハフマン符号化部553に入力されてきたデータを構成する数値を、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短かいビット長で表わされる符号に書き換える符号化処理が行なわれる。このハフマン符号化部553は、本発明にいう第2の符号化部の一例に相当する。
The Huffman table in which a code is assigned to a numerical value by the
ハフマン符号化部553でハフマン符号化された後のデータは、データスキャニング部552で割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、上位サブプレーンD1Hが圧縮された上位圧縮データD2HとしてHプレーン圧縮部550から出力される。
The data after the Huffman coding by the
このようにLプレーン圧縮部540およびHプレーン圧縮部550のそれぞれから出力される下位圧縮データD2Lと上位圧縮データD2Hとの組が、元の画像データに対する圧縮データが構成される。この圧縮データは、図1に示すSCSI等の汎用インターフェース150を経由してインターフェース機器200に転送される。インターフェース機器200では、その受け取った圧縮データにデータ伸長処理が施されるが、このデータ伸長処理にあたっては、図3で説明した各種の符号化処理に対応する復号化処理が施されて元の入力画像ファイル中の画像データとほぼ同一の画像データが復元される。
In this way, a set of lower-order compressed data D2L and higher-order compressed data D2H output from each of the L-
図4は、図1に示すホストコントローラのハードウェア構成図である。 FIG. 4 is a hardware configuration diagram of the host controller shown in FIG.
図1に示すホストコントローラ100は、図4に示す構成のコンピュータシステムで構成されている。
The
この図4に示す、コンピュータシステムで構成されたホストコントローラ100には、CPU111、RAM112、通信インターフェース113、ハードディスクコントローラ114、FDドライブ115、CDROMドライブ116、マウスコントローラ117、キーボードコントローラ118、ディスプレイコントローラ119、および通信用ボード120が備えられており、これらはバス110で相互に接続されている。
4 includes a
ハードディスクコントローラ114は、このホストコントローラ100に内蔵されているハードディスク104のアクセスを制御するものであり、FDドライブ115、CDROMドライブ116は、このホストコントローラ100に取出し自在に装填されるフレキシブルディスク(FD)130、CDROM140のアクセスを制御するものである。また、マウスコントローラ117、キーボードコントローラ118は、このホストコントローラ100に備えられたマウス107、キーボード108の操作を検出してCPU111に伝達する役割を担っている。さらに、ディスプレイコントローラ119は、このCPU111の指示に基づいて、ホストコントローラ100に備えられた画像ディスプレイ109の表示画面上に画像を表示する役割を担っている。
The
通信用ボード120は、SCSI等の汎用インターフェースプロトコルに準拠した通信を担っており、圧縮後の画像データをインターフェースケーブル150を介してインターフェース機器200(図1参照)に転送する役割を担っている。
The
さらに、通信用インターフェース113は、インターネット等の汎用の通信を担っており、このホストコントローラ100は、この通信用インターフェース113を経由して画像データを取り込むこともできる。
Further, the
RAM112には、ハードディスク104に格納されているプログラムが読み出されてCPU111での実行のために展開され、CPU111では、そのRAM112に展開されたプログラムが読み出されて実行される。
A program stored in the
図5は、本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮処理プログラムの模式構成図である。 FIG. 5 is a schematic configuration diagram of an image compression processing program corresponding to an embodiment of the data compression program of the present invention.
ここでは、この画像圧縮プログラム600は、CDROM140に記憶されている。
Here, the
この画像圧縮プログラム600は、差分符号化部610、フィルタリング処理部615、オフセット部620、プレーン分割部630、Lプレーン圧縮部640、Hプレーン圧縮部650から構成されている。このCDROM140には、ここに示す画像圧縮プログラム600のほか、図1に示すホストコントローラ100における一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
The
この図5に示すCDROM140が、図4に示すホストコントローラ100に装填されCDROMドライブ116でアクセスされてそのCDROM140に記憶されているプログラムがこのホストコントローラ100にアップロードされ、ハードディスク104に記憶される。このハードディスク104に記憶されたプログラムがそのハードディスク104から読み出されてRAM112に展開されCPU111で実行されると、このホストコントローラ100は、図3に示す画像圧縮装置500としての処理を含む、ホストコントローラとしての各種処理を実行する装置として動作する。
The
ここで、図5に示す画像圧縮プログラム600は、ホストコントローラ100にインストールされてCPU111で実行されることにより、そのホストコントローラ100内に図3に示す画像圧縮装置500を実現するものであり、差分符号化部610、フィルタリング処理部615、オフセット部620、プレーン分割部630、Lプレーン圧縮部640、Hプレーン圧縮部650は、CPU111で実行されることにより、そのホストコントローラ100を、図3に示す画像圧縮装置500を構成する、それぞれ、差分符号化部510、フィルタリング処理部515、オフセット部520、プレーン分割部530、Lプレーン圧縮部540、Hプレーン圧縮部550として動作させるプログラム部品である。つまり、これらのプログラム部品により、画像圧縮装置500の構成要素がホストコントローラ100上に実質的に構築されることとなる。
Here, the
図5の画像圧縮プログラム600を構成する各部610〜650の、CPU111で実行されたときの作用は、それぞれ、図3の画像圧縮装置500を構成する各部510〜550の作用そのものである。したがって、図3の画像圧縮装置500の各部510〜550に関する、これまでの説明、および、以下に説明する詳細説明をもって、図5の画像圧縮プログラム600を構成する各部610〜650の説明を兼ねるものとする。
The operations of the
まず、フィルタリング処理部515で行われる処理について詳述する。
First, the process performed in the
図6は、図3のデータ圧縮装置500に入力される入力画像ファイル中の画像データの構造を示す図である。
FIG. 6 is a diagram showing the structure of image data in the input image file input to the
入力画像ファイル中の画像データで表される画像は、所定の主走査方向に画素がM個並んでなるラインが、その主走査方向とは直角な副走査方向にNライン並ぶことによって構成されており、このような構成を反映してその画像データも、図6に示すように、主走査方向(図の左右方向)に画素値がM個並んでなるラインが、副走査方向(図の上下方向)にNライン並んでいるという構造を備えている。この図では、上からn番目のライン中の、左からm番目の画素値はDn,mと表記されており、この表記法を用いて、副走査方向にn番目のラインについては、主走査方向に並ぶ各画素の画素値が、その並び順に、
Dn,1,Dn,2,…,Dn,m−1,Dn,m,…,Dn,M−2,Dn,M−1,Dn,M
と表されている。
The image represented by the image data in the input image file is configured by arranging M lines in a predetermined main scanning direction and N lines in a sub-scanning direction perpendicular to the main scanning direction. As shown in FIG. 6, the image data reflecting such a configuration also includes a line in which M pixel values are arranged in the main scanning direction (left-right direction in the figure). It has a structure in which N lines are aligned in the direction). In this figure, the m-th pixel value from the left in the n-th line from the top is represented as D n, m, and the n-th line in the sub-scanning direction using this notation is the main line. The pixel values of the pixels arranged in the scanning direction are
Dn , 1 , Dn , 2 , ..., Dn , m-1 , Dn , m , ..., Dn , M-2 , Dn , M-1 , Dn , M
It is expressed.
フィルタリング処理部515に上記の構造のデータが入力されると、フィルタリング処理部515では、このデータにおいて、データのへりの部分に位置する画素、すなわち、1番目のライン中の画素、N番目のライン中の画素、各ライン中の左端に位置する画素、および各ライン中の右端に位置する画素については、その画素値をそのまま出力する。これらの画素以外については、上からn番目のライン中の、左からm番目の画素値Dn,mを(ここでは、n=2〜N−1、m=2〜M−1とする)、下記のルールに従って、新たなデータ値Pn,mに書き換える。
|Dn,m−F|<R ならば、Pn,m=F ……………(1)
Dn,m−F≧R ならば、Pn,m=F+R ……………(2)
Dn,m−F≦R ならば、Pn,m=F−R ……………(3)
ここで、上式(1)〜(3)に現れるRは定数であり、Fは下記で定義される値である。
F=(Dn−1,m−1+Dn−1,m+Dn−1,m+1+Dn,m−1+Dn,m+Dn,m+1+Dn+1,m−1+Dn+1,m+Dn+1,m+1)/9 ……………(4)
以下、上式(1)〜(4)で定義されるデータ変換の意味について説明する。
When the data having the above structure is input to the
If | D n, m −F | <R, then P n, m = F (1)
If D n, m −F ≧ R, then P n, m = F + R (2)
If D n, m −F ≦ R, then P n, m = F−R (3)
Here, R appearing in the above formulas (1) to (3) is a constant, and F is a value defined below.
F = (Dn -1, m-1 + Dn -1, m + Dn -1, m + 1 + Dn , m-1 + Dn , m + Dn , m + 1 + Dn + 1, m-1 + Dn + 1, m + Dn + 1, m + 1 ) / 9 …………… (4)
Hereinafter, the meaning of the data conversion defined by the above formulas (1) to (4) will be described.
式(4)で定義されるFは、図6の中央部に示す、画素値Dn,mを中心とする3×3個の画素値のブロックの平均値を表している。フィルタリング処理部515では、画素値Dn,mの書き換えを行うに際し、この画素値Dn,mと平均値Fとの差が、所定幅内に収まっているか否かについて判定を行う。この所定幅が上式(1)〜(3)に現れるRであり、このRが、画素値Dn,mと平均値Fとの差の大きさの評価基準となっている。このRは、ユーザから指定された圧縮率に応じて決定される定数であり、圧縮率が大きいほど大きな値となる。
F defined by Equation (4) represents an average value of a block of 3 × 3 pixel values centered on the pixel value D n, m shown in the center of FIG. When the pixel value D n, m is rewritten, the
フィルタリング処理部515は、画素値Dn,mと平均値Fとの差が、この所定幅R内に収まっている場合には、式(1)のように平均値Fを、画素値Dn,mの書き換えデータ値Pn,mとして出力する。すなわち、画素値Dn,mが、平均値Fと大差ないと考えられるときには、画素値Dn,mは、その平均値Fに書き換えられることとなる。
When the difference between the pixel value D n, m and the average value F is within the predetermined width R, the
一方、画素値Dn,mが、平均値Fに比べて所定幅R以上に大きい場合には、式(2)のようにF+Rが、画素値Dn,mの書き換えデータ値Pn,mとして出力される。すなわち、画素値Dn,mが、平均値Fよりも大きすぎると考えられるときには、画素値Dn,mは、その平均値に所定幅Rを加えただけの、元のDn,mよりは平均値に近い値に書き換えられることとなる。 On the other hand, when the pixel value D n, m is larger than the predetermined value R as compared with the average value F, F + R becomes the rewritten data value P n, m of the pixel value D n, m as shown in the equation (2). Is output as That is, when the pixel value D n, m is considered to be too larger than the average value F, the pixel value D n, m is greater than the original D n, m obtained by adding the predetermined width R to the average value. Is rewritten to a value close to the average value.
また、画素値Dn,mが、平均値Fに比べて所定幅R以上に小さい場合には、式(3)のようにF−Rを、画素値Dn,mの書き換えデータ値Pn,mとして出力される。すなわち、
画素値Dn,mが、平均値Fよりも小さすぎると考えられるときには、画素値Dn,mは、その平均値から所定幅Rを引いただけの、元のDn,mよりは平均値に近い値に書き換えられることとなる。
In addition, when the pixel value D n, m is smaller than the predetermined width R compared to the average value F, FR is changed to the rewritten data value P n of the pixel value D n, m as shown in Expression (3). , M. That is,
When the pixel value D n, m is considered to be too small than the average value F, the pixel value D n, m is an average value that is less than the original D n, m by subtracting a predetermined width R from the average value. Will be rewritten to a value close to.
まとめると、上式(1)〜(4)で定義されるデータ変換によって元の画像データの画素値は、この画素値のブロックの平均値に近い値の場合には平均値に書き換えられ、この画素値のブロックの平均値とかけ離れて大きいか、あるいはかけ離れて小さいといった画素値はならされることになる。フィルタリング処理部515における、このようなフィルタリング処理の結果、元の画像データは、隣接する数値間の相関が強いデータに変換され、圧縮されやすいデータとなる。
In summary, the pixel value of the original image data is rewritten to the average value when the pixel value is close to the average value of the block of the pixel value by the data conversion defined by the above formulas (1) to (4). Pixel values that are far apart from the average value of the block of pixel values are large or far apart are small. As a result of such filtering processing in the
なお、上記のフィルタリング処理部515では、データのへりの部分に位置する画素(1番目のライン中の画素、N番目のライン中の画素、各ライン中の左端に位置する画素、および各ライン中の右端に位置する画素)については、それらの画素値をそのまま出力するものであったが、本発明は、データのへりの部分に位置する画素の画素値についてもこの画素値を含むブロック(例えば2×2個の画素値のブロック)の平均値との差に応じて画素値の書き換えを行うものであってもよい。
In the
また、本発明は、画素値のブロックとしては、上記のように3×3個の画素値のブロックの代わりに、同じライン上の連続した3個の画素値のブロックなど、その画素値を取り囲む画素値の一部とその画素値とからなるブロックを採用してもよく、本発明は、こうしたブロックの取り方には限定されない。 Further, in the present invention, as a block of pixel values, instead of the block of 3 × 3 pixel values as described above, a block of three pixel values that are continuous on the same line is surrounded by the pixel value. A block consisting of a part of the pixel value and the pixel value may be adopted, and the present invention is not limited to the method of taking such a block.
また、上記のフィルタリング処理部515では、書き換え対象となる画素値と、その画素値のブロックの平均値との差分の大きさに応じて、書き換え処理の分岐を行うものであるが、本発明は、ブロックの平均値との差分に限らず、ブロックの各数値と書き換え対象となる画素値との差分の2乗和の平方根を求めて、その2乗和の平方根の大きさに応じて、書き換え処理の分岐を行うものであってもよい。
The
フィルタリング処理部515でのフィルタリング処理後のデータは、次に図3の2次元差分符号化部510に入力される。
The data after filtering processing by the
図7は、図3の差分符号化部510に入力されるデータの構造を示す図、図8は、このデータに対して2次元差分符号化処理が施された後のデータの構造を示す図である。
7 is a diagram illustrating the structure of data input to the
差分符号化部510に入力されるデータ(フィルタリング処理後のデータ)は、図6に示す、フィルタリング処理前のデータと同様に、図7に示すように、主走査方向(図の左右方向)にデータ値がM個並んでなるラインが、副走査方向(図の上下方向)にNライン並んでいるという構造を備えている。この図7では、上述したフィルタリング処理で得られたデータ値が並んでいる様子が示されており、図7では、これらのデータ値は、16進表示で表されている。図3に示す差分符号化部510には、上記のような構造のデータが入力されて2次元差分符号化処理が施され、主走査方向に隣接するデータ値の差分における副走査方向での更なる差分が求められる。
Similarly to the data before the filtering process shown in FIG. 6, the data input to the differential encoding unit 510 (the data after the filtering process) is shown in FIG. 7 in the main scanning direction (the horizontal direction in the figure). It has a structure in which M lines of data values are arranged in N lines in the sub-scanning direction (vertical direction in the figure). FIG. 7 shows a state in which the data values obtained by the filtering process described above are arranged. In FIG. 7, these data values are represented in hexadecimal display. The
図8には、2次元差分符号化処理が施されたデータの構造が示されており、このデータも、2次元差分符号化後のデータ値が主走査方向にM個並んでなるラインが、副走査方向にNライン並んでいるという構造を備えている。この図では、上からn番目のライン中の、左からm番目の、2次元差分符号化後のデータ値は、Xn,mと表記されており、以下では、n=1〜N、m=1〜Mとして説明を行う。この2次元差分符号化後のデータ値Xn,mは、図7の中央部に示す、2次元差分符号化前の4つのデータ値{Pn−1,m−1,Pn−1,m,Pn,m−1,Pn,m}から、下記の変換式によって得られる。
Xn,m=(Pn,m−Pn,m−1)−(Pn−1,m−Pn−1,m−1) …(5)
ここで、n=1の場合やm=1の場合には、式(5)の右辺の2次元差分符号化前のデータ値の添え字に0が現れることとなるが、添え字が0となるデータ値については、下記のように定義する。
P0,0=P0,m=00 (m=1〜M), Pn,0=Pn−1,M (n=1〜N)…(6) ここで、式(6)の「00」は、データ値を16進表示で表したときに値がゼロであることを表している。以下、式(5)および式(6)の意味について簡単に説明する。
FIG. 8 shows the structure of data that has been subjected to the two-dimensional differential encoding process. This data also includes a line in which M data values after the two-dimensional differential encoding are arranged in the main scanning direction. It has a structure in which N lines are arranged in the sub-scanning direction. In this figure, the m-th data value after the two-dimensional differential encoding from the left in the n-th line from the top is expressed as X n, m , and in the following, n = 1 to N, m = 1 to M will be described. The data values X n, m after the two-dimensional differential encoding are four data values {P n−1, m−1 , P n−1, before the two-dimensional differential encoding shown in the center of FIG. m 2 , P n, m−1 , P n, m } is obtained by the following conversion formula.
X n, m = (P n , m -P n, m-1) - (P n-1, m -P n-1, m-1) ... (5)
Here, when n = 1 or m = 1, 0 appears in the subscript of the data value before the two-dimensional differential encoding on the right side of Equation (5), but the subscript is 0. The following data value is defined as follows.
P 0,0 = P 0, m = 00 (m = 1 to M ), P n, 0 = P n−1, M (n = 1 to N) (6) where “ “00” indicates that the value is zero when the data value is expressed in hexadecimal. Hereinafter, the meanings of the expressions (5) and (6) will be briefly described.
式(5)は、主走査方向に隣接するデータ値どうしの差分(すなわち、カッコの中の値)における副走査方向での更なる差分によって2次元差分符号化後のデータ値Xn,mが得られることを表しており、2次元差分符号化前のデータ値Pn,mが隣接するデータ値と相関が強い(すなわち同じような大きさのデータ値である)場合には、2次元差分符号化後のデータ値Xn,mは、ゼロに近い値となる。 Equation (5) indicates that the data value X n, m after the two-dimensional differential encoding is obtained by the further difference in the sub-scanning direction in the difference between data values adjacent in the main scanning direction (that is, the value in parentheses). If the data value P n, m before the two-dimensional differential encoding is strongly correlated with the adjacent data value (that is, the data value has the same size), the two-dimensional difference The encoded data value X n, m is a value close to zero.
式(6)は、副走査方向の仮想的な0番目のラインと、各ラインの左から0番目の仮想的なデータ値とを新たに設けたときの各データ値の定義を表す式である。主走査方向については左端のデータ値(左から0番目のデータ値Pn,0)とそのラインより1ライン前のラインの右端のデータ値Pn−1,Mとを同一視するという定義となっている。また、副走査方向については、図の一番上側のデータ値(0番目のライン上のデータ値)、すなわち、P0,0やP0,mが全て0に固定された定義となっている。 Expression (6) is an expression representing the definition of each data value when a virtual 0th line in the sub-scanning direction and the 0th virtual data value from the left of each line are newly provided. . With respect to the main scanning direction, the definition is that the leftmost data value (the 0th data value P n, 0 from the left) and the rightmost data value P n−1, M of the line one line before the line are identified. It has become. The sub-scanning direction is defined such that the uppermost data value (data value on the 0th line) in the drawing, that is, P 0,0 and P 0, m are all fixed to 0. .
2次元差分符号化後のデータにおいて、1ライン目のデータ値、および各ラインの1番目のデータ値については、式(5)の変換式の右辺に、添え字が「0」である項が現れるため、式(6)の定義が適用されることとなる。具体的には上記の式(5)および式(6)により、2次元差分符号化後の1ライン目のデータ値は、
X1,1=P1,1,
X1,2=P1,2−P1,1,
X1,3=P1,3−P1,2,
…………
X1,M=P1,M−P1,M−1
のように表される。
In the data after the two-dimensional differential encoding, for the data value of the first line and the first data value of each line, there is a term whose subscript is “0” on the right side of the conversion formula of Formula (5). In order to appear, the definition of Formula (6) will be applied. Specifically, according to the above equations (5) and (6), the data value of the first line after two-dimensional differential encoding is
X 1,1 = P 1,1 ,
X 1,2 = P 1,2 -P 1,1 ,
X 1,3 = P 1,3 -P 1,2,
…………
X 1, M = P 1, M -
It is expressed as
一方、2次元差分符号化後のデータにおいて、各ラインの1番目のデータ値については、上記の式(6)により、
X1,1=P1,1,
X2,1=(P2,1−P1,M)−P1,1,
X3,1=(P3,1−P2,M)−(P2,1−P1,M),
…………
XN,1=(PN,1−PN−1,M)−(PN−1,1−PN−2,M)
のように表される。このように、1ライン目のデータ値、および各ラインの1番目のデータ値については、その変換の仕方がやや特殊であるが、これらのデータ値以外のデータ値については、式(6)の定義が適用されることなく、式(5)がそのまま適用される。例えば、2ライン目のデータ値のうち一番左端を除いたデータ値は、
X2,2=(P2,2−P2,1)−(P1,2−P1,1),
X2,3=(P2,3−P2,2)−(P1,3−P1,2),
…………
X2,M=(P2,M−P2,M−1)−(P1,M−P1,M−1)
のように表される。
On the other hand, in the data after the two-dimensional differential encoding, the first data value of each line is expressed by the above equation (6).
X 1,1 = P 1,1 ,
X 2,1 = (P 2,1 -P 1, M ) -P 1,1 ,
X 3,1 = (P 3,1 -P 2, M )-(P 2,1 -P 1, M ),
…………
X N, 1 = (P N , 1 -P N-1, M) - (P N-1,1 -P N-2, M)
It is expressed as In this way, the data value of the first line and the first data value of each line have a slightly special conversion method. However, for data values other than these data values, the expression (6) Expression (5) is applied as it is without applying the definition. For example, the data value excluding the leftmost of the data values on the second line is
X 2,2 = (P 2,2 -P 2,1 ) - (
X 2,3 = (P 2,3 -P 2,2 ) - (
…………
X 2, M = (P 2 , M -
It is expressed as
この2次元差分符号化処理を、具体的な数値を用いて説明する。 This two-dimensional differential encoding process will be described using specific numerical values.
図9は、図3のデータ圧縮装置500を構成する差分符号化部510における2次元差分符号化処理を例示して示す図である。
FIG. 9 is a diagram illustrating a two-dimensional differential encoding process in the
この図の左側(パート(A))に示す各数値が画像データを構成するデータ値であり、この図の右側(パート(B))に示す各数値が2次元差分符号化処理で出力される出力値である。この図の横方向が主走査方向であり、主走査方向に並んだ8つの数値の並びが上記のラインである。この図に示すデータにはこうした8つの数値が並んだラインが全部で8本あり、図7および図8のデータにおいてN=8,M=8の場合のデータに相当する。 Each numerical value shown on the left side (part (A)) of this figure is a data value constituting the image data, and each numerical value shown on the right side (part (B)) of this figure is output by the two-dimensional differential encoding process. Output value. The horizontal direction in this figure is the main scanning direction, and the line of eight numerical values arranged in the main scanning direction is the above line. The data shown in this figure has a total of eight lines in which these eight numerical values are arranged, which corresponds to the data in the case of N = 8 and M = 8 in the data of FIGS.
図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」のみを出力する。
In the two-dimensional differential encoding process of data shown in part (A) of FIG. 9, first, among the data values “90
2ライン目については、X2,1を求める式、
X2,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」…が出力される。
For the second line, the formula to find X 2,1
X 2,1 = (P 2,1 -P 1, M ) -P 1,1
9, the numerical values shown in Part (A) of FIG. 9 are substituted for {P 2,1 , P 1,8 , P 1,1 } on the right side when M = 8, and “(87-58 ) -90 = 9F "is output as X 2,1 . For other X 2,2 , X 2,3 ,..., The difference between the data values adjacent in the main scanning direction for the second line and the data values adjacent in the main scanning direction for the first line. Further difference values “(84−87) − (8A−90) = 3”, “(88−84) − (8A−8A) = 04”.
3ライン目については、X3,1を求める式、
X3,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」…が出力される。
For the third line, the equation for determining X 3,1 ,
X 3,1 = (P 3,1 -P 2, M )-(P 2,1 -P 1, M )
9, the numerical values shown in Part (A) of FIG. 9 are substituted into {P 3,1 , P 2,8 , P 2,1 , P 1,8 } on the right side when M = 8. (8B-4C)-(87-58) = 10 "is output as X 3,1 . For other X 3,2 , X 3,3 ,..., The difference between the data values adjacent in the main scanning direction for the third line and the data values adjacent in the main scanning direction for the second line. Further difference values “(86−8B) − (84−87) = FE”, “(8A−86) − (88−84) = 00”... Are output.
以下、4ライン目以降についても、3ライン目の演算と同じ演算を繰り返すことにより、図9のパート(B)に示す各数値が得られることとなる。 Hereinafter, for the fourth and subsequent lines, by repeating the same calculation as the calculation for the third line, the numerical values shown in Part (B) of FIG. 9 are obtained.
図1に示すインターフェース機器200では、このように2次元差分符号化されたデータに対してデータの復号化処理が行われる。この復号化処理では、2次元差分符号化されたデータの値からPn,mを求める式が使用されており、この式は以下のようにして求めることができる。
In the
2次元差分符号化後のデータ値Xi,jを、i=1からi=mまで足し上げ、さらにj=1からj=mについて足し上げた結果は、式(5)および式(6)を用いて下記の式(7)のように表される。 The data values X i, j after two-dimensional differential encoding are added from i = 1 to i = m, and further added from j = 1 to j = m. Is expressed as in the following formula (7).
ここで、式の途中に現れる{P0,0,Pn,0,P0,m}に対して、式(6)が適用されている。この式から、2次元差分符号化前のデータ値Pn,mは、下記の式(8)のように表される。 Here, the expression (6) is applied to {P 0,0 , P n, 0 , P 0, m } appearing in the middle of the expression. From this equation, the data value P n, m before the two-dimensional differential encoding is expressed as the following equation (8).
図1に示すインターフェース機器200では、上記の式(8)により、先ず、1ライン目のデータ値P1,1,P1,2,…,P1,Mが求められる。例えば、1ライン目のデータ値のうち主走査方向にm番目のデータ値は、上記の式(8)にn=1を代入し、さらに式(6)のP0,M=0を利用して、下記の式(9)のように表される。
In the
このようにして、1ライン目のデータ値、P1,1,P1,2,…,P1,Mがすべて求められる。 In this way, the data values of the first line, P 1,1 , P 1,2 ,..., P 1, M are all obtained.
2ライン目のデータ値P2,1,P2,1,…,P2,Mについては、同様に上記の式(8)にn=2を代入し、さらに1ライン目のデータ値の複合化で得られたP1,Mを用いることで求めることができる。例えば、2ライン目のデータ値のうち主走査方向にm番目のデータ値は、下記の式(10)のように表される。 For the data values P 2,1 , P 2,1 ,..., P 2, M on the second line, similarly, n = 2 is substituted into the above equation (8), and further the data value of the first line is combined. It can be obtained by using P1 , M obtained by the conversion. For example, the m-th data value in the main scanning direction among the data values of the second line is represented by the following equation (10).
3ライン目以降のデータ値についても同様にして、上記の式(10)やそれ以降の計算で複合化されたデータ値を用いて求めることができる。図1に示すインターフェース機器200では、このような方式でデータの復号化処理が行われる。
Similarly, the data values for the third and subsequent lines can be obtained using the above-described equation (10) and the data values combined in the subsequent calculations. In the
図3の差分符号化部510では、以上説明したような2次元差分符号化が画像データに施される。この2次元差分符号化によって得られるデータは、図3のオフセット部520に入力され、そのデータの各数値について所定のオフセット値が加算され、データが下位サブプレーンD1Lと上位サブプレーンD1Hとに分割される。ここでは、データの分割までの処理についてCTの画像データを例に用いて具体的に説明する。
In the
図10は、CTの画像データの例を示す図である。 FIG. 10 is a diagram illustrating an example of CT image data.
この図10のパート(A)には、CTの画像データが表しているCT画像の一例としてモノクロの風景画像が示されており、本実施形態では、このようなCT画像の各画素における色の濃度が8ビットの数値で表現された画像データが用いられる。図10のパート(B)には、パート(A)に示す風景画像を表す画像データにおけるデータ値のヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸はデータ数(画素数)を表している。CT画像では一般に、ヒストグラムの幅が広く、ヒストグラム中でデータ数の山谷は生じてもヒストグラムの途中にデータ数が「0」の領域が生じることは極めてまれである。 Part (A) of FIG. 10 shows a monochrome landscape image as an example of a CT image represented by CT image data. In this embodiment, the color of each pixel of such a CT image is changed. Image data represented by numerical values having a density of 8 bits is used. Part (B) of FIG. 10 shows a histogram of data values in the image data representing the landscape image shown in Part (A), where the horizontal axis of the histogram is the data value, and the vertical axis is the number of data (number of pixels). ). In general, in a CT image, the width of a histogram is wide, and even if there are peaks and valleys in the number of data in the histogram, it is extremely rare that an area with the number of data “0” occurs in the middle of the histogram.
図11は、CTの画像データに対する差分符号化およびオフセットの効果を示す図である。 FIG. 11 is a diagram illustrating the effect of differential encoding and offset on CT image data.
この図11のパート(A)には、図10に示したCTの画像データに対して差分符号化が施されて得られるデータのヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸は出現頻度を表している。CTの画像データに対して、図7および図9で説明した差分符号化が施されると、データのヒストグラムは、一般に、この図11のパート(A)に示すような、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなる。そして、このようなデータに対してオフセットが施されると、データのヒストグラムは、図11のパート(B)に示すような、オフセット値のところに鋭いピークを持つヒストグラムとなる。本実施形態ではオフセット値として「8」が用いられており、オフセットの結果、値が「16」以上となるデータの頻度はほとんど「0」となっている。 In part (A) of FIG. 11, a histogram of data obtained by performing differential encoding on the CT image data shown in FIG. 10 is shown. The vertical axis represents the appearance frequency. When the differential encoding described with reference to FIGS. 7 and 9 is performed on the CT image data, the data histogram generally has a minimum data value and a maximum data as shown in part (A) of FIG. A histogram with sharp peaks on both data values. When such data is offset, the data histogram becomes a histogram having a sharp peak at the offset value as shown in Part (B) of FIG. In the present embodiment, “8” is used as the offset value, and the frequency of data whose value is “16” or more is almost “0” as a result of the offset.
このように差分符号化およびオフセットによってヒストグラムが変形されたデータは、図3のプレーン分割部530によって下位サブプレーンD1Lと上位サブプレーンD1Hとに分割される。
The data in which the histogram is deformed by differential encoding and offset in this way is divided into the lower subplane D1L and the upper subplane D1H by the
図12は、プレーン分割部530によるデータ分割の効果を説明する図である。
FIG. 12 is a diagram for explaining the effect of data division by the
この図12には、図11のパート(B)に示すヒストグラムがデータ値「15」とデータ値「16」との間で切り離されたヒストグラムが示されており、図3のプレーン分割部530によるデータ分割は、まさにこのようなヒストグラムの分割に相当する効果を生じる。すなわち、本実施形態では、データを構成している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の左側に示されたヒストグラムの面積に等しい高さのピークが付加されたものとなる。
FIG. 12 shows a histogram in which the histogram shown in Part (B) of FIG. 11 is separated between the data value “15” and the data value “16”. The
ここで、図3のフィルタリング処理部515における、上述したフィルタリング処理の効果を確かめるため、フィルタリング処理を経ずに図10〜図12の手続きに従って求められたヒストグラムと、フィルタリング処理を経てから図10〜図12の手続きに従って求められたヒストグラムとを比較する。
Here, in order to confirm the effect of the above-described filtering processing in the
図13は、所定の画像について、フィルタリング処理を経ずに求められたヒストグラムを表した図、図14は、その同じ画像について、フィルタリング処理を経てから求められたヒストグラムを表した図である。 FIG. 13 is a diagram showing a histogram obtained for a predetermined image without performing the filtering process, and FIG. 14 is a diagram showing a histogram obtained for the same image after the filtering process.
図13のヒストグラムと、図14のヒストグラムとの比較から明らかなように、フィルタリング処理を経ずに求められた図13のヒストグラムに比べ、フィルタリング処理を経てから求められた図14のヒストグラムは、画素データの値が9付近に集中する度合が高く、極めて急峻なピークを持つヒストグラムとなっている。 As is clear from the comparison between the histogram of FIG. 13 and the histogram of FIG. 14, the histogram of FIG. 14 obtained after the filtering process is compared to the histogram of FIG. 13 obtained without the filtering process. The degree of concentration of data values near 9 is high, and the histogram has a very steep peak.
上述のフィルタリング処理の箇所で説明したように、フィルタリング処理においては、各画素値の位置を中心とする画素値のブロックの平均値と、各画素値との差分の大きさが指定された圧縮率に応じて決まる所定値未満であれば各画素値をブロックの平均値に書き換え、その差分の大きさが上記の所定値以上であれば各画素値を差分の大きさが上記の所定値となるように各画素値を書き換える処理(以下では、フィルタリング処理と呼ぶ)が行われるので、画像データは、隣接する数値間の相関が強いデータに変換される。このため、フィルタリング処理のデータは、図14のヒストグラムのようにきわめて急峻なピークを持つヒストグラムで表されるデータ分布を示すようになる。 As described above in the section of the filtering process, in the filtering process, the compression rate in which the average value of the block of pixel values centered on the position of each pixel value and the magnitude of the difference between each pixel value are specified. Each pixel value is rewritten to the average value of the block if it is less than a predetermined value determined according to the value, and if the magnitude of the difference is greater than or equal to the above predetermined value, the magnitude of the difference becomes the above predetermined value. Thus, since the process of rewriting each pixel value (hereinafter referred to as filtering process) is performed, the image data is converted into data having a strong correlation between adjacent numerical values. Therefore, the data of the filtering process shows a data distribution represented by a histogram having a very steep peak like the histogram of FIG.
以下では、上位サブプレーンD1Hと下位サブプレーンD1Lとに分割された後のデータの処理について説明する。まず、上位サブプレーンD1Hに対する処理について説明する。 Hereinafter, data processing after being divided into the upper subplane D1H and the lower subplane D1L will be described. First, processing for the upper subplane D1H will be described.
図12の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンD1H中の数値は、ゼロに近い値(16進数表示での「00」や「01」や「FF」)の連続が多いことが予想される。このため、上位サブプレーンD1Hに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、上位サブプレーンD1Hは、図3に示すHプレーン圧縮部550の構成要素の1つであるランレングス符号化部551に入力される。
As can be seen from the fact that the pixel appearance frequency is almost zero in the histogram shown on the right side of FIG. 12, the numerical values in the upper subplane D1H are values close to zero (“00” or “01” in hexadecimal notation). ”And“ FF ”) are expected to be continuous. For this reason, in order to compress the upper subplane D1H, run-length encoding that compresses by continuation of the same numerical value is effective, and the upper subplane D1H is H plane compression shown in FIG. This is input to a run-
本実施形態では、処理の都合上、ランレングス符号化部551で、上位サブプレーンD1Hを構成する連続した4ビットの数値が2つで1つの8ビットの数値として取り扱われ、16進数表示で値「00」から値「FF」までの数値の連続に対して以下の符号化処理が適用される。
In this embodiment, for the sake of processing, the run-
この符号化処理では、複数の8ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部551では、受け取ったデータの中から、符号化処理を行なう数値(ここでは、この数値を「圧縮対象数値」と称する)と、その圧縮対象数値の連続数が検出される。
In this encoding process, the encoding process is performed only for a specific numerical value among a plurality of 8-bit numerical values. For this reason, in the run
本実施形態では、一例として、「01」、「FF」および「00」の3つの数値を圧縮対象数値としている。 In this embodiment, as an example, three numerical values “01”, “FF”, and “00” are set as compression target numerical values.
図15は、図3に示すランレングス符号化部551での符号化の説明図である。
FIG. 15 is an explanatory diagram of encoding in the run-
図15の上のラインは、上位サブプレーンD1Hを構成するデータ、下のラインは、ランレングス符号化部551での符号化処理を行なった後のデータである。
The upper line in FIG. 15 is data constituting the upper subplane D1H, and the lower line is data after the encoding process in the run-
ここでは、図15の上のラインに示すように、ランレングス符号化部551からは、
「06 02 02 02 01 01 01 01 04 05 00 … 」
なるデータが入力されたものとする。このとき、図3のランレングス符号化部551では、先頭の「06」は圧縮対象数値ではなく、次に続く「02 02 02」も圧縮対象数値ではなく、次に、圧縮対象数値である「01」が4つ連続していること、次に、圧縮対象数値ではない「04」、「05」を間に置いて、圧縮対象数値である「00」が32767個連続していることが検出される。
Here, as shown in the upper line of FIG. 15, from the run-
"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-
図16は、ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。 FIG. 16 is a diagram illustrating an encoding algorithm for a numerical value to be compressed in the run-length encoding unit.
この図16中、Zは同一の圧縮対象数値の連続数、例えば図15の上のラインの「01」についてはZ=4、「00」についてはZ=32767である。 In FIG. 16, Z is a continuous number of the same numerical values to be compressed, for example, Z = 4 for “01” in the upper line of FIG. 15, and Z = 32767 for “00”.
また、図16中、「YY」は、16進2桁で表わされた圧縮対象数値自体を表わしている。その「YY」に続く、「0」又は「1」は1ビットで表現された「0」又は「1」であり、さらにそれに続く「XXX XXXX…」は、1つの「X」が1ビットを表わしており、この「XXX XXXX…」でZの値を表現している。 In FIG. 16, “YY” represents the numerical value to be compressed itself represented by two hexadecimal digits. “0” or “1” following “YY” is “0” or “1” expressed by 1 bit, and “XXX XXXX... This “XXX XXXX...” Represents the value of Z.
すなわち、図16は、圧縮対象数値「YY」がZ<128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く1バイトで、先頭ビットが「0」、それに続く7ビットでZの値を表現すること、また、圧縮対象数値「YY」がZ≧128連続するときは、1バイト目で圧縮対象数値「YY」を表現し、それに続く2バイト(16ビット)のうちの先頭の1ビットを「1」とすることで2バイトに跨って表現されていることを表現し、それに続く15ビットで、Zの値を表現することを意味している。 That is, in FIG. 16, 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 bit is the next byte. 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.
この図16に示す規則に従って図15に示す符号化の例について説明する。 An example of encoding shown in FIG. 15 will be described according to the rules shown in FIG.
図3のプレーン分割部530から入力されてきた上位サブプレーンD1Hのデータ(上のライン)を構成する先頭の数値「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) of the upper subplane D1H input from the
次に「00」が32767個連続しているため、「00」を置き、次の16ビットのうちの先頭の1ビットを「1」とし、次いで15ビットで32767−128=32639を表現することにより、「00 FF 7F」の3バイトで「00」が32767個連続していることを表現する。
Next, since there are 32767 consecutive “00” s, “00” is set, the first 1 bit of the next 16 bits is set to “1”, and then 32767−128 = 32639 is expressed by 15 bits. By this, it is expressed that 32767 “00” s are consecutive in 3 bytes of “00
図17は、図3のランレングス符号化部551における、連続数に応じた符号化処理の例を示す図である。
・「00」が127個連続するときは、2バイトを用いて「00 7F」に符号化され、
・「00」が32767個連続するときは、3バイトを用いて「00 FF 7E」に符号化され、
・「00」が32895個連続するときは、3バイトを用いて「00 FF FF」に符号化され、
・ 「00」が128個連続するときは、3バイトを用いて「00 80 00」に符号化され、
・ 「01」が129個連続するときは、3バイトを用いて「01 80 01」に符号化され、
・「FF」が4096個連続するときは、3バイトを用いて「FF 8F 80」に符号化される。
FIG. 17 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 into “00 7F” 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 129 "01" continues, it is encoded to "01 80 01" using 3 bytes,
-When 4096 "FFs" are contiguous, they are encoded into "
図3に示すランレングス符号化部551では、上記のような符号化処理が行なわれる。
In the run
本実施形態によるランレングス符号化部551によれば、最大圧縮率は、3/32895=1/10,965にまで向上する。また、このランレングス符号化部551が符号化処理の対象としている上位サブプレーンD1Hのデータは、図12のヒストグラムで説明したように、4ビットの数値のほとんどが、データ値「16」を表現した数値「0」であり、その4ビットの数値から作られる8ビットの数値も、多くが、16進数表示で数値「00」となる。このためランレングス符号化部551における符号化処理によって大幅なデータ圧縮が期待される。
According to the run-
図3のランレングス符号化部551で上記の符号化処理の行なわれた後のデータは、次に図3のHプレーン圧縮部550を構成するデータスキャニング部552とハフマン符号化部553に入力される。
The data after the above-described encoding processing is performed by the run-
このデータスキャニング部552では、先ず、ランレングス符号化部551から出力されたデータの全体がスキャニングされてデータ値の出現頻度が求められる。
In the
図18は、データスキャニング部552によるスキャニング結果の例を示す図である。
FIG. 18 is a diagram illustrating an example of a scanning result by the
ここでは、「A1」の出現頻度が最も強く、以下順に、「A2」、「A3」、「A4」、…の順であるとする。尚、これら「A1」、「A2」等は数値を直接表わしている訳ではなく、数値を表わす符号である。すなわち、「A1」は例えば数値「00」、「A2」は数値「FF」等である。また、ここでは、簡単のため、図3のランレングス符号化部551から送られてくるデータは全てのデータ値が「A1」〜「A16」の16個の数値のうちのいずれかの数値であるものとする。そして、このような16個の数値それぞれに対して、データスキャニング部552では、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成される。即ち、出現頻度の最も高い「A1」には、2ビットで表わされた符号「00」が割り当てられ、次の「A2」には、やはり2ビットで表わされた符号「01」が割り当てられ、次の「A3」、さらに次の「A4」には、3ビットで表わされる、それぞれ、符号「100」、符号「101」が割り当てられ、次の「A5」〜「A8」には、5ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられる。
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. Further, here, for the sake of simplicity, the data sent from the run-
図19は、ハフマンテーブルの一例を示す図である。 FIG. 19 is a diagram illustrating an example of the Huffman table.
このハフマンテーブルは、図18と一致させてあり、出現頻度が高い数値ほど短かいビット数で表わされた符号に書き換えられるように並べられた、符号化前(書き換え前)の数値と符号化後(書き換え後)の数値との対応テーブルである。 This Huffman table is consistent with FIG. 18, and the numerical values before encoding (before rewriting) and the encodings are arranged so that the numerical value with higher appearance frequency is rewritten to a code represented by a shorter bit number. It is a correspondence table with the numerical value after (after rewriting).
図3のHプレーン圧縮部550を構成するハフマン符号化部553では、このようなハフマンテーブルに従ってデータの数値が符号化され、その結果、多くの数値が短かいビット数の符号に書き換えられることとなってデータ圧縮が実現される。
In the
図20は、ハフマンテーブルに用意される符号列の具体例を示す図である。 FIG. 20 is a diagram illustrating a specific example of a code string prepared in the Huffman table.
図20に示す符号列では、各符号列中の「,」よりも右側の数値がビット長を意味しており、その「,」から左側に並ぶそのビット長分の2進符号が実際の符号を表わしている。例えば、図20の左上の第1番目の符号は「11」の2ビット、次の2番目の符号は「011」の3ビット、その次の3番目の符号は「010」の3ビット、さらにその次の4番目の符号は「1010」の4ビットである。このような符号列により、出現頻度が高い数値ほど短かいビット数で表わされた符号に書き換えられる。 In the code sequence shown in FIG. 20, the numerical value on the right side of “,” in each code sequence means the bit length, and the binary code for the bit length arranged on the left side from “,” is the actual code. Represents. For example, the first code in the upper left of FIG. 20 is 2 bits of “11”, the next second code is 3 bits of “011”, the next 3rd code is 3 bits of “010”, and The next fourth code is 4 bits of “1010”. With such a code string, a numerical value with a higher appearance frequency is rewritten to a code represented by a shorter number of bits.
以上の図15〜図20で説明した処理により、図3のHプレーン圧縮部550に入力される上位サブプレーンD1Hについては、ランレングス符号化部551による符号化とハフマン符号化部553による符号化が施されることにより高い圧縮率で圧縮されて上位圧縮データD2Hとなる。
15, the upper subplane D1H input to the H
次に、下位サブプレーンD1Lに対する処理について説明する。図3のLプレーン圧縮部540のハフマン符号化部541では、Hプレーン圧縮部550のランレングス符号化部551と同様に、4ビットの数値の2つ分が1つの8ビットの数値とみなされて処理される。また、このハフマン符号化部541による符号化処理では、固定的なハフマンテーブルが用いられる点を除いて、Hプレーン圧縮部550のハフマン符号化部553による符号化処理と同様な処理が実行される。この結果、下位サブプレーンD1Lは下位圧縮データD2Lとなる。
Next, processing for the lower subplane D1L will be described. In the
なお、上述したように、ユーザから、高速モードが指示された場合には、上記のハフマン符号化部541によるハフマン符号化処理は省略されて、Lプレーン圧縮部540から下位サブプレーンD1Lがそのまま出力されることになる。
As described above, when the high-speed mode is instructed by the user, the Huffman coding process by the
以上が、本実施形態の説明である。 The above is the description of the present embodiment.
本実施形態では、8ビットの数値の連続からなる画像データを可逆圧縮するものであるが、本発明は、圧縮対象となるデータは、複数のビット数の数値で表された数値の連続からなるデータであれば、処理対象は、8ビットの数値の連続からなるデータに限定されない。例えば、データ中の数値のビット数(ビット幅)が8ビットではなく、12ビットや16ビットのデータであってもよい。 In this embodiment, image data composed of a series of 8-bit numbers is reversibly compressed. However, in the present invention, data to be compressed is composed of a series of numbers represented by a number of bits. If it is data, the processing target is not limited to data consisting of a series of 8-bit numerical values. For example, the number of bits in the data (bit width) may be 12-bit or 16-bit data instead of 8 bits.
11 画像のデータ
12A,12B,13A,13B ビットマップデータ
14,15 圧縮データ
100 ホストコントローラ
140 CDROM
150 汎用インターフェースケーブル
200 インターフェース機器
250 専用インターフェースケーブル
300 プリンタ
500 画像圧縮装置
510 差分符号化部
515 フィルタリング処理部
520 オフセット部
530 プレーン分割部
540 Lプレーン圧縮部
541 ハフマン符号化部
542 モード切換部
550 Hプレーン圧縮部
551 ランレングス符号化部
552 データスキャニング部
553 ハフマン符号化部
600 画像圧縮プログラム
610 差分符号化部
615 フィルタリング処理部
620 オフセット部
630 プレーン分割部
640 Lプレーン圧縮部
650 Hプレーン圧縮部
11
DESCRIPTION OF
Claims (12)
被圧縮データを構成する数値を、前記連続におけるその数値の周囲の所定位置に存在する複数の数値とその数値との相違が縮小するように書き換えて出力する非可逆データ変換部と、
該非可逆データ変換部によって出力された被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
前記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
前記オフセット部によって数値がオフセットされた被圧縮データの各数値を、前記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
前記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部と、
前記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを備えたことを特徴とするデータ圧縮装置。 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,
A irreversible data conversion unit that rewrites and outputs the numerical value constituting the compressed data so that the difference between the numerical value and the numerical value existing at a predetermined position around the numerical value in the continuation is reduced;
A difference generating unit that generates new compressed data composed 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 output by the lossy data conversion unit; ,
An offset unit for offsetting each numerical value constituting the new compressed data generated by the difference generation unit by a predetermined value;
By dividing each numerical value of the compressed data whose numerical value is offset by the offset unit into an upper bit part and a lower bit part at a predetermined number of divided bits smaller than the unit bit number, the compressed data is A dividing unit that divides the upper data consisting of a continuation of the upper bit part in each numerical value and the lower data consisting of a continuation of the lower bit part of each numerical value;
A lower data compression unit that performs a lossless compression process on the lower data divided by the dividing unit;
A data compression apparatus comprising: an upper data compression unit that performs a lossless compression process on the upper data divided by the division unit.
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
符号と数値を対応づけるテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。 The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
A second encoding unit that performs entropy encoding on data after being encoded by the first encoding unit using a table that associates codes and numerical values is provided. Item 2. The data compression device according to Item 1.
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
ハフマンテーブルを用いて、前記第1の符号化部で符号化された後のデータにハフマン符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。 The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
The data according to claim 1, further comprising a second encoding unit that performs Huffman encoding on the data after being encoded by the first encoding unit using a Huffman table. Compression device.
上位データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
前記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
前記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、
前記符号割当部で符号が割り当てられたテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。 The upper data compression unit is
In the upper data, the numerical value excluding one or a plurality of predetermined compression target numerical values is output as it is, and for the compression target numerical value, the compression target numerical value and the number of consecutive compression target numerical values that are the same as the compression target numerical value are set. A first encoding unit that encodes and outputs a numerical value to be represented;
A histogram calculation unit for obtaining a histogram of numerical values appearing in the data after being encoded by the first encoding unit;
Based on the histogram obtained by the histogram calculation unit, a code allocating unit that assigns a code having a shorter code length to a table associating codes and numerical values with a higher appearance frequency,
Using a table in which codes are allocated by the code allocation unit, and a second encoding unit that performs entropy encoding on the data encoded by the first encoding unit. The data compression apparatus according to claim 1, wherein:
前記情報処理装置上に、
被圧縮データを構成する数値を、前記連続におけるその数値の周囲の所定位置に存在する複数の数値とその数値との相違が縮小するように書き換えて出力する非可逆データ変換部と、
該非可逆データ変換部によって出力された被圧縮データを構成する数値の連続について隣接する数値どうしの差分を求めることにより該差分を表わす数値の連続からなる新たな被圧縮データを生成する差分生成部と、
前記差分生成部によって生成された新たな被圧縮データを構成する各数値を所定値だけオフセットさせるオフセット部と、
前記オフセット部によって数値がオフセットされた被圧縮データの各数値を、前記単位ビット数よりも小さい所定の分割ビット数のところで上位ビット部分と下位ビット部分とに分けることによって、該被圧縮データを、各数値における上位ビット部分の連続からなる上位データと各数値の下位ビット部分の連続からなる下位データとに分割する分割部と、
前記分割部によって分割された下位データに対して可逆圧縮処理を施す下位データ圧縮部と、
前記分割部によって分割された上位データに対して可逆圧縮処理を施す上位データ圧縮部とを構築することを特徴とするデータ圧縮プログラム。 In a data compression program that is incorporated in an information processing apparatus that executes a program and causes the information processing apparatus to perform data compression processing on data to be compressed consisting of a series of numerical values represented by a predetermined number of unit bits.
On the information processing apparatus,
A irreversible data conversion unit that rewrites and outputs the numerical value constituting the compressed data so that the difference between the numerical value and the numerical value existing at a predetermined position around the numerical value in the continuation is reduced;
A difference generating unit that generates new compressed data composed 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 output by the lossy data conversion unit; ,
An offset unit for offsetting each numerical value constituting the new compressed data generated by the difference generation unit by a predetermined value;
By dividing each numerical value of the compressed data whose numerical value is offset by the offset unit into an upper bit part and a lower bit part at a predetermined number of divided bits smaller than the unit bit number, the compressed data is A dividing unit that divides the upper data consisting of a continuation of the upper bit part in each numerical value and the lower data consisting of a continuation of the lower bit part of each numerical value;
A lower data compression unit that performs a lossless compression process on the lower data divided by the dividing unit;
A data compression program for constructing a high-order data compression unit that performs reversible compression processing on high-order data divided by the division unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006204760A JP4699307B2 (en) | 2006-07-27 | 2006-07-27 | Data compression apparatus and data compression program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006204760A JP4699307B2 (en) | 2006-07-27 | 2006-07-27 | Data compression apparatus and data compression program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008035066A true JP2008035066A (en) | 2008-02-14 |
JP2008035066A5 JP2008035066A5 (en) | 2009-04-16 |
JP4699307B2 JP4699307B2 (en) | 2011-06-08 |
Family
ID=39124059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006204760A Active JP4699307B2 (en) | 2006-07-27 | 2006-07-27 | Data compression apparatus and data compression program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4699307B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014027429A1 (en) * | 2012-08-17 | 2014-02-20 | 大日本スクリーン製造株式会社 | Data compression method and device, and program therefor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210539A (en) * | 2004-01-26 | 2005-08-04 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005252531A (en) * | 2004-03-03 | 2005-09-15 | Fuji Photo Film Co Ltd | Device and program for compressing data |
JP2005260408A (en) * | 2004-03-10 | 2005-09-22 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005260420A (en) * | 2004-03-10 | 2005-09-22 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005277932A (en) * | 2004-03-25 | 2005-10-06 | Fuji Photo Film Co Ltd | Device and program for compressing data |
JP2006060490A (en) * | 2004-08-19 | 2006-03-02 | Fuji Photo Film Co Ltd | Image compressor and image compression program |
-
2006
- 2006-07-27 JP JP2006204760A patent/JP4699307B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210539A (en) * | 2004-01-26 | 2005-08-04 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005252531A (en) * | 2004-03-03 | 2005-09-15 | Fuji Photo Film Co Ltd | Device and program for compressing data |
JP2005260408A (en) * | 2004-03-10 | 2005-09-22 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005260420A (en) * | 2004-03-10 | 2005-09-22 | Fuji Photo Film Co Ltd | Data compression apparatus and data compression program |
JP2005277932A (en) * | 2004-03-25 | 2005-10-06 | Fuji Photo Film Co Ltd | Device and program for compressing data |
JP2006060490A (en) * | 2004-08-19 | 2006-03-02 | Fuji Photo Film Co Ltd | Image compressor and image compression program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014027429A1 (en) * | 2012-08-17 | 2014-02-20 | 大日本スクリーン製造株式会社 | Data compression method and device, and program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP4699307B2 (en) | 2011-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4689545B2 (en) | Data compression apparatus and data compression program | |
US7826670B2 (en) | Data compression apparatus and data compression program storage medium | |
US7183950B2 (en) | Data compression apparatus, and data compression program storage medium | |
JP2006121645A (en) | Image compression apparatus and image compression program | |
JP4633576B2 (en) | Data compression apparatus and data compression program | |
JP2008311792A (en) | Device for encoding image and control method therefor | |
JP4173505B2 (en) | Data compression apparatus and data compression program | |
JP4173498B2 (en) | Data compression apparatus and data compression program | |
JP4699307B2 (en) | Data compression apparatus and data compression program | |
US20080025620A1 (en) | Data compression apparatus and data compressing program storage medium | |
JP4377351B2 (en) | Data compression apparatus and data compression program | |
JP4131969B2 (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 | |
JP4181147B2 (en) | Data compression apparatus and data compression program | |
JP4579793B2 (en) | Data compression apparatus and data compression program | |
JP4377352B2 (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 | |
JP4741317B2 (en) | Data compression apparatus and data compression program | |
JP2005260408A (en) | Data compression apparatus and data compression program | |
JP2005252531A (en) | Device and program for compressing data | |
JP4633577B2 (en) | Data compression apparatus and data compression program | |
JP2006060490A (en) | Image compressor and image compression program | |
JP2010028649A (en) | Data compression apparatus and data compression program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090302 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4699307 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |