JPH0646776B2 - Decompression device for compression code - Google Patents

Decompression device for compression code

Info

Publication number
JPH0646776B2
JPH0646776B2 JP59114832A JP11483284A JPH0646776B2 JP H0646776 B2 JPH0646776 B2 JP H0646776B2 JP 59114832 A JP59114832 A JP 59114832A JP 11483284 A JP11483284 A JP 11483284A JP H0646776 B2 JPH0646776 B2 JP H0646776B2
Authority
JP
Japan
Prior art keywords
code
decoding
image
signal
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59114832A
Other languages
Japanese (ja)
Other versions
JPS60257664A (en
Inventor
加津利 久田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP59114832A priority Critical patent/JPH0646776B2/en
Priority to US06/739,069 priority patent/US4837634A/en
Priority to DE19853520051 priority patent/DE3520051A1/en
Priority to FR8508474A priority patent/FR2569068B1/en
Publication of JPS60257664A publication Critical patent/JPS60257664A/en
Publication of JPH0646776B2 publication Critical patent/JPH0646776B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明はファクシミリや画像電子ファイル等に用いられ
る帯域圧縮符号化による圧縮コードの復号装置に関する
ものである。
The present invention relates to a decoding device for a compressed code by band compression encoding used for facsimiles, image electronic files and the like.

従来のファクシミリ等の画像伝送装置や近年の光ディス
クや磁気ディスク等を用いた画像ファイル装置等におい
ては、画像データを圧縮して取扱うことにより、データ
量を減少せしめ伝送或いは蓄積動作の高速化、効率化を
計っている。
In an image transmission device such as a conventional facsimile or an image file device using an optical disk or a magnetic disk in recent years, by compressing and handling image data, the amount of data is reduced and transmission or storage operation is speeded up and efficiency is improved. I am trying to make it.

かかる画像圧縮とは、いわゆるコード変換操作の一種で
あり、代表的な圧縮方法であるモディファイド・ホフマ
ン(MH)符号化について言えば、画像中の連続した白
又は黒画素のビットブロックを別の圧縮コードに対応さ
せて表現するものである。この際、発生頻度の高い画素
ビットブロックに対しては短いコード長の圧縮コードを
対応させ、一方、発生頻度の低い画素ビットブロックに
対しては長いコード長の圧縮コードを対応させることに
より、画素の組合せの発生頻度の偏りを利用して画像全
体をより少ないビット数の別のコード列で表現するもの
である。
The image compression is a kind of so-called code conversion operation, and in the case of the modified Hoffman (MH) encoding which is a typical compression method, a continuous bit block of white or black pixels in an image is separately compressed. It is expressed in correspondence with the code. At this time, a compressed code having a short code length is made to correspond to a pixel bit block having a high occurrence frequency, while a compressed code having a long code length is made to correspond to a pixel bit block having a low occurrence frequency. The entire image is represented by another code string having a smaller number of bits by utilizing the bias in the occurrence frequency of the combination of.

また、上述のMH符号化においては、画像情報を圧縮し
た圧縮コードに加えて、1ライン毎の区切りを示すエン
ド・オブ・ライン信号(EOLコード)が伝送される。
このEOLコードは復号情報に基づくプリント動作のラ
イン制御や、復号動作すべき圧縮コードの先頭検出等に
利用されるが、実際の画像情報を示すものではない。
Further, in the above-mentioned MH encoding, in addition to the compression code obtained by compressing the image information, the end-of-line signal (EOL code) indicating the delimiter for each line is transmitted.
This EOL code is used for line control of the print operation based on the decoding information, detection of the beginning of the compressed code to be decoded, etc., but it does not indicate actual image information.

近年、例えば電子写真プロセスを用いたレーザ・ビーム
・プリンタ等の高品位画像の形成が可能で、且つ、高速
なプリンタが開発され、このようなプリンタにより圧縮
画像のリアルタイムな再生(記録)を行なうことが望ま
れる様になっている。このリアルタイムな復号及び再生
をなすためにはプリンタのライン毎の記録と圧縮コード
の復号動作とに何らかの同期関係を正確に得ることが必
要である。
In recent years, for example, a high-speed printer capable of forming a high-quality image such as a laser beam printer using an electrophotographic process has been developed, and a real-time reproduction (recording) of a compressed image is performed by such a printer. Is becoming desired. In order to perform this real-time decoding and reproduction, it is necessary to accurately obtain some synchronization relationship between the line-by-line recording of the printer and the decoding operation of the compressed code.

本発明は以上の点に鑑みてなされたもので、高品位で且
つ高速な画像再現が可能な画像処理にも充分対応できる
圧縮コードの復号装置を提供することを目的とする。
The present invention has been made in view of the above points, and an object of the present invention is to provide a decoding apparatus for a compressed code, which is sufficiently high quality and can sufficiently cope with image processing capable of high-speed image reproduction.

また、本発明の他の目的は、リアルタイムに圧縮コード
の復号動作を行ない後段の装置に対し、途切れのない画
像信号を供給可能な圧縮コードの復号装置を提供するこ
とである。
Another object of the present invention is to provide a compressed code decoding apparatus capable of performing a compressed code decoding operation in real time and supplying an uninterrupted image signal to a subsequent apparatus.

更に、本発明の目的は、圧縮コードの復号動作と、復号
された画像情報に基づくプリンタ動作との同期を効果的
に取ることのできる圧縮コードの復号装置を提供するこ
とである。
A further object of the present invention is to provide a compressed code decoding device capable of effectively synchronizing the decoding operation of the compressed code and the printer operation based on the decoded image information.

即ち、本発明は、画像の各ラインの終了を示すEOLコ
ードを含む不定長の圧縮コードを順次復号する圧縮コー
ドの復号装置において、連続して入力する圧縮コードを
複数連続して記憶する記憶手段と、前記記憶手段に記憶
されている複数の圧縮コードをシフトすることにより、
復号済の圧縮コードを前記記憶手段から排出し次に復号
すべき圧縮コードを前記記憶手段の所定位置にセットす
るシフト手段と、前記記憶手段の所定位置にセットされ
た圧縮コードを復号することによりラン長データ及び圧
縮コードのコード長データを出力する復号手段と、前記
記憶手段に前記EOLコードが存在しているか否かを検
出する検出手段と、前記復号手段から出力された前記コ
ード長データに従って前記シフト手段により実行される
複数の圧縮コードのシフト量を制御するシフト制御手段
と、前記復号手段から出力された前記ラン長データに従
って画像をライン毎に一定速度で記録する記録手段と、
前記検出手段により前記記憶手段に前記EOLコードが
検出された場合、前記記録手段による各ラインの画像記
録前に前記シフト手段により前記EOLコードを前記記
憶手段から排出せしめ前記EOLコードに続く圧縮コー
ドを前記記憶手段の所定位置にセットせしめ、前記記録
手段による各ラインの画像記録開始に同期して前記復号
手段により前記EOLコードに続く圧縮コードの復号を
開始せしめる復号制御手段とを有する圧縮コードの復号
装置を提供するものである。
That is, according to the present invention, in a compression code decoding device for sequentially decoding compression codes of indefinite length including an EOL code indicating the end of each line of an image, storage means for successively storing a plurality of compression codes to be input. By shifting a plurality of compressed codes stored in the storage means,
By shifting the decoded compressed code from the storage means and setting the compressed code to be decoded next at a predetermined position of the storage means, and by decoding the compressed code set at the predetermined position of the storage means Decoding means for outputting the run length data and code length data of the compressed code, detecting means for detecting whether or not the EOL code exists in the storage means, and according to the code length data output from the decoding means Shift control means for controlling the shift amount of a plurality of compressed codes executed by the shift means, and recording means for recording an image at a constant speed line by line according to the run length data output from the decoding means,
When the detection means detects the EOL code in the storage means, the shift means discharges the EOL code from the storage means before the recording means records an image of each line, and a compression code following the EOL code is generated. Decoding of compressed code having a predetermined position in the storage means, and decoding control means for causing the decoding means to start decoding of the compressed code following the EOL code in synchronization with the start of image recording of each line by the recording means. A device is provided.

本発明の詳細な説明を以下に述べる。A detailed description of the invention is provided below.

まず、本発明の実施例の概要を第1図に示す回路ブロツ
ク図を用いて説明する。
First, an outline of an embodiment of the present invention will be described with reference to the circuit block diagram shown in FIG.

第1図において101は記憶回路であり、例えば画像を光
電的に読取るリーダや画像をフアイルする電子フアイ
ル、或いは電話線等の伝送路を介して画像情報を受信す
る受信機等から入力された既に別途手段を用いて画像信
号を圧縮符号化することにより得た、謂るMH(モデイフ
アイド・ホフマン)コードを、16ビツト(1ワード)
単位で順次読出し可能な形で記憶している回路で、例え
ばRAM (ランダム・アクセス・メモリ)又はラツチ回路
等により実現できる回路である。又、記憶回路101に於
けるMHコードの記憶形式は、第2図(a)に一例を示す如
くである。即ち、MHコード本来の性質として、そのコー
ド長は不揃い(最小2ビツト〜最大13ビツト)である
が、コード長に拘らず、1ビツトの空もなく、第2図
(b)の如くシリアルに連ねたビツト列を16ビツト毎に
並列に変換して並べた形式である。第2図(b)におい
て、WB及びBBは夫々白及び黒画素を示すMHコードで、WB
及びBBの後の数字はそのコードの示すランレングスを表
わしており、例えば、WB8はランレングス8の白を示す
MHコードである。この形式に於て、MHコードの区切りと
ワード(16ビツト)の区切りとは必ずしも一致してい
ない。又、記憶回路101は外部コントロールに依り、後
続のワードを順次パラレル出力できる機能を有するもの
である。
In FIG. 1, reference numeral 101 denotes a memory circuit, which has been input from a reader that photoelectrically reads an image, an electronic file that fails an image, or a receiver that receives image information through a transmission line such as a telephone line. A 16-bit (1 word) 16-bit (1 word) so-called MH (modifeyed Hoffman) code obtained by compression-encoding an image signal using a separate means
It is a circuit that stores data in a sequentially readable form in units, and can be realized by, for example, a RAM (random access memory) or a latch circuit. The storage format of the MH code in the storage circuit 101 is as shown in FIG. 2 (a). In other words, the MH code is inherently unequal in the code length (minimum 2 bits to maximum 13 bits), but regardless of the code length, there is no 1 bit vacancy,
As in (b), the serially linked bit string is converted into parallel every 16 bits and arranged. In FIG. 2 (b), WB and BB are MH codes indicating white and black pixels, respectively.
The number after BB and BB indicates the run length indicated by the code, for example, WB8 indicates white of run length 8.
This is the MH code. In this format, the MH code delimiter and the word (16 bit) delimiter do not necessarily match. Further, the memory circuit 101 has a function of sequentially outputting the subsequent words in parallel in accordance with external control.

第1図において102は謂ゆるマルチプレクサ(データセ
レクタ)である。また、103は28ビツト並列入力及び
出力を有するレジスタであり、記憶回路101からマルチ
プレクサ102を経て、レジスタ103の入力側に与えられる
MHコードを一時記憶する機能及び既にレジスタ103に記
憶しているMHコードを出力として後述するMHコード・デ
コード・ロジツク104及びMHコード・デコード・テーブ
ルROM(リード・オンリ・メモリ)105等に与える役割り
を有する。
In FIG. 1, 102 is a so-called multiplexer (data selector). Further, 103 is a register having 28-bit parallel input and output, which is given to the input side of the register 103 from the memory circuit 101 through the multiplexer 102.
The function of temporarily storing the MH code and the role of giving the MH code already stored in the register 103 as an output to the MH code decoding logic 104 and the MH code decoding table ROM (read only memory) 105 described later. Have a

マルチプレクサ102及びレジスタ103とでデータのシリア
ル・シフト及びnビツトのジヤンプ・シフトが可能な謂
ゆるビツト・シフタを形成する。このビツト・シフタは
後述するMHコード・デコード・ロジツク104及びMHコー
ド・デコード・RM105の出力等によりコントロール
され、前述の方法によりMHコードの境目に拘りなく記憶
回路101からレジスタ103内に記憶されたMHコードを必要
なビツト数だけシフトし、記憶する機能を果すものであ
る。第3図(詳細は後述する)はこのビツトシフタの詳
細な構成を示す図であり、レジスタ103内に例示されたM
Hコード列は第1図示の記憶回路101内に例示したMHコー
ドが適切なコントロールを経て白のランレングス8を示
すMHコードWB1(10011)がデコード可能な位置に来た状
態を図示している。即ち第3図示のレジスタ103の出力C
0、即ち、LSB出力にMHコードの先頭ビツトが出力されて
いる状態をデコード可能な位置とし、今后「頭出し完
了」と称する。従つて第3図レジスタ103内のコードの
配列は白のランレングス8を示すMHコードWB8が「頭出
し完了」の状態にある事を示している。
The multiplexer 102 and the register 103 form a so-called bit shifter capable of serial shifting of data and jump shifting of n bits. This bit shifter is controlled by the outputs of the MH code decoding logic 104 and the MH code decoding RM105 which will be described later, and is stored in the register 103 from the memory circuit 101 regardless of the boundary of the MH code by the above method. It functions to store the MH code by shifting it by the required number of bits. FIG. 3 (details will be described later) is a diagram showing a detailed configuration of this bit shifter, and M shown in the register 103 as an example.
The H code string shows the state in which the MH code illustrated in the first memory circuit 101 in the first diagram has come to a position where the MH code WB 1 (10011) indicating the white run length 8 can be decoded through appropriate control. There is. That is, the output C of the register 103 shown in FIG.
0, that is, the state in which the leading bit of the MH code is output to the LSB output is the position at which decoding is possible, and is hereinafter referred to as "completion of cueing". Therefore, the arrangement of the codes in the register 103 in FIG. 3 indicates that the MH code WB8 indicating the white run length 8 is in the “cue completed” state.

第1図において104はMHコード・デコード・ロジツク
(以下ロジツク104と称する)であり、MHコードのコー
ド長よりMHコードの示すランレングスの方が短い以下の
4種のコード即ち、白のランレングス1(MHコードで00
0111、コード長=6>ランレングス=1)、白のランレ
ングス2(MHコードで0111、コード長=4>ランレ
ングス=2)、白のランレングス3(MHコードで100
0、コード長=4>ランレングス=3)及び黒のランレ
ングス1(MHコードで010、コード長=3>ランレン
グス=1)をデコードする回路である。
In FIG. 1, reference numeral 104 is an MH code decoding logic (hereinafter referred to as logic 104), and the following four types of codes, that is, the run length indicated by the MH code is shorter than the code length of the MH code, that is, the white run length. 1 (00 with MH code
0111, code length = 6> run length = 1), white run length 2 (MH code 0111, code length = 4> run length = 2), white run length 3 (MH code 100)
0, code length = 4> run length = 3) and black run length 1 (MH code 010, code length = 3> run length = 1).

