JP2590840B2 - ランレングス符号化装置 - Google Patents

ランレングス符号化装置

Info

Publication number
JP2590840B2
JP2590840B2 JP25624786A JP25624786A JP2590840B2 JP 2590840 B2 JP2590840 B2 JP 2590840B2 JP 25624786 A JP25624786 A JP 25624786A JP 25624786 A JP25624786 A JP 25624786A JP 2590840 B2 JP2590840 B2 JP 2590840B2
Authority
JP
Japan
Prior art keywords
run
image data
bit
output
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP25624786A
Other languages
English (en)
Other versions
JPS63109665A (ja
Inventor
裕 越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP25624786A priority Critical patent/JP2590840B2/ja
Publication of JPS63109665A publication Critical patent/JPS63109665A/ja
Application granted granted Critical
Publication of JP2590840B2 publication Critical patent/JP2590840B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、イメージ情報の帯域或いは冗長度を減少さ
せるランレングス符号化装置に関し、特にイメージデー
タからランレングスを求める装置に関する。
〔従来の技術及びその問題点〕
イメージ情報を伝送する場合、イメージデータの白黒
のビットパターンをそのまま送出したのでは冗長度が高
いため、イメージデータを符号化して伝送することが行
われている。
符号化の一つとして、イメージデータ中の画素の白黒
の状態を検出し、白或いは黒画素が連続する長さ、すな
わちランレングスを検出して符号化することが知られて
いる。
第3図は、従来のランレングス符号化装置の概略構成
を示す。
イメージデータが格納されたイメージメモリ1からの
出力は、入力バッファ2を介してランレングス検出部3
に供給される。入力バッファ2は、イメージデータを入
力バッファ2に一時記憶し、イメージメモリ1とランレ
ングス検出部3との処理速度の違いを吸収するものであ
り、イメージメモリ1に格納されているイメージデータ
を高速に符号化するために設けられている。ランレング
ス検出部3においては、イメージデータのランレングス
が検出される。符号化部4では、ランレングス検出部3
で検出されたランレングスに応じて符号化を行い、出力
バッファ5を介して記憶装置又は回線6に出力する。出
力バッファ5は、符号化されたランレングスを一時記憶
し記憶装置又は回線6と符号化部4との処理速度の違い
を吸収する。
第4図は、第3図に示されたランレングス検出部3に
対応する従来のランレングス検出回路の一例を示すブロ
ック図である。なお、第3図と対応する個所には同一符
号を付している。
図において、8は入力バッファ2からの出力が供給さ
れるシフトレジスタを示し、このシフトレジスタ8の出
力とW/B(white/black)フリップフロップ(図中W/B F.
F.で示す)9の出力とが排他的論理和素子12を介してラ
ンレングス検出制御部7に供給される。ランレングス検
出制御部7からシフトレジスタ8へはシフト信号が、ま
たW/Bフリップフロップ9へは反転信号が供給される。
更に、ランレングス検出制御部7にはビットカウンタ10
及びランレングスカウンタ11が接続され、ビットカウン
タ10により処理済のビット数をカウントし、ランレング
スカウンタ11により各ランの長さをカウントする。ラン
レングスカウンタ11からの出力は符号化部4に供給さ
れ、所定の符号化が行われる。
次に、この従来のランレングス検出回路の動作を説明
する。
ステップ(1):入力バッファ2からシフトレジスタ8
へイメージデータをn(但し、nはイメージデータのビ
ット数)ビット入力する。
ステップ(2):ランレングス検出制御部7は、排他的
論理和素子12によりシフトレジスタ8の最上位ビット
(MSB)の情報とW/Bフリップフロップ9の出力との排他
的論理和をとる。両者が一致している場合、すなわちW/
Bフリップフロップ9に記憶されている直前のランの画
素の種類と最新の画素の種類が同じ場合には、後述のス
テップ(3)の動作へ移行し、一致していない場合、す
なわち直前のランの画素と最新の画素が異なる場合には
後述のステップ(4)の動作へ移行する。
ステップ(3):直前のランの画素の種類と最新の画素
の種類が同じ場合には、ランレングス検出制御部7はシ
フトレジスタ8へシフト信号を出力してイメージデータ
を1ビットだけシフトすると共に、ビットカウンタ10及
びランレングスカウンタ11の内容を1だけ加算する。
次に、ビットカウンタ10の出力がイメージデータのビ
ット数nより小さい場合、すなわち1ワード分の処理が
終了していない場合にはステップ(2)の動作へ移行し
て、次の画素の比較を行う。それ以外の場合、すなわち
1ワード分の処理が終了した場合は、ビットカウンタ10
をクリアしてからステップ(1)の動作へ移行し、次の
ワードのイメージデータを入力する。
ステップ(4):直前のランの画素と最新の画素が異な
る場合には、ランレングス検出制御部7はランレングス
カウンタ11の出力を符号化部4へ出力する。このとき、
ランレングスカウンタ11には同一種類の画素の連続する
長さ、すなわちランレングスが格納されているので、こ
のランレングスカウンタ11の出力を符号化部4に供給
し、符号化部4で符号化を行う。次に、W/Bフリップフ
ロップ9の出力を反転し、ランレングスカウンタ11をク
リアしてからステップ(2)の動作へ移行する。
上述の動作によりイメージデータはランレングスに変
換され、更に符号化が行われる。
しかしながら、第4図に示される従来技術において
は、イメージデータの内容を符号化する際に、1ビット
ずつ画素の種類を判別してランレングス検出の処理をし
ているため、高速に符号化処理を行うことができないと
いう欠点があった。
〔発明が解決しようとする問題点〕
本発明は、前記した従来技術の欠点を改良するために
案出されたものであって、イメージデータを1ビットず
つ処理するのではなく、ある一定長、たとえば、1ワー
ド以下のランについては、一度にランレングスに変換す
ることによって、高速に符号化処理することを目的とす
る。
〔問題点を解決するための手段〕
本発明は、上記目的を達成するため、イメージデータ
のランレングスを符号化するランレングス符号化装置に
おいて、前記イメージデータをn(但し、nはイメージ
データの1ワードのビット数)ビットずつラッチするn
ビットのラッチと、前記nビットのラッチからのイメー
ジデータが入力されるnビットのバレルシフタと、前記
nビットのバレルシフタの出力に接続され前記バレルシ
フタから入力されたイメージデータのランレングスを検
出するプライオリティエンコーダと、前記プライオリテ
ィエンコーダにより検出された前記ランレングスの値を
順次加算しその値がnとなったときにキャリーを出力し
て自分自身をクリアするとともに前記nビットラッチに
ラッチ動作を行なわせ、更に、加算された出力を前記n
ビットのバレルシフタに供給するkビット(但し、2k
n)の加算器とを備えており、前記nビットのラッチ
は、入力されるnビットのイメージデータ内の全てのラ
ンレングスが検出されるまでは前記nビットのバレルシ
フタに入力するイメージデータを更新しないようにイメ
ージデータを保持するものであり、前記nビットのバレ
ルシフタは、前記加算器からの加算された出力に等しい
ビット数だけ入力されたイメージデータを移動させて出
力するものであることを特徴とする。
〔作用〕
本発明においては、イメージデータが1ワードずつラ
ッチにラッチされ、ラッチからのイメージデータが1ワ
ードずつバレルシフタに入力される。バレルシフタ内の
イメージデータのランレングスはプライオリティエンコ
ーダで検出される。検出された前記ランレングスは加算
器により順次加算され、1ワード分になったときキャリ
ーが出力され自分自身はクリアされる。加算器のキャリ
ーによりラッチはラッチ動作を行なう。更に、加算器の
出力はバレルシフタに供給され、前記バレルシフタにお
いて、前記加算器からの加算された出力に等しいビット
数だけイメージデータを移動させることにより、次のラ
ンのランレングスが検出される。このようにして、1ワ
ード以下の画素のランであれば、イメージデータが一度
にランレングスに変換されることになる。
〔実施例〕
以下、図面を参照しながら実施例に基づいて本発明の
特徴を具体的に説明する。
本発明の実施例の構成を第1図に示す。なお第4図と
対応する個所には同一符号を付してある。
イメージデータが供給される入力バッファ2にはラッ
チ22が接続され、同ラッチ22は入力バッファ2からのイ
メージデータをnビットずつラッチする。なお、nはイ
メージデータの1ワードのビット数であり、本実施例で
はn=16として説明する。ラッチ22にはバレルシフタ23
が接続され、同バレルシフタ23は後述する4ビット加算
器28の出力をmとしたとき、ラッチ22の出力をmビット
だけ右シフトして出力する。このとき、左側のmビット
はラッチ22の最左端のビットの情報と反対の情報を出力
する。
排他的論理和素子25−1〜25−16は、バレルシフタ23
の16ビットの出力をW/Bフリップフロップ24の出力によ
って非反転又は反転して16−4プライオリティエンコー
ダ26に出力する。このプライオリティエンコーダ26は、
排他的論理和素子25−1〜25−16の出力において最も右
にある情報“1"の位置を最右端から教えて出力する。す
なわち、情報“0"が最右端から連続している数(ランレ
ングス)を出力する。4ビット加算器28は、プライオリ
ティエンコーダ26からの前記ランレングスを加算してn
すなわち“16"となったときにキャリーを出力し、これ
をランレングス検出制御部21へ知らせる。また、14ビッ
ト加算器27は、前記ランレングスを加算して前記情報の
連続(ラン)が16ビットずつのイメージデータの境界に
またがる場合のランレングスを計数する。ランレングス
検出制御部21は、ラッチ22,バレルシフタ23,W/Bフリッ
プフロップ24,14ビット加算器27及び4ビット加算器28
等に制御信号を供給し、ランレングス検出処理の制御を
行う。
本発明の実施例の動作を、第2図に示すフローチャー
ト及び第1図を参照して説明する。
また、第1表はイメージデータとランレングスとの関
係の具体例を示し、第2表は変換処理の途中経過を具体
例を示す。なお、表における○印は、表の上欄に記され
た各処理が実行されることを示す。
いま、第1表Aに示す5ワード(1ワード16ビット)
のイメージデータのランレングスを求める場合について
説明する。但し、第1表Aにおいては、右側から左側へ
また上側から下側にランレングスを検出するものとす
る。すなわち、最初の情報“0"のランレングスが“5"で
あり、以下情報“1"のランレングスが“2",情報“0"の
ランレングスが“10",・・・となる。
まず、第2図に示すフローチャートの処理31で、入力
バッファ2からの16ビットのイメージデータ61(第1表
参照)をラッチ22へラッチする。4ビット加算器28は予
めクリアされており、またW/Bフリップフロップ24の出
力は“0"となっているので、プライオリティエンコーダ
26には、第2表の番号1の欄に示すようなイメージデー
タ61と同一のデータ51が入力される。
次に、処理32でプライオリティエンコーダ26はその出
力として、番号1の欄に示すようなデータ52を出力す
る。すなわち、イメージデータ61においては、右端から
情報“0"が5個連続しているので、番号1の欄における
プライオリティエンコーダ出力データ52は“5(二進数
で0101)”になる。
処理33及び処理34では、プライオリティエンコーダ26
の出力データ52が、14ビット加算器27及び4ビット加算
器28へ加算される。加算器27と加算器28はクリアされて
いるので、その出力はそれぞれ番号1の欄に示されるデ
ータ53及びデータ54のようになる。すなわち、ここで最
初の情報“0"のランレングスである“5"が検出される。
処理35では、加算器28の出力が16であるかどうか、す
なわち4ビット加算器28からキャリーが出力されたかを
ランレングス検出制御部21で判断して、加算器28の出力
が16の場合には処理40を実行し、それ以外の場合は処理
36を実行する。第2表に示す場合、番号1の欄では、4
ビット加算器28の内容は5であるので処理36に進む。
処理36では、番号1の欄の14ビット加算器27の出力デ
ータ53、すなわち“5"をランレングスとして符号化部4
へ出力する。
処理37では、4ビット加算器28の出力がmであるとす
ると(番号1の欄のデータ54ではm=5)、ラッチ22の
出力はバレルシフタ23によって、右へmビットシフトさ
れる。このとき、左側のmビットはラッチ22の最左端の
ビットの情報と反対の情報と同じになる。すなわち、番
号1の欄のデータ51の場合、最左端が“0"であるから左
側5ビットは“1"になる。したがって、バレルシフタ23
の出力データは“1111100000000011"となる。
処理38では、W/Bフリップフロップ24の出力を反転す
る。したがって、W/Bフリップフロップ24の出力が“0"
から“1"になるので、番号1の欄のデータ51では、バレ
ルシフタ23の16ビットの出力は反転されてプライオリテ
ィエンコーダ26へ番号2の欄のデータ51、すなわち“00
00011111111100"が入力される。
処理39では、14ビット加算器27がクリアされて処理32
を再び実行する。
以下、同様に処理32〜処理39が実行されて、番号2の
欄に示される14ビット加算器27のデータ53、すなわち次
の情報“1"のランレングスである“2"が符号化部4へ出
力されてプライオリティエンコーダ26の入力は番号3の
欄のデータ51のようになる。
次に、処理32〜処理34が実行されると、番号3の欄の
データ54のように、4ビット加算器28の出力54が“16
(二進数で10000)”となり、キャリーが出力されるの
で、処理40が実行される。
処理40では4ビット加算器28がクリアされる。
次に、処理41で1走査ラインのイメージデータの処理
を終了したかどうか判断して、まだ終了していない場合
は処理31を実行する。
処理31では、先に処理したイメージデータの次のデー
タ、すなわち、第1表に示すデータ62がラッチ22へラッ
チされる。4ビット加算器28は処理40でクリアされてお
り、W/Bフリップフロップ24の出力はこの場合“0"であ
るから、番号4の欄のデータ51がプライオリティエンコ
ーダ26へ入力される。
処理32では、プライオリティエンコーダ26から番号4
の欄のデータ52が出力される。
処理33及び処理34では、プライオリティエンコーダ26
の出力が14ビット加算器27及び4ビット加算器28へ加算
される。このとき、14ビット加算器27には直前の処理33
の実行時に番号3の欄のデータ53が入っているので、今
回の処理33の実行によって番号4の欄のデータ53を出力
する。すなわち、データ61の左側には情報“0"の長さ9
ビットのランがあり、データ62の右側にも情報“0"の長
さ1ビットのランがあるので、全体で長さ10ビットの
“0"ランがあることになる。今回の処理33で9ビット+
1ビット=10ビットの加算が実行されたことになる。
以下、同様に処理35〜処理39が実行されて、番号4の
欄のデータ53、すなわち3番目の情報“0"のランレング
スである10が符号化部4へ出力される。
以上のような処理を繰返し実行して、第2表の番号5
〜11の欄のように、ランレングスが次々と符号化部4へ
出力される。その結果、第1表Aに示す5ワードのイメ
ージデータ61〜65が第1表Bに示す7個のランレングス
66〜72へ、すなわち“5",“2",“10",・・・へ変換され
る。
ここで、本発明の実施例と第4図に示す従来技術の処
理速度を比較する。
従来技術において、イメージデータを1ビット処理す
るのに1クロックかかるとすると、すなわち、第4図に
おけるシフトレジスタ8の動作時間を1クロックとする
と、第1表Aのイメージデータ61〜65を処理するのに80
(=16ビット×5ワード)クロックの時間を必要とす
る。
これに対して、本発明の実施例においては、第2図の
処理32〜処理39の実行するのに3クロックかかるとする
と、第1表Aのイメージデータ61〜65を処理するのに第
2図のフローチャートにおいて、処理31〜39,40,41を11
回繰り返すので合計3クロック×11=33クロックの時間
しか必要とせず、大幅に処理時間を短縮することができ
る。なお、処理32〜処理39を実行するのに3クロックか
かるという意味は、第1図のブロック図において、バレ
ルシフタ23,排他的論理和素子25,プライオリティエンコ
ーダ26,14ビット加算器27及び4ビット加算器28のそれ
ぞれの動作時間を合計したときの動作時間が、第4図に
示されるシフトレジスタ8の動作時間を1クロックとし
たとき、その3倍に相当するという意味である。
〔発明の効果〕
以上に述べたように、本発明のランレングス符号化装
置においては、イメージデータのランレングス変換を行
うに際し、イメージデータを1ワードずつラッチにラッ
チし、ラッチからのイメージデータを1ワードずつバレ
ルシフタに入力し、バレルシフタ内のイメージデータの
ランレングスをプライオリティエンコーダで検出してい
る。そして、検出したランレングスを加算器により順次
加算し、1ワード分になったときキャリーを出力させ自
分自身をクリアする。更に、加算器の出力をバレルシフ
タに供給し、このバレルシフタにおいて、加算器からの
加算された出力に等しいビット数だけイメージデータを
移動させるようにしている。これにより、一定長以下の
画素のランであれば、イメージデータを一度にランレン
グスに変換することができる。したがって、1ビットず
つ変換処理を行う従来技術に比べて、高速にランレング
ス変換を実行することができる。
【図面の簡単な説明】
第1図は本発明に係るランレングス符号化装置の実施例
の構成図、第2図は本発明の実施例の動作を説明するた
めのフローチャート、第3図はランレングス符号化を実
行する符号化回路の基本的構成図、第4図は従来技術の
実施例の構成図を示す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】イメージデータのランレングスを符号化す
    るランレングス符号化装置において、 前記イメージデータをn(但し、nはイメージデータの
    1ワードのビット数)ビットずつラッチするnビットの
    ラッチと、 前記nビットのラッチからのイメージデータが入力され
    るnビットのバレルシフタと、 前記nビットのバレルシフタの出力に接続され前記バレ
    ルシフタから入力されたイメージデータのランレングス
    を検出するプライオリティエンコーダと、 前記プライオリティエンコーダにより検出された前記ラ
    ンレングスの値を順次加算しその値がnとなったときに
    キャリーを出力して自分自身をクリアするとともに前記
    nビットラッチにラッチ動作を行なわせ、更に、加算さ
    れた出力を前記nビットのバレルシフタに供給するkビ
    ット(但し、2k=n)の加算器とを備えており、 前記nビットのラッチは、入力されるnビットのイメー
    ジデータ内の全てのランレングスが検出されるまでは前
    記nビットのバレルシフタに入力するイメージデータを
    更新しないようにイメージデータを保持するものであ
    り、 前記nビットのバレルシフタは、前記加算器からの加算
    された出力に等しいビット数だけ入力されたイメージデ
    ータを移動させて出力するものである ことを特徴とするランレングス符号化装置。
