Nothing Special   »   [go: up one dir, main page]

JP3127513B2 - Encoding device - Google Patents

Encoding device

Info

Publication number
JP3127513B2
JP3127513B2 JP03244923A JP24492391A JP3127513B2 JP 3127513 B2 JP3127513 B2 JP 3127513B2 JP 03244923 A JP03244923 A JP 03244923A JP 24492391 A JP24492391 A JP 24492391A JP 3127513 B2 JP3127513 B2 JP 3127513B2
Authority
JP
Japan
Prior art keywords
encoding
value
prediction
predicted value
code
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.)
Expired - Fee Related
Application number
JP03244923A
Other languages
Japanese (ja)
Other versions
JPH0564008A (en
Inventor
優 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP03244923A priority Critical patent/JP3127513B2/en
Publication of JPH0564008A publication Critical patent/JPH0564008A/en
Application granted granted Critical
Publication of JP3127513B2 publication Critical patent/JP3127513B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、画像データを圧縮/伸
張する画像データ処理装置等に用いられる符号化装置に
係り、詳細には算術符号の一種であるQ−Coderを用い
て符号化を行なう符号化装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encoding apparatus used for an image data processing apparatus for compressing / expanding image data, and more particularly, to encoding using a Q-Coder which is a kind of arithmetic code. The present invention relates to a coding apparatus for performing the coding.

【0002】[0002]

【従来の技術】画像信号に含まれる冗長な信号成分を除
去することによって、原画像信号のデータ量を低減する
ための処理を画像の高能率符号化(high-efficiency co
ding)、あるいは単に画像符号化(picture coding)と
いう。また、この技術は、データ圧縮符号化、冗長度抑
圧符号化、ビットレート低減符号化(bit-rate reducti
on coding)などと呼ばれることもある。
2. Description of the Related Art A process for reducing the data amount of an original image signal by removing redundant signal components contained in the image signal is performed by a high-efficiency coding (high-efficiency code) of an image.
ding), or simply picture coding. In addition, this technology uses data compression coding, redundancy suppression coding, bit rate reduction coding (bit-rate reducti coding).
on coding).

【0003】ファクシミリのように文書、図面など中間
調の信号成分を含まず、白黒2値のみでできているとみ
なせる画像を2値画像と呼んでいる。2値画像は一般に
大きな冗長性を有しており、情報源符号化の手法により
データ圧縮が可能である。2値画像の画質は、振幅方向
の量子化レベル数が2で十分なため、標本化密度によっ
て定まるとみてよい。
An image, such as a facsimile, which does not include a halftone signal component such as a document or a drawing and can be regarded as being made up of only black and white binary is called a binary image. A binary image generally has a large degree of redundancy, and data can be compressed by an information source coding technique. The image quality of the binary image can be considered to be determined by the sampling density because the number of quantization levels in the amplitude direction is sufficient to be two.

【0004】データ圧縮符号化のうちで重要なものは、
予測符号化(predictive coding)と変換符号化(trans
form coding)及び、ベクトル量子化(vector quantiza
tion)である。これらの2者、3者を組み合わせること
も多く(ハイブリッド符号化)、更に、上記の諸手法に
組み合わせてデータ圧縮効果を高める有力な手段とし
て、エントロピーコーディング(可変長符号化、ハフマ
ン符号化)がよく用いられる。
[0004] Among the important data compression encodings,
Predictive coding and transform coding (trans
form coding) and vector quantization (vector quantiza)
Option). Entropy coding (variable length coding, Huffman coding) is often used as a powerful means to increase the data compression effect by combining these two methods or three methods (hybrid coding). Often used.

【0005】冗長度を除去するためのエントロピー符号
化のうち、最も代表的なエントロピー符号化の一つは不
等長符号化であり、これは頻度に高い出力レベルには短
い符号を、出現頻度の低い出力レベルには長い符号をそ
れぞれ割り当てる。これによって符号出力の平均符号長
を短くできる。エントロピー符号化を行うことによっ
て、符号出力の発生速度は一定ではなくなる。一般の伝
送路は、一定速度で情報を伝送するようにできているの
で、不均一に発生した情報(符号)をそのまま伝送路に
送出することはできない。このため、一旦バッファ記憶
によって情報を平滑化してから信号として送出する。ま
た、バッファ記憶のオーバーフロー、アンダーフローを
防ぐために、バッファ記憶占有率を監視し、常に一定範
囲に収まるように冗長度除去符号化のパラメータを制御
する。
[0005] Among the entropy codings for removing the redundancy, one of the most typical entropy codings is unequal length coding. Are assigned to longer output levels. Thereby, the average code length of the code output can be shortened. By performing entropy coding, the rate of code output generation is not constant. Since a general transmission path is configured to transmit information at a constant speed, information (code) generated unevenly cannot be transmitted to the transmission path as it is. For this reason, information is temporarily smoothed by buffer storage and then transmitted as a signal. Further, in order to prevent overflow and underflow of the buffer storage, the buffer storage occupancy is monitored, and the parameters of the redundancy elimination coding are controlled so as to always fall within a certain range.

【0006】以下、上記予測符号化、算術符号及びQ−
Coderについて説明する。予測符号化 上記予測符号化は、符号器内のメモリに既に符号化され
た過去の画素値を記憶しておき、これから新たに入力さ
れる画素Xの予測値(X)を求めるものである。その差
(予測誤差という)X−(X)を量子化し、その出力レベ
ルを適当な2進符号に変換して送出する。受信側におい
ても全く同様の計算によって、予測値(X)が再生できる
から、伝送されてきた符号から予測誤差を再生し、これ
を既に復号された直前の画像信号に加えて新たな画像信
号が復元できる。標本値間の相関が大きい信号に対して
は精度の高い予測が可能なため、予測値(X)が実際の信
号Xに近くなり、予測誤差は小さくなる。従って、信号
Xよりも少ない情報量で伝送が可能となり、高能率符号
化が実現できる。
Hereinafter, the above-mentioned predictive coding, arithmetic code and Q-
Coder will be described. Predictive coding In predictive coding, a previously stored coded past pixel value is stored in a memory in an encoder, and a predicted value (X) of a newly input pixel X is obtained from this. The difference (referred to as a prediction error) X- (X) is quantized, and the output level is converted into an appropriate binary code and transmitted. On the receiving side, the prediction value (X) can be reproduced by exactly the same calculation. Therefore, a prediction error is reproduced from the transmitted code, and this is added to the immediately preceding image signal already decoded, and a new image signal is generated. Can be restored. Since highly accurate prediction is possible for a signal having a large correlation between sample values, the predicted value (X) is close to the actual signal X, and the prediction error is reduced. Accordingly, transmission can be performed with a smaller amount of information than the signal X, and high-efficiency coding can be realized.

【0007】図8は予測誤差を符号化することによって
画像データを画素レベルで圧縮するQ−Coderを用いた
画像データ圧縮装置の符号化フローである。図8におい
て、2値画像(例えば、ファクシミリ)の1画素につい
て予測誤差を算出し符号化するまでの処理は次のような
ものである。
FIG. 8 is an encoding flow of an image data compression apparatus using a Q-Coder which compresses image data at a pixel level by encoding a prediction error. In FIG. 8, the processing from calculating a prediction error to one pixel of a binary image (for example, a facsimile) to encoding is as follows.

【0008】先ず、ステップS1で符号化をしようとす
る画素(符号化対象画素)の周辺7画素から符号化しよ
うとする画素の予測値を求め、ステップS2で符号化し
ようとする画素と上記予測値をEX−ORして予測誤差
を算出する。次いで、ステップS3で算出した予測誤差
をQ−Coder(後述する図14参照)を用いて符号化す
る。この処理を図9〜図11により具体的に説明する。
First, in step S1, a predicted value of a pixel to be coded is determined from seven pixels around a pixel to be coded (pixel to be coded), and in step S2, the pixel to be coded and the prediction value The prediction error is calculated by EX-ORing the values. Next, the prediction error calculated in step S3 is encoded using Q-Coder (see FIG. 14 described later). This process will be specifically described with reference to FIGS.

