(58)【調査した分野】(Int.Cl.,DB名)
前記現在帯域の前記トーナリティが前記所定の値より大きい又は等しい場合、前記以前のフレームの前記対応する帯域の前記MDCT係数間の相関関係は前記現在帯域の前記減衰定数として利用される、請求項1に記載のフレーム損失復元方法。
前記現在帯域のトーナリティが前記所定の値より小さい場合、前記減衰定数は、前記現在フレームの前記以前のフレームの前記対応する帯域に対するエネルギ値と、前記以前のフレームの前記対応する帯域間のエネルギの変化に基づく前記現在帯域に対して予測されたエネルギ予測値との比である、請求項1に記載のフレーム損失復元方法。
前記現在帯域のMDCT係数は、前記以前のフレームの前記対応する帯域の前記MDCT係数に前記減衰定数をかけた値に復元される、請求項1に記載のフレーム損失復元方法。
前記以前のフレームが復元フレームである場合、前記現在帯域のMDCT係数は、前記以前のフレームの前記対応する帯域の減衰定数に前記現在帯域の減衰定数を追加適用して復元される、請求項7に記載のフレーム損失復元方法。
前記現在帯域のトーナリティが前記所定値より大きい又は等しい場合、前記以前のフレームの前記対応する帯域の前記MDCT係数間の相関度は、前記現在帯域の前記減衰係数として利用される、請求項9に記載のオーディオ復号化方法。
前記現在帯域のトーナリティが前記所定値より小さい場合、前記減衰定数は、前記現在フレームの前記以前のフレームの前記対応する帯域に対するエネルギー値と、前記以前のフレームの前記対応する帯域間のエネルギの変化に基づく前記現在帯域に対して予測されたエネルギ予測値との比である、請求項9に記載のオーディオ復号化方法。
前記現在帯域のMDCT係数は、前記以前のフレームの前記対応する帯域の前記MDCT係数に前記減衰定数をかけて得られた値に復元される、請求項9に記載のオーディオ復号化方法。
前記以前のフレームが復元フレームである場合、前記現在帯域のMDCT係数は、前記以前のフレームの前記対応する帯域の前記減衰定数に前記現在帯域の減衰定数を追加適用して復元される、請求項13に記載のオーディオ復号化方法。
前記所定値より大きい又は等しいトーナリティを有する帯域に対して追加適用される減衰定数は、前記所定値より小さいトーナリティを有する帯域に対して追加適用される減衰定数より小さい又は等しい、請求項14に記載のオーディオ復号化方法。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連している公知構成または機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合は説明を省略する。
【0025】
一構成要素が他の構成要素に「連結されている」または「接続されている」と言及された場合、該当他の構成要素に直接的に連結されている、または接続されていることもあるが、中間に他の構成要素が存在することもあると理解しなければならない。
【0026】
第1、第2などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的としてのみ使われる。
【0027】
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、各々の構成部として羅列して含むものであり、各構成部のうち少なくとも2個の構成部が統合されて一つの構成部からなり、または一つの構成部が複数個の構成部に分けられて機能を遂行することができる。
【0028】
ネットワークの発達と高品質サービスに対する要求に応じて、NB(Narrow Band)からWB(Wide Band)またはSWB(Super Wide Band)に達するまでの多様な帯域に対するオーディオ信号処理方法が研究されている。例えば、音声及びオーディオ符号化/復号化技術として、CELP(Code Excited Linear Prediction)モード、サイン(sinusoidal)モードなどが使われることができる。
【0029】
符号化器は、ベースラインコーダ(baseline coder)と向上階層(enhancement layer)とに区分されることができる。また、向上階層は、低帯域向上(Lower Band Enhancement:LBE)階層、帯域拡張(Bandwidth Extension:BWE)階層、そして高帯域向上(Higher Band Enhancement:HBE)階層に分けられることができる。
【0030】
LBE階層は、コア符号化器(core encoder)/コア復号化器(core decoder)で処理した音源と原音との差異信号、即ち、励起信号(excited signal)を符号化/復号化することによって、低帯域の音質を向上させる。高帯域信号は、低帯域信号との間で類似性を有するため、低帯域を利用した高帯域拡張方法を介して低いビット率で高帯域信号を復元することができる。
【0031】
高帯域の信号を拡張して符号化し、復号化過程を経て復元する方法として、SWB信号をスケーラブル拡張(scalable extension)して処理する方法を考慮することができる。SWB信号を帯域拡張する方法は、MDCT(Modified Discrete Cosine Transform)ドメインで動作できる。
【0032】
拡張階層は、ジェネリックモード(generic mode)とサインモード(sinusoidal mode)とに分けられて処理されることができる。例えば、3個の拡張階層が利用される場合、1番目の拡張階層は、ジェネリックモードとサインモードで処理され、2番目及び3番目の拡張階層は、サインモードで処理するようにすることができる。
【0033】
本明細書において、サイン波(sinusoid)は、正弦波(sine wave)及び正弦波を半波長ほど位相シフト(shift)した余弦波(cosine wave)を両方とも含む。したがって、本発明において、サイン波(sinusoid)は、正弦波(sine wave)を意味することもあり、余弦波(cosine wave)を意味することもある。入力されたサイン波が余弦波である場合は、符号化/復号化過程で正弦波または余弦波に変換することができ、この変換は、入力信号が経る変換の変換方法にしたがう。入力されたサイン波が正弦波である場合にも、符号化/復号化過程で余弦波または正弦波に変換することができ、この変換は、入力信号が経る変換の変換方法にしたがう。
【0034】
ジェネリックモードで、コーディングは、コーディングされた広帯域(wideband)シグナルサブ帯域の適応的複製(replication)に基づいて行われる。サインモードのコーディングでは高周波コンテンツ(high frequency contents)にサイン波が追加される。
【0035】
サインモードは、周期性が強い信号またはトーン成分がある信号に対する効率的符号化技法であって、各サイン波成分に対して符号(sign)、大きさ(amplitude)、位置(position)情報を符号化することができる。各階層(layer)毎に所定個数、例えば、10個のMDCT係数を符号化することができる。
【0036】
図1は、超広帯域信号を帯域拡張方法に処理する場合に利用できる符号化器構成の一例を概略的に示す。
図1では、サインモードが適用されたG.718アネックス(annex)Bスケーラブル拡張(scalable extension)の符号化器構造を例に挙げて説明する。
【0037】
図1の符号化器は、SWB拡張のためにジェネリックモードとサインモードとで構成され、追加的なビットが割り当てられる場合、サインモードを拡張して使用することができる。
【0038】
図1を参照すると、符号化器100は、ダウンサンプリング部105、WBコア110、変換部115、トーナリティ(tonality)推定部120、SWB(Super Wide Band)符号化部150を含む。SWB符号化部150は、トーナリティ(tonality)判断部125、ジェネリックモード部130、サイン波モード部135、追加サイン波部140、145を含む。
【0039】
SWB信号が入力されると、ダウンサンプリング部105は、入力信号をダウンサンプリングしてコア符号化器(core encoder)が処理できるWB信号を生成する。
【0040】
SWB符号化は、MDCTドメインで実行される。WBコア110は、WB信号を符号化して合成されたWB信号をMDCTし、MDCT係数を出力する。
【0041】
MDCT(Modified Discrete Cosine Transform)は、時間領域の信号を周波数領域の信号に変換させる変換であって、重複合算(overlap−addition)方式を使用して原本信号を変換前信号に完全復元(perfect reconstruction)することができる。数式1は、MDCTの一例を示す。
【0044】
変換部115は、SWB信号をMDCTし、トーナリティ推定部120がMDCTされた信号のトーナリティを推定する。ジェネリックモードとサインモードのうちいずれのモードを選択するかは、トーナリティ(tonality)に基づいて判断することができる。
【0045】
トーナリティ推定は、現在フレーム(current frame)と過去フレーム(past frame)でスペクトルピーク(spectral peak)間の相関分析(correlation analysis)に基づいて実行されることができる。トーナリティ推定部120は、トーナリティ(tonality)推定値をトーナリティ判断部125に出力する。
【0046】
トーナリティ判断部125は、MDCT変換された信号がトーナル(tonal)かどうかをトーナリティ(tonality)に基づいて判断した後、ジェネリックモード部130及びサイン波モード部135に伝達する。例えば、トーナリティ判断部125は、トーナリティ推定部120から入力されたトーナリティ推定値を所定の基準値と比較してMDCT変換された信号がトーナル信号かまたは非トーナル信号かを判断することができる。
【0047】
図示されているように、SWB符号化部150は、MDCTされたSWB信号のMDCT係数を処理する。このとき、SWB符号化部150は、コア符号化器110を経て入力される合成WB信号のMDCT係数を利用してSWB信号のMDCT係数を処理することができる。
【0048】
トーナリティ判断部125によりMDCT変換された信号がトーナルでないと判断された場合は、ジェネリックモード部130に信号が伝達され、トーナルであると判断された場合は、サイン波モード部135に信号が伝達される。
【0049】
ジェネリックモードは、入力フレームがトーナル(tonal)でないと判断された場合に利用することができる。ジェネリックモード部130は、低帯域スペクトラム(low frequency spectrum)を直接高周波数(high frequency)にトランスポーズ(transpose)し、原(original)高周波数の包絡線(envelope)に従うようにパラメータ化することができる。このとき、パラメータ化は、原高周波数の場合より概略的に(coarsely)行うことができる。ジェネリックモードを適用することによって、高周波コンテンツを低いビット率でコーディングすることができる。
【0050】
例えば、ジェネリックモードでは高周波帯域をサブ帯域(sub−band)に分け、所定の類似性判断基準によって、符号化されて包絡線正規化された広帯域コンテンツのうち最もよく適合する(match)ものを選択する。選択されたコンテンツは、スケーリングされた後に合成された高周波コンテンツとして出力される。
【0051】
サイン波モード(sinusoidal mode)部135は、入力されたフレームがトーナルである場合に利用することができる。サインモードではサイン波成分の有限集合(finite set)をHF(High Frequency)スペクトラムに加えてSWB信号を生成する。このとき、HFスペクトラムは、SW合成信号のMDCT係数を利用して生成される。
【0052】
追加的なビットが割り当てられる場合は、追加サイン波部140、145を介して、サイン波モードを拡張して適用することができる。
【0053】
追加サイン波部140、145ではジェネリックモードに出力された信号とサインモードに出力された信号に追加サイン波を付加して生成信号を向上させる。例えば、追加サイン波部140、145は、追加ビットが割り当てられる場合、送信する追加サイン波(パルス)を決定し、量子化するサインモードを拡張して信号を改善する。
【0054】
一方、図示されているように、コア符号化器110、トーナリティ判断部125、ジェネリックモード部130、サイン波モード部135、追加サイン波部140、145の出力は、ビットストリームとして復号化器に送信することができる。
【0055】
図2は、超広帯域信号を帯域拡張方法に処理する場合に利用できる復号化器構成の一例を概略的に示す。
図2では、超広帯域信号の帯域拡張に使われる復号化器の例であり、G.718アネックスB SWBスケーラブル拡張の復号化器を例に挙げて説明する。
【0056】
図2を参照すると、復号化器200は、WB復号化部205、SWB復号化部235、逆変換部240、加算部245を含む。SWB復号化部235は、トーナリティ(tonality)判断部210、ジェネリックモード部215、サイン波モード部225、追加サイン波部220、230を含む。
【0057】
一般的に正常フレームが入力すると、ビットストリームのパーシング(parsing)情報に応じて、SWB復号化部235を介してSWB信号が合成される。
【0058】
フレームのWB信号は、WB復号化部205でSWBパラメータを利用して合成するようになる。
【0059】
復号化器200で出力される最終的なSWB信号は、WB復号化部205で出力するWB信号と、SWB復号化部235及び逆変換部240を経て出力するSWB拡張信号との和となる。
【0060】
具体的に、WB復号化部205、SWB復号化部235にはビットストリームから処理する対象情報及び/または処理のための補助情報を入力することができる。
【0061】
WB復号化部205は、広帯域信号を復号化してWB信号を合成する。合成されたWB信号のMDCT変換係数は、SWB復号化部235に入力することができる。
【0062】
SWB復号化部235は、ビットストリームから入力されたSWB信号のMDCTを復号化する。このとき、WB復号化部205から入力される合成されたWB信号(Synthesized Super Wide Band Signal)のMDCT係数を利用することができる。SWB信号の復号化は、主にMDCTドメインで実行される。
【0063】
トーナリティ判断部210は、MDCT変換された信号がトーナル信号かまたは非トーナル信号かを判断することができる。MDCT変換された信号がトーナルであると判断された場合は、ジェネリックモード部215でSWB拡張信号が合成され、トーナルでないと判断された場合は、サイン波モード部225でサイン波情報を介してSWB拡張信号(MDCT係数)を合成することができる。ジェネリックモード部215とサイン波モード部225は、拡張階層の1番目の階層をデコーディングし、上位階層は、追加ビットを利用して追加サイン波部220、230で復号化されることができる。例えば、レイヤ7やレイヤ8に対しては追加サイン波モードのサイン波情報ビットを利用してMDCT係数を合成することができる。
【0064】
合成されたMDCT係数は、逆変換部240で逆変換され、SWB拡張合成信号が生成されることができる。このとき、追加サイン波ブロックのレイヤ情報によって合成される。
【0065】
加算部245は、WB復号化部205で出力されたWB信号と、逆変換部240で出力されたSWB拡張合成信号とを加算してSWB信号を出力することができる。
【0066】
一方、符号化されたオーディオ情報が復号化器に伝達される過程で損失が発生する場合、FEC(Forward Error Correction)を介して損失を復元し、または隠匿(concealment)することができる。
【0067】
情報の送信過程でエラーが発生した場合、受信側で情報を受信したか否かをシグナリングすることによって、送信側から情報の再送信を受けるARQ(Automatic Repeat Request)と違って、FECの場合は、受信側でエラーを訂正し、または損失を補償/隠匿することができる。
【0068】
具体的に、FECの場合、送信(エンコーダ)側で送信するデータまたは格納媒体に格納されたデータにエラーを訂正し、または損失を補償/隠匿することができる情報(エラー/損失訂正用情報)が含まれ、受信(デコーダ)側では送信されたデータまたは格納されたデータのエラー/損失をエラー/損失訂正用情報を利用して復元することができる。このとき、エラー/損失訂正用情報として、以前の正常フレーム(previous good frame)のパラメータ、MDCT係数、符号化/復号化された信号などが利用されることができる。
【0069】
図1で説明したように、SWBビットストリームは、WB信号とSWB拡張信号のビットストリームで構成することができる。WB信号のビットストリームとSWB拡張信号のビットストリームは、一つのパケットで構成されるため、オーディオ信号の一つのフレームが損失された場合、WB信号のビットとSWB拡張信号のビットが両方とも損失するようになる。
【0070】
この場合、FEC復号化器は、正常フレームに対する復号化動作と同様に、FECを適用してWB信号とSWB拡張信号を別々出力した後、WB信号とSWB拡張信号とを合算して損失フレームに対するSWB信号を出力することができる。
【0071】
現在フレームが損失された場合、FEC復号化器は、現在フレーム以前の正常フレームのトーナル情報(tonal information)と合成されたMDCT係数を利用し、損失された現在フレームに対するMDCT係数を合成することができる。FEC復号化器は、合成されたMDCT係数を逆変換してSWB拡張信号を出力することができ、SWB拡張信号とWB信号とを加えて損失された現在フレームに対するSWB信号を復号化することができる。
【0072】
図3は、通信環境でオーディオ情報を含めたビットストリームが損失された場合に適用されることができる復号化器の一例を概略的に説明するブロック図である。具体的に、
図3は、損失されたフレームに対する復号化を実行することができる復号化器の一例である。
【0073】
図3では、G.718アネックスB SWBスケーラブル拡張(G.718 Annex B SWB scalable extension)のFEC復号化器を損失フレームに適用できる復号化器の一例として説明する。
【0074】
図3を参照すると、FEC復号化器300は、WB FEC復号化部305、SWB FEC復号化部330、逆変換部335及び加算部340を含む。
【0075】
WB FEC復号化部305は、ビットストリームのWB信号をデコーディングすることができる。WB FEC復号化部305は、損失されたWB信号(WB信号のMDCT係数)にFECを適用して復号化を実行することができる。このとき、WB FEC復号化部305は、損失された現在フレームの以前のフレーム(正常フレーム)の情報を利用して現在フレームのMDCT係数を復元することができる。
【0076】
SWB FEC復号化部330は、ビットストリームのSWB拡張信号をデコーディングすることができる。SWB FEC復号化部330は、損失されたSWB拡張信号(SWB拡張信号のMDCT係数)にFECを適用して復号化を実行することができる。SWB FEC復号化部330は、トーナリティ判断部310、複製部(replication unit)315、320、325を含むことができる。
【0077】
トーナリティ(tonality)判断部310は、SWV拡張信号がトーナル(tonal)かまたは非トーナルかを判断することができる。
【0078】
トーナルであると判断されたSWB拡張信号(トーナルSWB拡張信号)とトーナルでないと判断されたSWB拡張信号(非トーナルSWB拡張信号)は、互いに異なる過程を介して復元することができる。例えば、トーナルSWB拡張信号は、複製部315を経て、非トーナル(atonal)SWB拡張信号は、複製部320を経た後、二つの信号が合成されて複製部325を介して復元することができる。
【0079】
このとき、トーナルSWB拡張信号に適用されるスケーリングファクタと非トーナルSWB拡張信号に適用されるスケーリングファクタは、互いに異なる値を有する。また、トーナルSWB拡張信号と非トーナルSWB拡張信号とを合成したSWB拡張信号に適用されるスケーリングファクタは、トーナル成分と非トーナル成分に対して適用するスケーリングファクタと異なることもある。
【0080】
具体的に、SWB拡張信号を復元するために逆変換部335で逆変換(IMDCT)が実行されるように、SWB FEC復号化部330は、逆変換の対象信号(SWB拡張信号のMDCT係数)を復元することができる。SWB FEC復号化部330は、損失したフレーム(現在フレーム)以前の正常フレームのモードによるスケーリング係数を適用して正常フレームの信号(MDCT係数)が線形的に減衰するようにすることによって、損失したフレームのSWB信号に対するMDCT係数を復元することができる。
【0081】
この場合、連続したフレーム損失に対しても線形的減衰を維持することによって、連続したフレームが損失した場合にも損失した信号を復元することができる。
【0082】
復元対象信号がジェネリックモードの信号かまたはサイン波モードの信号か(トーナル信号かまたは非トーナル(stonal)信号か)に応じて異なるスケーリング係数が適用されることができる。例えば、ジェネリックモードに対してはスケーリングファクタβ
FECを適用し、サイン波モードに対してはスケーリングファクタβ
FEC,sinを適用することができる。
【0083】
例えば、現在フレームが損失され、正常フレームである以前のフレームがジェネリックモードであり、レイヤがレイヤ7まであると仮定すると、現在フレーム(損失フレーム)を復元するためのスケーリングファクタとしてβ
FEC=0.5、β
FEC,sin=0.6に設定することができる。このとき、現在フレーム(損失されたフレーム)のMDCT係数は、数式2のように復元されることができる。
【0086】
また、現在フレームが損失され、正常フレームである以前のフレームがサイン波モードであり、レイヤが7まであると仮定すると、現在フレーム(損失フレーム)を復元するためのスケーリングファクタとしてβ
FEC=0、β
FEC,sin=0.8に設定されることができる。このとき、現在フレーム(損失されたフレーム)のMDCT係数は、数式3のように復元されることができる。
【0088】
数式2と数式3を一般化すると、損失されたフレームのSWB拡張信号に対するMDCT係数は、数式4のように復元することができる。
【0090】
一方、前述したようなFEC方法では、現在フレームが損失された場合、以前のフレーム(過去フレーム)のMDCT係数のみを利用し、MDCT係数が線形減衰することを仮定することによって損失された信号を復元する。この方法を適用する場合、信号のエネルギが順次減衰する区間で損失が発生した場合は、信号を効果的に復元することができるが、信号のエネルギが増加する場合または信号が正常状態(エネルギの大きさが一定範囲内で維持された状態)である場合は、音質歪曲が発生するようになる。
【0091】
また、前述したようなFEC方法は、損失されたフレームが正常フレームの区間中、一つまたは二つのフレームが損失されるといった小さい損失率の通信環境では良い性能を示すことができる。それに対し、連続するフレームが損失される場合(損失が頻繁に発生する場合)または損失が発生する区間が長い場合は、復元された信号にも音質損失が明確に示すことができる。
【0092】
前述した点を考慮して、本発明では現在フレーム(損失されたフレーム)以前の正常フレームのうち一つのフレームの変換係数(MDCT係数)だけでなく、現在フレーム以前の正常フレームの変化程度を利用して適応的にスケーリングファクタを適用することができる。
【0093】
また、前述したようにSWB拡張帯域に同じスケーリングファクタを適用する代わりに、本発明ではMDCT特性が帯域別に異なるということを反映することができる。例えば、本発明では現在フレーム(損失されたフレーム)以前の正常フレームの変化程度を考慮したスケーリングファクタを帯域別に修正することができる。したがって、MDCT係数の変化が帯域別にスケーリングファクタに反映されることができる。
【0094】
本発明の適用方法を対象別に分類すると、下記の(1)と(2)のように概略的に分類することができる。
【0095】
(1)単一フレームが損失された場合−本発明は、MDCTまたはFFT(Fast Fourier Transform)のように時間軸信号を他の軸(例えば、周波数軸)信号に変換する場合にも適用することができるため、
図2または
図3に示すG.718のSWB復号化器構造において、上位SWB側でのフレーム損失を効果的に復元または隠匿することができる。
【0096】
単一フレームの損失において、フレーム損失を隠匿する方法は、大きく(i)〜(iii)のような三つのステップを含むことができる。(i)受信されたフレームの損失可否を判断するステップ、(ii)受信されたフレームに損失が発生された場合、以前の正常フレームに対する変換係数から損失されたフレームに対する変換係数を復元するステップ、及び(iii)復元された変換係数を逆変換するステップ。
【0097】
例えば、フレーム損失が確認された場合、変換係数を復元するステップにおいて、n番目のフレームが損失した場合は、以前のフレーム(n−1番目のフレーム、n−2番目のフレーム、...、n−N番目のフレーム)に対する変換係数として格納されている変換係数からn番目のフレームに対する変換係数を復元することができる。ここで、Nは、損失隠匿過程で使われるフレームの個数を意味する。次に、復元されたn番目のフレームに対する変換係数(MDCT係数)を逆変換(IMDCT)することでフレーム損失を隠匿することができる。
【0098】
このとき、変換係数を復元するステップでは帯域別に減衰定数(スケーリングファクタ)を使い分けることができる。また、正常フレーム(無損失フレーム)のトーナル成分有無を以前の正常フレームから算出し、トーナル成分の有無によって減衰定数を使い分けることもできる。
【0099】
例えば、トーナル成分が強い帯域の場合は、以前のフレームでサイン波パルス(MDCT係数)の相関情報を利用し、損失されたフレームの変換係数を復元するために使用する減衰定数を誘導することができる。トーナル成分がないまたは弱い帯域の場合は、以前の正常フレームに対する変換係数(MDCT係数)のエネルギ情報を推定し、損失されたフレームの変換係数を復元するために使用する減衰定数を誘導することができる。
【0100】
復元された変換係数、各帯域のトーナル情報及び減衰定数は、フレームの損失が連続する場合に対する損失復元(隠匿)のために格納することができる。
【0101】
(2)連続したフレームが損失された場合−連続したフレームが損失された場合、損失を隠匿する方法は、大きく(a)と(b)の二つのステップを含むことができる。(a)受信されたフレームに対し、連続するフレームが損失したかどうかを判断するステップ、及び(b)連続したフレームが損失した場合、以前の正常フレーム(無損失フレーム)の変換係数を利用して連続的に損失したフレームに対する励起信号(MDCT係数)を復元するステップ。
【0102】
連続したフレームが損失された場合も、帯域別にトーナル成分の有無またはトーナル成分の強弱に応じて帯域別に適用される追加減衰定数(スケーリングファクタ)に変化を与えることができる。
【0103】
図4は、本発明によってフレーム損失を隠匿するのに適用される復号化器の一例を概略的に説明するブロック図である。
【0104】
図4を参照すると、復号化器400は、WB信号に対するフレーム損失判断部405、WB信号に対するフレーム損失隠匿部410、WB信号の復号化部415、SWB信号に対するフレーム損失判断部420、SWB信号の復号化部425、SWB信号のフレーム損失隠匿部430、フレームバックアップ部435、逆変換部440、加算部445を含む。
【0105】
フレーム損失判断部405は、WB信号に対するフレーム損失可否を判断する。フレーム損失判断部420は、SWB信号に対するフレーム損失可否を判断する。フレーム損失判断部405、420は、損失が単一フレームに発生したか、または連続したフレームに発生したかも判断することができる。
【0106】
ここでは、WB信号に対するフレーム損失判断部405とSWB信号に対するフレーム損失判断部420を別途の動作部として説明したが、本発明はこれに限定されるものではない。例えば、復号化器400は、一つのフレーム損失部を含み、フレーム損失部でWB信号に対するフレーム損失とSWB信号に対するフレーム損失を両方とも判断することができる。または、フレームに損失が発生した場合、WB信号とSWB信号が両方とも損失されたため、WB信号に対するフレーム損失を判断した後、判断結果をSWB信号に対して適用することもでき、またはSWB信号に対するフレーム損失を判断した後、判断結果をWB信号に対して適用することもできる。
【0107】
損失があると判断されたWB信号のフレームに対し、フレーム損失隠匿部410は、フレーム損失を隠匿する。フレーム損失隠匿部410は、以前の正常フレーム情報に基づいて損失が発生したフレーム(現在フリーム)の情報を復元することができる。
【0108】
損失がないと判断されたWB信号のフレームに対し、WB復号化部415は、WB信号の復号化を実行することができる。
【0109】
WB信号に対して復号化または復元された信号は、SWB信号の復号化または復元のためにSWB復号化部425に伝達することができる。また、WB信号に対して復号化または復元された信号は、加算部445に伝達されてSWB信号の合成に利用することができる。
【0110】
一方、損失がないと判断されたSWB信号のフレームに対し、SWB復号化部425は、SWB拡張信号の復号化を実行することができる。このとき、SWB復号化部425は、復号化されたWB信号を利用してSWB拡張信号を復号化することもできる。
【0111】
損失があると判断されたSWB信号のフレームに対してはSWBフレーム損失隠匿部430がフレームの損失を復元または隠匿することができる。
【0112】
単一フレームの損失がある場合、SWBフレーム損失隠匿部430は、フレームバックアップ部435に格納された以前の正常フレームの変換係数を利用して現在フレームの変換係数を復元することができる。連続したフレームの損失がある場合、SWBフレーム損失隠匿部430は、以前に復元した損失フレームの変換係数と正常フレームの変換係数だけでなく、以前の損失フレームの変換係数を復元するのに使われた情報(例えば、帯域別トーナル情報、帯域別減衰定数情報等)を利用して現在フレーム(損失フレーム)に対する変換係数を復元することができる。
【0113】
SWBフレーム損失隠匿部430で復元した変換係数(MDCT係数)は、逆変換部440で逆変換(IMDCT)しることができる。
【0114】
フレームバックアップ部435は、現在フレームの変換係数(MDCT係数)を格納することができる。フレームバックアップ部435では以前に格納された変換係数(以前のフレームの変換係数)を削除し、現在フレームに対する変換係数を格納することができる。現在フレームに対する変換係数は、直後のフレームに損失がある場合、損失を隠匿するために使うことができる。
【0115】
それに対し、フレームバックアップ部435は、N個のバッファ(Nは、整数)を有し、フレームの変換係数を格納することもできる。この場合、バッファに格納されるフレームは、正常フレームと損失から復元されたフレームである。
【0116】
例えば、フレームバックアップ部435は、N番目のバッファに格納された変換係数を削除し、各バッファに格納されたフレームの変換係数を真横のバッファに一つずつ移動(shift)させた後、1番目のバッファに現在フレームに対する変換係数を格納することができる。このとき、バッファの個数Nは、復号化器の性能、オーディオ品質などを考慮して決めることができる。
【0117】
逆変換部440は、SWB復号化部425で復号化された変換係数とSWBフレーム損失隠匿部430で復元された変換係数を逆変換してSWB拡張信号を生成することができる。
【0118】
加算部445は、WB信号とSWB拡張信号とを合成してSWB信号を出力することができる。
【0119】
図5は、本発明によるフレーム損失隠匿部の一例を概略的に説明するブロック図である。
図5では単一フレームが損失された場合に対するフレーム損失隠匿部を例に挙げて説明する。
【0120】
単一フレームが損失した場合、フレーム損失隠匿部は、前述したように、フレームバックアップ部に格納された以前の正常フレームの変換係数に対する情報を利用することによって損失したフレームの変換係数を復元することができる。
【0121】
図5を参照すると、フレーム損失隠匿部500は、帯域分割部505、トーナル(tonal)成分有無判断部510、相関度算出部515、減衰定数算出部520、エネルギ算出部525、エネルギ予測部530、減衰定数算出部535、損失フレーム変換係数復元部540を含む。
【0122】
本発明によるフレーム損失隠匿/復元では帯域別MDCT係数の特性を考慮してMDCT係数を復元することができる。具体的に、本発明によるフレーム損失隠匿/復元では帯域別に異なる変化率(減衰定数)を適用し、損失フレームに対するMDCT係数を復元することができる。
【0123】
したがって、フレーム損失隠匿部500では、帯域(band)分割部505がバッファに格納された以前の正常フレームの変換係数をM個の帯域(M個のグループ)にグルーピング(grouping)する。帯域分割部505は、グルーピングする時、連続する変換係数が一つの帯域に属するようにすることによって、周波数帯域別に正常フレームの変換係数が分割される効果を得るようになる。例えば、M個のグループは、M個の帯域になる。
【0124】
トーナル成分有無判断部510ではN個のバッファ(1〜N番目のバッファ)に格納された変換係数を利用してスペクトルピークのエネルギ相関度をログ(log)ドメインで分析することによって変換係数のトーナリティを各帯域別に算出することができる。即ち、トーナル成分有無判断部510は、トーナリティを各帯域別に算出することによって帯域別にトーナル成分有無を判断することができる。例えば、損失フレームがn番目のフレームである場合、N個のバッファに格納された以前のフレーム(n−1番目のフレーム〜n−N番目のフレーム)の変換係数を利用してn番目のフレーム(損失フレーム)のM個帯域に対するトーナリティが誘導されることができる。
【0125】
損失したフレームのトーナリティを帯域(band)別に判断した結果、トーナル成分が多い帯域は、相関度算出部515、減衰定数算出部520を介して誘導された減衰定数を利用して復元することができる。
【0126】
損失したフレームのトーナリティを帯域別に判断した結果、トーナル成分がないまたは少ない帯域は、エネルギ算出部525、エネルギ予測部530、減衰定数算出部535を介して誘導した減衰定数を利用して復元することができる。
【0127】
具体的に、無損失フレームの変換係数に対する相関度算出部515は、トーナル成分有無判断部510でトーナルであると判断した帯域(例えば、m番目の帯域)に対する相関度を算出することができる。即ち、相関度算出部515は、トーナル成分が存在すると判断される帯域で、n番目のフレームである現在フレーム(損失フレーム)以前の連続した正常フレーム(n−1番目のフレーム、...、n−N番目のフレーム)のパルス間位置の相関度を測定することによって、相関度を判断することができる。
【0128】
連続した正常フレームで強い相関性を有するフレームの場合、パルス(MDCT係数)の位置は、重要なMDCT係数または大きさが大きいMDCT係数から±Lに位置することを前提にして相関度判断を実行することができる。
【0129】
減衰定数算出部520は、相関度算出部515で算出した相関度に基づいてトーナル成分が多い帯域に対する減衰定数を適応的に算出することができる。
【0130】
一方、無損失フレームのフレームに対するエネルギ算出部525は、トーナル成分がないまたは少ない帯域に対するエネルギを算出することができる。エネルギ算出部525は、現在フレーム(損失フレーム)以前の正常フレームに対して各帯域(band)別にエネルギを算出することができる。例えば、現在フレーム(損失フレーム)がn番目のフレームであり、N個のバッファにN個の以前のフレームに対する情報が格納されている場合、エネルギ算出部525は、n−1番目のフレームからn−N番目のフレームまでのフレームに対して帯域別にエネルギを算出することができる。このとき、エネルギが算出される帯域は、トーナル成分有無判断部510によりトーナル成分がないまたは少ないと判断された帯域に属する帯域である。
【0131】
エネルギ予測部530ではエネルギ算出部525からフレーム別に算出された帯域別エネルギに基づいて現在フレーム(損失フレーム)のエネルギを線形予測することによって推定することができる。
【0132】
減衰定数算出部535は、エネルギ予測部530で算出されたエネルギの予測値に基づいてトーナル成分がない又は少ない帯域に対する減衰定数を誘導することができる。
【0133】
即ち、トーナル成分が多い帯域に対し、相関度算出部515で算出された無損失フレームの変換係数間の相関度に基づいて減衰定数算出部520が減衰定数を誘導することができる。また、トーナル成分がないまたは少ない帯域に対しては、エネルギ予測部530で予測された現在フレーム(損失フレーム)のエネルギと以前の正常フレームのエネルギとの間の比に基づいて減衰定数を誘導することができる。例えば、現在フレーム(損失フレーム)がn番目のフレームの場合、n番目のフレームのエネルギとして予測された値とn−1番目のフレームのエネルギとの間の比(n−1番目のフレームのエネルギ/n番目のフレームのエネルギ予測値)をn番目のフレームに適用する減衰定数として誘導することができる。
【0134】
損失フレームの変換係数復元部540では減衰定数算出部520、535で算出された減衰定数(スケーリングファクタ)と現在フレーム以前の正常フレームの変換係数を利用して現在フレーム(損失フレーム)の変換係数を復元することができる。
【0135】
図5のフレーム損失隠匿部で実行する動作を図面を利用してさらに具体的に説明する。
【0136】
図6は、本発明によって復号化器でフレーム損失を隠匿/復元する方法の一例を概略的に説明する流れ図である。
図6では単一フレームが損失した場合に適用するフレーム損失隠匿方法を例を挙げて説明する。
図6の動作は、オーディオ信号復号化器または復号化器内の特定動作部で実行することもできる。例えば、
図5の説明を参照すると、
図6の動作は、
図5のフレーム損失隠匿部で実行することもできる。ただし、ここでは説明の便宜のために、復号化器が
図6の動作を実行すると説明する。
【0137】
図6を参照すると、復号化器は、オーディオ信号を含むフレームを受信する(S600)。復号化器は、フレーム損失があるかどうかを判断する(S605)。
【0138】
受信したフレームが正常フレームであると判断すると、SWB復号化部を介してSWB復号化を実行することができる(S650)。フレーム損失があると判断されると、復号化器は、フレーム損失隠匿を実行する。
【0139】
具体的に、フレーム損失があると判断すると、復号化器は、格納されていた以前の正常フレームに対する変換係数をフレームバックアップバッファから持ってきて(S615)、M個(Mは、整数)の帯域に分割する(S610)。帯域分割に対しては前述した通りである。
【0140】
復号化器は、無損失フレーム(正常フレーム)のトーナル成分有無を判断する(S620)。例えば、現在フレーム(損失フレーム)がn番目のフレームの場合、復号化器は、現在フレームの以前のフレームであるn−1番目のフレーム、n−2番目のフレーム、...、n−N番目のフレームのM個の帯域にグルーピングされた変換係数を利用することで、帯域別にトーナル成分がある程度か判断することができる。このとき、Nは、以前のフレームの変換係数を格納するバッファの個数であり、バッファの個数がNである場合、N個のフレームに対する変換係数を格納することができる。
【0141】
トーナリティは、正常フレーム(n−1番目のフレーム、n−2番目のフレーム、...、n−N番目のフレーム)の帯域別変換係数を利用してログ(log)軸でのスペクトラム類似性に基づいて決定することができる。例えば、変換係数を3個の帯域(M=3)にグルーピングする場合、現在フレーム以前の正常フレームの変換係数が3個の帯域に分類され、帯域毎にトーナリティが異なる。例えば、1番目の帯域はトーナル成分があり、2番目の帯域はトーナル成分がなく、3番目の帯域はトーナル成分があると判断することができる。
【0142】
このように、トーナリティは、帯域別に異なると判断することができ、トーナリティに応じて他の方法を利用して帯域別減衰定数を誘導することができる。
【0143】
例えば、トーナル成分が多いと判断された場合は、無損失フレーム(正常フレーム)の変換係数間の相関度を算出(S625)し、算出された相関度に基づいて減衰定数を算出することができる(S630)。
【0144】
具体的に、復号化器は、フレームバックアップバッファに格納された変換係数(MDCT係数)を帯域分割した信号を利用して無損失フレーム(正常フレーム)の変換係数間の相関度を算出することができる(S625)。相関度の算出は、S620ステップでトーナル成分があると判断された帯域に対してのみ実行することができる。
【0145】
変換係数の相関度を算出するステップ(S625)は、トーナリティ(トーナリティ、tonality)が強い帯域で連続性が大きいハーモニックを測定するものであり、連続した正常フレームで変換係数のサイン波(sinusoid)パルスの位置が大きく変わらないという点を利用する。
【0146】
即ち、連続された正常フレームのサイン波パルスの位置相関度を測定して帯域別に相関度を算出することができる。このとき、相関度を算出するためのサイン波パルスとして大きさが大きい(絶対値が大きい)K個の変換係数を選択することができる。
【0147】
帯域別相関度は、数式5を利用して算出されることができる。
【0149】
ここで、W
mは、m番目の帯域に対する加重値を示す。加重値は、低い周波数帯域であるほど大きい値が割り当てられることができる。したがって、W
1≧W
2≧W
3…の関係が成立することができる。数式5において、W
mは、1より大きい値を有することができる。したがって、数式5は、フレーム別に信号が増加する場合にも適用することができる。
【0150】
数式5において、N
i,n-1は、n−1番目のフレームのi番目のサイン波パルスを示し、N
i,n-2は、n−2番目のフレームのi番目のサイン波パルスを示す。
【0151】
数式5では説明の便宜のために、現在フレーム(損失フレーム)以前の二つの正常フレーム(n−1番目の正常フレーム、n−2番目の正常フレーム)のみを考慮する場合を説明した。
【0152】
図7は、本発明によって相関度を誘導することを概略的に説明する図面である。
【0153】
図7では説明の便宜のために、二つの正常フレーム(n−1番目のフレームとn−2番目のフレーム)で変換係数が3個の帯域にグルーピングされる場合を例に挙げて説明する。
【0154】
図7の例では、帯域1と帯域2がトーナリティ(tonality)が存在する帯域であると仮定する。この場合、数式5により相関度が算出されることができる。
【0155】
数式5を利用すると、帯域1の場合は、n−1番目のフレームとn−2番目のフレームで大きさが大きいパルスの位置が類似するため、大きい値の相関度が算出される。それに対し、帯域2の場合は、n−1番目のフレームとn−2番目のフレームで大きさが大きいパルスの位置が異なるため、小さい値の相関度が算出される。
【0156】
また、
図6を参照すると、復号化器は、算出された相関度に基づいて減衰定数を算出することができる(S630)。相関度の最大値は、1より小さいため、復号化器は、帯域別相関度を減衰定数として誘導することもできる。即ち、復号化器は、帯域別相関度を減衰定数として使用することもできる。
【0157】
S625及びS630ステップで説明したように、本発明によると、トーナリティ(tonality)がある帯域に対して算出されたパルス間の相関度に応じて減衰定数を適応的に算出することができる。
【0158】
一方、トーナリティが少ないまたはない帯域に対し、復号化器は、無損失フレーム(正常フレーム)変換係数のエネルギを計算し(S635)、計算されたエネルギに基づいてn番目のフレーム(現在フレーム、損失フレーム)のエネルギを予測し(S640)、予測された損失フレームのエネルギと正常フレームのエネルギを利用して減衰定数を算出(S645)することができる。
【0159】
具体的に、トーナリティが少ないまたはない帯域に対し、復号化器は、現在フレーム(損失フレーム)以前の正常フレームに対して帯域別にエネルギを算出することができる(S635)。例えば、現在フレームがn番目のフレームの場合、n−1番目のフレーム、n−2番目のフレーム、...、n−N(Nは、バッファの個数)番目のフレームに対して帯域別にエネルギ値を算出することができる。
【0160】
復号化器は、算出された正常フレームのエネルギに基づいて現在フレーム(損失フレーム)のエネルギを予測することができる(S640)。例えば、現在フレームのエネルギは、以前の正常フレームにおいてフレーム当たりエネルギ変化量を考慮して予測されることができる。
【0161】
復号化器は、フレーム間のエネルギの比を利用して減衰定数を算出することができる(S645)。例えば、復号化器は、現在フレーム(n番目のフレーム)の予測されたエネルギと以前のフレーム(n−1番目のフレーム)のエネルギとの間の比を介して減衰定数を算出することができる。現在フレームの予測されたエネルギがE
n,predであり、現在フレームの以前のフレームでのエネルギがE
n-1の場合、現在フレームのトーナリティが少ないまたはない帯域に対する減衰定数は、E
n,pred/E
n-1になりうる。
【0162】
復号化器は、帯域別に算出された減衰定数を利用して現在フレーム(損失フレーム)の変換係数を復元することができる(S660)。復号化器は、現在フレーム以前の正常フレームの変換係数に帯域別に算出された減衰定数をかけて現在フレームの変換係数を復元することができる。このとき、減衰定数は、帯域別に誘導されるため、正常フレームの変換係数で構成される帯域のうち対応する帯域の変換係数にかけられる。
【0163】
例えば、復号化器は、n−1番目のフレームのk番目の帯域内の変換係数にk番目の帯域に対する減衰定数をかけることで、n番目のフレーム(損失された現在フレーム)のk番目の帯域の変換係数を誘導することができる(kとnは、整数)。復号化器は、n−1番目のフレームの各帯域に対して対応する減衰定数をかけることで、全体帯域に対するn番目のフレーム(現在フレーム)の変換係数を復元することができる。
【0164】
復号化器は、復元された変換係数及び復号化された変換係数を逆変換してSWB拡張信号を出力することができる(S665)。復号化器は、変換係数(MDCT係数)を逆変換(IMDCT)することで、SWB拡張信号を出力することができる。復号化器は、SWB拡張信号とWB信号を合成してSWB信号を出力することができる。
【0165】
一方、S660で復元された変換係数、S620で判断されたトーナル成分有無情報、S630とS645で算出された減衰定数のような情報は、フレームバックアップバッファに格納することができる(S655)。格納された変換係数は、以後のフレームが損失した場合に損失したフレームの変換係数を復元するために使うことができる。例えば、復号化器は、連続したフレームが損失した場合は、格納した復元情報(以前のフレームで復元した変換係数、以前のフレームに対するトーナル成分情報、減衰定数等)を利用して連続した損失フレームに対する復元を実行することができる。
【0166】
図8は、本発明によって復号化器でフレーム損失を隠匿/復元する方法の他の例を概略的に説明する流れ図である。
図8では連続したフレームが損失した場合に適用するフレーム損失隠匿方法を例を挙げて説明する。
図8の動作は、オーディオ信号復号化器または復号化器内の特定動作部で実行することもできる。例えば、
図5の説明を参照すると、
図8の動作は、
図5のフレーム損失隠匿部で実行することもできる。ただし、ここでは説明の便宜のために、復号化器が
図8の動作を実行すると説明する。
【0167】
図8を参照すると、復号化器は、現在フレームに対してフレーム損失があるかどうかを判断する(S800)。
【0168】
復号化器は、フレーム損失がある場合、連続したフレームが損失したかどうかを判断する(S810)。復号化器は、現在フレームが損失した場合、以前のフレームも損失したかどうかを判断し、連続したフレームが損失しるかどうかを決定することができる。
【0169】
以前のフレームが正常フレームの場合(単一フレームが損失した場合)、復号化器は、
図6で説明した帯域分割ステップ(S610)とその以後のステップを順序通りに進行することができる。
【0170】
以前のフレームにもフレーム損失があって連続したフレームが損失したと判断されると、復号化器は、フレームバックアップバッファから情報を持ってきて(S820)、M個(Mは、整数)の帯域に分割することができる(S830)。S830で実行する帯域分割も前述した通りである。ただし、以前の正常フレームでの変換係数をM個の帯域に分割した単一フレーム損失の場合と違って、S830では以前の損失フレームで復元された変換係数をM個の帯域に分割する。
【0171】
復号化器は、以前のフレーム(復元フレーム)のトーナル成分有無を判断する(S840)。例えば、現在フレーム(損失フレーム)がn番目のフレームの場合、復号化器は、現在フレームの以前のフレームとして損失フレームであるn−1番目のフレームのM個の帯域にグルーピングされた変換係数を利用することで、帯域別にトーナル成分がある程度か判断することができる。
【0172】
トーナリティは、帯域別変換係数を利用してログ(log)軸でのスペクトラム類似性に基づいて決定することができる。例えば、変換係数を3個の帯域(M=3)にグルーピングする場合、以前のフレームの変換係数が3個の帯域に分類され、帯域毎にトーナリティが異なる。例えば、1番目の帯域はトーナル成分があり、2番目の帯域はトーナル成分がなく、3番目の帯域はトーナル成分があると判断することができる。
【0173】
このように、トーナリティは、帯域別に異なると判断することができ、トーナリティに応じて帯域別減衰定数を誘導することができる。
【0174】
復号化器は、以前のフレームの減衰定数に追加減衰要素を適用することで、現在フレームに適用する減衰定数を誘導することができる(S850)。
【0175】
具体的に、p個のフレームが連続して損失した場合(p回フレーム損失が連続して発生した場合)、1番目のフレーム損失に対する初期減衰定数はλ
1に決定され、2番目のフレーム損失に対する追加減衰定数はλ
2に決定され、q番目のフレーム損失に対する追加減衰定数はλ
qに決定され、p番目のフレーム損失に対する追加減衰定数はλ
pに決定されることができる(pとqは、整数、q<p)。この場合、損失したフレームのうち、q番目のフレームに適用される減衰定数は、これらの初期減衰定数及び/または追加減衰定数の積から誘導することができる。
【0176】
このとき、トーナリティが強い帯域に対しては大きい追加減衰を適用し、トーナリティが弱い帯域に対しては小さい追加減衰を適用することができる。したがって、帯域のトーナリティが大きい場合は、追加減衰を多くし、帯域のトーナリティが小さい場合は、追加減衰を少なくすることができる。
【0177】
例えば、r(rは、整数)番目のフレーム損失に対し、トーナリティが強い帯域の追加減衰定数λ
r,strong tonalityは、数式6のように、トーナリティが弱い帯域の追加減衰定数λ
r,weak tonalityより大きいまたは同じ値を有するようになる。
【0179】
一例として、3個のフレームが連続して損失した場合を仮定する。このとき、トーナリティが強い帯域の場合、1番目のフレーム損失に対する初期減衰定数を1に設定し、2番目のフレーム損失に対しては追加減衰定数を0.9に設定し、3番目のフレーム損失に対しては追加減衰定数を0.7に設定することができる。トーナリティが弱い帯域の場合、1番目のフレーム損失に対して減衰定数を1に設定し、2番目のフレーム損失に対しては追加減衰定数を0.95に設定し、3番目のフレーム損失に対しては追加減衰定数を0.85に設定することができる。
【0180】
追加減衰定数は、トーナリティが強い帯域かまたはトーナリティが弱い帯域かに応じて異なるように設定することができるが、1番目のフレーム損失に対する初期減衰定数は、トーナリティが強い帯域かまたはトーナリティが弱い帯域かに応じて異なるように設定することもでき、帯域のトーナリティに関係なく設定することもできる。
【0181】
復号化器は、誘導した減衰定数を以前のフレームの帯域に適用し(S860)、現在フレームの変換係数を復元することができる。
【0182】
復号化器は、帯域別に誘導した減衰定数を以前のフレーム(復元されたフレーム)の対応する帯域に適用することができる。例えば、現在フレームがn番目のフレーム(損失フレーム)であり、n−1番目のフレームが復元フレームである場合、復号化器は、復元フレーム(n−1番目のフレーム)のk番目の帯域を構成する変換係数にk番目の帯域に対する減衰定数をかけて現在フレーム(n番目のフレーム)のk番目の帯域を構成する変換係数を得ることができる。復号化器は、n−1番目のフレームの各帯域に対して対応する減衰定数をかけて全体帯域に対するn番目のフレーム(現在フレーム)の変換係数を復元することができる。
【0183】
復号化器は、復元された変換係数を逆変換することができる(S880)。復号化器は、復元された変換係数(MDCT係数)を逆変換(IMDCT)してSWB拡張信号を生成することができ、WB信号と合成してSWB信号を出力することができる。
【0184】
一方、
図8では初期減衰定数と追加減衰定数をトーナリティに応じて設定すると説明したが、本発明はこれに限定されるものではない。
【0185】
例えば、トーナリティに応じて初期減衰定数と追加減衰定数のうち少なくとも一つを誘導することもできる。具体的に、復号化器は、トーナリティが強い帯域に対してフレームバックアップバッファに格納された正常フレーム及び復元フレームの変換係数との相関度に基づき、S625及びS630で説明したように減衰定数を算出することができる。この場合、h個(hは、整数)のフレームが連続して損失され、現在フレームが損失されたフレームのうちh番目のフレームであると仮定すると、復元フレームのうち1番目のフレームに対する減衰定数としてフレームバックアップバッファに格納された減衰定数が初期減衰定数となり、2番目の復元フレームから現在フレームまでの減衰定数は追加減衰定数となる。したがって、現在フレームに対するトーナリティが強い帯域の減衰定数は、数式7のように、以前のh−1個の連続された復元フレームに対する減衰定数と現在フレームに対して誘導された減衰定数との積から誘導されることができる。
【0187】
数式7において、λ
ts,currentは、現在フレームの変換係数を誘導するために以前の復元フレームに適用される減衰定数であり、λ
ts1は、h個の連続されたフレーム損失に対して1番目のフレーム損失に対する減衰定数であり、λ
ts2は、2番目のフレーム損失に対する減衰定数であり、λ
tshは、現在フレームに対して以前のフレームとの相関度に基づいて誘導された減衰定数である。減衰定数は、トーナリティが強い帯域に対して帯域別に誘導っすることができる。
【0188】
また、復号化器は、トーナリティが弱い帯域に対してフレームバックアップバッファに格納された正常フレーム及び復元フレームの変換係数のエネルギに基づき、S635ないしS645で説明したように減衰定数を算出することができる。この場合、h個(hは、整数)のフレームが連続して損失され、現在フレームが損失されたフレームのうちh番目のフレームであると仮定すると、復元フレームのうち1番目のフレームに対する減衰定数としてフレームバックアップバッファに格納された減衰定数が初期減衰定数となり、2番目の復元フレームから現在フレームまでの減衰定数は追加減衰定数となる。したがって、現在フレームに対するトーナリティが弱い帯域の減衰定数は、数式8のように、以前のh−1個の連続された復元フレームに対する減衰定数と現在フレームに対して誘導された減衰定数との積から誘導することができる。
【0190】
数式8において、λ
tw,currentは、現在フレームの変換係数を誘導するために以前の復元フレームに適用される減衰定数であり、λ
tw1は、h個の連続されたフレーム損失に対して1番目のフレーム損失に対する減衰定数であり、λ
tw2は、2番目のフレーム損失に対する減衰定数であり、λ
twhは、現在フレームに対して以前のフレームとの相関度に基づいて誘導された減衰定数である。減衰定数は、トーナリティが弱い帯域に対して帯域別に誘導することができる。
【0191】
図9は、本発明によるフレーム損失復元(隠匿)方法の一例を概略的に説明する流れ図である。
図9の動作は、復号化器で実行することもでき、復号化器内のフレーム損失隠匿部で実行することもできる。ここでは説明の便宜のために、復号化器で
図9の動作を実行すると説明する。
【0192】
図9を参照すると、復号化器は、現在フレームの以前のフレームのうち少なくとも一つのフレームの変換係数を所定個数の帯域にグルーピングする(S910)。このとき、現在フレームは、損失フレームであり、現在フレームの以前のフレームは、フレームバックアップバッファに格納された正常フレームまたは復元フレームである。
【0193】
復号化器は、グルーピングされた帯域のトーナリティに応じて減衰定数を誘導することができる(S920)。このとき、減衰定数は、現在フレーム以前のN個(Nは、整数)の正常フレームの変換係数に基づいて誘導することができ、Nは、以前のフレームの情報を格納するバッファの個数である。
【0194】
また、変換係数のトーナリティが強い帯域で減衰定数は、以前の正常フレームの変換係数間の相関度に基づいて誘導することができ、変換係数のトーナリティが弱い帯域で減衰定数は、以前の正常フレームに対するエネルギに基づいて誘導することができる。
【0195】
また、減衰定数は、現在フレーム以前のN個(Nは、整数)の正常フレーム及び復元フレームの変換係数に基づいて誘導することもでき、Nは、以前のフレームの情報を格納するバッファの個数である。
【0196】
また、変換係数のトーナリティが強い帯域で減衰定数は、以前の正常フレーム及び復元フレームの変換係数間の相関度に基づいて誘導することもでき、変換係数のトーナリティが弱い帯域で減衰定数は、以前の正常フレーム及び復元フレームに対するエネルギに基づいて誘導することもできる。
【0197】
減衰定数に対する具体的な内容は、以上で詳細に説明した通りである。
【0198】
復号化器は、現在フレームの以前のフレームに減衰定数を適用することで、現在フレームの変換係数を復元することができる(S930)。現在フレームの変換係数は、前記以前のフレームの各帯域別変換係数に帯域別に誘導された減衰定数をかけた値に復元されることができる。現在フレームの以前のフレームが復元フレームである場合、即ち、連続されたフレームが損失された場合、現在フレームの変換係数は、以前のフレームの減衰定数に現在フレームの減衰定数を追加適用して復元することもできる。
【0199】
減衰定数を適用することで現在フレーム(損失フレーム)の変換係数を復元する方法の具体的な内容は、前述した通りである。
【0200】
図10は、本発明によるオーディオ復号化方法の一例を概略的に説明する流れ図である。
図10の動作は、復号化器で実行することができる。
【0201】
図10を参照すると、復号化器は、現在フレームの損失可否を判断することができる(S1010)。
【0202】
現在フレームが損失した場合、復号化器は、現在フレームの以前のフレームの変換係数に基づいて前記現在フレームの変換係数を復元することができる(S1020)。このとき、復号化器は、以前のフレームのうち少なくとも一つのフレームの変換係数の帯域別トーナリティに基づいて現在フレームの変換係数を復元することができる。
【0203】
変換係数の復元は、現在フレームの以前のフレームのうち少なくとも一つのフレームの変換係数を所定個数の帯域にグルーピングし、グルーピングされた帯域のトーナリティに応じて減衰定数を誘導し、現在フレームの以前のフレームに減衰定数を適用することによって実行することができる。このとき、現在フレームの以前のフレームが復元フレームの場合、前記現在フレームの変換係数は、前記以前のフレームの減衰定数に前記現在フレームの減衰定数を追加適用して復元することができ、トーナル成分が強い帯域に対して追加適用される減衰定数は、トーナル成分が弱い帯域に対して追加適用される減衰定数より小さいまたは同じである。
【0204】
帯域のグルーピング、減衰定数の誘導、減衰定数の適用に対しては、
図9及び本明細書の前部で詳細に説明した通りである。
【0205】
復号化器は、復元された変換係数を逆変換することができる(S1030)。復号化器は、復元された変換係数(MDCT係数)がSWBに対するものの場合、逆変換(IMDCT)を介してSWB拡張信号を生成することができ、WB信号と合成してSWB信号を出力することができる。
【0206】
一方、以上では、本明細書において、(a)トーナル成分がある及びトーナル成分がない、(b)トーナル成分が多い及びトーナル成分がないまたは少ない、(c)トーナリティ(tonality)がある及びトーナリティが(少ないまたは)ないと三つに表現することによってトーナリティに対する判断基準を示したが、この三つの表現は、説明の便宜のためのものであって、同じ基準を示し、互いに異なる判断基準ではないことに留意する。
【0207】
即ち、本明細書において、トーナル成分がある、トーナル成分が多い、トーナリティがあるという三つの表現は、所定の基準値より多いトーナル成分が存在するという意味であり、トーナル成分がない、トーナル成分がないまたは少ない、トーナリティが(少ないまたは)ないという三つの表現は、トーナル成分が所定の基準値より少ないということを意味する。
【0208】
前述した例示において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生することができる。また、前述した実施例は、多様な態様の例示を含む。例えば、前述した実施形態を互いに組合せて実施することもでき、これも本発明による実施形態に属する。本発明は、特許請求の範囲内に属する本発明の技術的思想による多様な修正及び変更を含む。