尚、以下の説明中、白のランレングス1、白のランレン
グス2、白のランレングス3及び黒のランレングス1を
夫々示す上述の4種のMHコードをまとめてHSCコードと
呼ぶことにする。
In the following description, the above four types of MH codes indicating the white run length 1, the white run length 2, the white run length 3 and the black run length 1 will be collectively referred to as an HSC code. .

第1図において105はMHコード・デコード・RM(以
下RM105と称する。)であり、前述のロジツク104が
デコードを受持つ4種のMHコードを含む全てのMHコード
を主としてデコードする回路である。
In FIG. 1, reference numeral 105 denotes an MH code decoding RM (hereinafter referred to as RM105), which is a circuit which mainly decodes all MH codes including four kinds of MH codes which the above-mentioned logic 104 takes charge of decoding.

ロジツク104及びROM 105はMHコードの処理スピード及び
方法の違いにより、デコードを受け持つMHコードを区分
しているのであるが、これら2つのデコーダによりレジ
スタ103においてMHコードが「頭出し完了」する毎に、
該MHコードのランレングス、コード長及び黒又は白の
画像の色の別、そしてメイク・アツプ・コード又はター
ミネイト・コードの別、あるかないか等の検出をするも
のである。
The logic 104 and the ROM 105 divide the MH code responsible for decoding according to the difference in the processing speed and method of the MH code. These two decoders each time the MH code in the register 103 is "cue completed". ,
The run length of the MH code, the code length and the color of the black or white image, the make-up code or the terminate code, and the presence / absence of the code are detected.

112はEOL検出回路で、レジスタ103にビツトシリアルに
格納されたMHコード中にライン同期のためのコード、即
ち、エンド・オブ・ライン(EOL)コードが存在するか
否か及びその格納位置を検出する。
Reference numeral 112 denotes an EOL detection circuit, which detects whether or not a code for line synchronization, that is, an end of line (EOL) code exists in the MH code stored in the register 103 in bit serial, and the storage position thereof. To do.

第1図において108はランレングス・カウンタでカウン
ト数“0”から最大のメイク・アツプコードのランレン
グス、即ち“2650”以上のカウントが可能なバイナリ・
カウンタである。このランレングス・カウンタ108はロ
ジツク104又はROM 105から出力されるMHコードのランレ
ングスをカウントし終える毎にカウント終了信号(本例
ではカウンタのリツプル・キヤリCR)を出力する。
In FIG. 1, reference numeral 108 denotes a run length counter, which is a binary length capable of counting from the count number "0" to the maximum make up code run length, that is, "2650" or more.
It is a counter. The run length counter 108 outputs a count end signal (ripple / carry CR of the counter in this example) each time the run length of the MH code output from the logic 104 or the ROM 105 is counted.

109はフリツプ・フロツプであり、前述のランレングス
・カウンタ108からのカウント終了信号(リツプル・キ
ヤリCR)を受けて、その度毎に出力を反転させる。但し
後述するようにメイク・アツプ・コードのカウント終了
信号では該出力は反転しないように制御される。このフ
リツプ・フロツプ109の出力が記憶回路101から読出した
MHコードをデコードして得られた画像信号である。
109 is a flip-flop, which receives a count end signal (ripple-carry CR) from the run-length counter 108 and inverts the output each time. However, as will be described later, the output is controlled so as not to be inverted by the count-up signal of the make-up code. The output of this flip-flop 109 was read from the memory circuit 101.
It is an image signal obtained by decoding the MH code.

107はコード・レングス・カウンタでMHコードの最大の
コード長である“13”以上をカウントできる、バイナリ
・カウンタでレジスタ103内において「頭出し完了」し
ていたMHコードをシリアルソフト或いはジヤンプ・シフ
トする事によつて、デコード済コードとして103レジス
タから掃出してしまい、後続するMHコードを「頭出し完
了」の位置へシフトする際に、そのシフト量をカウント
し制御するものである。
107 is a code length counter that can count the maximum code length of MH code of "13" or more. It is a binary counter that serializes or jump-shifts the MH code that was "completed" in register 103. As a result, the decoded code is swept out from the 103 register, and when the succeeding MH code is shifted to the "cue completed" position, the shift amount is counted and controlled.

106は4ビツトのアキユミレータである。上述したよう
に、レジスタ103内に記憶回路101から取込まれたMHコー
ドはデコード済となると順次レジスタ103から掃出さ
れ、これによりレジスタ103内に空ビツトができる。そ
こでアキユミレータ106がレジスタ103内の空ビツトの数
をカウントし、16ビツトの空ビツトができる毎に新た
なMHコードを記憶回路101から1ワード(16ビツト)
パラレルにレジスタ103内の空ビツトへ補完する。これ
によるレジスタ103からロジツク104又はRM105へ与
えるMHコードの列が途切れないように制御し、高速なデ
コード動作を可能とする。
106 is a 4-bit accumulator. As described above, the MH code fetched from the memory circuit 101 into the register 103 is sequentially swept out from the register 103 when it has been decoded, whereby an empty bit can be formed in the register 103. Therefore, the accumulator 106 counts the number of empty bits in the register 103, and each time 16 empty bits are generated, a new MH code is read from the memory circuit 101 by one word (16 bits).
The empty bit in the register 103 is complemented in parallel. Thus, the sequence of the MH code given from the register 103 to the logic 104 or the RM 105 is controlled so as not to be interrupted, thereby enabling a high-speed decoding operation.

尚、110は第1図示のブロツク101〜109間の入出力信号
を制御する制御回路を図示したものである。
Reference numeral 110 shows a control circuit for controlling input / output signals between the blocks 101 to 109 shown in FIG.

以上の如くしてMHコードを画像信号へ変換、即ち、MHコ
ードの復号がなされる。復号された画像信号はプリンタ
111に供給され、被記録材上に画像記録がなされる。
尚、プリンタ111からは1走査毎の同期信号である水平
同期信号HSYNCが出力され、このHSYNCは復号動作のタイ
ミングに用いられる。
As described above, the MH code is converted into the image signal, that is, the MH code is decoded. The decoded image signal is a printer
The image is recorded on the recording material by being supplied to 111.
The printer 111 outputs a horizontal synchronizing signal HSYNC which is a synchronizing signal for each scanning, and this HSYNC is used for the timing of the decoding operation.

