(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099605
(43)【公開日】2024-07-25
(54)【発明の名称】フォワードエイリアシング消去を用いた符号化器
(51)【国際特許分類】
G10L 19/00 20130101AFI20240718BHJP
【FI】
G10L19/00 400A
G10L19/00 330B
【審査請求】有
【請求項の数】3
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024064910
(22)【出願日】2024-04-12
(62)【分割の表示】P 2023018225の分割
【原出願日】2011-07-07
(31)【優先権主張番号】61/372,347
(32)【優先日】2010-08-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/362,547
(32)【優先日】2010-07-08
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【弁理士】
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】ルコンテ イェレミー
(72)【発明者】
【氏名】ヴァルムボルト パトリック
(72)【発明者】
【氏名】バイヤー シュテファン
(57)【要約】 (修正有)
【課題】時間領域エイリアシング消去変換符号化モードと時間領域符号化モードとの間の切り替えをサポートすることで、エラーロバストであるか又はフレーム消失にロバストであるコーデックを提供する。
【解決手段】コーデックにおいて、復号化器10は、データストリーム12のフレーム14a~14cにさらなる構文部分24、26を追加し、復号化器のパーサ20が現在のフレームが構成されることを期待して、現在のフレームからフォワードエイリアシング消去データ34を読み取る動作或いは現在のフレームが構成されることを期待せず、現在のフレームからフォワードエイリアシング消去データを読み取らない動作を選択する。これにより、新しい構文部分の提供で符号化効率は少し失われるが、復号化器が損失後にデータストリーム部分を復号化するために、エラーが発生しやすい環境では、新しいシンタックス部分を導入することで、符号化効率の低下を防ぐ。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報信号(18)の時間セグメントが符号化されているフレームのシーケンスをそれぞれ含むデータストリーム(12)を復号化するための復号化器(10)であって、
前記データストリーム(12)を解析するように構成されたパーサ(20)であって、前記パーサは、前記データストリーム(12)を解析する際に、第1の構文部分(24)および第2の構文部分を現在のフレーム(14b)から読み取るように構成される、パーサ(20)と、
時間領域エイリアシング消去変換復号化モードと時間領域復号化モードとのうちから前記第1の構文部分(24)に基づいて第1の選択を実行して第1の選択された復号化モードを取得すること、および前記第1の選択された復号化モードを使用して、前記現在のフレーム(14b)に関連付けられた前記情報信号(18)の現在の時間セグメント(16b)の再構築を実行することによって、前記解析によって前記現在のフレームから得られた情報(28)に基づいて前記情報信号(18)の前記現在の時間セグメント(16b)を再構築するように構成される、再構築器(22)と
を含み、
前記パーサ(20)は、前記データストリーム(12)を解析する際に、前記第2の構文部分に依存して、第1の動作と第2の動作とのうちから第2の選択を実行して第2の選択された動作を取得するように構成され、前記パーサおよび前記再構築器は、
前記第1の動作が前記第2の選択された動作である場合には、前記現在のフレーム(14b)からフォワードエイリアシング消去データ(34)を読み出し、前記フォワードエイリアシング消去データ(34)を使用して、前記現在の時間セグメント(16b)と前のフレーム(14a)の前の時間セグメント(16a)との間の境界でフォワードエイリアシング消去を実行し、
前記第2の動作が前記第2の選択された動作である場合には、前記データストリームの前記解析の際に、前記現在のフレーム(14b)からフォワードエイリアシング消去データ(34)を読み出さないように構成され、
前記第1の構文部分および前記第2の構文部分は各フレームに含まれ、前記第1の構文部分(24)は、それが読み出される前記各フレームを第1のフレームタイプ又は第2のフレームタイプと関連付け、前記各フレームが前記第2のフレームタイプである場合、いくつかのサブフレームから成る前記各フレームのサブ分割のサブフレームを、第1のサブフレームタイプおよび第2のサブフレームタイプのうちの各1つと関連付け、前記再構築器(22)は、前記第1の構文部分(24)が前記各フレームを前記第2のフレームタイプと関連させる場合、前記各フレームの各サブフレームについて、前記第1の構文部分(24)が前記各フレームの各サブフレームを前記第1のサブフレームタイプと関連させる場合には前記時間領域エイリアシング消去変換復号化モードの第2のバージョンとして変換符号化励振線形予測復号化を使用して、各サブフレームに関連付けられた前記各フレームの前記時間セグメントのサブ部分を再構築し、前記第1の構文部分(24)が前記各サブフレームを第2のサブフレームタイプと関連させる場合には前記時間領域復号化モードとしてコードブック励振線形予測復号化を使用して、前記各サブフレームに関連付けられた前記各フレームの前記時間セグメントのサブ部分を再構築するように構成される
ことを特徴とする、復号化器(10)。
【請求項2】
情報信号(18)の時間セグメントが符号化されているフレームのシーケンスをそれぞれ含むデータストリーム(12)を復号化するための方法であって、
前記データストリーム(12)を解析するステップであって、前記データストリーム(12)を解析するステップは、現在のフレーム(14b)から第1の構文部分(24)および第2の構文部分を読み取るステップを含む、解析するステップと、
時間領域エイリアシング消去変換復号化モードと時間領域復号化モードとのうちから前記第1の構文部分(24)に依存して第1の選択を実行して、第1の選択された復号化モードを取得すること、および前記第1の選択された復号化モードを使用して、前記現在のフレーム(14b)に関連付けられた前記情報信号(18)の現在の時間セグメント(16b)の再構築を実行することによって、前記解析するステップによって前記現在のフレーム(14b)から得られた情報に基づいて前記情報信号(18)の前記現在の時間セグメントを再構築するステップと
を含み、
前記データストリーム(12)を解析する際に、第1の動作と第2の動作のうちでの第2の選択が実行され、ここで、
前記第1の動作が前記第2の選択された動作である場合、前記現在のフレーム(14b)からフォワードエイリアシング消去データ(34)が読み出され、前記フォワードエイリアシング消去データ(34)を使用して、前記現在の時間セグメント(16b)と前のフレーム(14a)の前の時間セグメント(16a)との間の境界でフォワードエイリアシング消去が実行され、
前記第2の動作が前記第2の選択された動作である場合、前記データストリームを解析するステップは前記現在のフレーム(14b)からフォワードエイリアシング消去データ(34)を読み出すステップを含まず、
前記第1の構文部分および前記第2の構文部分は各フレームに含まれ、前記第1の構文部分(24)は、それが読み出される前記各フレームを第1のフレームタイプ又は第2のフレームタイプと関連付け、前記各フレームが前記第2のフレームタイプである場合、いくつかのサブフレームから成る前記各フレームのサブ分割のサブフレームを、第1のサブフレームタイプおよび第2のサブフレームタイプのうちの各1つと関連付け、再構築器(22)は、前記第1の構文部分(24)が前記各フレームを前記第2のフレームタイプと関連させる場合、前記各フレームの各サブフレームについて、前記第1の構文部分(24)が前記各フレームの各サブフレームを前記第1のサブフレームタイプと関連させる場合には前記時間領域エイリアシング消去変換復号化モードの第2のバージョンとして変換符号化励振線形予測復号化を使用して、各サブフレームに関連付けられた前記各フレームの前記時間セグメントのサブ部分を再構築し、前記第1の構文部分(24)が前記各サブフレームを第2のサブフレームタイプと関連させる場合には、前記時間領域復号化モードとしてコードブック励振線形予測復号化を使用して、前記各サブフレームに関連付けられた前記各フレームの前記時間セグメントのサブ部分を再構築するように構成される
ことを特徴とする、方法。
【請求項3】
コンピュータ上で動作するときに、請求項2に記載の方法を実行するためのプログラムコードを有するコンピューター・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、時間領域エイリアシング消去変換符号化モードおよび時間領域符号化モード並びに両方のモード間を切り替えるためのフォワードエイリアシング消去、をサポートしているコーデックに関する。
【背景技術】
【0002】
例えば音声、音楽などのさまざまなタイプのオーディオ信号の混合を示している一般のオーディオ信号を符号化するために、異なる符号化モードを混合することが好ましい。個々の符号化モードは、特定のオーディオタイプに適応することができ、従って、マルチモードオーディオ符号化器は、オーディオコンテンツのタイプの変化に対応して、時間とともに符号化モードを変更することを利用することができる。換言すれば、マルチモードオーディオ符号化器は、例えば、特に音声を符号化するために特化した符号化モードを使用して、音声コンテンツを有するオーディオ信号の部分を符号化して、音楽などの非音声コンテンツを示しているオーディオコンテンツのさまざまな部分を符号化するために、別の符号化モードを使用することを決定できる。コードブック励振線形予測符号化モードなどの時間領域符号化モードは、音声コンテンツを符号化することにより適する傾向にあるが、例えば、音楽の符号化に関する限り、変換符号化モードは、時間領域符号化モードより性能が優れている傾向にある。
【0003】
1つのオーディオ信号の中にさまざまなオーディオタイプが共存することを処理するという問題について対処するソリューションが既に存在する。現在新たに現れつつあるUSACは、例えば、主にAAC規格に従っている周波数領域符号化モードと、AMR-WB+規格のサブフレームモードに似た2つの更なる線形予測モード、すなわち、TCX(TCX=transform coded excitation(変換符号化励振))モードおよびACELP(adaptive codebook excitation linear prediction(適応コードブック励振線形予測))モードのMDCT(Modified Discrete Cosine Transformation(修正離散コサイン変換))ベースの変形との間の切り替えを提案する。より正確には、AMR-WB+規格においては、TCXは、DFT変換に基づくが、USACにおいては、TCXは、MDCT変換ベースを有する。特定のフレーミング構造は、AACに類似したFD符号化領域とAMR-WB+に類似した線形予測領域との間を切り替えるために使用される。AMR-WB+規格自体は、USAC規格と関連して、サブフレーミング構造を形成しているそれ自体のフレーミング構造を使用する。AMR-WB+規格は、より小さいTCXおよび/またはACELPフレームに、AMR-WB+フレームをサブ分割している特定のサブ分割構成を可能にする。同様に、AAC規格は、ベースのフレーミング構造を使用するが、フレームコンテンツを変換符号化するために、異なる窓長の使用を可能にする。例えば、長い窓と関連する長い変換長さが、使用されることがあり、または、8つの短い長さの窓は、関連する短い長さの変換とともに使用されることがある。
【0004】
MDCTは、エイリアシングを生じさせる。これは、例えば、TXCおよびFDフレームの境界であてはまる。換言すれば、ちょうどMDCTを使用しているいかなる周波数領域符号化器のように、エイリアシングは、窓のオーバーラップ領域で生じ、隣接したフレームの助けによって消去される。すなわち、2つのFDフレーム間、または、2つのTCX(MDCT)フレーム間の遷移、あるいは、FDからTCXへの、または、TCXからFDへの遷移に関して、復号化側での再構成の中のオーバーラップ/アッド(overlap/add)処理による暗黙のエイリアシング消去がある。オーバーラップ・アッド後に、もはやエイリアシングは存在しない。しかしながら、ACELPに関する遷移の場合には、特有のエイリアシング消去が存在しない。そこで、FAC(フォワードエイリアシング消去(forward aliasing cancellation))と呼ぶことができる新たなツールが導入されなければならない。FACは、隣接するフレームがACELPとは異なる場合、隣接するフレームから生じるエイリアシングを消去することになる。
【0005】
換言すれば、変換符号化モードとACELPなどの時間領域符号化モードとの間の遷移が生じるときはいつでも、エイリアシング消去の問題が生じる。時間領域からできるだけ効率よくスペクトル領域へ変換を実行するために、MDCT、すなわちオーバーラップされた変換を使用した符号化モードなどの時間領域エイリアシング消去変換符号化が使用される。ここで、信号のオーバーラップしている窓部分が、部分ごとのサンプル数よりも部分ごとの変換係数の数が少ない変換を使用して変換され、その結果、個々の部分についてエイリアシングが生じ、このエイリアシングは、時間領域エイリアシング消去によって、すなわち隣接している再変換された信号部分のオーバーラップしているエイリアシング部分を加算することによって、消去される。MDCTは、この種の時間領域エイリアシング消去変換である。不都合なことに、TDAC(時間領域エイリアシング消去(time-domain aliasing cancellation))は、TC符号化モードと時間領域符号化モードとの間の遷移では利用できない。
【0006】
この問題を解決するために、フォワードエイリアシング消去(FAC)を使用することができ、それによって、変換符号化から時間領域符号化への符号化モードにおける変更が生じるときはいつでも、データストリームの中に、符号化器は、現在のフレームの中の付加的なFACデータの信号を送る。しかしながら、これは、復号化器が現在復号化されたフレームがその構文の中にFACデータを含むか否かに関して確認するために、連続したフレームの符号化モードを比較することを要する。これはまた、復号化器が現在のフレームからFACデータを読み取る又は解析する必要があるか否かに関してはわからなくてもよいフレームがあり得ることを意味する。換言すれば、1つまたは複数のそのフレームが送信の間に失われた場合、復号化器は、直ちに続く(受信された)フレームに関して、符号化モードの変化が起こったか否かについてや現在のフレームの符号化されたデータのビットストリームがFACデータを含むか否かについては認識していない。したがって、復号化器は、現在のフレームを廃棄しなければならず、次のフレームを待たなければならない。別の方法として、復号化器は、2つの復号化試行を実行することによって現在のフレームを解析することができ、一方はFACデータが存在すると仮定し、他方はFACデータが存在しないと仮定し、その後、両方の選択肢のうちの1つが失敗するかどうかに関して決定することができる。復号化処理は、2つの条件のうちの1つにおいて復号化器をクラッシュさせる可能性は高い。すなわち、実際は後者の可能性は、可能なアプローチではない。復号化器は、いつでもデータを解釈する方法を知っていなければならず、データを処理する方法に関するそれ自体の推測に依存してはならない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、時間領域エイリアシング消去変換符号化モードと時間領域符号化モードとの間の切り替えをサポートすることによって、エラーロバストである又はフレーム消失にロバストであるコーデックを提供することが、本願発明の目的である。
【課題を解決するための手段】
【0008】
この目的は、これに添付した独立請求項のいずれかの主題によって達成される。
【0009】
本願発明は、復号化器のパーサが、現在のフレームがフォワードエイリアシング消去データを含むことを予測し、従って現在のフレームからフォワードエイリアシング消去データを読み取るという第1の動作と、現在のフレームがフォワードエイリアシング消去データを含むことを予測せず、従って現在のフレームからフォワードエイリアシング消去データを読み取らないという第2の動作との間で、どちらを選択するかに応じて、更なる構文部分が、そのフレームに追加される場合に、時間領域エイリアシング消去変換符号化モードと時間領域符号化モードとの間の切り替えをサポートしている、よりエラーにロバスト又はフレーム消失にロバストなコーデックが、達成可能であるという発見に基づく。換言すれば、第2の構文部分の供給によって、符号化効率がわずかに失われる一方で、第2の構文部分は、フレーム消失を有する通信チャネルの場合に、コーデックを使用する可能性を提供するだけである。第2の構文部分がない場合、復号化器は、消失の後のいかなるデータストリーム部分も復号化することができず、構文解析を再開しようとする際にクラッシュするであろう。このように、エラーを起こしやすい環境において、符号化効率は、第2の構文部分の導入によってゼロになるのが防止される。
【0010】
本願発明の更なる好ましい実施形態は、従属項の対象である。更に、本願発明の好ましい実施形態は、図面を参照して、以下に更に詳細に説明される。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施形態に従って復号化器の概略ブロック図を示す。
【
図2】
図2は、実施形態に従って符号化器の概略ブロック図を示す。
【
図3】
図3は、
図2の再構築器のあり得る実施態様のブロック図を示す。
【
図4】
図4は、
図3のFD復号化モジュールのあり得る実施態様のブロック図を示す。
【
図5】
図5は、
図3のLPD復号化モジュールのあり得る実施態様のブロック図を示す。
【
図6】
図6は、実施形態によるFACデータを生成するために符号化手順を示している概略図を示す。
【
図7】
図7は、実施形態によるあり得るTDAC変換再変換の可能性の概略図を示す。
【
図8】
図8は、最適化の点で符号化モードの変更を検証するために符号化器における更なる処理の符号化器のFACデータのパス線構造を説明するためのブロック図を示す。
【
図9】
図9は、最適化の点で符号化モードの変更を検証するために符号化器における更なる処理の符号化器のFACデータのパス線構造を説明するためのブロック図を示す。
【
図10】
図10は、データストリームから
図8および
図9のFACデータに達するための復号化器処理のブロック図を示す。
【
図11】
図11は、データストリームから
図8および
図9のFACデータに達するための復号化器処理のブロック図を示す。
【
図12】
図12は、異なる符号化モードの境界フレームを越えた復号化側のFACベースの再構築の概略図を示す。
【発明を実施するための形態】
【0012】
図1は、本願発明の一実施形態による復号化器10を示す。復号化器10は、それぞれ、情報信号18の時間セグメント16a~16cが符号化される一連のフレーム14a、14bおよび14cを含んでいるデータストリームを復号化するためのものである。
図1に示されるように、時間セグメント16a~16cは、直接互いに隣接しており、経時的に順序付けられる、重なりなしのセグメントである。
図1に示されるように、時間セグメント16a~16cは、等しいサイズでもよいが、別の実施形態もまた可能である。時間セグメント16a~16cの各々は、フレーム14a~14cのうちの各一つに符号化される。換言すれば、各時間セグメント16a~16cは、それぞれ、フレーム14a~14cに符号化されるセグメント16a~16cの順序に従う、それらの中で定められた順序も有するフレーム14a~14cのうちの1つと一意的に関連付けられる。
図1は、各フレーム14a~14cが、例えば、符号化ビットにおいて測定された等しい長さであることを提案するが、これは、当然、義務的ではない。むしろ、フレーム14a~14cの長さは、各フレーム14a~14cが関連付けられている時間セグメント16a~16cの複雑さによって変化し得る。
【0013】
以下にまとめられた実施形態の説明を容易にするために、情報信号18はオーディオ信号であると仮定される。しかしながら、情報信号はまた、物理センサまたはその種の他のもの、例えば光センサ等による信号出力などの他の信号でもありえる点に留意する必要がある。特に、信号18は、特定のサンプリングレートでサンプリングされることができ、時間セグメント16a~16cは、時間およびサンプル数において、それぞれ等しいこの信号18の直接連続した部分をカバーすることができる。時間セグメント16a~16cごとのサンプル数は、例えば、1024サンプルであり得る。
【0014】
復号化器10は、パーサ20と再構築器22とを含む。パーサ20は、データストリーム12を解析して、データストリーム12を解析する際に、現在のフレーム14b、すなわち、現在復号化されることになるフレームから第1の構文部分24および第2の構文部分26を読み取るように構成される。
図1において、フレーム14aが直前に復号化されたフレームであるのに対して、フレーム14bが現在復号化されることになるフレームであることが、例として仮定される。各フレーム14a~14cは、以下に概説される意義またはその意味によってその中で組み込まれた第1の構文部分および第2の構文部分を有する。
図1において、フレーム14a~14cの中の第1の構文部分は、その中に「1」を有する囲いで示され、第2の構文部分は、「2」と名づけられた囲いで示される。
【0015】
当然に、各フレーム14a~14cはまた、そこに組み込まれた更なる情報を有し、それは、以下に更に詳細に概説される方法で、関連した時間セグメント16a~16cを示すためのものである。この情報は、ハッチングされたブロックによって、
図1に示され、参照符号28が現在のフレーム14bの更なる情報のために使用される。パーサ20はまた、データストリーム12を解析する際に、現在のフレーム14bから情報28を読み取るように構成される。
【0016】
再構築器22は、時間領域エイリアシング消去変換復号化モードおよび時間領域復号化モードのうちの選択された一つを使用して、更なる情報28に基づいて、現在のフレーム14bと関連付けられた情報信号18の現在の時間セグメント16bを再構築するように構成される。その選択は、第1の構文要素24に依存する。両方の復号化モードは、再変換を使用して、スペクトル領域から時間領域へ戻す遷移の有無によっても、互いに異なる。(その対応する変換に加えて)その再変換は、個々の時間セグメントに関して、エイリアシングを生じさせるが、時間領域エイリアシング消去変換符号化モードにおける符号化された連続したフレーム間の境界での遷移については、時間領域エイリアシング消去によって補償される。時間領域復号化モードは、いかなる再変換も必要としない。むしろ、その復号化は、時間領域にあることを維持する。このように、一般的に言って、再構築器22の時間領域エイリアシング消去変換復号化モードは、再構築器22によって実行されている再変換に関与する。この再変換は、(TDAC変換復号化モードである)現在のフレーム14bの情報28から得られるような第1の数の変換係数を、それによりエイリアシングを生じさせている第1の数より大きい第2のサンプル数のサンプル長さを有する再変換された信号セグメントへマップする。時間領域復号化モードは、励振および線形予測係数が、その場合には時間領域符号化モードである現在のフレームの情報28から再構築する線形予測復号化モードに関係し得る。
【0017】
このように、上記説明から明白になったように、時間領域エイリアシング消去変換復号化モードにおいて、再構築器22は、情報28から再変換によって各時間セグメント16bで情報信号を再構築するための信号セグメントを得る。再変換された信号セグメントは、現在の時間セグメント16bが実際にそうであるよりも長く、時間セグメント16bを含み、かつ、超えて広がっている時間部分の中の情報信号18の再構築に関与する。
図1は、原信号を変換する時、または、変換および再変換の両方の時に使用される変換窓32を示す。図に示すように、窓32は、その始めのゼロ部分32
1およびその終端のゼロ部分32
2と、現在の時間セグメント16bの立ち上がりおよび立下りのエイリアシング部分32
3および32
4とを含むことができ、窓32が1つである非エイリアシング部分32
5はエイリアシング部分32
3および32
4間に位置することができる。ゼロ部分32
1および32
2は、任意である。単にゼロ部分32
1および32
2のうちの一つだけがあることも可能である。
図1に示されているように、窓関数は、エイリアシング部分の範囲内で単調増加/減少し得る。エイリアシングは、窓32がゼロから1に連続的に立ち上がるまたはこれらの逆がなされるエイリアシング部分32
3および32
4の範囲内で生じる。また、前および後の時間セグメントが時間領域エイリアシング消去変換符号化モードで符号化される限り、エイリアシングはクリティカルではない。この可能性は、時間セグメント16cに関して
図1において示される。点線は、時間セグメント16cのための各変換窓32'を示し、そのエイリアシング部分は、現在の時間セグメント16bのエイリアシング部分32
4と同時に起こる。再構築器22により時間セグメント16b及び16cの再変換されたセグメント信号を加算することは、互いに対して両方の再変換された信号セグメントのエイリアシングを相殺する。
【0018】
しかしながら、前または後のフレーム14aまたは14cが時間領域符号化モードで符号化される場合において、異なる符号化モード間の遷移は、現在の時間セグメント16bの立ち上がり又は立下りで生じ、そして、各エイリアシングを説明するために、データストリーム12は、復号化器10がこの各遷移で生じているエイリアシングを補償することを可能にするために、遷移のすぐ後に続く各フレームの中にフォワードエイリアシング消去データを含む。例えば、現在のフレーム14bが時間領域エイリアシング消去変換符号化モードについてのものであることも起こり得るが、復号化器10は、前のフレーム14aが時間領域符号化モードについてのものであったかどうかに関しては不明である。例えば、フレーム14aは、送信の間になくなることもあり、したがって、復号化器10は、それへのアクセスがない。しかしながら、フレーム14aの符号化モードに応じて、現在のフレーム14bは、エイリアシング部分323又はそうでないところで生じているエイリアシングを補償するために、フォワードエイリアシング消去データを含む。同様に、現在のフレーム14bが時間領域符号化モードについてのものであり、前のフレーム14aが、復号化器10によって受信されなかった場合、現在のフレーム14bは、その中に組み込まれた、または、前のフレーム14aのモードに依存していないフォワードエイリアシング消去データを有する。特に、前のフレーム14aが他の符号化モード、すなわち、時間領域エイリアシング消去変換符号化モードについてのものである場合、フォワードエイリアシング消去データは、それがなければ時間セグメント16aと16bとの間の境界で生じているエイリアシングを消去するために現在のフレーム14bに存在するであろう。しかしながら、前のフレーム14aが同じ符号化モード、すなわち、時間領域符号化モードについてのものである場合、パーサ20は、フォワードエイリアシング消去データが現在のフレーム14bに存在するのを予測する必要はない。
【0019】
したがって、パーサ20は、フォワードエイリアシング消去データ34が現在のフレーム14bに存在するか否かに関して確認するために、第2の構文部分26を利用する。データストリーム12を解析することにおいて、パーサ20は、現在のフレーム14bがフォワードエイリアシング消去データ34を含むことを予測して、従って現在のフレーム14bからフォワードエイリアシング消去データ34を読み取る第1の動作、および、現在のフレーム14bがフォワードエイリアシング消去データ34を含むことを予測せず、従って現在のフレーム14bからフォワードエイリアシング消去データを読み取らない第2の動作のうちの一つを選択することができ、その選択は、第2の構文部分26に依存する。存在する場合、再構築器22は、フォワードエイリアシング消去データを使用して、現在の時間セグメント16bと前のフレーム14aの前の時間セグメント16aとの間の境界でフォワードエイリアシング消去を実行するように構成される。
【0020】
このように、第2の構文部分がない状況と比較して、
図1の復号化器は、例えば、前のフレーム14aの符号化モードが、フレーム消失によって復号化器10に知られていない場合でさえ、現在のフレーム14bを廃棄する、または失敗して解析を中断する必要がない。むしろ、復号化器10は、現在のフレーム14bがフォワードエイリアシング消去データ34を有するか否かに関して確認するために、第2の構文部分26を利用することが可能である。換言すれば、第2の構文部分は、2択のうちの1つ、すなわち、前のフレームとの境界のためのFACデータが存在するか否かに関して明白な基準を提供して、適用され、フレーム消失の場合にさえ、いかなる復号化器もそれらの実施態様とは関係なく同じ動作をすることができることを確実にする。このように、上で概説された実施形態は、フレーム消失の問題を解決するためのメカニズムを導入する。
【0021】
以下で更により詳細な実施形態を説明する前に、
図1のデータストリーム12を生成することが可能な符号化器は、それぞれ
図2によって説明される。
図2の符号化器は、通常、参照符号40によって示されて、データストリーム12が情報信号の時間セグメント16a~16cがその中にそれぞれ符号化されるフレームのシーケンスを含むように、データストリーム12に情報信号を符号化するためのものである。符号化器40は、構築器(constructor)42と挿入器(inserter)44とを含む。構築器は、時間領域エイリアシング消去変換符号化モードおよび時間領域符号化モードのうちの第1の選択された一つを使用して、現在のフレーム14bの情報に情報信号の現在の時間セグメント16bを符号化するように構成される。挿入器44は、情報28を、第1の構文部分24および第2の構文部分26とともに現在のフレーム14bに挿入するように構成され、そこにおいて、第1の構文部分が、第1の選択、すなわち、符号化モードの選択を示す。構築器42は、代わりに、現在の時間セグメント16bと前のフレーム14aの前の時間セグメント16aとの間の境界で、フォワードエイリアシング消去のためのフォワードエイリアシング消去データを決定するように構成されて、現在のフレーム14bおよび前のフレーム14aが、時間領域エイリアシング消去変換符号化モードおよび時間領域符号化モードの異なるものを使用して符号化される場合には、フォワードエイリアシング消去データ34を現在のフレーム14bに挿入し、現在のフレーム14bおよび前のフレーム14aが、時間領域エイリアシング消去変換符号化モードおよび時間領域符号化モードの等しいものを使用して符号化される場合には、いかなるフォワードエイリアシング消去データも現在のフレーム14bに挿入しない。すなわち、符号化器40の構築器42は、一部の最適化の意味で、両方の符号化モードのうちの一方から他方へ切り替えることが好ましいことを決定するときはいつでも、構築器42および挿入器44は、決定し、フォワードエイリアシング消去データ34を現在のフレーム14bに挿入するように構成され、その一方で、フレーム14aおよび14b間で符号化モードを維持する場合、FACデータ34は、現在のフレーム14bに挿入されない。復号化器が、FACデータ34が現在のフレーム14bの中にあるか否かに関して、前のフレーム14aのコンテンツについて知ることなしに、現在のフレーム14bから得ることを可能にするために、特定の構文部分26は、現在のフレーム14bおよび前のフレーム14aが時間領域エイリアシング消去変換符号化モードおよび時間領域符号化モードの等しい又は異なるものを使用して符号化されるかに依存してセットされる。第2の構文部分26を理解するための具体例は、以下に概説される。
【0022】
以下において、一実施形態が説明され、それによって、上述の実施形態の復号化器および符号化器に属するコーデックは、特別なタイプのフレーム構造をサポートし、それによりフレーム14a~14c自体は、サブフレーミングに従い、時間領域エイリアシング消去変換符号化モードの2つの異なったバージョンが存在する。特に、以下に更に示したこれらの実施形態によれば、第1の構文部分24は、それが読み取られた各フレームを、下記でFD(周波数領域)符号化モードと呼ばれた第1のフレームタイプ、または、下記でLPD符号化モードと呼ばれる第2のフレームタイプと関連付けさせ、各フレームが第2のフレームタイプである場合、いくつかのサブフレームからなる各フレームのサブ分割のサブフレームを、第1のサブフレームタイプおよび第2のサブフレームタイプの各一つと関連付けさせる。以下に更に詳細に概説されるように、第1のサブフレームタイプは、TCX符号化である対応するサブフレームと関係し、一方で、第2のサブフレームタイプは、ACELP、すなわち、適応コードブック励振線形予測(Adaptive Codebook Excitation Linear Prediction)を使用して符号化されるこの各サブフレームと関係することができる。また、他のいかなるコードブック励振線形予測符号化モードも、同様に使用することができる。
【0023】
図1の再構築器22は、これらの異なる符号化モード可能性を処理するように構成される。この目的で、再構築器22は、
図3に示されるように構築されることができる。
図3の実施形態によれば、再構築器22は、2つのスイッチ50および52とこれらの復号化モジュール54,56および58を含み、それらの各々は、以下により詳細に説明されるように、特定のタイプのフレームおよびサブフレームを復号化するように構成される。
【0024】
スイッチ50は、現在復号化されたフレーム14bの情報28が入る入力と、スイッチ50がそれを介して現在のフレームの第1の構文部分25に依存して制御可能である制御入力を有する。スイッチ50は、2つの出力を有し、そのうちの一つが、FD復号化(FD=frequency domain(周波数領域))に関して役割を果たす復号化モジュール54の入力に接続され、他方の一つは、サブスイッチ52の入力に接続され、それもまた、2つの出力を有し、そのうちの一つが、変換符号化励振線形予測復号化の役割を果たす入力復号化モジュール56に接続され、その他方の一つは、コードブック励振線形予測復号化の役割を果たすモジュール58の入力に接続される。すべての符号化モジュール54~58は、これらの信号セグメントが各復号化モードによって得られた各フレームおよびサブフレームと関連付けられた各時間セグメントを再構築している信号セグメントを出力する。そして、遷移ハンドラ60は、再構築された情報信号のその出力で、出力するために、上で説明され、以下に更に詳細に説明される遷移処理およびエイリアシング消去を実行するようにその各入力で信号セグメントを受信する。遷移ハンドラ60は、
図3に示されたように、フォワードエイリアシング消去データ34を使用する。
【0025】
図3の実施形態によれば、再構築器22は、以下のように作動する。第1の構文部分24が、現在のフレームを第1のフレームタイプ、すなわちFD符号化モードと関連させる場合、スイッチ50は、現在のフレーム15bと関連付けられた時間セグメント16bを再構築するために、時間領域エイリアシング消去変換復号化モードの第1のバージョンとして周波数領域復号化を使用して、情報28をFD復号化モジュール54へ転送する。そうでない場合、すなわち、第1の構文部分24が現在のフレーム14bを第2のフレームタイプ、すなわちLPD符号化モードと関連付けられる場合、スイッチ50は、代わりに現在のフレーム14のサブフレーム構造で作動する情報28をサブスイッチ52へと転送する。より正確には、LPDモードによれば、フレームは、1つ又は複数のサブフレームに分割される。あとに続く図に関して、以下により詳細に概説されるように、そのサブ分割は、現在の時間セグメント16bの重なりのないサブ部分への対応する時間セグメント16bのサブ分割に対応する。構文部分24は、1つ又は複数のサブ部分ごとに、それぞれ、それが第1のサブフレームタイプと関連付けるか第2のサブフレームタイプと関連するかについて示す。各サブフレームが第1のサブフレームタイプについてのものである場合、サブスイッチ52は、時間領域エイリアシング消去変換復号化モードの第2のバージョンとして、変換符号化励振線形予測復号化を使用するために、そのサブフレームに属する各情報28を、TCX復号化モジュール56へと転送し、現在の時間セグメント16bの各サブ部分を再構築する。しかしながら、各サブフレームが、第2のサブフレームタイプについてのものである場合、サブスイッチ52は、時間領域復号化モードとしてコードブック励振線形予測符号化を実行するために、モジュール58に情報28を転送して、現在の時間信号16bの各サブ部分を再構築する。
【0026】
モジュール54~58によって出力された再構築された信号セグメントは、上で説明され、以下により詳細に説明されるように、各遷移処理およびオーバーラップ・アッドおよび時間領域エイリアシング消去処理を実行することに関する正しい(表示)時間順で遷移ハンドラ60によってまとめられる。
【0027】
特に、FD復号化モジュール54は、
図4に示すように構築されることができて、以下に説明されるように、動作することができる。
図4によれば、FD復号化モジュール54は、互いに連続的に接続された逆量子化器70および再変換器72を含む。上述の通り、現在のフレーム14bがFDフレームである場合、それはモジュール54に転送され、逆量子化器70はまた、情報28によって含まれるスケールファクタ情報76を使用して、現在のフレーム14bの情報28の範囲内で、変換係数情報74のスペクトル可変逆量子化を実行する。スケールファクタは、例えば、量子化雑音を人間のマスキング閾値以下に保つために、心理音響原理を使用して符号化器側で決定された。
【0028】
再変換器72は、次に、逆量子化変換係数情報で再変換を実行して、現在のフレーム14bと関連付けられた時間セグメント16bを時間においてその全体且つそれを越えて広がっている再変換された信号セグメント78を得る。以下により詳細に概説されるように、再変換器72によって実行される再変換は、DCT IVを含むIMDCT (逆修正離散コサイン変換) とその後の展開操作であり、この展開操作では、前述のステップを逆の順序で実行することによって変換係数情報74を生成する際に使用される変換ウィンドウと等しいか、またはそれから逸脱する可能性がある再変換ウィンドウを使用してウィンドウ化が実行された後、つまりウィンドウ化とその後の折りたたみ操作に続いてDCT IVが実行され、その後に量子化ノイズをマスキングしきい値以下に保つために心理音響原理によって操作される可能性がある量子化が実行される。
【0029】
変換係数情報28の量が、再構築された信号セグメント78が長いサンプル数よりは少ない、再変換器72の再変換のTDAC特性によることに留意する価値がある。IMDCTの場合には、情報47の範囲内の変換係数の数は、時間セグメント16bのサンプル数とむしろ等しい。すなわち、基礎をなす変換は、現在の時間セグメント16bの境界、すなわち、立ち上がりおよび立下りでの変換によって生じているエイリアシングを消去するために、時間領域エイリアシング消去を必要としている、臨界サンプリング(critically sampling)変換と呼ばれ得る。
【0030】
ちょっとした留意点として、LPDフレームのサブフレーム構造に類似して、FDフレームはサブフレーミング構造の対象でもありえることに留意されたい。例えば、FDフレームは、長窓モードについてのものであり得、そのモードでは、単一の窓が、各時間セグメントを符号化するために、現在の時間セグメントの立ち上がり及び立下りを越えて広がっている信号部分を窓関数処理するために使用される、あるいは、短窓モードについてのものであり得、そのモードでは、FDフレームの現在の時間セグメントの境界を越えて広がっている各信号部分が、その各々が各窓関数処理及び変換に影響を受けるより小さいサブ部分にサブ分割される。その場合、FD復号化モジュール54は、現在の時間セグメント16bのサブ部分のための再変換された信号セグメントを出力する。
【0031】
FD復号化モジュール54のあり得る実施態様を説明した後に、TCX LP復号化モジュールおよびコードブック励振LP復号化モジュール56および58のあり得る実施態様について、それぞれ、
図5に関して説明される。換言すれば、
図5は、現在のフレームがLPDフレームである場合を取扱う。その場合、現在のフレーム14bは、1つ又は複数のサブフレームに構築される。この場合は、3つのサブフレーム90a、90b、および90cへの構造化が示される。構造化が、デフォルトで、特定のサブ構造化の可能性に制限されるということがありえる。サブ部分の各々は、現在の時間セグメント16bのサブ部分92a、92bおよび92cの各一つと関連付けられている。すなわち、1つ又は複数のサブ部分92a~92cは、全体の時間セグメント16bを、オーバーラップなしで、ギャップなくカバーする。時間セグメント16bの中のサブ部分92a~92cの順番によれば、順番は、サブフレーム92a~92cの中で定められる。
図5に示すように、現在のフレーム14bは、サブフレーム90a~90cに、完全にサブ分割されない。さらに換言すれば、LPC情報もまた、個々のサブフレームに下位構造化されるが、さらに詳細に以下に説明されるように、現在のフレーム14bのいくつかの部分は、LPC情報として、一般に第1および第2の構文部分24および26、FACデータ34、および可能性のある更なるデータなどのすべてのサブフレームに属する。
【0032】
TCXサブフレームを処理するために、TCX LP復号化モジュール56は、スペクトル重み付け抽出器(derivator)94、スペクトル重み付け器(spectral weighter)96および再変換器98を含む。説明のために、第1のサブフレーム90aは、TCXサブフレームであることを示し、一方、第2のサブフレーム90bは、ACELPサブフレームであると仮定される。
【0033】
TCXサブフレーム90aを処理するために、抽出器94は、現在のフレーム14bの情報28の中のLPC情報104から、スペクトル重み付けフィルタを導出し、そして、スペクトル重み付け器96は、矢印106で示すように、抽出器94から受信されたスペクトル重み付けフィルタを使用して、サブフレーム90aの箇所の範囲内でスペクトル的に変換係数情報に重み付けする。
【0034】
次に、再変換器98は、スペクトル重み付けされた変換係数情報を再変換して、現在の時間セグメントのサブ部分92aの全体に、かつ、それを超えて時間tにおいて広がっている再変換された信号セグメント108を得る。再変換器98によって実行された再変換は、再変換器72によって実行されるのと同様に実行される。実質的に、再変換器72および98は、共通にハードウェア、ソフトウェアルーチン、またはプログラミング可能なハードウェア部を有することができる。
【0035】
現在のLPDフレーム16bの情報28に含まれたLPC情報104は、時間セグメント16bの中の一時点の、または、例えば各サブ部分92a~92cのための一組のLPC係数など時間セグメント16bの中のいくつかの時点のためのLPC係数を示すことができる。スペクトル重み付けフィルタ抽出器94は、それが実質的にLPC合成フィルタまたはその一部変更されたバージョンに近いように、抽出器94によってLPC係数から導出される伝達関数によって情報90aの中の変換係数にスペクトル的に重み付けしているスペクトル重み係数に、LPC係数を変換する。重み付け器96によってスペクトル重み付けを越えて実行されたいかなる逆量子化も、スペクトル的に変化しなくてもよい。このように、FD復号化モードとは異なって、TCX符号化モードによる量子化雑音は、LPC分析を使用して、スペクトル的に形成される。
【0036】
しかしながら、再変換の使用のため、再変換された信号セグメント108は、エイリアシングを受けている。しかし、同じ再変換を使用することにより、連続したフレームおよびサブフレームの再変換信号セグメント78および108は、それぞれ、単にそのオーバーラップ部分を足し合わせることだけによって、遷移ハンドラ60によって相殺されたそれらのエイリアシングを有することができる。
【0037】
(A)CELPサブフレーム90bを処理する際に、励振信号抽出器100は、各サブフレーム90bの中の励振更新情報から、励振信号を導出し、LPC合成フィルタ102は、現在の時間セグメント16bのサブ部分92bのためのLP合成された信号セグメント110を得るために、LPC情報104を使用して、励振信号のLPC合成フィルタリングを実行する。
【0038】
抽出器94および100は、現在の時間セグメント16bの中の現在のサブ部分に対応する現在のサブフレームの変動する位置に、現在のフレーム16bの中のLPC情報104を適合させるために、一部の補間を実行するように構成されることができる。
【0039】
共通して
図3~
図5を説明すると、さまざまな信号セグメント108、110および78は、次に、正しい時間順ですべての信号セグメントをまとめる遷移ハンドラ60に入る。特に、遷移ハンドラ60は、FDフレームおよびTCXサブフレームの直接連続したものの時間セグメントの間の境界で、時間的にオーバーラップしている窓部分の範囲内で、時間領域エイリアシング消去を実行して、これらの境界を越えて情報信号を再構築する。このように、連続したFDフレーム間の境界、TCXフレームがあとに続くFDフレームとFDフレームがあとに続くTCXサブフレームとの間の境界それぞれのためのフォワードエイリアシング消去データは、その必要性がない。
【0040】
しかしながら、FDフレームまたはTCXサブフレーム(両方とも、変換符号化モードの変形を示している)がACELPサブフレーム(時間領域符号化モードの形を示す)に先行するときはいつでも、その状況は変化する。その場合、遷移ハンドラ16は、現在のフレームのフォワードエイリアシング消去データからフォワードエイリアシング消去合成信号を導出して、直前の時間セグメントの再変換された信号セグメント100または78に、第1のフォワードエイリアシング消去合成信号を付加し、各境界を越えて情報信号を再構築する。現在のフレームの中のTCXサブフレームおよびACELPサブフレームが関連した時間セグメントのサブ部分間の境界を定めるので、その境界が現在の時間セグメント16bに区分される場合、遷移ハンドラは、第1の構文部分24からのこれらの遷移のための各フォワードエイリアシング消去データがあること、および、そこに定められたサブフレーミング構造を確認することができる。構文部分26は必要ではない。前のフレーム14aは、なくなってもなくならなくてもよい。
【0041】
しかしながら、その境界が、連続した時間セグメント16aおよび16bの間の境界と一致する場合、パーサ20は、現在のフレーム14bがフォワードエイリアシング消去データ34を有するかどうかに関して決定するために、現在のフレームの中の第2の構文部分26を検査しなければならず、FACデータ34は、現在の時間セグメント16bの前端で生じているエイリアシングを消去するためのものである。なぜなら、前のフレームが、FDフレームである、または、前のLPDフレームの最後のサブフレームがTCXサブフレームであるからである。少なくとも、パーサ20は、前のフレームの内容がなくなった場合に備えて、構文部分26を知っていることを必要とする。
【0042】
同様の記述は、他の方向、すなわち、ACELPサブフレームからFDフレームまたはTCXフレームへの遷移にもあてはまる。各セグメントおよびセグメントのサブ部分間の各境界が、現在の時間セグメントの内側に区分される限り、パーサ20は、現在のフレーム14b自体から、すなわち第1の構文部分24からのこれらの遷移のためのフォワードエイリアシング消去データ34があることを決定する際に問題はない。第2の構文部分は、必要ではなく、無関係でさえある。しかしながら、その境界が、前の時間セグメント16aと現在の時間セグメント16bとの間の境界で生じる、または一致する場合、パーサ20は、少なくとも前のフレームにアクセスできない場合に、フォワードエイリアシング消去データ34が現在の時間セグメント16bの前端で遷移のために存在するか否かについて決定するために、第2の構文部分26を検査する必要がある。
【0043】
ACELPからFDまたはTCXへの遷移の場合には、遷移ハンドラ60は、フォワードエイリアシング消去データ34から第2のフォワードエイリアシング消去合成信号を導出して、境界を越えて情報信号を再構築するために、現在の時間セグメントの中の再変換された信号セグメントに、第2のフォワードエイリアシング消去合成信号を加える。
【0044】
一般に、異なる符号化モードのフレームおよびサブフレームが存在した実施形態に関連した
図3~
図5に関する実施形態を説明した後に、これらの実施形態の特定の実施態様が、以下に更に詳細に概説される。これらの実施形態の記載は、同時に、この種のフレームおよびサブフレームを含んでいる各データストリームを生成する際のあり得る手段をそれぞれ含む。以下に、その中で概説される原理が他の信号にも転換可能でもあるが、この特定の実施形態は、音声音響統合符号化方式(unified speech and audio codec)(USAC)として説明される。
【0045】
USACの窓の切り替えには、いくつかの目的がある。それは、FDフレーム、すなわち、周波数符号化で符号化されたフレーム、および、次に、ACELP(サブ)フレームおよびTCX(サブ)フレームに構築されるLPDフレームを混合する。ACELPフレーム(時間領域符号化)は、矩形で、オーバーラップなしの窓関数処理を入力サンプルに適用し、一方、TCXフレーム(周波数領域符号化)は、非矩形で、オーバーラップする窓関数処理を入力サンプルに適用して、それから、例えば、時間領域エイリアシング消去(TDAC)変換、すなわちMDCTを使用して、信号を符号化する。全体の窓を調和させるために、TCXフレームは、均一な形状を有する中心がある窓を使用することができ、そして、ACELPフレームの境界での遷移を管理するために、時間領域エイリアシングを消去するための明示的な情報および調和されたTCX窓の窓関数処理効果が送信される。この付加情報を、フォワードエイリアシング消去(FAC)とみなすことができる。FACおよび復号化されたMDCTの量子化雑音が同じ性質であるように、FACデータは、LPC重み付けされた領域において、以下の実施形態で量子化されている。
【0046】
図6は、ACELPによって符号化されたフレーム122、124に先行する、それに続く変換符号化(TC)によって符号化されたフレーム120の符号化器での処理を示す。上記説明に即して、TCの概念は、AACを用いた長いおよび短いブロックにわたったMDCT、ならびに、MDCTベースのTCXを含む。すなわち、フレーム120は、例えば
図5のサブフレーム90a,92aとして、FDフレームまたはTCX(サブ)フレームでもよい。
図6は、時間領域マーカーおよびフレーム境界を示す。フレームまたは時間セグメント境界は、点線によって示され、一方、時間領域マーカーは、水平軸に沿った短い縦線である。以下の記載で、用語「時間セグメント」および「フレーム」が、時々、そこの一意な関連のため、同義的に使用されることが述べられなければならない。
【0047】
このように、
図6の垂直な点線は、サブフレーム/時間セグメントのサブ部分またはフレーム/時間セグメントでありえるフレーム120の始めと終わりを示す。LPC1およびLPC2は、エイリアシング消去を実行するために以下において使用されるLPCフィルタ係数またはLPCフィルタに対応する分析窓の中心を示す。これらのフィルタ係数は、例えば、LPC情報104を用いた補間を使用することによって、再構築器22または抽出器90および100によって復号化器で導出される(
図5参照)。LPCフィルタは、フレーム120の始めでその計算に対応するLPC1、および、フレーム120の終わりでその計算に対応するLPC2を含む。フレーム122は、ACELPによって符号化されたと仮定される。同じことが、フレーム124にあてはまる。
【0048】
図6は、
図6の右側に番号が付けられた4本のラインで構成されている。各ラインは、符号化器での処理におけるステップを示す。各ラインが上記ラインに時間合わせされていることを理解すべきである。
【0049】
図6のライン1は、前述したように、フレーム122、120および124においてセグメント化された元のオーディオ信号を示す。それ故、マーカー「LPC1」の左に、原信号は、ACELPによって符号化される。マーカー「LPC1」と「LPC2」との間に、原信号は、TCを使用して符号化される。上述の通り、TCでは、ノイズシェーピングが時間領域より、むしろ変換領域において、直接適用される。マーカーLPC2の右では、原信号は、再度、ACELP、すなわち、時間領域符号化モードによって符号化される。符号化モードのこのシーケンス(ACELP、次にTC、次にACELP)は、FACが両方の遷移(ACELPからTC、および、TCからACELP)に関するので、FACの処理を示すために選択される。
【0050】
しかしながら、
図6のLPC1およびLPC2での遷移が、現在の時間セグメントの内側の範囲内で生じ得る、または、その前端で一致し得る点に留意すべきである。前者の場合、関連したFACデータの存在の決定は、第1の構文部分24だけに基づいたパーサ20によって実行されることができるが、フレーム消失の場合には、後者の場合、パーサ20は、それをするために構文部分26を必要とするかもしれない。
【0051】
図6のライン2は、フレーム122、120および124の各々における復号化(合成)信号に対応する。したがって、
図5の参照符号110は、フレーム122の最後のサブ部分が
図5の92bのようなACELP符号化されたサブ部分であるという可能性に対応するフレーム122の中で使用される。その一方で、参照符号の組み合わせ108/78が、
図5および
図4に類似して、フレーム120のための信号負担部分を示すために使用される。さらにまた、マーカーLPC1の左で、そのフレーム122の合成は、ACELPによって符号化されたと仮定される。それ故、マーカーLPC1の左の合成信号110は、ACELP合成信号と特定される。大体においては、ACELPができるだけ正確に波形の符号化を処理するので、そのフレーム122においてACELP合成と原信号との間に高い類似性がある。それから、復号化器に見られるように、
図6のライン2のマーカーLPC1とLPC2との間のセグメントは、そのセグメント120の逆MDCTの出力を示す。さらにまた、セグメント120は、例えば、FDフレームの時間セグメント16bまたは
図5の90bなどのTCX符号化されたサブフレームのサブ部分でもよい。その図において、このセグメント108/78は、「TCフレーム出力」と呼ばれる。
図4および
図5では、このセグメントは、再変換された信号セグメントと呼ばれていた。フレーム/セグメント120がTCXセグメントサブ部分である場合において、TCフレーム出力は、再度窓関数処理されたTLP合成信号を示す。ここで、TLPは、TCXの場合に、各セグメントのノイズシェーピングがLPCフィルタLPC1及びLPC2からのスペクトル情報をそれぞれ使用したMDCT係数をフィルタリングすることによって時間領域において完遂されることを示すために、「線形予測を使用した変換符号化」を表す。それはまたスペクトル重み付け器96に関する
図5に関連しても上述されたものである。また、
図6のライン2にマーカー「LPC1」と「LPC2」との間の、合成信号、すなわち、エイリアシングを含む予備的に再構築された信号、すなわち信号108/78がその始めと終わりで窓関数処理効果および時間領域エイリアシングを含む点にも留意されたい。TDAC変換としてのMDCTの場合には、時間領域エイリアシングは、展開126aおよび126bとして、それぞれ、表すことができる。換言すれば、そのセグメント120の始めから終わりまで及んでおり、参照符号108/78によって示される
図6のライン2の上側曲線は、変換された信号をそのままにするために、中央では平坦であるが、始めと終わりではそうでない変換窓関数処理による窓関数処理効果を示す。折り畳み効果は、セグメントの始めにマイナス符号、セグメントの終わりにプラス符号を有するセグメント120の始めと終わりに、下側曲線126aおよび126bによって示される。この窓関数処理および時間領域エイリアシング(または折り畳み)効果は、TDAC変換のための明示的な例として機能するMDCTに固有である。それが上述のように、エイリアシングは、2つの連続したフレームがMDCTを使用して符号化されるときに、消去することができる。しかしながら、「MDCT符号化された」フレーム120が、他のMDCTフレームに先行しない、および/または、続かない場合、その窓関数処理および時間領域エイリアシングは、消去されず、逆MDCTの後、時間領域信号に残る。前述されたように、フォワードエイリアシング消去(FAC)は、そのとき、これらの効果を修正するために使用されることができる。最後に、
図6のマーカーLPC2の後のセグメント124も、ACELPを使用して符号化されると仮定される。そのフレームにおける合成信号を得るために、フレーム124の始めの、LPCフィルタ102のフィルタ状態(
図5参照)、すなわち、長期および短期の予測器のメモリは、自動で適切でなければならない。それは、マーカーLPC1およびLPC2間の前のフレーム120の終わりの時間エイリアシングおよび窓関数処理効果が、以下に説明される特定の方法でFACの適用によって消去されなければならないことを意味する。要約すると、
図6のライン2は、マーカーLPC1とLPC2との間のフレームのための逆MDCTの出力の時間領域エイリアシングに、窓関数処理の効果を含む、連続したフレーム122、120および124から予備的に再構築された信号の合成を含む。
【0052】
図6のライン3を得るために、
図6のライン1、すなわち、元のオーディオ信号18と、
図6のライン2、すなわち、合成信号110と108/78との間の差は、それぞれ、上記のように、計算される。これは第1の差信号128を生じさせる。
【0053】
フレーム120に関する符号化器側の更なる処理は、
図6のライン3に関して、以下に説明される。フレーム120の始めで、まず、
図6のライン2のマーカーLPC1の左のACELP合成110からとられる2つの寄与は、以下のように、各々に付け加えられる。
【0054】
第1の寄与130は、最後のACELP合成サンプル、すなわち、
図5に示された信号セグメント110の最後のサンプルの、窓関数処理され、かつ、時間反転された(折り畳み式の)バージョンである。この時間反転された信号のための窓長および形状は、フレーム120の左に、変換窓のエイリアシング部分と同じである。この寄与130は、
図6のライン2のMDCTフレーム120に存在する時間領域エイリアシングのより良い近似とみなすことができる。
【0055】
第2の寄与132は、ACELP合成110の終わりで、すなわち、フレーム122の終わりで、このフィルタの最終状態とされた最初の状態に関してLPC1合成フィルタの窓関数処理されたゼロ入力応答(ZIR)である。この第2の寄与の窓長および形状は、第1の寄与130に関するものと同じでもよい。
【0056】
図6の新しいライン3に関して、すなわち、上記2つの寄与130および132を足し合わせた後、新たな差が、
図6のライン4を得るために、符号化器によってとられる。差信号134がマーカーLPC2で止まることに留意されたい。時間領域の誤差信号の予測された包絡線の近似の図が、
図6のライン4に示される。ACELPフレーム122における誤差は、時間領域の振幅においておよそ平坦であると予測される。それから、TCフレーム120における誤差は、
図6のライン4のこのセグメント120に示すように、一般の形状、すなわち、時間領域包絡線を示すと予測される。誤差振幅のこの予測された形状は、説明の便宜のためにここで示されるだけである。
【0057】
復号化器が復号化されたオーディオ信号を生成する又は再構築するために、
図6のライン3の合成信号だけを使用することになる場合、量子化雑音が、一般的に
図6のライン4の誤差信号136の予測される包絡線として存在するであろうことに留意されたい。このように、修正が、TCフレーム120の始めと終わりでこの誤差を補償するために、復号化器に送信されなければならないことが理解される。この誤差は、MDCT/逆MDCTの対に固有の窓関数処理および時間領域エイリアシング効果から生じる。窓関数処理および時間領域エイリアシングは、前述したように、前のACELPフレーム122から筒状寄与132および130を足し合わせることによって、TCフレーム120の始めで低減されたが、連続したMDCTフレームの実際のTDAC演算のように、完全に消去されることができない。ちょうどマーカーLPC2の前の
図6のライン4のTCフレーム120の右で、すべての窓関数処理および時間領域エイリアシングは、MDCT/逆MDCTの対から残り、従って、フォワードエイリアシング消去によって完全に消去されなければならない。
【0058】
フォワードエイリアシング消去データを得るための符号化処理の説明に進む前に、TDAC変換処理の1つの例としてMDCTを簡単に説明するために
図7を参照する。両方の変換方向は、
図7に関して表されて、説明される。時間領域から変換領域への遷移は、
図7の上半分において示されるが、一方、再変換は、
図7の下部分において表される。
【0059】
時間領域から変換領域へ遷移する際に、TDAC変換は、後に生じている変換係数が、実際にデータストリームの中に送信される時間セグメント154を越えて広がる、変換される信号の間隔152に適用された窓関数処理150に関係する。窓関数処理150において適用される窓は、その間に広がっているエイリアシングのない部分M
kとともに、時間セグメント154の前端と交差するエイリアシング部分L
kと時間セグメント154の後端のエイリアシング部分R
kを含むものとして、
図7に示される。MDCT 156は、窓関数処理された信号に適用される。すなわち、折り畳み158は、時間セグメント154の左側(先頭)の境に沿って、間隔152の前端と時間セグメント154の前端との間に及ぶ間隔152の第1の四半分を折曲げるために実行される。同じことが、エイリアシング部分R
kに関してなされる。その後、DCT IV 160は、同数の変換係数を得るために、時間信号154と同程度のサンプルを有する結果として生じる窓関数処理され、かつ、折曲げられた信号に実行される。会話は、162でそれから実行される。当然に、量子化162は、TDAC変換によって含まれないものとして見ることもできる。
【0060】
再変換は、反転を行う。すなわち、逆量子化164の後に、まず、再構築される時間セグメント154のサンプル数と等しい数の時間サンプルを得るために、IMDCT 166は、DCT
-1 IV 168に関係して実行される。その後で、展開処理168は、このことによりエイリアシング部分の長さを2倍にすることによってIMDCT結果の時間間隔または時間サンプル数に及んでいる、モジュール168から受信された逆変換された信号部分に実行される。それから、窓関数処理は、窓関数処理150により使用されたものと同じであり得るが、異なることもある再変換窓172を用いて、170で実行される。
図7の残っているブロックは、連続したセグメント154のオーバーラップしている部分で実行されたTDAC又はオーバーラップ/アッド処理、すなわち、
図3の遷移ハンドラにより実行されたように、展開されたそのエイリアシング部分の加算を示す。
図7に示したように、ブロック172および174によるTDACは、結果としてエイリアシング消去を生じさせる。
【0061】
ここで、
図6の説明について更に進める。
図6のライン4のTCフレーム120の始めと終わりで窓関数処理および時間領域エイリアシング効果を効率よく補償するために、TCフレーム120が周波数領域ノイズシェーピング(FDNS)を使用すると仮定して、フォワードエイリアシング修正(FAC)は、
図8において説明された処理の後に適用される。まず、
図8が、マーカーLPC1付近のTCフレーム120の左部分およびマーカーLPC2付近のTCフレーム120の右部分の両方に関して、この処理を示す点に留意する必要がある。
図6のTCフレーム120が、LPC1マーカー境界でACELPフレーム122によって先行されて、LPC2マーカー境界でACELPフレーム124が後に続くと仮定されたことを想起されたい。
【0062】
マーカーLPC1付近で窓関数処理および時間領域エイリアシング効果を補償するために、その処理は、
図8において説明される。まず、重み付けフィルタW(z)がLPC1フィルタから計算される。重み付けフィルタW(z)は、LPC1の修正された分析または白色化フィルタA(z)であってもよい。例えば、W(z)=A(z/λ)であり、λは、所定の重み係数である。TCフレームの始めの誤差信号は、ちょうど
図6のライン4の場合のように、参照符号138で示される。この誤差は、
図8のFACターゲットと呼ばれる。誤差信号138が、このフィルタの初期の状態を用いて、すなわち、
図6のライン4のACELPのフレーム122におけるACELP誤差141であるそのフィルタメモリである場合の初期の状態を用いて、140でのフィルタW(z)によってフィルタリングされる。フィルタW(z)の出力は、次に
図6の変換142の入力を形成する。その変換は、例としてはMDCTであるように示される。MDCTによって出力された変換係数は、次に量子化されて、処理モジュール143で符号化される。これらの符号化係数は、前述のFACデータ34の少なくとも一部を形成し得る。これらの符号化係数は、符号化側に送信され得る。処理Qの出力、すなわち、量子化されたMDCT係数は、次にゼロメモリ(ゼロ初期状態)を有する145で逆フィルタ1/W(z)によってフィルタリングされる時間領域信号を形成するために、IMDCT144などの逆変換の入力である。1/W(z)によるフィルタリングは、FACターゲットの後に及ぶサンプルのためのゼロ入力を使用して、FACターゲットの長さを越えて及ぶ。フィルタ1/W(z)の出力は、FAC合成信号146であり、それは、窓関数処理およびそこで生じている時間領域エイリアシング効果を補償するためにTCフレーム120の始めでここでは適用されることができる訂正信号である。
【0063】
次に、(マーカーLPC2の前の)TCフレーム120の終わりでの窓関数処理および時間領域エイリアシング修正のための処理について説明する。この目的を達成するために、
図9を参照されたい。
【0064】
図6のライン4のTCフレーム120終了後の誤差信号は、参照符号147を供給されて、
図9のFACターゲットを示す。FACターゲット147は、重み付けフィルタW(z)140の初期状態において異なっているだけの処理を用いて、
図8のFACターゲット138と同じ処理シーケンスに従う。FACターゲット147をフィルタリングするためのフィルタ140の初期状態は、
図6のライン4のTCフレーム120における誤差であり、
図6の参照符号148によって示される。次に、更なる処理ステップ142~145は、TCフレーム120の始めでのFACターゲットの処理と関係した
図8と同じである。
【0065】
ローカルFAC合成を得て、フレーム120のTC符号化モードを選択することによって関与された符号化モードの変更が最適選択であるか否かに関して確認するために、生じている再構成を計算するために符号化器で適用されるとき、
図8および
図9の処理は左から右に完全に実行される。復号化器では、
図8および
図9の処理は、真ん中から右まで適用されるだけである。すなわち、処理装置Q 143によって送信された符号化され量子化された変換係数は復号化され、IMDCTの入力を形成する。例えば
図10および
図11を参照されたい。
図10は、
図8の右側に等しく、一方、
図11は、
図9の右側に等しい。
図3の遷移ハンドラ60は、ここで概説される特定の実施形態によれば、
図10および
図11に従って実現されることができる。すなわち、遷移ハンドラ60は、ACELP時間セグメントサブ部分からFD時間セグメントまたはTCXサブ部分への遷移の場合には、第1のFAC合成信号146、あるいは、FD時間セグメントまたは時間セグメントのTCXサブ部分からACELP時間セグメントサブ部分に遷移するときには、第2のFAC合成信号149を生じさせるために、現在のフレーム14bの中にあるFACデータ34の中の変換係数情報に再変換をかけることができる。
【0066】
さらに、FACデータ34が、FACデータ34の存在を単に構文部分24からパーサ20が導出されるという場合には、現在の時間セグメントの中に生じているこの種の遷移と関連することができ、一方、パーサ20は、前のフレームがなくなった場合には、FACデータ34が現在の時間セグメント16bの先端でのこの種の遷移のために存在するかどうかに関して決定するために、構文部分26を利用する必要があることに留意されたい。
【0067】
図12は、現在のフレーム120のための完全な合成または再構築された信号が、
図8~
図11のFAC合成信号を使用し、
図6の逆ステップを適用することによってどのように得ることができるかを示す。さらに、ここで
図12に示されるステップも、現在のフレームのための符号化モードが、例えば、レート/歪みの点などにおいて、最も良い最適化につながるかどうかに関して確認するために、符号化器によっても実行される点に留意されたい。
図12において、マーカーLPC1の左のACELPフレーム122が、すでに
図3のモジュール58などによって合成されまたは再構築されていると仮定され、マーカーLPC1までそれにより参照符号110を有する
図12のライン2のACELP合成信号につながる。FAC修正もまたTCフレームの終わりに使用されるので、マーカーLPC2の後のフレーム124が、ACELPフレームであるとも仮定される。次に、
図12のマーカーLPC1とLPC2との間にTCフレーム120において合成または再構築された信号を生成するために、以下のステップが実行される。これらのステップもまた、
図13および
図14においても示され、
図13は、TC符号化されたセグメントまたはセグメントサブ部分からACELP符号化されたセグメントサブ部分への遷移を処理するために、遷移ハンドラ60によって実行されるステップを示し、一方、
図14は、逆遷移のための遷移ハンドラの動作を示す。
【0068】
1.1つのステップは、MDCT符号化されたTCフレームを復号化して、
図12のライン2に示すように、マーカーLPC1とLPC2との間にこのようにして得られた時間領域信号を位置決めすることである。復号化は、復号化されたTCフレームが、窓関数処理および時間領域エイリアシング効果を含むように、モジュール54またはモジュール56によって実行されて、TDAC再変換のための例として、逆MDCTを含む。換言すれば、現在復号化され、
図13および
図14のインデックスkにより示されるセグメントまたは時間セグメントサブ部分は、
図13に示されたようなACELP符号化時間セグメントサブ部分92b、または、
図14に示されるようなFD符号化またはTCX符号化されたサブ部分92aである時間セグメント16bでありえる。
図13の場合には、前に処理されたフレームは、このようにTC符号化されたセグメントまたは時間セグメントサブ部分であり、
図14の場合には、前に処理された時間セグメントは、ACELP符号化されたサブ部分である。モジュール54~58による出力としての再構成または合成信号は、エイリアシング効果を部分的に受ける。これはまた、信号セグメント78/108にもあてはまる。
【0069】
2.遷移ハンドラ60の処理における別のステップは、
図14の場合には
図10に従い、そして
図13の場合には
図11に従うFAC合成信号の生成である。すなわち、遷移ハンドラ60は、FAC合成信号146および149を得るために、それぞれ、FACデータ34の中の変換係数に再変換191を実行することができる。FAC合成信号146および149は、次に、エイリアシング効果を受けて、時間セグメント78/108に示されるTC符号化されたセグメントの始めと終わりで位置決めされる。
図13の場合には、例えば、
図12のライン1にも示されるように、遷移ハンドラ60は、TC符号化されたフレームk-1の終わりにFAC合成信号149を位置決めする。
図14の場合には、
図12のライン1にも示されているように、遷移ハンドラ60は、TC符号化されたフレームkの始めで、FAC合成信号146を位置決めする。さらにまた、フレームkが現在復号化されるフレームであり、そして、そのフレームk-1が前に復号化されたフレームである点に留意すべきである。
【0070】
3.符号化モード変化が現在のTCフレームkの始めで生じる
図14の状況に関する限り、TCフレームkの前のACELPフレームk-1から、窓関数処理され、かつ、折りたたまれた(反転された)ACELP合成信号130、および、LPC1合成フィルタの窓関数処理されたゼロ入力応答、またはZIR、すなわち、信号132は、エイリアシングを受けている再変換された信号セグメント78/108に位置合わせされるように、位置決めされる。この寄与は、
図12のライン3に示される。
図14に示すように、かつ、既に上で説明されているように、遷移ハンドラ60は、現在の時間セグメントkの先頭にある境界線を越えて、前のCELPサブフレームのLPC合成フィルタリングを続け、
図14の参照符号190及び192で示される両方のステップで、現在の信号kの中の信号の連続を窓関数処理することによって、エイリアシング消去信号132を得る。エイリアシング消去信号130を得るために、遷移ハンドラ60はまた、ステップ194において、前のCELPフレームの再構築された信号セグメント110を窓関数処理し、この窓関数処理され、時間反転された信号を、信号130として使用する。
【0071】
4.
図12のライン1、ライン2、およびライン3の寄与、および、
図14の寄与78/108、132、130および146、
図13の寄与78/108、149および196は、上で説明された位置合わせされた位置において、遷移ハンドラ60によって足し合わされ、
図12のライン4に示すように、元の領域において、現在のフレームkのための合成または再構築されたオーディオ信号を形成する。
図13および
図14の処理は、時間領域エイリアシングおよび窓関数処理効果が、フレームの始めと終わりで消去され、かつ、マーカーLPC1付近のフレーム境界の潜在的な不連続が平滑化されて、
図12のフィルタ1/W(z)によって知覚的にマスクされた、TCフレームにおいて、合成または再構築された信号198を生成することに留意されたい。
【0072】
このように、
図13は、CELP符号化されたフレームkの現在の処理に関係して、前のTC符号化されたセグメントの終わりに、フォワードエイリアシング消去につながる。196で示されるように、最後に再構築されたオーディオ信号は、セグメントk-1とセグメントkとの間の境界を越えて再構築されないエイリアシングである。
図14の処理は、セグメントkとセグメントk-1との間の境界を越えて再構築された信号を示している参照符号198で示されるように、現在のTC符号化されたセグメントkの始めでのフォワードエイリアシング消去につながる。現在のセグメントkの後端に残留するエイリアシングは、後に続くセグメントがTC符号化されたセグメントである場合には、TDACによって、または、後のセグメントがACELP符号化されたセグメントである場合には、
図13によるFACによって、消去される。
図13は、時間セグメントk-1の信号セグメントに参照符号198を割り当てることによって、この後者の可能性に言及する。
【0073】
以下では、特定の可能性について、第2の構文部分26が実施され得る方法に関して言及する。
【0074】
例えば、失われたフレームの発生を処理するために、構文部分26は、明示的に現在のフレーム14bの中に、以下の表に従って前のフレーム14aにおいて適用された符号化モードの信号を送る2ビットフィールドprev_modeとして具体化されることができる。
【0075】
言葉を変えれば、この2ビットフィールドは、prev_modeと呼んでもよく、このように前のフレーム14aの符号化モードを示すことができる。即ち、ちょうど言及した例の場合、4つの異なる状態が区別される。
1)前のフレーム14aは、LPDフレームであり、その最後のサブフレームは、ACELPサブフレームである。
2)前のフレーム14aは、LPDフレームであり、その最後のサブフレームは、TCX符号化されたサブフレームである。
3)前のフレームは、長い変換窓を使用しているFDフレームであり、
4)前のフレームは、短い変換窓を使用しているFDフレームである。
【0076】
潜在的にFD符号化モードの異なる窓長を使用する可能性は、
図3の説明に関して、すでに上で言及した。当然、構文部分26は、ただ3つの異なる状態だけを有することができ、そして、FD符号化モードは、一定の窓長によって作動することができ、それにより上でリスト化された選択肢の最後の2つの選択肢3および選択肢4をまとめることができる。
【0077】
いずれにせよ、上で概説された2ビットフィールドに基づいて、パーサ20は、現在の時間セグメントと前の時間セグメント16aとの間の遷移のためのFACデータが、現在のフレーム14aの中にあるか否かに関して決定することが可能である。以下、より詳細に概説するように、パーサ20及び再構成器22は、前のフレーム14aがロングウィンドウ(FD_long)を使用するFDフレームであったかどうか、又は前のフレームがショートウィンドウ(FD_short)を使用するFDフレームであったかどうかについて、及び現在のフレーム14b(現在のフレームがLPDフレームであれば)がFDフレーム又はLPDフレームを継承するかどうかについてprev_modeに基づいて決定できることさえあり、これはデータストリームを正しく解析及び情報信号を再構成するためにそれぞれ以下の実施形態に従って必要となる差異化である。
【0078】
このように、構文部分26として2ビット識別子を使用するという前述の可能性によれば、各フレーム16a~16cは、FDまたはLPD符号化モードおよびLPD符号化モードの場合にはサブフレーミング構造である現在のフレームの符号化モードを定める構文部分24に加えて、付加的な2ビット識別子が供給される。
【0079】
前記実施形態の全てに関して、他の内部のフレーム依存性が同様に回避される必要があることが述べられなければならない。例えば、
図1の復号化器は、SBR可能であるであろう。その場合、クロスオーバ周波数は、データストリーム12の中にそれほど頻繁ではなく送信されるSBRヘッダを有するこの種のクロスオーバ周波数を解析する代わりに、各SBR拡張データの中に全てのフレーム16a~16cからパーサ20によって解析されることができる。他のフレーム間依存性は、同様に取り除かれることができる。
【0080】
上述の全ての実施形態に関して、パーサ20が、FIFO(first in first out)の方法で、このバッファを介してすべてのフレーム14a~14cを通過することによって、バッファ内の少なくとも現在復号化されたフレーム14bをバッファするように構成されることは、留意する価値がある。バッファリングにおいて、パーサ20は、フレーム14a~14cを単位で、このバッファから、フレームの除去を実行することができる。すなわち、パーサ20のバッファの充填および除去は、例えば、一度に最大サイズの単に1つ、または複数の、フレームを受け入れる最大利用可能なバッファスペースによって課された拘束条件に従うために、フレーム14a~14cの単位で実行されることができる。
【0081】
低減されたビット消費を有する構文部分26の別の信号伝送の可能性が次に説明される。この変形例によれば、構文部分26の異なる構成構造が使用される。前述された実施形態において、構文部分26は、符号化されたUSACデータストリームの全てのフレーム14a~14cにおいて送信される2ビットフィールドであった。FD部分に関して、復号化器が、前のフレーム14aが失われた場合には、ビットストリームからFACデータを読み取る必要があるかどうかについて知っていることだけが重要であるので、これらの2ビットは、それらのうちの1つがfac_data_presentとして全てのフレーム14a~14cの中に信号を送信される2つの1ビットフラグに分けられることができる。このビットは、
図15および
図16のテーブルに示すように、それに応じて、single_channel_elementおよびchannel_pair_element構造に導入することができる。
図15および
図16は、本実施形態によるフレーム14の構文の上位構造定義とみなすことができる。ここで、関数「function_name(…)」は、サブルーチンを呼び、そして、太字で書かれた構文要素名は、データストリームから各構文要素を読み取ることを示す。換言すれば、
図15および
図16の印のある部分または斜線部は、各フレーム14a~14cが、この実施形態によって、フラグfac_data_presentを供給されることを示す。参照符号199は、これらの部分を示す。
【0082】
他の1ビットフラグprev_frame_was_lpdは、それがUSACのLPD部分を使用して符号化される場合、次に現在のフレームに送信されるだけであり、前のフレームが同様にUSACのLPDパスを使用して符号化されたかどうかを示す。これは、
図17の表において示される。
【0083】
図17の表は、現在のフレーム14bがLPDフレームである場合の
図1の情報28の一部を示す。200に示すように、各LPDフレームは、フラグprev_frame_was_lpdを供給される。この情報は、現在のLPDフレームの構文を解析するために使用される。LPDフレームのFACデータ34のその内容及び位置は、TCX符号化モードとCELP符号化モードとの間の遷移またはFD符号化モードからCELP符号化モードへの遷移である現在のLPDフレームの前端での遷移に依存することは、
図18から導き出せる。特に、現在復号化されたフレーム14bが、FDフレーム14aの直後のLPDフレームであり、かつ、fac_data_presentが、(先頭にあるサブフレームがACELPサブフレームであるので)FACデータが現在のLPDフレームに存在するということを示す場合、FACデータは、その場合、
図18の204に示すような利得係数fac_gainを含んでいるFACデータ34を用いて202でLPDフレーム構文の終わりで読み取られる。この利得係数については、
図13の寄与149は、利得を調整される。
【0084】
しかしながら、現在のフレームが、同様にLPDフレームである前のフレームを有するLPDフレームである場合、すなわち、TCXとCELPサブフレームとの間の遷移が、現在のフレームと前のフレームとの間で生じている場合、FACデータは、利得調整オプションなしで、すなわち、FAC利得構文要素fac_gainを含んでいるFACデータ34なしで、206で読み取られる。さらに、現在のフレームがLPDフレームであり、前のフレームがFDフレームである場合、206で読み取られたFACデータの位置は、FACデータが202で読み取られる位置とは異なる。読み取りの位置202が、現在のLPDフレームの終わりに生じ、一方で、206でFACデータの読み取りは、サブフレームの特定のデータ、すなわち、208と210で、それぞれ、サブフレーム構造のサブフレームのモードに依存しているACELPまたはTCXデータを読み取る前に起こる。
【0085】
図15~
図18の例において、LPC情報104(
図5)は、212で90aおよび90b(
図5を比較)などのサブフレーム特定のデータの後に読み取られる。
【0086】
完全さだけのために、
図17によるLPDフレームの構文構造は、現在のLPD符号化時間セグメントの内部のTCXとACELPサブフレームとの間の遷移に関するFAC情報を供給するために、LPDフレームの中に、潜在的に、付加的に含まれたFACデータに関して更に説明される。特に、
図15~
図18の実施形態によれば、LPDサブフレーム構造は、TCXかACELPかにこれらの4分の1を割り当てることによって、単に4分の1単位で、現在のLPD符号化時間セグメントをサブ分割するように制限される。正確なLPD構造は、214で読み取られた構文要素lpd_modeによって定められる。ACELPフレームが、四分の一の長さに制限されるのに対して、第1、第2、第3、および第4の四半分は、ともにTCXサブフレームを形成することができる。TCXサブフレームはまた、LPD符号化された時間セグメント全体にわたって広がっており、その場合、サブフレームの数は単に1つである。
図17のwhileループは、現在LPD符号化された時間セグメントの四半分をステップして、現在の四半分kが現在LPD符号化された時間セグメントの内部に新しいサブフレームの始めであるときはいつでも、現在、始め/復号化LPDフレームの直前のサブフレームは、他のモードである、すなわち、現在のサブフレームがACELPモードである場合はTCXモードであり、TCXモードである場合はACELPモードである、216で供給されるFACデータを送信する。
【0087】
完全さだけのために、
図19は、
図15~
図18の実施形態によるFDフレームのあり得る構文構造を示す。FACデータは、単にfac_data_presentフラグに関与するだけである、FACデータ34があるかどうかに関しての決定によって、FDフレームの終わりに読み取られることが分かる。それと比較して、
図17で示されるようなLPDフレームの場合のfac_data34の構文解析は、正しい構文解析のために、フラグprev_frame_was_lpdについて知ることを必要とする。
【0088】
このように、1ビットフラグprev_frame_was_lpdは、現在のフレームが、USACのLPD部分を使用して符号化されて、前のフレームが、USACコーデックのLPDパスを使用して符号化されたかどうかに関して示す場合(
図17のlpd_channel_stream()の構文を参照)に、送信されるだけである。
【0089】
図15~
図19の実施形態に関して、FACデータが、現在のLPDフレームの前端で、FDフレームからACELPサブフレームへの遷移を対象にするための202で読み取られるように、更なる構文要素は、220で、すなわち、現在のフレームがLPDフレームであり、かつ、(ACELPフレームである現在のLPDフレームの第1のフレームによって)前のフレームがFDフレームである場合に、送信されることができることに更に留意されたい。220で読み取られるこの追加の構文要素は、前のFDフレーム14aがFD_longであるかFD_shortであるかどうかに関して示すことができる。この構文要素に応じて、FACデータ202は、影響を受け得る。例えば、合成信号149の長さは、前のLPDフレームを変換するために使用される窓の長さに応じて、影響を受け得る。
図15および
図19の実施形態をまとめ、そこで言及された特徴を、
図1~
図14に関して説明された実施形態へ転用してみると、以下のことが、個々に、または組み合せて、後者の実施形態へ適用されることができる。
【0090】
1)前の図において言及されたFACデータ34は、前のフレーム14aと現在のフレーム14bとの間、すなわち対応する時間セグメント16aと16bとの間の遷移で起こっているフォワードエイリアシング消去を可能にするために、現在のフレーム14bにFACデータが存在していることを主に示すことを意味した。しかし、更なるFACデータがあってもよい。しかしながら、この付加的なFACデータは、それがLPDモードである場合に、現在のフレーム14bに内部に位置するTCX符号化されたサブフレームとCELP符号化されたサブフレームとの間の遷移を取扱う。この付加的なFACデータの有無は、構文部分26から独立している。
図17において、この付加的なFACデータは、216で読み取られた。その有無は、単に214で読み取られたlpd_modeに依存するだけである。後者の構文要素は、代わりに、現在のフレームの符号化モードを明らかにしている構文部分24の一部である。
図15および
図16に示された230および232で読み取られるcore_modeとともにlpd_modeは、構文部分24に対応する。
【0091】
2)更に、構文部分26は、上記のように一つ以上の構文要素から成ることができる。フラグFAC_data_presentは、前のフレームと現在のフレームとの間の境界のためのfac_dataがあるかどうかについて示す。このフラグは、FDフレームと同様にLPDフレームに存在する。前記実施形態においてprev_frame_was_lpdと呼ばれる更なるフラグは、前のフレーム14aがLPDモードであったかどうかについて示すためだけに、LPDフレームに送信される。換言すれば、構文部分26に含まれるこの第2のフラグは、前のフレーム14aがFDフレームであったかどうかに関して示す。パーサ20は、現在のフレームがLPDフレームである場合にだけ、このフラグを予測して、読み取る。
図17において、このフラグは、200で読み取られる。このフラグに応じて、パーサ20は、FACデータが利得値fac_gainを含むことを予測することができて、従って、現在のフレームからそれを読み取ることできる。利得値は、現在および前の時間セグメント間の遷移でのFACのためのFAC合成信号の利得を設定するために、再構築器によって使用される。
図15~
図19の実施形態において、この構文要素は、それぞれ、読み取り206および202につながっている状況を比較することから明白である第2のフラグへの依存によって、204で読み取られる。代わりに、または、加えて、prev_frame_was_lpdは、パーサ20がFACデータを予測して、読み取る位置を制御することができる。
図15~
図19の実施形態において、これらの位置は、206または202であった。更に、第2の構文部分26は、前のFDフレームが符号化されるのに長い変換窓を使用するか短い変換窓を使用するかについて示すために、現在のフレームがLPDフレームであり、その先頭にあるサブフレームがACELPフレームであり、前のフレームがFDフレームである場合に、更なるフラグを更に含むことができる。後者のフラグは、
図15~
図19の前述の実施形態の場合には、220で読み取られることができる。このFD変換長についての知見は、それぞれ、FAC合成信号の長さおよびFACデータ38のサイズを決定するために使用することができる。この方法によって、FACデータは、符号化品質と符号化レートとの間のより良い妥協が達成できるように、前のFDフレームの窓のオーバーラップ長さにサイズの点で適合することができる。
【0092】
3)第2の構文部分26を前述の3つのフラグに分けることによって、現在のフレームがFDフレームである場合には、第2の構文部分26であることを示す単に1つのフラグまたはビットだけを、現在のフレームがLPDフレームであり、かつ、前のフレームもLPDフレームである場合には、単に2つのフラグまたはビットだけを、送信することが可能である。単にFDフレームから現在のLPDフレームへの遷移の場合にだけ、第3のフラグが、現在のフレームに送信されなければならない。別な方法として、上述のように、第2の構文部分26は、フレームごとに送信され、かつ、FACデータ38が現在のフレームから読まれる必要があるか否か、読まれる場合には、FAC合成信号はどこからのもので、どのくらいの長さであるかについて決定するために、パーサに必要とされる範囲でこのフレームに先行するフレームのモードを示している2ビット識別子であり得る。すなわち、
図15~
図19の特定の実施形態は、第2の構文部分26を実行するために、前記2ビット識別子を使用する実施形態へ、容易に転用されることができる。
図15および
図16のFAC_data_presentの代わりに、2ビット識別子は、送信される。200および220のフラグは、送信される必要はない。その代わりに、206および218につながっているif構文のfac_data_presentの内容は、パーサ20によって2ビット識別子から導出することができる。以下の表は、2ビット識別子を利用するために、復号化器でアクセスされることができる。
【0093】
FDフレームが1つのあり得る長さだけを使用する場合に、構文部分26も、単に3つの異なるありえる値を有することができるだけである。
【0094】
図20~
図22の実施形態の説明のためのその実施形態が参照されるように、
図15~19に関して上で説明されたものとわずかに異なっているが、非常に類似している構文構造が
図15~
図19に関して使用するものと同じ参照符号を使用して、
図20~
図22に示される。
【0095】
図3等に関して説明される実施形態に関して、MDCT以外の、エイリアシング適正を有するいかなる変換符号化方式もTCXフレームと関連して使用されることができることに留意されたい。さらにまた、FFTなどの変換符号化方式も、LPDモードのエイリアシングなしで、すなわち、LPDフレームの中のサブフレーム遷移のためのFACなしで、従って、LPD境界間におけるサブフレーム境界のためのFACデータを送信する必要もなく、使用されることができる。FACデータは、それから単にFDからLPDおよびその逆へのあらゆる遷移のために含まれるだけである。
【0096】
図1以下に関して説明された実施形態に関して、それらが、付加的な構文部分26が、その前のフレームの第1の構文部分に定められるように、並んで、すなわち、現在のフレームの符号化モードと前のフレームの符号化モードとの間の比較に一意的に依存して、設定され、その結果、前述の実施形態の全てにおいて、復号化器又はパーサが、これらのフレーム、すなわち、前のフレームと現在のフレームの第1の構文部分を使用する、または比較することによって、現在のフレームの第2の構文部分の内容を一意的に予測することができた場合に向けられることに留意されたい。すなわち、フレーム消失がない場合に、復号化器またはパーサは、FACデータが現在のフレームにあるか否かに関して、フレーム間の遷移から導出することが可能であった。フレームが失われる場合、フラグfac_data_presentビットなどの第2の構文部分は、明示的にその情報を伝える。しかしながら、他の実施形態によれば、符号化器は、構文部分26が最適に、すなわち、例えば、フレームごとベースで実行しているそこでの決定によって、(FD/TCX、すなわちTC符号化モードから、ACELP、すなわち時間領域符号化モード、またはその逆などの)FACデータとともに通常現れるタイプであるにもかかわらず、現在のフレームと前のフレームとの間の遷移が、現在のフレームの構文部分がFACの欠如を示すように、設定された逆の符号化を適用するように、第2の構文部分26によって提供されたこの明示的な信号化可能性を利用することができた。復号化器は、それから、構文部分26によって厳密に動作するように実現され、このことにより、単に例えばfac_data_present=0を設定することによって、この停止を示す符号化器で、FACデータ送信を効果的に動作不能にする、または抑制する。これが好ましい選択肢であるであろうシナリオは、生じているエイリアシングアーチファクトが全体の音質と比較して許容できるのに対して、付加的なFACデータがあまりに多くのビットがかかる場合がある超低ビットレートの符号化の時である。
【0097】
いくつかの態様が装置に関連して説明されたにもかかわらず、これらの態様が、対応する方法の説明を示すことも明らかである。ここで、ブロックまたはデバイスは、方法ステップまたは方法ステップの機能に対応する。同様に、方法ステップに関連して説明された態様も、対応するブロックまたは項目の説明、または、対応する装置の機能を示す。方法ステップの一部または全部は、例えば、マイクロプロセッサ、プログラミング可能なコンピュータ、または電子回路のような、ハードウェア装置によって、(または、使用することによって)実行することができる。いくつかの実施形態では、最も重要な方法ステップの1つ又は複数は、この種の装置によって実行されることができる。
【0098】
本願発明の符号化されたオーディオ信号は、デジタル記憶媒体に格納することができる、または、例えば無線伝送媒体またはインターネットなどの有線伝送媒体などの伝送媒体に送信することができる。
【0099】
特定の実現要求に応じて、本願発明の実施形態は、ハードウェアにおいて、または、ソフトウェアにおいて、実行されることができる。その実施態様は、各方法が実行されるように、プログラミング可能な計算機システムと協動する(または協動することができる)、その上に格納される電子的に読み込み可能な制御信号を有する、デジタル記憶媒体、例えばフロッピー(登録商標)ディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはFLASHメモリを使用して、実行できる。従って、デジタル記憶媒体は、計算機可読であり得る。
【0100】
本願発明によるいくつかの実施形態は、本願明細書において説明される方法のうちの1つが実行される、プログラミング可能な計算機システムと協動することができる、電子的に読み込み可能な制御信号を有するデータキャリアを含む。
【0101】
通常、本願発明の実施形態はプログラムコードを有するコンピューター・プログラム製品として実現することができる。そして、コンピューター・プログラム製品が、コンピュータ上で動作するときに、プログラムコードが方法のうちの1つを実行するために機能する。プログラムコードは、例えば、機械読み取り可読キャリアに格納されることができる。
【0102】
他の実施形態は、本願明細書において説明されて、機械読み取り可読キャリアに格納される方法のうちの1つを実行するためのコンピューター・プログラムを含む。
【0103】
従って、換言すれば、本願発明の方法の実施形態は、コンピューター・プログラムがコンピュータ上で動作するときに、本願明細書において説明された方法のうちの1つを実行するためのプログラムコードを有するコンピューター・プログラムである。
【0104】
従って、本願発明の方法の更なる実施形態は、その上に記録されて、本願明細書において説明される方法のうちの1つを実行するためのコンピューター・プログラムを含んでいるデータキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体または記録媒体は、一般的に、有形で、および/または、非一時的である。
【0105】
従って、本願発明の方法の更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するためのコンピューター・プログラムを示しているデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して、転送されるように構成することができる。
【0106】
更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するために構成された、または、適合された、処理手段、例えばコンピュータまたはプログラム可能な論理デバイスを含む。
【0107】
更なる実施形態は、本願明細書において説明された方法のうちの1つを実行するためのコンピューター・プログラムをそこにインストールされているコンピュータを含む。
【0108】
本願発明による更なる実施形態は、受信機に、本願明細書において説明された方法のうちの1つを実行するためのコンピューター・プログラムを(例えば、電子的に、または、光学的に)転送するように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイル機器、記憶装置等であり得る。その装置またはシステムは、例えば、コンピューター・プログラムを受信機へ転送するためのファイル・サーバを含むことができる。
【0109】
いくつかの実施形態において、プログラマブル論理デバイス(例えばフィールドプログラマブルゲートアレイ)は、本願明細書において説明された方法の機能の一部または全部を実行するために使用することができる。
【0110】
いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本願明細書において説明される方法のうちの1つを実行するために、マイクロプロセッサと協動することができる。通常、本方法は、好ましくは、いかなるハードウェア装置によっても実行される。
【0111】
上述の実施形態は、単に、本願発明の原理のために示しているだけである。本願明細書において説明された装置の修正変更および詳細が、他の当業者にとって明らかであるものと理解される。従って、間近に迫った特許請求の範囲だけによって制限され、本願明細書における実施形態の記載および説明として示された具体的な詳細によっては制限されないという意図である。
【外国語明細書】