JP2005351977A - オーディオ信号符号化装置及びオーディオ信号符号化方法 - Google Patents

オーディオ信号符号化装置及びオーディオ信号符号化方法 Download PDF

Info

Publication number
JP2005351977A
JP2005351977A JP2004170232A JP2004170232A JP2005351977A JP 2005351977 A JP2005351977 A JP 2005351977A JP 2004170232 A JP2004170232 A JP 2004170232A JP 2004170232 A JP2004170232 A JP 2004170232A JP 2005351977 A JP2005351977 A JP 2005351977A
Authority
JP
Japan
Prior art keywords
encoding
frequency
audio
input signal
auditory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004170232A
Other languages
English (en)
Inventor
Masanobu Funakoshi
正伸 船越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004170232A priority Critical patent/JP2005351977A/ja
Publication of JP2005351977A publication Critical patent/JP2005351977A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 MS符号化を適用した場合と同様の符号化効率を保ちつつ処理量を削減できるオーディオ符号化技術を提供する。
【解決手段】 オーディオ入力信号を処理単位のフレームに分割するフレーム分割器1と、MS符号化を適用するか否かを判定するMS適用判定器15を有する聴覚心理演算器2と、フレームをブロック化して周波数スペクトルに変換するフィルタバンク4と、MS適用判定器での判定結果に応じて所定の信号処理を周波数スペクトルに対して行うMS符号化器5と、周波数スペクトルを量子化する量子化器7とを有し、量子化単位の周波数帯域毎にMS符号化を適用するか否かを判断し、適用される周波数帯域数が一定数に達しない場合には、すべての周波数帯域にLR符号化を適用するように判定することを特徴とするオーディオ信号符号化装置が提供される。
【選択図】 図1

Description

