JP5606433B2 - オーディオエンコーダ及びオーディオデコーダ - Google Patents

オーディオエンコーダ及びオーディオデコーダ Download PDF

Info

Publication number
JP5606433B2
JP5606433B2 JP2011516973A JP2011516973A JP5606433B2 JP 5606433 B2 JP5606433 B2 JP 5606433B2 JP 2011516973 A JP2011516973 A JP 2011516973A JP 2011516973 A JP2011516973 A JP 2011516973A JP 5606433 B2 JP5606433 B2 JP 5606433B2
Authority
JP
Japan
Prior art keywords
segment
current
context
coefficients
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011516973A
Other languages
English (en)
Other versions
JP2011527443A (ja
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 JP2011527443A publication Critical patent/JP2011527443A/ja
Application granted granted Critical
Publication of JP5606433B2 publication Critical patent/JP5606433B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • 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
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

本発明は、オーディオ符号化の分野に属し、特にコンテキスト準拠(context base)のエントロピー符号化の分野に属する。
伝統的なオーディオ符号化の考え方は、冗長度を減らすためのエントロピー符号化の仕組みを含んでいる。典型的には、エントロピー符号化は、周波数ドメイン準拠の符号化の仕組みにおいて量子化されたスペクトル係数(spectral coefficient)に適用され、又は時間ドメイン準拠の符号化の仕組みにおいて量子化された時間ドメインサンプルに適用される。これらのエントロピー符号化の仕組みは、典型的には、コードワード(codeword)を相応の符号帳(codebook)インデックスと組み合わせて送信することを利用する。符号帳インデックスは、デコーダが特定の符号帳ページを参照して、当該ページの送信されたコードワードに対応するエンコード済みの情報ワードをデコードすることを可能にする。しかしながら、いくつかの符号化の仕組みにおいては、例えばMeine及びEdlerの「Improved Quantization and Lossless Coding for Subband Audio Coding」及びMeineの「Vektorquantisierung und kontextabhangige arithmetische Codierung fur MPEG-4 AAC」、Dissertation、Gottfried Wilhelm Leibnitz Universitat Hannover、Hanover 2007に記載のように、例えばエントロピー符号化されたシンボルのコンテキストから符号帳インデックスを割り出すことができる場合など、符号帳インデックスの送信が必須ではない場合もある。
周波数ドメイン準拠又はスペクトルドメイン準拠のオーディオ符号化においては、コンテキストは、シンボル又は統計的特性を、例えば時間及び/又は周波数において先行する量子化されたスペクトル係数として記述することができる。従来からの考え方の一部においては、これらのシンボルはエンコーダ側及びデコーダ側の両方で入手可能であり、これらのシンボルに基づいて、符号帳又はコンテキストをエンコーダ側及びデコーダ側の両方で同期して割り出すことが可能である。
図9はコンテキスト及びその依存性の例を示している。図9は時間−周波数平面を示しており、多数のシンボルが示されている。シンボルSn,mは、時刻n及び周波数mにおけるシンボルを示している。図9は、特定のシンボルをエンコードするために、そのシンボルのコンテキストが、該当の符号帳を決定するために使用されることを示している。例えば、シンボルSn0,m0については、これは
n<n0かつmが任意、又はn=n0かつm<m0
であるすべてのシンボルであろう。
実際の実施においては、コンテキストは無限ではなく、限られている。図9に示した例では、シンボルS0,3のコンテキストは、
0,2、S0,1、S-1,5、S-1,4、S-1,3、S-1,2、S-1,1、S-2,5、S-2,4、S-2,3、S-2,2、S-2,1
となりうる。
周波数準拠のオーディオ符号化においては、例えばEdler, B.の「Codierung von Audiosignalen mit uberlappender Transformation und adaptiven Fensterfunktionen」、Frequenz、Ausgabe 43、September 1989に記載されているように、時間変化する信号適応フィルタバンク又はいわゆるブロック変換を使用することができる。
換言すると、これらのオーディオ符号化の考え方において、周波数分解能/時間分解能の変化が時間につれて生じうる。一般的なオーディオ符号化の考え方は、いわゆるAAC(AAC=Advanced Audio Coding)であり、その場合には、2つのブロック長が使用され、例えば256個又は2048個のウインドウ時間ドメインサンプルの周波数成分を表わす128個又は1024個の変換済み係数がそれぞれエンコードされる。
これらの考え方は、例えば過渡の発生もしくは調性などの特定の信号特性に応じて、又は信号がミュージック状もしくはスピーチ状などのいずれであるかに応じて、異なる分解能の間の切り替えを行うことを可能にする。例えば異なる種類のAACブロックの間の切り替えなど、異なる時間分解能/周波数分解能の間の切り替えの場合に、コンテキストは一貫していない。従来からの考え方又は技術水準にある実施例は、コンテキストのリセットを利用することができ、すなわち基本的には、利用できるコンテキストがなく、コンテキストがゼロから築き上げられる状態へと切り換えが行われる。この手法は、例えばAACにおいては、列に少なくとも2つの長いブロック又は8つの短いブロックが保証され、切り替えがまれにしか生じないと想定できるため、充分に上手く機能することができる。
しかしながら、コンテキストをリセットする従来からの考え方は、一般に、コンテキストがリセットされるたびに、その後の符号帳の選択が未知のコンテキストのための代替案として設計された値に基づくことになるため、符号化効率に関して最適ではない。結果として、一般的に、最適でない符号帳が選択される。符号化効率における欠点は、切り替えがまれにしか生じない場合には、無視できるかもしれない。しかしながら、より頻繁に切り替えが生じる筋書きにおいては、符号化効率が大きく損なわれる結果となる。一方で、より頻繁な切り替えは、より低いデータレート/サンプリングレートにおいて強く望まれる。なぜならば、そのような場合に特に、変換長を信号特性に最適に適応させることが所望されるからである。他方、デコーディング効率は、切り替えが頻繁である場合に大きく低下する。
本発明の目的は、オーディオ符号化における異なる変換長の間の切り替えのための考え方であって、符号化効率の改善をもたらす考え方を提供することにある。
この目的は、請求項1に記載のオーディオエンコーダ、請求項8に記載のオーディオエンコーディングのための方法、請求項9に記載のオーディオデコーダ、及び請求項16に記載のオーディオデコーディングのための方法によって達成される。
本発明は、例えばコンテキスト準拠のエントロピー符号化など、異なる時間分解能/周波数分解能へと適用できるコンテキスト準拠の符号化において、時間分解能/周波数分解能が時間とともに変化する場合に、コンテキストの写像の機構を使用することができ、それによって符号化効率の改善が達成できるという発見に基づいている。異なる時間分解能又は周波数分解能の間の切り替え時に、新たな分解能を有する係数のためのコンテキストは古い分解能を有する係数から導出することができるということが、本発明の1つの発見である。例えば、オーディオ符号化において時間分解能/周波数分解能が切り替えられるときに、内挿、外挿、サブサンプリング、ダウンサンプリング、アップサンプリングなどをコンテキストの適応及び/又は導出に使用することができるということが、本発明の1つの発見である。
本発明の実施の形態は、古い分解能に関する保存済みのコンテキストの周波数又はスペクトルの係数を、現在のコンテキスト又は現在のフレームの周波数分解能へと写像するマッピング方法を提供する。換言すると、以前のコンテキスト情報を、符号帳の決定、すなわち新たなコンテキスト情報の導出に使用することができる。これにより、いくつかの実施の形態は、ブロック長のより頻繁な切り替えを可能にでき、したがって符号化効率を損なうことなく信号特性へのより良好な適応を可能にすることができる。
本発明の実施の形態を、添付の図面を使用して詳述する。
オーディオエンコーダの実施の形態を示している。 オーディオデコーダの実施の形態を示している。 コンテキストのアップサンプリングのための実施の形態を示している。 コンテキストのダウンサンプリングのための実施の形態を示している。 時間及び周波数分解能を切り替えるオーディオを示している。 一実施の形態を示している。 エンコーディング方法の実施の形態のフロー図を示している。 一実施の形態の全体的なコンテキスト更新手順を示している。 分解能の変化における一実施の形態のコンテキスト更新手順を示している。 デコーディング方法の実施の形態のフロー図を示している。 技術水準の時間周波数符号化の仕組みを示している。
図1は、サンプリングされたオーディオ信号の異なる時間分解能又は周波数分解能を表わしている係数のセグメントをエンコードするためのオーディオエンコーダ100の実施の形態を示している。オーディオエンコーダ100は、現在のセグメントの今回エンコードされる係数のための符号化コンテキスト(coding context)を、今回エンコードされる係数とは異なる時間分解能又は周波数分解能を表わしている以前のセグメントの以前にエンコードされた係数に基づいて導出するためのプロセッサ110を備えている。このオーディオエンコーダの実施の形態は、符号化コンテキストに基づいて現在の係数をエントロピーエンコーディングしてエンコード済みのオーディオストリームを得るためのエントロピーエンコーダ120をさらに備えている。
いくつかの実施の形態において、その係数は、オーディオサンプル、量子化されたオーディオサンプル、スペクトルもしくは周波数の係数、スケーリングされた係数、変換もしくはフィルタ処理された係数、又はこれらの任意の組み合わせなどに相当することができる。
いくつかの実施の形態において、オーディオエンコーダ100は、オーディオストリームから係数(係数が異なれば異なるスペクトル分解能でオーディオ信号のスペクトル表現を形成する係数)のセグメントをもたらすための手段をさらに備えることができる。そのセグメントをもたらすための手段は、異なる時間ドメインウインドウ長又は異なるオーディオフレーム(すなわち、帯域幅当たりの長さ又は係数の数が異なり、すなわちスペクトル分解能又は周波数分解能が異なるオーディオフレーム)に基づいてセグメントを判断するように構成することができる。セグメントをもたらすための手段は、1024個及び128個の時間係数、周波数係数又はスペクトル係数からなるセグメントを割り出すように構成することができる。
プロセッサ110は、いくつかの実施の形態においては、現在及び以前の係数又はセグメントの周波数ドメイン表現又はスペクトルドメイン表現に基づいて、符号化コンテキストを導出するように構成することができる。換言すると、いくつかの実施の形態においては、連続するセグメントは、異なる時間ドメイン及び/又は周波数ドメインもしくはスペクトルドメインで表現することができる。プロセッサ110は、現在のセグメントの周波数帯又はスペクトル帯ごとの符号化コンテキストを、例えば以前のセグメント及び/又は現在のセグメントの隣接するスペクトル係数に基づいて導出するように構成することができる。いくつかの実施の形態においては、それらのセグメントは、例えば入力オーディオストリームにウインドウを適用することによって、時間ドメインにおいて最初に決定することができる。これらの時間ドメインのセグメント又は係数に基づいて、周波数ドメイン又はスペクトルドメインのセグメント又は係数を、変換によって決定することができる。それらのセグメントは、周波数ドメイン又はスペクトルドメインにおいて、周波数帯又はスペクトル帯ごとのエネルギーにより、振幅及び位相により、振幅及び符号により、その他などにより表わすことができ、すなわちそれらのセグメントは、異なる周波数帯又はスペクトル帯に分割することができる。したがって、プロセッサ110は、いくつかの実施の形態においては、周波数帯又はスペクトル帯ごとに符号化コンテキストを導出することができる。
プロセッサ110及びエントロピーエンコーダ120は、コンテキストに属する以前のセグメントが現在のセグメントよりも細かいスペクトル又は周波数の分解能を有している場合に、以前のセグメントの周波数又はスペクトルの係数のダウンサンプリングに基づいて動作するように構成することができる。いくつかの実施の形態においては、プロセッサ110及びエントロピーエンコーダ120は、コンテキストの以前のセグメントが現在のセグメントよりも粗いスペクトル又は周波数の分解能を有している場合に、以前のセグメントの周波数又はスペクトルの係数のアップサンプリングに基づいて動作するように構成することができる。
いくつかの実施の形態は、サンプリングされたオーディオ信号の異なる時間分解能又は周波数分解能を表わしている係数のセグメントをエンコードするための方法を提供することができる。この方法は、以前のセグメントからの以前にエンコードされた係数又は以前の係数に基づき、さらに随意により今回エンコードされた係数又は現在の係数に基づき、現在のセグメントの今回エンコードされる係数又は現在の係数のための符号化コンテキストを導出するステップを含むことができ、ここで以前にエンコードされた係数又は以前の係数は、今回エンコードされる係数又は現在の係数とは異なる時間分解能又は周波数分解能を表わしている。この方法は、符号化コンテキストに基づいて現在の係数をエントロピーエンコーディングしてエンコード済みのオーディオストリームを得るステップをさらに含むことができる。
したがって、いくつかの実施の形態は、図2に示した実施の形態のオーディオデコーダ200を含むことができる。オーディオデコーダ200は、エンコード済みのオーディオストリームをデコードして、サンプリングされたオーディオ信号の異なる時間分解能又は周波数を表わす係数のセグメントを得るように構成されている。オーディオデコーダ200は、今回デコードされる係数又は現在の係数のための符号化コンテキストを、今回デコードされる係数とは異なる時間分解能又は周波数分解能を表わしている以前にデコードされた係数又は以前の係数に基づいて導出するためのプロセッサ210を備えている。さらに、オーディオデコーダ200は、符号化コンテキスト及びエンコード済みのオーディオストリームに基づいて現在の係数をエントロピーデコーディングするためのエントロピーデコーダ220を備えている。
いくつかの実施の形態においては、オーディオデコーダ200は、異なる時間ドメインウインドウ長又は異なるオーディオフレーム長に基づいてデコード後の係数のセグメントを決定するように構成されたエントロピーデコーダ220を備えることができる。エントロピーデコーダ220は、例えば1024個及び128個の時間ドメインサンプル又は周波数もしくはスペクトルの係数からなるセグメントを決定するように構成することができる。したがって、プロセッサ210は、以前のセグメント及び/又は現在のセグメントの係数の周波数ドメイン表現又はスペクトルドメイン表現に基づいて、符号化コンテキストを導出するように構成することができる。
いくつかの実施の形態においては、プロセッサ210は、現在のセグメントの周波数帯又はスペクトル帯ごとの符号化コンテキストを、例えば1つ以上の以前のセグメント及び随意による現在のセグメントの隣接するスペクトル係数に基づいて導出するように構成することができる。換言すると、セグメントを、周波数ドメイン又はスペクトルドメインにおいて処理することができ、これを周波数帯又はスペクトル帯ごとに実行することができる。したがって、プロセッサ210は、周波数帯又はスペクトル帯に特有のコンテキストを導出するように構成することができる。
エントロピーデコーダ200は、エントロピー又は可変長のエンコーディング規則に基づいて現在の係数をエントロピーデコーディングするように構成することができる。
プロセッサ210は、以前のセグメントにおいて帯域幅当たりの係数が現在のセグメントよりも多い(すなわち、以前のセグメントが現在のセグメントよりも細かいスペクトル又は周波数の分解能を有する)場合に、以前のセグメントの周波数又はスペクトルの係数のダウンサンプリングに基づいて符号化コンテキストを導出するように構成することができる。さらなる実施の形態においては、プロセッサ210及びエントロピーエンコーダ220は、以前のセグメントにおいて帯域幅当たりの係数が現在のセグメントよりも少ない(すなわち、以前のセグメントが現在のセグメントよりも粗いスペクトル又は周波数の分解能を有している)場合に、以前のセグメントのスペクトル係数のアップサンプリングに基づいて動作するように構成することができる。
したがって、いくつかの実施の形態は、エンコード済みのオーディオストリームをデコードして、デコード後のオーディオサンプルを表わす係数のセグメントを得るための方法を提供することができる。このデコーディングの方法は、以前のセグメントの以前にデコードされた係数又は以前の係数に基づき、現在のセグメントの今回デコードされる係数又は現在の係数のための符号化コンテキストを導出するステップを含むことができ、ここで以前にデコードされた係数又は以前の係数は、今回デコードされる係数とは異なる時間分解能又は周波数分解能を表わしている。さらに、この方法は、符号化コンテキスト及びエンコード済みのオーディオストリームに基づき、現在の係数をエントロピーデコーディングするステップを含むことができる。随意により、この方法は、エンコード済みのオーディオストリームから異なる数のオーディオ係数を表わしているエンコード済みのオーディオ係数のセグメントを割り出すステップを含むことができる。
図3は、プロセッサ110、210がMc,oldという係数からなる以前のセグメントに基づいてMc,newという係数からなる現在のセグメントのための符号化コンテキストをどのように導出できるのかを示している(ここで、以前のセグメントは現在のセグメントとは異なる数のオーディオ係数を含んでいる)。図3に示した実施の形態においては、セグメントMの係数の数が、セグメントの周波数又はスペクトルの分解能を決定する。この実施の形態は、以前のセグメントのMc,old個の係数を現在のセグメントと同じコンテキストの周波数又はスペクトルの分解能を有するMc,new個の係数へと写像するマッピング方法を含むことができる。図3は、2つのセグメントにおける2組の係数を示している。すなわち元の以前のセグメント310がMc,old個の係数Sn,0、Sn,1、Sn,2などを表わしており、これに対応して、写像後の以前のセグメント320がMc,new個の係数Sn,0、Sn,1、Sn,2、Sn,3などを表わしており、写像後のセグメント320はより高い分解能を有しており、すなわちMc,newはMc,oldよりも大きい。
一般に、現在のセグメントのコンテキストの分解能が以前のセグメントのコンテキストの分解能よりも高いか又は低いかに応じて、2つの実施の形態を区別することができる。図3は、Mc,old個の係数からなる以前のセグメントの分解能が、Mc,new個の係数からなる現在のセグメントの分解能よりも低い実施の形態を示している。図3は、以前のセグメント310の係数及び写像後の以前のセグメント320のシンボルを示している。図3から、Mc,new個の係数からなる現在のセグメントの分解能が、Mc,old個の係数しか有していない以前のセグメント310の分解能よりも高いことを見て取ることができる。一実施の形態においては、以前のセグメント310が、現在のセグメントの周波数又はスペクトルの分解能に一致するためのMc,new個の係数からなるセグメント320へとアップサンプリングされる。これは、例えば各々の値をMc,new回だけ繰り返し、次いで得られたアップサンプリングされたセグメントを各々のMc,oldについて1つの係数だけを維持することによって減らすなど、シンボルの複製及び間引き(decimation)の機構を有する純粋なアップサンプリングを含むことができる。他の内挿又は外挿の機構も使用することが可能である。
いくつかの実施の形態においては、写像は、現在のセグメントのためのコンテキストの決定に必要なすべての以前のセグメント310について実行することができ、すなわち、例えば時刻nにおける現在のセグメントのために、複数の以前のセグメント、すなわち時刻n−1、n−2などにおける以前のセグメントを考慮することができる。一般に、いくつかの実施の形態は、複数の時間スロット又は以前のセグメントを考慮に入れることができ、完全なコンテキストを定めるために必要な時間スロットの数は種々の実施例又は実施の形態で異ならせることができる。
図4は、以前のセグメント410の係数が現在のセグメントのコンテキストの計算に使用されるセグメント420へとダウンサンプルされ、すなわち以前のセグメント410の係数の数Mc,oldが現在のセグメントの係数の数Mc,newよりも多い別の実施の形態を示している。図4は、図3と同様の図解を使用しており、したがって複数の係数が各々のセグメント410及び420に示されている。図4に示されているように、Mc,oldがMc,newよりも大きい。したがって、Mc,old個の係数が、Mc,new個の係数からなる現在のセグメントの周波数又はスペクトルの分解能に一致するようにサブサンプリングされている。すなわち、いくつかの実施の形態においては、より高い分解能を有している以前のセグメントを、より低い分解能を有する現在のセグメントの分解能に一致するようにサブサンプリングすることができる。これは、いくつかの実施の形態においては、例えば各々の値をMc,new回だけ繰り返し、次いで得られたアップサンプリングされたセグメントを各々のMc,oldについて1つの係数だけを維持することによって減らすなど、係数の複製及び間引きの機構を有する純粋なダウンサンプリングを含むことができる。他の実施の形態においては、例えば2つ又は複数の隣接する値を平均するなどのフィルタ処理操作を考慮することができる。
図5は異なる分解能の間の切り換えが行われる別の実施の形態を示している。図5は時間/周波数平面を示しており、オーディオ係数の3つの連続するセグメント、すなわちセグメント510、520及び530が示されている。セグメント510、520及び530の各々は1組の係数に対応する。図5に示した実施の形態においては、第2のセグメント520が、第1のセグメント510及び第3のセグメント530の2倍の長さであると仮定されている。これは、例えばAACにおいて行われるように、時間ドメインにおけるセグメント分けの際に異なるウインドウを使用することによって実現することができる。図5に示した実施の形態においては、サンプリングレートが一定のままであると仮定されており、換言すると、より長い第2のセグメント520については、帯域幅当たりのオーディオ係数の数が、第1又は第3のセグメント510又は530の2倍である。
図5は、この場合に、周波数ドメイン又はスペクトルドメインにおける分解能が、時間ドメインにおけるセグメントの広がりにつれて変化することを示している。換言すると、時間ドメインにおけるウインドウが短くなるほど、周波数ドメイン又はスペクトルドメインにおける分解能が低くなる。周波数ドメイン又はスペクトルドメインにおいてサンプルをエンコードするためのコンテキストを評価する場合、この例のように第2のセグメント520をエンコードするとき、符号化はセグメント510のより高い分解能のバージョンを有する必要があること、すなわちセグメント510の2倍の分解能を導出しなければならないことを図5は示している。他の実施の形態においては、特に他の時間−周波数変換又はフィルタバンクを使用する場合に、時間ドメイン及び周波数ドメインの分解能の間の他の関係がもたらされる可能性がある。
一実施の形態によれば、第1のセグメント510においてエンコードされた係数が、例えば中間のアップサンプリングによって、第2のセグメント520のためのコンテキストを決定するための基礎を提供する。換言すると、第1のセグメント510から来るコンテキストの中身は、より高い分解能を有する第2のセグメント520のためのコンテキストを導出するために、例えば内挿又は外挿に関する第1のセグメント510のアップサンプリングによって得ることができる。
図5に示されるように、第2のセグメント520から第3のセグメント530への切り替えの際に、今度は分解能が減少しているため、コンテキストの構成要素を同様に変化させなければならない。一実施の形態によれば、第2のセグメント520においてエンコードされた係数は、中間のダウンサンプリングによって、第3のセグメントのためのコンテキストを導出するために使用することができる。これは、例えば平均化により実行することができ、又は単に1つおきの第2の値を使用することによって実行することができ、又はダウンサンプリングのための他の手段を使用して実行することができる。
いくつかの実施の形態は、たとえ分解能又はウインドウ長に変化が生じたときでも、以前のセグメントから導出された過去のコンテキストを考慮することによって、符号化効率の向上という利点を達成する。コンテキストの構成要素は、例えば内挿、外挿、フィルタ処理又は平均化などによるアップサンプリング又はダウンサンプリングにより新たな分解能に適応させることができる。
以下では、より具体的な実施の形態を、スペクトル・ノイズレス・符号化により提示する。スペクトル・ノイズレス・符号化は、オーディオ符号化において量子化されたスペクトルの冗長度をさらに減らすために使用することができる。スペクトル・ノイズレス・符号化は、動的なコンテキスト適応に連動した算術符号化に基づくことができる。
ノイズレス符号化は、量子化されたスペクトル値に基づくことができ、コンテキスト依存の累積度数表(cumulative frequency table)を使用することができる。累積度数表は、例えば以前にデコードされた4つの隣接タプル(tuple)から導出される。図6は別の実施の形態を示している。図6は時間−周波数平面を示しており、時間軸に沿って3つの時間スロットn、n−1及びn−2が示されている。さらに図6は、m−2、m−1、m及びm+1によって示されている4つの周波数帯又はスペクトル帯を示している。図6は、各々の時間−周波数スロットに、エンコード又はデコードされるサンプルのタプルを表わすボックスを図示している。図6には、3つの異なる種類のタプルが示されており、縁が破線又は点線であるボックスはエンコード又はデコードすべき残りのタプルを示しており、縁が実線である白色のボックスは以前にエンコード又はデコードされたタプルを示しており、縁が実線である灰色のボックスは以前にエンコード/デコードされたタプルであって、エンコード又はデコードすべき現在のタプルのためのコンテキストを決定するために使用されるタプルを示している。
上述の実施の形態において言及された以前及び現在のセグメントはこの実施の形態におけるタプルに相当できること、換言すると、セグメントは周波数ドメイン又はスペクトルドメインにおいて帯域ごとに処理できることに注意すべきである。図6に示されているように、現在のタプルの近隣(すなわち、時間ドメインと周波数ドメイン又はスペクトルドメインにおいて近隣)のタプル又はセグメントは、コンテキストを導出するために考慮することができる。次いで、累積度数表を可変長のバイナリコードを生成するために算術コーダによって使用することができる。算術コーダは、シンボル及びそれらのそれぞれの確率の所与の組についてのバイナリコードを生成することができる。バイナリコードは、シンボルの組が位置する確率区間(probability interval)をコードワードへと写像することによって生成することができる。算術コーダは、上述の実施の形態のエントロピーエンコーダ120及びエントロピーデコーダ220のそれぞれに相当することができる。
この実施の形態においては、コンテキスト準拠の算術符号化は4−タプルに基づいて(すなわち、4つのスペクトル係数インデックスについて)実行することができる。4−タプルはq(n,m)とも表わされ、量子化後のスペクトル係数を表わしており、周波数ドメイン又はスペクトルドメインにおいて隣接しており、一工程でエントロピー符号化されている。以上の説明によれば、符号化は、符号化コンテキストに基づいて実行することができる。図6に示されるように、符号化される4−タプル(すなわち、現在のセグメント)に加えて、4つの以前に符号化された4−タプルが、コンテキストを導出するために考慮される。これらの4つの4−タプルはコンテキストを決定し、周波数ドメイン及び/又は時間ドメインにおいて先行している。
図7Aはスペクトル係数のエンコーディングの仕組みのためのUSAC(USAC=Universal Speech and Audio Coder)コンテキスト依存算術コーダのフロー図を示している。エンコーディングプロセスは、現在の4−タプル及びコンテキストに依存し、コンテキストは算術コーダの確率分布の選択及びスペクトル係数の振幅の予測に使用される。図7Aにおいて、ボックス705は、図6において縁が実線で灰色のボックスであるq(n−1,m)、q(n,m−1)、q(n−1,m−1)及びq(n−1,m+1)に対応するt0、t1、t2及びt3に基づくコンテキストの決定を表わしている。
一般に、いくつかの実施の形態においては、エントロピーエンコーダは、スペクトル係数の4−タプルを単位にして現在のセグメントをエンコードし、符号化コンテキストに基づいて4−タプルの振幅範囲を予測するように構成することができる。
この実施の形態においては、エンコードの仕組みはいくつかの段階を含んでいる。第1に、リテラルコードワード(literal codeword)が、算術コーダ及び特定の確率分布を使用してエンコードされる。そのコードワードは、4つの隣接するスペクトル係数(a,b,c,d)を表わすが、a,b,c,dの各々は範囲が限られている。
−5<a,b,c,d<4
一般に、いくつかの実施の形態においては、エントロピーエンコーダ120は、4−タプルが予測される範囲に存在しない場合には、所定のファクタ(factor)による4−タプルの除算を、除算の結果を予測される範囲又は所定の範囲に合せるのに必要なだけ実行して、その必要な除算の回数、除算の余り及び除算の結果をエンコードし、そうでない場合には、除算の余り及び除算の結果をエンコードするように構成することができる。
以下では、項(a,b,c,d)、すなわちいずれかの係数a,b,c,dがこの実施の形態における所与の範囲を超える場合に、これは、一般的に、(a,b,c,d)をファクタ(例えば、2又は4)によって必要なだけ除算し、得られるコードワードを所与の範囲に合せることによって考慮することができる。2というファクタによる除算は、右側へのバイナリシフト、すなわち(a,b,c,d)>>1に相当する。この縮小は、整数表現において行われ、すなわち情報が失われる可能性がある。右へのシフトによって失われる可能性がある最下位ビットは、保存され、後に算術コーダ及び一様な確率分布を使用して符号化される。右へのシフトのプロセスは、4つのスペクトル係数(a,b,c,d)のすべてについて実行される。
一般的な実施の形態においては、エントロピーエンコーダ120は、除算の結果又は4−タプルをグループインデックスng(グループインデックスngは、確率分布が符号化コンテキストに基づく1つ以上のコードワードのグループを指している)及びグループが2つ以上のコードワードを含んでいる場合のエレメントインデックスne(エレメントインデックスneは、グループ内のコードワードを指しており、一様に分布していると仮定できる)を使用してエンコードし、除算の回数をエスケープシンボル(エスケープシンボルは、除算を示すためだけに使用される特定のグループインデックスngである)の数によってエンコードし、除算の余りを算術符号化規則を使用して一様な分布に基づいてエンコードするように構成することができる。エントロピーエンコーダ120は、エスケープシンボルを含むシンボルアルファベット及び一組の利用可能なグループインデックスに対応するグループシンボルを使用して、シンボルの並びをエンコード済みのオーディオストリームへとエンコードするように構成することができ、シンボルアルファベットは、対応するエレメントインデックスを含んでおり、シンボルアルファベットは、異なる値の余りを含んでいる。
図7Aの実施の形態において、リテラルコードワードのエンコーディングのための確率分布及び範囲縮小工程の数の推定は、コンテキストから導出することができる。例えば、合計で84=4096であるすべてのコードワードは、1つ以上のエレメントで構成される合計544のグループにわたる。コードワードは、ビットストリームにおいて、グループインデックスng及びグループエレメントneとして表わすことができる。両方の値は、算術コーダを使用し、特定の確率分布を使用して符号化することができる。一実施の形態においては、ngについての確率分布はコンテキストから導出でき、一方、neについての確率分布は一様であると仮定することができる。ng及びneの組み合わせは、コードワードを明確に特定することができる。除算の余り、すなわちシフトアウトされたビット平面は、やはり一様に分布していると仮定することができる。
図7Aのステップ710において、4−タプルq(n,m)、すなわち(a,b,c,d)又は現在のセグメントがもたらされ、パラメータlevは、これを0に設定することによって開始される。
ステップ715において、コンテキストから、(a,b,c,d)の範囲が推定される。この推定に従って、(a,b,c,d)をlev0のレベルによって減らすことができ、すなわち2lev0というファクタで除算することができる。lev0の最下位ビット平面が、後のステップ750における使用のために保存される。
ステップ720において、(a,b,c,d)が所与の範囲を超えているか否かがチェックされ、超えている場合には、ステップ725において、(a,b,c,d)の範囲が、4というファクタによって減らされる。換言すると、ステップ725において、(a,b,c,d)が2だけ右にシフトされ、除去されたビット平面が、後のステップ750における使用のために保存される。
この縮小工程を示すために、ステップ730においてngが544に設定され、すなわちng=544がエスケープコードワードとして機能する。次いで、このコードワードが、ステップ755においてビットストリームに書き込まれ、ステップ730においてコードワードを導出するために、算術コーダが、コンテキストから導出された確率分布とともに使用される。この縮小工程が初めて適用された場合、すなわちlev==lev0の場合には、コンテキストがわずかに変えられる。縮小が2回以上加えられる場合には、コンテキストが破棄され、以後はデフォルトの分布(default distribution)が使用される。次いで、プロセスはステップ720に続く。
ステップ720において範囲の適合が検出され、より具体的には(a,b,c,d)が範囲の条件に適合する場合には、(a,b,c,d)がグループngへと写像され、該当する場合にはグループエレメントインデックスneへと写像される。この写像は明確であり、すなわち(a,b,c,d)をng及びneから導出することができる。次いで、グループインデックスngが、変更/破棄されたコンテキストのために到着した確率分布を使用して、ステップ735において算術コーダによって符号化される。次いで、グループインデックスngが、ステップ755においてビットストリームへと挿入される。続くステップ740において、グループ内のエレメントの数が1よりも多いか否かがチェックされる。必要な場合、すなわちngによって示されるグループが2つ以上のエレメントで構成されている場合、グループエレメントインデックスneが、ステップ745において、この実施の形態においては一様な確率分布を仮定して、算術コーダによって符号化される。
ステップ745に続いて、エレメントグループインデックスneがステップ755においてビットストリームへ挿入される。最後に、ステップ750において、すべての保存されたビット平面が、一様な確率分布を仮定し、算術コーダを使用して符号化される。次いで、保存及び符号化されたビット平面が、ステップ755においてビットストリームへ挿入される。
いくつかの実施の形態においては、エントロピーデコーダ220は、エンコード済みのオーディオストリームからのグループインデックスng(グループインデックスngは、1つ以上のコードワードからなるグループを表わしている)を符号化コンテキストから導出される確率分布に基づいてデコードし、グループインデックスngが2つ以上のコードワードを含むグループを示している場合に、エンコード済みのオーディオストリームからのエレメントインデックスneを一様な確率分布に基づいてデコードし、グループインデックスng及びエレメントインデックスneに基づいて現在のセグメントのスペクトル係数の4−タプルを導出することで、スペクトル係数のタプルにてのスペクトルドメイン表現を得るように構成することができる。
いくつかの実施の形態においては、エントロピーデコーダ220は、エスケープシンボルを含むシンボルアルファベット及び一組の利用可能なグループインデックスngに対応するグループシンボルを使用して符号化コンテキストから導出された確率分布に基づいてエンコード済みのオーディオストリームからの一連のシンボルをデコードし、一連のシンボルのグループシンボルに対応する利用可能なグループインデックスngに基づき、かつエレメントインデックスneに基づいて、スペクトル係数の予備的な4−タプルを導出し、予備的な4−タプルを一連のシンボル内のエスケープシンボルの数に応じたファクタで乗算することによって、スペクトル係数のタプルを得るように構成することができる。
さらに、エントロピーデコーダ220は、算術符号化規則を使用して一様な確率分布に基づいてエンコード済みのオーディオストリームから余りをデコードし、さらに余りを乗算済みの予備的な4−タプルに加えて、スペクトル係数の4−タプルを得るように構成することができる。
エントロピーデコーダ220は、エンコード済みのオーディオストリームからエスケープシンボル(エスケープシンボルは、乗算を示すためだけに使用される特定のグループインデックスngである)がデコードされた回数だけ4−タプルを所定のファクタで乗算し、算術符号化規則を使用して一様な確率分布に基づいてエンコード済みのオーディオストリームから余りをデコードするように構成することができ、さらにエントロピーデコーダ220は、余りを乗算済みの4−タプルへと加えて現在のセグメントを得るように構成することができる。
以下で、USACコンテキスト依存算術コーダのデコーディングの仕組みを説明する。エンコーディングの仕組みの上述の実施の形態に対応して、ノイズレスに符号化され量子化されたスペクトル係数に対応する4−タプルを検討する。さらに、4−タプルが、最も低い周波数又はスペクトル係数から出発して、最も高い周波数又はスペクトル係数へと進みながら送信されると仮定する。係数は、例えば、アレイに保存されるAAC係数に対応することができ、ノイズレス・符号化・コードワードの送信の順序は、それらが受信された順序でデコードされ、アレイに保存されるときに、binが最も速く増加するインデックスであり、gが最もゆっくりと増加するインデックスであるように仮定される。コードワードにおいて、デコーディングの順序はa、b、c、dである。
図7Bは、一実施の形態の全体的なコンテキスト更新手順を示している。ビット深度予測機構によるコンテキスト適応の詳細が、この実施の形態において検討される。図7Bは、ビット平面に関して4−タプル(a,b,c,d)の考えられる範囲を表示している平面760を示している。ビット深度、すなわち4−タプルを表わすために必要なビット平面の数は、図7Bにも示されているlev0と呼ばれる変数の計算により、現在の4−タプルのコンテキストによって予測することができる。次いで、4−タプルが2lev0によって除算され、すなわち上述のステップ715に従って、lev=lev0のビット平面が除去され、後の使用のために保存される。
4−タプルが−5<a,b,c,d<4という範囲にある場合、予測されたビット深度lev0は、正しく予測又は過大評価されている。次いで、4−タプルは、上述した説明に沿って、グループインデックスng、エレメントインデックスne、及びlevの残りのビット平面によって符号化することができる。その結果、現在の4−タプルの符号化が終了する。エレメントインデックスneの符号化は、以下の分析においてエレメントインデックスをエンコードするために常に使用される一様な確率分布762によって図7Bに示されており、図7Bにおいて、パラメータrは、除算後の4−タプルの余りを表わしており、p(r)は対応する一様な確率密度関数を表わしている。
4−タプルが−5<a,b,c,d<4という範囲にない場合、符号化コンテキスト764に基づく予測が低すぎ、エスケープシンボル(ng=544)が766において符号化され、4−タプルが、図7Aのステップ730に従って4で除算され、levが2だけ増やされる。コンテキストは、以下のように適応させられる。lev==lev0+2である場合、図7Bの768に対応してコンテキストがわずかに変更される。フラグをコンテキストの表現tに設定することができ、新たな確率分布モデルが、将来のシンボルngの符号化に使用される。
lev>lev0+2である場合、別のエスケープシンボルが図7Bのステップ770に従って符号化され、コンテキストが完全にリセットされ(772を参照)、図7Aのステップ730のように破棄される。さらなるコンテキストの適応は、現在の4−タプルの符号化に関係がないと考えられるため、使用されない。コンテキストが利用できない場合に使用されるデフォルトの確率モデルが、将来のngシンボルについて使用され、これが図7Bの工程774及び776によって示されている。次いで、このプロセスが、他のタプルについて繰り返される。
要約すると、コンテキストの適応は、コンテキスト適応符号化においてコンテキストの重要性を減らすための機構である。コンテキストの適応は、予測されるlev0と実際のlevが不一致の場合に生じさせることができる。これは、コード化されたエスケープシンボル(ng=544)の数によって容易に検出され(図7Bの766及び770を参照)、したがってデコーダにおいても同様のやり方で実行することができる。
コンテキストの適応は、コンテキスト状態表現t内のフラグをトリガすることによって行うことができる。値tは、テーブルq[][]に保存された現在の4−タプルの以前及び/又は現在のフレーム又はセグメントから導出されるコンテキストを使用することによって、lev0として、関数get_state( )によって計算される。コンテキストの状態は、例えば24のビットによって表わすことができる。一実施の形態においては、1905800個の状態が可能である。これらの状態は21のビットだけで表わすことができる。tの23番目及び24番目のビットは、コンテキストの状態の適応のために予約される。23番目及び24番目のビットの値に応じて、関数get_pk()は異なる確率分布モデルを出力する。一実施の形態においては、tの23番目のビットを、4−タプルがlev0によって除算された後で4で除算される場合、すなわちlev==lev0+2の場合に、1に設定することができる。
結果として、コンテキスト状態tと確率分布モデルpkiとの間の写像が、lev==lev0+2においては、lev==lev0とは異なる。コンテキスト状態tとモデルpkiとの間の写像は、学習シーケンスの全体としての統計について最適化を実行することによって学習段階においてあらかじめ定められる。lev>lev0+2である場合、コンテキスト及びtはゼロに設定することができる。その場合、関数get_pk()は、t=0に対応するデフォルトの確率分布モデルpkiを出力する。
以下で、一実施の形態におけるコンテキストの写像の詳細を説明する。コンテキストの写像は、この実施の形態においてコンテキストの最終的なリセットの後でコンテキスト適応の符号化において行われる最初の作業である。それは、2つの工程にて行われる。
最初に、符号化の前に、以前のフレームにおいて保存されたprevious_lg/4というサイズのコンテキストテーブルqs[]が、現在のフレームのサイズに対応するlg/4というサイズのコンテキストテーブルq[0][]に写像される。マッピングは、以下の擬似コードによって例示されるarith_map_context関数にて行われる。
/*input variable*/
lg/4 /*number of 4-tuples*/

arith_map_context()
{
v=w=0

if(core_mode==1){
q[0][v++]=qs[w++];
}

ratio= ((float)previous_lg)/((float)lg);
for(j=0; j<lg/4; j++){
k = (int) ((float)) ((j)*ratio);
q[0][v++] = qs[w+k];
}

if(core_mode==0){
q[0][lg/4]=qs[previous_lg/4];
}
q[0][lg/4+1]=qs[previous_lg/4+1];

previous_lg=lg;
}
擬似コードから見て取ることができるように、写像は、すべての符号化のやり方について正確に同じでなくてもよい。この実施の形態において、写像は、AAC(Advanced Audio Coding)が係数について使用される場合(core_mode==0)に、TCX(Transform based Coding)が使用される場合(core_mode==1)と異なる。違いのうちの1つは、テーブルの境界がどのように取り扱われるかに起因する。AACにおいては、写像はインデックス0(テーブルの第1の値)から始めることができ、一方、TCXについては、第1の値が常に「未知」(コンテキストをリセットするために使用される特定の状態)に設定されることがわかっていて、写像はインデックス1(テーブルの第2の値)から始めることができる。lgに対するprevious_lgの比(ratio)が、この実施の形態において実行されるアップサンプリング(ratio<1)又はダウンサンプリング(ratio>1)の指令を決定する。図7Cは、1024/4というサイズ(図7Cの左側780を参照)の保存されたコンテキストテーブルから512/4というサイズ(図7Cの右側782を参照)への変換の場合のTCXの事例を示している。現在のコンテキストテーブル782について、1という刻みでの増加が使用されている一方で、保存されたコンテキストテーブル780について、上述の比の段階的な増加が使用されていることを見て取ることができる。
図7Cは、分解能の変化における一実施の形態のコンテキスト更新手順を示している。ひとたび写像が行われると、コンテキスト適応の符号化が実行される。符号化の終わりにおいて、現在のフレームの要素が、次のフレームのためのテーブルqs[]に保存される。これは、以下の擬似コードによって例示されるarith_update_context()において行うことができる。
/*input variables*/
a,b,c,d /* value of the decoded 4-tuple */
i /*the index of the 4-tuple to decode in the vector*/
lg/4 /*number of 4-tuples*/

arith_update_context()
{
q[1][1+i].a=a;
q[1][1+i].b=b;
q[1][1+i].c=c;
q[1][1+i].d=d;
if ( (a<-4) || (a>=4) || (b<-4) || (b>=4) || (c<-4) || (c>=4) || (d<-4) || (d>=4) ) {
q[1][1+i].v =1024;
}
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d];

if(i==lg/4 && core_mode==1){
qs[0]=q[1][0];

ratio= ((float) lg)/((float)1024);
for(j=0; j<256; j++){
k = (int) ((float) j*ratio);
qs[1+k] = q[1][1+j] ;
}
qs[previous_lg/4+1] = q[1][lg/4+1];
previous_lg = 1024;
}
if(i==lg/4 && core_mode==0){
for(j=0; j<258; j++){
qs[j] = q[1][k];
}
previous_lg = min(1024,lg);
}
}
この実施の形態においては、保存はコアコーダ(AAC又はTCX)に応じて異なって行われる。TCXにおいては、コンテキストが、常に1024/4個の値からなるテーブルqs[]に保存される。この追加の写像は、AMR−WB+(Adaptive Multirate WideBand Codec)の閉ループ決定ゆえに行うことができる。閉ループ決定においては、コーダ状態のいくつかのコピー手順が、TCX及びACELP(Arithmetic Coded Excited Linear Prediction)の考えられる組み合わせの各々をテストするために必要とされる。状態のコピーは、すべてのTCXモードがテーブルqs[]について同じサイズを共有する場合に、実現がより容易である。次いで、写像が、lg/4から1024/4への体系的な変換に使用される。他方で、AACはコンテキストだけを保存し、この段階において写像を実行しない。
図8は、デコーディングの仕組みの実施の形態のフロー図を示している。ステップ805において、ステップ705に対応して、コンテキストがt0、t1、t2及びt3に基づいて導出される。ステップ810において、第1の減少レベルlev0がコンテキストから推定され、変数levがlev0に設定される。続くステップ815において、グループngがビットストリームから読み出され、ngをデコードするための確率分布がコンテキストから導出される。次いで、ステップ815において、グループngをビットストリームからデコードすることができる。
ステップ820において、ngがエスケープ値に相当する544に等しいか否かが判断される。ngが544に等しい場合、ステップ815に戻る前に変数levを2だけ増加させることができる。上述のコンテキスト適応の機構(図7B及び7Cを参照)に沿って、この分岐が初めて使用される場合、すなわちlev==lev0である場合、コンテキストを相応に適応させることができ、分岐が初めて使用されるのではない場合にはコンテキストを破棄することができる。ステップ820においてグループインデックスngが544に等しくない場合には、続くステップ825においてグループ内のエレメントの数が1よりも多いか否かが判断され、1よりも多い場合にはステップ830においてグループエレメントneが読み出され、一様な確率分布を仮定してビットストリームからデコードされる。エレメントインデックスneは、算術符号化及び一様な確率分布を使用してビットストリームから導出される。
ステップ835において、リテラルコードワード(a,b,c,d)が、例えばテーブルにおける参照プロセスによって、例えばdgroups[ng]及びacod_ne[ne]を参照し、ng及びneから導出される。
ステップ840において、ビット平面を欠いているすべてのlevについて、算術符号化を使用し、一様な確率分布を仮定して、ビット平面がビットストリームから読み出される。次いで、ビット平面は、(a,b,c,d)を左へとシフトさせ、ビット平面bpを加えることによって、(a,b,c,d)へ添えることができる。すなわち、((a,b,c,d)<<=1)|=bpである。このプロセスは、lev回だけ繰り返すことができる。
最後に、ステップ845において、4−タプルq(n,m)、すなわち(a,b,c,d)をもたらすことができる。
以下の擬似コード及び実施の詳細が実施の形態に従ってもたらされる。以下の定義が使用される。
(a,b,c,d):デコードすべき4−タプル。
ng:4−タプルの最上位の2ビットごとの平面のグループインデックスであり、0≦ng≦544である。最後の値544は、エスケープシンボルARITH_ESCAPEに対応する。
ne:グループにおけるエレメントインデックス。neは、0と各グループのカーディナルmmとの間に位置する。グループ内のエレメントの最大数は73である。
lev:残りのビット平面のレベル。最上位の2ビットごとの平面よりも下位のビット平面の数に相当する。
egroups:[a][b][c][d]グループ・インデックス・テーブル。4−タプル(a,b,c,d)の最上位の2ビットごとの平面を544のグループへ写像できるようにする。
mm:グループのカーディナル。
og:グループのオフセット。
dgroups[]:グループインデックスngを各グループのカーディナルmm(最初の8ビット)へ写像し、グループのオフセットogをdgvectors[](最後の8ビット)に写像する。
dgvectors[]: グループのオフセットog及びエレメントのインデックスneを4−タプル(a,b,c,d)の最上位の2ビットごとの平面へ写像する。
arith_cf_ng_hash[]:コンテキストの状態を累積度数表インデックスpkiへ写像するハッシュテーブル。
arith_cf_ng[pki][545]:グループ・インデックス・シンボルngについての累積度数のモデル。
arith_cf_ne[]:エレメント・インデックス・シンボルneについての累積度数。
r:最上位の2ビットごとの平面よりも下位の4タプルのビット平面。
arith_cf_r []:最下位ビット平面シンボルrについての累積度数。
以下で、デコーディングプロセスを最初に検討する。4−タプルの量子化されたスペクトル係数が、ノイズレス符号化され、最も低い周波数又はスペクトル係数から出発して、最も高い周波数又はスペクトル係数へと進みながら送信される。AACからの係数が、アレイx_ac_quant[g][win][sfb][bin]に保存され、ノイズレス・符号化・コードワードの送信は、それらが受信された順序でデコードされ、アレイに保存されるときに、binが最も速く増加するインデックスであり、gが最もゆっくりと増加するインデックスであるような順序で行われる。コードワードにおいて、デコーディングの順序はa、b、c、dである。TCXからの係数はアレイx_tcx_invquant[win][bin]に直接保存され、ノイズレス・符号化・コードワードの送信は、それらが受信された順序でデコードされ、アレイに保存されるときに、binが最も速く増加するインデックスであり、winが最もゆっくりと増加するインデックスであるような順序で行われる。コードワードにおいて、デコーディングの順序はa、b、c、dである。最初に、フラグarith_reset_flagが、コンテキストをリセットしなければならないか否かを決定する。フラグがTRUEである場合、以下の関数が呼び出される。
*global variables*/
q[2][290] /*current context*/
qs[258] /*past context*/
previous_lg /*number of 4-tuples of the past context*/
arith_reset_context()
{
for(i=0;i<258;i++){
qs[i].a=0; qs[i].b=0; qs[i].c=0; qs[i].d=0
qs[i].v=-1;
}
for(i=0;i<290;i++){
q[0][i].a=0; q[0][i].b=0; q[0][i].c=0; q[0][i].d=0
q[0][i].v=-1;
q[1][i].a=0; q[1][i].b=0; q[1][i].c=0; q[1][i].d=0
q[1][i].v=-1;
}
previous_lg=256;
}
他方で、arith_reset_flagがFALSEである場合には、過去のコンテキストと現在のコンテキストとの間で写像が行われる。
すなわち、
/*input variable*/
lg /*number of 4-tuples*/

arith_map_context(lg)
{
v=w=0
if(core_mode==1){
q[0] [v++]=qs[w++];
}
ratio= ((float)previous_lg)/((float)lg);
for(j=0; j<lg; j++){
k = (int) ((float)) ((j)*ratio);
q[0][v++] = qs[w+k];
}
if(core_mode==0){
q[0][lg]=qs[previous_lg];
}
q[0][lg+1]=qs[previous_lg+1];

previous_lg=lg;
}
ノイズレスデコーダが、符号付きの量子化されたスペクトル係数の4−タプルを出力する。最初にコンテキストの状態が、デコードすべき4−タプルを囲んでいる4つの以前にデコードされたグループに基づいて計算される。コンテキストの状態は、関数arith_get_context()によって与えられる。
すなわち、
/*input variables*/
i /*the index of the 4-tuple to decode in the vector*/
arith_get_context(i,)
{
t0=q[0][1+i].v+1;
t1=q[1][1+i-1].v+1;
t2=q[0][1+i-1].v+1;
T3=q[0][1+i+1].v+1;

if ( (t0<10) && (t1<10) && (t2<10) && (t3<10) ){
if ( t2>1 ) t2=2;
if ( t3>1 ) t3=2;
return 3*(3*(3*(3*(3*(10*(10*t0+t1))+t2)+t3)));
}
if ( (t0<34) && (t1<34) && (t2<34) && (t3<34) ){
if ( (t2>1) && (t2<10) ) t2=2; else if ( t2>=10 ) t2=3;
if ( (t3>1) && (t3<10) ) t3=2; else if ( t3>=10 ) t3=3;
return 252000+4*(4*(34*(34*t0+t1))+t2)+t3;
}
if ( (t0<90) && (t1<90) ) return 880864+90*(90*t0+t1);

if ( (t0<544) && (t1<544) ) return 1609864 + 544*t0+t1;

if ( t0>1 )
{
a0=q[0][i].a;
b0=q[0][i].b;
c0=q[0][i].c;
d0=q[0][i].d;
}
else a0=b0=c0=d0=0;

if ( t1>1 )
{
a1=q[1][i-1].a;
b1=q[1][i-1].b;
c1=q[1][i-1].c;
d1=q[1][i-1].d;
}
else a1=b1=c1=d1=0;
l=0;
do
{
a0>>=1;
b0>>=1;
c0>>=1;
d0>>=1;

a1>>=1;
b1>>=1;
c1>>=1;
d1>>=1;

l++;
}
while ( (a0<-4) || (a0>=4) || (b0<-4) || (b0>=4) || (c0<-4) || (c0>=4) || (d0<-4)
|| (d0>=4) ||
(a1<-4) || (a1>=4) || (b1<-4) || (b1>=4) || (c1<-4) || (c1>=4) || (d1<-4)
|| (d1>=4) );
if ( t0>1 ) t0=1+(egroups[4+a0][4+b0][4+c0][4+d0] >> 16);
if ( t1>1 ) t1=1+(egroups[4+a1][4+b1][4+c1][4+d1] >> 16);

return 1609864 + ((l<<24)|(544*t0+t1));
}
ひとたび状態が知られると、4−タプルの最上位の2ビットごとの平面が属するグループが、コンテキストの状態に対応する割り当てられた累積度数表とともに供給されるarith_decode()を使用してデコードされる。対応は、関数arith_get_pk()によって作られる。
すなわち、
/*input variable*/
s /* State of the context*/
arith_get_pk(s)
{
psci[28] = {
247,248,249,250,251,252,253,254,254,0,254,254,254,255,250,215,
215,70,70,123,123,123,123,3,67,78,82,152
};
register unsigned char *p;
register unsigned long i,j;
i=123*s;
for (;;)
{
j=arith_cf_nq_hash[i&32767];
if ( j==0xFFFFFFFFul ) break;
if ( (j>>8)==s ) return j&255;

i++;
}
p=psci+7*(s>>22);
j= s & 4194303;
if ( j<436961 )
{
if ( j<252001 ) return p[(j<243001)?0:1]; else return
p[(j<288993)?2:3];
}
else
{
if ( j<1609865 ) return p[(j<880865)?4:5]; else return
p[6];
}
}
次いで、arith_decode()関数が、arith_get_pk()によって返されたインデックスに対応する累積度数表によって呼び出される。算術コーダは、スケーリングを有するタグを生成する整数の実施である。以下の疑似C−コードは、使用されるアルゴリズムを表わす。
/*helper funtions*/
bool arith_first_symbol(void);
/* Return TRUE if it is the first symbol of the sequence, FALSE otherwise*/
Ushort arith_get_next_bit(void);
/* Get the next bit of the bitstream*/
/* global variables */
low
high
value

