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

圧縮伸長処理装置

Info

Publication number
JPS63227272A
JPS63227272A JP6197887A JP6197887A JPS63227272A JP S63227272 A JPS63227272 A JP S63227272A JP 6197887 A JP6197887 A JP 6197887A JP 6197887 A JP6197887 A JP 6197887A JP S63227272 A JPS63227272 A JP S63227272A
Authority
JP
Japan
Prior art keywords
data
code
image data
bit
output
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
JP6197887A
Other languages
English (en)
Inventor
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 JP6197887A priority Critical patent/JPS63227272A/ja
Publication of JPS63227272A publication Critical patent/JPS63227272A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、コードデータをイメージデータに伸長し、イ
メージデータをコードデータに圧縮する圧縮伸長処理装
置に関し、特に、イメージデータを任意のビット数だけ
シフトさせることができるLSI化された圧縮伸長処理
装置に関する。
(従来の技術) 一般のマイクロプロセッサは1ビツトのシフト命令しか
持っていない。そのために、従来では、CR7画面上で
イメージを左右にシフトする場合、指定された位置まで
1ビツトずつシフトを繰返すことでイメージデータのシ
フトを実現している。
従って、ビットマツプメモリの更新に時間がかかつてい
た。それを克服するには、1度にシフトできるビット数
を自由に変えられる機能を持つマイコンを備えることが
考えられる。しかし、ビットシフトだけを行なうために
、新たにマイコンを設けることは、装置全体のインプリ
メントを大きくする。
一方、今日のパソコン、オフコンはイメージデータを扱
うことも多く、データ量の多いイメージデータを圧縮し
たり、圧縮されたコードデータを元のイメージデータに
伸長する圧縮伸長処理装置を持っている。符号化方式と
してはCCITT(国際電信電話諮問委員会)勧告のフ
ァクシミリ用符号化方式が用いられている。
通常、圧縮伸長処理装置はイメージデータの圧縮、また
コードデータの解読のためにビットシフト回路を備えて
いる。しかしながら、CRTii面上にある文書やイメ
ージデータなどを左右にシフトすることは考慮していな
い。そのような処理を行なうためには外部になんらかの
制御装置を設けることが必要になってくる。また、シフ
トに要する時間がかかりすぎるといった欠点があった。
(発明が解決しようとする問題点) 本発明は、上記事情に鑑みてなされたもので、画像デー
タの処理システムにおいて特別な回路を追加することな
く、ビットシフトされたイメージデータを予め決められ
た長さを単位として出力することができる圧縮伸長処理
装置を提供することを目的とする。
[発明の構成] (問題を解決するための手段とその作用)本発明による
圧縮伸長処理装置は、予め決められた長さのイメージデ
ータを入力し、入力される解読ポインタデータに従って
選択された予め決められた長さのイメージデータを出力
するための選択手段と、前記選択手段から出力された予
め決められた長さのイメージデータを保持して結合イメ
ージデータとして出力するためのレジスタ手段と、入力
される生成ポインタデータに従って、それに保持されて
いる残りのイメージデータの後に入力される結合イメー
ジデータを結合することによってイメージデータを生成
し、生成されたイメ−ジデータの先頭ビットから予め決
められた長さ分のイメージデータをシフトされたイメー
ジデータとして出力し、残りのイメージデータを次のイ
メージデータの生成のために保持する結合手段と、入力
される生成ポインタデータを保持して出力するための生
成ポインタ手段と、および、入力されるビットシフト制
御データに従って、最初に前記生成ポインタ手段に生成
ポインタデータを出力し、以後生成ポインタデータの更
新を禁止するための制御手段とを具備する。
また、本発明による圧縮伸長処理装置は、さらに、入力
されるイメージデータを保持するためのイメージメモリ
と、入力されるビットシフトコマンドからビットシフト
の方向とシフトされるべきビット数を決定し、決定され
たビットシフトの方向とシフトされるべきビット数をビ
ットシフト制御データとして出力するための制御手段と
、および、前記制御手段からのビットシフト制御データ
に従って、前記イメージメモリをアクセスし、予め決め
られた長さのイメージデータを読み出して前記選択手段
に出力し、前記結合手段から出力されるイメージデータ
を前記イメージメモリに出力するためのアクセス手段と
を具備する。
従って、入力されるイメージデータをビット単位でシフ
トしたイメージパターンをあらかじめ決められた長さを
単位として出力することができる。
(実施例) 以下に本発明による圧縮伸長処理装置について添附図面
を参照して説明する。
最初に、第1図から第10図を参照して、本発明による
圧縮伸長処理装置の一実施例の構成を説明する。
最初に第1図を参照して、本発明の一実施例の圧縮伸長
処理装置の回路ブロックについて説明する。
その実施例は、集積回路(LSI)に組込まれた圧縮伸
長処理部2と圧縮伸長処理制御部4と、および、そのL
SIに接続され、参照ラインデータを格納するための参
照ラインバッフ7メモリ6とからなる。
圧縮伸長処理部2は、入力される2値データにパイプラ
イン処理を施して圧縮処理あるいは伸長処理を行なう。
圧縮伸長処理部2は、解読処理部12と、生成処理部1
4と、および、バッファメモリ制御部16とからなる。
解読処理部12は、伸長処理モードでは入力されるコー
ドデータの解読処理を行ない、圧縮処理モードでは80
点を検出するように動作する。生成処理部14は、伸長
処理モードでは解読処理部12での解読結果に基づいて
イメージデータを生成し、圧縮処理モードでは検出され
た80点に基づいてコードデータを生成する。バッファ
メモリ制御部16は、参照ラインバッファメモリ6をア
クセスして参照ラインデータを書込み、あるいは読み出
し1、また生成処理がラインの終端まで進行したか否か
を判定する。
生成処理部14は、生成結合部18とb1検出部19か
らなる。生成結合部18は、カウンタ部30と、変換部
32と、および結合部34とからなる。カウンタ部30
は、伸長処理モードでは解読処理部12によって解読さ
れたランレングスデータを保持し、圧縮処理モードでは
ランレングスをカウントする。変換部32は、カウンタ
部30あるいは後述するランレングス算出部38からの
ランレングスデータ等に従ってイメージデータあるいは
コードデータを結合データとして発生する。結合部34
は、発生された結合データをつぎつぎと結合して所望さ
れる2値データを生成する。
b1検出部19は、色変化点検出部36と、およびラン
レングス算出部38とからなる。色変化点検出部36は
、参照ラインバッフ7メモリ6から読み出された参照ラ
インデータに基づいて参照ラインデータ中にb1点を検
出する。ランレングス算出部38は、伸長処理モードで
は1次元コードデータに対する1バイト長以上のランレ
ングスデータ以外のランレングスデータの生成されるべ
きイメージデータの長さを算出し、圧縮処理モードでは
2次元符号化のときのb1点と81点の差に対応するデ
ータを算出する。
また、バッファメモリ制御部16は、アドレス部40と
、データ入出力部42と、およびライン終端検山部44
とからなる。ライン終端検出部44は、処理に先立ち1
ライン分のランレングスデータを受取って保持し、現在
生成処理が進行したバイト位置を検出する。このように
して、ラインの終端を検出する。アドレス部40は、着
目バイトブロックに関連するイメージデータが格納され
ている参照ラインバッファメモリ6のアドレスを、ライ
ン終端検出部44からの検出された現在生成処理が進行
したバイト位置に基づいて決定し、また、次ぎの処理ラ
インのための参照ラインデータを格納するためのアドレ
スを検出されたバイト位置に基づいて決定する。決定さ
れたアドレスを参照ラインバッフ7メモリ6に出力する
。このアドレス部40は、参照ラインバッフ7メモリ6
としてスタティックRAMが使用されるとき必要である
。ファーストインファーストアウト(FIFO)メモリ
が使用されるときは、アドレス部40は必要なくなり、
圧縮伸長処理制御部4にリード/ライトモードの制御す
る回路部分が必要となる。データ入出力部42は、伸長
処理モードでは生成結合部18からのイメージデータを
、また圧縮処理モードでは解読処理部12からのイメー
ジデータを、アドレス部40によって指定される参照ラ
インバッファメモリ6のアドレスに格納し、現在のff
i理ラインの参照ラインデータをアドレス部40のよっ
て指定される参照ラインバッフ7メモリ6のアドレスか
ら読み出す。
圧縮伸長処理制御部4は、メインシーケンサ7と、解読
処理部サブシーケンサ8と、および生成処理部サブシー
ケンサ9とからなる。メインシーケンサ7は、LSI内
部の構成物の全体を制御し、また、図示されない外部制
御装置とコマンド/ステータスを交換する。その内部に
は、処理されるラインが1次元であるか2次元であるか
を示すためのタグフリップフロツブ(TAGフリップフ
ロップ、図示せず)と、処理されるランの色が白か黒か
を示す色ti11wJフリップ70ツブ(F8LKDフ
リップ70ツブ、図示せず)等のフリップフロップを内
蔵する。解読処理部サブシーケンサ8は、解読処理部1
2の動作を制御する。また、生成処理部サブシーケンサ
9は、生成処理部14の動作を制御する。
以下に、各部の構成を詳細に説明する。
最初に第2図を参照して、解I5!処理部12の構成を
詳細に説明する。
2値データRD I N0O−07がデータA1として
解読処理部12にバイト単位で入力される。このデータ
RDINOO−07は、伸長処理モードではコードデー
タであり、非圧縮処理モードと圧縮処理モードではイメ
ージデータである。レジスタROT1102は、3バイ
トのデータ長を有するレジスタである。レジスタRDT
1102は、制御部4からの制御信号に従って、保持さ
れているデータを、データRDT108−15がデータ
RD T I 00−07となるように、またデータR
D T I 16−23がデータRDTIO8−15と
なるようにバイト単位でLSB方向(左方向)にシフト
する。その後、データRDINOO−07をデータRD
 T I 16−23としてラッチする。圧縮処理モー
ドでは、保持されているデータRD T I 00−0
7は、次ぎの圧縮処理ラインのための参照ラインデータ
として使用するために、データA2としてバッフツメモ
リ制御部16を介して参照ラインバッファメモリ6に格
納される。データRD T I 09−23はフッネル
シフタ104に出力される。
フッネルシフタ104には、解読ポインタ用のレジスタ
RBPP116から解読ポインタデータRB P PO
2−00が出力されている。フッネルシフタ104は、
解読ポインタデータRB P PO2−00に従って選
択された1バイトのデータ5HTDOO−07を出力す
る。例えば、レジスタ116からの解読ポインタデータ
RB P PO2−00が“3”  (011)である
とき、フッネルシフタ104に入力されるデータRD 
7109−23のうち12−19ピット部分が選択され
、データ5HTDOO−07として出力される。
レジスタRDT1102とフッネルシフタ104とは、
処理データの選択回路として働く。
フッネルシフタ104から出力されるデータ5HTDO
O−07は、色反転回路106に供給される。
色反転回路106は8個のイクスクルーシブオアゲート
(図示せず)からなる。各イクスクルーシブオアゲート
の一方の入力端子には制御部4からの色制御データM1
が供給されている。その他方の入力端子には、それぞれ
ファネルシフタ104からのデータ5HTDOO−07
のごットデータが供給されている。このようにして、色
反転回路106は、制御部4からの色制御信号M1に従
って、伸長処理モードと非圧縮処理モードでは、入力さ
れるデータ5HTDOO−07を素通しし、圧縮処理モ
ードでは、入力されるイメージデータの色を、色変化の
方向が白から黒の方向に統一されるように反転する。色
反転回路106から出力されるデータDTISOO−0
7は、データA3として変換部32に供給されると共に
、セレクタ110とマスクゲート108に供給される。
マスクゲート108は、入力データDTISOO−07
に従って、マスクデータを発生する。マスクゲート10
8は、デコーダROM 112で使用される記憶領域を
削減するために、解読データのうち意味のない部分に所
定の数のビットデータを発生する。
マスクデータはセレクタ110に供給される。
セレクタ110にはデータRD S QO4−02が制
御部4からデータM3として供給されている。このデー
タRD S QO4−02は、伸長処理モードと非圧縮
処理モードではデコーダROM112において次ぎに参
照されるべきテーブルを指定するための制御データであ
り、圧縮処理モードでは(111)である。セレクタ1
10には、また制御部4からデータD N D POO
−07がデータM2として供給されている。このデータ
D N D POO−07は通常は[00]である。圧
縮処理モードの処理ラインの終端において、終端ランの
右側に仮想の変化点を補うために、データD N D 
POO−07は終端ランの右側の1ビツトだけが1″と
なる。
伸長処理モードでは、色反転回路106からのデータD
TISOO−07とマスクゲート108からのマスクデ
ータとから合成されたデータと、データRD S QO
4−02とからアドレスデータDRMAIO−〇〇が形
成され、デコーダROM112に供給される。圧縮処理
モードでは、合成されたデータはさらにデータD N 
D POO−07と論理和がとられ、データRDSQO
4−02と共にアドレスデータDRMA10−00とし
てデコーダROM112に供給される。マスクゲート1
08とセレクタ110は解読アドレス発生回路として働
く。
デコーダROM 112は、複数のテーブルを有してい
て、入力されるアドレスデータD RM A 10−0
0に従って、12ビツトのデータDROM11−00を
出力する。デコーダROM112に含まれるテーブルは
、白ラン1次元コードを解読するための1次元臼1コー
ドテーブル(白A)と1次元臼2コードテーブル(白B
)と、黒ラン1次元コードを解読するための1次元黒1
コードテーブル(黒A)と1次元点2コードテーブル(
黒B)と1次元熱3コードテーブル(黒C)と、垂直モ
ードコードとバスモードコードと水平モードの識別コー
ドを解読するための2次元フードテーブルと、非圧縮モ
ード終了コードを含む非圧縮モードコードとフィルスキ
ップコードを解読するための非圧縮モードコードテーブ
ルと、および、伸長処理モードでEOI−コードを解読
し、圧縮処理モードでイメージデータを解読するための
特殊コードテーブルである。
テーブル白A1白B、あるいは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に保持される。
このレジスタRPIL119は、圧縮処理モードにおい
て使用され、伸長処理モードおよび非圧縮処理モードで
は使用されない。レジスタRP11118に保持されて
いるデータRP 1 LO2−00はセレクタ120に
供給される。
セレクタ120には、レジスタRBPP116からデー
タRB P POO−02も供給されている。セレクタ
120は、制御部10からの制御信号に従って、伸長処
理モードではRB P PO2−00を選択し、圧縮処
理モードでバステストが実行されるときにはデータRP
 I LO2−00を選択する。選択されたデータRB
 1102−00は加算器122に出力される。
加算器112には、デコーダROM 112からのデー
タDROMO6−08と、セレクタ120からのデータ
RB 1 LO2−00が供給されていて、それらのデ
ータが加算される。その加算結果にざらに1が加算され
、最終的な加算結果A B P PO3−00が得られ
る。即ち、次式 %式% が、加算器122で求められる。加算結果ABPP02
−00は、セレクタ114に供給される。また、圧縮処
理モードでバステストが実行された結果、1次元符号化
を行なうことになったときは、データABPPO2−0
0は、データ八6として変換部32に供給される。デー
タABPPO3−00の第3ビツトABPPO3が、“
1′′であるときは、1バイト分の2値データの解読処
理が終了したことを意味し、データ八6によって制御部
4に知らされる。これにより、レジスタRDT1102
に保持されているデータは、バイト単位でシフトされ、
新しいバイトデータA1がRD T I 1B−23と
してラッチされる。
セレクタ114には、加算器122からのデータA B
 P PO2−00の外に、データE3としてデータD
BPAO2−00が供給されている。セレクタ114は
、制御部4からの制−信号に従って、伸長処理モードで
はデータABPPO2−00を選択し、圧縮処理モード
ではデータDBPAO2−00を選択する。
但し、伸長処理モードでも、初期値を設定するときはデ
ータDBPAO2−00を選択する。セレクタ114か
らの出力はレジスタRBPP116に入力されて保持さ
れる。レジスタRBPP116は、保持されているデー
タRB P PO2−00をセレクタ120に出力する
と共に、バレルシフタ104に解読ポインタデータとし
て出力する。セレクタ114と、レジスタRBPP11
6と、加算器122よりなる回路は解読ポインタデータ
保持回路として働く。
次ぎに第3図を参照して、カウンタ部30の構成につい
て説明する。
セレクタ124には、デコーダROM 112からのデ
ータA5と、加算器130からの出力データANLCO
8−00と、カウンタRNLC126からの出力の一部
RN L CO2−00が入力されている。また、デー
タ“2556″が予めセットされている。
制御部4からの制御信号に従って、それらの入力データ
から出力データD N L C11−00が選択される
。すなわち、伸長処理モードにおいて、メイクアップコ
ードが解読されたときは、11−06ビツト部分にニア
”−夕DROMO5−00がセットされ、05−〇〇ビ
ット部分に“0”がセットされたデータDNLCII−
00が選択される。ターミネイトコードが解読されたと
きには、11−06ビツト部分にデータ″Onがセット
され、os−ooビット部分にデータDROMO5−0
0がセットされたデータDNLC11−00が選択され
る。解読結果に従って、イメージデータが生成されてい
るときは、11−03ビット部分に加算器130の出力
ANLCO8−00がセットされ、02−00ビット部
分にデータRNLC02−00がセットされたデータD
NLC11−00が選択される。さらに、圧縮処理モー
ドでは、データ“2556 ” (100011111
1100)がデータDNLC11−00として選択され
る。
データDNLC11−00はレジスタRN L C12
6にラッチされる。データRN L C11−00のう
ちデータRN L CO3−00はデータB3としてラ
ンレングス算出部38に出力される。データB3のうち
データRN L CO2−00はセレクタ124に戻さ
れる。
1バイト分のイメージデータが生成されたとき、制御部
4からの制御信号に従って、データRN L C11−
03は加算器130に出力され、データ“−1″と加算
され、すなわち、“1″だけ引算される。加算結果AN
LCO8−00は、セレクタ124に戻されると同時に
、データB2としてセレクタ146に出力される。デー
タRNLC11−03はコンパレータ128に出力され
る。コンパレータ128の他の端子にはデータ“0” 
(000000000)が入力されており、データRN
 L C11−03はデータ“O″と比較される。これ
により伸長処理モードにおいて、バイト単位でのイメー
ジデータの生成処理が終了したかどうかが判定される。
データRN L C11−03が“0″と等しくなった
とき、そのことがデータB4によって制御部4に知らさ
れる。セレクタ124とレジスタ126と加算器130
とからなる回路はカウンタ回路として働く。
セレクタ132、レジスタ134、加算器136、セレ
クタ138、レジスタ140、引算器142、コンパレ
ータ144かうなる回路は、圧縮処理モードにおいての
み使用される。水平モードの符号化が行われるとき、I
ll 8部4からの制御信号に従って、セレクタ132
は予めセットされたデータ(000)を選択してレジス
タRNUC134に出力する。同じ色のランをカウント
した結果ランレングスが2560ピツトより長いとき、
すなわち、コンパレータ128からデータB4が制御部
4に出力されたとき、レジスタRNUC134に保持さ
れたデータRN U CO2−00は加算器136によ
り1だけ加算される。加算結果は再びセレクタ132で
選択されてレジスタRNUC134に保持される。同じ
色のランが終了したとき、データRN tJ CO2−
00はセレクタ138に供給される。
セレクタ138は入力されたデータRNLJCO2−O
Oを選択してレジスタRNUG140に出力する。
レジスタRNUG140は、2560ピツト分のランレ
ングスに対するコードが発生される毎にデータRN U
 CO2−00ヲ出力スル。データRNtJGO2−〇
〇は引算器142によって1だけデクリメントされ、セ
レクタ138によって選択されて、再びレジスタ140
に保持゛される。レジスタRNLJG140から出力さ
れるデータRN U CO2−00はまた、コンパレー
タ144に出力され、′O″となったかどうか調べられ
る。データRN U CO2−00が“Onならば、メ
イクアップコードの生成処理が終了したことを意味する
次に第4図を参照して、変換部32の構成について説明
する。
セレクタ146とレジスアRNLG148とコンパレー
タ150とセレクタ156とからなる回路は圧縮処理モ
ードで1次元コードを発生するための、およびセレクタ
152とレジスタ154とセレクタ156とからなる回
路は、圧縮処理モードで2次元コードを発生するための
生成アドレス発生回路として働く。
セレクタ146の11−03ビット部分には、データB
2としてデータA N L C08−00が入力され、
また02−00ビット部分には、データ八〇としてデー
タABPPO2−00が入力される。それらのデータは
、レジスタRNLG148にデータRNLG11−〇〇
としてラッチされる。データRNLG11−06は、コ
ンパレータ150に出力される。コンパレータ150に
は、また、データ(100111)が供給されている。
データRNLG11−06がデータ“100111″と
等しいとき、データC2によって制御部4に知らされる
。これはカウントされたランレングスが64ビツト以下
であること、すなわち、生成されるべきコードがターミ
ネイトコードであることを意味する。レジスタRNLG
148からは、デーダRNLG11−06とデータRN
LGos−ooがセレクタ156に供給される。
セレクタ152には、データF2としてデータA D 
L TO2−00がランレングス算出部38から供給さ
れており、また、データM5としてデータEGCDO3
−00がIIJI11部4から供給されている。
データEGCDO3−00に対しては、第4ビツトデー
タとしてデータ(1)がセットされ、データADLTO
2−00に対しては第4ビツトと第3ビツトデータとし
てはデータ(01)がセットされている。圧縮処理モー
ドで垂直モードコードが生成されるべきときは、データ
(01) AD LTO2−OOが選択され、水平モー
ドの識別コードあるいはEOLコード等特殊なコードが
・発生されるべきときにはデータ(1)EGCDO3−
00が選択される。
選択されたデータはデータD G CD 04−00と
してレジスタRG CD 154に出力される。レジス
タRG CD 154は、入力されるデータD G C
D 04−〇〇を保持し、データRG CD 04−0
0としてセレクタ156に出力する。
セレクタ156には、制御部4のフリップフロップFB
LKDからの、色を指定するためのビットデータDBL
KがデータM6として、また、圧縮処理の回数を示すビ
ットデータF2NGがデータM8として供給されている
。データDBLKは白を指定するとき(0)であり、黒
を指定するとき(1)である。データF2NGは、生成
されるべきコードの1回目の処理ステップでは(0)で
あり、2回目の処理ステップのときは(1)となる。
入力されるデータRN L OO5−00に対しては第
7ビツトデータとして(0)がセットされていて、入力
されるデータRNLG11−06に対しては第7ビツト
データとして(1)がセットされている。
また、入力されるデータRGCDO4−00に対しては
第6とットデータと第7ビツトデータとして(11)が
セットされている。
従って、メイクアップコードの生成処理ステップではデ
ータ(DBLK)(1)RNLGll−06(F2NG
)が選択される。ターミネイトコードの生成処理ステッ
プではデータ(DBLK)(0)RN LGO5−00
(F2NG)が選択される。また、それ以外のコードが
生成されるべきときはデータ(DBLK)(11)RG
CDO4−00(F2NG)が選択される。選択された
データは、9ビツトのアドレスデータERMAO8−0
0としてエンコーダROM 158に出力される。
エンコーダROM 158は、アドレスデータERMA
O8−00を入力して、データFROM10−00を出
力する。データFROMO7−00部分には、符号化コ
ードが出力され、セレクタ160に供給される。データ
FROM10−08部分には、データFROMO7−0
0として出力された符号化コードの長さが、“−1nさ
れた形でデータC3として出力される。
レジスタRPAT162は8ビツトのデータ長を有し、
解読処理部12からデータA2を入力してセレクタ16
0に出力する。このレジスタ162は非圧縮処理モード
の時と、ビットシフトモードの時使用される。
セレクタ160には、レジスタRPAT162からのデ
ータRPATO7−00と、色変化点検出部3Gからの
データD RE N 10−03と、および、エンコー
ダROM158から(F)7’−IFROMO7−00
が供給されている。また、データ(11111111)
とデータ(00000000)がセットされている。
伸長処理モードでは、制御部4の7リツプ70ツブFB
LKDによって現在指定されている色に従って、データ
(11111111)あるいはデータ(0000000
0)が選択される。圧縮処理モードでは、データFRO
MO7−00が選択される。非圧縮処理モード、および
ビットシフトモードでは、データRPATO7−00が
選択される。エラー処理モードではデータD RE N
 10−03が選択される。セレクタ160は、制御部
4からの制御信号に従って選択されたデータECDPO
7−00をデータC1として出力する。
次ぎに第5図を参照して、結合部34の構成について説
明する。
セレクタ160から出力されたデータECDPO7−〇
〇は、バレルシフタ5HTG164に入力される。
バレルシフタ5HTG1θ4には生成ポインタ用のレジ
スタRBPQ176から生成ポインタデータRBPQO
2−00が出力されている。バレルシフタ164は、そ
の生成ポインタデータRBPQO2−00に従って、入
力されたデータを回転シフトする。
MH方式、MR方式、および、MMR方式における伸長
処理モードにおいては、入力されるデータは全て(0)
か(1)のバイトデータであり、回転シフトしてもしな
くても同じである。しかし、圧縮処理モード、非圧縮処
理モード、ビットシフトモード、およびエラー処理モー
ドでは、入力データを回転シフトすることにより最大(
2バイト−1)長までの2!Iデータの結合が1生成処
理ステツプで処理されることができる。
例えば、生成ポインタデータが“3″(011)であり
、バレルシフタS HT G 164に入力されたデー
タが(01001110)であるとき、出力データ5H
TGO7−00は、(11001001)となる。バレ
ルシフタS HT G 164からの出力5HTGO7
−00は、レジスタROD 716gの15−08ビッ
ト部分と、結合用のセレクタEPCK166に供給され
る。
セレクタ170は、レジスタRODTI68に保持され
ているデータROD T 07−00とROD T 1
5−08のうちいずれかを、IQ御郡部4らの制御信号
に従って選択的に出力する。直前の生成処理ステップに
おいて生成が完了された2値データが、1バイト長以上
であるときはデータROD15−08が選択され、生成
が完了された2値データが1バイト長未満であるときは
データRODTO8−00が選択される。選択されたバ
イトデータはデータEPSLO−07としてセレクタ1
66に出力される。
セレクタ166は、バレルシフタS HT G 1f3
4からの出力5HTGO7−00と、セレクタ170か
らの出力データEPSLO−07を入力する。また、バ
レルシフタ164と同様に、同じ生成ポインタデータが
レジスタRBP017Gから供給されている。
セレクタ166は、その生成ポインタデータに従って、
入力データを結合し、結合された8ビツトのデータEP
CKOO−07をレジスタROD T 168の07−
00ビット部分に出力する。
レジスタROD T 168は、データROD T 0
7−00とデータRoDT15−08をセレクタ170
に出力スル。デーIRODTO7−0’C内に、2値デ
ータの生成が完了しているときには、データRODTO
7−〇〇は、伸長処理モードにおいて、次ぎの参照ライ
ンデータとして使用するために、データD1としてバッ
ファメモリ制御16に出力される。また、データROD
 T 07−00は、出力レジスタROUT172を介
