(57)【要約】【課題】文書を出力したときの可読性や出力品質を向上させる。【解決手段】情報処理装置は、文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、文書データに含まれる画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値以下であるという第１の条件を含む所定の条件が満たされているか否かを判定する判定部と、所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部とを備える。【選択図】図３
2016189086.tif 000002
【特許請求の範囲】
【請求項１】
文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第１の閾値以下であるという第１の条件を含む所定の条件が満たされているか否かを判定する判定部と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部と、を備える、情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記文字認識部は、前記所定の条件が満たされていると判定された画像オブジェクトを、前記文字認識処理の対象から除外する、情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記所定の条件は、前記文書データに含まれる画像オブジェクトについて、前記画像オブジェクト内の文字と前記文書データに含まれる文字オブジェクトとの間の距離が第２の閾値以下であるという第２の条件を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第２の閾値以下である文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記文字認識処理は、画像オブジェクトから抽出された文字を文字列に区分けする処理を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第２の閾値以下である文字と同一の文字列に属する文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。
【請求項５】
請求項３または請求項４に記載の情報処理装置であって、さらに、
画像オブジェクト内の文字を認識することなく画像オブジェクトにおける文字を含む文字領域を抽出する文字領域抽出処理を行う文字領域抽出部を備え、
前記判定部は、前記文字領域抽出処理により抽出された前記文字領域と文字オブジェクトとの間の距離を特定することにより、前記第２の条件が満たされているか否かを判定する、情報処理装置。
【請求項６】
請求項３から請求項５までのいずれか一項に記載の情報処理装置であって、
前記所定の条件は、画像オブジェクト内の文字のフォントと、前記文字との間の距離が前記第２の閾値以下である文字オブジェクトのフォントとが同一であるという第３の条件を含む、情報処理装置。
【請求項７】
請求項３から請求項６までのいずれか一項に記載の情報処理装置であって、
前記所定の条件は、画像オブジェクトに濃さの階調値が第３の閾値以上の文字が含まれるという第４の条件を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、前記階調値が前記第３の閾値以上の文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。
【請求項８】
請求項１から請求項７までのいずれか一項に記載の情報処理装置であって、さらに、
前記文書データの内、前記判定部による判定が確定した分のデータを所定の出力先に出力する出力部を備える、情報処理装置。
【請求項９】
請求項１に記載の情報処理装置であって、さらに、
第１の指示と第２の指示とを選択的に受け付ける操作部を備え、
前記文字認識部は、前記第１の指示が受け付けられた場合には、前記判定部による判定の後に前記文字認識処理を実行し、前記第２の指示が受け付けられた場合には、前記判定部による判定の前に前記文字認識処理を実行する、情報処理装置。
【請求項１０】
文字オブジェクトと画像オブジェクトとを含む文書データを取得する工程と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う工程と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第１の閾値以下であるという第１の条件を含む所定の条件が満たされているか否かを判定する工程と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行う工程と、を備える、情報処理方法。
【請求項１１】
文字オブジェクトと画像オブジェクトとを含む文書データを取得する処理と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第１の閾値以下であるという第１の条件を含む所定の条件が満たされているか否かを判定する処理と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理と、をコンピュータに実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、情報処理装置に関する。
【背景技術】
【０００２】
文書データに含まれる画像オブジェクト内の文字を認識し、認識された文字を文字オブジェクトに変換することにより、その後に文書を印刷したりファイル出力したりした場合の可読性や出力品質を向上させる技術が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７７５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像オブジェクトと文字オブジェクトとが混在する文書データにおいて、画像オブジェクトと文字オブジェクトとが近くに配置されている場合に、上記従来技術のように画像オブジェクト内の文字を文字オブジェクトに変換する処理を行うと、当初からの文字オブジェクトと画像オブジェクトから変換された文字オブジェクトとが近くに配置されることとなり、文書を出力したときの可読性や出力品質がかえって低下するおそれがある。
【０００５】
本明細書では、上述した課題の少なくとも一部を解決することが可能な技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示される技術は、例えば、以下の形態として実現することが可能である。
【０００７】
（１）本明細書に開示される情報処理装置は、文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第１の閾値以下であるという第１の条件を含む所定の条件が満たされているか否かを判定する判定部と、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部と、を備える。本情報処理装置によれば、文字オブジェクトとの間の距離が比較的遠い画像オブジェクト内の文字については、オブジェクト変換処理の対象とされることにより、出力された文書の可読性や出力品質を向上させることができ、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや、文字オブジェクトと重なっている画像オブジェクトについては、画像オブジェクト内の文字の少なくとも一部がオブジェクト変換処理の対象から除外されることにより、当初からの文字オブジェクトと画像オブジェクト内から認識された文字が変換された文字オブジェクトとが近くに配置されることを抑制することができ、出力された文書の可読性や出力品質の低下を抑制することができる。
【０００８】
（２）上記情報処理装置において、前記文字認識部は、前記所定の条件が満たされていると判定された画像オブジェクトを、前記文字認識処理の対象から除外する構成としてもよい。本情報処理装置によれば、不要な文字認識処理が実行されることを回避して、処理の高速化を実現することができる。
【０００９】
（３）上記情報処理装置において、前記所定の条件は、前記文書データに含まれる画像オブジェクトについて、前記画像オブジェクト内の文字と前記文書データに含まれる文字オブジェクトとの間の距離が第２の閾値以下であるという第２の条件を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第２の閾値以下である文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、画像オブジェクトと文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であるという上記第１の条件が満たされているだけでは、当該画像オブジェクト内の文字はオブジェクト変換処理の対象外とはならず、第１の条件に加えて、画像オブジェクト内の文字と文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるという第２の条件が満たされると、当該文字がオブジェクト変換処理の対象外となる。そのため、本情報処理装置によれば、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや文字オブジェクトと重なっている画像オブジェクト内の文字であっても、文字オブジェクトとの間の距離が比較的遠い場合にはオブジェクト変換処理の対象とされるため、出力された文書の可読性や品質をさらに効果的に向上させることができる。
【００１０】
（４）上記情報処理装置において、前記文字認識処理は、画像オブジェクトから抽出された文字を文字列に区分けする処理を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第２の閾値以下である文字と同一の文字列に属する文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、画像オブジェクト内の同一の文字列を構成する文字の内、一部の文字については文字オブジェクトに変換され、一部の文字については画像オブジェクトのままとされて、かえって可読性や出力品質が低下することを抑制することができる。
【００１１】
（５）上記情報処理装置において、さらに、画像オブジェクト内の文字を認識することなく画像オブジェクトにおける文字を含む文字領域を抽出する文字領域抽出処理を行う文字領域抽出部を備え、前記判定部は、前記文字領域抽出処理により抽出された前記文字領域と文字オブジェクトとの間の距離を特定することにより、前記第２の条件が満たされているか否かを判定する構成としてもよい。本情報処理装置によれば、文字を認識する処理を行うことなく、より処理負荷の軽い文字領域抽出処理を行うことにより、第２の条件が満たされているか否かを判定することができるため、処理の高速化を実現することができる。
【００１２】
（６）上記情報処理装置において、前記所定の条件は、画像オブジェクト内の文字のフォントと、前記文字との間の距離が前記第２の閾値以下である文字オブジェクトのフォントとが同一であるという第３の条件を含む構成としてもよい。本情報処理装置によれば、可読性や品質への悪影響を抑制しつつ、出力された文書の可読性や出力品質をさらに効果的に向上させることができる。
【００１３】
（７）上記情報処理装置において、前記所定の条件は、画像オブジェクトに濃さの階調値が第３の閾値以上の文字が含まれるという第４の条件を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、前記階調値が前記第３の閾値以上の文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、可読性や品質への悪影響を抑制しつつ、出力された文書の可読性や出力品質をさらに効果的に向上させることができる。
【００１４】
（８）上記情報処理装置において、さらに、前記文書データの内、前記判定部による判定が確定した分のデータを所定の出力先に出力する出力部を備える構成としてもよい。本情報処理装置によれば、データの出力の後に判定が覆ることがないため、無駄な処理が実行されることを抑制することができる。
【００１５】
（９）上記情報処理装置において、さらに、第１の指示と第２の指示とを選択的に受け付ける操作部を備え、前記文字認識部は、前記第１の指示が受け付けられた場合には、前記判定部による判定の後に前記文字認識処理を実行し、前記第２の指示が受け付けられた場合には、前記判定部による判定の前に前記文字認識処理を実行する構成としてもよい。本情報処理装置によれば、文書の可読性や出力品質の向上と処理の高速化とのいずれを優先するかを選択することができ、ユーザの利便性を向上させることができる。
【００１６】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、情報処理装置、情報処理方法、情報処理システム、印刷装置、印刷方法、印刷システム、それらの装置、方法、システムの機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することが可能である。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態における印刷システム１０の構成を示す説明図である。
【図２】第１実施形態における制御部１１０が実現する機能の一例を示すブロック図である。
【図３】第１実施形態における印刷データ生成処理の流れを示すフローチャートである。
【図４】印刷対象の文書ＤＯの一例を示す説明図である。
【図５】速度優先モードにおける距離判定の一例を示す説明図である。
【図６】一般モードにおける距離判定の一例を示す説明図である。
【図７】第２実施形態における印刷システム１０のＰＣ１００の制御部１１０ａが実現する機能の一例を示すブロック図である。
【図８】第２実施形態における印刷データ生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
Ａ．第１実施形態：
Ａ−１．印刷システム１０の構成：
図１は、第１実施形態における印刷システム１０の構成を示す説明図である。印刷システム１０は、印刷データを生成するパーソナルコンピュータ（以下、「ＰＣ」という）１００と、生成された印刷データに基づきシートに画像を形成するプリンタ２００とを備える。ＰＣ１００とプリンタ２００とは、例えばＬＡＮ等のネットワークＮＥＴを介して互いに通信可能に接続されている。ＰＣ１００は、情報処理装置の一例である。
【００１９】
ＰＣ１００は、制御部１１０と、表示部１４０と、操作部１５０と、通信部１６０とを備える。制御部１１０と表示部１４０と操作部１５０と通信部１６０とは、バス等を介して互いに接続されている。制御部１１０は、ＣＰＵ１２０と、記憶部１３０とを含む。
【００２０】
ＰＣ１００の操作部１５０は、例えばマウスやキーボード（図示せず）を有し、ユーザによる各種の指示を受け付ける。表示部１４０は、例えば液晶ディスプレイを有し、各種の画面を表示する。通信部１６０は、プリンタ２００等の他機器との間で、有線通信方式または無線通信方式により通信を行う。
【００２１】
ＰＣ１００の記憶部１３０は、ＲＯＭやＲＡＭ等により構成され、各種のプログラムを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。本実施形態では、記憶部１３０は、少なくとも、オペレーティングシステム（以下、「ＯＳ」という）と、ＯＳ上で動作するアプリケーションプログラム（例えば、ワードプロセッサソフトや表計算ソフト、ＷＥＢブラウザ等）と、プリンタ２００の動作を制御するソフトウェアであるプリンタドライバとを記憶している。
【００２２】
ＰＣ１００のＣＰＵ１２０は、記憶部１３０から読み出した各種プログラムを実行する。これにより、制御部１１０の各機能が実現される。図２は、第１実施形態における制御部１１０が実現する機能の一例を示すブロック図である。ＣＰＵ１２０が、プリンタドライバを実行することにより、制御部１１０は、印刷データ生成部１８０として機能する。印刷データ生成部１８０は、文書取得部１８１と、文字認識部１８２と、判定部１８３と、オブジェクト変換部１８４と、出力部１８５とを含む。これら各部の機能は、後述の「Ａ−２．印刷データ生成処理」において説明する。
【００２３】
プリンタ２００（図１）は、制御部２１０と、表示部２４０と、操作部２５０と、通信部２６０と、印刷実行部２７０とを備える。制御部２１０と表示部２４０と操作部２５０と通信部２６０と印刷実行部２７０とは、バス等を介して互いに接続されている。制御部２１０は、ＣＰＵ２２０と、記憶部２３０とを含む。
【００２４】
プリンタ２００の印刷実行部２７０は、電子写真方式やインクジェット方式により紙等のシートに画像を形成する機構である。操作部２５０は、例えばボタン（図示せず）を有し、ユーザによる各種の指示を受け付ける。表示部２４０は、例えば液晶ディスプレイを有し、各種の設定画面や装置の動作状態等を表示する。通信部２６０は、ＰＣ１００等の他機器との間で、有線通信方式または無線通信方式により通信を行う。
【００２５】
プリンタ２００の記憶部２３０は、ＲＯＭやＲＡＭ等により構成され、各種のプログラムを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。ＣＰＵ２２０は、記憶部２３０から読み出した各種プログラムを実行する。これにより、制御部２１０の各機能が実現される。例えば、制御部２１０は、ＰＣ１００から受領した印刷データを用いて印刷実行部２７０に画像を形成させる印刷処理を行う。
【００２６】
Ａ−２．印刷データ生成処理：
ＰＣ１００の印刷データ生成部１８０は、印刷データ生成処理を行う。印刷データ生成処理は、プリンタ２００による印刷処理に用いられる印刷データを生成する処理である。本実施形態の印刷データ生成処理では、印刷された文書の可読性や品質を向上させるために、文書データに含まれる画像オブジェクト内の文字を文字オブジェクトに変換するオブジェクト変換処理が行われる。ただし、画像オブジェクト内の文字の内、文字オブジェクトとの間の距離に関する所定の条件が満たされている文字については、オブジェクト変換処理の対象から除外される。以下、この点を含め、印刷データ生成処理について説明する。
【００２７】
図３は、第１実施形態における印刷データ生成処理の流れを示すフローチャートである。例えば、ＣＰＵ１２０によってアプリケーションプログラムが実行され、文書（例えば、ワードやＰＤＦ、ＨＴＭＬ等の形式の文書）の作成や閲覧が行われているときに、操作部１５０に当該文書の印刷指示が受け付けられると、印刷データ生成処理が開始される。
【００２８】
印刷データ生成処理が開始されると、ＯＳの機能により、印刷対象の文書データに含まれるオブジェクトの描画命令が発行される。印刷データ生成部１８０の文書取得部１８１は、発行されたオブジェクトの描画命令を取得する（Ｓ１１０）。
【００２９】
文書取得部１８１は、取得された描画命令が、画像オブジェクトの描画命令であるか、文字オブジェクトの描画命令であるか、それ以外のオブジェクト（例えばグラフィックオブジェクト）の描画命令であるかを判定する（Ｓ１２０）。ここで、画像オブジェクトは、画像を、マトリクス状に配列された複数の画素のそれぞれの階調値によって表現したデータ（いわゆるビットマップデータ）である。画像オブジェクトの表す画像には、写真、文字、グラフィック、それらの組み合わせ等が含まれ得る。また、文字オブジェクトは、１つまたは複数の文字を、文字コードや文字フォント等によって規定したデータである。
【００３０】
図４は、印刷対象の文書ＤＯの一例を示す説明図である。図４に示す例では、文書ＤＯのある頁に、３つの画像オブジェクト（第１画像オブジェクトＩＯ（１）、第２画像オブジェクトＩＯ（２）、第３画像オブジェクトＩＯ（３））と、３つの文字オブジェクト（第１文字オブジェクトＴＯ（１）、第２文字オブジェクトＴＯ（２）、第３文字オブジェクトＴＯ（３））とが含まれている。また、図４に示す例では、第１画像オブジェクトＩＯ（１）内に第１文字画像ＩＴ（１）が含まれ、第２画像オブジェクトＩＯ（２）内に第２文字画像ＩＴ（２）が含まれ、第３画像オブジェクトＩＯ（３）内に第３文字画像ＩＴ（３）が含まれている。これらの文字画像ＩＴは、あくまで画像であるため、各画素の階調値で表現されており、文字コード等により規定されている訳ではない。なお、図４には、各オブジェクトの領域を示す破線が図示されているが、これらの破線は各オブジェクトの内容ではない。
【００３１】
Ｓ１２０の判定（図３）において、取得された描画命令は画像オブジェクトの描画命令であると判定された場合には、文書取得部１８１は、画像オブジェクトの位置情報と画像オブジェクトのデータとを記憶部１３０に記憶させ（Ｓ１６０）、画像オブジェクトの描画処理を行う（Ｓ１７０）。ここで、画像オブジェクトの位置情報は、文書データにおける処理中の頁において画像が配置される位置を示す情報であり、例えば、画像オブジェクトの領域の左上点および右下点の座標を示す情報である。
【００３２】
また、Ｓ１２０の判定において、取得された描画命令は文字オブジェクトの描画命令であると判定された場合には、文書取得部１８１は、文字オブジェクトの位置情報を記憶部１３０に記憶させ（Ｓ１４０）、文字オブジェクトの描画処理を行う（Ｓ１５０）。文字オブジェクトの位置情報は、画像オブジェクトの位置情報と同様に、文書データにおける処理中の頁において文字が配置される位置を示す情報であり、例えば、文字オブジェクトの領域の左上点および右下点の座標を示す情報である。
【００３３】
また、Ｓ１２０の判定において、取得された描画命令は画像オブジェクトおよび文字オブジェクト以外の種類のオブジェクト（例えばグラフィックオブジェクト）の描画命令であると判定された場合には、文書取得部１８１は、当該オブジェクトの描画処理を行う（Ｓ１３０）。
【００３４】
その後、文書取得部１８１は、文書データにおける処理中の頁についての描画処理がすべて完了したか否かを判定し（Ｓ１８０）、まだ完了していないと判定された場合には（Ｓ１８０：ＮＯ）、次の描画命令の取得処理（Ｓ１１０）に戻り、上述した処理を繰り返す。一方、処理中の頁についての描画処理がすべて完了したと判定された場合には（Ｓ１８０：ＹＥＳ）、Ｓ１９０以降の処理に進む。この時点では、文書データにおける処理中の頁に含まれるすべてのオブジェクトの描画命令が取得され、各オブジェクトが描画されてラスタデータが生成され、画像オブジェクトおよび文字オブジェクトについては位置情報が記憶部１３０に記憶され、さらに画像オブジェクトについてはオブジェクトのデータが記憶部１３０に記憶される。なお、文書データに含まれる各オブジェクトの描画命令の取得は、文書データの取得の一例である。
【００３５】
次に、印刷データ生成部１８０は、記憶部１３０に画像オブジェクトが記憶されているか否か、すなわち、処理中の頁に画像オブジェクトが含まれるか否かを判定する（Ｓ１９０）。記憶部１３０に画像オブジェクトが記憶されていると判定された場内には（Ｓ１９０：ＹＥＳ）、印刷データ生成部１８０は、画像オブジェクトを１つ選択する（Ｓ２００）。
【００３６】
次に、印刷データ生成部１８０は、印刷データ生成処理のモードとして、速度優先モードと一般モードとのいずれが選択されているかを判定する（Ｓ２１０）。ＰＣ１００の操作部１５０は、速度優先モードと一般モードとのいずれかを選択するユーザ指示を受け付け可能である。本実施形態では、この選択指示は、冒頭の文書印刷指示の受け付けに合わせて受け付けられる。なお、いずれか一方のモード（例えば一般モード）がデフォルトで選択されており、ユーザが他方のモード（例えば速度優先モード）を希望する場合に操作部１５０を介して指示を入力することによって、モードの選択が行われるとしてもよい。また、ユーザが印刷画質の選択指示を操作部１５０を介して入力することによって、モードの選択が行われるとしてもよい。例えば、印刷画質として高画質が選択された場合には、印刷データ生成処理のモードとして一般モードが選択され、印刷画質として上記高画質より低い画質が選択された場合には、印刷データ生成処理のモードとして速度優先モードが選択されるとしてもよい。速度優先モードの選択指示は、第１の指示の一例であり、一般モードの選択指示は、第２の指示の一例である。
【００３７】
速度優先モードが選択されていると判定された場合（Ｓ２１０：ＹＥＳ）、印刷データ生成部１８０の判定部１８３は、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であるか否かを判定する（Ｓ２２０）。この判定は、文書データ内に、選択された画像オブジェクトとの間の距離が第１の閾値Ｔｈ１以下である文字オブジェクト（つまり、選択された画像オブジェクトに重なるか、または、比較的近くに位置する文字オブジェクト）が存在するか否かの判定である。すなわち、この判定では、選択された画像オブジェクトとの間の距離が第１の閾値Ｔｈ１以下である文字オブジェクトが１つでも存在する場合には、「ＹＥＳ」と判定され、選択された画像オブジェクトとの間の距離が第１の閾値Ｔｈ１より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「ＮＯ」と判定される。上述したように、画像オブジェクトおよび文字オブジェクトの位置情報（座標情報）は記憶部１３０に記憶されているため、判定部１８３は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部１８３は、上下方向（Ｙ方向）に関しては、選択された画像オブジェクトの領域の左上点のＹ座標と、文字オブジェクトの領域の右下点のＹ座標との差、または、選択された画像オブジェクトの領域の右下点のＹ座標と、文字オブジェクトの領域の左上点のＹ座標との差を、画像オブジェクトと文字オブジェクトとの間の距離として算出し、算出された距離と第１の閾値Ｔｈ１とを比較することにより、上記判定を行う。同様に、判定部１８３は、左右方向（Ｘ方向）に関しては、選択された画像オブジェクトの領域の左上点のＸ座標と、文字オブジェクトの領域の右下点のＸ座標との差、または、選択された画像オブジェクトの領域の右下点のＸ座標と、文字オブジェクトの領域の左上点のＸ座標との差を、画像オブジェクトと文字オブジェクトとの間の距離として算出し、算出された距離と第１の閾値Ｔｈ１とを比較することにより、上記判定を行う。なお、「画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下である」という条件を、以下、「第１の条件」ともいう。
【００３８】
図５は、速度優先モードにおける距離判定の一例を示す説明図である。図５に示す例において、第２画像オブジェクトＩＯ（２）は第２文字オブジェクトＴＯ（２）と重なっているため、第２画像オブジェクトＩＯ（２）が選択されている場合には、文書データに含まれる文字オブジェクト（第２文字オブジェクトＴＯ（２））との間の距離が第１の閾値Ｔｈ１以下であると判定される。また、第３画像オブジェクトＩＯ（３）は第３文字オブジェクトＴＯ（３）と重なってはいないが、第３画像オブジェクトＩＯ（３）と第３文字オブジェクトＴＯ（３）との間の距離Ｄ３３は第１の閾値Ｔｈ１以下であるため、第３画像オブジェクトＩＯ（３）が選択されている場合にも、文書データに含まれる文字オブジェクト（第３文字オブジェクトＴＯ（３））との間の距離が第１の閾値Ｔｈ１以下であると判定される。
【００３９】
一方、図５に示す例において、第１画像オブジェクトＩＯ（１）については、第１文字オブジェクトＴＯ（１）との間の距離Ｄ１１と、第２文字オブジェクトＴＯ（２）との間の距離Ｄ１２と、第３文字オブジェクトＴＯ（３）との間の距離Ｄ１３とのいずれもが、第１の閾値Ｔｈ１より長いため、第１画像オブジェクトＩＯ（１）が選択されている場合には、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下ではないと判定される。
【００４０】
図５の例における第１画像オブジェクトＩＯ（１）のように、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下ではないと判定された場合には（Ｓ２２０：ＮＯ）、印刷データ生成部１８０の文字認識部１８２が、当該画像オブジェクトを対象として文字認識処理を行う（Ｓ２３０）。文字認識処理は、光学文字認識（ＯＣＲ）とも呼ばれ、記憶部１３０に記憶された画像オブジェクトを解析して、画像オブジェクトに含まれる文字の文字コードや文字フォント等を認識する処理である。なお、文字認識処理において、文字コードが特定されたが文字フォントが特定されない場合には、類似の文字フォントが探索されて割り当てられる。類似の文字フォントが検出できない場合には、規定の文字フォントが割り当てられる。あるいは、このような場合には、ユーザによる文字フォントの指定を受け付けるようにしてもよいし、文字オブジェクトへの変換を中止するとしてもよい。
【００４１】
また、文字認識処理では、画像オブジェクトから抽出された文字を、文字列に区分けする処理も行われる。ここで、文字列は、関連する複数の文字の集合である。この区分け処理は、例えば、各文字のＹ座標が同じであるか否か、文字間に空白スペースが存在するか否か、読点やピリオドが存在するか否か等の観点に従って実行される。図５の例では、第１画像オブジェクトＩＯ（１）から「Ｗａｔｃｈ  Ｆｏｒ  Ｐｅｄｅｓｔｒｉａｎｓ」という文字列を示す第１文字画像ＩＴ（１）が認識される。なお、画像オブジェクトから抽出された文字の内、他のいずれの文字とも関連しない文字は、文字列を構成しない単独文字として認識される。以下、単独文字と文字列とを、まとめて文字単位と呼ぶ。
【００４２】
文字認識処理において文字単位（単独文字または文字列）が認識された場合には（Ｓ２４０：ＹＥＳ）、印刷データ生成部１８０のオブジェクト変換部１８４は、認識された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う（Ｓ２５０）。これにより、画像オブジェクトに含まれる文字単位の画像が、文字コード等で規定された文字オブジェクトに変換される。なお、このとき、変換後の文字オブジェクトの描画処理も実行される。図５の例では、第１画像オブジェクトＩＯ（１）から認識された「Ｗａｔｃｈ  Ｆｏｒ  Ｐｅｄｅｓｔｒｉａｎｓ」という文字列が、各文字の文字コード等で規定された文字オブジェクトに変換される。一方、文字認識処理において文字単位が認識されなかった場合には（Ｓ２４０：ＮＯ）、オブジェクト変換処理（Ｓ２５０）の対象が存在しないため、オブジェクト変換処理はスキップされる。
【００４３】
また、図５の例における第２画像オブジェクトＩＯ（２）や第３画像オブジェクトＩＯ（３）のように、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であると判定された場合には（Ｓ２２０：ＹＥＳ）、文字認識処理（Ｓ２３０）およびオブジェクト変換処理（Ｓ２５０）はスキップされる。図５の例では、第２画像オブジェクトＩＯ（２）に含まれる「Ｗａｔｃｈ  Ｆｏｒ  Ｐｅｄｅｓｔｒｉａｎｓ」という文字列を示す第２文字画像ＩＴ（２）や、第３画像オブジェクトＩＯ（３）に含まれる「Ｓｐｅｃｉａｌ  Ｓａｌｅ  ！！！」という文字列を示す第３文字画像ＩＴ（３）は、文字として認識されず、文字オブジェクトに変換されない。
【００４４】
その後、印刷データ生成部１８０は、頁内のすべての画像オブジェクトが選択されたか否かを判定し（Ｓ３２０）、まだ選択されていない画像オブジェクトが存在する場合には（Ｓ３２０：ＮＯ）、上述した画像オブジェクトの選択（Ｓ２００）以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には（Ｓ３２０：ＹＥＳ）、印刷データ生成部１８０の出力部１８５は、この頁の描画処理によって生成されたラスタデータを、プリンタ２００が解釈できる形式の印刷データ（例えばＰＤＬデータ）に変換し、印刷データをプリンタ２００に向けて出力する（Ｓ３３０）。なお、Ｓ３２０において頁内のすべての画像オブジェクトが選択されたと判定された時点では、当該ページ内の画像オブジェクトを対象とした判定部１８３による距離に関する判定（Ｓ２２０）は確定しているため、印刷データの出力の後に、判定が覆ることはない。また、ＰＣ１００から出力された印刷データを受信したプリンタ２００は、印刷データを用いて画像をシートに形成する印刷処理を実行する。
【００４５】
このように、速度優先モードでは、画像オブジェクトと文字オブジェクトとの間の距離に関する判定（Ｓ２２０）が実行され、文字オブジェクトとの間の距離が第１の閾値Ｔｈ１より長いと判定された画像オブジェクトのみを対象として文字認識処理が行われ、文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であると判定された画像オブジェクトは文字認識処理の対象から除外される。そのため、速度優先モードでは、文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であると判定された画像オブジェクトに含まれる文字は、オブジェクト変換処理の対象から除外される。
【００４６】
一方、Ｓ２１０の判定において、一般モードが選択されていると判定された場合には（Ｓ２１０：ＮＯ）、文字認識部１８２が、選択された画像オブジェクト内の文字を認識する文字認識処理を行う（Ｓ２６０）。この文字認識処理（Ｓ２６０）の内容は、上述した速度優先モードにおいて実行される文字認識処理（Ｓ２３０）の内容と同様である。すなわち、この文字認識処理（Ｓ２６０）では、画像オブジェクトに含まれる文字が認識されると共に、認識された文字が文字列に区分けされる。また、この文字認識処理（Ｓ２６０）では、認識された文字単位（単独文字または文字列）を含む矩形領域（後述する図６において二点鎖線で示す）が抽出され、その矩形領域の位置情報（例えば矩形領域の左上点および右下点の座標を示す情報）が記憶部１３０に記憶される。
【００４７】
文字認識処理において文字単位（単独文字または文字列）が認識された場合には（Ｓ２７０：ＹＥＳ）、判定部１８３は、認識された文字単位の１つを選択し（Ｓ２８０）、選択された文字単位と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるか否かを判定する（Ｓ２９０）。この判定は、文書データ内に、選択された文字単位との間の距離が第２の閾値Ｔｈ２以下である文字オブジェクト（つまり、選択された文字単位に重なるか、または、比較的近くに位置する文字オブジェクト）が存在するか否かの判定である。すなわち、この判定では、選択された文字単位との間の距離が第２の閾値Ｔｈ２以下である文字オブジェクトが１つでも存在する場合には、「ＹＥＳ」と判定され、選択された文字単位との間の距離が第２の閾値Ｔｈ２より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「ＮＯ」と判定される。なお、第２の閾値Ｔｈ２は、第１の閾値Ｔｈ１と同じ値であってもよいし異なる値であってもよい。上述したように、文字認識処理において認識された文字単位を含む矩形領域の位置情報（座標情報）は記憶部１３０に記憶されているため、判定部１８３は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部１８３は、上下方向（Ｙ方向）に関しては、選択された文字単位を含む矩形領域の左上点のＹ座標と、文字オブジェクトの領域の右下点のＹ座標との差、または、選択された文字単位を含む矩形領域の右下点のＹ座標と、文字オブジェクトの領域の左上点のＹ座標との差を、文字単位と文字オブジェクトとの間の距離として算出し、算出された距離と第２の閾値Ｔｈ２とを比較することにより、上記判定を行う。同様に、判定部１８３は、左右方向（Ｘ方向）に関しては、選択された文字単位を含む矩形領域の左上点のＸ座標と、文字オブジェクトの領域の右下点のＸ座標との差、または、選択された文字単位を含む矩形領域の右下点のＸ座標と、文字オブジェクトの領域の左上点のＸ座標との差を、文字単位と文字オブジェクトとの間の距離として算出し、算出された距離と第２の閾値Ｔｈ２とを比較することにより、上記判定を行う。このように、一般モードでは、画像オブジェクトと文字オブジェクトとの間の距離の判定ではなく、画像オブジェクトに含まれる文字単位と文字オブジェクトとの間の距離の判定が行われる。なお、「画像オブジェクトについて、画像オブジェクト内の文字単位と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下である」という条件を、以下、「第２の条件」ともいう。
【００４８】
図６は、一般モードにおける距離判定の一例を示す説明図である。図６では、各画像オブジェクトに含まれる文字単位を含む矩形領域を二点鎖線で示している。図６に示す例において、第３画像オブジェクトＩＯ（３）に含まれる第３文字画像ＩＴ（３）の文字列と第３文字オブジェクトＴＯ（３）との間の距離Ｄ３３ａは第２の閾値Ｔｈ２以下であるため、第３文字画像ＩＴ（３）の文字列が選択されている場合には、文書データに含まれる文字オブジェクト（第３文字オブジェクトＴＯ（３））との間の距離が第２の閾値Ｔｈ２以下であると判定される。
【００４９】
一方、図６に示す例において、第２画像オブジェクトＩＯ（２）に含まれる第２文字画像ＩＴ（２）については、第２文字オブジェクトＴＯ（２）との間の距離Ｄ２２ａは第２の閾値Ｔｈ２より長く、かつ、他の文字オブジェクトＴＯとの間の距離も第２の閾値Ｔｈ２より長いため、第２文字画像ＩＴ（２）の文字列が選択されている場合には、文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下ではないと判定される。
【００５０】
なお、文字列と文字オブジェクトとの間の距離は、文字列を構成する各文字と文字オブジェクトとの間の距離の内の最も短い距離と言い換えることができる。例えば、図６の例では、第３文字画像ＩＴ（３）の文字列を構成する各文字と第３文字オブジェクトＴＯ（３）との間の距離は様々であるが、当該文字列と第３文字オブジェクトＴＯ（３）との間の距離Ｄ３３ａは、その内の最も短い距離（例えば文字「Ｓ」と第３文字オブジェクトＴＯ（３）との間の距離）である。
【００５１】
図６の例における第２文字画像ＩＴ（２）のように、選択された文字単位について、文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下ではないと判定された場合には（Ｓ２９０：ＮＯ）、オブジェクト変換部１８４は、選択された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う（Ｓ３００）。このオブジェクト変換処理の内容は、上述した速度優先モードにおいて実行されるオブジェクト変換処理（Ｓ２５０）の内容と同じである。図６の例では、第２画像オブジェクトＩＯ（２）に含まれる「Ｗａｔｃｈ  Ｆｏｒ  Ｐｅｄｅｓｔｒｉａｎｓ」という文字列が、各文字の文字コード等で規定された文字オブジェクトに変換される。
【００５２】
一方、図６の例における第３文字画像ＩＴ（３）のように、選択された文字単位について、文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であると判定された場合には（Ｓ２９０：ＹＥＳ）、オブジェクト変換処理（Ｓ３００）はスキップされる。図６の例では、第３画像オブジェクトＩＯ（３）に含まれる「Ｓｐｅｃｉａｌ  Ｓａｌｅ  ！！！」という文字列を示す第３文字画像ＩＴ（３）は、文字としては認識されるが、文字オブジェクトには変換されない。
【００５３】
その後、印刷データ生成部１８０は、選択された画像オブジェクト内のすべての文字単位が選択されたか否かを判定し（Ｓ３１０）、まだ選択されていない文字単位が存在する場合には（Ｓ３１０：ＮＯ）、上述した文字単位の選択（Ｓ２８０）以降の処理を繰り返し実行する。選択された画像オブジェクト内のすべての文字単位が選択されたと判定された場合には（Ｓ３１０：ＹＥＳ）、印刷データ生成部１８０は、頁内のすべての画像オブジェクトが選択されたか否かを判定し（Ｓ３２０）、まだ選択されていない画像オブジェクトが存在する場合には（Ｓ３２０：ＮＯ）、上述した画像オブジェクトの選択（Ｓ２００）以降の処理を繰り返し実行する。
【００５４】
一方、文字認識処理において文字単位が認識されなかった場合には（Ｓ２７０：ＮＯ）、画像オブジェクト内の各文字を文字オブジェクトに変換するための処理（上述のＳ２８０からＳ３１０までの処理）が実行される必要は無いため、これらの処理はスキップされ、印刷データ生成部１８０は、頁内のすべての画像オブジェクトが選択されたか否かを判定し（Ｓ３２０）、まだ選択されていない画像オブジェクトが存在する場合には（Ｓ３２０：ＮＯ）、画像オブジェクトの選択（Ｓ２００）以降の処理を繰り返し実行する。
【００５５】
頁内のすべての画像オブジェクトが選択されたと判定された場合には（Ｓ３２０：ＹＥＳ）、出力部１８５は、この頁の描画処理によって生成されたラスタデータを、プリンタ２００が解釈できる形式の印刷データに変換し、印刷データをプリンタ２００に向けて出力する（Ｓ３３０）。なお、Ｓ３２０において頁内のすべての画像オブジェクトが選択されたと判定された時点では、当該ページ内の画像オブジェクトを対象とした判定部１８３による距離に関する判定（Ｓ２９０）は確定しているため、印刷データの出力の後に、判定が覆ることはない。
【００５６】
このように、一般モードでは、画像オブジェクトに含まれる文字単位と文字オブジェクトとの間の距離に関する判定（Ｓ２９０）が実行される前に、文字認識処理が行われる。従って、頁内に含まれるすべての画像オブジェトが文字認識処理の対象となる。また、一般モードでは、文字単位と文字オブジェクトとの間の距離に関する判定において、文字オブジェクトとの間の距離が第２の閾値Ｔｈ２より長いと判定された文字単位のみを対象としてオブジェクト変換処理が行われ、文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であると判定された文字単位はオブジェクト変換処理の対象から除外される。
【００５７】
上述したＳ１９０の判定において、処理中の頁に画像オブジェクトが含まれないと判定された場合には（Ｓ１９０：ＮＯ）、ページ内の各画像オブジェクト内の文字単位を文字オブジェクトに変換するための処理（上述のＳ２００からＳ３２０までの処理）が実行される必要は無いため、これらの処理はスキップされ、出力部１８５は、この頁の描画処理によって生成されたラスタデータを、プリンタ２００が解釈できる形式の印刷データに変換し、印刷データをプリンタ２００に向けて出力する（Ｓ３３０）。
【００５８】
文書データのある頁についての印刷データの出力（Ｓ３３０）が行われた後、印刷データ生成部１８０は、文書データのすべての頁についての処理が完了したか否かを判定し（Ｓ３４０）、まだ完了していない頁が存在する場合には（Ｓ３４０：ＮＯ）、次の頁を対象に、上述した描画命令の取得処理（Ｓ１１０）以降の処理を繰り返し実行する。文書データのすべての頁についての処理が完了すると（Ｓ３４０：ＹＥＳ）、印刷データ生成処理が完了する。
【００５９】
以上説明したように、第１実施形態のＰＣ１００による印刷データ生成処理では、速度優先モードが選択されているときには、文書取得部１８１により文字オブジェクトと画像オブジェクトとを含む文書データが取得され、判定部１８３により、文書データに含まれる画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であるという条件（第１の条件）が満たされているか否かが判定され、第１の条件が満たされている画像オブジェクトを除外して、文字認識部１８２により文字認識処理が実行され、文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理がオブジェクト変換部１８４により行われる。このように、速度優先モードでは、文字オブジェクトとの間の距離が比較的遠い画像オブジェクト内の文字については、オブジェクト変換処理の対象とされることにより、印刷された文書の可読性や品質を向上させることができ、文字オブジェクトとの間の距離が比較的近い画像オブジェクト内の文字や、文字オブジェクトと重なっている画像オブジェクト内の文字については、オブジェクト変換処理の対象から除外されることにより、当初からの文字オブジェクトと画像オブジェクト内から認識された文字が変換された文字オブジェクトとが近くに配置されることを抑制することができ、印刷された文書の可読性や品質の低下を抑制することができる。
【００６０】
また、速度優先モードでは、文字認識処理（Ｓ２３０）の前に判定部１８３による距離に関する判定（Ｓ２２０）が実行され、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや、文字オブジェクトと重なっている画像オブジェクトについては、文字認識処理の対象からも除外されるため、不要な文字認識処理が実行されることを回避して、処理の高速化を実現することができる。
【００６１】
また、本実施形態のＰＣ１００による印刷データ生成処理では、一般モードが選択されているときには、文書取得部１８１により文字オブジェクトと画像オブジェクトとを含む文書データが取得され、文字認識部１８２により文書データに含まれるすべての画像オブジェクトを対象とした文字認識処理が実行され、判定部１８３により、画像オブジェクトについて、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるという条件（第２の条件）が満たされているか否かが判定され、第２の条件が満たされている画像オブジェクト内の文字を除外して、オブジェクト変換部１８４によるオブジェクト変換処理が行われる。すなわち、一般モードでは、画像オブジェクトと文字オブジェクトとの間の距離が第１の閾値Ｔｈ１以下であるという上記第１の条件が満たされているだけでは、当該画像オブジェクト内の文字はオブジェクト変換処理の対象外とはならず、第１の条件に加えて、画像オブジェクト内の文字と文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるという第２の条件が満たされると、当該文字がオブジェクト変換処理の対象外となる。そのため、一般モードでは、文字オブジェクトとの間の距離が比較的近い画像オブジェクト内の文字や、文字オブジェクトと重なっている画像オブジェクト内の文字であっても、文字オブジェクトとの間の距離が比較的遠い場合にはオブジェクト変換処理の対象とされるため、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
【００６２】
また、一般モードでは、画像オブジェクト内の文字と文字オブジェクトとの間の距離の判定が、文字単位（単独文字または文字列）毎に行われるため、文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下である文字と同一の文字列に属するすべての文字が、オブジェクト変換処理の対象から除外されることとなる。そのため、同一の文字列を構成する文字の内、一部の文字については文字オブジェクトに変換され、一部の文字については画像オブジェクトのままとされて、かえって可読性や出力品質が低下することを抑制することができる。
【００６３】
また、一般モードでは、文字認識処理（Ｓ２６０）の後に判定部１８３による距離に関する判定（Ｓ２９０）が実行されるため、画像オブジェクト内の文字の位置を精度良く特定することができ、距離に関する判定の精度を向上させて、印刷された文書の可読性や品質を効果的に向上させることができる。
【００６４】
Ｂ．第２実施形態：
図７は、第２実施形態における印刷システム１０のＰＣ１００の制御部１１０ａが実現する機能の一例を示すブロック図である。第２実施形態では、制御部１１０ａの印刷データ生成部１８０ａは、第１実施形態において説明した文書取得部１８１と文字認識部１８２と判定部１８３とオブジェクト変換部１８４と出力部１８５とに加えて、文字領域抽出部１８６を含む。第２実施形態の印刷システム１０の他の構成は、上述した第１実施形態の印刷システム１０の構成と同様であるため、同一の符号を付すことによってその説明を省略する。
【００６５】
図８は、第２実施形態における印刷データ生成処理の流れを示すフローチャートである。第２実施形態の印刷データ生成処理は、Ｓ２１０の判定において一般モードが選択されていると判定された場合（Ｓ２１０：ＮＯ）に実行される処理（Ｓ２５２〜Ｓ３１２）が、上述した第１実施形態の印刷データ生成処理と異なっている。第２実施形態の印刷データ生成処理におけるその他の処理の内容は、上述した第１実施形態と同様であるため、各処理に同一の符号を付すことによってその説明を省略する。
【００６６】
第２実施形態の印刷デー生成処理では、一般モードが選択されていると判定された場合には（Ｓ２１０：ＮＯ）、文字領域抽出部１８６が、選択された画像オブジェクトを対象として文字領域抽出処理を行う（Ｓ２５２）。文字領域抽出処理は、画像オブジェクト内の文字を認識することなく、画像オブジェクトを解析して、画像オブジェクトから文字を含むと推定される文字領域を抽出する処理である。文字領域抽出処理は、公知の方法で実現可能である。例えば、文字の画像は写真等の画像と比較してエッジが多いという特性を利用して、文字領域抽出部１８６は、画像オブジェクトにおける各画素のエッジ判別を行い、エッジと判別された画素数が閾値を超える領域を、文字領域として抽出する。文字領域抽出部１８６は、抽出された文字領域の位置情報（例えば矩形の文字領域の左上点および右下点の座標を示す情報）を記憶部１３０に記憶する。一般に、文字領域抽出処理は、画像が文字の画像と推定されるか否かを判別するだけでよく、どの文字であるかを特定する必要がないため、上述した画像オブジェクト内の文字を認識する文字認識処理と比較して処理負荷が軽い。
【００６７】
文字領域抽出処理において文字領域が抽出された場合には（Ｓ２５４：ＹＥＳ）、判定部１８３は、抽出された文字領域の１つを選択し（Ｓ２５６）、選択された文字領域と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるか否かを判定する（Ｓ２５８）。この判定は、文書データ内に、選択された文字領域との間の距離が第２の閾値Ｔｈ２以下である文字オブジェクト（つまり、選択された文字領域に重なるか、または、比較的近くに位置する文字オブジェクト）が存在するか否かの判定である。すなわち、この判定では、選択された文字領域との間の距離が第２の閾値Ｔｈ２以下である文字オブジェクトが１つでも存在する場合には、「ＹＥＳ」と判定され、選択された文字領域との間の距離が第２の閾値Ｔｈ２より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「ＮＯ」と判定される。上述したように、文字領域抽出処理において抽出された文字領域の位置情報（座標情報）は記憶部１３０に記憶されているため、判定部１８３は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部１８３は、上下方向（Ｙ方向）に関しては、選択された文字領域の左上点のＹ座標と、文字オブジェクトの領域の右下点のＹ座標との差、または、選択された文字領域の右下点のＹ座標と、文字オブジェクトの領域の左上点のＹ座標との差を、文字領域と文字オブジェクトとの間の距離として算出し、算出された距離と第２の閾値Ｔｈ２とを比較することにより、上記判定を行う。同様に、判定部１８３は、左右方向（Ｘ方向）に関しては、選択された文字領域の左上点のＸ座標と、文字オブジェクトの領域の右下点のＸ座標との差、または、選択された文字領域の右下点のＸ座標と、文字オブジェクトの領域の左上点のＸ座標との差を、文字領域と文字オブジェクトとの間の距離として算出し、算出された距離と第２の閾値Ｔｈ２とを比較することにより、上記判定を行う。このように、第２実施形態の印刷データ生成処理では、一般モードにおいて、画像オブジェクトから抽出された文字領域と文字オブジェクトとの間の距離の判定が行われる。文字領域には文字単位（単独文字または文字列）が含まれると推定されるため、文字領域と文字オブジェクトとの間の距離は、文字単位と文字オブジェクトとの間の距離であると推定される。そのため、この判定は、上述した第１実施形態における「画像オブジェクトについて、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下である」という第２の条件が満たされているか否かを判定するものであると言える。
【００６８】
選択された文字領域について、文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ１以下ではないと判定された場合には（Ｓ２５８：ＮＯ）、文字認識部１８２が、文字認識処理を行う（Ｓ２６０）。この文字認識処理の内容は、上述した第１実施形態において実行される文字認識処理（Ｓ２３０）の内容と同様である。ただし、ここでの文字認識処理は、画像オブジェクト全体ではなく、画像オブジェクトにおける選択された文字領域を対象に実行される。
【００６９】
文字認識処理において文字単位が認識された場合には（Ｓ２７０：ＹＥＳ）、オブジェクト変換部１８４は、認識された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う（Ｓ３００）。一方、文字認識処理において文字単位が認識されなかった場合には（Ｓ２７０：ＮＯ）、オブジェクト変換処理（Ｓ３００）はスキップされる。上述した文字領域抽出処理は、画像オブジェクト内の文字を認識することなく、画像オブジェクトから文字を含むと推定される文字領域を抽出する処理であるため、実際には文字が含まれない領域が誤って文字領域として抽出されることも起こり得る。そのような誤抽出の場合には、その後の文字認識処理（Ｓ２７０）において文字単位が認識されないため、オブジェクト変換処理はスキップされることとなる。
【００７０】
一方、選択された文字領域について、文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ１以下であると判定された場合には（Ｓ２５８：ＹＥＳ）、文字認識処理（Ｓ２６０）およびオブジェクト変換処理（Ｓ３００）はスキップされる。
【００７１】
その後、印刷データ生成部１８０は、選択された画像オブジェクト内のすべての文字領域が選択されたか否かを判定し（Ｓ３１２）、まだ選択されていない文字領域が存在する場合には（Ｓ３１２：ＮＯ）、上述した文字領域の選択（Ｓ２５６）以降の処理を繰り返し実行する。選択された画像オブジェクト内のすべての文字領域が選択されたと判定された場合には（Ｓ３１２：ＹＥＳ）、印刷データ生成部１８０は、頁内のすべての画像オブジェクトが選択されたか否かを判定し（Ｓ３２０）、まだ選択されていない画像オブジェクトが存在する場合には（Ｓ３２０：ＮＯ）、画像オブジェクトの選択（Ｓ２００）以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には（Ｓ３２０：ＹＥＳ）、上述した第１実施形態のＳ３３０以降の処理が同様に実行される。
【００７２】
一方、文字領域抽出処理において、選択された画像オブジェクトから文字領域が抽出されなかった場合には（Ｓ２５４：ＮＯ）、当該画像オブジェクトには文字が含まれないと推定されるため、画像オブジェクト内の各文字を文字オブジェクトに変換するための処理（上述のＳ２５６からＳ３１２までの処理）が実行される必要は無く、これらの処理はスキップされる。この場合には、印刷データ生成部１８０は、頁内のすべての画像オブジェクトが選択されたか否かを判定し（Ｓ３２０）、まだ選択されていない画像オブジェクトが存在する場合には（Ｓ３２０：ＮＯ）、画像オブジェクトの選択（Ｓ２００）以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には（Ｓ３２０：ＹＥＳ）、上述した第１実施形態のＳ３３０以降の処理が同様に実行される。
【００７３】
第２実施形態の印刷データ生成処理では、上述した第１実施形態の印刷データ生成処理と同様の効果を奏するのに加えて、以下の効果を奏する。すなわち、第２実施形態の印刷データ生成処理では、一般モードが選択されているときに、文字領域抽出部１８６により画像オブジェクト内の文字領域が抽出され、判定部１８３により、抽出された文字領域と文字オブジェクトとの間の距離が特定され、文字領域と文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるか否かが判定されることによって、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるという第２の条件が満たされているか否かが判定される。そのため、第２実施形態の印刷データ生成処理では、文字認識処理を行うことなく、文字認識処理より処理負荷の軽い文字領域抽出処理を行うことにより、第２の条件が満たされているか否かを判定することができるため、処理の高速化を実現することができる。
【００７４】
また、第２実施形態の印刷データ生成処理では、一般モードが選択されているときに、画像オブジェクト全体ではなく画像オブジェクト内の文字領域を対象として文字認識処理が実行されるため、文字認識処理に要する時間を短縮することができ、さらなる処理の高速化を実現することができる。
【００７５】
Ｃ．変形例：
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
【００７６】
上記実施形態における印刷システム１０の構成や、印刷システム１０を構成するＰＣ１００およびプリンタ２００の構成は、あくまで一例であり、種々変形可能である。例えば、ＰＣ１００の制御部１１０が、複数のＣＰＵ１２０を備えていてもよいし、１つまたは複数のＡＳＩＣ等のハードウェアを備えていてもよい。そのような場合に、印刷データ生成処理における一部または全部の処理の実行主体が、複数のＣＰＵ１２０であってもよいし、ハードウェアであってもよい。
【００７７】
上記実施形態の印刷データ生成処理では、速度優先モードと一般モードとのいずれが選択されているかに応じて異なる処理が実行されるが、このようなモード選択が許容されず、いずれか一方の処理のみが実行可能であるとしてもよい。
【００７８】
また、上記実施形態の印刷データ生成処理では、画像オブジェクト（一般モードにおいては画像オブジェクト内の文字）と文字オブジェクトとが重なるか、または、比較的近くに位置する場合に、オブジェクト変換処理の対象から除外されるが、画像オブジェクト（一般モードにおいては画像オブジェクト内の文字）と文字オブジェクトとが重なる場合のみに、オブジェクト変換処理の対象から除外されるとしてもよい。これは、第１の閾値Ｔｈ１（一般モードにおいては第２の閾値Ｔｈ２）をゼロに設定することにより実現可能である。あるいは、画像オブジェクト（一般モードにおいては画像オブジェクト内の文字）と文字オブジェクトとの重なりの程度が比較的大きい場合のみに、オブジェクト変換処理の対象から除外されるとしてもよい。これは、第１の閾値Ｔｈ１（一般モードにおいては第２の閾値Ｔｈ２）を負の値に設定することにより実現可能である。
【００７９】
また、上記実施形態の印刷データ生成処理では、一般モードにおいて、画像オブジェクト内の文字単位と文書データに含まれる文字オブジェクトとの間の距離が第２の閾値Ｔｈ２以下であるという第２の条件が満たされるか否かの判定（図３のＳ２９０）が実行されるが、これに加えて、画像オブジェクト内の文字単位のフォントと、当該文字単位との間の距離が第２の閾値Ｔｈ２以下である文字オブジェクトのフォントとが同一であるという第３の条件が満たされるか否かの判定が実行されるとしてもよい。そして、第２の条件が満たされ、かつ、第３の条件が満たされた場合に、当該文字単位がオブジェクト変換処理の対象から除外され、第２の条件が満たされても、第３の条件が満たされない場合には、当該文字単位がオブジェクト変換処理の対象とされるとしてもよい。すなわち、画像オブジェクト内の文字単位と文字オブジェクトとが重なるか、または、比較的近くに位置する場合であっても、画像オブジェクト内の文字単位のフォントと文字オブジェクトのフォントとが異なる場合には、可読性や品質への影響は少ないとして、当該文字単位をオブジェクト変換処理の対象としてもよい。このようにすれば、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
【００８０】
同様に、一般モードにおいて、第２の条件が満たされるか否かの判定（図３のＳ２９０）に加えて、画像オブジェクトに濃さの階調値が第３の閾値以上の文字が含まれるという第４の条件が満たされるか否かの判定が実行されるとしてもよい。そして、第２の条件が満たされ、かつ、第４の条件が満たされた場合に、画像オブジェクト内の文字単位の内、少なくとも、階調値が第３の閾値以上の文字単位がオブジェクト変換処理の対象から除外され、第２の条件が満たされても、第４の条件が満たされない場合には、当該文字単位がオブジェクト変換処理の対象とされるとしてもよい。すなわち、画像オブジェクト内の文字単位と文字オブジェクトとが重なるか、または、比較的近くに位置する場合であっても、画像オブジェクト内の文字単位が薄い場合には、可読性や品質への影響は少ないとして、当該文字単位をオブジェクト変換処理の対象としてもよい。このようにすれば、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
【００８１】
また、上記実施形態や変形例の印刷データ生成処理では、画像オブジェクトに含まれる文字列を構成する各文字がオブジェクト変換処理の対象となるか否かが、文字列の単位で決定されるが、各文字の単位で決定されるとしてもよい。例えば、画像オブジェクト内のある文字列を構成する文字の内、文字オブジェクトと重なるか、または、比較的文字オブジェクトの近くに位置する文字のみがオブジェクト変換処理の対象から除外され、当該文字列を構成する他の文字についてはオブジェクト変換処理の対象とされてもよい。
【００８２】
また、上記実施形態では、頁単位で、判定部１８３による距離に関する判定が確定した後に、その頁の描画処理によって生成されたラスタデータが印刷データに変換されて出力されるとしているが、頁単位ではなく、所定のバンド単位で、判定部１８３による距離に関する判定が確定した後に、そのバンドの描画処理によって生成されたラスタデータが印刷データに変換されて出力されるとしてもよい。なお、あるバンドについての判定部１８３による距離に関する判定は、当該バンド外のオブジェクトの描画処理が完了するまで確定しない場合もある。そのような場合には、当該バンド外のオブジェクトの描画処理が完了し、当該バンドについての判定部１８３による距離に関する判定が確定した後に、そのバンドの描画処理によって生成されたラスタデータが印刷データに変換されて出力される。
【００８３】
上記実施形態の印刷データ生成処理において、一部の処理を省略したり、ある処理と他の処理との順番を入れ替えたりしてもよい。また、上記実施形態の印刷データ生成処理における各処理は、主としてプリンタドライバを実行するＣＰＵ１２０により実現されているが、一部または全部の処理が、アプリケーションプログラム等の他のソフトウェアを実行するＣＰＵ１２０により実現されてもよい。また、上記実施形態の印刷データ生成処理における一部または全部の処理が、ＰＣ１００の制御部１１０ではなくプリンタ２００の制御部２１０により実行されるとしてもよい。
【００８４】
また、本発明は、印刷データ生成処理に限らず、他の種類の情報処理にも適用可能である。例えば、本発明は、例えばＰＤＦ等の特定のファイル形式へのファイル出力処理にも適用可能である。本発明を特定のファイル形式へのファイル出力処理に適用する場合には、例えば図３に示す印刷データ生成処理におけるＳ３３０の処理の代わりに、描画処理によって生成されたラスタデータを特定の形式のファイルに（例えばＰＤＦファイル）に変換して出力する処理が実行される。
【符号の説明】
【００８５】
１０：印刷システム  １００：パーソナルコンピュータ  １１０：制御部  １２０：ＣＰＵ  １３０：記憶部  １４０：表示部  １５０：操作部  １６０：通信部  １８０：印刷データ生成部  １８１：文書取得部  １８２：文字認識部  １８３：判定部  １８４：オブジェクト変換部  １８５：出力部  １８６：文字領域抽出部  ２００：プリンタ  ２１０：制御部  ２２０：ＣＰＵ  ２３０：記憶部  ２４０：表示部  ２５０：操作部  ２６０：通信部  ２７０：印刷実行部
【図１】
2016189086.tif 000003
【図２】
2016189086.tif 000004
【図３】
2016189086.tif 000005
【図４】
2016189086.tif 000006
【図５】
2016189086.tif 000007
【図６】
2016189086.tif 000008
【図７】
2016189086.tif 000009
【図８】
2016189086.tif 000010