JPH0116071B2 - - Google Patents

Info

Publication number
JPH0116071B2
JPH0116071B2 JP54142955A JP14295579A JPH0116071B2 JP H0116071 B2 JPH0116071 B2 JP H0116071B2 JP 54142955 A JP54142955 A JP 54142955A JP 14295579 A JP14295579 A JP 14295579A JP H0116071 B2 JPH0116071 B2 JP H0116071B2
Authority
JP
Japan
Prior art keywords
code
bit
length
output
bits
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
Application number
JP54142955A
Other languages
Japanese (ja)
Other versions
JPS5666972A (en
Inventor
Yoshio Iizuka
Toshiro Kayano
Shigeo Matsunaga
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14295579A priority Critical patent/JPS5666972A/en
Publication of JPS5666972A publication Critical patent/JPS5666972A/en
Publication of JPH0116071B2 publication Critical patent/JPH0116071B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/419Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which encoding of the length of a succession of picture-elements of the same value along a scanning line is the only encoding step

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 本発明はモデイフアイドハフマン方式で符号化
された画信号情報の復号化を少ない固定メモリ容
量で処理しうるようにした画信号復号化方式に関
するものである。 〔従来の技術〕 従来、高速のフアクシミリ装置においては、フ
アクシミリ端末から送られてくる変調されたアナ
ログ画信号をAD変換した後、ランレングス方
式、すなわち白または黒の継続ビツト数を符号で
現わして送る方式を用いて、高速伝送路により受
信側で復号して元の画信号に復調される。 このようなランレングスの符号化方式として、
CCITT(国際電信電話諮問委員会)においてはモ
デイフアイドハフマン(MH)方式を推奨してい
る。この符号化方式はランレングス数を白画素お
よび黒画素のそれぞれにつき、第1表に示すよう
に64画素毎に1728画素までをコード化した「メー
クアツプコード」54種と、第2表に示すように64
画素の間を0から63まで1画素毎に刻んでコード
化した「ターミネーテイングコード」128種を組
合せて任意ランレングス数をコード化し符号圧縮
することができる。 〔発明が解決しようとする課題〕 しかし、第1表、第2表により明らかなよう
に、この方式で符号化した『MH符号のコード
長』は少なくとも“1”レベルのビツトを含む最
短で2ビツトのパターン、最長で13ビツトのパタ
ーンで構成され、コード長は大きく変化してい
る。 これを受信側においてランレングス数に復号す
るに際して、受信したMH符号をそのまま13ビツ
[Industrial Field of Application] The present invention relates to an image signal decoding method that enables decoding of image signal information encoded by the modified Huffman method using a small fixed memory capacity. [Prior Art] Conventionally, high-speed facsimile equipment converts a modulated analog image signal sent from a facsimile terminal into an AD converter, and then converts it using a run-length method, that is, represents the number of continuous bits of white or black using a code. The signal is then decoded and demodulated into the original image signal on the receiving side via a high-speed transmission line. As such a run length encoding method,
The CCITT (International Telegraph and Telephone Consultative Committee) recommends the Modified Huffman (MH) method. This encoding method uses 54 kinds of "make-up codes" that code the run length for each of white pixels and black pixels, up to 1728 pixels every 64 pixels as shown in Table 1, and 54 types of "make-up codes" as shown in Table 2. like 64
By combining 128 kinds of "terminating codes" which are coded by carving the space between pixels from 0 to 63 for each pixel, any number of run lengths can be coded and compressed. [Problem to be solved by the invention] However, as is clear from Tables 1 and 2, the "code length of the MH code" encoded using this method is at least 2 bits including at least the "1" level bit. It consists of a bit pattern, the longest being 13 bits, and the code length varies greatly. When decoding this into a run length number on the receiving side, the received MH code is converted into a 13-bit number as is.

【表】【table】

【表】【table】

〔課題を解決するための手段〕[Means to solve the problem]

前記目的を達成するため、本発明の画信号復号
化方式は、モデイフアイドハフマン(MH)方式
で符号化された可変長なMH符号を画信号情報に
復号化する方式において、 所定の直列コードに該MH符号を直列接続した
ビツトパターンを形成し、該ビツトパターンから
該MH符号を形成する最大符号長より短い所定ビ
ツト数の直列コード部分を選択的に並列出力する
手段と、入力された前記MH符号の上位ビツトの
連続する“0”レベルの個数が所定個数未満と所
定個数ある時とで反転したビツト符号が入力さ
れ、前記MH符号の長さを計数しながら予め定め
たビツト長を基準に、計数値に応じて出力される
ビツト符号を出力する手段と、アクセスされたア
ドレスから復号すべきランレングス数を出力すべ
きか否かを定める一致符号または不一致符号を格
納した符号部を備えるとともに復号すべきランレ
ングス数を記憶したメモリとを有し、 前記入力されるMH符号のコード長の計数に同
期して前記ビツトパターンからの選択部分を定め
て出力した所定ビツト数の直列コードと、計数値
に応じて出力されたビツト符号との並列出力でア
クセスして該メモリの内容を読出し、前記符号部
からの出力が符号一致を示しているときに当該
MH符号に対応するランレングス数を復号化する
ことを特徴とするものである。 〔作用〕 第1図a〜dは本発明の原理説明図である。同
図a,bは白画素及び黒画素に対するランレング
ス復号用の固定メモリ(ROM)をアクセスする
アドレスを生成するレジスタの状態を示し、同図
cは上記アドレスを生成する過程で使用する白黒
共通に用いる初期値、同図dは8ビツト(1バイ
ト)構成の固定メモリ(ROM)内に格納したメ
ークアツプおよびターミネーテイング対応のラン
レングス数に重みを付けたビツトパターンを格納
した図である。 そして、同図aに示す10ビツトパターン
(“0011100111”、16進表示で“0E7”)は、「白ラ
ンレングス数=2」を出力させるMH符号
(“0111”)からの生成途中または生成完了時のビ
ツトパターンアドレスを例示する白黒素の復号用
アドレスである。 このレジスタで示すように、生成アドレスのビ
ツト位置を上位からA9〜A0の10ビツトとすれ
ば、そのうちビツトA7〜A0までをシフトレジス
タとして機能させ、このビツトA6〜A0には同図
cに示す8ビツトパターンの初期値“11111110”
をセツトした後にMH方式で符号化した当該コー
ドデータ“0111”をレジスタの下位から入力して
4ビツト分シフトアツプし、さらに上位のビツト
A9,A8には後述する手順で“00”が書き込ま
れ、A9〜A0の10ビツト(アドレス範囲は16進表
示だ“000”から“3FF”まで)を1つのアドレ
スとして固定メモリ(ROM)にアクセスし、当
該アドレス内の同図dに示すビツトD7からの出
力が『符号一徴=“1”』を出力していれば、所望
のランレングス数のコードデータ「白2;D5
D0=“000010”」がターミネーテイングを示すD6
=“0”と共に出力される。ここで、同図aのレ
ジスタでビツトA8にはMH符号のビツト配列に
上位から“0”が0〜3個まで連続している場合
は“0”をセツトし、“0”が4個ある場合は
“1”をセツトする。またビツトA9にはMH符号
のコード長が8ビツト以上の場合には“1”を、
7ビツト以下の場合には“0”をセツトする。 このようにして、受信した可変長なビツトパタ
ーンのMH符号を10ビツトのアドレスに生成する
のであるが、白画素のMH符号は白用のEOLの12
ビツトパターン“000000000001”を除いて、4ビ
ツトから9ビツトまでの可変長で符号化されてお
り、上記の手順で10ビツトのアドレスを生成する
と、その生成の途中で異なる複数のMH符号間で
同一なアドレスを生成する場合が生じる。この生
成過程で得られるアドレスはその都度固定メモリ
(ROM)にアクセスされるので、異なるMH符号
に対して同一なランレングス数を復号すると言う
不都合を生じる。これを避けるため後述するよう
に、複数のMH符号から生成途中で得られる同一
の固定メモリ(ROM)のアドレス内からは復号
データが出力されないようにする符号一致/不一
致ビツトを同図dのビツト位置D7にセツトして
おく。 次に、同図bに示す10ビツトパターン
(“0011100011”、16進表示で“0E3”)は、「黒ラ
ンレングス数=5」を出力させるMH符号
(“0011”)からの生成途中または生成完了時のビ
ツトパターンアドレスを例示する黒画素の復号用
アドレスである。ここで、同図bの初期値とビツ
ト位置A7〜A0の生成手順は同図aの白の場合と
同様であるが、黒画素のMH符号のコード長は2
ビツトから13ビツトに亘り多様に変化するので、
次のビツトA8では白の場合の“0”および“1”
におけるセツト条件に加え、MH符号のコード長
が13ビツトの場合も“0”に設定する点が異な
り、またビツトA9に対してはMH符号のコード
長が12ビツト以上の場合“1”に、11ビツト以下
の場合“0”にセツトする。 たとえば、「黒ランレングス数=1728」とする
MH符号は、黒メークアツプコード
“0000001100101”の13ビツトパターンであるか
ら、レジスタ内では上位の5個の“0”がシフト
アウトされてA7〜A0=“01100101”、またMH符
号のコード長が13ビツトだからA8=“0”かつ
A9=“1”となつて、固定メモリ(ROM)にア
クセスするアドレスとして“1001100101”、即ち、
16進表示で“265”番地が生成される。 上述した手順で生成したアドレスでアクセスさ
れる固定メモリには、第1表、第2表に示す各
MH符号対応のランレングス数を出力するよう
に、そのアドレス内に同図dに示す形態で重み付
けしたランレングス数、メークアツプ/ターミネ
ーテイングの区分、および復号データ出力の可/
不可を示す符号一致/不一致ビツトを記憶させて
おく。すなわち、ビツトD5〜D0にはビツトD6
区分されるメークアツプまたはターミネーテイン
グのランレングス数を格納し、ビツトD6が“0”
ならばビツトD5〜D0は32,16,08,04,02,01
の順で重み付けたターミネーテイングコード、ビ
ツトD6が“1”ならばビツトD5〜D0は2048,
1024,0512,0256,0128,0064の順で重み付けた
メークアツプコードであることを示し、また、後
述するようにビツトD7が“0”ならば上述した
異なるMH符号からのアドレス生成過程で得られ
る同一アドレス位置であるから符号不一致として
ランレングス数を出力せず、ビツトD7が“1”
ならば生成されたアドレスがMH符号ごとに一意
であるから符号一致としてランレング数を出力す
る。 即ち、異なるMH符号、例えばランレングス数
黒0、黒22の場合は、それぞれ上位の“0”の個
数が4,5ビツトと異なるのみで下位の6ビツト
パターンは、“110111”と同一である。このビツ
トパターンを初期値“11111110”(16進数表示で
FE)に下位ビツト位置から直列に接続し、1ビ
ツトシフトして上位の1ビツトを削除して残りの
ビツトパターンの上位8ビツト(16進数表示で
FC)を生成し、同様に1ビツトシフトして上位
の1ビツトを削除して残りのビツトパターンの上
位8ビツト(16進数表示でF8)を生成する手順
を反復する。 黒0の場合はMH符号のコード長が10ビツト
“0000110111”であるから、上記の反復を9回繰
り返すまでに得られる8ビツトパターンは16進数
表示でFC,F8,F0,E0,C1,83,06,0D,1B
となり、これにMH符号のコード長と上位の
“0”の個数に関連して定める2ビツトの“01”
(16進数表示で1)を並列接続した各々の10ビツ
トパターン(16進数表示で、1FC,1F8,1F0,
1E0,1C1,183,106,10D,11B)は当該MH符
号の途中迄でありアドレスとして採用できないか
ら、このビツトパターンをアドレスとしてアクセ
スしたメモリからの出力データは当然符号不一致
(D7=“0”)として復号対象にせず、10回以降に
生成されるビツトパターンをランレングス数を出
力するメモリのアドレスの候補(符号一致、D7
=“1”)とする。そして10回目の反復で当該MH
符号の上位の“0”が2ビツトだけ削除された残
りの8ビツトパターンは16数表示で37となり、
MH符号のコード長と上位の“0”の個数に関連
して定める2ビツトの“01”(16進数表示で1)
を並列接続した10ビツトパターンは137となる。 一方、黒22の場合はMH符号が“00000110111”
でありそのコード長が11ビツトであるから、上記
と同様な手順を11回反復するまでに生成される8
ビツトのビツトパターンとMH符号のコード長と
上位の“0”の個数に関連して定める2ビツトの
“01”(16進数表示で1)を並列接続した各々の10
ビツトパターンは黒0の場合と同様な理由でアド
レスとして採用できないから、このビツトパター
ンをアドレスとしてアクセスしたメモリからの出
力データは当然符号不一致(D7=“0”)として
復号対象にせず、11回以降で符号一致(D7
“1”)の候補とする。そして11回目の反復で上位
の“0”が3ビツトだけ削除され、残りの8ビツ
トパターンは16進数表示で37となつて黒0の場合
と同一になる。しかも、この8ビツトパターンと
MH符号のコード長/上位の“0”の個数に関連
して定まる2ビツトを並列に合成した10ビツトパ
ターンも137となる。 従つて、黒0、黒22のいずれの場合もビツトシ
フト数が10回、11回までであると同一なアドレス
137が生成されるから、復号用ランレングス数
をこのアドレス137から出力させる事ができ
ず、その為この137内のビツト位置D7にも不
一致符号である“0”をセツトしておくこととな
り、黒0ではシフト数が11回以上、黒22では12回
以上で生成されるビツトパターンを用いるアドレ
スがランレングス数復元用アドレスとなる。 上述したシフト回数はMH符号の上位の“0”
が全部シフトアウトされるまでを限度とし、その
過程で生成されるアドレスが、上位の“0”の個
数だけが異なり且つ下位のビツトパターンが同一
なMH符号同士で生成されるアドレス間で一致し
ないアドレスであるとき、そのアドレスに所望の
MH符号の復号用ランレングス数をセツトしてお
くものである。 〔実施例〕 第2図は上述の原理を用いた本発明の実施例の
構成を示す説明図である。 同図において、S/Pシフトレジスタ11は一
つのMH符号を復号する毎にS/L端子に入力さ
れるシリアルロード信号のロードモードで入力部
のH〜Aは“11111110”に初期設定される。伝送
されてきたMH符号データがシリアルロード信号
のシリアルモードで制御され、入力クロツク
(CLK)に同期して動作するS/Pシフトレジス
タ11のシリアル入力部A〜Hに1ビツト単位で
シリアルロードされ、その時のS/Pシフトレジ
スタ11のビツトパターンが8ビツトの並列出力
端子OA〜OHから出力し、それぞれ並列に白、
黒復号用の固定メモリ(ROM)12,13に分
岐し、チツプセレクタ端子CSに入力される白、
黒の選択信号の切換によりそれぞれのROM1
2,13の入力端子A0〜A7に入力する。この
入力信号A0〜A7は第1図a,bのレジスタの
ビツト位置A0〜A7に対応する。 一方、MH符号の長さに関連してセツトされる
ROM12,13の入力端子A8,A9のセツト
は、入力MH符号の上位の“0”の個数を検出す
る図示しない論理回路からの入力(ゼロセツト信
号)と、後述するカウンタ18の出力を受ける論
理回路によつてセツトされる。 そしてROM12,13の出力端子O0〜O7
からは第1図dに示すランレングス数D5〜D0
ターミネーテイング/メークアツプコード区分
D6、符号一致/不一致D7の判別信号より成る出
力データが得られ、ゲート回路14で白、黒の切
換えが行なわれ、カウンタ回路15によつてラン
レングス数がカウントされる。このカウントの終
了により復号化終了信号がフアクシミリ装置の
CPUに送出される。 またROM12,13の出力終了信号は、入力
クロツクをNOT回路17を介して入力され、そ
の立下りで動作するフリツプフロツプ(FF)1
6の出力として与えられる。そして、この出力は
FF16の他方の入力端子にROM12,13の出
力端子07からの符号一致信号が入力された時に
与えられる。即ち、ROM12,13からの符号
一致を示す信号が出力端子07から出力され、
FF16からROM終了信号が現れるまでは、入力
クロツクに同期して動作するS/Pシフトレジス
タ11からの出力をアドレスとするROM12,
13に対するアクセスが反復遂行される。 このMH符号の長さに関連して入力端子A9に
セツトする信号および上位の“0”の個数により
A8にセツトする信号を発生するため、S/Pシ
フトレジスタ11に与えた同じ入力クロツク
(CLK)をカウンタ18に入れて計数する。すな
わち、当初カウンタ18および関連するフリツプ
フロツプ(FF)16,19,20,21をリセ
ツト信号1,2,3でリセツトした後、MH符号
データのS/Pシフトレジスタ11へのシリアル
ロードに同期しながら入力クロツク(CLK)が
カウントされ、カウント数に応じて1,2,4,
8で重み付けされている出力端子QA〜QDに出力
が現れる。また、この入力される個別のMH符号
データはフアクシミリ側の図示しないCPUで個
別に監視され、上位の“0”の個数が4個連続し
ている時にはゼロセツト信号として“1”が入力
され、後述するAND回路25の一方の入力端に
“1”を与える。そしてカウンタ18のQA〜QD
力が、AND回路23,24、FF19,20,2
1、AND回路25、NAND回路26よりなる論
理回路を通し、第1図a,bにおけるビツトA
8,A9に対応してこの出力をROM12,13
の入力端子にアドレス信号として入力し、S/P
シフトレジスタ11の出力0A〜0Hによるアド
レス入力A7〜A0とともにROM12,13に
与え、ROM12,13に格納してあるランレン
グス数を読出し、この読出データ内の出力端子0
7に符号不一致信号が現れる間は、MH符号の
S/Pシフトレジスタ11へのシリアルロードを
行なつてROM12,13へのアクセスを続行す
るとともに、入力クロツクの計数を継続し、
ROMの出力端子07に符号一致信号が現れるこ
とで復号されたランレングス数が得られる。 この動作を第3図を参照して以下に説明する。
すなわち、カウンタ18のQA,QB,QC,QD出力
は同図aに示すようにそれぞれ1,2,4,8で
重み付けされ、この4ビツト出力は入力MH符号
の長さのカウント値になる。従つて、同図bに示
すように、AND回路23にはMH符号の長さを
偶数ビツトとしてカウントする毎に“1”を出力
するようにNOT回路22で反転したQA出力(*
1)と、MH符号の長さを4〜7ビツトとしてカ
ウントする間または12ビツト以上カウントする間
は“1”を出力するQC出力4と、MH符号を8
ビツト以上としてカウントした以後は“1”を出
力するQD出力8とが入力されているから、AND
回路23の出力イは12ビツトとのMH符号の長さ
をカウントするまでは“0”で、12ビツトをカウ
ントすると“1”となり、さらに13ビツトまでカ
ウントが進むとまた“0”に反転する。 続いて、このAND回路23の出力イがFF19
に入るから、同図cに示すようにその出力ロ
は、MH符号の長さを12ビツトから13ビツトまで
カウントした時のAND回路23出力イの立下り
で“0”に反転し、この反転した出力ロをAND
回路25(同図g)の他方の入力とする。そし
て、このAND回路25の出力はゼロセツト信号
の“0”,“1”によつてROM12,13の入力
端子A8に“0”,“1”いずれかで供給される。
一方、FF20およびFF21については、黒を受
信している場合はFF20を強制リセツトし、白
を受信している場合はFF21を強制リセツトす
る。 次に、同図dに示すように、カウンタ18の
QC4出力はMH符号の長さをカウントする値が
4,5,6,7の間(および12以上)で“1”と
なつてFF20に供給され、MH符号の長さを7
ビツトカウントした次に8ビツトまでカウントす
るとその立下りによつてF20の出力ハが
“0”に反転し、NAND回路26の一方の入力と
なる。また、同図eに示すように、カウンタ18
のQD8出力とQB2出力をAND回路24に入れ、
MH符号の長さのカウント値が10,11,1
4,15の時は“1”を出力ニし、同図fに示す
ように、この出力はFF21に供給されて、MH
符号の長さを11ビツトカウントしたことに続けて
12ビツトまでカウントする時は、その立下りによ
つてFF21の出力ホが“0”に反転し、
NAND回路26の他方の入力となる。そして、
このNAND回路26(同図h)の出力はROM1
2,13の入力端子A9に“0”,“1”いずれか
で供給される。 以上の構成により、第1図a,bに示す条件が
満足される。 すなわち、入力されるMH符号データが白画素
に対応する場合、MH符号の長さは13ビツト未満
であるから第3図cのようにFF19の出力ロ
は“1”のままであり、同図gのようにMH符号
の上位の“0”が4個の場合はゼロセツト信号が
“1”で供給されるから、AND回路25の出力ヘ
も“1”となり、ROM12のA8に供給され
る。またMH符号の上位の“0”が0〜3個の場
合はゼロセツト信号が“0”で供給されるから、
AND回路25の出力トは“0”となつてROM1
2のA8に供給される。 一方、入力されるMH符号データが黒画素に対
応する場合、MH符号の長さが13ビツト未満の時
は白の場合と同様である。MH符号の長さを13ビ
ツトまでカウントすると、第3図cのようにFF
19は出力ロが反転して“0”を出力するか
ら、ゼロセツト信号に拘らずAND回路25の出
力は“0”となりROM13ののA8に供給され
る。 次にFF20の出力ハは同図dのように、
MH符号の長さが8ビツト以上では“0”である
から、同図hのようにこれを入力とするNAND
回路26の出力チは“1”となりROM12のA
9に供給される。ここで、MH符号の長さが7ビ
ツト以下では、同図hのようにFF20の出力
ハは“1”となり、NAND回路26の出力は
“0”となつてROM12のA9に供給される。
また、FF21の出力ホはMH符号の長さが12
ビツト以上であれば“0”となるから、同図hの
ようにNAND回路26の出力リは“1”となり
ROM13のA9に供給される。 〔発明の効果〕 本発明ではMH符号対応のランレングス数をタ
ーミネーテイング/メークアツプの各々で6ビツ
トにまとめ、その区分を示す1ビツトのフラグと
MH符号復号の一致/不一致を示す1ビツトを1
バイト容量の固定メモリにMH符号対応個分格納
しておき、伝送された可変長なMH符号に関し、
MH符号のコード長が8ビツトを越えないならば
その8ビツトと、8ビツトを越える時は8ビツト
以下のコードと、当該MH符号の上位からの4ビ
ツトまでに連続した“0”レベルがあるか否か、
およびMH符号の長さが所定ビツト長以上か否か
を判定する論理回路の出力とを組み合わせたビツ
トパターンをアドレスとして直接に固定メモリに
アクセスし、固定メモリに予め格納しておいた
MH符号対応のランレングス数を読み出すもので
あるから、通常の方法のように、固定メモリに格
納されたMH符号と入力されたMH符号とをビツ
ト入力毎に比較して一致を検出するという複雑な
手順を省くことができる。 すなわち、入力されたMH符号のうち8ビツト
以下のコードを所定の初期値と組み合わせたビツ
トパターンを生成しておき、MH符号の長さに関
連する白と黒の条件をあらかじめ設定した論理回
路を通した出力を上記ビツトパターンに組み合わ
せてアドレスとして用い、固定メモリをアクセス
するようにしたものである。 これにより手順の簡単化とともに、固定メモリ
の容量も1Kバイト程度に減少することができる
から、効率的なランレングス数の復号化が可能と
なる。
In order to achieve the above object, the image signal decoding method of the present invention decodes a variable length MH code encoded by the Modified Huffman (MH) method into image signal information, and includes the following steps: means for forming a bit pattern in which the MH code is connected in series, and selectively outputting in parallel a serial code portion having a predetermined number of bits shorter than the maximum code length forming the MH code from the bit pattern; When the number of consecutive "0" level bits of the upper bits of the MH code is less than a predetermined number and when it is a predetermined number, an inverted bit code is input, and while counting the length of the MH code, a predetermined bit length is used as a reference. The apparatus further comprises a means for outputting a bit code output according to the count value, and a code section storing a matching code or a mismatching code for determining whether or not the number of run lengths to be decoded from the accessed address should be output. a serial code of a predetermined number of bits, which has a memory that stores the number of run lengths to be decoded, and outputs a selected part from the bit pattern in synchronization with counting the code length of the input MH code; The contents of the memory are accessed by parallel output with the bit code output according to the count value, and when the output from the code section indicates a code match, the corresponding bit code is output.
This method is characterized by decoding the run length number corresponding to the MH code. [Operation] Figures 1a to 1d are explanatory diagrams of the principle of the present invention. Figures a and b show the status of the register that generates the address for accessing the fixed memory (ROM) for run-length decoding for white and black pixels, and figure c shows the status of the register that is common to black and white used in the process of generating the above addresses. Initial values used for the initial value, d in the same figure, are stored in a fixed memory (ROM) having an 8-bit (1 byte) configuration and a bit pattern in which the number of run lengths corresponding to make-up and termination are weighted. The 10-bit pattern shown in figure a (“0011100111”, “0E7” in hexadecimal notation) is generated during or after generation from the MH code (“0111”) that outputs “white run length number = 2”. This is a decoding address of a black and white element illustrating a bit pattern address at a time. As shown in this register, if the bit positions of the generated address are 10 bits A9 to A0 from the high order, then bits A7 to A0 will function as a shift register, and these bits A6 to A0 will be assigned the bits shown in c in the same figure. Initial value of 8-bit pattern “11111110”
After setting, the code data “0111” encoded using the MH method is input from the lower register, shifted up by 4 bits, and then the upper bits are input.
“00” is written to A9 and A8 in the procedure described later, and the 10 bits from A9 to A0 (address range is hexadecimal notation “000” to “3FF”) are stored in fixed memory (ROM) as one address. If access is made and the output from bit D 7 shown in d in the same figure in the address is "sign one = "1", the code data of the desired run length number "white 2; D 5 ~
D 0 = “000010” indicates termination D 6
= “0” is output. Here, in the register a of the same figure, bit A8 is set to "0" if there are 0 to 3 consecutive "0"s from the high order in the bit array of the MH code, and there are 4 "0"s. If so, set it to “1”. Bit A9 is set to “1” if the code length of the MH code is 8 bits or more.
If it is 7 bits or less, it is set to "0". In this way, the MH code of the received variable length bit pattern is generated into a 10-bit address, but the MH code of the white pixel is 12 bits of the EOL for white.
Except for the bit pattern "000000000001", the addresses are encoded with a variable length from 4 bits to 9 bits, and when a 10-bit address is generated using the above procedure, the same MH code is encoded between different MH codes during the generation process. There may be cases where a unique address is generated. Since the address obtained in this generation process is accessed in a fixed memory (ROM) each time, there is an inconvenience that the same number of run lengths are decoded for different MH codes. In order to avoid this, as will be described later, the code match/mismatch bit is set to bit d in the figure to prevent decoded data from being output from the same fixed memory (ROM) address obtained during generation from multiple MH codes. Set it to position D7 . Next, the 10-bit pattern (“0011100011”, “0E3” in hexadecimal notation) shown in figure b is generated during or during generation from the MH code (“0011”) that outputs “black run length number = 5”. This is an address for decoding a black pixel, which is an example of a bit pattern address at the time of completion. Here, the procedure for generating the initial value and bit positions A7 to A0 in figure b is the same as in the case of white in figure a, but the code length of the MH code of the black pixel is 2.
Since it varies widely from bit to 13 bit,
In the next bit A8, “0” and “1” for white
The difference is that in addition to the setting conditions in , it is also set to "0" when the code length of the MH code is 13 bits, and for bit A9, it is set to "1" when the code length of the MH code is 12 bits or more. Set to “0” if it is 11 bits or less. For example, "Number of black run lengths = 1728"
Since the MH code is a 13-bit pattern with the black make-up code "0000001100101", the top five "0"s are shifted out in the register, resulting in A7 to A0 = "01100101", and the code length of the MH code is Since it is 13 bits, A8="0" and
When A9="1", the address to access the fixed memory (ROM) is "1001100101", that is,
Address “265” is generated in hexadecimal representation. The fixed memory accessed using the address generated in the above procedure includes each of the addresses shown in Tables 1 and 2.
In order to output the run length number corresponding to the MH code, the number of run lengths weighted in the form shown in d of the same figure, the make-up/termination classification, and whether or not the decoded data can be output are specified in the address.
A code matching/mismatching bit indicating impossibility is stored. That is, bits D5 to D0 store the number of make-up or termination run lengths divided by bit D6 , and bit D6 is "0".
Then bits D 5 to D 0 are 32, 16, 08, 04, 02, 01
If bit D 6 is “1”, bits D 5 to D 0 are 2048,
This indicates that it is a make-up code weighted in the order of 1024, 0512, 0256, 0128, 0064, and if bit D7 is “0” as described later, it is obtained in the address generation process from a different MH code as described above. Since they are at the same address location, the run length is not output as a sign mismatch, and bit D7 is “1”.
If so, since the generated address is unique for each MH code, the run length number is output as a code match. That is, in the case of different MH codes, for example, the run length numbers black 0 and black 22, the number of upper "0"s differs from 4 and 5 bits, respectively, and the lower 6-bit pattern is the same as "110111". . Set this bit pattern to the initial value “11111110” (in hexadecimal notation).
FE) in series from the lower bit position, shift 1 bit, delete the upper 1 bit, and convert the upper 8 bits of the remaining bit pattern (in hexadecimal notation).
FC), then repeat the procedure of similarly shifting 1 bit, deleting the upper 1 bit, and generating the upper 8 bits (F8 in hexadecimal notation) of the remaining bit pattern. In the case of black 0, the code length of the MH code is 10 bits "0000110111", so the 8-bit pattern obtained by repeating the above nine times is FC, F8, F0, E0, C1, 83 in hexadecimal notation. ,06,0D,1B
This is followed by a 2-bit “01” determined in relation to the code length of the MH code and the number of high-order “0”s.
Each 10-bit pattern (1 in hexadecimal notation) is connected in parallel (1FC, 1F8, 1F0,
1E0, 1C1, 183, 106, 10D, 11B) are part of the corresponding MH code and cannot be used as addresses, so the output data from the memory accessed using this bit pattern as an address will naturally have a code mismatch (D 7 = “0”). ”), and the bit pattern generated after the 10th time is a memory address candidate (sign matching, D 7 ) that outputs the run length number.
="1"). And in the 10th iteration, the MH
The remaining 8-bit pattern, in which only 2 bits of the upper “0” of the code are deleted, becomes 37 in 16 number display.
2-bit “01” (1 in hexadecimal notation) determined in relation to the code length of the MH code and the number of upper “0”s.
The 10-bit pattern that is connected in parallel is 137. On the other hand, in the case of black 22, the MH code is “00000110111”
Since the code length is 11 bits, the 8 bits generated by repeating the same procedure 11 times as above.
Each 10 bit is connected in parallel with 2-bit “01” (1 in hexadecimal notation) determined by the bit pattern of the bit, the code length of the MH code, and the number of high-order “0”s.
Since the bit pattern cannot be used as an address for the same reason as the case of black 0, the output data from the memory accessed using this bit pattern as an address is naturally not subject to decoding as a sign mismatch (D 7 = "0"), and 11 Signs match after the times (D 7 =
“1”) is selected as a candidate. Then, in the 11th iteration, only 3 bits of the upper "0" are deleted, and the remaining 8-bit pattern becomes 37 in hexadecimal notation, which is the same as in the case of black 0. Moreover, this 8-bit pattern
The 10-bit pattern obtained by combining two bits in parallel determined by the code length of the MH code/the number of upper "0"s is also 137. Therefore, for both black 0 and black 22, if the number of bit shifts is 10 or 11, the same address 137 will be generated, so the decoding run length number can be output from this address 137. Therefore, bit position D 7 in this 137 must also be set to "0", which is a mismatch code. For black 0, the bit generated when the number of shifts is 11 or more, and for black 22, it is generated when the number of shifts is 12 or more. The address using the pattern becomes the address for restoring the run length number. The number of shifts mentioned above is the upper “0” of the MH code
The addresses generated in this process do not match between the addresses generated by MH codes that differ only in the number of high-order "0s" and have the same lower-order bit pattern. address, the address has the desired
This is used to set the number of run lengths for decoding the MH code. [Embodiment] FIG. 2 is an explanatory diagram showing the configuration of an embodiment of the present invention using the above-mentioned principle. In the figure, the S/P shift register 11 is in the load mode of the serial load signal input to the S/L terminal every time one MH code is decoded, and the input sections H to A are initialized to "11111110". . The transmitted MH code data is controlled by the serial mode of the serial load signal and is serially loaded bit by bit into the serial input sections A to H of the S/P shift register 11, which operates in synchronization with the input clock (CLK). , the bit pattern of the S/P shift register 11 at that time is output from the 8-bit parallel output terminals OA to OH, and white, white, and
The white signal is branched to fixed memories (ROM) 12 and 13 for black decoding, and is input to the chip selector terminal CS.
Each ROM1 is selected by switching the black selection signal.
2 and 13 input terminals A0 to A7. The input signals A0-A7 correspond to bit positions A0-A7 of the register of FIGS. 1a and 1b. On the other hand, it is set in relation to the length of the MH code.
The input terminals A8 and A9 of the ROMs 12 and 13 are set by a logic circuit that receives an input (zero set signal) from a logic circuit (not shown) that detects the number of upper "0"s of the input MH code and an output from a counter 18, which will be described later. Set by. And output terminals O0 to O7 of ROM12 and 13
, the number of run lengths D 5 to D 0 shown in FIG. 1d,
Termination/make-up code classification
Output data consisting of the discrimination signals D 6 and code match/mismatch D 7 is obtained, the gate circuit 14 switches between white and black, and the counter circuit 15 counts the number of run lengths. Upon completion of this count, the decoding end signal is sent to the facsimile device.
Sent to CPU. Furthermore, the output end signals of the ROMs 12 and 13 are input to the input clock through the NOT circuit 17, and the flip-flop (FF) 1 operates on the falling edge of the input clock.
It is given as the output of 6. And this output is
It is applied when the code match signal from the output terminal 07 of the ROMs 12 and 13 is input to the other input terminal of the FF 16. That is, a signal indicating the code match from the ROMs 12 and 13 is output from the output terminal 07,
Until the ROM end signal appears from the FF16, the ROM12, whose address is the output from the S/P shift register 11 that operates in synchronization with the input clock,
Access to 13 is performed repeatedly. In order to generate a signal to be set at input terminal A9 in relation to the length of this MH code and a signal to be set at A8 according to the number of upper "0"s, the same input clock (CLK) applied to the S/P shift register 11 is generated. ) is placed in the counter 18 and counted. That is, after initially resetting the counter 18 and associated flip-flops (FF) 16, 19, 20, and 21 with reset signals 1, 2, and 3, synchronizing with the serial loading of MH code data to the S/P shift register 11, The input clock (CLK) is counted, and depending on the number of counts, 1, 2, 4, etc.
Outputs appear at output terminals Q A to Q D weighted by 8. In addition, this input individual MH code data is individually monitored by a CPU (not shown) on the facsimile side, and when the number of high-order "0"s is 4 consecutively, "1" is input as a zero set signal, which will be explained later. "1" is applied to one input terminal of the AND circuit 25. Then, the Q A to Q D outputs of the counter 18 are sent to the AND circuits 23, 24, FF19, 20, 2.
1. Through a logic circuit consisting of an AND circuit 25 and a NAND circuit 26, bit A in a and b in FIG.
8, this output corresponds to A9 to ROM12, 13
input as an address signal to the input terminal of the S/P
The outputs 0A to 0H of the shift register 11 are applied to the ROMs 12 and 13 together with the address inputs A7 to A0, and the run length numbers stored in the ROMs 12 and 13 are read out, and the output terminal 0 in this read data is applied to the ROMs 12 and 13.
While the code mismatch signal appears at 7, the MH code is serially loaded into the S/P shift register 11, access to the ROMs 12 and 13 is continued, and input clock counting is continued.
The number of decoded run lengths can be obtained by the appearance of the code match signal at the output terminal 07 of the ROM. This operation will be explained below with reference to FIG.
That is, the Q A , Q B , Q C , and Q D outputs of the counter 18 are weighted by 1, 2, 4, and 8, respectively, as shown in Figure a, and this 4-bit output is a count of the length of the input MH code. Becomes a value. Therefore, as shown in Figure b, the AND circuit 23 receives the Q A output (*
1), QC output 4 which outputs “1” while counting the length of the MH code as 4 to 7 bits or while counting 12 bits or more, and
Since the input is QD output 8 which outputs “1” after counting as bit or more, AND
The output of the circuit 23 is "0" until it counts the length of the MH code with 12 bits, becomes "1" when counting 12 bits, and then inverts to "0" again when the count advances to 13 bits. . Subsequently, the output A of this AND circuit 23 is FF19.
As shown in c in the same figure, its output ``L'' is inverted to ``0'' at the falling edge of the AND circuit 23 output ``I'' when the length of the MH code is counted from 12 bits to 13 bits, and this inversion AND the output RO
This is the other input of the circuit 25 (g in the figure). The output of this AND circuit 25 is supplied as either "0" or "1" to the input terminal A8 of the ROMs 12 and 13 in accordance with the zero set signal "0" and "1".
On the other hand, regarding FF20 and FF21, when black is being received, FF20 is forcibly reset, and when white is being received, FF21 is forcibly reset. Next, as shown in FIG. d, the counter 18 is
The Q C 4 output becomes “1” when the value counting the length of the MH code is between 4, 5, 6, and 7 (and 12 or more) and is supplied to the FF20, and the length of the MH code is 7.
After counting bits, when the count reaches 8 bits, the output of F20 is inverted to "0" due to the fall of the count, and becomes one input of the NAND circuit 26. In addition, as shown in the figure e, the counter 18
Put the Q D 8 outputs and Q B 2 outputs into the AND circuit 24,
MH code length count value is 10, 11, 1
4, 15, it outputs "1", and as shown in the figure f, this output is supplied to FF21 and MH
After counting the code length by 11 bits,
When counting up to 12 bits, the output of FF21 is inverted to "0" by the falling edge,
It becomes the other input of the NAND circuit 26. and,
The output of this NAND circuit 26 (h in the same figure) is ROM1
Either "0" or "1" is supplied to the input terminals A9 of Nos. 2 and 13. With the above configuration, the conditions shown in FIGS. 1a and 1b are satisfied. In other words, when the input MH code data corresponds to a white pixel, the length of the MH code is less than 13 bits, so the output RO of the FF19 remains "1" as shown in Figure 3c, and as shown in Figure 3c. When the MH code has four high-order "0"s like g, the zero set signal is supplied as "1", so the output of the AND circuit 25 also becomes "1" and is supplied to A8 of the ROM 12. Also, if there are 0 to 3 upper “0”s in the MH code, the zero set signal is supplied as “0”, so
The output of the AND circuit 25 becomes “0” and the ROM1
It is supplied to A8 of No. 2. On the other hand, when the input MH code data corresponds to a black pixel, when the length of the MH code is less than 13 bits, it is the same as in the case of white. If the length of the MH code is counted up to 13 bits, FF
Since the output 19 inverts and outputs "0", the output of the AND circuit 25 becomes "0" and is supplied to A8 of the ROM 13 regardless of the zero set signal. Next, the output of FF20 is as shown in figure d,
If the length of the MH code is 8 bits or more, it is “0”, so as shown in h of the figure, NAND with this as input
The output of the circuit 26 becomes “1” and the A of the ROM 12
9. Here, when the length of the MH code is 7 bits or less, the output of the FF 20 becomes "1" as shown in h of the figure, and the output of the NAND circuit 26 becomes "0" and is supplied to A9 of the ROM 12.
Also, the output ho of FF21 has a MH code length of 12
If it is more than a bit, it becomes "0", so the output of the NAND circuit 26 becomes "1" as shown in h of the figure.
It is supplied to A9 of the ROM13. [Effects of the Invention] In the present invention, the run length number corresponding to the MH code is summarized into 6 bits for each of termination/makeup, and a 1-bit flag indicating the division is used.
1 bit indicating match/mismatch of MH code decoding
The number corresponding to the MH code is stored in a fixed memory with a byte capacity, and regarding the transmitted variable length MH code,
If the code length of the MH code does not exceed 8 bits, there is a continuous "0" level between those 8 bits, and when it exceeds 8 bits, the code of 8 bits or less, and the upper 4 bits of the MH code. or not,
and the output of a logic circuit that determines whether the length of the MH code is greater than or equal to a predetermined bit length, and the bit pattern is used as an address to access the fixed memory directly and store it in the fixed memory in advance.
Since the purpose is to read the run length number corresponding to the MH code, it is complicated to compare the MH code stored in fixed memory and the input MH code for each bit input, as in the usual method. steps can be omitted. That is, a bit pattern is generated by combining a code of 8 bits or less of the input MH code with a predetermined initial value, and a logic circuit is created in which white and black conditions related to the length of the MH code are set in advance. The output is combined with the above bit pattern and used as an address to access the fixed memory. This simplifies the procedure and reduces the fixed memory capacity to about 1K bytes, making it possible to efficiently decode the number of run lengths.

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