/* input variables */
cum_freq[];
cfl;

arith_decode()
{
if(arith_first_symbol())
{
value = 0;
for (i=1; i<=20; i++)
{
value = (val<<1) | arith_get_next_bit();
}
low=0;
high=1048575;

}
range = high-low+1;
cum =((((int64) (value-low+1))<<16)-((int64) 1))/((int64) range);
p = cum_freq-1;

do
{
q=p+(cfl>>1);
if ( *q > cum ) { p=q; cfl++; }
cfl>>=1;
}
while ( cfl>1 );

symbol = p-cum_freq+1;
if(symbol)
high = low + (((int64)range)*((int64)cum_freq[symbol-1]))>>16 - 1;
low += (((int64) range)* ((int64) cum_freq[symbol]))>>16;

for (;;)
{
if ( high<524286) { }
else if ( low>=524286)
{
value -=524286;
low -=524286;
high -=524286;
}
else if ( low>=262143 && high<786429)
{
value -= 262143;
low -= 262143;
high -= 262143;
}
else break;

low += low;
high += high+1;
value = (value<<1) | arith_get_next_bit();
}
return symbol;
}
デコードされたグループインデックスngがエスケープシンボルARITH_ESCAPEであるとき、さらなるグループインデックスngがデコードされ、変数levが2だけ増やされる。デコードされたグループインデックスがエスケープシンボルARITH_ESCAPEでないとき、グループ内のエレメントの数mm及びグループオフセットogが、テーブルdgroups[]を参照することによって推定される。
mm=dgroups[nq]&255
og = dgroups[nq]>>8
次いで、エレメントインデックスneが、累積度数表(arith_cf_ne+((mm*(mm-1))>>1)[]でarith_decode()を呼び出すことによってデコードされる。ひとたびエレメントインデックスがデコードされると、4−タプルの最上位の2ビットごとの平面を、テーブルdgvector[]によって導出することができる。
a=dgvectors[4*(og+ne)]
b=dgvectors[4*(og+ne)+1]
c=dgvectors[4*(og+ne)+2]
d=dgvectors[4*(og+ne)+3]
次いで、残りのビット平面が、累積度数表arith_cf_r []によってarith_decode()をlev回呼び出すことによって、最上位から最下位レベルまでデコードされる。デコードされたビット平面rは、以下のやり方でデコード4−タプルを精密にすることを可能にする。
a = (a<<1) | (r&1)
b = (b<<1) | ((r>>1)&1)
c = (c<<1) | ((r>>2)&1)
d = (d<<1) | (r>>3)
ひとたび4−タプル(a,b,c,d)が完全にデコードされると、コンテキストテーブルq及びqsが、関数arith_update_context()を呼び出すことによって更新される。
arith_update_context(a,b,c,d,i,lg)
{
q[1][1+i].a=a;
q[1][1+i].b=b;
q[1][1+i].c=c;
q[1][1+i].d=d;

if ( (a<-4) || (a>=4) || (b<-4) || (b>=4) || (c<-4) || (c>=4)
|| (d<-4) || (d>=4) )
q[1][1+i].v =1024;
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d];

if(i==lg && core_mode==1){
qs[0]=q[1] [0];

ratio= ((float) lg)/((float)256);
for(j=0; j<256; j++){
k = (int) ((float)) ((j)*ratio);
qs[1+k] = q[1][1+j] ;
}
qs[previous_lg+1]=q[1][lg+1];
previous_lg=256;
}
if(i==lg && core_mode==0){
for(j=0; j<258; j++){
qs[j] = q[1][k];
}
previous_lg=min(1024,lg);
}
}
本発明の方法の特定の実施の要件に応じて、本発明の方法を、ハードウエア又はソフトウエアにて実現することが可能である。実施例は、本発明の方法が実行されるようにプログラマブルなコンピュータと協働する電子的に読み取り可能な制御信号を保存してなるデジタル記憶媒体、特にディスク、DVD又はCDを使用して形成することができる。したがって、一般的に、本発明は、機械で読み取ることができる担体のためのプログラムコードを有しているプログラム製品であり、このコンピュータプログラムがコンピュータ上で実行されるときに、そのプログラムコードが本発明の方法を実行するように動作することができる。したがって、換言すると、本発明の方法は、コンピュータ上で実行されたときに本発明の方法のうちの少なくとも1つを実行するためのプログラムコードを有しているコンピュータプログラムである。

