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

JPH09289591A - Image encoding device, image decoding device, and their method - Google Patents

Image encoding device, image decoding device, and their method

Info

Publication number
JPH09289591A
JPH09289591A JP8101708A JP10170896A JPH09289591A JP H09289591 A JPH09289591 A JP H09289591A JP 8101708 A JP8101708 A JP 8101708A JP 10170896 A JP10170896 A JP 10170896A JP H09289591 A JPH09289591 A JP H09289591A
Authority
JP
Japan
Prior art keywords
encoding
line
image
pixel data
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.)
Withdrawn
Application number
JP8101708A
Other languages
Japanese (ja)
Inventor
Hideshi Osawa
秀史 大沢
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8101708A priority Critical patent/JPH09289591A/en
Publication of JPH09289591A publication Critical patent/JPH09289591A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform encoding corresponding to the correlation of binary image data, and improve the compressibility. SOLUTION: The two-dimensional correlation of the binary image data is detected by checking whether or not pixel data in an encoding line and its precedent line match each other (S101), whether or not all the pixel data in the encoding line are the same (S103), whether the pixel data in the encoding line are in pairs (S105), whether the pixel data in the encoding line have intense correlation at intervals of 8 pixels (S107), and the encoding is performed (S102, S104, S106, S108, and S109).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、デジタル画像の符
号化、復号化を行う画像符号化装置、画像復号化装置及
びそれらの方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image encoding device for encoding and decoding a digital image, an image decoding device and their methods.

【0002】[0002]

【従来の技術】従来からよく知られているPackBits方式
は、バイト単位のランレンズスを符号化する簡易なデー
タ圧縮方式である。図1は、PackBits方式の簡単な原理
を説明するための図である。この方式では、同じ値のバ
イトデータが複数続くと、そのバイト数を示すタグ(Ta
g )とその値で符号が作られる。これをリピートモード
(Repeat)と呼ぶ。また、各バイトデータの値が異なる
場合は、異なるバイト数を示すタグと各値で符号が作ら
れる。これをコピーモード(Copy)と呼ぶ。
2. Description of the Related Art The well-known PackBits method is a simple data compression method that encodes run lenses in byte units. FIG. 1 is a diagram for explaining the simple principle of the PackBits method. In this method, if a plurality of byte data with the same value continues, a tag (Ta
g) and its value form a code. This is called a repeat mode. Further, when the value of each byte data is different, a code is created with a tag indicating each different byte number and each value. This is called a copy mode (Copy).

【0003】図2は、タグの値と各モードとの対応を示
す図である。図示するように、タグの値が0〜127で
は、コピーモード及びそのラン長(バイト数)が割り当
てられ、129〜255ではリピートモード及びそのラ
ン長(バイト数)が割り当てられる。また、コピーモー
ドのバイト数が128を越える場合、リピートモードの
バイト数が127を越える場合は2つ以上の符号に分割
される。尚、タグの値が128はNOPとして通常は使
用されていない。
FIG. 2 is a diagram showing the correspondence between the tag value and each mode. As shown, when the tag value is 0 to 127, the copy mode and its run length (byte number) are assigned, and when the tag value is 129 to 255, the repeat mode and its run length (byte number) are assigned. If the number of bytes in the copy mode exceeds 128, or if the number of bytes in the repeat mode exceeds 127, it is divided into two or more codes. A tag value of 128 is not normally used as a NOP.

【0004】一方、復号側では、タグの値を調べ、その
値Nが129〜255の時は、タグに続くバイトデータ
を(256−N)回繰り返す。またタグの値Nが0〜1
27の時は、タグに続くNバイト数のバイトデータをコ
ピーする。
On the other hand, on the decoding side, the value of the tag is checked, and when the value N is 129 to 255, the byte data following the tag is repeated (256-N) times. The tag value N is 0 to 1
When it is 27, the byte data of N bytes following the tag is copied.

【0005】このように、上述の方式では、2値画像を
バイトパック(8画素/1バイト)したデータに対して
も圧縮ができるという特徴を持つ。これは、対象とする
2値画像では白い下地を持つものが多いからである。ま
た、復号処理が非常に簡単なため、高速性が要求される
用途に向くという特徴もある。
As described above, the above-described method has a feature that it is possible to compress data obtained by byte-packing (8 pixels / 1 byte) a binary image. This is because many target binary images have a white background. Moreover, since the decoding process is very simple, it is suitable for applications requiring high speed.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上述の
PackBits方式では、画像の2次元的な相関などの画像の
特有の性質が使われていないので、他の画像符号化方式
に比較して圧縮率が低く、高圧縮率が必要な用途に適用
することが難しいという問題があった。
SUMMARY OF THE INVENTION
The PackBits method does not use the peculiar characteristics of the image such as the two-dimensional correlation of the image, so the compression rate is low compared to other image encoding methods, and it is applied to applications that require a high compression rate. There was a problem that it was difficult.

【0007】本発明は上記課題を解決するためになされ
たもので、2値画像データの相関に応じた符号化を行
い、更に圧縮率を向上させた画像符号化装置、画像復号
化装置及びそれらの方法を提供することを目的とする。
The present invention has been made to solve the above problems, and an image coding apparatus, an image decoding apparatus, and an image decoding apparatus that perform coding according to the correlation of binary image data and further improve the compression rate. The purpose is to provide a method.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
に、本発明の画像符号化装置は以下の構成を備える。即
ち、2値画像データの相関を検出する検出手段と、前記
検出手段での検出結果に応じた符号化を判定する判定手
段と、前記判定手段により判定された符号化を行う符号
化手段とを備える。
In order to achieve the above object, the image coding apparatus of the present invention has the following configuration. That is, a detection unit that detects the correlation of the binary image data, a determination unit that determines the encoding according to the detection result of the detection unit, and an encoding unit that performs the encoding determined by the determination unit. Prepare