第1図a〜dは本発明の原理説明図、第2図は
本発明の実施例の構成を示す説明図、第3図a〜
hは動作説明図であり、図中、11はS/Pシフ
トレジスタ、12,13は固定メモリ(ROM)、
14はゲート回路、15はカウンタ回路、16,
19,20,21はフリツプフロツプ、17,2
2はNOT回路、18はカウンタ、23,24,
25はAND回路、26はNAND回路を示す。
Figures 1 a to d are explanatory diagrams of the principle of the present invention, Figure 2 is an explanatory diagram showing the configuration of an embodiment of the present invention, and Figures 3 a to 3
h is an operation explanatory diagram, in which 11 is an S/P shift register, 12 and 13 are fixed memories (ROM),
14 is a gate circuit, 15 is a counter circuit, 16,
19, 20, 21 are flip-flops, 17, 2
2 is a NOT circuit, 18 is a counter, 23, 24,
25 is an AND circuit, and 26 is a NAND circuit.

Claims (1)

【特許請求の範囲】 1 モデイフアイドハフマン(MH)方式で符号
化された可変長なMH符号を画信号情報に復号化
する方式において、 所定の直列コードに該MH符号を直列接続した
ビツトパターンを形成し、該ビツトパターンから
該MH符号を形成する最大符号長より短い所定ビ
ツト数の直列コード部分を選択的に並列出力する
手段と、 入力された前記MH符号の上位ビツトの連続す
る“0”レベルの個数が所定個数未満と所定個数
ある時とで反転したビツト符号が入力され、前記
MH符号の長さを計数しながら予め定めたビツト
長を基準に、計数値に応じて出力されるビツト符
号を出力する手段と、 アクセスされたアドレスから復号すべきランレ
ングス数を出力すべきか否かを定める一致符号ま
たは不一致符号を格納した符号部を備えるととも
に復号すべきランレングス数を記憶したメモリと
を有し、 前記入力されるMH符号のコード長の計数に同
期して前記ビツトパターンからの選択部分を定め
て出力した所定ビツト数の直列コードと、計数値
に応じて出力されたビツト符号との並列出力でア
クセスして該メモリの内容を読出し、前記符号部
からの出力が符号一致を示しているときに当該
MH符号に対応するランレングス数を復号化する
ことを特徴とする画信号復号化方式。
[Claims] 1. In a method for decoding a variable length MH code encoded by the Modified Huffman (MH) method into image signal information, a bit pattern in which the MH code is serially connected to a predetermined serial code. means for selectively outputting in parallel serial code portions having a predetermined number of bits shorter than the maximum code length forming the MH code from the bit pattern; "When the number of levels is less than a predetermined number and when there is a predetermined number, the inverted bit code is input, and
A means for outputting a bit code according to the counted value based on a predetermined bit length while counting the length of the MH code, and whether or not the number of run lengths to be decoded from the accessed address should be output. It has a code section storing a matching code or a mismatching code that determines whether the MH code is the same, and a memory storing the number of run lengths to be decoded. The contents of the memory are accessed by parallel output of a serial code of a predetermined number of bits outputted by determining the selected part of the bit code outputted according to the count value, and the output from the code part matches the code. The relevant
An image signal decoding method characterized by decoding a run length number corresponding to an MH code.
JP14295579A 1979-11-05 1979-11-05 Picture signal decoding system Granted JPS5666972A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14295579A JPS5666972A (en) 1979-11-05 1979-11-05 Picture signal decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14295579A JPS5666972A (en) 1979-11-05 1979-11-05 Picture signal decoding system

