(57)【要約】【課題】音声データにおける発話開始位置を正しく設定する。【解決手段】コンピュータが以下の処理を実行する音声処理方法である。コンピュータは、まず、複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、所定の条件に基づいて、音声データにおける発話を検知した位置から過去に遡って発話の開始位置を設定する。次に、コンピュータは、複数の音声データのそれぞれにおける発話の開始位置から発話を検知した位置までの特性差に基づいて、複数のマイクロフォンから見た発話者の方向を識別する。次に、コンピュータは、識別した発話者の方向に基づいて、複数の音声データのいずれかにおける発話の開始位置以降の発話区間を抽出する。【選択図】図６Ａ
2018081239.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定し、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別し、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する、
処理を実行することを特徴とする音声処理方法。
【請求項２】
前記発話者の方向を識別する処理において、前記コンピュータは、前記音声データにおける前記発話の開始位置から前記発話を検知した位置までの区間のうちの有意な音声を含む区間についての前記特性差に基づいて、前記発話者の方向を識別する、
ことを特徴とする請求項１に記載の音声処理方法。
【請求項３】
前記音声データの前記発話区間を抽出する処理において、前記コンピュータは、前記音声データと、前記複数のマイクロフォンから見た発話者の方向とを対応付けた話者の位置情報に基づいて、前記複数の音声データのうちの、識別した前記発話者の方向と対応付けられた音声データにおける前記発話区間を抽出する、
ことを特徴とする請求項２に記載の音声処理方法。
【請求項４】
前記発話の開始位置を設定する処理において、前記コンピュータは、前記音声データを複数のフレームに分割してフレーム毎に有意な音声が含まれるか否かを判定し、連続する複数のフレームにおける前記有意な音声が含まれるフレーム数に基づいて発話の検知を確定するとともに、前記有意な音声が含まれるフレーム数の計数を開始したフレームを前記発話の開始位置に設定する、
ことを特徴とする請求項１に記載の音声処理方法。
【請求項５】
前記コンピュータは、前記発話を検知する毎に、前記発話者の方向を識別する処理を行う、
ことを特徴とする請求項１に記載の音声処理方法。
【請求項６】
前記音声データを抽出した後、前記コンピュータは、前記発話者の方向と対応付けられた発話言語に基づいて、抽出した前記音声データの発話内容を翻訳する処理、を更に実行する、
ことを特徴とする請求項１に記載の音声処理方法。
【請求項７】
複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定する発話検知部と、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別する方向識別部と、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する音声データ抽出部と、
を備えることを特徴とする音声処理装置。
【請求項８】
複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定し、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別し、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する、
処理をコンピュータに実行させる音声処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理方法、音声処理装置、及び音声処理プログラムに関する。
【背景技術】
【０００２】
音声データの発話内容を翻訳する技術の１つとして、複数のマイクで同時に収音した複数の音声データに基づいて発話者を特定し、発話者の特定結果に応じて翻訳元言語と翻訳先言語とを切り替えて音声データを翻訳する技術がある。この種の技術では、例えば、複数の音声データにおける発話区間の特性差に基づいて発話者を特定した後、該発話者の特定結果に基づいて複数の音声データのいずれかを選択して発話内容を翻訳する（例えば、特許文献１を参照）。また、この種の技術では、例えば、複数の音声データから推定した音源（話者）の方向に応じて、音声データに含まれる音源を分離する処理、及び翻訳して表示する処理を制御する（例えば、特許文献２を参照）。
【０００３】
更に、音声データから発話を検知する際には、音声データを複数のフレームに分割し、Voice Activity Ditection（ＶＡＤ）等によりフレーム毎に有意な音声を含むか否かを判定する。そして、有意な音声を含むフレームが所定数連続した場合に、発話の検知を確定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４８３０１号公報
【特許文献２】特開２０１５−１０６０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
有意な音声を含むフレームが所定数連続した場合に発話の検知を確定する方法では、実際に発話が開始したフレームから数フレーム遅延した位置で発話の検知が確定する。このため、例えば、発話の検知が確定したフレームを発話区間の開始位置として発話区間の発話内容を翻訳する際には、語頭切れが生じる。
【０００６】
また、上記の遅延を考慮して発話の検知が確定したフレームから所定の固定長分だけ前のフレームを発話区間の開始位置とした場合、実際に発話が開始したフレームよりも前の無音のフレームや雑音フレームが発話区間に含まれる可能性がある。
【０００７】
１つの側面において、本発明は、音声データにおける発話開始位置を正しく設定することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様の音声処理方法では、コンピュータが、以下の処理を実行する。コンピュータは、まず、複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、所定の条件に基づいて、音声データにおける発話を検知した位置から過去に遡って発話の開始位置を設定する。次に、コンピュータは、複数の音声データのそれぞれにおける発話の開始位置から発話を検知した位置までの特性差に基づいて、複数のマイクロフォンから見た発話者の方向を識別する。次に、コンピュータは、識別した発話者の方向に基づいて、複数の音声データのいずれかにおける発話の開始位置以降の発話区間を抽出する。
【発明の効果】
【０００９】
上述の態様によれば、音声データにおける発話開始位置を正しく設定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る音声処理装置の機能的構成を示すブロック図である。
【図２】方向識別部の構成例を示すブロック図である。
【図３】マイクと話者との位置関係の例を示す図である。
【図４】話者情報の設定例を示す図である。
【図５】第１の実施形態に係る発話内容の翻訳処理を説明するフローチャートである。
【図６Ａ】発話検知処理の内容を説明するフローチャート（その１）である。
【図６Ｂ】発話検知処理の内容を説明するフローチャート（その２）である。
【図７】方向識別処理の内容を説明するフローチャートである。
【図８】第１の音声処理部が行う処理を説明する図である。
【図９】フレームが有音であるか否かの判定方法の例を説明する図である。
【図１０】発話検知処理の処理結果の一例を示す図である。
【図１１】発話検知処理の処理結果の別の例を示す図である。
【図１２】方向識別処理における平均パワーの算出方法を説明する図である。
【図１３】音圧差と話者の方向との関係を説明する図である。
【図１４】翻訳言語の切替方法を説明する図である。
【図１５】第２の実施形態に係る発話内容の翻訳処理を説明するフローチャートである。
【図１６】第１の実施形態に係る音声処理において起こり得る翻訳処理の例を示す図である。
【図１７】第２の実施形態に係る音声処理による翻訳処理の例を示す図である。
【図１８】第３の実施形態に係る音声処理装置及びサーバ装置の機能的構成を示すブロック図である。
【図１９】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
＜第１の実施形態＞
図１は、第１の実施形態に係る音声処理装置の機能的構成を示すブロック図である。
【００１２】
図１に示すように、本実施形態の音声処理装置１は、第１の音声処理部１１０と、第２の音声処理部１２０と、話者情報設定部１３０と、を備える。また、本実施形態の音声処理装置１は、音声データ保持部１９１と、演算結果保持部１９２と、話者情報保持部１９３と、翻訳用辞書１９４と、を備える。
【００１３】
第１の音声処理部１１０は、同時に収音した音声データを別個に出力可能な複数のマイクロフォン２０１，２０２のそれぞれから音声データを取得し、該音声データをフレーム単位で音声データ保持部１９１に保持させる処理を行う。第１の音声処理部１１０は、音声データ取得部１１１と、保持データ制御部１１２とを含む。以下の説明では、マイクロフォンのことを単に「マイク」という。
【００１４】
音声データ取得部１１１は、複数のマイク２０１，２０２のそれぞれから、同時に収音した音声データを取得する。複数のマイク２０１，２０２は、例えば、１個のステレオマイク２におけるＬチャンネル用のマイク２０１と、Ｒチャンネル用のマイク２０２との組である。
【００１５】
保持データ制御部１１２は、取得した音声データを所定の時間長毎のフレーム（処理単位）に分割し、各フレームを識別可能な状態で音声データ保持部１９１に保持させる。また、保持データ制御部１１２は、音声データ保持部１９１で保持しているフレームのうちの、不要となったフレームを消去する。
【００１６】
第２の音声処理部１２０は、複数のマイク２０１，２０２のそれぞれから取得した音声データにおける発話区間を検知し、該発話区間で発話している話者（発話者）が存在する方向を識別する。この際、第２の音声処理部１２０は、音声データにおける発話を検知した位置から所定の時間長（フレーム）だけ遡って、発話区間の開始位置を設定する。また、第２の音声処理部１２０は、複数の音声データ間の特性差に基づいて、発話区間における発話者がステレオマイク２から見て左右どちらの方向に存在するかを識別する。更に、本実施形態の音声処理装置１における第２の音声処理部１２０は、発話区間における発話者の識別結果に基づいて、発話区間の発話内容を発話者と対応付けられた言語から他の言語に翻訳する処理を行う。本実施形態の音声処理装置１における第２の音声処理部１２０は、発話検知部１２１と、方向識別部１２２と、言語切替部１２３と、音声データ抽出部１２４と、翻訳処理部１２５と、出力部１２６と、を含む。
【００１７】
発話検知部１２１は、各音声データのフレーム毎に有音であるか否かを判定し、該判定結果に基づいて各音声データの発話区間を検知する。ここで、有音であるフレームは、話者の発話等の有意な音声成分を含むフレームである。発話検知部１２１は、既知の判定方法により、フレームが有音であるか否かを判定する。また、発話検知部１２１は、音声データ毎に、現在の処理対象であるフレームを含む連続した複数のフレームにおける有音であるフレームの数を計数する。そして、連続した複数のフレームにおける有音であるフレームの数が閾値以上となった場合に、発話検知部１２１は、該複数のフレームを含む音声データの発話区間を検知する。この際、発話検知部１２１は、発話を検知したフレームから過去のフレームに遡って有音であるフレームの数を計数し、発話検知遅延長d_frame個めとなる有音であるフレームを発話区間の開始フレームとする。
【００１８】
方向識別部１２２は、各音声データから検出した発話区間のフレーム同士の特性の差に基づいて、話者の方向を識別する。例えば、方向識別部１２２は、Ｌチャンネル用のマイク２０１から取得した第１の音声データのフレームと、Ｒチャンネル用のマイク２０２から取得した第２の音声データのフレームとの音圧差に基づいて、話者の方向を識別する。Ｌチャンネル用のマイク２０１と、Ｒチャンネル用のマイク２０２とを含むステレオマイク２により音声データを取得する場合、方向識別部１２２は、ステレオマイク２の左方と、右方とのいずれの方向に話者が存在するかを識別する。
【００１９】
翻訳言語切替部１２３は、方向識別部１２２において識別した話者の方向と、予め設定した話者情報とに基づいて、翻訳元言語と翻訳先言語との組み合わせを切り替える。話者情報は、ステレオマイク２から見た話者の存在する方向と、発話する言語とを含む。該話者情報は、例えば、音声処理装置１の利用者が話者情報設定部１３０に対し所定の操作を行って入力する。話者情報設定部１３０は、利用者により入力された話者情報を話者情報保持部１９３に保持させる。例えば、Ｌチャンネル用のマイク２０１の方向にいる話者の発話言語が日本語であり、Ｒチャンネル用のマイク２０２の方向にいる話者の発話言語が英語であるとする。この場合、識別した話者の方向がＬチャンネル用のマイク２０１の方向であると、翻訳言語切替部１２３は、翻訳元言語を日本語とし、翻訳先言語を英語とする。その後、識別した話者の方向がＲチャンネル用のマイク２０２の方向に変化すると、翻訳言語切替部１２３は、翻訳元言語を英語とし、翻訳先言語を日本語とする。
【００２０】
音声データ抽出部１２４は、方向識別部１２２において識別した話者の方向に基づいて、複数の音声データのなかから翻訳処理に用いる音声データの発話区間を抽出する。例えば、話者の方向がＬチャンネル用のマイク２０１の方向である場合、音声データ抽出部１２４は、音声データ保持部１９１で保持しているＬチャンネル用のマイク２０１から取得した音声データのうちの翻訳する発話区間を抽出する。
【００２１】
翻訳処理部１２５は、音声データ抽出部１２４で抽出した音声データの発話区間における発話内容を解析し、翻訳元言語から翻訳先言語へと翻訳する。翻訳処理部１２５は、既知の翻訳方法により、発話区間の発話内容を翻訳元言語から翻訳先言語へと翻訳した（変換した）文書データを生成する。例えば、翻訳処理部１２５は、まず、翻訳元言語における音声の特性等に基づいて発話区間のフレームデータから発話内容を示す文字列を抽出し、形態素解析により抽出した文字列を文章化する。その後、翻訳処理部１２５は、翻訳元言語で文章化した文字列を、翻訳先言語の文章データに翻訳する（変換する）。この際、翻訳処理部１２５は、翻訳用辞書１９４に含まれる形態素解析用の単語辞書を参照して発話内容を文章化する。また、翻訳処理部１２５は、翻訳用辞書１９４に含まれる翻訳辞書を参照して、文章化した文字列を翻訳先言語の文書データに翻訳する。
【００２２】
出力部１２６は、翻訳処理部１２５で生成した翻訳先言語の文章データを可視化して表示装置３に出力する。なお、出力部１２６は、翻訳処理部１２５で生成した翻訳先言語の文章データを音声データとして、図示しないスピーカに出力してもよい。
【００２３】
音声データ保持部１９１は、上記のように、複数のマイク２０１，２０２から取得した音声データをフレーム単位で保持する。音声データ保持部１９１には、第２の音声処理部１２０における処理において処理の対象となっているフレームを含む、過去の複数フレームを保持する。演算結果保持部１９２は、第２の音声処理部１２０における各種演算処理の結果を保持する。話者情報保持部１９３は、上記のように、言語切替部１２３が参照する話者情報を保持する。翻訳用辞書１９４は、上記のように、翻訳処理部１２５が参照する形態素解析用の単語辞書、及び翻訳辞書を含む。
【００２４】
図２は、方向識別部の構成例を示すブロック図である。
本実施形態の音声処理装置１における方向識別部１２２は、話者の識別に用いる発話区間のフレーム同士の特性差として、上記のように、発話区間における平均パワーの音圧差を利用する。このため、方向識別部１２２は、図２に示すように、フレームパワー算出部１２２Ａと、平均パワー算出部１２２Ｂと、音圧差算出部１２２Ｃと、話者方向判定部１２２Ｄとを含む。
【００２５】
フレームパワー算出部１２２Ａは、音声データ保持部１９１で保持している音声データにおける各フレームのパワーを算出する。例えば、フレームパワー算出部１２２Ａは、フレーム毎に、時間波形の振幅から該フレームのパワーを算出する。フレームパワー算出部１２２Ａは、算出した各フレームのパワーを演算結果保持部１９３に保持させる。
【００２６】
平均パワー算出部１２２Ｂは、発話区間に含まれるフレームのパワーから平均パワーを算出する。本実施形態の音声処理装置１における平均パワー算出部１２２Ｂは、発話検知部１２１で検知した発話区間の開始フレームから現在の処理対象であるフレームまでの複数のフレームのうちの、有音であるフレームについての平均パワーを算出する。
【００２７】
音圧差算出部１２２Ｃは、音声データ毎に算出した発話区間の平均パワーに基づいて、音圧差を算出する。音圧差算出部１２２Ｃは、例えば、下記式（１）により、音圧差DiffPowを算出する。
【００２８】
【数１】
2018081239.tif 000003
【００２９】
数１において、AvePow_L、及びAvePow_Rは、それぞれ、Ｌチャンネル用のマイク２０１から取得した音声データについての平均パワー、及びＲチャンネル用のマイク２０２から取得した音声データについての平均パワーである。
【００３０】
話者方向判定部１２２Ｄは、音圧差算出部１２２Ｃで算出した音圧差と、所定の閾値との大小関係に基づいて、発話者がいる方向を判定する。式（１）により算出した音圧差DiffPowが閾値ＴＨよりも大きい場合（ＴＨ＜DiffPowの場合）、話者方向判定部１２２Ｄは、ステレオマイク２から見て左方（マイク左方）に存在する話者が発話していると判定する。一方、式（１）により算出した音圧差DiffPowが閾値−ＴＨよりも小さい場合（DiffPow＜−ＴＨの場合）、話者方向判定部１２２Ｄは、ステレオマイク２から見て右方（マイク右方）に存在する話者が発話していると判定する。更に、本実施形態では、式（１）により算出した音圧差DiffPowが−ＴＨ≦DiffPow≦ＴＨである場合、話者方向判定部１２２Ｄは、複数の話者が発話している（話者の方向を特定できない）と判定する。
【００３１】
話者方向判定部１２２Ｄの判定結果は、言語切替部１２３に入力される。言語切替部１２３は、話者方向判定部１２２Ｄ（方向識別部１２２）の処理結果と、話者情報保持部１９３で保持している話者の位置情報とに基づいて、翻訳元言語と翻訳先言語との切り替えを行う。
【００３２】
図３は、マイクと話者との位置関係の例を示す図である。図４は、話者情報の設定例を示す図である。
【００３３】
本実施形態の音声処理装置１は、上記のように、Ｌチャンネル用のマイク２０１と、Ｒチャンネル用のマイク２０２とを含むステレオマイク２から音声データを取得する。この際、ステレオマイク２は、例えば、図３に示すように、会話（対話）を行う二人の話者４Ａ，４Ｂの間となる位置に設置する。また、ステレオマイク２は、２個のマイク２０１，２０２の中点から見て第１の話者４Ａがいる方向にＬチャンネル用のマイク２０１が位置し、第２の話者４Ｂがいる方向にＲチャンネル用のマイク２０２が位置する向きで設置する。
【００３４】
第１の話者４Ａの発話言語が日本語であり、第２の話者４Ｂの発話言語が英語である場合、話者情報保持部１９３には、例えば、図４に示した話者情報を保持させる。図４の話者情報において、話者ＩＤは、第１の話者４Ａ及び第２の話者４Ｂを識別する識別子である。話者の位置は、ステレオマイク２から見た話者１及び話者２の位置（存在する方向）を示す情報である。発話言語は、話者１及び話者２の発話言語を示す情報である。図３において、マイク左方にいる話者１は第１の話者４Ａであり、該話者１の発話言語は、日本語である。また、図３において、マイク右方にいる話者２は、第２の話者４Ｂであり、該話者２の発話言語は英語である。よって、図４の話者情報５０１では、話者１に、話者の位置がマイク左方であることと、発話言語が日本語であることを示す情報が対応付けられている。同様に、図４の話者情報５０１では、話者２に、話者の位置がマイク右方であることと、発話言語が英語であることを示す情報が対応付けられている。
【００３５】
上記のようにステレオマイク２を設置した状態でマイク左方にいる第１の話者４Ａが発話すると、音声処理装置１は、ステレオマイク２から取得した音声データに基づいて、マイク左方にいる第１の話者４Ａが発話していると識別する。このため、音声処理装置１は、例えば、Ｌチャンネル用のマイク２０１から取得した音声データを用いて、第１の話者４Ａの発話内容を翻訳する。第１の話者４Ａの発話言語が日本語であり、第２の話者４Ｂの発話言語が英語である場合、音声処理装置１は、Ｌチャンネル用のマイク２０１から取得した音声データにおける発話区間を日本語で文章化した後、該文章を英語に翻訳して表示装置３に出力する。このため、第２の話者４Ｂは、表示装置４に表示された文章（英文）を読むことで、第１の話者４Ａの発話内容を理解することが可能となる。
【００３６】
一方、第２の話者４Ｂが発話すると、音声処理装置１は、Ｒチャンネル用のマイク２０２から取得した音声データを用いて、第２の話者４Ｂの発話内容を英語から日本語に翻訳する。
【００３７】
本実施形態の音声処理装置１は、上記のように、マイク２０１，２０２から取得した各音声データをフレームに分割して保持する処理と、取得した音声データの発話区間における話者を識別して発話内容を翻訳する処理とを行う。
【００３８】
音声データをフレームに分割して保持する処理は、音声処理装置１の第１の音声処理部１１０（音声データ取得部１１１、及び保持データ制御部１１２）が行う。音声データ取得部１１１は、複数のマイク２０１，２０２のそれぞれから音声データを取得する。保持データ制御部１１２は、取得した音声データ毎に、所定の時間長のフレームに分割し、各フレームを時間による並び順が識別可能な態様で音声データ保持部１９１に保持させる。音声データ取得部１１１及び保持データ制御部１１２は、処理終了の命令の入力を受け付けるまで、音声データをフレームに分割して保持する処理を続ける。
【００３９】
一方、音声データにおける発話区間の発話内容を翻訳する処理は、音声処理装置１の第２の音声処理部１２０（発話検知部１２１、方向識別部１２２、翻訳言語切替部１２３、音声データ抽出部１２４、翻訳処理部１２５、及び出力部１２６）が行う。音声処理装置１の第２の音声処理部１２０は、発話区間の発話内容を翻訳する処理として、図５に示した処理を行う。
【００４０】
図５は、第１の実施形態に係る発話内容の翻訳処理を説明するフローチャートである。
音声処理装置１の第２の音声処理部１２０が行う処理は、図５に示すように、複数の音声データにおける同時刻のフレームの組のそれぞれに対しステップＳ２以降の処理を行うループ処理（ステップＳ１〜Ｓ１０）となっている。第２の音声処理部１２０は、音声データに含まれる全てのフレームの組でステップＳ２以降の処理を行い、ループ処理の終了端（ステップＳ１０）に到達するとループ処理を終了する。
【００４１】
１組のフレームの組に対する処理において、第２の音声処理部１２０は、まず、該フレームの組に含まれるフレーム毎に発話を検知する発話検知処理（ステップＳ２）を行う。ステップＳ２の処理は、第２の音声処理部１２０の発話検知部１２１が行う。発話検知部１２１は、既知の判定方法に従って、処理対象のフレームが有音のフレームであるか否かを判定する。また、発話検知部１２１は、処理対象のフレームが有音のフレームである場合、当該フレームから過去に所定のフレーム数だけ遡り、該過去フレームにおける有音のフレーム数に基づいて発話を検知する。所定数の過去フレームにおける有音のフレーム数が閾値に到達した場合、発話検知部１２１は、発話の検知を確定する（認識する）。
【００４２】
ステップＳ２の処理を終えると、発話検知部１２１は、続けて、発話検知処理の処理結果に基づいて、発話を検知したか否かを判定する（ステップＳ３）。発話を検知しなかった場合（ステップＳ３；ＮＯ）、発話検知部１２１は、現在の処理対象であるフレームに対する処理を終了させる。その後、未処理のフレームの組がある場合、第２の音声処理部１２０は、次のフレームの組に対するステップＳ２以降の処理を開始する。
【００４３】
一方、発話を検知した場合（ステップＳ３；ＹＥＳ）、発話検知部１２１は、次に、発話が継続中であるか否かを判定する（ステップＳ４）。ステップＳ４において、発話検知部１２１は、例えば、ループ処理における１回前の処理での処理結果に基づいて、発話が継続中であるか否かを判定する。
【００４４】
発話を検知したが継続中ではない場合（ステップＳ４；ＮＯ）、第２の音声処理部１２０は、次に、発話者の方向を識別する方向識別処理（ステップＳ５）を行う。ステップＳ５の処理は、第２の音声処理部１２０の方向識別部１２２が行う。方向識別部１２２は、現在の処理対象であるフレームから過去に所定のフレーム数だけ遡り、有音であるフレームのパワーに基づいて平均パワーを算出する。また、方向識別部１２２は、平均パワーに基づいて発話区間同士の音圧差を算出し、該音圧差に基づいて現在の処理対象であるフレームを含む発話区間の発話者の方向を識別する。ステレオマイク２から取得した２個の音声信号によりループ処理Ｓ１〜Ｓ１０を行っている場合、方向識別部１２２は、発話者の方向がマイク左方、マイク右方、及び正面方向（特定できず）のいずれかであるかを識別する。
【００４５】
ステップＳ５の処理を終えると、方向識別部１２２は、続けて、発話者の方向を一方のマイクの方向に識別したか否かを判定する（ステップＳ６）。ステレオマイク２から取得した２個の音声信号によりループ処理Ｓ１〜Ｓ１０を行っている場合、方向識別部１２２は、発話者の方向がマイク左方及びマイク右方のいずれかであると識別すると、発話者の方向を一方のマイクの方向に識別したと判定する。発話者の方向を識別できなかった場合（ステップＳ６；ＮＯ）、方向識別部１２２は、現在の処理対象であるフレームに対する処理を終了させる。その後、未処理のフレームの組がある場合、第２の音声処理部１２０は、次のフレームの組に対するステップＳ２以降の処理を開始する。
【００４６】
一方、発話者の方向を識別した場合（ステップＳ６；ＹＥＳ）、第２の音声処理部１２０は、次に、識別した話者の方向に基づいて翻訳言語を切り替える（ステップＳ７）。ステップＳ７の処理は、言語切替部１２３が行う。言語切替部１２３は、現在の処理対象であるフレームを含む発話区間における発話者の方向の識別結果と、話者情報保持部１９３の話者の位置情報（図４を参照）とに基づいて、翻訳元言語と翻訳先言語との組み合わせを設定する。
【００４７】
ステップＳ７の処理を行った場合、或いは発話が継続中である場合（ステップＳ４；ＹＥＳ）、第２の音声処理部１２０は、次に、翻訳する音声データを抽出する（ステップＳ８）。ステップＳ８の処理は、音声データ抽出部１２４が行う。音声データ抽出部１２４は、現在の処理対象のフレームを含む音声データにおいて翻訳の対象となる発話区間のフレーム（音声データ）を音声データ保持部１９１から読み出す。
【００４８】
次に、第２の音声処理部１２０は、抽出した音声データの発話内容を翻訳して出力する（ステップＳ９）。ステップＳ９の処理は、翻訳処理部１２５と、出力部１２６とが行う。翻訳処理部１２５は、既知の解析方法に従って、音声データ（発話区間）を文字列に変換し、該文字列に対する形態素解析を行って音声データを文章化する。この際、翻訳処理部１２５は、翻訳用辞書１９４に含まれる形態素解析用の辞書を参照し、ステップＳ７で設定した翻訳元言語で音声データを文書化する。その後、翻訳処理部１２５は、既知の翻訳方法に従って、翻訳元言語の文書を翻訳先言語の文書に翻訳する（変換する）。翻訳処理部１２５における翻訳処理が終了すると、出力部１２６が、翻訳後の文書データを可視化する表示データを作成し、表示装置３に出力する。これにより、表示装置３には、現在の処理対象であるフレームを含む発話区間における発話内容の翻訳文が表示される。
【００４９】
ステップＳ９の処理を終えると、現在の処理対象のフレームの組に対する処理が終了する。ここで、未処理のフレームの組がある場合、第２の音声処理部１２０は、次のフレームの組に対するステップＳ２以降の処理を開始する。また、全てのフレームの組に対しステップＳ２以降の処理を行った場合、第２の音声処理部１２０は、ループ処理（ステップＳ１〜Ｓ１０）を終了し、発話内容の翻訳処理を終了する。
【００５０】
本実施形態に係る発話検知処理（ステップＳ２）では、上記のように、現在の処理対象であるフレームが有音のフレームである場合に、該フレームから過去に遡り、所定数のフレーム内における有音のフレーム数を調べる。そして、有音のフレーム数が閾値に到達した場合に、発話検知部１２１は、発話を検知したと認識する。言い換えると、発話検知部１２１は、有音のフレームが連続していなくても、現在の処理対象であるフレームを含む発話検知遅延長d_frame個分のフレーム内における有音のフレームが閾値ＴＨ個に到達すると、発話の検知を確定する（認識する）。発話検知遅延長d_frameは、発話の検知を確定するための条件である有音のフレームの個数の計数を開始したフレームから、発話の検知を確定したフレームまでの数に相当する。本実施形態の発話検知部１２１が行う上記の発話検知処理について、図６Ａ及び図６Ｂを参照して説明する。
【００５１】
図６Ａは、発話検知処理の内容を説明するフローチャート（その１）である。図６Ｂは、発話検知処理の内容を説明するフローチャート（その２）である。
【００５２】
本実施形態の発話検知部１２１が行う発話検知処理は、図６Ａ及び図６Ｂに示すように、１組のフレームの組に含まれる複数のフレームのそれぞれに対しステップＳ２０２以降の処理を行うループ処理（Ｓ２０１〜Ｓ２１１）となっている。発話検知部１２１は、１組のフレームの組に含まれる全てのフレームでＳ２０２以降の処理を行い、ループ処理の終了端（ステップＳ２１１）に到達すると、ループ処理を終了する。
【００５３】
１個のフレームに対する処理において、発話検知部１２１は、まず、処理対象のフレームが有音であるか否かを判定し、有音である場合には該フレームに対する判定結果を表す値ＶＡＤを１とする（ステップＳ２０２）。なお、処理対象のフレームが有音ではない場合、発話検知部１２１は、判定結果を表す値ＶＡＤを１とは異なる値（例えば、０）とする。
【００５４】
次に、発話検知部１２１は、処理対象のフレームがＶＡＤ＝１（有音）であるか否かをチェックする（ステップＳ２０３）。
【００５５】
処理対象のフレームがＶＡＤ＝１である場合（ステップＳ２０３；ＹＥＳ）、発話検知部１２１は、ステップＳ２０４及びＳ２０５の処理を行い、発話検知処理の処理結果を表すフラグf_speechの値を１又は０に設定する。ステップＳ２０４において、発話検知部１２１は、ＶＡＤ＝１のフレーム数をカウントするカウンタvad_countをvad_count＋１に更新し、ＶＡＤ≠１のフレーム数をカウントするカウンタn_vad_countを０にリセットする。また、ステップＳ２０５において、発話検知部１２１は、ＶＡＤ＝１のフレーム数をカウントするカウンタvad_countが閾値ＴＨ１よりも大きいか否かを判定する。vad_count＞ＴＨ１の場合（ステップＳ２０５；ＹＥＳ）、発話検知部１２１は、処理結果を表すフラグf_speechを、発話を検知したことを示す値（例えば、１）に設定するとともに、発話検知遅延長d_frameを設定する（ステップＳ２０６）。ステップＳ２０６において、発話検知部１２１は、ＶＡＤ＝１となったフレームから現在の処理対象であるフレームまでのフレーム数を、発話検知遅延長d_frameに設定する。一方、vad_count≦ＴＨ１の場合（ステップＳ２０５；ＮＯ）、発話検知部１２１は、処理結果を表すフラグf_speechを、発話を検知しなかったことを示す値（例えば、０）に設定する（ステップＳ２０７）。
【００５６】
一方、処理対象のフレームがＶＡＤ≠１である場合（ステップＳ２０３；ＮＯ）、発話検知部１２１は、図６ＢのステップＳ２０８〜Ｓ２１０の処理を行い、発話検知処理の処理結果を表すフラグf_speechの値を１又は０に設定する。ステップＳ２０８において、発話検知部１２１は、ＶＡＤ≠１のフレーム数をカウントするカウンタn_vad_countを、n_vad_count＋１に更新する。また、ステップＳ２０９において、発話検知部１２１は、ＶＡＤ≠１のフレーム数をカウントするカウンタn_vad_countが閾値ＴＨ２よりも大きいか否かを判定する。n_vad_count＞閾値ＴＨ２の場合（ステップＳ２０９；ＹＥＳ）、発話検知部１２１は、次に、ＶＡＤ＝１のフレーム数をカウントするカウンタvad_countを０にリセットする。ステップＳ２０９の後、発話検知部１２１は、処理結果を表すフラグf_speechを、発話を検知しなかったことを示す値（f_speech＝０）に設定する（ステップＳ２０７）。一方、n_vad_count≦閾値ＴＨ２の場合（ステップＳ２０９；ＮＯ）、発話検知部１２１は、次に、処理結果を表すフラグf_speechを、発話を検知したことを示す値（f_speech＝１）に設定するとともに、発話検知遅延長d_frameを設定する（ステップＳ２０６）。
【００５７】
ステップＳ２０６又はＳ２０７を終えると現在の処理対象であるフレームに対する処理が終了し、発話検知部１２１が行う処理は、ループ処理の終了端（ステップＳ２１１）にいたる。ここで、未処理のフレームがある場合、発話検知部１２１は、次のフレームに対するステップＳ２０２以降の処理を開始する。また、全てのフレームに対しステップＳ２０２以降の処理を行った場合、発話検知部１２１は、ループ処理を終了し、発話検知処理を終了する。
【００５８】
このように、本実施形態に係る発話検知処理において、発話検知部１２１は、連続する所定数のフレーム内における有音のフレーム数が閾値ＴＨ１に到達すると、発話の検知を確定する。更に、発話検知部１２１は、発話の検知を確定する条件である有音のフレーム数のカウントを開始したフレームから発話の検知を確定したフレームまでのフレーム数を発話検知遅延長d_frameに設定し、発話を検知したフレームから発話検知遅延長d_frame分だけ過去に遡ったフレームを、発話区間の開始位置とする。よって、本実施形態によれば、発話の検知を確定したフレームを含む発話区間の開始位置を正しく設定することが可能となる。これにより、例えば、音声データから発話区間を抽出する際に、音声データにおける発話開始位置と、発話を検知したフレームとのずれによる語頭切れを抑制することが可能となる。また、上記の発話検知処理によれば、有音であると判定したフレームが発話区間の開始位置となるため、発話区間に含まれる発話前の雑音区間を低減することが可能となる。
【００５９】
次に、図５のフローチャートにおける方向識別処理（ステップＳ５）の内容について、図７を参照して説明する。
【００６０】
図７は、方向識別処理の内容を説明するフローチャートである。
方向識別処理は、方向識別部１２２が行う。方向識別部１２２は、まず、１組のフレームの組に含まれる複数のフレームのそれぞれについて、該フレームを含む発話区間の平均パワーを算出するループ処理（Ｓ５０１〜Ｓ５０６）を行う。
【００６１】
平均パワーを算出するループ処理において、方向識別部１２２は、まず、処理対象のフレームがＶＡＤ＝１（有音のフレーム）であるか否かを判定する（ステップＳ５０２）。ステップＳ５０２の処理は、方向識別部１２２のパワー算出部１２２Ａが行う。処理対象のフレームがＶＡＤ＝１である場合（ステップＳ５０２；ＹＥＳ）、パワー算出部１２２Ａは、処理対象のフレームのフレームパワーを算出し（ステップＳ５０３）、演算結果保持部１９２に保持させる。処理対象のフレームがステレオマイク２から取得した２個の音声データのうちのＬチャンネルの音声データのフレームである場合、パワー算出部１２２Ａは、例えば、下記式（２−１）によりパワーFramePow_Lを算出する。また、処理対象のフレームがステレオマイク２から取得した２個の音声データのうちのＲチャンネルの音声データのフレームである場合、パワー算出部１２２Ａは、例えば、下記式（２−２）によりパワーFramePow_Rを算出する。
【００６２】
【数２】
2018081239.tif 000004
【００６３】
式（２−１）のs_L、及び式（２−２）のs_Rは、それぞれ、Ｌチャンネルの１フレーム分の音声データ、及びＲチャンネルの１フレーム分の音声データである。また、式（２−１）及び式（２−２）の変数ｎはサンプル数である。
【００６４】
一方、処理対象のフレームがＶＡＤ≠１である場合（ステップＳ５０２；ＮＯ）、パワー算出部１２２Ａは、処理対象のフレームのパワーを０とし（ステップＳ５０４）、演算結果保持部１９２に保持させる。
【００６５】
ステップＳ５０３又はＳ５０４の処理を終えると、方向識別部１２２は、次に、処理対象のフレームを含む音声データにおける発話検知遅延長d_frame分のフレームのうちのＶＡＤ＝１のフレームについての平均パワーを算出する（ステップＳ５０５）。ステップＳ５０５の処理は、方向識別部１２２の平均パワー算出部１２２Ｂが行う。平均パワー算出部１２２Ｂは、演算結果保持部１９２で保持している発話検知遅延長d_frame分のフレームのうちのＶＡＤ＝１のフレームについてのパワーを読み出し平均パワーを算出する。処理対象のフレームがステレオマイク２から取得した２個の音声データのうちのＬチャンネルの音声データのフレームである場合、パワー算出部１２２Ａは、例えば、下記式（３−１）により平均パワーAvePow_Lを算出する。また、処理対象のフレームがステレオマイク２から取得した２個の音声データのうちのＲチャンネルの音声データのフレームである場合、パワー算出部１２２Ａは、例えば、下記式（３−２）により平均パワーAvePow_Rを算出する。
【００６６】
【数３】
2018081239.tif 000005
【００６７】
式（３−１）及び式（３−２）における値Ｍは、発話検知遅延長d_frame個のフレームのうちのＶＡＤ＝１であるフレームの数である。
【００６８】
ステップＳ５０５の処理を終えると、現在の処理対象であるフレームに対する処理が終了し、方向識別部１２１が行う処理は、ループ処理の終了端（ステップＳ５０５）にいたる。ここで、未処理のフレームがある場合、方向識別部１２２（パワー算出部１２２Ａ及び平均パワー算出部１２２Ｂ）は、次のフレームについてのステップＳ５０２以降の処理を開始する。また、全てのフレームについてのステップＳ５０２以降の処理を行った場合、方向識別部１２２は、ループ処理を終了し、次に、ループ処理（ステップＳ５０１〜Ｓ５０６）で算出した平均パワーに基づいて音圧差を算出する（ステップＳ５０７）。ステップＳ５０７の処理は、方向識別部１２２の音圧差算出部１２２Ｃが行う。処理対象のフレームの組がステレオマイク２から取得したＬチャンネルの音声データのフレームとＲチャンネルの音声データのフレームとである場合、音圧差算出部１２２Ｃは、上記の式（１）により音圧差DiffPowを算出する
次に、方向識別部１２２は、算出した音圧差DiffPowと、閾値ＴＨ３とに基づいて、発話している話者の方向を識別する（ステップＳ５０８）。ステップＳ５０８の処理は、話者方向判定部１２２Ｄが行う。式（１）により音圧差DiffPowを算出する場合、AvePow_L＞AvePow_RであるとDiffPow＞０となり、AvePow_L＜AvePow_RであるとDiffPow＜０となる。よって、閾値ＴＨ３＞０の場合、話者方向判定部１２２Ｄは、ＴＨ３＜DiffPowであれば発話者はマイク左方であると識別し、DiffPow＜−ＴＨ３であれば発話者がマイク右方であると識別する。
【００６９】
ステップＳ５０８の処理を終えると、方向識別部１２２は、話者の方向の識別結果を言語切替部１２３に送信して方向識別処理を終了する。
【００７０】
このように、本実施形態に係る方向識別部１２２は、発話を検知したフレームと、発話検知遅延長d_frameとに基づいて定まる発話区間に含まれるフレームのうちの、有音であるフレームの特性（波形）のみに基づいて、発話者の方向を識別する。このため、発話区間内に振幅の小さいフレーム（ＶＡＤ≠１のフレーム）が含まれる場合に、方向識別部１２２は、該振幅の小さいフレームや信号対ノイズ比が小さいフレームを除外して発話者の方向を識別することが可能となる。したがって、本実施形態によれば、発話区間に含まれるＶＡＤ≠１のフレームによる発話者の方向の識別の誤りを低減することが可能となる。
【００７１】
図８は、第１の音声処理部が行う処理を説明する図である。
図８の（ａ）には、ステレオマイク２から取得する音声データ６の例と、音声データ保持部１９１に保持させる際のデータの処理単位（フレーム）とを説明する図を示している。ステレオマイク２から収音する音声データ６は、例えば、Pulse Code Modulation（ＰＣＭ）形式の音声データである。この場合、音声データ６は、Ｌチャンネルのマイク２０１で収音した１フレーム分の音声データと、Ｒチャンネルのマイク２０２で収音した１フレーム分の音声データとを１組のフレームデータとして、ステレオマイク２から出力される。本実施形態の音声処理装置１における第１の音声処理部１１０では、音声データ６を、同時刻に収音されたＬチャンネルのフレームとＲチャンネルのフレームとの組のフレームデータ６０１，６０２，６０３，・・・に分割する。
【００７２】
図８の（ｂ）には、音声データ保持部１９１に保持させるフレームデータの量を説明する図を示している。例えば、音声データ保持部１９１には、Ｄｍａｘフレーム分のフレームデータ（ＬチャンネルのフレームとＲチャンネルのフレームとの組）を保持する。ここで、保持するフレーム数の最大値Ｄｍａｘは、発話検知遅延長d_frameとして設定し得る値以上とする。また、第１の音声処理部１１０の保持データ制御部１１２は、新たなフレーム（ｈ＋Ｄｍａｘ番目のフレーム）６１４を音声データ保持部１９１に保持させる際に、既に保持させているフレーム６１１〜６１３のうちの最も早い（最も過去の）フレーム（ｈ番目のフレーム）６１１を削除する。
【００７３】
なお、図８の（ａ）に示した音声データ６は、第１の音声処理部１１０が取得する音声データの一例に過ぎない。第１の音声処理部１１０が取得する音声データは、Ｌチャンネルのマイク２０１で収音した音声データと、Ｒチャンネルのマイク２０２で収音した音声データとが独立していてもよい。また、図８の（ｂ）に示した音声データの保持方法は、一例に過ぎない。第１の音声処理部１１０は、取得した音声データにおける先頭のフレームから、全てのフレームを音声データ保持部１９１に順次保持させてもよい。
【００７４】
図９は、フレームが有音であるか否かの判定方法の例を説明する図である。
図９には、音声データにおけるフレームが有音のフレームであるか否かを判定する方法の１つである、Voice Activity Ditection（ＶＡＤ）を説明する図を示している。図９に示した音声データの時間波形７０１における時刻ｔ０からｔ１までの区間、及び時刻ｔ４からｔ５までの区間は、それぞれ、有意な音声を含まない非音声区間（ＶＡＤ＝０の区間）である。これに対し、時間波形における時刻ｔ１からｔ４までの区間は、有意な音声を含む音声区間（ＶＡＤ＝１の区間）である。
【００７５】
また、音声データの音声区間における時刻ｔ２からｔ３までの区間の時間波形７０１Ａをみると、例えば、図９に示したように、時間波形には周期性がみられる。
【００７６】
ＶＡＤによる有音のフレームで有るか否かの判定は、音声区間の波形における上記の特徴を利用して、処理対象のフレームが有音のフレームであるか否かを判定する。すなわち、本実施形態に係る音声処理装置１における発話検知部１２１は、ステップＳ２０２の処理において、例えば、処理対象のフレームが下記の条件１及び条件２を満たすか否かにより、処理対象のフレームが有音であるか否かを判定する。
（条件１）振幅レベルの変動幅が閾値よりも大きい。
（条件２）時間波形が周期性を持つ。
【００７７】
図１０は、発話検知処理の処理結果の一例を示す図である。
本実施形態の音声処理装置１の第２の音声処理部１２０において、図１０に示した波形７０２を持つ音声データに対して発話検知処理を行うと、例えば、テーブル５０２のような処理結果が得られる。テーブル５０２において、ＦＮは処理対象のフレームを識別するフレーム番号であり、ＶＡＤは各フレームが有音のフレームであるか否かを示す値である。また、vad_countは有音のフレーム数をカウントするカウンタの値であり、n_vad_countは有音ではないフレーム数をカウントするカウンタの値である。更に、f_speechは発話の検知を確定したか否かを示すフラグの値であり、d_frameは発話検知遅延長を示す値である。
【００７８】
テーブル５０２におけるフレーム番号ＦＮの各マスの位置及び横幅は、波形７０２における破線で区切られた区間と対応している。すなわち、フレーム番号ＦＮ＝ｈのフレームにおける波形の振幅は、フレーム番号ＦＮ＞ｈのフレームにおける波形の振幅と比べて非常に小さい。このため、フレーム番号ｈのフレームに対する発話検知処理では、ステップＳ２０２においてＶＡＤ＝０となる。この際、フレーム番号ｈのフレームに対するvad_count及びn_vad_countは、例えば、それぞれ、０及びＭＡとなる。ここで、ＭＡは、例えば、１以上であり、かつステップＳ２０９の判定で用いる閾値ＴＨ２よりも小さい整数である。また、フレーム番号ｈのフレームはＶＡＤ＝０であるため、f_speech＝０となり、発話検知遅延長d_frameは不定となる。
【００７９】
次に、発話検知部１２１は、フレーム番号ｈ＋１のフレームに対する発話検知処理を行う。フレーム番号ｈ＋１のフレームにおける波形は、フレーム番号ｈのフレームと比べて振幅が大きく、かつ振幅の変動に周期性が見られる。このため、フレーム番号ｈ＋１のフレームは、ステップＳ２０２においてＶＡＤ＝１となる。したがって、発話検知部１２１は、テーブル５０２に示したように、フレーム番号ｈ＋１のフレームについての処理においてカウンタvad_count及びn_vad_frameの値を、それぞれ、１及び０とする（ステップＳ２０４）。また、ステップＳ２０５の判定で用いる閾値ＴＨ１を４とした場合、フレーム番号ｈ＋１のフレームについてのフラグf_speechは０となる。一方、発話検知遅延長d_frameは、１となる。
【００８０】
この後、フレーム番号ｈ＋２以降のフレームに対し同様の処理を繰り返すと、テーブル５０２に示したような処理結果が得られる。テーブル５０２に示した処理結果においては、フレーム番号ｈ＋１以降のフレームが全てＶＡＤ＝１となっており、vad_countの値が１ずつ増えている。よって、ＶＡＤ＝０からＶＡＤ＝１に変化したフレーム番号ｈ＋１のフレームから数えて４個目のフレームとなるフレーム番号ｈ＋４のフレームにおいて発話の検知が確定し、f_speech＝１となる。また、フレーム番号ｈ＋４のフレームに対する発話検知処理を行う際には、発話検知遅延長d_frame＝４となっている。したがって、第２の音声処理部１２０（音声処理装置１）は、発話の検知が確定したフレームのフレーム番号ｈ＋４と、発話検知遅延長d_frame＝４とに基づいて、フレーム番号ｈ＋１のフレームを発話区間の先頭フレームと認識する。これにより、発話を検知したフレーム番号ｈ＋４のフレームよりも前のフレーム番号ｈ＋１〜ｈ＋３の３個のフレームを発話区間に含めることが可能となり、フレーム番号ｈ＋１〜ｈ＋３の３個のフレームの発話内容を翻訳することが可能となる。
【００８１】
図１１は、発話検知処理の処理結果の別の例を示す図である。
本実施形態の音声処理装置１の第２の音声処理部１２０において、図１１に示した波形７０３を持つ音声データに対して発話検知処理を行うと、例えば、テーブル５０３のような処理結果が得られる。テーブル５０３において、ＦＮは処理対象のフレームを識別するフレーム番号であり、ＶＡＤは各フレームが有音のフレームであるか否かを示す値である。また、vad_countは有音のフレーム数をカウントするカウンタの値であり、n_vad_countは有音ではないフレーム数をカウントするカウンタの値である。更に、f_speechは発話を検知したか否かを示すフラグの値であり、d_frameは発話検知遅延長を示す値である。
【００８２】
テーブル５０３におけるフレーム番号ＦＮの各マスの位置及び横幅は、波形７０３における破線で区切られた区間と対応している。すなわち、フレーム番号ＦＮ＝ｋのフレームにおける波形の振幅は、フレーム番号ＦＮ＞ｋのフレームにおける波形の振幅と比べて非常に小さい。このため、フレーム番号ｋのフレームに対する発話検知処理では、ステップＳ２０２においてＶＡＤ＝０となる。この際、フレーム番号ｋのフレームに対する処理におけるカウンタvad_count及びn_vad_countの値は、例えば、それぞれ、０及びＭＢとなる。また、フレーム番号ｋのフレームはＶＡＤ＝０であるため、フラグf_speechは０となり、発話検知遅延長d_frameは不定となる。
【００８３】
次に、発話検知部１２１は、フレーム番号ｋ＋１のフレームに対する発話検知処理を行う。フレーム番号ｋ＋１のフレームにおける波形は、フレーム番号ｋのフレームと比べて振幅が大きく、かつ振幅の変動に周期性が見られる。このため、フレーム番号ｋ＋１のフレームは、ステップＳ２０２においてＶＡＤ＝１となる。したがって、発話検知部１２１は、テーブル５０３に示したように、フレーム番号ｋ＋１のフレームに対する処理においてカウンタvad_count及びn_vad_frameの値を、それぞれ、１及び０とする（ステップＳ２０４）。また、ステップＳ２０５の判定で用いる閾値ＴＨ１を４とした場合、フレーム番号ｈ＋１のフレームについてのフラグf_speechは０となり、発話検知遅延長d_frameは１となる。
【００８４】
この後、ステップＳ２０９の判定に用いる閾値ＴＨ２を３として、フレーム番号ｋ＋２以降のフレームに対し同様の処理を繰り返すと、テーブル５０３に示したような処理結果が得られる。すなわち、フレーム番号ｋ＋１，ｋ＋２，ｋ＋５，及びｋ＋８のフレームにおいてＶＡＤ＝１となっており、フレーム番号ｋ＋８のフレームにおいてカウンタvad_countが４となる。このため、図１１に示した例では、フレーム番号ｋ＋８のフレームにおいてフラグf_speechが１となり発話の検知が確定する。また、フレーム番号ｋ＋１のフレームに対する処理を行った際に発話検知遅延長d_frameのカウントが始まるため、フレーム番号ｋ＋８のフレームに対する処理を行ったときの発話検知遅延長d_frameは８となる。したがって、第２の音声処理部１２０（音声処理装置１）は、発話を検知したフレームのフレーム番号ｋ＋８と、発話検知遅延長d_frame＝８とに基づいて、フレーム番号ｋ＋１のフレームを発話区間の先頭フレームと認識する。これにより、発話を検知したフレーム番号ｋ＋８のフレームよりも前のフレーム番号ｋ＋１，ｋ＋２，ｋ＋５の３個のフレームを発話区間に含めることが可能となり、当該３個のフレームの発話内容を翻訳することが可能となる。
【００８５】
図１２は、方向識別処理における平均パワーの算出方法を説明する図である。
本実施形態の音声処理装置１の第２の音声処理部１２０において、図１２に示した波形７０４を持つ音声データに対してフレームパワーを算出する処理を行うと、例えば、テーブル５０４のような処理結果が得られる。テーブル５０３において、ＦＮは処理対象のフレームを識別するフレーム番号であり、ＶＡＤは各フレームが有音のフレームであるか否かを示す値である。また、フレームパワーは、図７のステップＳ５０２〜Ｓ５０４の処理により算出した各フレームのパワーを示す値である。
【００８６】
テーブル５０４におけるフレーム番号ＦＮの各マスの位置及び横幅は、波形７０４における破線で区切られた区間と対応している。すなわち、フレーム番号ＦＮ≦ｊ−６のフレームにおける波形の振幅は、フレーム番号ｊ＋５のフレームにおける波形の振幅と比べて非常に小さい。このため、フレーム番号ｊ−１０〜ｊ−６のフレームに対する発話検知処理では、ステップＳ２０２においてＶＡＤ＝０となる。同様に、フレーム番号ｊ＋５等のＶＡＤ＝１となるフレームと比べて波形の振幅が小さいフレーム番号ｊ−２，ｊ−１のフレームは、ＶＡＤ＝０となる。ここで、発話検知処理における閾値ＴＨ１及びＴＨ２をそれぞれ４及び３とすると、発話検知部１２１は、フレーム番号ｊのフレームに対する処理を行った際に発話を検知する。したがって、発話区間の開始位置は、フレーム番号ｊ−５のフレームとなる。
【００８７】
このとき、第２の音声処理部１２０における方向識別部１２２では、ＶＡＤ＝１のフレームのみ上記の式（２−１）及び式（２−２）によりパワーを算出し、ＶＡＤ＝０のフレームのパワーは０としている（ステップＳ５０２〜Ｓ５０４）。更に、方向識別部１２２は、フレーム番号ｊのフレームを含む発話検知遅延長d_frame分のフレームのうちのＶＡＤ＝１のフレームのパワーについての平均パワーを算出する（ステップＳ５０５）。すなわち、図１２の例におけるフレーム番号ｊのフレームが処理対象である場合、方向識別部１２２は、フレーム番号ｊ−５，ｊ−４，ｊ−３，及びｊのフレームのそれぞれから算出したパワーＰ１，Ｐ２，Ｐ３，Ｐ４の平均パワーを算出する。このように、発話検知遅延長d_frame分のフレームのうちのＶＡＤ＝１のフレームのパワーのみに基づいて平均パワーを算出することにより、発話区間ないの有音ではない区間やＳＮ比が小さい区間のパワーを除外した平均パワーを算出することが可能となる。
【００８８】
図１３は、音圧差と話者の方向との関係を説明する図である。
図１３の（ａ）には、ステレオマイク２に含まれる２個のマイク２０１，２０２から見た音源（話者）の方向と、各マイクから出力される音声データにおける音圧との関係を模式的に示している。
【００８９】
図１３の（ａ）のように、Ｌチャンネルのマイク２０１から見て右方にＲチャンネルのマイク２０２が位置する態様でステレオマイク２を設置した場合、Ｌチャンネルのマイク２０１の左方がマイク左方となる。また、この場合、Ｒチャンネルのマイク２０２の右方がマイク右方となる。
【００９０】
マイク左方となる位置に存在する話者が発話した場合、該話者からＬチャンネルのマイク２０１までの距離は、該話者からＲチャンネルのマイク２０２までの距離よりも短くなる。したがって、マイク左方となる領域８０１に存在する話者が発話した場合、Ｌチャンネルのマイク２０１から取得した音声データは、Ｒチャンネルのマイク２０２から取得した音声データよりもパワーが大きくなる。一方、マイク右方となる領域８０３に存在する話者が発話した場合、Ｒチャンネルのマイク２０２から取得した音声データは、Ｌチャンネルのマイク２０１から取得した音声データよりもパワーが大きくなる。これに対し、マイク２０１，２０２から見て正面方向となる領域８０２に存在する話者が発話した場合、領域８０１，８０３に存在する話者が発話した場合に比べて２つの音声データのパワーの差は小さくなる。
【００９１】
以上の点を踏まえ、本実施形態においては、例えば、図１３の（ｂ）に示したテーブル５０５のように、式（１）により算出した音圧差と閾値との関係に基づいて、発話している話者の方向を識別する。式(１)により算出される音圧差DiffPowは、マイク左方に存在する話者が発話しているときにはDiffPow＞０となり、マイク右方に存在する話者が発話しているときにはDiffPow＜０となる。よって、テーブル５０５では、閾値ＴＨ３（＞０）により、音圧差と話者の方向との対応関係を３通りに分類している。また、テーブル５０５には、話者の方向の識別結果を示す出力値を登録してある。すなわち、マイク左方にいる話者が発話しているフレームについての処理を行っている場合には出力値１を出力し、マイク右方にいる話者が発話しているフレームについての処理を行っている場合には出力値−１を出力する。更に、音圧差の絶対値が閾値ＴＨ３の絶対値以下である場合には、発話している話者がマイク左方と右方とのどちらであるかを識別すること（特定すること）ができなかったことを示す出力値０を出力する。
【００９２】
図１４は、翻訳言語の切替方法を説明する図である。
図１４の（ａ）には、図３と同じ図を改めて示している。本実施形態の音声処理装置１は、上記のように、Ｌチャンネル用のマイク２０１と、Ｒチャンネル用のマイク２０２とを含むステレオマイク２から音声データを取得する。この際、ステレオマイク２は、例えば、図１４に示すように、会話（対話）を行う二人の話者４Ａ，４Ｂの間となる位置に設置する。また、ステレオマイク２は、２個のマイク２０１，２０２の中点から見て第１の話者４Ａがいる方向にＬチャンネル用のマイク２０１が位置し、第２の話者４Ｂがいる方向にＲチャンネル用のマイク２０２が位置する向きで設置する。更に、第１の話者４Ａは発話言語が日本語であり、第２の話者４Ｂは発話言語が英語であるとする。この際、話者情報保持部１９３には、例えば、図４に示した話者の位置情報５０１が格納される。
【００９３】
この状態で第１の話者４Ａが発話すると、本実施形態の音声処理装置１では、上記の各処理を行ってマイク左方にいる話者が発話していると判定する。この場合、音声処理装置１は、話者の位置情報５０１と、発話者の方向がマイク左方であることを示す出力値（図１３の（ｂ）を参照）に基づいて、Ｌチャンネルのマイク２０１から取得した音声データを翻訳用の音声データとして抽出する。その後、音声処理装置１は、翻訳処理部１２５において取得した音声データ（発話区間）の翻訳を行う。なお、本実施形態の音声処理装置１では、上記のように、フレーム毎に有音であるか否かを判定し、あるフレームにおいて発話を検知したときに、当該発話を検知したフレームから過去に遡って、発話区間の開始位置を設定する。このため、本実施形態の音声処理装置１では、第１の人物４Ａが発話を開始した直後のフレームを発話区間に含めることが可能となり、翻訳時の語頭切れを防ぐことが可能となる。
【００９４】
また、図１４の（ｂ）に示すように、第２の話者４Ｂが発話を開始すると、本実施形態の音声処理装置１では、上記の各処理を行ってマイク右方にいる話者が発話していると判定する。この場合、音声処理装置１は、話者の位置情報５０１と、発話者の方向がマイク右方であることを示す出力値に基づいて、Ｒチャンネルのマイク２０２から取得した音声データを翻訳用の音声データとして抽出する。このときも、本実施形態の音声処理装置１は、第２の話者４Ｂの発話を検知したフレームから過去に遡って、発話区間の開始位置を設定する。よって、発話者が第１の人物４Ａから第２の人物４Ｂに変わった場合にも、第２の人物４Ｂが発話を開始した直後のフレームを発話区間に含めることが可能となり、翻訳時の語頭切れを防ぐことが可能となる。
【００９５】
更に、本実施形態においては、発話者の方向を識別する際に、発話を検知したフレームから過去に遡り、発話区間に含まれるフレームのうちの有音のフレーム（ＶＡＤ＝１のフレーム）についての平均パワーに基づいて、発話者の方向を識別する。すなわち、本実施形態では、発話区間に含まれる振幅の小さい区間やＳＮ比の小さい区間を除外して発話者の方向を識別する。このため、発話区間に発話者が発話していない区間が含まれることによる発話者の方向の識別の誤りを低減することが可能となる。
【００９６】
なお、図５、図６Ａ、図６Ｂ、及び図７のフローチャートは、本実施形態の音声処理装置１における第２の音声処理部１２０が行う処理の一例に過ぎない。本実施形態に係る第２の音声処理部１２０が行う処理は、図５、図６Ａ、図６Ｂ、及び図７の手順に限らず、適宜変更可能である。例えば、有音のフレームであるか否かを判定するステップＳ２０２の処理は、上記のＶＡＤに限らず、処理対象のフレームの電力又はＳＮ比に基づいて有音であるか否かを判定してもよい。
【００９７】
また、本実施形態に係る音声処理装置１で行う翻訳処理における翻訳元言語と翻訳先言語との組み合わせは、上記の英語と日本語との組み合わせに限らず、適宜変更可能である。また、翻訳元言語と翻訳先言語との組み合わせは、複数通りの組み合わせの中から選択することも可能である。
【００９８】
更に、本実施形態に係る音声処理装置１で取得する音声データは、ステレオマイク２で収音した２チャンネルの音声データに限らず、２個の独立したモノラルマイクで収音した音声データであってもよい。また、マイクから見た発話者の方向は、上記の左右方向に限らず、前後方向等であってもよい。
【００９９】
また、本実施形態に係る音声処理装置１は、翻訳結果を表示装置３に出力する代わりに、音声データとしてスピーカやレシーバ等に出力してもよい。
【０１００】
加えて、本実施形態に係る音声処理装置１では、発話区間の話者の方向を識別した後、該識別結果に基づいて発話区間の翻訳処理を行っている。しかしながら、音声処理装置１では、翻訳処理に限らず、発話区間の話者の方向の識別結果に基づいて、他の音声処理を行ってもよい。例えば、音声処理装置１は、発話区間の話者の方向の識別結果に基づいて、音声データにおける各話者の発話内容を話者毎にまとめて要約する音声処理を行ってもよい。
【０１０１】
＜第２の実施形態＞
本実施形態では、第１の実施形態で説明した音声処理装置１における第２の音声処理部１２０が行う音声処理の別の例を説明する。本実施形態に係る音声処理装置１は、図１に示したように、第１の音声処理部１１０と、第２の音声処理部１２０と、話者情報設定部１３０と、を備える。第１の音声処理部１１０は、音声データ取得部１１１と、保持データ制御部１１２とを含む。第２の音声処理部１２０は、発話検知部１２１と、方向識別部１２２と、言語切替部１２３と、音声データ抽出部１２４と、翻訳処理部１２５と、出力部１２６と、を含む。また、本実施形態の音声処理装置１は、音声データ保持部１９１と、演算結果保持部１９２と、話者情報保持部１９３と、翻訳用辞書１９４と、を備える。
【０１０２】
図１５は、第２の実施形態に係る発話内容の翻訳処理を説明するフローチャートである。
【０１０３】
本実施形態の音声処理装置１における第２の音声処理部１２０が行う処理は、図１５に示すように、複数の音声データにおける同時刻のフレームの組のそれぞれに対しステップＳ２以降の処理を行うループ処理（ステップＳ１〜Ｓ１０）となっている。第２の音声処理部１２０は、音声データに含まれる全てのフレームの組でステップＳ２以降の処理を行い、ループ処理の終了端（ステップＳ１０）に到達するとループ処理を終了する。
【０１０４】
なお、本実施形態における発話内容の翻訳処理では、ステップＳ２，Ｓ３の処理において発話を検知した場合（ステップＳ３；ＹＥＳ）に、ステップＳ４の判定を行わずに、方向識別処理（ステップＳ５）を行う。すなわち、本実施形態における発話内容の翻訳処理では、発話を検知した際に、発話が継続しているか否かによらず、方向識別処理を都度実行して処理対象のフレームの組における発話者の方向を識別する。そして、発話者の方向を識別した場合（ステップＳ６；ＹＥＳ）、第２の音声処理部１２０は、第１の実施形態で説明したステップＳ７〜Ｓ９の処理を実行し、取得した音声データに対する翻訳結果を表示装置３等に出力する。
【０１０５】
図１６は、第１の実施形態に係る音声処理において起こり得る翻訳処理の例を示す図である。
【０１０６】
図１６に示した４つの音声データ６２０〜６２３は、１つの音声データにおける同一区間を異なる観点で分類して示している。最上段の音声データ６２０には、取得した音声データにおける実際の発話状況を示している。取得した音声データ６２０における時刻ｔ０からｔ１までの区間、及び時刻ｔ５からｔ６までの区間は、それぞれ、誰も発話していない非発話区間である。また、音声データ６２０において、時刻ｔ１からｔ３までの区間はマイク右方の話者が発話しており、時刻ｔ４からｔ５までの区間はマイク左方の話者が発話している。更に、音声データ６２０において、時刻ｔ３からｔ４までの区間は、両者が発話している。
【０１０７】
音声データ６２０の下方の音声データ６２１には、音声データ６２０に対して発話検知処理を実行したときの発話区間と非発話区間とを示している。すなわち、時刻ｔ０からｔ１までの区間、及び時刻ｔ５からｔ６までの区間は非発話区間となり、時刻ｔ１からｔ５までの区間は発話区間となる。
【０１０８】
音声データ６２１の下方の音声データ６２２は、方向識別処理を実行する区間を示している。第１の実施形態においては、図５に示したように、発話を検知し（ステップＳ３；ＹＥＳ）、かつ発話が継続中ではない場合（ステップＳ４；ＮＯ）に、方向識別処理を行う。よって、方向識別処理を実行する区間は、発話区間の開始直後となる時刻ｔ１からｔ２（＜ｔ３）までの区間となる。
【０１０９】
音声データ６２２の下方に示した音声データ６２３は、翻訳処理を実行する区間を示している。第１の実施形態においては、図５に示したように、発話が継続中である場合（ステップＳ４；ＹＥＳ）、方向識別処理（ステップＳ５）等を省略して翻訳処理を行う。このため、第１の実施形態に係る音声処理装置１では、マイク右方の話者が発話を開始した時刻ｔ１から、マイク左方の話者が発話を終了する時刻ｔ５まで、翻訳元言語と翻訳先言語との組み合わせを変えることなく翻訳処理を行う。
【０１１０】
このように、第１の実施形態に係る音声処理では、音声データにおける話者の方向が異なる２つの区間の間に両方の話者が発話している区間が存在すると、翻訳元言語と翻訳先言語との組み合わせに誤りが生じ、誤った翻訳結果が出力される可能性がある。
【０１１１】
これに対し、本実施形態に係る音声処理では、上記のように、発話が継続しているか否かによらず、都度、方向識別処理を行って話者の方向を識別する。よって、図１６の音声データ６２０に対し本実施形態に係る音声処理を行った場合、図１７に示すような翻訳処理が行われる。
【０１１２】
図１７は、第２の実施形態に係る音声処理による翻訳処理の例を示す図である。
図１７に示した音声データ６２０には、取得した音声データにおける実際の発話状況を示している。取得した音声データ６２０における時刻ｔ０からｔ１までの区間、及び時刻ｔ５からｔ６までの区間は、それぞれ、誰も発話していない非発話区間である。また、音声データ６２０において、時刻ｔ１からｔ３までの区間はマイク右方の話者が発話しており、時刻ｔ４からｔ５までの区間はマイク左方の話者が発話している。更に、音声データ６２０において、時刻ｔ３からｔ４までの区間は、両者が発話している。
【０１１３】
音声データ６２０の下方に示した音声データ６２１は、音声データ６２０に対して発話検知処理を実行したときの発話区間と非発話区間とを示している。すなわち、時刻ｔ０からｔ１までの区間、及び時刻ｔ５からｔ６までの区間は非発話区間となり、時刻ｔ１からｔ５までの区間は発話区間となる。ここまでは、第１の実施形態で説明した処理と同じである。
【０１１４】
音声データ６２１の下方に示した音声データ６２５は、方向識別処理を実行する区間を示している。第２の実施形態においては、図１５に示したように、発話を検知した場合（ステップＳ３；ＹＥＳ）、都度、方向識別処理を行う。よって、方向識別処理を実行する区間は、発話区間の開始時刻ｔ１から発話区間の終了時刻ｔ５までの区間となる。
【０１１５】
音声データ６２２の下方に示した音声データ６２６は、翻訳処理を実行する区間を示している。音声データ６２６における時刻ｔ１からｔ３までの区間は、マイク右方の話者が発話している区間である。このため、本実施形態の音声処理装置１では、マイク右方の話者の発話言語を翻訳元言語として、音声データ６２６における時刻ｔ４からｔ５までの区間の翻訳処理を行う。一方、音声データ６２６における時刻ｔ４からｔ５までの区間は、マイク左方の話者が発話している区間である。このため、本実施形態の音声処理装置１では、マイク左方の話者の発話言語を翻訳元言語として、音声データ６２６における時刻ｔ４からｔ５までの区間の翻訳処理を行う。
【０１１６】
これに対し、時刻ｔ３からｔ４までの区間は、両者が発話している区間である。このため、本実施形態の音声処理装置１では、時刻ｔ３からｔ４までの区間は話者の方向をマイク左方及びマイク右方のいずれかに特定することができない。このため、本実施形態の音声処理装置１では、音声データ６２６における時刻ｔ３からｔ４の区間は翻訳されない。
【０１１７】
このように、本実施形態に係る発話内容の翻訳処理では、発話が継続しており、かつ途中で発話者の方向が変更された場合にも、発話者の方向が変更されたタイミングで翻訳元言語と翻訳先言語との組み合わせを切り替えることが可能となる。また、発話が継続しているときに両者が発話する等の理由で話者の方向を識別できなくなると、本実施形態に係る音声処理装置１は、翻訳を中止する。よって、本実施形態によれば、発話区間における話者の方向を正しく識別することが可能となる。したがって、話者の方向の識別結果に基づく翻訳元言語と翻訳先言語との組み合わせの切り替えや、翻訳の開始及び停止の切り替えを適切なタイミングで行うことが可能となる。
【０１１８】
＜第３の実施形態＞
本実施形態では、第１の実施形態及び第２の実施形態に係る音声処理装置１で行われる翻訳処理を、音声処理装置１とは異なるサーバ装置で行う例を説明する。
【０１１９】
図１８は、第３の実施形態に係る音声処理装置及びサーバ装置の機能的構成を示すブロック図である。
【０１２０】
図１８に示すように、本実施形態の音声処理装置１は、第１の音声処理部１１０と、第２の音声処理部１２０と、話者情報設定部１３０と、通信部１４０と、を備える。第１の音声処理部１１０は、音声データ取得部１１１と、保持データ制御部１１２とを含む。第２の音声処理部１２０は、発話検知部１２１と、方向識別部１２２と、言語切替部１２３と、音声データ抽出部１２４と、を含む。また、本実施形態の音声処理装置１は、音声データ保持部１９１と、演算結果保持部１９２と、話者情報保持部１９３と、を備える。
【０１２１】
本実施形態の音声処理装置１における第１の音声処理部１１０と、話者情報設定部１３０とは、それぞれ、第１の実施形態で説明した機能を持つ。これに対し、本実施形態の音声処理装置１における第２の音声処理部１２０は、第１の実施形態及び第２の実施形態における第２の音声処理部１２０から、翻訳処理部１２５及び出力部１２６を省略している。すなわち、本実施形態の音声処理装置１における第２の音声処理部１２０は、第１の実施形態又は第２の実施形態で説明した処理のうちの翻訳する音声データを抽出する処理までを行う。
【０１２２】
通信部１４０は、インターネット等の通信ネットワーク（図示せず）を介してサーバ装置９と通信を行う。通信部１４０は、例えば、音声データ抽出部１２４で抽出した音声データと、翻訳元言語と、翻訳先言語とを含む翻訳依頼をサーバ９に送信する。また、通信部１４０は、サーバ９から受信した翻訳結果を表示装置３等に出力する。
【０１２３】
サーバ装置９は、音声処理装置１から受信した音声データに対する翻訳処理を行い、翻訳結果を音声処理装置１に返送する。サーバ装置９は、翻訳処理部９１０と、通信部９２０と、翻訳用辞書９９１と、を備える。
【０１２４】
翻訳処理部９１０は、翻訳用辞書９９１を参照し、音声データを翻訳元言語で文章化した後、該文書を翻訳先言語の文章に翻訳する（変換する）。サーバ装置９の翻訳処理部９１０、及び翻訳用辞書９９１は、それぞれ、第１の実施形態で説明した音声処理装置１における翻訳処理部１２５、及び翻訳用辞書１９４に相当する。
【０１２５】
通信部９２０は、音声処理装置１からの翻訳依頼を受信する処理、及び翻訳処理部９１０による翻訳処理の結果を音声処理装置１に返送する処理を行う。
【０１２６】
本実施形態のように、音声データの翻訳処理を音声処理装置１とは異なるサーバ装置３で行うことにより、音声処理装置１における処理負荷を軽減することが可能となる。また、音声処理装置１とは異なるサーバ装置３で翻訳処理を行うことにより、翻訳処理部９１０及び翻訳用辞書９９１を複数の音声処理装置１で共有することが可能となる。このため、例えば、翻訳用辞書のメンテナンスや最新版への更新を容易に行うことが可能となる。また、音声処理装置１で翻訳用辞書を保持することによる音声処理装置１の記憶部（図示せず）の容量の圧迫を抑制することが可能となる。
【０１２７】
なお、本実施形態ではサーバ装置９において翻訳処理を行う例を示したが、サーバ装置９は、これに限らず、音声データと該音声データの発話者とを対応付けて行う他の音声処理を行うものであってもよい。
【０１２８】
上記の各実施形態に係る音声処理装置１は、コンピュータと、当該コンピュータに実行させるプログラムとにより実現可能である。以下、図１９を参照して、コンピュータとプログラムとにより実現される音声処理装置１について説明する。
【０１２９】
図１９は、コンピュータのハードウェア構成を示す図である。
図１９に示すように、コンピュータ１５は、プロセッサ１５０１と、主記憶装置１５０２と、補助記憶装置１５０３と、入力装置１５０４と、出力装置１５０５と、入出力インタフェース１５０６と、通信制御装置１５０７と、媒体駆動装置１５０８と、を備える。コンピュータ１５におけるこれらの要素１５０１〜１５０８は、バス１５１０により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【０１３０】
プロセッサ１５０１は、Central Processing Unit（ＣＰＵ）やMicro Processing Unit（ＭＰＵ）等である。プロセッサ１５０１は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ１５の全体の動作を制御する。また、プロセッサ１５０１は、例えば、図５或いは図１５に示した発話内容の翻訳処理を含む音声処理プログラムを実行する。なお、コンピュータ１５を第３の実施形態に係る音声処理装置１として動作させる場合、プロセッサ１５０１は、図５或いは図１５に示したフローチャートにおけるステップＳ９の翻訳処理を省略したプログラムを実行する。
【０１３１】
主記憶装置１５０２は、図示しないRead Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む。主記憶装置１５０２のＲＯＭには、例えば、コンピュータ１５の起動時にプロセッサ１５０１が読み出す所定の基本制御プログラム等が予め記録されている。一方、主記憶装置１５０２のＲＡＭは、プロセッサ１５０１が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置１５０２のＲＡＭは、例えば、図１及び図１９に示した音声保持部１９１、演算結果保持部１９２、及び話者情報保持部１９３として利用可能である。
【０１３２】
補助記憶装置１５０３は、主記憶装置１５０２のＲＡＭと比べて容量の大きい記憶装置であり、例えば、Hard Disk Drive（ＨＤＤ）や、フラッシュメモリのような不揮発性メモリ（Solid State Drive（ＳＳＤ）を含む）等である。補助記憶装置１５０３は、プロセッサ１５０１によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置１５０３は、例えば、図５或いは図１５に示した発話内容の翻訳処理を含む音声処理プログラム、若しくは図５或いは図１５に示したフローチャートにおけるステップＳ９の翻訳処理を省略したプログラムの記憶に利用可能である。また、補助記憶装置１５０３は、例えば、図１及び図１９に示した音声保持部１９１、演算結果保持部１９２、及び話者情報保持部１９３として利用可能である。更に、補助記憶装置１５０３は、図１に示した翻訳用辞書１９４を記憶させる記憶部として利用可能である。
【０１３３】
入力装置１５０４は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ１５のオペレータ（利用者）が入力装置１５０４に対して所定の操作を行うと、入力装置１５０４は、その操作内容に対応付けられている入力情報をプロセッサ１５０１に送信する。入力装置１５０４は、例えば、音声処理を開始させる命令、コンピュータ１５が実行可能な他の処理に関する命令等の入力や、話者情報の設定等に利用可能である。
【０１３４】
出力装置１５０５は、例えば、液晶表示装置等の表示装置、スピーカやレシーバ等の音声出力装置である。出力装置１５０５は、翻訳処理の結果（翻訳文）の表示や発生に利用可能である。
【０１３５】
入出力インタフェース１５０６は、コンピュータ１５と、他の電子機器とを接続する。入出力インタフェース１５０６は、例えば、Universal Serial Bus（ＵＳＢ）規格のコネクタ等を備える。入出力インタフェース１５０６は、例えば、コンピュータ１５と複数のマイク２０１，２０２との接続等に利用可能である。
【０１３６】
通信制御装置１５０７は、コンピュータ１５をインターネット等のネットワークに接続し、ネットワークを介したコンピュータ１５と他の通信機器との各種通信を制御する装置である。通信制御装置１５０７は、例えば、コンピュータ１５と、第３の実施形態で説明したサーバ装置９との通信等に利用可能である。
【０１３７】
媒体駆動装置１５０８は、可搬型記憶媒体１６に記録されているプログラムやデータの読み出し、補助記憶装置１５０３に記憶されたデータ等の可搬型記憶媒体１６への書き込みを行う。媒体駆動装置１５０８には、例えば、１種類又は複数種類の規格に対応したメモリカード用リーダ／ライタが利用可能である。媒体駆動装置１５０８としてメモリカード用リーダ／ライタを用いる場合、可搬型記憶媒体１６としては、メモリカード用リーダ／ライタが対応している規格、例えば、Secure  Digital（ＳＤ）規格のメモリカード（フラッシュメモリ）等を利用可能である。また、可搬型記録媒体１６としては、例えば、ＵＳＢ規格のコネクタを備えたフラッシュメモリが利用可能である。更に、コンピュータ１５が媒体駆動装置１５０８として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体１６として利用可能である。可搬型記録媒体１６として利用可能な光ディスクには、例えば、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray Disc（Blu-rayは登録商標）等がある。可搬型記録媒体１６は、例えば、図５或いは図１５に示した発話内容の翻訳処理を含む音声処理プログラム、若しくは図５或いは図１５に示したフローチャートにおけるステップＳ９の翻訳処理を省略したプログラムの記憶に利用可能である。また、可搬型記録媒体１６は、例えば、図１及び図１９に示した音声保持部１９１、演算結果保持部１９２、及び話者情報保持部１９３として利用可能である。更に、可搬型記録媒体１６は、図１に示した翻訳用辞書１９４の記憶に利用可能である。
【０１３８】
オペレータが入力装置１５０４等を利用して音声処理の開始命令をコンピュータ１５に入力すると、プロセッサ１５０１が、補助記憶装置１５０３等の非一時的な記録媒体に記憶させた音声処理プログラムを読み出して実行する。この処理において、プロセッサ１５０１は、図１又は図１９の音声処理装置１における第１の音声処理部１１０、及び第２の音声処理部１２０として機能する（動作する）。また、プロセッサ９０１は、入出力インタフェース９０６を介して第１のマイク２から骨導音信号を取得するとともに、第２のマイク３から気導音信号を取得する。また、プロセッサ１５０１が上記の音声処理を行っている間、主記憶装置１５０２のＲＡＭや補助記憶装置１５０３等は、図１又は図１９の音声処理装置１における音声データ保持部１９１、演算結果保持部１９２、話者情報保持部１９３として機能する。また、コンピュータ１５を第１の実施形態又は第２の実施形態の音声処理装置１として動作させる場合、主記憶装置１５０２のＲＡＭや補助記憶装置１５０３等は、翻訳用辞書１９４を記憶する記憶部としての機能も持つ。
【０１３９】
なお、音声処理装置１として動作させるコンピュータ１５は、図１９に示した全ての要素１５０１〜１５０８を含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、第１の実施形態又は第２の実施形態で説明した音声処理装置１として動作させるコンピュータ１５は、通信制御装置９０７や媒体駆動装置９０８が省略されたものであってもよい。更に、音声処理装置１として動作させるコンピュータ１５は、例えば、スマートフォン等の通話機能を持つ携帯型のコンピュータであってもよい。
【０１４０】
以上記載した各実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータが、
複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定し、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別し、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する、
処理を実行することを特徴とする音声処理方法。
（付記２）
前記発話者の方向を識別する処理において、前記コンピュータは、前記音声データにおける前記発話の開始位置から前記発話を検知した位置までの区間のうちの有意な音声を含む区間についての前記特性差に基づいて、前記発話者の方向を識別する、
ことを特徴とする付記１に記載の音声処理方法。
（付記３）
前記音声データの前記発話区間を抽出する処理において、前記コンピュータは、前記音声データと、前記複数のマイクロフォンから見た発話者の方向とを対応付けた話者の位置情報に基づいて、前記複数の音声データのうちの、識別した前記発話者の方向と対応付けられた音声データにおける前記発話区間を抽出する、
ことを特徴とする付記２に記載の音声処理方法。
（付記４）
前記発話の開始位置を設定する処理において、前記コンピュータは、前記音声データを複数のフレームに分割してフレーム毎に有意な音声が含まれるか否かを判定し、連続する複数のフレームにおける前記有意な音声が含まれるフレーム数に基づいて発話の検知を確定するとともに、前記有意な音声が含まれるフレーム数の計数を開始したフレームを前記発話の開始位置に設定する、
ことを特徴とする付記１に記載の音声処理方法。
（付記５）
前記コンピュータは、前記発話を検知する毎に、前記発話者の方向を識別する処理を行う、
ことを特徴とする付記１に記載の音声処理方法。
（付記６）
前記コンピュータは、前記複数の音声データとして、ステレオマイクにより収音した２個の音声データを取得する、
ことを特徴とする付記１に記載の音声処理方法。
（付記７）
前記音声データを抽出した後、前記コンピュータは、前記発話者の方向と対応付けられた発話言語に基づいて、抽出した前記音声データの発話内容を翻訳する処理、を更に実行する、
ことを特徴とする付記１に記載の音声処理方法。
（付記８）
前記音声データを抽出した後、前記コンピュータは、
抽出した前記音声データと、翻訳元の言語と、翻訳先の言語とを含む翻訳依頼を、音声データの翻訳処理を実行可能なサーバ装置に送信し、
前記サーバ装置から前記音声データに対する翻訳処理の結果を受信して出力する処理、を更に実行する、
ことを特徴とする付記１に記載の音声処理方法。
（付記９）
複数のマイクロフォンにより同時に収音された複数の音声データから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定する発話検知部と、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別する方向識別部と、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する音声データ抽出部と、
を備えることを特徴とする音声処理装置。
（付記１０）
複数のマイクロフォンにより同時に収音された複数の音声データのから所定の条件に従って発話を検知したときに、前記所定の条件に基づいて、前記音声データにおける前記発話を検知した位置から過去に遡って前記発話の開始位置を設定し、
前記複数の音声データのそれぞれにおける前記発話の開始位置から前記発話を検知した位置までの特性差に基づいて、前記複数のマイクロフォンから見た発話者の方向を識別し、
識別した前記発話者の方向に基づいて、前記複数の音声データのいずれかにおける前記発話の開始位置以降の発話区間を抽出する、
処理をコンピュータに実行させる音声処理プログラム。
【符号の説明】
【０１４１】
１  音声処理装置
２  ステレオマイク
３  表示装置
４Ａ，４Ｂ  話者
９  サーバ装置
１５  コンピュータ
１６  可搬型記録媒体
１１０  第1の音声処理部
１１１  音声データ取得部
１１２  保持データ制御部
１２０  第２の音声処理部
１２１  発話検知部
１２２  方向識別部
１２２Ａ  フレームパワー算出部
１２２Ｂ  平均パワー算出部
１２２Ｃ  音圧差算出部
１２２Ｄ  話者方向判定部
１２３  言語切替部
１２４  音声データ抽出部
１２５，９１０  翻訳処理部
１２６  出力部
１３０  話者情報設定部
１４０，９２０  通信部
１９１  音声データ保持部
１９２  演算結果保持部
１９３  話者情報保持部
１９４，９９１  翻訳用辞書
２０１，２０２  マイク
１５０１  プロセッサ
１５０２  主記憶装置
１５０３  補助記憶装置
１５０４  入力装置
１５０５  出力装置
１５０６  入出力インタフェース
１５０７  通信制御装置
１５０８  媒体駆動装置
１５１０  バス
【図１】
2018081239.tif 000006
【図２】
2018081239.tif 000007
【図３】
2018081239.tif 000008
【図４】
2018081239.tif 000009
【図５】
2018081239.tif 000010
【図６Ａ】
2018081239.tif 000011
【図６Ｂ】
2018081239.tif 000012
【図７】
2018081239.tif 000013
【図８】
2018081239.tif 000014
【図９】
2018081239.tif 000015
【図１０】
2018081239.tif 000016
【図１１】
2018081239.tif 000017
【図１２】
2018081239.tif 000018
【図１３】
2018081239.tif 000019
【図１４】
2018081239.tif 000020
【図１５】
2018081239.tif 000021
【図１６】
2018081239.tif 000022
【図１７】
2018081239.tif 000023
【図１８】
2018081239.tif 000024
【図１９】
2018081239.tif 000025