【0009】かかる構成において、2値画像データの相
関を検出し、その検出結果に応じた符号化を判定し、判
定された符号化を行うように動作する。
In such a configuration, the correlation between the binary image data is detected, the coding is determined according to the detection result, and the determined coding is performed.

【0010】また、本発明による画像復号化装置は以下
の構成を備える。
The image decoding apparatus according to the present invention has the following configuration.

【0011】即ち、2値画像データの相関に基づいて符
号化されたコードを判定する判定手段と、前記判定手段
での判定結果に応じた復号化を行う復号化手段とを備え
る。
That is, it is provided with a judging means for judging the code coded based on the correlation of the binary image data, and a decoding means for carrying out decoding according to the judgment result of the judging means.

【0012】かかる構成において、2値画像データの相
関に基づいて符号化されたコードを判定し、その判定結
果に応じた復号化を行うように動作する。
In such a configuration, the coded code is judged based on the correlation of the binary image data, and the decoding is performed according to the judgment result.

【0013】更に、本発明による画像符号化方法は以下
の工程を有する。
Further, the image coding method according to the present invention has the following steps.

【0014】即ち、2値画像データの相関を検出する検
出工程と、前記検出工程での検出結果に応じた符号化を
判定する判定工程と、前記判定工程により判定された符
号化を行う符号化工程とを有する。
That is, a detection step of detecting the correlation of the binary image data, a determination step of determining the encoding according to the detection result of the detection step, and an encoding step of performing the encoding determined by the determination step. And the process.

【0015】また、本発明による画像復号化方法は以下
の工程を有する。
The image decoding method according to the present invention has the following steps.

【0016】即ち、2値画像データの相関に基づいて符
号化されたコードを判定する判定工程と、前記判定工程
での判定結果に応じた復号化を行う復号化工程とを有す
る。
That is, there is a determining step of determining a coded code based on the correlation of binary image data, and a decoding step of performing decoding according to the determination result in the determining step.

【0017】[0017]

【発明の実施の形態】以下、図面を参照しながら本発明
に係る実施の形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0018】尚、実施形態では、2値画像の特徴のう
ち、以下のようなものを利用する。 (1)2次元相関:符号化ラインが前ラインのデータと
同じ値を持つときに発生しやすい。これをラインコピー
モード(LCP)とし、特殊コードを送り、PackBits処
理は行わない。 (2)全白ライン、全黒ラインが多い:大抵の場合、上
記(1)として検出されるが、前ラインが全白、全黒ラ
インでない場合には特殊コードを送り、PackBits処理を
行わない。特に、多数の行に文書が書かれている文書画
像の場合、行間の最上位ライン(文字の最下位ラインの
次のライン)等がこれに当たる。 (3)2画素ペアを利用する:2値画素の値が2画素ペ
アで同じ値をとる場合があり、これを検出し、符号側で
1画素おきの間引き(サブサンプリング)処理を行い、
符号化バイト数を半減する。次に、これをPackBits符号
化する。復号側では、元の半分のバイト数のデータを復
号し、各ビットデータを2回繰り返すことにより、元の
データを完全に復元する。
In the embodiment, the following features of the binary image are used. (1) Two-dimensional correlation: It tends to occur when the coded line has the same value as the data of the previous line. This is set to line copy mode (LCP), a special code is sent, and PackBits processing is not performed. (2) There are many all-white lines and all-black lines: In most cases, it is detected as (1) above, but if the previous line is not all-white or all-black lines, a special code is sent and PackBits processing is not performed. . Particularly, in the case of a document image in which a document is written in a large number of lines, this corresponds to the highest line between lines (the line next to the lowest line of characters). (3) Utilizing a pair of two pixels: There are cases where the value of a binary pixel takes the same value in a pair of two pixels, and this is detected, and the thinning (subsampling) processing is performed every other pixel on the code side.
Halves the number of encoded bytes. Next, this is PackBits encoded. On the decoding side, the original data is completely restored by decoding the data of half the original number of bytes and repeating each bit data twice.

【0019】図3は、2画素ペアと間引き処理を説明す
るための図である。2画素ペアとは、全ラインのデータ
が2画素づつ同じ値を持つ場合をいう。図3に示す例で
は、白2、黒2、白4、黒2、白2、黒4から成立して
いるので、これは2画素ペアと判定される。
FIG. 3 is a diagram for explaining a pair of two pixels and a thinning process. The two-pixel pair means a case where the data of all lines have the same value every two pixels. In the example shown in FIG. 3, since white, black 2, white 4, black 2, white 2, and black 4 are established, this is determined as a 2-pixel pair.

【0020】次に、これを1画素毎にサンプリングする
と白1、黒1、白2、黒1、白1、黒2となり、このラ
インデータをPackBitsで符号化する。復号側では、全ラ
インの半分のデータを復号化した後、そのビットデータ
を繰り返すことにより、元のデータを完全に戻すことが
できることになる。 (4)8画素おきの相関を利用する:2値画像が組織的
ディザ法などの擬似中間調処理が施されている場合など
は、ビット相関をみることにより判定することができ
る。
Next, when this is sampled for each pixel, white 1, black 1, white 2, black 1, white 1, black 2 are obtained, and this line data is encoded by PackBits. On the decoding side, the original data can be completely restored by decoding half the data of all the lines and then repeating the bit data. (4) Use correlation every 8 pixels: When the binary image is subjected to pseudo halftone processing such as the systematic dither method, it can be determined by observing the bit correlation.

