以下、本発明を実施するための形態について実施例にて具体的な構成を挙げ、図面を用いて説明する。なお、本発明を実現するための構成は実施例に記載された構成のみに限定されるものではない。同様の効果を得られる範囲で実施例に記載の構成の一部を省略または均等物に置き換えてもよい。
<システムの構成>
図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ディスプレイと一体となったタッチパネルを備える。LCDタッチパネル200は情報を表示する表示デバイスであり、主なモード設定、状況表示はここで行われる。
キー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上に表示された「自動(カラー/白黒)」ボタンがタッチされた時も同様に、当該ボタンを強調表示することが示されている。
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は画像形成装置101の操作対象判定部807の処理の概要を示すフローチャートである。図13は、図10のS1003、及び、図9のS914、S943の処理に対応している。
以下、図13と図14を用いて操作対象判定部807の処理フローについて説明する。
まず、図14について説明する。本実施例ではこれまで説明した、音声での操作に対して、さらに位置情報を用いた音声操作についての説明を行う。
図14-1(a)は画像形成装置101のコピーの時の、原稿の種類を設定する際の画面例である。オブジェクト1401~1406は原稿の種類を設定するボタンである。また、オブジェクト1409はオブジェクト1401~1406で指定された設定を反映するためのOKボタンである。
オブジェクト1407はコピーの画質に関する調整画面を開くためのレベル調整ボタンである。
補助線1413はユーザ106がボタンの位置情報を読み上げる際に参考とする補助線である。
エリア1414はユーザ106がボタンを選択する際に、位置情報を読み上げることで選択可能とする領域を示す、選択可能領域エリアである。
オブジェクト1408はオブジェクト1401~1406、オブジェクト1409の設定を取り消すキャンセルボタンである。
図14-1(b)は図14-1(a)のボタンにユーザがボタンの位置を読み上げる(発話)することで、その近傍のボタンを操作対象とすることが出来るようにすることを説明するための仮想の線を示したものである。
仮想の線1410、1411、1412はボタンに位置情報を付加することを説明するための線である。この線はユーザには表示されず、ユーザが位置情報を発話した際にどのボタンが選択されるかを説明するために用いる。
例えば、図14-1(a)のオブジェクト1401は仮想の線1410、1411、1412を元に判断するとボタンの中で左上に位置しているため、ユーザ106が「左上のボタン」と発話すると、オブジェクト1401が操作対象と判定される事を可能とする。
オブジェクト1402は同じく仮想の線を元に判断すると、ボタンの中で右上に位置するため、ユーザ106が「右上のボタン」と発話すると、オブジェクト1402が操作対象と判定される事を可能とする。
オブジェクト1403は仮想の線1410、1411、1412を元に判断すると、2段目の左もしくは真ん中の段の左に位置するといった判断が可能である。そのため、ユーザ106が「2段目の左のボタン」や「真ん中の段の左」といったように、ボタンの名称でなく、ボタンの視覚的位置を元に発話すると、オブジェクト1403が操作対象と判定される。図14-1(c)にはこのような各ボタンに対するユーザ106の発話例を示しているが、発話例はこれに限ったものでなくとも良い。
オブジェクト1404、1405、1406も同じように仮想の線1410、1411、1412を元に判断する。そして、それぞれ「2段目の右」、「3段目の左」、「右下のボタン」等、ユーザ106がボタンの視覚的位置を元に発話すると、それぞれのボタンが操作対象と判定する。
オブジェクト1407は前述のオブジェクト1401~1406とは異なる位置に配置されている。このようなボタンはユーザ106が図14-1(a)の補助線1413を元に位置情報を発話する事で操作対象と判定する事が可能となる。
例えばユーザ106から見ると補助線1413よりも左側は枠の内側、補助線1213よりも右側は枠の外側と判断できるため、ユーザ106が「枠の外のボタン」と発話する事で操作対象と判定する事が可能となる。
一方、オブジェクト1408、1409は選択可能領域エリア1214よりも外に存在するため、ユーザ106は位置情報を発話しても選択する事が出来ない。
従って、それぞれボタンに記載されている文字もしくはそれに近い意味の言葉を発話する事で選択可能となる。
具体的にユーザ106の発話に基づいて、どのようにボタンを選択可能とするかは図13を用いて後述する。
図14-1(c)は、図14-1(a)の画面におけるオブジェクト1401~1406の性質を示すものである。番号列は各オブジェクト1401~1409を示しており、行は各オブジェクト1401~1406の種類、表記名、操作時の画面制御、操作時の内部処理を示している。
図14-1(d)は、図14-1(b)の画面におけるボタン毎の対応グループID、操作時のユーザ発話例、及び操作パネル509の操作方法の例である。番号列は各オブジェクト1401~1409を示しており、行は各オブジェクト1401~1409の操作方法とグループID情報を示す。例えば、オブジェクト1401の行の「操作パネルの操作方法」列から、オブジェクト1401を操作パネル509で操作する方法は「ボタンを押下」することであると分かる。また、オブジェクト1401の行の「音声による操作方法」列から、「ボタンを押下」に相当する音声操作方法は、ユーザ106が、“左上”、“左上のボタン”のように発話することであると分かる。
図14-2(a)(b)は上述したように位置情報を用いてユーザがボタンを選択する事を可能とするための、図7(b)で示したグループIDリストに追加される、グループIDリストの別の一例である。
例えば、図14-1(d)の「表示画面のグループID情報」列のグループID情報は、サーバ102によるグループID判定結果とのマッチングに用いられる。例えば、オブジェクト1401の行の「POS00017」、「POS00017+UIP00001」は、グループID判定結果の{ID:POS00017}、{ID:POS00017、ID:UIP00001}、とマッチングする。オブジェクト1402~1406の行に関しても同様である。
ユーザ106が「左上のボタン」とした場合、サーバ102によるグループID判定結果がPOS00017、UIP00001となる。操作対象判定部807は、そのグループID判定結果と対応ID情報とをマッチングを行い、オブジェクト1401が操作対象であると判定することができる。
以下、図13の操作対象判定部807の処理フローを図14-1(a)~(d),図14-2(a),(b)の画面と表の例を用いて説明する。
S1301では、図10のS1001で受信したグループID判定結果と、S1002で取得した画面レイアウト情報に含まれるボタンのグループID情報とをマッチングする。例えば、図14-1(a)の画面を表示しているとき、グループID判定結果が{ID:POS00017}である場合、それと図14-1(d)の「対応グループID」列の各オブジェクト1401~1409のグループID情報とをマッチングする。次にS1302ではマッチングがあるかないかを判定する。S1302ではこのとき、オブジェクト1401のグループID「POS00017」がヒットし、マッチング成功となる。
また、図14-1(d)に示すようにグリープID判定結果が{ID:POS00017、ID:UIP00001}の組み合わせであった場合もオブジェクト1401がヒットすることとなる。
同じくオブジェクト1402では{ID:POS000011}のパターンと{ID:POS00017、ID:UIP00001}の組み合わせパターンであった場合がヒットする。
マッチング成功した場合は、S1103へ進み、そうでなければS1104へ進む。
S1303では、S1301でヒットした行のボタンを操作対象と判定し、操作対象判定処理を終了する。例えば、グループID「POS00017」がヒットした場合、その行のオブジェクト1401を操作対象と判定し、操作対象判定処理を終了する。
S1304では、図10のS1001で受信したグループID判定結果と、S1002で取得した画面レイアウト情報に含まれるハードキーのグループID情報とをマッチングする。例えば、図14-1(b)の画面において、グループID判定結果が{ID:H005}である場合、それとハードキーのグループID情報とをマッチングする。ハードキーのグループID情報は、図14-2(b)のグループIDリストと同様のリスト情報である。S1305では、S1304でマッチング成功したか否かを判定する。このとき、グループID「H005」がヒットし、マッチング成功となる。
マッチング成功した場合は、S1106へ進み、そうでなければ操作対象判定処理を終了する。そうでなければS1107へ進む。
S1306では、S1304でヒットしたハードキーを操作対象と判定し、操作対象判定処理を終了する。例えば、グループID情報が「H005」である“スタート”がヒットした場合、スタートキーを操作対象と判定し、操作対象判定処理を終了する。
<利用シーケンス>
次に図13での画面の操作をユーザ106からの音声操作とその時のインタラクションの一例をより具体的に図18の模式図を用いて説明する。
図18では、ユーザ操作の流れと各構成の対応関係を示している。各構成としては、ユーザ106の音声操作としての発話例と、その発話に応じてシステムが音声制御装置100の音声処理状態を示すLEDが挙げられる。また、画像形成装置の操作パネル509に表示する画面、および、音声制御装置100で再生する応答用の音声が挙げられる。
まず、システムはLED消灯にて音声待機状態であることを示し、操作パネル509にはトップ画面を表示している(S1801)とする。この時に、ユーザ106がウェイクワードを発話する(S1802)と、システムは音声操作の受付を開始し、発話処理状態を示すLEDを点灯する(S1803)。なお、S1802は図9中のS905、S1803はS906の具体的の一例である。ウェイクワードに続いて、ユーザ106が「コピーをしたい」と発話する(S1804)と、システムは応答処理状態を示すLEDを点滅させ(S1805)、コピートップ画面を表示する(S1806)。そして、システムは「コピーの画面を表示しました」という応答用の音声を再生し(S1807)、ユーザ106に次の発話を促すためにLEDを再点灯する(S1808)。なお、S1804は図9中のS907、S1805はS908、S1806はS915、S1807はS919、S1808はS920の具体的な一例である。
次に、ユーザ106が「原稿の種類」と発話する(S1809)と、システムはLEDを点滅させ(S1810)、原稿の種類設定画面を表示する(S1811)。そして、システムは「原稿の種類が変更できます」という応答用の音声を再生し(S1812)、LEDを点灯する(S1813)。なお、S1809は図9中のS921、S1810はS922、S1811はS915、S1812はS924、S1813はS925の具体的な一例である。
次に、ユーザ106が「右下のボタン」と発話する(S1814)と、システムはLEDを点滅させ(S1815)、倍率の設定値を変更した画面に更新する(S1816)。そして、システムは「原稿の種類を文字に設定しました」という応答用の音声を再生し(S1817)、LEDを点灯する(S1818)。なお、S1814は図9中のS926、S1815はS927、S1816はS915、S1817はS929、S1818はS925の具体的な一例である。
次に、ユーザ106が「O.K.」と発話する(S1819)と、システムはLEDを点滅させ(S1820)、変更した倍率の設定値を反映したコピーのトップ画面を表示する(S1821)。そして、システムは「コピーが開始できます」という応答用の音声を再生し(S1822)、LEDを点灯する(S1823)。なお、S1819は図9中のS931、S1820はS932、S1821はS915、S1822はS934、S1823はS935の具体的な一例である。
次に、ユーザ106が「コピースタート」と発話する(S1824)と、システムはLEDを点滅させ(S1825)、コピージョブを実行する。コピージョブの実行が開始されると、システムはコピージョブ実行中の画面を表示する(S1826)とともに、「コピーを開始します」という一次応答用の音声を再生する(S1827)。そして、コピージョブの実行が完了すると、システムはコピージョブ実行終了画面を一定時間表示するとともに、「コピーを終了しました」という最終応答用の音声を再生し(S1828)、音声受付が終了したことを示すためにLEDを消灯する(S1829)。なお、S1824は図9中のS936、S1825はS937、S1826はS944、S1827はS949、S1828はS954、S1829はS955の具体的な一例である。
<備考>
以上で説明したように、本実施例によれば、画面の中心線(中心点)等の仮想の基準線(基準点)を基準としたボタン(アイコン、オブジェクト)の位置情報を発話することで、所望のボタンを指定することができる。
<コピー集約設定画面での音声操作例>
図15-1(a)は画像形成装置101のコピーの時の、ページの割り付けを設定する際の画面例である。オブジェクト1520~1522はページの集約の種類を設定するボタンである。また、オブジェクト1528はオブジェクト1520~1526で指定された設定を反映するためのOKボタンである。
オブジェクト1523は両面設定に関する設定画面を開くための両面設定ボタンである。
オブジェクト1524は詳細な設定に関する画面を開くための詳細設定ボタンである。
オブジェクト1525は原稿サイズの設定に関する画面を開くための原稿サイズ変更ボタンである。
オブジェクト1526は用紙サイズの設定に関する画面を開くための用紙サイズ変更ボタンである。
補助線1529(a)、1529(b)はユーザ106がボタンの位置情報を読み上げる際に参考とする補助線である。
領域1529はユーザ106がボタンを選択する際に、位置情報を読み上げることで選択可能とする領域を示す、選択可能領域エリアである。
図15-1(b)は、図15-1(a)の画面におけるオブジェクト1520~1528の性質を示すものである。番号列は各オブジェクト1520~1528を示しており、行は各オブジェクト1320~1328の種類、表記名、操作時の画面制御、操作時の内部処理を示している。
図15-1(c)は、図14と同様に図15-1(a)の画面におけるボタン毎の対応グループID、操作時のユーザ発話例、及び操作パネル509の操作方法の例である。番号列は各オブジェクト1520~1528を示しており、行は各オブジェクト1520~1528の操作方法とグループID情報を示す。
図15-2は上述したように位置情報を用いてユーザがボタンを選択する事を可能とするための、図7(b)で示したグループIDリストに追加される、グループIDリストの別の一例である。
オブジェクト1520~1522は補助線1529(a)、1529(b)よりも内側にあることからユーザ106が「枠の内側」と発話する事で選択を可能とする。これに図14で説明したユーザから見た視覚情報を加えることでオブジェクトの選択操作が可能である。例えば「枠の内側の左側」と発話すればオブジェクト1320が選択可能となり、「枠の内側の中央」と発話すればオブジェクト1521が、「枠の内側の右のボタン」と発話すればオブジェクト1522が選択可能となる。
オブジェクト1523、1524は補助線1529(a)、1529(b)よりも外側の下にあることからユーザ106が「枠の外側の下」と発話する事で選択を可能とする。これに図14で説明したユーザから見た視覚情報を加えて、例えば「枠の外の下の左」と発話すればオブジェクト1523が選択可能となり、「枠の外の下の右」と発話すればオブジェクト1324が選択可能となる。
オブジェクト1525、1526は補助線1529(a)、1529(b)よりも外側の右にあることからユーザ106が「枠の外側の右」と発話する事で選択を可能とする。これに図14で説明したユーザから見た視覚情報を加えて、例えば「枠の外の右の上」と発話すればオブジェクト1525が選択可能となり、「枠の外の右の下」と発話すればオブジェクト1526が選択可能となる。
図15-1(c)のその他の記載内容については図14-1(d)の記載内容に準じたものであるため、説明は割愛する。
<備考>
以上で説明したように、本実施例によれば、画面に含まれる領域(エリア)を基準としてボタン(アイコン、オブジェクト)の位置情報を発話することで、所望のボタンを指定することができる。
<移動幅設定画面での音声操作例>
図16の移動幅設定画面における音声操作例について説明する。図16では、特にオブジェクト1630~1633のようにボタンの表記名が無いときであっても、位置情報を用いることで音声操作が可能な例を示す。
図16-1(a)は画像形成装置101の印刷位置の移動幅を設定する画面例である。オブジェクト1630~1633は移動方向を設定するボタンである。数値入力欄1636~1638は前述の移動方向毎にどれだけ移動させるかの値を入力するかを設定する欄である。
図16-1(b)は、図16同様、図16-1(a)の画面におけるオブジェクト1630~1633、数値入力欄1636~1639の性質を示すものである。
図16-1(c)は、図16と同様に図15-1(a)の画面におけるボタン毎の対応グループID、操作時のユーザ発話例、及び操作パネル509の操作方法の例である。
図16-2は上述したように位置情報を用いてユーザがボタンを選択する事を可能とするための、図7(b)で示したグループIDリストに追加される、グループIDリストの別の一例である。
オブジェクト1630~1633はそれぞれのボタンの位置関係からユーザ106がボタンの位置を発話する事で選択を可能とする。例えば「上」と発話すればオブジェクト1630が選択可能となり数値入力欄1636に数値が入力可能となる。右と発話すればオブジェクト1633が選択可能となり数値入力欄1639に数値が入力可能となる。
数値入力欄1636~1639はそれぞれ対応するオブジェクト1630からオブジェクト1633が選択された後にユーザが移動させたい値を発話することでその値が入力される。
例えばユーザ106が「右」と発話するとオブジェクト1633が選択され数値入力欄1639に値が入力可能となり、次にユーザ106が「イチミリ」と発話すると数値入力欄1639に1mmが表示される。
図16-1(a)のその他のボタン、図16-1(c)のその他の記載内容については図16の記載内容に準じたものであるため、説明は割愛する。
<備考>
以上で説明したように、本実施例によれば、表記名が無いようなボタンであっても、画面を中心点(中心線)等の仮想の基準点(基準線)を基準としてボタン(アイコン、オブジェクト)の位置情報を発話することで、所望のボタンを指定することができる。
<宛先設定画面での音声操作例>
図17の宛先設定画面における音声操作例について説明する。図17では、特にオブジェクト1740~1744のようにアイコンで表示されているボタンもしくは、その周辺のボタン。また、リスト1746のように宛先がリストで表示されているもの。またプルダウン1745のプルダウンあるいはプルアップによる入力があるとき。また、オブジェクト1747~1757のように同じ種類のボタンが固まって配置されている場合に、位置情報によって音声操作が可能な例を示す。
図17-1(a)は画像形成装置101のセンド機能の宛先設定の画面例である。オブジェクト1740~1744は送信手段の種類を表すボタンであり、全ての送信手段もしくはEメールやFaxなどの種類がアイコンの形で表記されている。プルダウン1745は宛先表の種類を選択できるようなプルダウンボタンである。リスト1746はオブジェクト1740~1745もしくはオブジェクト1747~1757で選択された宛先の中から該当した宛先のリストを表示する宛先リストである。オブジェクト1747~1757は宛先を選択する際の絞り込みの手段として容易された50音リストのボタンである。
オブジェクト1758は宛先の登録を行う際に選択する新規宛先の登録ボタンである。オブジェクト1759は既に登録されている宛先の詳細や内容の変更を行う詳細/編集ボタンである。オブジェクト1760は既に登録されている宛先の削除を行う削除ボタンである。オブジェクト1761は登録済みの宛先を名称で検索する際の名称で検索ボタンである。
図17-1(b)は、図17-1(a)の画面におけるオブジェクト1740~1763の性質を示すものである。番号列は各オブジェクト1740~1744、オブジェクト1747~1763、プルダウン1745、及びリスト1746を示しており、行はオブジェクト1740~1763の種類、表記名、操作時の画面制御、操作時の内部処理を示している。
図17-2、図17-3は、図17-1(a)の画面におけるボタン毎の対応グループID、操作時のユーザ発話例、及び操作パネル509の操作方法の例である。各オブジェクト1740~1744、オブジェクト1747~1763、プルダウン1745、及びリスト1746を示しており、行はオブジェクト1740~1763の操作方法とグループID情報を示す。
図17-4(a)、図17-4(b)は上述したように位置情報を用いてユーザがボタンを選択する事を可能とするための、図7(b)で示したグループIDリストに追加される、グループIDリストの別の一例である。
オブジェクト1740~1744の操作方法について説明する。
これらのボタンはオブジェクト1741~オブジェクト1744のようにアイコンで表記されているボタンで多くが配置されている。従ってユーザ106はその視覚情報と位置情報を元に例えばオブジェクト1740であれば、「アイコンがある場所の一番左」と発話することで選択を可能とする。これを可能とするために図17-2で表しているように対応グループIDは「UIP00003:アイコン」+「POS00001:場所」+「POS00016:左」という対応を取る事で選択が可能となる。また、例えばオブジェクト1743であれば、アイコンがある場所のボタンの中で、左から4番目、もしくは右から2番目とも認識できる。そのため、ユーザ106は「アイコンがある場所の左から4番目」もしくは「アイコンがある場所の右から2番目」と発話しても良い。これと同様の発話内容でオブジェクト1740~1744は発話での選択が可能となる。次にプルダウン1745は「全ての宛先表」とユーザ106が発話する事で選択され、このボタンはプルダウンのため、このボタンを選択するとプルダウンリストが表示される。さらにこのプルダウンリストの中の項目を選択する場合は前述と同様にユーザは位置情報を元に「上から2番目」や、「一番下」のようにプルダウンリストの中での位置関係を指定することでリストからの選択が可能となる。次にリスト1746に表示された宛先の選択方法について説明する。
図17-1(a)に示すようにリスト1746には複数の宛先がリストの形で表示される。ユーザ106はこのリストの中の宛先を選択する際は「宛先リストの中の上から2番目」といった具合に、まず対象とするリスト名を発話し、その中の位置情報を元に発話指定をする事でリストの中から宛先を選択する事が可能となる。
例えばユーザ106が「宛先リストの上から2番目」と発話すると、交通費の精算の宛先が選択可能となる。
次にオブジェクト1747~1757の操作方法について説明する。
これらのボタンはオブジェクト1749~1755のように50音順で表記されているボタンで多くが配置されている。従ってユーザ106はその視覚情報と位置情報を元に例えばオブジェクト1747であれば、「50音リストがある場所の一番左のボタン」と発話することで選択を可能とする。ここで50音リストというワードはボタンの集まり毎に所定のワードを決定しておく事でエリアの指定が可能となる。例えば、50音リストというワード以外にも「(あ)から(や)」というワードでこのエリアを特定するようにしても良い。この場合、ユーザは「(あ)から(や)のボタンがある場所の左から3番目」と発話してオブジェクト1749が選択可能となる。
次にオブジェクト1758~1761の操作方法について説明する。
これらのボタンは図17-1(a)の中では位置情報を元に判断すると、宛先リスト1746の右側に並んでいると判別する事が可能である。
従ってユーザ106はこれらのボタンを選択する際には「宛先リストの右側の」という発話に続けて「上から3番目」などといった位置情報を元にそれぞれのボタンの選択が可能となる。例えば、ユーザ106が「宛先リストの右側の下から2番目」と発話した場合はオブジェクト1760が選択可能となる。
<備考>
以上で説明したように、ボタンの配置がやや複雑な画面においても、目印となるアイコンやリストなどを基準として、それからの位置関係を指定することにより、音声操作が可能である。換言すると、目印となるアイコンに基づき画面内の選択領域を限定し、その限定された領域内から所望のボタンを指定することができる。すなわち、目印となるアイコンに桃付き音声操作する対象をフィルタすることができる。
(その他の実施例)
以上で説明したように、実施例によればユーザ106の発話によって、画像形成装置101の操作パネル509を操作することができる。特に、実施例では画面のボタンの位置情報を元に発話を行うことで、ユーザ106がボタンの表記名を発話するだけでなく、ユーザから見たボタンの位置を発話することでボタンの操作が可能となる。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。本実施例では、音声制御プログラム601、デバイス制御プログラム801、音声データ変換制御プログラム701がそれぞれ音声制御装置100、画像形成装置101、サーバ102で実行されるとした。しかしながら、マイクロフォンを備えた画像形成装置101で各プログラムを全て実行するようにしてもよいし、サーバ102だけ分離し、音声制御プログラム601とデバイス制御プログラム801を画像形成装置101で実行するようにしてもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
上述した実施例では、画面内に含まれるボタンを位置情報の発話で指定するケースを説明した。しかしながら、図12(c)のように表記名の発話でボタンを指定する方法を併行で利用してもよい。図12(c)の表に位置情報を用いた操作するための情報を追加した様子を図19に示す。図19の表によれば、ボタンの表記名に対応した発話操作およびボタンに位置情報に対応した発話操作が利用可能である。例えば、オブジェクト1101は、表記名を利用した「自動」「自動カラー白黒」という発話操作方法の他、「フルカラーの左」「白黒の2つ左」等の位置情報を用いた発話操作方法に対応している。特に、「フルカラー」等の位置の基準となる他のボタンの情報と「左」等の位置方向を示す情報を組み合わせて操作対象のボタンを指定することができる。また、「白黒」等の位置の基準となる他のボタンの情報と「左」等の位置方向を示す情報に加え「2つ」等の数を示す情報を組み合わせて操作対象のボタンを指定することができる。このように、画面に含まれる全部または1部の項目について、ボタンの表記名に関する発話操作と位置情報に紐付く発話操作の両方を利用可能にしてもよい。
実施例では、画像形成装置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メモリーカードのことである。