(57)【要約】【課題】  入力信号の振幅を制御することを目的とする電子機器、あるいは電子機器の音量制御プログラムを提供する。【解決手段】入力された音声信号をフレーム単位に区切って振幅ゲインを算出し、振幅ゲインに従って入力信号の振幅の補正を行う。直前のフレームの振幅ゲインと処理中のフレームの振幅ゲインとを滑らかに遷移させる。また、直前のフレームと処理中のフレームの音声特性に従って、振幅ゲインの遷移の遅速を変化させる。【選択図】図７
2011071806.tif 000002
【特許請求の範囲】
【請求項１】
音声の入力を受け付ける音声入力受付手段と、
前記音声入力受付手段によって受け付けた音声の入力音量及び周波数成分とを測定する音量測定手段と、
所定の時間区間に受け付けた音声のうち、所定の周波数帯域に含まれる周波数成分が、所定のエネルギーを超えて有する場合に、前記所定の時間区間に受け付けた音声の入力音量の値に応じて音量ゲインを設定する音量ゲイン設定手段と、
前記所定の時間区間に受け付けた音声を、前記音量ゲイン設定手段によって設定された音量ゲインに応じた音量で出力する音声出力手段と、
を有することを特徴とする電子機器。
【請求項２】
音声の入力を受け付ける音声入力受付手段と、
前記音声入力受付手段によって受け付けた音声の入力音量及び周波数成分とを測定する音量測定手段と、
所定の時間区間に受け付けた音声のうち、所定の周波数帯域に含まれる周波数成分が、所定のエネルギーを超えて有する場合に、前記所定の時間区間に受け付けた音声の入力音量の値に応じて音量ゲインを設定する音量ゲイン設定手段と、
音量ゲイン遷移関数を、
第１の時間区間に受け付けた音声の出力終了時には、第１の時間区間に受け付けた音声に対して前記音量ゲイン設定手段が設定した音量ゲインの値を持ち、
第１の時間区間に受け付けた音声の出力開始時には、第１の時間区間以前である第２の時間区間に受け付けた音声に対して前記音量ゲイン設定手段が設定した音量ゲインの値を持つように遷移するよう設定する、音量ゲイン遷移関数設定手段と、
第1の時間区間に受け付けた音声を、前記音量ゲイン遷移関数に応じた音量で出力する音
声出力手段と、
を有することを特徴とする電子機器。
【請求項３】
前記音量ゲイン遷移関数設定手段は、
第1の時間区間及び第2の時間区間に受け付けた音声の入力音量が所定の音量以下である場合に第1の音量ゲイン遷移関数を設定し、
第1の時間区間に受け付けた音声の入力音量が所定の音量以上であり、且つ第2の時間区間に受け付けた音声の入力音量が所定の音量以下である場合に、第1の音量ゲイン遷移関数
に比して、急激に第1の時間区間の音量ゲインの値へと遷移する第2の音量ゲイン遷移関数を設定し、
第２の時間区間に受け付けた音声の入力音量が前記所定の音量以上である場合に、第1の
音量ゲイン遷移関数に比して、緩やかに第1の時間区間の音量ゲインの値へと遷移する第
３の音量ゲイン遷移関数を設定する
ことを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記音量ゲイン遷移関数設定手段は、
第1の時間区間及び第2の時間区間に受け付けた音声の入力音量が所定の音量以下である場合に第1の音量ゲイン遷移関数を設定し、
第1の時間区間に受け付けた音声が、当該スペクトル分布における所定の周波数帯域に含
まれる周波数成分を、所定のエネルギーを超えて有する場合で、且つ第2の時間区間に受
け付けた音声の入力音量が所定の音量以下である場合に、第1の音量ゲイン遷移関数に比
して急激に第1の時間区間に設定された音量ゲインの値へ遷移する第2の音量ゲイン遷移関数を設定し、
第1の時間区間に受け付けた音声が、当該スペクトル分布における所定の周波数帯域に含
まれる周波数成分を、所定のエネルギーを超えて有する場合で、且つ第2の時間区間に受
け付けた音声の入力音量が所定の音量以上である場合に、第1の音量ゲイン遷移関数に比
して緩やかに第1の時間区間に設定された音量ゲインの値へ遷移する第３の音量ゲイン遷
移関数を設定する
ことを特徴とする請求項１乃至３に記載の電子機器。
【請求項５】
音声信号の入力を受け付ける音声入力受付手段と、
前記音声入力受付手段によって受け付けた音声信号の入力音量及び周波数成分の値を取得する音量測定手段と、
所定の時間区間に受け付けた音声のうち、所定の周波数帯域に含まれる周波数成分が、所定のエネルギーを超えて有する場合に、前記所定の時間区間に受け付けた音声の入力音量の値に応じて音量ゲインを設定する音量ゲイン設定手段と、
前記所定の時間区間に受け付けた音声の出力音量を、前記音量ゲイン設定手段によって設定された音量ゲインに応じた出力音量に設定する出力音量制御手段と、
を有することを特徴とする電子機器の音量制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は出力音量を制御する電子機器、及び電子機器の音量制御プログラムに関する。
【背景技術】
【０００２】
近年、電話通信用の音声信号や、あるいはラジオ電波やテレビ電波を受信し、スピーカなどの音響出力デバイスから音声を出力することが可能な電子機器が普及している。こうした電子機器の一例である携帯電話機は、無線信号を受信し無線信号中に変調された音声信号を取り出す。取り出した音声信号を例えば携帯電話機のスピーカから音声として出力することで、携帯電話機の使用者は音声信号を聞き取ることができる。
【０００３】
この音声信号は、例えば音声信号を送信した話者のアクセントの変化などによって、ある程度の音量の変化を伴って音響出力デバイスから出力されることとなる。このため、音量の変化が急激だった場合には、例えば音響出力デバイスから突然大きな音量の音声が出力され、使用者に不快な思いをさせる虞があった。そこで、入力された音声信号をバッファ処理し、音声信号に大きな音量成分が含まれないか否かを検知する。大きな音量成分が含まれる場合は、音声信号全体を正規化し、バッファされた音声信号全体に亘って音量を低下させるよう制御する。音量を低下させた音声信号を出力することで、大きな音量の音声が音響出力デバイスから出力される事態を防ぐ発明が公開されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１８３４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし先に述べた様な、音声信号全体をバッファリングし、その後音声信号の音量を補正する方法では、音声信号が入力されてから音響出力デバイスより音声が出力されるまでの間に多大な遅延が発生することとなる。携帯電話機を用いて通話を行う場合などは、音声信号の入力を受けてから出力するまでの遅延は短いことが望ましい。
【０００６】
本発明は上記問題点を解決するためになされたもので、入力信号の振幅を制御することが可能な電子機器、あるいは電子機器の音量制御プログラムに関する。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明の電子機器は、音声の入力を受け付ける音声入力受付手段と、音声の入力音量を測定する音量測定手段と、第1の時間区間及び、第1の時間区間以前の第2の時間区間に受け付けた音声と、当該音声の入力音量とをそれぞれ測定する
音量測定手段と、第1の時間区間及び、第1の時間区間以前の第2の時間区間に受け付けた
音声と、当該音声の入力音量とをそれぞれ記憶する記憶手段と、前記記憶手段によって記憶された、第1の時間区間に受け付けた音声の入力音量のうち最大の音量が所定の音量以
上である場合に、第1の時間区間に受け付けた音声の入力音量の値に応じて第1の時間区間の音量ゲインを設定する音量ゲイン設定手段と、第1の時間区間に受け付けた音声の出力
開始時には第2の時間区間の音量ゲインであり、第１の時間区間に受け付けた音声の出力
終了時には第1の時間区間の音量ゲインであるように遷移する音量ゲイン遷移関数を設定
する音量ゲイン遷移関数設定手段と、音声の出力音量を前記音量ゲイン遷移関数に応じて変化させる音量制御手段と、前記音量制御手段によって変化した出力音量で第1の時間区
間に受け付けた音声を出力する音声出力手段とを有することを特徴とする。
【０００８】
また、前記目的を達成するために、本発明の電子機器の音量制御プログラムは、第1の時
間区間及び、第1の時間区間以前の第2の時間区間に受け付けた音声と、当該音声の入力音量とをそれぞれ記憶する記憶手段と、前記記憶手段によって記憶された、第1の時間区間
に受け付けた音声の入力音量が所定の音量以上である場合に、第1の時間区間に受け付け
た音声の入力音量の値に応じて第1の時間区間の音量ゲインを設定する音量ゲイン設定手
段と、第1の時間区間に受け付けた音声の出力開始時には第2の時間区間の音量ゲインであり、第１の時間区間に受け付けた音声の出力終了時には第1の時間区間の音量ゲインであ
るように遷移する音量ゲイン遷移関数を設定する音量ゲイン遷移関数設定手段と、音声の出力音量を前記音量ゲイン遷移関数に応じて変化させる音量制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、入力された音声信号を時間単位に区切り、時間単位毎に振幅の補正を行うことにより、出力音量を制御して出力することが可能な電子機器、あるいは電子機器の音量制御プログラムが得られる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における携帯電話機の構成を示す図。
【図２】本実施形態における制御部の構成を示す図。
【図３】本実施形態における信号特性判定部の内部の構成を示す図。
【図４】本実施形態におけるサンプル単位ゲイン算出部の構成を示す図。
【図５】本実施形態における入力信号と、フレーム及びサブフレームの構成を示す図。
【図６】本実施形態における振幅ゲインの一例を示す図。
【図７】本実施形態の制御部１００による音量制御の処理の流れを示すフロー図。
【図８】第２の実施形態における携帯電話機の内部の構成を示す図。
【図９】本実施形態の第２制御部２００による音量制御部の処理の流れを示すフロー図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１２】
（電子機器の構成）
図１は、本発明における電子機器の一例である、携帯電話機の構成を示す図である。図２は、図１に示した携帯電話機に設けられる、制御部１００の構成を示す図である。以下、特に断りが無い場合は、この図１及び図２に従って、本発明の各構成部の動作を説明する。
【００１３】
携帯電話機に搭載される制御部１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの電子回路から構成される。ＣＰＵは、後述するＲＯＭあるいはＲＡＭに記憶されているプログラムに従って処理を実行する。更にＣＰＵは、上述した各回路部から供給される信号を処理し、また種々の制御信号を生成し、各回路部へ供給する。
【００１４】
これらの処理により、ＣＰＵは携帯電話機を統括的に制御する。記憶部４は、例えば電気的に書き換えや消去が可能な不揮発性メモリであるフラッシュメモリ素子、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などから構成される。記憶部４には、制御部１００のＣＰＵにより実行される種々のアプリケーションプログラムやデータ群、あるいは音声データなどが格納されている。
【００１５】
アンテナ１は、無線信号の送受信を図示しない無線基地局との間で行う。アンテナ１は受信した無線信号を通信信号処理部２へと入力する。また、通信信号処理部２から入力された無線信号を、無線基地局へ向けて発信する。
【００１６】
通信信号処理部２は、アンテナ１から入力された無線信号を、制御部１００にて信号処理可能な電気信号へと変換し、変換した電気信号を制御部１００へと入力する。また、制御部１００から出力された電気信号を、アンテナ１から発信可能な無線信号へと変換し、アンテナ１へと出力する。
【００１７】
スピーカ５は、制御部１００から入力された音声出力信号を、音声に変換して出力する。
【００１８】
マイクロフォン６は、入力された音声を音声入力信号へと変換して制御部１００へと出力する。
【００１９】
図２を用いて説明する出力音量制御の処理は、音声入力信号の入力を受けて、これを音声出力信号へと加工して出力する処理である。音声入力信号の入力は、例えばマイクロフォン６から入力されるものであっても構わないし、記憶部４に格納された音声データを入力として制御部１００が読み出すものであっても構わない。また、アンテナ１が無線信号として受信するものであっても構わない。
【００２０】
音声入力信号は、事前に決められた音声信号の単位（以下、単にフレームと表記する）毎にディジタル符号化され、音声入力信号ｘ［ｎ］（ｎ＝１，２，３，・・・Ｎ）として制御部１００へと入力され、音声出力信号ｙ［ｎ］へと加工される。加工された音声出力信号は、スピーカ５より音声として出力される。なお、音声出力信号の出力先はスピーカ５に限られるものではなく、例えば通信信号処理部２を介して無線信号へと変換し、アンテナ１が音声出力信号を発信するものであってもかまわない。あるいは、制御部１００に別途接続したヘッドホンなどに音声出力信号を出力するものであっても構わない。
【００２１】
図５は、本発明における電子機器が処理する音声信号の一例を表した図である。音声入力信号ｘ［ｎ］は、音声をサンプリングした際の振幅の値を示している。音声入力信号ｘ［ｎ］は、フレームを構成するサンプルの数Ｎと等しい数の振幅データを有する。後述するサブフレーム分割部１０２の処理によって、Ｎ個のサンプルから構成されるフレームは、Ｓ個のサンプルから構成されるサブフレームへと分割される。図５においては、Ｎ＝１２、Ｓ＝４となる例を示している。後述する本発明の音量制御処理においては、サブフレーム毎に信号処理が行われる。時間領域に対して細かく分割されたサブフレーム毎に音量制御を行うことにより、音量変化の激しい音声信号が入力された場合であっても時間領域に対して精度良く音量の制御を行うことができる。また、音声入力信号ｘ［ｎ］は、例えば−２の１５乗から＋２の１５乗までの範囲を持つ、１６ビットのディジタルデータを用いて表記される。しかし、音声入力信号ｘ［ｎ］の表記形式はこれに限定されるものではなく、オーディオ信号であっても構わないし、１６ビット以外のビット数を持つディジタルデータを用いて表記しても構わないし、あるいはフローティング（浮動小数点）の信号を用いて表記しても構わない。なお、後述する音声信号の処理は、例としてＮ個のサンプルから構成されるフレームを、Ｓ個のサンプルから構成されるサブフレームへと分割し、サブフレーム単位で音声信号の処理を行うものとして述べる。しかし、本発明における音声信号の処理はこれに限られるものではなく、サブフレームへの分割を省略し、フレーム単位で音声信号の処理を行うものであっても構わない。また、後述する音声信号の処理は、便宜上Ｎ＝１２となる場合の処理について述べる。しかし、本発明における音声信号の処理はこれに限られるものではない。Ｎに他の値、例えば２のべき条となる５１２、１０２４、２０４８などの値を用いても構わない。
【００２２】
以降、本明細書における各ディジタル信号は、ここに述べたいずれの形式を用いて表記されても構わないものとする。
【００２３】
（第１の実施例）
携帯電話機の音声信号をスピーカ５などの所謂音響出力デバイスから出力する際には、出力される音声の周波数特性は音響出力デバイスの出力周波数特性によって左右される。
【００２４】
音響出力デバイスの出力周波数特性が平坦でない場合には、入力された音声に比べ出力される音声が変化してしまう。そのため、携帯電話機の使用者は入力音声の持つ本来の音質を体感することができない。例えば、携帯電話機に用いられる音響出力デバイスは小型に構成されるため、４ｋＨｚ以上の高周波帯で周波数特性が劣化している場合が多い。
【００２５】
こうした音響デバイスの出力周波数特性による出力音声の劣化を防ぐために、予め音響出力デバイスの出力周波数特性に合わせて音声信号を補正する方法が考えられる。先の携帯電話機に用いられる音響出力デバイスにおいては、音響出力デバイスによって減衰してしまう４ｋＨｚ以上の帯域の音声信号を増幅する。これにより、出力された音声の周波数特性は入力された音声に近づき、携帯電話機の使用者は入力音声の持つ本来の音質を体感することができる。
【００２６】
しかし、このような音声信号の補正方法を用いる場合は、入力された音声信号によっては信号の増幅が多大になされてしまい、振幅飽和を起こす虞がある。振幅飽和を起こす音声信号としては、先の携帯電話機において通話を行う場合の、音声に無声音（肺からの呼気が声帯を振動させずそのまま通り抜けて出る音）を含む音声信号など考えられる。無声音は一般的に４ｋＨｚ以上に周波数成分が集中するため、無声音を含む音声信号を補正すると振幅飽和が発生してしまう。この振幅飽和により音響出力デバイスは、入力された音声を正しく再現できないこととなる。
【００２７】
そこで、第１の実施例においては、入力された音声信号に無声音が含まれるか否かを判定し、無声音が含まれる場合には音声信号の振幅の値を減少させる処理を行う。音声信号中の無声音が含まれる箇所に対して振幅の値を減少させる処理を行うことで、音響出力デバイスの出力周波数特性に合わせて４ｋＨｚ以上の帯域の音声信号の増幅を行う場合であっても、音声信号が振幅飽和を起こす事態を防ぐことができる。
【００２８】
更に、単位時間毎に音量補正を行う場合に、その音量補正の度合いが大きい場合を考える。この場合、電子機器の使用者にとっては短い時間で音量が大きく変化するために、音量のばたつきが不自然に感じられることとなる。第１の実施例においては、サブフレーム毎にリミッタ制御ゲインを算出し、リミッタ制御ゲインの値に基づいて、サンプル毎の振幅を調節する振幅ゲインを設定する。ここで、振幅ゲインの値はスイッチ的に変化することがないように、微分連続性を保ったまま変化するよう設定する。この振幅ゲインに従って各サンプルの振幅補正を行うため、使用者に音量調節量のスイッチ的な変化による不自然な印象を与えることがない。
【００２９】
更に、無音状態から急に無声音が発生された場合は振幅ゲインを急激に変化するよう設定する。これにより、急な振幅飽和の発生を予期して音量制御を時間的に精度良く行うことができる。一方、有声音から無声音に変化する場合には急には振幅飽和が発生しないため、振幅ゲインの変化を緩やかに行う。これにより、使用者にとって不自然な印象を与えることなく振幅を制御することができる。
【００３０】
以下、図２に示す各構成要素について、その構成と役割を述べる。制御部１００は、直流成分制御フィルタ１０１、サブフレーム分割部１０、信号特性検出部１０３、サブフレーム単位ゲイン算出部１０４、サンプル単位ゲイン算出部１０５、音量制御部１０６、そして周波数特性補正部１０７から構成される。
【００３１】
直流成分除去フィルタ１００は、音声入力信号ｘ［ｎ］を入力として、音声入力信号ｘ［ｎ］に含まれる直流成分を除去し、信号ｈｐ［ｎ］を出力するものである。より具体的には、直流成分除去フィルタ１００は、音声入力信号ｘ［ｎ］に高域濾過フィルタ処理を施す。これにより、直流成分除去フィルタ１００は、音声入力信号ｘ［ｎ］中に含まれる低域成分、例えば５０Ｈｚを下回る成分を消去し、残った信号を信号ｈｐ［ｎ］として出力する。高域濾過フィルタ処理は、例えばＩＩＲのバタワースフィルタによって設計されたフィルタを用いることができる。しかし、直流成分を除去する処理はここに述べた方法に限られるものではなく、音声入力信号ｘ［ｎ］の振幅の値から直流成分が含まれるか否かを検知し、直流成分を消去する方法を用いればよい。
【００３２】
サブフレーム分割部１０２は、Ｎ個のサンプルから構成される信号ｈｐ［ｎ］を入力として、信号ｈｐ［ｎ］をＮ個より少ないＳ個のサンプルから構成される、幾つかのサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］（ｓ＝１，２，３，・・・Ｓ）へと分割して出力する。
【００３３】
本発明においては、後述する処理によって、サブフレーム毎に音量を変化させるリミッタ制御ゲインの値が算出される。ここで、サブフレーム毎に算出した音量制御信号を用いて音量の制御を行うことで、よりきめ細かな音量制御を行えるという効果が得られる。即ち、入力音声信号ｘ［ｎ］が後述する無声音、急激な音量変化を伴う信号であった場合であっても、音量変化に追随して音量の制御を行うことが可能である。
【００３４】
信号特性検出部１０３は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］を入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］に有声音が含まれるか、無声音が含まれるか、あるいは無音であるかを判別する。更に、処理中のサブフレームが、無声音の発音が開始される箇所なのか、あるいは無声音の発音が終了する箇所なのかを判別する。この検出結果をｓｕｂ＿ｐｒｍとして出力する。
【００３５】
図３に、信号特性検出部１０３の詳しい構成を示す。信号特性検出部１０３は、有音・無音検出部１０３１と、有声音、無声音検出部１０３２の２つから構成される。
【００３６】
（有音・無音検出動作）
有音・無音検出部１０３１は、入力されたサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が無音であるか、あるいは有音であるかを判別して、その判別結果を有音・無音検出結果ｓｕｂ＿ｍｕｍとして出力する。有音・無音検出部１０３１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が有音であると判別した場合はｓｕｂ＿ｍｕｍ＝１、一方無音であると判別した場合はｓｕｂ＿ｍｕｍ＝０として有音・無音検出結果ｓｕｂ＿ｍｕｍを出力する。
【００３７】
この有音・無音検出部１０３１はサブフレーム振幅最大値検出部１０３１１と、有音・無音判定部１０３１２の２つから構成される。
【００３８】
サブフレーム振幅最大値検出部１０３１１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］を入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に含まれる振幅の最大値を検出する。この検出された振幅の最大値をサブフレーム振幅最大値ｓｕｂ＿ｍａｘとして出力する。より具体的には、サブフレーム振幅最大値検出部１０３１１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］内に含まれる各サンプルの振幅の値を絶対値化する。この絶対値化された振幅の値の内、最大のものを検出する。検出された振幅の値をサブフレーム振幅最大値ｓｕｂ＿ｍａｘとして出力する。
【００３９】
ここで、サブフレーム振幅最大値検出部１０３１１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に含まれる振幅の最大値を検出し出力すると述べた。しかし、サブフレーム振幅最大値検出部１０３１１が出力する値は、後述する有音・無音判定部１０３１２が有音・無音を判定するために用いられる値であれば他の値であっても構わない。例えば、サブフレーム振幅最大値検出部１０３１１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］の平均の振幅レベルを出力するものであっても構わない。また、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］の平均のスペクトルパワーを出力するものであっても構わない。
【００４０】
有音・無音判定部１０３１２は、サブフレーム振幅最大値検出部１０３１１から出力されたサブフレーム振幅最大値ｓｕｂ＿ｍａｘの値を入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が有音であるか無音であるかの判定を行う。この判定結果を有音・無音判定結果ｓｕｂ＿ｍｕｍとして出力する。より具体的には、有音・無音判定部１０３１２は、予め定めておいた有音・無音判定用の閾値αと、サブフレーム振幅最大値ｓｕｂ＿ｍａｘの値とを比較する。有音・無音判定部１０３１２は、この比較結果がｓｕｂ＿ｍａｘ＜αであった場合には、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に大きな振幅のサンプルが含まれないため、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は無音であると判定する。そして、無音であると判定した結果をｓｕｂ＿ｍｕｍ＝０として出力する。一方、この比較結果がｓｕｂ＿ｍａｘ＞αであった場合には、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に大きな振幅のサンプルが含まれるため、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は有音であると判定する。そして、有音であると判定した結果をｓｕｂ＿ｍｕｍ＝１として出力する。なお、有音・無音の判定方法は、先に述べた振幅の値を閾値と比較する他に、例えばサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中の各周波数帯域におけるＳ／Ｎ比を算出し、これを有音・無音判定用の閾値αと比較する方法を用いても構わない。
【００４１】
（有声音・無声音検出動作）
有声音・無声音検出部１０３２は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］及び有音・無音判定結果ｓｕｂ＿ｍｕｍを入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］に有声音が含まれるか、あるいは無声音が含まれるかの判定を行う。更に、処理を行うサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が有声音から無声音に切り替わる信号であるか、あるいは無声音から有声音に切り替わる音であるか、無音から無声音に切り替わる信号であるか、あるいは無声音から無音に切り替わる信号であるか、などの判定が行われる。この判定結果を有声音・無声音判定結果ｓｕｂ＿ｐｒｍとして出力する。
【００４２】
この有声音・無声音検出部１０３２はゼロクロス数検出部１０３２１と、有声音・無声音判定部１０３２２の２つから構成される。
【００４３】
ゼロクロス数検出部１０３２１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］及び有音・無音検出結果ｓｕｂ＿ｍｕｍを入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に含まれるゼロクロス点の数を検出する。検出したゼロクロス点の数を、ゼロクロス数ｓｕｂ＿ｚｃとして出力する。なお、本明細書においては、ゼロクロス点とは特定のサンプルの振幅値とその直前のサンプルの振幅値とを比較したときに、振幅値の極性が反転している点を指す。従って、サブフレーム中に数多くのゼロクロス点が含まれているサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は振動の速い信号であるため、高周波域にエネルギーを多く含む音声信号、すなわち無声音の音声信号であると見なすことができる。一方、サブフレーム中のゼロクロス点が少ない場合には、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は振動が遅い信号であるため、高周波域にある周波数成分は含まれない信号であるとみなすことができる。つまり本発明においては、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中のゼロクロス点の検出を、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］の周波数成分の分析のために用いている。
【００４４】
なお、有音・無音判定部１０３１２から出力された有音・無音検出結果ｓｕｂ＿ｍｕｍの値がｓｕｂ＿ｍｕｍ＝０である場合には、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は無音の信号であることがわかる。この場合はゼロクロス点の数を検出する処理を省き、ｓｕｂ＿ｚｃ＝０として出力する。一方、有音・無音検出結果ｓｕｂ＿ｍｕｍの値がｓｕｂ＿ｍｕｍ＝１である場合には、ゼロクロス数検出部１０３２１はサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］に含まれるゼロクロス数を検出し、ゼロクロス数ｓｕｂ＿ｚｃとして出力する。
【００４５】
なお、本実施例においてゼロクロス数ｓｕｂ＿ｚｃは、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に含まれるゼロクロス点の数であると述べた。しかし、本実施例の動作はこれに限られるものではない。例えば、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］に含まれるゼロクロス数をサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］のサンプル数Ｓで除算した値を、ゼロクロス数ｓｕｂ＿ｚｃの替わりにゼロクロス発生率ｓｕｂ＿ｚｃとして用いても良い。この値を用いることにより、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］のサンプル数Ｓが変化した場合であっても、ゼロクロス数検出部１０３２１は同様の処理で後述する有声音・無声音検出部１０３２２へ値を出力し、有声音・無声音検出を行わせることができる。
【００４６】
また、本実施例においてゼロクロス数検出部１０３２１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］中に含まれるゼロクロス点の数を検出すると述べた。しかし、本実施例の構成はこれに限られるものではなく、ゼロクロス数検出部１０３２１は、音声信号が所定の周波数帯域の信号を含むか否かを判別する特徴量であれば、ゼロクロス数以外の特徴量を検出するものであっても構わない。例えば、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］をスペクトル分析し、高周波数成分のエネルギーを検出するものであっても構わない。あるいは、ＬＰＣ予測残差の自己相関の最大値を検出するものであっても構わない。
【００４７】
また、本実施例においてゼロクロス数検出部１０３２１は、例として４ｋＨｚ以上の高周波成分を検出するための手段として用いている。しかし、ゼロクロス数検出部１０３２１が検出する周波数帯域は音響出力デバイスの周波数特性に合わせて設定すればよいため、４ｋＨｚ以上の高周波に限定されるものではなく、任意の周波数成分を検出すればよい。
【００４８】
有声音・無声音判定部１０３２２は、有音・無音検出結果ｓｕｂ＿ｍｕｍ及びゼロクロス数ｓｕｂ＿ｚｃを入力として、処理中のサブフレームと直前のサブフレームとで有声音・無声音・無音といった信号特性がどう切り替わったかを判定する。この判定結果を、信号特性判定結果ｓｕｂ＿ｐｒｍとして出力する。より具体的には、有声音・無声音判定部１０３２２は、直前のサブフレームでの信号特性の検出結果を直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１として保持し、有音・無音検出結果ｓｕｂ＿ｍｕｍ、ゼロクロス数ｓｕｂ＿ｚｃと共に入力として用いる。有声音・無声音判定部１０３２２は、先の３つの値を入力として、信号特性判定結果ｓｕｂ＿ｐｒｍ及び直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１を更新して出力する。なお、後述する有声音無声音閾値βは、処理中のサブフレームが無声音であるか有声音あるいは無音であるかを判定するために予め定められた値が用いられる。なお、数１中を用いて信号特性を判定する際には、ｓｕｂ＿ｚｃ＝βをｓｕｂ＿ｚｃ＜βあるいはｓｕｂ＿ｚｃ＞βのいずれに等しいものとして扱っても構わない。
【００４９】
有声音・無声音判定部１０３２２は、直前のサブフレームと処理中のサブフレームが共に無音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝０、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝０として出力する。
【００５０】
有声音・無声音判定部１０３２２は、直前のサブフレームが有声音であり、処理中のサブフレームが無音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝１、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝０として出力する。
【００５１】
有声音・無声音判定部１０３２２は、直前のサブフレームが無声音であり、処理中のサブフレームが無音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝２、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝０として出力する。
【００５２】
有声音・無声音判定部１０３２２は、直前のサブフレームが無音であり、処理中のサブフレームが有声音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝３、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝１として出力する。
【００５３】
有声音・無声音判定部１０３２２は、直前のサブフレームと処理中のサブフレームが共に有声音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝４、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝１として出力する。
【００５４】
有声音・無声音判定部１０３２２は、直前のサブフレームが無声音であり、処理中のサブフレームが有声音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝５、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝１として出力する。
【００５５】
有声音・無声音判定部１０３２２は、直前のサブフレームが無音であり、処理中のサブフレームが無声音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝６、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝２として出力する。
【００５６】
有声音・無声音判定部１０３２２は、直前のサブフレームが有声音であり、処理中のサブフレームが無声音であると判断した場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝７、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝２として出力する。
【００５７】
有声音・無声音判定部１０３２２は、直前のサブフレームが無声音であり、処理中のサブフレームが無声音であると判断された場合に、信号特性判定結果ｓｕｂ＿ｐｒｍの値をｓｕｂ＿ｐｒｍ＝８、直前サブフレーム信号特性判定結果ｓｕｂ＿ｐｒｍ１の値をｓｕｂ＿ｐｒｍ１＝２として出力する。
【００５８】
（音量制御動作）
サブフレーム単位ゲイン算出部１０４は、信号特性判定結果ｓｕｂ＿ｐｒｍを入力として、音量制御を行うための基準値であるサブフレーム単位ゲインｓｕｂ＿ｐｏｗを、サブフレーム毎に算出する。より具体的には、信号特性判定結果ｓｕｂ＿ｐｒｍの値に応じて、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値をｓｕｂ＿ｐｏｗ＝ｆ（ａ）（ａ＝０，１，２，・・・８）と設定する。ｆ（ａ）は、８つの信号特性判定結果ｓｕｂ＿ｐｒｍの値それぞれに対応して予め設定された値とする。例えば信号特性判定結果ｓｕｂ＿ｐｒｍの値がｓｕｂ＿ｐｒｍ＝６であった場合は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値はｓｕｂ＿ｐｏｗ＝ｆ（６）と設定される。
【００５９】
ここで、信号特性判定結果ｓｕｂ＿ｐｒｍの値がｓｕｂ＿ｐｒｍ＝＝６、ｓｕｂ＿ｐｒｍ＝＝７、ｓｕｂ＿ｐｒｍ＝＝８のいずれかである場合、即ち処理中のサブフレームが無声音であると判断された場合には、処理中のサブフレームの音声信号には、４ｋＨｚ以上の周波数成分が含まれていることとなる。先述した様に、音響出力デバイスの出力周波数特性を補正するため４ｋＨｚ以上の周波数成分を増幅させる処理を行う場合は、無声音を含む音声信号が振幅飽和を起こす虞がある。そのため、出力される音声信号が振幅飽和を起こす事態を避けるために、処理中のサブフレームが無声音であると判断された場合は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値には、処理中のサブフレームの出力音量を減衰させる値が設定される。例えば、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値には、０＜ｓｕｂ＿ｐｏｗ＜１となるような値が設定される。
【００６０】
更に、０＜ｆ（６）＜ｆ（７）＜ｆ（８）＜１となるようにサブフレーム単位ゲインｓｕｂ＿ｐｏｗの値を設定しても良い。ｓｕｂ＿ｐｒｍ＝８である場合は、即ち処理中のサブフレームが無声音であると判断され、且つ直前のサブフレームも無声音であると判断された場合である。この様な場合には、ｆ（８）を１に近い値とすることで、直前のサブフレームの振幅の値と処理中のサブフレームの振幅の値が近い値となる。これにより、出力音響デバイスから出力される音を聞く使用者は、音量の変化が少ない自然な音声を聞くことができる。一方、ｓｕｂ＿ｐｒｍ（６）である場合は、即ち処理中のサブフレームが無声音であると判断され、且つ直前のサブフレームが無音であると判断された場合である。この様な場合には、ｆ（６）を０に近い値とすることで、処理中のサブフレームの振幅の値を大きく低下させる。これにより、無音状態から突然無声音が出力された場合であっても、音量の変化に素早く追随して振幅の値を低減される処理を行い、振幅飽和を起こす事態を防ぐことができる。
【００６１】
一方、信号特性判定結果ｓｕｂ＿ｐｒｍの値がｓｕｂ＿ｐｒｍ＝＝６、ｓｕｂ＿ｐｒｍ＝＝７、ｓｕｂ＿ｐｒｍ＝＝８以外の値である場合、即ち処理中のサブフレームが無音あるいは有声音であると判断された場合には、音響出力デバイスの出力周波数特性を補正するため４ｋＨｚ以上の周波数成分を増幅させる処理を行っていても、振幅飽和を起こす虞は少ない。そこで、処理中のサブフレームが無音あるいは有声音であると判断された場合は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値を例えばｓｕｂ＿ｐｏｗ＝１として設定する。
【００６２】
サンプル単位ゲイン算出部１０５は、信号特性判定結果ｓｕｂ＿ｐｒｍ及びサブフレーム単位ゲインｓｕｂ＿ｐｏｗを入力として、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］を構成する各サンプルの振幅の値を制御するためのサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］（ｓ＝１，２，３・・・Ｓ）を出力する。サンプル単位ゲイン算出部１０５は、サブフレーム変化量算出部１０５１、窓関数適応部１０５２、及び遅延部１０５３から構成される。
【００６３】
サンプル単位ゲイン算出部１０５は後述する処理によって、サブフレーム単位ゲインｓｕｂ＿ｐｏｗ［ｓ］の値を基にして、サンプル毎に微分連続性を保つように滑らかに遷移するサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を出力する。これにより、自然な音量変化を保ったまま音量制御を行うことが可能である。サンプル単位ゲイン算出部１０５は、信号特性判定結果ｓｕｂ＿ｐｒｍに応じて、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］の遷移の遅速を変化させる。
【００６４】
サブフレーム変化量算出部１０５１は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗ及び直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１を入力として、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗを出力する。リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗは後述する窓関数適応部１０５３においてサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を算出する際に用いられる値である。サブフレーム変化量算出部１０５１は、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値を直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１に比して近い値に設定して出力する。これにより、直前のサブフレームの振幅の値と処理中のサブフレームの振幅の値とを使用者にとって自然に感じられる範囲で変化させることができる。より具体的には、サブフレーム変化量算出部１０５１は、直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１とサブフレーム単位ゲインｓｕｂ＿ｐｏｗとの値の差を比較する。両者の値の差が予め定めた閾値γを下回る場合、即ち｜ｓｕｂ＿ｐｏｗ−ｌｉｍｉｔ＿ｐｏｗ１｜＜１／γとなる場合には、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値をｌｉｍｉｔ＿ｐｏｗ＝ｓｕｂ＿ｐｏｗとなるように設定する。一方、両者の値の差が閾値γを上回る場合、即ち（ｓｕｂ＿ｐｏｗ−ｌｉｍｉｔ＿ｐｏｗ１）＞１／γとなる場合は、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値をｌｉｍｉｔ＿ｐｏｗ＝ｌｉｍｉｔ＿ｐｏｗ１×γとして設定する。また、（ｓｕｂ＿ｐｏｗ−ｌｉｍｉｔ＿ｐｏｗ１）＜１／γとなる場合は、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値をｌｉｍｉｔ＿ｐｏｗ＝ｌｉｍｉｔ＿ｐｏｗ１×（１／γ）として設定する。｜ｓｕｂ＿ｐｏｗ−ｌｉｍｉｔ＿ｐｏｗ１｜＝１／γとなる場合は、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値として先述したいずれの値を設定しても構わない。ここで、閾値γは直前のサブフレームと処理中のサブフレームとの振幅の差が変化した場合に、音響出力デバイスから出力された音声を使用者が聞いた際に自然な変化量として感じられる限度の値を設定する。例えば、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が出力される時間が４ｍｓである場合に、閾値γは１．２５〜１．５０の範囲内の値を設定する。なお、閾値γの値はここに述べた値には限定されない。
【００６５】
遅延部１０５２は、直前のサブフレームにおけるリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗを入力として保持し、直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１として出力する。なお、制御部１００が音量制御処理を開始する場合、即ち直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１の値が存在しない場合は、直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１の値をｌｉｍｉｔ＿ｐｏｗ１＝１として出力する。
【００６６】
窓関数適応部１０５３は、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ、直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１、及び信号特性判定結果ｓｕｂ＿ｐｒｍを入力として、数１に従って窓関数ｗｉｎｄｏｗ［ｓ］を算出する。更に、窓関数ｗｉｎｄｏｗ［ｓ］に従って、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を算出する。そして、サブフレーム毎に得られたサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］をフレーム毎にまとめたサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］の値を出力する。また、窓関数適応部１０５３は、信号特性判定結果ｓｕｂ＿ｐｒｍに応じて窓関数ｗｉｎｄｏｗ［ｓ］の遷移の遅速を変化させる。より具体的には、まず窓関数適応部１０５３が、信号特性判定結果ｓｕｂ＿ｐｒｍの値を読み出す。そして、窓関数適応部１０５３は信号特性判定結果ｓｕｂ＿ｐｒｍの値に応じてスムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値を設定する。スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値の設定は、例えば信号特性判定結果ｓｕｂ＿ｐｒｍの値とスムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値とを対応付けるテーブルデータを窓関数適応部１０５３が保持しておき、このテーブルデータに従って値を設定することで行われる。スムージングパラメータＸＧａｔｅは、時間方向に対する窓関数ｗｉｎｄｏｗ［ｓ］の変化の遅速を決定するパラメータであり、０＜ＸＧａｔｅ≦１の値が用いられる。スムージングパラメータＹＧａｔｅは、ゲイン方向に対する窓関数ｗｉｎｄｏｗ［ｓ］の変化の遅速を決定するパラメータである。
【００６７】
以下に、リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ、直前のサブフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１、及び信号特性判定結果ｓｕｂ＿ｐｒｍを入力として、窓関数ｗｉｎｄｏｗ［ｓ］、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］、及びサブフレーム毎に算出されるサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］をフレーム毎にまとめたサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を算出する数式である数１を示す。
【数１】
2011071806.tif 000003
【００６８】
まず、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）を入力として、数１（ａ，ｂ，ｃ）より窓関数ｗｉｎｄｏｗ［ｓ］が算出される。次に、算出した窓関数ｗｉｎｄｏｗ［ｓ］を入力として、数１（ｄ）よりサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］が算出される。サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］は、直前フレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１からリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗへと遷移する関数として算出される。最後に、サブフレーム毎に算出したサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を結合し、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］が算出される。
【００６９】
図６にスムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値に応じてサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］が変化する様子を示す。図６（Ａ）は、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値が、（ＸＧａｔｅ，ＹＧａｔｅ）＝（０．５，１．０）と設定された時のサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を示している。図６（Ｂ）は、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値が、（ＸＧａｔｅ，ＹＧａｔｅ）＝（０．２５，１．０）と設定された時のサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を示している。図６（Ｂ）に示すサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］は、図６（Ａ）に示すサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］に比べ、時間方向に速い速度で値が遷移していることがわかる。図６（Ｃ）は、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値が、（ＸＧａｔｅ，ＹＧａｔｅ）＝（０．５，２．０）と設定された時のサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を示している。図６（Ｄ）は、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値が、（ＸＧａｔｅ，ＹＧａｔｅ）＝（０．５，３．０）と設定された時のサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を示している。図６（Ｄ）に示すサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］は、図６（Ｃ）に示すサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］に比べ、ゲイン方向に早い速度で遷移していることがわかる。
【００７０】
例えば、信号特性判定結果ｓｕｂ＿ｐｒｍの値がｓｕｂ＿ｐｒｍ＝６の場合、即ち直前のサブフレームが無音であり、処理中のサブフレームが無声音である場合には、振幅の値がスイッチ的に切り替わる事態が予想される。この様な場合には、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値をそれぞれ大きな値に設定し、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］の遷移を早めることで、振幅の値の切り替わりに追随した制御を行うことができる。一方、信号特性判定結果ｓｕｂ＿ｐｒｍの値がｓｕｂ＿ｐｒｍ＝７の場合、即ち直前のサブフレームが有声音であり、処理中のサブフレームが無声音であると判断された場合には、振幅の値が徐々に切り替わる事態が予想される。この様な場合には、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値をそれぞれ小さな値に設定し、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］の遷移を遅めることで、振幅の値を徐々に制御する。
【００７１】
信号特性判定結果ｓｕｂ＿ｐｒｍの値がこれ以外、すなわちｓｕｂ＿ｐｒｍ＝１，２，３，４，５，８の場合には、スムージングパラメータ（ＸＧａｔｅ，ＹＧａｔｅ）の値をｓｕｂ＿ｐｒｍ＝６の場合とｓｕｂ＿ｐｒｍ＝７の場合に比べ中間となる値に設定してもよい。これにより、音響出力デバイスから出力された音声の音量を使用者にとって自然に変化させることができる。
【００７２】
なお、本実施例においては窓関数適応部１０５３がサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を算出する関数の一例として数１を挙げた。しかし、本発明が用いるサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］の算出方法はこれに限られるものではなく、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］が微分連続性を保ちながら値の遷移の遅速を変化させるものであれば、他の関数を用いて算出しても構わない。
【００７３】
音量制御部１０６は、信号ｈｐ［ｎ］及びサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を入力として、信号ｈｐ［ｎ］中に含まれる振幅の値を変化させ、これをプレ処理信号ｄ［ｎ］として出力する。より具体的には、例えばプレ処理信号ｄ［ｎ］は信号ｈｐ［ｎ］とサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］の積算によって算出される。これにより、プレ処理信号ｄ［ｎ］の振幅の大きさは、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］に沿って変化することとなる。ここで、音量制御部１０６は、例としてプレ処理信号ｄ［ｎ］を信号ｈｐ［ｎ］とサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］の積算によって算出すると述べた。しかし、本発明が用いる音量制御部１０６の動作はこれに限られるものではなく、例えば信号ｈｐ［ｎ］に対してサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を累乗したものを積算しても構わないし、あるいは他の方法によりサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］に従い信号ｈｐ［ｎ］の振幅を重み付けして、プレ処理信号ｄ［ｎ］を出力するものであっても構わない。
【００７４】
周波数特性補正部１０７は、プレ処理信号ｄ［ｎ］を入力として、音響出力デバイスの周波数特性に合わせてプレ処理信号ｄ［ｎ］の補正を行い、出力信号ｙ［ｎ］として出力する。例えば音響出力デバイスが４ｋＨｚ以上の周波数を持つ出力信号ｙ［ｎ］を出力するときに、４ｋＨｚ以下の周波数を持つ出力信号ｙ［ｎ］の出力に比べて出力音量が減衰するような周波数特性を有する場合を考える。この場合、周波数特性補正部１０７は、プレ処理信号ｄ［ｎ］中に含まれる４ｋＨｚ以上の周波数成分を増幅して出力信号ｙ［ｎ］として出力する。これにより、音響出力デバイスによる４ｋＨｚ以上の周波数成分の減衰と、周波数特性補正部１０７が行った４ｋＨｚ以上の周波数成分の増幅とが打ち消しあう。これにより、音響出力デバイスから出力される音声を聞く使用者は、入力音声の持つ本来の音質を体感することができる。より具体的には、周波数特性補正部１０７は、プレ処理信号ｄ［ｎ］に対して例えばＦＦＴ（Ｆｉｎｉｔｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）処理などを施し、周波数領域の信号へと直交変換する。直交変換された周波数領域の信号に対して、音響出力デバイスに合わせて周波数特性の加減算を行う。周波数特性の加減算が行われた周波数領域の信号に対して例えばＩＦＦＴ（InverseＦｉｎｉｔｅ  Ｆ
ｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）処理などを施し、時間領域の信号へと直交変換する。直交変換された時間領域の信号を、出力信号ｙ［ｎ］として出力する。本実施例では周波数特性補正部１０７の動作の例として、プレ処理信号ｄ［ｎ］を周波数変換して周波数特性の補正を行う動作を述べた。しかし、本発明における周波数特性補正部１０７の動作はこれに限られるものではなく、例えばプレ処理信号ｄ［ｎ］の周波数領域への直交変換を省略し、時間領域のプレ処理信号ｄ［ｎ］に対してＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタやＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタ処理を施すことでも同様の発明の効果が得られる。
【００７５】
（制御部による音量制御処理の流れ）
図７は、制御部１００に入力された入力信号ｘ［ｎ］が出力信号ｙ［ｎ］として出力される際の、実質的な処理の流れを述べたフローチャートである。以下に、図７に沿って制御部１００が行う処理を述べる。
【００７６】
まず、制御部１００へと入力された入力信号ｘ［ｎ］は、直流成分除去フィルタ部１０１に入力される（ステップ１００１）。直流成分除去フィルタ部１０１は、入力信号ｘ［ｎ］中に含まれる直流成分を除去し、音声信号のみを抽出した信号ｈｐ［ｎ］をサブフレーム分割部１０２及び音量制御部１０６へと出力する。
【００７７】
信号ｈｐ［ｎ］は、サブフレーム分割部１０２に入力される（ステップ１００２）。サブフレーム分割部１０２は、Ｎ個のサンプルからなる信号ｈｐ［ｎ］を、Ｓ個のサンプルからなるサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］へと分割し、信号特性検出部１０３へと出力する。
【００７８】
サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］は、サブフレーム振幅最大値検出部１０３１１へと入力される（ステップ１００３）。サブフレーム振幅最大値検出部１０３１１は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］内のサンプルのうち、最大の振幅の値を持つサンプルを抽出し、その振幅の値をサブフレーム最大振幅値ｓｕｂ＿ｍａｘとして有音・無音判定部１０３１２へと出力する。
【００７９】
サブフレーム最大振幅値ｓｕｂ＿ｍａｘは、有音・無音判定部１０３１２へと入力される（ステップ１００４）。有音・無音判定部１０３１２は、サブフレーム最大振幅値ｓｕｂ＿ｍａｘと有音無音閾値αとの大小を比較し、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が有音であるか無音であるかを判断する。
【００８０】
サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が有音であると判断されると（ステップ１００４の「有音」）、ｓｕｂ＿ｈｐｂ［ｓ］の入力を受けたゼロクロス数検出部１０３２１によって、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］内に含まれるゼロクロス点の検出が行われる（ステップ１００５）。ゼロクロス点の検出が行われると、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］内に含まれるゼロクロス点の数がゼロクロス数ｓｕｂ＿ｚｃとして有声音・無声音判定部１０３２２へと出力される。
【００８１】
一方、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が無音であると判断されると（ステップ１００４の「無音」）、ゼロクロス数検出部１０３２１によるゼロクロス点の検出は省略され、ゼロクロス数ｓｕｂ＿ｚｃの値はｓｕｂ＿ｚｃ＝０として有声音・無声音判定部１０３２２へと出力される。
【００８２】
ゼロクロス数ｓｕｂ＿ｚｃは、有声音・無声音判定部１０３２２へと入力される（ステップ１００６）。有声音・無声音判定部１０３２２は、ゼロクロス数ｓｕｂ＿ｚｃと閾値βとの大小を比較し、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が無声音であるか否かを判断する。
【００８３】
ステップ１００４及びステップ１００６によって、ｓｕｂ＿ｈｐｂ［ｓ］が無音であるか、有音であるか、あるいは無声音であるかが判断され、この判断結果は信号特性判定結果ｓｕｂ＿ｐｒｍとしてサブフレーム単位ゲイン算出部１０４及び窓関数適応部１０５２へと出力される。
【００８４】
信号特性判定結果ｓｕｂ＿ｐｒｍは、サブフレーム単位ゲイン算出部１０４へと入力される。サブフレーム単位ゲイン算出部１０４は、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が無音であるか、あるいは有声音である場合は（ステップ１００４の「無音」及びステップ１００６の「有声音」）、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値をｓｕｂ＿ｐｏｗ＝１として、サブフレーム単位ゲイン算出部１０５１へ出力する（ステップ１００８）。
【００８５】
一方、サブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］が無声音である場合は（ステップ１００６の「無声音」）、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値をｓｕｂ＿ｐｏｗ＜１となる値に設定して、サブフレーム単位ゲイン算出部１０５１へ出力する（ステップ１００７）。ここで、サブフレーム単位ゲイン算出部１０４の動作の項で述べたように、サブフレーム単位ゲインｓｕｂ＿ｐｏｗの値は、直前のサブフレームが無音であるか、有音であるか、あるいは無声音であるかに応じて変化させてもよい。
【００８６】
サブフレーム単位ゲインｓｕｂ＿ｐｏｗは、サブフレーム変化量算出部１０５１へと入力される（ステップ１００９）。サブフレーム変化量算出部１０５１は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗと、直前のフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１とを比較する。サブフレーム変化量算出部１０５１は、サブフレーム単位ゲインｓｕｂ＿ｐｏｗと、直前のフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１との差が大きい場合には、自然な音量変化が得られるリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗを閾値γに基づいて再設定し、窓関数適応部１０５２へ出力する。
【００８７】
リミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗは、窓関数適応部１０５２へと入力される。窓関数適応部１０５２は、信号特性判定結果ｓｕｂ＿ｐｒｍから、直前のサブフレーム信号が有音であるか、あるいは無音であるかを判断する。これが無音である場合は（ステップ１０１０の「無音」）、窓関数適応部１０５２は直前のリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１の値から処理中のフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値へと早く遷移する、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を算出する（ステップ１０１１）。
【００８８】
一方、直前のサブフレーム信号が有音である場合は（ステップ１０１０の「有音」）、窓関数適応部１０５２は直前のリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗ１の値から処理中のフレームのリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗの値へと緩やかに遷移する、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を算出する（ステップ１０１２）。窓関数適応部１０５２は、算出されたサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を結合し、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を生成する（ステップ１０１３）。生成されたサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］は、音量制御部１０６へと出力される。
【００８９】
サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］は、音量制御部１０６へと入力される（ステップ１０１４）。音量制御部１０６は、信号ｈｐ［ｎ］中に含まれる振幅の値を、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］に従って変化させ、これをプレ処理信号ｄ［ｎ］として、周波数特性補正部１０７へと出力する。
【００９０】
プレ処理信号ｄ［ｎ］は、周波数特性補正部１０７へと入力される（ステップ１０１５）。周波数特性補正部１０７は、制御部１００に接続された音響出力デバイスの周波数特性に合わせてプレ処理信号ｄ［ｎ］の補正を行い、出力信号ｙ［ｎ］として出力する。
【００９１】
上述した一連の処理によって、制御部１００は入力された音声信号に無声音が含まれるか否かを判定し、無声音が含まれる場合には音声信号の振幅の値を減少させる処理を行う。音声信号中の無声音が含まれる箇所に対して振幅の値を減少させる処理を行うことで、音響出力デバイスの出力周波数特性に合わせて４ｋＨｚ以上の帯域の音声信号の増幅がなされた場合であっても、音声信号が振幅飽和を起こす事態を防ぐことができる。
【００９２】
更に、制御部１００はサブフレーム毎にリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗを算出するが、このリミッタ制御ゲインｌｉｍｉｔ＿ｐｏｗを滑らかに変化させるようにサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を算出する。このサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］に従って各サンプルの振幅補正を行うため、使用者に音量の急激な変化による不自然な印象を与えることがない。
【００９３】
更に、制御部１００は無音状態から急に無声音が発生された場合はサンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］を急激に変化させる。これにより、急な振幅飽和の発生を防ぎ、音量制御を時間的に精度良く行うことができる。一方、有声音から無声音に変化する場合には急には振幅飽和が発生しないため、サンプル単位ゲインｓｍ＿ｐｏｗ［ｎ］の変化を緩やかに行う。これにより、使用者にとって不自然な印象を与えることなく振幅を制御することができる。
【００９４】
（第２の実施例）
図８は、本発明の第２の実施形態に関わる電子機器に内蔵される、制御部１００及び、制御部１００に接続された第２制御部２００の構成を示す図である。
【００９５】
制御部１００から出力される出力信号ｙ［ｎ］は、入力信号ｘ［ｎ］中に含まれる無声音部分の振幅が減衰された信号となっている。従って、無声音の増幅が原因となって発生する振幅飽和が生じる事態は防がれている。ところで入力信号ｘ［ｎ］は、例えば入力信号ｘ［ｎ］を生成した話者のアクセントや、入力信号ｘ［ｎ］を生成する原信号となった音楽などの強弱、あるいは入力信号を生成する機器の状態の変化などによって、その振幅の強弱には大きな差が生じることとなる。制御部１００から出力される出力信号ｙ［ｎ］も依然として、振幅の強弱に大きな差を含んでいる。この様な振幅の変化の大きい信号を音響出力デバイスから出力すると、例えば無音状態から突然大きな音声が音響出力デバイスから出力されることで携帯電話機の使用者に不快な印象を与える虞や、あるいは音量の小さい音声が音響出力デバイスから出力されることで携帯電話機の使用者が音声を聞き取ることが出来なくなる虞があった。
【００９６】
そこで、第２の実施形態においては、制御部１００に更に第２制御部２００を接続し、第２制御部によって出力信号ｙ［ｎ］の振幅の正規化を行う。そして、正規化された出力信号ｙ［ｎ］を出力信号ｚ［ｎ］として音響出力デバイスへ出力する。振幅を正規化することにより、一定の音量を保った聞き取りやすい音声信号を出力することができる。
【００９７】
更に、無音状態から急に音声が発生する音声信号が入力された場合は、振幅ゲインの変化も急激なものとする。これにより、無音状態から突然大きな音量が出力される事態を避け、音量制御を時間的に精度良く行うことができる。一方、音声が継続するような音声信号が入力された場合は、振幅ゲインの変化を緩やかなものとする。これにより、使用者にとって不自然な印象を与えることなく振幅を制御することができる。
【００９８】
以下、図３に示す第2制御部２００の各構成要素について、その構成と役割を述べる。制
御部２００は、有音・無音検出部２０１、フレーム振幅最大値検出部２０２、フレーム単位ゲイン算出部２０３、第２サンプル単位ゲイン算出部２０４、及び音量正規化部２０５から構成される。
【００９９】
有音・無音検出部２０１は、直流成分制御フィルタ１０１から出力された信号ｈｐ［ｎ］を入力として、信号ｈｐ［ｎ］が有音であるか、無音であるかを判別する。また、直前のフレームの信号ｈｐ［ｎ］が有音であるか、無音であるかの情報を用いて、直前フレームと処理中のフレーム間の有音・無音の切り替わりを示す情報を、有音・無音検出結果ｆｒ＿ｍｕｍとして出力する。有音・無音検出部２０１は、第１の実施例で述べたサブフレーム信号ｓｕｂ＿ｈｐｂ［ｓ］を入力とする有音・無音検出部１０３１と同様の処理によって、ｈｐ［ｎ］の有音・無音の判別を行う。
【０１００】
以下に、処理中のフレームが有音・無音であるか、また直前のフレームが有音・無音であるかによって有音・無音検出結果ｆｒ＿ｍｕｍ及び直前フレームの有音・無音検出結果ｆｒ＿ｍｕｍ１を算出する条件を示す。
【０１０１】
直前のフレームと処理中のフレームが共に無音であると判断された場合に、有音・無音検出結果ｆｒ＿ｍｕｍの値をｆｒ＿ｍｕｍ＝０、直前フレームの有音・無音検出結果ｆｒ＿ｍｕｍ１の値をｆｒ＿ｍｕｍ１＝０とする。
【０１０２】
直前のフレームが無音であり、処理中のフレームが有音であると判断された場合に、有音・無音検出結果ｆｒ＿ｍｕｍの値をｆｒ＿ｍｕｍ＝１、直前フレームの有音・無音検出結果ｆｒ＿ｍｕｍ１の値をｆｒ＿ｍｕｍ１＝１とする。
【０１０３】
直前のフレームが有音であり、処理中のフレームが無音であると判断された場合に、有音・無音検出結果ｆｒ＿ｍｕｍの値をｆｒ＿ｍｕｍ＝２、直前フレームの有音・無音検出結果ｆｒ＿ｍｕｍ１の値をｆｒ＿ｍｕｍ１＝０とする。
【０１０４】
直前のフレームと処理中のフレームが共に有音であると判断された場合に、有音・無音検出結果ｆｒ＿ｍｕｍの値をｆｒ＿ｍｕｍ＝３、直前フレームの有音・無音検出結果ｆｒ＿ｍｕｍ１の値をｆｒ＿ｍｕｍ１＝１とする。
【０１０５】
フレーム振幅最大値検出部２０２は、有音・無音検出結果ｆｒ＿ｍｕｍ及び出力信号ｙ［ｎ］を入力として、出力信号ｙ［ｎ］内に含まれる振幅の最大値を検出する。この検出された振幅の最大値をフレーム振幅最大値ｆｒ＿ｍａｘとして出力する。また、入力された有音・無音検出結果ｆｒ＿ｍｕｍの値がｆｒ＿ｍｕｍ＝０である場合には、最大値の検出動作を省略し、フレーム振幅最大値ｆｒ＿ｍａｘの値をｆｒ＿ｍａｘ＝０として出力してもよい。また、フレーム振幅最大値検出部２０２は、信号ｈｐ［ｎ］内に含まれる振幅の最大値を検出し出力すると述べた。しかし、フレーム振幅最大値検出部２０３が出力する値はこれに限られるものではなく、信号ｈｐ［ｎ］の平均の振幅レベルを出力するものであっても構わない。また、信号ｈｐ［ｎ］の平均のスペクトルパワーを出力するものであっても構わない。
【０１０６】
フレーム単位ゲイン算出部２０３は、フレーム振幅最大値検出部２０２から出力されたフレーム振幅最大値ｆｒ＿ｍａｘ及び有音・無音検出部２０１から出力された有音・無音検出結果ｆｒ＿ｍｕｍを入力として、音量制御を行うための基準値であるフレーム単位ゲインｆｒ＿ｐｏｗを、フレーム毎に算出する。より具体的には、有音・無音検出結果ｆｒ＿ｍｕｍの値に応じて、フレーム単位ゲインｆｒ＿ｐｏｗの値をｆｒ＿ｐｏｗ＝ｆ（ｂ）（ｂ＝０，１，２，３）と設定する。ここで、有音・無音検出結果ｆｒ＿ｍｕｍの値がｆｒ＿ｍｕｍ＝＝０、ｆｒ＿ｍｕｍ＝＝２のいずれかである場合、即ち処理中のフレームが無音であると判断された場合は、処理中のフレームに振幅を増減する制御を行う必要がない。従って、処理中のフレームが無音であると判断された場合は、フレーム単位ゲインｆｒ＿ｐｏｗの値はｆｒ＿ｐｏｗ＝１が設定される。一方、有音・無音検出結果ｆｒ＿ｍｕｍの値がｆｒ＿ｍｕｍ＝＝１、ｆｒ＿ｍｕｍ＝＝３のいずれかである場合、即ち処理中のフレームが有音であると判断された場合は、処理中のフレームが音響出力デバイスから出力された際に一定の音量となるよう、振幅の規格化を行う必要がある。従って、処理中のフレームが有音であると判断された場合は、フレーム単位ゲインｆｒ＿ｐｏｗの値はｆｒ＿ｐｏｗ＝（ＯＵＴ＿ＬＥＶＥＬ／ｆｒ＿ｍａｘ）が設定される。ここで、音量正規化目標レベルＯＵＴ＿ＬＥＶＥＬは、出力目標とする振幅レベルである。音量正規化目標レベルＯＵＴ＿ＬＥＶＥＬは、予め定められた値を用いても構わないし、携帯電話機の使用者が必要に応じて定める値であっても構わない。
【０１０７】
第２サンプル単位ゲイン算出部２０４は、フレーム単位ゲイン算出部２０３から出力されたフレーム単位ゲインｆｒ＿ｐｏｗ及び有音・無音検出結果ｆｒ＿ｍｕｍを入力として、出力信号ｙ［ｎ］を構成する各サンプルの振幅の値を制御するための第２サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］を出力する。第２サンプル単位ゲイン算出部２０４は、信号特性判定結果ｓｕｂ＿ｐｒｍ及びサブフレーム単位ゲインｓｕｂ＿ｐｏｗを入力として、サンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］を出力するサンプル単位ゲイン算出部１０５と同様の処理によって、第２サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の出力を行う。先述したサンプル単位ゲイン算出部１０５は、信号特性判定結果ｓｕｂ＿ｐｒｍに応じてサンプル単位ゲインｓｍ＿ｐｏｗ［ｓ］の遷移の遅速を変化させていた。一方第２サンプル単位ゲイン算出部２０４は、有音・無音検出結果ｆｒ＿ｍｕｍに応じて第２サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の遷移の遅速を変化させる。例えば有音・無音検出結果ｆｒ＿ｍｕｍの値がｆｒ＿ｍｕｍ＝＝１であるとき、即ち直前のフレームが無音であり、処理中のフレームが有音である場合は、無音から有音への変化はスイッチ的に急激に行われる事態が考えられる。この様な場合には第２サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の遷移を早めることで、スイッチ的な音量の変化に対しても追従性よく音量の補正を行うことができる。一方、有音・無音検出結果ｆｒ＿ｍｕｍの値がｆｒ＿ｍｕｍ＝＝３であるとき、即ち直前のフレームと処理中のフレームが共に有音である場合は、音量の変化は比較的緩やかに行われる事態が考えられる。この様な場合には第２サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の遷移を遅めることで、携帯電話機の使用者にとって自然な補正量で音量の補正を行うことが可能である。
【０１０８】
音量正規化部２０５は、出力信号ｙ［ｎ］及びサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］を入力として、出力信号ｙ［ｎ］の各サンプルの振幅の値を変化させる。より具体的には、音量正規化部２０５は、出力信号ｚ［ｎ］を、出力信号ｙ［ｎ］とサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］との積算から算出して出力する。例えばサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］が１より小さな値である場合には、出力信号ｙ［ｎ］に比べ出力信号ｚ［ｎ］は小さな振幅の値に減衰されることとなる。一方、例えばサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］が１より大きな値である場合には、出力信号ｙ［ｎ］に比べ出力信号ｚ［ｎ］は大きな振幅の値に増幅されることとなる。こうした音量正規下部２０５による振幅値の操作によって、音量正規化目標レベルＯＵＴ＿ＬＥＶＥＬに沿った出力信号ｚ［ｎ］を得ることができる。
【０１０９】
（第２制御部による音量制御処理の流れ）
図９は、第２制御部２００に入力された出力信号ｙ［ｎ］が出力信号ｚ［ｎ］として出力される際の、実質的な処理の流れを述べたフローチャートである。以下に、図９に沿って第２制御部２００が行う処理を述べる。
【０１１０】
まず、第２制御部２００へと入力された出力信号ｙ［ｎ］は、フレーム振幅最大値検出部２０２へと入力される（ステップ２００１）。フレーム振幅最大値検出部は、出力信号ｙ［ｎ］内のサンプルのうち、最大の振幅の値を持つサンプルを抽出し、その振幅の値をフレーム最大振幅値ｆｒ＿ｍａｘとしてフレーム単位ゲイン算出部２０３へと出力する。
【０１１１】
一方、第２制御部２００へと入力された信号ｈｐ［ｎ］は、有音・無音検出部２０１へと入力される（ステップ２００２）。有音・無音検出部２０１は、信号ｈｐ［ｎ］の振幅の値から、信号ｈｐ［ｎ］が有音であるか、あるいは無音であるかを判断する。有音・無音検出部２０１は、直前のフレームが有音であるかあるいは無音であるかと、処理中のフレームが有音であるかあるいは無音であるかを判別した有音無音検出結果ｆｒ＿ｍｕｍを、フレーム単位ゲイン算出部２０３へと出力する。
【０１１２】
有音・無音検出結果ｆｒ＿ｍｕｍ及びフレーム振幅最大値ｆｒ＿ｍａｘは、フレーム単位ゲイン算出部２０３へと入力される。フレーム単位ゲイン算出部２０３は、有音・無音検出結果ｆｒ＿ｍｕｍから入力信号ｙ［ｎ］が有音か無音かの判断を行う（ステップ２００２）。入力信号ｙ［ｎ］が有音であると判断されると（ステップ２００２の「有音」）、フレーム単位ゲイン算出部２０３はフレーム振幅最大値ｆｒ＿ｍａｘを規格化したフレーム単位ゲインｆｒ＿ｐｏｗを出力する（ステップ２００３）。
【０１１３】
一方、入力信号ｙ［ｎ］が無音であると判断されると（ステップ２００２の「無音」）、フレーム単位ゲイン算出部２０３はフレーム単位ゲインｆｒ＿ｐｏｗの値をｆｒ＿ｐｏｗ＝１として出力する（ステップ２００４）。
【０１１４】
フレーム単位ゲインｆｒ＿ｐｏｗ及び有音・無音検出結果ｆｒ＿ｍｕｍは、第２サンプル単位ゲイン算出部２０４へと入力される。第２サンプル単位ゲイン算出部２０４は、有音・無音検出結果ｆｒ＿ｍｕｍから直前のフレームの入力信号ｙ［ｎ］が有音か無音かの判断を行う（ステップ２００５）。直前のフレームの入力信号ｙ［ｎ］が無音であると判断されると（ステップ２００５の「無音」）、第２サンプル単位ゲイン算出部２０４は直前のフレームのフレーム単位ゲインｆｒ＿ｐｏｗ１から処理中のフレームのフレーム単位ゲインｆｒ＿ｐｏｗへと早く遷移するサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］を算出する（ステップ２００６）。
【０１１５】
一方、直前のフレームの入力信号ｙ［ｎ］が有音であると判断されると（ステップ２００５の「有音」）、第２サンプル単位ゲイン算出部２０４は、直前のフレームのフレーム単位ゲインｆｒ＿ｐｏｗ１から処理中のフレームのフレーム単位ゲインｆｒ＿ｐｏｗへと緩やかに遷移するサンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］を算出する（ステップ２００７）。
【０１１６】
サンプル単位ゲインａｕｔｏ＿ｇａｉｎ［ｎ］は、音量正規化部２０５へと入力される（ステップ２００８）。音量正規化部２０５は、出力信号ｙ［ｎ］中に含まれる振幅の値を、振幅ゲインａｕｔｏ＿ｇａｉｎ［ｎ］に従って変化させ、これを出力信号ｚ［ｎ］として出力する。
【０１１７】
上述した一連の処理によって、第２制御部２００は、制御部１００が出力した出力信号ｙ［ｎ］の振幅の値を音量正規化目標レベルＯＵＴ＿ＬＥＶＥＬに従って正規化し、正規化された出力信号ｚ［ｎ］を出力する。振幅を正規化することにより、一定の音量を保った聞き取りやすい音声信号を出力することができる。
【０１１８】
更に、無音状態から急に音声が発生する出力信号ｙ［ｎ］が入力された場合は、振幅ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の変化も急激なものとする。これにより、無音状態から突然大きな音量が出力される事態を避け、音量制御を時間的に精度良く行うことができる。一方、音声が継続するような出力信号ｙ［ｎ］が入力された場合は、振幅ゲインａｕｔｏ＿ｇａｉｎ［ｎ］の変化を緩やかなものとする。これにより、使用者にとって不自然な印象を与えることなく振幅を制御することができる。
【０１１９】
なお、本発明は、上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲であれば、構成要素を変形して具体化しても良い。また、上記各実施形態に開示されている複数の構成要素の適宣な組み合わせにより、種々の発明を形成しても良い。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【０１２０】
１００  制御部
１０１  直流成分制御フィルタ
１０２  サブフレーム分割部
１０３  信号特性検出部
１０３１  信号特性検出部
１０３１１  サブフレーム振幅最大値検出部
１０３１２  有音・無音判定部
１０３２  有声音・無声音検出部
１０３２１  ゼロクロス数検出部
１０３２２  有声音・無声音判定部
１０４  サブフレーム単位ゲイン算出部
１０５  サンプル単位ゲイン算出部
１０５１  サブフレーム変化量算出部
１０５２  窓関数適応部
１０５３  遅延部
１０６  音量制御部
１０７  周波数特性補正部
２００  第２制御部
２０１  有音・無音検出部
２０２  フレーム振幅最大値検出部
２０３  フレーム単位ゲイン算出部
２０４  第２サンプル単位ゲイン算出部
２０５  音量正規化部
【図１】
2011071806.tif 000004
【図２】
2011071806.tif 000005
【図３】
2011071806.tif 000006
【図４】
2011071806.tif 000007
【図５】
2011071806.tif 000008
【図６】
2011071806.tif 000009
【図７】
2011071806.tif 000010
【図８】
2011071806.tif 000011
【図９】
2011071806.tif 000012