【0021】図4は、8画素おきの相関と、ビットイン
タリーブ処理を説明するための図である。1バイトのデ
ータは、それぞれ8画素(〜まで)で構成されてい
る。注目する1バイトが次の1バイトと相関が強いか
は、各1ビット毎の排他論理和(EXOR)を調べれば
良い。尚、実施形態では、処理の都合上、EXNORを
とる。即ち、2つのバイトの各ビットの値が同じ場合は
“1”になる。8ビット全てが“1”の場合は相関が強
いとする。但し、上述の処理では1バイトの値が「0」
又は「255」の時も強くなり、これらの場合を除外す
るような判定式が必要となる。
FIG. 4 is a diagram for explaining the correlation every 8 pixels and the bit interleaving process. Each 1-byte data is composed of 8 pixels (up to). Whether the one byte of interest has a strong correlation with the next one byte can be examined by an exclusive OR (EXOR) for each bit. In the embodiment, EXNOR is taken for convenience of processing. That is, when the value of each bit of the two bytes is the same, the value is "1". If all 8 bits are "1", it is assumed that the correlation is strong. However, in the above process, the value of 1 byte is "0".
Alternatively, when the value is “255”, the strength becomes stronger, and a judgment formula for excluding these cases is required.

【0022】このように、ビットの相関を検出する方法
としては「8画素間隔の各ビットのEXNORが全て
“1”の時で、データが「0」でも「255」でも無い
とき」などが有効であるが、これに限ったものではな
い。
As described above, as a method of detecting the bit correlation, "when the EXNOR of each bit at 8-pixel intervals is all" 1 "and the data is neither" 0 "nor" 255 "" is effective. However, it is not limited to this.

【0023】また、ビットの相関が強い場合は、符号側
でビットインタリーブしたデータに対してPackBits処理
を行う。ここで、ビットインタリーブとは、各バイトの
の位置のビットを集めて最初に符号化し、次にの位
置のビットを集めて符号化し、最後にの位置のビット
を符号化するものである。
When the bit correlation is strong, the PackBits process is performed on the data bit-interleaved on the code side. Here, the bit interleaving is to collect the bits at the position of each byte and encode first, collect the bits at the next position and encode, and encode the bit at the final position.

【0024】これに対して、復号側では、復号結果に基
づきビット位置を戻す処理を行い、元のデータを完全に
復元する。上述の処理は、8×8のディザ等で2値化さ
れた画像に対して有効である。
On the other hand, on the decoding side, the process of returning the bit position is performed based on the decoding result to completely restore the original data. The above-mentioned processing is effective for an image binarized by 8 × 8 dither or the like.

【0025】また、NOPコード128をエスケープコ
ード(ESC)とし、このコードの後に1バイトのデー
タを付け、このデータの値に応じて特殊処理を指示する
ことにする。
The NOP code 128 is used as an escape code (ESC), 1-byte data is added after this code, and special processing is instructed according to the value of this data.

【0026】[第1の実施形態]図5は、第1の実施形
態による符号化処理を示すフローチャートである。まず
ステップS101において、符号化ラインと前ラインと
の一致性を判定し、一致する場合はステップS102に
進み、前ラインコピーコードを出力する。
[First Embodiment] FIG. 5 is a flow chart showing an encoding process according to the first embodiment. First, in step S101, the matching between the encoded line and the previous line is determined. If they match, the process proceeds to step S102 to output the previous line copy code.

【0027】図6は、ステップS101の詳細を示すフ
ローチャートである。まずステップS201では、符号
化ラインと前ラインのデータを読み込み、ステップS2
02では、データ位置を示すポインタiを初期化する。
そして、ステップS203において、前ラインと同じか
どうかを判定し、同じでなければステップS204に進
み、判定フラグ(LCP_flg)を“0”にし、処理
を終了する。しかし、同じであればステップS205に
進み、ポインタiを更新し、ステップS206で1ライ
ン分のデータ判定を終了したかチェックする。ここで、
終了していなければステップS203に戻り、上述の処
理を繰り返す。その後、終了するとステップS207に
進み、判定フラグ(LCP_flg)を“1”にして処
理を終了する。ここで、maxは1ラインのデータ数で
ある。
FIG. 6 is a flowchart showing details of step S101. First, in step S201, the data of the encoded line and the data of the previous line are read, and step S2
In 02, the pointer i indicating the data position is initialized.
Then, in step S203, it is determined whether or not it is the same as the previous line. If not, the process proceeds to step S204, the determination flag (LCP_flg) is set to "0", and the process ends. However, if they are the same, the process proceeds to step S205, the pointer i is updated, and it is checked in step S206 whether the data determination for one line is completed. here,
If it has not been completed, the process returns to step S203, and the above processing is repeated. After that, when the processing is completed, the process proceeds to step S207, the determination flag (LCP_flg) is set to "1", and the processing is completed. Here, max is the number of data in one line.