Claims (18)

  1. 係数の一連のセグメントであって、該セグメントは時間的に互いに連続したものをエンコードするためのオーディオエンコーダ(100)であって、
    サンプリングされたオーディオ信号を表わすオーディオストリームから異なる変換長を用いて、異なる変換長が用いられるセグメントが前記サンプリングされたオーディオ信号をスペクトル的に異なる周波数分解能で表わすように、前記一連のセグメントをもたらすための手段と、
    現在のセグメントの今回エンコードされる係数のための符号化コンテキストを、現在のセグメントとは異なる周波数分解能及び変換長に対応する以前のセグメントの以前にエンコードされた係数に基づいて導出するためのプロセッサ(110)、及び
    前記符号化コンテキストに基づいて今回の係数をエントロピーエンコーディングして、エンコード済みのオーディオストリームを得るエントロピーエンコーダ(120)
    を備えているオーディオエンコーダ(100)。
  2. 前記エントロピーエンコーダ(120)は、スペクトル係数のタプルを単位に今回の係数をエンコードするとともに、前記符号化コンテキストに基づいて前記タプルの範囲を予測するように構成されている請求項1に記載のオーディオエンコーダ(100)。
  3. 前記エントロピーエンコーダ(120)は、所定のファクタによる前記タプルの除算を、除算の結果が所定の範囲に適合するために必要なだけ実行するように構成され、前記タプルが前記予測範囲に位置しない場合に、必要な除算の回数、除算の余り及び除算の結果をエンコードするように構成され、前記タプルが前記予測範囲に位置する場合に、除算をしないで前記タプルを前記符号化コンテキストに基づくエントロピーエンコーディングを用いてエンコードするように構成されている請求項2に記載のオーディオエンコーダ(100)。
  4. 前記エントロピーエンコーダ(120)は、前記除算の結果又はタプルを前記符号化コンテキストに基づく確率分布の1つ以上のコードワードのグループに関するグループインデックスを使用してエンコードし、前記グループが2つ以上のコードワードを含む場合に、グループ内のコードワードに関するエレメントインデックスを一様な確率分布に基づいてエンコードするように構成され、前記除算の回数を除算を示すためだけに使用される特定のグループインデックスであるエスケープシンボルの数によってエンコードするように構成され、前記除算の余りを算術符号化規則を使用して一様な確率分布に基づいてエンコードするように構成されている請求項3に記載のオーディオエンコーダ(100)。
  5. 前記エントロピーエンコーダ(120)は、前記エスケープシンボル及び一組の利用可能なグループインデックスに対応するグループシンボルを含むシンボルアルファベットを使用して、一連のシンボルをエンコード済みのオーディオストリームへとエンコードするように構成されており、シンボルアルファベットは対応するエレメントインデックスを含んでおり、シンボルアルファベットは異なる値の余りを含んでいる請求項4に記載のオーディオエンコーダ(100)。
  6. 前記プロセッサ(110)及び前記エントロピーエンコーダ(120)は以前のセグメントが現在のセグメントよりも細かいスペクトル分解能を呈する場合に以前のセグメントのスペクトル係数のダウンサンプリングに基づいて動作するように構成されており、並びに/又は前記プロセッサ(110)及び前記エントロピーエンコーダ(120)は以前のセグメントが現在のセグメントよりも粗いスペクトル分解能を呈する場合に以前のセグメントのスペクトル係数のアップサンプリングに基づいて動作するように構成されている請求項1から5のいずれか一項に記載のオーディオエンコーダ(100)。
  7. 係数の一連のセグメントであって、該セグメントは時間的に互いに連続したものをエンコードするための方法であって、
    サンプリングされたオーディオ信号を表わすオーディオストリームから異なる変換長を用いて、異なる変換長が用いられるセグメントが前記サンプリングされたオーディオ信号をスペクトル的に異なる周波数分解能で表わすように、前記一連のセグメントをもたらすステップ、
    現在のセグメントの今回エンコードされる係数のための符号化コンテキストを、現在のセグメントとは異なる周波数分解能及び変換長に対応する以前のセグメントの以前にエンコードされた係数に基づいて導出するステップ、及び
    前記符号化コンテキストに基づいて今回の係数をエントロピーエンコーディングして、エンコード済みのオーディオストリームを得るステップ
    を含んでいる方法。
  8. サンプリングされたオーディオ信号の異なる時間分解能又は周波数分解能を表わす係数のセグメントをエンコードするためのオーディオエンコーダ(100)であって、
    オーディオストリームから係数の前記セグメントをもたらすための手段であって、前記係数は前記オーディオストリームによって表わされるオーディオ信号のスペクトル表現を前記セグメント間で異なるスペクトル分解能で形成しているものの前記セグメントをもたらすための手段と、
    現在のセグメントの今回エンコードされる係数のための符号化コンテキストを、今回エンコードされる係数とは異なる時間分解能又は周波数分解能を表している以前のセグメントの以前にエンコードされた係数に基づいて導出するためのプロセッサ(110)と、
    前記符号化コンテキストに基づいて今回の係数をエントロピーエンコーディングして、エンコード済みのオーディオストリームを得るエントロピーエンコーダ(120)と、を備え、
    前記エントロピーエンコーダ(120)は、スペクトル係数のタプルを単位に今回の係数をエンコードするとともに、前記符号化コンテキストに基づいて前記タプルの範囲を予測するように構成されており、
    前記エントロピーエンコーダ(120)は、所定のファクタによる前記タプルの除算を、除算の結果が所定の範囲に適合するために必要なだけ実行するように構成され、前記タプルが前記予測範囲に位置しない場合に、必要な除算の回数、除算の余り及び除算の結果をエンコードするように構成され、前記タプルが前記予測範囲に位置する場合に、除算をしないで前記タプルを前記符号化コンテキストに基づくエントロピーエンコーディングを用いてエンコードするように構成されており、
    前記エントロピーエンコーダ(120)は、前記除算の結果又はタプルを前記符号化コンテキストに基づく確率分布の1つ以上のコードワードのグループに関するグループインデックスを使用してエンコードし、前記グループが2つ以上のコードワードを含む場合に、グループ内のコードワードに関するエレメントインデックスを一様な確率分布に基づいてエンコードするように構成され、前記除算の回数を除算を示すためだけに使用される特定のグループインデックスであるエスケープシンボルの数によってエンコードするように構成され、前記除算の余りを算術符号化規則を使用して一様な確率分布に基づいてエンコードするように構成されているオーディオエンコーダ(100)。
  9. サンプリングされたオーディオ信号を表わしているエンコード済みのオーディオストリームをデコードして、時間的に互いに連続し前記サンプリングされたオーディオ信号を表わしている、係数の一連のセグメントを、異なる変換長を用いて、異なる変換長が用いられるセグメントが前記サンプリングされたオーディオ信号をスペクトル的に異なる周波数分解能で表わすように得るためのオーディオデコーダ(200)であって、
    現在のセグメントの今回デコードされる係数のための符号化コンテキストを、現在のセグメントとは異なる周波数分解能及び変換長に対応する以前のセグメントの以前にデコードされた係数に基づいて導出するためのプロセッサ(210)、及び
    前記符号化コンテキスト及び前記エンコード済みのオーディオストリームに基づいて今回の係数をエントロピーデコーディングするためのエントロピーデコーダ(220)
    を備えているオーディオデコーダ(200)。
  10. 前記プロセッサは、以前のセグメント及び随意による現在のセグメントの以前のデコードされた隣接するスペクトル係数に基づいて、今回の係数についてスペクトル帯ごとの前記符号化コンテキストを導出するように構成されている請求項9に記載のオーディオデコーダ(200)。
  11. 前記エントロピーデコーダ(220)は、1つ以上のコードワードのグループを表わすグループインデックスを、前記符号化コンテキストから導出される確率分布に基づいて前記エンコード済みのオーディオストリームからデコードするように構成され、前記グループインデックスが2つ以上のコードワードを含むグループを示している場合に、前記エンコード済みのオーディオストリームからエレメントインデックスを一様な確率分布に基づいてデコードするように構成され、前記グループインデックス及び前記エレメントインデックスに基づいて現在のセグメントのスペクトル係数のタプルを導出して、スペクトル係数のタプルでのスペクトルドメイン表現を得るように構成されている請求項10に記載のオーディオデコーダ(200)。
  12. 前記エントロピーデコーダ(220)は、エスケープシンボル及び一組の利用可能なグループインデックスに対応するグループシンボルを含むシンボルアルファベットを使用して前記符号化コンテキストから導出される確率分布に基づいて前記エンコード済みのオーディオストリームから一連のシンボルをデコードし、前記一連のシンボルのグループシンボルが対応する利用可能なグループインデックスに基づき、前記エレメントインデックスに基づいて、スペクトル係数の予備的なタプルを導出し、前記予備的なタプルを前記一連のシンボル内のエスケープシンボルの数に応じたファクタで乗算することによって、スペクトル係数の前記タプルを得るように構成されている請求項11に記載のオーディオデコーダ(200)。
  13. 前記エントロピーデコーダ(220)は、算術符号化規則を使用して一様な確率分布に基づいて前記エンコード済みのオーディオストリームから除算の余りをデコードし、前記余りを前記乗算済みの予備的なタプルに加えて、スペクトル係数の前記タプルを得るように構成されている請求項12に記載のオーディオデコーダ(200)。
  14. 前記プロセッサ(210)及び前記エントロピーデコーダ(220)は以前のセグメントが現在のセグメントよりも細かいスペクトル分解能を呈する場合に以前のセグメントのスペクトル係数のダウンサンプリングに基づいて動作するように構成されており、並びに/又は前記プロセッサ(210)及び前記エントロピーデコーダ(220)は以前のセグメントが現在のセグメントよりも粗いスペクトル分解能を呈する場合に以前のセグメントのスペクトル係数のアップサンプリングに基づいて動作するように構成されている請求項9から13のいずれか一項に記載のオーディオデコーダ(200)。
  15. エンコード済みのオーディオストリームをデコードして、サンプリングされたオーディオ信号の異なる時間分解能又は周波数分解能を表わしている係数のセグメントを得るためのオーディオデコーダ(200)であって、
    現在のセグメントの今回デコードされる係数のための符号化コンテキストを、今回デコードされる係数とは異なる時間分解能又は周波数分解能を表わしている以前のセグメントの以前にデコードされた係数に基づいて導出するためのプロセッサ(210)、及び
    前記符号化コンテキスト及び前記エンコード済みのオーディオストリームに基づいて今回の係数をエントロピーデコーディングするためのエントロピーデコーダ(220)
    を備え、
    前記プロセッサ(210)は前記以前の係数に基づいて前記符号化コンテキストを導出するように構成され、前記係数は前記オーディオストリームによって表わされるオーディオ信号のスペクトル表現であって、前記セグメント間で異なるスペクトル分解能でのスペクトル表現を形成しているおり、
    前記プロセッサは、以前のセグメント及び随意による現在のセグメントの以前のデコードされた隣接するスペクトル係数に基づいて、今回の係数について前記符号化コンテキストを導出するように構成されており、
    前記エントロピーデコーダ(220)は、1つ以上のコードワードのグループを表わすグループインデックスを、前記符号化コンテキストから導出される確率分布に基づいて前記エンコード済みのオーディオストリームからデコードするように構成され、前記グループインデックスが2つ以上のコードワードを含むグループを示している場合に、前記エンコード済みのオーディオストリームからエレメントインデックスを一様な確率分布に基づいてデコードするように構成され、前記グループインデックス及び前記エレメントインデックスに基づいて現在のセグメントのスペクトル係数のタプルを導出して、スペクトル係数のタプルでのスペクトルドメイン表現を得るように構成されているオーディオデコーダ(200)。
  16. サンプリングされたオーディオ信号を表わしているエンコード済みのオーディオストリームをデコードして、時間的に互いに連続し前記デコード後のオーディオサンプルを表わす、係数の一連のセグメントを、異なる変換長を用いて、異なる変換長が用いられるセグメントが前記サンプリングされたオーディオ信号をスペクトル的に異なる周波数分解能で表わすように得るための方法であって、
    現在のセグメントの今回デコードされる係数のための符号化コンテキストを、現在のセグメントとは異なる周波数分解能及び変換長に対応する以前のセグメントの以前にデコードされた係数に基づいて導出するステップ、及び
    前記符号化コンテキスト及び前記エンコード済みのオーディオストリームに基づいて今回の係数をエントロピーデコーディングするステップ
    を含んでいる方法。
  17. コンピュータ又はプロセッサに請求項に記載の方法を実行させるためのコンピュータプログラム。
  18. コンピュータ又はプロセッサに請求項16に記載の方法を実行させるためのコンピュー タプログラム。
