説明

子音識別装置、およびプログラム

【課題】オーディオ信号における子音区間を簡単で処理負荷の軽い信号処理で確実に識別することを可能にする。
【解決手段】オーディオ信号の波形を表すサンプル列を所定サンプル数のブロックに区切り、ブロック毎に当該ブロックにおける全周波数成分のエネルギーと当該ブロックにおける所定の周波数帯域に属する周波数成分のエネルギーとを各々算出し、両者の比を算出する。加えて、各ブロックの単位時間当たりのゼロクロス数をカウントする。そして、上記エネルギー比、および隣接するブロック間でのゼロクロス数の変化態様に基づいてブロック毎に当該ブロックが子音区間に含まれるものであるか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、オーディオ信号を解析して子音を識別する技術に関し、特に、地上デジタル放送などの放送コンテンツの音声における子音を識別する技術に関する。
【背景技術】
【0002】
近年では、地上デジタル放送や衛星デジタル放送などによって映画やドラマ、スポーツ中継などの様々な放送コンテンツが提供されており、例えばホームシアターなど、これら放送コンテンツを高い臨場感で再生するオーディオ機器も種々提案されている。この種のオーディオ機器のなかには、放送コンテンツにおける音の広がり感を演出するために、当該放送コンテンツのオーディオ信号に残響の付与やイコライジングなどの音声処理を施して再生するものがある。しかしながら、音声処理の対象となるオーディオ信号が映画の台詞などの音声を表すものである場合には、残響の付与を行うと明瞭さや自然さが損なわれ、台詞が聴き取り難くなる場合があり、このような事象は、子音(特に「S」や「Sh」などの摩擦音)において顕著である。そこで、オーディオ信号に残響付与やイコライジングなどの音声処理を施す際には、そのオーディオ信号における子音の音波形に相当する区間(以下、子音区間)を識別し、当該子音区間には音声処理を施さないようにする技術が種々提案されている(特許文献1〜3参照)。
【0003】
例えば、特許文献1には、帯域エネルギーから子音区間を識別する技術が開示されている。特許文献2には、オーディオ信号における単位時間当たりのゼロクロス数から子音(摩擦音)を識別する技術が開示されている。そして、特許文献3には、複数の音響パラメータ(例えば、自己相関係数やLPCケプストラム係数、LPCメルケプストラム係数など)を重み付け加算して得られる判別係数を用いて音声区間の候補を絞り込み、さらに候補区間の時間長に基づいて音声区間、定常的な雑音に対応する定常雑音区間、突発的な雑音に対応する非定常雑音区間を識別する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−108172号公報
【特許文献2】特開昭62−65098号公報
【特許文献3】特開2001−236085号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1〜3に開示された技術は、放送コンテンツにおける子音区間の識別に適用し難いといった問題がある。例えば、映画等においては、演出のために各種効果音が用いられるが、これら効果音のなかには子音区間と同等のエネルギー比を有するものや、子音区間と同等のゼロクロス数を有するものがあり、特許文献1や特許文献2に開示された技術では、これら効果音が子音であると誤認識される場合がある。特許文献3に開示された技術では定常雑音や非定常雑音などの多様な背景雑音に対する耐性を高めるために複雑で処理負荷の高い信号処理(例えば、LPCケプストラム係数を算出可能とするためのフーリエ変換など)を行っている。放送コンテンツは一般にS/N比が高いため、特許文献3に開示された技術による子音区間の識別では不必要に処理負荷の高い処理を行うことになり、家庭用のオーディオ機器に適用したのでは無駄が多いといった問題がある。
【0006】
本発明は上記課題に鑑みて為されたものであり、オーディオ信号における子音区間を簡単で処理負荷の軽い信号処理で確実に識別することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は、オーディオ信号の波形を表すサンプル列を蓄積するバッファと、前記バッファに蓄積されたサンプル列を所定サンプル数のブロックに区切って読み出す読出制御部と、前記読出制御部により読み出されたブロック毎に当該ブロックにおける前記オーディオ信号の全周波数成分のエネルギーと当該ブロックにおける前記オーディオ信号の所定の周波数帯域に属する周波数成分のエネルギーとを各々算出し、両者の比を算出するエネルギー比算出手段と、前記読出制御部により読み出されたブロック毎に単位時間当たりのゼロクロス数をカウントするゼロクロス数カウント手段と、前記読出制御部により順次読み出されるブロックの各々を判定対象とし、当該判定対象ブロックについての前記エネルギー比、および当該判定対象ブロックと当該判定対象ブロックの前または後ろに連なる所定数のブロックにおける前記ゼロクロス数の変化態様に基づいて当該判定対象ブロックが子音区間に含まれるものであるか否かを判定する判定手段とを有することを特徴とするオーディオ信号における子音の識別装置を提供する。
【0008】
各ブロックにおけるエネルギー比の算出や単位時間当たりのゼロクロス数のカウントはフーリエ変換に比較して簡単な処理である。したがって、上記識別装置によれば、残響付与やイコライジングなどの音声信号処理の処理対象となるオーディオ信号における子音区間を簡単な処理で識別することが可能になる。また、詳細については後述するが、本発明の識別装置においては、エネルギー比と単位時間当たりのゼロクロス数の変化態様の両者を併用して子音区間に含まれるブロックであるか否かを判定するため、子音区間と同等のエネルギー比を有する効果音等が子音と誤認識されることが防止され、子音区間を確実に識別することが可能になる。つまり、上記識別装置によれば、オーディオ信号における子音区間を簡単で処理負荷の軽い信号処理で確実に識別することが可能になる。
【0009】
より好ましい態様においては、子音区間に含まれると前記判定手段により判定されたブロックと当該ブロックの前または後ろに連なる所定数のブロックにおける単位時間当たりのゼロクロス数の変化態様から当該ブロックが子音区間の立上り区間に属するものか、同子音区間の定常区間に属するものか、同子音区間の立下り区間に属するものかを判定する詳細判定手段をさらに備えることを特徴とする。近年の研究では、子音区間のうち上記立上り区間と定常区間の両方(或いは一方)を引き伸ばすように話速変換を施すことで音声の聴き取り易さが向上するとの報告が為されている。したがって、上記の態様によれば、音声の聴き取り易さを向上させるための話速変換を施すべき区間を詳細に識別することが可能になる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態の子音識別装置1の構成例を示す図である。
【図2】母音の振幅スペクトルと子音の振幅スペクトルの一例を示す図である。
【図3】音声の単位時間当たりのゼロクロス数の時間変化と効果音など音声以外の音の単位時間当たりのゼロクロス数の時間変化の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照し、この発明の実施形態について説明する。
(A:実施形態)
図1は、本発明の一実施形態の子音識別装置1の構成例を示す図である。
この子音識別装置1は、例えば家庭用ホームシアターなど放送コンテンツの再生を行うオーディオ機器に組み込まれるものであり、当該オーディオ機器により再生される放送コンテンツのオーディオ信号を解析し、子音に対応する子音区間を識別するためのものである。図1では詳細な図示を省略したが上記オーディオ機器は、音の広がり感を演出するための音声信号処理を施す音声信号処理部を有しており、この音声信号処理部は子音識別装置1により子音区間以外であると判定された区間にのみ当該音声信号処理を施す。これにより、台詞等の明瞭さを損なうことなく、音の広がり感を演出することが可能になる。
【0012】
図1に示すように、この子音識別装置1は、バッファ10、読出制御部20、および子音区間識別処理部30を含んでいる。バッファ10は、例えばRAM(Random Access Memory)などの揮発性メモリ内の記憶領域として確保されたリングバッファである。このバッファ10には、放送コンテンツのオーディオ信号のサンプル列が書きこまれる。なお、上記オーディオ信号がアナログ信号である場合にはA/D変換器によるA/D変換を施してサンプル列に変換した後にバッファ10に書き込むようにすれば良い。読出制御部20は、バッファ10に格納されているサンプル列を古いものから順に、例えば5msなどの所定時間に対応するサンプル数のブロックに区切って読出し、子音区間識別処理部30に与える。
【0013】
子音区間識別処理部30は、例えば、CPU(Central Processing Unit)と、RAMなどの揮発性メモリと、ROM(Read
Only Memory)などの不揮発性メモリとを含んでいる(何れも図示略)。この不揮発性メモリには、本実施形態の特徴を顕著に示す子音区間識別処理を上記CPUに実行させる子音区間識別処理プログラムが予め格納されている。子音区間識別処理部30の揮発性メモリは、当該子音区間識別処理プログラムを実行する際のワークエリアとして上記CPUによって利用される。この子音区間識別処理プログラムにしたがって作動する上記CPUは、エネルギー比算出処理310、ゼロクロス数カウント処理320、および判定処理330の3つの処理を実行する。つまり、本実施形態の子音区間識別処理は、エネルギー比算出処理310、ゼロクロス数カウント処理320、および判定処理330の3つの処理を含んでいる。
【0014】
エネルギー比算出処理310は、読出制御部20により読み出されるブロックの各々について、全周波数成分のエネルギーと所定の周波数帯域(本実施形態では、2kHz〜7kHzの周波数帯域)に属する周波数成分のエネルギーとを各々算出し、さらに、両者の比(後者を前者で除算して得られる値:以下、エネルギー比ER)を算出する処理である。図1に示すように、エネルギー比算出処理310は、エネルギー算出処理312aおよび312bと、バンドパスフィルタ処理314と、乗算処理316とを含んでいる。エネルギー算出処理312aは1つのブロックに含まれる各サンプルのサンプル値の2乗和を当該ブロックにおける全周波数成分のエネルギーとして算出する処理である。バンドパスフィルタ処理314は、上記ブロックを構成するサンプル列のうち、上記所定の周波数帯域に属する周波数成分のみを通過させる処理である。エネルギー算出処理312bは、バンドパスフィルタ処理314を経たサンプル列を構成する各サンプルのサンプル値の2乗和を当該周波数帯域に属する周波数成分のエネルギーとして算出する処理である。そして、乗算処理316は、エネルギー算出処理312bにより算出された値に、エネルギー算出処理312aにより算出された値の逆数を乗算してエネルギー比ERを算出する処理である。
【0015】
ゼロクロス数カウント処理320は、読出制御部20により読み出されたブロック毎に単位時間当たりのゼロクロス数NUMをカウントする処理である。なお、ゼロクロス数をカウントするための具体的なアルゴリズムについては周知のものを適宜利用するようにすれば良い。そして、判定処理330は、読出制御部20により順次読み出されるブロックの各々を判定対象とし、当該判定対象ブロックについてエネルギー比算出処理310により算出されたエネルギー比ER、および当該判定対象ブロックとその前または後ろに連なる所定数のブロックの各々についてゼロクロス数カウント処理320によりカウントされた単位時間当たりのゼロクロス数のそれらブロック間での時間変化の態様(以下、変化態様)とに基づいて、子音区間に属するブロックであるか否かを判定し、その判定結果を示す判定結果信号SSを後段の音声信号処理部に出力する処理である。各ブロックにおけるエネルギー比ERと単位時間当たりのゼロクロス数の変化態様とに基づいて子音区間であるか否かを判定することができる理由は以下の通りである。
【0016】
図2は、母音の振幅スペクトルと子音の振幅スペクトルの一例を示す図である。図2では、母音の振幅スペクトルは実線のグラフで、子音の振幅スペクトルは一点鎖線のグラフで各々描画されている。図2に示すように子音の振幅スペクトルは上記所定の周波数帯域に局在している。このため、子音区間に属するブロックの場合、エネルギー算出処理312aおよび312bの各々にて算出されるエネルギーの値は略同じ値となり、乗算処理316において算出されるエネルギー比ERは1(或いは1に近い値)となる。これに対して、母音区間の振幅スペクトルは、図2に示すように、上記所定の周波数帯域の下限よりも低い周波数帯域に分布している。このため、母音区間に属するブロックの場合、エネルギー算出処理312bにおいて算出されるエネルギーの値はゼロまたはゼロに近い値となり、乗算処理316において算出されるエネルギー比ERは1を大きく下回る値となる。したがって、ブロック毎にエネルギー比算出処理310にて算出されるエネルギー比ERを参照することによって各ブロックが子音区間に属するのか否かを判定することができる。
【0017】
図3は、音声の単位時間当たりのゼロクロス数の時間変化と効果音など音声以外の音の単位時間当たりのゼロクロス数の時間変化の一例を示す図である。より詳細に説明すると、図3(a)は、子音と当該子音に後続する母音とからなる音声の単位時間当たりのゼロクロス数の時間変化の一例を示す図であり、図3(b)は、効果音など音声以外の音の単位時間当たりのゼロクロス数の時間変化の一例を示す図である。音声の場合、母音区間においては周期的にゼロクロスが発生し、子音区間においては非周期的にゼロクロスが発生することが一般に知られている。母音区間においては周期的にゼロクロスが発生するため、単位時間当たりのゼロクロス数は図3(a)に示すように略一定となる。一方、子音区間をさらに詳細に分析すると、単位時間のゼロクロス数が単調に増加する区間(図3(a)の区間A)、略一定値を維持する区間(同図3(a)の区間B)、および当該一定値から単調に減少する区間(同図3(a)の区間C)の3つの区間に分類できることが知られている。そして、図3の区間Aは子音の立上り区間(例えば、無音状態からの立上り区間)に対応し、同図3(a)の区間Bは子音の定常区間に対応し、同図3(a)の区間Cは子音の立下り区間(子音から後続する母音への遷移区間)に対応することが知られている。つまり、単位時間当たりのゼロクロス数は、母音区間であればその母音区間全体に亘って略一定値を維持し、子音区間であれば、0から所定の値まで単調に増加した後に略一定値(母音区間におけるものよりも高い値)となり、その後単調に減少するといった具合に時間変化する。
【0018】
これに対して、音声以外の効果音の場合、単位時間当たりのゼロクロス数は、図3(b)に示すように頻繁に増減を繰り返す。したがって、判定対象ブロックとその前または後ろに連なる所定数のブロックにおける単位時間当たりのゼロクロス数NUMが増減を繰り返しているのか否かによって、当該判定対象ブロックが音声に対応するブロックであるのか、それとも音声以外の効果音に対応するブロックであるのかを判定することができ、音声に対応すると判定された場合には、さらに、単位時間当たりのゼロクロス数NUMが略一定でかつ所定の閾値(母音区間における値よりは大きく、かつ子音の定常区間における値よりは小さい値:例えば、図3(a)のth)未満の値を維持しているのか否かによって当該ブロックが母音区間に属するものであるのか、それとも子音区間に属するものであるのかを判定することができる。
【0019】
本実施形態の判定処理330では、(1)判定対象ブロックとその前または後ろに隣接するブロックにおいて単位時間当たりのゼロクロス数NUMが単調に増加または減少していること、或いは、所定の閾値を超える一定値を維持していること、(2)エネルギー比ERが1または1に近い値であること、の2つの条件を満たす場合に、当該判定対象ブロックを子音区間に属するブロックである判定する。このように、判定対象ブロックのエネルギー比ERと、判定対象ブロックおよびその前または後に隣接するブロックにおける単位時間当たりのゼロクロス数NUMの変化態様とに基づいて子音区間に属するものであるか否かの判定を行う場合には、エネルギー比算出処理ERにより算出されるエネルギー比ERとゼロクロス数カウント処理320によりカウントされたゼロクロス数NUMとをブロック毎に3ブロック分蓄積するリングバッファを上記RAM内に確保し、当該リングバッファの格納内容に基づいて上記条件(1)および(2)を満たすか否かの判定を行うようにすれば良い。
【0020】
ここで注目すべき点は、エネルギー比ERまたは単位時間当たりのゼロクロス数NUMの変化態様の何れか一方のみによっても判定対象ブロックが子音区間に属するか否かの判定を行えるかに見えるにも拘らず、本実施形態の判定処理330では、エネルギー比ERによる判定と単位時間当たりのゼロクロス数NUMの変化態様による判定とを併用している点である。両者を併用した理由は以下の通りである。
【0021】
例えば映画などにおいて台詞とともに再生される各種効果音のなかには、各ブロックにおけるエネルギー比が1に近いものや、上記所定の周波数帯域とは異なる周波数帯域に大半の周波数成分が属しているものの単位時間当たりのゼロクロス数が子音区間と同様に変化するものがある。エネルギー比ERのみによる判定では前者の効果音と子音とを識別することができず、単位時間当たりのゼロクロス数の時間変化のみによる判定では後者の効果音と子音とを識別することができない。しかし、両者を併用することによってこれら効果音と子音とを確実に識別することが可能になる。例えば、各ブロックにおけるエネルギー比が1に近い効果音であっても、単位時間当たりのゼロクロス数NUMが図3(b)に示すように変化しているものは上記条件(1)を満たさないため、本実施形態の判定処理330では、それらブロックは子音区間には属さないと判定される。同様に、判定対象ブロックとその前または後に連なるブロックにおける単位時間当たりのゼロクロス数NUMが図3(a)に示すように変化している効果音であっても、各ブロックにおけるエネルギー比ERが1を大きく下回るような効果音であれば、上記条件(2)を満たさないため、本実施形態の判定処理330では、それらブロックは子音区間には属さないと判定される。
【0022】
このように、本実施形態によれば、エネルギー比ERによる判定と単位時間当たりのゼロクロス数NUMの変化態様による判定の何れか一方のみでは子音であると誤認識される効果音と子音との識別を確実に行うことが可能になるのである。これが、エネルギー比ERによる判定と単位時間当たりのゼロクロス数NUMの変化態様による判定を併用した理由である。加えて、各ブロックについての上記エネルギー比ERの算出や単位時間当たりのゼロクロス数NUMの算出は、フーリエ変換に比較して処理負荷の軽い処理である。つまり、本実施形態の子音識別装置1によれば、残響の付与やイコライジングなどの音声信号処理の対象となるオーディオ信号における子音区間を簡単な信号処理で確実に識別することが可能になるのである。
【0023】
(B:変形例)
以上本発明の実施形態について説明したが、この実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した実施形態では、判定対象ブロックにおけるエネルギー比ERと、判定対象ブロックおよびその前または後ろに隣接するブロックにおける単位時間当たりのゼロクロス数の変化態様と、に基づいて子音区間であるか否かの判定を行った。しかし、単位時間当たりのゼロクロス数の変化態様に基づいて、判定対象ブロックが子音区間の立上り区間、定常区間および立下り区間の何れに属するのかを判定する詳細判定処理を実行させても良い。具体的には、単位時間当たりのゼロクロス数が1つ手前のブロック(すなわち、時間的に先行するブロック)に比較して所定の閾値以上増加しているブロックについては立上り区間に属すると判定し、1つ手前のブロックに対するゼロクロス数の増減幅が所定の閾値未満であるブロックについては定常区間に属すると判定し、1つ手前のブロックに対するゼロクロス数の減少幅が所定の閾値以上であるブロックについては立下り区間に属すると判定する詳細判定処理を子音区間識別処理部30にさらに実行させるのである。このような態様によれば、子音区間に属すると判定されたブロックについて立上り区間、定常区間および立下り区間の何れに属するのかを判定し、その判定結果を示す判定結果信号を後段の音声信号処理装置に与え、その判定結果に応じた音声信号処理を当該音声信号処理装置に実行させることが可能になる。
【0024】
例えば、上記音声信号処理装置が、話速変換により音声の聴き取り易さを向上させる装置である場合、近年の研究では子音の立上り区間または定常区間(或いはその両方)を伸張するように話速変換を施すことにより聴き取り易さが向上する旨の報告が為されている。したがって、子音識別装置の後段の音声信号処理装置が話速変換により音声の聴き取り易さを向上させる装置である場合には、上記詳細判定処理を子音識別装置に実行させることによって話速変換を施すべき区間を適切に判定し、その判定結果を当該音声信号処理装置に通知することが可能になる。
【0025】
(2)上述した実施形態では、子音区間識別処理部30のCPUに当該実施形態の特徴を顕著に示す子音区間識別処理(すなわち、エネルギー比算出処理310、ゼロクロス数カウント処理320および判定処理330からなる処理)を実行させるための子音区間識別処理プログラムが同子音区間識別処理部30の不揮発性メモリに予め格納されていた。しかし、例えばCD−ROMなどのコンピュータ読み取り可能な記録媒体に上記プログラムを書き込んで配布しても良く、また、インターネット経由のダウンロードにより当該プログラムを配布しても良い。
【0026】
また、上述した実施形態では、エネルギー比算出処理310、ゼロクロス数カウント処理320および判定処理330をソフトウェアによって実現したが、ハードウェアにより実現しても良い。具体的には、エネルギー比算出処理310を実行するエネルギー比算出手段、ゼロクロス数カウント処理320を実行するゼロクロス数カウント手段、判定処理330を実行する判定手段の各々を電子回路で構成し、これら各手段を組み合わせて子音区間識別処理部30を構成しても勿論良い。また、上記詳細判定処理をさらに実行させる態様にあっては、エネルギー比算出手段、ゼロクロス数カウント手段、判定手段、および詳細判定処理を実行する詳細判定手段の各手段を電子回路で構成し、これら各手段を組み合わせて子音区間識別処理部30を構成するようにすれば良い。
【符号の説明】
【0027】
1…子音識別装置、10…バッファ、20…読出制御部、30…子音区間識別処理部、310…エネルギー比算出処理、312a、312b…エネルギー算出処理、314…バンドパスフィルタ処理、316…乗算処理、320…ゼロクロス数カウント処理、330…判定処理。

【特許請求の範囲】
【請求項1】
オーディオ信号の波形を表すサンプル列を蓄積するバッファと、
前記バッファに蓄積されたサンプル列を所定サンプル数のブロックに区切って読み出す読出制御部と、
前記読出制御部により読み出されたブロック毎に当該ブロックにおける前記オーディオ信号の全周波数成分のエネルギーと当該ブロックにおける前記オーディオ信号の所定の周波数帯域に属する周波数成分のエネルギーとを各々算出し、両者の比を算出するエネルギー比算出手段と、
前記読出制御部により読み出されたブロック毎に単位時間当たりのゼロクロス数をカウントするゼロクロス数カウント手段と、
前記読出制御部により順次読み出されるブロックの各々を判定対象とし、当該判定対象ブロックについての前記エネルギー比、および当該判定対象ブロックと当該判定対象ブロックの前または後ろに連なる所定数のブロックにおける前記ゼロクロス数の変化態様に基づいて当該判定対象ブロックが子音区間に含まれるものであるか否かを判定する判定手段と、
を有することを特徴とするオーディオ信号における子音の識別装置。
【請求項2】
子音区間に含まれると前記判定手段により判定されたブロックと当該ブロックの前または後ろに連なる所定数のブロックにおける単位時間当たりのゼロクロス数の変化態様から当該ブロックが子音区間の立上り区間に属するものか、同子音区間の定常区間に属するものか、同子音区間の立下り区間に属するものかを判定する詳細判定手段をさらに備えることを特徴とする請求項1に記載の識別装置。
【請求項3】
コンピュータに、
当該コンピュータに入力されたオーディオ信号のサンプル列を所定サンプル数ずつ区切ってえられるブロックの各々について、全周波数成分のエネルギーと所定の周波数帯域に属する周波数成分のエネルギーとを各々算出し、両者の比を算出するエネルギー比算出処理と、
前記ブロックの各々について、単位時間当たりのゼロクロス数をカウントするゼロクロス数カウント処理と、
前記ブロックの各々を判定対象とし、当該判定対象ブロックについての前記エネルギー比、および当該判定対象ブロックと当該判定対象ブロックの前または後ろに連なる所定数のブロックにおける前記ゼロクロス数の変化態様に基づいて当該判定対象ブロックが子音区間に含まれるものであるか否かを判定する判定処理と
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−203351(P2012−203351A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−70477(P2011−70477)
【出願日】平成23年3月28日(2011.3.28)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】