【0028】図5に戻り、ステップS101の判定で、
一致しない場合はステップS103に進み、符号化ライ
ンが全て同一データか否かを判定する。ここで、同一デ
ータであればステップS104に進み、同一コード及び
そのデータの値を示すコードを出力する。
Returning to FIG. 5, in the determination of step S101,
If they do not match, the process proceeds to step S103, and it is determined whether the coding lines are all the same data. If the data is the same, the process proceeds to step S104, and the same code and a code indicating the value of the data are output.

【0029】図7は、ステップS103の詳細を示すフ
ローチャートである。まずステップS301において、
符号化ラインのデータを読み込み、最初のデータをレジ
スタRefに保存する。そして、ステップS302で、
データ位置を示すポインタiを初期化する。次に、ステ
ップS303では、ポインタの指すデータがRefと同
じかどうかを判定し、同じでなければステップS304
に進み、判定フラグ(Same_flg)を“0”に
し、処理を終了する。しかし、同じであればステップS
305に進み、ポインタiを更新し、ステップS306
で1ライン分のデータ判定を終了したかチェックする。
ここで、終了していなければステップS303に戻り、
上述の処理を繰り返す。その後、終了するとステップS
307に進み、判定フラグ(Same_flg)を
“1”にして処理を終了する。ここで、maxは1ライ
ンのデータ数である。
FIG. 7 is a flowchart showing details of step S103. First, in step S301,
The data of the encoded line is read and the first data is stored in the register Ref. Then, in step S302,
A pointer i indicating a data position is initialized. Next, in step S303, it is determined whether or not the data pointed to by the pointer is the same as Ref.
Then, the determination flag (Same_flg) is set to "0", and the process ends. However, if they are the same, step S
The process proceeds to 305, the pointer i is updated, and step S306
Check if the data judgment for one line is completed.
If not finished, the process returns to step S303,
The above processing is repeated. After that, when finished, step S
Proceeding to 307, the determination flag (Same_flg) is set to "1" and the processing is terminated. Here, max is the number of data in one line.

【0030】図5に戻り、ステップS103の判定で、
全ライン同一データでなければステップS105に進
み、2画素ペアが成立しているかを判定する。ここで成
立していればステップS106に進み、2画素ペアコー
ドを出力し、また重複している画素を間引き(サブサン
プリング)、画素数を半分にした後、ステップS109
に進み、PackBits符号化を行う。
Returning to FIG. 5, in the determination of step S103,
If the data is not the same for all lines, the process proceeds to step S105, and it is determined whether two pixel pairs are established. If the condition is satisfied, the process proceeds to step S106, the two-pixel pair code is output, and the overlapping pixels are thinned (subsampling) to halve the number of pixels, and then step S109.
Proceed to and perform PackBits encoding.

【0031】また、ステップS105で2画素ペアが成
立していなければステップS107に進み、8画素おき
の相関の強さを算出し、相関が強い場合はステップS1
08に進む。ステップS108では、ビットインタリー
プコードを出力し、ビットの並び替えを行い、ステップ
S109で、PackBits符号化を行う。
If the pair of two pixels is not established in step S105, the process proceeds to step S107 to calculate the correlation strength every eight pixels, and if the correlation is strong, step S1.
Proceed to 08. In step S108, the bit interleave code is output to rearrange the bits, and in step S109, PackBits encoding is performed.

【0032】ステップS107で相関が強くない場合は
ステップS109に進み、PackBits符号化を行う。これ
により、1ラインの処理が終了し、これを全ラインに対
して行うと、画像全体の処理が終了する。
If the correlation is not strong in step S107, the process proceeds to step S109 to perform PackBits encoding. As a result, the processing for one line is completed, and if this is performed for all lines, the processing for the entire image is completed.

【0033】図8は、第1の実施形態による復号化処理
を示すフローチャートである。まずステップS401に
おいて、タグが前ラインコピーコードかを判定し、Ye
sの場合はステップS402に進み、前ラインデータを
出力する。しかし、ステップS401でNoの場合はス
テップS403に進み、タグが全ライン同一のデータコ
ードかを判定し、Yesの場合はステップS404に進
み、コードから分かるデータを全ライン分出力する。ま
た、ステップS403でNoの場合はステップS405
に進み、タグが2画素ペアコードかを判定し、Yesの
場合はステップS406に進み、PackBits復号化を行
い、その後、ステップS410で1ビットを繰り返す処
理により元データを復元する。
FIG. 8 is a flow chart showing the decoding process according to the first embodiment. First, in step S401, it is determined whether the tag is the front line copy code, and Yes
In the case of s, it progresses to step S402 and outputs the previous line data. However, if No in step S401, the process proceeds to step S403 to determine whether the tags are the same data code on all lines, and if Yes, the process proceeds to step S404 to output the data understood from the code for all lines. If No in step S403, step S405
Then, it is determined whether the tag is a two-pixel pair code. If Yes, the process proceeds to step S406 to perform PackBits decoding, and then the original data is restored by the process of repeating 1 bit in step S410.

【0034】一方、ステップS405で2画素ペアコー
ドでない場合はステップS407に進み、タグがビット
インタリーブコードかを判定する。ここで、Yesの場
合はステップS408に進み、PackBits復号化を行い、
その後、ステップS411で復号データに対して8画素
毎のビットインタリーブを戻す処理を行い、元データを
復元する。また、ステップS407でNoの場合はステ
ップS409に進み、通常のPackBitsの復号処理を行
う。これにより、1ラインの処理が終了し、上述の処理
を全ラインに対して行うと、画像全体の処理が終了する
ことになる。
On the other hand, if the code is not a two-pixel pair code in step S405, the flow advances to step S407 to determine whether the tag is a bit interleave code. Here, in the case of Yes, the processing proceeds to step S408, PackBits decoding is performed,
Then, in step S411, a process of returning the bit interleave for every 8 pixels to the decoded data is performed to restore the original data. If No in step S407, the process proceeds to step S409 to perform normal PackBits decoding processing. As a result, when the processing for one line is completed and the above-described processing is performed for all the lines, the processing for the entire image is completed.

