(57)【要約】【課題】画像データを生成する過程において、当該画像データの生成に利用する外部プログラムを適切なタイミングで起動することが可能な携帯端末のプログラムを提供する。【解決手段】当該プログラムは、複数の外部プログラムそれぞれが第１種別及び第２種別のどちらであるかを判断する判断処理（Ｓ３２／Ｓ３８／Ｓ４０）と、第１種別だと判断した外部プログラムを起動して、ユーザが指定したパラメータを取得する前処理（Ｓ３５）と、画像形成部に形成動作を実行させる形成指示処理（Ｓ３７）と、形成指示処理で形成させた画像データを指定して、第２種別だと判断した外部プログラムを起動する後処理（Ｓ４１）とを携帯端末に実行させる。【選択図】図５
2018006841.tif 000002
【特許請求の範囲】
【請求項１】
メモリを備える携帯端末によって読み取り可能なプログラムであって、
前記携帯端末は、画像データを形成する形成動作を実行する画像形成部と接続されており、
前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶しており、
該プログラムは、
複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、
前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを前記携帯端末に実行させ、前記第１種別は、前記画像データを生成する条件を示すパラメータをユーザに指定させる前記外部プログラムを示し、前記第２種別は、前記画像形成部が生成した前記画像データに対する処理を実行する前記外部プログラムを示し、
該プログラムは、
前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、
前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを前記携帯端末に実行させ、
前記生成処理において、
前記画像形成部に前記形成動作を実行させる形成指示処理と、
前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを前記携帯端末に実行させるプログラム。
【請求項２】
メモリを備える携帯端末によって読み取り可能なプログラムであって、
前記携帯端末は、画像データを形成する形成動作を実行する画像形成部と接続されており、
前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶しており、
該プログラムは、
複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、
前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを前記携帯端末に実行させ、前記第１種別は、前記形成動作の実行前に起動すべき前記外部プログラムを示し、前記第２種別は、前記形成動作の実行後に起動すべき前記外部プログラムを示し、
該プログラムは、
前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、
前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを前記携帯端末に実行させ、
前記生成処理において、
前記画像形成部に前記形成動作を実行させる形成指示処理と、
前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを前記携帯端末に実行させるプログラム。
【請求項３】
該プログラムは、
前記前処理において、前記形成動作の実行条件を示す前記パラメータを取得し、
前記形成指示処理において、前記前処理で取得した前記パラメータに従って、前記画像形成部に前記形成動作を実行させる請求項１又は２に記載のプログラム。
【請求項４】
前記携帯端末は、ディスプレイと、入力インタフェースとを備えており、
前記実行条件は、第１項目の前記パラメータである第１パラメータと、第２項目の前記パラメータである第２パラメータとの組み合わせで特定されるものであり、
該プログラムは、
前記第１パラメータの複数の候補のうちの１つの指定を受け付ける第１オブジェクトと、前記第２パラメータの指定を受け付けるための前記外部プログラムの指定を受け付ける第２オブジェクトとを含む第１画面を、前記ディスプレイに表示させる第１表示処理と、
前記第１画面に対するユーザ操作を、前記入力インタフェースを通じて受け付ける第１受付処理とを前記携帯端末に実行させ、
前記第１受付処理で前記第２オブジェクトが指定されたことに応じて、当該第２オブジェクトで指定された前記外部プログラムを起動して、前記第２パラメータを取得する前記前処理を前記携帯端末に実行させ、
前記形成指示処理において、前記第１オブジェクトを通じて指定された前記第１パラメータ、及び前記前処理で取得した前記第２パラメータの少なくとも１つに従って、前記画像形成部に前記形成動作を実行させる請求項３に記載のプログラム。
【請求項５】
該プログラムは、
前記前処理において、前記後処理で起動すべき前記外部プログラムを示す前記パラメータを取得し、
前記後処理において、前記判断処理で前記第２種別だと判断した前記外部プログラムのうち、前記前処理で取得した前記パラメータで示される前記外部プログラムを起動する請求項１から４のいずれかに記載のプログラム。
【請求項６】
前記携帯端末は、入力インタフェースを備えており、
該プログラムは、前記前処理において、起動した前記外部プログラムが前記入力インタフェースを通じて指定を受け付けた前記パラメータを、当該外部プログラムから取得する請求項３から５のいずれかに記載のプログラム。
【請求項７】
前記携帯端末は、入力インタフェースを備えており、
該プログラムは、前記前処理において、起動した前記外部プログラムから前記パラメータの複数の候補を取得し、取得した複数の前記候補のうちの１つを指定するユーザ操作を前記入力インタフェースを通じて受け付ける請求項３から５のいずれかに記載のプログラム。
【請求項８】
前記携帯端末は、ディスプレイと、入力インタフェースとを備えており、
該プログラムは、前記後処理において、
前記形成指示処理で形成した前記画像データに含まれる前記形成動作のノイズを除去する前記外部プログラムを起動して、ノイズが除去された前記画像データを取得する第１後処理と、
前記第１後処理で取得した前記画像データで示される画像と、ノイズが除去された前記画像データを編集する前記外部プログラムに対応する第３オブジェクトとを含む第２画面を、前記ディスプレイに表示させる第２表示処理と、
前記第２画面に対するユーザ操作を、前記入力インタフェースを通じて受け付ける第２受付処理と、
前記第２受付処理で前記第３オブジェクトが指定されたことに応じて、当該第３オブジェクトに対応する前記外部プログラムを起動して、編集された前記画像データを取得する第２後処理とを前記携帯端末に実行させる請求項１から７のいずれかに記載のプログラム。
【請求項９】
前記メモリは、該プログラムが起動可能な前記外部プログラムを識別する複数のプログラム識別情報を記憶しており、
該プログラムは、前記取得処理において、複数の前記プログラム識別情報で識別される複数の前記外部プログラムのうち、現時点で前記メモリに記憶されている前記外部プログラムの前記種別情報を取得する請求項１から８のいずれかに記載のプログラム。
【請求項１０】
前記携帯端末は、ディスプレイと、入力インタフェースとを備えており、
該プログラムは、
前記生成処理の実行指示を受け付ける第４オブジェクトを含む第３画面を、前記ディスプレイに表示させる第３表示処理と、
前記第３画面に対するユーザ操作を、前記入力インタフェースを通じて受け付ける第３受付処理とを前記携帯端末に実行させ、
前記第３受付処理で前記第４オブジェクトが指定されたことに応じて、前記判断処理を前記携帯端末に実行させる請求項１から９のいずれかに記載のプログラム。
【請求項１１】
メモリと、コントローラとを備える携帯端末であって、
該携帯端末は、画像データを形成する形成動作を実行する画像形成部に接続されており、
前記メモリは、主プログラムと、前記主プログラムが起動可能な複数の外部プログラムとを記憶しており、
前記主プログラムを実行する前記コントローラは、
複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、
前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを実行し、前記第１種別は、前記画像データを生成する条件を示すパラメータをユーザに指定させる前記外部プログラムを示し、前記第２種別は、前記画像形成部が生成した前記画像データに対する処理を実行する前記外部プログラムを示し、
前記主プログラムを実行する前記コントローラは、
前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、
前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを実行し、
前記生成処理において、
前記画像形成部に前記形成動作を実行させる形成指示処理と、
前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを実行する携帯端末。
【請求項１２】
メモリと、コントローラとを備える携帯端末であって、
該携帯端末は、画像データを形成する形成動作を実行する画像形成部に接続されており、
前記メモリは、主プログラムと、前記主プログラムが起動可能な複数の外部プログラムとを記憶しており、
前記主プログラムを実行する前記コントローラは、
複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、
前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを実行し、前記第１種別は、前記形成動作の実行前に起動すべき前記外部プログラムを示し、前記第２種別は、前記形成動作の実行後に起動すべき前記外部プログラムを示し、
前記主プログラムを実行する前記コントローラは、
前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、
前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを実行し、
前記生成処理において、
前記画像形成部に前記形成動作を実行させる形成指示処理と、
前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを実行する携帯端末。
【請求項１３】
前記画像形成部は、通信ネットワークを通じて前記携帯端末に接続されたスキャナ、或いは前記携帯端末の内部バスに接続されたカメラである請求項１１又は１２に記載の携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末にインストールされた外部プログラムを利用して、画像データを生成する携帯端末のプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、新たに追加された機能に対応するアイコンをディスプレイに表示させ、当該アイコンがタップされたことに応じて当該機能を実行する情報処理装置が開示されている。また、上記の情報処理装置は、各アイコンを表示させる画面及び位置を、ユーザに指定させることが可能になっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０３１９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
また、携帯端末のプログラムとして、当該携帯端末にインストールされた外部プログラムを利用して、画像データを生成する機能を有するものがある。上記のプログラムが利用可能な外部プログラムには、例えば、画像データを生成する前に起動されるべきものと、画像データを生成した後に起動されるべきものとがある。すなわち、起動タイミングが異なる外部プログラムそれぞれに対応するアイコンをユーザが所望する画面に表示させるとすると、外部プログラムが適切なタイミングで実行されない可能性がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、画像データを生成する過程において、当該画像データの生成に利用する外部プログラムを適切なタイミングで起動することが可能な携帯端末のプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つであるプログラムは、メモリを備える携帯端末によって読み取り可能である。前記携帯端末は、画像データを形成する形成動作を実行する画像形成部と接続されている。前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶している。該プログラムは、複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを前記携帯端末に実行させる。前記第１種別は、前記画像データを生成する条件を示すパラメータをユーザに指定させる前記外部プログラムを示す。前記第２種別は、前記画像形成部が生成した前記画像データに対する処理を実行する前記外部プログラムを示す。該プログラムは、前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを前記携帯端末に実行させる。該プログラムは、前記生成処理において、前記画像形成部に前記形成動作を実行させる形成指示処理と、前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを前記携帯端末に実行させる。
【０００７】
開示例の他の１つであるプログラムは、メモリを備える携帯端末によって読み取り可能である。前記携帯端末は、画像データを形成する形成動作を実行する画像形成部と接続されている。前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶している。該プログラムは、複数の前記外部プログラムそれぞれの種別を示す種別情報を取得する取得処理と、前記取得処理で取得した前記種別情報に基づいて、対応する前記外部プログラムが第１種別及び第２種別のどちらであるかを判断する判断処理とを前記携帯端末に実行させる。前記第１種別は、前記形成動作の実行前に起動すべき前記外部プログラムを示す。前記第２種別は、前記形成動作の実行後に起動すべき前記外部プログラムを示す。該プログラムは、前記判断処理で前記第１種別だと判断した前記外部プログラムを起動して、ユーザが指定した前記パラメータを取得する前処理と、前記前処理で取得した前記パラメータに従って、前記画像データを生成する生成処理とを前記携帯端末に実行させる。該プログラムは、前記生成処理において、前記画像形成部に前記形成動作を実行させる形成指示処理と、前記形成指示処理で形成させた前記画像データを指定して、前記判断処理で前記第２種別だと判断した前記外部プログラムを起動する後処理とを前記携帯端末に実行させる。
【０００８】
上記構成によれば、画像データの生成に利用する外部プログラムを、形成指示処理の前及び後のうち、機能情報に従った適切なタイミングで起動することができる。これにより、画像データを生成する一連の処理をスムーズに実行することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図であり、図２（Ｂ）は携帯端末５０のブロック図である。
【図３】図３は、メモリ６２に記憶されたプログラムリストの一例である。
【図４】図４（Ａ）はメイン処理のフローチャートであり、図４（Ｂ）はデバイス選択処理のフローチャートである。
【図５】図５は、スキャン指示処理のフローチャートである。
【図６】図６は、ディスプレイ５３の表示例であって、（Ａ）はメニュー画面を、（Ｂ）はメイン画面を示す。
【図７】図７は、ディスプレイ５３の表示例であって、（Ａ）はデバイス選択画面を、（Ｂ）はスキャン設定画面を示す。
【図８】図８は、ディスプレイ５３の表示例であって、（Ａ）は［詳細］アイコン１４３がタップされた後のスキャン設定画面を、（Ｂ）は起動設定画面を示す。
【図９】図９は、ディスプレイ５３の表示例であって、（Ａ）はＯＣＲ画面を、（Ｂ）はスキャン結果画面を示す。
【図１０】図１０は、メモリ６２に記憶されたプログラムリストの他の例である。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０Ａ、１０Ｂ（以下、これらを総称して、「ＭＦＰ１０」と表記することがある。）と、携帯端末５０とで構成されている。ＭＦＰ１０及び携帯端末５０は、通信ネットワーク１０１を通じて通信可能に構成されている。通信ネットワーク１０１は、例えば、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００１２】
ＭＦＰ１０（MultiFunction Peripheralの略）は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。本実施形態において、プリンタ１１は省略可能である。
【００１３】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行する。なお、ＭＦＰ１０Ａ、１０Ｂが実行可能な動作は、同一であってもよいし、異なっていてもよい。
【００１４】
スキャナ１２は、実行条件に従ってスキャン動作を実行する。実行条件は、複数の項目（例えば、“サイズ”、“画質”、“読取面”、“読取色”）それぞれに対応する複数の条件パラメータの組み合わせによって特定される。項目“サイズ”、“画質”は第１項目の一例であり、項目“読取面”、“読取色”は第２項目の一例である。また、項目“サイズ”、“画質”の条件パラメータは第１パラメータの一例であり、項目“読取面”、“読取色”の条件パラメータは第２パラメータの一例である。
【００１５】
より詳細には、項目“サイズ”の条件パラメータは、読取対象の画像が記録された原稿の大きさ（例えば、“Ａ４”、“Ｂ５”、“名刺”）を示す。項目“画質”の条件パラメータは、スキャン動作の読取解像度（例えば、“ノーマル”、“ファイン”）を示す。項目“読取面”の条件パラメータは、画像を読み取る原稿の面（例えば、“片面”、“両面”）を示す。項目“読取色”の条件パラメータは、スキャン動作で読み取る画像の色（例えば、“カラー”、“モノクロ”）を示す。
【００１６】
スキャナ１２は画像形成部の一例であり、スキャン動作は形成動作の一例である。但し、画像形成部の具体例はスキャナ１２に限定されず、被写体を撮影して写真データを生成する撮影動作を実行可能なカメラ等であってもよい。すなわち、画像形成部は、画像データを生成するハードウェアであればよい。また、携帯端末５０は、通信ネットワーク１０１を通じてＭＦＰ１０のスキャナ１２と接続されてもよいし、内部バスの一例である通信バス６３を通じて不図示のカメラと接続されてもよい。
【００１７】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示面を備える。
【００１８】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１９】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置のタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
【００２０】
通信Ｉ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）を採用することができる。また、ＭＦＰ１０及び携帯端末５０がＵＳＢケーブル等で接続される場合、通信Ｉ／Ｆ２５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。
【００２１】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種情報、通信Ｉ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２２】
メモリ３２は、ＯＳ３４と、装置プログラム３５とを記憶している。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２３】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末５０のメモリ６２についても同様である。
【００２４】
携帯端末５０は、図２（Ｂ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。携帯端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。ＣＰＵ６１及びメモリ６２は、コントローラの一例である。
【００２５】
携帯端末５０は、例えば、携帯電話、スマートフォン、或いはタブレット端末、或いはＰＣ等である。より詳細には、携帯端末５０のディスプレイ５３は、表示画面のサイズが１２インチ以下、より好ましくは８インチ以下であるのが望ましい。また、携帯端末５０の入力Ｉ／Ｆ５４は、ディスプレイ５３の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ６２は、ＯＳ６４と、端末プログラム６５と、外部プログラム６６とを記憶している。
【００２６】
ＯＳ６４は、例えば、Ａｎｄｒｏｉｄ（Google inc.の登録商標）  ＯＳ、ｉＯＳ（Cisco Systems,Inc.の登録商標）、Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ（Microsoft Corporationの登録商標）  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ等であってもよい。ＯＳ６４は、携帯端末５０にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、ＯＳ６４は、並行して実行する複数のプログラムのうちの１つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。
【００２７】
フォアグラウンドは、例えば、当該プログラムの実行に拠る画面がディスプレイ５３の表示領域の大部分に表示されている状態である。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠る画面がディスプレイ５３の表示領域の大部分に表示されている状態である。すなわち、携帯端末５０は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行に拠る画面のみをディスプレイ５３に表示させることができる。
【００２８】
端末プログラム６５は、通信Ｉ／Ｆ５５を通じて接続されたＭＦＰ１０に、プリント動作或いはスキャン動作を実行させる主プログラムの一例である。端末プログラム６５は、例えば、プリント動作を実行させるためのプリント指示情報、スキャン動作を実行させるためのスキャン指示情報を、通信ＩＦ／５５を通じてＭＦＰ１０に送信する。また、端末プログラム６５は、携帯端末５０にインストールされた外部プログラム６６を、所謂プラグインとして起動することができる。
【００２９】
外部プログラム６６は、例えば、入力Ｉ／Ｆ５４を通じたユーザの指示に従って、携帯端末５０に対してインストールされ或いはアンインストールされる。端末プログラム６５によって起動可能な外部プログラム６６は、例えば、端末プログラム６５の処理を補助するための機能を有する。本実施形態では、端末プログラム６５がＭＦＰ１０にスキャン動作を実行させるための処理を補助する外部プログラム６６を中心に説明する。なお、外部プログラム６６は、端末プログラム６５とは別個のプログラムで且つ独立して実行可能なプログラムであって、端末プログラム６５のサブルーチンとは異なるものである。
【００３０】
外部プログラム６６は、例えば、ＯＳ６４が提供するＡＰＩ（以下、「起動ＡＰＩ」と表記する。）によって起動される。端末プログラム６５は、例えば、外部プログラム６６のプログラムＩＤを引数として指定して、起動ＡＰＩを実行する。ＯＳ６４は、起動ＡＰＩが実行されたことに応じて、指定されたプログラムＩＤで識別される外部プログラム６６を起動する。そして、外部プログラム６６は、例えば、所定の動作を実行し、当該動作の実行結果を起動ＡＰＩの戻り値として端末プログラム６５に提供する。
【００３１】
メモリ６２は、例えば図３に示されるように、プログラムリストを記憶することができる。プログラムリストは、１以上のプログラムレコードを含む。プログラムレコードは、例えば、端末プログラム６５のインストール時にメモリ６２に記憶される。プログラムレコードは、端末プログラム６５が起動可能な複数の外部プログラム６６のうちの１つに対応する。プログラムレコードは、プログラムＩＤと、プログラム名と、機能情報と、起動パラメータとを含む。
【００３２】
プログラムＩＤは、外部プログラム６６を識別するプログラム識別情報の一例である。以下、プログラムＩＤ“ｘｘｘ”で識別される外部プログラム６６を「外部プログラム“ｘｘｘ”」と表記することがある。プログラム名は、外部プログラム６６の名称である。機能情報は、対応する外部プログラム６６が有する機能を示す情報である。起動パラメータは、機能情報に後述する“ノイズ除去”、“画像編集”が設定されたプログラムレコードにおいて、対応する外部プログラム６６を実際に起動するか否かを示す情報である。
【００３３】
機能情報は、外部プログラム６６が有する機能を示す種別情報の一例である。機能情報には、画像データを生成する条件を示すパラメータをユーザに指定させる機能を示す“パラメータ指定”、スキャンデータからノイズを除去する機能“ノイズ除去”、或いはスキャンデータを実質的に編集する機能“画像編集”が設定される。機能情報“パラメータ指定”は、後述する生成処理（Ｓ３７〜Ｓ４３）で画像データを生成する条件を示すパラメータを、ユーザに指定させる第１機能を示す。一方、機能情報“ノイズ除去”、“画像編集”は、スキャナ１２が生成した画像データに対する処理を実行する第２機能を示す。
【００３４】
なお、「スキャンデータからノイズを除去」とは、例えば、スキャン動作で読み取り対象でない画像（例えば、パンチ穴、地色）、スキャナ１２が読み取った原稿に記録されていないデータ（例えば、斜行）を、スキャンデータから除去することを指す。一方、「スキャンデータを実質的に編集」とは、例えば、スキャン動作で読み取り対象となっている画像に対して、その一部を抽出（例えば、名刺に記録された文字列を抽出）、形状を変更（例えば、写真をＣＤ−ＲＯＭの形状に合わせてトリミング）、或いは新たな画像を付加（手書きの図柄を合成）することを指す。
【００３５】
起動パラメータには、後述するＳ３９、Ｓ４１において、対応する外部プログラム６６を起動することを示す“オン”、或いは起動しないことを示す“オフ”が設定される。起動パラメータの設定値は、例えば、端末プログラム６５或いは外部プログラム６６によって変更することができる。
【００３６】
プログラム名“スキャンパラメータ指定”で示される外部プログラム６６は、例えば、端末プログラム６５がＭＦＰ１０に実行させるスキャン動作の実行条件を、ユーザに指定させる第１機能を有する。プログラム名“実行プラグイン指定”で示される外部プログラム６６は、例えば、機能情報に“ノイズ除去”、“画像編集”が設定された複数の外部プログラム６６のうち、Ｓ３９、Ｓ４１で起動する外部プログラム６６をユーザに指定させる第１機能を有する。第１機能を有する外部プログラム６６は、第１種別の外部プログラム６６の一例である。
【００３７】
プログラム名“斜行補正”で示される外部プログラム６６は、例えば、傾いた状態の原稿をスキャナ１２が読み取った場合に、スキャンデータ内で当該傾きを補正する第２機能を有する。プログラム名“パンチ穴除去”で示される外部プログラム６６は、例えば、パンチ穴が空けられた原稿をスキャナ１２が読み取った場合に、当該パンチ穴を示す画像をスキャンデータから除去する第２機能を有する。プログラム名“地色補正”で示される外部プログラム６６は、例えば、スキャンデータ内において、原稿の背景色を別の色に置換する第２機能を有する。これらの機能は既に周知なので、詳細な説明は省略する。第２機能を有する外部プログラム６６は、第２種別の外部プログラム６６の一例である。
【００３８】
プログラム名“レーベル印刷”で示される外部プログラム６６は、例えば、ＣＤ−ＲＯＭの表面に記録する画像を生成し、生成した画像をＣＤ−ＲＯＭに記録するプリント動作を、端末プログラム６５を通じてＭＦＰ１０に指示する第２機能を有する。プログラム名“ＯＣＲ”で示される外部プログラム６６は、例えば、スキャンデータに含まれる文字列をテキストデータとして抽出する第２機能を有する。プログラム名“ペイント”で示される外部プログラム６６は、例えば、入力Ｉ／Ｆ５４を通じてユーザが入力した図柄（例えば、絵、文字列等）を、スキャンデータで示される画像に合成する第２機能を有する。第２機能を有する外部プログラム６６は、第２種別の外部プログラム６６の一例である。
【００３９】
なお、機能情報に“パラメータ指定”が設定された外部プログラム６６は、スキャン動作の実行前に起動されるのが望ましい。一方、機能情報に“ノイズ除去”、“画像編集”が設定された外部プログラム６６は、スキャン動作の実行後に起動されるのが望ましい。また、機能情報に“ノイズ除去”が設定された外部プログラム６６は、機能情報に“画像編集”が設定された外部プログラム６６より先に起動されるのが望ましい。すなわち、機能情報は、対応する外部プログラム６６の起動タイミングを特定するために用いることができる情報である。
【００４０】
後述する図５において、機能情報に“パラメータ指定”が設定された外部プログラム６６を「スキャン前ＰＧ」と表記し、機能情報に“ノイズ除去”が設定された外部プログラム６６を「スキャン中ＰＧ」と表記し、機能情報に“画像編集”が設定された外部プログラム６６を「スキャン後ＰＧ」と表記する。すなわち、スキャンＰＧはスキャン動作の実行前に起動され、スキャン中ＰＧはスキャン動作の実行後で且つスキャン後ＰＧより前に起動され、スキャン後ＰＧはスキャン動作及びスキャン中ＰＧの実行後に起動される。
【００４１】
また図示は省略するが、メモリ６２は、指定装置ＩＤを記憶することができる。指定装置ＩＤは、通信ネットワーク１０１を通じて携帯端末５０と通信可能なＭＦＰ１０Ａ、１０Ｂのうち、端末プログラム６５を通じてユーザが指定したＭＦＰ１０（以下、「指定装置」と表記する。）を識別する装置ＩＤである。本実施形態では、ＭＦＰ１０Ａが装置ＩＤ“ＭＦＰ−Ａ”で識別され、ＭＦＰ１０Ｂが装置ＩＤ“ＭＦＰ−Ｂ”で識別される。
【００４２】
［システム１００の動作］
図４及び図５を参照して、本実施形態に係るシステム１００の動作を説明する。なお、本実施形態では、図３に示されるプログラムレコードに対応する複数の外部プログラム６６のうち、外部プログラム“００４”が携帯端末５０にインストールされておらず、その他の外部プログラム６６が携帯端末５０にインストールされているものとする。
【００４３】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００４４】
まず、携帯端末５０のＯＳ６４は、図６（Ａ）に示されるメニュー画面をディスプレイ５３に表示させる。メニュー画面は、複数のプログラムアイコン１１１、１１２、１１３、１１４、１１５、１１６、１１７、１１８を含む。プログラムアイコン１１１〜１１８は、携帯端末５０にインストールされたプログラムに対応する。例えば、プログラムアイコン１１１〜１１７は携帯端末５０にインストールされた外部プログラム６６に対応し、プログラムアイコン１１８は端末プログラム６５に対応する。そして、ＯＳ６４は、プログラムアイコン１１１〜１１８の１つを指定するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。
【００４５】
一例として、ＯＳ６４は、プログラムアイコン１１１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、外部プログラム“００１”を起動させ且つ当該プログラムをフォアグラウンドで実行する。他の例として、ＯＳ６４は、プログラムアイコン１１８の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、端末プログラム６５を起動させ、且つ当該プログラムをフォアグラウンドで実行する。以下、プログラムアイコン１１８が指定された場合の処理を説明する。
【００４６】
携帯端末５０の端末プログラム６５は、ＯＳ６４によって起動されたことに応じて、図６（Ｂ）に示されるメイン画面をディスプレイ５３に表示させる（Ｓ１１）。メイン画面は、動作アイコン１２１、１２２と、切替アイコン１２３とを含む第３画面の一例である。そして、端末プログラム６５は、メイン画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１２）。Ｓ１１の処理は第３表示処理の一例であり、Ｓ１２の処理は第３受付処理の一例である。
【００４７】
動作アイコン１２１は、プリント動作の実行指示を受け付けるためのオブジェクトである。動作アイコン１２２は、スキャン動作の実行指示を受け付けるための第４オブジェクトの一例である。切替アイコン１２３は、指定装置の切替指示を受け付けるためのオブジェクトである。なお、指定装置ＩＤがメモリ６２に記憶されていない場合、切替アイコン１２３には、指定装置が選択されていないことを示す「未選択」の文字列が記述される。一方図示は省略するが、指定装置ＩＤがメモリ６２に記憶されている場合、切替アイコン１２３には、当該指定装置ＩＤが記述される。
【００４８】
次に、端末プログラム６５は、例えば、切替アイコン１２３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：切替）、デバイス選択処理を実行する（Ｓ１３）。図４（Ｂ）を参照して、デバイス選択処理の詳細を説明する。
【００４９】
［デバイス選択処理］
まず、端末プログラム６５は、例えば、ＳＮＭＰ（Simple Network Management Protocolの略）を用いて、通信Ｉ／Ｆ５５を通じて通信が可能な複数のＭＦＰ１０を検索する（Ｓ２１）。具体的には、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて通信ネットワーク１０１に送信要求情報をブロードキャストする。次に、端末プログラム６５は、送信要求情報の応答としてＭＦＰ１０Ａ、１０Ｂが送信した装置ＩＤを、通信Ｉ／Ｆ５５を通じて受信する。すなわち、端末プログラム６５は、装置ＩＤの送信元のＭＦＰ１０Ａ、１０Ｂを、通信可能なＭＦＰ１０と特定する。なお、通信可能なＭＦＰ１０を検索する方法は、周知の他の方法であってもよい。
【００５０】
次に、端末プログラム６５は、図７（Ａ）に示されるデバイス選択画面をディスプレイ５３に表示させる（Ｓ２２）。デバイス選択画面は、デバイスアイコン１３１、１３２を含む。デバイスアイコン１３１、１３２は、ステップＳ２１で特定したＭＦＰ１０Ａ、１０Ｂに対応する。また、デバイスアイコン１３１、１３２には、対応するＭＦＰ１０Ａ、１０Ｂの装置ＩＤが記述されている。次に、端末プログラム６５は、デバイス選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ２３）。
【００５１】
次に、端末プログラム６５は、例えばデバイスアイコン１３１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ２３：Ｙｅｓ）、デバイスアイコン１３１に対応する複合機１０Ａから受信した装置ＩＤを、指定装置ＩＤとしてメモリ６２に記憶させる（Ｓ２４）。メモリ６２に既に指定装置ＩＤが記憶されている場合、端末プログラム６５は、当該指定装置ＩＤを新たな指定装置ＩＤで上書きする。
【００５２】
次に図４（Ａ）に戻って、端末プログラム６５は、メイン画面をディスプレイ５３に表示させる（Ｓ１１）。デバイスアイコン１３１が指定された後のメイン画面において、切替アイコン１２３には、指定装置ＩＤ“ＭＦＰ−Ａ”が記述される。次に、端末プログラム６５は、動作アイコン１２２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：動作）、スキャン指示処理を実行する（Ｓ１４）。動作アイコン１２２のタップは、後述する生成処理の実行指示に対応する。図５を参照して、スキャン指示処理の詳細を説明する。
【００５３】
［スキャン指示処理］
まず、端末プログラム６５は、携帯端末５０にインストールされている外部プログラム６６の機能情報を取得する（Ｓ３１）。本実施形態では、外部プログラム“００１”に対応する機能情報“パラメータ指定”、外部プログラム“００２”に対応する機能情報“パラメータ指定”、外部プログラム“００３”に対応する機能情報“ノイズ除去”、外部プログラム“００５”に対応する機能情報“ノイズ除去”、外部プログラム“００６”に対応する機能情報“画像編集”、外部プログラム“００７”に対応する機能情報“画像編集”、外部プログラム“００８”に対応する機能情報“画像編集”が取得されたものとする。Ｓ３１の処理は取得処理の一例である。
【００５４】
端末プログラム６５は、例えばＳ３１において、プログラムリストに登録されたプログラムＩＤを引数として指定して、ＯＳ６４が提供するＡＰＩ（以下、「存在確認ＡＰＩ」と表記する。）を起動する。そして、端末プログラム６５は、存在確認ＡＰＩの戻り値によって、引数として指定したプログラムＩＤで識別される外部プログラム６６が携帯端末５０にインストールされているか否かを判断する。そして、端末プログラム６５は、携帯端末５０にインストールされていると判断した外部プログラム６６のプログラムレコードから、機能情報を取得する。
【００５５】
すなわち、端末プログラム６５は、プログラムリストに登録されたプログラムＩＤで識別される外部プログラム“００１”〜“００８”のうち、現時点で携帯端末５０にインストールされている外部プログラム“００１”〜“００３”、“００５”〜“００８”の機能情報を取得する。なお、機能情報の取得タイミングはＳ３１に限定されず、例えば、Ｓ１１で取得してもよい。
【００５６】
次に、端末プログラム６５は、Ｓ３１で機能情報“パラメータ指定”を取得したか否かを判断する（Ｓ３２）。次に、端末プログラム６５は、外部プログラム“００１”、“００２”の機能情報“パラメータ指定”を取得したと判断したことに応じて（Ｓ３２：あり）、図７（Ｂ）に示されるスキャン設定画面をディスプレイ５３に表示させる（Ｓ３３）。スキャン設定画面は、プルダウンメニュー１４１、１４２と、［詳細］アイコン１４３と、［設定］アイコン１４４と、［スキャン］アイコン１４５とを含む第１画面の一例である。そして、端末プログラム６５は、スキャン設定画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ３４）。Ｓ３２の処理は判断処理の一例であり、Ｓ３３の処理は第１表示処理の一例であり、Ｓ３４の処理は第１受付処理の一例である。
【００５７】
プルダウンメニュー１４１、１４２は、対応する項目“サイズ”、“画質”の条件パラメータの複数の候補のうちの１つの指定を受け付ける第１オブジェクトの一例である。［詳細］アイコン１４３及び［設定］アイコン１４４は、外部プログラム“００１”、“００２”を起動させる指示を受け付ける第２オブジェクト（図５において、「ＰＩアイコン」或いは「ＰＩ」と表記する。）の一例である。［スキャン］アイコン１４５は、指定装置にスキャン動作を実行させる指示に対応する。
【００５８】
プルダウンメニュー１４１、１４２は、対応する項目に対して指定可能な複数の条件パラメータの候補のうちの１つが指定された状態になっている。指定された条件パラメータは、プルダウンメニュー１４１、１４２に表示される。さらに、プルダウンメニュー１４１、１４２は、条件パラメータの候補に対応する複数の選択肢を有する。項目“サイズ”に対応するプルダウンメニュー１４１は、条件パラメータの候補“Ａ４”、“Ｂ５”、“名刺”に対応する３つの選択肢を有する。また、項目“画質”に対応するプルダウンメニュー１４２は、条件パラメータの候補“ノーマル”、“ファイン”に対応する２つの選択肢を有する。
【００５９】
一方、端末プログラム６５は、Ｓ３１で機能情報“パラメータ指定”を取得しなかったと判断したことに応じて（Ｓ３２：なし）、［詳細］アイコン１４３及び［設定］アイコン１４４を含まないスキャン設定画面をディスプレイ５３に表示させる（Ｓ３６）。より詳細には、端末プログラム６５は、外部プログラム“００１”の機能情報“パラメータ指定”を取得しなかったことに応じて、［詳細］アイコン１４３を非表示にする。また、端末プログラム６５は、外部プログラム“００２”の機能情報“パラメータ指定”を取得しなかったことに応じて、［設定］アイコン１４４を非表示にする。なお、機能情報“パラメータ指定”を取得しなかった場合、対応するアイコンを非表示にすることに代えて、対応するアイコンを選択不能な態様（例えば、グレーアウト）でスキャン設定画面に表示させてもよい。
【００６０】
図示は省略するが、端末プログラム６５は、例えば、プルダウンメニュー１４１で指定された条件“Ａ４”を“名刺”に変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１４１に表示された条件パラメータを、“Ａ４”から“名刺”に変更する。同様に、端末プログラム６５は、例えば、プルダウンメニュー１４２で指定された条件パラメータ“ノーマル”を“ファイン”に変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１４２に表示された条件パラメータを、“ノーマル”から“ファイン”に変更する。
【００６１】
次に、端末プログラム６５は、例えば、［詳細］アイコン１４３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３４：ＰＩ）、［詳細］アイコン１４３に対応付けられた外部プログラム“００１”を起動する（Ｓ３５）。すなわち、端末プログラム６５は、プログラムＩＤ“００１”を引数として指定して、起動ＡＰＩを実行する。そして、ＯＳ６４は、起動ＡＰＩの引数であるプログラムＩＤ“００１”で識別される外部プログラム“００１”を、バックグラウンドで起動する。
【００６２】
外部プログラム“００１”は、起動ＡＰＩによって端末プログラム６５から起動されたことに応じて、項目“読取面”の条件パラメータの候補である候補パラメータ“片面”、“両面”と、項目“読取色”の条件パラメータの候補である候補パラメータ“カラー”、“モノクロ”とを、起動ＡＰＩの戻り値として端末プログラム６５に提供して、処理を終了する。端末プログラム６５は、起動ＡＰＩの戻り値として候補パラメータを取得する。
【００６３】
次に、端末プログラム６５は、外部プログラム“００１”から候補パラメータを取得したことに応じて、図８（Ａ）に示されるスキャン設定画面をディスプレイ５３に表示させる（Ｓ３３）。図８（Ａ）に示されるスキャン設定画面は、［詳細］アイコン１４３に代えて［非表示］アイコン１４６が表示され、且つプルダウンメニュー１４７、１４８が追加されている点において、図７（Ｂ）に示されるスキャン設定画面と相違する。そして、端末プログラム６５は、図８（Ａ）に示されるスキャン設定画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ３４）。
【００６４】
［非表示］アイコン１４６は、プルダウンメニュー１４７、１４８を非表示にする（すなわち、図７（Ｂ）に示されるスキャン設定画面を表示させる）指示に対応する。プルダウンメニュー１４７、１４８は、スキャン動作の実行条件を構成する複数の項目“読取面”、“読取色”の１つに対応する。そして、プルダウンメニュー１４７、１４８は、取得した候補パラメータに対応する複数の選択肢を有する。プルダウンメニュー１４７、１４８の詳細は、プルダウンメニュー１４１、１４２と共通する。
【００６５】
図示は省略するが、端末プログラム６５は、例えば、プルダウンメニュー１４７で指定された条件パラメータ“片面”を“両面”に変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１４７に表示された条件パラメータを、“片面”から“両面”に変更する。同様に、端末プログラム６５は、例えば、プルダウンメニュー１４８で指定された条件パラメータ“カラー”を“モノクロ”に変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１４８に表示された条件パラメータを、“カラー”から“モノクロ”に変更する。
【００６６】
すなわち、端末プログラム６５は、起動した外部プログラム“００１”から条件パラメータの候補となる複数の候補パラメータを取得する。そして、端末プログラム６５は、取得した複数の候補パラメータのうちの１つを条件パラメータとして指定するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。この処理は、機能情報に“パラメータ指定”が設定されたと判断した外部プログラム“００１”を起動して、ユーザが指定したパラメータを取得する前処理の一例である。
【００６７】
次に、端末プログラム６５は、例えば、［設定］アイコン１４４の指定を入力Ｉ／Ｆ４を通じて受け付けたことに応じて（Ｓ３４：ＰＩ）、［設定］アイコン１４４に対応付けられた外部プログラム“００２”を起動する（Ｓ３５）。すなわち、端末プログラム６５は、プログラムＩＤ“００２”を引数として指定して、起動ＡＰＩを実行する。そして、ＯＳ６４は、起動ＡＰＩの引数であるプログラムＩＤ“００２”で識別される外部プログラム“００２”を、フォアグラウンドで起動する。また、ＯＳ６４は、端末プログラム６５をフォアグラウンドからバックグラウンドに切り替える。
【００６８】
外部プログラム“００２”は、起動ＡＰＩによって端末プログラム６５から起動されたことに応じて、図８（Ｂ）に示される起動設定画面をディスプレイ５３に表示させる。起動設定画面は、プルダウンメニュー１５１、１５２、１５３、１５４、１５５と、［ＯＫ］アイコン１５６とを含む。プルダウンメニュー１５１〜１５５は、Ｓ３１で取得した機能情報に“ノイズ除去”、“画像編集”が設定された外部プログラム“００３”、“００５”、“００６”、“００７”、“００８”の起動パラメータの指定を受け付けるためのオブジェクトである。
【００６９】
次に、外部プログラム“００２”は、例えば、プルダウンメニュー１５３で指定された起動パラメータ“オン”を“オフ”に変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１５３に表示された起動パラメータを、“オン”から“オフ”に変更する。他のプルダウンメニューについても同様である。そして、外部プログラム“００２”は、［ＯＫ］アイコン１５６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プルダウンメニュー１５１〜１５５それぞれで指定された起動パラメータを、起動ＡＰＩの戻り値として端末プログラム６５に提供して、処理を終了する。端末プログラム６５は、起動ＡＰＩの戻り値として起動パラメータを取得すると共に、ＯＳ６４によってバックグラウンドからフォアグラウンドに切り替えられる。
【００７０】
すなわち、端末プログラム６５は、起動した外部プログラム“００２”が入力Ｉ／Ｆ５４を通じて受け付けた起動パラメータを、外部プログラム“００２”から取得する。この処理は、機能情報に“パラメータ指定”が設定されたと判断した外部プログラム“００２”を起動して、ユーザが指定したパラメータを取得する前処理の一例である。
【００７１】
本実施形態において、端末プログラム６５は、外部プログラム“００３”の起動パラメータ“オン”、外部プログラム“００５”の起動パラメータ“オン”、外部プログラム“００６”の起動パラメータ“オフ”、外部プログラム“００７”の起動パラメータ“オン”、外部プログラム“００８”の起動パラメータ“オフ”を、外部プログラム“００２”から取得したものとする。そして、端末プログラム６５は、外部プログラム“００２”から取得した起動パラメータで、対応するプログラムレコードの起動パラメータを更新する。さらに、端末プログラム６５は、スキャン設定画面を再びディスプレイ５３に表示させる（Ｓ３３）。
【００７２】
次に、端末プログラム６５は、［スキャン］アイコン１４５の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３４：スキャン）、指定装置であるＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてスキャン指示情報を送信する（Ｓ３７）。スキャン指示情報は、例えば、プルダウンメニュー１４１、１４２、１４７、１４８で指定された条件パラメータ“名刺”、“ファイン”、“片面”、“カラー”を含む。Ｓ３７の処理は、形成指示処理の一例である。
【００７３】
一方図示は省略するが、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて携帯端末５０からスキャン指示情報を受信する。そして、装置プログラム３５は、スキャン指示情報に含まれる条件パラメータに従って、スキャナ１２にスキャン動作を実行させる。スキャナ１２は、不図示のコンタクトガラス或いはＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒの略）にセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成する。そして、装置プログラム３５は、スキャナ１２が生成したスキャンデータを、スキャン指示情報の応答として、通信Ｉ／Ｆ２５を通じて携帯端末５０に送信する。
【００７４】
次に、携帯端末５０の端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａからスキャンデータを受信し、受信したスキャンデータをメモリ６２に一時記憶させる。次に、端末プログラム６５は、Ｓ３１で取得した機能情報“ノイズ除去”に対応する起動パラメータが“オン”か否かを判断する（Ｓ３８）。そして、端末プログラム６５は、Ｓ３１で取得した機能情報に“ノイズ除去”が設定された外部プログラムのうち、起動パラメータ“オン”が対応付けられた外部プログラム“００３”、“００５”を起動する（Ｓ３９）。一方、端末プログラム６５は、機能情報“ノイズ除去”で且つ起動パラメータ“オン”の外部プログラム６６が存在しない場合に、Ｓ３９の処理をスキップする。Ｓ３８の処理は判断処理の一例であり、Ｓ３９の処理は後処理及び第１後処理の一例である。
【００７５】
より詳細には、端末プログラム６５は、プログラムＩＤ“００３”と、スキャンデータを記憶するメモリ領域の先頭アドレスを示すポインタとを引数として指定して、起動ＡＰＩを実行する。そして、ＯＳ６４は、外部プログラム“００３”をバックグラウンドで起動する。外部プログラム“００３”は、指定されたポインタで示されるメモリ領域からスキャンデータを読み出し、読み出したスキャンデータに対して斜行補正を実行し、斜行補正後のスキャンデータをポインタで示されるメモリ領域に記憶させて、処理を終了する。
【００７６】
次に、端末プログラム６５は、プログラムＩＤ“００５”と、斜行補正後のスキャンデータを記憶するメモリ領域の先頭アドレスを示すポインタとを引数として指定して、起動ＡＰＩを実行する。そして、ＯＳ６４は、外部プログラム“００５”をバックグラウンドで起動する。外部プログラム“００５”は、指定されたポインタで示されるメモリ領域からスキャンデータを読み出し、読み出したスキャンデータに対して地色補正を実行し、地色補正後のスキャンデータをポインタで示されるメモリ領域に記憶させて、処理を終了する。
【００７７】
すなわち、Ｓ３９の処理を実行した後において、ポインタで示されるメモリ領域には、斜行補正及び地色補正が実行されたスキャンデータが記憶されている。なお、斜行補正及び地色補正は、周知のアルゴリズムによって実現されるので、詳細な説明は省略する。また、外部プログラム“００３”、“００５”の実行順序は、前述の例に限定されず、逆順であってもよい。
【００７８】
次に、端末プログラム６５は、Ｓ３１で取得した機能情報“画像編集”に対応する起動パラメータが“オン”か否かを判断する（Ｓ４０）。そして、端末プログラム６５は、Ｓ３１で取得した機能情報に“画像編集”が設定された外部プログラムのうち、起動パラメータ“オン”が対応付けられた外部プログラム“００７”を起動する（Ｓ４１）。より詳細には、端末プログラム６５は、プログラムＩＤ“００７”と、スキャンデータを記憶するメモリ領域の先頭アドレスを示すポインタとを引数として指定して、起動ＡＰＩを実行する。そして、ＯＳ６４は、外部プログラム“００７”をフォアグラウンドで起動する。また、ＯＳ６４は、端末プログラム６５をフォアグラウンドからバックグラウンドに切り替える。Ｓ４０の処理は判断処理の一例であり、Ｓ４１の処理は後処理及び第２後処理の一例である。
【００７９】
外部プログラム“００７”は、起動ＡＰＩによって端末プログラム６５から起動されたことに応じて、図９（Ａ）に示されるＯＣＲ画面をディスプレイ５３に表示させる。ＯＣＲ画面は、スキャン画像１６１と、［読取］アイコン１６２とを含む。スキャン画像１６１は、指定されたポインタで示されるメモリ領域に記憶されたスキャンデータで示される画像である。［読取］アイコン１６２は、スキャン画像１６１に含まれる文字列を抽出する指示に対応する。そして、外部プログラム“００７”は、ＯＣＲ画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。
【００８０】
外部プログラム“００７”は、［読取］アイコン１６２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、スキャン画像１６１に含まれる文字列“○×株式会社”、“特許太郎”、“ｘｘ−ｙｙｙｙ−ｚｚｚｚ”を、周知のアルゴリズムで抽出する。そして、外部プログラム“００７”は、抽出した文字列をメモリ６２のアドレス帳等に登録し、処理を終了する。次に、ＯＳ６４は、端末プログラム６５をバックグラウンドからフォアグラウンドに切り替える。そして、フォアグラウンドに切り替えられた端末プログラム６５は、スキャン指示処理を終了する。
【００８１】
一方、端末プログラム６５は、機能情報“画像編集”で且つ起動パラメータ“オン”の外部プログラム６６が存在しないことに応じて、Ｓ４１の処理に代えて、図９（Ｂ）に示されるスキャン結果画面をディスプレイ５３に表示させる（Ｓ４２）。スキャン結果画面は、スキャン画像１７１と、プラグインアイコン１７２、１７３、１７４と、［保存］アイコン１７５と、［終了］アイコン１７６とを含む第２画面の一例である。そして、端末プログラム６５は、スキャン結果画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ４３）。Ｓ４２の処理は第２表示処理の一例であり、Ｓ４３の処理は第２受付処理の一例である。
【００８２】
スキャン画像１７１は、Ｓ３７でスキャナ１２が生成し且つＳ３９でノイズが除去されたスキャンデータで示される画像である。プラグインアイコン１７２〜１７４は、Ｓ３１で取得した機能情報に“画像編集”が設定された外部プログラム“００６”、“００７”、“００８”に対応する第３オブジェクトの一例である。［保存］アイコン１７５は、スキャンデータをメモリ６２に記憶させる指示に対応する。［終了］アイコン１７６は、スキャンデータを破棄してスキャン指示処理を終了する指示に対応する。
【００８３】
次に、端末プログラム６５は、例えばプラグインアイコン１７３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ４３：ＰＩ）、前述したＳ４１の処理を実行する。また、端末プログラム６５は、［保存］アイコン１７５の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ４３：保存）、スキャンデータをメモリ６２に保存して（Ｓ４４）、スキャン指示処理を終了する。さらに、端末プログラム６５は、［終了］アイコン１７６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ４３：終了）、Ｓ４１、Ｓ４４の処理をスキップして、スキャン指示処理を終了する。
【００８４】
Ｓ３７〜Ｓ４３の処理は、生成処理の一例である。すなわち、端末プログラム６５は、外部プログラム“００１”、“００２”から候補パラメータ及び起動パラメータを取得（Ｓ３５）し、候補パラメータのうちから指定された条件パラメータに従ってスキャナ１２にスキャン動作を実行させ（Ｓ３７）、取得した起動パラメータに従って外部プログラム“００３”、“００５”、“００７”を起動することによって（Ｓ３９、Ｓ４１）、画像データを生成する。
【００８５】
［本実施形態の作用効果］
上記の実施形態によれば、画像データの生成に利用する外部プログラム６６を、Ｓ３７の前及び後のうち、機能情報に従った適切なタイミングで起動することができる。これにより、画像データを生成する一連の処理をスムーズに実行することができる。また、現時点で携帯端末５０にインストールされている外部プログラム６６の機能情報のみを取得するので、インストールされた後にアンインストールされた外部プログラム６６を起動しようとして、予期せぬエラーが発生することを抑制できる。
【００８６】
一例として、スキャン動作の実行条件を構成する条件パラメータをＳ３７の前に取得することができるので、画像データを生成する一連の処理をスムーズに実行することができる。より詳細には、端末プログラム６５の標準機能でユーザが指定可能な項目“サイズ”、“画質”の条件パラメータと、外部プログラム“００１”を利用してユーザが指定可能な項目“読取面”、“読取色”の条件パラメータとを組み合わせて、スキャン動作の実行条件を構成することができる。これにより、ユーザの所望の実行条件でスキャナ１２にスキャン動作を実行させることができる。
【００８７】
他の例として、スキャン動作で生成されたスキャンデータに対する処理を実行する外部プログラム６６を、外部プログラム“００２”を利用して予めユーザに指定させることができる。これにより、ユーザの所望の処理をスキャンデータに対して自動的に実行させることができるので、画像データを生成する一連の処理をスムーズに実行することができる。
【００８８】
また、上記の実施形態によれば、機能情報に“画像編集”が設定された外部プログラム６６を、スキャン結果画面から起動することができる。すなわち、スキャン結果画面を通じてノイズが除去された後のスキャン画像１７１を確認したユーザに、当該スキャンデータを編集する外部プログラム６６を起動するか否かを選択させることができる。
【００８９】
なお、図３に示される各プログラムレコードは、機能情報の設定値が１つのみの例を説明したが、機能情報の設定値が複数であってもよい。すなわち、外部プログラム６６は、複数の機能を有していてもよい。端末プログラム６６は、複数の機能を有する外部プログラム６６を、機能情報の設定値に対応する複数のタイミング（Ｓ３５、Ｓ３９、Ｓ４１）で起動させてもよい。
【００９０】
また、外部プログラム６６の起動タイミングを判断するための種別情報は、図３に示される機能情報に限定されない。例えば、プログラムレコードは、図３に示される機能情報に代えて、図１０に示されるタイミング情報を含んでもよい。タイミング情報は、外部プログラム６６の起動タイミングを示す情報である。タイミング情報には、スキャン動作の実行前に起動すべきことを示す“スキャン前”、或いはスキャン動作の実行後に起動すべきことを示す“スキャン中”、“スキャン後”が設定される。また、タイミング情報“スキャン中”が設定された外部プログラム６６は、タイミング情報“スキャン後”が設定された外部プログラム６６より先に起動すべきことを示す。
【００９１】
タイミング情報“スキャン前”に対応する外部プログラム６６は、第１種別の外部プログラム６６の一例である。タイミング情報“スキャン中”、“スキャン後”に対応する外部プログラム６６は、第２種別の外部プログラム６６の一例である。また、タイミング情報“スキャン前”は機能情報“パラメータ指定”に対応し、タイミング情報“スキャン中”は機能情報“ノイズ除去”に対応し、タイミング情報“スキャン後”は機能情報“画像編集”に対応してもよい。
【００９２】
そして、端末プログラム６５は、Ｓ３１において、携帯端末５０にインストールされている外部プログラム６６のタイミング情報を、プログラムリストから取得すればよい。また、端末プログラム６５は、Ｓ３２において、タイミング情報“スキャン前”を取得したか否かを判断すればよい。さらに、端末プログラム６５は、Ｓ３８、Ｓ４０において、タイミング情報“スキャン中”、“スキャン後”に対応する起動パラメータが“オン”か否かを判断すればよい。このように、Ｓ３２、Ｓ３８、Ｓ４０の判断に用いる種別情報は、対応する外部プログラム６６の起動タイミングを特定し得る情報であれば、どのような情報であってもよい。
【００９３】
また、上記の実施形態のＭＦＰ１０及び携帯端末５０において、メモリ３２、６２に記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明のントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００９４】
さらに、本発明は、ＭＦＰ１０及び携帯端末５０として実現できるだけでなく、ＭＦＰ１０及び携帯端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じてＭＦＰ１０及び携帯端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【００９５】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
２３，５３・・・ディスプレイ
２４，５４・・・入力Ｉ／Ｆ
２５，５５・・・通信Ｉ／Ｆ
３１，６１・・・ＣＰＵ
３２，６２・・・メモリ
３５・・・装置プログラム
５０・・・携帯端末
６５・・・端末プログラム
６６・・・外部プログラム
【図１】
2018006841.tif 000003
【図２】
2018006841.tif 000004
【図３】
2018006841.tif 000005
【図４】
2018006841.tif 000006
【図５】
2018006841.tif 000007
【図６】
2018006841.tif 000008
【図７】
2018006841.tif 000009
【図８】
2018006841.tif 000010
【図９】
2018006841.tif 000011
【図１０】
2018006841.tif 000012