【0009】図9は文書等の画像データ1とその一部を
拡大した予測値対象を示す図である。この図に示すよう
に、符号化時には画像データ1の左上から右方向に走査
を行って白黒(0か1)2値のドットデータを得るもの
であるが、ある画素Xのドットを符号化しようとした場
合に原データを直接符号化するのではなく、図9の拡大
部に示すように画素Xの左上、上及び右のa〜gの7つ
の画素の値(白黒の値)からXの値を予測してその予測
との誤差を求めるようにする。すなわち、図9に示すよ
うに、画素Xの左上方向のa〜gの周囲7画素の値を基
に予測値を統計的に記憶した予測値表(予測符号表)2
(図10)を作成しておき、上記a〜gの周囲7画素の
値によって予測値表2のアドレスを指定し、対応する予
測値(X)を得る。上記予測値表2は、a〜gの画素の値
0000000から1111111までのすべての組合
せに対応して0から1の予測値(X)を予め統計的に求め
て記憶しておくもので、例えば画像データ1を走査して
画素Xの周りに0(例えば、白)が多いときにはこの符
号化しようとするドットデータも白が多いと想定される
ので予測値(X)は0(白)とする。逆に、ベタ塗りのよ
うなときは1(例えば、黒)である確率は高いと想定さ
れるので予測値(X)は1(黒)とする。このようにa〜
gの画素の値に対応して最適な予測値(X)を予め統計的
に求めてROM等に記憶しておき、この予測値(X)と画
素Xを図11に示すEX−OR(排他的論理和)回路3
に入力してEX−OR論理をとり予測誤差を算出する。
EX−ORした結果、予測が正しければ“0”、誤りの
場合は“1”とする。予測が合っている限りは“0”が
多くなるから、この“0”が多いデータを符号化装置に
通して符号化すればこれは偏りが多いデータであるから
かなりの圧縮が期待できる。このようにa〜gの画素の
値による予測値(X)がXと一致していれば圧縮率が高く
なる。
FIG. 9 is a diagram showing image data 1 of a document or the like and a target of a predicted value in which a part thereof is enlarged. As shown in this figure, at the time of encoding, the image data 1 is scanned from the upper left to the right to obtain monochrome (0 or 1) binary dot data, but a dot of a certain pixel X will be encoded. In this case, the original data is not directly encoded, but as shown in the enlarged portion of FIG. 9, the values (black and white values) of the seven pixels a to g at the upper left, upper, and right of the pixel X are calculated. A value is predicted and an error from the prediction is obtained. That is, as shown in FIG. 9, a prediction value table (prediction code table) 2 in which prediction values are statistically stored based on values of seven pixels around a to g in the upper left direction of the pixel X.
(FIG. 10) is prepared, and the address of the predicted value table 2 is designated by the values of the seven pixels around the above a to g to obtain the corresponding predicted value (X). The predicted value table 2 is a table in which predicted values (X) from 0 to 1 are statistically obtained in advance and stored in correspondence with all combinations of values 00000000 to 1111111 of the pixels a to g. When the image data 1 is scanned and there are many 0 (for example, white) around the pixel X, it is assumed that the dot data to be coded is also large in white, so that the predicted value (X) is 0 (white). . Conversely, in the case of solid painting, it is assumed that the probability of 1 (for example, black) is high, so the predicted value (X) is 1 (black). Thus a ~
The optimum predicted value (X) corresponding to the value of the pixel of g is statistically obtained in advance and stored in a ROM or the like, and the predicted value (X) and the pixel X are EX-OR (exclusive) shown in FIG. Logical sum) circuit 3
To calculate the prediction error by taking the EX-OR logic.
As a result of the EX-OR, the prediction is “0” if the prediction is correct, and “1” if the prediction is erroneous. As long as the prediction is correct, the number of “0” s increases, and if the data with a large number of “0” s is coded through an encoding device, the data is highly biased, so that considerable compression can be expected. As described above, if the predicted value (X) based on the values of the pixels a to g matches X, the compression ratio increases.

【0010】上述のようにして算出された予測誤差をQ
−Coderを用いて符号化していくことになる。
The prediction error calculated as described above is represented by Q
-Encode using Coder.

【0011】次に、Q−Coderの概要について説明す
る。Q−Coderは算術符号の一種であり、0〜1の数直
線上を符号化するデータの発生確率で次々と分割してい
くものである。従って、先ず算術符号について簡単に述
べる。算術符号 算術符号は、0〜1の数直線数を符号化するデータの発
生確率で分割することによって原データを一旦発生頻度
(発生確率)に置き換える。例えば、図12に示すよう
に入力値11001…を、“1”の出る予測確率が高い
P(0≦P≦1)と“0”の出る予想確率Q(Q=1−
P)とによる発生頻度に置き換え、これを図13に示す
起点C、幅Aの数直線上の分割比率で表す。すなわち、
数直線上に2つの変数C(原点)とA(幅)をもたせ、
最初はC=0,A=1(図13(ア)参照)とする。発
生確率が高いときは原点Cを変えずに数直線の分割を行
い、新たに図13(ア)のPの大きさを数直線の幅にす
る。そして、 i)数直線の分割をするときに発生頻度の高い符号
“1”がきた場合には数直線の幅をPにして原点(起
点)はそのまま据え置く。 ii)また、数直線の分割をするときに発生頻度の低い符
号“0”がきた場合には図13(イ)に示すように原点
(C)の位置をPだけ動かして幅Aを変える。
Next, the outline of the Q-Coder will be described. Q-Coder is a kind of arithmetic code, and is divided one after another by the occurrence probability of data to be encoded on the number line of 0-1. Therefore, the arithmetic code will be briefly described first. Arithmetic Code The arithmetic code temporarily replaces the original data with the occurrence frequency (occurrence probability) by dividing the number of number lines from 0 to 1 by the occurrence probability of the data to be encoded. For example, as shown in FIG. 12, the input values 11001... Are represented by P (0 ≦ P ≦ 1) having a high predicted probability of “1” and Q (Q = 1−1) having a predicted probability of “0”.
P), and this is represented by the division ratio on the number line of the starting point C and the width A shown in FIG. That is,
Put two variables C (origin) and A (width) on the number line,
Initially, C = 0 and A = 1 (see FIG. 13A). When the occurrence probability is high, the number line is divided without changing the origin C, and the size of P in FIG. 13A is newly set to the width of the number line. Then, i) when the code "1" having a high frequency of occurrence comes when dividing the number line, the width of the number line is set to P, and the origin (origin) is left unchanged. ii) If the code “0” having a low frequency of occurrence comes when dividing the number line, the width A is changed by moving the position of the origin (C) by P as shown in FIG.

【0012】上述した方法に従って図12に示す入力値
1100…を連続的に符号化していくと数直線の幅はど
んどん狭くなって0〜1の間のある点に近づき、最終的
には原点の位置が数直線上のある点に収束する。かかる
符号化を算術符号という。
When the input values 1100... Shown in FIG. 12 are continuously encoded in accordance with the above-described method, the width of the number line becomes narrower and closer to a point between 0 and 1, and finally, the origin line The position converges to a certain point on the number line. Such encoding is called an arithmetic code.

【0013】従って、原点Cは発生頻度の高い符号
“1”がきた場合には分割はされるが変化(移動)はせ
ず、発生頻度の高い符号“1”が続く限り分割して割っ
ていくだけで原点の位置は変わらない。すなわち、発生
頻度の高い符号が多ければ多い程分割位置を表現する手
段は小数点以下となり、発生頻度が高い場合は更に分割
が進んでいったとしても桁は増えない(発生頻度の低い
符号“0”がきたときだけ原点の位置が動く)。従っ
て、発生頻度が高い符号が続いている限りにおいては何
千ビットという符号がきてもあるビット線(例えば、数
十ビット)で表現できることになる。ここで、この発生
確率と最終的な符号があれば逆の手順をたどれば元の符
号を得る(復元する)ことができる。このように、発生
確率が予めわかっているものに対して符号の偏りが大き
ければ大きい程圧縮率の高い符号化ができる。
Therefore, the origin C is divided when the code "1" having a high frequency of occurrence comes, but does not change (move), and is divided and divided as long as the code "1" with a high frequency of occurrence continues. The position of the origin does not change just by touching. In other words, as the number of codes with a high frequency of occurrence increases, the means for expressing the division position is below the decimal point, and when the frequency of occurrence is high, the digit does not increase even if the division proceeds further (the code with a low frequency of occurrence “0”). The position of the origin moves only when "comes.) Therefore, as long as a code with a high frequency of occurrence continues, a code of thousands of bits can be represented by a certain bit line (for example, tens of bits). Here, if there is this occurrence probability and the final code, the original code can be obtained (restored) by following the reverse procedure. As described above, the larger the bias of the code with respect to the code whose occurrence probability is known in advance, the higher the compression ratio can be encoded.