【0035】[第2の実施形態]次に、本発明に係る第
2の実施形態を詳細に説明する。第2の実施形態では、
タグ数が多い場合、バイト単位の処理をあきらめ、ビッ
ト処理に切り換えるものである。第1の実施形態のどの
方法をとっても、PackBitsでは圧縮が困難である場合が
あり、その場合、ビット単位の処理に切り換える方法が
有効である。
[Second Embodiment] Next, the second embodiment according to the present invention will be described in detail. In the second embodiment,
When the number of tags is large, the processing in byte units is given up and switched to bit processing. With any of the methods of the first embodiment, it may be difficult to compress with PackBits. In that case, the method of switching to bit-unit processing is effective.

【0036】図9は、バイト単位の処理からビット単位
の処理に切り換える処理を付加したフローチャートであ
る。図9に示すステップS501〜ステップS509ま
での処理は、第1の実施形態での図5に示すステップS
101〜ステップS109と同様である。
FIG. 9 is a flowchart in which a process for switching from the byte unit process to the bit unit process is added. The processing from step S501 to step S509 shown in FIG. 9 is performed by step S shown in FIG. 5 in the first embodiment.
101 to step S109.

【0037】図9に示すステップS510において、Pa
ckBits処理でのタグ数と設定しきい値とを比較し、設定
しきい値以上の場合はステップS511に進み、ビット
単位処理に切り換える。即ち、PackBitsのタグの数をカ
ウントし、設定しきい値より多い場合は、PackBitsでの
圧縮が困難であると判断する。ビット単位処理の例とし
ては、ファクシミリの符号化で使われているMH(モデ
ィファイドハフマン)などを使うことが可能である。
In step S510 shown in FIG. 9, Pa
The number of tags in the ckBits process is compared with the set threshold value, and if it is equal to or larger than the set threshold value, the process proceeds to step S511 to switch to the bit unit process. That is, the number of PackBits tags is counted, and if the number is larger than the set threshold value, it is determined that compression with PackBits is difficult. As an example of the bit unit processing, it is possible to use MH (Modified Huffman) which is used in facsimile encoding.

【0038】尚、この切り換えを行うことにより、符号
化処理のスピードが遅くなる場合が考えられるので、圧
縮率とスピードのトレードオフで、設定しきい値や切り
換えタイミング等を決める必要がある。
Since it is possible that the speed of the encoding process becomes slower by performing this switching, it is necessary to determine the set threshold value, the switching timing, etc. by the trade-off between the compression rate and the speed.

【0039】[第3の実施形態]次に、本発明に係る第
3の実施形態を詳細に説明する。第3の実施形態では、
タグの作り方を変更することによりデータを削減するも
のである。
[Third Embodiment] Next, a third embodiment of the present invention will be described in detail. In the third embodiment,
Data is reduced by changing the method of creating tags.

【0040】前述したPackBitsのリピートモードの符号
は、ラン長とその値の2バイトから構成されている。し
かし、2値画像の符号化に適用する場合、この値として
は、0(白)、255(黒)をとる場合が非常に多い。
また、黒のラン長の長いものの出現頻度は低いなどの特
徴がある。これを考慮し、図10に示すようなラン長と
その値を定義した新たなタグテーブルを決めることが可
能である。
The code in the repeat mode of PackBits described above is composed of a run length and 2 bytes of its value. However, when it is applied to the coding of a binary image, this value often takes 0 (white) and 255 (black).
In addition, there is a feature that the appearance frequency of black run length is long, but it is low. In consideration of this, it is possible to determine a new tag table defining the run length and its value as shown in FIG.

【0041】図示するように、タグの値が255〜19
2までは白ランのバイト数を、また191〜160まで
は黒ランの1〜32までのバイト数を、更に159〜1
29まではそれ以外のランの1〜32までのバイト数を
示している。即ち、タグの値が255〜160まではそ
の値を白又は黒のラン長に対応させ、タグの1バイトだ
けで表し、また159〜129まではタグの次に値を示
す1バイトのデータを付ける。
As shown in the figure, the tag value is 255 to 19
Up to 2, the number of bytes of the white run, from 191 to 160, the number of bytes of 1 to 32 of the black run, and 159 to 1
Up to 29, the number of bytes from 1 to 32 of other runs is shown. That is, if the tag value is 255 to 160, the value is associated with the run length of white or black, and is represented by only 1 byte of the tag. For 159 to 129, 1 byte data indicating the value next to the tag is displayed. wear.

【0042】これにより、リピートモードの符号長が短
くなるので、圧縮率を2〜3割向上させることが可能と
なる。
As a result, the code length in the repeat mode is shortened, and the compression rate can be improved by 20 to 30%.

【0043】[第4の実施形態]次に、本発明に係る第
4の実施形態を詳細に説明する。第4の実施形態では、
リピートモード又はコピーモードの後でテーブルを切り
換えるものである。
[Fourth Embodiment] The fourth embodiment according to the present invention will be described in detail below. In the fourth embodiment,
The table is switched after the repeat mode or the copy mode.