本発明は、オーディオ信号の符号化装置及び符号化方法に関し、特に、ステレオ信号を含むオーディオ信号の符号化技術に関する。
近年、高音質、かつ高効率なオーディオ信号符号化技術は、DVD-Videoの音声トラックや、半導体メモリやHDDなどを利用した携帯オーディオプレイヤー、インターネットを介した音楽配信、家庭内LANにおけるホームサーバへの楽曲蓄積などに広く利用され、幅広く普及するとともにその重要性も増している。
このようなオーディオ信号符号化技術の多くは、変換符号化技術を利用して時間周波数変換を行っている。例えば、MPEG-2 AACやDolby Digital(AC-3)などでは、MDCT(Modified Discrete Cosine Transform)などの直交変換単体でフィルタバンクを構成している。また、例えば、MPEG-1 Audio Layer III(MP3)やATRAC(MDに利用されている符号化方式)では、QMF(Quadrature Mirror Filter)などのサブバンド分割フィルタと直交変換を多段接続してフィルタバンクを構成している。
変換符号化方式では、基本的にはフィルタバンクによって周波数成分に変換された入力信号を、人間の聴覚の周波数分解能に基づいて設定される分割周波数帯域毎にまとめ、量子化時に各分割周波数帯域毎の正規化係数を決定し、正規化係数と量子化スペクトルとの組み合わせで周波数成分を表現することで情報量を削減している。MPEG-2 AACでは、この分割周波数帯域をスケールファクタバンド(SFB)と呼び、正規化係数をスケールファクタと呼ぶ。
さらに、これらの高効率オーディオ符号化技術では、人間の聴覚特性を利用したマスキング分析を行い、マスキングされると判断したスペクトル成分を取り除く、あるいはマスキングされる量子化誤差を許容することにより、スペクトルを表現するための情報量を削減して圧縮効率を高めている。
これらの高効率オーディオ符号化技術で用いられているマスキング分析は、主に、静寂時の可聴周波数領域によるマスキングと、臨界帯域におけるマスカーによる周波数マスキングである。
上記マスキング分析により、人間に感知できないと判断される信号の多くは主に高周波域の信号になるため、通常の場合、高周波成分の量子化誤差は多少大きくなってもマスキングされうる。
ところが、変換符号化方式では、オーディオ入力信号に急激な変化がある、いわゆる過渡状態の場合、急激な変化が起こっている部分の高周波成分の量子化誤差が、急激な変化の直前や直後の信号にまで影響を与えるため、リンギングノイズが生じる。
人間の聴覚特性として、大きな音が発生した場合、その直前と直後の時間は音が聞こえづらくなる。これを時間マスキング効果という。大きな音の後に聞こえなくなる時間は、個人差はあるが約100msec程度と比較的長い。しかしながら、直前に働くマスキング効果の時間は約5〜6msecと短い。したがって、リンギングノイズが生じると、大きな音の前のノイズは感知されやすくなってしまう。これは一般にプリエコーと呼ばれる現象である。
これを抑制するための一方法として、種々のオーディオ符号化方式では、入力信号の急激な変化を検知して変換ブロック長を短くすることにより、急激な変化による高周波成分の量子化誤差が、変化直前の部分に及ばないようにすることで、プリエコーの発生を抑制している。
ところが、一般にブロック長を短くすると、周波数分解能が落ちることによりマスキング分析の精度が落ちるばかりでなく、量子化時に使用するスケールファクタバンドがブロックの数だけ増大するために、スケールファクタによって消費される情報量が増えてしまう。その結果、量子化時に本来ならスペクトル情報に割り当てるべきビットがスケールファクタに消費されてしまうため、符号化効率が低下する。特に、低ビットレート時には量子化誤差が厳密にマスキングできなくなるため、ブロック長が長い場合に比較して、ノイズが感知されやすくなるおそれがある。
そこで、ブロック長の切り替えを適応的に行う符号化方式では、プリエコーが発生しそうなアタック部を的確に検出することが重要となる。MPEG-1 Audio Layer IIIやMPEG-2/4 AACの規格では、聴覚心理モデルにおいて算出される聴覚エントロピー(以下、「PE」とも称す。PE:Perceptual Entropy)がある閾値を超えたか否かで判定しているが、その他に、時間領域信号内の高周波成分の変化によってアタックを検出する方法も利用されている。
ところで、このような変換符号化方式では、ブロック間の境界で生じるエイリアシング(折り返しノイズ)を除去するために、各ブロック幅の2倍の時間信号に対してsinウィンドウなどの一定の条件を満たすウィンドウによってウィンドウ掛けを行ってからMDCTによって周波数スペクトルに変換し、復号側で逆MDCTによって時間信号に逆変換した後、ブロック幅分の時間信号を重ね合わせるという処理を行っている。したがって、ブロック長の変更を行う場合には、このエイリアシングキャンセルが確実に行われるようにフレームにおけるブロック幅やウィンドウ掛けの仕様を設計する必要がある。
MPEGオーディオ規格では、このフレーム内におけるブロック幅とウィンドウパターンとの組み合わせをブロックタイプ、もしくはウィンドウ・シーケンスと呼称している。例えば、MPEG-2/4 AACにおけるブロックタイプは、図11のテーブルに示すように、“ONLY_LONG_SEQUENCE”,“LONG_START_SEQUENCE”,“EIGHT_SHORT_SEQUENCE”,及び“LONG_STOP_SEQUENCE”の4つのタイプが定義されている。これらのブロックタイプのうち、EIGHT_SHORT_SEQUENCEのみ、ショートブロック長の場合の聴覚分析結果が採用され、その他のブロックタイプではロングブロック長の場合の聴覚分析結果が採用される。
なお、図11において、イメージの列では各ブロックタイプにおけるウィンドウ掛けのイメージを模式的に図示しており、太い縦線はフレーム境界を示し、細い縦線は128サンプル毎の境界を示す。
MPEG-2/4 AACでは、1フレーム分の周波数成分を得るために、2フレーム分の時間信号、すなわち2048サンプルをまとめて時間周波数変換する。次のフレームの変換は、1フレーム分、すなわち1024サンプルずつ入力をシフトさせて行い、復号側で逆MDCT後に得られた時間成分を重ね合わせることにより、エイリアシングキャンセルが実行される。
このウィンドウの重ね合わせによるエイリアシングキャンセルが確実に行われるためには、ブロックタイプの推移はある程度制限されなければならない。例えば、MPEG-2/4 AACの場合では、ブロックタイプがONLY_LONG_SEQUENCEからEIGHT_SHORT_SEQUENCEに推移する場合は、必ずその間にLONG_START_SEQUENCEに推移しなければならない。逆に、ブロックタイプがEIGHT_SHORT_SEQUENCEからONLY_LONG_SEQUENCEに推移する場合には、必ずその間にLONG_STOP_SEQUENCEを経由する必要がある。
このように、現在処理中のフレームのブロックタイプを決定するためには、その後に推移するブロック長を知る必要がある。上述したように、MPEGオーディオ規格書に記載されている技術では、ブロック長はPEによって決定されるので、聴覚心理モデルによる入力信号分析は、処理中のフレームよりも1フレーム分時間的に先行して行う必要がある。
ところで、このような変換符号化方式では、オーディオ入力信号が多チャンネル信号の場合、各チャンネルの相関性を利用して符号化効率を高める工夫がなされている。特に、ステレオチャンネルペアの場合、入力されるステレオ信号の音像が左右の中心寄りに位置することが多いという性質を利用して符号化効率を高める技術として、MS(Middle Side)ステレオ符号化がある。
これは、左右(LR)信号を(L+R)の和成分(Middle:M)と(L−R)の差成分(Side:S)とに変換してから符号化するものであり、一般的なステレオ信号の場合には、特にS成分の情報量がL、R成分に比較して相対的に小さくなるため、その分だけ符号化効率を高めようとする技術である。
MPEG-2/4 AACでは、MS符号化とLR符号化の切り替えをスケールファクタバンド毎に指定できる仕様になっており、更に符号化効率を高めることができる。
ところが、MS符号化するSFBとLR符号化するSFBが混在すると、聴覚心理分析において、MS符号化する場合とLR符号化する場合によって、特にR成分とS成分との間に聴覚エネルギー閾値の大きな差が生じ、それが信号対マスク比(SMR:Signal Mask Ratio)にも反映される。そのため、量子化時の正規化やビット割り当てに悪影響を及ぼし、量子化誤差が大きくなってしまい、ノイズとして感知されてしまうという問題が生じる。
そこで、MPEG-2/4 AAC規格書では、聴覚心理分析において、LR成分とMS成分に対して聴覚エネルギー閾値の調整を行うイメージコントロールプロセスが記述されており、この処理を行うことによってMS成分とLR成分が混在する場合の量子化誤差増大を防止している。
特開2002−268694号公報
通常、入力信号にMSステレオ符号化を行うと、通常の符号化処理に加えてMS成分を新たに計算し、さらにMS成分に対する聴覚心理演算を行う必要が生じるため、LR独立で符号化する場合よりも処理量が増える。
さらに、MPEG-2/4 AACでは、同一フレーム内にMS成分とLR成分が混在することによって、LRMSの4つの成分すべての聴覚エネルギー閾値演算が必須になり、聴覚心理演算においてイメージングコントロールプロセスの処理量も付加されるため、符号化装置全体の処理量が著しく増大する。
MPEG-2 AAC規格書(ISO/IEC 13818-7 Annex C C.6.1)に記述されているMSステレオ符号化技術では、スケールファクタバンド毎にMS符号化とLR符号化を指定できる仕様になっており、その決定方法に関しては、MS成分とLR成分をともに量子化し、スケールファクタバンド毎に使用ビット量が少ない方を選択すると記述されている。しかしながら、この方法は量子化処理までもがLR符号化時の処理量の二倍に増加してしまうため、現実的な手法ではない。
上記特許文献1に開示されている技術では、聴覚心理モデルにおいて、スケールファクタバンド毎の各成分の聴覚エントロピーもしくはスペクトルエネルギーによってMS符号化するかLR符号化するかの決定を行っている。この技術を利用すれば、MS符号化を行う場合の量子化処理量の増大は避けることができる。
しかしながら、上記特許文献1に開示された技術では、引き続きイメージングコントロールプロセスはすべての周波数帯全域に渡って行われるため、この処理に関しては処理量を削減することができない。
特に、MS符号化が適用されるスケールファクタバンドがごく少数である場合には、僅かな符号化効率の向上のために、イメージングコントロールプロセスや、フィルタバンク出力に対するMS成分の計算や、L成分とM成分及びR成分とS成分の混合チャンネルスペクトル作成といった複雑な処理を行う必要があり、しかも上記の技術では結果として符号化効率が確実に向上することは何ら保証されていないため、結果として無駄な処理を行っている可能性がある。
本発明は、上記問題点に鑑みて考案されたものであり、MS符号化適用判定の結果、MS符号化が適用されるスケールファクタバンドの数が一定数を超えない場合には、一切MS符号化を適用しないことにより、符号化効率の向上があまり望めない場合における処理量を削減することで、MS符号化を適用した場合とほぼ同様の符号化効率を保ちつつ処理量を削減することができるオーディオ符号化技術を提供することを目的とする。
本発明のオーディオ信号符号化装置は、複数のチャンネルにより構成されるオーディオ入力信号を、チャンネル毎に独立して符号化する第1の符号化、及び上記第1の符号化とは異なる第2の符号化を選択的に適用して符号化するオーディオ信号符号化装置であって、上記オーディオ入力信号を処理単位のフレームに分割するフレーム分割手段と、上記オーディオ入力信号に対して上記第2の符号化を適用するか否かを判定する判定手段を有し、かつ上記フレーム分割されたオーディオ入力信号を分析して聴覚マスキング計算を行う聴覚心理演算手段と、上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換するフィルタバンク手段と、上記判定手段の判定結果に応じて、上記フィルタバンク手段より出力される周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理手段と、上記周波数スペクトルを量子化する量子化手段とを備え、上記判定手段は、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とする。
本発明のオーディオ信号符号化方法は、複数のチャンネルにより構成されるオーディオ入力信号を、チャンネル毎に独立して符号化する第1の符号化、及び上記第1の符号化とは異なる第2の符号化を選択的に適用して符号化するオーディオ信号符号化方法であって、上記オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、上記オーディオ入力信号に対して上記第2の符号化を適用するか否かを判定する判定ステップを有し、かつ上記フレーム分割されたオーディオ入力信号を分析して聴覚マスキング計算を行う聴覚心理演算ステップと、上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換する変換ステップと、上記判定ステップでの判定結果に応じて、上記周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理ステップと、上記周波数スペクトルを量子化する量子化ステップとを有し、上記判定ステップは、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とする。
本発明のプログラムは、複数のチャンネルにより構成されるオーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、上記オーディオ入力信号に対して、上記チャンネル毎に独立して行う第1の符号化とは異なる第2の符号化を適用するか否かを判定する判定ステップを含み、上記フレーム分割されたオーディオ入力信号を分析し聴覚マスキング計算を行う聴覚心理演算ステップと、上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換する変換ステップと、上記判定ステップでの判定結果に応じて、上記周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理ステップと、上記周波数スペクトルを量子化する量子化ステップとをコンピュータに実行させるためのプログラムであって、上記判定ステップは、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、上述したプログラムを記録したことを特徴とする。
本発明によれば、チャンネル毎に独立して符号化する第1の符号化とは異なる第2の符号化に係る所定の信号処理を適用するか否かを量子化単位の周波数帯域毎に判断した結果、所定の信号処理が適用される周波数帯域の数が予め定める閾値に達しない場合には、すべての周波数帯域に対して第1の符号化が適用されるようにしたので、僅かな符号化効率向上を図るために第2の符号化に係る多大な処理が実行されることを防止し、符号化処理に要する処理量を削減して効率良いオーディオ入力信号の符号化処理を実現することができる。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態におけるオーディオ信号符号化装置の一構成例を示す図である。なお、図1において実線の矢印はデータ信号を示し、破線の矢印は制御信号を示す。
図示の構成において、1はオーディオ入力信号を処理単位であるフレームに分割するフレーム分割器である。ここで分割されたフレームは後述する聴覚心理演算器2と遅延バッファ3に送出される。
2は聴覚心理演算器であり、オーディオ入力信号をフレーム単位に分析し、ブロックタイプを決定し、聴覚エントロピー(Perceptual Entropy、以下「PE」)値の算出と、量子化単位となる分割周波数帯域(スケールファクタバンド、以下、「SFB」)毎のマスキング計算と、MS適用判定を行う。この演算の結果、ブロックタイプがフィルタバンク4に、また、信号対マスク比(Signal Mask Ratio、以下「SMR」)とPE値がビット割り当て器6に、さらに、MS符号化が適用されるSFBを示すビットマスクパターン(以下、「MSマスク」)がMS符号化器5にそれぞれ出力される。なお、聴覚心理演算器2の詳細な構成例は図2を用いて後述する。
3は遅延バッファであり、2フレーム分の入力信号を保存することができるFIFOバッファである。遅延バッファ3に新しい入力信号が1フレーム分入力されると、蓄積された2フレーム分の入力信号が出力されるとともに、1フレーム分の信号シフトが行われ、最も古いフレームの入力信号が削除されて新しい入力信号が蓄積される。すなわち、聴覚心理演算器2に送出される入力信号は、フィルタバンク4に送出される入力信号よりも1フレーム分時間的に先行することになる。
4はフィルタバンクであり、遅延バッファ3から出力された2フレーム分の入力時間信号に対して聴覚心理演算器2によって指定されたブロックタイプのウィンドウ掛けを行った後、指定された長さのブロック長で時間周波数変換を行い、時間信号を周波数スペクトルに変換する。
5はMS符号化器であり、フィルタバンク4から出力されるLR成分の周波数スペクトルから、聴覚心理演算器2より送出されるMSマスクに従ってMS符号化されるSFBに含まれるスペクトルのMS成分を算出し、適宜、M成分をLチャンネルに、またS成分をRチャンネルに混合する。
6はビット割当て器であり、聴覚心理演算器2より送出されるSFB毎のSMR値とPE値、及びMS符号化器5から出力される混合された周波数スペクトルを参照して、各SFBに割り当てるビット量を決定する。
7は量子化器であり、MS符号化器5が出力する混合周波数スペクトルの正規化係数(スケールファクタ)をSFB毎に算出し、ビット割当て器6が出力する、各SFBに割り当てられたビット量に従って混合周波数スペクトルを量子化する。
8はビット整形器であり、量子化器7が出力するスケールファクタと量子化スペクトルを適宜規定のフォーマットに整形してビットストリームを作成し、出力する。
図2は、本実施形態における聴覚心理演算器2の詳細な構成例を示す図である。
図示の構成において、11は入力されたオーディオ入力信号からアタック状態を検出するアタック検出器である。MPEG-2 AACの場合、アタック検出器11は、まず、先行フレームの入力信号のうち、先頭から512番目のサンプルから1024個のサンプルをハイパスフィルタに通し、高周波成分を取り出した後、ショートブロック長よりも短い時間単位に再分割して高周波成分の振幅を比較することにより、アタックやリリースを検出する。このようなアタック検出器11は、オーディオ符号化技術分野において公知であるため、ここでは詳細は説明しない。
12はブロック判定器である。本実施形態において、ブロック判定は二段階の手順をとって行われる。まず、アタック検出器11から送出されたアタック検知通知より、現在分析中のフレームよりも1フレーム分時間的に先行するフレーム(以下、「先行フレーム」)の変換ブロック長を選択する。例えば、アタックが検知された場合には、先行フレームのブロック長としてショートブロック長が選択され、それ以外の場合にはロングブロック長が選択される。次に、ブロック判定器12内に保持されている分析中のフレーム(以下、「現フレーム」)のブロック長と、先ほど選択した先行フレームのブロック長とから、現フレームのブロックタイプを決定する。例えば、MPEG-2 AACの場合、ブロック判定器12に保持されている現行フレームのブロック長がロングブロック長であり、かつ先行フレームのブロック長がショートブロック長である場合は、現行フレームのブロックタイプをLONG_START_SEQUENCEに決定する。
13は遅延バッファであり、遅延バッファ3と同様に、2フレーム分の入力信号を保存しておくことができるFIFOバッファである。すなわち、遅延バッファ13によって、アタック検出器11でアタック検出されるフレームは、FFT器14以降で分析される入力信号よりも1フレーム分時間的に先行することになる。
14はFFT(Fast Fourier Transform:高速フーリエ変換)器であり、ブロック判定器12から通知される現行フレームのブロックタイプにより指定されるブロック長に従って、現行フレームの入力時間信号を周波数スペクトルに変換する。
15はMS適用判定器であり、FFT器14から出力されるLR成分の周波数スペクトルからMS成分の周波数スペクトルを算出し、それに基づいてSFB毎にMS符号化を適用するか否かを判定する。
16は聴覚エネルギー閾値演算器であり、FFT器14から出力される周波数スペクトルを分析して、人間の聴覚に従って分割された周波数帯域毎に聴覚エネルギー閾値を算出する。
17はイメージング制御器であり、調整前のLRMS各成分の聴覚エネルギー閾値を聴覚エネルギー閾値演算器16から受け取り、LR成分とMS成分との聴覚エネルギー閾値の大きさのバランスを調整する処理を行って聴覚エネルギー閾値演算器16に出力する。また、イメージング制御器17は、MS適用判定器15によって、オン(ON)/オフ(OFF)制御される。
18はSMR算出器であり、聴覚エネルギー閾値演算器16から出力された聴覚エネルギー閾値の組を利用して、SMRをSFB毎に算出して出力する。
19はPE算出器であり、聴覚エネルギー閾値演算器16から出力された聴覚エネルギー閾値の組から、現行フレーム全体のPE値を算出して出力する。
上記構成によるオーディオ信号符号化装置におけるオーディオ信号の処理動作を以下に説明する。
なお、本実施形態では説明の便宜のために符号化方式としてMPEG-2 AACを例にとって説明するが、MS符号化の適用を部分的に制御可能なその他の符号化方式についても全く同様な方法で実現可能である。
まず、処理に先立ち、各部の初期化を行う。
複数のチャンネルにより構成される、オーディオPCM(Pulse Code Modulation)信号などのオーディオ入力信号はフレーム分割器1によってチャンネル毎にフレーム単位に分割され、聴覚心理演算器2と遅延バッファ3に送出される。MPEG-2 AAC LC(Low-Complexity)プロファイルの場合、1フレームは1024サンプルのPCM信号で構成される。
聴覚心理演算器2の内部において、入力信号フレームはアタック検出器11と遅延バッファ13に送出される。アタック検出器11では入力されたフレーム(先行フレーム)に対して上述したアタック検出処理が行われ、アタックが検出されたか否かをブロック情報としてブロック判定器12に送出する。ブロック判定器12は、上述したようにアタック検出器11から送出されたアタック情報により先行フレームのブロック長を決定した後、決定したブロック長とブロック判定器12内部に保持されている現フレームのブロック長とに基づいて現フレームのブロックタイプを決定する。
一方、遅延バッファ13では先行フレームの入力信号をバッファリングし、蓄積されていた2フレーム分の入力信号を送出する。FFT器14は、ブロック判定器12から送出されるブロックタイプに従って、2048サンプルの入力時間信号を1024個の周波数スペクトルに変換する。ここで、MPEG-2/4 AACの場合、ブロックタイプがEIGHT_SHORT_SEQUENCEのときは、FFT器14は入力信号の2048サンプルのうち、448番目のサンプルを先頭として、256サンプルを1つのブロックとしてハニング窓掛けを行った後、FFTにより128個の周波数スペクトルを出力する変換を、入力信号を128サンプルずつずらしながら都合8回行い、128×8組の周波数スペクトルを得る。それ以外のブロックタイプのときは、2048サンプル全体にハニング窓掛けを行った後、FFTにより1024個の周波数スペクトル1組に変換する。
MS適用判定器15では、まず、FFT器14から送出される周波数スペクトルに含まれる左右の関係にあるチャンネルペアのLR成分の周波数スペクトルに基づいてMS成分(M成分は(L+R)の和成分、S成分は(L−R)の差成分)の周波数スペクトルを算出する。本実施形態において、MS成分は以下の式(1)により計算される。
Figure 2005351977
ただし、上記式(1)において、XiはX成分のi番目のスペクトルである。
次に、MS適用判定器15では、SFB毎にLRMS各成分のエネルギーをそれぞれ算出する。X成分のSFBbにおけるエネルギーをX_engy[b]とすると、これは次式(2)により計算される。
Figure 2005351977
ただし、上記式(2)において、l、mはそれぞれSFBbに含まれる最初と最後の周波数スペクトルである。
なお、ショートブロックの場合には、MS成分とそのエネルギーはショートブロック毎に別々に求められる。
次に、MS適用判定器15は、すべてのSFBに対して、MS符号化を適用するか否かを判定するMS適用判定をそれぞれ行う。本実施形態の場合は、次式(3)が成り立つ場合に、そのSFBにMS符号化が適用される。
Figure 2005351977
ただし、上記式(3)において、αは予め定められた定数である。
このとき、MS符号化されるSFBを示すビットパターン(MSマスク)が作成される。MSマスクにおいて、ビットの値が“1”である場合は、そのビットに対応するSFBに対してMS符号化が適用されることを示し、ビットの値が“0”である場合は、そのビットに対応するSFBにはMS符号化が適用されず、LR符号化が行われることを示す。なお、LR符号化は、L,Rチャンネル毎に独立して符号化するものであり本発明における第1の符号化に相当し、MS符号化は、本発明における第2の符号化に相当する。
ここで、本実施形態におけるMS適用判定器15は、MSマスクにおいて立っているビット(値が“1”のビット)の数を調べ、この数が予め定められた数を超えない場合、すなわちMS符号化が適用されるSFBの数が予め定められた数を超えない場合(あるいは、予め定められた数に達しない場合)は、MSマスクのビットの値をすべて“0”にして、イメージング制御器17にOFF信号を送出する。これによって、この後のあらゆるMS符号化に関する聴覚分析は行われないことになる。
聴覚エネルギー閾値演算器16は、FFT器14から送出される周波数スペクトルと、MS適用判定器15から送出されるMSマスクとMS成分の周波数スペクトルに基づき、人間の聴覚における周波数分解能に基づいて分割されたサブ周波数帯域毎の聴覚エネルギー閾値を算出する。このサブ周波数帯域は詳細な分析を行うために、SFBよりも更に狭い帯域に分割される。本実施形態では、このサブ周波数帯域を以下、「パーティションバンド」と呼称する。なお、ショートブロックとロングブロックでは周波数スペクトルの分解能が異なるため、ここでのパーティションバンドの設定もショートブロックの場合とロングブロックの場合では当然異なっている。
本実施形態において、聴覚エネルギー閾値演算器16では、聴覚エネルギー閾値は以下の手順で求められる。なお、説明の便宜上、ここではロングブロック長の場合について説明する。
まず、MSマスクのビットが1つでも“1”になっている場合はLRMS成分のスペクトルに対して、またMSマスクのビットがすべて“0”の場合はLR成分のスペクトルのみに対して、非予測可能性が全周波数帯域に渡って計算される。
次に、スペクトルの非予測可能性に基づいてパーティションバンド毎にトナリティ(調性)計算が行われ、これに基づいてパーティションバンド間の周波数マスキング計算が行われる。
このようにして得られた周波数マスキング結果により聴覚エネルギー計算が行われ、調整前の聴覚エネルギーがパーティションバンド毎に計算され、これらはイメージング制御器17に送出される。
イメージング制御器17では、聴覚エネルギー閾値演算器16から送出されるすべてのサブ周波数帯における聴覚エネルギー閾値の調整を行う。なお、MS適用判定器15からOFF信号が送出された場合には、イメージング制御器17は何も行わず、送出された聴覚エネルギー閾値をそのまま聴覚エネルギー閾値演算器16に戻す。
次に、イメージング制御器17から送出された調整後の聴覚エネルギー閾値に対して、聴覚エネルギー閾値演算器16はプリエコー防止処理を行い、最終的な聴覚エネルギー閾値が得られる。
SMR算出器18では、聴覚エネルギー閾値演算器16から送出される聴覚エネルギー閾値の組に従って、SFB毎のSMRを算出する。ここでも、ブロックタイプがEIGHT_SHORT_SEQUENCEのときは8組のSMRが算出され、それ以外のときは1組のSMRが算出される。
PE算出器19では、聴覚エネルギー閾値演算器16から送出される聴覚エネルギー閾値の組を利用して、フレーム全体の聴覚エントロピー(PE)を算出する。
図1に戻り、遅延バッファ3は、遅延バッファ13と同じく1フレーム分の入力信号を新しく蓄積するとともに、蓄積してあった2フレーム分の入力信号を出力する。
フィルタバンク4では、聴覚心理演算器2が出力するブロックタイプに従って、FFT器14と同様な方法で適宜遅延バッファ3から送出される現フレームの入力信号を周波数成分に変換する。すなわち、長いブロック長を用いる場合は、入力信号の2048サンプルを1つのブロックとして、ブロックタイプに応じた形の窓掛けを実行後、MDCTを行い、1024個の周波数スペクトルを出力する。一方、短いブロック長を用いる場合は、入力信号の2048サンプルのうち、448番目のサンプルを先頭として256サンプルを1つのブロックとして窓掛けを実行した後にMDCTを行い、128個の周波数成分を出力する変換を、入力信号を128サンプルずつずらしながら都合8回行い、8組の周波数スペクトルを得る。
MS符号化器5は、聴覚心理演算器2から出力されるMSマスクで指定されたSFBの周波数成分からMS成分を算出し、フィルタバンク4から出力されたLR成分のスペクトルと入れ替える。このようにして作成された混合スペクトルと、聴覚心理演算器2から出力されたSMR値及びPE値に基づいて、ビット割当て器6はSFB毎にビットを割り当て、量子化器7は各SFBのスケールファクタ(正規化係数)を算出してSFBに割り当てられたビットに従い周波数成分を量子化する。
各SFBのスケールファクタと量子化スペクトルは、ビット整形器8によって定められた書式に従ってビットストリームに整形されて出力される。
以上説明したように、本実施形態における聴覚心理演算器2では、MS適用判定器15においてMS符号化が適用されるSFBの数がある一定の数以上ないと判定した場合にはMS符号化を中止する(一切MS符号化を適用しない)ことで、従来技術では1つでもMS符号化が適用されるSFBが存在した場合に行っていた、僅かな符号化効率向上のために全周波数帯域に渡ってMS成分の聴覚分析を行うことで消費していた多大な処理(例えば、MS成分の聴覚エネルギー閾値計算や聴覚エネルギー閾値の調整等)を省略することができる。また、従来とほぼ同様な音質を保ったビットストリームを作成することができる。また、本実施形態において、結果的に作成されるビットストリームの符号化効率は従来とほぼ変わらないものを得ることができる。
(第2の実施形態)
次に、第2の実施形態について説明する
本発明の第2の実施形態は、汎用的なパーソナルコンピュータ(PC)上で動作するソフトウェアプログラムとして実施することが可能である。以下、この場合について図面を用いて説明する。
図6は、本発明の第2の実施形態におけるオーディオ信号符号化装置の構成例を示す図である。
図示の構成において、100はCPUであり、オーディオ信号符号化処理のための演算、論理判断等を行い、102のバスを介して、バス102に接続された各構成要素を制御する。
101はメモリであり、本実施形態の構成例における基本I/Oプログラムや、実行しているプログラムコード、プログラム処理時に必要なデータなどを格納する。
102はバスであり、CPU100の制御の対象とする構成要素を指示するアドレス信号を転送し、CPU100の制御の対象とする各構成要素のコントロール信号を転送し、各構成機器相互間のデータ転送を行う。
103は端末であり、装置の起動、各種条件や入力信号の設定、符号化開始の指示を行う。
104は外部記憶装置であり、データやプログラム等を記憶するための外部記憶領域である。データやプログラム等は必要に応じて保管され、また、保管されたデータやプログラムは必要な時に呼び出される。
105はメディアドライブであり、記録媒体に記録されているプログラムやデータ、デジタルオーディオ信号などはこのメディアドライブ105が読み取ることにより本オーディオ信号符号化装置にロードされる。また、外部記憶部104に蓄えられた各種データや実行プログラムを、記録媒体に書き込むことができる。
106はマイクであり、音を集音してオーディオ信号に変換する。
107はスピーカーであり、任意のオーディオ信号データを実際の音にして出力することができる。
108は通信網であり、LAN、公衆回線、無線回線、放送電波などで構成されている。
109は通信インタフェース(通信I/F)であり、通信網108に接続されている。本実施形態のオーディオ信号符号化装置は、この機器を介して通信網108を経由して外部機器と通信し、データやプログラムを送受信することができる。
かかる各構成要素からなる本実施形態のオーディオ信号符号化装置においては、端末103からの各種の入力に応じて作動するものであって、端末103からの入力が供給されると、インタラプト信号がCPU100に送られることによって、CPU100がメモリ101内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
本実施形態の装置は、基本I/Oプログラム、OS(オペレーティングシステム)、及び本オーディオ信号符号化処理プログラムをCPU100が実行することによって動作する。基本I/Oプログラムはメモリ101中に書き込まれており、OSは外部記憶装置104に書き込まれている。そして、本装置の電源がONにされると、基本I/Oプログラム中のIPL(イニシャルプログラムローディング)機能により外部記憶装置104からOSがメモリ101に読み込まれ、OSの動作が開始される。
本オーディオ信号符号化処理プログラムは、図3に示されるオーディオ信号符号化処理手順のフローチャートに基づいてプログラムコード化されたものである。
図7は、本オーディオ信号符号化処理プログラム及び関連データを記録媒体に記録したときの内容構成図である。
本実施形態において、本オーディオ信号符号化処理プログラム及び関連データは記録媒体に記録されている。図示したように記録媒体の先頭領域には、この記録媒体のディレクトリ情報が記録されており、その後にこの記録媒体のコンテンツである本オーディオ信号符号化処理プログラムと、オーディオ信号符号化処理関連データがファイルとして記録されている。
図8は本オーディオ信号符号化装置に、本オーディオ信号符号化処理プログラムを導入する模式図である。記録媒体に記録されたオーディオ信号符号化処理プログラム及び関連データは、図8に示したようにメディアドライブ105を通じて本装置にロードすることができる。この記録媒体110をメディアドライブ105にセットすると、OS及び基本I/Oプログラムの制御のもとに本オーディオ信号符号化処理プログラム及び関連データが記録媒体から読み出され、外部記憶装置104に格納される。その後、再起動時にこれらの情報がメモリ101にロードされて動作可能となる。
図9は、本オーディオ信号符号化装置処理プログラムがメモリ101にロードされ実行可能となった状態のメモリマップを示す。
メモリ101には、基本I/Oプログラム、OS、オーディオ信号符号化処理プログラム、関連データ及びワークエリアが格納される。
このとき、メモリ101のワークエリアには、カウンタb、現行フレームブロックタイプ、先行フレームブロック長、現行フレームブロック長、MSマスク、閾値T、入力信号バッファ、SMR、PE、余剰ビット量が格納されている。このうち、閾値Tは定数であり、予めシステムで定められた値が格納されている。
図10は、本オーディオ信号符号化装置処理プログラムにおける入力信号バッファの一構成例である。
図示の構成において、バッファサイズは1024×3サンプルであり、説明の便宜上、図10において1024サンプル毎に縦線で区切っている。入力信号は右(図10における領域200)から1フレーム分の1024サンプルずつ入力されて、左から逐次処理される。
なお、図示の構成は1チャンネル分の入力信号バッファを模式的に示しており、本実施形態では入力信号のチャンネル数の分だけ同様なバッファが用意される。
以下、本実施形態においてCPU100で実行されるオーディオ信号符号化処理をフローに従って説明する。
図3は、本実施形態におけるオーディオ信号符号化処理のフローチャートである。
まず、ステップS1は、符号化するオーディオ入力信号をユーザが端末103を用いて指定する処理である。本実施形態において、符号化するオーディオ信号は、複数のチャンネルで構成されたオーディオ信号であり、外部記憶装置104に格納されているオーディオPCMファイルでも良いし、マイク106で捉えたリアルタイムの音声信号をアナログ・デジタル変換した信号でも良い。処理を終えると、ステップS2へ進む。
ステップS2は、符号化するオーディオ入力信号が終了したか否かを判定する処理である。入力信号が終了している場合には、ステップS11へ処理が進む。未終了の場合には、ステップS3へ処理が進む。
ステップS3は、図10に示した入力信号バッファにおいて、右から2フレーム分、すなわち2048サンプルの時間信号を1フレーム分左にシフトするとともに、新たに1フレーム分、すなわち1024サンプルを右側に読み込む入力信号シフト処理である。この処理は入力信号に含まれるすべてのチャンネルに対して行われる。また、このステップS3での処理を行う前にオーディオ入力信号はフレーム分割されている。処理を終えると、ステップS4へ処理が進む。
ステップS4は、入力信号バッファに格納されている時間信号を分析し、現行フレームの聴覚心理演算を行う処理である。この演算の結果、現行フレームのブロックタイプと、MSマスクと、聴覚エントロピー(PE)値と、SFB毎のSMR値とが算出され、メモリ101上のワークエリアに格納される。ここで、SMR値は、ブロックタイプがEIGHT_SHORT_SEQUENCEの場合にはショートブロック時の8組のSMR値が算出され、ブロックタイプがそれ以外の場合にはロングブロック時の1組のSMR値が算出される。この処理の詳細については、図4を用いて後述する。処理を終えると、ステップS5へ処理が進む。
ステップS5では、ステップS4において得られたブロックタイプに従って、現行フレームの時間信号、すなわち図10に示した現行フレーム先頭ポインタから右に2048サンプル(2フレーム分)の信号に対して窓掛けを実行した後、時間周波数変換を行う。この結果、MPEG-2 AACの場合、ブロックタイプがEIGHT_SHORT_SEQUENCEのときは、128の周波数成分に分割されたスペクトルの組が8組得られる。それ以外のブロックタイプのときは、1024の周波数成分に分割されたスペクトルの組が1組得られる。処理を終えると、ステップS6に処理が進む。
ステップS6は、ステップS4において得られたMSマスクによってMS符号化が指定されたSFBに対して、S5で得られたLR成分の周波数スペクトルから適宜MS成分の周波数スペクトルを算出して、L成分とM成分、R成分とS成分を入れ替える処理である。したがって、MSマスクのビットの値がすべて“0”の場合には、このステップS6での処理は何も行われない。処理を終えると、ステップS7へ処理が進む。
ステップS7は、S4において得られたSMR値とPE値、さらにステップS6で得られた混合周波数スペクトルに基づいてビット割当てを行う処理である。本実施形態においては、ビット割当ては二段階に行われる。まず、処理中のフレーム全体に割り当てるビット量をメモリ101上の余剰ビット量やステップS4において算出されたPE値とブロックタイプから決定する。次に、ステップS4において得られたSMR値と周波数スペクトルからSFB毎の許容誤差エネルギーを算出し、これに基づいてフレーム内の各SFBに割り当てるビット量を決定する。このような処理は本発明のような変換符号化方法において一般的であるので、詳細は説明しない。処理を終えると、ステップS8へ処理が進む。
ステップS8は、各SFBのスケールファクタを算出するとともに、ステップS7で割り当てられたビット量に従って、周波数スペクトルを量子化する処理である。処理を終えると、ステップS9へ処理が進む。
ステップS9は、ステップS8において算出されたスケールファクタと量子化スペクトルを、符号化方式によって定められたフォーマットに従って整形し、ビットストリームとして出力する処理である。本実施形態において、この処理によって出力されるビットストリームは、外部記憶装置104に格納されても良いし、あるいは、通信インタフェース109を介して通信網108に繋がっている外部機器に出力されても良い。処理を終えると、ステップS10へ処理が進む。
ステップS10は、ステップS9で出力されたビットストリームに使用されたビット量と符号化ビットレートから、メモリ101上に格納されている余剰ビット量の補正を行う処理である。処理を終えると、ステップS2へ処理が進む。
ステップS11は、聴覚心理演算や直交変換などで生じる遅延によってまだ出力されていない量子化スペクトルがメモリ上に残っているため、それらをビットストリームに整形して出力する処理である。処理を終えると、オーディオ信号符号化処理を終了する。
図4は、上記図3に示したステップS4の聴覚心理演算処理の詳細を示したフローチャートである。
ステップS101は、先行フレームの入力信号、すなわち、図10における先行フレーム先頭ポインタを先頭にして左に2048サンプル(2フレーム分)の時間信号において、急激な振幅の増大が存在するか否かを調べるアタック検出処理である。この処理は、上述した第1の実施形態と同様に、先行フレームの入力信号をハイパスフィルタに通した後、時間的に細分化した信号間のエネルギーを比較して時間振幅の変化を検知することによってアタック状態を検出するが、当分野において公知であるため詳細な説明は省略する。処理を終えると、ステップS102へ進む。
ステップS102は、ステップS101の処理結果を受けて、先行フレームのブロック長を判定する処理である。ステップS101において、アタック状態が検出された場合は、先行フレーム長をショートブロック長と判定し、そうでない場合は、先行フレーム長をロングブロック長と判定する。判定された先行フレームブロック長はメモリ101上のワークエリアに格納される。処理を終えると、ステップS103へ進む。
ステップS103は、メモリ101上に格納されている先行フレームブロック長と現行フレームブロック長とから、現行フレームブロックタイプを決定する処理である。この処理は、時間周波数変換におけるフレーム間の境界で発生するエイリアシングをキャンセルするために行われる。本実施形態において、例えば現行ブロック長がロング長で、先行ブロック長がショート長である場合、現行ブロックタイプとしてLONG_START_SEQUENCEが決定される。決定された現行ブロックタイプはメモリ101上のワークエリアに格納される。処理を終えると、ステップS104へ進む。
ステップS104は、ステップS103において決定された現行フレームブロックタイプに従って、現行フレームの入力信号、すなわち、図10に示した入力信号バッファにおける現行フレーム先頭ポインタから右に2048サンプル(2フレーム分)に対して、ハニング窓掛け後、FFTによる時間周波数変換を行う。処理を終えると、ステップS105へ進む。
ステップS105は、処理している入力信号中にチャンネルペアが含まれているか否かを判定する処理である。この判定の結果、チャンネルペアが入力信号に含まれている場合にはステップS106へ処理が進み、チャンネルペアが入力信号に含まれていない場合にはステップS114へ処理が進む。
ステップS106は、チャンネルペアの現行ブロックタイプがLチャンネル、Rチャンネルともに同じであるか否かを判定する処理である。この判定の結果、LとRで現行ブロックタイプが同じチャンネルペアであるならば、ステップS107へ処理が進む。そうでない場合は、ステップS114へ処理が進み、LとRがそれぞれ独立したチャンネルとして以後の処理が行われる。
ステップS107は、チャンネルペアのLR成分周波数スペクトルに対して、MS適用判定処理を行い、MSマスクをメモリ101上のワークエリアに格納する処理である。このステップS107での処理の詳細については図5を用いて後述する。処理を終えると、ステップS108へ処理が進む。
ステップS108は、ステップS107で出力されたMSマスクを参照してMS符号化が適用されると判定されたSFBの数をカウントし、これがメモリ101のワークエリアに格納されている閾値Tを超えているか否かを判定する処理である。この判定の結果、MS符号化を適用するSFB数が閾値Tを超えている場合にはステップS109へ処理が進み、閾値Tを超えていない場合には、ステップS113へ処理が進む。
ステップS109は、すべての周波数帯域にわたってL,R,M,S成分の聴覚エネルギー閾値計算を行う処理である。ここで行われる処理の詳細は第1の実施形態における聴覚エネルギー閾値演算器16で行われる処理と同様である。すなわち、まず、LRMS成分のスペクトルに対して非予測性が計算され、スペクトルの非予測性に基づいてパーティションバンド毎にトナリティ(調性)計算が行われ、これに基づいてパーティションバンド間の周波数マスキング計算が行われる。続いて、得られた周波数マスキング結果より、聴覚エネルギー計算が行われ、調整前の聴覚エネルギーがパーティションバンド毎にL,R,M,Sすべての成分に対して計算される。処理を終えると、ステップS110へ進む。
ステップS110は、L,R,M,S各成分の聴覚エネルギー閾値に対して、大きさの調整を行うイメージング制御処理である。ここで行われる処理は、第1の実施形態におけるイメージング制御器17で行われる処理と同様であるため、詳細は省略する。処理を終えると、ステップS111へ進む。
ステップS111は、MS適用時の調整が行われた聴覚エネルギー閾値に対して、プリエコー制御のための調整を行う処理である。処理を終えると、ステップS112へ処理が進む。
ステップS112は、ステップS107において作成されたMSマスクに従って、L,R成分の聴覚エネルギー閾値にM,S成分の聴覚エネルギー閾値を混合する処理である。具体的には、MSマスクにおいて値が“1”となっているビットに対応するSFBの聴覚エネルギー閾値に対して、L成分をM成分に、またR成分をS成分を入れ替える。処理を終えると、ステップS115へ進む。
ステップS113は、メモリ101上に格納されているMSマスクのビットの値をすべて“0”にしてクリアする処理である。この結果、このチャンネルペアに対しては以後一切のMS符号化に関する処理は行われなくなる。処理を終えると、ステップS114へ処理が進む。
ステップS114は、チャンネル単独で聴覚エネルギー閾値を算出する処理である。ここでの処理も第1の実施形態の聴覚エネルギー閾値演算器16と同様に行われるが、上述したステップS109で行われる処理とは異なり、MS成分に関する計算は一切行われない。処理を終えると、ステップS115へ処理が進む。
ステップS115は、ステップS112もしくはステップS114において得られたパーティションバンド毎のL,Rチャンネルの聴覚エネルギー閾値から、L,RチャンネルのPE値を算出する処理である。処理を終えると、ステップS116へ進む
ステップS116は、ステップS112もしくはステップS114において得られたパーティションバンド毎のL,Rチャンネルの聴覚エネルギー閾値から、L,RチャンネルのSFB毎のSMR値を算出する処理である。処理を終えると、聴覚心理演算処理を終了してリターンする(図3におけるステップS5に進む)。
図5は、上記図4に示したステップS107のMS適用判定処理の詳細を示したフローチャートである。
ステップS201は、LR成分のスペクトルからMS成分の周波数スペクトルを算出する処理である。本実施形態においても、MS成分は第1の実施形態にて示した式(1)と同様な演算によってLR成分から求められる。処理を終えると、ステップS202へ進む。
ステップS202は、SFB毎のL,R,M,S成分のエネルギーを算出する処理である。この処理も、第1の実施形態にて示した式(2)と同じ要領で計算される。処理を終えると、ステップS203へ進む。
ステップS203は、メモリ101上のSFBカウンタbを初期化して“0”を代入する。処理を終えるとステップS204へ進む。
ステップS204は、第1の実施形態にて示した式(3)と同様にして、SFBbにおけるMS符号化の適用判定を行う。この結果、式(3)が成立しない場合は、ステップS205へ処理が進み、MSマスクのb番目のビットであるMSmask[b]に値“0”がセットされる。一方、ステップS204において式(3)が成立する場合は、ステップS206に処理が進み、MSmask[b]に値“1”がセットされる。これらの処理を終えると、ステップS207に進む。
ステップS207は、すべてのSFBに対して適用判定が終了したか否かを判定する処理である。すべてのSFBに対する判定が終了していない場合は、ステップS208へ進む。すべてのSFBに対する判定が終了した場合は、MS適用判定処理を終了してリターンする(図4におけるステップS108に進む)。
ステップS208は、メモリ101上のSFBカウンタbに“1”を加える処理である。処理を終えると、ステップS204に進み、次のSFBに対する判定を行う。
以上説明したように、第2の実施形態におけるオーディオ信号符号化処理では、MS適用判定処理の結果、MS符号化適用SFBの数が予め定められた閾値Tよりも大きくなければ、通常のLR符号化時の分析のみを行うことにより、僅かな符号化効率の向上のために消費していた周波数全域に渡るMS成分の聴覚エネルギー閾値計算やイメージング制御処理にかかる処理量を省略することができる。
なお、上述の実施形態では、オーディオ符号化装置及び方法としてブロックスイッチングが行われる符号化方式の場合を一例として示しているが、ブロックスイッチングを行わない符号化方式においても同様に実施することが可能である。
また、上述の第1の実施形態では、オーディオ符号化装置全体及び聴覚心理演算器の双方がそれぞれ遅延バッファを備えるように構成しているが、これは説明の便宜上このような構成をとったものであり、オーディオ符号化装置全体で遅延バッファを1つだけ利用して構成しても同様な実施が可能である。
また、上述の第2の実施形態では、特に記録媒体に関して言及していないが、これは、FD、HDD、CD、DVD、MO、半導体メモリなど、どのような記録媒体を用いても適用可能である。
また、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体は本発明を構成する。また、そのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
第1の実施形態におけるオーディオ信号符号化装置の一構成例を示す図である。 第1の実施形態における聴覚心理演算器の詳細な構成例を示す図である。 第2の実施形態におけるオーディオ信号符号化処理のフローチャートである。 聴覚心理演算処理の詳細を示すフローチャートである。 MS適用判定処理の詳細を示すフローチャートである。 第2の実施形態におけるオーディオ信号符号化装置の構成例を示す図である。 第2の実施形態におけるオーディオ信号符号化処理プログラム及び関連データを格納した記録媒体の内容構成例を示す図である。 第2の実施形態におけるオーディオ信号符号化処理プログラムをパーソナルコンピュータに導入する模式図である。 第2の実施形態におけるメモリマップ構成図である。 第2の実施形態における入力信号バッファの構成例を示す図である。 MPEG-2/4 AACにおけるブロックタイプを示す図である。
符号の説明
1 フレーム分割器
2 聴覚心理演算器
3、13 遅延バッファ
4 フィルタバンク
5 MS符号化器
6 ビット割当て器
7 量子化器
8 ビット整形器
11 アタック検出器
12 ブロック判定器
14 FFT器
15 MS適用判定器
16 聴覚エネルギー閾値演算器
17 イメージング制御器
18 SMR算出器
19 PE算出器
100 CPU
101 メモリ
102 バス
103 端末
104 外部記憶装置
105 メディアドライブ
106 マイク
107 スピーカー
108 通信網
109 通信インタフェース

