(57)【要約】【課題】  環境雑音が予測不可能な状況でも、高い精度で音信号の発音期間を特定する。【解決手段】  音信号処理装置１０のトリガ信号取得部１１３は、音信号認識装置４０に音信号の認識を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得する。特定部１１４は、マイク２０からの音信号のうちトリガ信号取得時以降の音信号のレベルのトリガ信号取得時以前の音信号のレベルに対する比をＳ／Ｎ比として算出し、Ｓ／Ｎ比が所定の条件を満たす期間を発音期間として特定する。トリガ信号取得の契機となるイベントとしては、音信号処理装置へのユーザの接触、設置エリアへのユーザの入場等、各種のものがあり得る。【選択図】図１
2008170806.tif 000002
【特許請求の範囲】
【請求項１】
継続的に音信号を取得する音信号取得手段と、
現時点を終点とする過去の所定期間において前記音信号取得手段により取得された音信号を記憶し保持する記憶手段と、
前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得するトリガ信号取得手段と、
前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に前記音信号取得手段により取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、前記記憶手段に記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりＳ／Ｎ比を算出し、前記Ｓ／Ｎ比が所定の条件を満たすか否かを判定することにより、前記判定期間内に前記音信号取得手段により取得された音信号のうち発音期間の部分を特定する特定手段と
を備えることを特徴とする音信号処理装置。
【請求項２】
前記音信号処理装置は、ネットワークを介して音信号の認識または解析を利用したサービスを受けるために用いられる端末に設けられ、
前記トリガ信号取得手段は、前記音信号の認識または解析を利用したサービスについてのサービス開始許可メッセージを前記端末が受信したとき、その受信イベントを前記トリガ信号として取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項３】
前記トリガ信号取得手段は、所定のキーフレーズが発声されたとき、キーフレーズの終了を検出して前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項４】
前記特定手段は、前記キーフレーズの発声期間または発声された可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間を設定することを特徴とする請求項３に記載の音信号処理装置。
【請求項５】
前記音信号処理装置は、ネットワークを介して音信号の認識または解析を利用したサービスを受けるために用いられる端末に設けられ、
前記トリガ信号取得手段は、サービスの開始に先立って行われる前処理または前処理のためになされる端末の操作を検出して前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項６】
前記音信号処理装置は、その使用開始に当たってユーザによって回動またはスライドされる可動部を具備する携帯型電子機器に設けられ、
前記トリガ信号取得手段は、前記可動部の動きを検出することにより前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項７】
前記特定部は、前記可動部の動きに起因したノイズが発生した可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間および前記判定期間を設定することを特徴とする請求項６に記載の音信号処理装置
【請求項８】
前記音信号処理装置は、携帯型電子機器に設けられ、
前記トリガ信号取得手段は、前記携帯型電子機器が人体に接触したことを検出して前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項９】
前記音信号処理装置は、ロック機能を有する携帯型電子機器に設けられ、
前記トリガ信号取得手段は、前記携帯型電子機器のロックを解除する操作を検出して前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項１０】
前記音信号処理装置は、所定エリアへ入場するユーザにサービスを提供するゲートシステムに設けられ、
前記トリガ信号取得手段は、前記所定エリアへのユーザの入場を検出して前記トリガ信号を取得することを特徴とする請求項１に記載の音信号処理装置。
【請求項１１】
前記音信号処理装置は、必要な情報の発声を促す音声ガイダンスを放音する案内手段を具備し、
前記トリガ信号取得手段は、前記音声ガイダンスの放音終了イベントをトリガ信号として取得し、
前記特定手段は、前記音声ガイダンスの放音期間または放音された可能性のある期間を不感帯とし、この不感帯を避けて前記ノイズレベル測定期間を設定することを特徴とする請求項１に記載の音信号処理装置。
【請求項１２】
前記特定手段は、前記トリガ信号の取得時点の近傍に不感帯を設け、この不感帯を避けて前記ノイズレベル測定期間または前記判定期間を設定することを特徴とする請求項１に記載の音信号処理装置。
【請求項１３】
継続的に音信号を取得する処理と、
現時点を終点とする過去の所定期間において取得された音信号を記憶し保持する処理と、
前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得する処理と、
前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりＳ／Ｎ比を算出し、前記Ｓ／Ｎ比が所定の条件を満たすか否かを判定することにより、前記判定期間内に取得された音信号のうち発音期間の部分を特定する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音信号から発音期間の音を示す部分を特定する技術に関する。
【背景技術】
【０００２】
音声認識やピッチ検出等の音信号の認識や解析を行う処理においては、発音期間、すなわち音声や楽器音が発音されている期間と、非発音期間、すなわち音声や楽器音が発音されていない期間とを区別することが必要である。なぜなら、非発音期間においても通常の音空間には必ず環境雑音が存在するため、仮に発音期間と非発音期間の区別を行うことなく全ての期間において音声認識やピッチ検出等の処理を行うと、非発音期間において環境雑音に基づき誤った処理の結果が得られる可能性があるためである。また、本来処理が不要である非発音期間の音に関し音声認識やピッチ検出等の処理を行うことは無意味であり、処理装置のリソースを無駄に消費する等の観点から好ましくない。
【０００３】
音信号における発音期間と非発音期間を区別する方法としては、取得された音信号のＳ／Ｎ（Ｓｉｇｎａｌ−Ｎｏｉｓｅ）比が予め定められたＳ／Ｎ比の閾値を上回る期間を発音期間として特定する方法が広く用いられている。しかしながら、非発音期間における環境雑音のレベルは音信号の取得される環境において様々に変化する。従って、固定的なノイズレベルを用いたＳ／Ｎ比により発音期間の特定を行うと、環境雑音のレベルが高い環境において取得された音信号においては非発音期間が誤って発音期間と特定されたり、環境雑音のレベルが低い環境において取得された音信号においては発音期間が誤って非発音期間と特定されたりする。
【０００４】
上記の問題を解決するために、例えば特許文献１には、音声付映像情報から音声情報を抽出するにあたり、音声付映像情報が示すコンテンツのジャンルに応じて異なるノイズレベルを用いる技術が開示されている。
【０００５】
また、例えば特許文献２には、音信号を所定時間長のフレームに分割し、過去に非発音期間と特定されたフレームの属性値に基づき後続のフレームにおけるＳ／Ｎ比の算出に用いるノイズレベルを更新する技術が開示されている。
【特許文献１】特開２００３−１０１９３９号公報
【特許文献２】特開２００１−２６５３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、携帯端末等のユーザに音声認識等を利用したサービスを提供するようなシステムでは、端末の環境雑音のレベルがどのように変化するかを予め予測することは容易ではないため、特許文献１に開示されるように予めノイズレベルを変更するための基準を与えることも困難である。
【０００７】
また、特許文献２に開示されるような技術を用いる場合、まず過去のフレームに関し何らかの方法で非発音期間であるか否かの判定を行う必要があり、その判定において用いるノイズレベルを如何に与えるかが問題となる。すなわち、ノイズレベルの初期値が不適当であると発音期間の特定結果の精度が低くなる。
【０００８】
なお、ユーザによる楽器の演奏音のピッチ検出を行うピッチ検出装置等においても、上述した音声による本人認証を行う端末装置と同様の課題がある。
【０００９】
上記の状況に鑑み、本発明は、環境雑音の変化が予測不可能な状況においても、高い精度で音信号における発音期間の特定を可能とする手段を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を達成するために、本発明は、継続的に音信号を取得する音信号取得手段と、現時点を終点とする過去の所定期間において前記音信号取得手段により取得された音信号を記憶し保持する記憶手段と、前記音信号の認識または解析を行う装置に前記音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントをトリガ信号として取得するトリガ信号取得手段と、前記トリガ信号の取得時以後に始点を持つ期間を判定期間とし、この判定期間内に前記音信号取得手段により取得された音信号を用いてサウンドレベルの指標値を算出し、前記トリガ信号の取得時点以前に始点および終点を持つ期間をノイズレベル測定期間とし、前記記憶手段に記憶された音信号であって前記ノイズレベル測定期間内のものを用いてノイズレベルの指標値を算出し、前記サウンドレベルの指標値を前記ノイズレベルの指標値で除すことによりＳ／Ｎ比を算出し、前記Ｓ／Ｎ比が所定の条件を満たすか否かを判定することにより、前記判定期間内に前記音信号取得手段により取得された音信号のうち発音期間の部分を特定する特定手段とを備えることを特徴とする音信号処理装置を提供する。また、本発明は、上記の音信号処理装置により行われる処理をコンピュータに実行させるプログラムを提供する。
【００１１】
かかる発明によれば、音信号の認識または解析を行う装置に音信号の認識または解析を開始させる条件の少なくとも一部を満たすイベントがトリガ信号として取得され、このトリガ信号の取得時以後に始点を持つ期間が判定期間内に取得された音信号を用いてサウンドレベルの指標値が算出され、トリガ信号の取得時点以前に始点および終点を持つノイズレベル測定期間内に取得された音信号を用いてノイズレベルの指標値が算出される。そして、判定期間内の音信号について、サウンドレベルの指標値をノイズレベルの指標値で除したＳ／Ｎ比が所定の条件を満たすか否かにより、発音期間の部分が特定される。従って、本発明によれば、音信号処理装置の周囲の環境雑音の変化が予測不可能な状況においても、高い精度で音信号における発音期間を特定することができる。
【発明を実施するための最良の形態】
【００１２】
＜Ａ．基本的な形態＞
［Ａ−１．構成］
図１は本発明の一実施形態にかかる音信号処理システム１の構成を示すブロック図である。音信号処理システム１は、取得した音信号における発音期間を特定して特定した発音期間の音信号を出力する音信号処理装置１０、置かれた音空間における音を収音し音信号に変換して音信号処理装置１０に対し出力するマイク２０、音信号処理装置１０から出力される音信号の特徴量を抽出し予め記憶している特徴量と比較することにより音信号により示される音声の話者を特定する音信号認識装置４０を備えている。
【００１３】
なお、音信号認識装置４０は、音信号処理装置１０により出力される音信号の認識または解析を行う装置の一例である。音信号処理装置１０により出力される音信号の認識または解析を行う装置は、楽音のピッチを特定する装置等の他の装置であってもよい。
【００１４】
音信号処理装置１０は、マイク２０から音信号を取得して各種処理を行うとともに音信号処理装置１０の他の構成部を制御する制御部１１、制御部１１による各種処理を指示するプログラムおよび制御部１１により利用される各種データを記憶するとともに制御部１１のワークエリアとして用いられる記憶部１２、音信号を音信号認識装置４０に対し出力する音信号出力部１３、所定時間間隔でクロック信号を生成する発振器１４を備えている。音信号処理装置１０の各構成部は発振器１４により生成されるクロック信号により必要に応じて処理の同期や計時を行う。
【００１５】
制御部１１は、マイク２０から音信号を受け取る音信号取得部１１１、音信号取得部１１１が受け取った音信号をアナログ信号からデジタル信号に変換し所定時間長ごとのフレームに区分して記憶部１２に順次記憶させるＡ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）コンバータ１１２、音信号の処理を行う装置またはソフトウェア（図１の例では音信号認識装置４０）に音信号の処理を開始させる条件の少なくとも一部を満たすイベントを検出することによりトリガ信号を取得するトリガ信号取得部１１３、トリガ信号取得部１１３によるトリガ信号の取得をトリガとして記憶部１２に順次記憶される音信号における発音期間を特定する特定部１１４を備えている。
【００１６】
記憶部１２がＡ／Ｄコンバータ１１２から受け取るフレームには、各フレームを識別するために時系列順にフレーム番号が採番される。以下の説明において、フレーム番号は４桁の整数であり、例えばフレーム番号「０００１」のフレームをフレーム「０００１」のように呼ぶ。なお、以下の説明において、Ａ／Ｄコンバータ１１２により生成されるデジタル信号はＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）形式の音波形データであるものとするが、これに限られない。また、以下の説明においてＡ／Ｄコンバータ１１２により記憶部１２に記憶される音信号のフレームの長さは１０ミリ秒であるものとするが、これに限られない。
【００１７】
さらに、特定部１１４は記憶部１２に順次記憶される音信号のフレームの各々に対しＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）アルゴリズムに従った処理を行い当該フレームに含まれる周波数成分を算出するＦＦＴ部１１４１、ＦＦＴ部１１４１により算出された周波数成分の振幅を用いてフレームのＳ／Ｎ比を算出するＳ／Ｎ比算出部１１４２、Ｓ／Ｎ比算出部１１４２により算出されたＳ／Ｎ比が所定の条件を満たすか否かを順次判定することにより発音期間の開始時点および終了時点を特定する条件判定部１１４３を備えている。Ｓ／Ｎ比算出部１１４２および条件判定部１１４３による具体的な処理内容は後述の動作説明において明らかにする。
【００１８】
記憶部１２には、音信号のフレームを一時的に格納するための領域として、第１バッファ１２１および第２バッファ１２２が設けられている。第１バッファ１２１は、音信号処理装置１０が動作を開始してからトリガ信号取得部１１３によりトリガ信号が取得されるまでの間、および前回の発音期間の特定処理がユーザの操作等により終了された後から再びトリガ信号取得部１１３によりトリガ信号が取得されるまでの間、Ａ／Ｄコンバータ１１２により順次生成されるフレームを過去の所定時間長分だけ格納するための領域である。以下、第１バッファ１２１にフレームの格納が行われる期間を「待機期間」と呼ぶ。また、以下の説明において第１バッファ１２１に格納可能なフレームは１０個、すなわち１００ミリ秒分であるものとするが、これに限られない。
【００１９】
図２は第１バッファ１２１の構成を模式的に示した図である。説明を簡単にするため、図示の例では、第１バッファ１２１は１０個の領域に分割されており、各領域は「−００１０」乃至「−０００１」の番号により識別される。以下、例えば番号「−００１０」により識別される領域を領域「−００１０」のように呼ぶ。第１バッファ１２１において、領域「−００１０」に格納されるフレームが最も古く、領域「−０００１」に格納されるフレームが最も新しくなるように、取得順にフレームが各領域に格納される。なお、図２においては、領域「−００１０」乃至「−０００１」にフレーム「００８５」乃至「００９４」が各々格納されている様子が例示されている。
【００２０】
待機期間中、記憶部１２は１０ミリ秒間隔でＡ／Ｄコンバータ１１２から新たなフレームを受け取り、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）により第１バッファ１２１の内容を継続的に更新する。なお、図２においては領域「−００１０」乃至「−０００１」が固定的な位置に描かれているが、記憶部１２における各領域の物理的な位置は固定される必要はなく、例えば記憶部１２の任意の記憶領域に記憶されたフレームをポインタにより参照することにより、第１バッファ１２１が実現されてもよい。その場合、ポインタを更新することにより第１バッファ１２１の内容更新が高速に行われる。
【００２１】
第２バッファ１２２は、トリガ信号取得部１１３によりトリガ信号が取得された後、ユーザの操作等により発音期間の特定処理が終了されるまでの間、Ａ／Ｄコンバータ１１２により順次生成されるフレームを過去の所定時間長分だけ記憶するための領域である。以下、第２バッファ１２２にフレームの格納が行われる期間を「判定期間」と呼ぶ。なお、以下の説明において第２バッファ１２２に格納可能なフレームは６０００個、すなわち６０秒分であるものとするが、これに限られない。
【００２２】
図３は第２バッファ１２２の構成を模式的に示した図である。説明を簡単にするため、図示の例では、第２バッファ１２２は６０００個の領域、すなわち領域「０００１」乃至「６０００」に分割されている。第２バッファ１２２において、領域「０００１」に格納されるフレームが最も古く、領域「６０００」に格納されるフレームが最も新しくなるように、取得順にフレームが各領域に格納される。なお、図３においては、領域「０００１」、「０００２」、「０００３」・・・にフレーム「００９５」、「００９６」、「００９７」・・・が各々格納されている様子が例示されている。また、図３に示される領域「５９９６」乃至「６０００」が空欄となっているのは、図３が判定期間の開始後まだ６０秒が経過しておらず、第２バッファ１２２の末尾付近の領域に未だフレームが格納されていない状態を例示しているためである。
【００２３】
判定期間中、記憶部１２は１０ミリ秒間隔でＡ／Ｄコンバータ１１２から新たなフレームを受け取り、ＦＩＦＯにより第２バッファ１２２の内容を継続的に更新する。なお、第２バッファ１２２に含まれる各領域の物理的な位置が固定される必要はない点は、第１バッファ１２１の場合と同様である。
【００２４】
記憶部１２には、さらに、判定期間中にＳ／Ｎ比算出部１１４２により生成されるノイズレベルデータ１２３およびサウンドレベルデータ１２４が一時的に格納される。ノイズレベルデータ１２３は、トリガ信号取得部１１３によりトリガ信号が取得された時点において第１バッファ１２１に記憶されているフレームの振幅に関する属性値を示すデータである。一方、サウンドレベルデータ１２４は判定期間中に第２バッファ１２２に順次格納されるフレームの振幅に関する属性値を示すデータである。ノイズレベルデータ１２３およびサウンドレベルデータ１２４の具体的内容は後述の動作説明において述べる。
【００２５】
また、記憶部１２には、判定期間中に条件判定部１１４３により生成される発音期間データ１２５が一時的に格納される。発音期間データ１２５は発音期間の先頭のフレーム番号および末尾のフレーム番号を示すデータである。発音期間データ１２５により、先頭のフレームの開始時点が発音期間の開始時点として特定され、同様に末尾のフレームの終了時点が発音期間の終了時点として特定される。なお、発音期間データ１２５の形式はフレーム番号を用いるものに限られず、例えば発音期間の開始時点および終了時点を時刻データにより特定する等、他に様々なものが考えられる。
【００２６】
［Ａ−２．動作］
次に、音信号処理システム１の動作を説明する。
マイク２０は常時、音信号処理システム１の配置された音空間の音を示す音信号を音信号処理装置１０に対し出力している。音信号処理装置１０の音信号取得部１１１はマイク２０から音信号を受け取ると、受け取った音信号を順次、Ａ／Ｄコンバータ１１２に引き渡している。そして、Ａ／Ｄコンバータ１１２は音信号取得部１１１から音信号を受け取ると、受け取った音信号をデジタル信号に変換した後、記憶部１２に順次引き渡し、フレーム単位で記憶させている。トリガ信号取得部１１３がトリガ信号を受け取る前の待機期間では、Ａ／Ｄコンバータ１１２は、記憶部１２に対し、引き渡す音信号を第１バッファ１２１に格納するように指示している。その結果、第１バッファ１２１には常に待機期間中における直近の最大１０フレーム分の音信号が格納されていることになる。このように第１バッファ１２１に格納されている音信号は、未だユーザによる発音（発声）が行われていない状態における音空間内の音、すなわち環境雑音の音を示す音信号である。
【００２７】
上記の状態において、音信号の認識または解析を行う装置の一例である音信号認識装置４０が音信号の処理（この場合、音信号の認識処理）を開始する条件の少なくとも一部を満たすイベント（例えばユーザ認証の完了）が発生すると、トリガ信号取得部１１３は、このイベントを検出し、トリガ信号をＡ／Ｄコンバータ１１２および特定部１１４に引き渡す。
【００２８】
Ａ／Ｄコンバータ１１２は、トリガ信号取得部１１３からトリガ信号を受け取ると、その後、生成する音信号を記憶部１２に記憶させる際、第２バッファ１２２に記憶するように指示する。その結果、第２バッファ１２２には常に判定期間中における直近の最大６０００フレーム分の音信号が格納されていることになる。また、判定期間中において、待機期間中に格納された第１バッファ１２１の内容は保持されている。
【００２９】
一方、特定部１１４は、トリガ信号取得部１１３からトリガ信号を受け取ると、第２バッファ１２２に順次格納される音信号における発音期間の特定処理を開始する。まず、ＦＦＴ部１１４１は、第１バッファ１２１に記憶されている直近のフレーム、すなわち領域「−０００１」に格納されているフレームに関し、ＦＦＴ処理を行い、各々のフレームの音信号に含まれる各周波数の成分を示す複素数を算出する。以下、説明のため、第１バッファ１２１の領域「−０００１」に格納されているフレームがフレーム「００９４」であるものとする。
【００３０】
以下の説明において、ＦＦＴ部１１４１はＦＦＴ処理により、複数の周波数の成分を示す複素数（Ｒ１＋Ｉ１ｉ）、（Ｒ２＋Ｉ２ｉ）、（Ｒ３＋Ｉ３ｉ）、・・・、（ＲＮ＋ＩＮｉ）を算出するものとする。ただし、ここで「ｉ」は虚数単位であり、ＲｎおよびＩｎ（ｎは１〜Ｎ、ＮはＦＦＴｂｉｎの数）はそれぞれ実数部および虚数部の数値である。
【００３１】
ＦＦＴ部１１４１は上記のように算出した周波数成分を示す複素数群をＳ／Ｎ比算出部１１４２に引き渡す。Ｓ／Ｎ比算出部１１４２は、ＦＦＴ部１１４１から受け取った複素数群を用いて、複数の周波数帯域に含まれる周波数の複素数群から、予め区分された複数の周波数帯域ごとに、音信号の成分に関する振幅の指標を算出する。以下の説明においては、Ｓ／Ｎ比算出部１１４２は図４に示す５つの周波数帯域の各々に関し、以下の（式１）乃至（式５）に従って周波数帯域ごとのパワー：Ｆｍ（ｍは周波数帯域番号）を算出する。ここで、ｂｍ：所望帯域の最低周波数に対応するＦＦＴｂｉｎの番号、ｅｍ：所望帯域の最高周波数に対応するＦＦＴｂｉｎの番号とする。
【数１】
2008170806.tif 000003
【００３２】
以下、ＦＦＴ部１１４１およびＳ／Ｎ比算出部１１４２によりフレーム「００９４」に格納されているフレームに関し上記のように算出されたＦ１、Ｆ２、・・・、Ｆ５をＦ００９４＿１、Ｆ００９４＿２、・・・、Ｆ００９４＿５のように呼ぶ。
【００３３】
続いて、ＦＦＴ部１１４１およびＳ／Ｎ比算出部１１４２は、第１バッファ１２１の領域「−０００２」乃至「−０００５」に格納されているフレームの各々に関しても、同様に周波数帯域ごとのパワー、すなわちＦ００９３＿１乃至Ｆ００９３＿５、Ｆ００９２＿１乃至Ｆ００９２＿５、Ｆ００９１＿１乃至Ｆ００９１＿５、Ｆ００９０＿１乃至Ｆ００９０＿５を算出する。
【００３４】
続いて、Ｓ／Ｎ比算出部１１４２は以下の（式６）に従って周波数帯域ごとのノイズレベル：ＮＬｍ（ｍは周波数帯域番号）を算出する。ただし、（式６）におけるｔはフレーム番号を示し、この場合ｋ＝００９０である。
【数２】
2008170806.tif 000004
【００３５】
Ｓ／Ｎ比算出部１１４２は上記のようにＮＬ１乃至ＮＬ５を算出すると、それらの数値群を示すデータをノイズレベルデータ１２３として記憶部１２に記憶させる。このように記憶部１２に記憶されるノイズレベルデータ１２３は、環境雑音のレベルを所定の周波数帯域ごとに示すデータである。
【００３６】
続いて、ＦＦＴ部１１４１は第２バッファ１２２に新たに格納されたフレーム、すなわちフレーム「００９５」に関し、上述した第１バッファ１２１に格納されたフレームに関するものと同様の処理を行い、周波数成分を示す複素数群を算出する。Ｓ／Ｎ比算出部１１４２はＦＦＴ部１１４１によりフレーム「００９５」に関し算出された複素数群を用いて、上記（式１）乃至（式５）に従って、周波数帯域ごとのパワー、すなわちＦ００９５＿１、Ｆ００９５＿２、・・・、Ｆ００９５＿５を算出する。
【００３７】
Ｓ／Ｎ比算出部１１４２は上記のようにＦ００９５＿１乃至Ｆ００９５＿５を算出すると、それらの数値群を示すデータをサウンドレベルデータ１２４として記憶部１２に記憶させる。このように記憶部１２に記憶されるサウンドレベルデータ１２４は、現時点の音空間における音のレベルを所定の周波数帯域ごとに示すデータである。
【００３８】
Ｓ／Ｎ比算出部１１４２は、上記のように記憶部１２に記憶したノイズレベルデータ１２３およびサウンドレベルデータ１２４を用いて、以下の（式７）に従って、Ｓ／Ｎ比：ＳＮＲを算出する。ただし、（式７）におけるＳはサウンドレベルデータ１２４の算出に用いられたフレーム番号を示し、この場合Ｓ＝００９５である。
【数３】
2008170806.tif 000005
【００３９】
ＦＦＴ部１１４１およびＳ／Ｎ比算出部１１４２は、第２バッファ１２２に新たなフレームが格納されるごとに、上記（式７）に従い、新たに格納されたフレームに関するＳＮＲを算出する。なお、判定期間中に第１バッファ１２１に格納されている音信号は変更されないので、第２バッファ１２２に格納されるフレーム「００９６」以降に関するＳＮＲの算出においては、既に記憶部１２に記憶されているノイズレベルデータ１２３が利用される。
【００４０】
上記のようにＳ／Ｎ比算出部１１４２により算出されるＳＮＲは、環境雑音のレベルに対する現時点の音空間における音のレベルの比を示す指標である。従って、ユーザにより発声がなされていない間に算出されるＳＮＲは１の近傍を示し、ユーザにより発声がなされている間に算出されるＳＮＲは１よりかなり大きな数値を示すことになる。そこで、条件判定部１１４３はＳ／Ｎ比算出部１１４２により順次算出されるＳＮＲに基づき、発音期間の特定処理を以下のように行う。
【００４１】
条件判定部１１４３による発音期間の特定処理は、発音期間の開始時点を特定するための処理と、発音期間の終了時点を特定するための処理に区分される。図５は開始時点の特定処理のフローを、図６は終了時点の特定処理のフローを、それぞれ示している。
【００４２】
まず、条件判定部１１４３は発音期間の特定処理に先立ち、予め以下の定数をパラメータとして記憶部１２に記憶している。
（ａ）開始閾値
（ｂ）開始満了回数
（ｃ）開始猶予回数
（ｄ）終了閾値
（ｅ）終了満了回数
【００４３】
開始閾値は、ＳＮＲがその値を超えた場合に、そのＳＮＲの算出に用いられたフレームが発音期間中のフレームである可能性が高いことを示す閾値である。以下の説明において、開始閾値＝２．０であるものとする。
【００４４】
開始満了回数は、その回数を超えてＳＮＲが開始閾値を超えた場合に、最初に開始閾値を超えたＳＮＲに対応するフレームを発音期間の先頭フレームと判定するための回数である。以下の説明において、開始満了回数＝５であるものとする。
【００４５】
開始猶予回数は、いったん発音期間の開始時点の特定処理が開始された後、ＳＮＲが開始閾値を超えるか否かの判定がその回数を超えても開始時点の特定がなされない場合に、再度、それ以降のＳＮＲに関し発音期間の開始時点の特定処理をやり直すための回数である。以下の説明において、開始猶予回数＝１０であるものとする。
【００４６】
終了閾値は、ＳＮＲがその値を下回った場合に、そのＳＮＲの算出に用いられたフレームが非発音期間のフレームである可能性が高いことを示す閾値である。以下の説明において、終了閾値＝１．２であるものとする。
【００４７】
終了満了回数は、その回数を超えてＳＮＲが終了閾値を下回った場合に、最初に終了閾値を下回ったＳＮＲに対応するフレームを発音期間の末尾フレームと判定するための回数である。以下の説明において、終了満了回数＝１５であるものとする。
【００４８】
条件判定部１１４３は、判定期間になると、まず以下の変数を初期化する（ステップＳ１００）。
（ｆ）開始時点データ
（ｇ）試行カウンタ
（ｈ）開始閾値超過カウンタ
【００４９】
開始時点データは、発音期間の先頭のフレームのフレーム番号が格納される変数であり、そのフレーム番号の開始時点が発音期間の開始時点を示す。初期化により、開始時点データには例えば未特定値を示す「Ｎｕｌｌ」が代入される。
【００５０】
試行カウンタは、ステップＳ１００の初期化処理の後、ＳＮＲを開始閾値「２．０」と比較した回数をカウントするカウンタである。また、開始閾値超過カウンタはＳＮＲが開始閾値「２．０」を超えた回数をカウントするカウンタである。初期化により、試行カウンタおよび開始閾値超過カウンタにはそれぞれ「０」が代入される。
【００５１】
条件判定部１１４３は、Ｓ／Ｎ比算出部１１４２から新たなＳＮＲを取得すると（ステップＳ１０１）、試行カウンタに１を加算した後（ステップＳ１０２）、ステップＳ１０１において取得したＳＮＲが開始閾値「２．０」を超えているか否かを判定する（ステップＳ１０３）。ＳＮＲが開始閾値「２．０」を超えていない場合（ステップＳ１０３：Ｎｏ）、条件判定部１１４３は試行カウンタが開始猶予回数「１０」を超えているか否かを判定する（ステップＳ１０４）。
【００５２】
試行カウンタが開始猶予回数「１０」を超えていない場合（ステップＳ１０４：Ｎｏ）、条件判定部１１４３は処理をステップＳ１０１に戻し、次のＳＮＲに関しステップＳ１０１以降の処理を繰り返す。
【００５３】
一方、開始時点の特定がなされないまま、ステップＳ１０１以下の処理が繰り返され、ステップＳ１０２において試行カウンタの値が増加される結果、１１になると、ステップＳ１０４の判定結果がＹｅｓとなる。その場合、条件判定部１１４３は処理をステップＳ１００に戻し、再度、それ以降のＳＮＲに関し発音期間の開始時点の特定処理をやり直す。
【００５４】
ユーザは発声を行わない間は、ＳＮＲが開始閾値「２．０」を超えないため、条件判定部１１４３は上記のステップＳ１００乃至ステップＳ１０４の処理を繰り返す。そのような状態でユーザが発声を開始すると、ステップＳ１０３の判定における結果がＹｅｓとなる。その場合、続いて条件判定部１１４３は開始閾値超過カウンタが「０」であるか否かを判定する（ステップＳ１０５）。この場合、開始閾値超過カウンタは「０」であるので（ステップＳ１０５：Ｙｅｓ）、条件判定部１１４３は開始時点データに最後に取得したＳＮＲの算出に用いられたフレーム番号を代入する（ステップＳ１０６）。このように代入されるフレーム番号は、発音期間の開始時点を示すフレーム番号の候補である。
【００５５】
続いて、条件判定部１１４３は開始閾値超過カウンタに１を加算した後（ステップＳ１０７）、開始閾値超過カウンタが開始満了回数「５」を超えているか否かを判定する（ステップＳ１０８）。この場合、開始閾値超過カウンタは「１」でありステップＳ１０８の判定結果はＮｏとなるため、条件判定部１１４３は処理をステップＳ１０１に戻し、新たなＳＮＲに関しステップＳ１０１以降の処理を繰り返す。
【００５６】
通常、ユーザにより発声が開始され、いったんステップＳ１０３における判定結果がＹｅｓとなると、後続のフレームに関するＳＮＲに関するステップＳ１０３における判定結果もしばらくの間、Ｙｅｓとなる。ユーザの一続きの発声時間は数秒間に渡り、一方、各フレームの長さは１０ミリ秒と短いためである。その結果、再びステップＳ１０３の判定結果がＹｅｓとなり、ステップＳ１０５の判定がなされる場合、既に開始閾値超過カウンタは「１」以上となっているため、その判定結果はＮｏとなる。その場合、条件判定部１１４３はステップＳ１０６の開始時点データの設定を行わず、ステップＳ１０７以降の処理を行う。既に仮設定されている発音期間の開始を示すフレーム番号を変更する必要がないためである。
【００５７】
ステップＳ１０３におけるＳＮＲと開始閾値との比較による判定結果が繰り返しＹｅｓとなり、ステップＳ１０５以降の処理が繰り返され、ステップＳ１０７において開始閾値超過カウンタの値が増加される結果、６になると、ステップＳ１０８の判定結果がＹｅｓとなる。その場合、条件判定部１１４３はその時点で開始時点データに格納されているフレーム番号を発音期間の先頭フレームを示すフレーム番号として確定し、処理を発音期間の終了時点の特定処理のフローに移す。
【００５８】
ところで、いったんステップＳ１０３の判定結果がＹｅｓとなっても、例えば一単語の発音における音節間において、短い時間ではあるが発声が途切れたり、発声のレベルが低くなったりする場合がある。そのような場合、ステップＳ１０３の判定結果が一時的にＮｏとなるが、後続のＳＮＲに関するステップＳ１０３の判定結果がＹｅｓとなるため、それらのフレームは一連の発音期間のフレームと判断されることになる。
【００５９】
一方、例えばユーザが物を落とした等により大きな雑音が発生し、発声ではない音によりＳＮＲが一時的に高くなるような場合がある。そのような場合、ステップＳ１０３の判定結果が一時的にＹｅｓとなるが、後続のＳＮＲに関するステップＳ１０３の判定結果がＮｏとなり、試行カウンタが１０を超えた時点で開始時点データに仮設定されていたフレーム番号も初期化されるため、誤ってそのような雑音の発生時点が発音期間の開始時点と判断されることはない。
【００６０】
上記のように、発音期間の開始時点の特定処理が完了すると、条件判定部１１４３は続いて図６に示される発音期間の終了時点の特定処理を開始する。条件判定部１１４３はまず、以下の変数を初期化する（ステップＳ２００）。
（ｉ）終了時点データ
（ｊ）終了閾値未満カウンタ
【００６１】
終了時点データは、発音期間の末尾のフレームのフレーム番号が格納される変数であり、そのフレーム番号の終了時点が発音期間の終了時点を示す。初期化により、終了時点データには例えば未特定値を示す「Ｎｕｌｌ」が代入される。
【００６２】
終了閾値未満カウンタはＳＮＲが終了閾値「１．２」を下回った回数をカウントするカウンタである。初期化により、終了閾値未満カウンタには「０」が代入される。
【００６３】
条件判定部１１４３はＳ／Ｎ比算出部１１４２から新たなＳＮＲを取得すると（ステップＳ２０１）、ステップＳ２０１において取得したＳＮＲが終了閾値「１．２」を下回っているか否かを判定する（ステップＳ２０２）。ＳＮＲが終了閾値「１．２」を下回っていない場合（ステップＳ２０２：Ｎｏ）、条件判定部１１４３は続いて当該ＳＮＲが開始閾値「２．０」を超えているか否かを判定する（ステップＳ２０３）。
【００６４】
ユーザが発声中においては、ＳＮＲが開始閾値「２．０」を超える可能性が高く、その場合、ステップＳ２０３の判定結果はＹｅｓとなり、条件判定部１１４３は処理をステップＳ２００に移し、再び、終了時点の特定処理をやり直す。また、ユーザが発声中であって、発音がやや小さくなったりした場合には、ＳＮＲが開始閾値「２．０」以下であるが、終了閾値「１．２」以上となることがある。そのような場合（ステップＳ２０３：Ｎｏ）、条件判定部１１４３は変数の初期化は行わず、処理をステップＳ２０１に戻し、新たなＳＮＲに関しステップＳ２０１以降の処理を繰り返す。
【００６５】
ユーザが発声を行っている間は、ＳＮＲが終了閾値「１．２」を下回らないため、条件判定部１１４３は上記のステップＳ２００乃至ステップＳ２０３の処理を繰り返す。そのような状態でユーザが発声を終了すると、ステップＳ２０２の判定における結果がＹｅｓとなる。その場合、続いて条件判定部１１４３は終了閾値未満カウンタが「０」であるか否かを判定する（ステップＳ２０４）。この場合、終了閾値未満カウンタは「０」であるので（ステップＳ２０４：Ｙｅｓ）、条件判定部１１４３は終了時点データに最後に取得したＳＮＲの算出に用いられたフレーム番号から１を減じた番号を代入する（ステップＳ２０５）。このように代入されるフレーム番号は、発音期間の終了時点を示すフレーム番号の候補である。
【００６６】
続いて、条件判定部１１４３は終了閾値未満カウンタに１を加算した後（ステップＳ２０６）、終了閾値未満カウンタが終了満了回数「１５」を超えているか否かを判定する（ステップＳ２０７）。この場合、終了閾値未満カウンタは「１」でありステップＳ２０７の判定結果はＮｏとなるため、条件判定部１１４３は処理をステップＳ２０１に戻し、新たなＳＮＲに関しステップＳ２０１以降の処理を繰り返す。
【００６７】
その後、ユーザがすぐさま発声を開始しない限り、再びステップＳ２０２の判定結果がＹｅｓとなる。その場合、ステップＳ２０４の判定においては、既に終了閾値未満カウンタが「１」以上となっているため、その判定結果がＮｏとなる。その場合、条件判定部１１４３はステップＳ２０５の終了時点データの設定を行わず、ステップＳ２０６以降の処理を行う。既に仮設定されている発音期間の終了を示すフレーム番号を変更する必要がないためである。
【００６８】
ステップＳ２０２におけるＳＮＲと終了閾値との比較による判定結果が繰り返しＹｅｓとなり、ステップＳ２０４以降の処理が繰り返され、ステップＳ２０６において終了閾値未満カウンタの値が増加される結果、３１になると、ステップＳ２０７の判定結果がＹｅｓとなる。その場合、条件判定部１１４３はその時点で終了時点データに格納されているフレーム番号を発音期間の末尾フレームを示すフレーム番号として確定し、開始時点データおよび終了時点データの組み合わせを発音期間データ１２５として記憶部１２に記憶させる（ステップＳ２０８）。その後、条件判定部１１４３は音信号出力部１３に対し音信号の出力を指示した後（ステップＳ２０９）、次の発音期間を特定するために、再び図５に示した発音期間の特定処理に戻る。図７は、上述した特定部１１４による発音期間の特定の様子を模式的に示した図である。
【００６９】
音信号出力部１３は、条件判定部１１４３から音信号の出力を指示されると、第２バッファ１２２から、発音期間データ１２５に含まれる開始時点データにより示されるフレーム番号を先頭とし、終了時点データにより示されるフレーム番号を末尾とする一連のフレーム群を読み出し、音信号認識装置４０に対し出力する。特定部１１４は例えば、ユーザにより発音期間の特定処理の終了指示がなされるか、トリガ信号の取得時点の後、発音期間の特定処理の最大時間として予め設定された時間が経過するまでの間、図５および図６に示した判定期間における一連の処理を繰り返す。
【００７０】
音信号認識装置４０は音信号出力部１３から受け取った音信号に対し特徴量抽出を行い、予め記憶されている特徴量と、新たに抽出したユーザの音声に関する特徴量とを比較することにより、ユーザの本人認証を行う。その場合、音信号認識装置４０が音信号出力部１３から受け取る音信号は、ユーザの発声期間に応じた部分が正しく切り出された音信号であるため、精度の高い本人認証が行われることになる。
【００７１】
以上説明した音信号処理システム１によれば、環境雑音の変化が予測不可能な状況においても、音信号の処理を行う装置（上記の例では音信号認識装置４０）が音信号の処理を開始するための条件の少なくとも一部を満たすイベント（上記の例ではユーザ認証）の検出をトリガとして、そのトリガの発生直前に取得された音信号を環境雑音を示す音信号として用いる結果、トリガの発生後の音信号における発音期間の特定を高い精度で行うことが可能となる。以上の説明の中の「認識開始指示」方法に関するバリエーションについて述べる。
【００７２】
＜Ｂ．各種の具体例＞
本発明の主な適用対象は、音信号の認識や解析を利用したサービスをユーザに提供するシステムである。そして、本発明を実施するに当たり、十分な効果を得るためには、音信号処理装置１０のトリガ信号取得部１１３がこの種のシステムにおいて発生する適切なイベントを捉えてトリガ信号を取得する必要がある。如何なるイベントを捉えてトリガ信号とするのが適切であるかは、音信号の認識または解析を利用したサービスをユーザに提供するシステムの構成やサービスの提供態様により異なる。また、本発明では、基本的には、トリガ信号の取得時点の直前の期間に得られる音信号からノイズレベルデータを求め、トリガ信号の取得時点以降の判定期間において発音期間の特定を行うが、音信号の認識や解析を利用したサービスをユーザに提供するシステムの構成によっては、トリガ信号の取得時点の近傍の期間において環境音とは言いがたいようなノイズが発生する場合もある。発音期間の特定を正確に行うためには、このような環境音とは言えないノイズの影響を受けないように、ノイズが発生する可能性のある期間を不感帯とし、この不感期間を避けて、ノイズレベルの測定期間および音信号の発音期間の特定を行う判定期間を定めるのが好ましい。以下に述べる各種の具体例は、このような観点から創作されたものである。
【００７３】
[具体例１：ネットワークを介して音声認識を利用したサービスを提供するシステム]
図８および図９は、ネットワークを介して音信号の認識や解析を利用したサービスをユーザに提供するシステムの構成例を各々示すものである。図８および図９に示す各例において、端末２１１および２１２はサービスを利用するユーザが操作する装置であり、例えば携帯電話やパーソナルコンピュータである。また、サーバ２２１および２２２は、ネットワークを介して端末２１１および２１２を利用するユーザからの要求を受信し、要求されたサービスを提供する装置である。
【００７４】
図８に示す例において、端末２１１は、前掲図１のマイク２０と音信号処理装置１０とを備えており、サーバ２２１は前掲図１の音信号認識装置４０を備えている。このシステムにおいて、端末２１１内の音信号処理装置１０では、トリガ信号取得部１１３によりトリガ信号が取得されるまでの期間、音信号取得部１１１によりマイク２０からの音信号が取得され、音信号のフレームが第１バッファ１２１に格納される（図１参照）。そして、ユーザが例えば端末２１１に設けられたキー等の操作により音声認識を利用したサービスの提供を要求するコマンドを入力すると、このサービスを開始するためのネゴシエーションが端末２１１とサーバ２２１との間で行われる。このネゴシエーションが完了し、サーバ２２１からサービス開始許可メッセージが端末２１１に送られると、端末２１１内の音信号処理装置１０のトリガ信号取得部１１３は、このサービス開始許可メッセージの受信イベントをトリガ信号として取得する。このようにしてトリガ信号取得部１１３によりトリガ信号が取得されると、それ以降、音信号取得部１１１により取得されるマイク２０からの音信号は、第２バッファ１２２に格納され、この第２バッファ１２２に格納される音信号を対象として、特定部１１４による音信号の発音期間の特定処理が行われる。そして、発音期間内の音信号がネットワークを介してサーバ２２１に送られる。サーバ２２１では、音信号認識装置４０により音信号の認識が行われる。そして、サーバ２２１は、音信号認識装置４０による音信号の認識結果に基づき、端末２１１の利用者に対するサービスを行う。
【００７５】
図９に示す例では、端末２１２が、前掲図１のマイク２０と音信号処理装置１０と音信号認識装置４０を備えており、サーバ２２２は前掲図１の音信号認識装置４０を備えていない。前掲図８のシステムと異なり、この図９のシステムでは、音信号の認識処理が端末２１２側で行われる。それ以外の点は図８のシステムと同様である。この図９のシステムでも、音声認識を利用したサービスの開始のためのネゴシエーションが完了し、サービス開始許可メッセージが端末２１２に受信されたとき、端末２１２の音信号処理装置１０では、この受信イベントがトリガ信号としてトリガ信号取得部１１３により取得され、特定部１１４による音信号の発音期間の特定処理が開始される。
【００７６】
[具体例２：キーフレーズ検出装置を利用したシステム]
図１０に示すシステムは、上記具体例１のものと同様、ネットワークを介して音声認識を利用したサービスをユーザに提供するものである。この例において、端末２１３は、前掲図１のマイク２０と音信号処理装置１０とを備えるとともにキーフレーズ検出装置４０ｅを備えており、サーバ２２３は前掲図１の音信号認識装置４０を備えている。ここで、キーフレーズ検出装置４０ｅは、音信号を認識するものであるが、サーバ２２３内の音信号認識装置４０とは異なって簡易な構成のものであり、マイク２０から与えられる音信号が例えば「認証開始」といった特定のキーフレーズを表しているか否かの判定を行い、特定のキーフレーズを検出したとき、キーフレーズ検出信号を出力する。
【００７７】
このキーフレーズ検出信号が発生すると、端末２１３は、音声認識を利用したサービスを開始するためのネゴシエーションをサーバ２２３との間で行う。また、音信号処理装置１０のトリガ信号取得部１１３は、このキーフレーズ検出要求をトリガ信号として取得する。このようにしてトリガ信号取得部１１３によりトリガ信号が取得されると、それ以降のマイク２０からの音信号は、音信号処理装置１０の特定部１１４による発音期間の特定処理に引き渡される。
【００７８】
既に述べたように、この発音期間の特定処理では、音信号のＳ／Ｎ比を算出する。このＳ／Ｎ比の算出処理に用いるノイズレベルデータを得る際、トリガ信号の取得時点の直前において採取された音信号のフレームを用いるのは得策ではない。トリガ信号の取得時点の直前に採取された音信号のフレームは、ユーザによって発声されたキーフレーズの音信号のものである可能性が高いからである。
【００７９】
そこで、好ましい態様において、音信号処理装置１０の特定部１１４は、図１１に示すように、トリガ信号の取得時点の直前のキーフレーズの発音が行われた可能性のある所定時間長の期間を不感帯とする。そして、第１バッファ１２１に格納されている音信号のフレームのうちこの不感帯の前の所定時間長のノイズレベル測定期間内のフレームを用いてノイズレベルデータを算出する。そして、このノイズレベルデータをトリガ信号取得時点以降の判定期間内の音信号のＳ／Ｎ比算出に用いる。
【００８０】
他の好ましい態様では、キーフレーズ検出装置４０eは、キーフレーズ検出信号を出力するだけでなく、キーフレーズの音信号の持続時間を測定し、その持続時間を音信号処理装置１０に通知する。この態様において音信号処理装置１０の特定部１１４は、通知された持続時間を上記不感帯の時間長として採用し、ノイズレベル測定期間を決定する。
【００８１】
[具体例３：音声認識処理が前処理を伴う場合への適用例］
例えば具体例１において音声認識を利用したサービスを開始させるに当たり、何らかの前処理が必要となる場合がある。例えば携帯電話のユーザに対し、音声認識を利用した電子商取引サービスを提供するような場合、それに先立って、前処理としてユーザ認証が行われるのが一般的である。そこで、この例では、認証コードの入力のためのキー操作等、前処理のための操作がなされたときに、これを検出してトリガ信号を発生するように音信号処理装置１０のトリガ信号取得部１１３を構成する。
【００８２】
この場合において、トリガ信号取得部１１３が認証コードの入力のためのキー操作を他のキー操作と区別するのを容易にするために、認証コードを入力するための専用キーを設け、その専用キーの操作により入力されるのが認証コードであると解釈するように構成してもよい。認証コードの入力を開始する意思を示すための専用キーを携帯電話に設け、その専用キーの操作後に入力されるコードが認証コードであると解釈してもよい。
【００８３】
前処理のための操作が行われたことを検出したトリガ信号を発生するのではなく、前処理が正常終了したこと（例えばユーザ認証が成功したこと）を検出してトリガ信号を発生するようにしてもよい。
【００８４】
[具体例４：携帯電話等を介して音声認識を利用したサービスを提供する場合（その１）]
携帯電話等の携帯型電子機器の中には、可動部を有し、ユーザが使用するに当たって、この可動部を動かす必要のあるものがある。例えば図１２に例示するようにユーザが表示部のあるフリップ３０１を回動させて使用する折りたたみ式携帯電話や、図１３に例示するように操作部のあるスライド３０２をスライドして使用するスライド式携帯電話等である。この種の携帯型電子機器に音信号処理装置１０を設け、上記具体例１のような音声認識を利用したサービスの提供に用いる場合、ユーザは、そのサービスの提供を受けるに当たって、まず、可動部たるフリップやスライドを動かし、携帯電話を使用可能な状態にする必要がある。
【００８５】
そこで、このような携帯型電子機器に上記音信号処理装置１０を設ける場合には、フリップ３０１が回動されたとき、またはスライド３０２がスライドされたときにＯＮ状態になるセンサを設け、このセンサにトリガ信号取得部１１３を接続する。そして、センサがＯＮ状態になったとき、このＯＮイベントをトリガ信号として取得するようにトリガ信号取得部１１３を構成する。
【００８６】
この態様では、フリップ３０１やスライド３０２等の可動部が動いている期間、その動きによってノイズが発生する。また、フリップ３０１が開かれ、スライド３０２がスライドされたとき、「カチッ」という音が発生する。そこで、この態様では、図１４に示すように、可動部の動作音や「カチッ」という音が発生する可能性のある期間、具体的にはトリガ信号の取得時点の前ｍフレーム、後ｎフレームの期間を不感帯とする。そして、ノイズレベルデータを求めるに当たっては、第1バッファ１２１に記憶された音信号のうち最後のｍフレームよりも前の期間のものをノイズレベルデータの算出に用いる。また、Ｓ／Ｎ比算出のためにサウンドレベルデータを求めるに当たっては、第２バッファ１２２に記憶された音信号のうち先頭のｎフレームより後の期間のものをサウンドレベルデータの算出に用いる。このようにすることで、可動部の動きによって発生するノイズの影響により、発音期間の特定の根拠となるＳ／Ｎ比の算出結果が不正確なものになるのを防止することができる。
【００８７】
不感帯の長さを決定するパラメータｍ、ｎは、固定のパラメータでもよいが、フリップ３０１やスライド３０２などの動かし方はユーザによってばらつくこともあるので、携帯電話に設けられたテンキーなどの操作子の操作により調整できるように構成してもよい。
【００８８】
[具体例５：携帯電話等を介して音声認識を利用したサービスを提供する場合（その２）]
通常、携帯電話等の携帯型電子機器は、ユーザの手に持たれた状態で使用される。そこで、この適用例では、携帯型電子機器に対し、その筐体への人体の接触を検知するセンサを設け、このセンサにトリガ信号取得部１１３を接続する。そして、携帯型電子機器の筐体がユーザの手に持たれ、センサがＯＮ状態になったとき、トリガ信号を発生させるようにトリガ信号取得部１１３を構成する。
【００８９】
また、携帯電話がロック機能を持っている場合、ユーザが音声認識を利用したサービスを受けるためには携帯電話のロック解除を経る必要がある。このような場合、携帯電話に対してロック解除のための操作がなされたときに、これを検出してトリガ信号を発生するように音信号処理装置１０のトリガ信号取得部１１３を構成する。
【００９０】
[具体例６．ゲートシステムなどへの適用例］
この適用例では、所定エリアに入場するユーザにサービスを提供するゲートシステムに音声認識を利用したサービスを提供する。図１５に示すように、ゲートシステム２３０は、前掲図１のマイク２０と、音信号処理装置１０と、音信号認識装置４０とを有している。また、ゲートシステム２３０には、その設置エリアへのユーザの入場を検出する入場検出装置２４０が接続されている。音信号処理装置１０におけるトリガ信号取得部１１３は、ゲートシステム２３０の設置エリアへのユーザの入場が、入場検出装置２４０によって検出されたとき、このユーザの入場検出イベントをトリガ信号として取得する。
【００９１】
入場検出装置２４０の具体例としては、次のようなものが考えられる。まず、人感センサ、自動点灯装置に用いられているような非接触式の障害物センサを入場検出装置２４０として用いてもよい。あるいはゲートシステム２３０の設置エリアの床面に自動ドアで用いられているような体重センサを設け、この体重センサを入場検出装置２４０として用いてもよい。あるいはゲートシステム２３０の設置エリア内にＩＣカードリーダを設け、このＩＣカードリーダを用いて、ゲートシステムの利用者であることを示す情報の書き込まれたＩＣカードのスキャンがなされたときに、ゲートシステム２３０の設置エリアへユーザの入場があったと判定してもよい。あるいはゲートシステム２３０の設置エリア内を撮像するカメラを設け、このカメラにより人間らしきものが撮像されたとき、ゲートシステム２３０の設置エリアへユーザが入場したと判定してもよい。あるいはゲートシステム２３０を構成する装置のうちユーザが触れる部分に接触センサを設け、その接触センサにより人体の接触を検知したとき、ゲートシステム２３０の設置エリアへユーザが入場したと判定してもよい。あるいはゲートシステム２３０にテンキーを用意し、このテンキーにより、ある番号が入力されたとき、あるいは入場ボタンを用意し、この入場ボタンが押されたとき、ゲートシステム２３０の設置エリアへユーザが入場したと判定してもよい。
【００９２】
[具体例７．音声ガイダンスを利用する適用例］
音声認識を利用したサービスを提供するシステムとして、必要な情報（例えば認証コード）の発声を要求する音声ガイダンスを出力し、この音声ガイダンスに合わせてユーザが発声する音声を収音して認識処理を施し、ユーザから与えられた情報を認識するシステムがある。図１６は、このようなシステムに用いる音信号処理装置１０ａの構成例を示すものである。この音信号処理装置１０ａは、案内装置３１１を有する。この音信号処理装置１０ａは、例えば具体例１（図８）のサーバ２２１から音声ガイダンスを示すデータを受け取り、このデータを案内装置３１１に与える。案内装置３１１は、この与えられたデータに従い、スピーカ３１２から音声ガイダンスを放音させる。また、案内装置３１１は、この音声ガイダンスの放音期間はアクティブレベル、それ以外の期間は非アクティブレベルとなる放音期間信号を出力する。音信号処理装置１０ａにおけるトリガ信号取得部１１３は、この放音期間信号のアクティブレベルから非アクティブレベルへの立ち下がりをトリガ信号として取得する。
【００９３】
図１７はこの例における音信号処理装置１０ａの動作を示すものである。この図１７に示すように、ユーザは、音声ガイダンスが終了する都度、音声ガイダンスにより要求された情報を発声する。その際、音信号処理装置１０は、音声ガイダンスの終了時点（放音期間信号の立ち下がり時点）をトリガとして、判定期間の動作に移行し、音信号処理装置１０ａは、以後、マイク２０により採取される音信号を第２バッファ１２２（図１参照）に格納し、特定部１１４は、第２バッファ１２２内の音信号についてＳ／Ｎ比の算出および発音期間の特定を行う。そして、音信号処理装置１０ａは、発音期間内の音信号を例えば図８のサーバ２２１に送る。
【００９４】
この例において、トリガ信号の取得時点の直前においてマイク２０により採取される音信号は、音声ガイダンスのものである。そこで、音信号処理装置１０ａの特定部１１４（図１参照）は、この音声ガイダンスの放音期間（放音期間信号がアクティブレベルである期間）を不感帯とする。そして、第１バッファ１２１に格納されている音信号のフレームのうちこの不感帯の前の所定時間長のノイズレベル測定期間内のフレームを用いてノイズレベルデータを算出する。そして、このノイズレベルデータをトリガ信号取得時点以降の判定期間内の音信号のＳ／Ｎ比算出に用いる。サーバ２２１は、音信号処理装置１０ａから受信される音信号の認識処理を行い、直前に送った音声ガイダンスデータが要求している事項に対応した認識結果が得られたとき、受領信号を音信号処理装置１０ａに送り、それから所定時間が経過した後、次の事項の発声を促す音声ガイダンスデータを送る。音信号処理装置１０ａでは、受領信号を受け取ったとき、判定期間を終了し、以後、マイク２０により採取される音信号を第１バッファ１２１に格納する。
【００９５】
なお、以上のように第１バッファ１２１と第２バッファ１２２を使い分けるのではなく、音信号処理装置１０ａは、マイク２０により採取される音信号を常に共通のＦＩＦＯバッファに格納するようにしてもよい。この態様において、特定部１１４は、ＦＩＦＯバッファ内の音信号のうちトリガ信号取得時点以降のものは判定期間の音信号と解釈して発音期間の特定を行う。そして、音声ガイダンスが放音されて次のトリガ信号が取得されたときには、ＦＩＦＯバッファ内の音信号のうち当該トリガ信号取得時点を終点とする音声ガイダンスの放音期間の前の所定期間の音信号（発音期間の音信号を除く）をノイズレベル測定期間の音信号と解釈するのである。
【００９６】
＜Ｃ．変形例＞
以上説明した実施形態は以下のように様々に変形してもよい。
【００９７】
（１）上記実施形態では、複数の周波数帯域ごとにノイズレベルを示すＮＬｍおよびサウンドレベルを示すＦｍを算出した後、周波数帯域ごとのＦｍ／ＮＬｍの平均値を算出することによりＳＮＲを算出するものとした（式１乃至７参照）。それに代えて、例えば、Ｓ／Ｎ比算出部１１４２が全周波数帯域に関するＮＬおよびＦを各１つずつ算出した後、ＳＮＲ＝Ｆ／ＮＬとして算出するようにしてもよい。すなわち、周波数帯域の区分数は１であってもよい。
【００９８】
（２）上記実施形態においては、音信号に対しＦＦＴ部１１４１がＦＦＴ処理を施し、Ｓ／Ｎ比算出部１１４２が各周波数の振幅を算出することにより、周波数帯域ごとのパワーを示すＦｍを算出するものとした。それに代えて、例えば、特定部１１４がＦＦＴ部１１４１の代わりに周波数帯域ごとのバンドパスフィルタを備えるようにし、各バンドパスフィルタにより濾波された音信号の振幅の平均値を上記（式６）および（式７）におけるＦｍの代わりに用いることにより、ＳＮＲを算出するようにしてもよい。
【００９９】
さらに、ＦＦＴ部１１４１やバンドパスフィルタを用いることなく、第１バッファ１２１に格納されているフレームに含まれる音信号の振幅の平均値で第２バッファ１２２に格納されているフレームに含まれる音信号の振幅の平均値を単純に除すことにより、ＳＮＲを算出するようにしてもよい。
【０１００】
（３）上記実施形態においては、Ｓ／Ｎ比算出部１１４２は各周波数成分のパワーを示すＦｍを上記（式１）乃至（式５）に従い算出するものとした。それに代えて、例えば、以下の（式８）もしくは（式９）に従いＦｍを算出するようにしてもよい。ただし、（式９）における「ａｂｓ（）」は（）内の数値の絶対値を示す。
【数４】
2008170806.tif 000006
【０１０１】
また、上記実施形態においては、ＳＮＲを算出するにあたり、周波数帯域ごとに算出されたＦｍ／ＮＬｍを単純平均するものとした（式７参照）。それに代えて、例えば、ユーザにより発音される音が有する割合が高いと予想される周波数成分を含む周波数帯域に関するＦｍ／ＮＬｍに相対的に大きな値が設定されたウェイトを用いて、Ｓ／Ｎ比算出部１１４２がＦｍ／ＮＬｍの加重平均を行うことにより、ＳＮＲを算出するようにしてもよい。
【０１０２】
（４）上記実施形態においては、トリガ信号が取得された後に第１バッファ１２１の内容が変更されることはなく、いったんノイズレベルを示すＮＬｍ（式６参照）が算出されると、その後の発音期間の特定処理においてＮＬｍが更新されることはないものとした。それに代えて、例えば、図５のステップＳ１０３におけるＳＮＲが開始閾値を超えるか否かの判定結果がＮｏとなり、そのＳＮＲの算出に用いられたフレームが非発音期間のものであることが確定した時点で、そのフレームを直近の環境雑音を示すフレームとして第１バッファ１２１に格納することにより、第１バッファ１２１の内容を更新するようにしてもよい。その場合、ＦＦＴ部１１４１およびＳ／Ｎ比算出部１１４２は更新された第１バッファ１２１のフレームを用いてＮＬｍを再計算し、その後は再計算されたＮＬｍを用いてＳＮＲの算出を行う。
【０１０３】
（５）上記実施形態においては、ノイズレベルを示すＮＬｍ（式６参照）を算出するにあたり、第１バッファ１２１に格納されている直近の５フレームを固定的に選択するものとした。それに代えて、例えば、第１バッファ１２１に格納されているフレームの中から異常値を示すフレームを除外し、適当と思われるフレームを選択してＮＬｍの算出に用いるようにしてもよい。具体例を挙げると、ＦＦＴ部１１４１は第１バッファ１２１に格納されている１０フレームの全てに関しＦＦＴ処理を施す。そして、Ｓ／Ｎ比算出部１１４２はそれら１０フレームの全てに関し周波数帯域ごとのパワーを示すＦｍを算出する。そして、Ｓ／Ｎ比算出部１１４２はそのようにして算出したＦｍの平均値から所定の閾値以上に乖離するＦｍを異常値として除外し、除外しなかったＦｍを用いてＮＬｍを算出するようにすればよい。
【０１０４】
（６）上記実施形態においては、第１バッファ１２１に格納されているフレームの各々に関し算出した周波数帯域ごとのパワーを示すＦｍを単純平均することによりノイズレベルを示すＮＬｍを算出するものとした（式６参照）。それに代えて、例えば、新しいフレームほど大きなウェイトを与え、Ｓ／Ｎ比算出部１１４２が各フレームに関するＦｍを加重平均することによりＮＬｍを算出するようにしてもよい。
【０１０５】
（７）上記実施形態においては、開始閾値、開始満了回数、開始猶予回数、終了閾値および終了満了回数は予め音信号処理装置１０に記憶されているものとしたが、例えば、ユーザの操作に応じてこれらの定数を変更可能としてもよい。
【０１０６】
（８）上記実施形態において不感帯を設ける例として、携帯電話のフリップ等の可動部の動作イベントをトリガ信号として取得する場合と音声ガイダンスの終了イベントをトリガ信号として取得する場合を挙げた。しかし、これ以外にも、音信号の認識や解析を利用したサービスのシステムの形態によっては、トリガ信号の取得時点の近傍において環境音とは言えないノイズが発生する場合があり得る。そのような場合には、トリガ信号の取得時点の近傍においてノイズが発生する期間またはノイズが発生する可能性のある期間を不感帯とし、これを避けるようにノイズレベル測定期間または判定期間を設定すればよい。
【０１０７】
（９）上記実施形態において、音信号処理装置１０は、専用のハードウェアにより実現されてもよいし、音信号の入出力が可能な汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより実現されてもよい。音信号処理装置１０が汎用コンピュータにより実現される場合、制御部１１は汎用コンピュータが備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびＣＰＵの制御下で動作するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）が、アプリケーションプログラムに含まれる各モジュールに従った処理を同時並行して行うことにより、汎用コンピュータの機能として実現される。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施形態による音信号処理システムの構成を示すブロック図である。
【図２】同実施形態における第１バッファの構成を模式的に示した図である。
【図３】同実施形態における第２バッファの構成を模式的に示した図である。
【図４】同実施形態における周波数帯域の区分を示す図である。
【図５】同実施形態における発音期間の開始時点の特定処理のフローを示す図である。
【図６】同実施形態における発音期間の終了時点の特定処理のフローを示す図である。
【図７】同実施形態における発音期間の特定の様子を模式的に示した図である。
【図８】同実施形態の具体例１の第１の構成を示す図である。
【図９】同実施形態の具体例１の第２の構成を示す図である。
【図１０】同実施形態の具体例２の構成を示す図である。
【図１１】同具体例２の動作を示す図である。
【図１２】同実施形態の具体例４において用いられる折りたたみ式携帯電話を例示する図である。
【図１３】同実施形態の具体例４において用いられるスライド式携帯電話を例示する図である。
【図１４】同具体例４の動作を示す図である。
【図１５】同実施形態の具体例６の構成を示す図である。
【図１６】同実施形態の具体例７の構成を示す図である。
【図１７】同具体例７の動作を示す図である。
【符号の説明】
【０１０９】
１…音信号処理システム、１０，１０ａ…音信号処理装置、１１…制御部、１２…記憶部、１３…音信号出力部、１４…発振器、２０…マイク、４０…音信号認識装置、１１１…音信号取得部、１１２…Ａ／Ｄコンバータ、１１３…トリガ信号取得部、１１４…特定部、１２１…第１バッファ、１２２…第２バッファ、１２３…ノイズレベルデータ、１２４…サウンドレベルデータ、１２５…発音期間データ、１１４１…ＦＦＴ部、１１４２…Ｓ／Ｎ比算出部、１１４３…条件判定部、２１１，２１２，２１３…端末、２２１，２２２，２２３…サーバ、４０ｅ…キーフレーズ検出装置、３０１…フリップ、３０２…スライド、３１１…案内装置、３１２…スピーカ、２３０…ゲートシステム、２４０…入場検出装置。
【図１】
2008170806.tif 000007
【図２】
2008170806.tif 000008
【図３】
2008170806.tif 000009
【図４】
2008170806.tif 000010
【図５】
2008170806.tif 000011
【図６】
2008170806.tif 000012
【図７】
2008170806.tif 000013
【図８】
2008170806.tif 000014
【図９】
2008170806.tif 000015
【図１０】
2008170806.tif 000016
【図１１】
2008170806.tif 000017
【図１２】
2008170806.tif 000018
【図１３】
2008170806.tif 000019
【図１４】
2008170806.tif 000020
【図１５】
2008170806.tif 000021
【図１６】
2008170806.tif 000022
【図１７】
2008170806.tif 000023