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