JP2011516973A 2008-07-11 2009-05-18 オーディオエンコーダ及びオーディオデコーダ Active JP5606433B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7984208P 2008-07-11 2008-07-11
US61/079,842 2008-07-11
US10382008P 2008-10-08 2008-10-08
US61/103,820 2008-10-08
PCT/EP2009/003521 WO2010003479A1 (en) 2008-07-11 2009-05-18 Audio encoder and audio decoder

Publications (2)

Publication Number Publication Date
JP2011527443A JP2011527443A (ja) 2011-10-27
JP5606433B2 true JP5606433B2 (ja) 2014-10-15

Family

ID=40886050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011516973A Active JP5606433B2 (ja) 2008-07-11 2009-05-18 オーディオエンコーダ及びオーディオデコーダ

Country Status (22)

Country Link
US (10) US8930202B2 (ja)
EP (10) EP4369609A3 (ja)
JP (1) JP5606433B2 (ja)
KR (1) KR101456641B1 (ja)
CN (1) CN102089813B (ja)
AR (1) AR072422A1 (ja)
AU (1) AU2009267543B2 (ja)
BR (4) BR122021008239B1 (ja)
CA (1) CA2729925C (ja)
CO (1) CO6351831A2 (ja)
DK (1) DK3573056T3 (ja)
ES (3) ES2731424T3 (ja)
FI (1) FI3573056T3 (ja)
HK (1) HK1253032A1 (ja)
MX (1) MX2011000379A (ja)
MY (1) MY160260A (ja)
PL (3) PL2301019T3 (ja)
PT (3) PT3300076T (ja)
RU (1) RU2487427C2 (ja)
TW (1) TWI449033B (ja)
WO (1) WO2010003479A1 (ja)
ZA (1) ZA201009258B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
MY160260A (en) * 2008-07-11 2017-02-28 Fraunhofer Ges Forschung Audio encoder and audio decoder
ES2796552T3 (es) 2008-07-11 2020-11-27 Fraunhofer Ges Forschung Sintetizador de señales de audio y codificador de señales de audio
CA2871268C (en) 2008-07-11 2015-11-03 Nikolaus Rettelbach Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
EP2315358A1 (en) 2009-10-09 2011-04-27 Thomson Licensing Method and device for arithmetic encoding or arithmetic decoding
PL2491553T3 (pl) 2009-10-20 2017-05-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału
JP5624159B2 (ja) * 2010-01-12 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
US8280729B2 (en) * 2010-01-22 2012-10-02 Research In Motion Limited System and method for encoding and decoding pulse indices
RU2586848C2 (ru) 2010-03-10 2016-06-10 Долби Интернейшнл АБ Декодер звукового сигнала, кодирующее устройство звукового сигнала, способы и компьютерная программа, использующие зависящее от частоты выборки кодирование контура деформации времени
EP4131258A1 (en) * 2010-07-20 2023-02-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, audio decoding method, audio encoder, audio encoding method and computer program
KR101742136B1 (ko) * 2011-03-18 2017-05-31 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 콘텐츠를 표현하는 비트스트림의 프레임들 내의 프레임 요소 배치
TWI451746B (zh) * 2011-11-04 2014-09-01 Quanta Comp Inc 視訊會議系統及視訊會議方法
US10844689B1 (en) 2019-12-19 2020-11-24 Saudi Arabian Oil Company Downhole ultrasonic actuator system for mitigating lost circulation
CN104303229B (zh) 2012-05-18 2017-09-12 杜比实验室特许公司 用于维持与参数音频编码器相关联的可逆动态范围控制信息的系统
JP6065452B2 (ja) * 2012-08-14 2017-01-25 富士通株式会社 データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム
TWI606440B (zh) * 2012-09-24 2017-11-21 三星電子股份有限公司 訊框錯誤隱藏裝置
KR20140089871A (ko) 2013-01-07 2014-07-16 삼성전자주식회사 대화형 서버, 그 제어 방법 및 대화형 시스템
JP6146069B2 (ja) 2013-03-18 2017-06-14 富士通株式会社 データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム
JP6224233B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用したオーディオ信号包絡の分割によるオーディオ信号包絡符号化、処理及び復号化の装置と方法
JP6224827B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法
EP2830061A1 (en) 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
WO2016142002A1 (en) * 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
GB2559199A (en) * 2017-01-31 2018-08-01 Nokia Technologies Oy Stereo audio signal encoder
CN115050378B (zh) * 2022-05-19 2024-06-07 腾讯科技(深圳)有限公司 音频编解码方法及相关产品

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
US5710562A (en) 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data
US5852806A (en) * 1996-03-19 1998-12-22 Lucent Technologies Inc. Switched filterbank for use in audio signal coding
WO1998051126A1 (en) * 1997-05-08 1998-11-12 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
IL129345A (en) * 1999-04-06 2004-05-12 Broadcom Corp Video encoding and video/audio/data multiplexing device
CN1244904C (zh) * 2001-05-08 2006-03-08 皇家菲利浦电子有限公司 声频信号编码方法和设备
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
CN1639984B (zh) * 2002-03-08 2011-05-11 日本电信电话株式会社 数字信号编码方法、解码方法、编码设备、解码设备
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
WO2003083856A1 (en) * 2002-03-28 2003-10-09 Craven Peter G Context coding
US7275036B2 (en) 2002-04-18 2007-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
KR100462611B1 (ko) 2002-06-27 2004-12-20 삼성전자주식회사 하모닉 성분을 이용한 오디오 코딩방법 및 장치
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7502743B2 (en) * 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
ES2297083T3 (es) * 2002-09-04 2008-05-01 Microsoft Corporation Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel.
US7299190B2 (en) * 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US7328150B2 (en) * 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
AU2002353389A1 (en) * 2002-12-20 2004-07-14 Nokia Corporation Method and device for organizing user provided information with meta-information
DE10328777A1 (de) * 2003-06-25 2005-01-27 Coding Technologies Ab Vorrichtung und Verfahren zum Codieren eines Audiosignals und Vorrichtung und Verfahren zum Decodieren eines codierten Audiosignals
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7509161B2 (en) * 2003-10-22 2009-03-24 Instrumentarium Corporation Method and apparatus for determining the cerebral state of a patient using generalized spectral entropy of the EEG signal
DE102004007200B3 (de) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
US20050185541A1 (en) * 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
KR20050087956A (ko) * 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
TWI246256B (en) * 2004-07-02 2005-12-21 Univ Nat Central Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation
MX2007000459A (es) * 2004-07-14 2007-07-25 Agency Science Tech & Res Codificacion y descodificacion de senales, basadas en contexto.
EP1785985B1 (en) * 2004-09-06 2008-08-27 Matsushita Electric Industrial Co., Ltd. Scalable encoding device and scalable encoding method
SE0402651D0 (sv) * 2004-11-02 2004-11-02 Coding Tech Ab Advanced methods for interpolation and parameter signalling
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US7196641B2 (en) * 2005-04-26 2007-03-27 Gen Dow Huang System and method for audio data compression and decompression using discrete wavelet transform (DWT)
US7966190B2 (en) 2005-07-11 2011-06-21 Lg Electronics Inc. Apparatus and method for processing an audio signal using linear prediction
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US20070036228A1 (en) * 2005-08-12 2007-02-15 Via Technologies Inc. Method and apparatus for audio encoding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070078645A1 (en) * 2005-09-30 2007-04-05 Nokia Corporation Filterbank-based processing of speech signals
US7974713B2 (en) * 2005-10-12 2011-07-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Temporal and spatial shaping of multi-channel audio signals
US8473298B2 (en) * 2005-11-01 2013-06-25 Apple Inc. Pre-resampling to achieve continuously variable analysis time/frequency resolution
ES2339888T3 (es) * 2006-02-21 2010-05-26 Koninklijke Philips Electronics N.V. Codificacion y decodificacion de audio.
KR101244310B1 (ko) * 2006-06-21 2013-03-18 삼성전자주식회사 광대역 부호화 및 복호화 방법 및 장치
KR101346358B1 (ko) * 2006-09-18 2013-12-31 삼성전자주식회사 대역폭 확장 기법을 이용한 오디오 신호의 부호화/복호화방법 및 장치
US7275936B1 (en) * 2006-09-22 2007-10-02 Lotes Co., Ltd. Electrical connector
US20080097757A1 (en) 2006-10-24 2008-04-24 Nokia Corporation Audio coding
WO2008111511A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体
US20080294446A1 (en) 2007-05-22 2008-11-27 Linfeng Guo Layer based scalable multimedia datastream compression
EP2015293A1 (en) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
US7774205B2 (en) 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US8325800B2 (en) * 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
CA2871268C (en) * 2008-07-11 2015-11-03 Nikolaus Rettelbach Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
MY160260A (en) * 2008-07-11 2017-02-28 Fraunhofer Ges Forschung Audio encoder and audio decoder
EP2144230A1 (en) * 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
US8660176B2 (en) * 2008-09-26 2014-02-25 Qualcomm Incorporated Resolving geometric relationships among video data units
PL2491553T3 (pl) * 2009-10-20 2017-05-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału
JP5624159B2 (ja) * 2010-01-12 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
EP2717261A1 (en) * 2012-10-05 2014-04-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for backward compatible multi-resolution spatial-audio-object-coding
EP2830058A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequency-domain audio coding supporting transform length switching
MY181965A (en) * 2013-10-18 2021-01-15 Fraunhofer Ges Forschung Coding of spectral coefficients of a spectrum of an audio signal

Also Published As

Publication number Publication date
RU2011102424A (ru) 2012-07-27
EP3937167B1 (en) 2023-05-10
WO2010003479A1 (en) 2010-01-14
PL2301019T3 (pl) 2018-04-30
US20240249736A1 (en) 2024-07-25
BR122021007798B1 (pt) 2021-10-26
US20240249735A1 (en) 2024-07-25
EP4224472A1 (en) 2023-08-09
EP4376305A2 (en) 2024-05-29
ZA201009258B (en) 2011-11-30
EP4369609A2 (en) 2024-05-15
MX2011000379A (es) 2011-02-25
PL3573056T3 (pl) 2022-12-19
EP3573056B1 (en) 2022-08-17
BRPI0910796A2 (pt) 2020-11-03
EP4224472C0 (en) 2024-07-31
ES2651437T3 (es) 2018-01-26
BR122021008239B1 (pt) 2022-03-03
PT3573056T (pt) 2022-10-24
EP3300076B1 (en) 2019-04-24
US20110173007A1 (en) 2011-07-14
US20230260524A1 (en) 2023-08-17
EP4376305A3 (en) 2024-07-03
BR122021007875B1 (pt) 2022-02-22
HK1253032A1 (zh) 2019-06-06
EP4376307A3 (en) 2024-07-10
EP4224471B1 (en) 2024-08-07
PL3300076T3 (pl) 2019-11-29
MY160260A (en) 2017-02-28
FI3573056T3 (fi) 2022-11-30
EP4224471A3 (en) 2023-09-06
US11942101B2 (en) 2024-03-26
EP4376306A3 (en) 2024-07-03
CA2729925C (en) 2016-03-29
US20230326470A1 (en) 2023-10-12
US10685659B2 (en) 2020-06-16
AU2009267543B2 (en) 2013-01-31
CN102089813A (zh) 2011-06-08
EP2301019B1 (en) 2017-10-04
US8930202B2 (en) 2015-01-06
EP4369609A3 (en) 2024-05-22
JP2011527443A (ja) 2011-10-27
ES2731424T3 (es) 2019-11-15
TW201007698A (en) 2010-02-16
CA2729925A1 (en) 2010-01-14
CN102089813B (zh) 2013-11-20
DK3573056T3 (da) 2022-10-03
US20190189136A1 (en) 2019-06-20
EP3573056A1 (en) 2019-11-27
US20240249733A1 (en) 2024-07-25
TWI449033B (zh) 2014-08-11
KR101456641B1 (ko) 2014-11-04
US11670310B2 (en) 2023-06-06
CO6351831A2 (es) 2011-12-20
EP4224471A2 (en) 2023-08-09
US20150194160A1 (en) 2015-07-09
US20200294515A1 (en) 2020-09-17
PT2301019T (pt) 2017-12-26
RU2487427C2 (ru) 2013-07-10
EP4224471C0 (en) 2024-08-07
US12039985B2 (en) 2024-07-16
PT3300076T (pt) 2019-07-17
ES2934052T3 (es) 2023-02-16
EP4224472B1 (en) 2024-07-31
EP2301019A1 (en) 2011-03-30
EP4376307A2 (en) 2024-05-29
KR20110040822A (ko) 2011-04-20
US20240249734A1 (en) 2024-07-25
EP3937167A1 (en) 2022-01-12
AR072422A1 (es) 2010-08-25
AU2009267543A1 (en) 2010-01-14
BRPI0910796B1 (pt) 2021-07-13
US10242681B2 (en) 2019-03-26
EP4376306A2 (en) 2024-05-29
EP3300076A1 (en) 2018-03-28

Similar Documents

Publication Publication Date Title
JP5606433B2 (ja) オーディオエンコーダ及びオーディオデコーダ
BR122021006965B1 (pt) Codificador de áudio e decodificador de áudio
BR122021007770B1 (pt) Codificador de áudio e decodificador de áudio

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130619

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140618

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: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140826

R150 Certificate of patent or registration of utility model

Ref document number: 5606433

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250