JPH07121068B2 - ランレングス符号化装置 - Google Patents
ランレングス符号化装置Info
- Publication number
- JPH07121068B2 JPH07121068B2 JP30575586A JP30575586A JPH07121068B2 JP H07121068 B2 JPH07121068 B2 JP H07121068B2 JP 30575586 A JP30575586 A JP 30575586A JP 30575586 A JP30575586 A JP 30575586A JP H07121068 B2 JPH07121068 B2 JP H07121068B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- memory device
- shift register
- 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 - Lifetime
Links
Description
【発明の詳細な説明】 産業上の利用分野 本発明は画像のデータ圧縮のために画像のランレングス
を符号化するランレングス符号化装置に関する。
を符号化するランレングス符号化装置に関する。
従来の技術 画像データが持つ冗長度を抑圧し画像の伝送および蓄積
をより効率的に行うために,画像のランレングスを符号
化し画像データを圧縮する方式がある。これは画像のラ
イン方向に連続する白画素または黒画素(白ランまたは
黒ラン)の長さ(ランレングス)に対して,その発生頻
度に応じてそれぞれ適当な符号語を与えるものである。
すなわち発生確率の高いランレングスには短い符号語を
割り当て,発生確率の低いランレングスには長い符号語
を割り当てる。このようにランレングスを符号化する方
式の一つに符号語長がランレングスの対数の1次関数と
なる符号がある(吹抜 著「FAX.OAのための画像の信号
処理」日刊工業新聞社 p68)。このような符号には,
例えばWYLE符号,1−2符号等が知られている(遠藤,山
崎「会話型画像通信に適したファクシミリ信号の順次再
生符号化方式」電子通信学会論文誌′84/12 Vol.J67−B
No.12 pp.1462−1469)。
をより効率的に行うために,画像のランレングスを符号
化し画像データを圧縮する方式がある。これは画像のラ
イン方向に連続する白画素または黒画素(白ランまたは
黒ラン)の長さ(ランレングス)に対して,その発生頻
度に応じてそれぞれ適当な符号語を与えるものである。
すなわち発生確率の高いランレングスには短い符号語を
割り当て,発生確率の低いランレングスには長い符号語
を割り当てる。このようにランレングスを符号化する方
式の一つに符号語長がランレングスの対数の1次関数と
なる符号がある(吹抜 著「FAX.OAのための画像の信号
処理」日刊工業新聞社 p68)。このような符号には,
例えばWYLE符号,1−2符号等が知られている(遠藤,山
崎「会話型画像通信に適したファクシミリ信号の順次再
生符号化方式」電子通信学会論文誌′84/12 Vol.J67−B
No.12 pp.1462−1469)。
WYLE符号,1−2符号をそれぞれ第7図,第8図に示す。
これらの符号はそれぞれアドレス符号とリメインダ符号
とから成る。アドレス符号はランレングス(2進数)の
ビット数を基に符号語の符号長およびその符号長で表し
得るランレングスの最小値を表す。リメイング符号は前
記ランレングスの最小値と実際のランレングスとの差を
表す。例えばランレングスの2(2進数の10)をWYLE符
号で符号化する場合,ランレングスのビット数が2であ
ることからアドレス符号は1でありこの時前記最小ラン
レングスは1であるのでリメインダ符号は01(2進数)
となり符号語は101で与えられる。なお本明細書におい
てはアドレス符号のLSB以外の部分を符号語のヘッダ部
と定義する。第7図,第8図の符号では符号語のヘッダ
部は0によって構成され,またアドレス符号が1の時は
ヘッダ部は無いことになる。
これらの符号はそれぞれアドレス符号とリメインダ符号
とから成る。アドレス符号はランレングス(2進数)の
ビット数を基に符号語の符号長およびその符号長で表し
得るランレングスの最小値を表す。リメイング符号は前
記ランレングスの最小値と実際のランレングスとの差を
表す。例えばランレングスの2(2進数の10)をWYLE符
号で符号化する場合,ランレングスのビット数が2であ
ることからアドレス符号は1でありこの時前記最小ラン
レングスは1であるのでリメインダ符号は01(2進数)
となり符号語は101で与えられる。なお本明細書におい
てはアドレス符号のLSB以外の部分を符号語のヘッダ部
と定義する。第7図,第8図の符号では符号語のヘッダ
部は0によって構成され,またアドレス符号が1の時は
ヘッダ部は無いことになる。
次に従来の符号化の方法をWYLE符号を例にとって説明す
る。WYLE符号の場合ランレングスから1を引いた値(2
進数)とそのビット数を求め,このビット数から2を引
いた個数の0をヘッダとし,これを前記ランレングスか
ら1を引いた値(2進数)に付加したものがランレング
スに対応した符号語となる。ただしランレングスが1か
ら4までは例外で,ランレングスから1を引いた値(2
進数)を2ビットで表現したものに1をヘッダとしては
付加したものとなる。符号化には以上の性質を利用す
る。
る。WYLE符号の場合ランレングスから1を引いた値(2
進数)とそのビット数を求め,このビット数から2を引
いた個数の0をヘッダとし,これを前記ランレングスか
ら1を引いた値(2進数)に付加したものがランレング
スに対応した符号語となる。ただしランレングスが1か
ら4までは例外で,ランレングスから1を引いた値(2
進数)を2ビットで表現したものに1をヘッダとしては
付加したものとなる。符号化には以上の性質を利用す
る。
第9図はWYLE符号の符号化装置の従来例の一つである。
ランレングスはカウンタ101により計数される。ただし
ランレングスから1を引いた値を得るためカウンタ101
の初期値は−1をセットする。画像の白黒変化により1
つのランを検出するとカウンタ101の値はシフトレジス
タ102にロードされる。制御部108はこの時のロードデー
タのLSB(最下位ビット)を反転した値をシフトレジス
タ102の入力として設定する。さらにシフトレジスタ102
の内容は左へシフトされコード作成部106のシフトレジ
スタ107へ送られる。ゲート103によりシフトレジスタ10
2の内容がすべて等しくなるのを検出した時点でシフト
レジスタ102の内容がシフトレジスタ107に移されたこと
になる。
ランレングスはカウンタ101により計数される。ただし
ランレングスから1を引いた値を得るためカウンタ101
の初期値は−1をセットする。画像の白黒変化により1
つのランを検出するとカウンタ101の値はシフトレジス
タ102にロードされる。制御部108はこの時のロードデー
タのLSB(最下位ビット)を反転した値をシフトレジス
タ102の入力として設定する。さらにシフトレジスタ102
の内容は左へシフトされコード作成部106のシフトレジ
スタ107へ送られる。ゲート103によりシフトレジスタ10
2の内容がすべて等しくなるのを検出した時点でシフト
レジスタ102の内容がシフトレジスタ107に移されたこと
になる。
この間制御部108のカウンタ111はシフトレジスタ102か
ら最初に1が出力された以降のシフト数を計数すること
によりランレングスから1を引いた値(2進数)のビッ
ト数を求める。またWYLE符号の場合このビット数から2
を引いた値がヘッダ部の0の個数である。次の制御部10
8は前記ランレングスから1を引いた値(2進数)のビ
ット数をカウンタ104にセットし,前記ヘッダ部の0の
個数をカウンタ105にセットする。コード作成部106はシ
フトクロック109に同期して先ずカウンタ105をカウント
ダウンして0となるまでの間0を出力し,次にシフトレ
ジスタ107の内容を左にシフトして最初に1が現れる時
点からその出力をコードデータ110として出力するとと
もにカウンタ104をカウントダウンする。カウンタ104の
値が0になった時点でランレングスに応じた符号語が送
出されたことになる。またランレングスが1から4まで
の例外処理ではカウンタ104には1,カウンタ105には2を
セットカウンタ104により1を1ビット出力した後カウ
ンタ105を利用してシフトレジスタの下位2ビットを出
力して符号語を送出する。カウンタ104,カウンタ105,カ
ウンタ111を1つのアップダウンカウンタで共用してい
る例もある(たとえば,特開昭57−204681号公報)。
ら最初に1が出力された以降のシフト数を計数すること
によりランレングスから1を引いた値(2進数)のビッ
ト数を求める。またWYLE符号の場合このビット数から2
を引いた値がヘッダ部の0の個数である。次の制御部10
8は前記ランレングスから1を引いた値(2進数)のビ
ット数をカウンタ104にセットし,前記ヘッダ部の0の
個数をカウンタ105にセットする。コード作成部106はシ
フトクロック109に同期して先ずカウンタ105をカウント
ダウンして0となるまでの間0を出力し,次にシフトレ
ジスタ107の内容を左にシフトして最初に1が現れる時
点からその出力をコードデータ110として出力するとと
もにカウンタ104をカウントダウンする。カウンタ104の
値が0になった時点でランレングスに応じた符号語が送
出されたことになる。またランレングスが1から4まで
の例外処理ではカウンタ104には1,カウンタ105には2を
セットカウンタ104により1を1ビット出力した後カウ
ンタ105を利用してシフトレジスタの下位2ビットを出
力して符号語を送出する。カウンタ104,カウンタ105,カ
ウンタ111を1つのアップダウンカウンタで共用してい
る例もある(たとえば,特開昭57−204681号公報)。
発明が解決しようとする問題点 従来の方式ではランレングスから1を引いた値(2進
数)のビット数をカウントし,このカウント値を基に符
号のヘッダ部の0の数を求めてこれをカウンタにセット
し,さらに符号語のヘッダ部に続く部分のビット数を求
めてこれをカウンタにセットしてこれらのカウンタを利
用してランレングスの符号化を行っていた。このために
カウンタおよびその周辺回路が必要となりまたこれらの
制御も複雑であった。さらにランの分布の統計的性質に
より異なる複数の符号を適応的に用いて画像データの圧
縮をより効率的に行おうとする際にはランレングス符号
化装置は複数の符号を符号化できるのが望ましいが,先
に述べた複雑さにより複数の符号に対応するには装置の
構成規模がさらに大きくなる欠点があった。
数)のビット数をカウントし,このカウント値を基に符
号のヘッダ部の0の数を求めてこれをカウンタにセット
し,さらに符号語のヘッダ部に続く部分のビット数を求
めてこれをカウンタにセットしてこれらのカウンタを利
用してランレングスの符号化を行っていた。このために
カウンタおよびその周辺回路が必要となりまたこれらの
制御も複雑であった。さらにランの分布の統計的性質に
より異なる複数の符号を適応的に用いて画像データの圧
縮をより効率的に行おうとする際にはランレングス符号
化装置は複数の符号を符号化できるのが望ましいが,先
に述べた複雑さにより複数の符号に対応するには装置の
構成規模がさらに大きくなる欠点があった。
本発明はかかる点に鑑み,簡素な構成でランレングスの
符号を実現し,従つて複数の符号に対しても容易に適応
することができるランレングス符号化装置を提供するこ
とを目的とする。
符号を実現し,従つて複数の符号に対しても容易に適応
することができるランレングス符号化装置を提供するこ
とを目的とする。
問題点を解決するための手段 本発明は上記問題点を解決するために,データを読み込
みこれを入力した順に読み出し得るメモリ装置を2組準
備し,第1のメモリ装置はランレングスの計数値にオフ
セットを与えた値を入力とし第2のメモリ装置は符号の
ヘッダ部の値0を入力としてこれら2つのメモリ装置を
同時に動作させ,第1のメモリ装置へ前記ランレングス
の計数値にオフセットを与えた値の入力が完了した時点
で両者を結合することにより求める符号語を得るもので
ある。
みこれを入力した順に読み出し得るメモリ装置を2組準
備し,第1のメモリ装置はランレングスの計数値にオフ
セットを与えた値を入力とし第2のメモリ装置は符号の
ヘッダ部の値0を入力としてこれら2つのメモリ装置を
同時に動作させ,第1のメモリ装置へ前記ランレングス
の計数値にオフセットを与えた値の入力が完了した時点
で両者を結合することにより求める符号語を得るもので
ある。
作用 本発明は上記の構成とすることにより前記第1のメモリ
装置へ前記ランレングスの計数値にオフセットを与えた
値の入力が完了した時点で,前記第2のメモリ装置には
符号語のヘッダ部が前記第1のメモリ装置には符号語の
ヘッダ部以降がそれぞれ生成されることになり,ここで
前記第1,第2のメモリ装置を結合することによりメモリ
装置内に符号語を得ることになる。また前記メモリ装置
に生成された符号語の読み出しに際しては前記メモリ装
置がその内部のデータの有無を知らせるアウトプットレ
ディ信号を利用することにより,符号語のヘッダ部やそ
れに続く部分のビット数を計数するための各カウンタを
用いること無く符号語の送出終了を知ることができる。
装置へ前記ランレングスの計数値にオフセットを与えた
値の入力が完了した時点で,前記第2のメモリ装置には
符号語のヘッダ部が前記第1のメモリ装置には符号語の
ヘッダ部以降がそれぞれ生成されることになり,ここで
前記第1,第2のメモリ装置を結合することによりメモリ
装置内に符号語を得ることになる。また前記メモリ装置
に生成された符号語の読み出しに際しては前記メモリ装
置がその内部のデータの有無を知らせるアウトプットレ
ディ信号を利用することにより,符号語のヘッダ部やそ
れに続く部分のビット数を計数するための各カウンタを
用いること無く符号語の送出終了を知ることができる。
実施例 第1図は本発明によるランレングス符号化装置の一実施
例を示すブロツク図であり,ランレングスを計数するカ
ウンタが16ビットの場合である。同図において,1はラン
レングスを計数するカウンタ,2はシフトレジスタ,3はシ
フトレジスタ2の上位12ビツトがすべて等しいか否かを
判定するゲート,4はリードオンリメモリ(ROM),5はラ
ンレングスの短い所での例外処理のモードを設定するた
めのラッチ,6はタイミング制御部,7はマルチプレクサ,
8,9はファストイン・ファストアウトメモリ(FIFO),10
はラングレスの短い所での例外処理と通常の処理とを選
択する例外処理切換回路,11はシフトレジスタ2へのロ
ード信号,12はスタート信号,13はWYLE符号や1−2符号
等の符号を選択するための制御信号,14は基本クロック,
15はコード作成終了信号,16はコード送出終了信号,17は
コードデータシフトクロック,18はコードデータであ
る。以下WYLE符号を例にとって第1図の符号化装置の動
作を説明する。同図の符号化装置はランレングスの短い
所での例外処理を行う部分と通常の処理を行う部分とに
分けられこれらのうち一方が例外処理切替回路10で選択
される。FIFO8,9,とマルチプレクサ7は通常の処理を行
う場合のみ用いられる。以下第1図の装置の動作をラン
レングスの短い所での例外処理を行う場合と通常の処理
を行う場合とに分けて説明を行う。
例を示すブロツク図であり,ランレングスを計数するカ
ウンタが16ビットの場合である。同図において,1はラン
レングスを計数するカウンタ,2はシフトレジスタ,3はシ
フトレジスタ2の上位12ビツトがすべて等しいか否かを
判定するゲート,4はリードオンリメモリ(ROM),5はラ
ンレングスの短い所での例外処理のモードを設定するた
めのラッチ,6はタイミング制御部,7はマルチプレクサ,
8,9はファストイン・ファストアウトメモリ(FIFO),10
はラングレスの短い所での例外処理と通常の処理とを選
択する例外処理切換回路,11はシフトレジスタ2へのロ
ード信号,12はスタート信号,13はWYLE符号や1−2符号
等の符号を選択するための制御信号,14は基本クロック,
15はコード作成終了信号,16はコード送出終了信号,17は
コードデータシフトクロック,18はコードデータであ
る。以下WYLE符号を例にとって第1図の符号化装置の動
作を説明する。同図の符号化装置はランレングスの短い
所での例外処理を行う部分と通常の処理を行う部分とに
分けられこれらのうち一方が例外処理切替回路10で選択
される。FIFO8,9,とマルチプレクサ7は通常の処理を行
う場合のみ用いられる。以下第1図の装置の動作をラン
レングスの短い所での例外処理を行う場合と通常の処理
を行う場合とに分けて説明を行う。
第2図は第1図の装置のうちランレングスの短い所での
例外処理を行う部分を示したものである。第2図の回路
の動作を第4図のタイミング図を参考にして説明する。
カウンタ1はランレングスを計数する。ただしランレン
グスから1を引いた値を得るため初期値としてのカウン
タの総てのビットに1を設定する。画素の白黒変化によ
り1つのランを検出するとカウンタ1の値はシフトレジ
スタロード信号11によりシフトレジスタ2に取り込まれ
る。更にシフトレジスタ2の上位12ビットはゲート3に
下位4ビットはROMに出力され,ゲート3はその入力12
ビットが総て0か否かの情報をROM4に出力する。またコ
ード選択信号13はWYLE符号モードであることを示すコー
ドをROM4に与える。ROM4はシフトレジスタ2の下位4ビ
ットおよびゲート3の出力を基に表1に従ってシフトレ
ジスタ2の値に応じた3ビットのコードをラッチ5に出
力する。ラッチ5は信号32の立ち上がりで前記3ビット
のコードを取り込む。
例外処理を行う部分を示したものである。第2図の回路
の動作を第4図のタイミング図を参考にして説明する。
カウンタ1はランレングスを計数する。ただしランレン
グスから1を引いた値を得るため初期値としてのカウン
タの総てのビットに1を設定する。画素の白黒変化によ
り1つのランを検出するとカウンタ1の値はシフトレジ
スタロード信号11によりシフトレジスタ2に取り込まれ
る。更にシフトレジスタ2の上位12ビットはゲート3に
下位4ビットはROMに出力され,ゲート3はその入力12
ビットが総て0か否かの情報をROM4に出力する。またコ
ード選択信号13はWYLE符号モードであることを示すコー
ドをROM4に与える。ROM4はシフトレジスタ2の下位4ビ
ットおよびゲート3の出力を基に表1に従ってシフトレ
ジスタ2の値に応じた3ビットのコードをラッチ5に出
力する。ラッチ5は信号32の立ち上がりで前記3ビット
のコードを取り込む。
表においてラッチ5の値の最上位ビットが0の時はラン
レングスの短い所での例外処理であることを示し最上位
ビットが1の時はそれ以外の通常の処理であることを示
す。ROM4はラッチ5への出力の最上位ビットが0の場
合,既に符号化が終了しコードの送出が可能であること
を示すコード作成終了信号16を出力する。この信号16が
出力されると外部からコードデータシフトクロック17が
与えられこのシフトロックによりシフトレジスタ2の内
容がシフトされる。一方ラッチ5の出力はROM4にフィー
トバックされこのラッチ5の値とシフトレジスタ2の下
位4ビットの値51およびコード選択信号13を入力として
ROM4は第6図のテーブルに従ってコードデータ18,シフ
トレジスタ2のシリアル入力52およびコード送出終了信
号15を出力する。例えばWYLE符号でランレングスが4の
場合,シフトレジスタ2の下位4ビットは0011となり
(カウンタ1の初期設定が総てのビット=1であるため
ランレングスの4をカウントアップした時点で0011とな
る)またこの時,表からラッチ3の値は011であるので
第6図からコードデータ18として1,シフトレジスタ2の
シリアル入力52として1を出力する。
レングスの短い所での例外処理であることを示し最上位
ビットが1の時はそれ以外の通常の処理であることを示
す。ROM4はラッチ5への出力の最上位ビットが0の場
合,既に符号化が終了しコードの送出が可能であること
を示すコード作成終了信号16を出力する。この信号16が
出力されると外部からコードデータシフトクロック17が
与えられこのシフトロックによりシフトレジスタ2の内
容がシフトされる。一方ラッチ5の出力はROM4にフィー
トバックされこのラッチ5の値とシフトレジスタ2の下
位4ビットの値51およびコード選択信号13を入力として
ROM4は第6図のテーブルに従ってコードデータ18,シフ
トレジスタ2のシリアル入力52およびコード送出終了信
号15を出力する。例えばWYLE符号でランレングスが4の
場合,シフトレジスタ2の下位4ビットは0011となり
(カウンタ1の初期設定が総てのビット=1であるため
ランレングスの4をカウントアップした時点で0011とな
る)またこの時,表からラッチ3の値は011であるので
第6図からコードデータ18として1,シフトレジスタ2の
シリアル入力52として1を出力する。
次にコードデータシフトクロック17によりシフトレジス
タ2の内容が1ビットシフトされるとシフトレジスタ2
の下位4ビットは0111となりコードデータ18として1,シ
フトレジスタ2のシリアル入力52として1を出力する。
さらにシフトレジスタ2の内容の1ビットシフトにより
コードデータ18として1,シフトレジスタ2のシリアル入
力52としてOを出力し次にシフトレジスタ2の内容が1
ビットシフトされた時点でシフトレジスタ2の下位4ビ
ットが1110となることによりコードデータ送出終了信号
15が出力され符号語の送出が終わったことを知らせる。
以上の過程でランレングス4に対応するコードデータと
して111が送出されたことになる。WYLE符号のランレン
グスが1から3の場合および1−2符号のランレングス
が1の場合も同様の手順で符号語を得ることができる。
タ2の内容が1ビットシフトされるとシフトレジスタ2
の下位4ビットは0111となりコードデータ18として1,シ
フトレジスタ2のシリアル入力52として1を出力する。
さらにシフトレジスタ2の内容の1ビットシフトにより
コードデータ18として1,シフトレジスタ2のシリアル入
力52としてOを出力し次にシフトレジスタ2の内容が1
ビットシフトされた時点でシフトレジスタ2の下位4ビ
ットが1110となることによりコードデータ送出終了信号
15が出力され符号語の送出が終わったことを知らせる。
以上の過程でランレングス4に対応するコードデータと
して111が送出されたことになる。WYLE符号のランレン
グスが1から3の場合および1−2符号のランレングス
が1の場合も同様の手順で符号語を得ることができる。
第3図は第1図の装置のうち通常の処理(上記の例外処
理以外)を行う部分を示したものである。第3図の回路
の動作をWYLE符号でランレングスの6(2進表現の11
0)を符号化する場合を例にとって第5図のタイミング
図を参考に説明する。カウント1によるランレングスの
計数からラッチ5へのデータセットまでの動作は先の第
2図における例外処理の回路の動作と同じであり,今の
場合シフトレジスタ2には101がセットされておりラッ
チ5は表よりlXOを出力する(Xはdon't care)。ただ
しシフトレジスタロード信号11によりシフトレジスタ2
にデータがロードされた時点でフリップフロップ35,39
はリセットされており,またシフトレジスタ2にデータ
をロードした時のLSBの値の反転値が表1に示すように
ラッチ5のLSBにより与えられROM4を経由してシフトレ
ジスタ2のシリアル入力となっている。
理以外)を行う部分を示したものである。第3図の回路
の動作をWYLE符号でランレングスの6(2進表現の11
0)を符号化する場合を例にとって第5図のタイミング
図を参考に説明する。カウント1によるランレングスの
計数からラッチ5へのデータセットまでの動作は先の第
2図における例外処理の回路の動作と同じであり,今の
場合シフトレジスタ2には101がセットされておりラッ
チ5は表よりlXOを出力する(Xはdon't care)。ただ
しシフトレジスタロード信号11によりシフトレジスタ2
にデータがロードされた時点でフリップフロップ35,39
はリセットされており,またシフトレジスタ2にデータ
をロードした時のLSBの値の反転値が表1に示すように
ラッチ5のLSBにより与えられROM4を経由してシフトレ
ジスタ2のシリアル入力となっている。
さてスタート信号12が入力されるとフリップフロップ39
がセットされクロック14はフリップフロップ39の出力41
によりゲート34で有効となりシフトクロック42となって
シフトレジスタ2の内容の左シフトを開始する。さらに
シフトレジスタ2の出力43に最初に1が現れた時点でフ
リップフロップ35がセットされクロック14はフリップフ
ロップ35の出力44によりゲート36で有効となりFIFO8へ
のシフトインクロック45となる。またシフトインクロッ
ク45はクロックマスク制御部37により最初の数クロック
がマスクされてFIFO9へのシフトインクロック46とな
る。クロックマスク制御部37においてマスクされるクロ
ック数はWYLE符号の場合は最初の2クロック,1−2符号
の場合は最初の1クロックである。今の場合シフトレジ
スタ2には101がセットされているためシフトレジスタ
2の内容が13ビットシフトされた後14ビット目で初めて
1が出力され,以後のデータがFIFO8に取り込まれるこ
とになる。またFIFO9には2クロック遅れでマルチプレ
クサ7の出力が取り込まれる。
がセットされクロック14はフリップフロップ39の出力41
によりゲート34で有効となりシフトクロック42となって
シフトレジスタ2の内容の左シフトを開始する。さらに
シフトレジスタ2の出力43に最初に1が現れた時点でフ
リップフロップ35がセットされクロック14はフリップフ
ロップ35の出力44によりゲート36で有効となりFIFO8へ
のシフトインクロック45となる。またシフトインクロッ
ク45はクロックマスク制御部37により最初の数クロック
がマスクされてFIFO9へのシフトインクロック46とな
る。クロックマスク制御部37においてマスクされるクロ
ック数はWYLE符号の場合は最初の2クロック,1−2符号
の場合は最初の1クロックである。今の場合シフトレジ
スタ2には101がセットされているためシフトレジスタ
2の内容が13ビットシフトされた後14ビット目で初めて
1が出力され,以後のデータがFIFO8に取り込まれるこ
とになる。またFIFO9には2クロック遅れでマルチプレ
クサ7の出力が取り込まれる。
マルチプレクサ7はコード作成終了信号15が出力される
までは0レベルを選択するためFIFO9には0が取り込ま
れることになる。シフトレジスタ2のシフトはROMがコ
ード作成終了信号15を出力するまで続けられる。ここで
コード作成終了信号15はROM4がシフトレジスタ2の上位
12ビットがすべて等しいか否かを知らせるゲート3の出
力およびシフトレジスタ2の下位4ビットを監視してシ
フトレジスタ2のすべてのビットが等しくなるのを検出
した時点で出力される。シフトレジスタ2には最初のデ
ータロード時におけるLSBの反転値が入力されるためコ
ード作成終了信号15が出力された時点で最初にロードし
たデータ16ビットはすべてシフトレジスタ2より出力さ
れたことになる。コード作成終了信号15の出力によりフ
リップフロップ35はゲート33を介してリセットされ,フ
リップフロップ35の出力44によりゲート36においてFIFO
8,9のシフトインクロック45,46はマスクされる。この時
FIFO8にはシフトレジスタ2に最初にロードしたデータ
のうち最上位の1より以降が入力されている。またFIF0
9にはFIFO8に入力されたデータのビット数より2ビット
少ない(1−2符号の場合は1ビット少ない)0が入力
されている。すなわちFIFO9には符号語のヘッダ部の0
がFIFO8には符号語にのヘッダ部に続く部分が生成され
たことになる。今の場合,カウンタ1の最初のロードデ
ータのLSBが1であり,その反転値0がシフトレジスタ
2の入力であるので,シフトレジスタ2のすべてのビッ
トが0となった時点でROM4よりコード作成終了信号15が
出力されてFIFO8,9のシフトイン動作が停止し,この時F
IFO8には最初のロードデータの下位3ビットすなわち10
1が,FIFO9には0が1ビット入力されていることにな
る。この様子を第5図のタイミング図の8′,9′で示
す。さらにコード作成終了信号15が出力された時点でマ
ルチプレクサ7はFIFO8の出力を選択しFIFO8とFIFO9と
を結合する。これによりFIFO9における符号語のヘッダ
部とFIFO8における符号語のヘッダ部に続く部分とが結
合され求める符号語がFIFO内に生成されたことになる。
までは0レベルを選択するためFIFO9には0が取り込ま
れることになる。シフトレジスタ2のシフトはROMがコ
ード作成終了信号15を出力するまで続けられる。ここで
コード作成終了信号15はROM4がシフトレジスタ2の上位
12ビットがすべて等しいか否かを知らせるゲート3の出
力およびシフトレジスタ2の下位4ビットを監視してシ
フトレジスタ2のすべてのビットが等しくなるのを検出
した時点で出力される。シフトレジスタ2には最初のデ
ータロード時におけるLSBの反転値が入力されるためコ
ード作成終了信号15が出力された時点で最初にロードし
たデータ16ビットはすべてシフトレジスタ2より出力さ
れたことになる。コード作成終了信号15の出力によりフ
リップフロップ35はゲート33を介してリセットされ,フ
リップフロップ35の出力44によりゲート36においてFIFO
8,9のシフトインクロック45,46はマスクされる。この時
FIFO8にはシフトレジスタ2に最初にロードしたデータ
のうち最上位の1より以降が入力されている。またFIF0
9にはFIFO8に入力されたデータのビット数より2ビット
少ない(1−2符号の場合は1ビット少ない)0が入力
されている。すなわちFIFO9には符号語のヘッダ部の0
がFIFO8には符号語にのヘッダ部に続く部分が生成され
たことになる。今の場合,カウンタ1の最初のロードデ
ータのLSBが1であり,その反転値0がシフトレジスタ
2の入力であるので,シフトレジスタ2のすべてのビッ
トが0となった時点でROM4よりコード作成終了信号15が
出力されてFIFO8,9のシフトイン動作が停止し,この時F
IFO8には最初のロードデータの下位3ビットすなわち10
1が,FIFO9には0が1ビット入力されていることにな
る。この様子を第5図のタイミング図の8′,9′で示
す。さらにコード作成終了信号15が出力された時点でマ
ルチプレクサ7はFIFO8の出力を選択しFIFO8とFIFO9と
を結合する。これによりFIFO9における符号語のヘッダ
部とFIFO8における符号語のヘッダ部に続く部分とが結
合され求める符号語がFIFO内に生成されたことになる。
コード作成終了信号15が出力されるとコードを読み出す
ためのコードデータシフトクロック17が外部より入力さ
れる。コードデータシフトクロック17はシフトアウト制
御部38を経てFIFO8,9にシフトアウトロックとして与え
られこのシフトアウトクロックに同期してFIFO9はコー
ドデータ18を出力する。コードデータが順次出力されて
FIFO9のデータが空になった時点でFIFO9のアウトプット
レディ信号がOFFとなる。FIFO9のアウトプトレディ信号
がOFFになるとシフトアウト制御部38はコードデータ送
出終了信号15を外部に出力しFIFO8,9に生成された符号
語がすべて出力されたことを知らせる。今の場合FIFOに
は0101の符号語が生成されているため4ビットをシフト
アウトした時点でアウトプットレディ信号はOFFとなり
コードデータ送出終了信号15が出力されることになる。
このようにメモリ装置のアウトプットレディ信号を利用
すれば符号送出の際に送出ビット数をカウントする必要
が無くなりこのためのカウンタが不要となる。
ためのコードデータシフトクロック17が外部より入力さ
れる。コードデータシフトクロック17はシフトアウト制
御部38を経てFIFO8,9にシフトアウトロックとして与え
られこのシフトアウトクロックに同期してFIFO9はコー
ドデータ18を出力する。コードデータが順次出力されて
FIFO9のデータが空になった時点でFIFO9のアウトプット
レディ信号がOFFとなる。FIFO9のアウトプトレディ信号
がOFFになるとシフトアウト制御部38はコードデータ送
出終了信号15を外部に出力しFIFO8,9に生成された符号
語がすべて出力されたことを知らせる。今の場合FIFOに
は0101の符号語が生成されているため4ビットをシフト
アウトした時点でアウトプットレディ信号はOFFとなり
コードデータ送出終了信号15が出力されることになる。
このようにメモリ装置のアウトプットレディ信号を利用
すれば符号送出の際に送出ビット数をカウントする必要
が無くなりこのためのカウンタが不要となる。
以上第1図のランレングス符号化装置の動作をWYLE符号
を中心に述べてきたが,1−2符号の場合は第1,2,3図の
カウンタ1の初期設定値が0となり,表1および第9図
に示すごとくROMテーブルが変わり,また第3図におけ
るクロックマスク部37がシフトインクロック45の最初の
1クロックをマスクする(WYLE符号は2クロック)よう
になる点が異なるだけで他は,WYLE符号と1−2符号と
は共通の処理である。
を中心に述べてきたが,1−2符号の場合は第1,2,3図の
カウンタ1の初期設定値が0となり,表1および第9図
に示すごとくROMテーブルが変わり,また第3図におけ
るクロックマスク部37がシフトインクロック45の最初の
1クロックをマスクする(WYLE符号は2クロック)よう
になる点が異なるだけで他は,WYLE符号と1−2符号と
は共通の処理である。
発明の効果 従来,ランレングス符号の符号化に際してはランレング
スの2進表現におけるビット数の計数,符号語のヘッダ
部の0の数の計数および符号語のヘッダ部に続く部分の
ビット数の計数にそれぞれカウンタを必要としていた。
従ってカウンタを制御する周辺回路等も複雑になり装置
全体の規模が大きくなるきらいがあった。これに対して
本発明においては先に述べた構成をとることにより上記
の各カウンタをすべて不要とし装置の簡素化を可能とし
ている。さらに簡素な構成故に,複数のランレングス符
号に対しても装置の一部の制御で容易に対応することが
可能である。
スの2進表現におけるビット数の計数,符号語のヘッダ
部の0の数の計数および符号語のヘッダ部に続く部分の
ビット数の計数にそれぞれカウンタを必要としていた。
従ってカウンタを制御する周辺回路等も複雑になり装置
全体の規模が大きくなるきらいがあった。これに対して
本発明においては先に述べた構成をとることにより上記
の各カウンタをすべて不要とし装置の簡素化を可能とし
ている。さらに簡素な構成故に,複数のランレングス符
号に対しても装置の一部の制御で容易に対応することが
可能である。
第1図は本発明の一実施例のランレングス符号化装置の
ブロック図,第2図および第3図は異なる動作状態にお
ける同装置の要部構成図,第4図および第5図は各々第
3図および第4図の回路の動作説明用タイミング図,第
6図はランレングスの短い所での例外処理で利用するRO
Mテーブル図,第7図はWYLE符号説明図,第8図は1−
2符号説明図,第9図は従来のランレングス符号化装置
のブロツク図である。 1……カウンタ、2……シフトレジスタ、3……ゲー
ト、4……ROM、5……ラッチ、6……タイミング制御
部、7……マルチプレクサ、8,9……ファストイン・フ
ァストアウトメモリ(FIFO)、10……例外処理切換回
路、11……シフトレジスタ2へのロード信号、12……ス
タート信号、13……WYLE符号や1−2符号等の符号を選
択するための制御信号、14……基本クロック、15……コ
ード作成終了信号、16……コード送出終了信号、17……
コードデータシフトクロック、18……コードデータ
ブロック図,第2図および第3図は異なる動作状態にお
ける同装置の要部構成図,第4図および第5図は各々第
3図および第4図の回路の動作説明用タイミング図,第
6図はランレングスの短い所での例外処理で利用するRO
Mテーブル図,第7図はWYLE符号説明図,第8図は1−
2符号説明図,第9図は従来のランレングス符号化装置
のブロツク図である。 1……カウンタ、2……シフトレジスタ、3……ゲー
ト、4……ROM、5……ラッチ、6……タイミング制御
部、7……マルチプレクサ、8,9……ファストイン・フ
ァストアウトメモリ(FIFO)、10……例外処理切換回
路、11……シフトレジスタ2へのロード信号、12……ス
タート信号、13……WYLE符号や1−2符号等の符号を選
択するための制御信号、14……基本クロック、15……コ
ード作成終了信号、16……コード送出終了信号、17……
コードデータシフトクロック、18……コードデータ
Claims (2)
- 【請求項1】画像データのランレングスを符号語長がラ
ンレングスの対数の1次関数となる符号により符号化す
るものであり,ランレングスを計数するカウンタと,前
記カウンタの計数値を並列入力するシフトレジスタと,
前記シフトレジスタの直列出力を読み込みこれを入力順
に読み出し得る第1のメモリ装置と,前記第1のメモリ
装置の出力または符号語のヘッダ部の値(符号語へのヘ
ッダ部の値は0または1に固定されている)の一方を選
択するマルチプレクサと,前記マルチプレクサの出力を
読み込みこれを入力順に読み出し得る第2のメモリ装置
と,前記第2のメモリ装置への読み込みクロックを前記
第1のメモリ装置への読み込みクロックの一部をマスク
して得る手段と,前記シフトレジスタの全ビットが等し
くなるのを検出する手段と,例外処理が必要となる短い
ランレングスを検出する手段と,例外処理における符号
をテーブルにより生成する手段とを有し,前記ランレン
グスの短い所での例外処理では前記符号テーブルを用い
てランレングスの符号化を行い,それ以外は前記シフト
レジスタに制御用のビット0または1を入力しつつ順次
左シフトして最初に出力される1より以降を前記第1の
メモリ装置に送出すると共に前記第2のメモリ装置には
アドレス符号のヘッダ部の値を入力し,前記シフトレジ
スタの全ビットが等しくなった時点で前記第1のメモリ
装置にはアドレス符号のLSB(再下位ビット)とリメイ
ンダ符号が,第2のメモリ装置には符号語のヘッダ部
(アドレス符号のLSB以外)が生成されることを利用し
てこの時点で前記第1および第2のメモリ装置を前記マ
ルチプレクサを介して結合することによりランレングス
の符号化を行うことを特徴とするランレングス符号化装
置。 - 【請求項2】符号語長がランレングスの対数の1次関数
となる符号の複数に対して,第2のメモリ装置への読み
込みクロックを第1のメモリ装置への読み込みクロック
の一部をマスクして得る手段と,前記例外処理が必要に
なる短いランレングスを検出する手段と,例外処理にお
ける符号をテーブルにより生成する手段とをそれぞれの
符号に応じて適応化させることにより,他の部分は一元
的に利用して複数の符号に対して符号化を行えることを
特徴とする特許請求の範囲第1項記載のランレングス符
号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30575586A JPH07121068B2 (ja) | 1986-12-22 | 1986-12-22 | ランレングス符号化装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30575586A JPH07121068B2 (ja) | 1986-12-22 | 1986-12-22 | ランレングス符号化装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63157567A JPS63157567A (ja) | 1988-06-30 |
| JPH07121068B2 true JPH07121068B2 (ja) | 1995-12-20 |
Family
ID=17948955
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30575586A Expired - Lifetime JPH07121068B2 (ja) | 1986-12-22 | 1986-12-22 | ランレングス符号化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07121068B2 (ja) |
-
1986
- 1986-12-22 JP JP30575586A patent/JPH07121068B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63157567A (ja) | 1988-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4800441A (en) | Binary data compression and expansion processing apparatus | |
| US4316222A (en) | Method and apparatus for compression and decompression of digital image data | |
| US4760461A (en) | Binary data compression and expansion processing apparatus | |
| US3769453A (en) | Finite memory adaptive predictor | |
| EP0467678B1 (en) | Variable length coding apparatus and variable length decoding apparatus | |
| US4968135A (en) | System for producing pixel image data from CCITT encoded pixel data | |
| JPH04270568A (ja) | 画像処理装置におけるデータ圧縮方式 | |
| JPH053950B2 (ja) | ||
| US5345316A (en) | Image data encoding/decoding apparatus for concurrent processing of multiple image data streams | |
| EP0149893B1 (en) | Apparatus for coding and decoding data | |
| US6621428B1 (en) | Entropy codec for fast data compression and decompression | |
| US3984833A (en) | Apparatus for encoding extended run-length codes | |
| EP0597733B1 (en) | Image encoding device | |
| US4551706A (en) | Apparatus for decoding run-length encoded data | |
| JPS60502082A (ja) | ファクシミリ受信機のための画素発生器 | |
| JP3195427B2 (ja) | データ変換/逆変換装置 | |
| EP0667619B1 (en) | Information processing apparatus | |
| JPS63157567A (ja) | ランレングス符号化装置 | |
| JP2687926B2 (ja) | 符号復号化装置 | |
| EP0341272B1 (en) | System for producing pixel image data from ccitt encoded pixel data | |
| JP2966437B2 (ja) | ラン長符号符号化回路 | |
| JP3108243B2 (ja) | 符号化及び復号化装置 | |
| JPH07121067B2 (ja) | ランレングス復号化装置 | |
| JP2641442B2 (ja) | 復号装置 | |
| JPH0646777B2 (ja) | 圧縮コ−ドの復号装置 |