【0044】前述したPackBits方式のタグ生成方法を検
討すると、次のようなルールが存在していることがわか
る。 (1)第1のリピートモードの次に第2のリピートモー
ドが続く場合の考察 第1のリピートモードのバイト長が最大値以外の場合、
第2のリピートモードは第1の値と違う値である。例え
ば、第1のリピートモードのデータが“0”のときは、
第2のリピートモードのデータは“0”以外の値であ
る。 (2)第1のコピーモードの次のタグの考察 第1のコピーモードの後に第2のコピーモードが続く場
合は、第1のコピーモードのバイト数が最大値のとき以
外にはない。従って、第1のコピーモードのバイト数が
最大値以外のときは、それに続くモードはリピートモー
ドのみである。このことを考慮すると、タグテーブルは
前のモード及びデータ数などにより、動的に切り換える
ことが可能である。これにより、テーブルを効率良く
(即ち、使わないテーブルの値がないように)使えるこ
とがわかる。
Examination of the PackBits type tag generation method described above reveals that the following rules exist. (1) Consideration when the second repeat mode follows after the first repeat mode When the byte length of the first repeat mode is other than the maximum value,
The second repeat mode has a value different from the first value. For example, when the data of the first repeat mode is “0”,
The data in the second repeat mode is a value other than "0". (2) Consideration of the next tag of the first copy mode When the second copy mode follows after the first copy mode, there is nothing except when the number of bytes of the first copy mode is the maximum value. Therefore, when the number of bytes in the first copy mode is other than the maximum value, the subsequent mode is only the repeat mode. Considering this, the tag table can be dynamically switched according to the previous mode and the number of data. This shows that the table can be used efficiently (that is, there are no unused table values).

【0045】図11は、上記の(1)を実現するテーブ
ルを示す図である。図中の第1値、第2値、第3値を動
的に切り換える。つまり、前がリピートモードで値が
“0”、長さが最大値以外のときは、第1値を“25
5”、第2値をそれまで多く出現した値、第3値をそれ
以外の値として、タグを生成する。
FIG. 11 is a diagram showing a table for realizing the above (1). The first value, the second value, and the third value in the figure are dynamically switched. That is, when the previous is repeat mode and the value is "0" and the length is other than the maximum value, the first value is "25".
5 ", the second value is a value that has appeared a lot until then, and the third value is a value other than that, and a tag is generated.

【0046】図12は、上記の(2)を実現するテーブ
ルの例である。前がコピーモードで長さが最大値以外の
とき、タグの値が0〜127まではデータ“0”の長さ
を、また255〜192まではデータ“255”の長さ
を、更に191〜129まではそれ以外のデータの長さ
を示すように、タグデータを生成する。
FIG. 12 is an example of a table for realizing the above (2). When the previous is the copy mode and the length is other than the maximum value, the length of the data "0" is set for the tag value of 0 to 127, the length of the data "255" is set for 255 to 192, and the length of 191 to 191 is set. Up to 129, tag data is generated so as to indicate the length of other data.

【0047】このように、実施形態によれば、画像の2
次元的な相関などの画像特有の性質を検出し、PackBits
処理に特殊処理を施すことにより、圧縮率の改善を図る
ことが可能となる。
As described above, according to the embodiment, the 2
Image-specific properties such as dimensional correlation are detected, and PackBits
By applying a special process to the process, it is possible to improve the compression rate.

【0048】尚、本発明は複数の機器(例えば、ホスト
コンピュータ,インタフェイス機器,リーダ,プリンタ
など)から構成されるシステムに適用しても、一つの機
器からなる装置(例えば、複写機,ファクシミリ装置な
ど)に適用してもよい。
The present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but can be applied to a single device (for example, a copier, a facsimile). Device).

【0049】また、本発明の目的は前述した実施形態の
機能を実現するソフトウェアのプログラムコードを記録
した記憶媒体を、システム或いは装置に供給し、そのシ
ステム或いは装置のコンピュータ(CPU若しくはMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。
Further, an object of the present invention is to supply a storage medium having a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and to supply a computer (CPU or MP) of the system or the apparatus.
It goes without saying that U) is also achieved by reading and executing the program code stored in the storage medium.

【0050】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.

【0051】プログラムコードを供給するための記憶媒
体としては、例えばフロッピーディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD
-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

【0052】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部又は全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) running on the computer based on the instructions of the program code. It is needless to say that this also includes a case where the above) performs a part or all of the actual processing and the processing realizes the functions of the above-described embodiments.

【0053】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書込まれた後、そのプログラムコードの指示に基
づき、その機能拡張ボードや機能拡張ユニットに備わる
CPUなどが実際の処理の一部又は全部を行い、その処
理によって前述した実施形態の機能が実現される場合も
含まれることは言うまでもない。
Further, after the program code read from the storage medium is written in the memory provided in the function expansion board inserted in the computer or the function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that a case where the CPU provided in the function expansion board or the function expansion unit performs a part or all of the actual processing and the processing realizes the functions of the above-described embodiments is also included.

【0054】[0054]

【発明の効果】以上説明したように、本発明によれば、
2値画像データの相関に応じた符号化を行い、更に圧縮
率を向上させることが可能となる。
As described above, according to the present invention,
It is possible to perform encoding according to the correlation of binary image data and further improve the compression rate.

【0055】[0055]

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