JP25624786A 1986-10-27 1986-10-27 ランレングス符号化装置 Expired - Lifetime JP2590840B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25624786A JP2590840B2 (ja) 1986-10-27 1986-10-27 ランレングス符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25624786A JP2590840B2 (ja) 1986-10-27 1986-10-27 ランレングス符号化装置

Publications (2)

Publication Number Publication Date
JPS63109665A JPS63109665A (ja) 1988-05-14
JP2590840B2 true JP2590840B2 (ja) 1997-03-12

Family

ID=17289981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25624786A Expired - Lifetime JP2590840B2 (ja) 1986-10-27 1986-10-27 ランレングス符号化装置

Country Status (1)

Country Link
JP (1) JP2590840B2 (ja)

Also Published As

Publication number Publication date
JPS63109665A (ja) 1988-05-14

Similar Documents

Publication Publication Date Title
US4467317A (en) High-speed arithmetic compression coding using concurrent value updating
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
KR910004640B1 (ko) 영상 크기 변환기
JP3189876B2 (ja) 可変長符号復号化回路
JP2590840B2 (ja) ランレングス符号化装置
US4924421A (en) Priority encoding system
JP3184670B2 (ja) 画像符号化装置
US6496602B2 (en) Sorting device of variable-length code
US4551706A (en) Apparatus for decoding run-length encoded data
JPS6362151B2 (ja)
JPH07200252A (ja) バレルシフタ回路
JP2536490B2 (ja) ランレングス符号化装置
JP2560735B2 (ja) 画像情報符号化復号化装置
US3866213A (en) Serial binary number and BCD conversion apparatus
JPH0736149B2 (ja) シフトフラグ生成回路
JPS59139443A (ja) コ−ド変換方式
JP2564318B2 (ja) 通信処理装置
JP2000278538A (ja) 算術符号化・復号化装置および方法
JPS63115229A (ja) エレメントシフト方式
JP3032239B2 (ja) 可変長符号の復号回路
JPS6341272B2 (ja)
JP3539077B2 (ja) 並列演算方式による除算方法
JP2503988B2 (ja) 画像符号化装置
JPH04235412A (ja) 多数決回路
JPS636172B2 (ja)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term