説明

音声信号処理装置、音声信号処理方法及びプログラム

【課題】機械音スペクトルを予め測定することなく、録音時に駆動装置の動作に伴って外部音声に混入する作動音を適切に低減する。
【解決手段】音声を収音して第1、第2の音声信号x、xを出力する第1、第2のマイクロホンと、前記第1、第2の音声信号x、xを第1の音声スペクトル信号X、Xに変換する第1、第2の周波数変換部と、作動音を発生する発音体と前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号X、Xを演算することにより、前記作動音を表す作動音スペクトル信号Zを推定する作動音推定部と、前記第1及び第2の音声スペクトル信号X、Xから、前記推定された作動音スペクトル信号Zを低減する作動音低減部と、を備える、音声信号処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声信号処理装置、音声信号処理方法及びプログラムに関する。
【背景技術】
【0002】
デジタルカメラ、ビデオカメラなどの動画撮像機能を備えた装置は、動画撮像中にマイクロホンにより装置周辺の音声(外部音声)を収音し、当該音声を動画とともに記録する。かかる動画撮像中には、ズーム動作、オートフォーカス動作等の撮像動作に伴い、撮像光学系を駆動させる駆動装置(ズームモータ、フォーカスモータ等)から、機械音が発生する。この機械音は、ユーザが所望する外部音声に雑音として混入して、ともに記録されてしまう。従って、音声付きの動画撮像機能を有する装置では、動画撮像中のズーム動作等に伴う機械音(ズーム音等)を適切に低減し、ユーザが所望する外部音声のみを記録することが望まれている。
【0003】
例えば特許文献1では、ズーム動作に伴うモータ音の機械音スペクトルを実際に測定して、テンプレートとして記憶部に予め記憶しておき、ズーム動作時には、入力音声のスペクトルから上記機械音スペクトルのテンプレートを減算することで、ズーム音を低減している。また、特許文献2には、外部音声を収録するためのマイクロホンの他に、主として機械音を収録するためのノイズ用マイクロホンを利用して、機械音を低減することが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−279185号公報
【特許文献1】特開2009−276528号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記ズームモータ等の駆動装置や、該駆動装置が設置された撮像装置には、個体差が存在するので、モータ音等の機械音も、装置ごとにばらつきが生じる。さらには、同一の装置においても、駆動装置の動作ごとに機械音に変化が生じ得る。
【0006】
従って、上記特許文献1に記載のように、固定的な機械音スペクトルのテンプレートを用いて機械音を一律に低減する方法では、上記個々の装置ごとの機械音のばらつきや、駆動装置の動作ごとの機械音の変化に対応することができない。例えば、数十台のカメラを用いて測定した平均的な機械音スペクトルのテンプレートを利用する場合には、個々の装置の機械音のばらつきに対応できないので、個々のカメラで十分な機械音低減効果が得られない。一方、上記機械音スペクトルのテンプレートを、全てのカメラについて個々に調整する場合には、調整コストが増大するため、現実的ではない。
【0007】
また、上記特許文献2に記載のように、音声録音用マイクロホン以外にノイズ用マイクロホンを別途設置する方法では、筐体内の適切な位置にノイズ用マイクロホンを配置する必要がある。しかし、小型化が進むデジタルカメラなどでは、適切な位置にノイズ用マイクロホンを配置することは難しいので、機械音を十分に低減することができない。
【0008】
そこで、本発明は、上記事情に鑑みてなされたものであり、本発明の目的とするところは、機械音スペクトルを予め測定することなく、録音時に駆動装置等の発音体の動作に伴って外部音声に混入する作動音を適切に低減することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、音声を収音して第1の音声信号xを出力する第1のマイクロホンと、前記音声を収音して第2の音声信号xを出力する第2のマイクロホンと、前記第1の音声信号xを第1の音声スペクトル信号Xに変換する第1の周波数変換部と、前記第2の音声信号xを第2の音声スペクトル信号に変換する第2の周波数変換部と、作動音を発生する発音体と前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号X、Xを演算することにより、前記作動音を表す作動音スペクトル信号Zを推定する作動音推定部と、前記第1及び第2の音声スペクトル信号X、Xから、前記推定された作動音スペクトル信号Zを低減する作動音低減部と、を備える、音声信号処理装置が提供される。
【0010】
前記発音体は、駆動装置であり、前記作動音は、前記駆動装置の動作時に発生する機械音であり、前記作動音推定部は、前記作動音スペクトル信号として、前記機械音を表す機械音スペクトル信号Zを推定してもよい。
前記作動音推定部は、前記駆動装置の方向以外から前記第1及び第2のマイクロホンに到来する音声成分を減衰させるように、前記第1及び第2の音声スペクトル信号を演算することにより、前記機械音スペクトル信号Zを前記駆動装置の動作中に動的に推定するようにしてもよい。
【0011】
前記第1又は第2の音声スペクトル信号X、Xの周波数成分ごとに、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号X、Xの周波数特性の差分dXに基づいて、前記推定された機械音スペクトル信号Zを補正する機械音補正部をさらに備えるようにしてもよい。
【0012】
前記機械音補正部は、前記第1の音声スペクトル信号Xの周波数成分ごとに、前記駆動装置の動作開始前後における前記第1の音声スペクトル信号Xの周波数特性の差分dXに基づいて、第1の補正係数Hを算出する第1の機械音補正部と、前記第2の音声スペクトル信号Xの周波数成分ごとに、前記駆動装置の動作開始前後における前記第2の音声スペクトル信号Xの周波数特性の差分dXに基づいて、第2の補正係数Hを算出する第2の機械音補正部と、を含み、前記作動音低減部は、前記推定された機械音スペクトル信号Zに前記第1の補正係数Hを乗算した信号を、前記第1の音声スペクトル信号Xから低減する第1の機械音低減部と、前記推定された機械音スペクトル信号Zに前記第2の補正係数Hを乗算した信号を、前記第2の音声スペクトル信号Xから低減する第2の機械音低減部と、を含むようにしてもよい。
【0013】
前記機械音補正部は、前記駆動装置が動作する度に、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号X、Xの周波数特性の差分dXに基づいて、前記推定された機械音スペクトル信号Zを補正するための補正係数Hを更新するようにしてもよい。
【0014】
前記駆動装置が動作したときに、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号X、Xの周波数特性の比較結果、及び、前記駆動装置の動作中における前記第1又は第2の音声スペクトル信号X、Xの周波数特性の比較結果に基づいて、前記駆動装置の動作開始前後における前記外部音声の変化度を判定し、前記外部音声の変化度に応じて、前記補正係数Hを更新するか否かを判断し、前記補正係数Hを更新すると判断した場合にのみ、前記差分dXに基づいて前記補正係数Hを更新するようにしてもよい。
【0015】
前記機械音補正部は、前記駆動装置が動作したときに、前記第1若しくは第2の音声信号x、xのレベル又は音声スペクトル信号x、xのレベルに応じて、前記差分dXに基づく前記補正係数Hの更新量を制御するようにしてもよい。
【0016】
前記機械音の平均的なスペクトルを表す平均機械音スペクトル信号Tzを記憶する記憶部と、前記音声信号処理装置の周囲の音源環境に応じて、前記推定された機械音スペクトル信号Z又は前記平均機械音スペクトル信号Tzのうちのいずれか一方を選択する機械音選択部をさらに備え、前記作動音低減部は、前記第1及び第2の音声スペクトル信号X、Xから、前記機械音選択部により選択された機械音スペクトル信号を低減するようにしてもよい。
【0017】
前記機械音選択部は、前記第1若しくは第2の音声信号x、xのレベルに基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号Z又は前記平均機械音スペクトル信号Tzのうちのいずれか一方を選択するようにしてもよい。
【0018】
前記機械音選択部は、前記第1の音声スペクトル信号X、前記第2の音声スペクトル信号Xの相関関係に基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号Z又は前記平均機械音スペクトル信号Tzのうちのいずれか一方を選択するようにしてもよい。
【0019】
前記機械音選択部は、前記推定された機械音スペクトル信号Zのレベルに基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号Z又は前記平均機械音スペクトル信号Tzのうちのいずれか一方を選択するようにしてもよい。
【0020】
前記音声信号処理装置は、動画の撮像中に前記動画とともに前記外部音声を記録する機能を有する撮像装置に設けられ、前記駆動装置は、前記撮像装置の筐体内に設けられ、前記撮像装置の撮像光学系を機械的に移動させるモータであるようにしてもよい。
【0021】
また、上記課題を解決するために、本発明の別の観点によれば、音声を収音する第1のマイクロホンから出力される第1の音声信号xを第1の音声スペクトル信号Xに変換するとともに、前記音声を収音する第2のマイクロホンから出力される第2の音声信号xを第2の音声スペクトル信号Xに変換するステップと、作動音を発生する発音体と、前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号X、Xを演算することにより、前記作動音を表す作動音スペクトル信号Zを推定するステップと、前記第1及び第2の音声スペクトル信号X、Xから、前記推定された作動音スペクトル信号Zを低減するステップと、を含む、音声信号処理方法が提供される。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、音声を収音する第1のマイクロホンから出力される第1の音声信号xを第1の音声スペクトル信号Xに変換するとともに、前記音声を収音する第2のマイクロホンから出力される第2の音声信号xを第2の音声スペクトル信号Xに変換するステップと、作動音を発生する発音体と、前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号X、Xを演算することにより、前記作動音を表す作動音スペクトル信号Zを推定するステップと、前記第1及び第2の音声スペクトル信号X、Xから、前記推定された作動音スペクトル信号Zを低減するステップと、を実行させるためのプログラムが提供される。また、当該プログラムが記録された、コンピュータ読み取り可能な記憶媒体が提供される。
【0023】
上記構成により、外部音声収録用の複数のマイクロホンと、機械音の発生源である駆動装置等の発音体との相対位置関係を利用して、当該複数のマイクロホンから得られる2系統の音声スペクトル信号を適切に演算する、これにより、発音体の動作に伴って外部音声に混入する機械音等の作動音を録音時に動的に推定できる。従って、予め測定した作動音スペクトルのテンプレートを用いることなく、実際の録音時に、個々の装置ごと及び動作ごとに作動音を正確に推定して、低減することができる。
【発明の効果】
【0024】
以上説明したように本発明によれば、機械音スペクトルを予め測定することなく、録音時に駆動装置等の発音体の動作に伴って外部音声に混入する作動音を適切に低減できる。
【図面の簡単な説明】
【0025】
【図1】本発明の第1の実施形態に係る音声信号処理装置が適用されたデジタルカメラのハードウェア構成を示すブロック図である。
【図2】同実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【図3】同実施形態に係る機械音推定部の構成を示すブロック図である。
【図4】同実施形態に係るデジタルカメラを示す正面図及び上面図である。
【図5】同実施形態に係るステレオマイクロホンに対する音声の入力方向と、音声信号の出力エネルギーの特性との関係を示す説明図である。
【図6】同実施形態に係る機械音推定部の動作を示すフローチャートである。
【図7】同実施形態に係る機械音補正部の構成を示すブロック図である。
【図8】同実施形態に係る実際の機械音スペクトルと推定機械音スペクトルを示す波形図である。
【図9】同実施形態に係る音声信号を示す波形図である。
【図10】同実施形態に係る実際の機械音スペクトルと推定機械音スペクトルの差分を示す波形図である。
【図11】同実施形態に係る機械音補正部の基本動作を示すフローチャートである。
【図12】同実施形態に係る機械音補正部の動作タイミングを示すタイミングチャートである。
【図13】同実施形態に係る機械音補正部の全体動作を示すフローチャートである。
【図14】図13中の基本処理のサブルーチンを示すフローチャートである
【図15】図13中の処理Aのサブルーチンを示すフローチャートである。
【図16】図13中の処理Bのサブルーチンを示すフローチャートである。
【図17】同実施形態に係る機械音低減部の構成を示すブロック図である。
【図18】同実施形態に係る機械音低減部の動作を示すフローチャートである。
【図19】図19中の抑圧係数gの算出処理のサブルーチンを示すフローチャートである。
【図20】本発明の第2の実施形態に係る音声信号の変化を示す波形図である。
【図21】同実施形態に係る機械音の特徴を示す説明図である。
【図22】同実施形態に係る機械音の周波数帯域が低域である場合の比較処理を示す説明図である。
【図23】同実施形態に係る機械音の周波数帯域が中・高域である場合の比較処理を示す説明図である。
【図24】同実施形態に係る機械音の周波数帯域が全域である場合の比較処理を示す説明図である。
【図25】同実施形態に係る機械音補正部の動作タイミングを示すタイミングチャートである。
【図26】図13中の処理Bのサブルーチンを示すフローチャートである。
【図27】図26中の変化度dの算出処理のサブルーチンを示すフローチャートである。
【図28】本発明の第3の実施形態に係る機械音の低減量を模式的に示す説明図である。
【図29】図13中の基本処理のサブルーチンを示すフローチャートである。
【図30】図13中の処理Aのサブルーチンを示すフローチャートである。
【図31】図13中の処理Bのサブルーチンを示すフローチャートである。
【図32】同実施形態に係る入力音声の平均音量Eaと平滑化係数r_smの関係を例示する説明図である。
【図33】本発明の第4の実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【図34】同実施形態に係る機械音補正部の基本動作を示すフローチャートである。
【図35】図13中の処理Bのサブルーチンを示すフローチャートである。
【図36】同実施形態に係る機械音選択部の構成を示すブロック図である。
【図37】同実施形態に係る機械音選択部の動作を示すフローチャートである。
【図38】同実施形態に係る機械音選択部の動作タイミングを示すタイミングチャートである。
【図39】同実施形態に係る機械音選択部の全体動作を示すフローチャートである。
【図40】図39中の処理Cのサブルーチンを示すフローチャートである。
【図41】図39中の処理Dのサブルーチンを示すフローチャートである。
【図42】本発明の第5の実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【図43】同実施形態に係る2つのマイクロホン間の相関を示す説明図である
【図44】同実施形態に係る機械音スペクトルを適切に推定できる場合の相関を示す説明図である。
【図45】同実施形態に係る機械音スペクトルを適切に推定できない場合の相関を示す説明図である。
【図46】同実施形態に係る機械音選択部の動作を示すフローチャートである。
【図47】同実施形態に係る図39中の処理Cのサブルーチンを示すフローチャートである。
【図48】同実施形態に係る図39中の処理Dのサブルーチンを示すフローチャートである。
【図49】本発明の第6の実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【0026】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0027】
なお、説明は以下の順序で行うものとする。
1.第1の実施の形態
1.1.機械音低減方法の概要
1.2.音声信号処理装置の構成
1.2.1.音声信号処理装置のハードウェア構成
1.2.2.音声信号処理装置の機能構成
1.3.機械音推定部の詳細
1.3.1.機械音推定部の構成
1.3.1.機械音スペクトル推定の原理
1.3.2.機械音スペクトル推定の動作
1.4.機械音補正部の詳細
1.4.1.機械音補正部の構成
1.4.2.機械音補正の概念
1.4.2.機械音補正の基本動作
1.4.3.機械音補正の詳細動作
1.5.機械音低減部の詳細
1.5.1.機械音低減部の構成
1.5.2.機械音低減部の動作
2.第2の実施の形態
2.1.機械音補正の概念
2.2.機械音補正の動作
3.第3の実施の形態
3.1.機械音補正の概念
3.2.機械音補正の動作
4.第4の実施の形態
4.1.機械音低減方法の概要
4.2.音声信号処理装置の機能構成
4.3.機械音補正部の詳細
4.3.1.機械音選択部の構成
4.3.2.機械音選択の基本動作
4.3.4.機械音選択の詳細動作
4.4.機械音選択部の詳細
4.4.1.機械音選択の概念
4.4.2.機械音選択の基本動作
4.4.3.機械音選択の詳細動作
5.第5の実施の形態
5.1.音声信号処理装置の機能構成
5.2.機械音選択の原理
5.3.機械音選択の基本動作
5.4.機械音選択の詳細動作
6.第6の実施の形態
6.1.音声信号処理装置の機能構成
6.2.機械音選択部の詳細
7.まとめ
【0028】
<1.第1の実施の形態>
[1.1.機械音低減方法の概要]
まず、本発明の第1の実施形態に係る音声信号処理装置及び方法による機械音低減方法の概要について説明する。
【0029】
本実施形態に係る音声信号処理装置及び方法は、録音機器において、該録音機器に内蔵された発音体の動作に伴い発生する雑音(作動音)を低減する技術に関する。特に、本実施形態では、動画撮像機能を有する撮像装置において、動画を撮像しながら周辺音声を録音するときに、撮像装置に内蔵された駆動装置の撮像動作に伴って生じる機械的な雑音(機械音)を低減対象とする。
【0030】
ここで、駆動装置は、撮像光学系を用いた撮像動作を行うために撮像装置に内蔵された駆動装置であり、例えば、ズームレンズを移動させるズームモータや、フォーカスレンズを移動させるフォーカスモータ、絞り又はシャッターを制御する駆動機構などを含む。また、撮像動作に伴って生じる機械音は、例えば、上記ズームモータの駆動音(ズーム音)、上記フォーカスモータの駆動音(フォーカス音)などの比較的長時間の駆動音であるが、絞り音やシャッター音などの瞬間的な駆動音であってもよい。以下では、音声信号処理装置が、動画撮像機能を有する小型のデジタルカメラであり、機械音が、該デジタルカメラにおける光学ズーム動作に伴って生ずるズーム音である例について説明する。しかし、本発明の音声信号処理装置及び機械音は、かかる例に限定されない。
【0031】
デジタルカメラによる撮像及び録音中に、ユーザがズーム操作を行うと、該カメラの内部でズームモータが駆動してズーム音が発生する。すると、デジタルカメラのマイクロホンは、ユーザが録音を所望するカメラ周辺の音声(例えば、環境音、人の話し声など、マイクロホンに収音される任意の音声を含む。以下「所望音」という。)のみならず、カメラ内部で発生したズーム音も収音してしまう。このため、所望音にズーム音が雑音として混入した状態で録音されてしまうので、当該録音された音声を再生したときに、所望音に混入したズーム音がユーザにとって耳障りとなる。例えば、所望音の周波数帯域は1〜4kHzの範囲に多く分布し、ズーム音等の機械音の周波数帯域は概ね5〜10kHzの範囲に多く分布する。このように機械音と所望音の周波数帯域はずれているの、所望音に機械音が混入していると、録音音声の再生時に機械音が目立ってしまう。従って、動画及び音声の記録時に、ズーム音等の機械音を適切に除去した上で所望音のみを記録可能な技術が希求されていた。
【0032】
従来の機械音低減技術では、上記特許文献1記載のように、予め複数台のカメラを用いて機械音スペクトルを測定し、機械音スペクトルの平均値(テンプレート)を求めておき、録音時に、該機械音スペクトルを収録音スペクトルから減算することで、機械音を低減していた(上記特許文献1参照。)。しかし、個々のカメラには個体差があるため、平均的な機械音スペクトルを用いても、個々のカメラで機械音に十分に低減できなかった。
【0033】
また、上記特許文献2のように、音声収録用のマイクロホン以外に、カメラの筐体内にノイズ専用のマイクロホンを追加的に設置して、機械音を検出する方法も提案されていた。しかし、小型化が進むデジタルカメラ内にノイズ専用のマイクロホンを新たに設置するためには、設置スペースの確保や、種々の部品の配置調整が困難であった。
【0034】
ところで、上述したデジタルカメラの小型化が進む一方、動画撮像機能の向上とともに、録音品質の向上のためにモノラル録音ではなくステレオ録音を行うことができる機種が非常に増加している。ステレオ録音するためには、カメラの外装に複数のマイクロホン(ステレオマイクロホン)が設置される。
【0035】
そこで、本実施形態では、上記ノイズ専用のマイクロホンを増設するのではなく、デジタルカメラに既に設置されている複数のステレオマイクロホンから得られる複数の音声信号を、機械音の低減に活用する。ステレオマイクロホンは、隣接配置された少なくとも2つのマイクロホンで構成され、カメラの周辺の音声(所望音)を高品質で収音するためにカメラの外装に設置されている。このステレオマイクロホンは、上記カメラの筐体内に配置されるノイズ専用のマイクロホンとは相違する。このような既設のステレオマイクロホンを有効活用することができれば、上記ノイズ専用のマイクロホンをカメラ内に設けたときの問題(設置スペースの確保、各種部品の配置調整の問題)は生じない。
【0036】
勿論、ステレオマイクロホンを構成する複数のマイクロホンも、カメラ内部で発生する機械音を収音するが、当該複数のマイクロホンから出力される複数の音声信号を解析することで、音声信号に含まれる機械音を推定することが可能である。即ち、カメラの外装に設けられた複数のマイクロホンと、カメラ内部に設けられた駆動装置(ズームモータ等の機械音発生源)との相対位置関係は固定的である。また、駆動装置から各々のマイクロホンまでの距離は相違する。従って、駆動装置から一方のマイクロホンに伝播する機械音と、他方のマイクロホンに伝播する機械音との間には、位相差が生じる。
【0037】
そこで、本実施形態では、複数のマイクロホンと駆動装置との相対位置関係に基づいて、当該複数のマイクロホンから出力される複数の音声信号を演算する。これにより、駆動装置の方向から各マイクロホンに伝わる音(主に機械音)を強調し、駆動装置の方向以外から各マイクロホンに伝わる音(主に所望音)を減衰させることができるので、機械音を推定することができる。ここで、駆動装置の方向とは、駆動装置から複数のマイクロホンに向かう方向である。
【0038】
このように本実施形態では、上記機械音スペクトルのテンプレートを利用せずに、ステレオマイクロホンからの複数の音声信号を利用することで、録音中に機械音を動的に推定及び補正して、機械音を適切に低減することができる。このように個々のカメラで録音中に動的に機械音を推定及び補正することで、個々のカメラごとに異なる機械音を正確に求めて、十分に低減することができる。また、同一のカメラにおいても、駆動装置の動作ごとに異なる機械音を正確に求めて、十分に低減することができる。以下に、本実施形態に係る機械音の除去方法について詳述する。
【0039】
[1.2.音声信号処理装置の構成]
[1.2.1.音声信号処理装置のハードウェア構成]
まず、図1を参照して、本実施形態に係る音声信号処理装置が適用されたデジタルカメラのハードウェア構成例について説明する。図1は、本実施形態に係る音声信号処理装置が適用されたデジタルカメラ1のハードウェア構成を示すブロック図である。
【0040】
本実施形態に係るデジタルカメラ1は、例えば、動画撮像中に動画と共に音声も記録可能な撮像装置である。このデジタルカメラ1は、被写体を撮像して、当該撮像により得られた撮像画像(静止画又は動画のいずれでもよい。)をデジタル方式の画像データに変換し、音声とともに記録媒体に記録する。
【0041】
図1に示すように、本実施形態に係るデジタルカメラ1は、概略的には、撮像部10と、画像処理部20と、表示部30と、記録媒体40と、収音部50と、音声処理部60と、制御部70と、操作部80とを備える。
【0042】
撮像部10は、被写体を撮像して、撮像画像を表すアナログ画像信号を出力する。撮像部10は、撮像光学系11と、撮像素子12と、タイミングジェネレータ13と、駆動装置14とを備える。
【0043】
撮像光学系11は、フォーカスレンズ、ズームレンズ、補正レンズ等の各種レンズや、不要な波長を除去する光学フィルタ、シャッター、絞り等の光学部品からなる。被写体から入射された光学像(被写体像)は、撮像光学系11における各光学部品を介して、撮像素子12の露光面に結像される。撮像素子12(イメージセンサ)は、例えば、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの固体撮像素子で構成される。この撮像素子12は、撮像光学系11から導かれた光学像を光電変換し、撮像画像を表す電気信号(アナログ画像信号)を出力する。
【0044】
撮像光学系11には、該撮像光学系11の光学部品を駆動するための駆動装置14が機械的に接続されている。この駆動装置14は、例えば、ズームモータ15、フォーカスモータ16、絞り調整機構(図示せず。)などを含む。駆動装置14は、後述する制御部70の指示に従って、撮像光学系11の光学部品を駆動させ、ズームレンズ、フォーカスレンズを移動させたり、絞りを調整したりする。例えば、ズームモータ15は、ズームレンズをテレ/ワイド方向に移動させることで、画角を調整するズーム動作を行う。また、フォーカスモータ16は、フォーカスレンズを移動させることで、被写体に焦点を合わせるフォーカス動作を行う。
【0045】
また、タイミングジェネレータ(TG)13は、制御部70の指示に従って、撮像素子12に必要な動作パルスを生成する。例えば、TG13は、垂直転送のための4相パルス、フィールドシフトパルス、水平転送のための2相パルス、シャッタパルスなどの各種パルスを生成し、撮像素子12に供給する。このTG13により撮像素子12を駆動させることで、被写体像が撮像される。また、TG13が、撮像素子12のシャッタースピードを調整することで、撮像画像の露光量や露光期間が制御される(電子シャッター機能)。上記の撮像素子12が出力した画像信号は画像処理部20に入力される。
【0046】
画像処理部20は、マイクロコントローラなどの電子回路で構成され、撮像素子12から出力される画像信号に対して所定の画像処理を施し、当該画像処理後の画像信号を表示部30や制御部70に出力する。画像処理部20は、アナログ信号処理部21、アナログ/デジタル(A/D)変換部22、デジタル信号処理部23を備える。
【0047】
アナログ信号処理部21は、画像信号を前処理する所謂アナログフロントエンドである。該アナログ信号処理部21は、例えば、撮像素子12から出力される画像信号に対して、CDS(correlated double sampling:相関2重サンプリング)処理、プログラマブルゲインアンプ(PGA)によるゲイン処理などを行う。A/D変換部22は、アナログ信号処理部21から入力されたアナログ画像信号をデジタル画像信号に変換して、デジタル信号処理部23に出力する。デジタル信号処理部23は、入力されたデジタル画像信号に対して、例えば、ノイズ除去、ホワイトバランス調整、色補正、エッジ強調、ガンマ補正等のデジタル信号処理を行って、表示部30や制御部70等に出力する。
【0048】
表示部30は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイなどの表示装置で構成される。表示部30は、制御部70による制御に従って、入力された各種の画像データを表示する。例えば、表示部30は、撮像中に画像処理部20からリアルタイムで入力される撮像画像(スルー画像)を表示する。これにより、ユーザは、デジタルカメラ1で撮像中のスルー画像を見ながら、デジタルカメラ1を操作することができる。また、記録媒体40に記録されている撮像画像を再生したときに、表示部30は、当該再生画像を表示する。これにより、ユーザは、記録媒体40に記録されている撮像画像の内容を確認することができる。
【0049】
記録媒体40は、上記撮像画像のデータ、そのメタデータなどの各種のデータを記憶する。記録媒体40は、例えば、メモリカード等の半導体メモリ、又は、光ディスク、ハードディスク等のディスク状記録媒体などを使用できる。なお、光ディスクは、例えば、ブルーレイディスク(Blu−ray Disc)、DVD(Digital Versatile Disc)又はCD(Compact Disc)等を含む。なお、記録媒体40は、デジタルカメラ1に内蔵されてもよいし、デジタルカメラ1に着脱可能なリムーバブルメディアであってもよい。
【0050】
収音部50は、デジタルカメラ1周辺の外部音声を収音する。本実施形態に係る収音部50は、2つの外部音声収録用のマイクロホン51、52からなるステレオマイクロホンで構成される。2つのマイクロホン51、52は、外部音声を収音して得られた音声信号をそれぞれ出力する。かかる収音部50により、動画撮像中に外部音声を収音して、動画と共に記録できるようになる。
【0051】
音声処理部60は、マイクロコントローラなどの電子回路で構成され、音声信号に対して所定の音声処理を施して、記録用の音声信号を出力する。この音声処理は、例えば、AD変換処理、雑音低減処理などを含む。本実施形態は、この音声処理部60による雑音低減処理を特徴としているが、その詳細説明は後述する。
【0052】
制御部70は、マイクロコントローラなどの電子回路で構成され、デジタルカメラ1の全体の動作を制御する。制御部70は、例えば、CPU71、EEPROM(Electrically Erasable Programmable ROM)72、ROM(Read Only Memory)73、RAM(Random Access Memory)74を備える。かかる制御部70は、デジタルカメラ1内の各部を制御する。例えば、制御部70は、マイクロホン51、52により収音された音声信号から、駆動装置14で発生した機械音を雑音として低減するに、音声処理部60の動作を制御する。
【0053】
制御部70におけるROM73には、CPU71に各種の制御処理を実行させるためのプログラムが格納されている。CPU71は、該プログラムに基づいて動作して、RAM74を用いながら、上記各制御のための必要な演算・制御処理を実行する。該プログラムは、デジタルカメラ1に内蔵された記憶装置(例えば、EEPROM72、ROM73等)に予め格納しておくことができる。また、当該プログラムは、ディスク状記録媒体、メモリカードなどのリムーバブル記録媒体に格納されて、デジタルカメラ1に提供されてもよいし、LAN、インターネット等のネットワークを介してデジタルカメラ1にダウンロードされてもよい。
【0054】
ここで、制御部70による制御の具体例について説明する。制御部70は、上記撮像部10のTG13や駆動装置14を制御して、撮像部10による撮像処理を制御する。例えば、制御部70は、上記撮像光学系11の絞りの調整、撮像素子12の電子シャッタースピードの設定、アナログ信号処理部21のAGCのゲイン設定などにより、自動露光制御を行う(AE機能)。また、制御部70は、上記撮像光学系11のフォーカスレンズを移動させて、フォーカスポジションを変更することで、特定の被写体に対して撮像光学系11の焦点を自動的に合わせるオートフォーカス制御を行う(AF機能)。また、制御部70は、上記撮像光学系11のズームレンズを移動させて、ズームポジションを変更することで、撮像画像の画角を調整する。また、制御部70は、記録媒体40に対して撮像画像、メタデータなどの各種のデータを記録し、また、記録媒体40に記録されているデータを読み出して再生する。さらに、制御部70は、表示部30に表示するための各種の表示画像を生成し、表示部30を制御して該表示画像を表示させる。
【0055】
操作部80、表示部30は、ユーザがデジタルカメラ1の動作を操作するためのユーザインターフェースとして機能する。操作部80は、ボタン、レバー等の各種の操作キー、又はタッチパネル等で構成され、例えば、ズームボタン、シャッターボタン、電源ボタンなどを含む。操作部80は、ユーザ操作に応じて、各種の撮像動作を指示するための指示情報を制御部70に出力する。
【0056】
[1.2.2.音声信号処理装置の機能構成]
次に、図2を参照して、本実施形態に係るデジタルカメラ1に適用された音声信号処理装置の機能構成例について説明する。図2は、本実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【0057】
図2に示すように、音声信号処理装置は、2つのマイクロホン51、52と、音声処理部60を備える。音声処理部60は、2つの周波数変換部61L、61Rと、機械音推定部62と、2つの機械音補正部63L、63Rと、2つの機械音低減部64L、64Rと、2つの時間変換部65L、65Rとを備える。これら音声処理部60の各部は、専用のハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。ソフトウェアを用いる場合、音声処理部60の備えるプロセッサが、以下に説明する各機能部の機能を実現するためのプログラムを実行すればよい。なお、図2中で、実線の矢印は音声信号のデータ線を示し、破線の矢印は制御線を示す。
【0058】
マイクロホン51、52は、上述したステレオマイクロホンを構成する。マイクロホン51(第1のマイクロホン)は、Lチャンネルの音声を収音するためのマイクロホンであり、デジタルカメラ1の外部から伝わる外部音声を収音して第1の音声信号xを出力する。マイクロホン52(第2のマイクロホン)は、Rチャンネルの音声を収音するためのマイクロホンであり、上記外部音声を収音して第2の音声信号xを出力する。
【0059】
かかるマイクロホン51、52は、デジタルカメラ1周辺の外部音声(環境音、人の話し声等の所望音)を録音するためのマイクロホンである。しかし、デジタルカメラ1内に設けられた駆動装置14(ズームモータ15、フォーカスモータ16等)の動作時には、当該駆動装置14からの機械音(ズーム音、フォーカス音等)が上記外部音声に混入する。従って、マイクロホン51、52を通じて入力される音声信号x、xには、所望音成分のみならず、機械音成分も含まれることとなる。そこで、音声信号x、xから機械音成分を除去するために、以下の各部が設けられている。
【0060】
周波数変換部61L、61R(以下、周波数変換部61と総称する。)は、時間領域の音声信号x、xを、周波数領域の音声スペクトル信号X、Xに変換する機能を有する。ここで、スペクトルとは、周波数スペクトルを意味する。周波数変換部61L(第1の周波数変換部)は、Lch用のマイクロホン51から入力される音声信号xを、所定時間のフレーム単位で分割し、当該分割された音声信号xをフーリエ変換することで、周波数ごとのパワーを示した音声スペクトル信号Xを生成する。同様に、周波数変換部61R(第2の周波数変換部)は、Rch用のマイクロホン52から入力される音声信号xを、所定時間のフレーム単位で分割し、当該分割された音声信号xをフーリエ変換することで、周波数ごとのパワーを示した音声スペクトル信号Xを生成する。
【0061】
機械音推定部62は、作動音スペクトルを推定する作動音推定部の一例である。機械音推定部62は、音声スペクトル信号X、Xを利用して、上記機械音を表す機械音スペクトルを推定する機能を有する。機械音推定部62は、上記駆動装置14とマイクロホン51、52との相対位置関係に基づいて、音声スペクトル信号X、Xを演算することにより、上記機械音を表す機械音スペクトル信号Zを生成する。
【0062】
かかる機械音推定部62を設けることで、平均機械音スペクトルを用いずに、個々のカメラごと及び撮像動作ごとに機械音を動的に推定して、機械音を適切に低減することが可能となる。以下では、機械音推定部62により推定された機械音スペクトル信号Xを、「推定機械音スペクトルZ」と称する場合もある。なお、機械音推定部62による機械音の推定処理の詳細は後述する。
【0063】
機械音補正部63L、63R(以下、機械音補正部63と総称する。)は、駆動装置14の動作期間(機械音の発生期間)を利用して、マイクロホン51、52に入力される実際の機械音のスペクトルZrealと、推定機械音スペクトルZと間の誤差を補正する機能を有する。機械音補正部63L(第1の機械音補正部)は、音声スペクトル信号Xの周波数成分X(k)ごとに、駆動装置14の動作開始前後における音声スペクトル信号X(k)の周波数特性の差分dXに基づいて、音声スペクトル信号X用(Lch用)の推定機械音スペクトルZを補正するための補正係数H(第1の補正係数)を算出する。同様に、機械音補正部63R(第2の機械音補正部)は、音声スペクトル信号Xの周波数成分X(k)ごとに駆動装置14の動作開始前後における音声スペクトル信号X(k)の周波数特性の差分dXに基づいて、音声スペクトル信号X用(Rch用)の推定機械音スペクトルZを補正するための補正係数H(第2の補正係数)を算出する。なお、周波数成分X(k)とは、音声スペクトルXの全周波数帯域を複数(L個)のブロックに分割したときの、各ブロックの音声スペクトル信号Xである(k=0,1,・・・,L−1)。
【0064】
かかる機械音補正部63を設けることで、音声スペクトル信号Xの周波数成分X(k)ごとに、現実の機械音スペクトルZrealに合うように推定機械音スペクトルZを補正して、正確な機械音スペクトルに調整できるので、機械音低減部64による機械音の消し残り、消し過ぎを抑制することができる。なお、機械音補正部63による機械音スペクトルの補正処理の詳細は後述する。
【0065】
機械音低減部64L、64R(以下、機械音低減部64と総称する。)は、周波数変化部61L、61Rから入力される音声スペクトル信号X、Xから、上記機械音補正部63L、63Rにより補正された推定機械音スペクトルZを低減する機能を有する。機械音低減部64L(第1の機械音低減部)は、音声スペクトル信号Xから、上記補正係数Hで補正された推定機械音スペクトルZを低減することで、機械音が除去された音声スペクトル信号Yを生成する。同様に、機械音低減部64R(第2の機械音低減部)は、音声スペクトル信号Xから、上記補正係数Hで補正された推定機械音スペクトルZを低減することで、機械音が除去された音声スペクトル信号Yを生成する。なお、機械音低減部64による機械音スペクトルZの低減処理の詳細は後述する。
【0066】
時間変換部65L、65R(以下、時間変換部65と総称する。)は、周波数領域の音声スペクトル信号Y、Yを、時間領域の音声信号y、yに逆変換する機能を有する。時間変換部65L(第1の時間変換部)は、機械音低減部64Lから入力される音声スペクトル信号Yを逆フーリエ変換することで、フレーム単位ごとの音声信号yを生成する。同様に、時間変換部65R(第2の時間変換部)は、機械音低減部64Rから入力される音声スペクトル信号Yを逆フーリエ変換することで、フレーム単位ごとの音声信号yを生成する。かかる音声信号y、yは、音声信号x、xに含まれていた機械音成分が適切に除去された後の所望音成分の音声信号である。
【0067】
以上、本実施形態に係る音声信号処理装置の音声処理部60の機能構成について説明した。音声処理部60は、上記デジタルカメラ1による動画及び音声の記録中に、ステレオマイクロホン51、52から入力される音声信号を利用して、外部音声スペクトルに含まれる機械音スペクトルを正確に推定し、外部音声から機械音を適切に除去できる。
【0068】
従って、本実施形態では、従来のような機械音スペクトルのテンプレートを利用しなくとも、機械音を除去することが可能となる。これにより、従来のような多数のカメラを用いて機械音を測定して、当該テンプレートを作成するための調整コストを削減できる。
【0069】
さらに、個々のデジタルカメラ1において、機械音が発生する撮像動作ごとに動的に機械音スペクトルを推定して除去するので、デジタルカメラ1の個体差による機械音のばらつきが存在しても、所望の低減効果を得ることができる。また、録音中は常に、機械音スペクトルを推定するので、駆動装置14の動作中の機械音の時間変化にも追従できる。
【0070】
また、機械音補正部63により、実際の機械音スペクトルに合うように推定機械音スペクトルを補正することで、機械音の過剰推定や過小推定がない。よって、機械音低減部64による機械音の消しすぎや、消し残しを防止できるので、所望音の音質劣化を低減できる。
【0071】
[1.3.機械音推定部の詳細]
次に、本実施形態に係る機械音推定部62の構成及び動作について説明する。
【0072】
[1.3.1.機械音推定部の構成]
まず、図3を参照して、本実施形態に係る機械音推定部62の構成について説明する。図3は、本実施形態に係る機械音推定部62の構成を示すブロック図である。
【0073】
図3に示すように、機械音推定部62は、記憶部621と、演算部622を備える。演算部622には、上記Lch、Rch用の周波数変換部61から音声スペクトル信号X、Xが入力される。
【0074】
記憶部621は、後述するフィルタ係数w、wを記憶する。フィルタ係数w、wは、駆動装置14の方向以外からマイクロホン51、52に到来する音声成分を減衰させるために、音声スペクトル信号X、Xに乗算される係数である。演算部622は、フィルタ係数w、wを用いて音声スペクトル信号X、Xを演算することにより、上記推定機械音スペクトル信号Zを生成する。演算部622により生成された推定機械音スペクトル信号Zは、上記機械音低減部64及び機械音補正部63に出力される。
【0075】
[1.3.1.機械音スペクトル推定の原理]
次に、図4、図5を参照して、ステレオマイクロホン51、52を利用して機械音スペクトルを推定する原理について説明する。図4は、本実施形態に係るデジタルカメラ1を示す正面図及び上面図である。図5は、本実施形態に係るステレオマイクロホン51、52に対する音声の入力方向と、音声信号の出力エネルギーの特性との関係を示す説明図である。
【0076】
図4に示すように、同一機種のデジタルカメラ1では、2つのマイクロホン51、52と、機械音発生源である駆動装置14(ズームモータ15、フォーカスモータ16等)との相対位置関係は固定されている。つまり、両者の相対位置関係は、デジタルカメラ1ごと、撮像動作ごとに変化しない。
【0077】
図示の例では、2つのマイクロホン51、52は、デジタルカメラ1の筐体2の上面2aに、カメラ正面方向(撮像方向)に対して垂直方向に並んで配置されている。かかる配置により、マイクロホン51、52は、カメラ正面方向から到来する外部音声(所望音)を好適に収音できる。また、駆動装置14は、デジタルカメラ1の筐体2内部の右下隅に、レンズ部3に隣接して配置されている。
【0078】
かかるマイクロホン51、52と駆動装置14との相対位置関係によれば、駆動装置14から一方のマイクロホン51までの距離と、駆動装置14から他方のマイクロホン52までの距離は異なる。よって、駆動装置14で機械音が発生したときに、マイクロホン51で収音される機械音とマイクロホン52で収音される機械音との間には、位相差が生じる。
【0079】
そこで、機械音推定部62は、上記マイクロホン51、52と駆動装置14との相対位置関係を利用して、駆動装置14の方向以外からマイクロホン51、52に到来する音声信号成分(主として所望音)を減衰させ、駆動装置14の方向からマイクロホン51、52に到来する音声信号成分(主として機械音)を強調する信号処理を行う。これにより、2つのマイクロホン51、52に入力された外部音声から、機械音を近似的に抽出することが可能となる。
【0080】
即ち、機械音推定部62の記憶部621には、2つのマイクロホン51、52により得られた2つの音声スペクトル信号X、Xから機械音を抽出するためのフィルタ係数w、wが保存されている。例えば図5に示すように、このフィルタ係数w、wは、カメラ正面方向(音声入力角度=0°)からマイクロホン51、52に到来する音声成分を減衰させ、駆動装置14の方向(音声入力角度=−60°)からマイクロホン51、52に到来する音声信号成分を残存させるような特性を、音声スペクトル信号X、Xに与えるための係数である。具体的には、フィルタ係数wは音声スペクトル信号Xに乗算される係数であり、フィルタ係数wは音声スペクトル信号Xに乗算される係数である。
【0081】
機械音推定部62は、例えば以下の式(1)に表すように、上記フィルタ係数w、wを音声スペクトル信号X、Xにそれぞれ乗算して、双方の和を求めることで、上記推定機械音スペクトルZを生成する。
Z=w・X+w・X ・・・(1)
【0082】
フィルタ係数w、wの値は、マイクロホン51、52と駆動装置14との相対位置関係に応じて、デジタルカメラ1の機種ごとに予め決定されている。マイクロホン51、52と駆動装置14が、図4のような相対位置関係にあるときには、例えば、w=1、w=−1とすればよい。これにより、カメラ正面方向から伝播する所望音を低減し、駆動装置14の方向から伝播する機械音を抽出して、推定機械音スペクトルZを適切に推定できる。カメラ正面方向から伝播する所望音を収音した場合、2つのマイクロホン51、52で収音される音声間で、時間遅延(位相差)は存在しない。従って、式(1)のようにXからXを減算することで、カメラ正面方向からの所望音を相殺して、サイド方向からの推定機械音スペクトルZを抽出できる。なお、フィルタ係数w、wは、上述した特性(所望音の減衰、機械音の強調)を満たすものであれば、任意の値であってよい。
【0083】
以上では、図4、図5に示したように、駆動装置14が、2つのマイクロホン51、52に対して正面方向に配置されていない場合(機械音の入力角度≠0°)の機械音の推定原理について説明した。しかし、駆動装置14がマイクロホン51、52の正面方向に配置されている場合(機械音の入力角度=0°)であっても、図5に示した音声信号を減衰させる波形のピークの位置を左右にずらせばよい(例えば±30℃の位置)。これにより、当該ピークの位置に対応する音声入力方向以外の方向から到来する音声(正面方向の駆動装置14からの機械音を含む。)を強調できるので、機械音スペクトルを推定可能である。
【0084】
[1.3.2.機械音スペクトル推定の動作]
次に、図6を参照して、本実施形態に係る機械音推定部62の動作について説明する。図6は、本実施形態に係る機械音推定部62の動作を示すフローチャートである。
【0085】
図6に示すように、まず、機械音推定部62は、上記周波数変換部61L、61Rから出力された音声スペクトル信号X、Xを受け取る(ステップS10)。次いで、機械音推定部62は、記憶部621から上記フィルタ係数w、wを読み出す(ステップS12)。上述したように、例えば、フィルタ係数w=1、w=−1である。
【0086】
さらに、機械音推定部62は、式(2)で表すように、S12で読み出したフィルタ係数w、wを用いて、S10で得た音声スペクトル信号X、Xを演算して、推定機械音スペクトルZを算出する(ステップS14)。
Z=w・X+w・X=X−X ・・・(2)
【0087】
その後、機械音推定部62は、S14で算出した推定機械音スペクトルZを、機械音補正部63L、63Rに出力する(ステップS16)。
【0088】
以上、機械音推定部62による推定機械音スペクトルZの推定処理について説明した。なお、実際には、音声信号x、xを周波数変換して音声スペクトル信号X、Xを得ているので、音声スペクトル信号X、Xの各周波数成分X(k)、X(k)ごとに、推定機械音スペクトルZ(k)を計算する必要がある。しかし、上記では説明の便宜上、推定機械音スペクトルZの1つの周波数成分Z(k)のみを計算するためのフローチャートを用いて説明した。
【0089】
[1.4.機械音補正部の詳細]
次に、本実施形態に係る機械音補正部63の構成及び動作について説明する。
【0090】
[1.4.1.機械音補正部の構成]
まず、図7を参照して、本実施形態に係る機械音補正部63の構成について説明する。図7は、本実施形態に係る機械音補正部63の構成を示すブロック図である。なお、以下では、Lch用の機械音補正部63Lの構成について説明するが、Rch用の機械音補正部63Rの構成も実質的に同一であるので、その詳細説明は省略する。
【0091】
図7に示すように、機械音補正部63Lは、記憶部631と、演算部632を備える。演算部632には、上記Lch用の周波数変換部61Lから音声スペクトル信号Xが入力され、上記機械音推定部62から推定機械音スペクトル信号Zが入力され、上記制御部70から駆動制御情報が入力される。
【0092】
駆動制御情報は、駆動装置14を制御するための情報であり、駆動装置14の動作状態を表す。例えば、ズームモータ15を制御するための駆動制御情報(以下、モータ制御情報)は、ズームモータ15の動作状態(例えば、ズーム動作の有無、ズーム動作の開始及び終了タイミング等)を表す。機械音補正部63Lの演算部632は、この駆動制御情報に基づいて、駆動装置14の動作状態を判断する。
【0093】
記憶部631は、音声スペクトル信号Xの周波数成分X(k)ごとに、後述する補正係数Hを記憶する。補正係数Hは、音声スペクトル信号Xから機械音を適切に除去するために、上記機械音推定部62により生成された推定機械音スペクトルZを補正するための係数である。また、記憶部631は、演算部632により補正係数Hを算出するための計算用バッファとしても機能する。
【0094】
演算部632は、駆動装置14が動作したとき(即ち、機械音の発生時)に、音声スペクトル信号Xの周波数成分X(k)ごとに、駆動装置14の動作開始前後におけるXの周波数特性の差分dX(Xのスペクトル形状の差分)に基づいて、当該補正係数Hを算出し、記憶部631に記憶されている過去の補正係数Hを更新する。このように、演算部632は、駆動装置14が動作する度に、補正係数Hの算出及び更新処理を繰り返す。また、演算部632により算出された最新の補正係数Hと、推定機械音スペクトル信号Zは、上記機械音低減部64Lに出力される。なお、以下では、補正係数Hと補正係数Hを補正係数Hと総称する場合がある。
【0095】
[1.4.2.機械音補正の概念]
次に、図8〜図10を参照して、機械音補正部63による機械音スペクトル補正の概念について説明する。
【0096】
上述したように、機械音推定部62により、入力音声信号x、xに応じて機械音の推定が実現できる。しかし、機械音推定部62により推定された機械音(推定機械音スペクトルZ)は、Lch用のマイクロホン51に入力される実際の機械音とは、多少の誤差がある。
【0097】
図8は、Lch用のマイクロホン51に入力された実際の機械音スペクトルZrealの平均と、機械音推定部62により推定された機械音スペクトルZの平均を表す。図8に示すように、機械音推定部62により得られた推定機械音スペクトルZは、実際の機械音スペクトルZrealの全体傾向をよく捉えているものの、個々の周波数成分X(k)ごとには多少の誤差がある。この推定誤差の原因としては、例えば、マイクロホン51、52の個体差が挙げられる、また、デジタルカメラ1の筐体2内において、機械音が反射して多方向からマイクロホン51、52に入力されることによっても、推定誤差が生じうる。従って、機械音推定部62のみでは、推定機械音スペクトルZを、実際の機械音スペクトルZrealに完全に一致させることは難しい。
【0098】
よって、適切に機械音を低減するためには、機械音の発生期間と非発生期間との差を利用して、推定機械音スペクトルZが実際の機械音スペクトルZrealと一致するように、推定機械音スペクトルZの周波数特性を補正することが望ましい。
【0099】
ところが、図9に示すように、駆動装置14の動作期間中にマイクロホン51、52に入力される音声は、駆動装置14からの機械音だけでなく、カメラ周囲の環境音(所望音)も含まれる。このため、機械音以外の音声成分を必要以上に劣化させずに、機械音を適切に低減するためには、機械音の発生期間(即ち、駆動装置14の動作期間)にのみ、顕著になるスペクトルを特定する必要がある。
【0100】
そのためには、図9に示すように、駆動装置14の動作期間における所望音成分を、当該動作前(動作停止期間)における音声Aから推定し、駆動装置14の動作期間における音声Bから、当該推定した所望音声分を除去すればよい。これにより、駆動装置14の動作期間における機械音成分を抽出できるので、当該動作期間における機械音スペクトルを特定できるようになる。
【0101】
そこで、本実施形態に係る機械音補正部63は、機械音が発生しているとき(駆動装置14の動作時)の音声スペクトルXaと、機械音が発生していないとき(駆動装置14の動作停止時)の音声スペクトルXbとの差分dXを利用することで、推定機械音スペクトルZを補正するための補正係数Hを求める。なお、音声スペクトルXaは、駆動装置14の動作中に上記周波数変換部61から出力される音声スペクトル信号X、Xであり、音声スペクトルXbは、駆動装置14の動作開始直前に上記周波数変換部61から出力された音声スペクトル信号X、Xである。
【0102】
図10は、機械音が発生しているときの音声スペクトルXaと、機械音が発生していないときの音声スペクトルXbを表す。図10に示すように、音声スペクトルXaと音声スペクトルXbとの差分dX(=Xa−Xb)の領域が、機械音の周波数特性を表す。即ち、駆動装置14の動作開始直前に入力された音声スペクトルXbには、機械音は含まれず、所望音のみが含まれており、駆動装置14の動作中に入力された音声スペクトルXaには、所望音と機械音の双方が含まれている。従って、駆動装置14の動作開始前後(例えば、ズーム動作の開始前後)で、デジタルカメラ1周辺の環境音(所望音)が変化していなければ、上記XaとXbとの差分dXは、実際の機械音スペクトルZrealを表すことになる。
【0103】
そこで、機械音補正部63は、この差分dXを用いて、推定機械音スペクトルZを補正するための補正係数Hを求める。かかる補正係数Hで、Lch用、Rch用の推定機械音スペクトルZをそれぞれ補正することで、推定機械音スペクトルZを実際の機械音スペクトルZrealに近づけることができる。
【0104】
[1.4.2.機械音補正の基本動作]
次に、図11を参照して、本実施形態に係る機械音補正部63の基本動作について説明する。図11は、本実施形態に係る機械音補正部63の基本動作を示すフローチャートである。図11の動作フローでは、駆動装置14の動作開始前後における音声スペクトルXのスペクトル形状の変化に基づいて、推定機械音スペクトルZを実際の機械音スペクトルZrealに合わせるための補正係数Hを算出する。
【0105】
なお、本実施形態は、2つのマイクロホン51、52を用いたステレオ音声入力を対象としているので、Lch用とRch用の2系統の音声信号を取り扱う(図2参照。)。従って、機械音補正部63L、63Rは、この2つのチャンネルに対応してそれぞれ設けられており、それぞれ音声スペクトル信号X、Xを独立的に処理する。以下では、説明の便宜上、特にステレオ処理が必要でない場合は、2つの音声スペクトル信号X、Xを音声スペクトルXと総称し、機械音補正部63の動作を説明する。
【0106】
図11に示すように、まず、機械音補正部63は、上記周波数変換部61から出力された音声スペクトルXを受け取るとともに(ステップS20)上記機械音推定部62から出力された推定機械音スペクトルZを受け取る(ステップS21)。
【0107】
そして、機械音補正部63は、制御部70から取得した駆動制御情報に基づいて、駆動装置14が動作開始したか否かを判断する(ステップS22)。例えば、ズームモータ15を動作開始させるためのモータ制御情報が制御部70から入力されたときに、機械音補正部63は、ズームモータ15の動作開始を検出して、以下の補正係数Hの算出処理S23〜S27を実行する。以下では、駆動装置14がズームモータ15である例について説明するが、フォーカスモータ16等の他の駆動装置である場合も同様である。
【0108】
ズームモータ15が動作開始すると、まず、機械音補正部63は、ズームモータ15の動作中の音声スペクトルXの平均周波数特性を表す音声スペクトルXaを算出する(ステップS23)。この音声スペクトルXaは、ズームモータ15が動作している期間中の音声スペクトルの平均値であるので、ズームモータ15から発生した機械音成分と、所望音成分を含む。
【0109】
次いで、機械音補正部63は、ズームモータ15の動作停止時の音声スペクトルXの平均周波数特性を表す音声スペクトルXbを算出する(ステップS24)。この音声スペクトルXbは、ズームモータ15が動作していない期間の音声スペクトルであるので、機械音成分を含まない。この動作停止時の音声スペクトルXbとして、ズームモータ15の動作直前の音声スペクトルXを使用すればよい。これにより、動作開始前後における所望音の変化の影響をできるだけ排除できる。
【0110】
さらに、機械音補正部63は、上記S23で算出されたモータ動作中の音声スペクトルXaと、上記S24で算出されたモータ動作停止時の音声スペクトルXbとの差分dXを算出する(ステップS25)。具体的には、機械音補正部63は、以下の式(3)のように、音声スペクトルXaから音声スペクトルXbを減算して、音声スペクトルの差分dXを求める。この差分dXは、ズームモータ15のズーム動作開始前後における音声スペクトルXの変化を表し、図10の斜線領域で表す機械音成分の周波数特性に相当する。
dX=Xa−Xb ・・・(3)
【0111】
次いで、機械音補正部63は、ズームモータ15の動作中における推定機械音スペクトルZの平均周波数特性を表す平均推定機械音スペクトルZaを算出する(ステップS26)。
【0112】
その後、機械音補正部63は、S25で算出した差分dXと、S26で算出した平均推定機械音スペクトルZaに基づいて、ズームモータ15の動作中における推定機械音スペクトルZを補正するための補正係数Hを算出する(ステップS27)。次いで、機械音補正部63は、S36で算出した補正係数Hを、機械音低減部64に出力する(ステップS28)。
【0113】
以上、機械音補正部63による補正係数Hの算出処理について説明した。なお、実際には、音声信号x、xを周波数変換して音声スペクトル信号X、Xを得ているので、音声スペクトル信号X、Xの各周波数成分X(k)、X(k)ごとに、補正係数H(k)、H(k)を計算する必要がある。しかし、上記では説明の便宜上、推定機械音スペクトルZの1つの周波数成分Z(k)の補正係数H(k)のみを算出するためのフローチャートを用いて説明した。以下の図12等のフローチャートも同様である。
【0114】
[1.4.3.機械音補正の詳細動作]
次に、図12〜図16を参照して、本実施形態に係る機械音補正部63の詳細動作について説明する。以下では、音声信号のパワースペクトル領域において、推定機械音を補正する例を示す。
【0115】
図12は、本実施形態に係る機械音補正部63の動作タイミングを示すタイミングチャートである。なお、上述したように本実施形態に係る音声信号処理装置は、マイクロホン51、52から入力された音声信号x、xをフレーム単位に分割し、当該分割した音声信号に対して、周波数変換処理(FFT)及び機械音低減処理を行う。そこで、図12のタイミングチャートでは、時間軸上で上記フレームを基準として示してある。
【0116】
図12に示すように、機械音補正部63は、複数の処理(基本処理、処理A、処理B)を同時並行で行う。基本処理は、ズームモータ15の動作に関わらず、デジタルカメラ1による録音中(動作撮像中)は常時行われる。処理Aは、ズームモータ15の動作停止中に、N1フレームごとに行われる。処理Bは、ズームモータ15の動作中に、N2フレームごとに行われる。
【0117】
次に、機械音補正部63の動作フローを説明する。図13は、本実施形態に係る機械音補正部63の全体動作を示すフローチャートである。
【0118】
図13に示すように、まず、機械音補正部63は、制御部70から、ズームモータ15の動作状態を表すモータ制御情報zoom_infoを取得する(ステップS30)。zoom_infoの値が1であれば、ズームモータ15が動作状態であり、zoom_infoの値が0であれば、ズームモータ15が動作停止状態である。機械音補正部63は、当該モータ制御情報zoom_infoによりズームモータ15の動作の有無(即ち、ズーム音の発生の有無)を判断できる。
【0119】
次いで、機械音補正部63は、音声信号xの1フレームごとに基本処理を行う(ステップS40)。この基本処理では、機械音補正部63は、音声信号xの1フレームに対応する音声スペクトルX及び推定機械音スペクトルZのパワースペクトルを算出する。
【0120】
図14は、図13中の基本処理のサブルーチンを示すフローチャートである。図14に示すように、まず、機械音補正部63は、周波数変換部61から音声スペクトルXを受け取るとともに(ステップS42)、機械音推定部62から推定機械音スペクトルZを受け取る(ステップS44)。推定機械音スペクトルZは、推定されたズームモータ15の駆動音(モータ音)のスペクトル信号である。
【0121】
次いで、機械音補正部63は、上記音声スペクトルXを二乗して、当該音声スペクトルXのパワースペクトルPxを算出し、上記推定機械音スペクトルZを二乗して、当該推定機械音スペクトルZのパワースペクトルPzを算出する(ステップS46)。
【0122】
さらに、機械音補正部63は、記憶部631に記憶されているパワースペクトルPxの積算値sum_Px、パワースペクトルPzの積算値sum_Pzに、S46で求めたパワースペクトルPx、Pzをそれぞれ加算する(ステップS48)。
【0123】
以上のようにして、基本処理では、音声信号xの1フレームごとに、音声スペクトルXのパワースペクトルPxの積算値sum_Px、推定機械音スペクトルZのパワースペクトルPzの積算値sum_Pzを算出する。
【0124】
図13に戻り、S50では、機械音補正部63は、上記基本処理S40を行ったフレーム数をカウントする(ステップS50)。具体的には、かかるカウント処理では、ズームモータ15の動作中における処理フレーム数cnt2、ズームモータ15の動作停止中における処理フレーム数cnt1を用いる。ズームモータ15が動作停止中(zoom_info=0)である場合(ステップS51)、機械音補正部63は、記憶部631に記憶されているcnt2をゼロにリセットし(ステップS52)、記憶部631に記憶されているcnt1に1を加算する(ステップS54)。一方、ズームモータ15が動作中(zoom_info=1)である場合(ステップS51)、機械音補正部63は、記憶部631に記憶されているcnt1をゼロにリセットし(ステップS56)、記憶部631に記憶されているcnt2に1を加算する(ステップS58)。
【0125】
次いで、ズームモータ15が動作停止中であり、かつ、上記S50でカウントした処理フレーム数cnt1が所定のフレーム数N1に達している場合(ステップS60)、機械音補正部63は、処理Aを行い(ステップS70)、cnt1をゼロにリセットする(ステップS90)。一方、cnt1がN1未満である場合には、S30〜S50の処理を繰り返し行い、音声スペクトルXのパワースペクトルPxの積算値sum_Pxを更新する。
【0126】
また、ズームモータ15が動作中であり、かつ、上記S50でカウントした処理フレーム数cnt2が所定のフレーム数N2に達している場合(ステップS60、S62)、機械音補正部63は、処理Bを行い(ステップS80)、cnt2をゼロにリセットする(ステップS92)。一方、cnt2がN2未満である場合には、S30〜S50の処理を繰り返し行い、音声スペクトルXのパワースペクトルPxの積算値sum_Pxと、推定機械音スペクトルZのパワースペクトルPzの積算値sum_Pzを更新する。機械音補正部63は、以上の処理S30〜S92を録音が終了するまで繰り返す(ステップS94)。
【0127】
ここで、ズームモータ15の動作停止中(ズーム音の非発生時)に行われる処理Aについて詳述する。図15は、図13中の処理Aのサブルーチンを示すフローチャートである。
【0128】
図15に示すように、まず、機械音補正部63は、上記音声スペクトルXのパワースペクトルPxの積算値sum_Pxをフレーム数N1で除算することにより、ズームモータ15の動作停止中におけるPxの平均値Px_bを算出する(ステップS72)。そして、機械音補正部63は、記憶部631に記憶されている平均値Px_bを、S72で新たに求めた平均値Px_bに更新する。その後、機械音補正部63は、記憶部631に記憶されている積算値sum_Px及び積算値sum_Pzをゼロにリセットする(ステップS74)。
【0129】
この処理Aにより、ズームモータ15の動作停止中は常に、音声信号xのN1個のフレームごとに、音声スペクトルXのパワースペクトルPxの平均値Px_bが算出され、記憶部631に記憶されるPx_bが、最新のN1個のフレームの平均値Px_bに更新されることとなる。
【0130】
次に、ズームモータ15の動作中(ズーム音の発生時)に行われる処理Bについて詳述する。図16は、図13中の処理Bのサブルーチンを示すフローチャートである。
【0131】
図16に示すように、まず、機械音補正部63は、以下の式(4)のように、上記音声スペクトルXのパワースペクトルPxの積算値sum_Pxをフレーム数N2で除算することにより、ズームモータ15の動作中におけるPxの平均値Px_aを算出する(ステップS81)。
Px_a=sum_Px/N2 ・・・(4)
【0132】
そして、機械音補正部63は、記憶部631に記憶されている平均値Px_aを、S81で求めた平均値Px_aに更新する。これにより、ズームモータ15の動作中は常に、直近のN2個のフレームの音声スペクトルXのパワースペクトルPxの平均値Px_aが、記憶部631に記憶されることとなる。
【0133】
次いで、機械音補正部63は、ズームモータ15の動作開始前後における音声スペクトルXの変化を算出する(ステップS82)。具体的には、機械音補正部63は、以下の式(5)のように、上記S81で求めたパワースペクトルPxの平均値Px_aから、上記S72により記憶部631に記憶されているパワースペクトルPxの平均値Px_bを減算し、ズームモータの動作開始前後におけるパワースペクトルの平均的な差分dPxを求める。この差分dPxは、駆動装置の動作開始前後における音声スペクトル信号X、Xの周波数特性の差分dX(上記式(3)参照。)の一例であり、駆動装置の動作による発生した機械音の周波数特性を表す。
dPx=Px_a−Px_b ・・・(5)
【0134】
さらに、機械音補正部63は、以下の式(6)のように、ズームモータ15の動作中に機械音推定部62から入力される推定機械音スペクトルZのパワースペクトルPzの積算値sum_Pzをフレーム数N2で除算することにより、ズームモータ15の動作中におけるPzの平均値Pz_aを算出する(ステップS83)。なお、積算値sum_Pzは、ズームモータ15の動作中におけるN2個のフレームの推定機械音スペクトルZのパワースペクトルPzを積算した値である。
Px_z=sum_Pz/N2 ・・・(6)
【0135】
次いで、機械音補正部63は、以下の式(7)のように、上記S82で求めたPx_aを上記S83で求めたPz_aで除算することにより、現在の補正係数Htを算出する(ステップS84)。ここでは、現在の動作中に得られる推定機械音スペクトルZのパワースペクトルPzの平均値Pz_aを用いてHtを算出するが、当該Pz_aの代わりに、過去のズームモータ15の動作時に得られた推定機械音スペクトルZのパワースペクトルPzの平均値を用いてHtを算出してもよい。
Ht=dPx/Pz_a ・・・(7)
【0136】
さらに、機械音補正部63は、上記S84で求めた現在の補正係数Htと、過去に求めた補正係数Hpを用いて、補正係数Hを算出する(ステップS85)。具体的には、機械音補正部63は、記憶部631に記憶されている過去の補正係数Hpを読み出す。そして、機械音補正部63は、以下の式(8)のように、平滑化係数r(0<r<1)を用いてHpとHtを平滑化することにより、補正係数Hを算出する。このように、現在の補正係数Htと過去の補正係数Hpを平滑化することで、個々のズーム動作における音声スペクトルXの異常値の影響を抑制できるので、信頼性の高い補正係数Hを算出できる。
H=(1−r)・Hp+r・Ht ・・・(8)
【0137】
その後、機械音補正部63は、S85で求めた補正係数Hを、Hpとして記憶部631に記憶する(ステップS86)。さらに、記憶部631に記憶されている積算値sum_Px及び積算値sum_Pzをゼロにリセットする(ステップS87)。
【0138】
以上の処理Bにより、ズームモータ15の動作中は常に、音声信号xのN2個のフレームごとに、モータ動作前後における音声スペクトルXの差分dPxと、モータ動作中の推定機械音スペクトルZの平均値Pz_aが算出される。そして、当該dPxとPz_aから、最新のN2個のフレームに対応する補正係数Hが算出され、記憶部631に記憶されるHpが当該最新の補正係数Hに更新される。
【0139】
以上、本実施形態に係る機械音補正部63の動作について説明した。かかる機械音補正部63は、駆動装置14の動作停止中は常時、所定のフレーム数N1ごとに、音声スペクトルXの平均値Px_bの算出を繰り返す。そして、駆動装置14が動作開始すると、当該動作直前のN1個のフレームの音声スペクトルXの平均値Px_bと、当該動作中の所定のフレーム数N2の音声スペクトルXの平均値Px_aとの差分dPxに基づいて、補正係数Hの算出を繰り返す。
【0140】
このように、本実施形態に係る機械音補正部63は、音声スペクトルXの周波数成分X(k)ごとに、駆動装置14の動作開始前後におけるスペクトル特性の変化に基づいて、補正係数Hを適切に求めることができる。従って、かかる補正係数Hを用いて、音声スペクトルXの周波数成分X(k)ごとに、機械音推定部62により推定された推定機械音スペクトルZを、実際の機械音スペクトルZrealに合うように適切に補正できる。
【0141】
[1.5.機械音低減部の詳細]
次に、本実施形態に係る機械音低減部64の構成及び動作について説明する。
【0142】
[1.5.1.機械音低減部の構成]
まず、図17を参照して、本実施形態に係る機械音低減部64の構成について説明する。図17は、本実施形態に係る機械音低減部64の構成を示すブロック図である。なお、以下では、Lch用の機械音低減部64Lの構成について説明するが、Rch用の機械音低減部64Rの構成も実質的に同一であるので、その詳細説明は省略する。
【0143】
図17に示すように、機械音低減部64Lは、抑圧値算出部641と、演算部642を備える。抑圧値算出部641には、上記Lch用の周波数変換部61Lから音声スペクトル信号Xが入力され、上記機械音補正部63から推定機械音スペクトル信号Zと補正係数Hが入力される。演算部642には、上記Lch用の周波数変換部61Lから音声スペクトル信号Xが入力される。
【0144】
抑圧値算出部641は、音声スペクトル信号X、推定機械音スペクトル信号Z及び補正係数Hに基づいて、音声スペクトル信号Xから機械音成分を除去するための抑圧値(例えば、後述する抑圧係数g)を算出する。演算部632は、抑圧値算出部641により算出された抑圧値に基づいて、音声スペクトル信号Xから、機械音成分を低減する。
【0145】
[1.5.2.機械音低減部の動作]
次に、図18を参照して、本実施形態に係る機械音低減部64の動作について説明する。図18は、本実施形態に係る機械音低減部64の動作を示すフローチャートである。なお、実際には、音声信号x、xを周波数変換して音声スペクトル信号X、Xを得ているので、音声スペクトル信号X、Xの各周波数成分X(k)、X(k)ごとに、推定機械音スペクトルZ(k)と補正係数H(k)、H(k)を用いて、機械音を低減する必要がある。しかし、以下では説明の便宜上、1つの周波数成分のX(k)、X(k)の機械音を除去するためのフローチャートを用いて説明した。
【0146】
本実施形態に係る音声信号処理装置及び方法において、機械音低減部64に適用する雑音低減方法については、特に制約はなく、公知の任意の雑音低減方法(例えば、ウィーナーフィルタ、スペクトラル・サブトラクション法など)を利用できる。以下では、ウィーナーフィルタを用いた雑音低減方法の例について説明する。
【0147】
図18に示すように、まず、機械音低減部64は、周波数変換部61から音声スペクトルXを受け取るとともに(ステップS90)、機械音補正部63から推定機械音スペクトルZ及び補正係数Hを受け取る(ステップS92)。
【0148】
次いで、機械音低減部64は、音声スペクトルX、推定機械音スペクトルZ及び補正係数Hに基づいて、抑圧係数gを算出する(ステップS94)。この抑圧係数gの算出処理の詳細は後述する。
【0149】
その後、機械音低減部64は、抑圧係数gに基づいて、音声スペクトルXから機械音成分を低減して、出力音声スペクトルYを出力する(ステップS98)。具体的には、機械音低減部64は、以下の式(9)のように、音声スペクトルXに抑圧係数gを乗算することによって、機械音が低減された出力音声スペクトルYを生成する。
Y=g・X ・・・(9)
【0150】
図19は、図19中の抑圧係数gの算出処理S94のサブルーチンを示すフローチャートである。図19に示すように、まず、機械音低減部64は、上記音声スペクトルXを二乗して、当該音声スペクトルXのパワースペクトルPxを算出し、上記推定機械音スペクトルZを二乗して、当該推定機械音スペクトルZのパワースペクトルPzを算出する(ステップS95)。
【0151】
次いで、機械音低減部64は、以下の式(10)のように、上記音声スペクトルXのパワースペクトルPxを、推定機械音スペクトルZのパワースペクトルPz及び補正係数Hで除算することにより、PxとPzの比率σを算出する(ステップS96)。
σ=Px/(H・Pz) ・・・(10)
【0152】
その後、機械音低減部64は、上記S96で求めた比率σを用いて、抑圧係数gを算出する(ステップS97)。具体的には、機械音低減部64は、以下の式(11)のように、{(σ−1)/σ}又はβのうち大きい値を、抑圧係数gとする。ここで、βは、フロアリング項であり、抑圧係数gが負の値とならなるように設定される。例えば、β=0.1である。
g=max({(σ−1)/σ},β) ・・・(11)
【0153】
このように機械音低減部64は、音声スペクトルXと推定機械音スペクトルZが入力されたときに、XのパワースペクトルPxとZのパワースペクトルPzの比率σに応じて、抑圧係数gを決定する。機械音が無い又は非常に小さい場合には、σは十分に大きくなり、gは1に近づく。従って、出力音声スペクトルYのパワースペクトルは、音声スペクトルXとほぼ同様である。一方、機械音が有る場合には、σが小さくなり、gは加減値β(例えばβ=0.1)に近づく。従って、出力音声スペクトルYのパワースペクトルは、音声スペクトルXよりも小さくなる。なお、上記では式(10)、(11)のような関数形の抑圧係数gを用いたが、予め設定された抑圧係数gのルックアップテーブルから、XとZに応じてgの値を参照するようにしてもよい。
【0154】
以上、本実施形態に係る信号処理装置及び方法について説明した。本実施形態によれば、機械音推定部62は、2つのマイクロホン51、52と駆動装置との相対位置関係に基づいて、音声スペクトルXを演算して、推定機械音スペクトルZを推定する。これにより、従来のような機械音スペクトルのテンプレートを利用せずに、デジタルカメラ1による撮像及び録音中に、雑像動作に伴って発生する機械音を動的に推定できる。
【0155】
さらに、機械音補正部63は、駆動装置14の動作開始前後における音声スペクトルXの周波数特性の変化を利用して、個々の周波数成分X(k)ごとに、補正係数H(k)を適切に算出する。従って、かかる補正係数H(k)により、推定機械音スペクトルZの各周波数成分(k)を、実際にマイクロホン51、52に入力される機械音の各周波数成分に合うように補正できる。よって、補正後の推定機械音スペクトルZを用いて、音声スペクトルXから機械音成分を適切に除去することができる。
【0156】
このように本実施形態では、デジタルカメラ1による撮像及び録音動作中に動的に機械音を推定及び補正することで、個々のカメラごとに異なる機械音を正確に求めて、十分に低減することができる。また、同一のカメラにおいても、駆動装置の動作ごとに異なる機械音を正確に求めて、十分に低減することができる。
【0157】
<2.第2の実施の形態>
次に、本発明の第2の実施形態に係る音声信号処理装置及び音声信号処理方法について説明する。第2の実施形態は、上記第1の実施形態と比べて、駆動装置14の動作開始前後における外部音声(所望音)の変化に応じて、補正係数Hを算出すべきか否かを判断する点で相違する。第2の実施形態のその他の機能構成は、上記第1の実施形態と実質的に同一であるので、その詳細説明は省略する。
【0158】
[2.1.機械音補正の概念]
上述した第1の実施形態に係る音声信号処理方法では、ズームモータ15等の駆動装置14が一定時間動作した場合には常に、補正係数Hを算出していた。駆動装置14の動作停止期間と動作期間との間で、デジタルカメラ1周辺の音環境が変化していない場合には、第1の実施形態に係る方法は、好適に推定機械音スペクトルZを補正できる。
【0159】
しかし、実際の録音環境においては、図20に示すように、駆動装置14の動作前には無かった外部音声(所望音)が、駆動装置14の動作中に発生する場合がある。図20Aは、ズームモータ15の動作開始前後で外部音声が変化しない場合の音声信号xの波形を示し、図20Bは、ズームモータ15の動作開始前後で外部音声が変化する場合の音声信号xの波形を示す。図20Bに示すように、ズームモータ15の動作中に外部音声が変化した場合、動作期間中の音声信号xには、変化分の外部音声Cが含まれることとなる。
【0160】
このように駆動装置14の動作開始前後で外部音声(所望音)が変化する場合には、動作開始前後における音声スペクトルXの差分dXには、駆動装置14から生じた機械音のみならず、外部音声の変化分も含まれる。従って、第1の実施形態のように単純に差分dXを用いて補正係数Hを求める方法では、外部音声の変化の影響を考慮していないので、機械音以外の成分が補正係数Hに含まれることとなる。この結果、推定機械音スペクトルZを適切に補正できずに、機械音のみならず、所望音の変化分までも除去することとなり、音質劣化を引き起こす可能性がある。よって、かかる外部音声が変化する場合の対応に関して、第1の実施形態には改善の余地がある。
【0161】
そこで、第2の実施形態では、駆動装置14の動作開始前後における外部音声のスペクトル形状の変化に応じて、補正係数Hを更新すべきか否かを判定する機能を追加することで、上記問題を解決する。具体的には、機械音補正部63は、上記第1の実施形態の機能に加えて、駆動装置14の動作開始前後で、外部音声のスペクトルが変化しているか否かを判断して、補正係数Hを更新すべきか否かを判定する機能を有する。
【0162】
即ち、機械音補正部63は、駆動装置14が動作したときに、当該駆動装置14の動作開始前後における音声スペクトル信号X、Xの周波数特性を比較するとともに、駆動装置14の動作中における音声スペクトル信号X、Xの周波数特性を比較する。さらに、機械音補正部63は、当該2つの比較結果に基づいて、駆動装置14の動作開始前後における外部音声の変化度を判定する。そして、当該外部音声の変化度が所定の閾値より大きい場合には、機械音補正部63は、補正係数Hを更新しないと判定し、駆動装置14の前回までの動作で求めた補正係数Hを更新することなく、そのまま利用する。一方、当該外部音声の変化度が所定の閾値未満である場合には、機械音補正部63は、補正係数Hを更新すると判定し、駆動装置14の前回までの動作で求めた補正係数Hと、今回求めた補正係数Htを用いて、補正係数Hを更新する。
【0163】
上記のように外部音声の変化度に応じて補正係数Hを求めるために、第2の実施形態では、図21に示すように、機械音の特徴を3つのパターンに分類して、外部音声の変化を検出する。
【0164】
図21Aは、ズームモータ15から発生する機械音の周波数特性が主として低域(例えば0〜1kHz)にある場合、図21Bは、当該機械音の周波数特性が主として中域以上(例えば1kHz〜)にある場合、図21Cは、当該機械音の周波数特性が全周波数帯域に広がっている場合の音声スペクトルの分布を示す。図21中の実線は、ズームモータ15の動作期間中に測定された音声スペクトルXの平均値を示し、図21中の破線は、ズームモータ15の動作停止期間中に測定された音声スペクトルXの平均値を示す。
【0165】
第2の実施形態では、従来のように多数台のデジタルカメラ1の測定結果から得た機械音テンプレートを利用しないで、機械音低減を実現するが、図21に示したように、デジタルカメラ1で発生する機械音の特徴に関する事前知識(例えば、数台程度の測定で分かる機械音の周波数特性)については利用する。この場合、複数台のデジタルカメラ1で生じる機械音の音声スペクトルXを測定する必要があるが、測定台数としては、機械音テンプレートを作成するほどの台数は必要でなく、数台程度で十分である。機械音の周波数特性が主に、低域であるか、中・高域であるか、或いは全域であるかが予め分かっていれば、以下に説明するような機械音の周波数特性別の判定処理が可能となる。
【0166】
以下に、図22〜図24を参照して、上記図21A〜Cの3つのケースにおける外部音声の変化の検出方法の概要について説明する。
【0167】
(A)機械音の周波数帯域が低域である場合(図21A)
図22の上図に示すように、機械音の周波数帯域が主に低域である場合、ズームモータ15の動作中に外部音声(周囲の音環境)が変化しない限り、音声信号xの低域のスペクトル形状(機械音成分)は、モータ動作期間中はほぼ同一形状である。また、音声信号xの中域以上のスペクトル形状(所望音成分)は、モータ動作開始前後で変化しない。
【0168】
そこで、本実施形態に係る機械音補正部63は、入力された音声信号xを時間周波数成分に変換し、あるまとまった単位をブロックとして、ブロックごとに比較処理を行う。例えば図22の下図に示すように、機械音補正部63は、モータ動作中の低域スペクトル形状p1と、モータ動作開始直前の中域スペクトル形状p2と、着目するブロックCにおける現在のスペクトル形状qを比較し、p1及びp2に対するqの変化度を算出する。そして、モータ動作中の低域スペクトル形状p1と現在のスペクトル形状qの低域成分とが類似し、かつ、モータ動作前の中域スペクトル形状p2と現在のスペクトル形状qの中域成分とが類似する場合、機械音補正部63は、ズームモータ15の動作開始前と後で周囲の音環境の変化(外部音声の変化度)が小さいと判断する。もし、モータ動作期間中に、外部音声が変化したならば、p1に対するqの変化度p1、又はp2に対するqの変化度のうち少なくともいずれか一方が、大きくなるはずである。
【0169】
このように、機械音補正部63は、モータ動作期間中における2つのブロックの低域成分の比較結果と、モータ動作開始前後における2つのブロックの中域成分の比較結果から、外部音声の変化度を求める。そして、機械音補正部63は、当該変化度が小さい場合には、第1の実施形態と同様に補正係数Hを更新し、一方、当該変化度が大きい場合には、現在のブロックCで得たデータを用いて補正係数Hを更新しない。
【0170】
(B)機械音の周波数帯域が中域以上である場合(図21B)
同様に、機械音の周波数帯域が主に中域以上である場合、ズームモータ15の動作中に外部音声(周囲の音環境)が変化しない限り、音声信号xの中域以上のスペクトル形状(機械音成分)は、モータ動作期間中はほぼ同一形状である。また、音声信号xの低域のスペクトル形状(所望音成分)は、モータ動作開始前後で変化しない。
【0171】
そこで、本実施形態に係る機械音補正部63は、例えば図23に示すように、機械音補正部63は、モータ動作開始直前の低域スペクトル形状p3と、モータ動作中の中域スペクトル形状p4と、着目するブロックCにおける現在のスペクトル形状qを比較し、p3及びp4に対するqの変化度を算出する。そして、p3とqの低域成分とが類似し、かつ、p4とqの中域成分とが類似する場合、機械音補正部63は、ズームモータ15の動作開始前と後で周囲の音環境の変化(外部音声の変化度)が小さいと判断する。もし、モータ動作期間中に、外部音声が変化したならば、p3に対するqの変化度、又はp4に対するqの変化度のうち少なくともいずれか一方が、大きくなるはずである。
【0172】
このように、機械音補正部63は、モータ動作開始前後における2つのブロックの低域成分の比較結果と、モータ動作期間中における2つのブロックの中域成分の比較結果から、外部音声の変化度を求める。そして、当該変化度が小さい場合には、機械音補正部63は、外部音声の変化はないと判断して、第1の実施形態と同様に補正係数Hを更新する。一方、当該変化度が大きい場合には、機械音補正部63は、外部音声の変化があると判断して、現在のブロックCで得たデータを用いて補正係数Hを更新しない。
【0173】
(C)機械音の周波数帯域が全域に広がっている場合(図21C)
機械音の周波数帯域が低域から高域まで全域に広がっている場合、ズームモータ15の動作中に外部音声(周囲の音環境)が変化しない限り、音声信号xのスペクトル形状は、モータ動作期間中はほぼ同一形状である。
【0174】
そこで、本実施形態に係る機械音補正部63は、例えば図24に示すように、機械音補正部63は、モータ動作中の低域スペクトル形状p1と、モータ動作中の中域スペクトル形状p4と、着目するブロックCにおける現在のスペクトル形状qを比較し、p1とqの類似度及びp4とqの類似度を算出する。そして、p1とqの低域成分とが類似し、かつ、p4とqの中域成分とが類似する場合、機械音補正部63は、ズームモータ15の動作期間中における周囲の音環境の変化(外部音声の変化度)が小さいと判断する。もし、モータ動作期間中に、外部音声が変化したならば、p3とqの類似度又はp4とqの類似度の少なくともいずれか一方が、大きくなるはずである。
【0175】
このように、機械音補正部63は、モータ動作開始期間中における2つのブロックの低域成分の比較結果と、モータ動作期間中における2つのブロックの中・高域成分の比較結果から、外部音声の変化度を求める。そして、当該変化度が小さい場合には、機械音補正部63は、第1の実施形態と同様に補正係数Hを更新する。一方、当該変化度が大きい場合には、機械音補正部63は、現在のブロックCを用いて補正係数Hを更新しない。
【0176】
[2.2.機械音補正の動作]
次に、図25〜図27を参照して、第2の実施形態に係る機械音補正部63により、周囲の音環境の変化(外部音声の変化度)に応じて、補正係数Hを更新すべきか否かを判断する場合の動作例について説明する。以下では、機械音が上記図21Aに示した(A)の特徴を有する場合の処理例について説明するが、他の特徴の場合も同様に実施できる。
【0177】
図25は、第2の実施形態に係る機械音補正部63の動作タイミングを示すタイミングチャートである。なお、図25のタイミングチャートでも、上記図12と同様、時間軸上で上記フレームを基準として示してある。
【0178】
図25に示すように、第2の実施形態に係る機械音補正部63の動作タイミングは、上述した第1の実施形態の場合(図12参照。)と同様であり、基本処理、処理A、処理B)を同時並行で行う。機械音補正部63は、常に基本処理を行いながら、モータ動作停止期間中には処理Aを実行し、モータ動作期間中には処理Bを実行する。ただし、機械音補正部63は、図25における処理B2のタイミングで、上述した外部音声の変化度に応じた判断処理を行う際には、処理A2と処理B1で得た平均パワースペクトルを使用する。
【0179】
また、第2の実施形態に係る機械音補正部63の基本的な動作フローは、上記第1の実施形態と同様であり(図13参照。)、基本処理及び処理Aの動作フローも、上記第1の実施形態と同様であり(図14、図15参照。)。ただし、第2の実施形態では、処理Bの具体的処理内容が第1の実施形態と相違する。
【0180】
次に、図26及び図27を参照して、第2の実施形態に係るズームモータ15の動作中(ズーム音の発生時)に行われる処理Bについて詳述する。図26は、図13中の処理Bのサブルーチンを示すフローチャートである。
【0181】
図26に示すように、機械音補正部63は、ズームモータ15の動作中における音声スペクトルXのパワースペクトルPxの平均値Px_aを算出し(ステップS81)、ズームモータ15の動作開始前後におけるXの差分dPxを算出する(ステップS82)。さらに、機械音補正部63は、ズームモータ15の動作中における推定機械音スペクトルZのパワースペクトルPzの平均値Pz_aを算出し(ステップS83)、dPxとPz_aを用いて補正係数Htを算出する(ステップS84)。
【0182】
以上のステップS81〜S84は、第1の実施形態と同様である。以下のステップS200〜S208が第2の実施形態の特徴的な処理である。
【0183】
次いで、機械音補正部63は、1つ前のブロックにおけるパワースペクトルPxの平均値Px_a(以下、前回の平均パワースペクトルPx_pという。)を記憶部631から読み出して、取得する(ステップS200)。さらに、機械音補正部63は、ズームモータ15の動作開始直前のパワースペクトルPxの平均値Px_b(以下、動作直前の平均パワースペクトルPx_bという。)を記憶部631から読み出して、取得する(ステップS202)。図25に示したように、処理B2では、処理B1で求めたPx_aであるPx_pと、モータ動作開始直前の処理A2で求めたPx_bを利用する。
【0184】
次いで、周波数成分ごとに、S81で求めたPx_aと、S200及びS202で得たPx_p及びPx_bとを比較して、S当該比較結果に基づき、Px_p及びPx_bに対するPx_aの変化度d(外部音声の変化度)を算出する(ステップS204)。
【0185】
ここで、図27を参照して、S204の変化度dの算出処理について具体的に説明する。図27は、図26中の変化度dの算出処理S204のサブルーチンを示すフローチャートである。
【0186】
図27に示すように、まず、機械音補正部63は、S200で得た前回の平均パワースペクトルPx_pから、低周波数成分L−Lを選択する(ステップS2040)。上述したように、本実施形態では、音声スペクトルXや推定機械音スペクトルZを周波数成分ごとにL個のブロックに分割して処理している。本ステップS2040では、機械音補正部63は、前回の平均パワースペクトルPx_pを分割したL個のブロックの中から、低周波数帯域(例えば1kHz未満)に含まれるLからL番目までのブロックを抽出する。
【0187】
同様に、機械音補正部63は、S202で得た動作直前の平均パワースペクトルPx_bから、中・高周波数成分H−Hを選択する(ステップS2042)。本ステップS2042では、機械音補正部63は、動作直前の平均パワースペクトルPx_bを分割したL個のブロックの中から、中・高周波数帯域(例えば1kHz以上)に含まれるHからH番目までのブロックを抽出する。
【0188】
その後、機械音補正部63は、以下の式(12)のように、上記Px_pの低周波数成分L−LとPx_bの中・高周波数成分H−Hを演算することにより、Px_p及びPx_bに対するPx_aの変化度d(外部音声の変化度)を求める(ステップS2044)。この変化度dは、モータ動作中における外部音声の変化度を表す。
【0189】
【数1】

