以下、本発明を実施するための形態について実施例にて具体的な構成を挙げ、図面を用いて説明する。なお、本発明を実現するための構成は実施例に記載された構成のみに限定されるものではない。同様の効果を得られる範囲で実施例に記載の構成の一部を省略または均等物に置き換えてもよい。
<システムの構成>
図1は、本実施例のシステム構成図の一例である。図1に示すように、情報処理システムは、音声制御装置100、画像形成装置101(画像処理装置)、サーバ102(方法処理装置)、クライアント端末103、ゲートウェイ105で構成される。
音声制御装置100、画像形成装置101、クライアント端末103は、ゲートウェイ105およびネットワーク104(LAN)を介して互いに通信可能である。なお、音声制御装置100、画像形成装置101、クライアント端末103のそれぞれは、単一接続ではなく複数接続された構成であっても良い。また、音声制御装置100、画像形成装置101、クライアント端末103は、ゲートウェイ105およびインターネットを介してサーバ102に通信可能である。
音声制御装置100は、ユーザ106の音声操作開始指示に従い、ユーザ106の音声を取得してサーバ102へ符号化された音声データ(音声情報)を送信する。音声制御装置100は、例えば、スマートスピーカなどである。なお、本実施例では音声制御装置100と画像形成装置101が独立した構成となっている。しかしながら、音声制御装置100を構成するハードウェア(図3を用いて後述する各ハードブロック)、及び、ソフトウェア機能(図6を用いて後述する各ソフトブロック)が画像形成装置101の中に含まれていてもよく、この構成に限定するものではない。
画像形成装置101は、例えば、コピー機能、スキャン機能、プリント機能、FAX機能等の複数の機能を備える複合機であるが、単体の機能を備えるプリンタやスキャナであってもよい。また、509は図2及び図5で後述する操作パネルである。以下では、画像形成装置101がカラーレーザービーム複合機である前提で説明をおこなう。
サーバ102は、音声制御装置100で取得されたユーザ106の音声データの音声認識、及び、音声認識結果から画像形成装置101の設定操作・ジョブ実行に関わるワード(単語情報)を判定するためのものである。また、前記音声認識結果または前記ワードの判定結果に応じてテキストを生成し、そのテキストの内容を音声制御装置100で音声再生するための音声データの合成を行う。なお、サーバ102は、ディープラーニング等のニューラルネットワークを用いた機械学習により、精度の高い音声認識結果を提供することができる。例えば、サーバ102には、遠く離れたユーザからの音声を正確に認識するための学習がおこなわれている。また、サーバ102は自然言語処理に対応しており、形態素解析、構文解析、意味解析、文脈解析等を経ることで、入力された自然言語から適切な情報(単語、かな漢字変換結果)を取得することができる。なお、ジョブとは、画像形成装置101がプリントエンジン513及びスキャナ515を用いて実現する一連の画像形成処理(例えばコピー、スキャン、プリントなど)の単位を示す。
クライアント端末103は、例えば、ユーザ106が使うパーソナル・コンピュータ(PC)である。クライアント端末103上、インターネット上の何処かのサーバ上(不図示)、あるいは、画像形成装置101の外部記憶装置505上などに保存されている電子ファイルを画像形成装置101でプリントするためのプリントジョブを発行する。また、画像形成装置101でスキャンされた画像データの受信を行う。クライアント端末103の動作は本実施例の一連の説明に関わらないため、これ以上の詳細な説明は割愛する。
ネットワーク104は、音声制御装置100、画像形成装置101、クライアント端末103、ゲートウェイ105を互いに接続する。そして、音声制御装置100で取得してサーバ102へ送信する音声データ、サーバ102から送信される各データ、及び、プリントジョブやスキャンジョブなどの各種データを送受信する。
ゲートウェイ105は、例えば、IEEE802.11規格シリーズに準拠した無線LANルータなどである。ただし、他の無線通信方式に従って動作する能力を有してもよい。また、無線LANルータではなく、10BASE-T、100BASE-T、1000BASE-Tなどに代表されるEthernet規格に準拠した有線LANルータなどであってもよく、他の有線通信方式に従って動作する能力を有してもよい。なお、前記IEEE802.11規格シリーズとは、IEEE802.11aやIEEE802.11b等のように、IEEE802.11に属する一連の規格を含む。
<画像形成装置の操作パネル>
図2は、画像形成装置101の操作パネル509の構成例を示す図である。操作パネル509はLED(Light Emitting Diode)やLCD(Liquid Crystal Display)ディスプレイを備え、ユーザ106の操作内容や装置の内部状態を表示する表示デバイスである。操作パネル509はユーザ106から操作を受け付ける受付デバイス(入力デバイス)としても機能する。操作パネル509は、複数のハードキーを備えるだけでなく、LCDディスプレイと一体となったタッチパネルを備える。表示部200はLCDタッチパネルであり、主なモード設定、状況表示はここで行われる。
キー201~210はハードキー(例えば、タクトスイッチ)である。
キー201は、0から9までの数値を入力するためのテンキーである。キー202はIDキーであり、装置がユーザ/部門認証管理されている場合において、認証操作(ログイン/ログアウトの操作など)を行う際に使用されるものである。
キー203は設定されたモードをリセットするためのリセットキー、キー204は各モードについての説明画面を表示するためのガイドキーである。キー205はユーザーモード画面に入るためのユーザーモードキーである。キー206は割り込みコピーを行うための割り込みキーである。
キー207はコピー動作をスタートさせるためのスタートキー、キー208は実行中のコピージョブを中止させるためのストップキーである。
キー209はソフト電源スイッチであり、押下することによりLCDタッチパネル200のバックライトが消え、装置は低電力状態に落ちる。キー210は節電キーであり、これを押下することで節電状態に入り、再度押下することで節電状態から復帰する。
キー214はLCDタッチパネル200のコントラストを調整するための調整キーである。
キー215はカウンタ確認キーであり、このキーを押下することでそれまでに仕様したコピー枚数の集計を表示するカウント画面がLCDタッチパネル200上に表示される。
LED216はジョブの実行中、画像メモリへの画像蓄積中を示すLED、LED217がジャム、ドアオープン等装置がエラー状態にあることを示すエラーLED、LED218は装置のメインスイッチがONになっていることを示す電源LEDになっている。
<音声制御装置のハードウェア構成>
図3は、音声制御装置100のコントローラ部300及び音声制御装置100が内蔵しているデバイスのハードウェア構成例を示す図である。
図3に示すように、コントローラ部300は、システムバス301に接続されたCPU302、RAM303、ROM304、外部記憶装置305、ネットワークI/F306、マイクI/F307、オーディオコントローラ309、および表示コントローラ311を含む。また、音声制御装置100は、コントローラ部300に付随するデバイスとして、音声入力デバイスとしてのマイクロフォン308、音声出力デバイスとしてのスピーカ310、通知デバイスとしてのLED312を含む。
CPU302はコントローラ部300全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動用プログラムが格納されている。外部記憶装置305はRAM303と比較して大容量な記憶デバイス(例えばSDカード)である。外部記憶装置305にはコントローラ部300が実行する、音声制御装置100の制御用プログラムが格納されている。なお、外部記憶装置305はSDカード以外のフラッシュROMなどに置き換えてもよく、SDカードと同等の機能を有する他の記憶デバイスに置き換えてもよい。
CPU302は電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、外部記憶装置305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、制御を行う。また、CPU302は制御用プログラム実行時に用いるデータもRAM303上に格納して読み書きを行う。外部記憶装置305上にはさらに、制御用プログラム実行時に必要な各種設定などを格納することができ、CPU302によって読み書きされる。CPU302はネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。
ネットワークI/F306は、IEEE802.11規格シリーズに準拠した無線通信方式に従って通信を行うための回路やアンテナを含んで構成される。ただし、無線通信方式でなくEthernet規格に準拠した有線通信方式であってもよく、無線通信方式に限定するものではない。
マイクI/F307はマイクロフォン308に接続され、マイクロフォン308から入力されたユーザ106が発した音声を、符号化された音声データに変換し、CPU302の指示に応じてRAM303に保持する。
マイクロフォン308は、例えば、スマートフォンなどに搭載される小型のMEMSマイクロフォンであるが、ユーザ106の音声を取得できるものであれば他のデバイスに置き換えてもよい。また、マイクロフォン308は、ユーザ106が発した音声の到来方向を算出できるように、3個以上を所定の位置に配して用いることが好ましい。ただし、マイクロフォン308が1個であっても本実施例は実現でき、3個以上にこだわるものではない。
オーディオコントローラ309はスピーカ310に接続され、CPU302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ310を通じて音声を出力する。
スピーカ310は、音声制御装置100が応答していることを表す装置の応答音、及び、サーバ102によって合成された音声合成を再生する。スピーカ310は音声を再生するための汎用のデバイスである。
表示コントローラ311はLED312に接続され、CPU302の指示に応じてLED312の表示を制御する。ここでは、表示コントローラ311は、音声制御装置100がユーザ106の音声を正しく入力していることを示すためのLEDの点灯制御を主に行う。
LED312は、例えば、ユーザ106が可視可能な青色などのLEDである。LED312は汎用のデバイスである。なお、LED312の代わりに、文字や絵を表示可能なディスプレイ装置に置き換えてもよい。
<サーバのハードウェア構成>
図4は、サーバ102のコントローラ部のハードウェア構成例を示す図である。
図4に示すように、コントローラ部は、システムバス401に接続されたCPU402、RAM403、ROM404、外部記憶装置405、ネットワークI/F406を含む。
CPU402はコントローラ部全体の動作を制御する中央演算装置である。RAM403は揮発性メモリである。ROM404は不揮発性メモリであり、CPU402の起動用プログラムが格納されている。外部記憶装置405はRAM403と比較して大容量な記憶装置(例えばハードディスクドライブ:HDD)である。外部記憶装置405にはコントローラ部が実行する、サーバ102の制御用プログラムが格納されている。なお、外部記憶装置405はソリッドステートドライブ(SSD)などでもよく、ハードディスクドライブと同等の機能を有する他の記憶装置に置き換えてもよい。
CPU402は電源ON等の起動時、ROM404に格納されている起動用プログラムを実行する。この起動用プログラムは、外部記憶装置405に格納されている制御用プログラムを読み出し、RAM403上に展開するためのものである。CPU402は起動用プログラムを実行すると、続けてRAM403上に展開した制御用プログラムを実行し、制御を行う。また、CPU402は制御用プログラム実行時に用いるデータもRAM403上に格納して読み書きを行う。外部記憶装置405上にはさらに、制御用プログラム実行時に必要な各種設定を格納することができ、CPU402によって読み書きされる。CPU402はネットワークI/F406を介してネットワーク104上の他の機器との通信を行う。
<画像形成装置のハードウェア構成>
図5は、画像形成装置101のコントローラ部500及び画像形成装置101が内蔵しているデバイスのハードウェア構成例を示す図である。
図5に示すように、コントローラ部500は、システムバス501に接続されたCPU502、RAM503、ROM504、外部記憶装置505、ネットワークI/F506、ディスプレイコントローラ507、操作I/F508、プリントコントローラ512、およびスキャンコントローラ514を含む。
CPU502はコントローラ部500全体の動作を制御する中央演算装置である。RAM503は揮発性メモリである。ROM504は不揮発性メモリであり、CPU502の起動用プログラムが格納されている。外部記憶装置505はRAM503と比較して大容量な記憶装置(例えばハードディスクドライブ:HDD)である。外部記憶装置505にはCPU502が実行する、画像形成装置101の制御用プログラムが格納されている。なお、外部記憶装置505はソリッドステートドライブ(SSD)などでもよく、ハードディスクドライブと同等の機能を有する他の記憶装置に置き換えてもよい。
CPU502は電源ON等の起動時、ROM504に格納されている起動用プログラムを実行する。この起動用プログラムは、外部記憶装置505に格納されている制御用プログラムを読み出し、RAM503上に展開するためのものである。CPU502は起動用プログラムを実行すると、続けてRAM503上に展開した制御用プログラムを実行し、制御を行う。また、CPU502は制御用プログラム実行時に用いるデータもRAM503上に格納して読み書きを行う。外部記憶装置505上にはさらに、制御用プログラム実行時に必要な各種設定や、スキャナ515で読み取った画像データを格納することができ、CPU502によって読み書きされる。CPU502はネットワークI/F506を介してネットワーク104上の他の機器との通信を行う。
ディスプレイコントローラ507はCPU502の指示に応じて、接続される操作パネル509のLCDタッチパネル200の画面表示制御を行う。
操作I/F508は操作信号の入出力を行う。操作I/F508は操作パネル509に接続され、CPU502はLCDタッチパネル200が押下されたときに、操作I/F508を介してLCDタッチパネル200の押下された座標を取得する。また、操作I/F508は操作パネル509の201~210の各ハードキーの押下を検知する。
プリントコントローラ512はCPU502からの指示に応じて、接続されるプリントエンジン513に対して制御コマンドや画像データを送信する。
プリントエンジン513は、プリントコントローラ512から受信した制御コマンドに従い、受信した画像データをシートに印刷する(印刷処理を施す)印刷デバイスである。プリントエンジン513の詳細な説明は主旨ではないため、これ以上の説明は割愛する。
スキャンコントローラ514はCPU502からの指示に応じて、接続されるスキャナ515に対して制御コマンドを送信し、スキャナ515から受信する画像データをRAM503へ書き込む。
スキャナ515は、スキャンコントローラ514から受信した制御コマンドに従い、画像形成装置101が備える原稿台ガラス上(不図示)の原稿を、光学ユニットを用いて読み取る(読取処理をおこなう)読取デバイスである。スキャナ515の詳細な説明は主旨ではないため、これ以上の説明は割愛する。
プリントエンジン513とスキャナ515を組み合わせることで、読み取った原稿をコピー印刷するコピー処理を実行することができる。
<音声制御装置の音声制御プログラムの機能構成>
図6は、CPU302が実行する音声制御装置100の音声制御プログラム601の機能構成を示すブロック図である。
音声制御装置100の音声制御プログラム601は前述のように外部記憶装置305に格納され、CPU302が起動時にRAM303上に展開して実行する。
データ送受信部602は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を行う。データ送受信部602では、後述の音声取得部604で取得されたユーザ106の発した音声データをサーバ102に送信する。また、ユーザ106への応答となる、サーバ102上で生成される音声合成データの受信を行う。
データ管理部603は、音声制御プログラム601の実行において生成した作業データなど様々なデータを外部記憶装置305上の所定の領域へ保存し、管理する。例えば、後述する音声再生部605で再生する音声の音量設定データや、ゲートウェイ105との通信に必要な認証情報、画像形成装置101、及び、サーバ102と通信するために必要な各デバイス情報などが保存、管理される。
音声取得部604は、マイクロフォン308で取得される音声制御装置100の近辺にいるユーザ106のアナログ音声を、音声データに変換し、一時保存する。ユーザ106の音声は、例えば、MP3などの所定のフォーマットに変換され、サーバ102に送信するための符号化された音声データとしてRAM303上に一時的に保存する。音声取得部604の処理開始及びその終了のタイミングは後述する音声制御部609によって管理される。また、音声データの符号化は汎用のストリーミング用フォーマットでもよく、符号化された音声データを順次、データ送受信部602で送信するようにしてもよい。
音声再生部605は、データ送受信部602が受信した音声合成データ(音声メッセージ)を、オーディオコントローラ309を介してスピーカ310で再生する。音声再生部605の音声再生のタイミングは後述する音声制御部609によって管理される。
表示部606は表示コントローラ311を介して、LED312の表示を行う。例えば、後述の音声操作開始検知部607で音声操作があることを検知した場合にLED312を表示する。表示部606の表示のタイミングは後述する音声制御部609によって管理される。
音声操作開始検知部607は、ユーザ106の発したウェイクワード、または、音声制御装置100の操作開始キー(不図示)の押下を検知し、音声制御部609へ操作開始通知を送信する。ここで、ウェイクワードとは、予め決められている音声ワードである。音声操作開始検知部607は、マイクロフォン308で取得される音声制御装置100の近辺にいるユーザ106のアナログ音声から、常時ウェイクワードを検知する。ユーザ106はウェイクワードを話し、続いて自身が行いたいことを話すことで画像形成装置101の操作を行うことができる。音声操作開始検知部607がウェイクワードを検知してからの音声処理については後述する。
発話終了判定部608は、音声取得部604での処理の終了タイミングを判定する。例えば、ユーザ106の音声が所定時間(例えば3秒)途切れたときにユーザ106の発話が終了したと判定し、音声制御部609へ発話終了通知を送信する。なお、発話終了の判定は、発話が無い時間(以降、空白時間と呼ぶ)ではなく、ユーザ106の所定の語句から判定して行ってもよい。例えば、「はい」、「いいえ」、「OK」、「キャンセル」、「終了」、「スタート」、「開始」など所定の語句のときには、所定時間を待たずに発話終了と判定してもよい。また、発話終了の判定は、音声制御装置100ではなく、サーバ102で行うようにしてもよく、ユーザの106の発話内容の意味や文脈から発話の終了を判定するようにしてもよい。
音声制御部609は制御の中心であり、音声制御プログラム601内の他の各モジュールが相互に連携して動作するよう制御する。具体的には、音声取得部604、音声再生部605、表示部606の処理開始・終了の制御を行う。また、音声取得部604で音声データが取得された後、音声データをデータ送受信部602でサーバ102へ送信するよう制御する。また、サーバ102からの音声合成データをデータ送受信部602で受信後、音声再生部605で音声合成データを再生するよう制御する。
ここで、音声取得部604、音声再生部605、表示部606の処理開始・終了のタイミングについて述べる。
音声制御部609は、音声操作開始検知部607からの操作開始通知を受信すると、音声取得部604の処理を開始する。また、発話終了判定部608からの発話終了通知を受信すると、音声取得部604の処理を終了する。例えば、ユーザ106がウェイクワードを発話し、続いて「コピーしたい」と話したとする。このとき、音声操作開始検知部607が、ウェイクワードの音声を検知し、音声制御部609に操作開始通知を送信する。音声制御部609は、操作開始通知を受信すると、音声取得部604の処理を開始するよう制御する。音声取得部604は続いて話される「コピーしたい」というアナログ音声を音声データへ変換し一時保存をする。発話終了判定部608は、「コピーしたい」の発話後に空白時間が所定時間あったと判定すると、発話終了通知を音声制御部609に送信する。音声制御部609は、発話終了通知を受信すると、音声取得部604の処理を終了する。なお、音声取得部604が処理を開始してから終了するまでの状態を発話処理状態と呼ぶこととする。表示部606は、発話処理状態であることを示すLED312を点灯表示する。
ユーザ106の発話終了判定後、音声制御部609は、音声データをデータ送受信部602でサーバ102へ送信するよう制御し、サーバ102からの応答を待つ。サーバ102からの応答は、例えば、応答であることを示すヘッダ部と、音声合成データから成る応答メッセージある。音声制御部609は、データ送受信部602で応答メッセージを受信すると、音声再生部605で音声合成データを再生するよう制御する。音声合成データは、例えば、「コピー画面を表示します」である。なお、発話終了判定後から音声合成データの再生終了までの状態を応答処理状態と呼ぶこととする。表示部606は、応答処理状態であることを示すLED312を点滅表示する。
応答処理の後、サーバ102との対話セッションが継続している間は、ユーザ106はウェイクワードを発話することなく、続けて自身の行いたいことを発話することができる。対話セッションの終了判定は、サーバ102が行い、音声制御装置100に対話セッション終了通知を送信することで行う。なお、対話セッション終了から次の対話セッションが開始されるまでの状態を待機状態と呼ぶこととする。音声制御装置100が音声操作開始検知部607からの操作開始通知を受信するまでは、常時待機状態であるとする。表示部606は、待機状態の間、LED312を消灯する。
<サーバの音声データ変換制御プログラムの機能構成>
図7(a)は、CPU402が実行するサーバ102の音声データ変換制御プログラム701の機能構成を示すブロック図である。また、図7(b)は、グループID判定部707がグループIDの判定に使うグループIDリストの例である。グループIDリストは、画像形成装置101のユーザ操作に関して同じ意味や意図を持つワードが同じIDとしてグルーピングされている。なお、前記ワードは、ユーザ106が音声制御装置100に対して発話する言葉を音声認識した結果である。
サーバ102の音声データ変換制御プログラム701は前述のように外部記憶装置405に格納され、CPU402が起動時にRAM403上に展開して実行する。
データ送受信部702は、ネットワークI/F406を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を行う。データ送受信部702では、音声制御装置100からユーザ106の音声データを受信する。また、後述するグループID判定部707で判定されたグループID判定結果の送信を行う。
データ管理部703は、音声データ変換制御プログラム701の実行において生成した作業データや、音声データ変換部704で音声認識処理をするために必要なパラメータなど様々なデータを外部記憶装置405上の所定の領域へ保存し、管理する。例えば、音声認識部705が、データ送受信部702が受信した音声データをテキストへ変換するための音響モデルや言語モデルを外部記憶装置405上の所定の領域へ保存し、管理する。また、形態素解析部706でテキストの形態素解析を行うための辞書を外部記憶装置405上の所定の領域へ保存し、管理する。また、グループID判定部707でグループIDを判定するためのグループIDリストを外部記憶装置405上の所定の領域へ保存し、管理する。また、音声合成部708で音声合成を行うための音声データベースを外部記憶装置405上の所定の領域へ保存し、管理する。また、データ管理部703には、音声制御装置100、及び、画像形成装置101と通信するために必要な各デバイス情報などが保存、管理される。
音声データ変換部704は、音声認識部705、形態素解析部706、グループID判定部707、音声合成部708から成る。以降、音声データ変換部704について説明する。
音声認識部705は、データ送受信部702が受信したユーザ106の音声データを、テキストに変換するための音声認識処理を行う。音声認識処理は、音響モデルを用いてユーザ106の音声データを音素に変換し、さらに言語モデルを用いて音素を実際のテキストデータに変換する。なお、本実施例では、前記テキストデータは1つ以上のカナから構成されるテキストと、それらを「かな漢字変換」(数字、アルファベット、記号等への変換も含む)したテキストから成るものとする。ただし、音声データをテキストデータへ変換する音声認識処理として他の手法を用いてもよく、前述の手法に限るものではない。音声認識処理の詳細は主旨ではないため、これ以上の説明は割愛する。
形態素解析部706は、音声認識部705で変換されたテキストデータを、形態素解析する。形態素解析は、その言語の文法や、品詞などの情報をもつ辞書から形態素列を導出し、さらに各形態素の品詞などを判別する。形態素解析部706は、例えば、JUMAN、茶筒、MeCab等の公知の形態素解析ソフトウェアを用いて実現することができる。形態素解析部706は、例えば、音声認識部705で変換された「コピーをしたい」、「A3からA4へ」というテキストデータを、「コピーをしたい」からは、「コピー」、「を」、「し」、「たい」の形態素列として解析する。また、「A3からA4へ」からは、「A3」、「から」、「A4」、「へ」の形態素列として解析する。
グループID判定部707は、形態素解析部706で形態素解析された結果と、図7(b)のグループIDリストとをマッチング(一致の確認を)することでグループIDを判定し、さらにグループID判定結果を生成する。例えば、「コピー」、「を」、「し」、「たい」の形態素列からは、「コピー」のグループIDである「FNC00001」があると判定され、グループID判定結果として、{ID:FNC00001}を生成する。また、「A3」、「から」、「A4」、「へ」の形態素列からは、「A3」と「A4」のグループIDである「PAP00100」と「PAP00101」が2つあると判定される。そして、グループID判定結果として、{ID:PAP00100、ID:PAP00101}を生成する。
なお、グループID判定結果にIDが複数生成される場合は、音声認識および形態素解析された順に生成されるものとする。例えば、音声認識および形態素解析された結果が「A4」「から」「A3」「へ」である場合は、グループID判定結果は{ID:PAP00101、ID:PAP00100}と生成される。また、隣接する複数の形態素を結合してグループIDリストとマッチングして判定してもよいものとする。この時、1つの形態素がグループIDリストの中から合致するものが見つかり、さらに、その形態素を含む複数の形態素がグループIDリストの中から合致するものが見つかった場合は、後者の結果を用いてグループID判定結果を生成する。例えば、形態素列が「A」「4」であった場合は、グループID判定結果を{ID:CHR00000、ID:NUM00004}ではなく、{ID:PAP00101}として生成する。また、音声認識および形態素解析結果に含まれる1つ以上のカナから構成されるテキストと、それらを「かな漢字変換」したテキストを組み合わせて、グループIDリストのマッチングを行ってもよい。例えば、グループID判定部707は、まず始めに、「かな漢字変換」したテキストとグループIDリストの「「かな漢字変換」後」に示されたテキストとのマッチングを行う。その結果、マッチングするグループIDが見つからない場合にはカナのテキストとグループIDリストの「カナ」に示されたテキストとがマッチングするグループIDを検出する。また、グループIDリスト内で「カナ」が重複し、複数のグループIDがマッチングする場合は、グループID判定結果を複数の候補として生成してもよい。これにより、「かな漢字変換」間違いや漢字のふり仮名の違いを許容したグループID判定結果を生成する。
音声合成部708は、画像形成装置101から受信した通知にもとづき、音声合成処理を行う。音声合成処理は、所定の通知に対して、組となる予め用意されたテキストをMP3などの所定のフォーマットの音声データに変換する。受信した通知データと音声合成対象のテキストの組み合わせ例については、後述の図9のシーケンス図で説明する。音声合成処理は、例えば、データ管理部703に保存されている音声データベースにもとづいて音声データを生成する。音声データベースとは、例えば、単語等の定型の内容を発声した音声を集めたデータベースである。なお、本実施例では音声データベースを用いて音声合成処理を行っているが、音声合成の手法として他の手法を用いてもよく、音声データベースによる手法に限定するものではない。音声合成処理の詳細は主旨ではないため、これ以上の説明は割愛する。
<画像形成装置のデバイス制御プログラムの機能構成>
図8は、CPU502が実行する画像形成装置101のデバイス制御プログラム801の機能構成を示すブロック図である。
画像形成装置101のデバイス制御プログラム801は前述のように外部記憶装置505に格納され、CPU502が起動時にRAM503上に展開して実行する。
データ送受信部802は、ネットワークI/F506を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を行う。データ送受信部802では、グループID判定部707が生成するグループID判定結果の受信を行う。また、画像形成装置101からサーバ102へ、操作パネル509上のLCDタッチパネル200の画面表示内容が更新されたことを示す画面更新通知、及び、ジョブの状態を示すジョブ実行状態通知を送信する。通知の内容に関しては後述の図9のシーケンス図で説明する。
データ管理部803は、デバイス制御プログラム801の実行において生成した作業データや、各デバイス制御に必要な設定パラメータなど様々なデータをRAM503および外部記憶装置505上の所定の領域へ保存し、管理する。例えば、後述するデバイス制御部808で実行するジョブの各設定項目及び設定値の組み合わせから成るジョブデータや、用紙の属性情報などが設定された機械設定情報が管理される。また、ゲートウェイ105との通信に必要な認証情報、サーバ102と通信するために必要なデバイス情報などが保存、管理される。また、画像形成装置101で画像形成する対象の画像データを保存し、管理する。また、表示部806が画面表示制御に用いる画面制御情報と、操作対象判定部807が操作対象を判定するために用いる操作対象判定情報を保存し、画面制御情報と操作対象判定情報とは、表示部806が表示する画面ごとに管理する。
スキャン部804は、後述するデバイス制御部808のスキャンジョブパラメータ設定に基づいて、スキャンコントローラ514を介してスキャナ515でスキャンを実行し、読み取った画像データをデータ管理部803に保存する。
プリント部805は、後述するデバイス制御部808のプリントジョブパラメータ設定に基づいて、プリントコントローラ512を介してプリントエンジン513で印刷を実行する。
表示部806はディスプレイコントローラ507を介して、操作パネル509の制御を行う。表示部806は前記の画面表示制御情報に基づいてユーザ操作可能なUI部品(ボタン、プルダウンリスト、チェックボックスなど、選択オブジェクト)をLCDタッチパネル200に表示する。また、操作I/F508を介して、LCDタッチパネル200(以降、画面と呼ぶ)上のタッチされた座標を取得し、操作対象のUI部品(アイコン)と操作受付時の処理内容を決定する。また、操作パネル509上のハードキー201~210の押下を検出する。これらの結果に応じて、画面の表示内容を更新したり、ユーザ操作により設定されたジョブのパラメータおよび当該ジョブの開始指示をデバイス制御部に送信したりする。また、後述する操作対象判定部807の操作対象判定結果に応じても同様に、画面の表示内容を更新したり、ユーザ操作により設定されたジョブのパラメータおよび当該ジョブの開始指示をデバイス制御部に送信したりする。
操作対象判定部807は、データ送受信部802が受信したグループID判定結果に基づいて、操作パネル509に表示される画面を構成するユーザ操作可能なUI部品、または、操作パネル509を構成するハードキー201~210を操作対象として判定する。操作対象判定部807の詳細は図11で後述する。
デバイス制御部808は、プリントコントローラ512、及び、スキャンコントローラ514を介して、プリントエンジン513、及び、スキャナ515の制御指示を行う。例えば、表示部806がコピー機能画面を表示中にスタートキー207の押下を検知した場合、デバイス制御部808は表示部806からコピージョブのパラメータとジョブ開始指示を受信する。そして、そのジョブパラメータに基づいて、スキャナ515によって読取られた画像データをプリントエンジン513でシートに印刷するよう制御する。なお、スキャン、及び、プリント制御の仕組みについては、主旨ではないため、これ以上の説明は割愛する。
<システムの制御シーケンス>
図9は、図1で示したシステムを構成する各装置、及び、図6~図8で示した各装置の制御プログラム間のやりとりを示すシーケンス図である。特に、図9は、音声制御装置100がユーザ106から発せられた声による音声操作を受け、それによって画像形成装置101が各処理を実行し、その実行結果を示す応答をユーザ106に音声で返すためのシーケンスを示す。なお、図9で示すシーケンスの例では、音声制御装置100、画像形成装置101、サーバ102は互いに通信可能な状態であるとする。また、画像形成装置101は、電源ONの起動後にコピー、スキャン、プリントなどの機能を呼び出し可能なメインメニュー画面を表示している状態であるとする。
まず、ステップ905(以降、S905等と表記する)では、ユーザ106が音声制御装置100に対して音声操作の開始を指示する。音声操作の開始の指示は、ユーザ106がウェイクワードを発声する、もしくは、音声制御装置100の操作開始キーの押下することで行われ、それらの音声操作開始指示は音声操作開始検知部607によって検知される。
音声操作開始指示が検知されると、次にS906では、音声制御プログラム601の表示部606が、発話処理状態を示すLEDを点灯する。また、同時に音声取得部604の処理を開始する。
S907では、ユーザ106が機能呼び出し指示を音声制御装置100に対して行う。機能呼び出し指示は、例えば、ユーザ106がS905のウェイクワードに続いて「コピーしたい」や「コピー画面を開いて」と発声することであり、音声取得部604によって取得された音声が音声データとして生成される。空白時間が所定時間経過すると、発話終了判定部608は発話が終了したと判定する。
S908では、音声制御プログラム601の表示部606が、発話終了判定に応じて応答処理状態を示すLEDを点滅する。また、同時に音声取得部604の処理を終了する。
S907の機能呼び出し指示の音声データが生成されると、次にS909では、データ送受信部602が、生成された音声データをサーバ102に送信する。
S910では、音声データ変換制御プログラム701のデータ送受信部702が受信した音声データに対して、音声認識部705が音声認識処理を行う。音声認識処理によって、例えば、ユーザ106が発した「コピーしたい」という音声が、テキストとして生成される。
その後、S911では、音声データ変換制御プログラム701の形態素解析部706がS910で生成されたテキストに対して形態素解析処理を行う。形態素解析処理によって、例えば、「コピーしたい」というテキストが、「コピー」、「し」、「たい」という形態素列として解析される。
S912では、音声データ変換制御プログラム701のグループID判定部707の、解析された形態素列のテキストに対してグループID判定処理を行う。グループID判定処理によって、例えば、「コピー」、「し」、「たい」という形態素列と図7(b)のグループIDリストとのマッチングにより、グループID判定結果として{ID:FNC00001}が生成される。
S913では、音声データ変換制御プログラム701のデータ送受信部702が、S911のグループID判定結果を画像形成装置101に送信する。
S914では、デバイス制御プログラム801のデータ送受信部802が受信したグループID判定結果に対して、操作対象判定部807が操作対象判定処理を行う。操作対象判定処理によって、例えば、グループID判定結果{ID:FNC00001}から、メインメニュー画面内の“コピー”ボタンが選択されたと判定される。
その後、S915では、S914の判定結果に応じて、表示部806が画面に表示する内容更新する。例えば、これまでの処理を通じて、ユーザが発する「コピーしたい」の音声から、画面に表示される“コピー”ボタンに対する操作であると判定された場合は、LCDタッチパネル200で“コピー”ボタンがタッチされる場合と同様に、コピー機能画面を表示する。
S916では、データ送受信部802によって、サーバ102へ、画面の表示内容が更新されたことを示す画面更新通知を送信する。例えば、表示部806がメインメニュー画面からコピー機能画面へ表示が変更した場合、画面更新通知として「コピー機能画面表示」というテキストデータを送信する。
S917では、音声データ変換制御プログラム701のデータ送受信部702が受信した画面更新通知に対して、音声合成部708が画面更新通知の内容に対応する所定のテキストデータの音声合成処理を行う。例えば、画面更新通知の内容が「コピー機能画面表示」の場合、音声合成部708は、「コピー画面を表示しました」というテキストデータを音声合成する。音声合成部708が音声合成処理によって生成した音声データ(音声合成データ)は、データ送受信部702によって音声制御装置100へと送信される。
S918では、データ送受信部602が、S917で生成および送信された音声合成データを受信する。
S919では、音声再生部605が、S918で受信した音声合成データを再生する。例えば、S917で生成した「コピー画面を表示しました」という音声合成データを、スピーカ310を通じて再生する。
S920では、音声合成データ再生後、音声制御プログラム601の表示部606が、発話処理中を示すLEDを再び点灯する。また、同時に音声取得部604の処理を再び開始する。
S921では、ユーザ106が設定画面呼び出し指示を音声制御装置100に対して行う。設定画面呼び出し指示は、例えば、ユーザ106が「用紙を選択」と発声することである。音声取得部604によって取得された音声が音声データとして生成されるユーザ106の発話後、空白時間が所定時間経過すると、発話終了判定部608は発話が終了したと判定する。
S922は、前述のS908と同様である。
S923は、前述のS909~S918の処理と同様の音声操作処理を示す。ただし、S923では、S921の設定画面呼び出し指示に伴って、表示部806が設定画面を表示するよう画面更新する。例えば、コピー機能画面を表示している場合、グループID判定結果が{ID:PAP00000、ID:OPR00040}のとき、用紙選択画面を表示する。
S924は、音声再生部605が、S923での音声合成処理で生成した音声合成データを再生する。例えば、S923で設定画面として用紙選択画面を表示した場合は「用紙選択画面を表示しました。続いて用紙を設定してください。」という音声合成データを、スピーカ310を通じて再生する。
S925は、前述のS920と同様である。
S926では、ユーザ106が設定変更指示を音声制御装置100に対して行う。設定変更指示は、例えば、ユーザ106が「A4」と発声することである。ユーザ106の発話後、空白時間が所定時間経過すると、発話終了判定部608は発話が終了したと判定する。
S927は、前述のS908と同様である。
S928は、前述のS909~S918の処理と同様の音声操作処理を示す。ただし、S928では、S926の設定変更指示に伴って、表示部806が設定画面に表示する設定値を変更する(設定値の変更指示を受け付ける受付処理を実行する)。例えば、用紙選択画面を表示している場合、グループID判定結果が{ID:PAP00101}のとき、用紙の設定値をA4に変更した用紙選択画面を表示する。
S929は、音声再生部605が、S928での音声合成処理で生成した音声合成データを再生する。例えば、S928で用紙の設定値を変更して表示した場合は「用紙をA4に設定しました」という音声合成データを、スピーカ310を通じて再生する。
S935は、前述のS920と同様である。
S936では、ユーザ106がジョブ実行指示を音声制御装置100に対して行う。ジョブ実行指示は、例えば、ユーザ106が「コピースタート」と発声することである。ユーザ106の発話後、空白時間が所定時間経過すると、発話終了判定部608は発話が終了したと判定する。
S937~S942は、前述のS909~S913と同様の処理である。
S943では、デバイス制御プログラム801のデータ送受信部802が受信したグループID判定結果に対して、操作対象判定部807が操作対象判定処理を行う。グループID判定結果が{ID:FNC00001、ID:OPP00011}である場合、画面に表示している“コピースタート”ボタン、もしくは、ハードキーであるスタートキー207が操作されたと判定される。
S944では、S943の判定結果に応じて、ジョブの実行画面を表示する。例えば、これまでの処理を通じて、ユーザが発する「コピースタート」の音声が、スタートキー207に対する操作であると判定された場合は、コピージョブ開始の画面を表示する。
S945では、画像形成装置101の画面で設定されたジョブパラメータに従って、ジョブを実行する。
S946では、データ送受信部802によって、サーバ102へ、ジョブ実行状態通知の内容として、ジョブ実行を開始したことを示す情報(ジョブ実行開始通知)を送信する。例えば、コピージョブを開始した場合、ジョブ実行状態の内容として「コピージョブ開始」というテキストデータを送信する。
S947では、音声データ変換制御プログラム701のデータ送受信部702ジョブ実行状態通知を受信し、音声合成部708がその内容(ジョブ実行開始通知)に対応する所定のテキストデータの音声合成処理を行う。例えば、ジョブ実行状態通知の内容が「コピージョブ開始」の場合、音声合成部708は、「コピーを開始します」というテキストデータを音声合成する。
S948は、前述のS918と同様である。
S949では、音声再生部605が、S948で受信した音声合成データを再生する。例えば、S947で生成した「コピーを開始します」という音声合成データを、スピーカ310を通じて再生する。
S950では、データ送受信部802によって、サーバ102へ、ジョブ実行状態通知の内容として、ジョブ実行を終了したことを示す情報(ジョブ実行終了通知)を送信する。例えば、コピージョブを終了した場合、ジョブ実行状態通知の内容として「コピージョブ終了」というテキストデータを送信する。
S951では、音声データ変換制御プログラム701のデータ送受信部702がジョブ実行状態通知を受信し、音声合成部708がその内容(ジョブ実行終了通知)に対応する所定のテキストデータの音声合成処理を行う。例えば、ジョブ実行状態通知の内容が「コピージョブ終了」の場合、音声合成部708は、「コピーを終了しました」というテキストデータを音声合成する。
S952では、S945のジョブ実行処理が終了したことを受けて、表示部806はジョブの実行終了画面を表示する。例えば、コピージョブの実行が終了した場合、コピージョブ終了の画面を表示する。
S953では、データ送受信部602が、S951で生成した音声合成データをサーバ102から受信する。また、音声制御装置100に対して、ユーザ106との対話セッションを終了するよう通知する対話セッション終了通知をサーバ102から受信する。
S954では、音声再生部605が、S953で受信した音声合成データを再生する。例えば、S951で生成した「コピーを終了しました」という音声合成データを、スピーカ310を通じて再生する。
S955では、S953で対話セッション終了通知を受信したことに対応して、音声制御プログラム601の表示部606が、音声制御装置100の待機状態を示すためにLEDを消灯する。
S956では、S953で対話セッション終了通知を受信したことに対応して、音声制御装置100を待機状態へ移行する。
なお、シーケンス図上で、応答処理中を示すLEDが点滅中であってもウェイクワードは常に入力可能である。そのため、ユーザ106はウェイクワードの発話に続いて「キャンセル」、または「中止」などと発言することで、対話セッションを強制的に終了するようにしてもよい。
<画像形成装置101のデバイス制御プログラム801の処理フロー>
図10は画像形成装置101のデバイス制御プログラム801の処理の概要を示すフローチャートである。特に、図10は、図9のシーケンス図のS914、S915、S923、S928、S933、S943~S952におけるデバイス制御プログラム801の処理フローを示す例である。
以降、図10が示す処理フローの一例を具体的に説明するために図11および図12を用いる。図11は、図7(b)で示したグループIDリストに追加される、グループIDリストの別の一例である。図12(a)は、表示部806が表示する画面の一例である。図12(b)は、図12(a)で示す画面に対応する画面制御情報の一例である。画面制御情報には、画面を構成するユーザ操作可能なUI部品と、それらがユーザ操作された時のアクション(画面制御の内容や、内部の処理)が含まれる。図12(c)は図12(a)で示す画面に対応する操作対象判定情報の一例である。操作対象判定情報は、ユーザ操作可能なUI部品と1つ以上のグループID判定結果の対応付け(紐付け)が予め行われているものとする。換言すると、図12(c)は画面の構成情報を示す表である。なお、図12(c)で示す表のうち、「操作時のユーザ発話例」と「操作パネルの操作方法」は下記説明のための参考情報であり、データ管理部803が管理する操作対象判定情報に含まれなくてもよい。
S1001では、データ送受信部802が、グループID判定部707で生成されたグループID判定結果を受信する。
S1002では、表示部806が表示している画面に対応する画面制御情報と、操作対象判定部807が操作対象を判定するために用いる操作対象判定情報を取得する。例えば、表示部806が図12(a)で示すように、コピー機能におけるカラー設定画面1100を表示している場合には、本画面に対応する図12(b)の画面制御情報と図12(c)の操作対象判定情報を取得する。
S1003では、操作対象判定部807が、S1001で受信したグループID判定結果と、S1002で取得した操作対象判定情報を用いて操作対象判定処理を行う。この時、操作対象判定処理では、操作パネル509に表示される画面を構成するユーザ操作可能なUI部品、または、操作パネル509を構成するハードキー201~210を操作対象として判定する。例えば、ユーザ106発話の一例である「自動」の音声から、グループID判定部707が判定したグループID判定結果{ID:DRG00008}が送信される。そして、データ送受信部802がS1001で受信し、本グループID判定結果と合致する「自動(カラー/白黒)」ボタンを操作対象として判定する。なお、「自動カラー白黒」という音声を検知したバイも「自動(カラー/白黒)」が操作対象として判定される。なお、操作対象判定処理の詳細なフローおよび判定処理例については、図14以降で説明する。
S1004では、表示部806が、S1003の操作対象判定処理の結果と、S1002で取得した画面制御情報に基づいて、画面の表示内容を更新する。例えば、S1003にて「自動(カラー/白黒)」ボタンが操作対象として判定されると、図12(b)の画面制御情報に基づいて、表示部806が当該ボタンを強調表示するように画面を更新する。なお、図12(c)では、操作パネル509のLCDタッチパネル200上に表示された「自動(カラー/白黒)」ボタンがタッチされた時も同様に、当該ボタンを強調表示することが示されている。
ここで、操作対象判定処理の結果が識別子の追加表示(後述するS1408)である場合、表示部806が、そのとき表示している画面の画面制御情報に基づき、画面のボタン近傍に、数字やアルファベットなどの識別子を表示するよう画面を更新する。換言すると、識別子を含まない画面から識別子を含む画面へ画面を遷移させる。識別子とは、ユーザ106がその識別子を発話することで、識別子近傍のボタンを操作対象と判定するために表示するものである。識別子は、数字やアルファベット、または数字とアルファベットの組み合わせで表示される。なお、数字を表示するかアルファベットを表示するかの判断は、画面制御情報の操作可能なUI部品としてテンキーが含まれるか否かをもとに行われる。画面制御情報にテンキーが含まれる場合、識別子が数字であると、テンキーの操作対象とするための発話と、識別子を操作対象とするための発話が重複するため、識別子としてアルファベットを表示する。画面制御情報にテンキーが含まれない場合は、識別子として数字を表示する。識別子表示の具体例については、図14以降で説明する。
S1005では、S1003の操作対象判定処理の結果と、S1002で取得した画面制御情報に基づいて、ジョブ実行を行うか否かを判定する。ジョブ実行を行う場合はS1007へ進み、そうでなければS1006へ進む。例えば、S1003にて「自動(カラー/白黒)」ボタンが操作対象として判定された場合は、図12(b)中の内部処理がないことからジョブ実行を行わないと判定する。また、例えば、S1003にてスタートキー207が操作対象として判定された場合は、図12(b)中の内部処理として「コピージョブの実行を開始」することから、ジョブ実行を行うと判定する。
S1006では、前述のS916が示すようにデータ送受信部802によって、画面更新通知をサーバ102へ送信する。
S1007では、ジョブパラメータの設定値に基づいて、ジョブ実行処理を行う。ジョブ実行処理によって、画像形成装置101は、一連の画像形成処理(例えばコピー、スキャン、プリントなど)を実行する。例えば、図12(a)の画面が示すように、「自動(カラー/白黒)」ボタンが強調表示されている状態でコピージョブの実行を開始する時には、この時の「自動(カラー/白黒)」の設定値をジョブパラメータとしてジョブの実行を行う。
S1008では、前述のS946およびS950が示すようにデータ送受信部802によって、ジョブ実行状態通知をサーバ102へ送信する。
<システムとユーザ間のインタラクションの例>
図13は、図9で示したシーケンスのうち、ユーザ106からの音声操作とその時のシステムからのインタクラクションの一例をより具体的に説明するための模式図である。図13では、ユーザ106の音声操作としての発話例と、その発話に応じてシステムが音声制御装置100の音声処理状態を示すLEDを示している。また、画像形成装置の操作パネル509に表示する画面、および、音声制御装置100で再生する応答用の音声の対応関係と流れを示している。
まず、システムはLED消灯にて音声待機状態であることを示し、操作パネル509にはトップ画面を表示している(S1301)とする。この時に、ユーザ106がウェイクワードを発話する(S1302)と、システムは音声操作の受付を開始し、発話処理状態を示すLEDを点灯する(S1303)。なお、S1302は図9中のS905、S1303はS906の具体的な一例である。ウェイクワードに続いて、ユーザ106が「コピーをしたい」と発話する(S1304)と、システムは応答処理状態を示すLEDを点滅させ(S1305)、コピートップ画面を表示する(S1306)。そして、システムは「コピー画面を表示しました」という応答用の音声を再生し(S1307)、ユーザ106に次の発話を促すためにLEDを再点灯する(S1308)。なお、S1304は図9中のS907、S1305はS908、S1306はS915、S1307はS919、S1308はS920の具体的な一例である。
次に、ユーザ106が「両面を設定して」と発話する(S1309)と、システムはLEDを点滅させ(S1310)、両面設定画面を表示する(S1311)。そして、システムは「両面設定が変更できます」という応答用の音声を再生し(S1312)、LEDを点灯する(S1313)。なお、S1309は図9中のS921、S1310はS922、S1311はS915、S1312はS924、S1313はS925の具体的な一例である。
次に、ユーザ106が「両面から両面に変更」と発話する(S1314)と、システムはLEDを点滅させ(S1315)、両面の設定値を変更した画面に更新する(S1316)。そして、システムは「両面から両面に設定しました」という応答用の音声を再生し(S1317)、LEDを点灯する(S1318)。なお、S1314は図9中のS926、S1315はS927、S1316はS915、S1317はS929、S1318はS925の具体的な一例である。
次に、ユーザ106が「詳細設定」と発話する(S1319)と、システムはLEDを点滅させ(S1320)、詳細設定画面を表示する(S1321)。そして、システムは「詳細設定が変更できます」という応答用の音声を再生し(S1322)、LEDを点灯する(S1323)。なお、S1319は図9中のS921、S1320はS922、S1321はS915、S1322はS924、S1323はS925の具体的な一例である。
次に、ユーザ106が「ナンバリングして」と発話する(S1324)と、システムはLEDを点滅させ(S1325)、ナンバリング後の詳細設定画面を表示する(S1326)。そして、システムは「ナンバリングしました」という応答用の音声を再生し(S1327)、LEDを点灯する(S1328)。なお、S1324は図9中のS907、S1325はS908、S1326はS915、S1327はS919、S1328はS920の具体的な一例である。
次に、ユーザ106が「4を選択」と発話する(S1329)と、システムはLEDを点滅させ(S1330)、両面の設定値を変更した画面に更新する(S1331)。そして、システムは「4を設定しました」という応答用の音声を再生し(S1332)、LEDを点灯する(S1333)。なお、S1329は図9中のS926、S1330はS927、S1331はS915、S1332はS929、S1333はS925の具体的な一例である。
次に、ユーザ106が「スタート」と発話する(S1334)と、システムはLEDを点滅させ(S1335)、スキャンジョブを実行する。スキャンジョブの実行が開始されると、システムはスキャンジョブ実行中の画面を表示する(S1336)とともに、「読み取りを開始します」という応答用の音声を再生する(S1337)。そして、スキャンジョブの実行が完了すると、システムはスキャンジョブ実行終了画面を表示するとともに、「読み取りを終了しました」という応答用の音声を再生し(S1338)、LEDを点灯する(S1339)。なお、S1334は図9中のS936、S1335はS937、S1336はS944、S1337はS949、S1338はS954、S1339はS925の具体的な一例である。
次に、ユーザ106が「コピー開始」と発話する(S1340)と、システムはLEDを点滅させ(S1341)、プリントジョブを実行する。プリントジョブの実行が開始されると、システムはプリントジョブ実行中の画面を表示する(S1342)とともに、「プリントを開始します」という応答用の音声を再生する(S1343)。そして、プリントジョブの実行が完了すると、システムはプリントジョブ実行終了画面を表示するとともに、「プリントを終了しました」という最終応答用の音声を再生し(S1344)、音声受付が終了したことを示すためにLEDを消灯する(S1345)。なお、S1340は図9中のS936、S1341はS937、S1342はS944、S1343はS949、S1344はS954、S1345はS955の具体的な一例である。
<操作対象判定部の処理フロー>
図14は画像形成装置101の操作対象判定部807の処理の概要を示すフローチャートである。図14は、図10のS1003、及び、図9の914、943の処理に対応している。また、図15~図19は、図14の操作対象判定処理によって操作対象を判定するときの画面例、及び、従来の操作方法(操作パネルのボタンやハードキー押下による方法)と音声による操作方法の例である。
以下、図14と図15を用いて操作対象判定部807の処理フローについて説明する。
まず、図15について説明する。図15(a)は画像形成装置101のコピーの両面設定における、開き方設定の画面例である。1501~1504は両面設定における原稿、及び、コピーの開き方を設定するボタンである。また、1505は1501~1504の設定を反映するためのOKボタンである。図15(b)は図15(a)の画面に識別子1507~1512を表示したときの画面例である。
ここで識別子について説明する。識別子は、画面内のボタンを明示的に識別するために各ボタンの近傍に表示される。ユーザ106は、識別子を読み上げる(発話する)ことでその近傍のボタンを操作対象に指定することができる。例えば、図15(b)の識別子1507~1512は、それぞれボタン1501~1506の近傍に表示される。識別子1507~1512は、数字の1~6に対応するグループIDであるNUM00001~NUM00006に対応している。ユーザ106が各ボタン近傍の識別子を読み上げる(すなわち数字の1~6を発話する)と、サーバ102によってグループID判定結果が数字のグループID(NUM00001~NUM00006)となる。操作対象判定部807は、そのグループID判定結果と合致する、識別子のグループID情報に対応するボタンを操作対象として判定する。なお、識別子1507~1512の各グループID情報は、各数字のグループIDであるNUM00001~NUM00006を含む情報である。または、数字のグループIDの前後に、図11の「ボタン」、「選択」のグループIDであるUIP00001、及び、OPR00040を含む情報である。例えば、識別子として数字の1が近傍にあるボタンのグループID情報はNUM00001、NUM00001+UIP00001、NUM00001+OPR00040、及び、NUM00001+UIP00001+OPR00040となる。そのため、ユーザ106は、「1」、または、「1のボタン」、あるいは、「1のボタンを選択」と発話することで上述ボタンを操作対象に指定することが可能である。
以下、図14の処理フローについて図15(a)、(b)で示す画面と、図15(c)、(d)の画面制御情報と操作対象判定情報の例を用いて説明する。図15(c)は、図15(a)で示す画面における画面制御情報の一例である。図15(d)は、図15(b)で示す画面における操作対象判定情報の一例である。
S1401では、図10のS1001で受信したグループID判定結果と、S1002で取得した操作対象判定情報に含まれるボタンのグループID情報とをマッチングする。例えば、図15(b)の画面を表示しているとき、グループID判定結果が{ID:NUM00001}である場合、図15(d)の操作対象判定情報の「表示画面のグループID情報」列の各ボタン1501~1506のグループID情報をマッチングする。このとき、ボタン1501のグループID「NUM00001」がヒットし、マッチング成功となる。
S1402では、S1401でマッチング成功したか否かを判定する。マッチング成功した場合は、S1403へ進み、そうでなければS1404へ進む。
S1403では、S1401でヒットした行のボタンを操作対象と判定し、操作対象判定処理を終了する。例えば、グループID「NUM00001」がヒットした場合、ボタン1501を操作対象と判定し、操作対象判定処理を終了する。
S1404では、図10のS1001で受信したグループID判定結果と、S1002で取得した操作対象判定情報に含まれるハードキーのグループID情報とをマッチングする。例えば、図15(b)の画面において、サーバ102におけるグループID判定結果が{ID:OPR00011}である場合、次のように処理する。すなわち、ユーザ106が「スタート」と発話したときのグループID判定結果である場合、それと操作対象判定情報のハードキーのグループID情報とをマッチングする。このとき、操作対象判定情報より、グループID「OPR00011」がヒットし、マッチング成功となる。
S1405では、S1404でマッチング成功したか否かを判定する。マッチング成功した場合は、S1406へ進み、そうでなければS1407へ進む。
S1406では、S1404でヒットしたハードキーを操作対象と判定し、操作対象判定処理を終了する。例えば、グループID情報が「OPR00011」である“スタート”がヒットした場合、スタートキー207を操作対象と判定し、操作対象判定処理を終了する。
S1407では、図10のS1001で受信したグループID判定結果がボタンへ識別子を表示する指示である識別子表示であるか否かを判定する。すなわち、サーバ102によるグループID判定結果が、図11の{ID:NEX00001}であるとき、次のように処理する。例えばユーザ106が「ナンバリング」と発話したときのグループID判定結果であるとき、操作対象判定部807はグループID判定結果を識別子表示であると判定する。グループID判定結果が識別子表示である場合は、S1408へ進み、そうでなければ操作対象判定処理を終了する。なお、識別子表示の発話例は次の通り複数ある。例えば、「ナンバリング」以外に、「数字振って」、「記号振って」、「英数字振って」、「アルファベット振って」、「数字付けて」、「英数字付けて」、「アルファベット付けて」、「数字割り振り」、「記号割り振り」、「英数字割り振り」、「アルファベット割り振り」、「識別子を表示」、「識別子割り振り」、「識別子付けて」が挙げられる。これ以外にも識別子表示に関係する発話のグループID判定結果を識別子表示の判定条件として登録できる。
S1408では、S1407の判定にもとづき、識別子表示を操作対象と判定し、操作対象判定処理を終了する。なお、前述の図10のS1004では、操作対象判定結果が識別子表示の場合、図15(a)のボタン1501~1506の近傍に、図15(b)のように識別子1507~1512を表示する。
以下、図16~図19について説明する。図16~図19の処理フローは、図10~図15で説明した方法に準じる。以下では、図15の画面例、画面制御情報、操作対象判定情報の説明と異なる部分を中心に述べる。
<割り付ける順番設定画面での音声操作例>
図16の割り付ける順番設定画面における音声操作例について説明する。図16では、特にボタン1601~1604のようにボタンの表記名が無いときであっても、識別子表示を行うことで音声操作が可能な例を示す。
図16(a)は画像形成装置101のページ集約機能の割り付ける順番設定における、開き方設定の画面例である。1601~1604は割り付け順番を設定するボタンである。また、1605は1601~1604の設定を反映するためのOKボタンである。なお、ページ集約とは、複数のページを1つのページに集約する機能である。例えば、ページ集約機能によって、4つのページを1つのページに並べて表示することができる。割り付ける順番設定とは、ページ集約する際のページの並べ方の設定のことである。ページ集約機能の説明は本発明の主旨ではないため、これ以上の説明を割愛する。
図16(b)は図16(a)の画面に識別子1606~1610を表示したときの画面例である。図16(c)は、図16(b)で示す画面制御情報の一例である。図16(d)は、図16(b)で示す画面の操作対象判定情報の一例である。図16(d)の番号列は各ボタン1601~1605、リセットキー203、スタートキー207を示しており、行は各ボタン1601~1605及びハードキーの操作方法とグループID情報を示す。ボタン1601の行の「操作時の発話例」列から、「ボタンを押下」に相当する音声操作方法は、ユーザ106が、“1”、“1のボタン”、“1を選択”、“1のボタンを選択”のように発話することであると分かる。ボタン1601の行の「NUM00001」、「NUM00001+UIP00001」、「NUM00001+OPR00040」、「NUM00001+UIP00001+OPR00040」は、グループID判定結果の{ID:NUM00001}、{ID:NUM00001、ID:UIP00001}、{ID:UIP00001、ID:NUM00001}、{ID:NUM00001、ID:OPR00040}、{ID:OPR00040、ID:NUM00001}、{ID:NUM00001、ID:UIP00001、ID:OPR00040}とマッチングする。ボタン1602~1605の行に関しても同様である。
以上のように、ボタンに識別子表示を行うことで、ボタンの表記名がなくてもユーザ106は問題なくボタン1601~1604を音声操作することが可能である。
<とじしろ設定画面での音声操作例>
図17のとじしろ設定画面における音声操作例について説明する。図17では、特に1710のようにテンキー入力が可能なときにも、識別子表示によって音声操作が可能な例を示す。
図17(a)は画像形成装置101のコピー機能のとじしろ設定の画面例である。1701~1709はとじしろの設定ボタンである。1710は、テンキー201での入力が可能なことを示唆する表記である。なお、図17(a)においてハードキーであるテンキー201は図示していないが、便宜上、1710を後述の図17(c)、(d)におけるテンキー入力のUI部品として扱い、テンキー入力1710と呼ぶ。1711は、とじしろの設定を取り消すための設定取消ボタンである。また、1712はとじしろの設定を反映するためのOKボタンである。
図17(b)は図17(a)の画面に識別子1713~1723を表示したときの画面例である。なお、図17(b)では、図17(b)、図16(b)と異なり、識別子としてアルファベットを用いている。これは、識別子が数字の場合、図17(d)のテンキー入力1710で後述する音声でのテンキー入力操作と重複してしまうためである。
図17(c)は、図17(b)で示す画面制御情報の一例である。
図17(d)は、図17(b)で示す画面の操作対象判定情報の一例である。番号列は各ボタン1701~1709、1711、1712、及びテンキー入力1710を示しており、行は1701~1712の操作方法とグループID情報を示す。グループID情報の「CHR000**」は、図7のグループIDリストに対応する。ボタン1701の行の「操作時のユーザ発話例」列から、「ボタンを押下」に相当する音声操作方法は、ユーザ106が、“A”、“Aのボタン”、“Aを選択”、“Aのボタンを選択”のように発話することであると分かる。ボタン1701の行の「CHR00000」、「CHR00000+UIP00001」、「CHR00000+OPR00040」、「CHR00000+UIP00001+OPR00040」は、グループID判定結果の{ID:CHR00000}、{ID:CHR00000、ID:UIP00001}、{ID:UIP00001、ID:CHR00000}、{ID:CHR00000、ID:OPR00040}、{ID:OPR00040、ID:CHR00000}、{ID:CHR00000、ID:UIP00001、OPR00040}とマッチングする。ボタン1702~1709、1711、及び1712の行に関しても同様である。また、ボタン1710の行の「操作時のユーザ発話例」列から、「テンキーを押下」に相当する音声操作方法は次の方法であるとわかる。すなわち、ユーザ106が、“10”、“10mm”、“10mmに変更”、“10mmにして”、“1、0”、“1、0mm”、“1、0mmに変更”、“1、0mmにして”のように発話することであると分かる。ここで、“10”は例えば「じゅう」のように連続する数字をまとめて発音するような場合、“1、0”は例えば「いち、ぜろ」のように数字を分けて発音する場合を示している。ボタン1710の行の「NUM000**」、「NUM000**+OPR00041」、「NUM0000*+NUM0000*」、「NUM0000*+NUM0000*+OPR00041」は、グループID判定結果の{ID:NUM000**}、{ID:NUM000**、ID:OPR00041}、{ID:NUM0000*、ID:NUM0000*}、{ID:NUM0000*、ID:NUM0000*、ID:OPR00041}、とマッチングする。ただし、*印には0~9の任意の数字が入る。
以上のように、識別子をアルファベットにすることで、数値の入力と識別子の選択を区別することが可能になる。したがって、テンキー等で数値を入力するような項目が含まれている画面においても、識別子を使った操作が可能となる。すなわち、ユーザ106はボタン及びテンキーの音声操作を一つの画面で両立することが可能である。
<日付印字設定画面での音声操作例>
図18、図19の日付印字設定画面における音声操作例について説明する。図18、図19では、特にオブジェクト1810~1812のようにプルダウンあるいはプルアップによる入力があるときにも、識別子表示によって音声操作が可能な例を示す。
図18(a)は画像形成装置101のコピー機能の日付印字設定の画面例である。オブジェクト1801~1809、1814は日付印字の設定ボタンである。オブジェクト1810~1812は、日付印字設定のプルダウンである。1813は、テンキー201での入力が可能なことを示唆する表記である。1815は、日付印字の設定を取り消すための設定取消ボタンである。また、オブジェクト1816は日付印字の設定を反映するためのOKボタンである。
図18(b)は図18(a)の画面に識別子1817~1831を表示したときの画面例である。図18(c)は、図18(b)で示す画面制御情報の一例である。図18(d)は、図18(b)で示す画面の操作対象判定情報の一例である。番号列は各ボタンオブジェクト1801~1809、オブジェクト1814~1816、プルダウンのオブジェクト1810~1812、及びテンキー入力1813を示しており、行はオブジェクト1801~1816の操作方法とグループID情報を示す。
ボタンオブジェクト1801~1809、オブジェクト1814~1816、及びテンキー入力1813に関しては、図17と同様の操作であるため説明を割愛する。以下、プルダウン1810~1812の操作方法について説明する。
プルダウン1810の行の「操作時のユーザ発話例」列から、「プルダウンを押下」に相当する音声操作方法は、他のボタンと同じように、ユーザ106が、“J”、“Jのボタン”、“Jを選択”、“Jのボタンを選択”のように発話することである。オブジェクト1811、1812も同様である。プルダウンを選択すると、さらにプルダウンリストが表示される。例えば、プルダウン1810を選択すると、図19(a)のようにプルダウンリストが表示される。このとき、図18(d)の操作例は、図19(b)の操作例へ変更される。これは、プルダウンリストの表示によって、プルダウンリスト中のボタンが新たに選択できるようになり、さらにプルダウンリスト表示によって表示が隠れるUI部品があるためである。例えば、図18(d)のプルダウン1811は、図19(a)でプルダウンリストの下に隠れてしまうため、図19(b)において操作不可となる。また、図19(a)で新たにプルダウンリストとして表示されるボタン1832~1834の近傍にそれぞれ識別子1835~1837を表示することで、ユーザ106は新たな表示されたボタン1832~1834を音声操作できる。ボタン1832~1834の音声操作例は、他のボタンと同じであるため割愛する。
以上のように、プルダウンリストが表示される場合も、新たに表示される識別子によってプルダウンリストの音声操作が可能である。
<備考>
以上説明したように、本実施例によればユーザ106の発話によって、画像形成装置101の操作パネル509を操作することができる。特に、本実施例では、画面のボタンの近傍に識別子を表示することで、ユーザ106がボタンの表記名を読めない場合であっても、ボタンの操作が可能となる。
また、本実施例ではユーザ106の音声操作によって識別子をボタンに表示していた。しかながら、音声で画面を操作する際は予め、全てのボタン、あるいは、識別子が必要なボタン(例えば、ボタン名が無い場合、ボタン名が重複している場合、ボタン名が読みづらい場合など)に識別子を表示するようにしてもよい。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。本実施例では、音声制御プログラム601、デバイス制御プログラム801、音声データ変換制御プログラム701がそれぞれ音声制御装置100、画像形成装置101、サーバ102で実行されるとした。しかしながら、マイクロフォンを備えた画像形成装置101で各プログラムを全て実行するようにしてもよいし、サーバ102だけ分離し、音声制御プログラム601とデバイス制御プログラム801を画像形成装置101で実行するようにしてもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
上述した実施例では、ボタン名が無い場合、ボタン名が重複している場合、ボタン名が読みづらい場合に識別子を表示させる例について説明した。しかしながら、図12(a)のようなボタン名がわかりやすい画面において識別子を表示させてもよい。図12(a)の画面に識別子を追加表示させた様子を図23(a)に示す。図23(a)の画面には、ボタン1101~1105、ボタン1111~1113に対応する識別子として、識別子2301~2308が追加表示されている。
上述した実施例では、識別子の追加表示後、この識別子に対応する発話操作にのみ対応していた。しかしながら、識別子の追加表示後に、ボタンが元々対応する発話操作に加えて識別子による発話操作を可能にしてもよい。図23(a)の画面に対応する操作対象判定情報を図23(b)に示す。図23(b)に示すように、図23(a)の画面では、ボタンに対応した発話操作およびボタンに付与された識別子に対応した発話操作が利用可能である。例えば、ボタン1101は、ボタンに元々紐付く発話操作、すなわちグループID「DGR00008+COL0000+COL00102」を用いる発話操作に対応している。また、ボタン1101は、ボタン1101に対応して追加表示された識別子2301に紐付く発話操作、すなわちグループID「NUM00001+UIP00001+OPR00040」を用いる発話操作に対応している。このように、画面に含まれる全部または1部の項目について、ボタンに紐付く発話操作と識別子に紐付く発話操作の両方を利用可能にしてもよい。例えば、ボタン1505、1605、1712、1816は、識別子の追加表示後にグループID「OPR00010」を含む発話操作に対応していてもよい。
実施例では、画像形成装置101が提供する操作画面のうちの一部の画面について取り上げ、その操作方法について説明した。しかしながら、自然言語に基づく画面操作、特に識別子を用いた画面操作を他の操作画面に適用してもよい。図20、図21、図22は、音声入力で操作可能な項目を示す図である。図20、図21、図22の表のうち左から一列目は機能分類を示す。MFPである画像形成装置101が備える機能としては、印刷、コピー、送信、本体設定の他に共通が挙げられる。図20、図21、図22の表のうち左から二列目は項目群を示す。項目群は、機能を利用するうえで操作される項目のうち、類似する分類でまとめられた項目のグル―プである。項目群は1または複数の画面として出力される。図20、図21、図22の表のうち左から三列目は項目を示す。項目は、項目群毎に表示される画面において操作可能な操作項目、設定項目である。操作可能な操作項目の操作により、設定の変更指示、画面の遷移指示、処理の実行指示等をおこなうことができる。機能欄におよび項目群欄が「共通」の項目は、一部の例外となる画面を除き、ほぼすべての画面で利用可能な操作項目である。実施例で説明した「ナンバリング」等の識別子の表示指示は「共通」の操作項目に含まれており、様々な画面で利用できる。ここで紹介した項目は、実施例と同様に、タッチ操作の他、音声入力による操作を行うことができる。特に、ボタンの近傍に識別子を追加し、この識別子を用いて音声操作をおこなうことができる。
なお、MFPとは、Multi Function Peripheralのことである。FAXとはFacsimileのことである。ASICとは、Application Specific Integrated Circuitのことである。CPUとは、Central Processing Unitのことである。RAMとは、Random‐Access Memoryのことである。ROMとは、Read Only Memoryのことである。HDDとはHard Disk Driveのことである。SSDとはSolid State Driveのことである。LANとは、Local Area Networkのことである。PCとは、Personal Computerのことである。LCDとはLiquid Crystal Displayのことである。IDとは、Identificationのことである。
LEDとはLight Emitting Diodeのことである。MEMSとは、Micro Electro Mechanical Systemsのことである。MP3とはMPEG Audio Laer-3のことである。SDカードとはSecure Digitalメモリーカードのことである。