(58)【調査した分野】(Int.Cl.,DB名)
前記第1プラットフォームに送信された前記音声データに応答して、前記第1プラットフォームから送信された応答音声データが示す音声をスピーカに音声出力させる音声出力部
をさらに備える、請求項1に記載の送信制御装置。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
図1は、システム10の一例を概略的に示す。ここでは、システム10は、送信制御装置100と、プラットフォーム210及びプラットフォーム220とを有する。プラットフォーム210及びプラットフォーム220を区別しない場合、プラットフォーム200と記載する場合がある。プラットフォーム200は、いわゆるクラウドサービスを提供する提供主体であってよい。システム10が有するプラットフォーム200の数は2つに限らず、3つ以上であってもよい。
【0013】
送信制御装置100は、家30等の任意の場所に設置されて、ユーザ32に対して音声インタフェースを提供する。送信制御装置100は、例えば、ユーザ32による音声の入力を受け付け、入力された音声を示す音声データを、ネットワーク50を介してプラットフォーム200に送信し、当該音声データに対する応答音声データを受信して、音声出力する。ネットワーク50は任意のネットワークであってよく、例えば、インターネット及び電話網を含む。
【0014】
送信制御装置100は、ホームアシスタント、スマートスピーカ、及びAIスピーカ等と称される装置であってよく、また、送信制御装置100は、スマートフォン、タブレット端末、及びカーナビゲーション等であってもよい。送信制御装置100は、これらの一部であってもよい。例えば、送信制御装置100は、これらに搭載されているチップ及びモジュール等であってもよい。
【0015】
送信制御装置100は、いわゆるウェイクワードが入力された場合に、その後に入力される音声を示す音声データをプラットフォーム200に送信する。ウェイクワードは、ウェイクアップワード及びホットワード等と呼ばれる場合もある。
【0016】
送信制御装置100は、ウェイクワードが入力された後、予め定められた時間が経過するまでの間に入力された音声を示す音声データを、入力されたウェイクワードに対応するプラットフォーム200に送信してよい。この場合、ユーザ32は、予め定められた時間が経過した後は、再度ウェイクワードを入力することになる。
【0017】
また、送信制御装置100は、ウェイクワードが入力された後に入力された一回分の音声を示す音声データのみを、入力されたウェイクワードに対応するプラットフォーム200に送信してもよい。この場合、ユーザ32は、毎回ウェイクワードを入力することになる。
【0018】
また、送信制御装置100は、ウェイクワードが入力された後、予め定められた条件が満たされるまでの間に入力された音声を示す音声データを、入力されたウェイクワードに対応するプラットフォーム200に送信してもよい。予め定められた条件とは、例えば、終了を示す音声の入力を受け付けること等である。
【0019】
本実施形態に係る送信制御装置100には、複数のプラットフォーム200のそれぞれに対応する複数のウェイクワードが予め登録されてよい。ウェイクワードの登録は、任意のタイミングで行われてよい。例えば、ウェイクワードの登録は、送信制御装置100の製造時に行われてよく、工場出荷時に行われてもよく、ユーザ32が送信制御装置100を入手してから使用するまでの間に行われてもよい。また、ウェイクワードは変更可能であってよい。
【0020】
図1に示す例では、プラットフォーム210に対応する第1ウェイクワードと、プラットフォーム220に対応する第2ウェイクワードとが、送信制御装置100に登録される。1つのプラットフォーム200に対応するウェイクワードは、複数であってもよい。
【0021】
送信制御装置100は、ユーザ32によって入力された音声に、複数のウェイクワードのいずれかが含まれるかを判断する。そして、送信制御装置100は、複数のウェイクワードのいずれかが含まれると判断した場合、その後に入力された音声を示す音声データを、当該ウェイクワードに対応するプラットフォーム200に対して送信する。例えば、送信制御装置100は、第1ウェイクワードが含まれると判断した場合、その後に入力された音声を示す音声データをプラットフォーム210に送信する。また、送信制御装置100は、第2ウェイクワードが含まれると判断した場合、その後に入力された音声を示す音声データをプラットフォーム220に送信する。
【0022】
このように、複数のプラットフォーム200のそれぞれに対応する複数のウェイクワードを一の送信制御装置100に実装することによって、接続するプラットフォーム200を切り替え可能とすることにより、従来の音声インタフェースデバイスと比較して、機能を拡張し、利便性を向上させることができる。
【0023】
図2は、システム10の他の一例を概略的に示す。
図2に示す例では、送信制御装置100は、送信制御装置100の外部に位置する外部デバイス36を制御可能である。外部デバイス36は、通信機能を有する任意のデバイスであってよい。外部デバイス36としては、テレビ、エアコン、電球及び冷蔵庫などの家電、ドアセンサ、並びに温度センサ等のIoT(Internet of Thing)デバイスが例示できる。
【0024】
例えば、送信制御装置100は、入力された音声に第1ウェイクワードが含まれると判断した場合に、その後に入力された音声を示す音声データをプラットフォーム210に送信し、当該音声データに対する応答として、プラットフォーム210から、外部デバイス36を制御するための制御データを受信する。制御データは、外部デバイス36を制御することができればどのようなデータであってもよい。例えば、制御データは、外部デバイス36を制御するための制御コマンドである。そして、送信制御装置100は、受信した制御データを外部デバイス36に送信することによって、外部デバイス36を制御する。
【0025】
制御対象の外部デバイス36がA社製のテレビであり、プラットフォーム210がA社によって提供されるプラットフォームである場合を例に挙げて、その具体例を説明する。ユーザ32は、テレビを操作したい場合に、第1ウェイクワードを発声して、「テレビをつけて」等の操作内容を発声する。送信制御装置100は、第1ウェイクワードの入力を受け付けたことにより、その後の音声を示す音声データの送信先をプラットフォーム210に設定して、入力された操作内容の音声を示す音声データをプラットフォーム210に送信する。プラットフォーム210は、受信した音声データを解析して、操作内容に対応する制御データを送信制御装置100に送信する。そして、送信制御装置100が、プラットフォーム210から受信した制御データをテレビに送信することによって、操作内容が実現される。このように、送信制御装置100は、外部デバイス36を間接的に制御してよい。
【0026】
また、送信制御装置100は、外部デバイス36を直接的に制御してもよい。例えば、送信制御装置100に、外部デバイス36に対応するウェイクワード(以下、ローカルウェイクワードと記載する。)が登録される。そして、送信制御装置100は、入力された音声にローカルウェイクワードが含まれると判断した場合、その後に入力された音声に応じた制御データを、外部デバイス36に送信する。例えば、制御対象の外部デバイス36がテレビであり、ローカルウェイクワードの入力後に入力された音声が「テレビをつけて」であった場合は、テレビの電源をONにする制御データがテレビに送信される。
【0027】
このように送信制御装置100は、複数のウェイクワードによって、プラットフォーム200の利用と、外部デバイス36の制御とを切り替えてもよい。この場合、対象となるプラットフォーム200の数は1つであっても複数であってもよく、対象となる外部デバイス36の数も1つであっても複数であってもよい。
【0028】
外部デバイス36に対応するウェイクワードとしては、複数の外部デバイス36に対応するウェイクワードを登録してもよく、複数の外部デバイス36のそれぞれに対応する複数のウェイクワードを登録してもよい。複数の外部デバイス36に対応するウェイクワードを登録した場合、制御対象をどの外部デバイス36にするかは、入力する音声の内容によって決定されてよい。例えば、制御対象の外部デバイス36を指定する内容を含む音声を受け付け可能にしたり、制御の内容によって制御対象の外部デバイス36を判定するようにしたりすることができる。
【0029】
送信制御装置100から外部デバイス36に対する制御データの送信は、任意の通信規格によって実現されてよい。通信規格としては、Bluetooth(登録商標)、BLE(Bluetooth(登録商標) Low Energy)、Zigbee(登録商標)、Zwave、LoRa、及び赤外線通信等が例示できる。
【0030】
図3は、システム10の他の一例を概略的に示す。
図3に示す例では、プラットフォーム200が、ルータ34を介して外部デバイス36を制御してよい。また、送信制御装置100が、ルータ34を介して外部デバイス36を制御してもよい。
【0031】
例えば、送信制御装置100は、入力された音声に第1ウェイクワードが含まれると判断した場合に、その後に入力された音声を示す音声データをプラットフォーム210に送信する。プラットフォーム210は、当該音声データに対する応答として、外部デバイス36を制御するための制御データを、ルータ34を介して外部デバイス36に送信する。
【0032】
また、例えば、送信制御装置100は、入力された音声に第1ウェイクワードが含まれると判断した場合に、その後に入力された音声を示す音声データをプラットフォーム210に送信し、当該音声データに対する応答として、プラットフォーム210から、外部デバイス36を制御するための制御データを受信する。そして、送信制御装置100は、受信した制御データを、ルータ34を介して外部デバイス36に送信する。
【0033】
なお、
図3に示す例において、送信制御装置100は、プラットフォーム200と通信する場合に、ルータ34を介して通信してもよく、ルータ34を介さずに通信してもよい。
【0034】
図4は、送信制御装置100の機能構成の一例を概略的に示す。送信制御装置100は、マイク102、スピーカ104、音声取得部112、音声判断部114、送信制御部116、ネットワークインタフェース118、及び音声出力部120を備える。なお、送信制御装置100がこれらのすべての構成を備えることは必須とは限らない。
【0035】
音声取得部112は、マイク102から入力された音声を取得する。音声取得部112が取得する音声は、アナログ信号であってよい。また、音声取得部112が取得する音声は、デジタル信号であってもよい。
【0036】
音声判断部114は、音声取得部112が取得した音声に予め定められた複数のウェイクワードのいずれかが含まれるかを判断する。音声判断部114は、いわゆる音声認識技術を利用して、音声にウェイクワードが含まれるかを判断してよい。
【0037】
例えば、音声判断部114は、ウェイクワードの音声波形を格納しておき、入力音声の音声波形とウェイクワードの音声波形とが合致していると判定した場合に、音声にウェイクワードが含まれると判断する。ウェイクワードの音声波形は、汎用的な音声波形であってよい。また、ウェイクワードの音声波形は、ユーザ32によって登録されたユーザ32によるウェイクワードの音声波形であってもよい。また、音声判断部114は、入力音声をテキスト化し、ウェイクワードのテキストと合致していると判定した場合に、音声にウェイクワードが含まれると判断してもよい。
【0038】
送信制御部116は、音声判断部114が入力音声に複数のウェイクワードのいずれかが含まれると判断した場合に、当該判断後にマイク102から入力された音声を示す音声データを、ウェイクワードに対応するプラットフォーム200に送信させる。送信制御部116は、当該音声データをウェイクワードに対応するプラットフォーム200に対して、ネットワークインタフェース118に送信させてよい。
【0039】
例えば、送信制御部116は、音声データの送信先をネットワークインタフェース118に設定する。また、送信制御部116は、マイク102から入力される音声をネットワークインタフェース118に送信するよう音声取得部112を制御してよい。これにより、入力音声に複数のウェイクワードのいずれかが含まれると判断された場合に、その後にマイク102に入力された音声が音声取得部112からネットワークインタフェース118に送信され、ネットワークインタフェース118は、設定に従って当該音声を示す音声データをプラットフォーム200に送信する。
【0040】
なお、送信制御部116は、マイク102から入力される音声をネットワークインタフェース118に送信するとともに、マイク102から入力される音声を音声判断部114に送信しないように音声取得部112を制御してもよい。これにより、音声取得部112の処理量及び音声判断部114の処理量を適切に低減することができる。
【0041】
ネットワークインタフェース118は、プラットフォーム200に送信した音声データに応答して、プラットフォーム200から送信された応答音声データを受信した場合、当該応答音声データを音声出力部120に送信する。音声出力部120は、ネットワークインタフェース118から受信した応答音声データをスピーカ104に音声出力させる。
【0042】
送信制御部116は、プラットフォーム200に送信した音声データに応答して、プラットフォーム200から送信された制御データを受信した場合、ネットワークインタフェース118に、当該制御データを外部デバイス36に送信させてよい。ネットワークインタフェース118は、制御データを直接外部デバイス36に送信してもよく、また、ルータ34を介して外部デバイス36に送信してもよい。
【0043】
図5は、送信制御装置100の機能構成の一例を概略的に示す。送信制御装置100は、マイク102、スピーカ104、音声取得部112、音声判断部114、送信制御部116、ネットワークインタフェース118、音声出力部120、及びコマンド処理部130を備える。なお、送信制御装置100がこれらのすべての構成を備えることは必須とは限らない。ここでは、
図4に示す送信制御装置100と異なる点を主に説明する。
【0044】
送信制御部116は、音声判断部114が、マイク102から入力された音声にプラットフォーム200に対応するウェイクワードが含まれると判断した場合、当該判断後にマイク102から入力された音声を示す音声データを、ウェイクワードに対応するプラットフォーム200に送信させる。送信制御部116は、入力音声にプラットフォーム200に対応するウェイクワードが含まれると判断した場合、当該判断後にマイク102から入力される音声をネットワークインタフェース118に送信するよう音声取得部112を制御してよい。
【0045】
送信制御部116は、音声判断部114が、マイク102から入力された音声にローカルウェイクワードが含まれると判断した場合、当該判断後にマイク102から入力された音声に応じた制御データを外部デバイス36に送信させる。ここで、送信制御部116は、入力音声にローカルウェイクワードが含まれると判断された場合、当該判断後にマイク102から入力される音声をコマンド処理部130に送信するよう音声取得部112を制御してよい。
【0046】
コマンド処理部130は、音声取得部112から受信した音声によって、複数の制御データのうちのいずれかを特定することができるかを判断する。コマンド処理部130は、例えば、複数の制御データのそれぞれに対応する音声波形を格納しておき、受信した音声が、複数の音声波形のいずれかに合致すると判定した場合、制御データを特定できたと判断し、いずれにも合致しないと判定した場合、制御データを特定できなかったと判断する。また、コマンド処理部130は、受信した音声をテキスト化して、複数の制御データのそれぞれを表すテキストのいずれかに合致すると判定した場合、制御データを特定できたと判断し、いずれにも合致しないと判定した場合、制御データを特定できなかったと判断してもよい。
【0047】
コマンド処理部130は、制御データを特定できた場合、特定した制御データを、外部デバイス36に対してネットワークインタフェース118に送信させてよい。コマンド処理部130は、制御データを特定できなかった場合、音声取得部112から受信した音声を示す音声データを、ローカルウェイクワードに対応するプラットフォーム200に対して、ネットワークインタフェース118に送信させてよい。
【0048】
図6は、制御コマンドテーブル300の一例を概略的に示す。制御コマンドテーブル300は、登録デバイス欄302、接続先アドレス欄304、対応操作欄306、操作対応音声データ欄308、及びコマンド欄310を含む。
【0049】
登録デバイス欄302には、制御対象のデバイスを識別する情報が登録される。接続先アドレス欄304には、接続先となる制御対象のデバイスのアドレスが登録される。アドレスは、IPアドレス及びMACアドレス等、制御対象のデバイスを特定することができればどのようなアドレスであってもよい。
【0050】
対応操作欄306には、制御対象のデバイスに対する操作内容が登録される。操作対応音声データ欄308には、対応操作欄306に登録された操作内容に対応する音声データが登録される。音声データとしては、音声波形が登録されてよい。コマンド欄310には、対応操作欄306に登録された操作内容を、制御対象のデバイスに実行させるためのコマンドが登録される。
【0051】
図7は、プラットフォーム200の機能構成の一例を概略的に示す。プラットフォーム200は、音声認識エンジン252、アプリケーションインタフェース部254、音声合成エンジン256、及びアプリケーション群260を備える。
【0052】
音声認識エンジン252は、送信制御装置100から受信した音声データに音声認識処理を施して、音声データをテキストデータに変換する。音声認識エンジン252は、変換したテキストデータをアプリケーションインタフェース部254に送信する。
【0053】
アプリケーションインタフェース部254は、音声認識エンジン252から受信したテキストデータの解析結果に基づいて、アプリケーション群260からアプリケーション262を選択し、選択したアプリケーション262に対してリクエストを送信する。リクエストを受信したアプリケーション262は、リクエストに対するレスポンスをアプリケーションインタフェース部254に送信する。アプリケーションインタフェース部254は、受信したレスポンスを音声合成エンジン256に送信する。
【0054】
音声合成エンジン256は、アプリケーションインタフェース部254から受信したレスポンスに音声合成処理を施して、音声データを生成する。そして、音声合成エンジン256は、生成した音声データを送信制御装置100に送信する。
【0055】
アプリケーションインタフェース部254から受信したリクエストに対して、アプリケーション262が、外部デバイス36を制御する制御データをアプリケーションインタフェース部254に送信した場合、アプリケーションインタフェース部254は、当該制御データを送信制御装置100又は外部デバイス36に対して送信してよい。また、アプリケーション262が、アプリケーションインタフェース部254を介さずに、制御データを送信制御装置100又は外部デバイス36に対して送信してもよい。
【0056】
図8は、送信制御装置100による処理の流れの一例を概略的に示す。
図8に示す処理は、プラットフォーム210に対応する第1ウェイクワード及びプラットフォーム220に対応する第2ウェイクワードが登録されている状態で、送信制御部116が送信先を設定するまでの処理の流れを示す。
図8に示す各処理は、送信制御装置100が備える制御部が主体となって実行される。
【0057】
ステップ102(ステップをSと省略して記載する場合がある。)では、音声取得部112が、マイク102から入力された音声を取得する。S104では、音声判断部114が、S102において取得された音声に第1ウェイクワードが含まれるか否かを判断する。含まれると判断された場合、S106に進み、含まれないと判断された場合、S108に進む。S106では、送信制御部116が、音声データの送信先をプラットフォーム210に設定する。
【0058】
S108では、音声判断部114が、S102において取得された音声に第2ウェイクワードが含まれるか否かを判断する。含まれると判断された場合、S110に進み、含まれないと判断された場合、S102に戻る。S110では、送信制御部116が、音声データの送信先をプラットフォーム220に設定する。そして、処理を終了する。
【0059】
図9は、送信制御装置100による処理の流れの一例を概略的に示す。
図9に示す処理は、プラットフォーム210に対応する第1ウェイクワード及びローカルウェイクワードが登録されており、かつ、ローカルウェイクワードに対してプラットフォーム220が対応付けられている状態で、送信制御装置100が音声の入力を受け付けた場合の処理の流れを示す。
図9に示す各処理は、送信制御装置100が備える制御部が主体となって実行される。
【0060】
S202では、音声取得部112が、マイク102から入力された音声を取得する。S204では、音声判断部114が、S202において取得された音声に第1ウェイクワードが含まれるか否かを判断する。含まれると判断された場合、S206に進み、含まれないと判断された場合、S208に進む。S206では、送信制御部116が、第1ウェイクワードの入力後に入力された音声を示す音声データをネットワークインタフェース118に、プラットフォーム210に対して送信させる。
【0061】
S208では、音声判断部114が、S202において取得された音声にローカルウェイクワードが含まれるか否かを判断する。含まれると判断された場合、S210に進み、含まれないと判断された場合、S202に戻る。S210では、コマンド処理部130が、ローカルウェイクワードの入力後に入力された音声に基づいて制御データを特定できるかを判断する。特定できると判断された場合、S212に進み、特定できないと判断された場合、S214に進む。
【0062】
S212では、コマンド処理部130によって特定された制御データを、ネットワークインタフェース118が外部デバイス36に対して送信する。S214では、ネットワークインタフェース118が、ローカルウェイクワードの入力後に入力された音声を示す音声データをプラットフォーム220に送信する。
【0063】
S216では、終了指示が有ったか否かを判定する。終了指示がなかったと判定された場合、S202に戻り、終了指示があったと判定された場合、処理を終了する。
【0064】
図10は、送信制御装置100として機能するコンピュータ1000の一例を概略的に示す。本実施形態に係るコンピュータ1000は、ホストコントローラ1092により相互に接続されるCPU1010、及びRAM1030を有するCPU周辺部と、入出力コントローラ1094によりホストコントローラ1092に接続されるROM1020、通信I/F1040、ハードディスクドライブ1050、及び入出力チップ1080を有する入出力部を備える。
【0065】
CPU1010は、ROM1020及びRAM1030に格納されたプログラムに基づいて動作し、各部の制御を行う。通信I/F1040は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信I/F1040は、通信を行うハードウエアとして機能する。ハードディスクドライブ1050は、CPU1010が使用するプログラム及びデータを格納する。
【0066】
ROM1020は、コンピュータ1000が起動時に実行するブート・プログラム及びコンピュータ1000のハードウエアに依存するプログラムなどを格納する。入出力チップ1080は、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ1094へと接続する。
【0067】
RAM1030を介してハードディスクドライブ1050に提供されるプログラムは、ICカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1030を介してハードディスクドライブ1050にインストールされ、CPU1010において実行される。
【0068】
コンピュータ1000にインストールされ、コンピュータ1000を送信制御装置100として機能させるプログラムは、CPU1010などに働きかけて、コンピュータ1000を、送信制御装置100の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ1000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である音声取得部112、音声判断部114、送信制御部116、音声出力部120、及びコマンド処理部130として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の送信制御装置100が構築される。
【0069】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0070】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。