してデータD2として外部に出力される。
バレルシフタ5HTG164とセレクタEPCK166
とレジスタROD T 168とセレクタ1γ0とから
なる回路はホールドループ回路として働く。
加算器178には、エンコーダROM 158からのデ
ータC3とレジスタRBPQ176の生成ポインタデー
アRB P QO2−00が入力されている。圧縮処理
モードでは、データEROM10−08は、符号化され
たコードの実際の長さより1小さいコード長が出力され
ているので、加算器118での/IO算結果ABPQO
3−00は次ぎのようにして計算される:ABPQ03
−00−FROM10−08+ RB P QO2−0
0+ 1 この加算結果ABPQO3−00のうち下位3ビットA
BPQO2−00はセレクタ174に出力される。また
、第3ビツトが(1)のときは、1バイト分の生成処理
が完了したことを意味し、データD3により制御部4に
知らされる。
セレクタ174には、色変化点検出部36からデータE
3としてデータDBPAO2−00と、加算器178か
らのデータABPQO2−00が入力されている。また
、データ“0″が予めセットされている。
伸長処理モードとビットシフトモードのときは、I#j
I11部4からの制御信号に従ってデータDBPA・0
2−00が選択される。また、圧縮処理モードのときは
、データABPQO2−00が選択される。また、初期
状態と、エラー処理モードでは、データ“0”が選択さ
れる。選択されたデータはレジスタRBPQIγ6に出
力される。
レジスタR8P0176は、セレクタ174からのデー
タを保持し、制御部4からの制御信号に従つて、バレル
シフタS HT G 164とセレクタEPCK166
に生成ポインタデータとしてを出力する。加算器178
とセレクタ174とレジスタ176とは、生成ポインタ
データ保持回路として働く。
次ぎに第6図を参照して、色変化点検出部36の構成に
ついて説明する。
レジスタRREF180には、バッフツメモリ制御部1
6を介して参照ラインバック7メモリ6から参照ライン
データがデータG4として供給されている。レジスタR
RE F 180は21ビツトのデータ長を有する。レ
ジスタRREF180は、制御部4からの制御信号に従
って、データRRE FO8−10がデータRRE F
OO−02になるように、データRREF11−18が
データRRE FO3−10になるように、データRR
E F 19−26がデータRREFII−18になる
ようにバイト単位でデータをシフトし、その後、19−
26ビツト部分にデータG4を入力する。レジスタRR
EF180に保持されているデータRRE FOO−2
6のうちデータRRE FOO−21がフッネルシフタ
182に出力される。
フッネルシフタ182はデータRRE F 00−21
を入力し、レジスタRB P A 200からのaOポ
インタデータRBPAO2−00に従って選択された1
5ビツトのデータ5HTPOO−14を出力する。例え
ば、aOポインタデータRBPAO2−00が“5″で
あるとき、データ5HTPOO−14は、データRRE
F05−19に対応する。すなわち、データRREFO
O−21の第6ビツトから15ビツト分のデータが選択
される。レジスタRRE F 180とフッネルシフタ
182とからなる回路は参照ラインデータ選択回路とし
て働く。
色反転回路184には、バレルシフタ182からのデー
タ5HTPOO−14と、また、制御部4からデータM
9が入力されている。圧縮処理モードでは色反転回路1
84は画素の色変化の方向を白から黒に統一するように
働く。従って、白ランから黒ランへの色変化点を検出す
るときには、色反転回路184は入力されたデータをそ
のまま出力する。黒ランから白ランへの色変化点を検出
するときには、色反転回路184は入力されたデータを
反転して出力する。また、エラー処理モードでは、入力
されたままの色で入力データを出力する。色反転回路1
84は色統−されたデータDRENOO−14を変化点
検出器186に出力する。また、データDREN03−
10はデータE1として変換部32に出力される。
変化点検出器186は、色反転回路184からのデータ
DRENOO−14と、制御部4からデータDNDPO
O−10とランの第1データとラインの第1データとを
制御データM7として入力し、色変化点を検出する。色
変化の方向が統一されているので、色変化点はビットデ
ータ(0)とされる。
検出された色変化点データD RE Co1−14はプ
ライオリティエンコーダ188に出力される。
プライオリティエンコーダ188は、変化点検出器18
6からの色変化点データDRECOI−14を入力する
。入力データDRECOI−14のうちLSB位置に最
も近い色変化点のビット位置が2進数に変換され、変換
されたデータB 1 D TO3−00が出力される。
従って、データDRECO1−14の第5ビツトが色変
化点とされたときには、データB 1 D TO3−0
0は“5” (0101)となる。この色変化点の位置
をレジスタRODT168のデータRODTOO−08
と関連させると、この第5ビツトはビットデータROD
TO1に対応する。このように、検出された色変化点デ
ータは、着目ブロック内のビット位置に関して“+4″
′した形になっている。検出されたデータB 1 D 
TO3−00はデータE2として出力される。
色反転回路184と変化点検出器186とプライオリテ
ィエンコーダ188とからなる回路はb1点検出回路と
して働く。
セレクタ192にはレジスタRBPA200からのデー
タRBPAO2−00が供給されている。また、データ
(111)がセットされている。制御部4からの制御信
号に従って、圧縮処理モード、伸長処理モード、ビット
シフトモード、非圧縮処理モード、およびエラー処理モ
ードでは、データRBPAO2−00が選択され、初期
状態の時はデータ(111)が選択される。選択された
データは加算器196に出力される。セレクタ194に
は、解読処理部12からデータA7としてデータDRO
M08−06が、また、IIJI081S4 カラy’
−タM10.!=Lrデータ5TATO2−00が入力
されている。また、データ“0″がセットされている。
セレクタ194は、制御部4からの制御信号に従って、
圧縮処理モードでは、データDROMO8−06を選択
する。
圧縮処理モードのラインの先頭においてはデータ5TA
TO2−00を選択する。伸長処理モード、ビットシフ
トモード、非圧縮処理モード、およびエラー処理モード
のラインの先頭においてはデータ“O”を選択する。選
択されたデータは加算器196に出力される。
加算器196は、セレクタ192と194から入力され
たデータを加算し、加算結果にざらに、制御部4からの
指示に従って“0″または1″を加算する。圧縮処理モ
ード、伸長処理モード、および非圧縮処理モードのライ
ンの先頭においては、Ld ONを加算する。ビットシ
フトモード、およびエラー処理モードのラインの先頭に
おいてはデータ′1′を加算する。また、圧縮処理モー
ドでaOポインタデータを更新するために、“1”を加
算する。最終的な加算結果A I 0MO2−00はセ
レクタ198に出力される。
セレクタ198は、加算器196からのデータA 10
MO2−00と、ランレングス算出部38からのデータ
F1としてのデータA31AO2−00を入力する。セ
レクタ198は、llll11部4からの制御信号に従
って、圧縮処理モードではデータA10M02−〇〇を
選択し、伸長処理モードおよび非圧縮処理モードではデ
ータABIAO2−00を選択する。選択されたデータ
DBPAO2−00はレジスタRBPA200に出力さ
れ、新たなaOポインタデータとされる。また、データ
DBPAO2−00はデータE3として、伸長処理モー
ドでは変換部34に出力され、圧縮処理モードでは解読
処理部12に出力される。
レジスタRBPA200は、セレクタ198からのデー
タDBPAO2−00を入力して保持し、データRBP
AO2−00を77ネルシフタ182にaOポインタデ
ータとして出力する。また、データE5としてランレン
グス算出部38に出力する。レジスタRBPA200、
セレクタ192と194、加算器196、およびセレク
タ198とからなる回路はaOポインタデータ保持回路
として働く。
次ぎに第7図を参照して、ランレングス算出部38の構
成について説明する。
セレクタ201の第3ビツトには制御部4からデータM
11が供給されている。その第Oから第2ビツトにはカ
ウンタ部30からデータRN L C02−G。
が供給されている。セレクタ202の第3ビツトにはデ
ータ“0″がセットされている。その第0から第2ビツ
トには、データE5としてデータRBPAO2−00が
供給されている。セレクタ201とセレクタ202の出
力は伸長処理モードのとき加算器204に出力される。
加算器204は、セレクタ201とセレクタ202の出
力を加算する。このとき、1次元伸長処理モードと非圧
縮処理モードのときのラインの左端バイトのときは、副
葬部4からの指示に従って、さらに“1”が加算される
。最終的な加算結果AOPLO3−Goは、セレクタ2
06に出力される。
セレクタ206は、03−00ビット部分に加算器20
4からのデータAoPLO3−00ヲ入カシ、第4ビツ
トに制御部4からデータM12を入力し保持する。保持
されているデータは加算器210に出力される。
セレクタ208には、データE2として色変化点検出部
36からデータB 10 TO3−00が供給されてい
る。また、データ(11111)が予めセットされてい
る。制御部4からの制御信号に従って、1次元コードの
伸長処理モードと、非圧縮処理モードでは、データ(1
1111)が選択され、2次元コードの伸長モードでは
、データ(0)+データB I D TO3−00が選
択される。選択されたデータは、加算!1210に出力
される。
加算器210は、セレクタ206と208からのデータ
を加算する。1次元コードの伸長処理モードと、非圧縮
処理モードでは、その加算結果にざらにデータ“1″が
加算される。また、非圧縮処理モードの最終ステップで
は、更に加算されるデータは“O″である。また、2次
元コードの伸長モードでは、データ“0″が加算される
。1次元コードの伸長処理モードと、非圧縮処理モード
において、最終的な加算結果ABILO4−00の第4
ビツトと第3ビツトが(01)となったとき、結合部3
4において1バイト分の2値データの合成が終了したこ
とを示し、“0”であれば、現在合成処理中のバイト中
に合成処理が終了したことを示す。このことは、データ
F1によって制御部4に知らされる。最終的な加算結果
A31LO4−00はデータF1として色変化点検出部
36に出力される。
セレクタ212は、データB3としてデータRN L 
CO3−00と、データA5としてデータDROMO3
−00を入力する。制御部4からのIiII1ml信号
に従って、伸長処理モードでは、データRN L CO
3−00が選択され、圧縮処理モードではデータDRO
MO3−00が選択される。選択されたデータは加算器
216に出力される。
反転回路214は、データE2として色変化点検出部3
6からのデータB 1 D TO3−00と制御部4か
らの制御データとしてM2Sを入力する。2次元伸長処
理モードでは、データ81DTO3−00をそのまま素
通しし、圧縮処理モードではデータB 1 D TO3
−00は反転される。即ち、“0”は“1″に、′1”
は“0″′に変更される。反転回路214からのデータ
は加算器216に出力される。
加算器216は、反転回路214からの反転データとセ
レクタ212からのデータを入力し・、それらを加算す
る。2次元伸長処理モードでは加算結果をデータADL
TO3−00として出力する。圧縮処理モードでは、そ
の加算の結果に更にデータ″1″が加算される。すなわ
ち、これにより、反転回路214に入力される8 1 
D TO3−00の2の補数を求めたことになる。圧縮
処理モードでは、この加算の結果がデータA D L 
TO3−00として出力される。
このデータABIAの第3ビツトが“1”ならば、結合
部34において、1バイト分の2値データの合成が終了
したことを示し、0“であれば、現在合成処理中のバイ
ト中に合成処理が終了したことを示す。このことは、デ
ータF1によって制御部4に知らされる。また、データ
F2は変換部32にも供給される。
次ぎに第8図を参照して、バッファメモリ制御部16の
構成について説明する。
セレクタ224には、加算器228の出力ABFA10
−00がセレクタ224に入力されている。さらに、セ
レクタには、データ“−4″が予めセットされている。
制御部4からの制御信号に従って、初期値として“−4
”が選択される。また、参照ラインバッフ7メモリ6を
アクセスするためには、データABFA10−00が選
択される。選択されたデータは、レジスタRBFA22
6に出力される。レジスタ226は入力されたデータを
保持し、加算器228に出力する。
セレクタ230には、データ“1″と“4″(100)
が予めセットされている。制御部4の制御信号に従って
、イメージデータを参照ラインバッファメモリ6に格納
するときは、データ“1″が選択され、参照ラインデー
タとしてのイメージデータを読み出すときはデータ“4
”が選択される。選択されたデータは加算器228に出
力される。
加算器228は、レジスタRB F A 226からの
データとセレクタ230からのデータを加算する。加算
結果ABFAIO−00は、セレクタ224と、コンパ
レータ220と、および、セレクタ232に出力される
レジスタE N D 8218には、データM14とし
て1ライン分のランレングスデータが制御部4から予め
与えられている。レジスタE N D B 218に保
持されているデータのうち、データE N D 813
−03はコンパレータ220に出力される。
コンパレータ220には加算器228からのデータAB
FA10−00も供給されている。2つのデータは比較
され、一致したとき、データG1が制御部10に出力さ
れる。すなわち、これにより2値データの処理が、ライ
ンの最終バイト位置まで進んだことを確認することがで
きる。レジスタEND8218に保持されているデータ
ENDBO2−00はコンパレータ222に出力される
。コンパレータ222には、データE5としてデータR
BPAO2−00が供給されている。これらのデータは
比較され、一致するとき、データG2によってIIJI
II1部4に知らされる。これにより、最終バイト位置
の確認に続き、ラインの完全な終端まで処理が進行した
ことが確認される。
バッフツメモリ制御部16の、以上述べた回路部分によ
りライン終端検出部44が構成されている。
セレクタ232は、加算器228からのデータA B 
F A 10−00を10−00部分に入力する。また
、参照ラインデータw[)07−00が供給されている
第11ビツトには制御部4から制御データM15を入力
する。この制御データM15は、参照ラインバッファメ
モリ6の領域を指定するためのものであり、参照ライン
バッファメモリ6に対しては信号RAHとして出力され
る。セレクタ232はミ制御部4からの制御信号に従っ
て、スタティックRAMが参照ラインバッファメモリ6
として接続されているときはデータABFA10−00
を選択し、FIFOメモリが参照ラインバッフ7メモリ
6として接続されているときはデータWDOγ−00を
選択する。セレクタ232の出力はレジスタRADR2
34に出力される。
レジスタRA D R234は、入力されるデータを保
持し、オフチップドライバ236を介して参照ラインバ
ッファメモリ6に出力する。セレクタ232とレジスタ
234とオフチップドライバ236からなる回路はアド
レス部として働く。
セレクタ238には、データA2としてデータRD T
 I 00−07が、またデータD1としてデータRO
DTOO−07が入力される。また、データ(0000
0000)が予めセットされている。制御部4からのw
4御信号に従って、伸長処理モードではデータROD 
TOO−07が選択され、圧縮処理モードではRDTl
oo−07が選択される。初期状態では、参照ラインバ
ッファメモリ6をクリアするためにデータ(00000
000)が選択される。選択されたデータは、オフチッ
プドライバ240を介して参照ラインバッファメモリ6
に出力される。また、参照ラインバッフ7メモリ6から
読み出された参照ラインデータはレシーバ242を介し
て、データG4として色変化点検出部3Gに出力される
次ぎに第9図を参照して、色変化点検出部36の変化検
出器186の構成について説明する。
基本的には、白(0、)から黒(1)となる変化点を見
付けるために色反転回路184からのデータDRENO
O−14の各ビットと、このD RE N 00−14
の各ビットを反転して1ビツトずつ右側にシフトした各
ビットとの論理積をとった後、更にラインの終了処理に
おいて、終端点の右側に仮想の変化点を補うためのデー
タD N D POO−10との否定和をとるという構
成になっている。この基本構成に更に、ラインの第1ス
テツプでの処理とランの第1ステツプでの処理に対応す
るために特別な回路が付加されている。ラインの第1ス
テツプでの処理とは、ラインの最初の1バイトの処理の
ことである。第25図aに示されるように入力データの
与え方によってはバイトの境界がラインの左端に一致し
ない場合がある。そして、aO点の真上にb1点が来る
ことがある。このような場合、b1点が変化点として検
出されるために1つ前のビットが(0)となっていなけ
ればならない。この処理をするのがD RE N 02
とtitim信号“反転(ラインの第1)″との否定槽
をとるNANDゲート81−2である。ラインの第1ス
テツプの処理では、制御信号“反転(ラインの第1)”
は(0)となる。従って、このNANDゲート81−2
により、ラインの第1ステツプでの処理においては、D
 RE N 02は必ず(0)として扱われる。つまり
、DRECO3をb1点として検出できる。
ランの第1ステツプでの処理では、変化点を検出した後
、新たなランの処理に入り、最初の1バイトの処理のこ
とである。ランの第1ステツプでの処理では、第25図
すに示されるように、b1点はaO点より右側にあるの
で、aO点から左側の変化点が検出されてはならない。
このような処理をするのが1lltll信号“反転(ラ
ンの第1)″である。この制御信号“反転(ランの第1
)”はランの第1ステツプでの処理では、(0)となる
。従って、このtill ”tA倍信号D RE N 
00の反転信号とDRENolとの否定槽をとるNAN
Dゲート81−1に入力することにより、出力データD
RECO1は必ず(1)となる。同様にこの制御信号を
DRENOIの反転信号とDRENO2との否定積をと
るNANDゲート81−2に入力することにより、出力
データDRECO2は必ず(1)となる。
また、ラインの第1ステツプでの処理の場合、ランの第
1ステツプでの処理でもある。このような場合には、D
RECO3をb1点として検出しなければならない。し
かし、ラインの第1ステツプでの処理では無く、単にラ
ンの第1ステツプでの処理の場合にはDRECO3を変
化点として検出してはならない。このような処理をする
のがMl信号“反転(ラインの第1)”を反転するNO
Tゲート84と、NOTゲート84からの出力と制御信
号“反転(ラインの第1)”との論理和をとるORゲー
ト83である。ORゲート83の出力はDREC03を
出力するNANDゲート81−3に入力される。
ラインの第1ステツプでの処理であり、かつランの第1
ステツプでの処理である場合、ORゲート83の出力は
(1)となり、DRECO3をb1点として検出するこ
とできる。一方、ラインの第1ステツプでの処理ではな
く、単にランの第1ステツプでの処理の場合には、OR
ゲート83の出力は(0)となり、DRECO3を変化
点として検出しない。
データDNDPOO−10は、前述したように終端点の
1ビツト右側に仮想の変化点を補うデータであり、通常
はD N D POO−10の各ビットは(0)である
。ラインの最終のデータを処理する際、データDNDP
OO−10のうち、終端点の1ビツト右側に位置するビ
ットのみが(1)となる。したがって、ANDゲートか
ら出力される各ビットデータと0NDPOO−10の各
ビットとの否定用をとると、終端点の1ビツト右側に仮
想の変化点が補われる。
データDRENOO−14は、このような回路を介して
、変化点候補が検出される。データDREC01−14
において、変化点候補は(0)となり、それ以外は(1
)となる。変化点候補を示すデータD RE C01−
14はプライオリティエンコーダ188に入力される。
プライオリティエンコーダ188はD RE C01−
14のうち最も左側に位置する変化点候補を検出し、こ
のビット位置を示すデータB 1 D TO3−00を
出力する。
次ぎに第10図を参照して、ビット誤りによりランに対
するコードをEOLコードと誤認されることを防ぐため
のセーフティ回路を説明する。この回路は制御部4のメ
インシーケンサに含まれる。
このセーフティ回路は、ANDゲート75とORゲート
76とANDゲート78からなる。AANDゲート75
には信号MCHDECと信号5AFTYが供給されてい
る。信号MCHDECはMH方式とMR方式では2個の
EOLコードを、MMR方式では1個のEOLコードを
解読したとき、次ぎのコードを解読するために出力され
る。信号5AFTYは、MH方式とMR方式ではEOL
コードを連続して2個検出(MMR方式では1個)でリ
ターンツコントロール(RTC)とするか、あるいは連
続3個検出(MMR方式では2個)でRTCとするかを
切換えるゲートである。EOLコード211!lなら信
号5AFTYは(0)であり、EOLコード2個なら信
号5AFTYは(1)である。信号5AFTYは第1図
に示されるメインシーケンサ中のレジスタ(図示せず)
に値をセットする。信号5AFTYを(1)とする場合
は、コードデータを入力する前にこのレジスタに書込ん
でおく。ANDゲート75の出力はORゲート76に供
給される。
ORゲート76には信号MDECODも供給されている
。信号MDECODはMHあるいはMR方式で1個目の
EOLコードを解読したとき出力される。ORゲート7
6の出力はANDゲート78に出力される。
ANDゲート78には信号DECIDの反転信号も供給
されていて、ORゲート76からの出力と論理積が取ら
れ、信号DECODEとして出力される。この信号DE
CIDの反転信号は、解読処理部12が動作中であるこ
とを示す信号であり、解読処理部12が動作中のときは
信号DECODEを出さないようにしている。
λ6    パ 次ぎに第N図から第質図を参照して、参照ライ、ンバソ
ファメモリ6と圧縮伸長処理装置1との接続関係を説明
する。
最初に、第N図を参照して、参照ラインバッフ7メモリ
6として、高速スタティクメモリSRAM (例エバ、
東芝製17)7MM2018D)6−1を使用する例を
説明する。参照ラインデータアドレスは、圧縮伸長処理
装置1のRA 09−00からSRAM6−1に出力さ
れる。このSRAM6−1が、7MM2018Dのとき
、7MM2018Dは、16にビット、すなわち2にバ
イトの容量を有する。したがって、圧縮伸長処理装置側
のアドレスバスの第10ビツトラインは使用されない。
代わりに、領域切換信号RAHが、アドレスバスの第1
0ビツトラインに接続されている。
参照ラインデータの交換は、圧縮伸長処理装置1の参照
ラインデータバスRD 07−00とSRAM4−1の
I10ポート01−08との間で行われる。また、圧縮
伸長処理装置iからは、メモリライト信号MWRがS 
RA M 4−1のライトイネーブル端子WEに、およ
びメモリリード信号MRDがアウトプットイネーブル端
子OEに供給されている。また、SRAM6−1のチッ
プセレクト端子C8は接地されている。
第n図は、参照ラインバッファメモリ6としてファース
トインファーストアウト(FIFO)タイプのメモリ6
−2をシングルバッファモードで使用したときの例であ
る。このFIFOメモリとしては例えば日本電気製のμ
PD41101Gを使用することができる。圧縮伸長処
理装置1からは、SRAMが接続されたとき参照ライン
データアドレスを出力するためのラインから参照ライン
データが出力される。出力された参照ラインデータはF
IFOメモリ6−2の端子[) I N 07−00に
入力さレル。F I FOメtlJ6−2 (7)I子
DOUTO7−00から読み出された参照ラインデータ
は参照ラインデータバスラインRD 07−00を介し
て圧縮伸長処理装置1に入力される。
圧縮伸長処理装置i1はFIFOメモリ6−2に、メモ
リライト信号MWRをライトイネーブル端子WEに・、
メモリリード信号MRDをリードイネーブル端子REに
、およびメモリリセット信号MR8Tをリセットライト
端子R8TWとリセットリード端子R8TRに供給する
。FIFOメモリ6−2のクロック端子WCLKとRC
LKにはクロック20LKが供給されている。しかし、
FIFOメモリ6−2がシングルバッファモードで使用
されているので、領域切換え用の信号RAHは圧縮伸長
処理装置1から出力されない。
パ 次ぎに、第井図は、参照ラインバッファメモリ6として
ファーストインファーストアウト(F I FO)タイ
プのメモリ6−2をダブルバッファモードで使用したと
きの例である。このFIFOメモリとしても、前述と同
様にして、例えば日本電気製のμPD41101Cを使
用することができる。圧縮伸長処理装置1からは、SR
AMが接続されたとき参照ラインデータアドレスを出力
するためのデータラインから参照ラインデータが出力さ
れる。出力された参照ラインデータはF■FOメモリ6
−3と6−4の端子DINO7−〇〇にそれぞれ入力さ
れる。FIFOメモリ6−2と6−4の端子DOUTO
7−00から読み出された参照ラインデータは参照ライ
ンデータバスラインRDO7−00を介して圧縮伸長処
理装置1に入力される。
圧縮伸長処理装置1からのメモリライト信号MWRはイ
ンバータ5−1に供給される。また、メモリリード信号
MRDはインバータ5−2に供給されている。領域切換
信号RAHはNANOゲート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に、またFIFO
6−4のライトイープル端子WEとリードイネーブル端
子REに供給されている。
また、圧縮伸長処理装置1のリセット信号MR3Tは、
・FIFO6−3のリセットライト端子R8TWとリセ
ットリード端子R8TRに、またFIFO6−4のリセ
ットライト端子R8TWとリセットリード端子R8TR
に供給されている。クロック信号2CLKは、FIFO
6−3と6−4のクロック端子WCLKとRCLKに供
給されている。
以上のように構成することにより、ダブルバッフ7モー
ドにおいて、領域借換え信号RAHに従って、PIFO
6−3から参照ラインデータが読み出されるときには、
FIFO6−4に書込まれる。
また、PIFO6−4から参照ラインデータが読み出さ
れるときには、PIFO6−3に1込まれる。
FIFOメモリをダブルバッファで使用する場合には、
2つの記憶領域を1つにして使用することによりライン
長が2倍にセットされたときでも使用することができる
。そのときには、領域切換信号RAHはラインごとに切
換えられるのではなく、参照ラインデータを読み出すた
めにどちらか一方のFIFOメモリを指定し、参照ライ
ンデータを書込むために他方のFIFOメモリを指定す
る。
次ぎに本発明による圧縮伸長処理装置を組込んだシステ
ム例を第11図を参照して説明する。
そのシステム例によれば、システムバス28に、CP 
U 20、システムメモリ21、DMAコントローラ2
2、圧縮伸長処理装置1、および双方向バスドライバ2
4が接続されている。また、イメージバス29にはイメ
ージメモリ26、圧縮伸長処理装置1、および双方向バ
スドライバ24が接続されている。
本発明による圧縮伸長処理袋[11には参照ラインバッ
ファメモリ6が接続されている。イメージメモリ26は
、例えば圧縮伸長処理装置1によって伸長処理されたイ
メージデータが格納される。また、システムメモリ21
にはコードデータが格納されている。DMAコントロー
ラ22は、例えばシステムメモリ21とイメージメモリ
26の間で、圧縮伸長処理装置1あるいは双方向バスド
ライバ24を介してデータを転送する。
CP LJ 20に伸長処理命令が入力されたとする。
CP Ll 20は、コードデータの圧縮伸長処理袋@
1への入力に先立ち、圧縮伸長処理装置1にセットアツ
プコントロールデータを送る。このセットアツプコント
ロールデータには、1ライン分のランレングスを示すデ
ータ、コードデータの処理方式(MH,MRMあるいは
MMR)を示すデータが含まれる。このセットアツプコ
ントロールデータにより制御部4のシーケンサはセット
アツプされる。その後、CP LJ 20自身あるいは
CP U 20から命令されたDMAコントローラ22
がシステムメモリ21に格納されているコードデータを
圧縮伸長処理装置1に転送する。圧縮伸長処理装置1は
セットアツプコントロールデータによって指定された処
理を実行する。処理されたデータはイメージメモリ26
に格納される。当然、圧縮伸長処理装置1はステータス
データをCP U 20に出力する。
また、CP U 20に圧縮処理命令が入力されたとき
は、伸長処理とは反対にイメージメモリ26からイメー
ジデータが読み出され、コード化される。
コード化されたデータはシステムメモリ21に格納され
る。CP U 20からセットアツプコントロールデー
タが出力されるのは伸長処理の場合と同様である。
次ぎに本発明による圧縮伸長処理装置の動作を説明する
最初に解読処理部12の動作を説明する。
処理されるべき2値データがレジスタ102に入力され
る。このとき、レジスタ102に既に保持されているデ
ータは左方向にバイト単位でシフトされる。レジスアR
DT1102に保持されているデータのうちRDTI0
9−23がファネルシフタ104に入力される。ファネ
ルシフタ104はレジスタ116からの解読ポインタデ
ータに従って選択されたデータS HT D 00−0
7を出力する。
データ5)−ITDOO−07は、色反転回路106を
素通ししてセレクタ110に供給される。セレクタ11
0には制御部4から制御データRD S QO4−02
が供給されている。また、マスクデータもマスクゲート
108から供給されている。セレクタ110は、制御部
4からの制御信号に従って、それらの入力データからア
ドレスデータDRMA10−00を作成し、デコーダR
OM112に供給する。その時のアドレスフォーマット
は第11図に示されている。
デコーダROM 112からは第13図に示される出力
フォーマットを有するデータが出力される。データDR
OM11−09は次状態データであり、制御部4に送ら
れる。この次状態データは、次ぎに参照されるべきテー
ブルを指定するため等に使用される。データDROMO
8−06にはくコード長−1)を示すデータが出力され
る。このフードレングスデータは加算器122と色変化
点検出部36に供給される。データDROMO5−00
には解読されたコードのランレングスデータが出力され
る。
加算器122とレジスタRB P P 116によって
構成される解読ポインタデータ保持回路はつぎのように
動作する。ここで、レジスタRBPP116からの前回
の指示値が“3″(011)であるとする。
伸長処理モードでは、今回解読されたコードデータの長
さが7(−111)のとき、解読コードレングスは1だ
けデクリメントされた値なので、y’コ−ダROM11
2からは6(−110)が出力される。従って、加*器
122での加算結果A B P PO3−00は、 A B P PO3−00−R8P PO2−00+ 
D R0MO8−06+ 1 −001+110+1 となる。この加算結果RB P PO3−00のうち、
RB P PO2−00はセレクタ114を介してレジ
スタRBPP116の新たな指示値となる。また、加算
結果A B P PO3−00のうち、第3ビツトデー
タはデータA6としてIIJw部4に供給される。これ
は、1バイト分の解読処理が終了したことを意味し、新
たなコードデータがA1としてレジスタRDT1102
の16−23部分にラッチされる。
デコーダROMからのデータA5としてのランレングス
データは、セレクタ124を介してレジスタRNLC1
26にラッチされる。このとき、メイクアップコードに
対するランレングスデータは11−06ビツト部分にラ
ッチされ、ターミネイトコードと2次元コードに対する
ランレングスデータは05−00ビット部分にラッチさ
れる。
レジスタRNLC126に保持されているランレングス
データは1バイト分のイメージデータが生成されるたび
に“1″だけ、11−03ビット部分からデクリメント
される。デクリメントされた値は“O″と比較され、当
該ランレングスデータに対するバイト単位のイメージデ
ータの生成が終了したかどうかが判定される。データR
NLC11−03が“O″と等しくなったとき、データ
B4によって制御部4に知らされる。データDNLC1
1−00のうち、データRN L CO2−00がセレ
クタ124にデータB3によって戻される。また、1バ
イト未満のランレングスに対するイメージデータの生成
を行なうために、データRN L CO3−00はデー
タB3として、ランレングス算出部38に出力される。
次ぎにデコーダROM 112のテーブルについて説明
する。
デコーダ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、b。
およびdに示されるように、7ビツト以下の黒ランター
ミネイトコードを解読処理単位として解読し、7ビット
以上の黒ランメイクアップコードあるいは黒ランターミ
ネイトコードの先頭ビットから7ビツトを解読処理単位
として解読し、非圧縮モード開始コードとフィルスキッ
プコードの先頭から7ビツトを解読処理単位として解読
するためのテーブルである。
1次元黒2コードテーブルは、第12図a、b、および
dに示されるように、7ビット以上の黒ランメイクアッ
プコードあるいは黒ランターミネイトコードのうち先頭
ビットから0”が6ビツト以上続くとき、第7ビツト目
以降のコード部分を解読処理単位として解読し、非圧縮
モード開始コードとEOLコードとフィルスキップコー
ドの第7ビツト以降を解読処理単位として解読するため
のテーブルである。
1次元黒3コードテーブルは、第12図a1b。
およびdに示されるように、7ビット以上の黒ランメイ
クアップコードあるいは黒ランターミネイトコードのう
ち先頭ビットから“○”が5ビット以下続くとき、5ビ
ツト目以降のコード部分を解読処理単位として解読する
ためのテーブルである。
2次元コードテーブルは、2次元コードデータを解読す
るために、2次元コードと、水平モードの識別コードと
、先頭から連続する6ビツトの“0′”を解読処理単位
として解読するためのテーブルである。
非圧縮モードコードテーブルは非圧縮モードコードを解
読するためのテーブルである。
特殊コードテーブルは、伸長処理モードでの特殊コード
データと、圧縮処理モードでのイメージデータを解読す
るために、伸長処理モードのページの先頭においてEO
Lコードの先頭の8ビツトの“0″と9ビツト以降のコ
ード部分とを解読処理単位として解読し、EOLコード
に続くタグビットを解読処理単位として解読し、フィル
スキップコードを解読し、圧縮処理モードでイメージデ
ータの8ビツト中に“1”が存在するときは先頭の1”
までを解読処理単位として解読し、8ビツト中に“1n
が存在しないときは8ビツトの“0”を解読処理単位と
して解読するためのテーブルである。
このとき、マスクゲート108はデータDTIS00−
07とデータRDSQO4−02とによって、第11図
に示されるようにマスクデータを発生する。すなわち、
1次元黒1コードテーブルではデータDT l5OO−
01が(00)rなイトキ、データDTIS03−06
は(1111)となる。2次元コードテーブルではデー
タDTISOO−01が(OO)でないとき、データD
TISO3−06は(1111)となる。非圧縮モード
コードテーブルではデータDTISO3−04が(OO
)でないとき、データDTISOO−02は(111)
となる。特殊コードテーブルではデータDTISOO−
01が(00)でないとき、データDTIS03−07
は(11111)となり、データDTISOO−05が
(00)でないとき、データDT I 806−07は
(11)となる。このようにして、圧縮伸長処理装置し
81の中でデコードROM112のチップ面積を減少さ
せることができる。
以上のテーブルが参照されたときの出力フォーマットが
第13図に示されている。データDROM11−09は
、次状態データであり、第14図aに示されるようなデ
ータである。
(000)はエラー発生を示し、(001)はフィルス
キップの解読を示す。(010)はEOLコードを検出
するとき、あるいはコードの解読が未完(白Aから白B
に、黒Aから黒已に)であることを示す。(011)と
<100)はそれぞれメイクアップコードとターミネイ
トコードの解読終了を示す。<101>は非圧縮モード
に入ることを示す。(110)は黒Aから黒Cに遷移す
ることを示す。(111)は圧縮処理等を示す。
ランレングスデータの出力フォーマットが第14図すに
示される。ここで、垂直モードコードに対するランレン
グスデータは“−4”の形で出力される。詳細が第14
図Cに示される。
また、非圧縮モードコードテーブルと伸長処理の場合の
特殊コードテーブルの解読状態が第14図dに示される
前記1次元臼1コードテーブルは、8ビツト以下の白ラ
ンメイクアップコードあるいは白ランターミネイトコー
ドに対しては次状態データと、解読処理単位の長さから
“1”だけデクリメントしたコードレングスデータと、
および、コードブロックに対するランレングスデータを
出力し、ラン長1728以下で9ビット以上の白ランメ
イクアップコードのうち8ビツト目までのコード部分に
対しては次状態データと、“2′のコードレングスデー
タと、および、90″のランレングスデータを出力し、
およびラン長1792以上で9ビット以上の白ランメイ
クアップコードのうち7ビツト目までのコード部分に対
しては次状態データと、“6”の長さデータと、および
、“Onのランレングスデータを出力する。
1次元臼2コードテーブルは、ラン長1128以下で9
ビット以上の白ランメイクアップコードのうち3ビツト
目以降のコード部分に対しては次状態データと、解読処
理単位の長さから“1″だけデクリメントしたコードレ
ングスデータと、および、コードブロックに対するラン
レングスデータを出力する。
1次元黒1コードテーブルは、7ビツト以下の黒ランタ
ーミネイトコードに対しては次状態データと、解読処理
単位の長さから1”だけデクリメントしたコードレング
スデータと、および、コードブロックに対するランレン
グスデータを出力し、7ビット以上の黒ランメイクアッ
プコードあるいは黒ランターミネイトコードの先頭ビッ
トから7ビツトのコード部分に対しては、先頭ビットか
ら0″が5ビット以下続くときは次状態データと、“4
″のコードレングスデータと、および、“ONのランレ
ングスデータを出力し、先頭ビットから“ONが6ビツ
ト以上続くときは次状態データと、“6”のコードレン
グスデータと、および、“ONのランレングスデータを
出力し、非圧縮モード開始コードとフィルスキップコー
ドの先頭から7ビツトに対しては次状態データと、“6
″のコードレングスデータと、および、40″のランレ
ングスデータを出力する。
1次元黒2コードテーブルは、7ビット以上の黒ランメ
イクアップコードあるいは黒ランターミネイトコードの
うち先頭ビットから0”が6ビツト以上続くときの第7
ビツト目以降のコード部分に対しては次状態データと、
wI読処理単位の長さから“1°゛だけデクリメントし
たコードレングスデータと、および、コードブロックの
ランレングスデータを出力し、非圧縮モード開始コード
とEOLコードとフィルスキップコードの第7ビツト以
降のコード部分に対しては次状態データと、解読処理単
位の長さから“1”だけデクリメントしたコードレング
スデータと、および、40″のランレングスデータを出
力する。
1次元点3コードテーブルは、7ビット以上の黒ランメ
イクアップコードあるいは黒ランターミネイトコードの
うち先頭ビットから“ONが5ビット以下続くときの6
ビツト目以降のコード部分に対しては次状態データと、
解読処理単位の長さから“1?′たけデクリメントした
コードレングスデータと、および、コードブロックのラ
ンレングスデータを出力する。
2次元コードテーブルは、2次元コードのうち垂直モー
ドコードに対しては次状態データと、解読処理単位の長
さから1″だけデクリメントしたコードレングスデータ
と、および、コードブロックのランレングスデータに対
応するデータを出力し、2次元コードのうちバスモード
コードに対しては次状態データと、解読処理単位の長さ
から1”だけデクリメントしたコードレングスデータと
、および、予め決められたコードを出力し、水平モード
の識別コードと連続する7ビツトの0″に対しては次状
態データと、解読処理単位の長さから“1nだけデクリ
メントしたコードレングスデータと、および、“0″の
ランレングスデータを出力する。
非圧縮モードコードテーブルは、非圧縮モードデータに
対しては次状態データと、解読処理単位の長さから“1
″だけデクリメントしたコードレングスデータと、およ
び、ランレングスデータとして解読処理単位の長さデー
タを出力し、非圧縮モード終了コードに対しては次状態
データと、解読処理単位の長さから“1″だけデクリメ
ントしたコードレングスデータと、および、“0″のラ
ンレングスデータを出力する。
特殊コードテーブルは、伸長処理モードのページの先頭
においてEOLコードの先頭の8ビツトの“O″と9ビ
ツト以降のコード部分に対しては次状態データと、解読
処理単位の長さから“1”だけデクリメントしたフード
レングスデータと、および、0″のランレングスデータ
を出力し、EOLコードに続くタグピットに対しては次
状態データと、“○パのコードレングスデータと、およ
び、′O″のランレングスデータを出力し、フィルスキ
ップコードに対しては次状態データと、解読処理単位の
長さから“1″だけデクリメントしたコードレングスデ
ータと、および、410″のランレングスデータを出力
し、圧縮処理モードでイメージデータに対しては解読処
理単位の長さから“1nだけデクリメントしたコードレ
ングスデータと、および、解読処理単位の長さデータを
出力する。
次ぎに、第15図を参照して、解読処理部サブシーケン
サ8の動作を説明する。ここで、矢印に付けられた数字
は、テーブルが参照されたとき出力される次状態データ
を示す。
伸長処理モードのページの先頭においてEOLコードを
解読するように特殊コードテーブルを参照する。
ページ先頭のEOLコードが解読されると、MH方式の
伸長処理モードでは、ラインの先頭で1次元臼1コード
テーブルが参照される。
8ビツト以下の白ランメイクアップコードが1次元臼1
コードテーブルで解読処理単位として解読されたときと
、1次元臼2コードテーブルでラン長1728以下で9
ビット以上の白ランメイクアップコードのうち3ビツト
目以降のコード部分が解読処理単位として解読されたと
きと、1次元熱1コードテーブルで7ビツト以下の黒ラ
ンターミネイトコードが解読処理単位として解読された
ときと、1次元点2コードテーブルで7ビット以上の黒
ランメイクアップコードあるいは黒ランターミネイトコ
ードのうち先頭ビットから“O″が6ビツト以上続くと
きと、8ビット以上の白ランメイクアップコードで先頭
ビットから“O″が6ビツト以上続くとき、第7ビツト
目以降のコード部分が解読処理単位として解読されたと
きと、1次元黒3コードテーブルで7ビット以上の黒ラ
ンメイクアップコードあるいは黒ランターミネイトコー
ドのうち先頭ビットから“0”が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コードとフィルスキップコードと非圧縮モ
ード開始コードの先頭の117 I+ビットのパ0”が
解読されたとき、1次元点2コードテーブルが参照され
る。
1次元点1コードテーブルで先頭から“5”ビット以下
(0)が続く黒ランメイクアップコードと黒ランターミ
ネイトコードで、先頭から7”ビット部分が解読処理単
位として解読されたとき、1次元黒3コードテーブルが
参照される。
1次元点2コードテーブルで非圧縮モード開始コードが
参照されたとき、非圧縮モードコードテーブルが参照さ
れる。
非圧縮モードコードテーブルで非圧縮モード終了コード
が解読されたときは、タグビットに従って1次元臼1コ
ードテーブルあるいは1次元点1コードテーブルが参照
される。
MRおよびMMR方式の伸長処理モードでは、ラインの
先頭で2次元コードテーブルが参照される。2次元コー
ドテーブルは、他にも2次元コードが解読処理単位とし
てillされたときと、黒ランターミネイトコードが解
読されたとき、参照さ・れる。
2次元コードテーブルで水平モード原則コードが解読さ
れたとき、続いて1次元臼1コードテーブルが参照され
る。水平モードのコードでは、水平モード識別コード、
白ランメイクアップコード、白ランターミネイトコード
、黒ランメイクアップコード、および黒ランターミネイ
トコードが順番に並んでいる。従って、MR方式とMM
R方式で水平モードコードを解読するときには、MH方
式の場合とくらべてその点が異なる。たとえば、白ラン
メイクアップコードが解読されとき、1次元点1コード
テーブルが参照されることはない。また、黒ランターミ
ネイトコードが解読された後は、2次元コードテーブル
が参照される。
次ぎに伸長処理モードにおける生成処理部14の動作を
説明する。
レジスタRREF180には、参照ラインバッフ7メモ
リ2からの参照ラインデータがバッファメモリ制御部1
6を介してデータG4として19−26ビツト部分に1
バイトずつ入力されている。レジスタRREF180は
、参照ラインデータを入力するときには、制御部4から
のMill信号に従って、保持されている参照ラインデ
ータをバイト単位で左方向、すなわちLSB方向にシフ
トする。すなわち、データREF08−10がデータR
EFOO−02となるように、データREF11−18
がデータREF03−10となるように、および、デー
タRE F 19−26がデータREF11−18とな
るようにシフトする。
その後、新たな参照ラインデータをデータRRE F 
19−26として入力する。
ファネルシフタ182は、レジスタRREF180から
データRRE FOO−21を入力する。ファネルシフ
タ182には、レジスタRBPA200からaOポイン
タデータR8PAO2−00が供給されていて、入力さ
れたデータRRE FOO−21から、ポインタデータ
RBPAO2−00によって示されるピット位置からM
SB方向15ビット分のデータを選択してデータ5HT
POO−14として出力する。第26図に示されるよう
な場合において、従来では、バイト単位で参照ライン中
のblを検出していた。従って、bl点の検出に2回の
処理ステップを要していた。
しかし、本実施例では、80点のビット位置から1バイ
ト長以内にbl点が検出されるときには1回の処理ステ
ップですむ。現在着目されている参照ラインバイトデー
タは、レジスタRRE FOO−26に保持されている
データRRE FO4−11に対応する。
ここで、データRRE FOO−14が選択されている
のは、垂直モードにおける色変化点を考慮したためであ
る。
データ5HTPOO−14は色反転回路184に入力さ
れる。色反転回路184には制御部4からデータM9も
供給されていて、画素の色変化の方向を統一する。すな
わち、本実施例では、色変化の検出方向を白→黒として
いるので、内部のイクスクルーシブオアゲートによって
色変化の方向が統一される。従って、白→黒への色変化
を検出するときには、制御データM9として“0″が供
給され、黒→白への色変化を検出するときには“1″が
供給される。色変化の方向が統一されたデータ5HTP
00−14はデータDRENOO−14として出力され
る。
変化点検出器186は、色反転回路184からのデータ
D RE N 00−14を受取り、色変化点をデータ
“O”として第16図に示されるデータDRECO1−
14のように出力する。なお、第16図において、*は
“O”または“1″を示す。ここで、データDRECO
1−14は、現在の伸長処理ラインの着目ブロックの−
3−10に対応する。すなわち、データDRECO1−
14は、現在の伸長処理ラインの着目ブロックのビット
位置に4′°加えた形となっている。データDRECO
I−14と現在の処理ラインの着目ブロックのビット位
置との対応関係も第16図に示される。
データD RE Co1−14はプライオリティエンコ
ーダ188に入力されて、色変化点が検出される。
すなわち、細かい市松模様のとき等には複数の色変化点
が検出される場合があるが、その場合には一番左の、即
ちLSB方向の色変化点が検出される。検出された色変
化点のビット位置は第16図にデータB1DTO3−0
0に示されるように2進数に変換されて出力される。
次に、2次元伸長処理の場合について説明する。
2次元コードの伸長処理モードの場合には、解読処理部
12からデータB3としてデータRNLC03−00が
セレクタ201と212に供給される。また、セレクタ
201にはデータM11が制御部4から供給されている
。このデータM11は、2次元コードの伸長処理モード
か、あるいは1次元コードの伸長処理モードかを示す1
ビツトのデータであり、2次元コードの伸長処理モード
の場合には(1〉である。
加算器204には、セレクタ201からのデータRN 
L CO2−00とセレクタ202からのデータRBP
AO2−00とが供給されていて、それらのデータの和
が計算され、データA OP LO3−00が得られる
。今は2次元コードの伸長処理モードについて説明して
いるので、データAOPLO3−00は、A OP L
O3−00 −(0)RBPAO2−00+ (1)RNLCO2−
00−aO+(δ−4) 一δ−4+a0 となる。データAOPLO3−00G*tL、zフタ2
06 e介して、加算器210に供給される。加算器2
10にはまたセレクタ208を介して、データBIDT
O3−〇〇も供給されている。それらのデータは加算さ
れ、加算結果A D L TO3−00が得られる。デ
ータA D L TO3−00は、 A B I AO3−00 −81DTO3−00+AOPLO3−00−(b1+
4−ao) + (δ−4+aO)−bi+さ となる。このデータAB1AO3−00は、セレクタ1
98を介して、レジスタRBPAO2−00とレジスタ
RBP0176に送られる。上記の処理と同時に、生成
結合部22では当該ランレングスに対するイメージデー
タの生成が完了されている。
一方、加算器216にはセレクタ212を介してデータ
RN L CO3−00と、反転回路214を介してデ
ータB I D TO3−00が供給されている。ここ
で、反転回路214は伸長処理モードでは入力されるデ
ータB I D TO3−00を素通しする。加算器2
16は、これらのデータから加算結果A D L TO
3−00を得る。データA D L TO3−00は、
ADLTO3−00 肩B 1 D TO3−00+ RN L CO3−0
0−(b1+4−ao) + (δ−4)諺b1+さ−
aO 寓at−aO となる。このデータADLTO3−00が8以上のとき
、制御部10にデータF2が出力され、着目バイトブロ
ックにおいて、イメージデータの生成が完了したことが
知らされる。
次ぎに、1バイト未満のランレングスの1次元コードと
非圧縮コードの伸長処理について説明する。
1次元コードの1バイト未満のランレングスデータがレ
ジスタRNLC126からデータB3としてセレクタ2
01に入力される。制御部4からのデータM11は、前
述のように、この場合は(0)である。このセレクタ2
01からのデータは加算器204に供給される。加算器
204にはまた、レジスタRBPA200からデータR
BPAO2−00が供給されている。これらのデータの
加算結果AOPL03−00は、 AOPLO3−00 −(0)R8PAO2−00+ (0)RNLCO2−
00−aO+RL となる。ここで、“aO″はaO点のピット位置を示し
、RL″は1バイト以下のランレングスを示す。
このデータA OP LO3−00は、セレクタ206
を介して加算器210に供給される。加算器210には
、セレクタ208から、制御部4からの制御信号によっ
て選択されたデータ(11111)が供給される。
従って、加算結果A B 1 AO4−00は、A B
 1 AO4−00 −11111+“0″A OP LO3−00+ 1−
O″AOPLO3−00 −ao+RL となる。ここで、加算器210は、入力データ間の加算
結果に、更に“1″加算する。
この加算結果A B I AO4−00のうちAB1A
O2−〇〇は、セレクタ198を介してレジスタRBP
A200と、さらにセレクタ114を介して、レジスタ
RBP017Gに供給される。
以上の1次元コードの伸長処理の説明は、そのまま非圧
縮コードに適用されることができる。
以上のようにして、生成されるべきイメージデータの長
さ、および、着目バイトブロック内の生成が完了された
ピット位置が決定される。
次ぎに生成結合部22の伸長処理時の動作について説明
する。
最初に、1次元コードと2次元コードの伸長処理につい
て説明する。
1バイト長以上のランレングスデータに対するイメージ
データの生成処理では、フリツブフロツブFBLKDに
よらて現在指定されている色に従って決定されるIII
 m部4からのIIJ tall信号に従って、セレク
タ160において予めセットされていたデータ(111
11111)あるいは(00000000)が選択され
、データE CD POO−07として出力される。選
択されたデータE CD POO−07はバレルシフタ
164に入力される。バレルシフタ164には、レジス
タR8PQ176からデータRBPQO2−00が出力
されている。このデータは、直前の生成ステップで生成
が終了されている着目バイトブロック内のピット位置の
次ぎのピット位置を示す。バレルシフタ164において
、データECDPO7−00は、ポインタデータRBP
QO2−00に従って回転シフトされ、データ5HTG
OO−07として出力される。
データ5HTGOO−07は、データ結合用のセレクタ
166とレジスタ168の08−15ビット部分に供給
される。セレクタ168にはセレクタ170から既に生
成されているイメージデータの残りの部分が供給されて
いる。バイト単位でのイメージデータの生成処理が実行
されているときと、データADLTO3−00の第3ビ
ツトが1であるときは、レジスタ168の08−15ビ
ット部分のデータが選択され、それ以外のときは00−
07ビツト部分のデータが選択される。
セレクタ168にはまた、ポインタレジスタRB PQ
Iγ6からデータRBPQO2−00が供給されていて
、データRBPQO2−00に従って選択された入力デ
ータが結合される。すなわち、先頭ビット位置からデー
タRBPQO2−00によって指定されたビット位置の
直前までのビットデータとして、セレクタ170からの
データが選択され、データRBPQO2−00によって
指定されたピット位置から最終ビットまではバレルシフ
タ164からのデータが選択される。
例えば、バイト単位の生成処理がなされていて、データ
RBPQO2−00が“3”であり、データ5HTGO
O−07が(1111111111)であり、データR
OD 708−15が(1000000G ”)とする
。このとき、セレクタ166からの出力EPCKOO−
07は(10111111)となる。このようにして得
られたデータEPCKOO−07はレジスタ168のo
o−orビット部分に格納される。
バイト単位でのイメージデータの生成処理が実行されて
いるときと、データA D L TO3−00の第3ビ
ツトが1であるときは、1バイト分のイメ−ジデ゛−夕
の生成処理が完了したとして、制御部4からの制御信号
に従って、データROD Too−07は、レジスタ1
72を介して外部(イメージメモリ)に出力される。ま
た、データROD TOO−07は、データD1として
セレクタ238を介して参照ラインバッファメモリ2に
格納される。
琥上の述べたイメージデータの生成処理動作が行われて
いるときは、データRBPQO2−00は変えられない
。これは、バイト単位の処理をしているので、変える必
要がないからである。
次ぎに、1次元コードの1バイト未満のランレングスデ
ータに対するイメージデータの生成処理について説明す
る。
上述と全く同様にして、レジスタ168にはイメージデ
ータが生成されている。上述のバイト単位の処理と異な
る点は、セレクタ166によって結合されたイメージデ
ータがレジスタ168に格納されたとき、データRBP
QO2−00が、データDBPA 02−00に基づい
て更新されるということである。
次ぎに、2次元コードのランレングスデータに対するイ
メージデータの生成処理について説明する。
b1点が検出されないときは、b1点が検出されるまで
、前述と同様にしてバイト単位の処理が行われる。b1
点が検出されたときは、垂直モードコードに対するイメ
ージデータの生成処理は1バイト未満のランレングスデ
ータに対するイメージデータの生成処理と同様に行われ
る。
パスモードコードに対するイメージデータの生成処理は
、垂直モードに対するイメージデータの生成処理と同様
であるが、セレクタ160で選択されるイメージデータ
は、パスモードコードの前後で生成されるイメージデー
タの色が変更されないように選択される。
次ぎに非圧縮モードコードの伸長処理について説明する
ファネルシフタ104から出力されたデータS HT 
D 00−07は、色反転回路106を介してレジスタ
RPAT162にデータRPATO7−00としてラッ
チされている。このデータRPATO7−00は、セレ
クタ160によって選択されて、バレルシフタ164に
供給される。その後の生成処理は、1バイト未満のラン
レングスデータに対するイメージデータの生成処理と同
様である。
に非圧縮モードにおける伸長処理について説明する。
この例では、MH符号化コードデータの伸長処理で始ま
り、途中で非圧縮モードの伸長処理にかわる。なお、こ
こでレジスタRMPC(図示せず)は、インストラクシ
ョンレジスタであり、それにラッチされるインストラク
ションが各ステップの中に書かれている。
圧縮伸長処理装置は、クロック#O〜#3に対応するス
テップS2と84においてループを描き、電源投入の直
後に初期化された状態でデータの入力を待っている。デ
ータが入力されない限り、この状態が続く。なお、各レ
ジスタの初期化された値がクロック#Oに示されている
。この状態では解読処理部サブシーケンサ8もリセット
状態である。
ステップS6において、データの入力があると、ベージ
制御の初期化が行われる。最初に送られてくるデータは
制御データであり、圧縮処理モードと伸長処理モードの
いずれかであるかを示すデータ、符号化方式がMH,M
RlあるいはMMRのうちいずれであるかを示すデータ
、および、1ライン当りのランレングスデータ等が含ま
れる。ここでは、MH方式により伸長処理モードが選択
されたとする。また、1ライン当りのランレングスデー
タはレジスタE N D 8218にセットされる。
また、圧縮伸長処理装置1の内部では、色を指定するた
めのレジスタFBLKDが白にセットされる等のページ
wIIIlの初期化が行われる。ステップS6のクロッ
ク#4では、データA1として“OO” (00000
000)がレジスタRDIN(図示せず)にセットされ
る。
ステップS8において圧縮処理モードであるかどうかが
判定される。圧縮処理モードが指定されているときは圧
縮処理が実行され、伸長処理モードが指定されていると
きは、ステップ810に進む。
現在は、MH方式によって符号化されたコードデータの
伸長処理モードが指定されているので、ステップS10
に進む。
ステップ810ではクロック#5において、レジスタR
DT1102内部に保持されているデータはLSB方向
に1バイトシフトされる。その後、入力データA1はレ
ジスタRDINよりレジスタRDT1102に移される
。ここでは、入力データが[00]のためレジスタRD
T1102内部の値は見掛は上変化していない。
ステップ812において、MMR符号化方式であるかど
うかが判定される。MMR符号化方式であるときは、フ
ローはステップ822に進み、DLNLOOPが実行さ
れる。それ以外のときは、フローはステップS14に進
む。本動作説明ではMH符号化方式を例にとっているた
め、フローはステップ814に進む。
ステップS14ではクロック#6において、解読処理部
サブシーケンサ8により解読処理部12に起動指示が出
され、EOLサーチAが実行される。
このため、入力データは、EOLコードまでスキップさ
れる。同時にレジスタRBPP116の値は“7”に更
新され、レジスタRDINには次ぎの入力データ[OC
] (00001100)がセットされる。
解読処理部サブシーケンス8はEOLサーチAの状態に
あるので、ステップ816ではクロック#7において入
力データ[OO]  (00000000)が特殊コー
ドテーブルを参照してデコーダDROM112によって
解読される。その結果、データDROM11−09には
データ(001)が、データDROM08−06には“
7“(111)が出力される。この“7″データに基づ
いて、レジスタRB P P 116に保持されている
解読ポインタデータの更新が行われる。すなわち、加算
器A122の出力ABPPは、 ABPPO3−00−111+111+1となり、レジ
スタRBPP116の解読ポインタデータは再び“7″
となる。また、第3ビツトが(1)であることがデータ
八6によって制御部4に知らされる。
その結果、クロック#8において加算器122のオーバ
ーフローによってレジスタRDT1102内に保持され
ているデータは1バイト分LSB方向にシフトされ、デ
ータRD T I 16−23部分にデータE OCF
  (00001100)が入力される。また、レジス
タRDINには次ぎのデータ[70](0111000
0)が入力される。
解読処理部サブシーケンサ8はデータDROM11−0
9の(001)によりEOLサーチ已に移り、EOLコ
ードの確定処理を実行する。レジスタRDT1102に
保持されているデータは[00000C]、 (000
000000000000000001100)であり
、ファネルシフタ104には09−23ごットデータ部
分が入力されるので、データ(00000000000
1100)がファネルシフタ104に入力される。レジ
スタRB P P 116の値が“7”を指しているた
め、解読対象は(00001100)となる。これは、
レジスタRDT1102内の[OC]に対応する。この
コードデータに対するデコーダROM112からの出力
DROM11−00は、[D O5] (110100
001001)である。従って、解読されたコード長は
DROMO8−06で(100)であり、“1″だけデ
クリメントされているので、EOLコードは解読ポイン
タデータRBPPO2−00によって指定されるピット
位置から5ビツト目で確定している。また、データ[O
C]はレジスタRPAT162に出力される。
クロック#9においては、加算器122で、データRB
 P PO2−00の“7″とデータDROMO8−0
6の“4″とから、前述と同様にして、データ“12″
” (1100)が得られる。第3ビツトの“1”は制
御部4に知らされる。これにより、データRD T I
 00−23は1バイト分LSB方向にシフトされ、1