【0190】
図26に戻り、上記S204の後に、機械音補正部63は、予め設定された変化度dの閾値dthを記憶部631から読み出し(ステップS208)、S204で求めた変化度dが、閾値dth未満であるか否かを判定する(ステップS210)。
【0191】
この結果、d<dthである場合には、モータ動作期間中において外部音声の変化があまり無いと考えることができる。そこで、この場合には、機械音補正部63は、第1の実施形態と同様に、S84で処理対象のブロックから求めた現在の補正係数Htを用いて、補正係数Hを更新し(ステップS85)、Hpとして記憶部631に記憶し(ステップS86)、記憶部631に記憶されている積算値sum_Px及び積算値sum_Pzをゼロにリセットする(ステップS87)。
【0192】
一方、d≧dthである場合には、モータ動作期間中において外部音声の変化があると考えることができる。そこで、この場合には、機械音補正部63は、S84で処理対象のブロックから求めた現在の補正係数Htを用いて、補正係数Hを更新することなく、S87の処理を行う。これにより、モータ動作中に外部音声のスペクトルが変化した場合に、そのブロックのPx_aは、異常値として、補正係数Hの計算から除外することができる。
【0193】
その後、機械音補正部63は、記憶部631に記憶されている過去の平均スペクトルx_pを、S81で求めた平均パワースペクトルPx_aに更新する。これにより、ズームモータ15の動作中は常に、最新の平均パワースペクトルPx_aが、記憶部631に記憶されることとなる。
【0194】
以上、第2の実施形態に係る機械音補正部63の動作フローについて説明した。本実施形態によれば、上記第1の実施形態の効果に加えて、さらに次の効果がある。
【0195】
即ち、本実施形態では、機械音補正部63は、モータ動作期間中における音声スペクトルXの低周波数成分の比較結果と、モータ動作開始前後における中・高周波数成分の比較結果から、モータ動作中における外部音声の変化度を求める。そして、機械音補正部63は、この外部音声の変化度に応じて、現在の処理ブロックの平均パワースペクトルPx_aを用いて補正係数Hを更新するか否かを判断し、当該変化度が小さい場合にのみ、補正係数Hを更新する。
【0196】
これにより、外部音声の変化の影響を排除して、補正係数Hを適切に設定できるので、機械音以外の成分が補正係数Hに含まれることを防止できる。よって、モータ動作開始前後において外部音声が変化する場合においても、推定機械音スペクトルZを適切に補正して、所望音の変化分を除去せずに機械音のみを除去することができ、録音音声の音質劣化を引き起こすことを防止できる。
【0197】
<3.第3の実施の形態>
次に、本発明の第3の実施形態に係る音声信号処理装置及び音声信号処理方法について説明する。第3の実施形態は、上記第2の実施形態と比べて、周辺の音環境に応じて、補正係数の平滑化係数rを動的に制御する点で相違する。第3の実施形態のその他の機能構成は、上記第2の実施形態と実質的に同一であるので、その詳細説明は省略する。
【0198】
[3.1.機械音補正の概念]
上記第2の実施形態で述べたように、補正するべき機械音の特性は、周辺の環境音(所望音)のスペクトルの形状に依存して変化する。このため、収音された外部音声に対する機械音の低減量も、所望音のスペクトルの形状に応じて変化する。
【0199】
図28は、機械音の低減量を模式的に示す説明図である。図28に示すように、実際の機械音スペクトルZrealと所望音のスペクトルWの和が、マイクロホン51、52により収音される音声スペクトルXとなる。従って、実際の機械音スペクトルZrealが同一であったとしても、所望音のスペクトルWが異なれば、機械音の低減量は異なる。例えば、図28Aに示すように、所望音のスペクトルW1が相対的に小さい場合には、音声スペクトルX1から低減すべき機械音の低減量が大きくなる。一方、図28Bに示すように、所望音のスペクトルW2が相対的に大きい場合には、音声スペクトルX2から低減すべき機械音の低減量が大きくなる。
【0200】
従って、現在収音される所望音の音量が小さい場合には、現在の音声スペクトルXによる補正係数Hの更新量を大きくして、過去の音声スペクトルXよりも現在の音声スペクトルXが補正係数Hに及ぼす影響度を高めることが好ましい。一方、現在収音される所望音の音量が大きい場合には、現在の音声スペクトルXによる補正係数Hの更新量を小さくして、現在の音声スペクトルXによる影響度を低めることが好ましい。
【0201】
そこで、第3の実施形態では、周囲の音環境(所望音の音量)に応じて、現在の音声スペクトルXによる補正係数Hの更新量を制御することで、常に一定の機械音低減を実現する。具体的には、機械音補正部63は、マイクロホン51、52から入力された音声信号xのレベルに基づいて、補正係数Hを算出する際の平滑化係数r_smを制御する。この平滑化係数r_smは、現在の音声スペクトルXにより定まる補正係数Htと、過去の音声スペクトルXにより定まる補正係数Hpとを平滑化するために用いられる係数である(図31のS385参照。)。この平滑化係数r_smを制御することで、現在の音声スペクトルXによる補正係数Hの更新量を制御できる。
【0202】
なお、以下では、駆動装置14の動作開始前の動作停止期間における音声信号xのレベル(例えば、モータ動作停止中の入力音声の音量)に基づいて、補正係数Hの更新量を制御する例について説明する。これにより、所望音の音量を好適に検出できるが、かかる例に限定されず、駆動装置14の動作期間中の音声信号xに基づいて、補正係数Hの更新量を制御することも可能である。また、図2では図示しないが、マイクロホン51、52から機械音補正部63、63に音声信号x、xが入力されているものとする。
【0203】
[3.2.機械音補正の動作]
次に、図29〜図32を参照して、第3の実施形態に係る機械音補正部63により、ズームレンズ15の動作停止期間(機械音が発生していないとき)の音量に応じて、補正係数Hの更新量を制御する場合の動作例について説明する。
【0204】
第3の実施形態に係る機械音補正部63の動作タイミングは、上述した第1の実施形態に係る機械音補正部63の動作タイミング(図12参照。)と実質的に同一である。機械音補正部63は、常に基本処理を行いながら、モータ動作停止期間中には処理Aを実行し、モータ動作期間中には処理Bを実行する。
【0205】
また、第3の実施形態に係る機械音補正部63の基本的な動作フローは、上記第1の実施形態と同様である(図13参照。)。ただし、第3の実施形態では、基本処理、処理A及び処理Bの具体的処理内容が第1の実施形態と相違する。そこで、以下では、第3の実施形態に係る基本処理、処理A及び処理Bの動作フローについて説明する。
【0206】
まず、図29を参照して、第3の実施形態に係る基本処理について詳述する。図29は、図13中の基本処理のサブルーチンを示すフローチャートである。機械音補正部63は、音声信号xの1フレームを周波数変換した1ブロックごとに以下の基本処理を行う。
【0207】
図29に示すように、機械音補正部63は、周波数変換部61から音声スペクトルXを受け取るとともに(ステップS42)、機械音推定部62から推定機械音スペクトルZを受け取る(ステップS44)。次いで、機械音補正部63は、音声スペクトルXのパワースペクトルPxを算出し、推定機械音スペクトルZのパワースペクトルPzを算出する(ステップS46)。
【0208】
以上のステップS41〜S46は、第1の実施形態と同様である。以下のステップS347〜S348が第3の実施形態の特徴的な処理である。
【0209】
次いで、機械音補正部63は、マイクロホン51、52から入力される現在の音声信号x(n)の信号レベルの二乗平均を算出して、その単位をデシベルに変換することで、モータ動作停止期間における入力音声の音量E[dB]を求める(ステップS347)。この入力音声の音量Eの算出式は、例えば、以下の式(13)で表される。当該入力音声の音量Eは、マイクロホン51、52から入力される外部音声の音量を表す。なお、Nは、音声信号xをフレームに分割したときのフレームサイズ(1フレームに含まれる音声信号のサンプル数)である。
【0210】
【数2】

