(57)【要約】【課題】ノイズ低減処理におけるノイズ推定の精度を向上させること。【解決手段】入力する音信号に基づき音信号のピーク値がクリップしたクリップ部を検出するクリップ検出部と、動作部の動作状態が変化するタイミングを検出する動作タイミング検出部と、入力する前記音信号のうち動作部の動作音として推定される推定ノイズを算出するために用いる音信号を、クリップ検出部の検出結果および動作タイミング検出部の検出結果に基づいて判定するノイズ推定対象判定部と、ノイズ推定対象判定部によって判定された音信号に基づき推定ノイズを算出する推定ノイズ算出部と、動作タイミング検出部の検出結果に基づいて動作部が動作している時の音信号の周波数スペクトルを決定し、決定した周波数スペクトルから、推定ノイズ算出部によって算出された推定ノイズの周波数スペクトルを減算するノイズ低減処理部と、を備える。【選択図】図１
2014022953.tif 000002
【特許請求の範囲】
【請求項１】
入力する音信号に基づき、前記音信号のピーク値がクリップしたクリップ部を検出するクリップ検出部と、
動作部の動作状態が変化するタイミングを検出する動作タイミング検出部と、
入力する前記音信号のうち、前記動作部の動作音として推定される推定ノイズを算出するために用いる前記音信号を、前記クリップ検出部の検出結果および前記動作タイミング検出部の検出結果に基づいて判定するノイズ推定対象判定部と、
前記ノイズ推定対象判定部によって前記推定ノイズを算出するために用いる前記音信号であると判定された前記音信号に基づき、前記推定ノイズを算出する推定ノイズ算出部と、
前記動作タイミング検出部の検出結果に基づいて前記動作部が動作している時の前記音信号の周波数スペクトルを決定し、決定した前記動作部が動作している時の前記音信号の周波数スペクトルから、前記推定ノイズ算出部によって算出された前記推定ノイズの周波数スペクトルを減算するノイズ低減処理部と、
を備えることを特徴とする信号処理装置。
【請求項２】
前記ノイズ推定対象判定部は、
前記クリップ部が含まれていない前記音信号を、前記推定ノイズを算出するために用いる前記音信号であると判定することを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記推定ノイズ算出部は、
前記動作部が動作している時に取得された前記音信号のうち前記クリップ部が含まれていない前記音信号と、前記動作部が動作していない時に取得された前記音信号のうち前記クリップ部が含まれていない前記音信号とのうち、少なくともいずれか一方に基づき、前記推定ノイズを算出することを特徴とする請求項１あるいは２に記載の信号処理装置。
【請求項４】
前記推定ノイズ算出部は、
前記クリップ検出部によって前記クリップ部が検出された場合、前記クリップ部を含む前記音信号の周波数スペクトルを補正した周波数スペクトルに基づき、前記推定ノイズを算出することを特徴とする請求項１から３のうちいずれか一項に記載の信号処理装置。
【請求項５】
前記ノイズ推定対象判定部によって判定された前記クリップ部が含まれていない前記音信号に基づき、前記推定ノイズ算出部によって前記推定ノイズが算出された場合、前記ノイズ低減処理部によって用いられる前記推定ノイズを格納する記憶領域内の前記推定ノイズを、前記推定ノイズ算出部よって算出された前記推定ノイズで更新する推定ノイズ更新部をさらに備えることを特徴とする請求項１から４のうちいずれか一項に記載の信号処理装置。
【請求項６】
前記クリップ検出部によって前記クリップ部が検出された場合、前記クリップ部を含む前記音信号をクリップされる以前の波形として推定される前記音信号に補正する信号補正部をさらに備え、
前記推定ノイズ算出部は、
前記信号補正部によって補正された前記音信号に基づき、前記推定ノイズを算出することを特徴とする請求項１から５のうちいずれか一項に記載の信号処理装置。
【請求項７】
第１マイクから第１の音信号を、前記第１マイクと異なる第２マイクから第２の音信号をそれぞれ取得する音信号取得部をさらに備え、
前記ノイズ推定対象判定部は、
同一時刻に取得された前記第１の音信号あるいは前記第２の音信号のうちいずれか一方に前記クリップ部が含まれている場合、前記クリップ部が含まれていない前記第１の音信号あるいは前記第２の音信号を、前記推定ノイズを算出するために用いる前記音信号の期間と判定することを特徴とする請求項１から６のうちいずれか一項に記載の信号処理装置。
【請求項８】
前記ノイズ推定対象判定部は、
入力する前記音信号の時間軸方向に区切られる区間内において、検出された前記クリップ部の個数が予め閾値未満である前記音信号を、前記クリップ部が含まれていない音信号であって、前記推定ノイズを算出するために用いる前記音信号であると判定することを特徴とする請求項１から７のうちいずれか一項に記載の信号処理装置。
【請求項９】
前記ノイズ推定対象判定部は、
入力する前記音信号の時間軸方向に区切られる区間内において、検出された前記クリップ部が発生している時間軸方向における長さが予め閾値未満である前記音信号を、前記クリップ部が含まれていない前記音信号であって、前記推定ノイズを算出するために用いる前記音信号であると判定することを特徴とする請求項１から８のうちいずれか一項に記載の信号処理装置。
【請求項１０】
前記ノイズ推定対象判定部は、
前記クリップ検出部によって前記クリップ部が検出された場合、入力する前記音信号の時間軸方向に区切られる区間内における前記クリップ部の位置に応じて、前記推定ノイズを算出するために用いる前記音信号を判定することを特徴とする請求項１から９のうちいずれか一項に記載の信号処理装置。
【請求項１１】
上述の請求項１から１０のうちいずれか一項に記載の信号処理装置を含むことを特徴とする撮像装置。
【請求項１２】
入力する音信号に基づき、前記音信号のピーク値がクリップしたクリップ部を検出するクリップ検出ステップと、
動作部の動作状態が変化するタイミングを検出する動作タイミング検出ステップと、
前記クリップ検出ステップにおいて前記クリップ部が検出された場合、入力する前記音信号のうち、前記動作部の動作音として推定される推定ノイズを算出するために用いる前記音信号を、前記クリップ検出ステップにおける検出結果、および、前記動作タイミング検出ステップにおける検出結果に基づいて判定するノイズ推定対象判定ステップと、
前記ノイズ推定対象判定ステップにおいて前記推定ノイズを算出するために用いる前記音信号であると判定された前記音信号に基づき、前記推定ノイズを算出する推定ノイズ算出ステップと、
前記動作タイミング検出ステップにおける検出結果に基づいて前記動作部が動作している時の前記音信号の周波数スペクトルを決定し、決定した前記動作部が動作している時の前記音信号の周波数スペクトルから、前記推定ノイズ算出ステップにおいて算出された前記推定ノイズの周波数スペクトルを減算するノイズ低減処理ステップと、
を備えることを特徴とするノイズ低減処理方法。
【請求項１３】
コンピュータを、
入力する音信号に基づき、前記音信号のピーク値がクリップしたクリップ部を検出するクリップ検出手段、
動作部を動作状態が変化するタイミングを検出する動作タイミング検出手段、
入力する前記音信号のうち、前記動作部の動作音として推定される推定ノイズを算出するために用いる前記音信号を、前記クリップ検出手段の検出結果および前記動作タイミング検出手段の検出結果に基づいて判定するノイズ推定対象判定手段、
前記ノイズ推定対象判定手段によって前記推定ノイズを算出するために用いる前記音信号であると判定された前記音信号に基づき、前記推定ノイズを算出する推定ノイズ算出手段、
前記動作タイミング検出手段の検出結果に基づいて前記動作部が動作している時の前記音信号の周波数スペクトルを決定し、決定した前記動作部が動作している時の前記音信号の周波数スペクトルから、前記推定ノイズ算出手段によって算出された前記推定ノイズの周波数スペクトルを減算するノイズ低減処理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音信号に対して信号処理をする信号処理装置、撮像装置、ノイズ低減処理方法、およびプログラムに関する。
【背景技術】
【０００２】
マイクが収音した音信号が、マイクの録音範囲を超える音圧となると、音信号の最大値が録音レベルを超えてしまうため、音信号の波形にクリップが発生する。
このクリップが発生している音信号を周波数スペクトルに変換した場合、マイクが収音した音信号には本来含まれていない高い周波数の周波成分が重畳してしまうおそれがある。
例えば、録音された音信号の波形におけるクリップ部分を修復する波形修正方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−９９０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、クリップが発生している音信号の周波数スペクトルを用いて、マイクが収音した音信号のノイズを低減した場合、高い周波数の周波数成分のノイズを低減できない問題や、高い周波数の周波数成分のノイズ以外の目的音を削除してしまう問題があった。
【０００５】
本発明は、前記の点に鑑みてなされたものであり、ノイズ低減処理におけるノイズ推定の精度を向上させるための信号処理装置、撮像装置、ノイズ低減処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、入力する音信号に基づき、前記音信号のピーク値がクリップしたクリップ部を検出するクリップ検出部と、動作部の動作状態が変化するタイミングを検出する動作タイミング検出部と、入力する前記音信号のうち、前記動作部の動作音として推定される推定ノイズを算出するために用いる前記音信号の期間を、前記クリップ検出部の検出結果および前記動作タイミング検出部の検出結果に基づいて判定するノイズ推定対象判定部と、前記ノイズ推定対象判定部によって判定された期間の前記音信号に基づき、前記推定ノイズを算出する推定ノイズ算出部と、前記動作タイミング検出部の検出結果に基づいて前記動作部が動作している時の前記音信号の周波数スペクトルを決定し、決定した前記動作部が動作している時の前記音信号の周波数スペクトルから、前記推定ノイズ算出部によって算出された前記推定ノイズの周波数スペクトルを減算するノイズ低減処理部と、を備える。
【発明の効果】
【０００７】
本発明によれば、ノイズ低減処理におけるノイズ推定の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る撮像装置の構成の一例を示すブロック図である。
【図２】本発明の第１実施形態に係る動作部の動作タイミング信号と音信号との関係の一例を説明するための参考図である。
【図３】図２に示す音信号と窓関数との関係を説明するための参考図である。
【図４】本発明の第１実施形態に係る低減処理部の機能構成の一例を示すブロック図である。
【図５】クリップが発生していないマイク音信号の一例を示す図である。
【図６】クリップが発生しているマイク音信号の一例を示す図である。
【図７】クリップの一例を拡大した図である。
【図８】クリップを含まない期間の周波数スペクトルの一例を示す図である。
【図９】クリップを含む期間の周波数スペクトルの一例を示す図である。
【図１０】フロアリングスペクトルＦＳの一例を示す図である。
【図１１】動作期間スペクトルＮＳの一例を示す図である。
【図１２】本発明の第１実施形態に係るノイズ低減処理方法の一例について説明するためのフローチャートである。
【図１３】衝撃音処理周波数スペクトルと衝撃音フロアリングスペクトルの一例を説明するための図である。
【図１４】周波数スペクトルの周波数成分の一例について説明するための図である。
【図１５】本発明の第１実施形態に係る衝撃音ノイズ低減処理の一例について説明するための図である。
【図１６】マイク音信号に含まれるクリップ部と窓関数の波形との関係を示す図である。
【図１７】本発明の第２実施形態に係る低減処理部の機能構成の一例を示すブロック図である。
【図１８】本発明の第３実施形態に係る低減処理部の機能構成の一例を示すブロック図である。
【図１９】本発明の第４実施形態に係る低減処理部の構成例を示す図である。
【発明を実施するための形態】
【０００９】
［第１実施形態］
本発明の実施形態について図面を参照して詳細に説明する。図１には、本実施形態に係る撮像装置の構成を示すブロック図が示されている。なお、本実施形態では、本発明に係る信号処理装置が撮像装置に搭載されている例について以下説明するが、本発明はこれに限られない。
図１に示す通り、撮像装置１００は、光学系による像を撮像し、得られた画像データを記憶媒体２００に記憶させるとともに、マイクによって収音されたマイク音信号に対してノイズ低減処理を行い、ノイズ低減処理後の音信号を記憶媒体２００に記憶させる。
この撮像装置１００は、低減処理部２５０を備える。この低減処理部２５０は、マイク音信号に含まれる推定ノイズを取得し、この推定ノイズに基づきマイク音からノイズを低減するノイズ低減処理を行う。
【００１０】
本実施形態に係る低減処理部２５０は、動作部が動作することによって発生するノイズ（以下、動作音という）を低減するためのノイズ低減処理を実行する。例えば、撮像装置１００において、ＡＦ（Ａｕｔｏ Ｆｏｃｕｓ）やＶＲ（Ｖｉｂｒａｔｉｏｎ Ｒｅｄｕｃｔｉｏｎ）等の処理において光学系を駆動する場合、モータや光学系が動くことにより動作音が発生する。また、モータの駆動開始時、駆動終了時、および回転方向切り換え時に、一時的に大きい音の動作音が発生する。このように、動作部の動作状態が変化した場合に、一時的に発生する大きい音を衝撃音という。一方、この衝撃音よりも小さく、光学系やモータが動いているときに発生する音を駆動音という。つまり、駆動音は、衝撃音以外の動作音（ノイズ）である。本実施形態に係る低減処理部２５０が低減しようとするノイズとは、駆動音と衝撃音とを含む動作音である。つまり、この低減処理部２５０は、マイク音信号から衝撃音によるノイズを低減する衝撃音ノイズ低減処理を行うとともに、マイク音信号から駆動音によるノイズを低減する駆動音ノイズ低減処理を行う。
【００１１】
以下、撮像装置１００と低減処理部２５０の構成の一例について詳細に説明する。なお、本実施形態において、低減処理部２５０は、撮像装置１００に内蔵されている例について説明するが、本発明はこれに限られない。例えば、低減処理部２５０は、撮像装置１００の外部装置であってもよい。
【００１２】
撮像装置１００は、撮像部１１０と、レンズＣＰＵ１２０と、バッファメモリ部１３０と、画像処理部１４０と、表示部１５０と、記憶部１６０と、通信部１７０と、操作部１８０と、ボディＣＰＵ１９０と、計時部２２０と、マイク２３０と、Ａ/Ｄ変換部２４０と、低減処理部２５０と、電池２６０と、を備える。
【００１３】
撮像部１１０は、光学系１１１と、撮像素子１１９と、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換部１２１とを備え、設定される撮像条件（例えば絞り値、露出値等）に応じて予め決められた動作パターンに従い、レンズＣＰＵ１２０により制御される。この撮像部１１０は、光学系１１１による光学像を撮像素子１１９に結像させて、Ａ／Ｄ変換部１２１によってデジタル信号に変換された光学像に基づく画像データを生成する。
【００１４】
光学系１１１は、焦点調整レンズ（以下、「ＡＦレンズ」という）１１２と、手ブレ補正レンズ（以下、「ＶＲレンズ」という）１１３と、ズームレンズ１１４と、ズームエンコーダ１１５と、レンズ駆動部１１６と、ＡＦエンコーダ１１７と、手ブレ補正部１１８とを備える。
これら光学系１１１の各構成は、レンズＣＰＵ１２０による焦点調整処理、手ブレ補正処理、およびズーム処理において、各機能の処理に応じて予め決められた動作パターンに従って、駆動する。つまり、光学系１１１は、撮像装置１００における動作部である。
【００１５】
この光学系１１１は、ズームレンズ１１４から入射し、ズームレンズ１１４、ＶＲレンズ１１３、ＡＦレンズ１１２の順番で通過した光学像を、撮像素子１１９の受光面に導く。
レンズ駆動部１１６は、ＡＦレンズ１１２およびズームレンズ１１４の位置を制御するための駆動制御信号（コマンド）をレンズＣＰＵ１２０から入力する。このレンズ駆動部１１６は、入力するコマンドに応じて、ＡＦレンズ１１２およびズームレンズ１１４の位置を制御する。
つまり、このコマンドがレンズＣＰＵ１２０からレンズ駆動部１１６に入力されてレンズ駆動部１１６が駆動することにより、ＡＦレンズ１１２およびズームレンズ１１４が移動（動作）する。本実施形態において、レンズＣＰＵ１２０がコマンドを出力したタイミングを、ＡＦレンズ１１２およびズームレンズ１１４の動作が開始される動作開始タイミングという。
【００１６】
ズームエンコーダ１１５は、ズームレンズ１１４の位置を表わすズームポジションを検出し、レンズＣＰＵ１２０に出力する。このズームエンコーダ１１５は、ズームレンズ１１４の移動を検出し、例えば、ズームレンズ１１４が光学系１１１内を移動している場合にパルス信号をレンズＣＰＵ１２０に出力する。一方、停止している場合、ズームエンコーダ１１５は、パルス信号の出力を停止する。
【００１７】
ＡＦエンコーダ１１７は、ＡＦレンズ１１２の位置を表わすフォーカスポジションを検出し、レンズＣＰＵ１２０およびボディＣＰＵ１９０に出力する。このＡＦエンコーダ１１７は、ＡＦレンズ１１２の移動を検出する。このＡＦエンコーダ１１７は、ＡＦレンズ１１２の移動を検出し、例えば、ＡＦレンズ１１２が光学系１１１内を移動している場合にパルス信号をレンズＣＰＵ１２０に出力する。一方、停止している場合、ＡＦエンコーダ１１７は、パルス信号の出力を停止する。
【００１８】
なお、ズームエンコーダ１１５は、ズームポジションを検出するために、ズームレンズ１１４の駆動方向を検出するものであってもよい。また、ＡＦエンコーダ１１７は、フォーカスポジションを検出するために、ＡＦレンズ１１２の駆動方向を検出するものであってもよい。
例えば、ズームレンズ１１４やＡＦレンズ１１２は、レンズ駆動部１１６によって駆動される駆動機構（例えばモータやカム等）が時計回り（ＣＷ）あるいは反時計回り（ＣＣＷ）に回転することにより光軸方向に移動する。ズームエンコーダ１１５およびＡＦエンコーダ１１７は、それぞれ、駆動機構の回転方向（ここでは、時計回りあるいは反時計回り）を検出することによって、ズームレンズ１１４およびＡＦレンズ１１２が移動していることを検出するものであってもよい。
【００１９】
手ブレ補正部１１８は、例えば振動ジャイロ機構を備え、光学系１１１による像の光軸ぶれを検出し、この光軸ぶれを打ち消す方向にＶＲレンズ１１３を動かす。この手ブレ補正部１１８は、例えばＶＲレンズ１１３を動かしている状態においてハイレベルの信号をレンズＣＰＵ１２０に出力する。一方、ＶＲレンズ１１３を停止させている状態において、手ブレ補正部１１８は、ローレベルの信号をレンズＣＰＵ１２０に出力する。
【００２０】
撮像素子１１９は、例えば、光電変換面を備え、その受光面に結像した光学像を電気信号に変換して、変換した電気信号をＡ／Ｄ変換部１２１に出力する。
この撮像素子１１９は、操作部１８０を介して撮影指示を受け付けた際に得られる画像データを、静止画又は動画の画像データとして、Ａ／Ｄ変換部１２１を介して記憶媒体２００に記憶させる。一方、撮像素子１１９は、操作部１８０を介して撮像指示を受け付けていない状態において、連続的に得られる画像データをスルー画データ（プレビュー画像データ）として、Ａ／Ｄ変換部１２１を介してボディＣＰＵ１９０および表示部１５０に出力する。
【００２１】
Ａ／Ｄ変換部１２１は、撮像素子１１９によって変換された電気信号をデジタル化して、デジタル信号である画像データをバッファメモリ部１３０に出力する。
【００２２】
バッファメモリ部１３０は、撮像部１１０によって撮像された画像データを、一時的に記憶する。また、バッファメモリ部１３０は、マイク２３０が収音したマイク検出音に応じたマイク音信号を、一時的に記憶する。
【００２３】
画像処理部１４０は、記憶部１６０に記憶されている画像処理条件を示す情報を参照して、バッファメモリ部１３０に一時的に記憶されている画像データに対して、画像処理をする。画像処理された画像データは、通信部１７０を介して記憶媒体２００に記憶される。なお、画像処理部１４０は、記憶媒体２００に記憶されている画像データに対して、画像処理をしてもよい。
【００２４】
表示部１５０は、例えば液晶ディスプレイであって、撮像部１１０によって得られた画像データや操作画面等を表示する。
【００２５】
記憶部１６０は、レンズＣＰＵ１２０によってシーン判定の際に参照される判定条件を示す情報や、シーン判定によって判断されたシーン毎に対応付けられた撮像条件を示す情報等を記憶する。
【００２６】
通信部１７０は、カードメモリ等の取り外しが可能な記憶媒体２００と接続され、この記憶媒体２００への情報（画像データや音データ等）の書込み、読み出し、あるいは消去する。
【００２７】
操作部１８０は、例えば、電源スイッチ、シャッターボタン、マルチセレクタ（十字キー）、又はその他の操作キーを備え、ユーザによって操作されることでユーザからの操作入力を受け付け、操作入力に応じた操作内容を示す操作情報をレンズＣＰＵ１２０およびボディＣＰＵ１９０に出力する。この操作部１８０は、ユーザによって押下される際、物理的な動作音を発生する場合がある。本実施形態において、ユーザの操作入力に応じた操作内容を示す操作情報が操作部１８０からレンズＣＰＵ１２０あるいはボディＣＰＵ１９０に入力するタイミングを、操作部１８０の動作が開始される動作開始タイミングという。
【００２８】
記憶媒体２００は、撮像装置１００に対して着脱可能に接続される記憶部であって、例えば、撮像部１１０によって生成された（撮影された）画像データや、低減処理部２５０により音信号処理された音信号を記憶する。
【００２９】
バス２１０は、撮像部１１０と、レンズＣＰＵ１２０と、バッファメモリ部１３０と、画像処理部１４０と、表示部１５０と、記憶部１６０と、通信部１７０と、操作部１８０と、ボディＣＰＵ１９０と、計時部２２０と、Ａ/Ｄ変換部２４０と、低減処理部２５０と接続され、各構成部から出力されたデータ等を転送する。
【００３０】
計時部２２０は、日にちや時刻を計時して、計時した日時を示す日時情報を出力する。
【００３１】
マイク２３０は、周辺の音を収音し、この音のマイク音信号をＡ/Ｄ変換部２４０に出力する。このマイク２３０によって収音されるマイク音信号には、主に、収音対象である目的音と、動作部による動作音（ノイズ）とが含まれている。
【００３２】
ここで、マイク２３０によって取得されたマイク音信号について、例えば、ＡＦレンズ１１２が動作している時に得られたマイク音信号を例に、図２、３を参照して説明する。
図２（Ａ）は、ＡＦエンコーダ１１７の出力と時間との関係の一例を示す。図２（Ｂ）は、マイク音信号と時間の関係の一例が示されている。図２（Ａ）と２（Ｂ）の時間軸は、同一の時刻を示す。なお、図２（Ｂ）は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。図２（Ａ）と図２（Ｂ）に示すＡＦレンズ１１２の動作パターンは、例えば、距離Ｐでピントを合わせるＡＦ処理を行う場合の動作パターンである。
【００３３】
図２（Ａ）には、その縦軸に、ＡＦエンコーダ１１７の出力に基づく、ＡＦレンズ１１２を駆動する駆動機構の回転方向（ＣＷ，ＣＷＷ）を示す。
この距離Ｐでピントを合わせるＡＦ処理を行う動作パターンでは、図２（Ａ）に示す通り、ＡＦレンズ１１２を駆動する駆動機構が、時刻ｔ１０〜ｔ２０において、時計回りＣＷに回転して、その後、静止する。
つまり、時刻ｔ１０は、ＡＦレンズ１１２の動作開始タイミングを、時刻ｔ２０は、ＡＦレンズ１１２の動作停止タイミングを、それぞれ表わしている。なお、本実施形態において、動作開始タイミングの時刻ｔ１０は、ＡＦレンズ１１２の位置を制御するためのコマンドをレンズＣＰＵ１２０がレンズ駆動部１１６に出力したタイミング（時刻）である。動作停止タイミングの時刻ｔ２０は、ＡＦエンコーダ１１７からのパルス信号の出力が停止したタイミングである。
【００３４】
従って、図２（Ｂ）に示す通り、時刻ｔ１０〜ｔ２０の期間で、マイク音信号にＡＦレンズ１１２による動作音が目的音に重畳している、又は、動作音が目的音に重畳している可能性が高い。本実施形態においては、時刻ｔ１０〜ｔ２０の期間において、ＡＦレンズ１１２による動作音であるノイズが発生している場合を例に、以下説明する。
また、図２（Ｂ）に示す通り、時刻ｔ１０、ｔ２０においては、それぞれ衝撃音が発生している可能性が高い。本実施形態においては、時刻ｔ１０、ｔ２０において、ＡＦレンズ１１２による衝撃音が発生している場合を例に、以下説明する。
【００３５】
また、衝撃音が発生した場合、その衝撃音が発生している可能性の高い時間長（期間）は、各動作パターンに応じて予め決められている。距離Ｐでピントを合わせるＡＦ処理を行う動作パターンでは、図３に示すような衝撃音の発生する時間長Ｌ１、Ｌ２が決められている。
図３は、距離Ｐでピントを合わせるＡＦ処理を行う動作パターンでＡＦレンズ１１２を駆動した際に、マイク２３０で収音されるマイク音信号の一例を示す図である。図３に示すグラフは、縦軸にマイク２３０によって収音されたマイク音信号の振幅を、横軸に時間を、それぞれ示す。なお、図３は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。また、図３に示す時刻ｔ１０、ｔ２０は、図２（Ａ）、２（Ｂ）に示す時刻ｔ１０、ｔ２０と同じである。
【００３６】
距離Ｐでピントを合わせるＡＦ処理を行う動作パターンでは、動作開始タイミングから時間長Ｌ１の期間、および、動作停止タイミングから時間長Ｌ２の期間が、それぞれ、衝撃音の発生する時間長であると予め決められている。よって、本実施形態では、時刻ｔ１０から時間長Ｌ１の期間（ｔ１０〜ｔ１１）、および時刻ｔ２０から時間長Ｌ２の期間（ｔ２０〜ｔ２１）が、それぞれ、衝撃音の発生する期間である。ここでは、動作開始タイミングから時間長Ｌ１の期間を、動作開始タイミング期間という。また、動作停止タイミングから時間長Ｌ２の期間を、動作停止タイミング期間という。
ここで、動作部が動作しない可能性の高い期間を非動作期間Ｔａとする。また、動作部の動作により衝撃音が発生する可能性の高い期間を衝撃音発生期間Ｔｂとする。さらに、動作部の動作により駆動音が発生する可能性の高い期間を駆動音発生期間Ｔｃとする。本実施形態では、時刻ｔ０〜ｔ１０の期間、ｔ２１〜の期間が、非動作期間Ｔａである。時刻ｔ１０〜ｔ１１の期間、時刻ｔ２０〜ｔ２１の期間が、衝撃音発生期間Ｔｂである。時刻ｔ１１〜ｔ２０の期間が、駆動音発生期間Ｔｃである。
【００３７】
図１に戻って、撮像装置１００の各構成の説明を続ける。
レンズＣＰＵ１２０は、設定された撮像条件（例えば絞り値、露出値等）に応じた動作パターンに従って撮像部１１０を制御する。このレンズＣＰＵ１２０は、ズームエンコーダ１１５から出力されるズームポジションおよびＡＦエンコーダ１１７から出力されるフォーカスポジションに基づき、レンズ駆動部１１６を駆動するコマンドを生成して、レンズ駆動部１１６に出力する。その生成アルゴリズムは、必要に応じて既存のアルゴリズムを適宜用いてよい。
【００３８】
ボディＣＰＵ１９０は、撮像装置１００を統括的に制御する。このボディＣＰＵ１９０は、動作タイミング検出部１９１を備える。
動作タイミング検出部１９１は、撮像装置１００が備えている動作部の動作状態が変化するタイミングを検出する。この動作状態が変化するタイミングとしては、例えば、動作部が動作を開始する動作開始タイミングと、動作部の動作が停止する動作停止タイミングとがある。
ここでいう動作部とは、例えば、上述した光学系１１１、あるいは、操作部１８０のことであり、撮像装置１００が備えている構成のうち、動作することにより、または、動作されることにより、動作音を生じる（または、動作音を生じる可能性がある）構成である。
言い換えると、動作部とは、撮像装置１００が備えている構成のうち、動作部が動作することにより生じた動作音、または、動作部が動作されることにより生じた動作音が、マイク２３０により収音される（または、収音される可能性のある）構成である。
【００３９】
例えば、この動作タイミング検出部１９１は、動作部を動作させるコマンドに基づいて、動作部の動作状態が変化するタイミングを検出してもよい。このコマンドとは、動作部を動作させる駆動部に対して、動作部を動作させるようにする駆動制御信号、または、この駆動部を駆動させる駆動制御信号である。
【００４０】
例えば、動作タイミング検出部１９１は、ズームレンズ１１４、ＶＲレンズ１１３、または、ＡＦレンズ１１２を駆動させるため、レンズ駆動部１１６または手ブレ補正部１１８に入力されるコマンドに基づいて、ズームレンズ１１４、ＶＲレンズ１１３、または、ＡＦレンズ１１２の動作が開始された動作開始タイミングを検出する。この場合、動作タイミング検出部１９１は、レンズＣＰＵ１２０がコマンドを生成する場合に、レンズＣＰＵ１２０内部で実行される処理やコマンドに基づいて、動作開始タイミングを検出してもよい。
また、動作タイミング検出部１９１は、操作部１８０から入力されるズームレンズ１１４、または、ＡＦレンズ１１２を駆動させることを示す操作信号に基づいて、動作開始タイミングを検出してもよい。
【００４１】
また、動作タイミング検出部１９１は、動作部が動作したことを示す信号に基づいて、動作部の動作状態が変化するタイミングを検出してもよい。
例えば、動作タイミング検出部１９１は、ズームエンコーダ１１５またはＡＦエンコーダ１１７の出力に基づいて、ズームレンズ１１４またはＡＦレンズ１１２が駆動されたことを検出することにより、ズームレンズ１１４またはＡＦレンズ１１２の動作開始タイミングを検出してもよい。また、動作タイミング検出部１９１は、ズームエンコーダ１１５またはＡＦエンコーダ１１７の出力に基づいて、ズームレンズ１１４またはＡＦレンズ１１２が停止されたことを検出することにより、ズームレンズ１１４またはＡＦレンズ１１２の動作停止タイミングを検出してもよい。
また、動作タイミング検出部１９１は、手ブレ補正部１１８からの出力に基づいて、ＶＲレンズ１１３が駆動されたことを検出することにより、ＶＲレンズ１１３の動作開始タイミングを検出してもよい。この動作タイミング検出部１９１は、手ブレ補正部１１８からの出力に基づいて、ＶＲレンズ１１３が停止されたことを検出することにより、ＶＲレンズ１１３の動作停止タイミングを検出してもよい。
さらに、動作タイミング検出部１９１は、操作部１８０からの入力に基づいて、操作部１８０が操作されたことを検出することにより、動作部が動作するタイミングを検出してもよい。
【００４２】
動作タイミング検出部１９１は、撮像装置１００が備えている動作部の動作開始タイミングを検出し、検出した動作開始タイミングを示す動作タイミング信号を、低減処理部２５０に出力する。また、動作タイミング検出部１９１は、撮像装置１００が備えている動作部の動作停止タイミングを検出し、この検出した動作停止タイミングを示す動作タイミング信号を、低減処理部２５０に出力する。
本実施形態において、動作タイミング検出部１９１は、レンズＣＰＵ１２０から入力されるコマンドに基づき、ＡＦレンズ１１２を動かすコマンドがレンズＣＰＵ１２０からレンズ駆動部１１６に出力されるタイミングを、ＡＦレンズ１１２の動作開始タイミングと判定する。また、動作タイミング検出部１９１は、衝撃音の発生時間長Ｌ１を参照し、例えば、図３を用いた例で示す衝撃音が発生している時刻ｔ１０〜ｔ１１を示す情報を、動作開始タイミング期間を示す信号（動作タイミング信号）として出力する。
【００４３】
また、動作タイミング検出部１９１は、ＡＦエンコーダ１１７から入力されるパルス信号に基づき、このパルス信号の出力が停止した時を、ＡＦレンズ１１２の動作が停止した動作停止タイミングと判定する。また、動作タイミング検出部１９１は、衝撃音の発生時間長Ｌ２を参照して、例えば、図３を用いた例で示す衝撃音が発生している時刻ｔ２０〜ｔ２１を示す情報を、動作停止タイミング期間を示す信号（動作タイミング信号）として出力する。
【００４４】
Ａ/Ｄ変換部２４０は、マイク２３０から入力されたアナログ信号であるマイク音信号をデジタル信号であるマイク音信号に変換する。このＡ/Ｄ変換部２４０は、デジタル信号であるマイク音信号を、低減処理部２５０に出力する。また、Ａ/Ｄ変換部２４０は、デジタル信号であるマイク音信号を、バッファメモリ部１３０あるいは記憶媒体２００に記憶させる構成であってもよい。この場合、Ａ/Ｄ変換部２４０は、計時部２２０によって計時された日時情報に基づき、マイク音信号が取得された時刻を示す情報を、マイク音信号に関連付けて、バッファメモリ部１３０あるいは記憶媒体２００に記憶させる。
【００４５】
低減処理部２５０は、Ａ／Ｄ変換部２４０によりデジタル信号に変換されたマイク音信号に対して、例えばＡＦレンズ１１２、ＶＲレンズ１１３、ズームレンズ１１４等の動作部による動作音であるノイズを低減するなどのノイズ低減処理を実行し、このノイズ低減処理した音信号を記憶媒体２００に記憶させる。
【００４６】
次に、図４を参照して、低減処理部２５０について詳細に説明する。図４は、本実施形態に係る低減処理部２５０の機能構成の一例を示すブロック図である。
低減処理部２５０は、クリップ検出部２５１と、音信号処理部２５２と、ノイズ推定対象判定部２５３と、推定ノイズ算出部２５４と、ノイズ低減処理部２５５と、逆フーリエ変換部２５６と、記憶部２５７と、推定ノイズ更新部２５８とを含む。
【００４７】
音信号処理部２５２は、クリップ検出部２５１から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされるスペクトルに変換して、この周波数領域で表わされるスペクトル（周波数スペクトル）をノイズ推定対象判定部２５３に出力する。
この音信号処理部２５２は、例えば、マイク音信号にフーリエ変換、あるいは高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）を行うことで、マイク音信号を周波数領域に変換する。本実施形態において、音信号処理部２５２は、例えば、マイク音信号にフーリエ変換を行うことで、窓関数で重み付けされた各区間に対応する周波数スペクトルを算出する。
ここで、窓関数で重み付けされた区間とは、信号処理の単位（フレーム）であって、時間軸方向に一定の間隔（時間長）で繰り返される期間である。これらの各フレームは、隣り合う各フレームと半分ずつオーバーラップしている。なお、窓関数は、例えば、ハニング窓（ハニングウィンドウ）関数が利用可能である。
【００４８】
上述した図３を参照して、音信号処理部２５２により算出される窓関数の各フレームに対応する周波数スペクトルの一例について説明する。
音信号処理部２５２は、上述の通り、Ａ/Ｄ変換部２４０から出力されたマイク音信号に対して、図３に示すように他のフレームと半分ずつオーバーラップしている窓関数Ｗ１〜Ｗ１４で重み付けをする。これにより、マイク音信号は、窓関数のサイズに分割される。この音信号処理部２５２は、例えば窓関数Ｗ１〜Ｗ１４で重み付けされた各フレームのマイク音信号ごとに、例えばフーリエ変換を行い、周波数領域における周波数スペクトルＳ１〜Ｓ１４を算出する。つまり、音信号処理部２５２によって算出される周波数スペクトルＳ１〜Ｓ１４は、窓関数Ｗ１〜Ｗ１４の期間にそれぞれ対応する周波数スペクトルである。また、窓関数Ｗ１〜１４でそれぞれ重み付けされる期間をフレームＦ１〜１４という。
【００４９】
図３に示す通り、距離αでピントを合わせるＡＦ処理を行う場合の動作パターンにおいては、動作開始タイミング期間と動作停止タイミング期間において衝撃音が発生する。
上述の通り、時刻ｔ０〜ｔ１０の期間、時刻ｔ２１〜の期間が、非動作期間Ｔａ（動作部が動作しない可能性の高い期間）である。時刻ｔ１０〜ｔ１１の期間（動作開始タイミング期間）、時刻ｔ２０〜ｔ２１の期間（動作停止タイミング期間）が、衝撃音発生期間Ｔｂ（動作部の動作により衝撃音が発生する可能性の高い期間）である。時刻ｔ１１〜ｔ２０の期間が、駆動音発生期間Ｔｃ（動作部の動作により駆動音が発生する可能性の高い期間）である。
つまり、窓関数Ｗ１、Ｗ１３、Ｗ１４に対応する周波数スペクトルＳ１、Ｓ１３、Ｓ１４は、非動作期間Ｔａに取得されたマイク音信号の周波数スペクトルである。窓関数Ｗ５〜Ｗ８に対応する周波数スペクトルＳ５〜Ｓ８は、動作部が動作する可能性の高い期間のうち、駆動音発生期間Ｔｃに取得されたマイク音信号の周波数スペクトルである。
また、窓関数Ｗ２〜Ｗ４に対応する周波数スペクトルＳ２〜Ｓ４と、窓関数Ｗ９〜Ｗ１２に対応する周波数スペクトルＳ９〜Ｓ１２は、動作部が動作する可能性の高い期間のうち、衝撃音発生期間Ｔｂに取得されたマイク音信号の周波数スペクトルである。
【００５０】
次に、図５、６、７を参照して、クリップ検出部２５１によるクリップ検出処理の一例について説明する。図５、６は、Ａ/Ｄ変換部２４０によって変換されたデジタル信号であるマイク音信号の一例を示すグラフである。図５には、クリップが発生していないマイク音信号の一例を示す。図６には、クリップが発生しているマイク音信号の一例を示す。図７には、クリップの一例を拡大して示す。
本実施形態において、デジタル信号に変換されたマイク音信号は、１６ビットの信号（−３２７６８〜＋３２７６７）で表現される。図５、６の縦軸には、簡略化のため、このマイク音信号の１６ビットの値（−３２７６８〜＋３２７６７）を、−１から＋１の範囲の値で表示している。つまり、デジタル信号に変換されたマイク音信号は、予め決められた下限値（−３２７６８）から上限値（＋３２７６７）までの範囲の値で表現される。よって、デジタル信号に変換されたマイク音信号は、本来、下限値（−３２７６８）から上限値（＋３２７６７）までの範囲を超えた値を示す情報を含んでいたとしても、下限値（−３２７６８）あるいは上限値（＋３２７６７）の値に変更される。このように、本来含んでいた情報が下限値（−３２７６８）あるいは上限値（＋３２７６７）の値に変更された場合、クリップが発生する。つまり、クリップとは、波形のピーク値が限界値を超過することである。このクリップは、発生する動作音（ノイズ）の変動や、目的音に動作音（ノイズ）が重畳されることにより、マイク２３０の録音範囲を超える音圧となることにより、発生する。
【００５１】
クリップ検出部２５１は、Ａ/Ｄ変換部２４０から出力されたデジタル信号であるマイク音信号に、下限値（−３２７６８）あるいは上限値（＋３２７６７）が含まれているか否かを判定する。つまり、クリップ検出部２５１は、下限値（−３２７６８）あるいは上限値（＋３２７６７）を含む部分を、マイク音信号のピーク値がクリップされた部分（クリップ部）として検出する。クリップ部とは、波形のピーク値が限界値を超過している部分をいう。波形のピーク値が限界値を超過している時間長を、クリップ部の長さという。
下限値（−３２７６８）あるいは上限値（＋３２７６７）が含まれている場合、クリップ検出部２５１は、この下限値（−３２７６８）あるいは上限値（＋３２７６７）を含む部分（クリップ部）の時刻（時間軸方向の位置）を検出する。クリップ検出部２５１は、検出した最小値（−３２７６８）あるいは最大値（＋３２７６７）を含む部分（クリップ部）の時刻（時間軸方向の位置）を検出し、クリップ部が発生している時間軸方向の位置を示すクリップ位置情報として取得する。なお、クリップ検出部２５１が検出する時刻（時間軸方向の位置）とは、現在時刻を示す絶対的な時刻であってもよく、マイク音信号を取得したときを開始時点として開始時点からの経過時間を示す相対的な時点を示すものであってもよい。
【００５２】
本実施形態において、クリップ検出部２５１は、それぞれのフレームに対応するマイク音信号ごとに、クリップ部が含まれているか否かを判定する。フレームに対応するマイク音信号にクリップ部が含まれていると判定した場合、クリップ検出部２５１は、このフレームにクリップ部が含まれていることを示す情報を、ノイズ推定対象判定部２５３に出力する。
【００５３】
図５には、クリップが発生していないマイク音信号の一例として、フレームＦ１０１〜Ｆ１０８に対応するマイク音信号の一例を示す。図示の通り、フレームＦ１０１〜Ｆ１０８に対応するマイク音信号の振幅の最低値は、予め決められている下限値（−３２７６８）より大きく、マイク音信号の振幅の最高値は、予め決められている上限値（＋３２７６７）未満である。よって、図５に示すマイク音信号には、クリップが発生していない。
【００５４】
一方、図６には、クリップが発生しているマイク音信号の一例として、フレームＦ１〜Ｆ８に対応するマイク音信号の一例を示す。なお、この図６に示すマイク音信号は、図３に示したマイク音信号と同一の信号である。図示の通り、フレームＦ２〜Ｆ５に対応するマイク音信号の振幅の最低値が、予め決められている下限値（−３２７６８）となり、マイク音信号の振幅の最高値が、予め決められている上限値（＋３２７６７）となる部分がある。つまり、図６に示すマイク音信号には、クリップが発生している。このクリップが発生している部分（クリップ部）を、図７の拡大図に示す。
【００５５】
図７は、クリップが発生した場合のマイク音信号の一例を拡大して示す図である。図７には、低減処理部２５０に入力するマイク音信号の一例を実線で示す。この図７に実線で示すマイク音信号は、２箇所でクリップが発生していることを示す。
このようにクリップが発生している部分は、図７に点線で示すように、下限値（−３２７６８）に相当する−１の値よりも小さい値を本来有している。このため、クリップが発生している場合、マイク音信号から、本来存在している情報が変更されてしまう。
【００５６】
ここで、図６に示すマイク音信号に発生しているクリップについて詳細に説明する。図６に示す例では、動作開始タイミング期間（ｔ１０〜ｔ１１）において、クリップ部が９回発生している。また、この動作開始タイミング期間後（フレームＦ４、Ｆ５）において、クリップ部が２回発生している。よって、クリップ検出部２５１は、フレームＦ２〜５において、マイクロ音信号の下限値（−３２７６８）あるいは上限値（＋３２７６７）を検出する。つまり、クリップ検出部２５１は、フレームＦ２〜Ｆ５において、クリップが発生していると判定する。クリップ検出部２５１は、判定結果をノイズ推定対象判定部２５３に出力する。
【００５７】
なお、本発明はこれに限られず、クリップ検出部２５１は、マイク音信号の下限値あるいは上限値ではない予め決められた閾値と、マイク音信号の値とを比較することにより、クリップが発生しているか否かを判定するものであってもよい。
例えば、Ａ／Ｄ変換部１２１がゲインを自動的に調整するオートゲインコントロール機能を備える場合、マイク音信号の最低値と最高値が、１６ビットの信号の下限値（−３２７６８）と上限値（＋３２７６７）よりも内側になる場合がある。この場合、クリップ検出部２５１は、下限値の−３２７６８よりもやや高い値を最低値側の閾値とし、上限値の＋３２７６７よりもやや低い値を最高値側の閾値とする。そして、これら各閾値を、それぞれクリップ検出部２５１がクリップ部を検出する際の閾値として設定する。クリップ検出部２５１は、マイク音信号のデジタル値が、最低値側の閾値以下あるいは最高値側の閾値以上になった場合、クリップが発生していると判定する。
【００５８】
ノイズ推定対象判定部２５３は、クリップ検出部２５１によってクリップが発生していると判定された場合、クリップ検出部２５１から入力される情報に基づき、時間軸方向におけるクリップ部の発生時刻（発生位置）に応じて、推定ノイズを算出するために用いるマイク音信号のフレームを判定する。言い換えると、ノイズ推定対象判定部２５３は、音信号処理部２５２によってマイク音信号から変換された周波数スペクトルのうち、推定ノイズを算出するために用いる周波数スペクトルのフレームを判定（決定）する。
本実施形態において、ノイズ推定対象判定部２５３は、クリップ検出部２５１によってクリップが発生していると判定されたフレームに対応するマイク音信号（周波数スペクトル）以外を、推定ノイズを算出するためにマイク音信号として決定する。言い換えると、ノイズ推定対象判定部２５３は、クリップ検出部２５１によってクリップが発生していると判定されたフレームに対応するマイク音信号（周波数スペクトル）を、ノイズ推定を算出するためのマイク音信号（周波数スペクトル）として選択しない。
【００５９】
また、より具体的に説明すると、ノイズ推定対象判定部２５３は、推定ノイズを算出するためのマイク音信号（周波数スペクトル）として、推定ノイズを含むノイズ期間に対応するマイク音信号に対応する周波数スペクトル（以下、動作期間スペクトル、という）ＮＳと、推定ノイズを含まない非ノイズ期間に対応するマイク音信号の周波数スペクトル（以下、フロアリングスペクトル、という）ＦＳとを判定する。
このノイズ推定対象判定部２５３は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、例えば、音信号処理部２５２から出力される周波数スペクトルＳ１〜Ｓ１４から、動作部が動作する可能性の高い期間のうち駆動音が発生する可能性の高い期間（駆動音発生期間Ｔｃ）に取得される音信号に対応する周波数スペクトルを、動作期間スペクトルＮＳとして取得する。本実施形態において、ノイズ推定対象判定部２５３は、駆動音発生期間Ｔｃに対応する周波数スペクトルのうち、動作開始タイミング期間（ｔ１０〜ｔ１１）と時間軸方向に最も近い駆動音発生期間Ｔｃの周波数スペクトルＳ５を動作期間スペクトルＮＳとして取得する。言い換えると、ノイズ推定対象判定部２５３は、非動作期間Ｔａと時間軸方向に最も近い駆動音発生期間Ｔｃの周波数スペクトルを、動作期間スペクトルＮＳとして取得する。
【００６０】
また、ノイズ推定対象判定部２５３は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、音信号処理部２５２から出力される周波数スペクトルＳ１〜Ｓ１４から、動作部が動作しない可能性の高い期間（非動作期間Ｔａ）に取得される音信号に対応する一の周波数スペクトルを、フロアリングスペクトルＦＳとして取得する。本実施形態において、ノイズ推定対象判定部２５３は、非動作期間Ｔａに対応する周波数スペクトルのうち、動作開始タイミング期間（ｔ１０〜ｔ１１）と時間軸方向に最も近い非動作期間Ｔａの周波数スペクトルＳ１をフロアリングスペクトルＦＳとして取得する。言い換えると、ノイズ推定対象判定部２５３は、駆動音発生期間Ｔｃと時間軸方向に最も近い非動作期間Ｔａの周波数スペクトルを、フロアリングスペクトルＦＳとして取得する。
【００６１】
本実施形態では、図３を参照して上述したとおり、衝撃音が発生している時刻ｔ１０〜ｔ１１を示す情報が、動作タイミング信号として、動作タイミング検出部１９１からノイズ推定対象判定部２５３に入力する。これにより、ノイズ推定対象判定部２５３は、例えば、この衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い非動作期間Ｔａに対応する周波数スペクトルＳ１を、フロアリングスペクトルＦＳと判定する。また、ノイズ推定対象判定部２５３は、例えば、この衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ５を、動作期間スペクトルＮＳと判定する。
【００６２】
また、ノイズ推定対象判定部２５３は、クリップ検出部２５１の検出結果に基づき、判定した動作期間スペクトルＮＳとフロアリングスペクトルＦＳにおいて、クリップが発生しているか否かを判定する。
本実施形態では、図６を参照して上述したとおり、フレームＦ１においてクリップが発生していないが、フレームＦ５においてクリップが発生している。よって、ノイズ推定対象判定部２５３は、フロアリングスペクトルＦＳにはクリップが発生していないが、動作期間スペクトルＮＳにはクリップが発生していると判定する。
従って、ノイズ推定対象判定部２５３は、この衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に、周波数スペクトルＳ５の次に近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ６においてクリップが発生しているか否かを判定する。本実施形態において、フレームＦ６にはクリップは発生していない。よって、ノイズ推定対象判定部２５３は、フレームＦ５の直後のフレームＦ６においてクリップが発生していないと判定し、フレームＦ５の直後のフレームＦ６に対応する周波数スペクトルを、動作期間スペクトルＮＳと判定する。
このようにして、ノイズ推定対象判定部２５３は、フレームＦ１に対応する周波数スペクトルＳ１をフロアリングスペクトルＦＳと判定し、フレームＦ６に対応する周波数スペクトルＳ６を動作期間スペクトルＮＳと判定したことを示す判定結果を示す情報を推定ノイズ算出部２５４に出力する。
【００６３】
ここで、ノイズ推定対象判定部２５３の処理について、より詳細に説明する。
例えば、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い非動作期間Ｔａに対応する周波数スペクトルＳ１（つまり、フロアリングスペクトルＦＳの第１候補）にクリップが発生している場合、ノイズ推定対象判定部２５３は、この第１候補の次に、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に近い非動作期間Ｔａに対応する周波数スペクトルをフロアリングスペクトルＦＳの第２候補と判定する。そして、ノイズ推定対象判定部２５３は、クリップ検出部２５１の判定結果に基づき、第２候補のフロアリングスペクトルＦＳにクリップが発生しているか否かを判定する。クリップが発生している場合、ノイズ推定対象判定部２５３は、さらに第２候補の次に、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に近い非動作期間Ｔａに対応する周波数スペクトルをフロアリングスペクトルＦＳの第３候補と判定し、同様にクリップの有無を判定する。一方、クリップが発生していない場合、ノイズ推定対象判定部２５３は、この第２候補をフロアリングスペクトルＦＳと判定する。
【００６４】
また、ノイズ推定対象判定部２５３は、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ５（つまり、動作期間スペクトルＮＳの第１候補）にクリップが発生している場合、この第１候補の次に、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に近い駆動音発生期間Ｔｃに対応する周波数スペクトルを動作期間スペクトルＮＳの第２候補と判定する。そして、ノイズ推定対象判定部２５３は、クリップ検出部２５１の判定結果に基づき、第２候補の動作期間スペクトルＮＳにクリップが発生しているか否かを判定する。クリップが発生している場合、ノイズ推定対象判定部２５３は、さらに第２候補の次に、衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に近い駆動音発生期間Ｔｃに対応する周波数スペクトルを動作期間スペクトルＮＳの第３候補と判定し、同様にクリップの有無を判定する。一方、クリップが発生していない場合、ノイズ推定対象判定部２５３は、この第２候補を動作期間スペクトルＮＳと判定する。
【００６５】
ここで、図８、９を参照して、クリップを含まないフレームの周波数スペクトルと、クリップを含むフレームの周波数スペクトルの一例について説明する。
図８は、クリップを含まない期間の周波数スペクトルの一例を示す図である。ここでは、図５を参照して上述したクリップを含まないフレームＦ１０５の周波数スペクトルＳ１０５の例を用いて、以下説明する。
図９は、クリップを含む期間の周波数スペクトルの一例を示す図である。ここでは、図６を参照して上述したクリップを含むフレームＦ５の周波数スペクトルＳ５の例を用いて、以下説明する。
なお、ここでは、説明簡略化のため、フレームＦ１０５のマイク音信号とフレームＦ５のマイク音信号は、クリップが発生していることを除いては、同じマイク音信号が含まれているものとする。
図８に示す通り、周波数スペクトルＳ１０５は、周波数ｆ１〜ｆ８にそれぞれ対応する周波数成分ｆｃ１０５１〜Ｆ１０５８を含む。
また、図９に示す通り、周波数スペクトルＳ５は、周波数ｆ１〜ｆ８にそれぞれ対応する周波数成分ｆｃ５１〜Ｆ５８を含む。
【００６６】
周波数スペクトルＳ５と周波数スペクトルＳ１０５を比較すると、周波数スペクトルＳ１０５に含まれる高い周波数Ｆ７，８には、高周波成分ｆｃ１０５７、ｆｃ１０５８が含まれていない。一方、周波数スペクトルＳ５の高い周波数ｆ７，８には、高周波成分ｆｃ５７、ｆｃ５８が含まれている。さらに、周波数ｆ７、ｆ８以外の周波数成分も差が発生している。
【００６７】
このように、クリップが含まれている場合、クリップ部の急激な波形変化（振幅が急激に変化するピーク値）の影響により、高い周波数成分の値が発生してしまう。つまり、クリップした期間のマイク音信号に基づき、動作期間スペクトルＮＳやフロアリングスペクトルＦＳを算出した場合、実際に発生した音の周波数スペクトルと異なる周波数スペクトルが得られる。よって、クリップが発生した期間の動作期間スペクトルＮＳやフロアリングスペクトルＦＳに基づき、推定ノイズを算出した場合、この高い周波数成分に起因する誤差が生じるおそれがある。
従って、クリップ部の影響により発生した高い周波数成分が含まれている動作期間スペクトルＮＳを用いて推定ノイズを算出し、算出した推定ノイズに基づきノイズ推定処理を行った場合、高い周波数成分を減算しすぎるおそれがある。
また、クリップ部の影響により発生した高い周波数成分が含まれているフロアリングスペクトルＦＳを用いて推定ノイズを算出し、算出した推定ノイズに基づきノイズ推定処理を行った場合、フロアリングスペクトルＦＳの高い周波数成分の周波数スペクトルを実際の値よりも大きく推定してしまうため、高い周波数成分に発生する動作音（ノイズ）を低減できず、ノイズの除去効果が低下するおそれがある。
【００６８】
本実施形態に係る低減処理部２５０は、上述の通り、推定ノイズを算出する際に、クリップが発生していると判定された期間（フレーム）に対応するマイク音信号は、ノイズ推定を算出するためのマイク音信号として使用しない。つまり、ノイズ推定対象判定部２５３は、クリップが含まれている周波数スペクトルを、動作期間スペクトルＮＳおよびフロアリングスペクトルＦＳとしては判定しない。よって、クリップが発生しているマイク音信号を用いて、誤差を含む推定ノイズを算出してしまう事態を回避することができる。
【００６９】
また、図１０、１１を参照して、ノイズ推定対象判定部２５３が取得するフロアリングスペクトルＦＳと動作期間スペクトルＮＳの一例について説明する。図１０は、フロアリングスペクトルＦＳの一例を示す図である。図１１は、動作期間スペクトルＮＳの一例を示す図である。
図１０には、ノイズ推定対象判定部２５３によってフロアリングスペクトルＦＳと判定された周波数スペクトルＳ１の一例を示す。この周波数スペクトルＳ１は、周波数ｆ１〜ｆ８にそれぞれ対応する周波数成分ｆｃ１１〜ｆｃ１８を含む。
図１１には、ノイズ推定対象判定部２５３によって動作期間スペクトルＮＳと判定された周波数スペクトルＳ６の一例を示す。この周波数スペクトルＳ６は、周波数ｆ１〜ｆ８にそれぞれ対応する周波数成分ｆｃ６１〜ｆｃ６８を含む。
周波数スペクトルＳ１と周波数スペクトルＳ６を比較すると、周波数スペクトルＳ６の方が、それぞれの周波数成分における振幅が大きい。これは、周波数スペクトルＳ６に駆動音が含まれているからである。
【００７０】
推定ノイズ算出部２５４は、推定ノイズを算出するために用いるマイク音信号の期間であるとノイズ推定対象判定部２５３によって判定された期間（フレーム）に対応するマイク音信号（周波数スペクトル）に基づき、推定ノイズを算出する。この推定ノイズとは、動作部の動作によって発生する動作音として推定される音情報であって、動作部が動作する可能性の高い期間に収音されたノイズとして推定される音情報である。
本実施形態において、推定ノイズ算出部２５４は、ノイズを含むノイズ期間に対応するマイク音信号の周波数スペクトルから、ノイズを含まない非ノイズ期間に対応するマイク音信号の周波数スペクトルを減算した差分を、推定ノイズとして算出する。
具体的説明すると、推定ノイズ算出部２５４は、ノイズ推定対象判定部２５３の判定結果に基づき、動作期間スペクトルＮＳからフロアリングスペクトルＦＳを減算した差分を、推定ノイズとして算出する。よって、推定ノイズ算出部２５４は、周波数スペクトルＳ６から周波数スペクトルＳ１を減算した差分を推定ノイズとして算出する。このようにして、推定ノイズ算出部２５４が推定ノイズを算出する処理を、ノイズ推定処理という。
【００７１】
ノイズ低減処理部２５５は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、動作部が動作する可能性の高い期間に取得される音信号の周波数スペクトルを取得する。このノイズ低減処理部２５５は、例えば、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、音信号処理部２５２から出力される衝撃音発生期間Ｔｂおよび駆動音発生期間Ｔｃに対応する全ての周波数スペクトルＳ２〜Ｓ１２を取得する。
本実施形態において、このノイズ低減処理部２５５は、動作タイミング信号に基づき、例えば、動作音が発生している可能性が高い期間から、衝撃音と駆動音の両方が発生している可能性の高い期間（衝撃音発生期間Ｔｂ）と、駆動音のみが発生している可能性の高い期間（駆動音発生期間Ｔｃ）とを、それぞれ区別して、周波数スペクトルを取得することが好ましい。詳細については後述するが、ノイズ低減処理部２５５は、衝撃音ノイズ低減処理と、駆動音ノイズ低減処理の両方を行うからである。
具体的に説明すると、ノイズ低減処理部２５５は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、例えば、音信号処理部２５２から出力される周波数スペクトルＳ１〜Ｓ１４から、駆動音のみが発生している可能性の高い期間（衝撃音発生期間Ｔｂ）に対応する周波数スペクトルＳ５〜Ｓ８と、衝撃音と駆動音の両方が発生している可能性の高い期間（衝撃音発生期間Ｔｃ）に対応する周波数スペクトルＳ２〜Ｓ４、Ｓ９〜Ｓ１２を取得する。
【００７２】
つまり、ノイズ低減処理部２５５は、動作タイミング信号に基づき、衝撃音が発生している可能性の高い期間を動作開始タイミング期間と判定する。そして、ノイズ低減処理部２５５は、この期間に取得されるマイク音信号の周波数スペクトルＳ２〜４を、衝撃音と駆動音の両方を含むマイク音信号の周波数スペクトルとして取得する。
また、ノイズ低減処理部２５５は、動作タイミング信号に基づき、衝撃音が発生している可能性の高い期間を動作停止タイミング期間と判定する。そして、ノイズ低減処理部２５５は、この期間に取得されるマイク音信号の周波数スペクトルＳ９〜１２を、衝撃音と駆動音の両方を含むマイク音信号の周波数スペクトルとして取得する。
さらに、ノイズ低減処理部２５５は、動作タイミング信号に基づき、駆動音が発生している可能性の高い期間を、動作開始タイミング期間の終了点から動作停止タイミング期間の開始点までの期間と判定する。そして、ノイズ低減処理部２５５は、この期間に取得されるマイク音信号の周波数スペクトルＳ５〜Ｓ８を、駆動音を含むマイク音信号の周波数スペクトルとして取得する。
【００７３】
このノイズ低減処理部２５５は、取得した周波数スペクトルＳ２〜Ｓ１２に対して、動作パターンに応じて予め決められている駆動音によるノイズを低減するノイズ低減処理を行う。
例えば、ノイズ低減処理部２５５は、衝撃音と駆動音の両方を含むマイク音信号の周波数スペクトルに対して、衝撃音に対応する周波数スペクトルを低減する衝撃音低減処理を実行する。
また、ノイズ低減処理部２５５は、動作音を含むマイク音信号の周波数スペクトルに対して、駆動音に対応する周波数スペクトルを低減する駆動音低減処理を実行する。このノイズ低減処理部２５５は、衝撃音低減処理を実行した周波数スペクトルＳ２〜Ｓ４とＳ９〜Ｓ１２、および駆動音のみを含むマイク音信号の周波数スペクトルＳ５〜Ｓ８の両方に対して、駆動音低減処理を実行することが好ましい。本実施形態において、ノイズ低減処理部２５５は、衝撃音低減処理を実行した周波数スペクトルを含む動作時の全ての周波数スペクトルに対して駆動音低減処理を実行する例について説明する。
【００７４】
衝撃音低減処理については後述する。
駆動音低減処理において、ノイズ低減処理部２５５は、推定ノイズ算出部２５４によって決定された推定ノイズの周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算するスペクトル減算法に従った処理を実行する。
本実施形態において、ノイズ低減処理部２５５は、推定ノイズ算出部２５４によって算出された推定ノイズを記憶部２５７から読み出し、読み出した推定ノイズを用いてノイズ低減処理を実行する。しかし、現時点から予め決められた時間だけ遡った期間内に推定ノイズ算出部２５４によって推定ノイズが算出されなかった場合は、ノイズ低減処理部２５５は、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行するものであってもよい。
【００７５】
逆フーリエ変換部２５６は、ノイズ低減処理部２５５から入力された周波数スペクトルに対して、例えば逆フーリエ変換、あるいは逆高速フーリエ変換（ＩＦＦＴ：Ｉｎｖｅｒｓｅ Ｆａｓｔ Ｆｏｕｒｉｅｒ Ｔｒａｎｓｆｏｒｍ）を行うことで、時間領域に変換する。
通信部１７０は、この逆フーリエ変換部２５６によって時間領域に変換された音信号を記憶媒体２００に記憶させる。なお、通信部１７０は、時間領域に変換された音信号と、撮像素子１１９により撮像された画像データとを、対応する日時情報を有する同士で対応付けて、記憶媒体２００に記憶させてもよく、音信号を含む動画として記憶してもよい。
【００７６】
推定ノイズ更新部２５８は、推定ノイズ算出部２５４によって算出された推定ノイズを示す情報を記憶部２５７に登録する。
【００７７】
次に、図１２を参照して、本発明に係るノイズ低減処理方法の一例について説明する。図１２は、本発明に係るノイズ低減処理方法の一例を示すフローチャートである。
例えば、操作部１８０の電源スイッチがＯＮされると、撮像装置１００に電源が投入され、電池２６０から各構成部に対して電力が供給される。本実施形態では、撮像装置１００に対して、撮像時の画像データと音声データとを対応付けて記憶媒体２００に記憶させることが予め設定されている。
【００７８】
（ステップＳＴ１）
マイク２３０は、例えば、電源がＯＮされると、収音されたマイク音信号をＡ/Ｄ変換部２４０に出力する。Ａ/Ｄ変換部２４０は、アナログ信号であるマイク音信号をデジタル変換したマイク音信号を低減処理部２５０に出力する。
低減処理部２５０は、Ａ/Ｄ変換部２４０からマイク音信号を入力する。
【００７９】
（ステップＳＴ２）  
そして、低減処理部２５０のクリップ検出部２５１は、Ａ/Ｄ変換部２４０から入力するマイク音信号にクリップ部が含まれているか否かを判定する。なお、クリップ検出部２５１は、例えば、フレーム単位に区切られたマイク音信号に基づき、順次クリップ部が含まれているか否かを判定する。
そして、クリップ部が含まれていると判定した場合、クリップ検出部２５１は、当該マイク音信号にクリップ部が含まれていることを示す情報をノイズ推定対象判定部２５３に出力する。
なお、クリップ検出部２５１は、これに限られず、クリップ部が検出された時刻を示す情報や、この検出されたクリップ部の時間軸方向における位置（時刻）や長さ等を示す情報をノイズ推定対象判定部２５３に出力してもよい。
【００８０】
（ステップＳＴ３）
音信号処理部２５２は、Ａ/Ｄ変換部２４０から出力されたマイク音信号に対して、予め決められたフレームごとに窓関数で重み付けするとともに、このフレーム毎のマイク音信号を周波数領域で表わされるスペクトルに変換して、この周波数領域で表わされるスペクトル（周波数スペクトル）を推定ノイズ算出部２５４およびノイズ低減処理部２５５に出力する。
本実施形態において、音信号処理部２５２は、図３を参照して説明したようなマイク音信号にフーリエ変換を行うことで、例えば、窓関数Ｗ１〜Ｗ１４の各フレームに対応する周波数スペクトルＳ１〜１４を算出し、推定ノイズ算出部２５４およびノイズ低減処理部２５５に出力する。なお、音信号処理部２５２は、入力したマイク音信号を順次、窓関数を用いて周波数スペクトルに変換する。ここでは、説明便宜のため、周波数スペクトルＳ１〜Ｓ１４を例に、以下説明する。
【００８１】
ここで、ユーザによって、例えば操作部１８０のレリーズボタンが押下されたとする。この場合、レンズＣＰＵ１２０は、ＡＦ処理において、例えば距離Ｐでピントを合わせるＡＦ処理を実行するためのコマンドを、レンズ駆動部１１６と動作タイミング検出部１９１に出力する。
このレンズ駆動部１１６は、入力するコマンドに基づき、距離Ｐでピントを合わせる動作パターンに従って、ＡＦレンズ１１２を移動させる。例えば、レンズ駆動部１１６は、ＡＦレンズ１１２の駆動機構を時計回りＣＷに所定量回転させて、ＡＦレンズ１１２を光軸に沿って移動させる。なお、この駆動機構を回転させる回転量やスピードは、距離Ｐでピントを合わせる動作パターンとして、予め決められている。
ＡＦレンズ１１２が動くと、ＡＦエンコーダ１１７は、パルス信号をボディＣＰＵ１９０に出力する。このボディＣＰＵ１９０は、ＡＦエンコーダ１１７からパルス信号が入力されたことを示す情報を動作タイミング検出部１９１に出力する。動いていたＡＦレンズ１１２が停止すると、ＡＦエンコーダ１１７は、ボディＣＰＵ１９０へのパルス信号の出力を停止させる。このボディＣＰＵ１９０は、ＡＦエンコーダ１１７からのパルス信号の出力が停止されたことを示す情報を動作タイミング検出部１９１に出力する。
【００８２】
動作タイミング検出部１９１は、入力するコマンドやＡＦエンコーダ１１７の出力に基づき、距離Ｐでピントを合わせる動作パターンに従って、動作タイミング信号を生成し、低減処理部２５０に出力する。
例えば、距離Ｐでピントを合わせるＡＦ処理を実行するためのコマンドをレンズＣＰＵ１２０から入力した場合、動作タイミング検出部１９１は、ＡＦレンズ１１２の動作開始タイミングｔ１０に対応する衝撃音発生期間（動作開始タイミング期間）ｔ１０〜ｔ１１を示す動作タイミング信号を生成し、低減処理部２５０に出力する。
【００８３】
（ステップＳＴ４）
そして、ノイズ推定対象判定部２５３は、動作タイミング検出部１９１から動作タイミング信号が入力されたか否かを判定する。
（ステップＳＴ５）
動作タイミング検出部１９１から動作タイミング信号が入力された場合、ノイズ推定対象判定部２５３は、この動作タイミング信号に基づき、音信号処理部２５２から入力する周波数スペクトルＳ１〜Ｓ１４から、推定ノイズを算出するための周波数スペクトル、つまり、動作期間スペクトルＮＳおよびフロアリングスペクトルＦＳに相当する周波数スペクトルを決定する。
本実施形態において、ノイズ推定対象判定部２５３は、動作タイミング検出部１９１から入力される動作タイミング信号に基づき、駆動音発生期間Ｔｃに対応する周波数スペクトルのうち、動作開始タイミング期間（ｔ１０〜ｔ１１）と時間軸方向に最も近い駆動音発生期間Ｔｃの周波数スペクトルＳ５を動作期間スペクトルＮＳとして取得する。
また、ノイズ推定対象判定部２５３は、動作タイミング検出部１９１から入力される動作タイミング信号に基づき、非動作期間Ｔａに対応する周波数スペクトルのうち、動作開始タイミング期間（ｔ１０〜ｔ１１）と時間軸方向に最も近い非動作期間Ｔａの周波数スペクトルＳ１をフロアリングスペクトルＦＳとして取得する。
【００８４】
（ステップＳＴ６）
次いで、ノイズ推定対象判定部２５３は、クリップ検出部２５１から入力する情報に基づき、フロアリングスペクトルＦＳおよび動作期間スペクトルＮＳと判定したそれぞれの周波数スペクトルＳ１，Ｓ５において、クリップが発生しているか否かを判定する。
本実施形態において、フロアリングスペクトルＦＳである周波数スペクトルＳ１にはクリップは発生していないが、動作期間スペクトルＮＳである周波数スペクトルＳ５にはクリップが発生している。よって、ノイズ推定対象判定部２５３は、動作期間スペクトルＮＳにクリップが発生していると判定する。
【００８５】
（ステップＳＴ７）
フロアリングスペクトルＦＳあるいは動作期間スペクトルＮＳのうち少なくともいずれか一方にクリップが発生していると判定された場合、ノイズ推定対象判定部２５３は、クリップ検出部２５１から入力される情報に基づき、クリップの発生していない期間の周波数スペクトルを、フロアリングスペクトルＦＳあるいは動作期間スペクトルＮＳと判定する。
本実施形態において、ノイズ推定対象判定部２５３は、フロアリングスペクトルＦＳにはクリップが発生していないが、動作期間スペクトルＮＳにはクリップが発生していると判定している。
従って、ノイズ推定対象判定部２５３は、フレームＦ５の直後のフレームＦ６においてクリップが発生しているか否かを判定する。本実施形態において、フレームＦ６にはクリップは発生していない。よって、ノイズ推定対象判定部２５３は、フレームＦ５の直後のフレームＦ６においてクリップが発生していないと判定し、フレームＦ５の直後のフレームＦ６に対応する周波数スペクトルを、動作期間スペクトルＮＳと判定する。
そして、ノイズ推定対象判定部２５３は、フレームＦ１に対応する周波数スペクトルＳ１をフロアリングスペクトルＦＳと判定し、フレームＦ６に対応する周波数スペクトルＳ６を動作期間スペクトルＮＳと判定したことを示す判定結果を示す情報を推定ノイズ算出部２５４に出力する。
【００８６】
（ステップＳＴ８）
推定ノイズ算出部２５４は、ノイズ推定対象判定部２５３の判定結果に基づき、推定ノイズを算出するために用いるマイク音信号の期間であるとノイズ推定対象判定部２５３によって判定された期間（フレーム）に対応するマイク音信号（周波数スペクトル）に基づき、推定ノイズを算出する。
この推定ノイズ算出部２５４は、例えば、動作期間スペクトルＮＳから、フロアリングスペクトルＦＳを減算した差分を、推定ノイズとして算出する。つまり、推定ノイズ算出部２５４は、周波数スペクトルＳ６から周波数スペクトルＳ１を減算した差分を推定ノイズとして算出する。
そして、推定ノイズ算出部２５４は、算出した推定ノイズを示す情報をノイズ低減処理部２５５に出力する。
【００８７】
（ステップＳＴ９）
次いで、ノイズ低減処理部２５５は、推定ノイズ算出部２５４から入力する推定ノイズを示す情報に基づき、音信号処理部２５２から入力する周波数スペクトルに対してノイズ低減処理を実行する。そして、ノイズ低減処理部２５５は、ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部２５６に出力する。
【００８８】
（ステップＳＴ１０）
そして、逆フーリエ変換部２５６は、ノイズ低減処理部２５５から入力される周波数スペクトルに対して、例えば逆フーリエ変換、あるいは逆高速フーリエ変換（ＩＦＦＴ：Ｉｎｖｅｒｓｅ Ｆａｓｔ Ｆｏｕｒｉｅｒ Ｔｒａｎｓｆｏｒｍ）を行うことで、時間領域に変換する。
次いで、通信部１７０は、この逆フーリエ変換部２５６によって時間領域に変換された音信号を記憶媒体２００に記憶させる。
【００８９】
上述の通り、本実施形態に係る低減処理部２５０によれば、マイク音信号にクリップが発生している場合、推定ノイズを算出する際に、クリップが発生していると判定された期間（フレーム）に対応するマイク音信号は、ノイズ推定を算出するためのマイク音信号として使用しない。よって、クリップが発生しているマイク音信号を用いて、誤差を含む推定ノイズを算出してしまう事態を回避することができる。
【００９０】
次に、図１２に示したステップＳＴ９の詳細な処理の一例について説明する。
ノイズ低減処理部２５５は、音信号処理部２５２から入力する周波数スペクトルに対して衝撃音ノイズ低減処理を実行した後、駆動音ノイズ低減処理を実行する。
ノイズ低減処理部２５５の衝撃音ノイズ低減処理部２５５１は、音信号処理部２５２から入力する周波数スペクトルに対して衝撃音ノイズ低減処理を実行する。この衝撃音ノイズ低減処理部２５５１は、衝撃音と駆動音が発生している可能性の高い期間に対応する周波数スペクトル（以下、衝撃音処理周波数スペクトルという）と、衝撃音が発生していない可能性の高い期間に対応する周波数スペクトル（以下、衝撃音フロアリングスペクトルという）を取得する。衝撃音ノイズ低減処理部２５５１は、取得した衝撃音処理周波数スペクトルの少なくとも一部を、衝撃音フロアリングスペクトルの対応する部分に置き換える衝撃音ノイズ低減処理を実行する。
【００９１】
先に、ノイズ低減処理部２５５の衝撃音ノイズ低減処理部２５５１の処理の一例について説明する。
衝撃音ノイズ低減処理部２５５１は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、例えば、音信号処理部２５２から出力される周波数スペクトルＳ１〜Ｓ１４から、衝撃音が発生している可能性の高い期間に対応する周波数スペクトル（以下、衝撃音処理周波数スペクトルという）を取得する。例えば、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ１０〜ｔ１１を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルＳ２〜Ｓ４を、衝撃音処理周波数スペクトルとして取得する。また、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ２０〜ｔ２１を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルＳ９〜Ｓ１２を、衝撃音処理周波数スペクトルとして取得する。
【００９２】
また、衝撃音ノイズ低減処理部２５５１は、動作タイミング検出部１９１から入力する動作タイミング信号に基づき、音信号処理部２５２から出力される周波数スペクトルＳ１〜Ｓ１４から、衝撃音が発生していない可能性の高い期間に対応する周波数スペクトル（以下、衝撃音フロアリングスペクトルという）を取得する。この衝撃音ノイズ低減処理部２５５１は、衝撃音を含んでいる可能性の高い衝撃音処理周波数スペクトルごとに、この衝撃音を含む可能性の低い衝撃音フロアリングスペクトルを取得する。本実施形態において、衝撃音ノイズ低減処理部２５５１は、衝撃音処理周波数スペクトルと時間軸方向において最も近い衝撃音処理周波数スペクトル以外の周波数スペクトルを衝撃音フロアリングスペクトルとして取得する。つまり、衝撃音ノイズ低減処理部２５５１は、衝撃音処理周波数スペクトルと時間軸方向に隣接あるいは重複する衝撃音処理周波数スペクトル以外の周波数スペクトルを衝撃音フロアリングスペクトルとして取得する。
【００９３】
なお、本実施形態において、衝撃音フロアリングスペクトルは、衝撃音が発生していない可能性の高い期間に対応する周波数スペクトルである。しかし、本発明はこれに限られず、衝撃音フロアリングスペクトルは、動作部の動作によって発生するノイズ音が発生しない可能性の高い期間に対応する周波数スペクトルであることが好ましい。
【００９４】
そして、ノイズ低減処理部２５５の駆動音ノイズ低減処理部２５５２は、音信号処理部２５２から入力する周波数スペクトルと、衝撃音ノイズ低減処理部２５５１から入力する衝撃音ノイズ低減処理後の周波数スペクトルに基づき、駆動音ノイズ低減処理を実行する。
この駆動音ノイズ低減処理部２５５２は、例えば、衝撃音発生期間ｔ１０〜ｔ１１を示す動作タイミング信号と、衝撃音発生期間ｔ２０〜ｔ２１を示す動作タイミング信号に基づき、駆動音が発生している可能性のある期間に対応する周波数スペクトルＳ２〜Ｓ１２を、駆動音処理周波数スペクトルとして取得する。
この駆動音ノイズ低減処理部２５５２は、取得した駆動音処理周波数スペクトルＳ２〜Ｓ１２のうち、衝撃音ノイズ低減処理後の周波数スペクトルに対応する周波数スペクトルをＳ２〜Ｓ４、Ｓ９〜Ｓ１２を、衝撃音ノイズ低減処理後の周波数スペクトルＳ´２、Ｓ´３、Ｓ´４、Ｓ´９、Ｓ´１０、Ｓ´１１、Ｓ´１２に置き換える。そして、駆動音ノイズ低減処理部２５５２は、衝撃音ノイズ低減処理後の周波数スペクトルＳ´２、Ｓ´３、Ｓ´４、Ｓ´９、Ｓ´１０、Ｓ´１１、Ｓ´１２と、周波数スペクトルＳ５〜Ｓ７に対して駆動音ノイズ低減処理を実行する。つまり、駆動音ノイズ低減処理部２５５２は、衝撃音ノイズ低減処理後の駆動音処理周波数スペクトルＳ´２〜Ｓ´４、Ｓ５〜７、Ｓ´９〜Ｓ´１２の周波数成分から、それぞれ、推定ノイズ算出部２５４によって算出された推定ノイズの周波数成分を減算する。駆動音ノイズ低減処理部２５５２は、この駆動音ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部２５６に出力する。
【００９５】
ここで、図１３を参照して、衝撃音ノイズ低減処理部２５５１が取得する衝撃音処理周波数スペクトルと衝撃音フロアリングスペクトルとの関係の一例について説明する。図１３は、衝撃音ノイズ低減処理部２５５１が取得する衝撃音処理周波数スペクトルと衝撃音フロアリングスペクトルの一例を説明するための図である。
例えば、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ１０〜ｔ１１を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルＳ２〜Ｓ４を、衝撃音処理周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ１０〜ｔ１１を示す動作タイミング信号に基づき、衝撃音処理周波数スペクトルである周波数スペクトルＳ２、３に最も近い非動作期間Ｔａに対応する周波数スペクトルＳ１を、衝撃音処理周波数スペクトルである周波数スペクトルＳ２、Ｓ３に対応する衝撃音フロアリングスペクトルと判定する。
また、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ１０〜ｔ１１を示す動作タイミング信号に基づき、衝撃音処理周波数スペクトルである周波数スペクトルＳ４に最も近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ５を、衝撃音処理周波数スペクトルである周波数スペクトルＳ４に対応する衝撃音フロアリングスペクトルと判定する。
【００９６】
また、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ２０〜ｔ２１を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルＳ９〜Ｓ１２を、衝撃音処理周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ２０〜ｔ２１を示す動作タイミング信号に基づき、衝撃音処理周波数スペクトルである周波数スペクトルＳ９、１０に最も近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ８を、衝撃音処理周波数スペクトルである周波数スペクトルＳ９、１０に対応する衝撃音フロアリングスペクトルと判定する。
また、衝撃音ノイズ低減処理部２５５１は、衝撃音発生期間ｔ２０〜ｔ２１を示す動作タイミング信号に基づき、衝撃音処理周波数スペクトルである周波数スペクトルＳ１１、１２に最も近い非動作期間Ｔａに対応する周波数スペクトルＳ１３を、衝撃音処理周波数スペクトルである周波数スペクトルＳ１１、１２に対応する衝撃音フロアリングスペクトルと判定する。
【００９７】
さらに、衝撃音ノイズ低減処理部２５５１は、衝撃音処理周波数スペクトルの少なくとも一部を、衝撃音フロアリングスペクトルの対応する部分に置き換える。
例えば、衝撃音ノイズ低減処理部２５５１は、衝撃音処理周波数スペクトルのうち予め決められた閾値周波数以上の周波数スペクトルと、衝撃音フロアリングスペクトルのうち予め決められた閾値周波数以上の周波数スペクトルとを、周波数成分ごとに比較する。そして、衝撃音フロアリングスペクトルの方が衝撃音処理周波数スペクトルに比べて小さいと判定した場合に、衝撃音ノイズ低減処理部２５５１は、衝撃音処理周波数スペクトルにおける当該周波数成分を衝撃音フロアリングスペクトルの周波数成分に置き換える。
【００９８】
図１４を参照して詳細に説明する。図１４は、一部の周波数スペクトルの周波数成分の一例について説明するための図である。なお、本実施の形態では、説明便宜のため、図３に示すマイク音信号のうち、窓関数Ｗ１，Ｗ３，Ｗ５，Ｗ７，Ｗ１１，Ｗ１３に対応する周波数スペクトルＳ１，Ｓ３，Ｓ５，Ｓ７，Ｓ１１，Ｓ１３について説明する。
図１４に示す通り、周波数スペクトルＳ１，Ｓ３，Ｓ５，Ｓ７，Ｓ１１，Ｓ１３は、それぞれ、周波数成分ｆ１〜ｆ９の周波数成分を含む。
例えば、衝撃音ノイズ低減処理部２５５１は、各周波数スペクトルの閾値周波数以上の周波数成分として、周波数成分ｆ３〜ｆ９について、衝撃音処理周波数スペクトルと衝撃音フロアリングスペクトルを比較することが予め決められている。よって、衝撃音ノイズ低減処理部２５５１は、周波数成分ｆ１，ｆ２については、衝撃音処理周波数スペクトルと衝撃音フロアリングスペクトルを比較しない。
【００９９】
次いで、図１５を参照して、周波数スペクトルＳ１とＳ３について、衝撃音ノイズ低減処理部２５５１による衝撃音ノイズ低減処理の一例について説明する。
図１５は、周波数スペクトルＳ１とＳ３の周波数成分ごとに、振幅の比較について説明するための図である。
例えば、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ１の周波数成分ｆ３の振幅と、周波数スペクトルＳ３の周波数成分ｆ３の振幅とを比較する。この場合、周波数スペクトルＳ１の周波数成分ｆ３の振幅の方が、周波数スペクトルＳ３の周波数成分ｆ３の振幅に比べて小さい。よって、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ３の周波数成分ｆ３を、周波数スペクトルＳ１の周波数成分ｆ３に置き換える。
【０１００】
また、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ１の周波数成分ｆ４の振幅と、周波数スペクトルＳ３の周波数成分ｆ４の振幅とを比較する。この場合、周波数スペクトルＳ１の周波数成分ｆ４の振幅の方が、周波数スペクトルＳ３の周波数成分ｆ４の振幅に比べて大きい。よって、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ３の周波数成分ｆ３を、周波数スペクトルＳ１の周波数成分ｆ３に置き換えない。
このようにして、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ１の周波数成分の振幅の方が、周波数スペクトルＳ３の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルＳ３の周波数成分を周波数スペクトルＳ１の周波数成分に置き換える。
図１５に示す場合、衝撃音ノイズ低減処理部２５５１は、周波数スペクトルＳ３の周波数成分ｆ３、ｆ６〜ｆ９を周波数スペクトルＳ１の周波数成分ｆ３、ｆ６〜ｆ９に置き換える。
【０１０１】
次に、本実施形態に係る低減処理部２５０の他の処理例について説明する。
ノイズ推定対象判定部２５３は、各フレームにおいて、クリップ検出部２５１が検出したクリップ部の発生した回数や長さあるいは発生する時刻（位置）に応じて、当該フレーム内にクリップが発生しているか否かを判定するものであってもよい。
例えば、フレーム内においてクリップ部が発生した回数（言い換えると、フレーム内に発生したクリップ部の個数）が、予め決められた回数以上であった場合、ノイズ推定対象判定部２５３は、当該フレーム内にクリップが発生していると判定するものであってもよい。
また、例えば、フレーム内において発生したクリップ部の長さ（言い換えると、フレーム内において下限値あるいは上限値を示す部分の時間軸方向の長さ）が、予め決められた長さ以上であった場合、ノイズ推定対象判定部２５３は、当該フレーム内にクリップが発生していると判定するものであってもよい。
【０１０２】
さらに、例えば、フレーム内におけるクリップ部の発生時刻（言い換えると、クリップ部が発生した時間軸方向における位置）が、予め決められた範囲にある場合、例えば、フレーム内の時間軸方向の全体のうち中央付近の予め決められた範囲にある場合、ノイズ推定対象判定部２５３は、当該フレーム内にクリップが発生していると判定するものであってもよい。
また、例えば、ノイズ推定対象判定部２５３は、音信号処理部２５２によってマイク音信号を周波数スペクトルに変換する際に用いられる窓関数の重みに応じて、フレーム内に生じたクリップ部の発生時刻毎にポイントを算出し、このポイントに基づき、当該フレーム内にクリップが発生しているか否かを判定するものであってもよい。ここで、図１６を参照して、この判定方法の一例について詳細に説明する。図１６（ａ）は、マイク音信号の一例を示す図である。図１６（ｂ）は、図１６（ａ）に示したマイク音信号に含まれる１フレームに乗算する窓関数の波形を示した図である。
図１６（ａ）に示す通り、このフレーム内には、クリップ部が１０個発生している。図示の通り、このフレームに発生している１０個のクリップ部を、クリップ部Ｃ１〜Ｃ１０と呼称する。このクリップ部の発生時刻を図１６（ｂ）に示す。なお、図１６（ｂ）には、このフレームに対応するマイク音信号に乗算された窓関数の波形上に、クリップ部Ｃ１〜Ｃ１０の位置が示される。
【０１０３】
図１６（ｂ）に示す通り、このフレームに対応するマイク音信号は、窓関数の波形のように、フレームの両端の値が減衰するよう音信号処理部２５２によって処理される。よって、フレームの両端に生じたクリップは、フレームの中央に生じたクリップに比べて、マイク音信号の誤差に与える影響を少なくすることができる。
ノイズ推定対象判定部２５３は、図１６（ｂ）に示すような窓関数の波形（重み付け）に従い、発生したクリップ部の発生時刻（言い換えると、時間軸方向におけるフレーム内の位置）に応じて、各クリップ部のポイントを算出する。例えば、フレームの両端付近に発生したクリップ部については、各クリップ部に対して、ポイント＝０．１が付与されることが予め決められている。また、フレームの中央付近に発生したクリップ部については、各クリップ部に対して、ポイント＝１が付与されることが予め決められている。さらに、フレーム内の、両端付近と中央付近の間に発生したクリップ部については、各クリップ部に対して、ポイント＝０．５が付与されることが予め決められている。ノイズ推定対象判定部２５３は、フレームの位置に応じて予め決められているポイントを、フレーム内に発生している全てのクリップ部について算出し、その総和を算出する。このノイズ推定対象判定部２５３は、例えば、算出したポイントの総和が予め決められた閾値以上であった場合、当該フレームにおいてクリップが発生していると判定する。
【０１０４】
このように、ノイズ推定対象判定部２５３は、クリップ部が含まれている期間（フレーム）であっても、そのクリップ部の個数が少ない場合や、時間軸方向においてクリップ部による誤差の影響が少ないフレーム内の位置（発生時刻）に発生している場合、ノイズ推定対象判定部２５３は、当該期間（フレーム）に対応するマイク音信号を、ノイズ推定を算出するためにマイク音信号（動作期間スペクトルＮＳやフロアリングスペクトルＦＳ）として決定してもよい。
推定ノイズ算出部２５４は、このようにして、ノイズ推定対象判定部２５３によってクリップ部が含まれている期間であっても、クリップが発生していないと判定された場合、クリップによる影響が少ないため、このクリップが含まれている期間に対応する周波数スペクトルに基づき、推定ノイズを算出する。
【０１０５】
この場合、推定ノイズ更新部２５８は、クリップが発生している期間に対応する周波数スペクトル（動作期間スペクトルＮＳおよびフロアリングスペクトルＦＳ）に基づき算出された推定ノイズを記憶部２５７には登録しない。つまり、クリップが発生している期間に対応する周波数スペクトル（動作期間スペクトルＮＳおよびフロアリングスペクトルＦＳ）に基づき算出された推定ノイズは、記憶部２５７には更新されない。
このように、クリップ部が含まれている期間であっても、クリップが発生していないと判定された動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳに基づき算出された推定ノイズは、一時的にノイズ低減処理に利用されるに留まり、それ以降は利用されない。
【０１０６】
［第２実施形態］
次に、図１７を参照して、本発明に係る第２実施形態について説明する。図１７は、本実施形態に係る低減処理部２２５０の機能構成の一例を示すブロック図である。
図１７に示す通り、本実施形態に係る低減処理部２２５０は、クリップ検出部２５１と、音信号処理部２５２と、ノイズ推定対象判定部２５３と、信号補正部２５９と、推定ノイズ算出部２５４と、ノイズ低減処理部２５５と、逆フーリエ変換部２５６と、記憶部２５７と、推定ノイズ更新部２５８とを含む。なお、本実施形態に係る低減処理部２２５０は、第１実施形態に係る低減処理部２５０と比べて、信号補正部２５９を備える点で異なる。それ以外は、概ね同様の機能を有する構成であるため、同一の符号を付して詳細な説明は省略する。また、各構成部については、同様の機能についての説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０１０７】
ノイズ推定対象判定部２５３は、上述と同様、推定ノイズを算出するためのマイク音信号（周波数スペクトル）として、推定ノイズを含むノイズ期間に対応するマイク音信号に対応する周波数スペクトル（動作期間スペクトルＮＳ）と、推定ノイズを含まない非ノイズ期間に対応するマイク音信号の周波数スペクトル（フロアリングスペクトルＦＳ）とを判定する。
本実施形態では、図３を参照して上述したとおり、衝撃音が発生している時刻ｔ１０〜ｔ１１を示す情報が、動作タイミング信号として、動作タイミング検出部１９１からノイズ推定対象判定部２５３に入力する。これにより、ノイズ推定対象判定部２５３は、例えば、この衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い非動作期間Ｔａに対応する周波数スペクトルＳ１を、フロアリングスペクトルＦＳと判定する。また、ノイズ推定対象判定部２５３は、例えば、この衝撃音が発生している期間（動作開始タイミング期間）ｔ１０〜ｔ１１に最も近い駆動音発生期間Ｔｃに対応する周波数スペクトルＳ５を、動作期間スペクトルＮＳと判定する。
【０１０８】
信号補正部２５９は、クリップ部を含む音信号をクリップされる以前の波形として推定される音信号に補正する。具体的に説明すると、この信号補正部２５９は、クリップ検出部２５１の検出結果に基づき、ノイズ推定対象判定部２５３によって判定された動作期間スペクトルＮＳとフロアリングスペクトルＦＳにおいて、クリップが発生しているか否かを判定する。クリップが発生していると判定した場合、信号補正部２５９は、クリップが発生したフレームの前後のフレームのデータに基づき、クリップした部分の本来の波形を推測して、推定結果に基づき、クリップが発生したフレームのマイク音信号の波形を本来の波形に近づけるように補正する。言い換えると、信号補正部２５９は、補正後のマイク音信号から、動作期間スペクトルＮＳやフロアリングスペクトルＦＳを推定してもよい。
【０１０９】
本実施形態では、図６を参照して上述したとおり、フレームＦ１においてクリップが発生していないが、フレームＦ５においてクリップが発生している。よって、信号補正部２５９は、フロアリングスペクトルＦＳにはクリップが発生していないが、動作期間スペクトルＮＳにはクリップが発生していると判定する。
従って、信号補正部２５９は、クリップ検出部２５１による検出結果に基づき、この動作期間スペクトルＮＳを補正する。
【０１１０】
なお、クリップした部分の波形の補正についての詳細な処理については、一般的な技術を利用することができる。例えば、信号補正部２５９は、特開２００３−９９０６４号公報に記載の技術を利用して、クリップした部分の本来の波形を前後関係から推定して、補正することができる。
ここで、クリップした部分の本来の波形を推定して、推定結果に基づいて補正した場合、音信号の振幅に示すために１６ビットを超えるデータが必要になる。この場合、信号補正部２５９は、ビット数を増やして波形を表現してもよい。また、信号補正部２５９は、マイク音信号の振幅データを適した倍率で圧縮し、１６ビットに収まるデータに変換してもよい。信号補正部２５９は、振幅データを圧縮した場合、その後求める周波数スペクトルを倍率の逆数で補正すればよい。
【０１１１】
なお、この場合、信号補正部２５９は、各フレームにおいて、クリップ検出部２５１が検出したクリップ部の発生した回数や長さあるいは発生する時刻（位置）に応じて、当該フレームを補正の対象とするか否かを判定するものであってもよい。
例えば、上述したとおり、フレーム内においてクリップ部が発生した回数（言い換えると、フレーム内に発生したクリップ部の個数）が、予め決められた回数未満であった場合、信号補正部２５９は、当該フレームのマイク音信号の波形を本来の波形に近づけるように補正するものであってもよい。
また、例えば、フレーム内において発生したクリップ部の長さ（言い換えると、フレーム内において下限値あるいは上限値を示す部分の時間軸方向の長さ）が、予め決められた長さ未満であった場合、信号補正部２５９は、当該フレームのマイク音信号の波形を本来の波形に近づけるように補正するものであってもよい。
【０１１２】
さらに、例えば、フレーム内においてクリップ部が発生した発生時刻（つまり、時間軸方向における位置）が、予め決められた範囲にある場合、例えば、フレーム内の時間軸方向の全体のうち両端の予め決められた範囲にある場合、信号補正部２５９は、当該フレームのマイク音信号の波形を本来の波形に近づけるように補正するものであってもよい。
また、例えば、信号補正部２５９は、音信号処理部２５２によってマイク音信号を周波数スペクトルに変換する際に用いられる窓関数の重みに応じて、フレーム内に生じたクリップ部の位置（クリップ部の発生位置）毎にポイントを算出し、このポイントに基づき、当該フレームのマイク音信号の波形を本来の波形に近づけるように補正するものであってもよい。上述したノイズ推定対象判定部２５３のように、信号補正部２５９は、フレーム内のクリップ部の発生位置（クリップ部の発生時刻）に応じて予め決められているポイントを、フレーム内に発生している全てのクリップ部について算出し、その総和を算出する。この信号補正部２５９は、例えば、算出したポイントの総和が予め決められた閾値未満であった場合、当該フレームのマイク音信号の波形を本来の波形に近づけるように補正するものであってもよい。
【０１１３】
また、信号補正部２５９は、動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳにクリップが発生していると判定された場合、動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳの高い周波数の周波成分を削除した周波数スペクトルを生成し、推定ノイズの算出に利用する周波数スペクトル（動作期間スペクトルＮＳ、フロアリングスペクトルＦＳ）として推定ノイズ算出部２５４に出力するものであってもよい。
【０１１４】
［第３実施形態］
次に、図１８を参照して、本発明に係る第３実施形態について説明する。図１８は、本実施形態に係る低減処理部３２５０の機能構成の一例を示すブロック図である。
図１８に示す通り、本実施形態に係る低減処理部３２５０は、クリップ検出部２５１と、音信号処理部２５２と、ノイズ推定対象判定部２５３と、推定ノイズ算出部２５４と、ノイズ低減処理部２５５と、逆フーリエ変換部２５６と、記憶部２５７と、推定ノイズ更新部２５８とを含む。なお、本実施形態に係る低減処理部３２５０は、第１実施形態に係る低減処理部２５０と比べて、複数のマイクによって収音された複数のマイク音信号に基づき、各マイク音信号のノイズ低減処理を実行する点で異なる。それ以外は、概ね同様の機能を有する構成であるため、同一の符号を付して詳細な説明は省略する。また、各構成部については、同様の機能についての説明を省略し、第１実施形態と異なる部分についてのみ説明する。
【０１１５】
図１８に示す通り、Ａ/Ｄ変換部２４０には、Ｒマイク２３０１によって収音された音信号と、Ｌマイク２３０２によって収音された音信号とが入力される。音信号処理部２５２には、Ｒマイク２３０１によって収音された音信号のデジタル信号と、Ｌマイク２３０２によって収音された音信号のデジタル信号とが、Ａ/Ｄ変換部２４０を介して入力される。
【０１１６】
音信号処理部２５２は、上述と同様にして、Ｒマイク２３０１によって収音された音信号のデジタル信号と、Ｌマイク２３０２によって収音された音信号のデジタル信号のそれぞれに対して、予め決められたフレームごとに窓関数で重み付けするとともに、このフレーム毎のマイク音信号を周波数領域で表わされるスペクトルに変換して、この周波数領域で表わされるスペクトル（周波数スペクトル）をクリップ検出部２５１に出力する。
クリップ検出部２５１は、Ａ/Ｄ変換部２４０から出力された情報に基づき、Ｒマイク２３０１によって収音された音信号の周波数スペクトル、および、Ｌマイク２３０２によって収音された音信号のデジタル信号の周波数スペクトルのそれぞれに、クリップが発生しているか否かを判定する。
【０１１７】
ノイズ推定対象判定部２５３は、推定ノイズを算出するためのマイク音信号（周波数スペクトル）として、推定ノイズを含むノイズ期間に対応するマイク音信号に対応する周波数スペクトル（動作期間スペクトルＮＳ）と、推定ノイズを含まない非ノイズ期間に対応するマイク音信号の周波数スペクトル（フロアリングスペクトルＦＳ）とを判定する。
そして、ノイズ推定対象判定部２５３は、クリップ検出部２５１の判定結果に基づき、動作期間スペクトルＮＳおよびフロアリングスペクトルＦＳにクリップが発生しているか否かを判定する。動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳの少なくともいずれか一方にクリップが発生している場合、ノイズ推定対象判定部２５３は、クリップが発生している部分の周波数スペクトルを、同一時刻において他のマイクによって取得されたマイク音信号の周波数スペクトルと置き換える。
【０１１８】
具体的に説明すると、例えば、Ｒマイク２３０１によって収音されるマイク音信号にクリップが発生しており、Ｌマイク２３０２によって収音されるマイク音信号にクリップが発生していないと、ノイズ推定対象判定部２５３が、クリップ検出部２５１の検出結果に基づき判定したとする。この場合、ノイズ推定対象判定部２５３は、Ｒマイク２３０１によって収音されるマイク音信号のうち、クリップが発生しているフレームの周波数スペクトルを、Ｌマイク２３０２によって収音されるマイク音信号のうち、このフレームと同一の時刻のフレームに対応する周波数スペクトルに置き換える。
一方、Ｌマイク２３０２によって収音されるマイク音信号にクリップが発生しており、Ｒマイク２３０１によって収音されるマイク音信号にクリップが発生していないと、ノイズ推定対象判定部２５３が、クリップ検出部２５１の検出結果に基づき判定したとする。この場合、ノイズ推定対象判定部２５３は、Ｌマイク２３０２によって収音されるマイク音信号のうち、クリップが発生しているフレームの周波数スペクトルを、Ｒマイク２３０１によって収音されるマイク音信号のうち、このフレームと同一の時刻のフレームに対応する周波数スペクトルに置き換える。
【０１１９】
クリップが発生している部分の周波数スペクトル（動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳのうち少なくともいずれか一方）が、同一時刻において他のマイクによって取得されたマイク音信号の周波数スペクトル（動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳのうち少なくともいずれか一方）と、ノイズ推定対象判定部２５３によって置き換えられたとする。この場合、推定ノイズ算出部２５４は、置き換えられた後の動作期間スペクトルＮＳあるいはフロアリングスペクトルＦＳのうち少なくともいずれか一方を用いて、Ｒマイク２３０１およびＬマイク２３０２のそれぞれから取得されたマイク音信号に対応する推定ノイズを算出する。
ノイズ低減処理部２５５は、推定ノイズ算出部２５４によって算出されたＲマイク２３０１に対応する推定ノイズに基づき、Ｒマイク２３０１から取得されたマイク音信号に対するノイズ推定処理を実行する。また、ノイズ低減処理部２５５は、推定ノイズ算出部２５４によって算出されたＬマイク２３０２に対応する推定ノイズに基づき、Ｌマイク２３０２から取得されたマイク音信号に対するノイズ低減処理を実行する。
【０１２０】
このように、複数のマイクから取得される複数のマイク音信号に対してノイズ低減処理を実行するための推定ノイズを算出する場合、一方のマイクによって取得されたマイク音信号にクリップが発生している場合、この一方のマイクによって取得されたマイク音信号に対応するフレームの周波数スペクトルを、他方のマイクによって取得されたクリップが発生していないマイク音信号に置き換える。
これにより、本実施形態に係る低減処理部３２５０は、同時刻において収音されたマイク音信号から、クリップが発生していないマイク音信号に基づき、推定ノイズを算出することができる。
【０１２１】
［第４実施形態］
次に、図１９を参照して、本発明に係る第４実施形態について説明する。図１９は、第１実施形態に係る低減処理部２５０を備える信号処理装置５００の一例を説明するための図である。なお、本発明はこれに限られず、信号処理装置５００は、低減処理部２２５０、３２５０を備えるものであってもよい。
信号処理装置５００は、低減処理部２５０を備える。この信号処理装置５００としては、例えば、パーソナルコンピュータやスマートフォン、タブレット型の端末等が利用可能である。
【０１２２】
この場合、撮像装置１００は、マイク２３０が集音したマイク音信号と、動作タイミング検出部１９１から出力される動作タイミング信号とを、それぞれ関連付けて記憶部１６０や記憶媒体２００に記憶しておく。なお、撮像装置１００は、計時部２２０によって計時された日時情報に基づき、マイク音信号が収音された時刻に従って、マイク音信号が収音された期間に生じた動作タイミングを示す動作タイミング信号とマイク音信号とを、それぞれ関連付けることができる。
具体的に説明すると、Ａ/Ｄ変換部２４０は、マイク２３０によって収音されたマイク音信号と、このマイク音信号を録音した装置が備えている動作部が動作するタイミングを示す情報（例えば、動作タイミング検出部１９１から出力される動作タイミング信号）とを、それぞれ関連付けて、記憶部１６０や記憶媒体２００に記憶しておく。この場合、それぞれ関連付けて記憶されるマイク音信号とタイミングを示す情報（動作タイミング信号）とは、同一のファイルに書き込まれるものであってもよく、別々のファイルに書き込まれファイル同士がマイク音信号の収音された時刻とタイミングを示す情報の時刻に従って関連付けられるものであってもよい。
【０１２３】
そして、撮像装置１００と信号処理装置５００が、通信部１７０と通信部５７０を介して接続された場合、記憶部１６０や記憶媒体２００に記憶されている、それぞれ関連付けて記憶されるマイク音信号とタイミングを示す情報（動作タイミング信号）が信号処理装置５００に搭載された低減処理部２５０に出力される。
これにより、低減処理部２５０は、撮像装置１００の外部において、ノイズ低減処理を実行することができる。
【０１２４】
このように、第１実施形態では、低減処理部２５０が、マイク２３０により収音されたマイク音信号に対して信号処理する例について説明したが、本実施形態に係る低減処理部２５０は、このようなリアルタイムに収音された音信号に対してのみ適用されるものではない。
撮像装置１００の外部においてもノイズ低減処理を実行することにより、撮像装置の撮像処理等の処理負荷を軽減することができる。また、ユーザの所望する任意の時間において、ノイズ低減処理を実行することができるため、撮像装置１００がノイズ低減処理を実行することによる撮像装置１００の消費電力を抑えることができる。よって、外出先において撮像装置１００の消費電力の消耗を軽減することができる。
【０１２５】
なお、動作タイミング検出部１９１又は低減処理部２５０等による手順を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、実行処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものであってもよい。
【０１２６】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２７】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１２８】
１００…撮像装置、１１０…撮像部、１２０…レンズＣＰＵ、１３０…バッファメモリ、１４０…画像処理部、１５０…表示部、１６０…記憶部、１７０…通信部、１８０…操作部、１９０…ボディＣＰＵ、２２０…計時部、２３０…マイク、２４０…Ａ/Ｄ変換部、２５０…低減処理部、２５１…クリップ検出部、２５２…音信号処理部、２５３…ノイズ推定対象判定部、２５４…推定ノイズ算出部、２５５…ノイズ低減処理部、２５６…逆フーリエ変換部、２５７…記憶部、２５８…推定ノイズ更新部、２６０…電池、１９１…動作タイミング検出部、２５５１…衝撃音ノイズ低減処理部、２５５２…駆動音ノイズ低減処理部
【図１】
2014022953.tif 000003
【図２】
2014022953.tif 000004
【図３】
2014022953.tif 000005
【図４】
2014022953.tif 000006
【図５】
2014022953.tif 000007
【図６】
2014022953.tif 000008
【図７】
2014022953.tif 000009
【図８】
2014022953.tif 000010
【図９】
2014022953.tif 000011
【図１０】
2014022953.tif 000012
【図１１】
2014022953.tif 000013
【図１２】
2014022953.tif 000014
【図１３】
2014022953.tif 000015
【図１４】
2014022953.tif 000016
【図１５】
2014022953.tif 000017
【図１６】
2014022953.tif 000018
【図１７】
2014022953.tif 000019
【図１８】
2014022953.tif 000020
【図１９】
2014022953.tif 000021