[go: up one dir, main page]

JP2000261674A - 画像伸長装置 - Google Patents

画像伸長装置

Info

Publication number
JP2000261674A
JP2000261674A JP11061270A JP6127099A JP2000261674A JP 2000261674 A JP2000261674 A JP 2000261674A JP 11061270 A JP11061270 A JP 11061270A JP 6127099 A JP6127099 A JP 6127099A JP 2000261674 A JP2000261674 A JP 2000261674A
Authority
JP
Japan
Prior art keywords
digit
change point
run length
bit
digits
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
JP11061270A
Other languages
English (en)
Inventor
Yoshinori Shiraishi
嘉則 白石
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11061270A priority Critical patent/JP2000261674A/ja
Publication of JP2000261674A publication Critical patent/JP2000261674A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】 ランレングスで指示された画像情報に基づ
き、白黒のビットパターンを出力データとして高速で出
力する画像伸長装置を提供する。 【解決手段】 複数桁のランレングスを保持するランレ
ングス保持手段と、該複数桁のランレングスの先頭桁か
ら後続桁へと次々に1桁分づつ累積加算し、各桁毎に加
算結果を出力する加算手段と、加算結果に基づき出力デ
ータの変化点位置を示す変化点ビットをランレングスの
桁数分生成し、前記ランレングスの桁数分生成された変
化点ビットから出力データ1桁分の変化点ビットを出力
する変化点情報生成手段と、前記変化点ビットに基づき
白黒のビットパターンを生成し出力するビット出力生成
手段と、を有する画像伸長装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、圧縮処理された画
像データから白黒のビットパターンを生成する画像伸長
装置に関する。
【0002】画像はテキストと比べてデータサイズが膨
大なため、画像を処理するためには大容量のメモリが必
要となり、また処理に長時間を要するという問題があっ
たが、その一方、文章で説明する場合と比較して格段に
分かりやすいという特徴があり、スキャナ等の画像入力
技術の発展に伴い画像を用いた説明が多用されるように
なってきている。
【0003】ビジネスでは、一般的に白黒で表示される
画像を使用する場合が多いため、白黒で表示される画像
を高速で処理する画像伸長装置が必要である。
【0004】
【従来の技術】画像データから画像を出力する方法とし
ては、ランレングス(「白または黒のビットの連続する
長さ」をいう。)の連続として画像データを表現し、例
えば、白を‘0’黒を‘1’とし、初期値白でランレン
グスが「1」,「2」,「3」,「4」,「5」,
「6」,・・・と入力される場合には「1」を解読して
‘0’次に「2」を解読して‘1’,‘1’次に「3」
を解読して‘0’,‘0’,‘0’というようにランレ
ングスを1桁づつ解読して白黒のビット列を出力する方
法が一般的に用いられている。
【0005】
【発明が解決しようとする課題】しかしながら、白黒の
変化の激しい画像、即ち先頭から後方へと「1」,
「1」,「1」,「1」,・・・・・というように小さ
い値のランレングスが続く場合はランレングスの数が多
くなるなるため処理に長時間を要するという問題があっ
た。
【0006】本発明は、白黒の変化の激しい画像であっ
ても高速で画像データから白黒のビットパターンを出力
する画像伸長装置を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明は、図9に示すよ
うにランレングスを入力として画像を生成する場合にお
いては、ランレングスを1桁分づつ累積加算すると処理
1に示すように白あるいは黒の連続が黒あるいは白に変
化する個々の点を数値で検知することが出来ることに着
目し、処理2に示すように数値を位置に変換し、得られ
た個々の位置を処理3に示すようにまとめると一定のビ
ット数を持つ変化する位置を示す情報を求める事が出
来、処理4に示すように先行するビットと当該情報との
排他的論理和をビット単位で前方から後方へととること
により一定のビット数の白黒データを出力するように構
成したものである。
【0008】本発明の画像伸長装置について、図1を参
照しながら説明する。
【0009】請求項1にあっては、画像伸長装置は、複
数桁のランレングスを保持するランレングス保持手段2
と、該複数桁のランレングスの先頭桁から後続桁へと1
桁分づつ累積加算し、各桁毎に結果を出力する加算手段
3と、加算結果に基づき出力データの変化点位置を示す
変化点ビットをランレングスの桁数分生成し、前記ラン
レングスの桁数分生成された変化点ビットから出力デー
タ1桁分の変化点ビットを生成する変化点情報生成手段
4と、前記変化点ビットに基づき白黒データを生成し出
力するビット出力生成手段5と、を有し、先頭桁から後
続桁へと所定の桁数のランレングスをランレングス保持
手段に読み込むと、1桁分の白黒データを生成し出力す
るよう構成される。
【0010】請求項2にあっては、画像伸長装置は、請
求項1にあげた各手段に加え、白黒データの開始位置を
指定するオフセット値を保持するオフセット値保持手段
1と、累積加算の過程で生じた桁上げを各桁毎に出力す
る加算手段3と、桁上げが生じる桁に到達するまでの加
算回数を計数し、前記桁までを処理済とし、桁上げが生
じた場合に変化点が無いことを示す変化点ビットの生成
を変化点情報生成手段4に指示し、桁上げが生じた桁の
加算結果をオフセット値保持手段1に格納し、処理済の
桁に続く未処理のランレングスをランレングス保持手段
2の先頭から詰めて格納すると共に前記加算回数でしめ
される桁数の後続するランレングスを該未処理のランレ
ングスに連続するようランレングス保持手段2に詰めて
格納する画像伸長制御手段6と、を有し、オフセット値
で指定された位置からランレングスで指定されたビット
数の連続する白黒データを生成し出力するよう構成す
る。
【0011】請求項3にあっては、画像伸長装置は、請
求項1及び請求項2にあげた各手段に加え、カウンタ部
とレジスタ部とからなる複数桁のランレングスを保持す
るランレングス保持手段2と、該複数桁のランレングス
のレジスタ部を先頭から後方へと1桁分づつ累積加算
し、各桁毎に加算結果を出力する加算手段3と、先頭桁
のカウンタ部を参照して有効値が設定されている場合に
はフラグをセットし、ランレングスの全ての桁について
変化点が無いことを示す変化点ビットの生成を変化点情
報生成手段4に指示し、先頭桁のカウンタ部に有効値が
設定されておらず、オフセット値とランレングスの先頭
桁の加算により桁上げが生じず、該フラグが設定されて
いる場合に当該桁について変化点が無いことを示す変化
点ビットの生成を変化点情報生成手段4に指示し、該フ
ラグをリセットする画像伸長制御手段6と、を有し、ラ
ンレングス値の大小によらず少ない回路量で1桁分の白
黒データを生成し出力するように構成される。
【0012】請求項1では、初めにN桁分のランレング
スをランレングス保持手段2に格納する。
【0013】次に、ランレングス保持手段2からN桁分
のランレングスを読み出し、1桁目のランレングスを変
化点情報生成手段4に入力する。
【0014】また、1桁目のランレングスと2桁目のラ
ンレングスとを加算手段3に入力し加算結果を変化点情
報生成手段4に入力する。
【0015】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0016】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまでまで繰り返す。
【0017】変化点情報生成手段4は1桁目のランレン
グス、1桁目のランレングスと2桁目のランレングスの
加算結果、前記加算結果と3桁目のランレングスの加算
結果、というようにN桁分のデータを基にしてN桁分の
変化点ビットを生成し、該N桁分の変化点ビットのビッ
ト毎の論理和を生成して1回分の変化点ビットとして出
力する。
【0018】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。
【0019】そして、再び、次のN桁分のランレングス
をランレングス保持手段2に格納して上記処理を繰り返
し、同様の処理をランレングスを全て処理し終えるまで
繰り返す。
【0020】請求項2では、初めにオフセット値をオフ
セット値保持手段1に、N桁分のランレングスをランレ
ングス保持手段2に格納する。
【0021】次に、オフセット値保持手段1からオフセ
ット値を、またランレングス保持手段2からはN桁分の
ランレングスを読み出し、オフセット値を変化点情報生
成手段4に入力する。
【0022】また、オフセット値と1桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0023】また、前記加算結果と2桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0024】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0025】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまで繰り返す。
【0026】この間、画像伸長制御手段6は加算手段3
にランレングスを1桁分入力する度にその回数を計数
し、加算手段3から桁上げを検出すると当該桁以降の桁
については変化点が無いことを示す変化点ビットの生成
を、当該桁より前の桁については加算結果を基に変化点
ビットを生成するように変化点情報生成手段4に指示す
る。
【0027】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。
【0028】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。
【0029】そして、画像伸長制御手段6はオフセット
値保持手段1に前記桁上げの生じた加算手段3の加算結
果を、また、ランレングス保持手段2には計数値で示さ
れる桁数分のランレングス読み込んで、先頭の、計数値
で示される桁数分詰めて格納して上記処理を繰り返し、
同様の処理をランレングスを全て処理し終えるまで繰り
返す。
【0030】請求項3では、初めにオフセット値をオフ
セット値保持手段1に、N桁分のランレングスをランレ
ングス保持手段2に格納する。
【0031】次に、1桁目のランレングスのカウンタ部
に有効な値が設定されているか否かを参照する。
【0032】有効な値が設定されている場合は、オフセ
ット値保持手段1からオフセット値を読み出し、変化点
情報生成手段4に入力する。画像伸長制御手段6はフラ
グを参照し、フラグがオフの場合は変化点情報生成手段
4に入力値に基づく変化点ビットを、フラグがオンの場
合は変化点が無いことを示す変化点ビットを生成するよ
う指示し、更に当該桁以外の桁についても変化点が無い
ことを示す変化点ビットを生成するよう指示する。
【0033】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。
【0034】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。
【0035】また、画像伸長制御手段6は1桁目のラン
レングスのカウンタ部の値を−1し、更にフラグを設定
した後、1桁目のランレングスのカウンタ部に有効な値
が設定されているか否かの参照から上記の処理を繰り返
す。
【0036】1桁目のランレングスのカウンタ部に有効
な値が設定されていないことを検出した場合、オフセッ
ト値保持手段1からオフセット値を、またランレングス
保持手段2からはN桁分のランレングスを読み出し、オ
フセット値を変化点情報生成手段4に入力する。
【0037】また、オフセット値と1桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0038】また、前記加算結果と2桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0039】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。
【0040】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまで繰り返す。
【0041】この間、画像伸長制御手段6は加算手段3
にランレングスを1桁分入力する度にその回数を計数
し、加算手段3から桁上げを検出すると当該桁以降の桁
については変化点が無いことを示す変化点ビットの生成
を、当該桁より前の桁については加算結果を基に変化点
ビットを生成するように変化点情報生成手段4に指示し
する。
【0042】また、桁上げを検出しなかった場合には、
1桁目のランレングスを加算する際にフラグを参照し、
フラグがオフなら変化点情報生成手段4に入力値に基づ
く変化点ビットを、フラグがオンなら変化点が無いこと
を示す変化点ビットを生成するよう指示し、フラグをオ
フにする。
【0043】更に、2桁目の以降のランレングスを加算
する際にはその都度カウンタ部に有効な値が設定されて
いるか否かを参照し、有効な値が設定されていることを
検出した場合は当該桁以降の桁について変化点が無いこ
とを示す変化点ビットを生成するよう指示する。
【0044】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。
【0045】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。
【0046】そして、画像伸長制御手段6はオフセット
値保持手段1に前記桁上げの生じた加算手段3の加算結
果を、また、ランレングス保持手段2には計数値で示さ
れる桁数分のランレングスを読み込んで、先頭の、計数
値で示される桁数分詰めて格納して上記処理を繰り返
し、同様の処理をランレングスを全て処理し終えるまで
繰り返す。
【0047】
【発明の実施の形態】本発明の実施の形態について、図
2〜図8を参照しながら説明する。
【0048】尚、本説明ではオフセット値は2ビット、
ランレングスは4ビットとして説明する。
【0049】画像伸長装置は、オフセット値を保持する
オフセットレジスタ(以下、「OFR」と略す。)1−
0と、各々が2ビットのカウンタ部(以下、「C部」と
略す。)と2ビットのレジスタ部(以下、「R部」と略
す。)とからなり、1桁分のランレングスを保持するラ
ンレングスレジスタA(以下、「RLRA」と略す。)
2−1,B(以下、「RLRB」と略す。)2−2,C
(以下、「RLRC」と略す。)2−3,D(以下、
「RLRD」と略す。)2−4と、OFRとRLRAを
加算し、桁上げ信号CAと加算結果SUMAを生成する
加算器A(以下、「ADDA」と略す。)3−1と、S
UMAとRLRBとを加算し、桁上げ信号CBと加算結
果SUMBを生成する加算器B(以下、「ADDB」と
略す。)3−2と、SUMBとRLRCとを加算し、桁
上げ信号CCと加算結果SUMCを生成する加算器C
(以下、「ADDC」と略す。)3−3と、SUMCと
RLRDとを加算し、桁上げ信号CDと加算結果SUM
Dを生成する加算器D(以下、「ADDD」と略す。)
3−4と、加算結果が示す値(例えば、「3」)をビッ
ト位置として、ビット0を‘0’,ビット1を‘0’,
ビット2を‘0’,ビット3を‘1’に変換してビット
位置3が変換点であることを示す複数のデコーダ、即ち
SUMAを入力とするデコーダA(以下、「DECA」
と略す。)4−1と、SUMBを入力とするデコーダB
(以下、「DECB」と略す。)4−2と、SUMCを
入力とするデコーダC(以下、「DECC」と略す。)
4−3と、SUMDを入力とするデコーダD(以下、
「DECD」と略す。)4−4と、オフセット値を入力
としてビット位置が変換点であることを示すデコーダZ
(以下、「DECZ」と略す。)4−0と、DECA4
−1〜DECZ4−0の出力を入力として1桁分の変化
点情報を生成する論理和回路(以下、「OR」と略
す。)4−5と、先行ビットの値を保持するフリップフ
ロップ(以下、「FF」と略す。)5−5と、FF5−
5の値と連続する後続ビットの排他的論理和を出力する
EORA5−1と、EORA5−1の出力と後続ビット
の排他的論理和を出力するEORB5−2と、EORB
5−2の出力と後続ビットの排他的論理和を出力するE
ORC5−3と、EORC5−3の出力と後続ビットの
排他的論理和を出力するEORD5−4とからなり、先
行出力される白黒データと変化点情報に基づき、後続す
る白黒データを1桁分生成するビット出力生成回路(以
下、「EOR」と略す。)5−0と、RLRA2−1〜
RLRD2−4の中で、C部が‘00’の個数を保持す
るカウンタ(以下、「CNT」と略す。)6−2と、R
LRA2−1のC部が‘00’以外であることを表示す
る4以上フラグ6−1と、RLRA2−1のC部を参照
し、‘00’以外の場合に4以上フラグ6−1をセット
し、‘00’になるとリセットし、RLRA2−1のC
部が‘00’以外の場合に、RLRA2−1のC部を
‘00’になるまでカウントダウンし、その度にDEC
A4−1〜DECD4−4から‘0000’を出力さ
せ、RLRA2−1〜RLR2−4のC部を順次参照し
‘00’の個数をCNT6−2に記録する制御回路6−
6と、からなる。
【0050】次に、本発明の画像伸長の処理の流れを、
オフセット値が「2」,ランレングスが先頭から
「5」,「2」,「3」,「1」,「2」,「3」,
「1」,「2」,「3」,「1」の順に連なる場合を例
として説明する。
【0051】尚、以下の説明で‘ ’で括られた数値は
バイナリ表現(後方から前方へ2の0乗,2の1乗・・
・と重み付けされている。)の数値とし、“ かっこき
ごうで括られた数値はバイナリ表現(前方から後方へ2
の0乗,2の1乗・・・と重み付けされている。)の数
値とする。
【0052】初めにCNT6−2を初期化して0(即
ち、‘00’を設定)とし、4以上フラグ6−1を初期
化して0(即ち、‘0’を設定)とし、オフセット値2
(即ち、‘10’)をOFR1−0に設定し、ランレン
グス5(即ち、‘0101’)をRLRA2−1に、2
(即ち、‘0010’)をRLRB2−2に、3(即
ち、‘0011’)をRLRC2−3に、1(即ち、
‘0001’)をRLRD2−4に設定する。〔図7の
タイミングT1を参照〕(ステップS00) 次に、制御回路6−0はRLRA2−1のC部を参照
し、0でないためステップS31に進む。(ステップS
01) 次に、制御回路6−0は4以上フラグ6−1を参照し、
DECZ4−0からは変換結“0010”を、DECA
4−1〜DECD4−4の各々から“0000”を、出
力し〔図7のタイミングT3を参照〕、OR4−5から
変化点ビットDECO“0010”を出力する。〔図7
のタイミングT4を参照〕 そして、DECO“0010”をi0が‘0’,i1が
‘0’,i2が‘1’,i3が‘0’の順にEOR5−
0に入力し、EORA5−1からはFF5−5の保持す
る初期値‘0’とi0の排他的論理和‘0’をb0とし
て、b0とi1の排他的論理和‘0’をb1として、b
1とi2の排他的論理和‘1’をb2として、b2とi
3の排他的論理和‘1’をb3とする、即ちb0,b
1,b2,b3の4ビットからなる白黒データOUTを
出力する。〔図7のタイミングT5を参照。〕 更に、4以上フラグ6−1をセットし、RLRA2−1
のC部を−1して0とし、b3即ち‘1’をFF5−5
にセットしてステップS01に戻る。(ステップS31
〜S35) 次に、制御回路6−0はRLRA2−1のC部を参照
し、0であるためステップS02に進む。この時CNT
6−2には‘00’、4以上フラグ6−1には‘1’、
OFR1−0には‘10’、RLRA2−1には‘00
01’、RLRB2−2には‘0010’、RLRC2
−3には‘0011’、RLRD2−4には‘000
1’、が設定されている。〔図7のタイミングT6を参
照〕(ステップS01) 制御回路6−0はCNT6−2に1を加えて1とし、O
FR1−0,RLRA2−1〜RLRD2−4をADD
A3−1〜ADDD3−4に入力し、ADDA3−1か
ら桁上げ信号CAが出力されなかったため、ステップS
05に進む。(ステップS02〜S04) ADDA3−1から加算結果‘11’が、ADDB3−
2から加算結果‘01’が出力され〔図7のタイミング
T7を参照〕、制御回路6−0は4以上フラグ6−1が
‘1’のため、DECZ4−0から“0000”を、D
ECA4−1から前記‘11’を変換した“0001”
を出力して4以上フラグ6−1を‘0’にし(ステップ
S05)、RLRB2−2のC部を参照し、0であるた
めCNT6−2に1を加え、ADDB3−2から桁上げ
CBが出力(ステップS05〜S08)されたためDE
CB4−2〜DECD4−4から“0000”を出力す
る。〔図7のタイミングT8を参照〕(ステップS27
〜S28) そしてOR4−5から変化点ビットDECO“000
1”を出力する。〔図7のタイミングT9を参照〕 そして、DECO“0001”をi0が‘0’,i1が
‘0’,i2が‘0’,i3が‘1’の順にEOR5−
0に入力し、EORA5−1からはFF5−5の保持す
る‘1’とi0の排他的論理和‘1’をb0として、b
0とi1の排他的論理和‘1’をb1として、b1とi
2の排他的論理和‘1’をb2として、b2とi3の排
他的論理和‘0’をb3とする、即ちb0,b1,b
2,b3の4ビットからなる白黒データOUTを出力す
る。〔図7のタイミングT10を参照。〕(ステップS
18〜S19) そして、桁上げを生じたADDB3−2の加算結果‘0
1’をOFR1−0にセットし、CNTの指定する桁
数、即ち2桁分のランレングスを読み込み、RLRC2
−3から‘0011’をRLRA2−1へ、RLRD2
−4から‘0001’をRLRB2−2へ転送し、RL
RC2−3には‘0010’を、RLRD2−4には
‘0011’を設定し〔図8のタイミングT11を参
照。〕、4以上フラグ6−1及びCNT6−2をリセッ
トしてステップS01に戻る。(ステップS20〜S2
2) 次に、制御回路6−0はRLRA2−1のC部を参照
し、0であるためステップS02に進む。(ステップS
01) 制御回路6−0はCNT6−2に1を加えて1とし、O
FR1−0,RLRA2−1〜RLRD2−4をADD
A3−1〜ADDD3−4に入力し、ADDA3−1か
ら桁上げ信号CAが出力されたため、ステップS29に
進む。(ステップS02〜S04) そしてDECZ4−0からはOFR1−0に保持される
‘01’を基に生成した“0100”を、DECA4−
1〜DECD4−4からは“0000”を出力する。
〔図8のタイミングT13を参照〕(ステップS29〜
S30) そしてOR4−5から変化点ビットDECO“010
0”を出力する。〔図8のタイミングT14を参照〕 そして、DECO“0100”をi0が‘0’,i1が
‘1’,i2が‘0’,i3が‘0’の順にEOR5−
0に入力し、EORA5−1からはFF5−5の保持す
る‘0’とi0の排他的論理和‘0’をb0として、b
0とi1の排他的論理和‘1’をb1として、b1とi
2の排他的論理和‘1’をb2として、b2とi3の排
他的論理和‘1’をb3とする、即ちb0,b1,b
2,b3の4ビットからなる白黒データOUTを出力す
る。〔図8のタイミングT15を参照。〕(ステップS
18〜S19) そして、桁上げを生じたADDA3−1の加算結果‘0
0’をOFR1−0にセットし、CNTの指定する桁
数、即ち1桁分のランレングスを読み込み、RLRC2
−2から‘0001’をRLRA2−1へ、RLRD2
−3から‘0010’をRLRB2−2B、RC2−4
から‘0011’をRLRA2−3へ転送し、RLRC
2−4には‘0001’を設定し〔図8のタイミングT
16を参照。〕、4以上フラグ6−1及びCNT6−2
をリセットしてステップS01に戻る。(ステップS2
0〜S22) 次に、制御回路6−0はRLRA2−1のC部を参照
し、0であるためステップS02に進む。(ステップS
01) 制御回路6−0はCNT6−2に1を加えて1とし、O
FR1−0,RLRA2−1〜RLRD2−4をADD
A3−1〜ADDD3−4に入力し、ADDA3−1か
ら桁上げ信号CAが出力されないため、ステップS05
に進む。(ステップS02〜S04) 4以上フラグ6−1がオフのため、OFR1−0に保持
される‘00’を基に生成した“1000”をDECZ
4−0から出力し、ADDA3−1の出力‘01’に基
づく“0100”をDECA4−1から出力する。(ス
テップS05) 次に、制御回路6−0はRLRB2−2のC部を参照
し、0であるためステップS07に進む。(ステップS
06) 制御回路6−0はCNT6−2に1を加えて2とし、A
DDB3−2から桁上げ信号CBが出力されないため、
ステップS09に進む。(ステップS07〜S08) ADDB3−2の出力‘11’に基づく“0001”を
DECB4−2から出力する。(ステップS09) 次に、制御回路6−0はRLRC2−3のC部を参照
し、0であるためステップS02に進む。(ステップS
10) 制御回路6−0はCNT6−2に1を加えて3とし、A
DDC3−3から桁上げ信号CCが出力されくため、ス
テップS25に進む。(ステップS11〜S12) そして、DECC4−3〜DECD4−4からは“00
00”を出力する。〔図8のタイミングT18を参照〕
(ステップS25〜S26) そしてOR4−5から変化点ビットDECO“110
1”を出力する。〔図8のタイミングT19を参照〕 そして、DECO“1101”をi0が‘1’,i1が
‘1’,i2が‘0’,i3が‘1’の順にEOR5−
0に入力し、EORA5−1からはFF5−5の保持す
る‘1’とi0の排他的論理和‘0’をb0として、b
0とi1の排他的論理和‘1’をb1として、b1とi
2の排他的論理和‘1’をb2として、b2とi3の排
他的論理和‘0’をb3とする、即ちb0,b1,b
2,b3の4ビットからなる白黒データOUTを出力す
る。〔図8のタイミングT20を参照。〕(ステップS
18〜S19) 以下、同様の処理をランレングスがなくなる迄繰り返
し、処理を終了する。
【0053】
【発明の効果】以上説明した様に、本発明によれば白黒
の変化の激しい画像、即ち小さい値のランレングスが続
く場合であっても一桁が一定のビット数からなる白黒パ
ターンを高速で出力出来るようになるため、画像処理時
間を高速化することが出来るという工業的効果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 本発明の画像伸長装置の構成図
【図3】 本発明のビット出力回路の構成図
【図4】 本発明のフローチャート図(その1)
【図5】 本発明のフローチャート図(その2)
【図6】 本発明のフローチャート図(その3)
【図7】 本発明のデータの変化を説明する図(その
1)
【図8】 本発明のデータの変化を説明する図(その
2)
【図9】 処理の概要を示す図
【符号の説明】
1 オフセット値保持手段 2 ランレングス保持手段 3 加算手段 4 変化点情報生成手段 5 ビット出力生成手段 6 画像伸長制御手段 1−0 オフセットレジスタ(「OFR」と略す。) 2−1 ランレングスレジスタ1(「RLRA」と略
す。) 2−2 ランレングスレジスタ2(「RLRB」と略
す。) 2−3 ランレングスレジスタ1(「RLRC」と略
す。) 2−4 ランレングスレジスタ2(「RLRD」と略
す。) 3−1 加算器A(「ADDA」と略す。) 3−2 加算器B(「ADDB」と略す。) 3−3 加算器C(「ADDC」と略す。) 3−4 加算器D(「ADDD」と略す。) 4−0 デコーダZ(「DECZ」と略す。) 4−1 デコーダA(「DECA」と略す。) 4−2 デコーダB(「DECB」と略す。) 4−3 デコーダC(「DECC」と略す。) 4−4 デコーダD(「DECD」と略す。) 4−5 論理和回路(「OR」と略す。) 5−0 ビット出力回路(「EOR」と略す。) 6−0 制御回路 6−1 4以上フラグ 6−2 カウンタ(「CNT」と略す。)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 白または黒のビットの連続する長さを示
    すランレングスを入力として白黒データを出力する画像
    伸長装置であって、 複数桁のランレングスを保持するランレングス保持手段
    と、 該複数桁のランレングスの先頭桁から後続桁へと1桁分
    づつ累積加算し、各桁毎に結果を出力する加算手段と、 加算結果に基づき出力データの変化点位置を示す変化点
    ビットをランレングスの桁数分生成し、前記ランレング
    スの桁数分生成された変化点ビットから出力データ1桁
    分の変化点ビットを生成する変化点情報生成手段と、 前記変化点ビットに基づき白黒データを生成し出力する
    ビット出力生成手段と、を有する画像伸長装置。
  2. 【請求項2】 白黒データの開始位置を指定するオフセ
    ット値を保持するオフセット値保持手段と、 各桁毎に、累積加算の過程で生じた桁上げを出力する加
    算手段と、 桁上げが生じる桁に到達するまでの加算回数を計数し、
    前記桁までを処理済とし、桁上げが生じた場合に当該桁
    以降の桁については変化点が無いことを意味する変化点
    ビットの生成を変化点情報生成手段に指示し、桁上げが
    生じた桁の加算結果をオフセット値保持手段に格納し、
    処理済の桁に続く未処理のランレングスをランレングス
    保持手段の先頭から詰めて格納すると共に前記加算回数
    で示される桁数の後続するランレングスを該未処理のラ
    ンレングスに連続するようランレングス保持手段に詰め
    て格納する画像伸長制御手段と、 を有することを特徴とする請求項1に記載の画像伸長装
    置。
  3. 【請求項3】 各々がカウンタ部とレジスタ部とからな
    る複数桁のランレングスを保持するランレングス保持手
    段と、 該複数桁のランレングスのレジスタ部を先頭桁から後続
    桁へと次々に1桁分づつ累積加算し、各桁毎に結果を出
    力する加算手段と、 先頭桁のカウンタ部を参照して有効値が設定されている
    場合にはフラグをセットし、ランレングスの全桁分につ
    いて変化点が無いことを示す変化点ビットの生成を変化
    点情報生成手段に指示し、先頭桁のカウンタ部に有効値
    が設定されておらず、オフセット値とランレングスの先
    頭桁の加算により桁上げが生じず、該フラグがセットさ
    れている場合に当該桁について変化点が無いことを示す
    変化点ビットの生成を変化点情報生成手段に指示し、該
    フラグをリセットする画像伸長制御手段と、 を有することを特徴とする請求項2に記載の画像伸長装
    置。
