以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。ただし、この実施例に記載されている構成要素の相対配置等は、特定の記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
なお、この明細書において、「記録」(「プリント」という場合もある)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。さらに人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
この実施例では、近距離無線通信方式を用いて低速通信(第1通信手段)により通信相手の特定と認証とを行った後、通信方式を高速通信(第2通信手段)に切り替えて画像データを送信する例について説明する。具体的には、ターゲットには電源を必要としないNFC(Near Field Communication)のような近距離無線通信で認証を行い、その後、他の通信プロトコルに通信を切り換えて画像データを通信する方法について説明する。
図1は本発明の代表的な実施例である近距離無線通信を用いた記録システムの構成を示すブロック図である。このシステムは基本的には、サーバ装置101と携帯型通信端末装置(情報処理装置)200とマルチファンクションプリンタ(以後、MFP、或いは、記録装置)300とがネットワーク100により接続される構成となっている。
サーバ装置101は記録用の画像データの記憶ユニットや、ユーザIDの管理、画像処理アプリケーションを実行するプロセッサなどで構成されている。携帯型通信端末装置200は、認証方法、通信速度が違う少なくとも2種類以上の無線通信プロトコルを実装した装置である。この携帯型通信端末装置としては、PDA(情報携帯端末)などの個人情報端末、携帯電話、デジタルカメラなど、印刷対象となるファイルを扱える装置であれば何でも良い。MFP300は、各種設定が可能な表示部と操作パネルを備え、インクジェットプリンタなどをプリンタエンジンとして用いたプリンタ機能と、原稿台に原稿を載せて原稿を読み取るスキャナ機能、ファクシミリ機能や電話機能を有した多機能プリンタ装置である。
ネットワーク100とサーバ装置101は有線LANで接続されており、ネットワーク100とMFP300は有線LANもしくは無線LAN(以後、WLAN)で接続されている。ネットワーク100と携帯型通信端末装置200はWLANで接続されている。携帯型通信端末装置200とMFP300は共にWLANの機能を有するため、相互認証をすることによってピアツーピア(以後、P2P)の通信が可能となる。
図2は、例えば、スマートホンのような携帯型通信端末装置200の正面図である。スマートホンとは、携帯電話の機能の他に、カメラやネットブラウザやメール機能などを搭載した多機能型の携帯電話のことである。
図2おいて、NFCユニット201はNFCを用いて通信を行うユニットであり、実際にNFCユニット201を相手先のNFCユニットに10cm程度以内に近づけることで通信を行うことができる。WLANユニット202はWLANを用いた通信を行うためのユニットで装置内に配置されている。なお、WLANの通信可能範囲は、NFCの通信可能範囲(10cm)よりも十分広い。表示部203はLCDディスプレイで構成され、そのディスプレイ上に静電式タッチパネル方式の操作機構を備えた操作部204が配置される。操作部204はユーザの操作情報を検知する。代表的な操作方法は表示部203がボタン状のメニューを表示し、ユーザが操作部204に触れることによってボタン部分に関連付けられたイベントを発行し処理を実行することである。電源キー205は電源のオン/オフのために用いる。
図3はMFP300の概略構成を示す外観図である。図3において、(a)は外観斜視図であり、(b)はMFPの上面図である。
原稿台301はガラス状の透明な台であり、原稿を載置してスキャナで読み取る時に使用する。原稿蓋302はスキャナで読み取りを行う際に読取光が外部に漏れないようにするための蓋である。印刷用紙挿入口303は様々なサイズの用紙をセットする挿入口である。ここにセットされた用紙は一枚ずつ印刷部(プリンタエンジン)に搬送され、所望の印刷を行って印刷用紙排出口304から排出される。
原稿蓋302の上部には、(b)に示すように、操作部305とNFCユニット306が配置されている。操作表示部305には各種操作を行うキーやLCDディスプレイを備えており、MFP300に関する操作や設定が可能な構成となっている。NFCユニット306は近距離無線通信を行うためのユニットで実際に携帯型通信端末装置200を近接させる場所である。NFCユニット306から約10cmが通信可能な有効距離である。WLANアンテナ307はWLAN通信を行うためのアンテナであり、原稿蓋302に埋め込まれている。
NFCユニットは低速通信に、WLANユニットは高速通信に用いられる。
次に、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は、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通信を行うBTユニット621からなる。なお、図6において、NFCユニット618とBTユニット621の通信相手先として携帯型通信装置が図示されているが、その通信相手先はこれに限定されるものではない。例えば、同じ通信プロトコルを備えた装置であれば、他の装置とも通信可能であることは言うまでもない。また、BTユニット621の代わりにWLANユニットを備える構成とし、例えば、IEEE802.1Xや802.11nに準拠したプロトコルを用いて高速な無線通信を行うようにしても良い。WLANユニット617、NFCユニット618、BTユニット621を総称して通信部という。
メインボード601においてCPU602は携帯型通信端末装置200の全体を制御するシステム制御部である。ROM603はCPU602が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。この実施例では、ROM603に格納されている各制御プログラムは、ROM603に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。RAM604はSRAM等で構成され、プログラム制御変数等を格納し、また、ユーザが登録した設定値や携帯型通信端末装置200の管理データ等を格納し、各種ワーク用バッファ領域として用いられる。
画像メモリ605はDRAM等で構成され、通信部を介して受信した画像データや、データ蓄積部612から読みだした画像データをCPU602で処理するために一時的に格納する。不揮発性メモリ622はフラッシュメモリ等で構成され、電源がオフされた後でも保存しておきたいデータを格納する。例えば、電話帳データや、過去に接続したデバイス情報などがある。なお、メモリ構成は図6に示した構成に限定されるものではない。例えば、画像メモリ605とRAM604を共有させてもよいし、データ蓄積部612にデータのバックアップなどを行ってもよい。また、この実施例ではDRAMを用いているが、ハードディスクや不揮発性メモリ等を使用する場合もあるのでこの限りではない。
データ変換部606は、ページ記述言語(PDL)等の解析や、色変換、画像変換などのデータ変換を行う。電話部607は電話回線の制御を行い、スピーカ部613を介して入出力される音声データを処理することで電話による通信を実現している。操作部608は図2で説明した操作部204で発生した信号を制御している。GPS(全球測位システム)609は現在の緯度や経度などを取得する。表示部610は図2で説明した表示部203の表示内容を電子的に制御しており、各種入力操作や、MFP300の動作状況、ステータス状況の表示等を行う事ができる。
カメラ部611はレンズを介して入力された画像を電子的に記録して符号化する機能を有している。カメラ部611で撮影された画像はデータ蓄積部612に保存される。スピーカ部613は電話機能のための音声を入力または出力する機能や、その他アラーム通知などの機能を実現している。電源部614は携帯可能な電池と、その供給制御を行う。電源状態には、電池に残量が無い電池切れ状態、電源キー205を押下していない電源オフ状態、通常起動している起動状態(電源オン状態)、起動しているが省電力モードになっている省電力状態がある。
携帯型通信端末装置200にはMFPなどの他デバイスとのデータ通信を行う通信部として、3つの無線通信手段が搭載されており、WLAN、NFC、BlueTooth(商標登録)で無線通信することができる。通信部によりデータをパケットに変換し、他デバイスにパケット送信を行う。逆に、外部の他デバイスからのパケットを、データに変換してメインボード601に対して送信する。WLANユニット617、NFCユニット618、BTユニット621はそれぞれバスケーブル617、618、620で接続されている。WLANユニット617、NFCユニット618、BTユニット621は夫々の規格に準拠した通信を実現する。NFCユニットの詳細は後述する。
上記構成要素603〜614、617、618、621、622は、CPU602が管理するシステムバス619を介して、相互に接続されている。
図7は、MFP300の概略構成を示すブロック図である。
MFP300は装置全体の制御を行うメインボード701と、WLAN通信を行うWLANユニット717と、NFC通信を行うNFCユニット718とBT通信を行うBTユニット719からなる。なお、図7において、NFCユニット718とBTユニット719の通信相手先として携帯型通信装置が図示されているが、その通信相手先はこれに限定されるものではない。例えば、同じ通信プロトコルを備えた装置であれば、他の装置とも通信可能であることは言うまでもない。また、BTユニット719の代わりにWLANユニットを備える構成とし、例えば、IEEE802.1Xや802.11nに準拠したプロトコルを用いて高速な無線通信を行うようにしても良い。WLANユニット717、NFCユニット718、BTユニット719を総称して通信部という。
メインボード701においてCPU702は、MFP300の全体を制御するシステム制御部である。ROM703はCPU702が実行する制御プログラムや組み込みオペレーティングシステム(OS)プログラム等を格納する。この実施例では、ROM703に格納されている各制御プログラムは、ROM703に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
RAM704はSRAM等で構成され、プログラム制御変数等を格納し、また、ユーザが登録した設定値やMFP300の管理データ等を格納し、各種ワーク用バッファ領域としても用いられる。不揮発性メモリ705はフラッシュメモリ等で構成され、電源がオフされた時でも保持していたいデータを格納する。具体的にはネットワーク接続情報、ユーザデータなどである。画像メモリ706はDRAM等で構成され、通信部を介して受信した画像データや、符号復号化処理部712で処理した画像データや、メモリカードコントローラ(不図示)を介してメモリカードから取得した画像データなどを蓄積する。また、携帯型通信端末装置200のメモリ構成と同様に、メモリ構成はこれに限定されるものではない。データ変換部707は、ページ記述言語(PDL)等の解析や画像データからプリントデータへの変換などを行う。
読取制御部708により制御される読取部710がCISイメージセンサによって原稿を光学的に読み取ることで発生した画像信号には画像処理制御部(不図示)を介して、2値化処理や中間調処理等の各種画像処理が施され、高精細な画像データを出力する。
操作部709、表示部711は図4で説明した操作表示部305を表している。符号復号化処理部712は、MFP300で扱う画像データ(JPEG、PNG等)に対して符号復号化処理や拡大縮小処理を行う。
給紙部715は記録用紙などの記録媒体を保持する。給紙動作は記録制御部716からの制御により給紙部715により行うことができる。特に、給紙部は複数種類の用紙を一つの装置に保持するために、複数の給紙部から構成されても良い。この場合、記録制御部716により、どの給紙部から給紙を行うかを選択制御する。
記録制御部716は、記録に用いられる画像データに対し、画像処理制御部(不図示)を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、記録部715に出力する。また、記録制御部716は記録部715の情報を定期的に読みだしてRAM704に格納される状態情報を更新する。具体的にはインクタンクの残量や記録ヘッドの状態などを更新する。
MFP300にも携帯型通信端末装置200と同様に3つの無線通信手段が搭載されているが、各機能は携帯型通信端末装置200のそれと同じであるため、その説明は省略する。なお、WLANユニット717、NFCユニット718、BTユニット719はそれぞれバスケーブル720、721、722で接続されている。
上記構成要素702〜719は、CPU702が管理するシステムバス723を介して、相互に接続されている。
図6〜図7でのWLANユニットでは、例えば、IEEE802.1XやIEEE802.11nなどに準拠した高速無線通信が可能である。
図8はNFCユニット618やNFCユニット718で使用されているNFCユニットの詳細な構成を示すブロック図である。
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メモリ805は不揮発性メモリから構成される。アクティブモードとして動作する場合、電源806を介して電力の供給を受け、デバイス接続部807を通じてデバイスと通信を行ったり、アンテナ部801を介して送受信される搬送波により、通信可能な範囲にある他のNFCデバイスと通信する。これに対して、パッシブモードとして動作する場合、アンテナ部802を介して他のNFCデバイスから電波を受信して電磁誘導により他のNFCデバイスから電力供給を受ける。そして、搬送波の変調により当該他のNFCデバイスとの間で通信を行い、NFCメモリ805に記憶されている情報を含むデータを送受信する。
図9はMFP300の不揮発性メモリ(フラッシュメモリ)705の内部構成を表したブロック図である。
図9において、901はフラッシュメモリ全体を表している。ユーザデータ902にはユーザに関する情報が記憶されており、例えば、FAXの電話番号、通信履歴、ネットワーク情報などが格納されている。過去に接続した装置リスト903にはMFP300がこれまでに接続した装置のリストが格納されている。例えば、スマートホンとNFCで通信した場合は、スマートホンの識別子が記憶される。スマートホンとWLANでP2Pで接続した場合は、WLANで接続するための識別情報が記憶される。具体的にはWLAN接続のためにWPS(Wi-Fi Protected Setup)が使用される場合はWPS Credential認証情報が記憶される。
スマートホンとBluetooth(登録商標)で接続した場合はOOB認証情報が記憶される。サーバ装置101とネットワーク100経由で接続した場合はサーバ装置101のネットワーク情報が記憶される。設定情報906にはMFP300の設定情報が記憶される。例えば、記録モードなどのメニュー項目や、インクジェット記録ヘッドの補正情報などが記憶される。その他907にはその他の不揮発情報が記憶される。
図10はMFP300のNFCメモリ805の構成を示すブロック図である。NFCメモリ805はMFP300に電源が供給されていない状態であってもパッシブモードの通信を用いて、例えば、携帯型通信端末装置200のような外部端末との情報送受信、及びリード/ライトが可能である。
図10において、1001はNFCメモリ全体を表している。CPU702は機器状態記憶部1002に所定のタイミングで、RAM704に設定される機器状態記憶部の内容(エラー状態、インク残量、次回推定起動時間)をコピーする。
ジョブ記憶部1006は携帯型通信端末装置200からNFCでジョブをMFP300に投入する場合に使用する領域である。印刷ジョブ1007は印刷ジョブがキューで格納されている。具体的には、印刷設定や画像データへのリンク先が格納される。スキャンジョブ1008はスキャンジョブがキューで格納されている。具体的には、読取設定や読取データの保存先が格納される。FAXジョブ1009はFAXジョブがキューで格納されている。具体的には、送信先の電話番号や通信画質などが含まれるFAX設定、そして、画像が既に読み取ってある場合は画像へのリンク先が格納される。設定変更ジョブ1010には設定変更ジョブがキューで格納されている。具体的には、MFP本体の設定項目の変更に関するジョブが格納される。
図11はNFCユニットがイニシエータとして動作する場合のフローチャートである。
まず、ステップS1101では、すべてのNFCユニットはターゲットとして動作し、イニシエータからの命令を待っている状態になる。次にステップS1102では、NFCユニットは、NFC規格による通信を制御するアプリケーションからの要求でイニシエータに切り替わることができる。NFCユニットがイニシエータに切り替わる要求に応じた場合、処理はステップS1103に進み、アプリケーションは、アクティブモードまたはパッシブモードのどちらかを選択し、伝送速度を決める。
次にステップS1104では、イニシエータは自装置以外が出力するRFフィールドの存在を検知する。外部のRFフィールドが存在した場合は、イニシエータは自らのRFフィールドは発生させない。外部のRFフィールドが存在しなかった場合には、処理はステップS1105に進み、イニシエータは自らのRFフィールドを発生させる。
以上のステップを経て、NFCユニットはイニシエータとして動作を開始する。
図12はパッシブモードによるデータ交換を行うシーケンスを示す図である。ここでは、NFCユニット(第1のNFCユニット)1201がイニシエータ、NFCユニット(第2のNFCユニット)1202がターゲットとして動作する場合について説明する。
まず、ステップS1201では、NFCユニット1201は単一デバイス検知を行い、NFCユニット1202を特定する。次にステップS1202では、NFCユニット1201は属性要求として自身の識別子や送受信のビット伝送速度、有効データ長などを送信する。また、この属性要求は汎用バイトを有しており、汎用バイトを任意に選択して使用することができる。有効な属性要求を受信した場合、NFCユニット1202はステップS1203として属性応答を送信する。ここで、NFCユニット1202からの送信は負荷変調によって行われており、図中では負荷変調によるデータ送信は点線の矢印で表現している。
有効な属性応答を確認した後、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(第1のNFCユニット)がイニシエータ、NFCユニット(第2のNFCユニット)1302がターゲットとして動作している場合について説明する。
まず、ステップS1301では、NFCユニット1301は属性要求として自身の識別子や送受信のビット伝送速度、有効データ長などを送信する。ユニット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に戻る。これに対して、解放要求を送信した場合、NFCユニット1302は、ステップS1309で解放応答を送信して初期状態へ戻る。NFCユニット1301は解放応答を受け取れば、ターゲットは完全に解放されているので、初期状態へ戻ることができる。
NFCは通信速度が数100bpsと比較的低速であるため、NFCで認証などを行い、容量の多いデータはより高速なWLANで行うことで効率的なデータ転送を図ることができる。
図14はNFCとWLANとを切り換えてデータ転送を行う場合のシーケンスを示す図である。この図では、携帯型通信端末装置200に存在する画像データをMFP300に送信して印刷させる際に、携帯型通信端末装置200が主体となって転送する、いわゆるプッシュ型通信の一例を示している。
ステップS1401では、MFP300とのNFC通信を確立するため、NFCユニット618がイニシエータとなって、NFCユニット718をターゲットとして検知する。NFCユニット718が正しく検知された場合、ステップS1402では、NFCユニット718は検知応答を送信する。なお、図14の例は携帯型通信端末装置200がイニシエータとなる場合を示しているが、実際には操作部305などからの入力に基づいてMFP300がイニシエータとなってもよい。検知応答を正しく受信した場合、NFCユニット618は、ステップS1403においてNFC通信を行うための属性要求を送信する。属性要求を受信したNFCユニット718は、ステップS1404で属性応答を返す。ここで、属性要求および応答では、それぞれイニシエータおよびターゲットのNFC_ID を送信し、このIDによって通信相手を特定する。
ステップS1405では相互認証が行われ、データ暗号化のための暗号鍵などを渡すことができる。なお、暗号鍵を渡す必要がない場合などは、この相互認証は行わなくとも良い。その後、ステップS1406では、NFCユニット618は、NFCユニット718に対して、MFP300が利用可能な通信プロトコルの情報を要求する。この要求には携帯型通信端末装置が利用可能な通信プロトコルの情報が含まれており、NFCユニット718は、この要求を受信した際に、携帯型通信端末装置ではWLAN通信が利用可能であることを認識することができる。NFCユニット718は、ステップS1407において、ステップS1406で受信した要求に対して、MFP自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、互いの利用可能な通信プロトコルを把握することができる。
ここで認識したNFC以外の通信プロトコルであるWLANが、NFCよりも高速なデータ転送が可能であり、WLANに切り換えて通信を行うことがイニシエータである携帯型通信端末装置によって決定されたとする。なお、切り換えを行うための決定はMFPが行っても良い。
その場合、ステップS1408〜S1409において、例えば、通信相手を特定するアドレスなど、WLANで通信を行うために必要な情報を交換する。その後、処理はステップS1410に移行し、NFCユニット618はNFC通信からWLAN通信へと切り換える要求を送信する。NFCユニット718は、切り換えの要求を受信すると、ステップS1411において応答する。
ここで、正しい切り換え応答が得られたら、処理はステップS1412において、NFCユニット618からWLANユニット617へ、ステップS1413ではNFCユニット718からWLANユニット717へと、それぞれ切り換えを行う。切り換え後、ステップS1414では、NFCユニット618は解放要求を送信する。解放要求を受信したNFCユニット718は、ステップS1415において解放応答を送信し、NFC通信を終了する。
ステップS1416以降の処理では、ステップS1408〜S1409で交換したWLAN通信のための情報に基づいて、WLAN通信を実行する。
ステップS1416では、WLANユニット617はデータ転送が可能かどうかWLANユニット717に確認する。ここで確認する内容は、例えば、MFP300に転送しようとする画像データを保存するために必要な空き容量などがある。WLANユニット717は、確認要求を受信後、ステップS1417で確認応答を送信する。正しい応答が得られ、データ転送が可能であると判断した場合、ステップS1418では、WLANユニット617は、携帯型通信端末装置200に存在する画像データをWLANユニット717に対して送信する。こうすることで、容量の大きいデータはより高速な通信プロトコルを用いて転送することができる。
図15は携帯型通信端末装置200に存在する画像データをMFP300に転送して印刷させる際に、MFP300が主体となって転送する、いわゆるプル型通信のシーケンスを示す図である。なお、図15において、図14に示したのと同じステップについては同じステップ参照番号を付し、その説明は省略する。
図15によれば、NFC通信からWLAN通信に切り換わった後、ステップS1416’では、WLANユニット717からWLANユニット617に対してデータ取得の確認要求を送信する。ここで確認される内容は、例えば、携帯型通信端末装置200が転送する予定のデータサイズなどがある。転送データに関する確認要求を受信後、WLANユニット617は、ステップS1417において応答を送信する。正しい応答が得られ、MFP300の空き容量などを考慮したうえでデータ転送が可能であると判断した場合、WLANユニット717は、ステップS1418’において画像データを要求する。正しい要求を受け取った場合、WLANユニット617はステップS1419’において要求された画像データを送信する。
図16は携帯型通信端末装置200からMFP300にジョブ予約をし、MFP300がジョブを実行するまでのシーケンスの概要を示す図である。ここでは、MFP300がハードオフ状態の時に携帯型通信端末装置200から印刷ジョブを実行する場合を例に説明する。なお、印刷ジョブは、そのジョブに係る画像ファイル名やファイル種別やデータ容量やデータ格納先などの印刷ジョブ情報のみを含み画像データを含まない場合と、印刷ジョブ情報と画像データの両方を含む場合がある。
初めに、携帯型通信端末装置200の動作を説明する。
ステップS1601では携帯型通信端末装置200の画像メモリ605やサーバ装置101等から画像データを取得する。取得した画像データの中からステップS1602では印刷に用いる画像データを選択し、印刷部数の設定を行う。ステップS1603では記録用紙サイズや用紙種類等の印刷設定を行う。ステップS1604では、印刷ジョブ情報をMFP300にNFC通信で送信する。これにより、画像の印刷をMFPに依頼する。従って、この場合、印刷ジョブには、印刷対象の画像データのファイル名や部数設定、印刷設定等の印刷に必要な情報である印刷ジョブ情報のみが含まれる。
次に、MFP300の動作を説明する。
携帯型通信端末装置200から送信された印刷ジョブ情報をステップS1605でパッシブモードで受信する。これを受信後、ステップS1606では、MFP300はNFCメモリのジョブ記憶部1006にジョブ情報を記憶する。ジョブ情報により記憶先が異なっており、その記憶先は図10を参照して説明した通りである。ステップS1607ではMFP300を通常の起動状態にする。MFP300が通常の起動状態になるとステップS1608で、MFP300は印刷に用いる画像データを取得し、ステップS1609で取得した画像データに基づいて画像を印刷する。
以下、携帯型通信端末装置200の詳細な処理については図17〜図26を参照して説明し、MFP300の詳細な処理については図27〜図31を参照して説明する。
・携帯型通信端末装置200の処理フロー(図17〜図26)
図17は携帯型通信端末装置200の画像印刷アプリケーションを起動してからNFC通信を終了するまでの携帯型通信端末装置200における処理を示すフローチャートである。このアプリケーションは、ユーザによる入力および取得データの出力を行うユーザインタフェースと、NFCユニットをイニシエータとして動作させるための機能などを有する。
まず、ステップS1701では画像データを取得する。ここで取得する画像データは携帯型通信端末装置200の画像メモリ605に保存されている画像データでもよいし、サーバ装置101に記憶されている画像データやインターネット上の写真共有サイトの画像データをダウンロードしたものでもよい。さらに、ステップS1701では取得した画像ファイルのパス情報やファイル名をRAM604に記憶する。
ステップS1702で取得した画像データに基づいて画像を表示する。図18では画像選択画面の表示例を示しているが、これについては後で説明する。取得した画像データは画像メモリ605へ格納される。
ステップS1703では操作部608のキー操作の検出を行い、検出したキーの情報をRAM604に記憶する。そして、ステップS1704では検出したキーの情報を調べ、その情報に応じた処理をステップS1705〜S1708のいずれかで実行する。なお、ステップS1705〜S1708夫々の詳細な処理は、図21〜図24を参照して後で説明する。
ステップS1705〜S1707に夫々対応した画像選択処理、部数選択処理、印刷選択処理の終了後は、処理は再びステップS1702に戻り、画像選択画面を表示し、さらにステップS1703においてキー検出を待ち合わせる。一方、ステップS1708ではステップS1705〜S1707で設定した印刷する画像情報や各画像の部数情報、印刷設定情報をNFC通信によってターゲットに送信する。ステップS1708の印刷ジョブ送信処理の終了後は画像印刷処理を終了する。
図18はステップS1702において表示部203に表示される画面の一例を示す図である。
表示部203には画像表示領域1801が幾つか設けられ、ステップS1701で取得した画像データのサムネイル画像1802が画像表示領域1801に表示される。そして、画像表示領域1801に表示された画像の場所が画像選択キーとなり、ユーザがこれを押下或いはタッチすることで、画像選択キーが選択されたとみなされる。画像選択キー1804の選択を検出すると画像選択状態を表すフォーカス1803が表示され、再度同じ画像選択キーを検出するとフォーカス1803は非表示になる。
また、この表示画面において、部数設定キー1805の押下或いはタッチを検出すると図19に示すような部数設定画面が表示される。また、印刷設定キー1806の押下或いはタッチを検出すると図20に示すような印刷設定画面が表示される。印刷開始キー1807の押下或いはタッチを検出すると図24に示すフローチャートに従って印刷処理が実行される。
図21はステップS1705の画像選択処理の詳細を示すフローチャートである。
まず、ステップS2101では各画像のフォーカス表示状態を取得する。フォーカス表示状態はRAM604に記憶されており、初期値はフォーカス非表示である。ステップS2102では選択した画像にフォーカスが表示中であるかどうかを調べる。ここで、フォーカスが表示状態であると判断されれば、処理はステップS2103に進み、フォーカス非表示状態に変更する。これに対して、フォーカスが非表示状態であると判断されれば、処理はステップS2104に進み、フォーカス表示状態に変更する。
ステップS2105では、フォーカス表示変更後のフォーカス表示状態をRAM604に記憶し、画像選択処理を終了する。
図22はステップS1706の部数選択処理の詳細を示すフローチャートである。この処理では、選択した画像のみの印刷部数を変更する。
部数選択キー1805の押下或いはタッチを検出すると、ステップS2201ではフォーカス表示中の画像があるかどうかを調べる。ここで、フォーカス表示中の画像があると判定された場合、処理はステップS2202に進み、部数設定画面を表示し、フォーカス表示中の画像がない場合は部数選択処理を終了する。図19は部数設定画面の表示例を示す図である。
次に、ステップS2203では、図19に示された部数変更キー1902や部数設定完了キー1903のキー操作があるかどうかを調べる。ここで、キー操作が検出された場合には処理はステップS2204に進み、その検出されたキーの内容を調べる。
ここで、部数変更キー1902の操作を検出した場合、処理はステップS2205に進み、フォーカス表示中の画像の部数設定を変更する。図19に示した例では、“+”が一回押下或いはタッチされると、部数表示領域1901の値が“+1”される。また、“−”が一回押下或いはタッチされると、部数表示領域1901の値が“−1”される。そして、ステップS2206で変更された各画像の部数設定値をRAM604に記憶する。その後、処理はステップS2203に戻る。これに対して、設定完了キー1903の操作を検出した場合、処理はステップS2207に進み、部数設定画面の表示を終了する。その後、図18に示す画像選択画面に戻る。
図23はステップS1707の印刷設定処理の詳細を示すフローチャートである。
印刷設定キー1806の押下或いはタッチを検出すると、ステップS2301では印刷設定項目選択画面を表示する。図20(a)は印刷設定項目選択画面の表示例を示す図である。ここでは、表示画面に印刷設定リスト2002が表示され、用紙サイズや用紙種類や印刷品質の変更を行うことができる。
ステップS2302では、図20(a)に示す印刷設定項目選択画面においてキーの押下或いはタッチの検出を待ち合わせ、キー検出があると、処理はステップS2303に進み、その検出されたキーの内容を調べる。
ここで、印刷設定項目キー2001の操作を検出した場合、処理はステップS2304に進み、印刷設定変更画面を表示する。図20(b)は用紙サイズ変更を行うための印刷設定変更画面表示例を示す図である。ここでは、表示画面に設定値リスト2012が表示され、用紙サイズをA4、B5、A5、L版、2L版。はがきなどに変更することができる。なお、選択された用紙サイズはフォーカス2013も合わせて表示される。ステップS2305では、図20(b)に示す印刷設定変更画面においてキーの押下或いはタッチの検出を待ち合わせ、キー検出があると、処理はステップS2306に進み、その検出されたキーの内容を調べる。
ここで、設定値変更キー2011の操作を検出した場合、処理はステップS2307へ進み、設定値変更完了キー2014を検出した場合、処理はステップS2309へ進む。ステップS2307では、用紙サイズの変更を行い、ステップS2308では変更後の印刷設定情報をRAM604に記憶する。用紙種類や印刷品質の変更方法も用紙サイズの変更方法と同様であるので、説明は省略する。一方、ステップS2309では印刷設定変更画面の表示を終了し、図20(a)に示す印刷設定項目選択画面の表示へ戻る。
さて、ステップS2302〜S2303において印刷設定完了キーの操作を検出した場合、処理はステップS2310に進み、印刷設定画面の表示を終了し、図18に示す画像選択画面に戻る。
図24はステップS1708の印刷ジョブ送信処理の詳細を示すフローチャートである。
まず、ステップS2401では、ステップS2206においてRAM604に記憶した部数情報を取得し、ステップS2402では、ステップS2308においてRAM604に記憶した印刷設定情報を取得する。
図25(a)は部数設定情報のデータ構造の一例を示す図である。これは、ファイルを識別するためのパスやファイル名情報2501と印刷部数情報2502をセットにして管理した例である。しかしながら、本発明に従うデータ構造はこれに限定されるものではなく、別々に管理してもよい。図25(b)は印刷設定情報のデータ構造の一例を示す図である。この図は、用紙サイズ情報2511、用紙種類情報2512、印刷品質情報2513をセットにして管理した例であるが、本発明に従うデータ構造はこれに限定されるものではなく、別々に管理してもよい。部数情報や印刷設定情報取得後、処理はステップS2403に進む。
ステップS2403では、携帯型通信端末装置200はイニシエータになり、NFCユニットを検知するためのモードに移行する。ここでは、図11で説明した処理に従ってイニシエータとなる。なお、通信モードはパッシブモードでもアクティブモードでも良い。ただし、アクティブモードで動作する場合は、例えば、NFCユニットの電源供給系統とMFPの電源供給系統を別にするなど、MFP300がハードオフ状態ときにもNFCユニット718に電源を供給する必要がある。イニシエータとして動作開始後、処理はステップS2404へ進み、通信相手となる装置を検知する。
装置が検知されると、処理はステップS2405へ進み、そうでなければ、ステップS2404で装置の検知を待ち合わせる。装置を検索する時間や回数はアプリケーションに依存しており、一定時間または回数で中断しても良いし、ユーザが中断することを選択しても良いこととする。
ステップS2405ではMFPに属性要求を送信し、ステップS2406ではMFPから属性応答を受信する。ここで正しい応答が得られなかった場合は、再度属性要求を送信するか、もしくは通信を中断する。正しい応答が得られた場合、処理はステップS2407へ進む。
ステップS2407では、パラメータを変更する必要があるかどうかを判断する。ここで、パラメータを変更する必要があれば処理はステップS2408へ進み、パラメータを変更する必要がなければ、処理はステップS2410へ進む。ステップS2408では、MFPにパラメータ選択要求を送信し、ステップS2409でパラメータ選択応答を受信する。正しい応答が得られなかった場合は、再度パラメータ選択要求を送信するか、もしくは通信を中断する。正しい応答が得られた場合、処理はステップS2410へ進む。
ステップS2410ではターゲットであるMFPにジョブ情報を送信する。送信したデータはMFP300のNFCユニット718にあるNFCメモリ805に書き込まれる。
ステップS2411ではMFPに解放要求を送信し、ステップS2412ではMFPから解放応答を受信する。解放応答を受信した場合には、ターゲットは解放されている。ステップS2413ではターゲットにデータの送信が完了した旨を示すメッセージ画面を表示部203に表示する。その後、処理は終了する。
図26はステップS2413において表示される送信完了画面の一例を示す図である。なお、画面を表示する順番は解放応答受信後に限定されるものではなく、ステップS2410の部数・印刷設定情報送信後でもよいし、表示しなくてもよい。また、表示内容はこれに限定されるものではなく、この他に送信したMFPの名称等を表示してもよい。ここでは、印刷データ所在情報2601、印刷部数情報2602、印刷設定情報2603が表示される。
・MFP300の処理フロー(図27〜図31)
説明を簡単にするため、以前に図16を参照してMFP300がハードオフ状態の時の例を説明したが、ここではMFPが通常状態にある時の動作も含めて説明する。
図27はMFP300が印刷ジョブを受信後、ジョブを実行するまでの処理を示すフローチャートである。
ステップS2701ではMFP300はステップS2410で携帯型通信端末装置200がNFC通信により送信したジョブ情報を受信する。この時、携帯型通信端末装置200がイニシエータとなり、MFP300がターゲットとなる。通信モードは、MFP300がハードオフ状態またはソフトオフ状態の時はパッシブモードであり、MFP300が通常状態であればパッシブモードまたはアクティブモードのどちらでもよい。ハードオフ状態とは電源が未投入の状態、ソフトオフ状態とは電源は投入されているがメインプログラムが起動されていない状態、通常状態とは通常にプログラムが起動している状態をいう。受信した情報はMFP300のNFCユニット718のNFCメモリ805に記憶される。また、図10を参照して説明したように、ジョブの種類によって記憶場所が異なる。
ステップS2702ではMFP300がハードオフ状態またはソフトオフ状態であるか(即ち、電源オフ状態であるかどうか)を調べる。ここで、ハードオフ状態またはソフトオフ状態であれば処理はステップS2703に進み、そうでなければステップS2705へ進む。
MFP300の装置状態がハードオフ状態またはソフトオフ状態であれば、処理はステップS2703において、MFP300への起動要求を待ち合わせる。そして、起動要求があれば処理はステップS2704へ進み、MFP300の起動処理を行ってMFP300の状態を通常状態に復帰させる。印刷ジョブのジョブ情報がNFCメモリ805に格納されているなら、これを起動要求をみなすことができる。起動処理終了後、即ち、通常状態への復帰後、処理はステップS2705へ移行する。
ステップS2705ではNFCメモリ805の記憶情報を取得し、これをRAM704へ転送し記憶する。ステップS2706でCPU702はRAM704にジョブ情報があるかどうかを調べる。ここで、ジョブ情報があれば処理はステップS2707へ進み、なければジョブ実行処理を終了する。
ジョブ情報がある場合、ステップS2707において、ジョブの種類を調べ、ステップS2708〜S2711ではジョブの種類に応じた処理を実行する。ステップS2708〜S2711夫々の処理の詳細については、図28〜図31を参照して説明する。ジョブ処理終了後、ステップS2712では実行済みのジョブ情報をNFCメモリ805から削除する。ジョブ情報削除後は再び、ステップS2705に戻り、ジョブ情報の取得、実行を行う。
図28はステップS2708における印刷ジョブの処理の詳細を示すフローチャートである。
ステップS2801では印刷に用いる画像データの所在を示す画像取得先情報を取得する。これは、例えば、ファイル所在情報2501のように画像データの所在を示した情報である。次に、ステップS2802〜S2804では夫々、画像データの取得、印刷部数の取得、印刷設定情報の取得を行い、これらをRAM704に記憶する。その後、ステップS2805において、印刷を開始する。
印刷後、ステップS2806では、CPU702は印刷していない画像データがあるかを調べ、そのような画像データある場合、処理はステップS2801へ戻り、ない場合は印刷ジョブ処理を終了する。これは1つの印刷ジョブで複数の画像を印刷することができる場合のステップであり、1つの印刷ジョブで1つの画像しか印刷できない場合はステップS2806は省略可能である。ここでは画像を印刷する例を説明したが、印刷の対象は画像に限らず、文書(ドキュメントデータ)等であってもよい。また、処理の順番もこの限りではなく、画像データの取得の前に部数設定や印刷設定情報を取得してもよい。
図29はステップS2710におけるスキャンジョブの処理の詳細を示すフローチャートである。
ステップS2901でスキャンジョブ情報から読取設定情報を取得する。読取設定情報は、読取原稿サイズや読取色(カラー、モノクロ)、読取データの保存形式等から成る。次に、ステップS2902では原稿台301に載置された原稿を読み取り、ステップS2903で原稿を読み取って得られたデータをRAM704へ記憶する。ステップS2904でそのデータを保存する保存先情報をスキャンジョブ情報から取得し、RAM704へ記憶する。保存先はMFP300の不揮発性メモリ705であってもよいし、サーバ装置101等のMFP300以外の装置であってもよい。ステップS2905では、ステップS2904で取得した保存先へ読取データを送信する。
図30はステップS2711におけるファクシミリ(FAX)ジョブの処理の詳細を示すフローチャートである。
ステップS3001では読取設定情報を取得する。ステップS3002では原稿台301に載置された原稿を読取、ステップS3003で読み取ったデータをRAM704へ記憶する。ステップS3004でファクシミリ送信先の電話番号等の送信先情報を取得し、ステップS3005で読取データを送信する。
図31はステップS2712における設定変更処理の詳細を示すフローチャートである。
ステップS3101で設定変更情報を取得する。設定変更情報とは、MFP300のLAN設定情報やファクシミリ送信先の電話帳等の情報であり、設定情報の保存領域906に記憶されている情報である。ステップS3102では設定変更項目を取得し、ステップS3103で設定情報の保存領域906に書き込む。例えば、LAN設定情報を変更する場合、設定情報の保存領域906の内、LAN設定情報が記憶されている領域のみに書き込む。
以上説明した実施例に従えば、MFPがハードオフ状態やソフトオフ状態の時でも携帯型通信端末装置からのジョブ情報をMFPに記憶することができ、MFP300が通常状態に移行した時点でそのジョブ情報を実行することができる。
なお、以上の実施例では、記録装置の電源がONになり、記録装置が通常状態に復帰したときに、携帯端末から印刷対象のデータを取得する例について説明したが、外部のサーバからデータを印刷対象のデータを取得してもよい。または、記録装置の内部メモリや記録装置に装着されたメモリからデータを取得してもよい。
さらに、記録装置が器を即座に行えない状況として、記録装置の電源がOFFである場合に限らず、スリープ状態である場合や、インク切れ等のエラー状態である場合等、他の状況であってもよい。
なお、以上の実施例では、ジョブにより実行される処理として、記録装置における記録を例に説明したが、これに限らず、種々の処理であってよい。
また、以上の実施例で説明した処理は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウエア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムを実行するコンピュータは1つであってもよいし、複数のコンピュータが協働してプログラムを実行するものであってもよい。さらに、プログラムの一部を実行する回路等のハードウェアを設け、そのハードウェアと、ソフトウェアを実行するコンピュータが協働して、本実施例で説明した処理を実行する場合であってもよい。