次に本発明の実施例を更に具体的に説明する。本実施例
は、画像圧縮符号であるMHコードを復号した結果である
画像信号を何らの画像メモリを設けることなくレーザ・
ビーム・プリンタ等の高速プリンタに直接出力するのに
使用する謂ゆる“高速・リアルタイム・MHデコーダ”を
提供するものである。従つて、MHデコーダの処理速度の
高速性及びMHデコーダの画像出力(本例は画像周波数=
十数MHzを想定)とレーザ・ビーム・プリンタ等の高速
プリンタとの同期の問題が解決されねばならない。そこ
で、これらの問題点を解決する為に、以下に述べる処理
方法に基き、所望の“高速リアル・タイム・MHデコー
ダ”を実現する。
Next, examples of the present invention will be described more specifically. In the present embodiment, the image signal which is the result of decoding the MH code which is the image compression code is obtained by laser
It provides a so-called "high-speed, real-time MH decoder" used for direct output to a high-speed printer such as a beam printer. Therefore, the processing speed of the MH decoder and the image output of the MH decoder (in this example, the image frequency =
The problem of synchronization between high-speed printers such as laser beam printers should be solved. Therefore, in order to solve these problems, a desired "high-speed real-time MH decoder" is realized based on the processing method described below.

(1) MHデコーダとプリンタの同期はMHコードのEL
とプリンタの1ライン毎の同期信号である水平同期信号
とで行なう。
(1) MH decoder EL is synchronized with MH decoder for printer
And a horizontal synchronizing signal which is a synchronizing signal for each line of the printer.

(2) 第1図レジスタ103内において「頭出し完了」して
デコード済となつたMHコードを掃出し、後続のMHコード
を「頭出し完了」の位置までシフトする方法として、掃
出すべきコードによつてジヤンプ・シフト及びシリアル
・シフトの2種類の方法のうちのどちらかを使用するよ
うにする。
(2) As shown in Fig. 1 register 103, the MH code that has been "cue completed" and decoded has been swept, and the subsequent MH code is shifted to the "cue completed" position by the code to be swept. Therefore, use one of two methods, jump shift and serial shift.

この2点を達成するための具体的な構成を図面を用いて
説明する。
A specific configuration for achieving these two points will be described with reference to the drawings.

第8図は第1図に出力部の例として示したレーザ・ビー
ム・プリンタの一実施例の構成を示す斜視図である。
FIG. 8 is a perspective view showing the configuration of an embodiment of the laser beam printer shown as an example of the output section in FIG.

このプリンタはレーザ光を用いた電子写真方式によるも
のであり、201はハウジングHa内に可回動に支持され
た感光ドラムである。202はレーザ光Laを出射する半
導体レーザであり、出射されたレーザ光Laはビームエ
キスパンダ203に入射せしめられ、所定のビーム径をも
つたレーザ光となる。更にレーザ光は鏡面を複数個有す
る多面体ミラー204に入射される。多面体ミラー204は定
速回転モータ205により所定速度で回転される。多面体
ミラー204によつてビームエキスパンダ203より出射した
レーザ光は実質的に水平に走査される。そしてf−θ特
性を有する結像レンズ206により、帯電器213により所定
の極性に帯電されている感光ドラム201上にスポツト光
として結像される。
This printer is of an electrophotographic type using a laser beam, and 201 is a photosensitive drum rotatably supported in a housing Ha. Reference numeral 202 denotes a semiconductor laser that emits laser light La, and the emitted laser light La is made incident on the beam expander 203 and becomes a laser light having a predetermined beam diameter. Further, the laser light is incident on the polyhedral mirror 204 having a plurality of mirror surfaces. The polyhedral mirror 204 is rotated at a predetermined speed by a constant speed rotation motor 205. The laser light emitted from the beam expander 203 is scanned substantially horizontally by the polyhedral mirror 204. Then, an image is formed as spot light on the photosensitive drum 201 charged by the charger 213 to a predetermined polarity by the image forming lens 206 having the f-θ characteristic.

207は反射ミラー208によつて反射されたレーザ光を検知
するビーム検出器で、この検出信号により感光ドラム20
1上に所望の光情報を与えるため半導体レーザ202の変調
動作のタイミングを決定する。
A beam detector 207 detects the laser light reflected by the reflection mirror 208, and the photosensitive drum 20 is detected by this detection signal.
The timing of the modulation operation of the semiconductor laser 202 is determined in order to give desired optical information on 1.

感光ドラム201に結像走査されたレーザ光により感光ド
ラム201上に高解像度の静電潜像が形成される。この潜
像は現像器209により顕画化された後、カセツト210,211
のいずれかに収納されている記録材に転写され、更に定
着器212を記録材が通ることにより像は記録材に定着さ
れハードコピーとして不図示の排出部に排出される。
A high-resolution electrostatic latent image is formed on the photosensitive drum 201 by the laser light image-formed and scanned on the photosensitive drum 201. This latent image is visualized by the developing device 209, and then the cassette 210, 211
The image is transferred to a recording material stored in any one of the above, and the recording material is further passed through the fixing device 212, so that the image is fixed on the recording material and discharged as a hard copy to a discharge portion (not shown).

第9図に第8図の半導体レーザを所定の画像信号により
変調するためのプリンタ回路の一実施例を示す。
FIG. 9 shows an embodiment of a printer circuit for modulating the semiconductor laser of FIG. 8 with a predetermined image signal.

復号処理されて入力端子INから入力された画像信号VI
DEOは1走査分の画像信号群毎に少なくとも1走査分の
画素数に等しい数のビツト数を持つシフトレジスタ等か
らなる第1ラインバツフア301及び第2ラインバツフア3
02に、バツフアスイツチ制御回路303の制御により交互
に入力される。
Image signal VI decoded and input from input terminal IN
DEO is a first line buffer 301 and a second line buffer 3 which are shift registers having a number of bits equal to the number of pixels for at least one scan for each image signal group for one scan.
02 is alternately input under the control of the buffer switch control circuit 303.

更に、第1ラインバツフア301、及び第2ラインバツフ
ア302に入力された画像信号はビーム検出器304からのビ
ーム検出信号をトリガ信号として1走査分毎に交互に読
出され、レーザドライバ305に加えられる。
Further, the image signals input to the first line buffer 301 and the second line buffer 302 are alternately read for each scanning by using the beam detection signal from the beam detector 304 as a trigger signal and added to the laser driver 305.

レーザドライバ305はレーザ光の発光を制御すべく入力
した画像信号に基づき半導体レーザ306を変調制御す
る。
The laser driver 305 modulates and controls the semiconductor laser 306 based on the input image signal to control the emission of laser light.

ラインバツフアを2個有することにより次々に入力され
る画像信号をいずれかのラインバツフアに入力している
間に他方のラインバツフアに既に格納されている画像信
号をレーザドライバ305に出力するので高速な画像信号
の入力に対応可能である。
By having two line buffers, the image signals already stored in the other line buffer are output to the laser driver 305 while the image signals input one after the other are input to the laser driver 305. It can handle input.

又、ビーム検出器304からのビーム検出信号は水平同期
信号HSYNCとして復号処理回路にも伝達され、後述の如
く、復号処理とプリンタ動作との同期合せに用いられ
る。
The beam detection signal from the beam detector 304 is also transmitted to the decoding processing circuit as the horizontal synchronization signal HSYNC, and is used for synchronization between the decoding processing and the printer operation as described later.

尚、本プリンタにおいて復号化された画像信号は2つの
ラインバツフア、即ち、第1ラインバツフア301及び第
2ラインバツフア302によるダブルバツフア構成のバツ
フアを介して入力される。このダブルバツフア構成を用
いて復号動作に誤まりがあつた場合の補正動作を行な
う。つまり、復号回路により復号された画像信号を一方
のラインバツフアに格納中、復号動作に誤まりを生じた
場合、誤まりのあつた現ラインの画像信号によるプリン
ト動作を禁止し、他方のラインバツフアに既に格納され
ている前ラインの画像信号によりプリント動作する。
The image signal decoded by the printer is input through two line buffers, that is, a buffer having a double buffer structure including a first line buffer 301 and a second line buffer 302. This double buffer structure is used to perform the correction operation when there is an error in the decoding operation. That is, if an error occurs in the decoding operation while the image signal decoded by the decoding circuit is being stored in one of the line buffers, the printing operation by the image signal of the current line in which the error has occurred is prohibited and the other line buffer is already in operation. The printing operation is performed by the stored image signal of the previous line.

これにより、復号誤まりのあつた画像信号によるプリン
トがなされないので、再生画像への影響を除去できる。
尚、この補正動作により同一画像信号による画像が少な
くとも2ライン重複してまうことになるが、本例に用い
た高解像度(例えば16pel/mm)の記録動作において
は再生画像にそれほど影響を与えるものではない。
As a result, printing is not performed due to the image signal that has been erroneously decoded, so that it is possible to remove the influence on the reproduced image.
It should be noted that the correction operation causes images of the same image signal to overlap at least two lines, but in the high-resolution (for example, 16 pel / mm) recording operation used in this example, the reproduced image is greatly affected. is not.

第4図において105は第1図示のMHコード・テーブルROM
であり、実際には複数個のRM(リード・オンリ・メ
モリ)により構成されるものである。以下にRM105
の内容を模式的に説明すると、AD0 〜AD13はRM105
のアドレス端子である、又0〜O11はRM105の出
力端子である。ROM 105の記憶内容のフオーマツトは、
レジスタ103から供給されるデコードすべきMHコードのL
SBビツトをRM105のアドレス端子ADOにそろえ以下各
MHコードの各ビツトをMSB方向へ順次RM105のアドレ
ス端子のAD1からAD11までに与える。アドレス端子AD13
にはMHコードの色別を示す信号B/−ROM(黒=
1、白=0)を与えるものとする。尚、MHコードが12ビ
ツトより短い場合はその不足分のビツトは無視(DON′T
CARE)する。又ELコードはメイク・アツプ・コー
ドとして扱う。又ランレングス1972以上のメイク・
アツプ・コードの色別ビツト(AD13)は無視(DON′T C
ARE)とする。
In FIG. 4, 105 is the MH code table ROM shown in FIG.
In reality, it is composed of a plurality of RMs (read only memory). Below is RM105
Explaining the contents of the above, AD0 to AD13 are RM105
0 to O11 are output terminals of the RM105. The format of the contents stored in ROM 105 is
L of MH code to be decoded supplied from register 103
Align SB bit with RM105 address terminal ADO
Each bit of the MH code is sequentially applied to the address terminals AD1 to AD11 of the RM105 in the MSB direction. Address pin AD13
Is a signal B / -ROM (black =
1, white = 0). If the MH code is shorter than 12 bits, the insufficient bits are ignored (DON'T
CARE). The EL code is treated as a make-up code. In addition, makeup of run length 1972 or more
Ignore the color code bit (AD13) of the up code (DON'TC
ARE).

ROM 105には、以上によつて決めたアドレスの記憶デー
タとして各アドレスを与えたMHコードの内容を書き込ん
でおき、各MHコードに対応した出力を出力端子O0〜O11
に出力する。即ち出力端子0はデコードしたMHコード
がメイク・アップ・コードのときに「1」、ターミネイ
トコードのときに「0」となる信号M/を出力する。
出力端子1はデコードしたMHコードがランレングスO
の白コード(00110101)又はランレングスOの黒コード
(0000110111)のときに「0」を出力し、その他の時
「1」となる信号▲▼を出力する。
The contents of the MH code to which each address is given are written in the ROM 105 as the storage data of the address determined as described above, and outputs corresponding to each MH code are output terminals O 0 to O 11
Output to. That is, the output terminal 0 outputs the signal M / which becomes "1" when the decoded MH code is the make-up code and "0" when the decoded MH code is the terminate code.
MH code decoded at output terminal 1 is run length O
Of the white code (00110101) or the black code of run length O (0000110111), "0" is output, and at other times, a signal ▲ ▼ that is "1" is output.

出力端子2〜5は各MHコード長(ビツト数)を2の
補数表現した形式の4ビツト出力CLO〜CL3を出力する。
但し、出力端子5は該コード長のLSBである。出力端
子6〜11は各MHコードのランレングスを2の補数表
現した形式の6ビツト出力RL〜RLを出力する。但
し、出力端子11は該ランレングスのLSBである。尚、
メイク・アツプ・コードに対してはランレングスの2進
数表現の上位6ビツトのみを出力端子6〜11に割当
てる。これはMHコードにおけるメイク・アツプ・コード
は上位6ビツトのみでもそのランレングスを表現できる
からである。第4図の402にランレングス8の白を示すM
HコードWB8(10011)をデコードした場合のROM 105の
出力0〜O11を例示する(本実施例に用いるMHコード
表はCCITT YELLOW BK Fascicle VII.2 Rec. T.4 TA
BLE 1/T.4及びTABLE2/T.4による)。
The output terminals 2 to 5 output 4-bit outputs CLO to CL3 in a form in which each MH code length (bit number) is expressed in 2's complement.
However, the output terminal 5 is the LSB of the code length. The output terminals 6 to 11 output 6-bit outputs RL 0 to RL 5 in the form in which the run length of each MH code is expressed in 2's complement. However, the output terminal 11 is the LSB of the run length. still,
For the make-up code, only the upper 6 bits of the binary representation of run length are assigned to the output terminals 6-11. This is because the make-up code in the MH code can express the run length with only the upper 6 bits. M in FIG. 4 shows the run length 8 white at 402.
The outputs 0 to O11 of the ROM 105 when the H code WB8 (10011) is decoded are illustrated. (The MH code table used in this embodiment is CCITT YELLOW BK Fascicle VII.2 Rec. T.4 TA.
According to BLE 1 / T.4 and TABLE2 / T.4).

第4図において104は第1図示のMHコードデコード・ロ
ジツクであり、本実施例ではアンドゲート及びオアゲー
トにより構成した検出ロジツクである。ロジツク104の
出力である▲▼信号はHSCコード、即ち、ランレ
ングス1、2及び3の白を示すMHコード及びランレン
グス1の黒を示すMHコードを検出した時「0」とな
る。また出力▲▼〜▲▼は上述の4種のM
Hコード(HSCコード)の各々のコード長を2進数で表
現し、インバートして出力したものである。第4図404
にランレングス1の白を示すMHコード白1WB1(00
0111)をデコードした場合の出力を例示する。
In FIG. 4, reference numeral 104 denotes the MH code decoding logic shown in FIG. 1, and in this embodiment is a detection logic constituted by an AND gate and an OR gate. A signal output from the logic 104 is "0" when the HSC code, that is, the MH code indicating the white of the run lengths 1, 2 and 3 and the MH code indicating the black of the run length 1 is detected. The outputs ▲ ▼ to ▲ ▼ are the four types of M mentioned above.
Each code length of the H code (HSC code) is expressed by a binary number, inverted and output. Fig. 4 404
MH code white 1 WB1 (00
The output when 0111) is decoded is illustrated.

尚、HSCコードのデコード用にロジツク回路を用いたの
は高速処理のために現在のROMアドレス方式では時間的
に充分対応できないからである。
The reason why the logic circuit is used for decoding the HSC code is that the current ROM address method cannot sufficiently cope with time because of high-speed processing.

第3図示のビツト・シフタの動作を表1及び表2を参照
して説明する。
The operation of the bit shifter shown in FIG. 3 will be described with reference to Tables 1 and 2.

第3図102は第1図示のマルチプレクサであり、2個の
トライステートのマルチプレクサ1021及び1022からな
る。マルチプレクサ102へのアキユミユレータ106からの
制御線、が「0」のときはマルチプレクサ1022側から
レジスタ103への出力A7〜A27はすべてトライステートの
フローテイングとなることにより無効となり、レジスタ
103にはマルチプレクサ1021側からの出力A0〜A27が有効
となり、レジスタ103の出力C0〜C27となる。その時のマ
ルチプレクサ1021は入力線S0〜S2によりレジスタ103か
らの入力信号C0〜C27の選択動作をする。その選択のさ
れ方を表1に示す。例えばS0=S1=1、S2=0の場合は
レジスタ103の出力C3〜C27を取込み、夫々出力A0〜A24
として選択出力する。
FIG. 3 shows the multiplexer shown in FIG. 1 and comprises two tri-state multiplexers 1021 and 1022. When the control line from the accumulator 106 to the multiplexer 102 is "0", the outputs A7 to A27 from the multiplexer 1022 side to the register 103 are all invalidated due to the tri-state floating.
The outputs A0 to A27 from the multiplexer 1021 side are valid for 103 and become the outputs C0 to C27 of the register 103. At that time, the multiplexer 1021 selects the input signals C0 to C27 from the register 103 by the input lines S0 to S2. Table 1 shows the selection method. For example, in the case of S 0 = S 1 = 1 and S 2 = 0, the outputs C 3 to C 27 of the register 103 are fetched and the outputs A 0 to A 24, respectively.
And output as.

次にマルチプレクサ102への制御線が「1」の時は、
マルチプレクサ102の出力A0〜A6は制御線が「0」の
時と同じにマルチプレクサ1021から入力線S0〜S2により
選択的に与えられる。マルチプレクサ102からの出力A7
〜A27のうち表2でYで示す以外はマルチプレクサ1022
側が有効となり、マルチプレクサ1021側の出力A7〜A27
のうち表2でYで示す以外はフローテイングとなり無効
となる。又マルチプレクサ1022からレジスタ103に与え
られる出力A7〜A27は表2に示す如く、マルチプレクサ
1022への入力線Σ0〜Σ2により選択されるが、但
し、表2においてYで示すビツトはマルチプレクサ1021
側から選択される。このYの数はマルチプレクサ1022へ
の入力線Σ0〜Σ2に対応して出力される入力線ST7〜ST1
1によりマルチプレクサ1021のトライステート状態をコ
ントロールすることにより設定される。なお第3図のマ
ルチプレクサ1021及び1022の回路は市販のマルチプレク
サ(例えば米国フエアチヤイルド社製IC,F215等)及び
ゲート回路等により容易に実現できる。又、マルチプレ
クサ102においてレジスタ103への出力としてA0〜A27に
選択された出力はクロツクCKによりレジスタ103にラ
ツチされる。
Next, when the control line to the multiplexer 102 is "1",
The outputs A0 to A6 of the multiplexer 102 are selectively given from the multiplexer 1021 by the input lines S0 to S2 in the same manner as when the control line is "0". Output A7 from multiplexer 102
~ A27 multiplexers other than those indicated by Y in Table 2
Side becomes valid, and outputs A7 to A27 from the multiplexer 1021 side
Of those, those other than those indicated by Y in Table 2 become floating and are invalid. The outputs A7 to A27 given from the multiplexer 1022 to the register 103 are selected by the input lines Σ0 to Σ2 to the multiplexer 1022 as shown in Table 2, provided that the bit indicated by Y in Table 2 is the multiplexer 1021.
Selected from the side. The number of Y is the number of input lines ST7 to ST1 output corresponding to the input lines Σ0 to Σ2 to the multiplexer 1022.
It is set by controlling the tri-state state of the multiplexer 1021 by 1. The circuits of the multiplexers 1021 and 1022 in FIG. 3 can be easily realized by a commercially available multiplexer (for example, IC, F215, etc. manufactured by Fairchild, USA) and a gate circuit. Further, the outputs selected by A0 to A27 as the outputs to the register 103 in the multiplexer 102 are latched in the register 103 by the clock CK.

以上の様にビツト・シフタを構成し、記憶回路101によ
り16ビツトパラレルに入力するMHコード信号に対す
る任意のビツト数分のシフトを可能とする。これによ
り、コード長の不揃いなMHコードを前述の「頭出し完
了」状態にすることができる。
The bit shifter is configured as described above, and the memory circuit 101 enables shifting by an arbitrary number of bits for the MH code signal input in 16 bits parallel. As a result, the MH code of which the code lengths are not uniform can be brought into the above-mentioned "cue completion" state.

前述した如くMHコードが何であるかを判別するのはレジ
スタ103内を移動するコード列を監視する方法をとつて
いるが、その移動方法はビツト・シフタ102等により1
ビツトずつ移動するシリアルシフト及びHSCコードとし
て扱われるMHコードが検出された場合の最大6ビツトの
ジヤンプシフトが起る。即ち103レジスタ内のコード列
は最大でも6ビツト以下の移動しか1クロツク時間には
できないように制御されている。
As described above, what is the MH code is determined by monitoring the code string moving in the register 103. The moving method is 1 by the bit shifter 102 or the like.
When a serial shift that moves bit by bit and an MH code that is treated as an HSC code are detected, a jump shift of up to 6 bits occurs. That is, the code string in the 103 register is controlled so that the maximum movement is 6 bits or less in one clock time.

従つてEOLコード(000000000001)はレジスタ103内を移動
する際、前からの経過で誤つた移動量であつてもそのLS
Bビツトは必ずレジスタ103のC0〜C5に現われることにな
るのである。
Therefore, when the EOL code (000000000001) moves in the register 103, even if the movement amount is incorrect due to the progress from the previous time, the LS
The B bit always appears in C0 to C5 of the register 103.

さて、一般にMHコードを復号する際、そのコード体系か
らして、ELコードの検出が極めて重要である。以
下、第1図示のEOL検出回路112を詳細に説明する。
Now, generally, when decoding an MH code, detection of the EL code is extremely important due to its code system. Hereinafter, the EOL detection circuit 112 shown in FIG. 1 will be described in detail.

即ち、EOLコードは画像1ライン毎の区切りのコードで
あると同時にそれに続く、MHコードの位置を示す役割を
持つているわけであるが、故にデコードの際EOLコード
を検出ミスすると直ちにそれに続くMHコードの区切りが
不明となり1ライン分の画像がデコード不可能となり、
又、続く各画像ラインのEOLもその検出法に依つては検
出できなくなり結局、プリント出力した画像が乱れて殆
んど使用できない程度まで波及することになる。
That is, the EOL code is a code that separates each line of the image, and at the same time, it has a role of indicating the position of the MH code that follows it. Therefore, if the EOL code is missed during decoding, it immediately follows the MH code. The code delimiter becomes unknown and the image for one line cannot be decoded.
Also, the EOL of each subsequent image line cannot be detected depending on the detection method, and eventually the printed image is disturbed and spreads to the extent that it cannot be used.

従つて、MHコード列の中でたとえ送・受信誤り等により
MHコードを多少誤つていても、EOLコードの検出に極力
誤りを起させないEOL検出方法が重要となるのである。
Therefore, in the MH code string, even if there is a transmission / reception error, etc.
It is important to have an EOL detection method that does not cause an error in the detection of the EOL code even if the MH code is slightly wrong.

EOLコードが確実に検出されればコード誤りは画像1ラ
イン内で回復できる。
If the EOL code is reliably detected, the code error can be recovered within one image line.

第10図はEOL検出回路112の詳細な構成を示す図であ
る。第10図に示すように12ビツトのELコード
(000000000001)のLSBがレジスタ103のC0〜C5のどこに
きても良いように少なくともレジスタの一度にシフト可
能なシフト量即ち6に対応する6種の検出ゲート1001で
並列に設ける。これによりレジスタ103内の格納データ
を監視することによりELコードの検出漏れを防止し
ている。そして、EOLコードを検出した検出ゲート1001
からは夫々▲▼〜▲▼の如く、EOLコ
ードのレジスタ103内における位置を示す検出信号が出
力される。
FIG. 10 is a diagram showing a detailed configuration of the EOL detection circuit 112. As shown in FIG. 10, the LSB of the 12-bit EL code (000000000001) can be anywhere in C 0 to C 5 of the register 103 so that at least one shift amount of the register, that is, 6 corresponds to 6 Seed detection gates 1001 are provided in parallel. As a result, the EL code detection failure is prevented by monitoring the data stored in the register 103. And the detection gate 1001 that detected the EOL code
From each of them, a detection signal indicating the position of the EOL code in the register 103 is output, as in ▲ ▼ to ▲ ▼.

この方法によりEOLコード自身が誤りビツトを含んでい
ない限りEL検出を誤る事がなくなるのである。
This method prevents the EL detection from being mistaken unless the EOL code itself contains an error bit.

従つて画像コード誤りは必ず1ライン以内で回復可能で
ある。又EOLコード内に誤りビツトを含む確率は画像コ
ード内に誤りビツトを含む確率に比較しそのビツト数の
割合等からして極めて低く実用上無視できる程度であ
る。
Therefore, the image code error can be recovered within one line without fail. Also, the probability that an error bit is included in the EOL code is extremely low compared to the probability that an error bit is included in the image code, and is extremely low in practical use and can be ignored.

第11図にはEOLコード検出のための検出ゲートの詳細
を示す。図の如く、12ビツトデータをパラレルに取込
む構成となつており、そのMSBを除いた11ビツトのデ
ータを反転ゲートINVを介し、前述のMSBとともに12入
力のNANDゲート1002に印加する。これによりEOLコード
のデコードを行い、EOLコードがデコードされた場合に
はNANDゲート1002の出力がローレベルとなる。
FIG. 11 shows the details of the detection gate for detecting the EOL code. As shown in the figure, the configuration is such that 12-bit data is fetched in parallel, and 11-bit data excluding the MSB is applied to the 12-input NAND gate 1002 together with the above-mentioned MSB via the inversion gate INV. As a result, the EOL code is decoded, and when the EOL code is decoded, the output of the NAND gate 1002 becomes low level.

第10図のEOL検出回路112の出力0EOL〜5EOLはコード
レングスカウンタ107及びアキユムレータ106に伝えられ
る。アキユムレータ106はこの信号により、EOLコード長
分のシフトをレジスタ103になさしめるものである。
Outputs 0EOL to 5EOL of the EOL detection circuit 112 of FIG. 10 are transmitted to the code length counter 107 and the accumulator 106. Based on this signal, the accumulator 106 causes the register 103 to shift by the EOL code length.

即ち第10図示のEL検出回路112はその検出位置か
らしてレジスタ103にEOLコードの前にMHコード又はFiLL
ビツトがまだ残つている状態で既にEOLを検出すること
もある。従つてEOL検出回路112が検出するEOLコードの
うち信号▲▼以外のEOLコード検出信号即ち▲
▼〜▲▼を検出した場合にはアキユム
レータ106はレジスタ103におけるELコードの前の残
りコードがレジスタ103から前述のシフト動作によつて
掃出されたあと、ELコードのコード長分即ち12ビ
ツトのシフトをレジスタ103に更に行なわせる。
That is, the EL detection circuit 112 shown in FIG. 10 indicates that the MH code or the FiLL code before the EOL code is stored in the register 103 from the detection position.
EOL may already be detected while the bit is still left. Therefore, among the EOL codes detected by the EOL detection circuit 112, an EOL code detection signal other than the signal ▲ ▼, that is, ▲
When ▼ to ▲ ▼ are detected, the accumulator 106 causes the remaining code before the EL code in the register 103 to be swept from the register 103 by the above-mentioned shift operation, and then the code length of the EL code, that is, 12 bits. Causes the register 103 to further perform the shift.

これによりEOLコードを掃出し終え、復号すべき次ライ
ンの先頭の画像MHコードの「“頭出し完了”」の状態と
なる。またこれにより画像情報ではないEOLコードを他
の圧縮コードと同様に復号動作することによる時間無駄
も除去できる。
As a result, the EOL code has been swept out, and the state of the "image heading completed" of the image MH code at the beginning of the next line to be decoded is set. Further, by doing so, it is possible to eliminate the waste of time due to the decoding operation of the EOL code which is not the image information similarly to other compressed codes.

次に第1図に示したブロツク図全体の詳細な説明を第5
図等を用いて行なう。第5図に掲げた回路の動作は複雑
であるので、説明を容易にする為に、いくつかの条件設
定し、更に一般的と思われるMHコードの復号動作を例に
して、まず、該回路の基本的動作の説明を行ない、その
後、前記設定条件の成立に関して説明するものとする。
Next, a detailed description of the entire block diagram shown in FIG.
Use figures and the like. Since the operation of the circuit shown in FIG. 5 is complicated, some conditions are set to facilitate the explanation, and the decoding operation of the MH code which seems to be more general is taken as an example. The basic operation will be described, and then the establishment of the setting condition will be described.

復号されるべき、MHコード列の一例として第2図(b)を
用いる事とする。そして本回路の動作原理としてプリン
タの水平同期信号HSYNCが来る前までに、第2図(b)の先
に現われるELコードは第3図示のレジスタ103から
前述のビツト・シフト動作により掃出され、ELの次
のMHコード(即ち、これからデコードしようとするライ
ンの最初の画像信号のMHコード)である白のランレング
ス8を示すMHコードWB8がレジスタ103に前述の如く「頭
出し完了」の状態でプリンタからのHSYNC待ちとなつて
いるとする。
FIG. 2 (b) is used as an example of the MH code string to be decoded. As the operating principle of this circuit, before the horizontal synchronizing signal HSYNC of the printer arrives, the EL code appearing at the end of FIG. 2 (b) is swept from the register 103 shown in FIG. 3 by the bit shift operation described above, The MH code WB 8 indicating the white run length 8 which is the MH code next to the EL (that is, the MH code of the first image signal of the line to be decoded from now) is stored in the register 103 as “cue completed” as described above. It is assumed that the printer is waiting for HSYNC from the printer.

第6図は第5図回路の主要部のタイム・チヤートであ
る。第6図においてHSYNC 601は前述のプリンタの主走
査方向の同期信号であり、主走査1ライン毎に発生され
る。これをタイム・チヤートの基準とし、この時刻t
とする。CK 600は基本クロツクであり、その周波数は画
像周波数と同じである。VEN 602は主走査線内の有効画
像区間を規定する区間信号である。またiNi 603は区間
信号VENの始まる1クロツク(1ビツト)前のパルス、E
OS 604は区間信号VENの最終クロツク(ビツト)のパ
ルスである。
FIG. 6 is a time chart of the main part of the circuit shown in FIG. In FIG. 6, HSYNC 601 is a synchronizing signal in the main scanning direction of the printer described above, which is generated for each main scanning line. Using this as the reference for time chart, this time t 0
And The CK 600 is the basic clock and its frequency is the same as the image frequency. VEN 602 is a section signal that defines an effective image section within the main scanning line. In addition, the iNi 603 has a pulse E one clock (one bit) before the start of the section signal VEN.
The OS 604 is a pulse of the last clock (bit) of the section signal VEN.

尚、前述した様に、圧縮コード(MHコード)を復号した
画信号に基ずく記録動作をレーザ・ビーム・プリンタで
行なう場合、水平同期信号HSYNCはレーザ光によるラス
タスキヤンのスキヤンラインの所定位置に、レーザ光が
達したことを検知したビーム検知信号に基ずくものであ
り、また、区間信号VENはレーザ光によりスキヤンさ
れて潜像形成のなされる感光体(ドラム)をレーザ光がス
キヤンしている区間に基ずく。
As described above, when the recording operation based on the image signal obtained by decoding the compressed code (MH code) is performed by the laser beam printer, the horizontal synchronizing signal HSYNC is set at the predetermined position of the scan line of the raster scan line by the laser beam. , Is based on a beam detection signal that detects the arrival of the laser light, and the section signal VEN is scanned by the laser light and the laser light scans the photoconductor (drum) on which a latent image is formed. Based on the section.

これらから明らかなように第6図における各信号600〜6
04の時間的関係は一般に一定値に固定されるべきもので
ある。そして本例ではHSYNC 601とiNi 603の間を64ク
ロツクの固定長とする。またVEN 602の区間は1ライン
の画素数となるが本例ではそれを4096ビツト(画素)と
する。
As is clear from these, the signals 600 to 6 in FIG.
The time relationship of 04 should generally be fixed to a fixed value. In this example, a fixed length of 64 clocks is set between HSYNC 601 and iNi 603. Further, the VEN 602 section has the number of pixels of one line, but in this example, it is set to 4096 bits (pixels).

第6図において、時刻tでは第5図の回路は画像出力
の各主走査毎のイニシアル状態に設定されている。即
ち、前述の如く各ライン毎の先頭画像のMHコード(本例
では白のランレングス8を示すWB8(10011))がレジス
タ103に「頭出し完了」であり、該レジスタ103の出力・
C0〜C12(本例では(10011.0010.000
1)はロジツク104、ROM 105等に与えられている。
In FIG. 6, at time t 0 , the circuit of FIG. 5 is set to the initial state for each main scan of image output. That is, as described above, the MH code of the leading image of each line (WB 8 (10011) indicating the white run length 8 in this example) is “cue completed” in the register 103, and the output of the register 103
C 0 to C 12 ((10011.0010.000 in this example
1) is given to the logic 104, ROM 105, etc.

又、同じくコードレングスカウンタ107の値は(-1)=(1
111B)となつている。この際(-1)は「頭出し完了」を意
味すると定義されている。又、各フリツプフロツプ510,
109,515はリセツト状態、フリツプフロツプ509はセツト
状態にある。
Similarly, the value of the code length counter 107 is (-1) = (1
111B). At this time, (-1) is defined to mean "cue completion". Also, each flip-flop 510,
109 and 515 are in the reset state, and flip-flop 509 is in the reset state.

フリツプフロツプ509がセツトされている(Q=1)ことはM
H・コードのEOLを検出した后、レジスタ103からEOLコー
ドの掃出しを完了した状態にある事を示す。また、フリ
ツプ・フロツプ510がセツトされている(Q=1)の状態は
後述するように、ランレングス・ラツチ513がビジー(B
usy)であることを示す。フリツプフロツプ515はB/
−ROM信号を出力Qとして出力する。このフリツプフ
ロツプ515の出力は1のときにこれから複写すべきMH・
コードの色が黒であることを示すB/−ROM信号で
ある。同じく出力Qが0のときは白であることを示す。
Flip Flop 509 is set (Q = 1) means M
Indicates that the EOL code has been swept from the register 103 after detecting the HOL code EOL. As described later, the run length latch 513 is busy (B = 1) when the flip / flop 510 is set (Q = 1).
usy). Flip Flop 515 is B /
Output the ROM signal as output Q. The output of this flip-flop 515 is MH to be copied when it is 1.
It is a B / -ROM signal indicating that the color of the code is black. Similarly, when the output Q is 0, it indicates white.

又、ランレングス・カウンタ108は停止しているとし、
その値はOであるとする。SFTEN 605はコントロール線
でこれが1であることはレジスタ103がデータ(MHコー
ド)をシフトさせて良い事を示す。又簡単の為、アキユ
ミレータ106の出力信号Σ0〜Σ2及び信号はOである
と仮定する。即ち、この仮定によりレジスタ103の28
ビツト全てが有効なMHコード列であり、空のない状態を
示すこととなる。
Also, assume that the run length counter 108 is stopped,
Its value is O. The SFTEN 605 is a control line, and when it is 1, it means that the register 103 may shift data (MH code). Further, for simplicity, it is assumed that the output signals Σ0 to Σ2 and the signal of the accumulator 106 are O. That is, according to this assumption, 28 of register 103
All of the bits are valid MH code strings, indicating that there is no space.

以上が時刻toの状態である さて、時刻t1になると第6図示のHSYNC信号601の立下が
りにより第5図示フリツプフロツプ509がリセツトさ
れ、第6図に613で示す▲▼信号が1となりAND
・ゲート508を介してSFTEN信号605が1となる。SFTEN信
号605が1の場合は第6図示のカウンタ107がカウントイ
ネーブルとなる。同時に時刻t1にはROM 105のアドレス
にはレジスタ103の保持する出力C0〜C12が与えられる。
(本例では10011××××××××)そしてRM
105の出力のうちコード・レングスCL0〜CL3はゲート5
03及びゲート504を経て、コード・レングス・カウンタ1
07に与えられている。又同時に▲▼信号607がO
であるのでカウンタ107はロード・モードとなりt1のク
ロツクによりCL0〜CL3の値がカウンタ107にロードされ
る。本例ではランレングス8の白を示すMHコードWB8
コード長5の2の補数である(-5)がロードされる。
The above is the state at time t o . At time t 1 , the flip-flop 509 shown in FIG. 5 is reset by the fall of the HSYNC signal 601 shown in FIG. 6, and the ▲ ▼ signal shown at 613 in FIG.
-SFTEN signal 605 goes to 1 through gate 508. When the SFTEN signal 605 is 1, the counter 107 shown in FIG. 6 is count enable. At the same time, the outputs C 0 to C 12 held by the register 103 are given to the address of the ROM 105 at time t 1 .
(10011XXXXXXXX in this example) and RM
Of the 105 outputs, the code lengths CL 0 to CL 3 are gate 5
Code length counter 1 via 03 and gate 504
It is given to 07. At the same time, ▲ ▼ signal 607 is O
Therefore, the counter 107 enters the load mode and the values of CL 0 to CL 3 are loaded into the counter 107 by the clock of t 1 . In this example, (-5) which is the two's complement of the code length 5 of the MH code WB 8 indicating the white of the run length 8 is loaded.

又、RM105の出力RL0〜RL5及びM/はランレング
ス・ラツチ513の入力として与えられる。同時にランレ
ングス・ラツチ513にはフリツプ・フロツプ515のQ出力
もB/−ROM信号620として入力されている。この
時、RLCH信号608が1によりラツチ513をラツチ・イネー
ブルに制御し、tのクロツクでD0〜D7の値をラツチ51
3にラツチする。
Also, the outputs RL 0 to RL 5 and M / of RM105 are provided as inputs to run length latch 513. At the same time, the Q output of the flip-flop 515 is also input to the run-length latch 513 as the B / -ROM signal 620. At this time, the RLCH signal 608 controls the latch 513 to be latch-enable by 1 and changes the value of D 0 to D 7 with the latch 51 at the clock of t 1.
Latch to 3.

同時に時刻tではフリツプ・フロツプ510は1にセツ
トされる。又フリツプフロツプ515は反転する。フリツ
プ・フロツプ510のQ出力であるBUSY信号609が1である
ことはラツチ513が有効なランレングスをラツチしてい
る事を示す。又フリツプ・フロツプ515のQ出力である
B/−RM信号620が1であることは次にレジスタ1
03に「頭出し完了」にすべきMHコードの示す色が黒であ
る事を示す。(又、B/−RM信号620がOである
ならば該色が白である。) SFTEN信号605はゲート505、ゲート506を経て、S信号
としてマルチ・プレクサ102に与えられレジスタ103のデ
ータが1ビツトシフトするようにコントロールする。こ
れによりレジスタ103にあつたMHコードから必要なデー
タの後段への受渡しが終つたので該MHコードは使用済と
なり、SFTEN信号605によりカウント可能になつたカウン
タ107の制御下で第6図タイムチヤートに示す如くカウ
ンタ107からキヤリアウト信号CRO 606が発生する迄ビツ
ト・シフトが行なわれて、使用済のMHコードがレジスタ
103から掃出される。即ち本例では−5の設定されたカ
ウンタ107の値が(-1)の値になるまでレジスタ103の1ビ
ツト・シフトを繰返し続行する。
At the same time, flip-flop 510 is set to 1 at time t 1 . Also, flip-flop 515 is reversed. The BUSY signal 609, which is the Q output of the flip-flop 510, being 1 indicates that the latch 513 is latching a valid run length. Also, the fact that the B / -RM signal 620, which is the Q output of the flip-flop 515, is 1 means that the register 1
03 indicates that the color indicated by the MH code that should be “cue completed” is black. (Also, if the B / -RM signal 620 is O, the color is white.) The SFTEN signal 605 is given to the multiplexer 102 as the S signal via the gate 505 and the gate 506, and the data of the register 103 is stored. Control to shift by 1 bit. As a result, the transfer of the necessary data from the MH code in the register 103 to the subsequent stage is completed, so that the MH code has been used and is controlled by the SFTEN signal 605. Under the control of the counter 107 shown in FIG. Bit shift is performed until the carry-out signal CRO 606 is generated from the counter 107 as shown in, and the used MH code is registered.
Swept from 103. That is, in this example, the 1-bit shift of the register 103 is repeatedly continued until the value of the counter 107 set to -5 becomes the value of (-1).

カウンタ107の値が(-1)になると今、使用済となつたMH
コード(本例ではランレングス8の白を示すMHコードWB
8)の掃出しが終了し、次のMHコード(ランレングス6
の黒を示すMHコードBB6)がレジスタ103において「頭出
し完了」となるがラツチ513にはまだ、前のMHコードWB8
のランレングスが残つているためフリツプ・フロツプ51
0はセツトのままである。従つて、カウンタ107のCRO信
号が1となることによりゲート511の出力は0になり、
結局SFTEN信号605がOとなることにより、カウンタ107
が停止する。同様にSFTEN信号605がOとなることにより
S0〜S2信号も全てOとなり、レジスタ103がシフト停止
しデータがホールドされる。従つて「頭出し完了」BB6
の状態が時刻t2まで続く。
When the value of the counter 107 becomes (-1), the MH that has been used now
Code (MH code WB that indicates white with run length 8 in this example)
After the sweep of 8) is completed, the next MH code (run length 6
The MH code BB 6 ) that indicates the black color is “cue completed” in the register 103, but the latch 513 still has the previous MH code WB 8).
Flip Flop 51 due to the remaining run length
0 remains set. Therefore, when the CRO signal of the counter 107 becomes 1, the output of the gate 511 becomes 0,
Eventually, the SFTEN signal 605 becomes O, and the counter 107
Stops. Similarly, when the SFTEN signal 605 becomes O,
All of the S 0 to S 2 signals also become O, the register 103 stops shifting, and the data is held. Therefore, "cue completion" BB 6
The state of continues until time t 2 .

時刻t2に於いてiNi信号603により▲▼信号610が
Oとなり、ラツチ513に保持されていたランレングス
(本例では白の8ビツト)がマルチプレクサ514を経て
▲▼信号610によりカウンタ108へ移される。同時
にフリツプ・フロツプ510が▲▼信号610によりリ
セツトされる。これによりラツチ513が空となり、ビジ
ー(BUSY)が解消される。従つて、ゲート511の出力が
1となり前述と同様にSFTEN信号605が1となり、レジス
タ103において「頭出し完了」となつているMHコードに
よつて得られたランレングスがラツチ513へラツチされ
る。
At time t 2 , the iNi signal 603 causes the ▲ ▼ signal 610 to go to O, and the run length (8 bits in this example) held in the latch 513 is transferred to the counter 108 by the ▲ ▼ signal 610 via the multiplexer 514. Be done. At the same time, the flip-flop 510 is reset by the signal 610. As a result, the latch 513 is emptied and the busy condition is eliminated. Therefore, the output of the gate 511 becomes 1 and the SFTEN signal 605 becomes 1 in the same manner as described above, and the run length obtained by the MH code which is “completion of cueing” in the register 103 is latched to the latch 513. .

以下同様にMHコードが順次デコードされる。Similarly, the MH code is sequentially decoded thereafter.