【0211】
さらに、機械音補正部63は、記憶部631に記憶されているパワースペクトルPxの積算値sum_Px、パワースペクトルPzの積算値sum_Pzに、S46で求めたパワースペクトルPx、Pzをそれぞれ加算する(ステップS348)。また、機械音補正部63は、記憶部631に記憶されている入力音声の平均音量Eの積算値sum_Eに、S347で求めた入力音声の音量Eを加算する(ステップS348)。
【0212】
以上のようにして、基本処理では、音声信号xのN1フレームごとに、音声スペクトルXのパワースペクトルPxの積算値sum_Px、推定機械音スペクトルZのパワースペクトルPzの積算値sum_Pz、及び入力音声の音量Eの積算値sum_Eを算出する。
【0213】
次に、図30を参照して、第3の実施形態に係るズームモータ15の動作停止中(ズーム音の非発生時)に行われる処理Aについて詳述する。図30は、図13中の処理Aのサブルーチンを示すフローチャートである。
【0214】
図30に示すように、まず、機械音補正部63は、ズームモータ15の動作停止中におけるPxの平均値Px_bを算出する(ステップS72)。このS72は、第1の実施形態と同様である。以下のステップS374〜S378が第3の実施形態の特徴的な処理である。
【0215】
次いで、機械音補正部63は、上記入力音声の音量Eの積算値sum_Eをフレーム数N1で除算することにより、ズームモータ15の動作停止中における入力音声の音量Eの積算値sum_Eの平均値Ea(以下、入力音声の平均音量Eaという)を算出する(ステップS374)。
【0216】
さらに、機械音補正部63は、上記S374で算出した入力音声の平均音量Eaに基づいて、所定の関数F(Ea)により平滑化係数r_smを算出して、記憶部631に記憶する(ステップS376)。この平滑化係数r_smは、後述する図31のS385で、補正係数Hを更新するために用いられる重み付け係数であり、r_smの値が大きいほど、現在の音声スペクトルXから求めた補正係数Htによる補正係数Hの更新量が大きくなる。
【0217】
図32は、本実施形態に係る入力音声の平均音量Eaと平滑化係数r_smの関係を例示する説明図である。上記S376では、例えば図32に示すように、モータ動作停止期間における入力音声の平均音量Eaが大きくなるにつれて、平滑化係数r_smが小さくなるような関数F(Ea)により、平滑化係数r_smが決定される(0<r_sm<1)。この結果、入力音声の平均音量Eaが大きいほど、平滑化係数r_smがゼロに近い値に設定され、逆に、入力音声の平均音量Eaが小さいほど、平滑化係数r_smが上限値(例えば0.15)に近い値に設定される。
【0218】
その後、機械音補正部63は、記憶部631に記憶されている積算値sum_Px、積算値sum_Pz及び入力音声の音量Eの積算値sum_Eをゼロにリセットする(ステップS378)。
【0219】
以上の処理Aにより、ズームモータ15の動作停止中は常に、音声信号xのN1個のフレームごとに、音声スペクトルXのパワースペクトルPxの平均値Px_bが算出され、記憶部631に記憶されるPx_bが、最新のN1個のフレームの平均値Px_bに更新されることとなる。また、音声信号xのN1個のフレームごとに、モータ動作停止中における入力音声の平均音量Eaと、平滑化係数r_smが算出され、記憶部631に記憶されるEaと平滑化係数r_smが、最新のN1個のフレームに対応する平均値Eaと平滑化係数r_smに更新されることとなる。
【0220】
次に、図31を参照して、第3の実施形態に係るズームモータ15の動作中(ズーム音の発生時)に行われる処理Bについて詳述する。図31は、図13中の処理Bのサブルーチンを示すフローチャートである。
【0221】
図31に示すように、機械音補正部63は、ズームモータ15の動作中における音声スペクトルXのパワースペクトルPxの平均値Px_aを算出し(ステップS81)、ズームモータ15の動作開始前後におけるXの差分dpXを算出する(ステップS82)。さらに、機械音補正部63は、ズームモータ15の動作中における推定機械音スペクトルZのパワースペクトルPzの平均値Pz_aを算出し(ステップS83)、補正係数Htを算出する(ステップS84)。
【0222】
以上のステップS81〜S84は、第1の実施形態と同様である。以下のステップS385〜S387が第3の実施形態の特徴的な処理である。
【0223】
次いで、機械音補正部63は、上記S84で求めた現在の補正係数Htと、過去に求めた補正係数Hpを用いて、補正係数Hを算出する(ステップS385)。具体的には、機械音補正部63は、記憶部631に記憶されている過去の補正係数Hpと、平滑化係数r_smを読み出す。当該平滑化係数r_smは、上記S376により、モータ動作開始直前の入力音声の平均音量Eaから求めた最新の値である。そして、機械音補正部63は、以下の式(14)のように、平滑化係数r_sm(0<r<1)を用いてHpとHtを平滑化することにより、補正係数Hを算出する。このように、r_smを用いて現在の補正係数Htと過去の補正係数Hpを平滑化することで、個々のズーム動作における音声スペクトルXの異常値の影響を抑制できるので、信頼性の高い補正係数Hを算出できる。
H=(1−r_sm)・Hp+r_sm・Ht ・・・(14)
【0224】
その後、機械音補正部63は、S385で求めた補正係数Hを、Hpとして記憶部631に記憶する(ステップS386)。さらに、記憶部631に記憶されている積算値sum_Px、積算値sum_Pz及び積算値sum_Eをゼロにリセットする(ステップS387)。
【0225】
以上の処理Bにより、ズームモータ15の動作中は常に、音声信号xのN2個のフレームごとに、モータ動作前後における音声スペクトルXの差分dPxと、モータ動作中の推定機械音スペクトルZの平均値Pz_aが算出される。そして、当該dPxとPz_aから、最新のN2個のフレームに対応する補正係数Hが算出され、記憶部631に記憶されるHpが当該最新の補正係数Hに更新される。
【0226】
このときの補正係数Hの更新量は、モータ動作開始直前の入力音声の平均音量Eaに応じて、適切に制御される。即ち、当該入力音声の平均音量Ea(所望音の音量)が大きいときは、周囲の所望音中に機械音が埋もれているので、モータ動作中の現在の補正係数Htによる補正係数Hの更新量は小さくすることが好ましい。この理由は、周囲の平均音量によらず一定の機械音低減量を実現するためである。また、上記のように所望音中に機械音が埋もれているときには、機械音を適切に抽出することができず、却って所望音を劣化させてしまうという悪影響があるからである。
【0227】
そこで、本実施形態では、入力音声の平均音量Eaが大きいときは、Eaに応じて平滑化係数r_smを小さな値に設定して、現在の補正係数Htによる補正係数Hの更新量を抑える。これにより、機械音の過剰推定や過小推定による音質劣化を回避できる。一方、入力音声の平均音量Eaが小さいときは、機械音が目立つので、Eaに応じて平滑化係数r_smを大きな値に設定して、現在の補正係数Htによる補正係数Hの更新量を大きくする。これにより、現在のモータ動作中の補正係数Htを補正係数Hに大きく反映させて、機械音を適切に推定及び除去して、所望音を抽出できる。
【0228】
<4.第4の実施の形態>
次に、本発明の第4の実施形態に係る音声信号処理装置及び音声信号処理方法について説明する。第4の実施形態は、上記第1の実施形態と比べて、音源環境の特徴量Pに応じて、機械音低減処理に用いる機械音スペクトルを選択する点で相違する。第4の実施形態のその他の機能構成は、上記第2の実施形態と実質的に同一であるので、その詳細説明は省略する。
【0229】
[4.1.機械音低減方法の概要]
次に、本発明の第4の実施形態に係る音声信号処理装置及び方法による機械音低減方法の概要について説明する。
【0230】
上述した第1〜3の実施形態では、機械音スペクトルのテンプレートを利用せずとも、機械音推定部62により実際の音声スペクトルXから推定機械音スペクトルZを推定して、機械音の低減を実現している。しかしながら、第1〜第3の実施形態による機械音低減方法には、次の点で更なる改善の余地がある。
【0231】
例えば、外部音声を録音するデジタルカメラ1の周囲に多数の音源がある場所(例えば、賑やかな雑踏など)では、当該多数の音源で発生した所望音が多方向からマイクロホン51、52に到来する。このため、駆動装置14の方向からマイクロホン51、52到来する機械音に所望音が混入するので、上記機械音推定部62により得られる推定機械音スペクトルZに、除去対象である機械音だけでなく、周囲の音(所望音)がかなり含まれることとなる。その結果、機械音推定部62による機械音の過剰推定が起こるため、上記機械音低減処理によって、機械音を低減すると同時に、所望音をも過剰に抑圧してしまい、所望の音質を大きく劣化させてしまう恐れがある。
【0232】
このように、上記第1〜3の実施形態において入力音声から動的に機械音を動的に推定する方法では、機械音の過剰推定が起こると、録音される所望音が著しく劣化してしまうという問題がある。
【0233】
そこで、以下の第4の実施形態では、上記過剰推定を防止するために、カメラ周囲の音環境(音源環境)に応じて、機械音発声時に動的に推定される推定機械音スペクトルZと、機械音発生前に予め得られた平均機械音スペクトルTzとを使い分ける。即ち、上記賑やかな雑踏のような多数の音源がある場所では、平均機械音スペクトルTzを使用することで、機械音の過剰推定を防止する一方、その他の場所では、上記推定機械音スペクトルZを使用することで、機械音を正確に低減する。
【0234】
ここで、平均機械音スペクトルTzは、過去の機械音の実績から得られた平均的な機械音スペクトル信号である。この平均機械音スペクトルTzの算出方法としては、次の方法がある。例えば、デジタルカメラ1に設けられた音声信号処理装置が自ら、過去の機械音スペクトルの推定実績に基づいて、機械音スペクトルの特徴を学習することにより、平均機械音スペクトルTzを生成してもよい。或いは、複数台のデジタルカメラ1の駆動装置14で発生する実際の機械音スペクトルZrealを測定し、当該測定結果に基づいて、機種ごとの平均機械音スペクトルTzのテンプレートを事前に求めておき、個々の装置において当該テンプレートを利用するようにしてもよい。
【0235】
前者のTz算出方法についてより詳細に説明する。音声信号処理装置は、外部音声の録音中に、上記機械音補正部63により、マイクロホン51、52により得られた音声スペクトルXに基づいて、平均機械音スペクトルTzを自ら学習する。機械音補正部63は、上述した推定機械音スペクトルZの補正処理を行うと同時に、平均機械音スペクトルTzも算出する。そして、後述する機械音選択部を更に設け、当該機械音選択部により、音源環境に応じて、推定機械音スペクトルZ、又は学習した平均機械音スペクトルTzのいずれかを選択する。
【0236】
なお、音源環境とは、音源の数のことを示す。例えば、マイクロホン51、52に対する入力音量、マイクロホン51、52間の音声相関、又は、推定機械音スペクトルZなどを用いて、上記音源の数を推定可能である。
【0237】
ところで、上記のように録音中に平均機械音スペクトルTzのテンプレートを学習するのであれば、当該テンプレートをそのまま利用して、機械音を低減すればよいとの考えもある。しかしながら、実際の機械音は、駆動装置14の動作の度に音質が変化し、また、1回の動作中でも変化する。このため、固定的な機械音テンプレートでは当該これら変化に追従することができない。従って、機械音の変化に追従して機械音の低減性能を向上するためには、上記第1の実施形態1〜3のように2つのマイクロホン51、52の入力音声信号x、xから機械音を動的に推定することが好ましい。
【0238】
一方で、上記のように周囲が非常に賑やかな音源環境である場合、そもそも機械音は所望音に埋もれて聞こえにくくなり、機械音がユーザにとって不快ではなくなる。従って、機械音を大きく抑圧するよりは、所望音の劣化をなるべく引き起こさないように、機械音を低減することが望ましい。つまり、機械音を動的に推定して過剰推定してしまうよりも、実際の機械音に対して多少の誤差はあっても、所望音の劣化を確実に防ぐ方が好ましい。そこで、所望音成分を含まず機械音成分だけが含まれているスペクトルを利用して、機械音の低減処理を行うことが望ましい。よって、当該音源環境下では、機械音成分だけを含む平均機械音スペクトルTzのテンプレートを使用することが適切である。
【0239】
また、当該Tzのテンプレートとしては、多数台のデジタルカメラ1の機械音を測定して得られる平均的な機械音テンプレートを利用可能であるが、上記理由により、必ずしも、個々のデジタルカメラ1毎に最適なものでなくてもよい。多数台の平均的な機械音テンプレートを得るためには、個々のカメラでの調整コストが大きくなる。そこで、個々のデジタルカメラ1内で、推定機械音スペクトルZを補正しながら、平均機械音スペクトルTzのテンプレートも同時学習することで、その調整コストを低減できる。
【0240】
以上のように、第4〜第6の実施形態では、音源環境に応じて、推定機械音スペクトルZ又は平均機械音スペクトルTzのテンプレートのいずれかを選択して、機械音低減に利用することで、機械音の過剰推定を抑制する。
【0241】
これにより、音源環境に応じた適応的な機械音スペクトルを実現できるので、推定機械音スペクトルZによる機械音の低減効果を確保したまま、所望音の音質劣化も抑制できる。また、所望音の劣化を低減するための平均機械音スペクトルTzのテンプレートを事前でなく、録音中に作成するため、その調整コストを低減できる。
【0242】
[4.2.音声信号処理装置の機能構成]
次に、図33を参照して、第4の実施形態に係るデジタルカメラ1に適用された音声信号処理装置の機能構成例について説明する。図33は、本実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【0243】
図33に示すように、第4の実施形態に係る音声信号処理装置は、2つのマイクロホン51、52と、音声処理部60を備える。音声処理部60は、2つの周波数変換部61L、61Rと、機械音推定部62と、2つの機械音補正部63L、63Rと、2つの機械音低減部64L、64Rと、2つの時間変換部65L、65Rと、2つの機械音選択部66L、66Rとを備える。このように第4の実施形態に係る音声信号処理装置は、上記第1の実施形態と比べて、機械音選択部66L、66Rが追加されている。
【0244】
機械音補正部63L、63R(以下、機械音補正部63と総称する。)は、上記第1の実施形態と同様に、推定機械音スペクトルZを補正するための補正係数Hを算出する機能を有する。さらに、機械音補正部63は、録音動作中(動作撮像中)に、機械音の平均的なスペクトルを学習して、平均機械音スペクトル信号Tzを生成する機能も有する。このように、機械音補正部63は、推定機械音スペクトルZに対する補正係数Hを算出するとともに、平均機械音スペクトル信号Tzを算出する。
【0245】
機械音補正部63Lは、Lch用の音声スペクトル信号Xの周波数成分X(k)ごとに、音声スペクトル信号Xに基づいて、lch用の平均機械音スペクトル信号Tzを生成して記憶する。Rch用の機械音補正部63Rは、音声スペクトル信号Xの周波数成分X(k)ごとに、音声スペクトル信号Xに基づいて、Rch用の平均機械音スペクトル信号Tzを生成して記憶する。かかる機械音補正部63による平均機械音スペクトル信号Tz(以下、平均機械音スペクトルTzという)の生成処理の詳細は後述する。
【0246】
機械音選択部66L、66R(以下、機械音選択部66と総称する。)は、デジタルカメラ1の周囲の音源環境に応じて、上記推定機械音スペクトルZ又は平均機械音スペクトルTzのいずれか一方を選択する。具体的には、機械音選択部66は、入力された音声スペクトルX、X(モノラル信号)に基づいて、音源環境を推定するための特徴量Pを算出する。そして、機械音選択部66は、当該音源環境の特徴量Pに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTzのうちから、機械音低減に利用する機械音スペクトルを選択する。例えば、Lch用の機械音選択部66Lは、音声スペクトルXから求めた特徴量Pに基づいて、Lch用の機械音低減に利用する機械音スペクトルを選択する。同様に、rch用の機械音選択部66Rは、音声スペクトルXから求めた特徴量Pに基づいて、Rch用の機械音低減に利用する機械音スペクトルを選択する。
【0247】
機械音低減部64は、音声スペクトルX、Xから、上記機械音選択部66により選択された機械音スペクトルを低減する。機械音選択部66Lにより推定機械音スペクトルZが選択された場合、Lch用の機械音低減部64Lは、当該推定機械音スペクトルZと補正係数Hを用いて音声スペクトルXから機械音成分を低減する。平均機械音スペクトルTzが選択された場合、機械音低減部64Lは、当該平均機械音スペクトルTzを用いて音声スペクトルXから機械音成分を低減する。Rch用の機械音低減部64Rも同様である。
【0248】
[4.3.機械音補正部の詳細]
次に、本実施形態に係る機械音補正部63の構成及び動作について説明する。
【0249】
[4.3.1.機械音補正部の構成]
本実施形態に係る機械音補正部63は、上記第1の実施形態に係る機械音補正部63と同様に記憶部631と、演算部632を備える(図7参照。)。
【0250】
記憶部631は、音声スペクトルXの周波数成分X(k)ごとに、上記補正係数Hと、平均機械音スペクトルTzを記憶する。また、記憶部631は、演算部632により補正係数H及び平均機械音スペクトルTzを算出するための計算用バッファとしても機能する。
【0251】
演算部632は、上記補正係数Hを算出するとともに、平均機械音スペクトルTzを算出し、機械音低減部64に出力する。演算部632は、駆動装置14が動作したときに、音声スペクトルXの周波数成分X(k)ごとに、駆動装置14の動作開始前後におけるXの周波数特性の差分dXに基づいて、上記補正係数Hを算出する。さらに、演算部632は、音声スペクトルXの周波数成分X(k)ごとに、上記差分dXを平均機械音スペクトルTzとして求める。
【0252】
[4.3.2.機械音補正の基本動作]
次に、図34を参照して、本実施形態に係る機械音補正部63の基本動作について説明する。図34は、本実施形態に係る機械音補正部63の基本動作を示すフローチャートである。
【0253】
図34に示す第4の実施形態の動作フローは、図11に示した第1の実施形態と比べて、ステップS25の後にステップS29が追加されている点で相違し、その他のステップS20〜S28は実質的に同一である。以下では、第4の実施形態に係る機械音補正部63の特徴であるS29を中心に説明する。
【0254】
図34に示すように、機械音補正部63は、上述したS20〜S24の処理を行った後に、上記S23で算出されたモータ動作中の音声スペクトルXaと、上記S24で算出されたモータ動作停止時の音声スペクトルXbとの差分dXを算出する(ステップS25)。
【0255】
次いで、機械音補正部63は、S25で算出した差分dXを、平均機械音スペクトルTzとして記憶部631に記憶する(ステップS29)。図10を用いて説明したように、モータの動作開始前後における音声スペクトルXaとXbの差分dXは、機械音の周波数特性(実際の機械音スペクトルZreal)に対応している。従って、当該差分dXを平均機械音スペクトルTzとして推定できる。
【0256】
その後、機械音補正部63は、上述したように、平均推定機械音スペクトルZaを算出し(ステップS26)、dXとZaから補正係数Hを算出し(ステップS27)、補正係数Hと平均機械音スペクトルTzを機械音低減部64に出力する(ステップS28)。
【0257】
以上、本実施形態に係る機械音補正部63による補正係数Hと平均機械音スペクトルTzの算出処理について説明した。なお、実際には、音声信号x、xを周波数変換して音声スペクトル信号X、Xを得ているので、音声スペクトル信号X、Xの各周波数成分X(k)、X(k)ごとに、補正係数H(k)、H(k)及び差分dX(k)、dX(k)(平均機械音スペクトルTz(k)に相当する。)を計算する必要がある。しかし、上記では説明の便宜上、推定機械音スペクトルZの1つの周波数成分Z(k)の補正係数H(k)とdX(k)のみを算出するためのフローチャートを用いて説明した。以下の図35等のフローチャートも同様である。
【0258】
[4.3.3.機械音補正の詳細動作]
次に、第4の実施形態に係る機械音補正部63の詳細動作について説明する。以下では、音声信号のパワースペクトル領域において、推定機械音の補正及び平均機械音スペクトルTzの算出を行う例を示す。
【0259】
第4の実施形態に係る機械音補正部63の動作タイミングは、図12に示した第1の実施形態に係る機械音補正部63の動作タイミングと同様であり、基本処理、処理A、処理B)を同時並行で行う。図12に示したように、機械音補正部63は、常に基本処理を行いながら、モータ動作停止期間中には処理Aを実行し、モータ動作期間中には処理Bを実行する。
【0260】
また、第4の実施形態に係る機械音補正部63の基本的な動作フローは、上記第1の実施形態と同様であり(図13参照。)、基本処理及び処理Aの動作フローも、上記第1の実施形態と同様であり(図14、図15参照。)。ただし、第4の実施形態では、処理Bの具体的処理内容が第1の実施形態と相違する。
【0261】
次に、図35を参照して、第2の実施形態に係るズームモータ15の動作中(ズーム音の発生時)に行われる処理Bについて詳述する。図35は、第4の実施形態に係る図13中の処理Bのサブルーチンを示すフローチャートである。
【0262】
図35に示すように、機械音補正部63は、ズームモータ15の動作中における音声スペクトルXのパワースペクトルPxの平均値Px_aを算出し(ステップS81)、ズームモータ15の動作開始前後におけるXの差分dPxを算出する(ステップS82)。以上のステップS81〜S82は、第1の実施形態と同様である。以下のステップS88〜S89が第4の実施形態の特徴的な処理である。
【0263】
次いで、機械音補正部63は、上記S82で求めた差分dPx(現在の平均機械音スペクトルTzに相当する。)と、過去に求めた平均機械音スペクトルTprevを用いて、平均機械音スペクトルTzを更新する(ステップS88)。具体的には、機械音補正部63は、記憶部631に記憶されている過去の平均機械音スペクトルTprevを読み出す。そして、機械音補正部63は、以下の式(15)のように、平滑化係数r(0<r<1)を用いてTprevとdPxを平滑化することにより、平均機械音スペクトルTzを算出する。このように、現在の平均機械音スペクトル(差分dPx)と過去の平均機械音スペクトルTprevを平滑化することで、個々のズーム動作における音声スペクトルXの異常値の影響を抑制できるので、信頼性の高い平均機械音スペクトルTzのテンプレートを算出できる。
Tz=r・Tprev+(1−r)・dPx ・・・(15)
【0264】
その後、機械音補正部63は、S88で求めた平均機械音スペクトルTzを、Tprezとして記憶部631に記憶する(ステップS89)。
【0265】
次いで、機械音補正部63は、ズームモータ15の動作中における推定機械音スペクトルZのパワースペクトルPzの平均値Pz_aを算出し(ステップS83)、dPxとPz_aを用いて補正係数Htを算出する(ステップS84)。さらに、機械音補正部63は、S84で求めた現在の補正係数Htと過去の補正係数Hpを用いて、補正係数Hを更新し(ステップS85)、HをHpとして記憶部631に記憶する(ステップS86)。そして、機械音補正部63は、記憶部631に記憶されている積算値sum_Px及び積算値sum_Pzをゼロにリセットする(ステップS87)。以上のステップS83〜S87は、第1の実施形態と同様である
【0266】
以上、第4の実施形態に係る機械音補正部63の動作フローについて説明した。機械音補正部63は、ズームモータ15が動作する度に、モータ動作開始前後における音声スペクトルXの差分dPxを用いて補正係数Hを更新するとともに、当該差分dPxを用いて平均機械音スペクトルTzを更新して保持する。これにより、後述する機械音選択部66は、今回のモータ動作時に発生した機械音に対応する最新の平均機械音スペクトルTz又は推定機械音スペクトルZのいずれかを選択できるようになる。
【0267】
[4.4.機械音選択部の詳細]
次に、本実施形態に係る機械音選択部66の構成及び動作について説明する。
【0268】
[4.4.1.機械音選択の概念]
まず、図36を参照して、本実施形態に係る機械音選択部66の構成について説明する。図36は、本実施形態に係る機械音選択部66の構成を示すブロック図である。なお、以下では、Lch用の機械音選択部66Lの構成について説明するが、Rch用の機械音選択部66Rの構成も実質的に同一であるので、その詳細説明は省略する。
【0269】
図36に示すように、機械音選択部66Lは、記憶部661と、演算部662と、選択部663を備える。演算部662には、上記Lch用の周波数変換部61Lから音声スペクトル信号Xが入力され、制御部70から駆動制御情(例えばモータ制御情報)が入力される。また、選択部663には、上記機械音補正部63Lから推定機械音スペクトル信号Zと補正係数Hと平均機械音スペクトルTzが入力される。
【0270】
記憶部661は、音源環境の特徴量Pの閾値(後述するEth)を記憶する。また、記憶部661は、演算部662及び選択部663が特徴量P等を算出するための計算用バッファとしても機能する。
【0271】
演算部662は、音声スペクトル信号Xに基づいて、音源環境の特徴量Pを算出する。例えば、演算部662は、音声スペクトル信号Xのレベルから、入力音声の平均パワースペクトルEa[dB]を、音源環境の特徴量Pとして算出する。
【0272】
選択部663は、音源環境の特徴量Pの閾値Ethを記憶部661から読み出し、演算部662により演算された特徴量P(例えば入力音声の平均パワースペクトルEa)と閾値Ethを比較し、この比較結果に基づいて、機械音スペクトルを選択する。例えば、EaがEth未満である場合には、選択部663は推定機械音スペクトルZを選択し、EaがEth以上である場合には、選択部663は平均機械音スペクトルTzを選択する。選択部663により算出された機械音スペクトルZ又はTzは、上記機械音低減部64Lに出力される。
【0273】
[4.4.2.機械音選択の基本動作]
次に、図37を参照して、本実施形態に係る機械音選択部66Lの動作について説明する。図37は、本実施形態に係る機械音選択部66Lの動作を示すフローチャートである。
【0274】
なお、実際には、音声信号x、xを周波数変換して音声スペクトル信号X、Xを得る。本実施形態では、音声スペクトル信号を得るフレーム毎に、機械音スペクトルを選択する。つまり、あるフレームでは、平均機械音スペクトルTz、Tzを、別のフレームでは、機械音推定部から得られる推定機械音スペクトルZを用いる。音声スペクトル信号は、音声スペクトル信号X、Xの各周波数成分X(k)、X(k)を有するが、以下では、説明の便宜上すべての周波数成分X(k)、X(k)をまとめてX、Xと記述し、機械音スペクトルを選択するフローチャートを用いて説明した。また、以下では、Lch用の機械音選択部66Lの動作フローを説明するが、Rch用の機械音選択部66Rの動作フローも同様である。
【0275】
図37に示すように、まず、機械音選択部66Lは、周波数変換部61Lから音声スペクトルX(モノラル信号)を受け取る(ステップS100)。次いで、機械音選択部66Lは、音源環境の特徴量Pとして、例えば音声スペクトルXの平均パワースペクトルEa算出する(ステップS102)。この特徴量P(例えばEa)の算出処理の詳細は後述する。
【0276】
さらに、機械音選択部66Lは、機械音補正部63Lから推定機械音スペクトルZ、補正係数H及び平均機械音スペクトルTzを受け取る(ステップS104)。次いで、機械音選択部66Lは、上記S102で算出した音源環境の特徴量Pに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTzのいずれかを選択する(ステップS106)。その後、機械音選択部66は、S106で選択した機械音スペクトルZ又はTzと補正係数Hを、機械音低減部64Lに出力する(ステップS308)。
【0277】
[4.4.3.機械音選択の詳細動作]
次に、図38〜図41を参照して、本実施形態に係る機械音選択部66の詳細動作について説明する。以下の説明では、LchとRchの区別はしないが、機械音選択部66L、66Rはそれぞれ、Lch用の各信号や値(X、H、Tz、P)又はRch用の各信号や値(X、H、Tz、P)を用いて処理を行うものとする。
【0278】
図38は、本実施形態に係る機械音選択部66の動作タイミングを示すタイミングチャートである。なお、図12と同様に、図38のタイミングチャートでも、時間軸上で上記フレームを基準として示してある。
【0279】
図38に示すように、機械音選択部66は、複数の処理(処理C、処理D)を同時並行で行う。処理Cは、ズームモータ15の動作に関わらず、デジタルカメラ1による録音中(動作撮像中)は常時行われる。処理Dは、ズームモータ15の動作停止中に、N1フレームごとに行われる。
【0280】
次に、機械音選択部66の動作フローを説明する。図39は、本実施形態に係る機械音選択部66の全体動作を示すフローチャートである。
【0281】
図39に示すように、まず、機械音選択部66は、制御部70から、ズームモータ15の動作状態を表すモータ制御情報zoom_infoを取得する(ステップS130)。zoom_infoの値が1であれば、ズームモータ15が動作状態であり、zoom_infoの値が0であれば、ズームモータ15が動作停止状態である。機械音選択部66は、当該モータ制御情報zoom_infoによりズームモータ15の動作の有無(即ち、ズーム音の発生の有無)を判断できる。
【0282】
次いで、機械音選択部66は、音声信号xの1フレームごとに処理Cを行う(ステップS140)。この処理Cでは、機械音選択部66は、音源環境の特徴量Pに応じて機械音スペクトルを選択する。
【0283】
図40は、図39中の処理Cのサブルーチンを示すフローチャートである。図40に示すように、まず、機械音選択部66は、周波数変換部61から音声スペクトルX(k)を周波数成分ごとに受け取る(ステップS141)。また、機械音選択部66は、機械音推定部62から補正係数H(k)、推定機械音スペクトルZ(k)及び平均機械音スペクトルTzを、音声スペクトルの周波数成分X(k)ごとに受け取る(ステップS142)。
【0284】
次いで、機械音選択部66は、記憶部661に記憶されているフラグzflagが1であるか否かを判断する(ステップS143)。フラグzflagは、機械音スペクトル選択用のフラグであり、後述する処理Dにより、音源環境の特徴量Pに応じて0又は1に設定される。
【0285】
上記S143での判定の結果、zflag=1である場合には、機械音選択部66は、機械音スペクトルとして推定機械音スペクトルZ(k)を選択し、当該選択したZ(k)を補正係数H(k)とともに機械音低減部64に出力する(ステップS144)。これにより、機械音低減部64は、S144で選択された推定機械音スペクトルZ(k)と補正係数H(k)を用いて音声スペクトルX(k)から機械音成分を除去する。
【0286】
一方、zflag≠1である場合には、機械音選択部66は、機械音スペクトルとして平均機械音スペクトルTz(k)を選択し、当該選択したTz(k)を機械音低減部64に出力する(ステップS145)。これにより、機械音低減部64は、S145で選択された平均機械音スペクトルTzを用いて音声スペクトルX(k)から機械音成分を除去する。
【0287】
次いで、機械音選択部66は、音声スペクトルXの周波数成分X(k)ごとに、上記音声スペクトルX(k)を二乗して、当該音声スペクトルX(k)のパワースペクトルPx(k)を算出する(ステップS146)。
【0288】
さらに、機械音選択部66は、S146で求めたPx(k)の平均を算出して、その単位をデシベルに変換することで、入力音声のパワースペクトルPxの平均値E[dB]を求める(ステップS147)。この入力音声の音量Eの算出式は、例えば、以下の式(16)で表される。当該平均値Eは、入力音声の音量を表す。なお、Lは、音声スペクトルXを複数の周波数ブロックに分割したときのブロック数である。
【0289】
【数3】