【0014】上述した算術符号は高能率符号化が可能で
あるが、次のような欠点がある。先ず、上記“1”の
出る予想確率P、“0”の出る予想確率Qを求めるため
に発生頻度(発生確率)を知る必要があるが、発生頻度
というのは予め全部のデータをスキャンしなければ決定
することができない。例えば、ファクシミリ等では一度
全文章等をスキャンしてみないと発生頻度がわからな
い。また、上記P,Qは整数ではないから精度を高め
ようとすれば小数点以下の多くの桁が必要になり、その
多数桁での数直線の分割は非常に計算が困難である。
Although the above-mentioned arithmetic code can perform high-efficiency coding, it has the following disadvantages. First, it is necessary to know the occurrence frequency (occurrence probability) in order to obtain the expected probability P of "1" and the expected probability Q of "0", but the occurrence frequency means that all data must be scanned in advance. If you can not decide. For example, in the case of a facsimile or the like, the frequency of occurrence cannot be known unless all the sentences are scanned once. Further, since P and Q are not integers, many digits after the decimal point are required to improve the accuracy, and it is very difficult to calculate the division of the number line by the large number of digits.

【0015】上記算術符号の欠点を解消するものとして
算術符号の一種であるQ−Coderが提案された(A multi
-purpose VLSI chip for adaptive data compressin of
bilevel images及び Software imprementation of the
Q-Coder IBM J.RES.DEVELOP VOL32.No6 11-1988参
照)。
To solve the above-mentioned disadvantages of arithmetic codes, a Q-Coder which is a kind of arithmetic code has been proposed (A multi-code).
-purpose VLSI chip for adaptive data compressin of
bilevel images and Software imprementation of the
Q-Coder IBM J.RES.DEVELOP VOL32.No6 11-1988).

【0016】以下、Q−Coderについて説明する。Q−Coder Q−Coderにおいて、0〜1の数直線上を符号化するデ
ータの発生確率で分割することでは上述した算術符号と
基本的には同じであるが、上記算術符号の欠点、を
解消するために以下のような改良が施されている。すな
わち、上記欠点を解消するためには、前記P,Qを、
予め全部のデータをスキャンして発生確率を算出してお
くのではなく、最初は発生確率がどちらか分からないか
ら0.5と仮定し、符号が入力されるに従ってこの発生
確率を動的に変化させる。例えば、P=0.5と仮定し
た場合、入ってくる符号に“1”が多いときはPは0.
5よりも大きく(P>0.5)なる方向に変化させる。
また、スキャンしている途中から“0”が多くなってき
たときは発生確率を下げていきPは0.5よりも小さく
(P<0.5)する。このように動的に発生確率を変化
させる(これを予測発生確率という)ことにより予め全
データをスキャンして発生確率を決定する必要がなくな
る。動的に発生確率を変化させる方法は図16に示す表
を使用して行われるが、これについては後述する。
Hereinafter, the Q-Coder will be described. Q-Coder In Q-Coder, dividing by the probability of occurrence of data to be encoded on the number line of 0 to 1 is basically the same as the arithmetic code described above, but solves the disadvantage of the arithmetic code. In order to do this, the following improvements have been made. That is, in order to solve the above-mentioned drawbacks, P and Q are
Instead of scanning all data in advance and calculating the probability of occurrence, it is assumed that the probability of occurrence is not known at first, so it is assumed to be 0.5, and the probability of occurrence changes dynamically as the code is input. Let it. For example, assuming that P = 0.5, if there are many "1" s in the incoming code, P is set to .0.
It is changed in a direction larger than 5 (P> 0.5).
When “0” increases during the scanning, the occurrence probability is reduced, and P becomes smaller than 0.5 (P <0.5). By dynamically changing the occurrence probability (this is referred to as a predicted occurrence probability), it is not necessary to scan all data in advance to determine the occurrence probability. The method of dynamically changing the occurrence probability is performed using a table shown in FIG. 16, which will be described later.

【0017】一方、上記欠点を解消するためには、上
述した算術符号では元の数直線の幅Aに対して発生確率
Pを掛けたものが新しい幅になるようにし(A←A×
P)、このPが例えば0.3256…等小数点以下何桁
もあると精度の上から計算が困難であったが、Q−Code
rでは分割時の乗算をすべて足し算と引算に置き換えて
しまうことによって上記欠点をなくすようにする。すな
わち、数直線を分割するということは発生確率を引くこ
とによって、また、原点の位置を動かすということは発
生確率を足すことによって近似する。
On the other hand, in order to solve the above-mentioned disadvantage, in the above-mentioned arithmetic code, a new width is obtained by multiplying the original number line width A by the occurrence probability P (A ← A ×
P), it is difficult to calculate from the viewpoint of precision if this P has, for example, 0.3256...
In r, the above disadvantages are eliminated by replacing all multiplications at the time of division with addition and subtraction. That is, dividing the number line is approximated by subtracting the occurrence probability, and moving the position of the origin is approximated by adding the occurrence probability.

【0018】図14〜図16を参照しながらQ−Coder
の概要を述べる。図14はQ−Coderの符号化の過程を
示す原理図である。この図において、Q−Coderは入力
値の系列を0〜A0(通常1)の範囲の数直線上の1点
で表し、その点の値を符号系列として伝送するものであ
る。最初、幅A0起点C0が与えられたとき、入力系列先
頭値に従って幅A0をPe:Qe(Peは“M”の出る
予想確率、Qeは“L”の出る予想確率であり、0<P
e≦0.5,Qe=1−Peとする)に分割し、次の幅
1と起点C1を得る。同様に、次の入力系列値に従っ
て、分割し幅A2、起点C2を得る。これを順次繰り返
し、求める符号化系列を得る。図14に示す符号化過程
は4Bitのデータ“MMLM”(M=1のときは、11
01)を入力したときの動作である。すべての入力で分
割し終わったときの点を符号とし、0<x<1の少数値
が得られる。入力bitが“M”のときは符号の範囲Aを
分割しA・Qeとする。
Referring to FIGS. 14 to 16, Q-Coder
The outline of is described. FIG. 14 is a principle diagram showing a process of encoding a Q-Coder. In this figure, Q-Coder represents a sequence of input values as one point on a number line ranging from 0 to A 0 (usually 1), and transmits the value at that point as a code sequence. First, when the width A 0 starting point C 0 is given, the width A 0 is calculated according to the input sequence head value by Pe: Qe (Pe is the predicted probability of “M”, Qe is the predicted probability of “L”, and 0: <P
e ≦ 0.5, Qe = 1−Pe) to obtain the next width A 1 and starting point C 1 . Similarly, according to the next input sequence value, the data is divided to obtain a width A 2 and a starting point C 2 . This is sequentially repeated to obtain a coded sequence to be obtained. The encoding process shown in FIG. 14 is based on the 4-bit data “MMLM” (11 when M = 1).
01) is input. The point at which the division is completed at all inputs is taken as a code, and a decimal value of 0 <x <1 is obtained. When the input bit is “M”, the code range A is divided to A · Qe.

【0019】すなわち、入力系列値に対し、発生確率の
高いデータMPS(More ProbableSymbol)と発生確率
の低いデータLPS(Less Probable symbol)を想定
し、入力値がMPSならばAn=An-1・(1−Q
e),Cn=Cn-1+An-1・Qeとし、LPSならば、
An=An-1・Qeとして数直線を分割する。この場
合、演算を容易にするために分割時の乗算を加減算に置
き換えて、An-1=1と近似するとともにMPSのとき
はAn=An-1・Qe,Cn=Cn-1+Qeとし、LPS
のときはAn=Qeとして数直線の分割を行う(図15
のQ−CoderフローのステップS11〜S13参照)。
次いで、ステップS14でA,Cを毎回1≦A<2とな
るように正規化する(例えば、A<1のときはA≧1と
なるまで左シフトさせる)ことによって演算精度を確保
し、ステップS15でQe更新を行ってQ−Coderフロ
ーを終了する。このQe更新は、例えばMPSの場合は
図14に示すように下側の線が上に上がっていくように
Qeを動的に変化させていくことである。なお、このQ
−Coderフロー(図15)が前記図8の符号化フローの
ステップS3符号化処理に対応している。
That is, assuming data MPS (More Probable Symbol) having a high probability of occurrence and data LPS (Less Probable symbol) having a low probability of occurrence with respect to the input sequence value, if the input value is MPS, An = A n-1. (1-Q
e), Cn = C n-1 + A n-1 · Qe, and if LPS,
The number line is divided as An = A n -1 · Qe. In this case, the multiplication at the time of division is replaced with addition and subtraction to facilitate the operation, which is approximated to An -1 = 1, and in the case of MPS, An = An -1 * Qe and Cn = Cn -1 + Qe. And LPS
In the case of, the division of the number line is performed with An = Qe (FIG. 15).
(See steps S11 to S13 of the Q-Coder flow in (1)).
Next, in step S14, A and C are normalized each time so that 1 ≦ A <2 (for example, when A <1, the left shift is performed until A ≧ 1), thereby ensuring the calculation accuracy. In step S15, Qe is updated, and the Q-Coder flow ends. This Qe update is, for example, in the case of MPS, dynamically changing Qe so that the lower line goes up as shown in FIG. Note that this Q
The Coder flow (FIG. 15) corresponds to the step S3 encoding process of the encoding flow of FIG.

【0020】このように、Q−Coderでは符号化の起点
を0とし、加算によって符号Cを決定していくので、図
に示すように下側の線が加算によって中央に寄ってい
く。さらに、Q−Coderでは分割比に相当するLPSの
発生確率見種値Qeも毎回更新している。Qe値は図1
6に示すU字形の状態図において、0〜29までの値を
とる30のステートを指示することによってそのステー
トのQe値を決定する。すなわち、図16に示すように
発生頻度の高いビットをMPSとし、U字形の左側をM
PS=1,右側をMPS=0として最初はQe値が最大
の0.5(ステート0〜29の値のうちのステート0の
位置)から開始する。そして、1入力値を符号化する度
に、図16のmに示すようにこのU字形のステートの位
置を上下させステートを変化させる。各々ステート0〜
29に対し、固有のQe値がありステート0ではQe=
0.5、ステート29では非常に小さな値(例えば、
0.00018)となる。
As described above, in the Q-Coder, the starting point of encoding is set to 0, and the code C is determined by addition, so that the lower line is shifted toward the center by addition as shown in the figure. Further, in the Q-Coder, the LPS occurrence probability sample value Qe corresponding to the division ratio is updated every time. Figure 1 shows the Qe value
In the U-shaped state diagram shown in FIG. 6, by specifying 30 states that take values from 0 to 29, the Qe value of the state is determined. That is, as shown in FIG. 16, a bit having a high frequency of occurrence is set to MPS, and the left side of the U-shape is set to MPS.
Initially, PS = 1 and the right side are set to MPS = 0, and the Qe value is first started from 0.5 (the position of state 0 among the values of states 0 to 29). Each time one input value is encoded, the position of the U-shaped state is moved up and down as shown in FIG. Each state 0
29, there is a unique Qe value, and in state 0, Qe =
0.5, a very small value in state 29 (for example,
0.00018).

【0021】Qeの変化の仕方は、想定しているMPS
(例えば、MPS=1)と実際に入ってくるMPSが一
致した場合には図16の表のステートを1つづつ上に登
っていく。すなわち、想定したMPS=1が多い場合に
は発生頻度が高いから発生確率が高いとみなすようにす
る。
The way of changing Qe depends on the assumed MPS
When (for example, MPS = 1) and the actually input MPS match, the states in the table of FIG. 16 are ascended one by one. That is, when the assumed MPS = 1 is large, the occurrence frequency is high, and the occurrence probability is considered to be high.

【0022】また、0がいくつか続いた場合は図16の
表のステートを2つとばし(あるいは3つとばし)で降
ろすことによって追随を速くする。そして、図16の表
の真中(ステート0の位置)にきて更にMPS=1でな
い1がきた場合には以後発生頻度が高いのは0ではない
かと想定してMPS=0として上述したMPS=1の場
合と同様に変化させる。従って、MPSが1,0どちら
でも発生頻度の高い方に追随するようにできる。
When several 0's continue, the following of the table shown in FIG. 16 is skipped by two (or three) to speed up the following. Then, in the middle of the table of FIG. 16 (position of state 0), when 1 which is not MPS = 1 comes further, it is assumed that the frequency of occurrence is high, then MPS = 0 and MPS = It is changed as in the case of 1. Therefore, whether the MPS is 1 or 0 can follow the higher frequency of occurrence.

【0023】このように、入力値にMPSが続くと、ス
テートは徐々に上がっていってQe値が小、すなわち数
直線の分割が小さくなり、発生符号量が小さくなる。逆
に、MPSが続かず、ステート0近辺でMPS,LPS
が交互に入力された場合、MPSの設定が入れ替わり、
ステートが上がらず、Qe値が大きく、発生符号量は大
きくなってしまうことになる。
As described above, when MPS continues to the input value, the state gradually rises and the Qe value becomes small, that is, the division of the number line becomes small, and the generated code amount becomes small. Conversely, MPS does not continue, and MPS and LPS near state 0
Are input alternately, the MPS settings are switched,
The state does not rise, the Qe value is large, and the generated code amount is large.

【0024】[0024]

