JPH0145793B2 - - Google Patents

Info

Publication number
JPH0145793B2
JPH0145793B2 JP57003403A JP340382A JPH0145793B2 JP H0145793 B2 JPH0145793 B2 JP H0145793B2 JP 57003403 A JP57003403 A JP 57003403A JP 340382 A JP340382 A JP 340382A JP H0145793 B2 JPH0145793 B2 JP H0145793B2
Authority
JP
Japan
Prior art keywords
output
data
input
run
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP57003403A
Other languages
English (en)
Other versions
JPS58121866A (ja
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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP340382A priority Critical patent/JPS58121866A/ja
Priority to US06/456,034 priority patent/US4499498A/en
Publication of JPS58121866A publication Critical patent/JPS58121866A/ja
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)

Description

【発明の詳細な説明】 本発明はランレングス符号化されたデータ列か
ら元のデータを復号するランレングス復号化装置
に関する。
ランレングス符号化は、フアクシミリ信号のデ
ータ圧縮をはじめ、種々のデータ圧縮に用いられ
ている。例えばフアクシミリの国際標準方式とし
て採用されているモデフアイド−ハフマン符号化
(MH符号)はその代表的なものである。
通常のフアクシミリでは、A4版の原稿を伝送
するのに30秒程度の時間がかかるため、復号にも
同程度の時間がかかつても問題はなく、復号化装
置は特に高速である必要はないが、ランレングス
符号化によつて圧縮したデータをメモリに記憶
し、これを必要に応じて復号化してテレビデイス
プレイに表示するような使い方をする場合には、
復号化に要する時間は短かいことが要請される。
次に、MH符号化されたA4原稿の圧縮データ
を0.1〜0.2秒で復号化することを目標として具体
例を考えて見る。1走査線の画素数は1728で、1
画面の走査線数は約2300であるから、総画素数は
約4メガビツトである。データ圧縮率が10である
場合は、圧縮データ数は0.4メガビツトとなる。
復号化のプロセスは、圧縮データをメモリから読
み出し解読して、個々の白又は黒のラン長を表わ
すデータに分離する第1段階と、ラン長を表わす
データから各画素の白黒に対応する復号データを
発生させる第2段階とから成る。動作クロツクの
周波数をfメガヘルツとし、1クロツクで1デー
タずつ解読するとすれば、第1段階に要する時間
T1は0.4/f秒である。そして、1クロツクで1
画素の復号データを発生させれば第2段階に要す
る時間T2は4/f秒を要する。例えばクロツク
周波数fが10メガヘルツの場合T1=0.04秒、T2
=0.4秒となるから前記目標には到達しない。目
標値0.1秒に到達するためには、クロツク周波数
を40メガヘルツにする必要があり、特殊な超高速
の回路素子が必要となるため、装置が高価にな
る。
本発明の目的は、超高速の回転素子を用いない
で、高速の復号化を可能とするランレングス復号
化装置を提供することにある。
本発明の復号化装置は、ランレングス符号化さ
れたデータ列を解読して個々のラン長を表す2進
データを順次出力する符号解読回路と、該符号解
読回路の出力に送出されるラン長値に対応するビ
ツト数の白又は黒信号を復号して逐次画面メモリ
に蓄積させる回路手段とを備えたランレングス復
号化装置において、 前記回路手段は、前記ラン長に示す並列のラン
長データとこのラン長の最大値に対応するビツト
数であつて白又は黒を表す同一内容の並列の復号
データとを一括して並列的に発生する手段と、前
記並列のラン長データおよび並列の復号データを
入力し前記ラン長データに対応する長さの復号デ
ータを有効な復号データとして並列的に配列して
前記画面メモリに対して書込パルスとともに出力
する配列変換回路とを含むことを特徴とする。
次に、本発明について、図面を参照して詳細に
説明する。
第1図は、本発明の一実施例を示すブロツク図
である。すなわち、メモリ1内に格納されている
ランレングス符号化されたデータ列(以下圧縮デ
ータと呼ぶ)は、符号解読回路2から供給される
読み出しパルス101によつて読み出される。メ
モリ1の出力信号102は、符号解読回路2で解
読され、個々のラン長が2進数で出力される。符
号解読回路2は、従来用いられている1ビツトず
つシリアルに符号解読するタイプの回路を用いて
も、圧縮率が高い場合は、全体の復号化時間に与
える影響は少ない。従つて、本実施例では公知の
シリアル符号解読回路を使用している(現在ビジ
ネスフアクシミリのMH符号復号回路で使用され
ているものであり説明は省略する)。
符号解読回路2の出力信号102のうち、下位
ビツト出力110,111をカウンタ3に、上位
ビツト出力112,113をカウンタ4に供給す
る。カウンタ3および4は、符号解読回路2から
与えられるロードパルス114によつて入力値を
一時格納する。今、簡単のために、ラン長の最大
を15とし、符号解読回路2の出力信号は4ビツト
とする。そして、後述するメモリ11に同時に書
込む並列ビツト数nを4とすると、上記出力信号
のうち下位2ビツト出力110,111をカウン
タ3に、残りの上位2ビツト出力112,113
をカウンタ4に格納することになる。なお、ラン
長Nを復号したNビツト連続の白又は黒の復号デ
ータをn(2以上の整数)ビツトの並列データを
k(整数)回と残りq(n未満の端数)ビツトの並
列データに分けて発生させる場合には、上記下位
カウンタ3は上位端数qを格納し、上位カウンタ
4には上記kを格納することになる。例えば、N
=11、n=4とすればk=2、q=3であるから
カウンタ4は“2”をカウンタ3は“3”を格納
する。すなわち、符号解読回路2の出力は2進表
示で“1011”であるから、下位2ビツト“11”
(2進表示)がカウンタ3に、上位2ビツト“10”
(2進表示)がカウンタ4に格納される。なお、
カウンタ3,4は、同期式のものであつて、ロー
ドパルスが印加されたとき次のクロツクパルスの
立上りでデータがカウンタにロードされる。例え
ば日本電気製集積回路μpB74163、μpB74669(商
品名)等を使用することができる。
カウンタ4は、カウンタ内容が“0”のときキ
ヤリ端子CRからキヤリ信号115に論理“1”
を出力し、カウント内容が“0”以外のときはキ
ヤリ端子CRの論理は“0”である。また、カウ
ントイネーブル端子EPに“1”が与えられたと
きクロツク端子CKに入力するクロツクパルス1
19によつてカウント内容を“1”ずつ減算する
カウンタである。上記減算によりカウント値が
“0”になると、キヤリ信号115を“1”にし、
インバータ5を介してカウントイネーブル端子
EPを“0”にすることにより減算を停止する。
従つて、例えばカウンタ4に“2”がロードされ
ると2クロツク期間だけカウントイネーブル信号
が“1”になる(一般的に云えばkクロツク期間
だけ“1”になる)。一方カウンタ3は、カウン
トイネーブル端子EPが接地されているため、ク
ロツクパルスによつて減カウントはしない。すな
わち、キヤリ信号115が“1”になりNAND
回路6を介してクリヤ端子CLに“0”が入力さ
れてクリヤされるまでは前記格納値を保持してい
る。カウンタ3はレジスタであつてもよい。
上記カウンタ3の出力(2ビツト)および前記
インバータ5の出力をセレクタ7に入力させ、セ
レクタ7は、インバータ5の出力が“1”のとき
は固定値“100”(10進法では“4”)を出力し、
インバータ5の出力が“0”のときはカウンタ3
の出力値を選択出力する。セレクタ7の出力は復
号データの有効数を示している。フリツプフロツ
プ8は、符号解読回路2の出力するロードパルス
でトリガされて反転するフリツプフロツプであ
り、ロードパルスごとに(白黒に対応する)“1”
又は“0”を交互に出力する。フリツプフロツプ
8の出力線は4本あるが、同時に“1”または
“0”になる。すなわち、白、黒画素に対応する
復号データは4ビツト(無効データを含むことも
ある)ずつ同時に出力される。
配例変換回路10は、フリツプフロツプ8の4
ビツト出力(一般にはnビツト)データ140
を、セレクタ7の出力信号141の示す有効デー
タ数mに従つて発生順に配列し4ビツトずつ(一
般にはlビツトずつ)にまとめて並列に出力する
(後に詳述する)。画面メモリ11は、配列変換回
路10の出力する4ビツト並列の復号データ15
0を、書込みパルス109によつて書き込む。
タイミングパルス発生回路9は、クロツクパル
ス119およびラインスタートパルス120を出
力し、クロツクパルス119によつて各部動作の
タイミングがとられ、ラインスタートパルス12
0によつてフリツプフロツプ8および配列変換回
路10をリセツトさせ、かつ符号解読回路2の動
作を開始させる。また、符号解読回路2からの1
ライン終了信号121を受けて、ラインスタート
パルス120を出力する。なお、カウンタ4のキ
ヤリー信号115は符号解読回路2にフイードバ
ツクされていて、符号解読回路2は、キヤリ信号
115が“1”になつた時点で、復号データの発
生が終了したことを知り、次の符号解読を開始す
る。そして、1ラインの終了を示すEOL信号を
解読すると1ライン終了信号121をタイミング
パルス発生器9に送出する。
配列変換回路10は、例えば第2図に示すよう
に構成されている。すなわち、前記フリツプフロ
ツプ8の出力する4ビツトの復号データ(無効デ
ータを含む)140およびセレクタ7の出力する
有効データ数mを示す信号141(3ビツト)を
第1のシフタ71およびモジユロ演算回路73に
入力させる。シフタ71は、入力端子I1〜I7のう
ち連続する3端子をシフトさせて出力端子O1
O3に接続する回路である。シフト数は入力信号
141によつて決定される。シフト数が“0”の
ときは入力端子I1〜I3を出力端子O1〜O3に接続
し、シフト数が“1”のときは入力端子I2〜I4
を、シフト数が“2”のときはI3〜I5を、シフト
数が“3”のときはI4〜I6を、シフト数が“4”
のときはI5〜I7をそれぞれ出力端子O1〜O3に接続
する。第1のシフタ71の出力端子O1〜O3はレ
ジスタ74に入力させ、レジスタ74の出力は第
2のシフタ72の入力端子I7〜I5に逆順で接続さ
れる。また、レジスタ74の出力は第1のシフタ
71の入力端子I1〜I3に接続し、前記復号データ
140は第1のシフタ71の入力端子I4〜I7に入
力させる。復号データ140はまたシフタ72の
入力端子I4〜I1に逆順で入力させている。シフタ
71,72は、入力線と出力線をつなぎかえるマ
ルチプレクサの一種であつて、例えばアドバンス
ト・マイクロデバイス(Advanced Micro
Device)社製のAm25S10(商品名)の様な回路素
子を使用することができる。
有効データ数mを示す信号141は、シフタ7
1のシフト制御に使用される他、モジユロ演算回
路73に入力させる。モジユロ演算回路73は、
レジスタ75の出力信号175a,175bと前
記有効データ数mとを加算し、これをnで割つた
余り数すなわちn未満の数値を信号173b,1
73cによりレジスタ75に格納させ、加算結果
がn以上のときはキヤリ信号173aを出力す
る。n=4の場合は、通常の2進加算器を用いる
ことができる。また、レジスタ75は、復号デー
タが4ビツトずつ出力されたのちの余り符号の数
を示している。キヤリ信号173aによりゲート
76が開かれると、書き込みパルス109が出力
されてメモリ11(第1図)に送られる。ゲート
76のもう一方の入力にはクロツクパルス119
を入力させてある。また、レジスタ75の出力値
は、第2のシフタ72に送られ、第2のシフタ7
2のシフト数を指示する信号とされる。
次に、本実施例の動作について説明する。今、
1ラインの始めから3画素を白とし、次の11画素
を黒とし、その次の10画素を白とする場合を例に
とつて説明する。第1図のタイミングパルス発生
回路9から第3図aに示すようなラインスタート
パルス120が出力されると、符号解読回路2が
起動され、フリツプフロツプ8および配列変換回
路10が初期状態にセツトされる。符号解読回路
2は最初のランレングス符号を解読して“0011”
を出力し、かつ第3図dに示すようなロードパル
ス114を出力する。カウンタ3には“11”(2
進数)がロードされ、カウンタ4には“00”がロ
ードされる。カウンタ3とカウンタ4の値の合計
(カウンタ4の内容は4倍した値)は第3図gに
10進表示で示す。今、カウンタ4の内容は“0”
であるから、キヤリ信号115は第3図eに示す
ように“1”のままであり、符号解読回路2は直
ちに次のランレングス符号の解読を始める。一
方、キヤリ信号105の“1”によりインバータ
5の出力は“0”であり、セレクタ7はカウンタ
3の内容“11”(2進表示)を選択して配列変換
回路10に送る。従つて、信号141の示す有効
データ数mは、第3図hに示すように“3”(10
進)となる。
今、フリツプフロツプ8の出力は“0、0、
0、0”であるが、このうち3ビツトのみが復号
データとして有効であり、最後の1ビツトは後述
するように、無効データとされる。フリツプフロ
ツプ140の出力データは(第2図の)シフタ7
1の入力端子I4〜I7に入力している。シフタ71
の入力端子I4〜I7は第3図lに示すように“000
×”である。ここで×は実際には“0”である
が、後で無効となるデータであるから他のデータ
と区別して×と表現しておくことにする。そし
て、入力端子I4〜I6がシフト数3により出力端子
O1〜O3に接続され、レジスタ74に“000”が格
納される。
一方、モジユロ演算回路73(第2図)は、信
号141の示す有効データ数“3”と、レジスス
タ75の出力値“0”とを加算した結果“3”を
レジスタ75に格納する(第3図i参照)。キヤ
リ信号173aは“0”であるから書込みパルス
109は出力されない。そして、レジタ75には
余り数“3”が格納されている。余つた3ビツト
の復号データは、第1のシフタ71の入力端子
I4,I5,I6から出力端子O1,O2,O3に出力されて
レジスタ74にとり込まれ保存される。レジスタ
74の出力は、シフタ71の入力端子I1〜I3にフ
イードバツクされているのでシフト数が0になつ
ても保持される。
次に、カウンタ3が次のクロツクでクリヤされ
て“0”となり(第3図h)、カウンタ3と4の
合計値も“0”となる(第3図g)。一方、符号
解読回路2が2番目のランレングス符号を解読し
て“1011”(10進表示では11)およびロードパル
ス114を出すと、カウンタ3に“3”(10進表
示)がカウンタ4に“2”(10進表示)が格納さ
れる。すなわち、3+2×4=11ビツトの連続し
た黒の復号データが要求される。カウンタ3とカ
ウンタ4の内容の合計値は第3図gに示すように
10進表示で11となる。カウンタ4に“2”が格納
されたことにより、(第1図の)キヤリ信号11
5が“0”となり(第3図e)、インバータ5の
出力によりセレクタ7の出力信号141は固定値
“100”すなわち10進表示では4となる(第3図h
参照)。
今、フリツプフロツプ8は、ロードパルス11
4によつて反転し、“1111”を出力しているから、
第2図の第1のシフタ71の入力端子I4〜I7には
第3図lに示すように“1111”が入力している。
また、入力端子I1〜I3にはレジスタ74の出力か
ら“000”が入力している(第3図l参照)。一
方、第2のシフタ72のI7〜I5は“000”であり、
I4〜I1は“1111”である。第3図lは、このとき
のシフタ72の入力端子I7〜I1の論理状態をも示
している。
一方、モジユロ演算回路73は、入力信号14
1の値“100”(2進表示)とレジスタ75の出力
値“11”(2進表示)とをモジユロ加算し、“11”
(10進表示では3)をレジスタ75にセツト(第
3図i参照)すると共にキヤリ信号173aを出
力し、ゲート76を開いて書込みパルス109が
メモリ11に送られる。このとき、レジスタ75
の出力値は3であるから、第2のシフタ72は、
入力端子I7〜I4を出力端子O4〜O1に接続している
から、出力端子O4〜O1からは、第3図lに太線
で囲んだ部分“0001”が出力される。すなわち前
の余り3ビツトと今回の上位1ビツトの合計4ビ
ツトが出力される。メモリ11は書き込みパルス
109によつて上記シフタ72の出力信号150
を4ビツト並列に書込む。今回の残り3ビツト
は、第1のシフタ71の入力端子I5〜I7から、入
力信号141で示されるシフト数4により、出力
端子O1〜O3に出力されてレジスタ74に保存さ
れる。
次のクロツクで第1のシフタ71の入力端子I4
〜I7に“1111”が入力し、I1〜I3には上記レジス
タ74の出力“111”が入力するから、第1のシ
フタ71の入力端子I1〜I7は第3図lに示すよう
に7ビツト全部“1”となる。モジユロ演算回路
73は同様に入力信号141の示す値4とレジス
タ75の出力3とを加えて、余り数3をレジスタ
75にセツトし、キヤリ信号173aを出力し、
書込みパルス109が出力される。このときレジ
スタ75の出力は3であるから、シフタ72は入
力端子I7〜I4を出力端子O4〜O1に接続し、出力端
子O4〜O1からは4ビツト並列に“1”が出力さ
れる。メモリ11はこれにより4ビツト並列に
“1”を書き込む。第1シフタ71の入力端子I5
〜I7に入力していた余り3ビツトの“111”は入
力信号141の示す値4によつてO1〜O3に接続
され、レジスタ74に保存される。
一方、この間において、カウンタ4はクロツク
パルスによつて減カウントしていて、クロツクパ
ルスを2個カウントしたとき“0”となり、第3
図eに示すようにキヤリ信号115を出力し、イ
ンバータ5の出力を“0”とし、減カウントを停
止し、セレクタ7はカウンタ3の出力値“3”
(10進表示)を選択出力する。すなわち、次のク
ロツクにおける信号141の示す有効データ数m
は“3”であり、第2図の第1のシフタ71の端
子I4〜I7の論理は、“111×”となる。上記×は実
際には“1”であるが後で無効となるため×と表
現しておく。また、端子I1〜I3には、レジスタ7
4の出力値“111”が入力しているから、このと
き第1のシフタ71の端子I1〜I7の論理は、第3
図lに示すように、“111111×”となる。従つて、
シフタ72の端子I7〜I1の論理も同様である。一
方、モジユロ演算回路73は、信号141の示す
有効データ数“3”とレジスタ75の出力値
“3”とを加えることによりキヤリ信号173a
を出力し、書込みパルス109を出力する。この
ときレジスタ75の出力値“3”により、第2の
シフタ72は端子I7〜I4を端子O4〜O1に接続して
いるから、出力信号150は4ビツト並列の
“1111”となる。そして、モジユロ演算回路73
のモジユロ加算値“2”がレジスタ75にセツト
される(第3図i参照)。一方、入力信号141
の値“3”により、第1のシフタ71は入力端子
I4〜I6を出力端子O1〜O3に接続し、レジスタ74
に“111”をセツトする。
符号解読回路2が次のランレングス符号を解読
して、ロードパルス114により、今度は、カウ
ンタ3に“2”(10進表示)が、カウンタ4に
“2”がセツトされる。すなわち合計値は2×4
+2=10である。セレクタ7は、2クロツクパル
ス期間固定値“4”を出力し、3クロツク目には
“2”を出力する(第3図h参照)。今、フリツプ
フロツプ8は、再びロードパルス114で反転し
て、“0000”を出力している。従つて、第2図の
第1のシフタ71の入力端子I4〜I7には“0000”
が入力し、入力端子I1〜I3には“111”が入力し
ている。すなわち、端子I2〜I7の論理は第3図l
に示すように“110000”となつている。従つて、
シフタ72の端子I6〜I1も同じ論理となる。モジ
ユロ演算回路73は入力信号141の示す有効デ
ータ数“4”とレジスタ75の出力値“2”とを
加算してキヤリ信号173aを出力し、ゲート7
6から書き込みパルス109がメモリ11に送ら
れる。このとき第2のシフタ72はレジスタ75
の出力値“2”によつて入力端子I6〜I3を出力端
子O4〜O1に接続しているから、第3図lに太線
で書込まれた信号“1100”を4ビツト並列に出力
し、画面メモリ11に書き込ませる。一方、第1
のシフタ71は、入力信号141の値“4”によ
つて、入力端子I5〜I7を出力端子O1〜O3に接続し
ていて、レジスタ74には、“000”が格納され
る。
次のクロツクで、第1のシフタ71の端子I4
I7に“0000”が入力し、端子I1〜I3にはレジスタ
74から“000”が入力している。従つて第2の
シフタ72の端子I6〜I1は“0000”であり、レジ
スタ75の出力値“2”によつて出力端子O4
O1から4ビツト並列に出力される。モジユロ演
算回路73は入力信号141の値“4”とレジス
タ75の値“2”とを加えてキヤリ信号173a
を出力し、ゲート76から書込みパルス109が
出力されて、画面メモリ11は上記シフタ72の
出力信号150を4ビツト並列に書き込む。すな
わち、“0000”が書き込まれる。
ここでカウンタ4の内容が“0”となり、キヤ
リ115が“1”となつて(第3図e)、インバ
ータ5の出力が“0”となり(第3図f)、セレ
クタ7はカウンタ3の出力を選択出力する。すな
わち、信号141の値は“2”となる(第3図
h)。従つて、第2図のモジユロ演算回路73は、
入力信号141の値“2”とレジスタ75の出力
値“2”とを加算し、キヤリ信号173aを出力
し、ゲート76から書込みパルス109が出力さ
れる。このとき、レジスタ75の出力値は“2”
であり、シフタ72は入力端子I6〜I3を出力端子
O4〜O1に接続している。第2のシフタ72の入
力端子I6〜I5にはレジスタ74から“00”が入力
しており、入力端子I4〜I3には、フリツプフロツ
プ8の出力信号14により“0”が入力している
から、シフタ72の出力信号150は4ビツト並
列の“0000”であり、該信号が画面メモリ11に
書き込まれる。モジユロ演算回路73の演算結果
は、2+2=0であつて、レジスタ75には
“0”がセツトされる(第3図i)。
以上の動作により、メモリ11には、3ビツト
の“0”と、11ビツトの“1”と、10ビツトの
“0”が書き込まれたわけである。そして、上述
の書き込みは、信号141の出す有効データ数m
の復号データが並びかえられて、4ビツトたまる
ごとに画面メモリ11に書き込まれ、残つた復号
データはレジスタ74に保管しておき、次の復号
データと合わせて4ビツトずつ並列に書き込まれ
る。そして、1ラインの復号が終了し、符号解読
回路2が1ライン終了符号EOTを解読すると、
第3図bに示すような1ライン終了信号121を
出力し、タイミングパルス発生回路9は再びスタ
ートパルス120を出力して次のラインの解読お
よび復号が開始される。
上述の実施例はn=4として説明したが、nは
任意の整数であつても同様な構成で実施出来る。
本発明によれば、復号化の第2段階において、N
ビツトの復号データの発生がk+1回、すなわち
k+1クロツク時間で行なわれる。平均ラン長を
50、n=8とすれば、kは平均で6となるから、
7クロツク時間で復号できる。すなわち、1クロ
ツク時間に約7ビツトの割合で復号データを発生
することができる。従つて、クロツク周波数を10
メガヘルツとすれば、前記第2段階の時間T2
0.06秒となり、第1段階の時間T1と合計して0.1
秒で1画面分を復号することが可能である。
なお、前述の第2図に示した配列変換回路は、
4ビツト(無効データを含む)の並列入力データ
140を無効データを除いた4ビツトの並列出力
データ150に配列変換する例について説明した
が、入力データnビツト(無効データを含む)か
ら無効データを除いたlビツトの並列出力データ
に配列変換して出力させることも可能である。こ
の場合は第1のシフタ71は、入力端子数(n+
l−1)ビツト、最大シフト数n、出力端子数
(l−1)ビツトのシフタとし、第2のシフタ7
2は、入力端子数2l−1ビツト、最大シフト数
(l−1)、出力端子数lビツトのシフタを使用す
る。そして、余りビツト格納用のレジスタ74
は、(l−1)ビツトのレジスタとし、余りビツ
ト計数用のアキユームレータとモジユロlの演算
回路を加えればよい。ただし、余りビツトが累積
してオーバーフローしないためには、l≧nであ
ることが望ましい。例えば、l=8、n=8、標
本化速度を10メガヘルツとすれば、最大80メガビ
ツト/秒の復号化が実現できるから、高速処理に
極めて有利となる。
また、前述の実施例では、配列変換回路10へ
入力させる復号データ140は、フリツプフロツ
プによつて1ランごとに交互に反転した“0”又
は“1”の4ビツト並列データとしたが、ラン長
Nの復号データが(N−1)個の“0”と1個の
“1”で構成される場合(変換点が“1”となる)
は、フリツプフロツプの代りにパターン発生器を
用いて、セレクタ7の出力141を受けて対応す
るパターンを発生するように構成すればよい。例
えば、信号141が“4”のときは“0001”を、
信号141が“3”のときは“001”を、信号1
41が“2”のときは“01”を、信号141が
“1”のときは“1”を発生させるパターン発生
器である。
前述の実施例は、ランレングス符号の圧縮率が
高い場合には既述したように充分短い復号時間と
することが可能であるが、圧縮率が低い場合は、
符号解読回路2の処理時間を短縮させる工夫が必
要となる。そのためには、符号解読回路2を以下
に説明するような並列入力構成とすればよい。
第4図は、符号解読を高速に実行可能な並列型
の符号解読回路の1例を示すブロツク図である。
この場合、メモリ1の出力信号102は、例えば
4ビツトの並列データとされる。そして、出力信
号102はレジスタ21およびシフタ22の端子
I4〜I1に入力させる。レジスタ21の出力はシフ
タ22の端子I7〜I5へ入力させ、シフタ22は後
述するレジスタ28の出力によつてシフト数が制
御される。シフタ22の出力端子O4〜O1をROM
23のアドレス端子A3〜A0に接続し、ROM23
のアドレス端子A7〜A4には、レジスタ24の出
力信号が供給される。レジスタ24の入力には、
ROM23の出力するロードパルス114によつ
て制御されるゲート25を介して、ROM23の
ラン長出力信号110〜113を入力させる。ま
た、ロードパルス114とキヤリ信号115とを
入力するゲート31の出力をレジスタ30によつ
てタイミング調整し、レジスタ30の出力によつ
てゲート26を制御する。ゲート26はロードパ
ルスが出力された次のクロツクで閉じられて、後
述する符号長データn′を強制的に零にするため、
符号解読が一時中断される。ROM23の出力す
る符号長データn′は、ゲート26を通つて演算回
路27に入力させ、演算回路27は該入力とレジ
スタ28の出力とを演算した結果をレジスタ28
に格納する。レジスタ28の出力値は、次のクロ
ツクにおけるシフタ22のシフト数の制御に使用
される。レジスタ28の出力するシフト数を
m′としたとき演算回路27は、m′−n′を演算し、
m′−n′>0のときは、出力線132にy1=m′−
n′を出力し、出力線133にy2=“0”を出力す
る。m′−n′<0のときは、y1=m′−n′+4とし、
y2=“1”とする。y2=“1”により、ゲート29
から読出しパルス101が出力される。前記
ROM23は、第7図に示すように、アドレス端
子A7〜A1の示すアドレス位置に、解読したラン
長、ロードパルス出力の要否、符号長n′、および
1ライン終了符号か否かを示す1ライン終了信号
があらかじめ記憶されている。上記符号長n′は、
圧縮データ符号の符号長のうち、解読した部分の
符号長を示している。
次に、符号解読の動作について説明する。前提
として、ラン長1〜15に対する圧縮符号の符号語
が第5図に示すように定義されているものとす
る。同図において、各符号語の符号長が右欄に示
されている。また、1ライン終了符号EOLは、
“00000001”であつて、符号長は8である。
今、ラン長3、11、10の圧縮符号がこの順にメ
モリ1に格納されているものとすると、第5図よ
り、圧縮符号は、“10”、“0000101”および
“0000100”であり、これに1ライン終了符号
“00000001”が付加される。メモリ1から上記圧
縮符号列を4ビツトずつ並列に読み出すと、最初
の読出し信号102は“1000”であり、次は
“0010”であり、その次は“1000”その次は
“0100”である。1ライン終了符号EOLは、
“0000”と“0001”とに分けて出力される。
ラインスタートパルス120がレジスタ24お
よび28に印加され、これらのレジスタの出力は
零になり、符号解読回路は解読動作を開始する。
先ずメモリ1から出力される最初の4ビツト並列
データ“1000”は、第6図bに示すように、シフ
タ22の入力端子I4〜I1に入力する。従つて、シ
フタ22の出力O4〜O1には“1000”が出力され、
ROM23のアドレス端子A3〜A0に供給される。
今、アドレス端子A7〜A4は零である。ROM23
には、第5図に示したラン長符号語に対応して、
例えば第7図に示すようなテーブルが書き込まれ
ている。従つて、ROM23の該当アドレス位置
から、ラン長“3”、符号長n′が“2”、ロードパ
ルス“0”が読み出される。ラン長“3”は出力
信号線110〜113によつてカウンタ2および
3(第1図)へ出力され、ロードパルス“0”に
よつてカウンタ2および3へ格納される。ロード
パルス“0”によつてゲート25は閉じられてい
るから、レジスタ24は“0”のままである。符
号長n′は、ゲート26を通つて演算回路27に送
られ、演算回路27は出力線132にy1=m′−
n′+4=2を出力し、出力線133にy2=1を出
力する。従つて、レジスタ28に“2”がセツト
され、かつ、ゲート29が開かれ、第3図aに示
すような読出しパルス101がメモリ1に送られ
る。
メモリ1から読み出された次の4ビツトの並列
データ“0010”は、第6図bに示すように、シフ
タ22の端子I4〜I1に入力する。このとき、レジ
スタ21は前の入力データのうちの後位3ビツト
分“000”を記憶していて、シフタ22の端子I7
〜I5へ入力させている(第6図b)。一方、レジ
スタ28の入力するシフト数m′は“2”である
から、シフタ22は端子I6〜I3を端子O4〜O1に接
続する。従つて、シフタ22の端子O4〜O1から
は第6図bに太線で囲んだ4ビツト“0000”が出
力される。ROM23のアドレス端子A7〜A4には
レジスタ24の出力“0000”が入力しているか
ら、第7図に従つて出力信号110〜113に
は、ラン長“2”が出力され、出力信号線132
には符号長“4”が出力される。しかし、圧縮符
号の解読が未だ完結していないので、ロードパル
ス114は出力されない(論理は“1”である)。
すなわち、ロードパルス114が出力されないと
きのラン長出力は、符号解読の途中であつて、こ
の時点のラン長“2”はゲート25を通つてレジ
スタ24に格納され、次のクロツクでROM23
のアドレスA7〜A4にフイードバツクされる。次
のクロツクでは、シフタ22のI4〜I1に“1000”
が入力し、レジスタ21の出力は“010”(第6図
b)であり、レジスタ28の出力は“2”である
から、出力端子O4〜O1からは、第6図bに太線
で囲んだ部分“1010”が出力し、ROM23のA3
〜A0に入力される。このときレジスタ24の出
力“2”すなわち“0010”(2進表示)がROM
23のアドレス端子A7〜A4に供給されている。
従つてROM23からは、第7図に従つて、ラン
長“11”(10進表示)、ロードパルス“0”、符号
長“3”が出力される。すなわち、出力信号11
0〜103には11(10進表示)が出力されロード
パルス114によつてカウンタ3および4に格納
させる。同様に、次のラン長10(10進)が解読さ
れ、最後にEOL符号が発見されると、1ライン
の復号が終了する。
上述の符号解読回路は、一度に最大4ビツトず
つの圧縮符号が解読されるから、動作が高速化さ
れる。なお、一度に解読するための並列入力デー
タ数は、4ビツトに限ることはなく、任意に選ぶ
ことができることは云うまでもない。さらに、符
号の解読と復号データの発生を別々の時刻に行な
わないで、同時刻に並行動作することも可能であ
り、より高速処理が可能となる。
以上のように、本発明においては、ランレング
ス復号データを、nビツトずつ(又はnより大き
いlビツトずつ)並列に発生させて、画面メモリ
に並列に書込むように構成したから、復号処理が
迅速にされるという効果がある。また、圧縮デー
タの解読をする符号解読回路に、並列符号解読回
路を採用することにより、より一層の高速化が達
成される。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、
第2図は上記実施例の配列変換回路10の構成の
一例を示すブロツク図、第3図は上記実施例の動
作を説明するための各部の信号および内容等を示
すタイムチヤート、第4図は符号解読をより高速
に行なう並列符号解読回路の一例を示すブロツク
図、第5図はランレングス符号の一例を示す図、
第6図は第4図に示した並列符号解読回路の符号
解読動作を説明するための図、第7図は第4図に
示した並列符号解読回路のROM23の記憶内容
を示す図である。 図において、1……メモリ、2……符号解読回
路、3,4……カウンタ、5……インバータ、6
……ゲート、7……セレクタ、8……フリツプフ
ロツプ、9……タイミングパルス発生器、10…
…配列変換回路、11……メモリ、21,24,
28,30,74,75……レジスタ、22,7
1,72……シフタ、23……ROM、25,2
6,29,31……ゲート、27……演算回路、
73……モジユロ演算回路。

Claims (1)

  1. 【特許請求の範囲】 1 ランレングス符号化されたデータ列を解読し
    て個々のラン長を表す2進データを順次出力する
    符号解読回路2と、該符号解読回路の出力に送出
    されるラン長値に対応するビツト数の白又は黒信
    号を復号して逐次画面メモリ11に蓄積させる回
    路手段とを備えたランレングス復号化装置におい
    て、 前記回路手段は、 前記ラン長を示すラン長データ141を所定長
    毎に分割して発生し、また、この分割された所定
    長に対応するビツト数毎に白又は黒を表す並列の
    復号データ140を一括して発生する手段3,
    4,5,6,7,8と、 前記ラン長データ141および前記復号データ
    140を入力し、その復号データから有効な復号
    データ150を得て前記画面メモリに対して書込
    パルス109とともに出力する配列変換回路10
    と を備え、 該配列変換回路10は、前記発生する手段から
    入力する前記所定長毎のラン長データに基づき、
    前記発生する手段より入力する復号データより所
    定ビツト数の有効な復号データを出力し、有効な
    復号データ数が前記所定ビツト数に達しないとき
    には、その有効な復号データを一次保管してお
    き、次に得られる有効な復号データと合わせて前
    記所定ビツト数の復号データとして配列して出力
    する手段71,74,72を含む ことを特徴とするランレングス復号化装置。