Claims (13)

  1. 複数のチャンネルにより構成されるオーディオ入力信号を、チャンネル毎に独立して符号化する第1の符号化、及び上記第1の符号化とは異なる第2の符号化を選択的に適用して符号化するオーディオ信号符号化装置であって、
    上記オーディオ入力信号を処理単位のフレームに分割するフレーム分割手段と、
    上記オーディオ入力信号に対して上記第2の符号化を適用するか否かを判定する判定手段を有し、かつ上記フレーム分割されたオーディオ入力信号を分析して聴覚マスキング計算を行う聴覚心理演算手段と、
    上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換するフィルタバンク手段と、
    上記判定手段の判定結果に応じて、上記フィルタバンク手段より出力される周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理手段と、
    上記周波数スペクトルを量子化する量子化手段とを備え、
    上記判定手段は、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とするオーディオ信号符号化装置。
  2. 上記フィルタバンク手段より出力される周波数スペクトルを、複数の周波数帯域に分割して、上記聴覚心理演算手段の演算結果に応じて各周波数帯域に割当てるビット量を計算するビット割当て手段と、
    上記量子化手段から出力される量子化スペクトルを規定のフォーマットに従って整形したビットストリームを作成し出力するビット整形手段とをさらに備え、
    上記量子化手段は、上記ビット割当て手段によって決定されたビット割当てに従って、上記周波数スペクトルを量子化することを特徴とする請求項1記載のオーディオ信号符号化装置。
  3. 上記第2の符号化は、上記チャンネル間のオーディオ入力信号の相関性を利用して符号化することを特徴とする請求項1又は2記載のオーディオ信号符号化装置。
  4. 上記聴覚心理演算手段は、さらに上記フレーム分割されたオーディオ入力信号を分析して変換ブロック長を決定し、
    上記フィルタバンク手段は、上記聴覚心理演算手段が決定した変換ブロック長に従って、上記フレームをブロック化することを特徴とする請求項1〜3の何れか1項に記載のオーディオ信号符号化装置。
  5. 上記聴覚心理演算手段は、上記フレーム分割されたオーディオ入力信号を分析し所定の周波数帯域毎に聴覚エネルギー閾値を算出する聴覚エネルギー閾値算出手段と、
    上記判定手段の判定結果に応じて、上記第2の符号化が適用される周波数帯域の上記算出される聴覚エネルギー閾値を調整するイメージング制御手段とをさらに有することを特徴とする請求項1〜4の何れか1項に記載のオーディオ信号符号化装置。
  6. 上記信号処理手段は、上記複数のチャンネルのうち、左右の関係を有する組のオーディオ入力信号に係る周波数スペクトルに対して上記所定の信号処理を施すことを特徴とする請求項1〜5の何れか1項に記載のオーディオ信号符号化装置。
  7. 上記所定の信号処理では、上記左右の関係を有する組の周波数スペクトルを、その和成分及び差成分に変換することを特徴とする請求項6記載のオーディオ信号符号化装置。
  8. 上記判定手段は、上記所定の信号処理を適用するか否かの判断結果に基づいて、上記量子化単位の周波数帯域に対応させた各ビットの値により上記第2の符号化を適用するか否かを示すマスク情報を作成するとともに、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定した場合には、上記マスク情報のすべてのビットの値を上記第2の符号化を適用しないことを示す値に書き換えて出力することを特徴とする請求項1〜7の何れか1項に記載のオーディオ信号符号化装置。
  9. 上記オーディオ入力信号の符号化方式が、MP3規格もしくはMPEG−2/4 AAC規格に準拠した符号化方式であることを特徴とする請求項1〜8の何れか1項に記載のオーディオ信号符号化装置。
  10. 上記所定の信号処理は、左右の関係にあるチャンネルの組の周波数スペクトルに対するMSステレオ符号化に係る処理であることを特徴とする請求項9記載のオーディオ信号符号化装置。
  11. 複数のチャンネルにより構成されるオーディオ入力信号を、チャンネル毎に独立して符号化する第1の符号化、及び上記第1の符号化とは異なる第2の符号化を選択的に適用して符号化するオーディオ信号符号化方法であって、
    上記オーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、
    上記オーディオ入力信号に対して上記第2の符号化を適用するか否かを判定する判定ステップを有し、かつ上記フレーム分割されたオーディオ入力信号を分析して聴覚マスキング計算を行う聴覚心理演算ステップと、
    上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換する変換ステップと、
    上記判定ステップでの判定結果に応じて、上記周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理ステップと、
    上記周波数スペクトルを量子化する量子化ステップとを有し、
    上記判定ステップは、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とするオーディオ信号符号化方法。
  12. 複数のチャンネルにより構成されるオーディオ入力信号を処理単位のフレームに分割するフレーム分割ステップと、
    上記オーディオ入力信号に対して、上記チャンネル毎に独立して行う第1の符号化とは異なる第2の符号化を適用するか否かを判定する判定ステップを含み、上記フレーム分割されたオーディオ入力信号を分析し聴覚マスキング計算を行う聴覚心理演算ステップと、
    上記フレームをブロック化し、1つ又は複数の周波数スペクトルの組に変換する変換ステップと、
    上記判定ステップでの判定結果に応じて、上記周波数スペクトルに対して上記第2の符号化に係る所定の信号処理を施す信号処理ステップと、
    上記周波数スペクトルを量子化する量子化ステップとをコンピュータに実行させるためのプログラムであって、
    上記判定ステップは、量子化単位の周波数帯域毎に上記所定の信号処理を適用するか否かを判断し、上記所定の信号処理が適用されると判断した周波数帯域の数が予め定める閾値に達しない場合には、上記すべての周波数帯域に対して上記第1の符号化を適用するように判定することを特徴とするプログラム。
  13. 請求項12記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2004170232A 2004-06-08 2004-06-08 オーディオ信号符号化装置及びオーディオ信号符号化方法 Pending JP2005351977A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004170232A JP2005351977A (ja) 2004-06-08 2004-06-08 オーディオ信号符号化装置及びオーディオ信号符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004170232A JP2005351977A (ja) 2004-06-08 2004-06-08 オーディオ信号符号化装置及びオーディオ信号符号化方法

