(57)【要約】【課題】従来のランレングス圧縮では、主走査方向のデータ成分が頻繁に反転すると、特に同一成分の連続長（ドット数）が該連続長を表現するデータ長よりも短い場合、効果的な圧縮ができない場合があった。【解決手段】第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮方法であって、前記２値画像を主走査方向に走査して第１値のドットを検出し、該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出し、該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する。【選択図】　　図５
2004140749.tif 000002
【特許請求の範囲】
【請求項１】
第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮方法であって、
前記２値画像を主走査方向に走査して第１値のドットを検出するドット検出工程と、
該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出する矩形検出工程と、
該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する圧縮工程と、
を有することを特徴とする画像圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２値化された画像情報を圧縮する画像圧縮方法に関する。
【０００２】
【従来の技術】
従来のデータ圧縮方法として、ランレングス圧縮が知られている。例えば、白黒の２値画像についてランレングス圧縮を施す場合、Ｘ方向（主走査方向）に連続するデータ成分について、該成分値と、該成分の連続する長さを表す数値とによって、画像の圧縮が行われていた。例えば、２値データが“１１１１１１１１１１００００００００００”であれば、該データは’１’が１０個連続した後に’０’が１０個連続しているため、“１１００１０”に圧縮される。
【０００３】
【発明が解決しようとする課題】
しかしながら従来のランレングス圧縮では、主走査方向のデータ成分が頻繁に反転すると、特に同一成分の連続長（ドット数）が該連続長を表現するデータ長よりも短い場合、効果的な圧縮ができないか、もしくは逆にデータサイズが大きくなってしまうという問題があった。
【０００４】
例えば、２値データが“１１００１１００１１００１１００１１００”であった場合には、圧縮結果は“１０２００２１０２００２１０２００２１０２００２１０２００２”（’１’が２個、’０が２個、’１’が２個、’０が２個、’１’が２個、’０が２個、’１’が２個、’０が２個、’１’が２個、’０が２個）となり、圧縮前よりもデータサイズが大きくなってしまう。
【０００５】
本発明は上記問題を解決するためになされたものであり、一般的なランレングス圧縮では圧縮効率が悪い場合に、それに代えて高圧縮率を得られる画像圧縮方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の画像圧縮方法は以下の構成を備える。
【０００７】
すなわち、第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮方法であって、前記２値画像を主走査方向に走査して第１値のドットを検出するドット検出工程と、該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出する矩形検出工程と、該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する圧縮工程と、を有することを特徴とする。
【０００８】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【０００９】
＜第１実施形態＞
図１に、本実施例における画像処理装置のブロック構成図を示す。図２において、１０はＣＣＤスキャナ等により構成される画像データを入力する画像入力部、１１は本実施例の特徴である圧縮処理を含む各種画像処理を行う画像処理部、１２は操作パネル等、操作者によるコマンド入力や操作者へ画像処理装置の状態報知等を行う操作部、１３はＣＲＴ等、画像データを表示する画像表示部、１４は画像データの送受信を行う通信部、１５はプリンタ等、記録媒体に画像データを出力する画像出力部である。
【００１０】
図２は、本実施形態における圧縮対象となる、２４ドット×２４ドットの２値画像画像例の模式図である。
【００１１】
まず、図２に示す２値画像について、一般的なランレングス手法によって圧縮する場合、連続する’０’と’１’の成分領域を図３に示す様に取る。そして図４に、その圧縮結果を示す。なお、図２乃至図４において、’１’の成分に関するコード、もしくは領域については、網掛けで示している。
【００１２】
図４において、例えば１行目のデータは［０１０　１０３　００１　１０２　００８］であるから、’０’が１０個、’１’が３個、’０’が１個、’１’が２個、’０’が８個である旨を示し、すなわち、図２の１行目のデータ［０　０　０　０　０　０　０　０　０　０　　１　１　１　　０　　１　１　　０　０　０　０　０　０　０　０］が圧縮されていることが分かる。
【００１３】
以下、本実施形態における２次元ランレングス手法について説明する。
【００１４】
図５は、図２に示す２値画像を本実施形態の２次元ランレングス手法によって、白色ベースで圧縮する場合の、縦横に連続する’１’の成分領域の取り方を示す図である。なお、ここで白色ベースとは、白色（’０’）が地色（背景）であるとして、その上に展開される黒色（’１’）の成分を、その位置と矩形領域の大きさで表現することによって圧縮する場合を指す。
【００１５】
図５によれば、主走査方向のみならず、副走査方向に連続する同一成分も考慮し、すなわち同一成分（ここでは’１’成分）の矩形領域を抽出していることが分かる。このとき、矩形領域が最大サイズとなるように抽出を行う。
【００１６】
なお本実施形態によれば、既に抽出された領域が他の領域の一部として再度抽出されることはないが、本発明自体は、既に抽出された領域が他の領域の一部として再度抽出されることを制限するものではない。
【００１７】
図６は、本実施形態における二次元ランレングス手法による白色ベースでの圧縮結果（圧縮コード）を示す図である。同図の１行目のデータを参照して、本実施形態の圧縮手法を説明する。
【００１８】
図６の１行目は［１０　０３　０１　０３　０２　０２　９９］である。まず、最初の圧縮コード［１０　０３　０１］は、「先頭からＸ方向に［１０］ドット開けた位置において、’１’がＸ方向に［０３］個連続し、更にその［０３］個の’１’がＹ方向に［０１］個連続している」旨を示す。
【００１９】
そして、続く圧縮コード［０３　０２　０２］は、「前回の初めに発見した’１’から（つまり前回の矩形領域の左上端の’１’から）Ｘ方向に［０３］ドット開けた位置において、’１’がＸ方向に［０２］個、Ｙ方向にも［０２］個連続している」旨を示す。なお本実施形態では、主走査方向における’１’の矩形の位置は、直前に発見した矩形領域の左端ドットから数える例を示すが、直前に発見した矩形領域の右端ドットから数えても良いし、または常にその行全体の左端ドットから数えても良いし、または常にその行全体の右端ドットから数えても良い。
【００２０】
そして、行の最後にある［９９］は行の終端子であり、「以降に黒を示す’１’の成分が無い」旨を示す。本実施形態では、２４ドット×２４ドットの画像では長さとして有り得ない数値である’９９’を、終端子として用いる。
【００２１】
以上の例によれば、図２に示す５７６バイト（文字）分のオリジナル画像データが、図４に示す一般的なランレングス手法による圧縮では５７９バイトとなり、３バイト分余計に増えている。しかしながら図６に示す本実施形態の２次元ランレングス手法によれば５０４文字となり、７２バイト分の圧縮がなされる。
【００２２】
以上説明したように本実施形態の二次元ランレングス手法によれば、主走査方向のみならず副走査方向にもデータを走査することで、主走査方向には同一成分が十分に連続していない場合であっても、副走査方向に連続した同一成分を圧縮する。これにより、一般的なランレングス符号化では圧縮効率が悪い場合でも、高圧縮率を得ることができる。
【００２３】
なお、本実施形態では白色を地色とする、白色ベースでの２次元ランレングス手法について説明したが、これを黒色ベースとすることも可能である。この場合すなわち、黒色（’１’）が地色であるとし、その上に展開される白色（’０’）の成分をその位置と矩形領域の大きさで表現することによって、圧縮を行う。図７に、黒色ベースでの２次元ランレングス手法による圧縮領域の取り方の例を示す。また図８に黒色ベースでの２次元ランレングス手法による圧縮後のデータの模式図を示す。
【００２４】
なお、本発明において得られる圧縮効率は画像データに依存し、画像によっては、一般的なランレングス手法の方がより効果的に圧縮できる場合もある。
【００２５】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００２６】
上述した第１実施形態の２次元ランレングス手法においては、各行に終端子を置く例を示した。第２実施形態では第１実施形態と同様の２次元ランレングス手法において、終端子が不要であれば省くことによってさらなる高圧縮率を実現する。
【００２７】
上述した２次元ランレングス手法において、ランレングスの積算が画像の行方向（主走査方向）の長さ分に到達すれば、終端子を参照しなくても１行分のデータ処理が終了したことが分かる。そこで第２実施形態では、オリジナルの画像全体の主走査方向（行方向）の長さが判っており、且つ任意の行が白ベースの場合は黒成分、或いは黒ベースの場合は白成分で終わる行については、終端子を省くように制御する。これはすなわち、展開時にその行にある矩形領域の主走査方向の位置と主走査方向の長さを積算すれば、その行の長さ分のデータ処理が終了したか否かを判別できるためである。
【００２８】
例えば図９において、その第１行はまず［００　１０　０３］というコードで開始されているが、これは、図７の第１行からも分かるように、最初の矩形領域は主走査方向に［００］の位置で幅［１０］であることを示す。このとき、位置’００’と長さ’１０’の和の’１０’は、画像の行全体の長さである’２４’には満たない。
【００２９】
更に二つ目の矩形［１２　０１　０１］を考える。これはすなわち二つ目の矩形領域が主走査方向に位置［１２］の位置で長さ［０１］であることを示す。ここで、第１及び第２実施形態の２次元ランレングス手法においては、後続する矩形領域の主走査方向の位置を現在の矩形領域における左端ドットから何ドット空けるかと数えるため、この場合、最初の矩形の主走査方向位置［００］から中［１２］空けて［０１］の幅の矩形が在ることを示す。最初の矩形領域の主走査方向位置である’００’に１２ドット分を加えた’１３’が、後続する矩形領域の開始位置となる。
【００３０】
このとき二つ目の矩形の開始位置は、最初の矩形の開始位置［００］の幅’０１’と間に空ける幅’１２’の和の’１３’となり、また終了位置は、最初の矩形の開始位置［００］の幅’０１’と間に空ける幅’１２’と二つ目の矩形の幅’０１’とを足した’１４’となるが、これも画像の行全体の長さである’２４’には満たない。
【００３１】
そして三つ目に［０２　０８　０２］というコードが続く。これは次の矩形領域が主走査方向に位置［０２］の位置で長さ［０８］であるということで、すなわち二つ目の矩形の主走査方向位置［１３］から中［０２］空けた位置に［０８］の幅で三つ目
の矩形が在ることを示す。このとき三つ目の矩形の開始位置は、二つ目の矩形の開始位置の’１３’とその開始位置の幅’０１’と間に空ける幅’０２’の和の’１６’となり、また終了位置は、さらに三つ目の矩形の幅’０８’を足した’２４’となり、これは行全体の長さである’２４’を満たすので、この行はこの矩形領域をもって終端となることが分かる。従って第２実施形態においては、この行の終端子［９９］を省く。
【００３２】
以上説明したように第２実施形態によれば、上述した第１実施形態における２次元ランレングス手法による圧縮コードから、不要な終端子を省くことによって、更なる高圧縮率を実現することができる。
【００３３】
＜第３実施形態＞
なお、第１、第２実施形態では、必ず全行について、その行に位置する矩形の有無を記述する為に、終端子を置いたり、主走査方向の処置済み成分の長さを積算したりすることで、全行について行と行の終端を認識する必要があるが、第３実施形態としては、図１０のように、矩形の開始位置をＸＹ成分で表現することで、一切の行と行の終端を認識する必要がないものも考えられる。
【００３４】
この場合もデータ全体の終端を認識するため、データ終端子か、データ全体の長さを示す値を保持する必要はある。
【００３５】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用しても良い。
【００３６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【００３７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることが出来る。
【００３９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４１】
＜実施態様の例＞
以下、本発明の実施態様の例を以下に列挙する。
【００４２】
［実施態様１］　第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮方法であって、
前記２値画像を主走査方向に走査して第１値のドットを検出するドット検出工程と、
該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出する矩形検出工程と、
該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する圧縮工程と、
を有することを特徴とする画像圧縮方法。
【００４３】
［実施態様２］　前記圧縮工程においては、
前記矩形領域の位置を前記ドット検出工程で検出されたドット位置で表し、
前記矩形領域の大きさを該矩形領域の幅と高さを示すドット数で表す
ことを特徴とする実施態様１記載の画像圧縮方法。
【００４４】
［実施態様３］　前記矩形検出工程においては、前記矩形領域の大きさが最大となるように検出することを特徴とする実施態様１記載の画像圧縮方法。
【００４５】
［実施態様４］　前記圧縮工程においては、前記２値画像の主走査方向の最後に、１行分の処理が終了した旨を示す終端子を置くことを特徴とする実施態様１記載の画像圧縮方法。
【００４６】
［実施態様５］　前記圧縮工程においては、前記２値画像の主走査方向の処理ドット数を積算し、その値が主走査方向の全ドット数に到達したことが判別できる場合には、前記終端子を置かないことを特徴とする実施態様４記載の画像圧縮方法。
【００４７】
［実施態様６］　前記圧縮工程においては、最終ドットが第１値である行について、前記終端子を置かないことを特徴とする実施態様５記載の画像圧縮方法。
【００４８】
［実施態様７］　第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮装置であって、
前記２値画像を主走査方向に走査して第１値のドットを検出するドット検出手段と、
該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出する矩形検出手段と、
該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する圧縮手段と、
を有することを特徴とする画像圧縮装置。
【００４９】
［実施態様８］　コンピュータが読み込み実行することで、第１値及び第２値のドットからなる２値画像を圧縮する画像圧縮装置として機能するコンピュータプログラムであって、
前記２値画像を主走査方向に走査して第１値のドットを検出するドット検出手段と、
該検出されたドットの座標位置を起点として主走査方向及び副走査方向に走査して第１値のドットからなる矩形領域を検出する矩形検出手段と、
該検出された矩形領域を、その位置と大きさの情報でコード化することによって圧縮する圧縮手段と、
して機能することを特徴とするコンピュータプログラム。
【００５０】
［実施態様９］　実施態様９に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【００５１】
【発明の効果】
以上説明したように本発明によれば、一般的なランレングス圧縮では圧縮効率が悪い場合でも、２次元ランレングス手法によって高圧縮率を得ることができる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態における画像処理装置の構成を示すブロック図である。
【図２】オリジナル画像データの一例を示す図である。
【図３】図２の画像に対する、一般的なランレングス手法による圧縮領域の取り方を示す図である。
【図４】図２の画像に対する、一般的なランレングス手法による圧縮後コード例を示す図である。
【図５】図２の画像に対する、白色ベース２次元ランレングス手法による圧縮領域の取り方の一例を示す図である。
【図６】図２の画像に対する、白色ベース２次元ランレングス手法による圧縮後コード例を示す図である。
【図７】図２の画像に対する、黒色ベース２次元ランレングス手法による圧縮領域の取り方の一例を示す図である。
【図８】図７の画像に対する、黒色ベース２次元ランレングス手法による圧縮後コード例を示す図である。
【図９】第２実施形態における、図７の画像に対する黒色ベース２次元ランレングス手法による圧縮後コード例を示す図である。
【図１０】第３実施形態における、図２の画像に対する白色ベース２次元ランレングス手法による圧縮後コード例を示す図である。
【符号の説明】
１０　画像入力部
１１　画像処理部
１２　操作部
１３　画像表示部
１４　通信部
１５　画像出力部
【図１】
2004140749.tif 000003
【図２】
2004140749.tif 000004
【図３】
2004140749.tif 000005
【図４】
2004140749.tif 000006
【図５】
2004140749.tif 000007
【図６】
2004140749.tif 000008
【図７】
2004140749.tif 000009
【図８】
2004140749.tif 000010
【図９】
2004140749.tif 000011
【図１０】
2004140749.tif 000012