以下に、図面を参照しながら、この発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
本実施形態では、近接無線通信方式を用いて多機能周辺装置(MFP:Multifunction Peripheral)の機器状態(特に印刷装置の機器状態)に関する情報を送信する例を説明する。更に具体的にはNFC(Near Field Communication)のような近距離無線通信によって、MFPがハードオフなど起動状態でないときにもデータの送受信を行うことができる方法について説明する。なお、本実施形態では、第一の情報処理装置と第2の情報処理装置がそのような近距離無線通信により接続可能な情報処理システムとして、第1の情報処理装置として多機能周辺装置(MFP)を、第二の情報処理装置として携帯型通信端末を用いた例を説明する。
図1は、本実施形態による無線通信システムの構成の一例を表した図である。携帯型通信端末装置200、およびMFP300は、NFCなどによって互いに通信接続することができる。携帯型通信端末装置200としては、PDA(Personal Digital Assistant)などの個人情報端末、携帯電話、デジタルカメラなど、携帯型の情報処理装置であれば何でも良い。MFP300は、原稿台に原稿を載せて原稿を読み取る読取機能と、インクジェットプリンタなどの印刷部を用いた印刷機能を有しており、その他FAX機能や電話機能を有していても良い。なお、本実施形態では、携帯型通信端末装置とNFCにより通信が可能な情報処理装置としてMFP300を例示したが、これに限られるものではなく、たとえば、単機能のプリンタなどであってもよい。
図2は、携帯型通信端末装置200の外観を表した図である。本実施形態ではスマートホンを例にしている。スマートホンとは、携帯電話の機能の他に、カメラや、ネットブラウザ、メール機能などを搭載した多機能型の携帯電話のことである。NFCユニット201はNFCを用いて通信を行う箇所であり、実際にNFCユニット201を相手先のNFCユニットに10cm程度以内に近づけることで通信を行うことができる。Wireless LAN(以後、WLAN)ユニット202はWLANで他の装置と通信を行うためのユニットである。NFCユニット201、WLANユニット202は携帯型通信端末装置200内に配置されている。表示部203はLCD方式の表示機構を備えたディスプレイである。操作部204はタッチパネル方式の操作機構を備えており、ユーザの押下情報を検知する。代表的な操作方法は表示部203がボタン状の表示を行い、ユーザが操作部204を押下することによってボタンが押下されたイベントを発行することである。電源キー205は、携帯型通信端末装置200における電源のオン、およびオフをする際に用いられる。
図3(a)はMFP300の外観を表した図である。原稿台301はガラス状の透明な台であり、原稿をのせてスキャナで読み取る時に使用する。原稿蓋302はスキャナで読み取りを行う際に読取光が外部に漏れないようにするための蓋である。印刷用紙挿入口303は様々なサイズの用紙をセットする挿入口である。ここにセットされた用紙は一枚ずつ印刷部に搬送され、所望の印刷を行って印刷用紙排出口304から排出される。図3(b)に示されるように、原稿蓋302の上部には操作表示部305およびNFCユニット306が配置されている。操作表示部305は、ユーザ操作のための各種入力スイッチや表示器を有し、ユーザは、操作表示部305により、MFP300の各種設定や、機器状態および設定状態等の機器情報の確認などを行なうことができる。NFCユニット306は近距離無線通信を行うためのユニットで、実際に他装置のNFCユニットを近接させる場所である。NFCユニット306から約10cmが近距離無線通信の有効距離である。WLANアンテナ307はWLANで通信するためのアンテナであり、MFP300に埋め込まれている。
ここで、NFC通信について説明する。NFCユニットによる近接通信を行う場合、初めにRF(Radio Frequency)フィールドを出力して通信を開始する装置をイニシエータと呼ぶ。また、イニシエータの発する命令に応答し、イニシエータとの通信を行う装置をターゲットと呼ぶ。NFCユニットの通信モードには、パッシブモードとアクティブモードが存在する。パッシブモードにおいてターゲットは、イニシエータの命令に対し、負荷変調を行うことで応答する。一方、アクティブモードでは、ターゲットは、イニシエータの命令に対し、ターゲット自らが発するRFフィールドによって応答する。
図4は、NFC通信におけるパッシブモードの概念図である。図4(a)のように、イニシエータ401からターゲット402にデータ404をパッシブモードで送信する場合、イニシエータ401がRFフィールド403を発生させ、通信を確立する。イニシエータ401は、RFフィールド403を自ら変調することで、ターゲット402にデータ404を送信する。また、図4(b)のように、ターゲット406からイニシエータ405にデータ408をパッシブモードで転送する場合、図4(a)と同様にイニシエータ405がRFフィールド407を発生させる。ターゲット406は、イニシエータ405から供給されるRFフィールド407に対して負荷変調を行うことで、イニシエータ405にデータ408を送信する。
図5は、NFC通信におけるアクティブモードの概念図である。図5(a)のように、イニシエータ501からターゲット502にデータ504をアクティブモードで送信する場合、イニシエータ501がRFフィールド503を発生させ、通信を確立する。イニシエータ501は、RFフィールド503を自ら変調することで、ターゲット502にデータ504を送信する。イニシエータ501は、データ送信が完了した後、RFフィールド503の出力を停止する。また、図5(b)のように、ターゲット506からイニシエータ505にデータ508をアクティブモードで送信する場合、ターゲット506がRFフィールド507を発生させる。ターゲット506は、自らが発するRFフィールド507によってデータ508を送信し、送信が終了したらRFフィールド507の出力を停止する。
図6は携帯型通信端末装置200のブロック図を表した図である。携帯型通信端末装置200は装置のメインの制御を行うメインボード601と、WLAN通信を行うWLANユニット617と、NFC通信を行うNFCユニット618とBluetooth(登録商標)通信を行うBTユニット621を有する。
メインボード601においてCPU602は、システム制御部であり、携帯型通信端末装置200の全体を制御する。ROM603は、CPU602が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。本実施形態では、ROM603に格納されている各制御プログラムは、ROM603に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
RAM604は、SRAM(static RAM)等で構成され、プログラム制御変数等を格納し、また、ユーザが登録した設定値や携帯型通信端末装置200の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
画像メモリ605は、DRAM(dynamic RAM)等で構成され、通信部を介して受信した画像データや、データ蓄積部612から読みだした画像データを、CPU602で処理するために一時的に格納する。不揮発性メモリ622は、フラッシュメモリ(flash memory)等で構成され、電源がオフされた後でも保存しておきたいデータを格納する。そのようなデータとしては、例えば電話帳データや、過去に接続したデバイス情報などがある。なお、メモリ構成は上記の構成に限定されるものではない。例えば画像メモリ605とRAM604を共通のメモリとしてもよいし、データ蓄積部612にデータのバックアップなどを行ってもよい。また本実施形態では画像メモリ605としてDRAMを用いているが、この限りではなく、ハードディスクや不揮発性メモリ等を使用してもよい。
データ変換部606は、ページ記述言語(PDL)等の解析や、色変換、画像変換などのデータ変換を行う。電話部607は電話回線の制御を行い、スピーカ部613を介して入出力される音声データを処理することで電話による通信を実現している。操作部608は図2で説明した操作部204の信号を制御している。GPS(Global Positioning System)609は現在の緯度や経度などを取得する。表示部610は図2で説明した表示部203の表示内容を電子的に制御しており、各種入力操作や、MFP300の動作状況、ステータス状況の表示等を行う事ができる。
カメラ部611はレンズを介して入力された画像を電子的に記録して符号化する機能を有している。カメラ部611で撮影された画像はデータ蓄積部612に保存される。スピーカ部613は電話機能のための音声を入力または出力する機能や、その他アラーム通知などの機能を実現している。電源部614は携帯可能な電池、およびその制御をおこなう。携帯型通信端末装置200の電源状態には、電池に残量が無い電池切れ状態、電源キー205を押下していない電源オフ状態、通常起動している起動状態、起動しているが省電力になっている省電力状態がある。
また、携帯型通信端末装置200には、MFPなどの他デバイスと無線通信を行なうための通信部として3種類の構成が搭載されており、WLAN、NFC、Bluetooth(登録商標)で無線通信することができる。これらの無線通信を実現するために、WLANユニット617、NFCユニット618、BTユニット621がそれぞれバスケーブル615,616,620を介してシステムバス619に接続されている。WLANユニット617、NFCユニット618、BTユニット621はそれぞれの規格に準拠した通信を実現するためのユニットである。これらの通信部では、それぞれの通信方式でデータをパケットに変換し、外部の他デバイスにパケット送信を行うとともに、外部の他デバイスからのパケットを、データに変換してCPU602に対して送信する。NFCユニットの詳細は図8を用いて後ほど行う。また、上述した各構成要素は、CPU602が管理するシステムバス619を介して、相互に接続されている。
図7は、MFP300の概略構成を示すブロック図である。MFP300は装置のメインの制御を行うメインボード701と、WLAN通信を行うWLANユニット717と、NFC通信を行うNFCユニット718とBluetooth(登録商標)通信を行うBTユニット719を有する。
メインボード701においてCPU702は、システム制御部であり、MFP300の全体を制御する。ROM703は、CPU702が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。本実施形態では、ROM703に格納されている各制御プログラムは、ROM703に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
RAM704は、SRAM(static RAM)等で構成され、プログラム制御変数、ユーザが登録した設定値やMFP300の管理データ等を格納するために、各種ワーク用バッファ領域が設けられている。不揮発性メモリ705は、フラッシュメモリ(flash memory)等で構成され、電源がオフされた時でも保持していたデータを格納する。そのようなデータとしては、具体的にはネットワーク接続情報、ユーザデータなどである。画像メモリ706は、DRAM(dynamic RAM)等で構成され、各通信ユニットを介して受信した画像データや、符号復号化処理部712で処理した画像データや、メモリカードコントローラ(不図示)を介して取得した画像データなどを蓄積する。なお、携帯型通信端末装置200のメモリ構成と同様に、MFP300におけるメモリ構成は上記に限定されるものではない。データ変換部707は、ページ記述言語(PDL)等の解析や、画像データからプリントデータへの変換などを行う。
次に、読取制御部708、読取部710について説明する。読取部710は、読取制御部708の制御下でCISイメージセンサ(密着型イメージセンサ)によって原稿を光学的に読み取る。読取制御部708は、読取部710が原稿を読み取って取得した信号を電気的な画像データに変換して画像信号を生成する。また、読取制御部708は、生成した画像信号に対して、図示しない画像処理制御部を介して、2値化処理や中間調処理等の各種画像処理を施し、高精細な画像データを出力する。
操作部709、表示部711は図3で説明した操作表示部305を表している。符号復号化処理部712は、MFP300で扱う画像データ(JPEG、PNG等)を符号復号化処理や、拡大縮小処理を行う。
給紙部714は印刷のための用紙を保持する事ができる部位である。記録制御部716からの制御で給紙部714から給紙を行うことができる。特に、複数種類の用紙を一つの装置に保持するために、複数の給紙部714を用意する事ができる。そして記録制御部716により、どの給紙部から給紙を行うかの制御を行うことができる。
記録制御部716は、印刷される画像データに対し、図示しない画像処理制御部を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、記録部715に出力する。また、記録制御部716は記録部715の情報を定期的に読み出してRAM704の情報を更新する役割も果たす。具体的にはインクタンクの残量やプリントヘッドの状態などを更新することである。
MFP300にも無線通信するための3種類の構成(WLANユニット717、NFCユニット718、BTユニット719)が搭載されているが、それらの機能は携帯型通信端末装置200と同様であり、説明は省略する。また、上述した各構成要素は、CPU702が管理するシステムバス723を介して、相互に接続されている。WLANユニット717、NFCユニット718、BTユニット719もそれぞれバスケーブル720,721,722を介してシステムバス723に接続されている。
図8は携帯型通信端末装置200のNFCユニット618やMFP300のNFCユニット718として使用されているNFCユニット800の詳細を示したブロック図である。以下、NFCユニット800の構成について図8を用いて説明する。NFCユニット800は、NFCコントローラ部801と、アンテナ部802と、RF部803と、送受信制御部804と、NFCメモリ805と、デバイス接続部807を有する。また、外部の電源806からNFCユニット800に電力が供給される。アンテナ部802は、他のNFCデバイスから電波やキャリアを受信したり、他のNFCデバイスに電波やキャリアを送信したりする。RF部803はアナログ信号をデジタル信号に変復調する機能を備えている。また、RF部803はシンセサイザを備えていて、バンド、チャネルの周波数を識別し、周波数割り当てデータによるバンド、チャネルの制御をしている。送受信制御部804は送受信フレームの組み立て及び分解、プリアンブル付加及び検出、フレーム識別など、送受信に関する制御をおこなう。送受信制御部804はNFCメモリ805の制御も行い、各種データやプログラムを読み書きする。アクティブモードとして動作する場合、NFCユニット800は電源806からの電力の供給を受けて動作する。NFCユニット800は、デバイス接続部807を通じてデバイスと通信を行ったり、アンテナ部802を介して送受信されるキャリアにより、通信可能な範囲にある他のNFCユニットと通信したりする。パッシブモードとして動作する場合、アンテナ部802を介して他のNFCユニットから受信されたキャリア(RFフィールド)を用いて電磁誘導により電力が供給される。こうして、NFCユニット800は、他のNFCユニットから電力の供給を受け、キャリアの変調により当該他のNFCユニットとの間で通信を行ってデータを送受信する。
図9はMFP300のRAM704の構成を表した図である。901はRAM704の全体を表している。ワークメモリ902はプログラムの実行のために確保されるメモリである。画像処理バッファ903は画像処理のために一時的なバッファとして使用される領域である。機器状態記憶部904にはMFP300の現在の状態に関する様々な情報が記憶されている。エラー状態905はMFP300のエラーに関する状態であり、たとえば、インク少警告、インク無エラー、紙ジャムエラー、用紙無し警告、印字画像不良警告、読取画像不良エラー、ネットワーク切断警告、などがある。これらの警告やエラーには印字機能への影響度、読取機能への影響度などが関連付けられている。例えばインク無エラーの場合、印字機能は使用できないが、読取機能は使用できる。ネットワーク切断警告の場合、ネットワークを使う機能は使用できないが、機器単体で行う設定変更や読取機能は使用できる。インク残量906として、現在、MFP300に取り付けられているインクタンクの型番やインク残量が記憶されている。インクタンクの型番はインクタンクが取り付けられたタイミングで更新される。また、インク残量906はインクが使用される毎に更新される。次回推定起動時間907は電源がオフされた時に、次に起動する時の推定起動時間である。MFP300の起動時間は状態によって大きく異なる。例えば、MFP300の電源状態にはハードオフ状態、ソフトオフ状態、通常起動状態、スリープ状態などが存在する。ハードオフ状態は電力の供給が途絶えている状態であり、電源を投入してハードオフ状態から通常起動状態にする場合は大きな時間を要する。ソフトオフ状態は部分的には電源は投入されているが、メインのプログラムは起動していない状態であり、ハードオフよりは早い時間で起動することができる。スリープ状態は電源消費が大きな部分がオフにされており、それ以外のプログラムやメカは動作しているため、直ぐに通常起動状態に戻ることができる。また、起動時間が変動する別の要因として、機器のエラー状態がある。例えばインクジェット印刷ヘッドのノズルの目詰まりが多いと検知した時は次の起動で長時間の回復処理を行ってから起動する。また、スキャナの光量が落ちている時は調整動作を行ってから起動する。このように電源の状態遷移、および機器の状態によって次に起動する時の推定起動時間が決まる。その他908としては、現在のメモリ使用量、ハードウェアの温度、消耗品情報など、その他の機器状態が挙げられる。その他領域909にはその他のRAMデータが格納されている。
図10はMFP300におけるNFCメモリ805の構成を表している。1001はNFCメモリ805の全体を表している。CPU702は、機器状態記憶部1002に所定のタイミングで機器状態記憶部904の内容の全体または一部をコピーする。すなわち、RAM704に記録されているエラー状態905、インク残量906、次回推定起動時間907が、NFCメモリ805に、エラー状態1003、インク残量1004、次回推定起動時間1005として記録される。なお、図10ではその他908についてはコピーの対象としていないがこれに限られるものではない。例えば、その他908の情報の全てをNFCメモリ805にコピーしてもよいし、その他908として記録されたデータ、例えばジョブの記憶など、任意のデータを選択してNFCメモリ805に格納するようにしても良い。ジョブ記憶部1006は携帯型通信端末装置200からNFCでジョブをMFP300に投入する場合に使用する領域である。印刷ジョブ1007は印刷ジョブがキューで格納されている。具体的には印刷設定、および画像へのリンク先が格納される。スキャンジョブ1008はスキャンジョブがキューで格納されている。具体的には読取設定が格納される。FAXジョブ1009はFAXジョブがキューで格納されている。具体的には、送信先の電話番号や通信画質などが含まれるFAX設定、および画像が既に読み取ってある場合は画像へのリンク先が格納される。設定変更ジョブ1010には設定変更ジョブがキューで格納されている。具体的には本体の設定項目の変更に関するジョブが格納される。
図11は、NFCユニット800がイニシエータとして動作するためのフローチャートである。まず初めにステップS1101にて、すべてのNFCユニットはターゲットとして動作し、イニシエータからの命令を待っている状態になる。次にステップS1102において、NFCコントローラ部801は、NFC規格による通信を制御するアプリケーションからイニシエータに切り替わることが要求されたか否かを判定する。NFCユニット800がイニシエータに切り替わる要求に応じた場合、ステップS1103において、アプリケーションは、アクティブモードまたはパッシブモードのどちらかを選択し、伝送速度を決める。次にステップS1104において、イニシエータは自装置以外が出力するRFフィールドの存在を検知する。外部のRFフィールドが存在した場合は、イニシエータは自らのRFフィールドは発生させないため、自装置以外が出力するRFフィールドの存在が検知されなくなるまで待つ。外部のRFフィールドが存在しなかった場合には処理はステップS1105に進み、NFCコントローラ部801はアンテナ部802を介してRFフィールドを発生させる。以上のステップを経て、NFCユニット800はイニシエータとして動作を開始する。
図12は、パッシブモードによる通信の確立からデータ交換、ターゲットの解放を含むシーケンスを示している。ここでは、第一のNFCユニット1201がイニシエータ、第二のNFCユニット1202がターゲットとして動作している場合について説明する。
まずステップS1201において、第一のNFCユニット1201は、単一デバイス検知を行い、第二のNFCユニット1202を特定する。次にステップS1202において、第一のNFCユニット1201は、属性要求として自身の識別子や送受信のビット伝送速度、有効データ長などを送信する。また、属性要求は汎用バイトを有しており、任意に選択して使用することができる。有効な属性要求を受信した場合、第二のNFCユニット1202はステップS1203において、属性応答を送信する。ここで、第二のNFCユニット1202からの送信は、第一のNFCユニット1201が発生したRFフィールドを用いた負荷変調によって行われており、図中では負荷変調によるデータ送信は点線の矢印で表現している。
有効な属性応答を確認した後、第一のNFCユニット1201は、ステップS1204にて、パラメータ選択要求を送信して引き続く伝送プロトコルのパラメータを変更することができる。パラメータ選択要求に含まれるパラメータは、たとえば、伝送速度と有効データ長である。第二のNFCユニット1202は、有効なパラメータ選択要求を受信した場合、ステップS1205においてパラメータ選択応答を送信し、パラメータを変更する。なお、ステップS1204およびステップS1205は、パラメータ変更を行わない場合は省略しても良い。
次にステップS1206において、第一のNFCユニット1201と第二のNFCユニット1202は、データ交換要求およびデータ交換応答によってデータの交換を行う。データ交換要求および応答では、通信相手が有するアプリケーションに対する情報などをデータとして伝送することができ、データサイズが大きい場合には分割して送信することもできる。
データ交換が終了すると処理はステップS1207に移行し、第一のNFCユニット1201は、当該データ交換プロトコルの選択解除要求または解放要求を送信する。選択解除要求を送信した場合、第二のNFCユニット1202はステップS1208で選択解除応答を送信する。第一のNFCユニット1201は、選択解除応答を受け取ると、第二のNFCユニット1202を示す属性を解放してステップS1201に戻る。解放要求を送信した場合、第二のNFCユニット1202は、ステップS1208で解放応答を送信して初期状態へ戻る。第一のNFCユニット1201は、解放応答を受け取れば、ターゲットは完全に解放されており、初期状態へ戻ることができる。
図13は、アクティブモードによる通信の確立からデータ交換、ターゲットの解放を含むシーケンスを示している。ここでは、第一のNFCユニット1301がイニシエータ、第二のNFCユニット1302がターゲットとして動作している場合について説明する。
まずステップS1301において、第一のNFCユニット1301は、属性要求として自身の識別子や送受信のビット伝送速度、有効データ長などを送信する。第二のNFCユニット1302は、有効な属性要求を受信した場合、ステップS1302において属性応答を送信する。ここで、第二のNFCユニット1302からの送信は、自らの発したRFフィールドによって行われる。このため、第一および第二のNFCユニットのそれぞれは、データ送信が終了するとRFフィールドの出力を停止する。
有効な属性応答を確認した後、第一のNFCユニット1301は、ステップS1303として、パラメータ選択要求を送信して伝送プロトコルのパラメータを変更することができる。パラメータ選択要求に含まれるパラメータは、伝送速度と有効データ長である。第二のNFCユニット1302は、有効なパラメータ選択要求を受信した場合、ステップS1304においてパラメータ選択応答を送信し、パラメータを変更する。なおパッシブモードの場合と同様に、ステップS1303およびステップS1304は、パラメータ変更を行わない場合は省略しても良い。
次にステップS1305において、第一のNFCユニット1301と第二のNFCユニット1302は、データ交換要求およびデータ交換応答によってデータの交換を行う。データ交換要求および応答は、アプリケーションに対する情報などをデータとして伝送することができ、データサイズが大きい場合には分割して送信することもできる。
データ交換が終了するとステップS1306に移行し、第一のNFCユニット1301は、選択解除要求または解放要求を送信する。選択解除要求が送信された場合、第二のNFCユニット1302はステップS1307で選択解除応答を送信する。第一のNFCユニット1301は、選択解除応答を受け取ると、第二のNFCユニット1302を示す属性を解放する。その後ステップS1308において、第一のNFCユニット1301は、識別子が既知な別のターゲットに対して起動要求を送信する。起動要求を受けたターゲットは、起動応答をステップS1309において送信し、ステップS1301に戻る。なお、ステップS1306で第一のNFCユニット1301が解放要求を送信した場合、第二のNFCユニット1302は、ステップS1307で解放応答を送信して初期状態へ戻る。第一のNFCユニット1301は、解放応答を受け取れば、ターゲットは完全に解放されており、初期状態へ戻ることができる。
図14は、MFP300の機器状態を、MFP300のCPU702がNFCユニット306(NFCユニット718)のNFCメモリ805に書き込む処理の一例を示すフローチャートである。本実施形態ではMFP300が有する印刷装置の機器状態を扱うものとし、機器状態を示す情報(機器情報)としてインク残量を用いた場合を説明する。本実施形態では、NFCユニット306が自身に供給された電力でもってアクセス可能なNFCメモリ805に予め機器情報を書き込んでおくことで、MFP300を起動状態にしなくても携帯型通信端末装置200によって機器情報を読み取ることができるようにする。これは、携帯型通信端末装置200のNFCユニット201(NFCユニット618)をイニシエータとして、NFCユニット201とNFCユニット306の間でパッシブモードによるデータ交換を行なうことで実現できる。
機器情報をNFCメモリ805に書き込むタイミングとしては、たとえば、機器状態が変化した可能性のあるタイミングが好ましい。以下では、特に、MFP300の印刷装置としてインクジェットプリンタが組み込まれている場合を例に挙げて説明する。ステップS1401、S1403では、機器状態の変化(すなわち、インク残量の変化)が生じた可能性のあるタイミングを検出している。印刷装置が起動状態のとき、まずステップS1401において、CPU702は印刷装置がインクを使用したかどうかを判定する。インクを使用していた場合には、CPU702は、ステップS1402においてNFCメモリにインク残量を書き込み(NFCメモリ805のインク残量1004を更新する)、処理をステップS1401に戻す。ここで、インクを使用した場合とは、例えば、印字を行った後や予備吐出、インク吸引を行った後などであり、インク残量が変化する可能性のある状態を指す。また、インク残量は、上述したように、記録制御部716がRAM704に記録した情報から取得され得る。
インクを使用していなかった場合、ステップS1403において、CPU702はインクタンク交換後であるかどうかを判定する。インクタンク交換後であればインク残量が変わり、インクタンクの型番なども変更される可能性がある。そのため、ステップS1404において、CPU702はインク残量、型番のようなインクの情報をNFCメモリに書き込む(NFCメモリ805のインク残量1004を更新する)。ここで、書き込みを行うタイミングはインクタンクを取り外すときまたは装着時であり、どちらかで行っても良いし、両方のタイミングで行っても良い。また、インクがチューブで供給される場合はサブタンクにインクを補充したときに書き込むなど、インク残量に変化がある場合に書き込みを行っても良い。機器情報の書き込みが終了した後、処理はステップS1401に戻る。
インク交換が行われていない場合は、ステップS1405において、CPU702は印刷装置がスリープ状態に移行するかどうかを判定する。スリープ状態に移行すると判定された場合は、ステップS1407において、CPU702はNFCメモリに印刷装置の機器状態を書き込み、その後、スリープ状態へと移行する。ここで書き込む機器状態には、上記のインク情報以外にも、例えば前回の印字が終了した時刻やエラー、警告などといった情報が含まれていても良い。すなわち、NFCメモリ805のインク残量1004とエラー状態1003、次回推定起動時間1005の更新を行なう。なお、ステップS1402やステップS1404でNFCメモリ805に書き込まれる機器情報として、電子写真プリンタの場合には、NFCメモリ805に書き込む内部情報としてトナー残量やトナーカートリッジの型番などがある。
スリープ状態に移行しない場合、ステップS1406において、CPU702は、MFP300の電源キーが押下されたかどうかを判定する。電源キーが押下された場合、CPU702は、ステップS1407においてNFCメモリに印刷装置の機器状態を書き込んだ後に、MFP300をソフトオフ状態へと移行する。ここで書き込む機器状態はスリープ状態へ移行するときと同様で良いが、例えばソフトオフ状態へ移行する時刻などの異なる情報を書き込んでも良い。ステップS1406において電源キーが押下れていないと判断された場合は、処理はステップS1401に戻る。こうすることで、携帯型通信端末装置200は、ソフトオフ状態もしくはスリープ状態となった印刷装置のNFCユニット306(NFCユニット718)と通信することで機器状態を取得することができる。すなわち、携帯型通信端末装置200が機器状態を取得する際に印刷装置がスリープ状態やソフトオフ状態から復帰しなくてもよくなるので、予備吐出などの、情報の取得には必要のない動作を行う回数を削減することができる。
なお、これらの処理は図14に示した順に行われる必要はなく、すべての処理を行わなくても良いので、必要に応じて処理を増減させて良い。また、ここでは逐次処理によって機器状態の書き込み機能を実現しているが、例えば各条件分岐部分のイベント駆動で行われても良く、その場合の優先度も任意に設定して良い。
図15は、携帯型通信端末装置200上の特定のアプリケーションを起動してから、NFC通信を終了するまでの、携帯型通信端末装置200の処理の一例を示すフローチャートである。このアプリケーションは、MFP300からインク残量を取得するもので、ユーザによる入力および取得データの出力を行うユーザインタフェースと、NFCユニット201(NFCユニット618)をイニシエータとして動作させるための機能などを有する。
ステップS1501では、携帯型通信端末装置200のアプリケーションを実行しているCPU602が、ユーザ指定に応じてモードを選択する。ここで選択されたモードは、例えば後述する図17のステップS1706における分岐で使用される。また、モード選択画面の一例を、後述する図19に示す(詳細は後述する)。なお、モード選択は行わないことも可能であり、その場合はアプリケーションが起動されると直ちにステップS1502に処理が移行する。
次に、ステップS1502において、CPU602は、携帯型通信端末装置200のNFCユニット201をイニシエータとし、他のNFCユニットを検知するためのモードに移行する。すなわち、NFCユニット201は、図11のステップS1101〜ステップS1105のごとく動作して、イニシエータとなる。なお、通信モードはパッシブモードでもアクティブモードでも良い。ただし、アクティブモードで動作する場合には、MFP300において例えばNFCユニット718の電源供給系統と印刷装置の電源供給系統を別にするなど、印刷装置が起動状態でないときにもNFCユニット718に電源が供給されている必要がある。アクティブモードで動作する場合は、電力をNFCユニット718に供給する必要がある場合があり、そのため、MFP300をハードオフしている間はインク残量の取得ができない。
ステップS1503では、CPU602がNFCユニット201を介して通信相手となる装置を検知する。通信相手となる装置が検知されたらステップS1504へ進み、そうでなければステップS1503を繰り返す。なお、ステップS1503において装置を検索する時間や回数はアプリケーションに依存しており、一定時間または回数で装置検知を中断しても良いし、ユーザが装置検知を中断することを選択しても良いこととする。
CPU602は、NFCユニット618を介して、ステップS1504で属性要求を送信し、その後、ステップS1505において属性応答を受信する。ここで正しい応答が得られなかった場合は、CPU602は、再度属性要求を送信するか、もしくは通信を中断する。正しい応答が得られた場合、処理はステップS1506へ移行する。
ステップS1506において、CPU602は、パラメータを変更する必要があるかどうかを判断する。パラメータを変更する必要があればステップS1507へ、パラメータを変更する必要がなければステップS1509へ進む。
ステップS1507において、CPU602は、NFCユニット201を介してパラメータ選択要求を送信し、その後、ステップS1508でパラメータ選択応答を受信する。正しい応答が得られなかった場合は、CPU602は、再度パラメータ選択要求を送信するか、もしくは通信を中断する。正しい応答が得られた場合、処理はステップS1509へ移行する。
ステップS1509において、CPU602は、インクの情報を取得し、これを表示部203(表示部610)によりユーザに提示する。ユーザによる選択などで、提示の終了が選択されると、処理はステップS1510へ移行する。なお、図15ではインクの情報を取得するとしているが、ここで取得する情報はインクの情報に限らず、例えば印刷装置がスリープ状態に移行した時刻や、エラー状態905などといった、印刷装置の機器状態を取得しても良い。ステップS1509の処理の詳細は図17により後述する。
CPU602は、ステップS1510においてデータ交換プロトコルの解放要求を送信し、その後、ステップS1511において解放応答を受信する。解放応答を受信した場合には、ターゲットは解放されているので、CPU602はアプリケーションを終了し、その後、NFC通信を終了する。
図16は、携帯型通信端末装置200の検知要求を受信してから、NFC通信を終了するまでの、MFP300の動作例を示すフローチャートである。ここでの通信モードパッシブモードでもアクティブモードでも良い。
ステップS1601において、MFP300のNFCユニット306(NFCユニット718)は、イニシエータである携帯型通信端末装置200のNFCユニット201から検知要求を受信することができたかを判定する。正しい検知要求が受信できた場合、処理はステップS1602へ進み、そうでなければ再び検知要求を待つ。
NFCユニット718は、ステップS1602で検知応答を送信すると、ステップS1603において携帯型通信00からの属性要求を受け付ける。正しい属性要求が受信できた場合、処理はステップS1604へ進み、そうでなければ再び属性要求を待つ。
NFCユニット306は、ステップS1604において属性応答を送信すると、ステップS1605においてパラメータ選択要求を受け付ける。ここでパラメータ選択要求を受信した場合、処理はステップS1606へ進み、そうでなければ処理はステップS1608へ進む。NFCユニット306は、ステップS1606においてパラメータ選択応答を送信し、その後、受信したパラメータ選択要求に基づいてステップS1607においてパラメータを変更する。そして、処理はてステップS1608へ進む。
ステップS1608において、NFCユニット306は、NFCメモリ805からインク情報を取得し、その通知を行う。なお、図16ではインクの情報を通知するとしているが、ここで通知する情報はインクに限らず、例えば印刷装置がスリープ状態に移行した時刻や、エラー状態905などといった、印刷装置の機器状態などであってもよい。ステップS1608の処理の詳細は図18により後述する。
ステップS1609では、NFCユニット718が携帯型通信端末装置200のNFCユニット201から正しい解放要求を受信したかどうかを判定する。正しい解放要求を受信した場合、処理はステップS1610へ遷移し、NFCユニット718は解放応答を送信してNFC通信を終了する。
図17は、図15のステップS1509における、インク情報を取得する処理のフローチャートの一例である。なお、この処理は、通信モードはパッシブモードでもアクティブモードでも、共通である。
ステップS1701において、イニシエータである携帯型通信端末装置200のCPU602は、NFCユニット201を用いてターゲットであるMFP300のNFCユニット306のNFCメモリ805から印刷装置の情報を取得する。CPU602はここで得た情報を基に、ステップS1702において、通信相手がアプリケーションが対応している印刷装置(MFP300)であるかどうかを判断する。すなわち、ここで通信する印刷装置の情報には、前述した携帯型通信端末装置200のプリケーションに対応したMFP300であることを示すデータが含まれている。通信相手が携帯型通信端末装置200のアプリケーションに対応したMFP300である場合、処理はステップS1703へ進み、そうでない場合はNFC通信を終了する処理へ進む。
ステップS1703において、CPU602は、通信相手であるMFP300の印刷装置が持つインクの数を取得することができたかを判定する。インクの数は、ステップS1701で取得する印刷装置情報に含まれていても良いし、再度通信を行って取得しても良い。インク数が取得できると処理はステップS1704へ、そうでなければNFC通信を終了する処理へ進む。
ステップS1704では、CPU602は取得したインク数から、インク情報を取得するためのデータ長を決定する。このデータ長に基づいて計算したデータ領域が携帯型通信端末装置のメモリに確保できない場合、NFC通信を終了するなどの例外処理を行っても良い。続いてステップS1705で、CPU602はNFCユニット618を介してインク情報を要求し、正しく取得できたかどうかを判定する。インク情報を正しく取得できた場合、処理はステップS1706へ進み、そうでない場合はNFC通信を終了する処理へ進む。
ステップS1706において、図15のステップS1601で選択されたモードによって処理の分岐を行う。ここでは、図19により後述するように全色表示モードと個別表示モードが存在する場合の例を示しており、全色表示モードの場合はステップS1707へ、個別表示モードの場合はステップS1710へ処理を分岐する。
ステップS1707において、CPU602は、例えば後述する図20のような、全色表示画面をユーザに提示する。CPU602はステップS1708において操作部204におけるキー操作を検出すると、ステップS1709において操作されたキーの種類を判別する。選択されたキーが個別表示キーであった場合、処理はステップS1710へ進み、終了キーであった場合はNFC通信を終了する処理へ進む。それ以外のキーである場合は画面の提示を継続するか、携帯型通信端末装置200やアプリケーションによって定められた操作を行う。
ステップS1710において、CPU602は、例えば後述する図21のような、個別表示画面をユーザに提示する。CPU602は、ステップS1711において操作部204におけるキー操作を検出すると、ステップS1712において操作されたキーの種類を判別する。選択されたキーが全色表示キーであった場合はステップS1707へ、表示変更キーであった場合はステップS1713へ、終了キーであった場合はNFC通信を終了する処理へ、それぞれ処理が進む。それ以外のキーである場合は画面の提示を継続するか、携帯型通信端末装置やアプリケーションによって定められた操作を行う。ステップS1713において、CPU602は個別に表示しているインク情報を、別の色のインク情報に変更する。そして、処理はステップS1710へ進み、CPU602は変更した内容にしたがって個別表示画面を更新する。
なお、ここで示したフローチャートは一例であり、処理の順番や内容は任意に変更して良い。例えば、携帯型通信端末装置200における画面の提示はNFC通信が終了した後に行われても良い。また、携帯型通信端末装置200による画面の提示において、表示モードの種類を増減させても良い(1つの表示モードで固定されてもよいし、3つ以上の表示モードの中から選択可能であってもよい)。また、イニシエータとなる装置は携帯型通信端末装置でなくても良く、取得する情報も印刷装置のインク情報に限定したものではない。
図18は、MFP300のNFCユニット618による、インク情報を通知する処理(図16のステップS1608)の一例を示すフローチャートである。
ステップS1801において、MFP300のNFCユニット306は、イニシエータ(本例では、携帯型通信端末装置200のNFCユニット201)から送信される印刷装置情報取得のための要求を待つ。正しい要求を受信した場合、処理はステップS1802に移行して、NFCユニット306は、自身のNFCメモリ805から印刷装置情報を読み出しこれをイニシエータに通知する。
次にステップS1803において、インク情報取得の要求を受け付ける。正しい要求を受信した場合、処理はステップS1804に移行し、NFCユニット306は自身のNFCメモリ805からインク情報を読み出してこれをイニシエータに通知する。インク情報の通知が終了したら、NFC通信を終了する処理へ進む。なお、これらの処理で通知する情報は上述したものに限定されず、任意に決めて良い。
図19は、図15のステップS1501における、携帯型通信端末装置200のアプリケーション上でモード選択を行うための画面の一例である。上述したように、このアプリケーションは、ユーザによる入力および取得データの出力を行うユーザインタフェースと、NFCユニット201をイニシエータとして動作させるための機能などを有する。
モード選択画面1901は、全色表示キー1902と、個別表示キー1903と、終了キー1905と、を有している。全色表示キー1902は全色表示モードと対応し、個別表示キー1903は個別表示モードと対応しており、それらの選択状態は図17のステップS1706における分岐で参照される。全色表示キー1902もしくは個別表示キー1903のどちらかが選択されたことに応じて、CPU602はNFCユニット201にイニシエータとしての動作を開始させる(ステップS1502)。CPU602は、アプリケーションからの指示に基づいてNFCユニット201にイニシエータとしての動作を開始させると、モード選択画面1901上に印刷装置との通信準備が整ったことをユーザに通知するためのメッセージ1904を表示する。終了キー1905が選択されと、アプリケーションを終了する。ここで、アプリケーションを終了する前に、終了する旨を再度確認するメッセージと選択キーが表示されても良い。なお、これらのキーおよびメッセージは一例であり、項目、表示内容および位置などは任意に決定して良い。
図20は、図17のステップS1707における、全色表示を行うための携帯型通信端末装置の画面の一例である。
図20において全色表示画面2001は、インク残量情報2002と、個別表示画面2101への遷移方法を通知するメッセージ2003と、終了キー2004と、を有する。インク残量情報2002はインクの色名と残量の図、および残量を数値化したものから成り、インクの色ごとに分かれている。所望のインク残量情報2002を選択すると、図21に示すような、選択されたインクの色に応じた個別表示画面2101へ画面が遷移する。終了キー2004を選択すると、アプリケーションを終了し、ターゲットを解放する。ここで、アプリケーションを終了する前に、終了する旨を再度確認するメッセージと選択キーが表示されても良い。なお、インク残量情報2002やメッセージ2003、および終了キー2004は一例であり、表示の仕方や内容などは任意に変更しても良い。
図21は、図17のステップS1710における、個別表示を行うための携帯型通信端末装置の画面の一例である。
図21において個別表示画面2101は、インク残量情報2102と、表示変更キー2103と、インク型番2104と、印刷装置型番2105と、全色表示キー2106と、終了キー2107と、を有する。
インク残量情報2102はインクの色名と残量の図、および残量を表す数値から成る。これは図20のインク残量情報2002と同様でも良いし、異なっていても良い。表示変更キー2103が選択された場合、現在表示しているインク情報を、別の色のインク情報に変更する。この表示変更キー2103は一例であり、タッチパネルにおけるスライド操作に対応させても良いし、サムネイルなどによって変更しても良い。
インク型番2104と印刷装置型番2105は、個別表示画面だけで表示される項目である。ここではインク型番と印刷装置型番を例に挙げたが、これらの項目は任意に変更しても良い。
全色表示キー2106を選択すると、図20に示したような、全色表示画面2001へ画面が遷移する。また、終了キー2107を選択すると、アプリケーションを終了する。ここでアプリケーションを終了する前に、終了する旨を再度確認するメッセージや選択キーが表示されても良い。なお、これらのキーの内容や配置などは一例であり、必要に応じて任意に変更しても良い。
以上のように、上記実施形態によれば、印刷装置の機器状態がNFCにより外部から読み取ることが可能な記憶媒体上に記録される。そのため、電源がハードオフ、ソフトオフ、或いは省電力モードの状態にある印刷装置の機器状態を取得する場合に、印刷装置を起動しなくても良く、印刷装置の起動を待つ必要がなくなる。また、特に印刷装置がインクジェットプリンタであった場合には、起動とともに実施されるインクの予備吐出などの印刷のための準備がなされずに済むので、不要なインクの消費を削減することができる。
なお、上記実施形態では、NFCを用いた近距離通信を例示したがこれに限られるものではない。例えば、近距離通信としてIrDA等の赤外線通信を用いてもよい。また、近距離通信としてNFCを用いたが、他の方式の通信を利用してもよい。例えば、赤外線通信(IrDA)等を用いてもよい。その場合、アクティブモードでのNFCと同様に、MFP300側の赤外線通信部は、ソフトオフなどにより電力の供給が遮断される電源供給系統とは別の電源供給系統により供給される電力で通信を行なうように構成する必要がある。
また、携帯型通信端末装置200が通信する対象としてMFP300(印刷装置)、取得する機器状態の情報として、インク残量、装着中のインクの型番等を挙げたが、これに限らない。例えば、上記実施形態で説明したような近距離無線通信を携帯型通信端末装置200とテレビ番組を録画するビデオレコーダとの間で実行するように構成し、ビデオレコーダにおける予約状態を機器情報として取得するようにしてもよい。このような構成にすれば、ビデオレコーダを立ち上げることなく(オフとしたまま)、予約番組を確認することができ、便利である。
なお、以上の実施例においてMFPがインク残量などのステータス情報を、種々のタイミングでメモリに書き込んでもよい。例えばMFPの電源をOFFにするときに書き込んでもよいし、またはインク不足などエラー条件に該当するタイミングでエラー情報を書き込んでもよい。その場合、インク交換などエラーが解消された場合には、メモリからエラー情報を削除する。
さらに、ステータス情報はインク残量に限らず、種々の情報を書き込めるようにしてもよい。
また、以上の実施例では、装置の例としてMFPを挙げたが、これに限らず、PCやカメラなど、NFCにより通信を行うことができる種々の装置であってもよい。
また以上の実施例では、機器状態を通知する方法として、表示を例に説明したが、印刷や発音など種々の通知方法を採用することができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、プログラムを実行するコンピュータは、1つであってもよいし、複数のコンピュータが協働してプログラムを実行するものであってもよい。さらに、プログラムの一部を実行する回路等のハードウェアを設け、そのハードウェアと、ソフトウェアを実行するコンピュータが協働して、本実施例で説明した処理を実行する場合であってもよい。