JP340382A 1982-01-14 1982-01-14 ランレングス復号化装置 Granted JPS58121866A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP340382A JPS58121866A (ja) 1982-01-14 1982-01-14 ランレングス復号化装置
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 (ja) 1982-01-14 1982-01-14 ランレングス復号化装置

Publications (2)

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

Family

ID=11556407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP340382A Granted JPS58121866A (ja) 1982-01-14 1982-01-14 ランレングス復号化装置

Country Status (1)

Country Link
JP (1) JPS58121866A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58170280A (ja) * 1982-03-31 1983-10-06 Fujitsu Ltd Mh符号解読方式
JP2787146B2 (ja) * 1985-04-30 1998-08-13 株式会社 ピ−エフユ− データ圧縮伸長装置

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

Also Published As

Publication number Publication date
JPS58121866A (ja) 1983-07-20

Similar Documents

Publication Publication Date Title
US5627917A (en) Variable length coding system having a zig-zag FIFO for selectively storing each data coefficient and zero-run count
US5706001A (en) Run-length decoding apparatus for use in a video signal decoding system
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
JPH0490268A (ja) 画像信号復号化方式
JPS62283720A (ja) 2値デ−タ圧縮伸長処理装置
JPS5937774A (ja) 画像信号の符号化方法および装置
JPH08317227A (ja) 復号化装置
JPS6221265B2 (ja)
US4499498A (en) Run length decoding apparatus
US4955061A (en) Method and apparatus for processing an image signal
JPS646469B2 (ja)
US3984833A (en) Apparatus for encoding extended run-length codes
JPH0145793B2 (ja)
JP3549756B2 (ja) ブロックインターリーブ回路
JPS6341276B2 (ja)
JPS6341271B2 (ja)
JPH0669146B2 (ja) ラン長符号化データ復号装置
JPH09284142A (ja) 可変長復号化装置
EP0467004A1 (en) A programmable device for storing digital video lines
JPS60194671A (ja) ランレングス符号化装置
KR960010493B1 (ko) 압축데이터 복원회로
SU1140148A1 (ru) Устройство дл преобразовани графической информации
JPH053185B2 (ja)
KR960012495B1 (ko) 고화질 티브이의 매크로블럭 어드레스 저장 장치
JPS58121867A (ja) ランレングス復号化装置