(57)【要約】【課題】音声出力段のハードウエア構成に依存せずに周囲騒音に応じた出力音声のゲイン調整を行う「音声出力装置」を提供する。【解決手段】音声出力アプリケーション２の出力制御部２１は、音声データＤを時間長Ｔｓ毎に分割した各分割音声データについて、順次、時間長Ｔｓの時間区間毎に、ゲイン調整部２２を用いて分割音声データに現時点における周囲騒音の音量レベルに応じたゲイン調整を施した音声データＰＤを生成すると共に、ＰＤのアドレスとサイズを指定したＨＤＲを通知することにより、生成した音声データが表す音声の出力をサウンドドライバ（出力）１１に要求する処理を行う。サウンドドライバ（出力）１１は、通知されたＨＤＲによって指定される各音声データが表す音声を、順次、サウンド出力装置５を介してスピーカ６から出力する。【選択図】図１
2008003562.tif 000002
【特許請求の範囲】
【請求項１】
音声を出力する音声出力装置であって、
メモリと、
発行された音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を出力する音声出力部と、
周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記音声出力部に発行する音声出力処理手段とを有することを特徴とする音声出力装置。
【請求項２】
請求項１記載の音声出力装置であって、
周囲の音声を表す周囲音声データを出力する音声入力手段を備え、
前記騒音レベル検出手段は、
少なくとも前記音声出力要求が発行されるまで、常時、前記音声入力手段から出力された、直近過去の前記所定時間長分の周囲音声データを保持する周囲騒音保持手段と、
前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間に前記音声入力手段から出力された周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とを有し、
前記音声出力処理手段は、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項３】
マイクロフォンと、
前記マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、
メモリと、
音声を出力するサウンド出力装置と、
発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバと、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段とを有することを特徴とする音声出力装置。
【請求項４】
請求項３記載の音声出力装置であって、
前記騒音レベル検出手段は、
少なくとも前記音声出力要求が発行されるまで、常時、前記サウンド入力装置から出力された、直近過去の前記所定時間長分の周囲音声データを保持する周囲騒音保持手段と、
前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間に前記サウンド入力装置から出力された周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とを有し、
前記音声出力処理手段は、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項５】
請求項１、２、３または４記載の音声出力装置であって、
前記騒音レベル検出手段は、周波数帯域毎に、周囲騒音の音量レベルを検出し、
前記音声出力処理手段は、前記対象分割音声データが表す音声を、周波数帯域毎に、当該時点において前記騒音レベル検出手段が検出している周囲騒音の各周波数帯域の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項６】
請求項１、２、３、４または５記載の音声出力装置であって、
当該音声出力装置は、自動車に搭載されるものであることを特徴とする音声出力装置。
【請求項７】
マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバとを備えたコンピュータに読み取られ実行されるコンピュータプログラムであって、
前記コンピュータを、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段として機能させることを特徴とするコンピュータプログラム。
【請求項８】
マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバとを備えたコンピュータにおいて、前記サウンド出力装置から出力する音声のゲインを調整するゲイン調整方法であって、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出するステップと、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行するステップとを有することを特徴とするゲイン調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周囲騒音の変化に応じて、出力する音声のゲインを、ユーザの音声に対する聴感が良好に維持されるように動的に変化させる音声出力装置に関するものである。
【背景技術】
【０００２】
周囲騒音の変化に応じて、出力する音声の周波数ゲイン特性を、ユーザの音声に対する聴感が良好に維持されるように動的に変化させる音声出力装置としては、周囲騒音に応じて、出力する音声のゲイン特性を調整する装置が知られている（たとえば、特許文献１）。
【特許文献１】特開2004-23481号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述したような音声出力装置における周囲騒音に応じた出力音声のゲイン特性の調整は、音声を出力しつつ、当該出力する音声に対して、リアルタイムに周囲騒音に応じたゲイン調整を行うことにより行われている。
ここで、このように音声を出力しつつリアルタイムなゲイン調整を行うためには、音声の出力段において、当該ゲイン調整をハードウエアまたはソフトウエアによって行う必要がある。しかしながら、周囲騒音に応じたゲイン調整を行う特段の素子や回路を備えていない装置では、当該ゲイン調整をハードウエアによって行うことはできない。一方で、ソフトウエアによって当該ゲイン調整を実現するためには、音声出力段のハードウエアの種類毎に、当該ハードウエアの構成に応じた処理によって周囲騒音に応じたゲイン調整を行うソフトウエアを用意する必要が生じる。
【０００４】
そこで、本発明は、周囲騒音に応じた出力音声のゲイン調整を、音声出力段のハードウエア構成にかかわらず実現できる音声出力装置の構成を提供することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題達成のために、本発明は、音声を出力する音声出力装置を、メモリと、発行された音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を出力する音声出力部と、周囲騒音の音量レベルを検出する騒音レベル検出手段と、出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記音声出力部に発行する音声出力処理手段とを備えて構成したものである。
【０００６】
このような音声出力装置によれば、音声出力処理手段によって、音声を出力する音声出力部に供給する音声データ自体を、周囲騒音に応じたゲイン調整が施されたものとしているので、音声出力部の構成に関わらずに、周囲騒音に応じた出力音声のゲイン調整を実現することができる。
【０００７】
ここで、このように、音声を出力する音声出力部に供給する音声データ自体を、周囲騒音に応じたゲイン調整を施したものとした場合、音声データにゲイン調整を施した時点と、当該音声データが表す音声が出力される時点との間に生じる時間差が問題となる。出力される音声に施されたゲイン調整において考慮された周囲騒音が、当該時間差分過去のものとなってしまうからである。
【０００８】
しかしながら、本音声出力装置によれば、音声出力処理手段において、音声データのゲイン調整と音声データの音声出力部への供給を、出力すべき音声を表す音声データである対象音声データを分割した分割音声データを単位として行うことができるので、このような時間差を短縮化して、ほぼ現在の周囲騒音の状況に応じたゲイン調整が施された音声を出力することができるようになる。なお、近接する時間の周囲騒音は近似していると考えられるので、このように分割音声データ単位にゲイン調整を施した音声は、分割音声データが表す音声の時間長を充分に短くとることにより、実用上、現在の周囲騒音の状況に応じたゲイン調整が施された音声として用いることができる。
【０００９】
ここで、より具体的には、このような音声出力装置は、マイクロフォンと、前記マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバと、前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段とを備えた音声出力装置として構成するようにしてよい。
【００１０】
このように構成した場合には、サウンド出力装置やサウンドドライバによらずに、ほぼ現在の周囲騒音に応じた出力音声のゲイン調整を実現することができる。
ここで、以上の各音声出力装置は、前記騒音レベル検出手段を、少なくとも前記音声出力要求が発行されるまで、常時、直近過去の前記所定時間長分の周囲音声を表す周囲音声データを保持する周囲騒音保持手段と、前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間の周囲音声の音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とより構成し、前記音声出力処理手段において、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成するようにしてもよい。
【００１１】
このようにすることにより、音声出力要求が発行されしだい、即座に、騒音レベル検出手段において、常時保持するようにした直近過去の前記所定時間長分の周囲音声データを用いて、周囲騒音の音量レベルを検出することができる。したがって、音声出力要求の発生直後から、前記音声出力処理手段において、ゲイン調整後音声データの生成格納や音声出力要求の発行を行って、すみやかに音声を出力することができるようになる。
【００１２】
なお、以上の音声出力装置は、前記騒音レベル検出手段において、周波数帯域毎に、周囲騒音の音量レベルを検出し、前記音声出力処理手段において、前記対象分割音声データが表す音声を、周波数帯域毎に、当該時点において前記騒音レベル検出手段が検出している周囲騒音の各周波数帯域の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成するように構成してもよい。
【００１３】
また、以上の当該音声出力装置は、自動車に搭載されるものであってよい。
【発明の効果】
【００１４】
以上のように、本発明によれば、周囲騒音に応じた出力音声のゲイン調整を、音声出力段のハードウエア構成にかかわらず実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る音声出力装置の実施形態について、車載の音声出力装置への適用を例にとり説明する。
まず、第１の実施形態について説明する。
図１に、音声出力装置の構成を示す。
図示するように、本音声出力装置は、オペレーティングシステム１、音声出力アプリケーション２、サウンド入力装置３、マイクロフォン４、サウンド出力装置５、スピーカ６、音声データメモリ７、出力用バッファメモリ８とを備えている。
但し、以上のような音声出力装置は、ハードウエア構成としては、ＣＰＵやメモリや外部記憶装置などを備えた一般的な電子計算機の構成を有している。また、当該電子計算機の音声入出力用のハードウエアとして、以上のサウンド入力装置３やマイクロフォン４やサウンド出力装置５やスピーカ６を備えているものである。そして、前述したオペレーションシステムや音声出力アプリケーション２や音声データメモリ７や出力用バッファメモリ８は、ＣＰＵが予め用意されたプログラムを実行することにより、当該電子計算機上に、プロセスや記憶資源として具現化されるものである。
【００１６】
さて、このような音声出力装置の構成において、オペレーティングシステム１は、サウンドドライバ（入力）１２を含んでいる。そして、サウンドドライバ（入力）１２は、サウンド入力装置３を介して取り込んだ、マイクロフォン４がピックアップした周囲騒音を表す音声データを生成する。
【００１７】
また、オペレーティングシステム１は、サウンド出力装置５を制御して音声をスピーカ６に出力するサウンドドライバ（出力）１１を含んでいる。ここで、サウンドドライバ（出力）１１は、出力する音声の音声データのアドレスとサイズを表すＨＤＲを格納するＨＤＲキューを備えている。そして、サウンドドライバ（出力）１１は、ＨＤＲキューに格納されたＨＤＲを順次取り出し、取り出したＨＤＲが示すアドレスから当該ＨＤＲが示すサイズ分の音声データを読み出し、音声データが表す音声をサウンド出力装置５を介してスピーカ６に出力する処理を行うものである。また、サウンドドライバ（出力）１１は、以上のようにＨＤＲが示す音声データが表す音声の出力を終了したならば、ＨＤＲキューに格納したＨＤＲの発行元に再生終了通知を通知するものである。
【００１８】
そして、音声出力アプリケーション２は、出力制御部２１と、ゲイン調整部２２とを備えている。
以下、このような音声出力アプリケーション２の動作について説明する。
音声出力アプリケーション２の出力制御部２１は、音声データメモリ７に格納されている、スピーカ６から出力すべき音声を表す音声データＤが音声データメモリ７上に発生すると、当該音声データＤを対象として音声出力処理を行う。ここで、音声データＤは、予め音声データメモリ７に格納されている音声データであってもよいし、音声合成処理などにより新たに生成されたものであってもよい。また、音声データＤは、たとえば、ユーザに対してガイダンスを行う音声を表すものであり、この場合、音声データＤが表す音声の時間長は数秒から数十秒となる。
【００１９】
図２に、音声出力アプリケーション２の出力制御部２１が行う音声出力処理の手順を示す。
図示するように、この処理では、まず、サウンドドライバ（出力）１１に対して、デバイス（サウンド出力装置５）の使用開始の宣言や、出力する音声データのフォーマットの宣言などの各種前処理を行う（ステップ２０２）。
そして、次に、音声データＤを分割した音声データ分割数ｎ分の各分割音声データＤ（ｊ）について、ｊの小さいものより、順次、以下の処理を行う（ステップ２０４、２２０、２２８）。ここで、音声データＤの分割は、ｔｓを予め定めた時間長として、各分割音声データＤ（ｊ）が表す音声が、音声データＤが表す音声の内の、ｊ×ｔｓから（ｊ+1）×ｔｓまでの間の期間の音声を表すように行う。但し、音声データＤが表す音声の時間長をＬとし、音声データ分割数ｎはステップ２０４においてＬ≦ｎ×ｔｓを満たす最小の整数として求められ、ｊは、０≦ｊ＜ｎ満たす整数である。
【００２０】
次に、ｊの２を法数とする剰余をｉとして求め（ステップ２０６）、ｊが２未満かどうかを調べ（ステップ２０８）、２未満であれば、ゲイン調整部２２に、分割音声データＤ（ｊ）に現時点における周囲騒音に応じたゲイン調整を施させ、分割音声データＤ（ｊ）にゲイン調整を施した音声データを出力用バッファメモリ８にＰＤ（ｉ）として格納する（ステップ２１４）。ただし、ｊが１である場合には、前回ステップ２１４の実行を開始してから、前記した時間長ｔｓ経過後に、今回のステップ２１４の実行を開始することが好ましい。
【００２１】
そして、ＰＤ（ｉ）のアドレスやサイズの属性をＨＤＲ（ｉ）に設定し（ステップ２１６）、ＨＤＲ（ｉ）をＨＤＲとしてサウンドドライバ（出力）１１に発行し、ＨＤＲキューに格納する（ステップ２１８）。ここで、音声出力アプリケーション２のゲイン調整部２２は、出力制御部２１の要求に応じて、サウンドドライバ（入力）１２から周囲騒音の音声データを取り込み、取り込んだ音声データが表す周囲騒音の音量レベルに応じたゲイン調整を分割音声データＤ（ｊ）に施す。すなわち、分割音声データＤ（ｊ）が表す音声を、周囲騒音の音量レベルに応じた増幅率で増幅した音声を表す音声データを、出力用バッファメモリ８にＰＤ（ｉ）として格納する、分割音声データＤ（ｊ）にゲイン調整を施した音声データとして生成する。なお、このゲイン調整部２２のゲイン調整は、周囲騒音の音声データが表す周囲騒音の音量レベルを周波数帯域毎に求めると共に、求めた周囲騒音の各周波数帯域の音量レベルに応じたゲイン調整を周波数帯域毎に分割音声データＤ（ｊ）に施すことによって行うようにしてもよい。
【００２２】
次に、ｊが２未満でない場合には（ステップ２０８）、サウンドドライバ（出力）１１からの再生終了通知を待って（ステップ２１０）、ＨＤＲ（ｉ）をクリア（ステップ２１２）した上で、分割音声データＤ（ｊ）に現時点における周囲騒音に応じたゲイン調整を施させ、分割音声データＤ（ｊ）にゲイン調整を施した音声データを出力用バッファメモリ８にＰＤ（ｉ）として格納する（ステップ２１４）。
【００２３】
そして、ＰＤ（ｉ）のアドレスやサイズの属性をＨＤＲ（ｉ）に設定し（ステップ２１６）、ＨＤＲ（ｉ）をＨＤＲとしてサウンドドライバ（出力）１１に発行し、ＨＤＲキューに格納する（ステップ２１８）。
そして、音声データＤを分割した各分割音声データＤ（ｊ）の全てについて以上の処理を終了したならば、サウンドドライバ（出力）１１の再生終了を待って（ステップ２２２）、ＨＤＲ（０）とＨＤＲ（１）をクリアし（ステップ２２４）、サウンドドライバ（出力）１１に対して、デバイス（サウンド出力装置５）の使用終了の宣言などの後処理を行って（ステップ２２６）、音声出力処理を終了する。
【００２４】
図３に、このような音声出力処理の処理例を示す。
いま、図３ａに示すように、音声データＤが６×ｔｓの時間長分の音声を表すものであった場合、音声データＤは、Ｄ（０）からＤ（５）の分割音声データに分割される。
そして、この場合には、図３ｂに示すように、時間長ｔｓ毎の時間区間ｔ０からｔ６の最初の時間区間ｔ０において、音声データＤの最初の分割音声データＤ（０）を、その時点の周囲騒音Ｎの音量レベルに応じてゲイン調整した音声データＧＤ（０）がＰＤ（０）に設定され、ＰＤ（０）のアドレスとサイズがＨＤＲ（０）に設定されると共に、ＨＤＲ（０）がＨＤＲとしてサウンド出力装置５のＨＤＲキューに追加される。
【００２５】
次に、時間区間ｔ１では、音声データＤの２番目の分割音声データＤ（１）を、その時点の周囲騒音Ｎの音量レベルに応じてゲイン調整した音声データＧＤ（１）がＰＤ（１）に設定され、ＰＤ（１）のアドレスとサイズがＨＤＲ（１）に設定されると共に、ＨＤＲ（１）がＨＤＲとしてサウンド出力装置５のＨＤＲキューに追加される。また、Ｑ｛ＰＤ（０）｝として示すように、サウンドドライバ（出力）１１、サウンド出力装置５によって、ＰＤ（０）に設定されたＧＤ（０）が表す音声が再生出力される。ただし、この例は、ｊが１である場合に、先に行った分割音声データＤ（０）についてのゲイン調整（ステップ２１４）の実行を開始してから、前記した時間長ｔｓ経過後に、今回の分割音声データＤ（１）のゲイン調整（ステップ２１４）の実行を開始するようにした場合についてのものである。
【００２６】
そして、その次の、時間区間ｔ２では、音声データＤの３番目の分割音声データＤ（２）を、その時点の周囲騒音Ｎの音量レベルに応じてゲイン調整した音声データＧＤ（２）がＰＤ（０）に設定され、ＰＤ（０）のアドレスとサイズがＨＤＲ（０）に設定されると共に、ＨＤＲ（０）がＨＤＲとしてサウンド出力装置５のＨＤＲキューに追加される。また、Ｑ｛ＰＤ（１）｝として示すように、サウンドドライバ（出力）１１、サウンド出力装置５によって、ＰＤ（１）に設定されたＧＤ（１）が表す音声が、再生出力される。
【００２７】
また、次の、時間区間ｔ３では、音声データＤの４番目の分割音声データＤ（３）を、その時点の周囲騒音Ｎの音量レベルに応じてゲイン調整した音声データＧＤ（３）がＰＤ（１）に設定され、ＰＤ（１）のアドレスとサイズがＨＤＲ（１）に設定されると共に、ＨＤＲ（１）がＨＤＲとしてサウンド出力装置５のＨＤＲキューに追加される。また、Ｑ｛ＰＤ（０）｝として示すように、サウンドドライバ（出力）１１、サウンド出力装置５によって、ＰＤ（０）に設定されたＧＤ（２）が表す音声が、再生出力される。
【００２８】
以降、同様にＰＤ（０）及びＨＤＲ（１）と、ＨＤＲ（０）及びＰＤ（１）を交互に用いながら、時間区間ｔｍでは、音声データＤのｍ+１番目の分割音声データＤ（ｍ）のゲイン調整と、ゲイン調整した音声データＧＤ（ｍ-１）が表す音声のサウンドドライバ（出力）１１、サウンド出力装置５による出力が行われる。
【００２９】
結果、Ｑとして示すように音声データＤをゲイン調整した音声がサウンド出力装置５によってスピーカ６から出力されることになる。そして、出力される音声の各部分は、約ｔｓ時間前の周囲騒音の音量レベルに応じてゲイン調整されたものとなる。
以上、本発明の第１実施形態について説明した。
このように本台１実施形態によれば、音声出力アプリケーション２によって、サウンドドライバ（出力）１１に供給する音声データ（ＰＤ）自体を、周囲騒音に応じたゲイン調整が施されたものとしているので、サウンドドライバ（出力）１１に関わらずに、周囲騒音に応じた出力音声のゲイン調整を実現することができる。なお、一般的に、サウンドドライバ（出力）１１及びサウンドドライバ（入力）１２とアプリケーションとのインタフェースＡＰＩは、サウンドドライバ（出力）１１及びサウンドドライバ（入力）１２によらず共通化されている。
【００３０】
ここで、このように、サウンドドライバ（出力）１１に供給する音声データ（ＰＤ）自体を、周囲騒音に応じたゲイン調整を施したものとした場合、音声データ（ＰＤ）にゲイン調整を施した時点と、当該音声データが表す音声が実際に出力される時点との間に生じる時間差が問題となる。出力される音声が、当該時間差分過去の周囲騒音に応じたゲイン調整が施されたものとなるからである。
【００３１】
しかしながら、本第１実施形態によれば、音声データ（ＰＤ）のゲイン調整と音声データ（ＰＤ）のサウンドドライバ（出力）１１への供給を、出力すべき音声を表す音声データを分割した分割音声データを単位として行うことができるので、このような時間差を短縮化して、ほぼ現在の周囲騒音の状況に応じたゲイン調整が施された音声を出力することができるようになる。なお、近接する時間の周囲騒音は近似していると考えられるので、分割音声データが表す音声の時間長を充分に短くとることにより、このようにゲイン調整を施した音声は、実用上、現在の周囲騒音の状況に応じたゲイン調整が施された音声として用いることができる。
【００３２】
以下、本発明の第２の実施形態について説明する。
本第２実施形態は、前記第１実施形態の音声出力処理のステップ２１４における出力制御部２１の指示に応じて、ゲイン調整部２２が行うゲイン調整を、より速やかに実行できるようにしたものである。
図４に、本第２施形態に係る音声出力装置の構成を示す。
図示するように、本第２実施形態に係る音声素出力装置は、図１に示した音声出力装置に、騒音データバッファ９を追加すると共に、音声出力アプリケーションに騒音データ取得制御部２３を設けたものである。
また、本第２実施形態では、図２に示した出力制御部２１が行う出力制御処理のステップ２０４において、算出した音声データ分割数ｎと音声出力処理開始とを騒音データ取得制御部２３とゲイン調整部に通知するようにする。
【００３３】
そして、騒音データ取得制御部２３において、図５ａに示す騒音データ取得処理を行うと共に、ゲイン調整部２２において図５ｂに示すゲイン調整処理によって、前記第１実施形態の音声出力処理のステップ２１４における出力制御部２１の指示に応じた、ゲインの調整を行うようにしたものである。
以下、騒音データ取得制御部２３が行う騒音データ取得処理について説明する。
図５ａに示すように、この処理では、出力制御部２１から音声出力処理開始の通知があるまで（ステップ５０４）、サウンドドライバ（入力）１２から周囲騒音の音声データを取り込み続け、騒音データバッファ９のＮＤＰＲに、常に、直近過去ｔｓ時間分の周囲騒音の音声データが格納されるようにする（ステップ５０２）。ＮＤＰＲにおける直近過去ｔｓ時間分の周囲騒音の音声データの常時格納は、たとえば、騒音データバッファ９のＮＤＰＲをｔｓ時間分の音声データを格納するFIFOとして構成し、順次、サウンドドライバ（入力）１２から取り込んだ周囲騒音の音声データをＮＤＰＲに格納することなどにより実現できる。なお、ｔｓは、第１実施形態で示した分割音声データＤ（ｊ）の時間長である。
【００３４】
そして、出力制御部２１から音声出力処理開始が通知されたならば（ステップ５０４）、以降、騒音データバッファ９のＮＤ（０）とＮＤ（１）に、交互に、ｔｓ時間分づつ、サウンドドライバ（入力）１２から取り込んだ周囲騒音の音声データを、ｎ１回格納する処理を行い（ステップ５０６-５１４）、ｎ１回格納したならばステップ５０２からの処理に戻る。
【００３５】
次に、ゲイン調整部２２が行うゲイン調整処理について説明する。
図５ｂに示すように、ゲイン調整処理では、出力制御部２１から音声出力処理開始の通知を待ち（ステップ５５２）、通知があったならば、まず、分割音声データＤ（０）（ステップ５５４、５５６）に、騒音データバッファ９のＮＤＰＲから取り込んだ（ステップ５５８、５７２）周囲騒音の音声データの音量レベルに応じたゲイン調整を施し、ゲイン調整を施した音声データを出力用バッファメモリ８にＰＤ（０）として格納する（ステップ５５４、５６６）。
【００３６】
そして、以降は、ｊ=１からｊ=ｎ-1までの各ｊについて順次（ステップ５６８、５７０）
分割音声データＤ（ｊ）を取得し（ステップ５５６）、騒音データバッファ９のＮＤ（ｋ）に時間長ｔｓ分の周囲騒音の音声データが格納されるのを待って（ステップ５６２）、ＮＤ（ｋ）から周囲騒音の音声データを取り込み（ステップ５６４）、取り込んだ周囲騒音の音声データの音量レベルに応じたゲイン調整を取得した分割音声データＤ（ｊ）に施し、ゲイン調整を施した音声データを出力用バッファメモリ８にＰＤ（ｉ）として格納する（ステップ５６６）。ただし、ｉは、ｊの２を法数とする剰余であり、ｋは、ｊ-１の２を法数とする剰余である（ステップ５６０）
そして、ｊ=ｎ-1までの処理を終了したならば（ステップ５６８）、ステップ５５２からの処理に戻る。
【００３７】
次に、以上のようなゲイン調整処理の処理例を図６に示す。
いま、図６ａに示すように、音声データＤが６×ｔｓの時間長分の音声を表すものであり、当該音声データＤは、Ｄ（０）からＤ（５）の分割音声データに分割されるものとする。また、図６ｂに示すように、各々時間長ｔｓの各時間区間ｔ０からｔ６における周囲騒音Ｎを、Ｎ（ｔ０）からＮ（ｔ６）で示すものとする。但し、時間区間ｔ０は、音声出力処理が開始された時点Ｓの直近過去の時間長ｔｓの時間区間を表す。
【００３８】
この場合に、時点Ｓで音声出力処理が開始されると、当該時点において、騒音データバッファ９のＮＤＰＲには、騒音データ取得制御部２３によって、既に、時間長ｔｓを有する直近過去の時間区間ｔ０の周囲騒音の音声データＮ（ｔ０）が格納されている。そこで、ゲイン調整部２２は、直ちに、音声データＤの最初の分割音声データＤ（０）に、ＮＤＰＲに格納されている周囲騒音Ｎ（ｔ０）の音量レベルに応じたゲイン調整して音声データＧＤ（０）を生成し、出力用音声バッファメモリ８のＰＤ（０）に設定する。
【００３９】
そして、次に、ゲイン調整部は、騒音データ取得制御部２３によって、ＮＤ（０）に時間区間ｔ１の周囲騒音の音声データＮ（ｔ１）が格納されしだい、音声データＤの２番目の分割音声データＤ（１）を、ＮＤ（０）に格納されている周囲騒音Ｎ（ｔ１）の音量レベルに応じてゲイン調整して音声データＧＤ（１）を生成し、出力用音声バッファメモリ８のＰＤ（１）に設定する。
【００４０】
また、次に、ゲイン調整部は、騒音データ取得制御部２３によって、ＮＤ（１）に時間区間ｔ２の周囲騒音の音声データＮ（ｔ２）が格納されしだい、音声データＤの３番目の分割音声データＤ（２）を、ＮＤ（１）に格納されている周囲騒音Ｎ（ｔ２）の音量レベルに応じてゲイン調整して音声データＧＤ（２）を生成し、出力用音声バッファメモリ８のＰＤ（０）に設定する。
【００４１】
次に、ゲイン調整部は、騒音データ取得制御部２３によって、ＮＤ（０）に時間区間ｔ３の周囲騒音の音声データＮ（ｔ３）が格納されしだい、音声データＤの４番目の分割音声データＤ（３）を、ＮＤ（０）に格納されている周囲騒音Ｎ（ｔ３）の音量レベルに応じてゲイン調整して音声データＧＤ（３）を生成し、出力用音声バッファメモリ８のＰＤ（１）に設定する。
【００４２】
そして、以降、同様に、ＮＤ（１）とＮＤ（０）に格納された周囲騒音の音声データを交互に用いながら、分割音声データＤ（４）からＤ（５）にゲイン調整を施し、ＰＤ（０）とＰＤ（１）に交互に設定していく。
このように、本第２実施形態によれば、音声出力の要求発生時に、常時保持するようにした直近過去の周囲騒音の音声データを用いて、速やかに音声データのゲイン調整を開始することができ、また、これにより速やかに音声出力を開始することができるようになる。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１実施形態に係る音声出力装置の構成を示すブロック図である。
【図２】本発明の第１実施形態に係る音声出力処理を示すフローチャートである。
【図３】本発明の第１実施形態に係る音声出力処理の処理例を示す図である。
【図４】本発明の第２実施形態に係る音声出力装置の構成を示すブロック図である。
【図５】本発明の第２実施形態に係る騒音データ取得処理とゲイン調整処理を示すフローチャートである。
【図６】本発明の第２実施形態に係る騒音データ取得処理とゲイン調整処理の処理例を示す図である。
【符号の説明】
【００４４】
１…オペレーティングシステム、２…音声出力アプリケーション、３…サウンド入力装置、４…マイクロフォン、５…サウンド出力装置、６…スピーカ、７…音声データメモリ、８…出力用バッファメモリ、９…騒音データバッファ、１１…サウンドドライバ（出力）、１２…サウンドドライバ（入力）、２１…出力制御部、２２…ゲイン調整部、２３…騒音データ取得制御部。
【図１】
2008003562.tif 000003
【図２】
2008003562.tif 000004
【図３】
2008003562.tif 000005
【図４】
2008003562.tif 000006
【図５】
2008003562.tif 000007
【図６】
2008003562.tif 000008