(57)【要約】【課題】外部装置の提供するアプリケーションを利用する場合に、適切な前処理が可能な画像形成装置を提供する。【解決手段】ＭＦＰは、外部アプリに応じた前処理を決定し（ＳＴ１）、決定した前処理をメモリーに登録しておく（ＳＴ２）。そして、外部アプリを利用する画像処理が指示されるとメモリーに当該外部アプリに対応すると登録された前処理を行なったデータを外部アプリに渡す（ＳＴ３）。前処理を決定する際には、ＭＦＰは、第１の画像データに第１の画像処理を行なって第２の画像データを生成して外部アプリに渡し、外部アプリから処理後のデータを受け付ける。そして、ＭＦＰは、第２の画像データと処理後のデータとに基づいて、上記第１の画像処理を当該外部アプリに対応する前処理とするか否かを決定する。【選択図】図２
2015185854.tif 000002
【特許請求の範囲】
【請求項１】
他の装置と通信可能な画像形成装置であって、
前記他の装置の提供する機能に応じた前処理を決定するための決定手段と、
前記決定手段で決定された前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するための格納手段と、
処理対象の画像データに対する画像処理の実行を指示するユーザー指示の入力を受け付けるための指示入力手段と、
前記画像処理の少なくとも一部が前記他の装置の提供する前記機能を利用するものである場合に、前記処理対象の画像データに対して前記メモリーに記憶されている前記前処理を行なったデータを前記他の装置に対して出力するための出力手段とを備え、
前記決定手段は、
第１の画像データに第１の画像処理を行なって第２の画像データを生成するための生成手段と、
前記第２の画像データを前記他の装置に転送し、前記他の装置に対して当該他の装置の提供する機能を用いた処理を指示するための指示手段と、
前記指示に従った処理後のデータの入力を前記他の装置から受け付けるためのデータ入力手段とを含んで、
前記第２の画像データと前記処理後のデータとに基づいて、前記第１の画像処理を前記他の装置の提供する機能に応じた前処理とするか否かを決定する、画像形成装置。
【請求項２】
前記決定手段は、前記処理後のデータと前記第１の画像データに対して予め結果データとして記憶されている前記処理後のデータとを比較することで、前記第１の画像処理を前記前処理とするか否かを決定する、請求項１に記載の画像形成装置。
【請求項３】
前記決定手段は、前記第２の画像データの転送から前記処理後のデータの入力までの時間に基づいて、前記第１の画像処理を前記前処理とするか否かを決定する、請求項１に記載の画像形成装置。
【請求項４】
前記決定手段は、前記前処理とすると決定した前記第１の画像処理が複数あった場合、前記複数の第１の画像処理それぞれの処理工程数に基づいて前記複数の第１の画像処理のうちから前記前処理を決定する、請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
前記決定手段は、さらに、前記メモリーにすでに前記他の装置の提供する機能に対応した前処理として記憶されている第２の画像処理による処理後のデータとに基づいて、前記第１の画像処理を前記他の装置の提供する機能に応じた前処理とするか否かを決定する、請求項１〜４のいずれかに記載の画像形成装置。
【請求項６】
前記第１の画像処理は、多段階の画像処理のうちの所定段階までの画像処理である、請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
前記第１の画像処理は、所定のパラメーターまたはパラメーターの組み合わせが設定された画像処理である、請求項１〜６のいずれかに記載の画像形成装置。
【請求項８】
スキャナーをさらに備え、
前記決定手段は、前記スキャナーで原稿を読み取ることで前記第１の画像データを取得するための取得手段をさらに含む、請求項１〜７のいずれかに記載の画像形成装置。
【請求項９】
他の装置と通信可能な画像形成装置の制御方法であって、
前記他の装置の提供する機能に応じた前処理を決定するステップと、
前記決定するステップで決定した前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するステップと、
処理対象の画像データに対する、少なくとも一部が前記他の装置の提供する前記機能を利用する画像処理の実行を指示するユーザーを受け付けると、前記処理対象の画像データに対して前記メモリーに記憶されている前記前処理を行なったデータを前記他の装置に対して出力するステップとを備え、
前記決定するステップは、
第１の画像データに第１の画像処理を行なって第２の画像データを生成するステップと、
前記第２の画像データを前記他の装置に転送し、前記他の装置に対して当該他の装置の提供する機能を用いた処理を指示するステップと、
前記指示に従った処理後のデータの入力を前記他の装置から受け付けるステップとを含んで、
前記第２の画像データと前記処理後のデータとに基づいて、前記第１の画像処理を前記他の装置の提供する機能に応じた前処理とするか否かを決定する、画像形成装置の制御方法。
【請求項１０】
他の装置と通信可能な画像形成装置に画像処理を実行させるプログラムであって、
前記他の装置の提供する機能に応じた前処理を決定するステップと、
前記決定するステップで決定した前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するステップと、
処理対象の画像データに対する、少なくとも一部が前記他の装置の提供する前記機能を利用する画像処理の実行を指示するユーザーを受け付けると、前記処理対象の画像データに対して前記メモリーに記憶されている前記前処理を行なったデータを前記他の装置に対して出力するステップとを前記画像形成装置に実行させ、
前記決定するステップは、
第１の画像データに第１の画像処理を行なって第２の画像データを生成するステップと、
前記第２の画像データを前記他の装置に転送し、前記他の装置に対して当該他の装置の提供する機能を用いた処理を指示するステップと、
前記指示に従った処理後のデータの入力を前記他の装置から受け付けるステップとを含んで、
前記第２の画像データと前記処理後のデータとに基づいて、前記第１の画像処理を前記他の装置の提供する機能に応じた前処理とするか否かを決定する、画像形成装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像形成装置、制御方法、および制御プログラムに関し、特に、外部装置の提供するアプリケーションを利用可能な画像形成装置、該画像形成装置の制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
従来、ＭＦＰ（Multi-Functional  Peripheral）などの画像形成装置の中には、自身に搭載しているアプリケーションを実行して、画像データをたとえばＰＤＦ（Portable  Document  Format）形式などデータ形式を変換して文書ファイルを作成する機能を有するものがある。
【０００３】
画像形成装置は高機能化が進み、処理量が増加する傾向にある。そのため、画像形成装置の処理の負荷やメモリーの負荷は増大する傾向にある。そこで、端末装置などの外部装置の提供するアプリケーションを利用して一部処理を外部装置に実行させることで、画像形成装置本体の負荷を低減させる方法が提案されている。たとえば、いわゆるサーチャブルＰＤＦと呼ばれる、スキャン画像に対してＯＣＲ（Optical  Character  Reader）機能を適用して含まれる文字情報をテキストデータ化して合成したＰＤＦファイルを作成する際のＯＣＲ処理を外部の端末装置に実行させることで、画像形成装置自体のメモリー削減、パフォーマンス向上を図る方法が提案されている。
【０００４】
このように一部機能を外部装置と連携して実現するため、画像形成装置で画像データを外部装置のアプリケーションに適合させる処理（前処理）が行なわれることがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１８３１８４号公報
【特許文献２】特開２０１０−１１８８４８号公報
【特許文献３】特開２０１３−０９３７２２号公報
【特許文献４】特開２０１２−２３８９８１号公報
【特許文献５】特開２００６−２４６５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
昨今、画像形成装置に対して提供される機能が様々あるため、機能ごとに適切な前処理が異なる場合がある。また、同じ機能を提供する複数のアプリケーションがある場合もあり、アプリケーションごとに適切な前処理が異なる場合もある。画像形成装置側で外部装置の提供するアプリケーションに適した前処理がなされていない場合には、外部装置での処理品質が低下する場合もある。たとえば、上記の例のように外部装置にＯＣＲ処理を実行させる場合、当該外部装置での読み取り精度が低下する場合もある。
【０００７】
本発明はこのような問題に鑑みてなされたものであって、外部装置の提供するアプリケーションを利用する場合に、適切な前処理が可能な画像形成装置、該画像形成装置の制御方法、および制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のある局面に従うと、画像形成装置は他の装置と通信可能であって、他の装置の提供する機能に応じた前処理を決定するための決定手段と、決定手段で決定された前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するための格納手段と、処理対象の画像データに対する画像処理の実行を指示するユーザー指示の入力を受け付けるための指示入力手段と、画像処理の少なくとも一部が他の装置の提供する機能を利用するものである場合に、処理対象の画像データに対してメモリーに記憶されている前処理を行なったデータを他の装置に対して出力するための出力手段とを備える。決定手段は、第１の画像データに第１の画像処理を行なって第２の画像データを生成するための生成手段と、第２の画像データを他の装置に転送し、他の装置に対して当該他の装置の提供する機能を用いた処理を指示するための指示手段と、指示に従った処理後のデータの入力を他の装置から受け付けるためのデータ入力手段とを含んで、第２の画像データと処理後のデータとに基づいて、第１の画像処理を他の装置の提供する機能に応じた前処理とするか否かを決定する。
【０００９】
好ましくは、決定手段は、処理後のデータと第１の画像データに対して予め結果データとして記憶されている処理後のデータとを比較することで、第１の画像処理を前処理とするか否かを決定する。
【００１０】
好ましくは、決定手段は、第２の画像データの転送から処理後のデータの入力までの時間に基づいて、第１の画像処理を前処理とするか否かを決定する。
【００１１】
好ましくは、決定手段は、前処理とすると決定した第１の画像処理が複数あった場合、複数の第１の画像処理それぞれの処理工程数に基づいて複数の第１の画像処理のうちから前処理を決定する。
【００１２】
好ましくは、決定手段は、さらに、メモリーにすでに他の装置の提供する機能に対応した前処理として記憶されている第２の画像処理による処理後のデータとに基づいて、第１の画像処理を他の装置の提供する機能に応じた前処理とするか否かを決定する。
【００１３】
好ましくは、第１の画像処理は、多段階の画像処理のうちの所定段階までの画像処理である。
【００１４】
好ましくは、第１の画像処理は、所定のパラメーターまたはパラメーターの組み合わせが設定された画像処理である。
【００１５】
好ましくは、画像形成装置はスキャナーをさらに備え、決定手段は、スキャナーで原稿を読み取ることで第１の画像データを取得するための取得手段をさらに含む。
【００１６】
本発明の他の局面に従うと、制御方法は他の装置と通信可能な画像形成装置の制御方法であって、他の装置の提供する機能に応じた前処理を決定するステップと、決定するステップで決定した前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するステップと、処理対象の画像データに対する、少なくとも一部が他の装置の提供する機能を利用する画像処理の実行を指示するユーザーを受け付けると、処理対象の画像データに対してメモリーに記憶されている前処理を行なったデータを他の装置に対して出力するステップとを備える。決定するステップは、第１の画像データに第１の画像処理を行なって第２の画像データを生成するステップと、第２の画像データを他の装置に転送し、他の装置に対して当該他の装置の提供する機能を用いた処理を指示するステップと、記指示に従った処理後のデータの入力を他の装置から受け付けるステップとを含んで、第２の画像データと処理後のデータとに基づいて、第１の画像処理を他の装置の提供する機能に応じた前処理とするか否かを決定する。
【００１７】
本発明のさらに他の局面に従うと、制御プログラムは他の装置と通信可能な画像形成装置に画像処理を実行させるプログラムであって、他の装置の提供する機能に応じた前処理を決定するステップと、決定するステップで決定した前処理を、他の装置の提供する機能に対応した前処理を記憶するメモリーに格納するステップと、処理対象の画像データに対する、少なくとも一部が他の装置の提供する機能を利用する画像処理の実行を指示するユーザーを受け付けると、処理対象の画像データに対してメモリーに記憶されている前処理を行なったデータを他の装置に対して出力するステップとを画像形成装置に実行させる。決定するステップは、第１の画像データに第１の画像処理を行なって第２の画像データを生成するステップと、第２の画像データを前記他の装置に転送し、他の装置に対して当該他の装置の提供する機能を用いた処理を指示するステップと、指示に従った処理後のデータの入力を他の装置から受け付けるステップとを含んで、第２の画像データと処理後のデータとに基づいて、第１の画像処理を他の装置の提供する機能に応じた前処理とするか否かを決定する。
【発明の効果】
【００１８】
この発明によると、外部装置の提供するアプリケーションを利用して画像処理を行なう場合に、画像形成装置は当該アプリケーションに応じた適切な前処理を行なって画像データを該外部装置に渡すことができる。そのため、外部装置での品質を向上させることができ、画像処理全体の品質も向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態にかかる画像形成装置の一例としてのＭＦＰ（Multi-Functional  Peripheral）の装置構成の具体例を示すブロック図である。
【図２】ＭＦＰでの動作概要を表わした図である。
【図３】図２のステップＳＴ１でのＭＦＰの動作の流れを、具体的な画像処理を挙げて説明するための図である。
【図４】サンプルデータの具体例（Ａ）および基準データの具体例（Ｂ）を表わした図である。
【図５】図３の例での、サンプルデータごとの処理精度（ＯＣＲ処理の精度）および処理時間を表わした図である。
【図６】ＭＦＰの機能構成の具体例を示すブロック図である。
【図７】ＭＦＰでの動作の具体例を表わしたフローチャートである。
【図８】図７のステップＳ１０５の動作の詳細な内容を表わしたフローチャートである。
【発明を実施するための形態】
【００２０】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２１】
＜装置構成＞
図１は、本実施の形態にかかる画像形成装置の一例としてのＭＦＰ（Multi-Functional  Peripheral）１００の装置構成の具体例を示すブロック図である。図１を参照して、ＭＦＰ１００は、装置全体を制御するためのＣＰＵ（Central  Processing  Unit）１０と、ＣＰＵ１０で実行されるプログラムを記憶するためのメモリーであるＲＯＭ（Read  Only  Memory）１１と、ＣＰＵ１０でプログラムを実行する際の作業領域となったり各種データを一時的に記憶したりするためのメモリーであるＲＡＭ（Random  Access  Memory）１２と、画像データ等を記憶するための大容量記憶装置の一例としてのＨＤＤ（Hard  Disk  Drive）１３と、スキャナー１４と、プリンター１５と、操作パネル１６と、携帯端末３００Ａやサーバー３００Ｂなどの外部装置３００と通信するための通信部１７とを含む。通信部１７での通信は、ＬＡＮ（Local  Area  Network）などの専用回線を介した通信であってもよいし、Ｂｌｕｅｔｏｏｔｈ（登録商標）や赤外線通信などの無線通信であってもよい。
【００２２】
＜動作概要＞
ＭＦＰ１００は、画像データに対して複数処理からなる画像処理を行なう際に、その一部の処理を外部装置３００に実行させる。外部装置３００は、ＭＦＰ１００から処理途中の画像データをＭＦＰ１００から受け取ると、自身に搭載されるアプリケーションを実行することで該画像データに対して指定された処理を施して、処理後の画像データをＭＦＰ１００に戻す。ＭＦＰ１００は、外部装置３００から受け取ったデータに対して残りの画像処理を施し、一連の画像処理を完了する。なお、以下の説明では、外部装置３００に搭載されるアプリケーションを外部アプリとも称し、ＭＦＰ１００から外部装置３００に出力するよりも以前にＭＦＰ１００において画像データに対して施される処理を前処理とも称する。
【００２３】
図２は、本実施の形態にかかるＭＦＰ１００での動作概要を表わした図である。図３を参照して、本実施の形態にかかるＭＦＰ１００は、予め同一のテストデータに対して様々な画像処理を施し、および／または各画像処理のパラメーターを変化させてサンプルデータを作成し、該サンプルデータを外部装置３００に出力して外部装置３００に処理を実行させてその結果から、当該外部アプリに渡すために適した前処理を決定しておく（ステップＳＴ１）。そして、ＭＦＰ１００は、外部アプリごとに前処理を対応付けてメモリーに記憶しておき（ステップＳＴ２）、外部アプリを利用して画像処理を行なう際には、処理対象の画像データに該外部アプリに対応した前処理を施した上で外部アプリに画像データを渡して処理を実行させる（ステップＳＴ３）。
【００２４】
図３は、ステップＳＴ１でのＭＦＰ１００の動作の流れを、具体的な画像処理を挙げて説明するための図である。図３では、外部アプリにＯＣＲ（Optical  Character  Reader）処理を行なわせる場合を例に挙げている。外部アプリで行なわれるＯＣＲ処理は、たとえば、ＭＦＰ１００での、いわゆるサーチャブルＰＤＦと呼ばれる、スキャン画像に対して含まれる文字情報をテキストデータ化して合成したＰＤＦファイルを作成する処理に含まれる。ＭＦＰ１００は、画像データのうちの写真領域に対しては圧縮処理を施す。ＭＦＰ１００は、画像データのうちの文字領域に対しては、外部アプリから受け取ったＯＣＲ処理結果である文字情報に置き換える。そして、ＭＦＰ１００は、圧縮した写真領域と文字情報に置き換えられた文字領域とを元の画像に合成して、サーチャブルＰＤＦファイルを作成する。
【００２５】
図３を参照して、サーチャブルＰＤＦを作成するに、ＭＦＰ１００は、処理対象の画像データ（入力データ）から下地を除去する処理である下地飛ばし処理（ステップＳ１）、画像の強調、平滑化処理であるシャープネス／スムージング処理（ステップＳ２）、主走査方向の解像度を変換する処理（ステップＳ３）、および、たとえばいわゆるＡｄｏｂｅＲＢＧからｓＲＢＧ（standardＲＢＧ）への変換などの色変換処理（ステップＳ４）の後にエッジ検出（ステップＳ５−１）および網点検出（ステップＳ５−２）などの検出処理を行なって画像補正（ステップＳ６）、までの処理を行なった画像データに対してＯＣＲ処理を行なう。外部アプリにＯＣＲ処理を行なわせる場合には、ＭＦＰ１００は上記ステップＳ６の処理の後の画像データを出力データとして外部アプリに渡すことが一般的に行なわれていた。
【００２６】
本実施の形態にかかるＭＦＰ１００は、上記のＯＣＲ処理を行なう外部アプリに対応した前処理を決定するために、スキャナー１４で用意された原稿を読み取るなどしてテストデータを取得し、該テストデータに対して画像処理を行なっていないデータ（補正無しのデータ）と、上記ステップＳ１〜Ｓ６の各処理の後のデータとを、それぞれサンプルデータとして生成する。ＭＦＰ１００は、サンプルデータを外部アプリに渡し、各サンプルデータに対するＯＣＲ処理を指示し、その処理結果を外部アプリから受け取る。
【００２７】
すなわち、ＭＦＰ１００は、補正無しのデータを外部アプリに渡して（ステップ＃１）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記ステップＳ１の下地飛ばし処理の後のデータを外部アプリに渡して（ステップ＃２）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記ステップＳ２のシャープネス／スムージング処理の後のデータを外部アプリに渡して（ステップ＃３）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記ステップＳ３の解像度変換処理の後のデータを外部アプリに渡して（ステップ＃４）、当該データに対する処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記ステップＳ４の色変換処理の後のデータを外部アプリに渡して（ステップ＃５）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記Ｓ５−１のエッジ検出またはステップＳ５−２の網点検出の後の検出結果を表わす属性データを外部アプリに渡して（ステップ＃６）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。また、ＭＦＰ１００は、上記ステップＳ６の画像補正処理の後のデータを外部アプリに渡して（ステップ＃７）、当該データに対するＯＣＲ処理結果を外部アプリから受け取る。
【００２８】
なお、上の例では、ＭＦＰ１００は、同一のテストデータ（画像）に対して多段階からなる一連の画像処理の各段階までの処理を施してサンプルデータを生成している。しかしながら、これは一例であって、ＭＦＰ１００は、同一のテストデータに対して異なる画像処理を施してサンプルデータを生成してもよいし、同一のテストデータのパラメーターを様々に変化させることでサンプルデータを生成してもよい。
【００２９】
後者の例として、たとえば、同一の文字（文字列）を含む画像（文字画像）をテストデータとし、パラメーターとして文字サイズおよび濃度を異ならせた文字画像をサンプルデータとすることが挙げられる。パラメーターの他の例として、解像度を異ならせたり、カラー／モノクロを切り替えたり、下地飛ばし量を異ならせたり、原稿モードを切り替えたり、濃度、色調調整、彩度調整などの画質の調整量を異ならせたりすることが考えられる。
【００３０】
ＭＦＰ１００は、テストデータに対して当該テストデータに対する望ましい処理結果を表わした基準データを予めメモリーに記憶しておく。そして、ＭＦＰ１００は、外部アプリからの処理結果である受信データと基準データとを比較することで、いずれのサンプルデータの画像処理やパラメーターを前処理とするかを決定する。
【００３１】
好ましくは、ＭＦＰ１００は、自身に搭載されるスキャナー１４で用意した原稿を読み取ることでテストデータを得る。これにより、自身のスキャナー１４での読み取り特性や装置のばらつきも考慮して、外部アプリに対応した前処理を決定することができる。
【００３２】
図４は、サンプルデータの具体例（図４（Ａ））および基準データの具体例（図４（Ｂ））を表わした図である。図４（Ａ）のサンプルデータは、同一の文字列を含む文字画像であるテストデータから、文字サイズおよび濃度を様々に変化させることで生成される。図４（Ｂ）は、ＯＣＲ処理を行なう外部アプリから望ましい処理結果として受信する受信データの具体例を表わしており、テストデータである文字画像に含まれる文字列を示している。すなわち、ＭＦＰ１００は、図４（Ａ）の各サンプルデータのうち、当該サンプルデータを渡すことによって外部アプリから得られた処理結果が図４（Ｂ）の文字列に近いもののパラメーター（文字サイズおよび濃度）を、当該外部アプリに適した前処理（パラメーター）と決定する。
【００３３】
図５は、図３の例での、サンプルデータごとの処理精度（ＯＣＲ処理の精度）および処理時間を表わした図である。図３の例でも、ＭＦＰ１００は、図４（Ｂ）のように予めテストデータに対して基準データを用意しておき、外部アプリからの受信データと基準データとから前処理を決定する。すなわち、一例として、ＭＦＰ１００は、各サンプルデータから得られた受信データと、基準データとして予め用意されている当該テストデータに含まれる文字（または文字列）の情報とを比較して、各受信データにおける文字の判別精度を検出する。図５の例では、＃１〜＃７の各段階でのサンプルデータのうち、＃３のサンプルデータに対する受信データ、つまり、シャープネス／スムージング処理（ステップＳ２）後のデータをサンプルデータとしたときの外部アプリによるＯＣＲ処理の精度が最も高いことが分かる。したがって、処理精度に基づいて前処理を決定する場合、ＭＦＰ１００は、上記ステップＳ１〜Ｓ６の多段階の処理のうちのステップＳ２までの処理、つまり、下地飛ばし処理（ステップＳ１）およびシャープネス／スムージング処理（ステップＳ２）までの処理をＯＣＲ処理を行なう上記外部アプリに対応した前処理と決定して、メモリーに記憶させる。
【００３４】
前処理を決定する基準は処理精度に限定されない。他の例として、処理時間が挙げられる。処理時間は、一例として、ＭＦＰ１００がサンプルデータを外部アプリに渡し（外部装置３００に転送し）てから外部アプリから受け取る（外部装置３００からの入力を受け付ける）までの時間をＭＦＰ１００が計測することで得られる。図５の例では、＃１〜＃７の各段階でのサンプルデータのうち、＃６のサンプルデータに対する受信データ、つまり、上記ステップＳ１〜Ｓ５−１またはＳ５−２までの処理を行なって、検出結果を表わした属性データをサンプルデータとしたときの外部アプリによるＯＣＲ処理時間が最も短いことが分かる。したがって、処理時間に基づいて前処理を決定する場合、ＭＦＰ１００は、上記ステップＳ１〜Ｓ６の多段階の処理のうちのステップＳ５−１またはＳ５−２までの処理をＯＣＲ処理を行なう上記外部アプリに対応した前処理と決定して、メモリーに記憶させる。
【００３５】
前処理を決定する基準としては、さらに、処理時間と処理精度との組み合わせが挙げられる。前処理を決定する基準は、ＭＦＰ１００に対して予め設定されていてもよいし、管理者等の特定のユーザーによって設定、変更が可能であってもよい。さらには、ユーザーごとに設定されていてもよい。なお、ユーザーごとに基準が設定されている場合、好ましくは、外部アプリに対応した前処理はユーザーごとにメモリーに格納されていてもよい。このようにすることで、ユーザーの意向や嗜好を反映させて前処理を決定することができ、それによって、外部アプリを利用した画像処理をユーザーの意向や嗜好に応じたものとすることができる。
【００３６】
なお、いずれの基準を用いる場合であっても、当該基準を満たすとされた処理が複数あった場合、好ましくはＭＦＰ１００は、各処理の処理工程数に基づいて前処理を決定する。たとえば、図５の例で＃２のサンプルデータに対するＯＣＲ処理の精度も、＃３のサンプルデータに対するＯＣＲ処理の精度と同じもの（９０％）であったとすると、ＭＦＰ１００は、上記ステップＳ２までの処理と、上記ステップＳ１までの処理との両処理を前処理の候補とすることになる。この場合、好ましくは、ＭＦＰ１００は、一例として処理工程数の少ない方の処理を前処理とする。この例の場合には、ステップＳ１までの処理を前処理と決定する。これにより、外部アプリを利用した画像処理の品質を向上させると共に処理時間を抑えることができる。
【００３７】
＜機能構成＞
図６は、上記動作を行なうためのＭＦＰ１００の機能構成の具体例を示すブロック図である。図６の各機能は、ＣＰＵ１０がＲＯＭ１１に記憶されているプログラムをＲＡＭ１２上に読み出して実行することで、主にＣＰＵ１０で実現される。しかしながら、少なくとも一部機能が図１に表わされた他のハードウェア構成、または図示されていない電気回路などの他のハードウェア構成によって実現されてもよい。
【００３８】
図６を参照して、ＭＦＰ１００のメモリーの一例としてのＨＤＤ１３は、外部アプリごとに当該外部アプリに対応した前処理を記憶するための記憶領域である前処理情報記憶部１３１を含む。なお、外部アプリごとに当該外部アプリに対応した前処理を記憶するためのメモリーはＭＦＰ１００に搭載されるメモリーに限定されない。たとえばサーバーなど、ＭＦＰ１００とは異なる装置に搭載されるメモリーであってもよい。
【００３９】
さらに図６を参照して、ＭＦＰ１００のＣＰＵ１０は、外部アプリに応じた前処理を決定するための決定部１０１と、決定された前処理を前処理情報記憶部１３１に格納するための格納部１０２と、処理対象の画像データに対する画像処理の実行を指示するユーザー指示の入力を受け付けるための指示入力部１０３と、決定された前処理を実行するための前処理部１０９を含み、指示された画像処理が外部アプリを利用するものである場合に、処理対象の画像データに対して前処理を行なったデータを外部装置３００に対して出力するための出力部１０４とを含む。決定部１０１は、テストデータに対して画像処理を行なってサンプルデータを生成するための生成部１０６と、サンプルデータを外部アプリを提供する外部装置３００に転送し、当該外部装置３００に対して外部アプリを用いた処理を指示するための指示部１０７と、指示に従った処理後のデータ（受信データ）の入力を外部アプリから受け付けるためのデータ入力部１０８とを含む。決定部１０１は、サンプルデータと受信データとに基づいて、当該サンプルデータに施された画像処理を当該外部アプリに対応する前処理とするか否かを決定する。
【００４０】
一例として、決定部１０１は、受信データと上記テストデータに対して予め記憶されている基準データとを比較することで、当該サンプルデータに施された画像処理を当該外部アプリに対応する前処理とするか否かを決定する。また、一例として、決定部１０１は、サンプルデータの転送から受信データの入力の受付までの時間（処理時間）に基づいて、当該サンプルデータに施された画像処理を当該外部アプリに対応する前処理とするか否かを決定する。なお、好ましくは決定部１０１は、複数の画像処理についてそれぞれ前処理とすると決定した場合、複数の画像処理それぞれの処理工程数に基づいていずれの画像処理を前処理とするかを決定する。
【００４１】
＜動作フロー＞
図７は、ＭＦＰ１００での動作の具体例を表わしたフローチャートである。図７のフローチャートに表わされた動作は、ＭＦＰ１００のＣＰＵ１０がＲＯＭ１１に記憶されているプログラムをＲＡＭ１２上に読み出して実行し、図６の各機能を発揮することによって実現される。図７の動作は、ＭＦＰ１００が画像処理の実行を指示するユーザー指示の入力を受け付けると開始される。
【００４２】
図７を参照して、指示された画像処理が外部アプリを利用するものである場合には（ステップＳ１０１でＹＥＳ）、ＣＰＵ１０は、当該外部アプリに対応した前処理がメモリーにすでに登録されているか否かを確認する。その結果、すでに登録されている場合には（ステップＳ１０３でＹＥＳ）、ＣＰＵ１０はステップＳ１０５の前処理を決定する処理をスキップしてメモリーから登録されている前処理を読み出して、指定された画像データに対して登録されている前処理を実行する（ステップＳ１０７）。そして、ＣＰＵ１０は、前処理後のデータを外部装置３００に転送して外部アプリの処理を指示する（ステップＳ１０９）。外部アプリから処理後のデータの入力を受け付けると（ステップＳ１１１でＹＥＳ）、ＣＰＵ１０は、外部アプリでの処理後のデータに対してさらに指示された画像処理を実行して（ステップＳ１１３）、処理後のデータを出力する（ステップＳ１１５）。
【００４３】
一例としてＣＰＵ１０は、指示された画像処理で利用する外部アプリに対応した前処理がメモリーにすでに登録されていない場合に（ステップＳ１０３でＮＯ）、当該外部アプリに対応した前処理を決定する処理（ステップＳ１０５）を実行する。
【００４４】
詳しくは、図８を参照して、ＣＰＵ１０は、予め用意した文字画像などの原稿をスキャナー１４で読み取るなどしてテストデータを生成する（ステップＳ２０１）。ＣＰＵ１０は、テストデータに対して予め前処理を決定するために実行すると規定している画像処理をさせて、またはパラメーター（あるいはパラメーター組み合わせ）を変化させて、サンプルデータを生成する。図３の例の場合、ＣＰＵ１０は、テストデータに対してステップＳｎ（ｎは０〜６）の画像処理を実行してサンプルデータを生成する（ステップＳ２０３）。図４の例の場合、ＣＰＵ１０は、テストデータの文字サイズおよび濃度を＃１番目の組み合わせに変化させてサンプルデータを生成する。そして、ＣＰＵ１０は、サンプルデータを外部アプリに渡して処理を指示する（ステップＳ２０５）。外部アプリから処理後のデータ（受信データ）の入力を受け付けると（ステップＳ２０７でＹＥＳ）、ＣＰＵ１０は、サンプルデータの出力から受信データの入力までの時間を処理時間として計測する（ステップＳ２０９）。また、予め当該テストデータに対して用意されている基準データと受信データとを比較することで、外部アプリでの処理精度を確認する（ステップＳ２１１）。
【００４５】
ＣＰＵ１０は、処理精度および／または処理時間などを基準として、上記ステップＳ２０７で取得した受信データが、上記の処理の結果、すでに前処理に決定した画像処理によるサンプルデータに対して取得した受信データよりも性能が向上していると判断すると（ステップＳ２１３でＹＥＳ）、上記ステップ＃ｎの画像処理を前処理と決定し、メモリーに格納する（ステップＳ２１５）。上記の処理の結果、すでに前処理に決定した画像処理がメモリーに格納されている場合には、ＣＰＵ１０は、上記ステップ＃ｎの画像処理で上書きする。
【００４６】
ＣＰＵ１０は、テストデータに対して、予め前処理を決定するために実行すると規定している画像処理をすべて行なったか否かを確認する。図３の例の場合、ＣＰＵ１０は、ステップＳ６の画像処理まで行なったか否かを確認する。まだ行なっていない画像処理がある場合は（ステップＳ２１７でＮＯ）、ＣＰＵ１０は、次の画像処理に切り替えて（ステップＳ２１９）、上記ステップＳ２０３からの処理を繰り返す。そして、すべての画像処理を用いて上記ステップＳ２０３からの処理を行なうと、ＣＰＵ１０は一連の前処理を決定する処理を終了して、図７の動作に戻る。
【００４７】
テストデータに対して、予め前処理を決定するために実行すると規定している画像処理（またはパラメーターの変化）ごとに図６の動作を繰り返して行なうことで、ＣＰＵ１０は、画像処理のうちの、受信データの性能が最も優れているものを前処理として決定することができる。
【００４８】
＜実施の形態の効果＞
本実施の形態にかかるＭＦＰ１００は、以上の動作を行なうことで、予め外部アプリに対応した前処理を決定して記憶しておくことができる。そのため、ＭＦＰ１００は、外部アプリを利用して画像処理を行なう場合に、予めメモリーに登録されている、当該外部アプリに適した前処理を実行して処理後のデータを外部アプリに渡すことができる。これにより、ＭＦＰ１００では外部アプリから処理結果として性能のよい処理結果を得ることができ、画像処理の品質を向上させることができる。
【００４９】
＜他の例１＞
図７の動作フローは一例であって、ＭＦＰ１００が図８の前処理を決定する動作を実行するタイミングは図７に示されたタイミング、つまり、当該外部アプリを利用するタイミングに限定されない。好ましくは、ＭＦＰ１００は、電源起動時や外部装置３００との通信が確立したタイミングや予め規定している時間間隔や当該ＭＦＰ１００での処理負荷が規定値以下となったタイミングなど、所定のタイミングで図８の前処理を決定する動作を実行する。これにより、ＭＦＰ１００が外部アプリを利用するタイミングですでに前処理が決定されている可能性が高くなり、外部アプリを利用する画像処理をスムーズに行なうことができる。
【００５０】
さらに、ＭＦＰ１００は、すでに前処理が登録されている外部アプリについても、上記のようなタイミングで図８の前処理を決定する動作を実行して、前処理の登録を更新するようにしてもよい。外部アプリが更新されたり、ＭＦＰ１００自身のスキャナー１４が更新されたりして条件が変化した場合であっても、変化に対応した前処理を決定することができる。
【００５１】
＜他の例２＞
上記したように、外部アプリに対応した前処理は、ユーザーごとに登録されていてもよい。このようにすることで、ユーザーの意向や嗜好を反映させて前処理を決定することができ、それによって、外部アプリを利用した画像処理をユーザーの意向や嗜好に応じたものとすることができる。
【００５２】
＜他の例３＞
より好ましくは、ＭＦＰ１００は、ユーザーが設定可能なパラメーターごとに、外部アプリに対応した前処理を決定し、メモリーに登録しておく。より好ましくは、ユーザーが設定可能な、読み取り設定のパラメーターごとに、外部アプリに対応した前処理を決定する。ユーザーがパラメーターを設定してスキャナー１４での読み取りを指示し、さらに読み取り画像に対する外部アプリを利用した画像処理を指示した場合に、ＭＦＰ１００は、ユーザーの設定した読み取り設定および利用する外部アプリに対応した前処理をメモリーから読み出して実行した上で、当該外部アプリにデータを渡す。
【００５３】
たとえば、読み取り設定が解像度設定の場合、設定された解像度で原稿が読み取られて得られる画像データが処理対象の画像データとなる。たとえば、ユーザーが６００ｄｐｉの解像度を設定すると、主走査方向および副走査方向ともに６００ｄｐｉの読み取り画像が得られる。これに対して、ユーザーが３００ｄｐｉの解像度を設定すると、副走査方向が３００ｄｐｉに縮小される。したがって、この場合、前処理として主走査方向の縮小処理、または副走査方向の拡大処理を行なって外部アプリに画像データを渡すことで外部アプリの処理精度が向上すると考えられる。
【００５４】
＜他の例４＞
さらに、上述の動作をＭＦＰのＣＰＵに実行させるプログラムを提供することもできる。このようなプログラムは、コンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００５５】
このようなプログラムを提供して汎用のＭＦＰのＣＰＵに上記動作を実行させることで、汎用のＭＦＰをＭＦＰ１００として機能させることができる。そのため、すでに設置されているＭＦＰを用いて容易に上記の画像処理システムを構築することができる。
【００５６】
なお、本発明にかかるプログラムは、コンピューターのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００５７】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００５８】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００５９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６０】
１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ＨＤＤ、１４  スキャナー、１５  プリンター、１６  操作パネル、１７  通信部、１００  ＭＦＰ、１０１  決定部、１０２  格納部、１０３  指示入力部、１０４  出力部、１０６  生成部、１０７  指示部、１０８  データ入力部、１０９  前処理部、１３１  前処理情報記憶部、３００  外部装置、３００Ａ  携帯端末、３００Ｂ  サーバー。
【図１】
2015185854.tif 000003
【図２】
2015185854.tif 000004
【図３】
2015185854.tif 000005
【図４】
2015185854.tif 000006
【図５】
2015185854.tif 000007
【図６】
2015185854.tif 000008
【図７】
2015185854.tif 000009
【図８】
2015185854.tif 000010