JP3795564B2 - Image expansion processing method - Google Patents
Image expansion processing method Download PDFInfo
- Publication number
- JP3795564B2 JP3795564B2 JP01603196A JP1603196A JP3795564B2 JP 3795564 B2 JP3795564 B2 JP 3795564B2 JP 01603196 A JP01603196 A JP 01603196A JP 1603196 A JP1603196 A JP 1603196A JP 3795564 B2 JP3795564 B2 JP 3795564B2
- Authority
- JP
- Japan
- Prior art keywords
- change point
- image
- image pattern
- point coordinates
- expansion
- 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 - Fee Related
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、イメージの伸張技術に係り、特にMH(Modified Huffman)/MR(Modified READ )/MMR(Modified Modified READ)符号のイメージ伸張を行なうイメージ伸張処理方法に関する。
【0002】
【従来の技術】
一般に、2値画像イメージに対するデータ圧縮方式として、MH(Modified Huffman)/MR(Modified READ )/MMR(Modified Modified READ)符号化方式がある。
【0003】
MH/MR/MMR符号化方式等によって得られた2値画像イメージの圧縮データをもとに、図12に示すように、元のイメージ中の部分的な矩形領域のイメージを切り出すためには、従来のイメージ伸張処理方法では次のようにして行なっている。
【0004】
すなわち、イメージの切り出しの対象とするイメージデータの1ページ分の作業メモリ(ワーク領域)をメモリ上に用意し、圧縮データをもとに1ページ分の全体のイメージを展開する。その後、作業メモリに展開した1ページ分のイメージデータから対象とする矩形領域のイメージを出力イメージ領域へ出力し、イメージ切り出しを完了する。
【0005】
【発明が解決しようとする課題】
このように従来のイメージ伸張処理方法では、圧縮データをもとに元のイメージ中の特定の矩形領域のイメージを得るためには、一度、圧縮データをもとに1ページ分のイメージ全体を作業メモリ上で展開する必要があった。従って、必要なイメージを切り出すまでに要する時間は、1ページ分のイメージの伸張に要する時間と、展開した全体のイメージから特定の矩形領域のイメージ切り出しに要する時間の合計分要してしまう。このため、出力イメージを得るまでの応答性が悪くなっていた。
【0006】
また、対象とするイメージが、例えばサイズがA0、解像度が16本/mmであるような大イメージの場合には、圧縮イメージを一度に伸張すると、そのデータ量が約30Mbyteとなり、大容量の作業メモリが必要になってしまう。
【0007】
本発明は前記のような事情を考慮してなされたもので、大容量の作業メモリを用いることなく、圧縮データをもとに全体のイメージ中の矩形領域の部分切り出しを高速に実行可能なイメージの伸張処理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、イメージデータの主走査方向において白画素及び黒画素へ変化する変化点座標からなる変化点データ列をもとにイメージ伸張するイメージ伸張処理方法であって、イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、この設定された伸張開始座標と前記変化点データ列から主走査方向に順次読み出される変化点座標との比較により、前記変化データ列中の伸張すべき範囲の先頭の変化点座標を検出し、前記伸張終了座標と前記変化点データ列から主走査方向に順次読み出される変化点座標との比較により、前記変化点データ列中の伸張すべき範囲の終端の変化点座標を検出し、この検出した先頭の変化点座標から終端の変化点座標までの前記変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とする。
【0009】
また本発明は、イメージのライン区分を示すEOLコードを含む1次元符号化方式により符号化された圧縮データをもとにイメージ伸張するイメージ伸張処理方法であって、イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、圧縮データからEOLコードを検出しながら、前記伸張開始座標及び前記伸張終了座標に基づいて、処理の対象とするラインがイメージ伸張の対象であるか否かを判定し、イメージ伸張の対象とするラインであると判定した時に、同ラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、この変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とする。
【0010】
また本発明は、2次元符号化方式により符号化された圧縮データをもとにイメージ伸張するイメージ伸張処理方法であって、イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、圧縮データから1ライン分の白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、この変化点データ列中の変化点座標に対応するラインが、イメージ伸張の対象であるか否かを前記伸張開始座標及び前記伸張終了座標に基づいて判定し、イメージ伸張の対象とするラインであると判定した時に、前記変化点データ列中の変化点座標のそれぞれを所定の値で除算した商と余り値を求め、この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とする。
【0011】
また本発明は、1次元符号化方式により符号化されたコードデータと2次元符号化方式により符号化されたコードデータとが混在し、イメージのライン区分を示すEOLコードと1次元符号化方式あるいは2次元符号化方式の何れにより圧縮されたコードであるかを示す付加情報とを含む圧縮データをもとにイメージ伸張するイメージ伸張処理方法であって、イメージ伸張の対象とするイメージデータ中の伸張開始座標及び終了開始座標を設定し、圧縮データからEOLコードと付加情報を検出しながら、前記付加情報をもとに注目ラインの圧縮データが1次元符号化方式あるいは2次元符号化方式の何れによるものかを判定し、この判定結果より、注目ラインが1次元符号化方式による圧縮データの場合は、前記伸張開始座標−1から終了開始座標までの圧縮データに対応するラインをイメージ伸張の対象と判定して、該当するラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、前記判定結果より、注目ラインが2次元符号化方式によるコードデータの場合は、前記伸張開始座標から前記終了開始座標までの圧縮データに対応するラインをイメージ伸張の対象と判定して、該当するラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列を生成し、この生成された変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は本実施形態に係わるイメージ伸張処理方法を実現するシステムの構成を示すブロック図である。図1に示すように本システムは、CPU10、RAM12、VRAM14、ROM16、入力装置18、入力制御部20、表示装置22、表示制御部24、記憶装置26、記憶制御部28によって構成されている。
【0013】
CPU10は、装置全体の制御を行なうもので、RAM12、VRAM14、ROM16をアクセスして入力指示に従うプログラムの起動で、本発明によるイメージ伸張処理方法の機能を実現する。
【0014】
RAM12は、CPU10の動作を決定する各種処理プログラムが格納されたプログラム領域12aをはじめ、イメージ処理を行なう際に使用される各種変数、テーブル、処理対象とする圧縮データ等を格納するための作業メモリとしてのワーク領域12b等が設けられている。
【0015】
VRAM14は、表示装置22において表示すべき表示データを展開するための領域である。VRAM14に展開された表示データは、表示制御部24によって読み出され、表示装置22における表示に供される。
【0016】
ROM16は、CPU10の動作を決定する各種処理プログラムが格納されたプログラム領域16a、各種データを格納するためのデータ領域16b等が設けられている。
【0017】
入力装置18は、キーボードまたはマウス等によって構成され、システムに対する指示を入力する。
表示装置22は、例えば液晶ディスプレイによって構成され、表示制御部24の制御のもとに表示を行なう。表示制御部24は、表示装置22における表示を制御するもので、VRAM14に格納された表示データを読み込み、表示装置22における表示に供する。
【0018】
記憶装置26は、処理対象とするイメージデータを符号化して得られる圧縮データ、変化点座標データ、イメージデータ等を格納する。記憶制御部28は、記憶装置26に対するデータ等の入出力制御を行なう。
【0019】
次に、本発明の第1実施形態に係わるデータ伸張処理方法について、図2に示すフローチャートを参照しながら説明する。第1実施形態におけるイメージ伸張処理方法は、図5に示すように、イメージデータの白画素及び黒画素への変化点座標情報からなる変化点データ列(圧縮データ)をもとにイメージデータを生成する。本実施形態では、変化点データ列をもとに、指定された矩形領域のイメージのみを伸張する。
【0020】
ステップA1は、主走査方向に対する伸張開始座標(STX)及び伸張終了座標(ENX)を設定するステップである。
ステップA2は、初期化処理を実行するステップであり、直前の変化点演算結果の初期化を行う。
【0021】
ステップA3は、ラスタ方向に順次読み出される入力変化点データ(CPOSB)の変化点座標と伸張開始座標(STX)とを比較し、変化点座標が伸張開始座標(STX)以下となる部分を伸張処理の対象外として読み捨て、CPOSB>STXとなる伸張処理の対象の開始位置となる変化点座標を検出するステップである。また、入力変化点データ(CPOSB)の変化点座標と伸張終了座標(ENX)とを比較し、伸張終了座標(ENX)+1の変化点座標を伸張処理の対象とする終端として検出するステップである。
【0022】
ステップA4は、部分伸張後の変化点座標のバイトレングス(BYTELEN)とその余り値を求めるステップであり、直前の変化点座標に対する演算結果を(BYTELEN_OLD)に保存し、部分指定後の変化点座標(CPOS)の値を、入力変化点の座標(CPOSB)から伸張開始座標(STX)を減算した値とし、これを所定の値で除算した商と余りを求める。
【0023】
ステップA5は、ステップA4で求めた変化点座標のバイトレングス(BYTELEN)と直前の値(BYTELEN_OLD)との差を求め、これを(FILL_NO)に保持するステップである。
【0024】
ステップA6は、ステップA5で求めた(FILL_NO)が1以上であるか否かを判定するステップである。
ステップA7は、カレント変化点の色が黒か否かを判定するステップ。
【0025】
ステップA8,A9は、バイトレングスの端数値(BITPAT_NO)とカレント色(COLOR)をアドレスとし、イメージ変換テーブルを参照し、端数部のイメージパターン(BITPAT_REG)を求めるステップであり、カレント色が黒の場合、(BITPAT_REG)とイメージ変換テーブルの出力をOR演算し、(BITPAT_REG)に代入する。
【0026】
一方、カレント色が白の場合、(BITPAT_REG)とイメージ変換テーブルの出力をANDした結果を(BITPAT_REG)に代入する。
ステップA10は、ステップA6の判定で(FILL_NO)が1以上の場合に実行されるステップであり、ステップA8、A9で生成した端数部のイメージパターン(BITPAT_REG)を出力イメージ領域に転送するステップである。また、(BITPAT_REG)をステップA4で求めた(BITPAT_NO)に対応するイメージパターンで初期化する。
【0027】
ステップA11は、1バイト(ここでは8ビット)で構成される白または黒のイメージを(FILL_NO)−1回分出力イメージ領域に転送するステップである。
【0028】
ステップA12、13は、伸張終了位置、1画面終了を判定するステップであり、主走査方向に切り出された1画面分の変化点データ列をもとに指定された矩形領域のイメージを切り出すまでラスタ走査方向に順次処理を実行するための終了判定である。
【0029】
次に、第1実施形態におけるデータ伸張処理方法の動作について、図3、図4、図5に示す具体例を用いながら説明する。
図3(c)に示す入力変化点データが入力データとなる。図3(c)の変化点座標列に対応するイメージデータを、図3(a)に示している。図3(d)は伸張開始座標(STX)/伸張終了座標(ENX)により指定された領域に対応する変化点座標列(部分指定後の変化点列データ(CPOS))である。図3(d)に示す変化点列データ(CPOS)に対応するイメージパターンを図3(b)に示している。また、ステップA3で求めた変化点のバイトレングス(BYTELEN)を図3(e)、部分指定後の変化点データ(CPOS)を所定の値(ここでは8)で除算した余り(端数)を図3(f)に示している。
【0030】
図4は、ステップA8,A9においてイメージパターンを生成する際に、端数(BITPAT_NO)によりアクセスされるビットパターン(本実施形態では8ビットのイメージパターン)が格納されたイメージ変換テーブルを示している。本実施形態では、黒変化点用と白変化点用の2つのイメージ変換テーブルが用意されている。
【0031】
図5には図3(c)に示す入力変化点列データ(CPOSB)をイメージデータに変換していく過程を示している。
まず、元のイメージにおける切り出し対象とする矩形領域の主走査方向に対する伸張開始座標(STX)及び伸張終了座標(ENX)を設定する。
【0032】
次に、直前の変化点演算結果の初期化を行なった後(ステップA2)、ラスタ方向に順次読み出される図3(c)に示す入力変化点データ(CPOSB)から、伸張開始座標(STX)及び伸張終了座標(ENX)に基づいて、部分伸張処理の対象とする伸張開始・終了位置を検出する(ステップA3)。すなわち、入力変化点データ(CPOSB)の変化点座標と伸張開始座標(STX)とを比較し、変化点座標が伸張開始座標(STX)以下の場合は、伸張処理の対象外として読み捨てる。そして、CPOSB>STXとなる変化点座標をイメージデータに変換すべき変化点座標とする。また、伸張終了座標(ENX)+1の座標を伸張処理の対象とする変化点座標の終端とし、伸張終了座標(ENX)+1を越える変化点座標に対して処理をしないものとする。
【0033】
ここで、入力変化点データ(CPOSB)の変化点座標から伸張開始座標(STX)を減算した値を、部分指定後の変化点データ(CPOS)の変化点座標とする。これにより、図3(d)に示すような、現在対象としているラインの伸張処理される部分指定後の変化点データ(CPOS)が得られる。
【0034】
次に、直前の演算結果を(BYTELEN_OLD)に保存し、変化点データ(CPOS)の変化点座標を所定の値で除算した商(バイトレングス(BYTELEN))と余り(BITPAT_NO)を求める(ステップA4)。本実施形態では、所定の値を8とし、変化点座標のバイトレングス(BYTELEN)とその余り(BITPAT_NO)を求めている。すなわち、(POSHIFT)=3として入力変化点データ(CPOS)をシフトして商をもとめ、また(POSMASK)=7として入力変化点データ(CPOS)に対する論理積によって余りを求めている。
【0035】
次に、ステップA4で求めた変化点座標のバイトレングス(BYTELEN)と直前の値(BYTELEN_OLD)との差を求め、これを(FILL_NO)とする(ステップA5)。
【0036】
ここで、(FILL_NO)が0であった場合(ステップA6)、ステップA7に移行する。ステップA7ではカレント変化点の色が黒か否かを判定する。
カレント変化点の色が黒である場合、前の端数部のイメージパターン(BITPAT_REG)と、図4(1)に示す黒用のイメージ変換テーブルから得られるイメージパターンとをOR演算することによって、(BITPAT_REG)を生成する(ステップA8)。
【0037】
また、カレント変化点の色が白である場合、前の端数部のイメージパターン(BITPAT_REG)と、図4(2)に示す白用のイメージ変換テーブルから得られるイメージパターンとをAND演算することによって、(BITPAT_REG)を生成する(ステップA9)。
【0038】
なお、本実施形態では、端数(BITPAT_NO)によりアクセスされるイメージ変換用テーブルに白変化点用と黒変化点用を設けているが、2つのテーブルは互いにビット反転により求められるため必ずしも2つ必要ではない。すなわち、一方のテーブルから得られるイメージパターンを反転して用いることで、他方のテーブルに代用する。また、本実施形態では、8ビットのイメージパターンを格納するテーブルであるが、出力イメージ領域に展開する単位によっては、16ビット/32ビット等のテーブル構成とする。イメージ変換テーブルに格納されるイメージパターンは、例えば黒用とすると、端数(BITPAT_NO)が示す数の連続した白画素の後、残りの画素分の黒画素が連続するパターンである。
【0039】
一方、ステップA6において、ステップA5で求めた(FILL_NO)が1以上であると判定した場合、ステップA8、A9で生成した端数部のイメージパターン(BITPAT_REG)を、変化点データをもとに生成された最終的なイメージパターンとして出力イメージ領域に転送する(ステップA10)。また、(BITPAT_REG)を、次の変化点データに対する処理(ステップA8,A9)のために、ステップA4で求めた(BITPAT_NO)に対応するイメージ変換テーブルから得られたイメージパターンで初期化する。
【0040】
そして、8ビットで構成される白または黒のイメージを(FILL_NO)−1回分出力イメージ領域に転送する。すなわち、(FILL_NO)が2以上である場合には、白または黒の同じ色が連続して1バイト以上連続することを示すので、必要なバイト数の白または黒のデータを連続して出力する。
【0041】
ここで、ライン終端に達していなければ、ステップA3の処理に戻り、対象ラインの部分指定後の変化点データ(CPOS)の残りの部分に対して処理を繰り返す。また、ライン終端に達し、1画面分の処理が終了していなければ、ステップA2の初期化処理にもどり、残りのラインの入力変化点データに対する処理を行なう。全てのラインについての処理が完了したら処理を終了する。
【0042】
図5に示す例では、まず、(FILL_NO)が1以上となるまで端数部の演算を行う。この例では入力変化点データ(CPOS)が5から7までの間、図3(e)に示すように、バイトレングス(BYTELEN)が0なので、端数部についての演算を行なうことになる。
【0043】
入力変化点データ(CPOS)=5の時、端数(BITPAT_NO)が5(黒画素への変化点)であるので、端数部のイメージパターン(BITPAT_REG)を、(BITPAT_NO)=5に対応する黒用のイメージ変換テーブル値(0x07)、すなわち図5に示すCPOSに対応するBITPAT(BITPAT_NO)で初期化する。
【0044】
入力変化点データ(CPOS)=6の時、端数(BITPAT_NO)が6であり、白画素への変化点であるので、白用のイメージ変換テーブルから得られる(BITPAT_NO)=6のテーブル値(0xfc)と、前の端数部のイメージパターン(BITPAT_REG)とANDをとることで(BITPAT_REG)を求める(ステップA9)。
【0045】
CPOS=7の時、変化点の色が黒であるため、黒用のイメージ変換テーブルから得られる(BITPAT_NO)=7に対応するイメージパターンと、前の端数部のイメージパターン(BITPAT_REG)とORをとることで(BITPAT_REG)を求める(ステップA8)。
【0046】
CPOS=9の時(白画素への変化点)、バイトレングス(BYTELEN)=1となるので、ステップA5において(FILL_NO)=1が求められる。従って、直前で求めた(BITPAT_REG)の値を出力イメージ領域に転送する。また、(BITPAT_NO)=1から白用のイメージ変換テーブルを参照し、(BITPAT_REG)に代入する(ステップA10)。
【0047】
以下、CPOS=15まで同様に演算が可能である。最終変化点のCPOS=24の時、前のバイトレングス(BYTELEN_OLD)=1であり、バイトレングス(BYTELEN)であるため(FILL_NO)=2となる。このため、ステップA10において直前の(BITPAT_REG)を出力した後、(FILL_NO)−1回分のバイトデータ、つまり1バイト分の黒のイメージパターンを出力する。処理対象とする入力変化点データ(イメージパターン)によっては、ここで白のイメージパターンを出力する。
【0048】
このようにして、1ライン分のイメージパターンの主走査方向における白画素及び黒画素への変化点座標情報列からなる入力変化点データ(CPOSB)から、伸張開始座標(STX)及び伸張終了座標(ENX)によって指定される指定領域についてのイメージデータを生成することができる。
【0049】
第1実施形態のイメージ伸張処理方法では、指定領域以外の変化点座標については、伸張処理の対象としない(イメージデータに変換しない)ため、その分、処理時間が短縮される。また、指定領域外のイメージが生成されないため、余分な作業メモリを必要としない。
【0050】
次に、本発明の第2実施形態に係わるデータ伸張処理方法について、図6に示すフローチャートを参照しながら説明する。第2実施形態におけるイメージ伸張処理方法は、MH符号化方式で圧縮されたイメージデータに対して、圧縮データから矩形領域で指定された部分のみを出力イメージ領域に展開する。
【0051】
ステップB1は、初期化処理のステップであり、主走査/副走査方向の伸張開始座標(STX.STY)と終了座標(ENX.ENY)を設定する。また、処理の対象とするラインを管理するための、処理ラインカウンタのカウント値LCNTを初期化する。ただし、STX=主走査伸張開始座標、STY=副走査伸張開始座標、ENX=主走査伸張終了座標、ENY=副走査伸張終了座標とする。
【0052】
ステップB2は、MH符号化方式による圧縮コードの中からEOL(End Of Line )コードを検出するステップである。
ステップB3は、現在、処理対象とすべきラインが、伸張処理領域内にあるか否かを判定するステップであり、処理ラインカウンタのカウント値LCNTが設定された伸張開始位置以上であるか否かによって判定する。
【0053】
ステップB4は、処理対象とすべきラインが、ステップB3により伸張処理領域内にあると判定された時に、その1ライン分の符号データ(圧縮データ)を白画素または黒画素への変化点座標列(変化点データ)、すなわち変化点テーブルに変換するステップである。
【0054】
ステップB5は、ステップB4で得られた変化点座標列に対し、前述した第1実施形態における主走査方向への部分伸張処理を行なうステップであり、ここでイメージ出力領域に対して部分伸張結果が出力される。
【0055】
ステップB6は、処理ラインカウンタのカウント値LCNTを+1インクリメントするステップである。
ステップB7は、処理ラインカウント値が伸張終了ラインに到達した時、処理を終了するステップである。
【0056】
次に、第2実施形態におけるデータ伸張処理方法の動作について、具体例を示して説明する。図7は、MH符号化された1ページ分の圧縮データ(コードデータ列)を示すものであり、図7中のEOLは、各ラインのラインエンドを示す符号語である。ただし、この符号語EOLは、1ページの最初のデータラインの前にも付加される。
【0057】
DATAは、1ライン分のコードデータを示すものであり、DATA1が1ライン目のコードデータとなり、図では1ページNラインの圧縮データであることを示している。
【0058】
まず、初期化処理として、例えば100ドット×100ラインのイメージの圧縮データに対して、伸張処理の対象とする矩形領域を示す伸張開始座標(STX.STY)を(X.Y)=(10.1)とし、伸張終了座標(ENX.ENY)を(X.Y)=(50.50)として設定されたものとする(ステップB1)。なお、イメージの左上座標を原点(X.Y)=(0.0)としている。
【0059】
次に、圧縮データの中からEOLコードを検出する(ステップB2)。ここでは、処理ラインカウンタのカウント値LCNTが0であり、副走査伸張開始座標STYの値が1であるため、現在、処理対象としているラインが伸張処理領域外であるものとして、1ライン目の符号データ(DATA1)を読み飛ばす(ステップB2,B3)。そして、処理ラインカウンタのカウント値LCNTを+1インクリメントして、次のEOLコードの検出処理に戻る(ステップB6,B7)。
【0060】
次に、EOLコードを検出した時、副走査方向の伸張開始座標STYの値が1であり、処理ラインカウンタのカウント値LCNTが1となっているため、処理対象としている2ライン目が伸張処理対象内にあるものとして、2ライン目以降の符号データ(DATA2,DATA3,…)を、白画素または黒画素への変化点座標列(変化点データ)に変換する(ステップB4)。MH符号化方式による圧縮コード(コードデータ)は、1次元符号であり、黒ランと白ランとが所定のコードによって表わされているため、そのコードに応じて白画素または黒画素への変化点座標列に変換する。
【0061】
次に、ステップB4において生成された1ライン分の変化点データ中の指定された伸張処理領域分(X方向座標値10から50まで)に含まれる変化点座標列をもとに、第1実施形態において説明したイメージ伸張処理方法によってイメージパターンを生成し、出力イメージ領域に伸張イメージデータとして出力する(ステップB5)。
【0062】
以上、処理ラインカウンタのカウント値LCNTが伸張終了ライン座標(Y=50)に到達するまで処理を繰り返し、伸張終了位置に到達した後の圧縮データに対する処理を行なわない。これにより、圧縮データから指定された矩形領域内おけるイメージのみを生成する(伸張)することができる。
【0063】
このようにして、伸張処理領域内に含まれる最初のライン、すなわち伸張開始ラインまでの圧縮データに対しては、EOLコードを検出する処理のみを行なうだけで良く、また伸張終了ライン以降の圧縮データに対しては全く処理をしないため、その分、処理時間が短縮される。
【0064】
しかも、指定された矩形領域外のイメージを生成しないため、伸張処理に要する時間を短縮すると共に、余分な作業メモリを必要としない。
次に、本発明の第3実施形態に係わるデータ伸張処理方法について、図8に示すフローチャートを参照しながら説明する。第3実施形態におけるデータ伸張処理方法は、図9に示すようなMMR符号化方式で圧縮されたイメージデータに対して、圧縮データから矩形領域で指定された部分のみを出力イメージ領域に展開する。
【0065】
ステップC1は、初期化処理のステップであり、主走査/副走査方向の伸張開始座標(STX.STY)と終了座標(ENX.ENY)を設定する。また、処理ラインカウンタのカウント値LCNTを初期化する。ただし、STX=主走査伸張開始座標、STY=副走査伸張開始座標、ENX=主走査伸張終了座標、ENY=副走査伸張終了座標とする。
【0066】
ステップC2は、圧縮データが格納されるエリアから2次元符号データであるMMR符号を順次読み出し、この符号データから1ライン分の白画素および黒画素への変化点座標列(変化点データ)、すなわち変化点テーブルを生成するステップである。また、第3実施形態では、2次元符号化データを伸張する際に、前ラインの変化点座標情報を元に、カレントラインの変化点座標を生成する方式とする。
【0067】
ステップC3は、これから処理する対象ラインが、伸張処理領域内にあるか否かを判定するステップであり、処理ラインカウント値が設定された伸張開始位置以上であるかによって判定する。
【0068】
ステップC4は、ステップC2で得られた変化点座標情報に対し、第1実施形態におけるイメージ伸張処理方法の主走査方向の部分伸張処理を行なうステップであり、ここでイメージ出力領域に対して部分伸張処理結果が出力される。
【0069】
ステップC5は、処理ラインカウンタのカウント値LCNTを+1インクリメントするステップである。
ステップC6は、処理ラインカウント値LCNTが伸張終了ラインに到達した時、処理を終了するステップである。
【0070】
なお、主走査方向における部分伸張の具体例については、第1実施形態または第2実施形態と同様にして行なうものとして詳細な説明を省略する。第3実施形態における、第2実施形態との違いは、図9に示すように、処理対象とする圧縮データが2次元符号化コードであるMMR符号を対象としているため、EOLコードのようなラインエンドを示すコードが含まれない点である。
【0071】
第3実施形態では、ステップC2において、1ライン目から圧縮データを変化点座標情報に変換し、ステップC3において、変化点座標情報からライン数をカウントしている。なお、図9中に示す、EOFB符号は、ファクシミリブロック終端符号であり、1ページの終了を示す符号語である。
【0072】
ステップC2において生成された変化点座標情報は、指定された伸張処理領域内に入るまでは、次ラインの変化点座標を生成するためにだけ使用され、イメージへの伸張は行なわない。すなわち、MMR符号化方式では、主走査方向に対する白画素または黒画素への変化点座標と、次ラインの白画素または黒画素への変化点座標との相対的位置に基づいて符号化されているので、イメージへの伸張を行なわずコードに応じて直接、次ラインの変化点座標を生成することができる。
【0073】
このようにして、伸張開始ラインまでの圧縮データに対しては変化点座標情報を生成するだけでよく、また伸張終了ライン以降の圧縮イメージに対して全く処理をしないため、その分、処理時間が短縮される。
【0074】
しかも、指定された矩形領域外のイメージを生成しないため、伸張処理に要する時間を短縮すると共に、余分な作業メモリを必要としない。
次に、本発明の第4実施形態に係わるデータ伸張処理方法について、図10に示すフローチャートを参照しながら説明する。第4実施形態におけるデータ伸張処理方法は、図11に示すようなMR符号化方式で圧縮されたイメージデータに対して、圧縮データから矩形領域で指定された部分のみを出力イメージ領域に展開する。
【0075】
図11は、MR符号化方式により圧縮されたイメージの1ページ分の圧縮データを示している。図11中EOLは、各ラインのラインエンドを示す符号語であり、全ての符号化されたラインの最後に付加される。また、EOL符号の後には、次のラインには1次元符号化方式あるいは2次元符号化方式のどちらの方式により圧縮されたコードが使用されるかを示す付加ビット(Tag)が続く。なお、Tag=1の時、次のラインは1次元符号化であり、Tag=0の時、次のラインは2次元符号化であることを示す。ただし、EOL+Tagの符号語は1ページの最初のデータラインの前にも付加される。
【0076】
ステップD1は、初期化処理のステップであり、主走査/副走査方向の伸張開始座標(STX.STY)と終了座標(ENX.ENY)を設定する。また、処理ラインカウンタLCNTの初期化を行なう。ただし、STX=主走査伸張開始座標、STY=副走査伸張開始座標、ENX=主走査伸張終了座標、ENY=副走査伸張終了座標とする。
【0077】
ステップD2は、圧縮データが格納されるエリアからコードデータを順次読み出し、次に続くコードが1次元符号か2次元符号かを判定するステップである。第4実施形態ではEOL符号に続く付加ビット(Tag)が1の時、1次元符号化とし、付加ビットが0の時、2次元符号化と判定する。
【0078】
ステップD3は、ステップD2の判定結果が2次元符号化コードの場合、実行されるステップであり、コードから1ライン分の白画素および黒画素への変化点座標列(変化点テーブル)を生成する。また、第4実施形態では、2次元符号化コードを伸張する際に、前ラインの変化点座標情報を元に、カレントラインの変化点座標を生成する方式とする。
【0079】
ステップD4は、ステップD2の判定結果が1次元符号化コードの場合、実行されるステップであり、処理ラインカウンタ値LCNTが、設定された伸張開始ライン座標(STY)−1以上となるか否かを判定する。
【0080】
ステップD5は、ステップD4の判定結果により、圧縮データから1ライン分の白画素および黒画素への変化点座標列(変化点テーブル)を生成するステップである。指定された伸張処理領域外の場合は、コードデータは読み飛ばされる。
【0081】
ステップD6は、処理ラインカウンタのカウント値LCNTが、設定された伸張開始ライン座標以上となるか否かを判定するステップである。
ステップD7は、ステップD3またはステップD5で得られた変化点座標情報列(変化点テーブル)に対し、第1実施形態において説明した主走査方向の部分伸張処理を行なうステップであり、ここでイメージ出力領域に対して部分伸張結果が出力される。
【0082】
ステップD8は、処理ラインカウンタのカウント値LCNTを+1インクリメントするステップである。
ステップD9は、処理ラインカウンタのカウント値LCNTが伸張終了ラインに到達した時、処理を終了するステップである。
【0083】
次に、第4実施形態におけるデータ伸張処理方法の動作について、図11に示す圧縮データを例にして説明する。
まず、初期化処理のステップであり、主走査/副走査方向の伸張開始座標(STX.STY)と終了座標(ENX.ENY)を設定した後、圧縮データのコードデータを読み出し、EOL符号に続く付加ビット(Tag)を参照して、次に続くコードが1次元符号か2次元符号かを判定する(ステップD2)。
【0084】
2次元符号である場合には、MR符号化方式に基づいて、前ラインの変化点座標情報を元に、現在処理対象としているカレントラインの変化点座標を生成する(ステップD3)。
【0085】
一方、1次元符号である場合には、処理ラインカウンタ値LCNTが、設定された伸張開始ライン座標(STY)−1以上であれば、圧縮データから1ライン分の白画素および黒画素への変化点座標列(変化点テーブル)を生成する(ステップD5)。
【0086】
つまり、伸張開始ライン座標位置から2次元符号化データが始まる場合、2次元符号化データを変化点座標情報に変換する際に前ラインの変化点座標情報が必要になる。このために、第4実施形態では1次元符号化コードと判定された場合、伸張開始ライン座標の1ライン手前から変化点座標を生成するようにする。
【0087】
以下、第3実施形態と同様にして、処理ラインカウンタ値LCNTが伸張領域内を示す間に生成される変化点テーブルをもとに、第1実施形態と同様にして伸張処理を行なうことにより、MR符号化方式による1次元と2次元のコードデータが混在する圧縮データから、指定された矩形領域のみのイメージを生成して、イメージ出力領域に出力することができる。
【0088】
このようにして、第4実施形態では、伸張開始ラインまでの圧縮データに対しては、EOLコード検出または変化点座標情報を生成するだけでよく、また伸張終了ライン以降の圧縮イメージについては、全く処理をしないため、その分、処理時間が短縮される。
しかも、指定された矩形領域外のイメージを生成しないため、伸張処理に要する時間を短縮すると共に、余分な作業メモリを必要としない。
【0089】
【発明の効果】
以上詳述したように本発明によれば、1ページ分の圧縮データに対して指定された矩形領域のみについて伸張処理を実行することにより高速なイメージ展開が可能となり、1ページ分の全体イメージを展開する必要がなくなり、小容量のメモリ構成でも大イメージの編集を行なうことができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係わるイメージ伸張処理方法を実現するシステムの構成を示すブロック図。
【図2】第1実施形態に係わるデータ伸張処理方法を説明するためのフローチャート。
【図3】第1実施形態におけるデータ伸張処理方法の動作を説明するためのイメージ生成過程を示す図。
【図4】第1実施形態におけるイメージ変換テーブルの一例を示す図。
【図5】第1実施形態におけるイメージ伸張処理方法の動作を説明するためのイメージ生成過程を示す図。
【図6】第2実施形態に係わるデータ伸張処理方法を説明するためのフローチャート。
【図7】第2実施形態において処理対象とするMH符号化された1ページ分の圧縮データを示す図。
【図8】第3実施形態に係わるデータ伸張処理方法を説明するためのフローチャート。
【図9】第3実施形態において処理対象とするMMR符号化された1ページ分の圧縮データを示す図。
【図10】第4実施形態に係わるデータ伸張処理方法を説明するためのフローチャート。
【図11】第4実施形態において処理対象とするMR符号化された1ページ分の圧縮データを示す図。
【図12】従来のイメージ伸張処理を説明するための図。
【符号の説明】
10…CPU10 12…RAM
14…VRAM 16…ROM
18…入力装置 20…入力制御部
22…表示装置 24…表示制御部
26…記憶装置 28…記憶制御部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image expansion technique, and more particularly to an image expansion processing method for performing image expansion of MH (Modified Huffman) / MR (Modified READ) / MMR (Modified Modified READ) codes.
[0002]
[Prior art]
In general, there are MH (Modified Huffman) / MR (Modified READ) / MMR (Modified Modified READ) encoding methods as data compression methods for binary image images.
[0003]
In order to cut out an image of a partial rectangular area in the original image, as shown in FIG. 12, based on the compressed data of the binary image image obtained by the MH / MR / MMR encoding method or the like, The conventional image expansion processing method is performed as follows.
[0004]
That is, a working memory (work area) for one page of image data to be image cut out is prepared on the memory, and the entire image for one page is developed based on the compressed data. Thereafter, the image of the target rectangular area is output to the output image area from the image data for one page developed in the working memory, and the image cutout is completed.
[0005]
[Problems to be solved by the invention]
As described above, in the conventional image expansion processing method, in order to obtain an image of a specific rectangular area in the original image based on the compressed data, the entire image for one page is once worked based on the compressed data. It was necessary to expand on memory. Therefore, the time required to cut out a necessary image is the sum of the time required to expand an image for one page and the time required to cut out an image of a specific rectangular area from the entire developed image. For this reason, the responsiveness until an output image is obtained has deteriorated.
[0006]
Also, if the target image is a large image with a size of A0 and a resolution of 16 lines / mm, for example, if the compressed image is expanded at once, the amount of data becomes about 30 Mbytes, and a large amount of work is required. Memory is needed.
[0007]
The present invention has been made in consideration of the above-mentioned circumstances, and an image that can execute partial segmentation of a rectangular area in an entire image at high speed based on compressed data without using a large-capacity working memory. It is an object of the present invention to provide a decompression processing method.
[0008]
[Means for Solving the Problems]
The present invention provides a change point data string composed of change point coordinates that change to white pixels and black pixels in the main scanning direction of image data. The This is an image expansion processing method that originally expands an image, and sets expansion start coordinates and expansion end coordinates in image data to be subjected to image expansion, and sets the main points from the set expansion start coordinates and the change point data string. By comparing the change point coordinates sequentially read out in the scanning direction, the first change point coordinates of the range to be expanded in the change data string are detected, and the extension end coordinates and the change point data string are sequentially detected in the main scanning direction. The change point coordinate at the end of the range to be expanded in the change point data string is detected by comparison with the read change point coordinate, and the change point from the detected start change point coordinate to the end change point coordinate is detected. Divide each change point coordinate in the data string by a predetermined value to obtain the quotient and the remainder value, and find the quotient obtained for each change point coordinate and the change point coordinate corresponding to this quotient. Obtains the difference between the quotient obtained for coordinates of the transition points, respectively, when the value of the calculated difference is zero, the image pattern with respect to the change point coordinates that do not reach the predetermined value When the change point coordinates subject to division correspond to black pixels, the number of consecutive white pixels indicated by the remainder value is followed by the remaining black pixels for the remaining pixels up to a predetermined value. 1 is obtained by performing an OR operation on an image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates, and when the change point coordinates to be divided correspond to white pixels, the remainder value An AND operation is performed on the second image pattern in which white pixels corresponding to the remaining pixels up to a predetermined value continue after the number of consecutive black pixels indicated by and the image pattern that does not reach the predetermined value for the previous change point coordinates. Seeking by When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion; , Difference Same as the pixel corresponding to the previous change point coordinate for the value obtained by subtracting 1 from Output image pattern with continuous white or black pixels as image pattern after image expansion Then, the first image pattern or the second image pattern corresponding to the remainder value with respect to the change point coordinates to be divided is changed to an image pattern that does not reach the predetermined value. It is characterized by doing.
[0009]
The present invention is also an image decompression processing method for decompressing an image based on compressed data encoded by a one-dimensional encoding method including an EOL code indicating an image line segment, and image data to be subjected to image decompression. Whether the line to be processed is the target of image expansion based on the expansion start coordinate and the expansion end coordinate while setting the expansion start coordinate and expansion end coordinate in the middle and detecting the EOL code from the compressed data When it is determined whether or not the line is a target of image expansion, the compressed data of the same line is converted into a change point data string composed of change point coordinates that change to white pixels and black pixels. Each change point coordinate in the data string is divided by a predetermined value to obtain a quotient and a remainder, and the quotient obtained for each of the change point coordinates and the quotient Calculated difference between the quotient obtained for the change point coordinates immediately before the change point coordinates, respectively, when the value of the calculated difference is zero, the image pattern with respect to the change point coordinates that do not reach the predetermined value When the change point coordinates subject to division correspond to black pixels, the number of consecutive white pixels indicated by the remainder value is followed by the remaining black pixels for the remaining pixels up to a predetermined value. 1 is obtained by performing an OR operation on an image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates, and when the change point coordinates to be divided correspond to white pixels, the remainder value An AND operation is performed on the second image pattern in which white pixels corresponding to the remaining pixels up to a predetermined value continue after the number of consecutive black pixels indicated by and the image pattern that does not reach the predetermined value for the previous change point coordinates. Seeking by When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion; , Difference Same as the pixel corresponding to the previous change point coordinate for the value obtained by subtracting 1 from Output image pattern with continuous white or black pixels as image pattern after image expansion Then, the first image pattern or the second image pattern corresponding to the remainder value with respect to the change point coordinates to be divided is changed to an image pattern that does not reach the predetermined value. It is characterized by doing.
[0010]
The present invention is also an image decompression processing method for decompressing an image based on compressed data encoded by a two-dimensional encoding method, wherein an expansion start coordinate and an expansion end coordinate in image data to be subjected to image expansion are obtained. Is set and converted into a change point data string composed of change point coordinates that change from white to black pixels for one line from the compressed data, and the line corresponding to the change point coordinates in the change point data string Whether or not it is an object is determined based on the expansion start coordinates and the expansion end coordinates, and when it is determined that the line is a target of image expansion, each of the change point coordinates in the change point data string is predetermined. The difference between the quotient obtained for each change point coordinate and the quotient obtained for the change point coordinate immediately before the change point coordinate corresponding to this quotient Calculated respectively, when the value of the calculated difference is zero, the image pattern with respect to the change point coordinates that do not reach the predetermined value When the change point coordinates subject to division correspond to black pixels, the number of consecutive white pixels indicated by the remainder value is followed by the remaining black pixels for the remaining pixels up to a predetermined value. 1 is obtained by performing an OR operation on an image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates, and when the change point coordinates to be divided correspond to white pixels, the remainder value An AND operation is performed on the second image pattern in which white pixels corresponding to the remaining pixels up to a predetermined value continue after the number of consecutive black pixels indicated by and the image pattern that does not reach the predetermined value for the previous change point coordinates. Seeking by When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion; , Difference Same as the pixel corresponding to the previous change point coordinate for the value obtained by subtracting 1 from Output image pattern with continuous white or black pixels as image pattern after image expansion Then, the first image pattern or the second image pattern corresponding to the remainder value with respect to the change point coordinates to be divided is changed to an image pattern that does not reach the predetermined value. It is characterized by doing.
[0011]
In the present invention, code data encoded by a one-dimensional encoding method and code data encoded by a two-dimensional encoding method are mixed, and an EOL code indicating a line segment of an image and a one-dimensional encoding method or An image decompression method for decompressing an image based on compressed data including additional information indicating a code compressed by a two-dimensional encoding method, and decompressing the image data to be subjected to image decompression The start coordinate and the end start coordinate are set, and the EOL code and the additional information are detected from the compressed data, and the compressed data of the line of interest is based on the additional information by either the one-dimensional encoding method or the two-dimensional encoding method. If the line of interest is compressed data by a one-dimensional encoding method, the process ends from the expansion start coordinate-1 The line corresponding to the compressed data up to the start coordinate is determined as an image expansion target, and the compressed data of the corresponding line is converted into a change point data string composed of change point coordinates changing to white pixels and black pixels, and the determination As a result, if the target line is code data by the two-dimensional encoding method, the line corresponding to the compressed data from the expansion start coordinate to the end start coordinate is determined as an image expansion target, and the corresponding line is compressed. A change point data string composed of change point coordinates for changing data to white pixels and black pixels is generated, and each of the change point coordinates in the generated change point data string is divided by a predetermined value to obtain a quotient and a remainder value. The difference between the quotient obtained for each of the change point coordinates and the quotient obtained for the change point coordinate immediately before the change point coordinate corresponding to the quotient is obtained. When the value is 0, the image pattern with respect to the change point coordinates that do not reach the predetermined value When the change point coordinates subject to division correspond to black pixels, the number of consecutive white pixels indicated by the remainder value is followed by the remaining black pixels for the remaining pixels up to a predetermined value. 1 is obtained by performing an OR operation on an image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates, and when the change point coordinates to be divided correspond to white pixels, the remainder value An AND operation is performed on the second image pattern in which white pixels corresponding to the remaining pixels up to a predetermined value continue after the number of consecutive black pixels indicated by and the image pattern that does not reach the predetermined value for the previous change point coordinates. Seeking by When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion; , Difference Same as the pixel corresponding to the previous change point coordinate for the value obtained by subtracting 1 from Output image pattern with continuous white or black pixels as image pattern after image expansion Then, the first image pattern or the second image pattern corresponding to the remainder value with respect to the change point coordinates to be divided is changed to an image pattern that does not reach the predetermined value. It is characterized by doing.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a system for realizing an image expansion processing method according to this embodiment. As shown in FIG. 1, this system includes a
[0013]
The
[0014]
The
[0015]
The VRAM 14 is an area for expanding display data to be displayed on the display device 22. The display data developed in the VRAM 14 is read by the
[0016]
The
[0017]
The input device 18 is configured by a keyboard, a mouse, or the like, and inputs instructions for the system.
The display device 22 is configured by a liquid crystal display, for example, and performs display under the control of the
[0018]
The storage device 26 stores compressed data obtained by encoding image data to be processed, change point coordinate data, image data, and the like. The
[0019]
Next, a data decompression processing method according to the first embodiment of the present invention will be described with reference to the flowchart shown in FIG. As shown in FIG. 5, the image expansion processing method in the first embodiment generates image data based on a change point data string (compressed data) composed of change point coordinate information for white and black pixels of image data. To do. In the present embodiment, only the image of the designated rectangular area is expanded based on the change point data string.
[0020]
Step A1 is a step for setting an expansion start coordinate (STX) and an expansion end coordinate (ENX) in the main scanning direction.
Step A2 is a step for executing an initialization process, in which the immediately preceding change point calculation result is initialized.
[0021]
In step A3, the change point coordinates of the input change point data (CPOSB) sequentially read in the raster direction are compared with the expansion start coordinates (STX), and the portion where the change point coordinates are equal to or smaller than the expansion start coordinates (STX) is expanded. This is a step of detecting a change point coordinate serving as a start position of a decompression processing target where CPOSB> STX. In addition, the change point coordinate of the input change point data (CPOSB) is compared with the extension end coordinate (ENX), and the change point coordinate of the extension end coordinate (ENX) +1 is detected as the end of the extension process. .
[0022]
Step A4 is a step for obtaining the byte length (BYTELEN) of the change point coordinates after partial expansion and the remainder value thereof, storing the calculation result for the immediately previous change point coordinates in (BYTELEN_OLD), and changing point coordinates after the partial designation. The value of (CPOS) is set to a value obtained by subtracting the expansion start coordinate (STX) from the coordinate (CPOSB) of the input change point, and a quotient and remainder obtained by dividing this by a predetermined value are obtained.
[0023]
In step A5, a difference between the byte length (BYTELEN) of the change point coordinates obtained in step A4 and the immediately preceding value (BYTELEN_OLD) is obtained, and this is held in (FILL_NO).
[0024]
Step A6 is a step of determining whether or not (FILL_NO) obtained in Step A5 is 1 or more.
Step A7 is a step of determining whether or not the color of the current change point is black.
[0025]
Steps A8 and A9 are steps for obtaining the fractional part image pattern (BITPAT_REG) by referring to the image conversion table using the byte length fractional value (BITPAT_NO) and the current color (COLOR) as an address. In this case, (BITPAT_REG) and the output of the image conversion table are ORed and substituted into (BITPAT_REG).
[0026]
On the other hand, if the current color is white, the result of ANDing (BITPAT_REG) and the output of the image conversion table is substituted into (BITPAT_REG).
Step A10 is a step executed when (FILL_NO) is 1 or more in the determination of step A6, and is a step of transferring the fractional part image pattern (BITPAT_REG) generated in steps A8 and A9 to the output image area. . Also, (BITPAT_REG) is initialized with an image pattern corresponding to (BITPAT_NO) obtained in step A4.
[0027]
Step A11 is a step of transferring a white or black image composed of 1 byte (here, 8 bits) to the output image area for (FILL_NO) -1 times.
[0028]
Steps A12 and A13 are steps for determining the expansion end position and the end of one screen. The raster is processed until the image of the specified rectangular area is cut out based on the change point data string for one screen cut out in the main scanning direction. This is an end determination for sequentially executing processing in the scanning direction.
[0029]
Next, the operation of the data decompression method according to the first embodiment will be described with reference to specific examples shown in FIG. 3, FIG. 4, and FIG.
The input change point data shown in FIG. 3C is input data. Image data corresponding to the change point coordinate sequence in FIG. 3C is shown in FIG. FIG. 3D shows a change point coordinate sequence (change point sequence data (CPOS) after partial designation) corresponding to the area designated by the expansion start coordinate (STX) / extension end coordinate (ENX). FIG. 3B shows an image pattern corresponding to the change point sequence data (CPOS) shown in FIG. Further, FIG. 3E shows the byte length (BYTELEN) of the change point obtained in step A3, and the remainder (fraction) obtained by dividing the change point data (CPOS) after partial designation by a predetermined value (8 in this case). 3 (f).
[0030]
FIG. 4 stores a bit pattern (8-bit image pattern in the present embodiment) accessed by a fraction (BITPAT_NO) when generating an image pattern in steps A8 and A9. image The conversion table is shown. In this embodiment, two image conversion tables for black change points and white change points are prepared.
[0031]
FIG. 5 shows a process of converting the input change point sequence data (CPOSB) shown in FIG. 3C into image data.
First, expansion start coordinates (STX) and expansion end coordinates (ENX) in the main scanning direction of a rectangular area to be cut out in the original image are set.
[0032]
Next, after initialization of the previous change point calculation result (step A2), from the input change point data (CPOSB) shown in FIG. 3 (c) sequentially read in the raster direction, the expansion start coordinates (STX) and Based on the expansion end coordinates (ENX), the expansion start / end positions to be subjected to partial expansion processing are detected (step A3). That is, the change point coordinate of the input change point data (CPOSB) is compared with the expansion start coordinate (STX), and if the change point coordinate is equal to or less than the expansion start coordinate (STX), it is discarded as an object of the expansion process. Then, change point coordinates satisfying CPOSB> STX are set as change point coordinates to be converted into image data. Further, it is assumed that the coordinates of the extension end coordinate (ENX) +1 are set as the end of the change point coordinates to be subjected to the extension process, and the process is not performed on the change point coordinates exceeding the extension end coordinate (ENX) +1.
[0033]
Here, a value obtained by subtracting the expansion start coordinate (STX) from the change point coordinate of the input change point data (CPOSB) is set as a change point coordinate of the change point data (CPOS) after partial designation. Thereby, as shown in FIG. 3D, change point data (CPOS) after designating a part to be decompressed for the current target line is obtained.
[0034]
Next, the previous calculation result is stored in (BYTELEN_OLD), and a quotient (byte length (BYTELEN)) obtained by dividing the change point coordinates of the change point data (CPOS) by a predetermined value and the remainder (BITPAT_NO) are obtained (step A4). ). In this embodiment, the predetermined value is set to 8, and the byte length (BYTELEN) of the change point coordinates and the remainder (BITPAT_NO) are obtained. That is, the input change point data (CPOS) is shifted by (POSSHIFT) = 3 to obtain a quotient, and the remainder is obtained by a logical product of the input change point data (CPOS) with (POSSMASK) = 7.
[0035]
Next, a difference between the byte length (BYTELEN) of the change point coordinates obtained in step A4 and the immediately preceding value (BYTELEN_OLD) is obtained, and this is set as (FILL_NO) (step A5).
[0036]
If (FILL_NO) is 0 (step A6), the process proceeds to step A7. In step A7, it is determined whether or not the color of the current change point is black.
When the color of the current change point is black, an OR operation is performed on the previous fraction image pattern (BITPAT_REG) and the image pattern obtained from the black image conversion table shown in FIG. (BITPAT_REG) is generated (step A8).
[0037]
Further, when the color of the current change point is white, an AND operation is performed on the previous fraction image pattern (BITPAT_REG) and the image pattern obtained from the white image conversion table shown in FIG. , (BITPAT_REG) are generated (step A9).
[0038]
In this embodiment, the image conversion table accessed by the fraction (BITPAT_NO) is provided with a white change point and a black change point. However, two tables are obtained by bit inversion, so two are necessarily required. is not. In other words, the image pattern obtained from one table is inverted and used in place of the other table. In this embodiment, the table stores an 8-bit image pattern. However, depending on the unit developed in the output image area, the table configuration is 16 bits / 32 bits. The image pattern stored in the image conversion table is a pattern in which, for example, for black, the number of continuous white pixels indicated by the fraction (BITPAT_NO) is followed by black pixels for the remaining pixels.
[0039]
On the other hand, if it is determined in step A6 that (FILL_NO) obtained in step A5 is 1 or more, the fractional part image pattern (BITPAT_REG) generated in steps A8 and A9 is generated based on the change point data. The final image pattern is transferred to the output image area (step A10). In addition, (BITPAT_REG) is initialized with an image pattern obtained from the image conversion table corresponding to (BITPAT_NO) obtained in step A4 for processing (steps A8 and A9) for the next change point data.
[0040]
Then, the 8-bit white or black image is transferred to the output image area for (FILL_NO) -1 times. That is, when (FILL_NO) is 2 or more, it indicates that the same white or black color is continuously 1 byte or more, so that the necessary number of bytes of white or black data is continuously output. .
[0041]
If the end of the line has not been reached, the process returns to step A3, and the process is repeated for the remaining part of the change point data (CPOS) after the part of the target line is designated. If the end of the line is reached and the processing for one screen is not completed, the process returns to the initialization process in step A2, and the process for the input change point data of the remaining lines is performed. When the process for all lines is completed, the process ends.
[0042]
In the example shown in FIG. 5, first, the fractional part is calculated until (FILL_NO) becomes 1 or more. In this example, since the input change point data (CPOS) is 5 to 7 and the byte length (BYTELEN) is 0 as shown in FIG. 3E, the fractional part is calculated.
[0043]
When the input change point data (CPOS) = 5, the fraction (BITPAT_NO) is 5 (change point to the black pixel). The image conversion table value (0x07), that is, BITPAT (BITPAT_NO) corresponding to CPOS shown in FIG.
[0044]
When the input change point data (CPOS) = 6, the fraction (BITPAT_NO) is 6, which is a change point to a white pixel, so that the table value (0xfc) obtained from the image conversion table for white (BITPAT_NO) = 6 ) And AND with the previous fractional image pattern (BITPAT_REG) to obtain (BITPAT_REG) (step A9).
[0045]
Since the color of the change point is black when CPOS = 7, the image pattern corresponding to (BITPAT_NO) = 7 obtained from the image conversion table for black, the image pattern (BITPAT_REG) of the previous fraction part, and OR To obtain (BITPAT_REG) (step A8).
[0046]
When CPOS = 9 (change point to a white pixel), since byte length (BYTELEN) = 1, (FILL_NO) = 1 is obtained in step A5. Therefore, the value of (BITPAT_REG) obtained immediately before is transferred to the output image area. Also, the image conversion table for white is referenced from (BITPAT_NO) = 1, and is substituted for (BITPAT_REG) (step A10).
[0047]
Thereafter, the same calculation is possible until CPOS = 15. When CPOS = 24 at the final change point, the previous byte length (BYTELEN_OLD) = 1, and since the byte length (BYTELEN), (FILL_NO) = 2. For this reason, after outputting (BITPAT_REG) immediately before in step A10, (FILL_NO) -1 byte data, that is, 1-byte black image pattern is output. Depending on the input change point data (image pattern) to be processed, a white image pattern is output here.
[0048]
In this way, from the input change point data (CPOSB) consisting of the change point coordinate information sequence to the white and black pixels in the main scanning direction of the image pattern for one line, the extension start coordinates (STX) and the extension end coordinates ( ENX) can generate image data for the designated area.
[0049]
In the image expansion processing method of the first embodiment, the change point coordinates other than the designated area are not subjected to expansion processing (not converted into image data), and accordingly, the processing time is shortened accordingly. Further, since no image outside the designated area is generated, no extra working memory is required.
[0050]
Next, a data decompression processing method according to the second embodiment of the present invention will be described with reference to the flowchart shown in FIG. In the image decompression processing method according to the second embodiment, only the portion designated by the rectangular area from the compressed data is expanded in the output image area for the image data compressed by the MH encoding method.
[0051]
Step B1 is a step of initialization processing, in which expansion start coordinates (STX.STY) and end coordinates (ENX.ENY) in the main scanning / sub-scanning direction are set. Also, the count value LCNT of the processing line counter for managing the line to be processed is initialized. However, STX = main scanning extension start coordinates, STY = sub scanning extension start coordinates, ENX = main scanning extension end coordinates, and ENY = sub scanning extension end coordinates.
[0052]
Step B2 is a step of detecting an EOL (End Of Line) code from the compressed code by the MH encoding method.
Step B3 is a step of determining whether or not the line to be processed is currently in the expansion processing area, and whether or not the count value LCNT of the processing line counter is equal to or greater than the set expansion start position. Determine by.
[0053]
In step B4, when it is determined in step B3 that the line to be processed is in the decompression processing area, the code data (compressed data) for that one line is converted into a change point coordinate sequence into white pixels or black pixels. This is a step of converting into (change point data), that is, a change point table.
[0054]
Step B5 is a step of performing partial expansion processing in the main scanning direction in the first embodiment described above on the change point coordinate sequence obtained in step B4. Here, the partial expansion result is obtained for the image output area. Is output.
[0055]
Step B6 is a step of incrementing the count value LCNT of the processing line counter by +1.
Step B7 is a step in which the processing is ended when the processing line count value reaches the expansion end line.
[0056]
Next, the operation of the data expansion processing method according to the second embodiment will be described with a specific example. FIG. 7 shows one page of compressed data (code data string) that is MH-encoded, and EOL in FIG. 7 is a code word that indicates the line end of each line. However, this code word EOL is also added before the first data line of one page.
[0057]
DATA indicates code data for one line, and DATA1 is code data for the first line, and in the figure, indicates compressed data for one page and N lines.
[0058]
First, as initialization processing, for example, with respect to compressed data of an image of 100 dots × 100 lines, expansion start coordinates (STX.STY) indicating a rectangular area to be subjected to expansion processing are set to (XY) = (10. 1), and the extension end coordinates (ENX.ENY) are set as (XY) = (50.50) (step B1). The upper left coordinate of the image is the origin (XY) = (0.0).
[0059]
Next, an EOL code is detected from the compressed data (step B2). Here, since the count value LCNT of the processing line counter is 0 and the value of the sub-scanning expansion start coordinate STY is 1, it is assumed that the line currently being processed is outside the expansion processing area. The code data (DATA1) is skipped (steps B2 and B3). Then, the count value LCNT of the processing line counter is incremented by +1, and the processing returns to the next EOL code detection processing (steps B6 and B7).
[0060]
Next, when the EOL code is detected, since the value of the expansion start coordinate STY in the sub-scanning direction is 1 and the count value LCNT of the processing line counter is 1, the second line to be processed is expanded. The code data (DATA2, DATA3,...) On and after the second line is converted into a change point coordinate sequence (change point data) to a white pixel or a black pixel as being within the object (step B4). A compression code (code data) by the MH encoding method is a one-dimensional code, and a black run and a white run are represented by a predetermined code. Therefore, a change to a white pixel or a black pixel is performed according to the code. Convert to point coordinate sequence.
[0061]
Next, based on the change point coordinate sequence included in the specified extension processing region (X direction coordinate
[0062]
As described above, the processing is repeated until the count value LCNT of the processing line counter reaches the expansion end line coordinate (Y = 50), and the processing for the compressed data after reaching the expansion end position is not performed. As a result, it is possible to generate (decompress) only an image in the specified rectangular area from the compressed data.
[0063]
In this way, for the compressed data up to the first line included in the expansion processing area, that is, up to the expansion start line, only the processing for detecting the EOL code needs to be performed. Is not processed at all, the processing time is reduced accordingly.
[0064]
In addition, since an image outside the designated rectangular area is not generated, the time required for the decompression process is reduced and no extra work memory is required.
Next, a data decompression processing method according to the third embodiment of the present invention will be described with reference to the flowchart shown in FIG. In the data decompression processing method according to the third embodiment, only the part designated by the rectangular area from the compressed data is expanded in the output image area for the image data compressed by the MMR encoding method as shown in FIG.
[0065]
Step C1 is an initialization process step, in which the expansion start coordinates (STX.STY) and end coordinates (ENX.ENY) in the main scanning / sub-scanning direction are set. Also, the count value LCNT of the processing line counter is initialized. However, STX = main scanning extension start coordinates, STY = sub scanning extension start coordinates, ENX = main scanning extension end coordinates, and ENY = sub scanning extension end coordinates.
[0066]
Step C2 sequentially reads out the MMR code, which is two-dimensional code data, from the area where the compressed data is stored, and from this code data, a change point coordinate sequence (change point data) from one line to white and black pixels, This is a step of generating a change point table. In the third embodiment, when the two-dimensional encoded data is expanded, the change point coordinates of the current line are generated based on the change point coordinate information of the previous line.
[0067]
Step C3 is a step of determining whether or not the target line to be processed is within the expansion processing area, and determines whether or not the processing line count value is equal to or greater than the set expansion start position.
[0068]
Step C4 is a step of performing partial expansion processing in the main scanning direction of the image expansion processing method in the first embodiment on the change point coordinate information obtained in Step C2, and here, partial expansion is performed on the image output area. The processing result is output.
[0069]
Step C5 is a step of incrementing the count value LCNT of the processing line counter by +1.
Step C6 is a step in which the processing is ended when the processing line count value LCNT reaches the expansion end line.
[0070]
Note that a specific example of partial expansion in the main scanning direction will be described in the same manner as in the first or second embodiment, and detailed description thereof will be omitted. The difference between the third embodiment and the second embodiment is that, as shown in FIG. 9, the compressed data to be processed is an MMR code that is a two-dimensional encoded code. The code that indicates the end is not included.
[0071]
In the third embodiment, the compressed data is converted into change point coordinate information from the first line in Step C2, and the number of lines is counted from the change point coordinate information in Step C3. The EOFB code shown in FIG. 9 is a facsimile block end code and is a code word indicating the end of one page.
[0072]
The change point coordinate information generated in step C2 is used only for generating the change point coordinates of the next line and does not expand to the image until it enters the designated expansion processing area. That is, in the MMR encoding method, encoding is performed based on the relative position of the change point coordinates to the white pixel or black pixel in the main scanning direction and the change point coordinates to the white pixel or black pixel of the next line. Therefore, it is possible to generate the change point coordinates of the next line directly according to the code without expanding the image.
[0073]
In this way, it is only necessary to generate change point coordinate information for the compressed data up to the decompression start line, and no processing is performed on the compressed image after the decompression end line. Shortened.
[0074]
In addition, since an image outside the designated rectangular area is not generated, the time required for the decompression process is reduced and no extra work memory is required.
Next, a data decompression processing method according to the fourth embodiment of the present invention will be described with reference to the flowchart shown in FIG. In the data decompression processing method according to the fourth embodiment, only the part designated by the rectangular area from the compressed data is expanded in the output image area for the image data compressed by the MR encoding method as shown in FIG.
[0075]
FIG. 11 shows compressed data for one page of an image compressed by the MR encoding method. In FIG. 11, EOL is a code word indicating the line end of each line, and is added to the end of all encoded lines. The EOL code is followed by an additional bit (Tag) indicating whether the code compressed by the one-dimensional encoding method or the two-dimensional encoding method is used on the next line. Note that when Tag = 1, the next line is one-dimensional encoding, and when Tag = 0, the next line is two-dimensional encoding. However, the code word of EOL + Tag is also added before the first data line of one page.
[0076]
Step D1 is a step of initialization processing, and sets the expansion start coordinates (STX.STY) and end coordinates (ENX.ENY) in the main scanning / sub-scanning direction. Also, the processing line counter LCNT is initialized. However, STX = main scanning extension start coordinates, STY = sub scanning extension start coordinates, ENX = main scanning extension end coordinates, and ENY = sub scanning extension end coordinates.
[0077]
Step D2 is a step of sequentially reading out code data from the area where the compressed data is stored and determining whether the next code is a one-dimensional code or a two-dimensional code. In the fourth embodiment, when the additional bit (Tag) following the EOL code is 1, one-dimensional encoding is performed, and when the additional bit is 0, it is determined that the two-dimensional encoding is performed.
[0078]
Step D3 is a step executed when the determination result of step D2 is a two-dimensional encoded code, and generates a change point coordinate sequence (change point table) from the code to white pixels and black pixels for one line. . In the fourth embodiment, when the two-dimensional encoded code is expanded, the change point coordinates of the current line are generated based on the change point coordinate information of the previous line.
[0079]
Step D4 is a step that is executed when the determination result of step D2 is a one-dimensional encoded code, and whether or not the processing line counter value LCNT is equal to or greater than the set expansion start line coordinate (STY) −1. Determine.
[0080]
Step D5 is a step of generating a change point coordinate sequence (change point table) from the compressed data to white pixels and black pixels for one line based on the determination result of step D4. If it is outside the specified decompression processing area, the code data is skipped.
[0081]
Step D6 is a step of determining whether or not the count value LCNT of the processing line counter is greater than or equal to the set expansion start line coordinate.
Step D7 is a step of performing the partial expansion process in the main scanning direction described in the first embodiment on the change point coordinate information sequence (change point table) obtained in step D3 or step D5. Here, image output is performed. The partial expansion result is output for the area.
[0082]
Step D8 is a step of incrementing the count value LCNT of the processing line counter by +1.
Step D9 is a step in which the processing is ended when the count value LCNT of the processing line counter reaches the expansion end line.
[0083]
Next, the operation of the data expansion processing method according to the fourth embodiment will be described using the compressed data shown in FIG. 11 as an example.
First, in the initialization process step, after setting the expansion start coordinates (STX.STY) and the end coordinates (ENX.ENY) in the main scanning / sub-scanning direction, the code data of the compressed data is read and followed by the EOL code. Referring to the additional bit (Tag), it is determined whether the next code is a one-dimensional code or a two-dimensional code (step D2).
[0084]
If the code is a two-dimensional code, based on the MR encoding method, based on the change point coordinate information of the previous line, the change point coordinate of the current line to be processed is generated (step D3).
[0085]
On the other hand, in the case of a one-dimensional code, if the processing line counter value LCNT is equal to or greater than the set expansion start line coordinate (STY) -1, the change from compressed data to white pixels and black pixels for one line. A point coordinate sequence (change point table) is generated (step D5).
[0086]
That is, when the two-dimensional encoded data starts from the extension start line coordinate position, the change point coordinate information of the previous line is required when converting the two-dimensional encoded data into the change point coordinate information. For this reason, in the fourth embodiment, when it is determined as a one-dimensional encoded code, the change point coordinates are generated from one line before the extension start line coordinates.
[0087]
Hereinafter, as in the third embodiment, by performing extension processing in the same manner as in the first embodiment, based on the change point table generated while the processing line counter value LCNT indicates the inside of the extension region, An image of only a designated rectangular area can be generated from compressed data in which one-dimensional and two-dimensional code data are mixed by the MR encoding method, and can be output to the image output area.
[0088]
In this way, in the fourth embodiment, EOL code detection or change point coordinate information need only be generated for the compressed data up to the expansion start line. Since no processing is performed, the processing time is shortened accordingly.
In addition, since an image outside the designated rectangular area is not generated, the time required for the decompression process is reduced and no extra work memory is required.
[0089]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to perform high-speed image expansion by executing decompression processing only on a rectangular area designated for compressed data for one page, and an entire image for one page can be obtained. There is no need to expand, and a large image can be edited even with a small memory configuration.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the configuration of a system for realizing an image expansion processing method according to an embodiment of the present invention.
FIG. 2 is a flowchart for explaining a data expansion processing method according to the first embodiment;
FIG. 3 is a diagram showing an image generation process for explaining the operation of the data expansion processing method according to the first embodiment.
FIG. 4 is a diagram showing an example of an image conversion table in the first embodiment.
FIG. 5 is a view showing an image generation process for explaining the operation of the image expansion processing method in the first embodiment;
FIG. 6 is a flowchart for explaining a data expansion processing method according to the second embodiment.
FIG. 7 is a diagram showing compressed data for one page that is MH-encoded as a processing target in the second embodiment.
FIG. 8 is a flowchart for explaining a data expansion processing method according to the third embodiment;
FIG. 9 is a diagram showing compressed data for one page that is MMR-encoded as a processing target in the third embodiment.
FIG. 10 is a flowchart for explaining a data expansion processing method according to the fourth embodiment;
FIG. 11 is a view showing compressed data for one page that is MR-encoded as a processing target in the fourth embodiment.
FIG. 12 is a diagram for explaining conventional image expansion processing;
[Explanation of symbols]
10 ...
14 ...
18 ... Input device 20 ... Input control unit
22 ...
26 ...
Claims (4)
イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、
この設定された伸張開始座標と前記変化点データ列から主走査方向に順次読み出される変化点座標との比較により、前記変化データ列中の伸張すべき範囲の先頭の変化点座標を検出し、
前記伸張終了座標と前記変化点データ列から主走査方向に順次読み出される変化点座標との比較により、前記変化点データ列中の伸張すべき範囲の終端の変化点座標を検出し、
この検出した先頭の変化点座標から終端の変化点座標までの前記変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、
この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、
この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、
求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とするイメージ伸張処理方法。 The change point data sequence composed of coordinates of the transition points that vary in the main scanning direction of the image data to the white and black pixels a image decompression processing method for image decompression based,
Set the expansion start coordinate and expansion end coordinate in the image data to be expanded,
By comparing the set expansion start coordinates and the change point coordinates sequentially read out in the main scanning direction from the change point data string, the first change point coordinates of the range to be expanded in the change data string are detected,
By comparing the extension end coordinates with the change point coordinates sequentially read from the change point data string in the main scanning direction, the change point coordinates at the end of the range to be extended in the change point data string are detected,
Dividing each of the change point coordinates in the change point data string from the detected start change point coordinate to the end change point coordinate by a predetermined value to obtain a quotient and a remainder value,
Find the difference between the quotient obtained for each of these change point coordinates and the quotient obtained for the change point coordinates immediately before the change point coordinates corresponding to this quotient,
When the obtained difference value is 0, an image pattern corresponding to a change point coordinate that does not reach a predetermined value, and when the change point coordinate that is the object of division corresponds to a black pixel, the number indicated by the remainder value OR operation is performed on the first image pattern in which black pixels corresponding to the remaining pixels up to a predetermined value continue and the image pattern that does not reach the predetermined value with respect to the previous change point coordinates. When the change point coordinates to be divided correspond to white pixels, the number of continuous black pixels indicated by the remainder value is followed by white pixels for the remaining pixels up to a predetermined value. An AND operation is performed on the second image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates ,
When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion, and further , a value obtained by subtracting 1 from the obtained difference The image pattern in which the same white pixel or black pixel as the pixel corresponding to the previous change point coordinates is output as an image pattern after image expansion, and the remainder corresponding to the remainder value with respect to the change point coordinates subject to division An image expansion processing method , wherein the first image pattern or the second image pattern is an image pattern that does not reach the predetermined value .
イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、
圧縮データからEOLコードを検出しながら、前記伸張開始座標及び前記伸張終了座標に基づいて、処理の対象とするラインがイメージ伸張の対象であるか否かを判定し、
イメージ伸張の対象とするラインであると判定した時に、同ラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、
この変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、
この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、
この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、
求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とするイメージ伸張処理方法。An image expansion processing method for expanding an image based on compressed data encoded by a one-dimensional encoding method including an EOL code indicating an image line segment,
Set the expansion start coordinate and expansion end coordinate in the image data to be expanded,
While detecting the EOL code from the compressed data, based on the expansion start coordinates and the expansion end coordinates, it is determined whether or not the line to be processed is an image expansion target.
When it is determined that the line is the target of image expansion, the compressed data of the same line is converted into a change point data string composed of change point coordinates that change to white pixels and black pixels,
Divide each change point coordinate in this change point data string by a predetermined value to obtain a quotient and a remainder value,
Find the difference between the quotient obtained for each of these change point coordinates and the quotient obtained for the change point coordinates immediately before the change point coordinates corresponding to this quotient,
When the obtained difference value is 0, an image pattern corresponding to a change point coordinate that does not reach a predetermined value, and when the change point coordinate that is the object of division corresponds to a black pixel, the number indicated by the remainder value OR operation is performed on the first image pattern in which black pixels corresponding to the remaining pixels up to a predetermined value continue and the image pattern that does not reach the predetermined value with respect to the previous change point coordinates. When the change point coordinates to be divided correspond to white pixels, the number of continuous black pixels indicated by the remainder value is followed by white pixels for the remaining pixels up to a predetermined value. An AND operation is performed on the second image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates ,
When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion, and further , a value obtained by subtracting 1 from the obtained difference The image pattern in which the same white pixel or black pixel as the pixel corresponding to the previous change point coordinates is output as an image pattern after image expansion, and the remainder corresponding to the remainder value with respect to the change point coordinates subject to division An image expansion processing method , wherein the first image pattern or the second image pattern is an image pattern that does not reach the predetermined value .
イメージ伸張の対象とするイメージデータ中の伸張開始座標及び伸張終了座標を設定し、
圧縮データから1ライン分の白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、
この変化点データ列中の変化点座標に対応するラインが、イメージ伸張の対象であるか否かを前記伸張開始座標及び前記伸張終了座標に基づいて判定し、
イメージ伸張の対象とするラインであると判定した時に、前記変化点データ列中の変化点座標のそれぞれを所定の値で除算した商と余り値を求め、
この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、
この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、
求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とするイメージ伸張処理方法。An image expansion processing method for expanding an image based on compressed data encoded by a two-dimensional encoding method,
Set the expansion start coordinate and expansion end coordinate in the image data to be expanded,
Convert from the compressed data to a change point data string consisting of change point coordinates that change to white and black pixels for one line,
It is determined whether or not the line corresponding to the change point coordinates in the change point data string is an image extension target based on the extension start coordinates and the extension end coordinates,
When determining that the line is a target for image expansion, obtain a quotient and a remainder value obtained by dividing each of the change point coordinates in the change point data string by a predetermined value,
Find the difference between the quotient obtained for each of these change point coordinates and the quotient obtained for the change point coordinates immediately before the change point coordinates corresponding to this quotient,
When the obtained difference value is 0, an image pattern corresponding to a change point coordinate that does not reach a predetermined value, and when the change point coordinate that is the object of division corresponds to a black pixel, the number indicated by the remainder value OR operation is performed on the first image pattern in which black pixels corresponding to the remaining pixels up to a predetermined value continue and the image pattern that does not reach the predetermined value with respect to the previous change point coordinates. When the change point coordinates to be divided correspond to white pixels, the number of continuous black pixels indicated by the remainder value is followed by white pixels for the remaining pixels up to a predetermined value. An AND operation is performed on the second image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates ,
When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion, and further , a value obtained by subtracting 1 from the obtained difference The image pattern in which the same white pixel or black pixel as the pixel corresponding to the previous change point coordinates is output as an image pattern after image expansion, and the remainder corresponding to the remainder value with respect to the change point coordinates subject to division An image expansion processing method , wherein the first image pattern or the second image pattern is an image pattern that does not reach the predetermined value .
イメージ伸張の対象とするイメージデータ中の伸張開始座標及び終了開始座標を設定し、
圧縮データからEOLコードと付加情報を検出しながら、前記付加情報をもとに注目ラインの圧縮データが1次元符号化方式あるいは2次元符号化方式の何れによるものかを判定し、
この判定結果より、注目ラインが1次元符号化方式による圧縮データの場合は、前記伸張開始座標−1から終了開始座標までの圧縮データに対応するラインをイメージ伸張の対象と判定して、該当するラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列に変換し、
前記判定結果より、注目ラインが2次元符号化方式によるコードデータの場合は、前記伸張開始座標から前記終了開始座標までの圧縮データに対応するラインをイメージ伸張の対象と判定して、該当するラインの圧縮データを白画素及び黒画素へ変化する変化点座標からなる変化点データ列を生成し、
この生成された変化点データ列中の変化点座標のそれぞれを所定の値で除算して商と余り値を求め、
この変化点座標のそれぞれについて求めた商と、この商に対応する変化点座標の直前の変化点座標に対して求めた商との差をそれぞれ求め、
この求めた差の値が0の時に、所定の値に達しない変化点座標に対するイメージパターンを、除算の対象となった変化点座標が黒画素に対応する場合には、前記余り値が示す数の連続した白画素の後、所定の値までの残りの画素分の黒画素が連続する第1のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをOR演算することにより求め、除算の対象となった変化点座標が白画素に対応する場合には、前記余り値が示す数の連続した黒画素の後、所定の値までの残りの画素分の白画素が連続する第2のイメージパターンと前の変化点座標に対する所定の値に達しないイメージパターンとをAND演算することにより求め、
求めた差の値が1以上の時に、所定の値に達しない変化点座標に対して求めた前記イメージパターンをイメージ伸張後のイメージパターンとして出力し、さらに、求めた差から1減算した値分の前の変化点座標に対応した画素と同じ白画素または黒画素が連続するイメージパターンをイメージ伸張後のイメージパターンとして出力し、除算の対象となった変化点座標に対する前記余り値に応じた前記第1イメージパターンまたは前記第2のイメージパターンを、前記所定の値に達しないイメージパターンとすることを特徴とするイメージ伸張処理方法。Code data encoded by a one-dimensional encoding method and code data encoded by a two-dimensional encoding method are mixed, and an EOL code indicating a line segment of an image and a one-dimensional encoding method or a two-dimensional encoding method An image decompression processing method for decompressing an image based on compressed data including additional information indicating a code compressed by any one of
Set the expansion start coordinates and end start coordinates in the image data to be expanded,
While detecting the EOL code and additional information from the compressed data, determine whether the compressed data of the line of interest is based on the one-dimensional encoding method or the two-dimensional encoding method based on the additional information,
From this determination result, if the target line is compressed data by the one-dimensional encoding method, it is determined that the line corresponding to the compressed data from the expansion start coordinate -1 to the end start coordinate is the target of image expansion, and corresponds. Convert the compressed data of the line into a change point data string consisting of change point coordinates that change to white and black pixels,
If the target line is code data based on the two-dimensional encoding method based on the determination result, the line corresponding to the compressed data from the expansion start coordinate to the end start coordinate is determined as an image expansion target, and the corresponding line A change point data string composed of change point coordinates for changing the compressed data of the pixel into white pixels and black pixels,
Divide each of the change point coordinates in the generated change point data string by a predetermined value to obtain a quotient and a remainder value,
Find the difference between the quotient obtained for each of these change point coordinates and the quotient obtained for the change point coordinates immediately before the change point coordinates corresponding to this quotient,
When the obtained difference value is 0, an image pattern corresponding to a change point coordinate that does not reach a predetermined value, and when the change point coordinate that is the object of division corresponds to a black pixel, the number indicated by the remainder value OR operation is performed on the first image pattern in which black pixels corresponding to the remaining pixels up to a predetermined value continue and the image pattern that does not reach the predetermined value with respect to the previous change point coordinates. When the change point coordinates to be divided correspond to white pixels, the number of continuous black pixels indicated by the remainder value is followed by white pixels for the remaining pixels up to a predetermined value. An AND operation is performed on the second image pattern and an image pattern that does not reach a predetermined value with respect to the previous change point coordinates ,
When the obtained difference value is 1 or more, the image pattern obtained for the change point coordinates not reaching the predetermined value is output as an image pattern after image expansion, and further , a value obtained by subtracting 1 from the obtained difference The image pattern in which the same white pixel or black pixel as the pixel corresponding to the previous change point coordinates is output as an image pattern after image expansion, and the remainder corresponding to the remainder value with respect to the change point coordinates subject to division An image expansion processing method , wherein the first image pattern or the second image pattern is an image pattern that does not reach the predetermined value .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01603196A JP3795564B2 (en) | 1996-01-31 | 1996-01-31 | Image expansion processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01603196A JP3795564B2 (en) | 1996-01-31 | 1996-01-31 | Image expansion processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09214777A JPH09214777A (en) | 1997-08-15 |
JP3795564B2 true JP3795564B2 (en) | 2006-07-12 |
Family
ID=11905209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01603196A Expired - Fee Related JP3795564B2 (en) | 1996-01-31 | 1996-01-31 | Image expansion processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3795564B2 (en) |
-
1996
- 1996-01-31 JP JP01603196A patent/JP3795564B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09214777A (en) | 1997-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7009624B2 (en) | Shape processor | |
JP2968582B2 (en) | Method and apparatus for processing digital data | |
US4124871A (en) | Image data resolution change apparatus and process utilizing boundary compression coding of objects | |
KR20030005277A (en) | Shape processor | |
US6011566A (en) | System and method to display raster images with negligible delay time and reduced memory requirements | |
EP0810552B1 (en) | Image display device | |
JPH04134570A (en) | Reduced picture generator | |
US5943061A (en) | Method and apparatus for generating images utilizing a string of draw commands preceded by an offset draw command | |
US5751857A (en) | Image processing method | |
JP3795564B2 (en) | Image expansion processing method | |
JPH04328956A (en) | Picture data read method | |
US6658156B1 (en) | Information processing apparatus and method | |
JP3130721B2 (en) | Binary image compression / expansion processing system and binary image extraction method | |
JP2003087558A (en) | Apparatus and method for processing image | |
JP3724868B2 (en) | Image processing method | |
JP3261208B2 (en) | Picture information prediction encoding and decoding apparatus | |
JP2897876B2 (en) | Code data expansion processing method | |
JPH06217110A (en) | Image converting method | |
JPH05342340A (en) | Method for picture processing and device therefor | |
US5426514A (en) | Method of gray scaling facsimile images | |
JP2945553B2 (en) | High-speed restoration of image data | |
JPH10198333A (en) | Outline character drawing device | |
JP2689020B2 (en) | Code decompression method and drawing device | |
JP2002103700A (en) | Image processor | |
JPH08305335A (en) | Character processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060413 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090421 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100421 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100421 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110421 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |