以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の一つにおけるMFPの外観を示す斜視図である。図1を参照して、MFP100は、画像形成装置の一例であり、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
原稿読取部130は、紙媒体の画像が形成された原稿面を読み取ることによって、紙媒体の原稿面に形成された画像を読み取る。また、原稿読取部130は、電子表示デバイスである電子ペーパーが原稿読取位置に載置される場合、電子ペーパーの表示面(原稿面)を読み取ることによって、電子ペーパーによって表示面に表示された画像を読み取る。電子ペーパーは電子表示デバイスの一例であり、外部から入射する光を反射することにより画像を表示するデバイスであれば、電子ペーパーとは別のデバイスであってもよい。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成する。
図2は、MFPのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路110を含む。メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するか、または、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部116は、原稿読取部130によって読み取られたデータ、またはHDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、MFP100をネットワークに接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信I/F部112が接続されるネットワークは、例えば、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワークがインターネットに接続されている場合には、MFP100は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
外部記憶装置117は、CPU111により制御され、CD−ROM(Compact Disk Read Only Memory)118、または半導体メモリーが装着される。CPU111は、外部記憶装置117を介してCD−ROM118または半導体メモリーにアクセス可能である。CPU111は、外部記憶装置117に装表されたCD−ROM118または半導体メモリーに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、通信I/F部112に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically EPROM)などの半導体メモリーであってもよい。
操作パネル160は、MFP100の上方に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、複数のキーからなるハードキー部167と、を含む。ハードキー部167が含む複数のキーそれぞれは、接点スイッチを含み、CPU111に接続される。タッチパネル165は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をCPU111に出力する。
図3は、MFPが備えるCPUの機能の一例を示すブロック図である。図3に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶されたデータ変換プログラムを実行することにより、CPU111により実現される機能である。図3を参照して、CPU111は、原稿読取制御部11と、領域抽出部13と、変換部15と、変換後データ生成部17と、を含む。
原稿読取制御部11は、原稿読取部130を制御して、原稿読取部130に読取対象の媒体の原稿面に形成された画像を読み取らせ、原稿読取部130が出力する画像データを取得する。原稿読取制御部11は、原稿読取部130から入力された画像データを、領域抽出部13に出力する。
領域抽出部13は、原稿読取制御部11が出力する画像データが入力される。領域抽出部13は、入力された画像データから複数の属性それぞれの領域を抽出する。複数の属性は、文字が表わされた文字属性と、グラフまたは描画作成ソフトウエアなどで作成された線画が表された線画属性と、デジタルカメラなどで撮影して得られた写真が表された写真属性とを含む。領域抽出部13は、画像データから文字属性の文字領域と、線画属性の線画領域と、写真属性の写真領域とを抽出する。画像データから文字属性、線画属性および写真属性それぞれの領域を抽出する技術は、周知な技術を用いることができる。
例えば、画像データを複数のブロックに分割し、複数のブロックそれぞれの属性を判定する。ブロックサイズは、任意のサイズ(m×n:m,nは自然数)に定めることができるが、例えば縦8画素、横8画素のサイズとする。ブロック毎に、ブロックに含まれる複数の画像の値の最大値と最小値との差(MAX−MIN値)および平均値等の特徴量を算出し、それらの特徴量に基づき、文字属性、線画属性または写真属性を判定する。そして、同じ属性のブロックを含む矩形の領域を、その属性の領域として抽出する。具体的には、文字属性の複数のブロックを囲む矩形の領域を文字領域として抽出し、写真属性の複数のブロックを囲む矩形の領域を写真領域として抽出し、線画属性の複数のブロックを囲む矩形の領域を線画領域として抽出する。
領域抽出部13は、画像データ中で文字領域のみを含む文字領域データ、画像データ中で線画領域のみを含む線画領域データまたは画像データ中で写真領域のみを含む写真領域データを変換部15に出力する。領域抽出部13は、1つの画像データから複数の文字領域が抽出される場合、画像データ中で複数の文字領域のみからなる文字領域データを変換部15に出力する。領域抽出部13は、1つの画像データから複数の線画領域が抽出される場合、画像データ中で複数の線画領域のみからなる線画領域データを変換部15に出力する。領域抽出部13は、画像データから複数の写真領域が抽出される場合、画像データ中で複数の写真領域のみからなる写真領域データを変換部15に出力する。文字領域データは、画像データから線画領域および写真領域を除いた部分であり、線画領域データは、画像データから文字領域および写真領域を除いた部分であり、写真領域データは、画像データから文字領域および線画領域を除いた部分である。
変換部15は、文字領域データを処理対象とする文字認識部21と、写真領域データを処理対象とする画像処理部23と、線画領域データを処理対象とする線画処理部25と、を含む。文字認識部21は、領域抽出部13から入力される文字領域データを文字認識処理することにより、文字領域の画像をテキストデータに変換する。テキストデータは、画像データ中の文字の位置を示す位置情報、文字のフォント、サイズを含む。文字認識部21は、文字領域を変換したテキストデータを、文字属性に対応する属性対応データとして変換後データ生成部17に出力する。
画像処理部23は、領域抽出部13から入力される写真領域データを画像処理し、画像処理後の写真領域データを、写真属性に対応する属性対応データとして変換後データ生成部17に出力する。画像処理部23が実行する画像処理は、特に限定するものではないが、例えば、エッジを強調するエッジ強調処理、明度の変化をなだらかにするスムージング処理、色を変換する色変換処理、赤目を補正する赤目補正処理等を含む。
線画処理部25の詳細は、後述するが、領域抽出部13から入力される線画領域データを線画属性に対応する属性対応データに変換し、線画属性に対応する属性対応データを変換後データ生成部17に出力する。
変換後データ生成部17は、変換部15から入力される文字属性に対応する属性対応データ、写真属性に対応する属性対応データ、および線画属性に対応する属性対応データの少なくとも1つが入力される。変換後データ生成部17は、変換部15から入力される文字属性に対応する属性対応データ、写真属性に対応する属性対応データ、および線画属性に対応する属性対応データの少なくとも1つを1つにまとめた変換後データを生成し、変換後データを、出力する。変換後データ生成部17が変換後データを出力する先は、MFP100を操作するユーザーが操作部163に入力する操作によって定まる。例えば、出力先にHDD115が指定される場合には、変換後データ生成部17は、変換後データをHDD115に記憶する。また、出力先に電子メールアドレスが指定される場合には、変換後データ生成部17は、指定された電子メールアドレスを宛先に設定し、変換後データを添付した電子メールを生成し、生成した電子メールを、通信I/F部112を介して電子メールサーバーに送信する。この場合、電子メールサーバーのIPアドレスは、予めHDD115に記憶しておけばよい。さらに、出力先にネットワーク接続されたファイルサーバー等のコンピューターの記憶領域が指定される場合には、変換後データ生成部17は、例えば、FTP(File Transfer Protocol)のプロトコルを用いて、変換後データを指定されたコンピューターに送信し、そのコンピューターに変換後データを指定された記憶領域に記憶させる。
図4は、線画処理部の詳細な機能の一例を示すブロック図である。図4を参照して、線画処理部25は、エッジ抽出部31と、フォーマット指定受付部33と、分析部35と、種類決定部37と、オブジェクト情報生成部39と、線画属性対応データ生成部41と、を含む。
エッジ抽出部31は、領域抽出部13から入力される線画領域画像データからエッジ画像を生成する。エッジ画像は、画像データにおいて、画素の値が、周辺の画素の値と所定の差のある画素をエッジ画素として含む。エッジ画像は、エッジ画素の画素値を「1」とし、エッジ画素以外の画素の画素値を「0」とするデータである。エッジ画像を生成する技術は、周知の技術を用いることができる。例えば微分フィルタを用いてフィルタ処理することにより、エッジ画像を生成する。エッジ抽出部31は、生成されたエッジ画像中からエッジを抽出する。エッジは、隣接する複数のエッジ画素の集合である。エッジは、直線のエッジ、多角形のエッジ、円形のエッジ、曲線のエッジ、自由曲線のエッジを含む。
エッジ抽出部31は、抽出されたエッジに対応するエッジ情報を、種類決定部37およびオブジェクト情報生成部39に出力する。エッジ抽出部31は、複数のエッジを抽出する場合、抽出された複数のエッジのすべてにそれぞれ対応するエッジ情報を種類決定部37よびオブジェクト情報生成部39に出力する。エッジ情報は、エッジ画像中のエッジの位置を示す情報を含む。
フォーマット指定受付部33は、ユーザーが指定するフォーマットを受け付ける。具体的には、フォーマット指定受付部33は、表示部161にフォーマット指定受付画面を表示し、ユーザーが操作部163に入力するフォーマットの指定を受け付ける。フォーマット指定受付部33は、受け付けられたフォーマットを分析部35に出力する。フォーマット指定受付画面は、ユーザーが原稿に形成された画像を電子データに変換する処理をMFP100に実行させる際に表示される画面であって、電子データのフォーマットを受け付けるための画面である。
電子データのフォーマットは、ユーザーが電子データを編集するために使用するアプリケーションプログラムによって生成されるデータのフォーマットである。アプリケーションプログラムは、例えば、文書を編集するためのアプリケーションプログラム、表を計算するためのアプリケーションプログラム、グラフや線画を作成するためのアプリケーションプログラム、プレゼンテーション用の資料を作成するアプリケーションプログラム、データベースを作成するためのアプリケーションプログラム、写真等の画像を編集するためのアプリケーションプログラムを含む。なお、フォーマットの指定を受け付けるのに代えて、アプリケーションプログラムの指定を受け付けるようにしてもよい。アプリケーションプログラムによって、そのアプリケーションプログラムに対応するフォーマットが定まるからである。
分析部35は、フォーマット指定受付部33からユーザーにより指定されたフォーマットが入力される。分析部35は、フォーマット指定受付部33から入力されるフォーマットのデータを分析し、ユーザーが線画を含むアプリケーションデータを作成する際に、線画の描画方法の傾向を分析する。線画の描画方法は、図形を描画する第1の方法と、線を描画する第2の方法と、がある。また、線画の描画方法は、図形と線とを重畳させる第3の方法と、図形と線とを重畳させない第4の方法とがある。
ここで、図形とは、所定の形状をした領域を示す。ユーザーが、第1の方法で図形を描画する際には、ユーザーは、種類が図形のオブジェクトを指定する。種類が図形のオブジェクトは、オブジェクト情報で特定され、オブジェクト情報は、画像データ中の領域の位置と、領域と、プロパティ情報とを含む。領域は、領域の外周の形状を含む。プロパティ情報は、領域に関する情報であり、領域を囲む外周の線を特定する情報と、領域の内部に関する情報と、を含む。領域を囲む外周の線を特定する情報は、線の有無と、線の種類と、線の太さと、線の色とを含む。領域の内部に関する情報は、領域の色と、他の領域と重なる場合の優先度と、を含む。線とは、線分、曲線および自由曲線を含む。ユーザーが、第2の方法で線を描画する際には、ユーザーは種類が線のオブジェクトを指定する。種類が線のオブジェクトは、オブジェクト情報で特定され、オブジェクト情報は、画像データ中の線の位置と、線の形状と、プロパティ情報とを含む。プロパティ情報は、線に関する情報であり、線の種類と、線の太さと、線の色とを含む。
このため、ユーザーは、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる場合がある。第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる第1の例を説明する。図5(A)は、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる線画の第1の例を示す図である。図5(B)は、第1の例において第1の方法を用いて線画を描画する場合のオブジェクトを示す図である。図5(C)は、第1の例において第2の方法を用いて線画を描画する場合のオブジェクトを示す図である。
図5(A)を参照して、線画300は、長方形の線画301,302,303と、線304,305,306とを含む。長方形の線画301と長方形の線画302とは、線304で接続されており、長方形302と長方形の線画303とは、線305で接続されており、長方形の線画301と長方形の線画303とは、線306で接続されている。
図5(A)に示す線画300を描画する場合、長方形の線画301,302,303は、内部が色を有するので、図5(B)および図5(C)にそれぞれ示すように種類が図形のオブジェクト301A,302A,303Aとして描画するのが好ましい。一方、線304,305,306は、第1の方法を用いて描画する場合は、図5(B)に示すように、線304,305,306を一部に含む種類が図形のオブジェクト307Aとして描画することができる。この場合、種類が図形のオブジェクト307Aの上に種類が図形のオブジェクト301A,302A,303Aが重畳して配置される。
また、線304,305,306は、第2の方法を用いて描画する場合は、図5(C)に示すように、線304,305,306それぞれを種類が線のオブジェクト304A,305A,306Aとして描画することができる。この場合、種類が線のオブジェクト304Aは、種類が図形のオブジェクト301A,302Aと接続され、種類が線のオブジェクト305Aは種類が図形のオブジェクト301A,303Aと接続され、種類が線のオブジェクト306Aは種類が図形のオブジェクト301A,303Aと接続される。
次に、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる第2の例を説明する。図6(A)は、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる線画の第2の例を示す図である。図6(B)は、第2の例において第1の方法を用いて線画を描画する場合のオブジェクトを示す図である。図6(C)は、第2の例において第2の方法を用いて線画を描画する場合のオブジェクトを示す図である。
図6(A)を参照して、線画310は、長方形の線画311と、線312,313,314とを含む。長方形の線画311は、線312,314と接続されており、線312,314は線313で接続されている。図6(A)に示す線画310を描画する場合、長方形の線画311は、内部が色を有するので、図6(B)および図6(C)にそれぞれ示すように種類が図形のオブジェクト311Aとして描画するのが好ましい。一方、線312,313,314は、第1の方法を用いて描画する場合は、図6(B)に示すように、線312,313,314を一部に含む種類が図形のオブジェクト307Aとして描画することができる。この場合、種類が図形のオブジェクト311Aの右側に種類が図形のオブジェクト317Aが隣接して配置される。
また、線312,313,314は、第2の方法を用いて描画する場合は、図6(C)に示すように、線312,313,314それぞれを種類が線のオブジェクト312A,313A,314Aとして描画することができる。この場合、種類が線のオブジェクト312Aは、その一端が種類が図形のオブジェクト311Aと接続され、他端が種類が線のオブジェクト313Bと接続され、種類が線のオブジェクト314Aは、その一端が種類が図形のオブジェクト311Aと接続され、他端が種類が線のオブジェクト313Aと接続され、種類が線のオブジェクト313Aは、その一端が種類が線のオブジェクト312Aと接続され、他端が種類が線のオブジェクト314Aと接続される。
次に、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる第3の例を説明する。図7(A)は、第1の方法と第2の方法とのいずれを用いても同じ形状の線画を描画することができる線画の第3の例を示す図である。図7(B)は、第3の例において第1の方法を用いて線画を描画する場合のオブジェクトを示す図である。図7(C)は、第3の例において第2の方法を用いて線画を描画する場合のオブジェクトを示す図である。
図7(A)を参照して、線画320は、長方形の線画321を含む。図7(A)に示す線画320を描画する場合、長方形の線画320は、第1の方法を用いて描画する場合は、図7(B)に示すように、種類が図形のオブジェクト321Aとして描画することができる。また、長方形の線画321は、第2の方法を用いて描画する場合は、図7(C)に示すように、種類が線のオブジェクト323A,323B,323C,323Dとして描画することができる。
また、ユーザーは、第3の方法と第4の方法とのいずれを用いても同じ形状の線画を描画することができる場合がある。第3の方法と第4の方法とのいずれを用いても同じ形状の線画を描画することができる例を説明する。図8(A)は、第3の方法と第4の方法とのいずれを用いても同じ形状の線画を描画することができる線画の一例を示す図である。図8(B)は、第3の方法を用いて線画を描画する場合のオブジェクトを示す図である。図8(C)は、第4の方法を用いて線画を描画する場合のオブジェクトを示す図である。
図8(A)を参照して、線画330は、長方形の線画331,332,333と、線334,335とを含む。長方形の線画331と長方形の線画332とは、線334で接続されており、長方形の線画332と長方形の線画333とは、線335で接続されている。
図8(A)に示す線画320を描画する場合、長方形の線画301,302,303は、内部が色を有するので、図8(B)および図8(C)にそれぞれ示すように種類が図形のオブジェクト331A,332A,333Aとして描画するのが好ましい。一方、線334,335は、第3の方法を用いて描画する場合は、図8(B)に示すように、線334,335を一部に含む種類が線のオブジェクト337Aとして描画することができる。この場合、種類が線のオブジェクト337Aの上に種類が図形のオブジェクト331A,332A,333Aが重畳して配置される。
また、線334,335は、第4の方法を用いて描画する場合は、図8(C)に示すように、線334,335それぞれを種類が線のオブジェクト334A,335Aとして描画することができる。この場合、種類が線のオブジェクト334Aは、種類が図形のオブジェクト331A,332Aと接続され、種類が線のオブジェクト335Aは種類が図形のオブジェクト332A,334Aと接続される。
図4に戻って、分析部35は、ユーザーにより生成されたアプリケーションデータを分析することにより、ユーザーが第1の方法と第2の方法とのいずれの方法、または、第3の方法と第4の方法のいずれを用いる傾向にあるかを決定する。分析部35は、決定した傾向を種類決定部37に出力する。分析部35は、図形重ね傾向分析部43と、線重ね傾向分析部45と、図形接続傾向分析部47と、単独傾向分析部49と、を含む。
図形重ね傾向分析部43は、ユーザーにより生成されたアプリケーションデータに基づいて、ユーザーが、複数の図形を重ねて線画を描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるか否かを決定する。図形重ね傾向分析部43は、複数の図形を重ねて線画を描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるかを示す第1の傾向信号を種類決定部37に出力する。
図形重ね傾向分析部43は、ユーザーにより生成されたアプリケーションデータに基づいて、重なり率(D)と線図形接続率(F)とを算出する。重なり率(D)は、種類が図形の2以上のオブジェクトが重なる部分の数を、種類が図形のオブジェクトの総数で除算した値である。線図形接続率(F)は、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を、種類が線のオブジェクトの総数で除算した値である。図形重ね傾向分析部43は、重なり率(D)が所定のしきい値TD以上で、かつ、線図形接続率(F)が所定のしきい値TFより小さい場合、複数の図形を重ねて線画を描画することができる場合において第1の方法を用いる傾向にあると決定する。図形重ね傾向分析部43は、第1の方法を用いる傾向にあると決定する場合、第1の方法を用いる傾向にあることを示す第1の傾向信号を種類決定部37に出力する。
図形重ね傾向分析部43は、重なり率(D)が所定のしきい値TDより小さく、線図形接続率(F)が所定のしきい値TF以上の場合、複数の図形を重ねて線画を描画することができる場合において第2の方法を用いる傾向にあると決定する。図形重ね傾向分析部43は、第2の方法を用いる傾向にあると決定する場合、第2の方法を用いる傾向にあることを示す第1の傾向信号を種類決定部37に出力する。
図形重ね傾向分析部43は、重なり率(D)が所定のしきい値TD以上、かつ、線図形接続率(F)が所定のしきい値TF以上の場合、または、重なり率(D)が所定のしきい値TDより小さく、かつ、線図形接続率(F)が所定のしきい値TFより小さい場合、複数の図形を重ねて線画を描画することができる場合において傾向を判断することができないと判断する。図形重ね傾向分析部43は、傾向を判断することができないと判断する場合、傾向を判断することができないことを示す第1の傾向信号を種類決定部37に出力する。
図形重ね傾向分析部43は、ユーザーにより生成されたアプリケーションデータから種類が図形のオブジェクトを抽出し、種類が図形のオブジェクトの総数を算出するとともに、2以上のオブジェクトが重なる部分の総数を算出する。また、図形重ね傾向分析部43は、ユーザーにより生成されたアプリケーションデータから種類が線のオブジェクトを抽出し、種類が線のオブジェクトの総数を算出するとともに、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を算出する。図形重ね傾向分析部43は、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を、種類が線のオブジェクトの総数で除算することによって、線図形接続率(F)を算出する。
線重ね傾向分析部45は、ユーザーが、図形と線とを重ねて線画を描画することができる場合に、第3の方法と第4の方法とのいずれの方法を用いる傾向にあるか否かを決定する。第3の方法は、線に図形を重ねて線画を描画する方法であり、第4の方法は、線に図形を重ねて線画を描画しない方法である。線重ね傾向分析部45は、図形と線を重ねて線画を描画することができる場合に、第3の方法と第4の方法とのいずれの方法を用いる傾向にあるかを示す第2の傾向信号を種類決定部37に出力する。
線重ね傾向分析部45は、ユーザーにより生成されたアプリケーションデータに基づいて、第3の方法と第4の方法とのいずれの方法を用いる傾向にあるかを決定する。線重ね傾向分析部45は、ユーザーにより生成されたアプリケーションデータから種類が線のオブジェクトを抽出し、種類が線のオブジェクトの総数を算出するとともに、種類の線のオブジェクトが種類が図形のオブジェクトと重なる部分の総数を算出する。線重ね傾向分析部45は、種類が線のオブジェクトが種類が図形のオブジェクトと重なる部分の総数を、種類が線のオブジェクトの総数で除算することによって、線重なり率(E)を算出する。線重ね傾向分析部45は、線重なり率(E)が所定のしきい値TE以上の場合、線に図形を重畳させて線画を描画することができる場合において第3の方法を用いる傾向にあると決定する。線重ね傾向分析部45は、第3の方法を用いる傾向にあると決定する場合、第3の方法を用いる傾向にあることを示す第2の傾向信号を種類決定部37に出力する。線重ね傾向分析部45は、線重なり率(E)が所定のしきい値TEより小さい場合、図形と線とを重ねて描画することができる場合において第4の方法を用いる傾向にあると決定する。線重ね傾向分析部45は、第4の方法を用いる傾向にあると決定する場合、第4の方法を用いる傾向にあることを示す第2の傾向信号を種類決定部37に出力する。
図形接続傾向分析部47は、ユーザーにより生成されたアプリケーションデータに基づいて、ユーザーが、図形と図形を接続して描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるか否かを決定する。図形接続傾向分析部47は、図形と図形を接続して描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるかを示す第3の傾向信号を種類決定部37に出力する。
図形接続傾向分析部47は、ユーザーにより生成されたアプリケーションデータに基づいて、図形接続率(G)と線図形接続率(F)とを算出する。図形接触率(G)は、種類が図形の2以上のオブジェクトが接続される部分の数を、種類が図形のオブジェクトの総数で除算した値である。線図形接続率(F)は、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を、種類が線のオブジェクトの総数で除算した値である。
図形接続傾向分析部47は、ユーザーにより生成されたアプリケーションデータから種類が図形のオブジェクトを抽出し、種類が図形オブジェクトの総数を算出するとともに、2以上のオブジェクトが接続される部分の総数を算出する。図形接続傾向分析部47は、種類が図形の2以上のオブジェクトが接続される部分の総数を、種類が図形オブジェクトの総数で除算することにより、図形接続率(G)を算出する。また、図形接続傾向分析部47は、ユーザーにより生成されたアプリケーションデータから種類が線のオブジェクトを抽出し、種類が線のオブジェクトの総数を算出するとともに、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を算出する。図形接続傾向分析部47は、種類が線のオブジェクトが種類が図形のオブジェクトに接続される点の数を、種類が線のオブジェクトの総数で除算することによって、線図形接続率(F)を算出する。
図形接続傾向分析部47は、図形接続率(G)が所定のしきい値TG以上で、かつ、線図形接続率(F)が所定のしきい値TFより小さい場合、図形と図形を接続して描画することができる場合において第1の方法を用いる傾向にあると決定する。図形接続傾向分析部47は、第1の方法を用いる傾向にあると決定する場合、第1の方法を用いる傾向にあることを示す第3の傾向信号を種類決定部37に出力する。
図形接続傾向分析部47は、図形接続率(G)が所定のしきい値TGより小さく、かつ、線図形接続率(F)が所定のしきい値TF以上の場合、図形と図形を接続して描画することができる場合において第2の方法を用いる傾向にあると決定する。図形接続傾向分析部47は、第2の方法を用いる傾向にあると決定する場合、第2の方法を用いる傾向にあることを示す第3の傾向信号を種類決定部37に出力する。
図形接続傾向分析部47は、図形接続率(G)が所定のしきい値TG以上で、かつ、線図形接続率(F)が所定のしきい値TF以上の場合、または、図形接続率(G)が所定のしきい値TGより小さく、かつ、線図形接続率(F)が所定のしきい値TFより小さい場合、図形と図形を接続して描画することができる場合において傾向を判断することができないと判断する。図形接続傾向分析部47は、傾向を判断することができないと判断する場合、傾向を判断することができないことを示す第3の傾向信号を種類決定部37に出力する。
単独傾向分析部49は、ユーザーにより生成されたアプリケーションデータに基づいて、1以上の線で囲まれた領域を図形として描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるか傾向にあるか否かを決定する。単独傾向分析部49は、1以上の線で囲まれた領域を図形として描画することができる場合に、第1の方法と第2の方法とのいずれの方法を用いる傾向にあるかを示す第4の傾向信号を種類決定部37に出力する。
単独傾向分析部49は、ユーザーにより生成されたアプリケーションデータに基づいて、色塗り率(C)と線接続率(L)とを算出する。色塗り率は、種類が図形のオブジェクトの総数に対する、オブジェクトの領域の内部に色が定められているオブジェクトが占める割合である。線接続率(L)は、種類が線のオブジェクトの総数に対する種類が線のオブジェクトが種類が線の他のオブジェクトに接続される点の数が占める割合である。
単独傾向分析部49は、ユーザーにより生成されたアプリケーションデータから種類が図形のオブジェクトを抽出する。単独傾向分析部49は、種類が図形のオブジェクトの総数を算出するとともに、オブジェクトの領域の内部に色が定められているオブジェクトの総数を算出する。単独傾向分析部49は、オブジェクトのプロパティ情報の領域の内部に関する情報に基づいて、オブジェクトの領域の内部に色が定められているか否かを判断する。単独傾向分析部49は、種類が図形のオブジェクトの領域の内部に色が定められているオブジェクトの総数を、種類が図形のオブジェクトの総数で除算することにより、色塗り率(C)を算出する。
単独傾向分析部49は、ユーザーにより生成されたアプリケーションデータから種類が線のオブジェクトを抽出する。単独傾向分析部49は、種類が線のオブジェクトの総数を算出するとともに、種類が線の2以上のオブジェクトが接続される点の数を算出する。単独傾向分析部49は、種類が線の2以上のオブジェクトが接続される点の数を、種類が線のオブジェクトの総数で除算することにより、線接続率(L)を算出する。
単独傾向分析部49は、色塗り率(C)が所定のしきい値TC以上、かつ、線接続率(L)が所定のしきい値TLより小さい場合、1以上の線で囲まれた領域を図形として描画することができる場合において第1の方法を用いる傾向にあると決定する。単独傾向分析部49は、第1の方法を用いる傾向にあると決定する場合、第1の方法を用いる傾向にあることを示す第4の傾向信号を種類決定部37に出力する。
単独傾向分析部49は、色塗り率(C)が所定のしきい値TCより小さく、線接続率(L)が所定のしきい値TL以上の場合、1以上の線で囲まれた領域を図形として描画することができる場合において第2の方法を用いる傾向にあると決定する。単独傾向分析部49は、第2の方法を用いる傾向にあると決定する場合、第2の方法を用いる傾向にあることを示す第4の傾向信号を種類決定部37に出力する。
単独傾向分析部49は、色塗り率(C)が所定のしきい値TC以上、かつ、線接続率(L)が所定のしきい値TL以上の場合、または、色塗り率(C)が所定のしきい値TCより小さく、かつ、線接続率(L)が所定のしきい値TLより小さい場合、1以上の線で囲まれた領域を図形として描画することができる場合において傾向を判断することができないと判断する。単独傾向分析部49は、傾向を判断することができないと判断する場合、傾向を判断することができないことを示す第4の傾向信号を種類決定部37に出力する。
種類決定部37は、エッジ抽出部31からエッジ情報が入力され、分析部35から第1〜第4の傾向信号が入力される。種類決定部37は、エッジ情報で特定されるエッジの種類を線および図形のいずれかに決定する。種類決定部37は、閉領域決定部51と、傾向決定部53と、を含む。
閉領域決定部51は、エッジで囲まれた領域が所定の条件を満たす場合に、その領域を囲むエッジの種類を図形に決定する。以下、種類が図形のエッジを図形エッジという。所定の条件は、エッジで囲まれた領域の内外で色が異なる第1の条件と、エッジで囲まれた領域の内部に文字の属性の領域を含む第2の条件とを含む。閉領域決定部51は、種類を図形に決定したエッジのエッジ情報を、傾向決定部53およびオブジェクト情報生成部39に出力する。
オブジェクト情報生成部39は、閉領域決定部51から種類が図形のエッジのエッジ情報が入力される場合、エッジ情報で特定されるエッジで囲まれた領域をオブジェクトに設定し、当該オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。以下、図形の種類のプロパティ情報が付与されるオブジェクトを図形オブジェクトという。図形オブジェクトに対して生成されるオブジェクト情報は、エッジ情報で特定されるエッジで囲まれた領域の画像データ中の位置と、領域の外周の形状と、プロパティ情報との組を含む。オブジェクト情報生成部39は、画像データ中で図形オブジェクトの領域に基づいて、プロパティ情報を生成する。
傾向決定部53は、仮想線生成部61と、仮想領域判断部63と、第1線種決定部65と、仮想線判断部67と、第2線種決定部69と、接続領域判断部71と、第3線種決定部73と、単独領域決定部75と、を含む。
仮想線生成部61は、エッジ抽出部31から入力されるエッジ情報で特定される1以上のエッジのうち、閉領域決定部51により種類が図形に決定された図形エッジ以外の1以上のエッジを残エッジとして特定する。仮想線生成部61は、特定された1以上の残エッジであって、閉領域決定部51により図形の種類に決定された図形エッジで囲まれる領域、換言すれば図形オブジェクトと接続されるエッジを処理対象エッジとする。仮想線生成部61は、処理対象エッジを、それが図形オブジェクトと接続される部分を図形オブジェクト側に延長することによって仮想線を生成する。仮想線生成部61は、生成された仮想線を仮想領域判断部63および仮想線判断部67に出力する。仮想線生成部61は、複数の仮想線を生成する場合、複数の仮想線のすべてを仮想領域判断部63および仮想線判断部67に出力する。
処理対象エッジは、その両端それぞれが1つの図形オブジェクトに接続される場合と、その両端が2つの図形オブジェクトにそれぞれ接続される場合とがある。仮想線生成部61は、処理対象エッジの両端それぞれが1つの図形オブジェクトに接続される場合、処理対象エッジの両端をそれぞれ延長し、両端から延長されたエッジが図形オブジェクト内で交わる場合、両端から延長されたエッジをそれらが交わる点で結合した仮想線を生成する。この場合に生成される仮想線は、1つの処理対象エッジを含む。
仮想線生成部61は、処理対象エッジの両端が2つの図形オブジェクトにそれぞれ接続される場合、処理対象エッジの両端それぞれについて、それが接続される図形オブジェクト側に、当該図形オブイジェクト内で他の処理対処エッジを延長したエッジと交わるまで延長し、2つの処理対象エッジを、それらが交わる点で結合した仮想線を生成する。この場合に生成される仮想線は、2以上の処理対象エッジを含む。
仮想領域判断部63は、仮想線生成部61から1以上の仮想線が入力され、図形重ね傾向分析部43から第1の傾向信号が入力される。仮想領域判断部63は、第1の傾向信号が第1の方法を用いる傾向にあることを示す場合、仮想線生成部61から入力される1以上の仮想線のうち領域を囲む仮想線の種類を図形に決定し、第1の傾向信号が第2の方法を用いる傾向にあることを示す場合、仮想線生成部61から入力される1以上の仮想線のうち領域を囲む仮想線の種類を線に決定する。仮想領域判断部63は、種類が図形に決定された仮想線をオブジェクト情報生成部39に出力し、種類が線に決定された仮想線を第1線種決定部65に出力する。
第1線種決定部65は、仮想領域判断部63から入力される仮想線を生成する基になった2以上の残エッジに対して種類を線に決定し、種類を線に決定した2以上の残エッジそれぞれのエッジ情報を、オブジェクト情報生成部39に出力する。
オブジェクト情報生成部39は、仮想領域判断部63から種類が図形の仮想線が入力される場合、仮想線で囲まれた領域を図形オブジェクトに設定し、当該図形オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。オブジェクト情報生成部39は、画像データ中で図形オブジェクトの領域に基づいて、プロパティ情報を生成する。
また、オブジェクト情報生成部39は、第1線種決定部65からエッジ情報が入力される場合、エッジ情報で特定される残エッジを、当該残エッジを構成する1以上の線に分割し、分割された1以上の線それぞれを種類が線のオブジェクトに設定し、1以上のオブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。以下、線の種類に対応するプロパティ情報が付与されるオブジェクトを線オブジェクトという。線オブジェクトに対して生成されるオブジェクト情報は、線オブジェクトの画像データ中の線の位置と、線の形状と、プロパティ情報とを含む。オブジェクト情報生成部39は、画像データ中で線オブジェクトの部分に基づいて、プロパティ情報を生成する。
仮想線判断部67は、仮想線生成部61から1以上の仮想線が入力され、線重ね傾向分析部45から第2の傾向信号が入力される。仮想線判断部67は、第2の傾向信号が第3の方法を用いる傾向にあることを示す場合、仮想線生成部61から入力される1以上の仮想線のうち領域を囲まない1以上の仮想線の種類を線に決定し、第2の傾向信号が第4の方法を用いる傾向にあることを示す場合、仮想線生成部61から入力される1以上の仮想線のうち領域を囲まない1以上の仮想線の種類を線に決定しない。仮想領域判断部63は、種類が線に決定され仮想線をオブジェクト情報生成部39に出力し、種類が線に決定されなかった仮想線を第2線種決定部69に出力する。
第2線種決定部69は、仮想線判断部67から入力される仮想線を生成する基になった1以上の残エッジに対して種類を線に決定し、種類を線に決定した1以上の残エッジそれぞれのエッジ情報を、オブジェクト情報生成部39に出力する。
オブジェクト情報生成部39は、仮想線判断部67から種類が線の仮想線が入力される場合、仮想線を線オブジェクトに設定し、線オブジェクトに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。オブジェクト情報生成部39は、画像データ中で仮想線を生成する基になった2以上の残エッジの部分に基づいて、プロパティ情報を生成する。
また、オブジェクト情報生成部39は、第2線種決定部69からエッジ情報が入力される場合、エッジ情報で特定される残エッジを、当該残エッジを構成する1以上の線に分割し、分割された1以上の線それぞれを種類が線のオブジェクトに設定し、1以上のオブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。オブジェクト情報生成部39は、画像データ中で仮想線を生成する基になった2以上の残エッジの部分に基づいて、プロパティ情報を生成する。
接続領域判断部71は、図形接続傾向分析部47から第3の傾向信号が入力される。接続領域判断部71は、エッジ抽出部31から入力されるエッジ情報で特定される1以上のエッジのうち、図形オブジェクトに接続するエッジを接続エッジに決定する。そして、接続領域判断部71は、接続エッジおよびその接続エッジが接続する図形オブジェクトとが領域を囲む場合に、接続エッジの種類を判断する。接続領域判断部71は、第3の傾向信号が第1の方法を用いる傾向にあることを示す場合、接続エッジの種類を図形に決定し、第3の傾向信号が第2の方法を用いる傾向にあることを示す場合、接続エッジの種類を線に決定する。接続領域判断部71は、種類が図形に決定された接続エッジをオブジェクト情報生成部39に出力し、種類が線に決定された接続エッジのエッジ情報を、第3線種決定部73に出力する。
第3線種決定部73は、接続領域判断部71から入力されるエッジ情報で特定される接続エッジに対して種類を線に決定し、種類を線に決定した1以上の接続エッジそれぞれのエッジ情報を、オブジェクト情報生成部39に出力する。
オブジェクト情報生成部39は、接続領域判断部71から種類が図形の接続エッジが入力される場合、接続エッジおよびその接続エッジが接続する図形オブジェクトとが囲む領域を図形オブジェクトに設定し、図形オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。また、オブジェクト情報生成部39は、第3線種決定部73から種類が線の接続エッジのエッジ情報が入力される場合、接続エッジを、当該接続エッジを構成する1以上の線に分割し、分割された1以上の線それぞれを線オブジェクトに設定し、1以上の線オブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。
単独領域決定部75は、単独傾向分析部49から第4の傾向信号が入力される。単独領域決定部75は、エッジ抽出部31から入力されるエッジ情報で特定される1以上のエッジのうち、種類が図形に決定されたエッジ以外のエッジであって、領域を囲むエッジを単独エッジに決定する。そして、単独領域決定部75は、単独エッジの種類を判断する。単独領域決定部75は、第4の傾向信号が第1の方法を用いる傾向にあることを示す場合、単独エッジの種類を図形に決定し、第4の傾向信号が第2の方法を用いる傾向にあることを示す場合、単独エッジの種類を線に決定する。単独領域決定部75は、種類が図形に決定された単独エッジのエッジ情報をオブジェクト情報生成部39に出力し、種類が線に決定された単独エッジのエッジ情報を、オブジェクト情報生成部39に出力する。
オブジェクト情報生成部39は、単独領域決定部75から種類が図形の単独エッジのエッジ情報が入力される場合、単独エッジが囲む領域を図形オブジェクトに設定し、図形オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。また、オブジェクト情報生成部39は、単独領域決定部75から種類が線の単独エッジのエッジ情報が入力される場合、単独エッジを、当該単独エッジを構成する1以上の線に分割し、分割された1以上の線それぞれを線オブジェクトに設定し、1以上の線オブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。
オブジェクト情報生成部39は、エッジ抽出部31からエッジ情報が入力される。オブジェクト情報生成部39は、エッジ抽出部31から入力されるエッジ情報で特定される1以上のエッジのうち、種類の決定されていないエッジそれぞれを、当該エッジを構成する1以上の線に分割し、分割された1以上の線それぞれを線オブジェクトに設定し、1以上の線オブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。
オブジェクト情報生成部39は、生成されたオブジェクト情報を、線画属性対応データ生成部41に出力する。線画属性対応データ生成部41は、オブジェクト情報生成部39から入力される1以上のオブジェクト情報のすべてを含む線画属性対応データを生成し、生成された線画属性対応データを、変換後データ生成部17に出力する。
図9は、データ変換処理の流れの一例を示すフローチャートである。データ変換処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶されたデータ変換プログラムを実行することにより、CPU111により実行される処理である。図9を参照して、CPU111は、データ変換指示を受け付けたか否かを判断する(ステップS01)。ユーザーが操作部163に入力するデータ変換指示を受け付ける。例えば、表示部161にデータ変換指示受付画面を表示し、ユーザーがデータ変換指示受付画面に従って操作部163が入力するデータ変換指示を受け付ける。データ変換指示を受け付けるまで待機状態となり(ステップS01でNO)、データ変換指示を受け付けると(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、データフォーマットが指定されたか否かを判断する。ユーザーが操作部163にデータフォーマットを指定する操作を入力すれば、データフォーマットが指定されたと判断する。例えば、表示部161にデータフォーマット受付画面を表示し、ユーザーがデータフォーマット受付画面に従って操作部163にデータフォーマットを指定する操作を入力すれば、データフォーマットを指定する操作を受け付ける。データフォーマットが指定されるまで待機状態となり(ステップS21でNO)、データフォーマットが指定されると(ステップS21でYES)、処理をステップS22に進める。
ステップS03においては、傾向分析処理を実行する。傾向分析処理の詳細は後述するが、ユーザーが過去に生成したアプリケーションデータを分析して、線画を描画する傾向を決定する処理である。線画を描画する傾向は、図形を描画する第1の方法と線を描画する第2の方法とのいずれを用いるかを示す傾向と、図形と線とを重畳させる第3の方法と、図形と線とを重畳させない第4の方法とのいずれを用いるかを示す傾向と、を含む。
次のステップS04においては、スキャン指示を受け付けたか否かを判断する。ユーザーが操作部163に入力するスキャン指示を受け付ける。例えば、操作部163が有するスタートキーがユーザーにより押下されると、スキャン指示を受け付ける。スキャン指示を受け付けるまで待機状態となり(ステップS04でNO)、スキャン指示を受け付けると(ステップS04でYES)、処理をステップS05に進める。
ステップS05においては、原稿読取部130を制御して、原稿を読み取らせる。これにより、原稿読取部130が出力する画像データを取得する。なお、ここでは、原稿読取部130が原稿を読み取って出力する画像データを取得するようにしたが、HDD116またはCD−ROM118に記憶された画像データ、また、通信I/F部112がネットワークに接続されたコンピューターから受信された画像データを、取得するようにしてもよい。この場合には、ユーザーが処理対象となる画像データを指定することになる。
次のステップS06においては、ステップS05において取得された画像データを、属性別データに分離する。属性別データは、写真属性の写真領域データと、文字属性の文字領域データと、線画属性の線画領域データと、を含む。具体的には、画像データから文字が表わされた文字属性の領域を抽出することにより、抽出された文字属性の領域のみを含む文字領域データを生成する。画像データから写真が表わされた写真属性の領域を抽出することにより、抽出された写真属性の領域のみを含む写真領域データを生成する。また、画像データから線画が表わされた線画属性の領域を抽出することにより、抽出された線画属性の領域のみを含む線画領域データを生成する。
次のステップS07においては、ステップS06において画像データから分離された属性別データに線画領域データが含まれるか否かを判断する。線画領域データが含まれるならば処理をステップS08に進めるが、そうでなければ処理をステップS10に進める。
ステップS08においては、線画属性対応データ生成処理を実行し、処理をステップS09に進める。線画属性対応データ生成処理の詳細は後述するが、ビットマップの線画領域データから種類が線または図形のオブジェクトを抽出し、オブジェクトに対応するオブジェクト情報を生成する処理である。ステップS09においては、ステップS09において生成されたオブジェクト情報を含む線画属性の属性対応データを生成し、処理をステップS10に進める。
ステップS10においては、ステップS06において画像データから分離された属性別データに文字領域データが含まれるか否かを判断する。文字領域データが含まれるならば処理をステップS11に進めるが、そうでなければ処理をステップS13に進める。
ステップS11においては、ビットマップ形式の文字領域データに対して文字認識処理を実行する。次のステップS12においては、ステップS11における文字認識処理を実行した結果得られるテキストデータを含む文字属性の属性対応データを生成し、処理をステップS13に進める。
ステップS13においては、ステップS06において画像データから分離された属性別データに写真領域データが含まれるか否かを判断する。写真領域データが含まれるならば処理をステップS14に進めるが、そうでなければ処理をステップS16に進める。
ステップS14においては、ビットマップ形式の写真領域データに対して画像処理を実行する。次のステップS15においては、ステップS13における画像処理を実行した結果得られる写真領域データを含む写真属性の属性対応データを生成し、処理をステップS16に進める。
ステップS16においては、変換後データを生成する。変換後データは、ステップS02において、ユーザーにより指定されたデータフォーマットのデータであり、ステップS09が実行される場合にはステップS09において生成された線画属性の属性対応データ、ステップS12が実行される場合にはステップS12において生成された文字属性の属性対応データ、ステップS15が実行される場合にはステップS15において生成された写真属性の属性対応データを含む。
次のステップS17においては、変換後データを出力する。変換後データの出力先は、ユーザーにより決定される。ステップS02においてデータ変換指示を入力する際に、ユーザーが出力先を指定するようにしてもよい。出力先は、例えば、HDD116などの記憶装置、電子メールアドレス、ネットワークに接続された他のコンピューターであってもよい。出力先にHDD116が指定される場合には、変換後データをHDD116に記憶する。出力先に電子メールアドレスが指定される場合には、宛先に指定された電子メールアドレスを設定し、変換後データを添付した電子メールを生成し、生成した電子メールをあらかじめ定められた電子メールサーバーに送信する。出力先に他のコンピューターが指定される場合には、変換後データを指定されたコンピューターに通信I/F部112を介して送信する。
図10は、傾向分析処理の流れの一例を示すフローチャートである。傾向分析処理は、図9のステップS03において実行される処理である。図10を参照して、CPU111は、対応データを取得する(ステップS22)。対応データは、変換後データのフォーマットと同じデータフォーマットのデータである。変換後データのフォーマットは、図9のステップS02においてユーザーにより指定される。具体的には、HDD116に記憶されているデータのうちからユーザーにより指定されたデータフォーマットのデータを対応データとして取得する。また、ネットワークに接続されたコンピューターに記憶されているデータのうちからユーザーにより指定されたデータフォーマットのデータをコンピューターから取得するようにしてもよい。
対応データは、ユーザーにより生成されたアプリケーションデータであることが好ましい。このため、MFP100を操作するユーザーを認証するようにして、そのユーザーを識別するためのユーザー識別情報を取得し、そのユーザー識別情報を作成者として含むアプリケーションデータであって、ユーザーにより指定されたデータフォーマットのアプリケーションデータを、対応データとして取得するのが好ましい。対応データを、ユーザーにより指定されたデータフォーマットのアプリケーションデータとするのは、ユーザーが過去に生成したアプリケーションデータを分析することにより、そのアプリケーションデータを生成する際に、ユーザーが線画を描画した方法を取得することができるからである。
例えば、文書を編集するワードプロセッサのアプリケーションプログラム、または表計算機能を備えたアプリケーションプログラムを使用する場合、ユーザーは、図形の複雑な編集を行う可能性は低い。このため、ワードプロセッサのアプリケーションプログラムまたは表計算機能を備えたアプリケーションプログラムによって生成されるアプリケーションデータは、種類が図形のオブジェクトを含む場合が多い。
一方、画像を編集する機能を備えたアプリケーションプログラムを使用する場合、ユーザーは、図形の複雑な編集を行う可能性が高い。このため、画像を編集する機能を備えたアプリケーションプログラムによって生成されるアプリケーションデータは、種類が図形のオブジェクトを含む場合と、種類が線のオブジェクトを含む場合とがある。
なお、アプリケーションデータのフォーマットは、アプリケーションプログラムによって定まるので、対応データを抽出する際に、フォーマットの指定に代えて、アプリケーションプログラムの指定を受け付けるようにしてもよい。
ステップS22においては、図形重ね傾向分析処理を実行し、処理をステップS23に進める。図形重ね傾向分析処理の詳細は後述するが、対応データを処理対象とし、複数の図形を重ねて線画を描画することができる場合に、図形を描画する第1の方法と、線を描画する第2の方法とのいずれの方法を用いる傾向にあるか否かを決定する処理である。
ステップS23においては、線重ね傾向分析処理を実行し、処理をステップS24に進める。線重ね傾向分析処理の詳細は後述するが、対応データを処理対象とし、図形と線とを重ねて線画を描画することができる場合に、図形と線とを重畳させる第3の方法と、図形と線とを重畳させない第4の方法とのいずれの方法を用いる傾向にあるか否かを決定する処理である。
ステップS24においては、図形接続傾向分析処理を実行し、処理をステップS25に進める。図形接続傾向分析処理の詳細は後述するが、対応データを処理対象とし、図形と図形を接続して描画することができる場合に、図形を描画する第1の方法と、線を描画する第2の方法とのいずれの方法を用いる傾向にあるか否かを決定する処理である。
ステップS25においては、単独傾向分析処理を実行し、処理をデータ変換処理に戻す。単独傾向分析処理の詳細は後述するが、対応データを処理対象とし、1以上の線で囲まれた領域を図形として描画することができる場合に、図形を描画する第1の方法と、線を描画する第2の方法とのいずれの方法を用いる傾向にあるか否かを決定する処理である。
図11は、図形重ね傾向分析処理の流れの一例を示すフローチャートである。図形重ね傾向分析処理は、図10のステップS22において実行される処理である。図11を参照して、CPU111は、対応データに含まれる種類が図形の図形オブジェクトの数をカウントする(ステップS31)。そして、複数の図形オブジェクトが重なる部分の数をカウントする(ステップS32)。次のステップS33においては、重なり率(D)を算出する。ステップS32においてカウントされた複数の図形オブジェクトが重なる部分の数をステップS31においてカウントされた図形オブジェクトの数で除算した値を重なり率(D)とする。
ステップS34においては、対応データに含まれる種類が線の線オブジェクトの数をカウントする。そして、線オブジェクトが図形オブジェクトと接続する接続点の数をカウントする(ステップS35)。次のステップS36においては、線図形接続率(F)を算出する。ステップS35においてカウントされた接続点の数をステップS34においてカウントされた線オブジェクトの数で除算した値を線図形接続率(F)とする。
次のステップS37においては、重なり率(D)をしきい値TDと比較する。重なり率(D)がしきい値TD以上ならば処理をステップS38に進めるが、そうでなければ処理をステップS41に進める。ステップS38においては、線図形接続率(F)をしきい値TFと比較する。線図形接続率(F)がしきい値TFより小さいならば処理をステップS39に進めるが、そうでなければ処理をステップS40に進める。
ステップS39においては、第1の傾向に第1の方法を設定し、処理を傾向分析処理に戻す。処理がステップS39に進む場合、重なり率(D)がしきい値TD以上、かつ、線図形接続率(F)がしきい値TFより小さい場合である。この場合には、複数の図形オブジェクトを重ねて線画を描画する傾向にあることを示す。ステップS40においては、第1の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
一方、ステップS41においては、線図形接続率(F)をしきい値TFと比較する。線図形接続率(F)がしきい値TF以上ならば処理をステップS42に進めるが、そうでなければ処理をステップS43に進める。ステップS42においては、第1の傾向に第2の方法を設定し、処理を傾向分析処理に戻す。処理がステップS42に進む場合、重なり率(D)がしきい値TDより小さく、かつ、線図形接続率(F)がしきい値TF以上の場合である。この場合には、複数の図形オブジェクトを重ねて線画を描画しない傾向にあることを示す。ステップS43においては、第1の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
図12は、線重ね傾向分析処理の流れの一例を示すフローチャートである。線重ね傾向分析処理は、図10のステップS23において実行される処理である。図12を参照して、CPU111は、対応データに含まれる種類が線の線オブジェクトの数をカウントする(ステップS51)。そして、複数の線オブジェクトが種類が図形の図形オブジェクトと重なる部分の数をカウントする(ステップS52)。次のステップS53においては、線重なり率(E)を算出する。ステップS52においてカウントされた線オブジェクトが図形オブジェクトと重なる部分の数をステップS51においてカウントされた線オブジェクトの数で除算した値を線重なり率(E)とする。
ステップS54においては、線重なり率(E)をしきい値TEと比較する。線重なり率(E)がしきい値TE以上ならば処理をステップS55に進めるが、そうでなければ処理をステップS56に進める。ステップS55においては、第2の傾向に第3の方法を設定し、処理を傾向分析処理に戻す。処理がステップS55に進む場合、線重なり率(E)がしきい値TE以上の場合である。この場合には、線オブジェクトと図形オブジェクトとを重ねて線画を描画する傾向にあることを示す。ステップS56においては、第2の傾向に第4の方法を設定し、処理を傾向分析処理に戻す。処理がステップS56に進む場合、線重なり率(E)がしきい値TEより小さい場合である。この場合には、線オブジェクトを図形オブジェクトを重ねて線画を描画しない傾向にあることを示す。
図13は、図形接続傾向分析処理の流れの一例を示すフローチャートである。図形接続傾向分析処理は、図10のステップS24において実行される処理である。図13を参照して、CPU111は、対応データに含まれる種類が図形の図形オブジェクトの数をカウントする(ステップS61)。そして、複数の図形オブジェクトが接続する部分の数をカウントする(ステップS62)。次のステップS63においては、図形接続率(G)を算出する。ステップS62においてカウントされた複数の図形オブジェクトが接続する部分の数をステップS61においてカウントされた図形オブジェクトの数で除算した値を図形接続率(G)とする。
ステップS64においては、対応データに含まれる種類が線の線オブジェクトの数をカウントする。そして、線オブジェクトが図形オブジェクトと接続する接続点の数をカウントする(ステップS65)。次のステップS66においては、線図形接続率(F)を算出する。ステップS65においてカウントされた接続点の数をステップS64においてカウントされた線オブジェクトの数で除算した値を線図形接続率(F)とする。
次のステップS67においては、図形接続率(G)をしきい値TGと比較する。図形接続率(G)がしきい値TG以上ならば処理をステップS68に進めるが、そうでなければ処理をステップS71に進める。ステップS68においては、線図形接続率(F)をしきい値TFと比較する。線図形接続率(F)がしきい値TFより小さいならば処理をステップS69に進めるが、そうでなければ処理をステップS70に進める。
ステップS69においては、第3の傾向に第1の方法を設定し、処理を傾向分析処理に戻す。処理がステップS69に進む場合、図形接続率(G)がしきい値TG以上、かつ、線図形接続率(F)がしきい値TFより小さい場合である。この場合には、複数の図形オブジェクトを接続して線画を描画する傾向にあることを示す。ステップS70においては、第1の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
一方、ステップS71においては、線図形接続率(F)をしきい値TFと比較する。線図形接続率(F)がしきい値TF以上ならば処理をステップS72に進めるが、そうでなければ処理をステップS73に進める。ステップS72においては、第1の傾向に第2の方法を設定し、処理を傾向分析処理に戻す。処理がステップS72に進む場合、図形接続率(G)がしきい値TGより小さく、かつ、線図形接続率(F)がしきい値TF以上の場合である。この場合には、複数の図形オブジェクトを接続して線画を描画しない傾向にあることを示す。ステップS73においては、第1の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
図14は、単独傾向分析処理の流れの一例を示すフローチャートである。単独傾向分析処理は、図10のステップS25において実行される処理である。図14を参照して、CPU111は、対応データに含まれる種類が図形の図形オブジェクトの数をカウントする(ステップS81)。そして、複数の図形オブジェクトのうち内部が色付きの図形オブジェクトの数をカウントする(ステップS82)。次のステップS83においては、色塗り率(C)を算出する。ステップS82においてカウントされた内部が色付きの図形オブジェクトの数をステップS81においてカウントされた図形オブジェクトの数で除算した値を色塗り率(C)とする。
ステップS84においては、対応データに含まれる種類が線の線オブジェクトの数をカウントする。そして、線オブジェクトが別の線オブジェクトと接続する接続点の数をカウントする(ステップS85)。次のステップS86においては、線接続率(L)を算出する。ステップS85においてカウントされた接続点の数をステップS84においてカウントされた線オブジェクトの数で除算した値を線接続率(L)とする。
次のステップS87においては、色塗り率(C)をしきい値TCと比較する。色塗り率(C)がしきい値TC以上ならば処理をステップS88に進めるが、そうでなければ処理をステップS91に進める。ステップS88においては、線接続率(L)をしきい値TLと比較する。線接続率(L)がしきい値TLより小さいならば処理をステップS89に進めるが、そうでなければ処理をステップS90に進める。
ステップS89においては、第4の傾向に第1の方法を設定し、処理を傾向分析処理に戻す。処理がステップS89に進む場合、色塗り率(C)がしきい値TC以上、かつ、線接続率(L)がしきい値TLより小さい場合である。この場合には、図形オブジェクトで線画を描画する傾向にあることを示す。ステップS90においては、第4の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
一方、ステップS91においては、線接続率(L)をしきい値TLと比較する。線接続率(L)がしきい値TL以上ならば処理をステップS92に進めるが、そうでなければ処理をステップS93に進める。ステップS92においては、第4の傾向に第2の方法を設定し、処理を傾向分析処理に戻す。処理がステップS92に進む場合、色塗り率(C)がしきい値TCより小さく、かつ、線接続率(L)がしきい値TL以上の場合である。この場合には、線オブジェクトで線画を描画する傾向にあることを示す。ステップS93においては、第4の傾向に判断不可を設定し、処理を傾向分析処理に戻す。
図15は、線画属性対応データ生成処理の流れの一例を示すフローチャートである。線画属性対応データ生成処理は、図9のステップS08において実行される処理である。図15を参照して、CPU111は、エッジ画像を生成する(ステップS101)。図9のステップS05により取得された画像データを、微分フィルターを用いてフィルター処理することによりエッジ画像を生成する。エッジ画像は、エッジ画素の画素値を「1」とし、エッジ画素以外の画素の画素値を「0」とするデータである。エッジ画像は、隣接する複数のエッジ画素の集合であるエッジを含む。エッジは、直のエッジ、多角形のエッジ、円形のエッジ、曲線のエッジ、自由曲線のエッジを含む。
次のステップS102においては、生成されたエッジ画像中から領域を囲むエッジを処理対象として選択する。そして、処理対象に選択されたエッジで囲まれる領域内外で色が異なるか否かを判断する。領域の以外で色が異なるならば処理をステップS105に進めるが、そうでなければ処理をステップS104に進める。ステップS104においては、処理対象に選択されたエッジで囲まれる領域内に文字が存在するか否かを判断する。処理対象に選択されたエッジで囲まれる領域内に文字の属性の領域が含まれるか否かを判断する。領域内に文字が存在するならば、処理をステップS105に進めるが、そうでなければ処理をステップS107に進める。
ステップS105においてはステップS102において選択されたエッジで囲まれる領域を種類が図形のオブジェクトに設定し、処理をステップS106に進める。この際、ステップS102において選択されたエッジの種類を線に決定する。ステップS106においては、種類が図形に設定されたオブジェクトに対するオブジェクト情報を生成する。具体的には、画像データ中で、ステップS102において選択されたエッジで囲まれる領域を参照して、その領域の画像データ中の位置および形状と、プロパティ情報とを含むオブジェクト情報を生成する。プロパティ情報は、領域を囲む外周の線を特定する情報と、領域の内部に関する情報と、を含む。領域を囲む外周の線を特定する情報は、線の有無と、線の種類と、線の太さと、線の色とを含む。領域の内部に関する情報は、領域の色と、他の領域と重なる場合の優先度と、を含む。
ステップS107においては、未選択のエッジが存在するか否かを判断する。未選択のエッジが存在するならば、処理をステップS102に戻すが、そうでなければ処理をステップS108に進める。
ステップS108においては重なり判定処理を実行し、処理をステップS109に進める。重なり判定処理の詳細は後述するが、図形オブジェクトに重なる図形オブジェクトまたは線オブジェクトを決定し、それぞれのオブジェクト情報を生成する処理である。
ステップS109においては接続判定処理を実行し、処理をステップS109に進める。接続判定処理の詳細は後述するが、図形オブジェクトに接続する図形オブジェクトまたは線オブジェクトを決定し、それぞれのオブジェクト情報を生成する処理である。
ステップS110においては単独判定処理を実行し、処理をステップS111に進める。単独判定処理の詳細は後述するが、領域を囲むエッジに対して図形オブジェクトまたは線オブジェクトのいずれかに決定し、それぞれのオブジェクト情報を生成する処理である。
ステップS111においては、種類が未だ決定されていないエッジが存在するか否かを判断する。そのようなエッジが存在するならば、処理をステップS112に進めるが、存在しなければ処理をデータ変換処理に戻す。
ステップS112においては、種類が未だ決定されていないエッジのすべてに対して、種類が線のオブジェクトに設定し、処理をステップS113に進める。ステップS113においては、線のオブジェクトそれぞれに対応するオブジェクト情報を生成し、処理をデータ変換処理に戻す。画像データ中の線のオブジェクトに対応する部分を参照して、画像データ中の線の位置および形状と、プロパティ情報とを含むオブジェクト情報を生成する。プロパティ情報は、画像データ中の線のオブジェクトにおける線の種類と、線の太さと、線の色とを含む。
図16は、重なり判定処理の流れの一例を示すフローチャートである。重なり判定処理は、図15に示した線画属性対応データ生成処理のステップS108において実行される処理である。図16を参照して、CPU111は、仮想線を生成し(ステップS121)、処理をステップS122に進める。エッジ画像に含まれる複数のエッジのうち、図形オブジェクトに対応するエッジ以外のエッジを残エッジとして特定する。そして、特定された1以上の残エッジであって、図形オブジェクトと接続されるエッジを処理対象エッジとする。処理対象エッジを、それが図形オブジェクトと接続される部分を図形オブジェクト側に延長することによって仮想線を生成する。処理対象エッジは、処理対象エッジの両端それぞれが1つの図形オブジェクトに接続される場合、処理対象エッジの両端をそれぞれ延長し、両端から延長されたエッジが図形オブジェクト内で交わる場合、両端から延長されたエッジをそれらが交わる点で結合した仮想線を生成する。また、処理対象エッジの両端が2つの図形オブジェクトにそれぞれ接続される場合、処理対象エッジの両端をそれぞれが接続される図形オブジェクト側に、当該図形オブイジェクト内で他の処理対処エッジを延長したエッジと交わるまで延長し、2つの処理対象エッジを交わる点で結合した仮想線を生成する。
ステップS122においては、ステップS121において生成された仮想線のうちから1つの仮想線を処理対象として選択する。次のステップS123においては、処理対象に選択された仮想線が領域を囲むか否かを判断する。仮想線が領域を囲むならば処理をステップS124に進めるが、そうでなければ処理をステップS130に進める。
ステップS124においては、第1の傾向が第1の方法に設定されているか否かを判断する。第1の傾向は、上述した図形重ね傾向分析処理によって第1の方法、第2の方法および判断不可のいずれかに設定される。第1の傾向は、複数の図形オブジェクトを重ねて描画することができる場合に、第1の方法と第2の方法とのいずれを用いる傾向にあるかを示す情報である。第1の傾向が第1の方法に設定されているならば処理をステップS125に進めるが、そうでなければ処理をステップS127に進める。ステップS125においては、ステップS122において選択された仮想線で囲まれた領域を種類が図形のオブジェクトに設定し、処理をステップS126に進める。ステップS126においては、種類が図形に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS137に進める。
ステップS127においては、第1の傾向が第2の方法に設定されているか否かを判断する。第1の傾向が第2の方法に設定されているならば処理をステップS128に進めるが、そうでなければ処理をステップS137に進める。ステップS128においては、ステップS122において選択された仮想線に含まれる1以上のエッジを線のオブジェクトに設定し、処理をステップS129に進める。ステップS129においては、種類が線に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS137に進める。
一方、ステップS130においては、処理対象に選択された仮想線が図形オブジェクトと重なるか否か判断する。仮想線が図形オブジェクトと重なるならば処理をステップS131に進めるが、そうでなければ処理をステップS137に進める。
ステップS131においては、第2の傾向が第3の方法に設定されているか否かを判断する。第2の傾向は、上述した線重ね傾向分析処理によって第3の方法および第4の方法のいずれかに設定される。第3の傾向は、線のオブジェクトを図形オブジェクトと重ねて描画することができる場合に、線のオブジェクトを図形オブジェクトと重ねて描画する第3の方法と、線のオブジェクトを図形オブジェクトと重ねずに描画する第4の方法とのいずれを用いる傾向にあるかを示す情報である。第2の傾向が第3の方法に設定されているならば処理をステップS132に進めるが、そうでなければ処理をステップS134に進める。ステップS132においては、ステップS122において選択された仮想線を種類が線のオブジェクトに設定し、処理をステップS133に進める。ステップS133においては、種類が線に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS137に進める。
ステップS134においては、第2の傾向が第4の方法に設定されているか否かを判断する。第2の傾向が第4の方法に設定されているならば処理をステップS135に進めるが、そうでなければ処理をステップS137に進める。ステップS135においては、ステップS122において選択された仮想線に含まれる1以上のエッジを線のオブジェクトに設定し、処理をステップS136に進める。ステップS136においては、種類が線に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS137に進める。
ステップS137においては、処理対象に選択されていない仮想線が存在するか否かを判断する。処理対象に選択されていない仮想線が存在するならば、処理をステップS122に戻すが、そうでなければ処理を線画属性対応をデータ生成処理に戻す。
図17は、接続判定処理の流れの一例を示すフローチャートである。接続判定処理は、図15に示した線画属性対応データ生成処理のステップS109において実行される処理である。図17を参照して、CPU111は、エッジ画像に含まれる複数のエッジのうち、図形オブジェクトに接続されるエッジを接続エッジとして抽出する(ステップS141)。ステップS142においては、ステップS141において抽出された接続エッジのうちから1つを処理対象として選択する。
次のステップS143においては、第3の傾向が第1の方法に設定されているか否かを判断する。第3の傾向は、上述した図形接続傾向分析処理によって第1の方法、第2の方法および判断不可のいずれかに設定される。第3の傾向は、複数の図形オブジェクトを接続して描画することができる場合に、第1の方法と第2の方法とのいずれを用いる傾向にあるかを示す情報である。第3の傾向が第1の方法に設定されているならば処理をステップS144に進めるが、そうでなければ処理をステップS146に進める。ステップS144においては、ステップS142において選択された接続エッジと図形オブジェクトとで囲まれた領域を種類が図形のオブジェクトに設定し、処理をステップS145に進める。ステップS145においては、種類が図形に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS149に進める。
ステップS146においては、第3の傾向が第2の方法に設定されているか否かを判断する。第3の傾向が第2の方法に設定されているならば処理をステップS147に進めるが、そうでなければ処理をステップS149に進める。ステップS147においては、ステップS142において選択された接続エッジを1以上の線に分割し、1以上の線それぞれを線のオブジェクトに設定し、処理をステップS148に進める。ステップS148においては、種類が線に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS149に進める。
ステップS149においては、処理対象に選択されていない接続エッジが存在するか否かを判断する。処理対象に選択されていない接続エッジが存在するならば、処理をステップS142に戻すが、そうでなければ処理を線画属性対応をデータ生成処理に戻す。
図18は、単独判定処理の流れの一例を示すフローチャートである。単独判定処理は、図15に示した線画属性対応データ生成処理のステップS110において実行される処理である。図18を参照して、CPU111は、エッジ画像に含まれる複数のエッジのうち、領域を囲むエッジを単独エッジとして抽出する(ステップS151)。単独エッジは、図形オブジェクトを定める図形エッジ以外のエッジである。次のステップS152においては、ステップS151において抽出された単独エッジのうちから1つを処理対象として選択する。
次のステップS153においては、第4の傾向が第1の方法に設定されているか否かを判断する。第4の傾向は、上述した単独傾向分析処理によって第1の方法、第2の方法および判断不可のいずれかに設定される。第4の傾向は、図形オブジェクトを描画することができる場合に、第1の方法と第2の方法とのいずれを用いる傾向にあるかを示す情報である。第4の傾向が第1の方法に設定されているならば処理をステップS154に進めるが、そうでなければ処理をステップS156に進める。ステップS154においては、ステップS152において選択された単独エッジで囲まれた領域を種類が図形のオブジェクトに設定し、処理をステップS155に進める。ステップS155においては、種類が図形に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS159に進める。
ステップS156においては、第4の傾向が第2の方法に設定されているか否かを判断する。第4の傾向が第2の方法に設定されているならば処理をステップS157に進めるが、そうでなければ処理をステップS159に進める。ステップS157においては、ステップS152において選択された単独エッジを1以上の線に分割し、1以上の線それぞれを線のオブジェクトに設定し、処理をステップS158に進める。ステップS158においては、種類が線に設定されたオブジェクトに対するオブジェクト情報を生成し、処理をステップS159に進める。
ステップS159においては、処理対象に選択されていない単独エッジが存在するか否かを判断する。処理対象に選択されていない単独エッジが存在するならば、処理をステップS152に戻すが、そうでなければ処理を線画属性対応をデータ生成処理に戻す。
以上説明したように、本実施の形態におけるMFP100は、画像処理装置として機能し、原稿読取部130により原稿を読み取って得られる画像データから複数の属性それぞれの領域を抽出し、画像データから抽出された1以上の領域それぞれを、当該領域の属性に対して予め定められた形式の属性対応データに変換し、画像データから変換された1以上の属性対応データを対応する属性が同じ属性でまとめた変換後データを生成する。また、MFP100は、画像データから1以上の属性対応データに変換する際に、線画属性の領域からエッジを抽出し、1以上のエッジそれぞれに対して、当該エッジの種類を線および図形のいずれかに決定する。そして、MFP100は、種類を線に決定したエッジを当該エッジを構成する1以上の線に分割し、分割された1以上の線それぞれをオブジェクトに設定し、1以上のオブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。また、種類を図形に決定したエッジで囲まれた領域をオブジェクトに設定し、当該オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。そして、MFP100は、オブジェクト情報を含む属性対応データを生成する。このため、画像データを、線または図形を区別したオブジェクト情報を含む属性対応データに変換することができる。
また、MFP100は、ユーザーが操作部163に入力する属性対応データのフォーマットの指定を受け付け、HDD115に予め記憶されたデータのうちユーザーにより指定されたフォーマットのデータを分析して、ユーザーが線画を描画する傾向を示す傾向データを生成し、生成された傾向データに基づいて、エッジの種類を線および図形のいずれかに決定する。このため、ユーザーにより過去に生成されたデータを分析して傾向データを生成するので、ユーザーが過去に描画したのと同じ種類のオブジェクトのオブジェクト情報を含む属性対応データに変換することができる。
また、MFP100は、画像データから抽出された1以上のエッジのうち、種類が図形に決定された図形エッジ以外の1以上の残エッジであって、図形エッジで囲まれる領域に接続される接続エッジを当該領域側に延長した仮想線を生成し、1以上の仮想線のうち領域を囲む仮想線に対して、生成された傾向データ(第1の傾向)に基づいて、当該仮想線の種類を決定する。このため、仮想線で囲まれる領域のうち図形オブジェクトと重なる領域を図形オブジェクトに設定することができる。
また、MFP100は、種類が線に決定された仮想線に対して、当該仮想線を生成する基になった1以上の残エッジに対して線の種類を決定し、図形の種類に決定された仮想線で囲まれた領域をオブジェクトに設定し、当該オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成し、線の種類に決定された1以上の残エッジそれぞれをオブジェクトに設定し、当該オブジェクトに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。このため、仮想線で囲まれる領域のうち図形オブジェクトと重なる領域を図形オブジェクトとするオブジェクト情報を生成することができるとともに、図形に接続されるエッジを線オブジェクトとするオブジェクト情報を生成することができる。
また、MFP100は、1以上の仮想線のうち領域を囲まない1以上の仮想線に対して、生成された傾向データ(第3の傾向)に基づいて、当該仮想線の種類を決定し、種類が線に決定されなかった仮想線に対して、当該仮想線を生成する基になった2以上の残エッジに対して線の種類を決定し、線の種類に決定された仮想線をオブジェクトに設定し、当該オブジェクトに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成し、線の種類に決定された仮想線を生成する基になった2以上の残エッジそれぞれをオブジェクトに設定し、当該オブジェクトに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。このため、仮想線のうち図形オブジェクトと重なる仮想線を線オブジェクトとするオブジェクト情報を生成することができるとともに、仮想線を生成する基になった2以上の残エッジを線オブジェクトとするオブジェクト情報を生成することができる。
また、MFP100は、画像データから抽出された1以上のエッジのうち、図形の種類のオブジェクトに接続する接続エッジおよび図形の種類のオブジェクトとが閉領域を囲む場合に、生成された傾向データに基づいて、接続エッジの種類を決定し、図形の種類に決定された接続エッジとオブジェクトで囲まれた領域をオブジェクトに設定し、当該オブジェクトに対して図形の種類に対応するプロパティ情報を付与したオブジェクト情報を生成し、線の種類に決定された接続エッジを、当該接続エッジを構成する1以上の線に分割し、分割された1以上の線それぞれをオブジェクトに設定し、1以上のオブジェクトそれぞれに対して線の種類に対応するプロパティ情報を付与したオブジェクト情報を生成する。このため、接続エッジのうち図形の種類のオブジェクトとが閉領域を囲む場合に、その閉領域を図形オブジェクトとするオブジェクト情報を生成することができるとともに、接続エッジを線オブジェクトとするオブジェクト情報を生成することができる。
また、MFP100は、画像データから抽出された1以上のエッジのうち、図形の種類のオブジェクトの元になる図形エッジ以外の1以上の残エッジであって、領域を囲む残エッジの種類を、生成された傾向データ(第4の傾向)に基づいて決定する。このため、ユーザーが図形で描画したのと同じ形状のオブジェクトを種類が図形のオブジェクトに変換することができる。
なお上述した実施の形態においては、画像形成装置の一例としてMFP100を例に説明したが、図9〜図18に示したデータ変換処理を、MFP100が備えるCPU111に実行させる画像処理方法、まはた、画像処理プログラムとして、発明をとらえることができるのは言うまでもない。
なお、本実施の形態におけるMFP100においては、CPU111が図4に示した機能を有する場合を例に説明したが、図4に示した機能の全部または一部を、ASIC(Application Specific Integrated Circuit)等のICで実行させるようにしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記種類決定手段は、前記エッジで囲まれた領域が所定の条件を満たす場合に、前記エッジの種類を図形に決定する閉領域決定手段を含む、請求項1または2に記載の画像処理装置。
(2) 閉領域決定手段は、前記エッジで囲まれた領域の内外で色が異なることを条件に、前記エッジの種類を図形に決定する、請求項2に記載の画像処理装置。
(3) 前記閉領域決定手段は、前記エッジで囲まれた領域の内部に文字の属性の領域を含むことを条件に、前記エッジの種類を図形を決定する、請求項2または(2)に記載の画像処理装置。
(4)傾向データは、図形と線とのいずれの種類でオブジェクトを描画する傾向にあるかを示す第1の傾向データを含む、請求項4または6に記載の画像処理装置。
(5)傾向データは、線のオブジェクトを図形のオブジェクトに重ねて描画する傾向にあるかを示す第2の傾向データを含む、請求項5に記載の画像処理装置。