6−23ビット部分にはデータ[70](011100
00)が入力される。また、解読ポインタデータRB 
P PO2−00は加算結果に基づいて4″に更新され
る。現在、データRD T I 08−23は(000
0110001110000)であり、データRBPP
ot−ooが“4”であることからデータS HT D
 00−07は(10001110)である。これによ
り、解読結果は1ビツトを示し、これはタグピットを意
味する。
解読処理部サブシーケンサ8はEOL確定のステータス
にあり、レジスタRDINには次ぎのデータ[OF] 
 (00001111)がセットされる。レジスタRP
AT162には、クロック#9においてデータRB P
 PO2−00に基づいてレジスタRDT 1102か
ら取出されたデータ[OC]がラッチされるが、非圧縮
処理モードでないため、この値は使用されない。
ステップ818では、クロック#10において、MR符
号化方式が適用されているかどうかが判定される。MH
符号化方式でない時は、続いてDLNLOOPが実行さ
れる。MR符号化方式のときは、ステップ320が実行
される。また、レジスタRPAT162にはクロック#
9において解読ポインタデータRB P PO2−00
の“4′に基づいて抽出されたデータ[8E]がラッチ
されるが、これも無視される。ステップ820ではクロ
ック□ #11において、タグピットの取込みが行われ
、レジスタTAGフリップフロップ(図示せず)にセッ
トされる。その後、フローはDLNLOOPに進む。
クロック#12においてDLNLOOPが始まる。
ステップS22のクロック#12において、ライン制御
のため内部FF(フリップフロップ)が初期化され、解
読ポインタデータRB P PO2−00はタグピット
の処理終了に伴って“5″に更新される。
また、参照ラインバッフ7メモリ6の領域が切換えられ
る。これにより、セレクタ232に供給されるデータM
15が切換えられる。また、ラインごとの制御が始まる
ステップ824のクロック#13において、データRD
 T 108−23の(00001100011100
00)とデータRB P PO2−00の“5゛′から
データ[1C](00011100)がレジスタRPA
T162にラッチされる。また、データ出力制御ポイン
タ用のレジスタRBPQ176に保持されている生成ポ
インタデータRBPQO2−Goが“0″にリセットさ
れる。
ステップS26において、参照ラインバッファメモリ6
の内容をクリアすることが必要かどうかが判定される。
クリアの必要がないときは、続いてステップ834が実
行される。クリアの必要があるときは、参照ラインアド
レスを保持するレジスタ226がリセットされ、“−4
”が初期設定される。
その後、ステップ828が実行される。現在の処理では
必要ではないが、動作を説明する。
ステップ828では、レジスタRBFA226からのデ
ータRBFA10−00は、セレクタ236からのデー
タ“4”と加算され、アドレスデータとしてセレクタ2
32とレジスタ234を介して参照ラインバッフ7メモ
リ6に供給される。セレクタ238ではデータ(ooo
ooooo)が選択され、参照ラインバッフ7メモリ6
に供給される。このようにしてアドレス“0″のロケー
ションがクリアされる。その後、データRBFA10−
00は、加算器228によって“1”だけインクリメン
トされる。インクリメントされたデータは、セレクタ2
32に供給され、次ぎのロケーションをクリアするため
に使用される。
ステップ830では、1ライン分の参照ラインバッフ7
メモリ6のロケーションがクリアされたかどうかが判定
される。まだ1ライン分終了していなければ、ステップ
82gが再び実行される。1ライン分終了していれば、
ステップS32が実行され、伸長処理モードであるかど
うかが判断される。圧縮処理モードのときは、圧縮処理
が実行される。
伸長処理モードのときは、続いてステップ834が実行
される。
ステップ834ではクロック#14において、出力デー
タアレンジ用レジスタであるR OD 7168が初期
化される。すなわち、[0000]とされる。
また、参照ラインデータレジスタRRE F 180に
保持されているデータRRE FOO−26がバイト単
位でシフトされる。すなわち、データRREFO8−1
0がデータRREFOO−02に、データRREF11
−18がデータRRE PO3−10に、また、データ
RREF19−26がデータRREF11−18となる
ようにシフトされる。その後、参照ラインバッファメモ
リ6から、バッフ7メモリilJ 8部16からの参照
ラインアドレスに従って参照ラインデータが読み出され
、レジスタRRE F 180の19−26ビツト部分
にラッチされる。同時に解読処理部12は、解読処理部
サブシーケンサ8によって起動がかけられ、1次元臼1
コードテーブル(白A)の状態となり、解読処理が開始
される。また、レジスタROD T 168は“O”に
クリアされる。
ステップ336ではクロック#15において、デー矢R
RE FOO−26は、前述と同様にしてLSB方向に
1バイト分シフトされる。その後、19−26ビツト部
分に、読み出された次ぎのバイト参照ラインデータが入
力される。またこのとき、セレクタ192でデータ(1
11)が選択され、セレクタ794でデータ(000)
が選択され、加算器196で加算される。このとき、加
算器196ではさらに“o″が加算されるが、結果は変
わらない。このようにして得られたデータ“7″が、着
目ブロックの左端のビット番号を示す初期値データとし
てレジスタRBP017Bにラッチされる。これは、た
またま出力データバイト内のオフセットが“7″に設定
されていることによる。
ステップ83gではクロック#16において、レジスタ
RBPA200にインターフェイスよりの初期値“7″
がセットされる。すなわち、前述のレジスタRBPQ1
76にデータ“7”がセットされるのと同様にして、セ
ットされる。また、データRREFOO−26は、前述
と同様にしてLSB方向に1バイト分シフトされる。そ
の後、19−26ビツト部分に次ぎのバイト参照ライン
データが入力される。
7”−夕RDT IO3−23は”0C70”(000
0110001110000)であるが、データRB 
P PO2−00は“5″であり、ステップ334で解
読が開始されたデータD T I 5OO−07は(0
0011100)である。このデータのうち(0001
11)がラン長1の白コード(000111)として解
読され、デコーダROM 112からはデータDROM
11−00として[540] (0101010000
00)が出力される。
すなわち、解読されたコードレングスは“6″なので、
コードレングスデータDROMO8−06として°゛5
″が出力される。データRB P PO2−00は“5
”であり、従って、更新されたデータRB P PO2
−00は“3”となる。これにより、データRDT10
0−23はバイト単位でシフトされ、レジスタRDT1
102の16−23ピット部分にデータ[OF]がラッ
チされる。レジスタRDINには次ぎのバイトデータ[
A4]がラッチされる。
また、ランレングスは“1″なので、データDROMO
5−00として“1″(000001)が生成処理部1
4に出力される。解読が完了した事によって、次は黒コ
ードとの予想のもとにフリップフロップFBLKDが反
転される。これにより、解読処理部サブシーケンサ8は
1次元黒1コードテーブル(黒A)の状態に移る。
ステップS40ではメインシーケンサ7はイメージ生成
のステップに入る。以後1ラインの処理が完了するまで
、生成処理部14は解読処理部12からランレングスデ
ータを受取り、イメージデータの伸長処理を実行する。
クロック#11では、解読処理部12では、解読処理部
シーケンサ8に従って、次ぎのコードデータの解読が行
われる。今、データRD T I 08−23は(01
11000000001111)であり、データRBP
P02−00は“3″であるので、データ(00000
000)がデータ5HTDOO−07となり、デコーダ
ROM112によって解読される。“0”が6個以上続
くので、データDROM11−09には1次元熱2コー
ドテーブル(黒B)に移るように、解読処理部シーケン
サ8からデータ(010)が出力される。
また、データDROMO8−06にはデータ“5″が出
力される。
続いて、りOツク#18において、レジスタRDT11
02はバイトシフトを実行し、データ[A4]を入力す
る。また、レジスタRDINにはデータ[42]が入力
される。データRBPP02−00は、1”となる。デ
ータRD T I 08−23が(000011111
0100100)であり、データRB P PO2−0
0が“1”であることから、次ぎの解読処理単位(00
1111)が1次元黒2コードテーブルによって非圧縮
モード開始コードの後半の解読処理単位であることが判
明する。これにより、非圧縮コードの処理が開始される
クロック#19において、デコーダROM112からは
データDROMN−o9として(101’ )が出力さ
れる。また、データRB P PO2−00は“7″と
なる。ここで、加算器122の出力の第3ビツトが“1
″でないため、データRD T I 00−23のシフ
ト動作は実行されない。したがって、新しいバイトデー
タもレジスタRDINから入力されることはない。
データRB P PO2−00は“7″に更新されてお
り、クロック#19では、これによりデータRD T 
I 16−23の[A4]がファネルシフタ104によ
って選択されて、レジスタRPAT162にセットされ
る。既に非圧縮モードに入っているため、以後レジスタ
RPAT162にラッチされるデータがセレクタ160
を介して結合部34に転送される。
尚、このとき、データS HT D 00−07の[A
4コ(10100100)は解読アドレス発生回路によ
りアドレスデータ[6A 7 ]  (1101010
0111)に変換される。このアドレスデータによって
、デコーダDROM112がアクセスされ、データDR
OM11−〇〇として[946]  (1001010
00110)が出力される。これは、非圧縮モードデー
タが6ビツト一括処理されたことに他ならない。
DROMO5−00″6″は次クロックでレジスタRN
LC126に転送される。D R0MO8−06” 5
″は、もともと−1″された値であり、加算器122に
供給される。すなわち、次のクロックで、データRB 
P PO2−00は、 RBPPO2−00−7+5+1−13となり、(13
−8)から5となる。これはレジスタRBPP11Bが
3ビツトレジスタであることによる。このようにしてク
ロックを重ねるに従って、レジスタRPAT162には
[A4]、[10]、[o8]、[04]、番qオ辻:
: [08]、[12コ、[2C]がラッチされる。ま
た、DROMO8−06で定義される処理ビット長は同
様に順次レジスタRNLC126に生成される。
このデータRN L CO2−00とaOポインタデー
タRBPAO2−00とが加算@ 204によって加算
されてAOPLO3−00を生成する。この加算結果A
OPL03−00が、セレクタ206、加算器210、
セレクタ198を介して、レジスタRBPA200にフ
ィードバックされる。このようにして、データDBPA
O2−00は更新される。また、aOポインタデータD
BPAO2−00はレジスタRBP0176に接続され
るセレクタ174にロードされる。このため、レジスタ
RBP017BとRBPA200とは同一の値となる。
このレジスタRBPQ174に保持された生成ポインタ
データRBPQO2−00がバレルシフタ164および
データアレンジ用のセレクタ166のポインタとなって
いる。以後は、生成ポインタデータRBPQO2−00
にもとづいてイメージデータの生成について説明する。
サテ、LジスタRODT16813よびRoUT112
におけるイメージデータの生成であるが、レジスタRO
D T 168は初期値として[0000]が設定され
ている。
前述の1ビツトの白ランがクロック#17から#19で
生成されているため、クロック#20において、レジス
タROD 7168の00−07ビツト部分には[00
00]が生成されている。また、オフセットが7である
ため、生成ポインタデータRBPQO2−〇〇が“7″
から0″に更新されている。このため、レジスタROD
 T 168の00−07ビツト部分のデータ[000
0]は、1バイト分のイメージデータの生成が終了した
として出力される。また、レジスタRPAT162に保
持されていたデータ[A4]が結合部34に入力される
クロック#21において、データR8PQO2−00が
“0″なので、データRODTOO−15は、データ[
A4A4]  (1010010010100100)
となる。
同時に、処理されたデータ長を示すデータDROMO8
−O6に従って、データA B 1 AO4−00が更
新される。また、生成ポインタデータRBPQO2−0
0は”6” に更frされ6゜次ぎにクロック#22に
おいて、データRODT00−15内のデータ[A 4
 A 4 ]  (1010010010100100
)のデータRBPQO2−00によって示されるビット
ポインドロ″の位置からデータRPATO7−00の[
10]  (00010000)が重ね書きされる。こ
れによりデータRODTOO−15は[A440]  
(1010010001000000)となる。
次ぎにデータRN L CO2−00の゛4”が加算さ
れ、 RBPQ−6+4=10 から2となる。これもレジスタRBPQ176が3ピツ
トであることによる。ここでオーバーフローが生じたた
め、レジスタROD T 168内に1バイトのイメー
ジデータが完成したとして、データROD TOO−0
7ノ[A 4 ]がレジスタROUT172に転送され
る。この時、外部インターフェイスの都合により初回の
完成データ″00nが受取られていない場合もあり得る
ため、本提案においても、内部インタロックを施し、防
衛しているが、本題ではないため、割愛する。
このようにして順次処理が継続され、レジスタで、非圧
縮終了コード(00000010)を検出し、解読部は
非圧縮モードの終了にステータスを移す。
以上のようにして第22図に示されるイメージデータが
生成される。
クロック#29において、非圧縮モード処理が完了する
こととなり、メインシーケンサよりの指示待ちとなる。
クロック#31において元のコードデータ処理に戻る。
クロック#32において、終了コード末尾が“0″すな
わち、白コードより開始されるため、解読シーケンサは
白Aに移る。しかし、入力データはこのあとEOLコー
ドとなっているため、解読処理部制御シーケンサは白へ
−黒B−FILLスキップーEOL検出と移る。一方、
メインシーケンサは1ラインの処理を完了させて、次ぎ
ラインの処理へと繰返す。
予め設定しである1ラインのビット数のイメージが生成
されたとき、フローはステップ852のクロック#38
に進む。ここで、MH,MMRの場合は解読処理部12
はEOLコードを解読していることになる。もしEOL
コードでなければステップ856でエラーとなる。そし
て、ステップ862で解読処理部12を再スタートさせ
る。このとき制御信号MDECODが出力され、第10
図に示されるように解読処理部12に制御信号DECO
DEが入力され、解読処理部12が動作する。コードの
解読結果がEOLコードでない場合は、ステップS72
からステップS22にと戻り、次ぎのラインの伸長処理
を行なう。
また、M M R方式の場合は1ラインの処理終了後、
次ぎの解読結果がEOLコードでなければ同様に次ぎの
ラインの処理へと移る。このように、1ラインの処理が
終了し、次ぎのラインに処理が移る場合は、ステップ8
66において解読した結果がEOLコードではないので
、ステップ868に移ったとき、解読処理部12は動作
状態にある。従つて、ステップ368で制御信号MCH
DECというマイクロ命令は出力され、信号5AFTY
−“1”となっていても、信号DECIOがレベルLで
あるので、制御信号DECODEは出力されない。
MH,MR方式では、ステップ862において、解読再
スタートさせた結果EOLコードを検出した場合(2個
目のEOL検出となる)、あるいはMMR方式において
1ライン伸長終了後、EOLコードを解読している場合
は、制御信号DECODE信号を持つ状態となっている
。制御信号5AFTYが“0”となっているときは、ス
テップ868で制御信号DECODEが出力されないの
で、RTC<リターン制御)コードを検出したとして、
ステップ872から884へと進み、1ペ一ジ分の伸長
処理が終了する。制御信号5AFTYに“1″をセット
している場合は、ステップ31で第10図に示されるよ
うに、制御信号DECCODEが出力されるので、解読
処理部12が再スタートする。この解読結果がEOLコ
ードであるなら、RTCコード検出となり、伸長処理が
終わる。EOLコードでないなら、ステップ874から
876でエラーとされる。
以上のように制御信号5AFTYを立てた場合には、R
TCコード検出においてEOLコードを通常より1個余
分に検出することになる。従って、1ビット誤りが発生
してにせのEOLコードを検出してしまった場合、ステ
ップ368で再スタートすることができる。よって、1
ビット誤りによって伸長処理が終了してしまうことはな
い。
伸長中にエラーが検出されたときは、第21図のエラー
ループでダイナミックストップする。また、エラーをE
RR信号、または、割込みでCP tJ 20に知らせ
る。CP tJ 20からエラー処理のためのPSEN
Dコマンドが制御部4に出力されると、ポインタが初期
化され、ライン内の制御を司るメインシーケンサ7がリ
セットされる。通常はリセットと共に、参照ラインバッ
ファメモリ6のバッファ領域が反転され、これまでに生
成されたイメージデータが書込まれたバッファ領域が、
次ぎの自照ラインデータとして読み出されるようになり
ているが、この場合はバッファ領域は反転してはいけな
い。
そのためステップ390で予めバッファ領域が反転され
た後、ステップ392が実行される。ステップS94か
ら898でレジスタRRE F 180に参照ラインイ
データの左端3バイトが入力される。
その後、ステップ3100と8102のループが実行さ
れる。このループでは、1ライン分のイメージデータが
参照ラインバッファメモリ6から読み出され、再び、参
照ラインバッファメモリ6に書込まれる。すなわち、レ
ジスタRRE F 180に保持された参照ラインデー
タは、ファネルシフタ182で選択された債、色反転回
路184を素通りしてデータE1としてセレクタ160
に供給される。
セレクタでは、このデ、−タD RE N 10−03
が選択され、結合部34に供給される。結合部34では
、通常のイメージデータの生成処理と同様にして処理さ
れ、レジスタ172を介して参照ラインバッフ7メモリ
2に出力される。なお、このとき、レジスタRBPA2
00の値は“3″に、レジスタRBPQの値は“Onに
制御部4によってセットされている。
1ライン分の参照ラインデータの転送がほぼ終了すると
、正常処理のときに用いているメインシーケンサ7の働
きでループを抜けて、ステップ5104が実行される。
ステップ5104では、1サイクル待って、参照ライン
データの転送動作を完了させる。ステップ8106では
、EOLフラグがセットされ、EOPフラグがリセット
されて最終バイトデータとして出力される。
ステップ$108では、ステップ890と同様にしてバ
ファ領域の反転を抑止しておいて、次ぎのラインの伸長
処理をラインの先頭から再開するために、ループDLN
LOOPが実行される。この結果、エラーが発生した処
理ラインの参照ラインデータの代わりとして、エラーが
発生した処理ラインの前の処理ラインのイメージデータ
、すなわち、エラーが発生した処理ラインの参照ライン
のイメージデータが、1ライン分出力される。それに続
いて、エラーが発生した処理ラインの次ぎのラインの伸
長処理が実行される。
次ぎにビットシフト動作に付いて説明する。
ビットシフト動作では非圧縮モード時に使用される回路
を流用、している。ビットシフト時の動作はイメージデ
ータをバイト単位でRD T I 16−23に取込み
、バイト単位でビットシフト処理を行なっていく。解読
ポインタデータRB P PO2−00はRD T I
 09−23に取入れたイメージの先頭ビット位置をノ
アネルシフタ104中のビット番号で示している。
ファネルシフタ104により解読ポインタデータRB 
P PO2−00の示すビット数の位置からデータRD
 T I 09−23の内容を左シフトし、シフトされ
たデータ5HTDOO−07をレジスタRPAT162
にラッチする。データRPATO7−00はセレクタ1
60によりてデータE CD POO−07として選択
される。生成ポインタデータRBPQO2−00は、最
初に設定され、それ以後更新が制御部4によって禁止さ
れる。従って、生成ポインタデータRB P QO2−
00は、ビットシフト処理が終了するまで1.イメージ
をシフトするビット位置までのビット数(バイト単位で
区切った端数)に固定されたままである。以後の処理は
伸長処理モードのときと同様である。レジスタROD 
T 168の00−07ビツト部分に1バイトのイメー
ジが出来上がると、レジスタROUT172にラッチさ
れる。ビットシフト時は処理ステップごとに1バイトず
つレジスタROUT172から1バイトのイメージデー
タが出力される。ビットシフト時は、デコーダROM1
12からエンコーダROM 158までの動作は制御部
4によって禁止される。
以上のようにして、本発明による圧縮伸長処理装置では
イメージデータを右にシフトすることは可能だが、直接
左にシフトすることはできない。
しかし、第17図の回路構成によるシステムにおいて、
イメージメモリ26の読み出しアートレスを書込みアド
レスの1番地前にズラすことによって左シフトが可能に
なる。このとき、例えば、左に2ビツトシフトするとき
には、生成ポインタデータRBPQO2−00は“6n
にセットするればよい。
例えば、右シフトするときには、イメージメモリ21の
100番地から読み出し、ビットシフトされたデータを
イメージメモリ21の100番地に■込めは良い。左シ
フトするときには、100番地から読み出したイメージ
データをビットシフトし、ビットシフトされたデータを
101番地に書込めばよい。
第17図に示されるシステムで、CP U 20にビッ
トシフトコマンドが入力される。CP U 20はビッ
トシフトの方向とシフトビット数に従って、圧縮伸長処
理装[1とDMAコントローラ22にビットシフト制御
指示を出力する。DMAコントローラ22はイメージデ
ータ26からイメージデータを読みだし、双方向バスド
ライバ24を介してメモリ21に書込む。その詔、ビッ
トシフト制御指示に従って、メモリ21に格納されてい
るイメージデータを圧縮伸長処理装置1を介してイメー
ジメモリ26に書込む。このとき、圧縮伸長処理装置1
は、ビットシフト制am示に従ってビットシフト処理を
実行する。
このようにして、右方向のビットシフトも左方向のビッ
トシフトも実行されることができる。
[発明の効果コ 以上詳述したように、本発明の圧縮伸長処理装置によれ
ば、非圧縮モードで使用する回路を利用することにより
、圧縮伸長処理装置内に特別な回路を追加することなく
ビットシフト機能を実現することができる。それにより
、16ビツトマイコンのイメージシフト機能(1ビツト
)を補う高速処理を実現できる。
【図面の簡単な説明】
第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図に示されるコードテーブ
ルを解読処理部サブシーケンサがどのように制御するか
を示すための状態遷移図である。第16図は色反転回路
とプライオリティエンコーダの出力を説明するための図
である。第11図は、本発明による圧縮伸長処理装置を
組込んだシステムの例を示す図である。 第18図から第21図は、本発明による圧縮伸長処理装
置の動作を説明するためのフローチャートである。第2
2図は、第18図から第21図に示されるフローチャー
トに従って、イメージデータが生成される様子を示す図
である。第23図は、第2図に示されるレジスタRPI
 Lの働きを説明するための図である。第24図aとb
は、ラインの最初の処理ステップと、ランの最初の処理
ステップにおけるイメージデータの生成の一例を示す図
である。第25図は、バイト境界にまたがるランの処理
の一例を示す図である。第26図は、スタティックRA
Mを参照ラインバッファメモリに使用したときの接続図
である。第27図は、ファーストインファーストアウト
(FIFO)メモリをシングルバッファモードで使用し
たときの接続図である。第28図は、2・・・圧縮伸長
処理部、4・・・圧縮伸長処理制御部、6・・・参照ラ
インバッフ7メモリ、12・・・解読処理部、14・・
・生成処理部、16・・・バッファメモリ制御部出願人
代理人 弁理士 鈴江武彦 第2図 MRD7−0 第6図 第3図 第8図 第9図 第12図(b) 第14図(C) 第14図(d) 鳴24図(a) aQ      al 第24図(b) パイ)4昂      ハ1p丸弊     ハイ)f
vF第25昭1 と 手続補正書 硅6侮4.明 8 特許庁長官  黒 1)明 雄 殿 1、事件の表示 特願昭62−61978号 2、発明の名称 圧縮□伸長処理装置 3、補正をする者 事件との関係  特許出願人 (307)  株式会社 東芝 4、代理人 東京都千代田区霞が関3丁目7番2号 UBEビル7、
補正の内容 (1)願書の「特許請求の範囲に記載された発明の数」
の欄の発明の数「3」を「2」と訂正する。

