合成フィルターバンク、デコーダ、ミキサー及び会議システム
【課題】それぞれが複数の順序良く整列された入力値を含む複数の入力フレームをフィルタリングするための合成フィルターバンクを提供する。
【解決手段】合成フィルターバンクは、複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部110を含み、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、ウィンドウ処理部はサンプル先行値を使用して重複方式で複数の入力フレームを処理し、サンプル先行値は一つの入力フレーム内の整列された入力サンプルの個数を2で割った数よりも小さい。合成フィルターバンクは、また、複数の出力値を含む出力フレームを出力するための時間/周波数コンバータ120を含み、出力フレームは入力フレームの時間表示である。
【解決手段】合成フィルターバンクは、複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部110を含み、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、ウィンドウ処理部はサンプル先行値を使用して重複方式で複数の入力フレームを処理し、サンプル先行値は一つの入力フレーム内の整列された入力サンプルの個数を2で割った数よりも小さい。合成フィルターバンクは、また、複数の出力値を含む出力フレームを出力するための時間/周波数コンバータ120を含み、出力フレームは入力フレームの時間表示である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、合成フィルターバンク及び該フィルターバンクを含み、例えば最近のオーディオ符号化、オーディオ復号化又は他のオーディオデータ転送に関する応用分野において実施可能なシステムに関する。また、本発明は、ミキサー及び会議システムに関する。
【背景技術】
【0002】
最近のデジタルオーディオ処理は、概して、オーディオデータの直接転送又は直接保存と比較して、ビットレート、転送帯域幅及び保存スペースに関してかなりの節約を可能にする符号化体系に基づく。これは、オーディオデータを送信側で符号化し、符号化されたデータを受信側で復号化し、その後例えばリスナーに提供することによって達成される。
【0003】
このようなデジタルオーディオ処理システムは、典型的には標準化されたオーディオデータストリームのための記憶領域、ビットレート、特に実施効率の点における計算の複雑さ、多様な応用に適した達成可能な質、オーディオデータの符号化及び符号化されたオーディオデータの復号化の間に生じる遅延を含む広範囲のパラメータに関して実施され得る。換言すれば、デジタルオーディオシステムは、超低質転送から最高品質の転送及びオーディオデータの保存(例えば高品質音楽リスニング)に渡る多様な分野に応用できる。
【0004】
しかし、多くの場合、ビットレート、計算の複雑さ、質、遅延などの異なるパラメータ間での妥協が必要となる。例えば、低遅延デジタルオーディオシステムは、同等の質の高遅延オーディオシステムに比べて、転送帯域での高いビットレートを必要とする。
【発明の概要】
【課題を解決するための手段】
【0005】
それぞれが複数の順序良く整列された入力値を含む複数の入力フレームをフィルタリングするための合成フィルターバンクの一実施形態は、それぞれが順序良く整列された複数の出力サンプルを含み、入力フレームの時間表示である複数の出力フレームを生成するための周波数/時間コンバータを含む。この合成フィルターバンクの一実施形態は、また、複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。各ウィンドウ処理後フレームは、複数のウィンドウ処理後サンプルを含む。このウィンドウ処理部は、サンプル先行値に基づき、重複方式で、別の処理のための複数のウィンドウ処理後サンプルを生成するものである。この合成フィルターバンクの一実施形態は、また、開始部分と残余部分とを含む加算後フレームを生成するための重複/加算器を含む。加算後フレームは複数の加算後サンプルを含み、残余部分内の一つの加算後サンプルは、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィイドウ処理後サンプルを合算することで生成され、開始部分内の一つの加算後サンプルは、少なくとも2個の異なるウ
ィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成される。残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分の一つのサンプルを得るために合算されるウィンドウ処理後サンプルの個数よりも少なくとも1大きい。あるいは、ウィンドウ処理部は、それぞれのウィンドウ処理後フレームのために、出力サンプルの整列順序の上で少なくとも最初の出力値を無視するか、あるいは、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。重複/加算器は、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づく加算後サンプルを加算後フレームの剰余部分に与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づく加算後サンプルを開始部分に与える。
【0006】
それぞれがM個の順序良く整列された入力値yk(0),…、yk(M−1)を含む(M
は正の整数、kはフレーム指数を示す整数)複数の入力フレームをフィルタリングするための合成フィルターバンクの一実施形態は、それぞれが入力値yk(0),…、yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)
を含む複数の出力フレームを生成するための逆転IV型離散余弦変換周波数/時間コンバータを含む。この合成フィルターバンクの一実施形態は、また、それぞれが以下の式に基づく複数のウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。
【0007】
【数1】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である。この合成フィルターバンクの一実施形態は、また、以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器を含む。
【0008】
【数2】
この合成フィルターバンクの一実施形態は、さらに、以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後フレームを生成するためのリフターを含む。
【0009】
【数3】
l(0),…,l(M−1)は、実数値リフト係数である。
【0010】
デコーダの一実施形態は、それぞれが複数の順序良く整列された入力値を含む複数の入力フレームをフィルタリングするための合成フィルターバンクを含む。また、それぞれが複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である複数の出力フレームを生成するための周波数/時間コンバータを含む。デコーダの一実施形態は、また、それぞれが複数のウィンドウ処理後サンプルを含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含み、ウィンドウ処理部は、サンプル先行値に基づき、重複方式で、別の処理のための複数のウィンドウ処理後サンプルを生成するものである。デコーダの一実施形態は、さらに、開始部分と残余部分とを含む加算後フレームを生成するための重複/加算器を含む。加算後フレームは複数の加算後サンプルからなり、残余部分内の一つの加算後サンプルは、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算することで生成され、開始部分内の一つの加算後サンプルのために、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成される。残余部分の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分の一つのサンプルを得るために合算されるウィンドウ処理後サンプルの個数よりも少なくとも1多い。あるいは、ウィンドウ処理部は、それぞれのウィンドウ処理後フレームのために、出力サンプルの整列順序の上で少なくとも最初の出力値を無視するか、あるいは、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。重複/加算器は、加算後フレームの残余部分の加算後サンプルを、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき生成し、開始部分の加算後サンプルを、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づき生成する。
【0011】
デコーダの別の実施形態は、それぞれがM個の順序良く整列された入力値yk(0),
…、yk(M−1)を含む(Mは正の整数、kはフレーム指数を示す整数)複数の入力フレームをフィルタリングするための合成フィルターバンクを含む。また、それぞれが入力値yk(0),…、yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)を含む複数の出力フレームを生成するための逆転IV型離散余
弦変換周波数/時間コンバータを含む。このデコーダの一実施形態は、また、それぞれが以下の式に基づく複数のウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。
【0012】
【数4】
nはサンプル指数を示す整数であり、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である。このデコーダは、また、以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器を含む。
【0013】
【数5】
このデコーダの一実施形態は、さらに、以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後フレームを生成するためのリフターを含む。
【0014】
【数6】
l(0),…,l(M−1)は、実数値リフト係数である。
【0015】
それぞれが対応する時間領域フレームのスペクトル表示であり、それぞれ異なるソースから提供された複数の入力フレームをミキシングするためのミキサーの一実施形態は、複数の入力フレームをエントロピー復号化するためのエントロピーデコーダを含む。また、複数のエントロピー復号化後入力フレームを周波数領域で調整し、周波数領域での複数の調整後フレームを得るためのスケーラを含み、各調整後フレームはエントロピー復号化フレームに対応する。このミキサーの一実施形態は、また、周波数領域の加算後フレームを生成するために周波数領域の調整後フレームを加算する加算器を含み、さらに、ミキシング後フレームを得るために、加算後フレームをエントロピー符号化するためのエントロピーエンコーダを含む。
【0016】
会議システムの一実施形態は、それぞれが対応する時間領域フレームのスペクトル表示であり、それぞれが異なるソースから提供された複数の入力フレームをミキシングするためのミキサーを含み、また、複数の入力フレームをエントロピー復号化するためのエントロピーデコーダを含む。また、複数のエントロピー復号化後入力フレームを周波数領域で調整し、周波数領域での複数の調整後フレームを得るためのスケーラを含み、各調整後フレームはエントロピー復号化フレームに対応する。この会議システムの一実施形態は、また、周波数領域の加算後フレームを生成するために周波数領域の調整後フレームを加算する加算器を含み、さらに、ミキシング後フレームを得るために、加算後フレームをエントロピー符号化するためのエントロピーエンコーダを含む。
【図面の簡単な説明】
【0017】
以下のような添付図面を参照して、本発明の実施形態を説明する。
【図1】解析フィルターバンクのブロック図である。
【図2】解析フィルターバンクの一実施形態による処理中の入力フレームの概要図である。
【図3】合成フィルターバンクのブロック図である。
【図4】合成フィルターバンクの一実施形態による処理中の出力フレームの概要図である。
【図5】解析フィルターバンク及び合成フィルターバンクの実施形態の解析ウィンドウ関数及び合成ウィンドウ関数の概要図である。
【図6】解析ウィンドウ関数及び合成ウィンドウ関数の正弦ウィンドウ関数との比較を示す。
【図7】異なるウィンドウ関数の更なる比較を示す。
【図8】図7に示す三種類のウィンドウ関数のプレエコー効果の比較を示す。
【図9】人間の耳の一般的な一時的マスキング特性を示す概略図である。
【図10】正弦ウィンドウと低遅延ウィンドウの周波数応答に関する比較を示す。
【図11】正弦ウィンドウと低重複ウィンドウの周波数応答に関する比較を示す。
【図12】エンコーダの一実施形態を示す。
【図13】デコーダの一実施形態を示す。
【図14A】エンコーダ及びデコーダを含むシステムを示す。
【図14B】図14Aのシステムに内在する様々な遅延源を示す。
【図15】遅延の比較を示す表である。
【図16】ミキサーの一実施形態を含む会議システムの一実施形態を示す。
【図17】サーバー又は媒体制御ユニットとしての会議システムの別の実施形態を示す。
【図18】媒体制御ユニットのブロック図を示す。
【図19】効率的な実施としての合成フィルターバンクの一実施形態を示す。
【図20】合成フィルターバンク又は解析フィルターバンク(AAC ELDコーデック)の一実施形態の計算効率の評価を示す表である。
【図21】AAC LDコーデックの計算効率の評価を示す表である。
【図22】AAC LCコーデックの計算の複雑性の評価を示す表である。
【図23A】異なる種類のコーデックのRAM及びROMのメモリー効率の評価に関する比較を示す。
【図23B】異なる種類のコーデックのRAM及びROMのメモリー効率の評価に関する比較を示す。
【図24】MUSHRAテストのために使用したコーデックのリストである。
【発明を実施するための形態】
【0018】
図1〜24は、本発明に係る解析フィルターバンク、合成フィルターバンク、エンコーダ、デコーダ、ミキサー、会議システムの多様な実施形態及び他の実施形態の機能的特性及び特徴を説明するためのブロック図及び他の図表である。合成フィルターバンクを説明する前に、図1,2を参照して、解析フィルターバンクの一実施形態及び解析フィルターバンクの一実施形態により処理される入力フレームについてより詳細に説明する。
【0019】
図1は、ウィンドウ処理部110及び時間/周波数コンバータ120を含む解析フィルターバンク100の第1実施形態を示す。より詳細には、ウィンドウ処理部110は、それぞれが複数の順序良く整列された入力サンプルを含む複数の時間領域入力フレームを入力部110iで受け取る。ウィンドウ処理部110は、さらに、複数のウィンドウ処理後フレームを生成し、これらのフレームはウィンドウ処理部110の出力側110Oで出力
される。各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、ウィンドウ処理部110は、また、後に図2を参照してより詳細に説明するが、サンプル先行値を使用して重複方式で複数のウィンドウ処理後フレームを処理する。
【0020】
時間/周波数コンバータ120は、ウィンドウ処理部110によって出力されるウィンドウ処理後フレームを受け取り、複数の出力値を含む出力フレームを出力する。この出力フレームはウィンドウ処理後フレームのスペクトル表示である。
【0021】
解析フィルターバンク100の一実施形態の機能特性と特徴を説明するために、図2では、5個の入力フレーム130−(k−3),130−(k−2),130−(k−1),130−k,130−(k+1)を、図2の下部に矢印140で示すように時間関数として概略的に示す。
【0022】
以下に、図2中点線で示されている入力フレーム130−kを参照して、解析フィルターバンク100の一実施形態の作用をより詳細に説明する。この入力フレーム130−kに対して、入力フレーム130−(k+1)は未来の入力フレームであり、他の3個の入力フレーム130−(k−1),130−(k−2),130−(k−3)は過去の入力フレームである。つまり、kはフレーム指数を示す整数であり、このフレーム指数が大きければ大きいほど、その入力フレームがより「未来に」位置していることを示す。従って、この指数kが小さければ小さいほど、その入力フレームはより「過去に」位置している。
【0023】
各入力フレーム130は少なくとも二つの部分150を含み、これらの長さは同じである。より詳細には、図2に概略的に示す解析フィルターバンク100の一実施形態の場合、入力フレーム130−k及び他の入力フレーム130は部分150−2,150−3,150−4を含み、これらの部分は入力サンプルの点で長さが等しい。入力フレーム130のこれらの各部分150はM個(Mは正の整数)の入力サンプルを含む。さらに、入力フレーム130はM個の入力サンプルを含み得る第1部分150−1を有する。この場合、第1部分150−1は入力フレーム130の初期部分160を含み、後に詳述するように、この初期部分160は入力サンプル又は他の値を含んでいてもよい。しかし、解析フィルターバンクの本実施形態の詳細な実施状況に応じて、第1部分150−1は初期部分160を含まなくてもよい。換言すれば、第1部分150−1は、原則的に、他の部分150−2,150−3,150−4よりも少ない数の入力サンプルを含むものであってもよい。この場合の例についても後に詳述する。
【0024】
あるいは、第1部分150−1は別として、他の部分150−2,150−3,150−4は典型的には同じ個数Mの入力サンプルを含み、この数Mはいわゆるサンプル先行値170に等しい。サンプル先行値170は二つの連続する入力フレーム130が時間に関して互いに移動させられる入力サンプルの個数を示すものである。つまり、図1,2に示されている解析フィルターバンク100の一実施形態の場合、入力フレーム130はウィンドウ処理部110によって重複方式出処理され、サンプル先行値M(矢印170)は部分150−2,150−4の長さと同じである。
【0025】
従って、入力フレーム130−k,130−(k+1)は、どちらの入力フレームも意味のある個数の入力サンプルを含むという点で等しいが、これらの入力サンプルは、これら二つの入力フレーム130の個々の部分150に関して移動させられる。より詳細には、入力フレーム130−kの第3部分150−3は入力フレーム130−(k+1)の第4部分150−4に等しい。同様に、入力フレーム130−kの第2部分150−2は入力フレーム130−(k+1)の第3部分150−3に等しい。
【0026】
さらに換言すると、図2に示す実施形態の場合、フレーム指数(k+1)の入力フレームに関してサンプルが移動させられているという事実はさておき、フレーム指数k,(k+1)に対応する二つの入力フレーム130−k,130−(k+1)は、二つの部分150に関して同じである。
【0027】
前述の二つの入力フレーム130−k,130−(k+1)はさらに入力フレーム130−kの第1部分150−1からの少なくとも一つのサンプルを共有している。より詳しくは、図2の実施形態の場合、入力フレーム130−kの第1部分150−1内の、初期部分160ではない全ての入力サンプルは入力フレーム130−(k+1)の第2部分150−2の一部であるように見える。しかし、前の入力フレーム130−kの初期部分160に対応する第2部分の入力サンプルは、解析フィルターバンクの一実施形態の詳細な実施状況により、各入力フレーム130の初期部分160の入力値又は入力サンプルに基づくものであってもよいし、そうでなくてもよい。
【0028】
第1部分150−1内の入力サンプルの個数が他の部分150−2〜150−4の入力サンプルの個数と等しくなるように、初期部分160が存在する場合、原則的に、二つの異なる場合が考慮されるべきである。また、これら二つの「極端な」場合の間の中間的な場合もまた可能であり、これらについても後に説明する。
【0029】
初期部分160が、初期部分160の入力サンプルが時間領域のオーディオ信号を表示するという点で「意味のある」符号化された入力サンプルを含む場合、これらの入力サンプルは次の入力フレーム130−(k+1)の部分150−2の一部となる。しかし、解析フィルターバンクの実施形態の多くの応用において、この場合はさらなる遅延を生じさせる可能性があるので、最適な実施ではない。
【0030】
しかし、初期部分160が「意味のある」入力サンプルを含まない場合、この場合は入力値と称することもでき、初期部分160のこれらの入力値はランダム値、既定値、固定値、適応可能な値又はプログラム可能な値を含んでいてもよく、これらは、例えば、本実施形態の解析フィルターバンクのウィンドウ処理部110の入力部110iに接続し得るユニットやモジュールによるアルゴリズム計算、決定又は他の確定によって与えられる。しかしこの場合、このモジュールは、典型的には、入力フレーム130−(k+1)として、第2部分内の、前の入力フレームに相当する部分に、オーディオ信号に正に対応する「意味のある」入力サンプルを与える必要がある。ウィンドウ処理部110の入力部110iに接続されたユニット又はモジュールはまた、典型的には、入力フレーム130−(k+1)の第1部分150−1内にオーディオ信号に対応する意味のある入力信号を与える必要がある。
【0031】
つまり、この場合、フレーム指数kに対応する入力フレーム130−kは、十分な入力サンプルが収集された後に解析フィルターバンク100の実施形態に与えられるので、この入力フレームの第1部分150−1はこれらの入力サンプルで埋められている。そして、第1部分150−1の残りの部分、つまり初期部分160は入力サンプル又は入力値で埋められるが、これらはランダム値や、既定値、固定値、適応可能な値又はプログラム可能な値などの他のいかなる値、又はいかなる値の組み合わせであってもよい。原則的に、典型的なサンプリング周波数と比較して、これは非常に高速で行われ得るので、入力フレーム130−kの初期部分160にこのような「意味のある」入力サンプルを与えるのに、典型的なサンプリング周波数、つまり数キロヘルツ〜数百キロヘルツの範囲のサンプリング周波数において、重大な時間を要するわけではない。
【0032】
ユニット又はモジュールは、オーディオ信号に基づき入力サンプルを収集し続け、フレーム指数k+1に対応する次の入力フレーム130−(k+1)にこれらの入力サンプル
を投入する。換言すれば、モジュール又はユニットは、入力フレーム130−kの第1部分150−1を完全に埋めるための十分な入力サンプルをこのフレームに与えるために入力サンプル収集を終了するわけではないが、十分な入力サンプルが入手可能となるや否や、解析フィルターバンク100の実施形態にこの入力フレームを提供する。これにより、第1部分150−1は、初期部分160を除き、入力サンプルで埋められる。
【0033】
十分な入力サンプルが集まるまで、引き続く入力サンプルは次の入力フレーム130−(k+1)の第2部分150−2を埋めるのに使用され、この次の入力フレームの第1部分150−1が、このフレームの初期部分160が始まるまで埋められる。そして、再び、初期部分160はランダム値又は他の「意味のない」入力サンプルや入力値で埋められる。
【0034】
結果的に、図2の実施形態の場合には部分150−2〜150−4の長さに等しいサンプル先行値170が図2に示され、サンプル先行値170を示す期間は、入力フレーム130−kの初期部分160始まりから入力フレーム130−(k+1)の初期部分160の始まりまでとして示されている。
【0035】
さらに、前記二つの場合において、初期部分160に相当するオーディオ信号内の事象の入力サンプルは各入力フレーム130−kには存在しないが、次の入力フレーム130−(k+1)の第2部分150−2の枠内に存在する。
【0036】
換言すれば、解析フィルターバンク100の多くの実施形態において、初期部分160に相当する入力サンプルは各入力フレーム130−kの一部ではなく、後の入力フレーム130−(k+1)に影響を及ぼすだけのものであるので、出力フレームは低減された遅延を有するものである。つまり、解析フィルターバンクの一実施形態は、第1部分150−1は他の部分150−2〜150−4の入力サンプルと同じ個数の入力サンプルを含む必要がないので、多くの実施状況において、入力フレームに基づく出力フレームをより速く与えることができるという利点を有している。この「欠如部分」の情報は、次の入力フレーム130の第2部分150−2の枠内に含まれている。
【0037】
しかし、前述したように、どの入力フレーム130も初期部分160を含まない場合もある。この場合、各入力フレーム130の長さはもはやサンプル先行値170又は部分150−2〜150−4の長さの整数倍ではない。より詳細には、この場合、各入力フレーム130の長さは、ウィンドウ処理部110にそれぞれの入力フレームを提供するモジュール又はユニットが第1部分150−1を完全に提供する前に停止する入力サンプルの個数分だけ、サンプル先行値の長さの整数倍とは異なる。つまり、このような入力フレーム130の全体の長さは、第1部分150−1の長さと他の部分150−2〜150−4の長さとの違いだけ、サンプル先行値の整数倍とは異なる。
【0038】
しかし、前述したような二つの場合には、モジュール又はユニットは、例えばサンプラー、サンプル/ホールド部、サンプラー/ホールダー又は量子化装置を含んでいるが、既定の個数の入力サンプルの前に、各入力フレーム130を提供し始めてもよい。これにより、各入力フレーム130は、第1部分150−1が対応する入力サンプルによって完全に埋められる場合と比較して遅延が小さい解析フィルターバンク100の実施形態に与えられ得る。
【0039】
すでに述べたように、ウィンドウ処理部110の入力部110iに接続され得るユニット又はモジュールは、例えばサンプラー及び/又はアナログ/デジタル変換器(A/Dコンバータ)のような量子化装置を含んでいてもよい。しかし、実施の詳細な状況により、このようなモジュール又はユニットは、オーディオ信号に相当する入力サンプルを記憶す
るための何らかのメモリー又はレジスターをさらに有していてもよい。
【0040】
また、このようなユニット又はモジュールは、各入力フレームをサンプル先行値Mに基づき、重複方式で提供してもよい。つまり、一つの入力フレームは、フレーム又はブロック毎に収集されるサンプルの個数と比較して、その2倍以上の個数の入力サンプルを含む。このようなユニット又はモジュールは、多くの実施形態において、二つの連続して生成される入力フレームが、時間に関してサンプル先行値の分だけ移動させられる複数のサンプルに基づくように適応される。この場合、二つの連続して生成される入力フレームのうちの後の入力フレームは、最新のサンプルとしての少なくとも一つの新しい出力サンプルと、これら二つの入力フレームのうちの先のフレームのサンプル先行値分だけ後に移動させられた前記複数のサンプルに基づくものである。
【0041】
しかし、解析フィルターバンク100の一実施形態が、各入力フレーム130が4個の部分150を含み、第1部分150−1が他の部分と同じ個数の入力サンプルを含む必要がないという場合について説明してきたが、図2に示すような部分150が4個でなくてもよい。より詳細には、入力フレーム130は、原則的に、サンプル先行値M(矢印170)の2倍以上である任意の個数の入力サンプルを含み、初期部分160が存在する場合、初期部分160内の入力値の個数はこの個数内である。フレームを使用するシステムに基づく実施形態のいくつかの実施状況を考慮すると、各部分がサンプル先行値と同じ数のサンプルを含むことが有益であろう。つまり、解析フィルターバンク100の一実施形態の構成において、それぞれがサンプル先行値M(矢印170)と同じ長さである部分が数個使用され、フレームに基づくシステムの場合には、その数は3以上である。別の場合には、原則的に、サンプル先行値の2倍よりも大きい任意の個数の入力サンプルが各入力フレーム130に使用できる。
【0042】
解析フィルターバンク100の一実施形態のウィンドウ処理部110は、図1に示すように、前述したようにサンプル先行値M(矢印170)に基づき重複方式で、対応する入力フレーム130から複数のウィンドウ処理後フレームを生成する。より詳しくは、ウィンドウ処理部110の詳細な実施状況により、ウィンドウ処理部110は重み付け関数に基づきウィンドウ処理後フレームを生成し、重み付け関数は、例えば人間の耳の聴覚特性をモデルとする対数的依存性を含んでいてもよい。しかし、重み付け関数モデル化や人間の耳の心理音響特性等の他の重み付け関数もまた実施可能である。解析フィルターバンク100の一実施形態において、ウィンドウ処理部は、例えば、入力フレームの各入力サンプルが、実数値サンプル特定のウィンドウ係数を含む実数値ウィンドウ関数によって掛け算されるように実施できる。
【0043】
このような実施の一例は図2に示されている。より詳細には、図2は可能なウィンドウ関数180の概略図であり、図1に示されているように、ウィンドウ処理部110はこのウィンドウ関数180を使用して、対応する入力フレーム130からウィンドウ処理後フレームを生成する。解析フィルターバンク100の詳細な実施状況により、ウィンドウ処理部110は、さらに、時間/周波数コンバータ120にウィンドウ処理後フレームを与えることができる。
【0044】
ウィンドウ処理部110は、各入力フレーム130に基づき、ウィンドウ処理後フレームを生成し、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む。より詳細には、ウィンドウ処理部110は多様な構成が可能であり、入力フレーム130の長さ及び時間/周波数コンバータ120に与えられるウィンドウ処理後フレームの長さにより、ウィンドウ処理後フレームをどのように生成するかに関して、ウィンドウ処理部110のいくつかの構成が可能である。
【0045】
例えば、入力フレーム130は初期部分160を含み、図2に示す実施形態の場合で、各入力フレーム130の第1部分150−1が他の部分150−2〜150−4と同じ個数の入力値又は入力サンプルを含むならば、ウィンドウ処理後フレームが、入力フレーム130に含まれる入力サンプル又は入力値と同じ個数のウィンドウ処理後サンプルを含むように、ウィンドウ処理部110を構成できる。この場合、前述したような、入力フレーム130の構造のために、初期部分160内の入力値は別にして、入力フレームの全ての入力サンプルがウィンドウ処理部110によって前述のウィンドウ関数に基づき処理されてもよい。この場合、初期部分160の入力値は既定値又は既定範囲内の少なくとも一つの値にセットされてもよい。
【0046】
解析フィルターバンク100の一実施形態においては、既定値は例えば0であるが、他の実施形態においては、別の値が好ましい場合もある。原則的に、入力フレーム130の初期部分160に対していかなる値をも使用でき、このことは、これらの値はオーディオ信号の点で重要性がないということを意味している。例えば、既定値は、オーディオ信号の入力サンプルの典型的な範囲の外にある値であってもよい。例えば、ウィンドウ処理後フレームの入力フレーム130の初期部分160に相当する部分内のウィンドウ処理後サンプルは、入力オーディオ信号の最大振幅の2倍以上の値にセットされてもよく、このような値はさらに処理されるべき信号ではないことを示す。他の値、例えば実施特定の絶対値を有する負の値を使用してもよい。
【0047】
さらに、解析フィルターバンク100の実施形態において、入力フレーム130の初期部分160に相当するウィンドウ処理後フレームのウィンドウ処理後サンプルは、また、既定範囲内の一つ又はそれ以上の値にセットされてもよい。原則的に、このような既定範囲は、オーディオ体験の点で意味のない小さな値の範囲であるので、その出力は聴覚的に判別不可能であるか、実際のリスニングが大きく損なわれることがない。この場合、既定範囲は、例えば、既定の、プログラム可能な、適応可能な又は固定の最大閾値以下の絶対値を有する値の集合として表わされてもよい。このような閾値は、例えば、10s又は2s(sは詳細な実施状況に基づく整数)としての10の力、2の力として表わされてもよい。
【0048】
しかし、原則的に、既定範囲はまた、いくつかの意味のある値よりも大きい値を含んでいてもよい。より詳細には、既定範囲は、既定の、プログラム可能な、適応可能な又は固定の最小閾値以上の絶対値を有する値を含んでいてもよい。このような最少閾値は、原則的にここでも、2s又は10s(sは詳細な実施状況に基づく整数)の力としての2の力、10の力として表わされてもよい。
【0049】
デジタル実施において、既定範囲が小さな値を含む場合、既定範囲は例えば最も非重要なビット又は複数の非重要なビットをセットする又はセットしないことで表現できる値を含み得る。既定範囲が大きな値を含む場合、前述したように、最も重要なビット又は複数の重要なビットをセットする又はセットしないことで表現できる値を含んでいてもよい。しかし、既定値及び既定範囲は他の値、例えば、前述の値又は閾値を係数で掛け算することにより算出できる値を含むものであってもよい。
【0050】
解析フィルターバンク100の一実施形態の詳細な実施により、ウィンドウ処理部110は、また、出力部110oに与えられるウィンドウ処理後フレームが入力フレーム130の初期部分160の入力サンプルに相当するウィンドウ処理後サンプルを含まないように処理するものであってもよい。この場合、ウィンドウ処理後フレームの長さと入力フレーム130の長さは、例えば初期部分160の長さ分だけ違っていてもよい。換言すれば、この場合、ウィンドウ処理部110は、前述したような時間に関する入力サンプルの順番において少なくとも最新の1個の入力サンプルを無視するように構成されてもよい。つ
まり、解析フィルターバンク110のいくつかの実施形態において、ウィンドウ処理部110は、入力フレーム130の初期部分160の一つ又はそれ以上あるいは全ての入力値又は入力サンプルを無視するように構成してもよい。この場合、ウィンドウ処理後フレームの長さは、入力フレーム130の長さと入力フレーム130の初期部分160の長さとの差に等しい。
【0051】
さらに別の選択肢として、前述したように、各入力フレーム130は初期部分160を全く含んでいなくてもよい。この場合、第1部分150−1は、各部分150の長さ又は入力サンプルの個数の点で、他の部分150−2〜150−4とは異なっている。この場合、ウィンドウ処理後フレームは、入力フレーム130の第1部分150−1に相当するウィンドウ処理後フレームの第1部分が、入力フレーム130の他の部分150に相当する部分と同じ個数のウィンドウ処理後サンプル又はウィンドウ処理後の値を含むものであってもよく、あるいはそうでなくてもよい。この場合、付加的なウィンドウ処理後サンプル又はウィンドウ処理後の値は、前述したように、既定値又は既定範囲内の少なくとも一つの値にセットされ得る。
【0052】
さらに、解析フィルターバンク100の実施形態において、ウィンドウ処理部110は、入力フレーム130及びそれに起因するウィンドウ処理後フレームの両方が同じ個数の値又はサンプルを含み、入力フレーム130及びそれに起因するウィンドウ処理後フレームの両方が初期部分160又は初期部分160に相当するサンプルを含まないように処理するものであってもよい。この場合、入力フレーム130の第1部分150−1及びウィンドウ処理後フレームのこれに相当する部分は、入力フレーム130の他の部分150−2〜150−4及びウィンドウ処理後フレームのこれらに相当する部分と比較して、少ない個数の値又はサンプルを含む。
【0053】
ここで注意すべきことは、原則的に、ウィンドウ処理後フレームは、初期部分160を含む入力フレーム130の長さか又は初期部分160を含まない入力フレーム130の長さと同じである必要はないということである。原則的に、ウィンドウ処理部110は、ウィンドウ処理後フレームが入力フレーム130の初期部分160の値に相当する一つ又はそれ以上の値又はサンプルを含むように処理するものであってもよい。
【0054】
これに関して、解析フィルターバンク100のいくつかの実施形態において、初期部分160は、入力フレーム130の入力値又は入力サンプルの連続部分に相当するサンプル指数nの連続部部分を示すか又は少なくとも含むことにも注目すべきである。従って、それに対応する初期部分を含むウィンドウ処理後フレームもまた、ウィンドウ処理後フレームの初期部分に相当するサンプル指数nのウィンドウ処理後サンプルの連続部分を含み、ウィンドウ処理後フレームの初期部分は、ウィンドウ処理後フレームの開始部分とも称される。初期部分つまり開始部分を除くウィンドウ処理後フレームの残りの部分は、残余部分と称される場合もある。
【0055】
既に述べたように、例えば、対応する入力サンプルに基づく対数計算によるウィンドウ処理後サンプルの生成に関して、解析フィルターバンク100の実施形態におけるウィンドウ処理部110は、ウィンドウ処理後フレームの入力フレーム130の初期部分160(仮に存在するとして)に相当しないウィンドウ処理後の値又はウィンドウ処理後サンプルを、心理音響モデルを取り入れ得るウィンドウ関数に基づき生成するものであってもよい。また解析フィルターバンク100の別の実施形態においては、ウィンドウ処理部110は、各入力サンプルを定義集合によって定義されるウィンドウ関数のサンプル特有のウィンドウ係数で掛けることによって、ウィンドウ処理後サンプルを生成するように構成できる。
【0056】
解析フィルターバンク100の多くの実施形態におけるウィンドウ処理部110では、例えばウィンドウ係数によって特徴づけられるウィンドウ関数は定義集合の中心に関して非対称であってもよい。さらに、解析フィルターバンク100の多くの実施形態において、ウィンドウ関数は、その全てのウィンドウ係数のうちの最大絶対値の10%、20%又は30%、50%よりも大きい絶対値を有するウィンドウ係数をその定義集合の中心よりも第1の半分に含み、全てのウィンドウ係数のうちの最大絶対値の前述したパーセントよりも小さい絶対値を有するウィンドウ係数をその定義集合の中心よりも第2の半分に含む。このようなウィンドウ関数は、図2中、各入力フレーム130に関するウィンドウ関数180として概略的に示されている。ウィンドウ関数のさらなる例は、図5〜11を参照して説明するが、これらの図や以下の説明で示されるような解析フィルターバンク及び合成フィルターバンクのいくつかの実施形態によって可能となるスペクトル特性及び他の特性についても簡単に説明する。
【0057】
ウィンドウ処理部110とは別に、解析フィルターバンク100の実施形態は時間/周波数コンバータ120をも含み、これにはウィンドウ処理部110からウィンドウ処理後フレームが与えられる。時間/周波数コンバータ120は、各ウィンドウ処理後フレームに対して、そのウィンドウ処理後フレームのスペクトル表示である一つ又は複数の出力フレームを生成するものである。後に詳述するように、時間/周波数コンバータ120は、入力フレームの入力サンプルの個数又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数と比較して、その半分よりも少ない個数の出力値を含む出力フレームを生成するものであってもよい。
【0058】
また、時間/周波数コンバータ120は、一つの出力フレームの出力サンプルの個数が一つの入力フレームの入力サンプルの個数の半分よりも少なくなるように離散余弦変換及び/又は離散正弦変換に基づくものであってもよい。解析フィルターバンク100の可能な実施形態の詳細を簡単に説明する。
【0059】
解析フィルターバンクのいくつかの実施形態において、時間/周波数コンバータ120は、入力フレーム130の第1部分150−1の開始部分とは異なるが各部分150−2,150−3,150−4の入力サンプルの個数、つまりサンプル先行値と同じ個数の出力サンプルを出力するように構成されている。換言すれば、解析フィルターバンク100の多くの実施形態において、出力サンプルの個数は、サンプル先行値を表す整数M、つまり入力フレーム130の前述の部分150の長さと同じである。多くの実施形態において、典型的なサンプル先行値Mは480又は512である。しかし、解析フィルターバンクの実施形態において、例えば、M=360のような他の整数Mも簡単に実行可能であることにも注目すべきである。
【0060】
さらに、注目すべきことは、解析フィルターバンクのいくつかの実施形態において、入力フレーム130の初期部分160、つまり入力フレーム130の第1部分150−1と他の部分150−2,150−3,150−4との間のサンプル数の差がM/4に等しいことである。つまり、M=480の解析フィルターバンク100の実施形態の場合、初期部分160の長さつまり前述の差は120個のサンプル(=M/4)分であり、M=512の場合は、初期部分160つまり前述の差は128(=M/4)である。他の多様な長さも適用できるが、解析フィルターバンク100の実施形態において、これらの長さに制限されるわけではない。
【0061】
先に述べたように、時間/周波数コンバータ120は、例えば離散余弦変換又は離散正弦変換に基づいていてもよいので、解析フィルターバンクの実施形態は、また、修正離散余弦変換(MDCT)コンバータの入力フレームの長さを示すパラメータN=2Mに関して議論される場合もある。解析フィルターバンク10の前述の実施形態では、パラメータ
Nは960(M=480の場合)又は1024(M=512の場合)である。
【0062】
後に詳述するように、解析フィルターバンク100の実施形態は、オーディオの質を全くあるいは重大には低下させずにデジタルオーディオ処理の低遅延化を可能にするという利点がある。つまり、解析フィルターバンクの一実施形態は、例えば(オーディオ)コーデック(コーデック=コーダ/デコーダ又は符号化/復号化)の構成において、低遅延を提供し、現存の多くのコーデックに比べて少なくともかなり良い周波数特性と向上したプレエコー特性を有する超低遅延符号化モードを実施する機会を提供する。さらに、会議システムの実施形態に関して後に詳述するように、解析フィルターバンク100の実施形態及び解析フィルターバンク100の一実施形態を含むシステムの実施形態において、いかなる種類の信号にも対応する一つのウィンドウ関数が前記利点を達成できる。
【0063】
強調すべきは、解析フィルターバンク100の実施形態の入力フレームは、図2に示されているような4つの部分150−1〜150−4を含む必要はないということである。これは簡便さのために選択された一つの可能性を示しているにすぎない。従って、ウィンドウ処理部も、ウィンドウ処理後フレームが4つの対応する部分を含むように構成する必要もないし、また、時間/周波数コンバータ120も4つの部分を有するウィンドウ処理後フレームに基づき出力信号を出力できるように構成されたものである必要はない。これは、解析フィルターバンク100のいくつかの実施形態の簡単及び明白な説明を可能とするために、図2に関連して選択されただけのものである。しかし、入力フレーム130の長さに関する説明は、初期部分160と入力フレーム130内の初期部分の存在に関する別の選択肢に関して説明するように、ウィンドウ処理後フレームの長さにも当てはめられる。
【0064】
以下に、解析フィルターバンクの一実施形態の可能な例として、エラー対応改良オーディオコーデック低遅延実施(ER AAC LD)の解析フィルターバンクを低遅延(解析フィルターバンク)とも称される解析フィルターバンク100の一実施形態に改造するための変更点について説明する。つまり十分な低遅延を達成するために、以下に説明するように、ER AAC LDの標準的なエンコーダに対していくつかの変更を加えることが有効である。
【0065】
この場合、解析フィルターバンク100の一実施形態のウィンドウ処理部110は、以下の式に基づきウィンドウ処理後サンプルzinを生成する。
【0066】
【数7】
iはウィンドウ処理後フレーム及び/又は入力フレームのフレーム指数又はブロック指数を示す整数であり、nは−NとN−1の間の範囲内のサンプル指数を示す整数である。
【0067】
換言すれば、入力フレーム130の構成に初期部分160を含む実施形態の場合、サンプル指数n=−N,…,N−1のための前記式を実行することによってウィンドウ処理が過去に拡張される。図5〜11を参照して後に詳述するように、w(n)はウィンドウ関数に相当するウィンドウ係数である。解析フィルターバンク100の一実施形態において、ウィンドウ関数w(n−1−n)の偏角の比較からわかるように、合成ウィンドウ関数wの順番を逆転させることにより、それを解析ウィンドウ関数として使用している。図3,4を参照して説明するように、合成フィルターバンクの一実施形態のウィンドウ関数は解析ウィンドウ関数に基づき形成されてもよく、解析ウィンドウ関数を(例えば定義集合
の中心に関して)鏡映することで、鏡映版を得てもよい。図5は低遅延ウィンドウ関数をプロットしたものであり、ここでは、解析ウィンドウは合成ウィンドウの単なる時間逆転コピーである。これに関して注意すべきことは、x´i,nはブロック指数i及びサンプル
指数nに対応する入力サンプル又は入力値を表しているということである。
【0068】
つまり、(例えばコーデックの形態での)前述のER AAC LD実施は正弦ウィンドウに基づく1024個又は960個の値のウィンドウ長さNに基づくものであるが、これと比較して、解析フィルターバンク100のウィンドウ処理部110に含まれる低遅延ウィンドウのウィンドウ長さは2N(=4M)であり、ウィンドウ処理が過去に拡張されて行われる。
【0069】
図5〜11を参照してより詳細に説明するように、n=0,…,2N−1のためのウィ
ンドウ係数w(n)は、付録の表1、またいくつかの実施形態の場合にはN=960及びN=1024のための付録の表3に示される関係に従うものであってもよい。さらに、ウィンドウ係数は、いくつかの実施形態の場合にはN=960及びN=1024それぞれのための付録の表2,4に示される値を含んでいてもよい。
【0070】
時間/周波数コンバータ120に関して、ER AAC LDコーデックの構成で実施されるような核MDCTアルゴリズム(MDCT=修正離散余弦変換)はほとんど変更されず、前述のような長いウィンドウを含み、nは0〜N−1の範囲ではなく−N〜N−1である。出力フレームxi,kのスペクトル係数又は出力値は、以下の式に基づき生成され
る。
【0071】
【数8】
zi,nは、前述したように、サンプル指数n及びブロック指数iに対応するウィンドウ
処理後フレームのウィンドウ処理後サンプル、又は時間/周波数コンバータ120へのウィンドウ処理後の一連の入力である。さらに、kはスペクトル係数指数を示す整数であり、Nは出力フレームの出力値の個数の2倍を示す整数、あるいは前述したように、ER AAC LDコーデックで適用されるようなウィンドウシーケンス値に基づく一つの変換ウィンドウのウィンドウ長さである。整数n0はオフセット値であり、以下のように求め
られる。
【0072】
【数9】
図2に関して説明したように、入力フレーム130の詳細な長さにより、時間/周波数コンバータは、入力フレーム130の初期部分160に相当するウィンドウ処理後サンプルを含むウィンドウ処理後フレームに対応するものであってもよい。換言すれば、M=480つまりN=960の場合、前記式は1920個のウィンドウ処理後サンプルの長さを有するウィンドウ処理後フレームに基づく。ウィンドウ処理後フレームが入力フレーム130の初期部分160に相当するウィンドウ処理後サンプルを含まない解析フィルターバ
ンク100の一実施形態において、前述のようなM=480の場合、ウィンドウ処理後フレームは1800個のウィンドウ処理後サンプルの長さを有する。この場合、前記の式は、これに対応する式が実行されるように変更され得る。ウィンドウ処理部110において、これは、例えばウィンドウ処理後フレームの第1部分が他の部分と比べて、M/4=N/8個のウィンドウ処理後サンプルが足りない場合、−N,…,7N/8−1の範囲のサンプル指数nとなる。
【0073】
従って、時間/周波数コンバータ120の場合、前記式は、ウィンドウ処理後フレームの初期部分つまり開始部分のウィンドウ処理後サンプルを含まないように合算指数を変更することによって、簡単に適合させられる。もちろん、前述したように、入力フレーム130の初期部分160が別の長さの場合又はウィンドウ処理後フレームの第1部分の長さが他の部分の長さと異なる場合、更なる変更も容易にできる。
【0074】
換言すれば、解析フィルターバンク100の一実施形態の詳細な実施状況によっては、前記のような式によって示される全ての計算が必要であるわけではない。解析フィルターバンクのさらに別の実施形態では、計算量がさらに低減でき、そして原則的に計算効率を高めることになる場合をも可能である。合成フィルターバンクの例は、図19を参照して後に説明する。
【0075】
合成フィルターバンクの一実施形態に関しても後に説明するように、特に解析フィルターバンク100の一実施形態は、前述のER AAC LDコーデックから派生するいわゆるエラー対応改良オーディオコーデック超低遅延型(ER AAC ELD)の構成で実現できる。前述したように、低遅延フィルターバンクを解析フィルターバンク100の一実施形態として適用するために、ER AAC LDコーデックの解析フィルターバンクが解析フィルターバンク100の一実施形態となるように変更される。解析フィルターバンク100の一実施形態及び/又は後に詳述するような合成フィルターバンクの一実施形態を含むER AAC ELDコーデックは、一般的なビットレートの低いオーディオ符号化を非常に低遅延の符号化/復号化が必要とされる応用まで拡張して使用できる可能性を提供する。例えば完全二重のリアルタイム通信の分野から例が挙げられ、この分野において、解析フィルターバンク、合成フィルターバンク、デコーダ、エンコーダ、ミキサー、会議システムのような多様な実施形態が可能である。
【0076】
以下に本発明のさらに別の実施形態を詳細に説明するが、同じ又は類似の機能特性を有する物、構成及び部品は同じ符号で示されている。特に記述しない限り、同じ又は類似の機能特性を有する目的、構成及び部品に関する説明は、互いに交換可能である。さらに、以下では、特別な物、構成又は部品が議論されない限り、一つの実施形態又は一つの図面に示されている構成の同じ又は類似の物、構成及び部品のために概要的な符号を使用する。一例として、入力フレーム130に関して、概要的な符号がすでに使用されている。図2の入力フレームに関する説明において、特定の入力フレームを指し示す場合には、その入力フレームを示す特定の符号、例えば130−kが使用され、全ての入力フレーム又は他のものと特に区別しない一つの入力フレームを指し示す場合には、概要的な符号130を使用してきた。概要的な符号を使用することにより、本発明の実施形態のより簡単で明白な説明が可能となる。
【0077】
また、これに関連して、本発明の構成では、第2部品に接続された第1部品は、直接又は別の回路や別の部品を介して第2部品に接続できる。つまり、本発明の構成において、互いに隣接する二つの部品は、互いに直接接続された二つの部品、又は別の回路や別の部品を介して互いに接続された二つの部品のどちらでもよい。
【0078】
図3は複数の入力フレームをフィルタリングするための合成フィルターバンク200の
一実施形態を示し、各入力フレームは複数の順序良く整列された入力値を含む。合成フィルターバンク200の本実施形態は、直列に接続された周波数/時間コンバータ210、ウィンドウ処理部220及び重複/加算器230を含む。
【0079】
合成フィルターバンク200の本実施形態に与えられる複数の入力フレームは、まず、周波数/時間コンバータ210によって処理される。周波数/時間コンバータ210は、各出力フレームがそれに対応する入力フレームの時間表示となるように、入力フレームに基づき複数の出力フレームを生成することができる。つまり、周波数/時間コンバータ210は、各入力フレームに対して、周波数領域から時間領域への変換を行う。
【0080】
そして、周波数/時間コンバータ210に接続されたウィンドウ処理部220が周波数/時間コンバータ210からの各出力フレームを処理し、この出力フレームに基づきウィンドウ処理後フレームを生成する。合成フィルターバンク200のいくつかの実施形態において、ウィンドウ処理部220は各出力フレームの各サンプルを処理することにより、ウィンドウ処理後フレームを生成することができ、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含んでいる。
【0081】
合成フィルターバンク200の一実施形態の詳細な実施状況により、ウィンドウ処理部220は、重み付け関数で出力サンプルを重み付けすることによって、出力フレームからウィンドウ処理後フレームを生成することができる。図1のウィンドウ処理部110に関して既に述べたように、重み付け関数は、例えば、オーディオ信号の大きさの対数依存のような人間の耳の聴力又は聴覚特性を含む心理音響モデルに基づくものであってもよい。
【0082】
さらに又はあるいは、ウィンドウ処理部220は、出力フレームの各出力サンプルをウィンドウ又はウィンドウ関数のサンプル特定値で掛け算することにより、出力フレームからウィンドウ処理後フレームを生成してもよい。これらの値はウィンドウ係数とも称される。換言すれば、ウィンドウ処理部220は、少なくとも合成フィルターバンク200のいくつかの実施形態において、出力サンプルをウィンドウ関数の定義集合の各要素に帰する実数値ウィンドウ係数で掛け算することによって、ウィンドウ処理後フレームのウィンドウ処理後サンプルを生成するように構成されていてもよい。
【0083】
このようなウィンドウ関数の例を、図5〜11を参照してより詳細に説明する。また、これらのウィンドウ関数は、定義集合の中心(定義集合そのものの一要素である必要はない)に関して非対称であってもよい。
【0084】
また、ウィンドウ処理部220は、図4を参照して後に詳述するように、重複/加算器230によるサンプル先行値に基づく重複方式の更なる処理のために、複数のウィンドウ処理後サンプルを生成する。換言すれば、各ウィンドウ処理後フレームは、ウィンドウ処理部220の出力側に接続された重複/加算器230によって出力される複数の加算後サンプルと比較して、その2倍以上の個数のウィンドウ処理後サンプルを含む。つまり、合成フィルターバンク200の実施形態において、重複/加算器230は、少なくともいくつかの加算後サンプルのために、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを加算することで、重複方式で加算後フレームを生成することができる。
【0085】
ウィンドウ処理部220に接続された重複/加算器230は、そして、新たに受信したウィンドウ処理後フレームのそれぞれに対して加算後フレームを生成し、与えることができる。しかし、前述したように、重複/加算器230は、一つの加算後フレームを生成するために、重複方式でウィンドウ処理後フレームを処理する。
【0086】
各加算後フレームは、図4を参照して後に詳述するように、開始部分及び残余部分を含み、加算後フレームの残余部分には、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算することで生成した加算後サンプルを含み、また、開始部分には、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成した加算後サンプルを含む。残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの数は実施状況に応じて設定され、開始部分の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの数よりも少なくとも1個多いものであればよい。
【0087】
あるいは又は更に、合成フィルターバンク200の一実施形態の詳細な実施状況に応じて、複数のウィンドウ処理後フレームのそれぞれにおいて、ウィンドウ処理部220は出力サンプルの順番で最初の出力値を無視し、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値に設定するものであってもよい。さらに、重複/加算器230は、この場合、図4を参照して後に詳述するように、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき、加算後フレームの残余部分に加算後サンプルを与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づき、開始部分に加算後サンプルを与えるものであってもよい。
【0088】
図4は、フレーム指数k,k−1,k−2,k−3,k+1にそれぞれ相当する5個の出力フレーム240の概略図である。図2の概略図と同様に、図4の5個の出力フレーム240は矢印250で示されている時間的順番で配置されている。出力フレーム240−kを基準に、出力フレーム240−(k−1),240−(k−2),240−(k−3)は過去の出力フレーム240である。同様に、出力フレーム240−(k+1)は、出力フレーム240−kを基準にして、次の又は未来の出力フレームである。
【0089】
図2の入力フレーム130に関して既に述べたように、図4に示す実施形態においても、各出力フレーム240は4個の部分260−1,260−2,260−3,260−4を含んでいる。図2の構成の入力フレーム130の初期部分160に関して既に述べたように、各出力フレーム240の第1部分260−1は、合成フィルターバンク200の本実施形態の詳細な実施状況に応じて、初期部分270を含んでいてもよいしあるいは含んでいなくてもよい。従って、図4の実施形態の場合、第1部分260−1は他の部分260−2,260−3,260−4に比べて短くてもよい。しかし、他の部分260−2,260−3,260−4はそれぞれ、前記サンプル先行値Mと同じ数の出力サンプルを含む。
【0090】
図3に関して説明したように、周波数/時間コンバータ210には複数の入力フレームが与えられ、周波数/時間コンバータ210はそれに基づき複数の出力フレームを生成する。合成フィルターバンク200のいくつかの実施形態において、各入力フレームの長さはサンプル先行値Mに等しく、Mは正の整数である。しかし、周波数/時間コンバータ210によって生成された出力フレームは、入力フレームの入力値の個数の少なくとも2倍以上の個数のサンプルを含む。より詳しくは、図4に示す実施形態において、出力フレーム240は、入力値の個数つまり図4の実施形態においてはMの3倍以上もの個数の出力サンプルを含む。つまり、出力フレームは部分260に分けられ、出力フレーム240の各部分260(前述したように、第1部分260−1を除く場合もある)はM個の出力サンプルを含む。さらに、いくつかの実施形態において、初期部分270はM/4個のサンプルを含む。つまり、M=480又はM=512の場合、初期部分が存在するとすれば、それは120個又は128個のサンプル又は値を含む。
【0091】
さらに換言すれば、解析フィルターバンク100の実施形態に関して述べたように、サンプル先行値Mは出力フレーム240の各部分260−2,260−3,260−4の長さに相当する。合成フィルターバンク200の一実施形態の詳細な実施状況に応じて、出力フレーム240の第1部分260−1もまたM個の出力サンプルを含み得る。しかし、出力フレーム240に初期部分270が存在しない場合、各出力フレーム240の第1部分260−1は出力フレーム240の他の部分260−2から260−4よりも短い。
【0092】
前述したように、周波数/時間コンバータ210はウィンドウ処理部220に複数の出力フレーム240を与え、各出力フレームはサンプル先行値Mの2倍以上の個数の出力サンプルを含む。そして、ウィンドウ処理部220は、周波数/時間コンバータ210によって与えられた現在の出力フレーム240に基づき、ウィンドウ処理後フレーム240を生成することができる。より明白には、出力フレーム240に対応するウィンドウ処理後フレームは、前述したような重み付け関数に基づき生成される。図4の実施形態において、重み付け関数はウィンドウ関数280に基づくものであり、ウィンドウ関数280は各出力フレーム240の上部に概略的に示されている。これに関して注意すべきことは、ウィンドウ関数280は、出力フレーム240の初期部分が存在する場合、初期部分内の出力サンプルに対していかなる影響も与えないということである。
【0093】
しかし、合成フィルターバンク200の異なる実施形態の詳細な実施状況により、多様な場合を考慮する必要がある。ウィンドウ処理部210は、周波数/時間コンバータ210に応じて、全く異なるように改造又は構成されてもよい。
【0094】
例えば、出力フレーム240の第1部分270もM個の出力サンプルを含むように出力フレーム240の初期部分270が存在する場合、ウィンドウ処理部220は、この出力フレームから、同じ個数のウィンドウ処理後サンプルを含むウィンドウ処理後フレームを生成するように改造されてもよいし、そうでなくてもよい。つまり、ウィンドウ処理部220は、初期部分270を含むウィンドウ処理後フレームを生成するように構成でき、図1,2に関して既に述べたように、これは例えば、対応するウィンドウ処理後サンプルを既定値(例えば0、最大許容信号振幅値の2倍の値等)又は既定範囲内の少なくとも一つの値に設定することで可能となる。
【0095】
この場合、出力フレーム240及び出力フレーム240に基づくウィンドウ処理後フレームの両方が同じ個数のサンプル又は値を含んでいてもよい。しかし、ウィンドウ処理後フレームの初期部分270内のウィンドウ処理後サンプルは、必ずしも出力フレーム240内のそれに対応する出力サンプルによるものでなくてもよい。しかし、ウィンドウ処理後フレームの第1部分260−1は、初期部分以外のサンプルに関して、周波数/時間コンバータ210によって与えられる出力フレーム240に基づくものである。
【0096】
図1,2に示す解析フィルターバンクの実施形態に関して述べたように、出力フレーム240の初期部分270に少なくとも一つの出力サンプルが存在するならば、それに対応するウィンドウ処理後サンプルは既定値又は既定範囲内の値にセットされてもよい。初期部分270が1個以上のウィンドウ処理後サンプルを含む場合も同様である。
【0097】
さらに、ウィンドウ処理部220は、ウィンドウ処理後フレームが初期部分270を全く含まないようにするものであってもよい。合成フィルターバンク200のこのような実施形態の場合、ウィンドウ処理部220は、出力フレーム240の初期部分270内の出力サンプルを無視するように構成することもできる。
【0098】
これらのうちのいずれの場合も、詳細な実施の状況により、ウィンドウ処理後フレームの第1部分260−1は初期部分270を含んでいてもよいし、含んでいなくてもよい。
ウィンドウ処理後フレームの初期部分が存在する場合、この部分のウィンドウ処理後サンプル又はウィンドウ処理後の値は、各出力フレーム内のそれに対応する出力サンプルによるものである必要は全くない。
【0099】
一方、出力フレーム240が初期部分270を含まない場合、ウィンドウ処理部220は、出力フレーム240に基づき、初期部分270を含むウィンドウ処理後フレームを生成するものであってもよいし、又は初期部分270を含まないウィンドウ処理後フレームを生成するものであってもよい。第1部分260−1の出力サンプルの個数がサンプル先行値Mよりも小さい場合、合成フィルターバンク200のいくつかの実施形態において、ウィンドウ処理部220は、ウィンドウ処理後フレームの初期部分270内の「存在しない出力サンプル」に相当するウィンドウ処理後サンプルを、既定値又は既定範囲内の少なくとも一つの値にセットできるものであってもよい。換言すれば、この場合、ウィンドウ処理後フレームが結果的にサンプル先行値Mの整数倍、あるいは入力フレームのサイズ又は加算後フレームの長さに相当する個数のウィンドウ処理後サンプルを含むように、ウィンドウ処理部220は、ウィンドウ処理後フレームを既定値又は既定範囲内の少なくとも一つの値で満たすものであってもよい。
【0100】
また、実施できるさらなる選択として、出力フレーム240とウィンドウ処理後フレームの両方が初期部分270を全く含まなくてもよい。この場合、ウィンドウ処理部220は、ウィンドウ処理後フレームを得るために、単に出力フレームの出力サンプルを少なくとも部分的に重み付けするように構成されていてもよい。さらに又はあるいは、ウィンドウ処理部220はウィンドウ関数280等を使用してもよい。
【0101】
図1,2に示す解析フィルターバンク100の実施形態に関して説明したように、出力フレーム240の初期部分270は、これらの値は最小のサンプル指数を有する「最新の」サンプルであるという点で、出力フレーム240の最初の部分のサンプルに相当する。換言すれば、出力フレーム240のすべての出力サンプルを考慮すると、これらのサンプルは、重複/加算器230によって与えられる対応する加算後サンプルを再生する際に、出力フレーム240の他の出力サンプルに比べて経過時間が最も短いサンプルと言える。つまり、出力フレーム240内及び出力フレームの各部分260内で、最新の出力サンプルは、各出力フレーム240又は各部分260の左に位置している。さらに換言すると、矢印250で示される時間は出力フレーム240の順序に相当するものではなく、各出力フレーム240内の出力サンプルの順序に相当するものである。
【0102】
しかし、ウィンドウ処理後フレーム240の重複/加算器230による処理をさらに詳しく説明する前に、合成フィルターバンク200の多くの実施形態において、周波数/時間コンバータ210及び/又はウィンドウ処理部220は、出力フレーム240及びウィンドウ処理後フレームの初期部分270が完全に存在するか又は全く存在しないように改造されてもよいことをここで注記しておく。前者の場合、第1部分260−1内の出力サンプル又はウィンドウ処理後サンプルの個数は出力フレームの他の各部分260−2,260−3,260−4内の出力サンプルの個数に等しく、Mに等しい。しかし、合成フィルターバンク200の実施形態において、周波数/時間コンバータ210とウィンドウ処理部220のどちらか一方又は両方が、初期部分270は存在するが、第1部分260−1内のサンプルの個数は周波数/時間コンバータ210の出力フレームの他の各部分260−2,260−3,260−4内の出力サンプルの個数よりも少なくなるように構成される実施も可能である。さらに、多くの実施形態において、一つのフレーム内の全てのサンプル又は値をそれ自体で取り扱うが、もちろん、対応する値又はサンプルの一つ又は一部分のみが使用されてもよい。
【0103】
ウィンドウ処理部220に接続された重複/加算器230は、図4の下部に示されてい
るように、開始部分300と残余部分310を含む加算後フレーム290を出力することができる。合成フィルターバンク200の一実施形態の詳細な実施状況により、重複/加算器230は、加算後フレームの開始部分に含まれる加算後サンプルは、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを加算することによって得られるように構成され得る。より詳しくは、図4に示す実施形態において、各出力フレーム240及びそれに対応するウィンドウ処理後フレームは4個の部分260−1〜260−4に基づくものであるので、開始部分300の一つの加算後サンプルは、矢印320で示されているように、少なくとも3個又は4個の異なるウィンドウ処理後フレームからの3個又は4個のウィンドウ処理後サンプル又は値に基づいている。図4の実施形態の場合に使用されるウィンドウ処理後サンプルが3個であるのか4個であるのかについては、対応する出力フレーム240−kに基づくウィンドウ処理後フレームの初期部分270に関する詳細な実施によるものである。
【0104】
以下の図4の説明において、図4の出力フレーム240を、ウィンドウ処理部220によって与えられたそれぞれの出力240に基づくウィンドウ処理後フレームと考えてもよい。図4の場合、ウィンドウ処理後フレームは、出力フレーム240の少なくとも初期部分270以外の出力サンプルをウィンドウ関数280から引き出された値で掛けることにより得られるからである。従って、重複/加算器230に関する以下の説明において、符号240はウィンドウ処理後フレームにも使用される。
【0105】
ウィンドウ処理部220が、初期部分270内のウィンドウ処理後サンプルを既定値又は既定範囲内の値にセットするように構成されている場合、該既定値又は既定範囲のために、(出力フレーム240−kに対応する)ウィンドウ処理後フレーム240−kの初期部分270からのウィンドウ処理後サンプルの加算が出力をひどく混乱させたり変化させるものでない限り、初期部分270内のウィンドウ処理後サンプル又はウィンドウ処理後の値は、(出力フレーム240−(k−1)に対応する)ウィンドウ処理後フレーム240−(k−1)の第2部分、(出力フレーム240−(k−2)に対応する)ウィンドウ処理後フレーム240−(k−2)の第3部分及び(出力フレーム240−(k−3)に対応する)ウィンドウ処理後フレーム240−(k−3)の第4部分からの残りの3個の加算後サンプルを加算する際に、使用されてもよい。
【0106】
ウィンドウ処理後フレームに初期部分270が存在しないようにウィンドウ処理部220が構成されている場合、開始部分300の対応する加算後サンプルは、通常、少なくとも2個のウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することによって求められる。しかし、図4の実施形態はそれぞれが4個の部分260を含むウィンドウ処理後フレームに基づいているので、加算後フレーム290の開始部分内の加算後サンプルは、ウィンドウ処理後フレーム240−(k−1),240−(k−2),240−(k−3)からの前記ウィンドウ処理後サンプルを加算することによって得られる。
【0107】
この場合は、例えば、ウィンドウ処理部220が出力フレームのこれに対応する出力サンプルを無視するように構成されていることで可能となる。さらに、既定値又は既定範囲が加算後サンプルを混乱させるようなものである場合、重複/加算器230は、加算後サンプルを得るためのウィンドウ処理後サンプルの合算の際に、これに対応するウィンドウ処理後サンプルを考慮に入れないように構成されてもよい。この場合、初期部分270のウィンドウ処理後サンプルは開始部分300の加算後サンプルを得るために使用されないので、これらのウィンドウ処理後サンプルは重複/加算器230によって無視されるべきものとして考えられる。
【0108】
残余部分310内の加算後サンプルに関して、図4中矢印330で示されているように
、重複/加算器230は、(3個の異なる出力フレーム240に対応する)少なくとも3個の異なるウィンドウ処理後フレーム240からの少なくとも3個のウィンドウ処理後サンプルを合算するように構成されている。ここでも、図4の実施形態において、一つのウィンドウ処理後フレーム240は4個の部分260を含むという事実により、残余部分310の加算後サンプルは、重複/加算器230で、4個の異なるウィンドウ処理後フレーム240からの4個のウィンドウ処理後サンプルを合算することにより生成される。より詳しくは、加算後フレーム290の残余部分310の加算後サンプルは、重複/加算器230で、ウィンドウ処理後フレーム240−kの第1部分260−1、ウィンドウ処理後フレーム240−(k−1)の第2部分260−2、ウィンドウ処理後フレーム240−(k−2)の第3部分260−3及びウィンドウ処理後フレーム240−(k−3)の第4部分260−4からの対応するウィンドウ処理後サンプルを合算することにより得られる。
【0109】
前述したような重複/加算処理の結果、加算後フレーム290はM=N/2個の加算後サンプルを含むようになる。つまり、サンプル先行値Mは加算後フレーム290の長さに等しい。また、合成フィルターバンク200の少なくともいくつかの実施形態において、入力フレームの長さも、前述したように、サンプル先行値Mに等しい。
【0110】
図4に示す実施形態において、加算後フレームの開始部分300及び残余部分310の各加算後サンプルを得るために、少なくとも3個又は4個のウィンドウ処理後サンプルを使用するということは、単に簡便さのために選択しただけである。図4の実施形態において、各出力/ウィンドウ処理後フレーム240は、4個の部分260−1〜260−4を含む。しかし、原則的に、合成フィルターバンクの一実施形態において、出力又はウィンドウ処理後フレームは、加算後フレーム290の加算後サンプルの個数の2倍よりも1多い個数のウィンドウ処理後サンプルを含んでいればよい。つまり、合成フィルターバンク200の一実施形態において、各ウィンドウ処理後フレームは単に2M+1個のウィンドウ処理後サンプルを含むものであってもよい。
【0111】
解析フィルターバンク100の一実施形態に関して述べたように、合成フィルターバンク200の一実施形態もまた、ER AAC LDコーデックの変更によって得られるER AAC ELDコーデック(コーデック=コーダ/デコーダ)の構成に組み込まれ得る。従って、合成フィルターバンク200の一実施形態は、低ビットレート低遅延オーディオ符号化/復号化システムを構成するために、AAC LDコーデックに使用され得る。例えば、合成フィルターバンク200の一実施形態は、任意のSBR装置(SBR=スペクトルバンク複製)と共にER AAC ELDコーデックのためのデコーダに組み込まれてもよい。しかし、十分な低遅延を達成するためには、合成フィルターバンク200の一実施形態の実現のためにER AAC LDコーデックと比較して、いくらかの変更を行うことが好ましい。
【0112】
前記コーデックの合成フィルターバンクは、低遅延(合成)フィルターバンクの一実施形態に適合させるために変更できるが、周波数/時間コンバータ210に関して、核IMDCTアルゴリズム(IMDCT=逆転修正離散余弦変換)はほぼ変化させずそのままであってもよい。しかし、IMDCT周波数/時間コンバータと比較して、周波数/時間コンバータ210は長いウィンドウ関数を有するように実施でき、この場合サンプル指数nはN−1までではなく、2N−1までとなる。
【0113】
より詳細には、周波数/時間コンバータ210は、以下の式に基づき、出力値xi,nを
与えるように構成され得る。
【0114】
【数10】
nは、前述したように、サンプル指数を示す整数、iはウィンドウ指数を示す整数、kはスペクトル係数指数、NはER AAC LDコーデック実施の一連のパラメータウィンドウに基づくウィンドウ長さであり、整数Nは加算後フレーム290の加算後サンプルの個数の2倍である。さらに、n0は以下の式によって与えられるオフセット値である。
【0115】
【数11】
spec[i][k]は、入力フレームのスペクトル係数指数k及びウィンドウ指数Iに対応する入力値である。合成フィルターバンク200のいくつかの実施形態において、パラメータNは960又は1024である。しかし、原則的に、パラメータNはいかなる値をも取り得る。換言すれば、合成フィルターバンク200の別の実施形態は、パラメータN=360又は他の値に基づき動作し得る。
【0116】
ウィンドウ処理部220及び重複/加算器230もまた、ER AAC LDコーデックに採用されているウィンドウ処理部及び重複/加算器と比較して、変更されていてもよい。より詳しくは、前記コーデックに比べて、ウィンドウ関数の長さNは、過去により多くの重複があり、未来により少ない重複のあるウィンドウ関数の長さ2Nに変更される。以下に図5〜図11を参照して説明するように、合成フィルターバンク200の実施形態において、M/4=N/8個の値又はウィンドウ係数を含むウィンドウ関数は実際0にセットされてもよい。結果的に、これらのウィンドウ係数は各フレームの初期部分160,270に対応する。前述したように、この部分は実行する必要は全くない。一つの可能な選択として、対応するモジュール(例えばウィンドウ処理部110,220)は0との掛け算が必要ではないように構成されてもよい。既に述べたように、実施形態の二つの可能な実施に関する差異について言えば、ウィンドウ処理後サンプルは0にセットされるか又は無視されてもよい。
【0117】
従って、このような低遅延ウィンドウ関数を有する合成フィルターバンクのこのような一実施形態の場合にウィンドウ処理部220によって行われるウィンドウ処理は、以下の式に基づくものである。
【0118】
【数12】
ウィンドウ係数w(n)を有するウィンドウ関数は2N個のウィンドウ係数の長さを有する。従って、サンプル指数はN=0〜N=2N−2であり、多様なウィンドウ関数のウィンドウ係数の関係及び値は、合成フィルターバンクの多様な実施形態のための付録の表1〜4に示されている。
【0119】
さらに、重複/加算器230は以下の式に基づき実施可能である。
【0120】
【数13】
前記式及び方程式は、合成フィルターバンク200の一実施形態の詳細な実施状況に応じてわずかに変更されてもよい。換言すれば、詳細な実施状況により、特にウィンドウ処理後フレームは必ずしも初期部分を含んでいなくてもよいという点で、前記式及び方程式は、例えば、初期部分が存在しない場合やあるいは初期部分のサンプルが取るに足りないもの(例えば値が0のサンプル)である場合に、初期部分のサンプルを除外するために合算指数の境界を変更してもよい。つまり、解析フィルターバンク100の一実施形態及び合成フィルターバンク200の一実施形態のうちの少なくともどちらかを実行することによって、適当なSBR装置を任意に含むER AAC LDコーデックをER AAC ELDコーデックとして実現でき、これにより、例えば、低ビットレート及び/又は低遅延オーディオ符号化復号化システムを達成することができる。エンコーダ、デコーダの概略をそれぞれ図12,13に示す。
【0121】
既に何度か述べたように、解析フィルターバンク100及び合成フィルターバンク200のどちらの実施形態も、解析/合成フィルターバンク100,200の構成及びエンコーダ、デコーダの実施形態の構成において超低遅延符号化モードを可能にするという利点を提供し得る。解析フィルターバンク又は合成フィルターバンクの一実施形態を実行することにより、低遅延ウィンドウ関数を含むフィルターバンクの一実施形態の詳細な実施状況により、いくつかの利点が得られ、この解析フィルターバンク又は合成フィルターバンクの一実施形態は、図5〜図11を参照して後に詳述するウィンドウ関数のうちの一つを有していてもよい。図2を参照して、フィルターバンクの一実施形態は、技術的現状のコーデックで使用されている直交ウィンドウに基づくコーデックと比較して、遅延を生じさせる。例えば、パラメータN=960に基づくシステムの場合に、960個のサンプルから700個のサンプルへの遅延の低下、つまり48kHzのサンプリング周波数において20msの遅延から15msの遅延への低下が達成できる。さらに、以下に示すように、合成フィルターバンク及び/又は解析フィルターバンクの一実施形態の周波数応答は、正弦ウィンドウを使用したフィルターバンクに非常に類似している。いわゆる低重複ウィンドウを使用したフィルターバンクと比較すると、この周波数応答は非常に良い。さらに、プレエコー特性に関して、低重複ウィンドウに類似しているので、合成フィルターバンク及び/又は解析フィルターバンクの一実施形態は、その詳細な実施状況により、質と低遅延の間での非常に良いトレードオフを実現することができる。さらに、例えば会議システムの一実施形態の構成に使用できる利点は、ただ一つのウィンドウ関数があらゆる種類の信号を処理するのに使用できるということである。
【0122】
図5は、例えば解析フィルターバンク100又は合成フィルターバンク200の一実施形態のウィンドウ処理部110,220で使用可能なウィンドウ関数を示すグラフである。より詳細には、図5の上部のグラフは、解析フィルターバンクの一実施形態の場合のM=480個のバンド又は出力サンプルのための解析ウィンドウ関数を示している。図5の下部のグラフは、合成フィルターバンクの一実施形態のための同様の合成ウィンドウ関数を示している。図5のどちらのウィンドウ関数も、出力フレーム(解析フィルターバンクの場合)及び加算後フレーム(合成フィルターバンクの場合)のM=480個のバンド又はサンプルに対応し、図5のウィンドウ関数は、指数がそれぞれn=0,…,1919である1920個の値の定義集合を含む。
【0123】
また、図5の二つのグラフから明らかなように、ここでは、定義集合の中心点は指数N=959とN=960の間に存在するが、定義集合そのものの一部ではなく、どちらのウィンドウ関数においても、全てのウィンドウ係数のうちの最大絶対値の10%、20%、30%又は50%よりも大きい絶対値のウィンドウ係数は、定義集合の前記中心点に対するどちらか半分に大多数が含まれている。この半分とは、図5の上部グラフで示される解析ウィンドウ関数の場合、指数N=960,…,1919を含む定義集合の半分であり、図5の下部グラフで示される合成ウィンドウ関数の場合、指数N=0,…,959を含む定義集合の半分である。つまり、解析フィルターバンクも合成フィルターバンクも、中心点に対して極度に非対称である。
【0124】
解析フィルターバンクの一実施形態のウィンドウ処理部110及び合成フィルターバンクの一実施形態のウィンドウ処理部220に関して示したように、解析フィルターバンク及び合成フィルターバンクは指数に関して互いの逆転関数である。
【0125】
図5の二つのグラフに示されているウィンドウ関数に関する重要な一面は、上部グラフの解析ウィンドウ関数の場合には最後の120個のウィンドウ係数が、そして下部グラフの合成ウィンドウ関数の場合には最初の120個のウィンドウ係数が、0又は妥当な精度で0と同等とみなされる絶対値の値にセットされる。換言すれば、これら二つのウィンドウ関数のこれらの120個のウィンドウ係数は、これら120個のウィンドウ係数をそれぞれのサンプルに掛けることで適当な個数のサンプルを既定範囲内の少なくとも一つの値にセットするためのものである。つまり、解析フィルターバンク100又は合成フィルターバンク200の実施形態の詳細な実施状況により、これらの120個の0のウィンドウ係数が応用可能な場合、前述したように、これらは解析フィルターバンク及び合成フィルターバンクの実施形態におけるウィンドウ処理後フレームの初期部分160,270を形成することになる。しかし、初期部分160,270が存在しない場合でも、これら120個の0のウィンドウ係数は、解析フィルターバンク100及び合成フィルターバンク200の実施形態のウィンドウ処理部110、時間/周波数コンバータ120、ウィンドウ処理部220及び重複/加算器230によって、それに応じて異なるフレームを処理するように解釈される。
【0126】
M=480(N=960)の場合に120個の0のウィンドウ係数を含む図5に示すような解析ウィンドウ関数又は合成ウィンドウ関数を使用することにより、解析フィルターバンク100及び合成フィルターバンク200の適当な実施形態が確立され、この場合、対応するフレームの初期部分160,270はM/4個のサンプルを含み、つまり対応する第1部分150−1,260−1は他の部分よりもM/4個少ない値又はサンプルを含むことになる。
【0127】
前述したように、図5の上部グラフの解析ウィンドウ関数及び図5の下部グラフの合成ウィンドウ関数は、解析フィルターバンク及び合成フィルターバンクのための低遅延ウィンドウ関数である。さらに、図5の解析ウィンドウ関数及び合成ウィンドウ関数は、両方のウィンドウ関数を定義する定義集合の前述の中心点に対して、互いに鏡映化版である。
【0128】
低遅延ウィンドウの解析フィルターバンク又は合成フィルターバンクへの使用は、複合解析に関して後述するように、多くの場合、際立った計算の複雑化を生じさせることなく、記憶容量がわずかに余分に必要となるだけである。
【0129】
図5に示すウィンドウ関数は、付録の表2に示されている値を含むが、これらの値は単に簡便さのために記されているものである。パラメータM=480に基づき作動する解析フィルターバンク又は合成フィルターバンクの一実施形態が付録の表2に示されている正確な値を含む必要はない。当然、解析フィルターバンク又は合成フィルターバンクの一実
施形態の詳細な実施状況により、適当なウィンドウ関数内に多様なウィンドウ係数を取ることが可能であり、これらの使用されるウィンドウ係数は、M=480の場合、付録の表1に示されている関係を満たすことが多い。
【0130】
さらに、後述するようなフィルター係数、ウィンドウ係数及びリフト係数を有する多くの実施形態において、それらの数値は付録に示されている通りの正確なものである必要はない。つまり、解析フィルターバンク、合成フィルターバンクの他の実施形態及び本発明に関する実施形態において、フィルター係数、ウィンドウ係数及びリフト係数のような他の係数が付録に示されている係数とは異なる他のウィンドウ関数も、その変化が小数第3位及び第4位、第5位などのそれ以下の範囲である限り、使用可能である。
【0131】
図5の下部の合成ウィンドウ関数に関して、前述したように、最初のM/4=120個のウィンドウ係数は0にセットされる。それ以降約350の指数まで、ウィンドウ関数は急な上昇を示し、その後約600の指数まで緩やかな上昇を示す。これに関して、指数480(=M)の辺りで、ウィンドウ関数は1よりも大きくなる。指数600から約サンプル1100まで、ウィンドウ関数はその最大値から0.1よりも小さい値まで下降する。定義集合の他の部分では、ウィンドウ関数は0の辺りでわずかに振動する。
【0132】
図6は図5に示したウィンドウ関数の比較を示し、図6の上部は解析ウィンドウ関数の場合であり、図6の下部は合成ウィンドウ関数の場合である。これら二つのグラフには、さらに、例えば前述のER AAC コーデックのAAC LC及びAAC LDに使用されるいわゆる正弦ウィンドウ関数が点線で示されている。図6の二つのグラフに示されているような正弦ウィンドウ関数と低遅延ウィンドウ関数との直接的な比較は、図5を参照して説明したような時間ウィンドウの異なる時間対象を示す。正弦ウィンドウはたった960個のサンプルから定義されていることは別にしても、解析フィルターバンクの一実施形態に使用される場合(上部のグラフ)及び合成フィルターバンクの一実施形態に使用される場合(下部のグラフ)のこれら二つのウィンドウ関数の最も決定的な違いは、正弦ウィンドウフレーム関数は短い定義集合の中心点に関して対称であり、定義集合の最初の120個の要素に、(ほとんどの)0よりも大きいウィンドウ係数を含んでいるということである。それとは対照的に、前述したように、低遅延ウィンドウ関数は120個の(理想的には)0の値のウィンドウ係数を含み、正弦ウィンドウの定義集合に比べて長い定義集合の中心点に関して明らかに非対称である。
【0133】
また、低遅延ウィンドウを正弦ウィンドウとは異ならせるさらに別の相違点がある。両方のウィンドウは約1の値と480(=M)のサンプル指数を有しているが、低遅延ウィンドウ関数は、1よりも大きくなってから約120個のサンプルの後につまりサンプル指数が約600(=M+M/4,M=480)で、1以上の最大値に達するが、対称な正弦ウィンドウは対称的に0まで下がる。つまり、これらの場合には重複方式及びM=480という有利なサンプル値を取っているので、例えば第1フレームで0との掛け算をされるサンプルは、次のフレームでは1よりも大きい値と掛け算される。
【0134】
例えば解析フィルターバンク100又は合成フィルターバンク200の他の実施形態に使用できる別の低遅延ウィンドウについてさらに説明する。パラメータM=480,N=960であり、そのうちM/4=120個は0の値又は十分に低い値である場合に関して、図5,6に示されているウィンドウ関数で達成可能な遅延低減の概念を説明する。図6の上部グラフに示されている解析ウィンドウにおいて、未来の入力値(サンプル指数1800〜1920)にアクセスする部分は120個のサンプル分減少している。従って、図6の下部グラフの合成ウィンドウにおいて、過去の出力サンプルを含む重複は合成フィルターバンクでそれに相当する遅延を生じさせるが、ここではさらに120個のサンプル分減少されている。換言すれば、合成ウィンドウにおいては重複/加算処理を施される必要
があり、解析フィルターバンクにおいては120個のサンプル分の低減を伴う重複/加算を施す必要がある過去の出力サンプルを含む重複により、解析フィルターバンクと合成フィルターバンクの両方を含むシステムにおいて、全体として240個のサンプル分の遅延が低減されるだろう。
【0135】
しかし、拡張重複は更なる遅延を生じさせることはない。それは、過去からの値を加算するのみであり、これは少なくともサンプリング周波数の規模で、更なる遅延を引き起こすことなく、簡単に記憶できるからである。従来の正弦ウィンドウと低遅延ウィンドウの比較を図5,6に示す。
【0136】
図7は、三つのグラフに3個の異なるウィンドウ関数を示すものである。より詳細には、図7の上部グラフは前述の正弦ウィンドウを示し、中央のグラフはいわゆる低重複ウィンドウを示し、下部のグラフは低遅延ウィンドウを示す。しかし、図7に示されている3個のウィンドウは、サンプル先行値つまりパラメータM=512(N=2M=1024)に相当する。ここでもまた、2048個のサンプル指数から定義されている図7の下部に示されている低遅延ウィンドウ関数に比べて、図7の上部及び中央のグラフの正弦ウィンドウ及び低重複ウィンドウは、制限された又は短縮された定義集合によって定義されている。
【0137】
図7の正弦ウィンドウ、低重複ウィンドウ及び低遅延ウィンドウのウィンドウ形状のプロットは、正弦ウィンドウと低遅延ウィンドウに関しては、多かれ少なかれ、前述したのと同じ特徴を有している。より詳しくは、ここでも、正弦ウィンドウ(図7の上部グラフ)は、指数511と512の間にある定義集合の妥当な中心点に関して対称である。正弦ウィンドウはM=512の辺りで最大値を有し、この最大値から定義集合の境界に向かって0に降下する。
【0138】
図7の下部グラフに示されている低遅延ウィンドウは、128個の0の値のウィンドウ係数を含み、この個数はサンプル先行値Mの1/4である。さらに、低遅延ウィンドウはサンプル指数Mで約1の値を取り、ウィンドウ係数の最大値は、値が1以上となってからサンプル指数nが約128増した辺りで(指数640辺りで)得られる。また、ウィンドウ関数のプロットの他の特徴に関して、図7の下部グラフのM=512のためのウィンドウ関数は、図5,6に示されているM=480のための低遅延ウィンドウと比較して、それよりも定義集合が長い(1920個の指数に比べて2048個の指数)ために任意のシフトがあるということを除けば、さほど相違はない。図7の下部グラフに示されている低遅延ウィンドウは付録の表4に示されている値を含む。
【0139】
しかし、前述したように、合成フィルターバンク又は解析フィルターバンクの実施形態が表4に示されているのと全く同じ値を有するウィンドウ関数を使用する必要はない。つまり、ウィンドウ係数は付録の表3に示されている関係を満たすものである限り、表4の値と異なっていてもよい。さらに、本発明の実施形態において、ウィンドウ係数に関する変更も、前述したように、小数点以下第3位又は第4位、第5位などのそれ以下の範囲内である限り、簡単に実行できる。
【0140】
図7の中央のグラフの低重複ウィンドウについてはまだ説明していない。前述したように、低遅延ウィンドウはまた1024個の要素を含む定義集合を有している。また、低重複ウィンドウは定義集合の初期部分と定義集合の終末部分に、低重複ウィンドウが消えうせる連続部分を有している。しかし、低重複ウィンドウが消えうせるこの連続部分の後に、急な上昇又は下降があり、これはたった100個よりも少し多い程度のサンプル指数を含むだけのものである。また、この対称低重複ウィンドウは1よりも大きい値を含まず、いくつかの実施形態に使用されるウィンドウ関数に比べて低いストップバンド逓減を含ん
でいてもよい。
【0141】
換言すれば、低重複ウィンドウ関数は同じサンプル先行値を有しながら非常に短い定義集合を有する。低遅延ウィンドウは1よりも大きい値を有しないからである。さらに、正弦ウィンドウ及び低重複ウィンドウのどちらも、それぞれの定義集合の中心点に関して、直交又は対称であり、低遅延ウィンドウは定義集合の中心点に関して非対称である。
【0142】
低重複ウィンドウは、移行のためのプレエコー人工物を除去するために導入されたものである。図8に示されているように、低重複は信号入力の前の量子化ノイズの広がりを回避する。新しい低遅延ウィンドウは同じ特性を有しているが、図10,11に示す周波数応答の比較から明らかなように、より良い周波数応答を有している。従って、低遅延ウィンドウは、従来のAAC LDウィンドウ、つまり正弦ウィンドウと低重複ウィンドウの両方に取って代わることができ、ウィンドウの形状に関する大きな変更はもはや必要ではない。
【0143】
図8は、図7と同じウィンドウ関数を同じ順序で示し、正弦ウィンドウ、低重複ウィンドウ及び低遅延ウィンドウの異なるウィンドウの形状の量子化ノイズの広がりを示している。図8の下部グラフに示されている低遅延ウィンドウのプレエコーは図8の中央に示されている低重複ウィンドウと似ているが、図8の上部に示されている正弦ウィンドウのプレエコーは、最初の128個(M=512)のサンプルに大いに影響を与える。
【0144】
換言すれば、合成フィルターバンク又は解析フィルターバンクの一実施形態に低遅延ウィンドウを使用することで、プレエコーの向上という利点が得られる。解析ウィンドウの場合、未来の入力値に到達するための、従って必然的に遅延が生じる経路は、1サンプル分以上、好ましくはブロック長又はサンプル先行値が480又は512サンプルの場合、120又は128個のサンプル分だけ、短縮され、その結果MDCT(修正離散余弦変換)と比較して遅延が低下する。これらの120個又は128個のサンプル内に存在するかもしれない信号の入力はわずかに1ブロック又は1フレーム後に現れるので、プレエコーに関して向上する。従って、合成ウィンドウにおいて、重複/加算処理を完了するための過去の出力サンプルとの重複もまたこれに対応する遅延を生じさせるが、この重複はさらに120個又は128個のサンプル分低下され、結果的に全体として240個又は256個のサンプル分の遅延低減となる。これらの120個又は128個のサンプルは、信号入力の前に、過去へのノイズの広がりに影響するので、これはまたプレエコーの向上という結果となる。全体的に、このことはプレエコーが1ブロック又は1フレーム後に現れる可能性があり、合成側のみから生じるプレエコーは120個又は128個のサンプル分短いということを意味している。
【0145】
図5〜7に示すように、このような低遅延ウィンドウを使用することで達成できる低減は、合成フィルターバンクまたは解析フィルターバンクの一実施形態の詳細な実施に応じて、人間の聴力特性、特にマスキングに関して考慮した場合、特に有用である。このことを説明するために、図9は人間の耳のマスキング特性を簡単に示す。より詳しくは、図9は、特定の周波数を有する音が約200msの間存在する場合の人間の耳の聴力閾値レベルを時間の関数として概略的に示したものである。
【0146】
図9の矢印350で示すような前述の音の存在の少し前に、プレマスキングが約20msの短い期間存在し、これにより音が存在する期間における非マスキングとマスキングとの間の滑らかな移行が可能となる。これは同時マスキングと呼ばれることもある。音が存在している期間、マスキングはオンである。しかし、図9の矢印360で示す音の消滅の際に、マスキングがすぐに解除されるわけではなく、約150msの期間、マスキングはゆっくりと低下する。これはポストマスキングと呼ばれることもある。
【0147】
このように、図9は人間の耳の一般的な一時的マスキング特性を示し、これは音の存在する期間の前と後のプレマスキング段階とポストマスキング段階を含む。解析フィルターバンク100及び/又は合成フィルターバンク200の一実施形態に低遅延ウィンドウを導入することによるプレエコーの低下により、知覚可能なプレエコーは少なくともある程度、図9に示す人間の耳の一時的マスキング効果のプレマスキング期間に降下するので、多くの場合、知覚可能な歪みは厳しく制限される。
【0148】
さらに、図5〜7に示され、付録の表1〜4に示されている関係や値を参照して詳細に説明される低遅延ウィンドウ関数を使用することで、正弦ウィンドウの場合と類似した周波数応答が得られる。これを説明するために、図10は正弦ウィンドウ(点線)と低遅延ウィンドウの一例(実線)との間の周波数応答に関する比較を示す。図10に示されているこれら二つのウィンドウの周波数応答の比較から明らかなように、低遅延ウィンドウは、周波数選択の点で、正弦ウィンドウに匹敵する。低遅延ウィンドウの周波数応答は正弦ウィンドウの周波数応答に類似又は匹敵し、また、図11の周波数応答の比較からわかるように、低重複ウィンドウの周波数応答よりもかなり良い。
【0149】
より詳しくは、図11は正弦ウィンドウ(点線)と低重複ウィンドウ(実線)との間の周波数応答の比較を示す。これから明らかなように、低重複ウィンドウの周波数応答を示す実線は正弦ウィンドウの対応する周波数応答よりも非常に大きい。図10の二つの周波数応答の比較からわかるように、低遅延ウィンドウと正弦ウィンドウは類似の周波数応答を示し、また、図10,11のプロットはどちらも正弦ウィンドウの周波数応答を示し、周波数の軸と強度の軸(dB)に関して同じ目盛りであるので、低重複ウィンドウと低遅延ウィンドウの比較も簡単に行える。従って、合成フィルターバンクの一実施形態及び解析フィルターバンクの一実施形態に簡単に使用できる低遅延ウィンドウは、低重複ウィンドウに比べて、良い周波数応答を提供すると結論づけることができる。
【0150】
図8に示すプレエコーの比較からわかるように、低遅延ウィンドウはプレエコーに関してかなりな利点を有する。低遅延ウィンドウのプレエコーは低重複ウィンドウのプレエコーと類似しているが、低遅延ウィンドウは、これらのウィンドウの間の優れたトレードオフを示す。
【0151】
結果的に、解析フィルターバンクの一実施形態、合成フィルターバンクの一実施形態及びこれに関係する実施形態に使用できる低遅延ウィンドウは、このトレードオフのために、音調信号だけでなく過渡的信号にも使用できるので、多様なブロック長又は多様なウィンドウの間での切換えを必要としない。換言すれば、解析フィルターバンク、合成フィルターバンクの一実施形態及びこれに関係する実施形態は、多様なブロックサイズやブロック長又は多様なウィンドウやウィンドウ形状等の様々な作動パラメータの集合間での切換えを必要としないエンコーダ、デコーダ及び他のシステムの構築の可能性を提供する。さらに別の可能性として、多様なパラメータ集合間での切換えが不必要であるという事実により、異なるソースからの信号が、以下に述べるようにさらなる遅延を引き起こす時間領域ではなく、周波数領域で処理され得る。
【0152】
さらに換言すると、合成フィルターバンク又は解析フィルターバンクの一実施形態の採用は、いくつかの実施形態において、計算がさほど複雑ではないという利点から来る恩恵を提供できる可能性がある。例えば正弦ウィンドウを有するMDCTと比較して低い遅延を埋め合わせるためには、追加的な遅延を作り出すのではなく、長い重複を導入する。長い重複、またこれにより対応する正弦ウィンドウが2倍の重複を有し、約2倍の長さであり、従って前述したような周波数選択性の恩恵を2倍有するにもかかわらず、ブロック長の倍増やメモリー素子の増加が必要となる可能性はあるが、わずかに複雑化するだけで実
施できる。このような実施に関するさらなる詳細は図19〜24を参照して説明する。
【0153】
図12は、エンコーダ400の一実施形態の概略的なブロック図である。エンコーダ400は解析フィルターバンク100の一実施形態を含み、任意の部品として、解析フィルターバンク100からの複数の出力フレームを符号化し、出力フレームに基づく複数の符号化フレームを出力するエントロピーエンコーダ410を含む。例えば、エントロピーエンコーダ410は、ハフマンエンコーダ、又は算術式符号化体系のようなエントロピー効果符号化体系を使用する他のエントロピーエンコーダであってもよい。
【0154】
解析フィルターバンク100の一実施形態をエンコーダ400に採用することにより、エンコーダはバンド数Nの出力を提供し、再生遅延は2N又は2N−1よりも小さい。さらに、原則的に、エンコーダの一実施形態はまたフィルターを表し、エンコーダ400の一実施形態は2N個のサンプル以上の限られたインパルス応答を提供する。つまり、エンコーダ400の一実施形態は、遅延効率的に(オーディオ)データを処理できるエンコーダを表すものである。
【0155】
図12に示すようなエンコーダ400の一実施形態の詳細な実施状況により、このような一実施形態は、量子化装置、フィルター、又は解析フィルターバンク100の実施形態に送られる入力フレームを前処理するためのあるいは出力フレームをエントロピー符号化の前に処理するためのさらに別の部品を含んでいてもよい。一例として、詳細な実施状況及び応用分野に応じて、データの量子化又はデータの再量子化を行うために、量子化装置がエンコーダ400の一実施形態に解析フィルターバンク100の前にさらに設置される。解析フィルターバンク後の処理の一例としては、周波数領域での出力フレームの均等化又は他のゲイン調整が実施可能である。
【0156】
図13は、前述したように、合成フィルターバンク200だけでなくエントロピーデコーダ460を有するデコーダ450の一実施形態を示す。デコーダ450の実施形態内のこのエントロピーデコーダ460は、例えばエンコーダ400の一実施形態によって与えられる複数の符号化されたフレームを復号化するために使用できる任意の部品である。従って、エントロピーデコーダ460は、ハフマン又はアルゴリズムデコーダ、又はデコーダ450の分野に適したエントロピー符号化/復号化体系に基づく他のエントロピーデコーダであってもよい。さらに、エントロピーデコーダ460は合成フィルターバンク200に複数の入力フレームを与え、それが合成フィルターバンク200の出力側又はデコーダ450の出力側で複数の加算後フレームとなる。
【0157】
しかし、詳細な実施状況により、デコーダ450はさらに別の部品、例えば非量子化装置やゲイン調整器のような他の部品を含んでいてもよい。より詳細には、オーディオデータが合成フィルターバンク200によって時間領域に変換される前に周波数領域でのゲイン調整又は均一化を可能とする任意の部品として、エントロピーデコーダ460と合成フィルターバンクの間に、ゲイン調整器が設置され得る。これに対応して、デコーダ450内の合成フィルターバンク200後に量子化装置がさらに設置されてもよく、これにより加算後フレームの再量子化が可能となり、デコーダ450の外部への任意に再量子化された加算後フレームの出力が可能となる。
【0158】
図12に示されているエンコーダ400の実施形態及び図13に示されているデコーダ450の実施形態は、オーディオ符号化/復号化及びオーディオ処理の多分野に応用できる。エンコーダ400及びデコーダ450のこのような実施形態は、例えば、高品質通信の分野で使用され得る。
【0159】
エンコーダ又はコーダの一実施形態及びデコーダの一実施形態のどちらにおいても、ブ
ロック長の切換えや異なるウィンドウ間での切換え等のパラメータの変更をする必要がなく、これらの実施形態を作動させることができる。換言すれば、他のコーダやデコーダと比較して、合成フィルターバンク、解析フィルターバンク及び関連する実施形態という形での本発明の実施形態は、多様なブロック長及び/又は多様なウィンドウ関数を使用する必要が全くない。
【0160】
元来MPEG−4オーディオ仕様のバージョン2で定義された低遅延AAC コーダ(AAC LD)は、時が経つにつれて、全帯域高品質通信コーダとして適応してきているが、この適応は、シングルスピーカやスピーチ材料に焦点を合わせた通常のスピーチコーダは、音楽信号などに対する性能は悪いという制限に対応してはいない。この特別なコーデックは、例えば産業的な需要のために、低遅延AACプロファイルの作成の引き金となった、他の通信応用のテレビ会議のために広く使用されている。にもかかわらず、コーダの符号化効率の強化はユーザにとって大きな関心事であり、また、本発明のいくつかの実施形態が提供できる貢献の題目である。
【0161】
現在、MPEG−4 ER AAC LDコーデックは、チャンネル毎に64kbit/s〜48kbit/sの範囲のビットレートで良好なオーディオの質を提供している。コーダの符号化効率を向上させ、スピーチコーダに負けないものとするためには、実証済みのスペクトル帯域再生装置(SBR)を使用することが良い選択である。しかしこの題目に関する先の提案は、標準化に向かっては進まなかった。
【0162】
テレコミュニケーションなどの多くの応用分野で欠くことのできない低いコーデック遅延を失わないために、さらなる対策を講じなければならない。多くの場合、コーダ開発の必要条件として、コーダは20msと同程度の低さのアルゴリズム遅延を与えられるものでなければならないと定義している。幸運にも、この目的を達成するためには、既存の仕様に対して小さな変更を必要とするのみである。特に、たった二つの変更が必要となるだけであり、そのうちの一つがこの明細書で提示されている。AAC LDコーダフィルターバンクを低遅延フィルターバンク100,200の一実施形態へ置き換えることにより、多くの応用での重大な遅延増加を緩和できる。SBR装置へのわずかな変更により、図12に示すようなエンコーダ400の実施形態のような、これのコーダへの導入による遅延増加を緩和することができる。
【0163】
結果的に、低遅延フィルターバンクの実施形態を含む改良AAC ELDコーダ又はAAC ELデコーダは、単純なAAC LDコーダと同等の遅延を有する。しかし、詳細な実施状況によるが、同程度の質において、かなりのビットレートを節約することができる。より詳しくは、AAC ELDコーダは、AACLDコーダと比較して、同程度の質で、25%又は33%までビットレートを節約することができる。
【0164】
合成フィルターバンク又は解析フィルターバンクの実施形態は、いわゆる超低遅延AACコーデック(AAC ELD)に実施可能であり、これにより、詳細な実施状況及び応用の仕様によるが、作動範囲をチャンネル毎に24kbit/sまで拡大することができる。換言すれば、本発明の実施形態は、任意に付加的な符号化装置を用いて、AAC LD体系の拡張器としてコーダ内で使用され得る。このような任意の符号化装置はスペクトル帯域再生(SBR)装置であり、これはエンコーダの一実施形態及びデコーダの一実施形態のどちらにも内蔵又は取り付けできるものである。特に低ビットレート符号化の分野において、SBRは注目されている改良法である。それは、デュアルレートコーダの使用を可能にするからであり、デュアルレートコーダにおいて、符号化すべき周波数スペクトルの低域部分に対するサンプリング周波数は元のサンプラーのサンプリング周波数のたった半分である。同時にSBRは低域部分に基づき高域スペクトルの周波数範囲を符号化することができ、故に、全体的なサンプリング周波数は、原則的に2倍の率で低下される。
【0165】
つまり、SBR装置を使用することは、特に注目されており有用な遅延最適化された部品の実施を可能にし、デュアルコアコーダのサンプリング周波数の低下により、節約された遅延は、原則的に、システム全体の遅延を2倍の率で低下させる。
【0166】
このように、AAC LDとSBRの単純な組み合わせは、後に詳細に説明するように、合計60msのアルゴリズム遅延となる。従って、このような組み合わせは、一般的には相互双方向通信のためのシステム遅延は50msを超えるべきではないという通信応用分野にとっては不適当なコーデックである。
【0167】
解析フィルターバンク及び/又は合成フィルターバンクの一実施形態を実行することにより、故に、MDCTフィルターバンクをこれらの低遅延目的のフィルターバンクのうちの一つに置き換えることにより、前述したようなデュアルレートコーダを実施することによって生じる遅延の増大を緩和することができる。前記実施形態を実行することにより、AAC ELDコーダは、オーディオの質を保ちながら、通常のAAC LDコーダに比べてレートを25%から33%節約し、遅延を双方向通信のための許容範囲内に抑えられる。
【0168】
故に、合成フィルターバンク、解析フィルターバンク及び他の関連する実施形態に関して、本願は、少なくとも本発明のいくつかの実施形態における達成可能なコーダ性能の評価と共に、可能な技術的変更を説明している。このような低遅延フィルターバンクは、詳細な実施状況により、前述したように、MDCT又はIMDCTを使用する代わりに多重複を有する別のウィンドウ関数を使用することにより、実質的な遅延低下を達成することができ、同時に、完全な再生を可能にすることができる。このような低遅延フィルターバンクの一実施形態は、フィルター長を短縮せずに、いくつかの実施形態における何らかの状況下で完全な再生特性を保ちながら、再生遅延を低下させることができる。
【0169】
結果的に得られるフィルターバンクは従来のMDCTと同じ余弦変換関数を有するが、非対称であり、一般化され低下した再生遅延を有する長いウィンドウ関数を取り得る。前述したように、新しい低遅延ウィンドウを使用するこのような新規な低遅延フィルターバンクの一実施形態において、M=480〜720個のサンプルのフレームサイズの場合、MDCT遅延を960サンプルから低下させることができる。一般的に、フィルターバンクの一実施形態は、前述したように、M/4個の0の値のウィンドウ係数を使用するか、又は対応するフレームの第1部分が他の部分よりもM/4個少ないサンプルを含むように適当な部品を改造することによって、2Mの遅延を(2M−M/2)に低下させることができる。
【0170】
これらの低遅延ウィンドウ関数の例を図5〜7に示し、また、図6,7は従来の正弦ウィンドウとの比較を示している。しかし、前述したように、解析ウィンドウは単に合成ウィンドウの時間逆転コピーであることに注目すべきである。
【0171】
以下に、低ビットレート低遅延オーディオ符号化装置を達成するためのSBR装置とAAC LDコーダの組み合わせに関する技術説明をする。前述したように、デュアルレートシステムは、シングルレートシステムよりも高い符号化ゲインを達成するために使用される。デュアルレートシステムを採用することにより、重要でない周波数帯域を含み得るエネルギー効率の良い符号化がコーダによって提供され、コーダによって与えられるフレームから反復的な情報をある程度除くことでビット低下につながる。より詳細には、通信応用分野で許容可能な全体的遅延を達成するために、前述のような低遅延フィルターバンクの一実施形態がAAC LDコアコーダに使用されている。以下に、AAC LDコーダとAAC ELDコアコーダの両方に関する遅延を説明する。
【0172】
合成フィルターバンク又は解析フィルターバンクの一実施形態を採用し、改造MDCTウィンドウ/フィルターバンクを実施することにより、遅延低下が達成できる。低遅延フィルターバンクを得るために、MDCTやIMDCTを拡張するための既に説明したような多重複の多様なウィンドウ関数を使用することで、実質的な遅延低下が達成できる。低遅延フィルターバンクの技術は、多重複非直交ウィンドウの使用を可能にする。このようにして、ウィンドウ長よりも低い遅延を得ることができる。従って、良好な周波数選択性につながる長いインパルス応答を維持したまま低遅延が達成できる。
【0173】
前述したように、M=480サンプルのフレームサイズのための低遅延ウィンドウは、MDCT遅延を960サンプルから720サンプルに低下させる。
【0174】
つまり、MPEG−4 ER AAC LDコーデックと比較して、エンコーダ400の一実施形態及びデコーダ450の一実施形態は、ある状況下において、非常に小さいビット範囲で良好なオーディオの質を提供することができる。前記ER AAC LDコーデックは、チャンネル毎に64kb/sec〜48kb/secのビット範囲で良好なオーディオの質を提供するが、エンコーダ400及びデコーダ450の実施形態は、本明細書で説明しているように、ある状況下では、チャンネル毎に約32kb/secの低いビットレートでも、同等のオーディオの質を提供することができる。さらに、エンコーダ及びデコーダの実施形態は、双方向通信システムに使用できるほど十分小さいアルゴリズム遅延を有し、最小限の改造で現存の技術分野に実施可能である。
【0175】
特にエンコーダ400及びデコーダ450という形での本発明の実施形態は、現存のMPEG−4オーディオ技術を低遅延作動に必要な最小限の改造と組み合わせることで、これを達成する。前述の改造を考慮してコーダ400及びデコーダ450の実施形態を実現するために、特にMPEG−4 ER AAC低遅延コーダはMPEG−4スペクトル帯域再生(SPR)装置と組み合わせることができる。これによって生じるアルゴリズ遅延の増大は、本願では説明しないがSPR装置の小さな改造及び低遅延コアコーダフィルターバンクの一実施形態及び解析フィルターバンクまたは合成フィルターバンクの一実施形態の使用によって緩和される。詳細な実施状況により、このような改良AAC LDコーダは、双方向通信応用分野にとって十分な低遅延を保ちながら、単純なACC LDコーダと比較して、同レベルの質でビットレートを33%まで節約できる。
【0176】
遅延のより詳細な解析を図14を参照して行う前に、SBR装置を含む符号化システムを説明する。つまり、図14Aに示されている符号化システム500の全ての部品を、全体的なシステム遅延に対するそれらの影響に関して解析する。図14Aは完全なシステムの全体図であるが、図14Bは遅延源に注目したものである。
【0177】
図14Aに示すシステムは、MDCT時間/周波数コンバータを含むエンコーダ500を含み、エンコーダ500はデュアルレート方法でデュアルレートコーダとして作動する。エンコーダ500は、さらに、SBR装置の一部であるQMF解析フィルターバンク520を含む。MDCT時間/周波数コンバータ510とQMF解析フィルターバンク(QMF=直角鏡フィルター)が、それらの入力に関しても出力に関しても、互いに接続され
ている。つまり、MDCTコンバータ510及びQMF解析フィルターバンク520のどちらにも、同じ入力データが与えられる。しかし、MDCTコンバータ510は低帯域情報を出力し、QMF解析フィルターバンク520はSBRデータを出力する。これら両方のデータは一つのビットストリームに合成され、デコーダ530に送られる。
【0178】
デコーダ530はIMDCT周波数/時間コンバータ540を含み、IMDCT周波数/時間コンバータ540は、少なくとも低帯域において時間領域信号を得るためにビット
ストリームを復号化でき、この時間領域信号はその後遅延器550を介してデコーダの出力側に与えられる。さらに、IMDCTコンバータ540の出力側は、デコーダ530のSBR装置の一部であるさらに別のQMF解析フィルターバンク560と接続されている。また、SBR装置はHF生成器570を含み、このHF生成器570はQMF解析フィルターバンク560の出力側に接続され、エンコーダ500のQMF解析フィルターバンク520のSBRデータに基づき高周波成分を生成することができる。HF生成器570の出力側はQMF合成フィルターバンク580に接続され、このQMF合成フィルターバンク580は、QMF領域の信号を時間領域に変換し、遅延された低帯域信号がデコーダ530のSBR装置によって与えられるような高帯域信号と結合される。そして、この結果得られるデータは、デコーダ530の出力データとして提供される。
【0179】
図14Aと比較して、図14Bは図14Aに示すシステムの遅延源に注目している。より詳細には、エンコーダ500及びデコーダ530の詳細な実施状況によるが、図14BはSBR装置を含むMPEG−4 ER AAC LDシステムの遅延源を説明するものである。このオーディオシステムの適当なコーダは、512又は480サンプルのフレームサイズである時間/周波数/時間変換のためのMDCT/IMDCTフィルターバンクを使用する。これは、詳細な実施状況によるが、1024又は960サンプルと同等の再生遅延となる。MPEG−4 ER AAC LDコーデックをSBRと組み合わせてデュアルレートモードで使用する場合、そのサンプリングレート変換のために、遅延値は2倍となる。
【0180】
より詳細な全体的な遅延解析と必要条件は、SBR装置と組み合わされたAAC LDコーデックの場合には、48kHzのサンプリングレート及び480サンプルのコアコーダのフレームサイズで、16msという全体的なアルゴリズム遅延となることを示している。図15の表は、サンプリングレートが48kHzであり、コアコーダのフレームサイズが480サンプルである場合に、多様な部品によって引き起こされる遅延の全体像を示し、コアコーダはデュアルレート方式であるので、24kHzというサンプリングレートで効率的に作動する。
【0181】
図15の遅延源の概要は、SBR装置を伴うAAC LDコーデックの場合には、全体的なアルゴリズム遅延が60msとなり、これはテレコミュニケーションの応用分野での許容範囲よりも実質的に高いものである。この評価はAAC LDコーデックとSBR装置との標準的な組み合わせを含み、MDCT/IMDCTデュアルレート部品、QMF部品及びSBR重複部品からの遅延への影響を含む。
【0182】
しかし、前記変更及び前述の実施形態を使用することで、全体的な遅延をわずか42msとすることができ、これは、デュアルレートモードの低遅延フィルターバンク(ELD
MDCT + IMDCT)及びQMF部品の実施形態からの遅延への影響を含む。
【0183】
SBRモジュールに関してだけでなくAACコアコーダ内のいくつかの遅延源に関しても、AAC LDコアコーダのアルゴリズム遅延は2M個のサンプルであると説明でき、ここでもMはコアコーダの基本のフレーム長である。これとは対照的に、低遅延フィルターバンクは、初期部分160,270を導入することにより又は適当なウィンドウ関数に適当な個数の0の値又はそれに相当する他の値を導入することで、サンプルの個数をM/2個減らす。SBR装置との組み合わせでAACコアコーダを使用した場合、デュアルレートシステムにおけるサンプリングレート変換により、遅延は倍加される。
【0184】
図15の表に示されている数値のいくつかを明解にするために、二つの遅延源を同一視できる。一つには、QMF部品は640サンプルというフィルターバンクの再生遅延を含む。しかし、64−1=63サンプルのフレーム遅延はすでにコアコーダそのものによっ
て導入されているので、それが引かれて、図15の表に示されている577サンプルという値が得られる。
【0185】
他方、SBR HF再生は、多様な時間グリッドのために、6個のQMFスロットの標準的なSBR装置に関するさらなる遅延を引き起こす。従って、標準的なSBR装置内の遅延は、64サンプルの6倍つまり384サンプルである。
【0186】
フィルターバンクの実施形態及び改良SBR装置を使用するが、AAC LDコーダと60msの全体遅延を有するSBR装置とのそのままの組み合わせを実施しないことで、18msの遅延節約が達成でき、42msの全体遅延が達成できる。前述したように、これらの数値は48kHzのサンプリングレート及びM=480サンプルのフレーム長に基づくものである。換言すれば、前述のM=480サンプルといういわゆるフレーム遅延とは別に、遅延最適化の点では2番目に重要な局面である重複遅延は、合成フィルターバンク又は解析フィルターバンクの一実施形態を導入することでかなり低下され、低ビットレート低遅延オーディオ符号化システムが達成される。
【0187】
本発明の実施形態は、会議システムや他の双方向通信システム等の多様な応用分野で実施できる。1997年頃の概念では、AAC LDコーダの設計につながる一般的な低遅延オーディオ符号化システムのための遅延条件は、48kHzのサンプルレート及びM=480のフレームサイズで作動する場合、AAC LDに適合する20msのアルゴリズム遅延を達成するためのものであった。これとは対照的に、テレビ会議のようなこのコーデックの多様な実際の応用は32kHzのサンプリングレートを採用しており、従って、30msの遅延で作動する。同時に、IP基本の通信が重要となってきているので、最近のITUテレコミュニケーションコーデックの遅延条件は大体40msである。別の例として、40msのアルゴリズム遅延を有する最近のG.722.1アネックスCコーダ及び48msの遅延を有するG.729.1コーダが含まれる。このように、低遅延フィルターバンクの一実施形態を含む改良AAC LDコーダ又はAAC ELDコーダによって達成される全体遅延は、一般的なテレコミュニケーションコーダの遅延範囲内に完全に入るようにできる。
【0188】
図16は複数の入力フレームを合成するためのミキサー600の一実施形態を示すブロック図であり、各フレームは、異なる遅延源から送られてくるそれぞれの時間領域フレームのスペクトル表示である。例えば、ミキサー600への各入力フレームはエンコーダ400の一実施形態又は他の適当なシステム又は部品によって与えられ得る。図16においては、ミキサー600は3個の異なるソースから入力フレームを受信するように構成されている。しかし、これに制限されるものではない。より詳しくは、原則的に、ミキサー600の一実施形態は任意の個数の入力フレームを受信、処理するように構成でき、それぞれの入力フレームは異なるソース、例えば異なるエンコーダ400から与えられる。
【0189】
図16に示されているミキサー600の実施形態は、異なるソースから与えられる複数の入力フレームをエントロピー符号化できるエントロピーデコーダ610を含む。詳細な実施状況により、エントロピーデコーダ610は、例えば、ハフマンエントロピーデコーダ、又はいわゆる算術的符号化、単項符号化、エリアスガンマ符号化、フィボナッチ符号化、ゴロム符号化又はライス符号化のような別のエントロピー符号化を使用するエントロピーデコーダとして実施できる。
【0190】
エントロピー符号化された入力フレームは、その後、任意の非量子化装置620に送られる。この非量子化装置620は、エントロピー符号化された入力フレームを、人間の耳の音量特性など、その応用での状況に適合するように非量子化することができる。エントロピー符号化され、そして任意に非量子化された入力フレームは、その後、スケーラ64
0に送られ、そこで周波数領域に調整される。ミキサー600の詳細な実施状況により、スケーラ630は、例えば各値を一定の率1/Pで掛け算することで、エントロピー符号化され任意に非量子化された入力フレームのそれぞれを調整する。ここで、Pは異なるソース又はエンコーダ400の数を示す整数である。
【0191】
換言すれば、スケーラ630はこの場合、オーバーフロー又は他のコンピュータ演算上のエラーを防止するために信号が大きくなりすぎないように、あるいはクリッピングのような知覚可能な歪みを防止するために、量子化装置620又はエントロピーデコーダ610から送られたフレームを低下させることができる。スケーラ630の多様な実施が可能であり、例えば一つ又はそれ以上のスペクトル周波帯域に応じて、各入力フレームのエネルギーを評価することで、与えられたフレームをエネルギー保存方式で調整することができるスケーラも可能である。このような場合、これらのスペクトル帯域のそれぞれにおいて、その周波数領域の値は一定の率で掛け算され、全ての周波域に関して全体的なエネルギーは同じである。さらに又はあるいは、スケーラ630は、スペクトルの副グループのそれぞれのエネルギーが、全ての異なる音源からの全ての入力フレームに関して同じであるように、又は各入力フレームの全体的なエネルギーが一定であるように、構成されてもよい。
【0192】
スケーラ630は加算器640に接続され、加算器640は、スケーラによって与えられる周波数領域の調整後フレームとも称されるフレームを加算することができ、周波数領域の加算後フレームを生成する。これは、例えば、スケーラ630によって与えられる全ての調整後フレームからの同じサンプル指数に相当する全ての値を加算することで達成できる。
【0193】
加算器640は、スケーラ630によって与えられる周波数領域のフレームを加算することができ、この結果、加算後フレームを得るが、この加算後フレームはスケーラ630によって与えられる全てのソースの情報を含んでいる。ミキサー600の一実施形態は、さらなる任意の部品として、加算器640から加算後フレームが与えられる量子化装置650を含んでいてもよい。応用の際の必要条件に基づき、任意の量子化装置650は、例えば、何らかの条件を満たすように加算後フレームを変更するために使用され得る。例えば、量子化装置650は、非量子化装置620の技法が反転されたものであってもよい。換言すれば、例えばスペクトル特性がミキサーに与えられた入力フレームに内在する場合、これは非量子化装置620によって除去されるか変更されるが、量子化装置650はその後、これらの特定の必要条件を加算後フレームに与えるように構成されていてもよい。一例として、量子化装置650は、人間の耳の特性に適合するものとなっている。
【0194】
ミキサー600の実施形態は、更なる部品として、エントロピーエンコーダ660を含み、このエントロピーエンコーダ660は、任意に量子化された加算後フレームをエントロピー符号化でき、例えばエンコーダ450の一実施形態を含む一つ又はそれ以上の受信者に合成フレームを与えるものである。ここでもまた、エントロピーエンコーダ660は、ハフマンアルゴリズム又は他の前述のアルゴリズムに基づき加算後フレームのエントロピー符号化を行うものであってもよい。
【0195】
解析フィルターバンク、合成フィルターバンク又はエンコーダやデコーダに関連する他の実施形態を使用することで、周波数領域で信号を合成できるミキサーが得られる。換言すれば、前述した超低遅延AACコーデックのうちの一つの実施形態を採用することで、周波数領域で複数の入力フレームを直接合成でき、パラメータの切換えに適合させるためにそれぞれの入力フレームを時間領域に変換する必要がなく、スピーチ通信のための技術的現状のコーデックに使用できるミキサーが得られる。解析フィルターバンク及び合成フィルターバンクの実施形態に関して既に述べたように、これらの実施形態は、ブロック長
の変更や異なるウィンドウ間での切換え等のパラメータの切換えを行わなくても、作動可能である。
【0196】
図17は、例えばサーバーの構成に使用できるMCU(メディアコントロールユニット)という形での会議システム700の一実施形態を示す。会議システムつまりMCU700は複数のビットストリームを含み、図17では二つが示されている。エントロピーデコーダと非量子化装置の組み合わせ610,620、及び図17では「ミキサー」と記している合成ユニット630,640を含む。さらに、合成ユニット630,640の出力は、合成フレームを出力ビットストリームとして出力する量子化装置650とエントロピーエンコーダ660を含む合成ユニットに送られる。
【0197】
換言すれば、図17は複数の入力ビットストリームを周波数領域で合成することができる会議システム700を示している。入力ビットストリーム及び出力ビットストリームは、エンコーダ側で低遅延ウィンドウを使用して生成され、出力ビットストリームは、デコーダ側でも同じ低遅延ウィンドウに基づき処理されるべきでありまた処理できるものである。つまり、図17のMCU700は、一つの万能低遅延ウィンドウの使用に基づくものである。
【0198】
ミキサー600の一実施形態及び会議システム700の一実施形態は、故に、解析フィルターバンク、合成フィルターバンク及び他の関連する実施形態に応用するのに適している。より詳細には、ただ一つのウィンドウを有する低遅延コーデックの一実施形態の技術的応用により、周波数領域での合成が可能となる。例えば、二人以上の参加者又は二つ以上のソースを有する(テレビ)会議の場合、いくつかのコーデック信号を受信し、それらを一つの信号に合成しさらに符号化された信号に変換することがしばしば望まれる。エンコーダ側及びデコーダ側における本発明の実施形態を会議システム700及びミキサー600のいくつかの実施形態に採用することで、この実施の方法は、入力信号を復号化し、復号化された信号を時間領域で合成し、合成された信号を周波数領域に再び符号化する単純な方法と比較して、簡素化されている。
【0199】
図18には、MCUという形態でのこのような単純な方式のミキサーが、会議システム750として示されている。この会議システム750もまた、周波数領域の入力ビットストリームそれぞれのためのものであり、各入力ビットストリームをエントロピー復号化、非量子できる合成モジュール760を含む。しかし、図18の会議システム750において、それぞれのモジュール760はIMDCTコンバータ770に接続され、これらのうちの一つは正弦ウィンドウモードで作動し、他方は低重複モードで作動する。換言すれば、これら二つのIMDCTコンバータ770は入力ビットストリームを周波数領域から時間領域に変換する。会議システム750の場合には、入力ビットストリームがエンコーダに基づくものであり、そのエンンコーダは、それぞれの信号を符号化するのに、そのオーディオ信号に応じて正弦ウィンドウと低重複ウィンドウの両方を使用するので、IMDCTコンバータ770による変換が必要である。
【0200】
会議システム750はさらにミキサー780を含み、このミキサー780は、二つのIMDCTコンバータ770からの二つの入力信号を時間領域で合成し、合成された時間領域信号をMDCTコンバータ790に与える。MDCTコンバータ790は信号を時間領域から周波数領域に変換する。
【0201】
MDCT790によって与えられる周波数領域の合成信号は、その後合成モジュール795に送られ、そして量子化及びエントロピー符号化され、出力ビットストリームが形成される。
【0202】
しかし、会議システム750に係るアプローチには、二つの不利な点がある。二つのIMDCTコンバータ770及びMDCT790による完全な復号化と符号化のために、会議システム750を実施するにはコンピュータ演算に高いコストがかかる。また、この復号化及び符号化のために、ある状況下では高くなる可能性があるさらなる遅延が生じる。
【0203】
デコーダ側及びエンコーダ側に本発明の実施形態を採用することで、あるいはより詳細には新しい低遅延ウィンドウを使用することにより、いくつかの実施形態において、その詳細な実施状況により、これらの不利点を解消することができる。これは、図17の会議システム700に関して説明したように、周波数領域で合成を行うことにより達成できる。結果的に、図17の会議システム700の実施形態は、会議システム750の構成で使用しなければならない信号を周波数領域から時間領域に変換しその後再び戻すために、信号を復号化、符号化するための変換及び/又はフィルターバンクを含まない。つまり、ウィンドウ形状が多様である場合のビットストリームの合成は、MDCT/IMDCTコンバータ770,790のために一ブロックの遅延が追加されることになる。
【0204】
結果的に、ミキサー600のいくつかの実施形態及び会議システム700のいくつかの実施形態における更なる利点として、コンピュータ演算のコストが低くなり、更なる遅延が制限され、全く余分な遅延が生じない場合も可能である。
【0205】
図19は、低遅延フィルターバンクの効率的な応用の一実施形態を示す。図19の構成におけるコンピュータ演算の複雑性と更なる応用に関する面について述べる前に、例えばデコーダに使用できる合成フィルターバンク800の実施形態をより詳細に説明する。低遅延合成フィルターバンク800の実施形態は従って、解析フィルターバンクまたはエンコーダの実施形態の逆転を示している。
【0206】
合成フィルターバンク800は、複数の出力フレームをウィンドウ処理部と重複/加算器から成る合成モジュール820へ送ることができる逆転IV型離散余弦変換周波数/時間コンバータ810を含む。より詳細には、時間/周波数コンバータ810は逆転IV型離散余弦変換コンバータであり、これに、M個の順序良く整列された入力値yk(0),
…,yk(M−1)を含む入力フレームが与えられる。ここで、Mは正の整数であり、k
はフレーム指数を示す整数である。時間/周波数コンバータ810は、入力値に基づき2M個の順序良く整列されたサンプルを生成し、これらの出力サンプルを、前述したようにウィンドウ処理部と重複/加算器を含む合成モジュール820に送る。
【0207】
モジュール820のウィンドウ処理部は複数のウィンドウ処理後フレームを生成し、各ウィンドウ処理後フレームは以下の式に基づく複数のウィンドウ処理後サンプルzk(0
),…,zk(2M−1)を含む。
【0208】
【数14】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数である。そして、モジュール820の重複/加算器は以下の式に基づき複数の中間サンプルMk(0),…,Mk(M−1)を含む中間フレームを生成する。
【0209】
【数15】
合成フィルターバンク800の実施形態は更に、以下の式に基づき複数の加算後サンプルoutk(0),…,outk(m−1)を含む加算後フレームを生成するリフター850を含む。
【0210】
【数16】
l(M−1−n),…,l(M−1)は実数値リフト係数である。図19に示す低遅延フィルターバンク800のコンピュータ演算上効率的な実施形態は、リフター830の構成中に、複数の遅延器と積算器の組み合わせ840及び複数の加算器850を含み、前述の計算をリフター830内で実行する。
【0211】
合成フィルターバンク800の実施形態の詳細な実施状況によるが、各入力フレームがM=512個の入力値を有している場合、ウィンドウ係数w(n)は付録の表5に示されている関係に従うものである。各入力フレームがM=480個の入力値を有している場合、ウィンドウ係数w(n)は付録の表9に示されている関係に従うものである。さらに、付録の表6,10は、それぞれM=512、M=480の場合のリフト係数l(n)の関係を示している。
【0212】
しかし、合成フィルターバンク800のいくつかの実施形態において、各入力フレームがM=512個、M=480個の入力値を有する場合、ウィンドウ係数w(n)は、それぞれ付録の表7,表11に示されている値を含む。同様に、付録の表8,12は各入力フレームがM=512個、M=480個の入力値を有している場合のそれぞれのリフト係数l(n)の値を示している。
【0213】
つまり、低遅延フィルターバンク800の実施形態は、一般的なMDCTコンバータと同様に十分に実行可能である。このような実施形態の概略構成が図19に示されている。逆転DCT−IV及び逆転ウィンドウ−重複/加算が従来のウィンドウ処理と同様の方法で実行されるが、実施形態の詳細な実施状況に応じて、前述のウィンドウ係数を使用する。合成フィルターバンク200の実施形態におけるウィンドウ係数の場合と同様に、この場合にも、M/4個のウィンドウ係数が0の値のウィンドウ係数であり、従ってこれらはいかなる処理にも関与しないものである。リフター830の構成から明らかなように、過去への拡張された重複のために、たったM個の余分な積算加算処理が必要となるだけである。これらの追加処理は「0遅延マトリクス」と称される場合もある。これらの処理は「リフティングステップ」としても知られている。
【0214】
図19に示す効率的な実施は、合成フィルターバンク200のそのままの実施のように、ある状況下でより効率的になり得る。より詳しくは、詳細な実施状況に応じて、M個の処理のためのそのままの実施の場合のようなより効率的な実施が、M個の処理を節約する
ことになり得る。原則的には、図19に示す実施のように、モジュール820での2M個の処理及びリフター830でのM個の処理を行うのが賢明であろう。
【0215】
低遅延フィルターバンクの一実施形態の複雑さに関する評価に関して、特にコンピュータ演算の複雑さに関して、図20は、各入力フレームがM=512個の入力値を有する場合の図19に係る合成フィルターバンク800の一実施形態における算術的複雑性を示している。より詳細には、図20の表は、低遅延ウィンドウ関数のウィンドウ処理を伴う(修正)IMDCTの場合の全体的な処理数の見積もりを示している。全体的な処理数は9600である。
【0216】
比較のために、図21の表は、パラメータM=512の場合の正弦ウィンドウに基づくウィンドウ処理に必要な複雑さを伴うIMDCTの算術的複雑性を示し、AAC LDコーデックのようなコーデックの合計処理数が示されている。より詳細には、正弦ウィンドウのウィンドウ処理を伴うこのIMDCTコンバータの算術的複雑性は9216処理であり、これは、図19に示す合成フィルターバンク800の実施形態における全体的な処理数と同程度のものである。
【0217】
更なる比較として、図22の表は、低複雑性改良オーディオコーデックとしても知られているAAC LDコーデックの場合を示す。AAC LD(M=1024)のためのウィンドウ重複処理を含むこのIMDCTコンバータの算術的複雑性は19968である。
【0218】
これらの数値を比較すると、超低遅延フィルターバンクの実施形態を使用するコアコーダの複雑性は、一般的なMDCT−IMDCTフィルターバンクを使用するコアコーダの複雑性と同程度であることがわかる。さらに、その処理数はAAC LDコーデックの処理数の約半分である。
【0219】
図23は二つの表からなり、図23Aは多種のコーデックの必要メモリーの比較を示し、図23BはROMの必要量に関する同様の評価を示す。より詳細には、図23A,23Bの表には、前述のコーデック、AAC LD、AAC ELD及びAAC LCに関して、フレーム長、作業バッファ及びステートバッファに関する情報(図23A)、また、フレーム長、ウィンドウ係数の個数及びROMメモリーの合計必要量に関する情報(図23
B)が示されている。前述したように、図23A,23Bの表中のAAC ELDは合成
フィルターバンク、解析フィルターバンク、エンコーダ、デコーダの実施形態又は後述の実施形態を指すものである。つまり、正弦ウィンドウを使用するIMDCTと比較して、図19の低遅延フィルターバンクの効率的な実施形態は、ステートメモリーのMの長さ分の追加、M個の係数の追加、及びリフト係数l(0),…、l(M−1)を必要とする。AAC LDのフレーム長はAAC LCの半分であるので、実施形態が結果的に必要とするメモリー量はAAC LCの範囲内である。
【0220】
メモリー必要量の点で、図23A,23Bの表は、前記3つのコーデックに関してRAMとROMの必要量を比較している。これらの表から、低遅延フィルターバンクのためのメモリー増加はわずかなものであることがわかる。全体的なメモリー必要量は、AAC LCコーデックまたはその実行と比較してまだずっと低いものである。
【0221】
図24は、性能評価で使用されるMUSHRAテストに使用されたコーデックのリストである。図24の表中、AOTはオーディオ用であることを示し、その欄の「X」は、39にもセットされ得るオーディオ用ER AAC ELDを示している。つまり、AOT
X又はAOT 39は合成フィルターバンク又は解析フィルターバンクの一実施形態と同じである。
【0222】
MUSHRAテストにおいて、リストにある全ての組み合わせに対してリスニングテストを行うことにより、低遅延フィルターバンクを前記コーダに使用することの影響をテストした。これらのテスト結果から、以下のことが結論づけられる。一チャンネルにつき32kbit/sでのAAC ELDデコーダは、32kbit/sの元々のAAC LDデコーダよりもかなり性能が良い。また、各チャンネルにつき32kbit/sでのAAC ELDデコーダは、一チャンネルにつき48kbit/sの元々のAAC LDデコーダとは統計的に差はない。チェックポイントコーダとしてのAAC LDと低遅延フィルターバンクとの組み合わせと、元々のAAC LDデコーダは、どちらも48kbit/sで作動し、これらの間には統計的な差はない。これは、低遅延フィルターバンクの妥当性を確認するものである。
【0223】
このように、全体的なコーダ性能は従来のものと類似であるが、コーデック遅延に関して重大な節約が達成できる。さらに、コーダ圧縮性能を保持することができた。
【0224】
前述したように、AAC ELDコーデックの実施形態のような本発明の実施形態の期待できる応用場面は、ハイファイビデオによるテレビ会議及び次世代の声のIP応用分野である。これは、会話や音楽等の、また、マルチメディアに関して高い質で競争力のあるビットレートでの任意のオーディオ信号の転送を含む。本発明の実施形態(AAC ELD)は低いアルゴリズム遅延を有するので、このコーデックのあらゆる種類の通信への応用が可能になる。
【0225】
さらに、本願では、スペクトル帯域再生(SBR)装置と任意に組み合わせ可能な改良AAC ELDデコーダの構成を説明してきた。遅延の増大を抑制するために、SBR装置及びコアコーダモジュールに対して、実際の状況に応じた細かい変更が必要となるかもしれない。前記の技術に基づく超低遅延オーディオデコーダの性能は、現在普及しているMPEG−4標準のものと比較して、かなり高いものである。しかし、コア符号化の構成は基本的に変わらない。
【0226】
また、本発明の実施形態は、低遅延解析ウィンドウまたは低遅延合成フィルターを有する解析フィルターバンク又は合成フィルターバンクを含む。さらに、信号解析方法又は信号合成方法の一実施形態は、低遅延解析フィルタリングステップ又は低遅延合成フィルタリングステップを含む。低遅延解析フィルター、低遅延合成フィルターの実施形態もまた説明されている。さらに、コンピュータ上で起動された際、前記方法のうちの一つを実行するためのプログラムコードを有するコンピュータプログラムも開示されている。本発明の一実施形態は、また、低遅延解析フィルターを有するエンコーダ又は低遅延合成フィルターを有するデコーダ、あるいはこれらに相当する方法のうちのいずれかを含む。
【0227】
本発明の方法の実施の条件に応じて、本発明の方法はハードウェアとして又はソフトウェアとして実施可能である。この実施は、デジタル記憶装置、特に、電気的に読み取り制御可能な信号を記憶しているディスク、CD又はDVDを使用して実行可能であり、これらのデジタル記憶装置は、本発明の方法の一実施形態を実行するためにプログラム可能なコンピュータ又はプロセッサと協働する。従って、本発明の実施形態は、一般的に、機械読み取り可能なキャリアに記憶されたプログラムコードを有するコンピュータプログラム製品であり、このプログラムコードは、コンピュータプログラム製品がコンピュータ又はプロセッサ上で起動された際、本発明の方法の一実施形態を実行するように働くものである。換言すれば、本発明の方法の実施形態は、コンピュータ又はプロセッサ上で起動された際、本発明の方法の実施形態のうちの少なくともいずれか一つを実行するためのプログラムコードを有するコンピュータプログラムである。これに関して、プロセッサは、CPU(中央処理ユニット)、ASIC(応用特定集積回路)又はさらに別の集積回路(IC)を含むものである。
【0228】
前記説明では、特に好ましい実施形態に関して述べたが、本発明の範囲内において形態やその他詳細な点で多様な変更を加え得ることは、当業者には明白であろう。ここで開示した広い概念の範囲内において、多様な変更を加えて異なる実施形態とすることは明白であり、以下の請求項から明らかである。
【0229】
付録
表1(ウィンドウ係数 w(n);N=960)
【表1a】
【0230】
【表1b】
【0231】
【表1c】
【0232】
【表1d】
【0233】
【表1e】
【0234】
【表1f】
【0235】
【表1g】
【0236】
【表1h】
【0237】
【表1i】
【0238】
【表1j】
【0239】
【表1k】
@0206
【0240】
【表1l】
【0241】
【表1m】
【0242】
【表1n】
【0243】
【表1o】
【0244】
【表1p】
【0245】
【表1q】
【0246】
【表1r】
【0247】
【表1s】
【0248】
【表1t】
【0249】
【表1u】
【0250】
表2(ウィンドウ係数 w(n);N=960)
【表2a】
【0251】
【表2b】
【0252】
【表2c】
【0253】
【表2d】
【0254】
【表2e】
【0255】
【表2f】
【0256】
【表2g】
【0257】
【表2h】
【0258】
【表2i】
【0259】
【表2j】
【0260】
【表2k】
【0261】
【表2l】
【0262】
【表2m】
【0263】
【表2n】
【0264】
【表2o】
【0265】
【表2p】
【0266】
【表2q】
【0267】
【表2r】
【0268】
表3(ウィンドウ係数 w(n);N=1024)
【表3a】
【0269】
【表3b】
【0270】
【表3c】
【0271】
【表3d】
【0272】
【表3e】
【0273】
【表3f】
【0274】
【表3g】
【0275】
【表3h】
【0276】
【表3i】
【0277】
【表3j】
【0278】
【表3k】
【0279】
【表3l】
【0280】
【表3m】
【0281】
【表3n】
【0282】
【表3o】
【0283】
【表3p】
【0284】
【表3q】
【0285】
【表3r】
【0286】
【表3s】
【0287】
【表3t】
【0288】
【表3u】
【0289】
【表3v】
【0290】
表4(ウィンドウ係数 w(n);N=1024)
【表4a】
【0291】
【表4b】
【0292】
【表4c】
【0293】
【表4d】
【0294】
【表4e】
【0295】
【表4f】
【0296】
【表4g】
【0297】
【表4h】
【0298】
【表4i】
【0299】
【表4j】
【0300】
【表4k】
【0301】
【表4l】
【0302】
【表4m】
【0303】
【表4n】
【0304】
【表4o】
【0305】
【表4p】
【0306】
【表4q】
【0307】
【表4r】
【0308】
【表4s】
【0309】
表5(ウィンドウ係数 w(n);M=512)
【表5a】
【0310】
【表5b】
【0311】
【表5c】
【0312】
【表5d】
【0313】
【表5e】
【0314】
【表5f】
【0315】
【表5g】
【0316】
【表5h】
【0317】
【表5i】
【0318】
【表5j】
【0319】
【表5k】
【0320】
表6(リフト係数 l(n);M=512)
【表6a】
【0321】
【表6b】
【0322】
【表6c】
【0323】
【表6d】
【0324】
【表6e】
【0325】
【表6f】
【0326】
表7(ウィンドウ係数 w(n);M=512)
【表7a】
【0327】
【表7b】
【0328】
【表7c】
【0329】
【表7d】
【0330】
【表7e】
【0331】
【表7f】
【0332】
【表7g】
【0333】
【表7h】
【0334】
【表7i】
【0335】
【表7j】
【0336】
表8(リフト係数 l(n);M=512)
【表8a】
【0337】
【表8b】
【0338】
【表8c】
【0339】
【表8d】
【0340】
【表8e】
【0341】
表9(ウィンドウ係数 w(n);M=480)
【表9a】
【0342】
【表9b】
【0343】
【表9c】
【0344】
【表9d】
【0345】
【表9e】
【0346】
【表9f】
【0347】
【表9g】
【0348】
【表9h】
【0349】
【表9i】
【0350】
【表9j】
【0351】
【表9k】
【0352】
表10(リフト係数 l(n);M=480)
【表10a】
【0353】
【表10b】
【0354】
【表10c】
【0355】
【表10d】
【0356】
【表10e】
【0357】
【表10f】
【0358】
表11(ウィンドウ係数 w(n);M=480)
【表11a】
【0359】
【表11b】
【0360】
【表11c】
【0361】
【表11d】
【0362】
【表11e】
【0363】
【表11f】
【0364】
【表11g】
【0365】
【表11h】
【0366】
【表11i】
【0367】
表12(リフト係数 l(n);M=480)
【表12a】
【0368】
【表12b】
【0369】
【表12c】
【0370】
【表12d】
【0371】
【表12e】
【技術分野】
【0001】
本発明は、合成フィルターバンク及び該フィルターバンクを含み、例えば最近のオーディオ符号化、オーディオ復号化又は他のオーディオデータ転送に関する応用分野において実施可能なシステムに関する。また、本発明は、ミキサー及び会議システムに関する。
【背景技術】
【0002】
最近のデジタルオーディオ処理は、概して、オーディオデータの直接転送又は直接保存と比較して、ビットレート、転送帯域幅及び保存スペースに関してかなりの節約を可能にする符号化体系に基づく。これは、オーディオデータを送信側で符号化し、符号化されたデータを受信側で復号化し、その後例えばリスナーに提供することによって達成される。
【0003】
このようなデジタルオーディオ処理システムは、典型的には標準化されたオーディオデータストリームのための記憶領域、ビットレート、特に実施効率の点における計算の複雑さ、多様な応用に適した達成可能な質、オーディオデータの符号化及び符号化されたオーディオデータの復号化の間に生じる遅延を含む広範囲のパラメータに関して実施され得る。換言すれば、デジタルオーディオシステムは、超低質転送から最高品質の転送及びオーディオデータの保存(例えば高品質音楽リスニング)に渡る多様な分野に応用できる。
【0004】
しかし、多くの場合、ビットレート、計算の複雑さ、質、遅延などの異なるパラメータ間での妥協が必要となる。例えば、低遅延デジタルオーディオシステムは、同等の質の高遅延オーディオシステムに比べて、転送帯域での高いビットレートを必要とする。
【発明の概要】
【課題を解決するための手段】
【0005】
それぞれが複数の順序良く整列された入力値を含む複数の入力フレームをフィルタリングするための合成フィルターバンクの一実施形態は、それぞれが順序良く整列された複数の出力サンプルを含み、入力フレームの時間表示である複数の出力フレームを生成するための周波数/時間コンバータを含む。この合成フィルターバンクの一実施形態は、また、複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。各ウィンドウ処理後フレームは、複数のウィンドウ処理後サンプルを含む。このウィンドウ処理部は、サンプル先行値に基づき、重複方式で、別の処理のための複数のウィンドウ処理後サンプルを生成するものである。この合成フィルターバンクの一実施形態は、また、開始部分と残余部分とを含む加算後フレームを生成するための重複/加算器を含む。加算後フレームは複数の加算後サンプルを含み、残余部分内の一つの加算後サンプルは、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィイドウ処理後サンプルを合算することで生成され、開始部分内の一つの加算後サンプルは、少なくとも2個の異なるウ
ィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成される。残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分の一つのサンプルを得るために合算されるウィンドウ処理後サンプルの個数よりも少なくとも1大きい。あるいは、ウィンドウ処理部は、それぞれのウィンドウ処理後フレームのために、出力サンプルの整列順序の上で少なくとも最初の出力値を無視するか、あるいは、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。重複/加算器は、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づく加算後サンプルを加算後フレームの剰余部分に与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づく加算後サンプルを開始部分に与える。
【0006】
それぞれがM個の順序良く整列された入力値yk(0),…、yk(M−1)を含む(M
は正の整数、kはフレーム指数を示す整数)複数の入力フレームをフィルタリングするための合成フィルターバンクの一実施形態は、それぞれが入力値yk(0),…、yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)
を含む複数の出力フレームを生成するための逆転IV型離散余弦変換周波数/時間コンバータを含む。この合成フィルターバンクの一実施形態は、また、それぞれが以下の式に基づく複数のウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。
【0007】
【数1】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である。この合成フィルターバンクの一実施形態は、また、以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器を含む。
【0008】
【数2】
この合成フィルターバンクの一実施形態は、さらに、以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後フレームを生成するためのリフターを含む。
【0009】
【数3】
l(0),…,l(M−1)は、実数値リフト係数である。
【0010】
デコーダの一実施形態は、それぞれが複数の順序良く整列された入力値を含む複数の入力フレームをフィルタリングするための合成フィルターバンクを含む。また、それぞれが複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である複数の出力フレームを生成するための周波数/時間コンバータを含む。デコーダの一実施形態は、また、それぞれが複数のウィンドウ処理後サンプルを含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含み、ウィンドウ処理部は、サンプル先行値に基づき、重複方式で、別の処理のための複数のウィンドウ処理後サンプルを生成するものである。デコーダの一実施形態は、さらに、開始部分と残余部分とを含む加算後フレームを生成するための重複/加算器を含む。加算後フレームは複数の加算後サンプルからなり、残余部分内の一つの加算後サンプルは、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算することで生成され、開始部分内の一つの加算後サンプルのために、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成される。残余部分の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分の一つのサンプルを得るために合算されるウィンドウ処理後サンプルの個数よりも少なくとも1多い。あるいは、ウィンドウ処理部は、それぞれのウィンドウ処理後フレームのために、出力サンプルの整列順序の上で少なくとも最初の出力値を無視するか、あるいは、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。重複/加算器は、加算後フレームの残余部分の加算後サンプルを、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき生成し、開始部分の加算後サンプルを、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づき生成する。
【0011】
デコーダの別の実施形態は、それぞれがM個の順序良く整列された入力値yk(0),
…、yk(M−1)を含む(Mは正の整数、kはフレーム指数を示す整数)複数の入力フレームをフィルタリングするための合成フィルターバンクを含む。また、それぞれが入力値yk(0),…、yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)を含む複数の出力フレームを生成するための逆転IV型離散余
弦変換周波数/時間コンバータを含む。このデコーダの一実施形態は、また、それぞれが以下の式に基づく複数のウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含む。
【0012】
【数4】
nはサンプル指数を示す整数であり、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である。このデコーダは、また、以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器を含む。
【0013】
【数5】
このデコーダの一実施形態は、さらに、以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後フレームを生成するためのリフターを含む。
【0014】
【数6】
l(0),…,l(M−1)は、実数値リフト係数である。
【0015】
それぞれが対応する時間領域フレームのスペクトル表示であり、それぞれ異なるソースから提供された複数の入力フレームをミキシングするためのミキサーの一実施形態は、複数の入力フレームをエントロピー復号化するためのエントロピーデコーダを含む。また、複数のエントロピー復号化後入力フレームを周波数領域で調整し、周波数領域での複数の調整後フレームを得るためのスケーラを含み、各調整後フレームはエントロピー復号化フレームに対応する。このミキサーの一実施形態は、また、周波数領域の加算後フレームを生成するために周波数領域の調整後フレームを加算する加算器を含み、さらに、ミキシング後フレームを得るために、加算後フレームをエントロピー符号化するためのエントロピーエンコーダを含む。
【0016】
会議システムの一実施形態は、それぞれが対応する時間領域フレームのスペクトル表示であり、それぞれが異なるソースから提供された複数の入力フレームをミキシングするためのミキサーを含み、また、複数の入力フレームをエントロピー復号化するためのエントロピーデコーダを含む。また、複数のエントロピー復号化後入力フレームを周波数領域で調整し、周波数領域での複数の調整後フレームを得るためのスケーラを含み、各調整後フレームはエントロピー復号化フレームに対応する。この会議システムの一実施形態は、また、周波数領域の加算後フレームを生成するために周波数領域の調整後フレームを加算する加算器を含み、さらに、ミキシング後フレームを得るために、加算後フレームをエントロピー符号化するためのエントロピーエンコーダを含む。
【図面の簡単な説明】
【0017】
以下のような添付図面を参照して、本発明の実施形態を説明する。
【図1】解析フィルターバンクのブロック図である。
【図2】解析フィルターバンクの一実施形態による処理中の入力フレームの概要図である。
【図3】合成フィルターバンクのブロック図である。
【図4】合成フィルターバンクの一実施形態による処理中の出力フレームの概要図である。
【図5】解析フィルターバンク及び合成フィルターバンクの実施形態の解析ウィンドウ関数及び合成ウィンドウ関数の概要図である。
【図6】解析ウィンドウ関数及び合成ウィンドウ関数の正弦ウィンドウ関数との比較を示す。
【図7】異なるウィンドウ関数の更なる比較を示す。
【図8】図7に示す三種類のウィンドウ関数のプレエコー効果の比較を示す。
【図9】人間の耳の一般的な一時的マスキング特性を示す概略図である。
【図10】正弦ウィンドウと低遅延ウィンドウの周波数応答に関する比較を示す。
【図11】正弦ウィンドウと低重複ウィンドウの周波数応答に関する比較を示す。
【図12】エンコーダの一実施形態を示す。
【図13】デコーダの一実施形態を示す。
【図14A】エンコーダ及びデコーダを含むシステムを示す。
【図14B】図14Aのシステムに内在する様々な遅延源を示す。
【図15】遅延の比較を示す表である。
【図16】ミキサーの一実施形態を含む会議システムの一実施形態を示す。
【図17】サーバー又は媒体制御ユニットとしての会議システムの別の実施形態を示す。
【図18】媒体制御ユニットのブロック図を示す。
【図19】効率的な実施としての合成フィルターバンクの一実施形態を示す。
【図20】合成フィルターバンク又は解析フィルターバンク(AAC ELDコーデック)の一実施形態の計算効率の評価を示す表である。
【図21】AAC LDコーデックの計算効率の評価を示す表である。
【図22】AAC LCコーデックの計算の複雑性の評価を示す表である。
【図23A】異なる種類のコーデックのRAM及びROMのメモリー効率の評価に関する比較を示す。
【図23B】異なる種類のコーデックのRAM及びROMのメモリー効率の評価に関する比較を示す。
【図24】MUSHRAテストのために使用したコーデックのリストである。
【発明を実施するための形態】
【0018】
図1〜24は、本発明に係る解析フィルターバンク、合成フィルターバンク、エンコーダ、デコーダ、ミキサー、会議システムの多様な実施形態及び他の実施形態の機能的特性及び特徴を説明するためのブロック図及び他の図表である。合成フィルターバンクを説明する前に、図1,2を参照して、解析フィルターバンクの一実施形態及び解析フィルターバンクの一実施形態により処理される入力フレームについてより詳細に説明する。
【0019】
図1は、ウィンドウ処理部110及び時間/周波数コンバータ120を含む解析フィルターバンク100の第1実施形態を示す。より詳細には、ウィンドウ処理部110は、それぞれが複数の順序良く整列された入力サンプルを含む複数の時間領域入力フレームを入力部110iで受け取る。ウィンドウ処理部110は、さらに、複数のウィンドウ処理後フレームを生成し、これらのフレームはウィンドウ処理部110の出力側110Oで出力
される。各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、ウィンドウ処理部110は、また、後に図2を参照してより詳細に説明するが、サンプル先行値を使用して重複方式で複数のウィンドウ処理後フレームを処理する。
【0020】
時間/周波数コンバータ120は、ウィンドウ処理部110によって出力されるウィンドウ処理後フレームを受け取り、複数の出力値を含む出力フレームを出力する。この出力フレームはウィンドウ処理後フレームのスペクトル表示である。
【0021】
解析フィルターバンク100の一実施形態の機能特性と特徴を説明するために、図2では、5個の入力フレーム130−(k−3),130−(k−2),130−(k−1),130−k,130−(k+1)を、図2の下部に矢印140で示すように時間関数として概略的に示す。
【0022】
以下に、図2中点線で示されている入力フレーム130−kを参照して、解析フィルターバンク100の一実施形態の作用をより詳細に説明する。この入力フレーム130−kに対して、入力フレーム130−(k+1)は未来の入力フレームであり、他の3個の入力フレーム130−(k−1),130−(k−2),130−(k−3)は過去の入力フレームである。つまり、kはフレーム指数を示す整数であり、このフレーム指数が大きければ大きいほど、その入力フレームがより「未来に」位置していることを示す。従って、この指数kが小さければ小さいほど、その入力フレームはより「過去に」位置している。
【0023】
各入力フレーム130は少なくとも二つの部分150を含み、これらの長さは同じである。より詳細には、図2に概略的に示す解析フィルターバンク100の一実施形態の場合、入力フレーム130−k及び他の入力フレーム130は部分150−2,150−3,150−4を含み、これらの部分は入力サンプルの点で長さが等しい。入力フレーム130のこれらの各部分150はM個(Mは正の整数)の入力サンプルを含む。さらに、入力フレーム130はM個の入力サンプルを含み得る第1部分150−1を有する。この場合、第1部分150−1は入力フレーム130の初期部分160を含み、後に詳述するように、この初期部分160は入力サンプル又は他の値を含んでいてもよい。しかし、解析フィルターバンクの本実施形態の詳細な実施状況に応じて、第1部分150−1は初期部分160を含まなくてもよい。換言すれば、第1部分150−1は、原則的に、他の部分150−2,150−3,150−4よりも少ない数の入力サンプルを含むものであってもよい。この場合の例についても後に詳述する。
【0024】
あるいは、第1部分150−1は別として、他の部分150−2,150−3,150−4は典型的には同じ個数Mの入力サンプルを含み、この数Mはいわゆるサンプル先行値170に等しい。サンプル先行値170は二つの連続する入力フレーム130が時間に関して互いに移動させられる入力サンプルの個数を示すものである。つまり、図1,2に示されている解析フィルターバンク100の一実施形態の場合、入力フレーム130はウィンドウ処理部110によって重複方式出処理され、サンプル先行値M(矢印170)は部分150−2,150−4の長さと同じである。
【0025】
従って、入力フレーム130−k,130−(k+1)は、どちらの入力フレームも意味のある個数の入力サンプルを含むという点で等しいが、これらの入力サンプルは、これら二つの入力フレーム130の個々の部分150に関して移動させられる。より詳細には、入力フレーム130−kの第3部分150−3は入力フレーム130−(k+1)の第4部分150−4に等しい。同様に、入力フレーム130−kの第2部分150−2は入力フレーム130−(k+1)の第3部分150−3に等しい。
【0026】
さらに換言すると、図2に示す実施形態の場合、フレーム指数(k+1)の入力フレームに関してサンプルが移動させられているという事実はさておき、フレーム指数k,(k+1)に対応する二つの入力フレーム130−k,130−(k+1)は、二つの部分150に関して同じである。
【0027】
前述の二つの入力フレーム130−k,130−(k+1)はさらに入力フレーム130−kの第1部分150−1からの少なくとも一つのサンプルを共有している。より詳しくは、図2の実施形態の場合、入力フレーム130−kの第1部分150−1内の、初期部分160ではない全ての入力サンプルは入力フレーム130−(k+1)の第2部分150−2の一部であるように見える。しかし、前の入力フレーム130−kの初期部分160に対応する第2部分の入力サンプルは、解析フィルターバンクの一実施形態の詳細な実施状況により、各入力フレーム130の初期部分160の入力値又は入力サンプルに基づくものであってもよいし、そうでなくてもよい。
【0028】
第1部分150−1内の入力サンプルの個数が他の部分150−2〜150−4の入力サンプルの個数と等しくなるように、初期部分160が存在する場合、原則的に、二つの異なる場合が考慮されるべきである。また、これら二つの「極端な」場合の間の中間的な場合もまた可能であり、これらについても後に説明する。
【0029】
初期部分160が、初期部分160の入力サンプルが時間領域のオーディオ信号を表示するという点で「意味のある」符号化された入力サンプルを含む場合、これらの入力サンプルは次の入力フレーム130−(k+1)の部分150−2の一部となる。しかし、解析フィルターバンクの実施形態の多くの応用において、この場合はさらなる遅延を生じさせる可能性があるので、最適な実施ではない。
【0030】
しかし、初期部分160が「意味のある」入力サンプルを含まない場合、この場合は入力値と称することもでき、初期部分160のこれらの入力値はランダム値、既定値、固定値、適応可能な値又はプログラム可能な値を含んでいてもよく、これらは、例えば、本実施形態の解析フィルターバンクのウィンドウ処理部110の入力部110iに接続し得るユニットやモジュールによるアルゴリズム計算、決定又は他の確定によって与えられる。しかしこの場合、このモジュールは、典型的には、入力フレーム130−(k+1)として、第2部分内の、前の入力フレームに相当する部分に、オーディオ信号に正に対応する「意味のある」入力サンプルを与える必要がある。ウィンドウ処理部110の入力部110iに接続されたユニット又はモジュールはまた、典型的には、入力フレーム130−(k+1)の第1部分150−1内にオーディオ信号に対応する意味のある入力信号を与える必要がある。
【0031】
つまり、この場合、フレーム指数kに対応する入力フレーム130−kは、十分な入力サンプルが収集された後に解析フィルターバンク100の実施形態に与えられるので、この入力フレームの第1部分150−1はこれらの入力サンプルで埋められている。そして、第1部分150−1の残りの部分、つまり初期部分160は入力サンプル又は入力値で埋められるが、これらはランダム値や、既定値、固定値、適応可能な値又はプログラム可能な値などの他のいかなる値、又はいかなる値の組み合わせであってもよい。原則的に、典型的なサンプリング周波数と比較して、これは非常に高速で行われ得るので、入力フレーム130−kの初期部分160にこのような「意味のある」入力サンプルを与えるのに、典型的なサンプリング周波数、つまり数キロヘルツ〜数百キロヘルツの範囲のサンプリング周波数において、重大な時間を要するわけではない。
【0032】
ユニット又はモジュールは、オーディオ信号に基づき入力サンプルを収集し続け、フレーム指数k+1に対応する次の入力フレーム130−(k+1)にこれらの入力サンプル
を投入する。換言すれば、モジュール又はユニットは、入力フレーム130−kの第1部分150−1を完全に埋めるための十分な入力サンプルをこのフレームに与えるために入力サンプル収集を終了するわけではないが、十分な入力サンプルが入手可能となるや否や、解析フィルターバンク100の実施形態にこの入力フレームを提供する。これにより、第1部分150−1は、初期部分160を除き、入力サンプルで埋められる。
【0033】
十分な入力サンプルが集まるまで、引き続く入力サンプルは次の入力フレーム130−(k+1)の第2部分150−2を埋めるのに使用され、この次の入力フレームの第1部分150−1が、このフレームの初期部分160が始まるまで埋められる。そして、再び、初期部分160はランダム値又は他の「意味のない」入力サンプルや入力値で埋められる。
【0034】
結果的に、図2の実施形態の場合には部分150−2〜150−4の長さに等しいサンプル先行値170が図2に示され、サンプル先行値170を示す期間は、入力フレーム130−kの初期部分160始まりから入力フレーム130−(k+1)の初期部分160の始まりまでとして示されている。
【0035】
さらに、前記二つの場合において、初期部分160に相当するオーディオ信号内の事象の入力サンプルは各入力フレーム130−kには存在しないが、次の入力フレーム130−(k+1)の第2部分150−2の枠内に存在する。
【0036】
換言すれば、解析フィルターバンク100の多くの実施形態において、初期部分160に相当する入力サンプルは各入力フレーム130−kの一部ではなく、後の入力フレーム130−(k+1)に影響を及ぼすだけのものであるので、出力フレームは低減された遅延を有するものである。つまり、解析フィルターバンクの一実施形態は、第1部分150−1は他の部分150−2〜150−4の入力サンプルと同じ個数の入力サンプルを含む必要がないので、多くの実施状況において、入力フレームに基づく出力フレームをより速く与えることができるという利点を有している。この「欠如部分」の情報は、次の入力フレーム130の第2部分150−2の枠内に含まれている。
【0037】
しかし、前述したように、どの入力フレーム130も初期部分160を含まない場合もある。この場合、各入力フレーム130の長さはもはやサンプル先行値170又は部分150−2〜150−4の長さの整数倍ではない。より詳細には、この場合、各入力フレーム130の長さは、ウィンドウ処理部110にそれぞれの入力フレームを提供するモジュール又はユニットが第1部分150−1を完全に提供する前に停止する入力サンプルの個数分だけ、サンプル先行値の長さの整数倍とは異なる。つまり、このような入力フレーム130の全体の長さは、第1部分150−1の長さと他の部分150−2〜150−4の長さとの違いだけ、サンプル先行値の整数倍とは異なる。
【0038】
しかし、前述したような二つの場合には、モジュール又はユニットは、例えばサンプラー、サンプル/ホールド部、サンプラー/ホールダー又は量子化装置を含んでいるが、既定の個数の入力サンプルの前に、各入力フレーム130を提供し始めてもよい。これにより、各入力フレーム130は、第1部分150−1が対応する入力サンプルによって完全に埋められる場合と比較して遅延が小さい解析フィルターバンク100の実施形態に与えられ得る。
【0039】
すでに述べたように、ウィンドウ処理部110の入力部110iに接続され得るユニット又はモジュールは、例えばサンプラー及び/又はアナログ/デジタル変換器(A/Dコンバータ)のような量子化装置を含んでいてもよい。しかし、実施の詳細な状況により、このようなモジュール又はユニットは、オーディオ信号に相当する入力サンプルを記憶す
るための何らかのメモリー又はレジスターをさらに有していてもよい。
【0040】
また、このようなユニット又はモジュールは、各入力フレームをサンプル先行値Mに基づき、重複方式で提供してもよい。つまり、一つの入力フレームは、フレーム又はブロック毎に収集されるサンプルの個数と比較して、その2倍以上の個数の入力サンプルを含む。このようなユニット又はモジュールは、多くの実施形態において、二つの連続して生成される入力フレームが、時間に関してサンプル先行値の分だけ移動させられる複数のサンプルに基づくように適応される。この場合、二つの連続して生成される入力フレームのうちの後の入力フレームは、最新のサンプルとしての少なくとも一つの新しい出力サンプルと、これら二つの入力フレームのうちの先のフレームのサンプル先行値分だけ後に移動させられた前記複数のサンプルに基づくものである。
【0041】
しかし、解析フィルターバンク100の一実施形態が、各入力フレーム130が4個の部分150を含み、第1部分150−1が他の部分と同じ個数の入力サンプルを含む必要がないという場合について説明してきたが、図2に示すような部分150が4個でなくてもよい。より詳細には、入力フレーム130は、原則的に、サンプル先行値M(矢印170)の2倍以上である任意の個数の入力サンプルを含み、初期部分160が存在する場合、初期部分160内の入力値の個数はこの個数内である。フレームを使用するシステムに基づく実施形態のいくつかの実施状況を考慮すると、各部分がサンプル先行値と同じ数のサンプルを含むことが有益であろう。つまり、解析フィルターバンク100の一実施形態の構成において、それぞれがサンプル先行値M(矢印170)と同じ長さである部分が数個使用され、フレームに基づくシステムの場合には、その数は3以上である。別の場合には、原則的に、サンプル先行値の2倍よりも大きい任意の個数の入力サンプルが各入力フレーム130に使用できる。
【0042】
解析フィルターバンク100の一実施形態のウィンドウ処理部110は、図1に示すように、前述したようにサンプル先行値M(矢印170)に基づき重複方式で、対応する入力フレーム130から複数のウィンドウ処理後フレームを生成する。より詳しくは、ウィンドウ処理部110の詳細な実施状況により、ウィンドウ処理部110は重み付け関数に基づきウィンドウ処理後フレームを生成し、重み付け関数は、例えば人間の耳の聴覚特性をモデルとする対数的依存性を含んでいてもよい。しかし、重み付け関数モデル化や人間の耳の心理音響特性等の他の重み付け関数もまた実施可能である。解析フィルターバンク100の一実施形態において、ウィンドウ処理部は、例えば、入力フレームの各入力サンプルが、実数値サンプル特定のウィンドウ係数を含む実数値ウィンドウ関数によって掛け算されるように実施できる。
【0043】
このような実施の一例は図2に示されている。より詳細には、図2は可能なウィンドウ関数180の概略図であり、図1に示されているように、ウィンドウ処理部110はこのウィンドウ関数180を使用して、対応する入力フレーム130からウィンドウ処理後フレームを生成する。解析フィルターバンク100の詳細な実施状況により、ウィンドウ処理部110は、さらに、時間/周波数コンバータ120にウィンドウ処理後フレームを与えることができる。
【0044】
ウィンドウ処理部110は、各入力フレーム130に基づき、ウィンドウ処理後フレームを生成し、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む。より詳細には、ウィンドウ処理部110は多様な構成が可能であり、入力フレーム130の長さ及び時間/周波数コンバータ120に与えられるウィンドウ処理後フレームの長さにより、ウィンドウ処理後フレームをどのように生成するかに関して、ウィンドウ処理部110のいくつかの構成が可能である。
【0045】
例えば、入力フレーム130は初期部分160を含み、図2に示す実施形態の場合で、各入力フレーム130の第1部分150−1が他の部分150−2〜150−4と同じ個数の入力値又は入力サンプルを含むならば、ウィンドウ処理後フレームが、入力フレーム130に含まれる入力サンプル又は入力値と同じ個数のウィンドウ処理後サンプルを含むように、ウィンドウ処理部110を構成できる。この場合、前述したような、入力フレーム130の構造のために、初期部分160内の入力値は別にして、入力フレームの全ての入力サンプルがウィンドウ処理部110によって前述のウィンドウ関数に基づき処理されてもよい。この場合、初期部分160の入力値は既定値又は既定範囲内の少なくとも一つの値にセットされてもよい。
【0046】
解析フィルターバンク100の一実施形態においては、既定値は例えば0であるが、他の実施形態においては、別の値が好ましい場合もある。原則的に、入力フレーム130の初期部分160に対していかなる値をも使用でき、このことは、これらの値はオーディオ信号の点で重要性がないということを意味している。例えば、既定値は、オーディオ信号の入力サンプルの典型的な範囲の外にある値であってもよい。例えば、ウィンドウ処理後フレームの入力フレーム130の初期部分160に相当する部分内のウィンドウ処理後サンプルは、入力オーディオ信号の最大振幅の2倍以上の値にセットされてもよく、このような値はさらに処理されるべき信号ではないことを示す。他の値、例えば実施特定の絶対値を有する負の値を使用してもよい。
【0047】
さらに、解析フィルターバンク100の実施形態において、入力フレーム130の初期部分160に相当するウィンドウ処理後フレームのウィンドウ処理後サンプルは、また、既定範囲内の一つ又はそれ以上の値にセットされてもよい。原則的に、このような既定範囲は、オーディオ体験の点で意味のない小さな値の範囲であるので、その出力は聴覚的に判別不可能であるか、実際のリスニングが大きく損なわれることがない。この場合、既定範囲は、例えば、既定の、プログラム可能な、適応可能な又は固定の最大閾値以下の絶対値を有する値の集合として表わされてもよい。このような閾値は、例えば、10s又は2s(sは詳細な実施状況に基づく整数)としての10の力、2の力として表わされてもよい。
【0048】
しかし、原則的に、既定範囲はまた、いくつかの意味のある値よりも大きい値を含んでいてもよい。より詳細には、既定範囲は、既定の、プログラム可能な、適応可能な又は固定の最小閾値以上の絶対値を有する値を含んでいてもよい。このような最少閾値は、原則的にここでも、2s又は10s(sは詳細な実施状況に基づく整数)の力としての2の力、10の力として表わされてもよい。
【0049】
デジタル実施において、既定範囲が小さな値を含む場合、既定範囲は例えば最も非重要なビット又は複数の非重要なビットをセットする又はセットしないことで表現できる値を含み得る。既定範囲が大きな値を含む場合、前述したように、最も重要なビット又は複数の重要なビットをセットする又はセットしないことで表現できる値を含んでいてもよい。しかし、既定値及び既定範囲は他の値、例えば、前述の値又は閾値を係数で掛け算することにより算出できる値を含むものであってもよい。
【0050】
解析フィルターバンク100の一実施形態の詳細な実施により、ウィンドウ処理部110は、また、出力部110oに与えられるウィンドウ処理後フレームが入力フレーム130の初期部分160の入力サンプルに相当するウィンドウ処理後サンプルを含まないように処理するものであってもよい。この場合、ウィンドウ処理後フレームの長さと入力フレーム130の長さは、例えば初期部分160の長さ分だけ違っていてもよい。換言すれば、この場合、ウィンドウ処理部110は、前述したような時間に関する入力サンプルの順番において少なくとも最新の1個の入力サンプルを無視するように構成されてもよい。つ
まり、解析フィルターバンク110のいくつかの実施形態において、ウィンドウ処理部110は、入力フレーム130の初期部分160の一つ又はそれ以上あるいは全ての入力値又は入力サンプルを無視するように構成してもよい。この場合、ウィンドウ処理後フレームの長さは、入力フレーム130の長さと入力フレーム130の初期部分160の長さとの差に等しい。
【0051】
さらに別の選択肢として、前述したように、各入力フレーム130は初期部分160を全く含んでいなくてもよい。この場合、第1部分150−1は、各部分150の長さ又は入力サンプルの個数の点で、他の部分150−2〜150−4とは異なっている。この場合、ウィンドウ処理後フレームは、入力フレーム130の第1部分150−1に相当するウィンドウ処理後フレームの第1部分が、入力フレーム130の他の部分150に相当する部分と同じ個数のウィンドウ処理後サンプル又はウィンドウ処理後の値を含むものであってもよく、あるいはそうでなくてもよい。この場合、付加的なウィンドウ処理後サンプル又はウィンドウ処理後の値は、前述したように、既定値又は既定範囲内の少なくとも一つの値にセットされ得る。
【0052】
さらに、解析フィルターバンク100の実施形態において、ウィンドウ処理部110は、入力フレーム130及びそれに起因するウィンドウ処理後フレームの両方が同じ個数の値又はサンプルを含み、入力フレーム130及びそれに起因するウィンドウ処理後フレームの両方が初期部分160又は初期部分160に相当するサンプルを含まないように処理するものであってもよい。この場合、入力フレーム130の第1部分150−1及びウィンドウ処理後フレームのこれに相当する部分は、入力フレーム130の他の部分150−2〜150−4及びウィンドウ処理後フレームのこれらに相当する部分と比較して、少ない個数の値又はサンプルを含む。
【0053】
ここで注意すべきことは、原則的に、ウィンドウ処理後フレームは、初期部分160を含む入力フレーム130の長さか又は初期部分160を含まない入力フレーム130の長さと同じである必要はないということである。原則的に、ウィンドウ処理部110は、ウィンドウ処理後フレームが入力フレーム130の初期部分160の値に相当する一つ又はそれ以上の値又はサンプルを含むように処理するものであってもよい。
【0054】
これに関して、解析フィルターバンク100のいくつかの実施形態において、初期部分160は、入力フレーム130の入力値又は入力サンプルの連続部分に相当するサンプル指数nの連続部部分を示すか又は少なくとも含むことにも注目すべきである。従って、それに対応する初期部分を含むウィンドウ処理後フレームもまた、ウィンドウ処理後フレームの初期部分に相当するサンプル指数nのウィンドウ処理後サンプルの連続部分を含み、ウィンドウ処理後フレームの初期部分は、ウィンドウ処理後フレームの開始部分とも称される。初期部分つまり開始部分を除くウィンドウ処理後フレームの残りの部分は、残余部分と称される場合もある。
【0055】
既に述べたように、例えば、対応する入力サンプルに基づく対数計算によるウィンドウ処理後サンプルの生成に関して、解析フィルターバンク100の実施形態におけるウィンドウ処理部110は、ウィンドウ処理後フレームの入力フレーム130の初期部分160(仮に存在するとして)に相当しないウィンドウ処理後の値又はウィンドウ処理後サンプルを、心理音響モデルを取り入れ得るウィンドウ関数に基づき生成するものであってもよい。また解析フィルターバンク100の別の実施形態においては、ウィンドウ処理部110は、各入力サンプルを定義集合によって定義されるウィンドウ関数のサンプル特有のウィンドウ係数で掛けることによって、ウィンドウ処理後サンプルを生成するように構成できる。
【0056】
解析フィルターバンク100の多くの実施形態におけるウィンドウ処理部110では、例えばウィンドウ係数によって特徴づけられるウィンドウ関数は定義集合の中心に関して非対称であってもよい。さらに、解析フィルターバンク100の多くの実施形態において、ウィンドウ関数は、その全てのウィンドウ係数のうちの最大絶対値の10%、20%又は30%、50%よりも大きい絶対値を有するウィンドウ係数をその定義集合の中心よりも第1の半分に含み、全てのウィンドウ係数のうちの最大絶対値の前述したパーセントよりも小さい絶対値を有するウィンドウ係数をその定義集合の中心よりも第2の半分に含む。このようなウィンドウ関数は、図2中、各入力フレーム130に関するウィンドウ関数180として概略的に示されている。ウィンドウ関数のさらなる例は、図5〜11を参照して説明するが、これらの図や以下の説明で示されるような解析フィルターバンク及び合成フィルターバンクのいくつかの実施形態によって可能となるスペクトル特性及び他の特性についても簡単に説明する。
【0057】
ウィンドウ処理部110とは別に、解析フィルターバンク100の実施形態は時間/周波数コンバータ120をも含み、これにはウィンドウ処理部110からウィンドウ処理後フレームが与えられる。時間/周波数コンバータ120は、各ウィンドウ処理後フレームに対して、そのウィンドウ処理後フレームのスペクトル表示である一つ又は複数の出力フレームを生成するものである。後に詳述するように、時間/周波数コンバータ120は、入力フレームの入力サンプルの個数又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数と比較して、その半分よりも少ない個数の出力値を含む出力フレームを生成するものであってもよい。
【0058】
また、時間/周波数コンバータ120は、一つの出力フレームの出力サンプルの個数が一つの入力フレームの入力サンプルの個数の半分よりも少なくなるように離散余弦変換及び/又は離散正弦変換に基づくものであってもよい。解析フィルターバンク100の可能な実施形態の詳細を簡単に説明する。
【0059】
解析フィルターバンクのいくつかの実施形態において、時間/周波数コンバータ120は、入力フレーム130の第1部分150−1の開始部分とは異なるが各部分150−2,150−3,150−4の入力サンプルの個数、つまりサンプル先行値と同じ個数の出力サンプルを出力するように構成されている。換言すれば、解析フィルターバンク100の多くの実施形態において、出力サンプルの個数は、サンプル先行値を表す整数M、つまり入力フレーム130の前述の部分150の長さと同じである。多くの実施形態において、典型的なサンプル先行値Mは480又は512である。しかし、解析フィルターバンクの実施形態において、例えば、M=360のような他の整数Mも簡単に実行可能であることにも注目すべきである。
【0060】
さらに、注目すべきことは、解析フィルターバンクのいくつかの実施形態において、入力フレーム130の初期部分160、つまり入力フレーム130の第1部分150−1と他の部分150−2,150−3,150−4との間のサンプル数の差がM/4に等しいことである。つまり、M=480の解析フィルターバンク100の実施形態の場合、初期部分160の長さつまり前述の差は120個のサンプル(=M/4)分であり、M=512の場合は、初期部分160つまり前述の差は128(=M/4)である。他の多様な長さも適用できるが、解析フィルターバンク100の実施形態において、これらの長さに制限されるわけではない。
【0061】
先に述べたように、時間/周波数コンバータ120は、例えば離散余弦変換又は離散正弦変換に基づいていてもよいので、解析フィルターバンクの実施形態は、また、修正離散余弦変換(MDCT)コンバータの入力フレームの長さを示すパラメータN=2Mに関して議論される場合もある。解析フィルターバンク10の前述の実施形態では、パラメータ
Nは960(M=480の場合)又は1024(M=512の場合)である。
【0062】
後に詳述するように、解析フィルターバンク100の実施形態は、オーディオの質を全くあるいは重大には低下させずにデジタルオーディオ処理の低遅延化を可能にするという利点がある。つまり、解析フィルターバンクの一実施形態は、例えば(オーディオ)コーデック(コーデック=コーダ/デコーダ又は符号化/復号化)の構成において、低遅延を提供し、現存の多くのコーデックに比べて少なくともかなり良い周波数特性と向上したプレエコー特性を有する超低遅延符号化モードを実施する機会を提供する。さらに、会議システムの実施形態に関して後に詳述するように、解析フィルターバンク100の実施形態及び解析フィルターバンク100の一実施形態を含むシステムの実施形態において、いかなる種類の信号にも対応する一つのウィンドウ関数が前記利点を達成できる。
【0063】
強調すべきは、解析フィルターバンク100の実施形態の入力フレームは、図2に示されているような4つの部分150−1〜150−4を含む必要はないということである。これは簡便さのために選択された一つの可能性を示しているにすぎない。従って、ウィンドウ処理部も、ウィンドウ処理後フレームが4つの対応する部分を含むように構成する必要もないし、また、時間/周波数コンバータ120も4つの部分を有するウィンドウ処理後フレームに基づき出力信号を出力できるように構成されたものである必要はない。これは、解析フィルターバンク100のいくつかの実施形態の簡単及び明白な説明を可能とするために、図2に関連して選択されただけのものである。しかし、入力フレーム130の長さに関する説明は、初期部分160と入力フレーム130内の初期部分の存在に関する別の選択肢に関して説明するように、ウィンドウ処理後フレームの長さにも当てはめられる。
【0064】
以下に、解析フィルターバンクの一実施形態の可能な例として、エラー対応改良オーディオコーデック低遅延実施(ER AAC LD)の解析フィルターバンクを低遅延(解析フィルターバンク)とも称される解析フィルターバンク100の一実施形態に改造するための変更点について説明する。つまり十分な低遅延を達成するために、以下に説明するように、ER AAC LDの標準的なエンコーダに対していくつかの変更を加えることが有効である。
【0065】
この場合、解析フィルターバンク100の一実施形態のウィンドウ処理部110は、以下の式に基づきウィンドウ処理後サンプルzinを生成する。
【0066】
【数7】
iはウィンドウ処理後フレーム及び/又は入力フレームのフレーム指数又はブロック指数を示す整数であり、nは−NとN−1の間の範囲内のサンプル指数を示す整数である。
【0067】
換言すれば、入力フレーム130の構成に初期部分160を含む実施形態の場合、サンプル指数n=−N,…,N−1のための前記式を実行することによってウィンドウ処理が過去に拡張される。図5〜11を参照して後に詳述するように、w(n)はウィンドウ関数に相当するウィンドウ係数である。解析フィルターバンク100の一実施形態において、ウィンドウ関数w(n−1−n)の偏角の比較からわかるように、合成ウィンドウ関数wの順番を逆転させることにより、それを解析ウィンドウ関数として使用している。図3,4を参照して説明するように、合成フィルターバンクの一実施形態のウィンドウ関数は解析ウィンドウ関数に基づき形成されてもよく、解析ウィンドウ関数を(例えば定義集合
の中心に関して)鏡映することで、鏡映版を得てもよい。図5は低遅延ウィンドウ関数をプロットしたものであり、ここでは、解析ウィンドウは合成ウィンドウの単なる時間逆転コピーである。これに関して注意すべきことは、x´i,nはブロック指数i及びサンプル
指数nに対応する入力サンプル又は入力値を表しているということである。
【0068】
つまり、(例えばコーデックの形態での)前述のER AAC LD実施は正弦ウィンドウに基づく1024個又は960個の値のウィンドウ長さNに基づくものであるが、これと比較して、解析フィルターバンク100のウィンドウ処理部110に含まれる低遅延ウィンドウのウィンドウ長さは2N(=4M)であり、ウィンドウ処理が過去に拡張されて行われる。
【0069】
図5〜11を参照してより詳細に説明するように、n=0,…,2N−1のためのウィ
ンドウ係数w(n)は、付録の表1、またいくつかの実施形態の場合にはN=960及びN=1024のための付録の表3に示される関係に従うものであってもよい。さらに、ウィンドウ係数は、いくつかの実施形態の場合にはN=960及びN=1024それぞれのための付録の表2,4に示される値を含んでいてもよい。
【0070】
時間/周波数コンバータ120に関して、ER AAC LDコーデックの構成で実施されるような核MDCTアルゴリズム(MDCT=修正離散余弦変換)はほとんど変更されず、前述のような長いウィンドウを含み、nは0〜N−1の範囲ではなく−N〜N−1である。出力フレームxi,kのスペクトル係数又は出力値は、以下の式に基づき生成され
る。
【0071】
【数8】
zi,nは、前述したように、サンプル指数n及びブロック指数iに対応するウィンドウ
処理後フレームのウィンドウ処理後サンプル、又は時間/周波数コンバータ120へのウィンドウ処理後の一連の入力である。さらに、kはスペクトル係数指数を示す整数であり、Nは出力フレームの出力値の個数の2倍を示す整数、あるいは前述したように、ER AAC LDコーデックで適用されるようなウィンドウシーケンス値に基づく一つの変換ウィンドウのウィンドウ長さである。整数n0はオフセット値であり、以下のように求め
られる。
【0072】
【数9】
図2に関して説明したように、入力フレーム130の詳細な長さにより、時間/周波数コンバータは、入力フレーム130の初期部分160に相当するウィンドウ処理後サンプルを含むウィンドウ処理後フレームに対応するものであってもよい。換言すれば、M=480つまりN=960の場合、前記式は1920個のウィンドウ処理後サンプルの長さを有するウィンドウ処理後フレームに基づく。ウィンドウ処理後フレームが入力フレーム130の初期部分160に相当するウィンドウ処理後サンプルを含まない解析フィルターバ
ンク100の一実施形態において、前述のようなM=480の場合、ウィンドウ処理後フレームは1800個のウィンドウ処理後サンプルの長さを有する。この場合、前記の式は、これに対応する式が実行されるように変更され得る。ウィンドウ処理部110において、これは、例えばウィンドウ処理後フレームの第1部分が他の部分と比べて、M/4=N/8個のウィンドウ処理後サンプルが足りない場合、−N,…,7N/8−1の範囲のサンプル指数nとなる。
【0073】
従って、時間/周波数コンバータ120の場合、前記式は、ウィンドウ処理後フレームの初期部分つまり開始部分のウィンドウ処理後サンプルを含まないように合算指数を変更することによって、簡単に適合させられる。もちろん、前述したように、入力フレーム130の初期部分160が別の長さの場合又はウィンドウ処理後フレームの第1部分の長さが他の部分の長さと異なる場合、更なる変更も容易にできる。
【0074】
換言すれば、解析フィルターバンク100の一実施形態の詳細な実施状況によっては、前記のような式によって示される全ての計算が必要であるわけではない。解析フィルターバンクのさらに別の実施形態では、計算量がさらに低減でき、そして原則的に計算効率を高めることになる場合をも可能である。合成フィルターバンクの例は、図19を参照して後に説明する。
【0075】
合成フィルターバンクの一実施形態に関しても後に説明するように、特に解析フィルターバンク100の一実施形態は、前述のER AAC LDコーデックから派生するいわゆるエラー対応改良オーディオコーデック超低遅延型(ER AAC ELD)の構成で実現できる。前述したように、低遅延フィルターバンクを解析フィルターバンク100の一実施形態として適用するために、ER AAC LDコーデックの解析フィルターバンクが解析フィルターバンク100の一実施形態となるように変更される。解析フィルターバンク100の一実施形態及び/又は後に詳述するような合成フィルターバンクの一実施形態を含むER AAC ELDコーデックは、一般的なビットレートの低いオーディオ符号化を非常に低遅延の符号化/復号化が必要とされる応用まで拡張して使用できる可能性を提供する。例えば完全二重のリアルタイム通信の分野から例が挙げられ、この分野において、解析フィルターバンク、合成フィルターバンク、デコーダ、エンコーダ、ミキサー、会議システムのような多様な実施形態が可能である。
【0076】
以下に本発明のさらに別の実施形態を詳細に説明するが、同じ又は類似の機能特性を有する物、構成及び部品は同じ符号で示されている。特に記述しない限り、同じ又は類似の機能特性を有する目的、構成及び部品に関する説明は、互いに交換可能である。さらに、以下では、特別な物、構成又は部品が議論されない限り、一つの実施形態又は一つの図面に示されている構成の同じ又は類似の物、構成及び部品のために概要的な符号を使用する。一例として、入力フレーム130に関して、概要的な符号がすでに使用されている。図2の入力フレームに関する説明において、特定の入力フレームを指し示す場合には、その入力フレームを示す特定の符号、例えば130−kが使用され、全ての入力フレーム又は他のものと特に区別しない一つの入力フレームを指し示す場合には、概要的な符号130を使用してきた。概要的な符号を使用することにより、本発明の実施形態のより簡単で明白な説明が可能となる。
【0077】
また、これに関連して、本発明の構成では、第2部品に接続された第1部品は、直接又は別の回路や別の部品を介して第2部品に接続できる。つまり、本発明の構成において、互いに隣接する二つの部品は、互いに直接接続された二つの部品、又は別の回路や別の部品を介して互いに接続された二つの部品のどちらでもよい。
【0078】
図3は複数の入力フレームをフィルタリングするための合成フィルターバンク200の
一実施形態を示し、各入力フレームは複数の順序良く整列された入力値を含む。合成フィルターバンク200の本実施形態は、直列に接続された周波数/時間コンバータ210、ウィンドウ処理部220及び重複/加算器230を含む。
【0079】
合成フィルターバンク200の本実施形態に与えられる複数の入力フレームは、まず、周波数/時間コンバータ210によって処理される。周波数/時間コンバータ210は、各出力フレームがそれに対応する入力フレームの時間表示となるように、入力フレームに基づき複数の出力フレームを生成することができる。つまり、周波数/時間コンバータ210は、各入力フレームに対して、周波数領域から時間領域への変換を行う。
【0080】
そして、周波数/時間コンバータ210に接続されたウィンドウ処理部220が周波数/時間コンバータ210からの各出力フレームを処理し、この出力フレームに基づきウィンドウ処理後フレームを生成する。合成フィルターバンク200のいくつかの実施形態において、ウィンドウ処理部220は各出力フレームの各サンプルを処理することにより、ウィンドウ処理後フレームを生成することができ、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含んでいる。
【0081】
合成フィルターバンク200の一実施形態の詳細な実施状況により、ウィンドウ処理部220は、重み付け関数で出力サンプルを重み付けすることによって、出力フレームからウィンドウ処理後フレームを生成することができる。図1のウィンドウ処理部110に関して既に述べたように、重み付け関数は、例えば、オーディオ信号の大きさの対数依存のような人間の耳の聴力又は聴覚特性を含む心理音響モデルに基づくものであってもよい。
【0082】
さらに又はあるいは、ウィンドウ処理部220は、出力フレームの各出力サンプルをウィンドウ又はウィンドウ関数のサンプル特定値で掛け算することにより、出力フレームからウィンドウ処理後フレームを生成してもよい。これらの値はウィンドウ係数とも称される。換言すれば、ウィンドウ処理部220は、少なくとも合成フィルターバンク200のいくつかの実施形態において、出力サンプルをウィンドウ関数の定義集合の各要素に帰する実数値ウィンドウ係数で掛け算することによって、ウィンドウ処理後フレームのウィンドウ処理後サンプルを生成するように構成されていてもよい。
【0083】
このようなウィンドウ関数の例を、図5〜11を参照してより詳細に説明する。また、これらのウィンドウ関数は、定義集合の中心(定義集合そのものの一要素である必要はない)に関して非対称であってもよい。
【0084】
また、ウィンドウ処理部220は、図4を参照して後に詳述するように、重複/加算器230によるサンプル先行値に基づく重複方式の更なる処理のために、複数のウィンドウ処理後サンプルを生成する。換言すれば、各ウィンドウ処理後フレームは、ウィンドウ処理部220の出力側に接続された重複/加算器230によって出力される複数の加算後サンプルと比較して、その2倍以上の個数のウィンドウ処理後サンプルを含む。つまり、合成フィルターバンク200の実施形態において、重複/加算器230は、少なくともいくつかの加算後サンプルのために、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを加算することで、重複方式で加算後フレームを生成することができる。
【0085】
ウィンドウ処理部220に接続された重複/加算器230は、そして、新たに受信したウィンドウ処理後フレームのそれぞれに対して加算後フレームを生成し、与えることができる。しかし、前述したように、重複/加算器230は、一つの加算後フレームを生成するために、重複方式でウィンドウ処理後フレームを処理する。
【0086】
各加算後フレームは、図4を参照して後に詳述するように、開始部分及び残余部分を含み、加算後フレームの残余部分には、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算することで生成した加算後サンプルを含み、また、開始部分には、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することで生成した加算後サンプルを含む。残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの数は実施状況に応じて設定され、開始部分の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの数よりも少なくとも1個多いものであればよい。
【0087】
あるいは又は更に、合成フィルターバンク200の一実施形態の詳細な実施状況に応じて、複数のウィンドウ処理後フレームのそれぞれにおいて、ウィンドウ処理部220は出力サンプルの順番で最初の出力値を無視し、それに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値に設定するものであってもよい。さらに、重複/加算器230は、この場合、図4を参照して後に詳述するように、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき、加算後フレームの残余部分に加算後サンプルを与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルに基づき、開始部分に加算後サンプルを与えるものであってもよい。
【0088】
図4は、フレーム指数k,k−1,k−2,k−3,k+1にそれぞれ相当する5個の出力フレーム240の概略図である。図2の概略図と同様に、図4の5個の出力フレーム240は矢印250で示されている時間的順番で配置されている。出力フレーム240−kを基準に、出力フレーム240−(k−1),240−(k−2),240−(k−3)は過去の出力フレーム240である。同様に、出力フレーム240−(k+1)は、出力フレーム240−kを基準にして、次の又は未来の出力フレームである。
【0089】
図2の入力フレーム130に関して既に述べたように、図4に示す実施形態においても、各出力フレーム240は4個の部分260−1,260−2,260−3,260−4を含んでいる。図2の構成の入力フレーム130の初期部分160に関して既に述べたように、各出力フレーム240の第1部分260−1は、合成フィルターバンク200の本実施形態の詳細な実施状況に応じて、初期部分270を含んでいてもよいしあるいは含んでいなくてもよい。従って、図4の実施形態の場合、第1部分260−1は他の部分260−2,260−3,260−4に比べて短くてもよい。しかし、他の部分260−2,260−3,260−4はそれぞれ、前記サンプル先行値Mと同じ数の出力サンプルを含む。
【0090】
図3に関して説明したように、周波数/時間コンバータ210には複数の入力フレームが与えられ、周波数/時間コンバータ210はそれに基づき複数の出力フレームを生成する。合成フィルターバンク200のいくつかの実施形態において、各入力フレームの長さはサンプル先行値Mに等しく、Mは正の整数である。しかし、周波数/時間コンバータ210によって生成された出力フレームは、入力フレームの入力値の個数の少なくとも2倍以上の個数のサンプルを含む。より詳しくは、図4に示す実施形態において、出力フレーム240は、入力値の個数つまり図4の実施形態においてはMの3倍以上もの個数の出力サンプルを含む。つまり、出力フレームは部分260に分けられ、出力フレーム240の各部分260(前述したように、第1部分260−1を除く場合もある)はM個の出力サンプルを含む。さらに、いくつかの実施形態において、初期部分270はM/4個のサンプルを含む。つまり、M=480又はM=512の場合、初期部分が存在するとすれば、それは120個又は128個のサンプル又は値を含む。
【0091】
さらに換言すれば、解析フィルターバンク100の実施形態に関して述べたように、サンプル先行値Mは出力フレーム240の各部分260−2,260−3,260−4の長さに相当する。合成フィルターバンク200の一実施形態の詳細な実施状況に応じて、出力フレーム240の第1部分260−1もまたM個の出力サンプルを含み得る。しかし、出力フレーム240に初期部分270が存在しない場合、各出力フレーム240の第1部分260−1は出力フレーム240の他の部分260−2から260−4よりも短い。
【0092】
前述したように、周波数/時間コンバータ210はウィンドウ処理部220に複数の出力フレーム240を与え、各出力フレームはサンプル先行値Mの2倍以上の個数の出力サンプルを含む。そして、ウィンドウ処理部220は、周波数/時間コンバータ210によって与えられた現在の出力フレーム240に基づき、ウィンドウ処理後フレーム240を生成することができる。より明白には、出力フレーム240に対応するウィンドウ処理後フレームは、前述したような重み付け関数に基づき生成される。図4の実施形態において、重み付け関数はウィンドウ関数280に基づくものであり、ウィンドウ関数280は各出力フレーム240の上部に概略的に示されている。これに関して注意すべきことは、ウィンドウ関数280は、出力フレーム240の初期部分が存在する場合、初期部分内の出力サンプルに対していかなる影響も与えないということである。
【0093】
しかし、合成フィルターバンク200の異なる実施形態の詳細な実施状況により、多様な場合を考慮する必要がある。ウィンドウ処理部210は、周波数/時間コンバータ210に応じて、全く異なるように改造又は構成されてもよい。
【0094】
例えば、出力フレーム240の第1部分270もM個の出力サンプルを含むように出力フレーム240の初期部分270が存在する場合、ウィンドウ処理部220は、この出力フレームから、同じ個数のウィンドウ処理後サンプルを含むウィンドウ処理後フレームを生成するように改造されてもよいし、そうでなくてもよい。つまり、ウィンドウ処理部220は、初期部分270を含むウィンドウ処理後フレームを生成するように構成でき、図1,2に関して既に述べたように、これは例えば、対応するウィンドウ処理後サンプルを既定値(例えば0、最大許容信号振幅値の2倍の値等)又は既定範囲内の少なくとも一つの値に設定することで可能となる。
【0095】
この場合、出力フレーム240及び出力フレーム240に基づくウィンドウ処理後フレームの両方が同じ個数のサンプル又は値を含んでいてもよい。しかし、ウィンドウ処理後フレームの初期部分270内のウィンドウ処理後サンプルは、必ずしも出力フレーム240内のそれに対応する出力サンプルによるものでなくてもよい。しかし、ウィンドウ処理後フレームの第1部分260−1は、初期部分以外のサンプルに関して、周波数/時間コンバータ210によって与えられる出力フレーム240に基づくものである。
【0096】
図1,2に示す解析フィルターバンクの実施形態に関して述べたように、出力フレーム240の初期部分270に少なくとも一つの出力サンプルが存在するならば、それに対応するウィンドウ処理後サンプルは既定値又は既定範囲内の値にセットされてもよい。初期部分270が1個以上のウィンドウ処理後サンプルを含む場合も同様である。
【0097】
さらに、ウィンドウ処理部220は、ウィンドウ処理後フレームが初期部分270を全く含まないようにするものであってもよい。合成フィルターバンク200のこのような実施形態の場合、ウィンドウ処理部220は、出力フレーム240の初期部分270内の出力サンプルを無視するように構成することもできる。
【0098】
これらのうちのいずれの場合も、詳細な実施の状況により、ウィンドウ処理後フレームの第1部分260−1は初期部分270を含んでいてもよいし、含んでいなくてもよい。
ウィンドウ処理後フレームの初期部分が存在する場合、この部分のウィンドウ処理後サンプル又はウィンドウ処理後の値は、各出力フレーム内のそれに対応する出力サンプルによるものである必要は全くない。
【0099】
一方、出力フレーム240が初期部分270を含まない場合、ウィンドウ処理部220は、出力フレーム240に基づき、初期部分270を含むウィンドウ処理後フレームを生成するものであってもよいし、又は初期部分270を含まないウィンドウ処理後フレームを生成するものであってもよい。第1部分260−1の出力サンプルの個数がサンプル先行値Mよりも小さい場合、合成フィルターバンク200のいくつかの実施形態において、ウィンドウ処理部220は、ウィンドウ処理後フレームの初期部分270内の「存在しない出力サンプル」に相当するウィンドウ処理後サンプルを、既定値又は既定範囲内の少なくとも一つの値にセットできるものであってもよい。換言すれば、この場合、ウィンドウ処理後フレームが結果的にサンプル先行値Mの整数倍、あるいは入力フレームのサイズ又は加算後フレームの長さに相当する個数のウィンドウ処理後サンプルを含むように、ウィンドウ処理部220は、ウィンドウ処理後フレームを既定値又は既定範囲内の少なくとも一つの値で満たすものであってもよい。
【0100】
また、実施できるさらなる選択として、出力フレーム240とウィンドウ処理後フレームの両方が初期部分270を全く含まなくてもよい。この場合、ウィンドウ処理部220は、ウィンドウ処理後フレームを得るために、単に出力フレームの出力サンプルを少なくとも部分的に重み付けするように構成されていてもよい。さらに又はあるいは、ウィンドウ処理部220はウィンドウ関数280等を使用してもよい。
【0101】
図1,2に示す解析フィルターバンク100の実施形態に関して説明したように、出力フレーム240の初期部分270は、これらの値は最小のサンプル指数を有する「最新の」サンプルであるという点で、出力フレーム240の最初の部分のサンプルに相当する。換言すれば、出力フレーム240のすべての出力サンプルを考慮すると、これらのサンプルは、重複/加算器230によって与えられる対応する加算後サンプルを再生する際に、出力フレーム240の他の出力サンプルに比べて経過時間が最も短いサンプルと言える。つまり、出力フレーム240内及び出力フレームの各部分260内で、最新の出力サンプルは、各出力フレーム240又は各部分260の左に位置している。さらに換言すると、矢印250で示される時間は出力フレーム240の順序に相当するものではなく、各出力フレーム240内の出力サンプルの順序に相当するものである。
【0102】
しかし、ウィンドウ処理後フレーム240の重複/加算器230による処理をさらに詳しく説明する前に、合成フィルターバンク200の多くの実施形態において、周波数/時間コンバータ210及び/又はウィンドウ処理部220は、出力フレーム240及びウィンドウ処理後フレームの初期部分270が完全に存在するか又は全く存在しないように改造されてもよいことをここで注記しておく。前者の場合、第1部分260−1内の出力サンプル又はウィンドウ処理後サンプルの個数は出力フレームの他の各部分260−2,260−3,260−4内の出力サンプルの個数に等しく、Mに等しい。しかし、合成フィルターバンク200の実施形態において、周波数/時間コンバータ210とウィンドウ処理部220のどちらか一方又は両方が、初期部分270は存在するが、第1部分260−1内のサンプルの個数は周波数/時間コンバータ210の出力フレームの他の各部分260−2,260−3,260−4内の出力サンプルの個数よりも少なくなるように構成される実施も可能である。さらに、多くの実施形態において、一つのフレーム内の全てのサンプル又は値をそれ自体で取り扱うが、もちろん、対応する値又はサンプルの一つ又は一部分のみが使用されてもよい。
【0103】
ウィンドウ処理部220に接続された重複/加算器230は、図4の下部に示されてい
るように、開始部分300と残余部分310を含む加算後フレーム290を出力することができる。合成フィルターバンク200の一実施形態の詳細な実施状況により、重複/加算器230は、加算後フレームの開始部分に含まれる加算後サンプルは、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを加算することによって得られるように構成され得る。より詳しくは、図4に示す実施形態において、各出力フレーム240及びそれに対応するウィンドウ処理後フレームは4個の部分260−1〜260−4に基づくものであるので、開始部分300の一つの加算後サンプルは、矢印320で示されているように、少なくとも3個又は4個の異なるウィンドウ処理後フレームからの3個又は4個のウィンドウ処理後サンプル又は値に基づいている。図4の実施形態の場合に使用されるウィンドウ処理後サンプルが3個であるのか4個であるのかについては、対応する出力フレーム240−kに基づくウィンドウ処理後フレームの初期部分270に関する詳細な実施によるものである。
【0104】
以下の図4の説明において、図4の出力フレーム240を、ウィンドウ処理部220によって与えられたそれぞれの出力240に基づくウィンドウ処理後フレームと考えてもよい。図4の場合、ウィンドウ処理後フレームは、出力フレーム240の少なくとも初期部分270以外の出力サンプルをウィンドウ関数280から引き出された値で掛けることにより得られるからである。従って、重複/加算器230に関する以下の説明において、符号240はウィンドウ処理後フレームにも使用される。
【0105】
ウィンドウ処理部220が、初期部分270内のウィンドウ処理後サンプルを既定値又は既定範囲内の値にセットするように構成されている場合、該既定値又は既定範囲のために、(出力フレーム240−kに対応する)ウィンドウ処理後フレーム240−kの初期部分270からのウィンドウ処理後サンプルの加算が出力をひどく混乱させたり変化させるものでない限り、初期部分270内のウィンドウ処理後サンプル又はウィンドウ処理後の値は、(出力フレーム240−(k−1)に対応する)ウィンドウ処理後フレーム240−(k−1)の第2部分、(出力フレーム240−(k−2)に対応する)ウィンドウ処理後フレーム240−(k−2)の第3部分及び(出力フレーム240−(k−3)に対応する)ウィンドウ処理後フレーム240−(k−3)の第4部分からの残りの3個の加算後サンプルを加算する際に、使用されてもよい。
【0106】
ウィンドウ処理後フレームに初期部分270が存在しないようにウィンドウ処理部220が構成されている場合、開始部分300の対応する加算後サンプルは、通常、少なくとも2個のウィンドウ処理後フレームからの少なくとも2個のウィンドウ処理後サンプルを合算することによって求められる。しかし、図4の実施形態はそれぞれが4個の部分260を含むウィンドウ処理後フレームに基づいているので、加算後フレーム290の開始部分内の加算後サンプルは、ウィンドウ処理後フレーム240−(k−1),240−(k−2),240−(k−3)からの前記ウィンドウ処理後サンプルを加算することによって得られる。
【0107】
この場合は、例えば、ウィンドウ処理部220が出力フレームのこれに対応する出力サンプルを無視するように構成されていることで可能となる。さらに、既定値又は既定範囲が加算後サンプルを混乱させるようなものである場合、重複/加算器230は、加算後サンプルを得るためのウィンドウ処理後サンプルの合算の際に、これに対応するウィンドウ処理後サンプルを考慮に入れないように構成されてもよい。この場合、初期部分270のウィンドウ処理後サンプルは開始部分300の加算後サンプルを得るために使用されないので、これらのウィンドウ処理後サンプルは重複/加算器230によって無視されるべきものとして考えられる。
【0108】
残余部分310内の加算後サンプルに関して、図4中矢印330で示されているように
、重複/加算器230は、(3個の異なる出力フレーム240に対応する)少なくとも3個の異なるウィンドウ処理後フレーム240からの少なくとも3個のウィンドウ処理後サンプルを合算するように構成されている。ここでも、図4の実施形態において、一つのウィンドウ処理後フレーム240は4個の部分260を含むという事実により、残余部分310の加算後サンプルは、重複/加算器230で、4個の異なるウィンドウ処理後フレーム240からの4個のウィンドウ処理後サンプルを合算することにより生成される。より詳しくは、加算後フレーム290の残余部分310の加算後サンプルは、重複/加算器230で、ウィンドウ処理後フレーム240−kの第1部分260−1、ウィンドウ処理後フレーム240−(k−1)の第2部分260−2、ウィンドウ処理後フレーム240−(k−2)の第3部分260−3及びウィンドウ処理後フレーム240−(k−3)の第4部分260−4からの対応するウィンドウ処理後サンプルを合算することにより得られる。
【0109】
前述したような重複/加算処理の結果、加算後フレーム290はM=N/2個の加算後サンプルを含むようになる。つまり、サンプル先行値Mは加算後フレーム290の長さに等しい。また、合成フィルターバンク200の少なくともいくつかの実施形態において、入力フレームの長さも、前述したように、サンプル先行値Mに等しい。
【0110】
図4に示す実施形態において、加算後フレームの開始部分300及び残余部分310の各加算後サンプルを得るために、少なくとも3個又は4個のウィンドウ処理後サンプルを使用するということは、単に簡便さのために選択しただけである。図4の実施形態において、各出力/ウィンドウ処理後フレーム240は、4個の部分260−1〜260−4を含む。しかし、原則的に、合成フィルターバンクの一実施形態において、出力又はウィンドウ処理後フレームは、加算後フレーム290の加算後サンプルの個数の2倍よりも1多い個数のウィンドウ処理後サンプルを含んでいればよい。つまり、合成フィルターバンク200の一実施形態において、各ウィンドウ処理後フレームは単に2M+1個のウィンドウ処理後サンプルを含むものであってもよい。
【0111】
解析フィルターバンク100の一実施形態に関して述べたように、合成フィルターバンク200の一実施形態もまた、ER AAC LDコーデックの変更によって得られるER AAC ELDコーデック(コーデック=コーダ/デコーダ)の構成に組み込まれ得る。従って、合成フィルターバンク200の一実施形態は、低ビットレート低遅延オーディオ符号化/復号化システムを構成するために、AAC LDコーデックに使用され得る。例えば、合成フィルターバンク200の一実施形態は、任意のSBR装置(SBR=スペクトルバンク複製)と共にER AAC ELDコーデックのためのデコーダに組み込まれてもよい。しかし、十分な低遅延を達成するためには、合成フィルターバンク200の一実施形態の実現のためにER AAC LDコーデックと比較して、いくらかの変更を行うことが好ましい。
【0112】
前記コーデックの合成フィルターバンクは、低遅延(合成)フィルターバンクの一実施形態に適合させるために変更できるが、周波数/時間コンバータ210に関して、核IMDCTアルゴリズム(IMDCT=逆転修正離散余弦変換)はほぼ変化させずそのままであってもよい。しかし、IMDCT周波数/時間コンバータと比較して、周波数/時間コンバータ210は長いウィンドウ関数を有するように実施でき、この場合サンプル指数nはN−1までではなく、2N−1までとなる。
【0113】
より詳細には、周波数/時間コンバータ210は、以下の式に基づき、出力値xi,nを
与えるように構成され得る。
【0114】
【数10】
nは、前述したように、サンプル指数を示す整数、iはウィンドウ指数を示す整数、kはスペクトル係数指数、NはER AAC LDコーデック実施の一連のパラメータウィンドウに基づくウィンドウ長さであり、整数Nは加算後フレーム290の加算後サンプルの個数の2倍である。さらに、n0は以下の式によって与えられるオフセット値である。
【0115】
【数11】
spec[i][k]は、入力フレームのスペクトル係数指数k及びウィンドウ指数Iに対応する入力値である。合成フィルターバンク200のいくつかの実施形態において、パラメータNは960又は1024である。しかし、原則的に、パラメータNはいかなる値をも取り得る。換言すれば、合成フィルターバンク200の別の実施形態は、パラメータN=360又は他の値に基づき動作し得る。
【0116】
ウィンドウ処理部220及び重複/加算器230もまた、ER AAC LDコーデックに採用されているウィンドウ処理部及び重複/加算器と比較して、変更されていてもよい。より詳しくは、前記コーデックに比べて、ウィンドウ関数の長さNは、過去により多くの重複があり、未来により少ない重複のあるウィンドウ関数の長さ2Nに変更される。以下に図5〜図11を参照して説明するように、合成フィルターバンク200の実施形態において、M/4=N/8個の値又はウィンドウ係数を含むウィンドウ関数は実際0にセットされてもよい。結果的に、これらのウィンドウ係数は各フレームの初期部分160,270に対応する。前述したように、この部分は実行する必要は全くない。一つの可能な選択として、対応するモジュール(例えばウィンドウ処理部110,220)は0との掛け算が必要ではないように構成されてもよい。既に述べたように、実施形態の二つの可能な実施に関する差異について言えば、ウィンドウ処理後サンプルは0にセットされるか又は無視されてもよい。
【0117】
従って、このような低遅延ウィンドウ関数を有する合成フィルターバンクのこのような一実施形態の場合にウィンドウ処理部220によって行われるウィンドウ処理は、以下の式に基づくものである。
【0118】
【数12】
ウィンドウ係数w(n)を有するウィンドウ関数は2N個のウィンドウ係数の長さを有する。従って、サンプル指数はN=0〜N=2N−2であり、多様なウィンドウ関数のウィンドウ係数の関係及び値は、合成フィルターバンクの多様な実施形態のための付録の表1〜4に示されている。
【0119】
さらに、重複/加算器230は以下の式に基づき実施可能である。
【0120】
【数13】
前記式及び方程式は、合成フィルターバンク200の一実施形態の詳細な実施状況に応じてわずかに変更されてもよい。換言すれば、詳細な実施状況により、特にウィンドウ処理後フレームは必ずしも初期部分を含んでいなくてもよいという点で、前記式及び方程式は、例えば、初期部分が存在しない場合やあるいは初期部分のサンプルが取るに足りないもの(例えば値が0のサンプル)である場合に、初期部分のサンプルを除外するために合算指数の境界を変更してもよい。つまり、解析フィルターバンク100の一実施形態及び合成フィルターバンク200の一実施形態のうちの少なくともどちらかを実行することによって、適当なSBR装置を任意に含むER AAC LDコーデックをER AAC ELDコーデックとして実現でき、これにより、例えば、低ビットレート及び/又は低遅延オーディオ符号化復号化システムを達成することができる。エンコーダ、デコーダの概略をそれぞれ図12,13に示す。
【0121】
既に何度か述べたように、解析フィルターバンク100及び合成フィルターバンク200のどちらの実施形態も、解析/合成フィルターバンク100,200の構成及びエンコーダ、デコーダの実施形態の構成において超低遅延符号化モードを可能にするという利点を提供し得る。解析フィルターバンク又は合成フィルターバンクの一実施形態を実行することにより、低遅延ウィンドウ関数を含むフィルターバンクの一実施形態の詳細な実施状況により、いくつかの利点が得られ、この解析フィルターバンク又は合成フィルターバンクの一実施形態は、図5〜図11を参照して後に詳述するウィンドウ関数のうちの一つを有していてもよい。図2を参照して、フィルターバンクの一実施形態は、技術的現状のコーデックで使用されている直交ウィンドウに基づくコーデックと比較して、遅延を生じさせる。例えば、パラメータN=960に基づくシステムの場合に、960個のサンプルから700個のサンプルへの遅延の低下、つまり48kHzのサンプリング周波数において20msの遅延から15msの遅延への低下が達成できる。さらに、以下に示すように、合成フィルターバンク及び/又は解析フィルターバンクの一実施形態の周波数応答は、正弦ウィンドウを使用したフィルターバンクに非常に類似している。いわゆる低重複ウィンドウを使用したフィルターバンクと比較すると、この周波数応答は非常に良い。さらに、プレエコー特性に関して、低重複ウィンドウに類似しているので、合成フィルターバンク及び/又は解析フィルターバンクの一実施形態は、その詳細な実施状況により、質と低遅延の間での非常に良いトレードオフを実現することができる。さらに、例えば会議システムの一実施形態の構成に使用できる利点は、ただ一つのウィンドウ関数があらゆる種類の信号を処理するのに使用できるということである。
【0122】
図5は、例えば解析フィルターバンク100又は合成フィルターバンク200の一実施形態のウィンドウ処理部110,220で使用可能なウィンドウ関数を示すグラフである。より詳細には、図5の上部のグラフは、解析フィルターバンクの一実施形態の場合のM=480個のバンド又は出力サンプルのための解析ウィンドウ関数を示している。図5の下部のグラフは、合成フィルターバンクの一実施形態のための同様の合成ウィンドウ関数を示している。図5のどちらのウィンドウ関数も、出力フレーム(解析フィルターバンクの場合)及び加算後フレーム(合成フィルターバンクの場合)のM=480個のバンド又はサンプルに対応し、図5のウィンドウ関数は、指数がそれぞれn=0,…,1919である1920個の値の定義集合を含む。
【0123】
また、図5の二つのグラフから明らかなように、ここでは、定義集合の中心点は指数N=959とN=960の間に存在するが、定義集合そのものの一部ではなく、どちらのウィンドウ関数においても、全てのウィンドウ係数のうちの最大絶対値の10%、20%、30%又は50%よりも大きい絶対値のウィンドウ係数は、定義集合の前記中心点に対するどちらか半分に大多数が含まれている。この半分とは、図5の上部グラフで示される解析ウィンドウ関数の場合、指数N=960,…,1919を含む定義集合の半分であり、図5の下部グラフで示される合成ウィンドウ関数の場合、指数N=0,…,959を含む定義集合の半分である。つまり、解析フィルターバンクも合成フィルターバンクも、中心点に対して極度に非対称である。
【0124】
解析フィルターバンクの一実施形態のウィンドウ処理部110及び合成フィルターバンクの一実施形態のウィンドウ処理部220に関して示したように、解析フィルターバンク及び合成フィルターバンクは指数に関して互いの逆転関数である。
【0125】
図5の二つのグラフに示されているウィンドウ関数に関する重要な一面は、上部グラフの解析ウィンドウ関数の場合には最後の120個のウィンドウ係数が、そして下部グラフの合成ウィンドウ関数の場合には最初の120個のウィンドウ係数が、0又は妥当な精度で0と同等とみなされる絶対値の値にセットされる。換言すれば、これら二つのウィンドウ関数のこれらの120個のウィンドウ係数は、これら120個のウィンドウ係数をそれぞれのサンプルに掛けることで適当な個数のサンプルを既定範囲内の少なくとも一つの値にセットするためのものである。つまり、解析フィルターバンク100又は合成フィルターバンク200の実施形態の詳細な実施状況により、これらの120個の0のウィンドウ係数が応用可能な場合、前述したように、これらは解析フィルターバンク及び合成フィルターバンクの実施形態におけるウィンドウ処理後フレームの初期部分160,270を形成することになる。しかし、初期部分160,270が存在しない場合でも、これら120個の0のウィンドウ係数は、解析フィルターバンク100及び合成フィルターバンク200の実施形態のウィンドウ処理部110、時間/周波数コンバータ120、ウィンドウ処理部220及び重複/加算器230によって、それに応じて異なるフレームを処理するように解釈される。
【0126】
M=480(N=960)の場合に120個の0のウィンドウ係数を含む図5に示すような解析ウィンドウ関数又は合成ウィンドウ関数を使用することにより、解析フィルターバンク100及び合成フィルターバンク200の適当な実施形態が確立され、この場合、対応するフレームの初期部分160,270はM/4個のサンプルを含み、つまり対応する第1部分150−1,260−1は他の部分よりもM/4個少ない値又はサンプルを含むことになる。
【0127】
前述したように、図5の上部グラフの解析ウィンドウ関数及び図5の下部グラフの合成ウィンドウ関数は、解析フィルターバンク及び合成フィルターバンクのための低遅延ウィンドウ関数である。さらに、図5の解析ウィンドウ関数及び合成ウィンドウ関数は、両方のウィンドウ関数を定義する定義集合の前述の中心点に対して、互いに鏡映化版である。
【0128】
低遅延ウィンドウの解析フィルターバンク又は合成フィルターバンクへの使用は、複合解析に関して後述するように、多くの場合、際立った計算の複雑化を生じさせることなく、記憶容量がわずかに余分に必要となるだけである。
【0129】
図5に示すウィンドウ関数は、付録の表2に示されている値を含むが、これらの値は単に簡便さのために記されているものである。パラメータM=480に基づき作動する解析フィルターバンク又は合成フィルターバンクの一実施形態が付録の表2に示されている正確な値を含む必要はない。当然、解析フィルターバンク又は合成フィルターバンクの一実
施形態の詳細な実施状況により、適当なウィンドウ関数内に多様なウィンドウ係数を取ることが可能であり、これらの使用されるウィンドウ係数は、M=480の場合、付録の表1に示されている関係を満たすことが多い。
【0130】
さらに、後述するようなフィルター係数、ウィンドウ係数及びリフト係数を有する多くの実施形態において、それらの数値は付録に示されている通りの正確なものである必要はない。つまり、解析フィルターバンク、合成フィルターバンクの他の実施形態及び本発明に関する実施形態において、フィルター係数、ウィンドウ係数及びリフト係数のような他の係数が付録に示されている係数とは異なる他のウィンドウ関数も、その変化が小数第3位及び第4位、第5位などのそれ以下の範囲である限り、使用可能である。
【0131】
図5の下部の合成ウィンドウ関数に関して、前述したように、最初のM/4=120個のウィンドウ係数は0にセットされる。それ以降約350の指数まで、ウィンドウ関数は急な上昇を示し、その後約600の指数まで緩やかな上昇を示す。これに関して、指数480(=M)の辺りで、ウィンドウ関数は1よりも大きくなる。指数600から約サンプル1100まで、ウィンドウ関数はその最大値から0.1よりも小さい値まで下降する。定義集合の他の部分では、ウィンドウ関数は0の辺りでわずかに振動する。
【0132】
図6は図5に示したウィンドウ関数の比較を示し、図6の上部は解析ウィンドウ関数の場合であり、図6の下部は合成ウィンドウ関数の場合である。これら二つのグラフには、さらに、例えば前述のER AAC コーデックのAAC LC及びAAC LDに使用されるいわゆる正弦ウィンドウ関数が点線で示されている。図6の二つのグラフに示されているような正弦ウィンドウ関数と低遅延ウィンドウ関数との直接的な比較は、図5を参照して説明したような時間ウィンドウの異なる時間対象を示す。正弦ウィンドウはたった960個のサンプルから定義されていることは別にしても、解析フィルターバンクの一実施形態に使用される場合(上部のグラフ)及び合成フィルターバンクの一実施形態に使用される場合(下部のグラフ)のこれら二つのウィンドウ関数の最も決定的な違いは、正弦ウィンドウフレーム関数は短い定義集合の中心点に関して対称であり、定義集合の最初の120個の要素に、(ほとんどの)0よりも大きいウィンドウ係数を含んでいるということである。それとは対照的に、前述したように、低遅延ウィンドウ関数は120個の(理想的には)0の値のウィンドウ係数を含み、正弦ウィンドウの定義集合に比べて長い定義集合の中心点に関して明らかに非対称である。
【0133】
また、低遅延ウィンドウを正弦ウィンドウとは異ならせるさらに別の相違点がある。両方のウィンドウは約1の値と480(=M)のサンプル指数を有しているが、低遅延ウィンドウ関数は、1よりも大きくなってから約120個のサンプルの後につまりサンプル指数が約600(=M+M/4,M=480)で、1以上の最大値に達するが、対称な正弦ウィンドウは対称的に0まで下がる。つまり、これらの場合には重複方式及びM=480という有利なサンプル値を取っているので、例えば第1フレームで0との掛け算をされるサンプルは、次のフレームでは1よりも大きい値と掛け算される。
【0134】
例えば解析フィルターバンク100又は合成フィルターバンク200の他の実施形態に使用できる別の低遅延ウィンドウについてさらに説明する。パラメータM=480,N=960であり、そのうちM/4=120個は0の値又は十分に低い値である場合に関して、図5,6に示されているウィンドウ関数で達成可能な遅延低減の概念を説明する。図6の上部グラフに示されている解析ウィンドウにおいて、未来の入力値(サンプル指数1800〜1920)にアクセスする部分は120個のサンプル分減少している。従って、図6の下部グラフの合成ウィンドウにおいて、過去の出力サンプルを含む重複は合成フィルターバンクでそれに相当する遅延を生じさせるが、ここではさらに120個のサンプル分減少されている。換言すれば、合成ウィンドウにおいては重複/加算処理を施される必要
があり、解析フィルターバンクにおいては120個のサンプル分の低減を伴う重複/加算を施す必要がある過去の出力サンプルを含む重複により、解析フィルターバンクと合成フィルターバンクの両方を含むシステムにおいて、全体として240個のサンプル分の遅延が低減されるだろう。
【0135】
しかし、拡張重複は更なる遅延を生じさせることはない。それは、過去からの値を加算するのみであり、これは少なくともサンプリング周波数の規模で、更なる遅延を引き起こすことなく、簡単に記憶できるからである。従来の正弦ウィンドウと低遅延ウィンドウの比較を図5,6に示す。
【0136】
図7は、三つのグラフに3個の異なるウィンドウ関数を示すものである。より詳細には、図7の上部グラフは前述の正弦ウィンドウを示し、中央のグラフはいわゆる低重複ウィンドウを示し、下部のグラフは低遅延ウィンドウを示す。しかし、図7に示されている3個のウィンドウは、サンプル先行値つまりパラメータM=512(N=2M=1024)に相当する。ここでもまた、2048個のサンプル指数から定義されている図7の下部に示されている低遅延ウィンドウ関数に比べて、図7の上部及び中央のグラフの正弦ウィンドウ及び低重複ウィンドウは、制限された又は短縮された定義集合によって定義されている。
【0137】
図7の正弦ウィンドウ、低重複ウィンドウ及び低遅延ウィンドウのウィンドウ形状のプロットは、正弦ウィンドウと低遅延ウィンドウに関しては、多かれ少なかれ、前述したのと同じ特徴を有している。より詳しくは、ここでも、正弦ウィンドウ(図7の上部グラフ)は、指数511と512の間にある定義集合の妥当な中心点に関して対称である。正弦ウィンドウはM=512の辺りで最大値を有し、この最大値から定義集合の境界に向かって0に降下する。
【0138】
図7の下部グラフに示されている低遅延ウィンドウは、128個の0の値のウィンドウ係数を含み、この個数はサンプル先行値Mの1/4である。さらに、低遅延ウィンドウはサンプル指数Mで約1の値を取り、ウィンドウ係数の最大値は、値が1以上となってからサンプル指数nが約128増した辺りで(指数640辺りで)得られる。また、ウィンドウ関数のプロットの他の特徴に関して、図7の下部グラフのM=512のためのウィンドウ関数は、図5,6に示されているM=480のための低遅延ウィンドウと比較して、それよりも定義集合が長い(1920個の指数に比べて2048個の指数)ために任意のシフトがあるということを除けば、さほど相違はない。図7の下部グラフに示されている低遅延ウィンドウは付録の表4に示されている値を含む。
【0139】
しかし、前述したように、合成フィルターバンク又は解析フィルターバンクの実施形態が表4に示されているのと全く同じ値を有するウィンドウ関数を使用する必要はない。つまり、ウィンドウ係数は付録の表3に示されている関係を満たすものである限り、表4の値と異なっていてもよい。さらに、本発明の実施形態において、ウィンドウ係数に関する変更も、前述したように、小数点以下第3位又は第4位、第5位などのそれ以下の範囲内である限り、簡単に実行できる。
【0140】
図7の中央のグラフの低重複ウィンドウについてはまだ説明していない。前述したように、低遅延ウィンドウはまた1024個の要素を含む定義集合を有している。また、低重複ウィンドウは定義集合の初期部分と定義集合の終末部分に、低重複ウィンドウが消えうせる連続部分を有している。しかし、低重複ウィンドウが消えうせるこの連続部分の後に、急な上昇又は下降があり、これはたった100個よりも少し多い程度のサンプル指数を含むだけのものである。また、この対称低重複ウィンドウは1よりも大きい値を含まず、いくつかの実施形態に使用されるウィンドウ関数に比べて低いストップバンド逓減を含ん
でいてもよい。
【0141】
換言すれば、低重複ウィンドウ関数は同じサンプル先行値を有しながら非常に短い定義集合を有する。低遅延ウィンドウは1よりも大きい値を有しないからである。さらに、正弦ウィンドウ及び低重複ウィンドウのどちらも、それぞれの定義集合の中心点に関して、直交又は対称であり、低遅延ウィンドウは定義集合の中心点に関して非対称である。
【0142】
低重複ウィンドウは、移行のためのプレエコー人工物を除去するために導入されたものである。図8に示されているように、低重複は信号入力の前の量子化ノイズの広がりを回避する。新しい低遅延ウィンドウは同じ特性を有しているが、図10,11に示す周波数応答の比較から明らかなように、より良い周波数応答を有している。従って、低遅延ウィンドウは、従来のAAC LDウィンドウ、つまり正弦ウィンドウと低重複ウィンドウの両方に取って代わることができ、ウィンドウの形状に関する大きな変更はもはや必要ではない。
【0143】
図8は、図7と同じウィンドウ関数を同じ順序で示し、正弦ウィンドウ、低重複ウィンドウ及び低遅延ウィンドウの異なるウィンドウの形状の量子化ノイズの広がりを示している。図8の下部グラフに示されている低遅延ウィンドウのプレエコーは図8の中央に示されている低重複ウィンドウと似ているが、図8の上部に示されている正弦ウィンドウのプレエコーは、最初の128個(M=512)のサンプルに大いに影響を与える。
【0144】
換言すれば、合成フィルターバンク又は解析フィルターバンクの一実施形態に低遅延ウィンドウを使用することで、プレエコーの向上という利点が得られる。解析ウィンドウの場合、未来の入力値に到達するための、従って必然的に遅延が生じる経路は、1サンプル分以上、好ましくはブロック長又はサンプル先行値が480又は512サンプルの場合、120又は128個のサンプル分だけ、短縮され、その結果MDCT(修正離散余弦変換)と比較して遅延が低下する。これらの120個又は128個のサンプル内に存在するかもしれない信号の入力はわずかに1ブロック又は1フレーム後に現れるので、プレエコーに関して向上する。従って、合成ウィンドウにおいて、重複/加算処理を完了するための過去の出力サンプルとの重複もまたこれに対応する遅延を生じさせるが、この重複はさらに120個又は128個のサンプル分低下され、結果的に全体として240個又は256個のサンプル分の遅延低減となる。これらの120個又は128個のサンプルは、信号入力の前に、過去へのノイズの広がりに影響するので、これはまたプレエコーの向上という結果となる。全体的に、このことはプレエコーが1ブロック又は1フレーム後に現れる可能性があり、合成側のみから生じるプレエコーは120個又は128個のサンプル分短いということを意味している。
【0145】
図5〜7に示すように、このような低遅延ウィンドウを使用することで達成できる低減は、合成フィルターバンクまたは解析フィルターバンクの一実施形態の詳細な実施に応じて、人間の聴力特性、特にマスキングに関して考慮した場合、特に有用である。このことを説明するために、図9は人間の耳のマスキング特性を簡単に示す。より詳しくは、図9は、特定の周波数を有する音が約200msの間存在する場合の人間の耳の聴力閾値レベルを時間の関数として概略的に示したものである。
【0146】
図9の矢印350で示すような前述の音の存在の少し前に、プレマスキングが約20msの短い期間存在し、これにより音が存在する期間における非マスキングとマスキングとの間の滑らかな移行が可能となる。これは同時マスキングと呼ばれることもある。音が存在している期間、マスキングはオンである。しかし、図9の矢印360で示す音の消滅の際に、マスキングがすぐに解除されるわけではなく、約150msの期間、マスキングはゆっくりと低下する。これはポストマスキングと呼ばれることもある。
【0147】
このように、図9は人間の耳の一般的な一時的マスキング特性を示し、これは音の存在する期間の前と後のプレマスキング段階とポストマスキング段階を含む。解析フィルターバンク100及び/又は合成フィルターバンク200の一実施形態に低遅延ウィンドウを導入することによるプレエコーの低下により、知覚可能なプレエコーは少なくともある程度、図9に示す人間の耳の一時的マスキング効果のプレマスキング期間に降下するので、多くの場合、知覚可能な歪みは厳しく制限される。
【0148】
さらに、図5〜7に示され、付録の表1〜4に示されている関係や値を参照して詳細に説明される低遅延ウィンドウ関数を使用することで、正弦ウィンドウの場合と類似した周波数応答が得られる。これを説明するために、図10は正弦ウィンドウ(点線)と低遅延ウィンドウの一例(実線)との間の周波数応答に関する比較を示す。図10に示されているこれら二つのウィンドウの周波数応答の比較から明らかなように、低遅延ウィンドウは、周波数選択の点で、正弦ウィンドウに匹敵する。低遅延ウィンドウの周波数応答は正弦ウィンドウの周波数応答に類似又は匹敵し、また、図11の周波数応答の比較からわかるように、低重複ウィンドウの周波数応答よりもかなり良い。
【0149】
より詳しくは、図11は正弦ウィンドウ(点線)と低重複ウィンドウ(実線)との間の周波数応答の比較を示す。これから明らかなように、低重複ウィンドウの周波数応答を示す実線は正弦ウィンドウの対応する周波数応答よりも非常に大きい。図10の二つの周波数応答の比較からわかるように、低遅延ウィンドウと正弦ウィンドウは類似の周波数応答を示し、また、図10,11のプロットはどちらも正弦ウィンドウの周波数応答を示し、周波数の軸と強度の軸(dB)に関して同じ目盛りであるので、低重複ウィンドウと低遅延ウィンドウの比較も簡単に行える。従って、合成フィルターバンクの一実施形態及び解析フィルターバンクの一実施形態に簡単に使用できる低遅延ウィンドウは、低重複ウィンドウに比べて、良い周波数応答を提供すると結論づけることができる。
【0150】
図8に示すプレエコーの比較からわかるように、低遅延ウィンドウはプレエコーに関してかなりな利点を有する。低遅延ウィンドウのプレエコーは低重複ウィンドウのプレエコーと類似しているが、低遅延ウィンドウは、これらのウィンドウの間の優れたトレードオフを示す。
【0151】
結果的に、解析フィルターバンクの一実施形態、合成フィルターバンクの一実施形態及びこれに関係する実施形態に使用できる低遅延ウィンドウは、このトレードオフのために、音調信号だけでなく過渡的信号にも使用できるので、多様なブロック長又は多様なウィンドウの間での切換えを必要としない。換言すれば、解析フィルターバンク、合成フィルターバンクの一実施形態及びこれに関係する実施形態は、多様なブロックサイズやブロック長又は多様なウィンドウやウィンドウ形状等の様々な作動パラメータの集合間での切換えを必要としないエンコーダ、デコーダ及び他のシステムの構築の可能性を提供する。さらに別の可能性として、多様なパラメータ集合間での切換えが不必要であるという事実により、異なるソースからの信号が、以下に述べるようにさらなる遅延を引き起こす時間領域ではなく、周波数領域で処理され得る。
【0152】
さらに換言すると、合成フィルターバンク又は解析フィルターバンクの一実施形態の採用は、いくつかの実施形態において、計算がさほど複雑ではないという利点から来る恩恵を提供できる可能性がある。例えば正弦ウィンドウを有するMDCTと比較して低い遅延を埋め合わせるためには、追加的な遅延を作り出すのではなく、長い重複を導入する。長い重複、またこれにより対応する正弦ウィンドウが2倍の重複を有し、約2倍の長さであり、従って前述したような周波数選択性の恩恵を2倍有するにもかかわらず、ブロック長の倍増やメモリー素子の増加が必要となる可能性はあるが、わずかに複雑化するだけで実
施できる。このような実施に関するさらなる詳細は図19〜24を参照して説明する。
【0153】
図12は、エンコーダ400の一実施形態の概略的なブロック図である。エンコーダ400は解析フィルターバンク100の一実施形態を含み、任意の部品として、解析フィルターバンク100からの複数の出力フレームを符号化し、出力フレームに基づく複数の符号化フレームを出力するエントロピーエンコーダ410を含む。例えば、エントロピーエンコーダ410は、ハフマンエンコーダ、又は算術式符号化体系のようなエントロピー効果符号化体系を使用する他のエントロピーエンコーダであってもよい。
【0154】
解析フィルターバンク100の一実施形態をエンコーダ400に採用することにより、エンコーダはバンド数Nの出力を提供し、再生遅延は2N又は2N−1よりも小さい。さらに、原則的に、エンコーダの一実施形態はまたフィルターを表し、エンコーダ400の一実施形態は2N個のサンプル以上の限られたインパルス応答を提供する。つまり、エンコーダ400の一実施形態は、遅延効率的に(オーディオ)データを処理できるエンコーダを表すものである。
【0155】
図12に示すようなエンコーダ400の一実施形態の詳細な実施状況により、このような一実施形態は、量子化装置、フィルター、又は解析フィルターバンク100の実施形態に送られる入力フレームを前処理するためのあるいは出力フレームをエントロピー符号化の前に処理するためのさらに別の部品を含んでいてもよい。一例として、詳細な実施状況及び応用分野に応じて、データの量子化又はデータの再量子化を行うために、量子化装置がエンコーダ400の一実施形態に解析フィルターバンク100の前にさらに設置される。解析フィルターバンク後の処理の一例としては、周波数領域での出力フレームの均等化又は他のゲイン調整が実施可能である。
【0156】
図13は、前述したように、合成フィルターバンク200だけでなくエントロピーデコーダ460を有するデコーダ450の一実施形態を示す。デコーダ450の実施形態内のこのエントロピーデコーダ460は、例えばエンコーダ400の一実施形態によって与えられる複数の符号化されたフレームを復号化するために使用できる任意の部品である。従って、エントロピーデコーダ460は、ハフマン又はアルゴリズムデコーダ、又はデコーダ450の分野に適したエントロピー符号化/復号化体系に基づく他のエントロピーデコーダであってもよい。さらに、エントロピーデコーダ460は合成フィルターバンク200に複数の入力フレームを与え、それが合成フィルターバンク200の出力側又はデコーダ450の出力側で複数の加算後フレームとなる。
【0157】
しかし、詳細な実施状況により、デコーダ450はさらに別の部品、例えば非量子化装置やゲイン調整器のような他の部品を含んでいてもよい。より詳細には、オーディオデータが合成フィルターバンク200によって時間領域に変換される前に周波数領域でのゲイン調整又は均一化を可能とする任意の部品として、エントロピーデコーダ460と合成フィルターバンクの間に、ゲイン調整器が設置され得る。これに対応して、デコーダ450内の合成フィルターバンク200後に量子化装置がさらに設置されてもよく、これにより加算後フレームの再量子化が可能となり、デコーダ450の外部への任意に再量子化された加算後フレームの出力が可能となる。
【0158】
図12に示されているエンコーダ400の実施形態及び図13に示されているデコーダ450の実施形態は、オーディオ符号化/復号化及びオーディオ処理の多分野に応用できる。エンコーダ400及びデコーダ450のこのような実施形態は、例えば、高品質通信の分野で使用され得る。
【0159】
エンコーダ又はコーダの一実施形態及びデコーダの一実施形態のどちらにおいても、ブ
ロック長の切換えや異なるウィンドウ間での切換え等のパラメータの変更をする必要がなく、これらの実施形態を作動させることができる。換言すれば、他のコーダやデコーダと比較して、合成フィルターバンク、解析フィルターバンク及び関連する実施形態という形での本発明の実施形態は、多様なブロック長及び/又は多様なウィンドウ関数を使用する必要が全くない。
【0160】
元来MPEG−4オーディオ仕様のバージョン2で定義された低遅延AAC コーダ(AAC LD)は、時が経つにつれて、全帯域高品質通信コーダとして適応してきているが、この適応は、シングルスピーカやスピーチ材料に焦点を合わせた通常のスピーチコーダは、音楽信号などに対する性能は悪いという制限に対応してはいない。この特別なコーデックは、例えば産業的な需要のために、低遅延AACプロファイルの作成の引き金となった、他の通信応用のテレビ会議のために広く使用されている。にもかかわらず、コーダの符号化効率の強化はユーザにとって大きな関心事であり、また、本発明のいくつかの実施形態が提供できる貢献の題目である。
【0161】
現在、MPEG−4 ER AAC LDコーデックは、チャンネル毎に64kbit/s〜48kbit/sの範囲のビットレートで良好なオーディオの質を提供している。コーダの符号化効率を向上させ、スピーチコーダに負けないものとするためには、実証済みのスペクトル帯域再生装置(SBR)を使用することが良い選択である。しかしこの題目に関する先の提案は、標準化に向かっては進まなかった。
【0162】
テレコミュニケーションなどの多くの応用分野で欠くことのできない低いコーデック遅延を失わないために、さらなる対策を講じなければならない。多くの場合、コーダ開発の必要条件として、コーダは20msと同程度の低さのアルゴリズム遅延を与えられるものでなければならないと定義している。幸運にも、この目的を達成するためには、既存の仕様に対して小さな変更を必要とするのみである。特に、たった二つの変更が必要となるだけであり、そのうちの一つがこの明細書で提示されている。AAC LDコーダフィルターバンクを低遅延フィルターバンク100,200の一実施形態へ置き換えることにより、多くの応用での重大な遅延増加を緩和できる。SBR装置へのわずかな変更により、図12に示すようなエンコーダ400の実施形態のような、これのコーダへの導入による遅延増加を緩和することができる。
【0163】
結果的に、低遅延フィルターバンクの実施形態を含む改良AAC ELDコーダ又はAAC ELデコーダは、単純なAAC LDコーダと同等の遅延を有する。しかし、詳細な実施状況によるが、同程度の質において、かなりのビットレートを節約することができる。より詳しくは、AAC ELDコーダは、AACLDコーダと比較して、同程度の質で、25%又は33%までビットレートを節約することができる。
【0164】
合成フィルターバンク又は解析フィルターバンクの実施形態は、いわゆる超低遅延AACコーデック(AAC ELD)に実施可能であり、これにより、詳細な実施状況及び応用の仕様によるが、作動範囲をチャンネル毎に24kbit/sまで拡大することができる。換言すれば、本発明の実施形態は、任意に付加的な符号化装置を用いて、AAC LD体系の拡張器としてコーダ内で使用され得る。このような任意の符号化装置はスペクトル帯域再生(SBR)装置であり、これはエンコーダの一実施形態及びデコーダの一実施形態のどちらにも内蔵又は取り付けできるものである。特に低ビットレート符号化の分野において、SBRは注目されている改良法である。それは、デュアルレートコーダの使用を可能にするからであり、デュアルレートコーダにおいて、符号化すべき周波数スペクトルの低域部分に対するサンプリング周波数は元のサンプラーのサンプリング周波数のたった半分である。同時にSBRは低域部分に基づき高域スペクトルの周波数範囲を符号化することができ、故に、全体的なサンプリング周波数は、原則的に2倍の率で低下される。
【0165】
つまり、SBR装置を使用することは、特に注目されており有用な遅延最適化された部品の実施を可能にし、デュアルコアコーダのサンプリング周波数の低下により、節約された遅延は、原則的に、システム全体の遅延を2倍の率で低下させる。
【0166】
このように、AAC LDとSBRの単純な組み合わせは、後に詳細に説明するように、合計60msのアルゴリズム遅延となる。従って、このような組み合わせは、一般的には相互双方向通信のためのシステム遅延は50msを超えるべきではないという通信応用分野にとっては不適当なコーデックである。
【0167】
解析フィルターバンク及び/又は合成フィルターバンクの一実施形態を実行することにより、故に、MDCTフィルターバンクをこれらの低遅延目的のフィルターバンクのうちの一つに置き換えることにより、前述したようなデュアルレートコーダを実施することによって生じる遅延の増大を緩和することができる。前記実施形態を実行することにより、AAC ELDコーダは、オーディオの質を保ちながら、通常のAAC LDコーダに比べてレートを25%から33%節約し、遅延を双方向通信のための許容範囲内に抑えられる。
【0168】
故に、合成フィルターバンク、解析フィルターバンク及び他の関連する実施形態に関して、本願は、少なくとも本発明のいくつかの実施形態における達成可能なコーダ性能の評価と共に、可能な技術的変更を説明している。このような低遅延フィルターバンクは、詳細な実施状況により、前述したように、MDCT又はIMDCTを使用する代わりに多重複を有する別のウィンドウ関数を使用することにより、実質的な遅延低下を達成することができ、同時に、完全な再生を可能にすることができる。このような低遅延フィルターバンクの一実施形態は、フィルター長を短縮せずに、いくつかの実施形態における何らかの状況下で完全な再生特性を保ちながら、再生遅延を低下させることができる。
【0169】
結果的に得られるフィルターバンクは従来のMDCTと同じ余弦変換関数を有するが、非対称であり、一般化され低下した再生遅延を有する長いウィンドウ関数を取り得る。前述したように、新しい低遅延ウィンドウを使用するこのような新規な低遅延フィルターバンクの一実施形態において、M=480〜720個のサンプルのフレームサイズの場合、MDCT遅延を960サンプルから低下させることができる。一般的に、フィルターバンクの一実施形態は、前述したように、M/4個の0の値のウィンドウ係数を使用するか、又は対応するフレームの第1部分が他の部分よりもM/4個少ないサンプルを含むように適当な部品を改造することによって、2Mの遅延を(2M−M/2)に低下させることができる。
【0170】
これらの低遅延ウィンドウ関数の例を図5〜7に示し、また、図6,7は従来の正弦ウィンドウとの比較を示している。しかし、前述したように、解析ウィンドウは単に合成ウィンドウの時間逆転コピーであることに注目すべきである。
【0171】
以下に、低ビットレート低遅延オーディオ符号化装置を達成するためのSBR装置とAAC LDコーダの組み合わせに関する技術説明をする。前述したように、デュアルレートシステムは、シングルレートシステムよりも高い符号化ゲインを達成するために使用される。デュアルレートシステムを採用することにより、重要でない周波数帯域を含み得るエネルギー効率の良い符号化がコーダによって提供され、コーダによって与えられるフレームから反復的な情報をある程度除くことでビット低下につながる。より詳細には、通信応用分野で許容可能な全体的遅延を達成するために、前述のような低遅延フィルターバンクの一実施形態がAAC LDコアコーダに使用されている。以下に、AAC LDコーダとAAC ELDコアコーダの両方に関する遅延を説明する。
【0172】
合成フィルターバンク又は解析フィルターバンクの一実施形態を採用し、改造MDCTウィンドウ/フィルターバンクを実施することにより、遅延低下が達成できる。低遅延フィルターバンクを得るために、MDCTやIMDCTを拡張するための既に説明したような多重複の多様なウィンドウ関数を使用することで、実質的な遅延低下が達成できる。低遅延フィルターバンクの技術は、多重複非直交ウィンドウの使用を可能にする。このようにして、ウィンドウ長よりも低い遅延を得ることができる。従って、良好な周波数選択性につながる長いインパルス応答を維持したまま低遅延が達成できる。
【0173】
前述したように、M=480サンプルのフレームサイズのための低遅延ウィンドウは、MDCT遅延を960サンプルから720サンプルに低下させる。
【0174】
つまり、MPEG−4 ER AAC LDコーデックと比較して、エンコーダ400の一実施形態及びデコーダ450の一実施形態は、ある状況下において、非常に小さいビット範囲で良好なオーディオの質を提供することができる。前記ER AAC LDコーデックは、チャンネル毎に64kb/sec〜48kb/secのビット範囲で良好なオーディオの質を提供するが、エンコーダ400及びデコーダ450の実施形態は、本明細書で説明しているように、ある状況下では、チャンネル毎に約32kb/secの低いビットレートでも、同等のオーディオの質を提供することができる。さらに、エンコーダ及びデコーダの実施形態は、双方向通信システムに使用できるほど十分小さいアルゴリズム遅延を有し、最小限の改造で現存の技術分野に実施可能である。
【0175】
特にエンコーダ400及びデコーダ450という形での本発明の実施形態は、現存のMPEG−4オーディオ技術を低遅延作動に必要な最小限の改造と組み合わせることで、これを達成する。前述の改造を考慮してコーダ400及びデコーダ450の実施形態を実現するために、特にMPEG−4 ER AAC低遅延コーダはMPEG−4スペクトル帯域再生(SPR)装置と組み合わせることができる。これによって生じるアルゴリズ遅延の増大は、本願では説明しないがSPR装置の小さな改造及び低遅延コアコーダフィルターバンクの一実施形態及び解析フィルターバンクまたは合成フィルターバンクの一実施形態の使用によって緩和される。詳細な実施状況により、このような改良AAC LDコーダは、双方向通信応用分野にとって十分な低遅延を保ちながら、単純なACC LDコーダと比較して、同レベルの質でビットレートを33%まで節約できる。
【0176】
遅延のより詳細な解析を図14を参照して行う前に、SBR装置を含む符号化システムを説明する。つまり、図14Aに示されている符号化システム500の全ての部品を、全体的なシステム遅延に対するそれらの影響に関して解析する。図14Aは完全なシステムの全体図であるが、図14Bは遅延源に注目したものである。
【0177】
図14Aに示すシステムは、MDCT時間/周波数コンバータを含むエンコーダ500を含み、エンコーダ500はデュアルレート方法でデュアルレートコーダとして作動する。エンコーダ500は、さらに、SBR装置の一部であるQMF解析フィルターバンク520を含む。MDCT時間/周波数コンバータ510とQMF解析フィルターバンク(QMF=直角鏡フィルター)が、それらの入力に関しても出力に関しても、互いに接続され
ている。つまり、MDCTコンバータ510及びQMF解析フィルターバンク520のどちらにも、同じ入力データが与えられる。しかし、MDCTコンバータ510は低帯域情報を出力し、QMF解析フィルターバンク520はSBRデータを出力する。これら両方のデータは一つのビットストリームに合成され、デコーダ530に送られる。
【0178】
デコーダ530はIMDCT周波数/時間コンバータ540を含み、IMDCT周波数/時間コンバータ540は、少なくとも低帯域において時間領域信号を得るためにビット
ストリームを復号化でき、この時間領域信号はその後遅延器550を介してデコーダの出力側に与えられる。さらに、IMDCTコンバータ540の出力側は、デコーダ530のSBR装置の一部であるさらに別のQMF解析フィルターバンク560と接続されている。また、SBR装置はHF生成器570を含み、このHF生成器570はQMF解析フィルターバンク560の出力側に接続され、エンコーダ500のQMF解析フィルターバンク520のSBRデータに基づき高周波成分を生成することができる。HF生成器570の出力側はQMF合成フィルターバンク580に接続され、このQMF合成フィルターバンク580は、QMF領域の信号を時間領域に変換し、遅延された低帯域信号がデコーダ530のSBR装置によって与えられるような高帯域信号と結合される。そして、この結果得られるデータは、デコーダ530の出力データとして提供される。
【0179】
図14Aと比較して、図14Bは図14Aに示すシステムの遅延源に注目している。より詳細には、エンコーダ500及びデコーダ530の詳細な実施状況によるが、図14BはSBR装置を含むMPEG−4 ER AAC LDシステムの遅延源を説明するものである。このオーディオシステムの適当なコーダは、512又は480サンプルのフレームサイズである時間/周波数/時間変換のためのMDCT/IMDCTフィルターバンクを使用する。これは、詳細な実施状況によるが、1024又は960サンプルと同等の再生遅延となる。MPEG−4 ER AAC LDコーデックをSBRと組み合わせてデュアルレートモードで使用する場合、そのサンプリングレート変換のために、遅延値は2倍となる。
【0180】
より詳細な全体的な遅延解析と必要条件は、SBR装置と組み合わされたAAC LDコーデックの場合には、48kHzのサンプリングレート及び480サンプルのコアコーダのフレームサイズで、16msという全体的なアルゴリズム遅延となることを示している。図15の表は、サンプリングレートが48kHzであり、コアコーダのフレームサイズが480サンプルである場合に、多様な部品によって引き起こされる遅延の全体像を示し、コアコーダはデュアルレート方式であるので、24kHzというサンプリングレートで効率的に作動する。
【0181】
図15の遅延源の概要は、SBR装置を伴うAAC LDコーデックの場合には、全体的なアルゴリズム遅延が60msとなり、これはテレコミュニケーションの応用分野での許容範囲よりも実質的に高いものである。この評価はAAC LDコーデックとSBR装置との標準的な組み合わせを含み、MDCT/IMDCTデュアルレート部品、QMF部品及びSBR重複部品からの遅延への影響を含む。
【0182】
しかし、前記変更及び前述の実施形態を使用することで、全体的な遅延をわずか42msとすることができ、これは、デュアルレートモードの低遅延フィルターバンク(ELD
MDCT + IMDCT)及びQMF部品の実施形態からの遅延への影響を含む。
【0183】
SBRモジュールに関してだけでなくAACコアコーダ内のいくつかの遅延源に関しても、AAC LDコアコーダのアルゴリズム遅延は2M個のサンプルであると説明でき、ここでもMはコアコーダの基本のフレーム長である。これとは対照的に、低遅延フィルターバンクは、初期部分160,270を導入することにより又は適当なウィンドウ関数に適当な個数の0の値又はそれに相当する他の値を導入することで、サンプルの個数をM/2個減らす。SBR装置との組み合わせでAACコアコーダを使用した場合、デュアルレートシステムにおけるサンプリングレート変換により、遅延は倍加される。
【0184】
図15の表に示されている数値のいくつかを明解にするために、二つの遅延源を同一視できる。一つには、QMF部品は640サンプルというフィルターバンクの再生遅延を含む。しかし、64−1=63サンプルのフレーム遅延はすでにコアコーダそのものによっ
て導入されているので、それが引かれて、図15の表に示されている577サンプルという値が得られる。
【0185】
他方、SBR HF再生は、多様な時間グリッドのために、6個のQMFスロットの標準的なSBR装置に関するさらなる遅延を引き起こす。従って、標準的なSBR装置内の遅延は、64サンプルの6倍つまり384サンプルである。
【0186】
フィルターバンクの実施形態及び改良SBR装置を使用するが、AAC LDコーダと60msの全体遅延を有するSBR装置とのそのままの組み合わせを実施しないことで、18msの遅延節約が達成でき、42msの全体遅延が達成できる。前述したように、これらの数値は48kHzのサンプリングレート及びM=480サンプルのフレーム長に基づくものである。換言すれば、前述のM=480サンプルといういわゆるフレーム遅延とは別に、遅延最適化の点では2番目に重要な局面である重複遅延は、合成フィルターバンク又は解析フィルターバンクの一実施形態を導入することでかなり低下され、低ビットレート低遅延オーディオ符号化システムが達成される。
【0187】
本発明の実施形態は、会議システムや他の双方向通信システム等の多様な応用分野で実施できる。1997年頃の概念では、AAC LDコーダの設計につながる一般的な低遅延オーディオ符号化システムのための遅延条件は、48kHzのサンプルレート及びM=480のフレームサイズで作動する場合、AAC LDに適合する20msのアルゴリズム遅延を達成するためのものであった。これとは対照的に、テレビ会議のようなこのコーデックの多様な実際の応用は32kHzのサンプリングレートを採用しており、従って、30msの遅延で作動する。同時に、IP基本の通信が重要となってきているので、最近のITUテレコミュニケーションコーデックの遅延条件は大体40msである。別の例として、40msのアルゴリズム遅延を有する最近のG.722.1アネックスCコーダ及び48msの遅延を有するG.729.1コーダが含まれる。このように、低遅延フィルターバンクの一実施形態を含む改良AAC LDコーダ又はAAC ELDコーダによって達成される全体遅延は、一般的なテレコミュニケーションコーダの遅延範囲内に完全に入るようにできる。
【0188】
図16は複数の入力フレームを合成するためのミキサー600の一実施形態を示すブロック図であり、各フレームは、異なる遅延源から送られてくるそれぞれの時間領域フレームのスペクトル表示である。例えば、ミキサー600への各入力フレームはエンコーダ400の一実施形態又は他の適当なシステム又は部品によって与えられ得る。図16においては、ミキサー600は3個の異なるソースから入力フレームを受信するように構成されている。しかし、これに制限されるものではない。より詳しくは、原則的に、ミキサー600の一実施形態は任意の個数の入力フレームを受信、処理するように構成でき、それぞれの入力フレームは異なるソース、例えば異なるエンコーダ400から与えられる。
【0189】
図16に示されているミキサー600の実施形態は、異なるソースから与えられる複数の入力フレームをエントロピー符号化できるエントロピーデコーダ610を含む。詳細な実施状況により、エントロピーデコーダ610は、例えば、ハフマンエントロピーデコーダ、又はいわゆる算術的符号化、単項符号化、エリアスガンマ符号化、フィボナッチ符号化、ゴロム符号化又はライス符号化のような別のエントロピー符号化を使用するエントロピーデコーダとして実施できる。
【0190】
エントロピー符号化された入力フレームは、その後、任意の非量子化装置620に送られる。この非量子化装置620は、エントロピー符号化された入力フレームを、人間の耳の音量特性など、その応用での状況に適合するように非量子化することができる。エントロピー符号化され、そして任意に非量子化された入力フレームは、その後、スケーラ64
0に送られ、そこで周波数領域に調整される。ミキサー600の詳細な実施状況により、スケーラ630は、例えば各値を一定の率1/Pで掛け算することで、エントロピー符号化され任意に非量子化された入力フレームのそれぞれを調整する。ここで、Pは異なるソース又はエンコーダ400の数を示す整数である。
【0191】
換言すれば、スケーラ630はこの場合、オーバーフロー又は他のコンピュータ演算上のエラーを防止するために信号が大きくなりすぎないように、あるいはクリッピングのような知覚可能な歪みを防止するために、量子化装置620又はエントロピーデコーダ610から送られたフレームを低下させることができる。スケーラ630の多様な実施が可能であり、例えば一つ又はそれ以上のスペクトル周波帯域に応じて、各入力フレームのエネルギーを評価することで、与えられたフレームをエネルギー保存方式で調整することができるスケーラも可能である。このような場合、これらのスペクトル帯域のそれぞれにおいて、その周波数領域の値は一定の率で掛け算され、全ての周波域に関して全体的なエネルギーは同じである。さらに又はあるいは、スケーラ630は、スペクトルの副グループのそれぞれのエネルギーが、全ての異なる音源からの全ての入力フレームに関して同じであるように、又は各入力フレームの全体的なエネルギーが一定であるように、構成されてもよい。
【0192】
スケーラ630は加算器640に接続され、加算器640は、スケーラによって与えられる周波数領域の調整後フレームとも称されるフレームを加算することができ、周波数領域の加算後フレームを生成する。これは、例えば、スケーラ630によって与えられる全ての調整後フレームからの同じサンプル指数に相当する全ての値を加算することで達成できる。
【0193】
加算器640は、スケーラ630によって与えられる周波数領域のフレームを加算することができ、この結果、加算後フレームを得るが、この加算後フレームはスケーラ630によって与えられる全てのソースの情報を含んでいる。ミキサー600の一実施形態は、さらなる任意の部品として、加算器640から加算後フレームが与えられる量子化装置650を含んでいてもよい。応用の際の必要条件に基づき、任意の量子化装置650は、例えば、何らかの条件を満たすように加算後フレームを変更するために使用され得る。例えば、量子化装置650は、非量子化装置620の技法が反転されたものであってもよい。換言すれば、例えばスペクトル特性がミキサーに与えられた入力フレームに内在する場合、これは非量子化装置620によって除去されるか変更されるが、量子化装置650はその後、これらの特定の必要条件を加算後フレームに与えるように構成されていてもよい。一例として、量子化装置650は、人間の耳の特性に適合するものとなっている。
【0194】
ミキサー600の実施形態は、更なる部品として、エントロピーエンコーダ660を含み、このエントロピーエンコーダ660は、任意に量子化された加算後フレームをエントロピー符号化でき、例えばエンコーダ450の一実施形態を含む一つ又はそれ以上の受信者に合成フレームを与えるものである。ここでもまた、エントロピーエンコーダ660は、ハフマンアルゴリズム又は他の前述のアルゴリズムに基づき加算後フレームのエントロピー符号化を行うものであってもよい。
【0195】
解析フィルターバンク、合成フィルターバンク又はエンコーダやデコーダに関連する他の実施形態を使用することで、周波数領域で信号を合成できるミキサーが得られる。換言すれば、前述した超低遅延AACコーデックのうちの一つの実施形態を採用することで、周波数領域で複数の入力フレームを直接合成でき、パラメータの切換えに適合させるためにそれぞれの入力フレームを時間領域に変換する必要がなく、スピーチ通信のための技術的現状のコーデックに使用できるミキサーが得られる。解析フィルターバンク及び合成フィルターバンクの実施形態に関して既に述べたように、これらの実施形態は、ブロック長
の変更や異なるウィンドウ間での切換え等のパラメータの切換えを行わなくても、作動可能である。
【0196】
図17は、例えばサーバーの構成に使用できるMCU(メディアコントロールユニット)という形での会議システム700の一実施形態を示す。会議システムつまりMCU700は複数のビットストリームを含み、図17では二つが示されている。エントロピーデコーダと非量子化装置の組み合わせ610,620、及び図17では「ミキサー」と記している合成ユニット630,640を含む。さらに、合成ユニット630,640の出力は、合成フレームを出力ビットストリームとして出力する量子化装置650とエントロピーエンコーダ660を含む合成ユニットに送られる。
【0197】
換言すれば、図17は複数の入力ビットストリームを周波数領域で合成することができる会議システム700を示している。入力ビットストリーム及び出力ビットストリームは、エンコーダ側で低遅延ウィンドウを使用して生成され、出力ビットストリームは、デコーダ側でも同じ低遅延ウィンドウに基づき処理されるべきでありまた処理できるものである。つまり、図17のMCU700は、一つの万能低遅延ウィンドウの使用に基づくものである。
【0198】
ミキサー600の一実施形態及び会議システム700の一実施形態は、故に、解析フィルターバンク、合成フィルターバンク及び他の関連する実施形態に応用するのに適している。より詳細には、ただ一つのウィンドウを有する低遅延コーデックの一実施形態の技術的応用により、周波数領域での合成が可能となる。例えば、二人以上の参加者又は二つ以上のソースを有する(テレビ)会議の場合、いくつかのコーデック信号を受信し、それらを一つの信号に合成しさらに符号化された信号に変換することがしばしば望まれる。エンコーダ側及びデコーダ側における本発明の実施形態を会議システム700及びミキサー600のいくつかの実施形態に採用することで、この実施の方法は、入力信号を復号化し、復号化された信号を時間領域で合成し、合成された信号を周波数領域に再び符号化する単純な方法と比較して、簡素化されている。
【0199】
図18には、MCUという形態でのこのような単純な方式のミキサーが、会議システム750として示されている。この会議システム750もまた、周波数領域の入力ビットストリームそれぞれのためのものであり、各入力ビットストリームをエントロピー復号化、非量子できる合成モジュール760を含む。しかし、図18の会議システム750において、それぞれのモジュール760はIMDCTコンバータ770に接続され、これらのうちの一つは正弦ウィンドウモードで作動し、他方は低重複モードで作動する。換言すれば、これら二つのIMDCTコンバータ770は入力ビットストリームを周波数領域から時間領域に変換する。会議システム750の場合には、入力ビットストリームがエンコーダに基づくものであり、そのエンンコーダは、それぞれの信号を符号化するのに、そのオーディオ信号に応じて正弦ウィンドウと低重複ウィンドウの両方を使用するので、IMDCTコンバータ770による変換が必要である。
【0200】
会議システム750はさらにミキサー780を含み、このミキサー780は、二つのIMDCTコンバータ770からの二つの入力信号を時間領域で合成し、合成された時間領域信号をMDCTコンバータ790に与える。MDCTコンバータ790は信号を時間領域から周波数領域に変換する。
【0201】
MDCT790によって与えられる周波数領域の合成信号は、その後合成モジュール795に送られ、そして量子化及びエントロピー符号化され、出力ビットストリームが形成される。
【0202】
しかし、会議システム750に係るアプローチには、二つの不利な点がある。二つのIMDCTコンバータ770及びMDCT790による完全な復号化と符号化のために、会議システム750を実施するにはコンピュータ演算に高いコストがかかる。また、この復号化及び符号化のために、ある状況下では高くなる可能性があるさらなる遅延が生じる。
【0203】
デコーダ側及びエンコーダ側に本発明の実施形態を採用することで、あるいはより詳細には新しい低遅延ウィンドウを使用することにより、いくつかの実施形態において、その詳細な実施状況により、これらの不利点を解消することができる。これは、図17の会議システム700に関して説明したように、周波数領域で合成を行うことにより達成できる。結果的に、図17の会議システム700の実施形態は、会議システム750の構成で使用しなければならない信号を周波数領域から時間領域に変換しその後再び戻すために、信号を復号化、符号化するための変換及び/又はフィルターバンクを含まない。つまり、ウィンドウ形状が多様である場合のビットストリームの合成は、MDCT/IMDCTコンバータ770,790のために一ブロックの遅延が追加されることになる。
【0204】
結果的に、ミキサー600のいくつかの実施形態及び会議システム700のいくつかの実施形態における更なる利点として、コンピュータ演算のコストが低くなり、更なる遅延が制限され、全く余分な遅延が生じない場合も可能である。
【0205】
図19は、低遅延フィルターバンクの効率的な応用の一実施形態を示す。図19の構成におけるコンピュータ演算の複雑性と更なる応用に関する面について述べる前に、例えばデコーダに使用できる合成フィルターバンク800の実施形態をより詳細に説明する。低遅延合成フィルターバンク800の実施形態は従って、解析フィルターバンクまたはエンコーダの実施形態の逆転を示している。
【0206】
合成フィルターバンク800は、複数の出力フレームをウィンドウ処理部と重複/加算器から成る合成モジュール820へ送ることができる逆転IV型離散余弦変換周波数/時間コンバータ810を含む。より詳細には、時間/周波数コンバータ810は逆転IV型離散余弦変換コンバータであり、これに、M個の順序良く整列された入力値yk(0),
…,yk(M−1)を含む入力フレームが与えられる。ここで、Mは正の整数であり、k
はフレーム指数を示す整数である。時間/周波数コンバータ810は、入力値に基づき2M個の順序良く整列されたサンプルを生成し、これらの出力サンプルを、前述したようにウィンドウ処理部と重複/加算器を含む合成モジュール820に送る。
【0207】
モジュール820のウィンドウ処理部は複数のウィンドウ処理後フレームを生成し、各ウィンドウ処理後フレームは以下の式に基づく複数のウィンドウ処理後サンプルzk(0
),…,zk(2M−1)を含む。
【0208】
【数14】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数である。そして、モジュール820の重複/加算器は以下の式に基づき複数の中間サンプルMk(0),…,Mk(M−1)を含む中間フレームを生成する。
【0209】
【数15】
合成フィルターバンク800の実施形態は更に、以下の式に基づき複数の加算後サンプルoutk(0),…,outk(m−1)を含む加算後フレームを生成するリフター850を含む。
【0210】
【数16】
l(M−1−n),…,l(M−1)は実数値リフト係数である。図19に示す低遅延フィルターバンク800のコンピュータ演算上効率的な実施形態は、リフター830の構成中に、複数の遅延器と積算器の組み合わせ840及び複数の加算器850を含み、前述の計算をリフター830内で実行する。
【0211】
合成フィルターバンク800の実施形態の詳細な実施状況によるが、各入力フレームがM=512個の入力値を有している場合、ウィンドウ係数w(n)は付録の表5に示されている関係に従うものである。各入力フレームがM=480個の入力値を有している場合、ウィンドウ係数w(n)は付録の表9に示されている関係に従うものである。さらに、付録の表6,10は、それぞれM=512、M=480の場合のリフト係数l(n)の関係を示している。
【0212】
しかし、合成フィルターバンク800のいくつかの実施形態において、各入力フレームがM=512個、M=480個の入力値を有する場合、ウィンドウ係数w(n)は、それぞれ付録の表7,表11に示されている値を含む。同様に、付録の表8,12は各入力フレームがM=512個、M=480個の入力値を有している場合のそれぞれのリフト係数l(n)の値を示している。
【0213】
つまり、低遅延フィルターバンク800の実施形態は、一般的なMDCTコンバータと同様に十分に実行可能である。このような実施形態の概略構成が図19に示されている。逆転DCT−IV及び逆転ウィンドウ−重複/加算が従来のウィンドウ処理と同様の方法で実行されるが、実施形態の詳細な実施状況に応じて、前述のウィンドウ係数を使用する。合成フィルターバンク200の実施形態におけるウィンドウ係数の場合と同様に、この場合にも、M/4個のウィンドウ係数が0の値のウィンドウ係数であり、従ってこれらはいかなる処理にも関与しないものである。リフター830の構成から明らかなように、過去への拡張された重複のために、たったM個の余分な積算加算処理が必要となるだけである。これらの追加処理は「0遅延マトリクス」と称される場合もある。これらの処理は「リフティングステップ」としても知られている。
【0214】
図19に示す効率的な実施は、合成フィルターバンク200のそのままの実施のように、ある状況下でより効率的になり得る。より詳しくは、詳細な実施状況に応じて、M個の処理のためのそのままの実施の場合のようなより効率的な実施が、M個の処理を節約する
ことになり得る。原則的には、図19に示す実施のように、モジュール820での2M個の処理及びリフター830でのM個の処理を行うのが賢明であろう。
【0215】
低遅延フィルターバンクの一実施形態の複雑さに関する評価に関して、特にコンピュータ演算の複雑さに関して、図20は、各入力フレームがM=512個の入力値を有する場合の図19に係る合成フィルターバンク800の一実施形態における算術的複雑性を示している。より詳細には、図20の表は、低遅延ウィンドウ関数のウィンドウ処理を伴う(修正)IMDCTの場合の全体的な処理数の見積もりを示している。全体的な処理数は9600である。
【0216】
比較のために、図21の表は、パラメータM=512の場合の正弦ウィンドウに基づくウィンドウ処理に必要な複雑さを伴うIMDCTの算術的複雑性を示し、AAC LDコーデックのようなコーデックの合計処理数が示されている。より詳細には、正弦ウィンドウのウィンドウ処理を伴うこのIMDCTコンバータの算術的複雑性は9216処理であり、これは、図19に示す合成フィルターバンク800の実施形態における全体的な処理数と同程度のものである。
【0217】
更なる比較として、図22の表は、低複雑性改良オーディオコーデックとしても知られているAAC LDコーデックの場合を示す。AAC LD(M=1024)のためのウィンドウ重複処理を含むこのIMDCTコンバータの算術的複雑性は19968である。
【0218】
これらの数値を比較すると、超低遅延フィルターバンクの実施形態を使用するコアコーダの複雑性は、一般的なMDCT−IMDCTフィルターバンクを使用するコアコーダの複雑性と同程度であることがわかる。さらに、その処理数はAAC LDコーデックの処理数の約半分である。
【0219】
図23は二つの表からなり、図23Aは多種のコーデックの必要メモリーの比較を示し、図23BはROMの必要量に関する同様の評価を示す。より詳細には、図23A,23Bの表には、前述のコーデック、AAC LD、AAC ELD及びAAC LCに関して、フレーム長、作業バッファ及びステートバッファに関する情報(図23A)、また、フレーム長、ウィンドウ係数の個数及びROMメモリーの合計必要量に関する情報(図23
B)が示されている。前述したように、図23A,23Bの表中のAAC ELDは合成
フィルターバンク、解析フィルターバンク、エンコーダ、デコーダの実施形態又は後述の実施形態を指すものである。つまり、正弦ウィンドウを使用するIMDCTと比較して、図19の低遅延フィルターバンクの効率的な実施形態は、ステートメモリーのMの長さ分の追加、M個の係数の追加、及びリフト係数l(0),…、l(M−1)を必要とする。AAC LDのフレーム長はAAC LCの半分であるので、実施形態が結果的に必要とするメモリー量はAAC LCの範囲内である。
【0220】
メモリー必要量の点で、図23A,23Bの表は、前記3つのコーデックに関してRAMとROMの必要量を比較している。これらの表から、低遅延フィルターバンクのためのメモリー増加はわずかなものであることがわかる。全体的なメモリー必要量は、AAC LCコーデックまたはその実行と比較してまだずっと低いものである。
【0221】
図24は、性能評価で使用されるMUSHRAテストに使用されたコーデックのリストである。図24の表中、AOTはオーディオ用であることを示し、その欄の「X」は、39にもセットされ得るオーディオ用ER AAC ELDを示している。つまり、AOT
X又はAOT 39は合成フィルターバンク又は解析フィルターバンクの一実施形態と同じである。
【0222】
MUSHRAテストにおいて、リストにある全ての組み合わせに対してリスニングテストを行うことにより、低遅延フィルターバンクを前記コーダに使用することの影響をテストした。これらのテスト結果から、以下のことが結論づけられる。一チャンネルにつき32kbit/sでのAAC ELDデコーダは、32kbit/sの元々のAAC LDデコーダよりもかなり性能が良い。また、各チャンネルにつき32kbit/sでのAAC ELDデコーダは、一チャンネルにつき48kbit/sの元々のAAC LDデコーダとは統計的に差はない。チェックポイントコーダとしてのAAC LDと低遅延フィルターバンクとの組み合わせと、元々のAAC LDデコーダは、どちらも48kbit/sで作動し、これらの間には統計的な差はない。これは、低遅延フィルターバンクの妥当性を確認するものである。
【0223】
このように、全体的なコーダ性能は従来のものと類似であるが、コーデック遅延に関して重大な節約が達成できる。さらに、コーダ圧縮性能を保持することができた。
【0224】
前述したように、AAC ELDコーデックの実施形態のような本発明の実施形態の期待できる応用場面は、ハイファイビデオによるテレビ会議及び次世代の声のIP応用分野である。これは、会話や音楽等の、また、マルチメディアに関して高い質で競争力のあるビットレートでの任意のオーディオ信号の転送を含む。本発明の実施形態(AAC ELD)は低いアルゴリズム遅延を有するので、このコーデックのあらゆる種類の通信への応用が可能になる。
【0225】
さらに、本願では、スペクトル帯域再生(SBR)装置と任意に組み合わせ可能な改良AAC ELDデコーダの構成を説明してきた。遅延の増大を抑制するために、SBR装置及びコアコーダモジュールに対して、実際の状況に応じた細かい変更が必要となるかもしれない。前記の技術に基づく超低遅延オーディオデコーダの性能は、現在普及しているMPEG−4標準のものと比較して、かなり高いものである。しかし、コア符号化の構成は基本的に変わらない。
【0226】
また、本発明の実施形態は、低遅延解析ウィンドウまたは低遅延合成フィルターを有する解析フィルターバンク又は合成フィルターバンクを含む。さらに、信号解析方法又は信号合成方法の一実施形態は、低遅延解析フィルタリングステップ又は低遅延合成フィルタリングステップを含む。低遅延解析フィルター、低遅延合成フィルターの実施形態もまた説明されている。さらに、コンピュータ上で起動された際、前記方法のうちの一つを実行するためのプログラムコードを有するコンピュータプログラムも開示されている。本発明の一実施形態は、また、低遅延解析フィルターを有するエンコーダ又は低遅延合成フィルターを有するデコーダ、あるいはこれらに相当する方法のうちのいずれかを含む。
【0227】
本発明の方法の実施の条件に応じて、本発明の方法はハードウェアとして又はソフトウェアとして実施可能である。この実施は、デジタル記憶装置、特に、電気的に読み取り制御可能な信号を記憶しているディスク、CD又はDVDを使用して実行可能であり、これらのデジタル記憶装置は、本発明の方法の一実施形態を実行するためにプログラム可能なコンピュータ又はプロセッサと協働する。従って、本発明の実施形態は、一般的に、機械読み取り可能なキャリアに記憶されたプログラムコードを有するコンピュータプログラム製品であり、このプログラムコードは、コンピュータプログラム製品がコンピュータ又はプロセッサ上で起動された際、本発明の方法の一実施形態を実行するように働くものである。換言すれば、本発明の方法の実施形態は、コンピュータ又はプロセッサ上で起動された際、本発明の方法の実施形態のうちの少なくともいずれか一つを実行するためのプログラムコードを有するコンピュータプログラムである。これに関して、プロセッサは、CPU(中央処理ユニット)、ASIC(応用特定集積回路)又はさらに別の集積回路(IC)を含むものである。
【0228】
前記説明では、特に好ましい実施形態に関して述べたが、本発明の範囲内において形態やその他詳細な点で多様な変更を加え得ることは、当業者には明白であろう。ここで開示した広い概念の範囲内において、多様な変更を加えて異なる実施形態とすることは明白であり、以下の請求項から明らかである。
【0229】
付録
表1(ウィンドウ係数 w(n);N=960)
【表1a】
【0230】
【表1b】
【0231】
【表1c】
【0232】
【表1d】
【0233】
【表1e】
【0234】
【表1f】
【0235】
【表1g】
【0236】
【表1h】
【0237】
【表1i】
【0238】
【表1j】
【0239】
【表1k】
@0206
【0240】
【表1l】
【0241】
【表1m】
【0242】
【表1n】
【0243】
【表1o】
【0244】
【表1p】
【0245】
【表1q】
【0246】
【表1r】
【0247】
【表1s】
【0248】
【表1t】
【0249】
【表1u】
【0250】
表2(ウィンドウ係数 w(n);N=960)
【表2a】
【0251】
【表2b】
【0252】
【表2c】
【0253】
【表2d】
【0254】
【表2e】
【0255】
【表2f】
【0256】
【表2g】
【0257】
【表2h】
【0258】
【表2i】
【0259】
【表2j】
【0260】
【表2k】
【0261】
【表2l】
【0262】
【表2m】
【0263】
【表2n】
【0264】
【表2o】
【0265】
【表2p】
【0266】
【表2q】
【0267】
【表2r】
【0268】
表3(ウィンドウ係数 w(n);N=1024)
【表3a】
【0269】
【表3b】
【0270】
【表3c】
【0271】
【表3d】
【0272】
【表3e】
【0273】
【表3f】
【0274】
【表3g】
【0275】
【表3h】
【0276】
【表3i】
【0277】
【表3j】
【0278】
【表3k】
【0279】
【表3l】
【0280】
【表3m】
【0281】
【表3n】
【0282】
【表3o】
【0283】
【表3p】
【0284】
【表3q】
【0285】
【表3r】
【0286】
【表3s】
【0287】
【表3t】
【0288】
【表3u】
【0289】
【表3v】
【0290】
表4(ウィンドウ係数 w(n);N=1024)
【表4a】
【0291】
【表4b】
【0292】
【表4c】
【0293】
【表4d】
【0294】
【表4e】
【0295】
【表4f】
【0296】
【表4g】
【0297】
【表4h】
【0298】
【表4i】
【0299】
【表4j】
【0300】
【表4k】
【0301】
【表4l】
【0302】
【表4m】
【0303】
【表4n】
【0304】
【表4o】
【0305】
【表4p】
【0306】
【表4q】
【0307】
【表4r】
【0308】
【表4s】
【0309】
表5(ウィンドウ係数 w(n);M=512)
【表5a】
【0310】
【表5b】
【0311】
【表5c】
【0312】
【表5d】
【0313】
【表5e】
【0314】
【表5f】
【0315】
【表5g】
【0316】
【表5h】
【0317】
【表5i】
【0318】
【表5j】
【0319】
【表5k】
【0320】
表6(リフト係数 l(n);M=512)
【表6a】
【0321】
【表6b】
【0322】
【表6c】
【0323】
【表6d】
【0324】
【表6e】
【0325】
【表6f】
【0326】
表7(ウィンドウ係数 w(n);M=512)
【表7a】
【0327】
【表7b】
【0328】
【表7c】
【0329】
【表7d】
【0330】
【表7e】
【0331】
【表7f】
【0332】
【表7g】
【0333】
【表7h】
【0334】
【表7i】
【0335】
【表7j】
【0336】
表8(リフト係数 l(n);M=512)
【表8a】
【0337】
【表8b】
【0338】
【表8c】
【0339】
【表8d】
【0340】
【表8e】
【0341】
表9(ウィンドウ係数 w(n);M=480)
【表9a】
【0342】
【表9b】
【0343】
【表9c】
【0344】
【表9d】
【0345】
【表9e】
【0346】
【表9f】
【0347】
【表9g】
【0348】
【表9h】
【0349】
【表9i】
【0350】
【表9j】
【0351】
【表9k】
【0352】
表10(リフト係数 l(n);M=480)
【表10a】
【0353】
【表10b】
【0354】
【表10c】
【0355】
【表10d】
【0356】
【表10e】
【0357】
【表10f】
【0358】
表11(ウィンドウ係数 w(n);M=480)
【表11a】
【0359】
【表11b】
【0360】
【表11c】
【0361】
【表11d】
【0362】
【表11e】
【0363】
【表11f】
【0364】
【表11g】
【0365】
【表11h】
【0366】
【表11i】
【0367】
表12(リフト係数 l(n);M=480)
【表12a】
【0368】
【表12b】
【0369】
【表12c】
【0370】
【表12d】
【0371】
【表12e】
【特許請求の範囲】
【請求項1】
複数の入力フレームをフィルタリングするための合成フィルターバンクであり、各入力フレームは順序良く整列された複数の入力値を含み、該合成フィルターバンクは以下のものを含む、
複数の出力フレームを生成するための周波数/時間コンバータであり、各出力フレームは複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である、
複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部であり、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む、
開始部分と残余部分を含む加算後フレームを出力するための重複/加算器であり、該加算後フレームは、該残余部分内の一つの加算後サンプルのために少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算し、該開始部分内の一つの加算後サンプルのために少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルを合算することによる複数の加算後サンプルを含む、
前記ウィンドウ処理部は、サンプル先行値に基づく複数の入力フレームの重複方式での処理のために、複数のウィンドウ処理後サンプルを出力し、
前記残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数に比べて少なくとも1多い、
あるいは、
前記ウィンドウ処理部は、複数のウィンドウ処理後フレームのうちの各ウィンドウ処理後フレームに関して、出力値の整列順序の上で少なくとも最初の出力値を無視するか又はそれに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットし、かつ
前記重複/加算器は、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき該残余部分内の一つの加算後サンプルを出力し、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルに基づき該開始部分内の一つの加算後サンプルを出力することで、複数の加算後サンプルを出力し、
前記重複/加算器は、前記サンプル先行値と等しい個数の加算後サンプルを含む加算後フレームを生成する。
【請求項2】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器において、加算後フレームの残余部分内の一つの加算後サンプルは、ウィンドウ処理部によって無視されない出力サンプル、あるいは既定値にセットされない又は既定範囲内の一つの値にセットされないウィンドウ処理後サンプルに対応し、加算後フレームの開始部分内の一つの加算後サンプルは、ウィンドウ処理部によって無視される出力サンプル、あるいは既定値にセットされる又は既定範囲内の一つの値にセットされるウィンドウ処理後サンプルに対応する。
【請求項3】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数と比較してその2倍よりも多くの出力サンプルを含む出力フレームを出力する。
【請求項4】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数を2よりも大きい整数で掛けた数と等しい個数の出力サンプルを含む出力フレームを出力する。
【請求項5】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数を4で掛けた数と等しい個数の出力サンプルを含む出力フレームを出力する。
【請求項6】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、離散余弦変換と離散正弦変換のうちの少なくとも一つに基づくものである。
【請求項7】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは以下の式に基づき出力サンプルxi,nを出力する、
【数1】
iはウィンドウ指数、ブロック指数又はフレーム指数を示す整数、nはサンプル指数を示す整数、kはスペクトル係数指数を示す整数、Nは一つの出力フレームの出力サンプルの個数の半分を示す整数、
【数2】
はオフセット値、spec[i][k]はスペクトル係数指数k及びウィンドウ指数iに対応する入力値である。
【請求項8】
請求項7に記載の合成フィルターバンクであり、前記周波数/時間コンバータにおいて、Nは960又は1024である。
【請求項9】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は一つの出力フレームの複数の出力サンプルを無視するか、又は複数のウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。
【請求項10】
請求項9に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記複数の無視された出力サンプルは出力サンプルの整列順序の上で最初の出力サンプルを含む出力サンプルの連続部分を含み、あるいは、既定値又は既定範囲内の少なくとも一つの値にセットされた前記複数のウィンドウ処理後サンプルは該最初の出力サンプルに対応するウィンドウ処理後サンプルを少なくとも含むウィンドウ処理後サンプルの連続部分を含む。
【請求項11】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つの出力フレームと一つの重み付け関数に基づき、該出力フレームの少なくとも一つの出力サンプルを該重み付け関数で重み付けすることで一つのウィンドウ処理後フレームを生成する。
【請求項12】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つの出力フレームに基づき、該出力フレームの少なくとも一つの出力サンプルを重み付け関数に基づく値で掛け算することで一つのウィンドウ処理後フレームを生成する。
【請求項13】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、出力フレームの少なくとも複数の出力サンプルをウィンドウ関数の出力サンプル特定ウィンドウ係数で掛け算する。
【請求項14】
請求項13に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、出力フレームの各出力サンプルをウィンドウ関数の出力サンプル特定ウィンドウ係数で掛け算する。
【請求項15】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は以下の式に基づきウィンドウ処理後サンプルzi,nを生成する、
【数3】
iはウィンドウ処理後フレーム及び/又は出力フレームのフレーム指数又はブロック指数を示す整数、n=0,…,2N−1はサンプル指数を示す整数、Nは入力フレームの入力値の個数の2倍、及び/又は、出力フレームの出力サンプル及び又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、w(n)はウィンドウ関数、xi,nはサンプル指数n及びフレーム指数iを有する出力サンプルである。
【請求項16】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は以下の式に基づきウィンドウ処理後サンプルzi,nを生成する、
【数4】
iはウィンドウ処理後フレーム及び/又は出力フレームのフレーム指数又はブロック指数を示す整数、n=N/8,…,2N−1はサンプル指数を示す整数、Nは入力フレームの入力値の個数の2倍、及び/又は、出力フレームの出力サンプル及び又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、w(n)はウィンドウ関数、xi,nはサンプル指数n及びフレーム指数iを有する出力サンプルである。
【請求項17】
請求項15に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Nは960であり、ウィンドウ係数w(0)〜w(2N−1)は付録の表1に示されている関係に従うものである。
【請求項18】
請求項17に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0)〜w(2N−1)が付録の表2に示されている値を含む。
【請求項19】
請求項15に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Nは1024であり、ウィンドウ係数w(0)〜w(2N−1)は付録の表3に示されている関係に従うものである。
【請求項20】
請求項18に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0)〜w(2N−1)は付録の表4に示されている値を含む。
【請求項21】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数の実数値ウィンドウ係数は定義集合の要素に起因する。
【請求項22】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、定義集合全体に渡り、定義集合の中心点に関して非対称である。
【請求項23】
請求項22に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、ウィンドウ関数のウィンドウ係数のうちの最大絶対値の10%よりも大きい絶対値を有するウィンドウ係数を、定義集合の中心点を基準とする定義集合の第1の半分においての方が定義集合の第2の半分よりも多く含み、該第1の半分は出力サンプルの前半に対応する。
【請求項24】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、合成フィルターバンクへの入力フレームを生成した際に使用したウィンドウ関数の鏡映化版であるか又はそれと同じものである。
【請求項25】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、合成フィルターバンクへの入力フレームを生成した際に使用したウィンドウ関数と比較して、ウィンドウ関数の中心点に関して鏡映されたウィンドウ関数である。
【請求項26】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記既定値は0である。
【請求項27】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つのウィンドウ処理後サンプルを最小閾値よりも小さい絶対値を有する値にセットすること、及び該ウィンドウ処理後サンプルを最大閾値よりも大きい絶対値を有する値にセットすることの少なくともどちらか一方により、ウィンドウ処理後サンプルを既定範囲内の一つの値にセットする。
【請求項28】
請求項27に記載の合成フィルターバンクであり、前記最小閾値又は最大閾値は10s又は2sによって与えられ、sは整数である。
【請求項29】
請求項27に記載の合成フィルターバンクであり、入力サンプル、出力サンプル及びウィンドウ処理後サンプルのうちの少なくとも一つが2進法表示の場合、前記最小閾値は一つ又は複数の最も非重要なビットにより表示可能な最大絶対値によって決定され、あるいは最大閾値は一つ又は複数の最も重要なビットにより表示可能な最小絶対値によって決定される。
【請求項30】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、無視される出力サンプルの個数、又は既定値又は既定範囲内の少なくとも一つの値にセットされるウィンドウ処理後サンプルの個数は、出力フレームの出力値の個数を64で割った数以上である。
【請求項31】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、無視される出力サンプルの個数、又は既定値又は既定範囲内の少なくとも一つの値にセットされるウィンドウ処理後サンプルの個数は、加算後フレームの加算後サンプルの個数を16で割った数以上である。
【請求項32】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は128又は120個の出力値を無視するか、あるいは120又は128個のウィンドウ処理後サンプルを既定値又は既定範囲内の値にセットする。
【請求項33】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、ウィンドウ処理部によって連続的に生成された少なくとも3個のウィンドウ処理後フレームに基づき、加算後フレームを生成する。
【請求項34】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、周波数/時間コンバータによって連続的に生成された少なくとも3個のウィンドウ処理後フレームに基づき、加算後フレームを生成する。
【請求項35】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は複数の加算後サンプルを含む加算後フレームを出力し、該加算後フレームは、ウィンドウ処理部によって無視された出力サンプルに基づくものではなく、既定値又は既定範囲内の値にセットされないウィンドウ処理後サンプルに対応する加算後サンプルとして、少なくとも4個の異なるウィンドウ処理後フレームからの少なくとも4個のウィンドウ処理後サンプルに基づく加算後サンプルを含み、ウィンドウ処理部によって無視された出力サンプル、あるいは既定値又は既定範囲内の値にセットされたウィンドウ処理後サンプルに対応する加算後サンプルとして、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づく加算後サンプルを含む。
【請求項36】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を2で割った数よりも少ない個数の加算後サンプルを含む加算後フレームを出力する。
【請求項37】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を2よりも大きい整数で割った数と同じ個数の加算後サンプルを含む加算後フレームを出力する。
【請求項38】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を4で割った数と同じ個数の加算後サンプルを含む加算後フレームを出力する。
【請求項39】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は以下の式に基づき、加算後サンプルouti,nを出力する。
【数5】
iはウィンドウ処理後フレーム及び/又は加算後フレームのフレーム指数又はブロック指数を示す整数、nはサンプル指数を示す整数、Nは出力フレームの出力サンプル及び/又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、zi,nはサンプル指数n及びフレーム指数iに対応するウィンドウ処理後サンプルである。
【請求項40】
請求項1ないし請求項39のいずれかに記載の合成フィルターバンクであり、該合成フィルターバンクはデコーダ内に含まれる。
【請求項41】
請求項40に記載の合成フィルターバンクであり、前記デコーダは、複数の符号化されたフレームを復号化するためのエントロピーデコーダをさらに含み、該エントロピーデコーダは、符号化されたフレームに基づく複数の入力フレームを該合成フィルターバンクに提供する。
【請求項42】
複数の入力フレームをフィルタリングするための合成フィルターバンクであり、各入力フレームはM個の順序良く整列された入力値yk(0),…,yk(M−1)を含み、Mは正の整数、kはフレーム指数を示す整数であり、該合成フィルターバンクは以下のものを含む、
複数の出力フレームを出力するための逆転IV型離散余弦変換周波数/時間コンバータであり、各出力フレームは入力値yk(0),…,yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)を含む、
複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部であり、各ウィンドウ処理後フレームは以下の式に基づくウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む、
【数6】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である、
以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器、
【数7】
以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後サンプルを生成するためのリフター、
【数8】
l(0),…,l(M−1)は実数値リフト係数である。
【請求項43】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Mは512であり、ウィンドウ係数w(0),…,w(2M−1)は付録の表5に示されている関係に従うものであり、前記リフターにおいて、リフト係数l(0),…,l(M−1)は付録の表6に示されている関係に従うものである。
【請求項44】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0),…,w(2M−1)は付録の表7に示されている値を含み、前記リフターにおいて、リフト係数l(0),…,l(2M−1)は付録の表8に示されている値を含む。
【請求項45】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Mは480であり、ウィンドウ係数w(0),…,w(2M−1)は付録の表9に示されている関係に従うものであり、前記リフターにおいて、リフト係数l(0),…,l(M−1)は付録の表10に示されている関係に従うものである。
【請求項46】
請求項45に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0),…,w(2M−1)は付録の表11に示されている値を含み、前記リフターにおいて、リフト係数l(0),…,l(2M−1)は付録の表12に示されている値を含む。
【請求項47】
請求項42ないし請求項46のいずれかに記載の合成フィルターバンクであり、該合成フィルターバンクはデコーダ内に含まれる。
【請求項48】
請求項47に記載の合成フィルターバンクであり、前記デコーダは、複数の符号化されたフレームを復号化するためのエントロピーデコーダをさらに含み、該エントロピーデコーダは、符号化されたフレームに基づく複数の入力フレームを該合成フィルターバンクに提供する。
【請求項49】
複数の入力フレームを合成するためのミキサーであり、各入力フレームはそれに対応する時間領域フレームのスペクトル表示であり、該複数の入力フレームのそれぞれの入力フレームは異なるソースから与えられ、該ミキサーは以下のものを含む、
前記複数の入力フレームをエントロピー復号化するためのエントロピーデコーダ、
周波数領域でエントロピー復号化された複数の入力フレームを調整し、周波数領域で複数の調整後フレームを得るためのスケーラであり、各調整後フレームは一つのエントロピー復号化された入力フレームに対応する、
周波数領域の加算後フレームを生成するために、周波数領域の調整後フレームを加算するための加算器、
合成フレームを得るために加算後フレームをエントロピー符号化するためのエントロピーエンコーダ。
【請求項50】
請求項49に記載のミキサーであり、エントロピー復号化された入力フレームを非量子化し、エントロピー復号化された入力フレームを非量子化された形でスケーラに与えるための非量子化装置をさらに含む。
【請求項51】
請求項49に記載のミキサーであり、加算後フレームを量子化し、量子化された加算後フレームをエントロピーエンコーダに与えるための量子化装置をさらに含む。
【請求項52】
請求項50に記載のミキサーであり、前記スケーラは、複数の入力フレームの各入力値を1/Pで掛け算することにより非量子化された入力フレームを調整し、Pは異なるソースの数を示す整数である。
【請求項53】
請求項52に記載のミキサーであり、前記スケーラは、入力フレームの入力値をエネルギー保存方法で調整することによって、エントロピー復号化された入力フレームを調整する。
【請求項54】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームに基づき合成フレームを与えるように構成され、複数の入力フレームのそれぞれの入力フレームは同じ合成ウィンドウ関数に基づき生成される。
【請求項55】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームに基づき合成フレームを生成するように構成され、複数の入力フレームのそれぞれの入力フレームは、複数の時間領域入力フレームをフィルタリングする解析フィルターバンクを含むエンコーダによって生成され、各入力フレームは複数の順序良く整列された入力サンプルを含み、該解析フィルターバンクは複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含み、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、該ウィンドウ処理部は複数の入力フレームをサンプル先行値を使用して重複方式で処理し、サンプル先行値は一つの入力フレーム内に整列された入力サンプルの個数を2で割った数よりも小さく、前記解析フィルターバンクは、複数の出力値を含む出力フレームを与えるための時間/周波数コンバータを含み、出力フレームはウィンドウ処理後フレームのスペクトル表示である。
【請求項56】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームを処理し、チャンネル毎のビットレートが36kbit/sよりも小さい合成フレームを与える。
【請求項57】
請求項49ないし請求項56のいずれかに記載のミキサーであり、該ミキサーは会議システムに含まれる。
【請求項58】
複数のオーディオ入力フレームをフィルタリングする方法であり、各入力フレームは順序良く整列された複数の入力値を含み、該方法は以下のステップを含む、
周波数/時間変換を行い、複数の出力フレームを生成するステップであり、各出力フレームは複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である、
サンプル先行値に基づく複数のウィンドウ処理後フレームの重複方式での処理のために、複数の出力サンプルを処理することによって、複数のウィンドウ処理後フレームを生成するステップであり、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む、
開始部分と残余部分を含む加算後フレームを生成するステップ、
該加算後フレームは、該残余部分内に、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルの合算による加算後サンプルを含み、該開始部分内に、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルの合算による加算後サンプルを含み、
前記残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数に比べて少なくとも1多い、
あるいは、
前記複数のウィンドウ処理後フレームの生成は、該複数のウィンドウ処理後フレームのそれぞれに対して、出力値の整列順序の上で少なくとも最初の出力値を無視するか又はそれに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットすることを含み、かつ
前記加算後フレームの生成は、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき該残余部分内の一つの加算後サンプルを与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルに基づき該開始部分内の一つの加算後サンプルを与えることを含み、かつ
前記加算後フレームの生成は、前記サンプル先行値と等しい個数の加算後サンプルを含む加算後フレームの生成を含む。
【請求項59】
複数のオーディオ入力フレームをフィルタリングするための方法であり、各入力フレームはM個の順序良く整列された入力値yk(0),…,yk(M−1)を含み、Mは正の整数、kは入力フレーム指数を示す整数であり、該方法は以下のステップを含む、
逆転IV型離散余弦変換を実行し、入力値yk(0),…,yk(M−1)に基づき複数の出力フレームxk(0),…,xk(2M−1)を出力するステップ、
複数のウィンドウ処理後フレームを生成するステップであり、各ウィンドウ処理後フレームは以下の式に基づくウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む、
【数9】
nは整数である、
複数の中間フレームを生成するステップであり、各中間フレームは以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む、
【数10】
以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む複数の加算後フレームを生成するステップ、
【数11】
w(0),…,w(2M−1)は実数値ウィンドウ係数であり、
l(0),…,l(M−1)は実数値リフト係数である。
【請求項60】
コンピュータ上で起動された際、請求項58又は請求項59に記載の方法を実行させるためのコンピュータプログラム。
【請求項1】
複数の入力フレームをフィルタリングするための合成フィルターバンクであり、各入力フレームは順序良く整列された複数の入力値を含み、該合成フィルターバンクは以下のものを含む、
複数の出力フレームを生成するための周波数/時間コンバータであり、各出力フレームは複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である、
複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部であり、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む、
開始部分と残余部分を含む加算後フレームを出力するための重複/加算器であり、該加算後フレームは、該残余部分内の一つの加算後サンプルのために少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルを合算し、該開始部分内の一つの加算後サンプルのために少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルを合算することによる複数の加算後サンプルを含む、
前記ウィンドウ処理部は、サンプル先行値に基づく複数の入力フレームの重複方式での処理のために、複数のウィンドウ処理後サンプルを出力し、
前記残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数に比べて少なくとも1多い、
あるいは、
前記ウィンドウ処理部は、複数のウィンドウ処理後フレームのうちの各ウィンドウ処理後フレームに関して、出力値の整列順序の上で少なくとも最初の出力値を無視するか又はそれに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットし、かつ
前記重複/加算器は、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき該残余部分内の一つの加算後サンプルを出力し、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルに基づき該開始部分内の一つの加算後サンプルを出力することで、複数の加算後サンプルを出力し、
前記重複/加算器は、前記サンプル先行値と等しい個数の加算後サンプルを含む加算後フレームを生成する。
【請求項2】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器において、加算後フレームの残余部分内の一つの加算後サンプルは、ウィンドウ処理部によって無視されない出力サンプル、あるいは既定値にセットされない又は既定範囲内の一つの値にセットされないウィンドウ処理後サンプルに対応し、加算後フレームの開始部分内の一つの加算後サンプルは、ウィンドウ処理部によって無視される出力サンプル、あるいは既定値にセットされる又は既定範囲内の一つの値にセットされるウィンドウ処理後サンプルに対応する。
【請求項3】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数と比較してその2倍よりも多くの出力サンプルを含む出力フレームを出力する。
【請求項4】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数を2よりも大きい整数で掛けた数と等しい個数の出力サンプルを含む出力フレームを出力する。
【請求項5】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、一つの入力フレームの入力値の個数を4で掛けた数と等しい個数の出力サンプルを含む出力フレームを出力する。
【請求項6】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは、離散余弦変換と離散正弦変換のうちの少なくとも一つに基づくものである。
【請求項7】
請求項1に記載の合成フィルターバンクであり、前記周波数/時間コンバータは以下の式に基づき出力サンプルxi,nを出力する、
【数1】
iはウィンドウ指数、ブロック指数又はフレーム指数を示す整数、nはサンプル指数を示す整数、kはスペクトル係数指数を示す整数、Nは一つの出力フレームの出力サンプルの個数の半分を示す整数、
【数2】
はオフセット値、spec[i][k]はスペクトル係数指数k及びウィンドウ指数iに対応する入力値である。
【請求項8】
請求項7に記載の合成フィルターバンクであり、前記周波数/時間コンバータにおいて、Nは960又は1024である。
【請求項9】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は一つの出力フレームの複数の出力サンプルを無視するか、又は複数のウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットする。
【請求項10】
請求項9に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記複数の無視された出力サンプルは出力サンプルの整列順序の上で最初の出力サンプルを含む出力サンプルの連続部分を含み、あるいは、既定値又は既定範囲内の少なくとも一つの値にセットされた前記複数のウィンドウ処理後サンプルは該最初の出力サンプルに対応するウィンドウ処理後サンプルを少なくとも含むウィンドウ処理後サンプルの連続部分を含む。
【請求項11】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つの出力フレームと一つの重み付け関数に基づき、該出力フレームの少なくとも一つの出力サンプルを該重み付け関数で重み付けすることで一つのウィンドウ処理後フレームを生成する。
【請求項12】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つの出力フレームに基づき、該出力フレームの少なくとも一つの出力サンプルを重み付け関数に基づく値で掛け算することで一つのウィンドウ処理後フレームを生成する。
【請求項13】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、出力フレームの少なくとも複数の出力サンプルをウィンドウ関数の出力サンプル特定ウィンドウ係数で掛け算する。
【請求項14】
請求項13に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、出力フレームの各出力サンプルをウィンドウ関数の出力サンプル特定ウィンドウ係数で掛け算する。
【請求項15】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は以下の式に基づきウィンドウ処理後サンプルzi,nを生成する、
【数3】
iはウィンドウ処理後フレーム及び/又は出力フレームのフレーム指数又はブロック指数を示す整数、n=0,…,2N−1はサンプル指数を示す整数、Nは入力フレームの入力値の個数の2倍、及び/又は、出力フレームの出力サンプル及び又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、w(n)はウィンドウ関数、xi,nはサンプル指数n及びフレーム指数iを有する出力サンプルである。
【請求項16】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は以下の式に基づきウィンドウ処理後サンプルzi,nを生成する、
【数4】
iはウィンドウ処理後フレーム及び/又は出力フレームのフレーム指数又はブロック指数を示す整数、n=N/8,…,2N−1はサンプル指数を示す整数、Nは入力フレームの入力値の個数の2倍、及び/又は、出力フレームの出力サンプル及び又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、w(n)はウィンドウ関数、xi,nはサンプル指数n及びフレーム指数iを有する出力サンプルである。
【請求項17】
請求項15に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Nは960であり、ウィンドウ係数w(0)〜w(2N−1)は付録の表1に示されている関係に従うものである。
【請求項18】
請求項17に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0)〜w(2N−1)が付録の表2に示されている値を含む。
【請求項19】
請求項15に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Nは1024であり、ウィンドウ係数w(0)〜w(2N−1)は付録の表3に示されている関係に従うものである。
【請求項20】
請求項18に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0)〜w(2N−1)は付録の表4に示されている値を含む。
【請求項21】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数の実数値ウィンドウ係数は定義集合の要素に起因する。
【請求項22】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、定義集合全体に渡り、定義集合の中心点に関して非対称である。
【請求項23】
請求項22に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、ウィンドウ関数のウィンドウ係数のうちの最大絶対値の10%よりも大きい絶対値を有するウィンドウ係数を、定義集合の中心点を基準とする定義集合の第1の半分においての方が定義集合の第2の半分よりも多く含み、該第1の半分は出力サンプルの前半に対応する。
【請求項24】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、合成フィルターバンクへの入力フレームを生成した際に使用したウィンドウ関数の鏡映化版であるか又はそれと同じものである。
【請求項25】
請求項12に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記ウィンドウ関数は、合成フィルターバンクへの入力フレームを生成した際に使用したウィンドウ関数と比較して、ウィンドウ関数の中心点に関して鏡映されたウィンドウ関数である。
【請求項26】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、前記既定値は0である。
【請求項27】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は、一つのウィンドウ処理後サンプルを最小閾値よりも小さい絶対値を有する値にセットすること、及び該ウィンドウ処理後サンプルを最大閾値よりも大きい絶対値を有する値にセットすることの少なくともどちらか一方により、ウィンドウ処理後サンプルを既定範囲内の一つの値にセットする。
【請求項28】
請求項27に記載の合成フィルターバンクであり、前記最小閾値又は最大閾値は10s又は2sによって与えられ、sは整数である。
【請求項29】
請求項27に記載の合成フィルターバンクであり、入力サンプル、出力サンプル及びウィンドウ処理後サンプルのうちの少なくとも一つが2進法表示の場合、前記最小閾値は一つ又は複数の最も非重要なビットにより表示可能な最大絶対値によって決定され、あるいは最大閾値は一つ又は複数の最も重要なビットにより表示可能な最小絶対値によって決定される。
【請求項30】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、無視される出力サンプルの個数、又は既定値又は既定範囲内の少なくとも一つの値にセットされるウィンドウ処理後サンプルの個数は、出力フレームの出力値の個数を64で割った数以上である。
【請求項31】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、無視される出力サンプルの個数、又は既定値又は既定範囲内の少なくとも一つの値にセットされるウィンドウ処理後サンプルの個数は、加算後フレームの加算後サンプルの個数を16で割った数以上である。
【請求項32】
請求項1に記載の合成フィルターバンクであり、前記ウィンドウ処理部は128又は120個の出力値を無視するか、あるいは120又は128個のウィンドウ処理後サンプルを既定値又は既定範囲内の値にセットする。
【請求項33】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、ウィンドウ処理部によって連続的に生成された少なくとも3個のウィンドウ処理後フレームに基づき、加算後フレームを生成する。
【請求項34】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、周波数/時間コンバータによって連続的に生成された少なくとも3個のウィンドウ処理後フレームに基づき、加算後フレームを生成する。
【請求項35】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は複数の加算後サンプルを含む加算後フレームを出力し、該加算後フレームは、ウィンドウ処理部によって無視された出力サンプルに基づくものではなく、既定値又は既定範囲内の値にセットされないウィンドウ処理後サンプルに対応する加算後サンプルとして、少なくとも4個の異なるウィンドウ処理後フレームからの少なくとも4個のウィンドウ処理後サンプルに基づく加算後サンプルを含み、ウィンドウ処理部によって無視された出力サンプル、あるいは既定値又は既定範囲内の値にセットされたウィンドウ処理後サンプルに対応する加算後サンプルとして、少なくとも3個の異なるウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づく加算後サンプルを含む。
【請求項36】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を2で割った数よりも少ない個数の加算後サンプルを含む加算後フレームを出力する。
【請求項37】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を2よりも大きい整数で割った数と同じ個数の加算後サンプルを含む加算後フレームを出力する。
【請求項38】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は、一つの出力フレームの出力値の個数を4で割った数と同じ個数の加算後サンプルを含む加算後フレームを出力する。
【請求項39】
請求項1に記載の合成フィルターバンクであり、前記重複/加算器は以下の式に基づき、加算後サンプルouti,nを出力する。
【数5】
iはウィンドウ処理後フレーム及び/又は加算後フレームのフレーム指数又はブロック指数を示す整数、nはサンプル指数を示す整数、Nは出力フレームの出力サンプル及び/又はウィンドウ処理後フレームのウィンドウ処理後サンプルの個数の半分を示す整数、zi,nはサンプル指数n及びフレーム指数iに対応するウィンドウ処理後サンプルである。
【請求項40】
請求項1ないし請求項39のいずれかに記載の合成フィルターバンクであり、該合成フィルターバンクはデコーダ内に含まれる。
【請求項41】
請求項40に記載の合成フィルターバンクであり、前記デコーダは、複数の符号化されたフレームを復号化するためのエントロピーデコーダをさらに含み、該エントロピーデコーダは、符号化されたフレームに基づく複数の入力フレームを該合成フィルターバンクに提供する。
【請求項42】
複数の入力フレームをフィルタリングするための合成フィルターバンクであり、各入力フレームはM個の順序良く整列された入力値yk(0),…,yk(M−1)を含み、Mは正の整数、kはフレーム指数を示す整数であり、該合成フィルターバンクは以下のものを含む、
複数の出力フレームを出力するための逆転IV型離散余弦変換周波数/時間コンバータであり、各出力フレームは入力値yk(0),…,yk(M−1)に基づく2M個の順序良く整列された出力サンプルxk(0),…,xk(2M−1)を含む、
複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部であり、各ウィンドウ処理後フレームは以下の式に基づくウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む、
【数6】
nはサンプル指数を示す整数、w(n)はサンプル指数nに対応する実数値ウィンドウ関数係数である、
以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む中間フレームを生成するための重複/加算器、
【数7】
以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む加算後サンプルを生成するためのリフター、
【数8】
l(0),…,l(M−1)は実数値リフト係数である。
【請求項43】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Mは512であり、ウィンドウ係数w(0),…,w(2M−1)は付録の表5に示されている関係に従うものであり、前記リフターにおいて、リフト係数l(0),…,l(M−1)は付録の表6に示されている関係に従うものである。
【請求項44】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0),…,w(2M−1)は付録の表7に示されている値を含み、前記リフターにおいて、リフト係数l(0),…,l(2M−1)は付録の表8に示されている値を含む。
【請求項45】
請求項42に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、Mは480であり、ウィンドウ係数w(0),…,w(2M−1)は付録の表9に示されている関係に従うものであり、前記リフターにおいて、リフト係数l(0),…,l(M−1)は付録の表10に示されている関係に従うものである。
【請求項46】
請求項45に記載の合成フィルターバンクであり、前記ウィンドウ処理部において、ウィンドウ係数w(0),…,w(2M−1)は付録の表11に示されている値を含み、前記リフターにおいて、リフト係数l(0),…,l(2M−1)は付録の表12に示されている値を含む。
【請求項47】
請求項42ないし請求項46のいずれかに記載の合成フィルターバンクであり、該合成フィルターバンクはデコーダ内に含まれる。
【請求項48】
請求項47に記載の合成フィルターバンクであり、前記デコーダは、複数の符号化されたフレームを復号化するためのエントロピーデコーダをさらに含み、該エントロピーデコーダは、符号化されたフレームに基づく複数の入力フレームを該合成フィルターバンクに提供する。
【請求項49】
複数の入力フレームを合成するためのミキサーであり、各入力フレームはそれに対応する時間領域フレームのスペクトル表示であり、該複数の入力フレームのそれぞれの入力フレームは異なるソースから与えられ、該ミキサーは以下のものを含む、
前記複数の入力フレームをエントロピー復号化するためのエントロピーデコーダ、
周波数領域でエントロピー復号化された複数の入力フレームを調整し、周波数領域で複数の調整後フレームを得るためのスケーラであり、各調整後フレームは一つのエントロピー復号化された入力フレームに対応する、
周波数領域の加算後フレームを生成するために、周波数領域の調整後フレームを加算するための加算器、
合成フレームを得るために加算後フレームをエントロピー符号化するためのエントロピーエンコーダ。
【請求項50】
請求項49に記載のミキサーであり、エントロピー復号化された入力フレームを非量子化し、エントロピー復号化された入力フレームを非量子化された形でスケーラに与えるための非量子化装置をさらに含む。
【請求項51】
請求項49に記載のミキサーであり、加算後フレームを量子化し、量子化された加算後フレームをエントロピーエンコーダに与えるための量子化装置をさらに含む。
【請求項52】
請求項50に記載のミキサーであり、前記スケーラは、複数の入力フレームの各入力値を1/Pで掛け算することにより非量子化された入力フレームを調整し、Pは異なるソースの数を示す整数である。
【請求項53】
請求項52に記載のミキサーであり、前記スケーラは、入力フレームの入力値をエネルギー保存方法で調整することによって、エントロピー復号化された入力フレームを調整する。
【請求項54】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームに基づき合成フレームを与えるように構成され、複数の入力フレームのそれぞれの入力フレームは同じ合成ウィンドウ関数に基づき生成される。
【請求項55】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームに基づき合成フレームを生成するように構成され、複数の入力フレームのそれぞれの入力フレームは、複数の時間領域入力フレームをフィルタリングする解析フィルターバンクを含むエンコーダによって生成され、各入力フレームは複数の順序良く整列された入力サンプルを含み、該解析フィルターバンクは複数のウィンドウ処理後フレームを生成するためのウィンドウ処理部を含み、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含み、該ウィンドウ処理部は複数の入力フレームをサンプル先行値を使用して重複方式で処理し、サンプル先行値は一つの入力フレーム内に整列された入力サンプルの個数を2で割った数よりも小さく、前記解析フィルターバンクは、複数の出力値を含む出力フレームを与えるための時間/周波数コンバータを含み、出力フレームはウィンドウ処理後フレームのスペクトル表示である。
【請求項56】
請求項49に記載のミキサーであり、該ミキサーは複数の入力フレームを処理し、チャンネル毎のビットレートが36kbit/sよりも小さい合成フレームを与える。
【請求項57】
請求項49ないし請求項56のいずれかに記載のミキサーであり、該ミキサーは会議システムに含まれる。
【請求項58】
複数のオーディオ入力フレームをフィルタリングする方法であり、各入力フレームは順序良く整列された複数の入力値を含み、該方法は以下のステップを含む、
周波数/時間変換を行い、複数の出力フレームを生成するステップであり、各出力フレームは複数の順序良く整列された出力サンプルを含み、入力フレームの時間表示である、
サンプル先行値に基づく複数のウィンドウ処理後フレームの重複方式での処理のために、複数の出力サンプルを処理することによって、複数のウィンドウ処理後フレームを生成するステップであり、各ウィンドウ処理後フレームは複数のウィンドウ処理後サンプルを含む、
開始部分と残余部分を含む加算後フレームを生成するステップ、
該加算後フレームは、該残余部分内に、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルの合算による加算後サンプルを含み、該開始部分内に、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルの合算による加算後サンプルを含み、
前記残余部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数は、開始部分内の一つの加算後サンプルを得るために合算されるウィンドウ処理後サンプルの個数に比べて少なくとも1多い、
あるいは、
前記複数のウィンドウ処理後フレームの生成は、該複数のウィンドウ処理後フレームのそれぞれに対して、出力値の整列順序の上で少なくとも最初の出力値を無視するか又はそれに対応するウィンドウ処理後サンプルを既定値又は既定範囲内の少なくとも一つの値にセットすることを含み、かつ
前記加算後フレームの生成は、少なくとも3個のウィンドウ処理後フレームからの少なくとも3個のウィンドウ処理後サンプルに基づき該残余部分内の一つの加算後サンプルを与え、少なくとも2個の異なるウィンドウ処理後フレームからの少なくとも2個のサンプルに基づき該開始部分内の一つの加算後サンプルを与えることを含み、かつ
前記加算後フレームの生成は、前記サンプル先行値と等しい個数の加算後サンプルを含む加算後フレームの生成を含む。
【請求項59】
複数のオーディオ入力フレームをフィルタリングするための方法であり、各入力フレームはM個の順序良く整列された入力値yk(0),…,yk(M−1)を含み、Mは正の整数、kは入力フレーム指数を示す整数であり、該方法は以下のステップを含む、
逆転IV型離散余弦変換を実行し、入力値yk(0),…,yk(M−1)に基づき複数の出力フレームxk(0),…,xk(2M−1)を出力するステップ、
複数のウィンドウ処理後フレームを生成するステップであり、各ウィンドウ処理後フレームは以下の式に基づくウィンドウ処理後サンプルzk(0),…,zk(2M−1)を含む、
【数9】
nは整数である、
複数の中間フレームを生成するステップであり、各中間フレームは以下の式に基づく複数の中間サンプルmk(0),…,mk(M−1)を含む、
【数10】
以下の式に基づく複数の加算後サンプルoutk(0),…,outk(M−1)を含む複数の加算後フレームを生成するステップ、
【数11】
w(0),…,w(2M−1)は実数値ウィンドウ係数であり、
l(0),…,l(M−1)は実数値リフト係数である。
【請求項60】
コンピュータ上で起動された際、請求項58又は請求項59に記載の方法を実行させるためのコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14A】
【図14B】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図24】
【公開番号】特開2012−150507(P2012−150507A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2012−85778(P2012−85778)
【出願日】平成24年4月4日(2012.4.4)
【分割の表示】特願2009−532689(P2009−532689)の分割
【原出願日】平成19年8月29日(2007.8.29)
【出願人】(500341779)フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン (75)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願日】平成24年4月4日(2012.4.4)
【分割の表示】特願2009−532689(P2009−532689)の分割
【原出願日】平成19年8月29日(2007.8.29)
【出願人】(500341779)フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン (75)
[ Back to top ]