JP2000261674A - Image expansion device - Google Patents
Image expansion deviceInfo
- 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
Links
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
(57)【要約】
【課題】 ランレングスで指示された画像情報に基づ
き、白黒のビットパターンを出力データとして高速で出
力する画像伸長装置を提供する。
【解決手段】 複数桁のランレングスを保持するランレ
ングス保持手段と、該複数桁のランレングスの先頭桁か
ら後続桁へと次々に1桁分づつ累積加算し、各桁毎に加
算結果を出力する加算手段と、加算結果に基づき出力デ
ータの変化点位置を示す変化点ビットをランレングスの
桁数分生成し、前記ランレングスの桁数分生成された変
化点ビットから出力データ1桁分の変化点ビットを出力
する変化点情報生成手段と、前記変化点ビットに基づき
白黒のビットパターンを生成し出力するビット出力生成
手段と、を有する画像伸長装置。
(57) Abstract: Provided is an image decompression device that outputs a black and white bit pattern as output data at a high speed based on image information specified by a run length. SOLUTION: Run length holding means for holding a plurality of digits of run length, and accumulatively adding one digit after another from a first digit to a subsequent digit of the plurality of digits of run length, and outputting an addition result for each digit And a change point bit indicating a change point position of the output data based on the addition result, the number of which is equal to the number of run-length digits. An image decompression device comprising: a change point information generation unit that outputs a change point bit; and a bit output generation unit that generates and outputs a black and white bit pattern based on the change point bit.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、圧縮処理された画
像データから白黒のビットパターンを生成する画像伸長
装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image decompression device for generating a black and white bit pattern from compressed image data.
【0002】画像はテキストと比べてデータサイズが膨
大なため、画像を処理するためには大容量のメモリが必
要となり、また処理に長時間を要するという問題があっ
たが、その一方、文章で説明する場合と比較して格段に
分かりやすいという特徴があり、スキャナ等の画像入力
技術の発展に伴い画像を用いた説明が多用されるように
なってきている。An image has a large data size compared to a text, so that a large-capacity memory is required to process the image, and a long processing time is required. It has a feature that it is much easier to understand as compared with the case where it is explained, and with the development of image input technology such as a scanner, an explanation using an image has been frequently used.
【0003】ビジネスでは、一般的に白黒で表示される
画像を使用する場合が多いため、白黒で表示される画像
を高速で処理する画像伸長装置が必要である。In business, an image displayed in black and white is generally used in many cases. Therefore, an image decompression device for processing an image displayed in black and white at high speed is required.
【0004】[0004]
【従来の技術】画像データから画像を出力する方法とし
ては、ランレングス(「白または黒のビットの連続する
長さ」をいう。)の連続として画像データを表現し、例
えば、白を‘0’黒を‘1’とし、初期値白でランレン
グスが「1」,「2」,「3」,「4」,「5」,
「6」,・・・と入力される場合には「1」を解読して
‘0’次に「2」を解読して‘1’,‘1’次に「3」
を解読して‘0’,‘0’,‘0’というようにランレ
ングスを1桁づつ解読して白黒のビット列を出力する方
法が一般的に用いられている。2. Description of the Related Art As a method of outputting an image from image data, image data is expressed as a sequence of run lengths (referred to as "continuous length of white or black bits"). "Black" is set to "1", the initial value is white and the run length is "1", "2", "3", "4", "5",
If "6", ... is input, "1" is decoded, then "0" is decoded, then "2" is decoded, then "1", "1", then "3".
Is generally used to decode the run length one digit at a time, such as '0', '0', '0', and output a black and white bit string.
【0005】[0005]
【発明が解決しようとする課題】しかしながら、白黒の
変化の激しい画像、即ち先頭から後方へと「1」,
「1」,「1」,「1」,・・・・・というように小さ
い値のランレングスが続く場合はランレングスの数が多
くなるなるため処理に長時間を要するという問題があっ
た。However, an image in which black and white changes rapidly, that is, "1",
When run lengths having a small value such as “1”, “1”, “1”,... Continue, the number of run lengths increases, so that there is a problem in that processing takes a long time.
【0006】本発明は、白黒の変化の激しい画像であっ
ても高速で画像データから白黒のビットパターンを出力
する画像伸長装置を提供することを目的とする。SUMMARY OF THE INVENTION It is an object of the present invention to provide an image decompression device that outputs a black and white bit pattern from image data at high speed even for an image having a sharp change in black and white.
【0007】[0007]
【課題を解決するための手段】本発明は、図9に示すよ
うにランレングスを入力として画像を生成する場合にお
いては、ランレングスを1桁分づつ累積加算すると処理
1に示すように白あるいは黒の連続が黒あるいは白に変
化する個々の点を数値で検知することが出来ることに着
目し、処理2に示すように数値を位置に変換し、得られ
た個々の位置を処理3に示すようにまとめると一定のビ
ット数を持つ変化する位置を示す情報を求める事が出
来、処理4に示すように先行するビットと当該情報との
排他的論理和をビット単位で前方から後方へととること
により一定のビット数の白黒データを出力するように構
成したものである。According to the present invention, when an image is generated by using run length as an input as shown in FIG. Focusing on the fact that individual points at which black continuity changes to black or white can be detected numerically, the numerical values are converted into positions as shown in process 2, and the obtained individual positions are shown in process 3. In summary, information indicating a changing position having a certain number of bits can be obtained, and as shown in processing 4, the exclusive OR of the preceding bit and the information is taken bit by bit from the front to the rear. Thus, black and white data having a fixed number of bits is output.
【0008】本発明の画像伸長装置について、図1を参
照しながら説明する。The image decompression device of the present invention will be described with reference to FIG.
【0009】請求項1にあっては、画像伸長装置は、複
数桁のランレングスを保持するランレングス保持手段2
と、該複数桁のランレングスの先頭桁から後続桁へと1
桁分づつ累積加算し、各桁毎に結果を出力する加算手段
3と、加算結果に基づき出力データの変化点位置を示す
変化点ビットをランレングスの桁数分生成し、前記ラン
レングスの桁数分生成された変化点ビットから出力デー
タ1桁分の変化点ビットを生成する変化点情報生成手段
4と、前記変化点ビットに基づき白黒データを生成し出
力するビット出力生成手段5と、を有し、先頭桁から後
続桁へと所定の桁数のランレングスをランレングス保持
手段に読み込むと、1桁分の白黒データを生成し出力す
るよう構成される。According to the first aspect of the present invention, the image decompression device includes a run length holding unit for holding a plurality of digits of run length.
And 1 from the leading digit to the trailing digit of the multi-digit run length.
Adding means 3 for accumulating and adding a result for each digit and outputting a result for each digit; and generating a change point bit indicating a change point position of the output data on the basis of the addition result for the number of run length digits. A change point information generating means 4 for generating change point bits for one digit of output data from change point bits generated for several minutes, and a bit output generating means 5 for generating and outputting black and white data based on the change point bits. When a run length of a predetermined number of digits is read from the leading digit to the succeeding digit into the run length holding means, one digit of monochrome data is generated and output.
【0010】請求項2にあっては、画像伸長装置は、請
求項1にあげた各手段に加え、白黒データの開始位置を
指定するオフセット値を保持するオフセット値保持手段
1と、累積加算の過程で生じた桁上げを各桁毎に出力す
る加算手段3と、桁上げが生じる桁に到達するまでの加
算回数を計数し、前記桁までを処理済とし、桁上げが生
じた場合に変化点が無いことを示す変化点ビットの生成
を変化点情報生成手段4に指示し、桁上げが生じた桁の
加算結果をオフセット値保持手段1に格納し、処理済の
桁に続く未処理のランレングスをランレングス保持手段
2の先頭から詰めて格納すると共に前記加算回数でしめ
される桁数の後続するランレングスを該未処理のランレ
ングスに連続するようランレングス保持手段2に詰めて
格納する画像伸長制御手段6と、を有し、オフセット値
で指定された位置からランレングスで指定されたビット
数の連続する白黒データを生成し出力するよう構成す
る。According to a second aspect of the present invention, in addition to the means described in the first aspect, the image decompression apparatus further comprises: an offset value holding means 1 for holding an offset value for designating a start position of the black and white data; Adding means 3 for outputting the carry generated in the process for each digit, and counting the number of additions until the digit at which the carry is generated is counted, and processing is performed up to the said digit. The change point information generation means 4 is instructed to generate a change point bit indicating that there is no point, the addition result of the digit where the carry has occurred is stored in the offset value holding means 1, and the unprocessed digit following the processed digit is stored. The run length is packed and stored from the beginning of the run length holding means 2, and the run length following the number of digits indicated by the number of additions is packed and stored in the run length holding means 2 so as to be continuous with the unprocessed run length. Image expansion A control means 6, it has to configured generates and outputs the white data of consecutive number of bits specified by the run-length from the position specified by the offset value.
【0011】請求項3にあっては、画像伸長装置は、請
求項1及び請求項2にあげた各手段に加え、カウンタ部
とレジスタ部とからなる複数桁のランレングスを保持す
るランレングス保持手段2と、該複数桁のランレングス
のレジスタ部を先頭から後方へと1桁分づつ累積加算
し、各桁毎に加算結果を出力する加算手段3と、先頭桁
のカウンタ部を参照して有効値が設定されている場合に
はフラグをセットし、ランレングスの全ての桁について
変化点が無いことを示す変化点ビットの生成を変化点情
報生成手段4に指示し、先頭桁のカウンタ部に有効値が
設定されておらず、オフセット値とランレングスの先頭
桁の加算により桁上げが生じず、該フラグが設定されて
いる場合に当該桁について変化点が無いことを示す変化
点ビットの生成を変化点情報生成手段4に指示し、該フ
ラグをリセットする画像伸長制御手段6と、を有し、ラ
ンレングス値の大小によらず少ない回路量で1桁分の白
黒データを生成し出力するように構成される。According to a third aspect of the present invention, the image decompression device further includes a run length holding unit that holds a plurality of digits of a run length including a counter unit and a register unit, in addition to the units described in the first and second aspects. Means 2, accumulative addition means 3 for accumulating the multi-digit run-length register portion by one digit from the beginning to the rear and outputting the addition result for each digit, and the counter portion of the leading digit. If a valid value is set, a flag is set, and the change point information generation means 4 is instructed to generate a change point bit indicating that there is no change point for all digits of the run length. Is not set, a carry does not occur due to the addition of the offset value and the first digit of the run length, and when the flag is set, a change point bit indicating that there is no change point for the digit is set. Change generation Image decompression control means 6 for instructing the point information generation means 4 and resetting the flag so as to generate and output one digit of monochrome data with a small circuit amount regardless of the magnitude of the run length value. Be composed.
【0012】請求項1では、初めにN桁分のランレング
スをランレングス保持手段2に格納する。In the first aspect, the run length of N digits is stored in the run length holding means 2 first.
【0013】次に、ランレングス保持手段2からN桁分
のランレングスを読み出し、1桁目のランレングスを変
化点情報生成手段4に入力する。Next, the run length of N digits is read from the run length holding means 2 and the first digit run length is inputted to the change point information generating means 4.
【0014】また、1桁目のランレングスと2桁目のラ
ンレングスとを加算手段3に入力し加算結果を変化点情
報生成手段4に入力する。The first digit run length and the second digit run length are input to the adding means 3 and the addition result is input to the change point information generating means 4.
【0015】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The result of the addition and the run length of the third digit are input to the adding means 3, and the result of the addition is input to the change point information generating means 4.
【0016】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまでまで繰り返す。Thus, the run length of the Nth digit is input to the adding means 3 and the addition is repeated until the addition result is input to the change point information generating means 4.
【0017】変化点情報生成手段4は1桁目のランレン
グス、1桁目のランレングスと2桁目のランレングスの
加算結果、前記加算結果と3桁目のランレングスの加算
結果、というようにN桁分のデータを基にしてN桁分の
変化点ビットを生成し、該N桁分の変化点ビットのビッ
ト毎の論理和を生成して1回分の変化点ビットとして出
力する。The change point information generating means 4 calculates the first digit run length, the addition result of the first digit run length and the second digit run length, and the addition result of the addition result and the third digit run length. Then, an N-digit change point bit is generated based on the N-digit data, a logical sum of the N-digit change point bit is generated for each bit, and is output as one change point bit.
【0018】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。The bit output generating means 5 outputs a value which is inverted from the preceding output at the position where the change point bit indicates a change, and outputs the same value as the preceding output at the position where there is no change.
【0019】そして、再び、次のN桁分のランレングス
をランレングス保持手段2に格納して上記処理を繰り返
し、同様の処理をランレングスを全て処理し終えるまで
繰り返す。Then, the run length of the next N digits is stored in the run length holding means 2 again, and the above processing is repeated. The same processing is repeated until all the run lengths have been processed.
【0020】請求項2では、初めにオフセット値をオフ
セット値保持手段1に、N桁分のランレングスをランレ
ングス保持手段2に格納する。In the present invention, first, the offset value is stored in the offset value holding means 1, and the run length of N digits is stored in the run length holding means 2.
【0021】次に、オフセット値保持手段1からオフセ
ット値を、またランレングス保持手段2からはN桁分の
ランレングスを読み出し、オフセット値を変化点情報生
成手段4に入力する。Next, the offset value is read from the offset value holding means 1 and the N-digit run length is read from the run length holding means 2, and the offset value is input to the change point information generating means 4.
【0022】また、オフセット値と1桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。Further, the offset value and the first-digit run length are input to the adding means 3, and the addition result is input to the change point information generating means 4.
【0023】また、前記加算結果と2桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The result of the addition and the run length of the second digit are input to the adding means 3, and the result of the addition is input to the change point information generating means 4.
【0024】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The result of the addition and the run length of the third digit are input to the adding means 3, and the result of the addition is input to the change point information generating means 4.
【0025】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまで繰り返す。Thus, the run length of the Nth digit is input to the adding means 3 and the addition is repeated until the addition result is input to the change point information generating means 4.
【0026】この間、画像伸長制御手段6は加算手段3
にランレングスを1桁分入力する度にその回数を計数
し、加算手段3から桁上げを検出すると当該桁以降の桁
については変化点が無いことを示す変化点ビットの生成
を、当該桁より前の桁については加算結果を基に変化点
ビットを生成するように変化点情報生成手段4に指示す
る。During this time, the image decompression control means 6
Each time a run length is input by one digit, the number of times is counted, and when a carry is detected from the adding means 3, generation of a change point bit indicating that there is no change point in the digits after that digit is performed. For the previous digit, it instructs the change point information generating means 4 to generate a change point bit based on the addition result.
【0027】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。The change point information generating means 4 generates N digit change point bits based on the instruction of the image decompression control means 6,
A logical sum for each digit of the change point bits for the digit is generated and output as a change point bit.
【0028】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。The bit output generating means 5 outputs a value which is inverted from the preceding output at the position where the change point bit indicates a change, and outputs the same value as the preceding output at the position where there is no change.
【0029】そして、画像伸長制御手段6はオフセット
値保持手段1に前記桁上げの生じた加算手段3の加算結
果を、また、ランレングス保持手段2には計数値で示さ
れる桁数分のランレングス読み込んで、先頭の、計数値
で示される桁数分詰めて格納して上記処理を繰り返し、
同様の処理をランレングスを全て処理し終えるまで繰り
返す。The image decompression control means 6 stores the result of addition by the adding means 3 in which the carry has occurred in the offset value holding means 1 and the run length of the number of digits indicated by the count value in the run length holding means 2. Read the length, store it with the number of digits indicated by the count value at the beginning, store it, and repeat the above processing.
The same processing is repeated until all run lengths have been processed.
【0030】請求項3では、初めにオフセット値をオフ
セット値保持手段1に、N桁分のランレングスをランレ
ングス保持手段2に格納する。In claim 3, first, the offset value is stored in the offset value holding means 1, and the run length of N digits is stored in the run length holding means 2.
【0031】次に、1桁目のランレングスのカウンタ部
に有効な値が設定されているか否かを参照する。Next, it is determined whether a valid value is set in the first-digit run-length counter.
【0032】有効な値が設定されている場合は、オフセ
ット値保持手段1からオフセット値を読み出し、変化点
情報生成手段4に入力する。画像伸長制御手段6はフラ
グを参照し、フラグがオフの場合は変化点情報生成手段
4に入力値に基づく変化点ビットを、フラグがオンの場
合は変化点が無いことを示す変化点ビットを生成するよ
う指示し、更に当該桁以外の桁についても変化点が無い
ことを示す変化点ビットを生成するよう指示する。When a valid value is set, the offset value is read from the offset value holding means 1 and input to the change point information generating means 4. The image decompression control means 6 refers to the flag. When the flag is off, the change point bit based on the input value is sent to the change point information generating means 4, and when the flag is on, the change point bit indicating that there is no change point. It instructs to generate a change point bit indicating that there is no change point in a digit other than the digit concerned.
【0033】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。The change point information generating means 4 generates N digit change point bits based on the instruction of the image decompression control means 6,
A logical sum for each digit of the change point bits for the digit is generated and output as a change point bit.
【0034】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。The bit output generating means 5 outputs a value which is the inverse of the preceding output at the position where the change point bit indicates a change, and outputs the same value as the preceding output at the position where there is no change.
【0035】また、画像伸長制御手段6は1桁目のラン
レングスのカウンタ部の値を−1し、更にフラグを設定
した後、1桁目のランレングスのカウンタ部に有効な値
が設定されているか否かの参照から上記の処理を繰り返
す。The image expansion control means 6 decrements the value of the first-digit run-length counter by one, sets a flag, and sets a valid value in the first-digit run-length counter. The above-described processing is repeated from the reference as to whether or not it is performed.
【0036】1桁目のランレングスのカウンタ部に有効
な値が設定されていないことを検出した場合、オフセッ
ト値保持手段1からオフセット値を、またランレングス
保持手段2からはN桁分のランレングスを読み出し、オ
フセット値を変化点情報生成手段4に入力する。When it is detected that a valid value has not been set in the first digit run length counter section, the offset value is supplied from the offset value holding means 1 and the N digit run number is supplied from the run length holding means 2. The length is read, and the offset value is input to the change point information generating means 4.
【0037】また、オフセット値と1桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The offset value and the first-digit run length are input to the adding means 3, and the addition result is input to the change point information generating means 4.
【0038】また、前記加算結果と2桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The result of the addition and the run length of the second digit are input to the adding means 3, and the result of the addition is input to the change point information generating means 4.
【0039】また、前記加算結果と3桁目のランレング
スとを加算手段3に入力し加算結果を変化点情報生成手
段4に入力する。The result of the addition and the run length of the third digit are input to the adding means 3, and the result of the addition is input to the change point information generating means 4.
【0040】というようにN桁目のランレングスを加算
手段3に入力し加算結果を変化点情報生成手段4に入力
するまで繰り返す。Thus, the run length of the Nth digit is input to the adding means 3 and the addition is repeated until the addition result is input to the change point information generating means 4.
【0041】この間、画像伸長制御手段6は加算手段3
にランレングスを1桁分入力する度にその回数を計数
し、加算手段3から桁上げを検出すると当該桁以降の桁
については変化点が無いことを示す変化点ビットの生成
を、当該桁より前の桁については加算結果を基に変化点
ビットを生成するように変化点情報生成手段4に指示し
する。During this time, the image decompression control means 6
Each time a run length is input by one digit, the number of times is counted, and when a carry is detected from the adding means 3, generation of a change point bit indicating that there is no change point in the digits after that digit is performed. For the previous digit, it instructs the change point information generating means 4 to generate a change point bit based on the addition result.
【0042】また、桁上げを検出しなかった場合には、
1桁目のランレングスを加算する際にフラグを参照し、
フラグがオフなら変化点情報生成手段4に入力値に基づ
く変化点ビットを、フラグがオンなら変化点が無いこと
を示す変化点ビットを生成するよう指示し、フラグをオ
フにする。If no carry is detected,
Refer to the flag when adding the run length of the first digit,
If the flag is off, the change point information generation means 4 is instructed to generate a change point bit based on the input value, and if the flag is on, the change point bit indicating that there is no change point is generated, and the flag is turned off.
【0043】更に、2桁目の以降のランレングスを加算
する際にはその都度カウンタ部に有効な値が設定されて
いるか否かを参照し、有効な値が設定されていることを
検出した場合は当該桁以降の桁について変化点が無いこ
とを示す変化点ビットを生成するよう指示する。Further, each time the second and subsequent run lengths are added, it is determined whether or not a valid value is set in the counter unit, and it is detected that a valid value is set. In this case, it is instructed to generate a change point bit indicating that there is no change point in the digits after the digit.
【0044】変化点情報生成手段4は画像伸長制御手段
6の指示に基づきN桁分の変化点ビットを生成し、該N
桁分の変化点ビットのビット毎の論理和を生成し、変化
点ビットとして出力する。The change point information generating means 4 generates N digit change point bits based on the instruction of the image decompression control means 6,
A logical sum for each digit of the change point bits for the digit is generated and output as a change point bit.
【0045】ビット出力生成手段5は、該変化点ビット
が変化を示す位置では先行する出力と反転する値を出力
し、変化の無いことを示す位置では先行する出力と同じ
値を出力する。The bit output generating means 5 outputs a value which is inverted from the preceding output at the position where the change point bit indicates a change, and outputs the same value as the preceding output at the position where there is no change.
【0046】そして、画像伸長制御手段6はオフセット
値保持手段1に前記桁上げの生じた加算手段3の加算結
果を、また、ランレングス保持手段2には計数値で示さ
れる桁数分のランレングスを読み込んで、先頭の、計数
値で示される桁数分詰めて格納して上記処理を繰り返
し、同様の処理をランレングスを全て処理し終えるまで
繰り返す。The image decompression control means 6 stores the result of the addition performed by the adding means 3 in the offset value holding means 1 and the run length holding means 2 stores the run number corresponding to the number of digits indicated by the count value. The length is read, stored by packing the number of digits indicated by the count value at the beginning, and the above processing is repeated. The same processing is repeated until all run lengths have been processed.
【0047】[0047]
【発明の実施の形態】本発明の実施の形態について、図
2〜図8を参照しながら説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described with reference to FIGS.
【0048】尚、本説明ではオフセット値は2ビット、
ランレングスは4ビットとして説明する。In this description, the offset value is 2 bits,
The run length is described as 4 bits.
【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と、からなる。The image decompression device is provided with an offset register (hereinafter abbreviated as “OFR”) 1 for holding an offset value.
0, each of which has a 2-bit counter section (hereinafter abbreviated as “C section”) and a 2-bit register section (hereinafter abbreviated as “R section”) and holds one digit of run length. Run-length register A (hereinafter abbreviated as “RLRA”)
2-1, B (hereinafter abbreviated as "RLRB") 2-2, C
(Hereinafter abbreviated as "RLRC") 2-3, D (hereinafter, referred to as "RLRC").
Abbreviated as “RLRD”. 2), an adder A (hereinafter abbreviated as “ADDA”) 3-1 that adds the OFR and the RLRA, and generates a carry signal CA and an addition result SUMA.
An adder B (hereinafter abbreviated as “ADDB”) 3-2 that adds UMA and RLRB to generate a carry signal CB and an addition result SUMB, adds SUMB and RLRC, and generates a carry signal CC Adder C that generates addition result SUMC
(Hereinafter abbreviated as "ADDC"). 3-3 is added to SUMC and RLRD, and carry signal CD and addition result SUM are added.
Adder D that generates D (hereinafter abbreviated as “ADDD”)
3-4 and the value indicated by the addition result (for example, “3”) as bit positions, bit 0 is “0”, bit 1 is “0”,
A plurality of decoders that convert bit 2 to “0” and bit 3 to “1” to indicate that bit position 3 is a conversion point, that is, a decoder A that receives SUMA as an input (hereinafter, “DECA”)
Abbreviated. ) 4-1 and decoder B having SUMB as input
(Hereinafter abbreviated as "DECB") 4-2 and a decoder C which receives SUMC as an input (hereinafter abbreviated as "DECC")
4-3 and a decoder D which receives SUMD as an input (hereinafter referred to as a decoder D).
Abbreviated as "DECD". 4) and a decoder Z indicating that the bit position is a conversion point using the offset value as an input.
(Hereinafter abbreviated as "DECZ") 4-0 and DECA4
-1 to DECZ 4-0 as inputs, and a logical sum circuit (hereinafter abbreviated as "OR") 4-5 for generating one-digit change point information, and a flip-flop (hereinafter, referred to as "OR") for holding the value of the preceding bit , "FF".) 5-5 and FF5-
An EORA 5-1 that outputs an exclusive OR of a value of 5 and a subsequent bit that is continuous; an EORB 5-2 that outputs an exclusive OR of the output of the EORA 5-1 and the subsequent bit;
E that outputs the exclusive OR of the output of 5-2 and the following bit
An ORC 5-3 and an EORD 5-4 for outputting an exclusive OR of an output of the EORC 5-3 and a succeeding bit, and generate one digit of succeeding monochrome data based on the preceding output monochrome data and change point information. Bit output generation circuits (hereinafter abbreviated as “EOR”) 5-0 and RLRA2-1 to RLRA2-1.
A counter (hereinafter abbreviated as “CNT”) 6-2 in which the C section holds the number of “00” in RLRD 2-4, and R
4 or more flags 6-1 indicating that the C portion of LRA2-1 is other than '00', and refer to C portion of RLRA2-1 and set 4 or more flags 6-1 if other than '00' Then, when it becomes '00', it is reset and C of RLRA2-1 is reset.
If the part is other than '00', count down the C part of RLRA2-1 until it becomes '00', and each time DEC
Control circuit 6 for outputting "0000" from A4-1 to DECD4-4, sequentially referring to the C section of RLRA2-1 to RLR2-4, and recording the number of "00" in CNT6-2.
6
【0050】次に、本発明の画像伸長の処理の流れを、
オフセット値が「2」,ランレングスが先頭から
「5」,「2」,「3」,「1」,「2」,「3」,
「1」,「2」,「3」,「1」の順に連なる場合を例
として説明する。Next, the flow of the image decompression process of the present invention will be described.
The offset value is “2” and the run length is “5”, “2”, “3”, “1”, “2”, “3”,
An example in which “1”, “2”, “3”, and “1” are successively described will be described.
【0051】尚、以下の説明で‘ ’で括られた数値は
バイナリ表現(後方から前方へ2の0乗,2の1乗・・
・と重み付けされている。)の数値とし、“ かっこき
ごうで括られた数値はバイナリ表現(前方から後方へ2
の0乗,2の1乗・・・と重み付けされている。)の数
値とする。In the following description, numerical values enclosed by “” are expressed in binary notation (from the rear to the front, 2 to the 0th power, 2 to the 1st power,...).
・ It is weighted. ), And the number in parentheses is a binary representation (2 from front to back).
, 2 to the first power, and so on. ).
【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) 以下、同様の処理をランレングスがなくなる迄繰り返
し、処理を終了する。First, the CNT 6-2 is initialized to 0 (ie, '00' is set), the flag 6-1 is initialized to 4 or more to 0 (ie, '0' is set), and the offset value 2 is set.
(That is, '10') is set to OFR1-0, and run length 5 (that is, '0101') is set to RLRA2-1, and
(Ie, '0010') to RLRB 2-2, 3 (ie, '0011') to RLRC 2-3, 1 (ie,
'0001') is set to RLRD2-4. [Refer to timing T1 in FIG. 7] (Step S00) Next, the control circuit 6-0 refers to the C section of the RLRA2-1, and since it is not 0, the process proceeds to Step S31. (Step S
01) Next, the control circuit 6-0 refers to the flag 6-1 for 4 or more,
The conversion result “0010” is converted from DECZ4-0 to DECA
"0000" is output from each of 4-1 to DECD 4-4 (see timing T3 in FIG. 7), and a change point bit DECO "0010" is output from OR 4-5. [FIG.
Then, the DECO “0010” is converted to EOR5 in the order of i0 being “0”, i1 being “0”, i2 being “1”, and i3 being “0”.
0, and the exclusive OR '0' of the initial value '0' held by the FF 5-5 and i0 is set as b0, and the exclusive OR '0' of b0 and i1 is set as b1. b
Assuming that the exclusive OR '1' of 1 and i2 is b2, b2 and i
The exclusive OR '1' of 3 is b3, that is, b0, b
It outputs black and white data OUT consisting of 4 bits of 1, b2 and b3. [See timing T5 in FIG. Further, the flag 6-1 is set to 4 or more, and the RLRA 2-1 is set.
Is set to 0 by decrementing the C part of b, ie, b3, ie, '1' is
And returns to step S01. (Step S31
-S35) Next, the control circuit 6-0 refers to the C section of the RLRA2-1, and since it is 0, the process proceeds to step S02. At this time CNT
6-2 is "00", 4 or more flag 6-1 is "1",
'10' for OFR1-0, '00' for RLRA2-1
01 ',' 0010 'for RLRB2-2, RLRC2
'0011' for -3, '000 for RLRD2-4
1 'is set. [Refer to timing T6 in FIG. 7] (Step S01) The control circuit 6-0 adds 1 to the CNT 6-2 to make 1
ADD FR1-0, RLRA2-1 to RLRD2-4
A3-1 to ADDD3-4, and since the carry signal CA was not output from ADDA3-1, step S3 is executed.
Go to 05. (Steps S02 to S04) The addition result '11' from ADDA3-1 is added to ADDB3-
2 outputs the addition result '01' (see timing T7 in FIG. 7), and the control circuit 6-0 outputs “0000” from the DECZ 4-0 because the flag 6-1 is “1” or more.
"0001" obtained by converting "11" from ECA4-1
Is output and the flag 6-1 is set to "0" for the flag 6-1 (step S05). Referring to the C section of the RLRB 2-2, since it is 0, 1 is added to the CNT 6-2, and the carry CB is shifted from the ADDB 3-2. Output (steps S05 to S08), DE
"0000" is output from CB4-2 to DECD4-4. [See timing T8 in FIG. 7] (Step S27)
-S28) Then, the change point bit DECO “000” is obtained from OR4-5.
1 is output (refer to the timing T9 in FIG. 7). Then, the DECO "0001" is set to EOR5 in the order of i0 being "0", i1 being "0", i2 being "0", and i3 being "1".
0 and the EORA 5-1 sets the exclusive OR '1' between '1' held by the FF 5-5 and i0 as b0 and b
Assuming that the exclusive OR “1” of 0 and i1 is b1, b1 and i
The exclusive OR '1' of two is b2, and the exclusive OR '0' of b2 and i3 is b3, ie, b0, b1, b
It outputs monochrome data OUT consisting of 4 bits of 2 and b3. [See timing T10 in FIG. ] (Step S
18 to S19) Then, the addition result '0 of the ADDB3-2 that caused the carry
1 ′ is set in OFR1-0, the number of digits specified by the CNT, that is, the two-digit run length is read, and RLRC2
-3 to '0011' to RLRA2-1, RLRD2
-4 is transferred to RLRB2-2 from -4, and RL
"0010" is set in RC2-3 and "0011" is set in RLRD2-4 (see timing T11 in FIG. 8). ], Four or more flags 6-1 and CNT6-2 are reset, and the process returns to step S01. (Steps S20 to S2
2) Next, the control circuit 6-0 refers to the C section of the RLRA2-1, and since the value is 0, the process proceeds to step S02. (Step S
01) The control circuit 6-0 adds 1 to the CNT 6-2 to obtain 1, and the control circuit 6-0
ADD FR1-0, RLRA2-1 to RLRD2-4
A3-1 to ADDD3-4 are input, and since the carry signal CA is output from ADDA3-1, the process proceeds to step S29. (Steps S02 to S04) Then, “0100” generated based on “01” held in OFR1-0 is converted from DECZ4-0 to DECA4-
1 to DECD4-4 output "0000".
[See timing T13 in FIG. 8] (Steps S29 to S29)
S30) Then, the change point bit DECO “010” is obtained from OR4-5.
[0100] [Refer to timing T14 in FIG. 8] Then, the DECO “0100” is set to EOR5 in the order of i0 being '0', i1 being '1', i2 being '0', and i3 being '0'.
0 and the EORA 5-1 sets the exclusive OR '0' of '0' and i0 held by FF5-5 as b0,
Assuming that the exclusive OR “1” of 0 and i1 is b1, b1 and i
The exclusive OR '1' of two is set to b2, and the exclusive OR '1' of b2 and i3 is set to b3, that is, b0, b1, b
It outputs monochrome data OUT consisting of 4 bits of 2 and b3. [See timing T15 in FIG. ] (Step S
18 to S19) Then, the addition result '0 of the ADDA 3-1 that caused the carry
0 'is set in OFR1-0, the number of digits specified by the CNT, that is, one digit of the run length is read, and RLRC2
-0001 from -2 to RLRA2-1, RLRD2
-3 to '0010' are replaced with RLRB2-2B, RC2-4
To “RLRA2-3” from RLRC
Set “0001” in 2-4 [timing T in FIG.
See FIG. ], 4 or more flags 6-1 and CNT 6-2
Is reset and the process returns to step S01. (Step S2
Next, the control circuit 6-0 refers to the C section of the RLRA2-1, and since the value is 0, the control circuit 6-0 proceeds to step S02. (Step S
01) The control circuit 6-0 adds 1 to the CNT 6-2 to obtain 1, and the control circuit 6-0
ADD FR1-0, RLRA2-1 to RLRD2-4
A3-1 to ADDD3-4, and since the carry signal CA is not output from ADDA3-1, step S05
Proceed to. (Steps S02 to S04) Since four or more flags 6-1 are off, “1000” generated based on “00” held in OFR1-0 is DECZ
4-0, and outputs “0100” based on the output “01” of the ADDA 3-1 from the DECA 4-1. (Step S05) Next, the control circuit 6-0 refers to the C section of the RLRB2-2 and, since it is 0, proceeds to the step S07. (Step S
06) The control circuit 6-0 adds 1 to the CNT 6-2 to obtain 2 and A
Since the carry signal CB is not output from DDB3-2,
Proceed to step S09. (Steps S07 to S08) “0001” based on the output “11” of the ADDB 3-2 is output from the DECB 4-2. (Step S09) Next, the control circuit 6-0 refers to the C section of the RLRC2-3, and since it is 0, proceeds to the step S02. (Step S
10) The control circuit 6-0 adds 1 to the CNT 6-2 to obtain 3, and A
Since the carry signal CC is not output from the DDC 3-3, the process proceeds to step S25. (Steps S11 to S12) Then, from DECC4-3 to DECD4-4, "00"
00 "(see timing T18 in FIG. 8).
(Steps S25 to S26) Then, the change point bit DECO “110” is obtained from OR4-5.
1 is output. (See timing T19 in FIG. 8) Then, the DECO "1101" is output as EOR5 in the order of i0 being "1", i1 being "1", i2 being "0", and i3 being "1".
0 and the EORA 5-1 sets the exclusive OR '0' of '1' and i0 held by FF5-5 as b0,
Assuming that the exclusive OR “1” of 0 and i1 is b1, b1 and i
The exclusive OR '1 of 2 is b2, and the exclusive OR' 0 'of b2 and i3 is b3, that is, b0, b1, b
It outputs monochrome data OUT consisting of 4 bits of 2 and b3. [See timing T20 in FIG. ] (Step S
18 to S19) Hereinafter, the same processing is repeated until the run length is exhausted, and the processing ends.
【0053】[0053]
【発明の効果】以上説明した様に、本発明によれば白黒
の変化の激しい画像、即ち小さい値のランレングスが続
く場合であっても一桁が一定のビット数からなる白黒パ
ターンを高速で出力出来るようになるため、画像処理時
間を高速化することが出来るという工業的効果がある。As described above, according to the present invention, a black-and-white pattern having a fixed number of bits at a single digit can be formed at a high speed according to the present invention even when an image having a sharp change in black and white, that is, even when a small value of run length continues. Since the output can be performed, there is an industrial effect that the image processing time can be shortened.
【図1】 本発明の原理図FIG. 1 is a principle diagram of the present invention.
【図2】 本発明の画像伸長装置の構成図FIG. 2 is a configuration diagram of an image decompression device of the present invention.
【図3】 本発明のビット出力回路の構成図FIG. 3 is a configuration diagram of a bit output circuit of the present invention.
【図4】 本発明のフローチャート図(その1)FIG. 4 is a flowchart (part 1) of the present invention.
【図5】 本発明のフローチャート図(その2)FIG. 5 is a flowchart of the present invention (part 2).
【図6】 本発明のフローチャート図(その3)FIG. 6 is a flowchart (part 3) of the present invention.
【図7】 本発明のデータの変化を説明する図(その
1)FIG. 7 is a view for explaining a change in data according to the present invention (part 1);
【図8】 本発明のデータの変化を説明する図(その
2)FIG. 8 is a view for explaining a change in data according to the present invention (part 2);
【図9】 処理の概要を示す図FIG. 9 is a diagram showing an outline of processing;
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」と略す。)DESCRIPTION OF SYMBOLS 1 Offset value holding means 2 Run length holding means 3 Addition means 4 Change point information generating means 5 Bit output generating means 6 Image expansion control means 1-0 Offset register (abbreviated as "OFR") 2-1 Run length register 1 ( 2-2 Run-length register 2 (abbreviated as "RLRB") 2-3 Run-length register 1 (abbreviated as "RLRC") 2-3 Run-length register 2 (abbreviated as "RLRD") ) 3-1 Adder A (abbreviated as "ADDA") 3-2 Adder B (abbreviated as "ADDB") 3-3 Adder C (abbreviated as "ADDC") 3-4 Adder D (Abbreviated as "ADDD") 4-0 Decoder Z (abbreviated as "DECZ") 4-1 Decoder A (abbreviated as "DECA") 4-2 Decoder B (abbreviated as "DECB") 4- Decoder C (abbreviated as "DECC") 4-4 Decoder D (abbreviated as "DECD") 4-5 Logical OR circuit (abbreviated as "OR") 5-0 Bit output circuit (abbreviated as "EOR") 6-0 Control circuit 6-1 4 or more flag 6-2 Counter (abbreviated as "CNT")
Claims (3)
すランレングスを入力として白黒データを出力する画像
伸長装置であって、 複数桁のランレングスを保持するランレングス保持手段
と、 該複数桁のランレングスの先頭桁から後続桁へと1桁分
づつ累積加算し、各桁毎に結果を出力する加算手段と、 加算結果に基づき出力データの変化点位置を示す変化点
ビットをランレングスの桁数分生成し、前記ランレング
スの桁数分生成された変化点ビットから出力データ1桁
分の変化点ビットを生成する変化点情報生成手段と、 前記変化点ビットに基づき白黒データを生成し出力する
ビット出力生成手段と、を有する画像伸長装置。1. An image decompression device for outputting black and white data by inputting a run length indicating a continuous length of white or black bits, comprising: run length holding means for holding a plurality of digits of run length; Adding means for accumulating one digit at a time from the first digit to the succeeding digit of the run length of the digit and outputting a result for each digit; and a run length bit indicating a change point position of output data based on the addition result. Change point information generating means for generating change point bits for one digit of output data from change point bits generated for the number of digits of the run length, and generating black and white data based on the change point bits And a bit output generating means for performing output.
ット値を保持するオフセット値保持手段と、 各桁毎に、累積加算の過程で生じた桁上げを出力する加
算手段と、 桁上げが生じる桁に到達するまでの加算回数を計数し、
前記桁までを処理済とし、桁上げが生じた場合に当該桁
以降の桁については変化点が無いことを意味する変化点
ビットの生成を変化点情報生成手段に指示し、桁上げが
生じた桁の加算結果をオフセット値保持手段に格納し、
処理済の桁に続く未処理のランレングスをランレングス
保持手段の先頭から詰めて格納すると共に前記加算回数
で示される桁数の後続するランレングスを該未処理のラ
ンレングスに連続するようランレングス保持手段に詰め
て格納する画像伸長制御手段と、 を有することを特徴とする請求項1に記載の画像伸長装
置。2. An offset value holding means for holding an offset value designating a start position of black and white data, an addition means for outputting a carry generated in the process of cumulative addition for each digit, and a digit at which a carry occurs. Count the number of additions to reach,
When the digit has been processed and the carry has occurred, the digit after the digit is instructed to generate a change point bit meaning that there is no change point, and the change point information generating means is instructed. The result of digit addition is stored in the offset value holding means,
The unprocessed run length following the processed digit is stored from the beginning of the run length holding means, and the run length following the number of digits indicated by the number of additions is set to be continuous with the unprocessed run length. 2. The image decompression device according to claim 1, further comprising: an image decompression control unit that stores the data in the holding unit.
る複数桁のランレングスを保持するランレングス保持手
段と、 該複数桁のランレングスのレジスタ部を先頭桁から後続
桁へと次々に1桁分づつ累積加算し、各桁毎に結果を出
力する加算手段と、 先頭桁のカウンタ部を参照して有効値が設定されている
場合にはフラグをセットし、ランレングスの全桁分につ
いて変化点が無いことを示す変化点ビットの生成を変化
点情報生成手段に指示し、先頭桁のカウンタ部に有効値
が設定されておらず、オフセット値とランレングスの先
頭桁の加算により桁上げが生じず、該フラグがセットさ
れている場合に当該桁について変化点が無いことを示す
変化点ビットの生成を変化点情報生成手段に指示し、該
フラグをリセットする画像伸長制御手段と、 を有することを特徴とする請求項2に記載の画像伸長装
置。3. A run length holding means for holding a plurality of digits of run length each comprising a counter portion and a register portion, and the register portion of the plurality of digits of run length is sequentially shifted by one digit from a leading digit to a succeeding digit. Addition means that accumulates every minute and outputs the result for each digit, and sets a flag if a valid value is set by referring to the counter at the first digit and changes for all digits of the run length. The change point information generation means is instructed to generate a change point bit indicating that there is no point, and a valid value is not set in the counter of the first digit, and the carry is added by adding the offset value and the first digit of the run length. If the flag is set, the image decompression control unit instructs the change point information generation unit to generate a change point bit indicating that there is no change point for the digit, and resets the flag. 3. The image decompression device according to claim 2, comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11061270A JP2000261674A (en) | 1999-03-09 | 1999-03-09 | Image expansion device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11061270A JP2000261674A (en) | 1999-03-09 | 1999-03-09 | Image expansion device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000261674A true JP2000261674A (en) | 2000-09-22 |
Family
ID=13166372
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11061270A Pending JP2000261674A (en) | 1999-03-09 | 1999-03-09 | Image expansion device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000261674A (en) |
Cited By (20)
| 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 |
-
1999
- 1999-03-09 JP JP11061270A patent/JP2000261674A/en active Pending
Cited By (33)
| 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 (en) * | 2013-03-15 | 2016-01-06 | 甲骨文国际公司 | Efficient hardware instructions for SIMD processors |
| 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 (en) * | 2013-03-15 | 2017-12-12 | 甲骨文国际公司 | Efficient hardware instructions for SIMD processors |
| 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 (en) | Image expansion device | |
| US5150430A (en) | Lossless data compression circuit and method | |
| JP3249405B2 (en) | Error correction circuit and error correction method | |
| JP2766302B2 (en) | Variable length code parallel decoding method and apparatus | |
| EP0021283A1 (en) | Digital data apparatus | |
| JP2819174B2 (en) | Digital sample coding apparatus and coding method, and video signal processing system | |
| KR870008446A (en) | Binary data compression and extension processing unit | |
| JPH10107646A (en) | CRC code generation circuit, code error detection circuit, and CRC circuit | |
| KR940011037B1 (en) | Address generator | |
| KR19990026630A (en) | Reed-Solomon decoder and its decoding method | |
| US8018359B2 (en) | Conversion of bit lengths into codes | |
| CN113986147A (en) | RAID6 hardware acceleration circuit structure and RAID6 hardware acceleration implementation method | |
| EP0431416A2 (en) | Apparatus and method for accessing a cyclic redundancy error check code generated in parallel | |
| EP0499225A2 (en) | Variable-length code decoding device | |
| JPH09284142A (en) | Variable length decoder | |
| JPWO2015133095A1 (en) | Parity check code generation apparatus, encoding method, encoding apparatus, and control program | |
| JP3252029B2 (en) | Encoding device and encoding method | |
| JP2002171525A (en) | SIMD type arithmetic unit having bit plane operation instruction | |
| JP3088785B2 (en) | Variable length code decoding device | |
| JPH10215187A (en) | Error detection encoding and decoding device and method | |
| JP3229690B2 (en) | Variable length code decoder | |
| KR100247062B1 (en) | Fifo method and circuit having ring structure | |
| JP2728818B2 (en) | Variable length decoder | |
| JP2005216477A (en) | DVD decoding method and apparatus using selective PO correction | |
| JP3078138B2 (en) | Variable length code generator |