(57)【特許請求の範囲】
【請求項１】
情報処理装置が備えるコンピュータにおいて実行される情報処理プログラムであって、
前記情報処理装置は、
対象物を撮影することにより画像データを生成するカメラ部と、
通信対象機器との距離が所定距離以内になることに応じて近距離無線通信を実行し、前記通信対象機器から第１データを受信する第１通信インターフェース部と、
前記第１データを前記第１通信インターフェース部から受信し、受信した前記第１データに基づいて各種の処理である第１処理を実行するオペレーティングシステムが記憶されている記憶部と、
を備えており、
前記カメラ部から前記オペレーティングシステムを介して画像データを受信することに応じて、受信した前記画像データが示す画像に対して画像認識処理を実行する画像処理手段として、前記情報処理プログラムは前記コンピュータを機能させ、
前記画像処理手段は、
ユーザによる起動指示の入力を受け付けたことに応じて起動し、
前記画像処理手段が起動したことに応じて、第１命令を前記オペレーティングシステムへ送信し、
ここで前記第１命令は、前記オペレーティングシステムが前記第１通信インターフェース部から第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することなく、受信した前記第１データを前記画像処理手段に渡すことを前記オペレーティングシステムに指示する命令であり、
前記画像認識処理が完了したことに応じて、第２命令を前記オペレーティングシステムへ送信する、
ここで前記第２命令は、前記オペレーティングシステムが前記第１通信インターフェース部から前記第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することを前記オペレーティングシステムに指示する命令である、
ことを特徴とする情報処理プログラム。
【請求項２】
前記画像処理手段は、
前記第１命令を前記オペレーティングシステムに送信してから前記第２命令を前記オペレーティングシステムへ送信するまでの期間中に、前記第１データを前記オペレーティングシステムから受信した場合には、受信した前記第１データを前記記憶部に記憶させ、
前記画像認識処理を実行することにより、前記画像データから第２データを取得し、
前記画像認識処理が完了したことに応じて、前記第２データに基づいて各種の処理である第２処理を実行し、
前記第２処理が完了したことに応じて、前記記憶部に記憶されている前記第１データを前記オペレーティングシステムに送信することにより、前記第１処理を前記オペレーティングシステムに実行させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記情報処理装置は、インターネットに接続するための第２通信インターフェース部をさらに備え、
前記画像処理手段は、前記オペレーティングシステムから受信した前記第１データがUniform Resource Identifierを含んでいる場合に、当該第１データを前記記憶部に記憶させ、
前記オペレーティングシステムが実行する前記第１処理は、前記第２通信インターフェース部を介して、前記第１データに含まれている前記Uniform Resource Identifierが示している情報資源にアクセスする処理であることを特徴とする請求項２に記載の情報処理プログラム。
【請求項４】
前記第１データに含まれている前記Uniform Resource Identifierと同一のUniform Resource Identifierが、前記第２データに含まれている場合には、前記オペレーティングシステムに前記第１処理を実行させないことを特徴とする請求項３に記載の情報処理プログラム。
【請求項５】
前記情報処理装置は、表示部をさらに備え、
前記画像処理手段は、
前記第１命令を前記オペレーティングシステムに送信してから前記第２命令を前記オペレーティングシステムへ送信するまでの期間中に、前記第１データを前記オペレーティングシステムから受信した場合には、受信した前記第１データを前記記憶部に記憶させるとともに、前記第１データを前記通信対象機器から受信したことをユーザに報知するための第１画像を前記表示部に表示させ、
前記第１データに基づいて前記第１処理を実行することを指示する入力を受け付けた場合に、前記記憶部に記憶されている前記第１データを前記オペレーティングシステムに送信することにより、前記第１処理を前記オペレーティングシステムに実行させることを特徴とする請求項１〜４の何れか１項に記載の情報処理プログラム。
【請求項６】
前記情報処理装置は、インターネットに接続するための第２通信インターフェース部をさらに備え、
前記画像処理手段は、前記オペレーティングシステムから受信した前記第１データがUniform Resource Identifierを含んでいる場合に、当該第１データを前記記憶部に記憶させ、
前記オペレーティングシステムが実行する前記第１処理は、前記第２通信インターフェース部を介して、前記第１データに含まれている前記Uniform Resource Identifierが示している情報資源にアクセスする処理であることを特徴とする請求項５に記載の情報処理プログラム。
【請求項７】
前記情報処理装置は、表示部をさらに備え、
前記画像処理手段は、
前記第１命令を前記オペレーティングシステムに送信してから前記第２命令を前記オペレーティングシステムへ送信するまでの期間中に、Uniform Resource Identifierを含まない第１データを前記オペレーティングシステムから受信した場合には、Uniform Resource Identifierを含まない第１データを受信したことを前記記憶部に記憶させ、
前記画像認識処理を実行することにより、前記画像データから第２データを取得し、
前記画像認識処理が完了したことに応じて、前記第２データに基づいて各種の処理である第２処理を実行し、
前記第２処理が完了したことに応じて、前記第１処理を前記オペレーティングシステムに実行させることができないことをユーザに報知するための第２画像を前記表示部に表示させる、
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項８】
前記画像データは、各種データを図形パターンで表したコード画像を示すデータであり、
前記画像認識処理は、前記コード画像を解析してデータを復元する処理であることを特徴とする請求項１〜７の何れか１項に記載の情報処理プログラム。
【請求項９】
対象物を撮影することにより画像データを生成するカメラ部と、
通信対象機器との距離が所定距離以内になることに応じて近距離無線通信を実行し、前記通信対象機器から第１データを受信する第１通信インターフェース部と、
前記第１データを前記第１通信インターフェース部から受信し、受信した前記第１データに基づいて各種の処理である第１処理を実行するオペレーティングシステムが記憶されている記憶部と、
前記カメラ部から前記オペレーティングシステムを介して画像データを受信することに応じて、受信した前記画像データが示す画像に対して画像認識処理を実行する画像処理手段と、
を備え、
前記画像処理手段は、
ユーザによる起動指示の入力を受け付けたことに応じて起動し、
前記画像処理手段が起動したことに応じて、第１命令を前記オペレーティングシステムへ送信し、
ここで前記第１命令は、前記オペレーティングシステムが前記第１通信インターフェース部から第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することなく、受信した前記第１データを前記画像処理手段に渡すことを前記オペレーティングシステムに指示する命令であり、
前記画像認識処理が完了したことに応じて、第２命令を前記オペレーティングシステムへ送信する、
ここで前記第２命令は、前記オペレーティングシステムが前記第１通信インターフェース部から前記第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することを前記オペレーティングシステムに指示する命令である、
ことを特徴とする情報処理装置。
【請求項１０】
対象物を撮影することにより画像データを生成するカメラ部と、
通信対象機器との距離が所定距離以内になることに応じて近距離無線通信を実行し、前記通信対象機器から第１データを受信する第１通信インターフェース部と、
前記第１データを前記第１通信インターフェース部から受信し、受信した前記第１データに基づいて各種の処理である第１処理を実行するオペレーティングシステムが記憶されている記憶部と、
を備える情報処理装置の制御方法であって、
前記カメラ部から前記オペレーティングシステムを介して画像データを受信することに応じて、受信した前記画像データが示す画像に対して画像認識処理を実行する画像処理ステップを備え、
前記画像処理ステップは、
ユーザによる起動指示の入力を受け付けたことに応じて開始され、
前記画像処理ステップが開始されたことに応じて、第１命令を前記オペレーティングシステムへ送信し、
ここで前記第１命令は、前記オペレーティングシステムが前記第１通信インターフェース部から第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することなく、受信した前記第１データを前記画像処理ステップで処理することを前記オペレーティングシステムに指示する命令であり、
前記画像認識処理が完了したことに応じて、第２命令を前記オペレーティングシステムへ送信する、
ここで前記第２命令は、前記オペレーティングシステムが前記第１通信インターフェース部から前記第１データを受信した場合に、前記第１処理を前記オペレーティングシステムが実行することを前記オペレーティングシステムに指示する命令である、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示されている技術は、適切にデータ通信を実行することが可能な情報処理プログラム、情報処理装置、および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
カメラ部と、近距離無線通信用のデータ受信部とを備えた情報処理装置が知られている。このような情報処理装置では、各種データを図形で表したコードを、カメラ部を用いて読み取ることができる。これにより、コードに含まれているデータを取得することができる。また、情報処理装置を、近距離無線通信用のデータ送信部を備えた特定の装置に近接させることにより、情報処理装置と特定の装置との間で、近距離無線通信を実行することができる。なお、関連する技術を、特許文献１〜３が開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2006-245929号公報
【特許文献２】特開2005-108200号公報
【特許文献３】特開2013-162515号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
カメラ部を用いてコードを読み取る際に、情報処理装置が備えるデータ受信部が、他の装置のデータ送信部に意図せずに近接してしまう場合がある。この場合、意図しない近距離無線通信が実行されてしまうことがある。すると、近距離無線通信で通信されたデータに基づいて、各種の処理が実行されてしまう結果、カメラ部を用いたコード読み取りが阻害されてしまうことがある。ユーザの利便性が低下してしまうため、問題である。
【課題を解決するための手段】
【０００５】
この目的を達成するために、本明細書に開示されている情報処理プログラムは、情報処理装置が備えるコンピュータにおいて実行される情報処理プログラムであって、情報処理装置は、対象物を撮影することにより画像データを生成するカメラ部と、通信対象機器との距離が所定距離以内になることに応じて近距離無線通信を実行し、通信対象機器から第１データを受信する第１通信インターフェース部と、第１データを第１通信インターフェース部から受信し、受信した第１データに基づいて各種の処理である第１処理を実行するオペレーティングシステムが記憶されている記憶部と、を備えており、カメラ部からオペレーティングシステムを介して画像データを受信することに応じて、受信した画像データが示す画像に対して画像認識処理を実行する画像処理手段として、情報処理プログラムはコンピュータを機能させ、画像処理手段は、ユーザによる起動指示の入力を受け付けたことに応じて起動し、画像処理手段が起動したことに応じて、第１命令をオペレーティングシステムへ送信し、ここで第１命令は、オペレーティングシステムが第１通信インターフェース部から第１データを受信した場合に、第１処理をオペレーティングシステムが実行することなく、受信した第１データを画像処理手段に渡すことをオペレーティングシステムに指示する命令であり、画像認識処理が完了したことに応じて、第２命令をオペレーティングシステムへ送信する、ここで第２命令は、オペレーティングシステムが第１通信インターフェース部から第１データを受信した場合に、第１処理をオペレーティングシステムが実行することをオペレーティングシステムに指示する命令である、ことを特徴とする。
【０００６】
本明細書に開示の情報処理プログラムによれば、カメラ部が生成した画像データに対して画像認識処理を実行している期間中は、近距離無線通信によって受信した第１データに基づいた第１処理を、オペレーティングシステムで実行しないように制御することができる。これにより、カメラ部を用いて対象物を撮影する際に、情報処理装置が備える第１通信インターフェース部が通信対象機器に近接してしまい、意図しない近距離無線通信が実行されてしまう場合においても、近距離無線通信で通信されたデータに基づいた各種の処理が、オペレーティングシステムで実行されてしまうことがない。よって、カメラ部を用いたコード読み取りが阻害されてしまう事態を防止することができる。ユーザの利便性を向上させることが可能となる。
【０００７】
本明細書に記載されている情報処理プログラムによれば、画像データから取得した第２データに基づいた処理である第２処理が完了した後に、近距離無線通信によって受信した第１データに基づいた第１処理をオペレーティングシステムで実行することができる。これにより、第１処理および第２処理の両方を実行することが可能となる。
【０００８】
本明細書に記載されている情報処理プログラムによれば、第１データに含まれているUniform Resource Identifierが示している情報資源に、アクセスすることが可能となる。
【０００９】
本明細書に記載されている情報処理プログラム等によれば、第２データに基づいた第２処理と、第１データに基づいた第１処理との処理内容が同一である場合には、第１処理を実行しないように制御することができる。重複した処理が行われてしまうことを防止できる。
【００１０】
本明細書に記載されている情報処理プログラムによれば、カメラ部が生成した画像データに対して画像認識処理を実行している期間中に、近距離無線通信によって第１データを受信した場合には、第１データに基づいた第１処理を実行するか否かのユーザの指示の入力を受け付けることができる。そして、実行指示を受け付けた場合には、第１処理をオペレーティングシステムで実行することができる。第１処理の実行可否を、ユーザの意図に基づいて決定することが可能となる。
【００１１】
本明細書に記載されている情報処理プログラムによれば、カメラ部が生成した画像データに対して画像認識処理を実行している期間中に、Uniform Resource Identifierを含まない第１データを受信した場合には、第１処理をオペレーティングシステムに実行させることができないことをユーザに報知することができる。これにより、第１処理が実行できないことを、ユーザに認識させることが可能となる。
【００１２】
本明細書に記載されている情報処理プログラムによれば、画像認識処理において、コード画像を解析してデータを復元することにより、各種データを取得することができる。
【００１３】
なお、本明細書に開示の技術は、情報処理装置、情報処理装置の制御方法、情報処理装置を制御する制御装置、情報処理システム、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で実現可能である。
【図面の簡単な説明】
【００１４】
【図１】通信システムのブロック図である。
【図２】コードリーダアプリケーションの動作を説明するフローチャートである。
【図３】コードリーダアプリケーションの動作を説明するフローチャートである。
【図４】ＯＳの動作を説明するフローチャートである。
【図５】ＯＳの動作を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
（通信システムの構成）
図１に、本願に係る実施形態として例示される通信システム１のブロック図を示す。通信システム１は、携帯電話１０、プリンタ１１０、ウェブサーバ１００、基地局６１を備える。ウェブサーバ１００は、インターネット７０および基地局６１を介して携帯電話１０と通信することが可能である。
【００１６】
（携帯電話１０の構成）
携帯電話１０は、Ａｎｄｒｏｉｄ（Google Inc.の登録商標）のプラットフォームを搭載した携帯電話である。携帯電話１０は、ＣＰＵ１１、記憶部１２、ＮＦＣ（Near Field Communicationとも称する）インターフェース部１５、無線ＬＡＮ（LocalArea Networkとも称する）インターフェース部１６、ボタン入力部１７、パネル１８、携帯電話インターフェース部２２、カメラ部２７、を主に備えている。ＣＰＵ１１は、記憶部１２に記憶されるプログラムや、ＮＦＣ＿Ｉ／Ｆ１５を介して送受信される各種信号などに従って、各機能の制御を行う。またＣＰＵ１１は、プログラムを読み取ることで、各種の手段として機能する。本明細書では、インターフェース部のことを「Ｉ／Ｆ」と記載する。
【００１７】
記憶部１２は、プログラム２１を記憶している。なお、記憶部１２は、ＲＡＭ（Random Access Memoryとも称する）、ＲＯＭ（Read Only Memoryとも称する）、フラッシュメモリ、ＨＤＤ（ハードディスクドライブとも称する）などが組み合わされて構成されているとしてもよい。記憶部１２は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。
【００１８】
プログラム２１は、印刷アプリケーション２１ａ、ブラウザアプリケーション２１ｂ、ギャラリーアプリケーション２１ｃ、コードリーダアプリケーション２１ｄ、オペレーティングシステム２１ｅ（以下、ＯＳ２１ｅと記載する）を備えている。ＯＳ２１ｅは、ＡｎｄｒｏｉｄプラットフォームのＯＳである。印刷アプリケーション２１ａないしコードリーダアプリケーション２１ｄの各々は、Ａｎｄｒｏｉｄ（Google Inc.の登録商標）用のアプリケーションである。
【００１９】
印刷アプリケーション２１ａは、プリンタ１１０に印刷を実行させるためのアプリケーションである。印刷アプリケーション２１ａは、プリンタ１１０のベンダによって提供されるアプリケーションであってもよい。印刷アプリケーション２１ａは、インターネット上の不図示のサーバから携帯電話１０にインストールされてもよいし、プリンタ１１０と共に出荷されるメディアから携帯電話１０にインストールされてもよい。ブラウザアプリケーション２１ｂは、ウェブサーバ１００から取得したウェブデータを、パネル１８に表示させるためのアプリケーションである。ギャラリーアプリケーション２１ｃは、画像データに基づく画像をパネル１８に表示させたり、画像データに各種の変換（色補正など）を行うためのアプリケーションである。
【００２０】
コードリーダアプリケーション２１ｄは、コードをカメラ部２７を用いて撮影することで、コードに埋め込まれている第２データを取得するためのアプリケーションである。コードの一例としては、ＱＲコード（株式会社デンソーウェーブの登録商標）が挙げられる。またコードリーダアプリケーション２１ｄは、コードから取得した第２データに基づいて、各種の処理を実行することが可能である。例えば、コードから取得した第２データがＵＲＩ（Uniform Resource Identifierの略）形式データである場合には、当該ＵＲＩ形式データをブラウザアプリケーション２１ｂに渡すとしてもよい。ＵＲＩ形式データは、ＯＳ２１ｅが備える共有機能によって、ブラウザアプリケーション２１ｂに渡されてもよい。そして、ブラウザアプリケーション２１ｂが、受け渡されたＵＲＩ形式データで指定されるウェブページを表示するとしてもよい。また例えば、コードから取得した第２データが、Ｗｉ−Ｆｉ通信を実行するために必要な通信設定データ（例：アクセスポイントのＳＳＩＤ）である場合には、当該通信設定データを用いて、無線ＬＡＮ＿Ｉ／Ｆ１６に無線通信を実行させるとしてもよい。
【００２１】
ＯＳ２１ｅは、印刷アプリケーション２１ａないしコードリーダアプリケーション２１ｄに共通して利用される基本的な機能を提供するプログラムである。またＯＳ２１ｅは、印刷アプリケーション２１ａないしコードリーダアプリケーション２１ｄの各々の間での、データの受け渡しを管理する。すなわちＯＳ２１ｅは、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えている。
【００２２】
またＯＳ２１ｅは、ＮＦＣ＿Ｉ／Ｆ１５、無線ＬＡＮ＿Ｉ／Ｆ１６、携帯電話Ｉ／Ｆ２２などを介して取得した各種データや、コードリーダアプリケーション２１ｄが取得した各種データに基づいて、各種の処理を実行することができる。
【００２３】
ＮＦＣ＿Ｉ／Ｆ１５は、いわゆる近距離無線通信のためのＮＦＣ技術に従った無線通信２００（以下では「ＮＦＣ通信２００」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。ＮＦＣ技術は、例えば、ＩＳＯ／ＩＥＣ２１４８１又は１８０９２の国際標準規格に基づく無線通信手順である。ＮＦＣ＿Ｉ／Ｆ１５は、ＮＦＣタグとの距離が所定距離（例：１０ｃｍ）以内になることに応じて、自動的に近距離無線通信を実行し、ＮＦＣタグからデータを受信する。本実施形態では、プリンタ１１０はＮＦＣタグ１１６を備えている。よって、携帯電話１０をプリンタ１１０に近接させる（例：かざす）ことにより、ＮＦＣ通信２００が自動的に実行される。その結果、携帯電話１０は、プリンタ１１０から各種の情報を受信することができる。
【００２４】
携帯電話Ｉ／Ｆ２２は、基地局６１との間で無線通信２１０を行うためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。無線通信２１０は、３Ｇ、４Ｇ等のセルラー方式の無線通信であってもよい。携帯電話Ｉ／Ｆ２２を用いることで、基地局６１を介してインターネット７０に接続することが可能となる。
【００２５】
無線ＬＡＮ＿Ｉ／Ｆ１６は、Ｗｉ−Ｆｉ（Wi−Fi  Allianceの登録商標）技術に従った無線通信２０１（以下では「Ｗｉ−Ｆｉ通信２０１」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。Ｗｉ−Ｆｉ技術は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.とも称する）の８０２．１１の規格、及び、それに準ずる規格（例えば、８０２．１１ａ、１１ｂ、１１ｇ、１１ｎ等）に基づく無線通信手順である。無線ＬＡＮ＿Ｉ／Ｆ１６は、アクセスポイントを介した無線通信（即ちインフラストラクチャモードの無線通信）を実行するためのＩ／Ｆであってもよいし、アクセスポイントを介さない無線通信（例えば、アドホックモードの無線通信、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（Wi−Fi  Allianceの登録商標）技術の無線通信）を実行するためのＩ／Ｆであってもよい。
【００２６】
ボタン入力部１７は、携帯電話１０の各機能を実行するためのキーである。ボタン入力部１７は、タッチパネルとして、パネル１８と一体に構成されていてもよい。パネル１８は、携帯電話１０の各種機能情報を表示する。カメラ部２７は、対象物を撮影することにより画像データを生成する部位である。
【００２７】
（プリンタ１１０の構成）
プリンタ１１０は、印刷機能を実行可能な周辺機器（即ちＰＣ等の周辺機器）である。プリンタ１１０は、操作部１１２と、表示部１１４と、ＮＦＣタグ１１６と、無線ＬＡＮ（LocalArea Networkとも称する）インターフェース部１１８と、印刷実行部１２０と、制御部１３０と、コード１４０と、を備える。各部１１２〜１３０は、バス線（符号省略）に接続されている。
【００２８】
ＮＦＣタグ１１６は、ＮＦＣ＿Ｉ／Ｆ１５との間でＮＦＣ通信２００を行うための装置である。ＮＦＣタグ１１６は、例えばプリンタ１１０の筐体の前面に配置されていてもよい。ＮＦＣタグ１１６は、タグ記憶部１１７を備える。タグ記憶部１１７は、不揮発性の記憶部である。タグ記憶部１１７は、第１データを記憶している。第１データは、ＮＦＣ＿Ｉ／Ｆ１５との間の通信が実行された場合に、ＮＦＣ＿Ｉ／Ｆ１５へ送信されるデータである。
【００２９】
第１データの一例としては、ＵＲＩ形式データ、通信設定データ、ＴＥＸＴデータ、などが挙げられる。ＵＲＩ形式データは、「http://」で始まるＵＲＬ（Uniform Resource Locatorの略）を含んでいてもよい。これにより、ＵＲＩ形式データを受信した携帯電話１０は、ＵＲＬに基づいてウェブサイトにアクセスすることが可能となる。またＵＲＩ形式データは、プリンタ１１０へ接続するために任意に定義されたスキームを含んでいてもよい。これにより、ＵＲＩ形式データを受信した外部装置は、ＵＲＩ形式データを用いてプリンタ１１０に接続することが可能となる。またＵＲＩ形式データは、特定のアプリケーションで処理されるように設定することも可能である。例えば、「myapp://processor/program」のようなＵＲＩを用いる場合には、「myapp://」というスキームに反応して、特定のアプリケーション（例：印刷アプリケーション２１ａ）が起動するように定義することができる。第１データがＵＲＩ形式データである場合に、インターネット７０への接続が行われない場合があることに留意されたい。
【００３０】
通信設定データは、Ｗｉ−Ｆｉ通信を実行するために必要なデータである。通信設定データを受信した携帯電話１０は、通信設定データを用いてプリンタ１１０に接続することが可能となる。通信設定データは、特定の規格に基づいたデータであってもよいし、プリンタ１１０のベンダによって規定された独自の規格を有するデータであってもよい。また通信設定データは、ＵＲＩ形式のデータであってもよい。
【００３１】
コード１４０は、各種データを図形パターンで表したものである。コード１４０は、例えばプリンタ１１０の筐体の前面に印刷されていてもよい。
【００３２】
操作部１１２は、複数のキーを備える。ユーザは、操作部１１２を操作することによって、様々な指示をプリンタ１１０に与えることができる。表示部１１４は、様々な情報を表示するためのディスプレイである。印刷実行部１２０は、インクジェット方式、レーザ方式等の印刷機構である。無線ＬＡＮ＿Ｉ／Ｆ１１８の構成は、前述の無線ＬＡＮ＿Ｉ／Ｆ１６の構成と同様であるため、ここでは説明を省略する。
【００３３】
制御部１３０は、ＣＰＵ１３２と、記憶部１３４と、を備える。ＣＰＵ１３２は、記憶部１３４に記憶されているプログラム（図示省略）に従って、様々な処理を実行するプロセッサである。記憶部１３４は、ＲＡＭ、ＲＯＭ等によって構成される。記憶部１３４は、記憶部１２と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。
【００３４】
（ウェブサーバ１００の構成）
ウェブサーバ１００は、インターネット７０上に設置されるサーバである。ウェブサーバ１００は、プリンタ１１０のベンダによって提供されるサーバであってもよい。ウェブサーバ１００は、記憶部１０１およびＣＰＵ１０２を備えている。ＣＰＵ１０２は、記憶部１０１に記憶されているプログラム（図示省略）に従って、様々な処理を実行するプロセッサである。記憶部１０１は、ＨＴＭＬデータや画像データなどの各種データを記憶する領域である。ウェブサーバ１００は、携帯電話１０に搭載されているブラウザアプリケーション２１ｂなどのクライアントソフトウェアの要求に応じて、インターネット７０を通じて、記憶部１０１に記憶されている各種データを提供する。
【００３５】
（本明細書における記載上の注意点）
以降、アプリケーションやＯＳ２１ｅなどのプログラムを実行するＣＰＵ１１のことを、単にプログラム名で記載する場合もある。例えば「コードリーダアプリケーション２１ｄ」という記載が、「コードリーダアプリケーション２１ｄを実行するＣＰＵ１１」を意味する場合もある。本明細書において、「携帯端末１０のＣＰＵ１１が、各種の情報を受信する」という記載は、「携帯端末１０のＣＰＵ１１が、携帯電話Ｉ／Ｆ２２やＮＦＣ＿Ｉ／Ｆ１５を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「携帯端末１０のＣＰＵ１１が、各種の情報を送信する」という記載は、「携帯端末１０のＣＰＵ１１が、携帯電話Ｉ／Ｆ２２やＮＦＣ＿Ｉ／Ｆ１５を介して各種の情報を出力する」という技術内容を含んでいるものとする。
【００３６】
（コードリーダアプリケーション２１ｄの動作）
本実施形態に係るコードリーダアプリケーション２１ｄの動作を、図２および図３のフローチャートを用いて説明する。本実施形態の説明例では、コード１４０に埋め込まれている第２データが、プリンタ１１０のオンラインマニュアルを示すウェブページへアクセスするためのＵＲＩ形式データである場合を説明する。また、タグ記憶部１１７に記憶されている第１データが、プリンタ１１０とＷｉ−Ｆｉ通信を実行するために用いる通信設定データである場合を説明する。そしてユーザが、プリンタ１１０のオンラインマニュアルを読むために、コードリーダアプリケーション２１ｄを用いてコード１４０を読み込む場合を説明する。すなわちユーザが、カメラ部２７を用いて、プリンタ１１０の筐体に印刷してあるコード１４０を撮影する場合を説明する。
【００３７】
後述するＳ２１５において、コードリーダアプリケーション２１ｄが起動されることに応じて、図２のフローが開始される。Ｓ１０においてコードリーダアプリケーション２１ｄは、カメラ部２７を起動する。
【００３８】
Ｓ１５においてコードリーダアプリケーション２１ｄは、自身が起動したことに応じて、第１命令をＯＳ２１ｅへ送信する。第１命令は、コードリーダアプリケーション優先制御を実行することを、ＯＳ２１ｅに対して要求するための命令である。コードリーダアプリケーション優先制御は、「ＮＦＣ＿Ｉ／Ｆ１５がＮＦＣタグから第１データを受信した場合に、ＯＳ２１ｅよりも優先して、コードリーダアプリケーション２１ｄが第１データを処理する」という制御である。具体的に説明する。ＮＦＣ＿Ｉ／Ｆ１５が第１データを受信すると、第１データはＯＳ２１ｅへ送信される。ＯＳ２１ｅは、第１データを受信すると、第１データに基づく処理を実行することなく、受信した第１データをコードリーダアプリケーション２１ｄに送信する。第１命令は、以上の動作を実行することを、ＯＳ２１ｅに指示する命令である。
【００３９】
Ｓ２０においてコードリーダアプリケーション２１ｄは、コード１４０を撮影した画像データを、ＯＳ２１ｅから受信したか否かを判断する。具体的に説明する。カメラ部２７は、コード１４０が撮影されたことに応じて、コード１４０の画像データを生成する。カメラ部２７は、生成した画像データを、ＯＳ２１ｅへ送信する。ＯＳ２１ｅは、受信した画像データを、コードリーダアプリケーション２１ｄに送信する。
【００４０】
Ｓ２０において否定判断される場合（Ｓ２０：ＮＯ）には、Ｓ２５へ進む。Ｓ２５においてコードリーダアプリケーション２１ｄは、第１データをＯＳ２１ｅから受信したか否かを判断する。具体的に説明する。ＮＦＣ＿Ｉ／Ｆ１５とＮＦＣタグ１１６との距離が所定距離（例：１０ｃｍ）以内になることに応じて、自動的にＮＦＣ通信２００が実行され、ＮＦＣ＿Ｉ／Ｆ１５はＮＦＣタグ１１６から第１データを受信する。ＮＦＣ＿Ｉ／Ｆ１５は、受信した第１データを、ＯＳ２１ｅへ送信する。ＯＳ２１ｅは、受信した第１データを、コードリーダアプリケーション２１ｄに送信する。
【００４１】
Ｓ２５において否定判断される場合（Ｓ２５：ＮＯ）にはＳ２０へ戻り、肯定判断される場合（Ｓ２５：ＹＥＳ）にはＳ３０へ進む。ここで、Ｓ２５において肯定判断される場合の一例を説明する。Ｓ２５において肯定判断される場合とは、コードリーダアプリケーション２１ｄが、コード１４０の画像データを受信する前に、第１データを受信する場合である。このような状況は、以下の様な場合に発生しうる。コード１４０をカメラ部２７を用いて撮影する場合には、コード１４０を撮影フレームに合わせる必要や、フォーカスを合わせる必要がある。すると、撮影に時間がかかる場合がある。そして撮影中に、携帯端末１０に備えられているＮＦＣ＿Ｉ／Ｆ１５が、ＮＦＣタグ１１６を中心とする所定距離内に意図せずに位置してしまうと、ＮＦＣ通信２００が行われ、第１データの読み込みイベントが発生してしまう。このような場合に、Ｓ２５において肯定判断される。
【００４２】
Ｓ３０においてコードリーダアプリケーション２１ｄは、受信した第１データがＵＲＩを含むか否かを判断する。否定判断される場合（Ｓ３０：ＮＯ）には、Ｓ３３へ進む。Ｓ３３においてコードリーダアプリケーション２１ｄは、ＮＦＣイベント発生フラグを「オン」にする。ＮＦＣイベント発生フラグは、コードリーダアプリケーション優先期間中に、第１データを受信したことを示すフラグである。コードリーダアプリケーション優先期間は、第１命令をＯＳ２１ｅに送信（Ｓ１５）してから、第２命令をＯＳ２１ｅに送信（Ｓ６０）するまでの期間である。そしてＳ２０へ戻る。
【００４３】
一方、Ｓ３０において肯定判断される場合（Ｓ３０：ＹＥＳ）には、Ｓ３５へ進む。Ｓ３５においてコードリーダアプリケーション２１ｄは、受信した第１データを記憶部１２に一時的にスタック（記憶）させる。
【００４４】
Ｓ４０においてコードリーダアプリケーション２１ｄは、ＮＦＣイベント発生フラグを「オン」にする。ＮＦＣイベント発生フラグの内容については、Ｓ３３で説明済みであるため、ここでは説明を省略する。そしてＳ４２へ進む。
【００４５】
Ｓ４２においてコードリーダアプリケーション２１ｄは、第１データを受信したことをユーザに報知するための画像を、パネル１８に表示させる。また、第１処理を実行するか否かをユーザに問い合わせるための画像を、パネル１８に表示させる。第１処理は、第１データに基づいて実行される処理である。例えば、「ＮＦＣ通信が実行されました。ＮＦＣ通信で得られたデータに基づいて処理を実行しますか？」などの文字列を、パネル１８に表示してもよい。
【００４６】
Ｓ４５においてコードリーダアプリケーション２１ｄは、ユーザからの指示内容が、第１処理の実行を指示する内容であるか否かを判断する。ユーザからの指示は、例えば、ボタン入力部１７を介して入力される。否定判断される場合（Ｓ４５：ＮＯ）にはＳ２０へ戻り、肯定判断される場合（Ｓ４５：ＹＥＳ）にはＳ５５へ進む。Ｓ５５においてコードリーダアプリケーション２１ｄは、第１データをＯＳ２１ｅへ送信する。そしてフローを終了する。
【００４７】
一方、Ｓ２０において肯定判断される場合（Ｓ２０：ＹＥＳ）には、Ｓ５８へ進む。Ｓ５８においてコードリーダアプリケーション２１ｄは、コード１４０の画像データに対して、画像認識処理を実行する。画像認識処理は、コード１４０の画像データを解析して、コード１４０に埋め込まれた第２データを復元する処理である。
【００４８】
Ｓ６０においてコードリーダアプリケーション２１ｄは、第２命令をＯＳ２１ｅへ送信する。第２命令は、コードリーダアプリケーション優先制御の実行を解除することを、ＯＳ２１ｅに対して要求するための命令である。換言すると、第２命令は、ＯＳ２１ｅがＮＦＣ＿Ｉ／Ｆ１５から第１データを受信した場合に、第１データに基づく処理をＯＳ２１ｅが実行することを、ＯＳ２１ｅに指示する命令である。なお、コードリーダアプリケーション優先制御の内容は、Ｓ１５において説明済みであるため、ここでは説明を省略する。
【００４９】
Ｓ６５においてコードリーダアプリケーション２１ｄは、カメラ部２７の動作を終了させる。Ｓ７０においてコードリーダアプリケーション２１ｄは、Ｓ５８で取得した第２データの内容に応じた処理を実行する。本実施形態の説明例では、第２データは、ウェブページへアクセスするためのＵＲＩ形式データである。よって、コードリーダアプリケーション２１ｄは、第２データをブラウザアプリケーション２１ｂに渡す。そして、ブラウザアプリケーション２１ｂは、ＵＲＩ形式データに基づいて、プリンタ１１０のオンラインマニュアルを示すウェブページを表示する。
【００５０】
Ｓ７３において、第２データに基づいて実行されている処理が終了したか否かを判断する。否定判断される場合Ｓ（７３：ＮＯ）にはＳ７０へ戻り、肯定判断される場合（Ｓ７３：ＹＥＳ）にはＳ７５へ進む。Ｓ７５においてコードリーダアプリケーション２１ｄは、コードリーダアプリケーション優先期間中（すなわち、Ｓ１５からＳ６０までの期間中）に、ＮＦＣ読み取りイベントが発生したか否かを判断する。具体的には、ＮＦＣイベント発生フラグが「オン」であるか否かを判断する。否定判断される場合（Ｓ７５：ＮＯ）にはフローを終了し、肯定判断される場合（Ｓ７５：ＹＥＳ）にはＳ８０へ進む。
【００５１】
Ｓ８０においてコードリーダアプリケーション２１ｄは、ＮＦＣ読み取りイベントで受信した第１データが、ＵＲＩを含んでいたか否かを判断する。当該判断は、第１データが記憶部１２に記憶されているか否か（すなわち、Ｓ３５の処理が実行されたか否か）によって行われてもよい。否定判断される場合（Ｓ８０：ＮＯ）には、Ｓ８５へ進む。
【００５２】
Ｓ８５においてコードリーダアプリケーション２１ｄは、第１データを用いた第１処理をＯＳ２１ｅに実行させることができないことをユーザに報知するための画像を、パネル１８に表示させる。例えば、「先ほどのＮＦＣ通信で得られたデータを用いた処理を実行できません。処理を実行する場合には、再度ＮＦＣ通信を実行して下さい。」などの文字列を、パネル１８に表示してもよい。そしてＳ１１０へ進む。
【００５３】
一方、Ｓ８０において肯定判断される場合（Ｓ８０：ＹＥＳ）には、Ｓ９０へ進む。Ｓ９０においてコードリーダアプリケーション２１ｄは、記憶部１２に記憶されている第１データに含まれているＵＲＩと、コード１４０の画像データから取得した第２データに含まれているＵＲＩとを比較する。そして、両者が一致するか否かを判断する。肯定判断される場合（Ｓ９０：ＹＥＳ）にはＳ１１０へ進み、否定判断される場合（Ｓ９０：ＮＯ）にはＳ９５へ進む。
【００５４】
Ｓ９５においてコードリーダアプリケーション２１ｄは、第１データに基づく第１処理を実行するか否かをユーザに問い合わせるための画像を、パネル１８に表示させる。例えば、「先ほど、ＮＦＣ通信が実行されました。ＮＦＣ通信で取得したデータに基づいて処理を実行しますか？」などの文字列を、パネル１８に表示してもよい。Ｓ１００においてコードリーダアプリケーション２１ｄは、ユーザからの指示内容が、第１データに基づく第１処理の実行を指示する内容であるか否かを判断する。否定判断される場合（Ｓ１００：ＮＯ）にはＳ１１０へ進み、肯定判断される場合（Ｓ１００：ＹＥＳ）にはＳ１０５へ進む。
【００５５】
Ｓ１０５においてコードリーダアプリケーション２１ｄは、記憶部１２に記憶されている第１データをＯＳ２１ｅへ送信する。そしてＳ１１０へ進む。
【００５６】
Ｓ１１０においてコードリーダアプリケーション２１ｄは、ＮＦＣイベント発生フラグを「オフ」にする。また、記憶部１２から第１データを消去する。そしてフローを終了する。
【００５７】
（ＯＳ２１ｅの動作）
本実施形態に係るＯＳ２１ｅの動作を、図４および図５のフローチャートを用いて説明する。Ｓ２１０においてＯＳ２１ｅは、コードリーダアプリケーション２１ｄの起動命令が入力されたか否かを判断する。起動命令は、例えば、ボタン入力部１７を介して入力される。否定判断される場合（Ｓ２１０：ＮＯ）にはＳ２１０へ戻り、肯定判断される場合（Ｓ２１０：ＹＥＳ）にはＳ２１５へ進む。Ｓ２１５においてＯＳ２１ｅは、コードリーダアプリケーション２１ｄを起動する。これにより、前述した図２のフローが開始される。
【００５８】
Ｓ２２０においてＯＳ２１ｅは、第１命令をコードリーダアプリケーション２１ｄから受信したか否かを判断する。第１命令の内容は、前述のＳ１５において説明済みであるため、ここでは説明を省略する。否定判断される場合（Ｓ２２０：ＮＯ）にはＳ２３０へ進み、肯定判断される場合（Ｓ２２０：ＹＥＳ）にはＳ２２５へ進む。
【００５９】
Ｓ２２５においてＯＳ２１ｅは、コードリーダアプリケーション優先制御を開始する。コードリーダアプリケーション優先制御の内容は、前述のＳ１５において説明済みであるため、ここでは説明を省略する。具体的には、ＯＳ２１ｅは、実行優先期間フラグを「オン」にする。優先期間フラグは、コードリーダアプリケーション優先期間中であることを示すフラグである。
【００６０】
Ｓ２３０においてＯＳ２１ｅは、コード１４０を撮影した画像データを、カメラ部２７から受信したか否かを判断する。否定判断される場合（Ｓ２３０：ＮＯ）にはＳ２４０へ進み、肯定判断される場合（Ｓ２３０：ＹＥＳ）にはＳ２３５へ進む。Ｓ２３５においてＯＳ２１ｅは、受信した画像データをコードリーダアプリケーション２１ｄへ送信する。そしてＳ２４０へ進む。
【００６１】
Ｓ２４０においてＯＳ２１ｅは、第１データをＮＦＣ＿Ｉ／Ｆ１５から受信したか否かを判断する。否定判断される場合（Ｓ２４０：ＮＯ）にはＳ２６０へ進み、肯定判断される場合（Ｓ２４０：ＹＥＳ）にはＳ２４５へ進む。
【００６２】
Ｓ２４５においてＯＳ２１ｅは、現在、コードリーダアプリケーション優先期間中であるか否かを判断する。当該判断は、実行優先期間フラグが「オン」であるか否かによって行うことができる。肯定判断される場合（Ｓ２４５：ＹＥＳ）には、Ｓ２５０へ進む。Ｓ２５０においてＯＳ２１ｅは、受信した第１データをコードリーダアプリケーション２１ｄへ送信する。そしてＳ２６０へ進む。
【００６３】
一方、Ｓ２４５において否定判断される場合（Ｓ２４５：ＮＯ）には、Ｓ２５５へ進む。Ｓ２５５においてＯＳ２１ｅは、第１データを用いた処理を実行する。本実施形態の説明例では、第１データが通信設定データである場合を説明している。従ってＯＳ２１ｅは、通信設定データに基づいて、無線ＬＡＮ＿Ｉ／Ｆ１６にＷｉ−Ｆｉ通信２０１を実行させることができる。
【００６４】
Ｓ２６０においてＯＳ２１ｅは、第１データをコードリーダアプリケーション２１ｄから受信したか否かを判断する。否定判断される場合（Ｓ２６０：ＮＯ）にはＳ２７０へ進み、肯定判断される場合（Ｓ２６０：ＹＥＳ）にはＳ２６５へ進む。Ｓ２６５においてＯＳ２１ｅは、受信した第１データを用いた処理を実行する。なお、処理の内容例は、前述のＳ２５５で説明済みであるため、ここでは説明を省略する。そしてＳ２７０へ進む。
【００６５】
Ｓ２７０においてＯＳ２１ｅは、第２命令をコードリーダアプリケーション２１ｄから受信したか否かを判断する。第２命令の内容は、前述のＳ６０において説明済みであるため、ここでは説明を省略する。否定判断される場合（Ｓ２７０：ＮＯ）にはフローを終了し、肯定判断される場合（Ｓ２７０：ＹＥＳ）にはＳ２７５へ進む。
【００６６】
Ｓ２７５においてＯＳ２１ｅは、コードリーダアプリケーション優先制御を終了する。具体的には、ＯＳ２１ｅは、実行優先期間フラグを「オフ」にする。そしてフローを終了する。
【００６７】
（効果）
コードリーダアプリケーション２１ｄを使用するためには、コード１４０をカメラ部２７を用いて撮影する必要がある。この場合、カメラ部２７を用いてコード１４０を撮影しているので、ＮＦＣ通信２００の実行をユーザが意図していることはない。しかし、コード１４０の撮影中に、携帯端末１０に備えられているＮＦＣ＿Ｉ／Ｆ１５が、ＮＦＣタグ１１６を中心とする所定距離内に意図せずに位置してしまう場合がある。この場合、ＮＦＣ通信２００が行われ、第１データの読み込みイベントが発生してしまう。すると、ＮＦＣ通信２００に応じた処理が実行されてしまうことで、カメラ部２７を用いたコード１４０の読み取りが阻害されてしまうことがある。本明細書に記載されているコードリーダアプリケーション２１ｄによれば、コードリーダアプリケーション２１ｄが起動したことに応じて、第１命令をＯＳ２１ｅへ送信することができる（Ｓ１５）。また、画像認識処理（Ｓ５８）が完了して第２データが取得できたことに応じて、第２命令をＯＳ２１ｅへ送信することができる（Ｓ６０）。これにより、カメラ部２７でコード１４０を撮影し、コード１４０から第２データを取得するまでの期間中（Ｓ１５からＳ６０までの期間中）は、ＮＦＣ通信２００によって受信した第１データに基づいた第１処理を、ＯＳ２１ｅで実行しないように制御（Ｓ２５０）することが可能となる。従って、コードリーダアプリケーション２１ｄの使用中に、意図せずにＮＦＣ通信２００が実行されてしまった場合においても、カメラ部２７を用いたコード１４０の読み取りが阻害されてしまうことがない。ユーザの利便性を向上させることができる。
【００６８】
本明細書に記載されているコードリーダアプリケーション２１ｄによれば、コードリーダアプリケーション優先期間（Ｓ１５〜Ｓ６０）中にＮＦＣ通信２００が実行され、コードリーダアプリケーション２１ｄが第１データを受信（Ｓ２５：ＹＥＳ）した場合には、受信した第１データを記憶部１２に一時的に記憶させる（Ｓ３５）ことができる。そして、コード１４０から取得した第２データの内容に応じた処理を実行（Ｓ７０）した後に、記憶部１２に記憶されている第１データをＯＳ２１ｅへ送信（Ｓ１０５）することができる。ＯＳ２１ｅは、第１データをコードリーダアプリケーション２１ｄから受信（Ｓ２６０：ＹＥＳ）し、第１データを用いた処理を実行（Ｓ２６５）することができる。これにより、第２データに基づく処理（Ｓ７０）および第１データに基づく処理（Ｓ２６５）の両方を実行することが可能となる。
【００６９】
ＮＦＣ通信２００によって受信した第１データを用いた処理は、第１データがＵＲＩ形式データである場合を除き、ＮＦＣ通信２００が実行された時点でしか実行できない。これは、セキュリティ性を高めるために、ＮＦＣ通信２００が行われたことを、第１データを用いた処理を実行するための条件としているためである。よって、第１データを記憶しておき、後で第１データを用いた処理を実行することは、第１データがＵＲＩ形式データである場合を除き、行うことができない。本明細書に記載されているコードリーダアプリケーション２１ｄによれば、ＯＳ２１ｅから受信した第１データがＵＲＩを含んでいることを条件として（Ｓ３０：ＹＥＳ）、第１データを記憶部１２に一時的に記憶させる（Ｓ３５）ことができる。そして、第２データに基づく処理（Ｓ７０）の終了後に、記憶部１２に記憶されていた第１データに基づく処理（Ｓ２６５）を、ＯＳ２１ｅに実行させることができる。これにより、第１データを用いた処理を確実に実行することが可能となる。よって、第１データに含まれているＵＲＩが示している情報資源に、アクセスすることが可能となる。
【００７０】
本明細書に記載されているコードリーダアプリケーション２１ｄによれば、記憶部１２に記憶されている第１データに含まれているＵＲＩと、コード１４０の画像データから取得した第２データに含まれているＵＲＩが一致する場合（Ｓ９０：ＹＥＳ）には、第１データに基づいた第１処理と、第２データに基づいた第２処理との処理内容が同一であると判断することができる。よって、この場合には、第１処理を実行しないように制御することができる。これにより、重複した処理が行われてしまうことを防止することが可能となる。
【００７１】
本明細書に記載されているコードリーダアプリケーション２１ｄによれば、コードリーダアプリケーション優先期間（Ｓ１５〜Ｓ６０）中にＮＦＣ通信２００が実行され、コードリーダアプリケーション２１ｄが第１データを受信（Ｓ２５：ＹＥＳ）した場合には、第１データに基づいた第１処理を実行するか否かをユーザに問い合わせるための画像を、パネル１８に表示させることができる（Ｓ４２）。そして、第１処理の実行指示が入力された場合には（Ｓ４５：ＹＥＳ）、第１データをＯＳ２１ｅへ送信（Ｓ５５）することで、ＯＳ２１ｅに第１データに基づく処理（Ｓ２６５）を実行させることができる。これにより、ＮＦＣ通信２００によって取得された第１データに基づく処理を実行するか、コード１４０から取得された第２データに基づく処理を実行するかを、ユーザが選択することが可能となる。ユーザの利便性を高めることができる。
【００７２】
本明細書に記載されているコードリーダアプリケーション２１ｄによれば、コードリーダアプリケーション優先期間（Ｓ１５〜Ｓ６０）中に、ＵＲＩを含まない第１データを受信した場合（Ｓ３０：ＮＯ）には、第１データを用いた処理をＯＳ２１ｅに実行させることができないことをユーザに報知するための画像を、パネル１８に表示（Ｓ８５）させることができる。これにより、第１データを用いた処理を実行できないことを、ユーザに認識させることが可能となる。
【００７３】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７４】
（変形例）
コードリーダアプリケーション優先期間（Ｓ１５〜Ｓ６０）中に、コードリーダアプリケーション２１ｄが第１データをＯＳ２１ｅから受信した場合に、受信した第１データを破棄するとしてもよい。これにより、カメラ部２７でコード１４０を撮影し、コード１４０から第２データを取得するまでの期間中（Ｓ１５からＳ６０までの期間中）は、ＮＦＣ通信２００によって受信した第１データに基づいた第１処理を、ＯＳ２１ｅで実行しないように制御することができる。この場合、図２において、コードリーダアプリケーション２１ｄが第１データを受信すると（Ｓ２５：ＹＥＳ）、第１データを破棄して、Ｓ２０へ戻るとすればよい。また、図２のＳ３０〜Ｓ５５、および、図３のＳ７５〜Ｓ１１０を省略すればよい。
【００７５】
第１データに基づく処理を実行するかのユーザ入力を受け付ける処理（Ｓ４２〜Ｓ５５）は、省略することが可能である。この場合、Ｓ４０からＳ２０へ戻るとすればよい。以上より、一般的に言うと、コードリーダアプリケーション２１ｄは、「第１命令をＯＳ２１ｅへ送信する処理」と、「第２命令をＯＳ２１ｅへ送信する処理」として、携帯電話１０を少なくとも機能させれば良い。具体例としては、印刷アプリケーション２１ａは、Ｓ１５と、Ｓ６０とを、少なくとも実行させれば良い。
【００７６】
ＯＳ２１ｅは、Ａｎｄｒｏｉｄに限られない。ＯＳ２１ｅは、ｉＯＳ（Cisco Systems, Inc.の登録商標）や、Windows Phone（Microsoft Corporationの登録商標）などであってもよい。コード１４０は、ＱＲコードなどのマトリクス型２次元コードに限られない。バーコードのような、１次元コードであってもよい。
【００７７】
プリンタ１１０及び携帯電話１０は、ＮＦＣ通信２００を実行する代わりに、他の通信手順の近距離無線通信（例えば、トランスファージェット技術、赤外線通信等の無線通信）を実行してもよい。また、プリンタ１１０及び携帯電話１０は、ＮＦＣ通信２００を実行する代わりに、Ｗｉ−Ｆｉ技術の無線通信を実行してもよい。また、プリンタ１１０及び携帯電話１０は、無線通信を実行する代わりに、有線通信を実行してもよい。一般的に言うと、携帯電話１０とプリンタ１１０とが通信可能であればよい。
【００７８】
携帯電話１０は、Ｗｉ−Ｆｉ技術の無線通信を実行して、ウェブサーバ１００と様々な情報の通信を実行してもよい。また、携帯電話１０は、有線でインターネット７０に接続されている場合には、有線通信を実行して、ウェブサーバ１００と通信を実行してもよい。一般的に言うと、携帯電話１０とウェブサーバ１００とが通信可能であればよい。
【００７９】
プリンタ１１０は、有線でインターネットに接続されている場合には、有線通信を実行して、ウェブサーバ１００と様々な情報の通信を実行してもよい。一般的に言うと、プリンタ１１０とウェブサーバ１００とが通信可能であればよい。
【００８０】
コードリーダアプリケーション２１ｄが動作する装置は、携帯電話１０でなくてもよく、タブレット型端末装置や、ノートＰＣであってもよい。
【００８１】
上記の各実施例では、携帯電話１０のＣＰＵ１１が記憶部１２内のプログラムを実行することによって、図２および図３等の各処理が実現される。これに代えて、図２および図３等の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００８２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【００８３】
携帯電話１０は、情報処理装置の一例である。ＣＰＵ１１は、コンピュータの一例である。コードリーダアプリ２１ｄは、情報処理プログラムの一例である。プリンタ１１０は、通信対象機器の一例である。ＮＦＣ＿Ｉ／Ｆ１５は、第１通信インターフェース部の一例である。Ｓ１５、Ｓ５８、Ｓ６０を実行するＣＰＵは、画像処理手段の一例である。携帯電話Ｉ／Ｆ２２は、第２通信インターフェース部の一例である。Ｓ２６５で実行される処理は、第１処理の一例である。Ｓ４２で実行される処理は、第１画像を表示部に表示させる処理の一例である。Ｓ３３で実行される処理は、第１データを受信したことを記憶部に記憶させる処理の一例である。Ｓ８５で実行される処理は、第２画像を表示部に表示させる処理の一例である。
【符号の説明】
【００８４】
１：通信システム、１０：携帯電話、１１および１３２：ＣＰＵ、１５：ＮＦＣ＿Ｉ／Ｆ、２１ｄ：コードリーダアプリケーション、２１ｅ：オペレーティングシステム、１００：ウェブサーバ、１１０：プリンタ、１１６：ＮＦＣタグ、２００：ＮＦＣ通信
【図１】
0006398684.tif 000002
【図２】
0006398684.tif 000003
【図３】
0006398684.tif 000004
【図４】
0006398684.tif 000005
【図５】
0006398684.tif 000006