ノイズ低減処理装置、撮像装置、およびノイズ低減処理プログラム
【課題】ノイズ低減処理におけるノイズ推定の精度を向上させること。
【解決手段】予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、音信号を取得する音信号取得部と、前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、を備える。
【解決手段】予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、音信号を取得する音信号取得部と、前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音信号からノイズを減算するノイズ低減処理装置、撮像装置、およびノイズ低減処理プログラムに関する。
【背景技術】
【0002】
例えば、連続的に発生している周囲音をノイズとして除去するため、音信号から周囲音に対応するノイズ(音信号に含まれているノイズ成分)を算出して、このノイズを音信号から減じるものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−195955号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、撮像装置には、レンズやこれを駆動させる駆動部等を含む動作部が搭載されており、例えばユーザの操作に応じて動作部が動作することで、この動作部の動作音が非連続的(突発的)に発生する場合がある。
このように非連続的に発生するノイズの場合、特許文献1の技術にあっては、音信号から周囲音に対応するノイズ、すなわち、連続的に発生しているノイズのみを算出しているため、非連続的に発生するノイズを算出することが困難であるという問題がある。
【0005】
本発明は、前記の点に鑑みてなされたものであり、ノイズ低減処理におけるノイズ推定の精度を向上させるためのノイズ低減処理装置、撮像装置、およびノイズ低減処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するためになされたものであり、予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、音信号を取得する音信号取得部と、前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、ノイズ低減処理におけるノイズ推定の精度を向上させることができる。
【図面の簡単な説明】
【0008】
【図1】本発明の第1実施形態に係るノイズ低減処理部を含む撮像装置の構成の一例を示すブロック図である。
【図2】本発明の第1実施形態に係る動作部の動作タイミング信号と音信号との関係の一例を説明するための参考図である。
【図3】図2に示す音信号と窓関数との関係を説明するための参考図である。
【図4】本発明の第1実施形態に係るノイズ推定判定部が取得する第2周波数スペクトルの一例を説明するための図である。
【図5】本発明の第1実施形態に係るノイズ推定判定部が取得する第1周波数スペクトルの一例を説明するための図である。
【図6】本発明の第1実施形態に係る静環境閾値αの一例について説明するための図である。
【図7】本発明の第1実施形態に係る初期推定ノイズNSiの一例について説明するための図である。
【図8】本発明の第1実施形態に係るノイズ低減処理方法の一例について説明するためのフローチャートである。
【図9】本発明の第1実施形態に係るノイズ推定判定処理とノイズ推定処理の一例を示すフローチャートである。
【図10】本発明の第1実施形態に係るノイズ推定判定部が取得する第1周波数スペクトルの他の一例を説明するための図である。
【図11】本発明の第1実施形態に係るノイズ推定判定部が取得する第2周波数スペクトルの他の一例を説明するための図である。
【図12】エンコーダの出力とマイク音信号の一例を示す図である。
【図13】コマンド、エンコーダの出力、およびマイク音信号の一例を示す図である。
【図14】本発明の第2実施形態に係る信号対雑音比SNRと重み係数γとの関係を示すグラフである。
【図15】本発明の第2実施形態に係るスペクトル比SRと重み係数εとの関係を示すグラフである。
【図16】波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。
【図17】波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【図18】周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。
【図19】周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【図20】本発明の第3実施形態に係る低減処理部の構成の一例について示す図である。
【図21】本発明の第3実施形態に係る衝撃音ノイズ低減処理部が取得する第1周波数スペクトルと第2周波数スペクトルの一例を説明するための図である。
【図22】図3に示した各周波数スペクトルの周波数成分の一例を示す図である。
【図23】本発明の第3実施形態に係る衝撃音ノイズ低減処理の一例について説明するための図である。
【図24】本発明の第3本実施形態に係るノイズ低減処理方法の一例について説明するためのフローチャートである。
【発明を実施するための形態】
【0009】
[第1実施形態]
本発明の実施形態について図面を参照して詳細に説明する。図1には、本実施形態に係る撮像装置の構成を示すブロック図が示されている。
図1に示す通り、撮像装置100は、光学系による像を撮像し、得られた画像データを記憶媒体200に記憶させるとともに、マイクによって収音されたマイク音信号に対してノイズ低減処理を行い、ノイズ低減処理後の音信号を記憶媒体200に記憶させる。
この撮像装置100は、低減処理部250を備える。この低減処理部250は、マイク音信号に含まれる推定ノイズを取得し、この推定ノイズに基づきマイク音からノイズを低減するノイズ低減処理を行う。
【0010】
本実施形態に係る低減処理部250は、動作部が動作することによって発生するノイズ(以下、動作音という)を低減するためのノイズ低減処理を実行する。例えば、撮像装置100において、AF(Auto Focus)やVR(Vibration Reduction)等の処理において光学系を駆動する場合、モータや光学系が動くことによりノイズ(動作音)が発生する。また、モータが回転方向を切り換えた場合、一時的に大きい音のノイズ(動作音)が発生する。このように、動作部の動作状態が変化した場合に、一時的に発生する大きい音を衝撃音という。一方、この衝撃音よりも小さく、光学系やモータが動いているときに発生する音を駆動音という。つまり、駆動音は、衝撃音以外のノイズである。本実施形態に係る低減処理部250は、駆動音によるノイズを推定し、この推定値に基づきマイク音信号から駆動音によるノイズを低減するノイズ低減処理を行う。
【0011】
以下、撮像装置100と低減処理部250の構成の一例について詳細に説明する。なお、本実施形態において、低減処理部250は、撮像装置100に内蔵されている例について説明するが、本発明はこれに限られない。例えば、低減処理部250は、撮像装置100の外部装置であってもよい。
【0012】
撮像装置100は、撮像部110と、バッファメモリ130と、画像処理部140と、表示部150と、記憶部160と、通信部170と、操作部180と、CPU190と、計時部220と、マイク230と、A/D変換部240と、低減処理部250と、電池260と、を備える。
【0013】
撮像部110は、光学系111と、撮像素子119と、A/D(Analog/Digital)変換部120とを備え、設定される撮像条件(例えば絞り値、露出値等)に応じて予め決められた動作パターンに従って、CPU190により制御される。この撮像部110は、光学系111による光学像を撮像素子119に結像させて、A/D変換部120によってデジタル信号に変換された光学像に基づく画像データを生成する。
【0014】
光学系111は、焦点調整レンズ(以下、「AFレンズ」という)112と、手ブレ補正レンズ(以下、「VRレンズ」という)113と、ズームレンズ114と、ズームエンコーダ115と、レンズ駆動部116と、AFエンコーダ117と、手ブレ補正部118とを備える。
これら光学系111の各構成は、CPU190による焦点調整処理、手ブレ補正処理、およびズーム処理において、それぞれの動作パターンに従って、駆動する。つまり、光学系111は、撮像装置100における動作部である。
【0015】
この光学系111は、ズームレンズ114から入射し、ズームレンズ114、VRレンズ113、AFレンズ112の順番で通過した光学像を、撮像素子119の受光面に導く。
レンズ駆動部116は、AFレンズ112およびズームレンズ114の位置を制御するための駆動制御信号(コマンド)をCPU190から入力する。このレンズ駆動部116は、入力する駆動制御信号に応じて、AFレンズ112およびズームレンズ114の位置を制御する。
つまり、この駆動制御信号がCPU190からレンズ駆動部116に入力されてレンズ駆動部116が駆動することにより、AFレンズ112およびズームレンズ114が移動(動作)する。本実施形態において、CPU190が駆動制御信号を出力したタイミングを、AFレンズ112およびズームレンズ114の動作が開始された動作開始タイミングという。
【0016】
ズームエンコーダ115は、ズームレンズ114の位置を表わすズームポジションを検出し、CPU190に出力する。このズームエンコーダ115は、ズームレンズ114の移動を検出し、例えば、ズームレンズ114が光学系111内を移動している場合にパルス信号をCPU190に出力する。一方、停止している場合、ズームエンコーダ115は、パルス信号の出力を停止する。
【0017】
AFエンコーダ117は、AFレンズ112の位置を表わすフォーカスポジションを検出し、CPU190に出力する。このAFエンコーダ117は、AFレンズ112の移動を検出する。
【0018】
なお、ズームエンコーダ115は、ズームポジションを検出するために、ズームレンズ114の駆動方向を検出するものであってもよい。また、AFエンコーダ117は、フォーカスポジションを検出するために、AFレンズ112の駆動方向を検出するものであってもよい。
例えば、ズームレンズ114やAFレンズ112は、レンズ駆動部116によって駆動される駆動機構(例えばモータやカム等)が時計回り(CW)あるいは反時計回り(CCW)に回転することにより光軸方向に移動する。ズームエンコーダ115およびAFエンコーダ117は、それぞれ、駆動機構の回転方向(ここでは、時計回りあるいは反時計回り)を検出することよって、ズームレンズ114およびAFレンズ112が移動していることを検出するものであってもよい。
【0019】
手ブレ補正部118は、例えば振動ジャイロ機構を備え、光学系111による像の光軸ぶれを検出し、この光軸ぶれを打ち消す方向にVRレンズ113を動かす。この手ブレ補正部118は、例えばVRレンズ113を動かしている状態においてハイレベルの信号をCPU190に出力する。一方、VRレンズ113を停止させている状態において、手ブレ補正部118は、ローレベルの信号をCPU190に出力する。
【0020】
撮像素子119は、例えば、光電変換面を備え、その受光面に結像した光学像を電気信号に変換して、A/D変換部120に出力する。
この撮像素子119は、操作部180を介して撮影指示を受け付けた際に得られる画像データを、静止画又は動画の画像データとして、A/D変換部120を介して記憶媒体200に記憶させる。一方、撮像素子119は、操作部180を介して撮像指示を受け付けていない状態において、連続的に得られる画像データをスルー画データとして、A/D変換部120を介してCPU190および表示部150に出力する。
【0021】
A/D変換部120は、撮像素子119によって変換された電気信号をデジタル化して、デジタル信号である画像データをバッファメモリ部130に出力する。
【0022】
バッファメモリ部130は、撮像部110によって撮像された画像データを、一時的に記憶する。また、バッファメモリ部130は、マイク230が収音したマイク検出音に応じたマイク音信号を、一時的に記憶する。なお、バッファメモリ部130は、マイク検出音が収音された時刻と、バッファメモリ部130における位置とを対応付けて、マイク検出音に応じたマイク音信号を記憶してもよい。
【0023】
画像処理部140は、記憶部160に記憶されている画像処理条件を参照して、バッファメモリ部130に一時的に記憶されている画像データに対して、画像処理をする。画像処理された画像データは、通信部170を介して記憶媒体200に記憶される。なお、画像処理部140は、記憶媒体200に記憶されている画像データに対して、画像処理をしてもよい。
【0024】
表示部150は、例えば液晶ディスプレイであって、撮像部100によって得られた画像データや操作画面等を表示する。
【0025】
記憶部160は、CPU190によってシーン判定の際に参照される判定条件や、シーン判定によって判断されたシーン毎に対応付けられた撮像条件等を記憶する。
【0026】
通信部170は、カードメモリ等の取り外しが可能な記憶媒体200と接続され、この記憶媒体200への情報(画像データや音データ等)の書込み、読み出し、あるいは消去を行う。
【0027】
操作部180は、例えば、電源スイッチ、シャッターボタン、マルチセレクタ(十字キー)、又はその他の操作キーを備え、ユーザによって操作されることでユーザの操作入力を受け付け、操作入力に応じた操作情報をCPU190に出力する。この操作部180は、ユーザによって押下される際、物理的な動作音を発生する場合がある。本実施形態において、ユーザの操作入力に応じた操作情報が操作部180からCPU190に入力するタイミングを、操作部180の動作が開始される動作開始タイミングという。
【0028】
記憶媒体200は、撮像装置100に対して着脱可能に接続される記憶部であって、例えば、撮像部110によって生成された(撮影された)画像データや、低減処理部250により音信号処理された音信号を記憶する。
【0029】
バス210は、撮像部110と、バッファメモリ部130と、画像処理部140と、表示部150と、記憶部160と、通信部170と、操作部180と、CPU190と、計時部220と、A/D変換部240と、低減処理部250と接続され、各構成部から出力されたデータ等を転送する。
【0030】
計時部220は、日にちや時刻を計時して、計時した日時を表わす日時情報を出力する。
【0031】
マイク230は、周辺の音を収音し、この音のマイク音信号をA/D変換部240に出力する。このマイク230によって収音されるマイク検出音には、主に、収音対象である目的音と、動作部による動作音(ノイズ)とが含まれている。
【0032】
ここで、マイク230によって取得されたマイク音信号について、例えば、AFレンズ112が動作された時に得られたマイク音信号を例に、図2、3を参照して説明する。
図2(A)は、AFエンコーダ117の出力と時間との関係の一例を示す。図2(B)は、マイク音信号と時間の関係の一例が示されている。なお、図2(B)は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。図2(A)と図2(B)に示すAFレンズ112の動作パターンは、例えば、焦点距離Pでピントを合わせるAF処理を行う場合の動作パターンである。
【0033】
図2(A)には、その縦軸に、AFエンコーダ117出力から求めた、AFレンズ112を駆動する駆動機構の回転方向を示す。
この焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、図2(A)に示す通り、AFレンズ112を駆動する駆動機構が、時刻t10〜t20において、時計回りCWに回転して、その後、静止する。
つまり、時刻t10は、AFレンズ112の動作開始タイミングを、時刻t20は、AFレンズ112の動作停止タイミングを、それぞれ表わしている。なお、本実施形態において、動作開始タイミングの時刻t10は、AFレンズ112の位置を制御するための駆動制御信号をCPU190が出力したタイミングである。動作停止タイミングの時刻t20は、AFエンコーダ117からのパルス信号の出力が停止したタイミングである。
【0034】
従って、図2(B)に示す通り、時刻t10〜t20の期間で、マイク音信号にAFレンズ112による動作音が目的音に重畳している、又は、動作音が目的音に重畳している可能性が高い。本実施形態においては、時刻t10〜t20の期間において、AFレンズ112による動作音であるノイズが発生している場合について以下説明する。
また、図2(B)に示す通り、時刻t10、t20においては、それぞれ衝撃音が発生している可能性が高い。本実施形態においては、時刻t10、t20において、AFレンズ112による衝撃音が発生している場合について以下説明する。
【0035】
また、衝撃音が発生した場合、その衝撃音が発生している可能性の高い時間は、各動作パターンに応じて予め決められている。焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、図3に示すような衝撃音の発生する時間が決められている。
図3は、焦点距離Pでピントを合わせるAF処理を行う動作パターンでAFレンズ112を駆動した際に、マイク230で収音されるマイク音信号の一例を示す。図3に示すグラフは、縦軸にマイク230によって収音されたマイク音信号を、横軸に時間を、それぞれ示す。なお、図3は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。
焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、時刻t10〜t11までの時間、および時刻t20〜t21までの時間が、それぞれ、衝撃音の発生する時間であると予め決められている。動作部が動作しない可能性の高い期間を非動作期間Taとする。動作部の動作により衝撃音が発生する可能性の高い期間を衝撃音発生期間Tbとする。動作部の動作により駆動音が発生する可能性の高い期間を駆動音発生期間Tcとする。時刻t0〜t10の区間、t21〜の区間が、非動作期間Taである。時刻t10〜t11の区間、時刻t20〜t21の区間が、衝撃音発生期間Tbである。時刻t11〜t20の区間が、駆動音発生期間Tcである。
本実施形態では、図3に示す通り、この衝撃音の発生する期間において、衝撃音が発生している例について説明する。
【0036】
図1に戻って、撮像装置100の各構成の説明を続ける。
CPU190は、設定された撮像条件(例えば絞り値、露出値等)に応じた動作パターンに従って撮像部110を制御する。このCPU190は、ズームエンコーダ115から出力されるズームポジションおよびAFエンコーダ117から出力されるフォーカスポジションに基づき、レンズ駆動部116を駆動する駆動制御信号を生成して、レンズ駆動部116に出力する。その生成アルゴリズムは、必要に応じて既存のアルゴリズムを適宜用いてよい。
【0037】
タイミング信号検出部191は、撮像装置100が備えている動作部の動作状態が変化するタイミングを検出する。この動作状態が変化するタイミングとしては、例えば、動作部が動作を開始する動作開始タイミングと、動作部の動作が停止する動作停止タイミングとがある。
ここでいう動作部とは、例えば、上述した光学系111、あるいは、操作部180のことであり、撮像装置100が備えている構成のうち、動作することにより、または、動作されることにより、動作音が生じる(または、動作音が生じる可能性がある)構成である。
言い換えると、動作部とは、撮像装置100が備えている構成のうち、動作部が動作することにより生じた動作音、または、動作部が動作されることにより生じた動作音が、マイク230により収音される(または、収音される可能性のある)構成である。
【0038】
例えば、このタイミング信号検出部191は、動作部を動作させる駆動制御信号に基づいて、動作部の動作状態が変化するタイミングを検出してもよい。この駆動制御信号とは、動作部を動作させる駆動部に対して、動作部を動作させるようにする駆動制御信号、または、この駆動部を駆動させる駆動制御信号である。
【0039】
例えば、タイミング信号検出部191は、ズームレンズ114、VRレンズ113、または、AFレンズ112を駆動させるため、レンズ駆動部116または手ブレ補正部118に入力される駆動制御信号に基づいて、ズームレンズ114、VRレンズ113、または、AFレンズ112の動作が開始された動作開始タイミングを検出する。この場合、タイミング信号検出部191は、CPU190が駆動制御信号を生成する場合にCPU190内部で実行される処理やコマンドに基づいて、動作開始タイミングを検出してもよい。
また、タイミング信号検出部191は、操作部180から入力されるズームレンズ114、または、AFレンズ112を駆動させることを示す操作信号に基づいて、動作開始タイミングを検出してもよい。
【0040】
また、タイミング信号検出部191は、動作部が動作されたことを示す信号に基づいて、動作部の動作状態が変化するタイミングを検出してもよい。
例えば、タイミング信号検出部191は、ズームエンコーダ115またはAFエンコーダ117の出力に基づいて、ズームレンズ114またはAFレンズ112が駆動されたことを検出することにより、ズームレンズ114またはAFレンズ112の動作開始タイミングを検出してもよい。また、タイミング検出部191は、ズームエンコーダ115またはAFエンコーダ117の出力に基づいて、ズームレンズ114またはAFレンズ112が停止されたことを検出することにより、ズームレンズ114またはAFレンズ112の動作停止タイミングを検出してもよい。
また、タイミング信号検出部191は、手ブレ補正部118からの出力に基づいて、VRレンズ113が駆動されたことを検出することにより、VRレンズ113の動作開始タイミングを検出してもよい。このタイミング信号検出部191は、手ブレ補正部118からの出力に基づいて、VRレンズ113が停止されたことを検出することにより、VRレンズ113の動作停止タイミングを検出してもよい。
さらに、タイミング信号検出部191は、操作部180からの入力に基づいて、操作部180が操作されたことを検出することにより、動作部が動作するタイミングを検出してもよい。
【0041】
タイミング信号検出部191は、撮像装置100が備えている動作部の動作開始タイミングを検出し、検出した動作開始タイミングを示す動作開始タイミング信号を、低減処理部250に出力する。また、タイミング信号検出部191は、撮像装置100が備えている動作部の動作停止タイミングを検出し、この検出した動作停止タイミングを示す動作停止タイミング信号を、低減処理部250に出力する。
本実施形態において、タイミング検出部191は、AFレンズ112を動かす駆動制御信号がCPU190からレンズ駆動部116に出力されるタイミングを、AFレンズ112の動作開始タイミングと判定する。タイミング検出部191は、例えば、図3を用いた例で示す衝撃音が発生している時刻t10〜t11を示す情報を、動作開始タイミング信号として出力する。
また、タイミング検出部191は、AFエンコーダ117から出力されるパルス信号に基づき、このパルス信号の出力が停止した時を、AFレンズ112の動作が停止した動作停止タイミングと判定する。タイミング検出部191は、例えば、図3を用いた例で示す衝撃音が発生している時刻t20〜t21を示す情報を、動作停止タイミング信号として出力する。
【0042】
A/D変換部240は、マイク230から入力されたアナログ信号であるマイク音信号をデジタル信号であるマイク音信号に変換する。このA/D変換部240は、デジタル信号であるマイク音信号を、低減処理部250に出力する。
また、A/D変換部240は、デジタル信号であるマイク音信号を、バッファメモリ部130あるいは記憶媒体200に記憶させる構成であってもよい。
【0043】
低減処理部250は、A/D変換部240によりデジタル信号に変換されたマイク音信号に対して、例えばAFレンズ112、VRレンズ113、ズームレンズ114等の動作部による動作音であるノイズを低減するなどのノイズ低減処理を実行し、このノイズ低減処理した音信号を記憶媒体200に記憶させる。
この低減処理部250は、音信号処理部251と、ノイズ推定判定部252と、ノイズ推定部253と、ノイズ低減処理部254と、逆フーリエ変換部255とを含む。
【0044】
音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされるスペクトルに変換して、この周波数領域で表わされるスペクトル(周波数スペクトル)をノイズ推定判定部252に出力する。
この音信号処理部251は、例えば、マイク音信号にフーリエ変換、あるいは高速フーリエ変換(FFT:Fast Fourier Transform)を行うことで、マイク音信号を周波数領域に変換する。音信号処理部251は、例えば、マイク音信号にフーリエ変換を行うことで、窓関数の各区間に対応する周波数スペクトルを算出する。
ここで、窓関数において予め定められた区間とは、信号処理の単位(フレーム)であって、一定の間隔で繰り返される区間である。これらの窓関数の各区間は、他の窓関数の各区間と半分ずつオーバーラップしている。なお、窓関数は、例えば、ハニング窓(ハニングウィンドウ)関数が利用可能である。
【0045】
上述した図3を参照して、音信号処理部251により算出される窓関数の各区間に対応する周波数スペクトルの一例について説明する。
音信号処理部251は、上述の通り、A/D変換部240から出力されたマイク音信号に対して、図3に示すように他の区間と半分ずつオーバーラップしている窓関数W1〜W14で重み付けをする。これにより、マイク音信号は、窓関数のサイズに分割される。この音信号処理部251は、例えば窓関数W1〜W14で重み付けされた各区間のマイク音信号ごとに、例えばフーリエ変換を行い、周波数領域における周波数スペクトルS1〜S14を算出する。つまり、音信号処理部251によって算出される周波数スペクトルS1〜S14は、窓関数W1〜W14の区間にそれぞれ対応する周波数スペクトルである。
【0046】
図3に示す通り、焦点距離αでピントを合わせるAF処理を行う場合の動作パターンにおいては、駆動開始タイミングと駆動停止タイミングにおいて衝撃音が発生する。ここで、動作部が動作しない可能性の高い期間を非動作期間Taとする。動作部の動作により衝撃音が発生する可能性の高い期間を衝撃音発生期間Tbとする。動作部の動作により駆動音が発生する可能性の高い期間を駆動音発生期間Tcとする。
時刻t0〜t10の区間、t21〜の区間が、非動作期間Taである。時刻t10〜t11の区間、時刻t20〜t21の区間が、衝撃音発生期間Tbである。時刻t11〜t20の区間が、駆動音発生期間Tcである。
本実施形態において、窓関数W1、W13、W14に対応する周波数スペクトルS1、S13、S14は、非動作期間Taに取得されたマイク音信号の周波数スペクトルである。窓関数W5〜W8に対応する周波数スペクトルS5〜S8は、動作部が動作する可能性の高い期間のうち、駆動音発生期間Tcに取得されたマイク音信号の周波数スペクトルである。
また、窓関数W2〜W4に対応する周波数スペクトルS2〜S4と、窓関数W9〜W12に対応する周波数スペクトルS9〜S12は、動作部が動作する可能性の高い期間のうち、衝撃音発生期間Tbに取得されたマイク音信号の周波数スペクトルである。
【0047】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作部が動作する可能性の高い期間のうち、駆動音が発生する可能性の高い期間(駆動音発生期間Tc)に取得される音信号の一の周波数スペクトル(以下、第1周波数スペクトルCという)を取得する。本実施形態において、ノイズ推定判定部252は、駆動音発生期間Tcに対応する周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5を第1周波数スペクトルCとして取得する。言い換えると、ノイズ推定判定部252は、非動作期間Taと時間軸方向に最も近い駆動音発生期間Tcの周波数スペクトルを、第1周波数スペクトルCとして取得する。
【0048】
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作部が動作しない可能性の高い期間(非動作期間Ta)に取得される音信号の一の周波数スペクトル(以下、第2周波数スペクトルという)を取得する。本実施形態において、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルS1〜S14から、非動作期間Taに対応する周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS1を第2周波数スペクトルAとして取得する。言い換えると、ノイズ推定判定部252は、駆動音発生期間Tcと時間軸方向に最も近い非動作期間Taの周波数スペクトルを、第2周波数スペクトルAとして取得する。
【0049】
ここで、図4、5を参照して、ノイズ推定判定部252が取得する第1周波数スペクトルCと第2周波数スペクトルAの一例について説明する。図4は、第2周波数スペクトルAの一例を示す図である。図5は、第1周波数スペクトルCの一例を示す図である。
図4に示す通り、第2周波数スペクトルAの周波数スペクトルS1は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分A1〜A8を含む。
図5に示す通り、第1周波数スペクトルCの周波数スペクトルS5は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分C1〜C8を含む。
周波数スペクトルS1と周波数スペクトルS5を比較すると、周波数スペクトルS5の方が、それぞれの周波数成分における振幅が大きい。これは、周波数スペクトルS5に駆動音が含まれているからである。
【0050】
ノイズ推定判定部252は、第1周波数スペクトルCの周波数スペクトルS5の音信号が、動作部の動作パターンに応じて予め決められているノイズ推定を実行するノイズ推定条件を満たすか否かを判定する(以下、ノイズ推定判定処理という)。
本実施形態において、ノイズ推定判定部252は、以下のノイズ推定条件(1)と(2)のうち少なくともいずれか1つの条件を満たす場合、周波数スペクトルS5の音信号がノイズ推定条件を満たすと判定する。
ノイズ推定条件(1)
動作部が動作する可能性の高い期間に取得される駆動音以外の音が、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値未満であること。この条件は、動作部が動作する可能性の高い期間に取得される音に含まれる駆動音以外の音、例えば、目的音が十分に小さい場合、この期間に取得された音が駆動音によるノイズと概ね同等であると推定するための条件である。
ノイズ推定条件(2)
動作部が動作する可能性の高い期間に取得される駆動音が、動作部の動作パターンに応じた駆動音の推定ノイズNSとして予め決められている初期推定ノイズNSiに基づく許容範囲内であること。この条件は、動作部による動作のタイミングがずれてしまい衝撃音を含む周波数スペクトルに基づき推定ノイズNSを決定してしまう事態や、目的音が大きい期間に取得される周波数スペクトルに基づき推定ノイズNSを決定してしまう事態を防止するための条件である。
【0051】
本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(1)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値αを参照して、第2周波数スペクトルAとこの静環境閾値αと比較する。
この静環境閾値αの一例について図6を参照して説明する。
図6は、静環境閾値αの周波数スペクトルの一例を示す図である。図6に示す通り、静環境閾値αの周波数スペクトルは、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分α1〜α8を含む。
【0052】
ノイズ推定判定部252は、第2周波数スペクトルAの周波数成分A1〜A8の総和Aallが、静環境閾値αの周波数スペクトルの周波数成分α1〜α8の総和αall未満であるか否かを判定する。
第2周波数スペクトルAの周波数成分A1〜A8の総和Aallが、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall未満である場合、ノイズ推定判定部252は、ノイズ推定条件(1)を満たすと判定する。
【0053】
また、本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(2)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、動作部の動作パターンに応じた駆動音の推定ノイズとして予め決められている初期推定ノイズNSiを参照して、第1周波数スペクトルCとこの初期推定ノイズNSiに基づく許容範囲を示す閾値(下限閾値NSimin,上限閾値NSimax;NSimin,<NSi<NSimax)とを比較する。
【0054】
この初期推定ノイズNSiの一例について図7を参照して説明する。
図7は、初期推定ノイズNSiの周波数スペクトルの一例を示す図である。図7に示す通り、初期推定ノイズNSiの周波数スペクトルは、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分NSi1〜NSi8を含む。
なお、下限閾値NSiminは、例えば、初期推定ノイズNSiの周波数成分NSi1〜NSi8のそれぞれに0.5を乗算した値の周波数成分NSimin,1〜NSimin,8によって構成される周波数スペクトルである。
また、上限閾値NSimaxは、例えば、初期推定ノイズNSiの周波数成分NSi1〜NSi8のそれぞれに1.3を乗算した値の周波数成分NSimax,1〜NSimax,8によって構成される周波数スペクトルである。
【0055】
ノイズ推定判定部252は、第1周波数スペクトルCの周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分NSimin,1〜NSimin,8の総和NSimin,all以上かつ上限閾値NSimaxの周波数成分NSimax,1〜NSimax,8の総和NSimax,all未満であるか否かを判定する。
第1周波数スペクトルCの周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分の総和NSimin,all以上、かつ、上限閾値NSimaxの周波数成分の総和NSimax,all未満である場合、ノイズ推定判定部252は、ノイズ推定条件(2)を満たすと判定する。
【0056】
ノイズ推定部253は、ノイズ推定判定部252によってノイズ推定条件を満たすと判定された場合、第1周波数スペクトルCに基づき、動作部の動作によって発生する駆動音を示す推定ノイズを決定する(以下、ノイズ推定処理という)。
本実施形態において、ノイズ推定部253は、ノイズ推定条件(1)と(2)の両方を満たす場合、例えば、ノイズ推定条件(1)において静環境閾値αと比較された第2周波数スペクトルAの音信号が取得された期間と時間軸方向に最も近い第1周波数スペクトルCを推定ノイズNSと決定する。
【0057】
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、動作部が動作する可能性の高い期間に取得される音信号の周波数スペクトルを取得する。このノイズ低減処理部254は、例えば、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される駆動音期間Tcに対応する全ての第1周波数スペクトルを取得するものであってもよい。
【0058】
このノイズ低減処理部254は、例えば、動作開始タイミングから動作停止タイミングまでの期間に取得される音信号の周波数スペクトルを取得する。
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音が発生している可能性の高い期間に対応する第1周波数スペクトルCと第3周波数スペクトルBを取得する。本実施形態において、ノイズ低減処理部254は、周波数スペクトルS2〜S12を取得する。
【0059】
このノイズ低減処理部254は、取得した周波数スペクトルS2〜S12に対して、動作パターンに応じて予め決められている駆動音によるノイズを低減するノイズ低減処理を行う。例えば、ノイズ低減処理部254は、ノイズ推定部253によって決定された推定ノイズNSの周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算するスペクトル減算法を実行する。
本実施形態において、ノイズ低減処理部254は、ノイズ推定部253によって推定ノイズNSが決定された場合は、この決定された推定ノイズNSを用いてノイズ低減処理を実行する。しかし、ノイズ推定部253によって推定ノイズが決定されない場合は、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0060】
逆フーリエ変換部255は、ノイズ低減処理部254から入力された周波数スペクトルに対して、例えば逆フーリエ変換、あるいは逆高速フーリエ変換(IFFT:Inverse Fast Fourier Transform)を行うことで、時間領域に変換する。
通信部170は、この逆フーリエ変換部255によって時間領域に変換された音信号を記憶媒体200に記憶させる。なお、通信部170は、時間領域に変換された音信号と、撮像素子119により撮像された画像データとを、対応する日時情報を有する同士で対応付けて、記憶媒体200に記憶させてもよく、音信号を含む動画として記憶してもよい。
【0061】
次に、図8を参照して、本発明に係るノイズ低減処理方法の一例について説明する。図8は、本発明に係るノイズ低減処理方法の一例を示すフローチャートである。
例えば、操作部180の電源スイッチがONされると、撮像装置100に電源が投入され、電池260から各構成部に対して電力が供給される。本実施形態では、撮像装置100に対して、撮像時の画像データと音声データとを対応付けて記憶媒体200に記憶させることが予め設定されている。
【0062】
(ステップST1)
マイク230は、例えば、電源がONされると、収音されたマイク音信号をA/D変換部240に出力する。A/D変換部240は、アナログ信号であるマイク音信号をデジタル変換したマイク音信号を低減処理部250に出力する。
低減処理部250は、A/D変換部240からマイク音信号を入力する。
【0063】
例えば、ユーザによって、操作部180のレリーズボタンが押下された場合、CPU190は、AF処理において、例えば焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を、レンズ駆動部116とタイミング検出部191に出力する。
このレンズ駆動部116は、入力する駆動制御信号に基づき、焦点距離Pでピントを合わせる動作パターンに従って、AFレンズ112を移動させる。例えば、レンズ駆動部116は、AFレンズ112の駆動機構を時計回りに所定量回転させて、AFレンズ112を移動させる。なお、この駆動機構を回転させる回転量やスピードは、焦点距離Pでピントを合わせる動作パターンとして、予め決められている。
AFレンズ112が動くと、CPU190は、AFエンコーダ117の出力から求めたハイレベルの信号をタイミング検出部191に出力する。動いていたAFレンズ112が停止すると、CPU190は、AFエンコーダ117の出力から求めたローレベルの信号をタイミング検出部191に出力する。
【0064】
タイミング検出部191は、入力する駆動制御信号やAFエンコーダ117の出力レベルに基づき、焦点距離Pでピントを合わせる動作パターンに従って、動作タイミング信号を生成し、低減処理部250に出力する。
例えば、焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を入力した場合、タイミング検出部191は、AFレンズ112の動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作開始タイミング信号を生成し、低減処理部250に出力する。
【0065】
(ステップST2)
低減処理部250は、タイミング検出部191から動作タイミング信号が入力されたか否かを判定する。
(ステップST3)
動作タイミング信号が入力された場合、低減処理部250の音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされる周波数スペクトルに変換する。音信号処理部251は、例えば、窓関数で重み付けされた音信号をフーリエ変換して、周波数スペクトルS1〜S14を算出し、ノイズ推定判定部252に出力する。
【0066】
(ステップST4)
そして、ノイズ推定判定部252は、ノイズ推定条件(1)および(2)を満たすか否かを判定するノイズ推定判定処理を実行する。
(ステップST5)
ノイズ推定部253は、ノイズ推定判定部252によるノイズ推定判定結果に基づき、推定ノイズNSを決定する。
(ステップST6)
そして、ノイズ推定部253は、決定した推定ノイズNSを記憶部160に格納するとともに、ノイズ低減処理部254に出力する。
【0067】
(ステップST7)
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される音信号のうち、動作部が動作する可能性の高い期間の周波数スペクトルを取得する。
そして、ノイズ低減処理部254は、取得した周波数スペクトルから、ノイズ推定部253によって決定された推定ノイズの周波数スペクトルを減算するスペクトル減算法を実行する。このノイズ低減処理部254は、ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部255に出力する。
(ステップST8)
逆フーリエ変換部255は、ノイズ低減処理部254から入力されたノイズ低減処理後の周波数スペクトルに対して、例えば逆フーリエ変換を行うことで、時間領域に変換する。この逆フーリエ変換部255は、時間領域に変換された音信号を記憶媒体200に記憶させる。
【0068】
(ステップST9)
なお、ステップST4のノイズ推定判定処理によって、ノイズ推定条件(1)と(2)のうちいずれか一方の条件を満たさないと判定された場合、ノイズ低減処理部254は、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0069】
次に、図9を参照して、本実施形態に係るノイズ推定判定処理とノイズ推定処理の一例について説明する。図9は、本実施形態に係るノイズ推定判定処理とノイズ推定処理の一例を示すフローチャートである。
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0070】
(ステップST101)
そして、ノイズ推定判定部252は、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallが、静環境閾値αの周波数スペクトルの周波数成分α1〜α8の総和αall未満であるか否かを判定する。
(ステップST101−YES)
図4と図6に示す通り、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallは、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall未満である。よって、ノイズ推定判定部252は、ノイズ推定条件(1)を満たすと判定する。
【0071】
(ステップST102)
次いで、ノイズ推定判定部252は、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分NSimin,1〜NSimin,8の総和NSimin,all以上かつ上限閾値NSimaxの周波数成分NSimax,1〜NSimax,8の総和NSimax,all未満であるか否かを判定する。
(ステップST102−YES)
図5と図7に示す通り、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分の総和NSimin,all以上、かつ、上限閾値NSimaxの周波数成分の総和NSimax,all未満である。よって、ノイズ推定判定部252は、ノイズ推定条件(2)を満たすと判定する。
ここで、ノイズ推定判定部252が、第1周波数スペクトルCである周波数スペクトルS5がノイズ推定条件(1)および(2)を満たすと判定した場合、この判定結果を示す情報をノイズ推定部253に出力する。
【0072】
(ステップST103)
ノイズ推定部253は、このノイズ推定判定部252による判定結果に基づき、第1周波数スペクトルCである周波数スペクトルS5が、動作部の動作によって発生する駆動音を示す推定ノイズであると決定する。
【0073】
一方、ノイズ推定判定部252が、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルから、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5´を第1周波数スペクトルCとして取得したとする。この周波数スペクトルS5´の一例について、図10に示す。
図10に示す通り、第1周波数スペクトルCの周波数スペクトルS5´は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分C1´〜C8´を含む。
【0074】
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルから、動作開始タイミングと最も近い周波数スペクトルS1´を第2周波数スペクトルAとして取得したとする。
図11に示す通り、第2周波数スペクトルAの周波数スペクトルS1´は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分A1´〜A8´を含む。
【0075】
(ステップST101−NO)
この場合、図11と図6に示す通り、第2周波数スペクトルAである周波数スペクトルS1´の周波数成分A1´〜A8´の総和Aall´は、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall以上である。よって、ノイズ推定判定部252は、ノイズ推定条件(1)を満たさないと判定する。
(ステップST102−NO)
また、図10と図7に示す通り、第1周波数スペクトルCである周波数スペクトルS5´の周波数成分C1´〜C8´の総和Call´が、上限閾値NSimaxの周波数成分の総和NSimax,all以上である。よって、ノイズ推定判定部252は、ノイズ推定条件(2)を満たさないと判定する。
このように、ノイズ推定判定部252は、第1周波数スペクトルCである周波数スペクトルS5がノイズ推定条件(1)あるいは(2)を満たさないと判定した場合、この判定結果を示す情報をノイズ低減処理部254に出力する。
【0076】
この場合、上述のステップST9に移行して、ノイズ低減処理部254は、このノイズ推定判定部252による判定結果に基づき、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0077】
以上説明したように、本実施形態に係る撮像装置100は、タイミング信号検出部191によって動作部の動作タイミングを検出するとともに、このタイミング信号に基づき、駆動音が発生する可能性の高い期間に取得された音信号の周波数スペクトルが、動作部の動作パターンに応じて予め決められているノイズ推定を実行するノイズ推定条件を満たすか否かを判定する。これにより、ノイズ推定によって決定される推定ノイズSNに含まれる駆動音以外の音を低減することができる。また、動作パターンに応じた推定ノイズとして、許容範囲を外れるほど大きく異なる周波数スペクトルを推定ノイズSNと決定する可能性を低減させることができる。つまり、ノイズ推定部253によって決定される推定ノイズSNの精度を向上させることができる。
【0078】
次に、図12,13を参照して、タイミング検出部191によって検出される動作開始タイミングの一例について説明する。
図12には、例えば、AFエンコーダ117の出力と、マイク230が出力するマイク音信号の一例を示す図である。
図12に示す通り、AFエンコーダ117の出力がハイレベルとローレベルとを繰り返している期間を動作部による動作音が発生している期間であると決定した場合の一例について説明する。
この場合、AFエンコーダ117の出力が最初にハイレベルとなった時刻が、動作開始タイミングt1となる。よって、この時刻t1から衝撃音が発生している期間が開始する。また、AFエンコーダ117の出力が最後にハイレベルとなった際にローレベルに戻ったとき時刻が、動作停止タイミングt2となる。よって、この時刻t2から衝撃音が発生している期間が開始する
【0079】
しかし、この場合、AFレンズ112の駆動系(ギア列等)のバックラッシュの影響で、AFエンコーダ117の出力が、実際のAFレンズ112の駆動系の動作開始タイミングとずれる場合がある。この場合について、図13を参照して説明する。図13には、例えば、AFエンコーダ117の出力と、マイク230が出力するマイク音信号の他の例を示す図である。
【0080】
図13に示す通り、実際のAFレンズ112の駆動系の動作開始タイミングは、AFエンコーダ117の出力がハイレベルとローレベルとを繰り返している期間よりも時間軸方向の前(過去)に発生している。この場合、動作開始タイミングは時刻t3であり、時刻t3からの一定期間内において衝撃音が発生している。
よって、時刻t1を動作開始タイミングとした場合、衝撃音ノイズ低減処理部252は、時刻t1からの一定期間を衝撃音が発生している可能性の高い期間として取り扱うこととなる。この場合、衝撃音ノイズ低減処理部252によって取得された第1周波数スペクトルには、衝撃音が含まれていない可能性が高い。
【0081】
よって、タイミング検出部191は、図13を用いて説明したとおり、駆動系の実際の開始タイミングとAFエンコーダ117の出力とがずれてしまった場合の不都合を回避するため動作開始タイミングとして、動作部への駆動制御信号(コマンド)が出力された時刻を示す動作開始タイミング信号を生成する。
【0082】
[第2実施形態]
本実施形態に係るノイズ低減処理装置は、上述の第1実施形態と比較すると、ノイズ推定判定部252によるノイズ推定判定処理と、ノイズ推定部253によるノイズ推定処理が異なる。それ以外の処理については、上述の第1実施形態と同様であるため、詳細な説明については省略する。
【0083】
本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(1)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、駆動音によるノイズとして予め決められている初期推定ノイズNSiと、駆動音によるノイズが発生していない可能性の高い期間の音情報とに基づき、信号対雑音比SNRを算出する。この信号対雑音比SNRは、信号量(signal)である駆動音によるノイズが発生していない可能性の高い期間の音情報と、雑音量(noise)である初期推定ノイズNSiとの比である。この信号対雑音比SNRが小さいほど、目的音が小さいことを意味しており、この目的音を含む音信号に基づき推定ノイズNSを算出すると、駆動音によるノイズが発生している期間の音情報から推定するノイズの推定精度が高くなる。逆に、信号対雑音比SNRが大きいほど、目的音が大きいことを意味しており、この目的音を含む音信号に基づき推定ノイズNSを算出すると、駆動音によるノイズが発生している期間の音情報から推定するノイズの推定精度が低くなる。本実施形態において、駆動音によるノイズが発生していない可能性の高い期間の音情報は、非動作期間Taに取得される音情報である。
【0084】
ノイズ推定判定部252は、信号対雑音比SNRに応じた重み係数γを決定し、この重み係数を示す情報をノイズ推定部253に出力する。
【0085】
図14は、信号対雑音比SNRと重み係数γとの関係を示すグラフである。図14に示すグラフにおいて、横軸は信号対雑音比SNR[dB]であり、縦軸は重み係数γである。
図14に示す通り、重み係数γは、0≦γ≦1の範囲で設定されている。信号対雑音比SNR≧0[dB]のとき、重み係数γ=0である。また、信号対雑音比SNRは、SNR≦−14[dB]のとき、重み係数γ=1である。重み係数γは、0<γ<1の範囲では、以下に示す式(1)により定義される。
<式(1)>
重み係数γ={1/(β1−β2)}×信号対雑音比SNR ・・・式(1)
【0086】
なお、式(1)において、β1は、重み係数γの変化点である信号対雑音比SNRの閾値を示す信号対雑音比判定閾値βの下限閾値である。この信号対雑音比判定閾値βの下限閾値β1とは、重み係数γ=1となる信号対雑音比SNRの最大値である。本実施形態において、信号対雑音比判定閾値βの下限閾値は、β1=−14[dB]である。この信号対雑音比判定閾値βの下限閾値β1は、例えば、第1実施形態において説明した静環境閾値αに相当する信号対雑音比SNRである。
また、式(1)において、β2は、信号対雑音比判定閾値βの上限閾値である。この信号対雑音比判定閾値βの上限閾値β2とは、推定ノイズNSを算出する信号対雑音比SNRの最大値である。つまり、信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2以上でることは、ノイズ推定部253が、重み係数γ=0を初期推定ノイズNSiに乗算して推定ノイズ=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しないことを意味している。本実施形態において、信号対雑音比判定閾値βの上限閾値β2=0[dB]である。
【0087】
ノイズ推定判定部252は、この信号対雑音比SNRを算出する場合、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRを算出するものであってもよく、周波数スペクトルの周波数成分毎に信号対雑音比SNRを算出するものであってよい。
【0088】
また、本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(2)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、駆動音によるノイズとして予め決められている初期推定ノイズNSiの周波数スペクトルと、駆動音によるノイズのみが発生している可能性の高い期間の周波数スペクトルとに基づき、スペクトル比SRを算出する。本実施形態において、駆動音によるノイズのみが発生している可能性の高い期間の音情報は、駆動音発生期間Tcに取得される音情報である。
【0089】
このスペクトル比SRは、以下の式(2)で算出される値である。
<式(2)>
スペクトル比SR=「駆動音発生期間Tcに取得される周波数スペクトル」
/「初期推定ノイズNSiの周波数スペクトル」 ・・・式(2)
【0090】
ノイズ推定部253は、このノイズ推定判定部252が算出した信号対雑音比SNRに応じた重み係数γとスペクトル比SRに応じた重み係数εとを推定ノイズNSに与える。つまり、ノイズ推定判定部252は、この重み係数γおよび重み係数εを初期推定ノイズNSiに乗じて、推定ノイズNSを算出する。
【0091】
図15は、スペクトル比SRと重み係数εとの関係を示すグラフである。図15に示すグラフにおいて、横軸はスペクトル比SR[dB]であり、縦軸は重み係数εである。
図15に示す通り、重み係数εは、0≦ε≦1の範囲で設定されている。スペクトル比SR>2.3[dB]のとき、および、スペクトル比SR<−6[dB]のとき、重み係数ε=0である。また、スペクトル比SR=0[dB]のとき、重み係数ε=1である。
重み係数εは、−6≦ε<0の範囲では、以下に示す式(3)により定義される。
<式(3)>
重み係数ε=SR/δ1+1 ・・・式(3)
【0092】
重み係数εは、0<ε≦2.3の範囲では、以下に示す式(4)により定義される。
<式(4)>
重み係数ε=−SR/δ2+1 ・・・式(4)
【0093】
なお、δ1は、重み係数εの変化点であるスペクトル比SRの閾値を示すスペクトル比判定閾値δの下限閾値である。このスペクトル比判定閾値δの下限閾値δ1とは、推定ノイズNSを決定するためのスペクトル比SRの最小値である。つまり、スペクトル比SRが、スペクトル比判定閾値δの下限閾値δ1未満の場合、ノイズ推定判定部252は、重み係数ε=0を初期推定ノイズNSiに乗算して推定ノイズNS=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しない。つまり、ノイズ推定部253は、推定ノイズNS=0の場合は、推定ノイズNSを決定しないと判定する。本実施形態においてスペクトル比判定閾値δの下限閾値δ1は、δ1=−6[dB]である。このスペクトル比判定閾値δの下限閾値δ1は、例えば、第1実施形態において説明した下限閾値NSiminに相当するスペクトル比SRである。
【0094】
また、δ2は、スペクトル比判定閾値δの上限閾値である。このスペクトル比判定閾値δの上限閾値とは、推定ノイズNSを算出するスペクトル比SRの最大値である。つまり、スペクトル比SRが、スペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数ε=0を乗算して推定ノイズ=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しない。本実施形態においてスペクトル比判定閾値δの上限閾値δ2は、δ2=2.3[dB]である。このスペクトル比判定閾値δの上限閾値δ2は、例えば、第1実施形態において説明した上限閾値NSimaxに相当するスペクトル比SRである。
【0095】
ノイズ推定判定部252は、この信号対雑音比SNRおよびスペクトル比SRを算出する場合、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するものであってもよく、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを周波数成分ごとに算出するものであってよい。
なお、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出する例について、図16〜17を参照して、以下に説明する。
一方、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを周波数成分ごとに算出する例について、図18〜19を参照して、以下に説明する。
【0096】
ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γと重み係数εとの積を算出し、この重み係数の積を初期推定ノイズNSiに乗算する。そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×ε×初期推定ノイズNSi)が0(ゼロ)であるか否かを判定する。重み係数の積と初期推定ノイズNSiとの積=重み係数γ×ε×初期推定ノイズNSiが0(ゼロ)でない場合、この重み係数の積と初期推定ノイズNSiとの積(重み係数γ×ε×初期推定ノイズNSi)を推定ノイズNSと決定する。
【0097】
次に、図16、17を参照して、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理とノイズ推定処理の一例について説明する。図16は、波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。図17は、波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【0098】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0099】
(ステップST201)
そして、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSi1〜NSi8の総和NSiallと、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallとに基づき、信号対雑音比SNRを算出する。この低減処理部250は、以下の演算式に従って、信号対雑音比SNRを算出する。
<信号対雑音比SNRの演算式>
信号対雑音比SNR=周波数スペクトルS1の周波数成分A1〜A8の総和Aall
/初期推定ノイズNSiの周波数スペクトルの周波数成分の総和NSiall
【0100】
(ステップST202)
そして、ノイズ推定判定部252は、算出した信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1以下であるか否かを判定する。
(ステップST203)
信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1以下である場合、ノイズ推定判定部252は、重み係数γ=1と決定する。
【0101】
(ステップST204)
一方、信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1より大きい場合、ノイズ推定判定部252は、算出した信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。
(ステップST205)
信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2未満である場合、ノイズ推定判定部252は、重み係数γ={1/(β1−β2)}×信号対雑音比SNRと決定する。
【0102】
(ステップST206)
そして、信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2以上である場合、ノイズ推定判定部252は、重み係数γ=0と決定する。
【0103】
(ステップST207)
次いで、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSi1〜NSi8の総和NSiallと、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callとに基づき、スペクトル比SRを算出する。この低減処理部250´は、以下の演算式に従って、スペクトル比SRを算出する。
<スペクトル比SRの演算式>
スペクトル比SR=周波数スペクトルS5の周波数成分C1〜C8の総和Call
/初期推定ノイズNSiの周波数スペクトルの周波数成分の総和NSiall
【0104】
(ステップST208)
そして、ノイズ推定判定部252は、算出したスペクトル比SRが、スペクトル比判定閾値δの下限閾値δ1未満であるか否かを判定する。
(ステップST209)
スペクトル比SRがスペクトル比判定閾値δの下限閾値δ1未満である場合、ノイズ推定判定部252は、重み係数ε=0と決定する。
【0105】
(ステップST210)
一方、信号対雑音比SNRがスペクトル比判定閾値δの下限閾値δ1以上である場合、ノイズ推定判定部252は、算出した信号対雑音比SNRが、1未満であるか否かを判定する。
(ステップST211)
信号対雑音比SNRが1未満である場合、ノイズ推定判定部252は、重み係数ε=SR/δ1+1と決定する。
【0106】
(ステップST212)
さらに、ノイズ推定判定部252は、算出したスペクトル比SR=1であるか否かを判定する。
(ステップST213)
スペクトル比SR=1である場合、ノイズ推定判定部252は、重み係数ε=1と決定する。
【0107】
(ステップST214)
そして、ノイズ推定判定部252は、算出したスペクトル比SRが、スペクトル比判定閾値δの上限閾値δ2以下であるか否かを判定する。
(ステップST215)
スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2以下である場合、ノイズ推定判定部252は、重み係数ε=−SR/δ2+1と決定する。
【0108】
(ステップST216)
一方、スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数ε=0と決定する。
【0109】
次いで、図17を参照して、図16の続きのフローについて説明する。
(ステップST217)
図17に示す通り、ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γと重み係数εとの積を算出し、この重み係数の積を初期推定ノイズNSiに乗算する。
(ステップST218)
そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)であるか否かを判定する。
(ステップST219)
重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)でない場合、この重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)を推定ノイズNSと決定する。
一方、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)である場合、ノイズ推定部253は、推定ノイズNSを決定しない。
【0110】
次に、図18、19を参照して、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理とノイズ推定処理の一例について説明する。図18は、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。図19は、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【0111】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0112】
(ステップST301)
そして、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSin{n=1,2,・・・,8;以下同じ}と、第2周波数スペクトルAである周波数スペクトルS1の周波数成分Anとに基づき、各周波数成分fnのそれぞれに対応する信号対雑音比SNRnを算出する。この低減処理部250は、例えば、以下の演算式に従って、信号対雑音比SNRnを算出する。
<信号対雑音比SNRnの演算式>
信号対雑音比SNRn=周波数スペクトルS1の周波数成分An
/初期推定ノイズNSiの周波数スペクトルの周波数成分NSin
【0113】
(ステップST302)
そして、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1以下であるか否かを、周波数成分nごとに判定する。
(ステップST303)
各信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1以下である場合、ノイズ推定判定部252は、各信号対雑音比SNRnの重み係数γn=1と決定する。
【0114】
(ステップST304)
一方、信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1より大きい場合、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。つまり、ステップST302において、重み係数γn=1と決定されなかった周波数成分fnについて、ノイズ推定判定部252は、さらに、信号対雑音比SNRnが信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。
(ステップST305)
信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2未満である場合、ノイズ推定判定部252は、重み係数γn={1/(β1−β2)}×信号対雑音比SNRnと決定する。
【0115】
(ステップST306)
そして、信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2以上である場合、ノイズ推定判定部252は、重み係数γn=0と決定する。
これにより、重み係数γ1〜γ8は、ノイズ推定判定部252によって、1〜0の範囲の一の値と決定される。
【0116】
(ステップST307)
次いで、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSinと、第1周波数スペクトルCである周波数スペクトルS5の周波数成分Cnとに基づき、スペクトル比SRnを算出する。この低減処理部250は、以下の演算式に従って、スペクトル比SRnを算出する。
<スペクトル比SRnの演算式>
スペクトル比SRn=周波数スペクトルS5の周波数成分Cn
/初期推定ノイズNSiの周波数スペクトルの周波数成分NSin
【0117】
(ステップST308)
そして、ノイズ推定判定部252は、算出したスペクトル比SRnが、スペクトル比判定閾値δの下限閾値δ1未満であるか否かを判定する。
(ステップST309)
スペクトル比SRnがスペクトル比判定閾値δの下限閾値δ1未満である場合、ノイズ推定判定部252は、重み係数εn=0と決定する。
【0118】
(ステップST310)
一方、信号対雑音比SNRnがスペクトル比判定閾値δの下限閾値δ1以上である場合、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、1未満であるか否かを判定する。
(ステップST311)
信号対雑音比SNRnが1未満である場合、ノイズ推定判定部252は、重み係数εn=SR/δ1+1と決定する。
【0119】
(ステップST312)
さらに、ノイズ推定判定部252は、算出したスペクトル比SRn=1であるか否かを判定する。
(ステップST313)
スペクトル比SRn=1である場合、ノイズ推定判定部252は、重み係数εn=1と決定する。
【0120】
(ステップST314)
そして、ノイズ推定判定部252は、算出したスペクトル比SRnが、スペクトル比判定閾値δの上限閾値δ2以下であるか否かを判定する。
(ステップST315)
スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2以下である場合、ノイズ推定判定部252は、重み係数εn=−SR/δ2+1と決定する。
【0121】
(ステップST316)
一方、スペクトル比SRnがスペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数εn=0と決定する。
これにより、重み係数ε1〜ε8は、ノイズ推定判定部252によって、1〜0の範囲の一の値と決定される。
【0122】
次いで、図19を参照して、図18の続きのフローについて説明する。
(ステップST317)
図19に示す通り、ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γnと重み係数εnとの積を算出し、この重み係数の積を、対応する周波数成分fnの初期推定ノイズNSinに乗算する。
(ステップST318)
そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)より大きいか否かを判定する。
(ステップST319)
重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)より大きい場合、この重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)を、当該周波数成分fnに対応する推定ノイズNSの周波数成分NSnと決定する。
【0123】
(ステップST320)
一方、重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)以下である場合、ノイズ推定部253は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSinのうち、当該周波数成分fnに対応する周波数成分NSinを、推定ノイズNSの周波数成分NSnと決定する。
(ステップST321)
ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定したか否かを判定する。
ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定するまで、ステップST217〜320を繰り返す。
(ステップST322)
そして、ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定した場合、これら周波数成分NSnを組み合わせて推定ノイズNSを決定する。
【0124】
なお、ノイズ低減処理部254は、ノイズ推定部253によって決定された推定ノイズNSの推定精度に応じて、減算係数を変更するものであってもよい。
重み係数γおよび重み係数εが大きければ、ノイズ推定精度が高い可能性が高い。一方、重み係数γおよび重み係数εが小さければ、ノイズ推定精度が低い可能性が高い。
このため、ノイズ低減処理部254は、ノイズ推定判定部252によって決定された重み係数γおよび重み係数εが、予め決められた閾値(例えば、0.7)以上であるか否かを判定する。この閾値以上であった場合、ノイズ推定判定部252によるノイズ推定精度が高いと判定する。そして、ノイズ低減処理部254は、ノイズ低減処理を実行する際に設定される減算係数を標準値よりも大きく設定する。これにより、ノイズ除去性能を高めることができる。
一方、ノイズ低減処理部254は、ノイズ推定判定部252によって決定された重み係数γおよび重み係数εが、予め決められた閾値(例えば、0.3)以下であるか否かを判定する。この閾値以下であった場合、ノイズ推定判定部252によるノイズ推定精度が低いと判定する。そして、ノイズ低減処理部254は、ノイズ低減処理を実行する際に設定される減算係数を標準値よりも小さく設定する。これにより、目的音の音質の劣化を防止することができる。
【0125】
[第3実施形態]
本発明に係る低減処理部250は、図20に示すような低減処理部250´を備える構成であってもよい。図20は、本実施形態に係る低減処理部250´の構成の一例について示す図である。
図20に示す通り、低減処理部250´は、音信号処理部251と、ノイズ推定判定部252と、ノイズ推定部253と、ノイズ低減処理部254と、逆フーリエ変換部255と、衝撃音ノイズ低減処理部256とを備える。なお、上述の低減処理部250と同様の構成のついては、同一の符号を付して詳細な説明については省略する。本実施形態に係る低減処理部250´は、上述の低減処理部250と比較して、衝撃音ノイズ低減処理部256を備える点が異なる。
【0126】
音信号処理部251は、例えば、周波数スペクトルS1〜S14を算出し、衝撃音発生期間Tbに対応する周波数スペクトルの周波数成分の総和と、予め決められた閾値とを比較する。この予め決められた閾値とは、衝撃音に対して目的音が大きいため衝撃音による音声劣化が少ないとされる目的音の周波数スペクトルの周波数成分の総和である。
衝撃音発生期間Tbに対応する周波数スペクトルの周波数成分の総和が、予め決められた閾値未満であると判定した場合、駆動音ノイズ低減処理部256は、算出した周波数スペクトルS1〜S14を衝撃音ノイズ低減処理部252に出力して、衝撃音ノイズ低減処理を実行するよう制御する。
一方、衝撃音発生期間に対応する周波数スペクトルの周波数成分の総和が、予め決められた閾値以上であると判定した場合、音信号処理部251は、算出した周波数スペクトルS1〜S14を駆動音ノイズ低減処理部253に出力して、駆動音ノイズ低減処理を実行するよう制御する。
【0127】
衝撃音ノイズ低減処理部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、衝撃音が発生している可能性の高い衝撃音発生期間Tbに対応する周波数スペクトル(以下、第11周波数スペクトルという)を取得する。例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を、第11周波数スペクトルとして取得する。衝撃音ノイズ低減処理部252は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性の高い衝撃音発生期間Tbに対応する周波数スペクトルS9〜S12を、第11周波数スペクトルとして取得する。
【0128】
また、衝撃音ノイズ低減処理部256は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、少なくとも衝撃音が発生していない可能性の高い期間(非動作期間Taあるいは駆動音発生期間Tc)に対応する周波数スペクトル(以下、第12周波数スペクトルという)を取得する。この衝撃音ノイズ低減処理部256は、衝撃音を含んでいる可能性の高い第11周波数スペクトルごとに、この衝撃音を含む可能性の低い第12周波数スペクトルを取得する。本実施形態において、衝撃音ノイズ低減処理部256は、第11周波数スペクトルと時間軸方向において最も近い衝撃音を含む可能性の低い周波数スペクトルを第12周波数スペクトルとして取得する。つまり、衝撃音ノイズ低減処理部256は、第11周波数スペクトルと時間軸方向に隣接あるいは重複する周波数スペクトルを第12周波数スペクトルとして取得する。
【0129】
なお、本実施形態において、第12周波数スペクトルは、衝撃音が発生していない可能性の高い期間に対応する周波数スペクトルである。しかし、本発明はこれに限られず、第2周波数スペクトルは、動作部の動作によって発生するノイズ音(駆動音および衝撃音)が発生しない可能性の高い期間(非動作期間Ta)に対応する周波数スペクトルであることが好ましい。
【0130】
ここで、図21を参照して、衝撃音ノイズ低減処理部256が取得する第11周波数スペクトルと第12周波数スペクトルとの関係の一例について説明する。図21は、衝撃音ノイズ低減処理部256が取得する第11周波数スペクトルと第12周波数スペクトルの一例を説明するための図である。
例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS2、S3に対応する第12周波数スペクトルとして、周波数スペクトルS2、3の時間軸の過去方向に最も近い周波数スペクトルS1を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS4に対応する第12周波数スペクトルとして、周波数スペクトルS4の時間軸の未来方向に最も近い周波数スペクトルS5を取得する。
【0131】
また、衝撃音ノイズ低減処理部256は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS9、S10に対応する第12周波数スペクトルとして、周波数スペクトルS9、10の時間軸の過去方向に最も近い周波数スペクトルS8を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS11、12に対応する第12周波数スペクトルとして、周波数スペクトルS11、12の時間軸の未来方向に最も近い周波数スペクトルS13を取得する。
【0132】
さらに、衝撃音ノイズ低減処理部256は、第11周波数スペクトルの少なくとも一部を第12周波数スペクトルの対応する部分に置き換える。
例えば、衝撃音ノイズ低減処理部256は、第11周波数スペクトルのうち予め決められた閾値周波数以上の周波数スペクトルと、第12周波数スペクトルのうち予め決められた閾値周波数以上の周波数スペクトルとを、周波数成分ごとに比較して、第12周波数スペクトルの方が第11周波数スペクトルに比べて小さいと判定した場合に、第11周波数スペクトルにおける当該周波数成分を第12周波数スペクトルの周波数成分に置き換える。
【0133】
図22を参照して詳細に説明する。図22は、一部の周波数スペクトルの周波数成分の一例について説明するための図である。なお、本実施の形態では、説明便宜のため、図3に示すマイク音信号のうち、窓関数W1,W3,W5,W7,W11,W13に対応する周波数スペクトルS1,S3,S5,S7,S11,S13について説明する。
図22に示す通り、周波数スペクトルS1,S3,S5,S7,S11,S13は、それぞれ、周波数成分f1〜f9の周波数成分を含む。
例えば、衝撃音ノイズ低減処理部256は、各周波数スペクトルの閾値周波数以上の周波数成分として、周波数成分f3〜f9について、第11周波数スペクトルと第12周波数スペクトルを比較することが予め決められている。よって、衝撃音ノイズ低減処理部256は、周波数成分f1,f2については、第11周波数スペクトルと第12周波数スペクトルを比較しない。
【0134】
ここで、図23を参照して、周波数スペクトルS1とS3について、衝撃音ノイズ低減処理部256による衝撃音ノイズ低減処理の一例について説明する。
図23は、周波数スペクトルS1とS3の周波数成分ごとに、振幅の比較について説明するための図である。
例えば、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f3の振幅と、周波数スペクトルS3の周波数成分f3の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f3の振幅の方が、周波数スペクトルS3の周波数成分f3の振幅に比べて小さい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換える。
また、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f4の振幅と、周波数スペクトルS3の周波数成分f4の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f4の振幅の方が、周波数スペクトルS3の周波数成分f4の振幅に比べて大きい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換えない。
このようにして、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分の振幅の方が、周波数スペクトルS3の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS3の周波数成分を周波数スペクトルS1の周波数成分に置き換える。
図23に示す場合、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3、f6〜f9を周波数スペクトルS1の周波数成分f3、f6〜f9に置き換える。
【0135】
次に、図24を参照して、本実施形態に係るノイズ低減処理方法の一例について説明する。図24は、本実施形態に係るノイズ低減処理方法の一例を示すフローチャートである。
例えば、操作部180の電源スイッチがONされると、撮像装置100に電源が投入され、電池260から各構成部に対して電力が供給される。本実施形態では、撮像装置100に対して、撮像時の画像データと音声データを対応付けて記憶媒体200に記憶させることが予め設定されている。
【0136】
(ステップST401)
マイク230は、例えば、電源がONされると、収音されたマイク音信号をA/D変換部240に出力する。A/D変換部240は、アナログ信号であるマイク音信号をデジタル変換したマイク音信号を低減処理部250´に出力する。
低減処理部250´は、A/D変換部240からマイク音信号を入力する。
【0137】
ここで、ユーザによって、操作部180のレリーズボタンが押下された場合、CPU190は、AF処理において、例えば焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号をレンズ駆動部116とタイミング検出部191に出力する。
このレンズ駆動部116は、入力する駆動制御信号に基づき、焦点距離Pでピントを合わせる駆動パターンに従って、AFレンズ112を移動させる。例えば、レンズ駆動部116は、AFレンズ112の駆動機構を時計回りに所定量回転させて、AFレンズ112を移動させる。なお、この駆動機構を回転させる回転量やスピードは、焦点距離Pでピントを合わせる駆動パターンとして、予め決められている。
AFレンズ112が動くと、AFエンコーダ117は、パルス信号をCPU190のタイミング検出部191に出力する。動いていたAFレンズ112が停止すると、AFエンコーダ117は、パルス信号出力を停止する。
【0138】
タイミング検出部191は、入力する駆動制御信号やAFエンコーダ117のパスル信号に基づき、焦点距離Pでピントを合わせる駆動パターンに従って、動作タイミング信号を生成し、低減処理部250´に出力する。
例えば、焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を入力した場合、タイミング検出部191は、AFレンズ112の動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作開始タイミング信号を生成し、低減処理部250´に出力する。
そして、AFエンコーダ117から入力するパルス信号が停止された場合、タイミング検出部191は、AFレンズ112の動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作停止タイミング信号を生成し、低減処理部250´に出力する。
【0139】
(ステップST402)
低減処理部250´は、タイミング検出部191から動作タイミング信号が入力されたか否かを判定する。
(ステップST403)
動作タイミング信号が入力された場合、低減処理部250´の音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされる周波数スペクトルに変換する。音信号処理部251は、例えば、窓関数で重み付けされた音信号をフーリエ変換して、周波数スペクトルS1〜S14を算出する。
【0140】
(ステップST404)
そして、ノイズ推定判定部252は、ノイズ推定条件(1)および(2)を満たすか否かを判定するノイズ推定判定処理を実行する。
(ステップST405)
ノイズ推定部253は、ノイズ推定判定部252によるノイズ推定判定結果に基づき、推定ノイズNSを決定する。
(ステップST406)
そして、ノイズ推定部253は、決定した推定ノイズNSを記憶部160に格納するとともに、ノイズ低減処理部254に出力する。
なお、ノイズ推定判定処理と、ノイズ推定処理については、上述の第1、2実施形態において説明した方法を利用することができるため、詳細な説明については省略する。
【0141】
(ステップST407)
一方、音信号処理部251は、動作タイミング信号に基づき、衝撃音発生期間に対応する周波数スペクトルの周波数成分の総和と、予め決められた閾値とを比較する。
例えば、音信号処理部251は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を取得する。そして、音信号処理部251は、周波数スペクトルS2〜S4ごとに、周波数成分の総和が予め決められた閾値未満であるか否かを判定する。また、音信号処理部251は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS9〜S12を取得する。そして、音信号処理部251は、周波数スペクトルS9〜S12ごとに、周波数成分の総和が予め決められた閾値未満であるか否かを判定する。
【0142】
そして、音信号処理部251は、周波数成分の総和が予め決められた閾値未満であった周波数スペクトルを衝撃音ノイズ低減処理部256に出力するとともに、この周波数スペクトルに対して衝撃音ノイズ低減処理を実行するよう衝撃音ノイズ低減処理部256を制御する。
【0143】
(ステップST408)
次いで、衝撃音ノイズ低減処理部256は、音信号処理部251から衝撃音ノイズ低減処理を実行する制御に基づき、A/D変換部240から入力するマイク音信号に対して衝撃音ノイズ低減処理を実行する。
例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を、第11周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS2、S3に対応する第12周波数スペクトルとして、周波数スペクトルS2、3の直前の周波数スペクトルS1を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第1周波数スペクトルである周波数スペクトルS4に対応する第12周波数スペクトルとして、周波数スペクトルS4の直後の周波数スペクトルS5を取得する。
【0144】
また、衝撃音ノイズ低減処理部256は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS9〜S12を、第11周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部252は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS9、S10に対応する第2周波数スペクトルとして、周波数スペクトルS9、10の直前の周波数スペクトルS8を取得する。また、衝撃音ノイズ低減処理部252は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS11、12に対応する第12周波数スペクトルとして、周波数スペクトルS11、12の直後の周波数スペクトルS13を取得する。
【0145】
次いで、衝撃音ノイズ低減処理部256は、各周波数スペクトルの閾値周波数以上の周波数成分として、周波数成分f3〜f9について、第11周波数スペクトルと第12周波数スペクトルを比較する。
例えば、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f3の振幅と、周波数スペクトルS2の周波数成分f3の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f3の振幅の方が、周波数スペクトルS2の周波数成分f3の振幅に比べて小さい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換える。
また、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f4の振幅と、周波数スペクトルS2の周波数成分f4の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f4の振幅の方が、周波数スペクトルS2の周波数成分f4の振幅に比べて大きい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換えない。
このようにして、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分の振幅の方が、周波数スペクトルS3の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS3の周波数成分を周波数スペクトルS1の周波数成分に置き換える。
そして、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3、f6〜f9を、周波数成分を周波数スペクトルS1の周波数成分f3、f6〜f9と置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´3をノイズ低減処理部254に出力する。
【0146】
衝撃音ノイズ低減処理部256は、同様にして、第11周波数スペクトルである周波数スペクトルS2と第12周波数スペクトルS1との比較と、第11周波数スペクトルである周波数スペクトルS4と第12周波数スペクトルS5との比較を行う。そして、第12周波数スペクトルS1、S5の周波数成分の振幅の方が、それぞれ、周波数スペクトルS2、S4の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS2、S4の周波数成分をそれぞれ周波数スペクトルS1、S5の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´4をノイズ低減処理部254に出力する。
【0147】
また、衝撃音ノイズ低減処理部256は、同様にして、第11周波数スペクトルである周波数スペクトルS9、S10と第12周波数スペクトルS8との比較、および第11周波数スペクトルである周波数スペクトルS11、S12と第12周波数スペクトルS13との比較を行う。そして、第12周波数スペクトルS8の周波数成分の振幅の方が、それぞれ、周波数スペクトルS9、S10の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS9、S10の周波数成分をそれぞれ周波数スペクトルS8の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´9、S´10をノイズ低減処理部254に出力する。同様にして、第12周波数スペクトルS13の周波数成分の振幅の方が、それぞれ、周波数スペクトルS11、S12の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS11、S12の周波数成分をそれぞれ周波数スペクトルS13の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´11、S´12をノイズ低減処理部254に出力する。
【0148】
(ステップST409)
次いで、ノイズ低減処理部254は、音信号処理部251から入力するマイク音信号の周波数スペクトルと、衝撃音ノイズ低減処理部256から入力する衝撃音ノイズ低減処理後の周波数スペクトルに基づき、駆動音ノイズ低減処理を実行する。例えば、ノイズ低減処理部254は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミングと、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、駆動音が発生している可能性のある期間に対応する周波数スペクトルS2〜S12を、第13周波数スペクトルとして取得する。
このノイズ低減処理部254は、取得した第3周波数スペクトルS2〜S12のうち、衝撃音ノイズ低減処理後の周波数スペクトルに対応する周波数スペクトルをS2〜S4、S9〜S12を、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´3、S´4、S´9、S´10、S´11、S´12に置き換える。そして、ノイズ低減処理部254は、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´3、S´4、S´9、S´10、S´11、S´12と、周波数スペクトルS5〜S7に対して、決定した推定ノイズNSに基づき駆動音ノイズ低減処理を実行する。つまり、ノイズ低減処理部254は、記憶部160に格納されている推定ノイズNSを読み出し、推定ノイズNSの周波数スペクトルを、衝撃音ノイズ低減処理後の第13周波数スペクトルS´2〜S´4、S5〜7、S´9〜S´12の周波数成分からそれぞれ減算する。ノイズ低減処理部254は、この駆動音ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部254に出力する。
【0149】
(ステップST410)
逆フーリエ変換部255は、ノイズ低減処理部254から入力された駆動音ノイズ低減処理後の周波数スペクトルに対して、例えば逆フーリエ変換を行うことで、時間領域に変換する。この逆フーリエ変換部255は、時間領域に変換された音信号を記憶媒体200に記憶させる。
【0150】
以上説明したように、本実施形態に係る撮像装置100は、タイミング信号検出部191によって動作部の動作状態が変化するタイミングを検出するとともに、このタイミング信号に基づき、衝撃音が重畳している可能性のあるマイク音信号の周波数スペクトルの一部を、衝撃音が重畳していない可能性のあるマイク音信号の周波数スペクトルの一部と置き換える衝撃音ノイズ低減処理を実行する。これにより、周波数スペクトルの帯域が広い衝撃音であっても、目的音の不連続性が目立たず、かつ、衝撃音を低減した音信号を取得することができる。
【0151】
なお、第1実施形態において、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルから、非動作期間Taに対応する周波数スペクトルのうち動作開始タイミングと時間軸方向に最も近い周波数スペクトルS1を第2周波数スペクトルAとして取得する。また、ノイズ推定判定部252は、駆動音発生期間Tcに対応周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5を第1周波数スペクトルCとして取得する。このように説明した。
しかし、本発明はこれに限られず、例えば、タイミング検出部191は、入力するAFエンコーダ117出力から求めた出力レベルがハイレベルからローレベルに変化した場合、AFレンズ112の動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作停止タイミング信号を生成し、低減処理部250に出力する構成であってもよい。この場合、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルから、非動作期間Taに対応する周波数スペクトルのうち、動作停止タイミングと時間軸方向において最も近い周波数スペクトルS13を第2周波数スペクトルAとして取得する。また、ノイズ推定判定部252は、駆動音発生期間Tcに対応する周波数スペクトルのうち、動作停止タイミングと時間軸方向に最も近い周波数スペクトルS8を第1周波数スペクトルCとして取得する。
【0152】
また、タイミング信号検出部191又は低減処理部250等による手順を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、実行処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものであってもよい。
【0153】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0154】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0155】
100…撮像装置、110…撮像部、190…CPU、191…検出部、170…通信部、200…記憶媒体、230…マイク、240…A/D変換部、250…ノイズ低減処理部、251…音信号処理部、252…ノイズ推定判定部、253…ノイズ推定部、254…ノイズ低減処理部、255…逆フーリエ変換部
【技術分野】
【0001】
本発明は、音信号からノイズを減算するノイズ低減処理装置、撮像装置、およびノイズ低減処理プログラムに関する。
【背景技術】
【0002】
例えば、連続的に発生している周囲音をノイズとして除去するため、音信号から周囲音に対応するノイズ(音信号に含まれているノイズ成分)を算出して、このノイズを音信号から減じるものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−195955号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、撮像装置には、レンズやこれを駆動させる駆動部等を含む動作部が搭載されており、例えばユーザの操作に応じて動作部が動作することで、この動作部の動作音が非連続的(突発的)に発生する場合がある。
このように非連続的に発生するノイズの場合、特許文献1の技術にあっては、音信号から周囲音に対応するノイズ、すなわち、連続的に発生しているノイズのみを算出しているため、非連続的に発生するノイズを算出することが困難であるという問題がある。
【0005】
本発明は、前記の点に鑑みてなされたものであり、ノイズ低減処理におけるノイズ推定の精度を向上させるためのノイズ低減処理装置、撮像装置、およびノイズ低減処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するためになされたものであり、予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、音信号を取得する音信号取得部と、前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、ノイズ低減処理におけるノイズ推定の精度を向上させることができる。
【図面の簡単な説明】
【0008】
【図1】本発明の第1実施形態に係るノイズ低減処理部を含む撮像装置の構成の一例を示すブロック図である。
【図2】本発明の第1実施形態に係る動作部の動作タイミング信号と音信号との関係の一例を説明するための参考図である。
【図3】図2に示す音信号と窓関数との関係を説明するための参考図である。
【図4】本発明の第1実施形態に係るノイズ推定判定部が取得する第2周波数スペクトルの一例を説明するための図である。
【図5】本発明の第1実施形態に係るノイズ推定判定部が取得する第1周波数スペクトルの一例を説明するための図である。
【図6】本発明の第1実施形態に係る静環境閾値αの一例について説明するための図である。
【図7】本発明の第1実施形態に係る初期推定ノイズNSiの一例について説明するための図である。
【図8】本発明の第1実施形態に係るノイズ低減処理方法の一例について説明するためのフローチャートである。
【図9】本発明の第1実施形態に係るノイズ推定判定処理とノイズ推定処理の一例を示すフローチャートである。
【図10】本発明の第1実施形態に係るノイズ推定判定部が取得する第1周波数スペクトルの他の一例を説明するための図である。
【図11】本発明の第1実施形態に係るノイズ推定判定部が取得する第2周波数スペクトルの他の一例を説明するための図である。
【図12】エンコーダの出力とマイク音信号の一例を示す図である。
【図13】コマンド、エンコーダの出力、およびマイク音信号の一例を示す図である。
【図14】本発明の第2実施形態に係る信号対雑音比SNRと重み係数γとの関係を示すグラフである。
【図15】本発明の第2実施形態に係るスペクトル比SRと重み係数εとの関係を示すグラフである。
【図16】波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。
【図17】波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【図18】周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。
【図19】周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【図20】本発明の第3実施形態に係る低減処理部の構成の一例について示す図である。
【図21】本発明の第3実施形態に係る衝撃音ノイズ低減処理部が取得する第1周波数スペクトルと第2周波数スペクトルの一例を説明するための図である。
【図22】図3に示した各周波数スペクトルの周波数成分の一例を示す図である。
【図23】本発明の第3実施形態に係る衝撃音ノイズ低減処理の一例について説明するための図である。
【図24】本発明の第3本実施形態に係るノイズ低減処理方法の一例について説明するためのフローチャートである。
【発明を実施するための形態】
【0009】
[第1実施形態]
本発明の実施形態について図面を参照して詳細に説明する。図1には、本実施形態に係る撮像装置の構成を示すブロック図が示されている。
図1に示す通り、撮像装置100は、光学系による像を撮像し、得られた画像データを記憶媒体200に記憶させるとともに、マイクによって収音されたマイク音信号に対してノイズ低減処理を行い、ノイズ低減処理後の音信号を記憶媒体200に記憶させる。
この撮像装置100は、低減処理部250を備える。この低減処理部250は、マイク音信号に含まれる推定ノイズを取得し、この推定ノイズに基づきマイク音からノイズを低減するノイズ低減処理を行う。
【0010】
本実施形態に係る低減処理部250は、動作部が動作することによって発生するノイズ(以下、動作音という)を低減するためのノイズ低減処理を実行する。例えば、撮像装置100において、AF(Auto Focus)やVR(Vibration Reduction)等の処理において光学系を駆動する場合、モータや光学系が動くことによりノイズ(動作音)が発生する。また、モータが回転方向を切り換えた場合、一時的に大きい音のノイズ(動作音)が発生する。このように、動作部の動作状態が変化した場合に、一時的に発生する大きい音を衝撃音という。一方、この衝撃音よりも小さく、光学系やモータが動いているときに発生する音を駆動音という。つまり、駆動音は、衝撃音以外のノイズである。本実施形態に係る低減処理部250は、駆動音によるノイズを推定し、この推定値に基づきマイク音信号から駆動音によるノイズを低減するノイズ低減処理を行う。
【0011】
以下、撮像装置100と低減処理部250の構成の一例について詳細に説明する。なお、本実施形態において、低減処理部250は、撮像装置100に内蔵されている例について説明するが、本発明はこれに限られない。例えば、低減処理部250は、撮像装置100の外部装置であってもよい。
【0012】
撮像装置100は、撮像部110と、バッファメモリ130と、画像処理部140と、表示部150と、記憶部160と、通信部170と、操作部180と、CPU190と、計時部220と、マイク230と、A/D変換部240と、低減処理部250と、電池260と、を備える。
【0013】
撮像部110は、光学系111と、撮像素子119と、A/D(Analog/Digital)変換部120とを備え、設定される撮像条件(例えば絞り値、露出値等)に応じて予め決められた動作パターンに従って、CPU190により制御される。この撮像部110は、光学系111による光学像を撮像素子119に結像させて、A/D変換部120によってデジタル信号に変換された光学像に基づく画像データを生成する。
【0014】
光学系111は、焦点調整レンズ(以下、「AFレンズ」という)112と、手ブレ補正レンズ(以下、「VRレンズ」という)113と、ズームレンズ114と、ズームエンコーダ115と、レンズ駆動部116と、AFエンコーダ117と、手ブレ補正部118とを備える。
これら光学系111の各構成は、CPU190による焦点調整処理、手ブレ補正処理、およびズーム処理において、それぞれの動作パターンに従って、駆動する。つまり、光学系111は、撮像装置100における動作部である。
【0015】
この光学系111は、ズームレンズ114から入射し、ズームレンズ114、VRレンズ113、AFレンズ112の順番で通過した光学像を、撮像素子119の受光面に導く。
レンズ駆動部116は、AFレンズ112およびズームレンズ114の位置を制御するための駆動制御信号(コマンド)をCPU190から入力する。このレンズ駆動部116は、入力する駆動制御信号に応じて、AFレンズ112およびズームレンズ114の位置を制御する。
つまり、この駆動制御信号がCPU190からレンズ駆動部116に入力されてレンズ駆動部116が駆動することにより、AFレンズ112およびズームレンズ114が移動(動作)する。本実施形態において、CPU190が駆動制御信号を出力したタイミングを、AFレンズ112およびズームレンズ114の動作が開始された動作開始タイミングという。
【0016】
ズームエンコーダ115は、ズームレンズ114の位置を表わすズームポジションを検出し、CPU190に出力する。このズームエンコーダ115は、ズームレンズ114の移動を検出し、例えば、ズームレンズ114が光学系111内を移動している場合にパルス信号をCPU190に出力する。一方、停止している場合、ズームエンコーダ115は、パルス信号の出力を停止する。
【0017】
AFエンコーダ117は、AFレンズ112の位置を表わすフォーカスポジションを検出し、CPU190に出力する。このAFエンコーダ117は、AFレンズ112の移動を検出する。
【0018】
なお、ズームエンコーダ115は、ズームポジションを検出するために、ズームレンズ114の駆動方向を検出するものであってもよい。また、AFエンコーダ117は、フォーカスポジションを検出するために、AFレンズ112の駆動方向を検出するものであってもよい。
例えば、ズームレンズ114やAFレンズ112は、レンズ駆動部116によって駆動される駆動機構(例えばモータやカム等)が時計回り(CW)あるいは反時計回り(CCW)に回転することにより光軸方向に移動する。ズームエンコーダ115およびAFエンコーダ117は、それぞれ、駆動機構の回転方向(ここでは、時計回りあるいは反時計回り)を検出することよって、ズームレンズ114およびAFレンズ112が移動していることを検出するものであってもよい。
【0019】
手ブレ補正部118は、例えば振動ジャイロ機構を備え、光学系111による像の光軸ぶれを検出し、この光軸ぶれを打ち消す方向にVRレンズ113を動かす。この手ブレ補正部118は、例えばVRレンズ113を動かしている状態においてハイレベルの信号をCPU190に出力する。一方、VRレンズ113を停止させている状態において、手ブレ補正部118は、ローレベルの信号をCPU190に出力する。
【0020】
撮像素子119は、例えば、光電変換面を備え、その受光面に結像した光学像を電気信号に変換して、A/D変換部120に出力する。
この撮像素子119は、操作部180を介して撮影指示を受け付けた際に得られる画像データを、静止画又は動画の画像データとして、A/D変換部120を介して記憶媒体200に記憶させる。一方、撮像素子119は、操作部180を介して撮像指示を受け付けていない状態において、連続的に得られる画像データをスルー画データとして、A/D変換部120を介してCPU190および表示部150に出力する。
【0021】
A/D変換部120は、撮像素子119によって変換された電気信号をデジタル化して、デジタル信号である画像データをバッファメモリ部130に出力する。
【0022】
バッファメモリ部130は、撮像部110によって撮像された画像データを、一時的に記憶する。また、バッファメモリ部130は、マイク230が収音したマイク検出音に応じたマイク音信号を、一時的に記憶する。なお、バッファメモリ部130は、マイク検出音が収音された時刻と、バッファメモリ部130における位置とを対応付けて、マイク検出音に応じたマイク音信号を記憶してもよい。
【0023】
画像処理部140は、記憶部160に記憶されている画像処理条件を参照して、バッファメモリ部130に一時的に記憶されている画像データに対して、画像処理をする。画像処理された画像データは、通信部170を介して記憶媒体200に記憶される。なお、画像処理部140は、記憶媒体200に記憶されている画像データに対して、画像処理をしてもよい。
【0024】
表示部150は、例えば液晶ディスプレイであって、撮像部100によって得られた画像データや操作画面等を表示する。
【0025】
記憶部160は、CPU190によってシーン判定の際に参照される判定条件や、シーン判定によって判断されたシーン毎に対応付けられた撮像条件等を記憶する。
【0026】
通信部170は、カードメモリ等の取り外しが可能な記憶媒体200と接続され、この記憶媒体200への情報(画像データや音データ等)の書込み、読み出し、あるいは消去を行う。
【0027】
操作部180は、例えば、電源スイッチ、シャッターボタン、マルチセレクタ(十字キー)、又はその他の操作キーを備え、ユーザによって操作されることでユーザの操作入力を受け付け、操作入力に応じた操作情報をCPU190に出力する。この操作部180は、ユーザによって押下される際、物理的な動作音を発生する場合がある。本実施形態において、ユーザの操作入力に応じた操作情報が操作部180からCPU190に入力するタイミングを、操作部180の動作が開始される動作開始タイミングという。
【0028】
記憶媒体200は、撮像装置100に対して着脱可能に接続される記憶部であって、例えば、撮像部110によって生成された(撮影された)画像データや、低減処理部250により音信号処理された音信号を記憶する。
【0029】
バス210は、撮像部110と、バッファメモリ部130と、画像処理部140と、表示部150と、記憶部160と、通信部170と、操作部180と、CPU190と、計時部220と、A/D変換部240と、低減処理部250と接続され、各構成部から出力されたデータ等を転送する。
【0030】
計時部220は、日にちや時刻を計時して、計時した日時を表わす日時情報を出力する。
【0031】
マイク230は、周辺の音を収音し、この音のマイク音信号をA/D変換部240に出力する。このマイク230によって収音されるマイク検出音には、主に、収音対象である目的音と、動作部による動作音(ノイズ)とが含まれている。
【0032】
ここで、マイク230によって取得されたマイク音信号について、例えば、AFレンズ112が動作された時に得られたマイク音信号を例に、図2、3を参照して説明する。
図2(A)は、AFエンコーダ117の出力と時間との関係の一例を示す。図2(B)は、マイク音信号と時間の関係の一例が示されている。なお、図2(B)は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。図2(A)と図2(B)に示すAFレンズ112の動作パターンは、例えば、焦点距離Pでピントを合わせるAF処理を行う場合の動作パターンである。
【0033】
図2(A)には、その縦軸に、AFエンコーダ117出力から求めた、AFレンズ112を駆動する駆動機構の回転方向を示す。
この焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、図2(A)に示す通り、AFレンズ112を駆動する駆動機構が、時刻t10〜t20において、時計回りCWに回転して、その後、静止する。
つまり、時刻t10は、AFレンズ112の動作開始タイミングを、時刻t20は、AFレンズ112の動作停止タイミングを、それぞれ表わしている。なお、本実施形態において、動作開始タイミングの時刻t10は、AFレンズ112の位置を制御するための駆動制御信号をCPU190が出力したタイミングである。動作停止タイミングの時刻t20は、AFエンコーダ117からのパルス信号の出力が停止したタイミングである。
【0034】
従って、図2(B)に示す通り、時刻t10〜t20の期間で、マイク音信号にAFレンズ112による動作音が目的音に重畳している、又は、動作音が目的音に重畳している可能性が高い。本実施形態においては、時刻t10〜t20の期間において、AFレンズ112による動作音であるノイズが発生している場合について以下説明する。
また、図2(B)に示す通り、時刻t10、t20においては、それぞれ衝撃音が発生している可能性が高い。本実施形態においては、時刻t10、t20において、AFレンズ112による衝撃音が発生している場合について以下説明する。
【0035】
また、衝撃音が発生した場合、その衝撃音が発生している可能性の高い時間は、各動作パターンに応じて予め決められている。焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、図3に示すような衝撃音の発生する時間が決められている。
図3は、焦点距離Pでピントを合わせるAF処理を行う動作パターンでAFレンズ112を駆動した際に、マイク230で収音されるマイク音信号の一例を示す。図3に示すグラフは、縦軸にマイク230によって収音されたマイク音信号を、横軸に時間を、それぞれ示す。なお、図3は、説明便宜のため、マイク音信号のうち、動作音の音信号のみを示し、目的音の音信号の図示を省略する。
焦点距離Pでピントを合わせるAF処理を行う動作パターンでは、時刻t10〜t11までの時間、および時刻t20〜t21までの時間が、それぞれ、衝撃音の発生する時間であると予め決められている。動作部が動作しない可能性の高い期間を非動作期間Taとする。動作部の動作により衝撃音が発生する可能性の高い期間を衝撃音発生期間Tbとする。動作部の動作により駆動音が発生する可能性の高い期間を駆動音発生期間Tcとする。時刻t0〜t10の区間、t21〜の区間が、非動作期間Taである。時刻t10〜t11の区間、時刻t20〜t21の区間が、衝撃音発生期間Tbである。時刻t11〜t20の区間が、駆動音発生期間Tcである。
本実施形態では、図3に示す通り、この衝撃音の発生する期間において、衝撃音が発生している例について説明する。
【0036】
図1に戻って、撮像装置100の各構成の説明を続ける。
CPU190は、設定された撮像条件(例えば絞り値、露出値等)に応じた動作パターンに従って撮像部110を制御する。このCPU190は、ズームエンコーダ115から出力されるズームポジションおよびAFエンコーダ117から出力されるフォーカスポジションに基づき、レンズ駆動部116を駆動する駆動制御信号を生成して、レンズ駆動部116に出力する。その生成アルゴリズムは、必要に応じて既存のアルゴリズムを適宜用いてよい。
【0037】
タイミング信号検出部191は、撮像装置100が備えている動作部の動作状態が変化するタイミングを検出する。この動作状態が変化するタイミングとしては、例えば、動作部が動作を開始する動作開始タイミングと、動作部の動作が停止する動作停止タイミングとがある。
ここでいう動作部とは、例えば、上述した光学系111、あるいは、操作部180のことであり、撮像装置100が備えている構成のうち、動作することにより、または、動作されることにより、動作音が生じる(または、動作音が生じる可能性がある)構成である。
言い換えると、動作部とは、撮像装置100が備えている構成のうち、動作部が動作することにより生じた動作音、または、動作部が動作されることにより生じた動作音が、マイク230により収音される(または、収音される可能性のある)構成である。
【0038】
例えば、このタイミング信号検出部191は、動作部を動作させる駆動制御信号に基づいて、動作部の動作状態が変化するタイミングを検出してもよい。この駆動制御信号とは、動作部を動作させる駆動部に対して、動作部を動作させるようにする駆動制御信号、または、この駆動部を駆動させる駆動制御信号である。
【0039】
例えば、タイミング信号検出部191は、ズームレンズ114、VRレンズ113、または、AFレンズ112を駆動させるため、レンズ駆動部116または手ブレ補正部118に入力される駆動制御信号に基づいて、ズームレンズ114、VRレンズ113、または、AFレンズ112の動作が開始された動作開始タイミングを検出する。この場合、タイミング信号検出部191は、CPU190が駆動制御信号を生成する場合にCPU190内部で実行される処理やコマンドに基づいて、動作開始タイミングを検出してもよい。
また、タイミング信号検出部191は、操作部180から入力されるズームレンズ114、または、AFレンズ112を駆動させることを示す操作信号に基づいて、動作開始タイミングを検出してもよい。
【0040】
また、タイミング信号検出部191は、動作部が動作されたことを示す信号に基づいて、動作部の動作状態が変化するタイミングを検出してもよい。
例えば、タイミング信号検出部191は、ズームエンコーダ115またはAFエンコーダ117の出力に基づいて、ズームレンズ114またはAFレンズ112が駆動されたことを検出することにより、ズームレンズ114またはAFレンズ112の動作開始タイミングを検出してもよい。また、タイミング検出部191は、ズームエンコーダ115またはAFエンコーダ117の出力に基づいて、ズームレンズ114またはAFレンズ112が停止されたことを検出することにより、ズームレンズ114またはAFレンズ112の動作停止タイミングを検出してもよい。
また、タイミング信号検出部191は、手ブレ補正部118からの出力に基づいて、VRレンズ113が駆動されたことを検出することにより、VRレンズ113の動作開始タイミングを検出してもよい。このタイミング信号検出部191は、手ブレ補正部118からの出力に基づいて、VRレンズ113が停止されたことを検出することにより、VRレンズ113の動作停止タイミングを検出してもよい。
さらに、タイミング信号検出部191は、操作部180からの入力に基づいて、操作部180が操作されたことを検出することにより、動作部が動作するタイミングを検出してもよい。
【0041】
タイミング信号検出部191は、撮像装置100が備えている動作部の動作開始タイミングを検出し、検出した動作開始タイミングを示す動作開始タイミング信号を、低減処理部250に出力する。また、タイミング信号検出部191は、撮像装置100が備えている動作部の動作停止タイミングを検出し、この検出した動作停止タイミングを示す動作停止タイミング信号を、低減処理部250に出力する。
本実施形態において、タイミング検出部191は、AFレンズ112を動かす駆動制御信号がCPU190からレンズ駆動部116に出力されるタイミングを、AFレンズ112の動作開始タイミングと判定する。タイミング検出部191は、例えば、図3を用いた例で示す衝撃音が発生している時刻t10〜t11を示す情報を、動作開始タイミング信号として出力する。
また、タイミング検出部191は、AFエンコーダ117から出力されるパルス信号に基づき、このパルス信号の出力が停止した時を、AFレンズ112の動作が停止した動作停止タイミングと判定する。タイミング検出部191は、例えば、図3を用いた例で示す衝撃音が発生している時刻t20〜t21を示す情報を、動作停止タイミング信号として出力する。
【0042】
A/D変換部240は、マイク230から入力されたアナログ信号であるマイク音信号をデジタル信号であるマイク音信号に変換する。このA/D変換部240は、デジタル信号であるマイク音信号を、低減処理部250に出力する。
また、A/D変換部240は、デジタル信号であるマイク音信号を、バッファメモリ部130あるいは記憶媒体200に記憶させる構成であってもよい。
【0043】
低減処理部250は、A/D変換部240によりデジタル信号に変換されたマイク音信号に対して、例えばAFレンズ112、VRレンズ113、ズームレンズ114等の動作部による動作音であるノイズを低減するなどのノイズ低減処理を実行し、このノイズ低減処理した音信号を記憶媒体200に記憶させる。
この低減処理部250は、音信号処理部251と、ノイズ推定判定部252と、ノイズ推定部253と、ノイズ低減処理部254と、逆フーリエ変換部255とを含む。
【0044】
音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされるスペクトルに変換して、この周波数領域で表わされるスペクトル(周波数スペクトル)をノイズ推定判定部252に出力する。
この音信号処理部251は、例えば、マイク音信号にフーリエ変換、あるいは高速フーリエ変換(FFT:Fast Fourier Transform)を行うことで、マイク音信号を周波数領域に変換する。音信号処理部251は、例えば、マイク音信号にフーリエ変換を行うことで、窓関数の各区間に対応する周波数スペクトルを算出する。
ここで、窓関数において予め定められた区間とは、信号処理の単位(フレーム)であって、一定の間隔で繰り返される区間である。これらの窓関数の各区間は、他の窓関数の各区間と半分ずつオーバーラップしている。なお、窓関数は、例えば、ハニング窓(ハニングウィンドウ)関数が利用可能である。
【0045】
上述した図3を参照して、音信号処理部251により算出される窓関数の各区間に対応する周波数スペクトルの一例について説明する。
音信号処理部251は、上述の通り、A/D変換部240から出力されたマイク音信号に対して、図3に示すように他の区間と半分ずつオーバーラップしている窓関数W1〜W14で重み付けをする。これにより、マイク音信号は、窓関数のサイズに分割される。この音信号処理部251は、例えば窓関数W1〜W14で重み付けされた各区間のマイク音信号ごとに、例えばフーリエ変換を行い、周波数領域における周波数スペクトルS1〜S14を算出する。つまり、音信号処理部251によって算出される周波数スペクトルS1〜S14は、窓関数W1〜W14の区間にそれぞれ対応する周波数スペクトルである。
【0046】
図3に示す通り、焦点距離αでピントを合わせるAF処理を行う場合の動作パターンにおいては、駆動開始タイミングと駆動停止タイミングにおいて衝撃音が発生する。ここで、動作部が動作しない可能性の高い期間を非動作期間Taとする。動作部の動作により衝撃音が発生する可能性の高い期間を衝撃音発生期間Tbとする。動作部の動作により駆動音が発生する可能性の高い期間を駆動音発生期間Tcとする。
時刻t0〜t10の区間、t21〜の区間が、非動作期間Taである。時刻t10〜t11の区間、時刻t20〜t21の区間が、衝撃音発生期間Tbである。時刻t11〜t20の区間が、駆動音発生期間Tcである。
本実施形態において、窓関数W1、W13、W14に対応する周波数スペクトルS1、S13、S14は、非動作期間Taに取得されたマイク音信号の周波数スペクトルである。窓関数W5〜W8に対応する周波数スペクトルS5〜S8は、動作部が動作する可能性の高い期間のうち、駆動音発生期間Tcに取得されたマイク音信号の周波数スペクトルである。
また、窓関数W2〜W4に対応する周波数スペクトルS2〜S4と、窓関数W9〜W12に対応する周波数スペクトルS9〜S12は、動作部が動作する可能性の高い期間のうち、衝撃音発生期間Tbに取得されたマイク音信号の周波数スペクトルである。
【0047】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作部が動作する可能性の高い期間のうち、駆動音が発生する可能性の高い期間(駆動音発生期間Tc)に取得される音信号の一の周波数スペクトル(以下、第1周波数スペクトルCという)を取得する。本実施形態において、ノイズ推定判定部252は、駆動音発生期間Tcに対応する周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5を第1周波数スペクトルCとして取得する。言い換えると、ノイズ推定判定部252は、非動作期間Taと時間軸方向に最も近い駆動音発生期間Tcの周波数スペクトルを、第1周波数スペクトルCとして取得する。
【0048】
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作部が動作しない可能性の高い期間(非動作期間Ta)に取得される音信号の一の周波数スペクトル(以下、第2周波数スペクトルという)を取得する。本実施形態において、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルS1〜S14から、非動作期間Taに対応する周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS1を第2周波数スペクトルAとして取得する。言い換えると、ノイズ推定判定部252は、駆動音発生期間Tcと時間軸方向に最も近い非動作期間Taの周波数スペクトルを、第2周波数スペクトルAとして取得する。
【0049】
ここで、図4、5を参照して、ノイズ推定判定部252が取得する第1周波数スペクトルCと第2周波数スペクトルAの一例について説明する。図4は、第2周波数スペクトルAの一例を示す図である。図5は、第1周波数スペクトルCの一例を示す図である。
図4に示す通り、第2周波数スペクトルAの周波数スペクトルS1は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分A1〜A8を含む。
図5に示す通り、第1周波数スペクトルCの周波数スペクトルS5は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分C1〜C8を含む。
周波数スペクトルS1と周波数スペクトルS5を比較すると、周波数スペクトルS5の方が、それぞれの周波数成分における振幅が大きい。これは、周波数スペクトルS5に駆動音が含まれているからである。
【0050】
ノイズ推定判定部252は、第1周波数スペクトルCの周波数スペクトルS5の音信号が、動作部の動作パターンに応じて予め決められているノイズ推定を実行するノイズ推定条件を満たすか否かを判定する(以下、ノイズ推定判定処理という)。
本実施形態において、ノイズ推定判定部252は、以下のノイズ推定条件(1)と(2)のうち少なくともいずれか1つの条件を満たす場合、周波数スペクトルS5の音信号がノイズ推定条件を満たすと判定する。
ノイズ推定条件(1)
動作部が動作する可能性の高い期間に取得される駆動音以外の音が、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値未満であること。この条件は、動作部が動作する可能性の高い期間に取得される音に含まれる駆動音以外の音、例えば、目的音が十分に小さい場合、この期間に取得された音が駆動音によるノイズと概ね同等であると推定するための条件である。
ノイズ推定条件(2)
動作部が動作する可能性の高い期間に取得される駆動音が、動作部の動作パターンに応じた駆動音の推定ノイズNSとして予め決められている初期推定ノイズNSiに基づく許容範囲内であること。この条件は、動作部による動作のタイミングがずれてしまい衝撃音を含む周波数スペクトルに基づき推定ノイズNSを決定してしまう事態や、目的音が大きい期間に取得される周波数スペクトルに基づき推定ノイズNSを決定してしまう事態を防止するための条件である。
【0051】
本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(1)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値αを参照して、第2周波数スペクトルAとこの静環境閾値αと比較する。
この静環境閾値αの一例について図6を参照して説明する。
図6は、静環境閾値αの周波数スペクトルの一例を示す図である。図6に示す通り、静環境閾値αの周波数スペクトルは、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分α1〜α8を含む。
【0052】
ノイズ推定判定部252は、第2周波数スペクトルAの周波数成分A1〜A8の総和Aallが、静環境閾値αの周波数スペクトルの周波数成分α1〜α8の総和αall未満であるか否かを判定する。
第2周波数スペクトルAの周波数成分A1〜A8の総和Aallが、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall未満である場合、ノイズ推定判定部252は、ノイズ推定条件(1)を満たすと判定する。
【0053】
また、本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(2)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、動作部の動作パターンに応じた駆動音の推定ノイズとして予め決められている初期推定ノイズNSiを参照して、第1周波数スペクトルCとこの初期推定ノイズNSiに基づく許容範囲を示す閾値(下限閾値NSimin,上限閾値NSimax;NSimin,<NSi<NSimax)とを比較する。
【0054】
この初期推定ノイズNSiの一例について図7を参照して説明する。
図7は、初期推定ノイズNSiの周波数スペクトルの一例を示す図である。図7に示す通り、初期推定ノイズNSiの周波数スペクトルは、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分NSi1〜NSi8を含む。
なお、下限閾値NSiminは、例えば、初期推定ノイズNSiの周波数成分NSi1〜NSi8のそれぞれに0.5を乗算した値の周波数成分NSimin,1〜NSimin,8によって構成される周波数スペクトルである。
また、上限閾値NSimaxは、例えば、初期推定ノイズNSiの周波数成分NSi1〜NSi8のそれぞれに1.3を乗算した値の周波数成分NSimax,1〜NSimax,8によって構成される周波数スペクトルである。
【0055】
ノイズ推定判定部252は、第1周波数スペクトルCの周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分NSimin,1〜NSimin,8の総和NSimin,all以上かつ上限閾値NSimaxの周波数成分NSimax,1〜NSimax,8の総和NSimax,all未満であるか否かを判定する。
第1周波数スペクトルCの周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分の総和NSimin,all以上、かつ、上限閾値NSimaxの周波数成分の総和NSimax,all未満である場合、ノイズ推定判定部252は、ノイズ推定条件(2)を満たすと判定する。
【0056】
ノイズ推定部253は、ノイズ推定判定部252によってノイズ推定条件を満たすと判定された場合、第1周波数スペクトルCに基づき、動作部の動作によって発生する駆動音を示す推定ノイズを決定する(以下、ノイズ推定処理という)。
本実施形態において、ノイズ推定部253は、ノイズ推定条件(1)と(2)の両方を満たす場合、例えば、ノイズ推定条件(1)において静環境閾値αと比較された第2周波数スペクトルAの音信号が取得された期間と時間軸方向に最も近い第1周波数スペクトルCを推定ノイズNSと決定する。
【0057】
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、動作部が動作する可能性の高い期間に取得される音信号の周波数スペクトルを取得する。このノイズ低減処理部254は、例えば、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される駆動音期間Tcに対応する全ての第1周波数スペクトルを取得するものであってもよい。
【0058】
このノイズ低減処理部254は、例えば、動作開始タイミングから動作停止タイミングまでの期間に取得される音信号の周波数スペクトルを取得する。
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音が発生している可能性の高い期間に対応する第1周波数スペクトルCと第3周波数スペクトルBを取得する。本実施形態において、ノイズ低減処理部254は、周波数スペクトルS2〜S12を取得する。
【0059】
このノイズ低減処理部254は、取得した周波数スペクトルS2〜S12に対して、動作パターンに応じて予め決められている駆動音によるノイズを低減するノイズ低減処理を行う。例えば、ノイズ低減処理部254は、ノイズ推定部253によって決定された推定ノイズNSの周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算するスペクトル減算法を実行する。
本実施形態において、ノイズ低減処理部254は、ノイズ推定部253によって推定ノイズNSが決定された場合は、この決定された推定ノイズNSを用いてノイズ低減処理を実行する。しかし、ノイズ推定部253によって推定ノイズが決定されない場合は、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0060】
逆フーリエ変換部255は、ノイズ低減処理部254から入力された周波数スペクトルに対して、例えば逆フーリエ変換、あるいは逆高速フーリエ変換(IFFT:Inverse Fast Fourier Transform)を行うことで、時間領域に変換する。
通信部170は、この逆フーリエ変換部255によって時間領域に変換された音信号を記憶媒体200に記憶させる。なお、通信部170は、時間領域に変換された音信号と、撮像素子119により撮像された画像データとを、対応する日時情報を有する同士で対応付けて、記憶媒体200に記憶させてもよく、音信号を含む動画として記憶してもよい。
【0061】
次に、図8を参照して、本発明に係るノイズ低減処理方法の一例について説明する。図8は、本発明に係るノイズ低減処理方法の一例を示すフローチャートである。
例えば、操作部180の電源スイッチがONされると、撮像装置100に電源が投入され、電池260から各構成部に対して電力が供給される。本実施形態では、撮像装置100に対して、撮像時の画像データと音声データとを対応付けて記憶媒体200に記憶させることが予め設定されている。
【0062】
(ステップST1)
マイク230は、例えば、電源がONされると、収音されたマイク音信号をA/D変換部240に出力する。A/D変換部240は、アナログ信号であるマイク音信号をデジタル変換したマイク音信号を低減処理部250に出力する。
低減処理部250は、A/D変換部240からマイク音信号を入力する。
【0063】
例えば、ユーザによって、操作部180のレリーズボタンが押下された場合、CPU190は、AF処理において、例えば焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を、レンズ駆動部116とタイミング検出部191に出力する。
このレンズ駆動部116は、入力する駆動制御信号に基づき、焦点距離Pでピントを合わせる動作パターンに従って、AFレンズ112を移動させる。例えば、レンズ駆動部116は、AFレンズ112の駆動機構を時計回りに所定量回転させて、AFレンズ112を移動させる。なお、この駆動機構を回転させる回転量やスピードは、焦点距離Pでピントを合わせる動作パターンとして、予め決められている。
AFレンズ112が動くと、CPU190は、AFエンコーダ117の出力から求めたハイレベルの信号をタイミング検出部191に出力する。動いていたAFレンズ112が停止すると、CPU190は、AFエンコーダ117の出力から求めたローレベルの信号をタイミング検出部191に出力する。
【0064】
タイミング検出部191は、入力する駆動制御信号やAFエンコーダ117の出力レベルに基づき、焦点距離Pでピントを合わせる動作パターンに従って、動作タイミング信号を生成し、低減処理部250に出力する。
例えば、焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を入力した場合、タイミング検出部191は、AFレンズ112の動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作開始タイミング信号を生成し、低減処理部250に出力する。
【0065】
(ステップST2)
低減処理部250は、タイミング検出部191から動作タイミング信号が入力されたか否かを判定する。
(ステップST3)
動作タイミング信号が入力された場合、低減処理部250の音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされる周波数スペクトルに変換する。音信号処理部251は、例えば、窓関数で重み付けされた音信号をフーリエ変換して、周波数スペクトルS1〜S14を算出し、ノイズ推定判定部252に出力する。
【0066】
(ステップST4)
そして、ノイズ推定判定部252は、ノイズ推定条件(1)および(2)を満たすか否かを判定するノイズ推定判定処理を実行する。
(ステップST5)
ノイズ推定部253は、ノイズ推定判定部252によるノイズ推定判定結果に基づき、推定ノイズNSを決定する。
(ステップST6)
そして、ノイズ推定部253は、決定した推定ノイズNSを記憶部160に格納するとともに、ノイズ低減処理部254に出力する。
【0067】
(ステップST7)
ノイズ低減処理部254は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される音信号のうち、動作部が動作する可能性の高い期間の周波数スペクトルを取得する。
そして、ノイズ低減処理部254は、取得した周波数スペクトルから、ノイズ推定部253によって決定された推定ノイズの周波数スペクトルを減算するスペクトル減算法を実行する。このノイズ低減処理部254は、ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部255に出力する。
(ステップST8)
逆フーリエ変換部255は、ノイズ低減処理部254から入力されたノイズ低減処理後の周波数スペクトルに対して、例えば逆フーリエ変換を行うことで、時間領域に変換する。この逆フーリエ変換部255は、時間領域に変換された音信号を記憶媒体200に記憶させる。
【0068】
(ステップST9)
なお、ステップST4のノイズ推定判定処理によって、ノイズ推定条件(1)と(2)のうちいずれか一方の条件を満たさないと判定された場合、ノイズ低減処理部254は、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0069】
次に、図9を参照して、本実施形態に係るノイズ推定判定処理とノイズ推定処理の一例について説明する。図9は、本実施形態に係るノイズ推定判定処理とノイズ推定処理の一例を示すフローチャートである。
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0070】
(ステップST101)
そして、ノイズ推定判定部252は、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallが、静環境閾値αの周波数スペクトルの周波数成分α1〜α8の総和αall未満であるか否かを判定する。
(ステップST101−YES)
図4と図6に示す通り、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallは、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall未満である。よって、ノイズ推定判定部252は、ノイズ推定条件(1)を満たすと判定する。
【0071】
(ステップST102)
次いで、ノイズ推定判定部252は、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分NSimin,1〜NSimin,8の総和NSimin,all以上かつ上限閾値NSimaxの周波数成分NSimax,1〜NSimax,8の総和NSimax,all未満であるか否かを判定する。
(ステップST102−YES)
図5と図7に示す通り、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callが、下限閾値NSiminの周波数成分の総和NSimin,all以上、かつ、上限閾値NSimaxの周波数成分の総和NSimax,all未満である。よって、ノイズ推定判定部252は、ノイズ推定条件(2)を満たすと判定する。
ここで、ノイズ推定判定部252が、第1周波数スペクトルCである周波数スペクトルS5がノイズ推定条件(1)および(2)を満たすと判定した場合、この判定結果を示す情報をノイズ推定部253に出力する。
【0072】
(ステップST103)
ノイズ推定部253は、このノイズ推定判定部252による判定結果に基づき、第1周波数スペクトルCである周波数スペクトルS5が、動作部の動作によって発生する駆動音を示す推定ノイズであると決定する。
【0073】
一方、ノイズ推定判定部252が、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルから、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5´を第1周波数スペクトルCとして取得したとする。この周波数スペクトルS5´の一例について、図10に示す。
図10に示す通り、第1周波数スペクトルCの周波数スペクトルS5´は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分C1´〜C8´を含む。
【0074】
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルから、動作開始タイミングと最も近い周波数スペクトルS1´を第2周波数スペクトルAとして取得したとする。
図11に示す通り、第2周波数スペクトルAの周波数スペクトルS1´は、周波数帯域幅f1〜f8にそれぞれ対応する周波数成分A1´〜A8´を含む。
【0075】
(ステップST101−NO)
この場合、図11と図6に示す通り、第2周波数スペクトルAである周波数スペクトルS1´の周波数成分A1´〜A8´の総和Aall´は、静環境閾値αである周波数スペクトルの周波数成分α1〜α8の総和αall以上である。よって、ノイズ推定判定部252は、ノイズ推定条件(1)を満たさないと判定する。
(ステップST102−NO)
また、図10と図7に示す通り、第1周波数スペクトルCである周波数スペクトルS5´の周波数成分C1´〜C8´の総和Call´が、上限閾値NSimaxの周波数成分の総和NSimax,all以上である。よって、ノイズ推定判定部252は、ノイズ推定条件(2)を満たさないと判定する。
このように、ノイズ推定判定部252は、第1周波数スペクトルCである周波数スペクトルS5がノイズ推定条件(1)あるいは(2)を満たさないと判定した場合、この判定結果を示す情報をノイズ低減処理部254に出力する。
【0076】
この場合、上述のステップST9に移行して、ノイズ低減処理部254は、このノイズ推定判定部252による判定結果に基づき、動作パターンに応じて予め決められている設定ノイズを表わす周波数スペクトルを、動作部が動作している可能性の高い期間に取得される音信号の周波数スペクトルから減算する周波数スペクトル減算法を実行する。
【0077】
以上説明したように、本実施形態に係る撮像装置100は、タイミング信号検出部191によって動作部の動作タイミングを検出するとともに、このタイミング信号に基づき、駆動音が発生する可能性の高い期間に取得された音信号の周波数スペクトルが、動作部の動作パターンに応じて予め決められているノイズ推定を実行するノイズ推定条件を満たすか否かを判定する。これにより、ノイズ推定によって決定される推定ノイズSNに含まれる駆動音以外の音を低減することができる。また、動作パターンに応じた推定ノイズとして、許容範囲を外れるほど大きく異なる周波数スペクトルを推定ノイズSNと決定する可能性を低減させることができる。つまり、ノイズ推定部253によって決定される推定ノイズSNの精度を向上させることができる。
【0078】
次に、図12,13を参照して、タイミング検出部191によって検出される動作開始タイミングの一例について説明する。
図12には、例えば、AFエンコーダ117の出力と、マイク230が出力するマイク音信号の一例を示す図である。
図12に示す通り、AFエンコーダ117の出力がハイレベルとローレベルとを繰り返している期間を動作部による動作音が発生している期間であると決定した場合の一例について説明する。
この場合、AFエンコーダ117の出力が最初にハイレベルとなった時刻が、動作開始タイミングt1となる。よって、この時刻t1から衝撃音が発生している期間が開始する。また、AFエンコーダ117の出力が最後にハイレベルとなった際にローレベルに戻ったとき時刻が、動作停止タイミングt2となる。よって、この時刻t2から衝撃音が発生している期間が開始する
【0079】
しかし、この場合、AFレンズ112の駆動系(ギア列等)のバックラッシュの影響で、AFエンコーダ117の出力が、実際のAFレンズ112の駆動系の動作開始タイミングとずれる場合がある。この場合について、図13を参照して説明する。図13には、例えば、AFエンコーダ117の出力と、マイク230が出力するマイク音信号の他の例を示す図である。
【0080】
図13に示す通り、実際のAFレンズ112の駆動系の動作開始タイミングは、AFエンコーダ117の出力がハイレベルとローレベルとを繰り返している期間よりも時間軸方向の前(過去)に発生している。この場合、動作開始タイミングは時刻t3であり、時刻t3からの一定期間内において衝撃音が発生している。
よって、時刻t1を動作開始タイミングとした場合、衝撃音ノイズ低減処理部252は、時刻t1からの一定期間を衝撃音が発生している可能性の高い期間として取り扱うこととなる。この場合、衝撃音ノイズ低減処理部252によって取得された第1周波数スペクトルには、衝撃音が含まれていない可能性が高い。
【0081】
よって、タイミング検出部191は、図13を用いて説明したとおり、駆動系の実際の開始タイミングとAFエンコーダ117の出力とがずれてしまった場合の不都合を回避するため動作開始タイミングとして、動作部への駆動制御信号(コマンド)が出力された時刻を示す動作開始タイミング信号を生成する。
【0082】
[第2実施形態]
本実施形態に係るノイズ低減処理装置は、上述の第1実施形態と比較すると、ノイズ推定判定部252によるノイズ推定判定処理と、ノイズ推定部253によるノイズ推定処理が異なる。それ以外の処理については、上述の第1実施形態と同様であるため、詳細な説明については省略する。
【0083】
本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(1)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、駆動音によるノイズとして予め決められている初期推定ノイズNSiと、駆動音によるノイズが発生していない可能性の高い期間の音情報とに基づき、信号対雑音比SNRを算出する。この信号対雑音比SNRは、信号量(signal)である駆動音によるノイズが発生していない可能性の高い期間の音情報と、雑音量(noise)である初期推定ノイズNSiとの比である。この信号対雑音比SNRが小さいほど、目的音が小さいことを意味しており、この目的音を含む音信号に基づき推定ノイズNSを算出すると、駆動音によるノイズが発生している期間の音情報から推定するノイズの推定精度が高くなる。逆に、信号対雑音比SNRが大きいほど、目的音が大きいことを意味しており、この目的音を含む音信号に基づき推定ノイズNSを算出すると、駆動音によるノイズが発生している期間の音情報から推定するノイズの推定精度が低くなる。本実施形態において、駆動音によるノイズが発生していない可能性の高い期間の音情報は、非動作期間Taに取得される音情報である。
【0084】
ノイズ推定判定部252は、信号対雑音比SNRに応じた重み係数γを決定し、この重み係数を示す情報をノイズ推定部253に出力する。
【0085】
図14は、信号対雑音比SNRと重み係数γとの関係を示すグラフである。図14に示すグラフにおいて、横軸は信号対雑音比SNR[dB]であり、縦軸は重み係数γである。
図14に示す通り、重み係数γは、0≦γ≦1の範囲で設定されている。信号対雑音比SNR≧0[dB]のとき、重み係数γ=0である。また、信号対雑音比SNRは、SNR≦−14[dB]のとき、重み係数γ=1である。重み係数γは、0<γ<1の範囲では、以下に示す式(1)により定義される。
<式(1)>
重み係数γ={1/(β1−β2)}×信号対雑音比SNR ・・・式(1)
【0086】
なお、式(1)において、β1は、重み係数γの変化点である信号対雑音比SNRの閾値を示す信号対雑音比判定閾値βの下限閾値である。この信号対雑音比判定閾値βの下限閾値β1とは、重み係数γ=1となる信号対雑音比SNRの最大値である。本実施形態において、信号対雑音比判定閾値βの下限閾値は、β1=−14[dB]である。この信号対雑音比判定閾値βの下限閾値β1は、例えば、第1実施形態において説明した静環境閾値αに相当する信号対雑音比SNRである。
また、式(1)において、β2は、信号対雑音比判定閾値βの上限閾値である。この信号対雑音比判定閾値βの上限閾値β2とは、推定ノイズNSを算出する信号対雑音比SNRの最大値である。つまり、信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2以上でることは、ノイズ推定部253が、重み係数γ=0を初期推定ノイズNSiに乗算して推定ノイズ=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しないことを意味している。本実施形態において、信号対雑音比判定閾値βの上限閾値β2=0[dB]である。
【0087】
ノイズ推定判定部252は、この信号対雑音比SNRを算出する場合、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRを算出するものであってもよく、周波数スペクトルの周波数成分毎に信号対雑音比SNRを算出するものであってよい。
【0088】
また、本実施形態において、ノイズ推定判定部252は、ノイズ推定条件(2)を満たしているか否かを、以下のようにして判定する。
例えば、ノイズ推定判定部252は、駆動音によるノイズとして予め決められている初期推定ノイズNSiの周波数スペクトルと、駆動音によるノイズのみが発生している可能性の高い期間の周波数スペクトルとに基づき、スペクトル比SRを算出する。本実施形態において、駆動音によるノイズのみが発生している可能性の高い期間の音情報は、駆動音発生期間Tcに取得される音情報である。
【0089】
このスペクトル比SRは、以下の式(2)で算出される値である。
<式(2)>
スペクトル比SR=「駆動音発生期間Tcに取得される周波数スペクトル」
/「初期推定ノイズNSiの周波数スペクトル」 ・・・式(2)
【0090】
ノイズ推定部253は、このノイズ推定判定部252が算出した信号対雑音比SNRに応じた重み係数γとスペクトル比SRに応じた重み係数εとを推定ノイズNSに与える。つまり、ノイズ推定判定部252は、この重み係数γおよび重み係数εを初期推定ノイズNSiに乗じて、推定ノイズNSを算出する。
【0091】
図15は、スペクトル比SRと重み係数εとの関係を示すグラフである。図15に示すグラフにおいて、横軸はスペクトル比SR[dB]であり、縦軸は重み係数εである。
図15に示す通り、重み係数εは、0≦ε≦1の範囲で設定されている。スペクトル比SR>2.3[dB]のとき、および、スペクトル比SR<−6[dB]のとき、重み係数ε=0である。また、スペクトル比SR=0[dB]のとき、重み係数ε=1である。
重み係数εは、−6≦ε<0の範囲では、以下に示す式(3)により定義される。
<式(3)>
重み係数ε=SR/δ1+1 ・・・式(3)
【0092】
重み係数εは、0<ε≦2.3の範囲では、以下に示す式(4)により定義される。
<式(4)>
重み係数ε=−SR/δ2+1 ・・・式(4)
【0093】
なお、δ1は、重み係数εの変化点であるスペクトル比SRの閾値を示すスペクトル比判定閾値δの下限閾値である。このスペクトル比判定閾値δの下限閾値δ1とは、推定ノイズNSを決定するためのスペクトル比SRの最小値である。つまり、スペクトル比SRが、スペクトル比判定閾値δの下限閾値δ1未満の場合、ノイズ推定判定部252は、重み係数ε=0を初期推定ノイズNSiに乗算して推定ノイズNS=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しない。つまり、ノイズ推定部253は、推定ノイズNS=0の場合は、推定ノイズNSを決定しないと判定する。本実施形態においてスペクトル比判定閾値δの下限閾値δ1は、δ1=−6[dB]である。このスペクトル比判定閾値δの下限閾値δ1は、例えば、第1実施形態において説明した下限閾値NSiminに相当するスペクトル比SRである。
【0094】
また、δ2は、スペクトル比判定閾値δの上限閾値である。このスペクトル比判定閾値δの上限閾値とは、推定ノイズNSを算出するスペクトル比SRの最大値である。つまり、スペクトル比SRが、スペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数ε=0を乗算して推定ノイズ=0を算出することにより、駆動音発生期間Tcの周波数スペクトルCを推定ノイズNSと決定しない。本実施形態においてスペクトル比判定閾値δの上限閾値δ2は、δ2=2.3[dB]である。このスペクトル比判定閾値δの上限閾値δ2は、例えば、第1実施形態において説明した上限閾値NSimaxに相当するスペクトル比SRである。
【0095】
ノイズ推定判定部252は、この信号対雑音比SNRおよびスペクトル比SRを算出する場合、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するものであってもよく、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを周波数成分ごとに算出するものであってよい。
なお、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出する例について、図16〜17を参照して、以下に説明する。
一方、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを周波数成分ごとに算出する例について、図18〜19を参照して、以下に説明する。
【0096】
ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γと重み係数εとの積を算出し、この重み係数の積を初期推定ノイズNSiに乗算する。そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×ε×初期推定ノイズNSi)が0(ゼロ)であるか否かを判定する。重み係数の積と初期推定ノイズNSiとの積=重み係数γ×ε×初期推定ノイズNSiが0(ゼロ)でない場合、この重み係数の積と初期推定ノイズNSiとの積(重み係数γ×ε×初期推定ノイズNSi)を推定ノイズNSと決定する。
【0097】
次に、図16、17を参照して、周波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理とノイズ推定処理の一例について説明する。図16は、波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。図17は、波数スペクトルの周波数成分の総和に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【0098】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0099】
(ステップST201)
そして、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSi1〜NSi8の総和NSiallと、第2周波数スペクトルAである周波数スペクトルS1の周波数成分A1〜A8の総和Aallとに基づき、信号対雑音比SNRを算出する。この低減処理部250は、以下の演算式に従って、信号対雑音比SNRを算出する。
<信号対雑音比SNRの演算式>
信号対雑音比SNR=周波数スペクトルS1の周波数成分A1〜A8の総和Aall
/初期推定ノイズNSiの周波数スペクトルの周波数成分の総和NSiall
【0100】
(ステップST202)
そして、ノイズ推定判定部252は、算出した信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1以下であるか否かを判定する。
(ステップST203)
信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1以下である場合、ノイズ推定判定部252は、重み係数γ=1と決定する。
【0101】
(ステップST204)
一方、信号対雑音比SNRが、信号対雑音比判定閾値βの下限閾値β1より大きい場合、ノイズ推定判定部252は、算出した信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。
(ステップST205)
信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2未満である場合、ノイズ推定判定部252は、重み係数γ={1/(β1−β2)}×信号対雑音比SNRと決定する。
【0102】
(ステップST206)
そして、信号対雑音比SNRが、信号対雑音比判定閾値βの上限閾値β2以上である場合、ノイズ推定判定部252は、重み係数γ=0と決定する。
【0103】
(ステップST207)
次いで、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSi1〜NSi8の総和NSiallと、第1周波数スペクトルCである周波数スペクトルS5の周波数成分C1〜C8の総和Callとに基づき、スペクトル比SRを算出する。この低減処理部250´は、以下の演算式に従って、スペクトル比SRを算出する。
<スペクトル比SRの演算式>
スペクトル比SR=周波数スペクトルS5の周波数成分C1〜C8の総和Call
/初期推定ノイズNSiの周波数スペクトルの周波数成分の総和NSiall
【0104】
(ステップST208)
そして、ノイズ推定判定部252は、算出したスペクトル比SRが、スペクトル比判定閾値δの下限閾値δ1未満であるか否かを判定する。
(ステップST209)
スペクトル比SRがスペクトル比判定閾値δの下限閾値δ1未満である場合、ノイズ推定判定部252は、重み係数ε=0と決定する。
【0105】
(ステップST210)
一方、信号対雑音比SNRがスペクトル比判定閾値δの下限閾値δ1以上である場合、ノイズ推定判定部252は、算出した信号対雑音比SNRが、1未満であるか否かを判定する。
(ステップST211)
信号対雑音比SNRが1未満である場合、ノイズ推定判定部252は、重み係数ε=SR/δ1+1と決定する。
【0106】
(ステップST212)
さらに、ノイズ推定判定部252は、算出したスペクトル比SR=1であるか否かを判定する。
(ステップST213)
スペクトル比SR=1である場合、ノイズ推定判定部252は、重み係数ε=1と決定する。
【0107】
(ステップST214)
そして、ノイズ推定判定部252は、算出したスペクトル比SRが、スペクトル比判定閾値δの上限閾値δ2以下であるか否かを判定する。
(ステップST215)
スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2以下である場合、ノイズ推定判定部252は、重み係数ε=−SR/δ2+1と決定する。
【0108】
(ステップST216)
一方、スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数ε=0と決定する。
【0109】
次いで、図17を参照して、図16の続きのフローについて説明する。
(ステップST217)
図17に示す通り、ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γと重み係数εとの積を算出し、この重み係数の積を初期推定ノイズNSiに乗算する。
(ステップST218)
そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)であるか否かを判定する。
(ステップST219)
重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)でない場合、この重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)を推定ノイズNSと決定する。
一方、重み係数の積と初期推定ノイズNSiとの積(重み係数γ×重み係数ε×初期推定ノイズNSi)が0(ゼロ)である場合、ノイズ推定部253は、推定ノイズNSを決定しない。
【0110】
次に、図18、19を参照して、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理とノイズ推定処理の一例について説明する。図18は、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定判定処理の一例を説明するためのフローチャートである。図19は、周波数スペクトルに含まれる各周波数成分に基づく信号対雑音比SNRおよびスペクトル比SRを算出するノイズ推定処理の一例を説明するためのフローチャートである。
【0111】
ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、駆動音発生期間Tcのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5(図5参照)を第1周波数スペクトルCとして取得する。
また、ノイズ推定判定部252は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、動作開始タイミングと最も近い周波数スペクトルS1(図4参照)を第2周波数スペクトルAとして取得する。
【0112】
(ステップST301)
そして、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSin{n=1,2,・・・,8;以下同じ}と、第2周波数スペクトルAである周波数スペクトルS1の周波数成分Anとに基づき、各周波数成分fnのそれぞれに対応する信号対雑音比SNRnを算出する。この低減処理部250は、例えば、以下の演算式に従って、信号対雑音比SNRnを算出する。
<信号対雑音比SNRnの演算式>
信号対雑音比SNRn=周波数スペクトルS1の周波数成分An
/初期推定ノイズNSiの周波数スペクトルの周波数成分NSin
【0113】
(ステップST302)
そして、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1以下であるか否かを、周波数成分nごとに判定する。
(ステップST303)
各信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1以下である場合、ノイズ推定判定部252は、各信号対雑音比SNRnの重み係数γn=1と決定する。
【0114】
(ステップST304)
一方、信号対雑音比SNRnが、信号対雑音比判定閾値βの下限閾値β1より大きい場合、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。つまり、ステップST302において、重み係数γn=1と決定されなかった周波数成分fnについて、ノイズ推定判定部252は、さらに、信号対雑音比SNRnが信号対雑音比判定閾値βの上限閾値β2未満であるか否かを判定する。
(ステップST305)
信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2未満である場合、ノイズ推定判定部252は、重み係数γn={1/(β1−β2)}×信号対雑音比SNRnと決定する。
【0115】
(ステップST306)
そして、信号対雑音比SNRnが、信号対雑音比判定閾値βの上限閾値β2以上である場合、ノイズ推定判定部252は、重み係数γn=0と決定する。
これにより、重み係数γ1〜γ8は、ノイズ推定判定部252によって、1〜0の範囲の一の値と決定される。
【0116】
(ステップST307)
次いで、ノイズ推定判定部252は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSinと、第1周波数スペクトルCである周波数スペクトルS5の周波数成分Cnとに基づき、スペクトル比SRnを算出する。この低減処理部250は、以下の演算式に従って、スペクトル比SRnを算出する。
<スペクトル比SRnの演算式>
スペクトル比SRn=周波数スペクトルS5の周波数成分Cn
/初期推定ノイズNSiの周波数スペクトルの周波数成分NSin
【0117】
(ステップST308)
そして、ノイズ推定判定部252は、算出したスペクトル比SRnが、スペクトル比判定閾値δの下限閾値δ1未満であるか否かを判定する。
(ステップST309)
スペクトル比SRnがスペクトル比判定閾値δの下限閾値δ1未満である場合、ノイズ推定判定部252は、重み係数εn=0と決定する。
【0118】
(ステップST310)
一方、信号対雑音比SNRnがスペクトル比判定閾値δの下限閾値δ1以上である場合、ノイズ推定判定部252は、算出した信号対雑音比SNRnが、1未満であるか否かを判定する。
(ステップST311)
信号対雑音比SNRnが1未満である場合、ノイズ推定判定部252は、重み係数εn=SR/δ1+1と決定する。
【0119】
(ステップST312)
さらに、ノイズ推定判定部252は、算出したスペクトル比SRn=1であるか否かを判定する。
(ステップST313)
スペクトル比SRn=1である場合、ノイズ推定判定部252は、重み係数εn=1と決定する。
【0120】
(ステップST314)
そして、ノイズ推定判定部252は、算出したスペクトル比SRnが、スペクトル比判定閾値δの上限閾値δ2以下であるか否かを判定する。
(ステップST315)
スペクトル比SRがスペクトル比判定閾値δの上限閾値δ2以下である場合、ノイズ推定判定部252は、重み係数εn=−SR/δ2+1と決定する。
【0121】
(ステップST316)
一方、スペクトル比SRnがスペクトル比判定閾値δの上限閾値δ2より大きい場合、ノイズ推定判定部252は、重み係数εn=0と決定する。
これにより、重み係数ε1〜ε8は、ノイズ推定判定部252によって、1〜0の範囲の一の値と決定される。
【0122】
次いで、図19を参照して、図18の続きのフローについて説明する。
(ステップST317)
図19に示す通り、ノイズ推定部253は、ノイズ推定判定部252によって決定された重み係数γnと重み係数εnとの積を算出し、この重み係数の積を、対応する周波数成分fnの初期推定ノイズNSinに乗算する。
(ステップST318)
そして、ノイズ推定部253は、重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)より大きいか否かを判定する。
(ステップST319)
重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)より大きい場合、この重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)を、当該周波数成分fnに対応する推定ノイズNSの周波数成分NSnと決定する。
【0123】
(ステップST320)
一方、重み係数の積と初期推定ノイズNSinとの積(重み係数γn×重み係数εn×初期推定ノイズNSiの周波数成分NSin)が0(ゼロ)以下である場合、ノイズ推定部253は、初期推定ノイズNSiの周波数スペクトルの周波数成分NSinのうち、当該周波数成分fnに対応する周波数成分NSinを、推定ノイズNSの周波数成分NSnと決定する。
(ステップST321)
ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定したか否かを判定する。
ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定するまで、ステップST217〜320を繰り返す。
(ステップST322)
そして、ノイズ推定判定部252は、全ての推定ノイズNSの周波数成分NSnを決定した場合、これら周波数成分NSnを組み合わせて推定ノイズNSを決定する。
【0124】
なお、ノイズ低減処理部254は、ノイズ推定部253によって決定された推定ノイズNSの推定精度に応じて、減算係数を変更するものであってもよい。
重み係数γおよび重み係数εが大きければ、ノイズ推定精度が高い可能性が高い。一方、重み係数γおよび重み係数εが小さければ、ノイズ推定精度が低い可能性が高い。
このため、ノイズ低減処理部254は、ノイズ推定判定部252によって決定された重み係数γおよび重み係数εが、予め決められた閾値(例えば、0.7)以上であるか否かを判定する。この閾値以上であった場合、ノイズ推定判定部252によるノイズ推定精度が高いと判定する。そして、ノイズ低減処理部254は、ノイズ低減処理を実行する際に設定される減算係数を標準値よりも大きく設定する。これにより、ノイズ除去性能を高めることができる。
一方、ノイズ低減処理部254は、ノイズ推定判定部252によって決定された重み係数γおよび重み係数εが、予め決められた閾値(例えば、0.3)以下であるか否かを判定する。この閾値以下であった場合、ノイズ推定判定部252によるノイズ推定精度が低いと判定する。そして、ノイズ低減処理部254は、ノイズ低減処理を実行する際に設定される減算係数を標準値よりも小さく設定する。これにより、目的音の音質の劣化を防止することができる。
【0125】
[第3実施形態]
本発明に係る低減処理部250は、図20に示すような低減処理部250´を備える構成であってもよい。図20は、本実施形態に係る低減処理部250´の構成の一例について示す図である。
図20に示す通り、低減処理部250´は、音信号処理部251と、ノイズ推定判定部252と、ノイズ推定部253と、ノイズ低減処理部254と、逆フーリエ変換部255と、衝撃音ノイズ低減処理部256とを備える。なお、上述の低減処理部250と同様の構成のついては、同一の符号を付して詳細な説明については省略する。本実施形態に係る低減処理部250´は、上述の低減処理部250と比較して、衝撃音ノイズ低減処理部256を備える点が異なる。
【0126】
音信号処理部251は、例えば、周波数スペクトルS1〜S14を算出し、衝撃音発生期間Tbに対応する周波数スペクトルの周波数成分の総和と、予め決められた閾値とを比較する。この予め決められた閾値とは、衝撃音に対して目的音が大きいため衝撃音による音声劣化が少ないとされる目的音の周波数スペクトルの周波数成分の総和である。
衝撃音発生期間Tbに対応する周波数スペクトルの周波数成分の総和が、予め決められた閾値未満であると判定した場合、駆動音ノイズ低減処理部256は、算出した周波数スペクトルS1〜S14を衝撃音ノイズ低減処理部252に出力して、衝撃音ノイズ低減処理を実行するよう制御する。
一方、衝撃音発生期間に対応する周波数スペクトルの周波数成分の総和が、予め決められた閾値以上であると判定した場合、音信号処理部251は、算出した周波数スペクトルS1〜S14を駆動音ノイズ低減処理部253に出力して、駆動音ノイズ低減処理を実行するよう制御する。
【0127】
衝撃音ノイズ低減処理部252は、タイミング検出部191から入力するタイミング信号に基づき、例えば、音信号処理部251から出力される周波数スペクトルS1〜S14から、衝撃音が発生している可能性の高い衝撃音発生期間Tbに対応する周波数スペクトル(以下、第11周波数スペクトルという)を取得する。例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を、第11周波数スペクトルとして取得する。衝撃音ノイズ低減処理部252は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性の高い衝撃音発生期間Tbに対応する周波数スペクトルS9〜S12を、第11周波数スペクトルとして取得する。
【0128】
また、衝撃音ノイズ低減処理部256は、タイミング検出部191から入力するタイミング信号に基づき、音信号処理部251から出力される周波数スペクトルS1〜S14から、少なくとも衝撃音が発生していない可能性の高い期間(非動作期間Taあるいは駆動音発生期間Tc)に対応する周波数スペクトル(以下、第12周波数スペクトルという)を取得する。この衝撃音ノイズ低減処理部256は、衝撃音を含んでいる可能性の高い第11周波数スペクトルごとに、この衝撃音を含む可能性の低い第12周波数スペクトルを取得する。本実施形態において、衝撃音ノイズ低減処理部256は、第11周波数スペクトルと時間軸方向において最も近い衝撃音を含む可能性の低い周波数スペクトルを第12周波数スペクトルとして取得する。つまり、衝撃音ノイズ低減処理部256は、第11周波数スペクトルと時間軸方向に隣接あるいは重複する周波数スペクトルを第12周波数スペクトルとして取得する。
【0129】
なお、本実施形態において、第12周波数スペクトルは、衝撃音が発生していない可能性の高い期間に対応する周波数スペクトルである。しかし、本発明はこれに限られず、第2周波数スペクトルは、動作部の動作によって発生するノイズ音(駆動音および衝撃音)が発生しない可能性の高い期間(非動作期間Ta)に対応する周波数スペクトルであることが好ましい。
【0130】
ここで、図21を参照して、衝撃音ノイズ低減処理部256が取得する第11周波数スペクトルと第12周波数スペクトルとの関係の一例について説明する。図21は、衝撃音ノイズ低減処理部256が取得する第11周波数スペクトルと第12周波数スペクトルの一例を説明するための図である。
例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS2、S3に対応する第12周波数スペクトルとして、周波数スペクトルS2、3の時間軸の過去方向に最も近い周波数スペクトルS1を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS4に対応する第12周波数スペクトルとして、周波数スペクトルS4の時間軸の未来方向に最も近い周波数スペクトルS5を取得する。
【0131】
また、衝撃音ノイズ低減処理部256は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS9、S10に対応する第12周波数スペクトルとして、周波数スペクトルS9、10の時間軸の過去方向に最も近い周波数スペクトルS8を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS11、12に対応する第12周波数スペクトルとして、周波数スペクトルS11、12の時間軸の未来方向に最も近い周波数スペクトルS13を取得する。
【0132】
さらに、衝撃音ノイズ低減処理部256は、第11周波数スペクトルの少なくとも一部を第12周波数スペクトルの対応する部分に置き換える。
例えば、衝撃音ノイズ低減処理部256は、第11周波数スペクトルのうち予め決められた閾値周波数以上の周波数スペクトルと、第12周波数スペクトルのうち予め決められた閾値周波数以上の周波数スペクトルとを、周波数成分ごとに比較して、第12周波数スペクトルの方が第11周波数スペクトルに比べて小さいと判定した場合に、第11周波数スペクトルにおける当該周波数成分を第12周波数スペクトルの周波数成分に置き換える。
【0133】
図22を参照して詳細に説明する。図22は、一部の周波数スペクトルの周波数成分の一例について説明するための図である。なお、本実施の形態では、説明便宜のため、図3に示すマイク音信号のうち、窓関数W1,W3,W5,W7,W11,W13に対応する周波数スペクトルS1,S3,S5,S7,S11,S13について説明する。
図22に示す通り、周波数スペクトルS1,S3,S5,S7,S11,S13は、それぞれ、周波数成分f1〜f9の周波数成分を含む。
例えば、衝撃音ノイズ低減処理部256は、各周波数スペクトルの閾値周波数以上の周波数成分として、周波数成分f3〜f9について、第11周波数スペクトルと第12周波数スペクトルを比較することが予め決められている。よって、衝撃音ノイズ低減処理部256は、周波数成分f1,f2については、第11周波数スペクトルと第12周波数スペクトルを比較しない。
【0134】
ここで、図23を参照して、周波数スペクトルS1とS3について、衝撃音ノイズ低減処理部256による衝撃音ノイズ低減処理の一例について説明する。
図23は、周波数スペクトルS1とS3の周波数成分ごとに、振幅の比較について説明するための図である。
例えば、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f3の振幅と、周波数スペクトルS3の周波数成分f3の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f3の振幅の方が、周波数スペクトルS3の周波数成分f3の振幅に比べて小さい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換える。
また、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f4の振幅と、周波数スペクトルS3の周波数成分f4の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f4の振幅の方が、周波数スペクトルS3の周波数成分f4の振幅に比べて大きい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換えない。
このようにして、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分の振幅の方が、周波数スペクトルS3の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS3の周波数成分を周波数スペクトルS1の周波数成分に置き換える。
図23に示す場合、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3、f6〜f9を周波数スペクトルS1の周波数成分f3、f6〜f9に置き換える。
【0135】
次に、図24を参照して、本実施形態に係るノイズ低減処理方法の一例について説明する。図24は、本実施形態に係るノイズ低減処理方法の一例を示すフローチャートである。
例えば、操作部180の電源スイッチがONされると、撮像装置100に電源が投入され、電池260から各構成部に対して電力が供給される。本実施形態では、撮像装置100に対して、撮像時の画像データと音声データを対応付けて記憶媒体200に記憶させることが予め設定されている。
【0136】
(ステップST401)
マイク230は、例えば、電源がONされると、収音されたマイク音信号をA/D変換部240に出力する。A/D変換部240は、アナログ信号であるマイク音信号をデジタル変換したマイク音信号を低減処理部250´に出力する。
低減処理部250´は、A/D変換部240からマイク音信号を入力する。
【0137】
ここで、ユーザによって、操作部180のレリーズボタンが押下された場合、CPU190は、AF処理において、例えば焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号をレンズ駆動部116とタイミング検出部191に出力する。
このレンズ駆動部116は、入力する駆動制御信号に基づき、焦点距離Pでピントを合わせる駆動パターンに従って、AFレンズ112を移動させる。例えば、レンズ駆動部116は、AFレンズ112の駆動機構を時計回りに所定量回転させて、AFレンズ112を移動させる。なお、この駆動機構を回転させる回転量やスピードは、焦点距離Pでピントを合わせる駆動パターンとして、予め決められている。
AFレンズ112が動くと、AFエンコーダ117は、パルス信号をCPU190のタイミング検出部191に出力する。動いていたAFレンズ112が停止すると、AFエンコーダ117は、パルス信号出力を停止する。
【0138】
タイミング検出部191は、入力する駆動制御信号やAFエンコーダ117のパスル信号に基づき、焦点距離Pでピントを合わせる駆動パターンに従って、動作タイミング信号を生成し、低減処理部250´に出力する。
例えば、焦点距離Pでピントを合わせるAF処理を実行するための駆動制御信号を入力した場合、タイミング検出部191は、AFレンズ112の動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作開始タイミング信号を生成し、低減処理部250´に出力する。
そして、AFエンコーダ117から入力するパルス信号が停止された場合、タイミング検出部191は、AFレンズ112の動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作停止タイミング信号を生成し、低減処理部250´に出力する。
【0139】
(ステップST402)
低減処理部250´は、タイミング検出部191から動作タイミング信号が入力されたか否かを判定する。
(ステップST403)
動作タイミング信号が入力された場合、低減処理部250´の音信号処理部251は、A/D変換部240から出力されたマイク音信号に対して、予め決められた区間ごとに窓関数で重み付けするとともに、この区間毎のマイク音信号を周波数領域で表わされる周波数スペクトルに変換する。音信号処理部251は、例えば、窓関数で重み付けされた音信号をフーリエ変換して、周波数スペクトルS1〜S14を算出する。
【0140】
(ステップST404)
そして、ノイズ推定判定部252は、ノイズ推定条件(1)および(2)を満たすか否かを判定するノイズ推定判定処理を実行する。
(ステップST405)
ノイズ推定部253は、ノイズ推定判定部252によるノイズ推定判定結果に基づき、推定ノイズNSを決定する。
(ステップST406)
そして、ノイズ推定部253は、決定した推定ノイズNSを記憶部160に格納するとともに、ノイズ低減処理部254に出力する。
なお、ノイズ推定判定処理と、ノイズ推定処理については、上述の第1、2実施形態において説明した方法を利用することができるため、詳細な説明については省略する。
【0141】
(ステップST407)
一方、音信号処理部251は、動作タイミング信号に基づき、衝撃音発生期間に対応する周波数スペクトルの周波数成分の総和と、予め決められた閾値とを比較する。
例えば、音信号処理部251は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を取得する。そして、音信号処理部251は、周波数スペクトルS2〜S4ごとに、周波数成分の総和が予め決められた閾値未満であるか否かを判定する。また、音信号処理部251は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS9〜S12を取得する。そして、音信号処理部251は、周波数スペクトルS9〜S12ごとに、周波数成分の総和が予め決められた閾値未満であるか否かを判定する。
【0142】
そして、音信号処理部251は、周波数成分の総和が予め決められた閾値未満であった周波数スペクトルを衝撃音ノイズ低減処理部256に出力するとともに、この周波数スペクトルに対して衝撃音ノイズ低減処理を実行するよう衝撃音ノイズ低減処理部256を制御する。
【0143】
(ステップST408)
次いで、衝撃音ノイズ低減処理部256は、音信号処理部251から衝撃音ノイズ低減処理を実行する制御に基づき、A/D変換部240から入力するマイク音信号に対して衝撃音ノイズ低減処理を実行する。
例えば、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS2〜S4を、第11周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS2、S3に対応する第12周波数スペクトルとして、周波数スペクトルS2、3の直前の周波数スペクトルS1を取得する。また、衝撃音ノイズ低減処理部256は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミング信号に基づき、第1周波数スペクトルである周波数スペクトルS4に対応する第12周波数スペクトルとして、周波数スペクトルS4の直後の周波数スペクトルS5を取得する。
【0144】
また、衝撃音ノイズ低減処理部256は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、衝撃音が発生している可能性のある期間に対応する周波数スペクトルS9〜S12を、第11周波数スペクトルとして取得する。
そして、衝撃音ノイズ低減処理部252は、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS9、S10に対応する第2周波数スペクトルとして、周波数スペクトルS9、10の直前の周波数スペクトルS8を取得する。また、衝撃音ノイズ低減処理部252は、動作開始タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、第11周波数スペクトルである周波数スペクトルS11、12に対応する第12周波数スペクトルとして、周波数スペクトルS11、12の直後の周波数スペクトルS13を取得する。
【0145】
次いで、衝撃音ノイズ低減処理部256は、各周波数スペクトルの閾値周波数以上の周波数成分として、周波数成分f3〜f9について、第11周波数スペクトルと第12周波数スペクトルを比較する。
例えば、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f3の振幅と、周波数スペクトルS2の周波数成分f3の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f3の振幅の方が、周波数スペクトルS2の周波数成分f3の振幅に比べて小さい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換える。
また、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分f4の振幅と、周波数スペクトルS2の周波数成分f4の振幅とを比較する。この場合、周波数スペクトルS1の周波数成分f4の振幅の方が、周波数スペクトルS2の周波数成分f4の振幅に比べて大きい。よって、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3を、周波数スペクトルS1の周波数成分f3に置き換えない。
このようにして、衝撃音ノイズ低減処理部256は、周波数スペクトルS1の周波数成分の振幅の方が、周波数スペクトルS3の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS3の周波数成分を周波数スペクトルS1の周波数成分に置き換える。
そして、衝撃音ノイズ低減処理部256は、周波数スペクトルS3の周波数成分f3、f6〜f9を、周波数成分を周波数スペクトルS1の周波数成分f3、f6〜f9と置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´3をノイズ低減処理部254に出力する。
【0146】
衝撃音ノイズ低減処理部256は、同様にして、第11周波数スペクトルである周波数スペクトルS2と第12周波数スペクトルS1との比較と、第11周波数スペクトルである周波数スペクトルS4と第12周波数スペクトルS5との比較を行う。そして、第12周波数スペクトルS1、S5の周波数成分の振幅の方が、それぞれ、周波数スペクトルS2、S4の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS2、S4の周波数成分をそれぞれ周波数スペクトルS1、S5の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´4をノイズ低減処理部254に出力する。
【0147】
また、衝撃音ノイズ低減処理部256は、同様にして、第11周波数スペクトルである周波数スペクトルS9、S10と第12周波数スペクトルS8との比較、および第11周波数スペクトルである周波数スペクトルS11、S12と第12周波数スペクトルS13との比較を行う。そして、第12周波数スペクトルS8の周波数成分の振幅の方が、それぞれ、周波数スペクトルS9、S10の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS9、S10の周波数成分をそれぞれ周波数スペクトルS8の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´9、S´10をノイズ低減処理部254に出力する。同様にして、第12周波数スペクトルS13の周波数成分の振幅の方が、それぞれ、周波数スペクトルS11、S12の周波数成分の振幅に比べて小さい場合のみ、周波数スペクトルS11、S12の周波数成分をそれぞれ周波数スペクトルS13の周波数成分に置き換えて、衝撃音ノイズ低減処理後の周波数スペクトルS´11、S´12をノイズ低減処理部254に出力する。
【0148】
(ステップST409)
次いで、ノイズ低減処理部254は、音信号処理部251から入力するマイク音信号の周波数スペクトルと、衝撃音ノイズ低減処理部256から入力する衝撃音ノイズ低減処理後の周波数スペクトルに基づき、駆動音ノイズ低減処理を実行する。例えば、ノイズ低減処理部254は、動作開始タイミングt10に対応する衝撃音発生期間t10〜t11を示す動作タイミングと、動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作タイミング信号に基づき、駆動音が発生している可能性のある期間に対応する周波数スペクトルS2〜S12を、第13周波数スペクトルとして取得する。
このノイズ低減処理部254は、取得した第3周波数スペクトルS2〜S12のうち、衝撃音ノイズ低減処理後の周波数スペクトルに対応する周波数スペクトルをS2〜S4、S9〜S12を、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´3、S´4、S´9、S´10、S´11、S´12に置き換える。そして、ノイズ低減処理部254は、衝撃音ノイズ低減処理後の周波数スペクトルS´2、S´3、S´4、S´9、S´10、S´11、S´12と、周波数スペクトルS5〜S7に対して、決定した推定ノイズNSに基づき駆動音ノイズ低減処理を実行する。つまり、ノイズ低減処理部254は、記憶部160に格納されている推定ノイズNSを読み出し、推定ノイズNSの周波数スペクトルを、衝撃音ノイズ低減処理後の第13周波数スペクトルS´2〜S´4、S5〜7、S´9〜S´12の周波数成分からそれぞれ減算する。ノイズ低減処理部254は、この駆動音ノイズ低減処理後の周波数スペクトルを逆フーリエ変換部254に出力する。
【0149】
(ステップST410)
逆フーリエ変換部255は、ノイズ低減処理部254から入力された駆動音ノイズ低減処理後の周波数スペクトルに対して、例えば逆フーリエ変換を行うことで、時間領域に変換する。この逆フーリエ変換部255は、時間領域に変換された音信号を記憶媒体200に記憶させる。
【0150】
以上説明したように、本実施形態に係る撮像装置100は、タイミング信号検出部191によって動作部の動作状態が変化するタイミングを検出するとともに、このタイミング信号に基づき、衝撃音が重畳している可能性のあるマイク音信号の周波数スペクトルの一部を、衝撃音が重畳していない可能性のあるマイク音信号の周波数スペクトルの一部と置き換える衝撃音ノイズ低減処理を実行する。これにより、周波数スペクトルの帯域が広い衝撃音であっても、目的音の不連続性が目立たず、かつ、衝撃音を低減した音信号を取得することができる。
【0151】
なお、第1実施形態において、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルから、非動作期間Taに対応する周波数スペクトルのうち動作開始タイミングと時間軸方向に最も近い周波数スペクトルS1を第2周波数スペクトルAとして取得する。また、ノイズ推定判定部252は、駆動音発生期間Tcに対応周波数スペクトルのうち、動作開始タイミングと時間軸方向に最も近い周波数スペクトルS5を第1周波数スペクトルCとして取得する。このように説明した。
しかし、本発明はこれに限られず、例えば、タイミング検出部191は、入力するAFエンコーダ117出力から求めた出力レベルがハイレベルからローレベルに変化した場合、AFレンズ112の動作停止タイミングt20に対応する衝撃音発生期間t20〜t21を示す動作停止タイミング信号を生成し、低減処理部250に出力する構成であってもよい。この場合、ノイズ推定判定部252は、音信号処理部251から出力される周波数スペクトルから、非動作期間Taに対応する周波数スペクトルのうち、動作停止タイミングと時間軸方向において最も近い周波数スペクトルS13を第2周波数スペクトルAとして取得する。また、ノイズ推定判定部252は、駆動音発生期間Tcに対応する周波数スペクトルのうち、動作停止タイミングと時間軸方向に最も近い周波数スペクトルS8を第1周波数スペクトルCとして取得する。
【0152】
また、タイミング信号検出部191又は低減処理部250等による手順を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、実行処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものであってもよい。
【0153】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0154】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0155】
100…撮像装置、110…撮像部、190…CPU、191…検出部、170…通信部、200…記憶媒体、230…マイク、240…A/D変換部、250…ノイズ低減処理部、251…音信号処理部、252…ノイズ推定判定部、253…ノイズ推定部、254…ノイズ低減処理部、255…逆フーリエ変換部
【特許請求の範囲】
【請求項1】
予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、
音信号を取得する音信号取得部と、
前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、
前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、
前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、
を備えることを特徴とするノイズ低減処理装置。
【請求項2】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、前記動作部が動作する可能性の高い期間に取得される前記駆動音以外の音が前記ノイズ推定条件を満たすか否かを前記第2周波数スペクトルに基づき判定することを特徴とする請求項1に記載のノイズ低減処理装置。
【請求項3】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズに基づく許容範囲と前記第1周波数スペクトルとを比較して、前記動作部が動作する可能性の高い期間に取得される前記駆動音が前記ノイズ推定条件を満たすか否かを判定することを特徴とする請求項1あるいは2に記載のノイズ低減処理装置。
【請求項4】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値と前記第2周波数スペクトルとを比較して、前記第2周波数スペクトルが前記静環境閾値未満である場合、前記ノイズ推定条件を満たすと判定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって前記ノイズ推定条件を満たすと判定された場合、当該第2周波数スペクトルの音信号が取得された期間と時間軸方向に最も近い前記第1周波数スペクトルを前記推定ノイズと決定することを特徴とする請求項1から3のうちいずれか一項に記載のノイズ低減処理装置。
【請求項5】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズの周波数スペクトルを含み当該初期推定ノイズの周波数スペクトルから予め決められた許容範囲を示す閾値と前記第1周波数スペクトルとを比較して、前記第1周波数スペクトルが前記初期推定ノイズの許容範囲内である場合、前記ノイズ推定条件を満たすと判定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって前記推定ノイズ算出環境状態の条件を満たすと判定された場合、当該第1周波数スペクトルを前記推定ノイズと決定することを特徴とする請求項1から4のうちいずれか一項に記載のノイズ低減処理装置。
【請求項6】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズと前記第2周波数スペクトルとの比である信号対雑音比を算出し、当該信号対雑音比に応じて予め決められている第1重み係数を決定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって決定された前記第1重み係数を前記初期推定ノイズに乗算した値を前記推定ノイズと決定することを特徴とする請求項1から3のうちいずれか一項に記載のノイズ低減処理装置。
【請求項7】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズの周波数スペクトルと前記第1周波数スペクトルとの比であるスペクトル比を算出し、当該スペクトル比に応じて予め決められている第2重み係数を決定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって決定された前記第2重み係数を前記初期推定ノイズに乗算した値を前記推定ノイズと決定することを特徴とする請求項1から4のうちいずれか一項に記載のノイズ低減処理装置。
【請求項8】
請求項1から7のうちいずれか一項に記載のノイズ低減処理装置を備えることを特徴とする撮像装置。
【請求項9】
コンピュータを、
予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出手段、
音信号を取得する音信号取得手段、
前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定手段、
前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定手段、
前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理手段、
として機能させるためのノイズ低減処理プログラム。
【請求項1】
予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出部と、
音信号を取得する音信号取得部と、
前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定部と、
前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定部と、
前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理部と、
を備えることを特徴とするノイズ低減処理装置。
【請求項2】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、前記動作部が動作する可能性の高い期間に取得される前記駆動音以外の音が前記ノイズ推定条件を満たすか否かを前記第2周波数スペクトルに基づき判定することを特徴とする請求項1に記載のノイズ低減処理装置。
【請求項3】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズに基づく許容範囲と前記第1周波数スペクトルとを比較して、前記動作部が動作する可能性の高い期間に取得される前記駆動音が前記ノイズ推定条件を満たすか否かを判定することを特徴とする請求項1あるいは2に記載のノイズ低減処理装置。
【請求項4】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、静かな状態であるときの環境音として予め決められている音レベルを示す静環境閾値と前記第2周波数スペクトルとを比較して、前記第2周波数スペクトルが前記静環境閾値未満である場合、前記ノイズ推定条件を満たすと判定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって前記ノイズ推定条件を満たすと判定された場合、当該第2周波数スペクトルの音信号が取得された期間と時間軸方向に最も近い前記第1周波数スペクトルを前記推定ノイズと決定することを特徴とする請求項1から3のうちいずれか一項に記載のノイズ低減処理装置。
【請求項5】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズの周波数スペクトルを含み当該初期推定ノイズの周波数スペクトルから予め決められた許容範囲を示す閾値と前記第1周波数スペクトルとを比較して、前記第1周波数スペクトルが前記初期推定ノイズの許容範囲内である場合、前記ノイズ推定条件を満たすと判定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって前記推定ノイズ算出環境状態の条件を満たすと判定された場合、当該第1周波数スペクトルを前記推定ノイズと決定することを特徴とする請求項1から4のうちいずれか一項に記載のノイズ低減処理装置。
【請求項6】
前記ノイズ推定判定部は、
前記動作タイミング信号に基づき、前記動作部が動作しない可能性の高い期間に取得される音信号の第2周波数スペクトルを前記音信号から取得し、前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズと前記第2周波数スペクトルとの比である信号対雑音比を算出し、当該信号対雑音比に応じて予め決められている第1重み係数を決定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって決定された前記第1重み係数を前記初期推定ノイズに乗算した値を前記推定ノイズと決定することを特徴とする請求項1から3のうちいずれか一項に記載のノイズ低減処理装置。
【請求項7】
前記ノイズ推定判定部は、
前記動作パターンに応じた前記駆動音の推定ノイズとして予め決められている初期推定ノイズの周波数スペクトルと前記第1周波数スペクトルとの比であるスペクトル比を算出し、当該スペクトル比に応じて予め決められている第2重み係数を決定し、
前記ノイズ推定部は、
前記推定ノイズ算出判定処理部によって決定された前記第2重み係数を前記初期推定ノイズに乗算した値を前記推定ノイズと決定することを特徴とする請求項1から4のうちいずれか一項に記載のノイズ低減処理装置。
【請求項8】
請求項1から7のうちいずれか一項に記載のノイズ低減処理装置を備えることを特徴とする撮像装置。
【請求項9】
コンピュータを、
予め決められた動作パターンに応じて動作部を動作させるタイミングを示す動作タイミング信号を検出するタイミング信号検出手段、
音信号を取得する音信号取得手段、
前記動作タイミング信号に基づき、前記動作部が動作する可能性の高い期間に取得された音信号の第1周波数スペクトルを得て、前記第1周波数スペクトルの音信号が、前記動作パターンに応じて予め決められているノイズ推定を実行するためのノイズ推定条件を満たすか否かを判定するノイズ推定判定手段、
前記推定ノイズ算出判定処理部による判定結果に従って、前記第1周波数スペクトルに基づき、前記動作部の動作によって発生する駆動音を示す推定ノイズを決定するノイズ推定手段、
前記第1周波数スペクトルから前記推定ノイズの周波数スペクトルを減算するスペクトル減算を行うノイズ低減処理手段、
として機能させるためのノイズ低減処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2012−249108(P2012−249108A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−119759(P2011−119759)
【出願日】平成23年5月27日(2011.5.27)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願日】平成23年5月27日(2011.5.27)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]