(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】音声コマンド処理回路、受信装置、リモコンおよびシステム
(51)【国際特許分類】
G10L 15/28 20130101AFI20240813BHJP
H04N 21/439 20110101ALI20240813BHJP
H04N 21/432 20110101ALI20240813BHJP
G10L 15/10 20060101ALI20240813BHJP
G10L 15/00 20130101ALI20240813BHJP
G10L 15/30 20130101ALI20240813BHJP
G06F 3/16 20060101ALI20240813BHJP
【FI】
G10L15/28 500
H04N21/439
H04N21/432
G10L15/10 200W
G10L15/00 200D
G10L15/00 200G
G10L15/30
G06F3/16 630
(21)【出願番号】P 2021008062
(22)【出願日】2021-01-21
【審査請求日】2023-01-13
(73)【特許権者】
【識別番号】000214984
【氏名又は名称】TVS REGZA株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】石丸 大
(72)【発明者】
【氏名】入江 祐司
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2014-071449(JP,A)
【文献】特開2019-212302(JP,A)
【文献】特開2020-046564(JP,A)
【文献】米国特許出願公開第2015/0287413(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00
H04N 21/40
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
音声データを取得する音声データ受信手段と、
前記音声データを音声認識して認識結果を出力する音声認識手段と、
装置を制御するための音声コマンドの情報と前記音声コマンドが実行する前記装置内部の制御コマンドであるローカルコマンドの情報とが紐づけられたローカル音声コマンドデータベースに、前記認識結果に相当する前記音声コマンドがあるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいてサーバから前記ローカル音声コマンドデータベースの情報を取得するサーバデータ受信手段とを備え、
前記判定手段が、前記認識結果に相当する音声コマンドが前記ローカル音声コマンドデータベースにないと判定した場合、
前記サーバデータ受信手段は、前記音声データを前記サーバに認識させるための音声認識要求を前記音声データとともに前記サーバに出力し、前記サーバによる前記音声データの音声認識の結果であるサーバ認識結果と前記サーバ認識結果に紐づけられたローカルコマンドとを含むサーバコマンド情報を受信し、
前記判定手段の判定結果に基づいて前記ローカルコマンドの情報を出力するローカルコマンド処理手段と、
前記ローカルコマンドの情報と前記サーバ認識結果とを前記ローカル音声コマンドデータベースに格納したり、前記ローカル音声コマンドデータベースからデータを取り出したりするデータベース操作手段と、
前記サーバコマンド情報をサーバ情報データベースに格納したり、前記サーバ情報データベースからデータを取り出したりするデータサーバ情報操作手段と、
前記サーバ情報データベースにおいて、1つのローカルコマンドに複数のサーバ認識結果が紐づけられている場合に、あらかじめ与えられた抽出条件に基づいて、前記複数のサーバ認識結果から少なくとも1つのサーバ認識結果を選択する抽出手段とを備え、
前記データベース操作手段は、前記抽出手段によって選択された少なくとも1つのサーバ認識結果を前記ローカルコマンドと紐づけて前記ローカル音声コマンドデータベースに格納する音声コマンド処理回路。
【請求項2】
音声データを取得する音声データ受信手段と、
装置を制御するための音声コマンドの情報と前記音声コマンドが実行する前記装置内部の制御コマンドであるローカルコマンドの情報とを紐づけてローカル音声コマンドデータベースに格納するデータベース操作手段と、
前記音声データをサーバに認識させるための音声認識要求を前記サーバへ出力し、前記サーバによる前記音声データの音声認識の結果であるサーバ認識結果と前記サーバ認識結果に紐づけられたローカルコマンドとを含むサーバコマンド情報を受信するサーバデータ受信手段と、
前記サーバコマンド情報をサーバ情報データベースに格納したり、前記サーバ情報データベースからデータを取り出したりするデータサーバ情報操作手段とを備え、
前記サーバ情報データベースにおいて、1つのローカルコマンドに複数のサーバ認識結果が紐づけられている場合に、あらかじめ与えられた抽出条件に基づいて、前記複数のサーバ認識結果から少なくとも1つのサーバ認識結果を選択する抽出手段を備え、
前記データベース操作手段は、前記抽出手段によって選択された少なくとも1つのサーバ認識結果を前記ローカルコマンドと紐づけて前記ローカル音声コマンドデータベースに格納し、
前記音声データを音声認識して認識結果を出力する音声認識手段と、
前記ローカル音声コマンドデータベースに、前記認識結果に相当する前記音声コマンドがあるか否かを判定する判定手段とを備え、
前記サーバデータ受信手段は、前記判定手段の判定結果に基づいて前記サーバから前記サーバコマンド情報を取得し、
前記判定手段の判定結果に基づいて前記ローカルコマンドの情報を出力するローカルコマンド処理手段を備え、
前記判定手段が、前記認識結果に相当する音声コマンドが前記ローカル音声コマンドデータベースにないと判定した場合、
前記サーバデータ受信手段は、前記音声データを前記サーバに認識させるための音声認識要求を前記音声データとともに前記サーバに出力し、前記サーバによる前記音声データの音声認識の結果であるサーバ認識結果と前記サーバ認識結果に紐づけられたローカルコマンドとを含むサーバコマンド情報を受信し、
前記判定手段が、前記認識結果に相当する音声コマンドが前記ローカル音声コマンドデータベースにあると判定した場合、
前記ローカルコマンド処理手段は、前記ローカル音声コマンドデータベースにある前記音声コマンドに紐づけられたローカルコマンドの情報を出力する音声コマンド処理回路。
【請求項3】
前記サーバ情報データベースに格納されているサーバ認識結果に相当する音声コマンドの受信回数をカウントする音声コマンド受信カウント手段を備え、
前記抽出条件は、前記音声コマンドの受信回数に基づいて決定される請求項1または請求項2に記載の音声コマンド処理回路。
【請求項4】
前記判定手段の判定結果に基づいて前記ローカルコマンドの情報を出力するローカルコマンド処理手段とを備える請求項3に記載の音声コマンド処理回路。
【請求項5】
デジタルコンテンツを受信する受信手段と、
ユーザに前記デジタルコンテンツを提示する提示手段と、
ユーザの発話する音声を受波し音声データを出力する音声集音手段と、
請求項1乃至請求項3のいずれか1項に記載の音声コマンド処理回路と、
前記音声コマンド処理回路が出力するローカルコマンドの情報に基づいて制御対象を動作させる制御手段とを備える受信装置。
【請求項6】
ユーザの発話する音声を受波し音声データを出力する音声集音手段と、
請求項1乃至請求項3のいずれか1項に記載の音声コマンド処理回路と、
制御対象である受信装置とデータ通信をする通信手段を備えるリモコン。
【請求項7】
請求項5に記載の受信装置と、
音声データと前記音声データを音声認識する要求とを受信する通信手段と、
受信装置内部の制御コマンドであるローカルコマンドの情報が格納された受信装置データ格納手段と、
前記音声認識する要求に従って、前記音声データを音声認識して得た認識結果を出力する音声認識処理手段と、
自然言語処理により前記認識結果に対する複数のローカルコマンドを前記受信装置データ格納手段から特定するローカルコマンド特定手段とを備え、
前記ローカルコマンド特定手段は、前記複数のローカルコマンドから1つの第1ローカルコマンドを選択し、
前記通信手段は、前記第1ローカルコマンドと前記認識結果とを含めたサーバデータ情報を出力するサーバと、を含む音声コマンドの蓄積システム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、音声コマンド処理回路、受信装置、リモコン、サーバ、システム、方法およびプログラムに関する。
【背景技術】
【0002】
近年、音声認識技術を利用して、人が発した音声コマンドで遠隔制御ができる家電装置が普及している。デジタル放送のテレビ受信装置においては、特定発話パタンなど比較的容易な音声認識をテレビ受信装置の内部(ローカル)で実施し、文法理解や自然言語処理などを要する複雑な任意の発話についてはクラウドサーバなど外部のサーバの音声認識を組み合わせることで高度な音声認識を実現している。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2015-535952号公報
【文献】特表2019-15952号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ユーザがより自然な言語に近い形で自由に音声コマンドを発するためには、自然言語処理など高度な機能を備えた外部のサーバが常に必要となる。
【0005】
本発明が解決しようとする課題は、ローカルで処理できる音声コマンドを増やすことのできる音声コマンド処理回路、受信装置、リモコン、サーバ、システム、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
一実施形態に係る音声コマンド処理回路は、音声データを取得する音声データ受信手段と、装置を制御するための音声コマンドの情報と前記音声コマンドが実行する前記装置内部の制御コマンドであるローカルコマンドの情報とを紐づけてローカル音声コマンドデータベースに格納するデータベース操作手段と、前記音声データをサーバに認識させるための音声認識要求を前記サーバへ出力し、前記サーバによる前記音声データの音声認識の結果であるサーバ認識結果と前記サーバ認識結果に紐づけられたローカルコマンドとを含むサーバコマンド情報を受信するサーバデータ受信手段と、前記サーバコマンド情報をサーバ情報データベースに格納したり、前記サーバ情報データベースからデータを取り出したりするデータサーバ情報操作手段とを備え、前記サーバ情報データベースにおいて、1つのローカルコマンドに複数のサーバ認識結果が紐づけられている場合に、あらかじめ与えられた抽出条件に基づいて、前記複数のサーバ認識結果から少なくとも1つのサーバ認識結果を選択する抽出手段を備え、前記データベース操作手段は、前記抽出手段によって選択された少なくとも1つのサーバ認識結果を前記ローカルコマンドと紐づけて前記ローカル音声コマンドデータベースに格納する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係るシステムの構成例を示す機能ブロック図である。
【
図2】
図2は、実施形態に係る受信装置の構成例を示す機能ブロック図である。
【
図3】
図3は、実施形態に係る音声コマンド処理部の構成例を示す機能ブロック図である。
【
図4】
図4は、実施形態に係るサーバ装置の構成例を示す機能ブロック図である。
【
図5】
図5は、第1の実施形態に係る音声コマンド処理部が処理可能な音声コマンドの例を示す図である。
【
図6】
図6は、同第1の実施形態に係る音声コマンド処理部による音声信号の処理動作例を示すフローチャートである。
【
図7】
図7は、同第1の実施形態に係る受信装置のローカル音声コマンドデータベース部におけるデータベースの一例を示す図である。
【
図8】
図8は、同第1の実施形態に係る音声コマンド処理部がローカル音声データを作成する処理動作例を示すフローチャートである。
【
図9】
図9は、同第1の実施形態に係る音声コマンド処理部に格納されるローカル音声データの一例である。
【
図10】
図10は、同第1の実施形態に係るサーバ装置による音声データの処理動作例を示すフローチャートである。
【
図11】
図11は、同第1の実施形態に係るサーバ装置に格納されるデータベースの一例である。
【
図12】
図12は、同第1の実施形態に係る音声コマンド処理部が、複数のユーザから受信した音声コマンドを処理するためのデータベースの一例である。
【
図13】
図13は、同第1の実施形態に係る音声コマンド処理部が処理可能な音声コマンドの例を示す図である。
【
図14】
図14は、第2の実施形態に係る音声コマンド処理部に格納されたサーバコマンド情報の例である。
【
図15】
図15は、第3の実施形態に係る音声コマンド処理部に格納されるデータベースの例である。
【
図16】
図16は、同第3の実施形態に係るサーバ装置が、複数のサーバコマンドから選択して音声コマンド処理部にサーバコマンドを送信する際の処理動作例を示すフローチャートである。
【
図17】
図17は、変形例に係るシステムの構成例を示す機能ブロック図である。
【発明を実施するための形態】
【0008】
以下、実施の形態について図面を参照して説明する。
【0009】
図1は、実施形態に係るシステムの構成例を示す機能ブロック図である。
【0010】
受信装置1は、デジタルコンテンツを視聴するための受信装置であり、例えば、2Kまたは4K/8Kといった地上波放送、衛星放送などのデジタル放送を受信し視聴可能なテレビの受信装置(テレビ装置、テレビジョン受信装置、放送信号受信装置とも称される)である。デジタル放送から入手したデジタルコンテンツを放送番組と称することもある。
【0011】
受信装置1は、CPUやメモリ、DSP(Digital Signal Processor)などのデジタル信号処理手段を備えていてもよく、音声認識技術を用いた制御が可能である。例えば、ユーザが音声によりコマンドを発すると、音声は受信装置1のマイクロフォン(以降、マイクと称する場合もある)など音声集音機能により受波され、音声コマンド処理部2において、音声認識技術などによりコマンドが取り出され、取り出されたコマンドにより受信装置1の各種機能が制御される。また、本実施形態における受信装置1は、リモートコントローラ10(以降、リモコン10と称する場合もある)からの制御も可能であってもよい。具体的には、電源のオンオフなど通常のリモコン機能の他、例えばユーザの音声をリモコン10に付属のマイクが受波し、リモコン10が受信装置1に音声データとしてユーザの音声を送信する。受信装置1は、受信した音声データから、例えば音声認識技術によりコマンドを取り出し、受信装置1の各種機能を制御する。本実施形態における受信装置1は、取り出したコマンドに基づいて生成した制御信号を、記録再生部19へ出力し、記録再生部19を制御する。
【0012】
また、受信装置1は、例えばインターネットなどのネットワーク5に接続するための通信機能を備え、ネットワーク5に接続される各種サーバ(クラウドにより構築されたサーバも含んでよい)とデータのやり取りをすることが可能である。例えば、ネットワーク5に接続される図示せぬコンテンツサーバ装置からデジタルコンテンツを入手することもできる。コンテンツサーバ装置から入手したデジタルコンテンツをネットコンテンツと称することもある。
【0013】
音声コマンド処理部2は、CPUやメモリ、DSPなどのデジタル信号処理手段を備えていてもよく、音声認識技術などの機能を備えている。音声コマンド処理部2により、ユーザが発した音声からコマンドを取り出して受信装置1の内部機能を制御することができる。音声コマンドとは、ユーザが受信装置1を制御するために音声により受信装置1に入力するコマンドである。音声コマンドが、受信装置1の機能を制御するため内部コマンド(以降、ローカルコマンドと称する場合もある)と紐づけられていれば、受信装置1が音声コマンドを受信することで、受信装置1の機能を制御することができる。例えば、受信装置1のスピーカが出力する音量を大きくするための「音量上げて」といった音声コマンドが受信装置1のローカルコマンド(例えばvolume_upとする)に紐づけられていると、ユーザが「音量上げて」と受信装置1に向かって発すると、受信装置1はvolume_upを実行し、受信装置1のスピーカの音量が大きくなる。ここで、スピーカの音量を大きくするための音声コマンドとしては、「音量上げて」だけでなく、例えば「音上げて」、「ボリュームアップ」、「ボリューム上げて」など様々なバリエーションが考えられる。本実施形態の音声コマンド処理部2は、こうしたバリエーションを同じローカルコマンド(volume_up)に紐づけるために、自然言語処理を使用することもできる。
【0014】
なお、
図1には受信装置1がネットワーク5に一つのみ接続されている例を示しているが、ネットワーク5に複数の受信装置1が接続されていてもよい。また複数の受信装置1は、それぞれ同一の機能を備えている必要はなく、メーカども限定されることはない。
【0015】
サーバ装置3は、ネットワーク5上に設置される音声認識が可能なサーバであり、例えばCPUやメモリなどを有したコンピュータを含み、DSPなどのデジタル信号処理手段などを備えていてもよい。サーバ装置3は、クラウドサーバとして構築されることでもよい。サーバ装置3は、音声認識技術を備えている。サーバ装置3は音声認識が可能であり、受信装置1のマイクなどが受波したユーザの音声のデジタルデータである音声データを、ネットワーク5を介して受信し、ユーザの発した音声を推定もしくは認識し、認識した音声をテキストデータ(認識音声データと称する場合もある)として出力する。音声認識技術については、一般的な技術であり、詳細の説明は省略する。
【0016】
またサーバ装置3は自然言語処理が可能であり、上記した「音上げて」、「ボリュームアップ」、「ボリューム上げて」などの言葉から、言葉の意味に沿った受信装置1のローカルコマンドを取り出すことができる。すなわちサーバ装置3において自然言語処理を利用することで、ユーザは特定の音声コマンドだけでなく、任意の言葉を音声コマンドとすることができる。例えばユーザは「音上げて」、「ボリュームアップ」、「ボリューム上げて」などの言葉を発することで、サーバ装置3を介して受信装置1のローカルコマンド(volume_up)を実行し、スピーカの音を大きくすることができる。なお、サーバ装置3の機能を受信装置1に備えることも可能であるが、自然言語処理はビッグデータなどの大容量データを利用することで性能改善につながることから、クラウドなどにより構築されたサーバ装置3に備えることが望ましい。
【0017】
また、サーバ装置3は受信装置1のローカルコマンドなどの情報の他、受信装置1のさまざまな情報の入手が可能である。
【0018】
ネットワーク5は、受信装置1、サーバ装置3などが接続されて通信可能となるネットワークであり、例えば、インターネットである。また、ネットワーク5はインターネットだけとは限らず、各装置が通信可能であれば、有線無線に関わらず複数の異なるネットワークを含むネットワークでもよい。
【0019】
リモコン10は、受信装置1を遠隔制御するためのリモートコントローラである。本実施形態におけるリモコン10は、例えばユーザが発する音声を受波できるマイクなどの音声集音機能を備えていてよい。また、リモコン10は、受信した音声データを外部送信するための例えば、BlueTooth(登録商標)、WiFi(登録商標)などのインターフェース機能を備えていてもよい。
【0020】
図2は、実施形態に係る受信装置の構成例を示す機能ブロック図である。
チューナ11は、アンテナやケーブル放送などから所望の周波数帯の電波を受信し、復調処理などにより放送信号(デジタルデータ)を得て、出力する。
【0021】
放送信号受信処理部12は、チューナ11から受信した放送信号を、デジタル放送の規格に応じ処理し、映像、音声、文字などのコンテンツデータを取得し出力する。例えば、デジタル放送の規格としては、2Kデジタル放送にて採用されているMPEG2 TS方式や、4K/8Kデジタル放送にて採用されているMPEG Media Tranport方式(MMT方式)などでもよく、複数のチューナにより双方に対応していてもよい。デジタル放送の規格に応じた処理としては、チューナ11から入力されるデジタルデータを、映像、音声、文字などのコンテンツデータのデジタルデータストリームに分離するデマルチプレクシング処理、誤り訂正符号復号処理、暗号化されたデータを復号する暗号復号化処理、各コンテンツデータに対して施された符号化(映像符号化、音声符号化、文字符号化など)に対する復号化処理などを含む。
【0022】
通信部13は、ネットワーク5に接続されてネットワーク5上の各種サーバ及び装置と通信をする。具体的には、例えばTCP/IP、UDP/IPといった予め決められた通信規約などに応じた送受信処理によりデジタルデータをやり取りする。
【0023】
コンテンツ処理部14は、例えばネットワーク5に接続された図示せぬコンテンツサーバが提供するコンテンツデータを、通信部13を介して受信する。コンテンツ処理部14は、通信部13を介して受信したデータに対して、コンテンツサーバが施した符号化処理に対する復号化処理などを実施し、映像、音声、文字などのコンテンツデータを取得し、出力する。より具体的には、コンテンツ処理部14は、復号化処理として、例えば、デマルチプレクシング処理(分離処理)、誤り訂正符号復号処理、符号化されたコンテンツデータ(映像、文字、音声など)に対する復号化処理などを実施することでもよい。
【0024】
提示制御部15は、放送信号受信処理部12やコンテンツ処理部14、また記録再生部19が出力するコンテンツデータに対して出力タイミング、表示方法などを調整し、出力する。記録再生部19に記録されるデータ内容によっては、記録再生部19から出力されるデータに対して、デマルチプレクシング処理(分離処理)、誤り訂正符号復号処理、符号化されたコンテンツデータ(映像、文字、音声など)に対する復号化処理などを施した後に提示制御部15に入力することでもよい。
【0025】
提示部16は、例えば、映像や文字を表示するモニタや音声を出力するスピーカなどである。提示部16は、提示制御部15が出力したコンテンツデータを映像、文字、音声などとして出力する。ユーザは、提示部16が出力する映像、文字、音声などを視聴することにより、放送信号や図示せぬコンテンツサーバによって提供されるデジタルコンテンツを視聴する。
【0026】
制御部17は、受信装置1の各機能を制御する。具体的には、制御部17は、インターフェース部18や音声コマンド処理部2などから各種コマンド信号を受信し、受信した各種コマンド信号に基づいて受信装置1の各機能を制御するための制御信号を出力する。例えば、ユーザが放送信号によるコンテンツを視聴するか、コンテンツサーバからのコンテンツを視聴するかをリモコン10から指定した場合に、制御部17は、インターフェース部18を介してリモコンからのコマンド信号を受信し、受信装置1の機能を制御し、ユーザが指定した動作をさせる。なお、
図2において、制御部17との間で特に結線をしていない機能ブロックとの間においてもデータのやり取りを行うことにしてもよい。
【0027】
インターフェース部18は、リモコン10などからコマンド信号を受信したり、制御部17などから外部装置へ制御信号を出力したりするためのインターフェースである。例えば、インターフェース部18は、受信装置1の図示せぬスイッチやリモコン10などからコマンド信号を受信し、コマンド信号を受信装置1の制御部17へ出力する。リモコン10のかわりに図示せぬスマートフォンなどの端末からコマンド信号を受信するインターフェースを有してもよい。また、インターフェース部18は外部装置と接続するためのインターフェースを有しており、例えば、受信装置1と外付けの記録再生装置を接続するためのインターフェースであってもよい。
【0028】
また本実施形態におけるインターフェース部18は、受信装置1の外部から音声を受波するための例えばマイクを含む。インターフェース部18は、マイクで受波した音声をAnalog―Digital変換(A/D変換)などによりデジタル化された音声デジタルデータ(音声データと称する場合もある)として出力してもよい。
【0029】
記録再生部19は、例えば、ディスクプレーヤやHDDレコーダであり、例えば放送信号やインターネットなどから受信される音声や映像などのコンテンツ―データを記録して、再生することが可能である。なお、
図1に示される記録再生部19は、受信装置1に内蔵されている例を示すが、受信装置1に接続される外部装置であってもよく、例えばコンテンツデータの録画及び再生ができるSet Top Box(STB)、音声プレーヤ、PCなどであってもよい。
【0030】
データ格納部101は、例えばメモリであり、各種データを格納するためのデータベースであってもよい。データ格納部101は、受信装置1の視聴情報や視聴情報から得られた解析結果や型番や各種機能性能など受信装置1に固有の情報(受信装置データと称する場合もある)を格納する。
【0031】
音声コマンド処理部2は、インターフェース部18から受信した音声データをサーバ装置3へ通信部13を介して出力し、サーバ装置3からローカルコマンドデータに係る情報を受信する。また、本実施形態の音声コマンド処理部2は、サーバ装置3から入手したローカルコマンドデータに係る情報に基づいて制御信号を生成し、生成した制御信号を制御部17などに出力する。
【0032】
図3は、実施形態に係る音声コマンド処理部の構成例を示す機能ブロック図である。
【0033】
音声認識部21は、インターフェース部18から入力される音声データから、音声認識を実施し、テキストデータを出力する。音声認識技術においては、通常、hidden malkov model(HMM:隠れマルコフモデル)という方法を用いるが、文章の「文字列」を対象にHMMを適用する特定文字列認識方式と、文章の「1文字」ごとにHMMを適用する文字起こし方式との2つの方式がある。本実施形態においては、双方の方式の適用が可能である。音声認識部21は、文字起こし方式の場合は任意の文字列の検出が可能であり、特定文字列認識方式の場合は随時その認識対象文字列を変更したり、増やしたりすることが可能である。
【0034】
判定部22は、音声認識部21が出力するテキストデータが、ローカル音声コマンドデータベース部27に格納されているか否かを確認する。判定部22は、テキストデータに相当する音声コマンドのデータ(ローカル音声コマンドのデータ)があることを確認した場合、確認したローカル音声コマンドを音声コマンドとみなし、音声コマンドに紐づけられたローカルコマンドを実行させるための制御信号などを制御部17に出力する。ローカル音声コマンドとは、受信装置1のローカルコマンドに紐づけられて、ローカル音声コマンドデータベース部27に格納されている音声コマンドである。なお例えば、音声認識を起動させるためのウェイクアップ音声などをローカル音声コマンドとして受信装置1にあらかじめ備えられていてもよい。
【0035】
ローカルコマンド処理部23は、判定部22の制御信号に基づいて、ローカル音声コマンドと紐づいているローカルコマンドや、サーバデータ取得部24から取得したサーバコマンド情報に紐づいているローカルコマンドなどを制御部17に出力する。
【0036】
サーバデータ取得部24は、サーバ装置3に対してサーバコマンド情報を要求し、サーバ装置3からサーバコマンド情報を受信する。サーバコマンド情報は、ローカル音声コマンドを生成するための情報であり、サーバ装置3が、入力された音声データもしくはその音声データを音声認識して得た音声コマンドに基づいて選択した受信装置1のローカルコマンドを含む。
【0037】
サーバコマンドデータベース部25は、例えばメモリであり、サーバ装置3から受信したサーバコマンド情報などを格納するデータベースであってよい。
【0038】
ローカル音声コマンド生成部26は、サーバコマンドデータベース部25に格納されているサーバコマンド情報からローカル音声コマンドの情報を生成する。ローカルコマンド処理部26は、ローカル音声コマンドを生成する際に、音声コマンドの使用頻度や、コマンド処理の優先度などを考慮することでもよい。音声コマンドの使用頻度は、例えばサーバコマンドデータベース部25などに登録されている音声コマンドを音声認識部21が受信もしくは認識する度にカウントされる値としてもよい。
【0039】
高頻度フィルタ261は、ローカル音声コマンド生成部26がサーバコマンド情報からローカル音声コマンドを生成する際に用いるフィルタである。具体的には、高頻度フィルタ261は、例えば音声認識部21がサーバコマンドデータベース部25などに登録されている音声コマンドを受信する度に、音声コマンドごとに取得頻度(使用頻度)をカウントする。高頻度フィルタ261は、カウント情報をサーバコマンドデータベース部25もしくはローカル音声コマンドデータベース部27などに格納保存する。高頻度フィルタ261は、カウントした使用頻度に基づいてサーバコマンドデータベース部25のデータから少なくとも1つのローカル音声コマンドの情報を抽出する。高頻度フィルタ261によって抽出された音声コマンドは、ローカル音声コマンドとしてローカルコマンドに紐づけられてローカル音声コマンドデータベース部27に格納される。
【0040】
ローカル音声コマンドデータベース部27は、例えばメモリであり、ローカル音声コマンド生成部26が出力したローカル音声コマンドや紐づけられたローカルコマンドなどを含む情報が格納されるデータベースであってよい。
【0041】
図4は、実施形態に係るサーバ装置の構成例を示す機能ブロック図である。
【0042】
通信部31は、受信装置1、サーバ装置3などネットワーク5上の装置などとデータ通信をするためのインターフェースであり、例えばTCP/IP、UDP/IPといったプロトコルを備えている。
【0043】
制御部32は、サーバ装置3内の各種機能を制御する。通信部31を介して外部装置から各種制御信号などの各種データを受信し、必要に応じて解析、加工し、サーバ装置3内部の各機能ブロックに出力する。また、サーバ装置3内部の各機能ブロックから各種データを受信し、必要に応じてデータのブロック化、フォーマット化などを行い、通信部31へ出力する。
【0044】
テキスト変換部33は、例えばユーザが発した音声データを音声認識し、認識した音声をテキストデータ(認識音声データと称する場合もある)として出力する。受信装置1の音声認識部21と同様の機能であってもよい。
【0045】
自然言語処理部34は、テキスト変換部33から入力されたテキストデータに対して自然言語処理を実施し、テキストデータが意味する処理に相当するサーバコマンド(ローカルコマンドに相当)を生成または選択する。自然言語処理においては、テキストデータの文章の構成や意味が解析され、例えば、サーバ装置3のサーバコマンドデータ格納部382などに格納されている音声コマンドや受信装置1のローカルコマンドなどのデータ群からテキストデータに類似のデータを抽出する。
【0046】
サーバコマンド生成部35は、テキスト変換部33が出力するテキストデータ(音声コマンドに相当)と、そのテキストコマンドに対して自然言語処理部34によって抽出された受信装置1のローカルコマンドとを紐づけたサーバコマンド情報を作成する。自然言語処理部34によって抽出された受信装置1のローカルコマンドをサーバコマンドと称することもある。
【0047】
応答音声生成部36は、入力されたテキストコマンドが、受信装置1のスピーカから音声によってフレーズを出力させるような音声コマンドである場合に、例えば、そのフレーズの音声データを生成することでもよい。音声データを生成するために音声合成などの処理を備えていてもよい。例えば、サーバコマンド生成部35は、「スピーカから音声を出力させるための受信装置1のローカルコマンド」を抽出した場合に、抽出したローカルコマンドとともに応答音声生成部36が生成した「フレーズの音声データ」などを含めたサーバコマンド情報を生成することでもよい。受信装置1は、サーバコマンド生成部35が生成したサーバコマンド情報を受信すると、提示部16のスピーカから「フレーズの音声データ」が出力され、音声としてユーザに提示されることでもよい。受信装置1は、受信した「スピーカから音声を出力させるための受信装置1のローカルコマンド」とともに、受信した「フレーズの音声データ」を紐づけてローカル音声コマンドデータベース部27に格納することでもよい。すなわち音声情報である「フレーズの音声データ」をローカルコマンドに紐づけてデータベースに格納する。これにより音声コマンド処理部2は、ユーザから音声コマンドを受信すると、ローカル音声コマンドデータベース部27にて音声コマンドに紐づけられたローカルコマンド「スピーカからフレーズ1を音声として出力」を実行し、ローカルコマンドに紐づけられたフレーズ1「フレーズの音声データ」を提示部16のスピーカから出力させることができる。
【0048】
また、音声合成の機能は受信装置1側に備えることでもよい。この場合、サーバコマンド生成部35は、抽出した「スピーカから音声を出力させるための受信装置1のローカルコマンド」とともに音声として出力するフレーズのテキストデータを受信装置1に送信する。受信装置1は、受信したフレーズのテキストデータから音声合成などにより音声データを生成し、同時に受信したローカルコマンドに応じた処理を実施する。例えば、受信装置1は、ローカルコマンド「受信したフレーズをスピーカから出力」とともにフレーズのテキストデータ「こんにちは」を受信した場合、「こんにちは」の音声データを生成し、スピーカから出力する。受信装置1は、受信したフレーズのテキストデータをローカルコマンドとともにローカル音声コマンドデータベース部27に保存することでもよい。これにより音声コマンド処理部2は、ユーザから音声コマンドを受信すると、ローカル音声コマンドデータベース部27にて音声コマンドに紐づけられたローカルコマンド「スピーカからフレーズ1を音声として出力」を実行し、ローカルコマンドに紐づけられた「フレーズのテキストデータ」を音声合成などにより音声データにして、提示部16のスピーカから音声として出力させることができる。
【0049】
また、受信装置1、サーバ装置3ともに音声合成の機能を備えている場合、サーバコマンド生成部35は、抽出した「スピーカから音声を出力させるための受信装置1のローカルコマンド」とともに音声として出力するフレーズのテキストデータとその音声データとを受信装置1に送信することでもよい。受信装置1は、ローカルコマンド(サーバコマンド)に応じて音声データを処理してもよいし、テキストデータを音声合成などにより音声データにして処理してもよい。
【0050】
固有データ格納部37は、例えばメモリであり、受信装置1に関するデータを格納するためのデータベースであってもよい。またネットワーク5に複数の受信装置1が接続されて、サーバ装置3を複数の受信装置1で共有する場合には、固有データ格納部37には、複数の受信装置1のデータが受信装置1ごとに格納されることでもよい。固有データ格納部37に格納されるデータは、ネットワーク5を経由して受信装置1から取得されることでもよい。
【0051】
受信装置データ格納部371には、受信装置1から送信された受信装置1に固有情報が格納されており、例えば以下のようなデータが格納されている。
・受信装置1の型番や各種機能性能(録画機能等)
・受信装置1が現在表示中のチャンネル情報(放送番組、録画再生などの外部入力、ネットワーク5などコンテンツの区別も含めてもよい)
・受信装置1が受信可能な放送局の情報(チャンネル番号、放送局名など)
・受信装置1が録画可能な番組の録画予約情報
・受信装置1が録画した録画済みコンテンツ情報
ローカルコマンドデータ格納部372には、受信装置1が固有に備えているローカルコマンドの情報が格納されている。ローカルコマンドの情報は、受信装置1から個々にネットワーク5経由で取得して、受信装置1ごとにローカルコマンドデータ格納部372格納してもよい。またローカルコマンドの情報は、複数の受信装置1が同一の製品である場合は備えられているローカルコマンドが同じであることから、サーバ装置3の管理者がサーバ装置3に直接入力することでもよい。ネットワーク5に接続されたその受信装置1の製品情報を公開している図示せぬ製品情報サーバなどが設置されている場合は、サーバ装置3が製品情報サーバからネットワーク5経由でローカルコマンドの情報を取得することでもよい。
【0052】
共通データ格納部38は、ネットワーク5に複数接続されている受信装置1に共通に使用可能なデータのデータベースであってよい。
【0053】
共通情報データ格納部381には、ネットワーク5に接続されている外部装置などから取得可能なデータのデータベースであってよい。例えば、デジタル放送で視聴可能な番組表の情報などである。番組表などは受信装置1が放送信号から取得可能な場合は、サーバ装置3が受信装置1からネットワーク5経由で番組表を取得することでもよい。
【0054】
サーバコマンドデータ格納部382は、サーバコマンド生成部35が生成したサーバコマンド情報が格納されているデータベースであってもよい。またサーバコマンド生成部35が、サーバコマンド情報を生成する際に、参照データとしてサーバコマンドデータ格納部382のデータベースを利用することでもよい。
【0055】
(第1の実施形態)
本実施形態においては、ユーザから受信した音声データに対してサーバ装置3など外部装置の音声認識を用いて得た音声コマンドを受信装置1に蓄積して、蓄積した音声コマンド(ローカル音声コマンド)によって受信装置1のローカルコマンドを実行する例について説明する。
【0056】
図5は、第1の実施形態に係る音声コマンド処理部が処理可能な音声コマンドの例を示す図であり、行ごとに受信装置1で使用可能な音声コマンド、左の音声コマンドによって実行可能なローカルコマンド、左のローカルコマンドによって受信装置1において実行されるコマンド処理を示している。
【0057】
例えば、No1の行の例では、音声コマンド「電源を入れて」が音声コマンド処理部2で認識されると、ローカルコマンド「power_on」が制御部17に出力され、制御部17が「power_on」を実行することで、コマンド処理「テレビの電源を付ける」が実行される。従って、ユーザが「電源を入れて」と発声すると、テレビ(受信装置1)の電源がONになる。
【0058】
本実施形態においては、1つのローカルコマンドに対して複数の音声コマンドを紐づけることができる。例えば、
図5のNo2、3、4の音声コマンドはローカルコマンド「power_on」に紐づけられており、受信装置1のローカルコマンド「power_on」に対して複数の音声コマンドが使用可能である。No5から8の音声コマンドは、ローカルコマンド「volume_up」に紐づけられており、No5から8の音声コマンドをユーザが発することにより、受信装置1においてコマンド処理「テレビのボリュームを上げる」が実行される例である。
【0059】
以下、図面を用いて、本実施形態の動作を説明する。
【0060】
図6は、同第1の実施形態に係る音声コマンド処理部による音声信号の処理動作例を示すフローチャートである。
【0061】
ユーザが音声コマンドを発すると、インターフェース部18のマイクを通じて、音声データが音声コマンド処理部2に入力される(ステップS101)。音声データは、音声認識部21に入力され、音声認識によりテキストデータに変換される(ステップS102)。テキストデータは判定部22に入力され、判定部22は、ローカル音声コマンドデータベース部27に入力されたテキストデータに相当するローカル音声コマンドがあるかどうかを確認する(ステップS103)。判定部22は、ローカル音声コマンドデータベース部27に入力されたテキストデータに相当するローカル音声コマンドがあると判定した場合、そのローカル音声コマンドに紐づけられているローカルコマンドを制御部17に出力する(ステップS103のYES)。制御部17は、入力されたローカルコマンドを実行する(ステップS104)。ステップS103において、判定部22に入力されたテキストデータとローカル音声コマンドデータベース部27のローカル音声コマンドとが完全に一致した場合をYESとする条件としてもよいし、多少異なっていてもYESとしてもよい。ステップS103における条件はユーザが設定できることでもよい。
【0062】
一方、判定部22はテキストデータに相当するローカル音声コマンドがないと判定した場合、テキストデータを取得した音声データとともに音声コマンド認識要求をサーバデータ取得部24からサーバ装置3に出力する(ステップS105)。サーバデータ取得部24はサーバ装置3からサーバコマンド情報を受信する(ステップS106)。
【0063】
図7は、同第1の実施形態に係る受信装置のローカル音声コマンドデータベース部におけるデータベースの一例を示す図であり、
図7(a)は、行ごとに受信装置1が受信した音声コマンド、左の音声コマンドによって実行可能な受信装置1のローカルコマンド、左のローカルコマンドによって受信装置1において実行されるコマンド処理を示している。一番右のFlagは、サーバ装置3が同行の音声コマンドについて付与するフラグ情報である。例えば、
図7(a)におけるFlagは、同じ行の音声コマンドに対して、条件に基づいてサーバ装置が判断した有効(OK)、無効(NG)を示している。例えば、
図7(a)のNo5やNo9は、サーバ装置3でローカルコマンドに紐づけできなかった音声コマンドを示しており、Flag=NGとしている。Flagを付与するための条件は、上記に限定されることなく任意であり、またFlagの値はOK、NGなど2値で表せる値でなくともよい。なお、サーバ装置3が、入力された音声コマンドをNo5やNo9のようにサーバ側で認識できない(対応するローカルコマンドを見つけられなかった)場合、retryに相当するようなローカルコマンド(サーバコマンド)や、「もう一度話してください」などの応答メッセージを提示させるローカルコマンド(サーバコマンド)を受信装置1に返すことでもよい。受信装置1は、受信したサーバコマンドに応じて、処理を実施したり、ユーザによる命令を待ったりすることでもよい。
【0064】
図6に戻り、ステップS106においてサーバ装置3から受信するサーバコマンド情報は、
図7(a)に示す音声コマンド1行分でもよいし、複数行分であってもよい。
【0065】
例えば、サーバデータ取得部24が、音声コマンド1行分として
図7(a)のNo3のみが含められたサーバコマンド情報を受信した場合について説明する。サーバデータ取得部24は、サーバコマンド情報に含まれるローカルコマンド「power_on」を制御部17に出力して、ローカルコマンド「power_on」を実行させる。また同時にサーバデータ取得部24は、サーバコマンドデータベース部25にNo3のみを含むサーバコマンド情報を出力する。サーバコマンドデータベース部25は入力されたサーバコマンド情報をデータベースに格納する(ステップS107)。ローカル音声コマンド生成部26は、サーバコマンドデータベース部25に格納されたサーバコマンド情報に含まれる音声コマンドが、ローカル音声コマンドデータベース部27にすでに格納されているか否かを確認し、確認されていなければ、サーバコマンド情報に含まれる音声コマンドをローカル音声コマンドとしてローカル音声コマンドデータベース部27に格納する(ステップS108のNO、ステップS109)。
【0066】
図7(b)は、ローカルコマンドごとに頻度を基準として1つずつ抽出した場合のローカル音声コマンドのデータを示している。
図7(b)は、No3のローカルコマンド「power_on」に対するローカル音声コマンドとして「テレビが見たい」が選択され、No2のローカルコマンド「volume_up」に対するローカル音声コマンドとして「ボリュームアップ」が選択された例を示している。
【0067】
また、サーバコマンドデータベース部25に格納されているデータベースから音声コマンドの使用頻度を利用してローカル音声コマンドデータベース部27のデータベースを作成することもできる。
【0068】
図8は、同第1の実施形態に係る音声コマンド処理部がローカル音声データを作成する処理動作例を示すフローチャートである。
図7(a)のデータがサーバコマンドデータベース部25に格納されているものとする。ユーザが音声コマンドを発すると、インターフェース部18のマイクを通じて、音声データが音声コマンド処理部2に入力される(ステップS121)。音声データは、音声認識部21に入力され、音声認識によりテキストデータに変換される(ステップS122)。テキストデータは高頻度フィルタ261に入力され、高頻度フィルタ261は、サーバコマンドデータベース部27に入力されたテキストデータに相当する音声コマンドがあるかどうかを確認する(ステップS123)。高頻度フィルタ261は、テキストデータに相当する音声コマンドをサーバコマンドデータベース部27に見つけた場合、その音声コマンドに対して使用頻度としてプラス1をカウントする(ステップS124)。
【0069】
図9は、同第1の実施形態に係る音声コマンド処理部に格納されるローカル音声データの一例であり、音声コマンドごとに使用頻度を付与したデータの例を示している。例えばNo1の音声コマンド「電源を入れて」の使用頻度は5回であり、No8の音声コマンド「ボリュームアップ」の使用頻度は45回であることを示している。
【0070】
図8に戻り、高頻度フィルタ261は、使用頻度を基準にして、サーバコマンドデータベース部27に蓄積された音声コマンドからローカルコマンドごとにローカル音声コマンドを選択する(ステップS125)。高頻度フィルタ261によって抽出された音声コマンドは、ローカル音声コマンドとしてローカル音声コマンドデータベース部27に格納される(ステップS126)。ローカル音声コマンドデータベース部27においてローカル音声コマンドは、
図7(b)のように格納されることでもよい。
【0071】
以上の手順により、ユーザから受信した音声データに対して外部(サーバ装置3)の音声認識を用いて得たサーバコマンド情報を受信装置1に蓄積し、蓄積したサーバコマンド情報から抽出した音声コマンド(ローカル音声コマンド)によって受信装置1のローカルコマンドを実行することができる。
【0072】
以下、本実施形態におけるサーバ装置3の動作例を示す。
【0073】
図10は、同第1の実施形態に係るサーバ装置による音声データの処理動作例を示すフローチャートであり、音声コマンド処理部2の処理である
図6のステップS105、S106の間のサーバ装置3の処理動作例を示す。
【0074】
音声コマンド処理部2が音声データとともに音声コマンド認識要求を送信する(
図6のステップS105)。サーバ装置3の制御部32は音声コマンド認識要求を受信すると、同時に受信した音声データをテキスト変換部33に出力する(ステップS151)。テキスト変換部33は、音声データを音声認識し、テキストデータに変換し、自然言語処理部34に出力する(ステップS152)。自然言語処理部34は、入力されたテキストデータに対して自然言語処理を実施し、テキストデータが意味する処理に相当するローカルコマンドがローカルコマンドデータ格納部372に格納されているかどうかを確認する(ステップS153)。
【0075】
図11は、同第1の実施形態に係るサーバ装置に格納されるデータベースの一例であり、サーバ装置3のローカルコマンドデータ格納部372に格納されている受信装置1のローカルコマンドに関わるデータの例である。
図11のように行ごとに受信装置1の「ローカルコマンド」とそのコマンドが実行する「コマンド処理」が格納されていてもよい。
【0076】
図10に戻り、自然言語処理部34は、入力されたテキストデータから抽出した意味などを
図11のデータと比較して、入力されたテキストデータの意味に近いローカルコマンドを選択する(ステップS154)。テキストデータに相当するローカルコマンドが見つかった場合、サーバコマンド生成部35は、Flagに「OK」を示す例えば1の値を設定し、Flagを含めてサーバコマンド情報を作成する(ステップS155)。サーバコマンド生成部35はサーバコマンド情報を通信部31から受信装置1に送信する(ステップS156)。受信装置1においては、音声コマンド処理部2がサーバコマンド情報を受信する(
図6のステップS106)。
【0077】
以上の手順により、音声コマンド処理部2は、受信した音声コマンドに対応できない場合においても、サーバ装置3からサーバコマンド情報を取得することで、音声コマンドを実行することが可能となる。また音声コマンド処理部2は、サーバコマンド情報を自身のメモリなどに蓄積することで、同様の音声コマンドを受信した場合にサーバ装置3を介することなくその音声コマンドを利用できる。
【0078】
図12は、同第1の実施形態に係る音声コマンド処理部が、複数のユーザから受信した音声コマンドを処理するためのデータベースの一例であり、1つの受信装置1を複数のユーザが使用する場合のデータベースの例である。本データベースはサーバコマンドデータ格納部382に格納されることでもよい。
【0079】
音声コマンド処理部2において、ローカル音声コマンドの生成に高頻度フィルタ261を用いる場合、ユーザを識別しないと、テレビの視聴頻度の高いユーザの音声コマンドのみがローカル音声コマンドとして登録されてしまうことがある。
【0080】
図12(a)は、受信装置1が音声コマンドを発するユーザを識別できる場合のローカルコマンドに対する音声コマンドのデータベースの例である。本例のように識別したユーザごとに音声コマンドをデータベース化し、それぞれの音声コマンドに対して使用頻度をカウントし、ユーザごとに高頻度フィルタ261を適用することで、ユーザごとに使用頻度を考慮したローカル音声コマンドを生成することができる。
図12(b)は、
図12(a)の音声コマンドにおける全てのユーザの音声コマンドを合わせた場合のデータベースの一例であり、
図9に示した例と同様のデータベースである。
【0081】
図13は、同第1の実施形態に係る音声コマンド処理部が処理可能な音声コマンドの例を示す図であり、音声コマンド処理部2で補完ができるローカル音声コマンドの例である。行ごとに音声コマンドの「実行日」、左の実行日に実行された「音声コマンド」、左の音声コマンドによって処理される「サーバコマンド」(受信装置1のローカルコマンドに相当)、左のサーバコマンドによって処理される「コマンド処理」、左のサーバコマンドがキャッシュできる情報か否かを示す「キャッシュ可否」を示す。
【0082】
なお、「キャッシュ可否」情報には、音声コマンドに対するサーバコマンドが常に固定の応答となるような場合にキャッシュすることを示す情報を設定することでもよい。一方、音声コマンドに対するサーバコマンドが、例えば「今見ている番組の名前を教えて」などのようにその場限りの(例えば日時に依存するような)応答となる場合は、そのサーバコマンドをキャッシュしないことを示す情報を設定することでもよい。また「キャッシュ可否」情報は、
図7に示したデータベースにおける「Flag」としてもよく、その場合は、サーバ装置3がサーバコマンドを「キャッシュする」と判断する場合はFlagをTrueとし、「キャッシュしない」と判断する場合はFlagをfalseとして示すことでもよい。
【0083】
No1の行は、ユーザが例えば実行日「1月8日」に、音声コマンド「今日は何月何日か?」を発した場合に、受信装置1において、音声コマンド処理部2が音声コマンド認識要求によりサーバ装置3からサーバコマンド「音声応答「1月8日です」」を受信した場合の例である。音声コマンド処理部2は受信したサーバコマンド(ローカルコマンドでもある)を制御部17に出力すると、制御部17はコマンド処理「スピーカから「1月8日です」と音声出力する」を実行し、提示部16のスピーカから「1月8日です」と音声が出力される。
【0084】
しかしながら、サーバコマンド「音声応答「1月8日です」」は実行日が変わると応答内容が変わる。すなわちNo1の行のキャッシュ可否を「NG」としているように、サーバコマンド「音声応答「1月8日です」」はキャッシュができないもしくはキャッシュの意味のない情報であるとみなされることがある。
【0085】
そこでサーバ装置3は、No2の行のように「音声応答「$Month月$Date日です」」のように変動の可能性のある部分を変数にしてサーバコマンド(変数化されたサーバコマンドと称する)を作成する。なお、サーバコマンドの変数化は、サーバ装置3が実施してもよいし、音声コマンド処理部2が実施してもよい。音声コマンド処理部2が実施する場合は、例えば、No1の行のサーバコマンドを受信した場合、サーバコマンド「音声応答「1月8日です」」をサーバコマンドデータベース部25に格納し、ローカル音声コマンド生成部26が、ローカル音声コマンド「今日は何月何日か?」に対するローカルコマンドとして「音声応答「$Month月$Date日です」」を紐づけするようにしてもよい。これにより、No3の行のように、ユーザが実行日「2月18日」に音声コマンド「今日は何月何日か?」を発した場合に、音声コマンド処理部2は紐づけられたローカルコマンドと「音声応答「$Month月$Date日です」」と放送信号などから得た日付情報とに基づいて、提示部16のスピーカから「2月18日です」と音声応答させたり、モニタに表示させたりすることが可能となる。受信装置1または音声コマンド処理部2は、合成音声などの音声を生成することが可能であってもよい。
【0086】
No2、No3の行の変数化されたサーバコマンドは、実行日に依存しないため、項目「キャッシュ可否」は双方ともに「OK」としてキャッシュを可能とすることでもよい。なお、
図13には日付に依存するローカルコマンドの例を示したが、本例に限定されず、例えば、日時、季節、前後の文脈などに依存するローカルコマンドについても同様に音声コマンド処理部2で補完が可能である。
【0087】
以上の手順により、ユーザから受信した音声データに対してサーバ装置3(クラウドサーバなど)の音声認識を用いて認識された音声コマンドとローカルコマンドを紐づけすることで、受信装置1が対応できなかった音声コマンドによって受信装置1のローカルコマンドを実行することができる。
【0088】
一般的に、クラウドサーバなどによる音声認識は、音量UP処理を実現するための音声コマンドとして「音量上げて」「音上げて」「ボリュームアップ」「ボリューム上げて」などユーザの発話の揺れを吸収する役目をもっている。しかし、実際には1人のユーザが利用しているときに発話の揺れはあまりなく、一定の表現で発話されることが多い。このような場合、音声コマンドの使用頻度を基準とする高頻度フィルタ261により、よく使う発話(音声コマンド)とそれに対応する処理(ローカルコマンド)の組み合わせを特定し、1つのローカルコマンドに複数の音声コマンドをローカル音声コマンドとして設定することで、ユーザごとのローカル音声コマンドが設定可能となる場合がある。この場合、
図12(a)のようにユーザごとに区別する必要なく、
図9に示した受信装置1ごとに受信した音声コマンドを蓄積し、蓄積した音声コマンドに対して高頻度フィルタ261を適用することでユーザ識別もなされる場合がある。また、ローカル音声コマンドやローカルコマンドとの紐づけ情報などを受信装置1もしくは音声コマンド処理部2に設定、蓄積していくことで、受信装置1もしくは音声コマンド処理部2は、よく使う発話を高速に検出して、自然言語処理を使用せずに自然言語処理に相当する処理が可能となり、自律的に目的の処理を行わせることが可能となる。これによりサーバ装置3を介する必要がなくなり、受信装置1もしくは音声コマンド処理部2における音声認識などの処理時間の短縮などにつなげることもできる。さらに、本実施形態による受信装置1もしくは音声コマンド処理部2に設定された発話内容(ローカル音声コマンド)は、その後オフラインでの使用も可能になる。
【0089】
(第2の実施形態)
本実施形態においては、サーバ装置3が認識(または受信としてもよい)1つの音声コマンドに対して生成したサーバコマンドが、複数のローカルコマンドに関連づけられる場合の例を示す。具体的には、ローカル音声コマンド生成部26が、条件設定部262に設定された優先度に基づいて、1つの音声コマンドに紐づけるローカルコマンドの処理を決定する。
【0090】
図14は、第2の実施形態に係る音声コマンド処理部に格納されたサーバコマンド情報の例であり、サーバ装置3が受信した音声コマンド「キリンが見たい」と、音声コマンド「キリンが見たい」に対してサーバコマンド生成部35が生成または取得したサーバコマンド「番組Kを出力」と、サーバコマンド「番組Kを出力」に対して受信装置1で可能なローカルコマンドのコマンド処理を4つ示している。さらにコマンド処理ごとにその頻度、優先度を同じ行に示している。
【0091】
ローカル音声コマンド生成部26は、優先度に基づいてサーバコマンド「番組Kを出力」に対するコマンド処理を決定する。
【0092】
ローカル音声コマンド生成部26は、優先度順にコマンド処理を実行するように音声コマンドに紐づけてローカル音声コマンドデータベース部27に格納することでもよい。例えば
図14において、優先度がNo4、No2、No3、No1の行の順で高く設定されていることから、No4、No2、No3、No1の行の順でコマンド処理を実行する。より具体的には、ユーザが「キリンが見たい」と発すると、音声コマンド処理部は、まずNo4の行のコマンド処理「放送番組Kを表示する」の実行をする。もし実行時に放送番組Kが放送されていれば、「放送番組Kを表示する」ことは可能であるが、放送番組Kが放送されていなければ、「放送番組Kを表示する」ことはできない。従って、条件によって音声コマンドに紐づけられたコマンド処理が実行できたり、できなかったりする。No4の行のコマンド処理が実行できない場合、次の優先度を持つNo2の行のコマンド処理の実行をする。以下同様に、条件や環境などを考慮して優先度順にコマンド処理を実行していく。コマンド処理に対する優先度などの条件はユーザがリモコンから設定することでもよい。
【0093】
以上の手順により、受信装置1や受信装置1内部の各種機能部などの条件によってユーザが発した音声コマンドに複数のローカルコマンド(コマンド処理)を紐づけることができる。また紐づけたコマンド処理に優先度を付与し、例えば優先度順にコマンド処理を実行可能にすることによって、ユーザの発した音声コマンドに対して、より最適なコマンド処理が可能となる。なお、優先度順に複数のコマンド処理を実行するのではなく、最も優先度の高い1つのコマンド処理を1つの音声コマンドに紐づけることでもよい。優先度をどのように紐づけに利用するかは、ユーザがリモコンなどから設定できることでもよいし、ネットワーク5に接続された図示せぬサーバから紐づけに関わる情報をダウンロードすることでもよい。また、
図14に示した頻度は、コマンド処理の使用頻度でもよく、例えば制御部17などがコマンド処理の頻度をカウントしておき、ローカル音声コマンド生成部26がこの頻度に基づいて優先度を決定することでもよい。
【0094】
(第3の実施形態)
本実施形態においては、サーバ装置3が1つの音声コマンドに対して複数のサーバコマンドを生成した場合の例を示す。
【0095】
図15は、第3の実施形態に係る音声コマンド処理部に格納されるデータベースの例であり、音声コマンド「今の天気は?」に対して、サーバ装置3が3つのサーバコマンドを生成した場合のデータの例である。
図15において、サーバコマンドごとにサーバコマンドによるコマンド処理、頻度、expired(期限)を行ごとに示している。
【0096】
頻度は、サーバコマンドの使用頻度でもよく、受信装置1側で決定してもサーバ装置3側で決定してもよい。サーバ装置3側で決定する場合には、例えば、サーバコマンドデータ格納部382のデータベースを利用して複数の受信装置1からの情報を利用して、決定することでもよい。また受信装置1側でカウントしたサーバコマンド(ローカルコマンドに相当)の使用頻度をサーバ装置3に提供することで、サーバ装置3が、複数の受信装置1からの頻度情報に基づいて頻度を決定することができる。複数の受信装置1からの頻度情報を一括して利用するのではなく、受信装置1の頻度を個々に利用して、受信装置1ごとにサーバコマンドまたはローカルコマンドを決定することでもよい。
【0097】
本実施例においては、頻度の大きさを優先度として利用し、ローカル音声コマンド生成部26は、基本的には頻度の大きさの順番で受信装置1が実行するコマンド処理を決定するが、expiredという条件をも考慮する。expiredは、コマンド処理の有効期限を示し、例えば、
図15のNo1のexpired「2021/1/2 0:00」は、No1のサーバコマンドおよびコマンド処理が「2021年1月2日の0:00時まで有効である」ということを示す。No1のサーバコマンド「音声応答「晴れのち曇り」」は日時に依存するコマンドであることからexpiredの条件が付与された例である。なお、「expired」は、
図7に示したデータベースにおける「Flag」としてもよく、その場合は、サーバ装置3がサーバコマンドの有効期限「expired」を判断し、サーバコマンドが有効期限内である場合はFlagをTrueとし、サーバコマンドが有効期限を外れている場合はFlagをfalseとして示すことでもよい。
【0098】
本実施例においては、「2021/1/2 0:00」より前にユーザが音声コマンド「今の天気は?」を発した場合は、受信装置1においてNo1のコマンド処理が実行される。しかし、「2021/1/2 0:00」より後にユーザが音声コマンド「今の天気は?」を発した場合は、次に頻度の高いNo3のコマンド処理が実行される。優先度の利用の仕方などは第2の実施形態に示した方法も適用可能である。また、No1のコマンド処理において、「晴れのち曇りです」の部分は、第1の実施形態で示した変数化が可能である。変数化した場合、音声コマンド処理部2は、ユーザから音声コマンド「今の天気は?」を受信した場合、expiredに関わらず、放送信号やネットワーク5上の図示せぬサーバなどから最新の天気情報を参照して、最新の天気情報を提示部16のスピーカから音声出力させるようにしてもよい。
【0099】
図16は、同第3の実施形態に係るサーバ装置が、複数のサーバコマンドから選択して音声コマンド処理部にサーバコマンドを送信する際の処理動作例を示すフローチャートであり、サーバ装置3が受信装置1などの外部装置から得た情報を利用して複数のサーバコマンドからサーバコマンドを選択して音声コマンド処理部に出力する例である。
【0100】
サーバ装置3の制御部32は、音声コマンド処理部2が送信した音声コマンド認識要求を受信すると、同時に受信した音声データをテキスト変換部33に出力する(ステップS251)。テキスト変換部33は、音声データを音声認識し、テキストデータに変換し、自然言語処理部34に出力する(ステップS252)。自然言語処理部34は、入力されたテキストデータに対して自然言語処理を実施し、テキストデータが意味する処理に相当するローカルコマンドの情報がローカルコマンドデータ格納部372や共通データ格納部38に格納されているかどうかを確認する。(ステップS253)。サーバコマンド生成部35は、自然言語処理部34により確認されたローカルコマンドの情報を取得する(ステップS254)。サーバコマンド生成部35は、取得したローカルコマンドの情報に基づいて、サーバコマンドを生成する。生成したサーバコマンドが複数ある場合、サーバコマンド生成部35は、固有データ格納部37から受信装置1の固有情報を取得する(ステップS255のYES、S256)。サーバコマンド生成部35は、受信装置1の固有情報やに基づいて複数のサーバコマンドから受信装置1に送信するサーバコマンドを選択する(ステップS257)。例えば、受信装置1の固有情報「音声出力禁止」、「スピーカが無効」などを確認したことにより、
図15のNo1のサーバコマンドを選択しないことでもよい。なお、受信装置1の固有情報だけでなく、番組情報など共通データ格納部38のデータを利用してもよい。例えば、番組情報から「1時間以内に放送予定の天気番組がない」ことを確認したことにより、
図15のNo2のサーバコマンドを選択しないことでもよい。
【0101】
サーバコマンド生成部35は、選択したサーバコマンドや、必要に応じて応答音声生成部36が作成した応答音声などを含めてサーバコマンド情報を作成し、通信部31を介して音声コマンド処理部2に出力する。
【0102】
以上の手順により、サーバ装置3は、入力された音声コマンドに対してサーバ装置3が対応するローカルコマンドを複数確認した場合に、固有データ格納部37、共通データ格納部38のデータなどを用いて複数のサーバコマンドから選択して、それらを含めたサーバコマンド情報を音声コマンド処理部2に提供することができる。音声コマンド処理部2は、サーバ装置3から提供されたサーバコマンド情報から得た音声コマンドとそれに紐づけられたサーバコマンド(ローカルコマンドに相当)をローカル音声コマンドデータベース部27に登録することで、ユーザの発する音声コマンドによって固有データ格納部37、共通データ格納部38のデータが考慮されたコマンド処理が受信装置1において実行される。
【0103】
本実施形態によって、サーバ装置3が固有データ格納部37、共通データ格納部38のデータなどを考慮してサーバコマンド情報を生成することで、受信装置1側では番組名や放送局名などの情報を事前に組み込むことなく、ユーザの発する音声コマンドに固有データ格納部37、共通データ格納部38の情報を考慮することができる。これによりユーザは本実施形態による受信装置1を利用しているだけで、普段の言葉に近い形(自然言語)で音声コマンドを利用できるようになっていくだけでなく、音声コマンドによるコマンド処理がユーザやユーザの受信装置1の状況に合うように設定されていく。
【0104】
例えば、ユーザが「番組Aが見たい」と発すると、サーバ装置3は、番組情報から「未来の土曜日17時に、デジタル放送のch5で放送予定もしくはネットワーク5上のコンテンツサーバで配信予定である」ことを確認し、また同時に受信装置固有の情報から「ネットワーク5への接続が不可能である」ことを確認すると、サーバコマンド「予約視聴:土曜日17時5ch」を受信装置1に送信する。受信装置1側において音声コマンド処理部2は、受信したサーバコマンドを、ローカルコマンドとして制御部17に実行させてもよいし、ローカル音声コマンド「番組Aが見たい」に紐づけてローカル音声コマンドデータベース部27に格納してもよい。
【0105】
(変形例)
以上に示した実施形態においては、受信装置1が音声コマンド処理部2を含む構成である場合について示した。本変形例においては、その他の可能な構成について説明する。
【0106】
図17は、変形例に係るシステムの構成例を示す機能ブロック図である。
【0107】
図17(a)は、音声コマンド処理部2を含む音声コマンド処理装置2Aにより受信装置1Aを音声コマンドで制御可能にする場合の例である。
【0108】
受信装置1Aは、受信装置1から音声コマンド処理部2を取り外した受信装置に相当するが、受信装置1と同様の受信装置でもよい。
【0109】
音声コマンド処理装置2Aは、音声コマンド処理部2やマイクの機能を含み、CPUやメモリを備えたコンピュータであってもよい。音声コマンド処理装置2Aは、マイクが出力する音声信号を処理するためのA/D変換やDSPなどのデジタル信号処理手段などを備えていてもよい。音声コマンド処理装置2Aはサーバ装置3と通信をするための図示せぬ通信手段(
図2の通信部13に相当)を備えていてもよい。音声コマンド処理部2のローカルコマンド処理部23が出力するローカルコマンドは、ネットワーク5を介して受信装置1Aの制御部17に入力されることでもよい。
【0110】
図17(a)による変形例において、ユーザは、音声コマンド処理装置2Aの図示せぬマイクに向かって音声コマンドを発する。マイクで受波された音声は、A/D変換などにより音声データに変換された後、音声データが音声コマンド処理部2に入力される。以降の音声コマンド処理部2において
図6に示したフローチャートと同様の処理動作をすることで、上記した実施形態による音声コマンド処理と同様な処理が可能となり、同様の作用効果を得ることができる。
【0111】
図17(a)による変形例によれば、音声コマンド処理装置2Aからネットワーク5を介して受信装置1Aを遠隔操作することが可能となる。また、音声コマンド処理部2のサーバコマンドデータベース部25やローカル音声コマンドデータベース部27などのデータベースをクラウドサーバに設置することで、ある特定のユーザの受信装置1Aだけでなく、別のユーザの受信装置1Aにも同様の音声コマンド処理(音声コマンド処理装置2Aの共有化)が可能となるばかりでなく、音声コマンド処理装置2Aを持ち運び容易にすること(ポーターブル化)にもつながる。
【0112】
図17(b)は、音声コマンド処理部2を含むリモコン10Aにより受信装置1Aを音声コマンドで制御可能にする場合の例である。
【0113】
リモコン10Aは、リモコン10に音声コマンド処理部2を備えたリモコンである。リモコン10Aはマイクの機能を含み、CPUやメモリを備えたコンピュータや、マイクが出力する音声信号を処理するためのA/D変換やDSPなどのデジタル信号処理手段などを備えていてもよい。リモコン10Aはサーバ装置3と通信をするための図示せぬ通信手段(
図2の通信部13に相当)を備えていてもよい。またリモコン10Aは受信装置1Aと通信が可能なBlueToothなどの通信手段を備えている場合、受信装置1Aを介してネットワーク5に接続し、サーバ装置3と通信することでもよい。また、音声コマンド処理部2のローカルコマンド処理部23が出力するローカルコマンドは、BlueToothなどの通信手段を介して受信装置1Aの制御部17に入力されることでもよいし、リモコン10Aからの赤外線などを用いた通常のリモコン制御信号として受信装置1Aに出力することでもよい。
【0114】
図17(b)による変形例において、ユーザは、リモコン10Aの図示せぬマイクに向かって音声コマンドを発する。マイクで受波された音声は、A/D変換などにより音声データに変換された後、音声データが音声コマンド処理部2に入力される。以降の音声コマンド処理部2において
図6に示したフローチャートと同様の処理動作をすることで、上記した実施形態による音声コマンド処理と同様な処理が可能となり、同様の作用効果を得ることができる。
【0115】
図17(b)による変形例によれば、ユーザの手元にあるリモコン10Aに音声コマンドを発することで、簡単に上記実施形態による作用効果を得ることができる。音声コマンド処理部2のサーバコマンドデータベース部25やローカル音声コマンドデータベース部27などのデータベースを受信装置1Aや図示せぬクラウドサーバなどに設置することでもよい。
以上に述べた少なくとも1つの実施形態によれば、ローカルで処理できる音声コマンドを増やすことのできる音声コマンド処理回路、受信装置、
リモコン、サーバ、システム、方法およびプログラムを提供することができる。
【0116】
なお、図面に示した解析画面などに表示される条件パラメータやそれらに対する選択肢、値、評価指標などの名称や定義、種類などは、本実施形態において一例として示したものであり、本実施形態に示されるものに限定されるものではない。
【0117】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。さらにまた、請求項の各構成要素において、構成要素を分割して表現した場合、或いは複数を合わせて表現した場合、或いはこれらを組み合わせて表現した場合であっても本発明の範疇である。また、複数の実施形態を組み合わせてもよく、この組み合わせで構成される実施例も発明の範疇である。
【0118】
また、図面は、説明をより明確にするため、実際の態様に比べて、各部の幅、厚さ、形状等について模式的に表される場合がある。ブロック図においては、結線されていないブロック間もしくは、結線されていても矢印が示されていない方向に対してもデータや信号のやり取りを行う場合もある。フローチャートに示す処理は、ICチップ、デジタル信号処理プロセッサ(Digital Signal ProcessorまたはDSP)などのハードウェアもしくはマイクロコンピュータを含めたコンピュータなどで動作させるソフトウェア(プログラムなど)またはハードウェアとソフトウェアの組み合わせによって実現してもよい。また請求項を制御ロジックとして表現した場合、コンピュータを実行させるインストラクションを含むプログラムとして表現した場合、及び前記インストラクションを記載したコンピュータ読み取り可能な記録媒体として表現した場合でも本発明の装置を適用したものである。また、使用している名称や用語についても限定されるものではなく、他の表現であっても実質的に同一内容、同趣旨であれば、本発明に含まれるものである。
【符号の説明】
【0119】
1…受信装置、2…音声コマンド処理部、3…サーバ装置、5…ネットワーク、10…リモコン、11…チューナ、12…放送信号受信処理部、13…通信部、14…コンテンツ処理部、15…提示制御部、16…提示部、17…制御部、18…インターフェース部、19…記録再生部、21…音声認識部、22…判定部、23…ローカルコマンド処理部、24…サーバデータ取得部、25…サーバコマンドデータベース部、26…ローカルコマンド生成部、27…ローカル音声コマンドデータベース部、31…通信部、32…制御部、33…テキスト変換部、34…自然言語処理部、35…サーバコマンド生成部、36…応答音声生成部、37…固有データ格納部、38…共通データ格納部、101…データ格納部、261…高頻度フィルタ、262…条件設定部、371…受信装置データ格納部、372…ローカルコマンドデータ格納部、381…共通情報データ格納部、382…サーバコマンドデータ格納部。