Claims (2)

    【特許請求の範囲】
  1. (1)予め決められた長さのイメージデータを入力し、
    入力される解読ポインタデータに従つて選択された予め
    決められた長さのイメージデータを出力するための選択
    手段と、 前記選択手段から出力された予め決められた長さのイメ
    ージデータを保持して結合イメージデータとして出力す
    るためのレジスタ手段と、入力される生成ポインタデー
    タに従つて、それに保持されている残りのイメージデー
    タの後に入力される結合イメージデータを結合すること
    によつてイメージデータを生成し、生成されたイメージ
    データの先頭ビットから予め決められた長さ分のイメー
    ジデータをシフトされたイメージデータとして出力し、
    残りのイメージデータを次のイメージデータの生成のた
    めに保持する結合手段と、入力される生成ポインタデー
    タを保持して出力するための生成ポインタ手段と、およ
    び、入力されるビットシフト制御データに従つて、最初
    に前記生成ポインタ手段に生成ポインタデータを出力し
    、以後生成ポインタデータの更新を禁止するための制御
    手段とを具備することを特徴とするビット単位でシフト
    されたイメージパターンをバイト単位で出力する圧縮伸
    長処理装置。
  2. (2)予め決められた長さのイメージデータを入力し、
    入力される解読ポインタデータに従つて選択された予め
    決められた長さのイメージデータを出力するための選択
    手段と、 前記選択手段から出力された予め決められた長さのイメ
    ージデータを保持して結合イメージデータとして出力す
    るためのレジスタ手段と、入力される生成ポインタデー
    タに従つて、それに保持されている残りのイメージデー
    タの後に入力される結合イメージデータを結合すること
    によつてイメージデータを生成し、生成されたイメージ
    データの先頭ビットから予め決められた長さ分のイメー
    ジデータをシフトされたイメージデータとして出力し、
    残りのイメージデータを次のイメージデータの生成のた
    めに保持する結合手段と、入力される生成ポインタデー
    タを保持して出力するための生成ポインタ手段と、 入力されるビットシフト制御データに従って、最初に前
    記生成ポインタ手段に生成ポインタデータを出力し、以
    後生成ポインタデータの更新を禁止するための圧縮伸長
    処理制御手段と、 入力されるイメージデータを保持するためのイメージメ
    モリと、 入力されるビットシフトコマンドからビットシフトの方
    向とシフトされるベきビット数を決定し、決定されたビ
    ットシフトの方向とシフトされるベきビット数をビット
    シフト制御データとして出力するための制御手段と、お
    よび、 前記制御手段からのビットシフト制御データに従って、
    前記イメージメモリをアクセスし、予め決められた長さ
    のイメージデータを読み出して前記選択手段に出力し、
    前記結合手段から出力されるイメージデータを前記イメ
    ージメモリに出力するためのアクセス手段とを具備する
    ことを特徴とするビット単位でシフトされたイメージパ
    ターンを予め決められた長さを単位として出力する圧縮
    伸長処理装置。