【図1】PackBits方式の簡単な原理を説明するための図
である。
FIG. 1 is a diagram for explaining a simple principle of the PackBits method.

【図2】タグの値と各モードとの対応を示す図である。FIG. 2 is a diagram showing correspondence between tag values and respective modes.

【図3】2画素ペアと間引き処理を説明するための図で
ある。
FIG. 3 is a diagram for explaining a pair of two pixels and thinning processing.

【図4】8画素おきの相関とビットインタリーブ処理を
説明するための図である。
FIG. 4 is a diagram for explaining correlation and bit interleaving processing every 8 pixels.

【図5】第1の実施形態による符号化処理を示すフロー
チャートである。
FIG. 5 is a flowchart showing an encoding process according to the first embodiment.

【図6】図5に示すステップS101の詳細を示すフロ
ーチャートである。
FIG. 6 is a flowchart showing details of step S101 shown in FIG.

【図7】図5に示すステップS103の詳細を示すフロ
ーチャートである。
FIG. 7 is a flowchart showing details of step S103 shown in FIG.

【図8】第1の実施形態による復号化処理を示すフロー
チャートである。
FIG. 8 is a flowchart showing a decoding process according to the first embodiment.

【図9】第2の実施形態による符号化処理を示すフロー
チャートである。
FIG. 9 is a flowchart showing an encoding process according to the second embodiment.

【図10】第3の実施形態によるタグの値と各モードと
の対応を示す図である。
FIG. 10 is a diagram showing a correspondence between a tag value and each mode according to the third embodiment.

【図11】第4の実施形態によるタグの値と各モードと
の対応を示す図である。
FIG. 11 is a diagram showing a correspondence between tag values and each mode according to the fourth embodiment.

【図12】第4の実施形態によるタグの値とリピートモ
ードの対応を示す図である。
FIG. 12 is a diagram showing correspondence between tag values and repeat modes according to the fourth embodiment.

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 2値画像データの相関を検出する検出手
段と、 前記検出手段での検出結果に応じた符号化を判定する判
定手段と、 前記判定手段により判定された符号化を行う符号化手段
とを備えることを特徴とする画像符号化装置。
1. A detecting means for detecting a correlation between binary image data, a judging means for judging an encoding according to a detection result of the detecting means, and an encoding for performing the encoding judged by the judging means. An image coding apparatus comprising:
【請求項2】 前記検出手段は、符号化ラインと前ライ
ンとで画素データが一致するか、符号化ラインの全画素
データが同一か、符号化ラインの画素データが2画素ペ
アで成立しているか、符号化ラインの画素データが8画
素おきに強い相関があるかをそれぞれ検出し、前記判定
手段はその検出結果に応じた符号化を判定することを特
徴とする請求項1記載の画像符号化装置。
2. The detection means is configured such that the pixel data of the encoded line and the preceding line are the same, all the pixel data of the encoded line are the same, or the pixel data of the encoded line is a pair of two pixels. 2. The image code according to claim 1, wherein it is detected whether or not the pixel data of the coding line has a strong correlation at every 8 pixels, and the judging means judges the coding according to the detection result. Device.
【請求項3】 前記符号化手段は、符号化ラインと前ラ
インとで画素データが一致するか、符号化ラインの全画
素データが同一かが検出された場合、所定のコードに符
号化することを特徴とする請求項1記載の画像符号化装
置。
3. The encoding means encodes into a predetermined code when it is detected that the pixel data of the encoding line and the previous line are the same or all the pixel data of the encoding line are the same. The image coding apparatus according to claim 1, wherein:
【請求項4】 更に、符号化結果のタグの数に応じてバ
イト単位の符号化をビット単位の符号化に切り換える手
段を備えることを特徴とする請求項1記載の画像符号化
装置。
4. The image coding apparatus according to claim 1, further comprising means for switching from byte-unit coding to bit-unit coding in accordance with the number of tags resulting from the coding.
【請求項5】 前記符号化手段のタグの1バイトコード
がリピートモードのラン長に対応することを特徴とする
請求項1記載の画像符号化装置。
5. The image coding apparatus according to claim 1, wherein the 1-byte code of the tag of the coding means corresponds to the run length in the repeat mode.
【請求項6】 先行するモードにより、タグの値に対応
するラン長のデータを変更することを特徴とする請求項
1記載の画像符号化装置。
6. The image coding apparatus according to claim 1, wherein the run length data corresponding to the tag value is changed according to the preceding mode.
【請求項7】 2値画像データの相関に基づいて符号化
されたコードを判定する判定手段と、 前記判定手段での判定結果に応じた復号化を行う復号化
手段とを備えることを特徴とする画像復号化装置。
7. A determination means for determining a coded code based on a correlation of binary image data, and a decoding means for performing decoding according to a determination result of the determination means are provided. Image decoding device.
【請求項8】 2値画像データの相関を検出する検出工
程と、 前記検出工程での検出結果に応じた符号化を判定する判
定工程と、 前記判定工程により判定された符号化を行う符号化工程
とを有することを特徴とする画像符号化方法。
8. A detection step of detecting a correlation between binary image data, a determination step of determining encoding according to a detection result in the detection step, and an encoding step of performing the encoding determined in the determination step. An image coding method comprising the steps of:
【請求項9】 前記検出工程は、符号化ラインと前ライ
ンとで画素データが一致するか、符号化ラインの全画素
データが同一か、符号化ラインの画素データが2画素ペ
アで成立しているか、符号化ラインの画素データが8画
素おきに強い相関があるかをそれぞれ検出し、前記判定
手段はその検出結果に応じた符号化を判定することを特
徴とする請求項8記載の画像符号化方法。
9. The detecting step is performed by matching pixel data between a coded line and a preceding line, all pixel data of a coded line are the same, or pixel data of a coded line is a pair of two pixels. 9. The image code according to claim 8, wherein it is detected whether or not the pixel data of the encoding line has a strong correlation at every 8 pixels, and the determination unit determines the encoding according to the detection result. Method.
【請求項10】 前記符号化工程は、符号化ラインと前
ラインとで画素データが一致するか、符号化ラインの全
画素データが同一かが検出された場合、所定のコードに
符号化することを特徴とする請求項8記載の画像符号化
方法。
10. The encoding step encodes into a predetermined code when it is detected that the pixel data of the encoding line and the previous line match or all pixel data of the encoding line are the same. The image coding method according to claim 8, wherein:
【請求項11】 更に、符号化結果のタグの数に応じて
バイト単位の符号化をビット単位の符号化に切り換える
工程を有することを特徴とする請求項8記載の画像符号
化方法。
11. The image coding method according to claim 8, further comprising a step of switching coding in byte unit to coding in bit unit according to the number of tags of a coding result.
【請求項12】 前記符号化工程のタグの1バイトコー
ドがリピートモードのラン長に対応することを特徴とす
る請求項8記載の画像符号化方法。
12. The image encoding method according to claim 8, wherein the 1-byte code of the tag in the encoding step corresponds to the run length in the repeat mode.
【請求項13】 先行するモードにより、タグの値に対
応するラン長のデータを変更することを特徴とする請求
項8記載の画像符号化方法。
13. The image coding method according to claim 8, wherein the run length data corresponding to the tag value is changed according to the preceding mode.
【請求項14】 2値画像データの相関に基づいて符号
化されたコードを判定する判定工程と、 前記判定工程での判定結果に応じた復号化を行う復号化
工程とを有することを特徴とする画像復号化方法。
14. A determination step of determining a coded code based on a correlation of binary image data, and a decoding step of performing decoding according to a determination result in the determination step. Image decoding method.
JP8101708A 1996-04-23 1996-04-23 Image encoding device, image decoding device, and their method Withdrawn JPH09289591A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8101708A JPH09289591A (en) 1996-04-23 1996-04-23 Image encoding device, image decoding device, and their method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8101708A JPH09289591A (en) 1996-04-23 1996-04-23 Image encoding device, image decoding device, and their method

