JP3278298B2 - ビットマップデータの圧縮方法及び圧縮装置 - Google Patents

ビットマップデータの圧縮方法及び圧縮装置

Info

Publication number
JP3278298B2
JP3278298B2 JP18264394A JP18264394A JP3278298B2 JP 3278298 B2 JP3278298 B2 JP 3278298B2 JP 18264394 A JP18264394 A JP 18264394A JP 18264394 A JP18264394 A JP 18264394A JP 3278298 B2 JP3278298 B2 JP 3278298B2
Authority
JP
Japan
Prior art keywords
area
region
scanning direction
bitmap data
black pixels
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
Application number
JP18264394A
Other languages
English (en)
Other versions
JPH0851545A (ja
Inventor
嗣男 野田
憲一郎 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18264394A priority Critical patent/JP3278298B2/ja
Priority to DE19516979A priority patent/DE19516979C2/de
Publication of JPH0851545A publication Critical patent/JPH0851545A/ja
Priority to US08/802,096 priority patent/US5777749A/en
Application granted granted Critical
Publication of JP3278298B2 publication Critical patent/JP3278298B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/415Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/419Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which encoding of the length of a succession of picture-elements of the same value along a scanning line is the only encoding step

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図17) 発明が解決しようとする課題 課題を解決するための手段(図1〜図4) 作用(図1〜図4) 実施例 (a)第1実施例の説明(図5〜図15) (b)第2実施例の説明(図16) (c)その他 発明の効果
【0002】
【産業上の利用分野】本発明は、文字(フォント)デー
タを持たないビットマップデータを直接プリンタに転送
して文字を印刷する場合に、効率的にデータ転送速度を
高速化するビットマップデータの圧縮方法及び圧縮装置
に関する。フォントデータを内蔵しないパソコン用のプ
リンタ(以下、イメージプリンタという)では、パソコ
ン上でフォントデータを展開して、ビットマップデータ
をプリンタに転送することが行なわれている。
【0003】このため、イメージプリンタでは、従来の
文字情報をコードで送る場合に比べて、転送できるデー
タ量が格段に増えるが、同時にプリンタの印刷速度を低
下させる可能性がある。そこで、プリンタへ転送される
データ量を増加させつつ、プリンタの印刷速度を落とさ
ないために、主にデータ転送自体を高速化する方法とデ
ータ圧縮によって見かけ上のデータ転送を高速化する方
法がある。
【0004】この内、前者のデータ転送自体を高速化す
る方法は、パソコンとプリンタの標準的なインタフェイ
スであるセントロニクスの代わりに独自のハードウェア
とソフトウェアを用いる必要があるので、他機種との互
換性が低くなってしまうだけでなく、ハードウェアの処
理速度にはどうしても限界があるために、それほど顕著
なデータ転送の高速化は望めない。
【0005】そこで近年は、後者のデータ圧縮によっ
て、見かけ上のデータ転送を高速化する方法の研究が盛
んに行なわれている。
【0006】
【従来の技術】イメージプリンタのためのビットマップ
データの圧縮方法として、スキャン単位で印字領域を抽
出する方式がある。この方式にかかる抽出方法は、フォ
ントデータ内蔵プリンタにおけるグラフィックモードで
のデータ圧縮方法で、特にインクジェットプリンタなど
のシリアルプリンタにおける複数ライン(例えば48ラ
イン)を1回でスキャン(走査)する場合に用いられる
方法である。
【0007】すなわち、図17に示すように、スキャン
ライン(走査幅)を48ライン(ドット)にしてスキャ
ンを行ない、この48ラインにおける黒画素が含まれる
文字領域25の左側の空白領域と右側の空白領域を、そ
れぞれ空白領域を示す符号と文字領域の終わりを示す符
号に符号化し、残りの文字領域25のビットマップデー
タのみをプリンタに転送する方法である。
【0008】また、他にも、白画素、あるいは黒画素が
ある程度連続して出現することが多い性質を利用した、
ランレングス方式がある。この方式にかかる圧縮方法
は、CCITT国際標準方式の選定に用いられたテスト
画像では、白の平均ラン長が38〜152であり、黒の
平均ラン長は4〜7であることに鑑み、白の平均ラン長
に可変長符号(ハフマン符号)を割り当てることで、デ
ータ圧縮を行なうものである。
【0009】そして、この圧縮方法をイメージプリンタ
に適用した例では、印刷データによっては1/2から1
/10にまでデータを圧縮できる。さらに、他に、変化
画素(黒から白に、または白から黒に変わったところの
画素)の位置(着目変化画素)を符号化する、MR(M
MR)方式があり、現在のG3(G4) ファクシミリに
使用されている。
【0010】
【発明が解決しようとする課題】しかしながら、上述の
スキャン単位での印字領域抽出方式においては、ページ
の上下・左右の空白領域を除く部分のビットマップデー
タのみを送るためパソコン側での処理は軽いが、副走査
方向の転送単位が48ラインと多いため通常テキストの
行間や文字間などの小さい領域の空白を圧縮できず、ま
た表データなど罫線を含む文書では、圧縮効果がそれほ
ど得られないという課題がある。
【0011】また、同じく上述のランレングス方式にお
いては、同一データの連続長をカウントして、固定長あ
るいは可変長(ハフマン)符号に割り当てるだけである
から、構成はシンプルであり、パソコン側での圧縮処理
に時間がかかり過ぎることはないが、一次元的な相関を
利用しているに過ぎないため、画素変化の多い漢字を含
む日本語文書の場合などは十分な圧縮率が得られないと
いう課題がある。
【0012】そして、MR(MMR)方式においても、
2次元的な変化点の相対位置を符号化するので、線画デ
ータなどの圧縮率が高いという利点はあるものの、メモ
リ参照が多いためにイメージプリンタの圧縮に適用する
場合には専用のハードウェアを必要とし、かつ前記ラン
レングス方式と同様に2次元的な変化点の多い漢字に対
してはアルゴリズムの複雑さの割には圧縮効果がそれほ
ど得られないという課題がある。
【0013】さらに、上述のいずれの方式においても、
データ圧縮のアルゴリズムが複雑な場合には、パソコン
上での圧縮時間が大きくなるので逆効果になってしまう
という課題がある。本発明は、このような課題に鑑み創
案されたものであり、ビットマップデータを転送する際
に特別なハードウェアを必要とせず、また、2次元的な
変化の多い漢字を含む日本語文書であっても、簡単なア
ルゴリズムにより効率的なデータ圧縮を可能にする、ビ
ットマップデータ圧縮方法及び圧縮装置を提供すること
を目的とする。
【0014】
【課題を解決するための手段】図1は本発明の原理説明
図であり、この図1に示すように、本発明のビットマッ
プデータの圧縮方法では、ビットマップデータを主走査
方向に走査する主走査方向過程(ステップS1)と、こ
の主走査方向過程(ステップS1)を実行することによ
り、上記ビットマップデータ中の文字の大きさよりも小
さいK(Kは1以上の整数)行単位に、黒画素を含む領
域と黒画素を含まない領域とに分離する第1の領域分離
過程(ステップS2)をとるようになっている。
【0015】そして、第1の領域分離過程(ステップS
2)で得られた少なくとも1行は黒画素を含むN(Nは
1以上の整数)行として定義される論理行の中で、上記
主走査方向と交叉する方向の副走査方向に走査する副走
査方向過程(ステップS3)と、この副走査方向過程
(ステップS3)を実行することにより、1列単位に黒
画素を含む領域と黒画素を含まない領域とに分離する第
2の領域分離過程(ステップS4)をとる。
【0016】さらに、これら第1の領域分離過程(ステ
ップS2)と第2の領域分離過程(ステップS4)で得
られた各領域を8ビット符号で識別してバイト単位の
号化データを得る符号化過程(ステップS5)をとるよ
うになっている(請求項1)。また、図2も本発明の原
理説明図であり、この図2に示すように、本発明のビッ
トマップデータの圧縮方法では、ビットマップデータを
主走査方向に走査する主走査方向過程(ステップS
1′)と、この主走査方向過程(ステップS1′)を実
行することにより、上記ビットマップデータ中の文字の
大きさよりも小さいK(Kは1以上の整数)行単位に、
黒画素を含む領域と黒画素を含まない領域とに分離する
第1の領域分離過程(ステップS2′)をとるようにな
っている。
【0017】そして、第1の領域分離過程(ステップS
2′)で得られた少なくとも1行は黒画素を含むN(N
は1以上の整数)行として定義される論理行の中で、上
記主走査方向と交叉する方向の副走査方向に走査する副
走査方向過程(ステップS3′)と、この副走査方向過
程(ステップS3′)を実行することにより、1列単位
に黒画素を含む領域と黒画素を含まない領域とに分離す
る第2の領域分離過程(ステップS4′)をとるように
なっている。
【0018】次に、これら第1の領域分離過程(ステッ
プS2′)と第2の領域分離過程(ステップS4′)で
得られた各領域を8ビット符号で識別してバイト単位の
符号化データを得る第1の符号化過程(ステップS
5′)をとるようになっており、さらに、この第1の符
号化過程(ステップS5′)で得られたバイト単位の符
号化データに対して、第2の符号化を施す第2の符号化
過程(ステップS6′)をとるようになっている(請求
項1)。
【0019】そして、本発明のビットマップデータ
縮方法では、第1の領域分離過程(ステップS2,S
2′)で得られた連続する黒画素を含まないM(M≧
K)行で構成される領域を1つの領域として符号化する
ステップをとるようにしてもよく(請求項2,1)、
さらに各ページの先頭、あるいは各ページの最後におけ
る第1の領域分離過程(ステップS2,S2′)で得ら
れた連続する黒画素を含まない領域を1つの領域として
符号化するステップをとるようにしてもよい(請求項
3,4,119)。
【0020】また、論理行における第2の領域分離過程
(ステップS4,S4′)で得られた連続する黒画素を
含まない領域を1つの領域として符号化するステップを
とるようにしてもよく(請求項5,2)、さらに各論
理行の左端、あるいは各論理行の右端における第2の領
域分離過程(ステップS4,S4′)で得られた連続す
る黒画素を含まない領域を1つの領域として符号化する
ステップをとるようにしてもよい(請求項6,7,2
,2)。
【0021】また、第1の領域分離過程(ステップS
2,S2′)で得られた論理行を構成する行数は固定値
Nにしてもよく(請求項8、2)、「8」にしてもよ
い(請求項9,2)。そして、論理行における第2の
領域分離過程(ステップS4,S4′)で得られた連続
する黒画素を含む領域として定義される文字領域の終了
を示す符号を「0」にしてもよい(請求項10,2
)。
【0022】また、第1の領域分離過程(ステップS
2,S2′)及び第2の領域分離過程(ステップS4,
S4′)で得られた各領域を識別する8ビット符号を、
制御種別と引数で構成してもよい(請求項1,2
)。そして、上記の制御種別と引数で構成される各領
域を識別する全てあるいは一部の8ビット符号の直後
に、さらに、少なくとも1個の8ビット引数を伴うよう
にしてもよい(請求項1,2)。
【0023】また、論理行における第2の領域分離過程
(ステップS4,S4′)で得られた連続する黒画素を
含む文字領域中のビットマップデータで2回以上連続し
て出現するデータに対して割り当てる符号を、反復を示
す制御種別とその反復数とで構成するようにしてもよい
(請求項13,28)。また、第2の領域分離過程(ス
テップS4,S4′)で得られた論理行内の最後の文字
領域の直後に付加する符号を、ページ先頭からの位置情
報を示すようにしてもよい(請求項129)。
【0024】さらに、各論理行における最初の文字領域
の開始位置を、直前の論理行における最初の文字領域の
開始位置との相対値として符号化するステップをとるよ
うにしてもよい(請求項1,3)。次に、図3は本
発明の原理ブロック図で、図1を用いて説明した上述の
各過程(ステップS1〜S5)を実行するための、本発
明のビットマップデータの圧縮装置の構成を示してい
る。
【0025】そして、この図3に示すように、1は主走
査方向走査手段であり、2は第1の領域分離手段であ
り、3は副走査方向過程手段、4は第2の領域分離手
段、5は符号化手段である。ここで、主走査方向走査手
段1はビットマップデータを主走査方向に走査するもの
であり、第1の領域分離手段2は主走査方向走査手段1
が走査するビットマップデータを、上記ビットマップデ
ータ中の文字の大きさよりも小さいK行単位に黒画素を
含む領域と黒画素を含まない領域とに分離するものであ
る。
【0026】そして、副走査方向走査手段3は第1の領
域分離手段2で得られた少なくとも1行は黒画素を含む
N行として定義される論理行を、上記主走査方向と交叉
する方向に走査するものであり、第2の領域分離手段4
は、この副走査方向走査手段3が走査して得られた上記
論理行を、1列単位に黒画素を含む領域と黒画素を含ま
ない領域とに分離するものである。
【0027】さらに、符号化手段5は第1の領域分離手
段2及び第2の領域分離手段4で得られた各領域を予め
定められた制御種別と引数で構成される8ビット符号
識別してバイト単位の符号化データを得るものである
(請求項3)。なお、この図3中、6は第1の領域分
離手段2と副走査方向走査手段3とを接続して論理行(l
ogical-line)のビットマップデータを転送するためのラ
インであり、7は第1の領域分離手段2で得られた領域
の情報(V-info)を送るラインであり、8は第2の領域
分離手段4で得られた領域の情報(H-info)を送るライ
ンである。
【0028】また、図4も本発明の原理ブロック図で、
図2を用いて説明した上述の各過程(ステップS1′〜
S6′)を実行するための、本発明のビットマップデー
タ圧縮装置の構成を示している。そして、この図4に示
すように、1は主走査方向走査手段であり、2は第1の
領域分離手段、3は副走査方向走査手段、4は第2の領
域分離手段、5Aは第1の符号化手段、5Bは第2の符
号化手段である。
【0029】そして、この場合も、主走査方向走査手段
1はビットマップデータを主走査方向に走査するもので
あり、第1の領域分離手段2は主走査方向走査手段1が
走査するビットマップデータを、上記ビットマップデー
タ中の文字の大きさよりも小さいK行単位に黒画素を含
む領域と黒画素を含まない領域とに分離するものであ
る。そして、副走査方向走査手段3は第1の領域分離手
段2で得られた少なくとも1行は黒画素を含むN行とし
て定義される論理行を、主走査方向と交叉する方向に走
査するものであり、第2の領域分離手段4はこの副走査
方向走査手段3が走査する上記論理行を、1列単位に黒
画素を含む領域と黒画素を含まない領域とに分離するも
のである。
【0030】さらに、第1の符号化手段5Aは、第1の
領域分離手段2および第2の領域分離手段4で得られた
各領域を予め定められた制御種別と引数で構成される
ビット符号で識別してバイト単位の符号化データを得る
ものであり、第2の符号化手段5Bは、この第1の符号
化手段5Aで得られたバイト単位の符号化データを可変
長符号に符号化するものである(請求項3)。なお、
この図4中のライン6,ライン7,8は、図3で説明し
たものと同じものであるから、その説明は省略する。
【0031】
【作用】図1により上述した本発明のビットマップデー
タの圧縮方法は、主走査方向走査過程(ステップS1)
によりビットマップデータを主走査方向に走査し、第1
の領域分離過程(ステップS2)によりビットマップデ
ータをK(Kは1以上の整数)行単位に、黒画素を含む
領域と含まない領域とに分離する。
【0032】そして、副走査方向走査過程(ステップS
3)により、この第1の領域分離過程(ステップS2)
で得られた少なくとも1行は黒画素を含むN(Nは1以
上の整数)行として定義される論理行の中で、主走査方
向と交叉する方向の副走査方向に走査する。そしてさら
に、符号化過程(ステップS5)により、第1の領域分
離過程(ステップS2)及び第2の領域分離過程(ステ
ップS4)で得られた各領域を8ビット符号で識別して
バイト単位の符号化データを得ることができる(請求項
1)。
【0033】また、図2により上述した本発明のビット
マップデータの圧縮方法でも、同様に、主走査方向走査
過程(ステップS1′)によりビットマップデータを主
走査方向に走査し、第1の領域分離過程(ステップS
2′)によりK(Kは1以上の整数)行単位に、黒画素
を含む領域と含まない領域とに分離する。そして、副走
査方向走査過程(ステップS3′)により、第1の領域
分離過程(ステップS2′)で得られた少なくとも1行
は黒画素を含むN(Nは1以上の整数)行として定義さ
れる論理行の中を、主走査方向と交叉する方向の副走査
方向に走査する。
【0034】そして第1の符号化過程(ステップS
5′)により、第1の領域分離過程(ステップS2′)
及び第2の領域分離過程(ステップS4′)で得られた
各領域を8ビット符号で識別してバイト単位の符号化
ータを得、さらに第2の符号化過程(ステップS6′)
により、この第1の符号化過程(ステップS5′)で
られたバイト単位の符号化データに対して再度符号化を
施す(請求項1)。
【0035】そして、図1および図2で上述した本発明
のビットマップデータ圧縮方法では、第1の領域分離過
程(ステップS2,S2′)で得られた連続する黒画素
を含まないM(M≧K)行で構成される領域を1つの領
域として符号化するようにすることができる(請求項
2,1)。ここで、第1の領域分離過程(ステップS
2,S2′)で得られた連続する黒画素を含まない領域
が各ページの先頭におけるものである場合にも、この領
域を1つの領域として符号化するようにすることもでき
(請求項3,1)、同様に各ページの最後におけるも
のである場合にも、この領域を1つの領域として符号化
するようにすることもできる(請求項4,19)。
【0036】また、論理行における第2の領域分離過程
(ステップS4,S4′)で得られた連続する黒画素を
含まない領域を1つの領域として符号化することもでき
る(請求項5,2)。そして、この第2の領域分離過
程(ステップS4,S4′)で得られた連続する黒画素
を含まない領域が各論理行の左端におけるものである場
合に、この領域を1つの領域として符号化するようにす
ることもでき(請求項6,2)、同様に右端における
ものである場合に、この領域を1つの領域として符号化
するようにすることもできる(請求項7,2)。
【0037】また、第1の領域分離過程(ステップS
2,S2′)で得られた論理行を構成する行数Nが固定
値になるようにすることもでき(請求項8,2)、さ
らにこの行数が「8」になるようにすることもできる
(請求項9,2)。また、論理行における第2の領域
分離過程(ステップS4,S4′)で得られた連続する
黒画素を含む領域として定義される文字領域の終了を示
す符号が「0」になるようにすることもできる(請求項
10,2)。
【0038】そして、第1の領域分離過程(ステップS
2,S2′)及び第2の領域分離過程(ステップS4,
S4′)で得られた各領域を、制御種別と引数で構成さ
れた8ビット符号で識別するようにすることもできる
(請求項1,2)。
【0039】また、制御種別と引数で構成される全てあ
るいは一部の8ビット符号の直後に、少なくとも1個の
8ビット引数が伴うようにすることもできる(請求項1
,2)。さらに、論理行における第2の領域分離過
程(ステップS4,S4′)で得られた連続する黒画素
を含む文字領域中のビットマップデータで2回以上連続
して出現するデータに対して反復を示す制御種別と反復
数で構成される符号を割り当てるようにすることもでき
る(請求項128)。
【0040】また、第2の領域分離過程(ステップS
4,S4′)で得られた論理行内の最後の文字領域の直
後に、ページ先頭からの位置情報を示す符号を付加する
ようにすることもできる(請求項129)。そし
て、前記の各論理行における最初の文字領域の開始位置
を直前の論理行における最初の文字領域の開始位置との
相対値として符号化することもできる(請求項1,3
)。
【0041】次に、図3により上述した本発明のビット
マップデータの圧縮装置では、主走査方向走査手段1が
ビットマップデータを主走査方向に走査し、これにより
得られたデータから、第1の領域分離手段2がK(Kは
1以上の整数)行単位に、黒画素を含む領域と黒画素を
含まない領域とに分離する。そして、副走査方向走査手
段3が、第1の領域分離手段で得られた少なくとも1行
は黒画素を含むN(Nは1以上の整数)行として定義さ
れる論理行の中で、主走査方向と交叉する方向の副走査
方向に走査し、この副走査方向走査手段3が動作するこ
とにより得られたデータから、第2の領域分離手段4が
1列単位に黒画素を含む領域と黒画素を含まない領域と
に分離する。
【0042】そして、さらに、これら第1の領域分離手
段2及び第2の領域分離手段4で得られた各領域を、符
号化手段5が予め定められた制御種別と引数で構成され
る符号に符号化する(請求項3)。また、図4により
上述した本発明のビットマップデータの圧縮装置でも、
図3により上述した圧縮装置と全く同様に、主走査方向
走査手段1がビットマップデータを主走査方向に走査
し、この主走査方向手段が動作することにより得られた
データから、第1の領域分離手段2がK(Kは1以上の
整数)行単位に、黒画素を含む領域と黒画素を含まない
領域とに分離する。
【0043】そして、副走査方向走査手段3が、第1の
領域分離手段で得られた少なくとも1行は黒画素を含む
N(Nは1以上の整数)行として定義される論理行の中
で、主走査方向と交叉する方向の副走査方向に走査し、
これにより得られたデータから、第2の領域分離手段4
が1列単位に黒画素を含む領域と黒画素を含まない領域
とに分離する。
【0044】そして、さらに、これら第1の領域分離手
段2及び第2の領域分離手段4で得られた各領域を、第
1の符号化手段5Aが、予め定められた制御種別と引数
で構成される8ビット符号で識別してバイト単位の符号
データを得る。つづいて、第2の符号化手段5Bが、
この第1の符号化手段5Aで得られたバイト単位の符号
化データを可変長符号データに符号化することができる
(請求項3)。
【0045】
【実施例】以下、図面を参照して本発明の実施例を説明
する。 (a)第1実施例の説明 図5は本発明の第1実施例としてのビットマップデータ
の圧縮方法を実施するための装置の構成例を示すブロッ
ク図で、この図5に示すように、圧縮装置9の内部に
は、主走査方向走査手段としての主走査方向走査部
1′、第1の領域分離手段としての第1の領域分離部
2′、副走査方向走査手段としての副走査方向走査部
3′、第2の領域分離手段としての第2の領域分離部
4′、符号化手段としての符号化部5′が設けられてい
る。
【0046】ここで、主走査方向走査部1′は、文書な
どのビットマップデータを、図11(b)中の符号19
で示す主走査方向に、同じく図11(a)中の符号18
で示す8ライン(ドット)単位に、スキャン(走査)す
るものである。そして、第1の領域分離部2′は、主走
査方向走査部1′が上述のように8ライン単位にスキャ
ンを行なうことにより得られた8ライン単位の領域を、
文字(黒画素)を含む領域と含まない領域とに分離する
ものである。
【0047】副走査方向走査部3′は、上記第1の領域
分離部2′により得られた、少なくとも1行は文字を含
む行として定義される論理行の中で、主走査方向と交叉
する方向の副走査方向に1列(バイト)単位にスキャン
するものである。第2の領域分離部4′は、副走査方向
走査部3′が1列単位にスキャンを行なうことにより、
1列単位に、文字を含む領域と含まない領域とに分離す
るものである。
【0048】さらに、符号化部5′は前記の第1の領域
分離部2′及び第2の領域分離部4′により得られた各
領域を、制御種別を表す3ビットの"XXX" と5ビットの
引数"xxxx " で構成される8ビット符号"XXX:xxxxx" に
符号化するものである。ここで、ビット符号は通常2進
数で表されることから、上記のX および xは数値0か1
をとる。以下、X および xは数値0か1をとるものとす
る。
【0049】なお、図3と同様に、この図5中、6は第
1の領域分離部2′と副走査方向走査部3′とを接続し
て論理行(logical-line)のビットマップデータを転送
するためのラインであり、7は第1の領域分離部2′で
得られた領域の情報(V-info)を送るラインであり、8
は第2の領域分離手段4′で得られた領域の情報(H-in
fo)を送るラインである。
【0050】また、次の図6は、ビットマップデータの
圧縮方法を用いてコンピュータ10からプリンタにデー
タを送る場合に用いられる装置の全体構成の一例を示す
図であるが、この図6に示すように、コンピュータ10
には、ビットマップデータを圧縮する圧縮手段14が設
けられており、プリンタ12にはインタフェイスとして
セントロニクスを用いて送られてきた圧縮ビットマップ
データを復元する復元手段15と復元されたビットマッ
プデータを印字する印字手段17とが設けられている。
【0051】このような構成をとることにより、コンピ
ュータ10上の日本語や英語の文書をプリンタ12で印
字することができるが、ここで、図5を用いて上述した
本発明のビットマップデータの圧縮装置9による圧縮方
法は、この図6に示す圧縮手段14が行なう処理方法に
相当するものである。次に、図5にて上述した構成をも
つ、第1実施例としてのビットマップデータの圧縮装置
9により、図12に示すような英文文書(ビットマッ
プ)を圧縮処理する場合の処理動作を以下に詳述する。
【0052】なお、この英文文書は、12ポイントの英
文文書であり、行間(論理行間)の空白は16 dots 、文
字間の空白は1 〜 4 dots 、単語間の空白は12〜20 dot
s 、文字の高さは52 dots である。また、次の図13
は、図12中の符号20が示す部分を拡大した図であ
り、これらの図12中および図13中の各符号について
は、便宜上、以下の説明中にて述べることにする。
【0053】初めに、主走査方向走査部1′と第1の領
域分離部2′および符号化部5′によりビットマップデ
ータを符号化(圧縮)する処理について、図7に示す処
理ステップA1 〜A11と図12を参照しながら説明す
る。なお、図12中の符号A4,A8,A11は、それ
ぞれ図7中の処理ステップを示す符号に対応しており、
符号20は文字が含まれる行を示している。
【0054】まず、主走査方向走査部1′は英文ビット
マップ17のページの最上部から主走査方向に8ライン
(ドット)単位の論理行にスキャンを行ない(ステップ
A1)、この論理行に黒画素が含まれるか含まれないか
を検出する(ステップA2)。そして、主走査方向走査
部1′は、この検出結果を第1の領域分離部2′に送出
し、検出結果を受信した第1の領域分離部2′は、受信
した論理行が、黒画素を含まず、全て白画素(空白)で
ある場合は、処理をステップA1に戻し、主走査方向走
査部1′が再び8ラインスキャンを行なう。
【0055】すなわち、主走査方向走査部1′は、文字
が含まれる行20を検出するまで8ラインスキャンを繰
り返す。一方、第1の領域分離部2′で受信した検出結
果が黒画素を含む場合は、ステップA2でyesルート
をとり、第1の領域分離部2′が、これまでの処理で白
画素が続いていた場所、すなわち空白領域をまとめて抽
出し(ステップA3)、この空白領域を、情報(V-inf
o)として符号化部5′に送信する。
【0056】上述のように第1の領域分離部2′で抽出
された空白領域を受信した符号化部5′は、この空白領
域を、空白領域を表すvertical space符号"010:xxxxx"
に符号化する(ステップA4)。ここで、上記vertical
space符号中、"010" はページの垂直方向にスキップす
るという制御種別を表し、"xxxxx" は文書を印字する際
に、垂直方向にスキップするラン長(空白領域の続く長
さ)を2進数で表した数値をとる。
【0057】つまり、前記空白領域のラン長が例えば
「17」であった場合、この「17」を2進数で表すと
10001 (16進数で表すと"0x51")となるので、垂直方
向に17ラン長分スキップする制御(VSKIP17) を表すve
rtical space符号は"010:100011" となるのである。こ
のように、2進数5ビットで表せる10進数の数値は1
〜31(2進数表示で00001 〜 11111) までであるの
で、ラン長も1〜31までは、vertical space符号によ
り、1byte(8ビット)で表せることになる。
【0058】一方、ラン長が「32」以上の場合は、上
記の8ビット符号の引数"xxxxx" を"00000" とし、この
引数"00000" に、上記8ビット符号の後にさらに継続し
て引数が存在し、この引数が数値「32」から始まると
いう特別な意味を持たせれば、制御コードを"010:00000
xxxxxxxx " という上記の8ビット符号にさらに8ビッ
トを付加した2byteで表現できる。
【0059】これにより、ラン長は「32」から「28
7」まで表現することができ、例えばラン長「200」
を表現するには、"xxxxxxxx"の部分が2進数で「16
8」を示すようにすればよいことになる。すなわち、
「168」を2進数で表せば"10101000"(16進数で表
せば"a8")となるので、垂直方向にラン長200分スキ
ップする制御(VSKIP200)を表す上記vertical space符号
は"010:00000 10101000 " となる。ラン長が「288」
以上の場合も同様にして、さらに8ビットの引数を付加
して3byteで表せばよい。
【0060】このように、上記vertical space符号は、
引数の後に、さらに複数の引数をとるようにして、複数
byteでも表現できる。そして、次に、主走査方向走査部
1′は、さらに英文ビットマップ17を8ラインスキャ
ンし(ステップA5)、この8ラインの論理行に黒画素
が含まれるか含まれないかを検出する(ステップA
6)。
【0061】主走査方向走査部1′は、この検出結果を
第1の領域分離部2′に送出し、検出結果を受信した第
1の領域分離部2′は、上述のステップA2とは逆に、
受信した8ラインの論理行に黒画素が含まれる場合に、
ステップA6でyesルートをとって、処理をステップ
A5に戻し、主走査方向走査部1′が再び8ラインスキ
ャンを行なう。
【0062】すなわち、主走査方向走査部1′は、文字
を含む行20のスキャンが終了し、新たに空白行21が
始まることを検出するまで、8ラインスキャンを繰り返
す。このようにして、第1の領域分離部2′で得られた
論理行を構成する行数は、「8(ライン)」となる。一
方、第1の領域分離部2′で受信した検出結果が黒画素
を含まない場合は、ステップA6でnoルートをとっ
て、これまでの処理で黒画素が続いていた場所、すなわ
ち文字領域を含む論理行を、第1の領域分離部2′がま
とめて抽出し(ステップA7)、符号化部5′にこの文
字領域を含む論理行を情報 H-info としてを送信する。
【0063】このようにして、第1の領域分離部2′で
得られた論理行を構成する行数は、この場合、8(ライ
ン)以上の固定値(N)となる。そして、この論理行を
受信した符号化部5′は、この論理行を、文字領域を含
む論理行の開始を指示する制御種別"011" と、引数をと
らないことを表す"00000" とからなるstart block 符
号"011:00000" に符号化する(ステップA8)。
【0064】そして、第1の領域分離部2は、上記論理
行に含まれる空白領域を符号化するために、この論理行
を副走査方向走査部3′にライン6を通じて送信し(ス
テップA9)、続いて最終ライン(最後の論理行、すな
わち文書ページの最下部)かそうでないかを検出する
(ステップA10)。検出結果が最終ラインでなけれ
ば、処理をステップA1に戻し、主走査方向走査部1 ′
が最終ラインであることを検出するまで上述のステップ
A1〜A9を繰り返す。
【0065】検出結果が最終ラインであれば、このライ
ン(論理行)を情報 H-info として符号化部5′に送信
し、符号化部5′はこのラインを最終ラインであること
を表すend line符号"001:00000" に符号化する(ステッ
プA11)。以上のようにして、第1の領域分離部2′
で得られた連続する黒画素を含まないM(例えば、上述
の「17」あるいは「200」)行で構成される領域を
1つの領域として符号化し、また、各ページの先頭ある
いは最後における黒画素を含まない領域を1つの領域と
して符号化するようになっている。
【0066】そして、ここまでの処理(ステップA1〜
A11)で、英文文書(ビットマップデータ)は、8ラ
イン(論理行)単位に黒画素を含む行と、黒画素を含ま
ない空白領域(文書の最上部、行間、最下部)とに分離
され、黒画素を含む行は、副走査方向走査部3′に送信
され、空白領域は、符号化部5′で符号化されている。
【0067】なお、上述の処理ステップは、図8で示す
処理ステップA1′〜A9′のようにとってもよく、こ
の場合は、上述のステップA3,A4のように、8ライ
ン以上になる空白領域をまとめて抽出して符号化するの
ではなく、8ライン単位に空白領域を抽出して符号化す
ることになる。すなわち、まず主走査方向走査部1′は
文書の最上部から主走査方向に8ライン単位(論理行)
にスキャンを行ない(ステップA1′)、この8ライン
に黒画素が含まれるか含まれないかを検出する(ステッ
プA2′)。
【0068】上記8ラインに黒画素が含まれない場合
は、第1の領域分離部2′が、この8ライン分の空白領
域を抽出し(ステップA3′)、符号化部5′でvertic
al space符号"010:xxxxx" に符号化する(ステップA
4′)。一方、上記8ラインに黒画素が含まれる場合
は、第1の領域分離部2′がこの8ライン分の論理行を
抽出し(ステップA5′)、符号化部5′で、文字領域
を含む論理行の開始位置をstart block 符号"011:0000
0" に符号化する(ステップA6′)。
【0069】同時に第1の領域分離部2′は、上記論理
行をさらに文字領域と空白領域に分離して、符号化する
ためにこの論理行を副走査方向走査部3′にライン6を
通じて送信し(ステップA7′)、続いて最終ライン
(文書ページの最下部)かそうでないかを検出する(ス
テップA8′)。検出結果が最終ラインでなければ、処
理をステップA1′に戻し最終ラインであることを検出
するまで上述のステップA1′〜A7′を繰り返す。
【0070】検出結果が最終ラインであれば、このライ
ンを符号化部5′で文書ページの最下部を表すend line
符号"001:00000" に符号化する(ステップA9′)。以
上のように、本実施例においては、主走査方向走査部
1′が、8ライン(ドット)単位にスキャンし、第1の
領域分離部2′が8ライン、あるいはそれ以上の空白領
域を、まとめて1個の空白領域として抽出するので、文
書の見た目をよくするために文書の最上部や最下部によ
く設けられる余白部分を効率的に符号化して圧縮できる
ようになる。
【0071】さらに、主走査方向走査部1′は、上述の
ように、文書中の文字の大きさ(図12の英文文書の文
字の高さは52ドット)よりもはるかに小さい8ライン
(ドット)単位にスキャンするので、文書の最上部や最
下部の空白領域だけでなく、行間の空白領域までをも効
率的に符号化して圧縮できるようになる。なお、上述し
たように主走査方向走査部1′は、8ライン単位にスキ
ャンしているが、他のK(Kは1以上の整数)ライン単
位にスキャンするようにしてもよい。
【0072】次に、上述のステップA9で、第1の領域
分離部2′からライン6を通じて送信されてきた文字領
域を含む論理行、すなわち上述の処理(ステップA1〜
A11)で、まだ符号化されていない文字を含む行を、
副走査方向走査部3′がスキャンし、第2の領域分離部
4′が、この論理行を文字領域と空白領域とに分離し、
符号化部5′が符号化(圧縮)する処理について、図9
に示す処理ステップB1〜B17および図13を参照し
ながら以下に説明する。
【0073】なお、図9中のステップA9は、図7中の
ステップA9から処理が続いていることを示し、図13
中の符号A8は、図7中の処理ステップに対応してお
り、同じく符号B4,B5,B8,B17は、それぞれ
図9の処理ステップに対応している。まず、第1の領域
分離部2′から送信された黒画素を含む論理行を受信し
た副走査方向走査部3′は(ステップA9)、主走査方
向走査部1′がスキャンした方向と交叉する方向(図1
2の英文文書の下方)に1列(バイト)スキャンし(ス
テップB1)、この列に黒画素が含まれるか含まれない
かを検出する(ステップB2)。
【0074】そして、副走査方向走査部3′は、この検
出結果を第2の領域分離部4′に送出する。検出結果を
受信した第2の領域分離部4′は、受信した論理行が、
黒画素を含まず、全て白画素(空白)である場合には、
ステップB2のnoルートをとって、副走査方向走査部
3′が再び1列スキャンを行なう。
【0075】すなわち、副走査方向走査部3′は、上記
論理行中で、文字が含まれることを検出するまで1列ス
キャンを繰り返す。一方、第2の領域分離部4′で受信
した検出結果が黒画素を含む場合は、ステップB2でy
esルートをとって、これまでの処理で白画素が続いて
いた場所、すなわち論理行の中の空白領域(文書の左端
の空白領域に相当する)を、第2の領域分離部4′がま
とめて抽出し(ステップB3)、符号化部5′に、情報
H-info として送信する。
【0076】符号化部5′では、この空白領域をスキッ
プするように制御する制御種別"110" と、スキップする
空白領域の長さを2 進数で表した"xxxxx" とで構成され
るskip block符号"110:xxxxx" に符号化する(ステップ
B4)。さらに、論理行の中の文字領域の開始位置を、
文字領域の開始を指示する制御種別"101" と、引数をと
らないことを表す"00000" とで構成されるput block 符
号"101:00000" に符号化する(ステップB5)。
【0077】そして、副走査方向走査部3′は、さらに
論理行を1列スキャンし(ステップB6)、この列に黒
画素が含まれるか含まれないかを検出する(ステップB
7)。副走査方向走査部3′は、この検出結果を第2の
領域分離部4′に送出し、検出結果を受信した第2の領
域分離部4′は、上述のステップB2とは逆に、受信し
た論理行に黒画素が含まれる場合に、ステップB7でy
esルートをとって、副走査方向走査部3′が再び1列
スキャンを行なう。
【0078】すなわち、副走査方向走査部3′は、文字
領域23が終了し、新たに空白領域が始まることを検出
するまで1列スキャンを繰り返す。一方、第2の領域分
離部4′で受信した検出結果が黒画素を含まない場合
(ステップB7のnoの場合)は、新たに空白領域(文
字間の空白)が始まることを示すので、文字領域後のス
ペースの開始(文字領域の終了)を指示する制御種別"0
00" と、引数をとらないことを表す"00000" とで構成さ
れるstart space 符号"000:00000" に符号化する(ステ
ップB8)。
【0079】このようにして、論理行における第2の領
域分離部4′で得られた連続する黒画素を含む文字領域
の終了を示す符号が「0」("000:00000" )となる。そ
して、それまでの処理で黒画素が続いていた場所、すな
わち論理行の中の文字領域23を、第2の領域分離部
4′がまとめて抽出し(ステップB9)、この文字領域
の符号化を行なうために、符号化部5 ′に、情報 H-inf
o として送信する(ステップB10)。
【0080】そして、副走査方向走査部3′は、さらに
1列スキャンを行い(ステップB11)、黒画素が含ま
れるか含まれないかを検出する(ステップB12)。こ
の検出結果が黒画素を含まない場合は(ステップB12
でnoの場合は)、副走査方向走査部3′は再び1列ス
キャンを行い、検出結果が黒画素を含むまで(ステップ
B12でyesとなるまで)1列スキャンを繰り返す。
【0081】一方、検出結果が黒画素を含む場合は(ス
テップB12でyesの場合は)、それまで続いていた
空白領域(文字間の空白領域)が終了し、新たに文字領
域24が始まることを示すので、この文字領域の開始位
置put block 符号"101:00000" に符号化する(ステップ
B13)。そして、第2の領域分離部4′は、上記の空
白領域を抽出し(ステップB14)、この空白領域を符
号化部5′で符号化する(ステップB15)。
【0082】さらに、副走査方向走査部3′はスキャン
している論理行が終了するのか否かを検出する(ステッ
プB16)。ここで、論理行が終了しない場合は、処理
をステップB6に戻し、論理行の終了まで上述したステ
ップB6〜B15を繰り返す。一方、論理行が終了する
場合は、この論理行の終了位置を、論理行の終了を指示
するend block(EDBLK)符号に符号化し(ステップB1
7)、処理を終了する。
【0083】ここで、上記のend block(EDBLK)符号は、
制御種別"100" と、既に処理が終了している文書先頭の
論理行からの番号(数)をmod32した値を2進数で
表した引数"xxxxx" とで構成される符号"100:xxxxx" で
あり、"xxxxx" は、例えば、処理中の論理行の番号が
「379」であった場合には、379mod32=27
の「27」を2進数で表した"11011" となる。
【0084】このようにして、第2の領域分離部4′で
得られた論理行内の最後の文字領域の直後に、ページ先
頭からの位置情報を示す符号を付加するようになってい
る。なお、上述のステップB5では、論理行における最
初の文字領域の開始位置を、その都度、符号化している
が、直前の論理行における最初の文字領域の開始位置と
の相対値として符号化してもよい。
【0085】そして、ここまでの処理(ステップB1〜
B17)で、前述の第1の領域分離部2′から副走査方
向走査部3 ′に送信されてきた論理行は、さらに黒画素
を含む領域(文字領域)と、黒画素を含まない空白領域
(文書の左端、文字間、文書の右端の空白)とに分離さ
れている。このように、前述の第1の領域分離部2′か
ら送信されてきた、文字領域を含む論理行を、さらに副
走査方向走査部3′が副走査方向に1バイト単位でスキ
ャンし、第2の領域分離部4′が連続する空白領域をま
とめて1個の空白領域として抽出するので、文書中のイ
ンデントによる左端の余白や短い文の後の右端の余白を
効率的に符号化(圧縮)できる。
【0086】また、前述のように、上記論理行は、主走
査方向走査部1′が文字の大きさよりはるかに小さい8
ライン単位にスキャンしたものであるから、上述のよう
な文書の左端や右端の余白だけでなく、文字間や英文の
単語間、黒画素と白画素の変化点が多い日本語文書の単
語間などの空白をも抽出して効率的に符号化できるの
で、文書(ビットマップデータ)の圧縮率が大幅に向上
する。
【0087】さらに、画像処理の技術においては、通
常、黒画素を数値「1」、白画素を数値「0」で表現す
るので、上述のような文字領域の直後の空白領域は必ず
白画素「0」で始まることになる。そこで、この空白を
示す符号を上記start space 符号のように"000:00000"
(10進数で「0」)とすれば、文字領域の幅を明示す
る必要がなくなり、パソコンにおける処理の付加を軽減
できるとともに、文書(ビットマップデータ)の圧縮率
が大幅に向上できる。
【0088】そして、上述のend block (EDBLN) 符号の
ように、各論理行の最後に論理行を示す符号と文書先頭
の処理済の論理行から数えた論理行の番号をmod32
した値を付加することにより、データ転送中にビット誤
りが生じても、以降の論理行へのエラー伝搬を防止する
ことができる。つまり、データ圧縮を行なうことによっ
て、転送されるデータの絶対位置情報までをも符号化し
てしまっても、ビット誤りなどのエラーが起きた場所以
降の印字データを、ずれないようにすることができるの
である。
【0089】また、一般に、英文文書などの文書はイン
デントされた形態が多く、各論理行の先頭の文字領域の
開始位置は、論理行間で全く同じか近傍のことが多いこ
とから、論理行の最初の文字領域の開始位置を直前の論
理行の最初の文字領域との相対値として符号化すれば、
ビットマップデータの圧縮率がさらに向上する。次に、
ステップB9で抽出された黒画素を含む文字領域、すな
わち上述の処理(ステップB1〜B17)を終えた時点
でまだ符号化されていない文字領域を符号化する処理
を、図10の処理ステップC1〜C4を参照しながら説
明する。なお、図10中のステップB10は、図9中の
ステップB10から処理が続いていることを示す。
【0090】ステップB9で抽出された文字領域のデー
タを受信した符号化部5′では、このデータが罫線など
の連続データか、通常の文字のような非連続データかを
検出する(ステップC1)。そして、受信したデータが
連続データである場合は、ステップC1でyesルート
をとって、この連続データに、反復回数の指定を表すre
peat data (RPTLN nm : nは1以上の整数で反復回数,m
は反復するデータである)符号を付加し(ステップC
2)、この連続データを符号化する(ステップC3)。
【0091】ここで、上記のrepeat data (RPTLN n m)
符号"111:xxxxx" は、前述の他の符号(vertical space
符号, end line符号など)と同様に、"111" は連続デー
タの圧縮を指示する制御種別であり、"xxxxx" はこの連
続データの続く回数n(反復回数)を2進数で表した引
数である。そして、例えば横罫線を表す符号が"03 " で
ありこの符号が、03 03 ・・・0303 というように32
3回続く場合には、vertical space符号を説明した場合
と同様に、反復回数323を2バイト毎の2進数で表せ
るように「287」と「36」とに分けて、RPTLN287 0
3 RPTLN36 03(323=287+36)と表現する。
【0092】さらに、これらのRPTLN287およびRPTLN36
を表すrepeat data (RPTLN n m) 符号は、それぞれ"11
1:00000 11111111 " 、"111:00000 00000100 " とな
る。このようにして、論理行における第2の領域分離部
4′で得られた連続する黒画素を含む文字領域中のビッ
トマップデータで2回以上連続して出現するデータに対
して反復を示す制御種別と反復数で構成される符号を割
り当てるようになっているのである。
【0093】一方、受信したデータが非連続である場合
は、このデータをそのまま符号化する(ステップC
4)。このように、文書中の文字領域に対して、同一デ
ータの繰り返しを示す符号を割り当てることにより、通
常のゴシック体などの太い文字だけでなく、横罫線など
の連続するデータの圧縮率を効果的に向上できる。
【0094】そして、ここまでの処理(ステップA1〜
A11,ステップB1〜B17,ステップC1〜C4)
を終えた時点で、図12に示す1ページ分の英文ビット
マップの符号化(圧縮)の処理が全て終了する。なお、
図14は、ビットマップデータの文字領域と空白領域の
関係の一例を示す図であり、図15は上述の本実施例の
説明中に使用したvertical space符号、start block 符
号、end line符号などの符号のコードと機能および引数
(オプション)をまとめた図である。
【0095】そして、この図15に示す各符号は、上述
のように、第1の領域分離部2′及び第2の領域分離部
4′で得られた各領域を8ビット符号で識別するように
なっており、さらにこの8ビット符号が制御種別と引数
で構成されるようになっている。また、例えば、vertic
al space符号のように、上述の制御種別と引数で構成さ
れる各領域を識別する全てあるいは8ビット符号の直後
に、少なくとも1個の8ビット符号を伴うようにもなっ
ている。
【0096】以上のように、本実施例によれば、文書中
の全ての空白領域を効率的に抽出して符号化できるの
で、圧縮率が大幅に向上する。具体的に述べると、図1
4に示すように、文書中の文字領域は平均で6.7%に
しかならず、残りの全てが、文字間の領域間スペース
(平均10.3%)、インデントや短い文章による論理
行前後のスペース(平均32.5%)、行間の空行(平
均50.4%)などの空白領域であるが、本実施例によ
れば、これらの空白領域効率よく抽出して符号化でき
るので、圧縮率が大幅に向上することになるのである。
【0097】また、パソコン上でビットマップデータの
圧縮処理を行なう場合に、図14に示すように、制御種
別の数が最大でも8と少ない制御コード(8ビット符
号)を用いるので、簡単なアルゴリズムで、かつ効果的
にビットマップデータの圧縮率を向上できるとともに圧
縮処理の負荷も軽減できる。さらに、本実施例のよう
に、主走査方向の走査を、文字領域で縦方向の8ビット
(ドット)を単位として扱い、各符号(制御コード)を
制御種別と引数の組合わせによる8ビットあるいは8ビ
ットを複数連ねたバイト単位で構成すれば、文書(ビッ
トマップデータ)を符号化したあとのデータが全てバイ
ト単位になるので、圧縮処理をプロセッサの処理単位と
メモリのビット幅に合わせることが可能になり、パソコ
ンやプリンタ側での処理のし易さを大幅に改善できる。
【0098】(b)第2実施例の説明 図16は本発明の第2実施例としてのビットマップデー
タの圧縮方法を実施するための装置の構成例を示すブロ
ック図で、この図16に示すように、圧縮装置9′の内
部には、主走査方向走査手段としての主走査方向走査部
1′、第1の領域分離手段としての第1の領域分離部
2′、副走査方向走査手段としての副走査方向走査部
3′、第2の領域分離手段としての第2の領域分離部
4′、第1の符号化手段としての第1の符号化部5A、
第2の符号化手段としての第2の符号化部5Bが設けら
れている。
【0099】ここで、この図16に示す主走査方向走査
部1′,第1の領域分離部2′,副走査方向走査部
3′,第2の領域分離部4′はそれぞれ、第1実施例中
で説明したものと同じものである。すなわち、主走査方
向走査部1′は、図12の英文文書(ビットマップデー
タ)を主走査方向(図12の紙面右方向)にスキャン
(走査)するものであり、第1の領域分離部2′は、上
記の主走査方向走査部1′がスキャンを行なうことによ
り、8ライン(ドット)単位に、文字(以下、黒画素と
いうことがある)を含む領域と含まない領域とに分離す
るものである。
【0100】さらに、副走査方向走査部3′は、上記第
1の領域分離部2′により得られた、少なくとも1行は
文字を含む行として定義される論理行の中で、前記主走
査方向と交叉する方向の副走査方向(図12の紙面下方
向)にスキャンするものである。そして、第2の領域分
離部4′は、副走査方向走査部3′がスキャンを行なう
ことにより、1列単位に文字を含む領域と含まない領域
とに分離するものである。
【0101】また、第1の符号化部5Aは、第1実施例
中で説明した符号化部5′と同じものであり、前記の第
1の領域分離部2′及び第2の領域分離部4′により得
られた各領域を、制御種別を表す3ビットの"XXX" と5
ビットの引数"xxxxx" で構成される8ビット符号"XXX:x
xxxx" に符号化するものである。そして、第1実施例に
おける図5中には設けられていない第2の符号化部5B
は、前記第1の符号化部5Aで得られた第1の符号デー
タを、adaptive Lempel-Ziv(LZ) 符号化方法等によりさ
らに符号化を行なうものである。
【0102】なお、本実施例においても、上述のような
構成をもつビットマップデータの圧装置9′による圧縮
方法は、第1実施例と同様に、図6中の圧縮手段14が
行なう処理方法に相当するものである。そして、第1実
施例と全く同様に、上述のビットマップ圧縮装置によ
り、図12に示すような英文文書(ビットマップデー
タ)を圧縮処理する場合の処理動作を以下に詳述する。
【0103】すなわち、まず、主走査方向走査部1′は
文書の最上部から主走査方向に8ライン単位(論理行)
にスキャンを行ない、この8ラインに黒画素が含まれる
か含まれないかを検出する。そして、主走査方向走査部
1′は、この検出結果を第1の領域分離部2′に送出
し、検出結果を受信した第1の領域分離部2′は、受信
した論理行が全て白画素(空白)である場合は、主走査
方向走査部1′が再び8ラインスキャンを行なう。
【0104】一方、第1の領域分離部2′で受信した検
出結果が黒画素を含む場合は、第1の領域分離部2′
が、これまでの処理で白画素が続いていた場所、すなわ
ち空白領域をまとめて抽出し、この空白領域を第1の符
号化部5Aに送信する。第1の領域分離部2′で抽出さ
れた空白領域を受信した第1の符号化部5Aは、この空
白領域を、空白領域を表すvertical space符号"010:xxx
xx" に符号化する。
【0105】ここで、上記vertical space符号も、第1
実施例で説明したものと同じものであり、"010" はペー
ジの垂直方向にスキップするという制御種別を表し、"x
xxxx" は文書を印字する際に、垂直方向にスキップする
ラン長(空白領域の続く長さ)を表す2進数の数値をと
る。すなわち、前記空白領域のラン長が例えば「17」
であった場合は、vertical space符号は" 010:10001 "
となる。
【0106】また、2進数5ビットで表せない10進数
の数値「32」以上のラン長、例えば「200」は、上
記の8ビット符号の引数"00000" に、上記8ビット符号
の後にさらに継続して引数が存在し、この引数が数値
「32」から始まるという意味を持たせて、制御コード
を010:00000 10101000 という上記の8ビット符号にさ
らに8ビットを付加した2byteで表現する。
【0107】このように、本実施例においても、上記ve
rtical space符号は、引数の後にさらに複数の引数をと
るようにして、複数byteで表現できる。そして、次に、
主走査方向走査部1′は、さらに文書を8ラインスキャ
ンし、この8ラインの論理行に黒画素が含まれるか含ま
れないかを検出する。主走査方向走査部1′は、この検
出結果を第1の領域分離部2′に送出し、検出結果を受
信した第1の領域分離部2′は、受信した論理行に黒画
素が含まれる場合には、主走査方向走査部1′は、今度
は論理行が全て白画素になる場所まで8ラインスキャン
を繰り返す。
【0108】すなわち、主走査方向走査部1′は、文字
を含む行20のスキャンが終了し、新たに空白行21が
始まることを検出するまで、8ラインスキャンを繰り返
す。このようにして、第1の領域分離部2′で得られた
論理行を構成する行数は、「8(ライン)」となる。一
方、第1の領域分離部2′で受信した検出結果が黒画素
を含まない場合は、これまでの処理で黒画素が続いてい
た場所、すなわち文字領域を含む論理行を、第1の領域
分離部2′がまとめて抽出し、第1の符号化部5Aにこ
の文字領域を情報 V-info として送信する。
【0109】このようにして、第1の領域分離部2′で
得られた論理行を構成する行数は、この場合、8(ライ
ン)以上の固定値(N)となる。そして、この論理行を
受信した第1の符号化部5Aは、この論理行を文字領域
を含む論理行の開始位置であることを表すstart block
符号"011:00000" に符号化する。
【0110】このstart block 符号"011:00000" も前述
のvertical space符号と同様のビット構成をもつ8ビッ
ト符号であり、"011" が制御種別を表し、"00000" は引
数をとらないことを表している。そして、第1の領域分
離部2′は、上記論理行に含まれる空白領域を符号化す
るために、この論理行を副走査方向走査部3′にlogica
l line6を通じて送信し、続いて最終ライン(最後の論
理行、すなわち文書ページの最下部)かそうでないかを
検出する。
【0111】検出結果が最終ラインでなければ、主走査
方向走査部1 ′が最終ラインであることを検出するまで
上述の処理を繰り返す。検出結果が最終ラインであれ
ば、このライン(論理行)を第1の符号化部5Aに送信
し、この第1の符号化部5Aは、このラインが最終ライ
ンであることを表すend line符号"001:00000" に符号化
する。
【0112】以上のようにして、第1の領域分離部2′
で得られた連続する黒画素を含まないM(例えば、上述
の「17」あるいは「200」)行で構成される領域を
1つの領域として符号化し、また、各ページの先頭ある
いは最後における黒画素を含まない領域を1つの領域と
して符号化するようになっている。そして、ここまでの
処理で、第1実施例と同様に、英文文書(ビットマップ
データ)は、8ライン(論理行)単位に黒画素を含む文
字領域と、黒画素を含まない空白領域(文書の最上部、
行間、最下部)とに分離され、文字を含む行は副走査方
向走査部3′に送信され、空白領域は第1の符号化部5
Aで符号化されている。
【0113】なお、上述の処理は、これも第1実施例で
図8を用いて説明した処理と同様に、8ライン以上にな
る空白領域をまとめて抽出して符号化するのではなく、
8ライン単位に空白領域を抽出して符号化するようにし
てもよい。すなわち、この場合は、まず主走査方向走査
部1′が文書の最上部から主走査方向に8ライン単位
(論理行)にスキャンを行ない、この8ラインに黒画素
が含まれるか含まれないかを検出する。
【0114】上記8ラインに黒画素が含まれない場合
は、第1の領域分離部2′が、この8ライン分の空白領
域を抽出し、第1の符号化部5Aでvertical space"01
0:xxxxx" 符号に符号化する。一方、上記8ラインに黒
画素が含まれる場合は、第1の領域分離部2′がこの8
ライン分の論理行を抽出し、第1の符号化部5Aで、文
字領域を含む論理行の開始位置をstart block 符号"01
1:00000" に符号化する。
【0115】同時に第1の領域分離部2′は、上記論理
行をさらに文字領域と空白領域に分離して、符号化する
ためにこの論理行を副走査方向走査部3′にライン6を
通じて送信し、続いて最終ライン(文書ページの最下
部)かそうでないかを検出する。検出結果が最終ライン
でなければ、最終ラインであることを検出するまで上述
の処理を繰り返す。
【0116】検出結果が最終ラインであれば、このライ
ンを、第1の符号化部5Aで文書ページの最下部を表す
end line符号"001:00000" に符号化する。以上のよう
に、本実施例においても第1実施例と同様に、主走査方
向走査部1′が、8ライン単位にスキャンし、第1の領
域分離部2′が8ライン、あるいはそれ以上の空白領域
を、まとめて1個の空白領域として抽出するので、文書
の見た目をよくするために文書の最上部や最下部によく
設けられる余白部分を効率的に符号化して圧縮できるよ
うになる。
【0117】さらに、主走査方向走査部1′は、上述の
ように、文書中の文字の大きさ(図12の英文文書の文
字の高さは52ドット)よりもはるかに小さい8ドット
(ライン)単位にスキャンするので、文書の最上部や最
下部の空白領域だけでなく、行間の空白領域までをも効
率的に符号化して圧縮できるようになる。なお、本実施
例でも、主走査方向走査部1′は、文書を8ライン単位
にスキャンしているが、他のK(Kは1以上の整数)ラ
イン単位にスキャンするようにしてもよい。
【0118】次に、第1実施例と同様に、第1の領域分
離部2′から送信されてきた文字領域を含む論理行を、
副走査方向走査部3′がスキャンし、第2の領域分離部
4′が、この論理行を文字領域と空白領域とに分離し、
第1の符号化部5Aが符号化(圧縮)する処理について
説明する。まず、第1の領域分離部2′から送信された
黒画素を含む論理行を受信した副走査方向走査部3′
は、主走査方向走査部1′がスキャンした方向と交叉す
る方向(図12の英文文書の下方)に1列(バイト)ス
キャンし、この列に黒画素が含まれるか含まれないかを
検出する。
【0119】そして、副走査方向走査部3′は、この検
出結果を第2の領域分離部4′に送出する。検出結果を
受信した第2の領域分離部4′は、走査した1列のデー
タが全て白画素(空白)である場合には、上記論理行中
で、文字が含まれることを検出するまで、1列スキャン
を繰り返す。
【0120】一方、第2の領域分離部4′で受信した検
出結果が黒画素を含む場合は、これまでの処理で白画素
が続いていた場所、すなわち論理行の中の空白領域(文
書の左端の空白領域)を、第2の領域分離部4′がまと
めて抽出し、第1の符号化部5Aに情報 H-info として
送信する。第1の符号化部5Aでは、この空白領域をス
キップするように制御する制御種別"110" と、スキップ
する空白領域の長さを2 進数で表した"xxxxx" とで構成
されるskip block符号"110:xxxxx" に符号化する。
【0121】さらに、論理行の中の文字領域の開始位置
を、文字領域の開始を指示する制御種別"101" と、引数
をとらないことを表す"00000" とで構成されるput bloc
k 符号に符号化する。そして、副走査方向走査部3′
は、さらに論理行を1列スキャンし、この列に黒画素が
含まれるか含まれないかを検出する。
【0122】副走査方向走査部3′は、論理行に黒画素
が含まれる場合には、文字領域が終了することを検出す
るまで、1列スキャンを繰り返す。一方、第2の領域分
離部4′で受信した検出結果が黒画素を含まない場合
は、新たに空白領域(文字間の空白)が始まることを示
すので、文字領域後のスペースの開始(文字領域の終
了)を指示する制御種別"000" と、引数をとらないこと
を表す"00000" とで構成されるstart space 符号"000:0
0000" に符号化する。
【0123】このようにして、論理行における第2の領
域分離部4′で得られた連続する黒画素を含む文字領域
の終了を示す符号が「0」("000:00000" )となる。そ
して、それまでの処理で黒画素が続いていた場所、すな
わち論理行の中の文字領域を、第2の領域分離部4′が
まとめて抽出し、この文字領域の符号化を行なうため
に、第1の符号化部5Aに情報 H-info として送信す
る。
【0124】そして、副走査方向走査部3′は、さらに
1列スキャンを行い、黒画素が含まれるか含まれないか
を検出する。この検出結果が黒画素を含まない場合は、
副走査方向走査部3′は再び1列スキャンを行い、検出
結果が黒画素を含むまで1列スキャンを繰り返す。一
方、検出結果が黒画素を含む場合は、それまで続いてい
た空白領域(文字間の空白領域)が終了し、新たに文字
領域が始まることを示すので、この文字領域の開始位置
を、put block 符号"101:00000" に符号化する。
【0125】そして、第2の領域分離部3′は、上記の
空白領域を抽出し、この空白領域を第1の符号化部5A
で符号化する。さらに、副走査方向走査部3′はスキャ
ンしている論理行が終了するのか否かを検出する。ここ
で、論理行が終了しない場合は、論理行が終了するま
で、上述の処理を繰り返す。
【0126】一方、論理行が終了する場合は、この論理
行の終了位置を、論理行の終了を指示するend block(ED
BLK)符号に符号化し、処理を終了する。ここで、上記の
end block(EDBLK)符号も、第1実施例で説明したものと
同様のものである。すなわち、制御種別"100" と、既に
処理が終了している文書先頭の論理行からの番号(数)
をmod32した値を2進数で表した引数"xxxxx" とで
構成される符号"100:xxxxx" であり、"xxxxx" は、例え
ば、処理中の論理行の番号が379であった場合には、
379mod32=27の27を2進数で表した"1101
1" となる。このようにして、第2の領域分離部4′で
得られた論理行内の最後の文字領域の直後に、ページ先
頭からの位置情報を示す符号を付加するようになってい
る。
【0127】なお、本実施例の場合も、論理行における
最初の文字領域の開始位置を、直前の論理行における最
初の文字領域の開始位置との相対位置として符号化して
もよい。そして、ここまでの処理で、前述の第1の領域
分離部2′から副走査方向走査部3 ′に送信されてきた
論理行は、さらに黒画素を含む領域(文字領域)と、黒
画素を含まない空白領域(文書の左端、文字間、文書の
右端の空白)とに分離されている。
【0128】このように、前述の第1の領域分離部2′
から送信されてきた、文字領域を含む論理行を、さらに
副走査方向走査部3′が副走査方向に1バイト単位でス
キャンし、第2の領域分離部4′が連続する空白領域を
まとめて1個の空白領域として抽出するので、文書中の
インデントによる左端の余白や短い文の後の右端の余白
を効率的に符号化(圧縮)できる。
【0129】また、前述のように、上記論理行は、主走
査方向走査部1′が文字の大きさよりはるかに小さい8
ライン単位にスキャンしたものであるから、上述のよう
な文書の左端や右端の余白だけでなく、文字間や英文の
単語間などの空白までをも抽出して符号化できるので、
文書(ビットマップデータ)の圧縮率が大幅に向上す
る。
【0130】さらに、第1実施例でも述べたように、画
像処理の技術においては、通常、黒画素を数値「1」、
白画素を数値「0」で表現するので、上述のような文字
領域の直後の空白領域は必ず白画素「0」で始まること
になる。そこで、この空白を示す符号を上記start spac
e 符号のように"000:00000" (10進数で「0」)とす
れば、文字領域の幅を明示する必要がなくなり、パソコ
ンにおける処理の付加を軽減できるとともに、文書(ビ
ットマップデータ)の圧縮率が大幅に向上できる。
【0131】そして、上述のend block (EDBLN) 符号の
ように、各論理行の最後に論理行を示す符号と文書先頭
の処理済の論理行から数えた論理行の番号をmod32
した値を付加することにより、データ転送中にビット誤
りが生じても、以降の論理行へのエラー伝搬を防止する
ことができる。つまり、データ圧縮を行なうことによっ
て、転送されるデータの絶対位置情報までをも符号化し
てしまっても、ビット誤りなどのエラーが起きた場所以
降の印字データを、ずれないようにすることができるの
である。
【0132】また、一般に、英文文書などの文書はイン
デントされた形態が多いため、各論理行の先頭の文字領
域の開始位置は、論理行間で全く同じか近傍のことが多
いので、上述のように論理行の最初の文字領域の開始位
置を直前の論理行の最初の文字領域との相対値で表すこ
とにより、圧縮率を大幅に向上させることができる。次
に、上述の処理を終えた時点でまだ符号化されていない
文字領域を符号化する処理について説明する。
【0133】この場合の処理も第1実施例と全く同様
に、まず、文字領域のデータを受信した第1の符号化部
5Aでは、このデータが罫線などのような連続データ
か、通常の文字のような非連続データかを検出する。そ
して、受信したデータが連続データである場合は、この
連続データを、反復回数の指定を表すrepeat data (RPT
LN n m : nは1以上の整数で反復回数,m は反復データ
である)符号に符号化し、この連続データを符号化す
る。
【0134】ここで、上記のrepeat data (RPTLN n m)
符号"111:xxxxx" も、第1実施例と同様に"111" は連続
データの圧縮を指示する制御種別であり、"xxxxx" はこ
の連続データの続く回数n(反復回数)を2進数で表し
た引数である。そして、例えば横罫線を表す符号が"03
" でありこの符号が、03 03 ・・・0303 というように
323回続く場合には、vertical space符号を説明した
場合と同様に、反復回数323を2バイト毎に表せるよ
うに287と36とに分けて、RPTLN287 03 RPTLN36 03
(323=287+36)と表現する。
【0135】さらに、これらのRPTLN287およびRPTLN36
を表すrepeat data (RPTLN n m) 符号は、それぞれ"11
1:00000 11111111 " 、"111:00000 00000100 " とな
る。このようにして、論理行における第2の領域分離部
4′で得られた連続する黒画素を含む文字領域中のビッ
トマップデータで2回以上連続して出現するデータに対
して反復を示す制御種別と反復数で構成される符号を割
り当てるようになっているのである。
【0136】一方、受信したデータが非連続である場合
は、このデータをそのまま符号化する。このように、文
書中の文字領域に対して、同一データの繰り返しを示す
符号を割り当てることにより、通常のゴシック体などの
太い文字だけでなく、横罫線などの連続するデータの圧
縮率を効果的に向上できる。
【0137】そして、第1実施例と同様に、上述の図1
5に示すvertical space符号などの各符号は、第1の領
域分離部2′及び第2の領域分離部4′で得られた各領
域を8ビット符号で識別するようになっており、さらに
この8ビット符号が制御種別と引数で構成されるように
なっている。また、例えば、vertical space符号のよう
に、上述の制御種別と引数で構成される各領域を識別す
る全てあるいは8ビット符号の直後に、少なくとも1個
の8ビット符号を伴うようにもなっている。
【0138】以上述べてきたように、ここまでの処理
は、第1実施例と同様の処理である。このため、本実施
例でも、文書中の全ての空白領域を効率的に抽出して符
号化でき、文字領域では縦方向の8ビットを単位として
扱い、各符号(制御コード)を制御種別と引数の組合わ
せによる8ビットあるいは8ビットを複数連ねたバイト
単位で構成するので、文書(ビットマップデータ)を符
号化したあとのデータは全てバイト単位になり、圧縮処
理をプロセッサの処理単位とメモリのビット幅に合わせ
ることが可能になり、パソコンやプリンタ側での処理の
し易さを大幅に改善できる。
【0139】ここで、上述のようにして、1ページ分の
ビットマップデータを第1の符号化部5Aにより、符号
化が終了すると、圧縮処理を施されたビットマップデー
タは、vertical space符号,start block符号,end line
符号, skip block符号, start space 符号, end block
符号などの、バイト単位のデータの繰り返しとなってい
る。
【0140】そこで、本実施例では、上記の各データ
に、さらに、第2の符号化部5Bで、adaptive Lempel-
Ziv(LZ) 符号化方法を用いて符号化を施す。このadapti
ve Lempel-Ziv(LZ) 符号化方法は、バイト単位で繰り返
し表れるデータパターンを効率的に圧縮できるものであ
る。このため、第1の符号化部5Aで得られた第1の符
号化データ(vertical space符号,start block符号,end
line 符号など)を、第2の符号化部5Bで、adaptive
Lempel-Ziv(LZ) 法を用いてさらに圧縮処理を施すこと
で、ビットマップデータの平均圧縮率は、1/48.3とな
る。
【0141】これに対し、第1の符号化部5Aのみの符
号化によるビットマップデータの平均圧縮率は、1/11.3
であり、第2の符号化部5Bのみの符号化によるビット
マップデータの平均圧縮率は、1/16.7であるので、上述
のように、第1の符号化部5Aによる符号化と第2の符
号化部5Bによる符号化を組み合わせることで、ビット
マップデータの平均圧縮率が3〜4倍に向上することが
わかる。
【0142】なお、第2の符号化部5Bにより施す符号
化方法には、他の符号化方法(ハフマン符号やユニバー
サル符号化など)を用いてもよい。 (c)その他 ここで、上述の第1実施例及び第2実施例の説明中にお
ける第1の領域分離部2′で得られた論理行数K,M,
Nの関係であるが、上述の各実施例においてはKを8と
してスキャンしているので、これにより得られる少なく
とも1行は黒画素を含む行数Nは8以上となり、連続す
る黒画素を含まない領域(空白領域)の行数Mも8以上
となり、これらの関係は、K≦N,K≦Mとなる。
【0143】
【発明の効果】以上詳述したように、本発明のビットマ
ップデータの圧縮方法によれば、ビットマップデータを
主走査方向に走査する主走査方向過程と、前記主走査方
向過程を実行することにより、ビットマップデータ中の
文字の大きさよりも小さいK(Kは1以上の整数)行単
位に、黒画素を含む領域と黒画素を含まない領域とに分
離する第1の領域分離過程と、前記第1の領域分離過程
で得られた少なくとも1行は黒画素を含むN(Nは1以
上の整数)行として定義される論理行の中で、この主走
査方向と交叉する方向の副走査方向走査過程と、この副
走査過程を実行することにより、1列単位に黒画素を含
む領域と黒画素を含まない領域とに分離する第2の領域
分離過程と、前記第1の領域分離過程及び第2の領域分
離過程で得られた各領域を8ビット符号で識別してバイ
ト単位の符号化データを得る符号化過程をそなえて構成
されているので、ビットマップデータの黒画素を含まな
い、全ての空白領域を効率的に圧縮することができ、こ
れによりビットマップデータの圧縮率を飛躍的に向上さ
せることができる効果がある。また、符号化データがバ
イト単位で得られるので、パソコンやプリンタ側での圧
縮処理の負荷も大幅に軽減される。
【0144】また、本発明のビットマップデータの圧縮
方法によれば、上述のごとくバイト単位で得られた符号
化データに対して、さらに第2の符号化を施す第2の符
号化過程をそなえて構成されているので、ビットマップ
データの黒画素を含まない、全ての空白領域を、さらに
効率的に圧縮することができ、これによりビットマップ
データの圧縮率を飛躍的に向上させることができる効果
がある。また、上記と同様に、パソコンやプリンタ側で
の圧縮処理の負荷も大幅に軽減される。
【0145】そして、本発明のビットマップデータの圧
縮方法によれば、前記第1の領域分離過程で得られた連
続する黒画素を含まないM(M≧K)で構成される領域
を1つの領域として符号化するので、黒画素を含まない
空白領域を、まとめて符号化でき、これによりビットマ
ップデータを効率的に圧縮することができる。
【0146】さらに、本発明のビットマップデータの圧
縮方法によれば、各ページの先頭、あるいは各ページの
最後における前記第1の領域分離過程で得られた連続す
る黒画素を含まない領域を1つの領域として符号化する
ようにしてもよいので、文書などのビットマップのペー
ジ先頭やページ最下部に設けられた空白領域を、まとめ
て効率的に符号化でき、これによりビットマップデータ
の圧縮率が大幅に向上する効果がある。
【0147】また、本発明のビットマップデータの圧縮
方法によれば、前記論理行における前記第2の領域分離
過程で得られた連続する黒画素を含まない領域を1つの
領域として符号化し、同様に、前記論理行における右端
あるいは左端で得られた連続する黒画素を含まない領域
を1つの領域として符号化するようにしてもよいので、
文書などのビットマップ中の、インデントにより配置さ
れる文書右端の余白や、短い文章による文書左端の余
白、さらには文字間の空白をも効率的に圧縮することが
でき、これよりビットマップデータの圧縮率が大幅に向
上する効果もある。
【0148】そして、本発明のビットマップデータの圧
縮方法によれば、前記第1の領域分離過程で得られた前
記論理行を構成する行数Nを固定値あるいは「8」にし
てもよいので、特に、文書などのビットマップデータを
圧縮する場合に、文書などのビットマップ中の空白領域
を効率的に圧縮できる効果がある。また、ビットマップ
データの圧縮処理をパソコンなどにおけるプロセッサの
処理単位とメモリのビット幅の両方に合わせることがで
き、これによりパソコンやプリンタでの処理負荷を大幅
に軽減できる効果もある。
【0149】さらに、本発明のビットマップデータの圧
縮方法によれば、前記論理行における前記第2の領域分
離過程で得られた連続する黒画素を含む領域として定義
される文字領域の終了を示す符号を「0」にしてもよい
で、この文字領域が続く幅を明示する必要がなくな
り、ビットマップデータの圧縮処理の負荷が軽減され、
さらに圧縮率が大幅に向上する効果がある。
【0150】こで、上記の8ビット符号は制御種別と
引数で構成してもよく、このようにすればビットマップ
データの圧縮処理の制御が容易に行なえる効果があり、
さらに、この制御種別と引数で構成される各領域を識別
する全てあるいは一部の8ビット符号の直後に、少なく
とも1個の8ビット引数を伴うようにしてもよく、この
ようにすれば前記の第1の領域分離過程及び第2の領域
分離過程で得られた各領域が大きい場合でも、これらの
各領域を効率的に識別できる効果がある。また、圧縮処
理を施されたビットマップデータが全てバイト単位にな
り、圧縮処理のパターンの繰り返し率が向上するという
効果もある。
【0151】また、本発明のビットマップデータの圧縮
方法によれば、前記論理行における前記第2の領域分離
過程で得られた連続する黒画素を含む文字領域中のビッ
トマップデータで2回以上連続して出現するデータに対
して反復を示す制御種別と反復数で構成される符号とを
割り当てるようにしてもよいので、上記の連続して出現
するデータを容易に圧縮できる効果があり、またパソコ
ンやプリンタ側での処理の負荷が軽減される効果もあ
る。
【0152】そして、さらに本発明のビットマップデー
タの圧縮方法によれば、前記第2の領域分離過程で得ら
れた論理行内の最後の文字領域の直後に、ページ先頭か
らの位置情報を示す符号を付加するようにしてもよいの
で、ビットマップデータの転送中にビット誤りなどのエ
ラーが生じても、エラーが起きたビットマップデータ以
降のデータへのエラー伝搬を防止して、エラーが起きた
場所以降のビットマップデータがずれないようにするこ
とがきる効果がある。
【0153】また、本発明のビットマップデータの圧縮
方法によれば、前記の各論理行における最初の文字領域
の開始位置を直前の論理行における最初の文字領域の開
始位置との相対値として符号化するようにしてもよいの
で、例えば、論理行における最初の文字領域の開始位置
と直前の論理行における最初の文字領域の開始位置が、
インデントにより全く同じか、近傍となっているような
文書のビットマップデータを圧縮する場合、ビットマッ
プデータの圧縮率がさらに向上する効果がある。
【0154】さらに、本発明のビットマップデータの圧
縮装置によれば、ビットマップデータを主走査方向に走
査する主走査方向手段と、前記主走査方向手段を動作さ
せることにより得られたデータから、ビットマップデー
タ中の文字の大きさよりも小さいK(Kは1以上の整
数)行単位に、黒画素を含む領域と黒画素を含まない領
域とに分離する第1の領域分離手段と、前記第1の領域
分離手段で得られた少なくとも1行は黒画素を含むN
(Nは1以上の整数)行として定義される論理行の中
で、該主走査方向と交叉する方向の副走査方向に走査す
る副走査方向手段と、前記副走査方向手段を動作させる
ことにより得られたデータから、1列単位に黒画素を含
む領域と黒画素を含まない領域とに分離する第2の領域
分離手段と、前記の第1の領域分離手段及び第2の領域
分離手段で得られた各領域を予め定められた制御種別と
引数で構成される8ビット符号で識別してバイト単位の
符号化データを得る符号化手段とをそなえて構成されて
いるので、ビットマップデータの全ての領域の空白部分
を効率よく表すことができ、これによりビットマップデ
ータのデータ量を低減できる。このため、ビットマップ
データ圧縮装置の性能を大幅に向上できる効果がある。
また、圧縮処理を施されたビットマップデータが全てバ
イト単位になり、パソコンやプリンタ側での処理の負荷
が軽減される効果もある。
【0155】また、本発明のビットマップデータの圧縮
装置によれば、上述のごとく得られたバイト単位の符号
化データを可変長符号データに符号化する第2の符号化
段をそなえて構成されているので、ビットマップデー
タのデータ量を、さらに低減でき、ビットマップデータ
の圧縮装置の性能を大幅に向上できる効果がある。さら
に、この場合も、パソコンやプリンタ側での処理の負荷
が軽減される効果もある。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の原理説明図である。
【図3】本発明の原理ブロック図である。
【図4】本発明の原理ブロック図である。
【図5】本発明の第1実施例としてのビットマップデー
タの圧縮方法を実施するための装置の構成例を示すブロ
ック図である。
【図6】ビットマップデータの圧縮処理を行なうための
装置の全体構成の一例を示す図である。
【図7】本発明の第1実施例の動作を説明するためのフ
ローチャートである。
【図8】本発明の第1実施例の動作の他の一例を説明す
るためのフローチャートである。
【図9】本発明の第1実施例の動作を説明するためのフ
ローチャートである。
【図10】本発明の第1実施例の動作を説明するための
フローチャートである。
【図11】(a),(b)は本発明の第1実施例におけ
るビットマップデータの走査単位と走査方向を示す図で
ある。
【図12】本発明の第1実施例を説明するための英文文
書の一例を示す図である。
【図13】本発明の第1実施例を説明するための英文文
書の一例を示す図である。
【図14】本発明の第1実施例におけるビットマップの
空白部と文字領域との比率の一例を示す図である。
【図15】本発明の第1実施例における制御コードの一
覧を示す図である。
【図16】本発明の第2実施例としてのビットマップデ
ータの圧縮方法を実施するための装置の構成例を示すブ
ロック図である。
【図17】従来のビットマップデータの圧縮方法を説明
するための図である。
【符号の説明】
1 主走査方向走査手段 1′主走査方向走査部 2 第1の領域分離手段 2′第1の領域分離部 3 副走査方向走査手段 3′副走査方向走査部 4 第2の領域分離手段 4′第2の領域分離部 5 符号化手段 5′符号化部 5A 第1の符号化部 5B 第2の符号化部 6,7,8 ライン 9,9′ 圧縮装置 10 コンピュータ 12 プリンタ 14 圧縮手段 15 復元手段 17 印字手段 18 主走査方向の走査単位 19 走査方向 20 文字を含む行 21 行間の空白 23,24,25 文字領域
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−183762(JP,A) 特開 平2−78373(JP,A) 特開 平5−22611(JP,A) 特開 昭60−72377(JP,A) 特開 昭52−6016(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 1/41 - 1/419

Claims (32)

    (57)【特許請求の範囲】
  1. 【請求項1】 ビットマップデータを主走査方向に走査
    する主走査方向過程と、 前記主走査方向過程を実行することにより、該ビットマ
    ップデータ中の文字の大きさよりも小さいK(Kは1以
    上の整数)行単位に、黒画素を含む領域と黒画素を含ま
    ない領域とに分離する第1の領域分離過程と、 前記第1の領域分離過程で得られた少なくとも1行は黒
    画素を含むN(Nは1以上の整数)行として定義される
    論理行の中で、該主走査方向と交叉する方向の副走査方
    向に走査する副走査方向過程と、 前記副走査方向過程を実行することにより、1列単位に
    黒画素を含む領域と黒画素を含まない領域とに分離する
    第2の領域分離過程と、 前記の第1の領域分離過程及び第2の領域分離過程で得
    られた各領域を8ビット符号で識別してバイト単位の
    号化データを得る符号化過程とをそなえて構成されたこ
    とを特徴とする、ビットマップデータ圧縮方法。
  2. 【請求項2】 前記第1の領域分離過程で得られた連続
    する黒画素を含まないM(M≧K)行で構成される領域
    を1つの領域として符号化することを特徴とする、請求
    項1記載のビットマップデータ圧縮方法。
  3. 【請求項3】 各ページの先頭における前記第1の領域
    分離過程で得られた連続する黒画素を含まない領域を1
    つの領域として符号化することを特徴とする、請求項2
    記載のビットマップデータ圧縮方法。
  4. 【請求項4】 各ページの最後における前記第1の領域
    分離過程で得られた連続する黒画素を含まない領域を1
    つの領域として符号化することを特徴とする、請求項2
    記載のビットマップデータ圧縮方法。
  5. 【請求項5】 前記論理行における前記第2の領域分離
    過程で得られた連続する黒画素を含まない領域を1つの
    領域として符号化することを特徴とする、請求項1記載
    のビットマップデータ圧縮方法。
  6. 【請求項6】 前記の各論理行の左端における前記第2
    の領域分離過程で得られた連続する黒画素を含まない領
    域を1つの領域として符号化することを特徴とする請求
    項5記載のビットマップデータ圧縮方法。
  7. 【請求項7】 前記の各論理行の右端における前記第2
    の領域分離過程で得られた連続する黒画素を含まない領
    域を1つの領域として符号化することを特徴とする、請
    求項5記載のビットマップデータ圧縮方法。
  8. 【請求項8】 前記第1の領域分離過程で得られた前記
    論理行を構成する行数Nが固定値であることを特徴とす
    る、請求項1記載のビットマップデータ圧縮方法。
  9. 【請求項9】 前記第1の領域分離過程で得られた前記
    論理行を構成する行数が「8」であることを特徴とす
    る、請求項8記載のビットマップデータ圧縮方法。
  10. 【請求項10】 前記論理行における前記第2の領域分
    離過程で得られた連続する黒画素を含む領域として定義
    される文字領域の終了を示す符号が「0」であることを
    特徴とする、請求項1記載のビットマップデータ圧縮
    方法
  11. 【請求項11】 前記の各領域を識別する8ビット符号
    が制御種別と引数で構成されていることを特徴とする、
    請求項記載のビットマップデータ圧縮方法。
  12. 【請求項12】 前記の制御種別と引数で構成される各
    領域を識別する全てあるいは一部の8ビット符号の直後
    に、少なくとも1個の8ビット引数を伴うことを特徴と
    する、請求項1記載のビットマップデータ圧縮方
    法。
  13. 【請求項13】 前記論理行における前記第2の領域分
    離過程で得られた連続する黒画素を含む文字領域中のビ
    ットマップデータで2回以上連続して出現するデータに
    対して反復を示す制御種別と反復数で構成される符号と
    を割り当てることを特徴とする、請求項1記載のビット
    マップデータ圧縮方法。
  14. 【請求項14】 前記第2の領域分離過程で得られた論
    理行内の最後の文字領域の直後に、ページ先頭からの位
    置情報を示す符号を付加することを特徴とする、請求項
    1記載のビットマップデータ圧縮方法。
  15. 【請求項15】 前記の各論理行における最初の文字領
    域の開始位置を直前の論理行における最初の文字領域の
    開始位置との相対値として符号化することを特徴とす
    る、請求項1記載のビットマップデータ圧縮方法。
  16. 【請求項16】 ビットマップデータを主走査方向に走
    査する主走査方向過程と、 前記主走査方向過程を実行することにより、該ビットマ
    ップデータ中の文字の大きさよりも小さいK(Kは1以
    上の整数)行単位に、黒画素を含む領域と黒画素を含ま
    ない領域とに分離する第1の領域分離過程と、 前記第1の領域分離過程で得られた少なくとも1行は黒
    画素を含むN(Nは1以上の整数)行として定義される
    論理行の中で、該主走査方向と交叉する方向の副走査方
    向に走査する副走査方向過程と、 前記副走査方向過程を実行することにより、1列単位に
    黒画素を含む領域と黒画素を含まない領域とに分離する
    第2の領域分離過程と、 前記の第1の領域分離過程及び第2の領域分離過程で得
    られた各領域を8ビット符号で識別してバイト単位の符
    号化データを得る第1の符号化を施す第1の符号化過程
    と、 記の第1の符号化過程で得られたバイト単位の符号化
    データに対して、第2の符号化を施す第2の符号化過程
    とをそなえて構成されたことを特徴とする、ビットマッ
    プデータ圧縮方法。
  17. 【請求項17】 前記第1の領域分離過程で得られた連
    続する黒画素を含まないM(M≧K)行で構成される領
    域を1つの領域として符号化することを特徴とする、請
    求項1記載のビットマップデータ圧縮方法。
  18. 【請求項18】 各ページの先頭における前記第1の領
    域分離過程で得られた連続する黒画素を含まない領域を
    1つの領域として符号化することを特徴とする、請求項
    記載のビットマップデータ圧縮方法。
  19. 【請求項19】 各ページの最後における前記第1の領
    域分離過程で得られた連続する黒画素を含まない領域を
    1つの領域として符号化することを特徴とする、請求項
    記載のビットマップデータ圧縮方法。
  20. 【請求項20】 前記論理行における前記第2の領域分
    離過程で得られた連続する黒画素を含まない領域を1つ
    の領域として符号化することを特徴とする、請求項1
    記載のビットマップデータ圧縮方法。
  21. 【請求項21】 前記の各論理行の左端における前記第
    2の領域分離過程で得られた連続する黒画素を含まない
    領域を1つの領域として符号化することを特徴とする請
    求項2記載のビットマップデータ圧縮方法。
  22. 【請求項22】 前記の各論理行の右端における前記第
    2の領域分離過程で得られた連続する黒画素を含まない
    領域を1つの領域として符号化することを特徴とする、
    請求項2記載のビットマップデータ圧縮方法。
  23. 【請求項23】 前記第1の領域分離過程で得られた前
    記論理行を構成する行数Nが固定値であることを特徴と
    する、請求項1記載のビットマップデータ圧縮方
    法。
  24. 【請求項24】 前記第1の領域分離過程で得られた前
    記論理行を構成する行数が「8」であることを特徴とす
    る、請求項2記載のビットマップデータ圧縮方法。
  25. 【請求項25】 前記論理行における前記第2の領域分
    離過程で得られた連続する黒画素を含む領域として定義
    される文字領域の終了を示す符号が「0」であることを
    特徴とする、請求項1記載のビットマップデータ
    縮方法
  26. 【請求項26】 前記の各領域を識別する8ビット符号
    が制御種別と引数で構成されていることを特徴とする、
    請求項16記載のビットマップデータ圧縮方法。
  27. 【請求項27】 前記の制御種別と引数で構成される各
    領域を識別する全てあるいは一部の8ビット符号の直後
    に、少なくとも1個の8ビット引数を伴うことを特徴と
    する、請求項2記載のビットマップデータ圧縮方
    法。
  28. 【請求項28】 前記論理行における前記第2の領域分
    離過程で得られた連続する黒画素を含む文字領域中のビ
    ットマップデータで2回以上連続して出現するデータに
    対して反復を示す制御種別と反復数で構成される符号と
    を割り当てることを特徴とする、請求項1記載のビッ
    トマップデータ圧縮方法。
  29. 【請求項29】 前記第2の領域分離過程で得られた論
    理行内の最後の文字領域の直後に、ページ先頭からの位
    置情報を示す符号を付加することを特徴とする、請求項
    記載のビットマップデータ圧縮方法。
  30. 【請求項30】 前記の各論理行における最初の文字領
    域の開始位置を直前の論理行における最初の文字領域の
    開始位置との相対値として符号化することを特徴とす
    る、請求項1記載のビットマップデータ圧縮方法。
  31. 【請求項31】 ビットマップデータを主走査方向に走
    査する主走査方向手段と、 前記主走査方向手段を動作させることにより得られたデ
    ータから、該ビットマップデータ中の文字の大きさより
    も小さいK(Kは1以上の整数)行単位に、黒画素を含
    む領域と黒画素を含まない領域とに分離する第1の領域
    分離手段と、 前記第1の領域分離手段で得られた少なくとも1行は黒
    画素を含むN(Nは1以上の整数)行として定義される
    論理行の中で、該主走査方向と交叉する方向の副走査方
    向に走査する副走査方向手段と、 前記副走査方向手段を動作させることにより得られたデ
    ータから、1列単位に黒画素を含む領域と黒画素を含ま
    ない領域とに分離する第2の領域分離手段と、 前記の第1の領域分離手段及び第2の領域分離手段で得
    られた各領域を予め定められた制御種別と引数で構成さ
    れる8ビット符号で識別してバイト単位の符号化データ
    を得る符号化手段とをそなえて構成されたことを特徴と
    する、ビットマップデータ圧縮装置。
  32. 【請求項32】 ビットマップデータを主走査方向に走
    査する主走査方向手段と、 前記主走査方向手段を動作させることにより得られたデ
    ータから、該ビットマップデータ中の文字の大きさより
    も小さいK(Kは1以上の整数)行単位に、黒画素を含
    む領域と黒画素を含まない領域とに分離する第1の領域
    分離手段と、 前記第1の領域分離手段で得られた少なくとも1行は黒
    画素を含むN(Nは1以上の整数)行として定義される
    論理行の中で、該主走査方向と交叉する方向の副走査方
    向に走査する副走査方向手段と、 前記副走査方向手段を動作させることにより得られたデ
    ータから、1列単位に黒画素を含む領域と黒画素を含ま
    ない領域とに分離する第2の領域分離手段と、 前記の第1の領域分離手段及び第2の領域分離手段で得
    られた各領域を予め定められた制御種別と引数で構成さ
    れる8ビット符号で識別してバイト単位の符号化データ
    を得る第1の符号化手段と、 前記第1の符号化手段で得られたバイト単位の符号化デ
    ータを可変長符号データに符号化する第2の符号化手段
    とをそなえて構成されたことを特徴とする、ビットマッ
    プデータ圧縮装置。
JP18264394A 1994-08-03 1994-08-03 ビットマップデータの圧縮方法及び圧縮装置 Expired - Fee Related JP3278298B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP18264394A JP3278298B2 (ja) 1994-08-03 1994-08-03 ビットマップデータの圧縮方法及び圧縮装置
DE19516979A DE19516979C2 (de) 1994-08-03 1995-05-09 Bitmap-Datenkomprimierungsverfahren und Bitmap-Datenkomprimierungsvorrichtung zur Durchführung dieses Verfahrens
US08/802,096 US5777749A (en) 1994-08-03 1997-02-19 Method and device for compressing bit-map data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18264394A JP3278298B2 (ja) 1994-08-03 1994-08-03 ビットマップデータの圧縮方法及び圧縮装置

Publications (2)

Publication Number Publication Date
JPH0851545A JPH0851545A (ja) 1996-02-20
JP3278298B2 true JP3278298B2 (ja) 2002-04-30

Family

ID=16121893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18264394A Expired - Fee Related JP3278298B2 (ja) 1994-08-03 1994-08-03 ビットマップデータの圧縮方法及び圧縮装置

Country Status (3)

Country Link
US (1) US5777749A (ja)
JP (1) JP3278298B2 (ja)
DE (1) DE19516979C2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259810B1 (en) * 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
US6112208A (en) * 1997-08-25 2000-08-29 Fujitsu Limited Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols
JPH1186014A (ja) 1997-09-08 1999-03-30 Fujitsu Ltd 文書画像表示方法および表示装置
US6594385B2 (en) * 1998-10-27 2003-07-15 Hewlett-Packard Development Company, L.P. Image compression of background and text tiles
US7167259B2 (en) * 2000-05-16 2007-01-23 International Business Machines Corporation System and method for merging line work objects using tokenization and selective compression
JP3901514B2 (ja) * 2001-12-27 2007-04-04 富士通株式会社 画像圧縮方法、その復元方法及びそのプログラム
JP4278918B2 (ja) * 2002-04-19 2009-06-17 富士通株式会社 画像データ処理装置とその方法
WO2004068844A1 (ja) 2003-01-30 2004-08-12 Fujitsu Limited 画像圧縮方法、画像復元方法、プログラム及び装置
JP2004304424A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 画像圧縮方法、プログラム、記憶媒体及び装置
US20050162694A1 (en) * 2003-04-15 2005-07-28 Fujitsu Limited Printer control device
JP4008428B2 (ja) * 2004-04-26 2007-11-14 富士通株式会社 画像圧縮方法
JP4552993B2 (ja) * 2007-10-11 2010-09-29 ブラザー工業株式会社 画像処理装置及び画像処理装置の制御プログラム
US8023755B2 (en) * 2008-05-15 2011-09-20 International Business Machines Corporation Generating subimages of an image to use to represent the image
JP2011040970A (ja) * 2009-08-10 2011-02-24 Canon Inc データ処理装置、および、データ処理方法
JP5225420B2 (ja) * 2011-03-31 2013-07-03 威鋒數位開發股▲ふん▼有限公司 コンピュータによるドットマトリクスフォントデータの圧縮及び解凍のための方法及びシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4149145A (en) * 1977-02-17 1979-04-10 Xerox Corporation Fax processor
US4603607A (en) * 1982-02-25 1986-08-05 Channellock, Inc. Pivot connection for slip joint pliers
JPS59178077A (ja) * 1983-03-28 1984-10-09 Dainippon Screen Mfg Co Ltd 2値画像のデ−タ圧縮方法
JP2505402B2 (ja) * 1984-10-31 1996-06-12 キヤノン株式会社 画像処理装置
DE3538639A1 (de) * 1984-10-31 1986-04-30 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
JP2644477B2 (ja) * 1985-09-04 1997-08-25 キヤノン株式会社 画像処理方法
JP2505401B2 (ja) * 1984-10-31 1996-06-12 キヤノン株式会社 画像処理装置
US4896275A (en) * 1987-07-10 1990-01-23 Bull Hn Information Systems Inc. Full page graphics image display data reduction
US4870498A (en) * 1987-09-15 1989-09-26 Printware, Inc. Decompressing run-length-encoded to transition-encoded font image information in an image generator
US4982293A (en) * 1988-06-02 1991-01-01 Ricoh Company, Ltd. Method of compressing halftone image data
JPH0232675A (ja) * 1988-07-21 1990-02-02 Sharp Corp ファクシミリ装置における疑似中間調データの伝送処理方法
JP3066909B2 (ja) * 1990-08-27 2000-07-17 キヤノン株式会社 復号装置
US5335290A (en) * 1992-04-06 1994-08-02 Ricoh Corporation Segmentation of text, picture and lines of a document image

Also Published As

Publication number Publication date
US5777749A (en) 1998-07-07
DE19516979C2 (de) 1997-01-16
JPH0851545A (ja) 1996-02-20
DE19516979A1 (de) 1996-02-15

Similar Documents

Publication Publication Date Title
JP4366408B2 (ja) グラフィック画像の圧縮システムおよび方法
CA2199437C (en) Fontless structured document image representations for efficient rendering
US7236636B2 (en) Image compression method, image restoration method, program and apparatus
JP3278298B2 (ja) ビットマップデータの圧縮方法及び圧縮装置
US7826670B2 (en) Data compression apparatus and data compression program storage medium
KR20120065394A (ko) 화상처리장치 및 그 처리 방법
US7167259B2 (en) System and method for merging line work objects using tokenization and selective compression
JP2006121645A (ja) 画像圧縮装置および画像圧縮プログラム
GB2345603A (en) Apparatus and method for compressing huffman encoded data
JP4173498B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4260908B2 (ja) ランレングス符号化方法および画像処理装置
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005277932A (ja) データ圧縮装置およびデータ圧縮プログラム
JPH09167222A (ja) 画像処理装置
JP4181147B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131970B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4741317B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP3244745B2 (ja) 画像処理装置
JP2005260408A (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005252531A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4633577B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JPH09200536A (ja) 符号化装置および復号化装置
JP2005260420A (ja) データ圧縮装置およびデータ圧縮プログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020129

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees