IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2022-187881情報処理システム、情報処理システムの制御方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187881
(43)【公開日】2022-12-20
(54)【発明の名称】情報処理システム、情報処理システムの制御方法、及びプログラム
(51)【国際特許分類】
   G06F 3/16 20060101AFI20221213BHJP
   G06F 3/01 20060101ALI20221213BHJP
   H04N 1/00 20060101ALI20221213BHJP
   B41J 29/38 20060101ALI20221213BHJP
【FI】
G06F3/16 630
G06F3/16 650
G06F3/01 510
H04N1/00 127Z
H04N1/00 912
B41J29/38 201
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021096097
(22)【出願日】2021-06-08
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】関根 広志
(72)【発明者】
【氏名】福田 真人
【テーマコード(参考)】
2C061
5C062
5E555
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AP10
2C061AQ05
2C061AQ06
2C061AR03
2C061AS02
2C061HK11
2C061HN08
2C061HQ01
2C061HR04
5C062AA05
5C062AA12
5C062AA13
5C062AA29
5C062AB16
5C062AB38
5C062AB40
5C062AC02
5C062AC34
5C062AE11
5E555AA76
5E555BA06
5E555BA16
5E555BA27
5E555BA88
5E555BB06
5E555BB16
5E555BB27
5E555BC01
5E555BC11
5E555CA47
5E555CB64
5E555CB74
5E555CC01
5E555DA32
5E555DA33
5E555EA04
5E555EA05
5E555EA09
5E555EA23
5E555FA00
(57)【要約】      (修正有)
【課題】複数のスマートスピーカが1つの情報処理装置と連携する構成において指示の競合状態に適切に対応する情報処理システムを提供する。
【解決手段】情報処理システム100は、クラウドサーバ103、複数の音声制御装置102、107と、少なくとも1台の画像形成装置101、110と、で構成される情報処理システム100であって、複数の音声制御装置102、107の何れが優先される装置であるかの情報に基づいて、画像形成装置101、110にジョブを実行させる制御を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置と、前記情報処理装置に対する音声指示を受け付ける第1の音声制御装置と、前記情報処理装置に対する音声指示を受け付ける第2の音声制御装置とを備える情報処理システムであって、
前記第1の音声制御装置と前記第2の音声制御装置のうちどちらが優先される装置であるかの情報に基づいて前記情報処理装置にジョブを実行させる制御を行う制御手段を有することを特徴とする情報処理システム。
【請求項2】
前記制御手段は、前記第1の音声制御装置及び前記第2の音声制御装置の一方に前記情報処理装置の操作権限を設定し、前記情報処理装置の操作権限が設定された音声制御装置が受け付けた音声指示に対応するジョブを前記情報処理装置に実行させることを特徴とする請求項1記載の情報処理システム。
【請求項3】
前記制御手段は、前記第1の音声制御装置及び前記第2の音声制御装置のうち、先に音声指示を受け付けた音声制御装置に前記情報処理装置の操作権限を設定することを特徴とする請求項2記載の情報処理システム。
【請求項4】
前記制御手段は、前記第1の音声制御装置及び前記第2の音声制御装置のうち、緊急性を示す所定のワードを受け付けた音声制御装置に前記情報処理装置の操作権限を設定することを特徴とする請求項2記載の情報処理システム。
【請求項5】
前記第1の音声制御装置と前記第2の音声制御装置の優先度を設定する手段を更に有し、
前記制御手段は、前記第1の音声制御装置及び前記第2の音声制御装置のうち、高い優先度が設定された音声制御装置に前記情報処理装置の操作権限を設定することを特徴とする請求項2記載の情報処理システム。
【請求項6】
前記第1の音声制御装置が受け付けた音声指示に対応するジョブを前記情報処理装置が実行している最中に前記第1の音声制御装置より高い優先度が設定された前記第2の音声制御装置が他の音声指示を受け付けた場合、前記制御手段は、前記情報処理装置の操作権限を前記第1の音声制御装置から前記第2の音声制御装置に変更することを特徴とする請求項5記載の情報処理システム。
【請求項7】
前記制御手段は、前記情報処理装置に対し、前記第1の音声制御装置が受け付けた音声指示に対応するジョブを中断させ、前記第2の音声制御装置が受け付けた他の音声指示に対応する他のジョブを割り込み実行させることを特徴とする請求項6記載の情報処理システム。
【請求項8】
前記制御手段は、前記情報処理装置が前記他のジョブを完了した後、中断していた前記第1の音声制御装置が受け付けた音声指示に対応するジョブを前記情報処理装置に再開させることを特徴とする請求項7記載の情報処理システム。
【請求項9】
前記他の音声指示が前記情報処理装置の状態確認要求である場合、前記制御手段は、前記情報処理装置の操作権限を前記第1の音声制御装置に設定したまま保持することを特徴とする請求項6乃至8のいずれか1項に記載の情報処理システム。
【請求項10】
前記情報処理装置と前記第1の音声制御装置又は前記第2の音声制御装置とを中継するサーバを更に有し、
前記サーバは、前記制御手段を備えることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理システム。
【請求項11】
前記第1の音声制御装置及び前記第2の音声制御装置の一方を優先装置に設定する手段を更に有し、
前記制御手段は、前記優先装置に設定された音声制御装置が受け付けた音声指示に対応するジョブを前記情報処理装置に優先的に実行させることを特徴とする請求項1記載の情報処理システム。
【請求項12】
前記第2の音声制御装置が前記優先装置に設定され、
前記第1の音声制御装置が受け付けた音声指示に対応するジョブを前記情報処理装置が実行している最中に前記第2の音声制御装置が他の音声指示を受け付けた場合、前記制御手段は、前記情報処理装置に対し、前記第1の音声制御装置が受け付けた音声指示に対応するジョブを中断させ、前記第2の音声制御装置が受け付けた他の音声指示に対応する他のジョブを割り込み実行させることを特徴とする請求項11記載の情報処理システム。
【請求項13】
情報処理装置と、前記情報処理装置に対する音声指示を受け付ける第1の音声制御装置と、前記情報処理装置に対する音声指示を受け付ける第2の音声制御装置とを備える情報処理システムの制御方法であって、
前記第1の音声制御装置と前記第2の音声制御装置のうちどちらが優先される装置であるかの情報に基づいて前記情報処理装置にジョブを実行させる制御を行う制御工程を有することを特徴とする情報処理システムの制御方法。
【請求項14】
請求項1乃至12のうちいずれか1項に記載の情報処理システムの各手段をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理システムの制御方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザの発話によって印刷ジョブを投入するシステムが知られている(例えば、特許文献1参照)。昨今は、スマートスピーカの普及により、ネットワーク越しにスマートスピーカと情報処理装置を連携させることで、上述したシステムの構築が容易となってきている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016-35514号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、従来では、複数のスマートスピーカが1つの情報処理装置に連携するケースについて検討されていなかった。複数のスマートスピーカが1つの情報処理装置と連携する構成において、複数のスマートスピーカが略同時に指示が来た場合に競合する虞がある。このため、このような競合状態に適切に対応できるシステムが望まれる。
【0005】
本発明の目的は、複数のスマートスピーカが1つの情報処理装置と連携する構成において指示の競合状態に適切に対応することができる情報処理システム、情報処理システムの制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の情報処理システムは、情報処理装置と、前記情報処理装置に対する音声指示を受け付ける第1の音声制御装置と、前記情報処理装置に対する音声指示を受け付ける第2の音声制御装置とを備える情報処理システムであって、前記第1の音声制御装置と前記第2の音声制御装置のうちどちらが優先される装置であるかの情報に基づいて前記情報処理装置にジョブを実行させる制御を行う制御手段を有することを特徴とする情報処理システム。
【発明の効果】
【0007】
本発明によれば、複数のスマートスピーカが1つの情報処理装置と連携する構成において指示の競合状態に適切に対応することができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態に係る情報処理システムの機能を説明するための図である。
図2図1の画像形成装置の構成を概略的に示すブロック図である。
図3図1の音声制御装置の構成を概略的に示すブロック図である。
図4図1のクラウドサーバの構成を概略的に示すブロック図である。
図5図1の画像形成装置が実行するデバイス制御プログラムの機能構成を示すブロック図である。
図6図1の音声制御装置が実行する音声制御プログラムの機能構成を示すブロック図である。
図7A図1のクラウドサーバが実行する音声データ変換制御プログラムの機能構成を示すブロック図である。
図7B図7AのグループID判定部が用いるグループIDリストの一例を示す図である。
図8図1の情報処理システムにおける画像形成装置の登録の流れを説明するためのシーケンス図である。
図9図1の情報処理システムにおける音声制御装置の登録の流れを説明するためのシーケンス図である。
図10】第1の実施の形態の情報処理システムによる音声操作制御の第1の例を示すシーケンス図である。
図11図1の情報処理システムにおける音声制御装置の優先度を設定する際の画面遷移を示す図である。
図12】第1の実施の形態の情報処理システムによる音声操作制御の第2の例を示すシーケンス図である。
図13図12のステップS1209、S1226、S1247、S1257の操作権限設定処理の手順を示すフローチャートである。
図14】第1の実施の形態の情報処理システムによる音声操作制御の第3の例を示すシーケンス図である。
図15図13の操作権限設定処理の他の手順を示すフローチャートである。
図16図7Aのデバイス操作権限管理部の構成を概略的に示すブロック図である。
図17図7Aのデバイス操作権限管理部の内部動作を説明するためのシーケンス図である。
図18図16の操作権限記憶部の構成を説明するための図である。
図19】第2の実施の形態の情報処理システムにおける画像形成装置の登録の第1の例を説明するためのシーケンス図である。
図20】第2の実施の形態の情報処理システムにおける画像形成装置の優先装置を設定する際の画面遷移を示す図である。
図21図19のステップ1904の画像形成装置登録処理の手順を示すフローチャートである。
図22図1のクラウドサーバが用いる画像形成装置サービスデータリストの一例を示す図である。
図23図1のクラウドサーバが用いるニックネームデータリストの一例を示す図である。
図24図19のステップS1909、S1916の画像形成装置判定処理の手順を示すフローチャートである。
図25図19のステップS1911の音声制御装置リスト取得処理の手順を示すフローチャートである。
図26図1のクラウドサーバが用いる音声制御装置サービスデータリストの一例を示す図である。
図27図19のステップS1917の優先装置登録処理の手順を示すフローチャートである。
図28】第2の実施の形態の情報処理システムによる音声操作制御の第1の例を示すシーケンス図である。
図29図1のクラウドサーバによって生成される通常プリントジョブコマンドの一例を示す図である。
図30図1のクラウドサーバによって生成される高優先プリントジョブコマンドの一例を示す図である。
図31図28のステップS2809、S2826のプリントジョブコマンド生成処理の手順を示すフローチャートである。
図32図1のクラウドサーバが用いるファイル管理リストの一例を示す図である。
図33図31のステップS3112のコマンド生成処理の手順を示すフローチャートである。
図34図1のクラウドサーバが用いるジョブ情報設定規則の一例を示す図である。
図35図28のステップS2811、S2828のプリントジョブ実行処理の手順を示すフローチャートである。
図36図28のステップS2846のプリントジョブ再開処理の手順を示すフローチャートである。
図37】第2の実施の形態の情報処理システムによる音声操作制御の第2の例を示すシーケンス図である。
図38】第2の実施の形態の情報処理システムにおける画像形成装置の登録の第2の例を説明するためのシーケンス図である。
図39】第2の実施の形態の情報処理システムにおける画像形成装置の優先装置を設定する際の画面遷移を示す図である。
図40図38のステップS3817の音声制御装置判定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態について図面を参照しながら詳述する。まず、本発明の第1の実施の形態に係る情報処理システム及びその制御方法について説明する。
【0010】
図1は、本発明の実施の形態に係る情報処理システム100の機能を説明するための図である。情報処理システム100は、クラウドサーバ103、複数の音声制御装置、少なくとも1台の画像形成装置で構成される。本実施の形態では、一例として、クラウドサーバ103と、2台の音声制御装置102及び音声制御装置107と、2台の画像形成装置101及び画像形成装置110を備える情報処理システム100について説明する。
【0011】
音声制御装置102、音声制御装置107、画像形成装置101、画像形成装置110、クライアント端末109は、ゲートウェイ105及びネットワーク104を介して互いに通信可能である。また、音声制御装置102、音声制御装置107、画像形成装置101、画像形成装置110、クライアント端末109は、ゲートウェイ105及びインターネットを介してクラウドサーバ103と通信可能である。
【0012】
音声制御装置102及び音声制御装置107は、例えば、ユーザ106の音声操作開始指示に従って、ユーザ106の音声を録音し、録音した音声を符号化して音声データを生成し、当該音声データをクラウドサーバ103へ送信する。音声制御装置102及び音声制御装置107は、スマートスピーカやスマートフォン等といった音声によりユーザとコミュニケーション可能な音声入出力装置である。なお、本実施の形態では、音声制御装置が画像形成装置と独立した構成となっているが、この構成に限られない。例えば、画像形成装置が、音声制御装置を構成する後述する図3のハードウェア及び後述する図6のソフトウエアの少なくとも一方を備えていてもよい。
【0013】
画像形成装置101及び画像形成装置110は、コピー、スキャン、プリント、FAX等の複数の機能を備える複合機である。なお、画像形成装置101及び画像形成装置110は、プリンタやスキャナ等といった単体の機能を備える装置であってもよい。
【0014】
クラウドサーバ103は、1つ以上のクラウドサーバにより構成されている。クラウドサーバ103は、連携する音声制御装置と画像形成装置とを中継するサーバである。クラウドサーバ103は、音声認識を行い、また、画像形成装置101や画像形成装置110を制御するための情報処理を行う。例えば、クラウドサーバ103は、音声制御装置102から受信したユーザ106の音声データの音声認識を行い、音声認識の結果から画像形成装置101の画面操作やジョブの実行に関わるワードを判定する。なお、ジョブは、画像形成装置101がプリントエンジン211やスキャナ213を用いて実現する一連の画像形成処理、例えば、コピー、スキャン、プリント等の実行単位を示す。また、クラウドサーバ103は、音声認識の結果やワードの判定結果に基づいてテキストを生成し、このテキストの内容を音声制御装置102に音声再生するための音声合成データを生成する。
【0015】
クライアント端末109は、例えば、ユーザ106が使用するパーソナルコンピュータ(PC)である。クライアント端末109は、例えば、印刷対象となる電子ファイルを画像形成装置101や画像形成装置110に送信する。なお、電子ファイルは、クライアント端末109やインターネット上のサーバ(不図示)に格納されていてもよく、また、画像形成装置101のストレージや画像形成装置110のストレージに格納されていてもよい。また、クライアント端末109は、画像形成装置101や画像形成装置110がスキャンして生成した画像データを受信する。ネットワーク104は、音声制御装置102、音声制御装置107、画像形成装置101、画像形成装置110、クライアント端末109、ゲートウェイ105を互いに接続する。
【0016】
ゲートウェイ105は、例えば、IEEE802.11規格シリーズに準拠した無線LANルータ等である。IEEE802.11規格シリーズは、IEEE802.11aやIEEE802.11b等のIEEE802.11に属する一連の規格である。なお、ゲートウェイ105は、他の無線通信方式に従って動作する能力を有してもよい。また、ゲートウェイ105は、無線LANルータではなく、10BASE-T、100BASET、1000BASE-T等に代表されるEthernet規格に準拠した有線LANルータ等でもよく、他の有線通信方式に従って動作する能力を有してもよい。
【0017】
次に、画像形成装置101及び画像形成装置110の構成について説明する。なお、本実施の形態では、画像形成装置101及び画像形成装置110は同様の構成であり、以下では、一例として、画像形成装置101を用いてその構成を説明する。また、以下では、画像形成装置110の構成要素について、画像形成装置101の構成要素の符号の末尾に「’」を付して説明する。
【0018】
図2は、図1の画像形成装置101の構成を概略的に示すブロック図である。図2において、画像形成装置101は、制御部200、操作パネル209、プリントエンジン211、及びスキャナ213を備える。制御部200は、操作パネル209、プリントエンジン211、及びスキャナ213と接続されている。また、制御部200は、CPU202、RAM203、ROM204、ストレージ205、ネットワークI/F206、ディスプレイコントローラ207、操作I/F208、プリントコントローラ210、及びスキャンコントローラ212を備える。これらはシステムバス201を介して互いに接続されている。なお、CPUは、Central Processing Unitの略称である。
【0019】
CPU202は、画像形成装置101全体の動作を制御する。CPU202は、ROM204やストレージ205に記憶された制御プログラムを読み出して、読取制御や印刷制御等の各種制御を行う。RAM203は、CPU202の主記憶メモリである。RAM203は、ワークエリアとして、また、ROM204及びストレージ205に記憶された各種制御プログラムを展開するための一時記憶領域として用いられる。ROM204は、CPU202が実行する制御プログラム等を記憶する。ストレージ205は、印刷データ、画像データ、プログラム、設定情報等を記憶する。
【0020】
なお、本実施の形態では、1つのCPU202が1つのメモリ(RAM203)を用いて後述するフローチャートに示す各処理を実行する構成について説明するが、この構成に限られない。例えば、複数のCPU、RAM、ROM、及びストレージを協働させて後述するフローチャートに示す各処理を実行させてもよい。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
【0021】
ネットワークI/F206は、画像形成装置101がネットワーク104を介して外部装置と通信するためのインタフェースである。例えば、画像形成装置101は、ネットワークI/F206により、印刷データを受信し、受信した印刷データをPDL解析モジュール(不図示)によって解析する。PDL解析モジュールは、印刷データを解析するためのソフトウェアモジュールであり、ストレージ205やROM204に記憶されている。PDL解析モジュールは、様々な種類のページ記述言語(Page Description Language)で表現された印刷データに基づいて、プリントエンジン211が印刷するためのデータを生成する。
【0022】
ディスプレイコントローラ207は、操作パネル209と接続されている。操作パネル209は、ディスプレイコントローラ207によって制御された画面を表示する。ユーザが操作パネル209を操作すると、画像形成装置101は、操作I/F208を介してユーザ操作に対応したイベントを取得する。
【0023】
プリントコントローラ210は、プリントエンジン211と接続されている。印刷対象となる画像データは、プリントコントローラ210を介してプリントエンジン211へ転送される。プリントエンジン211は、プリントコントローラ210から制御コマンド及び画像データを受信し、この画像データに基づいて画像をシート上に形成する。なお、プリントエンジン211の印刷方式は、電子写真方式であってもよく、インクジェット方式であってもよい。プリントエンジン211の印刷方式が電子写真方式である場合、プリントエンジン211は、感光体(不図示)上に静電潜像を形成した後にトナーによって現像し、そのトナー像をシートに転写し、転写されたトナー像を定着することにより画像を形成する。一方、プリントエンジン211の印刷方式がインクジェット方式である場合、プリントエンジン211は、インクを吐出してシートに画像を形成する。
【0024】
スキャンコントローラ212は、スキャナ213と接続されている。スキャナ213は、セットされた原稿上の画像を読み取って画像データを生成する。スキャナ213は、原稿フィーダ(不図示)を備え、原稿フィーダにセットされた原稿を1枚ずつ搬送させながら読み取ることが可能である。スキャナ213によって生成された画像データはストレージ205に記憶される。また、画像形成装置101は、スキャナ213が生成した画像データを用いて、シート上に画像を形成することができる。
【0025】
次に、音声制御装置102及び音声制御装置107の構成について説明する。なお、本実施の形態では、音声制御装置102及び音声制御装置107は同様の構成であり、以下では、一例として、音声制御装置102を用いてその構成を説明する。また、以下では、音声制御装置107の構成要素について、音声制御装置102の構成要素の符号の末尾に「’」を付して説明する。
【0026】
図3は、図1の音声制御装置102の構成を概略的に示すブロック図である。図3において、音声制御装置102は、コントローラ部300、マイクロフォン308、スピーカ310、及びLED312を備える。コントローラ部300は、マイクロフォン308、スピーカ310、及びLED312と接続されている。また、コントローラ部300は、CPU302、RAM303、ROM304、ストレージ305、ネットワークI/F306、マイクI/F307、オーディオコントローラ309、及び表示コントローラ311を備える。これらは、システムバス301を介して互いに接続されている。
【0027】
CPU302は、コントローラ部300全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動プログラム、音声制御装置102を特定するためのIDである音声制御装置102のシリアル番号を格納する。ストレージ305は、RAM303より記憶容量が大きい記憶デバイス、例えば、SDカードである。なお、ストレージ305は、SDカードに限られず、SDカードと同等の機能を有する他の記憶デバイス、例えば、フラッシュROMであってもよい。ストレージ305には、例えば、コントローラ部300が実行する制御プログラム、音声制御装置102が利用するサービスのサービスURLが格納されている。
【0028】
CPU302は、音声制御装置102の電源ON等の起動時に、ROM304に格納されている起動プログラムを実行する。この起動プログラムは、ストレージ305に格納されている制御プログラムを読み出して当該制御プログラムをRAM303上に展開するためのプログラムである。CPU302は、起動プログラムを実行すると、続けてRAM303上に展開した制御プログラムを実行し、各種制御を行う。また、CPU302は、制御プログラムの実行時に用いるデータをRAM303上に格納し、当該データの読み書きを行う。ストレージ305には更に、制御プログラムの実行時に必要となる各種設定データ等が格納され、CPU302はこれらの設定データの読み書きを行う。CPU302は、ネットワークI/F306を介してネットワーク104上の他の機器と通信を行う。
【0029】
ネットワークI/F306は、IEEE802.11規格シリーズに準拠した無線通信方式に従って通信を行うための回路やアンテナを含む。なお、ネットワークI/F306の通信方式は、無線通信方式に限定されず、例えば、Ethernet規格に準拠した有線通信方式であってもよい。
【0030】
マイクI/F307は、マイクロフォン308に接続されている。マイクI/F307は、ユーザが発した音声をマイクロフォン308が受けた際に、当該音声を符号化して音声データに変換し、CPU302から受けた指示に従って当該音声データをRAM303に保持する。
【0031】
マイクロフォン308は、例えば、スマートフォン等に搭載される小型のMEMSマイクロフォンである。なお、マイクロフォン308は、MEMSマイクロフォンに限られず、ユーザの音声を取得できるものであれば他のデバイスであってもよい。また、マイクロフォン308は、ユーザが発した音声の到来方向を算出できるように、3個以上を所定の位置に配して用いることが好ましい。ただし、マイクロフォン308が1個であっても本発明を実現でき、3個以上にこだわるものではない。
【0032】
オーディオコントローラ309は、スピーカ310に接続されている。オーディオコントローラ309は、CPU302から受けた指示に従って、音声データをアナログ音声信号に変換し、スピーカ310を通じて音声を出力する。スピーカ310は音声を再生するための汎用のデバイスである。スピーカ310は、音声制御装置102が応答していることを表す応答音や、クラウドサーバ103によって生成された音声合成データに基づいて音声を出力する。
【0033】
表示コントローラ311は、LED312に接続され、CPU302から受けた指示に従ってLED312の点灯制御を行う。例えば、表示コントローラ311は、音声制御装置102がユーザの音声を正しく入力していることを示すためのLED312の点灯制御を行う。LED312は、例えば、ユーザが可視可能な青色等のLEDである。なお、本実施の形態では、音声制御装置102が、LED312の代わりに、文字や絵を表示可能なディスプレイ装置を備えていてもよい。
【0034】
図4は、図1のクラウドサーバ103の構成を概略的に示すブロック図である。図4において、クラウドサーバ103は、CPU402、RAM403、ROM404、ストレージ405、及びネットワークI/F406を備える。これらは、システムバス401を介して互いに接続されている。
【0035】
CPU402は、クラウドサーバ103全体の動作を制御する中央演算装置である。RAM403は揮発性メモリである。ROM404は、不揮発性メモリであり、CPU402の起動プログラム等を格納する。ストレージ405は、RAM403より記憶容量が大きい記憶装置、例えば、ハードディスクドライブ(以下、「HDD」とする。)である。なお、ストレージ405は、HDDに限られず、HDDと同等の機能を有する他の記憶装置、例えば、ソリッドステートドライブ(以下、「SSD」とする。)でもあってもよい。ストレージ405には、例えば、CPU402が実行する制御プログラムが格納されている。
【0036】
CPU402は、クラウドサーバ103の電源ON等の起動時、ROM404に格納されている起動プログラムを実行する。この起動プログラムは、ストレージ405に格納されている制御プログラムを読み出して当該制御プログラムをRAM403上に展開するためのプログラムである。CPU402は、起動プログラムを実行すると、続けてRAM403上に展開した制御プログラムを実行し、各種制御を行う。また、CPU402は、制御プログラムの実行時に用いるデータをRAM403上に格納し、当該データの読み書きを行う。ストレージ405には更に、制御プログラムの実行時に必要な各種設定データが格納され、CPU402はこれら設定データの読み書きを行う。CPU402は、ネットワークI/F406を介してネットワーク104上の他の機器と通信を行う。
【0037】
図5は、図1の画像形成装置101及び画像形成装置110が実行するデバイス制御プログラム500の機能構成を示すブロック図である。図5において、デバイス制御プログラム500は、データ送受信部501、データ解析部502、ジョブ制御部503、データ管理部504、表示部505、操作対象判定部506、スキャン部507、及びプリンタ部508で構成される。例えば、画像形成装置101において、デバイス制御プログラム500はROM204に格納され、CPU202が起動時にデバイス制御プログラム500をRAM203上に展開して実行する。なお、以下では、画像形成装置101のCPU202がデバイス制御プログラム500を実行した場合を例に、上述した各構成要素の機能について説明する。
【0038】
データ送受信部501は、ネットワークI/F206を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を画像形成装置101に行わせる。例えば、データ送受信部501により、画像形成装置101は、クラウドサーバ103が生成するデバイス操作データを受信する。また、データ送受信部501により、画像形成装置101は、クラウドサーバ103へ、ジョブの実行結果等を示す画面の表示内容が更新されたことを示す画面更新通知、及びジョブの状態を示すジョブ実行状態通知を送信する。
【0039】
データ解析部502は、クラウドサーバ103から受信したデバイス操作データをジョブ制御部503、データ管理部504、表示部505に対応する複数のコマンドに変換し、各コマンドをジョブ制御部503、データ管理部504、表示部505に出力する。
【0040】
ジョブ制御部503は、プリントコントローラ210を介してプリントエンジン211を制御し、また、スキャンコントローラ212を介してスキャナ213を制御する。例えば、表示部505が操作パネル209に表示されたコピー機能画面におけるスタートキーの押下を検知した場合、ジョブ制御部503は、操作対象判定部506からコピージョブのパラメータとジョブの開始指示を受信する。ジョブ制御部503は、受信したコピージョブのパラメータに基づいて、スキャナ213によって読み取られた画像データをプリントエンジン211がシートに印刷するように制御する。
【0041】
データ管理部504は、デバイス制御プログラム500の実行において生成された作業データや、各デバイス制御に必要となる設定パラメータ等のデータをRAM203及びストレージ205上の所定の領域へ保存して管理する。例えば、データ管理部504は、ジョブ制御部503が使用するジョブデータや操作パネル209に表示する言語の情報である言語設定等をRAM203及びストレージ205に保存する。ジョブデータは、ジョブの各設定項目及び設定値の組み合わせから成るデータである。また、データ管理部504は、ゲートウェイ105との通信に必要となる認証情報、クラウドサーバ103と通信するために必要となるデバイス情報、画像形成対象の画像データをRAM203及びストレージ205に保存する。更に、データ管理部504は、表示部505が画面表示制御に用いる画面制御情報や、操作対象判定部506が操作対象を判定するために用いる操作対象判定情報をRAM203及びストレージ205に保存する。画面制御情報と操作対象判定情報は、表示部505が表示する画面毎に管理される。
【0042】
表示部505は、ディスプレイコントローラ207を介して操作パネル209を制御する。より具体的には、表示部505は、ユーザが操作可能なUI部品(ボタン、プルダウンリスト、チェックボックス等)を操作パネル209に表示する。操作パネル209に表示される画面は、画面表示制御情報に基づいて更新される。例えば、表示部505は、データ管理部504に保存されている言語設定に対応する言語辞書をストレージ205から取得し、言語辞書に基づいてテキストデータを画面に表示する。
【0043】
操作対象判定部506は、操作パネル209においてユーザにタッチされた位置を示す座標を、操作I/F208から取得する。操作対象判定部506は、この時に操作パネル209に表示されているユーザが操作可能なUI部品を操作対象として判定し、操作対象として判定したUI部品に対応する画面表示制御情報を読み出し、当該画面表示制御情報に基づいて操作受付時の処理内容を決定する。例えば、操作対象判定部506は、表示部505に対して画面の表示内容の更新指示を出したり、ユーザ操作により設定されたジョブのパラメータ及び当該ジョブの開始指示をジョブ制御部503に送信したりする。
【0044】
スキャン部507は、ジョブ制御部503のスキャンジョブパラメータ設定に基づいて、スキャンコントローラ212を介してスキャナ213にスキャンを実行させ、読み取った画像データをデータ管理部504に保存する。プリンタ部508は、ジョブ制御部503のプリントジョブパラメータ設定に基づいて、プリントコントローラ210を介してプリントエンジン211に印刷を実行させる。
【0045】
図6は、図1の音声制御装置102及び音声制御装置107が実行する音声制御プログラム600の機能構成を示すブロック図である。図6において、音声制御プログラム600は、データ送受信部601、データ管理部602、音声制御部603、音声取得部604、音声再生部605、表示部606、音声操作開始検知部607、及び発話終了判定部608で構成される。例えば、音声制御装置102において、音声制御プログラム600はストレージ305に格納され、CPU302が起動時に音声制御プログラム600をRAM303上に展開して実行する。なお、以下では、音声制御装置102のCPU302が音声制御プログラム600を実行した場合を例に、上述した各構成要素の機能について説明する。
【0046】
データ送受信部601は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を音声制御装置102に行わせる。例えば、データ送受信部601により、音声制御装置102は、音声制御装置102のシリアル番号と、音声取得部604によって取得した音声データをクラウドサーバ103へ送信する。音声制御装置102のシリアル番号は、情報処理システム100において音声制御装置102を識別するための番号である。また、データ送受信部601は、ユーザへの応答として生成された音声合成データをクラウドサーバ103から受信する。
【0047】
データ管理部602は、音声制御プログラム600の実行において生成した作業データ等の各種データをストレージ305の所定の領域へ保存して管理する。例えば、データ管理部602は、音声再生部605によって再生される音声の音量設定データや、ゲートウェイ105との通信に必要となる認証情報、クラウドサーバ103との通信に必要となるデバイス情報等をストレージ305に保存する。デバイス情報は、例えば、音声制御装置102や音声制御装置107のシリアル番号を含む。
【0048】
音声取得部604は、マイクロフォン308が取得したユーザのアナログ音声を、音声データに変換し、当該音声データをRAM303に一時保存する。音声データは、MP3等の所定のフォーマットに変換され、更にクラウドサーバ103に送信するために符号化されたデータである。音声取得部604による処理の開始及び終了の各タイミングは、音声制御部603によって管理される。なお、音声データの符号化は、汎用のストリーミング用フォーマットでもよく、また、符号化された音声データを順次、データ送受信部601によって送信するようにしてもよい。
【0049】
音声再生部605は、クラウドサーバ103から受信した音声合成データを、オーディオコントローラ309を介してスピーカ310に再生させる。音声再生部605による音声合成データの再生タイミングは、音声制御部603によって管理される。
【0050】
表示部606は、表示コントローラ311を介してLED312の点灯制御を行う。例えば、音声操作開始検知部607が音声指示を検知した場合に、表示部606はLED312を点灯させる。LED312の点灯タイミングは、音声制御部603によって管理される。
【0051】
音声操作開始検知部607は、ユーザが発したウェイクワード、又は音声制御装置102の操作開始キー(不図示)の押下を検知し、音声制御部603へ操作開始通知を送信する。ウェイクワードとは、対話セッションを開始するための音声ワードであり、予め決められている。音声操作開始検知部607は、マイクロフォン308が取得したユーザのアナログ音声から、常時ウェイクワードを検知する。ユーザはウェイクワードを発し、続けて自身が行いたいことを発することで画像形成装置101や画像形成装置110の操作を行うことができる。音声操作開始検知部607がウェイクワードを検知してからの音声処理については後述する。
【0052】
発話終了判定部608は、音声取得部604による処理の終了タイミングを判定する。例えば、ユーザの音声が所定の時間(例えば3秒)途切れたときにユーザの発話が終了したと判定し、音声制御部603へ発話終了通知を送信する。なお、発話終了判定部608は、発話が無い時間(以下、「空白時間」という。)ではなく、ユーザが発した所定の語句から発話終了の判定を行ってもよい。例えば、ユーザが「はい」、「いいえ」、「OK」、「キャンセル」、「終了」、「スタート」、「開始」等の所定の語句を発した場合、発話終了判定部608は、上記所定の時間を待たずに発話終了と判定してもよい。また、音声制御装置102や音声制御装置107ではなく、クラウドサーバ103が発話終了の判定を行ってもよく、クラウドサーバ103は、ユーザの発話内容の意味や文脈から発話の終了を判定するようにしてもよい。
【0053】
音声制御部603は、音声制御プログラム600における各モジュールが相互に連携して動作するように制御する。例えば、音声制御部603は、音声取得部604、音声再生部605、表示部606による処理の開始や終了の制御を行う。また、音声制御部603は、音声取得部604が音声データを取得した後、音声データをデータ送受信部601によってクラウドサーバ103へ送信するように制御する。更に、音声制御部603は、データ送受信部601がクラウドサーバ103から音声合成データを受信した後、音声再生部605が音声合成データを再生するように制御する。
【0054】
次に、音声取得部604、音声再生部605、表示部606による処理の開始及び終了のタイミングについて説明する。
【0055】
例えば、ユーザがウェイクワードを発し、続けて「コピーしたい」と発したとする。このとき、音声操作開始検知部607が、ウェイクワードの音声を検知し、音声制御部603に操作開始通知を送信する。音声制御部603は、操作開始通知を受信すると、音声取得部604に処理を開始させる。音声取得部604は、ウェイクワードに続けて発せられた「コピーしたい」というアナログ音声を取得し、取得したアナログ音声を音声データへ変換して一時的に保存する。発話終了判定部608は、ユーザが「コピーしたい」を発した後に当該ユーザの音声が所定の時間(例えば3秒)途切れると、発話終了通知を音声制御部603へ送信する。音声制御部603は、発話終了通知を受信すると、音声取得部604に処理を終了させる。なお、音声取得部604が処理を開始してから終了するまでの状態を発話処理状態と呼ぶこととする。表示部606は、発話処理状態の間、LED312を点灯させる。
【0056】
音声制御部603は、ユーザによる発話が終了したと判定すると、音声取得部604が一時的に保存した音声データをデータ送受信部601によってクラウドサーバ103へ送信し、クラウドサーバ103からの応答を待つ。クラウドサーバ103からの応答は、例えば、応答であることを示すヘッダ部と、音声合成データから成る応答メッセージある。音声制御部603は、データ送受信部601がクラウドサーバ103から応答メッセージを受信すると、音声再生部605に音声合成データを再生させる。音声合成データを再生すると、例えば、「コピー画面を表示します」といった音声がスピーカ310から出力される。なお、ユーザによる発話が終了したと判定されてから音声合成データの再生が終了するまでの状態を応答処理状態と呼ぶこととする。表示部606は、応答処理状態の間、LED312を点滅させる。
【0057】
応答処理の後、対話セッションが継続している間、ユーザはウェイクワードを発話することなく、続けて自身の行いたいことを発話することができる。対話セッションの終了判定は、クラウドサーバ103が行い、音声制御装置102や音声制御装置107に対話セッション終了通知を送信することで行う。なお、対話セッションの終了から次の対話セッションの開始までの状態を待機状態と呼ぶこととする。音声操作開始検知部607から操作開始通知が送信されるまで、音声制御装置102は常時待機状態となる。表示部606は、待機状態の間、LED312を消灯させる。
【0058】
図7A及び図7Bは、図1のクラウドサーバ103が実行する音声データ変換制御プログラム700を説明するための図である。図7Aは、音声データ変換制御プログラム700の機能構成を示すブロック図である。音声データ変換制御プログラム700はストレージ405に格納され、CPU402が起動時に音声データ変換制御プログラム700をRAM403上に展開して実行する。図7Aにおいて、音声データ変換制御プログラム700は、データ送受信部701、データ管理部702、デバイス操作データ生成部703、デバイス操作権限管理部704、及び音声データ変換部710で構成される。音声データ変換部710は、音声認識部705、形態素解析部706、グループID判定部707、音声合成部708、及びファイル名判定部709を含む。
【0059】
データ送受信部701は、ネットワークI/F406を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信をクラウドサーバ103に行わせる。例えば、データ送受信部701により、クラウドサーバ103は、音声制御装置102や音声制御装置107からユーザの音声データを受信する。また、データ送受信部701により、クラウドサーバ103は、グループID判定部707によって判定されたグループIDや、音声認識部705による音声認識処理にて得られたテキストデータの判定結果を送信する。
【0060】
データ管理部702は、音声データ変換制御プログラム700の実行において生成された作業データや、音声データ変換部710が音声認識処理を実施する際に必要となるパラメータ等をストレージ405上の所定の領域へ保存して管理する。例えば、データ管理部702は、データ送受信部701によって受信した対話セッション開始通知に含まれるデバイスIDから、対応するサービスIDを特定する。データ管理部702は、対話セッションのセッションID、デバイスID、サービスIDを含む対話セッションデータをRAM403に保存する。また、データ管理部702は、データ送受信部701によって受信した音声データをテキストへ変換するための音響モデルや言語モデル、形態素解析部706によるテキストの形態素解析に用いられる辞書をストレージ405に保存して管理する。更に、データ管理部702は、グループID判定部707によってグループIDを判定するためのグループIDリストや、音声合成部708による音声合成に用いられる音声データベースをストレージ405に保存して管理する。また、データ管理部702は、音声制御装置102、音声制御装置107、画像形成装置101、画像形成装置110等と通信するために必要となる各デバイス情報をストレージ405等に保存して管理する。
【0061】
音声認識部705は、データ送受信部701が受信したユーザの音声データをテキストに変換する音声認識処理を行う。音声認識処理では、音声認識部705は、音響モデルを用いてユーザの音声データを音素に変換し、更に言語モデルを用いて音素を実際のテキストデータに変換する。なお、入力する音声の言語は複数存在してよい。そのため、音声認識処理では、入力された音声データの言語を判定して言語に沿ったテキストデータに変換する第1の音声認識方式が用いられても良い。また、音声認識処理では、入力された音声データを異なる言語の音響モデルを用いて音素に変換し、対応する言語モデルを用いて、言語毎のテキストデータに変換して出力する第2の音声認識方式が用いられても良い。第2の音声認識方式の場合、複数の言語形式でテキストデータに変換するため、音声認識部705は音声認識処理の結果として、テキストと言語設定から成る音声認識データを出力する。
【0062】
形態素解析部706は、音声認識部705によって変換された音声認識データに対し、言語設定に沿った形態素解析を行う。形態素解析は、その言語の文法や品詞等の情報を持つ辞書から形態素列を導出し、更に各形態素の品詞等を判別する。形態素解析部706は、例えば、JUMAN、茶筒、MeCab等の公知の形態素解析ソフトウエアを用いて実現することができる。例えば、形態素解析部706は、音声認識部705によって変換された「MFP1にファイルBを1枚プリント」という音声認識データを、「M」「F」「P」「1」、「に」「ファイルB」、「を」、「1」、「枚」、「プリント」の形態素列として解析する。
【0063】
グループID判定部707は、形態素解析部706による形態素解析の結果と図7BのグループIDリストとをマッチングすることでグループIDを判定し、グループIDの判定結果を生成する。一例として、形態素列が「1」、「部」、「プリント」である場合について説明する。この場合、グループID判定部707は、図7BのグループIDリストから、「1」、「部」、「プリント」のグループIDである「NUM00001」、「CNF00001」、「FNC00002」を判定する。グループID判定部707は、グループIDの判定結果として、{ID:NUM00001、ID:CNF00001、ID:FNC00002}を生成する。グループIDリストは、画像形成装置101及び画像形成装置110のユーザ操作に関して同じ意味や意図を持つワードが同じIDとしてグルーピングされている。なお、このワードは、ユーザが音声制御装置102や音声制御装置107に対して発話する言葉を音声認識した結果である。
【0064】
ファイル名判定部709は、形態素解析部706によって解析された形態素の中に、例えば、ファイルAといったファイルキーワードが含まれている場合、RAM403上に保存されている対話セッションデータからサービスIDを取得する。ファイル名判定部709は、ストレージ405に保存されている後述する図32のファイル管理リストからサービスIDとファイルキーワードをキーにして探索を行い、例えば、ファイルパス「¥user1¥file¥fileB.JPG」を取得する。
【0065】
音声合成部708は、画像形成装置101や画像形成装置110から受信した通知データに基づいて音声合成処理を行う。音声合成処理では、音声合成部708は、所定の通知に対して、組となる予め用意されたテキストをMP3等の所定のフォーマットの音声データに変換する。例えば、音声合成部708は、データ管理部702が管理する音声データベースに基づいて音声データを生成する。音声データベースは、例えば、単語等の定型の内容を発した音声を集めたデータベースである。なお、本実施の形態では、音声データベースを用いて音声合成処理を行っているが、音声合成の手法として他の手法を用いてもよく、音声データベースによる手法に限定するものではない。
【0066】
デバイス操作データ生成部703は、グループID判定部707によって判定されたグループIDと音声認識データの言語設定に基づいて、画像形成装置101や画像形成装置110の操作を決定し、操作に対応した所定のデータ形式のファイルを生成する。例えば、音声認識データの言語設定が「日本語」であって、グループID判定結果が{ID:NUM00001、ID:CNF00001、ID:FNC00002}である場合について説明する。この場合、デバイス操作データ生成部703は、「FNC00002」から画像形成装置101又は画像形成装置110にプリントジョブを実行させると判断する。デバイス操作データ生成部703は、プリントジョブを実行するための「“operation”:“jobStart”」「“jobName”:“Print”」という文字列を生成する。また、デバイス操作データ生成部703は、「NUM00001」、「CNF00001」に基づいて、コピージョブの部数に1を指定すると判断して、「部数:1」を指定するための「“copies”:“1”」という文字列を生成する。更に、デバイス操作データ生成部703は、ファイル名判定部709によって取得したファイルパス「¥user1¥file¥fileB.JPG」から、ストレージ405に保存された画像ファイル「fileB.JPG」を参照する。デバイス操作データ生成部703は、画像ファイル「fileB.JPG」のバイナリデータの文字列を生成する。実際はファイルヘッダ部分を含んだ膨大なデータが文字列として生成されることになるが、本実施の形態では、説明を容易にするために、バイナリデータを仮のデータである「“data”:“yyyy・・・”」として説明する。
【0067】
また、デバイス操作データ生成部703は、形態素解析部706によって解析された形態素「M」「F」「P」「1」とRAM403に保存された対話セッションデータのサービスIDである「user1@aaa.com」に基づいて、後述の図23のニックネームデータリストから画像形成装置101のシリアル番号、例えば、「mfp_serial111」を取得する。デバイス操作データ生成部703は、対話セッションデータのサービスID「user1@aaa.com」と画像形成装置101のシリアル番号「mfp_serial111」に基づいて後述する図22の画像形成装置サービスデータリストから取得した優先装置、例えば、「speeker1」が対話セッションデータの音声制御装置シリアル番号「speeker1」と一致しているため、優先装置を示す「“priority“:”high“」を生成する。デバイス操作データ生成部703は、生成したこれらの文字列を結合してジョブ実行形式のデータを生成する。
【0068】
デバイス操作権限管理部704は、デバイス操作データ生成部703によって生成されたジョブ実行形式のデータを受け取るデバイスの操作権限を限定するフラグを管理する。デバイスの操作権限は、音声操作対象となる画像形成装置101及び画像形成装置110に1つずつ付与されている。例えば、音声制御装置102及び音声制御装置107のうち、画像形成装置101の操作権限を設定された音声制御装置のみが、画像形成装置101に対して、クラウドサーバ103を介して音声操作可能となる。
【0069】
図8は、図1の情報処理システム100における画像形成装置の登録の流れを説明するためのシーケンス図である。図8では、一例として、ユーザ106が画像形成装置101の登録指示を行う場合について説明する。なお、図8では、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して、ユーザ情報を予め登録していることとする。ユーザ情報は、サービスID「user1@aaa.com」と、これに対応するパスワード「aaaa」を含む。上記サービスID及びパスワードは、クラウドサーバ103のストレージ405に保存されている。
【0070】
図8において、まず、ユーザ106は、画像形成装置101の登録操作を行う(ステップS801)。具体的に、ユーザ106は、画像形成装置101の操作パネル209を操作して、サービスURL、サービスID「user1@aaa.com」、パスワード「aaaa」を入力する。次いで、画像形成装置101のCPU202は、ネットワークI/F206を介してクラウドサーバ103へ画像形成装置101の登録要求を送信する(ステップS802)。画像形成装置101の登録要求には、ステップS801にて入力されたサービスID及びパスワードが含まれる。また、画像形成装置101の登録要求には、画像形成装置101のROM204に保存されている画像形成装置101のシリアル番号である「mfp_serial111」や空文字のニックネームも含まれる。更に、画像形成装置101の登録要求には、画像形成装置101のRAM203に保存されている画像形成装置101のIPアドレス、例えば、「xxx.xxx.xxx.xxx」も含まれる。
【0071】
クラウドサーバ103のCPU402は、受信した画像形成装置101の登録要求に含まれるサービスIDの判定処理を行う(ステップS803)。具体的に、CPU402は、受信した画像形成装置101の登録要求に含まれるサービスID及びパスワードが、予め登録されていたユーザ情報と一致するか否かを判定する。上記サービスID及びパスワードが予め登録されていたユーザ情報と一致する場合、CPU402は、画像形成装置101の登録処理を行う(ステップS804)。具体的に、CPU402は、受信した画像形成装置101の登録要求に含まれるサービスID、パスワード、画像形成装置101のシリアル番号、及び画像形成装置101のIPアドレスを、これらを関連付けてストレージ405に保存する。次いで、CPU402は、ネットワークI/F406を介して画像形成装置101へ、「登録完了」を示す登録結果を通知する(ステップS805)。
【0072】
この通知を受けた画像形成装置101のCPU202は、「登録完了」を知らせる画面を操作パネル209に表示し(ステップS806)、本処理を終了する。なお、本実施の形態では、ユーザ106が画像形成装置101を操作して画像形成装置101の登録指示を行ったが、ユーザ106がクライアント端末109を操作して画像形成装置101の登録指示を行ってもよい。
【0073】
上述した図8の登録処理により、情報処理システム100において、画像形成装置101に対応付けて設定された音声制御装置が受け付けた音声指示に従って、画像形成装置101を音声操作可能となる。
【0074】
図9は、図1の情報処理システム100における音声制御装置の登録の流れを説明するためのシーケンス図である。図9では、一例として、ユーザ106が音声制御装置102の登録指示を行う場合について説明する。なお、図9でも、ユーザ106が、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。
【0075】
図9において、まず、ユーザ106は、音声制御装置102の電源をオンし(ステップS901)、音声制御装置102をセットアップモードに設定する(ステップS902)。これにより、音声制御装置102は、セットアップモード状態に移行する。音声制御装置102のCPU302は、音声制御装置102がセットアップモード状態であることを示すLED点灯制御を行う。具体的に、CPU302は、LED312を点灯させる(ステップS903)。
【0076】
次いで、ユーザ106は、クライアント端末109に対し、音声制御装置102の登録指示を行うための設定アプリの起動指示を行う(ステップS904)。クライアント端末109は、起動指示に従って当該設定アプリを起動させ、セットアップモード状態の音声制御装置102を探索する(ステップS905)。
【0077】
探索された音声制御装置102のCPU302は、クライアント端末109に対して応答を返す(ステップS906)。応答を受けたクライアント端末109は、クラウドサーバ103へログイン要求を送信する(ステップS907)。ログイン要求は、ユーザ106が入力したサービスURL「http://service1.com」、サービスID「user1@aaa.com」、及びパスワード「aaaa」を含む。
【0078】
クラウドサーバ103のCPU402は、受信したログイン要求に含まれるサービスID及びパスワードに基づいてログイン処理を行う(ステップS908)。ログイン処理を成功すると、CPU402は、その旨を示すログイン応答をクライアント端末109へ通知する(ステップS909)。
【0079】
クライアント端末109は、ログイン処理を成功した旨を示すログイン応答を受信すると、ログイン要求に含めたサービスURL、サービスID、及びパスワードをログイン情報として音声制御装置102へ送信する(ステップS910)。
【0080】
音声制御装置102のCPU302は、ログイン情報を受信すると、クラウドサーバ103に接続要求を送信する(ステップS911)。接続要求には、クライアント端末109から受信した上記ログイン情報や、音声制御装置102のシリアル番号である「speeker1」が含まれる。次いで、CPU302は、接続処理状態であることを示すLED点灯制御を行う。具体的に、CPU302は、LED312を点滅させる(ステップS912)。
【0081】
クラウドサーバ103のCPU402は、受信した接続要求に含まれるログイン情報に基づいてログイン処理を実行する(ステップS913)。ログイン処理を成功すると、CPU402は、音声制御装置102のシリアル番号である「speeker1」を登録する(ステップS914)。音声制御装置102のシリアル番号の登録を完了すると、CPU402は、その旨を示す登録完了応答を音声制御装置102へ通知する(ステップS915)。
【0082】
音声制御装置102のCPU302は、登録完了応答を受信すると、クラウドサーバ103に接続状態であることを示すLED点灯制御を行う。具体的に、CPU302は、LED312を点灯させ(ステップS916)、本処理を終了する。
【0083】
上述した図9の登録処理により、情報処理システム100において、画像形成装置101や画像形成装置110の連携対象となる音声制御装置として音声制御装置102を選択することが可能となる。
【0084】
図10は、第1の実施の形態の情報処理システム100による音声操作制御の第1の例を示すシーケンス図である。なお、図10の音声操作制御においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図10の音声操作制御では、図8の登録処理による画像形成装置101の登録、並びに図9の登録処理による音声制御装置107及び音声制御装置102の登録が既に完了していることとする。なお、図10の音声操作制御では、音声制御装置102、画像形成装置101、クラウドサーバ103は、互いに通信可能な状態であることとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリント等の機能を呼び出し可能な状態であることとする。
【0085】
図10において、まず、ユーザ108は、音声制御装置107に対して、対話セッションを開始するためのキーワードであるウェイクワードを発する(ステップS1001)。ウェイクワードは、例えば、「スピーカ2を起動して」である。なお、スピーカ2は音声制御装置107に対応する。
【0086】
音声制御装置107のCPU302’は、ユーザ108がウェイクワードを発したことを検知すると、応答処理状態を示すLED点灯制御を行う。具体的に、CPU302’は、表示コントローラ311’を介してLED312’を点滅させる。次いで、CPU302’は、対話セッションを開始する(ステップS1002)。対話セッションが継続している間、ユーザ108はウェイクワードを発することなく、続けて自身の行いたい指示を発することができる。音声制御装置107は、対話セッションを開始してから音声操作開始検知部607による操作開始通知を受信するまでの間、待機状態となり、待機状態では、LED312’が消灯する。
【0087】
対話セッションを開始した後、ユーザ108は、音声制御装置107に対して、プリント開始指示となるキーワードを発する(ステップS1003)。このキーワードは、例えば、「MFP1にファイルAを50部プリント」である。なお、MFP1は画像形成装置101に対応する。
【0088】
音声制御装置107のCPU302’は、ユーザ108が上記キーワードを発したことを検知すると、応答処理状態を示すLED点灯制御を行う。具体的に、CPU302’は、表示コントローラ311’を介してLED312’を点滅させる(ステップS1004)。次いで、CPU302’は、ジョブ要求を、ネットワークI/F306’を介してクラウドサーバ103へ送信する(ステップS1005)。このジョブ要求は、ステップS1003にてユーザ108が発したキーワードの音声データ、及び音声制御装置107のシリアル番号である「speeker2」を含む。
【0089】
クラウドサーバ103のCPU402は、受信した音声データに対して、音声認識処理を施す(ステップS1006)。ステップS1006の処理により、「MFP1にファイルAを50部プリント」という音声がテキストとして生成される。次いで、CPU402は、生成したテキストに対して形態素解析処理を施す(ステップS1007)。ステップS1007の処理により、「MFP1にファイルAを50部プリント」というテキストが、「M」「F」「P」「1」、「に」「ファイル」「A」「を」「50」「部」「プリント」、という形態素列として解析される。CPU402は、形態素列「M」「F」「P」「1」、「に」「ファイル」「A」「を」「50」「部」「プリント」をRAM403に保存された形態素列解析結果リストに記録する。
【0090】
次いで、CPU402は、ステップS1007にて解析した形態素列のテキストに対して、グループID判定処理を行う(ステップS1008)。グループID判定処理では、例えば、「M」「F」「P」「1」、「に」「ファイル」「A」「を」「50」「部」「プリント」、という形態素列と図7BのグループIDリストとのマッチングが行われる。CPU402は、グループIDの判定結果として{ID:ALP00013、ID:ALP00006、ID:ALP00016、ID:NUM00001、ID:ALP00001、ID:NUM00050、ID:CNF00001、ID:FNC00002}を生成する。CPU402は、グループID判定結果の末尾が{ID:FNC00002}であることから、音声制御装置107から受信したジョブ要求がプリントジョブの実行指示であると判断する。
【0091】
次いで、CPU402は、画像形成装置101の操作権限の設定処理を行う(ステップS1009)。上述したように操作権限は、画像形成装置一つにつき一つのみ付与されている。画像形成装置101の操作権限が空き状態である場合、つまり、画像形成装置101の操作権限が他の音声制御装置に設定されていない場合、画像形成装置101の操作権限が、ステップS1002にて対話セッションを開始した音声制御装置107に設定される。
【0092】
画像形成装置101の操作権限が音声制御装置107に設定されると、CPU402は、ジョブコマンド生成処理を行う(ステップS1010)。ステップS1010では、音声制御装置107から受信したジョブ要求に対応するプリントジョブを画像形成装置101に実行させるためのプリントジョブコマンドが生成される。次いで、CPU402は、生成したプリントジョブコマンドを画像形成装置101へ送信する(ステップS1011)。
【0093】
画像形成装置101のCPU202は、受信したプリントジョブコマンドに基づいてプリントジョブを実行する(ステップS1012)。次いで、CPU202は、受信したプリントジョブコマンドに対応するプリントジョブを開始したことを示すジョブ開始応答をクラウドサーバ103へ通知する(ステップS1013)。
【0094】
クラウドサーバ103のCPU402は、ジョブ開始応答を受信すると、ジョブ管理情報を登録する(ステップS1014)。ジョブ管理情報は、ジョブ状態が「実行中」であることを示す情報、プリントジョブを実行している画像形成装置101を示す情報、画像形成装置101の操作権限が設定された音声制御装置107を示す情報を含む。次いで、CPU402は、音声合成処理を行う(ステップS1015)。ステップS1015では、例えば、「MFP1でプリントを開始しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置107へ送信する(ステップS1016)。
【0095】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS1017)。この音声合成データを再生すると、例えば、「MFP1でプリントを開始しました」といった音声がスピーカ310’から出力される。次いで、CPU302’は、LED312’を消灯させる。その後、クラウドサーバ103が対話セッションの終了判定を行い、その判定結果に基づいてクラウドサーバ103から送信された対話セッション終了通知を受信すると、CPU302’は、対話セッションを終了する。
【0096】
その後、画像形成装置101が上記プリントジョブを完了する前に、ユーザ108と異なるユーザ106が音声制御装置102に対して、ウェイクワードを発する(ステップS1018)。このウェイクワードは、例えば、「スピーカ1を起動して」である。なお、スピーカ1は音声制御装置102に対応する。
【0097】
音声制御装置102のCPU302は、ユーザ106がウェイクワードを発したことを検知すると、応答処理状態を示すLED点灯制御を行う。具体的に、CPU302は、表示コントローラ311を介してLED312を点滅させる。次いで、CPU302は、対話セッションを開始する(ステップS1019)。
【0098】
対話セッションを開始した後、ユーザ106は、音声制御装置102に対して、プリント開始指示となるキーワードを発する(ステップS1020)。このキーワードは、例えば、「MFP1にファイルBを1部プリント」である。
【0099】
音声制御装置102のCPU302は、ユーザ106が上記キーワードを発したことを検知すると、応答処理状態を示すLED点灯制御を行う。具体的に、CPU302は、表示コントローラ311を介してLED312を点滅させる(ステップS1021)。次いで、CPU302は、ジョブ要求を、ネットワークI/F306を介してクラウドサーバ103へ送信する(ステップS1022)。このジョブ要求は、S1020にてユーザ106が発したキーワードの音声データ、及び音声制御装置102のシリアル番号である「speeker1」を含む。
【0100】
クラウドサーバ103のCPU402は、受信した音声データに対して、音声認識処理を施す(ステップS1023)。ステップS1023の処理により、「MFP1にファイルBを1部プリント」という音声がテキストとして生成される。次いで、CPU402は、生成したテキストに対して形態素解析処理を施す(ステップS1024)。ステップS1024の処理により、「MFP1にファイルBを1部プリント」というテキストが、「M」「F」「P」「1」、「に」「ファイル」「B」「を」「1」「部」「プリント」、という形態素列として解析される。CPU402は、形態素列「M」「F」「P」「1」、「に」「ファイル」「B」「を」「1」「部」「プリント」をRAM403に保存された形態素列解析結果リストに記録する。
【0101】
次いで、CPU402は、ステップS1024にて解析した形態素列のテキストに対して、グループID判定処理を行う(ステップS1025)。グループID判定処理では、例えば、「M」「F」「P」「1」、「に」「ファイル」「B」「を」「1」「部」「プリント」という形態素列と図7BのグループIDリストとのマッチングが行われる。CPU402は、グループIDの判定結果として{ID:ALP00013、ID:ALP00006、ID:ALP00016、ID:NUM00001、ID:ALP00002、ID:NUM00001、ID:CNF00001、ID:FNC00002}を生成する。CPU402は、グループID判定結果の末尾が{ID:FNC00002}であることから、音声制御装置102から受信したジョブ要求がプリントジョブの実行指示であると判断する。
【0102】
次いで、CPU402は、画像形成装置101の操作権限の設定処理を行う(ステップS1026)。ここで、画像形成装置101の操作権限は、ステップS1009にて音声制御装置107に既に設定されているため、その後に対話セッションを開始した音声制御装置102に画像形成装置101の操作権限が設定されない。
【0103】
画像形成装置101の操作権限が音声制御装置102に設定されない場合、CPU402は、音声合成処理を行う(ステップS1027)。ステップS1027では、例えば、「MFP1は使用中です」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置102へ送信する(ステップS1028)。
【0104】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS1029)。この音声合成データを再生すると、例えば、「MFP1は使用中です」といった音声がスピーカ310から出力される。次いで、CPU302は、LED312を消灯させる。その後、クラウドサーバ103が対話セッションの終了判定を行い、その判定結果に基づいてクラウドサーバ103から送信された対話セッション終了通知を受信すると、CPU302は、対話セッションを終了する。
【0105】
一方、画像形成装置101のCPU202は、ステップS1012にて開始したプリントジョブを終了すると、「正常終了」を示すジョブ終了通知を、ネットワークI/F406を介してクラウドサーバ103へ送信する(ステップS1030)。
【0106】
クラウドサーバ103のCPU402は、ジョブ終了通知を受信すると、音声制御装置107に対する画像形成装置101の操作権限の設定を解除する(ステップS1031)。次いで、CPU402は、ステップS1014にて登録されたジョブ管理情報を更新する(ステップS1032)。具体的に、CPU402は、ジョブ管理情報において、ジョブ状態を「実行中」から「スタンバイに」更新する。また、CPU402は、プリントジョブを実行している画像形成装置101を示す情報、及び画像形成装置101の操作権限が設定された音声制御装置107を示す情報をジョブ管理情報から消去する。次いで、CPU402は、音声合成処理を行う(ステップS1033)。ステップS1033では、例えば、「MFP1でプリントジョブが正常に終了しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置107へ送信する(ステップS1034)。
【0107】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS1035)。この音声合成データを再生すると、例えば、「MFP1でプリントジョブが正常に終了しました」といった音声がスピーカ310’から出力される。その後、本処理は終了する。
【0108】
上述した第1の実施の形態によれば、音声制御装置102と音声制御装置107のうちどちらが優先される装置であるかの情報に基づいて画像形成装置101にジョブを実行させる制御が行われる。これにより、複数の音声制御装置が1つの画像形成装置と連携する構成において指示の競合状態に適切に対応することができる。
【0109】
また、上述した第1の実施の形態では、音声制御装置102及び音声制御装置107の一方に画像形成装置101の操作権限が設定され、画像形成装置101の操作権限が設定された音声制御装置が受け付けた音声指示に対応するジョブを画像形成装置101に実行させる。これにより、指示の競合状態を回避することができる。
【0110】
さらに、上述した第1の実施の形態では、音声制御装置102及び音声制御装置107のうち、先に音声指示を受け付けた音声制御装置に画像形成装置101の操作権限が設定される。これにより、先に受け付けた音声指示に対応するプリントジョブを確実に実行することができる。
【0111】
なお、上述した第1の実施の形態では、音声制御装置102及び音声制御装置107のうち、高い優先度が設定された音声制御装置に画像形成装置101の操作権限が設定されても良い。
【0112】
図11は、図1の情報処理システム100における音声制御装置の優先度を設定する際の画面遷移を示す図である。本実施の形態では、クラウドサーバ103にログインする端末として画像形成装置101を使用する例を示すが、クラウドサーバ103にログインする端末は、画像形成装置101に限られない。例えば、PCやモバイルデバイス等の装置をクラウドサーバ103にログインする端末として使用してもよい。
【0113】
図11のログイン画面1101は、クラウドサーバ103にログインするための画面であり、クラウドサーバ103にログインする端末である画像形成装置101の操作パネル209に表示される。ログイン画面1101は、操作パネル209に表示されたブラウザにおけるURL入力項目1102に、所定のURLを入力することで表示される。ユーザがログイン画面1101におけるサービスURL入力項目1103、サービスID入力項目1104、及びパスワード入力項目1105に値を入力し、ログインボタン1106を押下すると、操作パネル209の画面が設定メニュー画面1107に遷移する。
【0114】
設定メニュー画面1107は、登録された画像形成装置や音声制御装置の設定を行うための画面である。ユーザが設定メニュー画面1107において優先度設定ボタン1108を押下すると、操作パネル209の画面がMFP選択画面1109に遷移する。
【0115】
MFP選択画面1109は、登録された複数の画像形成装置の中から、連携する音声制御装置の優先度の設定を行う画像形成装置を選択する画面である。ユーザがMFP選択画面1109に表示された複数の画像形成装置の中から1つの画像形成装置を選択すると、操作パネル209の画面が音声制御装置優先度設定画面1111に遷移する。本実施の形態では、一例として、画像形成装置101に対応するMFPボタン1110が選択されたこととする。
【0116】
音声制御装置優先度設定画面1111には、画像形成装置101と連携するデバイスとして予め登録された音声制御装置のリストと、各音声制御装置の優先度が表示される。ユーザが或る音声制御装置の優先度を変更してOKボタン1112を押下すると、当該音声制御装置の優先度として変更後の優先度が設定される。本実施の形態では、優先度の値が「1」である場合、優先度が最も高く、優先度の値が大きくなるに従って優先度は低くなる。
【0117】
図12は、第1の実施の形態の情報処理システム100による音声操作制御の第2の例を示すシーケンス図である。図12の音声操作制御は、図10の音声操作制御と基本的に同じであり、以下では、図10の音声操作制御と異なる点について説明する。なお、図12において、音声制御装置107には音声制御装置102より低い優先度が設定されていることとする。図12では、一例として、画像形成装置101が音声制御装置107の音声操作によるプリントジョブを実行している最中に、音声制御装置107より高い優先度が設定された音声制御装置102が他のプリントジョブの実行指示となる音声指示を受け付けた場合について説明する。なお、図12の音声操作制御においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図12の音声操作制御でも、図8の登録処理による画像形成装置101の登録、並びに図9の登録処理による音声制御装置107及び音声制御装置102の登録が既に完了していることとする。なお、図12の音声操作制御でも、音声制御装置102、画像形成装置101、クラウドサーバ103は、互いに通信可能な状態であることとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリント等の機能を呼び出し可能な状態であることとする。
【0118】
図12において、まず、ステップS1001~S1008と同様の処理であるステップS1201~S1208行われる。これにより、クラウドサーバ103は、音声制御装置107から受信したジョブ要求に基づいて、音声認識処理、形態素解析処理、グループID判定処理を行う。次いで、クラウドサーバ103のCPU402は、後述する図13の操作権限設定処理を実行し(ステップS1209)、画像形成装置101の操作権限を音声制御装置107に設定する。次いで、ステップS1010~S1025と同様の処理であるステップS1210~S1225が行われる。これにより、音声制御装置107から受信したジョブ要求に対応するプリントジョブを画像形成装置101が実行している最中に音声制御装置102から送信されたジョブ要求に基づいて、クラウドサーバ103が音声認識処理、形態素解析処理、グループID判定処理を行う。
【0119】
次いで、クラウドサーバ103のCPU402は、後述する図13の操作権限設定処理を実行する(ステップS1226)。ここで、画像形成装置101の操作権限は、ステップS1209にて音声制御装置107に設定されているが、上述したように音声制御装置102は音声制御装置107より優先度が高い。このような場合、ステップS1226において、音声制御装置107に対する画像形成装置101の操作権限の設定が解除され、画像形成装置101の操作権限は、音声制御装置102に設定される。次いで、CPU402は、実行しているプリントジョブを停止させるプリントジョブ停止処理依頼を画像形成装置101へ送信する。
【0120】
画像形成装置101のCPU202は、受信したプリントジョブ停止処理依頼に従って、プリントジョブ停止処理を実行する(ステップS1228)。プリントジョブ停止処理では、CPU202は、実行していたプリントジョブ、つまり、ステップS1212にて開始した音声制御装置107の音声操作によるプリントジョブを停止させる。このプリントジョブを停止して他のプリントジョブを実行可能な状態になると、CPU202は、プリントジョブ終了応答をクラウドサーバ103へ返す(ステップS1229)。
【0121】
クラウドサーバ103のCPU402は、ジョブ終了応答を受信すると、音声合成処理を行う(ステップS1230)。ステップS1230では、例えば、「MFP1でのプリントに割り込まれました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置107へ送信する(ステップS1231)。
【0122】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS1232)。この音声合成データを再生すると、例えば、「MFP1でのプリントに割り込まれました」といった音声がスピーカ310’から出力される。
【0123】
一方、クラウドサーバ103のCPU402は、ステップS1231にて音声合成データを音声制御装置107へ送信した後、ステップS1214にて登録したジョブ管理情報を更新する(ステップS1233)。ステップS1233では、このジョブ管理情報から、ジョブ状態が「実行中」であることを示す情報が削除される。次いで、CPU402は、ステップS1222にて音声制御装置102から受信した音声データに基づいて、ジョブコマンド生成処理を行う(ステップS1234)。次いで、CPU402は、生成したプリントジョブコマンドを画像形成装置101へ送信する(ステップS1235)。
【0124】
画像形成装置101のCPU202は、受信したプリントジョブコマンドに基づいてプリントジョブを実行する(ステップS1236)。次いで、CPU202は、受信したプリントジョブコマンドに対応するプリントジョブを開始したことを示すジョブ開始応答をクラウドサーバ103へ通知する(ステップS1237)。
【0125】
クラウドサーバ103のCPU402は、ジョブ開始応答を受信すると、ジョブ管理情報を登録する(ステップS1238)。このジョブ管理情報は、ジョブ状態が「実行中」であることを示す情報、プリントジョブを実行している画像形成装置101を示す情報、画像形成装置101の操作権限が設定された音声制御装置102を示す情報を含む。次いで、CPU402は、音声合成処理を行う(ステップS1239)。ステップS1239では、例えば、「MFP1のプリントに割り込みしました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置102へ送信する(ステップS1240)。
【0126】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS1241)。この音声合成データを再生すると、「MFP1のプリントに割込みました」といった音声がスピーカ310から出力される。次いで、CPU302は、LED312を消灯させる。その後、クラウドサーバ103が対話セッションの終了判定を行い、その判定結果に基づいてクラウドサーバ103から送信された対話セッション終了通知を受信すると、CPU302は、対話セッションを終了する。
【0127】
一方、画像形成装置101のCPU202は、ステップS1236にて開始したプリントジョブを終了すると、「正常終了」を示すジョブ終了通知を、ネットワークI/F406を介してクラウドサーバ103へ送信する(ステップS1242)。
【0128】
クラウドサーバ103のCPU402は、ジョブ終了通知を受信すると、ステップS1238にて登録されたジョブ管理情報を削除する(ステップS1243)。次いで、CPU402は、音声合成処理を行う(ステップS1244)。ステップS1244では、例えば、「MFP1のジョブが終了しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置102へ送信する(ステップS1245)。
【0129】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS1246)。この音声合成データを再生すると、例えば、「MFP1のジョブが終了しました」といった音声がスピーカ310から出力される。
【0130】
一方、クラウドサーバ103のCPU402は、ステップS1245にて音声合成データを音声制御装置102へ送信した後、後述する図13の操作権限設定処理を実行する(ステップS1247)。ステップS1247では、音声制御装置102に対する画像形成装置101の操作権限の設定が解除され、ステップS1226にて設定が解除された音声制御装置107に画像形成装置101の操作権限が設定される。なお、この設定処理は、クラウドサーバ103がステップS1242にて画像形成装置101から送信されたジョブ終了通知を受信してからステップS1248の処理を開始するまでの間であれば、別のタイミングで実行されてもよい。次いで、CPU402は、ステップS1233にて更新されたジョブ管理情報を更新する(ステップS1248)。ステップS1248では、このジョブ管理情報に、ジョブ状態が「再開」であることを示す情報が追加される。次いで、CPU402は、ジョブコマンド生成処理を実行する(ステップS1249)。ステップS1249では、ステップS1228にて停止させていたプリントジョブを再開させるためのプリントジョブコマンドが生成される。次いで、CPU402は、生成したプリントジョブコマンドを画像形成装置101へ送信する(ステップS1250)。
【0131】
画像形成装置101のCPU202は、受信したプリントジョブコマンドに基づいて、プリントジョブ再開処理を行う(ステップS1251)。これにより、ステップS1228にて停止されたプリントジョブ、つまり、音声制御装置107の音声操作によるプリントジョブが再開される。次いで、CPU202は、上記プリントジョブを再開した旨を示すプリントジョブ再開応答をクラウドサーバ103へ送信する(ステップS1252)。
【0132】
クラウドサーバ103のCPU402は、プリントジョブ再開応答を受信すると、音声合成処理を行う(ステップS1253)。ステップS1253では、例えば、「MFP1でのプリントを再開しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置107へ送信する(ステップS1254)。
【0133】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS1255)。この音声合成データを再生すると、「MFP1でのプリントを再開しました」といった音声がスピーカ310’から出力される。
【0134】
一方、画像形成装置101のCPU202は、ステップS1251にて再開したプリントジョブを終了すると、「正常終了」を示すジョブ終了通知を、ネットワークI/F406を介してクラウドサーバ103へ送信する(ステップS1256)。
【0135】
クラウドサーバ103のCPU402は、ジョブ終了通知を受信すると、後述する図13の操作権限設定処理を実行し(ステップS1257)、音声制御装置107に対する画像形成装置101の操作権限の設定を解除する。次いで、CPU402は、ステップS1248にて更新されたジョブ管理情報を更新する(ステップS1258)。具体的に、CPU402は、ジョブ管理情報において、ジョブ状態を「実行中」から「スタンバイ」に更新する。また、CPU402は、プリントジョブを実行している画像形成装置101を示す情報、及び画像形成装置101の操作権限が設定された音声制御装置107を示す情報をジョブ管理情報から消去する。次いで、CPU402は、音声合成処理を行う(ステップS1259)。ステップS1259では、例えば、「MFP1でのプリントジョブが正常に終了しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置107へ送信する(ステップS1260)。
【0136】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS1261)。この音声合成データを再生すると、例えば、「MFP1でのプリントジョブが正常に終了しました」といった音声がスピーカ310’から出力される。その後、本処理は終了する。
【0137】
図13は、図12のステップS1209、S1226、S1247、S1257の操作権限設定処理の手順を示すフローチャートである。図13の操作権限設定処理は、クラウドサーバ103のCPU402が、ROM404又はストレージ405に格納されたプログラムを実行することによって実現される。図13の操作権限設定処理は、音声制御装置102や音声制御装置107がクラウドサーバ103へジョブ要求となる音声データを送信した場合、若しくは画像形成装置101や画像形成装置110がクラウドサーバ103へジョブ終了通知を送信した場合に実行される。
【0138】
図13において、CPU402は、受信したデータがジョブ要求及びジョブ終了通知の何れであるかを判別する(ステップS1301)。
【0139】
ステップS1301の判別の結果、受信したデータがジョブ要求である場合、CPU402は、受信したジョブ要求に対応するジョブを実行させる装置の操作権限が、当該ジョブ要求の送信元と異なる音声制御装置に設定済みであるか否かを判別する(ステップS1302)。例えば、受信したジョブ要求が、音声制御装置102から送信されたジョブ要求であって画像形成装置101にプリントジョブを実行させるジョブ要求である場合、ステップS1302では、画像形成装置101の操作権限が音声制御装置102と異なる音声制御装置107に設定済みであるか否かが判別される。
【0140】
ステップS1302の判別の結果、上記装置の操作権限が上記ジョブ要求の送信元と異なる音声制御装置に設定済みでない場合、CPU402は、上記ジョブ要求の送信元となる音声制御装置に上記装置の操作権限を設定する(ステップS1303)。これにより、例えば、上記ジョブ要求の送信元となる音声制御装置102が画像形成装置101の操作権限を取得する。その後、操作権限設定処理は終了する。
【0141】
ステップS1302の判別の結果、上記装置の操作権限が上記ジョブ要求の送信元と異なる音声制御装置に設定済みである場合、CPU402は、上記装置の操作権限が設定されている音声制御装置の優先度とジョブ要求の送信元となる音声制御装置の優先度とを比較する(ステップS1304)。CPU402は、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より高いか否かを判別する(ステップS1305)。
【0142】
ステップS1305の判別の結果、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より低い場合、CPU402は、本処理を終了する。ステップS1305の判別の結果、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より高い場合、CPU402は、ステップS1306の処理を行う。ステップS1306では、CPU402は、上記装置の操作権限が設定されていた音声制御装置に対する上記装置の操作権限の設定を解除し、上記ジョブ要求の送信元となる音声制御装置に上記装置の操作権限を設定する。その後、操作権限設定処理は終了する。
【0143】
ステップS1301の判別の結果、受信したデータがジョブ終了通知である場合、CPU402は、他にジョブ要求を受けているか否かを判別する(ステップS1307)。ステップS1307では、例えば、終了したジョブの要求元と異なる音声制御装置からジョブ要求を受けている場合、CPU402は、他にジョブ要求を受けていると判別する。一方、終了したジョブの要求元と異なる音声制御装置からジョブ要求を受けていない場合、CPU402は、他にジョブ要求を受けていないと判別する。
【0144】
ステップS1307の判別の結果、他にジョブ要求を受けている場合、CPU402は、受けたジョブ要求の送信元となる音声制御装置の中で優先度が最も高い音声制御装置を特定する。CPU402は、特定した音声制御装置に上記装置の操作権限を設定する(ステップS1308)。その後、操作権限設定処理は終了する。
【0145】
ステップS1307の判別の結果、他にジョブ要求を受けていない場合、CPU402は、終了したジョブの要求元となる音声制御装置に対する上記装置の操作権限の設定を解除し(ステップS1309)、本処理を終了する。
【0146】
上述した第1の実施の形態では、音声制御装置102及び音声制御装置107のうち、高い優先度が設定された音声制御装置に画像形成装置101の操作権限が設定される。これにより、高い優先度が設定された音声制御装置が受け付けた音声指示に対応するプリントジョブを優先的に実行することができる。
【0147】
また、上述した第1の実施の形態では、音声制御装置107が受け付けた音声指示に対応するプリントジョブを画像形成装置101が実行している最中に音声制御装置107より高い優先度が設定された音声制御装置102が他の音声指示を受け付けた場合、画像形成装置101の操作権限が音声制御装置107から音声制御装置102に変更される。これにより、音声制御装置107が音声指示を受け付けた後に、音声制御装置107より高い優先度が設定された音声制御装置102が音声指示を受け付けた場合に、音声制御装置102に画像形成装置101の操作権限を確実に設定することができる。
【0148】
さらに、上述した第1の実施の形態では、画像形成装置101に対し、音声制御装置107が受け付けた音声指示に対応するプリントジョブの実行を中断させ、音声制御装置102が受け付けた他の音声指示に対応する他のプリントジョブの実行を割り込み実行させる。これにより、音声制御装置107が受け付けた音声指示に対応するプリントジョブが先に実行されていても、音声制御装置107より高い優先度が設定された音声制御装置102が受け付けた音声指示に対応する他のプリントジョブを優先的に実行することができる。
【0149】
上述した第1の実施の形態では、音声制御装置102が受け付けた他の音声指示に対応する他のプリントジョブを完了した後、中断していたプリントジョブ、つまり、音声制御装置107が受け付けた音声指示に対応するプリントジョブを画像形成装置101に再開させる。これにより、音声制御装置107が受け付けた音声指示に対応するプリントジョブが中断されたまま実行されなくなるのを防止することができる。
【0150】
なお、上述した第1の実施の形態では、音声制御装置107より高い優先度が設定された音声制御装置102が受け付けた音声指示がデバイス状況確認を行うためのキーワードである場合、画像形成装置101の操作権限が音声制御装置107に設定されたまま保持されてもよい。
【0151】
図14は、第1の実施の形態の情報処理システム100による音声操作制御の第3の例を示すシーケンス図である。図14の音声操作制御は、図10及び図12の音声操作制御と基本的に同じであり、以下では、図10及び図12の音声操作制御と異なる点について説明する。なお、図14においても、音声制御装置107には音声制御装置102より低い優先度が設定されていることとする。図14では、一例として、画像形成装置101が音声制御装置107の音声操作によるプリントジョブを実行している最中に、音声制御装置102が画像形成装置101の状態確認指示となるキーワードを受け付けた場合について説明する。なお、図14の音声操作制御においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図14の音声操作制御でも、図8の登録処理による画像形成装置101の登録、並びに図9の登録処理による音声制御装置107及び音声制御装置102の登録が既に完了していることとする。なお、図14の音声操作制御でも、音声制御装置102、画像形成装置101、クラウドサーバ103は、互いに通信可能な状態であることとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリント等の機能を呼び出し可能な状態であることとする。
【0152】
図14において、上述したステップS1201~S1219と同様の処理であるステップS1401~S1419が行われる。これにより、画像形成装置101が音声制御装置107の音声操作によるプリントジョブを開始し、その後、音声制御装置107より高い優先度が設定されている音声制御装置102が対話セッションを開始する。次いで、ユーザ106は、音声制御装置102に対して、デバイス状況確認を行うためのキーワードを発する(ステップS1420)。このキーワードは、例えば、「MFP1のトナー残量は?」である。
【0153】
音声制御装置102のCPU302は、ユーザ106が上記キーワードを発したことを検知すると、応答処理状態を示すLED点灯制御を行う。具体的に、CPU302は、表示コントローラ311を介してLED312を点滅させる(ステップS1421)。次いで、CPU302は、デバイス状況確認要求を、ネットワークI/F306を介してクラウドサーバ103へ送信する(ステップS1422)。この状態確認要求は、ステップS1420にてユーザ106が発したキーワードの音声データ、及び音声制御装置102のシリアル番号を含む。
【0154】
クラウドサーバ103のCPU402は、受信した音声データに対して、音声認識処理を施す(ステップS1423)。ステップS1423の処理により、「MFP1のトナー残量は?」という音声がテキストとして生成される。次いで、CPU402は、生成したテキストに対して形態素解析処理を施す(ステップS1424)。ステップS1424の処理により、「MFP1のトナー残量は?」というテキストが、「M」「F」「P」「1」、「の」「トナー」「残量」「は?」、という形態素列として解析される。CPU402は、形態素列「M」「F」「P」「1」「の」「トナー」「残量」「は?」をRAM403に保存された形態素列解析結果リストに記録する。
【0155】
次いで、CPU402は、ステップS1424にて解析した形態素列のテキストに対してグループID判定処理を行う(ステップS1425)。グループID判定処理では、例えば、「M」「F」「P」「1」「の」「トナー」「残量」「は?」、という形態素列と図7BのグループIDリストとのマッチングが行われる。CPU402は、グループID判定結果として、{ID:ALP00013、ID:ALP00006、ID:ALP00016、ID:NUM00001、ID:NAM00006、ID:NAM00007}を生成する。CPU402は、グループID判定結果の末尾が{ID:NAM00006、ID:NAM00007}であることから、音声制御装置102から受けた要求がトナー残量の確認要求であり、ジョブ要求でないと判断する。
【0156】
次いで、CPU402は、上述した操作権限設定処理を行わずに、トナー残量確認コマンドを画像形成装置101へ送信する(ステップS1426)。このように、音声制御装置107の音声操作によるプリントジョブを実行している最中に、音声制御装置107より優先度が高い音声制御装置102から要求を受けても、この要求に対応する処理が実行中のジョブと並列処理可能である場合、操作権限の変更(例えば、ステップS1226を参照。)は行われない。
【0157】
画像形成装置101のCPU202は、音声制御装置107の音声操作によるプリントジョブを実行しつつ、トナー残量を確認し、確認したトナー残量を示すトナー残量通知をクラウドサーバ103へ送信する(ステップS1427)。
【0158】
クラウドサーバ103のCPU402は、受信したトナー残量通知に基づいて、音声合成処理を行う(ステップS1428)。ステップS1428では、例えば、「MFP1のトナー残量は50%です」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを音声制御装置102へ送信する(ステップS1429)。
【0159】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS1430)。この音声合成データを再生すると、「MFP1のトナー残量は50%です」といった音声がスピーカ310から出力される。その後、ステップS1030~S1035と同様の処理であるステップS1431~S1436の処理が行われ、本処理は終了する。
【0160】
上述した第1の実施の形態では、音声制御装置107から受信したジョブ要求に対応するプリントジョブを実行している最中に、音声制御装置107より高い優先度が設定された音声制御装置102がデバイス状況確認指示となる音声指示を受け付けた場合、画像形成装置101の操作権限が音声制御装置107に設定されたまま保持される。これにより、音声制御装置102が受け付けた音声指示が音声制御装置107から受信したジョブ要求に対応するプリントジョブと並列処理可能な処理の実行指示であるにも関わらず、当該プリントジョブが不要に中断されるのを防止することができる。
【0161】
なお、上述した実施の形態では、音声制御装置102及び音声制御装置107のうち、緊急性を示す所定のワード(以下、「緊急示唆ワード」という。)を受け付けた音声制御装置に画像形成装置101の操作権限が設定されても良い。
【0162】
図15は、図13の操作権限設定処理の他の手順を示すフローチャートである。図15の操作権限設定処理は、クラウドサーバ103のCPU402が、ROM404又はストレージ405に格納されたプログラムを実行することによって実現される。図15の操作権限設定処理は、クラウドサーバ103が音声制御装置102や音声制御装置107からジョブ要求を受信した場合に実行される。
【0163】
図15において、CPU402は、受信したジョブ要求に含まれる音声データに緊急示唆ワードが含まれているか否かを判別する(ステップS1501)。緊急示唆ワードは、例えば、「急いで」や「緊急」である。
【0164】
ステップS1501の判別の結果、受信したジョブ要求に含まれる音声データに緊急示唆ワードが含まれている場合、CPU402は、当該ジョブ要求の送信元の音声制御装置の優先度を一時的に上げる処理を行う(ステップS1502)。ステップS1502の処理により、上記ジョブ要求の送信元の音声制御装置の優先度が最も高くなる。これにより、緊急示唆ワードを受け付けた音声制御装置に対し、上記ジョブ要求に対応するプリントジョブを実行させる装置の操作権限が設定される。なお、ステップS1502にて、一時的に変更された優先度は、所定のタイミング、例えば、音声制御装置の対話セッションが終了したタイミングで元の優先度の設定に変更される。次いで、CPU402は、上記ジョブ要求に対応するプリントジョブを実行させる装置の操作権限が、上記ジョブ要求の送信元の音声制御装置と異なる他の音声制御装置に設定済みであるか否かを判別する(ステップS1503)。
【0165】
ステップS1503の判別の結果、上記装置の操作権限が他の音声制御装置に設定済みでない場合、CPU402は、上記ジョブ要求の送信元の音声制御装置に上記装置の操作権限を設定し(ステップS1504)、本処理を終了する。
【0166】
ステップS1503の判別の結果、上記装置の操作権限が他の音声制御装置に設定済みである場合、CPU402は、上記装置の操作権限が設定されている音声制御装置の優先度とジョブ要求の送信元となる音声制御装置の優先度とを比較する(ステップS1505)。CPU402は、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より高いか否かを判別する(ステップS1506)。
【0167】
ステップS1506の判別の結果、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より低い場合、CPU402は、本処理を終了する。ステップS1506の判別の結果、ジョブ要求の送信元となる音声制御装置の優先度が上記装置の操作権限が設定されている音声制御装置の優先度より高い場合、CPU402は、ステップS1507の処理を行う。ステップS1507では、CPU402は、上記装置の操作権限が設定されていた音声制御装置に対する上記装置の操作権限の設定を解除し、上記ジョブ要求の送信元となる音声制御装置に上記装置の操作権限を設定する。その後、操作権限設定処理は終了する。
【0168】
上述した第1の実施の形態では、音声制御装置102及び音声制御装置107のうち、緊急示唆ワードを受け付けた音声制御装置に画像形成装置101の操作権限が設定される。これにより、ユーザが音声制御装置102及び音声制御装置107の何れに音声指示を行っても、緊急性が高いプリントジョブを即座に実行することができる。
【0169】
次に、クラウドサーバ103が実行する音声データ変換制御プログラム700に含まれるデバイス操作権限管理部704の機能及び構成の詳細について説明する。
【0170】
図16は、図7Aのデバイス操作権限管理部704の構成を概略的に示すブロック図である。図16において、デバイス操作権限管理部704は、デバイス操作受付部1601及び優先度設定管理部1602で構成される。
【0171】
デバイス操作受付部1601は、音声制御装置102等から送信されたジョブ要求又はデバイス状況確認要求に基づいて生成されたコマンドをデバイス操作データ生成部703から受信する。優先度設定管理部1602は、登録された画像形成装置の数と同じ数のMFP操作管理部を備える。図16では、一例として、登録された画像形成装置101及び画像形成装置110の数と同じ2つのMFP操作管理部1603、1606を備える構成について示されている。優先度設定管理部1602は、デバイス操作受付部1601が受信したコマンドが画像形成装置101及び画像形成装置110の何れに対するコマンドであるかを判別し、当該コマンドをMFP操作管理部1603及びMFP操作管理部1606に振り分ける。MFP操作管理部1603には、画像形成装置101に対するコマンドが割り振られ、MFP操作管理部1606には、画像形成装置110に対するコマンドが割り振られる。
【0172】
MFP操作管理部1603は画像形成装置101の操作管理を行い、MFP操作管理部1606は画像形成装置110の操作管理を行う。なお、本実施の形態では、MFP操作管理部1603及びMFP操作管理部1606は、管理対象が異なることを除いて同様の機能及び構成である。以下では、一例として、MFP操作管理部1603を用いてその機能及び構成を説明する。
【0173】
MFP操作管理部1603は、操作権限記憶部1604及び音声制御装置優先度リスト1605を含む。操作権限記憶部1604には、画像形成装置101が実行しているジョブの要求元である音声制御装置のシリアル番号が記録されている。音声制御装置優先度リスト1605には、画像形成装置101と連携する音声制御装置の優先度が設定されている。
【0174】
MFP操作管理部1603は、受信したコマンドがジョブ要求及びデバイス状況確認要求の何れに基づくコマンドであるかを判別する。例えば、受信したコマンドがデバイス状況確認要求に基づくコマンドである場合、MFP操作管理部1603は、当該コマンドを画像形成装置101へ送信する。一方、受信したコマンドがジョブ要求に基づくコマンドである場合、MFP操作管理部1603は、画像形成装置101が実行しているジョブの要求元である音声制御装置のシリアル番号が操作権限記憶部1604に記録されているかについて確認する。
【0175】
画像形成装置101が実行しているジョブの要求元である音声制御装置のシリアル番号が操作権限記憶部1604に記録されている場合、MFP操作管理部1603は、音声制御装置優先度リスト1605を確認する。MFP操作管理部1603は、ジョブ要求の要求元の音声制御装置の優先度と、操作権限記憶部1604に記録されたシリアル番号に対応する音声制御装置の優先度とを比較する。比較した結果、ジョブ要求の要求元の音声制御装置の優先度の方が高い場合、画像形成装置101にて実行中のジョブを中断させ、MFP操作管理部1603が受信したコマンドに従ったジョブを実行させる制御が行われる。このとき、操作権限記憶部1604では、記録されていたシリアル番号がジョブ要求の送信元の音声制御装置のシリアル番号に書き換えられる。一方、比較した結果、ジョブ要求の要求元の音声制御装置の優先度の方が低い場合、ジョブ要求の送信元の音声制御装置へエラーを返す。
【0176】
図17は、図7Aのデバイス操作権限管理部704の内部動作を説明するためのシーケンス図である。
【0177】
図17において、音声制御装置107は、画像形成装置101に対するジョブ要求をクラウドサーバ103へ送信する(ステップS1701)。クラウドサーバ103では、当該ジョブ要求に基づいてプリントジョブコマンドが生成され、デバイス操作権限管理部704のデバイス操作受付部1601は、生成されたプリントジョブコマンドを受信する。
【0178】
次いで、デバイス操作受付部1601は、受信したプリントジョブコマンドを解析して画像形成装置101の操作管理を行うMFP操作管理部1603に当該プリントジョブコマンドを出力する(ステップS1702)。
【0179】
MFP操作管理部1603は、操作権限記憶部1604を確認する(ステップS1703)。操作権限記憶部1604に音声制御装置107と異なる他の音声制御装置のシリアル番号が記録されている場合、MFP操作管理部1603は、音声制御装置優先度リスト1605を確認する(ステップS1704)。MFP操作管理部1603は、操作権限記憶部1604に記録されたシリアル番号に対応する音声制御装置の優先度と、音声制御装置107の優先度を比較する。比較した結果、音声制御装置107の優先度の方が高い場合、MFP操作管理部1603は、操作権限記憶部1604に記録されたシリアル番号を音声制御装置107のシリアル番号に書き換える。次いで、MFP操作管理部1603は、画像形成装置101にプリントジョブコマンドを送信する(ステップS1705)。
【0180】
画像形成装置101は、受信したプリントジョブコマンドに基づいてプリントジョブを開始する(ステップS1706)。次いで、画像形成装置101は、受信したプリントジョブコマンドに対応するプリントジョブを開始したことを示すジョブ開始応答をクラウドサーバ103へ通知する(ステップS1707)。
【0181】
MFP操作管理部1603は、ジョブ開始応答を受信すると、デバイス操作受付部1601にその旨を通知する(ステップS1708)。次いで、クラウドサーバ103は、プリントジョブが開始された旨の音声が再生される音声合成データを生成し、当該音声合成データを音声制御装置107へ送信する(ステップS1709)。
【0182】
その後、音声制御装置107と異なる音声制御装置102が、画像形成装置101のトナー残量を確認するためのデバイス状況確認要求をクラウドサーバ103へ送信する(ステップS1710)。クラウドサーバ103では、当該デバイス状況確認要求に基づいてトナー残量確認コマンドが生成され、デバイス操作受付部1601がトナー残量確認コマンドを受信する。
【0183】
次いで、デバイス操作受付部1601は、受信したトナー残量確認コマンドを解析して、当該トナー残量確認コマンドをMFP操作管理部1603に出力する(ステップS1711)。MFP操作管理部1603は、操作権限記憶部1604を確認して画像形成装置101がトナー残量確認コマンドを実行可能であることを確認し、トナー残量確認コマンドを画像形成装置101へ送信する(ステップS1712)。
【0184】
画像形成装置101は、受信したトナー残量確認コマンドに従って、トナー残量を確認し(ステップS1713)、確認した結果を含むトナー残量通知をクラウドサーバ103へ送信する(ステップS1714)。
【0185】
MFP操作管理部1603は、画像形成装置101からトナー残量通知を受信すると、デバイス操作受付部1601にその旨を通知する(ステップS1715)。次いで、クラウドサーバ103は、トナー残量の確認結果が再生される音声合成データを生成し、当該音声合成データを音声制御装置107へ送信する(ステップS1716)。
【0186】
その後、音声制御装置102が画像形成装置101に対するジョブ要求をクラウドサーバ103へ送信する(ステップS1717)。クラウドサーバ103では、当該ジョブ要求に基づいてプリントジョブコマンドが生成され、デバイス操作権限管理部704のデバイス操作受付部1601がプリントジョブコマンドを受信する。
【0187】
次いで、デバイス操作受付部1601は、受信したプリントジョブコマンドを解析して画像形成装置101の操作管理を行うMFP操作管理部1603に当該プリントジョブコマンドを出力する(ステップS1718)。
【0188】
MFP操作管理部1603は、操作権限記憶部1604を確認する(ステップS1719)。例えば、操作権限記憶部1604に音声制御装置102と異なる他の音声制御装置のシリアル番号が記録されている場合、MFP操作管理部1603は、音声制御装置優先度リスト1605を確認する(ステップS1720)。MFP操作管理部1603は、操作権限記憶部1604に記録されたシリアル番号に対応する音声制御装置の優先度と、ステップS1717にてジョブ要求を送信した音声制御装置102の優先度とを比較する。比較した結果、音声制御装置102の優先度の方が低い場合、MFP操作管理部1603は、ステップS1718にて受信したプリントジョブコマンドに基づくプリントジョブを実行できない旨をデバイス操作受付部1601に通知する(ステップS1721)。クラウドサーバ103は、プリントジョブを実行できない旨の音声が再生される音声合成データを生成し、当該音声合成データを音声制御装置102へ送信する(ステップS1722)。
【0189】
一方、画像形成装置101は、ステップS1706にて開始したプリントジョブを終了すると、ジョブ終了通知をクラウドサーバ103へ送信する(ステップS1723)。
【0190】
MFP操作管理部1603は、ジョブ終了通知を受信すると、操作権限記憶部1604を更新する(ステップS1724)。具体的に、MFP操作管理部1603は、操作権限記憶部1604に記録されている音声制御装置107のシリアル番号を削除する。次いで、MFP操作管理部1603は、画像形成装置101によるプリントジョブを終了した旨をデバイス操作受付部1601に通知する(ステップS1725)。クラウドサーバ103は、画像形成装置101によるプリントジョブを終了した旨の音声が再生される音声合成データを生成し、当該音声合成データを音声制御装置107へ送信する(ステップS1726)。
【0191】
その後、音声制御装置102が、画像形成装置110に対するジョブ要求をクラウドサーバ103へ送信する(ステップS1727)。クラウドサーバ103では、当該ジョブ要求に基づいてプリントジョブコマンドが生成され、デバイス操作権限管理部704のデバイス操作受付部1601が当該プリントジョブコマンドを受信する。
【0192】
次いで、デバイス操作受付部1601は、受信したプリントジョブコマンドを解析して画像形成装置110の操作管理を行うMFP操作管理部1606に当該プリントジョブコマンドを出力する(ステップS1728)。
【0193】
MFP操作管理部1606は、当該MFP操作管理部1606の操作権限記憶部1607を確認する(ステップS1729)。例えば、操作権限記憶部1607に音声制御装置102と異なる他の音声制御装置のシリアル番号が記録されている場合、MFP操作管理部1606は、当該MFP操作管理部1606の音声制御装置優先度リスト1608を確認する(ステップS1730)。MFP操作管理部1606は、操作権限記憶部1607に記録されたシリアル番号に対応する音声制御装置の優先度と、ステップS1727にてジョブ要求を送信した音声制御装置102の優先度とを比較する。比較した結果、音声制御装置102の優先度の方が高い場合、MFP操作管理部1606は、操作権限記憶部1607に記録されたシリアル番号を音声制御装置102のシリアル番号に書き換える。次いで、MFP操作管理部1606は、プリントジョブコマンドを画像形成装置110へ送信する(ステップS1731)。
【0194】
画像形成装置110は、受信したプリントジョブコマンドに基づいてプリントジョブを開始する(ステップS1732)。次いで、画像形成装置110は、受信したプリントジョブコマンドに対応するプリントジョブを開始したことを示すジョブ開始応答をクラウドサーバ103へ通知する(ステップS1733)。
【0195】
MFP操作管理部1606は、ジョブ開始応答を受信すると、デバイス操作受付部1601にその旨を通知する(ステップS1734)。次いで、クラウドサーバ103は、プリントジョブが開始された旨の音声が再生される音声合成データを生成し、当該音声合成データを音声制御装置102へ送信する(ステップS1735)。
【0196】
一方、画像形成装置110は、ステップS1732にて開始したプリントジョブを終了すると、ジョブ終了通知をクラウドサーバ103へ送信する(ステップS1736)。
【0197】
MFP操作管理部1606は、ジョブ終了通知を受信すると、操作権限記憶部1607を更新する(ステップS1737)。具体的に、MFP操作管理部1606は、操作権限記憶部1607に記録されている音声制御装置102のシリアル番号を削除する。次いで、MFP操作管理部1606は、画像形成装置101によるプリントジョブを終了した旨をデバイス操作受付部1601に通知する(ステップS1738)。クラウドサーバ103は、画像形成装置110によるプリントジョブを終了した旨の音声が再生される音声合成データを生成し、当該音声合成データを音声制御装置102へ送信し(ステップS1739)、本処理を終了する。
【0198】
次に、操作権限記憶部1604及び操作権限記憶部1607の詳細な構成について説明する。なお、本実施の形態では、操作権限記憶部1604及び操作権限記憶部1607は、同様の構成である。以下では、一例として、操作権限記憶部1604を用いてその構成を説明する。
【0199】
図18は、図16の操作権限記憶部1604の構成を説明するための図である。図18(a)は、操作権限記憶部1604の構成を概略的に示すブロック図である。図18(b)は、操作権限記憶部1604の動作可能状態を示す表である。
【0200】
図18(a)において、操作権限記憶部1604は、プリント部1801、スキャン部1802、設定部1803、及び排他設定部1804を含む。
【0201】
クラウドサーバ103が音声制御装置102や音声制御装置107から画像形成装置101にプリントジョブを実行させるジョブ要求を受信した場合、プリント部1801のフラグが使用中に変更される。また、ジョブ要求の送信元の音声制御装置のシリアル番号が操作権限記憶部1604に記録される。
【0202】
クラウドサーバ103が音声制御装置102や音声制御装置107から画像形成装置101にスキャンジョブを実行させるジョブ要求を受信した場合、スキャン部1802のフラグが使用中に変更される。また、ジョブ要求の送信元の音声制御装置のシリアル番号が操作権限記憶部1604に記録される。
【0203】
クラウドサーバ103が音声制御装置102や音声制御装置107から画像形成装置101にコピージョブを実行させるジョブ要求を受信した場合、プリント部1801及びスキャン部1802の両方のフラグが使用中に変更される。また、ジョブ要求の送信元の音声制御装置のシリアル番号が操作権限記憶部1604に記録される。
【0204】
クラウドサーバ103が音声制御装置102や音声制御装置107からトナー残量や画像形成装置101の設定等を確認するためのデバイス状況確認要求を受信した場合、設定部1803のフラグが使用中に変更される。このとき、デバイス状況確認要求の送信元の音声制御装置のシリアル番号が操作権限記憶部1604に記録されない。
【0205】
排他設定部1804には、画像形成装置101の排他レベルが設定される。本実施の形態では、排他レベルとして、排他レベル1、排他レベル2、及び排他レベル3の何れかが設定される。なお、排他レベルの設定は、ユーザがクラウドサーバ103にログインして設定してもよく、また、ユーザがPCやモバイル端末を使用して設定してもよい。
【0206】
排他レベル1は、排他レベルが最も低い設定である。排他レベル1が排他設定部1804に設定された場合、予め設定された特定のジョブを画像形成装置101に並列で実行させることができる。画像形成装置101は、例えば、音声制御装置107の音声操作によるプリントジョブを実行している最中に、音声制御装置102の音声操作によるデバイス状況確認又はスキャンジョブを並列で実行可能である(例えば、図18(b)の1805を参照)。なお、コピージョブは、画像形成装置101のスキャナ213及びプリントエンジン211の両方を使用するため、プリントジョブやスキャンジョブと並列実行不可能である。
【0207】
排他レベル2は、排他レベル1より排他レベルが高い設定である。排他レベル2が排他設定部1804に設定された場合、一の音声制御装置の音声操作によるジョブを実行している最中に、一の音声制御装置より優先度が低い音声制御装置からジョブ要求を受信しても、当該ジョブ要求に対応するジョブが実行されない(例えば、図18(b)の1806を参照)。ただし、一の音声制御装置の音声操作によるジョブを実行している最中に、一の音声制御装置より優先度が低い音声制御装置からデバイス状況確認要求を受信した場合には、当該デバイス状況確認要求に対応する処理が実行される。
【0208】
排他レベル3は、排他レベルが最も高い設定である。排他レベル3が排他設定部1804に設定された場合、一の音声制御装置の音声操作によるジョブを実行している最中に、他の音声制御装置からジョブ要求を受信しても、当該ジョブ要求に対応するジョブが実行されない(例えば、図18(b)の1807を参照)。
【0209】
次に、本発明の第2の実施の形態に係る情報処理システム及びその制御方法について説明する。第2の実施の形態は、その構成や作用が上述した第1の実施の形態と基本的に同じであり、音声制御装置102及び音声制御装置107のうち、優先装置に設定された音声制御装置が受け付けた音声指示に対応するジョブを優先的に実行させる点で上述した第1の実施の形態と異なる。したがって、重複した構成、作用については説明を省略し、以下に異なる構成、作用についての説明を行う。
【0210】
図19は、第2の実施の形態の情報処理システム100における画像形成装置の登録の第1の例を説明するためのシーケンス図である。図19では、一例として、ユーザ106が画像形成装置101の登録指示を行う場合について説明する。なお、図19においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図19では、画像形成装置の登録を行う図20の音声制御サービス設定画面2001が画像形成装置101の操作パネル209に表示されていることとする。
【0211】
図19において、まず、ユーザ106は、画像形成装置101の登録操作を行う(ステップS1901)。具体的に、ユーザ106は、画像形成装置101の操作パネル209に表示された音声制御サービス設定画面2001に、サービスURL、サービスID「user1@aaa.com」、及びパスワード「aaaa」を入力して登録ボタン2002を押下する。
【0212】
次いで、画像形成装置101のCPU202は、ネットワークI/F206を介してクラウドサーバ103へ画像形成装置の登録要求を送信する(ステップS1902)。画像形成装置の登録要求には、ステップS1901にて入力されたサービスID「user1@aaa.com」及びパスワード「aaaa」が含まれる。また、画像形成装置の登録要求には、画像形成装置101のシリアル番号「mfp_serial111」や空文字のニックネームも含まれる。更に、画像形成装置の登録要求には、画像形成装置101のRAM203に保存されている画像形成装置101のIPアドレス、例えば、「xxx.xxx.xxx.xxx」も含まれる。
【0213】
クラウドサーバ103のCPU402は、受信した登録要求コマンドに含まれるサービスIDの判定処理を行う(ステップS1903)。具体的に、CPU402は、受信した登録要求コマンドに含まれる情報をサービス情報としてRAM403に保存する。また、CPU402は、受信した登録要求コマンドに含まれるサービスID及びパスワードが、予め登録されていたユーザ情報と一致するか否かを判定する。受信した登録要求コマンドに含まれるサービスID及びパスワードが予め登録されていたユーザ情報と一致する場合、CPU402は、後述する図21の画像形成装置登録処理を実行する(ステップS1904)。画像形成装置登録処理を完了すると、CPU402は、ステップS1903にてRAM403に保存したサービス情報を削除する。次いで、CPU402は、ネットワークI/F406を介して画像形成装置101へ、「登録完了」を示す登録結果を通知する(ステップS1905)。
【0214】
この通知を受けた画像形成装置101のCPU202は、図20の優先装置登録確認画面2003を操作パネル209に表示させる(ステップS1906)。
【0215】
次いで、ユーザ106が、優先装置の登録操作を行う(ステップS1907)。具体的に、ユーザ106は、優先装置登録確認画面2003のはいボタン2004を押下する。
【0216】
優先装置の登録操作が行われると、画像形成装置101のCPU202は、音声制御装置リスト取得要求を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS1908)。音声制御装置リスト取得要求は、画像形成装置101のシリアル番号、及びステップS1901にて入力されたサービスIDとパスワードを含む。
【0217】
クラウドサーバ103のCPU402は、受信した音声制御装置リスト取得要求に含まれるサービスIDと画像形成装置101のシリアル番号を画像形成装置情報としてRAM403に保存し、後述する図24の画像形成装置判定処理を実行する(ステップS1909)。次いで、CPU402は、優先装置登録待ち状態遷移処理を実行する(ステップS1910)。優先装置登録待ち状態遷移処理では、CPU402は、優先装置の登録待ち状態を示すフラグデータ「登録待ち:TRUE」と、画像形成装置101のシリアル番号を優先装置登録待ち状態データとしてRAM403に保存する。
【0218】
次いで、CPU402は、後述する図25の音声制御装置リスト取得処理を実行し(ステップS1911)、上記音声制御装置リスト取得要求に含まれるサービスIDに対応付けられた全ての音声制御装置のシリアル番号を含む音声制御装置リストを取得する。CPU402は、取得した音声制御装置リストをRAM403に保存する。次いで、CPU402は、RAM403に保存した音声制御装置リストを、ネットワークI/F406を介して画像形成装置101へ送信する(ステップS1912)。
【0219】
音声制御装置リストを受信した画像形成装置101のCPU202は、操作パネル209に図20の優先装置選択画面2005を表示させる(ステップS1913)。ユーザ106は、優先装置選択画面2005における優先装置リスト2006から、優先装置にしたい音声制御装置のシリアル番号を選択する(ステップS1914)。画像形成装置101のCPU202は、優先装置通知を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS1915)。優先装置通知は、ステップS1901にて入力されたサービスIDとパスワード、ステップS1914にてユーザ106に選択された音声制御装置のシリアル番号、画像形成装置101のシリアル番号を含む。
【0220】
クラウドサーバ103のCPU402は、受信した優先装置通知に含まれるサービスIDとパスワードを画像形成装置情報としてRAM403に保存し、後述する図24の画像形成装置判定処理を実行する(ステップS1916)。次いで、CPU402は、受信した優先装置通知に含まれる音声制御装置のシリアル番号、画像形成装置101のシリアル番号、サービスIDを優先装置設定情報としてRAM403に保存し、後述する図27の優先装置登録処理を実行する(ステップS1917)。これにより、上記サービスIDに対応付けられた複数の音声制御装置の中から、画像形成装置101と連携し且つ画像形成装置101の優先装置となる音声制御装置が設定される。次いで、CPU402は、優先装置登録待ち状態解除処理を行う(ステップS1918)。優先装置登録待ち状態解除処理では、CPU402は、ステップS1910にてRAM403に保存した優先装置登録待ち状態データと、ステップS1916にRAM403に保存した画像形成装置情報を削除する。次いで、CPU402は、ステップS1917にて実行した優先装置登録処理による優先装置登録結果として、「登録完了」を、ネットワークI/F406を介して、画像形成装置101へ送信する(ステップS1919)。
【0221】
画像形成装置101のCPU202は、クラウドサーバ103から優先装置の登録結果を受信すると、操作パネル209に図20の優先装置登録結果画面2007を表示し(ステップS1920)、本処理を終了する。
【0222】
図21は、図19のステップ1904の画像形成装置登録処理の手順を示すフローチャートである。図21の画像形成装置登録処理は、クラウドサーバ103のCPU402がROM404やストレージ405に格納されたプログラムを実行することによって実現される。
【0223】
図21において、CPU402は、RAM403に保存されたサービス情報を取得する(ステップS2101)。このサービス情報には、ステップS1902にて画像形成装置101から送信された画像形成装置の登録要求に含まれるサービスID、パスワード、画像形成装置101のシリアル番号、ニックネーム、及び画像形成装置101のIPアドレスが含まれる。次いで、CPU402は、取得したサービス情報に対応する装置である画像形成装置101が未登録であるか否かを判別する(ステップS2102)。具体的に、CPU402は、取得したサービス情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が、図22の画像形成装置サービスデータリストに設定されているか否かを判別する。この画像形成装置サービスデータリストには、登録された画像形成装置のサービスID、シリアル番号、IPアドレス、及び当該画像形成装置の優先装置として登録された音声制御装置のシリアル番号が設定されている。取得したサービス情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が画像形成装置サービスデータリストに設定されていない場合、CPU402は、画像形成装置が未登録であると判別する。取得したサービス情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が画像形成装置サービスデータリストに設定されている場合、CPU402は、画像形成装置101が未登録でないと判別する。
【0224】
ステップS2102の判別の結果、画像形成装置101が未登録でない、つまり、登録済みである場合、CPU402は、登録結果として「登録済み」をRAM403に保存し(ステップS2103)、本処理を終了する。
【0225】
ステップS2102の判別の結果、画像形成装置101が未登録である場合、CPU402は、画像形成装置101を登録する(ステップS2104)。具体的に、CPU402は、ステップS2101にて取得したサービス情報に含まれるサービスID、画像形成装置101のシリアル番号、IPアドレスを1組にした画像形成装置サービスデータを、上記画像形成装置サービスデータリストの末尾に追加する。次いで、CPU402は、取得したサービス情報に含まれるニックネームが空文字であるか否かを判別する(ステップS2105)。
【0226】
ステップS2105の判別の結果、取得したサービス情報に含まれるニックネームが空文字である場合、画像形成装置登録処理は後述するステップS2108へ進む。ステップS2105の判別の結果、取得したサービス情報に含まれるニックネームが空文字でない場合、CPU402は、取得したサービス情報に含まれるニックネームが未登録であるか否かを判別する(ステップS2106)。具体的に、CPU402は、取得したサービス情報に含まれるサービスID、画像形成装置101のシリアル番号、ニックネームの組み合わせ情報が、図23のニックネームデータリストに設定されているか否かを判別する。このニックネームデータリストには、登録された画像形成装置のサービスID、シリアル番号、ニックネームが設定されている。取得したサービス情報に含まれるサービスID、画像形成装置101のシリアル番号、ニックネームの組み合わせ情報がニックネームデータリストに設定されていない場合、CPU402は取得したサービス情報に含まれるニックネームが未登録であると判別する。取得したサービス情報に含まれるサービスID、画像形成装置101のシリアル番号、ニックネームの組み合わせ情報がニックネームデータリストに設定されている場合、CPU402は取得したサービス情報に含まれるニックネームが未登録でないと判別する。
【0227】
ステップS2106の判別の結果、取得したサービス情報に含まれるニックネームが未登録でない、つまり、登録済みである場合、画像形成装置登録処理は後述するステップS2108へ進む。ステップS2106の判別の結果、取得したサービス情報に含まれるニックネームが未登録である場合、CPU402は、このニックネームを登録する(ステップS2107)。具体的に、CPU402は、取得したサービス情報に含まれるサービスID、画像形成装置101のシリアル番号、ニックネームを1組にしたニックネームデータをニックネームデータリストの末尾に追加する。次いで、CPU402は、登録結果として「登録完了」をRAM403に保存し(ステップS2108)、本処理を終了する。
【0228】
図24は、図19のステップS1909、S1916の画像形成装置判定処理の手順を示すフローチャートである。図24の画像形成装置判定処理も、クラウドサーバ103のCPU402がROM404やストレージ405に格納されたプログラムを実行することによって実現される。
【0229】
図24において、CPU402は、RAM403に保存されている画像形成装置情報を取得する(ステップS2401)。この画像形成装置情報には、画像形成装置101から受信したサービスID及び画像形成装置101のシリアル番号が含まれる。次いで、CPU402は、画像形成装置101が登録済みであるか否かを判別する(ステップS2402)。具体的に、CPU402は、取得した画像形成装置情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が上記画像形成装置サービスデータリストに設定されているか否かを判別する。取得した画像形成装置情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が上記画像形成装置サービスデータリストに設定されていない場合、CPU402は、画像形成装置101が登録済みでないと判別する。取得した画像形成装置情報に含まれるサービスID及び画像形成装置101のシリアル番号の組み合わせ情報が上記画像形成装置サービスデータリストに設定されている場合、CPU402は、画像形成装置101が登録済みであると判別する。
【0230】
ステップS2402の判別の結果、画像形成装置101が登録済みでない場合、CPU402は、画像形成装置判定結果として「未登録」をRAM403に保存し(ステップS2403)、本処理を終了する。ステップS2402の判別の結果、画像形成装置101が登録済みである場合、CPU402は、画像形成装置判定結果として「登録済み」をRAM403に保存し(ステップS2403)、本処理を終了する。
【0231】
図25は、図19のステップS1911の音声制御装置リスト取得処理の手順を示すフローチャートである。図25の音声制御装置リスト取得処理も、クラウドサーバ103のCPU402がROM404やストレージ405に格納されたプログラムを実行することによって実現される。
【0232】
図25において、CPU402は、RAM403に保存されている画像形成装置情報からサービスIDを取得する(ステップS2501)。次いで、CPU402は、図26の音声制御装置サービスデータリストに基づいて、音声制御装置リストを取得する(ステップS2502)。音声制御装置サービスデータリストには、図9の登録処理によって登録された全ての音声制御装置のシリアル番号とIPアドレスが設定されている。ステップS2502では、CPU402は、上記音声制御装置サービスデータリストから、ステップS2501にて取得したサービスIDに対応する全ての音声制御装置のシリアル番号を特定し、特定した全てのシリアル番号を含む音声制御装置リストを取得する。例えば、サービスIDが「user1@aaa.com」である場合、音声制御装置リストは{speeker1、speeker2、speeker3、speekerA、speekerB、speekerC}といった内容となる。音声制御装置リストは、RAM403に保存される。その後、音声制御装置リスト処理は終了する。
【0233】
図27は、図19のステップS1917の優先装置登録処理の手順を示すフローチャートである。図27の優先装置登録処理も、クラウドサーバ103のCPU402がROM404やストレージ405に格納されたプログラムを実行することによって実現される。
【0234】
図27において、CPU402は、優先設定登録待ち状態であるか否かを判別する(ステップS2701)。ステップS2701では、例えば、RAM403に保存されている優先装置登録待ち状態データに含まれる優先装置の登録待ち状態を示すフラグデータが「TRUE」である場合、CPU402は、優先設定登録待ち状態であると判別する。一方、上記フラグデータが「TRUE」でない場合、CPU402は、優先設定登録待ち状態でないと判別する。
【0235】
ステップS2701の判別の結果、優先設定登録待ち状態でない場合、CPU402は、優先装置登録結果として「非登録待ち状態」をRAM403に保存し(ステップS2702)、本処理を終了する。ステップS2701の判別の結果、優先設定登録待ち状態である場合、CPU402は、RAM403に保存された優先装置設定情報を取得する(ステップS2703)。この優先設定情報には、上述したようにステップS1901にて入力されたサービスID、ステップS1914にてユーザ106に選択された音声制御装置のシリアル番号、画像形成装置101のシリアル番号が含まれる。次いで、CPU402は、画像形成装置101を登録済みであるか否かを判別する(ステップS2704)。例えば、取得した優先装置設定情報に含まれる画像形成装置101のシリアル番号及びサービスIDの組み合わせ情報が上記画像形成装置サービスデータリストに設定されている場合、CPU402は、画像形成装置101を登録済みであると判別する。一方、上記組み合わせ情報が上記画像形成装置サービスデータリストに設定されていない場合、CPU402は、画像形成装置101を登録済みでないと判別する。
【0236】
ステップS2704の判別の結果、画像形成装置101を登録済みでない場合、CPU402は、優先装置登録結果として「画像形成装置未登録」をRAM403に保存し(ステップS2705)、本処理を終了する。
【0237】
ステップS2704の判別の結果、画像形成装置101を登録済みである場合、CPU402は、ユーザが選択した音声制御装置を登録済みであるか否かを判別する(ステップS2706)。例えば、取得した優先装置設定情報に含まれる音声制御装置のシリアル番号及びサービスIDの組み合わせ情報が上記音声制御装置サービスデータリストに設定されている場合、CPU402は、ユーザが選択した音声制御装置を登録済みであると判別する。一方、取得した優先装置設定情報に含まれる音声制御装置のシリアル番号及びサービスIDの組み合わせ情報が上記音声制御装置サービスデータリストに設定されていない場合、CPU402は、ユーザが選択した音声制御装置を登録済みでないと判別する。
【0238】
ステップS2706の判別の結果、ユーザが選択した音声制御装置を登録済みでない場合、CPU402は、優先装置登録結果として「音声制御装置未登録」をRAM403に保存し(ステップS2707)、本処理を終了する。ステップS2706の判別の結果、ユーザが選択した音声制御装置を登録済みである場合、CPU402は、画像形成装置101に対する優先装置を未登録であるか否かを判別する(ステップS2708)。具体的に、CPU402は、上記画像形成装置サービスデータリストから、取得した優先装置設定情報に含まれる画像形成装置101のシリアル番号及びサービスIDに対応するデータを取得する。当該データの優先設定が未設定である場合、CPU402は、画像形成装置101に対する優先装置を未登録であると判別する。一方、上記データの優先設定が未設定でない、つまり、上記データの優先設定に何れかの音声制御装置が設定されている場合、CPU402は、画像形成装置101に対する優先装置を未登録でないと判別する。
【0239】
ステップS2708の判別の結果、画像形成装置101に対する優先装置を未登録でない場合、CPU402は、優先装置登録結果として「優先設定登録済み」をRAM403に保存し(ステップS2709)、本処理を終了する。ステップS2708の判別の結果、画像形成装置101に対する優先装置を未登録である場合、CPU402は、画像形成装置101に対する優先装置を登録する(ステップS2710)。具体的に、CPU402は、上記画像形成装置サービスデータリストから、取得した優先装置設定情報に含まれる画像形成装置101のシリアル番号及びサービスIDと一致するデータを特定し、当該データの優先設定に、ステップS2703にて取得した優先装置設定情報に含まれる音声制御装置のシリアル番号を設定する。次いで、CPU402は、優先装置登録結果として「登録完了」をRAM403に保存し(ステップS2711)、本処理を終了する。
【0240】
図28は、第2の実施の形態の情報処理システム100による音声操作制御の第1の例を示すシーケンス図である。図28の音声操作制御は、図10の音声操作制御と基本的に同じであり、以下では、図10の音声操作制御と異なる点について説明する。図28では、音声制御装置107、音声制御装置102の順でジョブ要求が送信された場合について説明する。なお、図28の音声操作制御においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図9の登録処理による音声制御装置107及び音声制御装置102の登録、及び図19の登録処理による画像形成装置101の登録が既に完了し、音声制御装置102が画像形成装置101の優先装置として登録されていることとする。なお、図28の音声操作制御でも、音声制御装置102、画像形成装置101、クラウドサーバ103は、互いに通信可能な状態であることとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリント等の機能を呼び出し可能な状態であることとする。
【0241】
図28において、上述したステップS1001~S1008と同様の処理であるステップS2801~S2808が行われる。これにより、音声制御装置107から受信したジョブ要求に基づいて、クラウドサーバ103が音声認識処理、形態素解析処理、グループID判定処理を行う。
【0242】
次いで、クラウドサーバ103のCPU402は、ステップS2805にて音声制御装置107から送信されたジョブ要求に含まれる音声制御装置107のシリアル番号を音声制御装置情報としてRAM403に保存する。次いで、CPU402は、後述する図31のプリントジョブコマンド生成処理を実行する(ステップS2809)。ここで、音声制御装置107は、画像形成装置101の優先装置ではないため、ステップS2809では、優先度として「Low」が設定された図29の通常プリントジョブコマンドが生成される。次いで、CPU402は、通常プリントジョブコマンドを、ネットワークI/F406を介して画像形成装置101へ送信する(ステップS2810)。
【0243】
画像形成装置101のCPU202は、受信した通常プリントジョブコマンドを、RAM203に保存する。次いで、CPU202は、後述する図35のプリントジョブ実行処理を実行し(ステップS2811)、通常プリントジョブコマンドに基づいてプリントジョブを開始する。CPU202は、プリントジョブ実行結果として、当該プリントジョブを示すジョブID「1」のジョブデータとジョブ状態を示す「ジョブ開始」をRAM203に保存する。次いで、CPU202は、ネットワークI/F206を介して、ジョブ開始応答をクラウドサーバ103へ送信する(ステップS2812)。このジョブ開始応答は、RAM203に保存されたジョブID「1」と、ジョブ状態を示す「実行中」を含む。
【0244】
クラウドサーバ103のCPU402は、ジョブ開始応答を受信すると、ジョブ管理情報を登録する(ステップS2813)。ステップS2813では、CPU402は、RAM403に保存されたジョブ管理情報リストの末尾にジョブ管理情報を追加する。ジョブ管理情報は、音声制御装置107のシリアル番号、画像形成装置101のシリアル番号、ジョブID「1」、及びジョブ状態を示す「実行中」を含む。次いで、CPU402は、音声合成処理を行う(ステップS2814)。ステップS2814では、例えば、「プリントジョブを開始しました」といった音声の音声合成データが生成される。CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置107へ送信する(ステップS2815)。
【0245】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS2816)。この音声合成データを再生すると、例えば、「プリントジョブを開始しました」といった音声がスピーカ310’から出力される。次いで、CPU302’は、発話処理状態を示すLED点灯制御を行う。具体的に、CPU302’は、表示コントローラ311’を介してLED312’を点滅させる。その後、クラウドサーバ103が対話セッションの終了判定を行い、その判定結果に基づいてクラウドサーバ103から送信された対話セッション終了通知を受信すると、CPU302’は、対話セッションを終了する(ステップS2817)。
【0246】
その後、上述したステップS1018~S1025と同様の処理であるステップS2818~S2825の処理が行われる。これにより、クラウドサーバ103が、音声制御装置102から受信したジョブ要求に基づいて、音声認識処理、形態素解析処理、グループID判定処理を行う。
【0247】
次いで、クラウドサーバ103のCPU402は、ステップS2822にて音声制御装置102から送信されたジョブ要求に含まれる音声制御装置102のシリアル番号を音声制御装置情報としてRAM403に保存する。次いで、CPU402は、後述する図35のプリントジョブコマンド生成処理を実行する(ステップS2826)。ここで、音声制御装置102は、画像形成装置101の優先装置であるため、ステップS2826では、優先度として「High」が設定された図30の高優先プリントジョブコマンドが生成される。次いで、CPU402は、高優先プリントジョブコマンドを、ネットワークI/F406を介して画像形成装置101へ送信する(ステップS2827)。
【0248】
画像形成装置101のCPU202は、受信した高優先プリントジョブコマンドをRAM203に保存する。次いで、CPU202は、後述する図35のプリントジョブ実行処理を行う(ステップS2828)。ステップS2828では、ステップS2811にて開始した通常プリントジョブコマンドに基づくプリントジョブが停止され、上記高優先プリントジョブコマンドに基づくプリントジョブが割り込み実行される。CPU202は、プリントジョブ実行結果として、上記高優先プリントジョブコマンドに基づくプリントジョブを示すジョブID「2」のジョブデータとジョブ状態を示す「割り込み開始」をRAM203に保存する。次いで、CPU202は、プリントジョブ応答を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS2829)。プリントジョブ応答は、RAM203に保存されたジョブID「2」と、ジョブ状態を示す「割り込み開始」を含む。
【0249】
クラウドサーバ103のCPU402は、プリントジョブ応答を受信すると、ジョブ管理情報を登録する(ステップS2830)。具体的に、CPU402は、RAM403に保存されたジョブ管理情報リストからジョブ状態が「実行中」のジョブ管理情報を探索し、このジョブ管理情報のジョブ状態を「中断中」に変更する。また、CPU402は、このジョブ管理情報と異なる新たなジョブ管理情報を、ジョブ管理情報リストの先頭に追加する。新たなジョブ管理情報は、音声制御装置102のシリアル番号、画像形成装置101のシリアル番号、ジョブID「2」、ジョブ状態を示す「実行中」を含む。次いで、CPU402は、音声合成処理を行う(ステップS2831)。ステップS2831では、例えば、「プリントジョブの割り込みが発生しました」といった音声の音声合成データが生成される。次いで、CPU402は、ステップS2830にて探索したジョブ管理情報から、割り込まれたジョブのジョブ要求を送信した音声制御装置を特定する。CPU402は、特定した音声制御装置、具体的に、音声制御装置107へ、生成した音声合成データを送信する(ステップS2832)。
【0250】
音声制御装置107のCPU302’は、音声合成データを受信すると、RAM303’に保存された通知有り状態を示す値を「TRUE」に設定し、通知有り状態を示すLED点灯制御を行う。具体的に、CPU302’は、表示コントローラ311’を介してLED312’を点滅させる(ステップS2833)。LED312’は、通知有り状態が「TRUE」の間、所定の間隔で点滅する。
【0251】
その後、ユーザ108が通知発声指示となる「通知はある?」を音声制御装置107に発すると(ステップS2834)、音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS2835)。この音声合成データを再生すると、例えば、「プリントジョブの割り込みが発生しました」といった音声がスピーカ310’から出力される。また、CPU302’は、RAM303’に保存された通知有り状態を示す値を「FALSE」に設定する。
【0252】
一方、クラウドサーバ103のCPU402は、ステップS2832にて音声制御装置107へ音声合成データを送信した後、音声合成処理を行う(ステップS2836)。ステップS2836では、例えば、「プリントジョブを開始しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置102へ送信する(ステップS2837)。
【0253】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS2838)。この音声合成データを再生すると、例えば、「プリントジョブを開始しました」といった音声がスピーカ310から出力される。次いで、CPU302は、発話処理状態を示すLED点灯制御を行う。具体的に、CPU302は、表示コントローラ311を介してLED312を点滅させる。その後、クラウドサーバ103が対話セッションの終了判定を行い、その判定結果に基づいてクラウドサーバ103から送信された対話セッション終了通知を受信すると、CPU302は、対話セッションを終了する(ステップS2839)。
【0254】
その後、ステップS2828にて開始された高優先プリントジョブコマンドに基づくプリントジョブを終了すると、画像形成装置101のCPU202は、ジョブ終了通知を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS2840)。このジョブ終了通知は、終了したプリントジョブを示すジョブID「2」とジョブ状態を示す「正常終了」を含む。
【0255】
クラウドサーバ103のCPU402は、ジョブ終了通知を受信すると、音声合成処理を行う(ステップS2841)。ステップS2841では、例えば、「プリントジョブが正常に終了しました」といった音声の音声合成データが生成される。次いで、CPU402は、RAM403に保存されているジョブ管理情報リストから、ジョブID「2」に対応するジョブ管理情報を探索する。CPU402は、探索したジョブ管理情報における音声制御装置のシリアル番号に対応する音声制御装置102へ、生成した音声合成データを送信する(ステップS2842)。また、CPU402は、ジョブ管理情報リストからジョブID「2」のジョブ管理情報を削除する。
【0256】
音声制御装置102のCPU302は、音声合成データを受信すると、RAM303に保存された通知有り状態を示す値を「TRUE」に設定し、通知有り状態を示すLED点灯制御を行う。具体的に、CPU302は、表示コントローラ311を介してLED312を点滅させる(ステップS2843)。LED312は、通知有り状態が「TRUE」の間、所定の間隔で点滅する。
【0257】
その後、ユーザ106が通知発声指示となる「通知はある?」を音声制御装置102に発すると(ステップS2844)、音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS2845)。この音声合成データを再生すると、例えば、「プリントジョブが正常に終了しました」といった音声がスピーカ310から出力される。また、CPU302は、RAM303に保存された通知有り状態を示す値を「FALSE」に設定する。
【0258】
一方、画像形成装置101のCPU202は、ステップS2828にて開始された高優先プリントジョブコマンドに基づくプリントジョブを終了すると、後述する図36のプリントジョブ再開処理を実行する(ステップS2846)。これにより、ステップS2828にて中断された通常プリントジョブコマンドに基づくプリントジョブが再開される。CPU202は、プリント再開処理の結果として、当該プリントジョブを示すジョブID「1」とジョブ状態を示す「ジョブ再開」をRAM203に保存する。次いで、CPU202は、ジョブ再開通知を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS2847)。ジョブ再開通知は、ジョブID「1」とジョブ状態を示す「ジョブ再開」を含む。
【0259】
クラウドサーバ103のCPU402は、ジョブ再開通知を受信すると、音声合成処理を行う(ステップS2848)。ステップS2848では、例えば、「中断していたプリントジョブを再開しました」といった音声の音声合成データが生成される。次いで、CPU402は、RAM403に保存されたジョブ管理情報リストから、ジョブID「1」のジョブ管理情報を探索する。CPU402は、探索したジョブ管理情報における音声制御装置のシリアル番号に対応する音声制御装置107へ、生成した音声合成データを送信する(ステップS2849)。
【0260】
音声制御装置107のCPU302’は、音声合成データを受信すると、RAM303’に保存された通知有り状態を示す値を「TRUE」に設定し、表示コントローラ311’を介してLED312’を点滅させる(ステップS2850)。
【0261】
その後、ユーザ108が通知発声指示となる「通知はある?」を音声制御装置107に発すると(ステップS2851)、音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS2852)。この音声合成データを再生すると、例えば、「中断していたプリントジョブを再開しました」といった音声がスピーカ310’から出力される。また、CPU302’は、RAM303’に保存された通知有り状態を示す値を「FALSE」に設定する。
【0262】
その後、ステップS2846にて再開したプリントジョブを終了すると、画像形成装置101のCPU202は、ジョブ終了通知を、ネットワークI/F406を介してクラウドサーバ103へ送信する(ステップS2853)。このジョブ終了通知は、終了したプリントジョブを示すジョブID「1」とジョブ状態を示す「正常終了」を含む。
【0263】
クラウドサーバ103のCPU402は、ジョブ終了通知を受信すると、音声合成処理を行う(ステップS2854)。ステップS2854では、例えば、「プリントジョブが正常に終了しました」といった音声の音声合成データが生成される。次いで、CPU402は、RAM403に保存されているジョブ管理情報リストから、ジョブID「1」に対応するジョブ管理情報を探索する。CPU402は、探索したジョブ管理情報における音声制御装置のシリアル番号に対応する音声制御装置107へ、生成した音声合成データを送信する(ステップS2855)。また、CPU402は、ジョブ管理情報リストからジョブID「1」のジョブ管理情報を削除する。
【0264】
音声制御装置107のCPU302’は、音声合成データを受信すると、RAM303’に保存された通知有り状態を示す値を「TRUE」に設定し、表示コントローラ311’を介してLED312’を点滅させる(ステップS2856)。
【0265】
その後、ユーザ108が通知発声指示となる「通知はある?」を音声制御装置107に発すると(ステップS2857)、音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS2858)。この音声合成データを再生すると、例えば、「プリントジョブが正常に終了しました」といった音声がスピーカ310’から出力される。また、CPU302’は、RAM303’に保存された通知有り状態を示す値を「FALSE」に設定し、本処理を終了する。
【0266】
図31は、図28のステップS2809、S2826のプリントジョブコマンド生成処理の手順を示すフローチャートである。図31のプリントジョブコマンド生成処理は、クラウドサーバ103のCPU402が、ROM404又はストレージ405に格納されたプログラムを実行することによって実現される。
【0267】
図31において、CPU402は、RAM403に保存された音声制御装置情報から音声制御装置のシリアル番号を取得し、取得した音声制御装置のシリアル番号と一致するデータを上記音声制御装置サービスデータリストから抽出する。CPU402は、抽出したデータからサービスIDを特定し(ステップS3101)、特定したサービスIDをRAM403に保存する。次いで、CPU402は、取得したサービスIDに対応する画像形成装置を登録済みであるか否かを判別する(ステップS3102)。例えば、CPU402は、RAM403に保存された形態素列解析結果リストの「に」の前の文字列をニックネームと判断する。CPU402は、当該ニックネーム及び取得したサービスIDの両方を含むデータを上記ニックネームデータリストから抽出する。該当するデータを上記ニックネームデータリストから抽出できた場合、CPU402は、取得したサービスIDに対応する画像形成装置を登録済みであると判別する。一方、該当するデータを上記ニックネームデータリストから抽出できなかった場合、CPU402は、取得したサービスIDに対応する画像形成装置を登録済みでないと判別する。
【0268】
ステップS3102の判別の結果、取得したサービスIDに対応する画像形成装置を登録済みでない場合、CPU402は、プリントジョブ生成結果として「画像形成装置未登録」をRAM403に保存し(ステップS3103)、本処理を終了する。
【0269】
ステップS3102の判別の結果、取得したサービスIDに対応する画像形成装置を登録済みである場合、CPU402は、上記ニックネームデータリストから抽出したデータから、画像形成装置のシリアル番号を取得し(ステップS3104)、取得した画像形成装置のシリアル番号をRAM403に保存する。次いで、CPU402は、RAM403に保存された形態素列解析結果リストの「に」と「を」の間の文字列をファイル名と判断し、当該ファイル名をRAM403に保存する(ステップS3105)。次いで、CPU402は、RAM403に保存されたファイル名をファイルワードとして持つデータが図32のファイル管理リストに登録されているか否かを判別する(ステップS3106)。ファイル管理リストには、印刷対象となるファイルに関する情報が登録されている。
【0270】
ステップS3106の判別の結果、該当するデータが上記ファイル管理リストに登録されていない場合、CPU402は、プリントジョブ生成結果として「ファイルエラー」をRAM403に保存し(ステップS3107)、本処理を終了する。
【0271】
ステップS3106の判別の結果、該当するデータが上記ファイル管理リストに登録されている場合、CPU402は、RAM403に保存された形態素列解析結果リストの「を」と「プリント」の間の文字列をジョブ情報として取得する(ステップS3108)。CPU402は、この文字列に対応するグループIDを、RAM403に保存されたジョブ情報グループIDリストに記録する。次いで、CPU402は、ジョブ要求の送信元である音声制御装置が優先装置であるか否かを判別する(ステップS3109)。ステップS3109では、例えば、CPU402は、RAM403に保存されたサービスID及び画像形成装置のシリアル番号を含むデータを上記画像形成装置サービスデータリストから抽出する。CPU402は、抽出したデータの優先装置に設定されているシリアル番号と、RAM403に保存された音声制御装置情報に含まれる音声制御装置のシリアル番号とが一致する場合、ジョブ要求の送信元である音声制御装置が優先装置であると判別する。一方、抽出したデータの優先装置に設定されているシリアル番号と、RAM403に保存された音声制御装置情報に含まれる音声制御装置のシリアル番号とが一致しない場合、ジョブ要求の送信元である音声制御装置が優先装置でないと判別する。
【0272】
ステップS3109の判別の結果、ジョブ要求の送信元である音声制御装置が優先装置である場合、CPU402は、優先度情報として優先度「高」をRAM403に保存する(ステップS3110)。次いで、プリントジョブコマンド生成処理はステップS3112へ進む。ステップS3109の判別の結果、ジョブ要求の送信元である音声制御装置が優先装置でない場合、CPU402は、優先度情報として優先度「低」をRAM403に保存する(ステップS3111)。次いで、CPU402は、後述する図33のコマンド生成処理を実行し(ステップS3112)、プリントジョブコマンドを生成する。次いで、CPU402は、プリントジョブコマンド生成結果が「完了」である否かを判別する(ステップS3113)。
【0273】
ステップS3113の判別の結果、プリントジョブコマンド生成結果が「完了」でない場合、CPU402は、プリントジョブ生成結果として「ジョブ情報エラー」をRAM403に保存し(ステップS3114)、本処理を終了する。ステップS3113の判別の結果、プリントジョブコマンド生成結果が「完了」である場合、CPU402は、プリントジョブ生成結果として「生成完了」をRAM403に保存し(ステップS3115)、本処理を終了する。
【0274】
図33は、図31のステップS3112のコマンド生成処理の手順を示すフローチャートである。
【0275】
図33において、CPU402は、ジョブ開始を意味する文字列「“operation”:“jobStart”」を生成する(ステップS3301)。次いで、CPU402は、プリントジョブを意味する文字列「“jobName”:“Print”」を生成する(ステップS3302)。次いで、CPU402は、ステップS3110又はS31111にてRAM403に保存された優先度情報に対応する文字列を生成する(ステップS3303)。例えば、優先度情報が優先度「高」である場合、CPU402は、この優先度を意味する文字列「“priority”:“high”」を生成する。一方、優先度情報が優先度「低」である場合、CPU402は、この優先度を意味する文字列「“priority”:“low”」を生成する。CPU402は、生成した文字列を優先度文字列としてRAM403に保存する。
【0276】
次いで、CPU402は、ステップS3105にてRAM403に保存されたファイル名に対応するデータを上記ファイル管理リストから抽出する。CPU402は、抽出したデータのファイルフォーマットを意味する文字列を生成する(ステップS3304)。例えば、抽出したデータのファイルフォーマットが「JPEG」である場合、CPU402は、「“format”:“JPEG”」という文字列を生成し、この文字列をフォーマット文字列としてRAM403に保存する。
【0277】
次いで、CPU402は、上記抽出したデータのファイルパスが示す画像ファイルデータをバイナリデータ化し、当該画像ファイルデータを意味する文字列を生成する(ステップS3305)。例えば、ファイルのバイナリデータが「xxxx・・・」である場合、CPU402は、「“data”:“xxxx・・・”」という文字列を生成し、この文字列をファイルデータ文字列としてRAM403に保存する。次いで、CPU402は、ジョブ情報グループIDリストが空であるか否かを判別する(ステップS3306)。
【0278】
ステップS3306の判別の結果、ジョブ情報グループIDリストが空でない場合、CPU402は、ジョブ情報生成用グループIDリスト取得処理を行う(ステップS3307)。ステップS3307では、CPU402は、ジョブ情報グループIDリストの先頭から、図34のジョブ情報設定規則の何れかのキーワードとマッチするまで探索を行う。何れかのキーワードにマッチした場合、CPU402は、ジョブ情報グループIDリストの先頭からマッチしたキーワードまでの要素を、RAM403上のジョブ情報生成用グループIDリストに保存し、上記要素をジョブ情報グループIDリストから削除する。また、マッチしたキーワードに対応する上記ジョブ情報設定規則の数値許可が「Yes」であり、且つジョブ情報生成用グループIDリストに数字を示すグループIDが存在せず、且つジョブ情報グループIDリストの先頭要素が数字を示すグループIDである場合、CPU402は、ジョブ情報グループIDリストの先頭要素をジョブ情報生成用グループIDリストに保存し、当該先頭要素をジョブ情報グループIDリストから削除する。例えば、発声キーワードが「1部両面プリントする」である場合、ジョブ情報グループIDリストは{ID:NUM0001、ID:CNF00001、ID:CNF00005}となり、「ID:CNF00001」のキーワードがマッチするまで探索した{ID:NUM0001、ID:CNF00001}がジョブ情報生成用グループIDリストとなる。数値許可が「Yes」であるがジョブ情報生成用グループIDリスト内に数字を示すグループID{ID:NUM0001}が含まれているため、{ID:NUM0001、ID:CNF00001}をジョブ情報生成用グループIDリストとする。一方、発声キーワードが「部数1で両面プリントする」である場合、ジョブ情報グループIDリストは{ID:CNF00001、ID:NUM0001、ID:CNF00005}となる。「ID:CNF00001」のキーワードがマッチするまで探索した{ID:CNF00001}をジョブ情報生成用グループIDリストに保存した後、{ID:CNF00001}の数値許可が「Yes」であるため、ジョブ情報グループIDリスト{ID:NUM00001、ID:CNF00005}の先頭要素{ID:NUM00001}をジョブ情報生成用グループIDリストに保存し、{ID:CNF00001、ID:NUM0001}をジョブ情報生成用グループIDリストとする。
【0279】
次いで、CPU402は、グループIDエラーが発生しているか否かを判別する(ステップS3308)。例えば、ジョブ情報生成用グループIDリストに上記ジョブ情報設定規則の何れかのキーワード又は数字を示すグループID以外が含まれている場合、又はステップS3307にてマッチしたキーワードに対応する上記ジョブ情報設定規則の数値許可が「Yes」であってジョブ情報生成用グループIDリストに数字に対応するグループIDが存在しない場合、又はジョブ情報設定規則の数値許可が「No」であってジョブ情報生成用グループIDリストに数字に対応するグループIDが存在する場合、CPU402は、グループIDエラーが発生していると判別する。一方、上述した条件を満たさない場合、CPU402は、グループIDエラーが発生していないと判別する。
【0280】
ステップS3308の判別の結果、グループIDエラーが発生している場合、CPU402は、プリントジョブコマンド生成処理結果として「ジョブ情報エラー」をRAM403に保存し(ステップS3309)、本処理を終了する。
【0281】
ステップS3308の判別の結果、グループIDエラーが発生していない場合、CPU402は、ジョブ情報生成用グループIDリスト及び上記ジョブ情報設定規則のジョブコマンドに基づいて、ジョブ情報を意味する文字列を生成する(ステップS3310)。例えば、ジョブ情報設定規則の数値許可が「Yes」のキーワードについて、CPU402は、ジョブコマンドの「#NUM#」をジョブ情報生成用グループIDリストの数字に対応するグループIDから生成した数字に置き換えた文字列を生成する。CPU402は、この文字列をRAM403に保存されたジョブ情報文字列リストの末尾に記録する。一方、ジョブ情報設定規則の数値許可が「No」のキーワードについて、CPU402は、ジョブコマンドの文字列を、RAM403に保存されたジョブ情報文字列リストの末尾に記録する。その後、コマンド生成処理はステップS3306へ戻る。
【0282】
ステップS3306の判別の結果、ジョブ情報グループIDリストが空である場合、CPU402はS3301~S3305、S3310にて生成された文字列を結合してJSON形式の文字列であるプリントジョブコマンドを生成する(ステップS3311)。CPU402は、このプリントジョブコマンドをRAM403に保存する。次いで、CPU402は、プリントジョブコマンド生成処理結果として「完了」をRAM403に保存し(ステップS3312)、本処理を終了する。
【0283】
図35は、図28のステップS2811、S2828のプリントジョブ実行処理の手順を示すフローチャートである。図35のプリントジョブ実行処理は、画像形成装置101のCPU202がROM204やストレージ205に格納されたプログラムを実行することによって実現される。
【0284】
図35において、CPU202は、画像形成装置101がプリント実行可能状態である否かを判別する(ステップS3501)。例えば、画像形成装置101がエラーやプリントジャムといったプリント動作が不可能な状態である場合、CPU202は、画像形成装置101がプリント実行可能状態でないと判別する。一方、上述したようなプリント動作が不可能な状態でない場合、CPU202は、画像形成装置101がプリント実行可能状態であると判別する。
【0285】
ステップS3501の判別の結果、画像形成装置101がプリント実行可能状態でない場合、CPU202は、プリントジョブ実行結果として「実行エラー」をRAM203に保存し(ステップS3502)、本処理を終了する。
【0286】
ステップS3501の判別の結果、画像形成装置101がプリント実行可能状態である場合、CPU202は、クラウドサーバ103から受信したプリントジョブコマンドに基づいてジョブデータを生成する(ステップS3503)。例えば、プリントジョブコマンドが図29の通常プリントジョブコマンドである場合、CPU202は、「“jobName”:“Print”」に基づいて、「ジョブ名:プリント」のジョブデータを生成する。また、CPU202は、画像形成装置101が生成したジョブ毎に1から昇順で割り当てられる「ジョブID」を割り当てて、プリントジョブコマンドの「“priority”:“low”」に基づいて、上記ジョブデータに「優先度:低」を設定する。更に、CPU202は、プリントジョブコマンドの「“copies”:“1”」に基づいて、生成したジョブデータのプリントジョブパラメータ「部数」に対して「1」を設定する。CPU202は、生成したジョブデータを実行待ちプリントジョブデータとしてRAM203に保存する。ここで、プリントジョブコマンドに指定されていないジョブ設定には、画像形成装置101のストレージ205に保存されているデフォルト設定値が設定される。
【0287】
次いで、CPU202は、プリントジョブコマンドに指定されている画像データをプリントエンジン211が解釈可能なフォーマットの画像データに変換する(ステップS3504)。次いで、CPU202は、生成したジョブデータにデータ不正が無いか否かを判別する(ステップS3505)。ステップS3505では、例えば、画像形成装置101のプリントエンジン211が片面しか印刷できないにも関わらず「両面:ON」が指定されている場合、CPU202は、生成したジョブデータにデータ不正が有ると判別する。
【0288】
ステップS3505の判別の結果、生成したジョブデータにデータ不正が有る場合、CPU202は、プリントジョブ実行結果として「コマンドエラー」をRAM203に保存し(ステップS3506)、本処理を終了する。ステップS3505の判別の結果、生成したジョブデータにデータ不正が無い場合、CPU202は、画像形成装置101のRAM203のジョブキュー内に実行中のプリントジョブが存在しているか否かを判別する(ステップS3507)。
【0289】
ステップS3507の判別の結果、RAM203のジョブキュー内に実行中のプリントジョブが存在していない場合、CPU202は、ステップS3505にて生成したジョブデータに基づいて、プリント処理を実行する(ステップS3508)。次いで、CPU202は、プリントジョブ実行結果として「実行中」をRAM203に保存し(ステップS3509)、本処理を終了する。
【0290】
ステップS3507の判別の結果、RAM203のジョブキュー内に実行中のプリントジョブが存在している場合、CPU202は、割り込み実行可能であるか否かを判別する(ステップS3510)。例えば、CPU202、実行待ちプリントジョブデータの優先度設定が「優先度:高」であって実行中のジョブデータの優先度設定が「優先度:低」である場合、CPU202は、割り込み実行可能であると判別する。一方、実行待ちプリントジョブデータの優先度設定が「優先度:低」であって実行中のジョブデータの優先度設定が「優先度:高」である場合、CPU202は、割り込み実行可能でないと判別する。
【0291】
ステップS3510の判別の結果、割り込み実行可能でない場合、CPU202は、RAM203のジョブキューの末尾に実行待ちプリントジョブデータをセットする(ステップS3511)。これにより、この実行待ちプリントジョブデータのプリントジョブは、実行中のジョブが完了した後に実行される。次いで、CPU202は、プリントジョブ実行結果として「開始待ち」をRAM203に保存し(ステップS3512)、本処理を終了する。
【0292】
ステップS3510の判別の結果、割り込み実行可能である場合、CPU202は、割り込みプリント処理を実行する(ステップS3513)。割り込みプリント処理では、CPU202は、プリントコントローラ210を介してプリントエンジン211に、実行中のプリントジョブのジョブIDが指定された一時中断コマンドを送信し、実行中のプリントジョブを中断させる。これにより、「実行中」のプリントジョブの状態が「中断中」に変更され、RAM203のジョブキューの先頭に実行待ちプリントジョブデータがセットされる。CPU202は、プリントコントローラ210を介してプリントエンジン211に対し、実行待ちプリントジョブデータのプリントジョブの開始を指示する。次いで、CPU202は、プリントジョブ実行結果として「割り込み開始」をRAM203に保存し(ステップS3514)、本処理を終了する。
【0293】
図36は、図28のステップS2846のプリントジョブ再開処理の手順を示すフローチャートである。図36のプリントジョブ再開処理は、画像形成装置101のCPU202がROM204やストレージ205に格納されたプログラムを実行することによって実現される。
【0294】
図36において、CPU202は、RAM203のジョブキューにプリントジョブが存在するか否かを判別する(ステップS3601)。
【0295】
ステップS3601の判別の結果、RAM203のジョブキューにプリントジョブが存在しない場合、CPU202は、本処理を終了する。ステップS3601の判別の結果、RAM203のジョブキューにプリントジョブが存在する場合、CPU202は、RAM203のジョブキューにジョブ状態が「中断中」のプリントジョブが存在するか否かを判別する(ステップS3602)。
【0296】
ステップS3602の判別の結果、RAM203のジョブキューにジョブ状態が「中断中」のプリントジョブが存在しない場合、CPU202は、ジョブキューにおける先頭のプリントジョブデータのプリントジョブを実行する(ステップS3603)。次いで、CPU202は、プリントジョブ実行結果として「実行中」をRAM203に保存し(ステップS3604)、本処理を終了する。
【0297】
ステップS3602の判別の結果、RAM203のジョブキューにジョブ状態が「中断中」のプリントジョブが存在する場合、CPU202は、ジョブ状態が「中断中」のプリントジョブデータのプリントジョブを再開する(ステップS3605)。次いで、CPU202は、プリントジョブ実行結果として「ジョブ再開」をRAM203に保存し(ステップS3606)、本処理を終了する。
【0298】
図37は、第2の実施の形態の情報処理システム100による音声操作制御の第2の例を示すシーケンス図である。図37の音声操作制御は、図28の音声操作制御と基本的に同じであり、以下では、図28の音声操作制御と異なる点について説明する。図37では、音声制御装置102、音声制御装置107の順でジョブ要求が送信された場合について説明する。なお、図37の音声操作制御においても、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図9の登録処理による音声制御装置107及び音声制御装置102の登録、及び図19の登録処理による画像形成装置101の登録が既に完了し、音声制御装置102が画像形成装置101の優先装置として登録されていることとする。なお、図37の音声操作制御でも、音声制御装置102、画像形成装置101、クラウドサーバ103は、互いに通信可能な状態であることとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリント等の機能を呼び出し可能な状態であることとする。
【0299】
図37において、ステップS2818~S2828と同様の処理であるステップS3701~S3711が行われる。これにより、優先装置に設定された音声制御装置102から送信されたジョブ要求に基づいて、画像形成装置101がプリントジョブを開始する。
【0300】
次いで、画像形成装置101のCPU202は、ネットワークI/F206を介してクラウドサーバ103へジョブ開始応答を送信する(ステップS3712)。このジョブ開始応答は、ステップS3711にて開始されたプリントジョブを示すジョブID「1」と、ジョブ状態を示す「実行中」を含む。その後、ステップS2813、S2814と同様の処理であるステップS3713、S3714が行われ、クラウドサーバ103のCPU402は、音声合成データを生成する。
【0301】
次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置102へ送信する(ステップS3715)。
【0302】
音声制御装置102のCPU302は、ステップS2816と同様に、受信した音声合成データを再生し(ステップS3716)、また、ステップS2817と同様に、対話セッションを終了させる(ステップS3717)。
【0303】
次いで、ステップS2801~S2810と同様の処理であるステップS3718~S3727の処理が行われる。これにより、音声制御装置107から送信されたジョブ要求に基づいて、クラウドサーバ103から画像形成装置101へ通常プリントジョブコマンドが送信される。
【0304】
画像形成装置101のCPU202は、受信した通常プリントジョブコマンドをRAM203に保存し、上述した図35のプリントジョブ実行処理を実行する(ステップS3728)。ステップS3728では、実行中のプリントジョブの要求元である音声制御装置102の優先度が、音声制御装置107の優先度より高いので、音声制御装置107から送信されたジョブ要求に基づくプリントジョブの割り込み実行が行われない。CPU202は、上述したステップS3511、S3512を行って、音声制御装置107から送信されたジョブ要求に基づくプリントジョブの実行を待機させる。次いで、CPU202は、ネットワークI/F206を介してクラウドサーバ103へプリントジョブ応答を送信する(ステップS3729)。このプリントジョブ応答は、音声制御装置107から送信されたジョブ要求に基づくプリントジョブに対応するジョブID「2」とこのプリントジョブの実行結果を示す「開始待ち」を含む。
【0305】
クラウドサーバ103のCPU402は、RAM403に保存されたジョブ管理情報リストの末尾にジョブ管理情報を登録する(ステップS3730)。このジョブ管理情報は、音声制御装置107のシリアル番号、画像形成装置101のシリアル番号、上記ジョブID「2」、及びプリントジョブの実行結果を示す「開始待ち」を含む。次いで、CPU402は、音声合成処理を行う(ステップS3731)。ステップS3731では、「実行中のプリントジョブ終了後、開始されます」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置107へ送信する(ステップS3732)。
【0306】
音声制御装置107のCPU302’は、受信した音声合成データを再生する(ステップS3733)。この音声合成データを再生すると、「実行中のプリントジョブ終了後、開始されます」といった音声がスピーカ310’から出力される。次いで、CPU302’は、ステップS3719で開始した対話セッションを終了させる(ステップS3734)。
【0307】
ステップS3711にて開始された高優先プリントジョブコマンドに基づくプリントジョブを完了すると、画像形成装置101のCPU202は、ジョブ終了通知を、ネットワークI/F206を介してクラウドサーバ103へ送信する(ステップS3735)。次いで、ステップS2841~S2845と同様の処理であるステップS3736~S3740が行われる。
【0308】
一方、画像形成装置101のCPU202は、ステップS3735にてジョブ終了通知をクラウドサーバ103へ送信した後、上述した図36のプリントジョブ再開処理を実行する(ステップS3741)。ステップS3741の処理により、CPU202は、待機中のプリントジョブ、具体的に、音声制御装置107から送信されたジョブ要求に基づくプリントジョブを実行する。次いで、ステップS2847~S2858と同様の処理であるステップS3742~S3753が行われる。
【0309】
上述した第2の実施の形態では、音声制御装置102及び音声制御装置107のうち、優先装置に設定された音声制御装置が受け付けた音声指示に対応するジョブが優先的に実行される。これにより、優先装置に設定された音声制御装置が受け付けた音声指示に対応するプリントジョブを速やかに実行することができる。
【0310】
なお、上述した第2の実施の形態では、ユーザ106が、操作パネル209を操作して画像形成装置101の登録指示を行い、音声制御装置102を用いて画像形成装置101の優先装置の登録指示を行っても良い。
【0311】
図38は、第2の実施の形態の情報処理システム100における画像形成装置の登録の第2の例を説明するためのシーケンス図である。図38では、一例として、ユーザ106が操作パネル209を操作して画像形成装置101の登録指示を行い、更に音声制御装置102を用いて画像形成装置101の優先装置の登録指示を行う場合について説明する。なお、図38の登録の処理について、図19の登録の処理と一部が同様であり、以下では、図19の登録の処理と異なる内容について説明する。なお、図38でも、ユーザ106は、クラウドサーバ103が管理するサービスURL「http://service1.com」に対応するサービスが提供するアプリケーション及びWebAPI等を介して上記ユーザ情報を予め登録していることとする。また、図38では、音声制御サービス設定画面2001と同様の機能及び構成の図39の音声制御サービス設定画面3901が画像形成装置101の操作パネル209に表示されていることとする。
【0312】
図38において、まず、ステップS1901~S1906と同様の処理であるステップS3801~S3806が行われる。これにより、画像形成装置101が登録され、優先装置登録確認画面2003と同様の機能及び構成の図39の優先装置登録確認画面3903が操作パネル209に表示される。
【0313】
その後、ユーザ106が、優先装置の登録操作を行う(ステップS3807)。具体的に、ユーザ106は、操作パネル209に表示された優先装置登録確認画面3903の「はい」ボタン3904を押下する。
【0314】
優先装置の登録操作が行われると、画像形成装置101のCPU202は、ネットワークI/F206を介してクラウドサーバ103へ、音声制御装置登録待ちモード通知コマンドを送信する。音声制御装置登録待ちモード通知コマンドは、画像形成装置101のシリアル番号、及びステップS3801にて入力されたサービスIDを含む。また、CPU202は、図39の優先装置設定中画面3905を操作パネル209に表示させる(ステップS3809)。優先装置設定中画面3905には、音声制御装置を用いた画像形成装置101の優先装置の登録方法が示される。
【0315】
クラウドサーバ103のCPU402は、受信した音声制御装置登録待ちモード通知コマンドに含まれるサービスIDと画像形成装置101のシリアル番号を画像形成装置情報としてRAM403に保存する。次いで、CPU402は、上述したステップS1909、S1910と同様の処理であるステップS3810、S3811を行う。
【0316】
その後、ユーザ106は、音声制御装置102に対してウェイクワードを発する(ステップS3812)。ウェイクワードは、例えば、「スピーカ1を起動して」である。
【0317】
音声制御装置102のCPU302は、ユーザ106がウェイクワードを発したことを検知すると、表示コントローラ311を介してLED312を点滅させ(ステップS3813)、対話セッションを開始する。
【0318】
対話セッションが開始された後、ユーザ106は、音声制御装置102に対して、優先装置設定呼び出し指示となるキーワードを発する(ステップS3814)。このキーワードは、例えば、優先装置設定中画面3905に表示されている「MFP1の優先装置登録」である。
【0319】
音声制御装置102のCPU302は、ユーザ106が上記キーワードを発したことを検知すると、表示コントローラ311を介してLED312を点滅させる(ステップS3815)。次いで、CPU302は、ステップS3814にてユーザ106が発した音声の音声データと音声制御装置102のシリアル番号を、ネットワークI/F306を介してクラウドサーバ103へ送信する(ステップS3816)。
【0320】
クラウドサーバ103のCPU402は、受信した音声制御装置102のシリアル番号を音声制御装置情報としてRAM403に保存し、後述する図40の音声制御装置判定処理を実行する(ステップS3817)。次いで、CPU402は、ステップS3816にて受信した音声データに対して音声認識処理を施す(ステップS3818)。この音声認識処理により、「MFP1の優先装置登録」といったテキストが生成される。次いで、CPU402は、ステップS3818にて生成されたテキストに対して形態素解析処理を施す(ステップS3819)。この形態素解析処理により、「MFP1の優先装置登録」といったテキストが、「M」「F」「P」「1」、「の」「優先」「装置」「登録」、という形態素列として解析される。
【0321】
次いで、CPU402は、解析した形態素列に対してグループID判定処理を行う(ステップS3820)。このグループID判定処理では、例えば、「M」「F」「P」「1」、「の」「優先」「装置」「登録」、という形態素列と図7(b)のグループIDリストとのマッチングが行われる。グループID判定の結果として{ID:ALP00013、ID:ALP00006、ID:ALP00016、ID:NUM00001、ID:NAM00002、ID:NAM00001、ID:OPR00046}が生成される。
【0322】
次いで、CPU402は、画像形成装置特定処理を行う(ステップS3821)。ステップS3821では、CPU402は、グループID判定の結果における「ID:NAM00002、ID:NAM00001、ID:OPR00046」という並び順から、音声制御装置102から受信した要求が優先装置の登録要求であると判断する。また、CPU402は、ステップS3819にて解析した形態素列の「の」の前に並んでいる形態素列から文字列「MFP1」を生成し、この文字列を優先装置として登録する画像形成装置のニックネームと判断する。CPU402は、RAM403に保存されているサービスIDと上記ニックネームから画像形成装置101のシリアル番号を取得する。CPU402は、この画像形成装置101のシリアル番号と、ステップS3816にて音声制御装置102から送信された音声制御装置102のシリアル番号とを優先装置設定情報としてRAM403に保存する。
【0323】
次いで、CPU402は、上述した図27の優先装置登録処理を実行し(ステップS3822)、音声制御装置102を画像形成装置101の優先装置に設定する。画像形成装置101の優先装置の登録を完了すると、CPU402は、実行した優先装置登録処理による優先装置登録結果として、「登録完了」を、ネットワークI/F406を介して、画像形成装置101へ送信する(ステップS3823)。
【0324】
画像形成装置101のCPU202は、操作パネル209に図39の優先装置登録結果画面3906を表示させる(ステップS3824)。優先装置登録結果画面3906には、優先装置の登録を完了した旨が表示される。
【0325】
一方、クラウドサーバ103のCPU402は、ステップS3823における優先装置登録結果の送信を完了すると、音声合成処理を行う(ステップS3825)。ステップS3825では、「MFP1の優先装置に設定しました」といった音声の音声合成データが生成される。次いで、CPU402は、生成した音声合成データを、ネットワークI/F406を介して音声制御装置102へ送信する(ステップS3826)。また、CPU402は、上述したステップS1918と同様の処理であるステップS3827の処理を行う。
【0326】
音声制御装置102のCPU302は、受信した音声合成データを再生する(ステップS3828)。この音声合成データを再生すると、「MFP1の優先装置に設定しました」といった音声がスピーカ310から出力される。次いで、CPU302は、表示コントローラ311を介してLED312を点滅させ(ステップS3829)、ステップS3813にて開始した対話セッションを終了させ、本処理を終了する。
【0327】
図40は、図38のステップS3817の音声制御装置判定処理の手順を示すフローチャートである。図40の音声制御装置判定処理は、クラウドサーバ103のCPU402がROM404やストレージ405に格納されたプログラムを実行することによって実現される。
【0328】
図40において、CPU402は、RAM403に保存されている音声制御装置情報から音声制御装置102のシリアル番号を取得する(ステップS4001)。次いで、CPU402は、取得したシリアル番号に対応する音声制御装置が登録済みであるか否かを判別する(ステップS4002)。例えば、取得したシリアル番号が上述した画像形成装置サービスデータリストに設定されている場合、CPU402は、取得したシリアル番号に対応する音声制御装置が登録済みであると判別する。一方、取得したシリアル番号が上述した画像形成装置サービスデータリストに設定されていない場合、CPU402は、取得したシリアル番号に対応する音声制御装置が登録済みでないと判別する。
【0329】
ステップS4002の判別の結果、取得したシリアル番号に対応する音声制御装置が登録済みである場合、CPU402は、音声制御装置判定結果として「登録済み」をRAM403に保存し(ステップS4003)、本処理を終了する。
【0330】
ステップS4002の判別の結果、取得したシリアル番号に対応する音声制御装置が登録済みでない場合、CPU402は、音声制御装置判定結果として「未登録」をRAM403に保存し(ステップS4004)、本処理を終了する。
【0331】
このように上述した実施の形態では、ユーザは、画像形成装置101の優先装置として設定したい音声制御装置に対し、優先装置設定呼び出し指示となるキーワードを発するだけで、当該音声制御装置を画像形成装置101の優先装置として登録することができる。
【0332】
なお、優先装置の登録方法は、上述した方法に限られない。例えば、サービスに画像形成装置を登録した後、別の画面から優先装置を登録しても良く、また、クラウドサーバ103の管理サービスを用いて優先装置の登録を行っても良い。
【0333】
また、上述した実施の形態では、画像形成装置101や画像形成装置110が音声データ変換制御プログラムを実行して、画像形成装置101や画像形成装置110が、クラウドサーバ103が行った上述した各種処理を行っても良い。この場合、音声制御装置102及び音声制御装置107は、クラウドサーバ103を介すこと無く、画像形成装置101や画像形成装置110へ直接ジョブ要求等を送信する。
【0334】
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0335】
100 情報処理システム
101 画像形成装置
102 音声制御装置
103 クラウドサーバ
107 音声制御装置
110 画像形成装置
202 CPU
402 CPU
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40