【0290】
その後、機械音選択部66は、記憶部661に記憶されている平均パワースペクトルEの積算値sum_Eに、S147で求めた平均パワースペクトルEを加算する(ステップS148)。
【0291】
以上のようにして、処理Cでは、機械音スペクトルを選択するとともに、現在の入力音声の平均パワースペクトルEの積算値sum_Eを算出する。
【0292】
次に、図39のS150に戻り、説明を続ける。図39に示すように、機械音選択部66は、上記S140の処理Cを行ったフレーム数をカウントする(ステップS150)。具体的には、かかるカウント処理では、ズームモータ15の動作中における処理フレーム数cnt2、ズームモータ15の動作停止中における処理フレーム数cnt1を用いる。ズームモータ15が動作停止中(zoom_info=0)である場合(ステップS151)、機械音選択部66は、記憶部661に記憶されているcnt2をゼロにリセットし(ステップS152)、記憶部661に記憶されているcnt1に1を加算する(ステップS154)。一方、ズームモータ15が動作中(zoom_info=1)である場合(ステップS151)、機械音選択部66は、記憶部661に記憶されているcnt1をゼロにリセットし(ステップS156)、記憶部661に記憶されているsum_Eをゼロにリセットする(ステップS158)。
【0293】
次いで、cnt1がN1に達し、ズームモータ15が動作停止中である場合(ステップS160)、機械音選択部66は、処理Dを行い(ステップS170)、cnt1をゼロにリセットする(ステップS180)。
【0294】
ここで、ズームモータ15の動作停止中(ズーム音の非発生時)に行われる処理Dについて詳述する。図41は、図39中の処理Dのサブルーチンを示すフローチャートである。
【0295】
図41に示すように、まず、機械音選択部66は、平均パワースペクトルEの積算値sum_Eをフレーム数N1で除算することにより、ズームモータ15の動作停止中における平均パワースペクトルEaを算出する(ステップS171)。このEaは、音源環境の特徴量Pの一例である。さらに、機械音選択部66は、音源環境の特徴量Pの閾値として、平均パワースペクトルの閾値Ethを記憶部661から読み出す(ステップS172)。
【0296】
次いで、機械音選択部66は、平均パワースペクトルEaが閾値Eth未満であるか否かを判断する(ステップS173)。この結果、Ea<Ethである場合、機械音選択部66は、上記機械音スペクトル選択用のフラグzflagを1に設定し(ステップS174)、Ea≧Ethである場合、当該フラグzflagを0に設定する(ステップS175)。その後、機械音選択部66は、記憶部661に記憶されている積算値sum_Eをゼロにリセットする(ステップS176)。
【0297】
以上の処理Dにより、ズームモータ15の動作停止中に、音源環境の特徴量Pとして平均パワースペクトルEaが算出される。そして、当該EaがEth未満であるときには推定機械音スペクトルZが選択され、当該EaがEth以上であるときには平均機械音スペクトルTzが選択される。
【0298】
このように、第4の実施形態によれば、駆動装置14の動作停止中に、音声スペクトルXから平均パワースペクトルEaを算出し、当該平均パワースペクトルEaの大きさによって、使用する機械音スペクトルを切り替える。
【0299】
以上、第4の実施形態に係る機械音選択部66の動作について説明した。かかる機械音選択部66は、駆動装置14の動作停止中は常時、音声スペクトルXの平均パワースペクトルEaを、音源環境の特徴量Pとして算出し、記憶部661に保持しておく。そして、駆動装置14の動作開始時には、機械音選択部66は、Eaの大きさに応じて、推定機械音スペクトルZ又は平均機械音スペクトルTzを選択する。
【0300】
このEaは、周囲の音源の数に対応している。一般に、音源の数が多くなると、複数の音源からの音が加算されて収音されるので、マイクロホン51、52に入力される外部音声のレベルは上昇する。このため、入力音声の平均パワースペクトルEaが大きいほど、デジタルカメラ1の周辺の音源の数が多いことになる。
【0301】
従って、音源の数が少ない場合(Ea<Eth)には、推定機械音スペクトルZを用いて、精度良く実際の機械音スペクトルZrealを推定できる。そこで、機械音選択部66は、装置ごと及び動作ごとの機械音のばらつきに追従可能な推定機械音スペクトルZを選択する。これにより、機械音低減部64は、推定機械音スペクトルZを用いて、入力された外部音声から機械音を適切に除去可能である。
【0302】
一方、音源の数が多い場合(Ea≧Eth)には、推定機械音スペクトルZを用いると、過剰推定により、所望音の劣化を招く危険性がある。そこで、機械音選択部66は、駆動装置14の動作停止中に学習した平均機械音スペクトルTzを選択する。これにより、機械音低減部64は、所望音成分を含まず機械音成分だけが含まれている平均機械音スペクトルTzを利用して、機械音を低減するので、上記過剰推定による所望音の劣化を確実に防止できる。
【0303】
<5.第5の実施の形態>
次に、本発明の第5の実施形態に係る音声信号処理装置及び方法による機械音低減方法の概要について説明する。第5の実施形態は、上記第4の実施形態と比べて、音源環境の特徴量Pとして、2つのマイクロホン51、52から得られる信号の相関関係を用いる点で相違する。第5の実施形態のその他の機能構成は、上記第4の実施形態と実質的に同一であるので、その詳細説明は省略する。
【0304】
上記第4の実施形態に係る機械音選択部66は、音源環境の特徴量Pとして、1つのマイクロホン51又は52から得られる音声スペクトルXの平均パワースペクトルEaを利用して、機械音スペクトルを選択した。これに対し、第5の実施形態に係る機械音選択部66は、音源環境の特徴量Pとして、2つのマイクロホン51又は52から得られる音声スペクトルX、Xの相関関係を利用して、機械音スペクトルを選択する。
【0305】
[5.1.音声信号処理装置の機能構成]
まず、図42を参照して、第5の実施形態に係るデジタルカメラ1に適用された音声信号処理装置の機能構成例について説明する。図42は、本実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【0306】
図42に示すように、第5の実施形態に係る音声信号処理装置は、Lch及びRchで共通の1つの機械音選択部66を備えている。この機械音選択部66には、機械音補正部63L、63Rから、平均機械音スペクトル信号Tz、Tz、推定機械音スペクトルZ及び補正係数H、Hが入力され、周波数変換部61L、61Rから音声スペクトルX、Xが入力される。
【0307】
機械音選択部66は、双方のマイクロホン51、52から入力される音声スペクトルX、Xの相関関係に基づいて、Lch及びRchで共通の音源環境の特徴量Pを生成し、当該特徴量Pに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTzのいずれか一方を選択する。例えば、機械音選択部66は、音源環境の特徴量Pに基づいて、Lch用の機械音低減に利用する機械音スペクトルを選択するとともに、Rch用の機械音低減に利用する機械音スペクトルを選択する。
【0308】
[5.2.機械音選択の原理]
次に、音源環境の特徴量Pとして、音声スペクトルX、Xの相関関係(例えば相関値C(k))を用いる原理について説明する。
【0309】
図43は、本実施形態に係る2つのマイクロホン51、52間の相関を示す説明図である。図43に示すように、2つのマイクロホン51、52が並んだ方向に対して、ある角度θの方向から、音声がマイクロホン51、52に到達する場合を考える。この場合、マイクロホン51に入力される音声と、マイクロホン52に入力される音声との間には、到達距離の差disの分だけ、到達時間差が生じる。ここで、マイクロホン51の入力音声信号X(k)とマイクロホン52の入力音声信号X(k)との相関値C(k)は、以下の式(17)で表される。
【0310】
【数4】

【0311】
マイクロホン51、52の周辺の音源の数が多い音源環境では、マイクロホン51、52の周囲の全方向から音声が到来すると考えることができる。こういった音源環境の状態は、例えば拡散音場で表現できる。拡散音場の相関値rC(k)は、以下の式(18)で算出できる。
【0312】
【数5】

【0313】
この式(18)において、
d:マイクロホン間の距離
c:音速(例えば340m/s)
ω(k):角周波数
である。
また、N点FFTの結果得られる周波数ビンkに対して、サンプリング周波数をFsとすると、ω(k)は、次の式(19)で表される。
【0314】
【数6】

【0315】
従って、図44及び図45に示すように、マイクロホン51、52に入力された実際の音声信号x(k)、x(k)から算出される周波数毎の相関値C(k)を、上述した拡散音場を想定した相関値rC(k)と比較することで、マイクロホン51、52周囲の音源環境を推定することができる。なお、図44及び図45は、マイクロホン2間距離d=1.2cm、θ=15°の場合の相関値を示している。
【0316】
図44は、機械音推定部62により機械音スペクトルを適切に推定できる場合の相関を示す。図44に示すように、実際の入力音声信号から算出した相関値C(k)と、拡散音場を想定した相関値rC(k)とが相違する場合には、マイクロホン51、52周囲の音源環境は拡散音場ではないので、音源の数は少ないと推定できる。従って、この場合には、上記機械音推定部62により、実際の機械音Zrealに適合した推定機械音スペクトルZを推定できる。よって、機械音の除去精度を高めるために、機械音補正部63により推定機械音スペクトルZを選択することが好ましいといえる。
【0317】
一方、図45は、機械音推定部62により機械音スペクトルを適切に推定できない場合の相関を示す。図45に示すように、実際の入力音声信号から算出した相関値C(k)と、拡散音場を想定した相関値rC(k)とがほぼ一致する場合には、マイクロホン51、52周囲の音源環境は拡散音場であるので、音源の数は多いと推定できる。従って、この場合には、上記機械音推定部62により、実際の機械音Zrealに適合した推定機械音スペクトルZを推定することは困難であり、過剰推定により所望音が劣化する可能性がある。よって、機械音の過剰推定による所望音の劣化を防止するために、機械音補正部63により平均機械音スペクトルTzを選択することが好ましいといえる。
【0318】
[5.3.機械音選択の基本動作]
次に、図46を参照して、本実施形態に係る機械音選択部66の動作について説明する。図46は、本実施形態に係る機械音選択部66の動作を示すフローチャートである。なお、本実施形態では、周波数変換を行うフレーム毎に、機械音スペクトルを選択する。つまり、あるフレームでは、平均機械音スペクトルTz、Tzを、別のフレームでは、機械音推定部から得られる推定機械音スペクトルZを用いる。
【0319】
図46に示すように、まず、機械音選択部66は、周波数変換部61L、62Rから音声スペクトルX及びX(ステレオ信号)を受け取る(ステップS300)。次いで、機械音選択部66は、音声スペクトルX及びXに基づいて、音源環境の特徴量Pとして、例えば上記相関値Cを算出する(ステップS302)。この特徴量P(例えばC)の算出処理の詳細は後述する。
【0320】
さらに、機械音選択部66は、機械音補正部63L、63Rから推定機械音スペクトルZ、補正係数H、H及び平均機械音スペクトルTz、Tzを受け取る(ステップS304)。次いで、機械音選択部6Lは、上記S302で算出した音源環境の特徴量Pに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTz、Tzのいずれかを選択する(ステップS306)。その後、機械音選択部66は、S306で選択したLch用の機械音スペクトルZ又はTzと補正係数Hを、機械音低減部64Lに出力するともに、S306で選択したRch用の機械音スペクトルZ又はTzと、補正係数Hを、機械音低減部64Rに出力する(ステップS308)。
【0321】
[5.4.機械音選択の詳細動作]
次に、図47〜図50を参照して、本実施形態に係る機械音選択部66の詳細動作について説明する。以下の説明では、LchとRchの区別はしないが、機械音選択部66L、66Rはそれぞれ、Lch用の各信号や値(X、H、Tz)又はRch用の各信号や値(X、H、Tz)を用いて処理を行うものとする。
【0322】
第5の実施形態に係る機械音選択部66の動作タイミングは、上述した第4の実施形態に係る機械音補正部63の動作タイミング(図38参照。)と実質的に同一である。機械音選択部66は、常に処理Cを行いながら、モータ動作停止期間中には処理Dを実行して、音声スペクトルXの平均パワースペクトルEaを算出する。
【0323】
また、第5の実施形態に係る機械音補正部63の基本的な動作フローは、上記第4の実施形態と同様である(図39参照。)。ただし、第5の実施形態では、処理C、処理D及びS158の具体的処理内容が第4の実施形態と相違する。第5の実施形態に係る処理C及び処理Dでは、音源環境の特徴量Pとして、第4の実施形態のような音声スペクトルXの平均パワースペクトルEaではなく、上記音声スペクトルXとXの相関値C(k)を用いて、機械音スペクトルを選択する。また、第5の実施形態では、図39のS158にて、sum_Eの代わりに、後述するsum_C(k)をリセットする。以下では、第5の実施形態に係る処理C、処理Dのフローについて詳細に説明する。
【0324】
図47は、第5の実施形態に係る図39中の処理Cのサブルーチンを示すフローチャートである。この処理Cでは、機械音選択部66は、音源環境の特徴量Pとして、マイクロホン51、52から入力される実際の音声スペクトルXとXの相関値c(k)に基づいて、機械音スペクトルを選択する。
【0325】
図47に示すように、まず、機械音選択部66は、2つの周波数変換部61L、61Rから音声スペクトルX(k)、X(k)を、音声スペクトルの周波数成分ごとに受け取る(ステップS341)。また、機械音選択部66は、機械音推定部62から補正係数H(k)、H(k)、推定機械音スペクトルZ(k)及び平均機械音スペクトルTz(k)、Tz(k)を、音声スペクトルの周波数成分X(k)ごとに受け取る(ステップS342)。
【0326】
次いで、機械音選択部66は、記憶部661に記憶されている、機械音スペクトル選択用のフラグzflagが1であるか否かを判断する(ステップS343)。この判断の判定の結果、zflag=1である場合には、機械音選択部66は、機械音スペクトルとして推定機械音スペクトルZ(k)を選択し、当該選択したZ(k)を補正係数H(k)、H(k)とともに機械音低減部64L、64Rにそれぞれ出力する(ステップS344)。一方、zflag≠1である場合には、機械音選択部66は、機械音スペクトルとして平均機械音スペクトルTzを選択し、当該選択したTz(k)、Tz(k)を機械音低減部64L、64Rにそれぞれ出力する(ステップS345)。
【0327】
次いで、機械音選択部66は、音声スペクトルXの周波数成分X(k)ごとに、音声スペクトルX(k)と音声スペクトルX(k)の相関値C(k)を算出する(ステップS347)。この相関値C(k)は、上記式(17)を用いて算出される。その後、機械音選択部66は、記憶部661に記憶されている相関値C(k)の積算値sum_C(k)に、S347で求めた相関値C(k)を加算する(ステップS348)。
【0328】
以上のようにして、処理Cでは、機械音スペクトルを選択するとともに、音声スペクトルX(k)とX(k)の相関値C(k)の積算値sum_C(k)を算出する。かかる相関値C(k)の積算値sum_C(k)は、後述の処理Dにおいてデジタルカメラ1が存在する音源環境の特徴量Pを求めるために用いられる。
【0329】
次に、ズームモータ15の動作停止中(ズーム音の非発生時)に行われる処理Dについて詳述する。図48は、第5の実施形態に係る図39中の処理Dのサブルーチンを示すフローチャートである。
【0330】
図48に示すように、まず、機械音選択部66は、上記処理Cで得られた相関値C(k)の積算値sum_C(k)をフレーム数N1で除算することにより、ズームモータ15の動作停止中における相関値C(k)の平均値mC(k)を算出する(ステップS371)。さらに、機械音選択部66は、拡散音場の相関値rC(k)を記憶部661から読み出す(ステップS172)。この拡散音場の相関値rC(k)は、上述した式(18)及び(19)により算出される。
【0331】
次いで、機械音選択部66は、S371で得られた相関値C(k)の平均値mC(k)と、S372で得られた相関値rC(k)との距離dを算出する(ステップS373)。この距離dは、以下の式(20)で算出される。この距離dは、音源環境の特徴量Pの一例である。
【0332】
【数7】

【0333】
さらに、機械音選択部66は、音源環境の特徴量Pの閾値として、閾値dthを記憶部661から読み出す(ステップS374)。閾値dthは、デジタルカメラ1や駆動装置14のスペック、音源環境の状態等に応じて、予め適切な値に設定され、記憶部661に保持されている。
【0334】
次いで、機械音選択部66は、S373で求めた距離dが閾値dth未満であるか否かを判断する(ステップS375)。この結果、d>dthである場合、機械音選択部66は、上記機械音スペクトル選択用のフラグzflagを1に設定し(ステップS376)、d≦dthである場合、当該フラグzflagを0に設定する(ステップS377)。その後、機械音選択部66は、記憶部661に記憶されている積算値sum_C(k)をゼロにリセットする(ステップS378)。
【0335】
以上の処理Dにより、ズームモータ15の動作停止中に、音源環境の特徴量Pとして、音声スペクトルX(k)、X(k)の相関値の平均値mC(k)と、拡散音場の相関値rC(k)との距離dが算出される。そして、当該dがdth超であるときには推定機械音スペクトルZが選択され、当該dがdth未満であるときには平均機械音スペクトルTz、Tzが選択される。
【0336】
このように、第5の実施形態によれば、駆動装置14の動作停止中に、実際の音声スペクトルX、Xの相関値の平均値mC(k)を算出し、当該mC(k)と拡散音場の相関値rC(k)との距離dに応じて、使用する機械音スペクトルを切り替える。
【0337】
以上、第5の実施形態に係る機械音選択部66の動作について説明した。かかる機械音選択部66は、駆動装置14の動作停止中は常時、実際の音声スペクトルX、Xの相関値の平均値mC(k)を、音源環境の特徴量Pとして算出し、記憶部661に保持しておく。そして、駆動装置14の動作開始時には、機械音選択部66は、該mC(k)と、C(k)との距離dに応じて、推定機械音スペクトルZ又は平均機械音スペクトルTzを選択する。
【0338】
このdは、デジタルカメラ1の周囲の音源環境が拡散音場であるか否かを表している。上述したように、音源環境が拡散音場であれば、周囲の音源の数が多く、多方向からマイクロホン51、52に音声が入力されることになる。
【0339】
従って、音源環境が拡散音場でない場合(d>dth)には、推定機械音スペクトルZを用いて、精度良く実際の機械音スペクトルZrealを推定できる。そこで、機械音選択部66は、装置ごと及び動作ごとの機械音のばらつきに追従可能な推定機械音スペクトルZを選択する。これにより、機械音低減部64は、推定機械音スペクトルZを用いて、入力された外部音声から機械音を適切に除去可能である。
【0340】
一方、音源環境が拡散音場に近い場合(d≦dth)には、推定機械音スペクトルZを用いると、過剰推定により、所望音の劣化を招く危険性がある。そこで、機械音選択部66は、駆動装置14の動作停止中に学習した平均機械音スペクトルTzを選択する。これにより、機械音低減部64は、所望音成分を含まず機械音成分だけが含まれている平均機械音スペクトルTzを利用して、機械音を低減するので、上記過剰推定による所望音の劣化を確実に防止できる。
【0341】
<6.第6の実施の形態>
次に、本発明の第6の実施形態に係る音声信号処理装置及び方法による機械音低減方法の概要について説明する。第6の実施形態は、上記第4の実施形態と比べて、音源環境の特徴量Pとして、機械音推定部62により推定された機械音スペクトルZを用いる点で相違する。第6の実施形態のその他の機能構成は、上記第4の実施形態と実質的に同一であるので、その詳細説明は省略する。
【0342】
[6.1.音声信号処理装置の機能構成]
まず、図49を参照して、第6の実施形態に係るデジタルカメラ1に適用された音声信号処理装置の機能構成例について説明する。図49は、本実施形態に係る音声信号処理装置の機能構成を示すブロック図である。
【0343】
図42に示すように、第6の実施形態に係る音声信号処理装置は、Lch及びRchで共通の1つの機械音選択部66を備えている。この機械音選択部66には、機械音補正部63L、63Rから、平均機械音スペクトル信号Tz、Tz、及び補正係数H、Hが入力され、周波数変換部61L、61Rから音声スペクトルX、Xが入力される。さらに、機械音選択部66には、機械音推定部62から推定機械音スペクトルZが入力される。機械音選択部66は、推定機械音スペクトルZの信号レベルに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTzの中から、機械音低減部64で使用する機械音スペクトルを選択する。
【0344】
[6.2.機械音選択部の詳細]
機械音選択部66は、機械音推定部62から入力される推定機械音スペクトルZの信号レベル(Zのエネルギー)に基づいて、Lch及びRchで共通の音源環境の特徴量Pを生成し、当該特徴量Pに基づいて、推定機械音スペクトルZ又は平均機械音スペクトルTzのいずれか一方を選択する。例えば、機械音選択部66は、音源環境の特徴量Pに基づいて、Lch用の機械音低減に利用する機械音スペクトルを選択するとともに、Rch用の機械音低減に利用する機械音スペクトルを選択する。
【0345】
機械音推定部62により得られた推定機械音スペクトルZの信号レベルが低い場合には、機械音が所望音に埋もれておらず、周囲の音源が少ないと推定できる。そこで、機械音選択部66は、推定機械音スペクトルZの信号レベルが、予め設定された所定の閾値よりも低い場合には、推定機械音スペクトルZを選択する。これにより、機械音スペクトルを高精度で推定して所望音から適切に除去できる。
【0346】
一方、機械音推定部62により得られた推定機械音スペクトルZの信号レベルが高い場合には、機械音が所望音に埋もれており、機械音の過剰推定による所望音の劣化が生じる可能性がある。そこで、機械音選択部66は、推定機械音スペクトルZの信号レベルが、予め設定された所定の閾値よりも高い場合には、平均機械音スペクトルTzを選択する。これにより、機械音をある程度除去しつつ、所望音の音質劣化を確実に防止できる。
【0347】
以上のように、第6の実施形態に係る機械音選択部66は、マイクロホン51、52への入力音声信号ではなく、機械音推定部62の出力信号に基づいて、音源環境の特徴量Pを算出する。かかる構成により、第4又は第5の実施形態よりもさらに実用的な音声信号処理装置を提供できる。
【0348】
なお、第6の実施形態に係る機械音選択部66の動作フローは、音源環境の特徴量Pとして、推定機械音スペクトルZの平均パワースペクトルを用いる点を除いては、上述した第4の実施形態と同様に実現できるので、詳細説明は省略する(図38〜図41参照。)。
【0349】
以上、第4〜第6の実施形態に係る機械音選択部66の構成と動作について説明した。上記第4〜第6の実施形態では、機械音推定部62による機械音の過剰推定を抑制するために、推定機械音スペクトルZ又は平均機械音スペクトルTzのいずれかを選択する方法について述べた。しかし、本発明は、かかる例に限定されず、機械音選択部66は、機械音低減部64で用いる機械音スペクトルとして、例えば、双方の機械音スペクトルZ、Tzの重み付き和を算出してもよい。また、機械音選択部66は、周囲の音源環境に応じて、推定機械音スペクトルZをk倍(0<k<1)し、当該k倍されたZを、機械音低減部64で用いる機械音スペクトルとして用いてもよい。
【0350】
また、機械音選択部66で選択する平均機械音スペクトルTzは、上記第4〜第6の実施形態のように、個々のデジタルカメラ1における機械音スペクトルの学習によって得たもの(動的に変化するテンプレート)ではなく、事前に測定した平均機械音スペクトルのテンプレート(固定的なテンプレート)を使用してもよい。
【0351】
<7.まとめ>
以上、本発明の好適な実施形態に係る音声信号処理装置及び方法について詳細に説明した。本実施形態によれば、デジタルカメラ1による動画及び音声の記録中に、2つのステレオマイクロホン51、52から入力される音声信号を利用して、外部音声スペクトルに含まれる機械音スペクトルを正確に推定し、外部音声から機械音を適切に除去できる。
【0352】
従って、本実施形態では、従来のような機械音スペクトルのテンプレートを利用しなくとも、機械音を除去することが可能となる。これにより、従来のような多数のカメラを用いて機械音を測定して、当該テンプレートを作成するための調整コストを削減できる。
【0353】
さらに、個々のデジタルカメラ1において、機械音が発生する撮像動作ごとに動的に機械音スペクトルを推定して除去するので、デジタルカメラ1の個体差による機械音のばらつきが存在しても、所望の低減効果を得ることができる。また、録音中は常に、機械音スペクトルを推定するので、駆動装置14の動作中の機械音の時間変化にも追従できる。
【0354】
また、機械音補正部63により、実際の機械音スペクトルに合うように推定機械音スペクトルを補正することで、機械音の過剰推定や過小推定がない。よって、機械音低減部64による機械音の消しすぎや、消し残しを防止できるので、所望音の音質劣化を低減できる。
【0355】
また、機械音選択部66により、カメラ周囲の音環境(音源環境)に応じて、機械音発声時に動的に推定される推定機械音スペクトルZと、機械音発生前に予め得られた平均機械音スペクトルTzとを使い分ける。例えば、賑やかな雑踏のような多数の音源があり、機械音が所望音に埋もれるような音源環境下では、平均機械音スペクトルTzを使用することで、機械音の過剰推定による所望音の劣化を防止できる。一方、音源数が少なく、機械音が目立つような音源環境下では、上記推定機械音スペクトルZを使用することで、個々の装置ごと動作ごとに機械音を高精度で推定して、所望音から適切に低減することができる。
【0356】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0357】
例えば、上記実施形態では、音声信号処理装置としてデジタルカメラ1を例示し、動画撮像と共に録音する時に機械音を低減する例について説明したが、本発明はかかる例に限定されない。本発明の音声信号処理装置は、録音機能を有する機器であれば、任意の機器に適用できる。音声信号処理装置は、例えば、記録再生装置(例えば、ブルーレイディスク/DVDレコーダ)、テレビジョン受像器、システムステレオ装置、撮像装置(例えば、デジタルカメラ、デジタルビデオカメラ)、携帯端末(例えば、携帯型音楽/映像プレーヤ、携帯型ゲーム機、ICレコーダ)、パーソナルコンピュータ、ゲーム機、カーナビゲーション装置、デジタルフォトフレーム、家庭電化製品、自動販売機、ATM、キオスク端末など、任意の電子機器に適用できる。
【符号の説明】
【0358】
1 デジタルカメラ
2 筐体
3 レンズ部
14 駆動装置
15 ズームモータ
16 フォーカスモータ
51、52 マイクロホン
60 音声処理部
61、61L、61R 周波数変換部
62 機械音推定部
63、63L、63R 機械音補正部
64、64L、64R 機械音低減部
65、65L、65R 時間変換部
66、66L、66R 機械音選択部
621、631、661 記憶部
622、632、642、662 演算部
641 抑圧値算出部
663 選択部
70 制御部


【特許請求の範囲】
【請求項1】
音声を収音して第1の音声信号を出力する第1のマイクロホンと、
前記音声を収音して第2の音声信号を出力する第2のマイクロホンと、
前記第1の音声信号を第1の音声スペクトル信号に変換する第1の周波数変換部と、
前記第2の音声信号を第2の音声スペクトル信号に変換する第2の周波数変換部と、
作動音を発生する発音体と前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号を演算することにより、前記作動音を表す作動音スペクトル信号を推定する作動音推定部と、
前記第1及び第2の音声スペクトル信号から、前記推定された作動音スペクトル信号を低減する作動音低減部と、
を備える、音声信号処理装置。
【請求項2】
前記発音体は、駆動装置であり、
前記作動音は、前記駆動装置の動作時に発生する機械音であり、
前記作動音推定部は、前記作動音スペクトル信号として、前記機械音を表す機械音スペクトル信号を推定する、請求項1に記載の音声信号処理装置。
【請求項3】
前記作動音推定部は、前記駆動装置の方向以外から前記第1及び第2のマイクロホンに到来する音声成分を減衰させるように、前記第1及び第2の音声スペクトル信号を演算することにより、前記機械音スペクトル信号を前記駆動装置の動作中に動的に推定する、請求項2に記載の音声信号処理装置。
【請求項4】
前記第1又は第2の音声スペクトル信号の周波数成分ごとに、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号の周波数特性の差分に基づいて、前記推定された機械音スペクトル信号を補正する機械音補正部をさらに備える、請求項2又は3に記載の音声信号処理装置。
【請求項5】
前記機械音補正部は、
前記第1の音声スペクトル信号の周波数成分ごとに、前記駆動装置の動作開始前後における前記第1の音声スペクトル信号の周波数特性の差分に基づいて、第1の補正係数を算出する第1の機械音補正部と、
前記第2の音声スペクトル信号の周波数成分ごとに、前記駆動装置の動作開始前後における前記第2の音声スペクトル信号の周波数特性の差分に基づいて、第2の補正係数を算出する第2の機械音補正部と、
を含み、
前記作動音低減部は、
前記推定された機械音スペクトル信号に前記第1の補正係数を乗算した信号を、前記第1の音声スペクトル信号から低減する第1の機械音低減部と、
前記推定された機械音スペクトル信号に前記第2の補正係数を乗算した信号を、前記第2の音声スペクトル信号から低減する第2の機械音低減部と、
を含む、請求項4に記載の音声信号処理装置。
【請求項6】
前記機械音補正部は、
前記駆動装置が動作する度に、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号の周波数特性の差分に基づいて、前記推定された機械音スペクトル信号を補正するための補正係数を更新する、請求項4又は5に記載の音声信号処理装置。
【請求項7】
前記駆動装置が動作したときに、前記駆動装置の動作開始前後における前記第1又は第2の音声スペクトル信号の周波数特性の比較結果、及び、前記駆動装置の動作中における前記第1又は第2の音声スペクトル信号の周波数特性の比較結果に基づいて、前記駆動装置の動作開始前後における前記音声の変化度を判定し、
前記音声の変化度に応じて、前記補正係数を更新するか否かを判断し、
前記補正係数を更新すると判断した場合にのみ、前記差分に基づいて前記補正係数を更新する、請求項6に記載の音声信号処理装置。
【請求項8】
前記機械音補正部は、
前記駆動装置が動作したときに、前記第1若しくは第2の音声信号のレベル又は音声スペクトル信号のレベルに応じて、前記差分に基づく前記補正係数の更新量を制御する、請求項6又は7に記載の音声信号処理装置。
【請求項9】
前記機械音の平均的なスペクトルを表す平均機械音スペクトル信号を記憶する記憶部と、
前記音声信号処理装置の周囲の音源環境に応じて、前記推定された機械音スペクトル信号又は前記平均機械音スペクトル信号のうちのいずれか一方を選択する機械音選択部をさらに備え、
前記作動音低減部は、
前記第1及び第2の音声スペクトル信号から、前記機械音選択部により選択された機械音スペクトル信号を低減する、請求項2〜8のいずれか一項に記載の音声信号処理装置。
【請求項10】
前記機械音選択部は、前記第1若しくは第2の音声信号のレベルに基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号又は前記平均機械音スペクトル信号のうちのいずれか一方を選択する、請求項9に記載の音声信号処理装置。
【請求項11】
前記機械音選択部は、前記第1の音声スペクトル信号と前記第2の音声スペクトル信号の相関関係に基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号又は前記平均機械音スペクトル信号のうちのいずれか一方を選択する、請求項9に記載の音声信号処理装置。
【請求項12】
前記機械音選択部は、前記推定された機械音スペクトル信号のレベルに基づいて、前記音声信号処理装置の周囲の音源環境を表す特徴量を算出し、前記特徴量に基づいて、前記推定された機械音スペクトル信号又は前記平均機械音スペクトル信号のうちのいずれか一方を選択する、請求項9に記載の音声信号処理装置。
【請求項13】
前記音声信号処理装置は、動画の撮像中に前記動画とともに前記音声を記録する機能を有する撮像装置に設けられ、
前記駆動装置は、前記撮像装置の筐体内に設けられ、前記撮像装置の撮像光学系を機械的に移動させるモータである、請求項2〜12のいずれか一項に記載の音声信号処理装置。
【請求項14】
音声を収音する第1のマイクロホンから出力される第1の音声信号を第1の音声スペクトル信号に変換するとともに、前記音声を収音する第2のマイクロホンから出力される第2の音声信号を第2の音声スペクトル信号に変換するステップと、
作動音を発生する発音体と、前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号を演算することにより、前記作動音を表す作動音スペクトル信号を推定するステップと、
前記第1及び第2の音声スペクトル信号から、前記推定された作動音スペクトル信号を低減するステップと、
を含む、音声信号処理方法。
【請求項15】
コンピュータに、
音声を収音する第1のマイクロホンから出力される第1の音声信号を第1の音声スペクトル信号に変換するとともに、前記音声を収音する第2のマイクロホンから出力される第2の音声信号を第2の音声スペクトル信号に変換するステップと、
作動音を発生する発音体と、前記第1及び第2のマイクロホンとの相対位置関係に基づいて、前記第1及び第2の音声スペクトル信号を演算することにより、前記作動音を表す作動音スペクトル信号を推定するステップと、
前記第1及び第2の音声スペクトル信号から、前記推定された作動音スペクトル信号を低減するステップと、
を実行させるためのプログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate


【公開番号】特開2012−142745(P2012−142745A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2010−293305(P2010−293305)
【出願日】平成22年12月28日(2010.12.28)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】