(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159096
(43)【公開日】2023-10-31
(54)【発明の名称】ダウンスケールされた復号化
(51)【国際特許分類】
G10L 19/022 20130101AFI20231024BHJP
G10L 19/02 20130101ALI20231024BHJP
【FI】
G10L19/022
G10L19/02 170B
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023122204
(22)【出願日】2023-07-27
(62)【分割の表示】P 2022093395の分割
【原出願日】2016-06-10
(31)【優先権主張番号】15172282.4
(32)【優先日】2015-06-16
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】15189398.9
(32)【優先日】2015-10-12
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MATLAB
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【弁理士】
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】シュネル マルクス
(72)【発明者】
【氏名】ルツキ マンフレード
(72)【発明者】
【氏名】フォトプゥルゥ エレニ
(72)【発明者】
【氏名】シュミット コンスタンティン
(72)【発明者】
【氏名】ベンドルフ コンラート
(72)【発明者】
【氏名】トマセク エイドリアン
(72)【発明者】
【氏名】アルベルト トビアス
(72)【発明者】
【氏名】ザイドル タイモン
(57)【要約】 (修正有)
【課題】改良されたダウンスケールされた復号化を可能にするオーディオ復号化スキームを提供する。
【解決手段】ダウンサンプルされたオーディオ復号化のために使用された合成ウィンドウが、ダウンサンプルされたサンプリング・レートおよびもとのサンプリング・レートが逸脱することによってダウンサンプリング・ファクターでダウンサンプルすることによって、ダウンサンプルされたないオーディオ復号化において含まれる参照合成ウィンドウのダウンサンプルされたバージョンである場合、オーディオ復号化の処理のダウンサンプルされたバージョンがより効果的であるか、および/または改良されたコンプライアンス・メンテナンスで達成され、フレーム長さの1/4のセグメントにおいてセグメント補間を使用してダウンサンプルされる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
オーディオ信号が第2のサンプリング・レートで変換符号化されているデータストリーム(24)から、第1のサンプリング・レートで前記オーディオ信号(22)を復号化するように構成されるオーディオデコーダ(10)であって、前記第1のサンプリング・レートは、前記第2のサンプリング・レートの1/Fであり、前記オーディオデコーダ(10)は、
前記オーディオ信号の長さNのフレームごとに、N個のスペクトル係数(28)を受信するように構成されるレシーバ(12)と、
各フレームについて、前記N個のスペクトル係数(28)から長さN/Fの低周波数部分をグラブアウトするように構成されるグラバー(14)と、
各フレーム(36)について、前記低周波数部分を、それぞれのフレームおよびE+1個の先行するフレームに時間的に広がる長さ(E+2)・N/Fの変調関数を有する逆変換して、長さ(E+2)・N/Fの時間的部分を得るように構成されたスペクトル時間モジュレータ(16)と、
各フレーム(36)について、その先端に長さ1/4・N/Fのゼロ部分を含み、合成ウィンドウの時間的間隔の範囲内においてピークを有する、長さ(E+2)・N/Fの前記合成ウィンドウを使用して、前記時間的部分をウィンドウ化するように構成されるウィンドウ化器(18)であって、前記時間的間隔は、前記ウィンドウ化器が、長さ(E+2)・N/Fのウィンドウ化された時間的部分を得るように、前記ゼロ部分に続き、そして、長さ7/4・N/Fを有する、ウィンドウ化器(18)と、
現在のフレームの前記ウィンドウ化された時間的部分の長さ(E+1)/(E+2)の終端部分が、先行するフレームの前記ウィンドウ化された時間的部分の長さ(E+1)/(E+2)の先端と重なるように、前記フレームの前記ウィンドウ化された時間的部分を重畳加算処理するように構成された時間領域エイリアシング・キャンセラー(20)と、
を備え、
ここで、前記逆変換は、逆MDCTまたは逆MDSTであり、
前記合成ウィンドウは、長さ(E+2)・Nの参照合成ウィンドウの、長さ1/4・Nのセグメントにおけるセグメント補間によって、係数Fでダウンサンプルされた、ダウンサンプルされたバージョンである、
オーディオデコーダ。
【請求項2】
前記合成ウィンドウは、長さ1/4・N/Fのスプライン関数の連結である、請求項1に記載のオーディオデコーダ。
【請求項3】
前記合成ウィンドウは、長さ1/4・N/Fの3次元のスプライン関数の連結である、請求項1または請求項2に記載のオーディオデコーダ。
【請求項4】
E=2である、請求項1ないし請求項3のいずれかに記載のオーディオデコーダ。
【請求項5】
前記逆変換は、逆MDCTである、請求項1ないし請求項4のいずれかに記載のオーディオデコーダ。
【請求項6】
前記合成ウィンドウの主要部の80%以上が、前記ゼロ部分に続く、長さ7/4・N/Fである前記時間的間隔の範囲内に含まれる、請求項1ないし請求項5のいずれかに記載のオーディオデコーダ。
【請求項7】
前記オーディオデコーダ(10)は、記憶装置から前記補間を実行するように、または、前記合成ウィンドウを導出するように構成される、請求項1ないし請求項6のいずれかに記載のオーディオデコーダ。
【請求項8】
前記オーディオデコーダ(10)は、Fについて異なる値をサポートするように構成される、請求項1ないし請求項7のいずれかに記載のオーディオデコーダ。
【請求項9】
Fは、1.5以上10以下である、請求項1ないし請求項8のいずれかに記載のオーディオデコーダ。
【請求項10】
前記参照合成ウィンドウは、ユニモーダルである、請求項1ないし請求項9のいずれかに記載のオーディオデコーダ。
【請求項11】
前記オーディオデコーダ(10)は、前記合成ウィンドウの前記係数の過半数が前記参照合成ウィンドウの2つ以上の係数に依存するように、前記補間を実行するように構成される、請求項1ないし請求項10のいずれかに記載のオーディオデコーダ。
【請求項12】
前記オーディオデコーダ(10)は、セグメントボーダーから2つ以上の係数によって分けられる前記合成ウィンドウの各係数が、前記参照合成ウィンドウの2つ以上の係数に依存するように、オーディオデコーダ(10)は、前記補間を実行するように構成される、請求項1ないし請求項11のいずれかに記載のオーディオデコーダ。
【請求項13】
前記合成ウィンドウを使用して前記時間的部分に重み付けする際に前記ウィンドウ化器が前記ゼロ部分をスキップし、且つ、前記重畳加算処理において前記時間領域エイリアシングキャンセラー(20)が前記ウィンドウ化された時間的部分の対応する非重み付け部分を無視して、E+1個のウィンドウ化された時間的部分のみが合計されて、結果として対応するフレームの前記対応する非重み付け部分とE+2個のウィンドウ化された部分が前記対応するフレームのリマインダと合計されるように、前記ウィンドウ化器(18)と前記時間領域エイリアシング・キャンセラーが協働する、請求項1ないし請求項12のいずれかに記載のオーディオデコーダ。
【請求項14】
請求項1ないし請求項13のいずれかに記載のオーディオデコーダ(10)の合成ウィンドウのダウンスケールされたバージョンを生成するためのオーディオデコーダであって、E=2であってその結果前記合成ウィンドウ関数は、長さ2・N/Fの残りの半分が先行する、カーネルに関係する長さ2・N/Fの半分を含み、そして、前記スペクトル時間モジュレータ(16)、前記ウィンドウ化器(18)および前記時間領域エイリアシング・キャンセラー(20)は、
前記スペクトル時間モジュレータ(16)は、各フレーム(36)について、前記低周波数部分を、各フレームおよびE+1個の先行するフレームにわたって時間的に広がる長さ(E+2)・N/Fの変調関数を有する逆変換することを、前記各フレームおよび1つ前のフレームと一致する変換カーネルとに制限して、M=N/Fをサンプル・インデックスとし、kをフレーム・インデックスとして、n=0…2M-1の時間的部分xk,nを得て、
前記ウィンドウ化器(18)は、各フレーム(36)について、n=0,…,2M-1に対してzk,n=ωn・xk,nにより前記時間的部分をウィンドウ化し、n=0…2M-1として前記ウィンドウ化された時間的部分zk,nを得て、
前記時間領域エイリアシング・キャンセラー(20)は、n=0,…,M-1に対してmk,n=zk,n+zk-1,n+Mにより中間の時間的部分mk(0),…mk(M-1)を生成し、
前記オーディオデコーダは、
n=M/2,…,M-1に対してuk,n=mk,n+ln-M/2・mk-1,M-1-n、および
n=0,…,M/2-1に対してuk,n=mk,n+lM-1-n・outk-1,M-1-n
により、n=0…M-1のフレームuk,nを得るために構成されるリフター(80)を含み、
n=0…M-1のlnはリフティング係数であり、n=0…M-1のlnおよびn=0,…,2M-1のωnは前記合成ウィンドウのn=0…(E+2)M-1の係数wnに依存する、
リフティング実装において協働するようにされた、オーディオデコーダ。
【請求項15】
オーディオ信号が第2のサンプリング・レートで変換符号化されているデータストリームから、第1のサンプリング・レートで前記オーディオ信号(22)を復号化するように構成されるオーディオデコーダ(10)であって、前記第1のサンプリング・レートは、前記第2のサンプリング・レートの1/Fであり、前記オーディオデコーダ(10)は、
前記オーディオ信号の長さNのフレームごとに、N個のスペクトル係数(28)を受信するように構成されるレシーバ(12)と、
各フレームについて、前記N個のスペクトル係数(28)から長さN/Fの低周波数部分をグラブアウトするように構成されるグラバー(14)と、
各フレーム(36)について、前記低周波数部分をそれぞれの前記フレームおよび先行するフレームに時間的に広がる長さ2・N/Fの変調関数を有する逆変換して、長さ2・N/Fの時間的部分を得るように構成されたスペクトル時間モジュレータ(16)と、
各フレーム(36)について、n=0,…,2M-1に対してzk,n=ωn・xk,nにより前記時間的部分xk,nをウィンドウ化して、n=0…2M-1としてウィンドウ化された時間的部分zk,nを得るように構成されるウィンドウ化器(18)と、
n=0,…,M-1に対してmk,n=zk,n+zk-1,n+Mにより中間の時間的部分mk(0),…mk(M-1)を生成するように構成される時間ドメインエイリアシング・キャンセラー(20)と、
n=M/2,…,M-1に対してuk,n=mk,n+ln-M/2・mk-1,M-1-n、および
n=0,…,M/2-1に対してuk,n=mk,n+lM-1-n・outk-1,M-1-n
により、n=0…M-1の前記オーディオ信号のフレームuk,nを得るように構成されるリフター(80)と、
を備え、
n=0…M-1のlnはリフティング係数であり、
前記逆変換は、逆MDCTまたは逆MDSTであり、
n=0…M-1のlnおよびn=0,…,2M-1のωnは、合成ウィンドウのn=0…(E+2)M-1の係数wnに依存し、前記合成ウィンドウは、長さ1/4・Nのセグメントにおけるセグメント補間によって係数Fでダウンサンプルされた、長さ4・Nの参照合成ウィンドウのダウンサンプルされたバージョンである、
オーディオデコーダ。
【請求項16】
請求項1ないし請求項15のいずれかに記載のオーディオデコーダ(10)の合成ウィンドウのダウンスケールされたバージョンを生成するための装置であって、前記装置は、等しい長さの4・(E+2)個のセグメントにおけるセグメント補間によって、長さ(E+2)・Nの参照合成ウィンドウを係数Fでダウンサンプルするように構成される、装置。
【請求項17】
請求項1ないし請求項16のいずれかに記載のオーディオデコーダ(10)の合成ウィンドウのダウンスケールされたバージョンを生成するための方法であって、前記方法は、等しい長さの4・(E+2)個のセグメントにおけるセグメント補間によって、長さ(E+2)の参照合成ウィンドウを係数Fでダウンサンプルするステップを含む、方法。
【請求項18】
オーディオ信号が第2のサンプリング・レートで変換符号化されているデータストリーム(24)から、第1のサンプリング・レートで前記オーディオ信号(22)を復号化するための方法であって、前記第1のサンプリング・レートは、前記第2のサンプリング・レートの1/Fであり、前記方法は、
前記オーディオ信号の長さNのフレームごとに、N個のスペクトル係数(28)を受信するステップと、
各フレームについて、前記N個のスペクトル係数(28)から長さN/Fの低周波数部分をグラブアウトするステップと、
長さ(E+2)・N/Fの時間的部分を得るために、各フレーム(36)について、前記低周波数部分をそれぞれのフレームおよびE+1個の先行するフレームに時間的に広がる長さ(E+2)・N/Fの変調関数を有する逆変換することによってスペクトル時間変調を実行するステップと、
各フレーム(36)について、その先端に長さ1/4・N/Fのゼロ部分を含み、合成ウィンドウの時間的間隔の範囲内においてピークを有する、長さ(E+2)・N/Fの前記合成ウィンドウを使用して、前記時間的部分をウィンドウ化するステップであって、前記時間的間隔は、前記ウィンドウ化器が、長さ(E+2)・N/Fのウィンドウ化された時間的部分が得られるように、前記ゼロ部分に続き、且つ、長さ7/4・N/Fを有する、ウィンドウ化するステップと、
現在のフレームの前記ウィンドウ化された時間的部分の長さ(E+1)/(E+2)の終端部分が、先行するフレームの前記ウィンドウ化された時間的部分の長さ(E+1)/(E+2)の先端と重なるように、前記フレームの前記ウィンドウ化された時間的部分を重畳加算処理することによって時間領域エイリアシングのキャンセルを実行するステップと、
を備え、
ここで、前記逆変換は、逆MDCTまたは逆MDSTであり、
前記合成ウィンドウは、長さ1/4・Nのセグメントにおけるセグメント補間によって係数Fでダウンサンプルされた、長さ(E+2)・Nの参照合成ウィンドウのダウンサンプルされたバージョンである、
方法。
【請求項19】
コンピュータまたはプロセッサで動作させる場合に、請求項16または請求項18の方法を実行するためのプログラムコードを有する、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ダウンスケールされた復号化の概念に関する。
【背景技術】
【0002】
MPEG-4拡張 低遅延AAC(MPEG-4 Enhanced Low Delay;AAC-ELD)は、通常、最高48kHzのサンプル・レートで処理され、15msのアルゴリズムの遅延を結果として得る。いくつかのアプリケーション、たとえば、オーディオの同期録音の伝送のために、さらに低い遅延が望ましい。AAC-ELDは、既に、より高いサンプル・レート、たとえば、96kHzで処理することによってすでにこの種のオプションを提供する。したがって、処理モードにさらにより低い遅延、たとえば、7.5msを提供する。しかしながら、この処理モードは、高いサンプル・レートのため、不必要に高い複雑さによって進行する。
【0003】
この課題の解決は、フィルタ・バンクのダウンスケールされたバージョンを適用して、したがって、より低いサンプル・レート、たとえば、96kHzの代わりに48kHzでオーディオ信号をレンダーすることである。ダウンスケールする処理は、すでに、MPEG-4 AAC-LDコーデックから継承されて、すでに、そのままAAC-ELDの部分であり、AAC-ELDの基礎として役立つ。
【0004】
しかしながら、残る問題は、どのように、特定のフィルタ・バンクのダウンスケールされたバージョンを見つけるのかということである。すなわち、AAC-ELDデコーダのダウンスケール処理モードの明確な一致テストを可能にする間、唯一の不確定度は、ウィンドウ係数が導出される方法である。
【0005】
以下において、AAC-(E)LDコーデックのダウンスケールされた処理モードの原理が記載される。
【0006】
ダウンスケールされた処理モードまたはAAC-LDが、セクション4.6.17.2.7「より低いサンプリング・レートを使用するシステムへの適応」のISO/IEC 14496-3:2009において、AAC-LDについて以下のように記載される。
【0007】
「特定のアプリケーションにおいて、ビットストリーム・ペイロードの名目上のサンプリング・レートが、より非常に高い(たとえば、約20msのアルゴリズムのコーデック遅延に対応する、48kHz)一方、より低い遅延デコーダを、より低いサンプリング・レート(たとえば、16kHz)で動作しているオーディオシステムに集積するのに必要でありうる。そのような場合、復号化の後、付加的なサンプリング・レート変換処理を使用することよりむしろターゲットサンプリング・レートで直接低い遅延コーデックの出力を復号化することは、有利である。
【0008】
これは、いくつかの整数ファクター(たとえば、2、3)によって、コーデックのその時間/周波数の解像度を結果として得るように、フレームサイズおよびサンプリング・レートの両方のダウンスケールに割り当てることによって、近似される。たとえば、コーデック出力は、たとえば、合成フィルタ・バンクに先行するスペクトル係数の最低3分の1(すなわち、480/3=160)だけを保持し、逆変換サイズを次のように3分の1に低減することによって(すなわち、ウィンドウサイズ960/3=320)、名目上48kHzではなく16kHzのサンプリング・レートで生成することができる。
【0009】
結果として、より低いサンプリング・レートのための復号化は、メモリ要件および計算要件の両方を低減するが、帯域制限およびサンプル・レート変換に続く全帯域幅デコードと全く同じ出力を生成しない可能性がある。
【0010】
上記のように、より低いサンプリング・レートで復号化することは、AAC低遅延ビットストリーム・ペイロードの名目上のサンプリング・レートを意味するレベルの解釈には影響しないことに注意してください。」
【0011】
AAC-LDは、標準のMDCTフレームワークと2つのウィンドウシェイプ、つまりサイン・ウィンドウとローオーバーラップウィンドウで動作する点に留意されたい。両方のウィンドウは式で完全に記述されているため、任意の変換長のウィンドウ係数を決定できる。
【0012】
AAC-LDと比較して、AAC-ELDコーデックは、2つの大きな違いを示す:
・低い遅延MDCTウィンドウ(LD-MDCT)
・低遅延SBRツールを利用する可能性
【0013】
低遅延MDCTウィンドウを使用するIMDCTアルゴリズムは、[1]の4.6.20.2において記載され、それは、たとえば、サイン・ウィンドウを使用する標準IMDCTバージョンに非常に類似する。低MDCTウィンドウ(480および512のサンプルフレームサイズ)の係数は、[1]の表4.A.15および表4.A.16において与えられる。係数は、最適化アルゴリズムの結果であるため、数式で係数を決定することはできない点に留意されたい。
図9は、フレームサイズ512のウィンドウ形状のプロットを示す。
【0014】
低遅延SBR(LD-SBR)ツールがAAC-ELDコーダと共に使用される場合、LD-SBRモジュールのフィルタ・バンクも同様にダウンスケールされる。これにより、SBRモジュールが同じ周波数分解能で処理することが保証されるため、これ以上の適応は必要ない。
【0015】
したがって、上記の説明は、たとえば、AAC-ELDでの復号化をダウンスケールするなど、復号化をダウンスケールする必要があることを明らかにする。ダウンスケールされた合成ウィンドウ関数の係数を新たに見つけることは可能であるが、これは厄介な作業であり、ダウンスケールされたバージョンを記憶するための追加の記憶を必要とし、非ダウンスケールされた復号化とダウンスケールされた復号化との間の適合チェックを、別の観点からは、たとえば、AAC-ELDで要請されたダウンスケールの方法に従わない。ダウンスケール比、すなわち、もとのサンプリング・レートとダウンサンプルされたサンプリング・レートとの比に応じて、ダウンサンプルされた合成ウィンドウ関数を単純にダウンサンプル、すなわちもとの合成ウィンドウ関数の2番目、3番目、この手順では、それぞれ非ダウンスケールされた復号化とダウンスケールされた復号化の十分な適合性が得られない。合成ウィンドウ関数に適用されるより高度なデシメーションプロシージャを使用すると、もとの合成ウィンドウ関数形状からの許容できない偏差が生じる。したがって、当技術分野では、改良されたダウンスケールされる復号化の概念が必要とされている。
【先行技術文献】
【非特許文献】
【0016】
【非特許文献1】ISO/IEC 14496-3:2009
【非特許文献2】M13958, "Proposal for an Enhanced Low Delay Coding Mode", October 2006, Hangzhou, China
【発明の概要】
【発明が解決しようとする課題】
【0017】
したがって、本発明の目的は、このような改良されたダウンスケールされた復号化を可能にするオーディオ復号化スキームを提供することである。
【0018】
この目的は、独立請求項の主題によって達成される。
【課題を解決するための手段】
【0019】
本発明は、ダウンスケールされたオーディオ復号化に使用される合成ウィンドウが、ダウンコンバートされたオーディオ復号化に含まれる参照合成ウィンドウのダウンサンプルされたバージョンである場合に、オーディオ復号化処理のダウンスケールされたバージョンがより効果的におよび/またはダウンサンプルされたサンプリング・レートおよびもとのサンプリング・レートが逸脱するダウンサンプリング係数によるダウンサンプリング化による非ダウンスケールされたオーディオ復号化処理と、フレーム長の1/4のセグメント補間を使用してダウンサンプルされる。
【0020】
本出願の有利な態様は、従属請求項の主題である。本出願の好ましい実施形態は、図面に関して以下に説明される。
【図面の簡単な説明】
【0021】
【
図1】
図1は、完全な再構成を保存するために復号化をダウンスケールするときに従う必要がある完全な再構成要件を示す概略図を示す。
【
図2】
図2は、実施例に記載されるダウンスケールされた復号化のためのオーディオデコーダのブロック図を示す。
【
図3】
図3は、オーディオ信号がもとのサンプリング・レートでデータストリームに符号化され、
図2のオーディオデコーダの動作モードを示すように、上半分から破線の水平線で分離された下半分において、ダウンスケールされたデータストリームからオーディオ信号を低減またはダウンスケールされたサンプリング・レートで再構成するための復号化処理を実行する。
【
図4】
図4は、
図2のウィンドウ化器と時間領域エイリアシング・キャンセラーとの協働を示す概略図である。
【
図5】
図5は、スペクトル対時間変調された時間部分のゼロ加重部分の特別な処理を使用して、
図4による再構成を達成するための可能な実装を示す。
【
図6】
図6は、ダウンサンプルされた合成ウィンドウを得るためのダウンサンプルを示す概略図を示す。
【
図7】
図7は、低遅延SBRツールを含むAAC-ELDのダウンスケールされた処理を示すブロック図を示す。
【
図8】
図8は、モジュレータ、ウィンドウおよびキャンセラーがリフティング実装に従って実施される実施形態によるダウンスケールされた復号化のためのオーディオデコーダのブロック図を示す。
【
図9】
図9は、ダウンサンプルされる参照合成ウィンドウの一例としての512サンプルフレームサイズに対するAAC-ELDによる低遅延ウィンドウのウィンドウ係数のグラフを示す。
【発明を実施するための形態】
【0022】
以下の説明は、AAC-ELDコーデックに関するダウンスケールされた復号化のための実施形態の説明から始める。すなわち、以下の説明は、AAC-ELDのためにダウンスケールされたモードを形成する実施形態から始める。この記述は、同時に、本出願の実施形態の根底にある動機づけの一種の説明を形成する。その後、この説明が一般化され、それにより、本出願の一実施形態によるオーディオデコーダおよびオーディオ復号方法が説明される。
【0023】
本願の明細書の導入部で説明したように、AAC-ELDは低遅延MDCTウィンドウを使用する。そのダウンスケールされたバージョン、すなわちダウンスケールされた低遅延ウィンドウを生成するために、AAC-ELDのためのダウンスケールされたモードを形成するために後に説明される提案は、非常に高い精度を有するLD-MDCTウィンドウの完全な再構成特性(PR)を維持するセグメント・スプライン補間アルゴリズムを使用する。したがって、アルゴリズムは、[2]で説明されているように、ISO/IEC 14496-3:2009に記述されているように、直接形式のウィンドウ係数を互換性のある方法で生成することができる。これは、両方の実装が16ビット準拠の出力を生成することを意味する。
【0024】
低遅延MDCTウィンドウの補間は、以下のように実行される。
【0025】
一般に、スプライン補間は、周波数応答とほぼ完璧な再構成特性(約170dB SNR)を維持するためにダウンスケールされたウィンドウ係数を生成するために使用される。補間は、完全な再構成特性を維持するために特定のセグメントにおいて制約を受ける必要がある。変換のDCTカーネルをカバーするウィンドウ係数c(
図1も参照、c(1024)…c(2048))に対しては、以下の制約が必要である。
i=0…N/2-1に対して、
1=|(sgn・c(i)・c(2N-1-i)+c(N+1)・c(N-1-i)| (1)
ここで、Nは、フレームサイズを意味する。いくつかの実装は、複雑さを最適化するために、異なる記号を使用することができ、ここでは、sgnによって意味される。(1)の要件は、
図1で説明することができる。単純にF=2の場合であっても、すなわち、サンプリング・レートを半分にすると、参照合成ウィンドウの第2のウィンドウ係数を1つ置きに放棄して、ダウンスケールされた合成ウィンドウを得ることは要件を満たさないことを思い出さなければならない。
【0026】
係数c(0)…c(2N-1)は、ダイヤモンド形状に沿ってリスト化される。フィルタ・バンクの遅延低減の原因となるウィンドウ係数のN/4個のゼロは、太い矢印でマークされる。
図1は、MDCTに含まれるフォールディングによって引き起こされる係数の依存性と、望ましくない依存性を避けるために補間が拘束される必要がある点を示す。
・N/2係数ごとに、補間を停止して(1)を維持する必要がある。
・さらに、補間アルゴリズムは、挿入されたゼロのためにすべての係数を停止する必要がある。これにより、ゼロが維持され、補間誤差が広がらず、PRを維持することが保証される。
【0027】
第2の制約は、ゼロを含むセグメントだけでなく、他のセグメントに対しても必要である。DCTカーネル内のいくつかの係数が最適化アルゴリズムによって決定されなかったが、PRを可能にするために式(1)によって決定されたことを知ると、ウィンドウ形状におけるいくつかの不連続性が、たとえば、
図1におけるc(1536+128)付近で説明される。PR誤差を最小にするために、補間は、N/4グリッドに現れるそのような点で停止することを必要とする。
【0028】
この理由により、セグメント・スプライン補間のためのセグメント・サイズが、ダウンスケールされたウィンドウ係数を生成するために選択される。ソース・ウィンドウ係数は、常にN=512に使用される係数によって与えられ、N=240またはN=120のフレームサイズをもたらすダウンスケーリング演算についても同様である。基本的なアルゴリズムは、MATLABコードとして以下に簡単に概説される。
FAC = Downscaling factor % e.g. 0.5
sb = 128; % segment size of source window
w_down = []; % downscaled window
nSegments = length(W)/(sb);% number of segments; W=LD window coefficients for N=512
xn=((0:(FAC*sb-1))+0.5)/FAC-0.5; % spline init
for i=1:nSegments,
w_down=[w_down,spline([0:(sb-1)],W((i-1)*sb+(1:(sb))),xn)];
end;
【0029】
スプライン関数が完全に決定論的でない可能性があるため、完全アルゴリズムは、AAC-ELDで改良されたダウンスケールモードを形成するために、ISO/IEC 14496-3:2009に含まれる次のセクションで正確に規定される。
【0030】
換言すると、以下のセクションは、上記の考え方をER AAC ELDにどのように適用できるか、すなわち、第1のデータレートよりも低い第2のデータレートで、低複雑なデコーダがどのようにして第1のデータレートで符号化されたER AAC ELDビットストリームを符号化するかについて、提供する。ただし、以下で使用されるNの定義は、標準に準拠していることが強調される。ここで、Nは、DCTカーネルの長さに対応するが、本明細書の上、請求項およびその後に説明される一般化された実施形態では、Nはフレーム長、すなわちDCTカーネルの相互オーバーラップ長、すなわちDCTカーネル長の半分に対応する。したがって、したがって、上記ではNを512としたが、たとえば、以下では1024とする。
【0031】
以下のパラグラフは、14496-3:2009に改正を介して含めるために提案されている。
【0032】
A.0 より低いサンプリング・レートを使用するシステムへの適応
特定のアプリケーションでは、ER AAC LDは追加のリサンプリングステップ(4.6.17.2.7を参照)を避けるために再生サンプル・レートを変更することができる。ER AAC ELDは、低遅延MDCTウィンドウとLD-SBRツールを使用して同様のダウンスケーリングステップを適用できる。AAC-ELDがLD-SBRツールで動作する場合、ダウンスケーリング係数は2の倍数に制限される。LD-SBRがなければ、ダウンスケールされたフレームサイズは整数でなければならない。
【0033】
【0034】
fs_window_size = 2048; /* Number of fullscale window coefficients.
According to ISO/IEC 14496-3:2009, use 2048. For lifting implemenations,
please adjust this variable accordingly */
ds_window_size = N * fs_window_size / (1024 * F); /* downscaled window
coefficients; N determines the transformation length according to 4.6.20.2 */
fs_segment_size = 128;
num_segments = fs_window_size / fs_segment_size;
ds_segment_size = ds_window_size / num_segments;
tmp[128], y[128]; /* temporary buffers */
/* loop over segments */
for (b = 0; b < num_segments; b++) {
/* copy current segment to tmp */
copy(&W_LD[b * fs_segment_size], tmp, fs_segment_size);
/* apply cubic spline interpolation for downscaling */
/* calculate interpolating phase */
phase = (fs_window_size - ds_window_size) / (2 * ds_window_size);
/* calculate the coefficients c of the cubic spline given tmp */
/* array of precalculated constants */
m = {0.166666672, 0.25, 0.266666681, 0.267857134,
0.267942578, 0.267948717, 0.267949164};
n = fs_segment_size; /* for simplicity */
/* calculate vector r needed to calculate the coefficients c */
for (i = n - 3; i >= 0; i--)
r[i] = 3 * ((tmp[i + 2] - tmp[i + 1]) - (tmp[i + 1] - tmp[i]));
for (i = 1; i < 7; i++)
r[i] -= m[i - 1] * r[i - 1];
for(i = 7; i < n - 4; i++)
r[i] -= 0.267949194 * r[i - 1];
/* calculate coefficients c */
c[n - 2] = r[n - 3] / 6;
c[n - 3] = (r[n - 4] - c[n - 2]) * 0.25;
for (i = n - 4; i > 7; i--)
c[i] = (r[i - 1] - c[i + 1]) * 0.267949194;
for (i = 7; i > 1; i--)
c[i]=(r[i-1]-c[i+1])*m[i-1];
c[1] = r[0] * m[0];
c[0] = 2 * c[1] - c[2];
c[n-1] = 2 * c[n - 2] - c[n - 3];
/* keep original samples in temp buffer y because samples of
tmp will be replaced with interpolated samples */
copy(tmp, y, fs_segment_size);
/* generate downscaled points and do interpolation */
for (k = 0; k < ds_segment_size; k++) {
step = phase + k * fs_segment_size / ds_segment_size;
idx = floor(step);
diff = step - idx;
di = (c[idx + 1] - c[idx]) / 3;
bi = (y[idx + 1] - y[idx]) - (c[idx + 1] + 2 * c[idx]) / 3;
/* calculate downscaled values and store in tmp */
tmp[k] = y[idx] + diff * (bi + diff * (c[idx] + diff * di));
}
/* assemble downscaled window */
Copy(tmp, &W_LD_d[b* ds_segment_size], ds_segment_size);
}
【0035】
A.2 低遅延SBRツールのダウンスケール
低遅延SBRツールをELDと組み合わせて使用する場合、このツールは、少なくとも2の倍数のダウンスケール係数の場合、サンプル・レートを下げるためにダウンスケールすることができる。ダウンスケール係数Fは、CLDFB分析および合成フィルタ・バンクに使用される帯域の数を制御する。次の2つのパラグラフでは、ダウンスケールされたCLDFB分析および合成フィルタ・バンクについて説明する(4.6.19.4も参照)。
【0036】
【0037】
【0038】
F=2に設定すると、4.6.19.4.3に従ってダウンサンプルされた合成フィルタ・バンクが得られることに留意されたい。したがって、ダウンサンプルされたLD-SBRビットストリームを追加のダウンスケール係数Fで処理するためには、Fに2を掛ける必要がある。
【0039】
4.6.20.5.2.3 ダウンスケールされた実数値のCLDFBフィルタ・バンク
CLDFBのダウンスケールは、同様に低電力SBRモードの実数値のバージョンのために適用されうる。また、説明のために、4.6.19.5を考慮する。
ダウンスケールされた実数分析および合成フィルタ・バンクについては、4.6.20.5.2.1および4.6.20.2.2の説明に従い、cos()のモジュレータによってMのexp()モジュレータを交換する。
【0040】
【0041】
【0042】
ウィンドウ処理と重畳加算は、以下の方法で行われる:
【0043】
長さNのウィンドウは長さ2Nのウィンドウに置き換えられ、過去のオーバーラップはより大きく、将来のオーバーラップはより少なくなる(N/8の値は実際にはゼロである)。
【0044】
【0045】
【0046】
ここで、パラグラフは、14496-3:2009改正の終わりまでに含まれるように提案された。
【0047】
当然のことながら、AAC-ELDの可能なダウンスケールされたモードの上記説明は、本出願の一実施形態を単に表しており、いくつかの変更が可能である。一般に、本出願の実施形態は、AAC-ELD復号化のダウンスケールされたバージョンを実行するオーディオデコーダに限定されない。換言すれば、本出願の実施形態は、たとえば、スペクトルエンベロープのスケールファクタベースの送信、TNS(時間ノイズシェイピング)フィルタリング、スペクトル・バンド複製(SBR)などのAAC-ELDに特有の様々な他のタスクをサポートすることなく、または使用することなく、ダウンスケールされる方法において、逆変換処理を実行することができるオーディオデコーダを形成することによって導出されうる。
【0048】
次に、オーディオデコーダのより一般的な実施形態について説明する。上述のダウンスケールされたモードをサポートするAAC-ELDオーディオデコーダのための上記の概要の例は、このようにして説明されるオーディオデコーダの実装を表すことができる。特に、後に説明されるデコーダは
図2に示され、
図3は
図2のデコーダによって実行されるステップを示す。
【0049】
図2のオーディオデコーダは、参照符号10を使用して一般に示されており、レシーバ12、グラバー14、スペクトル時間モジュレータ16、ウィンドウ化器18、および時間領域エイリアシング・キャンセラー20を含み、それらの言及の順序で互いに直列に接続されている。オーディオデコーダ10のブロック12~20の相互作用および機能性は、
図3に関して以下に説明される。本出願の説明の最後に記載されているように、ブロック12~20は、コンピュータ・プログラム、FPGAまたは適切にプログラムされたコンピュータ、プログラムされたマイクロプロセッサまたは特定用途向け集積回路の形態のようなソフトウェア、プログラム可能ハードウェアまたはハードウェアそれぞれのサブルーチンや回路パス等を表すブロック12~20との間でデータのやり取りを行う。
【0050】
以下でより詳細に概説されるように、
図2のオーディオデコーダ10は、オーディオストリーム24からオーディオ信号22を復号化するために、オーディオデコーダ10の要素が適切に協働するように構成されている。オーディオデコーダ22は、オーディオ信号22が符号化側でデータストリーム24に変換符号化されたサンプリング・レートの1/Fであるサンプリング・レートで信号22を復号することは注目に値する。Fは、たとえば、1より大きい有理数であってもよい。オーディオデコーダは、異なるもしくは可変のダウンスケーリング係数Fまたは固定されたスケーリング係数Fで動作するように構成することができる。代替案については、後で詳しく説明する。
【0051】
オーディオ信号22が符号化またはもとのサンプリング・レートでデータストリームに変換符号化される方法は、
図3の上半分に示されている。
図3は、
図3において水平に延びる時間軸30および
図3において垂直に走る周波数軸32に沿ってスペクトル的に配置された小さなボックスまたは四角28を使用するスペクトル係数を示す。スペクトル係数28は、データストリーム24内で送信される。したがって、スペクトル係数28が得られる方法、そして、スペクトル係数28がオーディオ信号22を表す方法が、
図3の34に示されており、そしてそれは、時間軸30の一部について、スペクトル係数28が、どのようにオーディオ信号から得られるそれぞれの時間部分に属しているか、または表しているかを示す。
【0052】
特に、データストリーム24内で送信される係数28は、オーディオ信号22の重複変換の係数であり、その結果、もとのまたは符号化サンプリング・レートでサンプリングされたオーディオ信号22は、時間的に連続し、所定の長さNを有する。ここで、N個のスペクトル係数は、各フレーム36についてデータストリーム24で送信される。すなわち、変換係数28は、臨界サンプリングされた重畳変換を用いてオーディオ信号22から得られる。スペクトログラムスペクトログラム表示26において、スペクトル係数28の列の時間的シーケンスの各列は、一連のフレームのフレーム36のそれぞれに対応する。N個のスペクトル係数28は、結果として得られるスペクトル係数28が属するフレーム36にわたってだけでなく、E+1個前のフレームにまたがり、時間的に伸びる変調関数が、スペクトル分解変換または時間スペクトル変調によって、対応するフレーム36について得られる。ここで、Eは、任意の整数または0より大きい任意の偶数番号の整数でありうる。すなわち、あるフレーム36に属する26のスペクトログラムの1つの列のスペクトル係数28は、変換ウィンドウに変換を適用することによって得られ、さらに、それぞれのフレームは過去に現在のフレームに関して存在するE+1個のフレームを含む。34で示された部分の中間フレーム36に属する変換係数列28の
図3に示されているこの変換ウィンドウ38内のオーディオ信号のサンプルのスペクトル分解は、低遅延ユニモーダルな分析を用いて達成されるMDCTまたはMDSTまたは他のスペクトル分解変換を施す前に、変換ウィンドウ38内のスペクトルサンプルに重み付けをするためのウィンドウ関数40を使用する。エンコーダ側遅延を低下させるために、分析ウィンドウ40は、エンコーダが現在のフレーム36内の最新のサンプルの対応する部分を待つ必要がないように、その時間的な前端にゼロ間隔42を含み、この現在のフレーム36のスペクトル係数28を生成する。すなわち、ゼロインターバル42内では、低遅延ウィンドウ関数40はゼロであるか、またはゼロウィンドウ係数を有するので、現在のフレーム36の同じ位置に配置されたオーディオサンプルは、ウィンドウ加重40のために変換係数28と、データストリーム24とを含む。すなわち、上記を要約すると、現在のフレーム36に属する変換係数28は、変換ウィンドウ38の範囲内におけるオーディオ信号のサンプルのウィンドウ化およびスペクトル分解によって得られ、そしてそれは、現在のフレームだけでなく時間的な先行フレームを含み、時間的に隣接するフレームに属するスペクトル係数28を決定するために使用される対応する変換ウィンドウと時間的にオーバーラップする。
【0053】
オーディオデコーダ10の説明を再開する前に、これまでに提供されたデータストリーム24内のスペクトル係数28の伝送の説明は、スペクトル係数28が量子化される方法に関して簡略化されている、オーディオ信号をラップ変換に供する前に、オーディオ信号22が前処理された方法および/またはデータストリーム24に符号化されうる。たとえば、変換符号化されたオーディオ信号22をデータストリーム24に有するオーディオエンコーダは、心理音響モデルを介して制御されてもよいし、心理音響モデルを使用して、量子化雑音を保持してもよく、量子化及び送信されたスペクトル係数28がスケーリングされるスペクトル帯域のためのスケールファクタを決定する。スケールファクタは、データストリーム24においてもシグナリングされる。あるいは、オーディオエンコーダは、TCX(Transform Coded Excitation:変換符号化励振)タイプのエンコーダでありうる。次に、オーディオ信号は、励起信号、すなわち線形予測残差信号に重複変換を適用することによって、スペクトル係数28のスペクトル視覚的表現26を形成する前に、線形予測分析フィルタリングを受けていたであろう。たとえば、線形予測係数もデータストリーム24にシグナリングされ、スペクトル係数28を得るためにスペクトル均一量子化を適用することができる。
【0054】
さらに、これまでの説明は、フレーム36のフレーム長さおよび/または低遅延窓関数40に関して単純化されている。実際、オーディオ信号22は、変化するフレームサイズおよび/または異なるウィンドウ40を使用してデータストリーム24に符号化されうる。しかしながら、以下の説明は、オーディオ信号をデータストリームに符号化する間にエントロピー符号器がこれらのパラメータを変更する場合に容易に拡張することができるが、以下の説明は1つのウィンドウ40と1フレーム長に集中する。
【0055】
図2のオーディオデコーダ10およびその説明に戻ると、レシーバ12はデータストリーム24を受信し、それによって各フレーム36に対してN個のスペクトル係数28、すなわち
図3に示す係数28のそれぞれの列を受信する。もとの符号化サンプリング・レートまたは符号化サンプリング・レートのサンプルで測定されたフレーム36の時間的長さは、
図3の34で示されるようにN個であるが、
図2のオーディオデコーダ10は、オーディオを復号化するように構成されている、信号22を低減されたサンプリング・レートで受信する。オーディオデコーダ10は、たとえば、以下で説明するこのダウンスケールされた復号化機能のみをサポートする。あるいは、オーディオデコーダ10は、もとのまたは符号化サンプリング・レートでオーディオ信号を再構成することができるが、以下に説明するように、オーディオデコーダ10の動作のモードと一致するように、ダウンスケールされた復号化モードと非ダウンスケールされた復号化モードとの間で切り替えられうる。たとえば、オーディオエンコーダ10は、バッテリレベルが低い場合、再生環境能力が低下した場合等のように、ダウンスケールされた復号化モードに切り替えることができる。状況が変化するたびに、オーディオデコーダ10は、たとえば、ダウンスケールされた復号化モードから非ダウンスケールされた復号化モードに切り替えることができる。いずれにしても、以下に説明するように、デコーダ10のダウンスケールされた復号化処理に従って、オーディオ信号22は、低減されたサンプリング・レートにおいて、フレーム36が、この低減されたサンプリング・レートのサンプルにおいて測られる低い長さ、すなわち、低減されたサンプリング・レートでのN/Fサンプルの長さを有するサンプリング・レートで再構成される。
【0056】
レシーバ12の出力は、N個のスペクトル係数のシーケンス、すなわちフレーム36ごとにN個のスペクトル係数の1組、すなわち
図3の1つの列である。データを形成するための変換符号化処理の上記の簡単な説明から既に明らかであるストリーム24において、レシーバ12は、フレーム36ごとにN個のスペクトル係数を得る際に様々なタスクを適用することができる。たとえば、レシーバ12は、データストリーム24からスペクトル係数28を読み出すためにエントロピー復号化を使用することができる。レシーバ12はまた、データストリーム内に供給されるスケールファクタおよび/またはデータストリーム24内に伝達される線形予測係数によって得られるスケールファクタを用いて、データストリームから読み取られたスペクトル係数をスペクトル的に整形することができる。たとえば、レシーバ12は、データストリーム24から、すなわちフレームごとおよびサブバンドごとにスケールファクタを取得し、これらのスケールファクタを使用して、データストリーム24内で伝達されるスケールファクタをスケーリングすることができる。あるいは、レシーバ12は、各フレーム36について、データストリーム24内で伝達された線形予測係数からスケールファクタを導出し、これらのスケールファクタを使用して、送信されたスペクトル係数28をスケーリングすることができる。任意選択的に、レシーバ12は、フレーム当たりN個のスペクトル係数18のセット内のゼロ量子化部分を合成的に満たすためにギャップ充填を実行してもよい。それに加えて、またはこれに代えて、レシーバ12は、TNS係数をデータストリーム24内で送信しながら、データストリームからのスペクトル係数28の再構成を支援するために、フレームごとに送信TNSフィルタ係数にTNS合成フィルタを適用することができる。レシーバ12の考えられる可能性のあるタスクは、可能な測定値の非限定的なリストとして理解されるべきであり、レシーバ12は、データストリーム24からのスペクトル係数28の読み取りに関連してさらに実行され、あるいは他に負担をかける。
【0057】
したがって、グラバー14は、レシーバ12からスペクトル係数28のスペクトログラム26を受信し、各フレーム36について、各フレーム36のN個のスペクトル係数の低周波数部分44、すなわちN/F最低周波数スペクトル係数を取り込む。
【0058】
すなわち、スペクトル時間モジュレータ16は、グラバー14から、スペクトログラム26の低周波スライスに対応するフレーム36ごとのN/Fスペクトル係数28のストリームまたはシーケンス46を受信し、最低周波数スペクトルにスペクトル的に記録され、
図3のインデックス「0」を用いて示され、インデックスN/F-1のスペクトル係数まで伸びる係数を含む。
【0059】
スペクトル時間モジュレータ16は、各フレーム36について、スペクトル係数28の対応する低周波数部分44を、長さ(E+2)・N/Fの変調関数を有する逆変換48にそれぞれ(E+2)・N/Fの時間的部分、すなわち未だウィンドウ化されていない時間セグメント52を得る。すなわち、スペクトル時間モジュレータは、たとえば、上記の代替案セクションA.4の提案された第1の式を用いて、同じ長さの変調関数を重み付けして合計することによって、低減されたサンプリング・レートの(E+2)・N/Fサンプルの時間的時間セグメントを得ることができる。時間セグメント52の最新のN/Fサンプルは、現在のフレーム36に属する。変調関数は、示されるように、逆変換が逆MDCTである場合には余弦関数であり、逆MDCTである場合には正弦関数でありうる。
【0060】
このようにして、ウィンドウ化器52は、フレームごとに、時間的部分52を受信し、そのN/Fサンプルは、それぞれの時間的部分52の他のサンプルが対応する時間的に先行するフレームに属する間、それぞれのフレームに時間的に対応する。各フレーム36について、長さ(E+2)・N/Fのユニモーダルな合成ウィンドウ54を使用して、ウィンドウ18のウィンドウ36をウィンドウ36の長さ1/4の長さのゼロ部分56、すなわち1/F・N/Fのゼロ値ウィンドウ係数を含み、時間的にゼロ部分56、すなわちゼロ部分52によってカバーされない時間的部分52の時間間隔に続いてその時間間隔内にピーク58を有する。後者の時間間隔は、ウィンドウ58の非ゼロ部分と呼ばれ、低減されたサンプリング・レートのサンプル、すなわち7/4・N/Fウィンドウ係数で測定された7/4・N/Fの長さを有する。ウィンドウ化器18は、たとえばウィンドウ58を用いて時間的部分52を重み付けする。この各時間的部分52のウィンドウ54による重み付けまたは乗算58は、時間的範囲が関係する限りウィンドウ化された時間的部分60を各フレーム36に対して1つずつ、それぞれの時間的部分52と一致させる。上記の提案されたセクションA.4において、ウィンドウ18によって使用され得る窓処理は、zi,nとxi,nとの関係式によって記述される。xi,nは、ウィンドウ化されていない前述の時間的部分52に対応し、zi,nは、フレーム/ウィンドウのシーケンスをインデックスするウィンドウ化された時間的部分60に対応し、nは、各時間的部分52/60内で、減少されたサンプリング・レートに従って、それぞれの部分52/60の位置を決定する。
【0061】
このようにして、時間領域エイリアシング・キャンセラー20は、ウィンドウ化器18から一連のウィンドウ化された時間的部分60、すなわちフレーム36ごとに1つを受信する。キャンセラー20は、各ウィンドウ化された時間的部分60をその先頭のN/F値と対応するフレーム36と一致するように登録することによって、フレーム36のウィンドウ化された時間的部分60に重畳加算処理62を行う。この方法により、現在のフレームのウィンドウ化された時間的部分60の長さ(E+1)/(E+2)の終端部分、すなわち長さ(E+1)・N/Fを有する剰余は、直前の先行するフレームの時間的部分の対応する等しい長さの先端の部分とオーバーラップする。式において、時間領域エイリアシング・キャンセラー20は、セクションA.4の上記提案バージョンの最後の式に示すように動作することができる。ここで、outi,nは、低減されたサンプリング・レートでの再構成オーディオ信号22のオーディオサンプルに対応する。
【0062】
ウィンドウ化器18および時間領域エイリアシング・キャンセラー20によって実行されるウィンドウ化処理58および重畳加算62の処理は、
図4に関して以下により詳細に示される。
図4は、上で提案されたセクションA.4に適用された体系と
図3および
図4に適用された参照符号の両方を使用する。x
0,0からx
0,(E+2)・
N/F-1は、0番目のフレーム36の空間時間モジュレータ16によって得られた0番目の時間的部分52を表す。xの第1のインデックスはフレーム36を時間的順序に沿ってインデックスし、xの第2のインデックスは時間的順序に沿った時間的サンプル、すなわち低減されたサンプル・レートに属するサンプル間ピッチをオーダーする。そして、
図4において、w
0からx
0,(E+2)・
N/F-1は、ウィンドウ54のウィンドウ係数を示す。xの第2のインデックス、すなわちモジュレータ16の出力としての時間的部分52と同様に、ウィンドウ54がそれぞれの時間的部分52に適用される場合、wのインデックスはインデックス0が最も古いものに対応し、インデックス(E+2)・N/F-1が最新のサンプル値に対応する。0番目のフレームに対してウィンドウ化された時間的部分を意味するz
0,0からz
0,(E+2)・
N/F-1は、z0,0=x
0,0・W
0,…,z
0,(E+2)・
N/F-1・
W(E+2)・
N/F-1によって得られるように、ウィンドウ化された時間的部分60を得るために、ウィンドウ化器18は、ウィンドウ54を用いて時間的部分52をウィンドウ化する。zのインデックスはxと同じ意味を有する。このようにして、モジュレータ16およびウィンドウ化器18は、xおよびzの第1のインデックスによってインデックスされた各フレームに対して作用する。キャンセラー20は、ここではu
-(E+1),0…u
-(E+1),N/F-1のサンプルuを得るために、キャンセラー20は、E+2個の直接に連続したフレームのE+2個のウィンドウ化された時間的部分60を合算し、ウィンドウ化された時間的部分60のサンプルを互いに1フレーム、すなわちフレーム36当たりのサンプル数、すなわちN/Fだけオフセットする。ここでも、uの第1のインデックスはフレーム番号を示し、第2のインデックスはこのフレームのサンプルを時間順に並べる。キャンセラーは、連続フレーム36内の再構成されたオーディオ信号22のサンプルが、互いに、u
-(E+1),0…u
-(E+1),N/F-1,u
-E,N/F-1,u
-(E-1),0…によって続くように、こうして得られた再構成されたフレームを結合する。キャンセラー22は、u
-(E+1),0=z
0,0+z
-1,N/F+…z
-(E+1),(E+1)・
N/F,…,u
-(E+1),N/F-1=z
0,N/F-1+z
-1,2・
N/F-1+…+z
-(E+1),
(E+2)・
N/F-1によって、-(E+1)番目のフレーム内のオーディオ信号22の各サンプルを計算する。すなわち、現在のフレームのサンプルuごとに(e+2)加数を加算する。
【0063】
図5は、フレーム-(E+1)のオーディオサンプルuに寄与するちょうどウィンドウ化されたサンプルの中で、可能性のある利用を示し、それは、ウィンドウ54のゼロ部分56に対応するか、または使用してウィンドウ化される。すなわち、z
(E+1),(E+7/4)・
N/F…z
-(E+1),(E+2)・
N/F-1はゼロ値である。したがって、E+2加数を使用してオーディオ信号uの-(E+1)番目のフレーム36内のすべてのN/Fサンプルを得る代わりに、キャンセラー20は、その先頭の1/4を計算することができる。すなわち、u
-(E+1),(E+7/4)・
N/F…u
-(E+1),(E+2)・
N/F-1は、単に、u
-(E+1),(E+7/4)・
N/F=z
0,3/4・
N/F+z
-1,7/4・
N/F+…+z
-E,(E+3/4)・
N/F,…,u
-(E+1),(E+2)・
N/F-1=z
0,N/F-1+z
-1,2・
N/F-1+…+z
-E,(E+1)・
N/F-1によってE+1加数を使用する。このようにして、ウィンドウ化器はゼロ部分56に対する重み付け58の性能を効果的に排除することさえできる。現在の-(E+1)番目のフレームのサンプルu
-(E+1),(E+7/4)・
N/F…u
-(E+1),(E+2)・
N/F-1は、E+1加数のみを使用して得られ、一方、u
-(E+1),(E+1)・
N/F…u
-(E+1),(E+7/4)・
N/F-1は、E+2加数を使用して得られる。
【0064】
かくして、上記において概説したようにして、
図2のオーディオデコーダ10は、データストリーム24に符号化されたオーディオ信号をダウンスケールされた態様で再生する。この目的のために、オーディオデコーダ10は、それ自体が長さ(E+2)・Nの参照合成ウィンドウのダウンサンプルされたバージョンであるウィンドウ関数54を使用する。
図6に関して説明されるように、このダウンサンプルされたバージョン、すなわちウィンドウ54は、参照合成ウィンドウを係数F、すなわち、ダウンサンプルされていない状態で測定された場合、セグメント補間、すなわち長さ1/4・Nのセグメントを用いてダウンサンプルすることによって得られる時間的に測定され、サンプリング・レートとは独立して表現される、フレーム36のフレーム長の1/4のセグメントにおける、ダウンサンプルされた領域における長さ1/4・Nのセグメントである。したがって、4・(E+2)では補間が実行され、連結された4・(E+2)×1/4・N/Fの長さのセグメントが生成され、長さの参照合成ウィンドウのダウンサンプルされたバージョン(E+2)・Nである。
図6を参照されたい。
図6は、長さ(E+2)・Nの参照合成ウィンドウ70の下のダウンサンプルされたオーディオ復号化手順に従ってオーディオデコーダ10によってユニモーダルに使用される合成ウィンドウ54を示す。すなわち、参照合成ウィンドウ70から、ダウンサンプルされた復号化のためにオーディオデコーダ10によって実際に使用される合成ウィンドウ54に至るダウンサンプル手順72によって、ウィンドウ係数の数は、係数Fだけ低減される。
図6において、
図1および
図2の体系は、すなわち、wはダウンサンプルされたバージョンのウィンドウ54を示すために使用され、w’は参照合成ウィンドウ70のウィンドウ係数を示すために使用される。
【0065】
上述したように、ダウンサンプル72を実行するために、参照合成ウィンドウ70は、等しい長さのセグメント74で処理される。番号には、(E+2)・4個のセグメント74がある。もとのサンプリング・レート、すなわち参照合成ウィンドウ70のウィンドウ係数の数で測定された各セグメント74は、1/4・N個のウィンドウ係数w’長さであり、低減またはダウンサンプルされたサンプリング・レートで測定される。各セグメント74は、1/4・N/F個のウィンドウ係数w長さである。
【0066】
【0067】
たとえば、合成ウィンドウ54は、長さ1/4・N/Fのスプライン関数の連結であってもよい。3次元のスプライン関数を使用することができる。そのような例は、セクションA.1で概説されており、外側のfor-nextループがセグメント74上を順次ループする。各セグメント74において、ダウンサンプルまたは補間72は、「係数cを計算するために必要なベクトルrを計算する」セクションの次の句の最初の部分における現在のセグメント74内の連続ウィンドウ係数w’の数学的組合せを含んでいた。しかしながら、セグメントに適用される補間は、異なる方法で選択されうる。すなわち、補間はスプラインまたは3次元のスプラインに限定されない。むしろ、線形補間または任意の他の補間方法を同様に使用することができる。いずれにしても、補間のセグメント実装は、別のセグメントに隣接して、ダウンスケールされた合成ウィンドウのサンプル、すなわち、ダウンスケールされた合成ウィンドウのセグメントの最外サンプルの計算に、異なるセグメントに存在している参照合成ウィンドウのウィンドウ係数に依存しないようにさせる。
【0068】
ウィンドウ化器18は、ダウンサンプルされた合成ウィンドウ54を、このダウンサンプルされた合成ウィンドウ54のウィンドウ係数w
iがダウンサンプル72を用いて得られた後に記憶されている記憶装置から得ることができる。あるいは、
図2に示すように、オーディオデコーダ10は、参照合成ウィンドウ70に基づいて
図6のダウンサンプル72を実行するセグメントダウンサンプラ76を備えてもよい。
【0069】
図2のオーディオデコーダ10は、ただ1つの固定ダウンサンプリング係数Fをサポートするように構成されてもよく、または異なる値をサポートしてもよいことに留意されたい。その場合、オーディオデコーダ10は、
図2に78で示すようにFの入力値に応答することができる。グラバー14は、たとえば、上述したように、フレームのスペクトルごとのN/Fスペクトル値を取得するために、この値Fに応答することができる。同様に、オプションのセグメントダウンサンプラ76は、上記のように動作するFのこの値に応答もしうる。S/Tモジュレータ16は、Fに応答して、たとえば、ダウンスケールされていない動作モードで使用されるものに対してダウンスケール/ダウンサンプルされた、変調機能のダウンスケール/ダウンサンプルされたバージョンを計算的に得る。ここで、再構成により、完全なオーディオサンプルレートが得られる。
【0070】
当然のことながら、モジュレータ16は変調関数の適切にダウンサンプルされたバージョンを使用するので、モジュレータ16はF入力78にも応答するであろうし、低減またはダウンサンプルされたサンプリング・レートにおいて、フレームの実際の長さの適応に関しては同様のことがウィンドウ化器18およびキャンセラー20についても当てはまる。
【0071】
たとえば、Fは、1.5以上10以下である。
【0072】
図2および
図3のデコーダまたは本明細書で概説されたそれらの任意の修正は、たとえば、EP 2 378 516 B1に教示されているような低遅延MDCTのリフティング実装を使用してスペクトルから時間への変換を実行するように実装されうる。
【0073】
図8は、リフティングの概念を使用するデコーダの実装を示す。S/Tモジュレータ16は、例示的に逆DCT-IVを実行し、続いて、ウィンドウ化器18と時間領域エイリアシング・キャンセラー20の連結を表すブロックが示される。
図8の実施例において、Eは2、すなわちE=2である。
【0074】
モジュレータ16は、逆タイプ-iv離散コサイン変換周波数/時間コンバータを含む。(E+2)N/F長の時間的部分52のシーケンスを出力する代わりに、N/F長のスペクトル46のシーケンスから得られる長さ2・N/Fの時間的部分52を出力するだけであり、これらの短縮部分52は、DCTカーネル、すなわち、以前に記述された部分の2・N/F最新のサンプルに変換する。
【0075】
ウィンドウ化器18は、前述したように動作し、各時間的部分52に対してウィンドウ化された時間的部分60を生成するが、それは単にDCTカーネル上で動作する。この目的のために、ウィンドウ化器18は、カーネル・サイズを有するi=0…2N/F-1のウィンドウ関数ωiを使用する。i=0…(E+2)・N/F-1のwiとの関係は、後で述べるリフティング係数およびi=0…(E+2)・N/F-1のwiの関係として記載される。
【0076】
上に適用された体系を使用して、これまでに記載された処理が得られる:
n=0,…,2M-1に対して、z
k,n=ω
n・x
k,n
M=N/Fを再定義することにより、Mが
図2-6の体系を用いてダウンスケールされた領域で表現されたフレームサイズに対応するようにする。ここで、しかしながら、z
k,nおよびx
k,nは、サイズ2・Mを有し、
図4におけるサンプルE・N/F…(E+2)・N/F-1に時間的に対応するDCTカーネル内のウィンドウ化された時間的部分および未だウィンドウ化されていない時間的部分のサンプルのみを含む。すなわち、nはサンプル・インデックスを示す整数であり、ω
nはサンプル・インデックスnに対応する実数値のウィンドウ関数の係数である。
【0077】
キャンセラー20の重畳加算処理は、上記の説明とは異なる方法で動作する。以下に記載の方程式または式に基づいて、中間の時間的部分mk(0),…mk(M-1)を生成する。
n=0,…,M-1に対して、mk,n=zk,n+zk-1,n+M
【0078】
図8の実装において、この装置は、リフター80が、モジュレータ機能の拡張機能およびゼロ部分56を補償するために導入された過去に向けてのカーネルを越える合成ウィンドウを処理する代わりに、DCTカーネルへの処理を制限したので、モジュレータ16およびウィンドウ化器18の一部として解釈され得るリフター80をさらに備える。リフター80は、遅延器および乗算器82および加算器84のフレームワークを使用して、以下に記載の方程式または式に基づいて、直接に連続したフレーム対の長さMの最終的に再構成された時間的部分またはフレームを生成する。
n=M/2,…,M-1に対して、u
k,n=m
k,n+l
n-M/2・m
k-1,M-1-n
および
n=0,…,M/2-1に対して、u
k,n=m
k,n+l
M-1-n・out
k-1,M-1-n
ここで、n=0…M-1であるl
nは、以下でより詳細に説明する方法で、ダウンスケールされた合成ウィンドウに関連する実数値のリフティング係数である。
【0079】
言い換えれば、E個のフレームの過去の重なり合いのために、リフター80のフレームワークに見られるように、M個の追加の乗算-加算演算のみが必要とされる。これらの追加演算は、「ゼロ遅延行列」と呼ばれることもある。これらの操作は、「リフティングステップ」とも呼ばれる。
図8に示す効率的な実装は、場合によっては、直接的な実装としてより効率的であり得る。より正確には、具体的な実装形態に依存して、このようなより効率的な実装は、
図19において示される実装のように、M個の動作の単純な実装の場合のように、M個の動作を節約する結果となる可能性があり、基本的に、モジュール820のフレームワークにおける2Mの操作と、リフター830のフレームワークにおけるMの操作とを必要とする。
【0080】
i=0…(E+2)M-1を伴う合成ウィンドウw
i上のn=0…2M-1を伴うω
nおよびn=0…M-1を伴うl
nの依存性に関して(ここでE=2)、以下の式は、それぞれの変数に続く括弧の中にこれまで使用されている添え字インデックスを置換することによるそれらの関係を説明している。
【0081】
ウィンドウwiは、この公式において右側のピーク値、すなわちインデックス2Mと4M-1との間のピーク値を含むことに留意されたい。上記の式は、ダウンスケールされた合成ウィンドウのn=0…(E+2)M-1を伴う係数wnにn=0…M-1を伴う係数lnおよび0,…,2M-1を伴うωnを関連付ける。見て分かるように、n=0…M-1を伴うlnは、実際には、ダウンサンプルされた合成ウィンドウ、すなわち、n=0…(E+1)M-1を伴うwnの係数の3/4にのみ依存し、一方、n=0,…,2M-1を伴うωnは、n=0…(E+2)M-1を伴うすべてのwnに依存する。
【0082】
上述したように、ダウンサンプル72を用いて得られた後、ウィンドウ化器18は、このダウンサンプルされた合成ウィンドウ54のウィンドウ係数w
iが格納された記憶装置から、ダウンサンプルされた合成ウィンドウ54(n=0…(E+2)M-1を伴うw
n)を得ることができる。そして、そこから上記の関係を用いて、n=0…M-1を伴う係数l
nおよびn=0,…,2M-1を伴うω
nを計算するために読み出される。しかし、あるいは、ウィンドウ化器18は、プレダウンサンプルされた合成ウィンドウから計算されたn=0…M-1を伴う係数l
nおよびn=0,…,2M-1を伴うω
nを記憶装置から直接得る。あるいは、上述したように、オーディオデコーダ10は、参照合成ウィンドウ70に基づいて
図6のダウンサンプル72を実行するセグメントダウンサンプラ76を備えることにより、ウィンドウ化器18は、上記の関係/公式を用いて、n=0…M-1を伴う係数l
nおよびn=0,…,2M-1を伴うω
nを計算することに基づいて、n=0…(E+2)M-1を伴うw
nを得る。リフティング実装を使用しても、Fの複数の値がサポートされる。
【0083】
リフティング実装を簡単に要約すると、オーディオ信号が第2のサンプリング・レートで変換符号化されるデータストリーム24から第1のサンプリング・レートでオーディオ信号22を復号化するように構成されたオーディオデコーダ10においても同様の結果が得られ、第1のサンプリング・レートは第2のサンプリング・レートの1/Fであり、オーディオデコーダ10は、オーディオ信号の長さN個のフレームごとにN個のスペクトル係数28を受信するレシーバ12を含み、各フレームについてグラブアウトするグラバー14は、N個のスペクトル係数28のうちの長さN/Fの低周波数部分であり、スペクトル時間モジュレータ16は、各フレーム36について対象とするように構成され、低周波数部分は、長さ2・N/Fの時間的部分を得るために、各フレームおよび先行するフレームにわたって時間的に伸びる長さ2・N/Fの変調関数を有する逆変換へと変換され、そして、n=0…2M-1を伴うウィンドウ化された時間的部分zk,nを得るために、ウィンドウ化器18は、n=0,…,2M-1に対するzk,nに従う時間的部分xk,nを、各フレーム36について、ウィンドウ化する。時間領域エイリアシング・キャンセラー20は、n=0,…,M-1に対してmk,n=zk,n+zk-1,n+Mに従う中間の時間的部分mk(0),…mk(M-1)を生成する。最後に、リフター80は、n=M/2,…,M-1に対するuk,n=mk,n+ln-M/2・mk-1,M-1-nおよびn=0,…,M/2-1に対するuk,n=mk,n+ln-M/2・mk-1,M-1-nに従うn=0…M-1を伴うオーディオ信号のフレームuk,nを計算し、ここで、n=0…M-1を伴うlnは、リフティング係数であり、逆変換は、逆MDCTまたは逆MDSTであり、そして、n=0…M-1を伴うlnおよびn=0,…,2M-1を伴うωnは、合成ウィンドウのn=0…(E+2)M-1を伴う係数wnに依存し、さらに、合成ウィンドウは、長さ4・Nの参照合成ウィンドウのダウンサンプルされたバージョンであり、1/4・Nの長さのセグメントのセグメント補間によって係数Fでダウンサンプルされる。
【0084】
図2のオーディオデコーダが低遅延SBRツールを伴う可能性がある、ダウンスケールされた復号化モードに関するAAC-ELDの拡張の提案に関する上記議論から既に判明した。たとえば、AAC-ELDコーダが上記の提案されたダウンスケールされた動作モードをサポートするために、どのように拡張されたかについての以下の概要は、低遅延SBRツールを使用する場合に動作する。低遅延SBRツールがAAC-ELDコーダに関連して使用される場合、本出願の明細書の導入部で既に述べたように、低遅延SBRモジュールのフィルタ・バンクも同様にダウンスケールされる。これにより、SBRモジュールが同じ周波数分解能で動作することが保証され、それ以上の適応は必要ない。
図7は、96kHzで動作するAAC-ELDデコーダの信号経路の概要を示しており、フレームサイズが480サンプルであり、ダウンサンプルされたSBRモードであり、ダウンスケーリング係数Fが2である。
【0085】
図7において、ビットストリームは、AACデコーダ、逆LD-MDCTブロック、CLDFB解析ブロック、SBRデコーダおよびCLDFB合成ブロック(CLDFB=複素低遅延フィルタ・バンク)のシーケンスによって処理されて達する。ビットストリームは、
図1および
図2に関して先に説明したデータストリーム24に等しい。逆低遅延MDCTブロックの出力においてダウンスケールされたオーディオ復号化によって得られたオーディオ信号のスペクトル周波数を拡張するスペクトル拡張帯域のスペクトル複製のスペクトル整形を支援するパラメトリックSBRデータを付加的に伴い、スペクトル整形はSBRデコーダによって実行される。特に、AACデコーダは、適切な構文解析およびエントロピー復号化によって必要な構文要素のすべてを検索する。AACデコーダは、
図7において逆低遅延MDCTブロックによって具現化されるオーディオデコーダ10のレシーバ12と部分的に一致してもよい。
図7において、Fは典型的には2に等しい。すなわち、
図7の逆低遅延MDCTブロックは、
図2の再構成オーディオ信号22の一例として、オーディオ信号が最初に到着したビットストリームの中へレートの半分でダウンサンプルされた48kHzの時間信号を出力する。CLDFB分析ブロックは、この48kHzの時間信号、すなわち、ダウンサンプルされたオーディオデコーダによって得られたオーディオ信号を、N個の帯域、ここではN=16に分割し、そして、SBRデコーダは、これらの帯域の再整形係数を計算し、それに応じてN帯域を再構成する。すなわち、AACデコーダの入力に到着する入力ビットストリーム内のSBRデータを介して制御され、そして、CLDFB合成ブロックは、逆低遅延MDCTブロックによって出力されたもとの復号化されたオーディオ信号に加えられるべき高周波数拡張信号を得ることによって、スペクトル領域から時間領域へと再変換する。
【0086】
【0087】
したがって、上記の例は、より低いサンプル・レートのシステムにコーデックを適応させるために、AAC-ELDコーデックのいくつかの欠落した定義を提供した。これらの定義は、ISO/IEC 14496-3:2009規格に含められうる。
【0088】
したがって、上記の議論において、それは、とりわけ以下に記載される:
【0089】
オーディオデコーダは、オーディオ信号が第2のサンプリング・レートで変換符号化されているデータストリームから、第1のサンプリング・レートでオーディオ信号を復号化するように構成することができ、第1のサンプリング・レートは、第2のサンプリング・レートの1/Fであり、オーディオデコーダは、オーディオ信号の長さNのフレームごとに、N個のスペクトル係数を受信するように構成されるレシーバと、各フレームについて、N個のスペクトル係数から長さN/Fの低周波数部分をグラブアウトするように構成されるグラバーと、各フレームについて、低周波数部分を、それぞれのフレームおよびE+1個の先行するフレームに時間的に広がる長さ(E+2)・N/Fの変調関数を有する逆変換して、長さ(E+2)・N/Fの時間的部分を得るように構成されたスペクトル時間モジュレータと、各フレームについて、その先端に長さ1/4・N/Fのゼロ部分を含み、合成ウィンドウの時間的間隔の範囲内においてピークを有する、長さ(E+2)・N/Fの合成ウィンドウを使用して、時間的部分をウィンドウ化するように構成されるウィンドウ化器であって、時間的間隔は、ウィンドウ化器が、長さ(E+2)・N/Fのウィンドウ化された時間的部分を得るように、ゼロ部分に続き、そして、長さ7/4・N/Fを有する、ウィンドウ化器と、現在のフレームのウィンドウ化された時間的部分の長さ(E+1)/(E+2)の終端部分が、先行するフレームのウィンドウ化された時間的部分の長さ(E+1)/(E+2)の先端と重なるように、フレームのウィンドウ化された時間的部分を重畳加算処理するように構成された時間領域エイリアシング・キャンセラーと、を備え、逆変換は、逆MDCTまたは逆MDSTであり、ユニモーダルな合成ウィンドウは、長さ(E+2)・Nの参照ユニモーダル合成ウィンドウの、長さ1/4・N/Fのセグメントにおけるセグメント補間によって、係数Fでダウンサンプルされた、ダウンサンプルされたバージョンである。
【0090】
実施例に記載のオーディオデコーダにおいて、ユニモーダルな合成ウィンドウは、長さ1/4・NFのスプライン関数の連結である。
【0091】
実施例に記載のオーディオデコーダにおいて、ユニモーダルな合成ウィンドウは、長さ1/4・NFの3次元のスプライン関数の連結である。
【0092】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、E=2である。
【0093】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、逆変換は、逆MDCTである。
【0094】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、ユニモーダルな合成ウィンドウの主要部の80%以上がゼロ部分に続く、長さ7/4・N/Fである時間的間隔の範囲内に含まれる。
【0095】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、オーディオデコーダは、記憶装置から補間を実行するように、または、合成ウィンドウを導出するように構成される。
【0096】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、Fについて異なる値をサポートするように構成される。
【0097】
前述の実施例のいずれかに記載のオーディオデコーダにおいて、Fは、1.5以上10以下である。
【0098】
方法は、前述の実施例のいずれかに記載のオーディオデコーダによって実行される。
【0099】
コンピュータ・プログラムは、コンピュータで動作させる場合に、実施例に記載の方法を実行するためのプログラムコードを有する。
【0100】
「長さの」という用語に関しては、この用語はサンプルにおける長さを測定するものとして解釈されるべきであることに留意すべきである。ゼロ部分およびセグメントの長さに関する限り、それが整数値でありうることに留意すべきである。あるいは、それは、非整数値でもありうる。
【0101】
ピークが位置する時間間隔に関しては、
図1は、E=2およびN=512の参照ユニモーダルな合成ウィンドウの例についてのこのピークおよび時間間隔を例示的に示していることに留意されたい。ピークはおよそサンプル番号1408で最大値を有し、時間間隔はサンプル番号1024からサンプル番号1920まで及ぶ。従って、時間的間隔は、DCTカーネルの7/8である。
【0102】
用語「ダウンサンプルされたバージョン」に関しては、上記の仕様では、この用語の代わりに、「ダウンスケールされたバージョン」が同義語として使用されていることに留意されたい。
【0103】
「一定の間隔内の関数の主要部」という用語については、同じことがそれぞれの間隔内のそれぞれの関数の定積分を示すことに留意されたい。
【0104】
Fの異なる値をサポートするオーディオ復号器の場合、それは、参照ユニモーダルな合成ウィンドウのそれに応じてセグメント補間されたバージョンを有する記憶装置を含むことができ、またはFの現在アクティブな値についてセグメント補間を実行することができる。異なるセグメント補間バージョンは、補間がセグメント境界における不連続性に悪影響を及ぼさないという共通点を有する。これらは、上述したように、スプライン関数でありうる。
【0105】
上記の
図1のような参照ユニモーダルな合成ウィンドウからセグメント補間によりユニモーダルな合成ウィンドウを導出することにより、4・(E+2)個のセグメントは3次もとのスプライン等のスプライン近似によって形成され、遅延を小さくするための手段として、合成されたゼロ部分が1/4・N/Fのピッチでユニモーダルな合成ウィンドウに存在する不連続性が保存される。
【0106】
文献
[1] ISO/IEC 14496-3:2009
[2] M13958, "Proposal for an Enhanced Low Delay Coding Mode", October 2006, Hangzhou, China
【手続補正書】
【提出日】2023-08-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
オーディオ信号のフレームのそれぞれについて、それぞれの前記フレームとNが整数であるN-1個の先行するフレームとを含む時間的部分のスペクトル分解を形成するスペクトルを受信するように構成されるレシーバと、
各フレームについて、前記スペクトルの長さの1/Fの低周波数部分をグラブアウトするように構成されるグラバーと、
各フレームについて、前記低周波数部分を逆変換して、前記時間的部分の時間的表現を取得するように構成されるスペクトル時間モジュレータと、
各フレームについて、合成ウィンドウを使用して、前記時間的部分の前記時間的表現をウィンドウ化するように構成されるウィンドウ化器であって、前記合成ウィンドウは、その先端にフレーム長の1/4のゼロ部分に続き、前記合成ウィンドウの時間的間隔の範囲内においてピークを含んでいて、前記ウィンドウ化器が、前記時間的部分の前記ウィンドウ化された時間的表現を取得するようになっている、ウィンドウ化器と、
前記フレームの前記時間的部分の前記ウィンドウ化された時間的表現を、前記フレーム長に相当する相互のフレーム間距離で重畳加算処理するように構成された時間領域エイリアシング・キャンセラーと、
を備え、
ここで、前記逆変換は、逆MDCTまたは逆MDSTであり、
前記合成ウィンドウは、互いにセグメント長さが等しい4N個のセグメントにおけるセグメント補間によって、係数Fでダウンサンプルされた、参照合成ウィンドウのダウンサンプルされたバージョンであり、
前記レシーバは、前記データストリーム内で送信されるTNS(時間ノイズシェーピング)係数を使用して、TNS合成フィルタを適用して、前記スペクトルを取得するように構成される、オーディオデコーダ。
【請求項2】
前記合成ウィンドウは、前記4N個のセグメントのそれぞれについて、1つのスプライン関数を連結したものである、請求項1に記載のオーディオデコーダ。
【請求項3】
前記合成ウィンドウは、前記4N個のセグメントのそれぞれについて、1つの3次元スプライン関数を連結させたものである、請求項1に記載のオーディオデコーダ。
【請求項4】
N=4である、請求項1に記載のオーディオデコーダ。
【請求項5】
前記逆変換は、逆MDCTである、請求項1に記載のオーディオデコーダ。
【請求項6】
前記合成ウィンドウの主要部の80%以上が、前記ゼロ部分に続く前記時間的間隔の範囲内に含まれ、前記ゼロ部分に続く前記時間的間隔は、前記フレーム長の7/4倍の長さである、請求項1に記載のオーディオデコーダ。
【請求項7】
前記オーディオデコーダは、前記合成ウィンドウの前記係数の過半数が前記参照合成ウィンドウの2つ以上の係数に依存するように、且つ、前記合成ウィンドウの各係数が、それぞれの前記係数の位置するセグメントに対してオフセットに配置される前記参照合成ウィンドウの係数とは無関係になるように、前記補間を実行するように構成される、請求項1に記載のオーディオデコーダ。
【請求項8】
前記オーディオデコーダは、セグメント境界から係数2つ分以上離間する前記合成ウィンドウの各係数が、前記参照合成ウィンドウの2つ以上の係数に依存するように、前記補間を実行するように構成される、請求項1に記載のオーディオデコーダ。
【請求項9】
前記合成ウィンドウを使用して前記時間的部分に重み付けする際に前記ウィンドウ化器が前記ゼロ部分をスキップし、且つ、前記重畳加算処理において前記時間領域エイリアシング・キャンセラーが、対応する前記ウィンドウ化された時間的部分の非重み付け部分を無視するように、前記ウィンドウ化器と前記時間領域エイリアシング・キャンセラーが協働する、請求項1に記載のオーディオデコーダ。
【請求項10】
オーディオ信号を復号化するための方法であって、前記方法は、
前記オーディオ信号のフレームのそれぞれについて、それぞれの前記フレームと3つの先行するフレームとを含む時間的部分のスペクトル分解を形成するスペクトルを受信するステップと、
各フレームについて、前記スペクトル長さの1/Fの低周波数部分をグラブアウトするステップと、
各フレームについて、前記低周波数部分を逆変換して前記時間的部分の時間的表現を取得するようにすることによって、スペクトル時間変調を実行するステップと、
各フレームについて、合成ウィンドウを使用して、前記時間的部分の前記時間的表現をウィンドウ化するステップであって、前記合成ウィンドウは、その先端にフレーム長の1/4のゼロ部分を含み、また前記ゼロ部分に続き、前記合成ウィンドウの時間的間隔の範囲内においてピークを含んでいて、前記時間的部分のウィンドウ化された時間的表現が取得されるようになっている、ウィンドウ化するステップと、
前記フレームの前記時間的部分の前記ウィンドウ化された時間的表現を、前記フレーム長に相当する相互フレーム間距離で重畳加算処理することによって時間領域エイリアシングのキャンセルを実行するステップと、
を備え、
ここで、前記逆変換は、逆MDCTまたは逆MDSTであり、
前記合成ウィンドウは、互いにセグメント長さが等しい16個のセグメントにおけるセグメント補間によって係数Fでダウンサンプルされた、参照合成ウィンドウのダウンサンプルされたバージョンであり、
前記スペクトルを取得するために、前記データストリーム内で送信されるTNS(時間ノイズシェーピング)係数を使用して、TNS合成フィルタが使用される、方法。
【請求項11】
コンピュータ・プログラムがコンピュータによって実行されるときに、請求項10に記載のオーディオ信号を復号化するための方法を実行するための前記コンピュータ・プログラムを記憶した、非一時的デジタル記憶媒体。
【外国語明細書】