音声処理装置、音声処理方法および音声処理プログラム
【課題】デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることを目的とする。
【解決手段】音声処理装置100は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離部122と、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号加算部124と、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算部126と、を備える。
【解決手段】音声処理装置100は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離部122と、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号加算部124と、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算部126と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理装置、音声処理方法および音声処理プログラムに関する。
【背景技術】
【0002】
近年、音声符号化技術の進歩により、CD(Compact Disc)等に収録されている楽曲の音質を極力維持したままファイルサイズを小さくすることが可能となり、その結果として、メモリタイプのポータブルオーディオプレーヤに例えば大量の楽曲を収録して携帯することが可能となった。
【0003】
しかし、上述した音声符号化技術は、人間の聴覚特性を利用して通常聞き取れない高周波数領域の音声信号をカットしたり、マスキング効果により聞き取れない音のデータを間引いたりしているため、原音と比較すると、音の伸び、広がり、ダイナミックレンジ、艶っぽさに乏しくなる。そのため、音声符号化技術により圧縮されたデジタル音声信号の音質を改善する技術が開発されている。
【0004】
例えば、デジタル音声信号の極大値と極小値とを特定し、極小値から極大値まで、または、極大値から極小値までのサンプル数を計数し、極大値および極小値を除くサンプル毎に、前のサンプルの値との差分を算出してこれにサンプル数に応じた係数を乗算し、この乗算結果を、極大値や極小値に近いサンプル位置に対して加減算する技術が開示されている(例えば、特許文献1)。
【0005】
また、同様に、極値間のサンプル数を計数し、極大値や極小値と各々1サンプル前の値との差分を算出してこれにサンプル数に応じた係数を乗算し、この乗算結果を、極大値や極小値に直接、または、極大値や極小値に近いサンプル位置に加減算する技術も知られている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3401171号公報
【特許文献2】特許第3659489号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1や2の技術では、極小値から極大値までの区間と極大値から極小値までの区間とが独立して制御され、それぞれの区間のサンプル数に応じて、乗算する係数や加減算対象となるサンプル位置が決定される。したがって、デジタル音声信号の不規則な変化に対しても半周期に相当する区間毎に適切な音質改善処理を行うことができる。
【0008】
一方、デジタル音声信号に含まれる各信号の周波数とサンプリング周波数とが等しくなる保証はないので、デジタル音声信号が仮に規則的な正弦波であったとしても、その周波数がサンプリング周波数と異なれば、半周期毎のサンプル数、すなわち極小値から極大値までのサンプル数と極大値から極小値までのサンプル数とが異なる場合が生じ得る。
【0009】
このように極値間のサンプル数が異なると、乗算する係数や加減算対象となるサンプル位置が変わり、半周期毎に音質の改善量が異なることとなるので、規則的な正弦波に対しても音質改善処理が偏る結果を招き、十分に音質改善効果が発揮されない場合があった。
【0010】
本発明は、このような課題に鑑み、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能な、音声処理装置、音声処理方法および音声処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の音声処理装置は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離部と、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号加算部と、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算部と、を備えることを特徴とする。
【0012】
音声処理装置は、デジタル音声信号を所定のフレーム単位で切り出し、その所定のフレームごとのデジタル音声信号を生成するフレーム化部と、入力されたフレーム単位のデジタル音声信号を、隣り合うフレームのデジタル音声信号の一部がオーバラップするように合成するオーバラップ合成部と、をさらに備え、信号分離部に入力されるデジタル音声信号はフレーム化部で生成された所定のフレームに区切られたデジタル音声信号であり、オーバラップ加算部に入力されるフレーム単位のデジタル音声信号は残差信号加算部から入力されてもよい。
【0013】
1または複数の基本波信号は、相異なる周波数の複数の基本波信号であり、信号分離部は、1または複数の基本波信号と同じ周波数の複数の基本波信号をそれぞれ単独でデジタル音声信号から減算した場合の差分信号を求め、差分信号のエネルギーが小さい順にデジタル音声信号から1または複数の基本波信号を順次減算してデジタル音声信号を1または複数の基本波信号と残差信号とに分離してもよい。
【0014】
上述した1または複数の基本波信号は、所定の周波数と、所定の周波数を有する正弦波および余弦波のそれぞれの振幅とで表される信号であってもよい。
【0015】
補正信号加算部は、1または複数の基本波信号それぞれの周波数と正弦波の振幅と余弦波の振幅とに応じて補正信号を生成してもよい。具体的に、補正信号加算部は、基本波信号の周波数と、振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値とが予め対応付けられた補正テーブルを参照し、1または複数の基本波信号それぞれの周波数に応じて振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値を抽出し、1または複数の基本波信号それぞれの正弦波の振幅と余弦波の振幅とを乗じて補正信号を生成してもよい。
【0016】
上記課題を解決するために、本発明の音声処理方法は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離し、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算し、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算することを特徴とする。
【0017】
上記課題を解決するために、本発明の音声処理プログラムは、コンピュータに、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号生成ステップと、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算ステップと、を実行させることを特徴とする。
【発明の効果】
【0018】
以上説明したように、本発明によれば、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【図面の簡単な説明】
【0019】
【図1】音声処理装置の利用状態を説明するための説明図である。
【図2】音声処理装置の概略的な構成を説明するための機能ブロック図である。
【図3】フレーム化部におけるフレーム信号の生成過程を説明するための説明図である。
【図4】周波数分析候補となる所定数の周波数の一例を示した説明図である。
【図5】補正信号加算部のさらに具体的な構成を説明するための機能ブロック図である。
【図6】サンプル数と係数との関係を示した係数テーブルである。
【図7】補正信号加算部による音質改善処理の動作を説明するための説明図である。
【図8】補正信号加算部による音質改善処理の動作を説明するための説明図である。
【図9】補正信号加算部における音質改善処理を説明するための説明図である。
【図10】オーバラップ合成部の動作を説明するための説明図である。
【図11】コンピュータの典型例を示した機能ブロック図である。
【図12】音声分析合成方法の全体的な流れを示したフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0021】
(音声処理装置100)
図1は、音声処理装置100の利用状態を説明するための説明図である。音声処理装置100は、放送局102から放送波を通じて、コンテンツサーバ104から通信網106を通じて、または、記憶媒体108から直接、デジタル音声信号を取得し、そのデジタル音声信号に高周波数成分を付加することで、デジタル音声信号の音質を改善する。ユーザは、改善されたデジタル音声信号を、音声処理装置100から直接、または、ポータブルオーディオプレーヤや携帯電話といった再生装置110に転送して聴くことができる。
【0022】
また、コンテンツサーバ104が、音声処理装置100を有しても良く、その場合、コンテンツサーバ104の音声処理装置100によって、高周波数成分が付加された音声信号はパーソナルコンピュータやポータブルオーディオプレーヤ、携帯電話といった再生装置110へ、通信網106を通じて、配信される。
【0023】
また、ポータブルオーディオプレーヤ、携帯電話といった再生装置110が音声処理装置100を有しても良い。その場合、コンテンツサーバ104から通信網106を通じて配信されるデジタル音声信号は、ポータブルオーディオプレーヤ、携帯電話といった再生装置110の音声処理装置100によって、高周波数成分が付加されて再生される。
【0024】
音声処理装置100が取得可能なデジタル音声信号としては、CDやDVD(Digital Versatile Disk)規格に基づいた音声信号の他、MPEG(Moving Picture Expert Group)−2、AAC(Advanced Audio Coding)、HE−AAC(High efficiency-AAC)、ATRAC(Adaptive TRansform Acoustic Coding)、MP3(MPEG Audio Layer-3)、WMA(Windows(登録商標) Media Audio)等の音声符号化処理によって周波数帯域が狭められた音声信号も含む。ここでは、入力されるデジタル音声信号の一例として、サンプリング周波数fs=44.1kHz、量子化ビット数16ビットのデジタル音声信号(CD規格)を挙げて音声処理装置100の各機能を説明する。
【0025】
図2は、音声処理装置100の概略的な構成を説明するための機能ブロック図である。音声処理装置100は、フレーム化部120と、信号分離部122と、補正信号加算部124と、残差信号加算部126と、オーバラップ合成部128とを含んで構成される。
【0026】
フレーム化部120は、音声処理装置100が取得したデジタル音声信号を、処理単位である所定のフレーム単位(所定サンプル数長)で順次切り出し、フレーム単位のデジタル音声信号(以下、単にフレーム信号という)を生成する。
【0027】
図3は、フレーム化部120におけるフレーム信号の生成過程を説明するための説明図である。図3に示したように、連続する1のデジタル音声信号が入力された場合、フレーム化部120は、まず、入力されたデジタル音声信号から所定の長さで区切られる一部のデジタル音声信号Aのみを切り出してフレーム信号0を生成する。このとき、デジタル音声信号Aの前段にはデジタル音声信号が存在しないので、デジタル音声信号Aを含む所定サンプル数長のフレーム信号0は、図3のようにヌル値とデジタル音声信号Aとから形成される。また、フレーム化部120は、次のフレーム信号のため、デジタル音声信号Aの所定の位置から後尾までの所定長のデータである後部信号A’をバッファ(図示せず)に一時的に保持する。
【0028】
続いて、フレーム化部120は、引き続き入力されるデジタル音声信号に応じて、デジタル音声信号Bを切り出し、保持していたデジタル音声信号Aの後部信号A’とデジタル音声信号Bとをその順に接続し、所定サンプル数長のフレーム信号1を生成する。以後、フレーム化部120は、デジタル音声信号Bの後部信号B’と次に切り出したデジタル音声信号Cとでフレーム信号2を生成するといった具合にフレーム信号の生成を繰り返す。
【0029】
したがって、フレーム化部120によって生成されたフレーム信号は、前後のフレーム信号と一部がオーバラップすることとなる。例えば、フレーム信号0とフレーム信号1とは後部信号A’に相当するデータがオーバラップする。以後の信号分離部122、補正信号加算部124、残差信号加算部126、オーバラップ合成部128では、かかるフレーム信号(フレーム単位のデジタル音声信号)に対して処理が遂行される。また、ここでは、オーバラップされる後部信号A’、B’、…の長さを、所定サンプル数長のフレーム信号に対して1/3の長さとして図示しているが、かかる場合に限らず、1/2以下の任意の数値とすることができる。
【0030】
本実施形態においては、このように生成された各フレーム信号を、後述するオーバラップ合成部128においてオーバラップさせつつ再度合成する。かかるオーバラップ部分によってデジタル音声信号の連続性を確保することが可能となり、当該実施形態に基づいて新たに生成される高周波数成分を形成する補正信号の連続性も確保される。こうして、フレーム信号を切り出すことによる端部(エッジ)の影響を回避することができ、安定した音質改善効果を得ることが可能となる。
【0031】
そして、フレーム化部120は、生成したフレーム信号を順次、信号分離部122に送信する。
【0032】
信号分離部122は、フレーム化部120から受信した所定のフレームに区切られたフレーム信号の周波数分析を行い、フレーム信号を1または複数の基本波信号と、1または複数の基本波信号を除いた残差信号とに分離する。本実施形態において、信号分離部122は、一般調和解析(GHA:Generalized Harmonic Analysis)を用いて基本波信号と残差信号とを分離する。
【0033】
かかる一般調和解析は、周波数分析法として広く用いられている高速フーリエ変換(FFT:Fast Fourier Transform)と比較して、演算負荷は重くなるものの、(1)高速フーリエ変換よりも周波数分析精度が高い、(2)雑音を抑圧することができる、(3)分析対象となるフレーム信号以外の波形を予測することができるといった点で有利である。
【0034】
また、高速フーリエ変換を用いてフレーム信号の周波数分析を実行すると、そのフレーム信号は、フレーム単位の周期関数として扱われるので、端部において不連続な周波数成分が生じ、原信号となるデジタル音声信号に含まれていない新たな周波数成分を検出してしまう。さらに、フレーム信号の端部の連続性を確保すべく窓関数を施すと、高速フーリエ変換の周波数分析結果が常に窓関数の影響を受けてしまう。
【0035】
一方、本実施形態の一般調和解析では、フレーム信号から、残差エネルギーが最小となる適切な正弦波や余弦波の組合せを導出しているので、時間分解能に依存しない高い周波数分解能で周波数分析を遂行することができる。このように信号分離部122は、一般調和解析を用いて基本波信号と残差信号とを分離することが最も望ましいが、これに限定されるわけではなく、種々の周波数分析法を用いることができる。
【0036】
信号分離部122は、このような一般調和解析に従い、まず、サンプリング周波数fsに基づいて周波数分析候補となる所定数の相異なる周波数fk(kは整数)を決定する。そして、決定された所定数の周波数fkの基本波信号bk[i](iは0〜L−1の整数、Lはフレーム信号のサンプル数)を、それぞれ単独でフレーム信号から減算して差分信号ek[i]を求め、さらにその二乗和により差分信号のエネルギーEkを導出する。
【0037】
なお、信号分離部122は、図示しないデコーダがデジタル音声信号をデコードするときに抽出したデジタル音声信号のサンプリング周波数の情報を取得して、そのサンプリング周波数に応じて周波数分析候補となる所定数の相異なる周波数fk(kは整数)を決定するようにしてもよい。ただし、CDプレーヤのように入力されるデジタル音声信号のサンプリング周波数が常に一定である再生装置に、本実施形態に係わる音声処理装置100を用いる場合、信号分離部122は、必ずしもサンプリング周波数の情報を取得する必要はない。
【0038】
図4は、周波数分析候補となる所定数の周波数の一例を示した説明図である。ここでは所定数の周波数として、その周波数の波形における極値の前後の半周期でサンプル数が同一となる周波数が選択される。本実施形態においてサンプリング周波数fsは44.1kHzであるから、極値の前後の半周期でサンプル数が同一となる周波数fkは、サンプリング周波数fsの1/2の周波数をさらに半周期のサンプル数FS(FSは整数)で分周した値fs/2/FSとなる。
【0039】
ただし、FS=1の周波数f1(22.05kHz)の周波数成分は、サンプリング定理に従って処理対象となるフレーム信号x0[i](iは0〜L−1の整数)に含まれないので、周波数fkは、図4に示すように、サンプル数FS=2、3、4、…となる周波数に限られる。本実施形態では、サンプル数FS=2、3、4、…、10の相異なる9つの周波数f2〜f10を周波数分析候補とする。周波数fkを極値の前後の半周期でサンプル数が同一となる周波数とした理由は後ほど述べる。
【0040】
また、周波数fkの基本波信号bk[i]は、数式1で表すことができる。ただし、iは0〜L−1、kは2、3、4、…、10である。
【数1】
…(数式1)
【0041】
信号分離部122は、図4に示した周波数をFSの小さい順に選択し、処理対象となるフレーム信号x0[i]に対する基本波信号bk[i]の正弦波の振幅S(fk)を数式2を用いて導出し、余弦波の振幅C(fk)を数式3を用いて導出する。ただし、kは2、3、4、…、10である。
【数2】
…(数式2)
【数3】
…(数式3)
【0042】
このようにして導出された振幅S(fk)と振幅C(fk)とを数式1に代入して基本波信号bk[i]を求め、処理対象となるフレーム信号x0[i]から、その基本波信号bk[i]を、数式4のようにそれぞれ個別に減算して差分信号ek[i]を求める。
【数4】
…(数式4)
【0043】
そして、差分信号ek[i]のエネルギーEkを、数式5のように二乗和により導出し、その周波数fkに関連付けて一時的に保持する。
【数5】
…(数式5)
【0044】
ここでは、導出された所定数の差分信号ek[i]のエネルギーEkが小さいほど、その周波数fkの基本波信号bk[i]が、処理対象となるフレーム信号x0[i]に含まれる占有率(度合い)が高いことを表す。信号分離部122は、このような差分信号ek[i]のエネルギーEkを図4に示すfs/2/FS(FS=2、3、4、…10)の9つの周波数fkすべてに関して計算する。
【0045】
このような差分信号ek[i]のエネルギーEkを個々に求めたのは、1または複数の基本波信号bk[i]すべてを除いた最終的な残差信号を最小にするためには、一般調和解析の下、フレーム信号x0[i]から占有率が高い基本波信号bk[i]を優先して分離する必要があるからである。したがって、信号分離部122は、差分エネルギーEkが小さい順、すなわち基本波信号bk[i]における占有率が高い順に9つの周波数fkを並び替える。
【0046】
続いて、信号分離部122は、その9つの周波数fkに対応する9つの基本波信号bk[i]を、並び替えられた周波数fkの順に、原信号であるフレーム信号x0[i]から順次減算する。ただし、上述した差分信号ek[i]を導出する工程では、毎回、原信号であるフレーム信号x0[i]から改めて基本波信号bk[i]を減算したのに対し、ここでは、フレーム信号x0[i]から1の基本波信号bk[i]を減算すると、その減算した後の残差信号d[i]に対して、次の基本波信号bk[i]の振幅S(fk)および振幅C(fk)を数式2、3を用いて改めて導出し、その基本波信号bk[i]を減算していく。したがって、減算する順番によっては基本波信号bk[i]の振幅S(fk)および振幅C(fk)が変化する。並び替えに用いた基本波信号bk[i]と当該フレーム信号x0[i]から順次減算する基本波信号bk[i]とは所定の周波数fkを有する正弦波と余弦波で表されることで共通し、その正弦波と余弦波の振幅のみが異なる。並び替えに用いた基本波信号bk[i]は並び替えが完了すると用いられることはなくなり、振幅S(fk)および振幅C(fk)が変化した基本波信号bk[i]が最終的な基本波信号bk[i]として以後の処理でも用いられる。このような基本波信号bk[i]の減算を経て残差信号d[i]が導出される。したがって、残差信号d[i]は、数式6のように表すことができる。ただし、iは0〜L−1、kは2、3、4、…、10である。
【数6】
…(数式6)
【0047】
こうしてフレーム信号x0[i]から占有率が高い基本波信号bk[i]が順次分離され、残差信号d[i]のエネルギーは漸減する。
【0048】
このように、フレーム信号x0[i]における占有率が高い基本波信号bk[i]から優先して分離する構成により、フレーム信号x0[i]を1または複数の基本波信号bk[i]の組合せで適切に表すことができ、かつ、残差信号d[i]を最小限に抑えることが可能となる。
【0049】
ここで、周波数分析候補となる所定数(ここでは9つ)の周波数fkは、サンプリング周波数fs(例えば44.1kHz)に対して図4の如く一義的に求まるので、サンプリング周波数fsに応じて、所定数の周波数fkと基本波信号bk[i]とを一意に対応付けた基本波テーブルを予め作成しておくこともできる。ただし、基本波テーブルでは、振幅S(fk)や振幅C(fk)を所定値(例えば1)とした場合の各サンプルiにおける正弦波および余弦波の値までが示されるに留まり、信号分離部122は、振幅S(fk)や振幅C(fk)を乗じて基本波信号bk[i]を導出することとなる。かかる基本波テーブルによって、演算負荷の軽減を図ることが可能となる。かかる基本波テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。
【0050】
信号分離部122は、引き続き並び替えられた順に基本波信号bk[i]を減算していき、周波数分析候補として準備されたすべての周波数fkに関する基本波信号bk[i]を減算し終わると、その残差信号d[i]を最終的な残差信号として残差信号加算部126に送信する。
【0051】
ここで、周波数分析候補として準備されたすべての周波数fkに関する基本波信号bk[i]を減算していなくとも、その残差信号d[i]のエネルギーが十分に小さくなっていれば、例えば、残差信号d[i]が所定のエネルギー以下となれば、フレーム信号x0[i]を十分に分離できたとして、その時点で基本波信号bk[i]の分離を停止し、残差信号d[i]を残差信号加算部126に送信する。
【0052】
このとき、基本波信号bk[i]は、それぞれ、所定の周波数と、所定の周波数を有する正弦波の振幅と、余弦波の振幅とで表される信号なので、信号分離部122は、基本波信号bk[i]そのものではなく、基本波信号bk[i]の周波数を示す周波数情報と、正弦波成分の振幅情報と、余弦波成分の振幅情報といったパラメータと、基本波信号bk[i]の個数情報とを補正信号加算部124に送信する。かかる構成により、信号分離部122と補正信号加算部124とのアクセス負荷を著しく軽減することができる。
【0053】
また、信号分離部122は、数式6に示すように、フレーム信号x0[i]から対象となる基本波信号bk[i]をすべて除いた残差信号d[i]を残差信号加算部126に送信する。
【0054】
本実施形態においては、後述するように基本波信号bk[i]のみに音質改善処理が施され、残差信号d[i]には施されない。しかし、残差信号d[i]はエネルギー量としても無視可能な信号なので、残差信号d[i]に音質改善処理を施さなくとも、原信号であるフレーム信号x0[i]の音質改善レベルに影響はなく、むしろ残差信号d[i]に音質改善処理を施す処理負荷を他の処理に有効活用できる。
【0055】
また、図4で示したように、基本波信号bk[i]の周波数fkを、極値の前後の半周期でサンプル数が同一となる周波数fk=fs/2/FSとすることで、残差信号d[i]を除いたフレーム信号x0[i](1または複数の基本波信号bk[i])を極値の前後の半周期でサンプル数が同一となる正弦波および余弦波で表すことができ、同一の正弦波や余弦波において、乗算する係数や加減算対象となるサンプル位置が異なるといった問題がなくなる。さらに、基本波信号bk[i]は、初期位相0の正弦波および余弦波のみで形成されるため、フレーム信号x0[i]に対して補正信号を画一的に付加することができるので、音質改善の均一化を図ることが可能となる。
【0056】
補正信号加算部124は、信号分離部122が分離した1または複数の基本波信号それぞれに対し、音圧0を中心とした振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する。
【0057】
図5は、補正信号加算部124のさらに具体的な構成を説明するための機能ブロック図であり、図6は、サンプル数と係数との関係を示した係数テーブルであり、図7および図8は、補正信号加算部124による音質改善処理の動作を説明するための説明図である。補正信号加算部124は、極値特定部150と、サンプル数計数部152と、補正信号生成部154と、遅延部156と、加算部158とを含んで構成される。また、係数テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。ここで、まず、補正信号加算部124で実行される音質改善処理の基本的動作を説明する。
【0058】
極値特定部150は、補正信号加算部124が受信したフレーム信号x0[i](1または複数の基本波信号bk[i])の極大値と極小値とを特定する。具体的に、極値特定部150は、フレーム信号x0[i]の各サンプルにおける値を順次比較し、値が増加している状態または増減無しの状態から減少に転じたとき、その減少に転じる直前のサンプルにおける値を極大値とし、値が減少している状態または増減無しの状態から増加に転じたとき、その増加に転じる直前のサンプルにおける値を極小値とする。
【0059】
サンプル数計数部152は、任意の極値(極大値または極小値)から次の極値までのサンプル数、すなわち、極大値から極小値まで、または極小値から極大値までのサンプル数を計数する。
【0060】
補正信号生成部154は、フレーム信号x0[i]における所定のサンプル間の変化量と1の係数とを乗じてデジタル音声信号の振幅の絶対値が拡大されるような補正値を生成し、所定のサンプル位置に配して補正信号を生成する。
【0061】
例えば、図7の例では、補正信号生成部154は、図6の係数テーブルを参照し、図7(a)に示すフレーム信号x0[i]に基づきサンプル数計数部152が計数した極大値から極小値まで、または極小値から極大値までの極値間のサンプル数、例えば「4」に対応した、係数「0.5」を抽出する。
【0062】
ここで、図6の係数テーブルにおいて、サンプル数が多いほど係数の値が小さいのは以下の理由からである。すなわち、任意の極値から次の極値までのサンプル数が多い場合、そのフレーム信号x0[i]の周波数は低く、例えば22.1kHzの低域通過フィルタ(LPF:Low Pass Filter)でフィルタリングが施されている場合であっても、その低周波数のフレーム信号x0[i]の高調波は抑制されずに残る。したがって、大きな高周波数成分を付加しなくとも十分に高音質を維持できるので、係数は小さくて済む。
【0063】
一方、任意の極値から次の極値までのサンプル数が少ない場合、そのフレーム信号x0[i]の周波数は高く、例えば22.1kHzの低域通過フィルタでフィルタリングが施されている場合に、その高周波数のフレーム信号x0[i]の高調波はほとんど削減されている。したがって、高周波数成分を十分に付加しないと音質の改善を図ることができないので、係数は大きい必要がある。
【0064】
続いて、補正信号生成部154は、図7(a)に示すフレーム信号x0[i]の極大値と1サンプリング前のサンプル値との差分値dlに、係数テーブルから抽出した0.5を乗算した乗算結果Δdlを極大値のサンプル位置に配し、フレーム信号の極小値と1サンプリング前のサンプル値との差分値dsに0.5を乗算した乗算結果Δdsを極小値のサンプル位置に配して図7(b)に示す補正信号co[i]を生成する。
【0065】
また、ここでは、乗算結果Δdl、Δdsを極大値や極小値のサンプル位置に加減算するような補正信号が生成されているが、加減算対象となるサンプル位置は、かかる場合に限らず、例えば、極大値や極小値の前後所定数のサンプル位置に加減算することもできる。
【0066】
例えば、補正信号生成部154は、図8(a)に示すフレーム信号x0[i]の極大値と1サンプリング前のサンプル値との差分値dlに、係数テーブルから抽出した0.5を乗算した乗算結果Δdlを極大値の前後1のサンプル位置に配し、フレーム信号の極小値と1サンプリング前のサンプル値との差分値dsに0.5を乗算した乗算結果Δdsを極小値の前後1のサンプル位置に配して図8(b)に示す補正信号co[i]を生成する。また、極大値や極小値のサンプル位置と極大値や極小値の前後所定数のサンプル位置にそれぞれ乗算結果Δdl、Δdsを配して、図7(b)と図8(b)とを合成した補正信号を生成することも可能である。
【0067】
このように、特定の高周波数成分を付加するための複雑な計算を伴うことなく、任意のサンプル位置における振幅の絶対値を大きくするといった単純な処理で高周波数成分を付加する構成により、処理負荷を軽減しつつ音質の改善を図ることが可能となる。
【0068】
遅延部156は、原信号となるフレーム信号x0[i]を、極値特定部150、サンプル数計数部152、補正信号生成部154での処理時間分だけ遅延させ、図7(a)と図7(b)や図8(a)と図8(b)のようにフレーム信号x0[i]と補正信号co[i]とを同期させる。
【0069】
加算部158は、例えば図7(a)および図8(a)に示されるフレーム信号x0[i]に、図7(b)および図8(b)に示される補正信号co[i]を加算して、図7(c)および図8(c)に示すような音質改善処理が施されたフレーム信号x0’[i]を生成する。本実施形態においては、このような矩形波に近くなるように補正信号を付加することで高周波数成分を拡張し、音質の改善を図ることができる。
【0070】
しかし、このような音質改善処理を無作為に実行すると、フレーム信号x0[i]に含まれる各信号の周波数とサンプリング周波数fsとが所定の関係を有さないので、仮に、フレーム信号x0[i]が規則的な正弦波のみから形成されていたとしても、その周波数がサンプリング周波数fsと異なれば、極小値から極大値までのサンプル数と極大値から極小値までのサンプル数とが異なり、乗算する係数や加減算対象となるサンプル位置が半周期毎に異なり音質改善処理が偏ることとなる。例えば、フレーム信号x0[i]の全周期のサンプル数が「7」である場合、半周期のいずれか一方のサンプル数が「4」となり、他方が「3」となってしまい、その補正量もサンプル数に応じて偏る。
【0071】
本実施形態においては、上述したように、音質改善処理の対象を、フレーム信号x0[i]ではなく、そのフレーム信号x0[i]に含まれる、極値の前後の半周期でサンプル数が同一となる周波数に基づく基本波信号bk[i]としているので、画一的かつ均一に音声改善処理を施すことができる。
【0072】
例えば、本実施形態における補正信号加算部124に入力される1または複数の基本波信号bk[i]の1の基本波信号bk[i]を例に挙げると、上述した極値特定部150が特定すべき極大値と極小値の値は、基本波信号bk[i]の正弦波成分および余弦波成分それぞれの振幅情報から特定でき、極大値と極小値のサンプル位置は、基本波信号bk[i]の周波数を示す周波数情報から特定できる。
【0073】
また、サンプル数計数部152が特定すべきサンプル数も、周波数情報から図4を参照して一意に決定することができる。したがって、補正信号生成部154が生成すべき補正信号も、基本波信号bk[i]の各情報から一意に導き出すことが可能となる。
【0074】
上述したように、基本波信号bk[i]は、サンプリング周波数fsの1/2を整数で分周した所定数の周波数fkのみで形成される。したがって、極値の前後の半周期でサンプル数が同一となるばかりでなく、正弦波や余弦波の開始点および終了点がサンプル点に位置することとなる。そうすると、補正信号加算部124は、画一的な補正値を付加するだけといった単純処理によって補正信号を生成できる。
【0075】
図9は、本実施形態の補正信号加算部124における音質改善処理を説明するための説明図である。例えば、図9(a)に示す正弦波sin[i]の音質改善処理では、極大値と極小値が、その周波数fkから求まるサンプル数FS(ここでは4)毎に出現し、同様に、図9(b)に示す余弦波cos[i]の補正でも、極大値と極小値がサンプル数FS毎に出現する。また、サンプル数FSに応じて、加減算対象となるサンプル位置および係数も定まる。さらに、その振幅に応じて、加減算される値も一意に求まる。そうすると、当該正弦波sin[i]や余弦波cos[i]に対する補正信号が基本波信号bk[i]の各情報から一意に導き出される。したがって、補正信号加算部124は、基本波信号それぞれの周波数fkと正弦波sin[i]の振幅と余弦波cos[i]の振幅とに応じて、図9(a)や図9(b)のように、音質改善処理を画一的に施すことが可能となる。
【0076】
ここでは、サンプル数FSが偶数の場合を説明したが、サンプル数FSが奇数の場合も同様に画一的な補正信号を生成することができる。
【0077】
また、正弦波および余弦波の各サンプル位置における補正信号co[i]の値は、基本波信号bk[i]の周波数fkに対して一義的に求まるので、補正信号加算部124は、基本波信号bk[i]の周波数fkと、振幅が1である正弦波および余弦波の各サンプル位置における補正信号co[i]の値とが対応付けられた補正テーブルを予め作成しておくこともできる。かかる補正テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。そして、補正信号加算部124は、補正テーブルを参照し、1または複数の基本波信号bk[i]それぞれの周波数fkに応じて振幅が1である正弦波および余弦波の各サンプル位置における補正信号co[i]の値を抽出し、1または複数の基本波信号bk[i]それぞれの正弦波の振幅と余弦波の振幅とを乗じて補正信号co[i]を生成する。
【0078】
さらに、基本波信号に含まれる正弦波や余弦波と補正信号とが比例関係にあるので、正弦波や余弦波と補正信号とを予め加算した信号とを対応付けてテーブルを作成することも可能である。
【0079】
かかる残差信号d[i]を除く基本波信号bk[i]のみに対して補正信号co[i]を生成する構成により、補正信号co[i]を生成する際の処理負荷を著しく軽減することが可能となり、プログラムの簡素化を図ったり、処理能力の低い安価な処理装置を採用してコストの削減を図ることができる。
【0080】
また、すべての基本波信号bk[i]に対して、適切なサンプル位置に適切な係数を乗じた乗算結果を均等に加減算することが可能となり、また、フレーム信号の変化に拘わらず、基本波信号bk[i]の同じサンプル位置に振幅に比例する同じ補正値を加えることができるので、偏りのない高周波数信号を付加することが可能となる。このように、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【0081】
残差信号加算部126は、補正信号加算部124によって補正信号co[i]が加減算された1または複数の基本波信号bk[i](フレーム信号x0’[i])と、信号分離部122で分離された残差信号d[i]とを加算して、フレーム信号を再構成する。したがって、再構成されたフレーム信号x0”[i]は、数式7のようになる。ただし、数式7中のδs[i]および、δc[i]はそれぞれ振幅1の正弦波と余弦波に対する変位量を表し、iは0〜L−1、kは2、3、4、…、10である。
【数7】
…(数式7)
【0082】
オーバラップ合成部128は、残差信号加算部126において再構成されたフレーム信号と、1つ前のフレーム信号とを(隣り合うフレーム同士を)、デジタル音声信号の一部がオーバラップするように合成し、最終の出力信号を生成する。
【0083】
図10は、オーバラップ合成部128の動作を説明するための説明図である。図10中フレーム信号は、フレーム化部120によって生成された後、信号分離部122、補正信号加算部124および残差信号加算部126を経由した信号であり、A、B、Cの英数字は、図3のデジタル音声信号A、B、Cに対応している。
【0084】
具体的に、オーバラップ合成部128は、まず、再構成されたフレーム信号x0”[i](フレーム信号0、フレーム信号1、フレーム信号2、…)に対して図10に示す窓関数Wを乗じる。フレーム化部120において既に正弦波窓による窓関数が施されている場合、オーバラップ合成部128においも正弦波窓による窓関数を採用する。また、フレーム化部120において窓関数が採用されていない場合、ハニング窓やブラックマン窓を採用する。窓関数はかかる場合に限られず、2つのフレーム信号がオーバラップしたとき、そのオーバラップ部分が合成してオーバラップしない部分と等しくなれば、既存の様々な窓関数を採用することができる。
【0085】
図10におけるフレーム信号1が入力されたときには、既にフレーム信号0のデジタル音声信号Aが保持されており、オーバラップ合成部128は、フレーム信号0のデジタル音声信号Aと、フレーム信号1の後部信号A’とがオーバラップするように、デジタル音声信号Aと後部信号A’を加算して合成信号A”を生成する。同時にオーバラップ合成部128は、フレーム信号1のデジタル音声信号Bを次回の加算処理のため一次的に保持する。そして、周波数時間変換部146からフレーム信号2が入力されると、オーバラップ合成部128は、フレーム信号1のとき同様、フレーム信号1のデジタル音声信号Bと、フレーム信号2の後部信号B’とをオーバラップするように加算して合成信号B”を生成する。オーバラップ合成部128は、このようにして生成された合成信号A”、B”、C”、…を接続して随時出力する。
【0086】
(音声処理プログラム)
また、上述した音声処理装置100は、コンピュータを用いて実現することができる。
【0087】
図11は、音声処理装置100として、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理することが可能なコンピュータ(情報処理装置)200の典型例を示した機能ブロック図である。コンピュータ200は、中央処理装置210と、一時記憶装置212と、外部記憶装置214と、入力部216と、出力部218とを含んで構成される。
【0088】
中央処理装置(CPU)210は、一時記憶装置212や外部記憶装置214のプログラムやアプリケーションによりコンピュータ200全体を制御する。一時記憶装置212は、RAM、EEPROM、不揮発性RAM等から構成され、中央処理装置210で処理されるデジタル音声信号等を一時的に記憶する。外部記憶装置214は、フラッシュメモリ、HDD等で構成され、中央処理装置210で処理されるプログラムを記憶する。入力部216は、放送局102から放送波を通じて、コンテンツサーバ104から通信網106を通じて、または、記憶媒体108から直接、デジタル音声信号を入力し、一時記憶装置212に送信する。出力部218は、当該コンピュータ200によって生成された出力信号を再生装置110に転送する。
【0089】
上述した音質改善処理は、中央処理装置210がプログラムを実行することによって為される。したがって、音声処理装置100が提供されると同時に、コンピュータ200に、デジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号生成ステップと、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算ステップと、を実行させる音声処理プログラムも提供される。また、このプログラムは、記憶媒体から読みとられてコンピュータに取り込まれてもよいし、通信網106を介してコンピュータ200に取り込まれてもよい。
【0090】
(音声処理方法)
次に、上述した音声処理装置100を用いてデジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理方法を説明する。
【0091】
図12は、音声分析合成方法の全体的な流れを示したフローチャートである。音声処理装置100のフレーム化部120は、音声処理装置100が取得したデジタル音声信号を、所定のフレーム単位(所定サンプル数長)で順次切り出し、フレーム信号を生成する(S300)。
【0092】
続いて、信号分離部122は、一般調和解析に基づき、フレーム信号の周波数分析を行い、所定数の相異なる周波数fkの所定数の基本波信号bk[i]を、それぞれ単独でフレーム信号から減算して差分信号ek[i]を求める(S302)。信号分離部122は、所定数の周波数fkすべてに関して処理が遂行されたか否か判断し(S304)、すべてに関して遂行されていない場合(S304のNO)、差分信号導出ステップS302を繰り返す。
【0093】
所定数の周波数fkすべてに関して遂行されると(S304のYES)、差分信号のエネルギーEkが小さい順に9つの周波数fkを並び替える(S306)。そして、信号分離部122は、すべての周波数fkに関する基本波信号bk[i]が減算されるか、または、残差信号d[i]が所定のエネルギー以下となるまで(S308のNO)、その9つの周波数fkに対応する9つの基本波信号bk[i]を、並び替えられた周波数fkの順に、フレーム信号x0[i]から順次減算し、残差信号d[i]を導出する(S310)。こうして、信号分離部122は、デジタル音声信号を1または複数の基本波信号bk[i]と残差信号d[i]とに分離することができる。
【0094】
そして、補正信号加算部124は、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算し(S312)、残差信号加算部126は、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する(S314)。
【0095】
最後に、オーバラップ合成部128は、残差信号加算部126において再構成されたフレーム信号と、1つ前のフレーム信号とを、一部がオーバラップするように合成し、最終の出力信号を生成する(S316)。
【0096】
以上説明した音声処理方法によってもデジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【0097】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0098】
なお、本明細書の音声処理方法における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【産業上の利用可能性】
【0099】
本発明は、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理装置、音声処理方法および音声処理プログラムに利用することができる。
【符号の説明】
【0100】
100 …音声処理装置
120 …フレーム化部
122 …信号分離部
124 …補正信号加算部
126 …残差信号加算部
128 …オーバラップ合成部
200 …コンピュータ
【技術分野】
【0001】
本発明は、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理装置、音声処理方法および音声処理プログラムに関する。
【背景技術】
【0002】
近年、音声符号化技術の進歩により、CD(Compact Disc)等に収録されている楽曲の音質を極力維持したままファイルサイズを小さくすることが可能となり、その結果として、メモリタイプのポータブルオーディオプレーヤに例えば大量の楽曲を収録して携帯することが可能となった。
【0003】
しかし、上述した音声符号化技術は、人間の聴覚特性を利用して通常聞き取れない高周波数領域の音声信号をカットしたり、マスキング効果により聞き取れない音のデータを間引いたりしているため、原音と比較すると、音の伸び、広がり、ダイナミックレンジ、艶っぽさに乏しくなる。そのため、音声符号化技術により圧縮されたデジタル音声信号の音質を改善する技術が開発されている。
【0004】
例えば、デジタル音声信号の極大値と極小値とを特定し、極小値から極大値まで、または、極大値から極小値までのサンプル数を計数し、極大値および極小値を除くサンプル毎に、前のサンプルの値との差分を算出してこれにサンプル数に応じた係数を乗算し、この乗算結果を、極大値や極小値に近いサンプル位置に対して加減算する技術が開示されている(例えば、特許文献1)。
【0005】
また、同様に、極値間のサンプル数を計数し、極大値や極小値と各々1サンプル前の値との差分を算出してこれにサンプル数に応じた係数を乗算し、この乗算結果を、極大値や極小値に直接、または、極大値や極小値に近いサンプル位置に加減算する技術も知られている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3401171号公報
【特許文献2】特許第3659489号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1や2の技術では、極小値から極大値までの区間と極大値から極小値までの区間とが独立して制御され、それぞれの区間のサンプル数に応じて、乗算する係数や加減算対象となるサンプル位置が決定される。したがって、デジタル音声信号の不規則な変化に対しても半周期に相当する区間毎に適切な音質改善処理を行うことができる。
【0008】
一方、デジタル音声信号に含まれる各信号の周波数とサンプリング周波数とが等しくなる保証はないので、デジタル音声信号が仮に規則的な正弦波であったとしても、その周波数がサンプリング周波数と異なれば、半周期毎のサンプル数、すなわち極小値から極大値までのサンプル数と極大値から極小値までのサンプル数とが異なる場合が生じ得る。
【0009】
このように極値間のサンプル数が異なると、乗算する係数や加減算対象となるサンプル位置が変わり、半周期毎に音質の改善量が異なることとなるので、規則的な正弦波に対しても音質改善処理が偏る結果を招き、十分に音質改善効果が発揮されない場合があった。
【0010】
本発明は、このような課題に鑑み、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能な、音声処理装置、音声処理方法および音声処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の音声処理装置は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離部と、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号加算部と、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算部と、を備えることを特徴とする。
【0012】
音声処理装置は、デジタル音声信号を所定のフレーム単位で切り出し、その所定のフレームごとのデジタル音声信号を生成するフレーム化部と、入力されたフレーム単位のデジタル音声信号を、隣り合うフレームのデジタル音声信号の一部がオーバラップするように合成するオーバラップ合成部と、をさらに備え、信号分離部に入力されるデジタル音声信号はフレーム化部で生成された所定のフレームに区切られたデジタル音声信号であり、オーバラップ加算部に入力されるフレーム単位のデジタル音声信号は残差信号加算部から入力されてもよい。
【0013】
1または複数の基本波信号は、相異なる周波数の複数の基本波信号であり、信号分離部は、1または複数の基本波信号と同じ周波数の複数の基本波信号をそれぞれ単独でデジタル音声信号から減算した場合の差分信号を求め、差分信号のエネルギーが小さい順にデジタル音声信号から1または複数の基本波信号を順次減算してデジタル音声信号を1または複数の基本波信号と残差信号とに分離してもよい。
【0014】
上述した1または複数の基本波信号は、所定の周波数と、所定の周波数を有する正弦波および余弦波のそれぞれの振幅とで表される信号であってもよい。
【0015】
補正信号加算部は、1または複数の基本波信号それぞれの周波数と正弦波の振幅と余弦波の振幅とに応じて補正信号を生成してもよい。具体的に、補正信号加算部は、基本波信号の周波数と、振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値とが予め対応付けられた補正テーブルを参照し、1または複数の基本波信号それぞれの周波数に応じて振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値を抽出し、1または複数の基本波信号それぞれの正弦波の振幅と余弦波の振幅とを乗じて補正信号を生成してもよい。
【0016】
上記課題を解決するために、本発明の音声処理方法は、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離し、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算し、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算することを特徴とする。
【0017】
上記課題を解決するために、本発明の音声処理プログラムは、コンピュータに、入力されたデジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号生成ステップと、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算ステップと、を実行させることを特徴とする。
【発明の効果】
【0018】
以上説明したように、本発明によれば、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【図面の簡単な説明】
【0019】
【図1】音声処理装置の利用状態を説明するための説明図である。
【図2】音声処理装置の概略的な構成を説明するための機能ブロック図である。
【図3】フレーム化部におけるフレーム信号の生成過程を説明するための説明図である。
【図4】周波数分析候補となる所定数の周波数の一例を示した説明図である。
【図5】補正信号加算部のさらに具体的な構成を説明するための機能ブロック図である。
【図6】サンプル数と係数との関係を示した係数テーブルである。
【図7】補正信号加算部による音質改善処理の動作を説明するための説明図である。
【図8】補正信号加算部による音質改善処理の動作を説明するための説明図である。
【図9】補正信号加算部における音質改善処理を説明するための説明図である。
【図10】オーバラップ合成部の動作を説明するための説明図である。
【図11】コンピュータの典型例を示した機能ブロック図である。
【図12】音声分析合成方法の全体的な流れを示したフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0021】
(音声処理装置100)
図1は、音声処理装置100の利用状態を説明するための説明図である。音声処理装置100は、放送局102から放送波を通じて、コンテンツサーバ104から通信網106を通じて、または、記憶媒体108から直接、デジタル音声信号を取得し、そのデジタル音声信号に高周波数成分を付加することで、デジタル音声信号の音質を改善する。ユーザは、改善されたデジタル音声信号を、音声処理装置100から直接、または、ポータブルオーディオプレーヤや携帯電話といった再生装置110に転送して聴くことができる。
【0022】
また、コンテンツサーバ104が、音声処理装置100を有しても良く、その場合、コンテンツサーバ104の音声処理装置100によって、高周波数成分が付加された音声信号はパーソナルコンピュータやポータブルオーディオプレーヤ、携帯電話といった再生装置110へ、通信網106を通じて、配信される。
【0023】
また、ポータブルオーディオプレーヤ、携帯電話といった再生装置110が音声処理装置100を有しても良い。その場合、コンテンツサーバ104から通信網106を通じて配信されるデジタル音声信号は、ポータブルオーディオプレーヤ、携帯電話といった再生装置110の音声処理装置100によって、高周波数成分が付加されて再生される。
【0024】
音声処理装置100が取得可能なデジタル音声信号としては、CDやDVD(Digital Versatile Disk)規格に基づいた音声信号の他、MPEG(Moving Picture Expert Group)−2、AAC(Advanced Audio Coding)、HE−AAC(High efficiency-AAC)、ATRAC(Adaptive TRansform Acoustic Coding)、MP3(MPEG Audio Layer-3)、WMA(Windows(登録商標) Media Audio)等の音声符号化処理によって周波数帯域が狭められた音声信号も含む。ここでは、入力されるデジタル音声信号の一例として、サンプリング周波数fs=44.1kHz、量子化ビット数16ビットのデジタル音声信号(CD規格)を挙げて音声処理装置100の各機能を説明する。
【0025】
図2は、音声処理装置100の概略的な構成を説明するための機能ブロック図である。音声処理装置100は、フレーム化部120と、信号分離部122と、補正信号加算部124と、残差信号加算部126と、オーバラップ合成部128とを含んで構成される。
【0026】
フレーム化部120は、音声処理装置100が取得したデジタル音声信号を、処理単位である所定のフレーム単位(所定サンプル数長)で順次切り出し、フレーム単位のデジタル音声信号(以下、単にフレーム信号という)を生成する。
【0027】
図3は、フレーム化部120におけるフレーム信号の生成過程を説明するための説明図である。図3に示したように、連続する1のデジタル音声信号が入力された場合、フレーム化部120は、まず、入力されたデジタル音声信号から所定の長さで区切られる一部のデジタル音声信号Aのみを切り出してフレーム信号0を生成する。このとき、デジタル音声信号Aの前段にはデジタル音声信号が存在しないので、デジタル音声信号Aを含む所定サンプル数長のフレーム信号0は、図3のようにヌル値とデジタル音声信号Aとから形成される。また、フレーム化部120は、次のフレーム信号のため、デジタル音声信号Aの所定の位置から後尾までの所定長のデータである後部信号A’をバッファ(図示せず)に一時的に保持する。
【0028】
続いて、フレーム化部120は、引き続き入力されるデジタル音声信号に応じて、デジタル音声信号Bを切り出し、保持していたデジタル音声信号Aの後部信号A’とデジタル音声信号Bとをその順に接続し、所定サンプル数長のフレーム信号1を生成する。以後、フレーム化部120は、デジタル音声信号Bの後部信号B’と次に切り出したデジタル音声信号Cとでフレーム信号2を生成するといった具合にフレーム信号の生成を繰り返す。
【0029】
したがって、フレーム化部120によって生成されたフレーム信号は、前後のフレーム信号と一部がオーバラップすることとなる。例えば、フレーム信号0とフレーム信号1とは後部信号A’に相当するデータがオーバラップする。以後の信号分離部122、補正信号加算部124、残差信号加算部126、オーバラップ合成部128では、かかるフレーム信号(フレーム単位のデジタル音声信号)に対して処理が遂行される。また、ここでは、オーバラップされる後部信号A’、B’、…の長さを、所定サンプル数長のフレーム信号に対して1/3の長さとして図示しているが、かかる場合に限らず、1/2以下の任意の数値とすることができる。
【0030】
本実施形態においては、このように生成された各フレーム信号を、後述するオーバラップ合成部128においてオーバラップさせつつ再度合成する。かかるオーバラップ部分によってデジタル音声信号の連続性を確保することが可能となり、当該実施形態に基づいて新たに生成される高周波数成分を形成する補正信号の連続性も確保される。こうして、フレーム信号を切り出すことによる端部(エッジ)の影響を回避することができ、安定した音質改善効果を得ることが可能となる。
【0031】
そして、フレーム化部120は、生成したフレーム信号を順次、信号分離部122に送信する。
【0032】
信号分離部122は、フレーム化部120から受信した所定のフレームに区切られたフレーム信号の周波数分析を行い、フレーム信号を1または複数の基本波信号と、1または複数の基本波信号を除いた残差信号とに分離する。本実施形態において、信号分離部122は、一般調和解析(GHA:Generalized Harmonic Analysis)を用いて基本波信号と残差信号とを分離する。
【0033】
かかる一般調和解析は、周波数分析法として広く用いられている高速フーリエ変換(FFT:Fast Fourier Transform)と比較して、演算負荷は重くなるものの、(1)高速フーリエ変換よりも周波数分析精度が高い、(2)雑音を抑圧することができる、(3)分析対象となるフレーム信号以外の波形を予測することができるといった点で有利である。
【0034】
また、高速フーリエ変換を用いてフレーム信号の周波数分析を実行すると、そのフレーム信号は、フレーム単位の周期関数として扱われるので、端部において不連続な周波数成分が生じ、原信号となるデジタル音声信号に含まれていない新たな周波数成分を検出してしまう。さらに、フレーム信号の端部の連続性を確保すべく窓関数を施すと、高速フーリエ変換の周波数分析結果が常に窓関数の影響を受けてしまう。
【0035】
一方、本実施形態の一般調和解析では、フレーム信号から、残差エネルギーが最小となる適切な正弦波や余弦波の組合せを導出しているので、時間分解能に依存しない高い周波数分解能で周波数分析を遂行することができる。このように信号分離部122は、一般調和解析を用いて基本波信号と残差信号とを分離することが最も望ましいが、これに限定されるわけではなく、種々の周波数分析法を用いることができる。
【0036】
信号分離部122は、このような一般調和解析に従い、まず、サンプリング周波数fsに基づいて周波数分析候補となる所定数の相異なる周波数fk(kは整数)を決定する。そして、決定された所定数の周波数fkの基本波信号bk[i](iは0〜L−1の整数、Lはフレーム信号のサンプル数)を、それぞれ単独でフレーム信号から減算して差分信号ek[i]を求め、さらにその二乗和により差分信号のエネルギーEkを導出する。
【0037】
なお、信号分離部122は、図示しないデコーダがデジタル音声信号をデコードするときに抽出したデジタル音声信号のサンプリング周波数の情報を取得して、そのサンプリング周波数に応じて周波数分析候補となる所定数の相異なる周波数fk(kは整数)を決定するようにしてもよい。ただし、CDプレーヤのように入力されるデジタル音声信号のサンプリング周波数が常に一定である再生装置に、本実施形態に係わる音声処理装置100を用いる場合、信号分離部122は、必ずしもサンプリング周波数の情報を取得する必要はない。
【0038】
図4は、周波数分析候補となる所定数の周波数の一例を示した説明図である。ここでは所定数の周波数として、その周波数の波形における極値の前後の半周期でサンプル数が同一となる周波数が選択される。本実施形態においてサンプリング周波数fsは44.1kHzであるから、極値の前後の半周期でサンプル数が同一となる周波数fkは、サンプリング周波数fsの1/2の周波数をさらに半周期のサンプル数FS(FSは整数)で分周した値fs/2/FSとなる。
【0039】
ただし、FS=1の周波数f1(22.05kHz)の周波数成分は、サンプリング定理に従って処理対象となるフレーム信号x0[i](iは0〜L−1の整数)に含まれないので、周波数fkは、図4に示すように、サンプル数FS=2、3、4、…となる周波数に限られる。本実施形態では、サンプル数FS=2、3、4、…、10の相異なる9つの周波数f2〜f10を周波数分析候補とする。周波数fkを極値の前後の半周期でサンプル数が同一となる周波数とした理由は後ほど述べる。
【0040】
また、周波数fkの基本波信号bk[i]は、数式1で表すことができる。ただし、iは0〜L−1、kは2、3、4、…、10である。
【数1】
…(数式1)
【0041】
信号分離部122は、図4に示した周波数をFSの小さい順に選択し、処理対象となるフレーム信号x0[i]に対する基本波信号bk[i]の正弦波の振幅S(fk)を数式2を用いて導出し、余弦波の振幅C(fk)を数式3を用いて導出する。ただし、kは2、3、4、…、10である。
【数2】
…(数式2)
【数3】
…(数式3)
【0042】
このようにして導出された振幅S(fk)と振幅C(fk)とを数式1に代入して基本波信号bk[i]を求め、処理対象となるフレーム信号x0[i]から、その基本波信号bk[i]を、数式4のようにそれぞれ個別に減算して差分信号ek[i]を求める。
【数4】
…(数式4)
【0043】
そして、差分信号ek[i]のエネルギーEkを、数式5のように二乗和により導出し、その周波数fkに関連付けて一時的に保持する。
【数5】
…(数式5)
【0044】
ここでは、導出された所定数の差分信号ek[i]のエネルギーEkが小さいほど、その周波数fkの基本波信号bk[i]が、処理対象となるフレーム信号x0[i]に含まれる占有率(度合い)が高いことを表す。信号分離部122は、このような差分信号ek[i]のエネルギーEkを図4に示すfs/2/FS(FS=2、3、4、…10)の9つの周波数fkすべてに関して計算する。
【0045】
このような差分信号ek[i]のエネルギーEkを個々に求めたのは、1または複数の基本波信号bk[i]すべてを除いた最終的な残差信号を最小にするためには、一般調和解析の下、フレーム信号x0[i]から占有率が高い基本波信号bk[i]を優先して分離する必要があるからである。したがって、信号分離部122は、差分エネルギーEkが小さい順、すなわち基本波信号bk[i]における占有率が高い順に9つの周波数fkを並び替える。
【0046】
続いて、信号分離部122は、その9つの周波数fkに対応する9つの基本波信号bk[i]を、並び替えられた周波数fkの順に、原信号であるフレーム信号x0[i]から順次減算する。ただし、上述した差分信号ek[i]を導出する工程では、毎回、原信号であるフレーム信号x0[i]から改めて基本波信号bk[i]を減算したのに対し、ここでは、フレーム信号x0[i]から1の基本波信号bk[i]を減算すると、その減算した後の残差信号d[i]に対して、次の基本波信号bk[i]の振幅S(fk)および振幅C(fk)を数式2、3を用いて改めて導出し、その基本波信号bk[i]を減算していく。したがって、減算する順番によっては基本波信号bk[i]の振幅S(fk)および振幅C(fk)が変化する。並び替えに用いた基本波信号bk[i]と当該フレーム信号x0[i]から順次減算する基本波信号bk[i]とは所定の周波数fkを有する正弦波と余弦波で表されることで共通し、その正弦波と余弦波の振幅のみが異なる。並び替えに用いた基本波信号bk[i]は並び替えが完了すると用いられることはなくなり、振幅S(fk)および振幅C(fk)が変化した基本波信号bk[i]が最終的な基本波信号bk[i]として以後の処理でも用いられる。このような基本波信号bk[i]の減算を経て残差信号d[i]が導出される。したがって、残差信号d[i]は、数式6のように表すことができる。ただし、iは0〜L−1、kは2、3、4、…、10である。
【数6】
…(数式6)
【0047】
こうしてフレーム信号x0[i]から占有率が高い基本波信号bk[i]が順次分離され、残差信号d[i]のエネルギーは漸減する。
【0048】
このように、フレーム信号x0[i]における占有率が高い基本波信号bk[i]から優先して分離する構成により、フレーム信号x0[i]を1または複数の基本波信号bk[i]の組合せで適切に表すことができ、かつ、残差信号d[i]を最小限に抑えることが可能となる。
【0049】
ここで、周波数分析候補となる所定数(ここでは9つ)の周波数fkは、サンプリング周波数fs(例えば44.1kHz)に対して図4の如く一義的に求まるので、サンプリング周波数fsに応じて、所定数の周波数fkと基本波信号bk[i]とを一意に対応付けた基本波テーブルを予め作成しておくこともできる。ただし、基本波テーブルでは、振幅S(fk)や振幅C(fk)を所定値(例えば1)とした場合の各サンプルiにおける正弦波および余弦波の値までが示されるに留まり、信号分離部122は、振幅S(fk)や振幅C(fk)を乗じて基本波信号bk[i]を導出することとなる。かかる基本波テーブルによって、演算負荷の軽減を図ることが可能となる。かかる基本波テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。
【0050】
信号分離部122は、引き続き並び替えられた順に基本波信号bk[i]を減算していき、周波数分析候補として準備されたすべての周波数fkに関する基本波信号bk[i]を減算し終わると、その残差信号d[i]を最終的な残差信号として残差信号加算部126に送信する。
【0051】
ここで、周波数分析候補として準備されたすべての周波数fkに関する基本波信号bk[i]を減算していなくとも、その残差信号d[i]のエネルギーが十分に小さくなっていれば、例えば、残差信号d[i]が所定のエネルギー以下となれば、フレーム信号x0[i]を十分に分離できたとして、その時点で基本波信号bk[i]の分離を停止し、残差信号d[i]を残差信号加算部126に送信する。
【0052】
このとき、基本波信号bk[i]は、それぞれ、所定の周波数と、所定の周波数を有する正弦波の振幅と、余弦波の振幅とで表される信号なので、信号分離部122は、基本波信号bk[i]そのものではなく、基本波信号bk[i]の周波数を示す周波数情報と、正弦波成分の振幅情報と、余弦波成分の振幅情報といったパラメータと、基本波信号bk[i]の個数情報とを補正信号加算部124に送信する。かかる構成により、信号分離部122と補正信号加算部124とのアクセス負荷を著しく軽減することができる。
【0053】
また、信号分離部122は、数式6に示すように、フレーム信号x0[i]から対象となる基本波信号bk[i]をすべて除いた残差信号d[i]を残差信号加算部126に送信する。
【0054】
本実施形態においては、後述するように基本波信号bk[i]のみに音質改善処理が施され、残差信号d[i]には施されない。しかし、残差信号d[i]はエネルギー量としても無視可能な信号なので、残差信号d[i]に音質改善処理を施さなくとも、原信号であるフレーム信号x0[i]の音質改善レベルに影響はなく、むしろ残差信号d[i]に音質改善処理を施す処理負荷を他の処理に有効活用できる。
【0055】
また、図4で示したように、基本波信号bk[i]の周波数fkを、極値の前後の半周期でサンプル数が同一となる周波数fk=fs/2/FSとすることで、残差信号d[i]を除いたフレーム信号x0[i](1または複数の基本波信号bk[i])を極値の前後の半周期でサンプル数が同一となる正弦波および余弦波で表すことができ、同一の正弦波や余弦波において、乗算する係数や加減算対象となるサンプル位置が異なるといった問題がなくなる。さらに、基本波信号bk[i]は、初期位相0の正弦波および余弦波のみで形成されるため、フレーム信号x0[i]に対して補正信号を画一的に付加することができるので、音質改善の均一化を図ることが可能となる。
【0056】
補正信号加算部124は、信号分離部122が分離した1または複数の基本波信号それぞれに対し、音圧0を中心とした振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する。
【0057】
図5は、補正信号加算部124のさらに具体的な構成を説明するための機能ブロック図であり、図6は、サンプル数と係数との関係を示した係数テーブルであり、図7および図8は、補正信号加算部124による音質改善処理の動作を説明するための説明図である。補正信号加算部124は、極値特定部150と、サンプル数計数部152と、補正信号生成部154と、遅延部156と、加算部158とを含んで構成される。また、係数テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。ここで、まず、補正信号加算部124で実行される音質改善処理の基本的動作を説明する。
【0058】
極値特定部150は、補正信号加算部124が受信したフレーム信号x0[i](1または複数の基本波信号bk[i])の極大値と極小値とを特定する。具体的に、極値特定部150は、フレーム信号x0[i]の各サンプルにおける値を順次比較し、値が増加している状態または増減無しの状態から減少に転じたとき、その減少に転じる直前のサンプルにおける値を極大値とし、値が減少している状態または増減無しの状態から増加に転じたとき、その増加に転じる直前のサンプルにおける値を極小値とする。
【0059】
サンプル数計数部152は、任意の極値(極大値または極小値)から次の極値までのサンプル数、すなわち、極大値から極小値まで、または極小値から極大値までのサンプル数を計数する。
【0060】
補正信号生成部154は、フレーム信号x0[i]における所定のサンプル間の変化量と1の係数とを乗じてデジタル音声信号の振幅の絶対値が拡大されるような補正値を生成し、所定のサンプル位置に配して補正信号を生成する。
【0061】
例えば、図7の例では、補正信号生成部154は、図6の係数テーブルを参照し、図7(a)に示すフレーム信号x0[i]に基づきサンプル数計数部152が計数した極大値から極小値まで、または極小値から極大値までの極値間のサンプル数、例えば「4」に対応した、係数「0.5」を抽出する。
【0062】
ここで、図6の係数テーブルにおいて、サンプル数が多いほど係数の値が小さいのは以下の理由からである。すなわち、任意の極値から次の極値までのサンプル数が多い場合、そのフレーム信号x0[i]の周波数は低く、例えば22.1kHzの低域通過フィルタ(LPF:Low Pass Filter)でフィルタリングが施されている場合であっても、その低周波数のフレーム信号x0[i]の高調波は抑制されずに残る。したがって、大きな高周波数成分を付加しなくとも十分に高音質を維持できるので、係数は小さくて済む。
【0063】
一方、任意の極値から次の極値までのサンプル数が少ない場合、そのフレーム信号x0[i]の周波数は高く、例えば22.1kHzの低域通過フィルタでフィルタリングが施されている場合に、その高周波数のフレーム信号x0[i]の高調波はほとんど削減されている。したがって、高周波数成分を十分に付加しないと音質の改善を図ることができないので、係数は大きい必要がある。
【0064】
続いて、補正信号生成部154は、図7(a)に示すフレーム信号x0[i]の極大値と1サンプリング前のサンプル値との差分値dlに、係数テーブルから抽出した0.5を乗算した乗算結果Δdlを極大値のサンプル位置に配し、フレーム信号の極小値と1サンプリング前のサンプル値との差分値dsに0.5を乗算した乗算結果Δdsを極小値のサンプル位置に配して図7(b)に示す補正信号co[i]を生成する。
【0065】
また、ここでは、乗算結果Δdl、Δdsを極大値や極小値のサンプル位置に加減算するような補正信号が生成されているが、加減算対象となるサンプル位置は、かかる場合に限らず、例えば、極大値や極小値の前後所定数のサンプル位置に加減算することもできる。
【0066】
例えば、補正信号生成部154は、図8(a)に示すフレーム信号x0[i]の極大値と1サンプリング前のサンプル値との差分値dlに、係数テーブルから抽出した0.5を乗算した乗算結果Δdlを極大値の前後1のサンプル位置に配し、フレーム信号の極小値と1サンプリング前のサンプル値との差分値dsに0.5を乗算した乗算結果Δdsを極小値の前後1のサンプル位置に配して図8(b)に示す補正信号co[i]を生成する。また、極大値や極小値のサンプル位置と極大値や極小値の前後所定数のサンプル位置にそれぞれ乗算結果Δdl、Δdsを配して、図7(b)と図8(b)とを合成した補正信号を生成することも可能である。
【0067】
このように、特定の高周波数成分を付加するための複雑な計算を伴うことなく、任意のサンプル位置における振幅の絶対値を大きくするといった単純な処理で高周波数成分を付加する構成により、処理負荷を軽減しつつ音質の改善を図ることが可能となる。
【0068】
遅延部156は、原信号となるフレーム信号x0[i]を、極値特定部150、サンプル数計数部152、補正信号生成部154での処理時間分だけ遅延させ、図7(a)と図7(b)や図8(a)と図8(b)のようにフレーム信号x0[i]と補正信号co[i]とを同期させる。
【0069】
加算部158は、例えば図7(a)および図8(a)に示されるフレーム信号x0[i]に、図7(b)および図8(b)に示される補正信号co[i]を加算して、図7(c)および図8(c)に示すような音質改善処理が施されたフレーム信号x0’[i]を生成する。本実施形態においては、このような矩形波に近くなるように補正信号を付加することで高周波数成分を拡張し、音質の改善を図ることができる。
【0070】
しかし、このような音質改善処理を無作為に実行すると、フレーム信号x0[i]に含まれる各信号の周波数とサンプリング周波数fsとが所定の関係を有さないので、仮に、フレーム信号x0[i]が規則的な正弦波のみから形成されていたとしても、その周波数がサンプリング周波数fsと異なれば、極小値から極大値までのサンプル数と極大値から極小値までのサンプル数とが異なり、乗算する係数や加減算対象となるサンプル位置が半周期毎に異なり音質改善処理が偏ることとなる。例えば、フレーム信号x0[i]の全周期のサンプル数が「7」である場合、半周期のいずれか一方のサンプル数が「4」となり、他方が「3」となってしまい、その補正量もサンプル数に応じて偏る。
【0071】
本実施形態においては、上述したように、音質改善処理の対象を、フレーム信号x0[i]ではなく、そのフレーム信号x0[i]に含まれる、極値の前後の半周期でサンプル数が同一となる周波数に基づく基本波信号bk[i]としているので、画一的かつ均一に音声改善処理を施すことができる。
【0072】
例えば、本実施形態における補正信号加算部124に入力される1または複数の基本波信号bk[i]の1の基本波信号bk[i]を例に挙げると、上述した極値特定部150が特定すべき極大値と極小値の値は、基本波信号bk[i]の正弦波成分および余弦波成分それぞれの振幅情報から特定でき、極大値と極小値のサンプル位置は、基本波信号bk[i]の周波数を示す周波数情報から特定できる。
【0073】
また、サンプル数計数部152が特定すべきサンプル数も、周波数情報から図4を参照して一意に決定することができる。したがって、補正信号生成部154が生成すべき補正信号も、基本波信号bk[i]の各情報から一意に導き出すことが可能となる。
【0074】
上述したように、基本波信号bk[i]は、サンプリング周波数fsの1/2を整数で分周した所定数の周波数fkのみで形成される。したがって、極値の前後の半周期でサンプル数が同一となるばかりでなく、正弦波や余弦波の開始点および終了点がサンプル点に位置することとなる。そうすると、補正信号加算部124は、画一的な補正値を付加するだけといった単純処理によって補正信号を生成できる。
【0075】
図9は、本実施形態の補正信号加算部124における音質改善処理を説明するための説明図である。例えば、図9(a)に示す正弦波sin[i]の音質改善処理では、極大値と極小値が、その周波数fkから求まるサンプル数FS(ここでは4)毎に出現し、同様に、図9(b)に示す余弦波cos[i]の補正でも、極大値と極小値がサンプル数FS毎に出現する。また、サンプル数FSに応じて、加減算対象となるサンプル位置および係数も定まる。さらに、その振幅に応じて、加減算される値も一意に求まる。そうすると、当該正弦波sin[i]や余弦波cos[i]に対する補正信号が基本波信号bk[i]の各情報から一意に導き出される。したがって、補正信号加算部124は、基本波信号それぞれの周波数fkと正弦波sin[i]の振幅と余弦波cos[i]の振幅とに応じて、図9(a)や図9(b)のように、音質改善処理を画一的に施すことが可能となる。
【0076】
ここでは、サンプル数FSが偶数の場合を説明したが、サンプル数FSが奇数の場合も同様に画一的な補正信号を生成することができる。
【0077】
また、正弦波および余弦波の各サンプル位置における補正信号co[i]の値は、基本波信号bk[i]の周波数fkに対して一義的に求まるので、補正信号加算部124は、基本波信号bk[i]の周波数fkと、振幅が1である正弦波および余弦波の各サンプル位置における補正信号co[i]の値とが対応付けられた補正テーブルを予め作成しておくこともできる。かかる補正テーブルは図示しないメモリに保持されてもよく、通信網106から取得するとしてもよい。そして、補正信号加算部124は、補正テーブルを参照し、1または複数の基本波信号bk[i]それぞれの周波数fkに応じて振幅が1である正弦波および余弦波の各サンプル位置における補正信号co[i]の値を抽出し、1または複数の基本波信号bk[i]それぞれの正弦波の振幅と余弦波の振幅とを乗じて補正信号co[i]を生成する。
【0078】
さらに、基本波信号に含まれる正弦波や余弦波と補正信号とが比例関係にあるので、正弦波や余弦波と補正信号とを予め加算した信号とを対応付けてテーブルを作成することも可能である。
【0079】
かかる残差信号d[i]を除く基本波信号bk[i]のみに対して補正信号co[i]を生成する構成により、補正信号co[i]を生成する際の処理負荷を著しく軽減することが可能となり、プログラムの簡素化を図ったり、処理能力の低い安価な処理装置を採用してコストの削減を図ることができる。
【0080】
また、すべての基本波信号bk[i]に対して、適切なサンプル位置に適切な係数を乗じた乗算結果を均等に加減算することが可能となり、また、フレーム信号の変化に拘わらず、基本波信号bk[i]の同じサンプル位置に振幅に比例する同じ補正値を加えることができるので、偏りのない高周波数信号を付加することが可能となる。このように、デジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【0081】
残差信号加算部126は、補正信号加算部124によって補正信号co[i]が加減算された1または複数の基本波信号bk[i](フレーム信号x0’[i])と、信号分離部122で分離された残差信号d[i]とを加算して、フレーム信号を再構成する。したがって、再構成されたフレーム信号x0”[i]は、数式7のようになる。ただし、数式7中のδs[i]および、δc[i]はそれぞれ振幅1の正弦波と余弦波に対する変位量を表し、iは0〜L−1、kは2、3、4、…、10である。
【数7】
…(数式7)
【0082】
オーバラップ合成部128は、残差信号加算部126において再構成されたフレーム信号と、1つ前のフレーム信号とを(隣り合うフレーム同士を)、デジタル音声信号の一部がオーバラップするように合成し、最終の出力信号を生成する。
【0083】
図10は、オーバラップ合成部128の動作を説明するための説明図である。図10中フレーム信号は、フレーム化部120によって生成された後、信号分離部122、補正信号加算部124および残差信号加算部126を経由した信号であり、A、B、Cの英数字は、図3のデジタル音声信号A、B、Cに対応している。
【0084】
具体的に、オーバラップ合成部128は、まず、再構成されたフレーム信号x0”[i](フレーム信号0、フレーム信号1、フレーム信号2、…)に対して図10に示す窓関数Wを乗じる。フレーム化部120において既に正弦波窓による窓関数が施されている場合、オーバラップ合成部128においも正弦波窓による窓関数を採用する。また、フレーム化部120において窓関数が採用されていない場合、ハニング窓やブラックマン窓を採用する。窓関数はかかる場合に限られず、2つのフレーム信号がオーバラップしたとき、そのオーバラップ部分が合成してオーバラップしない部分と等しくなれば、既存の様々な窓関数を採用することができる。
【0085】
図10におけるフレーム信号1が入力されたときには、既にフレーム信号0のデジタル音声信号Aが保持されており、オーバラップ合成部128は、フレーム信号0のデジタル音声信号Aと、フレーム信号1の後部信号A’とがオーバラップするように、デジタル音声信号Aと後部信号A’を加算して合成信号A”を生成する。同時にオーバラップ合成部128は、フレーム信号1のデジタル音声信号Bを次回の加算処理のため一次的に保持する。そして、周波数時間変換部146からフレーム信号2が入力されると、オーバラップ合成部128は、フレーム信号1のとき同様、フレーム信号1のデジタル音声信号Bと、フレーム信号2の後部信号B’とをオーバラップするように加算して合成信号B”を生成する。オーバラップ合成部128は、このようにして生成された合成信号A”、B”、C”、…を接続して随時出力する。
【0086】
(音声処理プログラム)
また、上述した音声処理装置100は、コンピュータを用いて実現することができる。
【0087】
図11は、音声処理装置100として、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理することが可能なコンピュータ(情報処理装置)200の典型例を示した機能ブロック図である。コンピュータ200は、中央処理装置210と、一時記憶装置212と、外部記憶装置214と、入力部216と、出力部218とを含んで構成される。
【0088】
中央処理装置(CPU)210は、一時記憶装置212や外部記憶装置214のプログラムやアプリケーションによりコンピュータ200全体を制御する。一時記憶装置212は、RAM、EEPROM、不揮発性RAM等から構成され、中央処理装置210で処理されるデジタル音声信号等を一時的に記憶する。外部記憶装置214は、フラッシュメモリ、HDD等で構成され、中央処理装置210で処理されるプログラムを記憶する。入力部216は、放送局102から放送波を通じて、コンテンツサーバ104から通信網106を通じて、または、記憶媒体108から直接、デジタル音声信号を入力し、一時記憶装置212に送信する。出力部218は、当該コンピュータ200によって生成された出力信号を再生装置110に転送する。
【0089】
上述した音質改善処理は、中央処理装置210がプログラムを実行することによって為される。したがって、音声処理装置100が提供されると同時に、コンピュータ200に、デジタル音声信号の周波数分析を行い、デジタル音声信号を1または複数の基本波信号と1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算する補正信号生成ステップと、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する残差信号加算ステップと、を実行させる音声処理プログラムも提供される。また、このプログラムは、記憶媒体から読みとられてコンピュータに取り込まれてもよいし、通信網106を介してコンピュータ200に取り込まれてもよい。
【0090】
(音声処理方法)
次に、上述した音声処理装置100を用いてデジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理方法を説明する。
【0091】
図12は、音声分析合成方法の全体的な流れを示したフローチャートである。音声処理装置100のフレーム化部120は、音声処理装置100が取得したデジタル音声信号を、所定のフレーム単位(所定サンプル数長)で順次切り出し、フレーム信号を生成する(S300)。
【0092】
続いて、信号分離部122は、一般調和解析に基づき、フレーム信号の周波数分析を行い、所定数の相異なる周波数fkの所定数の基本波信号bk[i]を、それぞれ単独でフレーム信号から減算して差分信号ek[i]を求める(S302)。信号分離部122は、所定数の周波数fkすべてに関して処理が遂行されたか否か判断し(S304)、すべてに関して遂行されていない場合(S304のNO)、差分信号導出ステップS302を繰り返す。
【0093】
所定数の周波数fkすべてに関して遂行されると(S304のYES)、差分信号のエネルギーEkが小さい順に9つの周波数fkを並び替える(S306)。そして、信号分離部122は、すべての周波数fkに関する基本波信号bk[i]が減算されるか、または、残差信号d[i]が所定のエネルギー以下となるまで(S308のNO)、その9つの周波数fkに対応する9つの基本波信号bk[i]を、並び替えられた周波数fkの順に、フレーム信号x0[i]から順次減算し、残差信号d[i]を導出する(S310)。こうして、信号分離部122は、デジタル音声信号を1または複数の基本波信号bk[i]と残差信号d[i]とに分離することができる。
【0094】
そして、補正信号加算部124は、1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して基本波信号に加算し(S312)、残差信号加算部126は、補正信号がそれぞれ加算された1または複数の基本波信号に残差信号を加算する(S314)。
【0095】
最後に、オーバラップ合成部128は、残差信号加算部126において再構成されたフレーム信号と、1つ前のフレーム信号とを、一部がオーバラップするように合成し、最終の出力信号を生成する(S316)。
【0096】
以上説明した音声処理方法によってもデジタル音声信号に含まれる各信号に対して画一的に音声改善処理を施すことで、音質改善の均一化を図ることが可能となる。
【0097】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0098】
なお、本明細書の音声処理方法における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【産業上の利用可能性】
【0099】
本発明は、デジタル音声信号を分析し、その分析結果を用いてデジタル音声信号を加工処理する音声処理装置、音声処理方法および音声処理プログラムに利用することができる。
【符号の説明】
【0100】
100 …音声処理装置
120 …フレーム化部
122 …信号分離部
124 …補正信号加算部
126 …残差信号加算部
128 …オーバラップ合成部
200 …コンピュータ
【特許請求の範囲】
【請求項1】
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離する信号分離部と、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算する補正信号加算部と、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算する残差信号加算部と、
を備えることを特徴とする音声処理装置。
【請求項2】
デジタル音声信号を所定のフレーム単位で切り出し、その所定のフレームごとのデジタル音声信号を生成するフレーム化部と、
入力されたフレーム単位のデジタル音声信号を、隣り合うフレームのデジタル音声信号の一部がオーバラップするように合成するオーバラップ合成部と、
をさらに備え、
前記信号分離部に入力されるデジタル音声信号は前記フレーム化部で生成された所定のフレームに区切られたデジタル音声信号であり、
前記オーバラップ加算部に入力されるフレーム単位のデジタル音声信号は前記残差信号加算部から入力されることを特徴とする請求項1に記載の音声処理装置。
【請求項3】
前記1または複数の基本波信号は、相異なる周波数の複数の基本波信号であり、
前記信号分離部は、前記1または複数の基本波信号と同じ周波数の複数の基本波信号をそれぞれ単独で前記デジタル音声信号から減算した場合の差分信号を求め、前記差分信号のエネルギーが小さい順に前記デジタル音声信号から前記1または複数の基本波信号を順次減算して前記デジタル音声信号を1または複数の前記基本波信号と前記残差信号とに分離することを特徴とする請求項1または2に記載の音声処理装置。
【請求項4】
前記1または複数の基本波信号は、所定の周波数と、前記所定の周波数を有する正弦波および余弦波のそれぞれの振幅とで表される信号であることを特徴とする請求項1から3のいずれか1項に記載の音声処理装置。
【請求項5】
前記補正信号加算部は、前記1または複数の基本波信号それぞれの周波数と正弦波の振幅と余弦波の振幅とに応じて前記補正信号を生成することを特徴とする請求項4に記載の音声処理装置。
【請求項6】
前記補正信号加算部は、
前記基本波信号の周波数と、振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値とが予め対応付けられた補正テーブルを参照し、
前記1または複数の基本波信号それぞれの周波数に応じて前記振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値を抽出し、前記1または複数の基本波信号それぞれの正弦波の振幅と余弦波の振幅とを乗じて前記補正信号を生成することを特徴とする請求項5に記載の音声処理装置。
【請求項7】
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離し、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算し、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算することを特徴とする音声処理方法。
【請求項8】
コンピュータに、
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算する補正信号生成ステップと、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算する残差信号加算ステップと、
を実行させることを特徴とする音声処理プログラム。
【請求項1】
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離する信号分離部と、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算する補正信号加算部と、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算する残差信号加算部と、
を備えることを特徴とする音声処理装置。
【請求項2】
デジタル音声信号を所定のフレーム単位で切り出し、その所定のフレームごとのデジタル音声信号を生成するフレーム化部と、
入力されたフレーム単位のデジタル音声信号を、隣り合うフレームのデジタル音声信号の一部がオーバラップするように合成するオーバラップ合成部と、
をさらに備え、
前記信号分離部に入力されるデジタル音声信号は前記フレーム化部で生成された所定のフレームに区切られたデジタル音声信号であり、
前記オーバラップ加算部に入力されるフレーム単位のデジタル音声信号は前記残差信号加算部から入力されることを特徴とする請求項1に記載の音声処理装置。
【請求項3】
前記1または複数の基本波信号は、相異なる周波数の複数の基本波信号であり、
前記信号分離部は、前記1または複数の基本波信号と同じ周波数の複数の基本波信号をそれぞれ単独で前記デジタル音声信号から減算した場合の差分信号を求め、前記差分信号のエネルギーが小さい順に前記デジタル音声信号から前記1または複数の基本波信号を順次減算して前記デジタル音声信号を1または複数の前記基本波信号と前記残差信号とに分離することを特徴とする請求項1または2に記載の音声処理装置。
【請求項4】
前記1または複数の基本波信号は、所定の周波数と、前記所定の周波数を有する正弦波および余弦波のそれぞれの振幅とで表される信号であることを特徴とする請求項1から3のいずれか1項に記載の音声処理装置。
【請求項5】
前記補正信号加算部は、前記1または複数の基本波信号それぞれの周波数と正弦波の振幅と余弦波の振幅とに応じて前記補正信号を生成することを特徴とする請求項4に記載の音声処理装置。
【請求項6】
前記補正信号加算部は、
前記基本波信号の周波数と、振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値とが予め対応付けられた補正テーブルを参照し、
前記1または複数の基本波信号それぞれの周波数に応じて前記振幅が1である正弦波および余弦波の各サンプル位置における補正信号の値を抽出し、前記1または複数の基本波信号それぞれの正弦波の振幅と余弦波の振幅とを乗じて前記補正信号を生成することを特徴とする請求項5に記載の音声処理装置。
【請求項7】
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離し、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算し、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算することを特徴とする音声処理方法。
【請求項8】
コンピュータに、
入力されたデジタル音声信号の周波数分析を行い、前記デジタル音声信号を1または複数の基本波信号と前記1または複数の基本波信号を除いた残差信号とに分離する信号分離ステップと、
前記1または複数の基本波信号それぞれに対し、振幅の絶対値が拡大されるような補正信号を生成して前記基本波信号に加算する補正信号生成ステップと、
前記補正信号がそれぞれ加算された前記1または複数の基本波信号に前記残差信号を加算する残差信号加算ステップと、
を実行させることを特徴とする音声処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−133568(P2011−133568A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−291156(P2009−291156)
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000004329)日本ビクター株式会社 (3,896)
[ Back to top ]