JP11061270A 1999-03-09 1999-03-09 画像伸長装置 Pending JP2000261674A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11061270A JP2000261674A (ja) 1999-03-09 1999-03-09 画像伸長装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11061270A JP2000261674A (ja) 1999-03-09 1999-03-09 画像伸長装置

Publications (1)

Publication Number Publication Date
JP2000261674A true JP2000261674A (ja) 2000-09-22

Family

ID=13166372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11061270A Pending JP2000261674A (ja) 1999-03-09 1999-03-09 画像伸長装置

Country Status (1)

Country Link
JP (1) JP2000261674A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014150913A3 (en) * 2013-03-15 2015-04-23 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US9158810B2 (en) 2012-10-02 2015-10-13 Oracle International Corporation Hardware message queues for intra-cluster communication
US9201944B2 (en) 2011-12-08 2015-12-01 Oracle International Corporation Techniques for maintaining column vectors of relational data within volatile memory
US9342314B2 (en) 2011-12-08 2016-05-17 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US9697174B2 (en) 2011-12-08 2017-07-04 Oracle International Corporation Efficient hardware instructions for processing bit vectors for single instruction multiple data processors
US9792117B2 (en) 2011-12-08 2017-10-17 Oracle International Corporation Loading values from a value vector into subregisters of a single instruction multiple data register
US9886459B2 (en) 2013-09-21 2018-02-06 Oracle International Corporation Methods and systems for fast set-membership tests using one or more processors that support single instruction multiple data instructions
US9990308B2 (en) 2015-08-31 2018-06-05 Oracle International Corporation Selective data compression for in-memory databases
US10025823B2 (en) 2015-05-29 2018-07-17 Oracle International Corporation Techniques for evaluating query predicates during in-memory table scans
US10055358B2 (en) 2016-03-18 2018-08-21 Oracle International Corporation Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors
US10061832B2 (en) 2016-11-28 2018-08-28 Oracle International Corporation Database tuple-encoding-aware data partitioning in a direct memory access engine
US10061714B2 (en) 2016-03-18 2018-08-28 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors
US10176114B2 (en) 2016-11-28 2019-01-08 Oracle International Corporation Row identification number generation in database direct memory access engine
US10380058B2 (en) 2016-09-06 2019-08-13 Oracle International Corporation Processor core to coprocessor interface with FIFO semantics
US10402425B2 (en) 2016-03-18 2019-09-03 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors
US10459859B2 (en) 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine
US10534606B2 (en) 2011-12-08 2020-01-14 Oracle International Corporation Run-length encoding decompression
US10599488B2 (en) 2016-06-29 2020-03-24 Oracle International Corporation Multi-purpose events for notification and sequence control in multi-core processor systems
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine
US10783102B2 (en) 2016-10-11 2020-09-22 Oracle International Corporation Dynamically configurable high performance database-aware hash engine

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697174B2 (en) 2011-12-08 2017-07-04 Oracle International Corporation Efficient hardware instructions for processing bit vectors for single instruction multiple data processors
US10229089B2 (en) 2011-12-08 2019-03-12 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US9201944B2 (en) 2011-12-08 2015-12-01 Oracle International Corporation Techniques for maintaining column vectors of relational data within volatile memory
US10534606B2 (en) 2011-12-08 2020-01-14 Oracle International Corporation Run-length encoding decompression
US9965501B2 (en) 2011-12-08 2018-05-08 Oracle International Corporation Techniques for maintaining column vectors of relational data within volatile memory
US9342314B2 (en) 2011-12-08 2016-05-17 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
US9792117B2 (en) 2011-12-08 2017-10-17 Oracle International Corporation Loading values from a value vector into subregisters of a single instruction multiple data register
US10055224B2 (en) 2012-10-02 2018-08-21 Oracle International Corporation Reconfigurable hardware structures for functional pipelining of on-chip special purpose functions
US9251272B2 (en) 2012-10-02 2016-02-02 Oracle International Corporation Reconfigurable hardware structures for functional pipelining of on-chip special purpose functions
US9158810B2 (en) 2012-10-02 2015-10-13 Oracle International Corporation Hardware message queues for intra-cluster communication
CN105229599A (zh) * 2013-03-15 2016-01-06 甲骨文国际公司 用于单指令多数据处理器的高效硬件指令
EP3093758A1 (en) * 2013-03-15 2016-11-16 Oracle International Corporation Run length instruction for single instruction multiple data processors
WO2014150913A3 (en) * 2013-03-15 2015-04-23 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors
CN105229599B (zh) * 2013-03-15 2017-12-12 甲骨文国际公司 用于单指令多数据处理器的高效硬件指令
US9886459B2 (en) 2013-09-21 2018-02-06 Oracle International Corporation Methods and systems for fast set-membership tests using one or more processors that support single instruction multiple data instructions
US10922294B2 (en) 2013-09-21 2021-02-16 Oracle International Corporation Methods and systems for fast set-membership tests using one or more processors that support single instruction multiple data instructions
US10915514B2 (en) 2013-09-21 2021-02-09 Oracle International Corporation Methods and systems for fast set-membership tests using one or more processors that support single instruction multiple data instructions
US10025823B2 (en) 2015-05-29 2018-07-17 Oracle International Corporation Techniques for evaluating query predicates during in-memory table scans
US10073885B2 (en) 2015-05-29 2018-09-11 Oracle International Corporation Optimizer statistics and cost model for in-memory tables
US10216794B2 (en) 2015-05-29 2019-02-26 Oracle International Corporation Techniques for evaluating query predicates during in-memory table scans
US9990308B2 (en) 2015-08-31 2018-06-05 Oracle International Corporation Selective data compression for in-memory databases
US10331572B2 (en) 2015-08-31 2019-06-25 Oracle International Corporation Selective data mirroring for in-memory databases
US10402425B2 (en) 2016-03-18 2019-09-03 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors
US10061714B2 (en) 2016-03-18 2018-08-28 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors
US10055358B2 (en) 2016-03-18 2018-08-21 Oracle International Corporation Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors
US10599488B2 (en) 2016-06-29 2020-03-24 Oracle International Corporation Multi-purpose events for notification and sequence control in multi-core processor systems
US10380058B2 (en) 2016-09-06 2019-08-13 Oracle International Corporation Processor core to coprocessor interface with FIFO semantics
US10614023B2 (en) 2016-09-06 2020-04-07 Oracle International Corporation Processor core to coprocessor interface with FIFO semantics
US10783102B2 (en) 2016-10-11 2020-09-22 Oracle International Corporation Dynamically configurable high performance database-aware hash engine
US10176114B2 (en) 2016-11-28 2019-01-08 Oracle International Corporation Row identification number generation in database direct memory access engine
US10459859B2 (en) 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine
US10061832B2 (en) 2016-11-28 2018-08-28 Oracle International Corporation Database tuple-encoding-aware data partitioning in a direct memory access engine
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine

Similar Documents

Publication Publication Date Title
JP2000261674A (ja) 画像伸長装置
US5150430A (en) Lossless data compression circuit and method
JP3249405B2 (ja) 誤り訂正回路および誤り訂正方法
JP2766302B2 (ja) 可変長符号並列解読方法および装置
EP0021283A1 (en) Digital data apparatus
JP2819174B2 (ja) デジタル・サンプルのコード化装置およびコード化法、およびビデオ信号処理システム
KR870008446A (ko) 2진 데이타 압축·신장 처리 장치
JPH10107646A (ja) Crc符号発生回路、符号誤り検出回路、及びcrc回路
KR940011037B1 (ko) 어드레스 발생회로
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
US8018359B2 (en) Conversion of bit lengths into codes
CN113986147A (zh) 一种raid 6硬件加速电路结构和raid 6硬件加速实现方法
EP0431416A2 (en) Apparatus and method for accessing a cyclic redundancy error check code generated in parallel
EP0499225A2 (en) Variable-length code decoding device
JPH09284142A (ja) 可変長復号化装置
JPWO2015133095A1 (ja) パリティ検査符号生成装置、符号化方法、符号化装置および制御プログラム
JP3252029B2 (ja) 符号化装置及び符号化方法
JP2002171525A (ja) ビットプレーン演算命令を備えたsimd型演算装置
JP3088785B2 (ja) 可変長符号の復号装置
JPH10215187A (ja) 誤り検出符号化復号装置および方法
JP3229690B2 (ja) 可変長符号復号器
KR100247062B1 (ko) 링구조를 갖는 선입선출 방식 및 회로
JP2728818B2 (ja) 可変長復号化器
JP2005216477A (ja) 選択的なpo補正を利用したdvdデコーディング方法及び装置
JP3078138B2 (ja) 可変長コード生成装置