JP6197887A 1987-03-17 1987-03-17 圧縮伸長処理装置 Pending JPS63227272A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=13186776

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS63227272A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073820A (en) * 1989-10-31 1991-12-17 Olympus Optical Co., Ltd. Image data coding apparatus and coding method
US5335016A (en) * 1991-01-29 1994-08-02 Olympus Optical Co., Ltd. Image data compressing/coding apparatus
US5729633A (en) * 1991-08-30 1998-03-17 Fuji Photo Film, Co. Ltd Picture data compression coding device and method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073820A (en) * 1989-10-31 1991-12-17 Olympus Optical Co., Ltd. Image data coding apparatus and coding method
US5335016A (en) * 1991-01-29 1994-08-02 Olympus Optical Co., Ltd. Image data compressing/coding apparatus
US5729633A (en) * 1991-08-30 1998-03-17 Fuji Photo Film, Co. Ltd Picture data compression coding device and method thereof
US5732156A (en) * 1991-08-30 1998-03-24 Fuji Photo Film, Co. Ltd. Picture data compression coding device and method thereof
US6111987A (en) * 1991-08-30 2000-08-29 Fuji Photo Film Co., Ltd. Picture data compression coding device and method thereof

Similar Documents

Publication Publication Date Title
JPS62283778A (ja) 2値デ−タ伸長処理装置
KR100227275B1 (ko) 단위 처리 시스템에서의 가변길이코드 검출장치 및 방법
US6144322A (en) Variable length code processor with encoding and/or decoding
US5119499A (en) Host processor which includes apparatus for performing coprocessor functions
JPH11184750A (ja) 可変長符号処理機構を有するデータ処理装置
JPH10341167A (ja) 可変長符号復号化回路
JPS62283720A (ja) 2値デ−タ圧縮伸長処理装置
JPH08314690A (ja) データ・ストリームの個々のストリング・シーケンスのデータ圧縮方法及びその実行プロセッサ
JP2001136524A (ja) 圧縮伸長装置
JPS63227272A (ja) 圧縮伸長処理装置
KR910001072B1 (ko) 2진 데이타의 압축 및 신장처리장치
JPS63227276A (ja) 圧縮伸長処理装置
JP2598011B2 (ja) 圧縮伸長処理装置
JPS63276973A (ja) 圧縮伸長処理装置
JPH01867A (ja) 圧縮伸長処理装置
JP2601822B2 (ja) 圧縮された信号を処理する伸長処理装置
JPS63227277A (ja) 圧縮伸長処理装置
JP3014999B2 (ja) ハフマン復号化装置
JPH04298164A (ja) ファクシミリ装置用データ圧縮/解凍回路
JPH11215008A (ja) 復号回路
US5233695A (en) Microprocessor with a reduced size microprogram
CN112600566B (zh) 一种游程解码数字电路
JP3130721B2 (ja) 2値画像圧縮伸張処理システム及び2値画像切出し方法
JPH11163736A (ja) プロセッサ
JPS5928763A (ja) 画情報符号化および復号化用情報検出回路