Publications (1)

Publication Number Publication Date
JPH09289591A true JPH09289591A (en) 1997-11-04

Family

ID=14307815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8101708A Withdrawn JPH09289591A (en) 1996-04-23 1996-04-23 Image encoding device, image decoding device, and their method

Country Status (1)

Country Link
JP (1) JPH09289591A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785424B1 (en) 1999-08-13 2004-08-31 Canon Kabushiki Kaisha Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
JP2013021692A (en) * 2011-07-11 2013-01-31 Ricoh Co Ltd Halftone processing of run length encoded datastreams
CN114070327A (en) * 2021-11-19 2022-02-18 中科亿海微电子科技(苏州)有限公司 Compression and decompression method for FPGA code stream data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785424B1 (en) 1999-08-13 2004-08-31 Canon Kabushiki Kaisha Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
JP2013021692A (en) * 2011-07-11 2013-01-31 Ricoh Co Ltd Halftone processing of run length encoded datastreams
CN114070327A (en) * 2021-11-19 2022-02-18 中科亿海微电子科技(苏州)有限公司 Compression and decompression method for FPGA code stream data

Similar Documents

Publication Publication Date Title
US7483585B2 (en) Image compression using variable bit size run length encoding
US5862264A (en) Image compression device and image compression method for compressing images by smoothing them, reversibly compressing the residual images and compressing the smoothed images based on fractal theory
EP0814614A2 (en) High bit-rate Huffman decoding
EP0902398A2 (en) System for compressing and decompressing binary representations of dithered images
US6771273B2 (en) Image display apparatus
JPH09289591A (en) Image encoding device, image decoding device, and their method
Newman et al. A steganographic embedding undetectable by JPEG compatibility steganalysis
JP3619025B2 (en) Encoding method and encoding apparatus
JPS59117864A (en) System for controlling data compression and expansion
US6556715B1 (en) Method for CCITT compression of image data
JP3866568B2 (en) Image compression method
JPH10341437A (en) Image processing method and device therefor
JP2891818B2 (en) Encoding device
JP2002077637A (en) Apparatus and method of image coding
JP2007531078A (en) Method and apparatus for encoding and decoding three-dimensional mesh information
JP2005045710A (en) Electronic watermark embedding apparatus, electronic watermark verifying apparatus, electronic watermark embedding method, and electronic watermark verifying method
JPH0311883A (en) Decoding system for variable length code, and facsimile equipment and still picture transmission system
JP3705771B2 (en) JBIG decoding method
JP2004072155A (en) Two-dimensional encoder
JP2004172709A (en) Image encoder, image encoding method, image decoder, image decoding method, and storage medium therefor
JP2002094801A (en) Picture data compressing method, apparatus therefor and recording medium
JPH09246989A (en) Decoder and method therefor
JPH11284864A (en) Image decoder
JP2790755B2 (en) Facsimile machine
CN118488236A (en) Video stream transmission method and device and electronic equipment

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030701