JP5658307B2 - ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化 - Google Patents

ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化 Download PDF

Info

Publication number
JP5658307B2
JP5658307B2 JP2013087698A JP2013087698A JP5658307B2 JP 5658307 B2 JP5658307 B2 JP 5658307B2 JP 2013087698 A JP2013087698 A JP 2013087698A JP 2013087698 A JP2013087698 A JP 2013087698A JP 5658307 B2 JP5658307 B2 JP 5658307B2
Authority
JP
Japan
Prior art keywords
subband
band
vector
size
subbands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013087698A
Other languages
English (en)
Other versions
JP2013178546A (ja
Inventor
メーロトラ サンジーフ
メーロトラ サンジーフ
チェン ウェイ−グゥ
チェン ウェイ−グゥ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013178546A publication Critical patent/JP2013178546A/ja
Application granted granted Critical
Publication of JP5658307B2 publication Critical patent/JP5658307B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Description

本技術は、一般に、サブバンドの可変サイズ周波数セグメント化を用いるスペクトル・データのコーディングに関する。
オーディオのコーディングは、人間の聴覚のさまざまな知覚モデルを活用するコーディング技法を利用する。たとえば、強い音の近くの多数のより弱い音は、マスクされ、したがって、コーディングする必要がない。従来の知覚オーディオ・コーディングでは、これが、異なる周波数データの適応量子化として活用される。知覚的に重要な周波数データは、より多くのビットを割り当てられ、したがって、より細かい量子化を割り当てられ、逆も同様である。
しかし、知覚コーディングは、より広い意味で解釈することができる。たとえば、スペクトルのいくつかの部分を、適切にシェーピングされたノイズを用いてコーディングすることができる。この手法を採用する場合に、コーディングされた信号は、オリジナルの正確なバージョンまたは正確に近いバージョンをレンダリングすることを目指さない場合がある。そうではなく、その目標は、オリジナルと比較したときに、コーディングされた信号が、オリジナルに似て、違和感がなく聞こえるようにすることである。
これらの知覚的効果のすべてを使用して、オーディオ信号のコーディングに必要なビットレートを下げることができる。これは、一部の周波数成分は、オリジナルの信号に存在するように正確に表現される必要があるのではなく、コーディングしないことも、オリジナルと同一の知覚的効果を与えるものに置換することも、できるからである。
米国特許出願第10/882801号 米国特許出願第10/020708号 米国特許出願第10/016918号 米国特許出願第10/017702号 米国特許出願第10/017861号 米国特許出願第10/017694号
ITU−R BS 1387
周波数セグメント化(Frequency segmentation)は、スペクトル・データのエンコーディングの品質に重要である。セグメント化は、スペクトル・データをサブバンドまたはベクトルと呼ばれる単位に分解することを必要とする。単純なセグメント化は、スペクトルを所望の個数の均一のセグメント(Homogeneous segments)またはサブバンドに、一様に(uniformly)分割することである。均一セグメント化(Homogeneous segmentation)は、最適状態には及ばない場合がある。より大きいサブバンド・サイズを用いて表現できるスペクトルの領域があり、他の領域が、より小さいサブバンド・サイズを用いてよりよく表される場合がある。スペクトル・データの強度に依存するセグメント化を提供するさまざまな特徴が説明される。より細かいセグメント化が、より大きいスペクトル変動を有す
る領域に対して提供され、より粗いセグメント化が、より均一な領域(homogeneous regions)について提供される。
たとえば、デフォルトのセグメント化が最初に提供され、最適化が、スペクトル・データ変動の強度に基づいてセグメント化を変更する(modify)。可変するサブバンド・サイズを提供することによって、コーディング効率を改善するためにサブバンドのサイズを指定する機会がもたらされる。しばしば、類似する特性(characteristics)を有するサブバンドを、品質に対する影響をほとんど伴わずにマージすることができるが、非常に変動するデータを有するサブバンドは、あるサブバンドが分割される場合によりよく表現される可能性がある。サブバンドの調性(tonality)、エネルギー、または形状を測定するさまざまな方法を、説明する。これらのさまざまな測定を、サブバンドをいつ分割しまたはマージするかの判断に鑑みて述べる。しかし、より小さいサブバンドは、同一のスペクトル・データを表すのにより多くのサブバンドを必要とする。したがって、より小さいサブバンド・サイズは、情報をコーディングするのにより多くのビットを必要とする。可変サブバンド・サイズが使用される場合に、サブバンドをコーディングするのに必要なデータと、サブバンド構成をデコーダに送るのに必要なデータとの両方を考慮しながら、スペクトル・データを効率的にコーディングするサブバンド構成を提供する。
スペクトル・データは、最初にサブバンドにセグメント化される。任意選択で、初期セグメント化を変更(modify)して、最適セグメント化を作ることができる。2つのそのような初期セグメント化またはデフォルト・セグメント化を、均一分割セグメント化および不均一分割セグメント化と呼ぶ。より高い周波数のサブバンドは、しばしば、元来より小さいバリエーションを有し、したがって、より少数のより大きいサブバンドが、それらのバンドのスケールおよび形状を取り込むことができる。さらに、より高い周波数のサブバンドは、より少ないエネルギーを有し、知覚的に重要性がより低いので、全体的な知覚的歪みにおいてより低い重要性を有する。デフォルト・セグメント化または初期セグメント化は、しばしば、スペクトル・データのコーディングに十分であるが、最適化されたセグ
メント化から利益を得る信号が存在する。
デフォルト・セグメント化(均一セグメント化または不均一セグメント化など)から始めて、複数のサブバンドが、最適化されたセグメントを得るために分割されまたはマージされる。1つのサブバンドを2つのサブバンドに分割するか、あるいは2つのサブバンドを1つのサブバンドにマージするかに関する判断がなされる。分割するかマージするかの判断は、サブバンド内の変化の強度の測定値など、初期サブバンド内のスペクトル・データのさまざまな特性に基づくものとすることができる。1つの例では、分割するかマージするかの判断は、サブバンド内の調性またはスペクトルの平坦度などのサブバンド・スペクトル・データ特性に基づいて、なされる。1つのそのような例で、エネルギーの比が2つのサブバンドの間で似ており、バンドの少なくとも1つが非調性である場合に、2つの隣接するサブバンドはマージされる。これは、単一の形状ベクトル(たとえば、コードワード)およびスケール係数(scale factor)が、その2つのサブバンドを表すのに十分である可能性が高いからである。
もう1つの例では、サブバンドが分割されると形状のマッチングが大幅に改善される場合に、異なる形状を有するように2つのサブバンドを定義することができる。1つの例で、形状のマッチングは、2つの分割されたサブバンドが、分割前のマッチングと比較して、分割後にはるかに低い平均二乗ユークリッド差(means-square Euclidean difference、MSE)マッチングを有する場合に、よりよいと考えられる。
もう1つの例では、分割されまたはマージされるサブバンドがなくなるまで、アルゴリズムが繰り返して実行される。無限ループの可能性を減らすために、分割、マージ、またはオリジナルとしてサブバンドにタグ付けすることが有益である場合がある。たとえば、あるサブバンドが、分割サブバンドとしてマークされる場合に、そのサブバンドは、それが分割された元のサブバンドに戻されるようにマージされることはない。
本発明の追加の特徴および利益は、添付図面を参照して、続行する次の実施形態の詳細な説明から明白になる。
本コーディング技法を組み込むことができるオーディオ・エンコーダを示すブロック図である。 本コーディング技法を組み込むことができるオーディオ・デコーダを示すブロック図である。 図1の一般的なオーディオ・エンコーダに組み込むことができる変更されたコードワード(modified codewords)およびまたは可変周波数セグメント化を使用する効率的なオーディオ・コーディングを実装するベースバンド・コーダおよび拡張バンド・コーダを示すブロック図である。 図3の拡張バンド・コーダを使用する効率的なオーディオ・コーディングを用いるバンドのエンコーディングを示す流れ図である。 図2の一般的なオーディオ・デコーダに組み込むことができる、ベースバンド・デコーダ、拡張バンド構成デコーダ、および拡張バンド・デコーダを示すブロック図である。 図5の拡張バンド・デコーダを使用する効率的なオーディオ・コーディングを用いるバンドのデコーディングを示す流れ図である。 スペクトル係数の一つの集合を表すグラフである。 コードワードと、そのコードワードのさまざまな線形変換および非線形変換とを示すグラフである。 ピークを明瞭には表さない例示的ベクトルを示すグラフである。 指数変換によるコードワード変更(codeword modification)を介して作成された明瞭なピークを有する図9のグラフを示すグラフである。 コードワードがモデリングするサブバンドと比較した、そのコードワードを示すグラフである。 変換されたサブバンド・コードワードがモデリングするサブバンドと比較した、そのコードワードを示すグラフである。 コードワード、そのコードワードによってコーディングされるサブバンド、そのコードワードのスケーリングされたバージョン、およびそのコードワードの変更されたバージョン(modified version)を示すグラフである。 分割サブバンド・サイズ変換およびマージ・サブバンド・サイズ変換の例示的な系列を示す図である。 図1または2のオーディオ・エンコーダ/デコーダを実装するのに適切なコンピューティング環境を示すブロック図である。
次の詳細な説明は、コードワードの変更(modification)および/またはデフォルトの周波数セグメント化の変更(modification)を使用するオーディオ・スペクトル・データのオーディオ・エンコーディング/デコーディングを用いるオーディオ・エンコーダ/デコーダの実施形態に向けられる。このオーディオ・エンコーディング/デコーディングは、ある周波数成分を、シェーピングされたノイズ(shaped noise)または他の周波数成分のシェーピングされたバージョンあるいはこの両方の組合せを使用して、表す。より具体的に言うと、いくつかの周波数バンドが、他のバンドのシェーピングされたバージョンまたは変形(transformation)として表される。これは、しばしば、所与の品質でのビットレートの低下または所与のビットレートでの品質の向上を可能にする。任意選択で、初期サブバンド周波数構成は、オーディオ・データの調性、エネルギー、または形状に基づいて変更する(modify)ことができる。
簡単な概要
2004年6月29日に出願した特許文献1、名称「Efficient coding of digital media spectral data using wide-sense perceptual similarity」で、スペクトル・データのある部分をコード・ベクトルのスケーリングされたバージョンとして表すことによって、スペクトル・データのコーディングを可能にするアルゴリズムが提供され、ここで、コード・ベクトルは、固定された所定のコードブック(たとえば、ノイズ・コードブック)またはベースバンドから引き出されるコードブック(たとえば、ベースバンド・コードブック)のいずれかから選択される。そのコードブックが適応的に作成されるときに、そのコードブックを、以前にエンコードされたスペクトル・データからなるものとすることができる。
コード・ベクトルが、それが表しているデータをよりよく表すことを可能にするいくつかのルールに従って、コードブック内のコード・ベクトルを変更する(modify)さまざまな任意選択の特徴を説明する。この変更(modification)は、線形変換、非線形変換、または複数の他のオリジナルのもしくは変更されたコード・ベクトルの組合せとしてコード・ベクトルを表すこと、のいずれかからなるものとすることができる。組合せの場合では、この変更(modification)は、1つのコード・ベクトルの諸部分をとり、これを他のコード・ベクトルの諸部分と組み合わせることによって実現することができる。
コード・ベクトルの変更(modification)を使用するときに、デコーダが変換を適用して新しいコード・ベクトルを形成することができるように、ビットを送らなければならない。その追加ビットにもかかわらず、コードワード変更(modification)は、それでも、スペクトル・データの諸部分を表すのに、その部分の実際の波形コーディングよりもより効率的なコーディングである。
説明される技術は、オーディオ・コーディングの品質の改善に関し、イメージ、ビデオ、および音声などのマルチメディアの他のコーディングに適用することもできる。知覚的改善は、オーディオをコーディングするときに、特にスペクトルのうちでコードブックの形成に使用される部分(通常はローバンド(lowband))が、コードブックを使用してコーディングされる部分(通常はハイバンド(highband))と異なる特性を有するときに、得られる。たとえば、ローバンドが「ピーキー」であり、したがって平均値から大きく離れた値を有し、且つ、ハイバンドがそうではない場合、またはその逆の場合に、この技法を使用して、ローバンドをコードブックとして使用してハイバンドをよりよくコーディングすることができる。
ベクトルは、スペクトル・データのサブバンドである。サブバンド・サイズが、所与の実装について可変である場合に、これは、コーディング効率を改善するためにサブバンドのサイズを指定する機会をもたらす。しばしば、類似する特性を有するサブバンドを、品質に対する影響をほとんど伴わずにマージすることができるが、非常に変動するデータを有するサブバンドは、あるサブバンドが分割される場合によりよく表現される可能性がある。サブバンドの調性、エネルギー、または形状を測定するさまざまな方法を、説明する。これらのさまざまな測定を、サブバンドをいつ分割しまたはマージするかを決定する観点から説明する。しかし、より小さい(分割)サブバンドは、同一のスペクトル・データを表すのにより多くのサブバンドを必要とする。したがって、より小さいサブバンド・サイズは、情報をコーディングするのにより多くのビットを必要とする。可変サブバンド・サイズが使用される場合に、サブバンドをコーディングするのに必要なデータと、サブバンド構成をデコーダに送るのに必要なデータとの両方を考慮しながら、スペクトル・データを効率的にコーディングするサブバンド構成を提供する。後続する段落は、より一般化された例からより具体的な例に進行する。
一般化されたオーディオ・エンコーダおよびオーディオ・デコーダ
図1および2は、一般化されたオーディオ・エンコーダ(100)および一般化されたオーディオ・デコーダ(200)のブロック図であり、ここで説明されている技法は、コードワードの変更(modification)および/または初期周波数セグメント化の変更(modification)を使用するオーディオ・スペクトル・データのオーディオ・エンコーディング/デコーディングである。そのエンコーダおよびデコーダ内のモジュールの間に示される関係は、そのエンコーダおよびデコーダ内の情報の主な流れを示し、他の関係は、図を単純にするために図示されていない。所望される圧縮の実装およびタイプに依存して、エンコーダまたはデコーダのモジュールは、追加し、省略し、複数のモジュールに分割し、他のモジュールと組合せ、かつ/または類似するモジュールに置換することができる。代替実施形態では、異なるモジュールおよび/またはモジュールの他の構成を有するエンコーダまたはデコーダが、知覚オーディオ品質を測定する。
広義の知覚類似性(wide-sense perceptual similarity)を有するオーディオ・スペクトル・データ・エンコーディング/デコーディングを組み込むことができるオーディオ・エンコーダ/デコーダのさらなる説明は、次の米国特許出願に記載されている:2004年6月29日に出願した特許文献1、2001年12月14日に出願した特許文献2、2001年12月14日に出願した特許文献3、2001年12月14日に出願した特許文献4、2001年12月14日に出願した特許文献5、および2001年12月14日に出願した特許文献6。
例示的な一般化されたオーディオ・エンコーダ
一般化されたオーディオ・エンコーダ(100)は、周波数トランスフォーマ(110)、マルチ・チャネル・トランスフォーマ(120)、知覚モデラ(130)、ウエイタ(weighter)(140)、クォンタイザ(量子化器)(150)、エントロピー・エンコーダ(160)、レート/品質コントローラ(170)、およびビットストリーム・マルチプレクサ[「MUX」](180)を含む。
エンコーダ(100)は、時系列の入力オーディオ・サンプル(105)を受け取る。複数のチャネルを有する入力(たとえば、ステレオ・モード)について、エンコーダ(100)は、これらのチャネルを独立に処理し、連係してマルチ・チャネル・トランスフォーマ(120)に続く、合同でコーディングされた複数のチャネル(jointly coded channels)を扱うことができる。エンコーダ(100)は、オーディオ・サンプル(105)を圧縮し、エンコーダ(100)のさまざまなモジュールによって作られた情報を多重化して、ビットストリーム(195)を、Windows(登録商標) Media Audio[「WMA」]、Advanced Streaming Format[「ASF」]などのフォーマットで出力する。代替として、エンコーダ(100)は、他の入力フォーマットおよび/または出力フォーマットを扱う。
周波数トランスフォーマ(110)は、オーディオ・サンプル(105)を受け取り、これを周波数領域のデータに変換する。周波数トランスフォーマ(110)は、オーディオ・サンプル(105)を、可変時間分解能(variable temporal resolution)を可能にする可変サイズを有するブロックに分割ことができる。小さいブロックは、入力オーディオ・サンプル(105)内の短いがアクティブな遷移セグメントで、詳細な時間についてのより多くの保存を可能にするが、多少の周波数分解能(frequency resolution)を犠牲にする。対照的に、大きいブロックは、よりよい周波数分解能およびより不十分な時間分解能(time resolution)を有し、通常は、より長いがより非アクティブなセグメントでのより高い圧縮効率を可能にする。これらのブロックは、オーバーラップさせて、そうしない場合に後の量子化によって導入される可能性があるブロック間の知覚可能な不連続性、を減らすことができる。周波数トランスフォーマ(110)は、マルチ・チャネル・トランスフォーマ(120)に周波数係数データのブロックを出力し、ブロック・サイズなどのサイド情報をMUX(180)に出力する。周波数トランスフォーマ(110)は、周波数係数データとサイド情報との両方を知覚モデラ(perception modeler)(130)に出力する。
周波数トランスフォーマ(110)は、オーディオ入力サンプル(105)のフレームを、時間的に変化するサイズを有するオーバーラップするサブフレーム・ブロックに区分し、時間的に変化するMLTをサブフレーム・ブロックに適用する。例示的なサブフレーム・サイズは、125サンプル、256サンプル、512サンプル、1024サンプル、2048サンプル、および4096サンプルを含む。MLTは、時間的に変化してサブフレーム・サイズのシーケンスに依存する時間ウィンドウ関数(time window function)によって変調されたDCTのように、動作する。このMLTは、サンプルx[n],0≦n<subframe_sizeの所与のオーバーラップするブロックを、周波数係数X[k],0≦k<subframe_size/2のブロックに変換する。周波数トランスフォーマ(110)は、将来のフレームの複雑さの推定値をレート/品質コントローラ(rate/quality controller)(170)に出力することもできる。代替実施形態は、MLTの他の変形形態を使用する。さらに別の代替実施形態では、周波数トランスフォーマ(110)は、DCT、FFT、または、他のタイプの変調されたもしくは変調されていないオーバーラップするもしくはオーバーラップしない周波数変換を適用し、あるいは、サブバンド・コーディングまたはウェーブレット・コーディングを使用する。
マルチ・チャネル・オーディオ・データに関して、周波数トランスフォーマ(110)によって作られる周波数係数データからなる複数のチャネルは、しばしば相関する。この相関を活用するために、マルチ・チャネル・トランスフォーマ(120)は、複数のオリジナルの独立にコーディングされたチャネルを、合同でコーディングされた複数のチャネル(jointly coded channels)に変換することができる。たとえば、入力がステレオ・モードである場合に、マルチ・チャネル・トランスフォーマ(120)は、次のように、左右のチャネルを和チャネルおよび差チャネルに変換することができる。
Figure 0005658307
あるいは、マルチ・チャネル・トランスフォーマ(120)は、左右のチャネルを独立にコーディングされたチャネルとしてパス・スルーすることができる。より一般的には、複数の個数の入力チャネルについて、マルチ・チャネル・トランスフォーマ(120)は、オリジナルの独立にコーディングされたチャネルを変更せずにパス・スルーし、あるいは、オリジナル・チャネルを合同でコーディングされた複数のチャネル(jointly coded channels)に変換する。独立にコーディングされたチャネルまたは合同でコーディングされたチャネルを使用する判断は、事前に決定することができ、あるいは、この判断を、エンコーディング中にブロックごとまたは他の基準(base)で適応的に行うことができる。マルチ・チャネル・トランスフォーマ(120)は、使用されたチャネル変換モードを示す、MUX(180)への、サイド情報を作り出す。
知覚モデラ(130)は、所与のビットレートの再構成されたオーディオ信号の品質を高めるために、人間の聴覚系の特性をモデリングする。知覚モデラ(130)は、周波数係数の可変サイズブロックのエキサイテーション・パターン(excitation pattern)を計算する。まず、知覚モデラ(130)は、ブロックのサイズおよび振幅スケールを正規化する。これは、後続の時間スミアリングを可能にし、品質測定のための一貫したスケールを確立する。任意選択で、知覚モデラ(130)は、ある周波数で係数を減衰させて、外耳/中耳伝達関数をモデリングする。知覚モデラ(130)は、ブロック内の係数のエネルギーを計算し、25個の臨界帯域別にこのエネルギーを集計する。代替として、知覚モデラ(130)は、臨界帯域の別の個数(たとえば、55個または109個)を使用する。臨界帯域の周波数範囲は、実装依存であり、多数の任意選択が周知である。たとえば、非特許文献1またはその文献で言及される他の文献を参照されたい。知覚モデラ(130)は、同時の時間的なマスキングを考慮に入れるために、帯域エネルギーを処理する。代替実施形態では、知覚モデラ(130)は、非特許文献1に記載のまたは非特許文献1で言及されたものなどの異なる聴覚モデルに従ってオーディオ・データを処理する。
ウエイタ(140)は、知覚モデラ(130)から受け取った励起パターンに基づいて重み付け係数(量子化行列とも呼ばれる)を生成し、この重み付け係数を、マルチ・チャネル・トランスフォーマ(120)から受け取ったデータに適用する。重み付け係数は、オーディオ・データ内の複数の量子化帯域それぞれの重みを含む。この量子化帯域は、個数または位置において、エンコーダ(100)内の他の場所で使用される臨界帯域と同一または異なるものとすることができる。重み付け係数は、より多くのノイズをノイズが可聴し難い帯域に置くことによって、およびその逆によって、ノイズの可聴性を最小にすることを目的に、ノイズが量子化帯域にまたがって拡散する比率を指し示す。重み付け係数は、量子化帯域の振幅および個数において、ブロックごとに変更することができる。一実装で、量子化帯域の個数は、ブロック・サイズに従って変化し、より小さいブロックは、より大きいブロックより少ない数の量子化帯域を有する。たとえば、128個の係数を有するブロックは、13個の量子化帯域を有し、256個の係数を有するブロックは、15個の量子化帯域を有し、2048個の係数を有するブロックについて、25個までの量子化帯域がある。これらのブロックと帯域との比率は、例示にすぎない。ウエイタ(140)は、独立にまたは合同でコーディングされたチャネル内のマルチ・チャネル・オーディオ・データのチャネルごとに重み付け係数の一つの集合を生成し、あるいは、合同でコーディングされたチャネルについて重み付け係数の単一の集合を生成する。代替実施形態では、ウエイタ(140)は、励起パターンに加えてまたはそれ以外の情報から重み付け係数を生成する。
ウエイタ(140)は、係数データの重み付けされたブロックをクォンタイザ(150)に出力し、その重み付け係数の集合などのサイド情報をMUX(180)に出力する。ウエイタ(140)は、重み付け係数をレート/品質コントローラ(140)またはエンコーダ(100)内の他のモジュールに出力することもできる。その重み付け係数の集合は、より効率的な表現のために圧縮することができる。重み付け係数がロッシイ圧縮される場合に、再構成された重み付け係数は、通常は、係数データからなる複数のブロックを重み付けするのに使用される。一つブロックのあるバンド内のオーディオ情報が、なんらかの理由(たとえば、ノイズ置換またはバンド切捨)で完全に除去されている場合に、エンコーダ(100)が、そのブロックの量子化行列の圧縮をさらに改善することができる
場合がある。
クォンタイザ(150)は、ウエイタ(140)の出力を量子化し、エントロピー・エンコーダ(160)への量子化された係数データ、およびMUX(180)への量子化ステップ・サイズを含むサイド情報を作り出す。量子化は、情報の不可逆損失を導入するが、エンコーダ(100)が、レート/品質コントローラ(170)と共に出力ビットストリーム(195)のビットレートを規制することをも可能にする。図1では、クォンタイザ(150)は、適応均一スカラ・クォンタイザ(adaptive, uniform scalar quantizer)である。クォンタイザ(150)は、各周波数係数に同一の量子化ステップ・サイズを適用するが、量子化ステップ・サイズ自体は、ある反復から次の反復で、エントロピー・エンコーダ(160)出力のビットレートに影響を与えるために変化することができる。代替実施形態では、クォンタイザは、不均一クォンタイザ、ベクトル・クォンタイザ、および/または非適応クォンタイザである。
エントロピー・エンコーダ(160)は、クォンタイザ(150)から受け取った量子化された係数データをロスレス圧縮する。たとえば、エントロピー・エンコーダ(160)は、マルチ・レベル・ランレングス・コーディング、variable−to−variable lengthコーディング、ランレングス・コーディング、ハフマン・コーディング、辞書コーディング、算術コーディング、LZコーディング、上記の組合せ、またはある他のエントロピー・エンコーディング技法を使用する。
レート/品質コントローラ(170)は、エンコーダ(100)の出力のビットレートおよび品質を規制するためにクォンタイザ(150)と共に働く。レート/品質コントローラ(170)は、エンコーダ(100)の他のモジュールから情報を受け取る。一実装では、レート/品質コントローラ(170)は、周波数トランスフォーマ(110)から将来の複雑さの推定値を、知覚モデラ(130)からサンプリング・レート、ブロック・サイズ情報、オリジナル・オーディオ・データの励起パターンを、ウエイタ(140)から重み付け係数を、MUX(180)からある形の(たとえば、量子化された、再構成された、またはエンコードされた)量子化されたオーディオ情報のブロックおよびバッファ状況情報を受け取る。レート/品質コントローラ(170)には、量子化された形からオーディオ・データを再構成するために、逆クォンタイザ、逆ウエイタ、逆マルチ・チャネル・トランスフォーマ、ならびに、潜在的に、エントロピー・デコーダおよび他のモジュールを含めることができる。
レート/品質コントローラ(170)は、その情報を処理し、現在の条件を与えられて所望の量子化ステップ・サイズを決定し、この量子化ステップ・サイズをクォンタイザ(150)に出力する。次に、レート/品質コントローラ(170)は、下で説明するように、その量子化ステップ・サイズを用いて量子化された、再構成されたオーディオ・データのブロックの品質を測定する。測定された品質ならびにビットレート情報を使用して、レート/品質コントローラ(170)は、瞬間的と長期との両方でビットレート制約および品質制約を満足させることを目的に、量子化ステップ・サイズを調整する。代替実施形態では、レート/品質コントローラ(170)は、異なる情報または追加の情報を扱い、あるいは、品質およびビットレートを規制するために異なる技法を適用する。
レート/品質コントローラ(170)と共に、エンコーダ(100)は、ノイズ置換、バンド切捨、および/またはマルチ・チャネル・リマトリクシング(multi-channel rematrixing)を、オーディオ・データのブロックに適用することができる。低ビットレートおよび中ビットレートで、オーディオ・エンコーダ(100)は、ノイズ置換を使用して、ある種のバンドで情報を伝えることができる。バンド切捨では、あるブロックの測定された品質が低い品質を示す場合に、エンコーダ(100)は、ある(通常はより高い周波数の)バンド内の係数を完全に除去して、残りのバンドの総合品質を改善することができる。マルチ・チャネル・リマトリクシングでは、合同でコーディングされたチャネル内の低ビットレートのマルチ・チャネル・オーディオ・データについて、エンコーダ(100)は、あるチャネル(たとえば、差チャネル)の情報を抑制して、残りのチャネル(たとえば、和チャネル)の品質を改善することができる。
MUX(180)は、オーディオ・エンコーダ(100)の他のモジュールから受け取ったサイド情報を、エントロピー・エンコーダ(160)から受け取ったエントロピー・エンコードされたデータと一緒に多重化する。MUX(180)は、WMAまたはオーディオ・デコーダが認識する別のフォーマットで情報を出力する。
MUX(180)は、エンコーダ(100)によって出力されるビットストリーム(195)を格納する仮想バッファを含む。仮想バッファは、オーディオの複雑さの変化に起因するビットレートの短期変動の全体を通して平滑化するために、所定の持続時間のオーディオ情報(たとえば、ストリーミング・オーディオについて5秒)を格納する。次に、仮想バッファは、比較的一定のビットレートでデータを出力する。バッファの現在の充足度、バッファの充足度の変化のレート、およびバッファの他の特性は、品質およびビットレートを規制するために、レート/品質コントローラ(170)によって使用、することができる。
例示的な一般化されたオーディオ・デコーダ
図2を参照すると、一般化されたオーディオ・デコーダ(200)は、ビットストリーム・デマルチプレクサ[「DEMUX」](210)、エントロピー・デコーダ(220)、逆クォンタイザ(230)、ノイズ・ジェネレータ(240)、逆ウエイタ(250)、逆マルチ・チャネル・トランスフォーマ(260)、および逆周波数トランスフォーマ(270)を含む。デコーダ(200)は、レート/品質制御に関するモジュールを含まないので、エンコーダ(100)より単純である。
デコーダ(200)は、WMAまたは別のフォーマットで、圧縮オーディオ・データのビットストリーム(205)を受け取る。ビットストリーム(205)は、エントロピー・エンコードされたデータならびにサイド情報を含み、それらからデコーダ(200)がオーディオ・サンプル(295)を再構成することになる。複数のチャネルを有するオーディオ・データについて、デコーダ(200)は、各チャネルを独立に処理し、逆マルチ・チャネル・トランスフォーマ(260)の前で、合同でコーディングされたチャネルを扱うことができる。
DEMUX(210)は、ビットストリーム(205)内の情報を解析し、情報をデコーダ(200)の複数のモジュールに送る。DEMUX(210)は、オーディオの複雑さの変動、ネットワーク・ジッタ、および/または他の要因に起因するビットレートの短期バリエーションを補償するために1つまたは複数のバッファを含む。
エントロピー・デコーダ(220)は、DEMUX(210)から受け取ったエントロピー・コードを圧縮解除し、量子化された周波数係数データを作る。エントロピー・デコーダ(220)は、通常、エンコーダで使用されたエントロピー・エンコーディング技法の逆を適用する。
逆クォンタイザ(230)は、DEMUX(210)から量子化ステップ・サイズを受け取り、エントロピー・デコーダ(220)から量子化された周波数係数データを受け取る。逆クォンタイザ(230)は、量子化された周波数係数データに量子化ステップ・サイズを適用して、周波数係数データを部分的に再構成する。代替実施形態では、逆クォンタイザは、エンコーダで使用されたある他の量子化技法の逆を適用する。
ノイズ・ジェネレータ(240)は、DEMUX(210)から、データのブロックのどのバンドがノイズ置換されるかの指標(indication)ならびにノイズの形に関するすべてのパラメータを受け取る。ノイズ・ジェネレータ(240)は、示されたバンドのパターンを生成し、その情報を逆ウエイタ(250)に渡す。
逆ウエイタ(250)は、DEMUX(210)から重み付け係数を、ノイズ・ジェネレータ(240)からすべてのノイズ置換されたバンドのパターンを、逆クォンタイザ(230)から部分的に再構成された周波数係数データを受け取る。必要に応じて、逆ウエイタ(250)は、重み付け係数を圧縮解除する。逆ウエイタ(250)は、ノイズ置換されなかったバンドの部分的に再構成された周波数係数データに重み付け係数を適用する。次に、逆ウエイタ(250)は、ノイズ・ジェネレータ(240)から受け取ったノイズ・パターンを追加する。
逆マルチ・チャネル・トランスフォーマ(260)は、逆ウエイタ(250)から再構成された周波数係数データを、DEMUX(210)からチャネル変換モード情報を受け取る。マルチ・チャネル・データが独立にコーディングされたチャネルにある場合に、逆マルチ・チャネル・トランスフォーマ(260)は、チャネルをパス・スルーする(そのまま渡す)。マルチ・チャネル・データが合同でコーディングされたチャネルにある場合に、逆マルチ・チャネル・トランスフォーマ(260)は、データを独立にコーディングされたチャネルに変換する。望まれる場合に、デコーダ(200)は、再構成された周波数係数データの品質を、この時点で測定することができる。
逆周波数トランスフォーマ(270)は、マルチ・チャネル・トランスフォーマ(260)によって出力された周波数係数データならびにDEMUX(210)からのブロック・サイズなどのサイド情報を受け取る。逆周波数トランスフォーマ(270)は、エンコーダで使用された周波数変換の逆を適用し、再構成されたオーディオ・サンプル(295)のブロックを出力する。
変更されたコードワードおよび広義知覚類似性を用いる例示的なエンコーディング/デコーディング
図3に、図1および2の一般化されたオーディオ・エンコーダ(100)およびデコーダ(200)の全体的なオーディオ・エンコーディング/デコーディング・プロセスに組み込むことができる、広義知覚類似性などの、適応サブバンド構成および/または変更されたコードワードを用いるエンコーディングを使用するオーディオ・エンコーダ(300)の一実装を示す。この実装では、オーディオ・エンコーダ(300)は、サブバンド変換またはMDCTもしくはMLTなどのオーバーラップした直交変換のいずれかを使用することによって、変換(320)でスペクトル分解を実行して、オーディオ信号の入力ブロックごとにスペクトル係数の一つの集合を作る。周知のように、オーディオ・エンコーダは、デコーダに出力ビットストリームの形で送るために、これらのスペクトル係数をコーディングする。これらのスペクトル係数の値のコーディングが、オーディオ・コーデックで使用されるビットレートのほとんどを構成する。低ビットレートでは、オーディオ・エンコーダ(300)は、ベースバンド・コーダ(340)を使用して、スペクトルの下側部分すなわちベースバンド部分など、より少数のスペクトル係数(すなわち、周波数トランスフォーマ(110)から出力されるスペクトル係数の、帯域幅のあるパーセンテージでエンコードできる個数の係数)をコーディングするように選択する。ベースバンド・コーダ(340)は、上で一般化されたオーディオ・エンコーダに関して説明したように、周知のコーディング構文を使用して、これらのベースバンド・スペクトル係数をエンコードする。これは、一般に、マッフルされて(mauffled)、または低域フィルタリングされて聞こえる、再構成されたオーディオをもたらす。
オーディオ・エンコーダ(300)は、省略されたスペクトル係数を、適応サブバンド構成および/または広義知覚類似性を用いる変更されたコードワードを使用してコーディングすることによって、マッフル/低域濾波効果(muffled/low-pass effect)を避ける。ベースバンド・コーダ(340)を用いるコーディングから省略されたスペクトル係数(本明細書では、「拡張バンド・スペクトル係数」と称する)は、シェーピングされたノイズ、または他の周波数成分のシェーピングされたバージョン、あるいはこの2つの複数の組合せとして、拡張バンドコーダ(350)によってコーディングされる。より具体的には、拡張バンド・スペクトル係数は、さまざまな潜在的に異なるサイズ(たとえば、通常は16個、32個、64個、128個、256個、...などのスペクトル係数)の複数のサブバンドに分割される。これは、充実したより豊かなサウンドを与えるために、欠けているスペクトル係数からなる知覚的に満足なバージョンを追加する。実際のスペクトルが、このエンコーディングから生じる合成バージョンから逸脱する場合があるが、この拡張バンド・コーディングは、オリジナルに似た知覚的効果をもたらす。
いくつかの実装で、ベースバンドの幅(すなわち、ベースバンド・コーダ340を使用してコーディングされるベースバンド・スペクトル係数の個数)ならびに拡張バンドのサイズまたは個数は、デフォルト構成または初期構成から変更することができる。その場合に、ベースバンドの幅、および/または拡張バンド・コーダ(350)を使用してコーディングされる拡張バンドの個数(もしくはサイズ)を、出力ビットストリーム(195)にコーディング(360)することができる。
望ましい場合に、オーディオ・エンコーダ(300)でのベースバンド・スペクトル係数と拡張バンド係数との間のビットストリームの区分化が、ベースバンド・コーダのコーディング構文に基づいて既存デコーダとの下位互換性(backward compatibility)を保証するために行われ、その結果、そのような既存デコーダが、拡張部分を無視しながらベースバンドのコーディングされた部分をデコードできるようになる。その結果は、より新しいデコーダが、拡張バンドのコーディングされたビットストリームによってカバーされる全スペクトルをレンダリングする能力を有し、一方、より古いデコーダが、エンコーダが既存構文を用いてエンコードすることを選択した部分をレンダリングできることである。周波数境界(たとえば、ベースバンド部分と拡張部分との間の境界)は、柔軟であり、時間的に変化するものとすることができる。周波数境界は、信号特性に基づいてエンコーダによって判断し、デコーダに明示的に送るか、デコードされるスペクトルの関数とし、送られる必要をなくすかのいずれかとすることができる。既存のデコーダは、既存(ベースバンド)コーデックを使用してコーディングされた部分をデコードすることしかできないので、これは、スペクトルの下側部分(たとえば、ベースバンド)が、既存コーデックを用いてコーディングされ、上側部分が、広義知覚類似性を使用する、変更されたコードワードを用いる拡張バンド・コーディングを使用してコーディングされることを意味する。
そのような下位互換性が必要ではない他の実装では、エンコーダは、周波数境界位置を考慮せずに、信号特性およびエンコーディングのコストだけに基づいて、従来のベースバンド・コーディングと(変更されたコードワードおよび広義知覚類似性手法を用いる)拡張バンドとの間で選択する自由を有する。たとえば、自然な信号ではまずありそうにはないが、より高い周波数を従来のコーデックによってエンコードし、下側部分を拡張コーデックを使用してエンコードすることが、よりよい可能性がある。
エンコーディングの例示的方法
図4は、拡張バンド・スペクトル係数をエンコードするために図3の拡張バンドコーダ(350)によって実行されるオーディオ・エンコーディング・プロセス(400)を示す流れ図である。このオーディオ・エンコーディング・プロセス(400)では、拡張バンド・コーダ(350)は、拡張バンド・スペクトル係数を複数のサブバンドに分割する。通常の実装では、これらのサブバンドは、一般に、それぞれ64個または128個のスペクトル係数からなる。代替として、他のサイズのサブバンド(たとえば、16個、32個、または他の個数のスペクトル係数)を使用することができる。拡張バンド・エンコーダが、サブバンドのサイズを変更する可能性を提供する場合には、拡張バンド構成プロセス(360)が、サブバンドを変更し、拡張バンド構成をエンコードする。サブバンドは、互いに素とすることができ、あるいは、オーバーラップする(ウィンド・ウイングを使用する)ものとすることができる。オーバーラップするサブバンドを用いると、より多くのバンドがコーディングされる。たとえば、128個のスペクトル係数を、サイズ64のサブバンドを用いて拡張バンド・コーダを使用してコーディングしなければならない場合に、この方法は、係数をコーディングするのに2つの互いに素なバンドを使用し、係数0から63を一方のサブバンドとして、係数64から127を他方のサブバンドとしてコーディングする。代替として、50%オーバーラップを有する3つのオーバーラップするバンドを使用し、0から63を1つのバンド、32から95をもう1つのバンド、64から127を第3のバンドとしてコーディングすることができる。サブバンドの周波数セグメント化のさまざまな他の動的方法を、本明細書で後で述べる。
これらの固定されたサブバンドまたは動的に最適化されるサブバンドのそれぞれについて、拡張バンド・コーダ(350)は、2つのパラメータを使用してバンドをエンコードする。一方のパラメータ(「スケール・パラメータ」)は、バンド内の総エネルギーを表すスケール係数である。他方のパラメータ(一般に動きベクトルの形の「形状パラメータ」)は、バンド内のスペクトルの形状を表すのに使用される。任意選択で、下で述べるように、形状パラメータは、指数、ベクトル方向(たとえば、順方向/逆方向)、および/または係数符号変換を示す1つまたは複数の形状変換ビットを必要とする。
図4の流れ図に示されているように、拡張バンド・コーダ(350)は、拡張バンドのサブバンドごとにプロセス(400)を実行する。まず(420で)、拡張バンド・コーダ(350)は、スケール係数(scale factor)を計算する。一実装で、スケール係数は、単純に、現在のサブバンド内の係数のrms(二乗平均平方根)値である。これは、すべての係数の二乗値の平均の平方根をとることによって見つけられる。二乗値の平均は、サブバンド内のすべての係数の二乗値の合計をとり、係数の個数で割ることによって見つけられる。
次に、拡張バンド・コーダ(350)は、形状パラメータを決定する。形状パラメータは、通常、動きベクトルであり、これは、既にコーディングされたスペクトルの部分からのスペクトルの正規化されたバージョン(すなわち、ベースバンド・コーダを用いてコーディングされたベースバンド・スペクトル係数の部分)を単純にコピーオーバーすることを示す。いくつかの場合に、形状パラメータは、その代わりに、正規化されたランダム・ノイズ・ベクトルまたは単に固定コードブックからのスペクトル形状のベクトルを指定することができる。スペクトルの別の部分から形状をコピーすることは、オーディオにおいては、通常、多くの調性信号に、スペクトル全体を通じて繰り返す高調波成分があるので
、有用である。ノイズまたはある他の固定コードブックの使用は、スペクトルのベースバンド・コーディングされた部分では明確に表されない成分の低ビットレート・コーディングを可能にする。したがって、プロセス(400)は、本質的にこれらのバンドの利得−形状ベクトル量子化コーディングであるコーディングの方法を提供し、ここで、ベクトルは、スペクトル係数からなる周波数バンドであり、コードブックは、以前にコーディングされたスペクトルからとられ、他の固定ベクトルまたはランダム・ノイズ・ベクトルをも含むことができる。すなわち、拡張バンド・コーダによってコーディングされる各サブバンドは、a*Xと表され、‘a’は、スケール・パラメータであり、‘X’は、形状パラメータによって表されるベクトルであり、(任意の)以前にコーディングされたスペクトル係数の正規化されたバージョン、固定コードブックからのベクトル、またはランダム・ノイズ・ベクトルとすることができる。また、スペクトルのこのコピーされる部分が、その同一部分の従来のコーディングに追加される場合に、この追加は、残差コーディング(residual coding)である。これは、信号の従来のコーディングが、少いビットを用いてコーディングするのが容易であるベース表現(たとえば、スペクトル・フロアのコーディング)を与え、残りが新しいアルゴリズムを用いてコーディングされる場合に、有用になり得る。
より具体的には、アクション(430)で、拡張バンドコーダ(350)は、現在のサブバンドに類似する形状を有するスペクトル係数のベースバンド内のベクトルを求めてベースバンド(または他の以前にコーディングされた)スペクトル係数を探索する。前に述べたように、「ベースバンドからのコードワード」には、現在のベースバンドの外部のソースも含まれる。拡張バンド・コーダは、ベースバンドの各部分の正規化されたバージョンとの最小二乗平均比較(least-means-square comparison)を使用して、ベースバンド(または他の以前のバンド)のどの部分が現在のサブバンドに最も似ているかを決定する。任意選択で、マッチングのために、複数の形状からなるより大きいユニバースを作成するために、線形変換または非線形変換(431)を、ベースバンド(または他の以前のバンド)のスペクトルの1つまたは複数の部分に適用する。再び、このベースバンドは、コードワードのソースについて述べるときに、ライブラリおよび他の以前のバンドを含む。任意選択で、拡張バンド・エンコーダは、マッチング用に使用可能な形状からなるより大きいライブラリを提供するために、ベースバンドおよび/または固定コードブックに対して1つまたは複数の線形変換または非線形変換を実行する。たとえば、入力ブロックから変換(320)によって作られた256個のスペクトル係数があり、拡張バンドのサブバンド(この例での)が、それぞれ幅においてスペクトル係数16個分であり、ベースバンド・コーダが、ベースバンドとして最初の128個のスペクトル係数(0から127までの番号を付す)をエンコードする場合を検討されたい。すると、この探索は、係数位置0から111までで開始して(すなわち、この事例ではベースバンド内でコーディングされる合計112個の可能な異なるスペクトル形状)ベースバンド(または任意の以前にコーディングされたバンド)の各16個のスペクトル係数部分の正規化されたバージョンとの、各拡張バンド内の正規化された16個のスペクトル係数の最小二乗平均比較を実行する。最小の最小二乗平均値を有するベースバンド部分が、形状において現在の拡張バンドに最も近い(最も似ている)と考えられる。任意選択で、この探索は、ベースバンド(または他のバンド)の線形変換または非線形変換(431)に対して最小二乗平均比較を実行する。アクション(432)で、拡張バンド・コーダは、ベースバンド・スペクトル係数のうちのこの最も似ているバンドが、形状において現在の拡張バンドに十分に近い(たとえば、最小二乗平均値が事前に選択された閾値より小さい)かどうかをチェックする。そうである場合には、拡張バンド・コーダは、アクション(434)で、ベースバンド・スペクトル係数のこの最もよくマッチングするバンドをポイントする動きベクトルを決定し、任意選択で、最もよくマッチングする動きベクトルに対する線形変換または非線形変換に関する情報を決定する。動きベクトルは、ベースバンド内の開始係数位置(たとえば、この例では0から111まで)とすることができる。他の方法(調性対非調性をチェックするなど)を使用して、ベースバンド(または他のバンド)スペクトル係数のうちの最も似ているバンドが形状において現在の拡張バンドに十分に近いかどうかを調べることもできる。
ベースバンドの十分に似ている部分が見つからない場合には、拡張バンド・コーダは、現在のサブバンドを表すために、スペクトル形状の固定コードブックを調べる(440)。拡張バンド・コーダは、現在のサブバンドのスペクトル形状に似たスペクトル形状を求めてこの固定コードブックを探索する(440)。任意選択で、この探索は、固定コードブックの線形変換または非線形変換(431)に対して最小二乗平均比較を実行する。見つかった場合には、拡張バンド・コーダは、アクション(444)で形状パラメータとしてコードブック内のそのインデックスを使用し、任意選択として、コードブック内の最もよくマッチングするインデックスに対する線形変換または非線形変換に関する情報を使用する。そうでない場合には、アクション(450)で、拡張バンド・コーダは、現在のサブバンドの形状を、正規化されたランダム・ノイズ・ベクトルとして表すと決定することもできる。
代替実装では、拡張バンド・エンコーダは、ベースバンド内で最良のスペクトル形状を探す前でさえ、スペクトル係数をノイズを使用して表すことができるかどうかを判断することができる。この方法では、十分に近いスペクトル形状がベースバンド内で見つかる場合であっても、拡張バンド・コーダは、それでも、ランダム・ノイズを使用してその部分をコーディングする。これは、ベースバンド内の位置に対応する動きベクトルを送ることと比較したときに、より少いビットをもたらすことができる。
アクション(460)で、拡張バンド・コーダは、予測コーディング、量子化、および/またはエントロピー・コーディングを使用して、スケール・パラメータおよび形状パラメータ(すなわち、この実装ではスケーリング係数および動きベクトル、ならびに、任意選択で、線形変換情報または非線形変換情報)をエンコードする。一実装では、たとえば、スケール・パラメータが、直前の拡張サブバンドに基づいて予測コーディングされる(拡張バンドのサブバンドのスケーリング係数は、値において似ており、その結果、連続するサブバンドは、通常は、値において近いスケーリング係数を有することになる)。言い換えると、拡張バンドの最初のサブバンドのスケーリング係数の全ての値が、エンコードされる。後続サブバンドは、実際の値の、その予測された値からの差としてコーディングされる(すなわち、予測された値は、先行するサブバンドのスケーリング係数である)。マルチ・チャネル・オーディオについて、各チャネル内の拡張バンドの最初のサブバンドは、その全ての値としてエンコードされ、後続サブバンドのスケーリング係数は、そのチャネル内の前のサブバンドのスケーリング係数から予測される。代替実装では、他の変形形態の中で、スケール・パラメータを、チャネルにまたがって、複数の他のサブバンドから、ベースバンド・スペクトルから、または以前のオーディオ入力ブロックから予測することもできる。
拡張バンド・コーダは、さらに、均一量子化または不均一量子化を使用してスケール・パラメータを量子化する。一実装では、スケール・パラメータの不均一量子化が使用され、ここで、スケーリング係数の対数が、均一に128個のビンに量子化される。その後、結果の量子化された値が、ハフマン・コーディングを使用してエントロピー・コーディングされる。
形状パラメータについて、拡張バンド・コーダは、予測コーディング(スケール・パラメータと同様に、先行するサブバンドから予測することができる)、64個のビンへの量子化、およびエントロピー・コーディング(たとえば、ハフマン・コーディングを用いる)をも使用する。
いくつかの実装で、拡張バンド・サブバンドを、サイズにおいて可変とすることができる。その場合に、拡張バンド・コーダは、拡張バンドの構成をもエンコードする。
より具体的には、1つの例の実装で、拡張バンド・コーダは、表1の擬似コード・リスティングによって示されるように、スケール・パラメータおよび形状パラメータをエンコードする。複数のスケール・パラメータまたは形状パラメータを、複数コードワード(multiple codeword case)の事例について送ることができる。
Figure 0005658307
上のコード・リスティングでは、バンド構成(すなわち、バンドの個数およびバンドのサイズ)を指定するコーディングは、拡張バンド・コーダを使用してコーディングされるスペクトル係数の個数に依存する。拡張バンド・コーダを使用してコーディングされる係数の個数は、拡張バンドの開始位置およびスペクトル係数の総数を使用して見つけることができる(拡張バンド・コーダを使用してコーディングされるスペクトル係数の個数=スペクトル係数の総数−開始位置)。1つの例で、バンド構成は、許容されるすべての可能な構成のリスティングへのインデックスとしてコーディングされる。このインデックスは、n_config=log2(構成の個数)ビットを有する固定長コードを使用してコーディングされる。許容される構成は、この方法を使用してコーディングされるスペクトル係数の個数の関数である。たとえば、128個の係数がコーディングされる場合に、デフォルト構成は、サイズ64の2個のバンドである。他の構成が可能である場合があり、たとえば、表2に、128個のスペクトル係数に関する複数のバンド構成のリスティングを示す。
Figure 0005658307
したがって、この例では、5つの可能なバンド構成がある。そのような構成では、係数のデフォルト構成は、‘n’個のバンドを有するものとして選択される。次に、各バンドが分割またはマージ(1レベルのみ)のいずれかを行うことを可能にすると、5(n/2)個の可能な構成があり、これは、コーディングするのに(n/2)log2(5)ビットを必要とする。他の実装では、可変長コーディングを使用して、構成をコーディングすることができる。コードワード変更から利益を得るために、拡張バンド構成の特定の方法は必要ではない。さらに、有益であるためにそのようなコードワード変更方法を一切必要としない、拡張バンド構成のさまざまな他の方法を、後で述べる。
上で述べたように、スケール係数は、予測コーディングを使用してコーディングされ、ここで、予測は、同一チャネル内の以前のバンドから、同一タイル内の以前のチャネルから、または以前にデコードされたタイルからの以前にコーディングされたスケール係数からとることができる。所与の実装について、予測の選択は、以前のバンド(同一拡張バンド内、同一チャネル内、または同一タイル(入力ブロック)内)のどれが最高の相関をもたらしたかを調べることによって行うことができる。一実装例では、バンドは、次のように予測コーディングされる。
あるタイルのスケール係数がx[i][j]であるものとし、ここで、i=チャネル・インデックス、j=バンド・インデックスである。
i==0 && j==0(最初のチャネル、最初のバンド)について、予測はない。
i!=0 && j==0(他のチャネルの、最初のバンド)について、予測はx[0][0]である(最初のチャネル、最初のバンド)。
i!=0 && j!=0(他のチャネル、他のバンド)について、予測はx[i][j−1]である(同一チャネル、以前のバンド)。
上のコード・テーブルで、「形状パラメータ」は、スペクトル係数の以前のコードワードの位置を指定する動きベクトル、固定コードブックからのベクトル、またはノイズである。前のスペクトル係数は、同一チャネル内から、以前のチャネルから、または以前のタイルからのスペクトル係数とすることができる。形状パラメータは、予測を使用してコーディングされ、ここで、予測は、同一チャネル内の以前のバンドの以前の位置から、同一タイル内の以前のチャネル、または以前のタイルからとられる。任意の線形変換または非線形変換を、形状に適用することができる。「変換」パラメータは、そのような変換情報、変換情報へのインデックス、またはその他を示す。
デコーディングの例示的方法
図5に、オーディオ・エンコーダ(300)によって作られたビットストリーム用のオーディオ・デコーダ(500)を示す。このデコーダでは、エンコードされたビットストリーム(205)が、ビットストリーム・デマルチプレクサ(210)によってベースバンド・コード・ストリームおよび拡張バンド・コード・ストリームに逆多重化され(たとえば、コーディングされたベースバンド幅および拡張バンド構成に基づいて)、このベースバンド・コード・ストリームおよび拡張バンド・コード・ストリームは、ベースバンド・デコーダ(540)および拡張バンド・デコーダ(550)内でデコードされる。ベースバンド・デコーダ(540)は、ベースバンド・コーデックの従来のデコーディングを使用して、ベースバンド・スペクトル係数をデコードする。拡張バンド構成デコーダ(545)は、デフォルト・バンド構成からの最適化が利用される場合に、最適化されたバンド・サイズをデコードする。拡張バンド・デコーダ(550)は、拡張バンド・コード・ストリームを、形状パラメータ(および動きベクトルによってポイントされる係数の線形変換または非線形変換に関するすべての任意選択の情報)の動きベクトルによってポイントされるオリジナルのまたは変換されたベースバンド・スペクトル係数(または任意の以前のバンドもしくはコードブック)の1つまたは複数の部分をコピーオーバーすることによって、スケール・パラメータのスケーリング係数によってスケーリングすることによって、を含み、デコードする。ベースバンド・スペクトル係数および拡張バンド・スペクトル係数は、単一のスペクトルに組み合わされ、この単一のスペクトルが、逆変換580によって変換されて、オーディオ信号が再構成される。
図6に、図5の拡張バンド・デコーダ(550)で使用されるデコーディング・プロセス(600)を示す。拡張バンド・コード・ストリーム内の拡張バンドのコーディングされたサブバンドごとに(アクション(610))、拡張バンド・デコーダは、スケール係数をデコードし(アクション(620))、すべての変換情報と一緒に動きベクトルをデコードする(アクション(630))。次に、拡張バンド・デコーダは、動きベクトル(形状パラメータ)によって識別されるベースバンドのサブバンド、固定コードブック・ベクトル、またはランダム・ノイズ・ベクトルをコピーし、および、すべての識別された変換を実行する(アクション(640))。拡張バンド・デコーダは、コピーされたスペクトル・バンドまたはベクトルをスケーリング係数によってスケーリングして、拡張バンドの現在のサブバンドのスペクトル係数を作る。
例示的なスペクトル係数
図7は、スペクトル係数の一つの集合を表すグラフである。たとえば、係数(複数)(700)は、オーディオ信号の入力ブロックごとにスペクトル係数の一つの集合を作る、ある変換、またはMDCTもしくはMCTなどのオーバーラップした直交変換の、出力である。
図7に示されているように、変換の出力のうちでベースバンド(702)と呼ばれる部分は、ベースバンド・コーダによってエンコードされる。次に、拡張バンド(704)は、均一なサイズまたはさまざまなサイズ(706)のサブバンドに分割される。ベースバンド内の形状(708)(たとえば、係数の系列によって表される形状)が、拡張バンド内の形状(710)と比較され、ベースバンド内の似ている形状を表すオフセット(712)が、エンコードされデコーダに送られる必要があるビットがより少なくなるように、拡張バンド内の形状(たとえば、サブバンド)をエンコードするのに使用される。
ベースバンド(702)サイズは、変更することができ、結果の拡張バンド(704)は、ベースバンドに基づいて変更することができる。拡張バンドを、さまざまな複数のサイズのサブバンド・サイズ(706)に分割することができる。
この例では、ベースバンド・セグメント(このバンドまたは任意の以前のバンドからの)が、拡張バンド内のサブバンド(710)をシミュレートするためにコードワード(708)を識別するのに使用される。コーディングされるベクトル(710)用のモデルをより接近して提供することのできる他の形状(たとえば、係数の他の系列)を作成するために、コードワード(708)を線形変換しまたは非線形変換することができる。
したがって、ベースバンド内の複数のセグメントが、拡張バンド内のデータをコーディングするために潜在的モデル(たとえば、コードブック、ライブラリ、またはコードワードの辞書)として使用される。拡張バンド内のサブバンド内の実際の係数(710)を送るのではなく、動きベクトル・オフセット(712)などの識別子が、拡張バンドのデータを表すためにエンコーダに送られる。しかし、時々、サブバンド内でモデリングされているデータに関するベースバンド内に接近した一致がない場合がある。これは、限られたサイズのベースバンドを可能にする低ビットレート制約のゆえである場合がある。上で述べたように、拡張ベースバンドに対する相対的なベースバンド・サイズ(702)は、時間、出力デバイス、または帯域幅などのコンピューティング・リソースに基づいて変化す
ることができる。
もう1つの例では、別のコードブック(716)が、設けられるか、あるいはエンコーダ/デコーダから使用可能であり、最もマッチングする識別子が、コードブック内の最も接近してマッチするコードワード(718)へのインデックスとして提供される。さらに、ランダム・ノイズがコードワードとして望ましい場合に、ビットストリームの一部(ベースバンドからのビットなど)が、エンコーダとデコーダとの両方で、乱数ジェネレータに同様にシードを与えるために使用することができる。
これらのさまざまな方法は、サブバンド(710)または他のベクトルのコーディングのために、コードワードのライブラリまたは辞書を作成して、形状をマッチングするための複数のコードワードからなるより大きいユニバースを提供するのに使用することができ、その結果、係数自体を、個別に量子化されるのではなく、動きベクトル(712)を介してモデリングすることができる。
コードワードの例示的変換
図8は、コードワードと、そのコードワードのさまざまな線形変換および非線形変換とを示すグラフである。たとえば、コードワード(802)は、ベースバンド、固定コードブック、および/またはランダムに生成されたコードワードからのものである。さまざまな線形変換および非線形変換が、コーディングされるベクトルをマッチングさせる際に最良の形状を識別するための形状のより大きいまたはより多様な集合を得るために、ライブラリ内の1つまたは複数のコードワードに対して実行される。1つの例で、コードワードは、形状マッチング用の別のコードワードを得るために、係数順序において逆転(804)される。係数値<1,1.5,2.2,3.2>を含むコードワードの逆は、<3.2,2.2,1.5,1>になる。もう1つの例で、コードワードのダイナミック・レンジまたは変動が、各係数で1未満の指数を用いる累乗を使用して減らされる(806)。同様に、図示されていないが、コードワードの変動は、1より大きい指数を使用して誇張される(たとえば、増大する変動)。たとえば、係数<1,1,2,1,4,2,1>を含むコードワードを2乗して、コードワード<1,1,4,1,16,4,1>を作成する。もう1つの例で、コードワード<−1,1,2,3>(802)の係数が、<1,−1,−2,−3>(808)にネゲート(negate)される。もちろん、サブバンドのマッチング用のより大きいまたはより多様なユニバースまたはライブラリあるいは他のベクトルを提供するために、多数の他の線形変換および非線形変換(たとえば、806)を、1つまたは複数のコードワードに対して実行することができる。さらに、使用可能な形状のより高い多様性をもたらすために、1つまたは複数の変換を、組み合わせてコードワードに適用することもできる。
1つの例で、エンコーダは、まず、エンコードされるサブバンドへの最も近くマッチングするベースバンド内のコードワードを決定する。たとえば、ベースバンド内の係数の最小二乗平均比較を使用して、最良のマッチングを決定することができる。たとえば、(708)を(710)と比較した後に、比較は、一時に1係数ずつ、ストリームを下に1係数だけ移動して、(710)と比較される別のコードワードを得る。次に、最も近いマッチングが見つかったときに、1つの例で、最良マッチングのコードワードの形状を、非線形変換によって変更して、マッチングが改善されるかどうかを調べる。たとえば、最良マッチングのコードワードの係数に対する指数変換を使用することによって、マッチングに対する洗練をもたらすことができる。最良のコードワード・マッチングおよび指数を見つける2つの方法がある。第1の方法では、最良コードワードは、通常、メトリックとしてのユークリッド距離(MSE)を使用することによって見つけられる。最良コードワードが見つかった後に、最良指数が見つけられる。最良指数は、次の2つの方法のうちの1つを使用することによって見つけられる。
一方の方法は、使用可能なすべての指数を試み、どの指数が最小のユークリッド距離を与えるかを調べることであり、他方の方法は、どの指数が最良のヒストグラムまたは確率質量関数(pmf)マッチングを与えるかを調べるために指数を試すことである。pmfマッチングは、オリジナル・ベクトルのpmfと累乗されたベクトルのそれぞれとの平均値の回りの二次モーメント(変動)を使用して計算することができる。最も近いマッチングを有する指数が、最小の指数として選択される。
最良のコードワードおよび指数マッチングを見つける第2の方法は、コードワードおよび指数の多数の組合せを使用して網羅的探索を行うことである。
たとえば、X0.5が、X1.0よりよい比較をもたらす場合に、サブバンドは、変換(線形または非線形)xと一緒に、ベースバンド内のそのコードワードへのオフセット(712)を使用してコーディングされ、ここで、p=0.5を示す1つまたは複数のビットが、デコーダに送られ、デコーダで適用される。この例では、探索は、まずコードワードを見つけることと、次に変換を用いて変更することとを用いて進行するが、そのような順序は、実際には必要ではない。
もう1つの例では、最良マッチングを見つけるために、網羅的探索が、ベースバンドおよび/または他のコードブックに沿って実行される。たとえば、(指数変換(p=0.5,1.0,2.0)、符号変換(+/−)、方向(順方向/逆方向)のすべての組合せのベースバンドに沿った網羅的探索を含む探索が実行される。同様に、この網羅的探索を、ノイズ・コードブック・スペクトルまたはコードワードに沿って実行することができる。
一般に、近いマッチングは、コーディングされるサブバンドとコードワードとの間の最小の変動、およびサブバンドをモデリングするために選択された変換を決定することによって提供することができる。コードワードおよび/または変換の識別子またはコーディングされた表示(indication)は、スケール係数などの他の情報と一緒に、ビットストリーム内にコーディングされ、エンコーダに供給される。
例示的な複数コードワードコーディング(Exemplary Multiple Codeword Coding)
1つの例で、2つの異なるコードワードが、サブバンド・エンコーディングを提供するのに利用される。たとえば、長さuの2つのコードワードbおよびnを与えられて、コーディングされるサブバンドをよりよく記述するために、b=<b,b,...b>およびn=<n,n,...n>が提供される。ベクトルbは、ベースバンド、任意の以前のバンド、ノイズ・コードブック、またはライブラリからとすることができ、ベクトルnは、同様に、任意のそのようなソースからとすることができる。デコーダが、暗黙のうちにまた明示的に、コードワードbおよびnからどの係数をとるべきかを知るように、2つのあるいはそれ以上のコードワードbおよびnのそれぞれから係数をインターリーブするルールを提供する。このルールは、ビットストリーム内で提供することができ、あるいは、暗黙のうちにデコーダによって知られるものとすることができる。
このルールおよび2つまたはそれ以上のベクトルが、デコーダで、サブバンドs=<n,b,n,n,b,...n>を作成するのに使用される。たとえば、ルールは、送られるコードワードの順序およびパーセンテージ値“a”に基づいて確立される。エンコーダは、順序(b,n,a)で情報を配送する。デコーダは、この情報を、係数が‘a’にベクトルb内の最大の係数値Mを乗じたものより小さい場合に最初のベクトルbから係数をとる要件に、翻訳する。したがって、係数bがa*Mより大きい場合に、bは、ベクトルsに含まれ、そうでない場合には、nが、sに含まれる。もう1つのルールは、bがベクトルsに含まれるために、bがa*M未満の値を有するT個の隣接する係数のグループの一部でなければならないことを要求することができる。‘a’のデフォルト値がセットされる場合に、‘a’は、暗黙なので、デコーダに送られる必要はない。
したがって、デコーダは、2つあるいはそれ以上のコードワード識別子を送ることができ、任意選択で、サブバンドを作成するために採用する係数をデコードするルールを送ることができる。エンコーダは、コードワードに関するスケール係数情報をも送ることができ、任意選択で、関連する場合に、bおよび/またはnが、線形にまたは非線形に変換される可能性があるので、任意の他のコードワード変換情報を送ることができる。 上述の2つまたはそれ以上のコードワードbおよびnを使用すると、エンコーダは、コードワードの識別子(たとえば、動きベクトル、コードブック・インデックスなど)、ルール(たとえば、ルールブックへのインデックス)を送り、あるいは、このルールは、エンコーダとデコーダとの両方によって暗黙のうちに知られることになり、任意の追加の変換情報(たとえば、bまたはnも追加変換を必要とすると仮定して、x、p=0.5)、およびスケール係数に関する情報(たとえば、s、sなど)を送る。スケール係数情報は、スケール係数および比(たとえば、s、s/sなど)とすることもできる。1つのベクトル・スケール係数および比があれば、デコーダは、他のスケール係数を計算するのに十分な情報を有する。
ベースバンドの例示的エンハンスメント
低ビットレート応用例など、ある種の条件の下で、ベースバンド自体が、良好にコーディングされない場合がある(たとえば、複数の連続する0係数または0が混在する係数)。1つのそのような例で、ベースバンドは、強度のピークを良好に表すが、ピークの間のより低い強度を表す係数での微妙な変化を良好には表さない。そのような場合に、ベースバンド自体からのコードワードのピークが、第1ベクトル(たとえば、b)として選択され、0の係数または非常に低い相対的な係数が、ピークの間の低いエネルギーに非常によく似た第2ベクトル(たとえば、n)と置換される。したがって、この2つのコードワード法を、ベースバンドまたはそのベースバンドのサブバンドで使用して、ベースバンド・エンハンスメントをもたらすことができる。前と同様に、第1または第2のベクトルから選択するのに使用されるルールは、明示的でありデコーダに送られるものとすることができ、あるいは、暗黙とすることができる。いくつかの場合に、第2のベクトルは、ノイズ・コードワードを介して最もよく提供することができる。
例示的変換
ベースバンド、以前のバンド、または他のコードブックは、連続する係数のライブラリを提供し、各係数は、潜在的に、コードワードとして働くことができる連続する係数の系列の最初の係数として働く。ライブラリ内の最良マッチングのコードワードが、識別され、スケール係数と一緒にデコーダに送られ、デコーダによって、拡張サブバンド内のサブバンドを作成するのに使用される。
任意選択で、ライブラリ内の1つまたは複数のコードワードが、変換され、コーディングされる形状に対する最良マッチングを見つけるために使用可能なコードワードからなるより大きいユニバースをもたらす。数学において、線形変換および非線形変換のユニバースが、形状、ベクトル、および行列に関して存在する。たとえば、ベクトルを、逆転し、軸にまたがってネゲートすることができ、あるいは、形状を、平方根関数、指数などを適用することによるなど、線形変換および非線形変換を用いて変更することができる。コードワードに1つまたは複数の線形変換または非線形変換を適用することを含む、探索が、コードワードのライブラリに対して実行され、最も近くマッチングするコードワードが、変換と一緒に識別される。最良マッチングの識別子、コードワード、スケール係数、および変換識別子が、デコーダに送られる。デコーダは、情報を受け取り、拡張バンド内のサブバンドを再構成する。
任意選択で、エンコーダは、コーディングされかつ/またはエンハンスされるサブバンドを一緒に最もよく表す複数のコードワードを選択する。ルールを使用して、コーディングされるサブバンド内の個々の係数位置を選択し、またはインターリーブする。ルールは、暗黙または明示的である。コーディングされるサブバンドは、拡張バンド内とすることができ、あるいは、エンハンスされるベースバンド内のサブバンドとすることができる。使用される複数のコードワードは、ベースバンドまたは任意の他のコードブックからのコードワードとすることができ、コードワードのうちの1つまたは複数を、線形にまたは非線形に変形することができる。
例示的なエンベロープ・マッチング
「エンベロープ」と呼ばれる信号(たとえば、Env(i))は、以下に示すように、入力信号x(i)(たとえば、オーディオ、ビデオなど)に対して加重平均を実行することによって生成される。
Figure 0005658307
ここで、w(j)は、重み付け関数(現在は三角形形状)であり、Lは、重み付けされた分析で検討される隣接する係数の個数である。以前には、および網羅的探索の例を、コードワードの入力ユニバース、指数変換(0.5、1.0、2.0)、係数ネゲーション(符号+/−)、およびコードワード係数方向(順方向、逆方向)を使用して論じた。その代わりに、最良の‘Q’個のコードワード(コードワード、指数、符号、および/または方向)が、コーディングされるサブバンドのエンベロープの間のユークリッド距離およ
びコードワードを使用して選択される。コードワードのオリジナルの量子化されていないバージョンは、エンベロープ・ユークリッド距離を測定するのに有用である場合がある。
ユークリッド距離に基づいて決定されたこれらのQ個の最も近い候補から、最良マッチングが選択される。任意選択で、エンベロープを検討した後に、ある方法(前に説明したコードワード比較方法など)が、Q個の候補のどれが最も良く適合するかを調べるためにリターンすることができる。
例示的なコードワード変更
コード・ベクトルからなるコードブックを与えられると、そのコードブック内のコード・ベクトルがコーディングされるベクトルをよりよく表すようにする、それらのコード・ベクトルの変更が試みられる。コードブック/コードワード変更は、次の変換のうちの1つまたは複数の任意の組合せからなるものとすることができる。
・コード・ベクトルに適用される線形変換。
・コード・ベクトルに適用される非線形変換。
・新しいコード・ベクトルを得るために複数のコード・ベクトルを組み合わせること(組み合わされるベクトルは、同一のコードブックまたは異なるコードブックに由来するか、ランダムとすることができる)。
・ベース・コーディングを用いてコード・ベクトルを組み合わせること。
変換を使用する場合に、どの変換を使用するか、およびその変換でどのコード・ベクトルを使用するかに関する情報は、ビットストリーム内でデコーダに送られるか、デコーダが既に有する知識(そのデコーダが既にデコードしたデータ)を使用してデコーダで計算されるかのいずれかである。ベクトルは、通常、コーディングされるスペクトル係数のあるバンドである。
具体的に、コードワード変更に関する3つの例を与える。
(1)ベクトルの各要素に適用される累乗(非線形変換)、
(2)新しいベクトルを形成するための2つ(またはそれより多数)のベクトルの組合せ、ここで、2つのベクトルのそれぞれは、ベクトルのうちで異なる特性を有する部分を表すのに使用される、および
(3)ベース・コーディングを用いるコード・ベクトルの組合せ。次の議論では、vは、コーディングされるベクトルを表すのに使用され、xは、vをコーディングするのに使用されるコード・ベクトルまたはコードワードであり、yは、変更されたコード・ベクトルである。ベクトルvは、近似v’=Sxを使用してコーディングされ、Sはスケール係数である。使用されるスケール係数は、vとxとの間のパワーの比の量子化されたバージョンである。
Figure 0005658307
ここで、Q(.)は量子化であり、‖.‖は、ノルムを表し、このノルムは、ベクトルのパワーである。オリジナル・ベクトルのパワーの量子化されたバージョンが、送られる。デコーダは、コード・ベクトルのパワーによって除算することによって、使用されるスケール係数を計算する。
例示的な非線形変換
第1の例は、コード・ベクトルの各要素に指数を適用することからなる。表3に、コードワードの係数の系列の非線形変換を示す。
Figure 0005658307
この例では、コードワード(コード・ベクトル)の各係数が、2乗される(x)。そのような例では、変換されたコードワードの形状が、コーディングされるベクトルの最良あてはめである場合に、エンコーダは、コードワードの識別と、最良のマッチングにつながる変換とを供給する。
指数は、固定された個数のビットを使用してデコーダに送ることができ、あるいは、指数のコードブックから送ることができ、あるいは、以前に知ったデータを使用してデコーダで暗黙のうちに計算することができる。たとえば、L次元ベクトルについて、コードブック内の第‘i’コード・ベクトルの要素が、x[0],x[1],...,x[L−1]であるものとする。すると、累乗は、ベクトルを変更するために指数‘p’を適用して、新しいベクトルyを得る。
[j]=(x[j])、 ただし、j=0,1,...,L−1
ここで、‘j’は、要素インデックスである。この非線形変換は、1未満のpの値を使用することによって、ピークを有しないベクトルをコーディングするのに、ピークを有するコード・ベクトルを使用することを可能にする。同様に、この非線形変換は、p>1を使用することによって、ピークを有するコード・ベクトルを表すのに、ピーキーでないコード・ベクトルを使用することを可能にする。
図9は、ピークを明瞭には表さない例示的ベクトルのグラフである。
図10は、指数変換によって作成された明瞭なピークを有する図9のグラフである。
例として、図9および図10を参照されたい。図9では、かなりランダムである図示のベクトルは、明瞭なピークを有しない。指数p=5が適用されるときに、図10は、所望のピークをよりよく表す。同様に、オリジナルのコード・ベクトルが、図10に示されたものである場合に、指数p=1/5=0.2は、図9をもたらすはずである。もちろん、スケール係数は再計算される。というのは、コード・ベクトルのノルム(またはエネルギー)が、xからyへの変換中に変化しているからである。具体的に言うと、今や、S=Q(‖v‖)/‖y‖が、スケール係数に使用される。送られる実際のスケール係数Q(‖v‖)は、指数によって変更はされないが、デコーダは、コード・ベクトルのパワーの変化に起因して、異なるスケール係数を計算しなければならない。
あるコードワードは、それに適用されて、それぞれが異なる結果をもたらす複数の指数を有することができる。最良の指数を計算するのに使用される方法は、そのコード・ベクトル全体の値のヒストグラム(または確率質量関数(pmf))が実際のベクトルのヒストグラムと最もよくマッチングするようになる指数を見つけることである。これを行うために、そのベクトルとコード・ベクトルとの両方のシンボル値の不一致(variance)が、累乗を使用して計算される。たとえば、その可能な指数の集合がpであり、kは、その可能な指数の集合をインデクシングするのに使用され、k=0,1,...,P−1であると仮定する。次に、可能な指数のそれぞれから生じるコード・ベクトルの平均値の回りの正規化された二次モーメントを、計算し(V)、実際のベクトル(V)と比較する。
Figure 0005658307
最良の指数は、VとVとの間の差を最小にするように選択され、pによって与えられ、ここで、bは、
Figure 0005658307
と定義される。
前に述べたように、最良マッチング指数は、網羅的探索を使用して見つけることもできる。
組合せを介する例示的なコードワード変更
もう1つの変換は、新しいコード・ベクトルを形成するために複数のベクトル(multiple vectors)を組み合わせる。これは、本質的に複数ステージ・コーディング(multistage coding)であり、各ステージでは、まだコーディングされていないベクトルの最も重要な部分と最もよくマッチングするマッチングが見つけられる。2つのベクトルに関する例として、まず、最良マッチングを見つけ、次に、ベクトルのどの部分が良好にコーディングされているかを調べる。このセグメント化は、明示的に送ることができるが、これが、多すぎるビットを要する場合がある。したがって、セグメント化は、1つの例ではベクトルのどの部分を使用するかを示すことによって、暗黙のうちに提供される。残りの部分は、ランダム・コード・ベクトルまたは残りの要素をよりよく表すコードブックからの別のコード・ベクトルのいずれかを使用して表される。xが、第1コード・ベクトルであり、wが、第2コード・ベクトルであるものとする。集合Tが、第1コード・ベクトルを使用してコーディングされなければならないと考えられる、ベクトルの部分を指定するものとする。集合Tの濃度は、0とLとの間になる、すなわち、集合Tは、この第1コード・ベクトルを使用してコーディングされなければならないと考えられるベクトルのインデックスを表す0個とL個との間の要素を有する。どの要素が第1ベクトルによって良好に表されるかを算定するルールを提供し、このルールは、潜在的な係数が第1ベクトルの最大の係数のあるパーセンテージより大きいかどうかを決定するなど、メトリックスを使用することができる。したがって、第1ベクトルの最大係数のあるパーセンテージ以内の第1ベクトルのすべての係数について、その係数は、第1ベクトルからとられ、そうでない場合には、そのコードワード係数は、第2コードワードからとられる。Mが、第1コード・ベクトルxの最大値であるものとする。すると、集合Tを、
T={j:x[j]>aM,j=0,1,...L−1}
を使用して定義することができ、ここで、‘a’は、0と1との間のある定数である。
たとえば、a=0の場合に、すべての非0値は、コーディングされたベクトルの集合Tに属すると考えられる。a=1−εの場合には、εが十分に小さくなるようにとられているならば、最大値自体だけをコーディングしなければならないと考えられる。すると、集合Tを与えられて、集合Nは、次のようにベクトルwからとられる相補的な残りの集合である。
N={j:x[j]≦aM,j=0,1,...,L−1}
したがって、x[j]の係数は、aMの値に依存してxまたはwからとられる。NまたはTを、3つ以上のベクトルを得るために他の類似するルールを使用してさらに分割することができることに留意されたい。第1コード・ベクトル(x)および第2コード・ベクトル(w)を使用してインデックス・コーディングされた複数の集合としてTおよびNを与えられて、新しいベクトルyは、
Figure 0005658307
と定義され、ここで、SおよびSは、それぞれxおよびwのスケール係数である。通常はコード・ベクトル全体のスケール係数が送られ、これが、コーディングされるベクトル全体のパワーの量子化されたバージョンを表すので、コード・ベクトル全体のスケール係数に加えて、この2つのスケール係数の間の比(S/S)を、この事例では送る必要がある。一般に、ベクトルが、‘m’個のコード・ベクトルを使用して作成される場合に、ベクトル全体のスケール係数を含めて、‘m’個のスケール係数を送らなければならない。たとえば、2つのベクトルの場合に、
Figure 0005658307
であることに留意されたい。
およびvが、この2つのベクトルとして定義されると仮定すると、そのパワーを
Figure 0005658307
と定義することができ、ここで、|T|および|N|は、2つの集合の濃度(要素の個数)である。‖v‖の値(ベクトルの総パワー)および‖v‖の値(ベクトルの第2成分のパワー)を与えられて、デコーダは、
Figure 0005658307
を計算することができる。
したがって、集合Nのパワーの量子化されたバージョンが送られ(Q(‖v‖)、総パワーが送られるQ(‖v‖)ならば、これが、デコーダにとって十分な情報である。
セグメント化を実行するのにコード・ベクトルx自体を使用することによって、エンコーダが、セグメント化に関するすべての情報を送る必要を回避することに留意することが重要である。というのは、各ベクトルxおよびwから選択される係数が、ルールにおいて暗黙的である(たとえば、x[j]≧aM)からである。xに対応するコード・ベクトル・インデックスまたは動きベクトルが送られない(ランダム・ベクトルである)場合であっても、集合TおよびNのセグメント化を、ランダム・ベクトル・ジェネレータの状態がエンコーダとデコーダとの両方が有する情報に基づいて決定的であるランダム・ベクトルを使用することによって、エンコーダとデコーダとの間でマッチングさせることができる。たとえば、ランダム・ベクトルを、コーディングされデコーダに送られた(エンコードされたベースバンド内などで)データの最下位ビット(LSB)のある組合せを使用することと、その後、これを擬似乱数ジェネレータにシードを与えるのに使用することによって、決定することができる。この形で、セグメント化を、実際のコード・ベクトルが送られない場合であっても暗黙のうちに制御することができる。
2つのベクトルを組み合わせることによるこの変換は、コーディングされるベクトルのよりよい表現を可能にする。ベクトルwは、コードブックからのベクトルとすることができ、インデックスを、ベクトルwを表すために送ることができ、あるいは、ベクトルwをランダムとすることができ、この場合に、追加情報を送る必要はない。上で与えた例では、セグメント化が、ベクトルxを使用する係数に対する比較ルール(たとえば、x[j]≧aM)を使用して行われ、したがって、セグメント化に関する情報を送る必要がないので、セグメント化が暗黙であることに留意されたい。この変換は、コーディングされるベクトルが2つの異なる分布を有するときに有用である。
図11は、コードワードがモデリングするサブバンドと比較した、そのコードワードのグラフである。この例(1100)では、コード・ベクトルは、ベクトルのピークと最もよくマッチングするように選択されている。しかし、ピークは良好にマッチングしているが、ベクトルの残りは、類似するパワーを有しない。コード・ベクトルの残りの部分は、実際のベクトルが有するものよりはるかに小さい、ピークに対する相対的なパワーを有する。これは、顕著な圧縮アーティファクトをもたらす。しかし、vのうちでコード・ベクトルによって良好にコーディングされる部分が、第1ベクトルから選択され、次に、第2コード・ベクトルが、残りの部分に適用されるときに、はるかによい結果が得られる。
図12は、変換されたコードワードがモデリングするサブバンドと比較した、そのコードワードのグラフである。モデリングされるサブバンドは、2つのコードワードから作成されたコードワードによってモデリングされる。
図13は、コードワード、そのコードワードによってコーディングされるサブバンド、そのコードワードのスケーリングされたバージョン、およびそのコードワードの変更されたバージョンのグラフである。
選択動作を介する例示的なコードワード変更
複数コード・ベクトル(multi codevectors)(たとえば、複数コードワード(multi -codewords))の代替バージョンは、ある選択された係数について第1コード・ベクトルに置換するのではなく、第1コード・ベクトルを追加する。これは、次の式を適用することによって行うことができる。
Figure 0005658307
ベースバンドの例示的エンハンスメント
この例では、コード・ベクトルが、ベース・コーディングと組み合わされる。これは、第1ベクトルxが、コーディングされるベクトルであり、かつ、それ自体をエンコードするための2つのベクトルのうちの1つとしてそれ自体が使用されるということを除いて、2ベクトル(または複数ベクトル(multi vector))手法に似ている。たとえば、ベース・コーディングはこれらの係数を含むように変更され、そこでは、ベース・コーディングが良好に動作し、、よりよい係数が、前と同様に第2ベクトルからとられる。コーディングされるベクトル(サブバンド)ごとに、ベース・コーディングが既に存在する場合に、このベース・コーディングは、複数ベクトル方式(multi-vector scheme)の第1ベクトルになり、領域TおよびN(またはより多くの領域)にセグメント化される。このセグメント化(たとえば、係数選択)は、複数コード・ベクトル手法(multi code-vector approach)と同一の技法を使用してもたらすことができる。
たとえば、ベース・コーディングのそれぞれについて、0の値を有する係数がある場合に、これらのすべてが、集合Nに含められ、その後、この集合Nは、エンハンスメント・レイヤ(たとえば、第2ベクトル)によってコーディングされる。そのような方法は、非常に低いビットレートでのコーディングからしばしば生じる、大きいスペクトルの穴を充
填するのに使用することができる。変更には、ある閾値より大きくない限り穴(hole)または「0」の係数を充填しないことを含めることができ、ここで、閾値は、ある個数のヘルツ(Hz)または係数(複数の0の係数)と定義することができる。ある周波数未満の穴を充填しないことに対する制限も設けることができる。これらの制限は、上で与えた暗黙のセグメント化ルール(たとえば、x[j]>aMなど)を変更する。たとえば、スペクトルの穴の最小サイズに関する閾値‘T’が設けられる場合に、これは、本質的に、集合Nの定義を次の定義に変更する。
0,...,T−1の間のいくつかのKについて、
N={j:x[j−K]≦aM && x[j−K+1]≦aM && K && x[j−K+T−1]≦aM, j=0,1,...,L−1}
したがって、x[j]が集合Nに含まれるためには、x[j]は、T個の連続する係数のグループの一部でなければならず、この係数のすべてが、(aM)以下の値を有する。これは、2ステップで、すなわち、まず値が閾値未満であるかどうかを係数ごとに計算することと、次にこれらが「連続」要件を満足するかどうかを調べるためにこれらを一緒にグループ化することとによって、計算することができる。サイズTの真のスペクトルの穴について、a=0である。最小周波数制約などの他の条件は、集合Nに属するためにはj>Tminfreqであるという追加の制約を追加する。
上のルールは、第2ベクトルからの値で係数を置換することをルールがシグナリングする前に、連続する複数の係数(たとえば、T個の連続する係数)が、条件x[j]≦aMを満足することを要求するフィルタをもたらす。
行う必要がある場合があるもう1つの変更は、ベース・コーディングが、チャネル変換を適用した後のチャネルをもコーディングするという事実に起因する。したがって、チャネル変換の後に、ベース・コーディングおよびエンハンスメント・コーディングが、異なるチャネル・グループ化を有する場合がある。したがって、エンハンスメントが適用される特定のチャネルに対してベース・コーディングを調べるのではなく、セグメント化は、ベースコーディング・チャネルより多くのものを調べることある。これは、やはり、セグメント化制約を変更する。たとえば、チャネル0および1が、合同でコーディングされると仮定する。すると、エンハンスメントを適用するルールは、次のルールに変更される。エンハンスメントを適用するためには、コーディングされたチャネルの両方が、実際のチ
ャネルの両方に寄与するので、スペクトルの穴が、ベースバンド・コーディングされたチ
ャネルの両方に存在しなければならない。
サブバンドのセグメント化の例示的最適化
よい周波数セグメント化は、スペクトル・データのエンコーディングの品質に重要である。セグメント化は、スペクトル・データを、サブバンドまたはベクトルと呼ばれる単位に分割することを伴う。単純なセグメント化は、スペクトルを所望の個数の均一のセグメントまたはサブバンドに均一に分割することである。均一セグメント化は、準最適である場合がある。より大きいサブバンド・サイズを用いて表現できるスペクトルの領域がある場合があり、他の領域は、より小さいサブバンド・サイズを用いてよりよく表される。スペクトル・データ強度依存セグメント化を提供するさまざまな特徴を、説明する。より細かいセグメント化を、より大きいスペクトル変動を有する領域について提供し、より粗いセグメント化を、より均一な領域について提供する。たとえば、デフォルト・セグメント化または初期セグメント化を、最初に提供し、最適化または後続構成が、スペクトル・データ変動の強度に基づいてセグメント化を変更する。
例示的なデフォルト・セグメント化
スペクトル・データは、最初にサブバンドにセグメント化される。任意選択で、初期セグメント化を変更して、最適セグメント化または後続セグメント化を作ることができる。2つのそのような初期セグメント化またはデフォルト・セグメント化を、均一分割セグメント化および不均一分割構成と呼ぶ。上記および他のサブバンド構成を、最初にまたはデフォルトで提供することができる。任意選択で、初期構成またはデフォルト構成を再構成して、後続サブバンド構成を提供することができる。
L個のスペクトル係数のスペクトル・データを与えられれば、データのM個のサブバンドの均一分割セグメント化は、次の式を用いて識別される。
Figure 0005658307
たとえば、L個のスペクトル係数が、点として、0,1,...,L−1としてラベルを付けられる場合に、M個のサブバンドは、スペクトル・データのs[j]個の係数で始まる。したがって、第‘j’サブバンドは、s[j]からs[j+1]−1まで(ただし、j=0,1,...,M−1)の係数を有し、係数s[j+1]−s[j]個分のサブバンド・サイズを有する。
不均一分割セグメント化は、サブバンド・マルチプライヤが設けられることを除いて、類似する形で行われる。サブバンド・マルチプライヤは、M個のサブバンドのそれぞれについて、a[j](ただし、j=0,1,...,M−1)と定義される。さらに、累積サブバンド・マルチプライヤが、次のように設けられる。
Figure 0005658307
不均一分割構成事例のサブバンドの開始点は、
Figure 0005658307
と定義される。
やはり、第‘j’サブバンドは、s[j]からs[j+1]−1までの係数を含み、ここで、j=0,1,...,M−1であり、係数s[j+1]−s[j]個分のサブバンド・サイズを有する。この不均一構成は、周波数に伴って増加するサブバンド・サイズを有するが、任意の構成とすることができる。さらに、望ましい場合に、不均一構成を事前に決定されるものとすることができ、その結果、それを記述するために追加情報を送る必要がなくなる。デフォルト不均一の事例について、サブバンド・マルチプライヤの例は、次のように提供される。
a={1,1,2,2,4,4,4,4,8,8,8,8,8,8,8,8,...}
したがって、デフォルト不均一バンド・サイズ・マルチプライヤは、分割構成であり、ここで、バンド・サイズは、単調非減少である(最初の少数のサブバンドは、より小さく、より高い周波数のサブバンドは、より大きい)。より高い周波数のサブバンドは、しばしば、元来より小さいバリエーションを有し、したがって、より少数のより大きいサブバンドが、それらのバンドのスケールおよび形状を取り込むことができる。さらに、より高い周波数のサブバンドは、より少ないエネルギーを有し、知覚的に重要性がより低いので、全体的な知覚的歪みにおいてより低い重要性を有する。均一分割も、すべてのjについてa[j]=1であることを除いて、サブバンド・マルチプライヤを使用して説明できることに留意されたい。
デフォルト・セグメント化または初期セグメント化は、しばしば、スペクトル・データのコーディングに十分であり、実際に、不均一方式が、事例のうちの大きいパーセンテージを扱うことができるが、最適化されたセグメント化から利益を得る信号が存在する。そのような信号について、バンド・マルチプライヤが固定されるのではなく任意であることを除いて不均一の事例に似たセグメント化が、定義される。任意のバンド・マルチプライヤは、サブバンドの分割およびマージを反映する。1つの例で、エンコーダは、セグメント化が固定(たとえば、デフォルト)または可変(たとえば、最適化されるか変更される)のどちらであるかを示す第1ビットを用いてデコーダにシグナリングする。初期セグメント化が均一分割または不均一分割のどちらであるかをシグナリングするために、第2ビットが設けられる。
例示的な最適化されるセグメント化
デフォルト・セグメント化(均一セグメント化または不均一セグメント化など)から開始して、サブバンドは、最適化されたセグメント化または後続セグメント化を得るために分割され、またはマージされる。1つのサブバンドを2つのサブバンドに分割するか、あるいは2つのサブバンドを1つのサブバンドにマージするかに関する判断を行う。分割するかマージするかの判断は、サブバンドにまたがる変化の強度の測定値など、初期サブバンド内のスペクトル・データのさまざまな特性に基づくものとすることができる。1つの例では、サブバンド内の調性またはスペクトルの平坦度などのサブバンド・スペクトル・データ特性に基づいて、分割するかマージするかの判断を行う。
1つのそのような例で、エネルギーの比が2つのサブバンドの間で似ており、バンドの少なくとも1つが非調性である場合に、2つの隣接するサブバンドがマージされる。これは、単一の形状ベクトル(たとえば、コードワード)およびスケール係数が、その2つのサブバンドを表すのに十分である可能性が高いからである。エネルギーのそのような比の1つの例は、次として提供される。
Figure 0005658307
この例では、Eは、サブバンド0のエネルギーであり、Eは、隣接するサブバンド1のエネルギーであり、‘a’は、定数閾値(通常は範囲0<a<1内)であり、Tは、調性比較メトリックである。サブバンド内の調性測定値(たとえば、Tonality)は、スペクトルを分析するさまざまな方法を使用して得ることができる。
同様に、単一のサブバンドを2つのサブバンドに分割することが、似ていないエネルギーを有する2つのサブバンドを生じさせる場合には、その分割を行わなければならない。あるいは、サブバンドの分割が、異なる形状特性を伴って強く調性(tonal)である2つのサブバンドを作成する場合には、そのサブバンドを分割しなければならない。たとえば、そのような条件は、次のように定義される。
Figure 0005658307
ここで、‘b’は、0より大きい定数である。たとえば、サブバンドが分割されるときに形状マッチングが大幅に改善される場合に、異なる形状を有するように2つのサブバンドを定義することができる。1つの例で、2つの分割されたサブバンドが、分割前のマッチングと比較して、分割後にはるかに低い平均二乗ユークリッド差(MSE)マッチングを有する場合に、形状マッチングはより良いと考えられる。たとえば、サブバンドは、その単一のサブバンドの最良マッチングコードワードを決定するために、複数のコードワードと比較される。次に、そのサブバンドが、2つのバンドに分割され、各サブバンドが、各分割サブバンドの最良マッチングを見つけるために(ハーフ)コードワードと比較される。2つのサブバンドマッチングのMSEが、単一サブバンドマッチングのMSEと比較され、大幅に改善されたマッチングは、分割をエンコードすることの余分のオーバーヘッドに値する改善を示す。たとえば、MSEが20%以上改善される場合に、その分割は、効率的と考えられる。この例では、必要ではないが、形状マッチングは、両方の分割サブバンドが調性である場合に、関連するようになる。
1つの例で、現在の反復において、分割されまたはマージされる追加のサブバンドがなくなるまで、アルゴリズムが繰り返して実行される。無限ループの可能性を減らすために、サブバンドに、分割、マージ、またはオリジナルとして、タグ付けすることが有益である場合がある。たとえば、あるサブバンドが、分割サブバンドとしてマークされる場合に、そのサブバンドは、それが分割された元のサブバンドに戻ってマージされなくなる。マージ済みとしてマークされたブロックは、同一の構成には分割されない。
さまざまなメトリックスが、調性、エネルギー、または異なる形状を計算するのに使用される。動きベクトルおよびスケール・メトリックを使用して、拡張サブバンドをエンコードすることができる。1つのサブバンドを2つのサブバンドに分割することによって、スケール係数(たとえば、≧(1+b)、ただし、bは0.2〜0.5)においてかなり異なるエネルギーが作成される場合に、そのサブバンドを分割することができる。1つの例で、調性は、高速フーリエ変換(FFT)領域で計算される。たとえば、入力信号が、256サンプルの固定ブロックに分割され、FFTが、3つの隣接するFFTブロックに対して実行される。時間平均が、3つの隣接するFFT出力に対して実行されて、現在のブロックの時間平均されたFFT出力が得られる。中央値フィルタが、3つの時間平均されたFFT出力に対して実行されて、ベースラインが得られる。ある係数が、ベースラインの上のある閾値を超える場合に、その係数は、調性と分類され、それがベースラインを超えるパーセンテージが、調性の測定値である。その係数が、閾値未満である場合に、その係数は、調性ではなく、調性の測定値は0である。特定の時間周波数タイル(particular time frequency tile)の調性は、タイルの諸次元をFFTブロックに写像し、ブロックにまたがって調性測定値を累算することによって見つけられる。係数がベースラインを超えなければならない閾値は、絶対閾値、ベースラインに対する相対的な比、またはベースラインの変動に対する相対的な比のいずれかになるように定義することができる。たとえば、係数が、ベースライン(中央値フィルタリングされ、時間平均された)を1局所標準偏差だけ超える場合に、その係数を、調性と分類することができる。その場合に、調性FFTブロックを表す、MLTでの対応する変換されたサブバンドは、調性とラベルを付けられ、分割することができる。この議論は、位相ではなくFFTの大きさに関する。異なる形状に対するMSEメトリックに関して、はるかに小さいMSEのメトリックは、実質的にビットレートに基づいて変化する可能性がある。たとえば、より高いビットレートに関して、MSEが約20%だけ低下する場合に、分割決定が意味をなす可能性がある。しかし、より高いビットレートでは、分割判断を、50%低いMSEで行うことができる。
例示的な可変バンド・マルチプライヤおよびコーディング
サブバンドが分割され、かつまたはマージされた後に、オリジナルの最小のサブバンド・サイズと新しい最小のサブバンド・サイズとの間の比が、計算される。minRatioBandSize=max(1,オリジナルの最小サブバンド・サイズ/新しい最小サブバンド・サイズ)として比が定義される。次に、最小のサイズ(たとえば、サブバンド内の係数の個数)を有する最適化されたサブバンドが、1のサブバンド・マルチプライヤを割り当てられ、他のサブバンド・サイズは、round(このサブバンド・サイズ/最小サブバンド・サイズ)としてセットされるバンド・マルチプライヤを有する。したがって、サブバンド・マルチプライヤは、1以上の整数であり、minRatioBandSizeも、1以上の整数である。サブバンド・マルチプライヤは、本質的に、テーブルレス可変長コードを使用して、期待されるサブバンド・マルチプライヤと最適化されたサブバンド・マルチプライヤとの間の差をコーディングすることによってコーディングされる。0の差は、1ビットを用いてコーディングされ、0を超える15個の最小の可能な差のうちの1つである差は、5ビットを用いてコーディングされ、残りの差は、テーブルレス・コードを使用してコーディングされる。
例として、デフォルト不均一事例のサブバンド・サイズが、表4に示されているように、与えられる、次の事例を検討されたい。
Figure 0005658307

さらに、分割/マージの後に、次の最適化されたサブバンド構成が、表5に示されているように作成されると仮定する。
Figure 0005658307

図14は、サブバンド・サイズ変換の例示的な系列の図である。たとえば、表5のサブバンド・サイズは、図14の変換を介して表4から達成することができる。
minRatioBandSize=max(1,4/2)=2に関する上の式を使用すると、2の最小比サブバンド・サイズがもたらされ、表6に示されているように、バンド・サイズ・マルチプライヤの値を得ることができる。
Figure 0005658307
ある方法を使用して、期待されるサブバンド・マルチプライヤを計算する。まず、分割されずマージされないブロックが、デフォルト・バンド・サイズ・マルチプライヤを有しなければならないと仮定する(期待されるバンド・サイズ・マルチプライヤを==実際のバンド・サイズ・マルチプライヤ)。これは、期待されるバンド・サイズ・マルチプライヤからの変化だけをエンコードする必要があるので、ビットを節約する。さらに、デフォルト・バンド構成からの変更が少ないほど、構成をエンコードするのに必要なビット数が少なくなる。そうでない場合に、期待されるバンド・マルチプライヤは、次のロジックを使用してデコーダで計算される。
・実際のバンドの開始点を調べ、デフォルト・バンド構成内のバンドの開始点および終了点と比較することによって、現在デコードされつつあるデフォルト構成内のサブバンドがどれであるかを調べる。
・デフォルト構成内のバンド内に残っている係数の個数をとり、実際の構成内の最小のブロック(サブバンド)サイズで割ることによって、期待されるバンド・マルチプライヤが計算される。
たとえば、s[j]が、デフォルト・バンド構成内の第‘j’バンドの開始位置であり、s[j]が、実際のバンド構成内の第‘j’バンドの開始位置であり、mが、デフォルト事例の最小バンド・サイズであり、mが、実際の事例の最小バンド・サイズであるものとする。次に、次を計算する。
r=max(1,m/m
a[j]=(s[j+1]−s[j])/m
ここで、‘r’は、minRatioBandSizeであり、a[j]は、第‘j’バンドのバンド・マルチプライヤである。第‘j’バンドの期待されるマルチプライヤを計算するためには、まず、実際のバンドの開始位置を含むデフォルト・バンド構成のインデックス‘i’を計算する。次に、第‘j’バンドの期待されるマルチプライヤになるaexpected[j]を計算する。これは、次のように計算することができる。
[i]≦s[j]<s[i+1]
expected[j]=(s[i+1]−s[j])/m
あるバンドが、分割またはマージされない場合に、期待されるバンド・マルチプライヤが、実際のバンド・マルチプライヤと同一になることに留意されたい。また、s[i+1]がs[j+1]と同一である限り、期待されるバンド・マルチプライヤは、実際のバンド・マルチプライヤと同一になる。
この例を継続して、デフォルト・サブバンド構成を表7に示す。
Figure 0005658307
デフォルト・バンド構成に写像された実際のサブバンドまたは最適化されたサブバンドを、表8に示す。
Figure 0005658307
「デフォルト・バンド・インデックス」は、所与のjに関する‘i’の値である。「残っている係数」は、s[i+1]−s[j]である。「期待されるバンド・インデックス」は、aexpected[j]であり、「バンド・マルチプライヤ」は、a[j]である。やはり、分割またはマージされないすべてのサブバンドが、必ず0の差を有することに留意されたい。コーディングは、各サブバンドの「差」値および構成のminRatioBandSize(‘r’)を、それぞれの可変長コードを使用してコーディングする。minRatioBandSizeの使用は、最小のバンドがデフォルト構成のバンドより小さいバンド構成をコーディングすることを可能にする。
コンピューティング環境
図15に、例示的な実施形態を実施できる適切なコンピューティング環境(1500)の一般化された例を示す。コンピューティング環境(1500)は、本発明を別個の汎用のまたは特殊目的のコンピューティング環境で実装できるので、本発明の使用または機能性の範囲に関する限定を暗示することを意図されたものではない。
図15を参照すると、コンピューティング環境(1500)は、少なくとも1つの処理ユニット(1510)およびメモリ(1520)を含む。図15では、この最も基本的な構成(1530)が、破線の中に示されている。処理ユニット(1510)は、コンピュータ実行可能命令を実行し、実際のプロセッサまたは仮想プロセッサとすることができる。マルチ・プロセッシング・システムでは、処理能力を高めるために、複数の処理ユニットがコンピュータ実行可能命令を実行する。メモリ(1520)は、揮発性メモリ(たとえば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(たとえば、ROM、EEPROM、フラッシュ・メモリなど)、またはこの2つのある組合せとすることができる。メモリ(1520)は、オーディオ・エンコーダおよびまたはデコーダを実装するソフトウェア(1580)を記憶する。
コンピューティング環境は、追加の特徴を有することができる。たとえば、コンピューティング環境(1500)は、ストレージ(1540)、1つまたは複数の入力デバイス(1550)、1つまたは複数の出力デバイス(1560)、および1つまたは複数の通信接続(1570)を含む。バス、コントローラ、またはネットワークなどの相互接続機構(図示せず)が、コンピューティング環境(1500)のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア(図示せず)が、コンピューティング環境(1500)内で実行中の他のソフトウェアのオペレーティング環境を提供し、コンピューティング環境(1500)のコンポーネントのアクティビティを調整する。
ストレージ(1540)は、取外し可能または取外し不能とすることができ、磁気ディスク、磁気テープもしくは磁気カセット、CD−ROM、CD−RW、DVD、または情報を格納するのに使用できコンピューティング環境(1500)内でアクセスできる任意の他の媒体を含む。ストレージ(1540)は、オーディオ・エンコーダおよびまたはデコーダを実装するソフトウェア(1580)の命令を格納する。
1つまたは複数の入力デバイス(1550)は、キーボード、マウス、ペン、またはトラック・ボールなどのタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、あるいはコンピューティング環境(1500)に入力を提供できる別のデバイスとすることができる。オーディオに関して、1つまたは複数の入力デバイス(1550)を、サウンド・カード、またはアナログ形式もしくはディジタル形式でオーディオ入力を受け入れる類似するデバイスとすることができる。1つまたは複数の出力デバイス(1560)は、ディスプレイ、プリンタ、スピーカ、またはコンピューティング環境(1500)からの出力を供給する別のデバイスとすることができる。
1つまたは複数の通信接続(1570)は、通信媒体を介する別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、圧縮オーディオ情報もしくは圧縮ビデオ情報、または他のデータなどの情報を変調されたデータ信号内で伝える。変調されたデータ信号とは、信号内で情報をエンコードする形でその特性のうちの1つまたは複数をセットされた、または変更された信号である。限定ではなく例として、通信媒体は、電気搬送波、光搬送波、RF搬送波、赤外線搬送波、音響搬送波、または他の搬送波を用いて実装される有線または無線の技法を含む。
本発明を、コンピュータ可読媒体の全体的な文脈で説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスできる任意の使用可能な媒体である。限定ではなく例として、コンピューティング環境(1500)に関して、コンピュータ可読媒体は、メモリ(1520)、ストレージ(1540)、通信媒体、および上記のいずれかの組合せを含む。
本発明を、コンピューティング環境内でターゲットの実際のプロセッサまたは仮想プロセッサ上で実行される、プログラム・モジュールに含まれるものなどのコンピュータ実行可能命令の全体的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造体などを含む。プログラム・モジュールの機能性を、さまざまな実施形態で望み通りに組み合わせ、またはプログラム・モジュールの間で分割することができる。プログラム・モジュールからなるコンピュータ実行可能命令を、ローカル・コンピューティング環境または分散コンピューティング環境内で実行することができる。
提示のために、この詳細な説明では、「決定する」、「得る」、「調整する」、および「適用する」などの用語を使用して、コンピューティング環境でのコンピュータ動作を説明する。これらの用語は、コンピュータによって実行される動作の高水準の抽象であり、人間によって実行される行為と混同してはならない。これらの用語に対応する実際のコンピュータ動作は、実装に応じて変化する。
本発明の原理を適用できる多数の可能な実施形態に鑑みて、我々は、添付の特許請求の範囲およびその同等物の趣旨および範囲に含まれるそのような実施形態のすべてを、本発明として請求する。

Claims (4)

  1. デコーダ装置であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサにより以下に示す方法を実行させるように構成された命令を有する1つ又はそれ以上のコンピュータ読取り可能な記録媒体と
    を具え、ここで、前記方法は、
    前記ビットストリームから、エンコードされたベースバンドをデコードすることと、
    前記ビットストリームから、エンコードされた拡張バンドをデコードすることと
    を具え、該デコードすることは、
    最小比サブバンド・サイズと、初期のサブバンド構成から変更された複数の可変サイズのサブバンドから構成された変更された構成部分とを有するデータを受け取ることと、ここで、前記最小比サブバンド・サイズは、前記初期のサブバンド構成の最小のサブバンド・サイズと、分割又はマージされた最小のサブバンド・サイズとの間の比であり、
    前記初期のサブバンド構成内のサブバンド内に残っている係数の個数を、前記分割又はマージされた最小のサブバンド・サイズで割ることによって、期待されるサブバンド・マルチプライヤを算出することと、
    前記期待されるサブバンド・マルチプライヤをコーディングされた差分値に加算することによって実際のサブバンド・マルチプライヤを決定すること
    とを含み、前記各差分値は、個々のサブバンドがサイズにおいて初期のサブバンド構成からどれほど異なるかを示すことを特徴とするデコーダ装置。
  2. オーディオ信号を表すビットストリームを復号化する方法であって、
    前記ビットストリームから、エンコードされたベースバンドをデコードすることと、
    前記ビットストリームから、エンコードされた拡張バンドをデコードすることと
    を具え、該デコードすることは、
    最小比サブバンド・サイズと、初期のサブバンド構成から変更された複数の可変サイズのサブバンドから構成された変更された構成部分とを有するデータを受け取ることと、ここで、前記最小比サブバンド・サイズは、前記初期のサブバンド構成の最小のサブバンド・サイズと、分割又はマージされた最小のサブバンド・サイズとの間の比であり、
    前記初期のサブバンド構成内のサブバンド内に残っている係数の個数を、前記分割又はマージされた最小のサブバンド・サイズで割って、期待されるサブバンド・マルチプライヤを算出することと、
    前記期待されるサブバンド・マルチプライヤをコーディングされた差分値に加算することによって実際のサブバンド・マルチプライヤを決定することと
    を含み、前記各差分値は、個々のサブバンドがサイズにおいて初期のサブバンド構成からどれほど異なるかを示すことを特徴とする方法。
  3. 前記初期のサブバンド構成が、不均一分割構成であることを特徴とする請求項2記載の方法。
  4. 第2のサブバンドについて、受け取られるデータは、前記初期の構成からの変更なしを示し、前記第2のサブバンドは、前記初期の構成に従ってデコードされることを特徴とする請求項2記載の方法。
JP2013087698A 2005-07-15 2013-04-18 ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化 Active JP5658307B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/183,087 US7630882B2 (en) 2005-07-15 2005-07-15 Frequency segmentation to obtain bands for efficient coding of digital media
US11/183,087 2005-07-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008521648A Division JP5313669B2 (ja) 2005-07-15 2006-07-14 ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化

Publications (2)

Publication Number Publication Date
JP2013178546A JP2013178546A (ja) 2013-09-09
JP5658307B2 true JP5658307B2 (ja) 2015-01-21

Family

ID=37662734

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008521648A Active JP5313669B2 (ja) 2005-07-15 2006-07-14 ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化
JP2013087698A Active JP5658307B2 (ja) 2005-07-15 2013-04-18 ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008521648A Active JP5313669B2 (ja) 2005-07-15 2006-07-14 ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化

Country Status (14)

Country Link
US (1) US7630882B2 (ja)
EP (1) EP1904999B1 (ja)
JP (2) JP5313669B2 (ja)
KR (1) KR101343267B1 (ja)
CN (1) CN101223570B (ja)
AU (1) AU2006270171B2 (ja)
CA (2) CA2610595C (ja)
EG (1) EG26092A (ja)
IL (1) IL187883A (ja)
MX (1) MX2008000523A (ja)
NO (1) NO20076259L (ja)
NZ (1) NZ564311A (ja)
WO (1) WO2007011749A2 (ja)
ZA (1) ZA200711042B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
ES2334934T3 (es) * 2002-09-04 2010-03-17 Microsoft Corporation Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel.
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7953605B2 (en) * 2005-10-07 2011-05-31 Deepen Sinha Method and apparatus for audio encoding and decoding using wideband psychoacoustic modeling and bandwidth extension
US20070270987A1 (en) * 2006-05-18 2007-11-22 Sharp Kabushiki Kaisha Signal processing method, signal processing apparatus and recording medium
KR100868763B1 (ko) * 2006-12-04 2008-11-13 삼성전자주식회사 오디오 신호의 중요 주파수 성분 추출 방법 및 장치와 이를이용한 오디오 신호의 부호화/복호화 방법 및 장치
CA2672165C (en) * 2006-12-12 2014-07-29 Ralf Geiger Encoder, decoder and methods for encoding and decoding data segments representing a time-domain data stream
RU2463674C2 (ru) * 2007-03-02 2012-10-10 Панасоник Корпорэйшн Кодирующее устройство и способ кодирования
KR101355376B1 (ko) * 2007-04-30 2014-01-23 삼성전자주식회사 고주파수 영역 부호화 및 복호화 방법 및 장치
US8046214B2 (en) 2007-06-22 2011-10-25 Microsoft Corporation Low complexity decoder for complex transform coding of multi-channel sound
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
DK3591650T3 (da) * 2007-08-27 2021-02-15 Ericsson Telefon Ab L M Fremgangsmåde og indretning til udfyldning af spektrale huller
US8249883B2 (en) 2007-10-26 2012-08-21 Microsoft Corporation Channel extension coding for multi-channel source
JP5404412B2 (ja) * 2007-11-01 2014-01-29 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
CN101896968A (zh) 2007-11-06 2010-11-24 诺基亚公司 音频编码装置及其方法
CA2704812C (en) * 2007-11-06 2016-05-17 Nokia Corporation An encoder for encoding an audio signal
WO2009059632A1 (en) * 2007-11-06 2009-05-14 Nokia Corporation An encoder
US8504377B2 (en) * 2007-11-21 2013-08-06 Lg Electronics Inc. Method and an apparatus for processing a signal using length-adjusted window
JP5400059B2 (ja) * 2007-12-18 2014-01-29 エルジー エレクトロニクス インコーポレイティド オーディオ信号処理方法及び装置
KR101599875B1 (ko) * 2008-04-17 2016-03-14 삼성전자주식회사 멀티미디어의 컨텐트 특성에 기반한 멀티미디어 부호화 방법 및 장치, 멀티미디어의 컨텐트 특성에 기반한 멀티미디어 복호화 방법 및 장치
KR20090110244A (ko) * 2008-04-17 2009-10-21 삼성전자주식회사 오디오 시맨틱 정보를 이용한 오디오 신호의 부호화/복호화 방법 및 그 장치
KR20090110242A (ko) * 2008-04-17 2009-10-21 삼성전자주식회사 오디오 신호를 처리하는 방법 및 장치
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
KR101301245B1 (ko) * 2008-12-22 2013-09-10 한국전자통신연구원 스펙트럼 계수의 서브대역 할당 방법 및 장치
CN102388601B (zh) * 2009-04-09 2014-06-25 飞思卡尔半导体公司 布置为对图像滤波的方法和系统
WO2010150767A1 (ja) * 2009-06-23 2010-12-29 日本電信電話株式会社 符号化方法、復号方法、それらの方法を用いた装置、プログラム
US20110257978A1 (en) * 2009-10-23 2011-10-20 Brainlike, Inc. Time Series Filtering, Data Reduction and Voice Recognition in Communication Device
WO2011048820A1 (ja) * 2009-10-23 2011-04-28 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
WO2012008891A1 (en) * 2010-07-16 2012-01-19 Telefonaktiebolaget L M Ericsson (Publ) Audio encoder and decoder and methods for encoding and decoding an audio signal
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
WO2012037515A1 (en) 2010-09-17 2012-03-22 Xiph. Org. Methods and systems for adaptive time-frequency resolution in digital data coding
US8924200B2 (en) * 2010-10-15 2014-12-30 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
US9009036B2 (en) * 2011-03-07 2015-04-14 Xiph.org Foundation Methods and systems for bit allocation and partitioning in gain-shape vector quantization for audio coding
WO2012122303A1 (en) 2011-03-07 2012-09-13 Xiph. Org Method and system for two-step spreading for tonal artifact avoidance in audio coding
US9015042B2 (en) * 2011-03-07 2015-04-21 Xiph.org Foundation Methods and systems for avoiding partial collapse in multi-block audio coding
SI2774145T1 (sl) * 2011-11-03 2020-10-30 Voiceage Evs Llc Izboljšane negovorne vsebine v celp dekoderju z nizko frekvenco
US9161035B2 (en) * 2012-01-20 2015-10-13 Sony Corporation Flexible band offset mode in sample adaptive offset in HEVC
KR101679209B1 (ko) 2012-02-23 2016-12-06 돌비 인터네셔널 에이비 고 주파수 오디오 콘텐트의 효율적인 복구를 위한 방법들 및 시스템들
JP6021498B2 (ja) 2012-08-01 2016-11-09 任天堂株式会社 データ圧縮装置、データ圧縮プログラム、データ圧縮システム、データ圧縮方法、データ伸張装置、データ圧縮伸張システム、および圧縮データのデータ構造
EP2693431B1 (en) * 2012-08-01 2022-01-26 Nintendo Co., Ltd. Data compression apparatus, data compression program, data compression method and data compression/decompression system
CN105052134B (zh) 2012-10-01 2019-09-03 Ge视频压缩有限责任公司 一种可伸缩视频编解码方法及计算机可读存储介质
CN103854653B (zh) * 2012-12-06 2016-12-28 华为技术有限公司 信号解码的方法和设备
RU2662921C2 (ru) 2013-06-10 2018-07-31 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для кодирования, обработки и декодирования огибающей аудиосигнала путем моделирования представления совокупной суммы с использованием квантования и кодирования распределения
AU2014280256B2 (en) 2013-06-10 2016-10-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding
JP2016038435A (ja) * 2014-08-06 2016-03-22 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム
EP2993665A1 (en) * 2014-09-02 2016-03-09 Thomson Licensing Method and apparatus for coding or decoding subband configuration data for subband groups
CN104282311B (zh) * 2014-09-30 2018-04-10 武汉大学深圳研究院 一种音频编码带宽扩展中子带划分的量化方法及装置
CN105632503B (zh) * 2014-10-28 2019-09-03 南宁富桂精密工业有限公司 信息隐藏方法及系统
JP2016153933A (ja) * 2015-02-20 2016-08-25 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
KR102219752B1 (ko) 2016-01-22 2021-02-24 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 채널 간 시간 차를 추정하기 위한 장치 및 방법
US10699723B2 (en) * 2017-04-25 2020-06-30 Dts, Inc. Encoding and decoding of digital audio signals using variable alphabet size
CN107037262B (zh) * 2017-04-25 2020-02-11 成都玖锦科技有限公司 一种大数据频谱分析系统及其方法
CN111901271B (zh) * 2020-05-13 2021-08-31 华中科技大学 一种数据传输方法及装置

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539829A (en) * 1989-06-02 1996-07-23 U.S. Philips Corporation Subband coded digital transmission system using some composite signals
US5054075A (en) * 1989-09-05 1991-10-01 Motorola, Inc. Subband decoding method and apparatus
US5040217A (en) * 1989-10-18 1991-08-13 At&T Bell Laboratories Perceptual coding of audio signals
JP2560873B2 (ja) * 1990-02-28 1996-12-04 日本ビクター株式会社 直交変換符号化復号化方法
EP0446037B1 (en) * 1990-03-09 1997-10-08 AT&T Corp. Hybrid perceptual audio coding
US5388181A (en) * 1990-05-29 1995-02-07 Anderson; David J. Digital audio compression system
JP3033156B2 (ja) * 1990-08-24 2000-04-17 ソニー株式会社 ディジタル信号符号化装置
ATE138238T1 (de) * 1991-01-08 1996-06-15 Dolby Lab Licensing Corp Kodierer/dekodierer für mehrdimensionale schallfelder
AU1996292A (en) * 1991-05-17 1992-12-30 Analytic Sciences Corporation, The Continuous-tone image compression
GB2257606B (en) * 1991-06-28 1995-01-18 Sony Corp Recording and/or reproducing apparatuses and signal processing methods for compressed data
US5369724A (en) * 1992-01-17 1994-11-29 Massachusetts Institute Of Technology Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients
EP0559348A3 (en) * 1992-03-02 1993-11-03 AT&T Corp. Rate control loop processor for perceptual encoder/decoder
DE4209544A1 (de) * 1992-03-24 1993-09-30 Inst Rundfunktechnik Gmbh Verfahren zum Übertragen oder Speichern digitalisierter, mehrkanaliger Tonsignale
US5295203A (en) * 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
JP3186307B2 (ja) * 1993-03-09 2001-07-11 ソニー株式会社 圧縮データ記録装置及び方法
US5581653A (en) * 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
US5737720A (en) * 1993-10-26 1998-04-07 Sony Corporation Low bit rate multichannel audio coding methods and apparatus using non-linear adaptive bit allocation
JP3125543B2 (ja) * 1993-11-29 2001-01-22 ソニー株式会社 信号符号化方法及び装置、信号復号化方法及び装置、並びに記録媒体
KR960012475B1 (ko) 1994-01-18 1996-09-20 대우전자 주식회사 디지탈 오디오 부호화장치의 채널별 비트 할당 장치
JP3277692B2 (ja) * 1994-06-13 2002-04-22 ソニー株式会社 情報符号化方法、情報復号化方法及び情報記録媒体
AU697176B2 (en) * 1994-11-04 1998-10-01 Koninklijke Philips Electronics N.V. Encoding and decoding of a wideband digital information signal
US5654702A (en) * 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
JPH08211899A (ja) * 1995-02-06 1996-08-20 Nippon Columbia Co Ltd 音声符号化方法及びその装置
DE19549621B4 (de) * 1995-10-06 2004-07-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Codieren von Audiosignalen
US5819215A (en) * 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
US5777678A (en) * 1995-10-26 1998-07-07 Sony Corporation Predictive sub-band video coding and decoding using motion compensation
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
WO1997029549A1 (fr) * 1996-02-08 1997-08-14 Matsushita Electric Industrial Co., Ltd. Codeur, decodeur, codeur-decodeur et support d'enregistrement de signal audio large bande
US5852806A (en) * 1996-03-19 1998-12-22 Lucent Technologies Inc. Switched filterbank for use in audio signal coding
SE506341C2 (sv) * 1996-04-10 1997-12-08 Ericsson Telefon Ab L M Metod och anordning för rekonstruktion av en mottagen talsignal
DE19628293C1 (de) * 1996-07-12 1997-12-11 Fraunhofer Ges Forschung Codieren und Decodieren von Audiosignalen unter Verwendung von Intensity-Stereo und Prädiktion
DE19628292B4 (de) 1996-07-12 2007-08-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zum Codieren und Decodieren von Stereoaudiospektralwerten
US5870480A (en) * 1996-07-19 1999-02-09 Lexicon Multichannel active matrix encoder and decoder with maximum lateral separation
US6697491B1 (en) * 1996-07-19 2004-02-24 Harman International Industries, Incorporated 5-2-5 matrix encoder and decoder system
US5886276A (en) * 1997-01-16 1999-03-23 The Board Of Trustees Of The Leland Stanford Junior University System and method for multiresolution scalable audio signal encoding
US20010017941A1 (en) * 1997-03-14 2001-08-30 Navin Chaddha Method and apparatus for table-based compression with embedded coding
SE512719C2 (sv) * 1997-06-10 2000-05-02 Lars Gustaf Liljeryd En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion
DE19730129C2 (de) * 1997-07-14 2002-03-07 Fraunhofer Ges Forschung Verfahren zum Signalisieren einer Rauschsubstitution beim Codieren eines Audiosignals
JPH11122120A (ja) * 1997-10-17 1999-04-30 Sony Corp 符号化方法及び装置、並びに復号化方法及び装置
US6959220B1 (en) * 1997-11-07 2005-10-25 Microsoft Corporation Digital audio signal filtering mechanism and method
US6115689A (en) * 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6029126A (en) * 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
SE519552C2 (sv) * 1998-09-30 2003-03-11 Ericsson Telefon Ab L M Flerkanalig signalkodning och -avkodning
CA2252170A1 (en) * 1998-10-27 2000-04-27 Bruno Bessette A method and device for high quality coding of wideband speech and audio signals
US6498865B1 (en) * 1999-02-11 2002-12-24 Packetvideo Corp,. Method and device for control and compatible delivery of digitally compressed visual data in a heterogeneous communication network
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
CA2859333A1 (en) * 1999-04-07 2000-10-12 Dolby Laboratories Licensing Corporation Matrix improvements to lossless encoding and decoding
US6226616B1 (en) * 1999-06-21 2001-05-01 Digital Theater Systems, Inc. Sound quality of established low bit-rate audio coding systems without loss of decoder compatibility
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
FI19992351A (fi) * 1999-10-29 2001-04-30 Nokia Mobile Phones Ltd Puheentunnistus
US6601032B1 (en) * 2000-06-14 2003-07-29 Intervideo, Inc. Fast code length search method for MPEG audio encoding
US6760698B2 (en) * 2000-09-15 2004-07-06 Mindspeed Technologies Inc. System for coding speech information using an adaptive codebook with enhanced variable resolution scheme
US7003467B1 (en) * 2000-10-06 2006-02-21 Digital Theater Systems, Inc. Method of decoding two-channel matrix encoded audio to reconstruct multichannel audio
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
WO2002052896A2 (en) * 2000-12-22 2002-07-04 Koninklijke Philips Electronics N.V. Multi-channel audio converter
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
EP1231793A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer program product therefor
GB0108080D0 (en) * 2001-03-30 2001-05-23 Univ Bath Audio compression
CN1312662C (zh) * 2001-05-10 2007-04-25 杜比实验室特许公司 通过降低前噪声改善音频编码系统的瞬时性能的方法
JP4506039B2 (ja) 2001-06-15 2010-07-21 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム
EP1444688B1 (en) * 2001-11-14 2006-08-16 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7146313B2 (en) * 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
JP4272897B2 (ja) * 2002-01-30 2009-06-03 パナソニック株式会社 符号化装置、復号化装置およびその方法
US7310598B1 (en) * 2002-04-12 2007-12-18 University Of Central Florida Research Foundation, Inc. Energy based split vector quantizer employing signal representation in multiple transform domains
US7158539B2 (en) * 2002-04-16 2007-01-02 Microsoft Corporation Error resilient windows media audio coding
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
US7072726B2 (en) * 2002-06-19 2006-07-04 Microsoft Corporation Converting M channels of digital audio data into N channels of digital audio data
US7043423B2 (en) * 2002-07-16 2006-05-09 Dolby Laboratories Licensing Corporation Low bit-rate audio coding systems and methods that use expanding quantizers with arithmetic coding
US7299190B2 (en) * 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US20060106597A1 (en) * 2002-09-24 2006-05-18 Yaakov Stein System and method for low bit-rate compression of combined speech and music
JP2004198485A (ja) * 2002-12-16 2004-07-15 Victor Co Of Japan Ltd 音響符号化信号復号化装置及び音響符号化信号復号化プログラム
KR100908117B1 (ko) * 2002-12-16 2009-07-16 삼성전자주식회사 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
SG135920A1 (en) * 2003-03-07 2007-10-29 St Microelectronics Asia Device and process for use in encoding audio data
US7318035B2 (en) 2003-05-08 2008-01-08 Dolby Laboratories Licensing Corporation Audio coding systems and methods using spectral component coupling and spectral component regeneration
WO2005031704A1 (en) * 2003-09-29 2005-04-07 Koninklijke Philips Electronics N.V. Encoding audio signals
US7447317B2 (en) * 2003-10-02 2008-11-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V Compatible multi-channel coding/decoding by weighting the downmix channel
US7809579B2 (en) * 2003-12-19 2010-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Fidelity-optimized variable frame length encoding
US7460990B2 (en) * 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7805313B2 (en) * 2004-03-04 2010-09-28 Agere Systems Inc. Frequency-based coding of channels in parametric multi-channel coding systems
SE0400997D0 (sv) * 2004-04-16 2004-04-16 Cooding Technologies Sweden Ab Efficient coding of multi-channel audio
KR100634506B1 (ko) * 2004-06-25 2006-10-16 삼성전자주식회사 저비트율 부호화/복호화 방법 및 장치
US20060025991A1 (en) * 2004-07-23 2006-02-02 Lg Electronics Inc. Voice coding apparatus and method using PLP in mobile communications terminal
CN101010725A (zh) 2004-08-26 2007-08-01 松下电器产业株式会社 多信道信号编码装置以及多信道信号解码装置
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
SE0402652D0 (sv) * 2004-11-02 2004-11-02 Coding Tech Ab Methods for improved performance of prediction based multi- channel reconstruction
US7548853B2 (en) * 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding

Also Published As

Publication number Publication date
IL187883A0 (en) 2008-03-20
AU2006270171A1 (en) 2007-01-25
CA2895916A1 (en) 2007-01-25
CA2610595C (en) 2015-10-06
CA2895916C (en) 2016-12-13
KR101343267B1 (ko) 2013-12-18
JP2009501945A (ja) 2009-01-22
NO20076259L (no) 2008-02-11
AU2006270171B2 (en) 2011-03-03
CN101223570B (zh) 2012-09-05
JP5313669B2 (ja) 2013-10-09
CN101223570A (zh) 2008-07-16
EG26092A (en) 2013-02-13
IL187883A (en) 2012-01-31
NZ564311A (en) 2010-02-26
MX2008000523A (es) 2008-03-06
WO2007011749A2 (en) 2007-01-25
JP2013178546A (ja) 2013-09-09
ZA200711042B (en) 2009-03-25
EP1904999A4 (en) 2011-10-12
US20070016412A1 (en) 2007-01-18
CA2610595A1 (en) 2007-01-25
WO2007011749A3 (en) 2007-06-28
EP1904999A2 (en) 2008-04-02
EP1904999B1 (en) 2017-03-08
KR20080025403A (ko) 2008-03-20
US7630882B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
JP5658307B2 (ja) ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化
JP5456310B2 (ja) ディジタル・メディア・スペクトル・データの効率的コーディングに使用される辞書内のコードワードの変更
JP6262820B2 (ja) 広義知覚類似性(wide−sense perceptual similarity)を使用するデジタルメディアスペクトルデータの効率的な復号

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130722

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141127

R150 Certificate of patent or registration of utility model

Ref document number: 5658307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250