JP2011501246A - 効率的なエンコーディングに対する高速スペクトル分割 - Google Patents

効率的なエンコーディングに対する高速スペクトル分割 Download PDF

Info

Publication number
JP2011501246A
JP2011501246A JP2010531585A JP2010531585A JP2011501246A JP 2011501246 A JP2011501246 A JP 2011501246A JP 2010531585 A JP2010531585 A JP 2010531585A JP 2010531585 A JP2010531585 A JP 2010531585A JP 2011501246 A JP2011501246 A JP 2011501246A
Authority
JP
Japan
Prior art keywords
spectral
need
region
estimate
bits
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.)
Pending
Application number
JP2010531585A
Other languages
English (en)
Inventor
ハーグリーヴス,デイヴィッド
ザヴァレヘイ,エスファンダイアー
Original Assignee
ケンブリッジ シリコン ラジオ リミテッド
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 ケンブリッジ シリコン ラジオ リミテッド filed Critical ケンブリッジ シリコン ラジオ リミテッド
Publication of JP2011501246A publication Critical patent/JP2011501246A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/667Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using a division in frequency subbands
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/002Dynamic bit allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Optical Measuring Cells (AREA)
  • Investigating Or Analysing Materials By The Use Of Chemical Reactions (AREA)
  • Discharge Lamps And Accessories Thereof (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Glass Compositions (AREA)
  • Pressure Welding/Diffusion-Bonding (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract


エンコーダにおいてインプリメントされ得るスペクトル分割の方法が開示されている。本方法は、各々の複数のスペクトル・サブバンドに対するビットの必要性の推定値を決定するステップを含む。これらの推定値は、その後、コスト関数を最小にすることによって、前記サブバンドを2つ以上の領域にグルーピングするために使用される。このコスト関数は、各々のサブバンドに対するビットの必要性の前記推定値に基づく。そして、前記推定値は、コード・ビットの必要性の推定値、および/または、各々のサブバンドに対する追加コード・ビットの必要性を含んでもよい。これらの推定値は多くの異なる方法で決定されてもよい。そして、多くの方法が開示されている。

Description

本願発明は、エンコーダにおいてインプリメントされ得るスペクトル分割の方法に関する。
MP3(MPEG−1層3)エンコーディング、およびデコーディングにおいて、スペクトルは、576の周波数ビンに分けられると考えられる。これらの周波数ビンはサブバンドにそれぞれグルーピングされ、かつ、このビンのサブバンドへのグループ化はMP3仕様において定められている。サブバンドは、それ自身、『Big Values』、『Count1』、および『Rzero』と呼ばれる3つの領域にグルーピングされ、かつ、これらの領域のサイズは、特定のオーディオ信号に従って変化する。Big Valuesは最低周波数ライン(lines)を示し、かつ、これらは全ての領域で最も高い精度で符号化される。Count1は、より高い周波数ラインを示す。そして、これは、少ない数の値だけを使用してエンコードされる。そして、Rzeroはエンコーダによって取り除かれる最も高い周波数を示す。それ故、デコーディングにおいて、これらの周波数ビンはゼロによって埋め込まれる。
Big Values領域自体は、3つの領域(region0、region1、region2)に分けられ、これらの3つの領域の各々は、特定のハフマン・テーブルを使用してエンコードされる。Big Valuesの3つの領域へのこの分割は、MP3エンコーディングを実行するときに、通常は各々のグラニュール(granule)に対して発生する。一部の既存のエンコーダ、例えばLAME(オープン・ソースMP3エンコーダ)は、エンコードされるサブバンドの数(例えばBig Values領域の範囲内のサブバンドの数、またはそれらのいかなるデータをも有するサブバンドの数)に従って、これらの3つの領域間の境界を取得するために、ルックアップ・テーブルを使用する。このことは、実質的に計算を必要とせずに、エンコードされる。しかしながら、特定のオーディオ信号の統計を考慮に入れないため、信号エンコードの冗長性を有する結果となる。
ここでの概要は、選択された簡略化された形のコンセプトを導くために提供され、更なる詳細な説明は後述する。この概要は、主要な特長またはクレームされた内容の必須の特徴を特定することを目的とするものではない。しかも、クレームされた内容の範囲を決定する際に使用されることをも目的としない。
エンコーダにおいてインプリメントされ得るスペクトル分割の方法が記載されている。本方法は、各々の複数のスペクトル・サブバンドに対するビットの必要性(bit requirements)の推定値を決定するステップを有する。これらの推定値は、そして、コスト関数を最小にすることによってサブバンドを2つ以上の領域にグルーピングするために使用される。このコスト関数は、各々のサブバンドに対するビットの必要性の推定値に基づく。そしてこのビットの必要性の推定値は、コード・ビットの必要性の推定値、および/または、各々のサブバンドに対する追加コード・ビットの必要性を含んでもよい。これらの推定値は多くの異なる方法で決定されてもよく、かつ、多くの異なる方法が記載されている。
第1の態様は、信号をエンコードするために使用するスペクトル分割の方法であって、各々の複数のスペクトル・サブバンドに対するビットの必要性の推定値を特定するステップと、各々のスペクトル・サブバンドに対するビットの必要性の推定値に基づいて、コスト関数を最小にすることによって、スペクトル・サブバンドを複数の領域にグルーピングするステップと、を有する方法を提供する。
ビットの必要性の推定値は、コード・ビットの必要性の推定値、および追加コード・ビットの必要性の推定値の少なくとも一つを含んでもよい。コード・ビットの必要性の推定値は、ハフマン・ツリーを使用してエンコードされるときのビットの必要性の推定値を含んでもよく、そして、追加コード・ビットの必要性の推定値は、ハフマン・テーブルにおいて示されない値に対するエンコード値のビットの必要性の推定を含んでもよい。
各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを備えている。
スペクトル・サブバンドに対する追加コード・ビットの必要性の推定値は、スペクトル・サブバンドにおけるいかなる周波数ビンの最大値をもエンコードすることを必要とする追加コード・ビットの数、および追加コード・ビットを必要とするスペクトル・サブバンドの中の周波数ビンの数、の一つ以上を有してもよい。
スペクトル・サブバンドに対するコード・ビットの必要性の推定値は、追加コード・ビットを除外したスペクトル・サブバンドのいかなる周波数ビンの最大値をエンコードすることをも必要とするコード・ビットの数、およびスペクトル・サブバンドの周波数ビンの数、の一つ以上を有してもよい。
スペクトル・サブバンドを領域にグルーピングするステップは、スペクトル・サブバンドの全ての可能な組合せに対する各々の領域のコスト関数を計算するステップと、各々の領域に対するコスト関数を、スペクトル・サブバンドの全ての可能な組合せに対して、全体のコスト関数の一組に結合するステップと、最も低い全体のコスト関数を有するスペクトル・サブバンドの組合せを選ぶステップと、を有してもよい。
各々の領域に対するコスト関数は、その領域においていかなるスペクトル・サブバンドによっても必要とされる追加コード・ビットの最大数に、追加コード・ビットを必要とするその領域の周波数ビンの数を掛け合わせたもの、およびその領域においていかなるスペクトル・サブバンドによっても必要とされるコード・ビットの最大数に、その領域の周波数ビンの合計数を掛け合わせたもの、のうち1つまたは、これらの組合せを有してもよい。コスト関数が組合せを有する場合、この組合せは合計を有してもよい。
本方法は、各々の領域に対するコードテーブルを選ぶステップと、その領域に対して選択されたコードテーブルを使用して各々の領域をエンコードするステップと、を更に有してもよい。
各々のコードテーブルは、ハフマン・テーブルを有してもよい。
この信号は、オーディオ信号、例えばMP3エンコーダを使用してエンコードされる信号を含んでもよい。
第2の態様は、実質的にスペクトル分割の方法を提供し、図2〜7に記載されている。
第3の態様は、各々の複数のスペクトル・サブバンドに対するビットの必要性の推定値を決定する手段と、各々のスペクトル・サブバンドに対するビットの必要性の推定値に基づいて、コスト関数を最小にすることによって、スペクトル・サブバンドを複数の領域にグルーピングする手段と、を有するエンコーダを提供する。
ビットの必要性の推定値は、コード・ビットの必要性の推定値と、追加コード・ビットの必要性の推定値のうちの少なくとも一つを有してもよい。コード・ビットの必要性の推定値は、ハフマン・ツリーを用いてエンコードされたときのビットの必要性の推定値を有してもよい。そして、追加コード・ビットの必要性の推定値は、ハフマン・テーブルによって示されないエンコード値のためのビットの必要性の推定値を有してもよい。
各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを有してもよい。
スペクトル・サブバンドに対する追加コード・ビットの必要性の推定値は、追加コード・ビットを必要とするスペクトル・サブバンド中の周波数ビンの数、およびスペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とする追加コード・ビットの数、の一つ以上を有してもよい。
スペクトル・サブバンドに対するコード・ビットの必要性の推定値は、いかなる追加コード・ビットも除いたスペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とするコード・ビットの数、およびスペクトル・サブバンドの周波数ビンの数、の一つ以上を有してもよい。
スペクトル・サブバンドを領域にグルーピングする手段は、スペクトル・サブバンドの全ての可能な組合せに対する各々の領域に対するコスト関数を決定する手段と、各々の領域に対するコスト関数をスペクトル・サブバンドの全ての可能な組合せに対する全体のコスト関数の一組に結合する手段と、最も低い全体のコスト関数を有するスペクトル・サブバンドの組合せを選ぶための手段と、を有してもよい。
各々の領域に対するコスト関数は、その領域においていかなるスペクトル・サブバンドによっても必要とされる追加コード・ビットの最大数に、追加コード・ビットを必要とするその領域の周波数ビンの数を掛け合わせたもの、およびその領域においていかなるスペクトル・サブバンドによっても必要とされるコード・ビットの最大数に、その領域の周波数ビンの合計数を掛け合わせたもの、の少なくとも一つに基づいてもよい。コスト関数は、上記2つのファクタを有してもよく、あるいは、それらの組合せを有してもよい。コスト関数が組合せを有する場合、この組合せは合計を有してもよい。
本願明細書において記載されている方法は、有形の記憶媒体上の機械可読形式のファームウェアまたはソフトウェアによって実行されてもよい。あるいは、方法ステップがいかなる適切な順序あるいは同時においても行われるよう、ソフトウェアはパラレルプロセッサまたは逐次処理装置上の実施に適するようにすることもできる。
第4の態様は、本願明細書において記載されている方法のいずれかを実行するために用意されるコンピュータ・プログラムを提供する。コンピュータ・プログラムは、有形の機械可読媒体に蓄積されてもよい。
このことはそのファームウェア、およびソフトウェアは有益であり、別個に流通する商品である。それはソフトウェアを含むことを目的とする。そして、ダム(dumb)か標準のハードウェア上で実行されるか、それらを制御する。そして、所望の機能を実行する。それはまた、ハードウェアの構成を記述しまたは定義するソフトウェアを含むことを目的とする。例えば、シリコンチップの設計または所望の機能を実行するユニバーサルプログラマブルチップの構成に使用されるHDL(ハードウェア記述言語:hardware description language)ソフトウェアが挙げられる。
当業者に明らかであれば、適切に、好適な特徴は結合されてもよい。そして、本発明の態様のいずれかと結合してもよい。
以下の図面を参照しながら、例として、本発明の実施例を以下に記載する。
共通参照番号は、類似した特徴を示すために、図の全体にわたって使用される。
MP3エンコーダの概要図である。 スペクトル分割の実施例の方法のフローチャートである。 サブバンドの周波数ビンの数を決定する実施例の方法、およびサブバンドの最大値をエンコードすることを必要とする追加ビット(linbits)の最大の数のフローチャートを示す。 2つのサブバンドに分けられる周波数ビンの例の一組を示す概要図である。 更に詳細に、図2のステップのフローチャートを示している図の一つである。 ハフマン・ビットの必要性の評価を使用するスペクトル分割の実施例の方法のフローチャートである。linbitsが必要である場合のlinbitの必要性の推定を示す。 図3において示される拡張として、パラメータN(i)、L(i)、およびb(i)の値を決定する実施例の方法のフローチャートを示す。
[詳細な説明]
本発明の実施例の記載は、例示として記載されている。これらの実施例は、出願人が現在関知している最良の実施例の方法を示すものであるが、これが、本発明を実施するための唯一の方法であるわけではない。本願明細書は、実施例の機能、および実施例を実現しかつ作動させるステップのシーケンスを記載する。なお、同じまたは同様の機能、およびシーケンスは異なる実施例によって達成されてもよい。
図1は、入力が、フィルタバンク101、および音響心理学的なモデル102を、実質的に同時に通過するMP3エンコーダの概要図を示す。音響心理学的なモデル102は、量子化、およびビット割当てにおいて使用される量子化レベルを含む一組のパラメータを出力する。要素103は量子化したサンプルを出力する。量子化されたサンプルは、ビット列フォーマット要素104に入力され、フォーマットされる。ここでは、ハフマン・テーブルを使用して符号化される。音響心理学的なモデルの使用によって、エンコーダは、認知可能な信号品質に影響を与えることなく、高レベルの圧縮を達成することを可能にする。この種の圧縮を実行する場合において、(例えば、量子化ステップサイズを調整することによって)、信号フレームは反復的にエンコードされ、かつ、目標ビットレートが達成されるまで、結果として生じるビットレートがチェック(determined)される。
図1は、MP3エンコーダの中での例示的な機能要素を示す。したがって、付加的な要素であってもよく、あるいは、より少ない要素であってもよいことは言うまでもない。さらに、要素は全体の効果を失うことなく、異なる方法で組み込まれてもよい。例えば、それらの全ては、シングルチップ中でインプリメントされてもよい。
オーディオ/ビデオ信号の統計は、周波数全体に変化するため、スペクトルをいくつかの領域に分け、かつ、各々の領域を(例えば、ビット列フォーマット要素104の中で)別にエンコードすることはしばしば有益である。Big Valuesのサイズに基づいてBig Values領域を固定された方法でいくつかの領域に分けること(例えばMP3の最高3つの領域)は、多くの処理パワーを必要とせずスペクトル分割の迅速な方法を提供する。しかしながら、各々の領域が単一のコードテーブル(例えばMP3に対する単一のハフマン・テーブル)を使用してエンコードされるので、非効率的なエンコーディングに結果としてなってしまうことがある。
理想的には、Big Values領域は各々の領域のスペクトル値が類似した統計を有する領域に分けられなければならない。そうすると、各々の領域は類似した特徴(例えば周波数ビンの類似したレンジ)のサブバンドを含む。このことは、領域がより低いビットレートによって、および/またはより高い品質でエンコードされることを可能にする。最適解は、各々の領域の数のサブバンドのあらゆる可能な組合せを考慮すること、および、各々の組合せに対する実際のビットの数を取得することである。分割されたスペクトルに対する実際のビットの数を取得するために、各々の領域のスペクトル値は全ての可能なコードテーブルを使用してエンコードされる。このことは、最高のテーブルが選ばれるということである。これは、各々の領域に対して繰り返され、かつスペクトル分割は通常は各々のグラニュールに対して実行される。これは、冗長であり、プロセッサを酷使し、かつ、多くのアプリケーション(特にローパワー、および/または、リアルタイムアプリケーション)に対して非実用的である。
コードテーブル(これは信号をエンコードするために使用されてもよい)は、最も共通のサンプル値に対するコードを含んでもよい。そして、コード体系はテーブルの中で含まれない、より頻繁に発生しない値の符号化を容易にするためにエスケープコードを加えて提供してもよい。この種のコード体系において、テーブルの中の値は、テーブルおいて与えられたコードとして、エンコードされ、エンコードされた値は、値が正であるか負であるかどうかを指し示す符号ビットを含んでもよい。すなわち、以下の通りである。
Code + Sign bit
上式の『Code』内のビットは、本明細書において、『コード・ビット』と呼ぶ。値がテーブルに無い場合、値は以下の通りに実効値を特定する追加コードに加えてエスケープコードを使用してエンコードされてもよい。すなわち、
Escape code + Additional code + Sign bit
追加コードは、所定の数のビット(例えば5ビット)であり、所定の数のビットであるため、追加コードはパルス符号変調(PCM)コードと呼んでもよい。追加コードの中のこれらのビットは、本明細書において、『追加コード・ビット』と呼ぶ。ビットストリームがデコードされるときに、およびエスケープコードが発見された場合、そのエスケープパターンの後の所定の数のビットには、エスケープ値であってテーブル中のコードを使用してエンコードできない最初の値と、エンコードされたサンプルの値との間の差が含まれている。実施例において、符号化テーブルが最大値14に対するコードを含む場合、エスケープ値は15である。35の値がエンコードされる場合、追加コードは値20を与える(すなわち35−15)。
この種のコード体系は、5ビットの付加的なコード長を用いた以下の例のようになる。
Figure 2011501246
コード体系を用いて、−34から34間の値がエンコードされ得る。値が0である場合、0だけが送信される。そして、値が1または2である場合、対応するコードの次に値が正であることを示す符号ビット(例えばゼロ)が送信される。値が3以上の場合、エスケープコード(111)が送信され、その次に5つのビットが続いて、その値と値3との差が与えられる(すなわちエスケープ値)。負の数は、同じ方法によって送信されるが、符号ビットが付加される。以下の表は、コード化された値の一部の例を示す。
Figure 2011501246
上記のテーブルの例で示すように、エスケープコードおよび追加コードは、コードテーブルの範囲外の値をエンコードすることができる。これらの使用は、エスケープコードのオーバーヘッドおよび追加コードの定められたビット数の追加をもたらす。エンコーディングの効率を改善するために、エスケープコード、および追加コードを使用する必要性は最小化すべきである。
MP3アプリケーションに対しては、ハフマンコーディングが使用される。コード・ビットは、『ハフマン・ビット』と呼ばれ、追加コード・ビットは『linbits』と呼ばれる。30の異なるハフマン・テーブルが、使用され得る。各ハフマン・テーブルの各々のコードは2つの値を決定する。コードは、また、どちらか、または両方ともが、また、linbitsを使用しているかどうか指し示す。エスケープコード、したがって、linbitsは、いくつかの30のハフマン・テーブルによって提供されるだけである。およびこれらのビットの数(それらが存在する場合)は、送信されるテーブル・インデックスによって決定される。
本願明細書において記載されている方法は、量子化されたMDCT(修正離散コサイン変換:modified discrete cosine transform)値に適用されてもよい。他の実施例において、FFT(高速フーリエ変換)のような、他の周波数分析法(MDCT以外)が、使用されてもよい。
MP3符号化、およびその用語(例えばlinbits)は、例を示すためだけに用いられる。以下の記載における様々なスペクトル分割および記載された技術は、他の符号化技術に適用できる。例えば、イメージ/映像符号化において使用され得る可変長ランレングス(VRL)コードが挙げられる。
図2は、(上記した)最適な解決策よりかなり少ない計算で足りるスペクトル分割の方法のフローチャートを示している。しかも、類似した(完全に近い)コード化効率を達成している。この方法によれば、各々のサブバンドのlinbitの必要性の推定値が決定される(ブロック20)。そして、各々の領域のサブバンドの数の異なる組合せが検索される。そして、最も低いコストに結果としてなる組合せが、分割の結果として(ブロック21)として選ばれる。コストは、(ブロック20において決定されるように)少なくともlinbitの必要性の測定によって定義される。これらのステップの詳細については、後述する。後述するように、一部のサブバンドに対して、linbitの必要性の推定値は、ゼロであってもよい(すなわちlinbitsが必要でない)。
スペクトル分割を実行して、最適コードテーブル(例えばハフマン・テーブル)が、各々の領域に対して選ばれる。テーブルは、領域の最大振幅を含むファクタに基づいて選択されてもよい。30のハフマン・テーブルの中で、通常はその領域の特定の最大振幅に基づいて領域に対して使用されることができる、2または3のテーブルが存在する。
この方法は、特定の信号(例えばスペクトル・サブバンドの抽象的な統計)の特徴を考慮に入れる。そして、これはオーディオ信号であってもよい。そして、これはMP3ストリームにエンコードされている。linbitの必要性の推定値は、サブバンドの各々から容易に抽出することができるパラメータであり、一部の状況においては、くつかの又は全部のデータは、符号化プロセスの以前の段階からエンコーダの中ですでに利用できる。
第1の実施例のインプリメンテーションにおいて、サブバンドiに対するlinbitの必要性の推定値は、以下の2つのパラメータを有してもよい。すなわち、linbitsを必要とするサブバンドiの周波数ビン(またはサンプル)の数N(i)、および、サブバンドの最大値をエンコードすることを必要とするlinbitsの最大数L(i)である。図3は、図4に記載されているN(i)およびL(i)の値を決定する実施例の方法のフローチャートを示す。図4は、2つのサブバンド、i=1、およびi=2に分かれた周波数ビンの例の一組を示す。ここで、iはサブバンド・インデックスであり、これらのサブバンドの各々は4つの周波数ビン(0−3、および4−7)を有する。特定のサブバンドiの周波数ビンのいずれかの絶対値の最大値は、X(i)によって表され、図4の例においては、X(1)=30、およびX(2)=10である。
linbitsが、必要であるかどうかは、linbits(Y−1)を使用せずにエンコードされることができる最大値によって決定される。ここで、Yは、エスケープ値である。MP3に対して、エスケープ値は15として定義される(すなわちY=15であり、したがって、Y−1=14である)。なお、ほかの応用に対しては、エスケープ値は異なる値を持ってもよい。Y(すなわちMP3に対する15)以上の値は、linbitsを必要とする。閾値(またはエスケープ値)Yは、図4の点線によって示される。
図4のサブバンド2のように、サブバンドの周波数ビンがいずれも、閾値Yを超えない場合(ブロック31において『はい』)、そのサブバンドにおいていずれのサンプルもlinbitsを必要としない(N(i)=0)。そして、必要なlinbitsの数はゼロ(L(i)=0)である。
サブバンドの範囲内の周波数ビンのいずれかの最大値が閾値に等しいか、またはこれを上回る場合(X(i)>=Y)(ブロック31において『いいえ』)、linbitsを必要とする一部のサンプルが存在する(N(i)>0)。周波数ビンの持つ値が閾値に等しいかまたはこれを上回る値を有する数が、linbits(N(i))を必要とするサンプルの数となる。図4の実施例において、サブバンド1は、linbits(周波数ビン2、および3)を必要とする2つのサンプルを有する(すなわちN(1)=2)。
もし、X(i)=Yである場合(ブロック31、および32において『いいえ』)、linbitサイズはゼロ(すなわちL(i)=0)である。しかしながら、X(i)>Yの場合(ブロック31において『いいえ』、かつブロック32において『はい』)、必要とされるlinbitsの最大数は、以下のように計算される。
L(i)=ceil(log(X(i)―Y))
ここで、ceilは、最も近い整数に丸める関数(別名『CEILING』関数)である。
図3のフローチャートは、全てのサブバンドに対して、N(i)およびL(i)を算出することは必要でないことを示している。値は、ある状況においては、X(i)の値の結果である。これは、前の段階からすでに既知であり、およびそれ故、算出することを必要としない。
これらのパラメータN(i)およびL(i)は、サブバンドを領域にグルーピングするために、(図5のブロック21において更に詳細に示されるように)コスト関数で使用されてもよい。サブバンドjから始まってサブバンドkで終わる単一の領域に対してのコスト関数B(j,k)は、その領域のいずれかのサブバンドに必要とされるlinbitsの最大数(LMAX)に、linbitsを必要とするその領域のサンプル数を掛け合わせたものと定義される。すなわち、
Figure 2011501246
ここで、
MAX(j、k)=max{L(i)}for i=j...k
である。
領域毎の、このコスト関数B(j,k)の全ての可能なサブバンドの組合せ(ブロック21aに示す)(すなわちj,kが全ての可能な領域の組合せをカバーするよう変化させる場合)は、各々の可能な領域に対する全体のコスト関数は、個々の領域に対するコスト関数の合計(すなわち一例として、可能な領域の組合せ)として算出することができる。すなわち、
overall=B(1,r)+B(r+1,r)+・・・+B(r−1,K)
となる。
ここで、K個のサブバンドがn個の領域にグルーピングされており、値rは、どのサブバンドが各々の領域の中に含まれるかを特定する。rの可能な値、すなわち、
=1...(K−n+1)
=(r+1)...(K−n+2)
...
−1=(rn−2+1)...(K−1)
で繰り返すことによって、各々の可能な領域の組合せに対する全体のコスト関数を計算することができる(ブロック21b)。そして、最小の全体のコスト関数としての領域組合せが選ばれる(ブロック21c)。その結果、スペクトルは、最小の全体のコスト関数の組合せに従って、領域に分割される。このような方法でスペクトル分割を実行して、最適なコードテーブル(例えばハフマン符号)を、各々の領域に対して選ぶことができる。
通常はMP3に対して、3つの領域(n=3)に分けられ、22個のサブバンド(K=22)が存在する。そして、上記の通り、各々の第1および第2の領域の最大サイズには制限がある。この例にとしては、
overall=B(1,r)+B(r+1,r)+...+B(r−1,22)
ここで、r,r,rの値は、以下の値の全ての組合せで繰り返される。
=1...16
=r+1...min(r+8,21)
=r+1...22
各々のサブバンドのビットの必要性は、上述の推定、および/または、パラメータの代わりに、または、組み合わせて利用され得る他の多くの推定が存在する。いくつかのオプションは以下に更に詳細に記載する。
第2の実施例のインプリメンテーションにおいて、コスト関数は、ハフマン・ビットの必要性の推定値に基づいてもよい。また、linbitsは、必要である場合、linbitの必要性(これは、上記の通りに例えば決定されてもよい)の推定値に基づいてもよい。図6は、この種の実施例の方法のフローチャートである。周波数ビンの値のいずれもlinbitsを必要とするに十分に大きくない場合、ハフマン・ビットの必要性の分析はそれらの特徴に基づいてサブバンドのグループ化を可能にする。
最初に、4つのパラメータが、各々のサブバンド(61をブロック)に対して判断される
N(i)=サブバンドiにおいてlinbitsが必要な周波数ビンの数
L(i)=サブバンドiにおける最大値をエンコードするのに必要とするlinbitsの最大数
w(i)=サブバンドにおける周波数ビン(またはサンプル)の数
(i)=そのlinbitsを除外した最大値エンコードするために使用されるビット数
場合によっては、パラメータの一つ以上の値が固定されてもよい。例えば、MP3エンコーディングに対して、サブバンドの周波数ビンの数は、グラニュールベースで固定し、サンプル・レートが変化するようにする。その結果、w(i)の値は、通常、オーディオ・ファイルの全部に対して同じとなる。図4における実施例において、w(1)=4、およびw(2)=4として示されている。加えて、あるパラメータは、エンコーダの前段階または他の要素から既知となっており、改めて計算する必要はない(例えば、一部のパラメータは、音響心理学的なモデルにおいて決定され得る)。さらにまた、後述するように、一部は、他の直接的な結果であり、全てのパラメータを算出することは必要ない。
図7は、パラメータN(i)、L(i)、およびb(i)の値を決定する実施例方法のフローチャートを示し、これは、図3において既に説明したものの拡張である。
上述のように、特定のサブバンドiのいずれかの周波数ビンの最大値の絶対値は、X(i)によって表される。もし、X(i)<Y(ブロック71において『はい』)である場合、
(i)=ceil(logX(i))
となる。
しかしながら、X(i)>=Y(ブロック71において『いいえ』、およびブロック72において『はい』または『いいえ』、)である場合、そのlinbitsを除外した最大値をエンコードするために使用されるビットの数は以下によって与えられた定数値となる。すなわち、
(i)=ceil(logY)
MP3のアプリケーションにおいて、例えばY=15で、したがって、X(i)>=Yである場合、以下のようになる。すなわち、
(i)=4
図4において示される実施例において、
N(1)=2
L(1)=ceil(log(30−15))=4
w(1)=4
(1)=ceil(log15)=4
N(2)=0
L(2)=0
w(2)=4
=ceil(log10)=4
となる。
4つのパラメータ(ブロック60において決定した)は、領域毎の(per−region)コスト関数を生成するのに使用される。これは、推定された必要なハフマン・ビットの数と、推定された(もしあれば)必要なlinbitsの数との組合せ(例えば合計)である。linbits項は、上述の通りでもよい。すなわち、
Figure 2011501246
あるいは、必要な数のlinbitsの他のいかなる推定法(measure)が使用されてもよい。
ハフマン・ビット推定値は、linbitsを除外したその領域の周波数ビンのいずれかの最大値をエンコードすることを必要とするビットの数(bMAX)に、その領域の各々のサブバンドの周波数ビン(またはサンプル)の数の合計を掛け合わせることによって決定されてもよい。この項は、以下のようになる。
Figure 2011501246
ここで、bMAX(j,k)=max{b(i)} for i=j..k
である。
サブバンドjから始まってサブバンドkまでの単一の領域のコスト関数B(j,k)は、以下の2つの項の合計となる。
Figure 2011501246
ここで:
MAX(j,k)=max{L(i)} for i=j...k
であり、かつ
MAX(j,k)=max{b(i)} for i=j..k
である。
図4の例を用いると以下のようになる。
Figure 2011501246
上記の、全ての可能な領域毎に対するコスト関数B(j,k)を使用することにより、すなわちj,kを全ての可能なサブバンドの組合せをカバーするよう変化させる場合、各々の可能な領域の組合せに対する全体のコスト関数は個々の領域に対するコスト関数の合計として(上記のように)算出することができる。すなわち、可能な領域の組合せの一例として以下のようになる。
overall=B(1,r)+B(r+1,r)+...+B(r−1,K)
ここで、K個のサブバンドがn個の領域にグルーピングされており、かつ値rはどのサブバンドが各々の領域の中に含まれるかを決定する。
の可能な値、すなわち、
=1...(K−n+1)
=(r+1)...(K−n+2)
...
−1=(rn−2+1)...(K−1)
で繰り返すことによって、各々の可能な領域の組合せに対する全体のコスト関数を計算することができる。そして、最小の全体のコスト関数としての領域組合せが選ばれる(ブロック61)。すなわち、
Figure 2011501246
ここで、rは、領域xの最後のサブバンドのインデックスであって、
Figure 2011501246
は、各々の領域の結果として生じる境界を含んでいるベクトルである。第1の領域(x=1)は、サブバンド1から始まり、かつ最後の領域(x=K)は、サブバンドKで終わる。この方法を使用して達成される結果、およびこの特定のコスト関数について以下説明する。
この第2の実施例のインプリメンテーションは、ハフマン・ビットの必要性の推定値、および、linbitが必要な場合、linbitの必要性の推定値の組合せを使用するが、更なるインプリメンテーションにおいては、ハフマン・ビットの必要性(すなわちコード・ビットの必要性)の推定値だけは使用されてもよい。上記の方法を用いた場合、いかなる領域の最小サイズも、1つのサブバンドである。もちろん、特定の用途において、更に領域サイズを制限する制約があってもよい。たとえば、MP3においては、第1の、および第2の領域のサイズを通信するために利用できるビットは少ないため、これらの領域の最大サイズは制限される。第3の領域が全ての残留するサブバンドを有するため、MP3の仕様は第3の領域に対するこの種の最大サイズの制限はない。
更なる実施例のインプリメンテーションにおいて、その領域のサブバンドのいずれかにおいて必要なlinbitsの最大数(LMAX)が、コスト関数として使用されてもよい。すなわち、
B(j,k)=LMAX(j,k)
であり、ここで、
LMAX(j,k)=max{L(i)} for i=j...k
である。
他のインプリメンテーションにおいて、コスト関数はまた、その領域の周波数ビンのいずれかに対する最大値をエンコードすることを必要とするビットの数(bMAX)を含んでもよい。そうすると、コスト関数は以下を含む。
B(j,k)=bMAX(j,k)+LMAX(j,k)
ここで:
MAX(j,k)=max{L(i)} for i=j...k
であり、かつ
MAX(j,k)=max{b(i)} for i=j..k
である。
他の実施例のインプリメンテーションにおいて、linbitの必要性の推定値は、必要なlinbitsの最大数L(i)の代わりに、必要なlinbitsの平均数または固定した値を使用してもよい。この種の実施例における領域毎のコストは、
Figure 2011501246
となる。ここでLは、所定のパラメータ(例えば定数)である。Lの値は、linbitの使用に対する、周波数ビン毎のペナルティー(per frequency bin penalty)と考えることができる。更なる実施例において、linbitの必要性のこの推定は、(例えば図6を使用して上述した)ハフマン・ビットの項と結合されてもよい。すなわち、
Figure 2011501246
更なるバリエーションにおいて、bMAX(j,k)の値は、定数値bconstと置き換えてもよい。すなわち、
Figure 2011501246
実施例において、bconstは、ceil(logY)と置いてもよい。なお、w(i)は、通常、固定されるため、この種の状況においてはコスト関数におけるハフマン・ビット推定値の項の利点は制限されるであろう。しかしながら、多くのサブバンドが除外される場合、例えばそれらのサブバンドにおけるオーディオが完全にマスキングされる場合、このことは有利であり得る。
更なる実施例のインプリメンテーションにおいて、linbitの必要性の推定値は、サブバンドがlinbitsを使用するかどうかの判定であってもよい。図4において示される実施例において、第1のサブバンドは、15と等しいかまたはこれを上回る2つの値(周波数ビン2、および3)があるため、linbitsを必要とするが、第2のサブバンドは、15と等しいかまたはこれを上回る値がないため、linbitsを必要としない。この種の実施例において、パラメータ1は、linbitを必要とすることを表し、パラメータがゼロの場合、linbitを必要としないことを表す。すなわち、
Linbits(i)=サブバンドiにおけるlinbitの必要性
Linbits(1)=1
Linbits(2)=0
この例では、サブバンドkで始まりサブバンドjで終わる領域に対するコスト関数B(j,k)は、以下を含む。
Figure 2011501246
ここでaは、あらかじめ定められたパラメータ(例えば定数)である。この値aは、linbitの使用に対するサブバンド毎のペナルティー(per sub−band penalty)と考えられる。
更なる実施例のインプリメンテーションにおいて、ビットの必要性の推定値は、周波数ビン毎の推定された平均符号長を含んでもよい。例えば、必要なハフマン・ビット、およびいかなる必要なlinbitsの推定値である。
スペクトル分割は、ファイル全体またはデータ・グループに対して実行されてもよいかまたは、ファイルまたはデータ・グループの各々の部分に対して実行されてもよい。MP3エンコーディングの実施例において、スペクトル分割は、グラニュールベース(per−granule basis)で実行されてもよい。
MP3アプリケーションでは、検索(ブロック21または61)は、全てのサーチ領域を通じて実行することができるが、ほかの応用では、サーチ領域は、あまりに大きいことがある(例えば、その理由は、nおよび/またはKが大きいためである)。一部のアプリケーションにおいては、最初に粗い検索を実行すること(ブロック21または61)が有益であることがある。例えば、傾向を判断しかつこのことにより解決策を捜すために、サブバンドの、より粗い組合せを使用する。実施例において、値rが2回または5回のステップで最初に繰り返されてもよい。検索を狭くし、1回のステップで小さい検索の領域で、rが繰り返されるようにする。他の例では、先行フレームに対して取得された分割が使用されてもよい。そして、計算の複雑性を減らすために、最初の分割がこれらの値から限られた偏移だけとしてもよい。
上述の方法の算出の多くは、2を底とした対数の算出を含む。この種の計算は、数値の符号ビット(sign bit)の数を検出するように設計されている命令を使用するDSP(デジタルシグナルプロセッサ)においてインプリメントされてもよい(例えば、数の正規化または固定小数点から浮動小数点への変換)。数値の符号ビットの数は、数値を正規化する際のポジションの数(このことは、あるいは、小数部の桁が移動する位置の数であると考えることができる)、あるいは、正規化浮動小数点数の指数と定義できる。この種の命令の例は、『SIGNDET』(CSR社によって使用される)、『EXP』(アナログ・デバイセズによって使用される)、および『NORM』(テキサス・インスツルメンツによって使用される)を含む。この種の命令は、以下の結果を返す。
Figure 2011501246
ここで、zは、プロセッサの精度であり、
Figure 2011501246
は、負の無限大方向への丸めを意味する。
この種の命令を使用することにより、以下、パラメータL(i)、およびb(i)の推定値は、DSPに対して、以下のように、ほぼインプリメントすることができる
L(i)=a−SIGNDET(X(i)−Y)
(i)=b−SIGNDET(X(i)) X(i)<Yの場合
(i)=b−SIGNDET(Y) X(i)<Yの場合
ここで、aおよびbは、予め定められたパラメータ(例えば定数)である。命令『SIGNDET』(および他のDSP製造業者によって使用される同じ関数)自体は公知であり、それは正規化ために使用される命令であり、これは、この命令の新規なアプリケーションである。
上述の方法は、最適な解法よりも、より小さいMIPSでよく、スペクトル分割を完全に近い形で達成する。他のアルゴリズムと比較してこれらの方法は、結果として得られるビットレートの約5%を節約する。下記でテーブルは、以下のコスト関数の活用によって達成される一部の結果を示す。
Figure 2011501246
ここで:
MAX(j,k)=max{L(i)} for i=j...k
であり、かつ
MAX(j,k)=max{b(i)} for i=j..k
である。
本方法は、13,511のMP3フレーム(ほぼ5分53秒)によってテストされた。ここで、各々のフレームは、4つのグラニュールを持ち、各々のグラニュールは3つの領域に再分割されている(n=3、K=22)。名目上のビットレートは、160kbpsである。
Figure 2011501246
これらの結果は、提案された方法を使用した場合、ビットレートの増加が最適解と比較して小さいことを示す。この小さいビットレートの増加は同時に、43倍以上の速度の改善をもたらす。事実、エンコーダは、30MIPSを使用する。最適解の大きいオーバーヘッドは、大部分のアプリケーションでフィージブルではない。テーブル索引アプローチと比較して、ビットレートの増加は非常により小さい。その理由は、テーブル索引アプローチは信号の冗長性をエンコードするからである。
MP3仕様は、領域の数を3つに制限し、かつ各々の最初の2つの領域においてサブバンドの数に対する規制を課しているが、本方法は、この種の制約、および規制が適用された場合に対しても、用いられてもよい。本方法は、オーディオ信号(例えば、MP3またはAAC(Advanced Audio Coding)、ビデオ信号または他のシグナル種別(例えばマルチメディアの信号)のエンコーディングに適用されてもよい。
上記の例は、サブバンド境界が仕様において定められるMP3オーディオ・エンコーディングに関するものであるが、これは例として取り上げたものである。本願明細書において記載されている方法は、信号の任意のタイプのエンコード技術に適用してもよい(例えばAAC)。そして、サブバンドは、いかなる知覚的に意味がある周波数分割にマッチしてもよい。
さらに、本願明細書において記載されている方法は、結果として生じる領域毎にハフマン・テーブルを使って符号化し、MP3アプリケーションに対するBig Values領域のスペクトル分割に対して使用されてもよいが、さらに、本方法は、さらに広く適用できる。本願明細書に記載されている技術はスペクトルを類似した統計を有する領域に分割するために使用されてもよい。そして、この分割は、いかなる方法においても、およびいかなるアプリケーションに対しても使用してもよい。例えば、スペクトルは、処理/分析(例えば音声認識)の他方式に対して分割されてもよい。上述の方法は、MP3エンコーディングにまたはエンコーディングのためのスペクトル分割に限られない。
当業者にとって明らかであるように、求められる効果を失うことなく、本願明細書において与えられたいかなる範囲もまたはデバイス値も、拡張されてもよく、または、変更されてもよい。
上述の利点、および効果は、一実施例に対するものでもよく、あるいはいくつかの実施例に対するものでもよいと理解される。1つのアイテムの参照は、それらのアイテムの一つ以上にも関連することは、更に理解される。
あるいは、本願明細書において記載されている方法のステップは、必要に応じて、いかなる適切な順番でも、あるいは、適切であれば同時にも実行される。加えて、個々のブロックは、本願明細書において記載されている内容の趣旨および範囲から逸脱することなく、方法のいずれかから削除されてもよい。上述の実施例のいずれかの態様は、得られる効果を失うことなく、更なる実施例に記載されている他の実施例のいずれかの態様と結合されてもよい。
上記の好ましい実施例の詳細な説明は、例として与えられているものであり、かつ、さまざまな修正が当業者によってなされてもよいことが、理解される。

Claims (22)

  1. 信号をエンコードするのに用いられるスペクトル分割の方法であって:
    各々の複数のスペクトル・サブバンドに対するビットの必要性の推定値を特定するステップと;
    各々の前記スペクトル・サブバンドに対するビットの必要性の前記推定値に基づいてコスト関数を最小にすることによって、前記スペクトル・サブバンドを複数の領域にグルーピングするステップと;
    を有する方法。
  2. ビットの必要性の前記推定値は、
    コード・ビットの必要性の推定値、および、
    追加コード・ビットの必要性の推定値
    のうち少なくとも一つを含む、請求項1記載の方法。
  3. 前記コード・ビットの必要性の推定値は、
    ハフマン・ツリーを使用してエンコードされる場合の、ビットの必要性の推定値を含み、かつ
    前記追加コード・ビットの必要性の推定値は、ハフマン・テーブルにおいて示されない値をエンコードするためのビットの必要性の推定値を含む、
    請求項2記載の方法。
  4. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、かつ、
    スペクトル・サブバンドに対する追加コード・ビットの必要性の前記推定値は、前記スペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とする追加コード・ビットの数を含む、
    請求項2または3に記載の方法。
  5. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、かつ、スペクトル・サブバンドに対する追加コード・ビットの必要性の前記推定値は、追加コード・ビットを必要とする前記スペクトル・サブバンドの中での周波数ビンの数を含む、
    請求項2ないし4のうちいずれか1項記載の方法。
  6. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、
    スペクトル・サブバンドに対するコード・ビットの必要性の前記推定値は、いかなる追加コード・ビットをも除外した、前記スペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とするコード・ビットの数を含む、
    請求項2ないし5のうちいずれか1項記載の方法。
  7. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、
    スペクトル・サブバンドに対するコード・ビットの必要性の前記推定値は、前記スペクトル・サブバンド中の周波数ビンの数を含む、
    請求項2ないし6のうちいずれか1項記載の方法。
  8. 前記スペクトル・サブバンドを複数の領域にグルーピングするステップは、
    スペクトル・サブバンドの全ての可能な組合せに対する各々の領域のコスト関数を計算するステップと;
    スペクトル・サブバンドの全ての可能な組合せに対して、各々の領域に対する前記コスト関数を全体のコスト関数のセットに結合するステップと;
    最も低い全体のコスト関数を持つスペクトル・サブバンドの前記組合せを選ぶステップと;
    を含む、請求項1ないし9のうちいずれか1項記載の方法。
  9. 各々の領域に対する前記コスト関数は、
    前記領域内のいかなるスペクトル・サブバンドも必要とする追加コード・ビットの最大数に、追加コード・ビットを必要とする前記領域内の周波数ビンの数を掛け合わせたもの;および、
    前記領域内のいかなるスペクトル・サブバンドも必要とするコード・ビットの最大数に、前記領域内の周波数ビンの合計数を掛け合わせたもの、
    のうちの1つを含む、請求項8記載の方法。
  10. 各々の領域に対する前記コスト関数は、
    前記領域内のいかなるスペクトル・サブバンドも必要とする追加コード・ビットの最大数に、追加コード・ビットを必要とする前記領域内の周波数ビンの数を掛け合わせたもの;および、
    前記領域内のいかなるスペクトル・サブバンドも必要とするコード・ビットの最大数に、前記領域内の周波数ビンの合計数を掛け合わせたもの、
    の組合せを含む、請求項8記載の方法。
  11. 各々の前記領域に対するコードテーブルを選択するステップと;
    前記領域に対する前記選択されたコードテーブルを使用して、各々の領域をエンコードするステップと;
    を有する、請求項1ないし10のうちいずれか1項記載の方法。
  12. 各々のコードテーブルは、ハフマン・テーブルを有する、請求項11記載の方法。
  13. 前記信号は、オーディオ信号を有する、請求項1ないし12のうちいずれか1項記載の方法。
  14. 削除
  15. 各々の複数のスペクトル・サブバンドに対するビットの必要性の推定値を少なくとも特定する手段と;
    各々の前記スペクトル・サブバンドに対するビットの必要性の前記推定値に基づいてコスト関数を最小にすることによって、前記スペクトル・サブバンドを複数の領域にグルーピングする手段と;
    を有するエンコーダ。
  16. ビットの必要性の前記推定値は、
    コード・ビットの推定値の必要性、および、
    追加コード・ビットの必要性の推定値、
    のうち少なくとも一つを含む、請求項15記載のエンコーダ。
  17. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、かつ、スペクトル・サブバンドに対する追加コード・ビットの必要性の前記推定値は、追加コード・ビットを必要とする前記スペクトル・サブバンドの中での周波数ビンの数を含む、
    請求項16記載のエンコーダ。
  18. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、かつ、
    スペクトル・サブバンドに対する追加コード・ビットの必要性の前記推定値は、前記スペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とする追加コード・ビットの数を含む、
    請求項16または17に記載のエンコーダ。
  19. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、
    スペクトル・サブバンドに対するコード・ビットの必要性の前記推定値は、いかなる追加コード・ビットをも排除した、前記スペクトル・サブバンドのいかなる周波数ビンの最大値をもエンコードすることを必要とするコード・ビットの数を含む、
    請求項16ないし18のいずれか1項記載のエンコーダ。
  20. 各々のスペクトル・サブバンドは、少なくとも一つの周波数ビンを含み、
    スペクトル・サブバンドに対するコード・ビットの必要性の前記推定値は、前記スペクトル・サブバンド中の周波数ビンの数を含む、
    請求項16ないし19のいずれか1項記載のエンコーダ。
  21. 前記スペクトル・サブバンドを複数の領域にグルーピングする手段は、
    スペクトル・サブバンドの全ての可能な組合せに対する各々の領域のコスト関数を計算する手段と;
    スペクトル・サブバンドの全ての可能な組合せに対して、各々の領域に対する前記コスト関数を全体のコスト関数の一組に結合する手段と;
    最も低い全体のコスト関数を持つスペクトル・サブバンドの前記組合せを選ぶ手段と;
    を含む、請求項17記載のエンコーダ。
  22. 各々の領域に対する前記コスト関数は、
    前記領域内のいかなるスペクトル・サブバンドも必要とする追加コード・ビットの最大数に、追加コード・ビットを必要とする前記領域内の周波数ビンの数を掛け合わせたもの;および、
    前記領域内のいかなるスペクトル・サブバンドも必要とするコード・ビットの最大数に、前記領域内の周波数ビンの合計数を掛け合わせたもの、
    のうち少なくとも一つに基づく、請求項21記載のエンコーダ。
JP2010531585A 2007-10-30 2008-09-09 効率的なエンコーディングに対する高速スペクトル分割 Pending JP2011501246A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0721257A GB2454190A (en) 2007-10-30 2007-10-30 Minimising a cost function in encoding data using spectral partitioning
PCT/GB2008/050803 WO2009056866A1 (en) 2007-10-30 2008-09-09 Fast spectral partitioning for efficient encoding

Publications (1)

Publication Number Publication Date
JP2011501246A true JP2011501246A (ja) 2011-01-06

Family

ID=38830181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010531585A Pending JP2011501246A (ja) 2007-10-30 2008-09-09 効率的なエンコーディングに対する高速スペクトル分割

Country Status (7)

Country Link
US (1) US8332217B2 (ja)
EP (1) EP2203917B1 (ja)
JP (1) JP2011501246A (ja)
AT (1) ATE499678T1 (ja)
DE (1) DE602008005180D1 (ja)
GB (1) GB2454190A (ja)
WO (1) WO2009056866A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022435A (ja) * 2009-07-17 2011-02-03 Sony Corp 信号符号化装置、信号復号装置、信号処理システム、これらにおける処理方法およびプログラム
KR20150032737A (ko) * 2012-07-13 2015-03-27 후아웨이 테크놀러지 컴퍼니 리미티드 오디오 신호를 위한 비트 할당 방법 및 장치
US9530420B2 (en) 2012-10-26 2016-12-27 Huawei Technologies Co., Ltd. Method and apparatus for allocating bits of audio signal

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204744B2 (en) * 2008-12-01 2012-06-19 Research In Motion Limited Optimization of MP3 audio encoding by scale factors and global quantization step size
CN105976824B (zh) * 2012-12-06 2021-06-08 华为技术有限公司 信号解码的方法和设备
US10699721B2 (en) * 2017-04-25 2020-06-30 Dts, Inc. Encoding and decoding of digital audio signals using difference data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285498A (en) 1992-03-02 1994-02-08 At&T Bell Laboratories Method and apparatus for coding audio signals based on perceptual model
US5884269A (en) * 1995-04-17 1999-03-16 Merging Technologies Lossless compression/decompression of digital audio data
EP0756386B1 (en) * 1995-07-27 2003-09-17 Victor Company Of Japan, Limited Method and apparatus for coding a digital, acoustic signal
EP0966109B1 (en) * 1998-06-15 2005-04-27 Matsushita Electric Industrial Co., Ltd. Audio coding method and audio coding apparatus
JP3784993B2 (ja) * 1998-06-26 2006-06-14 株式会社リコー 音響信号の符号化・量子化方法
US6975254B1 (en) * 1998-12-28 2005-12-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Methods and devices for coding or decoding an audio signal or bit stream
JP2001188563A (ja) * 2000-01-05 2001-07-10 Matsushita Electric Ind Co Ltd オーディオ符号化のための効果的なセクション化法
US6601032B1 (en) * 2000-06-14 2003-07-29 Intervideo, Inc. Fast code length search method for MPEG audio encoding
JP2002006895A (ja) * 2000-06-20 2002-01-11 Fujitsu Ltd ビット割当装置および方法
EP1483759B1 (en) * 2002-03-12 2006-09-06 Nokia Corporation Scalable audio coding
US7272566B2 (en) * 2003-01-02 2007-09-18 Dolby Laboratories Licensing Corporation Reducing scale factor transmission cost for MPEG-2 advanced audio coding (AAC) using a lattice based post processing technique
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7761290B2 (en) * 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022435A (ja) * 2009-07-17 2011-02-03 Sony Corp 信号符号化装置、信号復号装置、信号処理システム、これらにおける処理方法およびプログラム
KR20150032737A (ko) * 2012-07-13 2015-03-27 후아웨이 테크놀러지 컴퍼니 리미티드 오디오 신호를 위한 비트 할당 방법 및 장치
US9424850B2 (en) 2012-07-13 2016-08-23 Huawei Technologies Co., Ltd. Method and apparatus for allocating bit in audio signal
KR101661868B1 (ko) * 2012-07-13 2016-09-30 후아웨이 테크놀러지 컴퍼니 리미티드 오디오 신호를 위한 비트 할당 방법 및 장치
KR101736705B1 (ko) * 2012-07-13 2017-05-16 후아웨이 테크놀러지 컴퍼니 리미티드 오디오 신호를 위한 비트 할당 방법 및 장치
US9530420B2 (en) 2012-10-26 2016-12-27 Huawei Technologies Co., Ltd. Method and apparatus for allocating bits of audio signal
US9972326B2 (en) 2012-10-26 2018-05-15 Huawei Technologies Co., Ltd. Method and apparatus for allocating bits of audio signal

Also Published As

Publication number Publication date
WO2009056866A1 (en) 2009-05-07
US8332217B2 (en) 2012-12-11
EP2203917B1 (en) 2011-02-23
US20100202558A1 (en) 2010-08-12
GB2454190A (en) 2009-05-06
GB0721257D0 (en) 2007-12-05
DE602008005180D1 (de) 2011-04-07
ATE499678T1 (de) 2011-03-15
EP2203917A1 (en) 2010-07-07

Similar Documents

Publication Publication Date Title
JP5456310B2 (ja) ディジタル・メディア・スペクトル・データの効率的コーディングに使用される辞書内のコードワードの変更
JP5658307B2 (ja) ディジタルメディアの効率的コーディング用のバンドを入手するための周波数セグメント化
JP5864776B2 (ja) 並列アーキテクチャをもつオーディオ・エンコーダ
KR101251813B1 (ko) 넓은-뜻의 지각적 유사성을 이용하는 디지털 미디어 스펙트럼 데이터의 효과적인 코딩
CN111009249B (zh) 编码器/解码器、编码/解码方法和非瞬时性存储介质
JP6970789B2 (ja) 高位周波数帯域における検出されたピークスペクトル領域を考慮してオーディオ信号を符号化するオーディオ符号器、オーディオ信号を符号化する方法、及びコンピュータプログラム
JP6227117B2 (ja) オーディオ・エンコーダおよびデコーダ
CN107516530B (zh) 编码方法、编码装置以及记录介质
KR20160149326A (ko) 오디오 신호 코딩 및 디코딩 방법 및 장치
JP2011501246A (ja) 効率的なエンコーディングに対する高速スペクトル分割
US8825494B2 (en) Computation apparatus and method, quantization apparatus and method, audio encoding apparatus and method, and program
CN112309422A (zh) 对音频信号中的噪声进行估计的方法和装置以及传输音频信号的装置和系统
CN105431902B (zh) 用于音频信号包络编码、处理和解码的装置和方法
US8217811B2 (en) Bitcount determination for iterative signal coding
Hu et al. An efficient low complexity encoder for MPEG advanced audio coding
JPWO2013146895A1 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507