(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121819
(43)【公開日】2024-09-06
(54)【発明の名称】収音装置、収音方法、及び収音プログラム
(51)【国際特許分類】
H04R 3/00 20060101AFI20240830BHJP
G10L 21/0208 20130101ALI20240830BHJP
G10L 25/78 20130101ALI20240830BHJP
【FI】
H04R3/00 320
G10L21/0208 100B
G10L21/0208 100A
G10L25/78
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024026642
(22)【出願日】2024-02-26
(31)【優先権主張番号】P 2023028212
(32)【優先日】2023-02-27
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】山邊 孝朗
(72)【発明者】
【氏名】高梨 陸
【テーマコード(参考)】
5D220
【Fターム(参考)】
5D220BA04
(57)【要約】
【課題】発話終了時が子音成分であっても雑音の発生を抑制して音声信号の品質を向上させることができる収音装置を提供する。
【解決手段】減算器10は、音声信号と変換音声信号との差分である残差信号を生成する。係数更新部61は、FIRフィルタ60に係数を供給し、残差信号が小さくなるように係数を更新する。フィルタ係数分析部7は、発話終了時に係数更新部61がFIRフィルタ60に供給した発話終了時の係数値を分析することにより、発話が子音で終了し、終了時係数の係数値が子音に対応する係数値であるか否かを判定する。フィルタ係数補正部8は、フィルタ係数分析部7が、終了時係数の係数値が子音に対応する係数値であると判定したとき、発話終了時の係数値を目標係数値格納部9に格納されている目標係数値に補正して、目標係数値を係数更新部61に供給する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
空気振動に基づく音声信号を生成するマイクロフォンと、
人体に伝わる振動に基づく振動信号を生成する振動センサと、
前記振動信号に複数の係数を乗算して変換音声信号を生成するFIRフィルタと、
前記音声信号と前記変換音声信号との差分である残差信号を生成する減算器と、
前記FIRフィルタに前記係数を供給し、前記残差信号が小さくなるように前記係数を更新する係数更新部と、
前記係数更新部が前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定するフィルタ係数分析部と、
前記発話終了時の係数値を補正する目標係数値を格納する目標係数値格納部と、
前記フィルタ係数分析部が、前記発話終了時の係数値が子音に対応する係数値であると判定したとき、前記目標係数値を前記係数更新部に供給するフィルタ係数補正部と、
を備える収音装置。
【請求項2】
前記目標係数値格納部に格納されている前記目標係数値は、
母音が発話されたときに前記係数更新部が生成した係数値と、
前記FIRフィルタが前記振動信号を遅延させる遅延フィルタであるときの係数値と、
前記マイクロフォンが暗騒音を収音して音声信号を生成し、前記振動センサが前記暗騒音に基づく振動信号を生成したときに前記係数更新部が生成した係数値と、
のうちのいずれかである
請求項1に記載の収音装置。
【請求項3】
前記音声信号と前記振動信号とのうちの少なくとも一方の信号に基づいて、音声区間であるか否かを検出し、音声区間であるときには、前記係数更新部に第1の状態を示す適応フィルタ制御信号を供給し、音声区間でないときには、前記係数更新部に第2の状態を示す適応フィルタ制御信号を供給する適応制御部をさらに備え、
前記係数更新部は、前記第1の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を第1の時間で更新し、前記第2の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を前記第1の時間より長い第2の時間で更新するか前記係数を更新しない
請求項1に記載の収音装置。
【請求項4】
対象者の顔を撮像した画像信号を取得する撮像部と、
前記画像信号から対象者の発話区間および非発話区間の少なくとも一方を判定した発話区間情報を生成する画像認識部と、
前記発話区間情報をもとに、発話区間であるか否かを検出し、発話区間であるときには、前記係数更新部に第1の状態を示す適応フィルタ制御信号を供給し、発話区間でないときには、前記係数更新部に第2の状態を示す適応フィルタ制御信号を供給する適応制御部をさらに備え、
前記係数更新部は、前記第1の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を第1の時間で更新し、前記第2の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を前記第1の時間より長い第2の時間で更新するか前記係数を更新しない
請求項1に記載の収音装置。
【請求項5】
対象者の口および咽喉の筋電位信号を取得する筋電位センサと、
前記筋電位信号から対象者の発話区間および非発話区間の少なくとも一方を判定した発話区間情報を生成する筋電位解析部と、
前記発話区間情報をもとに、発話区間であるか否かを検出し、発話区間であるときには、前記係数更新部に第1の状態を示す適応フィルタ制御信号を供給し、発話区間でないときには、前記係数更新部に第2の状態を示す適応フィルタ制御信号を供給する適応制御部をさらに備え、
前記係数更新部は、前記第1の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を第1の時間で更新し、前記第2の状態を示す適応フィルタ制御信号が入力されるときには、前記残差信号が小さくなるように前記係数を前記第1の時間より長い第2の時間で更新するか前記係数を更新しない
請求項1に記載の収音装置。
【請求項6】
前記フィルタ係数分析部は、前記適応制御部から供給される前記適応フィルタ制御信号が前記第1の状態を示す状態から前記第2の状態を示す状態へと変化したときに、前記発話終了時の係数値を分析する請求項3から5のいずれか1項に記載の収音装置。
【請求項7】
マイクロフォンが空気振動に基づく音声信号を生成し、
振動センサが人体に伝わる振動に基づく振動信号を生成し、
FIRフィルタが前記振動信号に複数の係数を乗算して変換音声信号を生成し、
減算器が前記音声信号と前記変換音声信号との差分である残差信号を生成し、
係数更新部が前記残差信号が小さくなるように前記係数を更新して、前記FIRフィルタに前記係数を供給し、
フィルタ係数分析部が、前記係数更新部が前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定し、
前記フィルタ係数分析部が、前記発話終了時の係数値が子音に対応する係数値であると判定したとき、フィルタ係数補正部が、目標係数値を前記係数更新部に供給する
収音方法。
【請求項8】
コンピュータに、
FIRフィルタを用いて、振動センサが生成する人体に伝わる振動に基づく振動信号に複数の係数を乗算して変換音声信号を生成するステップと、
マイクロフォンが生成する空気振動に基づく音声信号と前記変換音声信号との差分である残差信号を生成するステップと、
前記残差信号が小さくなるように前記係数を更新して、前記FIRフィルタに前記係数を供給するステップと、
前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定するステップと、
前記発話終了時の係数値が子音に対応する係数値であると判定したとき、目標係数値を生成するステップと、
を実行させる収音プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、収音装置、収音方法、及び収音プログラムに関する。
【背景技術】
【0002】
特許文献1には、空気振動に基づいて音声信号を生成するマイクロフォン、及び骨振動に基づいて音声信号に相当する振動信号を生成する振動センサを備えることにより、騒音環境下において明瞭な音声を取得することができる収音装置が記載されている。前者のマイクロフォンは気導マイクロフォンと称されることがあり、後者の振動センサは骨導マイクロフォンと称されることがある。
【0003】
特許文献1に記載の収音装置は、振動センサが生成する振動信号を音声信号に変換するフィルタリング部を備え、静穏下においても振動センサが生成する振動信号に基づく音声信号を出力する。特許文献1に記載の収音装置は、フィルタリング部より出力される音声信号とマイクロフォンが生成する音声信号との差分である誤差信号が小さくなるようにフィルタリング部のフィルタ係数を更新するように構成されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-251354号公報
【特許文献2】特許第5874344号公報
【特許文献3】特許第5948918号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されているような収音装置において、発話終了時が子音であると、高域の雑音が一定期間残存して、音声信号の品質を悪化させることがある。発話終了時が子音であっても、雑音の発生を抑制して音声信号の品質を向上させることが求められている。
【0006】
本発明は、発話終了時が子音であっても雑音の発生を抑制して音声信号の品質を向上させることができる収音装置、収音方法、及び収音プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、空気振動に基づく音声信号を生成するマイクロフォンと、人体に伝わる振動に基づく振動信号を生成する振動センサと、前記振動信号に複数の係数を乗算して変換音声信号を生成するFIRフィルタと、前記音声信号と前記変換音声信号との差分である残差信号を生成する減算器と、前記FIRフィルタに前記係数を供給し、前記残差信号が小さくなるように前記係数を更新する係数更新部と、前記係数更新部が前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定するフィルタ係数分析部と、前記発話終了時の係数値を補正する目標係数値を格納する目標係数値格納部と、前記フィルタ係数分析部が、前記発話終了時の係数値が子音に対応する係数値であると判定したとき、前記目標係数値を前記係数更新部に供給するフィルタ係数補正部とを備える収音装置を提供する。
【0008】
本発明は、マイクロフォンが空気振動に基づく音声信号を生成し、振動センサが人体に伝わる振動に基づく振動信号を生成し、FIRフィルタが前記振動信号に複数の係数を乗算して変換音声信号を生成し、減算器が前記音声信号と前記変換音声信号との差分である残差信号を生成し、係数更新部が前記残差信号が小さくなるように前記係数を更新して、前記FIRフィルタに前記係数を供給し、フィルタ係数分析部が、前記係数更新部が前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定し、前記フィルタ係数分析部が、前記発話終了時の係数値が子音に対応する係数値であると判定したとき、フィルタ係数補正部が、目標係数値を前記係数更新部に供給する収音方法を提供する。
【0009】
本発明は、コンピュータに、FIRフィルタを用いて、振動センサが生成する人体に伝わる振動に基づく振動信号に複数の係数を乗算して変換音声信号を生成するステップと、マイクロフォンが生成する空気振動に基づく音声信号と前記変換音声信号との差分である残差信号を生成するステップと、前記残差信号が小さくなるように前記係数を更新して、前記FIRフィルタに前記係数を供給するステップと、前記FIRフィルタに供給した発話終了時の係数値を分析することにより、前記発話終了時の係数値が子音に対応する係数値であるか否かを判定するステップと、前記発話終了時の係数値が子音に対応する係数値であると判定したとき、目標係数値を生成するステップとを実行させる収音プログラムを提供する。
【発明の効果】
【0010】
本発明の収音装置、収音方法、及び収音プログラムによれば、発話終了時が子音であっても雑音の発生を抑制して音声信号の品質を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、一実施形態に係る収音装置を示すブロック図である。
【
図2A】
図2Aは、マイクロフォンが生成した音声信号の一例を示す波形図である。
【
図2B】
図2Bは、振動センサが生成した振動信号の一例を示す波形図である。
【
図3】
図3は、母音発音時の音声信号及び振動信号の周波数特性を示す特性図である。
【
図4】
図4は、一実施形態に係る収音装置が備える適応フィルタの具体的な構成例を示すブロック図である。
【
図5A】
図5Aは、マイクロフォンが生成した母音発話時の音声信号の一例示す波形図である。
【
図5B】
図5Bは、振動センサが生成した母音発話時の振動信号の一例を示す波形図である。
【
図6】
図6は、子音発音時の音声信号及び振動信号の周波数特性を示す特性図である。
【
図7】
図7は、母音学習型の係数値を示す図である。
【
図8】
図8は、雑音生成型の係数値を示す図である。
【
図11】
図11は、一実施形態に係る収音装置の動作、一実施形態に係る収音方法、及び、一実施形態に係る収音プログラムがコンピュータに実行させる処理を示すフローチャートである。
【
図12】
図12は、実施形態2に係る収音装置を示すブロック図である。
【
図13】
図13(a)-(b)は、音声信号と画像解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号の一例を示す図である。
【
図14】
図14は、実施形態3に係る収音装置を示すブロック図である。
【
図15】
図15(a)-(b)は、音声信号と筋電位解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号の一例を示す図である。
【発明を実施するための形態】
【0012】
(実施形態1)
以下、一実施形態に係る収音装置、収音方法、及び収音プログラムについて、添付図面を参照して説明する。
図1は、一実施形態に係る収音装置100を示すブロック図である。
図1において、マイクロフォン1は空気振動に基づいて音声信号を生成する。マイクロフォン1より出力される音声信号は、人が耳を通して知覚する音声に近いため、後述する振動信号を音声信号に変換する際の目標値となる。A/D変換器2は、マイクロフォン1より供給されるアナログの音声信号をA/D変換して、デジタルの音声信号を適応制御部5及び減算器10に供給する。
【0013】
振動センサ3は、人体に伝わる振動に基づいて振動信号を生成する。振動センサ3は、人体の表面に接触するように配置されている。振動センサ3は、人体と接触しないように配置されていても、人体と直に接するように配置されていても、またさらには、体内に埋め込まれるように配置されていてもよい。音または振動を検出するマイクロフォン、映像のフレーム間のピクセルの変異や色の揺らぎから振動を検知して音信号を獲得するカメラ(ビジュアルマイクロフォン)、光のドップラ効果を利用して物体の振動を計測する光レーザマイクロフォンは、振動センサ3に含まれる。A/D変換器4は、振動センサ3より供給されるアナログの振動信号をA/D変換して、デジタルの振動信号を適応制御部5及び適応フィルタ6に供給する。
【0014】
図2Aはマイクロフォン1が生成した音声信号の一例であり、
図2Bは
図2Aの音声信号と同じ期間に振動センサ3が生成した振動信号の一例である。
図2A及び
図2Bは、母音と子音が混ざった話し言葉の時間波形であり、時間としては約20秒の時間波形である。
図2Aと
図2Bの音声信号と振動信号とでは、周波数帯域が相違する。
図3は、
図2A及び
図2Bの音声信号および振動信号の一部分(数十ミリ秒程度)である母音発音時の音声信号及び振動信号の周波数特性を示している。
図3は、
図2A及び
図2Bの母音に該当する部分の信号を抽出した図となる。
図3では特に、中域と高域の一部の周波数帯域において、破線で示す振動信号の音圧レベルは実線で示す音声信号の音圧レベルよりも小さい。よって、振動信号をスピーカに供給して音声として出力すると、マイクロフォン1が生成した音声信号をスピーカに供給して音声として出力する場合と比較して籠った音声となり、本来の音声とは異なって聞こえる。
【0015】
図1に戻り、適応制御部5は、A/D変換器2より出力された音声信号とA/D変換器4より出力された振動信号とのうちの少なくとも一方の信号に基づいて、適応フィルタ6を制御する適応フィルタ制御信号を生成して、適応フィルタ6及びフィルタ係数分析部7に供給する。適応制御部5は、VAD(Voice Activity Detection)と称される技術によって、音声信号の音声区間と振動信号の音声区間とのうちの少なくとも一方を検出する。適応制御部5は、音圧レベルが所定のレベルを超えるか否かによって音声区間であるか否かを検出することができる。
【0016】
適応制御部5は、音声区間の検出精度を向上させるため、特許文献2または3に記載の技術を採用し、音声信号(振動信号)を周波数分析して人の声の特徴を検出することによって、音声区間を検出してもよい。
【0017】
適応制御部5は、音声区間であるときアクティブ(第1の状態)を示す適応フィルタ制御信号を生成し、音声区間でないとき、セーブ(第2の状態)を示す適応フィルタ制御信号を生成する。例えば、アクティブを示す適応フィルタ制御信号はハイであり、セーブを示す適応フィルタ制御信号はローである。適応フィルタ6は、後述するように、振動センサ3が生成した振動信号をマイクロフォン1が生成した音声信号に近付けるように補正することによって変換音声信号を生成して、減算器10及びD/A変換器11に供給する。
【0018】
減算器10は、適応フィルタ6より出力された変換音声信号と、A/D変換器2より出力された音声信号との差分を残差信号として、適応フィルタ6に供給する。
【0019】
適応フィルタ6は、FIR(Finite Impulse Response)フィルタ60と係数更新部61を備える。
図4は一実施形態に係る収音装置100が備える適応フィルタ6の具体的な構成例を示す。
図4に示すように、FIRフィルタ60は、遅延器621~62n、乗算器630~63n、加算器641~64nを備える。なお、遅延器、乗算器、及び加算器の実際の数はそれぞれ、数十から数百程度の数である。遅延器621~62nは、入力されたデジタルの振動信号の各サンプルを1クロックずつ遅延して出力する。乗算器630~63nは、遅延器621に入力される振動信号のサンプルと遅延器621~62nより出力される遅延振動信号の各サンプルとにそれぞれ係数を乗算して出力する。
【0020】
加算器641~64nは、それぞれ、乗算器630及び631の出力、加算器641及び乗算器632の出力、加算器642及び乗算器633の出力、…、加算器64(n-1)(図示せず)及び乗算器63nの出力を加算する。これにより、加算器64nは、A/D変換器4より出力された振動信号を、A/D変換器2より出力された音声信号に近付けるように補正した変換音声信号を出力する。
【0021】
減算器10は、A/D変換器2より出力された音声信号と、加算器64nより出力された変換音声信号との差分である残差信号を出力する。係数更新部61は、例えばLMS(Least Mean Square)と称される計算方式を採用して、残差信号が小さくなるように、入力されるサンプルに乗算する乗算器630~63nの係数値を更新する。
【0022】
このとき、係数更新部61は、適応フィルタ制御信号がアクティブを示すときには、乗算器630~63nに供給する係数を残差信号が小さくなるように短時間(第1の時間)で更新する。係数更新部61は、適応フィルタ制御信号がセーブを示すときには、乗算器630~63nに供給する係数を残差信号が小さくなる方向に長時間(第2の時間)をかけて更新するか、係数を更新しない。第2の時間は第1の時間より長い所定の時間である。よって、適応フィルタ制御信号がアクティブを示すときには、適応フィルタ6における適応動作が積極的に促され、適応フィルタ制御信号がセーブを示すときには、適応フィルタ6における適応動作を抑えられるか停止される。
【0023】
図5Aはマイクロフォン1が生成した母音発話時の音声信号の一例を示す波形図であり、
図5Bは
図5Aの音声信号と同じ期間に振動センサ3が生成した母音発話時の振動信号の一例を示す波形図である。母音の周波数帯域における主成分は低域に偏っているため、振動信号は音声信号と比較して高周波成分が減衰した滑らかな波形となる。なお、音声信号と振動信号と比較すると、マイクロフォン1で収音される音声信号は口元からマイクロフォン1までの距離に相当する空間遅延があるため、発話とほぼ同時に振動センサ3で生成される振動信号よりも遅延する。
【0024】
図6は、
図2A及び
図2Bの音声信号及び振動信号の一部分(数十ミリ秒程度)である子音発音時の音声信号及び振動信号の周波数特性を示している。
図6は、
図2Aおよび
図2Bの子音に該当する部分の信号を抽出した図となる。
図6において、実線は音声信号の音圧レベルを示し、破線は振動信号の音圧レベルを示している。
図3と
図6とを比較すれば分かるように、子音発音時の音声信号及び振動信号の周波数特性は、母音発音時の音声信号及び振動信号の周波数特性とは大きく異なる。子音発音時の音声信号及び振動信号の周波数特性においては、母音の周波数帯域のように主成分が低域に偏ることはないが、子音の主成分が高域に偏ることで高周波成分の減衰が音質に強い影響を及ぼすことから、より籠ったような音として聞こえることになる。
【0025】
図7は母音学習型の係数値を示す図であり、母音発話時に係数更新部61が乗算器630~63nへと供給する係数(フィルタ係数)のフィルタ位置ごとの係数値の一例を示している。
図7及び後述する
図8~
図10は、乗算器630~63nのような複数の乗算器に供給される各係数の係数値を、複数の乗算器における各位置に対応するように並べたものである。フィルタ位置0は乗算器630に対応し、フィルタ位置nは乗算器63nに対応する。乗算器630~63nそれぞれに対応するフィルタ位置は離散的であるが、
図7~
図10においては各フィルタ位置の係数値を連続的な波形として示している。
【0026】
図7に示すように、母音発話時においては、母音は調和構造を有するから、係数更新部61が生成して乗算器630~63nへと供給される係数の係数値は母音学習型となる。
【0027】
図8は雑音生成型の係数値を示す図であり、子音発話時に係数更新部61が乗算器630~63nへと供給する係数のフィルタ位置ごとの係数値の一例を示している。
図8に示すように、子音発話時においては、乗算器630~63nへと供給される係数の係数値は雑音生成型(白色雑音生成型)となる。
図9は遅延型の係数値を示す図であり、遅延フィルタにおける係数値の一例を示している。
図7に示す母音学習型の係数値の特性は、
図8に示す雑音生成型の係数値の特性と比較して、
図9に示す遅延型の係数値の特性に近い。
図8に示す雑音生成型の係数値の特性は、白色雑音生成フィルタにおける係数値の特性と類似する。なお、雑音生成型とは、周波数または振幅が不規則な信号に変換するためのフィルタ係数の型であり、遅延型とは、FIRフィルタが振動信号を遅延させる遅延フィルタであるときのフィルタ係数の型である。
【0028】
発話が継続している状態で子音が発話されて、FIRフィルタ60が
図8に示す雑音生成型の状態となっても、適応フィルタ制御信号はアクティブを示すから、係数更新部61は乗算器630~63nに供給する係数を残差信号が小さくなるように短時間で更新する。従って、変換音声信号の音質は即座に改善されて、雑音が発生することはほとんどなく、高音質が維持される。
【0029】
ところが、発話が子音で終了すると、FIRフィルタ60が
図8に示す雑音生成型の状態となって、適応フィルタ制御信号はセーブを示すから、係数更新部61が乗算器630~63nに供給する係数は更新されないか、短時間では更新されない。これにより、適応フィルタ6における学習が十分に進むまでの間、または次の発話が始まるまで、高域雑音が発生して変換音声信号の音質が低下することがある。
【0030】
そこで、収音装置100は、発話が子音で終了したときに発生することがある高域雑音を抑制するため、次のように構成されている。
図1において、フィルタ係数分析部7には、適応フィルタ制御信号と、係数更新部61からFIRフィルタ60へと供給される係数とが入力される。フィルタ係数分析部7は、適応フィルタ制御信号が音声区間であるときを示すアクティブから音声区間でないときを示すセーブへと変化すると、係数更新部61から供給される係数を分析する。適応フィルタ制御信号がアクティブからセーブへと変化する直前に係数更新部61がFIRフィルタ60に供給した複数の係数は、発話終了時の係数値である。以下、発話終了時の係数値を終了時係数と称することとする。なお、発話終了時とは、音声信号(振動信号)が音声区間であるアクティブの状態から音声区間でないセーブの状態に変化したときである。
【0031】
フィルタ係数分析部7は、例えばゼロクロス検出法を用いて終了時係数が
図8に示すような雑音生成型の終了時係数であるか否かを判定する。
図8に示すように、終了時係数が雑音生成型であると、係数値はフィルタ位置ごとに激しく正と負とを繰り返すから、フィルタ係数分析部7は、係数値0と交差する回数(ゼロクロス回数)を計測し、ゼロクロス回数が所定の閾値を超えれば、終了時係数は雑音生成型であると判定できる。
【0032】
目標係数値格納部9には、
図7に示す母音学習型の係数値が目標係数値として格納されている。目標係数値格納部9に母音学習型の係数値に代えて、
図9に示す遅延型の係数値または
図10に示す暗騒音学習型の係数値が目標係数値として格納されていてもよい。
図10は、暗騒音学習型の係数値を示す図であり、暗騒音学習型のフィルタにおける係数値の一例を示している。
【0033】
図9に示す遅延型の係数値とは、FIRフィルタ60が振動信号を遅延させる遅延フィルタであるときの係数値である。遅延フィルタによる遅延時間は、振動信号に対する音声信号の遅延時間とすることができる。
図10に示す暗騒音学習型の係数値とは、マイクロフォン1が暗騒音を収音して音声信号を生成し、振動センサ3がその暗騒音に基づく振動信号を生成したときに、係数更新部61が生成する係数値である。なお、暗騒音学習型とは、マイクロフォン1が暗騒音を収音して音声信号を生成し、振動センサ3が暗騒音に基づく振動信号を生成したときに係数更新部61が生成したフィルタ係数の型である。
【0034】
このように、目標係数値とは、発話終了時のフィルタ係数の係数値を補正するための係数値であり、母音学習型の係数値、遅延型の係数値、または暗騒音学習型の係数値のいずれかに補正するための係数値である。
【0035】
図7~
図10に示す係数値は一例であり、音声信号及び振動信号のレベルに応じた最適な係数値を設定すればよい。なお、目標係数値格納部9に格納する目標係数値として、
図7、
図9、
図10に示す係数値のいずれか一つを選択してもよいし、音声信号の状態によって変えることもできる。例えば、頻繁に会話が繰り返される状態であれば、話者の発話に対する学習効果が高い
図7の母音学習型の係数値が望ましい。反対に発話頻度が稀であれば非発話区間の状態を学習した
図10の暗騒音学習型の係数値が望ましい。また、
図9の遅延型の係数値は適応フィルタの学習が早く進む標準的な係数値として適していることから、発話状態をあまり考慮しない際に選択することが望ましい。
【0036】
図1において、フィルタ係数補正部8は、フィルタ係数分析部7が、係数更新部61からFIRフィルタ60へと供給された終了時係数が雑音生成型であると判定すると、係数値を目標係数値格納部9に格納されている目標係数値に補正して、係数更新部61に供給する。フィルタ係数補正部8は、係数値を急激に変化させることによる雑音が発生することがないよう、所定の時定数で係数値を徐々に目標係数値に補正することが好ましい。
【0037】
このとき、フィルタ係数補正部8は、所定の時間をかけて、線形補間法を用いて係数値を補間しながら目標係数値へと補正してもよい。所定の時間は、例えば数ミリ秒から数十ミリ秒程度の時間である。フィルタ係数補正部8は、適応制御部5におけるVADの解析幅に相当する時間を所定の時間としてもよい。
【0038】
係数更新部61は、発話が子音で終了したときの雑音生成型の終了時係数に代えて、フィルタ係数補正部8が係数値を補正した補正係数をFIRフィルタ60に供給する。補正係数とは、FIRフィルタ60のフィルタ係数を目標係数値に近づけるように所定の時定数に基づいて補正するための係数である。これにより、高域雑音はほとんど発生しないか、発生したとしても即座に解消するから、変換音声信号の音質はほとんど低下しない。
【0039】
D/A変換器11はデジタルの変換音声信号をD/A変換して、アナログの音声信号を出力する。D/A変換器11からの出力音声信号は図示しないスピーカに供給されて音声として出力されてもよいし、記録再生部に供給されて記録媒体に記録されてもよい。
【0040】
図11は、一実施形態に係る収音装置100の動作、及び一実施形態に係る収音方法を示すフローチャートである。
図11に示すフローチャートを用いて、収音装置100(フィルタ係数分析部7及びフィルタ係数補正部8)の動作を説明する。収音装置100の電源が投入されて収音装置100が動作を開始すると、フィルタ係数分析部7は、ステップS1にて、適応フィルタ制御信号に基づいて発話が終了したか否かを判定する。発話が終了しなければ(NO)、フィルタ係数分析部7はステップS1の処理を繰り返す。
【0041】
フィルタ係数分析部7は、ステップS2にて、係数更新部61から供給されたフィルタ係数のゼロクロス回数を計測して、フィルタ係数の概形を分析する。フィルタ係数分析部7は、ステップS3にて、計測したゼロクロス回数が閾値を超えるか否かを判定する。計測したゼロクロス回数が閾値を超えなければ(NO)、処理はステップS7に移行される。
【0042】
ステップS3にて計測したゼロクロス回数が閾値を超えていれば(YES)、フィルタ係数補正部8は、ステップS4にて、目標とするフィルタの概形を設定する。具体的には、フィルタ係数補正部8は、目標係数値格納部9に格納されている目標係数値に基づいて、乗算器630~63nに供給する係数のフィルタ位置0からnまでの係数値を設定する。フィルタ係数補正部8は、発話終了時の現在のフィルタ位置0からnまでの各係数値と、目標係数値に基づく設定した各係数値との差分を求める。フィルタ係数補正部8は、各差分を、上記の時定数に応じて決まる補正完了までの補正回数で除算して、1回の補正当たりの補正量を求める。
【0043】
フィルタ係数補正部8は、ステップS5にて、適応フィルタ6(FIRフィルタ60)の係数値を補正する。具体的には、フィルタ係数補正部8は、適応フィルタ6が変換音声信号を1サンプルずつ出力するときに、サンプルごとに、ステップS4で求めた1回の補正当たりの補正量だけ各係数値を補正する。フィルタ係数補正部8は、ステップS6にて、時定数分の補正を終了したか否かを判定し、時定数分の補正を終了していなければ(NO)、ステップS5及びS6の処理を繰り返す。時定数分の補正を終了していれば(YES)、処理はステップS7に移行される。
【0044】
フィルタ係数分析部7は、収音装置100の電源の切断等で収音装置100が動作を終了するか否かを判定する。収音装置100が動作を終了しなければ(NO)、フィルタ係数分析部7またはフィルタ係数補正部8は、ステップS1以降の処理を繰り返す。収音装置100が動作を終了すれば(YES)、フィルタ係数分析部7及びフィルタ係数補正部8は処理を終了させる。
【0045】
以上のように、収音装置100によれば、発話終了時が子音であっても雑音の発生を抑制して、D/A変換器11より出力される音声信号の品質を向上させることができる。
【0046】
本発明は以上説明した本実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。
図1において、マイクロフォン1及び振動センサ3を除く部分が、マイクロコンピュータによって構成されていてもよい。この場合、収音装置100は、非一時的な記憶媒体に記憶されたコンピュータプログラム(収音プログラム)がマイクロコンピュータの中央処理装置に上述した変換音声信号及び出力音声信号を生成する処理を実行させる。また、マイクロフォン1及び振動センサ3が、図示しない別のデバイス(例えば、ヘッドセット)によって構成されていてもよい。この場合、マイクロフォン1、振動センサ3などの機能の一部を図示しない別のデバイスの機能で代替し、非一時的な記憶媒体に記憶されたコンピュータプログラムを実行可能なPCやスマートフォンと、マイクロフォン1、振動センサ3、および無線通信部を備えた別のデバイスとを協調動作させることで上述した変換音声信号及び出力音声信号を生成する処理を実行させる。
図11は、一実施形態に係る収音プログラムがコンピュータに実行させる処理を示す。マイクロフォン1及び振動センサ3を除く部分がハードウェアで構成されて集積回路によって構成されていてもよい。
【0047】
(実施形態2)
次に実施形態2を説明する。実施形態2は、これまでと同様にマイクロフォン1において生成した音声信号と、振動センサ3において生成した振動信号とをもとに、変換音声信号を出力する収音装置100に関する。しかしながら、実施形態2では、これまでとは異なり、対象者の口の動きを撮影した画像信号をもとに対象者の音声区間、つまり発話区間を検出する。以下では、これまでとの差異を中心に説明する。
【0048】
図12は、実施形態2に係る収音装置100を示すブロック図である。収音装置100は、
図1と比較して対象者カメラ20、画像解析部22を含む。対象者カメラ20は、対象者の顔(口)を撮像して対象者の画像信号を取得する。対象者カメラ20は、画像信号を画像解析部22に供給する。なお、対象者カメラ20は、例えば、レンズ、CMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサ、イメージセンサが出力する映像信号をデジタル化するドライバ、画像処理のために画像データを一時記憶するDRAM(Dynamic Random Access Memory)、及び、DSP(Digital Signal Processor)などで構成されるカラーカメラ等の撮影装置である。
【0049】
画像解析部22は画像解析処理をもとに対象者の発話状況を示す発話区間および非発話区間の少なくとも一方を判定した発話区間情報を生成し適応制御部5へ供給する。画像信号に対して画像解析処理を実行することによって、画像信号から対象者の口の動きを検出し発話区間を特定するものであり、具体的に説明すると、画像解析によりまず顔検出および口検出を実施し、口の単位時間当たりの動きベクトルから発話に相当する動きベクトル量を超えた場合に発話区間を検出する。画像信号から発話区間を検出するために、例えば、文献:Vol.2011-CVIM-177No.13「口唇領域の抽出と認識による発話検出」等の技術が使用されてもよい。
【0050】
適応制御部5は、画像解析によって取得した発話区間情報をもとに、適応フィルタ6を制御する適応フィルタ制御信号を生成して、適応フィルタ6及びフィルタ係数分析部7に供給する。つまり、適応制御部5は、発話区間情報をもとに発話区間であるか否かを検出し、発話区間であるときに第1の状態を示す適応フィルタ制御信号を供給し、発話区間でないときに第2の状態を示す適応フィルタ制御信号を供給する。適応制御部5は、発話区間の判定精度を向上させるため、振動センサにて取得した振動信号を音声信号と見立て、音声信号による音声区間判定結果(VAD情報)を補助的に用いてもよい。あくびなどの発話を伴わない口元の動きによる誤検出を防止する効果が得られる。
【0051】
図13(a)-(b)は、音声信号と画像解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号の一例を示す。これらにおいて横軸は時間を示す。
図13(a)は、音声信号の波形の一例を示す。また、
図13(b)は、画像解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号を示す。音声信号の音声区間では、適応フィルタ制御信号がアクティブを示す。一方、音声信号の非音声区間では、適応フィルタ制御信号がセーブを示す。
【0052】
図12に戻り、係数更新部61は、適応フィルタ制御信号がセーブを示すときには、乗算器630~63nに供給する係数を残差信号が小さくなる方向に長時間(第2の時間)をかけて更新するか、係数を更新しない。第1の時間、第2の時間、共に入力される信号に依存するため、一定の時間を持つものではないが、第2の時間は第1の時間より長くなる関係性を持つ。
【0053】
フィルタ係数分析部7は、対象者を撮影したカメラ映像から画像解析をもとに画像解析部22にて判断された発話区間情報に応じて、音声信号(振動信号)が音声区間であるアクティブの状態から音声区間でないセーブの状態に変化したときで発話終了時を検出する。つまり対象者の映像情報から画像解析により画像解析部22が判断した発話区間情報に相当し、文字通り音声区間から非音声区間に切り替わり発話が終了したタイミングを意味する。
【0054】
フィルタ係数補正部8は、適応制御部5における発話区間情報の提供間隔(画像解析の時間幅、例えば1秒間に30枚(30フレーム)の画像情報を取得しフレーム単位で画像解析を行う場合は1/30秒となる)に相当する時間を所定の時間としてもよい。
【0055】
以上のように、収音装置100によれば、対象者の顔の画像信号を取得し、顔(口)の動きを画像解析により検出することで高い精度にて対象者の発話区間を判別し、発話終了時が子音であっても雑音の発生を抑制して、D/A変換器11より出力される音声信号の品質を向上させることができる。
【0056】
(実施形態3)
次に実施形態3を説明する。実施形態3は、これまでと同様にマイクロフォン1において生成した音声信号と、振動センサ3において生成した振動信号とをもとに、変換音声信号を出力する収音装置100に関する。しかしながら、実施形態3では、これまでとは異なり、対象者の口および咽喉の筋電位信号をもとに、対象者の音声区間、つまり発話区間を検出する。以下では、これまでとの差異を中心に説明する。
【0057】
図14は、実施形態3に係る収音装置100を示すブロック図である。収音装置100は、
図1と比較して筋電位センサ30、筋電位解析部32を含む。筋電位センサ30は、対象者の顔(口)の近くに取り付けられ、対象者の口元付近の動きに伴う筋活動によって発生する筋電位を測定する。筋電位は、口元や咽喉の動きに伴って筋収縮により発生するので、母音であるか子音であるかに関わらず測定可能である。筋電位センサ30は、測定した筋電位を筋電位信号として筋電位解析部32に出力する。
【0058】
筋電位解析部32は、筋電位信号をもとに発話区間を特定する。例えば、筋電位解析部32は、筋電位の時間当たりの変位量により口や咽喉の筋収縮の有無を検出し、変位量が所定のしきい値を超えた場合に発話状態を特定する。つまり、対象者が発話すると、口の動き、咽喉の動きから筋収縮に伴った筋電位が発生するので、筋電位解析部32は、発生した筋電位の変化を観察することで、容易に発話状況を知ることができる。筋電位信号から発話区間を検出する手法として、例えば、文献:「筋電位信号による子音認識のための認識パラメータの調査」(情報処理学会第73回全国大会、6P-4)等の手法を活用してもよい。筋電位解析部32は、対象者の発話区間であるか非発話区間であるかを判定した筋電位解析結果を発話区間情報として適応制御部5に出力する。発話区間情報は、筋電位信号から対象者の発話区間および非発話区間の少なくとも一方を判定した発話区間情報ともいえる。
【0059】
適応制御部5は、筋電位解析によって取得した発話区間情報をもとに、適応フィルタ6を制御する適応フィルタ制御信号を生成して、適応フィルタ6及びフィルタ係数分析部7に供給する。つまり、適応制御部5は、発話区間情報をもとに、発話区間であるか否かを検出し、発話区間であるときに第1の状態を示す適応フィルタ制御信号を供給し、発話区間でないときに第2の状態を示す適応フィルタ制御信号を供給する。適応制御部5は、発話区間の判定精度を向上させるため、振動センサにて取得した振動信号を音声信号と見立て、音声信号による音声区間判定結果(VAD情報)を補助的に用いてもよい。あくびなどの発話を伴わない口元の動きによる誤検出を防止する効果が得られる。
【0060】
図15(a)-(b)は、音声信号と筋電位解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号の一例を示す。これらにおいて横軸は時間を示す。
図15(a)は、音声信号の波形の一例を示す。また、
図15(b)は、筋電位解析によって取得した発話区間情報をもとに生成された適応フィルタ制御信号を示す。音声信号の音声区間では、適応フィルタ制御信号がアクティブを示す。一方、音声信号の非音声区間では、適応フィルタ制御信号がセーブを示す。
【0061】
フィルタ係数分析部7は、対象者の口元の動きによって発生した筋電位情報から電位解析をもとに筋電位解析部32にて判断された発話区間情報に応じて、音声信号(振動信号)が音声区間であるアクティブの状態から音声区間でないセーブの状態に変化したときで発話終了時を検出する。つまり対象者の口元の動きによって発生した筋電位情報から電位解析により筋電位解析部32が判断した発話区間情報に相当し、文字通り音声区間から非音声区間に切り替わり発話が終了したタイミングを意味する。
【0062】
フィルタ係数補正部8は、適応制御部5における発話区間情報の提供間隔(筋電位解析の時間幅、例えば1秒間に100回の筋電位情報を取得(サンプリング)し筋電位解析を行う場合は1/100秒となる)に相当する時間を所定の時間としてもよい。
【0063】
以上のように、収音装置100によれば、対象者の顔の画像信号を取得し、顔(口)の動きを画像解析により検出することで高い精度にて対象者の発話区間を判別し、発話終了時が子音であっても雑音の発生を抑制して、D/A変換器11より出力される音声信号の品質を向上させることができる。
【符号の説明】
【0064】
1 マイクロフォン
2,4 A/D変換器
3 振動センサ
5 適応制御部
6 適応フィルタ
7 フィルタ係数分析部
8 フィルタ係数補正部
9 目標係数値格納部
10 減算器
11 D/A変換器
20 対象者カメラ
22 画像解析部
30 筋電位センサ
32 筋電位解析部
60 FIRフィルタ
61 係数更新部
100 収音装置