【発明が解決しようとする課題】しかしながら、このよ
うな従来のQ−Coderを用いた符号化装置にあっては、
予測値の当りにくい入力パターンにおいても一律に予測
値表(図10)を用いて予測誤差を符号化する構成とな
っていたため、Q−CoderにLPSが入力されることも
多く、図16のU字形のステートの上下も多いことから
予測値の精度が低い入力パターンがわかっていても、発
生符号量を抑えることはできないという問題点があっ
た。すなわち、図16に示したように想定したMPSと
入力されたMPSが一致した場合には図16のU字形の
ステートを1つづつ登り、一致しない場合にはU字形の
ステートを2つ(3つ)とばしに下りるようにしていた
ため追随性はよいものの、例えばMPSが一致し続けて
いるとき(MPS=1と仮定した場合に1が入力される
とき)に0が少し続くようなことがあると、発生確率が
高くなっている符号化の効率のよい前記U字形の上のス
テートから下のステートにすぐにおちてしまうことにな
る。このため、数直線の分割が粗くなり発生する符号量
が増大してしまう。すなわち、MPSでない部分が少し
続くことによってその時点で符号が増えてしまい、一度
下のステートまで下がると上のステートに登るのに時間
がかかってその間符号量が増えてしまうという問題点が
あった。
However, in such an encoding apparatus using a conventional Q-Coder,
Even in an input pattern in which a predicted value is difficult to hit, the prediction error is uniformly encoded using the predicted value table (FIG. 10). Therefore, LPS is often input to the Q-Coder. There is a problem that the amount of generated codes cannot be suppressed even if an input pattern with a low accuracy of the predicted value is known because there are many upper and lower states of the character shape. That is, when the assumed MPS and the input MPS match as shown in FIG. 16, the U-shaped states of FIG. 16 are climbed one by one, and when they do not match, two U-shaped states (3 Although the follow-up is good because of the skipping, the 0 may slightly continue, for example, when the MPS continues to match (when 1 is input when MPS = 1 is assumed). Then, the state immediately drops from the upper state to the lower state of the U-shape, which has a high probability of occurrence and has high coding efficiency. Therefore, the division of the number line becomes coarse, and the generated code amount increases. In other words, there is a problem that the code increases at that point due to the continuation of a part that is not the MPS, and once it goes down to the lower state, it takes time to ascend to the upper state, and the code amount increases during that time. .

【0025】ところで、上記MPSが一致しないという
ことは“1”と“0”が混合して入力されるような場合
であり、このようなときは予測が外れる確率も高い。例
えば、前記図10の予測値表2にあっては符号化しよう
とする画素Xの周囲7画素a〜gの値が1又は0半々づ
つ存在するような場合である。このような場合には予測
値が外れる確率が高いので、予測値が外れてしまうと符
号化効率の高い上のステートから2つあるいは3つとば
しに下のステートに落ちてしまい、再び上のステートに
戻るのに時間がかかり、発生符号量が増大してしまうこ
とになる。そこで本発明は、予測値が当たらないときで
あっても発生符号量を抑えることができ、データ圧縮効
率の高い符号化装置を提供することを目的としている。
By the way, the fact that the MPSs do not match is a case where "1" and "0" are mixed and input, and in such a case, the probability that the prediction is incorrect is high. For example, in the predicted value table 2 of FIG. 10, there is a case where the values of seven pixels a to g around the pixel X to be coded exist one by one or half by zero. In such a case, there is a high probability that the predicted value deviates, so if the predicted value deviates, the upper state with high coding efficiency drops to the lower state by skipping two or three states, and again the upper state It takes time to return to the above, and the generated code amount increases. Therefore, an object of the present invention is to provide an encoding device that can suppress the generated code amount even when a predicted value does not hit, and has high data compression efficiency.

【0026】[0026]

【課題を解決するための手段】請求項1記載の発明は、
上記目的の達成のため、符号化対象のデータを供給する
ためのデータ供給手段と、符号化対象画素の周囲複数画
素の値に対応した符号化対象画素の予測値を予測値表と
して記憶する予測値記憶手段と、前記データ供給手段か
ら供給された符号化対象画素と前記予測値記憶手段から
出力された予測値に基づいて予測誤差を算出する予測誤
差算出手段と、前記予測誤差算出手段により算出された
予測誤差を、所定の変数を変えることにより算術符号の
分割比率が動的に変化する算術符号化によって符号化す
る符号化手段とを備えた符号化装置であって、前記予測
値表は、前記周囲複数画素が特定パターンのときに予測
値が無効であることを示すデータを有し、該特定パター
ンのときには前記符号化手段の変数を所定値に固定して
符号化するようにしている。
According to the first aspect of the present invention,
In order to achieve the above object, a data supply unit for supplying data to be encoded, and a prediction storing a predicted value of a pixel to be encoded corresponding to a plurality of pixels around the pixel to be encoded as a predicted value table A value storage unit; a prediction error calculation unit that calculates a prediction error based on the encoding target pixel supplied from the data supply unit and a prediction value output from the prediction value storage unit; Coding means for coding the prediction error by arithmetic coding in which a division ratio of an arithmetic code is dynamically changed by changing a predetermined variable, wherein the prediction value table is When the plurality of surrounding pixels have a specific pattern, the data has data indicating that a predicted value is invalid, and when the specific pattern is used, the variable of the encoding means is fixed to a predetermined value and encoded. To have.

【0027】[0027]

【作用】本発明の手段の作用は次の通りである。請求項
1記載の発明では、符号化対象のデータはデータ供給手
段により供給され、符号化対象画素の周囲複数画素の値
に対応した符号化対象画素の予測値は予測値表として予
測値記憶手段に記憶されている。符号化しようとする画
素の周辺数画素の値により予測値表のアドレスを指定す
ると、予測値記憶手段から指定されたアドレスに対応す
る値が予測値表を基に取出されて予測値として予測誤差
算出手段に出力される。この予測値表には周囲複数画素
が予測値が当たる確立が小さい特定パターンのときに予
測値が無効であることを示すデータが付加されており、
この特定パターンのときは予測値を使用しない。そし
て、データ記憶手段から出力された符号化対象画素を予
測値発生手段から出力された予測値に基づいて予測誤差
手段により予測誤差が算出される。符号化手段は予測誤
差を、所定の変数を変えることにより算術符号の分割比
率が動的に変化する算術符号化によって符号化するが、
予測値が当りにくい特定パターンのときには上記変数を
所定値に固定して符号化するようにする。従って、予測
値が当たらない場合の発生符号量を制御することがで
き、圧縮率を大幅に高めることができる。
The operation of the means of the present invention is as follows. According to the first aspect of the present invention, the encoding target data is supplied by the data supply unit, and the predicted value of the encoding target pixel corresponding to the values of a plurality of pixels around the encoding target pixel is stored as a predicted value table as a predicted value storage unit. Is stored in When the address of the predicted value table is specified by the values of several pixels around the pixel to be coded, the value corresponding to the specified address is extracted from the predicted value storage means based on the predicted value table, and the prediction error is calculated as the predicted value. Output to the calculation means. In this prediction value table, data indicating that the prediction value is invalid when the probability that the prediction value hits a plurality of surrounding pixels is small is added,
No prediction value is used for this specific pattern. Then, a prediction error is calculated by the prediction error unit based on the prediction value output from the prediction value generation unit for the encoding target pixel output from the data storage unit. The encoding means encodes the prediction error by arithmetic encoding in which the division ratio of the arithmetic code dynamically changes by changing a predetermined variable,
In the case of a specific pattern in which the predicted value is unlikely to hit, the variable is fixed to a predetermined value and encoded. Therefore, it is possible to control the generated code amount when the predicted value does not match, and it is possible to greatly increase the compression ratio.

【0028】[0028]

【実施例】以下、本発明を図面に基づいて説明する。図
1〜図7は本発明に係る符号化装置の一実施例を示す図
であり、画像データ圧縮装置に適用した例である。図1
において、画像データ圧縮装置11は圧縮すべきデータ
を記憶する画像データ記憶装置12と、符号化しようと
する画素(符号化対象画素)の周辺数画素の値により予
測値のアドレスを指定するアドレス発生装置13と、ア
ドレス発生装置13により指定されたアドレスに対応す
る値を基に予測値表31(図3)から予測値(X)を出
力する画素予測値記憶装置14と、画像データ記憶装置
12から出力された符号化しようとする画素と画素予測
値記憶装置14からの予測値(X)出力とにより予測誤
差を算出する予測誤差算出装置15と、算出された予測
誤差を符号化することによって画像データを圧縮するQ
−Coder16と、発生した符号を順次記憶する符号記憶
装置17と、上記各装置の動作を制御する制御装置18
とにより構成されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings. 1 to 7 are diagrams showing an embodiment of an encoding device according to the present invention, and are examples applied to an image data compression device. FIG.
, An image data compression device 11 stores an image data storage device 12 for storing data to be compressed, and an address generation for designating an address of a predicted value based on values of several pixels around a pixel to be encoded (a pixel to be encoded). Device 13, a pixel predicted value storage device 14 for outputting a predicted value (X) from a predicted value table 31 (FIG. 3) based on a value corresponding to an address designated by the address generating device 13, and an image data storage device 12 A prediction error calculating device 15 for calculating a prediction error based on a pixel to be coded output from and a prediction value (X) output from a pixel prediction value storage device 14, and encoding the calculated prediction error Q to compress image data
A coder 16, a code storage device 17 for sequentially storing generated codes, and a control device 18 for controlling the operation of each of the above devices
It is composed of

【0029】図2はQ−Coder16のブロック構成図で
ある。図2において、Q−Coder16は分割される数直
線の起点Cデータを一時的に格納するCレジスタ21
と、分割される数直線の幅Aデータを一時的に格納する
Aレジスタ22と、Aレジスタ22からの出力及びCレ
ジスタ21からの出力を選択するセレクタ23と、セレ
クタ23により選択されたAレジスタ22出力あるいは
Cレジスタ21出力が入力端子Aに入力され、後述する
Qeテーブル26から読出した符号化用の変数(確率見
積値)Qeあるいは固定値が入力端子Bに入力され、こ
れらの入力値を加算又は減算して数直線を分割する加減
算器24と、0〜29の値をとりQeテーブル26から
LPSの発生確率見積値Qeを読取るステートSをカウ
ントするSカウンタ25と、0〜29のステートに対応
するQe値を記憶するQeテーブル26と、エンコード
入力又はデコード出力が1bitづつ入出力されるととも
にMPSが入力され、制御信号を出力して各部の動作を
制御するQ−Coderコントローラ27とにより構成され
ている。
FIG. 2 is a block diagram of the Q-Coder 16. In FIG. 2, a Q-Coder 16 is a C register 21 for temporarily storing the starting point C data of the divided number line.
And an A register 22 for temporarily storing the width A data of the divided number line, a selector 23 for selecting an output from the A register 22 and an output from the C register 21, and an A register selected by the selector 23. The output 22 or the output of the C register 21 is input to an input terminal A, and a variable (probability estimate) Qe or a fixed value for encoding read from a Qe table 26 described later is input to an input terminal B. An adder / subtractor 24 that divides a number line by adding or subtracting; an S counter 25 that takes a value of 0 to 29 and counts a state S for reading an estimated occurrence probability Qe of LPS from a Qe table 26; and a state of 0 to 29 And a Qe table 26 for storing a Qe value corresponding to the input and output of the encode input or the decode output one bit at a time and the MPS input. It is constituted by outputs a control signal and Q-Coder controller 27 for controlling the operation of each unit.

【0030】上記Cレジスタ21は、入出力bitが25b
itのレジスタからなり、コントローラ27の指示に従っ
て符号化時にはその上位8bitを符号化出力として符号
化記憶装置17に出力し、復号化時には下位8bitに符
号化記憶装置17から符号化入力が供給される。Cレジ
スタ21には、加算により符号の範囲が狭められた値が
入力され、内部でビットシフトして符号化終了時にレジ
スタに残ったビット数が幅、すなわち符号になる。上記
Cレジスタ21では分割して小さくなった値を1〜2ま
での値になるようにビットが立つまで左シフトさせてQ
eの値を正規化するためにAレジスタ22よりも長い2
5bitのレジスタとしている。この左シフトした結果、
値が変化しない部分が最終的に符号となる。また、加算
して結果を出力するときはコントローラ27よりLOA
D、左シフトして正規かするときはSHIFTが指示さ
れる。
The C register 21 has an input / output bit of 25 b
It consists of a register of it, and outputs the upper 8 bits as an encoded output to the encoding storage device 17 at the time of encoding according to the instruction of the controller 27, and the encoding input from the encoding storage device 17 is supplied to the lower 8 bits at the time of decoding. . The value whose code range has been narrowed by addition is input to the C register 21, and the number of bits remaining in the register at the end of encoding after bit shifting inside becomes the width, that is, the code. In the C register 21, the divided value is shifted leftward until a bit is set so as to become a value of 1 to 2 and Q
2 longer than A register 22 to normalize the value of e
It is a 5-bit register. As a result of this left shift,
The part where the value does not change finally becomes the sign. In addition, when adding and outputting the result, the controller 27 sets the LOA.
D, SHIFT is instructed when performing normal shift to the left.

【0031】上記Aレジスタ22は、演算幅を格納する
のに十分なビット(13bit)を有し、コントローラ2
7よりSHIFT/LOADが指示される。上記加減算
器24は、コントローラ27からのADD/SUB制御
信号により加算器又は減算器に切り替えられ、Aレジス
タ22の内容又はCレジスタ21の内容とを足し算又は
引算してAレジスタ22に戻したりCレジスタ21に戻
したりする。
The A register 22 has enough bits (13 bits) to store the operation width.
7 indicates SHIFT / LOAD. The adder / subtractor 24 is switched to an adder or a subtractor by an ADD / SUB control signal from the controller 27, and adds or subtracts the contents of the A register 22 or the contents of the C register 21 to return to the A register 22. It returns to the C register 21.

【0032】上記Qeテーブル26は、ステート0〜2
9に対応して0〜29段階の値をとるQe値を記憶する
ためのテーブルであり、Qeテーブル26からはSカウ
ンタ25の変数(ステート)Sで指示されたQe値が読
出されて加減算器24に出力される。上記Sカウンタ2
5は、前記図16に示すようにMPSが一致すればカウ
ントを1つ進めて上のステートSを指示し、MPSが一
致しなければカウントを3つ、2つあるいは1つ戻して
下のステートSを指示するカウンタであり、初期値は0
である。
The Qe table 26 has states 0 to 2
9 is a table for storing a Qe value taking a value of 0 to 29 steps corresponding to 9; a Qe value indicated by a variable (state) S of an S counter 25 is read from a Qe table 26; 24. S counter 2
5, as shown in FIG. 16, if the MPSs match, the count is incremented by one to indicate the upper state S, and if the MPSs do not match, the count is increased by three, two or one to lower the lower state. This counter indicates S, and the initial value is 0.
It is.

【0033】また、Q−Coderコントローラ27は、1b
itずつ符号化する度に、現在のMPSと入力bitを比較
して、一致すればSカウンタ25のステートSを1つの
MPSだけ進める。不一致ならステートSを2つあるい
は3つ減らす。また、S=0のときにMPSが不一致な
らMPSとLPSを交換し、交換した後も同様に、MP
Sと入力bitの比較を行い、ステートSを決定する。S
の示すQeテーブル26値が必要なQe値である。
Further, the Q-Coder controller 27 includes 1b
Each time it is encoded by it, the current MPS is compared with the input bit, and if they match, the state S of the S counter 25 is advanced by one MPS. If they do not match, the number of states S is reduced by two or three. If the MPSs do not match when S = 0, the MPS and the LPS are exchanged.
The state S is determined by comparing S with the input bit. S
Are the required Qe values.

【0034】図3は画素予測値値記憶装置14に記憶さ
れた予測値表31を示す図である。この図において、予
測値表31は、符号化対象画素Xの周辺7画素a〜gの
値を基に予測値を統計的に記憶した予測値(0又は1)
記憶部31aと、予測値が当りにくい特定パターンのと
きに予測値を決めずに(図中−参照)、Qe,MPSを
固定にする付加情報を記憶する固定値記憶部31bとか
らなる。予測値が当りにくいとされる周囲7画素の特定
入力パターンは、例えば図4及び図5で示される。図4
及び図5に示すように周辺7画素が1010101や0
101010などの発生確率が50%に近い予測値が当
りにくいものについては予測値を決めずに、代わりに変
数Qe,MPSを固定にしておく。
FIG. 3 is a diagram showing the predicted value table 31 stored in the pixel predicted value storage device 14. In this figure, a predicted value table 31 is a predicted value (0 or 1) in which predicted values are statistically stored based on the values of seven pixels a to g around the encoding target pixel X.
It comprises a storage unit 31a and a fixed value storage unit 31b for storing additional information for fixing Qe and MPS without determining a predicted value when a specific pattern hardly hits the predicted value (see-in the figure). The specific input patterns of the surrounding seven pixels, which are hard to hit by the predicted value, are shown in FIGS. 4 and 5, for example. FIG.
As shown in FIG. 5, the peripheral seven pixels are 1010101 or 0.
If the predicted value such as 101010 is difficult to hit with a predicted value close to 50%, the predicted value is not determined, and the variables Qe and MPS are fixed instead.

【0035】次に、本実施例の動作を説明する。全体動作 先ず、画像データ記憶装置12には、符号化すべき画像
データが蓄えられている。アドレス発生装置13が符号
化しようとする画素の周辺数画素の値により予測値表3
1(図3)のアドレスを指定すると、画素予測値記憶装
置14は指定されたアドレスに対応する値を予測値表3
1を基に取出して予測値として予測誤差算出装置15に
出力する。この場合、符号化対象Xに対し周囲7画素か
ら予測値を得て、Qe,MPSが固定でなければ予測誤
差算出装置15は従来と同様に符号対象と予測値との予
測誤差を算出する。一方、周辺7画素が0101010
や1010101などのように予測値が当りにくいもの
については、予測値ではなくてQe=0.5,MPS=
1に固定し、また、Qeの更新はしない。Q−Coder1
6は算出された予測誤差を符号化することによって画像
データを圧縮していく。発生した符号は符号化記憶装置
17で順次記憶される。
Next, the operation of this embodiment will be described. Overall Operation First, the image data storage device 12 stores image data to be encoded. Predicted value table 3 based on the values of several pixels around the pixel to be encoded by the address generator 13
1 (FIG. 3), the pixel prediction value storage device 14 stores the value corresponding to the specified address in the prediction value table 3.
1 and output to the prediction error calculation device 15 as a prediction value. In this case, the prediction value is obtained from the surrounding seven pixels for the encoding target X, and if Qe and MPS are not fixed, the prediction error calculation device 15 calculates the prediction error between the encoding target and the prediction value as in the related art. On the other hand, the surrounding seven pixels are 0101010
For those that are hard to hit with the predicted value, such as and 1010101, Qe = 0.5, MPS =
It is fixed to 1 and Qe is not updated. Q-Coder1
Reference numeral 6 compresses the image data by encoding the calculated prediction error. The generated codes are sequentially stored in the encoding storage device 17.

【0036】以下、図6及び図7に示すフローチャート
を用いて具体的な動作を説明する。図6は画像データ圧
縮装置11の符号化フローを示す図である。先ず、ステ
ップS31で符号化をしようとする画素(符号化対象画
素)の周辺7画素から符号化しようとする画素の予測値
を求め、ステップS32で予測値が当りにくいとされる
周囲7画素の特定入力パターンか否かを判別し、特定入
力パターンでないときはQe,MPSが固定でないとき
であるから従来と同様にステップS32で符号化しよう
とする画素と上記予測値をEX−ORして予測誤差を算
出する。次いで、ステップS24で算出された予測誤差
をQ−Coderを用いて符号化して本フローを終了する。
The specific operation will be described below with reference to the flowcharts shown in FIGS. FIG. 6 is a diagram showing an encoding flow of the image data compression device 11. First, in step S31, a predicted value of a pixel to be coded is determined from seven pixels around a pixel to be coded (pixel to be coded). It is determined whether or not the input pattern is a specific input pattern. When the input pattern is not a specific input pattern, Qe and MPS are not fixed. Calculate the error. Next, the prediction error calculated in step S24 is encoded using the Q-Coder, and the flow ends.

【0037】一方、予測値が当たりにくいとされる周囲
7画素の特定入力パターンのときはステップS25で予
測値を用いず、Q−Coder16によりQe,MPSを固
定して符号化して処理を終える。
On the other hand, when the input value is a specific input pattern of seven pixels around which it is hard to hit the predicted value, the Q-Coder 16 fixes and encodes the Qe and MPS without using the predicted value in step S25, and ends the processing.

【0038】図7はQe,MPS固定時のQ−Coderの
フローを示す図であり、上記図6のステップS25に対
応する処理である。なお、Qe,MPSを固定しないと
きのQ−Coderのフロー(ステップS24の処理)は前
記図15に示されている。
FIG. 7 is a diagram showing the flow of the Q-Coder when Qe and MPS are fixed, and is a process corresponding to step S25 in FIG. The flow of the Q-Coder when Qe and MPS are not fixed (the processing in step S24) is shown in FIG.

【0039】先ず、ステップS31で入力値がMPSか
LPSかを判別し、MPSのときはステップS32でQ
e=0.5,MPS=1に固定してA=A−0.5,C
=C+0.5とし、LPSのときはA=0.5として数
直線の分割を行う。次いで、ステップS34でA,Cを
毎回1≦A<2となるように正規化する(例えば、A<
1のときはA≧1となるまで左シフトさせる)ことによ
って演算精度を確保して本フローを終える。また、Qe
=0.5,MPS=1に固定し、符号化したときはQe
の更新はしない。従って、LPSを符号化しても図16
に示すU字形のステートは下がることはなく、以降の入
力系列の符号化に際し、発生符号量が一時的に上がるこ
とがない。
First, at step S31, it is determined whether the input value is MPS or LPS.
e = 0.5, MPS = 1, A = A-0.5, C
= C + 0.5, and in the case of LPS, A = 0.5 to divide the number line. Next, in step S34, A and C are normalized such that 1 ≦ A <2 each time (for example, A <C
When it is 1, the arithmetic operation accuracy is ensured by performing a left shift until A ≧ 1), and the flow ends. Also, Qe
= 0.5, MPS = 1 and Qe when encoded
Is not updated. Therefore, even if LPS is encoded, FIG.
Does not decrease, and the amount of generated code does not temporarily increase when encoding the subsequent input sequence.

【0040】以上説明したように、本実施例の画像デー
タ圧縮装置11は圧縮すべきデータを記憶する画像デー
タ記憶装置12と、符号化しようとする画素(符号化対
象画素)の周辺数画素の値により予測値のアドレスを指
定するアドレス発生装置13と、アドレス発生装置13
により指定されたアドレスに対応する値を基に予測値表
31から予測値(X)を出力する画素予測値記憶装置1
4と、画像データ記憶装置12から出力された符号化し
ようとする画素と画素予測値記憶装置14からの予測値
(X)出力とにより予測誤差を算出する予測誤差算出装
置15と、算出された予測誤差を符号化することによっ
て画像データを圧縮するQ−Coder16と、発生した符
号を順次記憶する符号化記憶装置17と、上記各装置の
動作を制御する制御装置18とを設け、上記予測値表3
1は入力パターンを予測値が当たりにくい特定入力パタ
ーンとそうでない入力パターンとに2分し、予測値が当
たりにくい特定入力パターンのものは予測値を無効にす
るとともに符号化用の変数Qe,MPSを固定し、Qe
の更新を行わないようにしているので、予測値が外れた
場合に発生符号量が増大することを防止することができ
る。このように、予測値が外れる頻度が高い入力値に対
する発生符号量の増加を抑えることができるため高圧縮
率な2値画像圧縮伸張装置を実現することが可能とな
り、例えば本装置11をファクシミリ装置に適用した場
合には伝送時間を短縮することができる。
As described above, the image data compression device 11 of the present embodiment includes an image data storage device 12 for storing data to be compressed, and several pixels around a pixel to be encoded (a pixel to be encoded). An address generator 13 for specifying an address of a predicted value by a value, and an address generator 13
Pixel predicted value storage device 1 that outputs a predicted value (X) from predicted value table 31 based on a value corresponding to an address specified by
4, a prediction error calculation device 15 for calculating a prediction error based on a pixel to be coded output from the image data storage device 12 and a prediction value (X) output from the pixel prediction value storage device 14. A Q-Coder 16 for compressing image data by encoding a prediction error, an encoding storage device 17 for sequentially storing generated codes, and a control device 18 for controlling the operation of each device are provided. Table 3
Numeral 1 divides an input pattern into a specific input pattern whose prediction value is hard to hit and an input pattern whose prediction value is hard to hit. For a specific input pattern whose prediction value is hard to hit, the prediction value is invalidated and the encoding variables Qe, MPS And fix Qe
Is not updated, it is possible to prevent the generated code amount from increasing when the predicted value deviates. As described above, it is possible to suppress an increase in the amount of generated code for an input value that frequently deviates from the predicted value, thereby realizing a binary image compression / expansion apparatus having a high compression rate. When the method is applied to (1), the transmission time can be reduced.

【0041】なお、本実施例では符号化装置を画像デー
タ圧縮装置に適用した例であるが、勿論これには限定さ
れず、予測値を使用するものであれば全ての装置に適用
可能であることは言うまでもない。
Although the present embodiment is an example in which the encoding apparatus is applied to an image data compression apparatus, the present invention is not limited to this, and can be applied to all apparatuses using prediction values. Needless to say.

【0042】また、本実施例では予測値表の入力パター
ンを2分し、予測値が当りにくいものは予測値を無効と
し、符号化用の変数Qe,MPSを固定し、Qeの更新
を行わないようにしてるが、要は予測値に画素の入力パ
ターンに対応した情報を付加するものであればどのよう
なものでもよいことは言うまでもない。
Further, in this embodiment, the input pattern of the predicted value table is divided into two, and if the predicted value is hard to hit, the predicted value is invalidated, the encoding variables Qe and MPS are fixed, and Qe is updated. However, it goes without saying that any method may be used as long as information corresponding to the input pattern of the pixel is added to the predicted value.

【0043】さらに、上記符号化対象画素の周囲画素の
取出方法やその個数、Q−Coder16のQeテーブル2
6やステート変化方法は前述した実施例に限られるもの
ではなく任意のものが使用可能である。
Further, the method of extracting the pixels surrounding the pixel to be coded and the number thereof, the Qe table 2 of the Q-Coder 16
6 and the state change method are not limited to the above-described embodiment, and any method can be used.

【0044】また、上記画像データ圧縮装置11やQ−
Coder16等を構成する回路や部材の数、種類などは前
述した実施例に限られないことは言うまでもない。
The image data compression device 11 and Q-
It goes without saying that the number and types of circuits and members constituting the coder 16 and the like are not limited to the above-described embodiment.

【0045】[0045]

【発明の効果】請求項1記載の発明によれば、周囲複数
画素が特定パターンのときに予測値が無効であること示
すデータを記憶し、該特定パターンのときには符号化手
段の変数を所定値に固定して符号化するようにしている
ので、予測値が外れる頻度が高い入力値に対する発生符
号量の増加を抑えることができ、圧縮率を格段に高める
ことができる。その結果、2値画像圧縮伸張装置に利用
して好適である。
According to the first aspect of the present invention, when a plurality of surrounding pixels are a specific pattern, data indicating that the predicted value is invalid is stored, and when the specific pattern is the specific pattern, the variable of the encoding means is set to a predetermined value. In this case, the encoding is fixedly performed so that an increase in the generated code amount for an input value having a high frequency of deviating the predicted value can be suppressed, and the compression ratio can be significantly increased. As a result, it is suitable for use in a binary image compression / decompression device.

【0046】[0046]

【図面の簡単な説明】[Brief description of the drawings]

【図1】符号化装置のブロック構成図である。FIG. 1 is a block diagram of an encoding device.

【図2】符号化装置のQ−Coderのブロック構成図であ
る。
FIG. 2 is a block diagram of a Q-Coder of the encoding device.

【図3】符号化装置の予測値表を示す図である。FIG. 3 is a diagram illustrating a prediction value table of the encoding device.

【図4】符号化装置の予測値表を用いない場合の周囲画
素の値を示す図である。
FIG. 4 is a diagram illustrating values of surrounding pixels when a prediction value table of an encoding device is not used.

【図5】符号化装置の予測値表を用いない場合の周囲画
素の値を示す図である。
FIG. 5 is a diagram illustrating values of surrounding pixels when a prediction value table of an encoding device is not used.

【図6】符号化装置の符号化のフローチャートである。FIG. 6 is a flowchart of encoding performed by the encoding device.

【図7】符号化装置のQ−Coderによる符号化のフロー
チャートである。
FIG. 7 is a flowchart of encoding by a Q-Coder of the encoding device.

【図8】従来のQ−Coderによる符号化フローチャート
である。
FIG. 8 is an encoding flowchart using a conventional Q-Coder.

【図9】従来の画像データ及び符号化対象画素の周囲画
素を示す図である。
FIG. 9 is a diagram showing conventional image data and surrounding pixels of an encoding target pixel.

【図10】従来の予測値表を示す図である。FIG. 10 is a diagram showing a conventional predicted value table.

【図11】従来の予測誤差算出装置の回路構成図であ
る。
FIG. 11 is a circuit configuration diagram of a conventional prediction error calculation device.

【図12】算術符号を説明するための図である。FIG. 12 is a diagram for explaining arithmetic codes.

【図13】算術符号を説明するための図である。FIG. 13 is a diagram for explaining arithmetic codes.

【図14】Q−Coderの原理を説明するための図であ
る。
FIG. 14 is a diagram for explaining the principle of Q-Coder.

【図15】Q−Coderによる符号化フローチャートであ
る。
FIG. 15 is an encoding flowchart using Q-Coder.

【図16】Q−Coderのステート変化を示す図である。FIG. 16 is a diagram showing a state change of a Q-Coder.

【符号の説明】[Explanation of symbols]

11 画像データ圧縮装置 12 画像データ記憶装置 13 アドレス発生装置 14 画素予測値記憶装置 15 予測誤差算出装置 16 Q−Coder 17 符号化記憶装置 18 制御装置 21 Cレジスタ 22 Aレジスタ 23 セレクタ 24 加減算器 25 Sカウンタ 26 Qeテーブル 27 Q−Coderコントローラ A 分割される数直線の幅 C 分割される数直線の起点 M 発生確率の高いデータ L 発生確率の低いデータ Pe “M”の出る予測確率 Qe “L”の出る予測確率 Reference Signs List 11 image data compression device 12 image data storage device 13 address generation device 14 pixel prediction value storage device 15 prediction error calculation device 16 Q-Coder 17 encoding storage device 18 control device 21 C register 22 A register 23 selector 24 adder / subtractor 25 S Counter 26 Qe table 27 Q-Coder controller A Width of number line to be divided C Starting point of number line to be divided M Data with high probability of occurrence L Data with low probability of occurrence Pe Prediction probability of "M" coming out Qe of "L" Probability of coming out

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】符号化対象のデータを供給するためのデー
タ供給手段と、 符号化対象画素の周囲複数画素の値に対応した符号化対
象画素の予測値を予測値表として記憶する予測値記憶手
段と、 前記データ供給手段から供給された符号化対象画素と前
記予測値記憶手段から出力された予測値に基づいて予測
誤差を算出する予測誤差算出手段と、 前記予測誤差算出手段により算出された予測誤差を、所
定の変数を変えることにより算術符号の分割比率が動的
に変化する算術符号化によって符号化する符号化手段と
を備えた符号化装置であって、 前記予測値表は、前記周囲複数画素が特定パターンのと
きに予測値が無効であることを示すデータを有し、 該特定パターンのときには前記符号化手段の変数を所定
値に固定して符号化するようにしたことを特徴とする符
号化装置。
1. A data supply means for supplying data to be encoded, and a predicted value storage for storing, as a predicted value table, predicted values of pixels to be encoded corresponding to values of a plurality of pixels around the pixel to be encoded. Means, a prediction error calculation means for calculating a prediction error based on the encoding target pixel supplied from the data supply means and a prediction value output from the prediction value storage means, A prediction error, an encoding device comprising encoding means for encoding by arithmetic encoding in which a division ratio of an arithmetic code is dynamically changed by changing a predetermined variable, wherein the prediction value table is It has data indicating that the prediction value is invalid when a plurality of surrounding pixels are a specific pattern, and in the case of the specific pattern, encoding is performed by fixing the variable of the encoding means to a predetermined value. Encoding apparatus according to claim.
【請求項2】前記符号化手段は、算術符号の分割比率が
動的に変化するQコーダを用いたことを特徴とする請求
項1記載の符号化装置。
2. The encoding means according to claim 1, wherein said arithmetic code has a division ratio of:
Claims characterized by using a dynamically changing Q coder
Item 7. The encoding device according to Item 1.
JP03244923A 1991-08-29 1991-08-29 Encoding device Expired - Fee Related JP3127513B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03244923A JP3127513B2 (en) 1991-08-29 1991-08-29 Encoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03244923A JP3127513B2 (en) 1991-08-29 1991-08-29 Encoding device

Publications (2)

Publication Number Publication Date
JPH0564008A JPH0564008A (en) 1993-03-12
JP3127513B2 true JP3127513B2 (en) 2001-01-29

Family

ID=17125987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03244923A Expired - Fee Related JP3127513B2 (en) 1991-08-29 1991-08-29 Encoding device

Country Status (1)

Country Link
JP (1) JP3127513B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015050973A (en) * 2013-09-09 2015-03-19 株式会社ソニック Buckwheat noodle making machine and buckwheat noodle making device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015050973A (en) * 2013-09-09 2015-03-19 株式会社ソニック Buckwheat noodle making machine and buckwheat noodle making device

Also Published As

Publication number Publication date
JPH0564008A (en) 1993-03-12

Similar Documents

Publication Publication Date Title
US6549676B1 (en) Encoding device
US5960116A (en) Image processing apparatus and method for performing prediction data encoding
EP0066697B1 (en) A method and system for compressing grey scale image data
JP4717780B2 (en) Encoding apparatus and control method thereof
US20030118242A1 (en) Encoding apparatus and method, and storage medium
JPH0793586B2 (en) Data compression model selection method and system
JPH10336682A (en) Coder, its method and storage medium storing the method
US20060171533A1 (en) Method and apparatus for encoding and decoding key data
JPH09135358A (en) Image encoding device using arithmetic code
US5151949A (en) System and method employing multiple predictor sets to compress image data having different portions
US5668737A (en) High-speed data processor and coding method
JP3457269B2 (en) Arithmetic encoding / decoding method and arithmetic encoding / decoding device
JP2954438B2 (en) Encoding device
JP3127513B2 (en) Encoding device
JP3139460B2 (en) Method and apparatus for encoding binary document image
US6058216A (en) Apparatus for encoding image data
JPH08204971A (en) Image compression method using predictive coding and error diffusion
JP3185769B2 (en) Image signal processing device
JPH07249995A (en) Data encoding device
JP4936574B2 (en) Encoding apparatus and control method thereof
JP3847891B2 (en) Encoding apparatus and method and storage medium storing method
JP2005151312A (en) Image coding and decoding device
JP2872334B2 (en) Color image encoding device
JP2891818B2 (en) Encoding device
JPH0645945A (en) Arithmetic coding method and its decoding method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071110

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091110

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101110

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees