JPS63227276A - 圧縮伸長処理装置 - Google Patents

圧縮伸長処理装置

Info

Publication number
JPS63227276A
JPS63227276A JP62061982A JP6198287A JPS63227276A JP S63227276 A JPS63227276 A JP S63227276A JP 62061982 A JP62061982 A JP 62061982A JP 6198287 A JP6198287 A JP 6198287A JP S63227276 A JPS63227276 A JP S63227276A
Authority
JP
Japan
Prior art keywords
data
reference line
code
processing
input
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.)
Pending
Application number
JP62061982A
Other languages
English (en)
Inventor
Shigekazu Sumita
住田 重和
Fumitaka Sato
文孝 佐藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP62061982A priority Critical patent/JPS63227276A/ja
Publication of JPS63227276A publication Critical patent/JPS63227276A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、コードデータをイメージデータに伸長し、イ
メージデータをコードデータに圧縮する圧縮伸長処理装
置に関し、特に、伸長処理および圧縮処理をパラレルに
バイブライン処理することができ、LSI化したときチ
ップ面積を減少させることができる圧縮伸長処理装置に
関する。
(従来の技術) 211データを圧縮伸長処理する方式としては、ファク
シミリ用にMH方式、MR方式、およびMMRMR方式
の符号か方式を使用することがCCITT(国際電信電
話諮問委員会)によって勧告され、国際的に標準化され
、広く認められている。
こらの方式による2値データの圧縮伸長処理装置は、従
来一般に汎用マイクロコンピュータを使用してソフトウ
ェア的に逐次処理により行われていた。このような処理
においては、データ伝送速度が制限されているファクシ
ミリとして使用することには問題がない。しかしながら
、コンピュータシステムのワークステーションにイメー
ジデータを表示するために、前述のような方法を用いよ
うとすると、動作速度が大幅に落ち、良好なマン・マシ
ン・インターフェイスを実現できなかった。
このような問題を解決するために、一般に広く利用され
ている方法は並行処理、先回り処理、バイブライン処理
である。ところが、まだ望まれる速度には達していない
また、ユーザーによる小型軽量化の要望によりLSI化
が図られているが、まだ十分ではない。
一方、汎用性を増すことが同時に望まれている。
しかしながら、汎用性を増すことは、チップ面積の増加
となり問題がある。
(発明が解決しようとする問題点) 本発明は、上記事情に鑑みてなされたもので、伸長処理
および圧縮処理をパラレルにバイブライン処理すること
ができ、LSI化したときチップ面積を減少させること
ができる圧縮伸長処理装置を提供することを目的とする
[発明の構成] (WR題を解決するための手段と作用)−本発明による
圧縮伸長処理装置は、伸長処理モードでは、入力データ
バスを介してコードデータを予め決められた長さずつ順
番に入力し、入力されたコードデータ中の着目コードブ
ロックに対応するランレングスデータを発生するために
、入力される第1の制御データと着目解読処理単位を含
むコードデータとに従って着目解読処理単位を解読し、
および圧縮処理モードでは、入力データバスを介してイ
メージデータを予め決められた長さずつ順番に入力し、
入力されたイメージデータを次ぎの処理ラインのために
参照ラインバッファメモリに格納し、入力される第1と
第2の制御データに従って、入力されるaOポインタデ
ータに基づいて処理ライン上の81点を検出するための
解読処理手段と、および、伸長処理モードにおいて、前
記参照、ラインバッファメモリから現在の処理ラインに
対する参照ラインデータを読み出し、aOポインタデー
タに基づいて読み出された参照ラインデータからb1点
を検出し、前記解読処理手段によって発生されたランレ
ングスデータと検出されたb1点に従って、ランレング
スデータに対応するイメージデータを生成し、aOポイ
ンタデータを生成終了ビット位置に従って更新し、生成
されたイメージデータを次ぎの処理ラインのための参照
ラインデータとして前記参照ラインバッファメモリに出
力し、また、出力データバスを介して外部装置に出力し
、および、圧縮処理モードにおいて、aOポインタデー
タを前記解読処理手段に出力し、現在の処理ラインのた
めの参照ラインデータを前記参照ラインバッファメモリ
から読み出し、aOポインタデータに基づいて、読み出
された参照ラインデータからb1点を検出し、検出され
たb1点と81点との間のビット数に従って、読み出さ
れたイメージデータを参照して、前記解読処理手段に入
力されたイメージデータに対応するコードデータを生成
し、aOポインタデータを生成終了ビット位2に従って
更新し、生成されたコードデータを出力データバスを介
して外部装置に出力するための生成処理手段とを具備す
る。
従って、解読処理手段を圧縮処理の場合にはa1点検出
回路として使用しているので、81点検出のための回路
を省略することができる。それでいながら、装置全体と
してのパイプライン処理を実現している。
また、その装置の前記生成処理手段は、b1点が検出さ
れて81点が検出されないとき、aOポインタデータに
よって示されるビット位置とb1点のビット位置との差
のデータを前記解読処理手段に出力し、aOポインタデ
ータをb1点のビット位置まで進め、前記解読処理手段
は、81点が検出されたとき、予め決められた長さを単
位としてb1点から数えて予め決められた長さ未満の部
分のデータと、前記生成処理手段から入力された差のデ
ータとを加算し、加算結果を前記前記生成処理手段に出
力する。
前記生成処理手段は、aOポインタデータによって示さ
れるビット位置から予め決められた長さの参照ラインデ
ータ中にb1点を検出するように動作する。従って、圧
縮処理モードでバイト単位の処理実行するための圧縮速
度を向上させることもできる。
また、本発明による圧縮伸長処理装置は、参照ラインデ
ータを格納するための参照ラインバッファメモリと、入
力される参照ラインデータを前記参照ラインバッファメ
モリに書込み、処理ラインの参照ラインデータを前記参
照ラインバッファメモリから読み出して出力するバッフ
ァメモリ制御手段と、伸長処理モードでは、入力データ
バスを介してコードデータを予め決められた長さずつ順
番に入力し、入力されたコードデータ中の着目コードブ
ロックに対応するランレングスデータを発生するために
、入力される第1の制御データと着目解読処理単位を含
むコードデータとに従って着目解読処理単位を解読し、
および圧縮!13N!モードでは、入力データバスを介
してイメージデータを予め決められた長さずつ順番に入
力し、入力されたイメージデータを次ぎり処理ラインの
ために前記バッファメモリ制御手段に出力し、入力され
る第1と第2の制御データに従って、入力されるaOポ
インタデータに基づいて処理ライン上の81点を検出す
るための解読処理手段と、および、伸長処環モー下にお
いて、前記バッファメモリ制御手段からの参照ラインデ
ータを入力し、aOポインタデータに基づいて入力され
た参照ラインデータからb1点を検出し、前記解読処理
手段によって発生されたランレングスデータと検出され
たb1点に従って、ランレングスデータに対応するイメ
ージデータを生成し、aOポインタデータを生成終了ビ
ット位置に従って更新し、生成されたイメージデータを
次ぎの処理ラインのための参照ラインデータとして前記
バッファメモリl111手段に出力し、また、出力デー
タバスを介して外部装置に出力し、および、圧縮処理モ
ードにおいて、aOポインタデータを前記解読処理手段
に出力し、現在の処理ラインのための参照ラインデータ
を前記バッファメモリ制御手段から入力し、aOポイン
タデータに基づいて、読み出された参照ラインデータか
らb1点を検出し、検出されたb1点と81点との間の
ビット数に従って、読み出されたイメージデータを参照
して、前記解読処理手段に入力されたイメージデータに
対応するコードデータを生成し、aOポインタデータを
生成終了ビット位置に従って更新し、生成されたコード
データを出力データバスを介して外部装置に出力するた
めの生成処理手段とを具備する。
前記バッファメモリ制御手段は、前記参照ラインバッフ
ァメモリがスタティックRAMのとき、参照ラインバッ
ファメモリアドレスラインを介してアドレスデータを出
力し、参照ラインデータバスを介して前記参照ラインバ
ッファメモリと参照ラインデータを交換し、前記参照ラ
インバッファメモリがファーストインファーストアウト
タイプのメモリのとき、参照ラインバッファメモリアド
レスラインを介して参照ラインデータを出力し、参照ラ
インデータバスを介して前記参照ラインバッファメモリ
から参照ラインデータを入力する。
従って、参照ラインデータを格納するための参照ライン
バッファメモリとしてスタティックメモリもFIFOメ
モリも使用することができ、汎用性が高い。しかもFI
FOメモリも使用する場合には、アドレスバスをデータ
出力のためのデータバスとして使用するので、チップ面
積を増加させないで済む。
また、本発明による圧縮伸長処理装置は、1ライン分の
参照ラインデータを格納することができる第1のFIF
Oメモリと、1ライン分の参照ラインデータを格納する
ことができる第2のFIFOメモリと、参照ラインデー
タを前記第1のFIFOメモリあるいは前記第2のFI
FOメモリに書込み、あるいは前記第1のFIFOメモ
リあるいは前記第2のFIFOメモリから参照ラインデ
ータを読み出すために、メモリ制御信号を出力して前記
第1のFIFOメモリと前記第2のFIFOメモリをア
クセスする制御手段と、および前記制御手段からのメモ
リ制御信号に従って、1ライン分の処理が終了するまで
、前記第1のFIFOメモリあるいは前記第2のFIF
Oメモリの一方に参照ラインデータを書込み、他方から
参照ラインデータを読み出すように前記第1のFIFO
メモリと前記第2のFIFOメモリを制御するための制
御信号分配手段とを具備することを特徴とする。
前記IIJ御手投手段エラーが発生したとき、処理ライ
ンの前のラインのイメージデータを参照ラインデータと
して読み出すようにメモリ11111信号を出力する。
これにより、参照ラインメモリとしてFIFOメモリを
ダブルバッファ方式で使用することができる。
(実施例) 以下に、本発明による圧縮伸長処理装置について、添附
図面を参照して詳細に説明する。
最初に第1図から第10図を参照して、本発明による圧
縮伸長処理装置の一実施例の構成を説明する。
最初に第1因を参照して、本発明の一実施例の圧縮伸長
処理装置の回路ブロックについて説明する。
その実施例は、集積回路(LSI)に組込まれた圧縮伸
長処理部2と圧縮伸長処理副部部4と、および、そのL
SIに接続され、参照ラインデータを格納するための参
照ラインバッフ戸メモリ6とからなる。
圧縮伸長処理部2は、入力される2値データにパイプラ
イン処理を施して圧縮処理あるいは伸長処理を行なう。
圧縮伸長処理部2は、解読処理部12と、生成処理部1
4と、および、バッファメモリill 111部16と
からなる。解読処理部12は、伸長処理モードでは入力
されるコードデータの解読処理を行ない、圧縮処理モー
ドでは80点を検出するように動作する。生成処理部1
4は、伸長処理モードでは解読処理部12での解読結果
に基づいてイメージデータを生成し、圧縮処理モードで
は検出された80点に基づいてコードデータを生成する
。バッファメモリ制御部16は、参照ラインバッファメ
モリ8をアクセスして参照ラインデータを書込み、ある
いは読み出し1、また生成処理がラインの終端まで進行
したか否かを判定する。
生成処理部14は、生成結合部18とb1検出部19か
らなる。生成結合部18は、カウンタ部30と、変換部
32と、および結合部34とからなる。カウンタ部30
は、伸長処理モードでは解読処理部12によって解読さ
れたランレングスデータを保持し、圧縮処理モードでは
ランレングスをカウントする。変換部32は、カウンタ
部30あるいは後述するランレングス算出部38からの
ランレングスデータ等に従ってイメージデータあるいは
コードデータを結合データとして発生する。結合部34
は、発生された結合データをつぎつぎと結合して所望さ
れる2値データを生成する。
b1検出部19は、色変化点検出部36と、およびラン
レングス算出部38とからなる。色変化点検出部36は
、参照ラインバッファメモリ6から読み出された参照ラ
インデータに基づいて参照ラインデータ中にb1点を検
出する。ランレングス算出部38は、伸長処理モードで
は1次元コードデータに対する1バイト長以上のランレ
ングスデータ以外のランレングスデータの生成されるべ
きイメージデータの長さを算出し、圧縮処理モードでは
2次元符号化のときのb1点と81点の差に対応するデ
ータを算出する。
また、バッファメモリ制御部16は、アドレス部40と
、データ入出力部42と、およびライン終端検出部44
とからなる。ライン終端検出部44は、処理に先立ち1
ライン分のランレングスデータを受取って保持し、現在
生成処理が進行したバイト位置を検出する。このように
して、ラインの終端を検出する。アドレス部40は、着
目バイトブロックに関連するイメージデータが格納され
ている参照ラインバッファメモリ6のアドレスを、ライ
ン終端検出部44からの検出された現在生成処理が進行
したバイト位置に基づいて決定し、また、次ぎの処理ラ
インのための参照ラインデータを格納するためのアドレ
スを検出されたバイト位置に基づいて決定する。決定さ
れたアドレスを参照ラインバッファメモリ6に出力する
。このアドレス部40は、参照ラインバッファメモリ6
としてスタティックRAMが使用されるとき必要である
。ファーストインファーストアウト(FIFO)メモリ
が使用されるときは、アドレス部40は必要なくなり、
圧縮伸長処理制御部4にリード/ライトモードの制御す
る回路部分が必要となる。データ入出力部42は、伸長
処理モードでは生成結合部18からのイメージデータを
、また圧縮処理モードでは解読処理部12からのイメー
ジデータを、アドレス部40によって指定される参照ラ
インバッファメモリ6のアドレスに格納し、現在の処理
ラインの参照ラインデータをアドレス部40のよって指
定される参照ラインバッファメモリ6のアドレスから読
み出す。
圧縮伸長処理制御部4は、メインシーケンサ7と、解読
処理部サブシーケンサ8と、および生成処理部サブシー
ケンサ9とからなる。メインシーケンサ7は、LSI内
部の構成物の全体をII IOL 。
また、図示されない外部制御装置とコマンド/ステータ
スを交換する。その内部には、処理されるラインが1次
元であるか2次元であるかを示すためのタグフリップ7
0ツブ(TAGフリップフロップ、図示せず)と、処理
されるランの色が白か黒かを示す色制御フリップ70ツ
ブ(FBLKDフリップフロップ、図示せず)等のフリ
ップフロップを内蔵する。解読処理部サブシーケンサ8
は、解読処理部12の動作を制御する。また、生成処理
部サブシーケンサ9は、生成処理部14の動作を制御す
る。
以下に、各部の構成を詳細に説明する。
最初に第2図を参照して、解読処理部12の構成を詳細
に説明する。
2値データRD、 I N0O−07がデータA1とし
て解読処理部12にバイト単位で入力される。このデー
タRD I N0O−07は、伸長処理モードではコー
ドデータであり、非圧縮処理モードと圧縮処理モードで
はイメージデータである。レジスタRDT1102は、
3バイトのデータ長を有するレジスタである。レジスタ
RDT1102は、制御部4からの制御信号に従って、
保持されているデータを、データRDTIO8−15が
データRD T I 00−07となるように、またデ
ータRD T I 16−23がデータRDTI08−
15となるようにバイト単位でLSB方向く左方向)に
シフトする。その後、データRDINOO−07をデー
タRD T I 16−23としてラッチする。圧縮処
理モードでは、保持されているデータRD T I 0
0−07は、次どの圧縮処理ラインのための参照ライン
データとして使用するために、データA2としてバッフ
ァメモリ制御部16を介して参照ラインバッファメモリ
6に格納される。データRD T I 09−23はフ
ッネルシフタ104に出力される。
フッネルシフタ104には、解読ポインタ用のレジスタ
RBPP116から解読ポインタデータRBPPO2−
00が出力されている。フッネルシフタ104は、解読
ポインタデータRB P PO2−00に従って選択さ
れた1バイトのデータ5HTDOO−07を出力する。
例えば、レジスタ116からの解読ポインタデータRB
 P PO2−00が“3″ (011)であるとき、
フッネルシフタ104に入力されるデータRD T I
 09−23のうち12−19ビット部分が選択され、
データ5HTDOO−07として出力されるレジスタR
DT1102とフッネルシフタ104とは処理データの
選択回路として働く。
フッネルシフタ104から出力されるデータSHT D
 00−07は、色反転回路106に供給される。色反
転回路106は8個のイクスクルーシブオアゲート(図
示せず)からなる。各イクスクルーシブオアゲートの一
方の入力端子にはtfila部4からの色制御データM
1が供給されている。その他方の入力端子には、それぞ
れフッネルシフタ104からのデータ5HTDOO−0
7のビットデータが供給されている。このようにして、
色反転回路106は、制御部4からの色制御信号M1に
従って、伸長処理モードと非圧縮処理モードでは、入力
されるデータ5HTDOO−07を素通しし、圧縮処理
モードでは、入力されるイメージデータの色を、色変化
の方向が白から黒の方向に統一されるように反転する。
色反転回路106から出力されるデータDTIS00−
07は、データA3として変換部32に供給されると共
に、セレクタ110とマスクゲート108に供給される
マスクゲート108は、入力データDTISOO−〇7
に従って、マスクデータを発生する。マスクゲート10
8は、デコーダROM112で使用される記憶領域を削
減するために、解読データのうち意味のない部分に所定
の数のビットデータを発生する。
マスクデータはセレクタ110に供給される。
セレクタ110にはデータRD S QO4−02が制
御I!14からデータM3として供給されている。この
データRD S QO4−02は、伸長処理モードと非
圧縮処理モードではデコーダROM 112において次
ぎに参照されるべきテーブルを指定するための制御デー
タであり、圧縮処理モードでは(111)である。セレ
クタ110には、また制御部4からデータD N D 
POO−07がデータM2として供給されている。この
データD N D POO−07は通常は[00]であ
る。圧縮処理モードの処理ラインの終端において、終端
ランの右側に仮想の変化点を補うために、データD N
 D POO−07は終端ランの右側の1ビツトだけが
“1″となる。
伸長処理モードでは、色反転回路106からのデータD
 T I 800−07とマスクゲート108からのマ
スクデータとから合成されたデータと、データR[)S
QO4−02とからアドレスデータD RM A 10
−00が形成され、デコーダROM112に供給される
圧縮処理モードでは、合成されたデータはさらにデータ
D N D POO−07と論理和がとられ、データR
DSQO4−02と共にアドレスデータDRMAIO−
〇〇としてデコーダROM 112に供給される。マス
クゲート108とセレクタ110は解読アドレス発生回
路として働く。
デコーダROM 112は、複数のテーブルを有してい
て、入力されるアドレスデータD RM A 10−0
0に従って、12ビツトのデータDROM11−00を
出力する。デコーダROM 112に含まれるテーブル
は、白ラン1次元コードを解読するための1次元白1コ
ードテーブル(白A)と1次元白2コードテーブル(白
B)と、黒ラン1次元コードを解読するための1次元黒
1コードテーブル(黒A)と1次元黒2コードテーブル
(黒B)と1次元黒3コードテーブル(黒C)と、垂直
モードコードとパスモードコードと水平モードの冨別コ
ードを解読するための2次元コードテーブルと、非圧縮
モード終了コードを含む非圧縮モードコードとフィルス
キップコードを解読するための非圧縮モードコードテー
ブルと、および、伸長処理モードでEOLコードを解読
し、圧縮処理モードでイメージデータを解読するための
特殊コードテーブルである。
テーブル白A1白B1あるいは2次元コードテーブルと
テーブル黒Bとにより非圧縮モード開始コードとフィル
スキップコードも解読されることができる。特殊コード
テーブルはページの始まりで、EOLコードを解読する
ためにも使用される。
データDROMO5−00には、データA5として、伸
長処理モードと非圧縮処理モードでは解読されたコード
データのランレングスが出力され、圧縮モードでは入力
されたイメージデータの1バイト未満のランレングスが
出力される。データDROMO5−00は、伸長モード
と非圧縮モードではカウンタ部30に出力され、圧縮モ
ードではランレングス算出部38に出力される。
データDROMO8−06には、データA7として、伸
長処理モードと非圧縮処理モードでは((解読されたコ
ードデータ)−1)を示すデータが出力され、圧縮処理
モードでは((処理されたイメージデータ)−1)を示
すデータが出力される。データDROMO8−06は、
加算器122に出力されると共に、圧縮処理モードでは
色変化点検出部36に出力される。
データDROM11−09には、データA4として、次
の状態を指定するための次状態データが出力さレル。デ
ータDROM11−09とビットDROMO5とは、圧
縮処理モードでは、使用されない。
レジスタRP1L119には、セレクタ118を介して
、制御部4からデータM4が供給されている。
圧縮処理モードにおいて、例えば、81点が検出されず
にb1点が検出されたとき、装置はバステストにはいる
。そのとき(bl−aO)に相当するデータM4がセレ
クタ108に入力され、−4される。その計算結果がレ
ジスタRP1L118に保持される。
このレジスタRP1L119は、圧縮処理モードにおい
て使用され、伸長処理モードおよび非圧縮処理モードで
は使用されない。レジスタRP1 L118に保持され
ているデータRP I LO2−00はセレクタ120
に供給される。
セレクタ120には、レジスタRB P P 116か
らデータRB P POO−02も供給されている。セ
レクタ120は、制御部10からのill tll信号
に従って、伸長処理モードではRB P PO2−00
を選択し、圧縮処理モードでバステストが実行されると
きにはデータRP 1 LO2−00を選択する。選択
されたデータRB I LO2−00は加算器122に
出力される。
加算器112には、デコーダROM 112からのデー
タDROMO6−08と、セレクタ120からのデータ
RB I LO2−00が供給されていて、それらのデ
ータが加算される。その加算結果にさらに1が加算され
、最終的な加算結果A B P PO3−00が得られ
る。即ち、次式 %式% が、加算器122で求められる。加算結果ABPP02
−00は、セレクタ114に供給される。また、圧縮処
理モードでバステストが実行された結果、1次元符号化
を行なうことになったときは、データABPPO2−0
0は、データA6として変換部32に供給される。デ〜
りA B P PO3−00の第3ビットABPPO3
が、41″であるときは、1バイト分の2値データの解
読処理が終了したことを意味し、データ八6によって制
御部4に知らされる。これにより、レジスタRDT11
02に保持されているデータは、バイト単位でシフトさ
れ、新しいバイトデータA1がRDT116−23とし
てラッチされる。
セレクタ114には、加算器122からのデータA3p
p02−00の外に、データE3としてデータDBPA
O2−00が供給されている。セレクタ114は、11
J 111部4からのIIJ ill信号に従って、伸
長処理モードではデータA B P PO2−00を選
択し、圧縮処理モードではデータDBPAO2−00を
選択する。但し、伸長処理モードでも、初期値を設定す
るときはデータDBPAO2−00を選択する。セレク
タ114からの出力はレジスタRBPP116に入力さ
れて保持される。レジスタRBPP116は、保持され
ているデータRB P PO2−00をセレクタ120
に出力すると共に、バレルシフタ104に解読ポインタ
データとして出力する。セレクタ114と、レジスタR
BPP11eと、加算器122よりなる回路は解読ポイ
ンタデータ保持回路として働く。
次ぎに第3図を参照して、カウンタ部30の構成につい
て説明する。
セレクタ124には、デコーダROM 112からのデ
ータA5と、加算器130からの出力データANLCO
8−00と、カウンタRNLC1,26からの出力の一
部RN L CO2−00が入力されている。また、デ
ータ“2556”が予めセットされている。制御部4か
らの制御信号に従って、それらの入力データから出力デ
ータDNLC11−00が選択される。
すなわち、伸長処理モードにおいて、メイクアップコー
ドが解読されたときは、11−06ビツト部分にデータ
DROMO5−00がセットされ、os−ooビット部
分に“0″がセットされたデータDNLC11−00が
選択される。ターミネイトコードが解読されたときには
、11−06ビツト部分にデータ″O”′がセットされ
、os−ooビット部分にデータDROM05−00が
セットされたデータDNLC11−00が選択される。
解読結果に従って、イメージデータが生成されていると
きは、11−03ビット部分に加算器130の出力AN
LCO8−00がセットされ、02−〇〇ビット部分に
データRN L CO2−00がセットされたデータD
NLC11−00が選択される。さらに、圧縮処理モー
ドでは、データ“2556″(10001111111
00)がデータ0NLC11−00として選択される。
データD N L C11−00はレジスタRNLC1
26にラッチされる。データRNLC11−00のうち
データRN L CO3−00はデータB3としてラン
レングス算出部38に出力される。データB3のうちデ
ータRN L CO2−00はセレクタ124に戻され
る。
1バイト分のイメージデータが生成されたとき、制御部
4からの制御信号に従って、データRNLC11−03
は加算器130に出力され、データ“−1パと加算され
、すなわち、“1”だけ引算される。
加算結果ANLCO8−00は、セレクタ124に戻さ
れると同時に、データB2としてセレクタ14Gに出力
される。データRN L C11−03はコンパレータ
128に出力される。コンパレータ128の他の端子に
はデータ“O” (000000000)が入力されて
おり、データRN L C11−03はデータ″0パと
比較される。これにより伸長処理モードにおいて、バイ
ト単位でのイメージデータの生成処理が終了したかどう
かが判定される。データRNLC11−03が“0”と
等しくなったとき、そのことがデータB4によって制御
部4に知らされる。セレクタ124とレジスタ126と
加算器130とからなる回路はカウンタ回路として働く
セレクタ132、レジスタ134、加算器136、セレ
クタ138、レジスタ1401引篩器142、コンパレ
ータ144からなる回路は、圧縮処理モードにおいての
み使用される。水平モードの符号化が行われるとき、制
御部4からの制御信号に従って、セレクタ132は予め
セットされたデータ(000)を選択してレジスタRN
U0134に出力する。同じ色のランをカウントした結
果ランレングスが2560ビツトより長いとき、すなわ
ち、コンパレータ128からデータB4が制御部4に出
力されたとき、レジスタRNUC134に保持されたデ
ータRNUCO2−00は加算器136により1だけ加
算される。加算結果は再びセレクタ132で選択されて
レジスタRNLIC134に保持される。同じ色のラン
が終了したとき、データRN U CO2−00はセレ
クタ138に供給される。
セレクタ138は入力されたデータRNUCO2−00
を選択してレジスタRNUG140に出力する。
レジスタRN LJ G 140は、 2560ビット
分のランレングスに対するコードが発生される毎にデー
タRNUG02−00を出力する。データRN(JGO
2−00は引算器142によって1だけデクリメントさ
れ、セレクタ138によって選択されて、再びレジスタ
140に保持される。レジスタRNUG140から出力
されるデータRN U CO2−00はまた、コンパレ
ータ144に出力され、“0″となったかどうか調べら
れる。データRN LJ CO2−00が“0″ならば
、メイクアップコードの生成処理が終了したことを意味
する。
次に第4図を参照して、変換部32の構成について説明
する。
セレクタ146とレジスアRNLG148とコンパレー
タ150とセレクタ156とからなる回路は圧縮処理モ
ードで1次元コードを発生するための、およびセレクタ
152とレジスタ154とセレクタ156とからなる回
路は、圧縮処理モードで2次元コードを発生するための
生成アドレス発生回路として働く。
セレクタ14Gの11−03ビット部分には、データB
2としてデータA N L C08−00が入力され、
また02−00ビット部分には、データA6としてデー
タA B P PO2−00が入力される。それらのデ
ータは、レジスタRNLG148にデータRNLG11
−OOとしてラッチされる。データRN L G11−
06は、コンパレータ150に出力される。コンパレー
タ150には、また、データ(100111)が供給さ
れている。データRNLG11−06がデータ“100
111″と等しいとき、データC2によって制御部4に
知らされる。これはカウントされたランレングスが64
ビツト以下であること、すなわち、生成されるべきコー
ドがターミネイトコードであることを意味する。レジス
タRNLG148からは、データRNLGII−06と
データRNLGos−ooがセレクタ156に供給され
る。
セレクタ152には、データF2としてデータADLT
O2−00がランレングス算出部38から供給されてお
り、また、データM5としてデータEGC[) 03−
00が制御部4から供給されている。データEGCDO
3−00に対しては、第4ピツトデータとしてデータ(
1)がセットされ、データADLT02−00に対して
は第4ビツトと第3ビツトデータとしてはデータ(01
)がセットされている。圧縮処理モードで垂直モードコ
ードが生成されるべきときは、データ(01) ADL
TO2−00が選択され、水平モードの識別コードある
いはEOLコード等特殊なコードが発生されるべきとき
にはデータ(1)EGCDO3−00が選択される。選
択されたデータはデータDGCDO4−00としてレジ
スタRG CD 154に出力される。レジスタRGC
D154は、入力されるデータD G CD 04−0
0を保持し、データRGCDO4−00としてセレクタ
156に出力する。
セレクタ15Gには、制御部4の7リツプフロツブFB
LKDからの、色を指定するためのビットデータDBL
KがデータM6として、また、圧縮処理の回数を示すビ
ットデータF2NGがデータM8として供給されている
。データDBLKは白を指定するとき(0)であり、黒
を指定するとき(1)である。データF2NGは、生成
されるべきコードの1回目の処理ステップでは(0)で
あり、2回目の処理ステップのときは(1)となる。
入力されるデータRN L CO5−00に対しては第
7ピツトデータとして(0)がセットされていて、入力
されるデータRNLG11−06に対しては第7ピツト
データとして(1)がセットされている。
また、入力されるデータRGCDO4−00に対しては
第6ビツトデータと第7ピツトデータとして(11)が
セットされている。
従って、メイクアップコードの生成処理ステップではデ
ータ(DBLK)(1)RNLGll−06(F2NG
)が選択される。ターミネイトコードの生成処理ステッ
プではデータ(DBLK)(0)RNLGO5−00(
F2NG)が選択される。また、それ以外のコードが生
成されるべきときはデータ(DBLK)(11)RGC
DO4−00(F2NG)が選択される。選択されたデ
ータは、9ビツトのアドレスデータERMAO8−00
としてエンコーダROM 158に出力される。
エンコーダROM 158は、アドレスデータERMA
08−OOを入力して、データFROM10−00を出
力する。データEROMO7−00部分には、符号化コ
ードが出力され、セレクタ160に供給される。
データFROMIO−08部分には、データFROM0
7−00として出力された符号化コードの長さが、“−
1″された形でデータC3として出力される。
レジスタRPAT162は8ビツトのデータ長を有し、
解読処理部12からデータA2を入力してセレクタ16
0に出力する。このレジスタ162は非圧縮処理モード
の時と、ビットシフトモードの時使用される。
セレクタ160には、レジスタRPAT162からのデ
ータRPATO7−00と、色変化点検出部36からの
データDREN10−03と、および、エンコーダRO
M 158からのデータFROMO7−00が供給され
ている。また、データ(11111111)とデータ(
oooo  oooo )がセットされている。
伸長処理モードでは、613111部4のフリップフロ
ップFBLKDによって現在指定されている色に従って
、データ(11111111)あるいはデータ(000
00000)が選択される。圧縮処理モードでは、デー
タFROMO7−00が選択される。非圧縮処理モード
、およびビットシフトモードでは、データRPATO7
−00が選択される。エラー処理モードではデータD 
RE N 10−03が選択される。セレクタ160は
、制御部4からのill 10信号に従って選択された
データECDPO7−00をデータC1として出力する
次ぎに第5図を参照して、結合部34の構成について説
明する。
セレクタ160から出力されたデータECDPO7−〇
〇は、バレルシフタ5HTG164に入力される。
バレルシフタS)1丁0164には生成ポインタ用のレ
ジスタRBPQ17Bから生成ポインタデータR8PQ
O2−00が出力されている。バレルシフタ164は、
その生成ポインタデータRBPQO2−00に従って、
入力されたデータを回転シフトする。
MH方式、MR方式、および、MMR方式における伸長
処理モードにおいては、入力されるデータは全て(0)
か(1)のバイトデータであり、回転シフトしてもしな
くても同じである。しかし、圧縮処理モード、非圧縮処
理モード、ビットシフトモード、およびエラー処理モー
ドでは、入力データを回転シフトすることにより最大(
2バイト−1)長までの2i!データの結合が1生成処
理ステツプで処理されることができる。
例えば、生成ポインタデータが“3” (011)であ
り、バレルシフタS HT G 164に入力されたデ
ータが(01001110)であるとき、出力データ5
HTGO7−00は、(11001001)となる。バ
レルシフタS HT G 164からの出力S HT 
G 07−00は、レジスタRODTIe8の15−0
8ビット部分と、結合用のセレクタEPCK166に供
給される。
セレクタ170は、レジスタROD T 168に保持
されているデータROD TO7−00とROD T 
15−08のうちいずれかを、制御部4からの1lll
IO信号に従って選択的に出力する。直前の生成処理ス
テップにおいて生成が完了された21[データが、1バ
イト長以上であるときはデータRODT15−08が選
択され、生成が完了された211[データが1バイト長
未満であるときはデータRODTO8−00が選択され
る。選択されたバイトデータはデータEPSLO−07
としてセレクタ166に出力される。
セレクタ166は、バレルシフタS HT G 164
からの出力S HT G 07−00と、セレクタ17
0からの出力データEPSLO−07を入力する。また
、バレルシフタ164と同様に、同じ生成ポインタデー
タがレジスタRB P Q 176から供給されている
セレクタ166は、その生成ポインタデータに従って、
入力データを結合し、結合された8ビツトのデータEP
CKOO−07をレジスタROD T 168の07−
00ビット部分に出力する。 ・レジスタRoDT16
8は、データRODTO7−OOとデータRODT15
−08をセレクタ170に出力する。データRODTO
7−00内に、2値データの生成が完了しているときに
は、データRODTO7−〇〇は、伸長処理モードにお
いて、次ぎの参濡ラインデータとして使用するために、
データD1としてバッフ7メモリ制御016に出力され
る。また、データRODTO7−00は、出力レジスタ
ROUT112を介してデータD2として外部に出力さ
れる。
バレルシフタS HT G 164とセレクタEPCK
166とレジスタROD T 168とセレクタ170
とからなる回路はホールドループ回路として働く。
加算器178には、エンコーダROM 158からのデ
ータC3とレジスタRBPQ176の生成ポインタデー
アRBPQO2−00が入力されている。圧縮処理モー
ドでは、データEROMIO−08は、符号化されたコ
ードの実際の長さより1小さいコード長が出力されてい
るので、加算器178での加算結果ABPQO3−00
は次ぎのようにして計算される:ABPQO3−00 −FROM10−08+RBPQO2−00+1この加
算結果ABPQO3−00のうち下位3ビットABPQ
O2−00はセレクタ174に出力される。ま−た、1
3−ピッ上−が (−1)−のと1ば、−1バイト−分
乃生成処理が完了したことを意味し、データD3により
制御部4に知らされる。
セレクタ174には、色変化点検出部36がらデータE
3としてデータD8PAO2−00と、加算器178か
らのデータABPQO2−00が入力されている。また
、データ“O”が予めセットされている。
伸長処理モードとビットシフトモードのときは、II制
御部4からの制御信号に従ってデータDBPA02−0
0が選択される。また、圧縮処理モードのときは、デー
タABPQO2−00が選択される。また、初期状態と
、エラー処理モードでは、データ“O”が選択される。
選択されたデータはレジスタRBPQ176に出力され
る。
レジスタRBPQ176は、セレクタ114からのデー
タを保持し、制御部4からの制御信号に従って、バレル
シフタ5HTG164とセレクタEPCK166に生成
ポインタデータとしてを出力する。
加算器178とセレクタ174とレジスタ176とは、
生成ポインタデータ保持回路として働く。
次ぎに第6図を参照して、色変化点検出部36の構成に
ついて説明する。
レジスタRREF180には、バッフ7メモリ制御部1
6を介して参照ラインバッファメモリ6から参照ライン
データがデータG4として供給されている。レジスタR
RE F 180は27ビツトのデータ長を有する。レ
ジスタRRE F 180は、制御部4からの制御信号
に従って、データRREFO8−10がデータRRE 
FOO−02になるように、データRREF11−18
がデータRREFO3−10になるように、データRR
EF19−26がデータRREF11−18になるよう
にバイト単位でデータをシフトし、その後、19−26
ビツト部分にデータG4を入力する。レジスタRREF
180に保持されているデータRRE FOO−261
7)うちデータRREFOO−21がフッネルシフタ1
82に出力される。
フッネルシフタ182はデータRREFOO−21を入
力し、レジスタRBPA200からのaOポインタデー
タRBPAO2−00に従って選択された15ビツトの
データ5HTPOO−14を出力する。例えば、aOポ
インタデータRBPAO2−00が“5”であるとき、
データ5HTPOO−14は、データRREF05−1
9に対応する。すなわち、データRREFOO−21の
第6ビツトから15ビツト分のデータが選択される。レ
ジスタRRE F 180とフッネルシフタ182とか
らなる回路は参照ラインデータ選択回路として働く。
色反転回路184には、バレルシフタ182からのデー
タ5HTPOO−14と、また、制御部4からデータM
9が入力されている。圧縮処理モードでは色反転回路1
84は画素の色変化の方向を白から黒に統一するように
働く。従って、白ランから黒ランへの色変化点を検出す
るときには、色反転回路184は入力されたデータをそ
のまま出力する。黒ランから白ランへの色変化点を検出
するときには、色反転回路184は入力されたデータを
反転して出カする。また、エラー処理モードでは、入力
されたままの色で入力データを出力する。色反転回路1
84は0統−されたデータDRENOO−14を変化点
検出器186に出力する。また、データDREN03−
10はデータE1として変換部32に出力される。
変化点検出器186は、色反転回路184からのデータ
DRENOO−14と、制御部4からデータDNDPO
O−10とランの第1データとラインの第1データとを
制御データM7として入力し、色変化点を検出する。色
変化の方向が統一されているので、色変化点はビットデ
ータ(0)とされる。検出された色変化点データDRE
CO1−14はプライオリティエンコーダ188に出力
される。
プライオリティエンコーダ188は、変化点検出器18
6からの色変化点データD RE C01−14を入力
する。入力データDRECO1−14のうらLSB位置
に最も近い色変化点のビット位置が2進数に変換され、
変換されたデータB 1 D TO3−00が出力され
る。従って、データD RE C01−14の第5ビツ
トが色変化点とされたときには、データB1D T 0
3−00は“5”(0101)となる。この色変化点の
位置をレジスタROD T 168のデータRODT 
00−08と関連させると、この第5ピツトはビットデ
ータRODTOIに対応する。このように、検出された
色変化点データは、着目ブロック内のビット位置に関し
て“+4”L/た形になっている。
検出されたデータB 1 D TO3−00はデータE
2として出力される。
色反転回路184と変化点検出器186とプライオリテ
ィエンコーダ188とからなる回路はb1点検出回路と
して働く。
セレクタ192にはレジスタRBPA200からのデー
タRBPAO2−00が供給されている。また、データ
(111)がセットされている。制御部4からの制御信
号に従って、圧縮処理モード、伸長処理モード、ビット
シフトモード、非圧縮処理モード、およびエラー処理モ
ードでは、データRBP A 02−00が選択され、
初期状態の時はデータ(111)が選択される。選択さ
れたデータは加算器196に出力される。セレクタ19
4には、解読処理部12からデータA7としてデータD
ROMO8−06が、また、制御部4からデータM10
としてデータ5TATO2−00が入力されている。ま
た、データ1101#がセットされている。セレクタ1
94は、制御部4からの制御信号に従って、圧縮処理モ
ードでは、データDROMO8−06を選択する。圧縮
処理モードのラインの先頭においてはデータ5TATO
2−00を選択する。伸長処理モード、ビットシフトモ
ード、非圧縮処理モード、およびエラー処理モードのラ
インの先頭においてはデータ“O′″を選択する。選択
されたデータは加算器196に出力される。
加鋒器196は、セレクタ192と194から入力され
たデータを加算し、加算結果にさらに、Ill 111
部4からの指示に従って“O”または“1”を加算する
。圧縮処理モード、伸長処理モード、および非圧縮処理
モードのラインの先頭においては、110 I+を加算
する。ビットシフトモード、およびエラー処理モードの
ラインの先頭においてはデータ“1パを加算する。また
、圧縮処理モードでa0ポインタデータを更新するため
に、“1”を加算する。最終的な加算結果A 10MO
2−00はセレクタ198に出力される。
セレクタ198は、加算器196からのデータA1CM
 02−00と、ランレングス算出部38からのデータ
F1としてのデータABIAO2−00を入力する。
セレクタ198は、ill 113部4からのill 
III信号に従って、圧縮処理モードではデータA 1
0MO2−00を選択し、伸長処理モードおよび非圧縮
処理モードではデータA 81 AO2−00を選択す
る。選択されたデータDBPAO2−00はレジスタR
B P A 200に出力され、新たなaOポインタデ
ータとされる。
また、データDBPAO2−00はデータE3として、
伸長処理モードでは変換部34に出力され、圧縮処理モ
ードでは解読処理部12に出力される。
レジスタRBPA200は、セレクタ198からのデー
タDBPAO2−00を入力して保持し、データRBP
AO2−00をファネルシフタ182にaOポインタデ
ータとして出力する。また、データE5としてランレン
グス算出部38に出力する。レジスタRBPA200、
セレクタ192と194、加算器196、およびセレク
タ198とからなる回路はaOポインタデータ保持回路
として働く。
次ぎに第7図を参照して、ランレングス算出部38の構
成について説明する。
セレクタ201の第3ビツトには制御部4からデータM
11が供給されている。その第Oから第2ビツトにはカ
ウンタ部30からデータRN L CO2−00が供給
されている。セレクタ202の第3ビツトにはデータ“
0″がセットされている。その第Oから第2ビツトには
、データE5としてデータRBPAO2−00が供給さ
れている。セレクタ201とセレクタ202の出力は伸
長処理モードのとき加算器204に出力される。
加算器204は、セレクタ201とセレクタ202の出
力を加算する。このとき、1次元伸長処理モードと非圧
縮処理モードのときのラインの左端バイトのときは、I
ll 111部4からの指示に従って、さらに“1″が
加算される。最終的な加算結果AOPL 03−00は
、セレクタ206に出力される。
セレクタ20Gは、03−00ビット部分に加算器20
4からのデータA OP LO3−00を入力し、第4
ピツトに111t111部4からデータM12を入力し
保持する。保持されているデータは加算器210に出力
される。
セレクタ208には、データE2として色変化点検出部
36からデータB1DTO3−00が供給されている。
また、データ(11111)が予めセットされている。
1111I1部4からのIll Wl信号に従って、1
次元コードの伸長処理モードと、非圧縮処理モードでは
、データ(11111)が選択され、2次元コードの伸
長モードでは、データ(0)+データB 1 D TO
3−00が選択される。選択されたデータは、加算器2
10に出力される。
加算器210は、セレクタ206と208からのデータ
を加算する。1次元コードの伸長処理モードと、非圧縮
処理モードでは、その加算結果にさらにデータ“1″が
加算される。また、非圧縮処理モードの最終ステップで
は、更に加算されるデータは“0″である。また、2次
元コードの伸長モードでは、データ“0″が加算される
。1次元コードの伸長処理モードと、非圧縮処理モード
において、最終的な加算結果A31LO4−00の第4
ビツトと第3ビツトが(01)となったとき、結合部3
4において1バイト分の2値データの合成が終了したこ
とを示し、0”であれば、現在合成処理中のバイト中に
合成処理が終了したことを示す。このことは、データF
1によって制御部4に知らされる。最終的な加算結果A
B1LO4−00はデータF1として色変化点検出部3
6に出力される。
セレクタ212は、データB3としてデータRNLCO
3−00と、データA5としてデータDROM03−0
0を入力する。制御部4からの制御信号に従って、伸長
処理モードでは、データRNLCO3−00が選択され
、圧縮処理モードではデータDROM 03−00が選
択される。選択されたデータは加算器216に出力され
る。
反転回路214は、データE2として色変化点検出部3
6からのデータB 1 D TO3−00と制御部4か
らの制御データとしてM13を入力する。2次元伸長処
理モードでは、データB 1 D TO3−00をその
まま素通しし、圧縮処理モードではデータBIDT 0
3−00は反転される。即ち、“O″は1″に、1”は
“0″に変更される。反転回路214からのデータは加
算器216に出力される。
加算器216は、反転回路214からの反転データとセ
レクタ212からのデータを入力し、それらを加算する
。2次元伸長処理モードでは加算結果をデータADLT
O3−00として出力する。圧縮処理モードでは、その
加算の結果に更にデータ゛1″が加算される。すなわち
、これにより、反転回路214に入力されるB 1 D
 TO3−00の2の補数を求めたことになる。圧縮処
理モードでは、この加算の結果がデータADLTO3−
00として出力される。
このデータABIAの第3ビツトが1”ならば、結合部
34において、1バイト分の2値データの合成が終了し
たことを示し、O″′であれば、現在合成処理中のバイ
ト中に合成処理が終了したことを示す。このことは、デ
ータF1によってυ11[1部4に知らされる。また、
データF2は変換部32にも供給される。
次ぎに第8図を参照して、バッファメモリ制御部16の
構成について説明する。
セレクタ224には、加算器228の出力ABFA10
−00がセレクタ224に入力されている。さらに、セ
レクタには、データ“−4″が予めセットされている。
制御部4からのIIJI[I信号に従って、初期値とし
て“−4″が選択される。また、参照ラインバッファメ
モリ6をアクセスするためには、データA B F A
 10−00が選択される。選択されたデータは、レジ
スタRBFA226に出力される。レジスタ226は入
力されたデータを保持し、加算器228に出力する。
セレクタ230には、データ“1″と“4”(100)
が予めセットされている。lljill部4の制御信号
に従って、イメージデータを参照ラインバッファメモリ
6に格納するときは、データ“1″が選択され、参照ラ
インデータとしてのイメージデータを読み出すときはデ
ータ゛4”が選択される。選択されたデータは加算器2
28に出力される。
加算器228は、レジスタRBFA22Bからのデータ
とセレクタ230からのデータを加算する。加算結果A
BFAIO−00は、セレクタ224と、コンパレータ
220と、および、セレクタ232に出力される。
レジスタE N D 821gには、データM14とし
て1ライン分のランレングスデータがm a部4から予
め与えられている。レジスタE N D B 218に
保持されているデータのうち、データE N D B 
13−03はコンパレータ220に出力される。
コンパレータ220には加算B228からのデータAB
FAIO−00も供給されている。2つのデータは比較
され、一致したとき、データG1がIIJ 111部1
0に出力される。すなわち、これにより2値データの処
理が、ラインの最終バイト位置まで進んだことを確認す
ることができる。レジスタEND8218に保持されて
いるデータENDBO2−00はコンパレータ222に
出力される。コンパレータ222には、データE5とし
てデータRBPAO2−00が供給されている。これら
のデータは比較され、致するとき、データG2によって
制御部4に知らされる。これにより、最終バイト位置の
確認に続き、ラインの完全な終端まで処理が進行したこ
とがi認される。
バッファメモリ制御部16の、以上述べた回路部分によ
りライン終端検出部44が構成されている。
セレクタ232は、加算器228からのデータASF 
A 10−00を10−00部分に入力する。また、参
照ラインデータW D 07−00が供給されている。
第11ビツトにはt+IJ 111部4から制御データ
M15を入力する。この制御データM15は、参照ライ
ンバッファメモリ6の領域を指定するためのものであり
、参照ラインバッファメモリ6に対しては信号RAHと
して出力される。セレクタ232は、制御部4からのi
ll w信号に従って、スタティックRAMが参照ライ
ンバッファメモリ6として接続されているときはデータ
ABFA10−00を選択し、FIFOメモリが参照ラ
インバッファメモリ6として接続されているときはデー
タW D 07−00を選択する。
セレクタ232の出力はレジスタRA D R234に
出力される。
レジスタRA D R234は、入力されるデータを保
持し、オフチップドライバ23Gを介して参照ラインバ
ッファメモリ6に出力する。セレクタ232とレジスタ
234とオフチップドライバ236からなる回路はアド
レス部として働く。
セレクタ238には、データA2としてデータRDT1
00−07が、またデータD1としてデータRODTO
O−07が入力される。また、データ(0000000
0)が予めセットされている。制御部4からの制御信号
に従って、伸長処理モードではデータRODTOO−0
7が選択され、圧縮処理モードではRD T I 00
−07が選択される。初期状態では、参照ラインバッフ
ァメモリ6をクリアするためにデータ(0000000
0)が選択される。、選択されたデータは、オフチップ
ドライバ240を介して参照ラインバッフ1メモリ6に
出力される。また、参照ラインバッファメモリ6から読
み出された参照ラインデータはレシーバ242を介して
、データG4として色変化点検出部36に出力される。
次ぎに第9図を参照して、色変化点検出部36の変化検
出器186の構成について説明する。
基本的には、白(0)から黒(1)となる変化点を見付
けるために色反転回路184からのデータDRENOO
−14の各ビットと、このDRENOO−14の各ビッ
トを反転して1ビツトずつ右側にシフトした各ビットと
の論理積をとった後、更にラインの終了処理において、
終端点の右側に仮想の変化点を補うためのデータDND
POO−10との否定和をとるという構成になっている
。この基本構成に更に、ラインの第1ステツプでの処理
とランの第1ステツプでの処理に対応するために特別な
回路が付加されている。ラインの第1ステツプでの処理
とは、ラインの最初の1バイトの処理のことである。第
25図aに示されるように入力データの与え方によって
はバイトの境界がラインの左端に一致しない場合がある
。そして、80点の真上にb1点が来ることがある。こ
のような場合、b1点が変化点として検出されるために
1つ前のビットが(0)となっていなければならない。
この処理をするのがDRENO2と制御信号“反転(ラ
インの第1)″との否定積をとるNANDゲート81−
2である。ラインの第1ステツプの処理では、Ill 
10信号“反転(ラインの第1)”は(0)となる。従
って、このNANOゲート81−2により、ラインの第
1ステツプでの処理においては、D RE N 02は
必ず(0)として扱われる。つまり、DRECO3をb
1点として検出できる。
ランの第1ステツプでの処理では、変化点を検出した後
、新たなランの処理に入り、最初の1バイトの処理のこ
とである。ランの第1ステツプでの処理では、第25図
すに示されるように、b1点は80点より右側にあるの
で、80点から左側の変化点が検出されてはならない。
このような処理をするのが制御信号“反転(ランの第1
)”である。この制御信号“反転(ランの第1)”はラ
ンの第1ステツプでの処理では、(0)となる。従って
、この制御信号をDRENOOの反転信号とDRENo
lとの否定積をとるNANOゲート81−1に入力する
ことにより、出力データDRECO1は必ず(1)とな
る。同様にこの制御信号をDRENOlの反転信号とD
 RE N 02との否定積をとるNANDゲート81
−2に入力することにより、出力データDRECO2は
必ず(1)となる。
また、ラインの第1ステツプでの処理の場合、ランの第
1ステツプでの処理でもある。このような場合には、D
RECO3をb1点として検出しなければならない。し
かし、ラインの第1ステツプでの処理では無く、単にラ
ンの第1ステツプでの処理の場合にはDRECO3を変
化点として検出してはならない。このような処理をする
のが制御信号“反転(ラインの第1)′°を反転するN
OTゲート84と、NOTゲート84からの出力と制御
信号“反転(ラインの第1)”との論理和をとるORゲ
ート83である。ORゲート83の出力はDRECO3
を出力するNANDゲート81−3に入力される。
ラインの第1ステツプでの処理であり、かつランの第1
ステツプでの処理である場合、ORゲート83の出力は
(1)となり、DRECO3をb1点として検出するこ
とできる。一方、ラインの第1ステツプでの処理ではな
く、単にランの第1ステツプでの処理の場合には、OR
ゲート83の出力は(0)となり、DRECO3を変化
点として検出しない。
データDNDPOO−10は、前述したように終端点の
1ビツト右側に仮想の変化点を補うデータであり、通常
はDNDPOO−10の各ビットは(0)である。ライ
ンの最終のデータを処理する際、データDNDPOO−
10のうち、終端点の1ビツト右側に位置するビットの
みが(1)となる。したがって、ANDゲートから出力
される各ビットデータとDNDPOO−10の各ビット
との否定和をとると、終端点の1ビツト右側に仮想の変
化点が補われる。
データDRENQO−14は、このような回路を介して
、変化点候補が検出される。データDREC01−14
において、変化点候補は(0)となり、それ以外は(1
〉となる。変化点候補を示すデータDRECO1−14
はプライオリティエンコーダ188に入力される。プラ
イオリティエンコーダ188はDRECOl−14のう
ち最も左側に位置する変化点候補を検出し、このビット
位置を示すデータB1D T 03−00を出力する。
次ぎに第10図を参照して、ビット誤りによりランに対
するコードをEOLコードと誤認されることを防ぐため
のセーフティ回路を説明する。この回路は制御部4のメ
インシーケンサに含まれる。
このセーフティ回路は、ANDゲート75とORゲート
7GとANDゲート18からなる。AANDゲート75
には信号MCHDECと信号5AFTYが供給されてい
る。信号MCHDECはMl−1方式とMR方式では2
個のEOLコードを、MMR方式では1個のEOLコー
ドを解読したとき、次ぎのコードを解読するために出力
される。信号5AFTYは、MH方式とMR方式ではE
OLコードを連続して2個検出(MMR方式では1個)
でリターンツコントロール(RTC)とするか、あるい
は連続3個検出(MMR方式では2個)でRTCとする
かを切換えるゲートである。EOLコード2個なら信号
5AFTYは(o)であり、EOLコード2個なら信号
5AFTYは(1)である。
信号5AFTYは第1図に示されるメインシーケンサ中
のレジスタ(図示せず)に値をセットする。
信号5AFTYを(1)とする場合は、コードデータを
入力する前にこのレジスタに書込んでおく。
ANDゲート15の出力はORゲート76に供給される
ORゲート76には信号MDECODも供給されている
。信号MDECODはMHあるいはMR方式で1個目の
EOLコードを解読したとき出力さ ・れる。ORゲー
ト76の出力はANDゲート78に出力される。
ANDゲート78には信号DECIDの反転信号も供給
されていて、ORゲート76からの出力と論理積が取ら
れ、信号DECODEとして出力される。この信@DE
CIDの反転信号は、解読処理部12が動作中であるこ
とを示す信号であり、解読処理部12が動作中のときは
信@DECODEを出さないようにしている。
一≦        詩 次ぎに第N図から第(ハ)図を参照して、参照ラインバ
ッファメモリ6と圧縮伸長処理装置1との接続関係を説
明する。
バ 最初に、第N図を参照して、参照ラインバッファメモυ
6として、高速スタティクメモリSRAM(例えば、東
芝製の7MM2018D)6−1を使用する例を説明す
る。参照ラインデータアドレスは、圧縮伸長処理袋M1
のRA 09−00からSRAM6−1に出力される。
このSRAMθ−1が、7MM2018Dのとき、7M
M2018Dは、16にビット、すなわち2にバイトの
容量を有する。
したがって、圧縮伸長処理袋H側のアドレスバスの第1
0ビツトラインは使用されない。代わりに、i#j域切
換信号RAHが、アドレスバスの第10ビツトラインに
接続されている。
参照ラインデータの交換は、圧縮伸長処理装置1の参照
ラインデータバスRD 07−00とSRAM4−1の
I10ボート01−08との間で行われる。また、圧縮
伸長処理装置11からは、メモリライト信@MWRがS
RAM4−1のライトイネーブル端子WEに、およびメ
モリリード信号MRDがアウトプットイネーブル端子O
Eに供給されている。また、SRAM6−1のチップセ
レクト端子O8は接地されている。
−)? 第n図は、参照ラインバッファメモリ6としてファース
トインファーストアウト(FIFO)タイプのメモリ6
−2をシングルバッファモードで使用したときの例であ
る。このFIFOメモリとしては例えば日本電気製のμ
PD41101Cを使用することができる。圧縮伸長処
理装置1からは、SRAMが接続されたとき参照ライン
データアドレスを出力するためのラインから参照ライン
データが出力される。出力された参照ラインデータはF
IFOメモリ6−2の端子DINO7−00に入力され
る。FIFOメモリ6−2の端子DOUTO7−00か
ら読み出された参照ラインデータは参照ラインデータバ
スラインRDO7−00を介して圧縮伸長処理袋31F
1に入力される。
圧縮伸長処理袋5f1はFIFOメモリ6−2に、メモ
リライト信号MWRをライトイネーブル端子WEに、メ
モリリード信号MRDをリードイネーブル端子REに、
およびメモリリセット信号MRSTをリセットライト端
子R3TWとリセットリード端子R8TRに供給する。
FIFOメモリ6−2のクロック端子WCLKとRCL
Kにはクロック20LKが供給されている。しかし、F
IFOメモリ6−2がシングルバッフ7モードで使用さ
れているので、領域切換え用の信号RAHは圧縮伸長処
理装置1から出力されない。
:2g 次ぎに、第台図は、参照ラインバッファメモリ6として
ファーストインファーストアウト(FIFO)タイプの
メモリ6−2をダブルバッファモードで使用したときの
例である。このFIFOメモリとしても、前述と同様に
して、例えば日本電気製のμPD41101Cを使用す
ることができる。
圧縮伸長処理袋M1からは、SRAMが接続されたとき
参照ラインデータアドレスを出力するためのデータライ
ンから参照ラインデータが出力される。出力された参照
ラインデータはFIFOメモリ6−3と6−4の端子D
INO7−00にそれぞれ入力される。FIFOメモリ
6−2と6−4の端子DOUT 07−00から読み出
された参照ラインデータは参照ラインデータバスライン
RDO7−00を介して圧縮伸長処理装置1に入力され
る。
圧縮伸長処理袋[1からのメモリライト信号MWRはイ
ンバータ5−1に供給される。また、メモリリード信号
MRDはインバータ5−2に供給されている。領域切換
信号RAHはNANDゲート5−5と5−6とインバー
タ5−3に供給される。インバータ5−1の出力はNA
NDゲート5−4と5−6に供給されている。インバー
タ5−2の出力はNANDゲート5−5と5−7に供給
されている。NANDゲート5−4.5−5.5−6 
、および5−7の出力はそれぞれ、FIFO6−3のラ
イトイープル端子WEとリードイネーブル端子REに、
またFIFO6−4のライトイープル端子WEとり−ド
イネーブル端子REに供給されている。
また、圧縮伸長処理装置1のリセット信号MR8Tは、
FIFO6−3のリセットライト端子R8TWとリセッ
トリード端子R3TRに、またPIF O6−4のリセ
ットライト端子R8TWとリセットリード端子R8TR
に供給されている。クロック信号2CLKは、FIFO
6−3と6−4のクロック端子WCLKとRCLKに供
給されている。
以上のように構成することにより、ダブルバッファモー
ドにおいて、領域借換え信号RASに従って、FIFO
6−3から参照ラインデータが読み出されるときには、
FIFO6−4に書込まれる。
また、FIFO6−4から参照ラインデータが読み出さ
れるときには、FIFO6−3に書込まれる。
FIFOメモリをダブルバッファで使用する場合には、
2つの記憶領域を1つにして使用することによりライン
長が2倍にセットされたときでも使用することができる
。そのときには、領域切換信号RAHはラインごとに切
換えられるのではなく、参照ラインデータを読み出すた
めにどちらか一方のFIFOメモリを指定し、参照ライ
ンデータを書込むために他方のFIFOメモリを指定す
る。
次ぎに本発明による圧縮伸長処理装置の動作を説明する
最初に解読処理部12の動作を説明する。
処理されるべき2値データがレジスタ102に入力され
る。このとき、レジスタ102に既に保持されているデ
ータは左方向にバイト単位でシフトされる。レジスアR
DT1102に保持されているデータのうちRDTIO
9−23が7アネルシフタ104に入力される。)7ネ
ルシフタ104はレジスタ116からの解読ポインタデ
ータに従って選択されたデータ5HTDOO−07を出
力する。
データ5HTDOO−07は、色反転回路106を素通
ししてセレクタ110に供給される。セレクタ110に
は制御部4から制御データRDSQO4−02が供給さ
れている。また、マスクデータもマスクゲート108か
ら供給されている。セレクタ110は、制御部4からの
制御信号に従って、それらの入力データからアドレスデ
ータDRMA10−00を作成し、デコーダROM11
2に供給する。その時のアドレスフォーマットは第11
図に示されている。
デコーダROM 112からは第13図に示される出力
フォーマットを有するデータが出力される。データDR
OM11−09は次状態データであり、制御部4に送ら
れる。この次状態データは、次ぎに参照されるべきテー
ブルを指定するため等に使用される。データDROMO
8−06には(コード長−1)を示すデータが出力され
る。このコードレングスデータは加算器122と色変化
点検出部36に供給される。データDROMO5−00
には解読されたコードのランレングスデータが出力され
る。
加算器122とレジスタRBPP116によって構成さ
れる解読ポインタデータ保持回路はつぎのように動作す
る。ここで、レジスタR8PP116からの前回の指示
値が“3”(011)であるとする。
伸長処理モードでは、今回解読されたコードデータの長
さが7(−111)のとき、解読フードレングスは1だ
けデクリメントされた値なので、デコーダROM 11
2からは6(−110)が出力される。従って、加算器
122での加算結果ASPP 03−00は、 A B P PO3−00 本RB P PO2−00+ D R0MO8−06+
 1璽001+110+1 となる。この加算結果RB P PO3−00のうち、
R3pp02−00はセレクタ114を介してレジスタ
RBPP116の新たな指示値となる。また、加算結果
A B P PO3−00のうち、第3ビツトデータは
データ八〇として制御部4に供給される。これは、1バ
イト分の解読処理が終了したことを意味し、新たなコー
ドデータがA1としてレジスタRDT1102の16−
23部分にラッチされる。
デコーダROMからのデータA5としてのランレングス
データは、セレクタ124を介してレジスタRNL01
26にラッチされる。このとき、メイクアップコードに
対するランレングスデータは11−06ビツト部分にラ
ッチされ、ターミネイトコードと2次元コードに対する
ランレングスデータはos−ooビット部分にラッチさ
れる。
レジスタRNLC12Bに保持されているランレングス
データは1バイト分のイメージデータが生成されるたび
に1”だけ、11−03ビット部分からデクリメントさ
れる。デクリメントされた値は゛0”と比較され、当該
ランレングスデータに対するバイト単位のイメージデー
タの生成が終了したかどうかが判定される。データRN
LC11−03が“0′!と等しくなったとき、データ
B4によって制御部4に知らされる。データD N L
 C11−00のうち、データRN L CO2−00
がセレクタ124にデータB3によって戻される。また
、1バイト未満のランレングスに対するイメージデータ
の生成を行なうために、データRN L CO3−00
はデータB3として、ランレングス算出部38に出力さ
れる。
次ぎにデコーダROM112のテーブルについて説明す
る。
デコーダROM112は、入力されるアドレスデータの
着目解読処理単位を解読するために種々のテーブルを有
する。それらのテーブルは、第11因を参照して、1次
元臼1コードテーブルと、1次元臼2コードテーブルと
、1次元黒1コードテーブルと、1次元黒2コードテー
ブルと、1次元黒3コードテーブルと、2次元コードテ
ーブルと、非圧縮モードコードテーブルと、および特殊
コードテーブルである。
1次元臼1コードテーブルは、第11図aからCに示さ
れるように、8ビツト以下の白ランメイクアップコード
あるいは白ランターミネイトコードを解読処理単位とし
て解読し、ラン長1728以下で9ビツト以上の白ラン
メイクアップコードのうち8ビツト目までのコード部分
を解読処理単位として解読し、およびラン長1792以
上で9ビツト以上の白ランメイクアップコードのうち7
ビツト目までのコード部分を解読処理単位として解読し
、EOLコードの先頭から8ビツトを解読処理単位とし
て解読し、非圧縮モード開始コードとフィルスキップコ
ードの先頭から7ビツトを解読処理単位として解読する
ためのテーブルである。
1次元臼2コードテーブルは、第11図aに示されるよ
うに、ラン長1728以下で9ビツト以上の白ランメイ
クアップコードのうち3ビツト目以降のコード部分を解
読処理単位として解読するためのテーブルである。
1次元黒1コードテーブルは、第12図a、b1および
dに示されるように、7ビツト以下の黒ランターミネイ
トコードを解読処理単位として解読し、7ビット以上の
黒ランメイクアップコードあるいは黒ランターミネイト
コードの先頭ビットから7ビツトを解読処理単位として
解読し、非圧縮モード開始コードとフィルスキップコー
ドの先頭から7ビツトを解読処理単位として解読するた
めのテーブルである。
1次元黒2コードテーブルは、第12図a、b。
およびdに示されるように、7ビット以上の黒ランメイ
クアップコードあるいは黒ランターミネイトコードのう
ち先頭ビットから“0″が6ビツト以上続くとき、第7
ビツト目以降のコード部分を解読処理単位として解読し
、非圧縮モード開始コードとEOLコードとフィルスキ
ップコードの第7ビツト以降を解読処理単位として解読
するためのテーブルである。
1次元黒3コードテーブルは、第12図a、b、および
dに示されるように、7ビット以上の黒ランメイクアッ
プコードあるいは黒ランターミネイトコードのうち先頭
ビットから“0”が5ビット以下続くとき、5ビツト目
以降のコード部分を解読処理単位として解読するための
テーブルである。
2次元コードテーブルは、2次元コードデータを解読す
るために、2次元コードと、水平モードの識別コードと
、先頭から連続する6ビツトの“O″を解読処理単位と
して解読するためのテーブルである。
非圧縮モードコードテーブルは非圧縮モードコードを解
読するためのテーブルである。
特殊コードテーブルは、伸長処理モードでの特殊コード
データと、圧縮処理モードでのイメージデータを解読す
るために、伸長処理モードのページの先頭においてEO
Lフードの先頭の8ビツトの“0″と9ビツト以降のコ
ード部分とを解読処理単位として解読し、EOLコード
に続くタグビットを解読処理単位として解読し、フィル
スキップコードを解読し、圧縮処理モードでイメージデ
ータの8ビツト中に“1″が存在するときは先頭の“1
”までを解読処理単位として解読し、8ビツト中に′1
″が存在しないときは8ビツトの“O”を解読処理単位
として解読するためのテーブルである。
このとき、マスクゲート108はデータDTIS00−
07とデータRDSQO4−02とによって、第11図
に示されるようにマスクデータを発生する。すなわち、
1次元黒1コードテーブルではデータDT I 800
−01が(00)でないとき、データDTISO3−0
6は(1111)となる。2次元コードテーブルではデ
ータDTISOO−01が(00)でないとき、データ
DTISO3−06は(1111)となる。
非圧縮モードコードテーブルではデータDTIS03−
04が(00)でないとき、データDTISOO−〇2
は(111)となる。特殊コードテーブルではデータD
TISOO−01が(00)でないとき、データDTI
S03−07は(11111)となり、データDTIS
OO−05が(00)でないとき、データDTISO6
−07は(11)となる。このようにして、圧縮伸長処
理袋!LS Iの中でデコードROM112のチップ面
積を減少させることができる。
以上のテーブルが参照されたときの出力フォーマットが
第13図に示されている。データDROM11−09は
、次状態データであり、第14図aに示されるようなデ
ータである。
(000)はエラー発生を示し、(001)はフィルス
キップの解読を示す。(010)はEOLコードを検出
するとき、あるいはコードの解読が未完(白Aから白日
に、黒Aから黒Bに)であることを示す。(011)と
(100)はそれぞれメイクアップコードとターミネイ
トコードの解読終了を示す。(101)は非圧縮モード
に入ることを示す。(110)は黒Aから黒Cに遷移す
ることを示す。(111)は圧縮処理等を示す。
ランレングスデータの出力フォーマットが第14図すに
示される。ここで、垂直モードコードに対するランレン
グスデータは“−4”の形で出力される。詳細が第14
図Cに示される。
また、非圧縮モードコードテーブルと伸長処理の場合の
特殊コードテーブルの解読状態が第14図dに示される
前記1次元臼1コードテーブルは、8ビツト以下の白ラ
ンメイクアップコードあるいは白ランターミネイトコー
ドに対しては次状態データと、解読処理単位の長さから
“1”だけデクリメントしたコードレングスデータと、
および、コードブロックに対するランレングスデータを
出力し、ラン長1728以下で9ビット以上の白ランメ
イクアップコードのうち8ビツト目までのコード部分に
対しては次状態データと、42″のコードレングスデー
タと、および、′0”のランレングスデータを出力し、
およびラン長1192以上で9ビット以上の白ランメイ
クアップコードのうち7ビツト目までのコード部分に対
しては次状態データと、“6″の長さデータと、および
、“0”のランレングスデータを出力する。
1次元臼2コニトチープルは、ラン長1728以下で9
ビット以上の白ランメイクアップコードのうち3ビツト
目以降のコード部分に対しては次状態データと、解読処
理単位の長さから“1″だけデクリメントしたコードレ
ングスデータと、および、コードブロックに対するラン
レングスデータを出力する。
1次元黒1コードテーブルは、7ビツト以下の黒ランタ
ーミネイトコードに対しては次状態データと、解読処理
単位の長さから“1″だけデクリメントしたコードレン
グスデータと、および、コードブロックに対するランレ
ングスデータを出力し、7ビット以上の黒ランメイクア
ップコードあるいは黒ランターミネイトコードの先頭ビ
ットから7ビツトのコード部分に対しては、先頭ビット
から“Onが5ビット以下続くときは次状態データと、
44″のフードレングスデータと、および、“0″のラ
ンレングスデータを出力し、先頭ビットから“0′が6
ビツト以上続くときは次状態データと、“6nのフード
レングスデータと、および、40″のランレングスデー
タを出力し、非圧縮モード開始コードとフィルスキップ
コードの先頭から7ビツトに対しては次状態データと、
u 6 nのコードレングスデータと、および、10″
のランレングスデータを出力する。
1次元点2コードテーブルは、7ビット以上の黒ランメ
イクアップコードあるいは黒ランターミネイトコードの
うち先頭ビットから“0″が6ピツト以上続くときの第
7ビツト目以降のコード部分に対しては次状態データと
、解読処理単位の長さから“1″だけデクリメントした
コードレングスデータと、および、コードブロックのラ
ンレングスデータを出力し、非圧縮モード開始コードと
EOLコードとフィルスキップコードの第7ビツト以降
のコード部分に対しては次状態データと、解読処理単位
の長さから“1”だけデクリメントしたコードレングス
データと、および、60″のランレングスデータを出力
する。
1次元黒3コードテーブルは、7ビット以上の黒ランメ
イクアップコードあるいは黒ランターミネイトコードの
うち先頭ビットから“Onが5ビット以下続くときの6
ビツト目以降のコード部分に対しては次状態データと、
解読処理単位の長さから“1″だけデクリメントしたフ
ードレングスデータと、および、コードブロックのラン
レングスデータを出力する。
2次元コードテーブルは、2次元コードのうち垂直モー
ドコードに対しては次状態データと、解読処理単位の長
さから1″だけデクリメントしたコードレングスデータ
と、および、コードブロックのランレングスデータに対
応するデータを出力し、2次元コードのうちパスモード
コードに対しては次状態データと、解読処理単位の長さ
から1”だけデクリメントしたフードレングスデータと
、および、予め決められたコードを出力し、水平モード
の識別コードと連続する7ビツトの“0”に対しては次
状態データと、解読゛処理単位の長さから“1”だけデ
クリメントしたフードレングスデータと、および、“0
″のランレングスデータを出力する。
非圧縮モードコードテーブルは、非圧縮モードデータに
対しては次状態データと、解読処理単位の長さから“1
″だけデクリメントしたフードレングスデータと、およ
び、ランレングスデータとして解読処理単位の長さデー
タを出力し、非圧縮モード終了コードに対しては次状態
データと、解読処理単位の長さから“1”だけデクリメ
ントしたコードレングスデータと、および、00″のラ
ンレングスデータを出力する。
特殊コードテーブルは、伸長処理モードのページの先頭
においてEOLコードの先頭の8ビツトのO”と9ビツ
ト以降のコード部分に対しては次状態データと、解読処
理単位の長さから“1”だけデクリメントしたコードレ
ングスデータと、および、410 Itのランレングス
データを出力し、EOLコードに続くタグビットに対し
ては次状態データと、70″のコードレングスデータと
、・および、“0”のランレングスデータを出力し、フ
ィルスキップコードに対しては次状態データと、解読処
理単位の長さから“1”だけデクリメントしたフードレ
ングスデータと、および、“0″′のランレングスデー
タを出力し、圧縮処理モードでイメージデータに対して
は解読処理単位の長さから“1″だけデクリメントした
コードレングスデータと、および、解読処理単位の長さ
データを出力する。
次ぎに、第15図を参照して、解読処理部サブシーケン
サ8の動作を説明する。ここで、矢印に付けられた数字
は、テーブルが参照されたとき出力される次状態データ
を示す。
伸長処理モードのページの先頭においてEOLコードを
解読するように特殊コードテーブルを参照する。
ページ先頭のEOLコードが解読されると、MH方式の
伸長処理モードでは、ラインの先頭で1次元臼1コード
テーブルが参照される。
8ビツト以下の白ランメイクアップコードが1次元臼1
コードテーブルで解読処理単位として解読されたときと
、1次元臼2コードテーブルでラン長1728以上で9
ビット以上の白ランメイクアップコードのうち3ビツト
目以降のコード部分が解読処理単位として解読されたと
きと、1次元熱1コードテーブルで7ビツト以下の黒ラ
ンターミネイトコードが解読処理単位として解読された
ときと、1次元黒2コードテーブルで7ビット以上の黒
ランメイクアップコードあるいは黒ランターミネイトコ
ードのうち先頭ビットから“0″が6ビツト以上続くと
きと、8ビット以上の白ランメイクアップコードで先頭
ビットから“Onが6ビツト以上続くとき、第7ビツト
目以降のコード部分が解読処理単位として解読されたと
きと、1次元黒3コードテーブルで7ビット以上の黒ラ
ンメイクアップコードあるいは黒ランターミネイトコー
ドのうち先頭ビットから“Onが5ビット以下続くとき
、5ビツト目以降のコード部分が解読処理単位として解
読されたとき、1次元臼1コードテーブルが参照される
1次元臼1コードテーブルでラン長1792以上で9ビ
ット以上の白ランメイクアップコードのうち7ビツト目
までのコード部分が解読処理単位として解読されたとき
、1次元臼2コードテーブルが参照される。
1次元臼1コードテーブルおよび1次元臼1コードテー
ブルで白ランメイクアップコードあるいは白ランターミ
ネイトコードが解読されたときと、1次元熱1コードテ
ーブル、1次元黒2コードテーブルおよび1次元黒3コ
ードテーブルで黒ランメイクアップコードが解読された
ときとに、1次元熱1コードテーブルが参照される。
1次元臼1コードテーブルでランレングスが1792以
上の白ランメイクアップコードが解読されたときと、1
次元熱1コードテーブルで、コードレングルが8ビット
以上で先頭から6ビット以上(0)が続く黒ランメイク
アップコードあるいは黒ランターミネイトコードの先頭
から7ビット部分が解読処理単位として解読されたとき
と、1次元臼1コードテーブルと1次元熱1コードテー
ブルでEOLコードとフィルスキップコードと非圧縮モ
ード開始コードの先頭の7”ビットの″0″が解読され
たとき、1次元黒2コードテーブルが参照される。
1次元熱1コードテーブルで先頭から゛5″ビット以下
(0)が続く黒ランメイクアップコードと黒ランターミ
ネイトコードで、先頭から“7′′ビット部分が解読処
理単位として解読されたとき、1次元熱3コードテーブ
ルが参照される。
1次元黒2コードテーブルで非圧縮モード開始コードが
参照されたとき、非圧縮モードコードテーブルが参照さ
れる。
非圧縮モードコードテーブルで非圧縮モード終了コード
が解読されたときは、タグビットに従って1次元臼1コ
ードテーブルあるいは1次元黒1コードテーブルが参照
される。
MRおよびMMR方式の伸長処理モードでは、ラインの
先頭で2次元コードテーブルが参照される。2次元コー
ドテーブルは、他にも2次元コードが解読処理単位とし
て解読されたときと、黒ランターミネイトコードが解読
されたとき、参照される。
2次元コードテーブルで水平モード識別コードが解読さ
れたとき、続いて1次元臼1コードテーブルが参照され
る。水平モードのコードでは、水平モード識別コード、
白ランメイクアップコード、白ランターミネイトコード
、黒ランメイクアップコード、および黒ランターミネイ
トコードが順番に並んでいる。従って、MR方式とMM
R方式で水平モードコードを解読するときには、MH方
式の場合とくらべてその点が異なる。たとえば、白ラン
メイクアップコードが解読されとき、1次元黒1コード
テーブルが参照されることはない。また、黒ランターミ
ネイトコードが解読された後は、2次元コードテーブル
が参照される。
次ぎに伸長処理モードにおける生成処理部14の動作を
説明する。
レジスタRREF180には、参照ラインバッファメモ
リ2からの参照ラインデータがバッファメモリ制御部1
6を介してデータG4として19−26ビツト部分に1
バイトずつ入力されている。レジスタRREF180は
、参照ラインデータを入力するときには、ti11n部
4からの副葬信号に従って、保持されている参照ライン
データをバイト単位で左方向、すなわち18B方向にシ
フトする。すなわち、データREF08−10がデータ
REFOO−02となるように、データREF11−1
8がデータREF03−10となるように、および、デ
ータRE F 19−26がデータREF11−18と
なるようにシフトする。
その後、新たな参照ラインデータをデータRREF 1
9−26として入力する。
フッネルシフタ182は、レジスタRREF180から
データRREFOO−21を入力する。フッネルシフタ
182には、レジスタRBPA200からaOポインタ
データRBPAO2−00が供給されていて、入力され
たデータRRE FOO−21から、ポインタデータR
BPAO2−00によって示されるビット位置からMS
B方向15ビット分のデータを選択してデータ5HTP
OO−14として出力する。第26図に示されるような
場合において、従来では、バイト単位で参照ライン中の
blを検出していた。従って、b1点の検出に2回の処
理ステップを要していた。
しかし、本実施例では、80点のビット位置から1バイ
ト長以内にb1点が検出されるときには1回の処理ステ
ップですむ。現在着目されている参照ラインバイトデー
タは、レジスタRRE FOO−26に保持されている
データRREFO4−11に対応する。
ここで、データRREFOO−14が選択されているの
は、垂直モードにおける色変化点を考慮したためである
データSMTPOO−14は色反転回路184に入力さ
れる。色反転回路184には制御部4からデータM9も
供給されていて、画素の色変化の方向を統一する。すな
わち、本実施例では、色変化の検出方向を白→黒として
いるので、内部のイクスクルーシブオアゲートによって
色変化の方向が統一される。従って、白→黒への色変化
を検出するときには、III tllデータM9として
“ONが供給され、黒→白への色変化を検出するときに
は1”が供給される。色変化の方向が統一されたデータ
SHT P 00−14はデータD RE N0O−1
4として出力される。
変化点検出器18Gは、色反転回路184からのデータ
DRENOO−14を受取り、色変化点をデータ“0″
として第16図に示されるデータDRECo1−14の
ように出力する。なお、第16図において、*はO”ま
たは“1”を示す。ここで、データD RE C01−
14は、現在の伸長処理ラインの着目ブロックの−3−
10に対応する。すなわち、データD RE C0I−
14は、現在の伸長処理ラインの着目ブロックのビット
位置に“4”加えた形となっている。データD RE 
C0I−14と現在の処理ラインの着目ブロックのビッ
ト位置との対応関係も第16図に示される。
データDRECO1−14はプライオリティエンコーダ
188に入力されて、色変化点が検出される。
すなわち、細かい市松模様のとき等には複数の色変化点
が検出される場合があるが、その場合には一番左の、即
ちしSB力方向色変化点が検出される。検出された色変
化点のビット位置は第16図にデータB1DTO3−0
0に示されるように2進数に変換されて出力される。
次に、2次元伸長処理の場合について説明する。
2次元コードの伸長処理モードの場合には、解読処理部
12からデータB3としてデータRNLC03−00が
セレクタ201と212に供給される。また、セレクタ
201にはデータM11が制御部4から供給されている
。このデータM11は、2次元コードの伸長処理モード
か、あるいは1次元コードの伸長処理モードかを示す1
ビツトのデータであり、2次元コードの伸長処理モード
の場合には(1)である。
加算15i204には、セレクタ201からのデータR
NLCO2−00とセレクタ202からのデータRBP
A 02−00とが供給されていて、それらのデータの
和が計算され、データA OP LO3−00が得られ
る。
今は2次元コードの伸長処理モードについて説明してい
るので、データA OP 103−00は、AOPLO
3−00 −(0) RBPAO2−00+ (1) RN LC
O2−00−aO+(δ−4) 一δ−4+aO となる。データAOPLO3−00はセレクタ206を
介して、加算器210に供給される。加算器210には
またセレクタ208を介して、データBIDTO3−〇
〇も供給されている。それらのデータは加算され、加算
結果A D L TO3−00が得られる。データA 
D L TO3−00は、 AB1AO3−00 −B1 DTO3−00+AOPLO3−00−(b1
+4−aO) + (δ−4+aO)−b1+δ となる。このデータA B 1 AO3−00は、セレ
クタ198を介して、レジスタRBPAO2−00とレ
ジスタRBPQ176に送られる。上記の処理と同時に
、生成結合部22では当該ランレングスに対するイメー
ジデータの生成が完了されている。
一方、加算器216にはセレクタ212を介してデータ
RN L CO3−00と、反転回路214を介してデ
ータB 1 D TO3−00が供給されている。ここ
で、反転回路214は伸長処理モードでは入力されるデ
ータB 1 D TO3−00を素通しする。加算器2
16は、これらのデータから加算結果ADLTO3−0
0を得る。データA D L TO3−00は、A D
 L TO3−00 −81D TO3−00+ RN L CO3−00−
(b1+4−ao)+  (δ−4)−bl+δ−aO −a1−a。
となる。このデータA D L TO3−00が8以上
のとき、lllla部10にデータF2が出力され、着
目バイトブロックにおいて、イメージデータの生成が完
了したことが知らされる。
次ぎに、1バイト未満のランレングスの1次元コードと
非圧縮コードの伸長処理について説明する。
1次元コードの1バイト未満のランレングスデータがレ
ジスタRNLC126からデータB3としてセレクタ2
01に入力される。制御部4からのデータM11は、前
述のように、この場合は(0)である。このセレクタ2
01からのデータは加算器204に供給される。加算器
204にはまた、レジスタRBPA200からデータR
BPAO2−00が供給されている。これらのデータの
加算結果AOPL03−00は、 A OP LO3−00 −(0)RBPAO2−oo+  (0)RN LCO
2−O。
−ao+RL となる。ここで、”ao”は80点のビット位置を示し
、”RL”は1バイト以下のランレングスを示す。
このデータAOPLO3−00は、セレクタ206を介
して加算器210に供給される。加算器210には、セ
レクタ208から、制御部4からの制御信号によって選
択されたデータ(11111)が供給される。
従って、加算結果ABIAO4−00は、AB1AO4
−00 −11111+“O” A OP LO3−00+1−
″“0”AOPLO3−00 −ao+ RL となる。ここで、加算器210は、入力データ間の加算
結果に、更に“1”加算する。
この加算結果A B 1 AO4−00のうちAB1A
O2−〇〇は、セレクタ198を介してレジスタRBP
A200と、さらにセレクタ174を介して、レジスタ
RBPQ176に供給される。
以上の1次元コードの伸長処理の説明は、そのまま非圧
縮コードに適用されることができる。
以上のようにして、生成されるべきイメージデータの長
さ、および、着目バイトブロック内の生成が完了された
ビット位置が決定される。
次ぎに生成結合71!122の伸長処理時の動作につい
て説明する。
最初に、1次元コードと2次元コードの伸長処理につい
て説明する。
1バイト長以上のランレングスデータに対するイメージ
データの生成処理では、フリップ70ツブFBLKDに
よって現在指定されている色に従って決定される制御部
4からの制御信号に従って、セレクタ160において予
めセットされていたデータ(11111111)あるい
は(0000α000)が選択され、データECDPO
O−07として出力される。選択されたデータECDP
OO−07はバレルシフタ164に入力される。バレル
シフタ164には、レジスタRBPQ176からデータ
RBPQO2−00が出力されている。このデータは、
直前の生成ステップで生成が終了されている着目バイト
ブロック内のビット位置の次ぎのビット位置を示す。バ
レルシフタ164において、データECDPO7−00
は、ポインタデータR3p QO2−00に従って回転
シフトされ、データ5HTGOO−07として出力され
る。
データ5HTGOO−07は、データ結合用のセレクタ
166とレジスタ168の08−15ビット部分に供給
される。セレクタ168にはセレクタ110から既に生
成されているイメージデータの残りの部分が供給されて
いる。バイト単位でのイメージデータの生成処理が実行
されているときと、データADLTO3−00の第3ビ
ツトが1であるときは、レジスタ168の08−15ビ
ット部分のデータが選択され、それ以外のときは00−
07ビツト部分のデータが選択される。
セレクタ168にはまた、ポインタレジスタRBpQ1
76からデータRB P QO2−00が供給されてい
て、データRBPQO2−00に従って選択された入力
データが結合される。すなわち、先頭ビット位置からデ
ータRBPQO2−00によって指定されたビット位置
の直前までのビットデータとして、セレクタ170から
のデータが選択され、データRBPQO2−00によっ
て指定されたビット位置から最終ビットまではバレルシ
フタ164からのデータが選択される。
例えば、バイト単位の生成処理がなされていて、データ
RBPQO2−00が“3″であり、データ5HTGO
O−07が(1111111111)であり、データR
ODTO8−15が(10000000)とする。コノ
トキ、セレクタ166からの出力EPCKOO−07は
(10111111)となる。このようにして得られた
データEPCKOO−07はレジスタ168の00−0
7ビツト部分に格納される。
バイト単位でのイメージデータの生成処理が実行されて
いるときと、データA D L TO3−00の第3ピ
ツトが1であるときは、1バイト分のイメージデータの
生成処理が完了したとして、Ill il1部4からの
制御信号に従って、データROD TOO−07は、レ
ジスタ172を介して外部(イメージメモリ)に出力さ
れる。また、データROD TOO−07は、データD
1としてセレクタ238を介して参照ラインバッファメ
モリ2に格納される。
以上の述べたイメージデータの生成処理動作が行われて
いるときは、データRBPQO2−00は変えられない
。これは、バイト単位の処理をしているので、変える必
要がないからである。
次ぎに、1次元コードの1バイト未満のランレングスデ
ータに対するイメージデータの生成処理について説明す
る。
上述と全く同様にして、レジスタ168にはイメージデ
ータが生成されている。上述のバイト単位の処理と異な
る点は、セレクタ166によって結合されたイメージデ
ータがレジスタ168に格納されたとき、データRBP
QO2−00が、データDBPA 02−00に基づい
て更新されるということである。
次ぎに、2次元コードのランレングスデータに対するイ
メージデータの生成処理について説明する。
b1点が検出されないときは、b1点が検出されるまで
、前述と同様にしてバイト単位の処理が行われる。b1
点が検出されたときは、垂直モードコードに対するイメ
ージデータの生成処理は1バイト未満のランレングスデ
ータに対するイメージデータの生成処理と同様に行われ
る。
バスモードコードに対するイメージデータの生成処理は
、垂直モードに対するイメージデータの生成処理と同様
であるが、セレクタ160で選択されるイメージデータ
は、パスモードコードの前後で生成されるイメージデー
タの色が変更されないように選択される。
次ぎに非圧縮モードコードの伸長処理について説明する
フッネルシフタ104から出力されたデータSHT D
 00−07は、色反転回路106を介してレジスタR
PAT162にデータRPATO7−00としてラッチ
されている。このデータRPATO7−00は、セレク
タ160によって選択されて、バレルシフタ164に供
給される。その後の生成処理は、1バイト未満のランレ
ングスデータに対するイメージデータの生成処理と同様
である。
次ぎに圧縮処理モードについて説明する。
圧縮処理では81点とb1点の検出が行われる。81点
の検出処理は解読処理部12で行われる。b1点の検出
処理は色変化点検出部36で行われる。その後、検出さ
れた81点とb1点を使用して、対応するコードが生成
される。
最初に81点の検出処理について説明する。
圧縮処理モードにおいては、レジシタRBPP116に
はセレクタ114を介して制御部10からデータDBP
AO2−00が供給され、初期値117 IT(111
)にセットされる。従って、フッネルシフタ104は、
データRD T I 16−23をデータSHT[) 
00−07として出力する。色反転回路106には制御
部4から色変化の方向を統一するために制御データM1
が供給されている。これにより、本実施例では、画素の
色変化の方向は白から黒の方向に統一される。色反転回
路106の出力DTISOO−07はマスクゲート10
8と同様にセレクタ110に供給される。
セレクタ110には制御部10からデータM3としてデ
ータRDSQO4−00が供給されている。このデータ
RDSQO4−00は圧縮処理の場合には(111)で
ある。セレクタ110にはまた、υ11111部10か
らデータM2としてデータD N D POO−07が
供給されている。このデータD N D POO−07
は、ラインの終端点の1ビツト右側に仮想の変化点を補
うためのデータである。通常は、このデータDNDPO
O−07の各ビットは(0)であり、ラインの最終を処
理するとき、データD N D POO−07のうち終
端点の右側のビット位置のみが(1)となる。このデー
タD N D POO−07とデータDTIS00−0
7との論理和がとられたデータが、さらにマスクゲート
108からのマスクデータと合成されてデータDRMA
IO−00として出力される。
アドレスデータDRMAIO−00はデコーダROM1
12に供給される。デコーダROM 112はこのデー
タDRMA10−00を解読してデータDROM11−
00を出力する。このときの解読結果が第14図eに示
される。第14図eにおいてMはマスクデータを示し、
×は(0)あるいは(1)である。
圧縮処理の場合、データDROM11−00のうちビッ
ト11.10.09.05は使用されない。データDR
OMO8−06は加算器122とランレングス算出部3
8ニ出力され、ビット−F”−JDROMO4はllJ
!II部4に出力され、データDROMO3−00はカ
ウンタ部30に出力される。第14図eを参照して、デ
ータDROMO8−06には解読されたイメージデータ
の長さからマイナス1した11[(ラン長−1)が示さ
れる。ビットデータDROMO4は、セレクタ114、
レジスタ116、加算器122からなるw4読ポインタ
回路において、カウントするか否かを決定するためのデ
ータとして使用される。81点が検出されたときは、ご
ットデータDROMO4は(0)となり、81点が未検
出の場合、(1)となる−0加算器122では、伸長処
理のときと同様に、データRB P PO2−00とデ
ータDROMO8−06が加算され、さらにデータ“1
nが加算される。この・加算の結果、ビットデータAB
PPO3が“1″となフたとき、そのことがtilll
[1部4にデータ八〇として知らされる。制御部4はデ
ータ八〇に従って、新たなバイトイメージデータをレジ
スタ102に入力される。ビットデータABPPO3が
(,0)のときは、そのまま処理が続けられる。
一方、色変化点検出部36ではb1点が検出される。
レジスタ180、フッネルシフタ182、色反転回路1
84、変化点検出回路186、および、プライオリティ
エンコーダ188の動作は伸長処理のときと同様である
。検出されたb1点のデータはB1DTO3−〇〇とし
て出力される。
圧縮処理モードでは、セレクタ114において色変化点
検出部36からのデータDBPAO2−00が選択され
ることを除いて同様である。但し、圧縮の過程で80点
から1バイト以内の所にb1点が見付かるとバステスト
が始まり、(b4−ao)に相当するデータがレジスタ
RPIL118にラッチされ、aOポインタデータはb
1点のビット位置の所まで進められる。その後、同じ色
のランをバイト単位でカウントする。バステストの結果
1次元符号化することになったとき、このラッチされた
データRP1LO2−00はセレクタ120によって選
択されて、加算器122に出力される。加算器122に
は、デコーダROM 112から1バイト未満の、ラン
レングスが1”だけデクリメントされたデータDROM
 08−06が供給されている。この加算結果にはさら
に“1″が加えられる。最終的な加算結果ABPPO2
−00は、生成部32に出力され、1次元符号化−ドに
使用される。
符号化が終了したとき、aOポインタデータは次ぎのよ
うにして更新される。レジスタRBPA200に保持さ
れた80点を示すデータRBPAO2−00は、セレク
タ192によって選択されて加算器196に供給される
。加算器196にはセレクタ194を介してデータDR
MO8−06も供給されている。加算器196では次ぎ
のような計算がなされ、データA1CMO2−00が得
られる。
A 10MO2−00 −RB PAO2−00+ D R0MO8−06+ 
1−ao+  (al−aO−1)+ 1寓a1 すなわち、このようにして81点を示すデータA1CM
O2−00が得られる。データA 10MO2−00は
、レジスタRBPA200にセットされると共に、解読
処理部12のセレクタ114に供給される。このように
圧縮処理モードでは、色変化点検出部36において80
点の更新が行われる。
2次元符号化が行われることになったとき、ランレング
スは次ぎのようにして求められる。ランレングス算出部
38では、データB1DTO3−00は反転回路214
を介して加算器216に供給される。
セレクタ212では、解読処理部12からのデータDR
OMO3−00が選択され、加算器216に供給される
。加算器216では、次ぎのような計算がなされ、デー
タADLTO3−00が求められる。
A D L TO3−00 一反転(81DTO3−00) +DROMO3−00
+1−反転(b1+ 4−ao) + (al−aO)
 + 1−al−bl−4 一δ−4 すなわち、反転回路214において、入力データB1D
T03−00が反転され、加算器216で“1”加算さ
れることは、データB 1 D TO3−00の2の補
数を求めることと同じである。このようにして得られた
データADLTO3−00のうちデータADLT 02
−00は生成部22に出力される。
カウンタ部30では、イメージデータのコード化が行わ
れるたびに、セレクタ124においてデータ“2556
”(100111111100)が選択されて、レジス
タRN L C126にセットされる。このデータRN
LC11−00のうちデータRNLC11−03は加算
器130に送られる。加算器130では、データRNL
C11−03が“1”だけデクリメントされ、再びセレ
クタ124に供給される。また、データRNLC11−
03はコンパレータ128に供給され、“0″(000
000000)と等しいか否かが調べられる。データR
N L C11−03が“0”に等しいときは、データ
B4によって制御部4に知らされる。このようにして、
ランレングスカウンタ回路は1バイト単位で処理される
コンパレータ128で“0″が検出されてさらに同じ色
のランが続くときは、レジスタRNUC134に保持さ
れていたデータが“1″だけインクリメントされる。こ
の値は、初期値として“0″がセレクタ132で選択さ
れている。
レジスタRNUC134の値はセレクタ138を介して
、レジスタ140にラッチされる。ランレングス“25
60”に対応するコートデータが生成されるたびに1″
だけデクリメントされる。デクリメントされた結果が“
O”と一致するかどうかがコンパレータ144でチェッ
クされる。
生成部32では、カウンタ部30からデータANL00
8−00を、解読処理部12からデータABPPO2−
〇〇が入力され、レジスタRNLG148に供給される
。レジスタRNLG148に保持されたデータRNLG
11−00のうちデータRNLG11−06とデータR
N L GO5−00はセレクタ156に供給される。
また、6ビツトのデータRN L G11−06はコン
パレータ150に供給される。コンパレータ150は1
次元コードの圧縮処理モードで使用され、入力されたデ
ータRNLG11−06がデータ(100111)と一
致するかどうかを判定し、その結果をデータC2によっ
て制御部4に知らせる。制御部4は、一致するときは生
成すべき符号語が、メイクアップコードであり、一致し
ないときはターミネイトコードであると判断する。
セレクタ152には、ランレングス算出部38からのデ
ータA D L TO2−00と制御部4からのデータ
EGCDO3−00が供給されている。セレクタ152
には、データE G CD 03−00のためにデータ
(1)と、データA D L TO2−00のためにデ
ータ(01)が供給されている。2次元コードの圧縮処
理モードでは、データADLTO2−00が選択され、
水平モードの識別コード、あるいはパスモードコード等
の場合にはデータEGCDO3−00が選択される。
選択されたデータDGCDO4−00は、レジスタ15
4を介してデータRGCDO4−00としてセレクタ1
56に供給されている。
セレクタ156には、第17図aに示されるように、制
御部10から白/黒どちらかの色の符号語を生成するか
を示すビットデータDBUGが供給されている。このビ
ットデータDBLKは、1次元コードを生成するとき使
用され、白の場合には“OIIであり、黒の場合には“
1゛°である。セレクタ156にはまた、ビットデータ
F2NGが供給されている。ビットデータF2NGは、
生成されるべきコードが9ビツト以上のとき、デコーダ
ROM158が2回アクセスされるとき、1回目のアク
セスと2回目のアクセスとを区別するためのデータであ
る。データF2NGは2回目のアクセスのとき“1”と
なる。
セレクタ156はデータERMAO8−00として、メ
イクアップコードの生成の場合には、データRNLG1
1−00を、ターミネイトコードの生成の場合にはデー
タRN L GO5−00を、特殊なコードを発生する
ときにはデータRGCDO4−00を含むデータを選択
する。
データE RM A O8−00は、エンコーダROM
158に加えられる。エンコーダROM 158からは
データFROM11−00が出力される。データFRO
M11−00の出力フォーマットが第17図すに示され
る。ここで、ビットデータFROM11は、生成ステッ
プの最終であるかどうかを示すためのデータであり、(
1)のとき最終ステップを示し、(0)とき対応するコ
ードデータを生成するために次ぎの生成スツテツブが必
要であることを示す。
10−08ビット部分にはく発生されたコード部分の長
さ−1)を示すデータが出力される。このデータFRO
M10−08は加算器178に供給される。データFR
OMO7−00に発生されたコードが出力される。
データEROMO7−00はセレクタ160を介してバ
レルシフタ164に供給される。ホールドループ回路に
おける以降の処理は、伸長処理のときと同様である。異
なるのは、生成ポインタデータ保持回路の動作である。
生成ポインタデータ保持回路では、コードデータの生成
と並行してエンコーダROM158からのデータFRO
M10−08に従って、生成ポインタデータが更新され
る。すなわち、加算器178で、保持されている生成ポ
インタデータとデータEROMIO−08が加算される
。その加算結果に更に“1″が加えられる。最終的な加
算結果ABPQO3−00のうちABPQO2−00が
セレクタ174を介してレジスタR8P017Bに保持
され、新たな生成ポインタデータとなる。データABP
QO3が(1)のときは、1バイト分のコープデータが
生成されたとして制御部4にデータD3で知らされる。
その結果、レジスタRDT1168の00−07ビツト
部分に保持されていたコードデータが出力される。
以上述べたように、圧縮処理モードでは、生成ポインタ
データはデータEROMIO−08に基づいて更新され
る。従って、第17図すに示されるように、2回目の生
成ステップで8ビツトのコードデータを出力するように
すれば、生成ポインタデータを更新する必要がなくなり
、圧縮処理を高速化することができる。
次ぎに第18図を参照して、生成処理部サブシーケンサ
9の動作を説明する。
MH方式による符号化のときは、Hコード状態からメイ
クアップ状態、2560コード状態あるいはターミネイ
ト状態へと転移し、1次元コードを生成する。1次元コ
ードの生成が終了すると再びHコード状態が実行される
。その後、ラインが終了するまで、以上の動作が繰返さ
れる。ラインの終端まで達すると、ターミネイト状態か
ら特殊状態に移り、EOLコードあるいはフィルスキッ
プコードが生成される。その後、リセット待機に戻る。
MRおよりMMRMH方式次元生成処理モードでは、リ
セット待機状態からラインの先頭において81点とb1
点の位置を検出する。81点が検出されたがb1点が検
出されないときは、特殊状態に移り、水平モード識別コ
ードを発生する。その後、MH方式の場合と同様にして
、白ランメイクアップコードと白ランターミネイトコー
ドを発生する。続いて、再びHコード状態から、黒ラン
メイクアップコードと黒ランターミネイトコードを発生
する。
その後、再び81点とb1点を検索する。
b1点が検出されたが、81点が検出されないときは、
バステストに入る。81点が検出されないときは、特殊
状態に移り。バスコードが生成される。
81点が3ビツト以上b1点から離れた所に検出された
ときは、前述と同様にして1次′元コードが生成される
。81点がb1点から3ビツト以内の位置に検出された
ときは、■コード状態に移り、2次元コードが生成され
る。
MR方式では、MH方式と同様に、ラインの終端に達し
たとき、特殊状態に移って、EOLコードあるいはフィ
ルスキップコードが生成される。
また、ページの最後では、所定の数のEOLコードを発
生するために、特殊状態に移る。
次ぎに、第18図から第21図までのフローチャートを
書照して、伸長処理モードにおける動作、特に非圧縮モ
ードにおける伸長処理について説明する。
この例では、MH符号化コードデータの伸長処理で始ま
り、途中で非圧縮モードの伸長処理にかわる。なお、こ
こでレジスタRMPC(図示せず)は、インストラクシ
ョンレジスタであり、それにラッチされるインストラク
ションが各ステップの中に書かれている。
圧縮伸長処理装置は、クロック#0〜#3に対応するス
テップS2と84においてループを描き、電源投入の直
後に初期化された状態でデータの入力を待っている。デ
ータが入力されない限り、この状態が続く。なお、各レ
ジスタの初期化された値がクロック#0に示されている
。この状態では解読処理部サブシーケンサ8もリセット
状態である。
ステップS6において、データの入力があると、ページ
制御の初期化が行われる。最初に送られてくるデータは
制御データであり、圧縮処理モードと伸長処理モードの
いずれかであるかを示すデータ、符号化方式がMHSM
R,あるいはMMRのうちいずれであるかを示すデータ
、および、1ライン当りのランレングスデータ等が含ま
れる。ここでは、MH方式により伸長処理モードが選択
されたとする。また、1ライン当りのランレングスデー
タはレジスタEND8218にセットされる。
また、圧縮伸長処理袋M1の内部では、色を指定するた
めのレジスタFBLKDが白にセットされる等のページ
制御の初期化が行われる。ステップS6のクロック#4
では、データA1として00”(00000000)が
レジスタRDIN(図示せず)にセットされる。
ステップS8において圧縮処理モードであるかどうかが
判定される。圧縮処理モードが指定されているときは圧
縮処理が実行され、伸長処理モードが指定されていると
きは、ステップ810に進む。
現在は、MH方式によって符号化されたコードデータの
伸長処理モードが指定されているので、ステップ810
に進む。
ステップS10ではクロック#5において、レジスタR
DT1102内部に保持されているデータはLSB方向
に1バイトシフトされる。その後、入力データA1はレ
ジスタRDINよりレジスタRD T I 102に移
される。ここでは、入力データが[00]のためレジス
タRDT1102内部の値は見掛は上変化していない。
ステップ812において、MMR符号化方式であるかど
うかが判定される。MMR符号化方式であるときは、フ
ローはステップ822に進み、DLNLOOPが実行さ
れる。それ以外のときは、フローはステップ814に進
む。本動作説明ではMH符号化方式を例にとっているた
め、フローはステップ814に進む。
ステップ814ではクロック#6において、解読処理部
サブシーケンサ8により解読処理部12に起動指示が出
され、EOLサーチAが実行される。
このため、入力データは、EOLコードまでスキップさ
れる。同時にレジスタRBPP116の値は7”に更新
され、レジスタRDINには次ぎの入力データ[OC]
  (00001100)がセットされる。
解読処理部サブシーケンス8はEOLサーチAの状態に
あるので、ステップ816ではクロック#7において入
力データ[OO] (00000000)が特殊コード
テーブルを参照してデコーダDROM112によって解
読される。その結果、データDROM11−09にはデ
ータ(001)が、データDROM 08−06には“
7“(111)が出力される。
この“7”データに基づいて、レジスタRBPP116
に保持されている解読ポインタデータの更新が行われる
。すなわち、加算器A122の出力ASPPは、 ABPPO3−00=111+111+1となり、レジ
スタRB P P 116の解読ポインタデータは再び
“7”となる。また、第3ビツトが(1)であることが
データ八6によって制御部4に知らされる。
その結果、クロック#8において加算器122のオーバ
ーフローによってレジスタRD T I 102内に保
持されているデータは1バイト分LSB方向にシフトさ
れ、データRD T I 16−23部分にデータ[O
C]  (00001100)が入力される。また、し
ジスタRDINには次ぎのデータ[70](01110
000)が入力される。
解読処理部サブシーケンサ8はデータDROM11−0
9(7)(001) によりEOLI−チB1.:移り
、EOLコードの確定処理を実行する。レジスタRD 
T I 102に保持されているデータは[00000
C]  (00000000000000000000
1100)であり、フッネルシフタ104には09−2
3ビツトデ一タ部分が入力されるので、データ(000
000000001100)がフッネルシフタ104に
入力される。レジスタRBPP116の値が“7″を指
しているため、解読対象は(oooolioo >とな
る。これは、レジスタRD T I 102内の[OC
]に対応する。このフードデータに対するデコーダRO
M 112からの出力DROM11−00は、[D O
5]  (110100001001)である。従って
、解読されたコード長はDROMO8−06で(100
)であり、1″だけデクリメントされているので、EO
Lコードは解読ポインタデータRB P PO2−00
によって指定されるビット位置から5ビツト目で確定し
ている。また、データ[OC]はレジスタRPAT16
2に出力される。
りOツク#9においては、加篩器122で、データRB
 P PO2−00の“7″とデータDROMO8−〇
6の“4”とから、前述と同様にして、データ“12 
” (1100)が得られる。第3ビツトの“1′。
はmts部4に知らされる。これにより、データRD 
T I 00−23は1バイト分LSB方向にシフトさ
れ、16−23ビット部分にはデータ[70](011
10000)が入力される。また、1lIiポインタデ
ータRB P PO2−00は加算結果に基づいて“4
″に更新される。現在、データRDTIO8−23は(
0000110001110000)であり、データR
BPP02−00が“4″であることからデータS H
T D 00−〇1は(10001110)である。こ
れにより、解読結果は1ビツトを示し、これはタグビッ
トを意味する。
解読処理部サブシーケンサ8はEOL確定のステータス
にあり、レジスタRDINには次ぎのデータ[OF] 
 (00001111)がセットされる。レジスタRP
AT162には、クロック#9においてデータRB P
 PO2−00に基づいてレジスタRDT1102から
取出されたデータ[OC]がラッチされるが、非圧縮処
理モードでないため、この値は使用されない。
ステップ818では、クロック#10において、MR符
号化方式が適用されているかどうかが判定される。MH
符号化方式でない時は、続いてDLNLOOPが実行さ
れる。MR符号化方式のときは、ステップ820が実行
される。また、レジスタRPAT162にはクロック#
9において解読ポインタデータRB P PO2−00
の“4″に基づいて抽出されたデータ[8E]がラッチ
さ、れるが、これも無視される。ステップ820ではク
ロック#11において、タグビットの取込みが行われ、
レジスタTAGフリップフロップ(図示せず)にセット
される。その後、フローはDLNLOOPに進む。
クロック#12においてDLNLOOPが始まる。
ステップ322のクロック#12において、ライン制御
のため内部FF(フリップフロップ)が初期化され、解
読ポインタデータRB P PO2−00はタグビット
の処理終了に伴って“5”に更新される。
また、参照ラインバッファメモリ6のlI域が切換えら
れる。これにより、セレクタ232に供給されるデータ
M15が切換えられる。また、ラインごとの制御が始ま
る。
ステップ824のクロック#13において、データRD
 T I 08−23の(0000110001110
000)とデータRB P PO2−00の“5″から
データ[1C](00011100)がレジスタRPA
T162にラッチされる。また、データ出力制御ポイン
タ用のレジスタRBPQ176に保持されている生成ポ
インタデータRBPQO2−00が“0゛′にリセット
される。
ステップ826において、参照ラインバッファメモリ6
の内容をクリアすることが必要かどうかが判定される。
クリアの必要がないときは、続いてステップ334が実
行される。クリアの必要があるときは、参照ラインアド
レスを保持するレジスタ226がリセットされ、“−4
”が初期設定される。
その後、ステップ828が実行される。現在の処理では
必要ではないが、動作を説明する。
ステップ828では、レジスタRBFA226からのデ
ータRBF/No−00は、セレクタ236からのデー
タ“4”と加算され、アドレスデータとしてセレクタ2
32とレジスタ234を介して参照ラインバッファメモ
リ6に供給される。セレクタ238ではデータ(000
00000)が選択され、参照ラインバッファメモリ6
に供給される。このようにしてアドレス“OIIのロケ
ーションがクリアされる。その後、データRBFAIO
−00は、加算器228によって“1″だけインクリメ
ントされる。インクリメントされたデータは、セレクタ
232に供給され、次ぎのロケーションをクリアするた
めに使用される。
ステップS30では、1ライン分の参照ラインバッファ
メモリ6のロケーションがクリアされたかどうかが判定
される。まだ1ライン分終了していなければ、ステップ
828が再び実行される。1ライン分終了していれば、
ステップ832が実行され、伸長処理モードであるかど
うかが判断される。圧縮処理モードのときは、圧縮処理
が実行される。
伸長処理モードのときは、続いてステップS34が実行
される。
ステップ334ではクロック#14において、出力デー
タアレンジ用レジスタであるRODTI68が初期化さ
れる。すなわち、[0000]とされる。
また、参照ラインデータレジスタRREF180に保持
されているデータRRE FOO−26がバイト単位で
シフトされる。すなわち、データRREFO8−10が
データRREFOO−02に、データRREF11−1
8がデータRREFO3−10に、また、データRRE
F19−26がデータRREF11−18となるように
シフトされる。その後、参照ラインバッファメモリ6か
ら、バッファメモリ制御部16からの参照ラインアドレ
スに従って参照ラインデータが読み出され、レジスタR
REF180の19−26ビツト部分にラッチされる。
同時に解読処理部12は、解読処理部サブシーケンサ8
によって起動がかけられ、1次元臼1コードテーブル(
白A)の状態となり、解読処理が開始される。また、レ
ジスタROD T 168は“0”にクリアされる。
ステップ836ではクロック#15において、データR
RE FOO−26は、前述と同様にしてLSB方向に
1バイト分シフトされる。その後、19−26ビツト部
分に、読み出された次ぎのバイト参照ラインデータが入
力される。またこのとき、セレクタ192でデータ(1
11)が選択され、セレクタ194でデータ(000)
が選択され、加算器196で加算される。このとき、加
算器196ではざらに“0″が加算されるが、結果は変
わらない。このようにして得られたデータ“7”が、着
目ブロックの左端のビット番号を示す初期値データとし
てレジスタRBPQ176にラッチされる。これは、た
またま出力データバイト内のオフセットが“7”に設定
されていることによる。
ステップ838ではクロック#16において、レジスタ
RBPA200にインターフェイスよりの初期値“7”
がセットされる。すなわち、前述のレジスタRBPQ1
76にデータ“7″がセットされるのと同様にして、セ
ットされる。また、データRREFOO−26は、前述
と同様にしてLSB方向に1バイト分シフトされる。そ
の後、19−26ビツト部分に次ぎのバイト参照ライン
データが入力される。
データRD T I 08−23は“0C70”(00
00110001110000)であるが、データRB
PP02−00は“5”であり、ステップ834で解読
が開始されたデータDTISOO−07は(00011
100)である。このデータのうち(000111)が
ラン長1の白コード(000111)として解読され、
デコーダROM 112からはデータDROM11−0
0として[540]  (010101000000)
が出力される。すなわち、解読されたコードレングスは
“6”なので、フードレングスデータDROMO8−0
6として°′5″が出力される。データRB P PO
2−00は5゛′であり、従って、更新されたデータR
B P PO2−00は“3″となる。これにより、デ
ータRDT100−23はバイト単位でシフトされ、レ
ジスタRDTT 102 (7)16−23ヒツト部分
ニテータ[OF]がラッチされる。レジスタRDINに
は次ぎのバイトデータ[A4]がラッチされる。また、
ランレンゲスは1”なので、データDROMO5−00
として“1 ” (000001)が生成処理部14に
出力される。
解読が完了した事によって、次は黒コードとの予想のも
とに7リツプフロツブFBLKDが反転される。これに
より、解読処理部サブシーケンサ8は1次元点1コード
テーブル(黒A)の状態に移る。
ステップS40ではメインシーケンサ1はイメージ生成
のステップに入る。以後1ラインの処理が完了するまで
、生成処理部14は解読処理部12からランレングスデ
ータを受取り、イメージデータの伸長処理を実行する。
クロック#17では、解読処理部12では、解読処理部
シーケンサ8に従って、次ぎのコードデータの解読が行
われる。今、データRD T I 08−23は(01
11000000001111)であり、データRBP
P02−00は3″であるので、データ(000000
0G)がデータ5HTDOO−07となり、デコーダR
OM112によってWl読される。“0′が6個以上続
(ノテ、データDROM11−09に:Gt1次元!2
:I−トチープル(黒B)に移るように、解読処理部シ
ーケンサ8からデータ(010)が出力される。
また、データDROMO8−06にはデータ“5″が出
力される。
続いて、クロック#18において、レジスタRDT I
 102はバイトシフトを実行し、データ[A4]を入
力する。また、レジスタRDINにはデータ[42]が
入力される。データRB P PO2−00は、“1″
となる。データRD T I 08−23が(0000
111110100100)であり、データRBPP0
2−00が“1″であることから、次ぎの解読処理単位
(001111)が1次元黒2コードテーブルによって
非圧縮モード開始コードの後半の解読処理単位であるこ
とが判明する。これにより、非圧縮コードの処理が開始
される。” クロック#19において、デコーダROM 112から
はデータDROM11−09として(101)が出力さ
れる。また、データRB P PO2−00は“7″と
なる。ここで、加算器122の出力の第3ピツトが“1
Hでないため、データRD T I 00−23のシフ
ト動作は実行されない。したがって、新しいバイトデー
タもレジスタRDINから入力されることはない。
データRB P PO2−00は“7″に更新されてお
り、クロック#19では、これによりデータRDTli
B−23の[A4]がファネルシフタ104によって選
択されて、レジスタRPAT162にセットされる。既
に非圧縮モードに入っているため、以後レジスタRPA
T162にラッチされるデータがセレクタ160を介し
て結合部34に転送される。尚、このとき、データ5H
TDOO−07の[A4](1o1ootoo)は解読
アドレス発生回路によりアドレスデータ[6A7]  
(11010100111)に変換される。このアドレ
スデータによって、デコーダDROM112がアクセス
され、データDROM11−OOとして[946] (
100101000110)が出力される。これは、非
圧縮モードデータが6ビツト一括処理されたことに他な
らない。
DROMO5−00“6″は次クロックでレジスタRN
LC126に転送される。DROMO8−06“5″は
、もともと“−1”された値であり、加算器122に供
給される。゛すなわち、次のクロックで、データRB 
P PO2−00は、 RBPP02−00−7+5+1−13となり、(13
−8)から5となる。これはレジスタRBPP116が
3ビツトレジスタであることによる。このようにしてり
Oツクを重ねるに従って、レジスタRPAT162には
[A4]、[10]、[08]、[04]、≠≠仁ミ 
[08]、[12]、[2C]がラッチされる。また、
DROM 08−06で定義される処理ビット長は同様
に順次レジスタRNLC126に生成される。
このデータRN L CO2−00とaOポインタテデ
ーRBPAO2−Goとが加算@ 204によって加算
されてAOPLO3−00を生成する。この加算結果A
OP L 03−00が、セレクタ20G、加算器21
01セレクタ198を介して、レジスタRB P A 
200にフィードバックされる。このようにして、デー
タDBP A 02−00は更新される。また、aOポ
インタデータDBPAO2−00はレジスタRBPQ1
76に接続されるセレクタ174にロードされる。この
ため、レジスタRBPQ176とRBPA200とは同
一の値となる。このレジスタRBPQ174に保持され
た生成ポインタデータRBPQO2−00がバレルシフ
タ164お、よびデータアレンジ用のセレクタ166の
ポインタとなっている。以後は、生成ポインタデータR
BPQO2−ooにもとづいてイメージデータの生成に
ついて説明する。
さて、レジスタRODT168およびROtJT172
におけるイメージデータの生成であるが、レジスタRO
D T 168は初期値として[0000]が設定され
ている。
前述の1ビツトの白ランがクロック#17から#19で
生成されているため、クロック#20において、レジス
タRODT168の00−07ピツト部分には[000
0]が生成されている。また、オフセットが7であるた
め、生成ポインタデータRBPQO2−〇〇が“7″か
ら“0”に更新されている。このため、レジスタRoD
T168ノ00−07ヒツト部分のデータ[00001
,は、1バイト分のイメージデータの生成が終了したと
して出力される。また、レジスタRPAT162に保持
されていたデータ[A4]が結合部34に入力される。
クロック#21において、データRB P QO2−0
0が“0”なので、データRODTOO−15は、デー
タ[A4A4] (1010010010100100
)となる。
同時に、処理されたデータ長を示すデータDROM 0
8−06に従って、データA B 1 AO4−00が
更新される。また、生成ポインタデータRBPQO2−
OOは“6″に更新される。
次ぎにクロック#22において、データRODToo−
is内のデータ[A4A4]  (101001001
0100100)のデータRBPQO2−ooによって
示されるビットポイント“6″の位置からデータR,P
 A Toy−ooの[10]  (00010000
)が重ね書きされる。
これによりデータRODTOO−15は[A440](
1010010001000000)となる。
次ぎにデータRN L CO2−00の“4″が加算さ
れ、 RBPQ−6+4−10  から2となる。これもレジ
スタRBPQ176が3ビツトであることによる。ここ
でオーバーフローが生じたため、レジスタROD T 
168内に1バイトのイメージデータが完成したとして
、データRODTOO−07の[A4]がレジスタRO
UT172に転送される。この時、外部インターフェイ
スの都合により初回の完成データ“00”が受取られて
いない場合もあり得るため、本提案においても、内部イ
ンタロックを施し、防衛しているが、本題ではないため
、割愛する。
このようにして順次処理が継続され、レジスタROtJ
T172にはデータ[001、[A4〕、て、非圧縮終
了コード(00000010)を検出し、解読部は非圧
縮モードの終了にステータスを移す。
以上のようにして第22図に示されるイメージデータが
生成される。
クロック#29において、非圧縮モード処理が完了する
こととなり、メインシーケンサよりの指示待ちとなる。
クロック#31において元のコードデータ処理に戻る。
クロック#32において、終了コード末尾が“OIIす
なわち、白コードより開始されるため、解読シーケンサ
は白Aに移る。しかし、入力データはこのあとEOLコ
ードとなっているため、解読処理部制御シーケンサは白
A−黒B−FILLスキップーEOL検出と移る。一方
、メインシーケンサは1ラインの処理を完了させて、次
ぎラインの処理へと繰返す。
予め設定しである1ラインのビット数のイメージが生成
されたとき、フローはステップ852のクロック#38
に進む。ここで、MH,MMRの場合は解読処理部12
はEOLコードを解読していることになる。もしEOL
コードでなければステップ856でエラーとなる。そし
て、ステップS62で解読処理部12を再スタートさせ
る。このとき制御信号MDECODが出力され、第10
図に示されるように解読処理部12に制御信号DECO
DEが入力され、解読処理部12が動作する。コードの
Wl読結果がEOLコードでない場合は、ステップ87
2からステップ822にと戻り、次ぎのラインの伸長処
理を行なう。
また、MMR方式の場合は1ラインの処理終了後、次ぎ
の解読結果がEOLコードでなければ同様に次ぎのライ
ンの処理へと移る。このように、1ラインの処理が終了
し、次ぎのラインに処理が移る場合は、ステップ366
において解読した結果がEOLコードではないので、ス
テップ868に移ったとき、解読処理部12は動作状態
にある。従って、ステップ868で制御信号MCHDE
Cというマイクロ命令は出力され、信号5AFTY−“
1″となっていても、信号DECIDがレベルLである
ので、制御信号DECODEは出力されない。
MH,MR方式では、ステップ862において、解読再
スタートさせた結果EOLコードを検出した場合(2個
目のEOL検出となる゛)、あるいはMMR方式におい
て1ライン伸長終了後、EOLコードを解読している場
合は、ll1IIl]信号DECODE信号を待つ状態
となっている。制御信号5AFTYが“0”となってい
るときは、ステップS68で$す卯信号DECODEが
出力されないので、RTC(リターン制御)コードを検
出したとして、ステップS72から884へと進み、1
ペ一ジ分の伸長処理が終了する。制御信号5AFTYに
“1″をセットしている場合は、ステップ31で第10
図に示されるように、制御信号DECCODEが出力さ
れるので、解読処理部12が再スタートする。この解読
結果がEOLコードであるなら、RTCコード検出とな
り、伸長処理が終わる。EOLコードでないなら、ステ
ップ874から876でエラーとされる。
以上のように制御信号5AFTYを立てた場合には、R
TCコード検出においてEOLコードを通常より1個余
分に検出することになる。従って、1ビット誤りが発生
・してにせのEOLコードを検出してしまった場合、ス
テップ868で再スタートすることができる。よって、
1ビット誤りによって伸長処理が終了してしまうことは
ない。
[発明の効果] 以上詳細に述べたように、本発明の圧縮伸長処理装置に
よれば、解読処理手段を圧縮処理の場合には81点検出
回路として使用しているので、81点検出のための回路
を省略することができる。それでいながら、装置全体と
してのパイプライン処理を突環している。また、圧縮処
理モードでバイト単位の処理実行するための圧縮速度を
向上させることもできる。
また、参照ラインデータを格納するための参照ラインバ
ッファメモリとしてスタティックメモリもFIFOメモ
リも使用することができ、汎用性が高い。しかもFIF
Oメモリも使用する場合には、アドレスバスをデータ出
力のためのデータバスとして使用するので、チップ面積
を増加させないで済む。これにより、参照ラインメモリ
としてFIFOメモリをダブルバラフッ方式で使用する
ことができる。
【図面の簡単な説明】
第1図は、本発明による圧縮伸長処理装置の構成を示す
ブロックダイアグラムである。第2図は、第1図に示さ
れる解読処理部の詳細を示すブロックダイアグラムであ
る。第3図は、第1図に示されるカウンタ部の詳細を示
すブロックダイアグラムである。第4図は、第1図に示
される変換部の詳細を示すブロックダイアグラムである
。第5図は、第1図に示される結合部の詳細を示すブロ
ックダイアグラムである。第6図は、第1図に示される
色変化点検出部の詳細を示すブロックダイアグラムであ
る。第7図は、第1図に示されるランレングス算出部の
詳細を示すブロックダイアグラムである。第8図は、第
1図に示されるバッファメモリ制御部の詳細を示すブロ
ックダイアグラムである。第9図は、変化点検出器の詳
細な構成を示すブロックダイアグラムである。第10図
は、メインシーケンサ内のセイフティ回路の詳細な構成
を示すブロックダイアグラムである。第11図は、第2
図に示されるデコーダROMに格納されているコードテ
ーブルのアドレスフォーマットを示す図である。第12
図aからdはメイクアップコードとターミネイトコード
がそれぞれどの表に含まれるかを示す図である。第13
図は、第2図に示されるデコーダROMに格納されてい
るコードテーブルの出力フォーマットを示す図である。 第14図aは、第13図に示されるコードテーブルの出
力フォーマット中の次状態情報の意味を説明するための
図である。第14図すは、第13図に示されるコードテ
ーブルの出力フォーマット中のランレングスデータの出
力フォーマットを説明するための図である。第14図C
は、第14図すに示される垂直モードコードの出力フォ
ーマットを説明するための図である。第14図dは、第
11図に示される非圧縮モードコードテーブルと特殊コ
ードテーブルを説明するための因である。第14図eは
、第11図に示されるマスクデータを説明するための図
である。第15図は、第11図に示されるコードテーブ
ルを解読処理部サブシーケンサがどのようにl11iI
lするかを示すための状態遷移図である。第16図は色
反転回路とプライオリティエンコーダの出力を説明する
ための図である。第17図aは、第4図に示されるセレ
クタの動作を説明するための図である。第17図6はエ
ンコーダROMの出力を説明するための図である。第1
8図は、第4図に示されるエンコーダROMを生成処理
部サブシーケンサがどのように制御するかを示すための
状態遷移図である。第19図から第21図は、本発明に
よる圧縮伸長処理装置の動作を説明するためのフローチ
ャートである。 第22図は、第19図から第21図に示されるフローチ
ャートに従って、イメージデータが生成される様子を示
す図である。第23図は、第2図に示されるレジスタR
P1 Lの働きを説明するための図である。第24図a
とbは、ラインの最初の処理ステップと、ランの最初の
処理ステップにおけるイメージデータの生成の一例を示
す図である。第25図は、バイト境界にまたがるランの
処理の一例を示す図である。第26図は、スタティック
RAMを参照ラインバッファメモリに使用したときの接
続図である。第27図は、ファーストインファーストア
ウト(F I FO)メモリをシングルバッファモード
で使用したときの接続図である。第28図は、FIFO
メモリをダブルバッファモードで使用したときの接続図
である。 2・・・圧縮伸長処理部、4・・・圧縮伸長処理装置部
、6・・・参照ラインバッファメモリ、12・・・解読
処理部、14・・・生成処理部、16・・・バッフ7メ
モリ制陣部出願人代理人 弁理士 鈴江武彦 亀2図 MRC)7−0 第6図 第8図 第9 図 1y!ズi−・1コー)゛ブーツツレし惠A)  :(
Do、D+戸(Q、0)−(03−、Ds、+)=(1
,−1,1)中ジグLコードデーフフレ       
+(Do、Ch)yl(0,0)   (D3.−、D
7)=(1、−11):(Do、−、Os)≠(0,〜
、0)−(06,C)7)=(11)第11図 7212図(b) 第24図(a) 第24図(b) 塙25図 1、事件の表示 特願昭62−61982号 2、発明の名称 圧縮伸長処理装置 3、補正をする者 事件との関係  特許出願人 (307)  株式会社 東芝 4、代理人 東京都千代田区霞が関3丁目7番2号 UBEビル7、
補正の内容 明細書140ペ一ジ20行目の「の接続図である。」を
「の接続図である。第29図は、第19図から第21図
に示されるフローチ、ヤードに従って、レジスタの内容
が変化する様子を示すレジスタ状態遷移図である。」と
補正する。

Claims (9)

    【特許請求の範囲】
  1. (1)伸長処理モードでは、入力データバスを介してコ
    ードデータを予め決められた長さずつ順番に入力し、入
    力されたコードデータ中の着目コードブロックに対応す
    るランレングスデータを発生するために、入力される第
    1の制御データと着目解読処理単位を含むコードデータ
    とに従って着目解読処理単位を解読し、および圧縮処理
    モードでは、入力データバスを介してイメージデータを
    予め決められた長さずつ順番に入力し、入力されたイメ
    ージデータを次ぎの処理ラインのために参照ラインバッ
    ファメモリに格納し、入力される第1と第2の制御デー
    タに従って、入力されるa0ポインタデータに基づいて
    処理ライン上のa1点を検出するための解読処理手段と
    、および、 伸長処理モードにおいて、前記参照ラインバッファメモ
    リから現在の処理ラインに対する参照ラインデータを読
    み出し、a0ポインタデータに基づいて読み出された参
    照ラインデータからb1点を検出し、前記解読処理手段
    によって発生されたランレングスデータと検出されたb
    1点に従って、ランレングスデータに対応するイメージ
    データを生成し、a0ポインタデータを生成終了ビット
    位置に従って更新し、生成されたイメージデータを次ぎ
    の処理ラインのための参照ラインデータとして前記参照
    ラインバッファメモリに出力し、また、出力データバス
    を介して外部装置に出力し、および、圧縮処理モードに
    おいて、a0ポインタデータを前記解読処理手段に出力
    し、現在の処理ラインのための参照ラインデータを前記
    参照ラインバッファメモリから読み出し、a0ポインタ
    データに基づいて、読み出された参照ラインデータから
    b1点を検出し、検出されたb1点とa1点との間のビ
    ット数に従って、読み出されたイメージデータを参照し
    て、前記解読処理手段に入力されたイメージデータに対
    応するコードデータを生成し、a0ポインタデータを生
    成終了ビット位置に従って更新し、生成されたコードデ
    ータを出力データバスを介して外部装置に出力するため
    の生成処理手段 とを具備することを特徴とする圧縮伸長処理装置。
  2. (2)前記生成処理手段は、b1点が検出されてa1点
    が検出されないとき、a0ポインタデータによって示さ
    れるビット位置とb1点のビット位置との差のデータを
    前記解読処理手段に出力し、a0ポインタデータをb1
    点のビット位置まで進め、前記解読処理手段は、a1点
    が検出されたとき、予め決められた長さを単位としてb
    1点から数えて予め決められた長さ未満の部分のデータ
    と、前記生成処理手段から入力された差のデータとを加
    算し、加算結果を前記前記生成処理手段に出力すること
    を特徴とする特許請求の範囲第1項に記載の装置。
  3. (3)前記生成処理手段は、a0ポインタデータによっ
    て示されるビット位置から予め決められた長さの参照ラ
    インデータ中にb1点を検出するように動作することを
    特徴とする特許請求の範囲第1項に記載の装置。
  4. (4)参照ラインデータを格納するための参照ラインバ
    ッファメモリと、 入力される参照ラインデータを前記参照ラインバッファ
    メモリに書込み、処理ラインの参照ラインデータを前記
    参照ラインバッファメモリから読み出して出力するバッ
    ファメモリ制御手段と、伸長処理モードでは、入力デー
    タバスを介してコードデータを予め決められた長さずつ
    順番に入力し、入力されたコードデータ中の着目コード
    ブロックに対応するランレングスデータを発生するため
    に、入力される第1の制御データと着目解読処理単位を
    含むコードデータとに従って着目解読処理単位を解読し
    、および圧縮処理モードでは、入力データバスを介して
    イメージデータを予め決められた長さずつ順番に入力し
    、入力されたイメージデータを次ぎの処理ラインのため
    に前記バッファメモリ制御手段に出力し、入力される第
    1と第2の制御データに従って、入力されるa0ポイン
    タデータに基づいて処理ライン上のa1点を検出するた
    めの解読処理手段と、および、 伸長処理モードにおいて、前記バッファメモリ制御手段
    からの参照ラインデータを入力し、a0ポインタデータ
    に基づいて入力された参照ラインデータからb1点を検
    出し、前記解読処理手段によって発生されたランレング
    スデータと検出されたb1点に従って、ランレングスデ
    ータに対応するイメージデータを生成し、a0ポインタ
    データを生成終了ビット位置に従って更新し、生成され
    たイメージデータを次ぎの処理ラインのための参照ライ
    ンデータとして前記バッファメモリ制御手段に出力し、
    また、出力データバスを介して外部装置に出力し、およ
    び、圧縮処理モードにおいて、a0ポインタデータを前
    記解読処理手段に出力し、現在の処理ラインのための参
    照ラインデータを前記バッファメモリ制御手段から入力
    し、a0ポインタデータに基づいて、読み出された参照
    ラインデータからb1点を検出し、検出されたb1点と
    a1点との間のビット数に従って、読み出されたイメー
    ジデータを参照して、前記解読処理手段に入力されたイ
    メージデータに対応するコードデータを生成し、a0ポ
    インタデータを生成終了ビット位置に従って更新し、生
    成されたコードデータを出力データバスを介して外部装
    置に出力するための生成処理手段 とを具備することを特徴とする圧縮伸長処理装置。
  5. (5)前記バッファメモリ制御手段は、前記参照ライン
    バッファメモリがスタティックRAMのとき、参照ライ
    ンバッファメモリアドレスラインを介してアドレスデー
    タを出力し、参照ラインデータバスを介して前記参照ラ
    インバッファメモリと参照ラインデータを交換し、前記
    参照ラインバッファメモリがファーストインファースト
    アウトタイプのメモリのとき、参照ラインバッファメモ
    リアドレスラインを介して参照ラインデータを出力し、
    参照ラインデータバスを介して前記参照ラインバッファ
    メモリから参照ラインデータを入力することを特徴とす
    る特許請求の範囲第4項に記載の装置。
  6. (6)前記生成処理手段は、b1点が検出されてa1点
    が検出されないとき、a0ポインタデータによって示さ
    れるビット位置とb1のビット位置との差のデータを前
    記解読処理手段に出力し、a0ポインタデータをb1点
    のビット位置まで進め、前記解読処理手段は、a1点が
    検出されたとき、予め決められた長さを単位としてb1
    点から数えて予め決められた長さ未満の部分のデータと
    、前記生成処理手段から入力された差のデータとを加算
    し、加算結果を前記前記生成処理手段に出力することを
    特徴とする特許請求の範囲第4項に記載の装置。
  7. (7)前記生成処理手段は、a0ポインタデータによっ
    て示されるビット位置から予め決められた長さの参照ラ
    インデータ中にb1点を検出するように動作することを
    特徴とする特許請求の範囲第4項に記載の装置。
  8. (8)1ライン分の参照ラインデータを格納することが
    できる第1のFIFOメモリと、 1ライン分の参照ラインデータを格納することができる
    第2のFIFOメモリと、 参照ラインデータを前記第1のFIFOメモリあるいは
    前記第2のFIFOメモリに書込み、あるいは前記第1
    のFIFOメモリあるいは前記第2のFIFOメモリか
    ら参照ラインデータを読み出すために、メモリー制御信
    号を出力して前記第1のFIFOメモリと前記第2のF
    IFOメモリをアクセスする制御手段と、および 前記制御手段からのメモリ制御信号に従って、1ライン
    分の処理が終了するまで、前記第1のFIFOメモリあ
    るいは前記第2のFIFOメモリの一方に参照ラインデ
    ータを書込み、他方から参照ラインデータを読み出すよ
    うに前記第1のFIFOメモリと前記第2のFIFOメ
    モリを制御するための制御信号分配手段と を具備することを特徴とする圧縮伸長処理装置。
  9. (9)前記制御手段は、エラーが発生したとき、処理ラ
    インの前のラインのイメージデータを参照ラインデータ
    として読み出すようにメモリ制御信号を出力することを
    特徴とする特許請求の範囲第8項に記載の装置。
JP62061982A 1987-03-17 1987-03-17 圧縮伸長処理装置 Pending JPS63227276A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62061982A JPS63227276A (ja) 1987-03-17 1987-03-17 圧縮伸長処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62061982A JPS63227276A (ja) 1987-03-17 1987-03-17 圧縮伸長処理装置

Publications (1)

Publication Number Publication Date
JPS63227276A true JPS63227276A (ja) 1988-09-21

Family

ID=13186898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62061982A Pending JPS63227276A (ja) 1987-03-17 1987-03-17 圧縮伸長処理装置

Country Status (1)

Country Link
JP (1) JPS63227276A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
US5450599A (en) * 1992-06-04 1995-09-12 International Business Machines Corporation Sequential pipelined processing for the compression and decompression of image data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60256274A (ja) * 1984-06-01 1985-12-17 Hitachi Ltd 2次元圧縮符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60256274A (ja) * 1984-06-01 1985-12-17 Hitachi Ltd 2次元圧縮符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
US5450599A (en) * 1992-06-04 1995-09-12 International Business Machines Corporation Sequential pipelined processing for the compression and decompression of image data

Similar Documents

Publication Publication Date Title
US6144322A (en) Variable length code processor with encoding and/or decoding
US4967375A (en) Fast architecture for graphics processor
KR900001821B1 (ko) 2진 데이타 압축, 신장 처리 장치
KR940009094B1 (ko) 데이타처리 시스템
KR910000742B1 (ko) 2진 데이타 압축·신장 처리장치
JPH11184750A (ja) 可変長符号処理機構を有するデータ処理装置
JP3729540B2 (ja) 画像処理装置
EP0718980A1 (en) Data compression method of individual sequences of strings of a data stream based on a dictionary and device for performing the same
JP2635057B2 (ja) マイクロプロセッサ
JPS63227276A (ja) 圧縮伸長処理装置
JPS62230164A (ja) デジタル信号符号化/復号化回路
US5623556A (en) System and method of extracting binary image data
JP2003111021A (ja) 符号化画像データ復号装置、方法およびプログラム
JPS63276973A (ja) 圧縮伸長処理装置
JPS63227272A (ja) 圧縮伸長処理装置
JPS63227277A (ja) 圧縮伸長処理装置
JPS63227274A (ja) 圧縮伸長処理装置
JPH01867A (ja) 圧縮伸長処理装置
US5686914A (en) Information processing system
JP2601822B2 (ja) 圧縮された信号を処理する伸長処理装置
JP3014999B2 (ja) ハフマン復号化装置
JP2641858B2 (ja) 圧縮伸長処理装置
JPH06121172A (ja) 画像符号化装置
JPS6134166B2 (ja)
JP2584744B2 (ja) データ伝送装置