信号処理装置、信号処理方法、再生装置、再生方法、電子機器
【課題】圧縮符号化により失われた高域部分の信号を補間して高音質化を図る。
【解決手段】所定の周波数以上の帯域において自己相関計算を行い、計算された相関値が最大となるときの相関最大シフト量を求めると共に、この相関最大シフト量だけ離間した周波数ポイント間の信号の比率を計算しておく。その上で、信号成分が失われた以降の各補間対象周波数ポイントの信号を、それら各補間対象周波数ポイントから上記相関最大シフト量だけ離間した信号と上記比率とに基づき計算した値で補間する。これによって相関性を活かしたより自然なかたちで符号化により失われた高域信号を補間できる。
【解決手段】所定の周波数以上の帯域において自己相関計算を行い、計算された相関値が最大となるときの相関最大シフト量を求めると共に、この相関最大シフト量だけ離間した周波数ポイント間の信号の比率を計算しておく。その上で、信号成分が失われた以降の各補間対象周波数ポイントの信号を、それら各補間対象周波数ポイントから上記相関最大シフト量だけ離間した信号と上記比率とに基づき計算した値で補間する。これによって相関性を活かしたより自然なかたちで符号化により失われた高域信号を補間できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置として、特に音声圧縮符号化処理により失われた高域信号成分を補間する処理を行うための信号処理装置と、その方法とに関する。また、再生装置とその方法、及び電子機器に関する。
【背景技術】
【0002】
音声信号の圧縮符号化処理は、「量子化(PCM:Pulse Code Moduration)」、音声信号の時間的連続性を用いた「時間相関符号化」、人間の聴覚特性を用いた「周波数相関符号化」、これらの符号化から得られた符号の発生確率の偏りを用いた「エントロピー符号化」を組み合わせることで実現することができる。
【0003】
音声信号の圧縮符号化の手法としては、MPEG(Moving Pictures Experts Group)、ATRAC(Adaptive TRansform Acoustic Coding:登録商標)、AC−3(Audio Code Number 3:登録商標)、WMA(Windows Media Audio:登録商標)などで規格化され、その符号化信号は現在、デジタルテレビジョン放送、デジタルオーディオプレーヤー、WEBストリーミングなど広範にわたって使用されている。
【0004】
ここで、圧縮符号化処理の中でも、周波数相関符号化は、圧縮率や音質に大きな影響を与える符号化処理である。周波数相関符号化とは、量子化されたPCM信号を、時間領域から周波数領域に直交変換し、周波数領域における信号エネルギーの偏差を求める。この偏差を用いて符号化することで符号化効率を高めることができる。また直交変換後の信号に対して、心理聴覚特性を用いて、周波数帯域をいくつかの帯域に分け、より人間に知覚されやすい帯域の信号劣化を最小とするように、ある種の重み付けを行って量子化することにより、全体的な符号化品質を改善することができる。
心理聴覚特性を用いた符号化は、絶対可聴閾値と、マスキング効果で定まる相対可聴閾値を用いて、補正可聴閾値を求める。この補正可聴閾値に基づいて、分割された帯域ごとにビット割り当てを行う。補正可聴閾値以下の音圧を持つ周波数成分に関しては、人間は知覚できない音として、符号化の際にカットされる。また、絶対可聴閾値は高周波数帯域(以下、単に高域とも呼ぶ)でその振幅値が上昇するため、低周波数帯域(低域とも呼ぶ)に比べて高域の周波数成分はより多くカットされる。これが音声信号圧縮符号化特有の、高域における周波数帯域制限である。
【0005】
このような心理聴覚特性を用いた音声信号の圧縮符号化方式は、MPEG規格で積極的に取り入られている。音声信号の圧縮符号化は各エンコーダーメーカーの技術力により、その傾向が決められるものではあるが、MPEG規格が採用されているデジタルテレビジョン放送の音声信号においては、上記符号化により、ある周波数を境にそれ以降の高域信号が全てカットされたり、可聴帯域内においても、ある分割帯域の信号が全てカットされてしまうといった現状も確認されている。
すなわち、このような信号成分の欠落により、音質の劣化(低下)が生じるものである。
【0006】
このような圧縮符号化に伴う信号欠落による音質低下を抑制するための先行技術はいくつか存在する。
例えば、下記特許文献1に記載の「周波数補間装置、周波数補間方法及び記録媒体」では、既存の音声信号を使って高域信号を複製する方法が開示されている。
また、特許文献2に記載の「周波数補間システム、周波数補間装置、周波数補間方法及び記録媒体」では、符号化時において、欠落した信号の情報を予め記録しておき、復号時にそれを用いて音質を保ちながら復号する方法が開示されている。
【0007】
【特許文献1】特開2001−356788号公報
【特許文献2】特開2002−73096号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ここで、上記特許文献1においては、高域信号の生成元となる基準バンドを信号が存在する帯域から特定し、その基準バンドに基づいた情報を用いて高域用の信号を生成し、追加するという手法が開示されている。
しかしながらこの手法では、上記基準バンドを特定するにあたり、信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めなければならず、その分処理負担が重くなってしまう。
また、相関関係が求まるまでの処理量が各フレームで変化するため、処理量や処理時間が入力信号に左右されて変わってしまうことになる。
【0009】
また、上記特許文献2に記載の発明では、符号器側と復号器側とで共通のアルゴリズムが必要となっており、よって汎用性に乏しいものとなっている。
【0010】
このようにして、符号化により失われた高域成分を補間(追加)するにあたり採られていた従来の手法では、処理量の偏りや処理負担の増大という問題や、汎用性の面での問題を抱えるものであった。
【課題を解決するための手段】
【0011】
そこで、本発明では以上のような問題点に鑑み、信号処理装置として以下のように構成することとした。
つまり、所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段を備える。
また、上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段を備える。
また、上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段を備える。
さらに、上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段を備えるものである。
【0012】
上記のように本発明では、所定の周波数以上の帯域において自己相関計算を行い、その結果得られる相関値を最大とするシフト量(相関最大シフト量)を求めるものとしている。この相関最大シフト量の値としては、上記所定の周波数以上の帯域では、その値だけシフトさせたときに自己相関が最も高いということを示すものとなる。このため、信号成分が失われた以降の各補間対象周波数ポイントの信号を補間するにあたり、上記のようにして先ず相関最大シフト量だけ離間した周波数ポイント間の振幅値の比率を計算した上で、各補間対象周波数ポイントから上記相関最大シフト量だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で各補間対象周波数ポイントの信号を補間すれば、相関性のある部分の信号に基づいて生成した違和感のない信号により高域を補間することができる。
【発明の効果】
【0013】
上記のようにして本発明によれば、残された高域側の信号についての自己相関計算結果に基づき、さらに高域の信号の失われた部分を補間するものとしたことで、失われた信号成分を正しく補間することができる。
また、このような本発明は、補間処理にあたっては自己相関計算と比率計算、及び相関最大シフト量と比率とを用いた追加すべき信号値の計算といった、比較的簡易な四則演算のみを行えばよい。この点で、従来のようにして、基準バンドを特定するにあたり信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めるとった手法を採る場合と比較すれば、処理負担は格段に軽くすることができる。
【0014】
また、上記本発明の補間手法によれば、補間処理にあたっては、常に自己相関計算、比率計算、相関最大シフト量と比率とに基づく信号追加を行うだけでよい。すなわち、所定のフレーム単位ごとの補間処理として、その内容は同じものとすることができる。この点から、従来のように各フレームごとに処理内容が変化し、処理量や処理時間が入力信号に左右されて変わってしまうといった不都合は生じないものとなる。
【0015】
また、本発明の高域補間手法としては、復号化処理とは独立した処理とできるので、特に符号化側と共通な復号アルゴリズムとする必要はなく、汎用性が失われるといった問題は生じないようにすることができる。
【発明を実施するための最良の形態】
【0016】
以下、発明を実施するための最良の形態(以下実施の形態とする)について説明していく。
なお以下、実施の形態の説明にあたっては、音声符号化方式として、MPEG−2 AAC(Moving Pictures Experts Group-2 Advanced Audio Coding)と呼ばれるISO/IEC13818−7規格の符号化方式が採用され、その復号処理を行う場合を例に挙げる。
また、以下においては、MPEG−2 AACを、単にAACとも呼ぶ。
なお、上記ISOは、国際標準化機構(International Organization for Standardization)の略称であり、IECは、国際電気標準会議(International Electrotechnical Commission)の略称である。
【0017】
[AAC符号化処理の概要]
先ず、実施の形態を説明する上での前提として、AAC方式の符号化処理の概要について述べておく。
AAC方式による音声符号化処理は、周波数相関符号化処理として、心理聴覚(psycho acoustics)に基づいて、人が知覚できない音の領域はデータ化しないことで、圧縮効果を高めているものである。AAC方式の符号化によると、例えば2チャンネルステレオ音声の場合、96キロビット/秒程度の伝送量でもCD(Compact Disc)なみの音質が得られ、約1/15(15分の1)の圧縮率が得られるものとなる。
【0018】
AAC方式では、上述した心理聴覚分析の結果に基づいて、(1)ゲイン調整処理→(2)適応ブロック長切換MDCT処理→(3)TNS処理→(4)インテンシティ・ステレオ符号化処理→(5)予測処理→(6)M/Sステレオ処理→(7)スケーリング処理が行われた後に、(8)量子化処理と(9)ハフマン符号化処理とが、割り当てられたビット数を下回るまで反復されて、符号化音声データが形成される。実際には、これらの処理過程において付すべき種々の係数等が付加されることにより最終的な符号化音声信号(AACビットストリーム)が形成される。
【0019】
以下に、具体的な処理内容を示す。
先ず、入力された符号化処理前の音声信号は、ゲイン調整され、所定のサンプル数毎にブロック化されて、これが1フレームとして処理される。符号化装置では、入力フレームを心理聴覚分析部においてFFT(Fast Fourier Transform)処理して周波数スペクトルを求め、それを元に聴覚のマスキングを計算し、予め設定された周波数帯域毎の許容量子化雑音電力と、そのフレームに対する心理聴覚エントロピー(PE:Perceptual Entropy)と呼ぶパラメータを求める。
【0020】
心理聴覚エントロピーは、聴取者が雑音を知覚することがないようにそのフレームを量子化するのに必要な総ビット数に相当する。また、心理エントロピーは、音声信号のアタック部のように信号レベルが急激に増大するところで大きな値を取るという特性がある。そこで、心理エントロピーの値の急変部を元にしてMDCT(Modified Discrete Cosine Transform)の変換ブロック長を決定する。
【0021】
MDCT処理は、心理聴覚分析部で決定されたブロック長で入力された音声信号を周波数スペクトル(以下、MDCT係数という)に変換する。変換ブロック長を、入力信号に応じて適応的に切り換える処理(適応ブロック切り換え)は、プリエコーと呼ばれる聴覚的に有害な雑音を抑制するために必要な処理である。
【0022】
MDCT処理によって形成されたMDCT係数は、TNS(Temporal Noise Shaping)処理される。このTNS処理は、MDCT係数を時間軸上の信号であるかのように見たてて、線形予測を行い、MDCT係数に対して予測フィルタリングを行うものである。このTNS処理により、復号処理側で逆MDCTして得られる波形に含まれる量子化雑音は、信号レベルの大きなところに集まるようになる。
【0023】
そして、TNS処理されたMDCT係数に対しては、インテンシティ・ステレオ符号化、すなわち、高い周波数領域の音は左チャンネル(Lチャンネル)と右チャンネル(Rチャンネル)を合わせた1つのカップリングチャンネルしか伝送しないようにするための処理が施される。
インテンシティ・ステレオ符号化されたMDCT係数は、MDCT係数1本毎に、過去2フレームにおける量子化されたMDCT係数から現在のMDCT係数の値が予測され、その予測残差が求められる。この予測処理されたMDCT係数は、M/Sステレオ処理により、左右チャンネルの和信号(M=L+R)と差信号(S=L−R)を伝送するか、左右チャンネルのそれぞれ(LチャンネルとRチャンネルとのそれぞれ)を伝送するかが決定され、出力される。
【0024】
M/Sステレオ処理により出力されたMDCT係数は、予め設定された周波数帯域毎の複数本でグループ化されて(スケーリングされ)、これを単位として量子化が行われる。これらMDCT係数のグループをスケールファクタバンド(sfb)と呼んでいる。このsfbは、聴覚の特性に合わせて低域側では狭く、高域側では広くなるように設定されている。
【0025】
量子化処理では、心理聴覚部で求めたsfb毎の許容量子化雑音電力を下回ることを目標に量子化を行う。量子化されたMDCT係数は、さらにハフマン符号化が施されて冗長度が削減される。この量子化・ハフマン符号化の処理は反復ループで行われ、実際に生成される符号量が、フレームに割り当てられたビット数を下回るまで繰り返し行われる。
【0026】
このように、AAC符号化方式は、心理聴覚分析の結果に基づいて、(1)ゲイン調整処理→(2)適応ブロック長切換MDCT処理→(3)TNS処理→(4)インテンシティ・ステレオ符号化処理→(5)予測処理→(6)M/Sステレオ処理→(7)スケーリング処理を行った後に、(8)量子化処理と(9)ハフマン符号化処理とを、割り当てられたビット数を下回るまで反復して行うことで、符号化された音声データを形成するようにされている。
【0027】
なお、上述したAAC方式の音声符号化処理については、例えば「デジタルテレビ技術入門」高田豊、浅見聡著、米田出版、112頁〜124頁等の種々の文献、あるいは、Webページなどにおいても詳細に説明されている。
【0028】
また、ゲイン調整処理、TNS処理、インテンシティ・ステレオ符号化処理、予測処理、M/Sステレオ処理は、オプション処理であり、AAC符号化全工程で行うものではない。すなわち、ゲイン調整処理、TNS処理、インテンシティ・ステレオ符号化処理、予測処理、M/Sステレオ処理は、オプション処理が選択された場合にのみ行われる処理である。以下で説明する実施の形態においては、上述したオプション処理を行うようにされて圧縮符号化された符号化音声信号を処理する場合を例にして説明することとする。
【0029】
[実施の形態の再生装置の構成例]
図1は、本発明の再生装置(電子機器)の一実施形態としての、再生装置1の内部構成について示したブロック図である。
この再生装置1は、図示する記憶部2として、例えばHDD(Hard Disc Drive)やフラッシュメモリ等の記憶デバイスに記憶された圧縮符号化音声信号を復号して再生可能なオーディオプレイヤとして構成される。
再生装置1には、この記憶部2に加え、復調部3、圧縮符号復号化部4、DSP(Digital Signal Processor)5、バス6、システムコントローラ7、操作部8、表示部9が備えられている。
【0030】
先ず、記憶部2においては、圧縮符号化音声信号がランレングスリミテッド符号化処理やエラー訂正コード付加処理等の所定処理が施された状態で記憶されている。復調部3は、記憶部2からの読み出し信号について、上記ランレングスリミテッド符号のデコードや上記エラー訂正コードに基づくエラー訂正処理等、所定の復調処理を行って圧縮符号化音声信号を得る。
【0031】
復調部3の復調処理により得られた圧縮符号化音声信号は、圧縮符号復号化部4に供給され、ここにおいて圧縮符号の復号化処理が行われる。先の説明から理解されるように、本実施の形態では圧縮符号化音声信号がAAC圧縮符号化音声信号であることを前提としており、この圧縮符号復号化部4としてはAAC方式に対応した復号化処理を行うように構成されている。すなわち、AAC圧縮符号化音声信号を音声出力可能な状態に復号化するように構成されている。
なお、この圧縮符号復号化部4の内部構成については後述する。
また、本実施の形態の場合、この圧縮符号復号化部4内には、図示するようにして高域補間部4aが備えられるがこれについても後述する。
【0032】
圧縮符号復号化部4の復号処理を経て得られた音声信号は、DSP5に供給され、ここで所要の音声信号処理(例えばボリューム調整や各種音響効果付加処理等)が施された後、図示する出力端子Toutに供給され外部出力される。
【0033】
システムコントローラ7は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Randam Access Memory)などを備えたマイクロコンピュータで構成され、図示するバス6を介して接続される記憶部2、復調部3、圧縮符号復号化部4、DSP5との間で制御信号や各種データのやりとりすることで当該再生装置1の全体制御を行う。
例えばシステムコントローラ7は、後述する操作部8からの操作入力等に応じて記憶部2の信号読み出し制御を実行する。また、例えば操作部8からの操作入力等に応じてDSP5に音声信号処理の各種パラメータを設定する処理なども行う。
【0034】
操作部8は、例えば再生装置1の筐体外面に表出するようにして備えられる図示されない操作キー等によるの入力デバイスであって、ユーザが各種操作入力やデータ入力を行う。操作部8で入力された情報はシステムコントローラ7に対して操作又はデータの入力情報として伝達される。システムコントローラ7は入力された情報に対応して必要な演算や制御を行う。
【0035】
表示部9は、例えば液晶パネルなどの表示パネルを備え、ユーザに対して各種情報表示を行う。この場合は、システムコントローラ7からの指示に基づく各種情報の表示を行う。
【0036】
[圧縮符号復号化部の構成]
図2は、図1に示した圧縮符号復号化部4の内部構成について示している。
先ず、圧縮符号復号化部4の構成要素としては、大別すると、フォーマット解析部10、逆量子化処理部11、ステレオ処理部12、適応ブロック長切換逆MDCT部13、ゲイン制御部14に分けることができる。また、この場合の圧縮符号復号化部4には、図1にも示したように、高域補間部4aが備えられることになる。
【0037】
上記逆量子化処理部11には、ハフマン復号化部11a、逆量子化部11b、リスケーリング部11cとが備えられる。また、上記ステレオ処理部12には、M/Sステレオ処理部12a、予測処理部12b、インテンシティ・ステレオ処理部12c、TNS部12dとが備えられている。
【0038】
先ず、図1に示した復調部3からの符号化音声信号(ビットストリーム)は、フォーマット解析部10に供給される。フォーマット解析部10は、供給された符号化音声信号をMDCT係数とそれ以外のパラメータや制御情報とに分離する。MDCT係数については、逆量子化処理部11内のハフマン復号化部11aに供給する。
また、フォーマット解析部10は、符号化音声信号のビットストリームから抽出したパラメータや制御情報に基づいて、各部に対する制御信号を形成し、これを図中の破線矢印で示すようにして圧縮符号復号化部4内の各部に対して供給することによって、各部における処理が制御される。
【0039】
上記のようにしてフォーマット解析部10で分離されたMDCT係数については、上述したAAC符号化時の処理とは言わば逆となる処理を施すことによって、符号化音声信号の復号化処理が行われる。
具体的に、先ず上記ハフマン復号化部11aでは、フォーマット解析部10から供給されるMDCT係数についてハフマン復号処理を行う。次に、逆量子化部11bにおいて逆量子化処理を行った後、リスケーリング部11cにおいてリスケーリング処理を行うことで量子化前のMDCT係数を復元する。
【0040】
このようにして逆量子化処理部11にて量子化前の状態に復元されたMDCT係数は、ステレオ処理部12内のM/Sステレオ処理部12aに供給される。
M/Sステレオ処理部12aにおいては、左チャンネル(Lch)と右チャンネル(Rch)のMDCT係数が復元される。この左右2チャンネルのMDCT係数は、次の予測処理部12bにおいて処理されることで、符号化時の予測処理によるデータ圧縮前のMDCT係数に復元され、さらにインテンシティ・ステレオ処理部12cにおいて、インテンシティ・ステレオ復号化処理が施されて、高い周波数領域の音についても、左右のそれぞれのチャンネルのMDCT係数に分配される。この後、TNS部12dにおいて、予測フィルタリングがはずされ、符号化時においてMDCT処理された直後のMDCT係数が復元される。
【0041】
本実施の形態の場合、このようにステレオ処理部12でMDCT処理された直後に相当する状態に復元されたMDCT係数は、図示するようにして高域補間部4aによる高域補間を経た後に、適応ブロック長切換逆MDCT部13に対して供給される。
なお、先にも述べたが、この高域補間部4aによる高域補間処理の内容、及びその内部構成については後述する。
【0042】
適応ブロック長切換逆MDCT部13は、上記のようにして高域補間部4aを介して供給されるMDCT係数(周波数領域の音声信号)を逆MDCT処理することによって時間軸領域の音声信号(時間音声信号:音声出力可能な状態の音声信号)に変換し、これをゲイン制御部14に供給する。
適応ブロック長切換逆MDCT部13で得られた時間音声信号は、次段のゲイン制御部14にてゲイン調整が行われた後、先の図1に示したDSP5に対して供給される。
【0043】
[高域補間動作]
上記のようにして圧縮符号復号化部4では、AAC方式で符号化されて形成された符号化音声信号の復号処理を行って、音声出力可能な音声信号を得るようにされる。
ここで、一般的に音声圧縮符号化は、周波数相関符号化として、上述したような心理聴覚分析などを用いた方式が採られるため、高域の音声信号が失われて音質が劣化する可能性が高いものとなっている。すなわち、このような圧縮符号化された音声信号を復号化して得られる音声信号としても、その音質が劣化している可能性が高いものである。
【0044】
そこで、本実施の形態においては、符号化により失われてしまった高域部分の音声信号を補間することで、音質の改善を図る(つまり高音質化を図る)ようにしている。そしてそのための構成として、先の図2(図1)に示した高域補間部4aを設けるようにしている。
【0045】
先ずは、図3〜図7を参照して、本実施の形態の高域補間動作について説明する。
なお、以下で説明する動作は、図2に示したステレオ処理部12から出力されるAAC1フレーム(1024サンプル)のMDCT係数について行われるもので、実際においては、この1フレームごとの動作が繰り返されることで、時間音声信号の音質改善が図れることになる。
なお、上記AAC1フレーム分のMDCT係数は、例えばサンプリング周波数が44.1kHzの場合、時間に換算すると0.023sec(1024/44100sec)程度となるものである。
【0046】
先ずは図3により、AAC1フレーム分のMDCT係数の概要について説明する。図3では縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数について模式的に示している。
AAC方式では、サンプリング周波数が48kHzまたは44.1kHzの場合、1フレームは49個のスケールファクタバンド(sfb)に分割される。具体的には、低域側から高域側にかけて順にsfb[0]、sfb[1]、sfb[2]、・・・sfb[48]までsfbの番号が割り振られる。
先にも述べたように、各スケールファクタバンドのバンド幅は、心理聴覚特性に基づき、低域側ではより狭く高域側では広くなるように設定されている。具体的には、最も低域側となるsfb[0]のバンド幅=「4」(MDCT係数4個分)として、高域側にかけて徐々にバンド幅が広がるようになっている。
そして、AACの場合、或る程度高域となると、sfbのバンド幅は一定となるようにされている。具体的には、sfb[0]からsfb[28]までは徐々にバンド幅が広がるようになっているが、それ以降sfb[29](MDCT係数番号320からのsfb)からsfb[47](MDCT係数番号928までのsfb)までは、バンド幅は「32」で一定となるようにされる。但し、図にも示されているように、最後のsfb[48]のみはバンド幅=「96」とされる。
【0047】
本実施の形態の高域補間動作では、上記のようにしてsfbのバンド幅が一定となった以降、信号が存在する間の帯域(つまり符号化により信号が失われるまでの帯域)を、図示するようにして「高域サブバンド」として設定する。
ちなみに、AAC方式(ビットレート128kbps)の場合、符号化により信号が失われることになるのは、概ねMDCT係数番号=650前後以降の帯域となる。
【0048】
このようにして設定された高域サブバンドについて、本実施の形態では、その帯域内の信号を用いて、それ以降における信号が失われた部分についての補間を行う。
補間動作の概要は以下のようになる。
先ずは、特定した高域サブバンド内における自己相関計算を行う。すなわち、高域サブバンド内では、どの程度周波数方向にシフトさせると、自己信号との相関性が最も高くなるかを計算により求める。このように自己相関性が最も高くなるときのシフト量のことを、本明細書においては相関最大シフト量と呼ぶ。
そして、この相関最大シフト量と共に、信号が失われた部分を補間するための追加信号の生成に必要な情報として、Rate(比率)の値を計算する。具体的には、高域サブバンド内において、上記相関最大シフト量だけ離間した各MDCT係数番号位置の振幅値の比率をRateの値として計算する。
その上で、上記相関最大シフト量とRateの値とを用いて、信号が失われた部分についての補間を行う。つまり、信号の失われた帯域内の各MDCT係数番号位置(各周波数ポイント)のMDCT係数の値を、そのMDCT係数番号から上記相関最大シフト量だけ戻った位置のMDCT係数と上記Rateの値とに基づき計算した値で補間するものである。
【0049】
図4〜図7では、本実施の形態としての高域補間動作の具体的な手順について説明する。
先ず図4は、自己相関計算を行うにあたって行われるべきピーク値検出動作について模式的に示している。なお、この図4においても、先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
【0050】
図4において、先ず、ピーク値検出にあたっては、高域サブバンド内の各sfbを4等分する。そして、このように各sfbを4等分して得られることになる、MDCT係数8個分の各バンド(以下分割バンドと呼ぶ)内において、最も値(振幅)の大きいMDCT係数を、その分割バンドのピーク値Peakとして検出する。
このピーク値Peakについては、図示するようにして最も低域側となる帯域から順にピーク値Peak[0]、ピーク値Peak[1]、ピーク値Peak[2]、・・・ピーク値Peak[n]とする。
なお、確認のために述べておくと、上記Peak[n]の「n」は、振幅がある最後の4等分されたバンドの番号(つまり分割バンドの番号)を指すものである。例えば仮に、sfb[30]よりも高域側で信号が失われたという場合には、320/8=40より、ピーク値Peak[40]までが検出されるといったものである。
【0051】
このようにしてピーク値Peakを検出すると、それらの値を用いて高域サブバンド内での自己相関計算を行う。
図5は、自己相関計算を説明するための模式図として、先の図3と同様に縦軸を振幅(MDCT係数の値)横軸を周波数としたときの1フレーム分のMDCT係数について示している。
【0052】
図5において、自己相関計算を行うにあたっては、先ずはシフト量jを設定することになる。このシフト量jの値は、自己信号をどの程度シフトさせた状態から自己相関計算を開始するかを決定付けるための値となる。すなわち、図示するようにして高域サブバンド内の各ピーク値Peakで構成されることになる、高域サブバンドの自己信号に対し、この自己信号をシフト量jの値だけシフトさせた位置から自己相関計算を開始するものである。
本例の場合、このシフト量jの値としては例えばj=20を設定することとしている。
【0053】
自己相関計算の具体的な内容としては、ピーク値Peakが検出された分割バンドの番号を「i」、信号(MDCT係数)が存在する最後の分割バンド番号を「N」とした場合に、以下の式1で表すことができる。
【数1】
【0054】
この自己相関計算により、各シフト位置での相関値が求まる。これらの相関値のうち、その値が最大となるときのシフト量jの値が、最も相関性が高くなるときの相関最大シフト量の値となる。以下では、この相関最大シフト量の値を「k」とおく。
【0055】
なお、これまでの説明では、原信号において必ず高域の信号成分が含まれていることを前提としたが、実際においては、原信号は比較的低域の成分のみを含み、高域成分が全く含まれていないといった場合も想定できる。そのような場合に高域補間が行われてしまうと、もともとない部分の信号成分が不自然に追加されてしまうことになり、かえって音質の劣化を招く可能性がある。
そこで本実施の形態では、原信号にもともと高域成分が含まれているか否かを判別し、その結果に基づき、以降で説明する高域補間を実行するか否かを判定するものとしている。
この場合、原信号にもともと高域成分が含まれているか否かの判別は、上記のようにして自己相関計算で得られる相関値を利用するものとしている。具体的には、計算された相関値のうちその値が大きい上位5つの相関値を選出し、それらの総和が予め定められた閾値(例えば1.0)以上である場合には、原信号において高域成分が含まれていたとして、以降の高域補間のための動作を実行する。
一方、値の大きい上位5つの相関値の総和が上記閾値(1.0)未満である場合には、原信号において高域がもともと含まれていなかったとして、以降の高域補間のための動作は行わないようにする。
【0056】
続いて、図6は、Rateの計算手法について示している。この図6においても先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
上述のようにして求められた相関最大シフト量「k」の値は、高域サブバンド内ではこの値「k」だけシフトさせると自己との相関性が最も高くなるということを示す値となる。そこで、この相関最大シフト量「k」を用いて、高域側に「k」だけシフトさせた位置での振幅の比率(Rate)を求める。
【0057】
本実施の形態の場合、このRateの計算は、信号が存在する最後の分割バンド(分割バンド[n])で検出されたPeak[n]を基準として行うものとしている。
具体的には、図示するようにして先ずは分割バンド[n]のPeak[n]と、この分割バンド[n]から相関最大シフト量「k」だけ低域側に戻った位置の分割バンド[m]のピーク値Peak[m]との振幅比率を計算により求める。すなわち、Peak[m]/Peak[n]を計算する。
同様に、分割バンド[n−1]におけるピーク値Peak[n−1]と、分割バンド[m−1]のピーク値Peak[m−1]との振幅比率(Peak[m−1]/Peak[n−1])を計算する。
以降も同様に、所定値xとして、分割バンド[n−x]までについて、同様の比率計算を行う。例えば本例の場合、所定値x=5として、ピーク値Peak[n−5]と、ピーク値Peak[m−5]との振幅比率(Peak[m−5]/Peak[n−5])までを計算する。
そして、この結果得られることになる計5つの振幅比率の値を平均化したものを、最終的なRateの値として算出する。
【0058】
上記の手順により、相関最大シフト量「k」とRateの値とを計算すると、次の図7に示すようにして、信号がなくなる帯域、すなわち補間対象となるべき帯域における各MDCT係数番号位置に対する実際のMDCT係数の補間(追加)を行う。
なお、この図7においても先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
【0059】
先ず、先に求めた相関最大シフト量「k」の値は、ピーク値Peakを元に求めた値であり、従って分割バンド単位(つまりMDCT係数8個分の単位)で換算したシフト量となっている。これに対し、実際の信号の追加(補間)は、各MDCT係数番号位置について行うことから、これをMDCT係数番号単位での値に戻すことが必要となる。具体的には、k×8とすることで、MDCT係数単位での相関最大シフト量に戻すことができる。
そして、具体的な補間動作としては、信号がなくなる帯域内の各MDCT係数番号位置の値を、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値とRateの値とに基づき計算した値で補間する。換言すれば、このようにして計算した値で各MDCT係数番号位置にMDCT係数を追加するものである。
この場合、Rateの値は、先の図6で説明したようにしてm/n、すなわち振幅のより小さい高域側を分母としたので、高域に従って振幅が減衰するという特性に合うように、各MDCT係数位置の値を上記Rateの値で除算した値により、各MDCT係数位置の値を補間する。
【0060】
[高域補間部の内部構成]
図8は、上記により説明した実施の形態としての高域補間動作を実現するための高域補間部4a内の構成について示すブロック図である。
図示するようにして高域補間部4a内には、Peak検出部21、自己相関計算部22、相関最大シフト量検出部23、Rate計算部24、高域信号追加部25、補間判定部26が備えられている。
【0061】
先ず、この図8においても、先の図2に示したステレオ処理部12、及び適応ブロック長切り換え逆MDCT部13が示されている。
ステレオ処理部12から出力されるAAC1フレーム単位ごとのMDCT係数は、図示するようにしてPeak検出部21に対して入力されると共に、分岐して自己相関計算部22、Rate計算部24、高域信号追加部25のそれぞれに対しても供給される。
【0062】
上記Peak検出部21では、供給された1フレーム分のMDCT係数に基づき、予め定められた所定のsfb(この場合はsfb[29])から振幅がある最後のsfbまでの帯域を高域サブバンドとして、この高域サブバンド内の各sfbを4分割して各分割バンドに分けた上で、それら各分割バンド内でのMDCT係数のピーク値Peakを検出する。すなわち、先の図4にて説明したようなピーク値Peak[0]〜ピーク値Peak[n]を検出する。
検出した各ピーク値Peak[0]〜ピーク値Peak[n]は自己相関計算部22とRate計算部24に対して供給される。
【0063】
自己相関計算部22は、上記Peak検出部21から供給されたピーク値Peak[0]〜ピーク値Peak[n]を入力し、先に説明したようにしてピーク値Peakが検出された分割バンドの番号を「i」、MDCT係数の振幅が存在する最後の分割バンドの番号を「N」とした場合に、上述した式1による計算を行って各シフト位置での相関値を算出する。
【0064】
相関最大シフト量検出部23は、上記自己相関計算部22にて計算された各シフト位置での相関値とそのシフト量の情報とを入力し、相関値が最大となるときのシフト量を相関最大シフト量「k」として検出する。検出した相関最大シフト量「k」の値はRate計算部24と高域信号追加部25に対して供給される。
【0065】
また、上記自己相関計算部22にて計算された各シフト位置での相関値は、補間判定部26に対しても供給される。補間判定部26は、自己相関計算部22からの相関値について、その値が大きい順に上位5つの相関値を選出し、それらの総和が予め定められた所定閾値(この場合は1.0)以上であるか否かを判別する。計算した総和の値が上記閾値以上であると判別した場合は、原信号において高域成分が含まれていたと判定し、Rate計算部24、及び高域信号追加部25に対して動作の実行を指示するための制御信号(実行指示信号)を供給する。一方、計算した総和の値が上記閾値未満であると判別した場合は、原信号にはもともと高域成分が含まれていなかったと判定し、Rate計算部24、及び高域信号追加部25に対して動作を実行しないように指示するための制御信号(非実行指示信号)を供給する。
【0066】
Rate計算部24は、Peak検出部21からのピーク値Peak[0]〜Peak[n]と、相関最大シフト量検出部23からの相関最大シフト量「k」とを入力し、先の図6にて説明した手法によりRateの値を計算する。つまり、分割バンド[n]〜[n−5]のピーク値Peakについて、相関最大シフト量「k」だけ低域側に戻った分割バンドでのピーク値Peakとの振幅比率をそれぞれ計算した上で、その結果求まった計5つの振幅比率の値を平均化したものを、最終的なRateの値として算出する。
また、Rate計算部24は、上記補間判定部26からの制御信号に応じて上記Rateの計算動作を実行/非実行とするように構成される。すなわち、上記実行指示信号に応じては上記Rate計算動作を行い、上記非実行指示信号に応じては上記Rate計算動作は実行しないように構成される。
Rate計算部24により計算されたRateの値は高域信号追加部25に対して供給される。
【0067】
高域信号追加部25は、ステレオ処理部12からのMDCT係数と、相関最大シフト量検出部23からの相関最大シフト量「k」と、Rate計算部24からのRateの値とを入力し、先の図7にて説明した手法により信号がなくなる帯域内の各MDCT係数番号位置のMDCT係数の値を追加する。
すなわち、信号がなくなる帯域内の各MDCT係数番号位置に対し、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値をRateの値で除算した値を追加する処理を行うものである。
【0068】
なお、ここでの図示は省略したが、実際においては、高域補間部4a内の各部では共通のnフレーム目のMDCT係数について処理が実行されるように、必要な部分に遅延回路を設けて各信号の供給タイミングを調整するなどの対策が行われるべきである。
【0069】
上記のようにして本実施の形態では、高域サブバンド内における自己相関計算を行って、相関最大シフト量を求めた上で、高域サブバンド内において、この相関最大シフト量だけ離間した各MDCT係数番号位置間での振幅比率を計算した結果に基づきRateの値を計算するようにしている。
その上で、上記相関最大シフト量とRateとを用いて、信号の失われた帯域内の各MDCT係数番号位置のMDCT係数の値を、そのMDCT係数番号位置から上記相関最大シフト量だけ戻った位置のMDCT係数を上記Rateの値で除算した値で補間するようにしている。
このようにして自己相関計算結果から求まった相関最大シフト量とRateの値とに基づき、符号化で信号が失われた帯域を補間することで、高域サブバンド内での相関性と、高域側に向けての振幅の減衰度合いとを踏襲したかたちで信号を追加することができ、この結果、より自然な信号で信号が失われた帯域を補間することができる。すなわち、これによって音質の向上を図ることができる。
【0070】
また、実施の形態では、相関最大シフト量を求めるにあたり、高域サブバンド内を所定単位の分割バンドごとに分割して、それぞれの分割バンド内のピーク値Peakを検出し、このピーク値Peakを用いて自己相関計算を行うものとしたが、このことで以下のような効果を得ることができる。
すなわち、このようなピーク値Peakは、その分割バンド内での特徴をよく表したものとなるので、このようにピーク値Peakを用いた自己相関計算とすることで、より信頼性の高い自己相関計算を行うことができ、従ってこの自己相関計算結果に基づき求められる相関最大シフト量「k」の値としても、より信頼性の高い値を得ることができることになる。
【0071】
また、実施の形態では、シフト量jの値としてj=20を設定し、高域サブバンドの始点から分割バンド20個分ずらした位置から自己相関計算を開始するものとしたが、このシフト量jの値としては、j=1以外であれば他の値を設定することができる。すなわち、j=1としたときは、その時点で自己相関計算値が最大となってしまうことから、大前提としてj≧2であることが必須となる。
このとき、jの値としては、その値が小さければその分最終的なシフト位置に至るまでのシフト量が増え、自己相関計算量が増大化することになる。また、逆に大きければ自己相関計算量は少なくできるという性質をもつ。
この点を考慮すると、シフト量jの値は、できるだけ大きくして自己相関計算の処理負担の軽減を図ることが考えられるが、実際には、高域側の信号では高調波が出やすい傾向となるので、シフト量jとしてあまりに大きな値を設定した場合には、自己相関計算の結果の信頼性を著しく損なう虞がある。
ここで、一般的に考えて、高域サブバンドの始点となるMDCT係数番号=320近傍のピーク値Peakは、320の最初の整数倍(2倍)であるMDCT係数番号=640付近のピーク値Peakと相関性が高くなるであろうということが予想できる。本実施の形態では、この点に鑑み、j=20(MDCT係数番号で換算すると20×8=160個分のシフト量であり、相関計算開始位置は320+160=480付近となる)を設定している。すなわち、相関性が最も高くなると予測されるMDCT係数番号=640付近からおよそ160個分程度マージンをとった位置から、相関計算を開始するようにしているものである。
このような予測位置から実際の計算開始位置までのマージンは、大きくすればする程、自己相関計算結果、すなわち相関最大シフト量の検出精度を向上させることができる。しかしながらこのマージンをとりすぎると、結果としてjの値は小さくなり、その分最終的なシフト位置に至るまでのシフト量が増えて自己相関計算量が増大化してしまうことになる。
以上のことから、jの値の設定によって自己相関計算の処理負担の軽減を図ることと、相関最大シフト量の検出精度を高めることとはトレードオフの関係にあることがわかる。実際のシフト量jの値の設定にあたっては、これら自己相関計算の処理負担の軽減と相関最大シフト量の信頼性確保の双方を考慮した上で、最適とされる値が設定されればよい。その最適点の一例として、本例ではj=20を例示している。
【0072】
また、上記により説明した実施の形態としての高域補間動作によれば、1フレーム当たりで自己相関計算は1度のみ行えばよく、あとは比率を計算した上で既存の信号を比率で除算するという処理のみで高域の信号を補間できる。この点で、従来の手法のように、基準バンドを特定するにあたり、信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めるとった処理を行う場合と比較すれば、処理負担は格段に軽くすることができる。
また、本実施の形態の高域補間としては、その処理内容はフレーム単位で同じ(自己相関計算・比率計算・相関最大シフト量と比率とに基づく高域信号の追加)であり、従来のように各フレームごとに処理内容が変化して処理量や処理時間が入力信号に左右されて変わってしまうといった不都合は生じない。
また、復号化処理とは独立した処理とできるので、特に符号化側と共通な復号アルゴリズムとする必要はなく、汎用性が失われるといった問題も生じないようにすることができる。
【0073】
図9には、本実施の形態の有効性を実証するための実験結果を示す。この図9においては、AAC1フレーム分の音声信号について、図9(a)は原信号のスペクトログラムを、図9(b)は上記原信号を符号化した符号化信号を従来通りの復号化処理で復号化した信号のスペクトログラムを、図9(c)は本例の補間処理で生成された高域信号のスペクトログラムを、また図9(d)は上記復号化処理後の信号に上記補間処理で生成された高域信号を追加した信号のスペクトログラムをそれぞれ示している。
なお、図9の各図においては縦軸を周波数、横軸を時間とし、振幅の強さは色の濃さにより表している。また図9では一例として、AAC方式・ビットレート=128kbpsにより符号化された音声信号について復号化・高域補間を行ったときの結果を示している。
【0074】
先ず、図9(a)と図9(b)とを比較してわかるように、符号化に伴っては、高域信号の欠落が生じる。先に説明した本例の高域補間によっては、図9(c)に示すようにして、符号化により欠落した部分の信号が生成され、これが図9(d)に示されるようにして復号化後の信号における欠落が生じた部分に対して追加されることになる。
この図9(d)より、本例の高域補間が行われることによっては、符号化により欠落しなかった高域部分での相関を活かして、欠落が生じた部分の信号が追加されていることが理解できる。
【0075】
なお、ここまでの説明では、本実施の形態としての高域補間動作が、先の図8に示したようなハードウェア構成により実現される場合を例示したが、本実施の形態の高域補間動作としてはソフトウェア処理によっても実現することができる。つまり、高域補間部4aとしては、例えばCPUやメモリを備えた演算処理部で構成することができ、この演算処理部のソフトウェア処理により上述した実施の形態としての高域補間動作を実現するものである。
【0076】
この場合において実行されるべき処理動作を、次の図10のフローチャートに示す。
なお、この図に示す処理動作は、上述のような高域補間部4aとしての演算処理部が、例えば上記メモリ内に格納されるプログラムに従って実行するものである。
先ずステップS101では、Peak検出処理を実行する。すなわち、ステレオ処理部12から供給された1フレーム分のMDCT係数に基づき、予め定められた所定のsfb(この場合はsfb[29])から振幅がある最後のsfbまでの帯域を高域サブバンドとして、この高域サブバンド内の各sfbを4分割して各分割バンドに分けた上で、それら各分割バンド内でのMDCT係数のピーク値Peakを検出する。これによって先の図4にて説明したようなピーク値Peak[0]〜ピーク値Peak[n]が検出される。
【0077】
続くステップS102では、自己相関計算処理を実行する。つまり、検出したピーク値Peak[0]〜ピーク値Peak[n]の情報を用い、ピーク値Peakが検出された分割バンド番号を「i」、振幅が存在する最後の分割バンド番号を「N」とした場合に、先に示した式1による計算を行って各シフト位置での相関値を算出する。
【0078】
次のステップS103では、先ずは計算した相関値について、値が大きい上位5つの相関値を選出する。
そして、続くステップS104において、補間するか否かの判別処理を実行する。すなわち、選出した上位5つの相関値の総和と、予め定められた所定閾値(1.0)とを比較し、相関値の総和が上記閾値以上となっているか否か(補間するか否か)を判別する。
【0079】
ステップS104において、上記相関値の総和が上記閾値以上ではなく、補間しないとの否定結果が得られた場合は、図示するようにしてそのまま「RETURN」となる。
一方、上記相関値の総和が上記閾値以上であり、補間するとの肯定結果が得られた場合は、ステップS105に進む。
【0080】
ステップS105では、相関最大シフト量「k」の検出処理として、先のステップS102で計算した相関値が最大となるときのシフト量を相関最大シフト量「k」として検出する。
そして、続くステップS106では、Rate計算処理を実行する。すなわち、ステップS101にて検出したピーク値Peak[0]〜Peak[n]と、上記相関最大シフト量「k」とを用いて、先の図6にて説明した手法によりRateの値を計算する。具体的には、分割バンド[n]〜[n−5]のピーク値Peakについて、それぞれ相関最大シフト量「k」だけ低域側に戻った分割バンドでのピーク値Peakとの振幅比率を計算した上で、その結果求まった計5つの振幅比率の値を平均化したものを最終的なRateの値として算出する。
【0081】
さらに、続くステップS107では、相関最大シフト量「k」とRateの値とに基づく高域信号追加処理を実行する。すなわち、供給された1フレーム分のMDCT係数について、信号(振幅)がなくなる帯域内の各MDCT係数番号位置に対し、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値をRateの値で除算した値を追加する処理を行う。
このステップS107の処理を実行すると、図示するようにして「RETURN」となり、これによって上記により説明した処理(S101〜S107)が1フレームごとに繰り返し実行されることになる。
【0082】
なお、図10では、原信号にもともと高域信号がないか否かに応じてRate計算処理・高域信号追加処理を実行/非実行とするための処理(ステップS103の選出処理・ステップS104の判別処理)を、連続した1セットの処理として実行する場合を例示したが、このようなステップS103・S104の処理は、必ずしも連続した処理として実行される必要はない。例えば、ステップS103→ステップS105→ステップS104の順に処理を実行することもできる。
また、ステップS104の判別処理が、相関最大シフト量「k」の検出処理前に実行される場合を例示したが、このステップS104の判別処理としては、Rate計算処理と高域信号追加処理よりも前であって、上位5つの相関値の選出処理後となるタイミングであれば任意のタイミングで行うことができる。また、ステップS103の選出処理としては、自己相関計算処理後であって、補間するか否かの判別処理前となるタイミングであれば任意のタイミングで行うことができる。
【0083】
また、これまでの説明では、高域補間部4aが圧縮符号復号化部4内に設けられる場合を例示したが、例えば次の図11に示すようにして、圧縮符号復号化部4の外部に対して高域補間部4aを設けるようにすることもできる。
【0084】
図11において、この場合の圧縮符号復号化部4内においては、高域補間部4aが省略され、ステレオ処理部12からのMDCT係数は直接的に適応ブロック長切換逆MDCT部13に供給されるようになっている。
そして、圧縮符号復号化部4から出力される音声信号(時間音声信号)を入力して、これを再度MDCT変換して周波数軸領域の音声信号に変換するMDCT変換部30を追加するものとしている。
その上で、この場合の高域補間部4aに対しては、このMDCT変換部30にて時間−周波数変換された音声信号(MDCT係数)を、AAC1フレーム単位ごとに入力する。
なお、この場合も高域補間部4aが行う動作としては先に説明したものと同様となるため改めての説明は省略する。
【0085】
そして、この高域補間部4aにて高域信号が追加されたMDCT係数を、図中逆MDCT変換部31により再度逆MDCT変換させ、音声出力可能な時間音声信号に戻すようにする。このようにして得られた時間音声信号が、図1に示したDSP5に対して供給される。
【0086】
このようにして実施の形態としての高域補間動作を行う高域補間部4aとしては、圧縮符号復号化部4の外部に設けて、復号化処理の完了した音声信号について高音質化を図るようにすることもできる。
但し、上記説明からも理解されるように、このようにして圧縮符号復号化部4外部に設ける場合には、復号化後の時間音声信号を再度周波数変換された状態の音声信号に戻すための構成(MDCT変換部30)と、高域補間後の周波数軸領域の音声信号を再度時間軸領域の音声信号に戻すための構成(逆MDCT変換部31)とが別途必要となる。
この点に鑑み、先の図1に示した再生装置1では、高域補間部4aを圧縮符号復号化部4内に設けて、復号化処理の過程で既に周波数軸領域に変換された状態にある音声信号について高域補間を施すようにしたことで、上記のような別途の構成が不要となるようにしたものである。
【0087】
以上、本発明の実施の形態について説明したが、本発明としてはこれまでに説明した具体例に限定されるべきものではない。
例えばこれまでの説明では、Rateの値は、高域サブバンドの終点側(最も高域側)を基準として行ったが、始点側(最も低域側)を基準として行うこともできる。つまり、ピーク値Peak[k]/ピーク値Peak[0]、ピーク値Peak[k+1]/ピーク値Peak[1]、・・・ピーク値Peak[k+x]/ピーク値Peak[x]のように、高域サブバンドの始点〜所定値xまでの各分割バンドのピーク値Peakについて、それぞれ+kとした分割バンドのピーク値Peakとの振幅比率を計算し、それらの平均値をRateの値として算出するといったものである。
但し、先の例のように終点側を基準としたRate計算とすれば、補間すべき部分により近いところでRateを計算できる分、始点側で計算する場合よりも信頼性の高いRateの値を得ることができる。すなわち、そのようなRateの値を使用して高域信号追加を行うことで、より自然な信号で高域の信号を補間することができるようになる。
【0088】
また、Rateの値は、相関最大シフト量「k」だけ離間した複数組の各ピーク値Peakの振幅比率を平均化した値を計算するものとしたが、kだけ離間した1組の各ピーク値Peakの振幅比率をそのままRateの値とすることもできる。
但し、複数組の振幅比率を平均化した値とすれば、1組の振幅比率のみからRateを計算する場合よりもRateの値の信頼性は高めることができる。
【0089】
また、ピーク値Peakについては、MDCT係数8個分の分割バンド単位で区切ったときのピーク値としたが、ピーク値Peakを得るための分割バンド幅は「8」以外の他の数値とすることもできる。
【0090】
また、これまでの説明では、ピーク値Peakを自己信号として自己相関計算を行うものとしたが、ピーク値Peakは検出せずに、各MDCT係数番号位置のMDCT係数を用いて自己相関計算を行うこともできる。また、Rateの計算としても、ピーク値Peakは検出せずに、MDCT係数を用いて行うことができる。
各MDCT係数番号位置のMDCT係数を用いた自己相関計算を行った場合、相関最大シフト量としてはMDCT係数番号単位での値となる。この場合、仮にRate計算については先の具体例と同様にピーク値Peakを用いて行うとするのであれば、このようなMDCT係数番号単位での相関最大シフト量を1/8に除算(つまり分割バンド幅で除算)し、その値だけ離間した各ピーク値Peakの振幅比率を計算した結果に基づきRateの値を算出すればよい。
また、このように各MDCT係数番号位置のMDCT係数を用いた自己相関計算を行った場合、高域信号追加動作時には、検出された相関最大シフト量の値に敢えて分割バンド幅の値を乗算して用いる必要はなくなる。
但し、ピーク値Peakを用いた自己相関計算とすれば、その分自己相関計算の計算量は削減でき、また上述もしたように信頼性の高い相関値を計算でき、これによって信頼性の高い相関最大シフト量の検出が可能となる。
【0091】
また、これまでの説明では、自己相関計算について、先の式1における「N」を振幅がある最後の分割バンド番号の値とし、高域サブバンドの全範囲を自己信号として自己相関計算を行う場合を例示したが、例えば「N」の値をより低域側の分割バンド番号の値とすることで、高域サブバンド内の一部を自己信号として自己相関計算を行うこともできる。このようにすることで、自己相関計算量を削減することができる。
【0092】
また、これまでの説明では、AAC方式により圧縮符号化がされた音声信号(オーディオ信号)について高域補間を行う場合についてのみ説明したが、他の音声圧縮符号化方式で符号化された音声信号について高域補間を行う場合にも本発明は好適に適用することができる。
ここで、AAC方式以外では、所定周波数以上の領域のみがバンド幅一定とならず、全域にわたってバンド幅が一定である場合もある。そこで、そのような場合には、高域サブバンドの始点として予め所定の周波数(MDCT係数番号)を設定しておき、同様にその始点から振幅がある最後のバンドまでを高域サブバンドとして設定するものとすればよい。以降は同様の動作とすることで実施の形態の場合と同様の効果を得ることができる。
【0093】
また、これまでの説明では、本発明が、記憶部2としての例えばHDDやフラッシュメモリ等に記憶される音声信号について再生を行う再生装置に適用される場合を例示したが、本発明としては、例えばMD(Mini Disc(登録商標))などの光磁気ディスクやCD(Compact Disc)、DVD(Digital Versatile Disc)などの光ディスクを記録媒体として用いる再生装置にも適用することができる。
また、このように記録媒体に記憶される音声信号について再生を行う場合以外にも、デジタルテレビジョン放送信号中に含まれる圧縮符号化音声信号について復号化処理を行う機能を有する各種の電子機器や、Webストリームデータ内に含まれる圧縮符号化音声信号について復号化処理を行う機能を有する各種の電子機器に対しても好適に適用することができる。
【図面の簡単な説明】
【0094】
【図1】本発明の実施の形態としての再生装置(電子機器)の内部構成について示したブロック図である。
【図2】実施の形態の再生装置内部に備えられる圧縮符号復号化部の内部構成について示したブロック図である。
【図3】AAC1フレーム分のMDCT係数の概要について説明するための図である。
【図4】ピーク値検出について説明するための図である。
【図5】自己相関計算について説明するための図である。
【図6】Rateの計算について説明するための図である。
【図7】高域信号の追加について説明するための図である。
【図8】実施の形態の信号処理装置(高域補間部)の内部構成について示したブロック図である。
【図9】実施の形態の高域補間動作の有効性について実証するための実験結果を示した図である。
【図10】実施の形態としての高域補間動作をソフトウェア処理によって実現するために行われるべき処理動作について示したフローチャートである。
【図11】実施の形態の再生装置(電子機器)の変形例の構成を示したブロック図である。
【符号の説明】
【0095】
1 再生装置、2 記憶部、3 復調部、4 圧縮符号復号化部、4a 高域補間部、5 DSP、6 バス、7 システムコントローラ、8 操作部、9 表示部、10 フォーマット解析部、11 逆量子化処理部、11a ハフマン符号化部、11b 逆量子化部、11c リスケーリング部、12 ステレオ処理部、12a M/Sステレオ処理部、12b 予測処理部、12c インテンシティ・ステレオ処理部、12d TNS部、13 適応ブロック長切換逆MDCT部、14 ゲイン制御部、21 Peak検出部、22 自己相関計算部、23 相関最大シフト量検出部、24 Rate計算部、25 高域信号追加部、26 補間判定部、30 MDCT変換部、31 逆MDCT変換部
【技術分野】
【0001】
本発明は、信号処理装置として、特に音声圧縮符号化処理により失われた高域信号成分を補間する処理を行うための信号処理装置と、その方法とに関する。また、再生装置とその方法、及び電子機器に関する。
【背景技術】
【0002】
音声信号の圧縮符号化処理は、「量子化(PCM:Pulse Code Moduration)」、音声信号の時間的連続性を用いた「時間相関符号化」、人間の聴覚特性を用いた「周波数相関符号化」、これらの符号化から得られた符号の発生確率の偏りを用いた「エントロピー符号化」を組み合わせることで実現することができる。
【0003】
音声信号の圧縮符号化の手法としては、MPEG(Moving Pictures Experts Group)、ATRAC(Adaptive TRansform Acoustic Coding:登録商標)、AC−3(Audio Code Number 3:登録商標)、WMA(Windows Media Audio:登録商標)などで規格化され、その符号化信号は現在、デジタルテレビジョン放送、デジタルオーディオプレーヤー、WEBストリーミングなど広範にわたって使用されている。
【0004】
ここで、圧縮符号化処理の中でも、周波数相関符号化は、圧縮率や音質に大きな影響を与える符号化処理である。周波数相関符号化とは、量子化されたPCM信号を、時間領域から周波数領域に直交変換し、周波数領域における信号エネルギーの偏差を求める。この偏差を用いて符号化することで符号化効率を高めることができる。また直交変換後の信号に対して、心理聴覚特性を用いて、周波数帯域をいくつかの帯域に分け、より人間に知覚されやすい帯域の信号劣化を最小とするように、ある種の重み付けを行って量子化することにより、全体的な符号化品質を改善することができる。
心理聴覚特性を用いた符号化は、絶対可聴閾値と、マスキング効果で定まる相対可聴閾値を用いて、補正可聴閾値を求める。この補正可聴閾値に基づいて、分割された帯域ごとにビット割り当てを行う。補正可聴閾値以下の音圧を持つ周波数成分に関しては、人間は知覚できない音として、符号化の際にカットされる。また、絶対可聴閾値は高周波数帯域(以下、単に高域とも呼ぶ)でその振幅値が上昇するため、低周波数帯域(低域とも呼ぶ)に比べて高域の周波数成分はより多くカットされる。これが音声信号圧縮符号化特有の、高域における周波数帯域制限である。
【0005】
このような心理聴覚特性を用いた音声信号の圧縮符号化方式は、MPEG規格で積極的に取り入られている。音声信号の圧縮符号化は各エンコーダーメーカーの技術力により、その傾向が決められるものではあるが、MPEG規格が採用されているデジタルテレビジョン放送の音声信号においては、上記符号化により、ある周波数を境にそれ以降の高域信号が全てカットされたり、可聴帯域内においても、ある分割帯域の信号が全てカットされてしまうといった現状も確認されている。
すなわち、このような信号成分の欠落により、音質の劣化(低下)が生じるものである。
【0006】
このような圧縮符号化に伴う信号欠落による音質低下を抑制するための先行技術はいくつか存在する。
例えば、下記特許文献1に記載の「周波数補間装置、周波数補間方法及び記録媒体」では、既存の音声信号を使って高域信号を複製する方法が開示されている。
また、特許文献2に記載の「周波数補間システム、周波数補間装置、周波数補間方法及び記録媒体」では、符号化時において、欠落した信号の情報を予め記録しておき、復号時にそれを用いて音質を保ちながら復号する方法が開示されている。
【0007】
【特許文献1】特開2001−356788号公報
【特許文献2】特開2002−73096号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ここで、上記特許文献1においては、高域信号の生成元となる基準バンドを信号が存在する帯域から特定し、その基準バンドに基づいた情報を用いて高域用の信号を生成し、追加するという手法が開示されている。
しかしながらこの手法では、上記基準バンドを特定するにあたり、信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めなければならず、その分処理負担が重くなってしまう。
また、相関関係が求まるまでの処理量が各フレームで変化するため、処理量や処理時間が入力信号に左右されて変わってしまうことになる。
【0009】
また、上記特許文献2に記載の発明では、符号器側と復号器側とで共通のアルゴリズムが必要となっており、よって汎用性に乏しいものとなっている。
【0010】
このようにして、符号化により失われた高域成分を補間(追加)するにあたり採られていた従来の手法では、処理量の偏りや処理負担の増大という問題や、汎用性の面での問題を抱えるものであった。
【課題を解決するための手段】
【0011】
そこで、本発明では以上のような問題点に鑑み、信号処理装置として以下のように構成することとした。
つまり、所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段を備える。
また、上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段を備える。
また、上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段を備える。
さらに、上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段を備えるものである。
【0012】
上記のように本発明では、所定の周波数以上の帯域において自己相関計算を行い、その結果得られる相関値を最大とするシフト量(相関最大シフト量)を求めるものとしている。この相関最大シフト量の値としては、上記所定の周波数以上の帯域では、その値だけシフトさせたときに自己相関が最も高いということを示すものとなる。このため、信号成分が失われた以降の各補間対象周波数ポイントの信号を補間するにあたり、上記のようにして先ず相関最大シフト量だけ離間した周波数ポイント間の振幅値の比率を計算した上で、各補間対象周波数ポイントから上記相関最大シフト量だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で各補間対象周波数ポイントの信号を補間すれば、相関性のある部分の信号に基づいて生成した違和感のない信号により高域を補間することができる。
【発明の効果】
【0013】
上記のようにして本発明によれば、残された高域側の信号についての自己相関計算結果に基づき、さらに高域の信号の失われた部分を補間するものとしたことで、失われた信号成分を正しく補間することができる。
また、このような本発明は、補間処理にあたっては自己相関計算と比率計算、及び相関最大シフト量と比率とを用いた追加すべき信号値の計算といった、比較的簡易な四則演算のみを行えばよい。この点で、従来のようにして、基準バンドを特定するにあたり信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めるとった手法を採る場合と比較すれば、処理負担は格段に軽くすることができる。
【0014】
また、上記本発明の補間手法によれば、補間処理にあたっては、常に自己相関計算、比率計算、相関最大シフト量と比率とに基づく信号追加を行うだけでよい。すなわち、所定のフレーム単位ごとの補間処理として、その内容は同じものとすることができる。この点から、従来のように各フレームごとに処理内容が変化し、処理量や処理時間が入力信号に左右されて変わってしまうといった不都合は生じないものとなる。
【0015】
また、本発明の高域補間手法としては、復号化処理とは独立した処理とできるので、特に符号化側と共通な復号アルゴリズムとする必要はなく、汎用性が失われるといった問題は生じないようにすることができる。
【発明を実施するための最良の形態】
【0016】
以下、発明を実施するための最良の形態(以下実施の形態とする)について説明していく。
なお以下、実施の形態の説明にあたっては、音声符号化方式として、MPEG−2 AAC(Moving Pictures Experts Group-2 Advanced Audio Coding)と呼ばれるISO/IEC13818−7規格の符号化方式が採用され、その復号処理を行う場合を例に挙げる。
また、以下においては、MPEG−2 AACを、単にAACとも呼ぶ。
なお、上記ISOは、国際標準化機構(International Organization for Standardization)の略称であり、IECは、国際電気標準会議(International Electrotechnical Commission)の略称である。
【0017】
[AAC符号化処理の概要]
先ず、実施の形態を説明する上での前提として、AAC方式の符号化処理の概要について述べておく。
AAC方式による音声符号化処理は、周波数相関符号化処理として、心理聴覚(psycho acoustics)に基づいて、人が知覚できない音の領域はデータ化しないことで、圧縮効果を高めているものである。AAC方式の符号化によると、例えば2チャンネルステレオ音声の場合、96キロビット/秒程度の伝送量でもCD(Compact Disc)なみの音質が得られ、約1/15(15分の1)の圧縮率が得られるものとなる。
【0018】
AAC方式では、上述した心理聴覚分析の結果に基づいて、(1)ゲイン調整処理→(2)適応ブロック長切換MDCT処理→(3)TNS処理→(4)インテンシティ・ステレオ符号化処理→(5)予測処理→(6)M/Sステレオ処理→(7)スケーリング処理が行われた後に、(8)量子化処理と(9)ハフマン符号化処理とが、割り当てられたビット数を下回るまで反復されて、符号化音声データが形成される。実際には、これらの処理過程において付すべき種々の係数等が付加されることにより最終的な符号化音声信号(AACビットストリーム)が形成される。
【0019】
以下に、具体的な処理内容を示す。
先ず、入力された符号化処理前の音声信号は、ゲイン調整され、所定のサンプル数毎にブロック化されて、これが1フレームとして処理される。符号化装置では、入力フレームを心理聴覚分析部においてFFT(Fast Fourier Transform)処理して周波数スペクトルを求め、それを元に聴覚のマスキングを計算し、予め設定された周波数帯域毎の許容量子化雑音電力と、そのフレームに対する心理聴覚エントロピー(PE:Perceptual Entropy)と呼ぶパラメータを求める。
【0020】
心理聴覚エントロピーは、聴取者が雑音を知覚することがないようにそのフレームを量子化するのに必要な総ビット数に相当する。また、心理エントロピーは、音声信号のアタック部のように信号レベルが急激に増大するところで大きな値を取るという特性がある。そこで、心理エントロピーの値の急変部を元にしてMDCT(Modified Discrete Cosine Transform)の変換ブロック長を決定する。
【0021】
MDCT処理は、心理聴覚分析部で決定されたブロック長で入力された音声信号を周波数スペクトル(以下、MDCT係数という)に変換する。変換ブロック長を、入力信号に応じて適応的に切り換える処理(適応ブロック切り換え)は、プリエコーと呼ばれる聴覚的に有害な雑音を抑制するために必要な処理である。
【0022】
MDCT処理によって形成されたMDCT係数は、TNS(Temporal Noise Shaping)処理される。このTNS処理は、MDCT係数を時間軸上の信号であるかのように見たてて、線形予測を行い、MDCT係数に対して予測フィルタリングを行うものである。このTNS処理により、復号処理側で逆MDCTして得られる波形に含まれる量子化雑音は、信号レベルの大きなところに集まるようになる。
【0023】
そして、TNS処理されたMDCT係数に対しては、インテンシティ・ステレオ符号化、すなわち、高い周波数領域の音は左チャンネル(Lチャンネル)と右チャンネル(Rチャンネル)を合わせた1つのカップリングチャンネルしか伝送しないようにするための処理が施される。
インテンシティ・ステレオ符号化されたMDCT係数は、MDCT係数1本毎に、過去2フレームにおける量子化されたMDCT係数から現在のMDCT係数の値が予測され、その予測残差が求められる。この予測処理されたMDCT係数は、M/Sステレオ処理により、左右チャンネルの和信号(M=L+R)と差信号(S=L−R)を伝送するか、左右チャンネルのそれぞれ(LチャンネルとRチャンネルとのそれぞれ)を伝送するかが決定され、出力される。
【0024】
M/Sステレオ処理により出力されたMDCT係数は、予め設定された周波数帯域毎の複数本でグループ化されて(スケーリングされ)、これを単位として量子化が行われる。これらMDCT係数のグループをスケールファクタバンド(sfb)と呼んでいる。このsfbは、聴覚の特性に合わせて低域側では狭く、高域側では広くなるように設定されている。
【0025】
量子化処理では、心理聴覚部で求めたsfb毎の許容量子化雑音電力を下回ることを目標に量子化を行う。量子化されたMDCT係数は、さらにハフマン符号化が施されて冗長度が削減される。この量子化・ハフマン符号化の処理は反復ループで行われ、実際に生成される符号量が、フレームに割り当てられたビット数を下回るまで繰り返し行われる。
【0026】
このように、AAC符号化方式は、心理聴覚分析の結果に基づいて、(1)ゲイン調整処理→(2)適応ブロック長切換MDCT処理→(3)TNS処理→(4)インテンシティ・ステレオ符号化処理→(5)予測処理→(6)M/Sステレオ処理→(7)スケーリング処理を行った後に、(8)量子化処理と(9)ハフマン符号化処理とを、割り当てられたビット数を下回るまで反復して行うことで、符号化された音声データを形成するようにされている。
【0027】
なお、上述したAAC方式の音声符号化処理については、例えば「デジタルテレビ技術入門」高田豊、浅見聡著、米田出版、112頁〜124頁等の種々の文献、あるいは、Webページなどにおいても詳細に説明されている。
【0028】
また、ゲイン調整処理、TNS処理、インテンシティ・ステレオ符号化処理、予測処理、M/Sステレオ処理は、オプション処理であり、AAC符号化全工程で行うものではない。すなわち、ゲイン調整処理、TNS処理、インテンシティ・ステレオ符号化処理、予測処理、M/Sステレオ処理は、オプション処理が選択された場合にのみ行われる処理である。以下で説明する実施の形態においては、上述したオプション処理を行うようにされて圧縮符号化された符号化音声信号を処理する場合を例にして説明することとする。
【0029】
[実施の形態の再生装置の構成例]
図1は、本発明の再生装置(電子機器)の一実施形態としての、再生装置1の内部構成について示したブロック図である。
この再生装置1は、図示する記憶部2として、例えばHDD(Hard Disc Drive)やフラッシュメモリ等の記憶デバイスに記憶された圧縮符号化音声信号を復号して再生可能なオーディオプレイヤとして構成される。
再生装置1には、この記憶部2に加え、復調部3、圧縮符号復号化部4、DSP(Digital Signal Processor)5、バス6、システムコントローラ7、操作部8、表示部9が備えられている。
【0030】
先ず、記憶部2においては、圧縮符号化音声信号がランレングスリミテッド符号化処理やエラー訂正コード付加処理等の所定処理が施された状態で記憶されている。復調部3は、記憶部2からの読み出し信号について、上記ランレングスリミテッド符号のデコードや上記エラー訂正コードに基づくエラー訂正処理等、所定の復調処理を行って圧縮符号化音声信号を得る。
【0031】
復調部3の復調処理により得られた圧縮符号化音声信号は、圧縮符号復号化部4に供給され、ここにおいて圧縮符号の復号化処理が行われる。先の説明から理解されるように、本実施の形態では圧縮符号化音声信号がAAC圧縮符号化音声信号であることを前提としており、この圧縮符号復号化部4としてはAAC方式に対応した復号化処理を行うように構成されている。すなわち、AAC圧縮符号化音声信号を音声出力可能な状態に復号化するように構成されている。
なお、この圧縮符号復号化部4の内部構成については後述する。
また、本実施の形態の場合、この圧縮符号復号化部4内には、図示するようにして高域補間部4aが備えられるがこれについても後述する。
【0032】
圧縮符号復号化部4の復号処理を経て得られた音声信号は、DSP5に供給され、ここで所要の音声信号処理(例えばボリューム調整や各種音響効果付加処理等)が施された後、図示する出力端子Toutに供給され外部出力される。
【0033】
システムコントローラ7は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Randam Access Memory)などを備えたマイクロコンピュータで構成され、図示するバス6を介して接続される記憶部2、復調部3、圧縮符号復号化部4、DSP5との間で制御信号や各種データのやりとりすることで当該再生装置1の全体制御を行う。
例えばシステムコントローラ7は、後述する操作部8からの操作入力等に応じて記憶部2の信号読み出し制御を実行する。また、例えば操作部8からの操作入力等に応じてDSP5に音声信号処理の各種パラメータを設定する処理なども行う。
【0034】
操作部8は、例えば再生装置1の筐体外面に表出するようにして備えられる図示されない操作キー等によるの入力デバイスであって、ユーザが各種操作入力やデータ入力を行う。操作部8で入力された情報はシステムコントローラ7に対して操作又はデータの入力情報として伝達される。システムコントローラ7は入力された情報に対応して必要な演算や制御を行う。
【0035】
表示部9は、例えば液晶パネルなどの表示パネルを備え、ユーザに対して各種情報表示を行う。この場合は、システムコントローラ7からの指示に基づく各種情報の表示を行う。
【0036】
[圧縮符号復号化部の構成]
図2は、図1に示した圧縮符号復号化部4の内部構成について示している。
先ず、圧縮符号復号化部4の構成要素としては、大別すると、フォーマット解析部10、逆量子化処理部11、ステレオ処理部12、適応ブロック長切換逆MDCT部13、ゲイン制御部14に分けることができる。また、この場合の圧縮符号復号化部4には、図1にも示したように、高域補間部4aが備えられることになる。
【0037】
上記逆量子化処理部11には、ハフマン復号化部11a、逆量子化部11b、リスケーリング部11cとが備えられる。また、上記ステレオ処理部12には、M/Sステレオ処理部12a、予測処理部12b、インテンシティ・ステレオ処理部12c、TNS部12dとが備えられている。
【0038】
先ず、図1に示した復調部3からの符号化音声信号(ビットストリーム)は、フォーマット解析部10に供給される。フォーマット解析部10は、供給された符号化音声信号をMDCT係数とそれ以外のパラメータや制御情報とに分離する。MDCT係数については、逆量子化処理部11内のハフマン復号化部11aに供給する。
また、フォーマット解析部10は、符号化音声信号のビットストリームから抽出したパラメータや制御情報に基づいて、各部に対する制御信号を形成し、これを図中の破線矢印で示すようにして圧縮符号復号化部4内の各部に対して供給することによって、各部における処理が制御される。
【0039】
上記のようにしてフォーマット解析部10で分離されたMDCT係数については、上述したAAC符号化時の処理とは言わば逆となる処理を施すことによって、符号化音声信号の復号化処理が行われる。
具体的に、先ず上記ハフマン復号化部11aでは、フォーマット解析部10から供給されるMDCT係数についてハフマン復号処理を行う。次に、逆量子化部11bにおいて逆量子化処理を行った後、リスケーリング部11cにおいてリスケーリング処理を行うことで量子化前のMDCT係数を復元する。
【0040】
このようにして逆量子化処理部11にて量子化前の状態に復元されたMDCT係数は、ステレオ処理部12内のM/Sステレオ処理部12aに供給される。
M/Sステレオ処理部12aにおいては、左チャンネル(Lch)と右チャンネル(Rch)のMDCT係数が復元される。この左右2チャンネルのMDCT係数は、次の予測処理部12bにおいて処理されることで、符号化時の予測処理によるデータ圧縮前のMDCT係数に復元され、さらにインテンシティ・ステレオ処理部12cにおいて、インテンシティ・ステレオ復号化処理が施されて、高い周波数領域の音についても、左右のそれぞれのチャンネルのMDCT係数に分配される。この後、TNS部12dにおいて、予測フィルタリングがはずされ、符号化時においてMDCT処理された直後のMDCT係数が復元される。
【0041】
本実施の形態の場合、このようにステレオ処理部12でMDCT処理された直後に相当する状態に復元されたMDCT係数は、図示するようにして高域補間部4aによる高域補間を経た後に、適応ブロック長切換逆MDCT部13に対して供給される。
なお、先にも述べたが、この高域補間部4aによる高域補間処理の内容、及びその内部構成については後述する。
【0042】
適応ブロック長切換逆MDCT部13は、上記のようにして高域補間部4aを介して供給されるMDCT係数(周波数領域の音声信号)を逆MDCT処理することによって時間軸領域の音声信号(時間音声信号:音声出力可能な状態の音声信号)に変換し、これをゲイン制御部14に供給する。
適応ブロック長切換逆MDCT部13で得られた時間音声信号は、次段のゲイン制御部14にてゲイン調整が行われた後、先の図1に示したDSP5に対して供給される。
【0043】
[高域補間動作]
上記のようにして圧縮符号復号化部4では、AAC方式で符号化されて形成された符号化音声信号の復号処理を行って、音声出力可能な音声信号を得るようにされる。
ここで、一般的に音声圧縮符号化は、周波数相関符号化として、上述したような心理聴覚分析などを用いた方式が採られるため、高域の音声信号が失われて音質が劣化する可能性が高いものとなっている。すなわち、このような圧縮符号化された音声信号を復号化して得られる音声信号としても、その音質が劣化している可能性が高いものである。
【0044】
そこで、本実施の形態においては、符号化により失われてしまった高域部分の音声信号を補間することで、音質の改善を図る(つまり高音質化を図る)ようにしている。そしてそのための構成として、先の図2(図1)に示した高域補間部4aを設けるようにしている。
【0045】
先ずは、図3〜図7を参照して、本実施の形態の高域補間動作について説明する。
なお、以下で説明する動作は、図2に示したステレオ処理部12から出力されるAAC1フレーム(1024サンプル)のMDCT係数について行われるもので、実際においては、この1フレームごとの動作が繰り返されることで、時間音声信号の音質改善が図れることになる。
なお、上記AAC1フレーム分のMDCT係数は、例えばサンプリング周波数が44.1kHzの場合、時間に換算すると0.023sec(1024/44100sec)程度となるものである。
【0046】
先ずは図3により、AAC1フレーム分のMDCT係数の概要について説明する。図3では縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数について模式的に示している。
AAC方式では、サンプリング周波数が48kHzまたは44.1kHzの場合、1フレームは49個のスケールファクタバンド(sfb)に分割される。具体的には、低域側から高域側にかけて順にsfb[0]、sfb[1]、sfb[2]、・・・sfb[48]までsfbの番号が割り振られる。
先にも述べたように、各スケールファクタバンドのバンド幅は、心理聴覚特性に基づき、低域側ではより狭く高域側では広くなるように設定されている。具体的には、最も低域側となるsfb[0]のバンド幅=「4」(MDCT係数4個分)として、高域側にかけて徐々にバンド幅が広がるようになっている。
そして、AACの場合、或る程度高域となると、sfbのバンド幅は一定となるようにされている。具体的には、sfb[0]からsfb[28]までは徐々にバンド幅が広がるようになっているが、それ以降sfb[29](MDCT係数番号320からのsfb)からsfb[47](MDCT係数番号928までのsfb)までは、バンド幅は「32」で一定となるようにされる。但し、図にも示されているように、最後のsfb[48]のみはバンド幅=「96」とされる。
【0047】
本実施の形態の高域補間動作では、上記のようにしてsfbのバンド幅が一定となった以降、信号が存在する間の帯域(つまり符号化により信号が失われるまでの帯域)を、図示するようにして「高域サブバンド」として設定する。
ちなみに、AAC方式(ビットレート128kbps)の場合、符号化により信号が失われることになるのは、概ねMDCT係数番号=650前後以降の帯域となる。
【0048】
このようにして設定された高域サブバンドについて、本実施の形態では、その帯域内の信号を用いて、それ以降における信号が失われた部分についての補間を行う。
補間動作の概要は以下のようになる。
先ずは、特定した高域サブバンド内における自己相関計算を行う。すなわち、高域サブバンド内では、どの程度周波数方向にシフトさせると、自己信号との相関性が最も高くなるかを計算により求める。このように自己相関性が最も高くなるときのシフト量のことを、本明細書においては相関最大シフト量と呼ぶ。
そして、この相関最大シフト量と共に、信号が失われた部分を補間するための追加信号の生成に必要な情報として、Rate(比率)の値を計算する。具体的には、高域サブバンド内において、上記相関最大シフト量だけ離間した各MDCT係数番号位置の振幅値の比率をRateの値として計算する。
その上で、上記相関最大シフト量とRateの値とを用いて、信号が失われた部分についての補間を行う。つまり、信号の失われた帯域内の各MDCT係数番号位置(各周波数ポイント)のMDCT係数の値を、そのMDCT係数番号から上記相関最大シフト量だけ戻った位置のMDCT係数と上記Rateの値とに基づき計算した値で補間するものである。
【0049】
図4〜図7では、本実施の形態としての高域補間動作の具体的な手順について説明する。
先ず図4は、自己相関計算を行うにあたって行われるべきピーク値検出動作について模式的に示している。なお、この図4においても、先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
【0050】
図4において、先ず、ピーク値検出にあたっては、高域サブバンド内の各sfbを4等分する。そして、このように各sfbを4等分して得られることになる、MDCT係数8個分の各バンド(以下分割バンドと呼ぶ)内において、最も値(振幅)の大きいMDCT係数を、その分割バンドのピーク値Peakとして検出する。
このピーク値Peakについては、図示するようにして最も低域側となる帯域から順にピーク値Peak[0]、ピーク値Peak[1]、ピーク値Peak[2]、・・・ピーク値Peak[n]とする。
なお、確認のために述べておくと、上記Peak[n]の「n」は、振幅がある最後の4等分されたバンドの番号(つまり分割バンドの番号)を指すものである。例えば仮に、sfb[30]よりも高域側で信号が失われたという場合には、320/8=40より、ピーク値Peak[40]までが検出されるといったものである。
【0051】
このようにしてピーク値Peakを検出すると、それらの値を用いて高域サブバンド内での自己相関計算を行う。
図5は、自己相関計算を説明するための模式図として、先の図3と同様に縦軸を振幅(MDCT係数の値)横軸を周波数としたときの1フレーム分のMDCT係数について示している。
【0052】
図5において、自己相関計算を行うにあたっては、先ずはシフト量jを設定することになる。このシフト量jの値は、自己信号をどの程度シフトさせた状態から自己相関計算を開始するかを決定付けるための値となる。すなわち、図示するようにして高域サブバンド内の各ピーク値Peakで構成されることになる、高域サブバンドの自己信号に対し、この自己信号をシフト量jの値だけシフトさせた位置から自己相関計算を開始するものである。
本例の場合、このシフト量jの値としては例えばj=20を設定することとしている。
【0053】
自己相関計算の具体的な内容としては、ピーク値Peakが検出された分割バンドの番号を「i」、信号(MDCT係数)が存在する最後の分割バンド番号を「N」とした場合に、以下の式1で表すことができる。
【数1】
【0054】
この自己相関計算により、各シフト位置での相関値が求まる。これらの相関値のうち、その値が最大となるときのシフト量jの値が、最も相関性が高くなるときの相関最大シフト量の値となる。以下では、この相関最大シフト量の値を「k」とおく。
【0055】
なお、これまでの説明では、原信号において必ず高域の信号成分が含まれていることを前提としたが、実際においては、原信号は比較的低域の成分のみを含み、高域成分が全く含まれていないといった場合も想定できる。そのような場合に高域補間が行われてしまうと、もともとない部分の信号成分が不自然に追加されてしまうことになり、かえって音質の劣化を招く可能性がある。
そこで本実施の形態では、原信号にもともと高域成分が含まれているか否かを判別し、その結果に基づき、以降で説明する高域補間を実行するか否かを判定するものとしている。
この場合、原信号にもともと高域成分が含まれているか否かの判別は、上記のようにして自己相関計算で得られる相関値を利用するものとしている。具体的には、計算された相関値のうちその値が大きい上位5つの相関値を選出し、それらの総和が予め定められた閾値(例えば1.0)以上である場合には、原信号において高域成分が含まれていたとして、以降の高域補間のための動作を実行する。
一方、値の大きい上位5つの相関値の総和が上記閾値(1.0)未満である場合には、原信号において高域がもともと含まれていなかったとして、以降の高域補間のための動作は行わないようにする。
【0056】
続いて、図6は、Rateの計算手法について示している。この図6においても先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
上述のようにして求められた相関最大シフト量「k」の値は、高域サブバンド内ではこの値「k」だけシフトさせると自己との相関性が最も高くなるということを示す値となる。そこで、この相関最大シフト量「k」を用いて、高域側に「k」だけシフトさせた位置での振幅の比率(Rate)を求める。
【0057】
本実施の形態の場合、このRateの計算は、信号が存在する最後の分割バンド(分割バンド[n])で検出されたPeak[n]を基準として行うものとしている。
具体的には、図示するようにして先ずは分割バンド[n]のPeak[n]と、この分割バンド[n]から相関最大シフト量「k」だけ低域側に戻った位置の分割バンド[m]のピーク値Peak[m]との振幅比率を計算により求める。すなわち、Peak[m]/Peak[n]を計算する。
同様に、分割バンド[n−1]におけるピーク値Peak[n−1]と、分割バンド[m−1]のピーク値Peak[m−1]との振幅比率(Peak[m−1]/Peak[n−1])を計算する。
以降も同様に、所定値xとして、分割バンド[n−x]までについて、同様の比率計算を行う。例えば本例の場合、所定値x=5として、ピーク値Peak[n−5]と、ピーク値Peak[m−5]との振幅比率(Peak[m−5]/Peak[n−5])までを計算する。
そして、この結果得られることになる計5つの振幅比率の値を平均化したものを、最終的なRateの値として算出する。
【0058】
上記の手順により、相関最大シフト量「k」とRateの値とを計算すると、次の図7に示すようにして、信号がなくなる帯域、すなわち補間対象となるべき帯域における各MDCT係数番号位置に対する実際のMDCT係数の補間(追加)を行う。
なお、この図7においても先の図3と同様に縦軸を振幅(MDCT係数の値)、横軸を周波数としたときの1フレーム分のMDCT係数を示している。
【0059】
先ず、先に求めた相関最大シフト量「k」の値は、ピーク値Peakを元に求めた値であり、従って分割バンド単位(つまりMDCT係数8個分の単位)で換算したシフト量となっている。これに対し、実際の信号の追加(補間)は、各MDCT係数番号位置について行うことから、これをMDCT係数番号単位での値に戻すことが必要となる。具体的には、k×8とすることで、MDCT係数単位での相関最大シフト量に戻すことができる。
そして、具体的な補間動作としては、信号がなくなる帯域内の各MDCT係数番号位置の値を、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値とRateの値とに基づき計算した値で補間する。換言すれば、このようにして計算した値で各MDCT係数番号位置にMDCT係数を追加するものである。
この場合、Rateの値は、先の図6で説明したようにしてm/n、すなわち振幅のより小さい高域側を分母としたので、高域に従って振幅が減衰するという特性に合うように、各MDCT係数位置の値を上記Rateの値で除算した値により、各MDCT係数位置の値を補間する。
【0060】
[高域補間部の内部構成]
図8は、上記により説明した実施の形態としての高域補間動作を実現するための高域補間部4a内の構成について示すブロック図である。
図示するようにして高域補間部4a内には、Peak検出部21、自己相関計算部22、相関最大シフト量検出部23、Rate計算部24、高域信号追加部25、補間判定部26が備えられている。
【0061】
先ず、この図8においても、先の図2に示したステレオ処理部12、及び適応ブロック長切り換え逆MDCT部13が示されている。
ステレオ処理部12から出力されるAAC1フレーム単位ごとのMDCT係数は、図示するようにしてPeak検出部21に対して入力されると共に、分岐して自己相関計算部22、Rate計算部24、高域信号追加部25のそれぞれに対しても供給される。
【0062】
上記Peak検出部21では、供給された1フレーム分のMDCT係数に基づき、予め定められた所定のsfb(この場合はsfb[29])から振幅がある最後のsfbまでの帯域を高域サブバンドとして、この高域サブバンド内の各sfbを4分割して各分割バンドに分けた上で、それら各分割バンド内でのMDCT係数のピーク値Peakを検出する。すなわち、先の図4にて説明したようなピーク値Peak[0]〜ピーク値Peak[n]を検出する。
検出した各ピーク値Peak[0]〜ピーク値Peak[n]は自己相関計算部22とRate計算部24に対して供給される。
【0063】
自己相関計算部22は、上記Peak検出部21から供給されたピーク値Peak[0]〜ピーク値Peak[n]を入力し、先に説明したようにしてピーク値Peakが検出された分割バンドの番号を「i」、MDCT係数の振幅が存在する最後の分割バンドの番号を「N」とした場合に、上述した式1による計算を行って各シフト位置での相関値を算出する。
【0064】
相関最大シフト量検出部23は、上記自己相関計算部22にて計算された各シフト位置での相関値とそのシフト量の情報とを入力し、相関値が最大となるときのシフト量を相関最大シフト量「k」として検出する。検出した相関最大シフト量「k」の値はRate計算部24と高域信号追加部25に対して供給される。
【0065】
また、上記自己相関計算部22にて計算された各シフト位置での相関値は、補間判定部26に対しても供給される。補間判定部26は、自己相関計算部22からの相関値について、その値が大きい順に上位5つの相関値を選出し、それらの総和が予め定められた所定閾値(この場合は1.0)以上であるか否かを判別する。計算した総和の値が上記閾値以上であると判別した場合は、原信号において高域成分が含まれていたと判定し、Rate計算部24、及び高域信号追加部25に対して動作の実行を指示するための制御信号(実行指示信号)を供給する。一方、計算した総和の値が上記閾値未満であると判別した場合は、原信号にはもともと高域成分が含まれていなかったと判定し、Rate計算部24、及び高域信号追加部25に対して動作を実行しないように指示するための制御信号(非実行指示信号)を供給する。
【0066】
Rate計算部24は、Peak検出部21からのピーク値Peak[0]〜Peak[n]と、相関最大シフト量検出部23からの相関最大シフト量「k」とを入力し、先の図6にて説明した手法によりRateの値を計算する。つまり、分割バンド[n]〜[n−5]のピーク値Peakについて、相関最大シフト量「k」だけ低域側に戻った分割バンドでのピーク値Peakとの振幅比率をそれぞれ計算した上で、その結果求まった計5つの振幅比率の値を平均化したものを、最終的なRateの値として算出する。
また、Rate計算部24は、上記補間判定部26からの制御信号に応じて上記Rateの計算動作を実行/非実行とするように構成される。すなわち、上記実行指示信号に応じては上記Rate計算動作を行い、上記非実行指示信号に応じては上記Rate計算動作は実行しないように構成される。
Rate計算部24により計算されたRateの値は高域信号追加部25に対して供給される。
【0067】
高域信号追加部25は、ステレオ処理部12からのMDCT係数と、相関最大シフト量検出部23からの相関最大シフト量「k」と、Rate計算部24からのRateの値とを入力し、先の図7にて説明した手法により信号がなくなる帯域内の各MDCT係数番号位置のMDCT係数の値を追加する。
すなわち、信号がなくなる帯域内の各MDCT係数番号位置に対し、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値をRateの値で除算した値を追加する処理を行うものである。
【0068】
なお、ここでの図示は省略したが、実際においては、高域補間部4a内の各部では共通のnフレーム目のMDCT係数について処理が実行されるように、必要な部分に遅延回路を設けて各信号の供給タイミングを調整するなどの対策が行われるべきである。
【0069】
上記のようにして本実施の形態では、高域サブバンド内における自己相関計算を行って、相関最大シフト量を求めた上で、高域サブバンド内において、この相関最大シフト量だけ離間した各MDCT係数番号位置間での振幅比率を計算した結果に基づきRateの値を計算するようにしている。
その上で、上記相関最大シフト量とRateとを用いて、信号の失われた帯域内の各MDCT係数番号位置のMDCT係数の値を、そのMDCT係数番号位置から上記相関最大シフト量だけ戻った位置のMDCT係数を上記Rateの値で除算した値で補間するようにしている。
このようにして自己相関計算結果から求まった相関最大シフト量とRateの値とに基づき、符号化で信号が失われた帯域を補間することで、高域サブバンド内での相関性と、高域側に向けての振幅の減衰度合いとを踏襲したかたちで信号を追加することができ、この結果、より自然な信号で信号が失われた帯域を補間することができる。すなわち、これによって音質の向上を図ることができる。
【0070】
また、実施の形態では、相関最大シフト量を求めるにあたり、高域サブバンド内を所定単位の分割バンドごとに分割して、それぞれの分割バンド内のピーク値Peakを検出し、このピーク値Peakを用いて自己相関計算を行うものとしたが、このことで以下のような効果を得ることができる。
すなわち、このようなピーク値Peakは、その分割バンド内での特徴をよく表したものとなるので、このようにピーク値Peakを用いた自己相関計算とすることで、より信頼性の高い自己相関計算を行うことができ、従ってこの自己相関計算結果に基づき求められる相関最大シフト量「k」の値としても、より信頼性の高い値を得ることができることになる。
【0071】
また、実施の形態では、シフト量jの値としてj=20を設定し、高域サブバンドの始点から分割バンド20個分ずらした位置から自己相関計算を開始するものとしたが、このシフト量jの値としては、j=1以外であれば他の値を設定することができる。すなわち、j=1としたときは、その時点で自己相関計算値が最大となってしまうことから、大前提としてj≧2であることが必須となる。
このとき、jの値としては、その値が小さければその分最終的なシフト位置に至るまでのシフト量が増え、自己相関計算量が増大化することになる。また、逆に大きければ自己相関計算量は少なくできるという性質をもつ。
この点を考慮すると、シフト量jの値は、できるだけ大きくして自己相関計算の処理負担の軽減を図ることが考えられるが、実際には、高域側の信号では高調波が出やすい傾向となるので、シフト量jとしてあまりに大きな値を設定した場合には、自己相関計算の結果の信頼性を著しく損なう虞がある。
ここで、一般的に考えて、高域サブバンドの始点となるMDCT係数番号=320近傍のピーク値Peakは、320の最初の整数倍(2倍)であるMDCT係数番号=640付近のピーク値Peakと相関性が高くなるであろうということが予想できる。本実施の形態では、この点に鑑み、j=20(MDCT係数番号で換算すると20×8=160個分のシフト量であり、相関計算開始位置は320+160=480付近となる)を設定している。すなわち、相関性が最も高くなると予測されるMDCT係数番号=640付近からおよそ160個分程度マージンをとった位置から、相関計算を開始するようにしているものである。
このような予測位置から実際の計算開始位置までのマージンは、大きくすればする程、自己相関計算結果、すなわち相関最大シフト量の検出精度を向上させることができる。しかしながらこのマージンをとりすぎると、結果としてjの値は小さくなり、その分最終的なシフト位置に至るまでのシフト量が増えて自己相関計算量が増大化してしまうことになる。
以上のことから、jの値の設定によって自己相関計算の処理負担の軽減を図ることと、相関最大シフト量の検出精度を高めることとはトレードオフの関係にあることがわかる。実際のシフト量jの値の設定にあたっては、これら自己相関計算の処理負担の軽減と相関最大シフト量の信頼性確保の双方を考慮した上で、最適とされる値が設定されればよい。その最適点の一例として、本例ではj=20を例示している。
【0072】
また、上記により説明した実施の形態としての高域補間動作によれば、1フレーム当たりで自己相関計算は1度のみ行えばよく、あとは比率を計算した上で既存の信号を比率で除算するという処理のみで高域の信号を補間できる。この点で、従来の手法のように、基準バンドを特定するにあたり、信号が存在する帯域を分割し、分割した数だけ組合せを作り相関関係を求めるとった処理を行う場合と比較すれば、処理負担は格段に軽くすることができる。
また、本実施の形態の高域補間としては、その処理内容はフレーム単位で同じ(自己相関計算・比率計算・相関最大シフト量と比率とに基づく高域信号の追加)であり、従来のように各フレームごとに処理内容が変化して処理量や処理時間が入力信号に左右されて変わってしまうといった不都合は生じない。
また、復号化処理とは独立した処理とできるので、特に符号化側と共通な復号アルゴリズムとする必要はなく、汎用性が失われるといった問題も生じないようにすることができる。
【0073】
図9には、本実施の形態の有効性を実証するための実験結果を示す。この図9においては、AAC1フレーム分の音声信号について、図9(a)は原信号のスペクトログラムを、図9(b)は上記原信号を符号化した符号化信号を従来通りの復号化処理で復号化した信号のスペクトログラムを、図9(c)は本例の補間処理で生成された高域信号のスペクトログラムを、また図9(d)は上記復号化処理後の信号に上記補間処理で生成された高域信号を追加した信号のスペクトログラムをそれぞれ示している。
なお、図9の各図においては縦軸を周波数、横軸を時間とし、振幅の強さは色の濃さにより表している。また図9では一例として、AAC方式・ビットレート=128kbpsにより符号化された音声信号について復号化・高域補間を行ったときの結果を示している。
【0074】
先ず、図9(a)と図9(b)とを比較してわかるように、符号化に伴っては、高域信号の欠落が生じる。先に説明した本例の高域補間によっては、図9(c)に示すようにして、符号化により欠落した部分の信号が生成され、これが図9(d)に示されるようにして復号化後の信号における欠落が生じた部分に対して追加されることになる。
この図9(d)より、本例の高域補間が行われることによっては、符号化により欠落しなかった高域部分での相関を活かして、欠落が生じた部分の信号が追加されていることが理解できる。
【0075】
なお、ここまでの説明では、本実施の形態としての高域補間動作が、先の図8に示したようなハードウェア構成により実現される場合を例示したが、本実施の形態の高域補間動作としてはソフトウェア処理によっても実現することができる。つまり、高域補間部4aとしては、例えばCPUやメモリを備えた演算処理部で構成することができ、この演算処理部のソフトウェア処理により上述した実施の形態としての高域補間動作を実現するものである。
【0076】
この場合において実行されるべき処理動作を、次の図10のフローチャートに示す。
なお、この図に示す処理動作は、上述のような高域補間部4aとしての演算処理部が、例えば上記メモリ内に格納されるプログラムに従って実行するものである。
先ずステップS101では、Peak検出処理を実行する。すなわち、ステレオ処理部12から供給された1フレーム分のMDCT係数に基づき、予め定められた所定のsfb(この場合はsfb[29])から振幅がある最後のsfbまでの帯域を高域サブバンドとして、この高域サブバンド内の各sfbを4分割して各分割バンドに分けた上で、それら各分割バンド内でのMDCT係数のピーク値Peakを検出する。これによって先の図4にて説明したようなピーク値Peak[0]〜ピーク値Peak[n]が検出される。
【0077】
続くステップS102では、自己相関計算処理を実行する。つまり、検出したピーク値Peak[0]〜ピーク値Peak[n]の情報を用い、ピーク値Peakが検出された分割バンド番号を「i」、振幅が存在する最後の分割バンド番号を「N」とした場合に、先に示した式1による計算を行って各シフト位置での相関値を算出する。
【0078】
次のステップS103では、先ずは計算した相関値について、値が大きい上位5つの相関値を選出する。
そして、続くステップS104において、補間するか否かの判別処理を実行する。すなわち、選出した上位5つの相関値の総和と、予め定められた所定閾値(1.0)とを比較し、相関値の総和が上記閾値以上となっているか否か(補間するか否か)を判別する。
【0079】
ステップS104において、上記相関値の総和が上記閾値以上ではなく、補間しないとの否定結果が得られた場合は、図示するようにしてそのまま「RETURN」となる。
一方、上記相関値の総和が上記閾値以上であり、補間するとの肯定結果が得られた場合は、ステップS105に進む。
【0080】
ステップS105では、相関最大シフト量「k」の検出処理として、先のステップS102で計算した相関値が最大となるときのシフト量を相関最大シフト量「k」として検出する。
そして、続くステップS106では、Rate計算処理を実行する。すなわち、ステップS101にて検出したピーク値Peak[0]〜Peak[n]と、上記相関最大シフト量「k」とを用いて、先の図6にて説明した手法によりRateの値を計算する。具体的には、分割バンド[n]〜[n−5]のピーク値Peakについて、それぞれ相関最大シフト量「k」だけ低域側に戻った分割バンドでのピーク値Peakとの振幅比率を計算した上で、その結果求まった計5つの振幅比率の値を平均化したものを最終的なRateの値として算出する。
【0081】
さらに、続くステップS107では、相関最大シフト量「k」とRateの値とに基づく高域信号追加処理を実行する。すなわち、供給された1フレーム分のMDCT係数について、信号(振幅)がなくなる帯域内の各MDCT係数番号位置に対し、それら各MDCT係数番号位置からそれぞれk×8だけ低域側に戻った位置のMDCT係数の値をRateの値で除算した値を追加する処理を行う。
このステップS107の処理を実行すると、図示するようにして「RETURN」となり、これによって上記により説明した処理(S101〜S107)が1フレームごとに繰り返し実行されることになる。
【0082】
なお、図10では、原信号にもともと高域信号がないか否かに応じてRate計算処理・高域信号追加処理を実行/非実行とするための処理(ステップS103の選出処理・ステップS104の判別処理)を、連続した1セットの処理として実行する場合を例示したが、このようなステップS103・S104の処理は、必ずしも連続した処理として実行される必要はない。例えば、ステップS103→ステップS105→ステップS104の順に処理を実行することもできる。
また、ステップS104の判別処理が、相関最大シフト量「k」の検出処理前に実行される場合を例示したが、このステップS104の判別処理としては、Rate計算処理と高域信号追加処理よりも前であって、上位5つの相関値の選出処理後となるタイミングであれば任意のタイミングで行うことができる。また、ステップS103の選出処理としては、自己相関計算処理後であって、補間するか否かの判別処理前となるタイミングであれば任意のタイミングで行うことができる。
【0083】
また、これまでの説明では、高域補間部4aが圧縮符号復号化部4内に設けられる場合を例示したが、例えば次の図11に示すようにして、圧縮符号復号化部4の外部に対して高域補間部4aを設けるようにすることもできる。
【0084】
図11において、この場合の圧縮符号復号化部4内においては、高域補間部4aが省略され、ステレオ処理部12からのMDCT係数は直接的に適応ブロック長切換逆MDCT部13に供給されるようになっている。
そして、圧縮符号復号化部4から出力される音声信号(時間音声信号)を入力して、これを再度MDCT変換して周波数軸領域の音声信号に変換するMDCT変換部30を追加するものとしている。
その上で、この場合の高域補間部4aに対しては、このMDCT変換部30にて時間−周波数変換された音声信号(MDCT係数)を、AAC1フレーム単位ごとに入力する。
なお、この場合も高域補間部4aが行う動作としては先に説明したものと同様となるため改めての説明は省略する。
【0085】
そして、この高域補間部4aにて高域信号が追加されたMDCT係数を、図中逆MDCT変換部31により再度逆MDCT変換させ、音声出力可能な時間音声信号に戻すようにする。このようにして得られた時間音声信号が、図1に示したDSP5に対して供給される。
【0086】
このようにして実施の形態としての高域補間動作を行う高域補間部4aとしては、圧縮符号復号化部4の外部に設けて、復号化処理の完了した音声信号について高音質化を図るようにすることもできる。
但し、上記説明からも理解されるように、このようにして圧縮符号復号化部4外部に設ける場合には、復号化後の時間音声信号を再度周波数変換された状態の音声信号に戻すための構成(MDCT変換部30)と、高域補間後の周波数軸領域の音声信号を再度時間軸領域の音声信号に戻すための構成(逆MDCT変換部31)とが別途必要となる。
この点に鑑み、先の図1に示した再生装置1では、高域補間部4aを圧縮符号復号化部4内に設けて、復号化処理の過程で既に周波数軸領域に変換された状態にある音声信号について高域補間を施すようにしたことで、上記のような別途の構成が不要となるようにしたものである。
【0087】
以上、本発明の実施の形態について説明したが、本発明としてはこれまでに説明した具体例に限定されるべきものではない。
例えばこれまでの説明では、Rateの値は、高域サブバンドの終点側(最も高域側)を基準として行ったが、始点側(最も低域側)を基準として行うこともできる。つまり、ピーク値Peak[k]/ピーク値Peak[0]、ピーク値Peak[k+1]/ピーク値Peak[1]、・・・ピーク値Peak[k+x]/ピーク値Peak[x]のように、高域サブバンドの始点〜所定値xまでの各分割バンドのピーク値Peakについて、それぞれ+kとした分割バンドのピーク値Peakとの振幅比率を計算し、それらの平均値をRateの値として算出するといったものである。
但し、先の例のように終点側を基準としたRate計算とすれば、補間すべき部分により近いところでRateを計算できる分、始点側で計算する場合よりも信頼性の高いRateの値を得ることができる。すなわち、そのようなRateの値を使用して高域信号追加を行うことで、より自然な信号で高域の信号を補間することができるようになる。
【0088】
また、Rateの値は、相関最大シフト量「k」だけ離間した複数組の各ピーク値Peakの振幅比率を平均化した値を計算するものとしたが、kだけ離間した1組の各ピーク値Peakの振幅比率をそのままRateの値とすることもできる。
但し、複数組の振幅比率を平均化した値とすれば、1組の振幅比率のみからRateを計算する場合よりもRateの値の信頼性は高めることができる。
【0089】
また、ピーク値Peakについては、MDCT係数8個分の分割バンド単位で区切ったときのピーク値としたが、ピーク値Peakを得るための分割バンド幅は「8」以外の他の数値とすることもできる。
【0090】
また、これまでの説明では、ピーク値Peakを自己信号として自己相関計算を行うものとしたが、ピーク値Peakは検出せずに、各MDCT係数番号位置のMDCT係数を用いて自己相関計算を行うこともできる。また、Rateの計算としても、ピーク値Peakは検出せずに、MDCT係数を用いて行うことができる。
各MDCT係数番号位置のMDCT係数を用いた自己相関計算を行った場合、相関最大シフト量としてはMDCT係数番号単位での値となる。この場合、仮にRate計算については先の具体例と同様にピーク値Peakを用いて行うとするのであれば、このようなMDCT係数番号単位での相関最大シフト量を1/8に除算(つまり分割バンド幅で除算)し、その値だけ離間した各ピーク値Peakの振幅比率を計算した結果に基づきRateの値を算出すればよい。
また、このように各MDCT係数番号位置のMDCT係数を用いた自己相関計算を行った場合、高域信号追加動作時には、検出された相関最大シフト量の値に敢えて分割バンド幅の値を乗算して用いる必要はなくなる。
但し、ピーク値Peakを用いた自己相関計算とすれば、その分自己相関計算の計算量は削減でき、また上述もしたように信頼性の高い相関値を計算でき、これによって信頼性の高い相関最大シフト量の検出が可能となる。
【0091】
また、これまでの説明では、自己相関計算について、先の式1における「N」を振幅がある最後の分割バンド番号の値とし、高域サブバンドの全範囲を自己信号として自己相関計算を行う場合を例示したが、例えば「N」の値をより低域側の分割バンド番号の値とすることで、高域サブバンド内の一部を自己信号として自己相関計算を行うこともできる。このようにすることで、自己相関計算量を削減することができる。
【0092】
また、これまでの説明では、AAC方式により圧縮符号化がされた音声信号(オーディオ信号)について高域補間を行う場合についてのみ説明したが、他の音声圧縮符号化方式で符号化された音声信号について高域補間を行う場合にも本発明は好適に適用することができる。
ここで、AAC方式以外では、所定周波数以上の領域のみがバンド幅一定とならず、全域にわたってバンド幅が一定である場合もある。そこで、そのような場合には、高域サブバンドの始点として予め所定の周波数(MDCT係数番号)を設定しておき、同様にその始点から振幅がある最後のバンドまでを高域サブバンドとして設定するものとすればよい。以降は同様の動作とすることで実施の形態の場合と同様の効果を得ることができる。
【0093】
また、これまでの説明では、本発明が、記憶部2としての例えばHDDやフラッシュメモリ等に記憶される音声信号について再生を行う再生装置に適用される場合を例示したが、本発明としては、例えばMD(Mini Disc(登録商標))などの光磁気ディスクやCD(Compact Disc)、DVD(Digital Versatile Disc)などの光ディスクを記録媒体として用いる再生装置にも適用することができる。
また、このように記録媒体に記憶される音声信号について再生を行う場合以外にも、デジタルテレビジョン放送信号中に含まれる圧縮符号化音声信号について復号化処理を行う機能を有する各種の電子機器や、Webストリームデータ内に含まれる圧縮符号化音声信号について復号化処理を行う機能を有する各種の電子機器に対しても好適に適用することができる。
【図面の簡単な説明】
【0094】
【図1】本発明の実施の形態としての再生装置(電子機器)の内部構成について示したブロック図である。
【図2】実施の形態の再生装置内部に備えられる圧縮符号復号化部の内部構成について示したブロック図である。
【図3】AAC1フレーム分のMDCT係数の概要について説明するための図である。
【図4】ピーク値検出について説明するための図である。
【図5】自己相関計算について説明するための図である。
【図6】Rateの計算について説明するための図である。
【図7】高域信号の追加について説明するための図である。
【図8】実施の形態の信号処理装置(高域補間部)の内部構成について示したブロック図である。
【図9】実施の形態の高域補間動作の有効性について実証するための実験結果を示した図である。
【図10】実施の形態としての高域補間動作をソフトウェア処理によって実現するために行われるべき処理動作について示したフローチャートである。
【図11】実施の形態の再生装置(電子機器)の変形例の構成を示したブロック図である。
【符号の説明】
【0095】
1 再生装置、2 記憶部、3 復調部、4 圧縮符号復号化部、4a 高域補間部、5 DSP、6 バス、7 システムコントローラ、8 操作部、9 表示部、10 フォーマット解析部、11 逆量子化処理部、11a ハフマン符号化部、11b 逆量子化部、11c リスケーリング部、12 ステレオ処理部、12a M/Sステレオ処理部、12b 予測処理部、12c インテンシティ・ステレオ処理部、12d TNS部、13 適応ブロック長切換逆MDCT部、14 ゲイン制御部、21 Peak検出部、22 自己相関計算部、23 相関最大シフト量検出部、24 Rate計算部、25 高域信号追加部、26 補間判定部、30 MDCT変換部、31 逆MDCT変換部
【特許請求の範囲】
【請求項1】
所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする信号処理装置。
【請求項2】
上記相関計算手段は、
上記所定の周波数以上の帯域をn個の周波数ポイントを含む分割バンド単位で区切ったときの、各分割バンド内での振幅値のピーク値をそれぞれ検出した上で、それら各ピーク値を上記自己信号として自己相関計算を行う、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項3】
上記比率計算手段は、
上記相関最大シフト量に基づく分だけ離間した複数組の各周波数ポイントでの各振幅値の比率を平均化して上記比率の値として算出する、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項4】
上記所定の周波数以上の帯域は、AAC方式による周波数相関符号化の過程で分割される各サブバンドのうち、そのバンド幅が一定となるサブバンド以降の周波数帯域である、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項5】
さらに、符号化前の原信号における上記所定の周波数以上の帯域に信号が存在したか否かについて判定する判定手段を備え、
少なくとも上記補間手段は、
上記判定手段の判定の結果、上記原信号における上記所定の周波数以上の帯域に信号が存在したとされた場合にのみ補間動作を行うように構成される、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項6】
上記判定手段は、
上記相関計算手段による自己相関計算結果に基づいて上記原信号における上記所定の周波数以上の帯域に信号が存在したか否かについて判定する、
ことを特徴とする請求項5に記載の信号処理装置。
【請求項7】
所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手順と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手順と、
上記所定の周波数以上の帯域において、上記シフト量検出手順により求めた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手順と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手順と、
を備えることを特徴とする信号処理方法。
【請求項8】
記録媒体に記録された少なくともオーディオ信号を再生する再生装置であって、
上記記録媒体からの読み出しを行って所定の情報圧縮処理がされたオーディオ信号を得るオーディオ信号取得手段と、
上記オーディオ信号取得手段により得られた上記オーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする再生装置。
【請求項9】
記録媒体に記録された少なくともオーディオ信号を再生する再生方法であって、
上記記録媒体からの読み出しを行って所定の情報圧縮処理がされたオーディオ信号を得るオーディオ信号取得手順と、
上記オーディオ信号取得手順により得た上記オーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手順と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手順と、
上記所定の周波数以上の帯域において、上記シフト量検出手順により求めた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手順と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手順と、
を備えることを特徴とする再生方法。
【請求項10】
所定の情報圧縮処理がされたオーディオ信号を取得する取得手段と、
上記取得手段により取得されたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする電子機器。
【請求項1】
所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする信号処理装置。
【請求項2】
上記相関計算手段は、
上記所定の周波数以上の帯域をn個の周波数ポイントを含む分割バンド単位で区切ったときの、各分割バンド内での振幅値のピーク値をそれぞれ検出した上で、それら各ピーク値を上記自己信号として自己相関計算を行う、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項3】
上記比率計算手段は、
上記相関最大シフト量に基づく分だけ離間した複数組の各周波数ポイントでの各振幅値の比率を平均化して上記比率の値として算出する、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項4】
上記所定の周波数以上の帯域は、AAC方式による周波数相関符号化の過程で分割される各サブバンドのうち、そのバンド幅が一定となるサブバンド以降の周波数帯域である、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項5】
さらに、符号化前の原信号における上記所定の周波数以上の帯域に信号が存在したか否かについて判定する判定手段を備え、
少なくとも上記補間手段は、
上記判定手段の判定の結果、上記原信号における上記所定の周波数以上の帯域に信号が存在したとされた場合にのみ補間動作を行うように構成される、
ことを特徴とする請求項1に記載の信号処理装置。
【請求項6】
上記判定手段は、
上記相関計算手段による自己相関計算結果に基づいて上記原信号における上記所定の周波数以上の帯域に信号が存在したか否かについて判定する、
ことを特徴とする請求項5に記載の信号処理装置。
【請求項7】
所定の情報圧縮処理がされたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手順と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手順と、
上記所定の周波数以上の帯域において、上記シフト量検出手順により求めた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手順と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手順と、
を備えることを特徴とする信号処理方法。
【請求項8】
記録媒体に記録された少なくともオーディオ信号を再生する再生装置であって、
上記記録媒体からの読み出しを行って所定の情報圧縮処理がされたオーディオ信号を得るオーディオ信号取得手段と、
上記オーディオ信号取得手段により得られた上記オーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする再生装置。
【請求項9】
記録媒体に記録された少なくともオーディオ信号を再生する再生方法であって、
上記記録媒体からの読み出しを行って所定の情報圧縮処理がされたオーディオ信号を得るオーディオ信号取得手順と、
上記オーディオ信号取得手順により得た上記オーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手順と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手順と、
上記所定の周波数以上の帯域において、上記シフト量検出手順により求めた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手順と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手順と、
を備えることを特徴とする再生方法。
【請求項10】
所定の情報圧縮処理がされたオーディオ信号を取得する取得手段と、
上記取得手段により取得されたオーディオ信号における所定の周波数以上の帯域の信号について、自己信号に対し自己信号を順次シフトさせていったときの自己相関計算を行う相関計算手段と、
上記自己相関計算の結果に基づき、相関性が最も高くなるときの相関最大シフト量を求めるシフト量検出手段と、
上記所定の周波数以上の帯域において、上記シフト量検出手段により求められた上記相関最大シフト量に基づく分だけ離間した各周波数ポイントでの各振幅値の比率を計算する比率計算手段と、
上記所定の周波数以上の帯域内で信号が欠落している各補間対象周波数ポイントの振幅値を、それら各補間対象周波数ポイントから上記相関最大シフト量に基づく分だけ離間した周波数ポイントにおける振幅値と上記比率とに基づき計算した値で補間する補間手段と、
を備えることを特徴とする電子機器。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図9】
【公開番号】特開2008−158300(P2008−158300A)
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願番号】特願2006−347512(P2006−347512)
【出願日】平成18年12月25日(2006.12.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願日】平成18年12月25日(2006.12.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]