(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】音声操作システム、制御装置、および制御プログラム
(51)【国際特許分類】
G06F 3/16 20060101AFI20240110BHJP
G10L 15/00 20130101ALI20240110BHJP
G10L 15/22 20060101ALI20240110BHJP
B41J 29/42 20060101ALI20240110BHJP
H04N 1/00 20060101ALI20240110BHJP
G10L 15/10 20060101ALN20240110BHJP
【FI】
G06F3/16 630
G06F3/16 650
G10L15/00 200A
G10L15/22 200V
B41J29/42 F
H04N1/00 127B
H04N1/00 350
G10L15/10 200W
(21)【出願番号】P 2019126854
(22)【出願日】2019-07-08
【審査請求日】2022-06-21
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】田島 宏樹
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2013-153301(JP,A)
【文献】特開2010-224890(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G06F 3/01
G06F 3/048-3/04895
G10L 15/00
G10L 15/22
B41J 29/42
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
処理装置と、前記処理装置と通信可能な制御装置とを備える音声操作システムであって、
前記処理装置は、
前記処理装置で実行される処理を指示するための操作画面を表示し、ユーザーによる指示を受け付ける操作パネルと、
前記制御装置から受信したコマンドに対応する処理を実行する実行部とを有し、
前記制御装置は、
入力された音声に基づいて前記処理装置に対する前記コマンドを生成するコマンド生成部と、
前記コマンドを前記処理装置へ送信する送信部とを有し、
前記コマンド生成部は、
前記音声が前記処理装置に第1処理の実行を指示する音声である場合に、前記第1処理の実行を指示するための前記操作画面を前記操作パネルに表示することを指示する第1コマンドを生成し、
前記音声が前記処理装置に第2処理の実行を指示する音声である場合に、前記第2処理の実行を指示する第2コマンドを生成し、
前記制御装置は、
指示キーワードと前記指示キーワードに対応する前記操作画面の識別番号とを対応付けた第1データと、複数の前記指示キーワードのうち特定の指示キーワードと前記特定の指示キーワードに対応する処理の実行を指示する前記第2コマンドとを対応付けた第2データとを記憶する記憶部をさらに有し、
前記コマンド生成部は、
前記音声に含まれる前記指示キーワードが前記第2データに含まれないが前記第1データに含まれる場合に、前記第1データを参照して前記第1コマンドを生成し、
前記音声に含まれる前記指示キーワードが前記第2データに含まれる場合に、前記第2データを参照して前記第2コマンドを生成する、音声操作システム。
【請求項2】
前記制御装置は、前記音声に含まれる前記指示キーワードが前記第1データと前記第2データとのいずれにも含まれない場合に、前記処理装置が実行すべき処理を前記操作パネル上でユーザーに指示させる、請求項
1に記載の音声操作システム。
【請求項3】
前記制御装置は、前記処理装置の実行すべき処理が前記操作パネル上で指示された場合に、前記音声に含まれる前記指示キーワードと、ユーザーが操作した前記操作画面の識別番号と、ユーザー情報とを対応付けて記憶する、請求項
2に記載の音声操作システム。
【請求項4】
前記第1データでは、前記指示キーワードに、前記指示キーワードに対応する前記操作画面の上位の階層に位置する上位画面の情報がさらに対応付けられており、
前記コマンド生成部は、前記音声に複数の指示キーワードが含まれる場合に、前記複数の指示キーワードに共通する前記上位画面を前記操作パネルに表示することを指示する前記第1コマンドを生成する、請求項
1~請求項
3のいずれか1項に記載の音声操作システム。
【請求項5】
前記制御装置は、前記音声に含まれる前記指示キーワードに対応する前記操作画面の候補が複数ある場合に、ユーザーに前記操作パネル上で前記操作画面の候補の中から一の操作画面を選択させる、請求項
1~請求項
4のいずれか1項に記載の音声操作システム。
【請求項6】
前記制御装置は、前記一の操作画面が前記操作パネル上で選択された場合に、前記音声に含まれる前記指示キーワードと、前記一の操作画面の識別番号と、ユーザー情報とを対応付けて記憶する、請求項
5に記載の音声操作システム。
【請求項7】
前記コマンド生成部は、前記音声に含まれる前記指示キーワードが前記第2データに含まれる場合であっても、前記指示キーワードに対応する処理が特定の処理である場合には、前記第1データを参照して前記第1コマンドを生成する、請求項
1~請求項
6のいずれか1項に記載の音声操作システム。
【請求項8】
前記第2データでは、前記指示キーワードに、前記指示キーワードに対応する前記操作画面の階層情報がさらに対応付けられており、
前記特定の処理は、前記特定の処理の実行を指示するための前記操作画面の階層の深さが所定階層以上の深さの処理である、請求項
7に記載の音声操作システム。
【請求項9】
前記第2データでは、前記指示キーワードに、前記指示キーワードに対応する処理の実行回数がさらに対応付けられており、
前記特定の処理は、前記実行回数が所定回数以下の処理である、請求項
7に記載の音声操作システム。
【請求項10】
前記第2データでは、前記指示キーワードに、前記指示キーワードに対応する処理の中止回数がさらに対応付けられており、
前記特定の処理は、前記中止回数が所定回数以上の処理である、請求項
7に記載の音声操作システム。
【請求項11】
前記記憶部は、前記処理装置の機種別に前記第1データおよび前記第2データを記憶し、
前記コマンド生成部は、
前記音声に含まれる前記指示キーワードが前記処理装置の機種に応じた前記第2データに含まれないが前記処理装置の機種に応じた前記第1データに含まれる場合に、前記処理装置の機種に応じた前記第1データを参照して前記第1コマンドを生成し、
前記音声に含まれる前記指示キーワードが前記処理装置の機種に応じた前記第2データに含まれる場合に、前記処理装置の機種に応じた前記第2データを参照して前記第2コマンドを生成する、請求項
1~請求項
10のいずれか1項に記載の音声操作システム。
【請求項12】
前記記憶部は、前記処理装置に搭載されているアプリケーションのバージョン別に前記第1データおよび前記第2データを記憶し、
前記コマンド生成部は、
前記音声に含まれる前記指示キーワードが前記アプリケーションのバージョンに応じた前記第2データに含まれないが前記アプリケーションのバージョンに応じた前記第1データに含まれる場合に、前記アプリケーションのバージョンに応じた前記第1データを参照して前記第1コマンドを生成し、
前記音声に含まれる前記指示キーワードが前記アプリケーションのバージョンに応じた前記第2データに含まれる場合に、前記アプリケーションのバージョンに応じた前記第2データを参照して前記第2コマンドを生成する、請求項
1~請求項
11のいずれか1項に記載の音声操作システム。
【請求項13】
処理装置と通信可能な制御装置であって、
前記制御装置は、
入力された音声に基づいて前記処理装置に対するコマンドを生成するコマンド生成部と、
前記コマンドを前記処理装置へ送信する送信部とを有し、
前記コマンド生成部は、
前記音声が前記処理装置に第1処理の実行を指示する音声である場合に、前記第1処理の実行を指示するための操作画面を前記処理装置の操作パネルに表示することを指示する第1コマンドを生成し、
前記音声が前記処理装置に第2処理の実行を指示する音声である場合に、前記第2処理の実行を指示する第2コマンドを生成し、
前記制御装置は、
指示キーワードと前記指示キーワードに対応する前記操作画面の識別番号とを対応付けた第1データと、複数の前記指示キーワードのうち特定の指示キーワードと前記特定の指示キーワードに対応する処理の実行を指示する前記第2コマンドとを対応付けた第2データとを記憶する記憶部をさらに有し、
前記コマンド生成部は、
前記音声に含まれる前記指示キーワードが前記第2データに含まれないが前記第1データに含まれる場合に、前記第1データを参照して前記第1コマンドを生成し、
前記音声に含まれる前記指示キーワードが前記第2データに含まれる場合に、前記第2データを参照して前記第2コマンドを生成する、制御装置。
【請求項14】
処理装置と通信可能なコンピューターにおいて実行される制御プログラムであって、
前記コンピューターに、
入力された音声に基づいて前記処理装置に対するコマンドを生成するステップと、
前記コマンドを前記処理装置へ送信するステップとを実行させ、
前記コマンドを生成するステップは、
前記音声が前記処理装置に第1処理の実行を指示する音声である場合に、前記第1処理の実行を指示するための操作画面を前記処理装置の操作パネルに表示することを指示する第1コマンドを生成し、
前記音声が前記処理装置に第2処理の実行を指示する音声である場合に、前記第2処理の実行を指示する第2コマンドを生成するステップとを含み、
前記制御プログラムは、前記コンピューターに、
指示キーワードと前記指示キーワードに対応する前記操作画面の識別番号とを対応付けた第1データと、複数の前記指示キーワードのうち特定の指示キーワードと前記特定の指示キーワードに対応する処理の実行を指示する前記第2コマンドとを対応付けた第2データとを記憶するステップをさらに実行させ、
前記コマンドを生成するステップは、
前記音声に含まれる前記指示キーワードが前記第2データに含まれないが前記第1データに含まれる場合に、前記第1データを参照して前記第1コマンドを生成し、
前記音声に含まれる前記指示キーワードが前記第2データに含まれる場合に、前記第2データを参照して前記第2コマンドを生成することを含む、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声操作システム、制御装置、および制御プログラムに関するものである。
【背景技術】
【0002】
近年、音声操作に対応した処理装置が知られている。具体的には、処理装置と通信可能な制御装置が音声入力装置より入力された音声を基にユーザーの指示を反映させたコマンドを生成し、処理装置はそのコマンドを受信して実行する。これにより、処理装置では、設定が変更されたり、ジョブが実行されたりする。
【0003】
特開2010-224890号公報(特許文献1)は、どの操作画面を表示した状態からでも、ユーザーに手間をかけることなくかつ短時間で目的の操作画面に音声によって遷移できる技術を開示している([要約]参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
処理装置で実行される処理は様々である。そのため、全ての処理を音声で実行できるようにするためには、膨大な数の実行コマンドを開発しなければならず、開発工数もコストもかかってしまう。一方で、音声で指示できる処理を実行頻度の高い処理に限定した場合には、開発工数やコストは抑えられるものの、実行頻度の低い処理は音声操作に対応しておらず、ユーザーの操作性が損なわれてしまう。そこで、操作性を極力損なうことなく開発工数を抑えた音声操作が必要とされている。
【0006】
本開示は、係る実情に鑑みてなされたものであり、音声操作の操作性を極力損なうことなく開発工数を抑えることを一つの目的とする。
【課題を解決するための手段】
【0007】
ある実施の形態に従う音声操作システムは、処理装置と、処理装置と通信可能な制御装置とを備える。処理装置は、処理装置で実行される処理を指示するための操作画面を表示し、ユーザーによる指示を受け付ける操作パネルと、制御装置から受信したコマンドに対応する処理を実行する実行部とを有する。制御装置は、入力された音声に基づいて処理装置に対するコマンドを生成するコマンド生成部と、コマンドを処理装置へ送信する送信部とを有する。コマンド生成部は、音声が処理装置に第1処理の実行を指示する音声である場合に、第1処理の実行を指示するための操作画面を操作パネルに表示することを指示する第1コマンドを生成し、音声が処理装置に第2処理の実行を指示する音声である場合に、第2処理の実行を指示する第2コマンドを生成する。
【0008】
他の実施の形態に従うと、制御装置が提供される。制御装置は、入力された音声に基づいて処理装置に対するコマンドを生成するコマンド生成部と、コマンドを処理装置へ送信する送信部とを有する。コマンド生成部は、音声が処理装置に第1処理の実行を指示する音声である場合に、第1処理の実行を指示するための操作画面を処理装置の操作パネルに表示することを指示する第1コマンドを生成し、音声が処理装置に第2処理の実行を指示する音声である場合に、第2処理の実行を指示する第2コマンドを生成する。
【0009】
他の実施の形態に従うと、制御プログラムが提供される。制御プログラムは、処理装置と通信可能なコンピューターにおいて実行される。制御プログラムは、コンピューターに、入力された音声に基づいて処理装置に対するコマンドを生成するステップと、コマンドを処理装置へ送信するステップとを実行させる。コマンドを生成するステップは、音声が処理装置に第1処理の実行を指示する音声である場合に、第1処理の実行を指示するための操作画面を処理装置の操作パネルに表示することを指示する第1コマンドを生成し、音声が処理装置に第2処理の実行を指示する音声である場合に、第2処理の実行を指示する第2コマンドを生成するステップとを含む。
【0010】
他の実施の形態に従うと、処理装置が提供される。処理装置は、音声の入力を受け付ける音声受付部と、操作画面を表示する操作パネルと、入力された音声に基づいてコマンドを生成するコマンド生成部と、コマンドに対応する処理を実行する実行部とを備える。コマンド生成部は、音声が処理装置に第1処理の実行を指示する音声である場合に、第1処理の実行を指示するための操作画面を操作パネルに表示することを指示する第1コマンドを生成し、音声が処理装置に第2処理の実行を指示する音声である場合に、第2処理の実行を指示する第2コマンドを生成する。
【発明の効果】
【0011】
本開示によれば、音声操作の操作性を極力損なうことなく開発工数を抑えることができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に従う音声操作システムを示す図である。
【
図2】スマートスピーカーのハードウェア構成を示すブロック図である。
【
図3】サーバーのハードウェア構成を示すブロック図である。
【
図4】画像形成装置のハードウェア構成を示すブロック図である。
【
図5】音声操作システムの機能的構成を示す図である。
【
図8】サーバーの全体処理を示すフローチャートである。
【
図9】コマンド生成処理を示すフローチャートである。
【
図10】音声出力を指示する処理を示すフローチャートである。
【
図12】音声受付処理を示すフローチャートである。
【
図13】音声出力処理を示すフローチャートである。
【
図15】画面ID送信処理を示すフローチャートである。
【
図16】指示キーワードがテーブルBに含まれる場合の音声操作システムの一連の処理を説明するためのシーケンス図である。
【
図17】指示キーワードがテーブルBに含まれないがテーブルAに含まれる場合の音声操作システムの一連の処理を説明するためのシーケンス図である。
【
図18】指示キーワードに対応する遷移先の画面候補が1つではない場合の音声操作システムの一連の処理を説明するためのシーケンス図である。
【
図19】指示キーワードがテーブルAとテーブルBとのいずれにも含まれていない場合の音声操作システムの一連の処理を説明するためのシーケンス図である。
【
図20】実施の形態2におけるテーブルB1のデータ構造を示す図である。
【
図21】実施の形態2におけるコマンド生成処理を示すフローチャートである。
【
図22】実施の形態2におけるテーブルB2のデータ構造を示す図である。
【
図23】実施の形態2におけるコマンド生成処理を示すフローチャートである。
【
図24】実施の形態2におけるテーブルB3のデータ構造を示す図である。
【
図25】実施の形態2におけるコマンド生成処理を示すフローチャートである。
【
図26】実施の形態3におけるテーブルCのデータ構造を示す図である。
【
図27】実施の形態3におけるコマンド生成処理を示すフローチャートである。
【
図28】実施の形態3におけるテーブルDのデータ構造を示す図である。
【
図29】実施の形態3におけるコマンド生成処理を示すフローチャートである。
【
図30】実施の形態4における画像形成装置のハードウェア構成を示すブロック図である。
【
図31】実施の形態4における画像形成装置の機能的構成を示す図である。
【発明を実施するための形態】
【0013】
以下、各実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0014】
[実施の形態1]
図1は、実施の形態1に従う音声操作システム1を示す図である。音声操作システム1は、スマートスピーカー400、サーバー500、および画像形成装置100を備える。スマートスピーカー400は、対話型電子装置の一例である。サーバー500は、制御装置の一例であり、クラウドサーバーを含む。画像形成装置100は、処理装置の一例である。画像形成装置100は、認証機能を備える複合機(MFP:Multi Function Peripheral)である。ユーザーは、画像形成装置100を使用するためには、操作パネル40上でIDを入力して認証される必要がある。サーバー500は、スマートスピーカー400および画像形成装置100とネットワーク99を介して接続されており、相互に通信を行う。
【0015】
スマートスピーカー400は、対話型の音声操作に対応したスピーカーである。スマートスピーカー400は、画像形成装置100に対する指示を音声で受け付け、受け付けた音声のデータをサーバー500へ送信する。スマートスピーカー400は、サーバー500が生成した音声データを音声化して出力する。
【0016】
サーバー500は、スマートスピーカー400から送られてきた音声データを受信し、テキスト化する。サーバー500は、テキストデータの中から指示キーワードを抽出する。指示キーワードとは、画像形成装置100に対して処理の実行を指示するために用いられるキーワードである。サーバー500は、予め画像形成装置100に保存されている指示キーワードのテーブルを参照してコマンドを生成し、そのコマンドを画像形成装置100へ送信する。
【0017】
スマートスピーカー400に音声出力させたい場合には、サーバー500は、スマートスピーカー400に出力させたい音声のデータをスマートスピーカー400に送信する。ユーザーが操作パネル40に表示される操作画面上で設定操作を行った場合には、サーバー500は、その操作画面の画面IDを画像形成装置100から受信し、指示キーワードとその画面IDと画像形成装置100にログイン中のユーザーIDとを対応付けて登録する。
【0018】
画像形成装置100は、スキャナー機能、コピー機能、ファクシミリ機能、ネットワーク機能、BOX機能といった複数の機能が搭載された複合機(MFP:Multi Function Peripheral)である。画像形成装置100は、サーバー500から受信したコマンドに基づいて、処理を実行する。また、操作パネル40上で設定操作が行われた場合には、画像形成装置100は、ユーザーが操作した操作画面の画面IDを、画像形成装置100にログイン中のユーザーIDと対応付けてサーバー500へ送信する。なお、画像形成装置100は、複合機に限定されるものではなく、複写機、プリンター、またはファクシミリといったどのような形態で実装されてもよい。また、画像形成装置100における認証形式は、ID入力に替えて、ICカードによる認証や生体認証であってもよい。
【0019】
図2は、スマートスピーカー400のハードウェア構成を示すブロック図である。スマートスピーカー400は、制御部410、マイク420、スピーカー430、および通信インターフェース440を備える。制御部410、マイク420、スピーカー430、および通信インターフェース440は、バス450を介して接続されている。
【0020】
制御部410は、CPU(Central Processing Unit)411、RAM(Random Access Memory)412、およびROM(Read Only Memory)413を備える。CPU411は、ROM413等に保存されている動作プログラムを実行することにより、スマートスピーカー400全体を総括的に制御する。ROM413は、CPU411が実行するプログラムやその他のデータを記憶する。RAM412は、CPU411がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。
【0021】
マイク420は、画像形成装置100に対する指示を音声で受け付ける。
【0022】
スピーカー430は、サーバー500が生成した音声データを音声化して出力する。
【0023】
通信インターフェース440は、ネットワーク99を介してサーバー500と音声データを送受信する。
【0024】
図3は、サーバー500のハードウェア構成を示すブロック図である。サーバー500は、制御部510、通信インターフェース520、およびハードディスク530を備える。制御部510、通信インターフェース520、およびハードディスク530は、バス540を介して接続されている。
【0025】
制御部510は、CPU511、RAM512、およびROM513を備える。CPU511は、ROM513等に保存されている動作プログラムを実行することにより、サーバー500全体を総括的に制御する。ROM513は、CPU511が実行するプログラムやその他のデータを記憶する。RAM512は、CPU511がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。
【0026】
通信インターフェース520は、ネットワーク99を介して、スマートスピーカー400と音声データを送受信する。通信インターフェース520は、ネットワーク99を介して、画像形成装置100にコマンドを送信する。通信インターフェース520は、ユーザーが操作した操作画面の画面IDをネットワーク99を介して画像形成装置100から受信する。
【0027】
ハードディスク530は、各種テーブルを記憶する。各種テーブルは、例えば、テーブルAやテーブルBである。テーブルAおよびテーブルBの詳細は、
図6および
図7を参照して後述する。
【0028】
図4は、画像形成装置100のハードウェア構成を示すブロック図である。画像形成装置100は、スキャナー10、プリンター20、給紙部30、操作パネル40、ファクシミリ50、通信インターフェース60、制御部70、およびハードディスク80を備える。スキャナー10、プリンター20、給紙部30、操作パネル40、ファクシミリ50、通信インターフェース60、制御部70、およびハードディスク80は、バス90を介して接続されている。
【0029】
スキャナー10は、原稿を光学的に読み取って画像に変換する。
【0030】
プリンター20は、用紙に画像を印刷する。プリンター20は、イエロー、マゼンタ、シアン、およびブラックのトナー像を形成するための感光体ドラムと露光装置とを備える。プリンター20は、各色のトナー像を転写ベルトに重ねて転写し、重なったトナー像を給紙部30から搬送されてきた用紙に転写する。トナー像が転写された用紙は、原稿排紙トレイへ排出される。
【0031】
給紙部30は、プリンター20へ供給する用紙を収納する。
【0032】
操作パネル40は、ユーザーによる入力操作を受け付ける。操作パネル40は、各種操作画面が表示されるタッチパネルディスプレイを備える。
【0033】
ファクシミリ50は、電話回線に接続し、他の装置との間で画像データを送受信する。
【0034】
通信インターフェース60は、ネットワーク99を介してサーバー500と通信する。通信インターフェース60は、サーバー500からコマンドを受信する。通信インターフェース60は、ユーザーが操作した操作画面の画面IDをサーバー500へ送信する。
【0035】
制御部70は、CPU71、RAM72、およびROM73を備える。CPU71は、ROM73等に保存されている動作プログラムを実行することにより、画像形成装置100全体を総括的に制御する。ROM73は、CPU71が実行するプログラムやその他のデータを記憶する。RAM72は、CPU71がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。
【0036】
ハードディスク80は、プログラムや各種データを記憶する。各種データは、例えば、画像データである。
【0037】
図5は、音声操作システム1の機能的構成を示す図である。音声操作システム1は、スマートスピーカー400、サーバー500、および画像形成装置100から構成される。
【0038】
スマートスピーカー400における機能的構成について説明する。音声受付部4101は、マイク420を介して画像形成装置100に対する指示を音声で受け付ける。音声受付部4101は、受け付けた音声を音声データに変換し、その音声データを通信インターフェース440を介してサーバー500へ送信する。また、音声出力部4102は、サーバー500から送られてきた音声データを通信インターフェース440を介して受信し、その音声データを音声化してスピーカー430を介して出力する。音声受付部4101および音声出力部4102で行われる処理は、CPU411がROM413に格納されている所定のプログラムを実行することにより実現される。
【0039】
サーバー500における機能的構成について説明する。音声認識部5101は、スマートスピーカー400から送られてきた音声データを通信インターフェース520を介して受信し、その音声データに対応するテキストデータを生成する。また、音声認識部5101は、テキストデータ生成部5104で生成されたテキストデータを音声データに変換し、その音声データを通信インターフェース520を介してスマートスピーカー400へ送信する。
【0040】
抽出部5102は、生成されたテキストデータの中から指示キーワードを抽出する。
【0041】
コマンド生成部5103は、ハードディスク530内のテーブルAまたはテーブルBを参照してコマンドを生成し、そのコマンドを画像形成装置100に送信する。コマンド生成部5103で行われる処理の詳細は、
図9を参照して後述する。
【0042】
テキストデータ生成部5104は、コマンド生成部5103で画面遷移コマンドが生成された場合、または、コマンド生成部5103でいずれのコマンドも生成されなかった場合に、スマートスピーカー400に出力させる音声のテキストデータを生成する。テキストデータ生成部5104および音声認識部5101で行われる、スマートスピーカー400に音声出力を指示する処理の詳細は、
図10を参照して後述する。
【0043】
登録部5105は、ユーザーが操作パネル40に表示される操作画面上で設定操作を行った場合に、指示キーワードと、その操作画面の画面IDと、画像形成装置100にログイン中のユーザーIDとを対応付けて、ハードディスク530内のテーブルZに保存する。テーブルZは、ユーザー毎に設けられており、ユーザーごとの傾向(例えば、過去の設定操作)を記録したものである。登録部5105は、画像形成装置100にログイン中のユーザーのテーブルZを選択し、そのテーブルZに指示キーワードと操作画面の画面IDとを対応付けて保存する。テーブルZに保存された情報は、次回、同一ユーザーが同一の指示キーワードを発した場合に、操作パネル40に表示させる操作画面を特定する場合に参照される。登録部5105で行われる処理の詳細は、
図11を参照して後述する。
【0044】
音声認識部5101、抽出部5102、コマンド生成部5103、テキストデータ生成部5104、および登録部5105で行われる処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0045】
画像形成装置100における機能的構成について説明する。特定部7001は、サーバー500から送られてきたコマンドを通信インターフェース60を介して受信し、その処理内容を特定する。実行部7002は、特定部7001で特定された処理内容に基づいて処理を実行する。特定部7001および実行部7002で行われる処理の詳細は、
図14を参照して後述する。
【0046】
画面ID送信部7003は、ユーザーが操作パネル40に表示される操作画面上で設定操作を行った場合に、その操作画面の画面IDをログイン中のユーザーIDと対応付けて、通信インターフェース60を介してサーバー500へ送信する。画面ID送信部7003で行われる処理の詳細は、
図15を参照して後述する。
【0047】
特定部7001、実行部7002、および画面ID送信部7003で行われる処理は、CPU71がROM73に格納されている所定のプログラムを実行することにより実現される。
【0048】
図6は、テーブルAのデータ構造を示す図である。テーブルAは、ハードディスク530に予め格納され、コマンド生成部5103で行われる処理において参照される。
【0049】
テーブルAには、指示キーワードと画面IDとが対応付けられている。画面IDとは、操作パネル40に表示される操作画面の識別情報である。指示キーワードに対応付けられている画面IDは、ユーザーが指示キーワードに対応する処理の実行を指示する際に操作パネル40に表示される操作画面の識別情報である。さらに、テーブルAには、指示キーワードと上位画面の画面IDとが対応付けられている。指示キーワードに対応付けられている上位画面の画面IDとは、ユーザーが指示キーワードに対応する処理の実行を指示する際に操作パネル40に表示される操作画面の上位の階層に位置する操作画面の識別情報である。「上位画面の画面ID」の欄には、上位画面の画面IDが階層の浅い方から順に記載されている。
【0050】
例えば、「コピーステープル」という指示キーワードに対応する操作画面の画面IDは、「12128」である。「コピーステープル」という指示キーワードに対応する操作画面の1階層上位に位置する操作画面の画面IDは、「12100」である。「コピーステープル」という指示キーワードに対応する操作画面の2階層上位に位置する操作画面の画面IDは、「12000」である。「コピーステープル」という指示キーワードに対応する操作画面の3階層上位に位置する操作画面の画面IDは、「10000」である。
【0051】
図7は、テーブルBのデータ構造を示す図である。テーブルBは、ハードディスク530に予め格納され、コマンド生成部5103で行われる処理において参照される。
【0052】
テーブルBには、指示キーワードと実行コマンドとが対応付けられている。テーブルBに保存されている指示キーワードは、テーブルAに保存されている指示キーワードの中でも使用頻度の高い処理に対応する指示キーワードである。実行コマンドとは、指示キーワードに対応する処理の実行を画像形成装置100に指示するためのコマンドである。例えば、「コピー2in1」という指示キーワードに対応する実行コマンドは、「AAA」である。
【0053】
[サーバー500の処理]
図8~
図11を参照して、サーバー500で行われる処理について説明する。
図8は、サーバー500の全体処理を示すフローチャートである。
図8に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0054】
まず、制御部510は、スマートスピーカー400から音声データを受信したか否かを判定する(ステップS810)。制御部510は、スマートスピーカー400から音声データを受信するまでステップS810を繰り返し、スマートスピーカー400から音声データを受信した場合には(ステップS810においてYES)、ステップS820に移行する。
【0055】
ステップS820において、制御部510は、受信した音声データに対応するテキストデータを生成する。
【0056】
次いで、制御部510は、テキストデータの中から指示キーワードを抽出する(ステップS830)。
【0057】
次いで、制御部510は、コマンド生成処理を行う(ステップS840)。コマンド生成処理は、ステップS830で抽出した指示キーワードを基に、ハードディスク530内のテーブルAまたはテーブルBを参照してコマンドを生成し、そのコマンドを画像形成装置100に送信する処理である。コマンド生成処理の詳細は、
図9を参照して後述する。
【0058】
次いで、制御部510は、音声出力を指示する処理を行う(ステップS850)。音声出力を指示する処理は、ステップS840で画面遷移コマンドが生成された場合、または、ステップS840でいずれのコマンドも生成されなかった場合に、スマートスピーカー400に音声出力を指示する処理である。音声出力を指示する処理の詳細は、
図10を参照して後述する。
【0059】
次いで、制御部510は、登録処理を行う(ステップS860)。登録処理は、ユーザーが操作パネル40に表示される操作画面上で設定操作を行った場合に、指示キーワードと、その操作画面の画面IDと、画像形成装置100にログイン中のユーザーIDとを対応付けて、ハードディスク530内のテーブルZに保存する処理である。登録処理の詳細は、
図11を参照して後述する。
【0060】
制御部510は、ステップS860の後、
図8に示す一連の処理を終了する。
【0061】
図9は、コマンド生成処理を示すフローチャートである。
図9に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0062】
まず、制御部510は、ステップS830で抽出した指示キーワードがテーブルBに含まれるか否かを判定する(ステップS910)。ステップS830で抽出した指示キーワードがテーブルBに含まれる場合には(ステップS910においてYES)、制御部510は、ステップS920に移行する。一方、ステップS830で抽出した指示キーワードがテーブルBに含まれない場合には(ステップS910においてNO)、制御部510は、ステップS930に移行する。
【0063】
ステップS920において、制御部510は、テーブルBを参照して指示キーワードに対応する実行コマンドを生成する。例えば、指示キーワードが「コピー2in1」である場合には、制御部510は、「AAA」という実行コマンドを生成する。
【0064】
ステップS930において、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれるか否かを判定する。ステップS830で抽出した指示キーワードがテーブルAに含まれる場合には(ステップS930においてYES)、制御部510は、ステップS940に移行する。一方、ステップS830で抽出した指示キーワードがテーブルAに含まれない場合には(ステップS930においてNO)、制御部510は、
図9に示す一連の処理を終了する。
【0065】
ステップS940において、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれるか否かを判定する。例えば、ステップS830で抽出した指示キーワードが「カラー」である場合には、「カラー」が「カラーコピー」および「カラースキャン」に含まれているので、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれると判定する。ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれる場合には(ステップS940においてYES)、制御部510は、ステップS945に移行する。一方、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれていない場合には(ステップS940においてNO)、制御部510は、ステップS950に移行する。
【0066】
ステップS945において、制御部510は、テーブルAに含まれる指示キーワードのうちステップS830で抽出した指示キーワードを共通して含む複数の指示キーワードの各々に対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラー」である場合には、制御部510は、「12125」という画面IDを指定した画面遷移コマンド、および、「15125」という画面IDを指定した画面遷移コマンドを生成する。なお、ステップS945において、制御部510は、テーブルZを参照し、ステップS830で抽出した指示キーワードにユーザーがこれまでに操作した操作画面の画面IDが対応付けられている場合には、その画面IDを指定した画面遷移コマンドのみを生成してもよい。
【0067】
ステップS950において、制御部510は、テーブルAに含まれるステップS830で抽出した指示キーワードが1つであるか否かを判定する。テーブルAに含まれるステップS830で抽出した指示キーワードが1つである場合には(ステップS950においてYES)、制御部510は、ステップS955に移行する。一方、テーブルAに含まれるステップS830で抽出した指示キーワードが1つではない場合には(ステップS950においてNO)、制御部510は、ステップS960に移行する。
【0068】
ステップS955において、制御部510は、テーブルAにおいてステップS830で抽出した指示キーワードに対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「コピーステープル」である場合には、制御部510は、「12128」という画面IDを指定した画面遷移コマンドを生成する。
【0069】
ステップS960において、制御部510は、テーブルAにおいてステップS830で抽出した指示キーワードの各々に対応付けられている上位画面の画面IDのうち共通する画面IDを指定した画面遷移コマンドを生成する。共通する画面IDが複数ある場合には、制御部510は、複数の共通する画面IDのうち最下層の画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラーコピー」および「コピーステープル」である場合には、制御部510は、「12100」という画面IDを指定した画面遷移コマンドを生成する。
【0070】
制御部510は、ステップS920、ステップS945、ステップS955、またはステップS960の後、ステップS970に移行する。ステップS970において、制御部510は、実行コマンドまたは画面遷移コマンドを通信インターフェース520を介して画像形成装置100に送信する。制御部510は、ステップS970の後、
図9に示す一連の処理を終了する。
【0071】
なお、実行コマンドは、「AAA」のコマンドのように、原稿を「2in1」で「コピー」するという複数のコマンドを含むのに対し、画面遷移コマンドは指定されている画面を操作パネル40に表示するという1つのコマンドのみを含む。
【0072】
また、実行コマンドは、画像形成装置100に印刷処理の実行を指示するようなコマンドに限られない。実行コマンドは、画像形成装置100に印刷条件を設定させるに留め、印刷処理の実行までは行わせないようなコマンドでもよい。例えば、「AAA」のコマンドであれば、原稿を2in1でコピーすることを画像形成装置100に指示するコマンドであってもよいし、原稿を2in1でコピーするという印刷条件の設定を画像形成装置100に指示するコマンドでもよい。
【0073】
また、ステップS830で複数の指示キーワードが抽出された場合に、テーブルBに含まれる指示キーワードとテーブルAにのみ含まれる指示キーワードとが混在する場合もあり得る。このような場合には、制御部510は、テーブルBに含まれる指示キーワードに対しては実行コマンドを生成し、テーブルAにのみ含まれる指示キーワードに対しては画面遷移コマンドを生成し、これらのコマンドを画像形成装置100に送信してもよい。
【0074】
図10は、音声出力を指示する処理を示すフローチャートである。
図10に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0075】
まず、制御部510は、ステップS840で実行コマンドが生成されたか否かを判定する(ステップS1010)。ステップS840で実行コマンドが生成された場合には(ステップS1010においてYES)、制御部510は、
図10に示す一連の処理を終了する。一方、ステップS840で実行コマンドが生成されなかった場合には(ステップS1010においてNO)、制御部510は、ステップS1020に移行する。
【0076】
ステップS1020において、制御部510は、ステップS840で画面遷移コマンドが生成されたか否かを判定する。ステップS840で画面遷移コマンドが生成された場合には(ステップS1020においてYES)、制御部510は、ステップS1030に移行する。一方、ステップS840で画面遷移コマンドが生成されなかった場合には(ステップS1020においてNO)、制御部510は、ステップS1060に移行する。
【0077】
ステップS1030において、制御部510は、ステップS840で複数の画面遷移コマンドが生成された否かを判定する。ステップS840で複数の画面遷移コマンドが生成された場合には(ステップS1030においてYES)、制御部510は、ステップS1050に移行する。一方、ステップS840で複数の画面遷移コマンドが生成されなかった場合には(ステップS1030においてNO)、制御部510は、ステップS1040に移行する。
【0078】
ステップS1040において、制御部510は、「操作パネル40に関連する画面を表示したので設定して下さい」という内容のテキストデータを生成する。
【0079】
ステップS1050において、制御部510は、「操作パネル40に候補の画面を表示したので画面を選択して設定して下さい」という内容のテキストデータを生成する。
【0080】
ステップS1060において、制御部510は、「操作パネル40上で設定して下さい」という内容のテキストデータを生成する。
【0081】
ステップS1040、ステップS1050、またはステップS1060の後、制御部510は、テキストデータに対応する音声データを生成する(ステップS1070)。
【0082】
次いで、制御部510は、通信インターフェース520を介して音声データをスマートスピーカー400へ送信する(ステップS1080)。スマートスピーカー400では、サーバー500から送られてきた音声データが音声化されて出力される。
【0083】
制御部510は、ステップS1080の後、
図10に示す一連の処理を終了する。
【0084】
図11は、登録処理を示すフローチャートである。
図11に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0085】
まず、制御部510は、画像形成装置100から画像形成装置100にログイン中のユーザーIDおよびユーザーが操作した操作画面の画面IDを受信したか否かを判定する(ステップS1110)。制御部510は、画像形成装置100から画像形成装置100にログイン中のユーザーIDおよびユーザーが操作した操作画面の画面IDを受信するまでステップS1110を繰り返し、画像形成装置100から画像形成装置100にログイン中のユーザーIDおよびユーザーが操作した操作画面の画面IDを受信した場合には(ステップS1110においてYES)、ステップS1120へ移行する。
【0086】
ステップS1120において、制御部510は、ステップS830で抽出した指示キーワードと、画像形成装置100から送られてきた画面IDと、画像形成装置100から送られてきた画像形成装置100にログイン中のユーザーIDとを対応付けて、ハードディスク530内のテーブルZに保存する。制御部510は、画像形成装置100にログイン中のユーザーのテーブルZを選択し、そのテーブルZに指示キーワードと操作画面の画面IDとを対応付けて保存する。ハードディスク530に格納された情報は、次回、同一ユーザーが同一の指示キーワードを発した場合に、操作パネル40に表示させる操作画面を特定する場合に参照される。
【0087】
制御部510は、ステップS1120の後、
図11に示す一連の処理を終了する。
【0088】
[スマートスピーカー400の処理]
図12および
図13を参照して、スマートスピーカー400で行われる処理について説明する。
図12は、音声受付処理を示すフローチャートである。音声受付処理は、受け付けた音声を音声データに変換し、その音声データをサーバー500へ送信する処理である。音声受付処理は、CPU411がROM413に格納されている所定のプログラムを実行することにより実現される。
【0089】
まず、制御部410は、音声を受け付けたか否かを判定する(ステップS1210)。制御部410は、音声を受け付けるまでステップS1210を繰り返し、音声を受け付けた場合には(ステップS1210においてYES)、制御部410は、ステップS1220に移行する。
【0090】
ステップS1220において、制御部410は、受け付けた音声を音声データに変換する。
【0091】
次いで、制御部410は、音声データを通信インターフェース440を介してサーバー500へ送信する(ステップS1230)。制御部410は、ステップS1230の後、
図12に示す一連の処理を終了する。
【0092】
図13は、音声出力処理を示すフローチャートである。音声出力処理は、サーバー500から受信した音声データを音声化して出力する処理である。音声出力処理は、CPU411がROM413に格納されている所定のプログラムを実行することにより実現される。
【0093】
まず、制御部410は、サーバー500から音声データを受信したか否かを判定する(ステップS1310)。制御部410は、サーバー500から音声データを受信するまでステップS1310を繰り返し、サーバー500から音声データを受信した場合には(ステップS1310においてYES)、制御部410は、ステップS1320に移行する。
【0094】
ステップS1320において、制御部410は、音声データを音声化する。
【0095】
次いで、制御部410は、スピーカー430より音声を出力する(ステップS1330)。制御部410は、ステップS1330の後、
図13に示す一連の処理を終了する。
【0096】
[画像形成装置100の処理]
図14および
図15を参照して、画像形成装置100で行われる処理について説明する。
図14は、実行処理を示すフローチャートである。実行処理は、サーバー500から送られてきたコマンドを実行する処理である。実行処理は、CPU71がROM73に格納されている所定のプログラムを実行することにより実現される。
【0097】
まず、制御部70は、サーバー500からコマンドを受信したか否かを判定する(ステップS1410)。制御部70は、サーバー500からコマンドを受信するまでステップS1410を繰り返し、サーバー500からコマンドを受信した場合には(ステップS1410においてYES)、制御部70は、ステップS1420に移行する。コマンドとは、ステップS840で生成されたコマンドであり、実行コマンドや画面遷移コマンドである。
【0098】
ステップS1420において、制御部70は、コマンドが示す処理内容をアプリケーションプログラミングインターフェース(API)を介して特定する。
【0099】
次いで、制御部70は、特定した処理内容に従って処理を実行する(ステップS1430)。例えば、サーバー500から送られてきたコマンドが「AAA」という実行コマンドである場合には、制御部70は、画像形成装置100にセットされている原稿を2in1でコピーする。他の例として、サーバー500から受信したコマンドが「12128」という画面IDを指定した画面遷移コマンドである場合には、制御部70は、コピーの操作画面のうちステープルの操作画面を操作パネル40に表示する。
【0100】
制御部70は、ステップS1430の後、
図14に示す一連の処理を終了する。
【0101】
図15は、画面ID送信処理を示すフローチャートである。画面ID送信処理は、ユーザーによる操作パネル40上での設定操作が完了した場合に、ユーザーが操作した操作画面の画面IDをサーバー500へ送信する処理である。画面ID送信処理は、CPU71がROM73に格納されている所定のプログラムを実行することにより実現される。
【0102】
まず、制御部70は、ユーザーによる操作パネル40上での設定操作が完了したか否かを判定する(ステップS1510)。制御部70は、ユーザーによる操作パネル40上での設定操作が完了するまでステップS1510を繰り返し、ユーザーによる操作パネル40上での設定操作が完了した場合には(ステップS1510においてYES)、制御部70は、ステップS1520に移行する。ユーザーが操作パネル40上の「設定」や「OK」を押下した場合、または、ユーザーによる操作パネル40上での操作の後に操作画面が他の画面に遷移した場合に、制御部70はユーザーによる操作パネル40上での設定操作が完了したと判定する。
【0103】
ステップS1520において、制御部70は、ユーザーが操作した操作画面の画面IDと画像形成装置100にログイン中のユーザーIDとを対応付けて、通信インターフェース60を介してサーバー500へ送信する。制御部70は、ステップS1520の後、
図15に示す一連の処理を終了する。
【0104】
図15に示す一連の処理によって、サーバー500がユーザーの発した指示キーワードから遷移先の画面を1つに特定することができず、ユーザーが操作パネル40に表示されている遷移先の画面候補の中から一の画面を選択した場合に、ユーザーが選択した操作画面の画面IDがユーザーIDと対応付けられてサーバー500へ送信される。他の例としては、ユーザーが発した指示キーワードがテーブルAとテーブルBとのいずれにも含まれておらず、ユーザーが操作パネル40上で設定操作を行った場合に、ユーザーが操作した操作画面の画面IDがユーザーIDと対応付けられてサーバー500へ送信される。
【0105】
[音声操作システム1の一連の処理]
図16~
図19を参照して、音声操作システム1の一連の処理を説明する。
図16は、指示キーワードがテーブルBに含まれる場合の音声操作システム1の一連の処理を説明するためのシーケンス図である。
【0106】
ユーザーが「2in1でコピーして下さい」と発すると(T1605)、スマートスピーカー400は音声を音声データに変換し(T1610)、その音声データをサーバー500へ送信する(T1615)。
【0107】
サーバー500は、スマートスピーカー400から送られてきた音声データをテキスト化し(T1620)、「コピー2in1」という指示キーワードを抽出する(T1625)。サーバー500は、テーブルBを参照して、「AAA」という実行コマンドを生成する(T1630)。サーバー500は、「AAA」という実行コマンドを画像形成装置100に送信する(T1635)。
【0108】
画像形成装置100は、サーバー500から送られてきたコマンドを受信し、コマンドが示す処理内容を特定し(T1640)、特定した処理内容に従って処理を実行する(T1645)。すなわち、画像形成装置100は、画像形成装置100にセットされている原稿を2in1でコピーする。
【0109】
音声操作システム1による上記一連の処理により、「2in1でコピーして下さい」というユーザーの指示に対し、画像形成装置100にセットされている原稿が2in1でコピーされる。
【0110】
図17は、指示キーワードがテーブルBに含まれないがテーブルAに含まれる場合の音声操作システム1の一連の処理を説明するためのシーケンス図である。
【0111】
ユーザーが「コピーしてステープルして下さい」と発すると(T1705)、スマートスピーカー400は音声を音声データに変換し(T1710)、その音声データをサーバー500へ送信する(T1715)。
【0112】
サーバー500は、スマートスピーカー400から送られてきた音声データをテキスト化し(T1720)、「コピーステープル」という指示キーワードを抽出する(T1725)。サーバー500は、テーブルAを参照して、「12128」という画面IDを指定した画面遷移コマンドを生成する(T1730)。サーバー500は、「12128」という画面IDを指定した画面遷移コマンドを画像形成装置100に送信する(T1735)。
【0113】
画像形成装置100は、サーバー500から送られてきたコマンドを受信し、コマンドが示す処理内容を特定し(T1740)、特定した処理内容に従って処理を実行する(T1745)。すなわち、画像形成装置100は、コピーの操作画面のうちステープルの操作画面を操作パネル40に表示する。
【0114】
サーバー500は、画像形成装置100に対して画面遷移コマンドを送信する一方で、スマートスピーカー400に対しては、音声データを送信する。具体的には、サーバー500は、「操作パネル40に関連する画面を表示したので設定して下さい」という内容のテキストデータを生成する(T1750)。サーバー500は、そのテキストデータに対応する音声データを生成し(T1755)、スマートスピーカー400に送信する(T1760)。
【0115】
スマートスピーカー400は、サーバー500から送られてきた音声データを音声化し(T1765)、出力する(T1770)。
【0116】
音声操作システム1による上記一連の処理により、「コピーしてステープルして下さい」というユーザーの指示に対し、操作パネル40にコピーの操作画面のうちステープルの操作画面が表示される。
【0117】
図18は、指示キーワードに対応する遷移先の画面候補が1つではない場合の音声操作システム1の一連の処理を説明するためのシーケンス図である。
【0118】
ユーザーが「カラーに設定して下さい」と発すると(T1805)、スマートスピーカー400は音声を音声データに変換し(T1810)、その音声データをサーバー500へ送信する(T1815)。
【0119】
サーバー500は、スマートスピーカー400から送られてきた音声データをテキスト化し(T1820)、「カラー」という指示キーワードを抽出する(T1825)。サーバー500は、テーブルAを参照して、「12125」という画面IDを指定した画面遷移コマンド、および、「15125」という画面IDを指定した画面遷移コマンドを生成する(T1830)。これは、ユーザーが意図している設定が、「カラーコピー」と「カラースキャン」とのいずれであるのかが不明であるためである。サーバー500は、「12125」という画面IDを指定した画面遷移コマンドと「15125」という画面IDを指定した画面遷移コマンドとを画像形成装置100に送信する(T1835)。
【0120】
画像形成装置100は、サーバー500から送られてきたコマンドを受信し、コマンドが示す処理内容を特定し(T1840)、特定した処理内容に従って処理を実行する(T1845)。すなわち、画像形成装置100は、画面IDが「12125」の画面と画面IDが「15125」の画面とを操作パネル40に表示する。すなわち、画像形成装置100は、カラーコピーの操作画面と、カラースキャンの操作画面とを操作パネル40に表示する。
【0121】
サーバー500は、画像形成装置100に対して画面遷移コマンドを送信する一方で、スマートスピーカー400に対しては、音声データを送信する。具体的には、サーバー500は、「操作パネル40に候補の画面を表示したので画面を選択して設定して下さい」という内容のテキストデータを生成する(T1850)。サーバー500は、そのテキストデータに対応する音声データを生成し(T1855)、スマートスピーカー400に送信する(T1860)。
【0122】
スマートスピーカー400は、サーバー500から送られてきた音声データを音声化し(T1865)、出力する(T1870)。
【0123】
ユーザーが操作パネル40に表示されている候補画面の中から所望の画面を選択した場合には、画像形成装置100は、選択された画面の画面IDと、画像形成装置100にログイン中のユーザーIDとを対応付けて、サーバー500に送信する(T1875)。
【0124】
サーバー500は、T1825で抽出した指示キーワードと、画像形成装置100から送られてきた画像形成装置100にログイン中のユーザーIDと、画像形成装置100から送られてきた画面IDとを対応付けて、ハードディスク530内のテーブルZに格納する(T1880)。
【0125】
音声操作システム1による上記一連の処理により、「カラーに設定して下さい」というユーザーの指示に対し、操作パネル40に候補の画面が表示される。これにより、ユーザーは、候補の画面の中から所望の画面を選択して設定することができる。また、次回、同一ユーザーが同一の指示キーワードを発した場合に、音声操作システム1は、操作パネル40に表示させる操作画面を特定することができる。
【0126】
図19は、指示キーワードがテーブルAとテーブルBとのいずれにも含まれていない場合の音声操作システム1の一連の処理を説明するためのシーケンス図である。
【0127】
ユーザーが「2ページを1ページに集約してコピーして下さい」と発すると(T1905)、スマートスピーカー400は音声を音声データに変換し(T1910)、その音声データをサーバー500へ送信する(T1915)。
【0128】
サーバー500は、スマートスピーカー400から送られてきた音声データをテキスト化し(T1920)、「コピー集約」という指示キーワードを抽出する(T1925)。「コピー集約」という指示キーワードはテーブルAとテーブルBとのいずれにも含まれていないため、サーバー500は、コマンドを生成することなく、「操作パネル40上で設定して下さい」という内容のテキストデータを生成する(T1930)。サーバー500は、そのテキストデータに対応する音声データを生成し(T1935)、スマートスピーカー400に送信する(T1940)。
【0129】
スマートスピーカー400は、サーバー500から送られてきた音声データを音声化し(T1945)、出力する(T1950)。
【0130】
ユーザーが操作パネル40上で設定操作を行った場合には、画像形成装置100は、ユーザーが操作した操作画面の画面IDと、画像形成装置100にログイン中のユーザーIDとを対応付けて、サーバー500に送信する(T1955)。
【0131】
サーバー500は、T1925で抽出した指示キーワードと、画像形成装置100から送られてきた画像形成装置100にログイン中のユーザーIDと、画像形成装置100から送られてきた画面IDとを対応付けて、ハードディスク530内のテーブルZに格納する(T1960)。
【0132】
音声操作システム1による上記一連の処理により、「2ページを1ページに集約してコピーして下さい」というユーザーの指示に対しては、ユーザーに操作パネル40上での設定を促す音声が出力される。また、ユーザーが操作した操作画面の画面IDと、ユーザーIDと、指示キーワードとが対応付けられてテーブルZに保存されるので、次回、同一ユーザーが同一の指示キーワードを発した場合に、音声操作システム1は、操作パネル40に表示させる操作画面を特定することができる。
【0133】
このように、実施の形態1では、音声操作システム1は、使用頻度の高い処理についてのみ音声による実行を可能とする実行コマンドを備え、それ以外の処理については画面遷移コマンドを備えるにすぎない。これにより、開発する実行コマンドの数を抑えることができるので、開発工数を抑えることができる。
【0134】
また、ユーザーが音声で指示した内容が実行コマンドの用意されていない処理に対する実行指示であった場合には、音声操作システム1は、ユーザーの指示に関連する画面を操作パネル40に表示する。具体的には、指示キーワードに対応する画面が1つである場合には、音声操作システム1は、その画面を操作パネル40に表示する。指示キーワードに対応する画面の候補が複数である場合には、音声操作システム1は、候補の画面を操作パネル40に表示し、ユーザーに所望の画面を選択させる。指示キーワードが複数ある場合には、音声操作システム1は、各々の指示キーワードに対応する画面に共通する上位画面を操作パネル40に表示する。これにより、ユーザーが音声で指示した内容が実行コマンドの用意されていない処理に対する実行指示であった場合であっても、ユーザーの操作性が損なわれずにすむ。
【0135】
また、ユーザーが音声で指示した内容が実行コマンドも画面遷移コマンドも用意されていない処理に対する実行指示であった場合、または、遷移先の画面候補が複数であり、ユーザーに所望の画面を選択させた場合には、音声操作システム1は、指示キーワードと、画像形成装置100にログイン中のユーザーIDと、画面IDとを対応付けて、ハードディスク530内のテーブルZに格納する。これにより、次回、同一ユーザーが同一の指示キーワードを発した場合に、音声操作システム1は、操作パネル40に表示させる操作画面を特定することができる。
【0136】
なお、音声操作システム1は、サーバー500で行われる処理の全てまたは一部をクラウドサービスとして提供するようなものであってもよい。
【0137】
CPU411によって実行されるプログラムは、上記したようにROM413に格納されている代わりに、スマートスピーカー400が備えるハードディスクに格納されていてもよいし、スマートスピーカー400に対して着脱可能な記憶媒体に格納されていてもよい。当該プログラムが格納される記憶媒体は、たとえば、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、USB(Universal Serial Bus)メモリー、メモリーカード、FD(Floppy Disk)、ハードディスク、SSD(Solid State Drive)、磁気テープ、カセットテープ、MO(Magneto Optical Disc)、MD(Mini Disc)、IC(Integrated Circuit)カード(メモリーカードを除く)、光カード、マスクROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発的にデータを格納する媒体が挙げられる。
【0138】
CPU511によって実行されるプログラムは、上記したようにROM513に格納されている代わりに、ハードディスク530に格納されていてもよいし、サーバー500に対して着脱可能な記憶媒体に格納されていてもよい。当該プログラムが格納される記憶媒体は、たとえば、CD-ROM、DVD-ROM、USBメモリー、メモリーカード、FD、ハードディスク、SSD、磁気テープ、カセットテープ、MO、MD、ICカード(メモリーカードを除く)、光カード、マスクROM、EPROM、EEPROMなどの、不揮発的にデータを格納する媒体が挙げられる。
【0139】
CPU71によって実行されるプログラムは、上記したようにROM73に格納されている代わりに、ハードディスク80に格納されていてもよいし、画像形成装置100に対して着脱可能な記憶媒体に格納されていてもよい。当該プログラムが格納される記憶媒体は、たとえば、CD-ROM、DVD-ROM、USBメモリー、メモリーカード、FD、ハードディスク、SSD、磁気テープ、カセットテープ、MO、MD、ICカード(メモリーカードを除く)、光カード、マスクROM、EPROM、EEPROMなどの、不揮発的にデータを格納する媒体が挙げられる。
【0140】
[実施の形態2]
次に、実施の形態2について説明する。実施の形態1では、抽出した指示キーワードがテーブルBに含まれる場合には、音声操作システム1は、指示キーワードに対応する実行コマンドを生成した。これに対し、実施の形態2では、抽出した指示キーワードがテーブルBに含まれる場合であっても、ユーザーが音声で指示した処理が特定の処理であった場合には、音声操作システムは、実行コマンドを生成せずに画面遷移コマンドを生成する。以下、実施の形態1と異なる点についてのみ説明し、実施の形態1と同様の構成については同じ符号を付して、その説明は繰り返さない。
【0141】
特定の処理とは、実行指示そのものが誤っている可能性が高い処理のことである。例えば、特定の処理は、深い階層の操作画面上で実行を指示される処理、実行回数が所定回数以下の処理、中止回数が所定回数以上の処理等である。深い階層の操作画面上で実行を指示される処理はユーザーの使用頻度が低い傾向にあるため、実行指示そのものが誤っている可能性が考えられる。また、実行回数が所定回数以下の項目や、中止回数が所定回数以上の項目もユーザーの使用頻度が低い傾向にあるため、実行指示そのものが誤っている可能性が考えられる。そこで、ユーザーが音声で指示した処理が特定の処理である場合には、実施の形態2における音声操作システム1は、実行コマンドではなく画面遷移コマンドを生成し、処理の実行までは行わずに、画面遷移に留める。
【0142】
図20および
図21を参照して、特定の処理が深い階層の操作画面上で実行を指示される処理である場合について説明する。
【0143】
図20は、実施の形態2におけるテーブルB1のデータ構造を示す図である。テーブルB1は、ハードディスク530に格納され、コマンド生成部5103で行われる処理において参照される。テーブルB1には、指示キーワードと実行コマンドと画面階層とが対応付けられている。画面階層とは、指示キーワードに対応する処理の実行を指示するための操作画面の階層である。「画面階層」の欄の数値が大きい程、画面の階層が深くなる。階層の深い画面に表示される項目は、使用頻度が低くなる傾向にある。
【0144】
図21は、実施の形態2におけるコマンド生成処理を示すフローチャートである。
図21に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0145】
まず、制御部510は、ステップS830で抽出した指示キーワードがテーブルB1に含まれるか否かを判定する(ステップS2110A)。ステップS830で抽出した指示キーワードがテーブルB1に含まれる場合には(ステップS2110AにおいてYES)、制御部510は、ステップS2115Aに移行する。一方、ステップS830で抽出した指示キーワードがテーブルB1に含まれない場合には(ステップS2110AにおいてNO)、制御部510は、ステップS2130に移行する。
【0146】
ステップS2115Aにおいて、制御部510は、指示キーワードに対応する処理の実行を指示するための操作画面の階層の深さが所定階層以上の深さであるか否かを判定する。指示キーワードに対応する処理の実行を指示するための操作画面の階層の深さが所定階層以上の深さである場合には、(ステップS2115AにおいてYES)、制御部510は、ステップS2140に移行する。一方、指示キーワードに対応する処理の実行を指示するための操作画面の階層の深さが所定階層未満の深さである場合には、(ステップS2115AにおいてNO)、制御部510は、ステップS2120に移行する。
【0147】
ステップS2120において、制御部510は、テーブルB1を参照して、指示キーワードに対応する実行コマンドを生成する。
【0148】
ステップS2130において、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれるか否かを判定する。ステップS830で抽出した指示キーワードがテーブルAに含まれる場合には(ステップS2130においてYES)、制御部510は、ステップS2140に移行する。一方、ステップS830で抽出した指示キーワードがテーブルAに含まれない場合には(ステップS2130においてNO)、制御部510は、
図21に示す一連の処理を終了する。
【0149】
ステップS2140において、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれるか否かを判定する。例えば、ステップS830で抽出した指示キーワードが「カラー」である場合には、「カラー」が「カラーコピー」および「カラースキャン」に含まれているので、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれると判定する。ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれる場合には(ステップS2140においてYES)、制御部510は、ステップS2145に移行する。一方、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれていない場合には(ステップS2140においてNO)、制御部510は、ステップS2150に移行する。
【0150】
ステップS2145において、制御部510は、テーブルAに含まれる指示キーワードのうちステップS830で抽出した指示キーワードを共通して含む複数の指示キーワードの各々に対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラー」である場合には、制御部510は、「12125」という画面IDを指定した画面遷移コマンド、および、「15125」という画面IDを指定した画面遷移コマンドを生成する。なお、ステップS2145において、制御部510は、テーブルZを参照し、ステップS830で抽出した指示キーワードにユーザーがこれまでに操作した操作画面の画面IDが対応付けられている場合には、その画面IDを指定した画面遷移コマンドのみを生成してもよい。
【0151】
ステップS2150において、制御部510は、テーブルAに含まれるステップS830で抽出した指示キーワードが1つであるか否かを判定する。テーブルAに含まれるステップS830で抽出した指示キーワードが1つである場合には(ステップS2150においてYES)、制御部510は、ステップS2155に移行する。一方、テーブルAに含まれるステップS830で抽出した指示キーワードが1つではない場合には(ステップS2150においてNO)、制御部510は、ステップS2160に移行する。
【0152】
ステップS2155において、制御部510は、テーブルAにおいてステップS830で抽出した指示キーワードに対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「コピーステープル」である場合には、制御部510は、「12128」という画面IDを指定した画面遷移コマンドを生成する。
【0153】
ステップS2160において、制御部510は、テーブルAにおいてステップS830で抽出した指示キーワードの各々に対応付けられている上位画面の画面IDのうち共通する画面IDを指定した画面遷移コマンドを生成する。共通する画面IDが複数ある場合には、制御部510は、複数の共通する画面IDのうち最下層の画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラーコピー」および「コピーステープル」である場合には、制御部510は、「12100」という画面IDを指定した画面遷移コマンドを生成する。
【0154】
制御部510は、ステップS2120、ステップS2145、ステップS2155、またはステップS2160の後、ステップS2170に移行する。ステップS2170において、制御部510は、実行コマンドまたは画面遷移コマンドを通信インターフェース520を介して画像形成装置100に送信する。制御部510は、ステップS2170の後、
図21に示す一連の処理を終了する。
【0155】
図22および
図23を参照して、特定の処理が実行回数が所定回数以下の処理である場合について説明する。
【0156】
図22は、実施の形態2におけるテーブルB2のデータ構造を示す図である。テーブルB2は、ハードディスク530に格納され、コマンド生成部5103で行われる処理において参照される。テーブルB2には、指示キーワードと実行コマンドと実行回数とが対応付けられている。実行回数とは、指示キーワードに対応する処理が実行された回数である。
【0157】
図23は、実施の形態2におけるコマンド生成処理を示すフローチャートである。
図23に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
図23に示す処理は、
図21に示す処理とステップS2110BおよびステップS2115Bにおいて異なっている。
【0158】
ステップS2110Bにおいて、制御部510は、ステップS830で抽出した指示キーワードがテーブルB2に含まれるか否かを判定する。ステップS830で抽出した指示キーワードがテーブルB2に含まれる場合には(ステップS2110BにおいてYES)、制御部510は、ステップS2115Bに移行する。一方、ステップS830で抽出した指示キーワードがテーブルB2に含まれない場合には(ステップS2110BにおいてNO)、制御部510は、ステップS2130に移行する。
【0159】
ステップS2115Bにおいて、制御部510は、指示キーワードに対応する処理の実行回数が所定回数以下であるか否かを判定する。指示キーワードに対応する処理の実行回数が所定回数以下である場合には、(ステップS2115BにおいてYES)、制御部510は、ステップS2140に移行する。一方、指示キーワードに対応する処理の実行回数が所定回数より多い場合には、(ステップS2115BにおいてNO)、制御部510は、ステップS2120に移行する。
【0160】
図23に示す処理のうちステップS2110BおよびステップS2115Bを除く処理は、
図21に示す処理と同様であることから、説明を繰り返さない。なお、ステップS2120は、「制御部510は、テーブルB2を参照して、指示キーワードに対応する実行コマンドを生成する。」と読み替えるものとする。
【0161】
図24および
図25を参照して、特定の処理が中止回数が所定回数以上の処理である場合について説明する。
【0162】
図24は、実施の形態2におけるテーブルB3のデータ構造を示す図である。テーブルB3は、ハードディスク530に格納され、コマンド生成部5103で行われる処理において参照される。テーブルB3には、指示キーワードと実行コマンドと中止回数とが対応付けられている。中止回数とは、指示キーワードに対応する処理が中止された回数である。
【0163】
図25は、実施の形態2におけるコマンド生成処理を示すフローチャートである。
図25に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
図25に示す処理は、
図21に示す処理とステップS2110CおよびステップS2115Cにおいて異なっている。
【0164】
ステップS2110Cにおいて、制御部510は、ステップS830で抽出した指示キーワードがテーブルB3に含まれるか否かを判定する。ステップS830で抽出した指示キーワードがテーブルB3に含まれる場合には(ステップS2110CにおいてYES)、制御部510は、ステップS2115Cに移行する。一方、ステップS830で抽出した指示キーワードがテーブルB3に含まれない場合には(ステップS2110CにおいてNO)、制御部510は、ステップS2130に移行する。
【0165】
ステップS2115Cにおいて、制御部510は、指示キーワードに対応する処理の中止回数が所定回数以上であるか否かを判定する。指示キーワードに対応する処理の中止回数が所定回数以上である場合には、(ステップS2115CにおいてYES)、制御部510は、ステップS2140に移行する。一方、指示キーワードに対応する処理の中止回数が所定回数未満である場合には、(ステップS2115CにおいてNO)、制御部510は、ステップS2120に移行する。
【0166】
図25に示す処理のうちステップS2110CおよびステップS2115Cを除く処理は、
図21に示す処理と同様であることから、説明を繰り返さない。なお、ステップS2120は、「制御部510は、テーブルB3を参照して、指示キーワードに対応する実行コマンドを生成する。」と読み替えるものとする。
【0167】
このように、実施の形態2では、実行指示そのものが誤っている可能性が高い処理についての実行指示を受け付けた場合には、音声操作システム1は実行コマンドではなく画面遷移コマンドを生成する。これにより、画面遷移に留められ、処理が実行されないので、誤った処理が実行されることを避けることができる。
【0168】
[実施の形態3]
次に、実施の形態3について説明する。実施の形態1では、音声操作システム1は、指示キーワードと操作画面の画面IDとを対応付けているテーブルA、および、指示キーワードと実行コマンドとを対応付けているテーブルBを1種類しか備えていなかった。これに対し、実施の形態3では、音声操作システムは、指示キーワードと操作画面の画面IDとを対応付けているテーブル、および、指示キーワードと実行コマンドとを対応付けているテーブルを、画像形成装置の機種や画像形成装置に搭載されているアプリケーションのバージョン別に備えている。以下、実施の形態1と異なる点についてのみ説明し、実施の形態1と同様の構成については同じ符号を付して、その説明は繰り返さない。
【0169】
図26および
図27を参照して、音声操作システム1が、指示キーワードと操作画面の画面IDとを対応付けているテーブルA、および、指示キーワードと実行コマンドとを対応付けているテーブルBを、画像形成装置100の機種別に備えている場合について説明する。
【0170】
図26は、実施の形態3におけるテーブルCのデータ構造を示す図である。テーブルCは、ハードディスク530に格納され、コマンド生成部5103で行われる処理において参照される。
【0171】
テーブルCには、画像形成装置100の設置場所と、画像形成装置100の機種名と、テーブルAの名称と、テーブルBの名称とが対応付けられている。「設置場所」の欄には、画像形成装置100の設置場所が記載されている。「機種名」の欄には、画像形成装置100の機種名が記載されている。「テーブルA」の欄には、指示キーワードと操作画面の画面IDとを対応付けているテーブルのうち画像形成装置100の機種名に対応したテーブルの名称が記載されている。「テーブルB」の欄には、指示キーワードと実行コマンドとを対応付けているテーブルのうち画像形成装置100の機種名に対応したテーブルの名称が記載されている。テーブルAa、テーブルAb、テーブルAcは、テーブルAと同様のデータ構造を有する。テーブルBa、テーブルBb、テーブルBcは、テーブルBと同様のデータ構造を有する。
【0172】
ユーザーが画像形成装置100の設置場所または画像形成装置100の機種名を指定した上でスマートスピーカー400に向けて画像形成装置100に対する指示を発すると、制御部510は、テーブルCを参照して、指定された設置場所または機種名に対応するテーブルAおよびテーブルBを選択する。制御部510は、選択したテーブルを参照して、コマンドを生成する。なお、ユーザーが画像形成装置100の設置場所または画像形成装置100の機種名を指定する方法には、音声で指定する方法や操作パネル40上で指定する方法がある。
【0173】
図27は、実施の形態3におけるコマンド生成処理を示すフローチャートである。
図27に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
【0174】
まず、制御部510は、テーブルCを参照して、コマンド生成処理に用いるテーブルAおよびテーブルBを選択する(ステップS2705A)。
【0175】
次いで、制御部510は、ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルBに含まれるか否かを判定する(ステップS2710)。ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルBに含まれる場合には(ステップS2710においてYES)、制御部510は、ステップS2720に移行する。一方、ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルBに含まれない場合には(ステップS2710においてNO)、制御部510は、ステップS2730に移行する。
【0176】
ステップS2720において、制御部510は、ステップS2705Aで選択したテーブルBを参照して、指示キーワードに対応する実行コマンドを生成する。
【0177】
ステップS2730において、制御部510は、ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれるか否かを判定する。ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれる場合には(ステップS2730においてYES)、制御部510は、ステップS2740に移行する。ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれない場合には(ステップS2730においてNO)、制御部510は、
図27に示す一連の処理を終了する。
【0178】
ステップS2740において、制御部510は、ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれる複数の指示キーワードに共通して含まれるか否かを判定する。例えば、ステップS830で抽出した指示キーワードが「カラー」である場合には、「カラー」が「カラーコピー」および「カラースキャン」に含まれているので、制御部510は、ステップS830で抽出した指示キーワードがテーブルAに含まれる複数の指示キーワードに共通して含まれると判定する。ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれる複数の指示キーワードに共通して含まれる場合には(ステップS2740においてYES)、制御部510は、ステップS2745に移行する。一方、ステップS830で抽出した指示キーワードがステップS2705Aで選択したテーブルAに含まれる複数の指示キーワードに共通して含まれていない場合には(ステップS2740においてNO)、制御部510は、ステップS2750に移行する。
【0179】
ステップS2745において、制御部510は、ステップS2705Aで選択したテーブルAに含まれる指示キーワードのうちステップS830で抽出した指示キーワードを共通して含む複数の指示キーワードの各々に対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラー」である場合には、制御部510は、「12125」という画面IDを指定した画面遷移コマンド、および、「15125」という画面IDを指定した画面遷移コマンドを生成する。なお、ステップS2745において、制御部510は、テーブルZを参照し、ステップS830で抽出した指示キーワードにユーザーがこれまでに操作した操作画面の画面IDが対応付けられている場合には、その画面IDを指定した画面遷移コマンドのみを生成してもよい。
【0180】
ステップS2750において、制御部510は、ステップS2705Aで選択したテーブルAに含まれるステップS830で抽出した指示キーワードが1つであるか否かを判定する。ステップS2705Aで選択したテーブルAに含まれるステップS830で抽出した指示キーワードが1つである場合には(ステップS2750においてYES)、制御部510は、ステップS2755に移行する。一方、ステップS2705Aで選択したテーブルAに含まれるステップS830で抽出した指示キーワードが1つではない場合には(ステップS2750においてNO)、制御部510は、ステップS2760に移行する。
【0181】
ステップS2755において、制御部510は、ステップS2705Aで選択したテーブルAにおいてステップS830で抽出した指示キーワードに対応付けられている画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「コピーステープル」である場合には、制御部510は、「12128」という画面IDを指定した画面遷移コマンドを生成する。
【0182】
ステップS2760において、制御部510は、ステップS2705Aで選択したテーブルAにおいてステップS830で抽出した指示キーワードの各々に対応付けられている上位画面の画面IDのうち共通する画面IDを指定した画面遷移コマンドを生成する。共通する画面IDが複数ある場合には、制御部510は、複数の共通する画面IDのうち最下層の画面IDを指定した画面遷移コマンドを生成する。例えば、指示キーワードが「カラーコピー」および「コピーステープル」である場合には、制御部510は、「12100」という画面IDを指定した画面遷移コマンドを生成する。
【0183】
制御部510は、ステップS2720、ステップS2745、ステップS2755、またはステップS2760の後、ステップS2770に移行する。ステップS2770において、制御部510は、実行コマンドまたは画面遷移コマンドを通信インターフェース520を介して画像形成装置100に送信する。制御部510は、ステップS2770の後、
図27に示す一連の処理を終了する。
【0184】
図28および
図29を参照して、音声操作システム1が、指示キーワードと操作画面の画面IDとを対応付けているテーブルA、および、指示キーワードと実行コマンドとを対応付けているテーブルBを、画像形成装置100に搭載されているアプリケーションのバージョン別に備えている場合について説明する。
【0185】
図28は、実施の形態3におけるテーブルDのデータ構造を示す図である。テーブルDは、ハードディスク530に格納され、コマンド生成部5103で行われる処理において参照される。
【0186】
テーブルDには、画像形成装置100の設置場所と、画像形成装置100に搭載されているアプリケーションのバージョンと、テーブルAの名称と、テーブルBの名称とが対応付けられている。「設置場所」の欄には、画像形成装置100の設置場所が記載されている。「バージョン」の欄には、画像形成装置100に搭載されているアプリケーションのバージョンが記載されている。「テーブルA」の欄には、指示キーワードと操作画面の画面IDとを対応付けているテーブルのうち画像形成装置100に搭載されているアプリケーションのバージョンに対応したテーブルの名称が記載されている。「テーブルB」の欄には、指示キーワードと実行コマンドとを対応付けているテーブルのうち画像形成装置100に搭載されているアプリケーションのバージョンに対応したテーブルの名称が記載されている。テーブルA51、テーブルA62、テーブルA71は、テーブルAと同様のデータ構造を有する。テーブルB51、テーブルB62、テーブルB71は、テーブルBと同様のデータ構造を有する。
【0187】
ユーザーが画像形成装置100の設置場所または画像形成装置100に搭載されているアプリケーションのバージョンを指定した上でスマートスピーカー400に向けて画像形成装置100に対する指示を発すると、制御部510は、テーブルDを参照して、指定された設置場所または画像形成装置100に搭載されているアプリケーションのバージョンに対応するテーブルAおよびテーブルBを選択する。制御部510は、選択したテーブルを参照して、コマンドを生成する。なお、ユーザーが画像形成装置100の設置場所または画像形成装置100に搭載されているアプリケーションのバージョンを指定する方法には、音声で指定する方法や操作パネル40上で指定する方法がある。
【0188】
図29は、実施の形態3におけるコマンド生成処理を示すフローチャートである。
図29に示す処理は、CPU511がROM513に格納されている所定のプログラムを実行することにより実現される。
図29に示す処理は、
図27に示す処理とステップS2705Bにおいて異なっている。ステップS2705Bにおいて、制御部510は、テーブルDを参照して、コマンド生成処理に用いるテーブルAおよびテーブルBを選択する。
【0189】
図29に示す処理のうちステップS2705Bを除く処理は、
図27に示す処理と同様であることから、説明を繰り返さない。なお、ステップS2710は、「制御部510は、ステップS830で抽出した指示キーワードがステップS2705Bで選択したテーブルBに含まれるか否かを判定する」と読み替える。ステップS2720は、「制御部510は、ステップS2705Bで選択したテーブルBを参照して、指示キーワードに対応する実行コマンドを生成する。」と読み替える。ステップS2730は、「制御部510は、ステップS830で抽出した指示キーワードがステップS2705Bで選択したテーブルAに含まれるか否かを判定する。」と読み替える。ステップS2740は、「制御部510は、ステップS830で抽出した指示キーワードがステップS2705Bで選択したテーブルAに含まれる複数の指示キーワードに共通して含まれるか否かを判定する。」と読み替える。ステップS2745は、「制御部510は、ステップS2705Bで選択したテーブルAに含まれる指示キーワードのうちステップS830で抽出した指示キーワードを共通して含む複数の指示キーワードの各々に対応付けられている画面IDを指定した画面遷移コマンドを生成する。」と読み替える。ステップS2750は、「制御部510は、ステップS2705Bで選択したテーブルAに含まれるステップS830で抽出した指示キーワードが1つであるか否かを判定する。」と読み替える。ステップS2755は、「制御部510は、ステップS2705Bで選択したテーブルAにおいてステップS830で抽出した指示キーワードに対応付けられている画面IDを指定した画面遷移コマンドを生成する。」と読み替える。ステップS2760は、「制御部510は、ステップS2705Bで選択したテーブルAにおいてステップS830で抽出した指示キーワードの各々に対応付けられている上位画面の画面IDのうち共通する画面IDを指定した画面遷移コマンドを生成する。」と読み替える。
【0190】
このように、実施の形態3では、音声操作システム1は、画像形成装置100の機種または画像形成装置100に搭載されているアプリケーションのバージョンに合わせて、指示キーワードに対応するコマンドを生成することができる。一般的に、古い機種の画像形成装置100や古いバージョンのアプリケーションが搭載されている画像形成装置100では音声操作に対応していなかった指示キーワードが、新しい機種の画像形成装置100や新しいバージョンのアプリケーションが搭載されている画像形成装置100では音声操作に対応しているということがありうる。実施の形態3では、画像形成装置100の機種または画像形成装置100に搭載されているアプリケーションのバージョンに合わせてコマンド生成処理が行われるので、ユーザーの操作性がより向上する。
【0191】
なお、音声操作システム1は、画像形成装置100の機種および画像形成装置100に搭載されているアプリケーションのバージョンに合わせて、コマンドを生成してもよい。
【0192】
[実施の形態4]
次に、実施の形態4について説明する。実施の形態1では、音声操作システム1は、スマートスピーカー400、サーバー500、および画像形成装置100を備えていた。これに対し、実施の形態4では、画像形成装置単体で音声操作に対応することができる。以下、実施の形態1と異なる点についてのみ説明し、実施の形態1と同様の構成については同じ符号を付して、その説明は繰り返さない。
【0193】
図30は、実施の形態4における画像形成装置100Aのハードウェア構成を示すブロック図である。画像形成装置100Aは、スキャナー10、プリンター20、給紙部30、操作パネル40、ファクシミリ50、通信インターフェース60、マイク63、スピーカー65、制御部70A、およびハードディスク80を備える。スキャナー10、プリンター20、給紙部30、操作パネル40、ファクシミリ50、通信インターフェース60、マイク63、スピーカー65、制御部70A、およびハードディスク80は、バス90を介して接続されている。
【0194】
マイク63は、画像形成装置100Aに対する操作指示を音声で受け付ける。スピーカー65は、制御部70Aが生成した音声データを音声化して出力する。制御部70Aは、CPU71A、RAM72A、およびROM73Aを備える。CPU71Aは、ROM73A等に保存されている動作プログラムを実行することにより、画像形成装置100A全体を総括的に制御する。ROM73Aは、CPU71Aが実行するプログラムやその他のデータを記憶する。RAM72Aは、CPU71Aがプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。
【0195】
図31は、実施の形態4における画像形成装置100Aの機能的構成を示す図である。音声受付部701A、音声認識部702A、抽出部703A、コマンド生成部704A、実行部705A、テキストデータ生成部706A、音声出力部707A、および登録部708Aは、CPU71AがROM73Aに格納されている所定のプログラムを実行することにより実現される。
【0196】
音声受付部701Aは、マイク63を介して画像形成装置100Aに対する操作指示を音声で受け付ける。音声受付部701Aは、受け付けた音声を音声データに変換する。
【0197】
音声認識部702Aは、音声受付部701Aから音声データを受け取り、音声データに対応するテキストデータを生成する。また、音声認識部702Aは、テキストデータ生成部706Aで生成されたテキストデータを音声データに変換する。なお、音声認識部702Aは、同様の機能を提供するクラウドサービスで代用されてもよい。
【0198】
抽出部703Aは、音声認識部702Aで生成されたテキストデータの中から指示キーワードを抽出する。
【0199】
コマンド生成部704Aは、ハードディスク80内のテーブルを参照して、抽出部703Aで抽出された指示キーワードに対応するコマンドを生成する。コマンド生成部704Aにおける処理は、実施の形態1で説明したコマンド生成処理と同様の処理である。実施の形態4では、指示キーワードと操作画面の画面IDとを対応付けているテーブルA、および、指示キーワードと実行コマンドとを対応付けているテーブルBは、ハードディスク80に格納されている。なお、実施の形態4においては、コマンド生成処理のステップS970は「制御部70Aは、実行コマンドまたは画面遷移コマンドを実行部705Aに送信する。」と読み替えるものとする。
【0200】
実行部705Aは、実行コマンドまたは画面遷移コマンドに基づいて処理を実行する。
【0201】
テキストデータ生成部706Aは、コマンド生成部704Aで画面遷移コマンドが生成された場合、または、コマンド生成部704Aでいずれのコマンドも生成されなかった場合に、スピーカー65に出力させる音声のテキストデータを生成する。テキストデータ生成部706Aおよび音声認識部702Aで行われる、スピーカー65に音声出力させる処理は、実施の形態1で説明した音声出力を指示する処理と同様の処理である。なお、実施の形態4においては、音声出力を指示する処理のステップS1080は、「制御部70Aは、音声データを音声出力部707Aへ送信する」と読み替えるものとする。
【0202】
音声出力部707Aは、音声認識部702Aから受け取った音声データを音声化してスピーカー65を介して出力する。
【0203】
登録部708Aは、指示キーワードと、ユーザーが操作した操作画面の画面IDと、画像形成装置100Aにログイン中のユーザーIDとを対応付けて、ハードディスク80内のテーブルZに保存する。テーブルZは、ユーザー毎に設けられており、ユーザーごとの傾向(例えば、過去の設定操作)を記録したものである。登録部708Aは、画像形成装置100Aにログイン中のユーザーのテーブルZを選択し、そのテーブルZに指示キーワードと操作画面の画面IDとを対応付けて保存する。テーブルZに保存された情報は、次回、同一ユーザーが同一の指示キーワードを発した場合に、操作パネル40に表示させる操作画面を特定する場合に参照される。
【0204】
このように、実施の形態4では、画像形成装置100A単体で音声操作に対応することができる。また、画像形成装置100Aは、使用頻度の高い処理についてのみ音声による実行を可能とする実行コマンドを備え、それ以外の処理については画面遷移コマンドを備えるにすぎない。これにより、開発する実行コマンドの数を抑えることができるので、開発工数を抑えることができる。
【0205】
また、ユーザーが音声で指示した内容が実行コマンドの用意されていない処理に対する実行指示であった場合には、画像形成装置100Aは、ユーザーの指示に関連する画面を操作パネル40に表示する。具体的には、指示キーワードに対応する画面が1つである場合には、画像形成装置100Aは、その画面を操作パネル40に表示する。指示キーワードに対応する画面の候補が複数である場合には、画像形成装置100Aは、候補の画面を操作パネル40に表示し、ユーザーに所望の画面を選択させる。指示キーワードが複数ある場合には、画像形成装置100Aは、各々の指示キーワードに対応する画面に共通する上位画面を操作パネル40に表示する。これにより、ユーザーが音声で指示した内容が実行コマンドの用意されていない処理に対する実行指示であった場合であっても、ユーザーの操作性が損なわれずにすむ。
【0206】
また、ユーザーが音声で指示した内容が実行コマンドも画面遷移コマンドも用意されていない処理に対する実行指示であった場合、または、遷移先の画面候補が複数あり、ユーザーに所望の画面を選択させた場合には、画像形成装置100Aは、指示キーワードと、画像形成装置100Aにログイン中のユーザーIDと、画面IDとを対応付けて、ハードディスク80内のテーブルZに格納する。これにより、次回、同一ユーザーが同一の指示キーワードを発した場合に、画像形成装置100Aは、操作パネル40に表示させる操作画面を特定することができる。
【0207】
CPU71Aによって実行されるプログラムは、上記したようにROM73Aに格納されている代わりに、ハードディスク80に格納されていてもよいし、画像形成装置100Aに対して着脱可能な記憶媒体に格納されていてもよい。当該プログラムが格納される記憶媒体は、たとえば、CD-ROM、DVD-ROM、USBメモリー、メモリーカード、FD、ハードディスク、SSD、磁気テープ、カセットテープ、MO、MD、ICカード(メモリーカードを除く)、光カード、マスクROM、EPROM、EEPROMなどの、不揮発的にデータを格納する媒体が挙げられる。
【0208】
以上、各実施の形態について説明した。実施の形態1~実施の形態3は、任意に組み合わせてもよい。また、実施の形態2~実施の形態4も、任意に組み合わせてもよい。
【0209】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0210】
40 操作パネル、70,70A,410,510 制御部、63,420 マイク、65,430 スピーカー、80,530 ハードディスク。