JP2016189086A - 情報処理装置、情報処理方法およびコンピュータプログラム - Google Patents
情報処理装置、情報処理方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2016189086A JP2016189086A JP2015068450A JP2015068450A JP2016189086A JP 2016189086 A JP2016189086 A JP 2016189086A JP 2015068450 A JP2015068450 A JP 2015068450A JP 2015068450 A JP2015068450 A JP 2015068450A JP 2016189086 A JP2016189086 A JP 2016189086A
- Authority
- JP
- Japan
- Prior art keywords
- character
- image object
- unit
- image
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Character Input (AREA)
Abstract
【課題】文書を出力したときの可読性や出力品質を向上させる。【解決手段】情報処理装置は、文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、文書データに含まれる画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値以下であるという第1の条件を含む所定の条件が満たされているか否かを判定する判定部と、所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部とを備える。【選択図】図3
Description
本明細書によって開示される技術は、情報処理装置に関する。
文書データに含まれる画像オブジェクト内の文字を認識し、認識された文字を文字オブジェクトに変換することにより、その後に文書を印刷したりファイル出力したりした場合の可読性や出力品質を向上させる技術が知られている(例えば特許文献1参照)。
画像オブジェクトと文字オブジェクトとが混在する文書データにおいて、画像オブジェクトと文字オブジェクトとが近くに配置されている場合に、上記従来技術のように画像オブジェクト内の文字を文字オブジェクトに変換する処理を行うと、当初からの文字オブジェクトと画像オブジェクトから変換された文字オブジェクトとが近くに配置されることとなり、文書を出力したときの可読性や出力品質がかえって低下するおそれがある。
本明細書では、上述した課題の少なくとも一部を解決することが可能な技術を開示する。
本明細書に開示される技術は、例えば、以下の形態として実現することが可能である。
(1)本明細書に開示される情報処理装置は、文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第1の閾値以下であるという第1の条件を含む所定の条件が満たされているか否かを判定する判定部と、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部と、を備える。本情報処理装置によれば、文字オブジェクトとの間の距離が比較的遠い画像オブジェクト内の文字については、オブジェクト変換処理の対象とされることにより、出力された文書の可読性や出力品質を向上させることができ、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや、文字オブジェクトと重なっている画像オブジェクトについては、画像オブジェクト内の文字の少なくとも一部がオブジェクト変換処理の対象から除外されることにより、当初からの文字オブジェクトと画像オブジェクト内から認識された文字が変換された文字オブジェクトとが近くに配置されることを抑制することができ、出力された文書の可読性や出力品質の低下を抑制することができる。
(2)上記情報処理装置において、前記文字認識部は、前記所定の条件が満たされていると判定された画像オブジェクトを、前記文字認識処理の対象から除外する構成としてもよい。本情報処理装置によれば、不要な文字認識処理が実行されることを回避して、処理の高速化を実現することができる。
(3)上記情報処理装置において、前記所定の条件は、前記文書データに含まれる画像オブジェクトについて、前記画像オブジェクト内の文字と前記文書データに含まれる文字オブジェクトとの間の距離が第2の閾値以下であるという第2の条件を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第2の閾値以下である文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、画像オブジェクトと文字オブジェクトとの間の距離が第1の閾値Th1以下であるという上記第1の条件が満たされているだけでは、当該画像オブジェクト内の文字はオブジェクト変換処理の対象外とはならず、第1の条件に加えて、画像オブジェクト内の文字と文字オブジェクトとの間の距離が第2の閾値Th2以下であるという第2の条件が満たされると、当該文字がオブジェクト変換処理の対象外となる。そのため、本情報処理装置によれば、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや文字オブジェクトと重なっている画像オブジェクト内の文字であっても、文字オブジェクトとの間の距離が比較的遠い場合にはオブジェクト変換処理の対象とされるため、出力された文書の可読性や品質をさらに効果的に向上させることができる。
(4)上記情報処理装置において、前記文字認識処理は、画像オブジェクトから抽出された文字を文字列に区分けする処理を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第2の閾値以下である文字と同一の文字列に属する文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、画像オブジェクト内の同一の文字列を構成する文字の内、一部の文字については文字オブジェクトに変換され、一部の文字については画像オブジェクトのままとされて、かえって可読性や出力品質が低下することを抑制することができる。
(5)上記情報処理装置において、さらに、画像オブジェクト内の文字を認識することなく画像オブジェクトにおける文字を含む文字領域を抽出する文字領域抽出処理を行う文字領域抽出部を備え、前記判定部は、前記文字領域抽出処理により抽出された前記文字領域と文字オブジェクトとの間の距離を特定することにより、前記第2の条件が満たされているか否かを判定する構成としてもよい。本情報処理装置によれば、文字を認識する処理を行うことなく、より処理負荷の軽い文字領域抽出処理を行うことにより、第2の条件が満たされているか否かを判定することができるため、処理の高速化を実現することができる。
(6)上記情報処理装置において、前記所定の条件は、画像オブジェクト内の文字のフォントと、前記文字との間の距離が前記第2の閾値以下である文字オブジェクトのフォントとが同一であるという第3の条件を含む構成としてもよい。本情報処理装置によれば、可読性や品質への悪影響を抑制しつつ、出力された文書の可読性や出力品質をさらに効果的に向上させることができる。
(7)上記情報処理装置において、前記所定の条件は、画像オブジェクトに濃さの階調値が第3の閾値以上の文字が含まれるという第4の条件を含み、前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、前記階調値が前記第3の閾値以上の文字を、前記オブジェクト変換処理の対象から除外する構成としてもよい。本情報処理装置によれば、可読性や品質への悪影響を抑制しつつ、出力された文書の可読性や出力品質をさらに効果的に向上させることができる。
(8)上記情報処理装置において、さらに、前記文書データの内、前記判定部による判定が確定した分のデータを所定の出力先に出力する出力部を備える構成としてもよい。本情報処理装置によれば、データの出力の後に判定が覆ることがないため、無駄な処理が実行されることを抑制することができる。
(9)上記情報処理装置において、さらに、第1の指示と第2の指示とを選択的に受け付ける操作部を備え、前記文字認識部は、前記第1の指示が受け付けられた場合には、前記判定部による判定の後に前記文字認識処理を実行し、前記第2の指示が受け付けられた場合には、前記判定部による判定の前に前記文字認識処理を実行する構成としてもよい。本情報処理装置によれば、文書の可読性や出力品質の向上と処理の高速化とのいずれを優先するかを選択することができ、ユーザの利便性を向上させることができる。
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、情報処理装置、情報処理方法、情報処理システム、印刷装置、印刷方法、印刷システム、それらの装置、方法、システムの機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することが可能である。
A.第1実施形態:
A−1.印刷システム10の構成:
図1は、第1実施形態における印刷システム10の構成を示す説明図である。印刷システム10は、印刷データを生成するパーソナルコンピュータ(以下、「PC」という)100と、生成された印刷データに基づきシートに画像を形成するプリンタ200とを備える。PC100とプリンタ200とは、例えばLAN等のネットワークNETを介して互いに通信可能に接続されている。PC100は、情報処理装置の一例である。
A−1.印刷システム10の構成:
図1は、第1実施形態における印刷システム10の構成を示す説明図である。印刷システム10は、印刷データを生成するパーソナルコンピュータ(以下、「PC」という)100と、生成された印刷データに基づきシートに画像を形成するプリンタ200とを備える。PC100とプリンタ200とは、例えばLAN等のネットワークNETを介して互いに通信可能に接続されている。PC100は、情報処理装置の一例である。
PC100は、制御部110と、表示部140と、操作部150と、通信部160とを備える。制御部110と表示部140と操作部150と通信部160とは、バス等を介して互いに接続されている。制御部110は、CPU120と、記憶部130とを含む。
PC100の操作部150は、例えばマウスやキーボード(図示せず)を有し、ユーザによる各種の指示を受け付ける。表示部140は、例えば液晶ディスプレイを有し、各種の画面を表示する。通信部160は、プリンタ200等の他機器との間で、有線通信方式または無線通信方式により通信を行う。
PC100の記憶部130は、ROMやRAM等により構成され、各種のプログラムを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。本実施形態では、記憶部130は、少なくとも、オペレーティングシステム(以下、「OS」という)と、OS上で動作するアプリケーションプログラム(例えば、ワードプロセッサソフトや表計算ソフト、WEBブラウザ等)と、プリンタ200の動作を制御するソフトウェアであるプリンタドライバとを記憶している。
PC100のCPU120は、記憶部130から読み出した各種プログラムを実行する。これにより、制御部110の各機能が実現される。図2は、第1実施形態における制御部110が実現する機能の一例を示すブロック図である。CPU120が、プリンタドライバを実行することにより、制御部110は、印刷データ生成部180として機能する。印刷データ生成部180は、文書取得部181と、文字認識部182と、判定部183と、オブジェクト変換部184と、出力部185とを含む。これら各部の機能は、後述の「A−2.印刷データ生成処理」において説明する。
プリンタ200(図1)は、制御部210と、表示部240と、操作部250と、通信部260と、印刷実行部270とを備える。制御部210と表示部240と操作部250と通信部260と印刷実行部270とは、バス等を介して互いに接続されている。制御部210は、CPU220と、記憶部230とを含む。
プリンタ200の印刷実行部270は、電子写真方式やインクジェット方式により紙等のシートに画像を形成する機構である。操作部250は、例えばボタン(図示せず)を有し、ユーザによる各種の指示を受け付ける。表示部240は、例えば液晶ディスプレイを有し、各種の設定画面や装置の動作状態等を表示する。通信部260は、PC100等の他機器との間で、有線通信方式または無線通信方式により通信を行う。
プリンタ200の記憶部230は、ROMやRAM等により構成され、各種のプログラムを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。CPU220は、記憶部230から読み出した各種プログラムを実行する。これにより、制御部210の各機能が実現される。例えば、制御部210は、PC100から受領した印刷データを用いて印刷実行部270に画像を形成させる印刷処理を行う。
A−2.印刷データ生成処理:
PC100の印刷データ生成部180は、印刷データ生成処理を行う。印刷データ生成処理は、プリンタ200による印刷処理に用いられる印刷データを生成する処理である。本実施形態の印刷データ生成処理では、印刷された文書の可読性や品質を向上させるために、文書データに含まれる画像オブジェクト内の文字を文字オブジェクトに変換するオブジェクト変換処理が行われる。ただし、画像オブジェクト内の文字の内、文字オブジェクトとの間の距離に関する所定の条件が満たされている文字については、オブジェクト変換処理の対象から除外される。以下、この点を含め、印刷データ生成処理について説明する。
PC100の印刷データ生成部180は、印刷データ生成処理を行う。印刷データ生成処理は、プリンタ200による印刷処理に用いられる印刷データを生成する処理である。本実施形態の印刷データ生成処理では、印刷された文書の可読性や品質を向上させるために、文書データに含まれる画像オブジェクト内の文字を文字オブジェクトに変換するオブジェクト変換処理が行われる。ただし、画像オブジェクト内の文字の内、文字オブジェクトとの間の距離に関する所定の条件が満たされている文字については、オブジェクト変換処理の対象から除外される。以下、この点を含め、印刷データ生成処理について説明する。
図3は、第1実施形態における印刷データ生成処理の流れを示すフローチャートである。例えば、CPU120によってアプリケーションプログラムが実行され、文書(例えば、ワードやPDF、HTML等の形式の文書)の作成や閲覧が行われているときに、操作部150に当該文書の印刷指示が受け付けられると、印刷データ生成処理が開始される。
印刷データ生成処理が開始されると、OSの機能により、印刷対象の文書データに含まれるオブジェクトの描画命令が発行される。印刷データ生成部180の文書取得部181は、発行されたオブジェクトの描画命令を取得する(S110)。
文書取得部181は、取得された描画命令が、画像オブジェクトの描画命令であるか、文字オブジェクトの描画命令であるか、それ以外のオブジェクト(例えばグラフィックオブジェクト)の描画命令であるかを判定する(S120)。ここで、画像オブジェクトは、画像を、マトリクス状に配列された複数の画素のそれぞれの階調値によって表現したデータ(いわゆるビットマップデータ)である。画像オブジェクトの表す画像には、写真、文字、グラフィック、それらの組み合わせ等が含まれ得る。また、文字オブジェクトは、1つまたは複数の文字を、文字コードや文字フォント等によって規定したデータである。
図4は、印刷対象の文書DOの一例を示す説明図である。図4に示す例では、文書DOのある頁に、3つの画像オブジェクト(第1画像オブジェクトIO(1)、第2画像オブジェクトIO(2)、第3画像オブジェクトIO(3))と、3つの文字オブジェクト(第1文字オブジェクトTO(1)、第2文字オブジェクトTO(2)、第3文字オブジェクトTO(3))とが含まれている。また、図4に示す例では、第1画像オブジェクトIO(1)内に第1文字画像IT(1)が含まれ、第2画像オブジェクトIO(2)内に第2文字画像IT(2)が含まれ、第3画像オブジェクトIO(3)内に第3文字画像IT(3)が含まれている。これらの文字画像ITは、あくまで画像であるため、各画素の階調値で表現されており、文字コード等により規定されている訳ではない。なお、図4には、各オブジェクトの領域を示す破線が図示されているが、これらの破線は各オブジェクトの内容ではない。
S120の判定(図3)において、取得された描画命令は画像オブジェクトの描画命令であると判定された場合には、文書取得部181は、画像オブジェクトの位置情報と画像オブジェクトのデータとを記憶部130に記憶させ(S160)、画像オブジェクトの描画処理を行う(S170)。ここで、画像オブジェクトの位置情報は、文書データにおける処理中の頁において画像が配置される位置を示す情報であり、例えば、画像オブジェクトの領域の左上点および右下点の座標を示す情報である。
また、S120の判定において、取得された描画命令は文字オブジェクトの描画命令であると判定された場合には、文書取得部181は、文字オブジェクトの位置情報を記憶部130に記憶させ(S140)、文字オブジェクトの描画処理を行う(S150)。文字オブジェクトの位置情報は、画像オブジェクトの位置情報と同様に、文書データにおける処理中の頁において文字が配置される位置を示す情報であり、例えば、文字オブジェクトの領域の左上点および右下点の座標を示す情報である。
また、S120の判定において、取得された描画命令は画像オブジェクトおよび文字オブジェクト以外の種類のオブジェクト(例えばグラフィックオブジェクト)の描画命令であると判定された場合には、文書取得部181は、当該オブジェクトの描画処理を行う(S130)。
その後、文書取得部181は、文書データにおける処理中の頁についての描画処理がすべて完了したか否かを判定し(S180)、まだ完了していないと判定された場合には(S180:NO)、次の描画命令の取得処理(S110)に戻り、上述した処理を繰り返す。一方、処理中の頁についての描画処理がすべて完了したと判定された場合には(S180:YES)、S190以降の処理に進む。この時点では、文書データにおける処理中の頁に含まれるすべてのオブジェクトの描画命令が取得され、各オブジェクトが描画されてラスタデータが生成され、画像オブジェクトおよび文字オブジェクトについては位置情報が記憶部130に記憶され、さらに画像オブジェクトについてはオブジェクトのデータが記憶部130に記憶される。なお、文書データに含まれる各オブジェクトの描画命令の取得は、文書データの取得の一例である。
次に、印刷データ生成部180は、記憶部130に画像オブジェクトが記憶されているか否か、すなわち、処理中の頁に画像オブジェクトが含まれるか否かを判定する(S190)。記憶部130に画像オブジェクトが記憶されていると判定された場内には(S190:YES)、印刷データ生成部180は、画像オブジェクトを1つ選択する(S200)。
次に、印刷データ生成部180は、印刷データ生成処理のモードとして、速度優先モードと一般モードとのいずれが選択されているかを判定する(S210)。PC100の操作部150は、速度優先モードと一般モードとのいずれかを選択するユーザ指示を受け付け可能である。本実施形態では、この選択指示は、冒頭の文書印刷指示の受け付けに合わせて受け付けられる。なお、いずれか一方のモード(例えば一般モード)がデフォルトで選択されており、ユーザが他方のモード(例えば速度優先モード)を希望する場合に操作部150を介して指示を入力することによって、モードの選択が行われるとしてもよい。また、ユーザが印刷画質の選択指示を操作部150を介して入力することによって、モードの選択が行われるとしてもよい。例えば、印刷画質として高画質が選択された場合には、印刷データ生成処理のモードとして一般モードが選択され、印刷画質として上記高画質より低い画質が選択された場合には、印刷データ生成処理のモードとして速度優先モードが選択されるとしてもよい。速度優先モードの選択指示は、第1の指示の一例であり、一般モードの選択指示は、第2の指示の一例である。
速度優先モードが選択されていると判定された場合(S210:YES)、印刷データ生成部180の判定部183は、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下であるか否かを判定する(S220)。この判定は、文書データ内に、選択された画像オブジェクトとの間の距離が第1の閾値Th1以下である文字オブジェクト(つまり、選択された画像オブジェクトに重なるか、または、比較的近くに位置する文字オブジェクト)が存在するか否かの判定である。すなわち、この判定では、選択された画像オブジェクトとの間の距離が第1の閾値Th1以下である文字オブジェクトが1つでも存在する場合には、「YES」と判定され、選択された画像オブジェクトとの間の距離が第1の閾値Th1より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「NO」と判定される。上述したように、画像オブジェクトおよび文字オブジェクトの位置情報(座標情報)は記憶部130に記憶されているため、判定部183は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部183は、上下方向(Y方向)に関しては、選択された画像オブジェクトの領域の左上点のY座標と、文字オブジェクトの領域の右下点のY座標との差、または、選択された画像オブジェクトの領域の右下点のY座標と、文字オブジェクトの領域の左上点のY座標との差を、画像オブジェクトと文字オブジェクトとの間の距離として算出し、算出された距離と第1の閾値Th1とを比較することにより、上記判定を行う。同様に、判定部183は、左右方向(X方向)に関しては、選択された画像オブジェクトの領域の左上点のX座標と、文字オブジェクトの領域の右下点のX座標との差、または、選択された画像オブジェクトの領域の右下点のX座標と、文字オブジェクトの領域の左上点のX座標との差を、画像オブジェクトと文字オブジェクトとの間の距離として算出し、算出された距離と第1の閾値Th1とを比較することにより、上記判定を行う。なお、「画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下である」という条件を、以下、「第1の条件」ともいう。
図5は、速度優先モードにおける距離判定の一例を示す説明図である。図5に示す例において、第2画像オブジェクトIO(2)は第2文字オブジェクトTO(2)と重なっているため、第2画像オブジェクトIO(2)が選択されている場合には、文書データに含まれる文字オブジェクト(第2文字オブジェクトTO(2))との間の距離が第1の閾値Th1以下であると判定される。また、第3画像オブジェクトIO(3)は第3文字オブジェクトTO(3)と重なってはいないが、第3画像オブジェクトIO(3)と第3文字オブジェクトTO(3)との間の距離D33は第1の閾値Th1以下であるため、第3画像オブジェクトIO(3)が選択されている場合にも、文書データに含まれる文字オブジェクト(第3文字オブジェクトTO(3))との間の距離が第1の閾値Th1以下であると判定される。
一方、図5に示す例において、第1画像オブジェクトIO(1)については、第1文字オブジェクトTO(1)との間の距離D11と、第2文字オブジェクトTO(2)との間の距離D12と、第3文字オブジェクトTO(3)との間の距離D13とのいずれもが、第1の閾値Th1より長いため、第1画像オブジェクトIO(1)が選択されている場合には、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下ではないと判定される。
図5の例における第1画像オブジェクトIO(1)のように、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下ではないと判定された場合には(S220:NO)、印刷データ生成部180の文字認識部182が、当該画像オブジェクトを対象として文字認識処理を行う(S230)。文字認識処理は、光学文字認識(OCR)とも呼ばれ、記憶部130に記憶された画像オブジェクトを解析して、画像オブジェクトに含まれる文字の文字コードや文字フォント等を認識する処理である。なお、文字認識処理において、文字コードが特定されたが文字フォントが特定されない場合には、類似の文字フォントが探索されて割り当てられる。類似の文字フォントが検出できない場合には、規定の文字フォントが割り当てられる。あるいは、このような場合には、ユーザによる文字フォントの指定を受け付けるようにしてもよいし、文字オブジェクトへの変換を中止するとしてもよい。
また、文字認識処理では、画像オブジェクトから抽出された文字を、文字列に区分けする処理も行われる。ここで、文字列は、関連する複数の文字の集合である。この区分け処理は、例えば、各文字のY座標が同じであるか否か、文字間に空白スペースが存在するか否か、読点やピリオドが存在するか否か等の観点に従って実行される。図5の例では、第1画像オブジェクトIO(1)から「Watch For Pedestrians」という文字列を示す第1文字画像IT(1)が認識される。なお、画像オブジェクトから抽出された文字の内、他のいずれの文字とも関連しない文字は、文字列を構成しない単独文字として認識される。以下、単独文字と文字列とを、まとめて文字単位と呼ぶ。
文字認識処理において文字単位(単独文字または文字列)が認識された場合には(S240:YES)、印刷データ生成部180のオブジェクト変換部184は、認識された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う(S250)。これにより、画像オブジェクトに含まれる文字単位の画像が、文字コード等で規定された文字オブジェクトに変換される。なお、このとき、変換後の文字オブジェクトの描画処理も実行される。図5の例では、第1画像オブジェクトIO(1)から認識された「Watch For Pedestrians」という文字列が、各文字の文字コード等で規定された文字オブジェクトに変換される。一方、文字認識処理において文字単位が認識されなかった場合には(S240:NO)、オブジェクト変換処理(S250)の対象が存在しないため、オブジェクト変換処理はスキップされる。
また、図5の例における第2画像オブジェクトIO(2)や第3画像オブジェクトIO(3)のように、選択された画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下であると判定された場合には(S220:YES)、文字認識処理(S230)およびオブジェクト変換処理(S250)はスキップされる。図5の例では、第2画像オブジェクトIO(2)に含まれる「Watch For Pedestrians」という文字列を示す第2文字画像IT(2)や、第3画像オブジェクトIO(3)に含まれる「Special Sale !!!」という文字列を示す第3文字画像IT(3)は、文字として認識されず、文字オブジェクトに変換されない。
その後、印刷データ生成部180は、頁内のすべての画像オブジェクトが選択されたか否かを判定し(S320)、まだ選択されていない画像オブジェクトが存在する場合には(S320:NO)、上述した画像オブジェクトの選択(S200)以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には(S320:YES)、印刷データ生成部180の出力部185は、この頁の描画処理によって生成されたラスタデータを、プリンタ200が解釈できる形式の印刷データ(例えばPDLデータ)に変換し、印刷データをプリンタ200に向けて出力する(S330)。なお、S320において頁内のすべての画像オブジェクトが選択されたと判定された時点では、当該ページ内の画像オブジェクトを対象とした判定部183による距離に関する判定(S220)は確定しているため、印刷データの出力の後に、判定が覆ることはない。また、PC100から出力された印刷データを受信したプリンタ200は、印刷データを用いて画像をシートに形成する印刷処理を実行する。
このように、速度優先モードでは、画像オブジェクトと文字オブジェクトとの間の距離に関する判定(S220)が実行され、文字オブジェクトとの間の距離が第1の閾値Th1より長いと判定された画像オブジェクトのみを対象として文字認識処理が行われ、文字オブジェクトとの間の距離が第1の閾値Th1以下であると判定された画像オブジェクトは文字認識処理の対象から除外される。そのため、速度優先モードでは、文字オブジェクトとの間の距離が第1の閾値Th1以下であると判定された画像オブジェクトに含まれる文字は、オブジェクト変換処理の対象から除外される。
一方、S210の判定において、一般モードが選択されていると判定された場合には(S210:NO)、文字認識部182が、選択された画像オブジェクト内の文字を認識する文字認識処理を行う(S260)。この文字認識処理(S260)の内容は、上述した速度優先モードにおいて実行される文字認識処理(S230)の内容と同様である。すなわち、この文字認識処理(S260)では、画像オブジェクトに含まれる文字が認識されると共に、認識された文字が文字列に区分けされる。また、この文字認識処理(S260)では、認識された文字単位(単独文字または文字列)を含む矩形領域(後述する図6において二点鎖線で示す)が抽出され、その矩形領域の位置情報(例えば矩形領域の左上点および右下点の座標を示す情報)が記憶部130に記憶される。
文字認識処理において文字単位(単独文字または文字列)が認識された場合には(S270:YES)、判定部183は、認識された文字単位の1つを選択し(S280)、選択された文字単位と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であるか否かを判定する(S290)。この判定は、文書データ内に、選択された文字単位との間の距離が第2の閾値Th2以下である文字オブジェクト(つまり、選択された文字単位に重なるか、または、比較的近くに位置する文字オブジェクト)が存在するか否かの判定である。すなわち、この判定では、選択された文字単位との間の距離が第2の閾値Th2以下である文字オブジェクトが1つでも存在する場合には、「YES」と判定され、選択された文字単位との間の距離が第2の閾値Th2より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「NO」と判定される。なお、第2の閾値Th2は、第1の閾値Th1と同じ値であってもよいし異なる値であってもよい。上述したように、文字認識処理において認識された文字単位を含む矩形領域の位置情報(座標情報)は記憶部130に記憶されているため、判定部183は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部183は、上下方向(Y方向)に関しては、選択された文字単位を含む矩形領域の左上点のY座標と、文字オブジェクトの領域の右下点のY座標との差、または、選択された文字単位を含む矩形領域の右下点のY座標と、文字オブジェクトの領域の左上点のY座標との差を、文字単位と文字オブジェクトとの間の距離として算出し、算出された距離と第2の閾値Th2とを比較することにより、上記判定を行う。同様に、判定部183は、左右方向(X方向)に関しては、選択された文字単位を含む矩形領域の左上点のX座標と、文字オブジェクトの領域の右下点のX座標との差、または、選択された文字単位を含む矩形領域の右下点のX座標と、文字オブジェクトの領域の左上点のX座標との差を、文字単位と文字オブジェクトとの間の距離として算出し、算出された距離と第2の閾値Th2とを比較することにより、上記判定を行う。このように、一般モードでは、画像オブジェクトと文字オブジェクトとの間の距離の判定ではなく、画像オブジェクトに含まれる文字単位と文字オブジェクトとの間の距離の判定が行われる。なお、「画像オブジェクトについて、画像オブジェクト内の文字単位と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下である」という条件を、以下、「第2の条件」ともいう。
図6は、一般モードにおける距離判定の一例を示す説明図である。図6では、各画像オブジェクトに含まれる文字単位を含む矩形領域を二点鎖線で示している。図6に示す例において、第3画像オブジェクトIO(3)に含まれる第3文字画像IT(3)の文字列と第3文字オブジェクトTO(3)との間の距離D33aは第2の閾値Th2以下であるため、第3文字画像IT(3)の文字列が選択されている場合には、文書データに含まれる文字オブジェクト(第3文字オブジェクトTO(3))との間の距離が第2の閾値Th2以下であると判定される。
一方、図6に示す例において、第2画像オブジェクトIO(2)に含まれる第2文字画像IT(2)については、第2文字オブジェクトTO(2)との間の距離D22aは第2の閾値Th2より長く、かつ、他の文字オブジェクトTOとの間の距離も第2の閾値Th2より長いため、第2文字画像IT(2)の文字列が選択されている場合には、文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下ではないと判定される。
なお、文字列と文字オブジェクトとの間の距離は、文字列を構成する各文字と文字オブジェクトとの間の距離の内の最も短い距離と言い換えることができる。例えば、図6の例では、第3文字画像IT(3)の文字列を構成する各文字と第3文字オブジェクトTO(3)との間の距離は様々であるが、当該文字列と第3文字オブジェクトTO(3)との間の距離D33aは、その内の最も短い距離(例えば文字「S」と第3文字オブジェクトTO(3)との間の距離)である。
図6の例における第2文字画像IT(2)のように、選択された文字単位について、文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下ではないと判定された場合には(S290:NO)、オブジェクト変換部184は、選択された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う(S300)。このオブジェクト変換処理の内容は、上述した速度優先モードにおいて実行されるオブジェクト変換処理(S250)の内容と同じである。図6の例では、第2画像オブジェクトIO(2)に含まれる「Watch For Pedestrians」という文字列が、各文字の文字コード等で規定された文字オブジェクトに変換される。
一方、図6の例における第3文字画像IT(3)のように、選択された文字単位について、文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であると判定された場合には(S290:YES)、オブジェクト変換処理(S300)はスキップされる。図6の例では、第3画像オブジェクトIO(3)に含まれる「Special Sale !!!」という文字列を示す第3文字画像IT(3)は、文字としては認識されるが、文字オブジェクトには変換されない。
その後、印刷データ生成部180は、選択された画像オブジェクト内のすべての文字単位が選択されたか否かを判定し(S310)、まだ選択されていない文字単位が存在する場合には(S310:NO)、上述した文字単位の選択(S280)以降の処理を繰り返し実行する。選択された画像オブジェクト内のすべての文字単位が選択されたと判定された場合には(S310:YES)、印刷データ生成部180は、頁内のすべての画像オブジェクトが選択されたか否かを判定し(S320)、まだ選択されていない画像オブジェクトが存在する場合には(S320:NO)、上述した画像オブジェクトの選択(S200)以降の処理を繰り返し実行する。
一方、文字認識処理において文字単位が認識されなかった場合には(S270:NO)、画像オブジェクト内の各文字を文字オブジェクトに変換するための処理(上述のS280からS310までの処理)が実行される必要は無いため、これらの処理はスキップされ、印刷データ生成部180は、頁内のすべての画像オブジェクトが選択されたか否かを判定し(S320)、まだ選択されていない画像オブジェクトが存在する場合には(S320:NO)、画像オブジェクトの選択(S200)以降の処理を繰り返し実行する。
頁内のすべての画像オブジェクトが選択されたと判定された場合には(S320:YES)、出力部185は、この頁の描画処理によって生成されたラスタデータを、プリンタ200が解釈できる形式の印刷データに変換し、印刷データをプリンタ200に向けて出力する(S330)。なお、S320において頁内のすべての画像オブジェクトが選択されたと判定された時点では、当該ページ内の画像オブジェクトを対象とした判定部183による距離に関する判定(S290)は確定しているため、印刷データの出力の後に、判定が覆ることはない。
このように、一般モードでは、画像オブジェクトに含まれる文字単位と文字オブジェクトとの間の距離に関する判定(S290)が実行される前に、文字認識処理が行われる。従って、頁内に含まれるすべての画像オブジェトが文字認識処理の対象となる。また、一般モードでは、文字単位と文字オブジェクトとの間の距離に関する判定において、文字オブジェクトとの間の距離が第2の閾値Th2より長いと判定された文字単位のみを対象としてオブジェクト変換処理が行われ、文字オブジェクトとの間の距離が第2の閾値Th2以下であると判定された文字単位はオブジェクト変換処理の対象から除外される。
上述したS190の判定において、処理中の頁に画像オブジェクトが含まれないと判定された場合には(S190:NO)、ページ内の各画像オブジェクト内の文字単位を文字オブジェクトに変換するための処理(上述のS200からS320までの処理)が実行される必要は無いため、これらの処理はスキップされ、出力部185は、この頁の描画処理によって生成されたラスタデータを、プリンタ200が解釈できる形式の印刷データに変換し、印刷データをプリンタ200に向けて出力する(S330)。
文書データのある頁についての印刷データの出力(S330)が行われた後、印刷データ生成部180は、文書データのすべての頁についての処理が完了したか否かを判定し(S340)、まだ完了していない頁が存在する場合には(S340:NO)、次の頁を対象に、上述した描画命令の取得処理(S110)以降の処理を繰り返し実行する。文書データのすべての頁についての処理が完了すると(S340:YES)、印刷データ生成処理が完了する。
以上説明したように、第1実施形態のPC100による印刷データ生成処理では、速度優先モードが選択されているときには、文書取得部181により文字オブジェクトと画像オブジェクトとを含む文書データが取得され、判定部183により、文書データに含まれる画像オブジェクトについて、文書データに含まれる文字オブジェクトとの間の距離が第1の閾値Th1以下であるという条件(第1の条件)が満たされているか否かが判定され、第1の条件が満たされている画像オブジェクトを除外して、文字認識部182により文字認識処理が実行され、文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理がオブジェクト変換部184により行われる。このように、速度優先モードでは、文字オブジェクトとの間の距離が比較的遠い画像オブジェクト内の文字については、オブジェクト変換処理の対象とされることにより、印刷された文書の可読性や品質を向上させることができ、文字オブジェクトとの間の距離が比較的近い画像オブジェクト内の文字や、文字オブジェクトと重なっている画像オブジェクト内の文字については、オブジェクト変換処理の対象から除外されることにより、当初からの文字オブジェクトと画像オブジェクト内から認識された文字が変換された文字オブジェクトとが近くに配置されることを抑制することができ、印刷された文書の可読性や品質の低下を抑制することができる。
また、速度優先モードでは、文字認識処理(S230)の前に判定部183による距離に関する判定(S220)が実行され、文字オブジェクトとの間の距離が比較的近い画像オブジェクトや、文字オブジェクトと重なっている画像オブジェクトについては、文字認識処理の対象からも除外されるため、不要な文字認識処理が実行されることを回避して、処理の高速化を実現することができる。
また、本実施形態のPC100による印刷データ生成処理では、一般モードが選択されているときには、文書取得部181により文字オブジェクトと画像オブジェクトとを含む文書データが取得され、文字認識部182により文書データに含まれるすべての画像オブジェクトを対象とした文字認識処理が実行され、判定部183により、画像オブジェクトについて、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であるという条件(第2の条件)が満たされているか否かが判定され、第2の条件が満たされている画像オブジェクト内の文字を除外して、オブジェクト変換部184によるオブジェクト変換処理が行われる。すなわち、一般モードでは、画像オブジェクトと文字オブジェクトとの間の距離が第1の閾値Th1以下であるという上記第1の条件が満たされているだけでは、当該画像オブジェクト内の文字はオブジェクト変換処理の対象外とはならず、第1の条件に加えて、画像オブジェクト内の文字と文字オブジェクトとの間の距離が第2の閾値Th2以下であるという第2の条件が満たされると、当該文字がオブジェクト変換処理の対象外となる。そのため、一般モードでは、文字オブジェクトとの間の距離が比較的近い画像オブジェクト内の文字や、文字オブジェクトと重なっている画像オブジェクト内の文字であっても、文字オブジェクトとの間の距離が比較的遠い場合にはオブジェクト変換処理の対象とされるため、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
また、一般モードでは、画像オブジェクト内の文字と文字オブジェクトとの間の距離の判定が、文字単位(単独文字または文字列)毎に行われるため、文字オブジェクトとの間の距離が第2の閾値Th2以下である文字と同一の文字列に属するすべての文字が、オブジェクト変換処理の対象から除外されることとなる。そのため、同一の文字列を構成する文字の内、一部の文字については文字オブジェクトに変換され、一部の文字については画像オブジェクトのままとされて、かえって可読性や出力品質が低下することを抑制することができる。
また、一般モードでは、文字認識処理(S260)の後に判定部183による距離に関する判定(S290)が実行されるため、画像オブジェクト内の文字の位置を精度良く特定することができ、距離に関する判定の精度を向上させて、印刷された文書の可読性や品質を効果的に向上させることができる。
B.第2実施形態:
図7は、第2実施形態における印刷システム10のPC100の制御部110aが実現する機能の一例を示すブロック図である。第2実施形態では、制御部110aの印刷データ生成部180aは、第1実施形態において説明した文書取得部181と文字認識部182と判定部183とオブジェクト変換部184と出力部185とに加えて、文字領域抽出部186を含む。第2実施形態の印刷システム10の他の構成は、上述した第1実施形態の印刷システム10の構成と同様であるため、同一の符号を付すことによってその説明を省略する。
図7は、第2実施形態における印刷システム10のPC100の制御部110aが実現する機能の一例を示すブロック図である。第2実施形態では、制御部110aの印刷データ生成部180aは、第1実施形態において説明した文書取得部181と文字認識部182と判定部183とオブジェクト変換部184と出力部185とに加えて、文字領域抽出部186を含む。第2実施形態の印刷システム10の他の構成は、上述した第1実施形態の印刷システム10の構成と同様であるため、同一の符号を付すことによってその説明を省略する。
図8は、第2実施形態における印刷データ生成処理の流れを示すフローチャートである。第2実施形態の印刷データ生成処理は、S210の判定において一般モードが選択されていると判定された場合(S210:NO)に実行される処理(S252〜S312)が、上述した第1実施形態の印刷データ生成処理と異なっている。第2実施形態の印刷データ生成処理におけるその他の処理の内容は、上述した第1実施形態と同様であるため、各処理に同一の符号を付すことによってその説明を省略する。
第2実施形態の印刷デー生成処理では、一般モードが選択されていると判定された場合には(S210:NO)、文字領域抽出部186が、選択された画像オブジェクトを対象として文字領域抽出処理を行う(S252)。文字領域抽出処理は、画像オブジェクト内の文字を認識することなく、画像オブジェクトを解析して、画像オブジェクトから文字を含むと推定される文字領域を抽出する処理である。文字領域抽出処理は、公知の方法で実現可能である。例えば、文字の画像は写真等の画像と比較してエッジが多いという特性を利用して、文字領域抽出部186は、画像オブジェクトにおける各画素のエッジ判別を行い、エッジと判別された画素数が閾値を超える領域を、文字領域として抽出する。文字領域抽出部186は、抽出された文字領域の位置情報(例えば矩形の文字領域の左上点および右下点の座標を示す情報)を記憶部130に記憶する。一般に、文字領域抽出処理は、画像が文字の画像と推定されるか否かを判別するだけでよく、どの文字であるかを特定する必要がないため、上述した画像オブジェクト内の文字を認識する文字認識処理と比較して処理負荷が軽い。
文字領域抽出処理において文字領域が抽出された場合には(S254:YES)、判定部183は、抽出された文字領域の1つを選択し(S256)、選択された文字領域と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であるか否かを判定する(S258)。この判定は、文書データ内に、選択された文字領域との間の距離が第2の閾値Th2以下である文字オブジェクト(つまり、選択された文字領域に重なるか、または、比較的近くに位置する文字オブジェクト)が存在するか否かの判定である。すなわち、この判定では、選択された文字領域との間の距離が第2の閾値Th2以下である文字オブジェクトが1つでも存在する場合には、「YES」と判定され、選択された文字領域との間の距離が第2の閾値Th2より長い文字オブジェクトしか存在しない場合や、文書データ内に文字オブジェクトが存在しない場合には、「NO」と判定される。上述したように、文字領域抽出処理において抽出された文字領域の位置情報(座標情報)は記憶部130に記憶されているため、判定部183は、記憶された位置情報を用いて上記判定を行う。より詳細には、判定部183は、上下方向(Y方向)に関しては、選択された文字領域の左上点のY座標と、文字オブジェクトの領域の右下点のY座標との差、または、選択された文字領域の右下点のY座標と、文字オブジェクトの領域の左上点のY座標との差を、文字領域と文字オブジェクトとの間の距離として算出し、算出された距離と第2の閾値Th2とを比較することにより、上記判定を行う。同様に、判定部183は、左右方向(X方向)に関しては、選択された文字領域の左上点のX座標と、文字オブジェクトの領域の右下点のX座標との差、または、選択された文字領域の右下点のX座標と、文字オブジェクトの領域の左上点のX座標との差を、文字領域と文字オブジェクトとの間の距離として算出し、算出された距離と第2の閾値Th2とを比較することにより、上記判定を行う。このように、第2実施形態の印刷データ生成処理では、一般モードにおいて、画像オブジェクトから抽出された文字領域と文字オブジェクトとの間の距離の判定が行われる。文字領域には文字単位(単独文字または文字列)が含まれると推定されるため、文字領域と文字オブジェクトとの間の距離は、文字単位と文字オブジェクトとの間の距離であると推定される。そのため、この判定は、上述した第1実施形態における「画像オブジェクトについて、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下である」という第2の条件が満たされているか否かを判定するものであると言える。
選択された文字領域について、文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th1以下ではないと判定された場合には(S258:NO)、文字認識部182が、文字認識処理を行う(S260)。この文字認識処理の内容は、上述した第1実施形態において実行される文字認識処理(S230)の内容と同様である。ただし、ここでの文字認識処理は、画像オブジェクト全体ではなく、画像オブジェクトにおける選択された文字領域を対象に実行される。
文字認識処理において文字単位が認識された場合には(S270:YES)、オブジェクト変換部184は、認識された文字単位を文字オブジェクトに変換するオブジェクト変換処理を行う(S300)。一方、文字認識処理において文字単位が認識されなかった場合には(S270:NO)、オブジェクト変換処理(S300)はスキップされる。上述した文字領域抽出処理は、画像オブジェクト内の文字を認識することなく、画像オブジェクトから文字を含むと推定される文字領域を抽出する処理であるため、実際には文字が含まれない領域が誤って文字領域として抽出されることも起こり得る。そのような誤抽出の場合には、その後の文字認識処理(S270)において文字単位が認識されないため、オブジェクト変換処理はスキップされることとなる。
一方、選択された文字領域について、文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th1以下であると判定された場合には(S258:YES)、文字認識処理(S260)およびオブジェクト変換処理(S300)はスキップされる。
その後、印刷データ生成部180は、選択された画像オブジェクト内のすべての文字領域が選択されたか否かを判定し(S312)、まだ選択されていない文字領域が存在する場合には(S312:NO)、上述した文字領域の選択(S256)以降の処理を繰り返し実行する。選択された画像オブジェクト内のすべての文字領域が選択されたと判定された場合には(S312:YES)、印刷データ生成部180は、頁内のすべての画像オブジェクトが選択されたか否かを判定し(S320)、まだ選択されていない画像オブジェクトが存在する場合には(S320:NO)、画像オブジェクトの選択(S200)以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には(S320:YES)、上述した第1実施形態のS330以降の処理が同様に実行される。
一方、文字領域抽出処理において、選択された画像オブジェクトから文字領域が抽出されなかった場合には(S254:NO)、当該画像オブジェクトには文字が含まれないと推定されるため、画像オブジェクト内の各文字を文字オブジェクトに変換するための処理(上述のS256からS312までの処理)が実行される必要は無く、これらの処理はスキップされる。この場合には、印刷データ生成部180は、頁内のすべての画像オブジェクトが選択されたか否かを判定し(S320)、まだ選択されていない画像オブジェクトが存在する場合には(S320:NO)、画像オブジェクトの選択(S200)以降の処理を繰り返し実行する。頁内のすべての画像オブジェクトが選択されたと判定された場合には(S320:YES)、上述した第1実施形態のS330以降の処理が同様に実行される。
第2実施形態の印刷データ生成処理では、上述した第1実施形態の印刷データ生成処理と同様の効果を奏するのに加えて、以下の効果を奏する。すなわち、第2実施形態の印刷データ生成処理では、一般モードが選択されているときに、文字領域抽出部186により画像オブジェクト内の文字領域が抽出され、判定部183により、抽出された文字領域と文字オブジェクトとの間の距離が特定され、文字領域と文字オブジェクトとの間の距離が第2の閾値Th2以下であるか否かが判定されることによって、画像オブジェクト内の文字と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であるという第2の条件が満たされているか否かが判定される。そのため、第2実施形態の印刷データ生成処理では、文字認識処理を行うことなく、文字認識処理より処理負荷の軽い文字領域抽出処理を行うことにより、第2の条件が満たされているか否かを判定することができるため、処理の高速化を実現することができる。
また、第2実施形態の印刷データ生成処理では、一般モードが選択されているときに、画像オブジェクト全体ではなく画像オブジェクト内の文字領域を対象として文字認識処理が実行されるため、文字認識処理に要する時間を短縮することができ、さらなる処理の高速化を実現することができる。
C.変形例:
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
上記実施形態における印刷システム10の構成や、印刷システム10を構成するPC100およびプリンタ200の構成は、あくまで一例であり、種々変形可能である。例えば、PC100の制御部110が、複数のCPU120を備えていてもよいし、1つまたは複数のASIC等のハードウェアを備えていてもよい。そのような場合に、印刷データ生成処理における一部または全部の処理の実行主体が、複数のCPU120であってもよいし、ハードウェアであってもよい。
上記実施形態の印刷データ生成処理では、速度優先モードと一般モードとのいずれが選択されているかに応じて異なる処理が実行されるが、このようなモード選択が許容されず、いずれか一方の処理のみが実行可能であるとしてもよい。
また、上記実施形態の印刷データ生成処理では、画像オブジェクト(一般モードにおいては画像オブジェクト内の文字)と文字オブジェクトとが重なるか、または、比較的近くに位置する場合に、オブジェクト変換処理の対象から除外されるが、画像オブジェクト(一般モードにおいては画像オブジェクト内の文字)と文字オブジェクトとが重なる場合のみに、オブジェクト変換処理の対象から除外されるとしてもよい。これは、第1の閾値Th1(一般モードにおいては第2の閾値Th2)をゼロに設定することにより実現可能である。あるいは、画像オブジェクト(一般モードにおいては画像オブジェクト内の文字)と文字オブジェクトとの重なりの程度が比較的大きい場合のみに、オブジェクト変換処理の対象から除外されるとしてもよい。これは、第1の閾値Th1(一般モードにおいては第2の閾値Th2)を負の値に設定することにより実現可能である。
また、上記実施形態の印刷データ生成処理では、一般モードにおいて、画像オブジェクト内の文字単位と文書データに含まれる文字オブジェクトとの間の距離が第2の閾値Th2以下であるという第2の条件が満たされるか否かの判定(図3のS290)が実行されるが、これに加えて、画像オブジェクト内の文字単位のフォントと、当該文字単位との間の距離が第2の閾値Th2以下である文字オブジェクトのフォントとが同一であるという第3の条件が満たされるか否かの判定が実行されるとしてもよい。そして、第2の条件が満たされ、かつ、第3の条件が満たされた場合に、当該文字単位がオブジェクト変換処理の対象から除外され、第2の条件が満たされても、第3の条件が満たされない場合には、当該文字単位がオブジェクト変換処理の対象とされるとしてもよい。すなわち、画像オブジェクト内の文字単位と文字オブジェクトとが重なるか、または、比較的近くに位置する場合であっても、画像オブジェクト内の文字単位のフォントと文字オブジェクトのフォントとが異なる場合には、可読性や品質への影響は少ないとして、当該文字単位をオブジェクト変換処理の対象としてもよい。このようにすれば、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
同様に、一般モードにおいて、第2の条件が満たされるか否かの判定(図3のS290)に加えて、画像オブジェクトに濃さの階調値が第3の閾値以上の文字が含まれるという第4の条件が満たされるか否かの判定が実行されるとしてもよい。そして、第2の条件が満たされ、かつ、第4の条件が満たされた場合に、画像オブジェクト内の文字単位の内、少なくとも、階調値が第3の閾値以上の文字単位がオブジェクト変換処理の対象から除外され、第2の条件が満たされても、第4の条件が満たされない場合には、当該文字単位がオブジェクト変換処理の対象とされるとしてもよい。すなわち、画像オブジェクト内の文字単位と文字オブジェクトとが重なるか、または、比較的近くに位置する場合であっても、画像オブジェクト内の文字単位が薄い場合には、可読性や品質への影響は少ないとして、当該文字単位をオブジェクト変換処理の対象としてもよい。このようにすれば、印刷された文書の可読性や品質をさらに効果的に向上させることができる。
また、上記実施形態や変形例の印刷データ生成処理では、画像オブジェクトに含まれる文字列を構成する各文字がオブジェクト変換処理の対象となるか否かが、文字列の単位で決定されるが、各文字の単位で決定されるとしてもよい。例えば、画像オブジェクト内のある文字列を構成する文字の内、文字オブジェクトと重なるか、または、比較的文字オブジェクトの近くに位置する文字のみがオブジェクト変換処理の対象から除外され、当該文字列を構成する他の文字についてはオブジェクト変換処理の対象とされてもよい。
また、上記実施形態では、頁単位で、判定部183による距離に関する判定が確定した後に、その頁の描画処理によって生成されたラスタデータが印刷データに変換されて出力されるとしているが、頁単位ではなく、所定のバンド単位で、判定部183による距離に関する判定が確定した後に、そのバンドの描画処理によって生成されたラスタデータが印刷データに変換されて出力されるとしてもよい。なお、あるバンドについての判定部183による距離に関する判定は、当該バンド外のオブジェクトの描画処理が完了するまで確定しない場合もある。そのような場合には、当該バンド外のオブジェクトの描画処理が完了し、当該バンドについての判定部183による距離に関する判定が確定した後に、そのバンドの描画処理によって生成されたラスタデータが印刷データに変換されて出力される。
上記実施形態の印刷データ生成処理において、一部の処理を省略したり、ある処理と他の処理との順番を入れ替えたりしてもよい。また、上記実施形態の印刷データ生成処理における各処理は、主としてプリンタドライバを実行するCPU120により実現されているが、一部または全部の処理が、アプリケーションプログラム等の他のソフトウェアを実行するCPU120により実現されてもよい。また、上記実施形態の印刷データ生成処理における一部または全部の処理が、PC100の制御部110ではなくプリンタ200の制御部210により実行されるとしてもよい。
また、本発明は、印刷データ生成処理に限らず、他の種類の情報処理にも適用可能である。例えば、本発明は、例えばPDF等の特定のファイル形式へのファイル出力処理にも適用可能である。本発明を特定のファイル形式へのファイル出力処理に適用する場合には、例えば図3に示す印刷データ生成処理におけるS330の処理の代わりに、描画処理によって生成されたラスタデータを特定の形式のファイルに(例えばPDFファイル)に変換して出力する処理が実行される。
10:印刷システム 100:パーソナルコンピュータ 110:制御部 120:CPU 130:記憶部 140:表示部 150:操作部 160:通信部 180:印刷データ生成部 181:文書取得部 182:文字認識部 183:判定部 184:オブジェクト変換部 185:出力部 186:文字領域抽出部 200:プリンタ 210:制御部 220:CPU 230:記憶部 240:表示部 250:操作部 260:通信部 270:印刷実行部
Claims (11)
- 文字オブジェクトと画像オブジェクトとを含む文書データを取得する文書取得部と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う文字認識部と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第1の閾値以下であるという第1の条件を含む所定の条件が満たされているか否かを判定する判定部と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行うオブジェクト変換部と、を備える、情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記文字認識部は、前記所定の条件が満たされていると判定された画像オブジェクトを、前記文字認識処理の対象から除外する、情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記所定の条件は、前記文書データに含まれる画像オブジェクトについて、前記画像オブジェクト内の文字と前記文書データに含まれる文字オブジェクトとの間の距離が第2の閾値以下であるという第2の条件を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第2の閾値以下である文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記文字認識処理は、画像オブジェクトから抽出された文字を文字列に区分けする処理を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、文字オブジェクトとの間の距離が前記第2の閾値以下である文字と同一の文字列に属する文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。 - 請求項3または請求項4に記載の情報処理装置であって、さらに、
画像オブジェクト内の文字を認識することなく画像オブジェクトにおける文字を含む文字領域を抽出する文字領域抽出処理を行う文字領域抽出部を備え、
前記判定部は、前記文字領域抽出処理により抽出された前記文字領域と文字オブジェクトとの間の距離を特定することにより、前記第2の条件が満たされているか否かを判定する、情報処理装置。 - 請求項3から請求項5までのいずれか一項に記載の情報処理装置であって、
前記所定の条件は、画像オブジェクト内の文字のフォントと、前記文字との間の距離が前記第2の閾値以下である文字オブジェクトのフォントとが同一であるという第3の条件を含む、情報処理装置。 - 請求項3から請求項6までのいずれか一項に記載の情報処理装置であって、
前記所定の条件は、画像オブジェクトに濃さの階調値が第3の閾値以上の文字が含まれるという第4の条件を含み、
前記オブジェクト変換部は、前記所定の条件が満たされていると判定された画像オブジェクト内の文字の内、少なくとも、前記階調値が前記第3の閾値以上の文字を、前記オブジェクト変換処理の対象から除外する、情報処理装置。 - 請求項1から請求項7までのいずれか一項に記載の情報処理装置であって、さらに、
前記文書データの内、前記判定部による判定が確定した分のデータを所定の出力先に出力する出力部を備える、情報処理装置。 - 請求項1に記載の情報処理装置であって、さらに、
第1の指示と第2の指示とを選択的に受け付ける操作部を備え、
前記文字認識部は、前記第1の指示が受け付けられた場合には、前記判定部による判定の後に前記文字認識処理を実行し、前記第2の指示が受け付けられた場合には、前記判定部による判定の前に前記文字認識処理を実行する、情報処理装置。 - 文字オブジェクトと画像オブジェクトとを含む文書データを取得する工程と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理を行う工程と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第1の閾値以下であるという第1の条件を含む所定の条件が満たされているか否かを判定する工程と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理を行う工程と、を備える、情報処理方法。 - 文字オブジェクトと画像オブジェクトとを含む文書データを取得する処理と、
前記文書データに含まれる画像オブジェクト内の文字を認識する文字認識処理と、
前記文書データに含まれる画像オブジェクトについて、前記文書データに含まれる文字オブジェクトとの間の距離が第1の閾値以下であるという第1の条件を含む所定の条件が満たされているか否かを判定する処理と、
前記所定の条件が満たされていると判定された画像オブジェクト内の文字の少なくとも一部を除いて、前記文字認識処理により認識された文字を文字オブジェクトに変換するオブジェクト変換処理と、をコンピュータに実行させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015068450A JP2016189086A (ja) | 2015-03-30 | 2015-03-30 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015068450A JP2016189086A (ja) | 2015-03-30 | 2015-03-30 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016189086A true JP2016189086A (ja) | 2016-11-04 |
Family
ID=57240629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015068450A Pending JP2016189086A (ja) | 2015-03-30 | 2015-03-30 | 情報処理装置、情報処理方法およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016189086A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020021469A (ja) * | 2018-07-20 | 2020-02-06 | 株式会社リコー | 情報処理装置、情報処理方法及び情報処理プログラム |
-
2015
- 2015-03-30 JP JP2015068450A patent/JP2016189086A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020021469A (ja) * | 2018-07-20 | 2020-02-06 | 株式会社リコー | 情報処理装置、情報処理方法及び情報処理プログラム |
JP7346931B2 (ja) | 2018-07-20 | 2023-09-20 | 株式会社リコー | 情報処理装置、情報処理方法及び情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5531531B2 (ja) | 画像処理システム及び画像処理プログラム | |
US10762401B2 (en) | Image processing apparatus controlling the order of storing decompressed data, and method thereof | |
JP2013025316A (ja) | 電子文書ラスタライズ方法及び電子文書ラスタライズ装置 | |
US9781300B1 (en) | Method and system for removing objects from a print document | |
JP2008279626A (ja) | 画像処理装置及び画像処理プログラム | |
JP6643056B2 (ja) | 画像処理装置、画像処理方法、データ生成方法及びプログラム | |
KR101945581B1 (ko) | 화상 처리 장치, 화상 처리 방법, 및 저장 매체 | |
JP2016189086A (ja) | 情報処理装置、情報処理方法およびコンピュータプログラム | |
US11494135B2 (en) | Information processing apparatus, control method for information processing apparatus, and storage medium | |
JP6904717B2 (ja) | 画像処理装置、その制御方法、およびプログラム | |
JP6427042B2 (ja) | 画像処理装置 | |
US9978005B2 (en) | Printer for drawing bold character, method for controlling the same, and storage medium | |
JP5936363B2 (ja) | 画像処理装置及び画像処理方法 | |
US20190311234A1 (en) | Information processing apparatus, method, and storage medium | |
US9760814B2 (en) | Image forming apparatus for processing drawing data described in page description language | |
US9513852B2 (en) | Print instruction device, printing system, non-transitory computer readable medium, and print instruction method for increasing quality of a photographic image and read accuracy of a code image | |
JP6507809B2 (ja) | 印刷指示装置、印刷システム及びプログラム | |
JP4305385B2 (ja) | 画像処理装置、プログラム、及び、画像データの出力方法 | |
JP2016066222A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP2010012737A (ja) | 印刷制御装置、印刷処理システム、描画処理方法およびプログラム | |
JP5790000B2 (ja) | 印刷装置、及び、その印刷方法 | |
US9729756B2 (en) | Image forming system that restrains increase of print data amount, image forming apparatus, and recording medium | |
JP4735212B2 (ja) | 画像処理装置 | |
JP2011248398A (ja) | 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム | |
JP5720335B2 (ja) | 画像処理装置、及び、その画像処理プログラム |