<第1実施形態>
図1に、本実施形態に係るシステム構成図の一例を示す。本実施形態のシステムは、例えば、音声制御デバイス1001、携帯端末1002、表示装置1003、印刷装置1004、アクセスポイント(AP)1005、サーバ1006(情報処理装置)で構成される。音声制御デバイス1001は、例えば、スマートスピーカなどである。携帯端末1002は、例えば、スマートフォン、ノートPC(Personal Computer)、タブレット端末、PDA(Personal Digital Assistant)等の任意の携帯端末である。なお、以下では、携帯端末1002はスマートフォンである。また、本実施形態は携帯端末だけでなくデスクトップタイプのPCでもよい。以下、携帯端末を端末装置と呼ぶこともある。表示装置1003は、例えばテレビ、ディスプレイ等の表示機能を有する装置である。印刷装置1004は、例えばプリンタであるが、複写機、ファクシミリ装置、デジタルカメラ等であってもよい。また、印刷装置1004は、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機であってもよい。なお、以下では、印刷装置1004は、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等のプリンタであるものとする。
音声制御デバイス1001、携帯端末1002、表示装置1003、印刷装置1004は、AP1005およびインターネットを介してサーバ1006に接続可能(通信可能)である。また、音声制御デバイス1001、携帯端末1002、表示装置1003、印刷装置1004は、AP1005を介して互いに接続可能(通信可能)である。
[音声制御デバイス1001の構成]
図2は、音声制御デバイス1001のハードウェア構成図である。音声制御デバイス1001は、スピーカ102、CPU103、ROM104、マイクロフォン105、RAM106、外部記憶装置107、通信部108、近距離無線通信部109を有する。なお、図2~図4および図8に示すブロックは、例えば内部バスを用いて相互に接続される。また、CPUはCentral Processing Unitの、ROMはReadOnly Memoryの、RAMはRandom Access Memoryの、頭字語である。なお、これらの構成は一例であり、各装置は、図示された以外のハードウェアを含んでもよい。また、図2~図4および図8における複数のブロックが1つのブロックにまとめられてもよいし、1つのブロックが2つ以上のブロックに分割されてもよい。すなわち、各装置は、後述するような処理を実行可能な範囲で任意の構成をとることができる。
スピーカ102は、後述する処理により音声を発する。CPU103は、システム制御部であり、音声制御デバイス1001の全体を制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みOS(Operating System)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行うために用いられる。マイクロフォン105は、音声制御デバイスの周囲の音声を受信する。例えば、ユーザが発した声を受信するRAM106は、例えば、バックアップ電源を必要とするSRAM(Static RAM)等で構成される。なお、RAM106は、不図示のデータバックアップ用の一次電池によってデータが保持されるため、プログラム制御変数等のデータを揮発させずに格納することができる。また、音声制御デバイス1001の設定情報や管理データ等を格納するメモリエリアもRAM106に設けられている。また、RAM106は、CPU103の主メモリ及びワークメモリとしても用いられる。外部記憶装置107は、アプリケーションソフトウェアを記憶する。
通信部108は、所定の無線通信方式に従って通信を行うための回路やアンテナを含んで構成される。例えば、通信部108は、AP1005に無線接続することができる。また、通信部108は、一時的に使用されるAPとして動作することもある。なお、AP1005は、例えば、無線LANルータ等の機器でありうる。本実施形態で使用される無線通信は、IEEE802.11規格シリーズに準拠した無線LANの無線通信方式に従って動作する能力を有してもよいし、他の無線通信方式に従って動作する能力を有してもよい。本実施形態において、IEEE 802.11規格シリーズとは、IEEE 802.11aやIEEE 802.11b等のように、IEEE 802.11に属する一連の規格を含む。
近距離無線通信部109は、音声制御デバイス1001と一定の範囲内(近距離範囲内)に存在する他の装置と近距離無線通信を実行する。なお、近距離無線通信部109は、通信部108と異なる無線通信方式によって通信を行う。本実施形態では、近距離無線通信部110は、Bluetooth(登録商標)規格に従って動作するものとする。また、本実施形態では、通信部108を用いた無線通信の通信速度は、近距離無線通信部109を用いた近距離無線通信の通信速度よりも速い。また、本実施形態では、通信部108を用いた無線通信の通信距離は、近距離無線通信部109を用いた近距離無線通信の通信距離よりも長い。なお、後述する他の装置の通信部および近距離無線通信部も同様である。
[携帯端末1002及び表示装置1003の構成]
図3は、携帯端末1002、表示装置1003のハードウェア構成図である。携帯端末1002、表示装置1003は、一例として、入力インタフェース202、CPU203、ROM204、表示部205、RAM206、外部記憶装置207、通史に部208、近距離無線通信部209を有する。なお、これらのブロックは、例えば内部バスを用いて相互に接続される。
CPU203は、システム制御部であり、装置の全体を制御する。RAM206は、例えばRAM106と同様に、バックアップ電源を必要とするDRAM(Dynamic RAM)等で構成される。RAM206は、CPU203の主メモリとワークメモリとしても用いられる。ROM204は、CPU203が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。
通信部208は、上述の通信部108と同様の機能を有し、AP1005を介して他の装置と無線接続することができる。近距離無線通信部209は、近距離無線通信部109と同じ無線通信方式を用いて、近距離無線通信部109との間で近距離無線通信を行うことができる装置である。
[印刷装置1004の構成]
図4は、印刷装置1004のハードウェア構成図である。印刷装置1004は、一例として、プリントエンジン402、通信部403、近距離無線通信部404、ROM405、RAM406、CPU407、表示部408を備える。
CPU407は、システム制御部であり、印刷装置1004の全体を制御する。RAM406は、例えばRAM106と同様に、バックアップ電源を必要とするDRAM(Dynamic RAM)等で構成される。RAM406は、CPU407の主メモリとワークメモリとしても用いられる。ROM405は、CPU407が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。
通信部403は、上述の通信部108と同様の機能を有し、AP1005を介して他の装置と無線接続することができる。近距離無線通信部404は、近距離無線通信部109と同じ無線通信方式を用いて、近距離無線通信部109との間で近距離無線通信を行うことができる装置である。
プリントエンジン402は、通信部403を介して受信した印刷ジョブに基づいて、インク等の記録剤を用いて紙等の記録媒体上に画像を形成し、印刷結果を出力する。
表示部408は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される操作パネルである。
[音声制御デバイス1001のセットアップ]
次に、図5を用いて、音声制御デバイス1001のセットアップについて説明する。図5は、携帯端末1002が、音声制御デバイス1001のセットアップのために表示する画面の例を示す模式図である。携帯端末1002には、予め音声制御デバイス用の管理アプリケーションがインストールされているものとする。
ユーザ操作により管理アプリケーションが起動されることで、画面501が携帯端末1002の表示部205に表示される。ここでユーザが画面501に記載されているメッセージに従って携帯端末1002の近距離無線通信部209(例えば、Bluetooth)を有効化する。音声制御デバイス1001が起動された場合、音声制御デバイス1001は特定の識別子を含むビーコンを発する。携帯端末1002は、管理アプリケーションを用いて音声制御デバイス1001が発するビーコンを受信した場合、画面503を表示する。画面503において「Yes」ボタンが押下された場合、携帯端末1002と音声制御デバイス1001との間で近距離無線接続が確立する。
携帯端末1002と音声制御デバイス1001との間の近距離無線接続が確立された場合、画面504が携帯端末1002の表示部205に表示される。ここで、ユーザが、画面504の「Yes」ボタンを押下した場合、音声データが携帯端末1002から音声制御デバイス1001に近距離無線接続を介して送信され、音声制御デバイス1001のスピーカ102から音声が出力される。ここで音声制御デバイス1001から音声が出力された場合、ユーザは画面504の次に表示される「テスト完了ボタン」を押下することで、画面505が携帯端末1002の表示部205に表示される。
画面505で、ユーザは、音声制御デバイス1001を接続したいAPのSSIDとパスワードを画面505に入力し、接続ボタンを押下する。基本的には、ユーザは、画面505を使って携帯端末1002が通信部208を用いて既に無線接続しているAP1005(無線接続中のAP1005)のSSIDとパスワードを入力する。この処理により、携帯端末1002が近距離無線接続を介してSSIDとパスワードを音声制御デバイス1001に送信する。音声制御デバイス1001は、近距離無線接続を介して受信したSSIDとパスワードを使って、AP1005と無線接続を確立する。つまり、音声制御デバイス1001は、AP1005が構築するネットワークに参加する。以上の処理により、音声制御デバイス1001と携帯端末1002とがAP1005を介して(AP1005が構築するネットワークを介して)無線通信することが可能となる。
続いて、ユーザは、携帯端末1002に表示される画面506を使ってサーバ1006へログインするためのユーザIDとパスワードを入力する。なお、画面506において入力されたユーザIDとパスワードが、近距離無線接続またはAP1005を介して携帯端末1002から音声制御デバイス1001に送信される。音声制御デバイス1001は、携帯端末1002から受信したユーザIDとパスワードを使ってサーバ1006にサインインする。この際、音声制御デバイス1001は、自らのMacアドレスも送信する。これにより、音声制御デバイス1001は、サーバ1006がユーザに提供するサービスを使用することが可能となる。つまり、サーバ1006は、音声制御デバイス1001のMacアドレスとユーザIDとを関連付けて管理する。ここで音声制御デバイス1001は、サーバ1006のアクセストークンを受信しても構わない。
ユーザは、画面506に続いて表示される画面507を使って音声制御デバイス1001を使って制御したいデバイスを選択する。ここでは、画面507に示すとおり、ユーザが、表示装置1003と印刷装置1004とを選択したものとする。画面507に表示される装置は、携帯端末1002が、AP1005を介してネットワーク内のデバイス(装置)を探索することで表示される。この際、デバイスの探索処理の結果として、携帯端末1002は、デバイス探索の際に各装置のMacアドレス、IPアドレスなどを取得する。そのため、画面507においてOKボタンが押下された場合、携帯端末1002は、各装置のMacアドレス、IPアドレスを音声制御デバイス1001に送信する。
なお、別の方法を用いて音声制御デバイス1001のセットアップが行われても良い。例えば、音声制御デバイス1001を起動した(またはセットアップモードを有効化した)場合、音声制御デバイス1001の通信部108がソフトウェアAPとして動作することによりセットアップが行われてもよい。具体例として、例えば、画面501において「Bluetoothを使わずに接続」502が押下された場合、携帯端末1002は、通信部208を使って、音声制御デバイス1001のソフトウェアAP機能により音声制御デバイス1001との間で無線接続を確立する。なお、この際、携帯端末1002の通信部208が外部のAP1005に既に接続されていたら、画面508に示すとおり、携帯端末の通信部208の接続先を音声制御デバイス1001の通信部108のソフトウェアAPに切り換える。つまり、ユーザの操作または管理アプリケーションの指示に従って、携帯端末の通信部208の接続先を、AP1005から音声制御デバイス1001の通信部108のソフトウェアAPに一時的に切り換える。このような制御により、携帯端末1002の通信部208と音声制御デバイス1001の通信部108間で無線接続が確立された場合、画面509が表示される。
なお、以降の処理として、携帯端末1002の通信部208と音声制御デバイス1001の通信部108間で確立された無線接続を介して、画面505に入力された情報(SSID、パスワード等)が送信される。その後、携帯端末1002と音声制御デバイス1001は、AP1005を介して無線通信をするために、携帯端末1002は接続先をAP1005に切り替える。また、音声制御デバイス1001も、ソフトウェアAPを無効化し、通信部108を使ってAP1005と無線接続する。
上述したように音声制御デバイス1001は、音声制御デバイスが備えるアクセスポイントを介した無線通信により携帯端末1002から外部のアクセスポイントであるAP1005に関する情報(SSID、パスワード等)を受信可能である。さらに、音声制御デバイス1001は、近距離無線通信を介して携帯端末1002から外部のAP1005に関する情報(SSID、パスワード等)を受信する受信処理を実行可能である。音声制御デバイス1001は、上述した2つの受信処理機能のうちいずれか一方のみの受信処理機能を備えていても良いし、両者の受信処理機能を備えていても良い。また、音声制御デバイス1001は、他の受信処理機能により、外部のアクセスポイント1005へ接続して無線通信を確立しても構わない。
[サーバ1006への印刷装置1004のサインイン処理]
次に、印刷装置1004がサーバ1006にサインインするための処理について説明する。例えば、インターネットには、音声制御デバイス1001に対応するサーバ1006と、音声制御デバイス1001に対応しないサーバ1007が存在する。音声制御デバイス1001と印刷装置1004が連携するためには、印刷装置1004はサーバ1007ではなく、サーバ1006にサインインする必要がある。
そこで印刷装置1004は、音声制御デバイス連携モードを備える。この音声制御デバイス連携モードが有効化された場合、印刷装置1004は、自らが参加しているネットワークに対してデバイス探索を行い、音声制御デバイスを発見する。デバイス探索の結果、音声制御デバイス1001が発見されたことを通知するため、図6に示す画面601が印刷装置1004の表示部408に表示される。ユーザが、画面601においてOKボタンを押下した場合、画面602が印刷装置1004の表示部408に表示される。なお、デバイス探索により取得される情報としては、例えば、音声制御デバイス1001に対応するサーバ1006のURLが含まれる。印刷装置1004は、このURLを使用することでサーバ1006にサインインするための画面602を表示できる。そして、印刷装置1004は、画面602に入力された情報(ユーザID及びパスワード)を使ってサーバ1006にサインインすることができる。以上の処理により、印刷装置1004は、サーバ1006で管理されている画像データを扱うことが可能となる。
また、印刷装置1004がデバイス探索を行うことによりサーバ1007に対応可能な音声制御デバイスが発見された場合、印刷装置1004は、サーバ1007にサインインするための画面を表示するとよい。
なお、印刷装置1004がサーバ1006にサインインするための処理として別の処理が実施されても良い。別の処理の一例について説明する。まず、携帯端末1002が、サーバ1006へのサインインが完了している状態とする。例えば、ユーザは、上述した画面506を使ってサーバ1006へサインインしているものとする。そして、携帯端末1002がAP1005を介して印刷装置1004を発見した場合、携帯端末1002は、印刷装置1004の識別情報と登録ボタンを表示する。例えば、画面507の印刷装置の隣に登録ボタンが表示されても良い。ここでユーザが登録ボタンを押下した場合、登録リクエストが携帯端末1002から印刷装置1004に送信される。なお、この登録リクエストにはサーバ1006の宛先情報が含まれている。
印刷装置1004は、登録リクエストを受けると印刷装置1004の表示部408にプリンタの登録処理を実行するか否かの選択画面を表示する。ここで、ユーザが登録処理の実行を選択した場合、印刷装置1004は、登録リクエストに含まれる宛先情報に従ってサーバ1006へ印刷装置1004のMacアドレスを含む登録リクエストを送信する。そして、印刷装置1004は、この登録リクエストに対するレスポンスをサーバ1006から受信する。なお、このレスポンスには印刷装置1004の登録処理に関わるURLが含まれる。つまり、このURLは、印刷装置1004の登録処理に関わる専用URLである。
印刷装置1004は、サーバ1006から受信したレスポンスを携帯端末1002へ送信する。携帯端末1002は、受信したレスポンスに含まれるURLを使って登録リクエストをサーバ1006へ送信する。この登録リクエストには、既に携帯端末1002においてサーバ1006にサインインするために入力されたユーザIDおよびパスワードも含まれる。この登録リクエストを受信したサーバ1006は、正しいユーザIDとパスワードを受信した場合、登録リクエストが成功したことを示すレスポンスを携帯端末1002へ送信する。つまり、サーバ1006は、印刷装置1004の登録処理に関わる専用URLを使って登録リクエストを受信したため、この時点で携帯端末1002にサインインしたユーザ用の印刷装置として印刷装置1004を仮登録する。つまり、サーバ1006は、ユーザIDと印刷装置1004のMacアドレスを関連付けて管理する。携帯端末1002は、登録が完了したことを示す完了情報を印刷装置1004へ送信する。印刷装置1004は、完了情報を受信した場合、印刷装置1004のMacアドレスを含む登録リクエストをサーバ1006へ送信する。サーバ1006は、印刷装置1004が仮登録状態であることを識別し、登録完了レスポンスを返す。
以上の処理により、サーバ1006は、携帯端末1002にサインインしたユーザ用の印刷装置として印刷装置1004を本登録する。印刷装置1004は、登録完了レスポンスをサーバ1006から受信した場合、登録完了を示す情報を携帯端末1002へ送信する。以上の処理により、印刷装置1004がサーバ1006で管理されている画像データを扱うことが可能となっても良い。
[印刷指示の処理フロー]
次に、図7を用いて音声制御デバイス1001を介して印刷装置1004へ印刷指示を行う処理を説明する。図7は、音声制御デバイス1001が、ユーザから発せられた声による印刷指示によって印刷装置1004が印刷処理を実行するための処理を説明するシーケンス図である。本処理は、対応するプログラムを各装置のCPUが実行することで、対応する機能が実現される。なお、表示装置1003も既にサーバ1006にサインインしているものとする。また、後述する写真Aに対応する画像データは、サーバ1006によりユーザ用に保存されているとする。
まず、ユーザは、音声制御デバイス1001の近辺で、予め決められているキーワードであるウェイクワードを話し、続いてユーザ自身が行いたいことを話す。例えば、ユーザは、ウェイクワードに続いて「写真Aを表示して」と話す。音声制御デバイス1001は、ウェイクワードの音声を受信することで、続いて話される音声を受信する。つまり、音声制御デバイス1001は「写真Aを表示して」という音声を受信する。
音声制御デバイス1001は、音声制御デバイス1001の識別情報(例えば、Macアドレス等)と受信した音声に基づく音声データをサーバ1006へ送信する(701)。
サーバ1006は、音声制御デバイス1001のMacアドレスから、当該Macアドレスに関連づけられているユーザIDを特定することで、音声制御デバイスがサインイン済みのデバイスであることを認識する。また、上述したアクセストークンが使用されても良い。そして、サーバ1006は、音声制御デバイス1001から送信された音声データを解析し、音声データに基づく制御コマンドを生成し(702)、音声制御デバイス1001に送信する(703)。なお、この制御コマンドには、実行すべき処理内容として表示処理コマンドと、表示対象となる写真Aに対応する画像データの保存場所を示す情報が含まれている。
音声制御デバイス1001は、サーバ1006から受信した制御コマンドの送信対象を選択する。ここでは、ユーザからの要求として、ユーザは「写真Aを表示して」と話しているため、音声制御デバイス1001は、表示装置1003を送信先として選択する。音声制御デバイス1001は、選択された表示装置1003に制御コマンドを送信する(704)。なお、音声制御デバイス1001は、サーバから受信した制御コマンドを704にて送信しているが、別のコマンドを送信しても構わない。つまり、音声制御デバイス1001が、703において受信した制御コマンドに基づいて別のコマンドを生成し、その生成された別のコマンドを表示装置1003に送信しても良い。以降においても、音声制御デバイスが制御コマンドを送信する処理が記載されているが(例えば、図10の704等)、同様に制御コマンドに基づいて生成された別のコマンドが送信されても構わない。その場合、コマンドを受けた装置は、別のコマンドに従った処理を実行可能である。
表示装置1003は、制御コマンドに従った処理を実行する。表示装置1003は、まず制御コマンドに含まれる保存場所にアクセスし、保存場所から写真Aに対応する画像データを取得する(705)。そして、表示装置1003は、写真Aに対応する画像データAを表示する(706)。なお、表示装置1003は、制御コマンドに写真Aに対応するURLが含まれる場合、そのURLにアクセスすることで写真Aを含むWebページを表示しても構わない。
表示装置1003に写真Aに対応する画像データが表示された状態で、ユーザは、音声制御デバイス1001の近辺で、ウェイクワードを話し、続いてユーザ自身が行いことを話す。例えば、ユーザは、ウェイクワードに続いて「表示装置1003に表示されている写真Aを印刷して」と話す。
音声制御デバイス1001は、ウェイクワードの音声を受信することで、続いて話されるワードの受付を行う。つまり、音声制御デバイス1001は「表示装置1003に表示されている写真Aを印刷して」という音声を受信することで、音声で印刷指示を受け付ける。
音声制御デバイス1001は、音声データをサーバ1006へ送信する(707)。なお、基本的な処理は701と同じである。
サーバ1006は、音声制御デバイス1001から送信された音声データを解析し、音声データに基づく処理を実行する。サーバ1006は、「表示装置1003に表示されている写真Aを印刷して」という音声の音声データを受信しているため、写真Aに対応する画像データに基づいて印刷データを生成する(708)。
なお、ユーザからの印刷指示として、上述の「表示装置1003に表示されている写真Aを印刷して」という単純な指示の場合、印刷設定に関する情報が含まれていない。すなわち、印刷装置1004が写真Aを印刷する際の、印刷枚数、印刷サイズ、印刷向き、ページレイアウト(ページ割り付け)、両面・片面印刷等の印刷設定が指示に含まれていない。本実施形態では、音声制御デバイス1001は、音声データ解析の結果、音声データ中に印刷設定に関する情報が含まれていない場合、画像の印刷設定として、所定の印刷設定を使用する。詳細については図9を用いて後述する。
また、本実施形態では、処理708として、サーバ1006とは異なる別のサーバが印刷データを生成しても良い。例えば、印刷装置1004の製造元が、印刷データを生成するソフトウェアを備えた印刷サーバを提供する。そして、サーバ1006は、印刷サーバに印刷データの生成を依頼し、印刷サーバが印刷データを生成しても良い。
サーバ1006は、印刷データの生成が完了すると、印刷データの生成が完了したことを示す通知を印刷装置1004へ送信する(709)。
印刷装置1004は、印刷データの生成が完了したことを示す通知を受信した場合、サーバ1006にアクセスし、印刷データを取得して(710)、印刷を実行する(711)。
印刷装置1004は、印刷処理が完了すると印刷完了通知をサーバ1006へ送信し(712)、サーバ1006は、印刷完了通知を音声制御デバイス1001へ送信する(713)。
音声制御デバイスは、印刷完了通知を受信した場合、音声にて印刷完了を通知する(714)。
[サーバ1006の構成]
図8は、サーバ1006のハードウェア構成図である。サーバ1006は、CPU801、ROM802、RAM803、外部記憶装置804、通信部805を有する情報処理装置である。CPU801は、システム制御部であり、サーバ1006の全体を制御する。なお、本実施形態では、サーバ1006が1台で構成されているが、複数台の情報処理装置が連携して動作することでサーバ1006に対応するサーバシステムを構築しても構わない。ROM802は、CPU801が実行する制御プログラムやデータテーブル、組み込みOS(Operating System)プログラム等の固定データを格納する。RAM106は、不図示のデータバックアップ用の一次電池によってデータが保持されるため、プログラム制御変数等のデータを揮発させずに格納することができる。外部記憶装置804は、アプリケーションソフトウェアを記憶する。なお、図7では、上述したようにサーバ1006が印刷データを生成する。そのため、サーバ1006の外部記憶装置804は、印刷装置1004が解釈可能な印刷データを生成する印刷ソフトウェアを記憶する。通信部805は、所定の無線通信方式に従って通信を行うための回路やアンテナを含んで構成される。
[音声制御デバイス1001とサーバ1006の処理の詳細]
次に、印刷指示を行う場合の音声制御デバイス1001とサーバ1006の処理について図9(A)を用いて説明する。図9(A)のフローチャートは、図7の処理707~処理714に対応する。なお、音声制御デバイス1001では、CPU103がフローチャートの処理に関わるプログラムをメモリから読みだして実行することで音声制御デバイス1001の処理が実行される。一方、サーバ1006では、CPU801がフローチャートの処理に関わるプログラムをメモリから読みだして実行することでサーバ1006の処理が実行される。
CPU103は、音声制御デバイス1001の周辺でユーザにより発せられた言葉(音声)を入力し(S901)、入力した音声に基づいて音声データを生成する。そして、音声データが音声制御デバイス1001からサーバ1006へ送信される(S902)。
CPU801は、音声データを受信すると音声データを解析し、ユーザのリクエストを特定する。サーバ1006は、例えば「表示装置1003に表示されている写真Aを印刷して」というユーザリクエストに対応した音声データを受信し、音声データ内に印刷設定に関する情報が含まれているかを判定する(S903)。
CPU801は、音声データ内に印刷設定に関する情報が含まれている場合、音声データ内に含まれる印刷設定に関する情報を取得する(S904)。一方、音声データ内に印刷設定に関する情報が含まれていない場合、CPU801は、所定の印刷設定に関する情報を取得する(S905)。ここでは、所定の印刷設定に関する情報として、あらかじめサーバに登録されている印刷設定に関する情報(値)を取得する。
S906では、CPU801は、音声データに基づき、表示装置1003に表示されている写真Aに対応する画像データを特定し、取得された印刷設定に関する情報を適用して、その画像データに基づく印刷データを生成する。
次に、CPU801は、印刷処理を実行するプリンタを選択する(S907)。本実施形態では、CPU801は、音声制御デバイス1001のMacアドレスに関連づいているユーザIDを特定する。そして、サーバ1006は、そのユーザIDに関連付けて管理されている印刷装置1004を特定する。以上の処理により、S907が実現される。
CPU801は、S904において選択したプリンタ(印刷装置1004)に対して印刷データの生成が完了したことを示す通知を印刷装置1004へ送信する(S908)。その後、CPU801は、印刷装置1004から印刷完了通知を受信したかを判定する(S909)。
S906において、印刷装置1004から印刷完了通知を受信した場合、CPU801は、印刷指示元である音声制御デバイス1001に印刷完了通知を送信する。
CPU103は、印刷完了通知を受信した場合、音声にて印刷完了を通知する。具体的には、CPU103は、印刷完了通知を音声に変換し、スピーカ102を用いて印刷完了を音声で出力する。
以上の処理により、ユーザは、簡易な操作で所望の写真を印刷することが可能となる。特に、ユーザの音声での指示の中に印刷設定に関する指示が含まれていない場合でも、所定の印刷設定を適用することで印刷データが生成される。
[変形例]
本実施形態では、音声データ内に印刷設定に関する情報が含まれていない場合、所定の印刷設定で印刷することをユーザに確認してもよい。具体的には、サーバ1006が音声データ内に印刷設定に関する情報が含まれていないと判定した場合、サーバ1006は、所定の印刷設定で印刷することを音声制御デバイス1001にユーザに通知させるための制御コマンドを生成する。そして、サーバ1006は、制御コマンドを音声制御デバイス1001へ送信し、音声制御デバイス1001は、受信した制御コマンドに従って、所定の印刷設定で印刷する旨、ユーザに音声で通知する。例えば、「写真Aを、L判の写真用紙に、~(中略)~の設定で1枚、印刷します。」と読み上げる。なお、印刷データ生成のために必要な印刷設定の項目は、複数の項目からなる。よって、全てを読み上げると冗長となるため、音声で読み上げる印刷設定項目は一部の代表的な設定項目のみとしてもよい。また、「写真Aを、L判の写真用紙に、~(中略)~の設定で1枚、印刷しますが、よいですか?」という質問形式のように、所定の印刷設定で印刷してよいかどうかをユーザに問うようにしてもよい。質問形式の場合、質問に対するユーザからの応答を受けて、印刷設定を確定又は変更するとよい。つまり、ユーザから印刷設定を承認する返答(例えば「OK」との返答)があった場合、音声制御デバイス1001は、その音声データをサーバ1006に送信し、サーバ1006は印刷設定を確定する。一方、ユーザから異なる印刷設定を指示する返答があった場合(例えば「2枚印刷して」との返答)があった場合、音声制御デバイス1001はその音声データをサーバ1006へ送信する。そしてサーバ1006は、変更指示があった部数設定の項目のみ印刷設定を変更する。なお、印刷設定の変更があった場合、サーバ1006は、音声制御デバイス1001に変更後の印刷設定を音声でユーザに通知させてもよい。
また、音声ではなく、表示により、ユーザに印刷設定を通知してもよい。つまり、サーバ1006は、制御コマンドを表示装置1003に送信し、適用する印刷設定を表示装置1003に表示させてもよい。これにより、ユーザはどのような印刷設定で印刷が行われるかを容易に把握することが可能となる。なお、表示装置1003に表示された画面上で、ユーザが印刷設定を変更可能となるように構成してもよい。具体的には、サーバ1006が印刷設定画面のデータを保持し、その印刷設定の画面データをサーバ1006から表示装置1003が取得することにより、表示装置1003は印刷設定画面を表示する。これにより、ユーザはその画面を見ながら、印刷設定を行うことが可能となる。
また、サーバ1006が印刷データを生成するために必要な印刷設定の項目は、上述したとおり複数の項目からなる。図13に印刷設定の項目を例示する。このように多くの印刷設定項目がある場合、ユーザによっては一部の設定項目のみを音声で指定する可能性がある。具体的には、「写真Aを、L判で1枚印刷して」との指示のように、代表的な設定項目のみを指示する可能性がある。そこで、本実施形態では、必要な印刷設定の項目ごとに、音声データ中に情報が含まれているかを確認し、含まれてない項目についてのみ所定の印刷設定の値を適用することが好ましい。図9(B)を用いて本処理のフローを説明する。図9(B)において、S901及びS902の処理は図9(A)と同様である。CPU801は、S903において、音声データ中に印刷設定に関する情報が含まれているかを判定する際に、必要な印刷設定の項目の全てが含まれているか判定する。つまり、音声データ内に含まれる印刷設定項目と含まれない印刷設定項目を特定する。CPU801は、全ての項目が音声データ内に含まれている場合は、図9(A)同様に音声データ内の印刷設定に関する情報を取得する(S904)。一方、CPU801は、一部の印刷設定項目が音声データに含まれていない場合は、含まれていない項目(足りない項目)のみあらかじめ登録された所定の設定値を取得し、音声データに含まれている項目は音声データからその情報を取得する。さらに、音声データ中に1つも印刷設定に関する情報が含まれていない場合は、CPU801は、全ての項目について、あらかじめ登録された所定の設定値を取得する。以降の処理は図9(A)と同様であるため省略する。このような処理により、ユーザが一部の印刷設定項目についてのみ指示した場合にも対応することが可能となる。
また、本実施形態のサーバ1006は、図14に示すように、所定の印刷設定として複数の印刷設定を備えていてもよい。具体的には、印刷対象のデータ種類に応じて異なる印刷設定を備えているとよい。例えば、写真と文書(Microsoft Word等の文書作成ソフトウェアで生成した文書)とでは、好ましい設定や一般的な設定は異なる。よって、サーバ1006には、データ種類毎に異なる、複数の印刷設定を登録しておくことが好ましい。そして、サーバ1006は、S904において、音声データ内に印刷設定に関する指示が含まれていない場合、印刷対象のデータ種類を識別する。例えばデータファイルの拡張子を基に識別することができる。この識別結果に基づき、サーバ1008のメモリ内から、識別されたデータ種類に対応する印刷設定を取得するとよい。例えば、データ種類が「写真」の場合は、「印刷設定1」が選択され、データ種類が「文書」の場合は、「印刷設定2」が選択される。
さらに、本実施形態のサーバ1006は、データ種類によらず、複数の印刷設定を備えていてもよい。例えば、ユーザにより音声で「文書Bを、ファインアート紙に印刷して」と指示されたとする。この場合、ユーザとしては印刷スピードよりも美しい刷り上がりを重視していることが想定される。しかしながら、図14において文書用の印刷設定である「印刷設定2」は、「印刷品質:標準」、「両面・片面設定:両面」、「ページレイアウト:2ページ/枚」となっている。よって、指示されていない印刷設定の項目をこのまま適用するとユーザの想定と異なる仕上がりになる可能性がある。そこで、本実施形態のサーバ1006は、1つのデータ種類に対して、少なくとも一部の項目の設定情報(設定値)が異なる複数の印刷設定を備えることが好ましい。特に、用紙種に応じて、印刷品質、カラー設定、両面・片面設定等が異なる複数の印刷設定を備えることが好ましい。例えば、図14の印刷設定1、2に加えて、「文書用」の別の印刷設定として、「用紙種類:ファインアート紙」、「印刷品質:きれい」、「両面・片面設定:片面」、「ページレイアウト:1ページ/枚」と登録された「印刷設定3」を備える。このように複数の印刷設定を登録しておくことで、ユーザから「文書Bを、ファインアート紙に印刷して」と指示された場合でも、サーバ1006は、それに対応する設定値を有する「印刷設定3」を選択して取得することができる。なお、データ種類を参照せず、単に音声指示に含まれる用紙種類の情報に基づいて、用紙種類ごとに印刷設定を備えてもよい。このように、ユーザから一部の印刷設定項目のみが指示された場合でも、サーバ1006は、登録された複数の印刷設定のうち、指示に対応する設定情報を含む印刷設定を選択することができる。よって、よりユーザの意図に沿った印刷データの生成が可能となる。
また、本実施形態において、「所定の印刷設定」の登録値はユーザ指示により変更可能であることが好ましい。所定の印刷設定は、印刷装置1004もしくはサインインするサーバ1006に応じて決まっており、変更しない限りは初期設定としてデフォルトの印刷設定が登録されている。ユーザは、このデフォルトの印刷設定を変更したい場合、音声制御デバイス1001に音声で指示することで音声データがサーバ1006に送付され、サーバ1006内の印刷設定が変更される。また、携帯端末1002等の端末装置を介してサーバ1006内の印刷設定を変更してもよい。
また、音声制御デバイス1001が、「表示装置1003に表示されている写真Aを印刷して」という声から印刷をリクエストしたユーザ名を特定できる場合、そのユーザ名を付加して音声データを生成しても構わない。この処理により、例えば、印刷装置1004は、印刷処理711の実行中または印刷履歴としてユーザ名を表示することができる。
また、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが、音声制御デバイス1001の近辺で、まずはウェイクワードを話し、ユーザ自身が行いことを話すことにより、その内容を反映することもできる。例えば、ユーザは、ウェイクワードに続いて「もう1枚」や「追加で3部印刷」のように部数の追加指示を話す。
この部数の追加指示を受けた音声制御デバイス1001は、処理707で送信された音声データを再度送信しても良い。なお、「もう1枚」や「追加で3部印刷」に対応する音声データも合わせて送信される。サーバ1006は、この2つの音声データを受信することで、処理708と同様の印刷データ生成処理を行う。そして、サーバ1006は、部数について、新規のリクエストの音声データに基づいて設定する。この処理により、ユーザは容易に同じ画像データを使った再印刷を指示できる。さらに、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが、音声制御デバイス1001の近辺で、まずはウェイクワードを話し、ユーザ自身が行いことを話すことにより、その内容を反映することもできる。例えば、ユーザは、ウェイクワードに続いて「もっと大きい用紙に印刷して」と話す。この指示を受けて音声制御デバイス1001は、処理707で送信された音声データを再度送信しても良い。なお、「もっと大きいサイズに印刷して」に対応する音声データも合わせて送信される。サーバ1006は、この2つの音声データを受信することで、処理708と同様の印刷データ生成処理を行う。そして、サーバ1006は、用紙サイズについて、新規のリクエストの音声データに基づいて設定する。この処理により、ユーザは、同じ画像データを異なるサイズの用紙に印刷することを容易に指示できる。なお、後述するように別の装置が印刷データを生成する場合は、印刷データを生成する装置が、同様の処理を行っても良い。
また、音声での指示中に印刷速度に関連する指示が含まれていた場合、サーバ1006は、この指示に基づき適用する印刷設定を変更してもよい。具体的には、ユーザから「急いで印刷して」というような指示があった場合、サーバ1006は速く印刷を完了する必要があると判断し、速度優先のモードで印刷するよう設定を変更するとよい。具体的には、登録済みの印刷設定が「印刷品質」の項目が「きれい」に対応する設定値であったとしても、「標準」に対応する設定値に変更するとよい。
また、サーバ1006は、過去に受け付けた印刷指示中の設定値を解析することにより、ユーザの印刷設定に関する好みを反映するようにしてもよい。具体的には、デフォルトで登録されているページレイアウトの印刷設定が、1枚に1ページ分を割り付ける設定であったとしても、ユーザが1枚に2ページ分を割り付ける設定を多用している場合は、これを反映するとよい。つまり、登録されているページレイアウトの項目の設定値を「1ページ/枚」に対応する設定値に変更するとよい。 また、プリンタ1004又はサーバ1006は、印刷に関する音声キーワードを保存したメモリを備えてもよい。そして、音声制御デバイス1001は、プリンタ1004又はサーバ1006からこの音声キーワードをダウンロードする。これにより、音声制御デバイス1001は、印刷指示に関するユーザの音声を正確に解釈して音声データを生成することができるため、音声制御デバイス1001は、印刷に関する用語に強くなり、よりユーザの意図に即した印刷を実行することが可能となる。
<第2実施形態>
次に、第2実施形態について説明する。実施形態1では図7および図9で説明したとおり、サーバ1006が印刷データを生成し、サーバ1006からの印刷データの生成が完了したことを示す通知を使って印刷装置1004が印刷する例について説明した。本実施形態では、音声制御デバイス1001が印刷データを生成する例について説明する。なお、以降の説明では第1実施形態の共通する部分は説明を省略し、第1実施形態と異なる部分を中心に説明する。
図10は、印刷処理を説明するシーケンス図である。なお、処理701-706は図7と同じであるため詳細な説明は省略する。また、図10および図11では音声制御デバイス1001が印刷データを生成する。そのため、音声制御デバイス1001の外部記憶装置107は、印刷装置1004が解釈可能な印刷データを生成する印刷ソフトウェア、通信に必要な情報等を記憶する。
音声制御デバイス1001は、ウェイクワードの音声を受信することで、続いて話されるワードを受信する。つまり、音声制御デバイス1001は「表示装置1003に表示されている写真Aを印刷して」という音声を受信する。
音声制御デバイス1001は、音声データをサーバ1006へ送信する(707)。
サーバ1006は、音声制御デバイス1001から送信された音声データを解析し、音声データに基づく処理を実行する。サーバ1006は、「表示装置1003に表示されている写真Aを印刷して」という音声の音声データを受信している。そのため、サーバ1006は、写真Aに対応する画像データを印刷するための制御コマンドを生成する(1002)。
サーバ1006は、処理1002で生成された制御コマンドを音声制御デバイス1001に送信する(1003)。
音声制御デバイス1001は、制御コマンドに従った処理を実行する。写真Aに対応する画像データを取得して印刷する指示が制御コマンドに含まれているため、音声制御デバイス1001は、サーバ1006から写真Aに対応する画像データを取得する(1004)。
音声制御デバイス1001は、取得した画像データと印刷設定情報に基づいて印刷データを生成する(1005)。なお、実施形態1と同様に、ユーザからの印刷指示として、「表示装置1003に表示されている写真Aを印刷して」という単純な指示の場合、印刷設定に関する情報が含まれていない。よって、本実施形態でも第1実施形態と同様に、音声での指示の中に印刷設定に関する情報が含まれていない場合、画像の印刷設定として、所定の印刷設定を使用する。具体的には、制御コマンド内に印刷設定に関する情報は含まれていない場合、音声制御デバイス1001は、あらかじめ音声制御デバイス1001に登録された所定の印刷設定を適用して印刷データを生成する。なお、印刷設定に関する情報が含まれているかどうかの判定は音声制御デバイス1001ではなくサーバ1006が行ってもよい。この場合、サーバ1006は、音声制御デバイス1001からの音声データ内に印刷設定に関する情報が含まれているかを判定する。そして、印刷設定に関する情報が含まれていない場合は、サーバ1006にあらかじめ登録された所定の印刷設定を適用して制御コマンドを生成するとよい。音声制御デバイス1001は、その制御コマンド内に含まれる印刷設定に基づき、印刷データを生成することができる。
音声制御デバイス1001は、処理1005で生成した印刷データを印刷装置1004へ送信する(1006)。
印刷装置1004は、印刷データに基づく印刷処理が完了すると(1007)、印刷完了通知を音声制御デバイス1001に送信する。
音声制御デバイス1001は、印刷完了通知を受信した場合、音声にて印刷完了を通知する(1009)。
[音声制御デバイス1001の処理の詳細]
次に図11を用いて音声制御デバイス1001の処理を説明する。図11のフローチャートは、図10の処理1001-処理1009に対応する。
なお、図11のS1101-S1102は、図9のS901-S902と同じ処理であるため詳細な説明は省略する。
CPU103は、サーバ1006から制御コマンドを受信する(S1103)。CPU103は、受信した制御コマンドを解析し、次に実行すべき処理を特定する。制御コマンドに写真Aの画像データを取得する指示と、画像データの印刷指示が含まれている。よって、CPU103は、サーバ1006から画像データを取得し、印刷データを生成する(S1104)。なお、S1104では、実施形態1におけるサーバ1006の処理と同様に、ユーザからの音声での指示内に印刷設定に関する情報が含まれているかどうか判定し、含まれていない場合は所定の印刷設定を適用する処理を行うとよい。具体的には、CPU103は、制御コマンドを解析し、制御コマンド内に印刷設定に関する情報が含まれているかを判定する。そして、CPU103は、制御コマンド内に印刷設定に関する情報が含まれている場合、制御コマンド内に含まれる印刷設定に関する情報を取得する。一方、制御コマンド内に印刷設定に関する情報が含まれていない場合、CPU103は、所定の印刷設定に関する情報を取得する。ここでは、所定の印刷設定に関する情報として、音声制御デバイス1001にあらかじめ登録されている印刷設定に関する情報(値)を取得する。そして、取得した印刷設定に関する情報を適用して印刷データを生成する。なお、印刷設定に関する情報が含まれているかどうかの判定は音声制御デバイス1001ではなくサーバ1006が行ってもよい。この場合、サーバ1006は、音声制御デバイス1001からの音声データ内に印刷設定に関する情報が含まれているかを判定する。そして、印刷設定に関する情報が含まれていない場合は、サーバ1006にあらかじめ登録された所定の印刷設定を適用して制御コマンドを生成する。よって、音声制御デバイス1001は、その制御コマンド内に含まれる印刷設定に基づき、印刷データを生成することができる。
CPU103は、印刷データを印刷装置1004へ送信する(S1105)。ここでCPU103は、上述した図5の画面507を介した指示に従って、音声制御デバイス1001の制御対象となる装置として表示装置1003と印刷装置1004を登録している。そのためCPU103は、この登録に従って印刷データの送信先を印刷装置1004に決定する。
CPU103は、印刷完了通知を受信したか否かを判定し(S1106)、印刷完了通知を受信した場合、印刷が完了したことを音声にて通知する(S1107)。
以上の処理により、ユーザは、簡易な操作で所望の写真を印刷することが可能となる。また、サーバ1006の負荷を軽減することも可能となる。
なお、上述の例では、所定の印刷設定に関する情報が音声制御デバイス1001に登録されている例を説明したが、サーバ1006が所定の印刷設定に関する情報を保持してもよい。つまり、サーバ1006は処理1001において音声制御デバイス1001からの音声データ内に印刷設定に関する情報が含まれているかを判定する。そして、サーバ1006は音声データ内に印刷設定に関する情報が含まれていないと判定した場合、サーバ1006にあらかじめ登録された所定の印刷設定に関する情報を制御コマンドに含める。そして、音声制御デバイス1001に送信する。音声制御デバイス1001は、受信した制御コマンドに従い印刷データを生成するとよい。
また、本実施形態においても、第1実施形態の[変形例]に記載されたサーバ1006の印刷設定に関係する処理を音声制御デバイス1001に置き換えることで、第1実施形態の[変形例]の各例と同様の処理を実行することができる。以下、変形例についても、第1実施形態と同様の処理については説明を省略し、第1実施形態と異なる部分を主に説明する。
本実施形態においても、音声での印刷指示の中に印刷設定に関する情報が含まれていない場合、所定の印刷設定で印刷することをユーザに確認してもよい。具体的には、音声制御デバイス1001が、ユーザによる音声での印刷指示又は制御コマンドの中に、印刷設定に関する情報が含まれていないと判定した場合、音声制御デバイス1001が所定の印刷設定で印刷することをユーザに音声で通知するとよい。もちろん、サーバ1006が音声データの中に印刷設定に関する情報が含まれているかを判定し、音声制御デバイス1001に対して所定の印刷設定で印刷することをユーザに音声で通知させるための制御コマンドを送信してもよい。また、第1実施形態と同様に質問形式でユーザに通知してもよく、質問に対するユーザからの返答を受けて印刷設定を確定又は変更するとよい。また、本実施形態においても、音声ではなく、表示により、ユーザに印刷設定を通知してもよい。具体的には、音声制御デバイス1001又はサーバ1003から制御コマンドが表示装置1003に送信され、適用する印刷設定を表示装置1003に表示させてもよい。
また、必要な印刷設定の項目ごとに、音声制御デバイス1001又はサーバ1006が、指示中に情報が含まれているかを確認してもよい。つまり、音声制御デバイス1001は、音声中に含まれてない項目について、あらかじめ音声制御デバイス1001又はサーバ1006に登録された所定の印刷設定の値を適用して印刷データを生成してもよい。また、図14に示すように、音声制御デバイス1001又はサーバ1006は、複数の印刷設定を備えていることが好ましい。そして、その中から印刷指示に基づき所定の印刷設定を選択するとよい。さらに、1つのデータ種類に対して、複数の印刷設定を備えていてもよい。また、所定の印刷設定はユーザの指示により変更可能であることが好ましい。
また、音声制御デバイス1001が、「表示装置1003に表示されている写真Aを印刷して」という声から印刷をリクエストしたユーザ名を特定できる場合、そのユーザ名を付加して音声データを生成しても構わない。
また、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが音声で部数の追加指示を行うことで、この追加の部数について、同じ画像データを使った再印刷を実行可能にすることもできる。さらに、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが異なる印刷設定を音声で指示することで、同じ画像データを使った異なる印刷設定の再印刷を実行可能にすることもできる。
また、音声での指示中に印刷速度に関連する指示が含まれていた場合、音声制御デバイス1001又はサーバ1006は、この指示に基づき適用する印刷設定を変更してもよい。また、音声制御デバイス1001又はサーバ1006は、過去に受け付けた印刷指示中の設定値を解析することにより、ユーザの印刷設定に関する好みを反映するようにしてもよい。つまり解析結果に基づき、登録された所定の印刷設定の値を変更してもよい。
<第3実施形態>
次に、第3実施形態について説明する。本実施形態では、表示装置1003が印刷データを生成する例について説明する。なお、以降の説明では第1実施形態の共通する部分は説明を省略し、第1実施形態と異なる部分を中心に説明する。
図12は、印刷処理を説明するシーケンス図である。なお、処理701-706は図7と同じであるため詳細な説明は省略する。また処理1201-1203は、図10の処理1001-1003と同じ処理であり、処理1207-1209は、図10の1007-1009と同じ処理であるため詳細な説明は省略する。また、図12の処理では、表示装置が印刷データを生成する。そのため表示装置1003の外部記憶装置207は、印刷装置1004が解釈可能な印刷データを生成する印刷ソフトウェア、通信に必要な情報等を記憶する。
音声制御デバイス1001は、制御コマンドに従った処理を実行する。写真Aに対応する画像データを取得して印刷する指示が制御コマンドに含まれている。図12では、表示装置1003が印刷データを生成する。そのため音声制御デバイス1001は、表示装置1003に制御コマンドを送信する(1204)。
表示装置1003は、受信した制御コマンドに従った処理を実行する。表示装置1003は、表示用に画像データを既に取得しているため、既に取得すみの画像データに基づいて印刷データを生成する(1205)。なお、実施形態1、2と同様に、ユーザからの印刷指示として、「表示装置1003に表示されている写真Aを印刷して」という単純な指示の場合、印刷設定に関する情報が含まれていない。よって、本実施形態でも第1及び第2実施形態と同様に、音声での指示の中に印刷設定に関する情報が含まれていない場合、画像の印刷設定として、所定の印刷設定を使用する。具体的には、表示装置1003は、あらかじめ表示装置1003に登録された所定の印刷設定を適用して印刷データを生成する。なお、表示装置1003のCPUは、制御コマンドを解析し、制御コマンド内に印刷設定に関する情報が含まれているかを判定する。そして、CPUは、制御コマンド内に印刷設定に関する情報が含まれている場合、制御コマンド内に含まれる印刷設定に関する情報を取得する。一方、制御コマンド内に印刷設定に関する情報が含まれていない場合、CPUは、所定の印刷設定に関する情報を取得する。ここでは、所定の印刷設定に関する情報として、表示装置1003にあらかじめ登録されている印刷設定に関する情報(値)を取得する。そして、取得した印刷設定に関する情報を適用して印刷データを生成する。この際、表示装置1003は、表示部に印刷設定に関する情報を表示しても構わない。なお、印刷設定に関する情報が含まれているかどうかの判定は表示装置1003ではなくサーバ1006又は音声制御デバイス1001が行ってもよい。サーバ1006が判定を行う場合、サーバ1006は、音声制御デバイス1001からの音声データ内に印刷設定に関する情報が含まれているかを判定する。そして、印刷設定に関する情報が含まれていない場合は、サーバ1006にあらかじめ登録された所定の印刷設定を適用して制御コマンドを生成する。よって、表示装置1003は、その制御コマンド内に含まれる印刷設定に基づき、印刷データを生成することができる。音声制御デバイス1001が判定を行う場合、受け付けた音声又は、処理1023で取得した制御コマンドを解析して、印刷設定に関する情報が含まれているかを判定する。そして、印刷設定に関する情報が含まれていない場合は、音声制御デバイス1001にあらかじめ登録された所定の印刷設定を適用して音声データ又は制御コマンドを生成する。これにより、表示装置1003は、その音声データ又は制御コマンド内に含まれる印刷設定に基づき、印刷データを生成することができる。
表示装置1003は、処理1205で生成した印刷データを印刷装置1004へ送信する(1206)。
以上の処理により、ユーザは、簡易な操作で所望の写真を印刷することが可能となる。また、サーバ1006および音声制御デバイス1001の負荷を軽減することも可能となる。
なお、上述の例では、所定の印刷設定に関する情報が表示装置1003に登録されている例を説明したが、サーバ1006が所定の印刷設定に関する情報を保持してもよい。つまり、サーバ1006は処理1001において音声制御デバイス1001からの音声データ内に印刷設定に関する情報が含まれているかを判定する。そして、サーバ1006は音声データ内に印刷設定に関する情報が含まれていないと判定した場合、サーバ1006にあらかじめ登録された所定の印刷設定に関する情報を制御コマンドに含み、音声制御デバイス1001を介して又は直接表示装置1003に送信する。そして、表示装置1003は、受信した制御コマンドに従い印刷データを生成するとよい。
また、本実施形態においても、第1実施形態の[変形例]に記載されたサーバ1006の印刷設定に関係する処理を表示装置1003に置き換えることで、第1実施形態の[変形例]の各例と同様の処理を実行することができる。
以下、変形例についても、第1実施形態と同様の処理については説明を省略し、第1実施形態と異なる部分を主に説明する。
本実施形態においても、音声データ内に印刷設定に関する情報が含まれていない場合、所定の印刷設定で印刷することをユーザに確認してもよい。具体的には、表示装置1003が、ユーザによる音声での印刷指示の中に、印刷設定に関する情報が含まれていないと判定した場合、音声制御デバイス1001が所定の印刷設定で印刷することをユーザに音声で通知するとよい。もちろん、音声制御デバイス1001、サーバ1006のいずれかが印刷設定に関する情報が含まれているかを判定してもよい。また、第1実施形態と同様に質問形式でユーザに通知してもよく、質問に対するユーザからの返答を受けて印刷設定を確定又は変更するとよい。また、本実施形態においても、音声ではなく、表示により、ユーザに印刷設定を通知してもよい。具体的には、音声制御デバイス1001又はサーバ1003から制御コマンドが表示装置1003に送信され、適用する印刷設定を表示装置1003に表示させてもよい。
また、表示装置1003、サーバ1006、音声制御デバイス1001のいずれかが、必要な印刷設定の項目ごとに、指示中に情報が含まれているかを確認してもよい。そして、表示装置1003は、音声中に含まれてない項目について、表示装置1003、サーバ1006、音声制御デバイス1001のいずれかにあらかじめ登録された所定の印刷設定の値を適用して印刷データを生成することができる。
また、図14に示すように、複数の印刷設定を備えていることが好ましい。そして、その中から印刷指示に基づき所定の印刷設定を選択するとよい。さらに、1つのデータ種類に対して、複数の印刷設定を備えていてもよい。また、所定の印刷設定はユーザの指示により変更可能であることが好ましい。
また、音声制御デバイス1001が、「表示装置1003に表示されている写真Aを印刷して」という声から印刷をリクエストしたユーザ名を特定できる場合、そのユーザ名を付加して音声データを生成しても構わない。
また、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが音声で部数の追加指示を行うことで、この追加の部数について、同じ画像データを使った再印刷を実行可能にすることもできる。さらに、印刷完了が通知された後であり、かつ、別の印刷データを使った印刷が指示される前に、ユーザが異なる印刷設定を音声で指示することで、同じ画像データを使った異なる印刷設定の再印刷を実行可能にすることもできる。
また、音声での指示中に印刷速度に関連する指示が含まれていた場合、表示装置1003、サーバ1006、音声制御デバイス1001のいずれかは、この指示に基づき適用する印刷設定を変更してもよい。また、表示装置1003、サーバ1006、音声制御デバイス1001のいずれかは、過去に受け付けた印刷指示中の設定値を解析することにより、ユーザの印刷設定に関する好みを反映するようにしてもよい。つまり解析結果に基づき、登録された所定の印刷設定の値を変更してもよい。
(その他の実施形態)
上述した実施形態では、表示装置1003に表示されている写真を印刷する形態について記載したが、他の形態で印刷が指示されても構わない。
例えば、ユーザが、ウェイクワードに続いて「ファイルAを印刷して」と話す。音声制御デバイス1001または印刷装置1801が「ファイルAを印刷して」という音声に対応する音声データをサーバ1006へ送信する。そしてサーバ1006は、ユーザ用に管理しているデータからファイルAという名称のデータを検索し、印刷データを生成しても構わない。
また、上述した実施形態では、写真に対応する画像データを印刷するケースについて説明したが、印刷対象となるデータは画像データに限らず、文書データであっても構わない。
また、上述した実施形態では、ユーザが発する声での印刷指示に従って印刷装置1004が印刷する形態について説明した。しかし、印刷装置1004は、パーソナルコンピュータにインストールされた印刷ソフトウェア(例えば、プリンタドライバ)に対する音声以外の指示により生成された印刷データに基づいて印刷処理を実行しても良い。なお、音声以外の指示とは、マウスを使った操作や、タッチパネルを使った操作により行われる指示である。
また、上述した実施形態では、近距離無線通信の一例としてBluetoothを挙げたが、その他の通信方式が使用されても良い。例えば、WiFiAwareがBluetoothの代わりに使用されても良い。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(CPU、MPU、プロセッサ等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。