JP4786796B2 - 周波数領域オーディオ符号化のためのエントロピー符号モード切替え - Google Patents
周波数領域オーディオ符号化のためのエントロピー符号モード切替え Download PDFInfo
- Publication number
- JP4786796B2 JP4786796B2 JP2000588902A JP2000588902A JP4786796B2 JP 4786796 B2 JP4786796 B2 JP 4786796B2 JP 2000588902 A JP2000588902 A JP 2000588902A JP 2000588902 A JP2000588902 A JP 2000588902A JP 4786796 B2 JP4786796 B2 JP 4786796B2
- Authority
- JP
- Japan
- Prior art keywords
- entropy
- frequency
- frequency range
- coefficients
- sequence
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- H03M7/48—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
- G11B2020/00014—Time or data compression or expansion the compressed signal being an audio signal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Description
(発明の分野)
本発明は、一般的に、周波数領域オーディオ符号化に関し、より詳細には、周波数領域オーディオ符号器および復号器で使用するエントロピー符号化方法に関する。
【0002】
(背景)
通常のオーディオ符号化環境では、データが、必要な場合(例えば、アナログ形式から)、符号器に入力される記号の長いシーケンスにフォーマットされる。この入力データは、符号器によって符号化され、通信チャネルを介して伝送され(または単に格納し)、復号器によって復号化される。符号化中、この入力は、事前処理され、サンプリングされ、変換され、圧縮され、または別様に操作されて、伝送またはストレージ(strage)のための形式になる。伝送またはストレージの後、復号器は、元の入力を再構成しようとする。
【0003】
オーディオ符号化技法は、2つのクラス、すなわち、時間領域技法および周波数領域のものに分類することができる。時間領域技法、例えば、ADPCM、LPCは、時間領域内で直接的に動作し、他方、周波数領域技法は、オーディオ信号をそこで圧縮が行われる周波数領域に変換する。周波数領域コーデック(圧縮器/圧縮解除器)は、さらに、副帯域コーダまたは変換コーダのいずれかに分けられる。ただし、この2つの間の区別は、常に明確なわけではない。つまり、副帯域コーダは、通常、帯域フィルタを使用して入力信号を少数(例えば、4つ)の副帯域に分割し、他方、変換コーダは、通常、多くの副帯域を(また、したがって、それに応じて、多数の変換係数を)有する。
【0004】
周波数領域内でのオーディオ信号の処理は、従来の信号処理理論と人間の心理音響学モデルの両方によって動機づけられている。心理音響学は、情報内容を縮小するために、聴取者の既知の特性を利用する。例えば、内耳、詳細には、基底膜は、スペクトル解析器のように動作して、オーディオ信号をさらなる神経処理を行う前に、スペクトルデータに変換する。周波数領域オーディオコーデックは、しばしば、元の信号を変更して情報の冗長性を除去することによって、人間の聴力システム内で起っている聴覚マスキングを利用する。人間の耳は、これらの変更を知覚することができないので、ひずみなしの効率的な圧縮を得ることができる。
【0005】
通常、マスキング分析が、量子化雑音を都合よく「マスク」できるように、量子化と併せて行われる。最近のオーディオ符号化技法では、量子化されたスペクトルデータは、通常、エントロピー符号化、例えば、ハフマン符号化を適用してさらに圧縮する。圧縮は、通信チャネルが、通常、限られた利用可能な容量または帯域幅を有するので、必要とされる。それが通信チャネルを介して確実に伝送される、または単に伝送され得るようにするために、入力データの情報内容を削減することが、しばしば、必要である。
【0006】
伝送または記憶するデータのサイズを縮小するための可逆的圧縮と非可逆的圧縮の技法を開発するのに、相当な努力が注がれてきた。1つの一般的な可逆技法は、ハフマン符号化であり、これは、特定の形式のエントロピー符号化である。エントロピー符号化は、符号ワードを異なる入力シーケンスに割り当てて、すべての入力シーケンスをコードブック内に記憶する。エントロピー符号化の複雑さは、入力シーケンスXが取り得る可能な値の数mに依存する。小さなmの場合、可能な入力の組合せは、ほとんど存在せず、したがって、そのメッセージに対するコードブックは、非常に小さいものであり得る(例えば、すべての可能な入力シーケンスを明確に表すのに、数ビットしか必要ない)。デジタルの適用形態の場合、符号英字は、シリーズの2進数{0,1}である可能性が非常に高く、符号ワード長は、ビットで測定される。
【0007】
入力が等しい生起確率を有する記号から構成されていることが既知である場合、最適符号化は、等長符号ワードを使用することである。しかし、入力ストリームが、任意の特定メッセージを等確率で受信する可能性を有することは、通常ではない。実際、あるメッセージは、他のメッセージよりも確率が高く、エントロピー符号器は、これを利用して、予期される入力の間での符号ワードの平均長を最小化する。ただし、従来、固定長入力シーケンスには、可変長符号が割り当てられる(または、逆に、可変長シーケンスには、固定長符号が割り当てられる)。
【0008】
(概要)
本発明は、周波数領域オーディオ符号化のためにエントロピー符号化モードを選択するための方法に関する。より詳細には、オーディオ入力を表す所与の入力ストリームが、符号化されるべき代表的入力または実際の入力の統計分析から導出した何らかの統計基準によって、周波数範囲に分割される。各範囲には、その範囲の型のデータを符号化するように最適化されたエントロピー符号器を割り当てる。符号化中および復号化中、モードセレクタが、正しいエントロピー方法を様々な周波数範囲に適用する。分割境界は、事前に決定することができ、復号器が、暗黙的に、どの復号化方法を符号化済みデータに適用するかを知ることができるようにする。または、後続データに関する符号化モードの変更を示すことによって、出力ストリーム内で境界にフラグが付けられる転送適応構成を使用することができる。
【0009】
音声や音楽などの自然音の場合、情報内容は、低周波数範囲に集中している。このことは、統計上、より低い周波数が、より多くの非ゼロのエネルギー値(量子化の後)を有し、他方、より高い周波数範囲は、より高い周波数での内容の欠如を反映して、より多くのゼロ値を有することを意味している。より低い周波数範囲とより高い周波数範囲を分ける1つまたは複数の分割境界を定義するのに、この統計分析を使用することができる。例えば、単一の分割は、周波数成分の低い方1/4が、その分割より下になるように定義することができる。別法では、臨界帯域のほぼ半分が、各定義された周波数帯域内に入るように分割を設定することができる。(臨界帯域は、特定周波数に対する人間聴覚システムの感度に対応する非一様な幅である。)そのような分割の結果は、その1つは、主に非ゼロの周波数係数を含み、もう1つは、主にゼロの周波数周波数係数を含んだ2つの周波数範囲を定義することである。その範囲が主にゼロの値および非ゼロの値を含むという事前の知識は、そのようなゼロの値および非ゼロの値に対して最適化した符号器を使用して、符号化することが可能である。
【0010】
一実施形態では、主にゼロの値を含んだ範囲は、多重レベルランレングス符号器(RLE)を使用して符号化される。すなわち、これは、ゼロの値のシーケンスを1つまたは複数の非ゼロの記号に統計的に相関させて、可変長符号ワードをそのようなゼロの値および非ゼロの値の任意に長い入力シーケンスに割り当てる符号器である。同様に、主に非ゼロの値を含んだ範囲は、可変長符号ワードが量子化記号の任意に長い入力シーケンスに割り当てられる可変−可変エントロピー符号器を使用して符号化される。全体的なより効率的な処理は、入力データの特性に応じて符号化方法を基づけることによって達せられる。実際、分割の数および周波数範囲は、符号化および復号化すべきデータの型によって異なる。
【0011】
(詳細な説明)
例としての動作環境
図1および下記の議論は、そこで本発明を実施することが可能である適切なコンピュータ環境の簡単な一般的説明を提供することを目的とする。パーソナルコンピュータ上で動作するコンピュータプログラムのコンピュータ実行可能命令の一般的文脈で本発明を説明するが、当分野の技術者には、他のプログラムモジュールとの組合せでも、本発明を実施できることが理解されよう。一般的に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実施する、ルーチン、プログラム、構成要素、データ構造などが含まれる。さらに、当分野の技術者には、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成を使用しても本発明を実行できることが理解されよう。本発明の例示する実施形態は、通信ネットワークを介してリンクされている遠隔処理装置によってタスクが実行される分散コンピュータ環境でも実行される。ただし、本発明のいくつかの実施形態は、独立型コンピュータ上でも実行することが可能である。分散コンピュータ環境では、プログラムモジュールは、ローカルと遠隔の両方のメモリ記憶装置に配置することが可能である。
【0012】
図1を参照すると、本発明を実施するための例としてのシステムが、コンピュータ20を含み、これが、処理装置21、システムメモリ22、および処理装置21に対するシステムメモリを含んだ様々なシステム構成要素を結合するシステムバス23を含んでいる。処理装置は、Intel x86、Pentium、Intelおよび他社からの互換マイクロプロセッサ、DigitalによるAlphaプロセッサ、ならびにIBMおよびMotorolaからのPowerPCを含む、様々な市販のプロセッサのうちの任意のものであり得る。デュアルマイクロプロセッサおよび他のマルチプロセッサのアーキテクチャも、処理装置21として使用することができる。
【0013】
システムバスは、メモリバスまたはメモリコントローラ、周辺バス、ならびに、そのいくつかを挙げれば、PCI、AGP、VESA、Microchannel、ISA、EISAなどの様々な従来バスアーキテクチャのうちの任意のものを使用するローカルバスを含んだ、いくつかの型のバス構造のうちの任意のものであり得る。システムメモリは、読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。始動時などに、コンピュータ20内の要素間で情報を転送するのを助ける基本ルーチンを含んだ基本入力/出力システム(BIOS)は、ROM24内に記憶されている。
【0014】
コンピュータ20は、さらに、例えば、取外し可能ディスク29から読み取る、またはそれに書き込むために、ハードディスクドライブ27、磁気ディスクドライブ28を、また、例えば、CD−ROMディスク31を読み取るため、あるいは他の光学式媒体から読み取る、またはそれに書き込むために、光ディスクドライブ30をさらに含む。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ディスクドライブインターフェース34によって、システムバス23に接続されている。これらのドライブおよびその関連するコンピュータ可読媒体は、コンピュータ20のためのデータ、データ構造、コンピュータ実行可能命令などの不揮発性ストレージを提供する。コンピュータ可読媒体の説明は、ハードディスク、取外し可能磁気ディスク、およびCDに関連するが、当分野の技術者には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなど、コンピュータによって読取り可能な他の型の媒体も、例としての動作環境内で使用できることが理解されよう。
【0015】
オペレーティングシステム35、1つまたは複数のアプリケーションプログラム(例えば、インターネットブラウザソフトウェア)36、他のプログラムモジュール37、およびプログラムデータ38を含む、いくつかのプログラムモジュールをドライブおよびRAM25内に記憶することが可能である。
【0016】
ユーザは、キーボード40、およびマウス42などのポインティングデバイスを介して、コマンドおよび情報をコンピュータ20に入力することができる。他の入力装置(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、またはそれらに類するものが含まれ得る。これらの入力装置および他の入力装置は、しばしば、システムバスに結合されたシリアルポートインターフェース46を介して処理装置21に接続するが、パラレルポート、ゲームポート、または汎用シリアルバス(USB)などの、他のインターフェースによって接続することも可能である。モニタ47または他の型の表示装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続されている。モニタに加えて、パーソナルコンピュータは、通常、スピーカまたはプリンタなどの、他の周辺出力装置(図示せず)を含む。
【0017】
コンピュータ20は、遠隔コンピュータ49などの、1つまたは複数の遠隔コンピュータに対する論理接続を使用するネットワークされた環境内で動作するものが望まれる。遠隔コンピュータ49は、ウェブサーバ、ルータ、ピア装置、または他の一般のネットワークノードであることが可能であり、図1ではメモリ記憶装置50だけを図示しているが、通常、コンピュータ20に関して記載した多くのまたはすべての要素を含む。コンピュータ20は、ゲートウェイ55(例えば、ルータ、専用回線、または他のネットワークリンク)、モデム54リンクを介して、あるいはオフィス内ローカルエリアネットワーク(LAN)51またはワイドエリアネットワーク(WAN)52によって確立されたインターネット接続を介して、遠隔コンピュータ49に接触することができる。図示したネットワーク接続は、例としてのものであり、コンピュータ間に通信リンクを確立する他の手段も使用できることが理解されよう。
【0018】
コンピュータプログラミング分野の技術者の慣行により、本発明は、そうでないことを示さない限り、コンピュータ20によって実行される動作およびオペレーションの記号表現を参照して下記に説明する。そのような動作およびオペレーションは、時として、コンピュータ実行と呼ばれる。この動作および記号で表されるオペレーションには、処理装置21による、データビットを表す電気信号の操作が含まれることを理解されたい、これは、結果として電気信号表現での変換および縮小を引き起こし、またメモリシステム(システムメモリ22、ハードドライブ27、フロッピーディスク29、CD−ROM31を含む)内のメモリロケーションでのデータビットの保持を引き起こす。また、これによりコンピュータシステムのオペレーションならびに信号の他の処理を再構成したり、変更する。そこにデータビットが保持されているメモリロケーションは、そのデータビットに対応する特定の電気特性、磁気特性、または光特性を有する物理ロケーションである。
【0019】
図2は、チャネル210を介してオーディオデータを伝送するための伝送モデルを示している。この伝送のソースは、ライブのブロードキャスト、記憶済みデータ、または配線式/無線通信リンク(例えば、LANまたはインターネット)を介してリトリーブされた情報とすることができる。チャネル210は、限られた帯域幅のものであると想定し、したがって、データがチャネルを介して確実に送信され得るようにするには、ソースデータ200の圧縮が望ましい。この議論は、オーディオデータの伝送を中心的に扱うが、本発明は、埋め込まれたオーディオデータ(例えば、MPEGデータストリーム内で多重化された)を有するオーディオビジュアル情報、または圧縮データパターン(例えば、コヒーレントデータ)を有する他のデータソースなど、他のデータの転送にも適用することに留意されたい。
【0020】
図示するとおり、ソースデータ200は、フィルタバンク変換または離散余弦変換などの時間/周波数変換符号器202に入力される。変換符号器202は、オーディオデータソースなどの、連続する、またはサンプリングされた時間領域入力を所定(ただし、多分、異なる)帯域幅の複数周波数帯域に変換するように設計されている。次に、可聴な影響なしに、問題なく削減できる信号の成分を判定するために、これらの帯域を、人間聴覚知覚モデル204(例えば、心理音響学モデル)に関して分析することができる。例えば、ある周波数は、ある別の音または周波数が入力信号内に存在するとき、不可聴であることがよく知られている(同時マスキング)。したがって、そのような不可聴信号は、入力信号から問題なく除去することができる。人間聴覚モデルの使用は、よく知られており、例えば、これは、MPEG1、2、および4の規格である。(そのようなモデルは、量子化206の操作に組み合わせることができることに留意されたい。)
【0021】
時間/周波数変換202を実行した後、各範囲内の周波数係数を量子化206して、各係数(振幅レベル)を有限セットの可能な値から取った値に変換する。ここで、各値は、周波数範囲を表すように割振られたビットに基づくサイズを有する。量子化器は、メモリを有する(または有さない)ミッドライザまたはミッドトレッダなど、従来の一様または非一様の量子化器であり得る。一般的な量子化の目的は、入力信号データを表すのに最適のビット割振りを識別すること、すなわち、ソースデータの(聴覚上)重要な部分を確実に符号化するため、利用可能な符号化ビットの使用を割り当てることである。所望のビット伝送速度(一定のビット伝送速度を想定して)を満たすために、量子化ステップサイズ予測など、様々な量子化方法を使用することができる。ソース200を量子化した後、結果のデータをエントロピー符号化する208(図6〜13の議論を参照)。
【0022】
エントロピー符号化した出力は、通信チャネル210を介して伝送する(または後の伝送のために記憶する)。次に、受信端216が、逆符号化処理、すなわち、ソースデータ200の符号化を戻す(undo,復号化する)一連のステップ)を実施する。つまり、符号化済みデータが、エントロピー復号器212に対する入力として、チャネル210を介して受信されて、この復号器が、逆コードブックルックアップを実行して、符号化済み出力を入力記号シリーズ200に対する元の量子化出力に近似するものに変換する。この近似データが、次に、量子化解除器214および時間/周波数変換復号器218によって処理されて、元の符号化操作を逆転して、元のソースデータ200に類似した再構成データ220をもたらす。再構成データ220は、元のソースデータ200を近似するに過ぎないことに留意されたい。というのは、ステップ204〜208を適用することは、不可逆的処理だからである。
【0023】
この伝送モデルのための1つの可能な実施形態は、リアルタイムデータがサーバ/サーバ機能アプリケーションからネットワークリンクを介してリトリーブされるのにつれて、それを処理、表示、または再生しようとするクライアントアプリケーションプログラムである。例えば、クライアントは、適応帯域幅予約を提供するストリーミング送達システムを使用し得る。(1つのそのようなストリーミングフォーマットは、Microsoft Advanced Streaming Formatである。)ストリーミング環境は、データ送達を、回線速度制約など、特定のリトリーブ要件に対して最適化することを可能にすることによって、従来のネットワーク機能プログラムと対照をなす。ストリーミングデータの際立った特徴は、クライアントがデータを受信するのにつれて、それをリアルタイムで漸進的に見ることができることである。処理済のデータは、クライアントによる後のリトリーブのために記憶することができ、またそのようなリトリーブは、非ストリーミングフォーマットで(例えば、小さな再生装置によって)実行され得ることに留意されたい。
【0024】
ストリーミングフォーマットは、同期オブジェクトデータストリームの構造を定義し、任意のオブジェクト、例えば、オーディオおよびビデオのデータオブジェクト、スクリプト、ActiveXコントロール、HTML文書をデータストリームに入れることができるようにする。アプリケーションプログラミングインターフェース(1つのそのようなAPIは、Microsoft Audio Compression Managerである)が、ストリーミングフォーマットに対するアプリケーションサポートを円滑にするために提供される。通信チャネル210を介するストリーミングフォーマットデータの伝送では、ソース情報が、ネットワークに対して適切な形式に変換に変換されることを必要とする。しかし、経路指定情報およびデータを含む従来のパケットとは異なり、ストリーミングパケットは、ストリーム内の異なるオブジェクトからの優先順位付き混合データを含み、したがって、帯域幅は、より高い優先順位のオブジェクトに、最初に、割り振ることが可能である。受信端216で、受信側による使用のために、優先順位付きデータストリーム内のオブジェクトが再構成される。
【0025】
データは、多分、それが受信された時、使用されるので、ストリーミング内容は、伝送遅延の影響を受ける。データが確実に到着しない場合、または伝送速度が、許容可能な最低限を下回って低下する場合、そのデータは、使用不可能になる可能性がある(例えば、ビデオシーケンスの再生が失敗し得る)。したがって、帯域幅を多く使用するデータ(オーディオフィードなど)は、その帯域幅要件が通信チャネル210によって確実に満たされ得るようにするために、相当の圧縮を必要とする。非可逆的圧縮の程度は、再構成信号の品質に必然的に影響するので、サーバは、異なるクライアントネットワーク接続速度に対する選択可能な符号化を提供する(またはリアルタイムスループットを識別する適応フィードバックシステムを使用する)べきである。
【0026】
周波数係数ソースデータ200を符号化して、通信チャネル210を介する確実な伝送を保証するのに特に有効な方法は、エントロピー符号化である。後述のとおり、入力データの異なる部分に対して最適化された異なる符号化方法を適用することによって、データコヒーレンシーを十分に利用することができる。エントロピー符号化は、記号が非一様の確率分布を有するとき、有効である。後述する可変−可変コーダおよびRLEコーダなど、多くの入力記号をグループ化するエントロピー符号化方法は、データコヒーレンシーを十分に利用することに優れている。異なる周波数範囲に対して異なる符号化方法を使用することは、符号器がそれぞれのそのような範囲ごとの確率分布に対して調整されているとき、より最適な符号化を可能にする。
【0027】
図3は、周波数領域に変換されている時間領域信号を図示している。X軸に沿って、ゼロ302から最大周波数304までの範囲300の周波数がある。分割306は、範囲300内で定義されており、この分割は、予期される入力ストリームの統計分析(例えば、エントロピーコードブックを慣らしている最中にえられた統計情報、または実際の入力の適合分析による)によって決定され、この統計モデルが、符号化のために、実際の入力308に対して適用される。
【0028】
分割を設定する1つの手法は、前述のとおり、周波数または臨界帯域のあるパーセンテージを境界より下に置くことである。
【0029】
代替方法は、各周波数ごとの確率分布によるゼロおよび非ゼロの確率などの基本統計を集めることである。各周波数の統計の検査は、周波数にわたる緩やかな変化を示し、分割境界は、各分割内の分布が類似するように選択することができる。周波数分割は、入力のサンプリング速度および予期されるビット伝送速度に対して敏感であることに留意されたい。サンプリング速度およびビット伝送速度は、量子化された周波数係数の確率的特性を決定し、この特性が基本的に、分割の配置を決定することを担う。
【0030】
より最適な方法は、「最適」境界位置を決定するために、全数探索を実行することによって適合的に分割を配置することである。つまり、最適の解決法は、すべての周波数(またはそのサブセット)を分割位置として試し、エントロピー符号化を実施して、どの境界の可能な位置が、符号化のために最小数のビットをもたらすか、追跡することである。計算上、よりインテンシブではあるが、計算コストが問題なのであれば、複数の分割が使用される場合、全数探索(または周波数サブセットが使用される場合、ほぼ全数探索)の圧縮の利点が、コストを上回る。
【0031】
周波数スペクトル300を別々の周波数下位領域310、312に分けることによって、符号器は、異なる周波数範囲を符号化するように最適化されている異なる符号化方式を適用することができる。これは、符号化すべきデータの特性に応じて異なるエントロピー符号化テーブルを置き換えたエントロピー符号化方式などの、前の方法と対照をなす。こうした従来の方法は、その単一エントロピー符号化アルゴリズムの柔軟性により、符号化テーブルが異なる種類の入力データを考慮できないことにより、またいつ異なるテーブルを使用するべきか識別することに関連するオーバーヘッドによって、制限を受ける。1つの型のデータに対して最適化された方法は、異なる型のデータに効率的に適用することができない。
【0032】
図示する実施形態では、範囲300に対して選択された分割基準は、特定のスペクトルイベントが、特定の強度(例えば、ゼロ)またはそれに近いところでの一連の係数である確率C(F)(Y軸)である。コードブック生成の場合と同様に、ゼロの値のデータを受信する確率は、例としての入力に関して、事前計算することができる。図示するとおり、入力信号308は、示された分割306の後、ゼロである確率が高い。(分割の仕切り306の位置は、その仕切りを越える入力の80%または90%がゼロまたはそれに近くなるように選択されている。)
【0033】
最低限、入力信号308は、それぞれの範囲が異なる符号化方法による圧縮に最も適したデータ特性を有する2つの範囲に分割されるものと想定する。図示する実施形態では、一方の範囲は、主にゼロの値を有し、もう一方の範囲は、非ゼロの値を有する。したがって、2つの符号器が使用され、そのそれぞれは、それに対応する範囲内の型のデータに対して最適化されている。図示する実施形態は、周波数係数を2つの範囲に分割するが、それぞれがそれ自体の最適化された符号器を有する2つより多くの範囲を定義することができる、あるいは異なる範囲が、類似の特性を共有し、したがって、同一の符号器を使用することが可能である。
【0034】
主に非ゼロの範囲310を符号化するのに、図6〜13に関して述べたようなエントロピー符号器を使用することができる。後述するとおり、図6〜13の符号化方法は、非ゼロの聴覚入力データを符号化するのに特によく適している。主にゼロの値の範囲312の場合、そのようなデータに対して最適化された符号器を使用する。図示する実施形態では、ランレングス符号器が、ある支配的値(例えばゼロ)を有するデータを符号化するのに最適化されているので、それを使用する。図13は、主にゼロの値の範囲312を効率的に符号化することができる、1つのRLEベースのエントロピー符号器を図示している。
【0035】
図4は、チャネル(図2を参照)を介してオーディオデータを伝送するための伝送モデルを図示しており、そこでは、複数のエントロピー符号化/復号化方法が、入力データ200を操作するのに使用される。ソースオーディオデータ200は、ある周波数範囲内の値を有することが知られている。図2に関して前述したとおり、ソースデータ200は、周波数領域に変換し202、心理聴覚モデルに従って縮小し204、量子化する206ことができる。量子化は、かなりの数のゼロに近い出力値を生成し得るので、エントロピー符号器208は、この量子化出力を符号化するように最適化することができる。
【0036】
量子化の後、量子化済みデータに関するスペクトル係数は、通常のオーディオデータの情報内容を追跡する傾向がある。量子化係数の分析は、それらが、より低い周波数範囲で、非ゼロであり、より高い周波数で、主にゼロ係数である可能性が高いことを示す。したがって、ある周波数位置に位置する周波数分割の場合、モードセレクタ400が、符号化される周波数範囲に応じて、符号器を決定することができる。
【0037】
分割の配置を決定することは、いくつかの既知のエントロピー符号器のうちのどれが、異なる下位範囲に対してより良好な符号化効率を実現するかを識別する、統計分析に基づくことが可能である。1つの構成では、分析は、例としての入力に関する符号化または復号化に先立って実行される。これは、分割位置、および各下位範囲に対する対応する符号器の事前決定を可能にして、該当するコーダでの変更にフラグを付けるのに、何もオーバーヘッドを導入する必要がないようにする。
【0038】
別の方法では、現行のデータに対して、統計分析を実行することができる(リアルタイムで、またはオフラインで)。この構成では、符号器/復号器は事前に知られているが、該当するコーダでの変化を示すのに、フラグを符号化済みデータストリームに埋め込む必要がある。前述のとおり、各下位範囲ごとにある程度の符号化効率が得られるまで、異なる可能な分割位置を試みることが可能である。復号器によるフラグの受信は、下位範囲の終りを示し、フラグの値は、逐次のデータに対してどの復号器を使用するかを示す。
【0039】
マーカを挿入することは、符号化/復号化処理にある程度のオーバーヘッドを追加するが、そのようなマーカは、従来技術の符号化方法に対する改良を表すものである。例えば、図示する実施形態をオーディオデータの従来の(例えば、MPEG1、2、4を参照)エントロピー符号化と比較されたい。従来のシステムは、すべてのデータに対して単一のエントロピー符号器を使用し、異なるコードブックが、入力データの周波数範囲内にある多くの臨界帯域(通常、サンプリング速度に応じて、24またはそれより多くの帯域)のそれぞれに関連付けられる。24の帯域を想定して、各臨界帯域遷移で、24個のコードブックのうちのどれを使用してそのバンドのデータを符号化すべきかを示すのに、2ビット(またはそれより長い)フラグが、必要とされる。(24の状態を追跡するのに5ビットが必要とされるが、このフラグ自体を効果的により少ないビットに符号化することができる。)これは、フラグを全く必要としないか、あるいはフラグを使用するが、下位範囲の数が、臨界帯域の数に比するものになり、符号化方法の数がテーブルの数に近づかない限り、従来の方法よりも効率的である、図示する実施形態と明確な対照をなす。つまり、臨界帯域を使用する符号化ごとに、24個の下位範囲が存在して、どの符号化テーブルを使用すべきかを示すのに、2〜5ビットのフラグを必要とする。対照的に、図示する実施形態は、2つまたは3つの下位範囲しか有さないことが可能であり、したがって、オーバーヘッドがずっと少ない。
【0040】
図示するとおり、N個の所定の符号器402〜406が存在し、そのそれぞれは、何らかの支配的特徴を備えたデータを有する周波数範囲を符号化するように最適化されている。このことは、N個の別々の入力範囲が存在することを必ずしも意味しない。というのは、異なる周波数範囲が、そのデータに関して、類似の統計的特徴を有し、したがって、同一の符号器を使用することが可能であるからである。図示する例では、2つの範囲(1つの分割)だけが存在し、これらは低い(主に非ゼロの係数)周波数範囲および高い(主にゼロの係数)周波数範囲に対応している。したがって、分割を越えた主にゼロのデータは、RLE型符号器(例えば、図13参照)を使用して符号化され、分割の前のデータは、可変−可変エントロピー型エントロピー符号器を使用して符号化される。
【0041】
ただし、一般的な場合、特定の入力に関して統計情報が利用可能になると、どの符号器が入力を最も良く圧縮できるかに応じて、異なる符号器を選択することができる。例えば、従来のハフマン符号化、ベクトルハフマン変種、RLE符号化などの符号化方法を最適化し、高いスペクトル値、低いスペクトル値、混合したまたは変更するスペクトル値、または別の何らかの所望の/ありそうな特徴を有する入力に対して、そのコードブックを教えることができる。すべての入力に対する単一符号器の従来の使用とは対照的に、図示する構成は、入力に関する統計プロファイルと、符号器のコードブックが教えられるデータに関する統計プロファイルとの間の最適なマッチンク(対応)に応じて、異なる符号化方法を使用(match)する。
【0042】
どの符号器402〜406を使用するか決定した後、処理は、図2に関連して述べたとおり、データを復号化のために受信側216に送信し続ける。逆モードセレクタは図示していないことに留意されたい。適切な復号器を適切に選択してモードセレクタ400の動作を逆にするために、モードスイッチャが必要である(例えば、図2の復号器212の一環として)。ただし、前述のとおり、範囲の仕切り位置を事前に決定し、これにより、復号化の間での識別をやめることができる。さもなくば、動的適応符号化/復号化のため、埋込みフラグを使用して、復号器選択を起動することができる。フラグを使用することは、モードセレクタを使用することと同じであり、所定のおよび適応するように配置された分割の双方に対して動作するように、モードセレクタを設計することが可能である。
【0043】
図5は、非ゼロ周波数係数の高い確率を有する入力に対するエントロピー符号器のコードブックを生成するための、好ましい方法を示すフローチャートである。詳細には、従来技術の技法とは対照的に、図5は、可変長記号グループに対する可変長符号割当てを有するコードブックを作成することを図示している。(従来技術の技法は、入力の固定長符号または入力の固定長ブロックのいずれかを必要とする。)好ましい実施形態は、可変長Xシーケンスを符号化するのに可変長符号ワードを使用するエントロピーベースの可変−可変符号を提供することによって、大きい次元のベクトル符号化のリソース要件、および等長のワードへの符号化の非実用性を克服する。リソース要件は、固定最大コードブックサイズを設定することによって、任意に制限することができる。このコードブックは以下のように生成する。
【0044】
1<=j<=Niについて、入力ストリーム内で発生する確率Piを有する各ソース記号グループ{xj}をyiが表すものとして、各グループにLiビットを有する対応する符号ワードを割り当てるものとする。各xjは、所定サイズの固定英字から選び出すものと想定すると、目的は、方程式L=
【0045】
【数1】
【0046】
を最小化することである。
【0047】
この問題に対する一般的な解を見つけ出す代わりに、問題を2つの異なるタスクに分離する。第1タスクは、後述の経験的手法を介する入力記号{xi}のセットの(部分最適)グループの識別である。第2タスクは、グループ化された記号{yi}に対してエントロピー型符号を割り当てることである。ソースがコヒーレントではない(すなわち、入力が独立である、またはメモリが無い)場合、{Nj}という同一構成を有するどのグループも同一の符号化効率を達成することができることが知られていることに留意されたい。この状況では、第1タスクは、重要ではない。
【0048】
第1タスクを実行するため、{yi}={xi}などの、初期の単純記号グループ500が用意される。この初期構成は、例としてコードブックの作成を教えるために、入力ストリームが使用されることを想定している。コンピュータは、入力からの各記号の受信を追跡するために、データ構造などのソフトウェア構造体を使用してプログラムすることができるものと理解されたい。そのようなデータ構造は、2進型ツリー構造、ハッシュテーブル、またはこの2つの何らかの組合せとして実施することが可能である。他の等価の構造を使用することも可能である。
【0049】
単純グループを決定した後、各yiごとの生起確率を計算する(502)。そのような確率は、コードブック生成を教えるために使用される任意の例としての入力を考慮して決定される。さらなる記号が記号データ構造に追加された時、この確率は、動的に調整される。
【0050】
次に、最高確率のグループyi(ympと表す)を識別する(504)。最高確率の記号が、以前の低い確率であった記号のグループである場合(506)には、そのグループをそれを構成する記号に分割して(508)、ステップ502から処理を再開する。(記号は結合されるものの、記号を抽出することができるように、グループは、その中にあるすべての記号が記憶される。)
【0051】
その記号が1つのグループではない場合には、処理は、ステップ510において、最高確率のグループを単一記号拡張xiで試験的に拡張し続ける。好ましくは、ympは、英文字Xからの各記号で拡張する。ただし、英文字が非常に大きく、多くの拡張は確率が低いことが既知である場合、予測器を使用して、確率の高い拡張だけを含んだ拡張セットのみを生成することが可能である。例えば、そのような予測器は、意味構造上の意味または文脈的(前後関係の)意味に基づいて非常に確率の低い拡張を推測的に無視できる。
【0052】
次に、ympの各試験的拡張に関する確率を計算して(512)、最高確率の拡張だけを保持する(514)。より低い確率の拡張は、結合グループとして縮小してまとめ(516)、結合グループを示す特別記号(イベント)を付けて、コードブック内に記憶する。このワイルドカード記号は、ympをプレフィックスとして有する任意の記号グループを表すが、最高確率の拡張とは異なる拡張(サフィックス)が付いている。つまり、ymp+xmpが最高確率のルートおよび拡張である場合には、他のそれほど確率の高くない拡張は、ymp *、*≠xmpとして表される。(この議論は、明確にするために、単一記号拡張の逐次処理を想定しているが、複数の記号拡張の並列実行が考慮されていることに留意されたい。)
【0053】
単一の記号拡張を適用すること、および最高確率のグループだけを保持することは、論議を明確にするために課した制約であることが、当分野の技術者には理解されよう。議論は、逐次処理を中心的に扱うが、コードブック構成は、並列で行い得ることをさらに理解されたい。
【0054】
コードブック構成は、すべての可能な拡張が作成されるまで、またはコードブックエントリの数が所定の限界に達するまで、ステップ502〜516を繰り返す(518)ことによって完了する。つまり、現行のyiごとの確率の計算(502)、最高確率の拡張および最低確率の拡張をそれぞれ選択し(504)およびグループ化することを繰り返す。ここで、コードブックセット{Y}が、この時点でymp+xmpを含む。の操作を繰り返し適用することの効果は、高い相関を有する記号グループを自動的に集め、グループ間の相関が最小化されるようにすることである。これは、Lの分子を最小化し、他方、同時に、Lの分母が最大化されるように、最高確率のyiの長さを最大化する。
【0055】
図6〜13は、例としての英字{A,B,C}に対する、図5に準拠するコードブックの作成を図示する。この論議のため、コードブックは、例としての入力ストリーム「A A A B B A A C A B A B B A B」に対して定義される。前述のとおり、1つまたは複数の例としての入力を使用して、コードブックを生成することが可能であり、これが、次に、符号器および復号器によって使用されて、任意の入力を処理する。明確にするため、このコードブックは、ツリー構造として提示する。ただし、これは、実際には、リニアテーブル、ハッシュテーブル、データベースなどとして実施することが可能である。図示するとおり、ツリーは、左から右に向いており、そこで左列(例えば、「A」および「X0」)は、ツリー型構造の一番上の行を表し、順次、字下げされている行が、前の行のノードの「子」を表す(例えば、図7のトップダウンツリー内で、ノード「A」は、第2行の中間子ノード「B」に対する第1行の親ノードである。)。
【0056】
コードブックを用意する上で、一般的規則は、最高確率のリーフノードを選出し、それを拡張し、最高確率のリーフノードを決定するために確率を再計算し、次に、残りの兄弟ノードを単一Xnノード(n=0..N、ノードが結合されるたびに毎回、追跡する)に縮小することである。最高確率ノードがグループノードであると判明した場合には、そのグループを分割し、確率を再計算して、最高確率のメンバノードを保持する(すなわち、残りのグループメンバは、再グループ化する)。処理は、所定サイズを有するコードブックなど、ストップ状態に達するまで、循環する。
【0057】
図6は、入力ストリーム「A A A B B A A C A B A B B A B」に対する初期グループを図示している。この入力の初期構文解析は、A=8/15、B=6/15、C=1/15の生起確率を示す。この初期単純グループは、異なる基準に基づいて作成することが可能であり、その最も単純なものは、英字内の各文字に対する第1レベルノードを有する。ただし、入力英字が大きい場合、単純グループは、最高確率を有する記号の何らかのサブセットに制限することが可能であり、残りの記号はXグループに結合される。図6は、2つの初期グループだけで開始することによってこの技法を図示し、グループA 600は、確率8/15を有し、グループX0 602は、確率7/15を有し、ここで、X0は、英字内のすべての残りの低確率の記号、例えば、BおよびCを表す。
【0058】
初期単純グループを用意した後、最高確率を有するリーフノードを拡張のために選択する(処理シーケンスに関する図5の議論も参照)。したがって、図7で示すとおり、グループA 600は、英字内の各文字によって試験的に拡張される(または、初期グループの作成に関して述べたとおり、その何らかのサブセットにこの拡張を制限することも可能である)。次に、入力ストリーム「A A A B B A A C A B A B B A B」に関して確率を再計算して、試験的拡張A 606、B 608、およびC 610に対する値を決定する。この結果は、9つの構文解析グループであり、ここで「A A」は2/9出現し、「A B」は4/9出現し、「A C」は0/9出現する。したがって、最高確率の拡張「A B」を保持し、他の拡張をX1=A,Cに縮小する。この議論では、すべての確率を再計算するが、より効率的な手法は、ノード内の各ノードに対する確率と記号関連を保持して、必要となる情報だけを計算することである。
【0059】
図8は、図7のX1 612への縮小を示す。処理は、最高確率を有するノード、例えば、確率4/9のノードB 608の識別で繰り返す。
【0060】
図9に示すとおり、このノード608は、前述のとおり、記号A 614、B 616、C 618で試験的に拡張され、最高確率を有する試験的グループが保持される。確率を再計算した後、その結果は、8つの構文解析グループであり、そこでは、記号シーケンス「A B A」614が一度、出現し、「A B B」616が一度、出現し、「A B C」618は全く出現しない。試験的拡張A 614と試験的拡張B 616は、同一の生起確率を有するので、どちらの記号を保持するかを選択する規則を定義する必要がある。この議論の場合、等確率が存在するときはいつでも、一番高い行のノード(例えば、トップダウンツリー内の一番左の子ノード)が保持される。同様に、ツリーの行の間に競合が存在する場合、一番左の行のノード(例えば、トップダウンツリーのルートに一番近いノード)が保持される。
【0061】
したがって、図10に示すとおり、ノードA 614(図9)が保持され、ノードB 616とノードC 618が結合されて、1/8+0/8という結合確率を有するノードX2=B,C 620になる。ここで、次のステップは、入力ストリームに関して現行で最高確率を有するノードを拡張することである。図示するとおり、ノードX1=A,C 612とX0=B,C 602は、同一の生起確率(3/8)を有する。前述のとおり、ツリー内の最高ノード(X0 602)が拡張されるように、デフォルト規則が使用される。(整合的であることだけが必要であるが、より高いレベルのノードを拡張することが望ましい。というのは、そうすることが、長い符号ワードの数を増加させることによって、符号化効率を向上させ得るからである。)
【0062】
ただし、X0 602は、結合ノードであり、したがって、これは拡張するのではなく、分割しなければならない。図11は、ノードX0をその構成記号B 622とC 624に分割することの結果を図示している。確率を再計算することが、記号シーケンス「A B A」は1/8出現し、「A B X2」は1/8出現し、「A X1」は3/8出現し、「B」 422は2/8出現し、「C」は1/8出現することを示す。これは、分割オペレーションであるので、最高確率を有する分割ノード、例えば、ノードB 622が保持され、残りのノードは、再結合されてX0602に戻る。
【0063】
図12は、高確率ノードB 622を保持することの結果を示している。グループX0602は、この場合、単一記号「C」だけを表すことに留意されたい。確率を改訂した後、最高確率を有するノードを識別して、分割または拡張しなければならない。図示するとおり、記号シーケンス「A B A」は1/8出現し、「A B X2」は1/8出現し、「A X1」は3/8出現し、「B」は2/8出現し、「X0」は1/8出現する。したがって、ノードX1 612は、結合ノードであるので、分割しなければならない。
【0064】
分割は、前述のとおりの手順で行われて、図5に関連して前述したとおり、入力サイクルを処理する。ここで、停止状態に達するまで(例えば、コードブックが、最大サイズに達する)、最高確率ノードが、拡張または分割される。コードブックが停止状態に達すると、データを符号化して、通信チャネルを介して伝送することに利用することができる。
【0065】
図13は、コードブック生成の図5の方法を変更するために使用することができるしきい値格子を図示している。図3および4に関して述べたとおり、入力データのある部分を処理するように符号器を調整することができる場合、符号化はより効率的になる。詳細には、符号化方法が、相当な数の反復する値を生成することが知られている場合、エントロピーコーダをRLE型符号化と組み合わせて、反復する値を含んだデータについて符号化効率を高めることが可能である。
【0066】
図示する実施形態では、入力データの量子化では、入力データに対する周波数範囲のかなりの部分に対して、ゼロのスペクトル係数またはゼロに近いスペクトル係数を導入する。したがって、主に非ゼロのデータに対して使用される同一のエントロピーコーダを適用するというよりは、むしろ、(すなわち、図5の符号器とコードブック)、代わりにRLEベースのエントロピーコーダを使用する。
【0067】
RLEベースのエントロピー符号器のためのコードブックを構成するため、非ゼロのスペクトルサンプルの絶対値が整数セットLi={1,2,3...,Ln}を形成するものとし、ここでLnは、Lnに等しい、またはそれより大きい任意の値を表す。入力ストリーム内のゼロのスペクトルサンプルのランレングスが、別のセットRj={1,2,3...,Rm}を形成し、Rmが、Rmに等しい、またはそれより長い長さを有する任意のゼロの連続を表すものとする。この表記を使用して、(Ri,Li)として定義された入力記号のストリングを有する入力スペクトルを表すことができ、これは、Ri個のゼロのスペクトルサンプルに対応し、その後にLi(すなわち、エントロピー符号器を使用して符号化した記号)が続く。
【0068】
図5以下に関して述べたとおり、コードブックを構成する上での第1ステップは、すべての入力イベントの確率を集めることである。この場合、入力は、定義されたしきい値に対して調整され、したがって、確率は、すべての1<=i<=nかつ1<=j<=mについて、(Ri,Li)に対して決定される。これらの確率は、図13で、図示されており、そこでより暗い正方形(例えば、806、808)は、より高い確率を有するイベントに対応し、より明るい正方形(例えば、810、812)は、低い確率またはゼロに近い確率を有する。すべての高い確率の入力構成は、まとめて範囲800と呼び、すべての低い確率の構成は、範囲802と呼んでいる。すべての低い確率の組合せは、コードブックから除外する。確率しきい値804は、仕切りより下のすべての値がゼロにセットされてコードブックから除外されるように定義する。残りのしきい値を上回る構成には、その確率に反比例する長さを有するエントロピー型符号を割り当てる。量子化されたオーディオデータの場合、高い振幅の入力は、低い確率を有する。したがって、それらはしきい値を下回り、コードブックから除外される(ただし、それらはエスケープさせて、符号化済みビットストリーム内に入れることが可能である)。
【0069】
第2符号器を使用してエントロピー符号化出力をインターリーブするため、特別エントロピーコードブック符号をリザーブして、除外されたイベント(例えば、RLE符号化されたデータ)をマーク解除(demark)する。符号化時に、スペクトルサンプル(入力記号)を可能なイベントのリストと比較し、マッチ(対応)が見つかった場合(例えば、可変−可変符号器を使用している場合、コードブックを表すのに使用するツリー、テーブル、ハッシュ構造またはそれに相当するものの中で)、対応するエントロピー型符号が出力されて、その後に符号ビットが続く。
【0070】
マッチが見つからなかった場合、エスケープ符号が送信され、その後にイベントを識別するのに必要な情報、すなわち、データのRLE符号化に関する情報が続く。N個のゼロで終了する入力スペクトルの場合、明示的(特別)終了信号が必要とされるか、あるいは、復号器が、サンプルの総数を知っており、限界が越えられたとき、復号化を停止することができるので、(N,1)などの特別イベントで十分であるかのいずれかである。
【0071】
復号化のためには、しきい値格子は必要ない。というのは、この格子は、コードブックエントリを淘汰するのに使用するからである。本明細書で開示した復号化方法は、説明のとおり生成した図13のコードブックとともに使用することができる。
【0072】
図14は、図5により導出したコードブックの量子化されたデータに対する適用を介する、図2のエントロピー符号器208を実施するための一方法を示している。(可変−可変符号化方法は、一般的に、他の型のデータを符号化するのに適用可能であることに留意されたい。)図示するとおり、量子化されたデータは、図2のエントロピー符号器に対する入力として受信される900。この入力は、何らかの形式の離散信号またはデータパケットになっており、議論を単純にするため、すべての入力は、長いシリーズの離散記号であると想定されるものと理解する。受信された入力900は、図5のコードブック内で対応するコードブックキーを探し出すために走査する902。こうした走査は、データルックアップに対応し、コードブックを実施するのに、どのようにデータ構造が使用されるかに応じて、ルックアップの正確な方法は異なる。
【0073】
符号器のコードブックを記憶して、操作するのに利用可能な、様々な技法が存在することに留意されたい。例えば、可変−可変コードブックのための1つの構造は、記号グループがツリー構造の走査をガイドするN進(例えば、2進、3進など)ツリーの走査およびストレージである。ツリーのリーフノードに対するパスは、認識済みの記号シーケンスの終了を表し、そこでエントロピー型符号が、そのシーケンスと関連付けられる。(コードクックは、テーブルエントリが、入力シーケンス全体、例えば、ノードに対するパスを含んだテーブルとして実施できることに留意されたい。)ノードは、ソフトウェア内で、そのノードと関連付けられた1つまたは複数の記号、および対応するエントロピー型符号の関連906のストレージを可能にする構造、クラス定義、または他の構造として符号化することが可能である。
【0074】
または、RLE符号器の場合、そのコードブックは、永久ストレージ内に2次元格子として記憶することができ、データのリトリーブは、2つの指標を識別することによって実行される。したがって、ランレングスと特定の記号値の指定によって、テーブルエントリをリトリーブすることができる。復号化テーブルは、ハフマンツリーとして実施することが可能である。別のコードブック実施形態は、Rice−Golomb構造およびそれに相当するものを含む。
【0075】
明示的に図示していないが、図2に関連して述べたとおり、復号化は、符号化の逆操作として機能し、元の入力周波数係数900の近似を生成するために、符号化済みデータ908が復号化コードブック内でルックアップされる906。
【0076】
私の発明の原理を図示した実施形態との関連で説明し、図示してきたが、そのような原理を逸脱することなく、この図示した実施形態の構成および詳細を変更できることが理解されよう。したがって、頭記の特許請求の範囲およびそれに相当するものの範囲および趣旨内に入る得るすべてのそのような変更は、本発明として請求する。
【図面の簡単な説明】
【図1】 エントロピー符号モードスイッチングを使用する周波数領域オーディオ符号化および復号化を実施するのに使用することが可能なコンピュータシステムのブロック図である。
【図2】 周波数領域オーディオコーダ内でのオーディオデータの符号化および復号化を示すフローチャートである。
【図3】 オーディオに応じて分割された周波数範囲を図示する図である。
【図4】 エントロピー符号化モードスイッチングを使用するを図示する図である。
【図5】 可変長記号グループに対する可変長エントリを有するコードブックの作成を示すフローチャートである。
【図6】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図7】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図8】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図9】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図10】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図11】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図12】 英文字{A,B,C}に対する、図5に準ずるコードブックの作成を示す図である。
【図13】 反復するスペクトル係数を有するオーディオシーケンスを符号化するのに使用するスペクトルしきい値格子を図示する図である。
【図14】 図2のエントロピー符号器の実施を図示する図である。
Claims (26)
- オーディオ周波数係数のシーケンスを符号化する方法であって、
符号化方式の異なる複数のエントロピー符号器を用いてエントロピー符号化を行うために、オーディオ周波数係数のシーケンスの周波数領域範囲を、第1の周波数範囲が主としてゼロ以外の値の周波数係数を含み、第2の周波数範囲が主としてゼロの値の周波数係数を含むように、少なくとも第1の周波数範囲と第2の周波数範囲とに分割するステップと、
前記複数の異なるエントロピー符号器から、前記オーディオ周波数係数のシーケンスの符号化に使用すべきエントロピー符号器を選択するステップであって、前記第1および第2の周波数範囲の各々の周波数係数の符号化にそれぞれ使用すべき第1および第2のエントロピー符号器を選択するステップと、
前記第1のエントロピー符号器を用いて、前記オーディオ周波数係数のシーケンスのうちの前記第1の周波数範囲の周波数係数を符号化するステップと、
前記第2のエントロピー符号器を用いて、前記第1のエントロピー符号器によるエントロピー符号化処理とは異なるランレングスエントロピー符号化処理によって、前記オーディオ周波数係数のシーケンスのうちの前記第2の周波数範囲の周波数係数を符号化するステップと
を含むことを特徴とする方法。 - 前記分割するステップは、予め決定された分割境界を設定することを特徴とする請求項1に記載の方法。
- 前記分割するステップは、前記オーディオ周波数係数のシーケンスに適応的な分割境界を設定し、
前記分割境界を示すフラグを、符号化したオーディオ周波数係数のシーケンスのデータストリーム内に埋め込むステップをさらに含むことを特徴とする請求項1に記載の方法。 - 前記第1のエントロピー符号器は、可変長記号に可変長符号を割り当てる可変−可変エントロピー符号器を含むことを特徴とする請求項1乃至3のいずれかに記載の方法。
- 前記第2のエントロピー符号器による前記ランレングスエントロピー符号化処理は、
(a)前記第2の周波数範囲内においてゼロの値の係数が連続するランレングスと、
(b)前記第2の周波数範囲内において前記連続するゼロの値の係数に隣接したゼロ以外の値の係数のレベルと
の組み合わせを表す、エントロピー符号を使用することを含むことを特徴とする請求項1に記載の方法。 - 前記第2のエントロピー符号器による符号化処理は、コードブックを使用し、前記第2のエントロピー符号器を用いて符号化するステップは、前記コードブックから除外されたエスケープ符号のレベルの値、または前記コードブックから除外されたエスケープ符号のランレングスの値を符号化することを含むことを特徴とする請求項5に記載の方法。
- 前記ゼロ以外の値の係数の前記レベルに対するサインビットが、ビットストリーム内の前記エントロピー符号の後に続くことを特徴とする請求項5に記載の方法。
- 前記第2のエントロピー符号器による符号化処理は、コードブックを使用し、該コードブックは、高確率のランレベルの組み合わせの各々に対するエントロピー符号を含み、低確率のランレベルの組み合わせに対するエントロピー符号を除外していることを特徴とする請求項5に記載の方法。
- 請求項1乃至8のいずれかに記載の方法をコンピュータに実行させるためのコンピュータ実行可能命令を記録したことを特徴とするコンピュータ読み取り可能記憶媒体。
- オーディオ周波数係数のシーケンスを符号化するためのシステムであって、
符号化方式の異なる複数のエントロピー符号器を用いてエントロピー符号化を行うために、オーディオ周波数係数のシーケンスの周波数領域範囲を、第1の周波数範囲が主としてゼロ以外の値の周波数係数を含み、第2の周波数範囲が主としてゼロの値の周波数係数を含むように、少なくとも第1の周波数範囲と第2の周波数範囲とに分割するための手段と、
前記複数の異なるエントロピー符号器の間で前記オーディオ周波数係数のシーケンスの符号化に使用すべきエントロピー符号器を切り替えるためのモードセレクタであって、前記第1および第2の周波数範囲の各々の周波数係数の符号化にそれぞれ使用すべき第1および第2のエントロピー符号器を選択するモードセレクタと、
前記第1の周波数範囲の周波数係数を符号化する前記第1のエントロピー符号器と、
前記第1のエントロピー符号器によるエントロピー符号化処理とは異なるランレングスエントロピー符号化処理によって、前記第2の周波数範囲の周波数係数を符号化する前記第2のエントロピー符号器と
を備え、
前記第2のエントロピー符号器による前記ランレングスエントロピー符号化処理は、(a)前記第2の周波数範囲内においてゼロの値の係数が連続するランレングスと、(b)前記第2の周波数範囲内において前記連続するゼロの値の係数に隣接したゼロ以外の値の係数のレベルとの組み合わせを表す、エントロピー符号を使用することを特徴とするシステム。 - 符号化済みオーディオ周波数係数のシーケンスを復号化するための方法において、
符号化済みオーディオ周波数係数のシーケンスを受信するステップであって、前記符号化済みオーディオ周波数係数のシーケンスは、第1の周波数範囲が主としてゼロ以外の値の周波数係数を含み、第2の周波数範囲が主としてゼロの値の周波数係数を含むように、少なくとも第1の周波数範囲と第2の周波数範囲とに分割された周波数領域範囲を有し、各範囲の周波数係数が各々異なる符号化方式により符号化されている、ステップと、
前記複数の異なるエントロピー復号器のうちの第1のエントロピー復号器を用いて、前記符号化済みオーディオ周波数係数のシーケンスのうち前記第1の周波数範囲の周波数係数を復号化するステップと、
前記複数の異なるエントロピー復号器のうちの第2のエントロピー復号器を用いて、前記第1のエントロピー復号器によるエントロピー復号化処理とは異なるランレングスエントロピー復号化処理によって、前記符号化済みオーディオ周波数係数のシーケンスのうち前記第2の周波数範囲の周波数係数を復号化するステップと
を含むことを特徴とする方法。 - 前記第1の周波数範囲と前記第2の周波数範囲との間の分割境界は、予め決定されていることを特徴とする請求項11に記載の方法。
- 前記第1および第2の周波数範囲の各々の周波数係数の復号化に各々使用すべき第1または第2のエントロピー復号器は、復号化すべき周波数係数の周波数範囲に応じて自動的に決定されることを特徴とする請求項12に記載の方法。
- 前記第1の周波数範囲と前記第2の周波数範囲との間の分割境界は適応的であることを特徴とする請求項11に記載の方法。
- 前記第1および第2の周波数範囲の各々の周波数係数の復号化に各々使用すべき第1または第2のエントロピー復号器は、前記シーケンスのデータストリーム内のフラグに応じて決定されることを特徴とする請求項14に記載の方法。
- 前記第1のエントロピー復号器は、可変長符号に可変長記号を割り当てる可変−可変エントロピー復号器であることを特徴とする請求項11乃至15のいずれかに記載の方法。
- 前記受信するステップは、リアルタイムの再生のためのチャネルを介してストリーミングのパケットとして前記シーケンスを伝送するストリーミング伝送システムから前記シーケンスを受信することを含むことを特徴とする請求項11乃至16のいずれかに記載の方法。
- 前記第2のエントロピー復号器によるランレングスエントロピー復号化処理は、
(a)前記第2の周波数範囲内のゼロの値の係数が連続するランレングスと、
(b)前記第2の周波数範囲内において前記連続するゼロの値の係数の後に続くゼロ以外の値の係数のレベルと
の組み合わせを示す、エントロピー符号を復号化することを特徴とする請求項11に記載の方法。 - 前記第2のエントロピー復号器によるランレングスエントロピー復号化処理は、コードブックを使用し、当該第2のエントロピー復号器によるランレングスエントロピー復号化処理は、前記コードブックから除外されたエスケープ符号のレベル値を復号する処理を含むことを特徴とする請求項18に記載の方法。
- 前記ゼロ以外の値の係数の前記レベルに対するサインビットは、ビットストリームの中の前記エントロピー符号の後に続いていることを特徴とする請求項18に記載の方法。
- 前記第2のエントロピー復号器による復号化処理は、コードブックを使用し、当該コードブックは、複数の高確率のランレベルの結合の各々についてのエントロピー符号を含み、低確率のランレベルの結合についてのエントロピー符号を除外していることを特徴とする請求項18に記載の方法。
- 請求項1乃至21のいずれかに記載の方法をコンピュータに実行させるためのコンピュータ実行可能命令を格納したことを特徴とするコンピュータ読み取り可能記憶媒体。
- 符号化済みオーディオ周波数係数のシーケンスを復号化するためのシステムであって、
第1の周波数範囲が主としてゼロ以外の値の周波数係数を含み、第2の周波数範囲が主としてゼロの値の周波数係数を含むように少なくとも第1の周波数範囲と第2の周波数範囲とに分割された周波数領域範囲を有し、各範囲の周波数係数が各々異なる符号化方式により符号化された、符号化済みオーディオ周波数係数のシーケンスを受信するオーディオデータ受信手段と、
前記複数の異なるエントロピー復号器の間で、前記符号化済みオーディオ周波数係数のシーケンスの復号化に使用すべきエントロピー復号器を切り替えるためのモードスイッチャと、
前記符号化済みオーディオ周波数係数のシーケンスのうち前記第1の周波数範囲の周波数係数を復号化する第1のエントロピー復号器と、
前記符号化済みオーディオ周波数係数のシーケンスのうち前記第2の周波数範囲の周波数係数を、前記第1のエントロピー復号器によるエントロピー復号化処理とは異なるランレングスエントロピー復号化処理により復号化する第2のエントロピー復号器と
を備えたことを特徴とするシステム。 - 前記第1の周波数範囲と前記第2の周波数範囲との間の分割境界は予め決定されており、前記第1および第2の周波数範囲の各々の周波数係数の復号化に各々使用すべき第1または第2のエントロピー復号器は、復号化すべき周波数係数の周波数範囲に応じて自動的に決定されることを特徴とする請求項23に記載のシステム。
- 前記第1の周波数範囲と前記第2の周波数範囲との間の分割境界は適応的であり、前記第1および第2の周波数範囲の各々の周波数係数の復号化に各々使用すべき第1または第2のエントロピー復号器は、前記シーケンスのデータストリームの中のフラグに応じて決定されることを特徴とする請求項23に記載のシステム。
- 前記第2のエントロピー復号器によるランレングスエントロピー復号化処理は、
(a)前記第2の周波数範囲内のゼロの値の係数が連続するランレングスと、
(b)前記第2の周波数範囲内において前記連続するゼロの値の係数の後に続くゼロ以外の値の係数のレベルと
の組み合わせを示す、エントロピー符号を復号化する処理を含むことを特徴とする請求項23に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/211,531 US6300888B1 (en) | 1998-12-14 | 1998-12-14 | Entrophy code mode switching for frequency-domain audio coding |
US09/211,531 | 1998-12-14 | ||
PCT/US1999/029109 WO2000036754A1 (en) | 1998-12-14 | 1999-12-07 | Entropy code mode switching for frequency-domain audio coding |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002532765A JP2002532765A (ja) | 2002-10-02 |
JP2002532765A5 JP2002532765A5 (ja) | 2007-02-08 |
JP4786796B2 true JP4786796B2 (ja) | 2011-10-05 |
Family
ID=22787314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000588902A Expired - Lifetime JP4786796B2 (ja) | 1998-12-14 | 1999-12-07 | 周波数領域オーディオ符号化のためのエントロピー符号モード切替え |
Country Status (6)
Country | Link |
---|---|
US (1) | US6300888B1 (ja) |
EP (3) | EP1330039B1 (ja) |
JP (1) | JP4786796B2 (ja) |
AT (2) | ATE359624T1 (ja) |
DE (2) | DE69907267T2 (ja) |
WO (1) | WO2000036754A1 (ja) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215910B1 (en) * | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6377930B1 (en) * | 1998-12-14 | 2002-04-23 | Microsoft Corporation | Variable to variable length entropy encoding |
DE19907964C1 (de) * | 1999-02-24 | 2000-08-10 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Erzeugen eines verschlüsselten Datenstroms und Vorrichtung und Verfahren zum Erzeugen eines entschlüsselten Audio- und/oder Videosignals |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
EP1069691A1 (en) * | 1999-06-15 | 2001-01-17 | STMicroelectronics S.r.l. | Decoding method for a Huffman code |
WO2001006455A1 (en) * | 1999-07-15 | 2001-01-25 | Koninklijke Philips Electronics N.V. | Embedding auxiliary data in an information signal |
US8464302B1 (en) | 1999-08-03 | 2013-06-11 | Videoshare, Llc | Method and system for sharing video with advertisements over a network |
JP3804902B2 (ja) * | 1999-09-27 | 2006-08-02 | パイオニア株式会社 | 量子化誤差補正方法及び装置並びにオーディオ情報復号方法及び装置 |
DE19947877C2 (de) * | 1999-10-05 | 2001-09-13 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Einbringen von Informationen in einen Datenstrom sowie Verfahren und Vorrichtung zum Codieren eines Audiosignals |
US20010047473A1 (en) | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
AU2001245575A1 (en) | 2000-03-09 | 2001-09-17 | Videoshare, Inc. | Sharing a streaming video |
US6501397B1 (en) * | 2000-05-25 | 2002-12-31 | Koninklijke Philips Electronics N.V. | Bit-plane dependent signal compression |
US6678648B1 (en) | 2000-06-14 | 2004-01-13 | Intervideo, Inc. | Fast loop iteration and bitstream formatting method for MPEG audio encoding |
US6542863B1 (en) | 2000-06-14 | 2003-04-01 | Intervideo, Inc. | Fast codebook search method for MPEG audio encoding |
US6601032B1 (en) * | 2000-06-14 | 2003-07-29 | Intervideo, Inc. | Fast code length search method for MPEG audio encoding |
US6718507B1 (en) * | 2000-09-12 | 2004-04-06 | At&T Corp. | System and method for representing compressed information |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
GB0108080D0 (en) * | 2001-03-30 | 2001-05-23 | Univ Bath | Audio compression |
AUPR433901A0 (en) * | 2001-04-10 | 2001-05-17 | Lake Technology Limited | High frequency signal construction method |
US7076108B2 (en) * | 2001-12-11 | 2006-07-11 | Gen Dow Huang | Apparatus and method for image/video compression using discrete wavelet transform |
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 |
US7240001B2 (en) * | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
FR2834162A1 (fr) * | 2001-12-20 | 2003-06-27 | Koninkl Philips Electronics Nv | Systeme de communication de donnees selon un principe de commutation par paquets |
US7447631B2 (en) * | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
US7016547B1 (en) * | 2002-06-28 | 2006-03-21 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
ATE543179T1 (de) | 2002-09-04 | 2012-02-15 | Microsoft Corp | Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus |
US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
JP4728568B2 (ja) * | 2002-09-04 | 2011-07-20 | マイクロソフト コーポレーション | レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化 |
US9711153B2 (en) | 2002-09-27 | 2017-07-18 | The Nielsen Company (Us), Llc | Activating functions in processing devices using encoded audio and detecting audio signatures |
US8959016B2 (en) | 2002-09-27 | 2015-02-17 | The Nielsen Company (Us), Llc | Activating functions in processing devices using start codes embedded in audio |
US20050004793A1 (en) * | 2003-07-03 | 2005-01-06 | Pasi Ojala | Signal adaptation for higher band coding in a codec utilizing band split coding |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7688894B2 (en) * | 2003-09-07 | 2010-03-30 | Microsoft Corporation | Scan patterns for interlaced video content |
US7782954B2 (en) * | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
PL1706866T3 (pl) * | 2004-01-20 | 2008-10-31 | Dolby Laboratories Licensing Corp | Kodowanie dźwięku w oparciu o grupowanie bloków |
US7596486B2 (en) * | 2004-05-19 | 2009-09-29 | Nokia Corporation | Encoding an audio signal using different audio coder modes |
US6987468B1 (en) * | 2004-10-29 | 2006-01-17 | Microsoft Corporation | Lossless adaptive encoding and decoding of integer data |
US20060176953A1 (en) * | 2005-02-04 | 2006-08-10 | Nader Mohsenian | Method and system for video encoding with rate control |
US7895012B2 (en) | 2005-05-03 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Systems and methods for organizing and storing data |
US7411528B2 (en) * | 2005-07-11 | 2008-08-12 | Lg Electronics Co., Ltd. | Apparatus and method of processing an audio signal |
US7684981B2 (en) | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
US7599840B2 (en) | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
US7693709B2 (en) * | 2005-07-15 | 2010-04-06 | Microsoft Corporation | Reordering coefficients for waveform coding or decoding |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
US7565018B2 (en) | 2005-08-12 | 2009-07-21 | Microsoft Corporation | Adaptive coding and decoding of wide-range coefficients |
US7933337B2 (en) | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
US8068569B2 (en) | 2005-10-05 | 2011-11-29 | Lg Electronics, Inc. | Method and apparatus for signal processing and encoding and decoding |
WO2007040361A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7460032B2 (en) * | 2005-10-27 | 2008-12-02 | Evault, Inc. | Methods and apparatus for performing adaptive compression |
JP4548348B2 (ja) * | 2006-01-18 | 2010-09-22 | カシオ計算機株式会社 | 音声符号化装置及び音声符号化方法 |
JP2009524101A (ja) * | 2006-01-18 | 2009-06-25 | エルジー エレクトロニクス インコーポレイティド | 符号化/復号化装置及び方法 |
US7831434B2 (en) | 2006-01-20 | 2010-11-09 | Microsoft Corporation | Complex-transform channel coding with extended-band frequency coding |
US7586425B2 (en) * | 2006-07-11 | 2009-09-08 | Nokia Corporation | Scalable video coding and decoding |
US7953595B2 (en) | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
US7966175B2 (en) * | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
US8184710B2 (en) | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
US7501964B2 (en) * | 2007-04-16 | 2009-03-10 | Texas Instruments Incorporated | Entropy coding for digital codecs |
KR100889750B1 (ko) * | 2007-05-17 | 2009-03-24 | 한국전자통신연구원 | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
US7885819B2 (en) | 2007-06-29 | 2011-02-08 | Microsoft Corporation | Bitstream syntax for multi-process audio decoding |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
KR101425354B1 (ko) * | 2007-08-28 | 2014-08-06 | 삼성전자주식회사 | 오디오 신호의 연속 정현파 신호를 인코딩하는 방법 및장치와 디코딩 방법 및 장치 |
US8972247B2 (en) * | 2007-12-26 | 2015-03-03 | Marvell World Trade Ltd. | Selection of speech encoding scheme in wireless communication terminals |
KR101449434B1 (ko) | 2008-03-04 | 2014-10-13 | 삼성전자주식회사 | 복수의 가변장 부호 테이블을 이용한 멀티 채널 오디오를부호화/복호화하는 방법 및 장치 |
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 |
US8380523B2 (en) * | 2008-07-07 | 2013-02-19 | Lg Electronics Inc. | Method and an apparatus for processing an audio signal |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
US8121830B2 (en) * | 2008-10-24 | 2012-02-21 | The Nielsen Company (Us), Llc | Methods and apparatus to extract data encoded in media content |
WO2010047566A2 (en) * | 2008-10-24 | 2010-04-29 | Lg Electronics Inc. | An apparatus for processing an audio signal and method thereof |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8359205B2 (en) | 2008-10-24 | 2013-01-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8508357B2 (en) | 2008-11-26 | 2013-08-13 | The Nielsen Company (Us), Llc | Methods and apparatus to encode and decode audio for shopper location and advertisement presentation tracking |
EP2425563A1 (en) | 2009-05-01 | 2012-03-07 | The Nielsen Company (US), LLC | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
KR20120009618A (ko) | 2010-07-19 | 2012-02-02 | 에스케이 텔레콤주식회사 | 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치 |
RU2712814C2 (ru) | 2013-04-05 | 2020-01-31 | Долби Лабораторис Лайсэнзин Корпорейшн | Система компандирования и способ для снижения шума квантования с использованием усовершенствованного спектрального расширения |
US10270590B2 (en) * | 2013-12-16 | 2019-04-23 | Mcafee, Llc | Process efficient preprocessing for any encryption standard |
GB2539239B (en) * | 2015-06-10 | 2017-10-04 | Gurulogic Microsystems Oy | Encoders, decoders and methods utilizing mode symbols |
US20180336469A1 (en) * | 2017-05-18 | 2018-11-22 | Qualcomm Incorporated | Sigma-delta position derivative networks |
US10475456B1 (en) * | 2018-06-04 | 2019-11-12 | Qualcomm Incorporated | Smart coding mode switching in audio rate adaptation |
JP2022523564A (ja) | 2019-03-04 | 2022-04-25 | アイオーカレンツ, インコーポレイテッド | 機械学習を使用するデータ圧縮および通信 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07273658A (ja) * | 1994-04-01 | 1995-10-20 | Sony Corp | 信号符号化方法及び装置、信号記録媒体、並びに信号復号化方法及び装置 |
JPH08190764A (ja) * | 1995-01-05 | 1996-07-23 | Sony Corp | ディジタル信号処理方法、ディジタル信号処理装置及び記録媒体 |
JPH1141573A (ja) * | 1997-07-23 | 1999-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 情報多重化方法、情報抽出方法及びそれらの装置 |
JP2001500640A (ja) * | 1997-07-14 | 2001-01-16 | フラオホッフェル−ゲゼルシャフト ツル フェルデルング デル アンゲヴァンドテン フォルシュング エー.ヴェー. | オーディオ信号の符号化方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6036153B2 (ja) * | 1976-10-22 | 1985-08-19 | 日本電気株式会社 | 予測符号化装置 |
JPS61107818A (ja) * | 1984-10-30 | 1986-05-26 | Nec Corp | エントロピ−符号化方式とその装置 |
JPH0821863B2 (ja) | 1985-04-13 | 1996-03-04 | キヤノン株式会社 | データ処理方法 |
JPS62247626A (ja) | 1986-04-19 | 1987-10-28 | Fuji Photo Film Co Ltd | 符号化方法 |
US4862167A (en) | 1987-02-24 | 1989-08-29 | Hayes Microcomputer Products, Inc. | Adaptive data compression method and apparatus |
US5742735A (en) | 1987-10-06 | 1998-04-21 | Fraunhofer Gesellschaft Zur Forderung Der Angewanten Forschung E.V. | Digital adaptive transformation coding method |
US5003307A (en) | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
US5479562A (en) | 1989-01-27 | 1995-12-26 | Dolby Laboratories Licensing Corporation | Method and apparatus for encoding and decoding audio information |
DE3943881B4 (de) | 1989-04-17 | 2008-07-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Digitales Codierverfahren |
US5227789A (en) | 1991-09-30 | 1993-07-13 | Eastman Kodak Company | Modified huffman encode/decode system with simplified decoding for imaging systems |
JP3134424B2 (ja) | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
US5227788A (en) | 1992-03-02 | 1993-07-13 | At&T Bell Laboratories | Method and apparatus for two-component signal compression |
US5467087A (en) * | 1992-12-18 | 1995-11-14 | Apple Computer, Inc. | High speed lossless data compression system |
US5400075A (en) | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
JP3210996B2 (ja) | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
US5550541A (en) | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
US5535311A (en) * | 1994-07-28 | 1996-07-09 | Hewlett-Packard Company | Method and apparatus for image-type determination to enable choice of an optimum data compression procedure |
US5552832A (en) | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
US5884269A (en) | 1995-04-17 | 1999-03-16 | Merging Technologies | Lossless compression/decompression of digital audio data |
US5825830A (en) | 1995-08-17 | 1998-10-20 | Kopf; David A. | Method and apparatus for the compression of audio, video or other data |
JP2976860B2 (ja) * | 1995-09-13 | 1999-11-10 | 松下電器産業株式会社 | 再生装置 |
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 |
US5926791A (en) * | 1995-10-26 | 1999-07-20 | Sony Corporation | Recursively splitting the low-frequency band with successively fewer filter taps in methods and apparatuses for sub-band encoding, decoding, and encoding and decoding |
US5831559A (en) | 1996-01-24 | 1998-11-03 | Intel Corporation | Encoding/decoding video signals using multiple run-val mapping tables |
JP3267142B2 (ja) | 1996-02-23 | 2002-03-18 | ケイディーディーアイ株式会社 | 可変長符号生成装置 |
US5790706A (en) * | 1996-07-03 | 1998-08-04 | Motorola, Inc. | Method and apparatus for scanning of transform coefficients |
DE19637522A1 (de) | 1996-09-13 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Reduzierung von Daten in Videosignalen |
US5959560A (en) | 1997-02-07 | 1999-09-28 | Said; Amir | Data compression via alphabet partitioning and group partitioning |
US5999949A (en) | 1997-03-14 | 1999-12-07 | Crandall; Gary E. | Text file compression system utilizing word terminators |
US5946043A (en) | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6223162B1 (en) * | 1998-12-14 | 2001-04-24 | Microsoft Corporation | Multi-level run length coding for frequency-domain audio coding |
-
1998
- 1998-12-14 US US09/211,531 patent/US6300888B1/en not_active Expired - Lifetime
-
1999
- 1999-12-07 AT AT03009177T patent/ATE359624T1/de not_active IP Right Cessation
- 1999-12-07 AT AT99966063T patent/ATE238632T1/de not_active IP Right Cessation
- 1999-12-07 EP EP03009178.9A patent/EP1330039B1/en not_active Expired - Lifetime
- 1999-12-07 JP JP2000588902A patent/JP4786796B2/ja not_active Expired - Lifetime
- 1999-12-07 DE DE69907267T patent/DE69907267T2/de not_active Expired - Lifetime
- 1999-12-07 DE DE69935811T patent/DE69935811T3/de not_active Expired - Lifetime
- 1999-12-07 EP EP99966063A patent/EP1142130B1/en not_active Expired - Lifetime
- 1999-12-07 EP EP03009177A patent/EP1330038B2/en not_active Expired - Lifetime
- 1999-12-07 WO PCT/US1999/029109 patent/WO2000036754A1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07273658A (ja) * | 1994-04-01 | 1995-10-20 | Sony Corp | 信号符号化方法及び装置、信号記録媒体、並びに信号復号化方法及び装置 |
JPH08190764A (ja) * | 1995-01-05 | 1996-07-23 | Sony Corp | ディジタル信号処理方法、ディジタル信号処理装置及び記録媒体 |
JP2001500640A (ja) * | 1997-07-14 | 2001-01-16 | フラオホッフェル−ゲゼルシャフト ツル フェルデルング デル アンゲヴァンドテン フォルシュング エー.ヴェー. | オーディオ信号の符号化方法 |
JPH1141573A (ja) * | 1997-07-23 | 1999-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 情報多重化方法、情報抽出方法及びそれらの装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1330039B1 (en) | 2013-04-10 |
JP2002532765A (ja) | 2002-10-02 |
EP1330038B2 (en) | 2012-06-13 |
EP1142130A1 (en) | 2001-10-10 |
EP1330039A1 (en) | 2003-07-23 |
ATE238632T1 (de) | 2003-05-15 |
EP1330038A1 (en) | 2003-07-23 |
DE69907267D1 (de) | 2003-05-28 |
EP1142130B1 (en) | 2003-04-23 |
DE69907267T2 (de) | 2003-11-06 |
DE69935811T3 (de) | 2012-08-16 |
EP1330038B1 (en) | 2007-04-11 |
DE69935811T2 (de) | 2007-08-16 |
US6300888B1 (en) | 2001-10-09 |
ATE359624T1 (de) | 2007-05-15 |
WO2000036754A1 (en) | 2000-06-22 |
DE69935811D1 (de) | 2007-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4786796B2 (ja) | 周波数領域オーディオ符号化のためのエントロピー符号モード切替え | |
JP4559632B2 (ja) | 可変長対可変長エントロピー符号化 | |
US6223162B1 (en) | Multi-level run length coding for frequency-domain audio coding | |
US9390720B2 (en) | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes | |
US7433824B2 (en) | Entropy coding by adapting coding between level and run-length/level modes | |
US7680670B2 (en) | Dimensional vector and variable resolution quantization | |
JP4559631B2 (ja) | 可変長から可変長へのエントロピー符号化のためのコードブック構成 | |
JP5688861B2 (ja) | レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化 | |
JP4779098B2 (ja) | 可変サイズベクトルエントロピ符号化を実行するための方法および装置 | |
JP3353868B2 (ja) | 音響信号変換符号化方法および復号化方法 | |
WO2001010036A1 (en) | Memory efficient variable-length encoding/decoding system | |
KR101381602B1 (ko) | 계층적 부호화 및 복호화 방법 및 장치 | |
WO1997016818A1 (en) | Method and system for compressing a speech signal using waveform approximation | |
Shoham | Variable-size vector entropy coding of speech and audio | |
JP2005283692A (ja) | オーディオ信号圧縮方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061207 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061207 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090904 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091203 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091210 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091224 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100106 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100304 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100421 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7431 Effective date: 20100714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101119 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110221 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110322 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110329 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110419 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110519 |
|
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: 20110708 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110714 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4786796 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
EXPY | Cancellation because of completion of term |