本発明は、多様な変換を加えることができ、さまざまな実施形態を有することができるが、特定実施形態を図面に例示し、詳細な説明で具体的に説明する。しかし、それは、本発明を特定の実施形態に対して限定するものではなく、本発明の技術的思想及び技術範囲に含まれる全ての変換、均等物ないし代替物を含むものであると理解されるのである。本発明の説明において、関連公知技術に係わる具体的な説明が、本発明の要旨を不明確にすると判断される場合、その詳細な説明を省略する。
第1、第2のような用語は、多様な構成要素についての説明に使用されるが、構成要素は、用語によって限定されるものではない。用語は、1つの構成要素を他の構成要素から区別する目的のみに使用される。
本発明で使用された用語は、ただ特定の実施形態について説明するために使用されたものであり、本発明を限定する意図ではない。本発明で使用された用語は、本発明での機能を考慮しながら、可能な限り現在汎用される一般的な用語を選択したが、それは当分野の当業者の意図、判例、または新たな技術の出現などによって異なることがある。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分で詳細にその意味を記載する。従って、本発明で使用される用語は、単純な用語の名称ではない、その用語が有する意味及び本発明の全般にわたった内容を基に定義されなければならない。
単数の表現は、文脈上明白に取り立てて意味しない限り、複数の表現を含む。本発明において、「含む」または「有する」というような用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品、またはそれらの組み合わせが存在するということを指定するものであり、一つ、またはそれ以上の他の特徴、数字、段階、動作、構成要素、部品、またはそれらの組み合わせの存在または付加の可能性をあらかじめ排除するものではないと理解されなければならない。
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
図1A及び図1Bは、本発明が適用されるオーディオ符号化装置及びオーディオ復号化装置の一例による構成をそれぞれ示したブロック図である。
図1Aに図示されたオーディオ符号化装置110は、前処理部112、周波数ドメイン符号化部114及びパラメータ符号化部116を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図1Aにおいて、前処理部112は、入力信号に対してフィルタリングあるいはダウンサンプリングなどを行うことができるが、それらに限定されるものではない。入力信号は、音声信号、音楽信号、あるいは音声と音楽とが混合した信号を含んでもよい。以下では、説明の便宜のために、オーディオ信号と称する。
周波数ドメイン符号化部114は、前処理部112から提供されるオーディオ信号に対して、時間・周波数変換を行い、オーディオ信号のチャネル数、符号化帯域及びビット率に対応して符号化ツールを選択し、選択された符号化ツールを利用して、オーディオ信号に対する符号化を行うことができる。時間・周波数変換は、MDCT(modified discrete cosine transform)、MLT(modulated lapped transform)あるいはFFT(fast Fourier transform)を使用するが、それらに限定されるものではない。ここで、与えられたビット数が十分である場合、全体帯域に対して一般的な変換符号化方式を適用し、与えられたビット数が十分ではない場合、一部帯域については、帯域拡張方式を適用することができる。一方、オーディオ信号が、ステレオあるいはマルチチャネルである場合、与えられたビット数が十分であるならば、各チャネル別に符号化し、十分ではなければ、ダウンミキシング方式を適用することができる。周波数ドメイン符号化部114からは、符号化されたスペクトル係数が生成される。
パラメータ符号化部116は、周波数ドメイン符号化部114から提供される符号化されたスペクトル係数からパラメータを抽出し、抽出されたパラメータを符号化することができる。パラメータは、例えば、サブバンド別に抽出され、各サブバンドは、スペクトル係数をグルーピングした単位であり、臨界帯域を反映させ、均一長あるいは非均一長を有することができる。非均一長を有する場合、低周波数帯域に存在するサブバンドの場合、高周波数帯域と比較し、相対的に短い長さを有する。1フレームに含まれるサブバンドの個数及び長さは、コーデックアルゴリズムによって異なり、符号化性能に影響を及ぼす。一方、パラメータは、サブバンドのスケールファクタ、パワー、平均エネルギーあるいはnormを例として挙げることができるが、それらに限定されるものではない。符号化の結果として得られるスペクトル係数とパラメータは、ビットストリームを形成し、記録媒体に保存されるか、あるいはチャネルを介して、例えば、パッケージ形態で伝送される。
図1Bに図示されたオーディオ復号化装置130は、パラメータ復号化部132、周波数ドメイン復号化部134及び後処理部136を含んでもよい。ここで、周波数ドメイン復号化部134は、フレームエラー隠匿(FEC)アルゴリズムを含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され,少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図1Bにおいて、パラメータ復号化部132は、受信されたビットストリームからパラメータを復号化し、復号化されたパラメータから、フレーム単位でエラーが発生したか否かということをチェックすることができる。エラーチェックは、公知の多様な方法を使用することができ、現在フレームが正常フレームであるか、あるいはエラーフレームであるかということに係わる情報を周波数ドメイン復号化部134に提供する。
周波数ドメイン復号化部134は、現在フレームが正常フレームである場合、一般的な変換復号化過程を介して復号化を行い、合成されたスペクトル係数を生成することができる。一方、周波数ドメイン復号化部134は、現在フレームがエラーフレームである場合、エラー隠匿アルゴリズムを介して、以前正常フレームのスペクトル係数をスケーリングし、合成されたスペクトル係数を生成することができる。周波数ドメイン復号化部134は、合成されたスペクトル係数に対して周波数・時間変換を行い、時間ドメイン信号を生成することができる。
後処理部136は、周波数ドメイン復号化部134から提供される時間ドメイン信号に対して、音質向上のためのフィルタリングあるいはアップサンプリングなどを行うことができるが、それらに限定されるものではない。後処理部136は、出力信号として復元されたオーディオ信号を提供する。
図2A及び図2Bは、本発明が適用されるオーディオ符号化装置及びオーディオ復号化装置の他の例による構成をそれぞれ示したブロック図であり、スイッチング構造を有する。
図2Aに図示されたオーディオ符号化装置210は、前処理部212、モード決定部213、周波数ドメイン符号化部214、時間ドメイン符号化部215及びパラメータ符号化部216を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図2Aにおいて、前処理部212は、図1Aの前処理部112と実質的に同一であるので、説明を省略する。
モード決定部213は、入力信号の特性を参照して符号化モードを決定することができる。入力信号の特性によって、現在フレームに適する符号化モードが、音声モードであるか、あるいは音楽モードであるかということを決定することができ、また現在フレームに効率的な符号化モードが、時間ドメインモードであるか、あるいは周波数ドメインモードであるかということを決定することができる。ここで、フレームの短区間特性、あるいは複数のフレームに係わる長区間特性などを利用して、入力信号の特性を把握することができるが、それらに限定されるものではない。例えば、入力信号が音声信号に該当するならば、音声モードあるいは時間ドメインモードで決定し、入力信号が音声信号以外の信号、すなわち、音楽信号あるいは混合信号に該当するならば、音楽モードあるいは周波数ドメインモードに決定することができる。モード決定部213は、入力信号の特性が音楽モードあるいは周波数ドメインモードに該当する場合には、前処理部212の出力信号を周波数ドメイン符号化部214に、入力信号の特性が音声モードあるいは時間ドメインモードでもって、時間ドメイン符号化部215に提供することができる。
周波数ドメイン符号化部214は、図1Aの周波数ドメイン符号化部114と実質的に同一であるので、説明を省略する。
時間ドメイン符号化部215は、前処理部212から提供されるオーディオ信号に対して、CELP(code excited linear prediction)符号化を行うことができる。具体的には、ACELP(algebraic code excited linear prediction)を使用することができるが、それに限定されるものではない。時間ドメイン符号化215からは、符号化されたスペクトル係数が生成される。
パラメータ符号化部216は、周波数ドメイン符号化部214あるいは時間ドメイン符号化部215から提供される符号化されたスペクトル係数からパラメータを抽出し、抽出されたパラメータを符号化する。パラメータ符号化部216は、図1Aのパラメータ符号化部116と実質的に同一であるので、説明を省略する。符号化の結果として得られるスペクトル係数とパラメータは、符号化モード情報と共にビットストリームを形成し、チャネルを介して、パッケージ形態で伝送されるか、あるいは記録媒体に保存される。
図2Bに図示されたオーディオ復号化装置230は、パラメータ復号化部232、モード決定部233、周波数ドメイン復号化部234、時間ドメイン復号化部235及び後処理部236を含んでもよい。ここで、周波数ドメイン復号化部234と時間ドメイン復号化部235は、それぞれ当該ドメインでのフレームエラー隠匿アルゴリズムを含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図2Bにおいて、パラメータ復号化部232は、パッケージ形態で伝送されるビットストリームからパラメータを復号化し、復号化されたパラメータから、フレーム単位で、エラーが発生したか否かということをチェックすることができる。エラーチェックは、公知の多様な方法を使用することができ、現在フレームが正常フレームであるかエラーフレームであるかということに係わる情報を、周波数ドメイン復号化部234あるいは時間ドメイン復号化部235に提供する。
モード決定部233は、ビットストリームに含まれた符号化モード情報をチェックし、現在フレームを、周波数ドメイン復号化部234あるいは時間ドメイン復号化部235に提供する。
周波数ドメイン復号化部234は、符号化モードが音楽モードあるいは周波数ドメインモードである場合に動作し、現在フレームが正常フレームである場合、一般的な変換復号化過程を介して復号化を行い、合成されたスペクトル係数を生成する。一方、現在フレームがエラーフレームであり、以前フレームの符号化モードが、音楽モードあるいは周波数ドメインモードである場合、周波数ドメインでのフレームエラー隠匿アルゴリズムを介して、以前正常フレームのスペクトル係数をスケーリングして合成されたスペクトル係数を生成することができる。周波数ドメイン復号化部234は、合成されたスペクトル係数に対して周波数・時間変換を行い、時間ドメイン信号を生成することができる。
時間ドメイン復号化部235は、符号化モードが音声モードあるいは時間ドメインモードである場合に動作し、現在フレームが正常フレームである場合、一般的なCELP復号化過程を介して復号化を行い、時間ドメイン信号を生成する。一方、現在フレームがエラーフレームであり、以前フレームの符号化モードが、音声モードあるいは時間ドメインモードである場合、時間ドメインでのフレームエラー隠匿アルゴリズムを遂行することができる。
後処理部236は、周波数ドメイン復号化部234あるいは時間ドメイン復号化部235から提供される時間ドメイン信号に対して、フィルタリングあるいはアップサンプリングなどを行うことができるが、それらに限定されるものではない。後処理部236は、出力信号として、復元されたオーディオ信号を提供する。
図3A及び図3Bは、本発明が適用されるオーディオ符号化装置及びオーディオ復号化装置の他の例による構成をそれぞれ示したブロック図であり、スイッチング構造を有する。
図3Aに図示されたオーディオ符号化装置310は、前処理部312、LP(linear prediction)分析部313、モード決定部314、周波数ドメイン励起符号化部315、時間ドメイン励起符号化部316及びパラメータ符号化部317を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図3Aにおいて、前処理部312は、図1Aの前処理部112と実質的に同一であるので、説明を省略する。
LP分析部313は、入力信号に対してLP分析を行ってLP係数を抽出し、抽出されたLP係数から励起信号を生成する。励起信号は、符号化モードによって、周波数ドメイン励起符号化部315と、時間ドメイン励起符号化部316とのうち一つに提供される。
モード決定部314は、図2Bのモード決定部213と実質的に同一であるので、説明を省略する。
周波数ドメイン励起符号化部315は、符号化モードが、音楽モードあるいは周波数ドメインモードである場合に動作し、入力信号が励起信号であることを除いては、図1Aの周波数ドメイン符号化部114と実質的に同一であるので、説明を省略する。
時間ドメイン励起符号化部316は、符号化モードが、音声モードあるいは時間ドメインモードである場合に動作し、入力信号が励起信号であることを除いては、図2Aの時間ドメイン符号化部215と実質的に同一であるので、説明を省略する。
パラメータ符号化部317は、周波数ドメイン励起符号化部315あるいは時間ドメイン励起符号化部316から提供される符号化されたスペクトル係数から、パラメータを抽出し、抽出されたパラメータを符号化する。パラメータ符号化部317は、図1Aのパラメータ符号化部116と実質的に同一であるので、説明を省略する。符号化の結果として得られるスペクトル係数とパラメータは、符号化モード情報と共にビットストリームを形成し、チャネルを介して、パッケージ形態で伝送されるか、あるいは記録媒体に保存される。
図3Bに図示されたオーディオ復号化装置330は、パラメータ復号化部332、モード決定部333、周波数ドメイン励起復号化部334、時間ドメイン励起復号化部335、LP合成部336及び後処理部337を含んでもよい。ここで、周波数ドメイン励起復号化部334と、時間ドメイン励起復号化部335は、それぞれ当該ドメインでのフレームエラー隠匿アルゴリズムを含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図3Bにおいて、パラメータ復号化部332は、パッケージ形態で伝送されるビットストリームからパラメータを復号化し、復号化されたパラメータから、フレーム単位で、エラーが発生したか否かということをチェックすることができる。エラーチェックは、公知の多様な方法を使用することができ、現在フレームが正常フレームであるか、あるいはエラーフレームであるかということに係わる情報を、周波数ドメイン励起復号化部334あるいは時間ドメイン励起復号化部335に提供する。
モード決定部333は、ビットストリームに含まれた符号化モード情報をチェックし、現在フレームを、周波数ドメイン励起復号化部334あるいは時間ドメイン励起復号化部335に提供する。
周波数ドメイン励起復号化部334は、符号化モードが、音楽モードあるいは周波数ドメインモードである場合に動作し、現在フレームが正常フレームである場合、一般的な変換復号化過程を介して復号化を行い、合成されたスペクトル係数を生成する。一方、現在フレームがエラーフレームであり、以前フレームの符号化モードが、音楽モードあるいは周波数ドメインモードである場合、周波数ドメインでのフレームエラー隠匿アルゴリズムを介して、以前正常フレームのスペクトル係数をスケーリングし、合成されたスペクトル係数を生成することができる。周波数ドメイン励起復号化部334は、合成されたスペクトル係数に対して、周波数・時間変換を行い、時間ドメイン信号である励起信号を生成することができる。
時間ドメイン励起復号化部335は、符号化モードが、音声モードあるいは時間ドメインモードである場合に動作し、現在フレームが正常フレームである場合、一般的なCELP復号化過程を介して復号化を行い、時間ドメイン信号である励起信号を生成する。一方、現在フレームがエラーフレームであり、以前フレームの符号化モードが、音声モードあるいは時間ドメインモードである場合、時間ドメインでのフレームエラー隠匿アルゴリズムを遂行することができる。
LP合成部336は、周波数ドメイン励起復号化部334あるいは時間ドメイン励起復号化部335から提供される励起信号に対して、LP合成を行い、時間ドメイン信号を生成する。
後処理部337は、LP合成部336から提供される時間ドメイン信号に対して、フィルタリングあるいはアップサンプリングなどを行うことができるが、それらに限定されるものではない。後処理部337は、出力信号として、復元されたオーディオ信号を提供する。
図4A及び図4Bは、本発明が適用されるオーディオ符号化装置及びオーディオ復号化装置の他の例による構成をそれぞれ示したブロック図であり、スイッチング構造を有する。
図4Aに図示されたオーディオ符号化装置410は、前処理部412、モード決定部413、周波数ドメイン符号化部414、LP分析部415、周波数ドメイン励起符号化部416、時間ドメイン励起符号化部417及びパラメータ符号化部418を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。図4Aに図示されたオーディオ符号化装置410は、図2Aのオーディオ符号化装置210と、図3Aのオーディオ符号化装置310toを結合したものであると見られるので、共通する部分の動作説明は省略する一方、モード決定部413の動作について説明する。
モード決定部413は、入力信号の特性及びビット率を参照し、入力信号の符号化モードを決定することができる。モード決定部413は、入力信号の特性によって、現在フレームが音声モードであるかまたは音楽モードであるかということにより、また現在フレームに効率的な符号化モードが、時間ドメインモードであるか、あるいは周波数ドメインモードであるかということによって、CELPモードと、それ以外のモードとに決定することができる。もし入力信号の特性が音声モードである場合には、CELPモードに決定し、音楽モードでありながら、高ビット率である場合、FDモードに決定し、音楽モードでありながら、低ビット率である場合、オーディオモードに決定することができる。モード決定部413は、FDモードである場合、入力信号を周波数ドメイン符号化部414に、オーディオモードである場合、LP分析部415を介して周波数ドメイン励起符号化部416に、CELPモードである場合、LP分析部415を介して、時間ドメイン励起符号化部417に提供することができる。
周波数ドメイン符号化部414は、図1Aのオーディオ符号化装置110の周波数ドメイン符号化部114、あるいは図2Aのオーディオ符号化装置210の周波数ドメイン符号化部214に、周波数ドメイン励起符号化部416あるいは時間ドメイン励起符号化部417は、図3Aのオーディオ符号化装置310の周波数ドメイン励起符号化部315あるいは時間ドメイン励起符号化部316に対応する。
図4Bに図示されたオーディオ復号化装置430は、パラメータ復号化部432、モード決定部433、周波数ドメイン復号化部434、周波数ドメイン励起復号化部435、時間ドメイン励起復号化部436、LP合成部437及び後処理部438を含んでもよい。ここで、周波数ドメイン復号化部434、周波数ドメイン励起復号化部435及び時間ドメイン励起復号化部436は、それぞれ当該ドメインでのフレームエラー隠匿アルゴリズムを含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。図4Bに図示されたオーディオ復号化装置430は、図2Bのオーディオ復号化装置230と、図3Bのオーディオ復号化装置330とを結合したものと見られるので、共通する部分の動作説明は省略する一方、モード決定部433の動作について説明する。
モード決定部433は、ビットストリームに含まれた符号化モード情報をチェックし、現在フレームを、周波数ドメイン復号化部434、周波数ドメイン励起復号化部435あるいは時間ドメイン励起復号化部436に提供する。
周波数ドメイン復号化部434は、図1Bのオーディオ符号化装置130の周波数ドメイン復号化部134、あるいは図2Bのオーディオ復号化装置230の周波数ドメイン復号化部234に、周波数ドメイン励起復号化部435あるいは時間ドメイン励起復号化部436は、図3Bのオーディオ復号化装置330の周波数ドメイン励起復号化部334あるいは時間ドメイン励起復号化部335に対応する。
図5は、本発明の一実施形態による周波数ドメインオーディオ符号化装置の構成を示したブロック図である。
図5に図示された周波数ドメインオーディオ符号化装置510は、トランジェント検出部511、変換部512、信号分類部513、Norm符号化部514、スペクトル正規化部515、ビット割当て部516、スペクトル符号化部517及び多重化部518を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。ここで、周波数ドメインオーディオ符号化装置510は、図2に図示された周波数ドメイン符号化部214の全ての機能と、パラメータ符号化部216の一部機能とを遂行することができる。一方、周波数ドメインオーディオ符号化装置510は、信号分類部513を除いては、ITU−T G.719標準に開示されたエンコーダの構成で代替され、そのとき、変換部512は、50%のオーバーラップ区間を有する変換ウィンドウを使用することができる。また、周波数ドメインオーディオ符号化装置510は、トランジェント検出部511と、信号分類部513とを除いては、ITU−T G.719標準に開示されたエンコーダの構成で代替される。各場合において、図示されていないが、ITU−T G.719標準と共に、スペクトル符号化部517の後端に、ノイズレベル推定部をさらに具備し、ビット割り当て過程で、ゼロビットが割り当てられたスペクトル係数のためのノイズレベルを推定し、ビットストリームに含めることができる。
図5を参照すれば、トランジェント検出部511は、入力信号を分析し、トランジェント特性を示す区間を検出し、検出結果に対応し、各フレームに係わるトランジェントシグナリング情報を生成することができる。そのとき、トランジェント区間の検出には、公知の多様な方法を使用することができる。一実施形態によれば、トランジェント検出部511は、変換部512から50%未満のオーバーラップ区間を有するウィンドウを使用する場合、まず、現在フレームがトランジェントフレームであるか否かということを一次的に判断し、トランジェントフレームであると判断された現在フレームに対して、二次的に検証を行うことができる。トランジェントシグナリング情報は、多重化部518を介して、ビットストリームに含まれる一方、変換部512に提供される。
変換部512は、トランジェント区間の検出結果によって、変換に使用されるウィンドウサイズを決定し、決定されたウィンドウサイズに基づいて、時間・周波数変換を行うことができる。一例として、トランジェント区間が検出されたサブバンドの場合、短区間ウィンドウ(short window)を、検出されていないサブバンドの場合、長区間ウィンドウ(long window)を適用することができる。他の例として、トランジェント区間を含むフレームに対して、短区間ウィンドウを適用することができる。
信号分類部513は、変換部512から提供されるスペクトルを、フレーム単位で分析し、各フレームが、ハモニックフレームに該当するか否かということを判断することができる。そのとき、ハモニックフレームの判断には、公知の多様な方法を使用することができる。一実施形態によれば、信号分類部513は、変換部512から提供されるスペクトルを、複数のサブバンドに分け、各サブバンドに対して、エネルギーのピーク値と平均値とを求めることができる。次に、各フレームに対して、エネルギーのピーク値が平均値より所定比率以上大きいサブバンドの数を求め、求められたサブバンドの数が所定値以上であるフレームを、ハモニックフレームとして決定することができる。ここで、所定比率及び所定値は、実験あるいはシミュレーションを介して前もって決定される。ハモニックシグナリング情報は、多重化部518を介して、ビットストリームに含まれる。
Norm符号化部514は、各サブバンド単位で、平均スペクトルエネルギーに該当するNorm値を求め、量子化及び無損失符号化を行うことができる。ここで、各サブバンドのNorm値は、スペクトル正規化部515及びビット割当て部516に提供される一方、多重化部518を介して、ビットストリームに含まれる。
スペクトル正規化部515は、各サブバンド単位で求められたNorm値を利用して、スペクトルを正規化することができる。
ビット割当て部516は、各サブバンド単位で求められたNorm値を利用して、整数単位あるいは小数点単位で、ビット割り当てを行うことができる。また、ビット割当て部516は、各サブバンド単位で求められたNorm値を利用して、マスキング臨界値を計算し、マスキング臨界値を利用して、知覚的に必要なビット数、すなわち、許容ビット数を推定することができる。次に、ビット割当て部516は、各サブバンドに対して割り当てビット数が許容ビット数を超えないように制限することができる。一方、ビット割当て部516は、Norm値が大きいサブバンドから、順次にビットを割り当て、各サブバンドのNorm値に対して、各サブバンドの知覚的重要度によって、加重値を付与することによって知、覚的に重要なサブバンドに、さらに多くのビットが割り当てられるように調整することができる。そのとき、Norm符号化部514からビット割当て部516に提供される量子化されたNorm値は、ITU−T G.719でと同様に、心理音響加重(psycho-acoustical weighting)及びマスキング効果を考慮するために、あらかじめ調整された後でビット割り当てに使用される。
スペクトル符号化部517は、正規化されたスペクトルに対して、各サブバンドの割り当てビット数を利用して量子化を行い、量子化された結果に対して、無損失符号化することができる。一例として、スペクトル符号化に、ファクトリアル・パルス・コーディング(factorial pulse coding)を使用することができるが、それに限定されるものではない。ファクトリアル・パルス・コーディングによれば、割り当てビット数の範囲内で、パルスの位置、パルスの大きさ及びパルスの符号のような情報が、ファクトリアル形式で表現される。スペクトル符号化部517で符号化されたスペクトルに係わる情報は、多重化部518を介して、ビットストリームに含まれる。
図6は、50%未満のオーバーラップ区間を有するウィンドウを使用する場合、ハングオーバー(hangover)フラグが必要な区間について説明する図面である。
図6を参照すれば、現在フレーム(n+1)において、トランジェントが検出された区間が、オーバーラップが遂行されない区間610に該当する場合には、次のフレームnに対して、トランジェントフレームのためのウィンドウ、例えば、短区間ウィンドウを使用する必要がない。一方、現在フレーム(n+1)において、トランジェントが検出された区間が、オーバーラップが行われる区間630に該当する場合には、次のフレームnに対して、トランジェントフレームのためのウィンドウを使用することによって、信号の特性を考慮した復元音質向上を図ることができる。そのように、50%未満のオーバーラップ区間を有するウィンドウを使用する場合には、フレーム内でトランジェントが検出される位置によって、ハングオーバーフラグの生成いかんを決定することができる。
図7は、図5に図示されたトランジェント検出部511の一例による構成を示したブロック図である。
図7に図示されたトランジェント検出部710は、フィルタリング部712、短区間エネルギー算出部713、長区間エネルギー算出部714、第1トランジェント判断部715、第2トランジェント判断部716及びシグナリング情報生成部717を含んでもよい。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。ここで、トランジェント検出部710は、短区間エネルギー算出部713、第2トランジェント判断部716及びシグナリング情報生成部717を除いては、ITU−T G.719標準に開示された構成で代替される。
図7を参照すれば、フィルタリング部712は、例えば、48KHzにサンプリングされた入力信号に対して、高域通過フィルタリングを行うことができる。
短区間エネルギー算出部713は、フィルタリング部712でフィルタリングされた信号を受信し、各フレームに対して、例えば、4個のサブフレーム、すなわち、4個のブロックに分け、各ブロックの短区間エネルギーを算出することができる。また、短区間エネルギー算出部713は、入力信号に対しても、フレーム単位で、各ブロックの短区間エネルギーを算出し、第2トランジェント判断部716に提供することができる。
長区間エネルギー算出部714は、フレーム単位で、各ブロックに対して長、区間エネルギーを算出することができる。
第1トランジェント判断部715は、各ブロックに対して、短区間エネルギーと長区間エネルギーとを比較し、短区間エネルギーが長区間エネルギーに比べ、所定比率以上大きいブロックが存在する現在フレームを、トランジェントフレームであると判断することができる。
第2トランジェント判断部716は、さらなる検証過程を遂行し、第1トランジェント判断部715において、トランジェントフレームであると判断された現在フレームに対して、再びトランジェントフレームであるか否かということを判断することができる。それは、フィルタリング部712での高域通過フィルタリングによって、低周波数帯域のエネルギーが除去されることによって発生しうるトランジェント判断エラーを防止するためである。
第2トランジェント判断部716の動作を、図8に図示されたように、1つのフレームが4個のブロック、すなわち、サブフレームから構成され、各ブロックに対して、0、1、2、3が割り当てられ、フレームnの2番目のブロック1で、トランジェントが検出された場合を例として挙げて説明する。
まず具体的には、フレームnの2番目のブロック1以前に存在する第1複数個のブロックL 810に係わる短区間エネルギーの第1平均;及び2番目のブロック1と、それ以後に存在する第2複数個のブロックH 830とに係わる短区間エネルギーの第2平均;を比較することができる。そのとき、トランジェントが検出された位置により、第1複数個のブロックと、第2複数個のブロックとにそれぞれ含まれるブロックの個数が異なる。すなわち、トランジェントが検出されたブロックと、その後の第1複数個のブロックとに係わる短区間エネルギーの平均、すなわち、第2平均と、トランジェントが検出されたブロック以前の第2複数個のブロックに係わる短区間エネルギーの平均、すなわち、第1平均との比率を算出することができる。
次に、高域通過フィルタリング以前のフレームnの短区間エネルギーの第3平均と、高域通過フィルタリングされたフレームnの短区間エネルギーの第4平均との比率を算出することができる。
最後に、第2平均と第1平均との比率が第1臨界値と第2臨界値との間に存在し、第3平均と第4平均との比率が第3臨界値より大きければ、第1トランジェント判断部715で、一次的に現在フレームがトランジェントフレームであると判断されたとしても、最終的には、現在フレームを正常フレームであることと判断することができる。
ここで、第臨界値1ないし第3臨界値は、実験あるいはシミュレーションを介して、前もって設定される。例えば、第1臨界値と第2臨界値とは、それぞれ0.7、2.0に設定され、第3臨界値スーパーワイドバンド信号の場合、50、ワイドバンド信号の場合、30に設定される。
第2トランジェント判断部716で遂行される2回の比較過程を介して、一時的に大きい振幅を有する信号がトランジェントに検出されるエラーを防止することができる。
再び図7に戻り、シグナリング情報生成部717は、第2トランジェント判断部716での判断結果に対して、以前フレームのハングオーバーフラグによって、現在フレームのフレームタイプ修正いかんを決定する一方、トランジェントが検出されたブロックの位置によって、現在フレームに係わるハングオーバーフラグを異なって設定し、その結果を、トランジェントシグナリング情報として生成することができる。それについては、図9を参照して具体的に説明する。
図9は、図7に図示されたシグナリング情報生成部717の動作について説明するフローチャートである。ここでは、1つのフレームが図8でのように構成され、50%未満のオーバーラップ区間を有する変換ウィンドウを使用し、ブロック2とブロック3とでオーバーラップが行われる場合を例として挙げる。
図9を参照すれば、段階912では、第2トランジェント判断部716から、現在フレームについて最終的に決定されたフレームタイプを受信することができる。
段階913では、現在フレームのフレームタイプがトランジェントフレームであるか否かということを判断することができる。
段階914では、段階913での判断結果、現在フレームのフレームタイプがトランジェントフレームではない場合、以前フレームについて設定されたハングオーバーフラグを確認することができる。
段階915では、以前フレームのハングオーバーフラグが1であるか否かということを判断し、判断結果、以前フレームのハングオーバーフラグが1である場合、すなわち、以前フレームがオーバーラッピングに影響に及ぼすトランジェントフレームである場合、トランジェントフレームではない現在フレームを、トランジェントフレームに修正し、次のフレームのために、現在フレームのハングオーバーフラグを0に設定することができる(段階916)。それは、現在フレームが、以前フレームによって修正されたトランジェントフレームであるので、次のフレームに及ぼす影響がないということを意味する。
段階917では、段階915での判断結果、以前フレームのハングオーバーフラグが0である場合、フレームタイプの修正なしに、現在フレームのハングオーバーフラグを0に設定することができる。すなわち、現在フレームのフレームタイプは、トランジェントフレームではないフレームにそのまま維持される。
段階918では、段階913での判断結果、現在フレームのフレームタイプがトランジェントフレームである場合、現在フレームで、トランジェントが検出されたブロックを受信することができる。
段階919では、現在フレームで、トランジェントが検出されたブロックが、オーバーラップ区間に該当するか否かということ、すなわち、図8を例として挙げる場合、トランジェントが検出されたブロックの番号が1より大きいか否かということ、すなわち、2あるいは3に該当するか否かということを判断することができる。段階919での判断結果、トランジェントが検出されたブロックが、オーバーラップ区間である2あるいは3に該当しない場合、フレームタイプの修正なしに、現在フレームのハングオーバーフラグを0に設定することができる(段階917)。すなわち、現在フレームで、トランジェントが検出されたブロックの番号が0に該当する場合、現在フレームのフレームタイプは、トランジェントフレームにそのまま維持されながら、現在フレームのハングオーバーフラグを0に設定し、次のフレームに影響を及ぼさないようにすることができる。
段階920では、段階919での判断結果、トランジェントが検出されたブロックが、オーバーラップ区間である2あるいは3に該当する場合フ、レームタイプの修正なしに、現在フレームのハングオーバーフラグを1に設定することができる。すなわち、現在フレームのフレームタイプは、トランジェントフレームにそのまま維持されるが、次のフレームに影響を及ぼすようにすることができる。それは、現在フレームのハングオーバーフラグが1である場合、次のフレームが、トランジェントフレームではないフレームである場合であると判断されても、次のフレームは、トランジェントフレームに修正されるということを意味する。
段階921では、現在フレームのハングオーバーフラグと、現在フレームに係わるフレームタイプとをトランジェントシグナリング情報でもって形成することができる。特に、現在フレームに係わるフレームタイプ、すなわち、現在フレームがトランジェントフレームであるか否かということを示すシグナリング情報は、復号化装置に提供される。
図10は、本発明の一実施形態による周波数ドメインオーディオ復号化装置の構成を示したブロック図であり、図1Bの周波数ドメイン復号化部134、図2Bの周波数ドメイン復号化部234、図3Bの周波数ドメイン励起復号化部334、あるいは図4Bの周波 数ドメイン復号化部434に該当する。
図10に図示された周波数ドメインオーディオ復号化装置1030は、周波数ドメインFEC(frame error concealment)モジュール1032、スペクトル復号化部1033、第1メモリ更新部1034、逆変換部1035、一般OLA(overlap and add)部1036及び時間ドメインFECモジュール1037を含んでもよい。第1メモリ更新部1034に内蔵するメモリ(図示せず)を除いた各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。一方、第1メモリ更新部1034の機能は、周波数ドメインFECモジュール1032及びスペクトル復号化部1033に分散して含めらもする。
図10を参照すれば、パラメータ復号化部1010は、受信されたビットストリームからパラメータを復号化し、復号化されたパラメータから、フレーム単位で、エラーが発生したか否かということをチェックすることができる。パラメータ復号化部1010は、図1Bのパラメータ復号化部132、図2Bのパラメータ復号化部232、図3Bのパラメータ復号化部332、あるいは図4Bのパラメータ復号化部434に該当する。パラメータ復号化部1010から提供される情報は、エラーフレームであるか否かということを示すエラーフラグと、現在まで連続して発生したエラーフレームの数とを含んでもよい。現在フレームにエラーが発生したと判断されれば、エラーフラグBFI(bad frame indicator)が1に設定され、それは、エラーフレームについては、何らの情報も存在しないということを意味する。
周波数ドメインFECモジュール1032は、周波数ドメインエラー隠匿アルゴリズムを内蔵しており、パラメータ復号化部1010に提供されるエラーフラグBFIが1であり、以前フレームの復号化モードが周波数ドメインである場合に動作される。一実施形態によれば、周波数ドメインFECモジュール1032は、メモリ(図示せず)に保存されている以前正常フレームの合成されたスペクトル係数を反復させ、エラーフレームのスペクトル係数を生成することができる。そのとき、以前フレームのフレームタイプと、現在まで発生したエラーフレームの個数とを考慮して、反復過程を遂行することができる。説明の便宜のために、連続して発生したエラーフレームが2個以上である場合、バーストエラーに該当することにする。
一実施形態によれば、周波数ドメインFECモジュール1032は、現在フレームがバーストエラーを形成するエラーフレームでありながら、以前フレームがトランジェントフレームではない場合、例えば、5番目のエラーフレームからは、以前正常フレームで復号化されたスペクトル係数について、強制的に3dBずつ固定された値にダウンスケーリングすることができる。すなわち、現在フレームが連続して発生した5番目のエラーフレームに該当するならば、以前正常フレームで復号化されたスペクトル係数のエネルギーを低減させた後、エラーフレームに対して、反復してスペクトル係数を生成することができる。
他の実施形態によれば、周波数ドメインFECモジュール1032は、現在フレームがバーストエラーを形成するエラーフレームでありながら、以前フレームがトランジェントフレームである場合、例えば、2番目のエラーフレームからは、以前正常フレームで復号化されたスペクトル係数について、強制的に3dBずつ固定された値にダウンスケーリングすることができる。すなわち、現在フレームが連続して発生した2番目のエラーフレームに該当するならば、以前正常フレームで復号化されたスペクトル係数のエネルギーを低減させた後、エラーフレームに対して、反復してスペクトル係数を生成することができる。
さらに他の実施形態によれば、周波数ドメインFECモジュール1032は、現在フレームがバーストエラーを形成するエラーフレームである場合、エラーフレームに対して生成されたスペクトル係数の符号をランダムに変更させることによって、フレームごとにスペクトル係数の反復によって発生する変調ノイズ(modulation noise)を減少させることができる。バーストエラーを形成するエラーフレームグループにおいて、ランダム符号が適用され始めるエラーフレームは、信号特性によって異なる。一実施形態によれば、信号特性がトランジェントであるか否かということによって、ランダム符号が適用され始めるエラーフレームの位置を異ならせて設定するか、トランジェントではない信号のうち、ステーショナリな信号について、ランダム符号が適用され始めるエラーフレームの位置を異ならせて設定することができる。例えば、入力信号にハーモニック成分が多く存在すると判断された場合、信号の変化が大きくないステーショナリな信号と決定し、それに対応したエラー隠匿アルゴリズムを遂行することができる。一般的に、入力信号のハーモニック情報は、エンコーダから伝送される情報を利用することができる。低い複雑度を必要としない場合には、デコーダで合成された信号を利用して、ハーモニック情報を求めることもできる。
一方、エラーフレームの全体スペクトル係数について、ランダム符号を適用するか、あるいは既定義の周波数帯域以上のスペクトル係数について、ランダム符号を適用することができる。その理由は、非常に低い周波数帯域では、符号の変化によって、波形やエネルギーが大きく変わる場合が発生するので、例えば、200Hz以下の非常に低い周波数帯域では、ランダム符号を適用しないことが、さらに良好な性能を有することができる。
さらに他の実施形態によれば、周波数ドメインFECモジュール1032は、ダウンスケーリングあるいはランダム符号の適用を、バーストエラーを形成するエラーフレームだけではなく、1フレームずつ飛ばしながら、エラーフレームが存在する場合にも同一に適用することができる。すなわち、現在フレームがエラーフレームであり、1フレーム以前フレームが正常フレームであり、2フレーム以前フレームがエラーフレームである場合、ダウンスケーリングあるいはランダム符号を適用することができる。
スペクトル復号化部1033は、パラメータ復号化部1010に提供されるエラーフラグBFIが0である場合、すなわち、現在フレームが正常フレームである場合に動作される。スペクトル復号化部1033は、パラメータ復号化部1010で復号化されたパラメータを利用して、スペクトル復号化を行い、スペクトル係数を合成することができる。スペクトル復号化部1033については、図11及び図12を参照し、さらに具体的に説明する。
第1メモリ更新部1034は、正常フレームである現在フレームについて合成されたスペクトル係数、復号化されたパラメータを利用して得られた情報、現在まで連続したエラーフレームの個数、各フレームの信号特性あるいはフレームタイプ情報などを、次のフレームのために更新することができる。ここで、信号特性は、トランジェント特性、ステーショナリ特性を含み、フレームタイプは、トランジェントフレーム、ステーショナリフレームあるいはハーモニックフレームを含んでもよい。
逆変換部1035は、合成されたスペクトル係数について、時間・周波数逆変換を行い、時間ドメイン信号を生成することができる。一方、逆変換部1035では、現在フレームのエラーフラグ及び以前フレームのエラーフラグに基づいて、現在フレームの時間ドメイン信号を、一般OLA部1036あるいは時間ドメインFECモジュール1037のうち一つに提供することができる。
一般OLA部1036は、現在フレーム及び以前フレームがいずれも正常フレームである場合に動作され、以前フレームの時間ドメイン信号を利用して一般的なOLA処理を行い、その結果、現在フレームに係わる最終時間ドメイン信号を生成し、後処理部1050に提供することができる。
時間ドメインFECモジュール1037は、現在フレームがエラーフレームであるか、あるいは現在フレームが正常フレームでありながら、以前フレームがエラーフレームであり、最後の以前正常フレームの復号化モードが周波数ドメインである場合に動作することができる。すなわち、現在フレームがエラーフレームである場合には、周波数ドメインFECモジュール1032と、時間ドメインFECモジュール1037とを介して、エラー隠匿処理が行われ、以前フレームがエラーフレームであり、現在フレームが正常フレームである場合には、時間ドメインFECモジュール1037を介して、エラー隠匿処理が行われる。
図11は、図10に図示されたスペクトル復号化部1033の一実施形態による構成を示したブロック図である。
図11に図示されたスペクトル復号化部1110は、無損失復号化部1112、パラメータ逆量子化部1113、ビット割当て部1114、スペクトル逆量子化部1115、ノイズフィリング部1116及びスペクトルシェーピング部1117を含んでもよい。ここで、ノイズフィリング部1116は、スペクトルシェーピング部1117の後端に位置することもできる。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図11を参照すれば、無損失復号化部1112は、符号化過程で無損失符号化が行われたパラメータ、例えば、norm値あるいはスペクトル係数に対して無損失復号化を行うことができる。
パラメータ逆量子化部1113は、無損失復号化されたnorm値に対して逆量子化を行うことができる。符号化過程においてnorm値は、多様な方式、例えば、Vector quantization(VQ)、scalar quantization(SQ)、trellis coded quantization(TCQ)、lattice vector quantization(LVQ)などを利用して量子化され、対応する方式を使用して、逆量子化を行うことができる。
ビット割当て部1114は、量子化されたnorm値、あるいは逆量子化されたnorm値に基づいて、サブバンド単位で必要とするビット数を割り当てることができる。その場合、サブバンド単位で割り当てられたビット数は、符号化過程で割り当てられたビット数と同一である。
スペクトル逆量子化部1115は、サブバンド単位で割り当てられたビット数を使用して、逆量子化過程を遂行し、正規化されたスペクトル係数を生成することができる。
ノイズフィリング部1116は、正規化されたスペクトル係数のうち、サブバンド単位でノイズフィリングを必要とする部分に対して、ノイズ信号を生成して充填することができる。
スペクトルシェーピング部1117は、逆量子化されたnorm値を利用して正規化されたスペクトル係数をシェーピングすることができる。スペクトルシェーピング過程を介して、最終的に復号化されたスペクトル係数が得られる。
図12は、図10に図示されたスペクトル復号化部1033の他の実施形態による構成を示したブロック図であり、望ましくは、信号変動がはなはだしいフレーム、例えば、トランジェントフレームのために短区間ウィンドウを使用する場合に適用される。
図12に図示されたスペクトル復号化部1210は、無損失復号化部1212、パラメータ逆量子化部1213、ビット割当て部1214、スペクトル逆量子化部1215、ノイズフィリング部1216、スペクトルシェーピング部1217及びデインターリービング部1218を含んでもよい。ここで、ノイズフィリング部1216は、スペクトルシェーピング部1217の後端に位置することもできる。各構成要素は、少なくとも一つ以上のモジュールに一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。図11のスペクトル復号化部1110と比較し、デインターリービング部1218が追加されたものであり、同一の構成要素に係わる動作説明は省略する。
まず、現在フレームがトランジェントフレームに該当する場合、使用される変換ウィンドウは、ステーショナリフレームで使用される変換ウィンドウ1310(図13)より短い必要がある。一実施形態によれば、トランジェントフレームを4個のサブフレームに分け、サブフレーム当たり一つずつ、総4個の短区間ウィンドウ1330(図13)を使用することができる。デインターリービング部1218の動作についての説明に先立り、符号化端でのインターリビング処理について説明すれば、次の通りである。
トランジェントフレームを4個のサブフレームに分け、4個の短区間ウィンドウを使用して得られた4個のサブフレームのスペクトル係数の和と、1つの1つのフレームに、長区間ウィンドウを使用して得られたスペクトル係数の和とが同一になるように設定することができる。まず、4個の短区間ウィンドウを適用して変換を行い、その結果、4セットのスペクトル係数を求めることができる。次に、各セットのスペクトル係数の順に連続してインターリビングを行うことができる。具体的には、最初の短区間ウィンドウのスペクトル係数を、c01、c02、…、c0n、2番目の短区間ウィンドウのスペクトル係数を、c11、c12、…、c1n、3番目の短区間ウィンドウのスペクトル係数を、c21、c22、…、c2n、4番目の短区間ウィンドウのスペクトル係数を、c31、c32、…、c3nとすれば、インターリビングされた結果は、c01、c11、c21、c31、…、c0n、c1n、c2n、c3nと示すことができる。
そのように、トランジェントフレームの場合、インターリビング過程を経て、長区間ウィンドウを使用した場合と同一に修正された後、量子化及び無損失符号化のような後続符号化過程を遂行することができる。
再び図12に戻り、デインターリービング部1218は、スペクトルシェーピング部1217から提供される復元されたスペクトル係数について、本来の短区間ウィンドウを使用した場合として修正するためのものである。一方、トランジェントフレームは、エネルギー変動がはなはだしいという特性を有するが、一般的に開始部分は、エネルギーが小さい一方、端部は、エネルギーが大きいという傾向がある。従って、以前正常フレームがトランジェントフレームである場合、トランジェントフレームの復元されたスペクトル係数を反復してエラーフレームに使用する場合には、エネルギー変動程度がはなはだしいフレームが連続して存在するので、ノイズが非常に大きく聞こえてしまう。それを防止するために、以前正常フレームがトランジェントフレームである場合、3番目と4番目との短区間ウィンドウを使用して復号化されたスペクトル係数を、最初と2番目との短区間ウィンドウを使用して復号化されたスペクトル係数の代わりに使用して、エラーフレームのスペクトル係数を生成することができる。
図14は、図10に図示された一般OLA部1036の一実施形態による構成を示したブロック図であり、現在フレーム及び以前フレームが、いずれも正常フレーム(normal frame)である場合に動作され、逆変換部1035(図10)から提供される時間ドメイン信号、すなわち、IMDCT(inverse modified discrete cosine transform)信号に対してオーバーラップ・アンド・アド(OLAD)処理を行うことができる。
図14に図示された一般OLA部1410は、ウィンドウイング部1412とオーバーラッピング部1414とを含んで構成される。
図14を参照すれば、ウィンドウイング部1412は、時間ドメインエイリアシングを除去するために、現在フレームのIMDCT信号に対して、ウィンドウイング処理を行うことができる。50%未満のオーバーラップ区間を有するウィンドウを使用する場合については、図19を参照して後述する。
オーバーラッピング部1414は、ウィンドウイングされたIMDCT信号に対して、オーバーラップ・アンド・アド処理を行うことができる。
図19は、50%未満のオーバーラップ区間を有するウィンドウを使用する場合、時間ドメインエイリアシングを除去するために、符号化装置及び復号化装置で行われるウィンドウイング処理の例について説明するための図面である。
図19を参照すれば、符号化装置で使用されるウィンドウと、復号化装置で使用されるウィンドウとの形態は逆方向に示される。符号化装置では、新たな入力(new input)が入れば、過去の保存された信号を利用して、ウィンドウイングを適用する。時間遅延を防止するために、オーバーラップ区間を減らせば、オーバーラップ区間がウィンドウの両端に位置することができる。一方、復号化装置では、現在のnフレームにおいて、図19(a)のold audio out put信号(現在nフレーム領域は、old windowed IMDCT out信号と同一である)は、互いにオーバーラップ・アンド・アド処理を経れば、Audio output信号が導出される。Audio output信号の未来領域は、次のフレームにおいて、オーバーラップ・アンド・アド過程に使用される。一方、図19(b)は、一実施形態による、エラーフレーム隠匿のためのウィンドウの形態を示している。主に、周波数ドメイン符号化でエラーが発生すれば、過去のスペクトル係数を反復するので、エラーフレームでの時間ドメインエイリアシングは、除去不可能になる。従って、時間ドメインエイリアシングによるアーティファクト(artifact)を隠匿するために、変形されたウィンドウを使用することができる。特に、50%未満のオーバーラップ区間を有するウィンドウを利用する場合、短いオーバーラップ区間によるノイズを低減させるために、オーバーラップ区間1930の長さをJms(0<J<frame size)ほど調節することによって、オーバーラッピングをスムージングさせる。
図15は、図10に図示された時間ドメインFECモジュール1037の一実施形態による構成を示したブロック図である。
図15に図示された時間ドメインFECモジュール1510は、FECモード選択部1512;第1時間ドメインエラー隠匿部1513、第2時間ドメインエラー隠匿部1514及び第3時間ドメインエラー隠匿部1515;及び第2メモリ更新部1516;を含んで構成される。同様に、第2メモリ更新部1516の機能は、第1時間ドメインエラー隠匿部1513、第2時間ドメインエラー隠匿部1514及び第3時間ドメインエラー隠匿部1515に含まれる。
図15を参照すれば、FECモード選択部1512は、現在フレームのエラーフラグBFI、以前フレームのエラーフラグPrev_BFI、及び連続したエラーフレームの数を入力にして、時間ドメインでのFECモードを選択することができる。各エラーフラグの場合、1はエラーフレーム、0を正常フレームであると示すことができる。一方、連続したエラーフレームの数が、例えば、2以上である場合、バーストエラーを形成すると判断することができる。FECモード選択部1512での選択結果、現在フレームの時間ドメイン信号は、第1時間ドメインエラー隠匿部1513、第2時間ドメインエラー隠匿部1514及び第3時間ドメインエラー隠匿部1515のうち一つに提供される。
第1時間ドメインエラー隠匿部1513は、現在フレームがエラーフレームである場合、エラー隠匿処理を行うことができる。
第2時間ドメインエラー隠匿部1514は、現在フレームが正常フレームであり、以前フレームがランダムエラーを形成するエラーフレームである場合、エラー隠匿処理を行うことができる。
第3時間ドメインエラー隠匿部1515は、現在フレームが正常フレームであり、以前フレームがバーストエラーを形成するエラーフレームである場合、エラー隠匿処理を行うことができる。
第2メモリ更新部1516は、次のフレームのために、現在フレームのエラー隠匿処理に使用された各種情報を更新し、メモリ(図示せず)に保存することができる。
図16は、図15に図示された第1時間ドメインエラー隠匿部1513の一実施形態による構成を示したブロック図である。現在フレームがエラーフレームである場合、一般的に、周波数ドメインで得られた過去のスペクトル係数を反復する方法を使用する場合、IMDCTとウィンドウイングとを経た後、オーバーラップ・アンド・アド処理を行えば、現在フレームの開始部分の時間ドメインエイリアシング成分が異なるので、完全復元(perfect reconstruction)が不可能になりながら、予想外のノイズが発生しうる。第1時間ドメインエラー隠匿部1513は、反復方式を使用しても、ノイズの発生を最小化させるためのものである。
図16に図示された第1時間ドメインエラー隠匿部1610は、ウィンドウイング部1612、反復部1613、OLA部1614、オーバーラップサイズ選択部1615及びスムージング部1616を含んでもよい。
図16を参照すれば、ウィンドウイング部1612は、図14のウィンドウイング部1412と同一の動作を遂行することができる。
反復部1613は、2つのフレーム以前(previous old)のIMDCT signalを再び反復し、現在フレーム(エラーフレーム)の開始部分に適用することができる。
OLA部1614は、反復部1613を介して反復された信号と、現在フレームのIMDCT信号とに対して、オーバーラップ・アンド・アド処理を行うことができる。その結果、現在フレームに係わるaudio output信号を生成することができ、2つのフレーム以前の信号を使用することによってaudio output信号の開始部分において、ノイズの発生を減らすことができる。一方、周波数ドメインにおいて、以前フレームのスペクトル反復と共にスケーリングが適用されても、現在フレームの開始部分でのノイズ発生の可能性は、非常に低減される。
オーバーラップサイズ選択部1615は、スムージング処理時に適用するスムージングウィンドウのオーバーラップ区間の長さov_sizeを選択することができる。ここで、ov_sizeは、常に同一の値、例えば、20msフレームサイズである場合、12msを使用するか、あるいは特定条件によって、可変的に調節することもできる。そのとき、特定条件では、現在フレームのハーモニック情報あるいはエネルギー差などを使用することができる。ハーモニック情報は、現在フレームがハーモニック特性を有するか否かということを意味し、符号化装置から伝送されるか、復号化装置で求められることもできる。そして、エネルギー差は、時間ドメインにおいて、現在フレームのエネルギーEcurrと、フレーム別エネルギーの移動平均EMAとの正規化されたエネルギー差の絶対値を意味する。それは、下記の数式(1)のように示すことができる。
ここで、E
MA=0.8*E
MA+0.2*E
currである。
スムージング部1616は、選択されたスムージングウィンドウを、以前フレームの信号(old audio out put)と現在フレームの信号(current audio output)との間に適用し、オーバーラップ・アンド・アド処理を行うことができる。ここで、スムージングウィンドウは、隣接するウィンドウ間のオーバーラップ区間の和が1になるように形成することができる。そのような条件を満足するウィンドウの例としては、サイン波形ウィンドウ、一次関数を利用したウィンドウ、ハニングウィンドウ(Hanning window)があるが、それらに限定されるものではない。一実施形態によれば、サイン波形ウィンドウを使用することができ、そのとき、ウィンドウ関数w(n)は、下記数式(2)のように示すことができる。
ここで、ov_sizeは、オーバーラップサイズ選択部1615で選択されたスムージング処理時に適用するオーバーラップ区間の長さを示す。
前述のように、スムージング処理を行うことによって、現在フレームがエラーフレームである場合、以前フレームで保存されたIMDCT信号の代わりに、2つのフレーム以前でコピーされたIMDCT信号を使用することによって、発生する以前フレームと現在フレームとの不連続を防止することができる。
図17は、図15に図示された第2時間ドメインエラー隠匿部1514の一実施形態による構成を示したブロック図である。
図17に図示された第2時間ドメインエラー隠匿部1710は、オーバーラップサイズ選択部1712と、スムージング部1713とを含んでもよい。
図17を参照すれば、オーバーラップサイズ選択部1712は、図16のオーバーラップサイズ選択部1615と同様に、スムージング処理時に適用するスムージングウィンドウのオーバーラップ区間の長さov_sizeを選択することができる。
スムージング部1713は、選択されたスムージングウィンドウを、Old IMDCT信号とcurrent IMDCT信号との間に適用し、オーバーラップ・アンド・アド処理を行うことができる。同様に、スムージングウィンドウは、隣接するウィンドウ間のオーバーラップ区間の和が1になるように形成することができる。
すなわち、以前フレームがランダムエラーフレームでありながら、現在フレームが正常フレームである場合、正常なウィンドウイングが不可能であるために、以前フレームのIMDCT信号と現在フレームのIMDCT信号とのオーバーラップ区間での時間ドメインエイリアシングを除去し難い。従って、オーバーラップ・アンド・アド処理を行わず、代わりにスムージング処理を行うことによって、ノイズを最小化させることができる。
図18は、図15に図示された第3時間ドメインエラー隠匿部1515の一実施形態による構成を示したブロック図である。
図18に図示された第3時間ドメインエラー隠匿部1810は、反復部1812、スケーリング部1813、第1スムージング部1814、オーバーラップサイズ選択部1815及び第2スムージング部1816を含んでもよい。
図18を参照すれば、反復部1812は、正常フレームである現在フレームのIMDCT信号において、次のフレームに該当する部分を、現在フレームの開始部分にコピーすることができる。
スケーリング部1813は、突然の信号増大を防ぐために、現在フレームのスケールを調整することができる。一実施形態によれば、3dBのスケーリングダウンを行うことができる。ここで、スケーリング部1813は、オプションとして提供される。
第1スムージング部1814は、以前フレームのIMDCT信号と、未来においてコピーしたIMDCT信号とに対してスムージングウィンドウを適用し、オーバーラップ・アンド・アド処理を行うことができる。同様に、スムージングウィンドウは、隣接するウィンドウ間のオーバーラップ区間の和が1になるように形成することができる。すなわち、未来の信号をコピーする場合、以前フレームと現在フレームとの間に発生する不連続を除去するために、ウィンドウイングを必要とし、オーバーラップ・アンド・アド処理を介して、過去信号を未来信号で置き換えることができる。
オーバーラップサイズ選択部1815は、図16のオーバーラップサイズ選択部1615と同様に、スムージング処理時に適用するスムージングウィンドウのオーバーラップ区間の長さov_sizeを選択することができる。
第2スムージング部1816は、選択されたスムージングウィンドウを、置き換えられた信号であるOld IMDCT信号と、現在フレーム信号であるcurrentIMDCT信号との間に適用して不連続性を除去しながら、オーバーラップ・アンド・アド処理を行うことができる。同様に、スムージングウィンドウは、隣接するウィンドウ間のオーバーラップ区間の和が1になるように形成することができる。
すなわち、以前フレームがバーストエラーフレームでありながら、現在フレームが正常フレームである場合、正常なウィンドウイングが不可能であるために、以前フレームのIMDCT信号と現在フレームのIMDCT信号とのオーバーラップ区間での時間ドメインエイリアシングを除去することができない。一方、バーストエラーフレームの場合には、エネルギーを低減させたり、あるいは続いた反復によるノイズなどが発生したりするので、現在フレームのオーバーラッピングに未来信号をコピーする方式を適用することができる。その場合、以前フレームと現在フレームとの間に発生する不連続を除去しながら、現在フレームに対して発生しうるノイズを除去するために、二次にわたって、スムージング処理を行うことができる。
図20は、図18において、次の正常フレームの時間ドメイン信号を利用したOLA処理の例について説明するための図面である。
図20(a)は、以前フレームがエラーフレームではない場合、以前フレームを利用して反復やゲインスケーリングを行う方法について説明している。一方、図20(b)を参照すれば、さらなる遅延を使用しないために、まだオーバーラッピング(overlapping)を介して復号化されていない部分についてのみ、次の正常フレームである現在フレームで復号化された時間ドメイン信号を、過去に反復しながらオーバーラッピングを行い、その上で、利得スケーリングを行う。反復する信号の大きさは、オーバーラッピングされる部分の大きさより小さいか、あるいはそれと同じ値が選択される。一実施形態によれば、オーバーラッピングされる部分の大きさは、13*L/20でもある。ここで、Lは、例えば、狭帯域(narrowband)である場合には、160、広帯域(wideband)である場合には、320、超広帯域(super-wideband)である場合には、640、全帯域(fullband)である場合には、960である。
一方、時間オーバーラッピング過程に使用される信号を導き出すために、次の正常フレームの時間ドメイン信号を、反復を介して求める方式は、以下の通りである。
図20(b)において、(n+2)フレームの未来部分に表示された13*L/20サイズのブロックを、(n+1)フレームの同一位置に該当する未来部分にコピーし、既存値を置き換えながらスケールを調整することができる。ここで、スケーリングされる値の例は、−3dBである。コピーするとき、以前(n+1)フレームとの不連続性をなくすために、最初の3*L/20サイズについては、以前フレーム値である図20(b)の(n+1)フレームで得られた時間ドメイン信号と、未来部分にコピーされた信号とに対して、線形的にオーバーラッピングを行うことができる。その過程を介して、最終的にオーバーラッピングのための信号が得られ、修正された(n+1)信号と(n+2)信号とがオーバーラッピングされれば、最終(N+2)フレームに係わる時間ドメイン信号が出力される。
図21は、本発明の他の実施形態による周波数ドメインオーディオ復号化装置の構成を示したブロック図であり、図10に図示された実施形態と比較し、ステーショナリ検出部2138がさらに含まれる。そのために、図10と同一の構成要素に係わる詳細的な動作説明は省略する。
図21を参照すれば、ステーショナリ検出部2138は、逆変換部2135から提供される時間ドメイン信号を分析し、現在フレームがステーショナリであるか否かということを検出することができる。ステーショナリ検出部2138の検出結果は、時間ドメインFECモジュール2137に提供される。
図22は、図21に図示されたステーショナリ検出部2038の一実施形態による構成を示したブロック図であり、ステーショナリ判断部2212と履歴(hysteresis)適用部2213とを含んでもよい。
図22を参照すれば、ステーショナリ判断部2212は、エンベロープデルタenv_delta、以前フレームのステーショナリモードstat_mode_old、エネルギー差diff_energyなどを含む情報を受信し、現在フレームがステーショナリであるか否かということを判断することができる。ここで、エンベロープデルタは、周波数ドメインの情報を利用して求められ、以前フレームと現在フレームとの帯域別norm値の差の平均エネルギーを示す。エンベロープデルタは、下記数式(3)のように示すことができる。
ここで、norm_old(k)は、以前フレームのk帯域のnorm値、norm(k)は、現在フレームのk帯域のnorm値、nb_sfmは、フレームの帯域数を示す。一方、E
Edは、現在フレームのエンベロープデルタを示し、E
Edにスムージングファクタ(smoothing factor)を適用してE
Ed_MAを求め、E
Ed_MAをステーショナリ判断に使用するエンベロープデルタとして設定することができる。ENV_SMFは、エンベロープデルタのスムージングファクタを意味し、実施形態によれば、0.1を使用することができる。具体的には、現在フレームのステーショナリモードstat_mode_currは、エネルギー差が第1臨界値より小さく、エンベロープデルタが第2臨界値より小さい場合、現在フレームのステーショナリモードstat_mode_currとして1に設定することができる。ここで、第1臨界値として、0.032209、第2臨界値として、1.305974を使用することができるが、それらに限定されるものではない。
履歴適用部2213は、現在フレームがステーショナリであると判断されれば、以前フレームのステーショナリモードstat_mode_oldを適用し、現在フレームに係わる最終ステーショナリ情報stat_mode_outを生成することにより、現在フレームのステーショナリ情報の頻繁な変化を防止することができる。すなわち、ステーショナリ判断部2212において、現在フレームがステーショナリであると判断された場合、以前フレームがステーショナリである場合、現在フレームをステーショナリフレームとして検出する。
図23は、図21に図示された時間ドメインFECモジュール2137の一実施形態による構成を示したブロック図である。
図23に図示された時間ドメインFECモジュール2310は、FECモード選択部2312、第1時間ドメインエラー隠匿部2313及び第2時間ドメインエラー隠匿部2314、並びに第1メモリ更新部2315を含んで構成される。同様に、第1メモリ更新部2315の機能は、第1時間ドメインエラー隠匿部2313及び第2時間ドメインエラー隠匿部2314に含まれもする。
図23を参照すれば、FECモード選択部2312は、現在フレームのエラーフラグBFI、以前フレームのエラーフラグPrev_BFI及び多様なパラメータを入力にして、時間ドメインでのFECモードを選択することができる。各エラーフラグの場合、1はエラーフレーム、0を正常フレームであると示すことができる。FECモード選択部2312での選択結果、現在フレームの時間ドメイン信号は、第1時間ドメインエラー隠匿部2313及び第2時間ドメインエラー隠匿部2314のうち一つに提供される。
第1時間ドメインエラー隠匿部2313は、現在フレームがエラーフレームである場合、エラー隠匿処理を行うことができる。
第2時間ドメインエラー隠匿部2314は、現在フレームが正常フレームであり、以前フレームがエラーフレームである場合、エラー隠匿処理を行うことができる。
第1メモリ更新部2315は、次のフレームのために、現在フレームのエラー隠匿処理に使用された各種情報を更新し、メモリ(図示せず)に保存することができる。
第1時間ドメインエラー隠匿部2313及び第2時間ドメインエラー隠匿部2314で行われるオーバーラップ・アンド・アド処理では、入力信号がトランジェントであるか、あるいはステーショナリであるかということにより、あるいはステーショナリである場合、その程度によって、最適の方式を適用することができる。一実施形態によれば、信号がステーショナリである場合には、スムージングウィンドウのオーバーラップ区間の長さを長く設定し、そうではない場合には一、般OLA処理で使用されるところをそのまま使用することができる。
図24は、図21に図示されたFECモード選択部2312において、現在フレームがエラーフレームである場合、一実施形態による動作について説明するフローチャートである。
図24において、現在フレームがエラーフレームである場合、FECモードを選択するために使用されるパラメータの種類は、次の通りである。すなわち、パラメータには、現在フレームのエラーフラグ、以前フレームのエラーフラグ、以前正常フレーム(last good frame)のハーモニック情報、次の正常フレームのハーモニック情報、連続したエラーフレームの数を含んでもよい。連続したエラーフレームの数は、現在フレームが正常である場合にリセットされる。また、パラメータには、以前正常フレームのステーショナリ情報、エネルギー差、エンベロープデルタをさらに含んでもよい。ここで、各ハーモニック情報は、エンコーダから伝送されるか、デコーダで別途に生成することができる。
図24において、段階2421では、前述の多様なパラメータを利用して、入力信号がステーショナリであるか否かということを判断することができる。具体的には、以前正常フレームがステーショナリであり、エネルギー差が第1臨界値より小さく、以前正常フレームのエンベロープデルタが第2臨界値より小さい場合、入力信号がステーショナリであると判断する。ここで、第1臨界値と第2臨界値は、実験あるいはシミュレーションを介して前もって設定される。
段階2422では、段階2421において、入力信号がステーショナリであると判断された場合、反復処理及びスムージング処理を行うことができる。ステーショナリであると判断される場合、スムージングウィンドウのオーバーラップ区間の長さをさらに長く、例えば、6msに設定することができる。
一方、段階2423では、段階2421において、入力信号がステーショナリではないと判断された場合、一般的なOLA処理を行うことができる。
図25は、図23に図示されたFECモード選択部2312において、以前フレームがエラーフレームであり、現在フレームがエラーフレームではない場合、一実施形態による動作について説明するフローチャートである。
図25において、段階2531では、前述の多様なパラメータを利用して、入力信号がステーショナリであるか否かということを判断することができる。そのとき、図24の段階2421と同一のパラメータを使用することができる。
段階2532では、段階2531において、入力信号がステーショナリではないと判断された場合、連続したエラーフレームの数が1より大きいか否かということを確認し、以前フレームがバーストエラーフレームに該当するか否かということを判断することができる。
段階2533では、段階2531において、入力信号がステーショナリであると判断された場合、以前フレームがエラーフレームである場合、次の正常フレームに対するエラー隠匿処理、すなわち、反復処理及びスムージング処理を行うことができる。ステーショナリであると判断される場合、スムージングウィンドウのオーバーラップ区間の長さをさらに長く、例えば、6msに設定することができる。
段階2534では、段階2532において、入力信号がステーショナリではなく、以前フレームがバーストエラーフレームに該当すると判断された場合、以前フレームがバーストエラーフレームである場合、次の正常フレームに対するエラー隠匿処理を行うことができる。
段階2535では、段階2532において、入力信号がステーショナリではなく、以前フレームがランダムエラーフレームに該当すると判断された場合、一般的なOLA処理を行うことができる。
図26は、図23に図示された第1時間ドメインエラー隠匿部2313の一実施形態による構成を示したブロック図である。
図26において、段階2601では、現在フレームがエラーフレームである場合、以前フレームの信号を反復してスムージング処理を行うことができる。一実施形態によれば、6msオーバーラップ区間を有するスムージングウィンドウを適用することができる。
段階2603では、オーバーラッピングされる領域の一定区間のエネルギーPow1と、オーバーラッピングされていない領域の一定区間のエネルギーPow2とを比較することができる。具体的には、エラー隠匿処理を経た後、オーバーラッピングされる領域のエネルギーが低下するか、大幅に上昇する場合には、一般的なOLS処理を行うことができる。エネルギー低下は、オーバーラッピング時に、位相が正反対である場合に発生し、エネルギー上昇は、位相が同一である場合に発生しうるからである。信号がある程度ステーショナリである場合、段階2601によるエラー隠匿性能が優秀であるので、段階2601の結果、オーバーラッピングされる領域と、オーバーラッピングされていない領域とのエネルギー差が大きければ、オーバーラッピング時に、位相によって問題が発生するということを意味する。
段階2604では、段階2603での比較結果、オーバーラッピングされる領域と、オーバーラッピングされていない領域とのエネルギー差が大きい場合、段階2601の結果を採択せず、一般的なOLA処理を行うことができる。
一方、段階2603での比較結果、オーバーラッピングされる領域と、オーバーラッピングされていない領域とのエネルギー差が大きくない場合には、段階2601の結果を採択することができる。
図27は、図23に図示された第2時間ドメインエラー隠匿部2314の一実施形態による構成を示したブロック図であり、図25での段階2533,2534,2535に対応する。
図28は、図23に図示された第2時間ドメインエラー隠匿部2314の他の実施形態による構成を示したブロック図であり、図27と比較すれば、次の正常フレームである現在フレームが、トランジェントフレームに該当する場合のエラー隠匿処理2801と、次の正常フレームである現在フレームがトランジェントフレームに該当しない場合、互いに異なるオーバーラップ区間の長さを有するスムージングウィンドウを使用するエラー隠匿処理2802,2803とを使用するという違いがある。すなわち、一般的なOLA処理以外に、トランジェントフレームのためのOLA処理を別途に追加する場合に適用される。
図29は、図26において、現在フレームがエラーフレームである場合、エラー隠匿方式について説明する図面であり、図16と比較すれば、オーバーラップサイズ選択部1615(図16)に対応する構成が除かれた一方、エネルギーチェック部2916が追加されたというところが違いである。すなわち、スムージング部2915では、既定のスムージングウィンドウを適用することができ、エネルギーチェック部2916は、図26の段階2603及び段階2604に該当する機能を遂行することができる。
図30は、図28において、以前フレームがエラーフレームである場合、トランジェントフレームである次の正常フレームに対するエラー隠匿方式について説明する図面である。望ましくは、以前フレームのフレームタイプがトランジェントである場合に適用することができる。すなわち、以前フレームがトランジェントであるので、過去フレームで使用されたエラー隠匿方式を考慮し、次の正常フレームでエラー隠匿処理を行うことができる。
図30を参照すれば、ウィンドウ修正部3012では、以前フレームのウィンドウを考慮し、現在フレームのスムージング処理に使用されるウィンドウのオーバーラップ区間の長さを修正することができる。
スムージング部3013では、ウィンドウ修正部3012で修正されたスムージングウィンドウを、以前フレームと、次の正常フレームである現在フレームとに適用し、スムージング処理を行う。
図31は、図27及び図28において、以前フレームがエラーフレームである場合、トランジェントフレームではない場合、正常フレームに対するエラー隠匿方式について説明する図面であり、図17及び図18を同時に表現したものである。すなわち、連続したエラーフレームの数によって、図17によるランダムエラーフレームに対応したエラー隠匿処理を行ったり、図18によるバーストエラーフレームに対応したエラー隠匿処理を行ったりすることができる。ただし、図17及び図18と比較すれば、オーバーラップサイズが既定であるということが違いとして挙げることができる。
図32は、図26において、現在フレームがエラーフレームである場合、OLA処理の例について説明する図面であり、図32(a)は、トランジェントフレームのための例である。図32(b)は、非常にステーショナリなフレームのためのOLA処理を示したものであり、Mの長さはNより長く、スムージング処理時、オーバーラップ区間の長さが長い場合を意味する。図32(c)は、図32(b)より不十分にステーショナリなフレームに対するOLA処理を示し、図32(d)は、一般的なOLA処理を示す。ここで、使用されるOLA処理は、次の正常フレームでのOLA処理と独立して使用が可能である。
図33は、図27において、以前フレームがランダムエラーフレームである場合、次の正常フレームに対するOLA処理の例について説明する図面であり、図33(a)は、非常にステーショナリなフレームのためのOLA処理を示したものであり、Kの長さは、Lより長く、スムージング処理時、オーバーラップ区間の長さが長い場合を意味する。図33(b)は、図33(a)より不十分にステーショナリなフレームに対するOLA処理を示し、図33(c)は、一般的なOLA処理を示す。ここで使用されるOLA処理を、エラーフレームで使用されるOLA処理と独立して使用が可能である。従って、エラーフレームと、次の正常フレームとのOLA処理の多様な組み合わせが可能になる。
図34は、図27において、以前フレームがバーストエラーフレームである場合、次の正常フレーム(n+2)に対するOLA処理の例について説明する図面であり、図19及び図20と比較し、違いは、スムージングウィンドウのオーバーラップ区間の長さ3413を調節し、スムージング処理を行うことができるというところである。
図35は、本発明に適用される位相マッチング方式の概念について説明する図面である。図35を参照すれば、復号化されたオーディオ信号のうち、フレームnでエラーが発生した場合、バッファに保存された過去N個の正常フレーム(good frame)に対して、以前フレーム(n−1)で復号化が完了した信号のうち、フレームnと隣接した探索セグメント3512と最も類似したマッチングセグメント3513を探索することができる。そのとき、探索セグメント3512の大きさは、探索する最小周波数の波長によって決定される。例えば、探索セグメント3512の大きさは、最小周波数の波長の半分より大きく、最小周波数の波長より小さく設定することができる。一方、バッファでの探索範囲は、探索する最小周波数の波長と同じであるか、あるいはそれより大きく設定することができる。具体的には、探索範囲内で、過去の復号化された信号のうち、探索セグメント3512と相互相関度(cross-correlation)が最も高いマッチングセグメント3513を探索し、マッチングセグメント3513に該当する位置情報を求め、マッチングセグメント3513の端部から所定区間3514を、ウィンドウ長、例えば、フレーム長と、オーバーラップ区間の長さとを合わせた長さを考慮して設定し、エラーが発生したフレームnにコピーすることができる。
図36は、本発明の一実施形態によるエラー隠匿装置の構成を示したブロック図である。図36に図示されたエラー隠匿装置3610は、位相マッチングフラグ生成部3611、第1 FECモード選択部3612、位相マッチングFECモジュール3613、時間ドメインFECモジュール3614及びメモリ更新部3615を含んでもよい。
図36を参照すれば、位相マッチングフラグ生成部3611は、正常フレームごとに、次のフレームでエラーが発生した場合、位相マッチングエラー隠匿処理を使用するか否かということを決定するための位相マッチングフラグphase_mat_flagを生成することができる。そのために、各サブバンドのエネルギーとスペクトル係数とを利用することができる。ここで、エネルギーは、normから求められるが、それに限定されるものではない。具体的には、正常フレームである現在フレームにおいて、最大エネルギーを有するサブバンドが、所定低周波数帯域に属しながら、フレーム内、あるいはフレーム間のエネルギー変化が大きくない場合、位相マッチングフラグを1に設定することができる。一実施形態によれば、現在フレームにおいて、最大エネルギーを有するサブバンドが、75〜1,000Hzに属しながら、当該サブバンドに係わる現在フレームのインデックスと、以前フレームのインデックスとが同一である場合、エラーが発生した後、フレームに位相マッチングエラー隠匿処理を適用することができる。他の実施形態によれば、現在フレームにおいて、最大エネルギーを有するサブバンドが、75〜1,000Hzに属しながら、当該サブバンドに係わる現在フレームのインデックスと、以前フレームのインデックスとの差が1以下である場合、エラーが発生した後、フレームに位相マッチングエラー隠匿処理を適用することができる。他の実施形態によれば、現在フレームにおいて、最大エネルギーを有するサブバンドが75〜1,000Hzに属しながら、当該サブバンドに係わる現在フレームのインデックスと、以前フレームのインデックスとが同一であり、現在フレームがエネルギー変化が小さいステーショナリフレームであり、バッファに保存されたN個の過去フレームが正常フレームでありながら、トランジェントフレームではない場合、エラーが発生した後、フレームに位相マッチングエラー隠匿処理を適用することができる。他の実施形態によれば、現在フレームにおいて、最大エネルギーを有するサブバンドが、75〜1,000Hzに属しながら、当該サブバンドに係わる現在フレームのインデックスと、以前フレームのインデックスとの差が1以下であり、現在フレームが、エネルギー変化が小さいステーショナリフレームでありながら、バッファに保存された複数の過去フレームが正常フレームでありながら、トランジェントフレームではない場合、エラーが発生した後、フレームに位相マッチングエラー隠匿処理を適用することができる。ここで、ステーショナリフレームであるか否かということは、前述のステーショナリフレーム検出過程で使用された差エネルギーと、臨界値との比較を介して決定することができる。また、バッファに保存された複数の過去フレームのうち、最近の3個フレームに対して、正常フレームであるか否かということを判断し、最近の2個フレームに対して、トランジェントフレームであるか否かということを判断することができるが、それらに限定するものではない。
位相マッチングフラグ生成部3611で生成される位相マッチングフラグが1に設定されている場合、次のフレームでエラーが発生すれば、位相マッチングエラー隠匿処理を適用することができるということを意味する。
第1 FECモード選択部3612は、位相マッチングフラグと、以前フレーム及び現在フレームの状態とを考慮し、複数個のFECモードのうち一つを選択することができる。ここで、位相マッチングフラグは、以前正常フレームの状態を示すことができる。以前フレームと現在フレームとの状態は、以前フレームあるいは現在フレームが、エラーフレームであるか否かということ、あるいは現在フレームがランダムエラーフレームであるか、あるいはバーストエラーフレームであるかということ、以前エラーフレームが位相マッチングエラー隠匿処理を使用したか否かということを含んでもよい。一実施形態によれば、複数個のFECモードは、位相マッチングエラー隠匿処理を使用する第1メインFECモードと、時間ドメインエラー隠匿処理を使用する第2メインFECモードとを含んでもよい。第1メインFECモードは、位相マッチングフラグが1に設定されており、ランダムエラーフレームである現在フレームに係わる第1サブFECモード;以前フレームがエラーフレームでありながら、位相マッチングエラー隠匿処理を使用した場合、次の正常フレームである現在フレームに係わる第2サブFECモード;及び以前エラーフレームが位相マッチングエラー隠匿処理を使用しながら、バーストエラーフレームを構成する現在フレームに係わる第3サブFECモード;を含んでもよい。一実施形態によれば、第2メインFECモードは、位相マッチングフラグが0に設定されており、エラーフレームである現在フレームに係わる第4サブFECモード;及び位相マッチングフラグが0に設定されており、以前エラーフレームの次の正常フレームである現在フレームに係わる第5サブFECモードを含んでもよい。一実施形態によれば、第4サブFECモードあるいは第5サブFECモードは、図23と同一の方式で選択され、選択されたFECモードに対応し、同一のエラー隠匿処理が行われる。
位相マッチングFECモジュール3613は、第1 FECモード選択部3612で選択されたFECモードが、第1メインFECモードである場合に動作し、第1サブFECモード、第2サブFECモード及び第3サブFECモードに対応する各位相マッチングエラー隠匿処理を行い、エラーが隠匿された時間ドメイン信号を生成することができる。ここでは、説明の便宜のために、エラーが隠匿された時間ドメイン信号が、メモリ更新部3615を介して出力されると図示する。
時間ドメインFECモジュール3614は、第1 FECモード選択部3612で選択されたFECモード、が第2メインFECモードである場合に動作し、第4サブFECモード及び第5サブFECモードに対応する各時間ドメインエラー隠匿処理を行い、エラーが隠匿された時間ドメイン信号を生成することができる。同様にここでは、説明の便宜のために、エラーが隠匿された時間ドメイン信号が、メモリ更新部3615を介して出力されると図示する。
メモリ更新部3615は、位相マッチングFECモジュール3613あるいは時間ドメインFECモジュール3614でのエラー隠匿結果を受信し、次のフレームのエラー隠匿処理のための複数のパラメータを更新することができる。一実施形態によれば、メモリ更新部3615の機能は、位相マッチングFECモジュール3613及び時間ドメインFECモジュール3614に含まれる。
そのように、周波数ドメインで得られたスペクトル係数を、エラーフレームに反復する代わりに、時間ドメインにおいて、位相がマッチングされる信号を反復することにより、オーバーラップ区間の長さが50%未満であるウィンドウを使用する場合、例えば、1000Hz以下の低周波数帯域に対して、オーバーラップ区間で発生しうるノイズを効率的に抑制することができる。
図37は、図36に図示された位相マッチングFECモジュール3613あるいは時間ドメインFECモジュール3614の一実施形態による構成を示したブロック図である。
図37に図示された位相マッチングFECモジュール3710は、第2 FECモード選択部3711、並びに第1位相マッチングエラー隠匿部3712、第2位相マッチングエラー隠匿部3713及び第3位相マッチングエラー隠匿部3714を含み、時間ドメインFECモジュール3730は、第3 FECモード選択部3731、並びに第1ドメインエラー隠匿部3732及び第2時間ドメインエラー隠匿部3733を含んでもよい。一実施形態によれば、第2 FECモード選択部3711と第3 FECモード選択部3731は、図36の第1 FECモード選択部3612に含まれるもする。
図37を参照すれば、第1位相マッチングエラー隠匿部3712は、以前正常フレームが、所定低周波数帯域において、最大エネルギーを有しながら、エネルギー変化が所定臨界値より小さい場合、ランダムエラーフレームである現在フレームに対して、位相マッチングエラー隠匿処理を行うことができる。一実施形態によれば、前述の条件を満足しても、相関度尺度accAを求め、相関度尺度accAが所定範囲に属するか否かということによって、位相マッチングエラー隠匿処理を行うか、あるいは一般的なOLA処理を行うことができる。すなわち、探索範囲に存在するセグメント間の相関度、及び探索セグメントと、探索範囲に存在するセグメントとの相互相関度を考慮し、位相マッチングエラー隠匿処理を行うか否かということを決定することが望ましい。それについて、さらに具体的に説明すれば、次の通りである。
相関度尺度accAは、下記の数式(4)のように求められる。
ここで、dは、探索範囲に存在するセグメントの数、R
xyは、図35において、探索セグメント(x信号)3512と、バッファに保存された過去N個の正常フレーム(y信号)に対して、同一長のマッチングセグメント3513とを探索するために使用される相互相関度を示し、R
yyは、バッファに保存された過去N個の正常フレーム(y信号)に存在するセグメント間の相関度を示す。
次に、相関度尺度accAが所定範囲に属するか否かということ判断し、所定範囲に属する場合、エラーフレームである現在フレームに対して、位相マッチングエラー隠匿処理を行い、所定範囲を外れる場合、一般的なOLA処理を行うことができる。一実施形態によれば、相関度尺度accAが0.5より小さいか、あるいは1.5より大きい場合には、一般的なOLA処理を行い、それ以外の場合、位相マッチングエラー隠匿処理を行うことができる。ここで、上限値及び下限値は、例示したものに過ぎず、あらかじめ実験あるいはシミュレーションを介して最適の値に設定される。
第2位相マッチングエラー隠匿部3713は、以前フレームがエラーフレームでありながら、位相マッチングエラー隠匿処理を使用した場合、次の正常フレームである現在フレームに対して、位相マッチングエラー隠匿処理を行うことができる。
第3位相マッチングエラー隠匿部3714は、以前フレームがエラーフレームでありながら、位相マッチングエラー隠匿処理を使用した場合、バーストエラーフレームを構成する現在フレームに対して、位相マッチングエラー隠匿処理を行うことができる。
第1時間ドメインエラー隠匿部3732は、以前正常フレームが所定低周波数帯域で最大エネルギーを有さない場合、エラーフレームである現在フレームに対して、時間ドメインエラー隠匿処理を行うことができる。
第2時間ドメインエラー隠匿部3733は、以前正常フレームが所定低周波数帯域で最大エネルギーを有さない場合、以前エラーフレームの次の正常フレームである現在フレームに対して、時間ドメインエラー隠匿処理を行うことができる。
図38は、図37に図示された第1位相マッチングエラー隠匿部3712あるいは第2位相マッチングエラー隠匿部3713の一実施形態による構成を示したブロック図である。図38に図示された位相マッチングエラー隠匿部3810は、最大相関度探索部3812、コピー部3813及びスムージング部3814を含んでもよい。
図38において、最大相関度探索部3812は、バッファに保存された過去N個の正常フレーム(good frame)に対して、以前正常フレームで復号化が完了した信号のうち、現在フレームに隣接した探索セグメントと最大相関度を有する、すなわち、最も類似したマッチングセグメントを探索することができる。探索結果として得られるマッチングセグメントの位置インデックスは、コピー部3813に提供される。最大相関度探索部3812は、ランダムエラーフレームである現在フレーム及び以前フレームが、ランダムエラーフレームでありながら、位相マッチングエラー隠匿処理が行われ、正常フレームである現在フレームに対して、同一に動作することができる。一方、現在フレームがエラーフレームである場合、望ましくは、周波数ドメインエラー隠匿処理があらかじめ行われる。一実施形態によれば、最大相関度探索部3812において、位相マッチングエラー隠匿処理を行うことによって決定されたエラーフレームである現在フレームに対して、相関度尺度を求め、再び位相マッチングエラー隠匿処理が適するか否かということを決定することができる。
コピー部3813は、マッチングセグメントの位置インデックスを参照し、マッチングセグメントの端部から所定区間ほどを、エラーフレームである現在フレームにコピーすることができる。また、コピー部3813は、以前フレームがランダムエラーフレームでありながら、位相マッチングエラー隠匿処理が行われた場合、マッチングセグメントの位置インデックスを参照し、マッチングセグメントの端部から所定区間ほどを、正常フレームである現在フレームにコピーすることができる。そのとき、ウィンドウ長に対応する区間を、現在フレームにコピーすることができる。一実施形態によれば、マッチングセグメントの端部からコピーされる区間がウィンドウ長より短い場合には、マッチングセグメントの端部からコピーされる区間を反復し、現在フレームにコピーすることができる。
スムージング部3814は、現在フレームと隣接したフレーム間の不連続性を最小化させるために、OLAを介したスムージング処理を行い、エラーが隠匿された現在フレームに係わる時間ドメイン信号を生成することができる。スムージング部3814の動作については、図39及び図40を参照して具体的に説明する。
図39は、図38に図示されたスムージング部3814の一実施形態による動作について説明する図面である。
図39を参照すれば、バッファに保存された過去N個の正常フレーム(good frame)に対して、以前フレーム(n−1)で復号化が完了した信号のうち、エラーフレームである現在フレームnと隣接した探索セグメント3912と最も類似したマッチングセグメント3913を探索することができる。次に、マッチングセグメント3913の端部から所定区間ほどを、ウィンドウ長を考慮し、エラーが発生したフレームnにコピーすることができる。そのようなコピー過程が完了すれば、エラーフレームである現在フレームの開始部分で、コピーされた信号3914と、オーバーラッピングのために、以前フレームで保存された信号(Oldauout)3915とに対して、第1オーバーラップ区間3916ほどオーバーラッピングを行うことができる。ここで、第1オーバーラップ区間3916の長さは、信号間の位相がマッチングされた状態であるので、一般的なOLA処理で使用するところより短い。例えば、一般的なOLA処理で6msを使用するとするならば、第1オーバーラップ区間3916は、1msを使用することができるが、それに限定されるものではない。一方、マッチングセグメント3913の端部からコピーされる区間がウィンドウ長より短い場合、マッチングセグメントの端部からコピーされる区間を一部重畳させながら、現在フレームnに連続してコピーすることができる。一実施形態によれば、重畳区間は、第1オーバーラップ区間3916と同一である。その場合には、次のフレーム(n+1)の開始部分で、2つのコピーされた信号3714,3717で重畳された部分と、オーバーラッピングのために、現在フレームで保存された信号(Oldauout)3918とに対して、第2オーバーラップ区間3919ほどオーバーラッピングを行うことができる。ここで、第2オーバーラップ区間3919の長さは、信号間の位相がマッチングされた状態であるので、一般的なOLA処理で使用するより短い。例えば、第2オーバーラップ区間3919の長さは、第1オーバーラップ区間3916の距離と同一である。すなわち、マッチングセグメントの端部からコピーされる区間がウィンドウ長と同一であるか、あるいはそれより長い場合には、第1オーバーラップ区間3916に対するオーバーラッピングだけ行うことができる。そのようにコピーされた信号と、オーバーラッピングのために以前フレームで保存された信号とのオーバーラッピングを行うことによって、現在フレームnの開始部分において、以前フレーム(n−1)との不連続性を最小化させることができる。結果として、ウィンドウ長に該当し、現在フレーム及び以前フレーム間でスムージング処理が行われながら、エラーが隠匿された信号3920を生成することができる。
図40は、図38に図示されたスムージング部3814の他の実施形態による動作について説明する図面である。
図40を参照すれば、バッファに保存された過去N個の正常フレーム(good frame)に対して、以前フレーム(n−1)において、復号化が完了した信号のうち、エラーフレームである現在フレームnと隣接した探索セグメント4012と最も類似したマッチングセグメント4013を探索することができる。次に、マッチングセグメント4013の端部から所定区間ほどを、ウィンドウ長を考慮し、エラーが発生したフレームnにコピーすることができる。そのようなコピー過程が完了すれば、エラーフレームである現在フレームの開始部分で、コピーされた信号4014と、オーバーラッピングのために、以前フレームで保存された信号(Oldauout)4015とに対して、第1オーバーラップ区間4016ほどオーバーラッピングを行うことができる。ここで、第1オーバーラップ区間4016の長さは、信号間の位相がマッチングされた状態であるので、一般的なOLA処理で使用するところより短い。例えば、一般的なOLA処理で6msを使用するならば、第1オーバーラップ区間4016は、1msを使用することができるが、それに限定されるものではない。一方、マッチングセグメント4013の端部からコピーされる区間が、ウィンドウ長より短い場合、マッチングセグメントの端部からコピーされる区間を一部重畳させながら、現在フレームnに連続してコピーすることができる。その場合には、2つのコピーされた信号4014,4017で重畳された部分4019に対するオーバーラッピングを行うことができる。望ましくは、重畳された部分4019の長さは、第1オーバーラップ区間と同一である。すなわち、マッチングセグメントの端部からコピーされる区間が、ウィンドウ長と同一であるか、あるいはそれより長い場合には、第1オーバーラップ区間4016に対するオーバーラッピングだけ行うことができる。そのようにコピーされた信号と、オーバーラッピングのために、以前フレームで保存された信号とのオーバーラッピングを行うことによって、現在フレームnの開始部分において、以前フレーム(n−1)との不連続性を最小化させることができる。結果として、ウィンドウ長に該当し、現在フレーム及び以前フレーム間でスムージング処理行われながら、エラーが隠匿された第1信号4020を生成することができる。次に、第1信号4020において、オーバーラップ区間に該当する信号と、オーバーラッピングのために、現在フレームnで保存された信号(Oldauout)4018に対してオーバーラップ区間4022とでオーバーラッピングを行うことによって、エラーフレームである現在フレームnと、次のフレーム(n+1)とのオーバーラップ区間4022での不連続性を最小化させた第2信号4023を生成することができる。
それによれば、信号の主要周波数、例えば、基本周波数(fundamental frequency)がフレームごとに変わる場合、または信号が急変する場合、コピーされた信号の端部、すなわち、次のフレームとのオーバーラップ区間において、位相ミスマッチングが発生しても、スムージング処理を行うことによって、現在フレームと次のフレームとの不連続性を最小化させることができる。
図41は、本発明の一実施形態による符号化モジュールを含むマルチメディア機器の構成を示したブロック図である。
図41に図示されたマルチメディア機器4100は、通信部4110と符号化モジュール4130とを含んでもよい。また、符号化の結果として得られるオーディオ・ビットストリームの用途によって、オーディオ・ビットストリームを保存する保存部4150をさらに含んでもよい。また、マルチメディア機器4100は、マイクロフォン4170をさらに含んでもよい。すなわち、保存部4150とマイクロフォン4170は、オプションとして具備される。一方、図41に図示されたマルチメディア機器4100は、任意の復号化モジュール(図示せず)、例えば、一般的な復号化機能を遂行する復号化モジュール、あるいは本発明の一実施形態による復号化モジュールをさらに含んでもよい。ここで、符号化モジュール4130は、マルチメディア機器4100に具備される他の構成要素(図示せず)と共に一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図41を参照すれば、通信部4110は、外部から提供されるオーディオと、符号化されたビットストリームとのうち少なくとも一つを受信するか、復元されたオーディオと、符号化モジュール4130の符号化の結果として得られるオーディオ・ビットストリームとのうち少なくとも一つを送信することができる。
通信部4110は、無線インターネット、無線イントラネット、無線電話網、無線LAN(local area network)、Wi−Fi(wireless fidelity)、WFD(Wi−Fi direct)、3G(generation)、4G(generation)、ブルートゥース(登録商標:Bluetooth)、赤外線通信(IrDA:infrared data association)、RFID(radio frequency identification)、UWB(ultra wideband)、ジグビー(ZigBee)、NFC(near field communication)のような無線ネットワーク;あるいは有線電話網、有線インターネットのような有線ネットワークを介して、外部のマルチメディア機器あるいはサーバとデータを送受信することができるように構成される。
符号化モジュール4130は、一実施形態によれば、通信部4110あるいはマイクロフォン4170を介して提供される時間領域の信号に対して、時間領域の信号から、現在フレームにおいて、トランジェントが検出された区間がオーバーラップが行われない区間であるか否かということを考慮し、次のフレームのためのハングオーバーフラグを設定することができる。
保存部4150は、マルチメディア機器4100の運用に必要な多様なプログラムを保存することができる。
マイクロフォン4170は、ユーザあるいは外部のオーディオ信号を、符号化モジュール4130に提供することができる。
図42は、本発明の一実施形態による復号化モジュールを含むマルチメディア機器の構成を示したブロック図である。
図42に図示されたマルチメディア機器4200は、通信部4210と、復号化モジュール4230とを含んでもよい。また、復号化結果として得られる復元されたオーディオ信号の用途によって、復元されたオーディオ信号を保存する保存部4250をさらに含んでもよい。また、マルチメディア機器4200は、スピーカ4270をさらに含んでもよい。すなわち、保存部4250とスピーカ4270は、オプションとして具備される。一方、図42に図示されたマルチメディア機器4200は、任意の符号化モジュール(図示せず)、例えば、一般的な符号化機能を遂行する符号化モジュール、あるいは本発明の一実施形態による符号化モジュールをさらに含んでもよい。ここで、復号化モジュール4230は、マルチメディア機器4200に具備される他の構成要素(図示せず)と共に一体化され、少なくとも1つの以上のプロセッサ(図示せず)でも具現される。
図42を参照すれば、通信部4210は、外部から提供される符号化されたビットストリームと、オーディオ信号とのうち少なくとも一つを受信するか、復号化モジュール4230の復号化結果として得られる復元されたオーディオ信号と、符号化の結果として得られるオーディオ・ビットストリームとのうち少なくとも一つを送信することができる。一方、通信部4210は、図41の通信部4110と実質的に類似して具現される。
復号化モジュール4230は、一実施形態によれば、通信部4210を介して提供されるビットストリームを受信し、復号化モジュール4230は、一実施形態によれば、通信部34210を介して提供されるビットストリームを受信し、現在フレームがエラーフレームである場合、周波数ドメインでエラー隠匿処理を行い、現在フレームが正常フレームである場合、スペクトル係数を復号化し、エラーフレームあるいは正常フレームである現在フレームに対して、時間・周波数逆変換処理を行い、時間・周波数逆変換処理後に生成される時間ドメイン信号において、現在フレームと、現在フレームの以前フレームとの状態に基づいて、FECモードを選択し、選択されたFECモードに基づいて、エラーフレームである現在フレーム、あるいは以前フレームが、エラーフレームでありながら正常フレームである現在フレームに対して、対応する時間ドメインエラー隠匿処理を行うことができる。
保存部4250は、復号化モジュール4230で生成される復元されたオーディオ信号を保存することができる。一方、保存部4250は、マルチメディア機器4200の運用に必要な多様なプログラムを保存することができる。
スピーカ4270は、復号化モジュール4230で生成される復元されたオーディオ信号を外部に出力することができる。
図43は、本発明の一実施形態による符号化モジュールと、復号化モジュールとを含むマルチメディア機器の構成を示したブロック図である。
図43に図示されたマルチメディア機器4300は、通信部4310、符号化モジュール4320及び復号化モジュール4330を含んでもよい。また、符号化の結果として得られるオーディオ・ビットストリーム、あるいは復号化結果として得られる復元されたオーディオ信号の用途によって、オーディオ・ビットストリーム、あるいは復元されたオーディオ信号を保存する保存部4340をさらに含んでもよい。また、マルチメディア機器4300は、マイクロフォン4350あるいはスピーカ4360をさらに含んでもよい。ここで、符号化モジュール4320と復号化モジュール4330は、マルチメディア機器4300に具備される他の構成要素(図示せず)と共に一体化され、少なくとも一つ以上のプロセッサ(図示せず)でも具現される。
図43に図示された各構成要素は、図41に図示されたマルチメディア機器4100の構成要素、あるいは図42に図示されたマルチメディア機器4200の構成要素と重複するので、その詳細な説明は省略する。
図41ないし図43に図示されたマルチメディア機器4100,4200,4300には、電話、モバイルフォンなどを含む音声通信専用端末、TV(television)、MP3プレーヤなどを含む放送専用装置あるいは音楽専用装置、あるいは音声通信専用端末と、放送専用装置あるいは音楽専用装置との融合端末装置、テレカンファレンシング・システムあるいはインタラクション・システムのユーザ端末が含まれもするが、それらに限定されるものではない。また、マルチメディア機器4100,4200,4300は、クライアント、サーバ、あるいはクライアントとサーバとの間に配置される変換器としても使用される。
一方、マルチメディア機器4100,4200,4300が、例えば、モバイルフォンである場合、図示されていないが、キーパッドのようなユーザ入力部、ユーザ・インターフェース、あるいはモバイルフォンで処理される情報をディスプレイするディスプレイ部、モバイルフォンの全般的な機能を制御するプロセッサをさらに含んでもよい。また、モバイルフォンは、撮像機能を有するカメラ部と、モバイルフォンで必要とする機能を遂行する少なくとも一つ以上の構成要素とをさらに含んでもよい。
一方、マルチメディア機器4100,4200,4300が、例えば、TVである場合、図示されていないが、キーパッドのようなユーザ入力部、受信された放送情報をディスプレイするディスプレイ部、TVの全般的な機能を制御するプロセッサをさらに含んでもよい。また、TVは、TVで必要とする機能を遂行する少なくとも一つ以上の構成要素をさらに含んでもよい。
前記実施形態による方法は、コンピュータで実行されるプログラムに作成可能であり、コンピュータで読み取り可能な記録媒体を利用して、前記プログラムを動作させる汎用デジタルコンピュータでも具現される。また、前述の本発明の実施形態で使用されるデータ構造、プログラム命令、あるいはデータファイルは、コンピュータで読み取り可能な記録媒体に多様な手段を介して記録される。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存される全ての種類の保存装置を含んでもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、プロッピー(登録商標)ディスク及び磁気テープのような磁気媒体(magnetic media);CD(compact disc)−ROM(read only memory)、DVD(digital versatile disk)のような光記録媒体(optical media);フロプティカルディスク(floptical disk)のような磁気・光媒体(magneto-optical media);及びROM、RAM(random access memory)、フラッシュメモリのようなプログラム命令を保存して遂行するように特別に構成されたハードウェア装置;が含まれる。また、コンピュータで読み取り可能な記録媒体は、プログラム命令、データ構造などを指定する信号を伝送する伝送媒体でもある。プログラム命令の例としては、コンパイラによって作われるような機械語コードだけではなく、インタープリタなどを使用して、コンピュータによって実行される高級言語コードを含んでもよい。
以上、本発明の一実施形態は、たとえ限定された実施形態と図面とによって説明されたにしても、本発明の一実施形態は、前述の実施形態に限定されるものではなく、それは、本発明が属する分野で当業者であるならば、そのような記載から、多様な修正及び変形が可能であろう。従って、本発明のスコープは、前述の説明ではなく、特許請求の範囲に示されており、それと均等または等価的は変形は、いずれも本発明の技術的思想の範疇に属するものである。
本発明の実施例に関し、更に、以下の項目を開示する。
(1)時間・周波数逆変換処理後に生成される時間ドメイン信号において、現在フレームと、前記現在フレームの以前フレームとの状態に基づいて、FEC(frame error concealment)モードを選択する段階と、
前記選択されたFECモードに基づいて、エラーフレームである現在フレームあるいは以前フレームが、エラーフレームでありながら、正常フレームである現在フレームに対して、対応する時間ドメインエラー隠匿処理を行う段階と、を含むフレームエラー隠匿方法。
(2)前記エラーフレームである現在フレームについては、前記時間・周波数逆変換処理以前に、周波数ドメインエラー隠匿処理が先行されることを特徴とする(1)に記載のフレームエラー隠匿方法。
(3)前記FECモードは、前記エラーフレームである現在フレームのための第1モード、前記以前フレームがランダムエラーフレームでありながら、正常フレームである現在フレームのための第2モード、及び前記以前フレームがバーストエラーフレームでありながら、正常フレームである現在フレームのための第3モードを含むことを特徴とする(1)に記載のフレームエラー隠匿方法。
(4)前記エラーフレームである現在フレームのための時間ドメインエラー隠匿処理は、
前記時間・周波数逆変換処理後、前記現在フレームの信号に対して、ウィンドウイング処理を行う段階と、
前記時間・周波数逆変換処理後、2つのフレーム以前の信号を、前記現在フレームの開始部分に反復する段階と、
前記現在フレームで反復された信号と、前記現在フレームの信号とに対して、オーバーラップ・アンド・アド処理を行う段階と、
所定のオーバーラップ区間を有するスムージングウィンドウを、前記以前フレームの信号と、前記現在フレームの信号との間に適用し、オーバーラップ・アンド・アド処理を行う段階と、を含むことを特徴とする(1)に記載のフレームエラー隠匿方法。
(5)前記以前フレームがランダムエラーフレームでありながら、正常フレームである現在フレームのための時間ドメインエラー隠匿処理は、
スムージング処理時に適用するスムージングウィンドウのオーバーラップ区間の長さを選択する段階と、
前記選択されたスムージングウィンドウを、前記時間・周波数逆変換処理後、前記以前フレームの信号と、前記現在フレームの信号との間に適用し、オーバーラップ・アンド・アド処理を行う段階と、を含むことを特徴とする(1)に記載のフレームエラー隠匿方法。
(6)前記以前フレームがバーストエラーフレームでありながら、正常フレームである現在フレームのための時間ドメインエラー隠匿処理は、
前記時間・周波数逆変換処理後、前記現在フレームの信号で、次のフレームに該当する部分を、前記現在フレームの開始部分にコピーする段階と、
前記時間・周波数逆変換処理後、前記以前フレームの信号と、未来でコピーした信号とに対して、スムージングウィンドウを適用して、オーバーラップ・アンド・アド処理を行う段階と、
所定のオーバーラップ区間を有するスムージングウィンドウを、前記以前フレームで置き換えられた信号と、前記現在フレームの信号との間に適用し、不連続性を除去しながら、オーバーラップ・アンド・アド処理を行う段階と、を含むことを特徴とする(1)に記載のフレームエラー隠匿方法。
(7)前記FECモードは、前記現在フレームに係わるステーショナリ情報をさらに考慮して選択することを特徴とする(1)に記載のフレームエラー隠匿方法。
(8)前記FECモードは、前記現在フレームに係わるステーショナリ情報をさらに考慮して選択することを特徴とする(1)に記載のフレームエラー隠匿方法。
(9)現在フレームがエラーフレームである場合、周波数ドメインにおいて、エラー隠匿処理を行う段階と、
前記現在フレームが正常フレームである場合、スペクトル係数を復号化する段階と、
前記エラーフレームあるいは正常フレームである前記現在フレームに対して、時間・周波数逆変換処理を行う段階と、
前記時間・周波数逆変換処理後に生成される時間ドメイン信号において、現在フレームと、前記現在フレームの以前フレームとの状態に基づいて、FEC(frame error concealment)モードを選択し、前記選択されたFECモードに基づいて、エラーフレームである現在フレームあるいは以前フレームが、エラーフレームでありながら、正常フレームである現在フレームに対して、対応する時間ドメインエラー隠匿処理を行う段階と、を含むオーディオ信号復号化方法。