JPH07236064A - ランレングス符号復号装置 - Google Patents

ランレングス符号復号装置

Info

Publication number
JPH07236064A
JPH07236064A JP5141594A JP5141594A JPH07236064A JP H07236064 A JPH07236064 A JP H07236064A JP 5141594 A JP5141594 A JP 5141594A JP 5141594 A JP5141594 A JP 5141594A JP H07236064 A JPH07236064 A JP H07236064A
Authority
JP
Japan
Prior art keywords
run length
bit pattern
data
code
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5141594A
Other languages
English (en)
Inventor
Takeo Kimura
岳男 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP5141594A priority Critical patent/JPH07236064A/ja
Publication of JPH07236064A publication Critical patent/JPH07236064A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 バイト単位でビットパターンのランが続くよ
うなデータを効率良く復号化することができるランレン
グス符号復号装置を提供することを目的とする。 【構成】 ランレングス符号を保持する符号データ保持
部と、ランレングス符号を復号する符号データ復号部
と、ランレングス符号を復号したものを保持する復号デ
ータ保持部と、指定されたメモリ領域の内容を指定され
た場所へ高速に転送するDMACとを設けたことによ
り、CPUと並行動作してランレングス符号の復号を行
なうようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バイト単位のランレン
グス符号を復号するためのランレングス符号復号装置に
関するものである。
【0002】
【従来の技術】従来より、例えばファクシミリ伝送等に
おけるデータ圧縮の1方法として、データのビットの
0、1のランの長さを符号化するランレングス符号化法
が知られている。
【0003】
【発明が解決しようとする課題】しかしながら、カラー
画像のようにバイト単位でビットパターンのランが続く
ようなデータでは、ビット単位のランレングス符号化が
必ずしも効率の良い手法であるとは言えない。
【0004】このため、バイト単位のビットパターンと
そのラン長を符号化するための効率の良い符号化および
復号化手段が必要となる。
【0005】そこで、本発明は、バイト単位でビットパ
ターンのランが続くデータを効率良く復号化することが
できるランレングス符号復号装置を提供することを目的
とする。
【0006】
【課題を解決するための手段】本発明のランレングス符
号復号装置では、ランレングス符号を保持する符号デー
タ保持手段と、ランレングス符号を復号する符号データ
復号手段と、ランレングス符号を復号したものを保持す
る復号データ保持手段と、指定されたメモリ領域の内容
を指定された場所へ高速に転送するDMACとを設けた
ことにより、CPUと並行動作してランレングス符号の
復号を行なうようにした。
【0007】また、コンピュータなどの他の装置と通信
する手段を設けることで、データ通信時にランレングス
符号化圧縮したデータを使用できるようにした。
【0008】
【実施例】図1は、本発明の第1実施例によるランレン
グス符号復号装置の基本構成を示すブロック図である。
【0009】図示のように、このランレングス符号復号
装置は、本装置全体を制御するためのCPU1−1と、
メモリを高速に転送するDMAC1−2と、ランレング
ス符号の復号処理のプログラム等を記憶し、CPU1−
1を動作させるためのRAM等の記憶装置1−3と、他
の装置との通信を行なうためのI/Oポート1−4とを
有するものである。
【0010】次に、本発明の第1実施例を図2および図
3に基づいて説明する。
【0011】図2は、バイト単位のランレングス符号化
とその復号の概念を示す説明図である。
【0012】図示の例では、10101010という1
バイト(8bits)のビットパターンが200回連続
する様子(計200バイトのデータ)を示している。こ
の時、単純にビット単位にランレングス符号化しても、
ほとんどデータの圧縮は望めないが、ビットパターンと
そのラン長を示す符号に変換する符号化を行えば、2バ
イト(ビットパターン1バイト+ラン長符号1バイト)
になる。以下、特にことわりのない限り、文中のランレ
ングス符号という用語は、バイト単位のビットパターン
とそのラン長が符号化されているものを意味することと
する。
【0013】図3は、図2で示したようなランレングス
符号の集合が与えられた時の復号の手順を示したフロー
チャートである。
【0014】この復号の手順は、まずステップ3−1で
復号後のデータの記憶場所を確保するなどの初期設定を
行ない、ステップ3−2の符号データの受信状態に入
る。そして、ランレングス符号データを受信すると、ス
テップ3−3において、そのヘッダ情報等から符号デー
タのデータ長(バイト数)、データ中に含まれるビット
パターンのサイズ(バイト数)を調べ記憶する。
【0015】次に、ステップ3−4において、符号デー
タの先頭からバイト列を取り出して解析し、ビットパタ
ーンとそのラン長を取り出す。この時、符号データの先
頭を示すポインタは、取り出したバイト列のサイズだけ
自動的に進む。
【0016】この時点でビットパターンのサイズとラン
長から、展開時のデータ量が計算できるので、格納場所
に格納するだけの容量があるかどうかを判断することが
できる。そして、容量が不足するならば、記憶領域を追
加確保するなどの何らかの処理を行なわなければならな
い。
【0017】次に、ステップ3−5で現在の格納番地が
示す場所にステップ3−4で得たビットパターンを格納
する。この時、ビットパターンのサイズが大きければ、
DMAC1−2に転送させるようにすれば効率が良い。
【0018】また、このビットパターンがテーブル等の
アドレスを示し、実際にはテーブルに格納されたビット
パターンのランを発生させるような場合には、符号から
得たビットパターンを使って一旦テーブルを引き、その
結果得られたビットパターンを転送する。
【0019】ただし、この場合、ステップ3−7やステ
ップ3−9でのビットパターンサイズは符号中のビット
パターンではなく、ステップ3−8で実際に転送したビ
ットパターンのサイズとなる。
【0020】次に、ステップ3−6では、ビットパター
ンのラン長が1より長いかどうかを調べる。ここでラン
長が1ならば、すでに転送が終了しているので、次の符
号の処理に移る。また、ラン長が1よりも大きければ、
ステップ3−7でDMAC1−2の設定(転送元アドレ
ス、転送データサイズ、転送先アドレス、転送回数等)
を行ない、ステップ3−8でDMAC1−2によるビッ
トパターンの転送を行なう。
【0021】なお、ビットパターンのサイズが一連の符
号中で不変ならば、ステップ3−7で毎回転送データサ
イズを設定するのではなく、ステップ3−3においてD
MAC1−2に予め転送データサイズをセットしておく
方が効率が良い。また、ステップ3−8においてDMA
C1−2とCPU1−1が並列して動作するように設計
されていれば、この間CPU1−1は他の処理を行なっ
たり、次のステップへ進むことが可能である。
【0022】CPU1−1が次のステップへ進むなら
ば、次回ステップ3−7に到達した時点で先にDMAC
1−2に任せておいた転送が継続中かどうかを判断し、
継続中ならば転送終了を待つようにすれば良い。そし
て、データ転送が終了したならば、ステップ3−9で諸
設定を行ない、ステップ3−10で未処理のデータがあ
るかどうかを判断する。この時、未処理の符号データが
あれば、ステップ3−4へ戻り、前記の処理を符号デー
タが終了するまで繰り返す。
【0023】次に、本発明の第2実施例を図4から図6
に基づいて説明する。
【0024】図4は、この第2実施例の基本構成を示す
ブロック図である。
【0025】この実施例は、ランレングス符号を効率良
く復号するために、複数のDMAC(4−2、4−3、
4−4)を設けたことを特徴とする。
【0026】図5は、本実施例の動作の手順を示したフ
ローチャートである。基本的な動作の手順は第1実施例
と同じであるが、ステップ5−7、5−8、5−9でC
PU4−1は、動作していないDMACを探し出し、そ
れにビットパターンの転送を依頼し(5−10)、転送
作業(5−11)の終了を待つことなく、次のステップ
へ進む。なお、各DMACは、それぞれ並列動作し、符
号の復号が並列処理される。
【0027】一方、CPU4−1には、常にどの場所へ
復号したデータを格納するかがわかっており、符号を得
た順と復号を依頼する順さえ同じであれば、復号が終了
する順がどうなっても全く問題はない。そして、データ
が終了した時に、ステップ5−14、5−15で全ての
DMACで転送が終了するのを待つ。
【0028】また、ランレングス符号化されたデータを
復号し、かつ復号されたデータを繰り返し複写するよう
なデータを作成する場合、各DMACを復号処理に使う
ものとデータの複写処理に使うものに振り分けて利用す
ることもできる。この様子を示したのが図6である。こ
れはランレングス符号圧縮されたカラーイメージプリン
タのテストパターンをページメモリ全面へ繰り返し展開
する場合などに有効である。
【0029】なお、本実施例では、複数のDMACを並
列に動作するように構成しているが、複数のCPUが並
列動作するシステムで、いくつかのCPUを本実施例で
のDMACの代わりとして用いることもできる。
【0030】
【発明の効果】以上説明したように、本発明によれば、
CPUと並列動作によりランレングス符号の復号を行な
うようにすることで、非力なCPUを使っても効率の良
いランレングス符号の復号ができるようになる。
【0031】また、データ通信時にランレグス符号化圧
縮したデータを使用できるようにしたことで、本装置を
組み込んだ機器に対し、効率の良いデータ通信ができる
ようになる。
【図面の簡単な説明】
【図1】本発明の第1実施例による基本構成を示すブロ
ック図である。
【図2】バイト単位のランレングス符号化とその復号の
概念を示す説明図である。
【図3】上記第1実施例の動作を示すフローチャートで
ある。
【図4】本発明の第2実施例による基本構成を示すブロ
ック図である。
【図5】上記第2実施例の動作を示すフローチャートで
ある。
【図6】上記第2実施例における複数のDMACによる
符号の復号と複写の様子を示す説明図である。
【符号の説明】
1−1、4−1…CPU、 1−2、4−2、4−3、4−4…DMAC、 1−3、4−5…記憶装置、 1−4、4−6…I/Oポート。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ランレングス符号を保持する符号データ
    保持手段と、ランレングス符号を復号する符号データ復
    号手段と、ランレングス符号を復号したものを保持する
    復号データ保持手段と、指定されたメモリ領域の内容を
    指定された場所へ高速に転送するダイレクトメモリアク
    セスコントローラとを設けたことを特徴とするランレン
    グス符号復号装置。
  2. 【請求項2】 請求項1において、 他の処理装置と通信する通信手段を設けたことを特徴と
    するランレングス符号復号装置。
JP5141594A 1994-02-24 1994-02-24 ランレングス符号復号装置 Pending JPH07236064A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5141594A JPH07236064A (ja) 1994-02-24 1994-02-24 ランレングス符号復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5141594A JPH07236064A (ja) 1994-02-24 1994-02-24 ランレングス符号復号装置

Publications (1)

Publication Number Publication Date
JPH07236064A true JPH07236064A (ja) 1995-09-05

Family

ID=12886304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5141594A Pending JPH07236064A (ja) 1994-02-24 1994-02-24 ランレングス符号復号装置

Country Status (1)

Country Link
JP (1) JPH07236064A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172107A (ja) * 2004-12-15 2006-06-29 Sharp Corp データ処理装置
CN111384960A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 解码方法、处理器、解码装置及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172107A (ja) * 2004-12-15 2006-06-29 Sharp Corp データ処理装置
JP4560398B2 (ja) * 2004-12-15 2010-10-13 シャープ株式会社 データ処理回路
CN111384960A (zh) * 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 解码方法、处理器、解码装置及存储介质
CN111384960B (zh) * 2018-12-28 2022-05-10 上海寒武纪信息科技有限公司 解码方法、处理器、解码装置及存储介质

Similar Documents

Publication Publication Date Title
JP3059520B2 (ja) データ処理装置及びファクシミリ装置
JPH02300840A (ja) データの転送方法及びシステム
US6871274B2 (en) Instruction code conversion apparatus creating an instruction code including a second code converted from a first code
JPH07236064A (ja) ランレングス符号復号装置
JP3156379B2 (ja) 印刷データの圧縮方法
JPH04293106A (ja) 数値制御装置のリモート診断装置
JPH09246988A (ja) 復号装置及びその方法
JPS59189751A (ja) デ−タ伝送制御方式
JPH01209169A (ja) ページプリンタ印刷制御装置
JP2001358593A (ja) データ転送装置及びその方法
JPS5953579B2 (ja) 文字圧縮装置
JP2689020B2 (ja) 符号伸長方法及び描画装置
JPH0486126A (ja) データ圧縮装置
JPH09146732A (ja) プリンタドライバおよび印刷システム
JPH09300732A (ja) 印刷制御装置
JPH02287682A (ja) ビットマップ画像データ保存装置
JPH07144441A (ja) 画像出力装置
JP2006128944A (ja) 情報処理装置及び情報処理方法、画像形成装置、プログラム、記憶媒体、印刷システム
JPH1188193A (ja) バイトランレングス伸張装置、及びその方法
JPH0444156A (ja) 転送データ生成装置
JPH0437370A (ja) データ圧縮装置
JPS61154275A (ja) デ−タ解析方式
JPH09240077A (ja) 画像出力装置
JPS63187873A (ja) 制御復帰符号生成転送方法
JPH0522609A (ja) 二値画像データ切出し方式