Publications (1)

Publication Number Publication Date
JP2005351977A true JP2005351977A (ja) 2005-12-22

Family

ID=35586545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004170232A Pending JP2005351977A (ja) 2004-06-08 2004-06-08 オーディオ信号符号化装置及びオーディオ信号符号化方法

Country Status (1)

Country Link
JP (1) JP2005351977A (ja)

Similar Documents

Publication Publication Date Title
KR101345695B1 (ko) 대역폭 확장 출력 데이터를 생성하기 위한 장치 및 방법
RU2685024C1 (ru) Постпроцессор, препроцессор, аудиокодер, аудиодекодер и соответствующие способы для улучшения обработки транзиентов
KR20200144086A (ko) 대역폭 확장을 위한 고주파수 부호화/복호화 방법 및 장치
JP6517723B2 (ja) 高度なスペクトラム拡張を使用して量子化ノイズを低減するための圧縮伸張装置および方法
KR101375582B1 (ko) 대역폭 확장 부호화 및 복호화 방법 및 장치
US20090132238A1 (en) Efficient method for reusing scale factors to improve the efficiency of an audio encoder
US20100250260A1 (en) Encoder
JP5395250B2 (ja) 音声コーデックの品質向上装置およびその方法
EP3762923A1 (en) Audio coding
KR100472442B1 (ko) 웨이브렛 패킷 변환을 이용한 오디오 압축 방법 및 그시스템
US7725323B2 (en) Device and process for encoding audio data
RU2481650C2 (ru) Ослабление опережающих эхо-сигналов в цифровом звуковом сигнале
JP2006145782A (ja) オーディオ信号符号化装置および方法
JP4625709B2 (ja) ステレオオーディオ信号符号化装置
JP4822816B2 (ja) オーディオ信号符号化装置および方法
JP2006126372A (ja) オーディオ信号符号化装置、方法及びプログラム
JP2005351977A (ja) オーディオ信号符号化装置及びオーディオ信号符号化方法
RU2801156C2 (ru) Система компандирования и способ для снижения шума квантования с использованием усовершенствованного спектрального расширения
JP2005003835A (ja) オーディオ信号符号化装置、オーディオ信号符号化方法、及びプログラム
JP2005165056A (ja) オーディオ信号符号化装置及び方法
JP2007004050A (ja) ステレオ信号の符号化装置及び符号化プログラム
KR20230088409A (ko) 오디오 코덱에 있어서 오디오 대역폭 검출 및 오디오 대역폭 스위칭을 위한 방법 및 디바이스
JP2003195896A (ja) オーディオ復号装置及びその復号方法並びに記憶媒体
JP2000151414A (ja) ディジタルオーディオ符号化装置、同符号化方法、及び同符号化プログラムを記録した記録媒体