(57)【特許請求の範囲】
【請求項１】
マイクから出力するマイク検出データと音声データ発生部から出力する音声データを入力されて音声パワーと騒音パワーを求め、これらのパワーに基づき騒音レベルによらず音声が明瞭に聞こえるゲインを算出し、算出したゲインを音声データに乗算して出力する音声明瞭度改善処理をマルチプロセスの1つのプロセスとして実行する音声再生方法において、
前記プロセスを、前記ゲインを演算する第１の処理と、該ゲインを音声データに乗算して出力する第２の処理に分け、
第１の処理によりゲインを更新して保存し、該第１の処理と非同期に、第２の処理においてキューバッファが満杯になるまで音声データに前記保存されているゲインを乗算して該キューバッファに格納し、
該キューバッファより音声データを順番に読み出して音声信号を再生する、
ことを特徴とする音声再生方法。
【請求項２】
前記第２の処理において、キューバッファに空きが出る毎に次の音声データに前記保存されているゲインを乗算した乗算結果を該キューバッファに格納する、
ことを特徴とする請求項１記載の音声再生方法。
【請求項３】
マイクから出力するマイク検出データと音声データ発生部から出力する音声データを入力されて音声パワーと騒音パワーを求め、これらのパワーに基づき騒音レベルによらず音声が明瞭に聞こえるゲインを算出し、算出したゲインを音声データに乗算して出力する音声明瞭度改善処理を1つのプロセスとするマルチプロセスシステムにおいて、
音声データ列を出力する音声データ発生部、
ゲインを乗算された音声データを順番に保存するキューバッファ、
前記プロセスを、前記ゲインを演算する第１の処理と、該ゲインを音声データに乗算して出力する第２の処理に分け、第１の処理によりゲインを更新して保存し、該第１の処理と非同期に、第２の処理において前記キューバッファが満杯になるまで音声データに前記保存されているゲインを乗算して該キューバッファに格納する処理部、
音声データを前記キューバッファより順番に読み出してオーディオ部に入力するドライバ手段、
を備えたことを特徴とするマルチプロセスシステム。
【請求項４】
前記処理部は、前記第２の処理において、キューバッファに空きが出る毎に次の音声データに前記保存されているゲインを乗算して前記キューバッファに格納する、
ことを特徴とする請求項３記載のマルチプロセスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声再生方法およびマルチプロセスシステムに係り、特に、マルチプロセスの1つのプロセスとして音声データ発生部が出力する音声データ列に所定の補正処理を施して出力する音声再生方法およびマルチプロセスシステムに関する。
【背景技術】
【０００２】
スピーカから出力された音声（ナビゲーションガイド音声や，ニュースやメールの読上げ音声など）を騒音下でも明瞭に聞こえるようにする車載の音声明瞭度改善システムがある。例えば、車載用ナビゲーション装置では進路案内等の音声がスピーカから車室内に出力されるが、走行中などでエンジン音、ロードノイズ等の騒音が大きいときはマスキング効果でスピーカ出力音声が聞きづらくなる。そこで、スピーカ出力音声に比し騒音が大きいときはスピーカ出力音声にラウドネス補償を施して音声帯域全体のゲインを上げるなどして騒音下でもスピーカ出力音声が明瞭に聞こえるようにしている。
【０００３】
図３は従来の音声明瞭度改善システムの構成図である（例えば特許文献１参照）。図３によれば、騒音分離部（信号分離部）４内の同定フィルタ５によりマイク３の設置位置における案内音声信号を模擬し、減算器６により、マイク３の出力から前記信号を引くことによって騒音信号を抽出している。補正値算出部（ラウドネス補償ゲイン算出部）９では、案内音声信号および騒音信号のそれぞれの信号を元にGoptを算出する。RG補正部１は該補正値を入力され、案内音声信号RGに補正値を乗算して出力する。
【０００４】
図４はRG補正部１、騒音分離部４、補正値算出部９をDSP（Digital Signal Processor）１０により実現し、ナビ案内音声出力部を車載システムのボイスプレーヤ１１で構成した音声明瞭度改善システムの構成図であり、図３と同一部分には同一符号を付している。
ボイスプレーヤ１１はナビ案内用の多数の音声データ（RGデータ）を保存するRGデータ保存部１１a、RGデータ保存部１１aから所定のメッセージを作成するためのRGデータを読み出して復号して出力するRG生成部１１b、RG生成部１１bから出力するRGデータを連結して再生するRG再生部１１cを備え、HMI(Human Machine Interface)１２を介して図示しないナビゲーション装置からの要求を受信し、該要求に応じたメッセージをスピーカ２から出力するよう制御する。サウンドドライバ１３はボイスプレーヤ１１からメッセージを形成するRGデータを連続的に読み出して案内音声信号RG としてDSP１０のRG補正部１と騒音分離部４に入力し、DSP１０は図３で説明した音声明瞭度改善制御を行って補正された案内音声信号RG′を、DA変換器１４を介してスピーカ２に入力する。マイク検出信号MICはAD変換器１５によりディジタルに変換されてDSP１０の騒音分離部４に入力する。なお、DSP１０は、一定時間間隔(約11msec)毎に、マイク３から取得したマイク検出信号MICと音声信号RGとを用いて、騒音分離、補正値算出、RG補正処理を行う。
従来、音声明瞭度改善システムは図４に示すように専用のDSPを用いて実現しているが、DSPは高価であり、今後コストダウンを図っていく上でDSPを使用しない構成が要望されている。このために、マルチプロセス動作する車載システムにおける1つのプロセスとして音声明瞭度改善処理を行うことが考えられる。
【０００５】
図５は、マルチプロセス動作する車載システムが、1つのプロセスとして音声明瞭度改善処理を行う場合の音声明瞭度改善ユニットの構成図であり、図示しないがHMI 12にはナビゲーションユニット、オーディオユニット、ハンズフリーユニットなどが接続され、各ユニットの制御処理はそれぞれ1つのプロセスとして、RISC(Reduced Instruction Set Computer：縮小命令セットコンピュータ)がマルチプロセス制御により実現する。なお、図５において図４と同一部分には同一符号を付している。異なる点は、DSPを除去し、DSPで実現していたRG補正部１、騒音分離部４、補正値算出部９の処理を、RISCが１つのプロセスとして実現するボイスプレーヤ１１に含めた点である。
【特許文献１】特開平１１−１６６８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、マルチプロセスが動作する環境では、優先度の高いプロセスに優先的にCPU処理を割当てる。このため、任意のプロセスに対してCPU処理の割当てタイミング・量が常に保証されておらず、状況によっては、音声明瞭度改善処理（RG補正、騒音分離、補正値算出等）が実行できなくなる場合が発生する。音声明瞭度改善処理GAE(Guidance Articulation Enhancement)は、一定間隔ごとに、一定量の処理が割り当てられることを前提としているため、CPU処理の割り当てがないと、音切れが発生する。図６は音切れ発生のタイムチャートである。ただし、図６において、RG(DB)は、RGデータ保存部１１aから読み出されるRGデータ(1),(2),(3),・・・,(6),(7),・・の順番を示し、RG(DB)以外の他の項目において横軸は時間軸になっている。
マイク３は一定時間間隔T毎にマイク検出信号MIC (Ｉ，II，III，・・・，Ｖ，VI，・
・)を出力する。時刻t0でHMI １２よりボイスプレーヤ１１にRG再生命令が発生すると、ボイスプレーヤ１１はマイク検出信号MICが検出されるタイミングで音声明瞭度改善処理GAEを実行し、計算した補正RGデータ(RG′)を図示しないバッファAに格納する。なお、図においてGAEの欄において実線Ｐで示す期間はボイスプレーヤ１１にCPU処理が割当てられており、点線Qで示す期間はボイスプレーヤ１１にCPU処理が割当てられていないことを示している。また、最初のGAE処理では、RGデータに基づく音声をスピーカ２から出力しない状態で、マイク検出信号MIC (Ｉ)と第1番目のRGデータ(1)とを用いて補正値αの計算を行い、(1)×αを補正RGデータとしてバッファAに格納している。
以後、ボイスプレーヤ１１はマイク検出信号MICが検出されるタイミングで音声明瞭度改善処理GAEを実行し、計算した補正RGデータ(2)×βをバッファBに、(3)×γをバッファCに、(4)×δをバッファAに、・・・に順番に格納する。バッファとしては３つのバッファA、バッファB、バッファCが存在し、これらバッファに循環的に補正RGデータが格納され、格納順に読み出される。すなわち、３つのバッファA、バッファB、バッファCはキューバッファとして動作する。
【０００７】
以上と並行してサウンドドライバ１３は、各バッファA，B，Cに補正RGデータが格納されると該バッファより補正RGデータを格納順に読み出してDA変換器１４を介してスピーカ2に入力する。以上の処理により順番に補正RGデータが、(1)×α→(2)×β→(3)×γ→(4)×δとスピーカ２に入力される。すなわち、CPU処理の割り当てがボイスプレーヤ１１に定期的に所定時間づつ割当てられれば、音切れが発生することなく音声がスピーカ２より出力される。ところが、ボイスプレーヤ１１にCPU処理の割り当てがなくなると、その期間、音声明瞭度改善処理GAEを実行できなくなる。図６の例では、補正RGデータ(5)×εの計算ができなくなり、この計算はCPU処理の割り当てがあるまで保留される。この結果、補正RGデータ(4)×δがバッファから読み出すと、該バッファが空になり、補正RGデータ(5)×εが計算されるまで、換言すれば、CPU処理の割り当てがあるまで音切れが発生する。
以上から本発明の目的は、音声データ発生部が出力する音声データ列に所定の補正処理を施して出力するプロセスをマルチプロセスの1つのプロセスとする場合、該プロセスにCPU処理の割り当てがされなくても音切れが生じないようにすることである。
【課題を解決するための手段】
【０００８】
・音声再生方法
本発明の第１は、マイクから出力するマイク検出データと音声データ発生部から出力する音声データを入力されて音声パワーと騒音パワーを求め、これらのパワーに基づき騒音レベルによらず音声が明瞭に聞こえるゲインを算出し、算出したゲインを音声データに乗算して出力する音声明瞭度改善処理をマルチプロセスの1つのプロセスとして実行する音声再生方法であり、前記プロセスを、前記ゲインを演算する第１の処理と、該ゲインを音声データに乗算して出力する第２の処理に分け、第１の処理によりゲインを更新して保存し、該第１の処理と非同期に、第２の処理においてキューバッファが満杯になるまで音声データに前記保存されているゲインを乗算して該キューバッファに格納し、該キューバッファより音声データを順番に読み出して音声信号を再生する。前記第２の処理において、キューバッファに空きが出る毎に次の音声データに前記保存されているゲインを乗算した乗算結果を該キューバッファに格納する。
【０００９】
・マルチプロセスシステム
本発明の第２はマイクから出力するマイク検出データと音声データ発生部から出力する音声データを入力されて音声パワーと騒音パワーを求め、これらのパワーに基づき騒音レベルによらず音声が明瞭に聞こえるゲインを算出し、算出したゲインを音声データに乗算して出力する音声明瞭度改善処理を1つのプロセスとするマルチプロセスシステムであり、音声データ列を出力する音声データ発生部、ゲインを乗算された音声データを順番に保存するキューバッファ、前記プロセスを、前記ゲインを演算する第１の処理と、該ゲインを音声データに乗算して出力する第２の処理に分け、第１の処理によりゲインを更新して保存し、該第１の処理と非同期に、第２の処理において前記キューバッファが満杯になるまで音声データに前記保存されているゲインを乗算して該キューバッファに格納する処理部、音声データを前記キューバッファより順番に読み出してオーディオ部に入力するドライバ手段、を備えている。前記処理部は、前記第２の処理において、キューバッファに空きが出る毎に次の音声データに前記保存されているゲインを乗算して前記キューバッファに格納する。
【発明の効果】
【００１０】
本発明によれば、マルチプロセスの1つのプロセスとして音声データ発生部が出力する音声データ列に所定の補正処理を施して出力する音声再生方法において、前記プロセスを、補正値を演算する第１の処理と、該補正値を用いて音声信号の補正を行う第２の処理に分け、第１の処理により補正値を更新して保存し、該第１の処理と非同期に、第２の処理においてキューバッファが満杯になるまで音声データに前記保存されている補正値を乗算し、該乗算結果をキューバッファに格納すると共に、該キューバッファより音声データを順番に読み出して音声信号を再生するようにしたから、キューバッファが空になるまで音切れは発生しない。したがって、本発明によれば、マルチプロセス制御の1つのプロセスとして音声データ列に所定の補正処理を施して出力する場合、該プロセスにCPU処理の割り当てがされなくても音切れが生じないようにできる。
【発明を実施するための最良の形態】
【００１１】
（A）本発明の概略
音切れの可能性を軽減するためには、以下の３点のいずれかで対策を行なう必要がある。第１は、用意するバッファのサイズを大きくする、第２は、用意するバッファの個数を多くする、第３は、音声信号再生時の、バッファA,B,C(図６参照)の循環に係わる処理を少なくすること、である。
しかし、第１の方法のように、再生する音声のサイズ分のバッファを用意して音切れを防止することは、現実的には不可能である。メールやニュースなどの長い文章の読み上げは、その長さが不特定であり、サイズをあらかじめ把握できないからである。また、大きなバッファを用いることは、「使用メモリ量の増大」と、「再生開始までに時間がかかる」という別の問題を引き起こす。第２の方法も、第１の方法と同等の問題が生じる。このため、本発明では第３の方法により、音切れを防止する。すなわち、本発明では、第３の方法の音声信号再生時のバッファの循環に係わるGAE処理を少なくすることにより音切れ発生頻度を軽減する。本発明では、バッファの循環に係わるGAE処理をRG補正処理のみとし、騒音分離や補正値算出処理なの他の処理はバッファの循環に係わらない処理とする。
具体的に言えば、音声データ列に所定の補正処理を施して出力するプロセスをマルチプロセスの1つのプロセスとする場合、(1)該プロセスを、補正値を演算する第１の処理と、該補正値を用いて音声信号の補正を行う第２の処理に分け、(2)第１の処理により補正値を更新して保存し、(3)該第１の処理と非同期に、第２の処理においてキューバッファが満杯になるまで音声データに前記保存されている補正値を乗算して該乗算結果をキューバッファに格納し、(4)該キューバッファより音声データを順番に読み出して音声信号を再生する。
【００１２】
（B）本発明の音声明瞭度改善ユニット
図１は、マルチプロセス制御を行う車載システムが１つのプロセスとして音声明瞭度改善処理を行う場合の音声明瞭度改善ユニットの構成図である。
ボイスプレーヤ５１はマルチプロセスの１つのプロセスである音声明瞭度改善処理を行なうもので、HMI ５２に接続されている。HMI ５２には図示しないがナビゲーションユニット、オーディオユニット、ハンズフリーユニットなどが接続され、RISC(Reduced Instruction Set Computer：縮小命令セットコンピュータ)が各ユニットの制御処理をそれぞれ1つのプロセスとしてマルチプロセス制御により実現する。
ボイスプレーヤ５１は、ナビ案内用の多数の音声データ（RGデータ）を保存するRGデータ保存部６１、RGデータ保存部６１から所定のメッセージを作成するためのRGデータを読み出して復号して出力するRG生成部６２、RG生成部６２から出力するRGデータを連結して再生するRG再生部６３、音声明瞭度改善処理GAEを実行するGAE部６４を備えている。RG再生部６３はRG生成部６２から受信したRGデータを入力バッファ６３aに保存すると共にGAE部６４に入力し、かつ、GAE部６４で計算した補正RGデータRG′を出力バッファ(キューバッファ)６３bに保存する。キューバッファ６３bは例えば３個の補正RGデータRG′を順番に保存し、かつ保存順に出力する３つのバッファA、バッファB、バッファCを有している。
【００１３】
GAE部６４は音声明瞭度改善処理GAEを実行する部分であり、騒音分離と補正値算出を行う第１処理部６４aと、案内音声信号RGにRG補正を施す第２処理部６４bに分けられ、第１処理部６４aと第２処理部６４bは互いに非同期で動作するようになっている。第１処理部６４aにおいて、騒音分離部７１は、マイク５６から出力するマイク検出信号MICと案内音声信号RGを入力されて、案内音声パワーと騒音パワーを分離し、補正値算出部７２は案内音声パワーと騒音パワーに基づき、騒音のレベルによらず案内音声が明瞭に聞こえる補正値（ゲイン）を人のラウドネス特性により算出し、算出した補正値で補正値記憶部７３に記憶されている補正値を更新する。補正値記憶部７３は第１、第２処理部６４ａ，６４ｂのいずれからも参照することができる。
第２処理部６４bにおけるRG補正部７４は補正値記憶部７３に記憶されている補正値を音声データ（RGデータ）RGに乗算してキューバッファ６３bに保存する。RG補正部７４は、キューバッファ６３bが満杯になるまで補正値を音声データ（RGデータ）RGに順番に乗算し乗算結果(補正RGデータ)RG′をキューバッファ６３bの３つのバッファA,B,Cに循環的に保存する。
【００１４】
サウンドドライバ５３はキューバッファ６３bに保存されている例えば３つの乗算結果(補正RGデータ)RG′を保存順に読み出し、DA変換器（DAC）５４を介してスピーカ５５に入力して車室内に音声を出力する。サウンドドライバ５３は補正RGデータの出力が終了すれば、次の補正RGデータをキューバッファ６３bより読み出してDA変換器（DAC）５４を介してスピーカ５５に出力する。また、サウンドドライバ５３はマイク５６により検出されたマイク検出信号MICをAD変換器（ADC）５７から入力されてボイスプレーヤ５１に入力する。
図１の音声明瞭度改善ユニットによれば、(1)GAE部６４を、補正値を演算する第１処理部６４aと該補正値を用いて音声信号の補正を行う第２処理部６４bに分け、(2) 第１処理部６４aは補正値演算処理により補正値記憶部７３に記憶されている補正値を更新し、(3) 第２処理部６４bは第１処理部６４aと非同期に、順次RGデータに保存されている補正値を乗算してキューバッファ６３bに満杯になるまで格納し、(4)サウンドドライバ５３はキューバッファ６３bから所定周期で補正RGデータを保存順に読み出して出力する。この結果、マルチプロセス制御において、音声明瞭度改善ユニットにCPU処理の割り当てがされなくても、キューバッファ６３bが空になるまで音切れは発生しない。
【００１５】
図２は図１のタイムチャートである。ただし、図２において、RG(DB)は、RGデータ保存部６１から読み出されるRGデータ(1),(2),(3),・・・,(6),(7),・・の順番を示し、RG(DB)以外の他の項目において横軸は時間軸になっている。
マイク５６は一定時間間隔T毎にマイク検出信号MIC（Ｉ，II，III，・・・，Ｖ，VI，
・・）を出力する。時刻t0でHMI ５２よりボイスプレーヤ５１にRG再生命令が発生すると、GAE部６４の第１処理部６４aはマイク検出信号MICが検出されるタイミングで音声明瞭度改善処理GAEの第１処理を実行し、計算した補正値αを補正値記憶部７３に格納する。なお、図において実線Pで示す期間はボイスプレーヤ５１にCPU処理が割当てられており、点線Qで示す期間はボイスプレーヤ５１にCPU処理が割当てられていないことを示している。また、最初の補正値αの計算は、RGデータに基づく音声をスピーカ５５から出力しない状態でマイク検出音信号MIC (Ｉ)と第1番目のRGデータ(1)とを用いて該補正値αの計算を行っている。
【００１６】
GAE部６４の第２処理部６４bは、第１処理部６４aと非同期で、キューバッファ６３ｂが満杯になるまでRGデータ(1)、(2)、(3)に順次補正値記憶部７３に保存されている補正値αを乗算し、乗算結果(1)×α、(2)×α、(3)×αをキューバッファ６３b(バッファA,B,C)に満杯になるまで格納する。サウンドドライバ５３は所定周期でキューバッファ６３bの最初のバッファAから(1)×αを読み出してAD変換器５４を介してスピーカ５５に入力する。この(1)×αの出力中に、第１処理部６４aはマイク検出信号MIC（II）
が検出されるタイミングで音声明瞭度改善処理GAEの第１処理を実行し、計算した補正値βを補正値記憶部７３に格納する。そして、補正RGデータ(1)×αの音声出力が終了すれば、サウンドドライバ５３は次の補正RGデータ(2)×αをキューバッファ６３bのバッファBから読み出して AD変換器５４を介してスピーカ５５に入力する。また、GAE部６４の第２処理部６４bは、RGデータ(4)に補正値記憶部７３に保存されている補正値βを乗算し、乗算結果(4)×βをキューバッファ６３b（バッファA)に格納する。
補正RGデータ(2)×αの出力中に、第１処理部６４aはマイク検出信号MIC(III)が検出
されるタイミングで音声明瞭度改善処理GAEの第１処理を実行し、計算した補正値γを補正値記憶部７３に格納する。そして、補正RGデータ(2)×αの音声出力が終了すれば、サウンドドライバ５３は次の補正RGデータ(3)×αをキューバッファ６３bのバッファCから読み出して AD変換器５４を介してスピーカ５５に入力する。また、GAE部６４の第２処理部６４bは、RGデータ(5)に補正値記憶部７３に保存されている補正値γを乗算し、乗算結果(5)×γをキューバッファ６３b（バッファB)に格納する。
【００１７】
以上のように補正RGデータが順番に、(1)×α→(2)×α→(3)×α→(4)×βとスピーカ５５に入力される。すなわち、CPU処理の割り当てがボイスプレーヤ５１に定期的に所定時間づつ割当てられると音切れが発生することなく音声がスピーカより出力される。また、たとえ、CPU処理の割り当てがなされなくても、キューバッファ６３bにキューイングされている３つの補正RGデータが出力されるまで音切れは生じない。図２の例では、CPU処理の割り当てがなされなくても、キューバッファ６３ｂに格納されている補正RGデータ(5)×εを出力して音切れをなくすことができる。
また、CPU処理の割り当てがなされないため、キューバッファ６３bが満杯でなくなればCPU処理の割り当てがなされた時点でGAE部６４の第２処理部６４bは、キューバッファ６３bが満杯になるまでRGデータ(図２の例では(7)、(8))に順次補正値記憶部７３に保存されている補正値(図2の例ではδ)を乗算し、乗算結果(7)×δ、(8)×δをキューバッファ６３bに満杯になるまで格納する。
以上本発明によれば、マルチプロセス制御の1つのプロセスとして音声データ列に所定の補正処理を施して出力する場合、該プロセスにCPU処理の割り当てがされずにスキップされても音切れが生じないように、あるいは生じにくくできる。
以上では本発明を、音声明瞭度改善制御に適用した場合について説明したが、一般に、音声データ列に所定の補正処理を施して出力する場合にも本発明を適用できるものである。
また、以上では、ボイスプレーヤにキューバッファを設けたが、サウンドドライバに設けることもできる。
【図面の簡単な説明】
【００１８】
【図１】マルチプロセス制御する車載システムが１つのプロセスとして音声明瞭度改善処理を行う場合の該プロセスを実行する音声明瞭度改善ユニットの構成図である。
【図２】図１のタイムチャートである。
【図３】従来の音声明瞭度改善システムの構成図である。
【図４】ＲG補正部、騒音分離部、補正値算出部をDSP（Digital Signal Processor）により実現し、ナビゲーション案内音声出力部を車載システムのボイスプレーヤで構成した音声明瞭度改善システムの構成図である。
【図５】マルチプロセス動作する車載システムが、1つのプロセスとして音声明瞭度改善処理を行う場合の従来の音声明瞭度改善ユニットの構成図である。
【図６】音切れが発生のタイムチャートである。
【符号の説明】
【００１９】
５１  ボイスプレーヤ
５２  HMI
５３  サウンドドライバ
５５  スピーカ
５６  マイク
６１  RGデータ保存部
６２  RG生成部
６３  RG再生部
６３b  キューバッファ
６４  GAE部
６４a  第１処理部
６４b  第２処理部
７１  騒音分離部
７２  補正値算出部
７３  補正値記憶部
７４  RG補正部
【図１】
0005094427.tif 000002
【図２】
0005094427.tif 000003
【図３】
0005094427.tif 000004
【図４】
0005094427.tif 000005
【図５】
0005094427.tif 000006
【図６】
0005094427.tif 000007