(58)【調査した分野】(Int.Cl.,DB名)
前記隠れマルコフモデルの各リンクに割当てられた遷移確率は、状態ごとに、当該状態を起点とするリンクの全てにおいて等しくなるように定められる、請求項2又は請求項3に記載の発話区間検出装置。
【背景技術】
【0002】
コンピュータ及び通信技術が発達し、人々の生活のあらゆる場面で利用される状況が出現しつつある。特に、携帯可能なコンピュータともいうべきいわゆるスマートフォンの普及により、あらゆる場所で多くの人が他の端末と通信する機会を持つようになった。
【0003】
こうした状況で問題になるのは、いわゆるユーザインターフェイスである。特に大量のテキストを入力したり、スマートフォンに特定の動作をするために特定の文字列を入力したりする必要があるときには、いかにしてそれらを効率良く入力するかが問題となる。スマートフォンでは、タッチパネルにいわゆるソフトキーボードを表示し、それを使用して文字列の入力を行なうことが一般的である。しかし、スマートフォンが携帯可能でなければならないという制約から、このキーボードは小さく、使いにくく、またタッチパネルによるため、誤って少しだけタッチパネルの表面に触れただけで意図と異なる入力がされたりすることもある。したがって、スマートフォンでの文字列の入力には、冷静さと、忍耐とが必要である。
【0004】
こうした問題を解決するための1つの手段は、大多数の人が日常使用している「声」による入力である。声を使って正しい入力をスマートフォンに与えることができれば、小さなキーボードに頭を悩ます必要もないし、入力の効率の悪さに腹をたてる必要もない。スマートフォンの弱点である使い勝手が向上し、さらに生活の広い範囲でスマートフォンを使う機会が増えるであろう。現実に、音声による問いかけに対して、その音声を認識し、その内容を理解し、適切な応答をする技術が、スマートフォンのユーザインターフェイスに採用されている例が出現している。
【0005】
スマートフォンにおいて特に問題となるのは、その使用される環境が様々であり、周囲の雑音(環境音)が一定しないという事実である。オフィスであれば、環境音はほとんどない。したがって、オフィスのコンピュータを用いて収録した音声に対し音声認識を行なうと、かなり高い精度が得られる。しかし、携帯電話は屋外で使用されることが多く、そのような良好な環境は期待できない。特に問題となるのが、環境音の中での発話区間の検出である。発話がないにもかかわらず、環境音を音声としてその内容を認識しようとすれば意味のない出力しか得られない。逆に、発話があるにもかかわらず、その認識をしないようであれば、重要な情報が認識結果から欠落する可能性がある。そこで、音声認識においては、発話区間の検出を高い精度で行なうことが重要になる。
【0006】
発話区間の検出を阻害する環境音には、色々な種類があり、その種類に応じて対処の方法が異なる。例えば、エアコン、自動車のエンジン音等は定常的な雑音である。こうした雑音には、スペクトラム減算法、ウイーナーフィルタ等による雑音抑圧が有効である。電車が駅に進入する際の音、又は工事現場の音のように、非定常な雑音の場合には、パーティクルフィルタによる雑音トラッキングが有効である。それに対して、話者以外の人の声、例えば隣又は後ろの席にいる人の声等の場合には、人の声を強調するような雑音抑圧手法では対処が困難である。1つの方法としてはマイクロフォンアレイが考えられる。しかし、複数のマイクロフォンが必要となるため、日常的な使用目的には適していない。そこで、マイクロフォンが1つでも、有効に人の声からなる背景雑音を排除し、目的とする話者の発話区間のみを精度よく検出することが望まれる。
【0007】
発話区間の検出手法の1つとして、後掲の非特許文献1に開示された、確率モデルを使用するものがある。
図1を参照して、従来の発話区間検出の1手法は、隠れマルコフモデル(HMM)30を用いるものである。このHMM30は、始点40と終点42との間に、4つの状態44、46、48及び50を配置したものである。状態44、48及び50は、発話のない状態(以下「SIL」と書く)に対応する。状態46は、発話がある状態(以下「SP」と書く)に対応する。状態44、48及び50からの音響パラメータの出力確率は、発話のないときの音響モデルである雑音GMM(Gaussian Mixture Model)により表される。状態46からの音響パラメータの出力確率は、発話に基づいて予め準備された音響モデルである音声モデルSPにより表される。この例では、状態と状態との間に図示したような遷移リンクがある状態から次の状態への遷移リンクには同じ確率が割当てられている。例えば、状態46から出ていくリンクは自己へのリンクも含めて3つあるが、これらには全て1/3という遷移確率が割当てられている。
【0008】
なお、通常、音声認識による入力をする際には、ユーザは、何らかの形で音声認識の開始を音声認識装置に対して指示し(例えば発話開始のボタンを押す)、発話を開始する。ユーザは、発話が終わると、音声認識の終了を音声認識装置に対して指示する(例えば発話終了を示すボタンを押す)。したがって、発話区間検出の最初と最後には無音状態があることが想定され、それらの無音状態に挟まれた時間帯が発話区間となる。さらに、発話区間中にも無音の時間帯がところどころに存在すると考えられる。そうした遷移をモデル化したものが
図1に示すものである。
【0009】
従来は、このHMM30を用い、入力される音声データの特徴量に基づき、発話中である確率を音声モデルにより算出する。同様に、発話がない状態である確率を雑音モデルにより算出する。両者を比較し、雑音モデルから得られた確率よりも音声モデルから得られた確率の方が高い場合に発話中であると判定する。
【発明を実施するための形態】
【0022】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0023】
[第1の実施の形態]
《構成》
図2に、本発明の第1の実施の形態に係る音声認識システム60の構成を模式的に示す。
図2を参照して、この音声認識システム60は、インターネット62に接続され、各種端末に対して音声認識サービスを提供する音声認識サーバ64と、インターネット62を介して音声認識サーバ64と通信可能で、音声認識サーバ64による音声認識サービスを受けるための機能を備えた、この発明の第1の実施の形態に係る発話区間検出装置を採用した携帯電話66とを含む。
【0024】
携帯電話66は、本実施の形態ではいわゆるスマートフォンであって、タッチ操作が可能なタッチ・パネル・ディスプレイ72と、マイクロフォン70と、電話による通話を再生するスピーカ(図示せず)とを含む。
【0025】
携帯電話66から音声認識サーバ64には、発話の結果得られた音声特徴量のフレーム系列が送信される。フレームは、音声信号を所定の時間長でかつ所定のシフト長でデジタルデータ化したものである。本実施の形態の場合、携帯電話66から音声認識サーバ64に送信されるのは、各フレームの音声から得た所定の音響特徴量の系列である。各フレームには、そのフレームが発話区間であるか否かのフラグが付されている。音声認識サーバ64は、そのフラグに基づき、送信されてきた音声の内、発話区間に対しての音声認識を行ない、その結果のテキストデータを携帯電話66に対して送信するサービスを提供する。
【0026】
図3を参照して、携帯電話66の内、発話区間検出に関係する部分は、マイクロフォン70の出力する電気信号(以下「音声信号」と呼ぶ)に対し、音声認識サーバ64を用いた音声認識処理の内、携帯電話66側での処理を行なうフロントエンド処理部76とを含む。フロントエンド処理部76は、音声信号を所定シフト長で所定長のフレームに分け、各フレームについて所定の音響特徴量を算出し、音響特徴量からなるフレーム列に変換して出力する。このとき、フロントエンド処理部76は、各フレームにそのフレームが発話区間か否かを示すフラグを付す。
【0027】
携帯電話66はさらに、フロントエンド処理部76が出力するフラグ付きの音響特徴量の各フレームを一時記憶するための送信バッファ78と、送信バッファ78に記憶された音響特徴量のフレーム列をインターネット62(又は図示しない無線電話回線網)を介して音声認識サーバ64に送信し、その音声認識結果を音声認識サーバ64から受信してフロントエンド処理部76に渡して処理させる送受信部80と、フロントエンド処理部76により処理されたテキストデータを受けるアプリケーション74とを含む。なお、フロントエンド処理部76は、音声認識サーバ64から受信したテキストデータをタッチ・パネル・ディスプレイ72に一時表示し、必要な編集をした上でアプリケーション74に渡す機能を持つ。アプリケーション74は、ユーザから入力されるデータに基づいて動作するものであればどのようなものでもよい。
【0028】
フロントエンド処理部76は、マイクロフォン70からの音声信号をデジタル化し、所定シフト長で所定長のフレームに変換して出力するフレーム化処理部100と、フレーム化処理部100の出力するフレームの各々について、所定の音響特徴量を抽出して各フレームに付して出力する特徴抽出部102とを含む。本実施の形態では、特徴量として12次元のMFCC(Mel Frequency Cepstrum Coefficient)と、MFCCの時間微分である12次元ΔMFCCと、Δパワーとの25次元の特徴量を用いる。
【0029】
フロントエンド処理部76はさらに、特徴抽出部102の出力する、特徴量が付与されたフレームを一時的に蓄積するための、リングバッファからなるフレームバッファ104と、フレームバッファ104に格納されたフレーム列に基づいて、各フレームが発話区間に属するか否かを判定し、発話区間と判定されたフレームにフラグを立てながら所定時間毎に各フレームを順番に出力する発話区間検出部112と、発話区間検出部112が発話区間の検出の際の尤度計算に使用する3つの音響モデル、すなわち不特定話者モデル106、特定話者モデル108、及び無音モデル110と、送受信部80が音声認識サーバ64から受信した音声認識結果(テキストデータ)を受け、タッチ・パネル・ディスプレイ72に表示するテキスト処理部114と、タッチ・パネル・ディスプレイ72に対するユーザの入力を受け、タッチ・パネル・ディスプレイ72に表示されたテキストデータに対する編集処理を行なったり、編集が終了したテキストデータをアプリケーション74に引き渡したりするための制御部116とを含む。本実施の形態で使用する音響モデルはいずれもGMMである。
【0030】
なお、本実施の形態では、ユーザが音声認識処理を実行する際には、音声認識のためのフロントエンド処理のためのプログラムを立ち上げ、その画面に表示される発話開始ボタンを押して発話し、発話が終了したら発話終了ボタンを押すものとする。発話開始ボタンと発話終了ボタンとは、いずれもタッチ・パネル・ディスプレイ72に表示されるボタンである。発話中でないときには発話開始ボタンが表示され、発話中には発話終了ボタンが表示される。発話中でないときにはフロントエンド処理部76が発話区間の検出をする必要はないため、制御部116はフロントエンド処理部76の各構成要素の動作を停止させる。発話開始ボタンが押されると、制御部116はフロントエンド処理部76の各部の動作を開始させる。
【0031】
発話区間検出部112は、実質的には、HMMが与えられると、そのHMMのトポロジーにしたがった状態遷移を実現するためのコンピュータプログラムである。本実施の形態では、このHMMとして
図4に示すようなトポロジーを持つHMM130を用いる。後述するように、携帯電話66はプロセッサを持っており、そのプロセッサがこのプログラムを実行することにより、
図4に示すようなHMM130を用いた発話区間検出を実現できる。
【0032】
図4を参照して、このHMM130は、
図1に示すものと同様、始点40と終点42との間にいくつかのノードを配置し、ノードの間を遷移リンクでつないだものである。
【0033】
HMM130は、それぞれ発話区間でない状態(無音区間)に対応する3個のSIL状態140、146及び148と、不特定話者による発話中の状態に対応する2個のSP状態142及び150と、特定話者(携帯電話66のユーザ)による発話区間(以下「SPDx」と書く)に対応するSPDx状態144と、これらを結ぶ、状態間のリンクとを含む。
図4に示すHMM130では、始点40はSIL状態140とSP状態142とにリンクしている。SIL状態140は、SP状態142、SPDx状態144、及び自分自身にリンクしている。SP状態142は、SPDx状態144、SIL状態140、及び自分自身にリンクしている。SPDx状態144は、SP状態150、SIL状態148、SIL状態146、及び自分自身にリンクしている。SIL状態146は、SPDx状態144及び自分自身にリンクしている。SIL状態148は、SP状態150、終点42、及び自分自身にリンクしている。SP状態150は、SIL状態148、終点42、及び自分自身にリンクしている。
【0034】
本実施の形態では、ある状態から出ているリンクには、互いに等しい確率が割当てられている。すなわち、ある状態から出ているリンクの数が3つなら1/3が、4つなら1/4が、そのリンクに沿った遷移確率として各リンクに割当てられている。
【0035】
図3に示す発話区間検出部112は、上記したHMM130に基づく発話区間検出を実現するためのプログラムの構成を模式的に示したものである。発話区間検出部112は、HMM130のトポロジーを記述した制約条件を記憶する制約条件記憶部120と、各フレームの音響特徴量に対してそれぞれ不特定話者モデル106、特定話者モデル108、及び無音モデル110を適用することにより、そのフレームの音声が不特定話者を音源とするものである尤度、特定話者を音源とする尤度、及び無音である(環境音のみである)状態を音源とする尤度をそれぞれ算出するための第1〜第3の尤度計算部124、126、及び128と、制約条件記憶部120に記憶された制約条件と、尤度計算部124、12
6、及び12
8により算出された尤度とに基づいて、HMM130の状態遷移を計算し、処理対象のフレームの音声が特定話者により発話されたものか否かを判定し、当該フレームの発話区間フラグの値を判定結果にしたがって設定し出力するモデル適用部122とを含む。
【0036】
《動作》
音声認識システム60は以下のように動作する。
図2を参照して、携帯電話66のユーザは、最初に音声認識システム60の音声認識サービスを利用するためのアプリケーションを携帯電話66において起動する。タッチ・パネル・ディスプレイ72には、発話開始を指示するためのボタンが表示される。ユーザがこの発話開始ボタンを押すと、
図3に示す制御部116がその入力を検知し、フロントエンド処理部76の各部の動作を開始させる。
【0037】
マイクロフォン70は、音声を音声信号に変換し、フレーム化処理部100に与える。この音声信号は、ユーザの発話と、周囲の人の声と、発話のない状態とが混じり合ったものとなる。フレーム化処理部100は、この音声信号をデジタル化し、所定のシフト時間で所定長のフレームにフレーム化して特徴抽出部102に与える。特徴抽出部102は、各フレームのデジタル化された音声信号に対し、前述の特徴量の算出を行ない、特徴量からなるフレーム列を出力する。フレームバッファ104はFIFO方式でこのフレーム列を順次記憶し、出力する。
【0038】
発話区間検出部112は、フレームバッファ104に順次格納されるフレームについて、尤度計算部124、126及び128により、そのフレームの音響特徴量が、不特定話者による音声から得られた尤度と、音声認識の対象となる特定話者の音声から得られた尤度と、発話がない状態から得られた尤度とを計算する。モデル適用部122は、制約条件記憶部120に格納された制約条件と、これら尤度とにより、HMM130にしたがった状態遷移を計算する。計算の結果、現在の状態がSPDx状態144であると判定されれば、処理対象のフレームのフラグをセットしてそのフレームをフレームバッファ104から送信バッファ78に出力する。さもなければモデル適用部122は、処理対象のフレームのフラグをリセットしてそのフレームをフレームバッファ104から送信バッファ78に出力する。
【0039】
送信バッファ78は、フレームバッファ104から出力された各フレームを一旦蓄積する。送受信部80は、送信バッファ78に蓄積されたフレームから所定長のパケットを組立て、音声認識サーバ64に対して送信する。
【0040】
図2を参照して、音声認識サーバ64はこのパケットを受信すると、パケットからフレーム列を取出し、発話区間であるか否かのフラグを参照しながら音声認識を行なう。この音声認識の手法は、携帯電話66が抽出する音響特徴量と同じ音響特徴量を使用するものであればどのようなものでもよい。音声認識サーバ64は、音声認識の結果(認識結果のテキストデータ、及び、単語ごとの認識結果候補等からなる付随データ)を携帯電話66に送信する。
【0041】
図3を参照して、送受信部80は、この音声認識の結果を受信すると、そのデータをテキスト処理部114に与える。テキスト処理部114はタッチ・パネル・ディスプレイ72の音声認識結果の編集領域にこのテキストデータを表示し、ユーザに編集させる。この編集は音声認識結果の編集であって、例えば音声認識結果の一部の単語を別の候補で置換したりする処理のことをいう。編集が終了すると、制御部116は、編集結果として得られたテキストデータをアプリケーション74に与える。アプリケーション74はそのテキストデータを、例えばキーボードから入力されたものと同様、文書への入力として取扱ったり、コマンドとして解釈して指定された処理を実行したりする。
【0042】
《実験結果》
上記実施の形態に開示した手法による発話区間検出の有効性を確認するため、発話区間検出実験を行なった。実験対象となる音声データベースとしては、各GMMの学習用に音素バランス文データベース(TRA−BLA)と旅行会話文データベース(TRA)を、評価用に旅行会話基本表現集(BTEC)を、それぞれ用いた。これらはいずれも株式会社国際電気通信基礎技術研究所から入手可能である。
【0043】
評価用データセットは、背景雑音なしのもの(w/o BSN、ただし音声雑音でない雑音を含む)とありのもの(w/ BSN)を用意した。用意したデータセットの概略をテーブル1に示す。
【0044】
【表1】
雑音は、車及び電車等、20種類の環境雑音の中から15種類を選んで学習用及び適応用データベースに重畳した。残りの5種類は評価用データセット(w/o BSN、w/ BSN)に重畳した。SNRは15dB、20dB、25dB、及び35dBの4種類とした。BSNは発話区間の切出し対象発話とのSNRが12dBになるように重畳した。
【0045】
音響特徴量は、12次元のMFCC及びΔMFCC、並びにΔパワーの、合計25次元であった。サンプリング周波数は16kHz、フレーム長20ミリ秒、分析周期10ミリ秒で分析した。
【0046】
発話区間検出の評価には、下式に示すFalse Rejection Rate(FRR)及びFalse Acceptance Rate(FAR)を用いた。
【0047】
【数1】
ただしN
sは音声フレーム数、N
FRは音声を非音声として検出したフレーム数、N
nsは非音声フレーム数、N
FAは非音声を音声として検出したフレーム数である。
【0048】
上記実験の内、背景雑音を重畳した場合の音声に対して従来技術を用いた結果のFRR及びFARと、上記実施の形態を用い結果のFRR及びFARとを
図5に対比して示す。なお、
図5は、マルチクラスMLLR(最尤線形回帰)を用いた話者適応において、行列変換のクラス数Cを32として行なった実験の結果を示す。
図5を参照して、BSNを含むテストセットに対しては、上記実施の形態によりFAR及びFRRの双方とも従来と比較してかなり低下した。従来の技術では、BSNの区間が発話区間として判定されていたのに対し、上記実施の形態では、そうした領域が不特定話者GMM(SP)にアラインされることで非発話区間として判定されたためである。
【0049】
例を挙げる。
図6(A)を参照して、スペクトログラム180により表される音声信号に対して従来技術を用いて発話区間検出を行なったところ、区間192,196,200及び204が検出された。音声信号の最初と最後にはそれぞれ、無音区間190及び206が検出され、発話区間の途中に短い無音区間194、198、及び202が検出された。
【0050】
一方、全く同じ音声信号に対して上記実施の形態の技術を用いて発話区間検出を行なったところ、
図6(B)に示すように、特定話者の発話区間としては、
図6(A)で検出された発話区間よりはるかに短い区間242,248及び256が検出された。
図6(A)の場合と同様に、音声信号の最初と最後にはそれぞれ無音区間240及び258が検出されたが、
図6(A)で発話区間として検出されたかなりの部分(区間246、250及び254)が他の話者による発話区間として検出された。無音区間244及び252も検出されたが、これらも
図6(A)の場合と多少異なっている。
【0051】
図6(A)及び
図6(B)を比較して明らかなように、従来技術では、主たる話者の発話区間以外を誤って発話区間として検出していることが分かる。こうした誤検出により、後段の音声認識処理では発話者以外の音声を原因とする単語挿入誤りが発生してしまう。それに対し、上記実施の形態によれば、他人の発話を発話区間として検出してしまうことが少なくなり、単語挿入誤りを少なくできる。
【0052】
なお、クラス数=1,8の場合についても同様の実験を行なったが、クラス数Cの値を大きくするほどFAR及びFRRの値が下がる(精度があがる)傾向が見られた。したがって、適応の際のクラス数としてはある程度大きいものが必要である。
【0053】
なお、BSNなしのデータセットに対する評価結果はここには示していないが、上記実施の形態によるFRRの値は従来技術より低下するが、FARについては若干上昇した。
【0054】
以上のとおり、この第1の実施の形態によれば、背景の人の声が存在する環境下でも、発話者の発話区間を従来よりも高い精度で検出できる。この結果を用いることにより、後段の音声認識の精度を高めることができる。複数のマイクロフォンを使用したりする必要もなく、例えば携帯電話等に適宜組込むことが容易に行なえる。
【0055】
[第2の実施の形態]
《構成》
上記第1の実施の形態では、発話区間検出にHMMを用いていた。このHMMは、フレームごとに各モデルの出力する尤度にだけ依存して発話区間を検出する場合の検出結果を平滑化する機能を持つ。同様の平滑化は、HMM以外を用いて実現することもできる。例えばハングオーバによる手法がある。この第2の実施の形態は、HMMではなくハングオーバ方式により発話区間の検出結果を平滑化するものである。
【0056】
図7を参照して、この第2の実施の形態に係る携帯電話280が第1の実施の形態の携帯電話66と異なるのは、携帯電話66のフロントエンド処理部76の代わりに、上記したハングオーバ方式により発話区間検出の結果を平滑化する処理を行なうフロントエンド処理部290を含むことである。
【0057】
フロントエンド処理部290は、フレームバッファ104の出力を受けるように接続され、リングバッファを用いて平滑化処理を行なう平滑化処理部302を新たに含む点と、尤度計算部124、126及び128の出力を比較してどの尤度が最も高いかを定め、その結果を平滑化処理部302に与える尤度比較部300を、制約条件記憶部120及びモデル適用部122に代えて含む点とである。
【0058】
平滑化処理部302の機能について、
図8及び
図9を参照して簡単に説明する。
図8を参照して、尤度計算部124、126及び128の出力は、発話区間の音源候補と考えることができる。これらを単純に比較し、その結果を発話区間検出に用いると、例えばフレーム320、322、324、326、328、及び330のように、同一のモデルに対応する音源が音源候補であると判定される一連の連続したフレームの中に、ごく短時間(例えば1フレーム)だけ、他のモデルに対応する音源からの音声と判定されるものが存在する場合がある。通常は、発話はある程度の時間連続して行なわれるので、このように断続的に音源の判定が変化するのは好ましくない。そこで、
図8に示す例えばフレーム320のように、一連の同一音源からと判定されたフレームについては、ごく短時間だけ他の音源からの音声と判定されたフレームが間に存在していても、連続したものとみなす処理をする。そうした処理により、例えば
図9に示すように、ある音源からの音声が安定してある時間続くような発話区間検出の結果を得ることができる。
【0059】
図7に示す平滑化処理部302は、ソフトウェアで実現できる。例えば音声認識に関する規格ETSI ES 202 212 v1.1.2の90頁〜91頁に記載された方式を採用しても良い。
図10に、この規格を実現するコンピュータプログラムの制御構造をフローチャート形式で示す。この処理は、所定個数(N個とする)の記憶ロケーションを持つリングバッファを用いて平滑化を行なう。以下の処理で使用する記号とその意味を以下の表に示す。
【0061】
なお、
図10に示す処理は、平滑化のためのバッファの全体にフレームのデータが格納された後に行なわれる処理である。この処理では、バッファ内にフレームのデータが格納され、FIFO方式で出力されていく。
【0062】
図10を参照して、このプログラムは、次のフレームの音響特徴量を読むステップ350と、特定話者、不特定話者、及び無音の音響モデルを用いて、入力されたフレームの音声が特定話者、不特定話者、及び無音状態からのものである尤度P
SPDx、P
SP、及びP
SILを算出するステップ352と、尤度P
SPDxが尤度P
SP及びP
SILのいずれよりも大きいか否かを判定するステップ354及び356と、ステップ354及び356の判定がいずれも肯定的である場合に、このフレームの音声が特定話者のものであることを示すフラグをTRUEにセットするステップ358と、それ以外の場合にFALSEに設定するステップ360とを含む。
【0063】
さらにこのプログラムは、バッファ内で「TRUE」フレームが連続する最長の長さMを求め、変数Mに代入するステップ362と、変数Mの値が、しきい値TH
P以上でかつタイマー時間L
Sより小さいか否かを判定するステップ364と、ステップ364の判定が肯定的であるときに、ハングオーバの残り時間を示す変数Tにしきい値L
Sを代入するステップ366とを含む。
【0064】
このプログラムはさらに、ステップ364の判定が否定のとき、及びステップ364の判定が肯定的でかつステップ366の処理が終了したときに実行され、変数Mの値がしきい値TH
L以上でかつ現在のフレーム番号が、初期の過度時間F
Sより大きいか(すなわち初期の過渡時間の経過後か)否かを判定するステップ368と、ステップ368の判定が肯定的であるときに、ハングオーバの残り時間の変数Tに中程度のタイマー時間L
Mを代入するステップ370と、ステップ368の判定が否定的であるときに、変数Tに短いタイマー時間L
Lを代入するステップ372とを含む。
【0065】
このプログラムはさらに、ステップ370及び372の後、変数Mの値がしきい値THPより小さくかつハングオーバ時間を示す変数Tの値が正か否かを判定するステップ374と、ステップ374の判定が肯定的であるときに、変数Tの値を1減算するステップ376と、ステップ374及び376の処理終了後、変数Tの値が正か否かを判定するステップ378と、ステップ378の判定が肯定的であるときに、バッファの先頭に存在するフレームの音声が特定話者によるものであるか否かを示すフラグとしてTRUEを出力するステップ380と、ステップ378の判定が否定的であるときに、FALSEを出力するステップ382と、ステップ380及び382の後に、処理対象を次のフレームに進めるステップ384と、バッファを左に1シフトし、制御をステップ350に戻すステップ386とを含む。
【0066】
《動作》
この実施の形態に係る携帯電話280は、第1の実施の形態に係る携帯電話66と同様に動作する。異なるのは、第1の実施の形態に係る、HMMを用いた処理に代えて、
図10に示すハングオーバ方式の処理により、3つの音響モデルから得られた結果を平滑化する点だけである。
【0067】
《変形例》
上記第1の実施の形態では、
図4にトポロジーを示すHMM130を用いた。しかし本発明をHMMで実施する際には、HMMのトポロジーは
図4に示すようなものには限定されない。例えば、
図11に示すようなHMMを使用することもできる。
【0068】
図11に示すHMM400が
図4に示すHMM130と異なるのは、新たにSP状態410を持ち、このSP状態410とSPDx状態144との間で相互に遷移するリンクと、SP状態410から出てSP状態410に遷移するリンクとを持つ点である。その他の点ではHMM400はHMM130と同じトポロジーを持つ。
【0069】
HMM400を用いると、特定話者の発話中に無音区間がある場合だけでなく、背景に発話による雑音がある場合に、それらを発話区間から排除できるという効果がある。また、この場合、モデルのトポロジーが第1の実施の形態に係るモデルのものと異なるだけであって、HMM400を採用した発話区間検出装置を実現するためのソフトウェア構成は、第1の実施の形態に係るもののソフトウェア構成と同じでよい。
【0070】
上記実施の形態では、25次元の特徴量を用いた。しかし、特徴量がこのようなものに限定されるわけではない。また、上記実施の形態では、HMMの各状態から出るリンクには、いずれも同じ確率が割当てられている。しかし本発明はそのような実施の形態に限定されるわけではない。すなわち、これらの遷移確率を互いに等しくする必要はない。例えば、これらの遷移確率を実際の環境から学習してもよい。そのようなことができれば、発話区間の検出精度を高くできる可能性がある。
【0071】
上記実施の形態では、携帯電話66及び携帯電話280からは全てのフレームが音声認識サーバ64に送信されている。しかし本発明はそのような実施の形態には限定されない。発話区間のフレームのみを音声認識サーバ64に送信してもよい。さらに、上記実施の形態では、音響特徴量と発話区間を示すフラグのみを音声認識サーバ64に送信しているが、これに加えて音声データそのものを音声認識サーバ64に送信するようにしてもよい。そのようにする場合には、音声認識サーバ64で再度音響特徴量を算出できるため、携帯電話66又は携帯電話280の発話区間検出のための音響特徴量と、音声認識サーバ64での音声認識のための特徴量とが同じである必要はなくなる。もっとも、通信トラフィックを減少させ、処理時間を早めるという意味では、上記した実施の形態のように特徴量と発話区間のフラグのみを送るようにすることが望ましい。
【0072】
上記実施の形態では、発話区間検出は携帯電話66又は携帯電話280で行ない、音声認識は音声認識サーバ64で行なっている。しかし本発明はそのような実施の形態には限定されない。例えば、これらを全て単独の装置(例えば携帯電話、又はコンピュータ)で実現してもよい。その場合には、上記実施の形態で必要とされた通信のための処理が省略できることは明らかである。
【0073】
《ハードウェア》
上記した第1及び第2の実施の形態に係る携帯電話66及び携帯電話280を実現するための典型的なハードウェア構成について
図12に示す。以下、これらを代表して携帯電話66に関するハードウェア構成を説明する。
【0074】
図12を参照して、携帯電話66は、タッチ・パネル・ディスプレイ72及びマイクロフォン70に加え、CPU470、ROM472、図示しないキャッシュメモリ、及び周辺機器とのインターフェイスを持つプロセッサ420と、プロセッサ420の制御にしたがってタッチ・パネル・ディスプレイ72の表示を制御する表示制御部440と、タッチ・パネル・ディスプレイ72に対するユーザのタッチ入力を検知し、検知結果をプロセッサ420に与えるタッチセンサ制御部436とを含む。
【0075】
携帯電話66はさらに、マイクロフォン70及びスピーカ434と、マイクロフォン70及びスピーカ434とプロセッサ420とに接続され、音声の符号化及び復号化を行なう音声コーデック430と、携帯電話66の各部への電源供給と、図示しないバッテリの充電状態の監視とを行なうための電源管理部428と、加速度センサ及びスイッチ等を含む、プロセッサ420に接続される各種センサ426と、プロセッサ420が記憶領域として使用するとともに、上記した処理を実行するためのプログラム等を記憶したメモリ424と、クロック422とを含む。
【0076】
携帯電話66はさらに、いずれもプロセッサ420に接続された、GPS(Global Positioning System)446と、無線による近距離通信を行なう近距離通信部448と、Wi−Fi通信を行なうWi−Fi通信部450と、無線による電話通信を行なうモデム452と、カメラインターフェイス444とを含む。カメラインターフェイス444にはカメラ442が接続されている。
【0077】
第1の実施の形態に係る携帯電話66のフロントエンド処理部76、及び第2の実施の形態に係る携帯電話280のフロントエンド処理部290は、いずれも
図12に示すハードウェアが所定のプログラムを実行することにより、プログラムの制御の下で携帯電話66及び280のハードウェアを動作させることで実現される。上記したメモリ424は、例えば複数個のメモリチップを含み、少なくともその一部はフラッシュメモリのように不揮発性であることが望ましい。上記した処理を実現するプログラムは、この不揮発性メモリに書きこまれており、実行時に読出され、随時読出及び書込み可能なメモリに展開され、図示しないプログラムカウンタにより指定されたアドレスから順次読出され、CPU470により実行される。さらに、不特定話者モデル106、特定話者モデル108、及び無音モデル110も、上記実施の形態ではそうした不揮発性のメモリに予め書き込まれる。
【0078】
なお、上記実施の形態の説明では記載していないが、携帯電話66及び280で特定話者の音声を収集することが望ましい。そうした音声は、特定話者モデル108の音響モデルの学習を行なう際に用いることができるし、背景雑音も区別できれば、不特定話者モデル106、無音モデル110の学習に用いることもできる。この場合、ユーザが音声認識の対象としては意識していない発話(通常の通話等)についての音声を収集することもでき、この点は音声認識サーバ64の側で話者ごとに音声データを収集する場合と比較して明らかに有利である。
【0079】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。