(57)【要約】【課題】接触している画素塊に関する情報を出力する場合に、本構成を有していない場合に比較して、処理の負荷を軽減させるようにした画像処理装置を提供する。【解決手段】画像処理装置の画素塊情報生成手段は、画像内の行又は列毎の画素塊を表す情報である画素塊情報を生成し、判断手段は、対象とする行又は列にある第１の画素塊と、該対象とする行又は列と隣接する行又は列にある第２の画素塊が接触しているか否かを判断し、統合手段は、前記判断手段によって接触していると判断された場合、前記第１の画素塊の画素塊情報と前記第２の画素塊の画素塊情報を統合し、出力手段は、前記統合手段によって統合された画素塊情報を出力する。【選択図】図１
2011145847.tif 000002
【特許請求の範囲】
【請求項１】
画像内の行又は列毎の画素塊を表す情報である画素塊情報を生成する画素塊情報生成手段と、
対象とする行又は列にある第１の画素塊と、該対象とする行又は列と隣接する行又は列にある第２の画素塊が接触しているか否かを判断する判断手段と、
前記判断手段によって接触していると判断された場合、前記第１の画素塊の画素塊情報と前記第２の画素塊の画素塊情報を統合する統合手段と、
前記統合手段によって統合された画素塊情報を出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記画素塊情報生成手段によって生成された画素塊情報に基づいて、前記画素塊を囲む矩形を表す情報である矩形情報を生成する矩形情報生成手段
をさらに具備し、
前記統合手段は、前記判断手段によって接触していると判断された場合、前記第１の画素塊の矩形情報と前記第２の画素塊の矩形情報を統合する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記矩形情報生成手段によって生成された矩形情報又は前記画素塊情報生成手段によって生成された画素塊情報に対して編集する編集手段
をさらに具備し、
前記出力手段は、前記編集手段によって編集された前記矩形情報又は前記画素塊情報を出力する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記矩形情報生成手段によって生成された矩形情報若しくは前記画素塊情報生成手段によって生成された画素塊情報、又は前記編集手段によって編集された矩形情報若しくは画素塊情報に基づいて、画像を生成する画像生成手段
をさらに具備し、
前記出力手段は、前記画像生成手段によって生成された画像を出力する
ことを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
コンピュータを、
画像内の行又は列毎の画素塊を表す情報である画素塊情報を生成する画素塊情報生成手段と、
対象とする行又は列にある第１の画素塊と、該対象とする行又は列と隣接する行又は列にある第２の画素塊が接触しているか否かを判断する判断手段と、
前記判断手段によって接触していると判断された場合、前記第１の画素塊の画素塊情報と前記第２の画素塊の画素塊情報を統合する統合手段と、
前記統合手段によって統合された画素塊情報を出力する出力手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、装置を簡略化し対象物の特徴量算出の処理時間の短縮化が図れる画像領域抽出装置を提供することを目的として、画像データに基づいて行ごとにランレングスデータを生成するランレングスコード生成手段、ランレングスコード生成手段のランレングスデータを記憶するランレングスコード記憶手段、ランレングスコード記憶手段のランレングスデータの連結性を解析して対象物領域を抽出するランレングスコード処理手段とランレングスコード処理手段の対象物領域のデータを記憶する対象領域記憶手段を備え、ランレングスコード記憶手段にはランレングスデータと連結性を有する連結データ記憶エリアが設けられ、ランレングスコード処理手段は、対比される２つのランレングスデータが連結性有りと判断したときランレングスデータ記憶部の連結データ記憶エリアに所定の連結データを記憶させる手段を備えることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−１６８３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、接触している画素塊に関する情報を出力する場合に、本構成を有していない場合に比較して、処理の負荷を軽減させるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像内の行又は列毎の画素塊を表す情報である画素塊情報を生成する画素塊情報生成手段と、対象とする行又は列にある第１の画素塊と、該対象とする行又は列と隣接する行又は列にある第２の画素塊が接触しているか否かを判断する判断手段と、前記判断手段によって接触していると判断された場合、前記第１の画素塊の画素塊情報と前記第２の画素塊の画素塊情報を統合する統合手段と、前記統合手段によって統合された画素塊情報を出力する出力手段を具備することを特徴とする画像処理装置である。
【０００６】
請求項２の発明は、前記画素塊情報生成手段によって生成された画素塊情報に基づいて、前記画素塊を囲む矩形を表す情報である矩形情報を生成する矩形情報生成手段をさらに具備し、前記統合手段は、前記判断手段によって接触していると判断された場合、前記第１の画素塊の矩形情報と前記第２の画素塊の矩形情報を統合することを特徴とする請求項１に記載の画像処理装置である。
【０００７】
請求項３の発明は、前記矩形情報生成手段によって生成された矩形情報又は前記画素塊情報生成手段によって生成された画素塊情報に対して編集する編集手段をさらに具備し、前記出力手段は、前記編集手段によって編集された前記矩形情報又は前記画素塊情報を出力することを特徴とする請求項１又は２に記載の画像処理装置である。
【０００８】
請求項４の発明は、前記矩形情報生成手段によって生成された矩形情報若しくは前記画素塊情報生成手段によって生成された画素塊情報、又は前記編集手段によって編集された矩形情報若しくは画素塊情報に基づいて、画像を生成する画像生成手段をさらに具備し、前記出力手段は、前記画像生成手段によって生成された画像を出力することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置である。
【０００９】
請求項５の発明は、コンピュータを、画像内の行又は列毎の画素塊を表す情報である画素塊情報を生成する画素塊情報生成手段と、対象とする行又は列にある第１の画素塊と、該対象とする行又は列と隣接する行又は列にある第２の画素塊が接触しているか否かを判断する判断手段と、前記判断手段によって接触していると判断された場合、前記第１の画素塊の画素塊情報と前記第２の画素塊の画素塊情報を統合する統合手段と、前記統合手段によって統合された画素塊情報を出力する出力手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【００１０】
請求項１の画像処理装置によれば、接触している画素塊に関する情報を出力する場合に、本構成を有していない場合に比較して、処理の負荷を軽減させることができる。
【００１１】
請求項２の画像処理装置によれば、矩形情報を用いて統合処理を行うことができる。
【００１２】
請求項３の画像処理装置によれば、矩形情報又は画素塊情報を用いて画像の編集を行うことができる。
【００１３】
請求項４の画像処理装置によれば、矩形情報又は画素塊情報を用いた画像を出力することができる。
【００１４】
請求項５の画像処理プログラムによれば、接触している画素塊に関する情報を出力する場合に、本構成を有していない場合に比較して、処理の負荷を軽減させることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】本実施の形態による処理対象の画像例を示す説明図である。
【図４】ＲＬＥ符号化モジュールによる処理結果の例を示す説明図である。
【図５】連結ラン情報統合モジュールによる処理結果の例を示す説明図である。
【図６】処理対象の画像例におけるｙ２ラインまでの例を示す説明図である。
【図７】連結ラン情報記憶モジュールに記憶されている連結ラン情報の例を示す説明図である。
【図８】処理対象の画像例におけるｙ３ラインまでの例を示す説明図である。
【図９】連結ラン情報記憶モジュールに記憶されている連結ラン情報の例を示す説明図である。
【図１０】処理対象の画像例におけるｙ４ラインまでの例を示す説明図である。
【図１１】連結ラン情報統合モジュールが処理の対象とする連結ラン情報の例を示す説明図である。
【図１２】処理対象の画像例におけるｙ４ラインまでの例を示す説明図である。
【図１３】統合対象である２つの連結ラン情報の例を示す説明図である。
【図１４】２つの連結ラン情報を統合した後の連結ラン情報の例を示す説明図である。
【図１５】接触している連結ラン情報を統合した後の連結ラン情報の例を示す説明図である。
【図１６】処理対象の画像例におけるｙ５ラインまでの例を示す説明図である。
【図１７】連結ラン情報記憶モジュールに記憶されている連結ラン情報の例を示す説明図である。
【図１８】編集後の連結ラン情報の例を示す説明図である。
【図１９】編集後の連結ラン情報に基づいて生成された画像の例を示す説明図である。
【図２０】２つのランの関係の例を示す説明図である。
【図２１】２つのランの関係の例を示す説明図である。
【図２２】２つのランの関係の例を示す説明図である。
【図２３】２つのランの関係の例を示す説明図である。
【図２４】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１７】
本実施の形態である画像処理装置は、図１に示すように、画像受付モジュール１１０、ＲＬＥ符号化モジュール１２０（ＲＬＥ：Ｒｕｎ  Ｌｅｎｇｔｈ  Ｅｎｃｏｄｉｎｇ）、連結ラン情報生成モジュール１３０、連結ラン情報記憶モジュール１４０、連結ラン情報編集モジュール１５０、連結ラン情報統合モジュール１６０、出力モジュール１７０、制御モジュール１８０を有しており、これらはそれぞれ接続されている。
【００１８】
画像内の横に連なる行又は縦に連なる列をラインという。以下、ラインとして、行を主に例示して説明する。もちろん、列をラインとしてもよい。
画素塊とは、対象とする画像内のライン内において、同じ画素値の連続している画素群をいう。ただし、１画素であっても（対象画素の両隣が異なる画素値の画素である場合）、画素塊という。一般的にはラン（Ｒｕｎ）といわれており、以下、ランともいう。対象画像は２値画像であるので、画素値としてはその画素の色が黒又は白のいずれかである。以下、ランとして黒画素塊を主に例示して説明する。もちろん、白画素塊をランとしてもよい。
画素塊情報は、ランを表す情報であり（以下、ラン情報ともいう）、例えば、行内におけるランである場合は、ランの最初のｘ座標と最後のｘ座標の組み合わせであってもよいし、最初のｘ座標と画素塊の長さ（画素数）の組み合わせであってもよい。また、統合された後のラン情報として、後に説明する連結ラン情報であってもよい。
矩形情報とは、ランを囲む矩形を表す情報であり、以下、連結ラン情報ともいう。例えば、矩形情報として、ランを囲む最小矩形の最も左にあるｘ座標、最も右にあるｘ座標、最も上にあるｙ座標、最も下にあるｙ座標、その矩形の幅、高さ、ラン情報を含む。もちろん、その矩形は、１つのランを囲む矩形であってもよいし、複数のランを囲む矩形であってもよい。なお、複数のランを囲む場合は、そのランが接触している場合である。
【００１９】
画像受付モジュール１１０は、画像１００を受け付け、その画像１００をＲＬＥ符号化モジュール１２０に渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（画像処理装置に内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。受け付ける画像は２値画像を例示するが、多値画像（カラー画像を含む）を受け付けて、画像受付モジュール１１０が２値化処理を施してもよい。また、受け付ける画像は、１枚であってもよいし、複数枚であってもよい。
【００２０】
ＲＬＥ符号化モジュール１２０は、画像受付モジュール１１０が受け付けた画像１００を対象として、その画像１００内のライン毎のラン情報を生成する。生成したラン情報を連結ラン情報記憶モジュール１４０に記憶させる、又は連結ラン情報生成モジュール１３０に渡す。ラン情報の生成は、ランレングス符号化の方法を用いるようにしてもよい。例えば、ライン毎に走査し、黒画素が現れたらそのｘ座標を抽出し、白画素が現れたらその前の黒画素のｘ座標を抽出し、２つのｘ座標の組み合わせをラン情報としてもよいし、黒画素が現れたらそのｘ座標を抽出した後に、その黒画素を計数して、ｘ座標と黒画素数の組み合わせをラン情報としてもよい。
【００２１】
連結ラン情報生成モジュール１３０は、ＲＬＥ符号化モジュール１２０によって生成されたラン情報に基づいて、そのランを囲む矩形を表す情報である連結ラン情報を生成する。例えば、ランを囲む最小矩形の最も左にあるｘ座標は、対象としているラン内で、最も左にあるランのｘ座標である。その最小矩形の最も右にあるｘ座標は、対象としているラン内で、最も右にあるランのｘ座標である。その最小矩形の最も上にあるｙ座標は、対象としているラン内で、最も上にあるランのｙ座標である。その最小矩形の最も下にあるｙ座標は、対象としているラン内で、最も下にあるランのｙ座標である。その最小矩形の幅は、最も右にあるｘ座標から最も左にあるｘ座標間の距離である。その最小矩形の高さは、最も上にあるｙ座標から最も下にあるｙ座標間の距離である。そして、その最小矩形内に含まれるランのラン情報を含む。
また、連結ラン情報として、最小矩形の左上角の座標、右下角の座標の組み合わせであってもよいし、最小矩形の左上角の座標、その最小矩形の幅、高さであってもよい。
【００２２】
連結ラン情報記憶モジュール１４０は、ＲＬＥ符号化モジュール１２０によって生成されたラン情報又は連結ラン情報生成モジュール１３０によって生成された連結ラン情報を記憶する。また、記憶しているラン情報又は連結ラン情報は、連結ラン情報編集モジュール１５０、連結ラン情報統合モジュール１６０等によって変更される。
【００２３】
連結ラン情報編集モジュール１５０は、連結ラン情報生成モジュール１３０によって生成された連結ラン情報又はＲＬＥ符号化モジュール１２０によって生成されたラン情報に対して編集する。つまり、画像処理を連結ラン情報又はラン情報への編集処理で行うものである。例えば、ノイズ除去の処理は、連結ラン情報を用いて、予め定められた値よりも小さい矩形を消去するものである。
また、連結ラン情報編集モジュール１５０は、連結ラン情報生成モジュール１３０によって生成された連結ラン情報若しくはＲＬＥ符号化モジュール１２０によって生成されたラン情報、又は連結ラン情報編集モジュール１５０によって編集された連結ラン情報若しくはラン情報に基づいて、画像を生成するようにしてもよい。つまり、連結ラン情報又はラン情報から画像を生成するものであり、ランレングス符号の伸張の方法を用いるようにしてもよい。
【００２４】
連結ラン情報統合モジュール１６０は、対象とするラインにある第１のランと、その対象とするラインと隣接するラインにある第２のランが接触しているか否かを判断する。そして、連結ラン情報統合モジュール１６０は、接触していると判断された場合、第１のランのラン情報と第２のランのラン情報を統合する。また、連結ラン情報統合モジュール１６０は、接触していると判断された場合、第１のランの連結ラン情報と第２のランの連結ラン情報を統合するようにしてもよい。
【００２５】
隣接するラインとは、その位置関係で表現すると、ラインが行である場合は、対象とするラインの直上又は直下にあるラインであり、ラインが列である場合は、直右又は直左にあるラインである。また、処理順で表現すると、対象とするラインの処理の直前に処理したラインのことである。
第１のランと第２のランが接触しているとは、対象とするライン内のランと隣接するライン内のランが、そのラインとは垂直の関係にある座標系において重複する画素又は隣の位置にある画素があることをいう。例えば、ラインが行である場合には、その座標系とはｘ座標であり、ラインが列である場合には、その座標系とはｙ座標である。そして、重複する画素とは、ラインが行である場合は同じｘ座標を持つ画素が存在すること（ｘ座標で交わること）であり、ラインが列である場合は同じｙ座標を持つ画素が存在すること（ｙ座標で交わること）である。つまり、ライン間でランが４連結において連結している状態という。また、隣の位置にある画素とは、ラインが行である場合は、対象ライン内のランを構成する画素のｘ座標の隣のｘ座標（ｘ−１又はｘ＋１）に、隣接するライン内のランを構成する画素が存在することであり、ラインが列である場合は、対象ライン内のランを構成する画素のｙ座標の隣のｙ座標（ｙ−１又はｙ＋１）に、隣接するライン内のランを構成する画素が存在することである。つまり、ライン間でランが斜めの状態で接触していることをいう。先の４連結を含めると８連結において連結している状態としてもよい。以下の実施の形態では、同じｘ座標を持つ画素が存在することを例示して説明する。
【００２６】
出力モジュール１７０は、連結ラン情報統合モジュール１６０によって統合されたラン情報を出力する。また、出力モジュール１７０は、連結ラン情報編集モジュール１５０によって編集された連結ラン情報又はラン情報を出力するようにしてもよい。また、出力モジュール１７０は、連結ラン情報編集モジュール１５０によって生成された画像を出力するようにしてもよい。また、出力するとは、例えば、ハードディスク、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ通信回線を介して渡すこと等が含まれ、画像を出力するとは、それらの他に、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと等が含まれる。
制御モジュール１８０は、各モジュールの処理の開始、終了、本画像処理装置全体の処理等を制御する。
【００２７】
図２は、本実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、ＲＬＥ符号化モジュール１２０が、ライン毎にラン情報であるラン配列を生成する。例えば、図３の例に示す画像を対象とした場合、図４の例に示すようなラン配列が生成される。つまり、ｙ２ラインを対象とした場合、ラン配列４１０、ラン配列４１５が生成される。つまり、ｙ２ラインには、ｘ２と先頭としｘ４を最後尾としたラン（ラン配列４１０）とｘ７を先頭としｘ１０を最後尾としたラン（ラン配列４１５）があることを示している。同様に、ｙ３ラインを対象とした場合、ラン配列４２０、ラン配列４２５が生成され、ｙ４ラインを対象とした場合、ラン配列４３０が生成される。
【００２８】
ステップＳ２０４では、連結ラン情報統合モジュール１６０が、対象としているランと直前ラインに存在する連結ランとがｘ座標で交わるか否かを判断する。交わる場合はステップＳ２０６へ進み、それ以外の場合はステップＳ２１２へ進む。
ステップＳ２０６では、連結ラン情報統合モジュール１６０が、交わるのは１ヶ所か否かを判断する。１ヶ所の場合はステップＳ２０８へ進み、複数の場合はステップＳ２１０へ進む。１ヶ所の場合とは、対象としているランと交わっている関係にある直前ラインに存在する連結ランが１つであることを意味し、複数であるとは、対象としているランと交わっている関係にある直前ラインに存在する連結ランが複数あることを意味する。
【００２９】
ステップＳ２０８では、連結ラン情報統合モジュール１６０が、連結ラン情報にラン配列を追加して変更する。つまり、直前ラインに存在する連結ランの連結ラン情報に対象としているラン配列を追加して、その連結ラン情報を変更する。
ステップＳ２１０では、連結ラン情報統合モジュール１６０が、複数の連結ラン情報を統合し、ラン配列を追加して変更する。つまり、直前ラインに存在する複数の連結ランの連結ラン情報を統合して、その統合した連結ラン情報に対象としているラン配列を追加して、その統合した連結ラン情報を変更する。
ステップＳ２１２では、連結ラン情報生成モジュール１３０が、新規の連結ラン情報を生成する。つまり、直前ラインにはｘ座標で交わる連結ランが存在しないので、最初のランということになる。この後に直後のラインに交わるランが存在すれば（ステップＳ２０４でＹ）、そのラン配列を統合するための連結ラン情報となる。
【００３０】
ステップＳ２１４では、制御モジュール１８０が、対象としているライン内のランの最終か否かを判断する。最終のランの場合はステップＳ２１６へ進み、それ以外の場合はステップＳ２０４の処理へ戻る。
ステップＳ２１６では、制御モジュール１８０が、対象としている画像内のラインの最終か否かを判断する。最終のラインの場合は処理を終了し（ステップＳ２９９）、それ以外の場合はステップＳ２０２の処理へ戻る。
【００３１】
最終的には、図３の例に示した画像に対しては、図５の例に示すような連結ラン情報が生成される。つまり、図３の例に示すようなランが接触している１つの画像は、１つの連結ラン情報が生成されることになる。ここで、連結ラン情報のデータ構造は、外接矩形情報、ラン配列によって構成されているものである。図５の例の場合、連結ラン情報５００には、外接矩形情報５１０とラン配列５２０、ラン配列５３０、ラン配列５４０がある。外接矩形情報５１０は、ラン配列５２０、ラン配列５３０、ラン配列５４０に含まれているランを囲む矩形に関する情報であり、具体的には、座標左、座標右、座標上、座標下、幅、高さの情報がある。座標左とは矩形の最も左のｘ座標であり、座標右とは矩形の最も右のｘ座標であり、座標上とは矩形の最も上のｙ座標であり、座標下とは矩形の最も下のｙ座標であり、幅とは矩形の幅（画素数）、高さとは矩形の高さ（画素数）である。
【００３２】
また、ステップＳ２１２の処理をステップＳ２０２の後でステップＳ２０４の前にしてもよい。なお、ステップＳ２１４から戻る先は、ステップＳ２０４のままである。また、ステップＳ２０４でＮの場合はステップＳ２１４へ進むことになる。そして、ステップＳ２０８、ステップＳ２１０の処理は、連結ラン情報同士を対象とした統合処理になる。
【００３３】
次に、図６から図１７を用いて、本実施の形態による処理例を説明する。
図６は、処理対象の画像例におけるｙ２ラインまでの例を示す説明図である。図７は、連結ラン情報記憶モジュール１４０に記憶されている連結ラン情報の例を示す説明図である。
ＲＬＥ符号化モジュール１２０が処理対象としているラインを図６の例のｙ２ラインとする。この場合、ラン配列として、図７の例に示すラン配列７１２、ラン配列７２２を作成する。つまり、黒画素のランが存在するｘ座標の先頭と最後尾の組み合わせである（ｘ２，ｘ４）、（ｘ７，ｘ１０）をｙ２に対応させて生成する。そして、直前ラインであるｙ１ラインには黒画素のランが存在しないので（ステップＳ２０４でＮ）、連結ラン情報生成モジュール１３０が連結ラン情報７１０、連結ラン情報７２０を生成する。図７の例では、連結ラン情報７１０、連結ラン情報７２０内に外接矩形情報を表示していないが、それぞれ（座標左：ｘ２、座標右：ｘ４、座標上：ｙ２、座標下：ｙ２、幅：３、高さ：１）、（座標左：ｘ７、座標右：ｘ１０、座標上：ｙ２、座標下：ｙ２、幅：４、高さ：１）を有している。そして、連結ラン情報生成モジュール１３０が連結ラン情報記憶モジュール１４０に連結ラン情報７１０、７２０を記憶させる。
【００３４】
次のｙ３ラインの処理について説明する。図８は、処理対象の画像例におけるｙ３ラインまでの例を示す説明図である。図９は、連結ラン情報記憶モジュール１４０に記憶されている連結ラン情報の例を示す説明図である。ＲＬＥ符号化モジュール１２０が処理対象としているラインは、ｙ３ラインであり、この場合、ラン配列として、図９の例に示すラン配列７１４、ラン配列７２４、ラン配列７３２を作成する。つまり、黒画素のランが存在するｘ座標の先頭と最後尾の組み合わせである（ｘ３，ｘ５）、（ｘ８，ｘ１０）、（ｘ１３，ｘ１４）をｙ３に対応させて生成する。
そして、ラン配列７１４を対象ランとした処理を行う。直前ラインであるｙ２ラインにラン配列７１４に対してｘ座標で交わる黒画素のラン（ラン配列７１２）が存在し（ステップＳ２０４でＹ）、その交わりは１ヶ所であるので（ステップＳ２０６でＹ）、連結ラン情報統合モジュール１６０が図９の例に示す連結ラン情報７１０を変更する。つまり、図７の例に示した連結ラン情報７１０にラン配列７１４を統合した連結ラン情報７１０を生成する。図９の例では、連結ラン情報７１０内に外接矩形情報を表示していないが、（座標左：ｘ２、座標右：ｘ５、座標上：ｙ２、座標下：ｙ３、幅：４、高さ：２）となる。
【００３５】
次に、ラン配列７２４を対象ランとした処理を行う。直前ラインであるｙ２ラインにラン配列７２４に対してｘ座標で交わる黒画素のラン（ラン配列７２２）が存在し（ステップＳ２０４でＹ）、その交わりは１ヶ所であるので（ステップＳ２０６でＹ）、連結ラン情報統合モジュール１６０が図９の例に示す連結ラン情報７２０を変更する。つまり、図７の例に示した連結ラン情報７２０にラン配列７２４を統合した連結ラン情報７２０を生成する。図９の例では、連結ラン情報７２０内に外接矩形情報を表示していないが、（座標左：ｘ７、座標右：ｘ１０、座標上：ｙ２、座標下：ｙ３、幅：４、高さ：２）となる。
次に、ラン配列７３２を対象ランとした処理を行う。直前ラインであるｙ２ラインにはラン配列７３２と交わる黒画素のランが存在しないので（ステップＳ２０４でＮ）、連結ラン情報生成モジュール１３０が連結ラン情報７３０を生成する。図９の例では、連結ラン情報７３０内に外接矩形情報を表示していないが、（座標左：ｘ１３、座標右：ｘ１４、座標上：ｙ３、座標下：ｙ３、幅：２、高さ：１）を有している。
そして、連結ラン情報生成モジュール１３０が連結ラン情報記憶モジュール１４０に連結ラン情報７１０、７２０、７３０を記憶させる。
【００３６】
次のｙ４ラインの処理について説明する。図１０は、処理対象の画像例におけるｙ４ラインまでの例を示す説明図である。ここでは、ｙ４ラインに存在している黒画素のランを斜線で表示している。図１１は、連結ラン情報統合モジュール１６０が処理の対象とする連結ラン情報の例を示す説明図である。図１２は、処理対象の画像例におけるｙ４ラインまでの例を示す説明図である。ここでは、統合対象のランを斜線で表示している。図１３は、統合対象である２つの連結ラン情報の例を示す説明図である。図１４は、２つの連結ラン情報を統合した後の連結ラン情報の例を示す説明図である。図１５は、接触している連結ラン情報を統合した後の連結ラン情報の例を示す説明図である。
【００３７】
ＲＬＥ符号化モジュール１２０が処理対象としているラインは、ｙ４ラインであり、この場合、ラン配列として、黒画素のランが存在するｘ座標の先頭と最後尾の組み合わせである（ｘ５，ｘ８）をｙ４に対応させて生成する。
そして、ｙ４ライン内のランを対象ランとした処理を行う。直前ラインであるｙ３ラインにはｘ座標で交わる黒画素のラン（ラン配列７１４、ラン配列７２４）が存在し（ステップＳ２０４でＹ）、その交わりは２ヶ所であるので（ステップＳ２０６で複数）、連結ラン情報統合モジュール１６０が図１１の例に示す連結ラン情報７１０、連結ラン情報７２０を統合する。つまり、連結ラン情報７１０は図１２の例に示した左側にある斜線部分の統合されたランを示しており、連結ラン情報７２０は図１２の例に示した右側にある斜線部分の統合されたランを示している。図１３の例に示すように、連結ラン情報７１０は、外接矩形情報７１１、ラン配列７１２、ラン配列７１４を含んでおり、連結ラン情報７２０は、外接矩形情報７２１、ラン配列７２２、ラン配列７２４を含んでいる。
【００３８】
そして、連結ラン情報統合モジュール１６０は、図１３の例に示した連結ラン情報７１０、連結ラン情報７２０を統合する（ステップＳ２１０）。その結果が図１４の例に示す連結ラン情報７１０である。つまり、統合された後の外接矩形情報７１１は、統合前の図１３の例に示した外接矩形情報７１１と外接矩形情報７２１から生成されたものである。具体的には、座標左はより左側にあるｘ２が採用され、座標右はより右側にあるｘ１０が採用され、座標上はより上側にあるｙ２が採用され、座標下はより下側にあるｙ３が採用され、幅は座標左と座標右間の距離が計算され、高さは座標上と座標下間の距離が計算される。そして、ラン配列として、図１３の例に示したラン配列７１２（ｘ２，ｘ４）にラン配列７２２（ｘ７，ｘ１０）を付加して、図１４の例に示すラン配列７１２（（ｘ２，ｘ４）、（ｘ７，ｘ１０））を生成する。そして、図１３の例に示したラン配列７１４（ｘ３，ｘ５）にラン配列７２４（ｘ８，ｘ１０）を付加して図１４の例に示すラン配列７１４（（ｘ３，ｘ５）、（ｘ８，ｘ１０））を生成する。
【００３９】
次に、連結ラン情報統合モジュール１６０は、図１４の例に示した連結ラン情報７１０にｙ４ラインのライン配列（ｘ５，ｘ８）を付加する（ステップＳ２１０）。その結果が図１５の例に示す連結ラン情報７１０である。つまり、ライン配列が統合された後の外接矩形情報７１１は、統合前の図１４の例に示した外接矩形情報７１１とｙ４ラインのライン配列（ｘ５，ｘ８）から生成されたものである。具体的には、座標左はより左側にあるｘ２が採用され、座標右はより右側にあるｘ１０が採用され、座標上はより上側にあるｙ２が採用され、座標下はより下側にあるｙ４が採用され、幅は座標左と座標右間の距離が計算され、高さは座標上と座標下間の距離が計算される。そして、ラン配列として、図１５の例に示すようにラン配列７１２、ラン配列７１４にラン配列７１６（ｘ５，ｘ８）を付加する。
【００４０】
図１６は、処理対象の画像例におけるｙ５ラインまでの例を示す説明図である。図１７は、連結ラン情報記憶モジュール１４０に記憶されている連結ラン情報の例を示す説明図である。
その後、図１６の例に示すようにｙ５ラインが処理されて、図１７の例に示すような連結ラン情報７１０、連結ラン情報７３０、連結ラン情報７４０が生成される。つまり、連結ラン情報７１０は図１６の例に示す左側にある互いに接触しているラン群を示しており、連結ラン情報７３０は右上側にあるランを示しており、連結ラン情報７４０は右下側にあるランを示している。これらは、連結ラン情報統合モジュール１６０が連結ラン情報記憶モジュール１４０に記憶させる。
【００４１】
このように画像を連結ラン情報に変換した後は、連結ラン情報編集モジュール１５０が連結ラン情報記憶モジュール１４０に記憶されている連結ラン情報を用いて画像を生成するようにしてもよい。例えば、図１７の例に示した連結ラン情報７１０、７３０、７４０（それぞれのラン配列（ラン配列７１２等））を用いて画像を生成すると、図１６の例に示した画像となる。
また、連結ラン情報編集モジュール１５０は、連結ラン情報を用いて画像処理を行うこともできる。例えば、予め定められた面積よりも小さい外接矩形内にあるラン群はノイズであるとして除去する画像処理を、連結ラン情報を用いて行える。具体的には、連結ラン情報内の外接矩形情報内の幅と高さを用いて、その矩形の面積を計算して、予め定められた面積よりも小さい場合はその連結ラン情報を消去すればよい。その結果、図１８の例に示すように、連結ラン情報７３０、７４０が消去されて、連結ラン情報７１０だけが残ることになり、その連結ラン情報７１０だけを用いて画像を生成すると、図１９の例に示すような画像が生成される。つまり、図１６の例に示した画像と比較すると、右側にあった２つのランが除去されている。
その他にも、連結ラン情報を用いた画像処理を行い得る。例えば、点線だけを削除する画像処理として、幅、高さの比率が予め定められた範囲内にあるラン群を削除するようにしてもよい。
【００４２】
図２０から図２３を用いて、隣接するラインのランが接触している場合（４種類）について説明する。これらは、対象ラインはｙ３ラインであり、直前ラインはｙ２ラインの場合である。ランが接触しているか否かの判断は、連結ラン情報統合モジュール１６０が行う処理（ステップＳ２０４）である。また、ｙ３ライン内のランは（ｘｃ、ｘｄ）であり、ｙ２ライン内のランは（ｘａ，ｘｂ）である。
【００４３】
図２０に示す例は、対象ランに接触しているランがその対象ランの全体を覆っている場合である。これは、
ｘａ≦ｘｃ≦ｘｂ  かつ  ｘａ≦ｘｄ≦ｘｂ
の関係を有している場合である。なお、ｘｃ≦ｘｄであることから、
ｘａ≦ｘｃ  かつ  ｘｄ≦ｘｂ
の関係を有していればよい。
【００４４】
図２１に示す例は、対象ランに接触しているランがその対象ランの左側を覆っている場合である。これは、
ｘａ≦ｘｃ≦ｘｂ
の関係を有していればよい。
【００４５】
図２２に示す例は、対象ランに接触しているランがその対象ランの右側を覆っている場合である。これは、
ｘａ≦ｘｄ≦ｘｂ
の関係を有していればよい。
【００４６】
図２３に示す例は、対象ランに接触しているランがその対象ランの中央部分を覆っている場合である。これは、
ｘｃ≦ｘａ≦ｘｄ  かつ  ｘｃ≦ｘｂ≦ｘｄ
の関係を有している場合である。なお、ｘａ≦ｘｂであることから、
ｘｃ≦ｘａ  かつ  ｘｂ≦ｘｄ
の関係を有していればよい。
なお、対象ランと複数のランが接触している場合とは、図２０から図２３のいずれかの組み合わせである。
【００４７】
このように、ランが接触しているか否かの判断はラン情報を用いて行い得る。また、画像を用いて、ランが接触しているか否かを判断するようにしてもよい。具体的には、対象ランの各画素の直上の画素は黒画素か否かを判断するようにして行う。そして、直上の画素が黒画素であれば、その黒画素を含むラン情報を連結ラン情報記憶モジュール１４０内から抽出すればよい。複数のラン情報が抽出された場合は、複数のランと接触していることを示している。
【００４８】
図２４を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図２４に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２４１７と、プリンタなどのデータ出力部２４１８を備えたハードウェア構成例を示している。
【００４９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２４０１は、前述の実施の形態において説明した各種のモジュール、すなわち、ＲＬＥ符号化モジュール１２０、連結ラン情報生成モジュール１３０、連結ラン情報編集モジュール１５０、連結ラン情報統合モジュール１６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４０２は、ＣＰＵ２４０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４０３は、ＣＰＵ２４０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２４０４により相互に接続されている。
【００５１】
ホストバス２４０４は、ブリッジ２４０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２４０６に接続されている。
【００５２】
キーボード２４０８、マウス等のポインティングデバイス２４０９は、操作者により操作される入力デバイスである。ディスプレイ２４１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００５３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２４１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２４０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、処理対象の画像１００、ラン配列、処理結果の連結ラン情報などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５４】
ドライブ２４１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２４１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２４０７、外部バス２４０６、ブリッジ２４０５、及びホストバス２４０４を介して接続されているＲＡＭ２４０３に供給する。リムーバブル記録媒体２４１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５５】
接続ポート２４１４は、外部接続機器２４１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２４１４は、インタフェース２４０７、及び外部バス２４０６、ブリッジ２４０５、ホストバス２４０４等を介してＣＰＵ２４０１等に接続されている。通信部２４１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部２４１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２４１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５６】
なお、図２４に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２４に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２４に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５７】
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の実施の形態の説明において、予め定められた値等との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
また、前述の実施の形態では、画像の左上を原点とし、右側へ値が大きくなるｘ座標と下側へ値が大きくなるｙ座標の座標系を用いたが、他の座標系（左下を原点とする座標系等）を用いてもよい。その場合、例えば、ランの接触の判断処理等はその座標系に合わせた処理とする。
【００５８】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５９】
１１０…画像受付モジュール
１２０…ＲＬＥ符号化モジュール
１３０…連結ラン情報生成モジュール
１４０…連結ラン情報記憶モジュール
１５０…連結ラン情報編集モジュール
１６０…連結ラン情報統合モジュール
１７０…出力モジュール
１８０…制御モジュール
【図１】
2011145847.tif 000003
【図２】
2011145847.tif 000004
【図３】
2011145847.tif 000005
【図４】
2011145847.tif 000006
【図５】
2011145847.tif 000007
【図６】
2011145847.tif 000008
【図７】
2011145847.tif 000009
【図８】
2011145847.tif 000010
【図９】
2011145847.tif 000011
【図１０】
2011145847.tif 000012
【図１１】
2011145847.tif 000013
【図１２】
2011145847.tif 000014
【図１３】
2011145847.tif 000015
【図１４】
2011145847.tif 000016
【図１５】
2011145847.tif 000017
【図１６】
2011145847.tif 000018
【図１７】
2011145847.tif 000019
【図１８】
2011145847.tif 000020
【図１９】
2011145847.tif 000021
【図２０】
2011145847.tif 000022
【図２１】
2011145847.tif 000023
【図２２】
2011145847.tif 000024
【図２３】
2011145847.tif 000025
【図２４】
2011145847.tif 000026