説明

音声認識方法および音声認識装置

【課題】音声情報に基づいて音声認識部を自動的に切り替えることができる音声認識方法および音声認識装置を提供する。
【解決手段】ユーザによりマイクから入力される音声の音声区間を検出して当該区間のパワーを計算する音声パワー検出部と、前記区間のパワーをユーザとマイク間の距離に変換するユーザ-マイク間距離算出部と、この距離に基づいて前記音声による音声信号の出力先として複数の音声認識部を選択する音声認識辞書切替部とを備えた音声認識装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、音声認識方法および音声認識装置に関する。
【背景技術】
【0002】
音声認識の辞書を選択することが各種提案されている。例えば、コマンド用認識結果のスコアとディクテーション用認識結果のスコアを比較して、一方を選択する音声認識結果とすることへの工夫がある。また、ユーザの位置情報を利用して、音声認識の辞書を選択することにより、認識率を向上させることへの工夫がある。
【0003】
また、ネットワークに接続できる音声入力装置において、クライアント上にある音声認識装置と、サーバ上にある音声認識装置を、明示的に切り替える切替手段を持つことへの工夫がある(例えば、特許文献1参照。)。この例では、グラフィカル・ユーザ・インタフェース(GUI)等にて、サーバ上の音声認識装置を利用するか、クライアント上の音声認識装置を利用するか、を明示的に決めている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−182896号公報(第2頁、請求項5)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、音声認識辞書を手動で切り替える操作は煩雑である。また、コマンド認識あるいはディクテーション認識に固定されている場合は他方を選択できず、制約された仕様になるという課題があった。本発明の実施の形態は、音声情報に基づいて音声認識部を自動的に切り替えることができる音声認識方法および音声認識装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、実施形態によれば音声認識装置は、ユーザと音声認識装置の間の距離を検出し、この距離に応じて音声認識辞書を切り替える。具体的には、ユーザによりマイクから入力される音声の音声区間を検出して当該区間のパワーを計算する音声パワー検出部と、前記区間のパワーをユーザとマイク間の距離に変換するユーザ-マイク間距離算出部と、この距離に基づいて前記音声による音声信号の出力先として複数の音声認識部を選択する音声認識辞書切替部とを備える。
【図面の簡単な説明】
【0007】
【図1】実施形態にかかる電子機器の外観を模式的に示す図。
【図2】実施形態にかかる電子機器のハードウェア構成の一例を示すブロック構成図。
【図3】同実施形態の通話部の詳細な構成を示すブロック図。
【図4】ユーザ-マイク間距離検出部16の詳細な構成を示すブロック図。
【図5】実施形態の中心となる機能を示すブロック構成図。
【図6】同実施形態の効果を説明するために示す特性図。
【図7】ユーザ-マイク間距離検出部16の動作の一例を示すフローチャート。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して実施形態にかかる電子機器及び制御方法の詳細を説明する。なお、以下の実施形態では、PDAや携帯電話等、ユーザが把持して使用する電子機器を例に説明する。
【0009】
図1は、実施形態にかかる電子機器100の外観を模式的に示す図である。電子機器100は、表示画面を備えた情報処理装置であり、例えばスレート端末(タブレット端末)や電子書籍リーダ、デジタルフォトフレーム等として実現されている。なお、ここでは、X軸、Y軸、Z軸の矢印方向(Z軸では図の正面方向)を正方向としている(以下同様)。
【0010】
電子機器100は、薄い箱状の筐体Bを備え、この筐体Bの上面に表示部110が配置されている。表示部110は、ユーザによってタッチされた表示画面上の位置を検知するタッチパネル(図2、タッチパネル111参照)を備えている。また、筐体Bの正面下部にはユーザが各種操作を行う操作スイッチ等である操作スイッチ190、ユーザの音声を取得するためのマイク210が配置されている。また、筐体Bの正面上部には音声出力を行うためのスピーカ220が配置されている。また、筐体Bの縁には、把持するユーザの圧力を検知する圧力センサ230が配置されている。なお、図示例ではX軸方向の左右の縁に圧力センサ230を備える構成を例示したが、Y軸方向の上下の縁に圧力センサ230を備えてもよい。
【0011】
図2は、実施形態にかかる電子機器100のハードウェア構成の一例を示すブロック図である。図2に示すように、電子機器100は、上述の構成に加え、CPU120、システムコントローラ130、グラフィックスコントローラ140、タッチパネルコントローラ150、加速度センサ160、不揮発性メモリ170、RAM180、音声処理部200、通信部240等を備えている。また音声処理部200には内蔵または外付けのマイク210とスピーカ220とが接続されている。
【0012】
表示部110は、タッチパネル111と、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)等のディスプレイ112とから構成されている。タッチパネル111は、例えばディスプレイ112の表示画面上に配置された当面の座標検出装置から構成されている。タッチパネル111は、例えば筐体Bを把持したユーザの指によってタッチされた表示画面上の位置(タッチ位置)を検知することができる。このタッチパネル111の働きにより、ディスプレイ112の表示画面はいわゆるタッチスクリーンとして機能する。
【0013】
CPU120は、電子機器100の動作を中央制御するプロセッサであり、システムコントローラ130を介して電子機器100の各部を制御する。CPU120は、不揮発性メモリ170からRAM180にロードされる、オペレーティングシステム、各種アプリケーションプログラムを実行することで、後述する各機能部(図3など参照)を実現する。RAM180は、電子機器100のメインメモリとして、CPU120がプログラムを実行する際の作業領域を提供する。
【0014】
システムコントローラ130には、不揮発性メモリ170及びRAM180をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ130は、グラフィックスコントローラ140との通信を実行する機能も有している。また、システムコントローラ130は、通信部240、インターネット等を介して図示せぬ外部のサーバへ音声波形等の音声信号を送信しこの音声波形に対する音声認識の結果を必要によっては受信する機能も有している。
【0015】
グラフィックスコントローラ140は、電子機器100のディスプレイモニタとして使用されるディスプレイ112を制御する表示コントローラである。タッチパネルコントローラ150は、タッチパネル111を制御し、ユーザによってタッチされたディスプレイ112の表示画面上のタッチ位置を示す座標データをタッチパネル111から取得する。
【0016】
加速度センサ160は、図1に示す3軸方向(X、Y、Z方向)や、これに各軸周りの回転方向の検出を加えた6軸方向の加速度センサ等であって、電子機器100に対する外部からの加速度の向きと大きさを検出し、CPU120に出力する。具体的に、加速度センサ160は、加速度を検出した軸、向き(回転の場合、回転角度)、及び大きさを含んだ加速度検出信号(傾き情報)をCPU120に出力する。なお、角速度(回転角度)検出のためのジャイロセンサを、加速度センサ160に統合する形態としてもよい。
【0017】
音声処理部200は、マイク210より入力される音声信号に、デジタル変換、ノイズ除去、エコーキャンセル等の音声処理を施してCPU120へ出力する。また、音声処理部200は、CPU120の制御のもとで、音声合成等の音声処理を施して生成した音声信号をスピーカ220へ出力し、スピーカ220による音声報知を行う。この音声処理部200に、後述のユーザ-マイク間距離検出部16がある。この中の音声処理部200の詳細について次に説明する。
【0018】
図3は、実施例にかかる音声処理部200の詳細な構成を示すブロック図である。音声処理部200は、音声復号部11、DA変換器12、増幅器13、増幅器14、AD変換器15、ユーザ-マイク間距離検出部16、音声符号部17などから構成される。
音声復号部11は、システムコントローラ130からの圧縮された音声信号を復号処理する。DA変換器12は、それをDA変換する。増幅器13は、それを増幅して、スピーカ220へ送出する。
【0019】
増幅器14は、マイクロホン210からの音声信号を増幅する。AD変換器15はそれをAD変換する。ユーザ-マイク間距離検出部16は、その信号に対して、ノイズの抑圧処理を行う。音声符号部17は、それに対して、音声圧縮処理を行い、システムコントローラ130へ送出する。この中のユーザ-マイク間距離検出部16の詳細について、以下の例で説明する。
【0020】
図4は、ユーザ-マイク間距離検出部16の詳細な構成を示すブロック図である。ユーザ-マイク間距離検出部16は、周波数変換部21、帯域パワー計算部22、雑音推定部23、SNR計算部24、ゲイン算出部25、ゲイン加重部26、周波数逆変換部27などから構成される。この中のゲイン算出部25は、更に 次の構成を備える。
図4により、ユーザ-マイク間距離検出部16の各部の動作を説明する。まず、周波数変換部21は、音声信号x(t)を所定時間長ずつ例えば128個ずつフレームに分割し、これらのフレームごとに時間/周波数領域変換処理を行う。これによりフレーム番号jにおける振幅スペクトル|X(n、j)|(n=0〜N−1。Nはフレーム長。)と位相スペクトルP(n、j)を得る。以下では、記述の簡略化のため、基本的に絶対値記号|とフレーム番号jを省略して、振幅スペクトルX(n)と称するが、数式の説明などでフレーム番号を区別する必要がある場合は、記述する。
【0021】
なお、周波数変換部21は、時間/周波数領域変換処理に先立って、スペクトル包絡を平坦化することを目的として、入力されたディジタル音声信号x(t)に対しプレエンファシス処理を設けたり、直流分をカットすることを目的として、ハイパスフィルタを設けたりしてもよい。
【0022】
また、時間/周波数領域変換処理のフレーム長とシフト幅は同じでなくてもよく、例えばフレーム長を128、シフト幅を80とした場合には、80サンプル分の入力ディジタル音声信号x(t)をフレーム前半部に格納し、残りの48サンプルについては0とした後に境界の不連続性を排除するために正弦波特性の窓掛けを行ってもよい。プレエンファシスおよび窓掛けのより具体的な手法は、米国TIAで標準化された符号化方式の規格である、TIA/EIA IS-127 EVRC、1997-01に詳述されている。
【0023】
このように時間/周波数領域変換によって得られた振幅スペクトルX(n)は、帯域パワー計算部22及びゲイン加重部26に出力される。また、位相スペクトルP(n)は、周波数逆変換部27に出力される。
【0024】
帯域パワー計算部22は、振幅スペクトルX(n)を低域から高域まで例えば16個の周波数帯域に分割し、これらの周波数帯域ごとに平均をとって各周波数帯域を代表する帯域パワーXd(k)(k=0〜K−1。Kは周波数帯域数で、例えば16でkが小さい方が低域、大きい方が高域とする。)を算出する。ここでは、等間隔に分割する例を示したが、バークスケールやメルスケール等のように、低域ほど分割幅を狭くして、人間の聴覚特性に適した分割幅を採用してもよい。また、瞬時的な変動の大きい振幅スペクトルのパワーを用いるよりも安定したパワーを得ることを目的として、周波数帯域に分割する例を示したが、特定の帯域(例えば、低域あるいは全帯域)で振幅スペクトルのパワーそのものを用いて、より細かく処理してもよい。このようにして求められた各周波数帯域を代表する帯域パワーXd(k)は、雑音推定部23に出力される。
【0025】
雑音推定部23は、求められた各周波数帯域を代表する帯域パワーXd(k)を用いて、帯域毎の雑音帯域パワーNd(k)を推定する。雑音推定部23は、その区間に音声が存在するか否か、もしくは両者の中間状態も考慮してどれぐらい雑音らしいかを判定し、この判定結果に応じて、雑音帯域パワーNd(k)を推定する。
【0026】
具体的には、雑音と判定された区間のパワーをそのまま雑音帯域パワーNd(k)としてもよいし、雑音区間と判定された現在を含む過去M個のフレームの平均パワーを用いてもよい。また、雑音と判定されたときに巡回フィルタによって過去の推定雑音との重み付き和を用いてもよいし、雑音らしいと判定されたときほどその区間を重視して、重み付けを行ってもよい。このように、音声の影響、雑音の瞬時的な変動を受けにくくして、定常的な雑音成分の近似値を雑音帯域パワーXd(k)として推定する。
【0027】
これらの判定処理と推定処理は、帯域毎に行ってもよいし、複数帯域を一つにまとめて行ってもよいし、両者の重み付き和でもよい。このようにして算出された雑音帯域パワーNd(k)は、SNR計算部24に出力される。
【0028】
SNR計算部24は、帯域パワーXd(k)及び雑音帯域パワーNd(k)を用いて、帯域毎の信号対雑音比SNR(k)をSNR(k)=Xd(k)/Nd(k)と計算する。また、帯域全体の信号対雑音比SNR_allをSNR_all=Σ(k=0〜K−1)Xd(k)/Σ(k=0〜K−1)Nd(k)と計算する。あるいは、SNR_all=(1/K)×Σ(k=0〜K−1)SNR(k)のように、帯域毎のSNR(k)の平均値としてもよいし、SNR_all=(1/K)×max(k=0〜K−1){SNR(k)}のように帯域毎のSNR(k)の最大値としてもよい。要するに、SNR_allは帯域全体のSNRを表すパラメータであればよく、これらに限定されるものではない。このように計算されたSNR(k)、SNR_allは、ゲイン算出部25に出力される。
【0029】
本実施形態の中心となる動作を図5の機能ブロック図にて説明する。まずユーザ-マイク間距離検出部16(100)は、上述のように言わば、音声区間(発話された区間)を検出して当該区間のパワーを計算する音声パワー検出部(110)(帯域パワー計算部22)と、雑音区間(発話されてない区間)のパワーを計算する雑音パワー検出部(120)(雑音推定部23)と、前記音声パワー検出部で計算された音声パワーと、前記雑音パワー検出部で計算された雑音パワーの比、いわゆる信号対雑音比を計算する信号対雑音比計算部(130)(SNR計算部24)と、前記信号対雑音比計算部で計算された信号対雑音比をユーザ-マイク間距離に変換するユーザ-マイク間距離算出部(140)(ゲイン算出部25)、から構成される。
【0030】
このユーザ-マイク間距離検出部16の動作の一例としては、上記の各部により図7に示すように次のステップを踏む。
ステップS71: 音声パワーを検出する。
ステップS72: 雑音パワーを検出する。
ステップS73: SNRを計算する。
ステップS74: 距離を算出する。
なお、ステップS74としては、SNRに拠らず音声パワーに拠って距離を算出する構成でもよい。室内環境とそれ以外とで或いはユーザの設定により、これらどちらに拠るかを切替えられるようにしておくのも好適である。また音声パワーを得る帯域としては声道から発せられる基本周波数(ピッチ)を中心とする工夫をおこなってもよい。
【0031】
また予め話者認識を行える構成などとして、個人を区別し、この個人ごとの声の大きさを記憶しておき距離の算出を調整してもよい。
音声パワー検出部(110)は、音声区間に対して、単位時間(例えば、20msec)毎に信号の二乗和Sを求め、10*log10(S)を計算する。また、雑音パワー検出部(120)は、雑音区間に対して、単位時間(例えば、20msec)毎に信号の二乗和Nを求め、10*log10(N)を計算する。
【0032】
各検出部(110)、(120)では、突発的な変動を避けるために、スムージングをかけてもよい。例えば、S(k)=S(k-1)*a + (1-a)*10*log10(S)。ここで、kは時刻インデックス、aは0以上1以下の重み係数である。
【0033】
ユーザ-マイク間距離算出部(140)では、信号対雑音比が小さいほど、ユーザ-マイク間距離が長くなるように変換する。例えば、以下のように対応付けてもよい。
【0034】
[段階的な閾値判定で距離を算出する例]
If (SNR > 90) then distance = 10;
elseif (SNR > 80) then distance = 20;
elseif (SNR > 70) then distance = 50;
else distance = 100;
[関数で距離を算出する例]
distance_tmp = 100-SNR*SNR/100;
if (distance_tmp < 10) distance = 10;
elseif (distance_tmp > 100) distance_new = 100;
else distance = distance_tmp;
ただし、SNRは信号対雑音比(単位はdB)、distanceはユーザ-マイク間距離(単位はcm)である。2例ともdistanceはSNRの広義の単調減少関数である。参考として2つ目の例におけるdistance_tmpを図6に示す。
【0035】
図5に戻り音声認識切替部(200)では、ユーザ-マイク間距離検出部(100)で計算されたユーザ-マイク間距離に基づいて、サーバ上の音声認識(220)部を利用するか、クライアント上の音声認識(210)部を利用するか、を決定する。例えば、次のように判定して切り替える。
【0036】
If (distance>50) then { /* クライアント上の音声認識装置を利用する */ };
else { /* サーバ上の音声認識装置を利用する */ }
かくして、ユーザ-マイク間距離が求まり、この距離に応じて音声認識辞書を切り替える。例えば、ユーザ-マイク間距離が長いときは、机上に置かれたタブレットPC(personal computer)でコマンド音声認識して、テレビの操作を実行する。一方、ユーザ-マイク間距離が短いときは、手元または口元にあるタブレットPCでディクテーション音声認識して、タブレットPCでの文字入力に利用する。
【0037】
(変形例1)
音声情報以外に、加速度センサ160の情報から、タブレットPCが手元/口元にあるかを検出して、タブレットPCが机上に置かれているときには、タブレットPCでコマンド音声認識して、テレビの操作を実行する。一方、タブレットPCが手元または口元にあるときには、タブレットPCでディクテーション音声認識して、タブレットPCでの文字入力に利用するようにしてもよい。
【0038】
(変形例2)
加速度センサ160のかわりに、図示せぬ距離センサ(例えば赤外光をユーザに反射させる構成)でタブレットが置かれているのか、手元/口元なのかを検出して、変形例1と同様の動作をしてもよい。あるいは、距離センサの替わりに、カメラからの映像情報、例えば、顔、目、鼻、口、耳、手、指、身体全体などの大きさや向きから手元/口元なのかを検出してもよい。
【0039】
以上説明した実施例のポイントの一つは、何かをしながら音声認識することにある。いわゆる、「ながら」操作を音声認識で実現することにある。音声認識の際に使う音響モデルの辞書を、ユーザの発話位置に応じて自動的に切り替える。
【0040】
例えば、ユーザがタブレットPCを見ながらテレビを視聴しているユースケースを想定する。タブレットPCの至近距離でユーザが発話したら、サーバ処理型音声認識で発話を音声認識し、認識結果をタブレットPCのカーソル位置に入力する。一方、タブレットPCから離れたところでユーザが発話したら、タブレットPC内蔵のコマンド音声認識で発話を音声認識し、認識結果に基づいて、手元/口元にはない遠くの機器(例えば、テレビ。携帯電話、音楽再生装置、録画装置、パソコン、エアコン、洗濯機などの家電でもよい)を操作する。このように、タブレットPCの操作方法に応じて音声認識の辞書を切り替えることにより、面倒な音声認識辞書の切替操作をすることなく、機器を操作したり、テキストを入力したりできる。
【0041】
音声情報(信号)に基づいて音声認識部を自動的に切り替えることへの要望があり、本実施形態では、GUIを使うのではなく、マイクから入力された音声と環境雑音のいわゆる信号対雑音比に基づいてユーザと音声入力装置の間の距離を検出し、この距離に基づいて、サーバ上の音声認識装置を利用するか、クライアント上の音声認識装置を利用するか、を音声入力装置が自動的に決めるので、煩わしい操作が減り、使い勝手が向上する。公知例では、ユーザがGUI上で切り替える操作が必要であるが、本例では、この操作が不要となる点が異なる。
【0042】
なお、この発明は上記実施形態に限定されるものではなく、この外その要旨を逸脱しない範囲で種々変形して実施することができる。
また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係わる構成要素を適宜組み合わせても良いものである。
【符号の説明】
【0043】
11…音声復号部、12…DA変換器、13…増幅器、14…増幅器、15…AD変換器、16…ユーザ-マイク間距離検出部、17…音声符号部、21…周波数変換部、22…帯域パワー計算部、23…雑音推定部、24…SNR計算部、25…ゲイン算出部、26…ゲイン加重部、27…周波数逆変換部、100…電子機器、110…表示部、120…CPU、130…システムコントローラ、140…グラフィックスコントローラ、150…タッチパネルコントローラ、160…加速度センサ、170…不揮発性メモリ、180…RAM、190…操作スイッチ、200…音声処理部、210…マイク、220…スピーカ、230…圧力センサ、240…通信部、111…タッチパネル、112…ディスプレイ、B…筐体。

【特許請求の範囲】
【請求項1】
ユーザによりマイクから入力される音声の音声区間を検出して当該区間のパワーを計算する音声パワー検出部と、
前記区間のパワーをユーザとマイク間の距離に変換するユーザ-マイク間距離算出部と、
この距離に基づいて前記音声による音声信号の出力先として複数の音声認識部を選択する音声認識辞書切替部とを
備えた音声認識装置。
【請求項2】
更に雑音区間のパワーを計算する雑音パワー検出部と、
前記音声パワー検出部で計算された音声パワーと前記雑音区間のパワーの比を計算する信号対雑音比計算部とを備え、前記ユーザ-マイク間距離算出部はこのパワーの比をユーザとマイク間の距離に変換する請求項1に記載の音声認識装置。
【請求項3】
更に前記音声認識部の一つを備え、
この音声認識部は前記音声認識辞書切替部からの前記音声信号に基づいて音声認識をする請求項1または請求項2に記載の音声認識装置。
【請求項4】
前記音声認識辞書切替部は前記音声信号を外部の前記音声認識部に出力し、この音声認識部からこの音声信号に基づいた音声認識結果を出力させる
請求項1または請求項2に記載の音声認識装置。
【請求項5】
ユーザによりマイクから入力される音声の音声区間を検出して当該区間のパワーを計算し、
前記区間のパワーをユーザとマイク間の距離に変換し、
この距離に基づいて前記音声による音声信号の出力先として複数の音声認識部を選択する音声認識方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−72904(P2013−72904A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209992(P2011−209992)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】