時刻t2でカウンタ108へロードされたランレングス(本
例では−5)に基き、時刻t2の次のビツトから発生する
VEN信号602によりカウンタ108はカウントを開始する。
そしてカウンタ108の値が(-1)になつた時(本例では時
刻t3)CR1信号611を出す。又、ラツチ513からのB/
信号621により指定された画像の色別にフリツプ・フロ
ツプ109をセツトする。これによりとりあえず第1番目
のMHコードが画像VIDEO(本例では白の8ビツト)に変
換できたわけである。
Based on (-5 in this example) run length is loaded into the counter 108 at time t 2, the generated from the next bit of the time t 2
The VEN signal 602 causes the counter 108 to start counting.
Then, when the value of the counter 108 reaches (-1) (time t 3 in this example), the CR 1 signal 611 is issued. Also, B / from Latch 513
A flip-flop 109 is set for each color of the image designated by signal 621. As a result, the first MH code could be converted into the image VIDEO (white 8 bits in this example) for the time being.

尚、VEN信号602の立上り後においては、iNi信号603は新
たなHSYNC 601が到来する迄、Oのままである。従つてV
EN信号602の立上り後、例えば時刻t3においてはiNi信号
603に代つて、カウンタ108のカウントアツプを示すCR1
信号611によりフリツプ・フロツプ510をリセツトし、そ
のビジー状態を解除せしめ、続くMHコードのデコードに
より得たランレングスのラツチ513への取込みを可能と
する。
After the rising edge of the VEN signal 602, the iNi signal 603 remains O until a new HSYNC 601 arrives. Therefore V
After the EN signal 602 rises, for example, at time t 3 , the iNi signal
CR 1 instead of 603, showing the countup of counter 108
The signal 611 resets the flip-flop 510 to release its busy state, and the run length obtained by the subsequent decoding of the MH code can be taken into the latch 513.

さてここまでの説明においては、MHコードのコード長が
ランレングス長より等しいか、又は短かい場合であり、
MHコードを「頭出し完了」の時点から、レジスタ103か
ら掃出すべき使用済のMHコードをマルチプレクサ102に
与えられる信号S0=1,S1=S2=0とすることによりシ
リアルシフトすれば、MHコードを途切れることなくデコ
ードを続けられるわけである。しかし、一方MHコードの
ランレングス長がコード長より短かい場合には前述の如
くシリアルシフトさせるとレジスタ103からコードを掃
出している間(シフト中0に、カウンタ108において、
該MHコードのランレングスのカウントが完了してしま
う。この時点において画像の途切れをなくすためには次
のランレングスをラツチ513からカウンタ108へ取る必要
がある。しかし、レジスタ103では次のMHコードに対す
る「頭出し完了」状態となつていないので、ラツチ513
には取込むべき、ランレングスがROM 105より出力され
ていないことになる。
By the way, in the above description, the code length of the MH code is equal to or shorter than the run length length,
If the used MH code to be swept out from the register 103 is serially shifted by setting the signals S0 = 1, S1 = S2 = 0 from the time point of “completion of cueing” the MH code, the MH code can be obtained. You can continue decoding without interruption. On the other hand, when the run length of the MH code is shorter than the code length, serial shifting is performed as described above while sweeping out the code from the register 103 (while shifting, 0 in the counter 108,
The run length of the MH code is completely counted. At this point, the next run length needs to be taken from the latch 513 to the counter 108 in order to eliminate the discontinuity of the image. However, since the register 103 is not in the “cue completed” state for the next MH code, the latch 513
It means that the run length that should be taken in is not output from ROM 105.

結局この場合、プリンタにおいて記録される画像が途切
れる事となり、リアルタイムで画像を出力することがで
きない事になる。この様な不都合は前述したHSCコー
ド、即ち、ランレングス1,2及び3の白を示すMHコー
ドとランレングス1の黒を示す、MHコードのデコードの
際に生じる。
After all, in this case, the image recorded by the printer is interrupted, and the image cannot be output in real time. Such inconvenience occurs when decoding the above-mentioned HSC code, that is, the MH code indicating that the run lengths 1, 2 and 3 are white and the MH code indicating that the run length 1 is black.

そこで、この様な場合は、前述の4種のHSCコードであ
るMHコードだけはMHコード・デコード・ロジツク104を
用いて、ROM 105からのコード長データCLO〜CL3により
シリアル・シフトしたとき等価に後段の回路を動作せし
める。即ち、カウンタ107に(-1)をロードできるように
ロジツク104は▲▼信号により、ロード値(-1)を
つくりゲート504を介してカウンタ107にロードする。
又、このときROM 105からの出力CL0〜CL3は▲▼
信号によりゲート503にてイン ビツトする。又、ロジ
ツク104からの出力SF1とSF2にデコードしたMHコードの
コード長に対応したジヤンプ量を▲▼〜▲
▼として出力しS0〜S2を経てマルチプレクサ102を動作
する。これにより1ビツトの時間で複数のビツトのシフ
トを行なうことが可能となり、換言すれば1ビツトの時
間でデコードすべき次のコードのレジスタ103における
「頭出し完了」ができるようになる。またこのジヤンプ
量はアキユムレータ106にも入力され、レジスタ103の空
ビツト数に累積加算される。
Therefore, in such a case, only the above-mentioned four types of HSC codes, the MH code, are equivalent when serially shifted by the code length data CLO to CL3 from the ROM 105 using the MH code decoding logic 104. Activate the circuit in the latter stage. That is, the logic 104 generates a load value (-1) by the signal ▼ so that the counter 107 can be loaded with (-1), and loads it into the counter 107 through the gate 504.
At this time, the outputs CL0 to CL3 from ROM 105 are ▲ ▼
Inhibit at gate 503 by signal. In addition, the jump amount corresponding to the code length of the MH code decoded into the outputs SF1 and SF2 from the logic 104 is ▲ ▼ 〜 ▲
The signal is output as ▼ and the multiplexer 102 is operated via S0 to S2. As a result, it is possible to shift a plurality of bits in one bit time, in other words, "cue completion" in the register 103 of the next code to be decoded can be performed in one bit time. The jump amount is also input to the accumulator 106 and is cumulatively added to the number of empty bits in the register 103.

以上2通りのシフト方法により「頭出し完了」から「ラ
ンレングスラツチ」更に「ランレングスカウント」の一
連の動作を高速に繰返し、プリンタ部に供給する画像が
とぎれることなく、復号を実行する。112はEOL検出回路
でレジスタ103の出力C0〜C11にEOLコードが現われたこ
とを検出すると信号OEOLを出力する。そして1ライン
の終了を示すEOLコードがEOL検出回路112で検出される
と、タイミング合せ回路523を介してEOL検出回路112か
らの信号OEOLにより、フリツプフロツプ509がセツトさ
れ▲▼信号613がOとなる。これにより、結局S
FTEN信号605がOとなり、次のHSYNCが来るまでレジスタ
103は停止し、MHコードは「頭出し完了」の状態でHSYNC
待ちとなることとなる。この様に、プリンタと復号動作
との同期合せが良好に得られるものである。
By the above two shift methods, a series of operations from "completion of cueing" to "run length latch" and "run length count" are repeated at high speed to execute decoding without interruption of the image supplied to the printer unit. An EOL detection circuit 112 outputs a signal OEOL when detecting that an EOL code appears at the outputs C0 to C11 of the register 103. When the EOL code indicating the end of one line is detected by the EOL detection circuit 112, the flip-flop 509 is set by the signal OEOL from the EOL detection circuit 112 via the timing adjustment circuit 523, and the signal 613 becomes O. . This eventually leads to S
Register until the FTEN signal 605 becomes O and the next HSYNC comes
103 is stopped, MH code is HSYNC with "cue completed"
You will have to wait. In this way, good synchronization between the printer and the decoding operation can be obtained.

以上のように各ラインごと繰返し走査が進行すれば、画
像が形成されるのである。
An image is formed by repeating the scanning for each line as described above.

次に第7図を用いてデコードエラー検出法について述べ
る。第7図示回路は第1図又は第5図の適当な位置に接
続される。第7図において、801はインバータである。
また、802は加算器、803はラツチ、804はコンパレー
タ、805はラツチ、806及び807はフリツプ・フロツプで
ある。
Next, the decoding error detection method will be described with reference to FIG. The circuit shown in FIG. 7 is connected to the appropriate position shown in FIG. 1 or 5. In FIG. 7, reference numeral 801 is an inverter.
802 is an adder, 803 is a latch, 804 is a comparator, 805 is a latch, and 806 and 807 are flip-flops.

第7図820第5図において、ラツチ513からマルチプレク
サ514を介して出力される信号820と同じ信号であり、前
述の如く、MHコードを解読した結果のランレングスが2
の補数で表現されたものである。
7, 820 In FIG. 5, it is the same signal as the signal 820 output from the latch 513 through the multiplexer 514, and as described above, the run length of the result of decoding the MH code is 2
It is expressed in the complement of.

さて、加算器802とラツチ803とでアキユミユレータを構
成する。加算器802のLSBの下位からの桁上りは829信号
(1)により1にセツトされており結局加算器802の出力8
21はランレングス820の2の補数となる。従つて出力821
は該ランレングスの正整数を2進数表現したものであ
る。又、ラツチ803への加算は第6図▲▼610のタ
イミング、即ち第5図示のカウンタ108へ、カウントす
べきランレングスをロードするタイミングで加算が続け
られる。又、ラツチ803は主走査の各ライン毎に、出力
される第6図HSYNC信号601毎にクリヤされる。即ちラツ
チ803の出力822は各ライン毎のランレングスの累積値を
2進数で表わす。一方、ラツチ805は毎ラインの一定ラ
ンレングス(本例では1ラインの画素数に対応する409
6)を信号824によりCPU等から知らされて保持してい
る。コンパレータ804は今ラツチ803に累積されているラ
ンレングス822(Aとする)とラツチ805からの正解値82
3(Bとする)とを比較するコンパレータ回路である。
Now, the adder 802 and the latch 803 constitute an accumulator. The carry from the lower LSB of the adder 802 is 829 signals
It is set to 1 by (1) and eventually the output of adder 802 is 8
21 is the two's complement of the run length 820. Therefore output 821
Is a binary representation of the run length positive integer. Further, the addition to the latch 803 is continued at the timing of 610 in FIG. 6, that is, the timing of loading the run length to be counted into the counter 108 shown in FIG. The latch 803 is cleared for each line of the main scan and for each HSYNC signal 601 shown in FIG. That is, the output 822 of the latch 803 represents the cumulative value of the run length for each line by a binary number. On the other hand, the latch 805 has a constant run length for each line (in this example, 409 corresponding to the number of pixels on one line).
6) is held by being notified from the CPU or the like by the signal 824. The comparator 804 is the correct answer value 82 from the run length 822 (A) accumulated in the latch 803 and the latch 805.
It is a comparator circuit that compares 3 (denoted as B).

フリツプ・フロツプ806は第6図示のEOS信号604の出力
時、即ち、各ラインの最終ビツトに於いて、コンパータ
804よりA=Bであることを示す信号831が出力されてい
ない時ANDゲート808の出力825によりセツトされる。即
ち、フリツプフロツプ806のセツトされることはランレ
ングスの累積値Aが予定された正解値B(本例では40
96)に等しくなかつたことを示し、MHコード又はその
デコードに誤りがあつたことを示す。
The flip-flop 806 is a comparator when the EOS signal 604 shown in FIG. 6 is output, that is, at the final bit of each line.
When the signal 831 indicating that A = B is not output from 804, it is set by the output 825 of the AND gate 808. That is, the setting of the flip-flop 806 means that the cumulative value A of the run length is the correct value B (40 in this example).
96) and that there is an error in the MH code or its decoding.

フリツプ・フロツプ807はA>Bの状態になつた場合に
コンパレータ804から出力される信号832を入力とするア
ンドゲート809の出力826によりランレングスの累積途中
でも直ちにセツトされる。即ち、フリツプ・フロツプの
Q出力828はランレングスの累積値がラインの途中で予
定された正解値(本例では4096、即ちVEN 602の区間の
画素数)を越えてしまつた事を示し、これは1ラインの
デコードの途中において既に大巾なデコード誤まりが生
じたことを表わすものである。
The flip-flop 807 is set immediately by the output 826 of the AND gate 809 which receives the signal 832 output from the comparator 804 when the condition of A> B is reached, even during the accumulation of run lengths. That is, the flip-flop's Q output 828 indicates that the cumulative run length value has exceeded the planned correct value (4096 in this example, that is, the number of pixels in the VEN 602 section) in the middle of the line. Indicates that a large erroneous decoding error has already occurred during the decoding of one line.

又、フリツプ・フロツプ806及び807は第6図▲
▼613が“O”即ちEL(Eud of line )がEOL検出回
路112により検出されHSYNC 601の入力がなされるまでリ
セツトされず、HSYN信号601の入力によりゲート810の出
力によりリセツトされる。従つて、各フリツプ・フロツ
プ806,807の出力827又は出力828を検知し別途のEOL検出
回路112によりEOL検知に専念させることにより、デコー
ド誤り等による同期ズレを最小限に止める事ができる。
The flip-flops 806 and 807 are shown in FIG.
▼ 613 is "O", that is, EL (Eud of line) is not reset until the EOL detection circuit 112 detects the HSYNC 601 input, and is reset by the output of the gate 810 by the input of the HSYN signal 601. Therefore, by detecting the output 827 or the output 828 of each of the flip-flops 806 and 807 and devoting it to the EOL detection by the separate EOL detection circuit 112, it is possible to minimize the synchronization deviation due to a decoding error or the like.

尚、本例ではアキユムレータによりランレングスを累積
加算する例を示したが、これは所定数例えば4096から順
次ランレングス値を減算し減算カウンタからのボロウを
検出する方法等に置き変えることもできる。
In this example, the run length is cumulatively added by the accumulator, but this can be replaced with a method of sequentially subtracting the run length value from a predetermined number, for example, 4096, and detecting a borrow from the subtraction counter.

以上の様にデコード誤まりが生じ、フリツプ・フロツプ
806又は807がセツトされると、その出力は第9図示のプ
リンタ回路のバツフアスイツチ制御回路303に伝達され
る。
As described above, a decoding error occurs and the flip / flop
When 806 or 807 is set, its output is transmitted to the buffer switch control circuit 303 of the printer circuit shown in FIG.

バツフアスイツチ制御回路303は前述した様にダブルバ
ツフア構成となつているプリンタのラインバツフアの入
出力を交互に選択するためのバツフア選択動作を行なう
ものである。そして、フリツプ・フロツプ806又は807よ
りそのセツト信号、即ち、デコード誤まり検出信号を入
力すると、デコード誤まりの発生した現ラインの画像信
号を無効にし、エラーのあつたラインに代つて前ライン
の画像信号を再利用すべく、前ラインの画像信号の格納
されているラインバツフアの再読出しを行なう様、ライ
ンバツフアの選択制御を行なう。即ち、例えば第1ライ
ンバツフア301に復号中の画像信号を格納している時
に、デコード誤まりが発生した場合、第1ラインバツフ
ア301に現在格納中の画像信号を無効にし、現在、画像
信号の読出しがなされている第2ラインバツフア302の
読出しの終了後、再び、第2ラインバツフア302から同
一の画像信号の読出しを行なう。
The buffer switch control circuit 303 performs a buffer selection operation for alternately selecting the input / output of the line buffer of the printer having the double buffer structure as described above. Then, when the set signal from the flip-flop 806 or 807, that is, the decoding error detection signal is input, the image signal of the current line in which the decoding error occurs is invalidated, and the line of the previous line is replaced in place of the line in which the error occurred. In order to reuse the image signal, the selection control of the line buffer is performed so that the line buffer in which the image signal of the previous line is stored is read again. That is, for example, when a decoding error occurs while the image signal being decoded is being stored in the first line buffer 301, the image signal currently being stored in the first line buffer 301 is invalidated, and the image signal is currently read. After the reading of the second line buffer 302 is completed, the same image signal is read again from the second line buffer 302.

これにより、デコード誤まりの生じたラインの画像信号
によるプリント動作はなされずに、記録画像への影響を
除去できる。尚、プリンタのラインバツフアの数は2本
以上でも同様に実行できる。又、この誤まり補正用のラ
インバツフアをデコード回路側に設けてもよい。
As a result, it is possible to eliminate the influence on the recorded image without performing the printing operation by the image signal of the line in which the decoding error occurs. It should be noted that the number of line buffers of the printer may be two or more in the same manner. A line buffer for correcting this error may be provided on the decoding circuit side.

さて、前述の如く本例では、MHコード化された画像をデ
コードする際には、該MHコードの先頭ELを検知し、そ
の後に続くコードから該画像の第1ラインとして、デコ
ードを開始し、実際の画像を再生する。
Now, as described above, in this example, when decoding the MH coded image, the leading EL of the MH code is detected, and the decoding is started from the code following it as the first line of the image, Play the actual image.

なぜなら、MHコード化された画像は、本件では図示して
いないが第1図示の記憶回路101の前段に存在する、例
えば画像メモリ等に蓄積されているものである。そこか
らCPU等により、画像メモリの読出し開始アドレスを指
定し、MHコード化された画像を読出し、記憶回路101を
介しデコーダ回路に与える。
This is because the MH-coded image is stored in, for example, an image memory or the like existing in the preceding stage of the storage circuit 101 shown in the first illustration, which is not shown in the present case. From there, the CPU or the like specifies the read start address of the image memory, reads the MH coded image, and supplies it to the decoder circuit via the memory circuit 101.

その際、画像メモリから読出されたMHコードは例えば、
画像ページの途中から読出した場合には必ずしも、先頭
にELコードが来ない。この場合でも正しくデコード
を開始できるように、デコード開始前に第1図示記憶回
路101をクリア状態にしておき、次に該メモリから読出
したMHコードを記憶回路101が満杯(第2図の状態)に
なるまで読出し、次いで、デコーダ内部へデータ(MHコ
ード)を送り始める。そして、第1番目のELコード
が検出できるまでは、画像コードとして扱わず、次々に
データを送り続けELコードを検出することに専念す
る。
At that time, the MH code read from the image memory is, for example,
When reading from the middle of the image page, the EL code does not always come at the beginning. In order to start decoding correctly in this case as well, the first illustrated memory circuit 101 is set to the clear state before the decoding is started, and then the MH code read from the memory is full in the memory circuit 101 (state of FIG. 2). Until, the data (MH code) is sent to the inside of the decoder. Then, until the first EL code can be detected, it is not treated as an image code, and data is sent continuously one after another, and the focus is on detecting the EL code.

そしてELコードが検出できた後には以后のコードを
画像情報として扱い、コード・レングス等によりシフト
量をコントロールしながらデコードしていくわけであ
る。このようにして第1番目のELコードを前述のEO
L検出回路112により見つける事により、MHコードの区切
りを判定し、又画像の同期的再生が可能となるのであ
る。
After the EL code is detected, the subsequent codes are treated as image information and are decoded while controlling the shift amount by the code length or the like. In this way, the first EL code is changed to the above-mentioned EO.
By finding it by the L detection circuit 112, it becomes possible to judge the delimiter of the MH code and to synchronously reproduce the image.

さて、前述のデコード動作開始後、始めて入力する第1
のEOLコードを見つける動作を開始すると記憶回路101か
ら順次レジスタ103へデータが送られて来るが、その開
始前にレジスタ103にて全て“0”が存在しているとす
ると実際に記憶回路101から来たMHコード又はMHコード
の一部(途中)と継がつて、EOLコード(00000000000
1)と誤検知されることとなる。それを避ける為レジス
タ103の初期状態は全て“1”にセツトする。即ちレジ
スタ103のC〜C27 を全て“1”とする。これにより
前述のELの誤検知を避けることができる。
Now, after the decoding operation described above is started, the first input
When the operation of finding the EOL code of is started, data is sequentially sent from the memory circuit 101 to the register 103, but if all "0" s exist in the register 103 before the start, the memory circuit 101 actually Continuing with the MH code that came or part of the MH code (on the way), the EOL code (00000000000
1) will be erroneously detected. To avoid this, the initial state of the register 103 is all set to "1". That is, all of C 0 to C 27 of the register 103 are set to “1”. This makes it possible to avoid the above-mentioned erroneous detection of EL.

レジスタ103を全て“1”にプリセツトする方法を説明
する。第12図にはレジスタ103の構成の一例を示すも
ので、即ち、レジスタ103は28個のフリツプ・フロツ
プF/Fで構成される。従つて、その全てのフリツプ・フ
ロツプF/Fのプリセツト端子にCPU等からプリセツトパ
ルス901を入力し、全てのフリツプ・フロツプのQ出力
を1とする。ここではフリツプ・フロツプF/Fは例えば
アメリカTI社製のSN74S74N等を使用することができ
る。
A method of presetting all the registers 103 to "1" will be described. FIG. 12 shows an example of the structure of the register 103, that is, the register 103 is composed of 28 flip-flop F / Fs. Therefore, the preset pulse 901 is input from the CPU or the like to the preset terminals of all the flip-flops F / F, and the Q outputs of all the flip-flops are set to 1. Here, as the flip-flop F / F, for example, SN74S74N manufactured by American TI Co. can be used.

以上、本実施例はMHコードの復号を例に説明したが、他
の圧縮方法によるコードの復号装置に適用することもで
きる。また、復号後の画像信号はレーザ・ビーム・プリ
ンタ等のプリンタで画像記録される以外に、CRT等のデ
イスプレイにて表示したり、ビツトイメージとしてフア
イルしたりする等、多様な用途に利用可能である。更
に、本実施例中で用いた数値はそれに限るものではな
く、用途や環境等において適宜選択されるものであるこ
とは言う迄もない。
Although the present embodiment has been described by taking the decoding of the MH code as an example, the present embodiment can be applied to a decoding device for a code by another compression method. Also, the image signal after decoding can be used for various purposes such as displaying on a display such as a CRT or file as a bit image in addition to being recorded by a printer such as a laser beam printer. is there. Further, it goes without saying that the numerical values used in the present embodiment are not limited to those values, and may be appropriately selected depending on the application, environment and the like.

以上説明した様に圧縮コードの復号動作を確実に実行で
きるものであり、また、高速処理を必要とする画像処理
に対してもリアルタイムな復号動作を可能とするもので
ある。また、高速で且つ高品位な画像記録を必要とする
プリンタ等の出力部に対しても効果的に圧縮コードを復
号化し、供給することが可能となるものである。
As described above, the decoding operation of the compressed code can be surely executed, and the decoding operation can be performed in real time even for the image processing that requires high speed processing. Further, it is possible to effectively decode and supply the compressed code to an output unit such as a printer that requires high-speed and high-quality image recording.

また、圧縮コードの復号動作或いは伝送に係わる異常を
確実に検出することができ、また、それによる影響を最
小限にすることができるものである。
Further, it is possible to surely detect an abnormality related to the decoding operation or transmission of the compressed code, and to minimize the influence thereof.

また、圧縮コードを復号化して得た画像信号に基ずき、
プリント動作する際、プリンタと復号処理部との同期が
良好に得られるものである。
Also, based on the image signal obtained by decoding the compressed code,
When the printing operation is performed, good synchronization can be obtained between the printer and the decoding processing unit.

また、復号動作の基準となるライン同期コードの検出を
確実に行ない、復号動作の同期ずれ等の不都合を除去で
きるものである。
Further, it is possible to surely detect the line synchronization code which is the reference of the decoding operation, and to eliminate the inconvenience such as the synchronization deviation of the decoding operation.

また、1ページ或いは1ラインの途中から圧縮コードが
復号回路に供給されたとしても、復号動作におけるライ
ン同期を確実になさしめ復号誤まり等を防止できるもの
である。
Further, even if the compressed code is supplied to the decoding circuit from the middle of one page or one line, the line synchronization in the decoding operation can be surely performed and erroneous decoding can be prevented.

以上説明した様に、本発明によると、記憶手段に記憶さ
れているEOLコードを含む複数の圧縮コードをシフト
することにより復号済の圧縮コードを記憶手段から排出
し次に復号すべき圧縮コードを記憶手段の所定位置にセ
ットし、記憶手段の所定位置にセットされた圧縮コード
を復号することによりラン長データ及び圧縮コードのコ
ード長データを出力し、記録手段によりラン長データに
従って画像をライン毎に一定速度で記録する構成におい
て、記憶手段にEOLコードが存在しているか否かを検
出し、記憶手段にEOLコードが検出された場合、記憶
手段による各ラインの画像記録前にEOLコードを記憶
手段から排出せしめEOLコードに続く圧縮コードを記
憶手段の所定位置にセットせしめ、記録手段による各ラ
インの画像記録開始に同期してEOLコードに続く圧縮
コードの復号を開始せしめるので、EOLコードの検出
や解析による時間遅れなしに、画像をライン毎に一定速
度で記録する記録手段の記録動作に同期し、且つ、その
画像記録動作とリアルタイムにEOLコードに続く各ラ
インの圧縮コードの復号を実行可能となり、従って、画
像をライン毎に一定速度で記録する記録手段によって、
EOLコードを含む不定長の圧縮コードにより表されて
いる画像を高速に記録可能となる。
As described above, according to the present invention, by decoding a plurality of compressed codes including the EOL code stored in the storage means, the decoded compressed code is discharged from the storage means and the compressed code to be decoded next is stored. The run length data and the code length data of the compressed code are output by decoding the compressed code set in the predetermined position of the storage means and the compressed code set in the predetermined position of the storage means. In the configuration in which the EOL code is present in the storage means in the case of recording at a constant speed, the EOL code is stored before the image recording of each line by the storage means when the EOL code is detected in the storage means. The compressed code following the EOL code is set at a predetermined position in the storage means, and the recording means opens the image recording of each line. Since the decoding of the compressed code following the EOL code is started in synchronism with the above, synchronization with the recording operation of the recording means for recording an image at a constant speed for each line without time delay due to detection and analysis of the EOL code, and The image recording operation and the decoding of the compressed code of each line following the EOL code can be executed in real time. Therefore, by the recording means for recording the image line by line at a constant speed,
An image represented by an indefinite length compression code including an EOL code can be recorded at high speed.

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

第1図は本発明の一実施例の概略構成を示す回路ブロツ
ク図、第2図(a)は記憶回路101 におけるMHコードの記
憶型式を示す図、第2図(b)は複数のMHコードの連続し
た状態を示す図、第3図はビツト・シフタの構成を示す
回路ブロツク図、第4図はMHコードのデコード回路の構
成を示す回路ブロツク図、第5図は第1図示の回路ブロ
ツク図の詳細な回路図、第6図は第5図示回路の各部動
作タイミングを示すタイミングチヤート図、第7図はデ
コードエラー検出回路の構成を示す回路ブロツク図、第
8図はプリンタの一構成例を示す図、第9図は第8図示
プリンタの記録動作のための回路構成を示すブロツク
図、第10図はEOL 検出回路の構成を示す回路ブロツク
図、第11図は第10図示の検出ゲートの構成を示す回
路図、第12図はレジスタの一構成例を示す回路図であ
り、101 記憶回路、102 はマルチプレクサ、103 はレジ
スタ、104 はMHコード・デコード・ロジツク、104 はMH
コード・テーブルROM である。
FIG. 1 is a circuit block diagram showing a schematic configuration of an embodiment of the present invention, FIG. 2 (a) is a diagram showing a memory type of an MH code in a memory circuit 101, and FIG. 2 (b) is a plurality of MH codes. Shows a continuous state of the circuit, FIG. 3 is a circuit block diagram showing the configuration of a bit shifter, FIG. 4 is a circuit block diagram showing the configuration of an MH code decoding circuit, and FIG. 5 is a circuit block diagram shown in FIG. FIG. 6 is a detailed circuit diagram, FIG. 6 is a timing chart showing the operation timing of each part of the circuit shown in FIG. 5, FIG. 7 is a circuit block diagram showing the configuration of the decoding error detection circuit, and FIG. 8 is an example of the configuration of the printer. FIG. 9, FIG. 9 is a block diagram showing the circuit configuration for the printing operation of the printer shown in FIG. 8, FIG. 10 is a circuit block diagram showing the configuration of the EOL detection circuit, and FIG. 11 is the detection gate shown in FIG. Fig. 12 is a circuit diagram showing the configuration of A circuit diagram showing a configuration example, 101 memory circuit 102 is a multiplexer, 103 is a register, 104 MH code decoding Rojitsuku, 104 MH
It is a code table ROM.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】画像の各ラインの終了を示すEOLコード
を含む不定長の圧縮コードを順次復号する圧縮コードの
復号装置において、 連続して入力する圧縮コードを複数連続して記憶する記
憶手段と、 前記記憶手段に記憶されている複数の圧縮コードをシフ
トすることにより、復号済の圧縮コードを前記記憶手段
から排出し次に復号すべき圧縮コードを前記記憶手段の
所定位置にセットするシフト手段と、 前記記憶手段の所定位置にセットされた圧縮コードを復
号することによりラン長データ及び圧縮コードのコード
長データを出力する復号手段と、 前記記憶手段に前記EOLコードが存在しているか否か
を検出する検出手段と、 前記復号手段から出力された前記コード長データに従っ
て前記シフト手段により実行される複数の圧縮コードの
シフト量を制御するシフト制御手段と、 前記復号手段から出力された前記ラン長データに従って
画像をライン毎に一定速度で記録する記録手段と、 前記検出手段により前記記憶手段に前記EOLコードが
検出された場合、前記記録手段による各ラインの画像記
録前に前記シフト手段により前記EOLコードを前記記
憶手段から排出せしめ前記EOLコードに続く圧縮コー
ドを前記記憶手段の所定位置にセットせしめ、前記記録
手段による各ラインの画像記録開始に同期して前記復号
手段により前記EOLコードに続く圧縮コードの復号を
開始せしめる復号制御手段とを有することを特徴とする
圧縮コードの復号装置。
1. A compression code decoding device for sequentially decoding an indefinite length compression code including an EOL code indicating the end of each line of an image, and a storage means for storing a plurality of compression codes to be continuously input. Shift means for shifting the plurality of compressed codes stored in the storage means to discharge the decoded compressed code from the storage means and set the compressed code to be decoded next at a predetermined position of the storage means And decoding means for outputting the run length data and the code length data of the compressed code by decoding the compressed code set at a predetermined position of the storage means, and whether or not the EOL code exists in the storage means. And a plurality of compressed codes executed by the shift means according to the code length data output from the decoding means. Shift control means for controlling a shift amount, recording means for recording an image at a constant speed line by line according to the run length data output from the decoding means, and the detecting means for detecting the EOL code in the storage means. In this case, before recording the image of each line by the recording means, the EOL code is discharged from the storage means by the shift means, and a compression code following the EOL code is set at a predetermined position of the storage means, and the recording means is used. And a decoding control means for causing the decoding means to start decoding the compressed code following the EOL code in synchronization with the start of image recording of each line.
JP59114832A 1984-06-05 1984-06-05 Decompression device for compression code Expired - Lifetime JPH0646776B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59114832A JPH0646776B2 (en) 1984-06-05 1984-06-05 Decompression device for compression code
US06/739,069 US4837634A (en) 1984-06-05 1985-05-29 Apparatus for decoding image codes obtained by compression process
DE19853520051 DE3520051A1 (en) 1984-06-05 1985-06-04 DEVICE FOR DECODING IMAGE CODE SIGNALS OBTAINED BY A COMPRESSING PROCESS
FR8508474A FR2569068B1 (en) 1984-06-05 1985-06-05 APPARATUS FOR DECODING IMAGE CODES OBTAINED BY A COMPRESSION PROCESS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59114832A JPH0646776B2 (en) 1984-06-05 1984-06-05 Decompression device for compression code

Publications (2)

Publication Number Publication Date
JPS60257664A JPS60257664A (en) 1985-12-19
JPH0646776B2 true JPH0646776B2 (en) 1994-06-15

Family

ID=14647807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59114832A Expired - Lifetime JPH0646776B2 (en) 1984-06-05 1984-06-05 Decompression device for compression code

Country Status (1)

Country Link
JP (1) JPH0646776B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58158456A (en) * 1982-03-15 1983-09-20 Matsushita Electric Works Ltd Solar heat absorbing body
JPS58198968A (en) * 1982-05-14 1983-11-19 Canon Inc Image reproducing device

Also Published As

Publication number Publication date
JPS60257664A (en) 1985-12-19

Similar Documents

Publication Publication Date Title
US4924509A (en) Image processing apparatus
US4884147A (en) Image signal processing system
US4814898A (en) Image signal processing system
US6111665A (en) Image forming apparatus in which a read address may not surpass the write address
EP0212905B1 (en) Decoding apparatus for image code
US4837634A (en) Apparatus for decoding image codes obtained by compression process
JPS6031423B2 (en) Compressed data restoration method
JPH065890B2 (en) Decompression device for compression code
JPH0685568B2 (en) Decompression device for compression code
JPH0646777B2 (en) Decompression device for compression code
JPH0584698B2 (en)
JPH0586698B2 (en)
JPH0584697B2 (en)
JPS61196668A (en) digital color copier
JPS6333350B2 (en)
JPS62170A (en) Digital color image processor
JPS60257664A (en) Decoder for compression code
JP2001238087A (en) Picture data compressing method, jbig system encoding processing method and its device
JPS6235780A (en) Image code decoding device
JP2655644B2 (en) Facsimile machine
JPS62186663A (en) Halftone digital picture processor
JPS6384267A (en) Data compressing system
JP2597970B2 (en) Image data compression device
JPH05207303A (en) Encoding device
JP2901062B2 (en) Image forming device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term