Publications (2)

Publication Number Publication Date
JPS5666972A JPS5666972A (en) 1981-06-05
JPH0116071B2 true JPH0116071B2 (en) 1989-03-22

Family

ID=15327534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14295579A Granted JPS5666972A (en) 1979-11-05 1979-11-05 Picture signal decoding system

Country Status (1)

Country Link
JP (1) JPS5666972A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1155650B (en) * 1982-03-19 1987-01-28 Olivetti & Co Spa METHOD AND EQUIPMENT FOR COMPRESSION AND DECOMPRESSION OF DIGITAL IMAGE INFORMATION
JPS61265927A (en) * 1985-05-20 1986-11-25 Casio Comput Co Ltd Variable length code analyzing method and its device
JP2624843B2 (en) * 1989-07-19 1997-06-25 株式会社日立製作所 Encoding device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4921747A (en) * 1972-06-21 1974-02-26

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4921747A (en) * 1972-06-21 1974-02-26

Also Published As

Publication number Publication date
JPS5666972A (en) 1981-06-05

Similar Documents

Publication Publication Date Title
EP0030437B1 (en) Method and apparatus for compression and decompression of digital image data
US4454546A (en) Band compression device for shaded image
US5033105A (en) Video compression algorithm
US4044347A (en) Variable-length to fixed-length conversion of minimum-redundancy codes
US4646148A (en) Process of compressing a succession of digital data and device for carrying out the same
JPS6223504B2 (en)
US5304995A (en) Variable lengthcoding apparatus and variable length decoding apparatus
US5706001A (en) Run-length decoding apparatus for use in a video signal decoding system
US4809081A (en) Method and apparatus for decompressing encoded data
JP3453452B2 (en) Decryption device
JP4057650B2 (en) Sliding window data compression system with large gap
JPH0424907B2 (en)
US5067023A (en) Image data coding apparatus
US5309156A (en) Variable-length code decoding device
US3984833A (en) Apparatus for encoding extended run-length codes
JPH0116071B2 (en)
JPH04270564A (en) Serial picture data compression system having color information
US5091910A (en) Information processing device
CA1336015C (en) Video compression algorithm
US6028962A (en) System and method for variable encoding based on image content
EP0499225B1 (en) Variable-length code decoding device
EP0341272B1 (en) System for producing pixel image data from ccitt encoded pixel data
JPH0255987B2 (en)
JPH0377708B2 (en)
KR950005050B1 (en) Code generator