JPS58121866A - Run length decoder - Google Patents

Run length decoder

Info

Publication number
JPS58121866A
JPS58121866A JP340382A JP340382A JPS58121866A JP S58121866 A JPS58121866 A JP S58121866A JP 340382 A JP340382 A JP 340382A JP 340382 A JP340382 A JP 340382A JP S58121866 A JPS58121866 A JP S58121866A
Authority
JP
Japan
Prior art keywords
output
data
register
input
code
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.)
Granted
Application number
JP340382A
Other languages
Japanese (ja)
Other versions
JPH0145793B2 (en
Inventor
Kazumoto Iinuma
飯沼 一元
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP340382A priority Critical patent/JPS58121866A/en
Priority to US06/456,034 priority patent/US4499498A/en
Publication of JPS58121866A publication Critical patent/JPS58121866A/en
Publication of JPH0145793B2 publication Critical patent/JPH0145793B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE:To attain decoding processing quickly, by generating run length decoding data in parallel by n-bit (or l-bit larger than n) and writing the data on a screen memory in parallel. CONSTITUTION:A memory 11 is written with 3-bit ''0'', 11-bit ''1'' and 10-bit ''0''. In writing, decoded data having effective data number M represented with a signal 141 is rearranged, written in the screen memory 11 at each 4-bit storage, the rest signal data are stored in a register and written in parallel by 4-bit together with the next decoding data. When one line decoding is finished and a code interpreting circuit 2 interpretes the one line end code, a one-line end signal 121 is outputted, a timing pulse generating circuit 9 outputs a start pulse 120 again and the interpretation and decoding of the next line is started.

Description

【発明の詳細な説明】 本発明はランレングス符号化されたデータ列から元のデ
ータを復号するランレングス復号化装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a run-length decoding device that decodes original data from a run-length encoded data string.

ランレングス符号化は、ファクシミリ信号のデータ圧縮
管はじめ、種々のデータ圧縮に用いられ(いる0例えば
ファクシミリの国際標準方式として採用されているモデ
ファイト−ハフマン符号化(MH符号)はその代表的な
ものである。
Run-length encoding is used for various types of data compression, including data compression for facsimile signals. It is something.

通常のファクタiUでは、A4版の原稿會伝送するのに
30秒程度の時間がかかるため、復号にも同程度の時間
がかかつても問題はな(、り号化装置は特に高速である
必要はないが、ランレングス符号化によって圧縮したデ
ータをメモリに記憶し、これを必要に応じて復号化して
テレビディスプレイに表示するような使い方tする場合
には、復号に要する時間は短かいことが費請される。
With a normal Factor iU, it takes about 30 seconds to transmit an A4 size manuscript, so there is no problem even if decoding takes about the same amount of time (the decoding device needs to be particularly fast). However, if you store data compressed by run-length encoding in memory, decode it as necessary, and display it on a television display, the time required for decoding can be short. Fees will be charged.

次に、MH符号化されたム4Jl[稿の圧縮データk 
(1,1〜0.2秒で復号化することを目標として具体
例を考えて見る。1走査線の画素数は1728で、1画
面の走査線数は約2300であるから、総画素数は約4
メガビツトである。データ圧縮率が10である場合は、
圧縮データ数は0.4メガビツトとなる。σ号化のプロ
セスは、圧縮データをメモリから読み出し解読して、個
々の白又は黒のラン長を表わすデータに分離する第1段
階と、ラン長を表わすデータから各画素の白黒に対応す
る復号データを発生させる第2段階とから成る。動作ク
ロックの周波数?7メガヘルツとし、1クロツクで1デ
ータずつ解読するとすれば、第1段階、に*する時間T
lは0.4//秒である。そして、1クロツクで1画素
の復号データを発生させれば第2段階に蒙する時間T2
は4/!秒を要する。例えばクロック周波数fが10メ
ガヘルツの場合Tl=0.041      秒、T2
=0.4秒となるから前記目標(は到達しない。目標値
0.1秒に到達するためには、クロック周波数を40メ
ガヘルツにする必要があり、特殊な超高速の回路素子が
必要となるため、装置が高価になる。
Next, the MH encoded M4Jl [compressed data k
(Let's consider a specific example with the goal of decoding in 1 to 0.2 seconds.The number of pixels in one scanning line is 1728, and the number of scanning lines in one screen is approximately 2300, so the total number of pixels is about 4
It's megabits. If the data compression rate is 10,
The number of compressed data is 0.4 megabits. The process of σ encoding consists of the first step of reading compressed data from memory, decoding it, and separating it into data representing individual white or black run lengths, and decoding the data representing run lengths into black and white colors for each pixel. and a second stage of generating data. Operating clock frequency? If the frequency is 7 MHz and one data is decoded in one clock, the time required for the first stage is T.
l is 0.4//second. If one pixel of decoded data is generated in one clock, the time required for the second stage is T2.
4/! It takes seconds. For example, if the clock frequency f is 10 MHz, Tl = 0.041 seconds, T2
= 0.4 seconds, so the target () will not be reached. In order to reach the target value of 0.1 seconds, the clock frequency must be increased to 40 MHz, and a special ultra-high-speed circuit element is required. Therefore, the equipment becomes expensive.

本発明の目的は、超高速の回M素子を用いないで、高速
の復号化を可能とするランレングス復号化装置を提供す
ることにある。
An object of the present invention is to provide a run-length decoding device that enables high-speed decoding without using ultra-high-speed M elements.

本発明の復号化装置は、ランレングス符号化されたデー
タ列を解読して個々のラン長を表わす2進データを順次
出力する符号解読回路を備えて、該符号解読回路の出力
値の示すビット数の白又は黒信号を復号して逐次画面メ
モリに蓄積させるランレングス復号化装置において、前
記符号解読回路出力値のs(2以上の整数)未満の端数
がセットされる下位カウンタ又はレジスタと、上位値が
セットされクロックパルスによって減算される上位カウ
ンタと、前記上位カウンタの出力するキャリ信号によっ
てクロックごとに固定値爲又は前記下位カウンタの出力
信号を択一的に選択出力するセレクタと、−ラン長ごと
に反転するフリップフロップまたはパターン発生器と、
前記フリップフロップまたはパターン発生器の出力する
復号データと前記セレクタの出力する有効データ数とを
入力し有効な復号データを順に配列して襲ビット以上の
並列データとして出力する配列変換回路とを備えたこと
を特徴とす4 次に、本発明について、図面を一照して詳細に説明する
The decoding device of the present invention includes a decoding circuit that decodes a run-length encoded data string and sequentially outputs binary data representing each run length, and the bits indicated by the output value of the decoding circuit. a run-length decoding device that decodes a number of white or black signals and sequentially stores them in a screen memory; an upper counter to which an upper value is set and is subtracted by a clock pulse; a selector that selectively outputs a fixed value or an output signal of the lower counter for each clock according to a carry signal output from the upper counter; a flip-flop or pattern generator that inverts each length;
an array conversion circuit that inputs the decoded data output from the flip-flop or pattern generator and the number of valid data output from the selector, arranges the valid decoded data in order, and outputs it as parallel data of more than one bit. Characteristic 4 Next, the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

すなわち、メモリ1内に格納されているランレングス符
号化されたデータ列(以下圧縮データと呼ぶ)は、符号
解読回路2から供給される読み出しパルス101によっ
て読み出される。メモリ1の出力信号102は、符号解
読回路2で解読され、個々のラン長が2進数で出力され
る。符号解読回路2は、従来用いられている1ビツトず
つシリアルに符号解読するタイプの回路管用いても、圧
動率が高い場合は、全体の復号化時間に与える影曽は少
ない。従って、本実施例では公知のシリアル符号解読回
路を使用している(現在ビジネスファクシミリのMH符
号復号回路で使用されているものであシ説明は省略する
)。
That is, a run-length encoded data string (hereinafter referred to as compressed data) stored in the memory 1 is read out by a read pulse 101 supplied from the code decoding circuit 2. The output signal 102 of the memory 1 is decoded by the code decoding circuit 2, and the individual run lengths are output as binary numbers. Even if the code decoding circuit 2 uses a circuit tube of the type that serially decodes bits one by one, which is conventionally used, when the pressure ratio is high, the effect on the overall decoding time is small. Therefore, in this embodiment, a known serial code decoding circuit is used (as it is currently used in the MH code decoding circuit of business facsimile machines, its explanation will be omitted).

符号解読回路2の出力信号102のうち、下位ビット出
力110,111?カウンタ3に、−上位ビット出力1
12,113iカウンタ4に供給する。カウンタ3およ
び4は、符号解読回路2から与えられるロードパルス1
14によって入力値全一時格納する。今、簡単のために
、ラン長の最大を15とし、符号解読回路2の出力信号
は4ビツトとする。そして、後述するメモリ11に同時
に書込む並列ビット数s f 4とすると、上記出力信
号のうち下位2ピット出力110,111をカウンタ3
に、残りの上位2ビット出力112,113をカウンタ
4に格納することになる。なお、ラン長Nl復号したN
ビット連続の白又は黒の復号データ′fr%(2以上の
整数)ピットの並列データをh(整数)回と残、9q(
s未満の端数)ピットの並列データに分けて発生させる
場合には、上紀′ト位カクンタ3はト記端数qt格納し
・上位カウンタ4には上記に′を格納することになる。
Of the output signal 102 of the code decoding circuit 2, the lower bit outputs 110, 111? To counter 3, - upper bit output 1
12,113i is supplied to the counter 4. Counters 3 and 4 receive a load pulse 1 given from code decoding circuit 2.
14, all input values are temporarily stored. Now, for the sake of simplicity, the maximum run length is assumed to be 15, and the output signal of the code decoding circuit 2 is assumed to be 4 bits. Then, assuming that the number of parallel bits s f to be simultaneously written to the memory 11 (described later) is 4, the lower two pit outputs 110 and 111 of the above output signal are sent to the counter 3.
Then, the remaining upper two bits output 112 and 113 are stored in the counter 4. Note that the run length Nl is the decoded N
Continuous white or black decoded data 'fr% (an integer of 2 or more) pit parallel data h (an integer) times, remaining 9q (
When generating parallel data of pits (a fraction less than s), the upper digit kakunta 3 stores the digit fraction qt, and the upper counter 4 stores ' in the above.

例えは、N=11*襲=4とすればに=2 、#=3で
あるからカウンタ4は“2”をカウンタ3は“3″を格
納する。すなわち、符号解読1路2の出力は2進表示で
°IUII−であるから、下位2ビツト@11”(2過
表示)がカウンタ3に、上位2ビツト@101(2進表
示)がカウンタ4に格納される。なお、カウンタ3.4
は、同期式のものであつ【、ロードパルスが印加された
とき次のクロックパルスの立上シでデータがカウンタに
ロードされる0例えF’JH本XX表集積回路spB 
74163 、 spH74669(部品名)等を使用
することができる。
For example, if N=11*attack=4, NI=2 and #=3, so counter 4 stores "2" and counter 3 stores "3". That is, since the output of code decoder 1 and 2 is expressed in binary as °IUII-, the lower 2 bits @11'' (2 over display) are stored in counter 3, and the upper 2 bits @101 (binary representation) are stored in counter 4. It is stored in counter 3.4.
is a synchronous type [, when a load pulse is applied, data is loaded into the counter at the rising edge of the next clock pulse.
74163, spPH74669 (part name), etc. can be used.

カウンタ4は、カラyり内容が@0#のときキャリ端子
CRからキャリ信号115に論ll′″11會出力し、
カウント内容が@O°以外のときはキャリ端子CHの1
理は10#である。また、カウントイネーブル端子EP
fC“1#が与えられたときクロックへ子CKK入力す
るりaツクパルス119によってカウント内@【“1″
ずつ減算するカウンタである。上記減4によりカウント
値が@01になると、キャリ信号115會”1”KL、
インバータ5″It介してカウントイネーブル端子lP
t−“O”[することKよ如減算【停止する。従って、
例えばカウンタ4に“2”がロードされると2クロック
期間だけカウントイネーブル信号が”1″になる(一般
的に云えばにクロック期間だけ“1“になる)。−刀カ
ウンタ3は、カウントイネーブル端子IPが接地されて
いるため、クロックパルスによって減カウントはしない
。すなわち、キャリ信号115が”1”になりNAND
回路6を介してクリヤ端子CLK”0”が入力されてク
リヤされるまでは前記格納値を保持している。カウンタ
3はレジスタであってもよい。
When the color content is @0#, the counter 4 outputs a carry signal 115 from the carry terminal CR,
When the count content is other than @O°, 1 of the carry terminal CH
The principle is 10#. In addition, count enable terminal EP
When fC"1#" is given, the child CCK is input to the clock and the count is set by the clock pulse 119 @["1"
This is a counter that decrements by increments. When the count value becomes @01 due to the above reduction 4, the carry signal 115 "1" KL,
Count enable terminal lP via inverter 5″It
t - "O" [To do Kyo subtraction [Stop. Therefore,
For example, when "2" is loaded into the counter 4, the count enable signal becomes "1" for two clock periods (generally speaking, it becomes "1" for only a clock period). - Since the count enable terminal IP of the sword counter 3 is grounded, the count is not decremented by the clock pulse. In other words, the carry signal 115 becomes "1" and the NAND
The stored value is held until it is cleared by inputting the clear terminal CLK "0" through the circuit 6. Counter 3 may be a register.

上記カウンタ3の出力(2ビツト)および前記インバー
タ5の出力をセレクタ7に人力させ、セレクタ7は、イ
ンバータ5の出力が111のときは固定値“100′(
10進表示では″42)全出力し、インバータ5の出力
が101のときはカウンタ3の出力値を選択出力する。
The output of the counter 3 (2 bits) and the output of the inverter 5 are manually input to the selector 7, and when the output of the inverter 5 is 111, the selector 7 sets the fixed value "100' (
In decimal notation, "42)" is fully output, and when the output of the inverter 5 is 101, the output value of the counter 3 is selectively output.

セレクタ7の出力は復号データの有効数を示している。The output of the selector 7 indicates the effective number of decoded data.

フリップフロップ8は、符号解読回路2の出力するロー
ドパルスでトリ、ガされて反転するフリップフロップで
あり、ロードパルスごとに(白黒に対応する)“1″又
は“θ″′を交互に出力する07リツグ70ツブ8の出
力mは4本あるが、同時に1”また#i“0“になる。
The flip-flop 8 is a flip-flop that is triggered and inverted by the load pulse output from the code decoding circuit 2, and alternately outputs "1" or "θ"' (corresponding to black and white) for each load pulse. There are four outputs m of the 07 rig 70 tube 8, but at the same time they become 1" and #i "0".

すなわち、白、黒−素に対応する復号データは4ビツト
(無効データを含むこともある)ずつ同時に出力される
That is, the decoded data corresponding to white and black elements are simultaneously output in units of 4 bits (sometimes including invalid data).

配列変換回路10は、フリップフロップ8の4ビツト出
力(一般KFiルビット)データ140t−、セレクタ
7の出力信号141の示す有効データ補講に従って発生
順に配列し4ビツトずつ(一般にはtビットずつ)にま
とめて並列に出力する(後に詳述する)0画面メモリ1
1は、配列変換回路10の出力する4ビット並列の復号
データ150を、齋込みパルス109によって書き込む
The array conversion circuit 10 arranges the 4-bit output (general KFi bit) data 140t- of the flip-flop 8 and the effective data indicated by the output signal 141 of the selector 7 in the order of occurrence, and summarizes the data into 4 bits each (generally t bits each). 0 screen memory 1 to be output in parallel (described in detail later)
1 writes the 4-bit parallel decoded data 150 output from the array conversion circuit 10 using the loading pulse 109.

タイぐ/グパルス尭生回路9Fi、クロックパルス11
9およびラインスタートパルス120を出力L、クロッ
クパルス119によって各部動作のタイミングがとられ
、ラインスタートパルス12Gによってフリップフロッ
プ8および配列変換回路i oeリセットさせ、かつ符
号解読回路2の動作を開始させる。ま光、符号解読回路
2からのlライン終了信号121′に受けて、ラインス
タートパルス120を出力する。なお、カウンタ4のキ
ャリー信号115は符号解読回路2にフィードバックさ
れていて、符号解読1路2は、キャリ信号115が“1
″″になった時点で、復号データの発生が終了したこと
を知り、次の符号解読を開始する。
Tie/gpulse Yasei circuit 9Fi, clock pulse 11
9 and a line start pulse 120 are output L, and the clock pulse 119 determines the timing of each unit's operation.The line start pulse 12G resets the flip-flop 8 and the array conversion circuit ioe, and starts the operation of the code decoding circuit 2. Then, in response to the l line end signal 121' from the code decoding circuit 2, a line start pulse 120 is output. The carry signal 115 of the counter 4 is fed back to the code decoding circuit 2, and the code decoding circuit 2 detects that the carry signal 115 is "1".
When ``'' is reached, it is known that the generation of decoded data has ended, and the next code decoding is started.

そして、1ラインの終了を示すIX)L符号を解読する
と12イン終了信号121′t−タイミングパルス発生
器9に送出する。
Then, when the IX)L code indicating the end of one line is decoded, a 12-in end signal 121't-timing pulse generator 9 is sent.

配列変換回路10は、例えば112図に示すように構成
されている。すなわち、前記フリップフロップ8の出力
する4ビツトの復号データ(無効データを含む)140
およびセレクタ7の出力する有効データ数簿を示す信号
141(3ピツ))1−第1のシフタ71およびモジュ
ロ演算回路73に入力させる。シフタ71は、入力端子
11〜I、のうち連続する3端子をシフトさせて出力端
子0.〜0゜に接続するI@1回路である。シフト数は
人力信号141によって決足される0シフト数が“0″
のときは入力端子■、〜Is’を出力端子O3〜0.に
接続し、シフト数が“1′のときは入力端子I、〜I4
を、シフト数が“2“のときはI、〜I、を、シフト数
が“3″のときは工。〜Lt”、シフト数が“4mのと
きはI、−Iイをそれぞれ出力端子01〜0.に接続す
る0第1のシフタ71の出力端子O1〜0.はレジスタ
74に人力させ、レジスタ74の出力は第2のシック7
20入力端子■、〜Isに逆順でI11絖される。′t
た。レジスタ74の出力は第1のシフタ71の入力端子
工!〜工、に接続し、前記復号データ140は第1のシ
フタ71の入力端子I、〜I、に入力させる。復号デー
タ140はまたシフタ72の入力端子I、〜I、に逆順
で入力させている。シック71.72は、入力線と出力
線をつなぎかえるマルチプレフナの1棟であって、例え
ばアドバンスト・マイクロブ/(イス(Advance
d Micro Device )社製のA@2581
0(IIf1品名)の様な回w111A子を使用するこ
とができる0 有効データ数層を示す信号141は、シフタ71のシフ
ト制御に使用される他、−1:ジュロ演算回路73に入
力させる。モジュロ演算回路73は、レジスタ75の出
力信号175a、175Aと前記有効データ補講とを加
算し、これを路で割った余り数すなわち島未満の数値を
信号1’13h 、 173Cによりレジスタ75に格
納させ、加算結果が外以上のときはキャリ信号173α
を出力する。旙=4の場合は、通常の2進加算器を用い
ることができる。
The array conversion circuit 10 is configured as shown in FIG. 112, for example. That is, the 4-bit decoded data (including invalid data) 140 output from the flip-flop 8
and a signal 141 (3 bits) 1-indicating the valid data number list outputted by the selector 7 and inputted to the first shifter 71 and the modulo calculation circuit 73. The shifter 71 shifts three successive terminals among the input terminals 11 to I to output terminals 0. It is an I@1 circuit connected to ~0°. The number of shifts is determined by the human power signal 141.The number of shifts is “0”
In this case, the input terminals ■, ~Is' are connected to the output terminals O3~0. and when the shift number is “1”, the input terminals I, ~I4
, when the number of shifts is "2", I, ~I, and when the number of shifts is "3", it is . ~Lt", and when the shift number is "4m, I and -Ia are output terminals 01 to 0. The output terminals O1 to 0 of the first shifter 71 are connected to is input manually to the register 74, and the output of the register 74 is input to the second chic 7.
20 input terminals (1), -Is are connected to I11 in reverse order. 't
Ta. The output of the register 74 is the input terminal of the first shifter 71! The decoded data 140 is input to the input terminals I and I of the first shifter 71. The decoded data 140 is also input to the input terminals I, .about.I of the shifter 72 in reverse order. Schick 71.72 is one of the multi-prep connectors that can connect input lines and output lines, such as Advanced Microb/(Advance
d Micro Device) A@2581
A signal 141 indicating the number of valid data layers such as 0 (IIf1 product name) can be used is used for shift control of the shifter 71, and is also input to the -1:juro arithmetic circuit 73. The modulo arithmetic circuit 73 adds the output signals 175a, 175A of the register 75 and the effective data supplementary information, and stores the remainder when dividing this by the road, that is, the number less than the island, in the register 75 using the signals 1'13h, 173C. , when the addition result is greater than the outside, carry signal 173α
Output. If 旙=4, a normal binary adder can be used.

また、レジスタ75は、復号データが4ビツトずつ出力
されたのちの余り符号の数を示している。
Further, the register 75 indicates the number of remaining codes after the decoded data is output in 4-bit units.

キャリ信号173αによりゲート76が開かれると、書
き込みパルス109が出力されてメモリ11(第1図)
に送られる。ゲート76のもう一方の人力Kflクロッ
クパルス119t−人力させである。
When the gate 76 is opened by the carry signal 173α, the write pulse 109 is output and the memory 11 (FIG. 1)
sent to. The other human power Kfl clock pulse 119t of gate 76 is human power.

また、レジスタ75の出力値は、第2のシック72に送
られ、第2のシフタ72のシフト数を指示する信号とさ
れる。
Further, the output value of the register 75 is sent to the second chic 72 and is used as a signal instructing the shift number of the second shifter 72.

次に1本実施例の動作について説明する。今、1ライン
の始めから3画素を白とし1次の11画素′f:l&と
し、その次の10画素を白とする場合を例にとって説明
する。第1図のタイミングパルス発生回w19から第3
図(α)に示すようなラインスタートパルス120が出
力されると、符号解読回路2が起動され、フリップフロ
ップ8および配列変換回路10が初期状11にセットさ
れる。符号解読回路2は敵初のランレングス符号t−解
読して“0011” を出力し、かつ113図(d) 
K示すようなロードパルス114を出力する。カウンタ
3には“11″(Zjk数)がロードされ、カラ/り4
に蝶“00″がロードされる。カウンタ3とカウンタ4
の漣の合計(カウンタ4の内容F14倍し九値)は第3
図(ダ)に10進表示で示す。今、カウンタ4の内容は
“0′″であるから、キャリ信号115は纂3図(11
に示すように“1′″のままであシ、符号解読回w!1
2は直ちに次のランレングス符号の解Ilt始める。一
方、キャリ信号115の“1′″によシインバータ5の
出力は“θ′であり、竜しクタ7社カウンタ3の内容“
11′″(2進表示)を選択して配列変携回w!110
に送る。従って、信号141の示す有効データ数11L
は、第3図(勾に示すように“3” (10進)となる
Next, the operation of this embodiment will be explained. Now, an example will be explained in which three pixels from the beginning of one line are white, 11 primary pixels 'f:l&', and the next 10 pixels are white. Timing pulse generation times w19 to 3 in Figure 1
When a line start pulse 120 as shown in FIG. The code decoding circuit 2 decodes the enemy's first run-length code t- and outputs "0011", and also outputs "0011" as shown in Figure 113(d).
A load pulse 114 as shown by K is output. Counter 3 is loaded with “11” (Zjk number), and color/re4 is loaded.
The butterfly “00” is loaded. counter 3 and counter 4
The sum of the ren (counter 4 contents F14 times the 9th value) is the third
It is shown in decimal notation in figure (da). Now, the content of counter 4 is "0'", so the carry signal 115 is as shown in Figure 3 (11
As shown in the figure, leave it as “1′”, code decoding time lol! 1
2 immediately begins solving the next run-length code. On the other hand, due to the carry signal 115 being "1'", the output of the inverter 5 is "θ', and the content of the Ryuushikta 7 counter 3 is "
Select 11''' (binary display) and change the array lol! 110
send to Therefore, the number of valid data indicated by the signal 141 is 11L.
is "3" (decimal) as shown in Fig. 3.

今、7リツプフロツプ8の出力は“o、 o、o、 o
“であるが、このうち3ビツトのみが復号データとして
有効であシ、最後の1ビツトは後述するように、無効デ
ータとされる。フリップフロップ140の出力データ社
(第2図の)シフタ71の入力端子I4〜Iqに入力し
ている。シック71の入力端子■4〜Iqは第3図(Z
lに示すように“ooox” である。
Now, the output of 7 lip-flop 8 is “o, o, o, o
However, only 3 bits of these are valid as decoded data, and the last 1 bit is invalid data, as will be described later. The input terminals I4 to Iq of the chic 71 are inputted to the input terminals I4 to Iq of the Schick 71.
It is “ooox” as shown in l.

ここで×は実際にh″θ″であるが、後で無効となるデ
ータであるから他のデータと区別してXと表現しておく
ことにする。そして、入力端子I4〜I6がシフト数3
により出力端子01〜0.に接続され、レジスタ74に
“000′″が格納される。   □−万、モジュロ演
算回路73(第2図)は、信号141の示す有効データ
数“3′″と、レジスタ75の出力値“Ooとを加算し
た結果“3“をレジスタ75に格納する(第3図(i)
参照)。キャリ信号173αは“01であるから書込み
パルス109は出力されない。そして、レジスタ75に
は余り数“3“が格納されている。余った3ビツトの復
号データは、Mlのシフタ710入力端子IいI、、I
、から出力端子0..0..0.に出力されてレジスタ
74にとり込まれ保存される。レジスタ74の出力は、
シ7り71の入力端子■、〜1.にフィードバックされ
ているのでシフト数がOになっても保持される。
Here, x is actually h″θ″, but since it is data that will become invalid later, it will be expressed as X to distinguish it from other data. Then, the input terminals I4 to I6 are shifted by 3.
output terminals 01-0. , and “000′” is stored in the register 74. □-10,000, the modulo arithmetic circuit 73 (FIG. 2) adds the number of valid data "3'" indicated by the signal 141 and the output value "Oo" of the register 75, and stores the result "3" in the register 75 ( Figure 3 (i)
reference). Since the carry signal 173α is "01", the write pulse 109 is not output.The register 75 stores a remainder number "3".The remaining 3 bits of decoded data are sent to the input terminal I of the shifter 710 of Ml. I,,I
, to output terminal 0. .. 0. .. 0. The signal is outputted to the register 74 and stored in the register 74. The output of register 74 is
Input terminals of the board 71 ■, ~1. Since it is fed back to , it is held even if the shift number reaches O.

次に、カウンタ3が次のクロックでクリヤされて“O″
となり(第3図(h))%カウンタ3と4の合計値も“
0“となる([!3図(g))。一方、符号解読回路2
が2番目のランレングス符号を解読して“1011“ 
(10!表示では11)およびロードパルスll4tP
出すと、カウンタ3に“3′″(1G進表示)がカウン
タ4に2′″(10進表示)が格納される。すなわち、
3+2X4=11ビツトの連続した黒の復号データが要
求される。カウンタ3とカラ/り4の内容の合計値は第
3図(−に示すように10進表示で11となる0カウン
タ4に“2′が格納されたことによl、(第1図の)キ
ャリ信号115が“θ″″となIt(@3図(−))、
インバータ5の出力によりセレクタ7の出力信号阜41
は固定値″100′″すなわち10進表示では4となる
(第3図(A)参照)0 今、フリップ70ツブ8は、ロードパルス114によっ
て反転し、“1111″′を出力しているから、IXZ
図の第1のとフタ710入力端子I4〜工、には第3図
(Z)に示すように“1111”″が入力している。
Next, counter 3 is cleared at the next clock and becomes “O”.
(Figure 3 (h)) The total value of % counters 3 and 4 is also “
0" ([! Figure 3 (g)). On the other hand, the code decoding circuit 2
decodes the second run-length code and reads “1011”
(10! 11 in display) and load pulse ll4tP
When issued, "3'" (in 1G decimal notation) is stored in counter 3 and 2'" (in decimal notation) is stored in counter 4. That is,
3+2X4=11 consecutive black decoded data are required. The total value of the contents of counter 3 and color/counter 4 is 11 in decimal notation as shown in Figure 3 (-), and 2' has been stored in counter 4 (Figure 1). ) The carry signal 115 is "θ"" It (@3 (-)),
The output signal 41 of the selector 7 is determined by the output of the inverter 5.
is a fixed value of ``100'', that is, 4 in decimal notation (see Figure 3 (A)). Now, the flip 70 knob 8 is inverted by the load pulse 114 and outputs ``1111''. , IXZ
As shown in FIG. 3 (Z), "1111" is input to the input terminals I4 to I4 of the first lid 710 in the figure.

また、入力端チェ、〜Ijにはレジスタ74の出力から
“000″が人力している(第3図(A)参照)o一方
、$1!2のシフタ72のI、〜工、は000′であ夕
、I4−11ハ“1111” で1hbo 第3図(Z
)t;i、コツトきのシフタ72の入力端子I、〜I、
の論理状態をも示している。
In addition, "000" is manually input from the output of the register 74 to the input terminal Che, ~Ij (see Fig. 3 (A)) o On the other hand, I, ~, of the shifter 72 of $1!2 is 000. ' and evening, I4-11 was "1111" and 1 hbo. Figure 3 (Z
)t;i, input terminal I of the shifter 72, ~I,
It also shows the logical state of

一方、モジュロ演算回路73は、入力信号141の値’
ioo’″(2進表示)とレジスタ75の出力値“11
”″(2M表示)とをモジュロ加算し、“11“ゲート
76を開いて書込みパルス109がメモリ11に送られ
る。このと、き、レジスタ75の出力値は3であるから
、第2のシフタ72は、入力端子I、〜14を出力端子
04〜O0に接続しているから。
On the other hand, the modulo calculation circuit 73 calculates the value ' of the input signal 141.
ioo'" (binary display) and the output value of register 75 "11
"" (indicated by 2M) is added modulo, "11" gate 76 is opened, and a write pulse 109 is sent to the memory 11. In this case, since the output value of the register 75 is 3, the second shifter 72 connects the input terminals I, to 14 to the output terminals 04 to O0.

出力端子04〜O1からは、第3図(4)に太線で囲ん
だ部分“000!″が出力される。すなわち前の余り3
ビツトと今回の上位1ビツトの合計4ビツトが出力され
る。メモリ11は書き込みノ(ルス109によって上記
7フタ72の出力信号150を4ビット並列に書込む。
From the output terminals 04 to O1, a portion "000!" surrounded by a bold line in FIG. 3(4) is output. That is, the previous remainder 3
A total of 4 bits, including the bit and the current high-order bit, are output. The memory 11 writes the output signals 150 of the seven lids 72 in four bits in parallel by the write pulse 109.

今回の残シ3ピッ)#i、第1のシック71の入力端子
!、〜I、から、入力信号141で示されるシフト数4
によL出力端子O3〜0.に出力されてレジスタ74に
保存される。
This time's remaining 3 pins) #i, the input terminal of the first chic 71! , ~I, the number of shifts 4 indicated by the input signal 141
By L output terminal O3~0. The signal is output to the register 74 and stored in the register 74.

次のクロックで第1のシック71の入力端子I4〜l、
に“1111″が人力し、11〜1.には上記レジスタ
74の出力“111′″が入力するから、第1のり7タ
71の入力端子■1〜I、li$3図(Z)K示すよう
に7ビツト全部“1”となる。モジュロ加算回路73は
同様に人力信号141の示す値4とレジスタ75の出力
3とを加えて、余り数3をレジスタ75にセットし、キ
ャリ信号173gを出力し、書込みパルス109が出力
される。このときレジスタ75の出力は3であるから、
シフタ72は入力端子■、〜I4を出力端子04〜0.
に*絖し、出力端子04〜O1からは4ビット並列に“
1“が出力される。
At the next clock, the input terminals I4-l of the first chic 71,
“1111” is input manually, and 11-1. Since the output "111'" of the register 74 is inputted to the register 74, all seven bits at the input terminals 1-I, li$3 of the first gate 71 become "1" as shown in FIG. Similarly, the modulo addition circuit 73 adds the value 4 indicated by the human input signal 141 and the output 3 of the register 75, sets the remainder 3 in the register 75, outputs a carry signal 173g, and a write pulse 109 is output. At this time, the output of register 75 is 3, so
The shifter 72 connects the input terminals ■, ~I4 to the output terminals 04~0.
*The output terminals 04 to 01 output 4 bits in parallel.
1" is output.

メモリ11はこれによp・4ビット並列に“1′″を書
き込む。第1シフタ71の入力端子I、〜工、に人力し
ていた余!13ビットの111′″は人力信号141の
示す値4によって0.〜0.に接続され、レジスタ74
に保存される。
The memory 11 thereby writes "1'" in p4 bits in parallel. The input terminal I of the first shifter 71 was manually input! 111'' of 13 bits is connected to 0.~0. by the value 4 indicated by the human input signal 141, and the register 74
Saved in

一方、この間において、カウンタ4はクロックパルスに
よって減カウントシていて、クロックパルスを2個カウ
ントしたとき“θ″′となり、第3図(−)に示すよう
にキャリ信号115t−出力し、インバータ5の出力を
“0′とし、減カウントを停止し、セレクタ7はカウン
タ3の出力値“3”(10j!表示)t−選択出力する
。すなわち、次のクロックにおける信号141の示す有
効データ数罵は“3“であり、1′2図の第1のシフタ
71の端子■4〜I、の論理は、“111ד となる
。上記×は実際には“1“であるが後で無効となるため
×と表現しておく。
Meanwhile, during this period, the counter 4 is decrementing the count by the clock pulse, and when it counts two clock pulses, it becomes "θ"', and outputs a carry signal 115t- as shown in FIG. The output is set to "0", the decrementing is stopped, and the selector 7 selectively outputs the output value "3" (10j! display) of the counter 3. In other words, the number of valid data indicated by the signal 141 at the next clock is "3", and the logic of terminals ■4 to I of the first shifter 71 in Figure 1'2 becomes "111×".The above "×" is actually "1", but it will be invalidated later. Express it as × because it becomes.

また、端子l、〜I、には、レジスタ74の出力値“1
11“が入力しているから、このとき第1のシフタ71
の端子11〜I、の論理は、第3図(11に示すように
、”IIIIIIX“となる。従って、シフタ72の端
子■、〜I、の論理本同様である。一方、モジュロ演算
回路73は、信号141の示す有効データ数“3″とレ
ジスタ75の出力値′3″′とを加えることによシキャ
リ信号173αを出力し、書込みパルス109t−出力
する。このときレジスタ75の出力値“34により、第
2の7フタ72は端子t〜N4を端子04〜01に接続
しているから、出力信号150F1.4ビット並列の1
111′″ となる。そして、モジュロ演算回路73の
モジュロ加算値“2″′がレジスタ75にセットされる
(第3図(番)参照)。
In addition, the output value “1” of the register 74 is applied to the terminals l, ~I.
11" is being input, at this time the first shifter 71
The logic of the terminals 11 to I of the shifter 72 is "IIIIIIIX" as shown in FIG. outputs a carry signal 173α by adding the number of valid data “3” indicated by the signal 141 and the output value “3” of the register 75, and outputs a write pulse 109t-.At this time, the output value of the register 75 “ 34, the second 7 lid 72 connects the terminals t~N4 to the terminals 04~01, so the output signal 150F1.4 bit parallel 1
Then, the modulo addition value "2"' of the modulo arithmetic circuit 73 is set in the register 75 (see number (number) in FIG. 3).

一方、入力信号141の値“3′により、第1のシフタ
71は入力端子I4〜Ist出力端子01〜0.に接続
し、レジスタ74に“111“をセットする。
On the other hand, due to the value "3" of the input signal 141, the first shifter 71 connects the input terminals I4 to Ist output terminals 01 to 0. and sets "111" in the register 74.

符号解読回路2が次のランレングス符号を解読して、ロ
ードパルス114により、4[U、カラ/73K”2’
″(10進嵌示)カ、力?ン74にrかセットされる。
The code decoding circuit 2 decodes the next run length code, and by the load pulse 114, 4[U, color/73K"2'
'' (indicated in decimal decimal) ?r is set in power input 74.

すなわち合計値は2X4+2=40である。セレクタ7
は、2クロックパルス期間固定稙“4″を出力し、3ク
ロツク目には“2mを出力す7)(第3図(A)参照)
。今、フリップ70ツブ8は、再びロードパルス114
で反転して、“oooo”を出力している。従って、第
2図の第1のシフタ71の入力端子I4−工、には“0
000“が入力し、入力端子11〜■、には“111″
′が人力している。すなわち、端子■、〜I、の論理は
第3図(t)に示すようK“110000″′となって
いる。従って、シフタ72の端子1.〜I、も同じ論理
となる。モジュロ演jJ1gl路73は入力信号141
の示す有効データ数“4″とレジスタ75の出力値“2
″′とを加算してキャリ信号173αを出力し、ゲート
76から書き込みパルス109がメモリ11に送られる
。このとき第2のシック7Slレジスタ75の出力値“
2mによって入力端チェ、〜■、を出力端子04〜O1
に接続しているから、第3図(Z)に太線で書込まれた
信号”1100’″を4ビット並列に出力し、画面メモ
リ11に書き込ませる。一方、第1のシック71Fi、
入力信号14・1の値“4″′によって、入力端子■、
〜Ivt−出力端子0−〜03に4i!続していて、レ
ジスタ74には、1000″が格納される。
That is, the total value is 2X4+2=40. Selector 7
outputs a fixed pattern "4" for two clock pulses, and outputs "2m" for the third clock (see Figure 3 (A)).
. Now the flip 70 knob 8 is again the load pulse 114
It is inverted and outputs "oooo". Therefore, the input terminal I4 of the first shifter 71 in FIG.
000" is input, and "111" is input to input terminals 11~■,
' is done manually. That is, the logic of terminals ①, .about.I is K"110000"' as shown in FIG. 3(t). Therefore, terminal 1 of shifter 72. The same logic applies to ~I. Modulo jJ1gl path 73 is input signal 141
The number of valid data indicated by “4” and the output value of register 75 “2”
``'' is added and a carry signal 173α is output, and a write pulse 109 is sent from the gate 76 to the memory 11. At this time, the output value of the second thick 7Sl register 75 is
2m by input end check, ~■, output terminal 04~O1
3, the signal "1100'" written in bold line in FIG. On the other hand, the first chic 71Fi,
By the value "4"' of the input signal 14.1, the input terminal ■,
~Ivt-4i to output terminal 0-~03! 1000'' is stored in the register 74.

次のクロックで、第1の77タ71の端子■4〜lマに
“oooo“が入力し、端チェ、〜I、ににレジスタ7
4から“000″′が入力している。従って第2のシフ
タ72の端子■6〜■、は“oooo”″であり、レジ
スタ75の出力値“2“にょって出力端子0番〜0、か
ら4ビット並列に出力される。モジ二ロ演算Igl路7
3fi入力信号141の値“4″とレジスタ75の像″
2″′とを加えてキャリ信号173al出力し、ゲート
76から書込みパルス109が出力されて、画面メモリ
11は上記シフタ72の出力信号150全4ビット並列
に書き込む。すなわち、“oooo″が書き込まれ為。
At the next clock, "oooo" is input to the terminals 4 to 1 of the first 77 terminal 71, and the register 7
4 to "000"' is input. Therefore, the terminals ■6 to ■ of the second shifter 72 are "oooo", and 4 bits are output in parallel from the output terminals 0 to 0 according to the output value "2" of the register 75. B operation Igl path 7
3fi input signal 141 value “4” and register 75 image”
2"' is added and a carry signal 173al is output. A write pulse 109 is output from the gate 76, and the screen memory 11 writes all 4 bits of the output signal 150 of the shifter 72 in parallel. That is, "oooo" is written. For.

ここでカウンタ4の内容が“0′″となり、キャリ11
5が“1′となって(113図(#))、インバータ5
の出力が“θ′″となり(纂3図(7))、セレクタ7
はカウンタ3の出力を選択出力する。すなわち、信号1
41の値は“2″となる(第3図(ル))。従って、纂
2図のモジュロ演算回路73は、入力信号141のイ直
“2“とレジスタ75の出方値“2′″とを加算し、キ
ャリ信号173αを出力し、ゲート76から着込みパル
ス109が出力される。このとき、レジスタ75の出力
値祉“2mであり、シフタ72は入力端子1.〜I、t
−出力端子04〜01に接続している。第2の7フタ7
2の入力端子I6〜I、にはレジスタ74から“00″
′が入力しており、入力端子■4〜I、には、フリップ
フロップ8の出力信号14によ夕“O“が入力している
から、シフタ72の出力信号15Gは4ビット並列の“
oooo” であり。
Here, the content of counter 4 becomes "0'" and carry 11
5 becomes "1'" (Figure 113 (#)), and inverter 5
The output of is “θ′” (Figure 3 (7)), and selector 7
selectively outputs the output of counter 3. That is, signal 1
The value of 41 is "2" (Figure 3 (L)). Therefore, the modulo arithmetic circuit 73 in FIG. is output. At this time, the output value of the register 75 is "2m," and the shifter 72 has input terminals 1. to I, t.
- Connected to output terminals 04-01. Second 7 Lid 7
2 input terminals I6 to I receive “00” from the register 74.
' is input, and since the output signal 14 of the flip-flop 8 is input to the input terminals 4 to I, the output signal 15G of the shifter 72 is a 4-bit parallel output signal 15G.
oooo”.

該信号が画面メモリー1に書き込まれる。モジュロ演算
回路73の演算結果は、2+2=0であって、レジスタ
75には“0″′がセットされる(W、3図(1))。
The signal is written into the screen memory 1. The calculation result of the modulo calculation circuit 73 is 2+2=0, and "0''' is set in the register 75 (W, FIG. 3 (1)).

以上の動作により、メモリーIKは、3ビツトの“0′
″と、11ビツトの“1″と、10ビツトの“θ″′が
書き込゛まれたわけである。そして、上述の書き込みは
、信号141の示す有効データ補講の復号データが並び
かえられて、4ビツトたまるごとに画面メモリーIKI
き込まれ、残った復号データはレジスタ74に保管して
おき、次の復号データと合わせて4ビツトずつ並列に書
き込まれる。そして、1ラインの復号が終了し、符号解
読回路2が1ライン終了符号EOTを解読すると、第3
図(Alに示すよりな1ライン終了信号121を出力し
、タイミングパルス発生回路9は再びスタートパルス1
20t−出力して次のラインの解説および復号が開始さ
れる。
With the above operation, the memory IK is set to 3 bits “0”.
'', 11 bits of ``1'', and 10 bits of ``θ''' are written.The above write is performed by rearranging the decoded data of the effective data supplement indicated by the signal 141. Screen memory IKI for every 4 bits accumulated
The remaining decoded data is stored in the register 74, and is written in parallel in 4-bit units together with the next decoded data. Then, when the decoding of one line is completed and the code decoding circuit 2 decodes the one line end code EOT, the third
The timing pulse generation circuit 9 outputs the 1-line end signal 121 as shown in the figure (Al), and the timing pulse generation circuit 9 again outputs the start pulse 1.
20t-output to begin interpretation and decoding of the next line.

上述の実施例tifi”4として説明し友が、sFi任
意の整数であっても同様な構成で実施出来る。
The above-mentioned embodiment tifi"4 is explained, but even if sFi is an arbitrary integer, it can be implemented with a similar configuration.

本発明によれば、復号化の第2段階において、Nビット
の復号データの発生が*+itm、すなわちA+1クロ
ック時間で行なわれる。平均ラン長を50、&=8とす
れば、hは平均で6となるから、7クロツク時間て復号
できる。す表わち、lクロック時間に約7ビツトの割合
で復号データを発生することができる。従って、クロッ
ク周波数ヲ10メガヘルツとすれば、前記第2段階の時
間T、は0.06秒となり、第1段階の時間TIと合計
して0.1秒で1画面分を復号することが可能である。
According to the invention, in the second stage of decoding, the generation of N bits of decoded data takes place in *+itm, ie A+1 clock time. If the average run length is 50, &=8, h will be 6 on average, so it can be decoded in 7 clock times. In other words, decoded data can be generated at a rate of approximately 7 bits per l clock time. Therefore, if the clock frequency is 10 MHz, the time T of the second stage is 0.06 seconds, and when added to the time TI of the first stage, it is possible to decode one screen in 0.1 seconds. It is.

なお、前述の第2図に示した配列変換回路は、4ビツト
(無効データを含む)の並列人力データ140を無効デ
ータを除いた4ビツトの並列出力データ150に配列変
蛸する例について説明したが、入力データ算ビット(無
効データを含む)から無効データを除いfr−Lビット
の並列出力データに配列変換して出力させることも6■
能である。この場合は第1のシフタ71は、入力端子数
(ル+t−1)ビット、最大シフト数n、出力趨子数(
L−1)ビットのシフタとし、第2のシック72は、入
力端子数2L−1ビツト、最大シフト数(L−1)、出
力端子数tビットのシックを使用する。そして、余りビ
ット格納用のレジスタ74は。
The arrangement conversion circuit shown in FIG. 2 described above is an example in which the arrangement is changed from 4-bit (including invalid data) parallel human input data 140 to 4-bit parallel output data 150 excluding invalid data. However, it is also possible to remove invalid data from input data calculation bits (including invalid data), convert the array to fr-L bit parallel output data, and output it.
It is Noh. In this case, the first shifter 71 has the number of input terminals (ru+t-1) bits, the maximum number of shifts n, and the number of output terminals (
The second thick 72 uses a chic with an input terminal number of 2L-1 bits, a maximum shift number (L-1), and an output terminal number of t bits. And the register 74 for storing the remainder bits.

(L、−1)ビットのレジスタとし、余りビット計数用
のアキュームレータとモジュロlの演算回路を加えれば
よい。ただし、余りビットが累積してオーバーフローし
ないためには、L≧ルであることが望ましい。例えば、
L=8.a=8.g本化速度を10メガヘルツとすれば
%過大80メガビット/秒の復号化が実現できるから、
高速処理に極めて有利となる。
It is sufficient to use a (L, -1) bit register and add an accumulator for counting the remainder bits and a modulo l arithmetic circuit. However, in order to prevent excess bits from accumulating and overflowing, it is desirable that L≧L. for example,
L=8. a=8. If the encoding speed is 10 megahertz, decoding of 80 megabits/second can be achieved.
This is extremely advantageous for high-speed processing.

また、前述の実施例では、配列変換回路10へ入力させ
る復号データ140は、フリップ70ツブによって1ラ
ンごとに交互に反転した“θ″又は“1″の4ビット並
列データとしたが、ラン長Nの復号データが(N−1)
個の“0“と1個の“1″で構成される場合(変換点が
“1″′となる)は、フリップ70ツブの代シにパター
ン発生器を用いて、セレクタ7の出力141を受けて対
応するパターンを発生するように構成すればよい。例え
ば、信号141が“4′のときは“0001”を、信号
141が“3″′のときは“001“を、信号141が
“2′″のとき1ユ“01″會、信号141が“1′の
ときは“1“全発生させるパターン発生器である。
Furthermore, in the above embodiment, the decoded data 140 input to the array conversion circuit 10 is 4-bit parallel data of "θ" or "1" that is alternately inverted for each run by the flip 70 tube. N decoded data is (N-1)
When the output 141 of the selector 7 is composed of 1 "0" and 1 "1" (the conversion point is "1"), a pattern generator is used in place of the flip 70. It may be configured to receive the information and generate a corresponding pattern. For example, when the signal 141 is "4'," it is "0001," when the signal 141 is "3", it is "001," and when the signal 141 is "2'", it is "01". When it is "1", it is a pattern generator that generates all "1"s.

前述の実施例は、ランレングス符号の圧縮率が^い場合
には既述したように充分蜆い復号時間とすることが可能
であるが、圧縮率が低い場合は。
In the above-mentioned embodiment, when the compression rate of the run-length code is low, it is possible to achieve a sufficiently long decoding time as described above, but when the compression rate is low.

符号%続回路2の処理時間を短縮させる工夫が必要よな
る。その丸めには、符号解w11.回路2を以下に説明
するような並列入力構成とすればよい。
It is necessary to devise ways to shorten the processing time of the code continuation circuit 2. For that rounding, the sign solution w11. The circuit 2 may have a parallel input configuration as described below.

第4図は、符号解l!を高速に実行可能な並列型の符号
解読回路の一例を示すブロック図である。
Figure 4 shows the code solution l! FIG. 2 is a block diagram illustrating an example of a parallel code decoding circuit that can execute the code at high speed.

この場合、メモリ1の出力信号102Fi、例えば4ビ
ツトの並列データとされる。そして、出力信号102t
jレジスタ21およびシフタ22の端チェ、〜■、に入
力させる。レジスタ21の出力はシフタ22の端子■、
〜工、へ入力させ、シフタ22は後述するレジスタ28
の出力によってシフト数が制御される。シフタ22の出
力端子04〜0.t−ROM23C)アドレス端子A、
〜^に接続し、几OM 23のアドレス端子へ〜A4に
は、レジスタ24の出力信号が供給される。レジスタ2
4の入力には、ROM 23の出力するロードパルス1
14によって制御されるゲート25を介して、几0M2
3の2ン長出力信号110〜113′ft入力させる。
In this case, the output signal 102Fi of the memory 1 is, for example, 4-bit parallel data. Then, the output signal 102t
j register 21 and shifter 22 end checks, ~■, are input. The output of the register 21 is the terminal ■ of the shifter 22,
~, and the shifter 22 is input to the register 28 described later
The number of shifts is controlled by the output of . Output terminals 04 to 0 of shifter 22. t-ROM23C) address terminal A,
The output signal of the register 24 is supplied to ~A4, which is connected to the address terminal of the OM 23. register 2
Load pulse 1 output from ROM 23 is input to input 4.
14 through gate 25 controlled by 几0M2
A 2-pin length output signal of 110 to 113'ft is inputted.

また、ロードパルス114とキャリ信号115とを人力
するゲート31の出力をレジスタ30によってタイミン
グ11軽し、レジスタ30の出力によってゲート26を
制御する。ゲート26はロードパルスが出力された次の
クロックで閉じられて、後述する符号長データIを強制
的に零にするため、符号解読が一時中断される。ROM
23の出力する符号長データIは、ゲート26を通って
演算回路27に入力させ、演算回路27t;を該入力と
レジスタ28の出力とを演算した結果をレジスタ28に
格納する。レジスタ28の出力値は、次のクロックにお
けるシフタ22のシフト数の制御に使用さnる。レジス
タ28の出力するシフト数fdとしたとき演算回路27
は、d−s’を演算し、d−d>oのときは、出力線1
32にy1= d −dを出力し、出力線133に’I
t=“0′″を出力する。
Further, the output of the gate 31 which manually generates the load pulse 114 and the carry signal 115 is reduced by the timing 11 by the register 30, and the gate 26 is controlled by the output of the register 30. The gate 26 is closed at the next clock after the load pulse is output, and the code decoding is temporarily interrupted in order to force code length data I, which will be described later, to zero. ROM
The code length data I output from 23 is input to the arithmetic circuit 27 through the gate 26, and the arithmetic circuit 27t calculates the input and the output of the register 28, and stores the result in the register 28. The output value of the register 28 is used to control the number of shifts of the shifter 22 in the next clock. When the number of shifts output from the register 28 is fd, the arithmetic circuit 27
calculates d-s', and when d-d>o, output line 1
32, outputs y1=d -d, and outputs 'I' to the output line 133.
Output t="0'".

ml−a’<0のときは、 l、=d−s’−)−4と
し。
When ml-a'<0, set l, = d-s'-)-4.

h=″1“とする。y、工1にょ9、ゲート29から絖
出しパルス101が出力される。前記ROM23は、第
7図に示すように、アドレス端子4〜人、の示すアドレ
ス位置K、解読したラン長、ロードパルス出力の要否、
符号長I、および1ライン終了符号か否かを示す1ライ
ン終了信号があらかじめ記憶されている。上記符号長S
′は、圧縮データ符号の符号長のうち、解読し九部分の
符号長を示している。
Let h=“1”. y, step 1, step 9, and gate 29 output a threading pulse 101. As shown in FIG. 7, the ROM 23 stores the address position K indicated by the address terminals 4 to 4, the decoded run length, the necessity of outputting the load pulse,
A code length I and a 1-line end signal indicating whether it is a 1-line end code are stored in advance. The above code length S
' represents the code length of the nine decoded parts of the code length of the compressed data code.

次に、符号解読の動作について説明する。前提として、
ラン長1〜15に対する圧縮符号の符号暗が第5図に示
すように定義されているものとする。同図において、各
符号語の符号長が右欄に示されている。また、1ライン
終了符号EOL Fi、“00000001″′ であ
って、符号長は8である。
Next, the operation of decoding the code will be explained. As a premise,
It is assumed that the code darkness of the compression code for run lengths 1 to 15 is defined as shown in FIG. In the figure, the code length of each code word is shown in the right column. Furthermore, the 1-line end code EOL Fi is "00000001"', and the code length is 8.

今、ラン長3,11,10の圧縮符号がこの胆にメモリ
1に格納されているものとすると、第5図より、圧縮符
号は、“10′、“0000101″および@oooo
ioo”″であり、これに1ライン終了符号″0000
0001“ が付加される0メモリ1がら上記圧縮符号
列を4ビツトずつ並列に読み出すと、最初の続出し信号
10211”1000“であり。
Now, assuming that compressed codes with run lengths 3, 11, and 10 are stored in memory 1, from FIG. 5, the compressed codes are "10', "0000101" and
ioo"", followed by a line end code "0000"
When the compressed code string is read in parallel 4 bits at a time from the 0 memory 1 to which 0001" is added, the first successive signal 10211"1000" is obtained.

次は”0010″′であり、その次は“1000”その
次は“0100”である。1ライン終了符号kOLは、
“oooo”  と“0001″″ とに分けて出力さ
れる0 ツインスタートパルス120がレジスタ24および28
に印加され、これらのレジスタの出力は零になシ、符号
解読回路は解読動作を開始する。
The next one is "0010"', the next one is "1000", and the next one is "0100". The end code for one line, kOL, is
The 0 twin start pulse 120, which is output separately as "oooo" and "0001"", is sent to the registers 24 and 28.
is applied, the outputs of these registers become zero, and the decoding circuit starts the decoding operation.

先ずメモリ1から出力される最初の4ビット並列データ
“1000”は、第6図(A)K示すように、シフタ2
2の入力端チェ、〜1mに人力する。従って、ジッタ2
2の出力O4〜01には1000“が出力され、ROM
23のアドレス端子人、〜^に供給される。今、アドレ
ス端子へ〜A4Fi零である030M23には、第5図
に示したフン長符号語に対応して、例えば纂7図に示す
ようなテーブルが書き込まれている。従って、ROM 
23の該当アドレス位置から、ラン長′3″″、符号長
Iが″V、ロードパルス“θ′″が読み出される。ラン
長“3′″は出力信号線110〜113によってカウン
タ2および3(@1図)へ出力され、ロードパルス″O
′によってカウンタ2および3に格納される。ロードパ
ルス“θ″によってグー)25Fi閉じられているから
、レジスタ24は“θ′″の1まである0符号長dは、
ゲート26を亀って演算回路27に送られ、演算llT
hm27U出力線132Ky、==+/−s’+4=2
1出力し、出力線133Kfft=”を出力する。従っ
て、レジスタ28K“2′″がセットされ、かつ、ゲー
ト29が開かれ、第3図(1りに示すような読出しパル
ス101がメモリ1に送られる◎ メモリ1から読み出された次の4ビツトの並列データ″
0010”は、第6図(blに示すように、シフタ22
の端子■4〜■1に人力する0このとき、レジスタ21
は前の人力データのうちの恢位3ビット分“000“を
記憶していて、シフタ22の端子I、〜I、へ人力させ
ている(第6図(bl ) o一方、レジスタ28の出
力するシフト数m’は2“であるから、シフタ22は端
子16〜I3を端子04〜01に接続する。従って、シ
フタ22の端子04!−0,からは第6図(b)に太線
で囲んだ4ビツト′0000″が出力される。i(,0
M23のアドレス端子^〜A4にはレジスタ24の出力
“0000″′が人力しているから、第7図に従って出
力信号110〜113には、ラン長″2′が出力され、
出力信号線131には符号長“4″″が出力される。し
かし、圧縮符号の解読が未だ完結していないので、口、
−ドパルス114は出力されない(論理は“1″である
)。すなわち、ロードパルス114が出力されないとき
のラン長出力は、符号解読の途中であって、この時点の
ラン長“2″はゲート25を通ってレジスタ24に格納
され、次のクロックでROM23のアドレスヘ〜A4に
フィードバックされる。そして1次のクロックでは、シ
フタ22の■4〜11に“1000”″が入力し、レジ
スタ21の出力は“010″(第6図(b))であり、
レジスタ28の出力は“2″であるから、出力端子04
〜OIからは、第6図<b>に太線で囲んだ部分“10
10″が出力し、ROM 23の人、〜A、に入力され
る。このときレジスタ24の出力“2′″すなわち“0
010“ (2道表示)が九〇M23のアドレス端子A
、〜入に供給されている。従ってROM23からは、第
7図に従って、ラン長“11′″(10進表示)、ロー
ドパルス″0′″、符号長“3′″が出力される。すな
わち、出力信号110〜103には11(10進表示)
が出力されロードパルス114によってカウンタ3・お
よび番に格納させる。同様に、次のラン長10(10進
)が解読され、最後にWOL符号が発見されると、1ラ
インの復号が終了する。
First, the first 4-bit parallel data "1000" output from the memory 1 is sent to the shifter 2 as shown in FIG. 6(A)K.
2 input terminal check, manually input to ~1m. Therefore, jitter 2
1000" is output to the outputs O4 to 01 of 2, and the ROM
23 address terminals, ~^. Now, in 030M23, which is A4Fi zero to the address terminal, a table as shown in Figure 7, for example, is written in correspondence with the length code word shown in Figure 5. Therefore, ROM
The run length ``3'''', the code length I is ``V'', and the load pulse ``θ'''' are read from the corresponding address position of 23.The run length ``3'''' is read out from the counters 2 and 3 ( @Figure 1) is output to the load pulse ``O
' is stored in counters 2 and 3. Since 25Fi is closed by the load pulse "θ", the register 24 has a zero code length d up to "1" of "θ'".
It passes through the gate 26 and is sent to the arithmetic circuit 27 for calculation llT.
hm27U output line 132Ky, ==+/-s'+4=2
1 is output, and the output line 133Kfft=" is output. Therefore, the register 28K"2'" is set and the gate 29 is opened, and the read pulse 101 as shown in FIG. 3 (1) is output to the memory 1. ◎ The next 4 bits of parallel data read from memory 1''
0010" is the shifter 22 as shown in FIG.
At this time, register 21 is input manually to terminals ■4 to ■1.
stores "000" for the first three bits of the previous manual input data, and inputs input to terminals I, ~I, of the shifter 22 (Fig. 6 (bl)). On the other hand, the output of the register 28 Since the number of shifts m' is 2", the shifter 22 connects the terminals 16 to I3 to the terminals 04 to 01. Therefore, from the terminal 04!-0 of the shifter 22, the terminals 04!-0, The enclosed 4 bits '0000'' are output.i(,0
Since the output "0000"' of the register 24 is input to the address terminals ^ to A4 of M23, the run length "2" is output to the output signals 110 to 113 according to FIG.
A code length of "4"" is output to the output signal line 131. However, since the decoding of the compression code has not been completed yet,
- pulse 114 is not output (logic is "1"). That is, the run length output when the load pulse 114 is not output is in the middle of code decoding, and the run length "2" at this point is stored in the register 24 through the gate 25, and is stored in the address of the ROM 23 at the next clock. It is fed back to A4. In the primary clock, "1000" is input to 4 to 11 of the shifter 22, and the output of the register 21 is "010" (FIG. 6(b)).
Since the output of the register 28 is "2", the output terminal 04
~ From the OI, the part “10” surrounded by a thick line in Fig. 6<b>
10" is output and input to the ROM 23, ~A. At this time, the output "2'" of the register 24, that is, "0
010" (2 way display) is address terminal A of 90M23
, is supplied with ~. Accordingly, the ROM 23 outputs the run length "11'" (in decimal notation), the load pulse "0", and the code length "3" according to FIG. In other words, output signals 110 to 103 have 11 (in decimal notation)
is output and stored in the counter 3 and number by the load pulse 114. Similarly, when the next run length of 10 (decimal) is decoded and the WOL code is finally found, the decoding of one line ends.

上述の符号解読回路は、一度に最大4ビツトずつの圧縮
符号が解読されるから、動作が高速化される。なお、一
度に解読するための並列人力データ数は、4ビツトに限
ることはなく、任意に選ぶことができることは云うまで
もない。さらに、符号の解読と復号データの発生を別々
の時刻に行なわないで、同時刻に並行動作することも可
能であり、より高速処理が可能となる。
The code decoding circuit described above operates at high speed because up to 4 bits of compressed codes are decoded at a time. It goes without saying that the number of parallel manual data to be decoded at one time is not limited to 4 bits and can be arbitrarily selected. Furthermore, it is also possible to perform parallel operations at the same time instead of decoding the code and generating decoded data at different times, making it possible to perform higher-speed processing.

以上のように、本発明においては、ランレングス復号デ
ータを、ルビットずつ(又Fi nより大きいLビット
ずつ)並列に発生させて、画面メモリに並列に書込むよ
うに構成したから、復号処理が迅速にされるという効果
がある。また、圧縮データの解読をする符号Ps!15
!回路に、並列符号解読回路を採用することにより、よ
り一層の高速化が達成される。
As described above, in the present invention, the run-length decoded data is generated in parallel in units of l bits (and in units of L bits larger than Fin) and written in parallel to the screen memory, so that the decoding process is performed. It has the effect of being done quickly. Also, the code Ps! for decoding compressed data! 15
! By employing a parallel code decoding circuit in the circuit, even higher speeds can be achieved.

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

第1図は本発明の一実施例を示すブロック図、第2図は
上記実施例の配列変換回路10の構成の一例を示すブロ
ック図、第3図は上記実施例の動作を説明するための各
部の信号および内容等を示すタイムチャート、l!4図
は符号解読をより両速に行なう並列符号解読回路の一例
を示すブロック図、wJs図はランレングス符号の一例
を示す図、第6図は第4図に示した並列符号解読回路の
符号解読動作を説明するための図、第7図は!1!4図
に示した並列符号解読回路のROM23の記憶内容をボ
す図である。 図において、1・・・メモリ、2・・・符号解読回路、
3.4・・・カウンタ、5・・・インバータ、6・・・
ゲート、7・・・セレクタ、8・・・フリップ70ツブ
、9・・・タイミングパルス発生器、lO・・・配列変
換回路、11・・・メモリ、21.24.28.30.
74.75・・・レジスタ、22,71.72・・・シ
7り、23・・・it(JM、  25 .26 .2
9 .31・・・ゲート、27・・・演算回路、73・
・・モジエロ演算回路。 代理人 弁理士 住 1)俊 宗 第5図 第6図
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a block diagram showing an example of the configuration of the array conversion circuit 10 of the above embodiment, and FIG. 3 is a block diagram for explaining the operation of the above embodiment. A time chart showing the signals and contents of each part, l! Figure 4 is a block diagram showing an example of a parallel code decoding circuit that performs code decoding at both speeds, wJs diagram is a diagram showing an example of a run-length code, and Figure 6 is a code of the parallel code decoding circuit shown in Figure 4. Figure 7 is a diagram to explain the decoding operation! FIG. 1 is a diagram illustrating the storage contents of a ROM 23 of the parallel code decoding circuit shown in FIGS. In the figure, 1...memory, 2...code decoding circuit,
3.4... Counter, 5... Inverter, 6...
Gate, 7... Selector, 8... Flip 70 tube, 9... Timing pulse generator, lO... Array conversion circuit, 11... Memory, 21.24.28.30.
74.75... register, 22, 71.72... register, 23... it (JM, 25.26.2
9. 31... Gate, 27... Arithmetic circuit, 73.
...Moziero calculation circuit. Agent Patent Attorney Sumi 1) Toshi Sou Figure 5 Figure 6

Claims (1)

【特許請求の範囲】[Claims] ランレングス符号化されたデータ列を解読して個々のラ
ン長を表わす2道データtI[次出力する符号解読回路
を備えて、該符号解読回路の出力値の示すビット数の白
又は黒信号を復号して逐次画面メモリに蓄積させるラン
レングス復号化装置iにおいて、前記符号解読回路出力
値の曽(2以上の整数)未満の端数がセットされる下位
カウンタ又はレジスタと、上位値がセットされクロック
パルスによって減算される上位カウンタと、前記上位カ
ウンタの出力するキャリ信号によってタロツクごとに固
定@s又は前記下位カウンタの出力信号を択一的に選択
出力するセレクタと、−ラン長ごとに反転する7リツプ
7aツブまたはパターン発生器と、前記フリップフロッ
プまたはパターン発生器の出力する復号データと前記セ
レクタの出力する有効データ数とを入力し有効な復号デ
ータを順に配列してnピット以上の並列データとして出
力する配列変換回路とを備えたことを特徴とするランレ
ングス復号化装置。
Two-way data tI that decodes a run-length encoded data string to represent each run length. In a run-length decoding device i that decodes and sequentially stores it in a screen memory, a lower counter or register is set with a fraction less than zero (an integer of 2 or more) of the output value of the code decoding circuit, and a clock is set with an upper value. an upper counter that is subtracted by a pulse, a selector that selectively outputs a fixed @s for each tarok or an output signal of the lower counter according to a carry signal output from the upper counter, and 7 that is inverted for each run length. The decoded data output from the flip-flop or pattern generator and the number of valid data output from the selector are input to a lip 7a or a pattern generator, and the valid decoded data are arranged in order as parallel data of n pits or more. A run-length decoding device comprising: an array conversion circuit that outputs an array.
JP340382A 1982-01-14 1982-01-14 Run length decoder Granted JPS58121866A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP340382A JPS58121866A (en) 1982-01-14 1982-01-14 Run length decoder
US06/456,034 US4499498A (en) 1982-01-14 1983-01-06 Run length decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP340382A JPS58121866A (en) 1982-01-14 1982-01-14 Run length decoder

Publications (2)

Publication Number Publication Date
JPS58121866A true JPS58121866A (en) 1983-07-20
JPH0145793B2 JPH0145793B2 (en) 1989-10-04

Family

ID=11556407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP340382A Granted JPS58121866A (en) 1982-01-14 1982-01-14 Run length decoder

Country Status (1)

Country Link
JP (1) JPS58121866A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58170280A (en) * 1982-03-31 1983-10-06 Fujitsu Ltd Decoding system of mh code
JPS61252766A (en) * 1985-04-30 1986-11-10 Usac Electronics Ind Co Ltd Data compressing and expanding system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55136753A (en) * 1979-04-11 1980-10-24 Fujitsu Ltd Compressed data recovery system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55136753A (en) * 1979-04-11 1980-10-24 Fujitsu Ltd Compressed data recovery system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58170280A (en) * 1982-03-31 1983-10-06 Fujitsu Ltd Decoding system of mh code
JPH0255987B2 (en) * 1982-03-31 1990-11-28 Fujitsu Ltd
JPS61252766A (en) * 1985-04-30 1986-11-10 Usac Electronics Ind Co Ltd Data compressing and expanding system

Also Published As

Publication number Publication date
JPH0145793B2 (en) 1989-10-04

Similar Documents

Publication Publication Date Title
CA1038499A (en) Apparatus for data compression encoding and decoding
US4707729A (en) System for the line-wise compression of binary data of a picture field in a compression device, decompression device for use in such a system, and display device including such a decompression device
JPS6248437B2 (en)
US5706001A (en) Run-length decoding apparatus for use in a video signal decoding system
JPS5816667B2 (en) Interline encoding method for facsimile signals
JPH0969951A (en) Encoding method and decoding method
US3935379A (en) Method of and system for adaptive run length encoding of image representing digital information
JPS5937774A (en) Method and device for encoding picture signal
JPH0326947B2 (en)
JPH08317227A (en) Decoding device
JPS58121866A (en) Run length decoder
GB2084366A (en) Decoding Apparatus for a Variable Length Code
JPS60502082A (en) Pixel generator for facsimile receiver
EP0501988B1 (en) Storage of digital image composition control signal
KR100884849B1 (en) System for processing graphic patterns
JPS59218072A (en) Picture processing device
JP2713298B2 (en) Color image signal decoding device
CA2058363C (en) Method for decoding compressed images
JP2942282B2 (en) Digital image processing equipment
JPS58121867A (en) Run length decoder
JPS60194671A (en) Run length encoding device
JPS5928763A (en) Detecting circuit of information on picture information encoding and decoding
JPH053185B2 (en)
JP2798025B2 (en) Video coding method and apparatus
JPS6329472B2 (en)