JPH09121286A - Method and device for compressing picture data - Google Patents
Method and device for compressing picture dataInfo
- Publication number
- JPH09121286A JPH09121286A JP27892595A JP27892595A JPH09121286A JP H09121286 A JPH09121286 A JP H09121286A JP 27892595 A JP27892595 A JP 27892595A JP 27892595 A JP27892595 A JP 27892595A JP H09121286 A JPH09121286 A JP H09121286A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- data
- pixel
- difference
- pixel data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- 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
【0001】[0001]
【発明の属する技術分野】本発明は画像データの圧縮方
法及び装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for compressing image data.
【0002】[0002]
【従来の技術】一般に、イメージスキャナ装置は原稿画
像を読み取る処理を行うのは勿論、読み取った画像デー
タを上位装置であるホストコンピュータ(例えばパーソ
ナルコンピュータ)に所定のインタフェースを介して転
送する処理をも行う。2. Description of the Related Art Generally, an image scanner device not only performs a process of reading a document image, but also a process of transferring the read image data to a host computer (for example, a personal computer) which is a higher-level device through a predetermined interface. To do.
【0003】ここで、この転送はシリアルインタフェー
スやパラレルインタフェースといった形態をとることに
なるが、いずれにせよ、これらのインタフェース上の転
送レートはホストコンピュータの内部バスのそれに対し
て極端に遅い。Here, this transfer takes the form of a serial interface or a parallel interface, but in any case, the transfer rate on these interfaces is extremely slow compared to that on the internal bus of the host computer.
【0004】従って、イメージスキャナ内部では、読み
取った原稿画像を圧縮符号化し、転送情報量を少なくし
て、転送時間を短縮することが望まれる。Therefore, within the image scanner, it is desired to compress and encode the read original image, reduce the amount of transfer information, and shorten the transfer time.
【0005】[0005]
【発明が解決しようとする課題】圧縮アルゴリズムとし
ては、これまで様々なものが提案され、使用されてい
る。例えば、可逆圧縮法としては、公知のJBIG法に
基づくものや、LHA法などがある。Various compression algorithms have been proposed and used so far. For example, the reversible compression method includes a method based on the known JBIG method, an LHA method, and the like.
【0006】しかしながら、例えばイメージスキャナで
読み取った画像データの転送にかかる時間に対して、圧
縮に伴う処理時間が無視できるようにするには、どうし
てもハード的に行う必要がある。通常、このような場合
には、ゲートアレイを用いて高速に行わせることが可能
ではあるが、上記のアルゴリズムの場合には数万〜数十
万ゲートを要し、結果的に装置が大型化してしまい、コ
スト面で不利である。However, in order to make the processing time associated with the compression negligible with respect to the time required to transfer the image data read by the image scanner, for example, it must be done by hardware. Usually, in such a case, it is possible to perform the operation at high speed by using a gate array, but in the case of the above algorithm, tens of thousands to hundreds of thousands of gates are required, resulting in an increase in size of the device. It is disadvantageous in terms of cost.
【0007】これに対して、処理アルゴリズムが非常に
簡単なものとして、予測符号化方法で差分値を符号化
し、これをハフマン符号を使って更に符号化するものが
ある。これをゲートアレイで実現するためには、数千ゲ
ートで済むのでコスト面で有利である。On the other hand, as a very simple processing algorithm, there is one in which a difference value is encoded by a predictive encoding method and is further encoded by using a Huffman code. To realize this with a gate array, several thousand gates are required, which is advantageous in terms of cost.
【0008】このアルゴリズムを簡単に説明すると、次
の通りである。すなわち、今、図1に示すごとく、イメ
ージセンサから取り込んだ画像データ(2ライン分)に
おける画素y(8ビット=256階調とする)に対して
注目すると(以下、注目画素という)、その注目画素を
符号化する際に、その位置における注目画素の濃度を周
りの画素a,b,cから予測する(以下、予測値とい
う)。A brief description of this algorithm is as follows. That is, as shown in FIG. 1, when attention is paid to a pixel y (8 bits = 256 gradations) in image data (two lines) captured from an image sensor (hereinafter referred to as a pixel of interest), When encoding a pixel, the density of the pixel of interest at that position is predicted from surrounding pixels a, b, and c (hereinafter, referred to as a prediction value).
【0009】予測値としては、例えば画素aの値を用い
たり、画素bもしくは画素cを用いたり、更には、例え
ば「a+b−c」といった演算により予測しても良い。As the predicted value, for example, the value of the pixel a may be used, the pixel b or the pixel c may be used, and the predicted value may be predicted by, for example, "a + bc".
【0010】いずれにせよ、予測値と実際の注目画素y
との差分値(取り得る値は−255〜+255)を演算
する。In any case, the predicted value and the actual pixel of interest y
And a difference value (possible values are −255 to +255).
【0011】この演算結果に基づき、例えば図2に示す
ハフマン符号化テーブルを使用して、符号化する。Based on the result of this calculation, the Huffman coding table shown in FIG. 2 is used for coding.
【0012】例えば、差分値が“−15”であった場
合、グループ番号は“4”になるので符号語は“10
1”になる。また付加ビットは4ビットになり、その4
ビットの最上位ビットを符号(+:1,−:0)を表わ
し、下位3ビットで“15”の位置を表わす。従って、
(15)→111、(14)→110、(13)→10
1、(12)→100、(11)→011、(10)→
010、(9)→001、(8)→000となる。For example, when the difference value is "-15", the group number is "4", so the code word is "10".
1 ”. Also, the additional bits become 4 bits, and the 4
The most significant bit of the bits represents the sign (+: 1,-: 0), and the lower 3 bits represent the position of "15". Therefore,
(15) → 111, (14) → 110, (13) → 10
1, (12) → 100, (11) → 011, (10) →
010, (9) → 001, (8) → 000.
【0013】よって“−15”の場合には、付加ビット
は0111となり、符号化データは“1010111”
となり、7ビットで表されることになる。Therefore, in the case of "-15", the additional bit is 0111 and the encoded data is "1010111".
Will be represented by 7 bits.
【0014】尚、例えば差分値が“255”等、極端に
大きい場合、入力された画素データ8ビットに対してよ
り多くのビット数が必要になるが、このような状況にな
ることは希であので、画像全体に与える情報量による影
響は小さい。特に、イメージセンサで読み取る画像が写
真等の中間調画像の場合には、多くが8ビット未満に圧
縮される。When the difference value is extremely large, such as "255", a larger number of bits is required for the input 8 bits of pixel data, but such a situation rarely occurs. Therefore, the influence of the amount of information on the entire image is small. In particular, when the image read by the image sensor is a halftone image such as a photograph, most of it is compressed to less than 8 bits.
【0015】[0015]
【課題を解決するための手段】本願発明は、原則的に上
記の予測符号化をその基礎とするものであるが、その手
法を更に発展させ、中間調画像を効率良く、且つ、コス
ト面及び規模面でも十分な効果を得ることを可能ならし
める画像データの圧縮方法及び装置を提供しようとする
ものである。The invention of the present application is based on the above-mentioned predictive coding in principle, but the method is further developed so that halftone images can be efficiently and costly. An object of the present invention is to provide a method and apparatus for compressing image data, which makes it possible to obtain a sufficient effect in terms of scale.
【0016】このため、例えば本発明の画像データの圧
縮方法は以下に示すように動作する。すなわち、入力し
た多値画素データと、当該入力した多値画素データの近
傍の多値画素データに基づいて得られる予測値との差分
に基づいて注目画素データを符号化する方法であって、
予測値と注目画素の差分を検出し、入力した多値画素デ
ータ及び予測値をそれぞれ上位mビット、下位nビット
に分割し、それぞれの差分データをそれぞれ独立して符
号化し、検出した差分に基づいて、前記上位mビットの
差分符号化データ、或いは/及び、前記下位nビットの
差分符号化データを選択し、出力する。Therefore, for example, the image data compression method of the present invention operates as follows. That is, a method of encoding the target pixel data based on the difference between the input multi-valued pixel data and the predicted value obtained based on the multi-valued pixel data in the vicinity of the input multi-valued pixel data,
The difference between the predicted value and the pixel of interest is detected, the input multi-valued pixel data and the predicted value are divided into upper m bits and lower n bits, respectively, and the respective difference data are encoded independently, and based on the detected difference. Then, the higher m bits of differential encoded data or / and the lower n bits of differential encoded data are selected and output.
【0017】[0017]
【発明の実施の形態】以下、添付図面に従って本発明に
係る実施形態の一例を詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An example of an embodiment according to the present invention will be described in detail below with reference to the accompanying drawings.
【0018】先ず、本発明の概要を以下に説明する。First, the outline of the present invention will be described below.
【0019】イメージセンサで読み取った画像が例えば
写真等の中間調画像の場合、その読み取り解像度が高け
れば高いほど、読み取った画像中の近接する画素間の濃
度差(差分値)は小さくなる。従って、先に説明した予
測符号化方法はこの点で有利に作用するが、問題点も存
在する。When the image read by the image sensor is a halftone image such as a photograph, the higher the reading resolution, the smaller the density difference (difference value) between adjacent pixels in the read image. Therefore, although the predictive coding method described above has an advantage in this respect, it also has a problem.
【0020】すなわち、差分値(濃度差)は小さいとい
うのは、その差分の変異が下位にある数ビットに表れる
可能性が高いことを意味している。換言すれば、上位ビ
ットは画素間では変化が無い、もしくはあったとしても
変化は非常に小さい場合がほとんどである。That is, the fact that the difference value (density difference) is small means that the variation of the difference is likely to appear in the lower several bits. In other words, in most cases, the upper bits do not change between pixels, or if any, the change is very small.
【0021】そこで、本実施形態では、イメージセンサ
から入力した画像データ(勿論、シェーディング補正処
理が施された後のデータ)を、上位nビット、下位mビ
ットに分割し、それぞれに対して予測符号化処理を施す
ことで、予測符号化処理をより効率良く実現させる。Therefore, in the present embodiment, the image data input from the image sensor (of course, the data after the shading correction processing) is divided into upper n bits and lower m bits, and the prediction code is applied to each of them. By performing the coding process, the predictive coding process is realized more efficiently.
【0022】説明を簡単にするため、入力画像データは
8ビットとし、n=5、m=3とした例を以下に説明す
る。尚、本実施形態における注目画素の予測値として
は、直前の画素(図1においては画素a)の値を用いる
ものとして説明する。In order to simplify the explanation, an example in which the input image data is 8 bits and n = 5 and m = 3 will be described below. Note that, as the predicted value of the pixel of interest in the present embodiment, the value of the immediately preceding pixel (pixel a in FIG. 1) will be described as being used.
【0023】さて、実施形態では、以下の3式(i)〜
(iii)を演算する。すなわち、 (i) Di(8)=Y(8)−X(8) (ii) Di(5)=Y(5)−X(5) (iii) Di(3)=Y(3)−X(3) ここで、Diは差分値、Yは注目画素の実際の値、予測
値として用いる注目画素の直前の位置にある画素の値
(図1における画素aに相当する)である。また、括弧
の中の数字であるが、ビット数を示し、括弧の中の
「5」は上位5ビットを、「3」は下位3ビットを示
す。尚、上記演算によっては、符号として正負が発生す
るので、差分値Dとしては厳密に1ビット多くとるが、
以下の説明をわかり易くするために上記のように示し
た。In the embodiment, the following three equations (i)-
Calculate (iii). That is, (i) Di (8) = Y (8) -X (8) (ii) Di (5) = Y (5) -X (5) (iii) Di (3) = Y (3) -X (3) Here, Di is the difference value, Y is the actual value of the target pixel, and the value of the pixel at the position immediately before the target pixel used as the predicted value (corresponding to pixel a in FIG. 1). The number in parentheses indicates the number of bits, and “5” in the parentheses indicates the upper 5 bits and “3” indicates the lower 3 bits. Note that, depending on the above calculation, a positive or negative sign is generated, so the difference value D is exactly one bit larger,
It is presented above for clarity of the following description.
【0024】また、Di(3)についてであるが、図3
に示すような関係で演算するものとした。Regarding Di (3), as shown in FIG.
It is assumed that the calculation is performed in the relationship shown in.
【0025】例えば、X(3)=3、Y(3)=0の場
合、Y(0)は図示の値「0」の位置にあり、X(3)
の「3」は図示の+方向にある「3」となる。従って、
D(3)=3となる。また、例えば、X(3)=7、Y
(3)=1の場合には、X(3)はY(3)から見て−
方向に「2」だけ進んだ位置にあるのでD(3)=−2
となる。以上を全てのケースに対して示したのが、図4
のテーブルである。For example, when X (3) = 3 and Y (3) = 0, Y (0) is at the position of the value "0" shown in the figure, and X (3)
“3” of “3” is “3” in the + direction shown in the figure. Therefore,
D (3) = 3. Also, for example, X (3) = 7, Y
When (3) = 1, X (3) is viewed from Y (3)-
D (3) =-2 because it is at a position advanced by "2" in the direction.
Becomes The above is shown for all cases in FIG.
Table.
【0026】さて、本実施形態では、先に示した演算式
(i)〜(iii)の結果に基づいて、以下のような場合
分けを行ない、それぞれに対して符号化を行う。In the present embodiment, the following cases are classified based on the results of the above-mentioned arithmetic expressions (i) to (iii), and the respective cases are encoded.
【0027】 ケース(A) −7≦D(8)≦7 かつ D(5)≠0 ケース(B) D(5)=0 かつ −7≦D(8)≦7 ケース(C) |D(8)|>7 かつ D(5)≠0 である(尚、|x|はxの絶対値を示している)。Case (A) −7 ≦ D (8) ≦ 7 and D (5) ≠ 0 Case (B) D (5) = 0 and −7 ≦ D (8) ≦ 7 Case (C) | D ( 8) |> 7 and D (5) ≠ 0 (| x | indicates the absolute value of x).
【0028】そして、ケース(A),(B)の場合に
は、図5に示すハフマン符号化テーブルを用い、ケース
(C)の場合には図6のハフマンテーブルを用いて符号
化する。In the cases (A) and (B), the Huffman coding table shown in FIG. 5 is used, and in the case (C), the Huffman table shown in FIG. 6 is used.
【0029】すなわち、ケース(A),(B)の場合、
差分値D(3)の取り得る値は、結局のところ−3〜+
4(ケース(A)では−3〜+3の範囲)の値を取り得
ることになるから、これらのケースで図示のように符号
コードを生成する。尚、図示で、符号語には2通り
(a)、(b)が存在するのは、注目画素の次の画素位
置における状態がケース(A),(B)か(符号語
(a)の場合)、或いはケース(C)(符号語(b)の
場合)かを示している。例えば、差分値が「4」の場合
には、符号語はいずれかを取るものの、付加ビット数は
1ビットとなり、そのビットを“1”(このビットが
“0”の場合には差分値が「0」である)にすることを
意味する。That is, in cases (A) and (B),
The possible value of the difference value D (3) is -3 to + after all.
Since a value of 4 (range of −3 to +3 in case (A)) can be taken, the code code is generated as shown in these cases. In the figure, there are two types of code words (a) and (b) because the states at the pixel position next to the pixel of interest are cases (A) and (B) (code word (a) Case) or case (C) (in the case of codeword (b)). For example, when the difference value is “4”, the code word is either one, but the number of additional bits is 1 bit, and that bit is “1” (if this bit is “0”, the difference value is It means "0").
【0030】また、結局のところ、ケース(A)は注目
画素における差分値の下位3ビットを、ケース(B)は
その上位5ビットを符号化していることになる。After all, the case (A) encodes the lower 3 bits of the difference value in the pixel of interest, and the case (B) encodes the upper 5 bits thereof.
【0031】一方、ケース(C)の場合、予測値に対し
て注目画素の値が大きく異なる場合(差分の絶対値が7
より大)を示している。この場合には、上位5ビット、
下位3ビットそれぞれの差分値を符号化する。最大でも
5ビット演算になるから、差分値として取り得る範囲
は、図6の如く−31〜+31となる。On the other hand, in case (C), when the value of the pixel of interest greatly differs from the predicted value (the absolute value of the difference is 7
Greater than). In this case, the upper 5 bits,
The difference value of each of the lower 3 bits is encoded. Since a maximum of 5 bit operation is performed, the range that can be taken as the difference value is −31 to +31 as shown in FIG.
【0032】各差分値の範囲に応じて、符号語(1ビッ
ト〜5ビット)と、それぞれに図示の付加ビットが付加
される。付加ビットには、その最上位ビットを符号に用
いられ、残りのビットに距離を割当てている。Codewords (1 to 5 bits) and the additional bits shown in the drawing are added according to the range of each difference value. For the additional bits, the most significant bit is used for the code, and the distance is assigned to the remaining bits.
【0033】例えば、差分値として、−7〜−4,4〜
7の場合には、付加ビットの数は3ビットであるので、 000B→−4 001B→−5 010B→−6 011B→−7 100B→+4 101B→+5 110B→+6 111B→+7 となる(Bはバイナリを示す)。他の割当ては容易に推
察されよう。For example, as the difference value, -7 to -4 and 4 to
In the case of 7, since the number of additional bits is 3 bits, 000B → -4 001B → -5 010B → -6 011B → -7 100B → + 4 101B → + 5 110B → + 6 111B → + 7 (B is Indicates binary). Other allocations can be easily guessed.
【0034】また、ケース(C)の場合には、上位5ビ
ット、下位3ビットの符号化を行なうことになり、2つ
の符号コードでもって1つの画素を表わすことになる。In case (C), the upper 5 bits and the lower 3 bits are encoded, and one pixel is represented by two code codes.
【0035】図7は、実施形態における符号化データフ
ォーマットを示している。同図(A)はケース(A)、
同図(B)はケース(B)、同図(C)がケース(C)
のそれぞれの符号化後のデータフォーマットを示してい
る。FIG. 7 shows a coded data format in the embodiment. The same figure (A) is case (A),
The figure (B) is the case (B), and the figure (C) is the case (C).
3 shows the data format of each of the encoded data.
【0036】尚、図5における符号語において、例えば
(a)(次画素がケース(A)、(B)のいずれか)に
おける符号語“110”と、ケース(C)における図6
の符号語“110”は、互いに一致しているが、整合性
の問題は発生しない。以下にその理由をのべる。In the code word in FIG. 5, for example, the code word “110” in (a) (next pixel is either case (A) or (B)) and FIG. 6 in case (C).
Although the codewords “110” of are in agreement with each other, the problem of consistency does not occur. The reason is given below.
【0037】今、濃度データとして、255(0番
目)、240(1番目)、239(2番目)、235
(3番目)、232(4番目)、180(5番目)、1
86(6番目)、187(7番目)…の順に画素データ
(各8ビット)と入力したとする。Now, as density data, 255 (0th), 240 (1st), 239 (2nd), 235
(3rd), 232 (4th), 180 (5th), 1
It is assumed that pixel data (8 bits each) is input in the order of 86 (sixth), 187 (seventh), ....
【0038】ここで、上位5ビット、下位3ビットの
値、及び、先に示したD(8)、(5)、D(3)の演
算値を整理して示すと図8のようになる。Here, the values of the upper 5 bits, the lower 3 bits, and the calculated values of D (8), (5), and D (3) shown above are summarized and shown in FIG. .
【0039】ここで、例えば4番目の画素(濃度値が2
32)と5番目の画素(濃度値が180)について着目
すると、この間の濃度変化は比較的大きいことがわか
る。そこで、4番目の画素の符号化後のデータは、符号
語が“0000”(次の5番目の画素がケース(C)に
なることを意味する)で、付加ビットが“0”となり、
少なくとも5番目の画素が上位5ビット及び下位3ビッ
トで1画素の符号化コードを表現していることが識別で
きる。Here, for example, the fourth pixel (the density value is 2
32) and the fifth pixel (having a density value of 180), it can be seen that the density change during this time is relatively large. Therefore, in the coded data of the fourth pixel, the code word is “0000” (meaning that the next fifth pixel is the case (C)), and the additional bit is “0”,
It can be identified that at least the fifth pixel represents the encoded code of one pixel by the upper 5 bits and the lower 3 bits.
【0040】5画素目を着目すると、上位5ビットの符
号化コードにおける符号語は“110”、付加ビットは
3ビットあって“011”となり、続く下位3ビットの
符号語は“01”(次の6画素目がケース(A)、
(B)のいずれか)であり、付加ビットが“0”にな
る。Focusing on the fifth pixel, the code word in the high-order 5-bit code is "110", the additional bit is 3 bits and becomes "011", and the code word of the following low-order 3 bits is "01" (next The sixth pixel of the case (A),
(Any of (B)), and the additional bit becomes “0”.
【0041】このように、次画素のケースを符号語に反
映させつつ、整合性がとれるので、問題は発生しない。As described above, since the consistency can be obtained while reflecting the case of the next pixel in the code word, no problem occurs.
【0042】以上の通りであるが、次に、上記実施形態
を実現するための装置の具体的な構成例を図9に示す。As described above, FIG. 9 shows a concrete configuration example of an apparatus for realizing the above embodiment.
【0043】図示において、1はイメージセンサであ
り、2はイメージセンサからのアナログ信号を8ビット
のデジタルデータに変換するA/Dコンバータ、3はシ
ェーディング補正処理や拡大縮小処理を行う補正回路で
ある。In the figure, 1 is an image sensor, 2 is an A / D converter for converting an analog signal from the image sensor into 8-bit digital data, and 3 is a correction circuit for performing shading correction processing and enlargement / reduction processing. .
【0044】4は1画素分の遅延を行う遅延回路であ
り、例えばDタイプフリップフロップで構成される。こ
の遅延回路を設けた理由は、この回路からの画素データ
を注目画素データとしたとき、補正回路3より得られた
画素データは次の画素データとさせ、上記の如く次画素
の状況に応じて符号語を生成するためである。5はメモ
リであって、入力した8ビット画像データを記憶する。
実施形態では、図1における注目画素の直前の画素デー
タaを予測値として使用するので、例えばDタイプフリ
ップフロップで構成しても良い。但し、予測値として画
素c、dのいずれか、或いはa〜cの演算結果でもって
予測値を決定するのであれば少なくとも1ライン分のメ
モリ容量を要する。Reference numeral 4 is a delay circuit for delaying one pixel, and is composed of, for example, a D type flip-flop. The reason for providing this delay circuit is that when the pixel data from this circuit is the target pixel data, the pixel data obtained from the correction circuit 3 is the next pixel data, and depending on the situation of the next pixel as described above. This is to generate a codeword. A memory 5 stores the input 8-bit image data.
In the embodiment, since the pixel data a immediately before the pixel of interest in FIG. 1 is used as the prediction value, it may be configured by a D type flip-flop, for example. However, if the predicted value is determined based on either the pixel c or d or the calculation result of ac as the predicted value, at least one line of memory capacity is required.
【0045】6はメモリ5に格納された画素データに基
づいて予測値を抽出し出力する予測値抽出回路である。
7〜9は先に説明した式(i)〜(iii)を演算する減
算器であり、減算器7は入力した画素データを注目画素
データ(8ビット)とし、それから予測値抽出回路6か
ら出力された予測値(8ビット)で減じ、その結果を出
力する。また、減算器8は注目画素の上位5ビットか
ら、予測値抽出回路6からの予測値の上位5ビットを減
じ、その結果を出力する。そして、減算器9は注目画素
の下位3ビットから、予測値の下位3ビットを減じ、そ
の結果を出力する。Reference numeral 6 is a prediction value extraction circuit for extracting and outputting a prediction value based on the pixel data stored in the memory 5.
Reference numerals 7 to 9 are subtractors for calculating the expressions (i) to (iii) described above. The subtractor 7 uses the input pixel data as the target pixel data (8 bits), and then outputs it from the prediction value extraction circuit 6. The predicted value (8 bits) is subtracted and the result is output. Further, the subtractor 8 subtracts the upper 5 bits of the predicted value from the predicted value extraction circuit 6 from the upper 5 bits of the pixel of interest and outputs the result. Then, the subtractor 9 subtracts the lower 3 bits of the predicted value from the lower 3 bits of the pixel of interest and outputs the result.
【0046】10、11はハフマン符号化回路であり、
先に説明したように、ケース(A)〜(C)に応じて符
号語+付加ビットを生成し、出力する。これら符号化回
路10、11には、符号化を行うロジックが組み込まれ
ている。但し、符号化処理を行うためのテーブルを格納
しても良い。符号化回路10は上位5ビットの符号化処
理を、符号化回路11は下位3ビットの符号化処理を行
う。また、注目画素と次画素の値に基づいて符号語を生
成する処理も行う。Reference numerals 10 and 11 are Huffman encoding circuits,
As described above, the codeword + additional bits are generated and output according to the cases (A) to (C). The encoding circuits 10 and 11 incorporate a logic for encoding. However, a table for performing the encoding process may be stored. The encoding circuit 10 performs the encoding process for the upper 5 bits, and the encoding circuit 11 performs the encoding process for the lower 3 bits. It also performs a process of generating a codeword based on the values of the pixel of interest and the next pixel.
【0047】符号化データ合成回路12は、減算器7〜
9の減算結果に応じて、注目画素が先に説明したケース
(A)から(C)のいずれに該当するかを判別し、例え
ばケース(A)であれば、ハフマン符号化回路11から
の3ビット符号化データを、ケース(B)であればハフ
マン符号化回路10からの5ビット符号化データを、そ
して、ケース(C)であれば符号化回路10、11の順
に符号化データを入力し、それらのデータを合成する。The coded data synthesizing circuit 12 includes subtractors 7 to 7.
According to the subtraction result of 9, it is determined which of the cases (A) to (C) the target pixel corresponds to. For example, in case (A), the Huffman encoding circuit 11 outputs 3 The bit encoded data is input in the case (B), the 5-bit encoded data from the Huffman encoding circuit 10 is input, and in the case (C), the encoded circuits 10 and 11 are input in this order. , Combine those data.
【0048】また、13はデータ整列回路であって、符
号化データを例えば8ビット単位にし(整列し)、出力
バッファメモリ13に順次格納する。8ビットに満たな
い場合には、次の符号化データと接続し8ビット以上に
なるのを待つ。Reference numeral 13 is a data alignment circuit, which makes encoded data into, for example, 8-bit units (aligns) and sequentially stores them in the output buffer memory 13. If it is less than 8 bits, it is connected to the next encoded data and waits until it becomes 8 bits or more.
【0049】出力バッファメモリ14には、こうして符
号化データが格納される。このデータはインタフェース
15を介して上位装置であるホストコンピュータに転送
することになる。The encoded data is stored in the output buffer memory 14 in this manner. This data will be transferred to the host computer, which is a higher-level device, via the interface 15.
【0050】尚、図9において、破線で囲まれた部分
(符号100)は、実際にはゲートアレイで構成してい
る。また、実際にはスキャナもしくは原稿を移動させる
制御系も存在するので、図示の構成が全てではない。In FIG. 9, the portion surrounded by the broken line (reference numeral 100) is actually composed of a gate array. Moreover, since there is actually a control system for moving the scanner or the document, the configuration shown in the drawings is not all.
【0051】さて、上記構成における処理手順を整理し
て示せば、図10のようになる。ここでは、1バイト分
(8ビット)の符号化データの出力バッファメモリ13
への格納処理の手順を示している。Now, the processing procedure in the above configuration can be summarized and shown as shown in FIG. Here, the output buffer memory 13 for encoded data of 1 byte (8 bits)
Shows the procedure of the storing process to.
【0052】先ず、ステップS1で、画像データを入力
し、ステップS2〜4で予測値(実施形態では直前の画
素の値)との差分値を8ビット、上位5ビット、下位3
ビットそれぞれ演算する。ステップS5では、演算結果
に応じて注目画素の状態を識別し、対応する処理に分岐
させる。First, in step S1, the image data is input, and in steps S2-4, the difference value from the predicted value (the value of the immediately preceding pixel in the embodiment) is 8 bits, upper 5 bits, lower 3
Calculate each bit. In step S5, the state of the pixel of interest is identified according to the calculation result, and the process branches to the corresponding process.
【0053】例えば、ケース(A)の場合には、ステッ
プS6に進み、下位3ビットのハフマン符号化を行な
い、ステップS7で符号データ(符号語+付加ビット)
を生成する。また、ケース(B)の場合には、ステップ
S8で上位5ビットのハフマン符号化を行ない、ステッ
プS9で符号データを製する。そして、ケース(C)の
場合にはステップS10、11で、上位5ビット及び下
位3ビットそれぞれの符号データを生成する。For example, in case (A), the process proceeds to step S6, Huffman coding of the lower 3 bits is performed, and the code data (code word + additional bit) is processed in step S7.
Generate In case (B), Huffman coding of the upper 5 bits is performed in step S8, and code data is manufactured in step S9. Then, in case (C), code data of upper 5 bits and lower 3 bits are generated in steps S10 and S11.
【0054】こうして、ステップS12では、生成され
た符号データが8ビットになったか否かを判断し、8ビ
ットに満たない場合には、次の画素データを入力する処
理(ステップS1)に戻り、上記処理を繰り返す。そし
て、符号データとして8ビット或いはそれ以上の符号デ
ータのかたまりができた段階で、8ビット単位にデータ
を整列させ、出力バッファメモリ13に格納する。Thus, in step S12, it is determined whether or not the generated code data has 8 bits, and if it is less than 8 bits, the process returns to the process of inputting the next pixel data (step S1), The above process is repeated. Then, when a block of code data of 8 bits or more is formed as code data, the data is aligned in units of 8 bits and stored in the output buffer memory 13.
【0055】以上説明したように本実施形態に従えば、
入力した8ビットの多値画像データを上位5ビット及び
下位3ビットに分割し、それぞれに対して符号化するの
で、例えば、濃度のなだらかな部分が多い画像の場合、
そのほとんどが実質的に3ビット符号、或いは5ビット
符号のみで表現され、これまでの単純なハフマン符号化
と比較して圧縮率を高めることができる。従って、例え
ば、イメージスキャナ装置に本発明を適用することで、
上位装置であるホストコンピュータ等にはより短い時間
で画像データを転送することが可能になる。As described above, according to the present embodiment,
Since the input 8-bit multi-valued image data is divided into upper 5 bits and lower 3 bits and encoded for each, for example, in the case of an image with a lot of gentle density,
Most of them are substantially represented by only a 3-bit code or a 5-bit code, and the compression rate can be increased as compared with the conventional simple Huffman coding. Therefore, for example, by applying the present invention to an image scanner device,
It becomes possible to transfer the image data to the host computer, which is a higher-level device, in a shorter time.
【0056】また、実施形態ではハフマン符号化器1
0、11を2つに分けて説明したが、その内部に格納さ
れる符号化ロジック或いはテーブルは、それぞれ8ビッ
ト用とはならず、通常のハフマン符号化に使用されるテ
ーブルの単純に倍の容量を有することもない。従って、
装置構成も多少多くのゲートを要するものの、無視でき
るサイズである。In the embodiment, the Huffman encoder 1
Although 0 and 11 have been described as being divided into two, the encoding logic or table stored therein is not for 8 bits each, and is simply a double of the table used for normal Huffman encoding. It also has no capacity. Therefore,
Although the device configuration requires a few more gates, it is a size that can be ignored.
【0057】更に、実施形態では分割する割合を上位5
ビット、下位3ビットとしたが、これによっても本願発
明が限定されるものではなく、他のビット数の組み合わ
せ(例えば上位6ビット、下位2ビット等)でもよい。
特に入力画像として8ビットではなく、例えば16ビッ
トにしても良く、その場合には、例えば上位10ビッ
ト、下位6ビットでも良い。但し、発明者が様々な画像
を読み込ませ実験したところ、入力画像が8ビットの場
合には、上記実施形態で説明した上位5ビット、下位3
ビットの割合での分割が最も安定し、且つ、良好な結果
を得ることができた。Furthermore, in the embodiment, the division ratio is ranked in the top five.
Although the bit and the lower 3 bits are used, the present invention is not limited to this, and other combinations of the number of bits (for example, upper 6 bits, lower 2 bits, etc.) may be used.
In particular, the input image may be, for example, 16 bits instead of 8 bits, and in this case, for example, upper 10 bits and lower 6 bits may be used. However, when the inventor read various images and experimented, when the input image was 8 bits, the upper 5 bits and the lower 3 bits described in the above embodiment were used.
The division at the ratio of bits was the most stable, and good results could be obtained.
【0058】尚、説明は特にしなかったが、例えばホス
トコンピュータ上では本装置のイメージスキャナ装置を
駆動制御するドライバプログラムが動作していて、この
プログラムがインタフェースを介して受信した符号化デ
ータを、復号化し読出しも元のアプリケーションプログ
ラムに復号化した画像データを提供することになる。Although not specifically described, for example, a driver program for driving and controlling the image scanner device of the present apparatus is operating on the host computer, and the encoded data received by this program via the interface is Decoding and reading also provides the decoded image data to the original application program.
【0059】[0059]
【発明の効果】以上説明したように本発明によれば、中
間調画像を効率良く高速に、且つ、コスト面及び規模面
でも何等問題ない画像データの圧縮方法及び装置を提供
できる。As described above, according to the present invention, it is possible to provide a method and apparatus for compressing image data of a halftone image efficiently and at high speed without any problem in terms of cost and scale.
【0060】特に、イメージスキャナ装置内部に本発明
を適用させると、読み取り画像データを上位装置に転送
するときの情報量を少なくし、結果的に画像データの転
送に係る時間を短縮させることが可能になる。In particular, when the present invention is applied to the inside of the image scanner device, it is possible to reduce the amount of information when transferring the read image data to the host device, and consequently to shorten the time required to transfer the image data. become.
【0061】[0061]
【図1】ハフマン符号化における注目画素と予測値を演
算するための周辺画素の関係を示す図である。FIG. 1 is a diagram showing a relationship between a pixel of interest in Huffman coding and peripheral pixels for calculating a prediction value.
【図2】ハフマン符号化テーブルの一例を示す図であ
る。FIG. 2 is a diagram showing an example of a Huffman coding table.
【図3】実施形態における下位3ビットの差分値演算の
概要を説明するための図である。FIG. 3 is a diagram for explaining an outline of difference value calculation of lower 3 bits in the embodiment.
【図4】実施形態における下位3ビットの差分値の全組
み合わせを示す図である。FIG. 4 is a diagram showing all combinations of difference values of lower 3 bits in the embodiment.
【図5】実施形態における下位3ビットの符号化の符号
語及び付加ビットの関係を示す図である。FIG. 5 is a diagram showing a relationship between a code word and additional bits for encoding the lower 3 bits in the embodiment.
【図6】実施形態における上位5ビットの符号化の符号
語及び付加ビットの関係を示す図である。FIG. 6 is a diagram showing a relationship between a codeword and additional bits for encoding the upper 5 bits in the embodiment.
【図7】実施形態における符号化データのフォーマット
を示す図である。FIG. 7 is a diagram showing a format of encoded data in the embodiment.
【図8】実施形態における画像データと実際の圧縮符号
データの一例を示す図である。FIG. 8 is a diagram showing an example of image data and actual compressed code data in the embodiment.
【図9】実施形態におけるイメージスキャナ装置におけ
る符号化処理を行うハードウェア部分のブロック構成図
である。FIG. 9 is a block configuration diagram of a hardware portion that performs an encoding process in the image scanner device according to the embodiment.
【図10】実施形態における符号化処理の手順を示すフ
ローチャートである。FIG. 10 is a flowchart showing a procedure of encoding processing according to the embodiment.
1 イメージセンサ 2 A/Dコンバータ 3 補正回路 4 1画素遅延回路 5 メモリ 6 予測値抽出回路 7 8ビット減算器 8 5ビット減算器 9 3ビット減算器 10 5ビットハフマン符号化器 11 8ビットハフマン符号化器 12 符号データ合成回路 13 データ整列回路 14 出力バッファメモリ 15 インタフェース 1 Image Sensor 2 A / D Converter 3 Correction Circuit 4 1 Pixel Delay Circuit 5 Memory 6 Prediction Value Extraction Circuit 7 8-bit Subtractor 8 5-bit Subtractor 9 3-bit Subtractor 10 5-bit Huffman Encoder 11 8-bit Huffman Code Coder 12 code data synthesis circuit 13 data alignment circuit 14 output buffer memory 15 interface
Claims (5)
た多値画素データの近傍の多値画素データに基づいて得
られる予測値との差分に基づいて注目画素データを符号
化する方法であって、 予測値と注目画素の差分を検出し、 入力した多値画素データ及び予測値をそれぞれ上位mビ
ット、下位nビットに分割し、それぞれの差分データを
それぞれ独立して符号化し、 検出した差分に基づいて、前記上位mビットの差分符号
化データ、或いは/及び、前記下位nビットの差分符号
化データを選択し、出力することを特徴とする画像デー
タの圧縮方法。1. A method for encoding pixel data of interest based on a difference between input multi-valued pixel data and a predicted value obtained based on multi-valued pixel data in the vicinity of the input multi-valued pixel data. Then, the difference between the prediction value and the pixel of interest is detected, the input multi-valued pixel data and the prediction value are divided into upper m bits and lower n bits, and the respective difference data are independently encoded, and the detected difference is detected. A method of compressing image data, comprising selecting and outputting the higher m bits of differential encoded data or / and the lower n bits of differential encoded data based on the above.
合、前記mは5、前記nは3を示すことを特徴とする請
求項第1項に記載の画像データの圧縮方法。2. The image data compression method according to claim 1, wherein when the input multi-valued pixel data is 8 bits, the m is 5 and the n is 3.
た多値画素データの近傍の多値画素データに基づいて得
られる予測値との差分に基づいて注目画素データを符号
化する装置であって、 予測値と注目画素の差分を検出する検出手段と、 入力した多値画素データ及び予測値をそれぞれ上位mビ
ットの差分を符号化する第1の符号化手段と、 入力した多値画素データ及び予測値をそれぞれ下位nビ
ットの差分を符号化する第2の符号化手段と、 前記検出手段で検出された差分に基づいて、前記第1の
符号化手段により生成された符号化データ、或いは/及
び、前記第2の符号化手段により生成された符号化デー
タを選択する選択手段とを備えることを特徴とする画像
データの圧縮装置。3. An apparatus for encoding pixel data of interest based on a difference between input multi-valued pixel data and a predicted value obtained based on multi-valued pixel data in the vicinity of the input multi-valued pixel data. Detecting means for detecting the difference between the predicted value and the pixel of interest; first encoding means for encoding the difference of the upper m bits of the input multivalued pixel data and the predicted value, and the input multivalued pixel data. A second coding means for coding the difference of the lower n bits of the prediction value and the predicted value, and coded data generated by the first coding means based on the difference detected by the detecting means, or / And a selecting means for selecting the encoded data generated by the second encoding means, the image data compressing apparatus.
読み取る読み取り手段と、 前記選択手段で選択された符号化データを上位装置に所
定のインタフェースを介して転送する転送手段とを備え
ることを特徴とする請求項第3項に記載の画像データの
圧縮装置。4. A reading unit for optically reading an original image for inputting multi-valued pixel data, and the coded data selected by the selecting unit are transferred to a higher-level device via a predetermined interface. The image data compression apparatus according to claim 3, further comprising a transfer unit.
演算手段と、 注目画素と予測値の上位mビットの差分を演算する第2
の演算手段とを含み、前記第1、第2の演算手段の演算
結果に基づいて予測値と注目画素の差分を検出すること
を特徴とする請求項第3項に記載の画像データの圧縮装
置。5. The first detecting means calculates the difference value of all bits between the pixel of interest and the predicted value, and the second calculating means calculates the difference of the upper m bits of the pixel of interest and the predicted value.
4. The image data compression apparatus according to claim 3, further comprising: an arithmetic unit for detecting the difference between the predicted value and the pixel of interest based on the arithmetic results of the first and second arithmetic units. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27892595A JP3209396B2 (en) | 1995-10-26 | 1995-10-26 | Image data compression method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27892595A JP3209396B2 (en) | 1995-10-26 | 1995-10-26 | Image data compression method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09121286A true JPH09121286A (en) | 1997-05-06 |
JP3209396B2 JP3209396B2 (en) | 2001-09-17 |
Family
ID=17604000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27892595A Expired - Fee Related JP3209396B2 (en) | 1995-10-26 | 1995-10-26 | Image data compression method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3209396B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006041850A (en) * | 2004-07-27 | 2006-02-09 | Naltec Inc | Data creation method, and data processing device |
JP2012231453A (en) * | 2011-04-11 | 2012-11-22 | Canon Inc | Data decoding device |
CN111035381A (en) * | 2018-10-15 | 2020-04-21 | 深圳华清心仪医疗电子有限公司 | Real-time electrocardiogram data lossless compression method |
-
1995
- 1995-10-26 JP JP27892595A patent/JP3209396B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006041850A (en) * | 2004-07-27 | 2006-02-09 | Naltec Inc | Data creation method, and data processing device |
JP2012231453A (en) * | 2011-04-11 | 2012-11-22 | Canon Inc | Data decoding device |
US9467709B2 (en) | 2011-04-11 | 2016-10-11 | Canon Kabushiki Kaisha | Data decoding device and process operating depending on selected modes |
CN111035381A (en) * | 2018-10-15 | 2020-04-21 | 深圳华清心仪医疗电子有限公司 | Real-time electrocardiogram data lossless compression method |
CN111035381B (en) * | 2018-10-15 | 2023-02-14 | 深圳华清心仪医疗电子有限公司 | Real-time electrocardiogram data lossless compression method |
Also Published As
Publication number | Publication date |
---|---|
JP3209396B2 (en) | 2001-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6798833B2 (en) | Video frame compression/decompression hardware system | |
JP2656897B2 (en) | Image data compression and decompression device | |
US5751860A (en) | Method for compressing and decompressing digital image data | |
US5245441A (en) | Document imaging processing method and apparatus | |
JPH0969951A (en) | Encoding method and decoding method | |
JPH0326947B2 (en) | ||
US7218786B2 (en) | Method of compressing and decompressing images | |
JP3209396B2 (en) | Image data compression method and apparatus | |
EP0711069A1 (en) | Image processing method and apparatus | |
JPH09139955A (en) | Data coding device, its method, data decoding device and its method | |
JP3859325B2 (en) | Image iterative transform decoding apparatus and method, and recording medium | |
JPS62195979A (en) | Facsimile code converter | |
JPH06217110A (en) | Image converting method | |
JPH1023426A (en) | Picture predicting method and picture coding method | |
JP2006060490A (en) | Image compressor and image compression program | |
JPH0936749A (en) | Coding decoding device and coding method used for it | |
JP2560987B2 (en) | Image processing device | |
JP2615215B2 (en) | Image data compression method | |
JP2556047B2 (en) | Image information coding device | |
JPS60251763A (en) | Magnifying and reducing circuit of facsimile information | |
JP3146092B2 (en) | Encoding device and decoding device | |
JP2506705B2 (en) | Coding / decoding apparatus for hierarchical image | |
JPH01112882A (en) | Block dividing sequential reproducing coding system | |
JPS595778A (en) | Compression system for half-tone picture data | |
JPH01174173A (en) | Compression coding method for binary picture data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010611 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080713 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090713 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090713 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130713 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |