以下、図面を参照して本発明の実施例を詳細に説明する。
[第一の実施例]
<撮像装置100の外観図>
図1(a)、(b)に本発明を適用可能な音声処理装置の一例としての撮像装置100の外観図の一例を示す。図1(a)は撮像装置100の前面斜視図の一例である。図1(b)は撮像装置100の背面斜視図の一例である。図1において、レンズマウント301には不図示の光学レンズが装着される。
表示部107は画像データおよび文字情報等を表示する。表示部107は撮像装置100の背面に設けられる。ファインダー外表示部43は、撮像装置100の上面に設けられた表示部である。ファインダー外表示部43は、シャッター速度、絞り値等の撮像装置100の設定値を表示する。接眼ファインダー16は覗き込み型のファインダーである。ユーザは接眼ファインダー16内のフォーカシングスクリーンを観察することで、被写体の光学像の焦点および構図を確認することができる。
レリーズスイッチ61はユーザが撮影指示を行うための操作部材である。モード切替スイッチ60はユーザが各種モードを切り替えるための操作部材である。メイン電子ダイヤル71は回転操作部材である。ユーザはこのメイン電子ダイヤル71を回すことで、シャッター速度、絞り値等の撮像装置100の設定値を変更することができる。レリーズスイッチ61、モード切替スイッチ60、メイン電子ダイヤル71は、操作部112に含まれる。
電源スイッチ72は撮像装置100の電源のオンおよびオフを切り替える操作部材である。サブ電子ダイヤル73は回転操作部材である。ユーザは、サブ電子ダイヤル73によって表示部107に表示された選択枠の移動および再生モードにおける画像送りなどを行える。十字キー74は上、下、左、右部分をそれぞれ押し込み可能な十字キー(4方向キー)である。撮像装置100は十字キー74の押された部分(方向)に応じた処理を実行する。電源スイッチ72、サブ電子ダイヤル73、十字キー74は操作部112に含まれる。
SETボタン75は押しボタンである。SETボタン75は、主に、ユーザが表示部107に表示された選択項目を決定するためなどに用いられる。LVボタン76はライブビュー(以下、LV)のオンおよびオフを切り替えるために使用されるボタンである。LVボタン76は、動画記録モードにおいては、動画撮影(記録)の開始および停止の指示に用いられる。拡大ボタン77は撮影モードのライブビュー表示において拡大モードのオンおよびオフ、並びに、拡大モード中の拡大率の変更を行うための押しボタンである。SETボタン75、LVボタン76、拡大ボタン77は操作部112に含まれる。
拡大ボタン77は、再生モードにおいては表示部107に表示された画像データの拡大率を増加させるためのボタンとして機能する。縮小ボタン78は、表示部107において拡大表示された画像データの拡大率を低減させるためのボタンである。再生ボタン79は、撮影モードと再生モードとを切り替える操作ボタンである。撮像装置100は撮影モード中にユーザが再生ボタン79を押すと、撮像装置100が再生モードに移行し、記録媒体110に記録された画像データを表示部107に表示する。縮小ボタン78、再生ボタン79は、操作部112に含まれる。
クイックリターンミラー12(以下、ミラー12)は、撮像装置100に装着された光学レンズから入射した光束を接眼ファインダー16側または撮像部101側のどちらかに入射するよう切り替えるためのミラーである。ミラー12は、露光、ライブビュー撮影、および動画撮影の際に、制御部111によって不図示のアクチュエータを制御されることによりアップダウンされる。ミラー12は通常時は接眼ファインダー16へと光束を入射させるように配されている。ミラー12は、撮影が行われる場合およびライブビュー表示の場合には、撮像部101に光束が入射するように上方に跳ね上がる(ミラーアップ)。またミラー12はその中央部がハーフミラーとなっている。ミラー12の中央部を透過した光束の一部は、焦点検出を行うための焦点検出部(不図示)に入射する。
通信端子10は、撮像装置100に装着された光学レンズ300と撮像装置100とが通信を行う為の通信端子である。端子カバー40は外部機器との接続ケーブルと撮像装置100とを接続する接続ケーブル等のコネクタ(不図示)を保護するカバーである。蓋41は記録媒体110を格納したスロットの蓋である。レンズマウント301は不図示の光学レンズ300を取り付けることができる取り付け部である。
Lマイク201aおよびRマイク201bはユーザの音声等を収音するためのマイクである。撮像装置100の背面から見て、左側にLマイク201aが、右側にRマイク201bが配置される。
<撮像装置100の構成>
図2は本実施例における撮像装置100の構成の一例を示すブロック図である。
光学レンズ300は、撮像装置100に着脱可能なレンズユニットである。例えば光学レンズ300はズームレンズまたはバリフォーカルレンズである。光学レンズ300は光学レンズ、光学レンズを駆動させるためのモータ、および後述する撮像装置100のレンズ制御部102と通信する通信部を有する。光学レンズ300は、通信部によって受信した制御信号に基づいて、光学レンズをモータによって移動させることで、被写体に対するフォーカスおよびズーミング、並びに、手ブレの補正ができる。
撮像部101は、光学レンズ300を経て撮像面に結像された被写体の光学像を電気信号に変換するための撮像素子、および撮像素子で生成された電気信号から画像データまたは動画データを生成して出力する画像処理部とを有する。撮像素子は、例えばCCD(Charge Coupled Device)、およびCMOS(Complementary Metal Oxide Semiconductor)である。本実施例では、撮像部101において静止画像データや動画データを含む画像データを生成して撮像部101から出力する一連の処理を「撮影」という。撮像装置100では、画像データは、DCF(Design rule for Camera File system)規格に従って、後述する記録媒体110に記録される。
レンズ制御部102は撮像部101から出力されたデータ、および後述する制御部111から出力された制御信号に基づいて、通信端子10を介して光学レンズ300に制御信号を送信し、光学レンズ300を制御する。
情報取得部103は、撮像装置100の傾きおよび撮像装置100の筐体内の温度などを検出する。例えば情報取得部103は撮像装置100の傾きを加速度センサまたはジャイロセンサによって検出する。また、例えば情報取得部103は撮像装置100の筐体内の温度を温度センサによって検出する。
音声入力部104は、マイクによって取得された音声から音声データを生成する。音声入力部104は、マイクによって撮像装置100の周辺の音声を取得し、取得された音声に対してアナログデジタル変換(A/D変換)、各種の音声処理を行い、音声データを生成する。本実施例では、音声入力部104はマイクを有する。音声入力部104の詳細な構成例については後述する。
揮発性メモリ105は、撮像部101において生成された画像データ、並びに音声入力部104によって生成された音声データを一時的に記録する。また、揮発性メモリ105は、表示部107に表示される画像データの一時的な記録領域、および制御部111の作業領域等としても使用される。
表示制御部106は、撮像部101から出力された画像データ、対話的な操作のための文字並びに、メニュー画面等を表示部107に表示するよう制御する。また、表示制御部106は静止画撮影および動画撮影の際、撮像部101から出力されたデジタルデータを逐次表示部107に表示するよう制御することで、表示部107を電子ビューファインダとして機能させることができる。例えば表示部107は、液晶ディスプレイまたは有機ELディスプレイである。また、表示制御部106は、撮像部101から出力された画像データおよび動画データ、対話的な操作のための文字、並びにメニュー画面等を、後述する外部出力部115を介して外部のディスプレイに表示させるよう制御することもできる。
符号化処理部108は、揮発性メモリ105に一時的に記録された画像データおよび音声データをそれぞれ符号化することができる。例えば、符号化処理部108は、画像データをJPEG規格またはRAW画像フォーマットに従って符号化およびデータ圧縮された動画データを生成することができる。例えば、符号化処理部108は、動画データをMPEG2規格またはH.264/MPEG4-AVC規格に従って符号化およびデータ圧縮された動画データを生成することができる。また例えば、符号化処理部108は、音声データをAC3AAC規格、ATRAC規格、またはADPCM方式に従って符号化およびデータ圧縮された音声データを生成することができる。また、符号化処理部108は、例えばリニアPCM方式に従って音声データをデータ圧縮しないように符号化してもよい。
記録制御部109は、データを記録媒体110に記録すること、および記録媒体110から読み出すことができる。例えば、記録制御部109は、符号化処理部108によって生成された静止画像データ、動画データ、および音声データを記録媒体110に記録すること、および記録媒体110から読み出すことができる。記録媒体110は例えばSDカード、CFカード、XQDメモリーカード、HDD(磁気ディスク)、光学式ディスク、および半導体メモリである。記録媒体110は、撮像装置100に着脱可能なように構成してもよいし、撮像装置100に内蔵されていてもよい。すなわち、記録制御部109は少なくとも記録媒体110にアクセスする手段を有していればよい。
制御部111は、入力された信号、および後述のプログラムに従ってデータバス116を介して撮像装置100の各構成要素を制御する。制御部111は、各種制御を実行するためのCPU、ROM、およびRAMを有する。なお、制御部111が撮像装置100全体を制御する代わりに、複数のハードウェアが分担して撮像装置全体を制御してもよい。制御部111が有するROMには、各構成要素を制御するためのプログラムが格納されている。また制御部111が有するRAMは演算処理等に利用される揮発性メモリである。
操作部112は、撮像装置100に対する指示をユーザから受け付けるためのユーザインタフェースである。操作部112は、例えば撮像装置100の電源をオン状態またはオフ状態にするための電源スイッチ72、撮影を指示するためのレリーズスイッチ61、画像データまたは動画データの再生を指示するための再生ボタン、およびモード切替スイッチ60等を有する。
操作部112はユーザの操作に応じて、制御信号を制御部111に出力する。また、表示部107に形成されるタッチパネルも操作部112に含めることができる。なお、レリーズスイッチ61は、SW1およびSW2を有する。レリーズスイッチ61が、いわゆる半押し状態となることにより、SW1がオンとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮像の準備動作を行うための準備指示を受け付ける。また、レリーズスイッチ61が、いわゆる全押し状態となることにより、SW2がオンとなる。このようなユーザ操作により、撮像動作を行うための撮像指示を受け付ける。また、操作部112は後述するスピーカ114から再生される音声データの音量を調整することができる操作部材(例えばボタン)を含む。
音声出力部113は、音声データをスピーカ114、および外部出力部115に出力することができる。音声出力部113に入力される音声データは、記録制御部109により記録媒体110から読み出された音声データ、不揮発性メモリ117から出力される音声データ、および符号化処理部から出力される音声データである。スピーカ114は、音声データを再生することができる電気音響変換器である。
外部出力部115は、画像データ、動画データ、および音声データなどを外部機器に出力することができる。外部出力部115は、例えば映像端子、マイク端子、およびヘッドホン端子等で構成される。
データバス116は、音声データ、動画データ、および画像データ等の各種データ、各種制御信号を撮像装置100の各ブロックへ伝達するためのデータバスである。
不揮発性メモリ117は不揮発性メモリであり、制御部111で実行される後述のプログラム等が格納される。また、不揮発性メモリ117には、音声データが記録されている。この音声データは例えば、被写体に合焦した場合に出力される合焦音、撮影を指示された場合に出力される電子シャッター音、撮像装置100を操作された場合に出力される操作音等の電子音の音声データである。
<撮像装置100の動作>
これから、本実施例の撮像装置100の動作について説明する。
本実施例の撮像装置100は、ユーザが電源スイッチ72を操作して電源をオンされたことに応じて、不図示の電源から、撮像装置の各構成要素に電力を供給する。例えば電源はリチウムイオン電池またはアルカリマンガン乾電池等の電池である。
制御部111は、電力が供給されたことに応じてモード切替スイッチ60の状態に基づいて、例えば、撮影モードおよび再生モードのどのモードで動作するかを判断する。動画記録モードでは、制御部111は撮像部101から出力された動画データと音声入力部104から出力された音声データとを1つの音声付き動画データとして記録する。再生モードでは、制御部111は記録媒体110に記録された画像データまたは動画データを記録制御部109によって読み出し、表示部107に表示するよう制御する。
まず、動画記録モードについて説明する。動画記録モードでは、まず制御部111は、撮像装置100を撮影待機状態に移行させるように制御信号を撮像装置100の各構成要素に送信する。例えば、制御部111は、撮像部101および音声入力部104に以下のような動作をさせるよう制御する。
撮像部101は、光学レンズ300を経て撮像面に結像された被写体の光学像を電気信号に変換し、撮像素子で生成された電気信号から動画データを生成する。そして、撮像部101は動画データを表示制御部106に送信し、表示部107によって表示する。ユーザは表示部107に表示された動画データを見ながら撮影の準備を行うことができる。
音声入力部104は、複数のマイクから入力されたアナログ音声信号をそれぞれA/D変換し、複数のデジタル音声信号を生成する。そして音声入力部104はその複数のデジタル音声信号から複数のチャンネルの音声データを生成する。音声入力部104は生成された音声データを音声出力部113に送信し、スピーカ114から音声データを再生させる。ユーザは、スピーカ114から再生された音声データを聞きながら、音声付き動画データに記録される音声データの音量を操作部112によって調整することができる。
次に、ユーザによってLVボタン76が押下されたことに応じて、制御部111は、撮像装置100の各構成要素に撮影開始の指示信号を送信する。例えば、制御部111は、撮像部101、音声入力部104、符号化処理部108、および記録制御部109に以下のような動作をさせるよう制御する。
撮像部101は、光学レンズ300を経て撮像面に結像された被写体の光学像を電気信号に変換し、撮像素子で生成された電気信号から動画データを生成する。そして、撮像部101は動画データを表示制御部106に送信し、表示部107によって表示する。また、また撮像部101は生成された動画データを揮発性メモリ105へ送信する。
音声入力部104は、複数のマイクから入力されたアナログ音声信号をそれぞれA/D変換し、複数のデジタル音声信号を生成する。そして音声入力部104はその複数のデジタル音声信号からマルチチャンネルの音声データを生成する。そして、音声入力部104は生成された音声データを揮発性メモリ105へ送信する。
符号化処理部108は、揮発性メモリ105に一時的に記録された動画データおよび音声データを読み出してそれぞれ符号化する。制御部111は、符号化処理部108によって符号化された動画データおよび音声データからデータストリームを生成し、記録制御部109に出力する。記録制御部109は、UDFまたはFAT等のファイルシステムに従って、入力されたデータストリームを音声付き動画データとして記録媒体110に記録していく。
撮像装置100の各構成要素は以上の動作を動画撮影中において継続する。
そして、ユーザからLVボタン76が押下されたことに応じて、制御部111は、撮像装置100の各構成要素に撮影終了の指示信号を送信する。例えば、制御部111は撮像部101、音声入力部104、符号化処理部108、および記録制御部109に以下のような動作をさせるよう制御する。
撮像部101は、動画データの生成を停止する。音声入力部104は、音声データの生成を停止する。
符号化処理部108は、揮発性メモリ105に記録されている残りの動画データおよび音声データを読み出して符号化する。制御部111は、符号化処理部108によって符号化された動画データおよび音声データからデータストリームを生成し、記録制御部109に出力する。
記録制御部109は、UDFまたはFAT等のファイルシステムに従って、データストリームを音声付き動画データのファイルとして記録媒体110に記録していく。そして、記録制御部109は、データストリームの入力が停止したことに応じて、音声付き動画データを完成させる。音声付き動画データの完成をもって、撮像装置100の記録動作は停止する。
制御部111は、記録動作が停止したことに応じて、撮影待機状態に移行させるように制御信号を撮像装置100の各構成要素に送信する。これにより、制御部111は撮像装置100を撮影待機状態に戻るよう制御する。
次に、再生モードについて説明する。再生モードでは、制御部111は、再生状態に移行させるように制御信号を撮像装置100の各構成要素に送信する。例えば、制御部111は符号化処理部108、記録制御部109、表示制御部106、および音声出力部113に以下のような動作をさせるよう制御する。
記録制御部109は、記録媒体110に記録された音声付き動画データを読み出して読みだした音声付き動画データを符号化処理部108に送信する。
符号化処理部108は、音声付き動画データから画像データ、および音声データを復号化する。符号化処理部108は、復号化された動画データを表示制御部106へ、復号化された音声データを音声出力部113へ、それぞれ送信する。
表示制御部106は、復号化された画像データを表示部107によって表示する。音声出力部113は、復号化された音声データをスピーカ114によって再生する。
以上のように、本実施例の撮像装置100は画像データ、および音声データを記録および再生することができる。
本実施例では、音声入力部104は、マイクから入力された音声信号のレベルの調整処理等の音声処理を実行する。本実施例では、音声入力部104は動画記録が開始されたことに応じてこの音声処理を実行する。なお、この音声処理は、撮像装置100の電源がオンにされてから実行されてもよい。また、この音声処理は、撮影モードが選択されたことに応じて実行されてもよい。また、この音声処理は、動画記録モードおよび音声メモ機能等の音声の記録に関連するモードが選択されたことに応じて実行されてもよい。また、この音声処理は、音声信号の記録が開始したことに応じて実行されてもよい。
<音声入力部104の構成>
図3は本実施例における音声入力部104の詳細な構成の一例を示すブロック図である。
本実施例において、音声入力部104は、Lマイク201a、Rマイク201b、およびノイズマイク201cの3つのマイクを有する。Lマイク201aおよびRマイク201bはそれぞれ第一のマイクの一例である。本実施例では、撮像装置100は環境音をLマイク201aおよびRマイク201bによって収音し、Lマイク201aおよびRマイク201bから入力された音声信号をステレオ方式で記録する。例えば環境音は、ユーザの音声、動物の鳴き声、雨音、および楽曲等の撮像装置100の筐体外および光学レンズ300の筐体外において発生する音である。
また、ノイズマイク201cは第2のマイクの一例である。ノイズマイク201cは、撮像装置100の筐体内、および光学レンズ300の筐体内で発生する、所定の騒音源(ノイズ源)からの駆動音等の騒音(ノイズ)を取得するためのマイクである。ノイズ源は例えば、超音波モータ(Ultrasonic Motor、以下USM)およびステッピングモータ(Stepper Motor、以下STM)などのモータである。騒音(ノイズ)は例えば、USMおよびSTM等のモータの駆動によって発生する振動音である。例えば、モータは被写体に合焦するためのAF処理において駆動する。撮像装置100は撮像装置100の筐体内、および光学レンズ300の筐体内で発生する駆動音等の騒音(ノイズ)をノイズマイク201cによって取得し、取得したノイズの音声データを用いて、後述するノイズパラメータを生成する。なお、本実施例では、Lマイク201a、Rマイク201b、およびノイズマイク201cは無指向性のマイクである。本実施例における、Lマイク201a、Rマイク201b、およびノイズマイク201cの配置例は図4を用いて後述する。
Lマイク201a、Rマイク201b、およびノイズマイク201cは、それぞれ取得した音声からアナログ音声信号を生成し、A/D変換部202に入力する。ここで、Lマイク201aから入力される音声信号をLch、Rマイク201bから入力される音声信号をRch、およびノイズマイク201cから入力される音声信号をNchと記載する。
A/D変換部202は、Lマイク201a、Rマイク201b、およびノイズマイク201cから入力されたアナログ音声信号をデジタル音声信号に変換する。A/D変換部202は変換されたデジタル音声信号をFFT部203に出力する。本実施例においてA/D変換部202はサンプリング周波数を48kHz、およびビット深度を16bitとして標本化処理を実行することで、アナログ音声信号をデジタル音声信号に変換する。
FFT部203は、A/D変換部202から入力された時間領域のデジタル音声信号に高速フーリエ変換処理を施し、周波数領域のデジタル音声信号に変換する。本実施例において、周波数領域のデジタル音声信号は、0Hzから48kHzまでの周波数帯域において、1024ポイントの周波数スペクトルを有する。また、周波数領域のデジタル音声信号は、0Hzからナイキスト周波数である24kHzまでの周波数帯域においては、513ポイントの周波数スペクトルを有する。本実施例では、撮像装置100は、FFT部203から出力された音声データのうち、0Hzから24kHzまでの513ポイントの周波数スペクトルを利用して、ノイズ低減の処理を行う。
ここで、高速フーリエ変換されたLchの周波数スペクトルを、Lch_Before[0]~Lch_Before[512]の513ポイントの配列データで表す。これらの配列データを総称する場合、Lch_Beforeと記載する。また、高速フーリエ変換されたRchの周波数スペクトルを、Rch_Before[0]~Rch_Before[512]の513ポイントの配列データで表す。これらの配列データを総称する場合、Rch_Beforeと記載する。なお、Lch_Beforeおよび、Rch_Beforeはそれぞれ第1の周波数スペクトルデータの一例である。
また、高速フーリエ変換されたNchの周波数スペクトルを、Nch_Before[0]~Nch_Before[512]の513ポイントの配列データで表す。これらの配列データを総称する場合、Nch_Beforeと記載する。なお、Nch_Beforeは第2の周波数スペクトルデータの一例である。
ノイズデータ生成部204は、Nch_Beforeに基づいて、Lch_BeforeおよびRch_Beforeに含まれるノイズを低減するためのデータを生成する。本実施例では、ノイズデータ生成部204は、Lch_Before[0]~Lch_Before[512]に含まれるノイズをそれぞれ低減するためのNL[0]~NL[512]の配列データをノイズパラメータを用いて生成する。また、ノイズデータ生成部204は、Rch_Before[0]~Rch_Before[512]に含まれるノイズをそれぞれ低減するためのNR[0]~NR[512]の配列データを生成する。NL[0]~NL[512]の配列データにおける周波数のポイントは、Lch_Before[0]~Lch_Before[512]の配列データにおける周波数のポイントと同じである。また、NR[0]~NR[512]の配列データにおける周波数のポイントは、Rch_Before[0]~Rch_Before[512]の配列データにおける周波数のポイントと同じである。
なお、NL[0]~NL[512]の配列データを総称する場合、NLと記載する。また、NR[0]~NR[512]を総称する場合、NRと記載する。NLおよびNRはそれぞれ第3の周波数スペクトルデータの一例である。
ノイズパラメータ記録部205には、ノイズデータ生成部204がNch_BeforeからをNLおよびNRを生成するためのノイズパラメータが記録されている。ノイズパラメータ記録部205はノイズの種類に応じた複数種類のノイズパラメータを記録している。Nch_BeforeからNLを生成するためのノイズパラメータを総称する場合、PLxと記載する。Nch_BeforeからNRを生成するためのノイズパラメータを総称する場合、PRxと記載する。
PLxおよびPRxはそれぞれNLおよびNRと同じ配列数を有する。例えば、PL1は、PL1[0]~PL1[512]の配列データである。また、PL1の周波数ポイントは、Lch_Beforeの周波数ポイントと同じである。また例えばPR1は、PR1[0]~PR1[512]の配列データである。PR1の周波数ポイントは、Rch_Beforeと同じ周波数ポイントである。ノイズパラメータは図5を用いて後述する。
ノイズパラメータ選択部206は、ノイズパラメータ記録部205に記録されているノイズパラメータから、ノイズデータ生成部204において使用されるノイズパラメータを決定する。ノイズパラメータ選択部206は、Lch_Before、Rch_Before、Nch_Before、およびレンズ制御部102から受信したデータに基づいて、ノイズデータ生成部204において用いられるノイズパラメータを決定する。ノイズパラメータ選択部206の動作については図8を用いて詳しく後述する。
なお、本実施例では、ノイズパラメータ記録部205には、ノイズパラメータとして513ポイントの周波数スペクトルそれぞれに対する係数がすべて記録されている。しかし、513ポイントの全ての周波数に対する係数ではなく、少なくともノイズを低減するために必要な周波数ポイントの係数が記録されていればよい。例えば、ノイズパラメータ記録部205は、ノイズパラメータとして、典型的な可聴周波数と考えられている20Hz~20kHzの周波数スペクトルそれぞれに対する係数を記録し、他の周波数スペクトルの係数を記録しなくてもよい。また例えば、ノイズパラメータとして、係数の値がゼロである周波数スペクトルに対する係数はノイズパラメータ記録部205に記録されていなくてもよい。
減算処理部207は、Lch_BeforeおよびRch_BeforeからNLおよびNRをそれぞれ減算する。例えば、減算処理部207はLch_BeforeからNLを減算するL減算器207a、およびRch_BeforeからNRを減算するR減算器207bを有する。L減算器207aはLch_BeforeからNLを減算し、Lch_After[0]~Lch_After[512]の513ポイントの配列データを出力する。R減算器207bはRch_BeforeからNRを減算し、Rch_After[0]~Rch_After[512]の513ポイントの配列データを出力する。本実施例では、減算処理部207はスペクトルサブトラクション法によって減算処理を実行する。
iFFT部208は、減算処理部207から入力された周波数領域のデジタル音声信号を逆高速フーリエ変換(逆フーリエ変換)して時間領域のデジタル音声信号に変換する。
音声処理部209は、イコライザ、オートレベルコントローラ、およびステレオ感の強調処理等の時間領域のデジタル音声信号に対する音声処理を実行する。音声処理部209は、音声処理を行った音声データを揮発性メモリ105へ出力する。
なお、本実施例では撮像装置100は第一のマイクとして2つのマイクを有するが、撮像装置100は第一のマイクを1つのマイクまたは3つ以上のマイクとしてもよい。例えば撮像装置100は、音声入力部104に第一のマイクとして1つのマイクを有する場合、1つのマイクによって収音された音声データをモノラル方式で記録する。また例えば撮像装置100は、音声入力部104に第一のマイクとして3つ以上のマイクを有する場合、3つ以上のマイクによって収音された音声データをサラウンド方式で記録する。
なお、本実施例では、Lマイク201a、Rマイク201b、およびノイズマイク201cは無指向性のマイクとしたが、これらのマイクは指向性マイクであってもよい。
<音声入力部104のマイクの配置>
ここで、本実施例の音声入力部104のマイクの配置例を説明する。図4はLマイク201a、Rマイク201b、およびノイズマイク201cの配置例を示している。
図4は、Lマイク201a、Rマイク201b、およびノイズマイク201cが取り付けられた撮像装置100の部分の断面図の一例である。この撮像装置100の部分は、外装部302、マイクブッシュ303、および固定部304により構成される。
外装部302は、マイクに環境音を入力するための穴(以下、マイク穴という)を有する。本実施例では、マイク穴はLマイク201a、およびRマイク201bの上方に形成される。一方、ノイズマイク201cは、撮像装置100の筐体内および光学レンズ300の筐体内において発生する駆動音を取得するために設けられており、環境音を取得する必要はない。したがって、本実施例では、外装部302にはノイズマイク201cの上方にマイク穴は形成されない。
撮像装置100の筐体内および光学レンズ300の筐体内において発生する駆動音は、マイク穴を介してLマイク201a、およびRマイク201bにより取得される。環境音が小さい状態で撮像装置100および光学レンズ300の筐体内において駆動音等が発生した場合、各マイクが取得する音声は、主としてこの駆動音となる。そのため、Lマイク201a、Rマイク201bからの音声レベルよりも、ノイズマイク201cからの音声レベルの方が大きい。つまり、この場合、各マイクから出力される音声信号のレベルの関係は、以下のようになる。
Lch≒Rch<Nch
また、環境音が大きくなると、マイク201cからの、撮像装置100または光学レンズ300で発生した駆動音の音声レベルよりも、Lマイク201a、Rマイク201bからの環境音の音声レベルの方が大きくなる。そのため、この場合、各マイクから出力される音声信号のレベルの関係は、以下のようになる。
Lch≒Rch>Nch
なお、本実施例では、外装部302に形成されるマイク穴の形状は楕円状であるが、円状または方形状等の他の形状でもよい。また、マイク201a上のマイク穴の形状とマイク201b上のマイク穴の形状とは、互いに異なっていてもよい。
なお、本実施例では、ノイズマイク201cは、Lマイク201aとRマイク201bに近接するように配置される。また、本実施例では、ノイズマイク201cは、Lマイク201aとRマイク201bの間に配置される。これにより、撮像装置100の筐体内および光学レンズ300の筐体内において発生する駆動音等からノイズマイク201cによって生成される音声信号は、この駆動音等からLマイク201aおよびRマイク201bによって生成される音声信号と似た信号になる。
マイクブッシュ303は、Lマイク201a、Rマイク201b、およびノイズマイク201cを固定するための部材である。固定部304は、マイクブッシュ303を外装部302に固定する部材である。
なお、本実施例では、外装部302および固定部304はPC材等のモールド部材で構成される。また、外装部302および固定部304はアルミまたはステンレス等の金属部材で構成されてもよい。また、本実施例では、マイクブッシュ303は、エチレンプロピレンジエンゴム等のゴム材で構成される。
<ノイズパラメータ>
図5はノイズパラメータ記録部205に記録されているノイズパラメータの一例である。ノイズパラメータは、撮像装置100の筐体内、および光学レンズ300の筐体内において発生した駆動音をノイズマイク201cが取得することにより生成した音声信号を補正するためのパラメータである。図5に示すように、本実施例では、ノイズパラメータ記録部205にはPLxおよびPRxが記録されている。本実施例では、駆動音の発生源は光学レンズ300の筐体内であるとして説明する。光学レンズ300の筐体内で発生した駆動音はレンズマウント301を介して撮像装置100の筐体内に伝達し、Lマイク201a、Rマイク201b、およびノイズマイク201cによって取得される。
駆動音の種類によって、駆動音の周波数が異なる。そのため、本実施例では、撮像装置100は、駆動音(ノイズ)の種類に対応した複数のノイズパラメータを記録する。そして、これら複数のノイズパラメータのうちの何れかを用いてノイズデータを生成する。本実施例では、撮像装置100は、恒常的なノイズとしてホワイトノイズに対するノイズパラメータを記録する。また、撮像装置100は、例えば光学レンズ300内のギアがかみ合わさることによって発生する短期的なノイズに対するノイズパラメータを記録する。また、撮像装置100は、長期的なノイズとして、例えばレンズ300の筐体内における摺動音に対するノイズパラメータを記録する。他にも、撮像装置100は光学レンズ300の種類ごと、並びに、情報取得部103によって検出される撮像装置100の筐体内の温度および撮像装置100の傾きごとにノイズパラメータを記録してもよい。
<ノイズデータの生成方法>
図6および図7を用いて、ノイズデータ生成部204におけるノイズデータの生成処理を説明する。ここではLchのデータに関するノイズデータの生成処理について説明するが、Rchのデータに関するノイズデータの生成方法も同様である。
まず、環境音がないと見なせる状況において、ノイズパラメータを生成する処理について説明する。図6(a)は、環境音がないと見なせる状況において光学レンズ300の筐体内で駆動音が発生した場合におけるLch_Beforeの周波数スペクトルの一例である。図6(b)は、環境音がないと見なせる状況において光学レンズ300の筐体内で駆動音が発生した場合におけるNch_Beforeの周波数スペクトルの一例である。横軸は0ポイント目から512ポイント目までの周波数を示す軸、縦軸は周波数スペクトルの振幅を示す軸である。
環境音がないと見なせる状況のため、Lch_BeforeおよびNch_Beforeでは、同じ周波数帯域の周波数スペクトルの振幅が大きくなる。また、光学レンズ300の筐体内において駆動音が発生しているため、同じ駆動音に対する各周波数スペクトルの振幅はLch_BeforeよりもNch_Beforeのほうが大きい傾向になる。
図6(c)は本実施例におけるPLxの一例である。本実施例では、PLxは、Lch_Beforeの各周波数スペクトルの振幅をNch_Beforeの各周波数スペクトルの振幅で除算したことによって算出された各周波数スペクトルの係数である。この除算の結果を、Lch_Before/Nch_Beforeと記載する。すなわち、PLxはLch_BeforeおよびNch_Beforeの振幅の比である。ノイズパラメータ記録部205は、Lch_Before/Nch_Beforeの値をノイズパラメータPLxとして記録している。前述のように、同じ駆動音に対する周波数スペクトルの振幅はLch_BeforeよりもNch_Beforeのほうが大きい傾向にあるため、ノイズパラメータPLxの各係数の値は1よりも小さい値になる傾向になる。ただし、Nch_Before[n]の値が所定の閾値より小さい場合、ノイズパラメータ記録部205はPLx[n]=0としてノイズパラメータPLxを記録する。
次に、生成されたノイズパラメータをNch_Beforeに適用する処理について説明する。図7(a)は環境音が存在している状況において光学レンズ300の筐体内で駆動音が発生した場合におけるLch_Beforeの周波数スペクトルの一例である。図7(b)は環境音が存在している状況において光学レンズ300の筐体内で駆動音が発生した場合におけるNch_Beforeの周波数スペクトルの一例である。横軸は0ポイント目から512ポイント目までの周波数を示す軸、縦軸は周波数スペクトルの振幅を示す軸である。
図7(c)は環境音が存在している状況において光学レンズ300の筐体内で駆動音が発生した場合におけるNLの一例である。ノイズデータ生成部204は、Nch_Beforeの各周波数スペクトルと、PLxの各係数とを乗算し、NLを生成する。NLは、このように生成された周波数スペクトルである。
図7(d)は環境音が存在している状況において光学レンズ300の筐体内で駆動音が発生した場合におけるLch_Afterの一例である。減算処理部207は、Lch_BeforeからNLを減算し、Lch_Afterを生成する。Lch_Afterは、このように生成された周波数スペクトルである。
これにより、撮像装置100は、光学レンズ300の筐体内の駆動音が原因であるノイズを低減し、ノイズの少ない環境音を記録することができる。
<ノイズパラメータ選択部206の説明>
図8は、ノイズパラメータ選択部206の詳細な構成の一例を示すブロック図である。
ノイズパラメータ選択部206には、Lch_Before、Rch_Before、Nch_Before、およびレンズ制御信号が入力される。
Nchノイズ検出部2061は、光学レンズ300の筐体内で発生した駆動音によるノイズをNch_Beforeから検出する。Nchノイズ検出部2061は、ノイズの検出結果に基づいて、ノイズの検出結果に関するデータをノイズ判定部2063に出力する。なお、本実施例では、Nchノイズ検出部2061はNch_Beforeの513ポイントのデータを利用してノイズを検出する。
環境音検出部2062は、環境音のレベルをLch_BeforeおよびRch_Beforeから検出する。環境音検出部2062は、環境音のレベルの検出結果に基づいて、環境音のレベルの検出結果に関するデータをノイズ判定部2063に出力する。
ノイズ判定部2063は、レンズ制御部102から入力されるレンズ制御信号、Nchノイズ検出部2061から入力されるデータ、および環境音検出部2062から入力されるデータに基づいて、ノイズデータ生成部204が用いるノイズパラメータを決める。ノイズ判定部2063は、決定したノイズパラメータの種類を示すデータをノイズデータ生成部204に出力する。
Nch微分部2064はNch_Beforeに対して微分処理を実行する。Nch微分部2064はNch_Beforeを微分処理した結果を示すデータを短期雑音検出部2065に出力する。短期雑音検出部2065は、Nch微分部2064から入力されたデータに基づいて、短期的なノイズが発生しているか否かを検出する。短期雑音検出部2065は、短期的なノイズが発生しているか否かを示すデータをノイズ判定部2063に出力する。なお、Nch微分部2064および短期雑音検出部2065はNchノイズ検出部2061に含まれる。
Nch積分部2066は、Nch_Beforeに対して積分処理を実行する。Nch積分部2066はNch_Beforeを微分処理した結果を示すデータを長期雑音検出部2067に出力する。長期雑音検出部2067は、Nch積分部2066から入力されたデータに基づいて、長期的なノイズが発生しているか否かを検出する。長期雑音検出部2067は、長期的なノイズが発生しているか否かを示すデータをノイズ判定部2063に出力する。なお、Nch積分部2066および長期雑音検出部2067はNchノイズ検出部2061に含まれる。
環境音抽出部2068は、環境音を抽出する。本実施例では、環境音抽出部2068はノイズラメータに基づいて、ノイズの影響が少ない周波数のデータを抽出する。例えば、環境音抽出部2068はノイズパラメータが所定の値以下である周波数のデータを抽出する。そして、環境音抽出部2068は抽出した周波数のデータに基づいて、環境音の大きさを示すデータを出力する。なお、環境音抽出部2068は環境音検出部2062に含まれる。
環境音判定部2069は、環境音の大きさを判定する。環境音判定部2069は、判定した環境音の大きさを示すデータをNchノイズ検出部2061およびノイズ判定部2063に入力する。Nchノイズ検出部2061は、環境音判定部2069から入力された環境音の大きさを示すデータに基づいて、後述する第一の閾値および第二の閾値を変更する。なお、環境音判定部2069は環境音検出部2062に含まれる。
<ノイズ低減処理のタイミングチャート>
本実施例におけるノイズ低減処理に関して、図9を用いて説明する。
図9(a)~(i)はノイズデータ生成部204、ノイズパラメータ選択部206、および減算処理部207における音声処理のタイミングチャートの一例である。本実施例では説明の簡易化のため、Lchの音声処理について説明するが、Rchの音声処理も同様である。図9(a)~(i)におけるグラフの横軸はすべて時間軸である。
図9(a)はレンズ制御信号の一例を示す。レンズ制御信号はレンズ制御部102が光学レンズ300に駆動するよう指示する信号である。本実施例では、レンズ制御信号のレベルはHighとLowの2値で表される。レンズ制御信号のレベルがHighである場合、レンズ制御部102は光学レンズ300に駆動するよう指示している状態である。レンズ制御信号のレベルがLowである場合、レンズ制御部102は光学レンズ300に駆動を指示していない状態である。
図9(b)はLch_Before[n]の値の一例を示すグラフである。縦軸はLch_Before[n]の値を示す軸である。本実施例では、Lch_Before[n]はFFT部203から出力されるLch_Beforeのうち、光学レンズ300の駆動音を示す信号が特徴的に表れるn番目の周波数ポイントの信号である。なお、本実施例では、n番目の周波数ポイントの信号について説明するが、ほかの周波数に対しても同様に音声処理が実行される。また、信号Xおよび信号Yで示す信号はノイズが含まれる信号である。本実施例では信号Xは短期的なノイズが含まれる信号を示す。信号Yは長期的なノイズが含まれるノイズ信号を示す。
図9(c)は環境音抽出部2068において抽出された環境音の大きさの一例を示すグラフである。縦軸は取得された環境音から生成された音声信号のレベルを示す。閾値Th1および閾値Th2は、環境音判定部2069において用いられる2つの閾値である。
図9(d)はNch_Before[n]の値の一例を示すグラフである。Nch_Before[n]は、FFT部203から出力されるNch_Beforeのうち、光学レンズ300の駆動音を示す信号が特徴的に表れるn番目の周波数ポイントの信号である。縦軸は、Nch_Before[n]の値を示す軸である。Nch_Before[n]には、図9(b)における、信号Xおよび信号Yで示したノイズ信号がLch_Beforeよりも特徴的に表れる。
図9(e)はNdiff[n]の値の一例を示すグラフである。Ndiff[n]は、Nch微分部2064から出力されるNdiffのうち、n番目の周波数ポイントの信号の値を示したものである。縦軸は、Ndiff[n]の値を示す軸である。Nch_Before[n]の所定時間あたりの値の変化量が大きい場合、Ndiff[n]の値が大きくなる。短期雑音検出部2065は、短期的なノイズを検出するために、第一の閾値である閾値Th_Ndiff[n]を持つ。閾値Th_Ndiff[n]は、環境音判定部2069から入力された環境音の大きさを示すデータおよびレンズ制御信号に基づいてレベル1~3の間で変化する。閾値Th_Ndiff[n]の初期値はレベル2とする。また閾値Th_Ndiff[n]のレベルは横の破線で表される。
図9(f)はNint[n]の値の一例を示すグラフである。本実施例では、Nint[n]は、Nch積分部2066から出力されるNintのうち、n番目の周波数ポイントの信号の値を示したものである。縦軸は、Nint[n]の値を示す軸である。Nch_Before[n]が継続的に大きい場合、Nint[n]の値が大きくなる。長期雑音検出部2067は、長期的なノイズを検出するために、第二の閾値である閾値Th_Nint[n]を持つ。閾値Th_Nint[n]は、環境音判定部2069から入力された環境音の大きさを示すデータおよびレンズ制御信号に基づいてレベル1~3の間で変化する。閾値Th_Nint[n]の初期値はレベル2とする。また閾値Th_Nint[n]のレベルは横の破線で表される。
図9(g)はノイズパラメータ選択部206によって選択されたノイズパラメータの一例を表す。本実施例では、無地部はPL1のノイズパラメータのみが選択されていることを示す。斜線部はPL1およびPL2のノイズパラメータが選択されていることを示す。格子縞部はPL1およびPL3のノイズパラメータが選択されていることを示す。
図9(h)はNL[n]の値の一例を示すグラフである。本実施例では、NL[n]は、ノイズデータ生成部204で生成されるNLのうち、n番目の周波数ポイントの信号の値を示したものである。縦軸は、NL[n]の値を示す軸である。
図9(i)はLch_After[n]の値の一例を示すグラフである。本実施例では、Lch_After[n]は、減算処理部207から出力されるLch_Afterのうち、n番目の周波数ポイントの信号の値を示したものである。縦軸は、Lch_After[n]の値を示す軸である。
次にそれぞれの動作に関してタイミングを時刻t701~t709を用いて説明する。
時刻t701において、レンズ制御部102は光学レンズ300およびノイズパラメータ選択部206に、レンズ制御信号としてHighの信号を出力する(図9(a))。時刻t701において、光学レンズ300の筐体内で駆動音が発生する可能性が高いため、短期雑音検出部2065は閾値Th_Ndiff[n]をレベル1に下げる(図9(e))。また時刻t701において、光学レンズ300の筐体内で駆動音が発生する可能性が高いため、長期雑音検出部2067は閾値Th_Nint[n]をレベル1に下げる(図9(f))。
時刻t702において、光学レンズ300が駆動し、ギアのかみ合う音などの短期的な駆動音が発生する。ノイズマイク201cがその短期的な駆動音を収音したことにより、Ndiff[n]の値が閾値Th_Ndiff[n]を超える(図9(e))。これに応じて、ノイズパラメータ選択部206はノイズパラメータPL1およびPL2を選択する(図9(g))。ノイズデータ生成部204はNch_Before[n]、およびノイズパラメータPL1およびPL2に基づいてNL[n]を生成する(図9(h))。減算処理部207は、Lch_Before[n]からNL[n]を減算し、Lch_After[n]を出力する(図9(i))。この場合、Lch_After[n]は恒常的なノイズおよび短期的なノイズが低減された音声信号になる。
時刻t703において、光学レンズ300が連続的な駆動を開始し、光学レンズ300の筐体内において摺動音などの長期的な駆動音が発生する。ノイズマイク201cがその長期的な駆動音を収音したことにより、Nint[n]の値が閾値Th_Nint[n]を超える(図9(f))。これに応じて、ノイズパラメータ選択部206はノイズパラメータPL1およびPL3を選択する(図9(g))。ノイズデータ生成部204はNch_Before[n]、および、ノイズパラメータPL1およびPL3に基づいてNL[n]を生成する(図9(h))。減算処理部207は、Lch_Before[n]からNL[n]を減算し、Lch_After[n]を出力する(図9(i))。この場合、Lch_After[n]は恒常的なノイズおよび長期的なノイズが低減された音声信号になる。
時刻t704において、光学レンズ300が連続的な駆動を停止する。ノイズマイク201cがその長期的な駆動音を収音しなくなるため、Nint[n]の値が閾値Th_Nint[n]以下になる(図9(f))。これに応じて、ノイズパラメータ選択部206はノイズパラメータPL1を選択する(図9(g))。ノイズデータ生成部204は、Nch_Before[n]、および、ノイズパラメータPL1に基づいてNL[n]を生成する(図9(h))。減算処理部207は、Lch_Before[n]からNL[n]を減算し、Lch_After[n]を出力する(図9(i))。この場合、Lch_After[n]は恒常的なノイズが低減された音声信号になる。
時刻t705においてレンズ制御部102は、光学レンズ300およびノイズパラメータ選択部206にレンズ制御信号としてLowの信号を出力する(図9(a))。この場合、光学レンズ300の筐体内において駆動音が発生する可能性が低くなるため、短期雑音検出部2065は閾値Th_Ndiff[n]をレベル2に上げる(図9(e))。また、この場合、光学レンズ300の筐体内において駆動音が発生する可能性が低くなるため、長期雑音検出部2067は閾値Th_Nint[n]をレベル2に上げる(図9(f))。
時刻t706において、環境音抽出部2068において抽出された環境音の大きさが閾値Th1を超える。環境音が大きい場合、ユーザには音声信号に含まれるノイズが感じられにくくなるため、短期雑音検出部2065は閾値Th_Ndiff[n]をレベル3に上げる(図9(e))。また、環境音が大きい場合、ユーザには音声信号に含まれるノイズが感じられにくくなるため、長期雑音検出部2067は閾値Th_Nint[n]をレベル3に上げる(図9(f))。
時刻t707において、レンズ制御部102は光学レンズ300およびノイズパラメータ選択部206に、レンズ制御信号としてHighの信号を出力する(図9(a))。この場合、光学レンズ300の筐体内において駆動音が発生する可能性が高いため、短期雑音検出部2065は閾値Th_Ndiff[n]をレベル2に下げる(図9(e))。また、この場合、光学レンズ300の筐体内において駆動音が発生する可能性が高いため、長期雑音検出部2067は閾値Th_Nint[n]をレベル2に下げる(図9(f))。
時刻t708において、環境音抽出部2068において抽出された環境音の大きさが閾値Th2を超える。環境音がさらに大きい場合、ユーザには音声信号に含まれるノイズはほとんど感じられないため、ノイズパラメータ選択部206はNchノイズ検出部2061から入力されるデータにかかわらずノイズパラメータPL1のみを選択する。
以上のように、撮像装置100は第2のマイクであるノイズマイク201cを利用してノイズ低減処理を実行することで、ノイズが低減された環境音を記録することができる。
なお、本実施例では、撮像装置100は、光学レンズ300の筐体内で発生する駆動音を低減したが、撮像装置100内で発生する駆動音を低減してもよい。撮像装置100内で発生する駆動音は例えば、基板の音鳴き、および無線電波ノイズである。なお、基板の音鳴きは、例えば基板上のコンデンサに電圧を印加した際に生じる基板のきしみによって発生する音である。
なお、環境音判定部2069の閾値Th1および閾値Th2、短期雑音検出部2065の閾値Th_Ndiff[n]、並びに、長期雑音検出部2067の閾値Th_Nint[n]は発生する駆動音と環境音とに基づいて決定される。そのため、撮像装置100は、光学レンズ300の種類および撮像装置100の傾き等によって、これらの閾値をそれぞれ変更してもよい。
[第二の実施例]
ここで、図10は第二の実施例における音声入力部104の構成例を示すブロック図である。図3に示す音声入力部104の構成と異なる部分は、減算処理部207およびiFFT部208である。ここで、図3と同様の処理部に関する説明は省略する。
iFFT部208aは、FFT部203から入力されたLch_Before、およびRch_Beforeをそれぞれ逆高速フーリエ変換して、周波数領域のデジタル音声信号を時間領域のデジタル音声信号へそれぞれ変換する。また、iFFT部208bは、NL,およびNRをそれぞれ逆高速フーリエ変換して、周波数領域のデジタル音声信号を時間領域のデジタル音声信号へ変換する。
減算処理部207は、iFFT部208aから入力されたデジタル音声信号からiFFT部208bから入力されたデジタル音声信号を減算する。減算処理部207における演算処理は、デジタル音声信号を時間領域において減算する波形減算方式である。
なお、波形減算を行う場合、撮像装置100はノイズパラメータとして、デジタル音声信号の位相に関するパラメータも記録してもよい。
その他の撮像装置100の構成および動作は第一の実施例と同様である。
[その他の実施例]
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本発明は上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施例に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施例にわたる構成要素を適宜組み合わせてもよい。