(57)【特許請求の範囲】
【請求項１】
オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使用された量子化区間の数に対応する、段階と；
前記エンコードされたフレームから変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的に前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの前記仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを含む、
方法。
【請求項２】
前記指数プロファイル・データが指数差分データを含む、請求項１記載の方法。
【請求項３】
前記指数差分データは５つの差分状態に対応する、請求項２記載の方法。
【請求項４】
前記指数差分データは指数差対を含む、請求項２記載の方法。
【請求項５】
前記仮数値を量子化解除することが、ある周波数についての仮数値を、その周波数についての指数差対に対応する量子化解除方法に従って量子化解除することを含む、請求項４記載の方法。
【請求項６】
前記周波数についての前記指数差対は、より低い周波数についての指数に対する第一の指数差と、より高い周波数についての指数に対する第二の指数差を含む、請求項５記載の方法。
【請求項７】
仮数値を量子化するプロセスの間に使われた前記量子化区間は一様な量子化区間である、請求項１ないし６のうちいずれか一項記載の方法。
【請求項８】
仮数値を量子化するプロセスの間に使われた量子化値は、量子化区間の境界の間の中点に対応し、少なくともいくつかの量子化解除値は量子化区間の前記境界の間の中点に対応しない、請求項１ないし７のうちいずれか一項記載の方法。
【請求項９】
前記量子化解除方法の少なくともいくつかは、前記エンコードされたフレームの仮数値を量子化するプロセスの間に使われた量子化値とは異なる量子化解除値の適用を含む、請求項１ないし８のうちいずれか一項記載の方法。
【請求項１０】
前記指数プロファイル・データは、前記エンコードされたフレームにおける対応する仮数値がない指数についてのデータを含む、請求項１ないし９のうちいずれか一項記載の方法。
【請求項１１】
インターフェースおよび論理システムを有する装置であって、
前記論理システムは：
前記インターフェースから、オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使用された量子化区間の数に対応する、段階と；
前記エンコードされたフレームから変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的に前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの前記仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを実行するよう構成されている、
装置。
【請求項１２】
前記エンコードされたフレームはAC-3フォーマットまたは向上AC-3フォーマットである、請求項１１記載の装置。
【請求項１３】
前記論理システムが、汎用の単一チップまたは複数チップ・プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラム可能なゲート・アレイ（FPGA）または他のプログラム可能論理デバイス、離散的なゲートまたはトランジスタ論理または離散的なハードウェア・コンポーネントのうちの少なくとも一つを含む、請求項１１または１２記載の装置。
【請求項１４】
メモリ・デバイスをさらに有する請求項１１ないし１３のうちいずれか一項記載の装置であって、前記インターフェースが、前記論理システムと前記メモリ・デバイスとの間のインターフェースを有する、装置。
【請求項１５】
前記インターフェースがネットワーク・インターフェースを有する、請求項１１ないし１４のうちいずれか一項記載の装置。
【請求項１６】
前記指数プロファイル・データが指数差分データを含む、請求項１１ないし１５のうちいずれか一項記載の装置。
【請求項１７】
前記指数差分データが複数の周波数のそれぞれに対応する指数差対を含む、請求項１６記載の装置。
【請求項１８】
データ構造が記憶されているメモリをさらに有する請求項１６または１７記載の装置であって、前記データ構造は、複数の量子化解除方法および対応する指数差分データを含んでいる、装置。
【請求項１９】
前記論理システムが、前記データ構造を参照することによって、指数差分データに対応する量子化解除方法を決定するよう構成されている、請求項１８記載の装置。
【請求項２０】
ソフトウェアが記憶されている非一時的な媒体であって、前記ソフトウェアが：
オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使われた量子化区間の数に対応する、段階と；
前記エンコードされたフレームから、変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを実行するようデコード装置を制御するための命令を含んでいる、媒体。
【請求項２１】
時間領域の第一のオーディオ・データを受領する段階と；
前記第一のオーディオ・データを周波数領域の第二のオーディオ・データに変換する段階であって、前記第二のオーディオ・データは変換係数を含む、段階と；
前記変換係数から、指数プロファイル・データを含む指数データを決定する段階と；
前記指数データに応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記変換係数の仮数値を量子化するプロセスの間に使用されるべき量子化区間の数に対応する、段階と；
少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記変換係数の仮数値についての複数の量子化方法を決定する段階と；
前記複数の量子化方法に従って前記仮数値を量子化する段階とを含む、
方法。
【請求項２２】
前記第二のオーディオ・データ、前記指数データおよび前記量子化された仮数値を含むエンコードされたフレームを形成する段階をさらに含む、請求項２１記載の方法。
【請求項２３】
仮数値を量子化するプロセスの間に使われる一つまたは複数の量子化値は、量子化区間の境界の間の中点に対応しない、請求項２１または２２記載の方法。
【請求項２４】
前記量子化方法の一つまたは複数は、一様に離間していない境界をもつ量子化区間を使う、請求項２１ないし２３のうちいずれか一項記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は2012年4月25日に出願された米国仮特許出願第61/638,090号および2012年7月27日に出願された米国実用特許出願第13/560,144号の優先権を主張するものである。これらの出願の内容は、ここに参照によってその全体において組み込まれる。
【０００２】
技術分野
本開示は、オーディオ信号のエンコードまたはエンコードされたオーディオ信号のデコードに関する。特に、本開示は、量子化および逆量子化プロセスに関する。
【背景技術】
【０００３】
オーディオおよびビデオ・データのためのデジタル・エンコードおよびデコード・プロセスの発展は、エンターテインメント・コンテンツの送達に有意な影響を持ち続けている。メモリ装置の増大した容量およびますます高い帯域幅での広く利用可能なデータ送達にもかかわらず、記憶および／または伝送されるべきデータの量を最小化しようとする圧力は続いている。オーディオおよびビデオ・データはしばしば一緒に送達され、オーディオ・データのための帯域幅はしばしばビデオ部分の要求によって制約される。
【０００４】
よって、オーディオ・データはしばしば高い圧縮率で、時に30:1またはそれ以上の圧縮率でエンコードされる。適用される圧縮の量とともに信号歪みが増すので、デコードされたオーディオ・データの忠実度とエンコードされたデータの記憶および／または伝送の効率との間でトレードオフがなされてもよい。
【０００５】
さらに、エンコードおよびデコード・アルゴリズムの複雑さを低下させることが望ましい。エンコード・プロセスに関する追加的なデータのエンコードは、デコード・プロセスを単純化することができるが、追加的なエンコードされるデータを記憶および／または伝送するという代償を払ってである。したがって、パラメトリックな後方適応方法（parametric  backward  adaptive  methods）では、各仮数についてのビット割り当てデータはエンコードされない。その代わり、デコーダは、他のエンコードされている情報からビット割り当てデータを再計算する必要がある。そのような方法は、エンコードされるデータを少なくできるが、デコーダ側で相対的により大きな複雑さを必要とする。同様に、損失のある仮数エンコード・プロセスは、かなりのデータ圧縮を許容するものの、もとの仮数値についてのいくらかの情報がエンコード・プロセスにおいて、特に仮数量子化プロセスの間に失われる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既存のオーディオ・エンコードおよびデコード方法は一般に満足いくものであるが、改善された方法が望ましいであろう。
【課題を解決するための手段】
【０００７】
本開示において記載される主題のいくつかの側面は、エンコードまたはデコード方法において実装されることができる。いくつかのそのような方法は、変換係数データを含むエンコードされたオーディオ・データのフレームを受領することに関わってもよい。変換係数データは、指数（exponent）データおよび仮数（mantissa）データを含んでいてもよい。仮数データは、量子化区間の一様または非一様な境界をもってエンコードされた仮数値を含んでいてもよい。仮数値は、少なくとも部分的に指数についての情報に基づいて再構築されてもよい。そのような情報は、本稿では、指数プロファイル・データと称されることがある。該指数プロファイル・データに基づいて、事前量子化（pre-quantization）仮数値に関する統計が推定されてもよい。
【０００８】
いくつかの実装によれば、指数プロファイル・データは指数差分データを含んでいてもよい。いくつかのそのような指数差分データは指数差対であってもよいが、代替的な実装では二つより多くの指数差分データ点が評価されてもよい。各周波数ビンにおいて、仮数値再構成は、指数差分データ、たとえば指数差対を条件として調整されてもよい。
【０００９】
本稿に記載されるいくつかの方法は、オーディオ・データを含むエンコードされたフレームを受領し、前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定することを含む。量子化器分解能データは、エンコードされたフレームのオーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使用された量子化区間の数に対応していてもよい。本方法は、エンコードされたフレームから変換係数の指数プロファイル・データを決定し、少なくとも部分的に前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの仮数値について複数の量子化解除方法を決定することを含んでいてもよい。本方法はまた、前記量子化解除方法に従って前記仮数値を量子化解除することを含んでいてもよい。
【００１０】
指数プロファイル・データは、指数差分データを含んでいてもよい。いくつかのそのような実装では、指数差分データは５つの差分状態に対応していてもよい。指数差分データはたとえば、指数差対を含んでいてもよい。仮数値を量子化解除することは、ある周波数についての仮数値を、その周波数についての指数差対に対応する量子化解除方法に従って量子化解除することを含んでいてもよい。前記周波数についての指数差対は、より低い周波数についての指数に対する第一の指数差と、より高い周波数についての指数に対する第二の指数差を含んでいてもよい。
【００１１】
いくつかの実装では、仮数値を量子化するプロセスの間に使われた量子化区間は一様な量子化区間であってもよい。しかしながら、他の実装では、量子化区間は一様な量子化区間でなくてもよい。仮数値を量子化するプロセスの間に使われた量子化値は、いくつかの実装では、量子化区間の境界の間の中点に対応してもよい。しかしながら、少なくともいくつかの量子化解除値は量子化区間の境界の間の中点に対応しなくてもよい。
【００１２】
前記量子化解除方法の少なくともいくつかは、エンコードされたフレームの仮数値を量子化するプロセスの間に使われた量子化値とは異なる量子化解除値の適用を含んでいてもよい。いくつかの実装では、指数プロファイル・データは、前記エンコードされたフレームにおける対応する仮数値がない指数についてのデータを含んでいてもよい。
【００１３】
本稿に記載されるいくつかの実装は、一つまたは複数のインターフェースおよび論理システムを含む装置を提供する。論理システムは、汎用の単一チップまたは複数チップ・プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラム可能なゲート・アレイ（FPGA）または他のプログラム可能論理デバイス、離散的なゲートまたはトランジスタ論理または離散的なハードウェア・コンポーネントのうちの一つまたは複数を含んでいてもよい。論理システムは、インターフェースから、オーディオ・データを含むエンコードされたフレームを受領し、前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定するよう構成されていてもよい。エンコードされたフレームは、AC-3フォーマットまたは向上AC-3フォーマットのようなさまざまなフォーマットの一つであってもよい。量子化器分解能データは、前記エンコードされたフレームのオーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使われる量子化区間の数に対応してもよい。
【００１４】
論理システムはまた、エンコードされたフレームから、変換係数の指数プロファイル・データを決定するよう構成されていてもよい。論理システムは、少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの仮数値について複数の量子化解除方法を決定するよう構成されていてもよい。論理システムはまた、前記複数の量子化解除方法に従って仮数値を量子化解除するよう構成されていてもよい。
【００１５】
前記装置は、メモリ・デバイスを含んでいてもよい。前記インターフェースは、前記論理システムと前記メモリ・デバイスとの間のインターフェースであってもよい。代替的または追加的に、前記インターフェースはネットワーク・インターフェースを有していてもよい。
【００１６】
いくつかの実装では、指数プロファイル・データは指数差分データを含んでいてもよい。たとえば、指数差分データは複数の周波数のそれぞれに対応する指数差対を含んでいてもよい。いくつかのそのような実装では、前記装置は、データ構造が記憶されているメモリを含む。データ構造は、複数の量子化解除方法および対応する指数差分データを記憶していてもよい。論理システムは、このデータ構造を参照することによって、指数差分データに対応する量子化解除方法を決定するよう構成されていてもよい。
【００１７】
本稿に記載されるいくつかの実装は、ソフトウェアが記憶されている非一時的な媒体において実装されてもよい。前記ソフトウェアは、オーディオ・データを含むエンコードされたフレームを受領し、前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定するようデコード装置を制御するための命令を含んでいてもよい。前記量子化器分解能データは、前記エンコードされたフレームのオーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使われる量子化区間の数に対応してもよい。
【００１８】
前記ソフトウェアは、前記エンコードされたフレームから、変換係数の指数プロファイル・データを決定し、少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの仮数値について複数の量子化解除方法を決定するようデコード装置を制御するための命令を含んでいてもよい。前記ソフトウェアは、前記複数の量子化解除方法に従って仮数値を量子化解除するようデコード装置を制御するための命令を含んでいてもよい。
【００１９】
本稿では代替的な方法が与えられる。いくつかのそのような方法は、時間領域で第一のオーディオ・データを受領し、前記第一のオーディオ・データを周波数領域の第二のオーディオ・データに変換することを含んでいてもよい。前記第二のオーディオ・データは変換係数を含んでいてもよい。上記の諸方法は、前記変換係数から、指数プロファイル・データを含む指数データを決定し、該指数データに応答して量子化器分解能データを決定することを含んでいてもよい。量子化器分解能データは、前記変換係数の仮数値を量子化するプロセスの間に使用されるべき量子化区間の数に対応していてもよい。上記の諸方法は、少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記変換係数の仮数値についての複数の量子化方法を決定することを含んでいてもよい。上記の諸方法は、前記複数の量子化方法に従って仮数値を量子化することを含んでいてもよい。
【００２０】
上記の諸方法は、前記第二のオーディオ・データ、前記指数データおよび前記量子化された仮数値を含むエンコードされたフレームを形成することを含んでいてもよい。いくつかの実装では、仮数値を量子化するプロセスの間に使われる一つまたは複数の量子化値は、量子化区間の境界の間の中点に対応しなくてもよい。前記量子化方法の一つまたは複数は、一様に離間していない境界をもつ量子化区間を使ってもよい。
【００２１】
本開示の代替的な諸側面は、少なくとも一つのインターフェースおよび論理システムを含む装置において実装されてもよい。論理システムは、インターフェースから、周波数領域の第一のオーディオ・データ、指数データおよび量子化された仮数値を含むエンコードされたフレームを受領するよう構成されていてもよい。量子化された仮数値は、少なくとも部分的には量子化器分解能データと、前記指数データから決定される指数プロファイル・データとに基づく諸量子化方法に従って仮数値を決定されてもよい。
【００２２】
論理システムは、量子化された仮数値から量子化解除された仮数値を決定し、部分的に量子化解除された仮数値に基づいて変換係数を決定し、前記変換係数を使って逆変換演算を実行して時間領域の第二のオーディオ・データを生成するよう構成されていてもよい。
【００２３】
本明細書に記載される主題の一つまたは複数の実装は、付属の図面および以下の記述において記述される。以下の記述、図面および請求項から、他の特徴、側面および利点が明白になるであろう。図面における相対的な寸法は縮尺通りに描かれていないことがあることを注意しておく。
【図面の簡単な説明】
【００２４】
【図１】オーディオ・エンコード・プロセスの例を示す流れ図である。
【図２】Ａは、絶対指数値に対する指数テンティング（tenting）プロセスの一例の結果を示すグラフである。Ｂは、差分指数値を示すグラフである。
【図３Ａ】３レベルの対称的な量子化プロセスの例を描くグラフである。
【図３Ｂ】４レベルの非対称的な量子化プロセスの例を描くグラフである。
【図４】オーディオ・デコード・プロセスの例を示す流れ図である。
【図５】条件付きの逆量子化器に関わる代替的なオーディオ・デコード・プロセスの例を示す流れ図である。
【図６Ａ】変換係数値の確率密度関数の例を示すグラフである。
【図６Ｂ】図６Ａの変換係数の仮数および選択された指数値についての確率密度関数の例を示すグラフである。
【図６Ｃ】図６Ａの変換係数の仮数および選択された指数値についての確率密度関数の例を示すグラフである。
【図６Ｄ】図６Ａの変換係数の仮数および選択された指数値についての確率密度関数の例を示すグラフである。
【図７】さまざまな周波数での指数値の例を示すグラフである。
【図８】後方指数差分（backward  exponent  differential）および前方指数差分（forward  exponent  differential）に基づく、規格化された仮数分散の例を描く図である。
【図９】条件付き逆量子化器を用いたオーディオ・デコードの方法のためのパラメータを確立するプロセスの例を示す流れ図である。
【図１０】エンコーダまたはデコーダ装置のコンポーネントの例を与えるブロック図である。  さまざまな図面における同様の参照符号および記号は同様の要素を示す。
【発明を実施するための形態】
【００２５】
以下の記述は、本開示のいくつかの革新的な側面を記述するためのある種の実装およびそうした革新的な側面が実装されうるコンテキストの例に向けられる。しかしながら、本稿の教示はさまざまな異なる仕方で適用できる。本願において与えられる例は主としてAC-3オーディオ・コーデック（「ドルビー・デジタル」としても知られる）および向上AC-3オーディオ・コーデック（E-AC-3または「ドルビー・デジタル・プラス」としても知られる）を使って記述されるが、本稿で与えられる概念は、MPEG-2  AACおよびMPEG-4  AACを含むがこれに限られない他のオーディオ・コーデックにも当てはまる。さらに、記述された実装は、携帯電話、スマートフォン、デスクトップ・コンピュータ、ハンドヘルドまたはポータブル・コンピュータ、ネットブック、ノートブック、スマートブック、タブレット、ステレオ・システム、テレビジョン、DVDプレーヤー、デジタル記録装置および多様な他の装置に含まれていてもよいさまざまなオーディオ・エンコーダおよび／またはデコーダにおいて実装されてもよい。よって、本開示の教示は、図面に示されるおよび／または本稿に記載される実装に限定されることは意図されておらず、広い適用可能性をもつものである。
【００２６】
図１は、オーディオ・エンコード・プロセスの例を示す流れ図である。本願において図示および／または記述される他のプロセスと同様に、オーディオ・エンコード・プロセス１００の動作は必ずしも示されている順序で実行されない。さらに、本願で提供されるプロセスは、図示および／または記述されているより多数または少数のブロックを含んでいてもよい。オーディオ・エンコード・プロセス１００および本願で記述される他のオーディオ・エンコードおよびデコード・プロセスは、少なくとも部分的に、ハードウェア、ファームウェア、非一時的媒体上に記録されたソフトウェアなどを介して実装されることのできるオーディオ・エンコーダおよび／またはデコーダによって実行されてもよい。
【００２７】
オーディオ・エンコード・プロセス１００において、時間領域の入力サンプル１０２は変換プロセス１０４において周波数領域に変換される。入力サンプル１０２は、各フレームにおいて複数のブロックをもつオーディオ・データ・フレームにグループ化されてもよい。いくつかのそのような例では、変換プロセス１０４は、入力サンプル１０２から変換係数１０６ａを生成する修正離散コサイン変換（MDCT）に関わる。しかしながら、（高速フーリエ変換またはさまざまな分解フィルタバンク、すなわち直交ミラー・フィルタバンク（QMF）のような）他の変換方法が代替的な実装において使用されてもよい。入力サンプル１０２のブロックは、窓掛けされ（windowed）、重複され（overlapped）てもよい。変換プロセス１０４からの出力は、ある種の値内に制約されてもよい。たとえば、MDCTの出力は、−1.0から1.0までの間に制約されている「端数表現（fractional  representation）」であってもよい。
【００２８】
プロセス１０８では、端数表現がその後の処理のための浮動小数点表現に変換される。いくつかの実装では、プロセス１０８の出力は、仮数値および指数値をもつ変換係数であってもよい。いくつかのそのような実装では、プロセス１０８の出力は次の形
X＝Y2-k        [式１]
であってもよい。
【００２９】
式１において、Xは変換係数１０６ａを表わし、Ｙは仮数値１１２ａを表わし、kは指数値１１０を表わす（図１参照）。いくつかの実装では、仮数値１１２ａおよび指数値１１０は、所定の範囲内にはいるよう制約されていてもよい。たとえば、AC-3オーディオ・コーデックでのエンコードのために、指数値１１０は0以上であってもよい。仮数値１１２ａは、0.5以上かつ1.0以下に制約されてもよい。
【００３０】
指数値１１０は、該指数値１１０がオーディオ・データのエンコードされたフレーム１３０に含められるプロセス１２８の前に、多様な仕方で処理されてもよい。いくつかの実装では、指数値１１０は、時間および／または周波数を横断してグループ化されてもよい。そのようなグループ化は、指数値が時間的におよび／または周波数を横断して比較的ゆっくり変化している場合により望ましいことがある。
【００３１】
たとえば、指数値１１０は、周波数のある範囲を表わしていてもよい各周波数成分（本稿では「ビン」または「周波数ビン」とも称される）について、単一の指数値１１０をもってエンコードされてもよい。あるいはまた、指数値１１０は、複数のビンについて（たとえば２個、４個またはそれ以上のビンについて）単一の指数値１１０をもってエンコードされてもよい。指数値１１０が複数の周波数ビンを横断してグループ化される場合、それらのビンのいくつかに対応する指数値１１０は変わる必要があることがある。その場合、対応する仮数値１１２ａは、変換係数１０６ａのそれぞれを等価な値に維持するために、変えられてもよい。
【００３２】
同様に、指数値１１０は、時間を横断してグループ化されてもされなくてもよい。グループ化されない場合、各ブロックについて異なる指数値１１０がエンコードされてもよい。しかしながら、単一の指数値１１０が複数のブロックを横断して共有される場合は、他のブロックにおける指数値１１０のいくつかは変わる必要がある。その場合、対応する仮数値１１２ａは、各変換係数１０６ａについての等価な値を維持するために、変えられてもよい。
【００３３】
指数値１１０の変化に従って仮数値１１２ａが変えられるとき、無損失な仕方でそうすることが望ましい。いくつかの実装では、対応する指数値１１０が変えられるときに仮数値１１２ａがある閾値より上に調整されたとしたら、仮数値１１２ａはある最大値（たとえば1.0）に「クリッピングされる」。そのような「クリッピング」は信号歪みを導入する。よって、対応する指数値１１０が変えられるときに仮数値１１２ａを閾値より上に調整する代わりに、より低い仮数値１１２ａをもつ変換係数１０６ａの等価な値をエンコードすることが好ましいことがありうる。
【００３４】
図２Ａは、絶対指数値に対する指数テンティング（tenting）プロセスの一例の結果を示すグラフである。この例では、グラフ２２０は、絶対指数値１１０および対応する周波数ビン２２５のシーケンスを描いている。この例では、隣接する指数値１１０の間の差分が±12dB未満となるよう制約される。ここで、隣接するビン２２５ｉおよび２２５ｊにおけるそれぞれ指数値１１０ａおよび１１０ｂの間の差分は12dBを超える。よってビン２２５ｊについての指数値は、この指数テンティング・プロセスの結果として、１１０ｂから１１０ｃに減らされる。この例では、対応する仮数値１１２ａは、対応する変換係数１０６ａについての等価な値を維持するために調整される。
【００３５】
図２のＢは、差分指数値を示している。図２のＢのグラフ２５０に示される差分指数値２２５は、指数テンティング・プロセス後の図２のＡの絶対指数値の間の差に対応する。たとえば、差分指数値２２５ａ（−1）は、ビン２２５ｂの指数値１１０とビン２２５ａの指数値１１０との間の差に対応する。差分指数値２２５ｂ（−2）は、ビン２２５ｃの指数値１１０とビン２２５ｂの指数値１１０との間の差に対応する。
【００３６】
この例において、差分指数値２５５は、−2から2までの範囲内にはいるよう制約され、5つの可能な状態をもつ：−2、−1、0、1または2である。したがって、差分指数値２２５ｉ（ビン２２５ｊの指数値１１０とビン２２５ｉの指数値１１０との間の差に対応する）は3から2に減らされている。再び図１を参照するに、これらの差分指数値２５５は、ビットストリーム・パッキング・プロセス１２８の間に、エンコードされたフレーム１３０の指数データ１２０に含められてもよい。指数データ１２０は、本稿で指数プロファイル・データと称されるものを含んでいてもよい。いくつかの実装では、指数プロファイル・データは、指数データ１２０から導出されてもよい。指数プロファイル・データを使ういくつかの例について以下で述べる。
【００３７】
ここで、仮数値１１２ａのエンコードのいくつかの例を述べる。ビット割り当てプロセス１１４は、仮数値１１２ａのそれぞれについて最適な量子化器分解能を決定することを含んでいてもよい。たとえば、オーバーヘッド、指数エンコードなどのために必要とされるビット数が、フレーム当たりに利用可能な全ビット数から減算されてもよい。パワースペクトル密度、各ビンについてのスペクトル・エネルギーの推定値が、指数値１１０から、または参照指数値および差分指数値２５５を使うことによって、計算されてもよい。
【００３８】
人間の聴覚の音響心理学的属性を取り入れるマスキング曲線が計算され、各ビンについてのパワースペクトル密度と比較されてもよい。いくつかのそのような実装では、マスキング曲線は、複数の周波数帯のそれぞれに適用される。人間の聴覚の絶対的な閾値が適用されてもよい。
【００３９】
前記パワースペクトル密度と各ビンについての対応するマスク値との間の差を表わす信号対マスク比が計算されてもよい。いくつかの実装では、量子化器分解能は、信号対マスク比に基づいていてもよい。たとえば、仮数量子化プロセス１１６の間に適用される量子化器分解能は、信号対マスク比に比例していてもよい。いくつかの実装では、エンコードされるフレーム１３０に含まれるビット割り当てパラメータ１１８は、この量子化器分解能と対応してもよい。よって、エンコードされたフレーム１３０のビット割り当てパラメータ１１８は、仮数量子化プロセス１１６の間に使用される量子化区間の数に対応する量子化器分解能データを含んでいてもよい。しかしながら、代替的な実装では、ビット割り当てパラメータ１１８はエンコードされたフレーム１３０に含まれない。ドルビー・デジタルおよびドルビー・デジタル・プラスのようなパラメトリックな後方適応実装では、ビット割り当てパラメータ１１８（または量子化器分解能に対応する他のデータ）は、エンコードされたフレームに含まれる指数データ、マスキング曲線オフセット・データなどから、デコーダによって計算されてもよい。そのような方法は、エンコードされるべきデータを少なくできるが、デコーダ側で相対的により大きな複雑さを必要とする。
【００４０】
いくつかの実装では、各ビンについてのマスキング曲線値（または人間の聴覚の絶対的な閾値）を越えるパワースペクトル密度値に対応するビットのみが、エンコードされるフレーム１３０に含まれる。しかしながら、パワースペクトル密度値がマスキング曲線値を超える度合いは時間を追って実質的に変わりうる。したがって、潜在的にエンコードされることのできるビットの対応する数も時間を追って実質的に変わりうる。
【００４１】
そのような多様性を補償するため、いくつかのエンコーダ実装は、利用可能なビット数についての信号対マスク比を最適にするよう逐次反復的な探索に関わる。いくつかのそのような実装では、潜在的にエンコードされうるビット数が利用可能なビット数を超える場合、マスキング曲線は上にシフトされてもよい。潜在的にエンコードされうるビット数が利用可能なビット数より少ない場合には、マスキング曲線は下にシフトされてもよい。利用可能なビット数を超えることなくできるだけ多くのビットを使うことにつながる最適なマスキング曲線オフセットが決定されうる。
【００４２】
ここで、仮数量子化プロセス１１６のいくつかの例について述べる。上記のように、仮数量子化プロセス１１６の量子化器分解能は、信号対マスキング比に基づいていてもよい。いくつかのエンコード実装は、かなりの数の可能な量子化器分解能に関わりうる。
【００４３】
たとえばドルビー・デジタルは、16個の可能な量子化器分解能を含み、そのそれぞれがビット割り当てポインタ値に対応する。ビット割り当てポインタ0は、パワースペクトル密度値がマスキング曲線または絶対聴覚閾値のレベルを下回ったため、あるサンプルについて仮数値がエンコードされないインスタンスに対応する。ビット割り当てポインタ1は３レベルの対称的な量子化プロセスに対応する。ビット割り当てポインタ2〜5は５レベル、７レベル、１１レベルおよび１５レベルの対称的な量子化プロセスに対応する。ビット割り当てポインタ6〜16は、2nレベルの非対称的な量子化プロセスに対応する。ここで、nは5〜12、14または16の範囲内の整数であってもよい。
【００４４】
図３Ａは、３レベルの対称的な量子化プロセスの例を描くグラフである。この例では、量子化区間３０５は一様であり、量子化区間３０５ａ、３０５ｂおよび３０５ｃはそれぞれ2/3である。中点３１０は、量子化区間３０５の境界３１５を参照して決定されうる。たとえば、中点３１０ａは、量子化区間３０５ａの境界３１５ａと３１５ｂの間の中間点である。
【００４５】
グラフ３００では、仮数量子化プロセス１１６の間に適用される量子化値１２２は、量子化区間３０５の中点３１０に対応する。たとえば、量子化区間３０５ａの中点３１０ａは−2/3であり、これが量子化された仮数値１２２ａに対応する。同様に、量子化区間３０５ｃの中点３１０ｃは2/3であり、これが量子化された仮数値１２２ｃに対応する。
【００４６】
代替的な量子化プロセス１１６は、一様な量子化区間３０５の適用に関わってもそうでなくてもよい。さらに、代替的な量子化プロセス１１６は、量子化値３２０と量子化区間３０５の中点３１０との間の対応に関わってもそうでなくてもよい。一つのそのような代替的な量子化プロセス１１６のためのパラメータが図３Ｂに示されている。
【００４７】
図３Ｂは、４レベルの非対称的な量子化プロセスの例を描くグラフである。この例では、量子化区間３０５は1/4（量子化区間３０５ｄ参照）から3/4（量子化区間３０５ｇ参照）までの範囲である。量子化区間３０５ｅおよび３０５ｆはこの例では1/2である。量子化区間３０５ｅおよび３０５ｆについては、中点３１０ｅおよび３１０ｆが量子化された仮数値１２２ｅおよび１２２ｆに対応する。しかしながら、量子化区間３０５ｄおよび３０５ｇの中点３１０ｄおよび３１０ｇは量子化された仮数値１２２ｄおよび１２２ｇに対応しない。
【００４８】
いくつかの代替的な非一様な量子化プロセス１１６はベクトル量子化に関わる。いくつかのベクトル量子化方法は、多次元データ・ベクトルが単一の符号語によって表わされることを許容する。符号語は、ベクトルのあらかじめ定義されたデータ構造（たとえばテーブル）のある特定のベクトルに対応してもよい。符号語の長さは、該データ構造中のベクトルの数に依存してもよい。相対的により多くのベクトルが相対的により長い符号語に対応しうる。
【００４９】
たとえば、ドルビー・デジタル・プラスのいくつかの量子化プロセス１１６は、符号語が2ビットから9ビットまでの範囲でありうるベクトル量子化に関わる。単一の符号語が各仮数ベクトルを表わすために使用されうる。ドルビー・デジタル・プラス・エンコーダは、ある仮数ベクトルについて、信号対マスク比に基づいてベクトルの適切なテーブルを選択してもよい。そのテーブル内で、エンコーダは、どのベクトルが前記仮数ベクトルに最もよくマッチするかを決定してもよい。最良マッチするベクトルについてのテーブル・インデックスに対応する符号語が、エンコードされるフレーム１３０に含められてもよい。その符号語を使って、デコーダは、その符号語に対応するベクトルを前記適切なテーブルから抽出することによって、量子化された仮数値を復元できる。仮数量子化プロセス１１６の追加的な実装は後述する。
【００５０】
図４は、オーディオ・デコード・プロセスの例を示す流れ図である。おおまかな言い方をすると、オーディオ・デコード・プロセス４００は、オーディオ・エンコード・プロセス１００の間になされたことを取り消すことに関わる。いくつかの実装では、オーディオ・デコード・プロセス４００は実質的に、オーディオ・エンコード・プロセス１００の鏡像である。
【００５１】
オーディオ・デコード・プロセス４００は、デコーダがエンコードされたフレーム１３０を受領するときに始まる。たとえば、プロセスは、デコード装置が複数のエンコードされたフレーム１３０を、ネットワーク・インターフェースのようなインターフェースを介して受領するときに始まってもよい。代替的または追加的に、デコード装置の論理システムが、エンコードされたフレーム１３０を、論理システムとメモリ・デバイスとの間のインターフェースを介して受領してもよい。
【００５２】
ビットストリーム・アンパッキング・プロセス４０２の間に、エンコードされたフレーム１３０から指数データ１２０および量子化された仮数データ１２２が抽出される。いくつかの実装では、ビット割り当てパラメータ１１８（または量子化器分解能に対応する他のデータ）もエンコードされたフレーム１３０に含まれている。ビット割り当てプロセス４０４においてビット割り当てパラメータ１１８からビット割り当て値が計算されてもよい。量子化された仮数値１２２は、仮数量子化解除プロセス４０６において量子化解除されて仮数値１１２ｂを生じる。ビット割り当てパラメータ１１８は、仮数量子化解除プロセス４０６の間に使うべき量子化区間の数を指示する量子化器分解能データを含んでいてもよい。しかしながら、いくつかの実装では、ビット割り当てパラメータ１１８は、エンコードされたフレーム１３０に含まれない。ビット割り当てパラメータ１１８（または量子化器分解能に対応する他のデータ）は、エンコードされたフレームに含まれる指数データ、マスキング曲線オフセット・データなどからデコーダによって計算されうる。仮数量子化プロセス１１６は損失のあるプロセスなので、仮数値１１２ｂは必ずしも、仮数量子化プロセス１１６に入力された仮数値１１２ａと同じではない。仮数量子化解除プロセス４０６のいくつかの新規な変形について後述する。
【００５３】
ブロック浮動小数点デコード・プロセス４０８の間、仮数値１１２ｂおよび対応する指数値１１０は浮動小数点表現から変換係数１０６ｂの端数表現に変換される。ブロック浮動小数点デコード・プロセス４０８からの出力は、ある種の値内に制約されてもよい。たとえば、変換係数１０６ｂの値は−1.0から1.0までの間に制約されてもよい。
【００５４】
逆変換プロセス４１０において、周波数領域の変換係数１０６ｂが時間領域におけるデコードされたサンプル４１２に変換される。いくつかのそのような例では、逆変換プロセス４１０は、デコードされたサンプル４１２を生成するための、変換係数１０６ｂの逆MDCTに関わる。しかしながら、代替的な実装は、高速フーリエ変換または合成フィルタバンク（すなわち、逆QMF）のような他の逆変換方法に関わることもある。
【００５５】
図５は、条件付きの逆量子化器（conditional  inverse  quantizer）に関わる代替的なオーディオ・デコード・プロセスの例を示す流れ図である。いくつかの実装では、オーディオ・デコード・プロセス５００は上記のオーディオ・デコード・プロセス４００と同様であってもよい。しかしながら、オーディオ・デコード・プロセス５００は、新規な量子化解除方法および関係したプロセスに関わる。本稿に記載される他の方法と同様に、オーディオ・デコード・プロセス５００のブロックは、示されている序列で実行されてもされなくてもよい。たとえば、いくつかの実装では、ブロック５１５はブロック５１０より前に実行されてもよいし、あるいはブロック５１０および５１５が実質的に同時に実行されてもよい。
【００５６】
この例では、オーディオ・デコード・プロセス５００は、オーディオ・データを含む一つまたは複数のエンコードされたフレームがデコーダによって受領されるときに始まる（ブロック５０５）。たとえば、プロセスは、デコード装置がエンコードされたフレーム（または複数のエンコードされたフレーム）をインターフェースを介して受領するときに始まってもよい。いくつかの実装では、エンコードされたフレームは上記のエンコードされたフレーム１３０と実質的に同様であってもよく、AC-3フォーマット、向上AC-3フォーマットまたは当業者に既知の他のオーディオ・コーデックであってもよい。しかしながら、下記で論じるように、いくつかの実装では、エンコードされたフレームは、本稿に記述される新規なプロセスに従ってエンコードされたものであってもよい。いくつかのそのような実装によれば、仮数再構成が、指数情報を条件としていてもよい。
【００５７】
エンコードされたフレームが受領されるインターフェースはネットワーク・インターフェースであってもよい。代替的または追加的に、論理システムは、エンコードされたフレームを、論理システムとメモリ・デバイスとの間のインターフェースを介して受領してもよい。エンコーダまたはデコーダ装置のコンポーネントの例は図１０に示されており、後述する。
【００５８】
ブロック５１０では、量子化器分解能データがエンコードされたフレームから抽出されるまたはフレームに含まれる他の情報に応じて決定される。量子化器分解能データは、エンコードされたフレームのオーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使われた量子化区間の数に対応していてもよい。量子化区間は、仮数量子化プロセスに依存して一様な量子化区間であってもなくてもよい。同様に、仮数量子化プロセスの間に使われる量子化値は、仮数量子化プロセスに依存して量子化区間の境界の間の中点に対応していてもいなくてもよい。
【００５９】
図１を参照して上述したように、仮数量子化プロセス１１６の間に適用された量子化器分解能は、信号対マスク比に比例していてもよい。エンコードされたフレーム１３０に含まれるビット割り当てパラメータ１１８はこの量子化器分解能に対応していてもよい。よって、エンコードされたフレーム１３０のビット割り当てパラメータ１１８は、仮数量子化プロセス１１６の間に使われた量子化区間の数に対応する量子化器分解能を含んでいてもよい。
【００６０】
いくつかの実装では、量子化器分解能データは、ビット割り当てポインタを含んでいてもよい。上記のように、ドルビー・デジタルは16個の可能な量子化器分解能を含み、そのそれぞれがエンコードされたフレーム１３０中のデータに応じて決定されるビット割り当てポインタに対応する。ビット割り当てポインタ0は、パワースペクトル密度値がマスキング曲線または絶対聴覚閾値のレベルを下回ったため、あるサンプルについて仮数値がエンコードされないインスタンスに対応する。ビット割り当てポインタ1は３レベルの対称的な量子化プロセスに対応する。ビット割り当てポインタ2〜5は５レベル、７レベル、１１レベルおよび１５レベルの対称的な量子化プロセスに対応する。ビット割り当てポインタ6〜16は、2nレベルの非対称的な量子化プロセスに対応する。ここで、nは5〜12、14または16の範囲内の整数であってもよい。
【００６１】
ブロック５１５では、変換係数の指数プロファイル・データがエンコードされたフレームから抽出されるまたはフレームに含まれる指数情報に従って決定される。いくつかの実装では、指数プロファイル・データは指数差分データを含む。そのような実装では、指数差分データは、実質的に差分指数値２５５を参照して上述したように決定されてもよい（図２のＡおよびＢならびに対応する議論を参照）。いくつかのそのような実装では、差分指数値２５５は−2から2までの範囲内にはいるよう制約されてもよく、5つの可能な状態：−2、−1、0、1または2をもっていてもよい。
【００６２】
ブロック５２０では、エンコードされたフレームの仮数値についての量子化解除方法が、少なくとも部分的に、前記量子化分解能データおよび前記指数プロファイル・データに従って決定される。いくつかの実装では、量子化解除方法の少なくともいくつかは、エンコードされたフレームの仮数値を量子化するプロセスの間に使われた量子化値とは異なる量子化解除値の適用を含んでいてもよい。たとえば、量子化プロセスの間に使われた量子化値が量子化区間の境界の間の中点であったとしても、量子化解除方法の少なくともいくつかは、量子化区間の境界の間の中点に対応しない量子化解除値の適用を含んでいてもよい。そのような実装の背後にある動機についてこれから図６Ａ〜図６Ｄを参照しつつ説明する。
【００６３】
図６Ａは、変換係数値の確率密度関数の例を示すグラフである。グラフ６００では、軸６０５は、変換係数１０６の対応する値のそれぞれについての確率密度px(x)を表わす。最高の確率密度値は変換係数１０６についての0の値に対応する。この例では、確率密度値は、変換係数１０６の絶対値が増すとともに減少する。この例では、変換係数１０６の絶対値は1以下である。
【００６４】
図６Ｂ〜６Ｄは、図６Ａの変換係数の仮数および選択された指数値についての確率密度関数（probability  density  function）のグラフである。これらのグラフのそれぞれは、図６Ａの例示的なpdfから導出される次の式に基づいている。
【００６５】
【数１】
0005970602.tif 000002
式２において、Py|k(y|k)は、指数値kを条件とする仮数yの確率密度関数を表わす。式１の議論において上記したように、仮数値は（今の場合と同様）、0.5以上1.0以下に制約されてもよい。
【００６６】
図６Ｂでは、k＝0であり、一方図６Ｃではk＝2、図６Ｄではk＝7である。まず図６Ｂを参照するに、k＝0のとき、量子化値（または量子化解除値）を量子化区間の境界の間の中点として設定することが、最小平均平方量子化誤差のような誤差メトリックを最小にする結果につながらないという意味で最適とならないことがしばしばあることが見て取れる。しかしながら、kの値が増すにつれて、量子化器区間内の仮数統計が十分一様になり、諸量子化器区間についての（平均平方誤差を最小化する点での）最適な再構成がその中点とほぼ同じになる、すなわち、再構成を区間の中点として設定することに起因する平均量子化誤差が、平均平方誤差を最小化するという点でその最適な値に再構成を設定する場合とほぼ同じになる。平均絶対量子化誤差のような他の誤差メトリックが使用されてもよい。
【００６７】
上記の分析は、所与の量子化器分解能データ値について、kの異なる値が、量子化解除値が量子化区間の境界の間の中点に対応するべきかどうかを示しうることを示唆している。しかしながら、オーディオ・データはしばしば時間を追ってきわめて可変であり、よってpx(x)は時間を追ってしばしばきわめて可変となりうる。オーディオ・データは、周波数スペクトルを通じて同様の変動をもちうる。よって、絶対的な指数値は、仮数統計の一貫して信頼できる指標ではないことがある。
【００６８】
時間および周波数におけるそのような変動を考慮に入れるため、いくつかの実装では、各周波数ビンについての仮数量子化解除方法は、少なくとも部分的に、差分指数値および／または指数値の傾向に基づいていてもよい。そのような傾向は、逐次的な周波数ビンについて二つ以上の差分指数値を比較することによって決定されてもよい。いくつかのそのような実装によれば、各周波数ビンについての仮数量子化解除方法は、前記量子化分解能データおよび指数差対に従って決定されてもよい。いくつかのそのような実装についてこれから図７を参照して述べる。
【００６９】
図７は、さまざまな周波数における指数値の例を示すグラフである。変換係数の値は指数値の値に反比例するので、kはグラフ７００において下方に増大する。さまざまな周波数ビン７２５についてのkの値が示されている。いくつかの実装では、各周波数ビン７２５についての指数差対は、より低い周波数についての指数に対する第一の指数差およびより高い周波数についての指数に対する第二の指数差である。
【００７０】
たとえば、周波数ビン７２５ｂについての指数差対は、周波数ビン７２５ａについての指数値に対する第一の指数差および周波数ビン７２５ｃについての指数値に対する第二の指数差である。第一の指数差は本稿では「後方指数差」と称されることがあり、第二の指数差は本稿では「前方指数差」と称されることがある。用語「diff」および「差」は本稿では交換可能に使用されうる。
【００７１】
各周波数ビンについて少なくとも後方指数差および前方指数差を考えることによって、指数値がどのような傾向をもっているかについての判定がなされうる。たとえば、周波数ビン７２５ｂおよび７２５ｉについての後方指数差および前方指数差は上向きの傾きを示す。ここではk値は減少している。周波数ビン７２５ｃについての後方指数差および前方指数差はスペクトル・ピークを示し、該スペクトル・ピークは周波数ビン７２５ｃについての変換係数の極大値に対応する。そのような値については、仮数の分布はゆがんでいる（skewed）傾向がある。したがって、（k＝0である図６Ｂを参照して上記した場合と同様に）量子化解除値を量子化区間の境界の間の中点として設定することは一般には最適とはならない。
【００７２】
周波数ビン７２５ｆおよび７２５ｇについての後方指数差および前方指数差は下向きの傾きを示す。周波数ビン７２５ｈについての後方指数差および前方指数差は谷または溝を示す。スペクトル・ピークと同様、指数データにおけるそのような傾向も仮数統計に対応しうる。
【００７３】
図８は、後方指数差分および前方指数差分に基づく実際のオーディオ・データの規格化された仮数分散の例を描く図である。グラフ８００に描かれている結果は、現在まで使われているオーディオ・データの特定の諸型についての結果を表わす。この例において、グラフ８００の縦軸８０５は規格化された仮数分散をデシベル単位で示す。軸８１０は前方指数差を示し、軸８１５は後方指数差を示す。この例において、指数差分データは、両端を含め−2.0から2.0までの範囲の整数に対応する５つの異なる状態をもつ。よって、指数対は25個の異なる可能な組み合わせを含む。
【００７４】
点８２０は指数差対(−2,2)に対応し、これは鋭いスペクトル・ピークに対応している。点８２０はこの例では約−2.5dBの規格化された仮数分散に対応しており、これは指数差対すべてのうちで最低の分散である。グラフ８００では、より低い分散は、可能な仮数値の範囲を横断しての確率密度値の相対的により一様でない分布に対応する。分布がより一様でないほど、仮数値が相対的によりゆがんでいる（skewed）可能性が高くなる。したがって、量子化解除値を量子化区間の境界の間の中点として設定することは一般に、それほど最適ではなくなる。
【００７５】
他の極端では、点８２５は指数差対(2,−2)に対応し、これは鋭いスペクトルの谷に対応する。点８２５はこの例では約1.7dBの規格化された仮数分散をもち、これは指数差対すべてのうちで最高の分散である。グラフ８００では、より高い分散は、可能な仮数値の範囲を横断しての確率密度値の相対的により一様な分布に対応する。確率密度値のより一様な分布は、量子化解除値を量子化区間の境界の間の中点として設定することが満足のいく結果を与える可能性がより高いことを意味する。
【００７６】
図５を参照するに、いくつかの実装では、ブロック５２０における各周波数ビンについての仮数量子化解除方法は、（少なくとも部分的に）量子化分解能データおよびその周波数ビンに対応する指数差対に従って決定されてもよい。ブロック５２０は、各周波数ビンについて後方指数差および前方指数差を含む指数差対を決定することを含んでいてもよい。いくつかの実装では、エンコードされたフレームから抽出された（ブロック５１５参照）指数プロファイル・データが差分指数値を含んでいてもよい。そのような実装は、指数差対を決定するプロセスをさらに合理化する。
【００７７】
指数差対のそれぞれが量子化解除方法に対応しうる。ブロック５２０は、指数差対および対応する量子化解除方法のデータ構造を参照することによって特定の周波数ビンについての量子化解除方法を取得することを含んでいてもよい。ブロック５２０は、該データ構造から、その周波数ビンについての指数差対に対応する量子化解除方法の指示を取得することを含んでいてもよい。いくつかの実装では、データ構造は、その周波数ビンについての量子化分解能データに対応してもよい。たとえば、データ構造は、特定のビット割り当てポインタ値に対応してもよい。
【００７８】
エンコードされたフレームから抽出された（ブロック５１５参照）指数プロファイル・データは、エンコードされたフレーム中に対応する仮数値がない指数値を含んでいてもよい。たとえば、仮数量子化プロセスの間に、そのような仮数値に対しては0ビットが割り当てられたことがありうる。いくつかの実装では、それでも、関連する指数データは、対応する仮数値についての量子化解除方法を決定するために使用されうる。ランダムな仮数値を割り当てる代わりに、周波数ビンについての仮数値は、その周波数ビンについての指数差対および量子化分解能データに対応する量子化解除方法に従って再構成されてもよい。
【００７９】
ブロック５２５では、各周波数ビンに対応する仮数値が、ブロック５２５で決定された量子化解除方法および対応する量子化分解能データに従って量子化解除される。これらの量子化解除方法の少なくともいくつかは、エンコード・プロセスにおいて使用される量子化方法と異なっていてもよい。たとえば、エンコード・プロセスにおいて使用された量子化値は量子化区間の境界の間の中点であったことがありうるが、一方、ブロック５２０で決定されブロック５２５で適用されるこれらの量子化解除方法の少なくともいくつかは、量子化区間の境界の間の中点に対応する量子化解除値を適用することに関わるものでなくてもよい。しかしながら、本稿に記載されるいくつかのエンコード方法では、量子化値は必ずしも量子化区間の境界の間の中点ではない。
【００８０】
ブロック５３０では、そのフレームについてのデコード・プロセスが完了する。ブロック５３０は、量子化解除された仮数値に対応する絶対的な指数値を再構成することを含んでいてもよい。ブロック５３０は、量子化解除された仮数値および対応する指数値が浮動小数点表現から変換係数の端数表現に変換されるブロック浮動小数点デコード・プロセスに関わっていてもよい。ブロック５３０は、周波数領域の変換係数が時間領域のデコードされたサンプルに変換される逆変換プロセスに関わっていてもよい。
【００８１】
ブロック５３５では、処理される必要のある残っているエンコードされたフレームがあるかどうかが判定される。もしあれば、プロセスはこの例ではブロック５０５に戻る。もしなければ、プロセスは終了する（ブロック５４０）。
【００８２】
図９は、条件付き逆量子化器を用いたオーディオ・デコードの方法についてのパラメータを確立するプロセスの例を示す流れ図である。方法９００はブロック９０５で始まる。ここでは仮数トレーニング・データが収集される。そのようなトレーニング・データは、多様な異なる音楽スタイルについてのオーディオ・データ、多様な映画サウンドトラックについてのオーディオ・データ、聴衆拍手データ、環境オーディオ・データ、それらの組み合わせなどといったさまざまな型のオーディオ・データを含んでいてもよい。
【００８３】
ブロック９１０では、仮数トレーニング・データは指数差対の諸セットに分割される。たとえば、仮数トレーニング・データは、時間領域から周波数領域に変換されてもよい。該データにブロック浮動小数点エンコード・プロセスが適用されて、仮数値および対応する絶対指数値を生成してもよい。絶対指数値について差分指数値が計算されてもよい。差分指数値の対が、複数の周波数ビンのそれぞれにおける仮数値に関連付けられてもよい。
【００８４】
次いで各指数差対について量子化解除方法が決定されてもよい（ブロック９１５）。量子化方法は、特定の量子化分解能にも対応しうる。たとえば、３レベルの対称的な量子化方法、５レベルの対称的な量子化方法、７レベルの対称的な量子化方法および／または他の量子化方法に従って量子化される仮数について、異なる量子化解除方法が決定されてもよい。いくつかのそのような量子化解除方法は、これらの量子化方法において使われた量子化区間の境界の間の中点に対応しない量子化解除値を適用することに関わってもよい。その代わり、量子化解除値は、仮数トレーニング・データから決定される統計に対応してもよい。しかしながら、他の量子化解除方法は、そのような中点に対応する量子化解除値を適用することに関わっていてもよい。
【００８５】
ブロック９２０では、各量子化分解能についてデータ構造にデータが入れられる。データ構造は、量子化解除方法および対応する指数差対を含んでいてもよい。データ構造は、メモリに保存されていてもよい。ブロック９２５では、さらなる量子化分解能について量子化解除方法が決定されるかどうかが決定される。もしそうであれば、プロセスはブロック９１５または９２０に戻ってもよい。もしそうでなければ、プロセスは終了する（ブロック９３０）。
【００８６】
プロセス９００は単に、条件付き逆量子化器のための設計プロセスの一例であることを注意しておくべきである。この例では、逆量子化器の条件となる指数プロファイル・データは、指数差対の諸セットを有する。しかしながら、本稿の他所で述べるように、代替的な実装では、逆量子化器は他の型の指数プロファイル・データを条件としてもよい。たとえば、代替的な実装では、指数プロファイル・データは、各周波数ビンについて三つ以上の指数差値を含んでいてもよい。逆量子化器が異なる型の指数プロファイル・データを条件としているときには、図９の諸段階はしかるべく修正される。たとえば、ブロック９１０において、トレーニング・データは、それぞれが代替的な指数プロファイル・データの特定の値に対応する、より小さなグループに分割されてもよい。
【００８７】
本稿に記載されるさまざまなデコード方法は、ドルビー・デジタルおよびドルビー・デジタル・プラスを含むがそれに限られない既存のコーデックに従ってエンコードされたオーディオ・データとともに使われてもよい。しかしながら、本稿に開示されるいくつかの実装は、新規な量子化および量子化解除方法を提供する。
【００８８】
いくつかのそのような実装によれば、量子化区間境界および／または量子化値の選択は、同じ量子化分解能についてでさえ、変わりうる。いくつかのそのような実装では、量子化区間境界および／または量子化値のエンコード装置による選択は、ある特定の周波数ビンについての指数差対のような指数情報を条件としていてもよい。エンコード装置は、実際のオーディオ・データに基づいていてもよい仮数トレーニング・データに従って、指数差対に関連する量子化区間境界および／または量子化値を決定してもよい。デコード装置はたとえば、対応する量子化解除区間境界および／または量子化解除値に従ってエンコードされたオーディオ・データを量子化解除してもよい。
【００８９】
本稿に記載される新規なエンコーダについての条件付き量子化器の設計は、図９を参照して上記したプロセス９００と同様のプロセスに関わっていてもよい。しかしながら、そのような実装においては、ステップ９１５は、量子化解除方法の代わりにまたはそれに加えて量子化方法を決定するよう適宜修正されうる。いくつかのそのような実装によれば、段階９２０は、量子化解除方法の代わりにまたはそれに加えて量子化方法を含むデータ構造にデータを入れるよう修正されてもよい。
【００９０】
そのような新規なエンコード技法は、本稿に記載される新規なデコード装置によってのみならず、レガシー・デコード装置によって使用されるのにも好適であるエンコードされたオーディオ・データを与える。
【００９１】
図１０は、エンコーダまたはデコーダ装置のコンポーネントの例を与えるブロック図である。装置１０００は、携帯電話、スマートフォン、デスクトップ・コンピュータ、ハンドヘルドまたはポータブル・コンピュータ、ネットブック、ノートブック、スマートブック、タブレット、ステレオ・システム、テレビジョン、DVDプレーヤー、デジタル記録装置または多様な他の装置であってもよい。
【００９２】
この例において、装置はインターフェース・システム１００５を含む。インターフェース・システム１００５は、無線ネットワーク・インターフェースのようなネットワーク・インターフェースを含んでいてもよい。代替的または追加的に、インターフェース・システム１００５はユニバーサル・シリアル・バス（USB）インターフェースまたは他のそのようなインターフェースを含んでいてもよい。
【００９３】
装置１０００は論理システム１０１０を含む。論理システム１０１０は、汎用の単一チップまたは複数チップ・プロセッサのようなプロセッサを含んでいてもよい。論理システム１０１０はデジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラム可能なゲート・アレイ（FPGA）または他のプログラム可能論理デバイス、離散的なゲートまたはトランジスタ論理または離散的なハードウェア・コンポーネントまたはそれらの組み合わせを含んでいてもよい。論理システム１０１０は、装置１０００の他のコンポーネントを制御するよう構成されていてもよい。装置１０００のコンポーネントの間のインターフェースは図１０には示されていないが、論理システム１０１０は他のコンポーネントとの通信のために構成されていてもよい。他のコンポーネントは、適宜互いとの通信のために構成されていてもいなくてもよい。
【００９４】
論理システム１０１０は、本稿に記載される型のエンコーダおよび／またはデコーダ機能を含むがそれに限られないエンコーダおよび／またはデコーダ機能を実行するよう構成されていてもよい。いくつかのそのような実装では、論理システム１０１０は、（少なくとも部分的には）一つまたは複数の非一時的な媒体上に記憶されるソフトウェアに従って動作するよう構成されていてもよい。非一時的な媒体は、ランダム・アクセス・メモリ（RAM）および／または読み出し専用メモリ（ROM）のような論理システム１０１０に関連付けられたメモリを含んでいてもよい。非一時的な媒体はメモリ・システム１０１５のメモリを含んでいてもよい。メモリ・システム１０１５は、フラッシュ・メモリ、ハードドライブなどといった一つまたは複数の好適な型の非一時的な記憶媒体を含んでいてもよい。
【００９５】
たとえば、論理システム１０１０は、インターフェース・システム１００５を介して、エンコードされたオーディオ・データのフレームを受領し、本稿に記載されるデコーダ方法に従って、エンコードされたオーディオ・データをデコードするよう構成されていてもよい。代替的または追加的に、論理システム１０１０は、メモリ・システム１０１５と論理システム１０１０との間のインターフェースを介して、エンコードされたオーディオ・データのフレームを受領するよう構成されていてもよい。論理システム１０１０は、デコードされたオーディオ・データに従ってスピーカー（単数または複数）１０２０を制御するよう構成されていてもよい。いくつかの実装では、論理システム１０１０は、通常のエンコード方法に従っておよび／または本稿に記載されるエンコード方法に従ってオーディオ・データをエンコードするよう構成されていてもよい。論理システム１０１０は、マイクロホン１０２５を介して、インターフェース・システム１００５を介してなどでそのようなオーディオ・データを受領するよう構成されていてもよい。
【００９６】
表示システム１０３０は、装置１０００の具現に依存して、一つまたは複数の好適な型のディスプレイを含んでいてもよい。たとえば、表示システム１０３０は液晶ディスプレイ、プラズマ・ディスプレイ、双安定ディスプレイなどを含んでいてもよい。
【００９７】
ユーザー入力システム１０３５は、ユーザーからの入力を受け容れるよう構成された一つまたは複数の装置を含んでいてもよい。いくつかの実装では、ユーザー入力システム１０３５は、表示システム１０３０の表示に重なるタッチスクリーンを含んでいてもよい。ユーザー入力システム１０３５はボタン、キーボード、スイッチなどを含んでいてもよい。いくつかの実装では、ユーザー入力システム１０３５はマイクロホン１０２５を含んでいてもよい。ユーザーはマイクロホン１０２５を介して装置１０００のための音声コマンドを提供してもよい。論理システムは、音声認識をするよう、またそのような音声コマンドに従って装置１０００の少なくともいくつかの動作を制御するよう構成されていてもよい。
【００９８】
電源システム１０４０は、ニッケル・カドミウム電池またはリチウム・イオン電池のような一つまたは複数の好適なエネルギー蓄積デバイスを含んでいてもよい。電源システム１０４０は電気コンセントから電力を受け取るよう構成されていてもよい。
【００９９】
本開示に記述されている実装に対するさまざまな修正が当業者にはすぐに明白となることがありうる。本稿で定義されている一般原理は、本開示の精神や範囲から外れることなく他の実装に適用されてもよい。たとえば、さまざまな実装が指数差対を使って記述されているが、代替的な実装は各周波数ビンについて三つ以上の指数差値に関わっていてもよい。さらに、さまざまな実装がドルビー・デジタルおよびドルビー・デジタル・プラスを使って記述されているが、本稿に記載される方法は他のオーディオ・コーデックとの関連で実装されてもよい。このように、特許請求は、本稿に示される実装に限定されることは意図されておらず、本開示、本稿に開示される原理および新規な特徴と整合する最も広い範囲を与えられるべきものである。
いくつかの態様を記載しておく。
〔態様１〕
オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使用された量子化区間の数に対応する、段階と；
前記エンコードされたフレームから変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的に前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの前記仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを含む、
方法。
〔態様２〕
前記指数プロファイル・データが指数差分データを含む、態様１記載の方法。
〔態様３〕
前記指数差分データは５つの差分状態に対応する、態様２記載の方法。
〔態様４〕
前記指数差分データは指数差対を含む、態様２記載の方法。
〔態様５〕
前記仮数値を量子化解除することが、ある周波数についての仮数値を、その周波数についての指数差対に対応する量子化解除方法に従って量子化解除することを含む、態様４記載の方法。
〔態様６〕
前記周波数についての前記指数差対は、より低い周波数についての指数に対する第一の指数差と、より高い周波数についての指数に対する第二の指数差を含む、態様５記載の方法。
〔態様７〕
仮数値を量子化するプロセスの間に使われた前記量子化区間は一様な量子化区間である、態様１ないし６のうちいずれか一項記載の方法。
〔態様８〕
仮数値を量子化するプロセスの間に使われた量子化値は、量子化区間の境界の間の中点に対応し、少なくともいくつかの量子化解除値は量子化区間の前記境界の間の中点に対応しない、態様１ないし７のうちいずれか一項記載の方法。
〔態様９〕
前記量子化解除方法の少なくともいくつかは、前記エンコードされたフレームの仮数値を量子化するプロセスの間に使われた量子化値とは異なる量子化解除値の適用を含む、態様１ないし８のうちいずれか一項記載の方法。
〔態様１０〕
前記指数プロファイル・データは、前記エンコードされたフレームにおける対応する仮数値がない指数についてのデータを含む、態様１ないし９のうちいずれか一項記載の方法。
〔態様１１〕
インターフェースおよび論理システムを有する装置であって、
前記論理システムは：
前記インターフェースから、オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使用された量子化区間の数に対応する、段階と；
前記エンコードされたフレームから変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的に前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの前記仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを実行するよう構成されている、
装置。
〔態様１２〕
前記エンコードされたフレームはAC-3フォーマットまたは向上AC-3フォーマットである、態様１１記載の装置。
〔態様１３〕
前記論理システムが、汎用の単一チップまたは複数チップ・プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラム可能なゲート・アレイ（FPGA）または他のプログラム可能論理デバイス、離散的なゲートまたはトランジスタ論理または離散的なハードウェア・コンポーネントのうちの少なくとも一つを含む、態様１１または１２記載の装置。
〔態様１４〕
メモリ・デバイスをさらに有する態様１１ないし１３のうちいずれか一項記載の装置であって、前記インターフェースが、前記論理システムと前記メモリ・デバイスとの間のインターフェースを有する、装置。
〔態様１５〕
前記インターフェースがネットワーク・インターフェースを有する、態様１１ないし１４のうちいずれか一項記載の装置。
〔態様１６〕
前記指数プロファイル・データが指数差分データを含む、態様１１ないし１５のうちいずれか一項記載の装置。
〔態様１７〕
前記指数差分データが複数の周波数のそれぞれに対応する指数差対を含む、態様１６記載の装置。
〔態様１８〕
データ構造が記憶されているメモリをさらに有する態様１６または１７記載の装置であって、前記データ構造は、複数の量子化解除方法および対応する指数差分データを含んでいる、装置。
〔態様１９〕
前記論理システムが、前記データ構造を参照することによって、指数差分データに対応する量子化解除方法を決定するよう構成されている、態様１８記載の装置。
〔態様２０〕
ソフトウェアが記憶されている非一時的な媒体であって、前記ソフトウェアが：
オーディオ・データを含むエンコードされたフレームを受領する段階と；
前記エンコードされたフレームから抽出された情報に応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記エンコードされたフレームの前記オーディオ・データについての変換係数の仮数値を量子化するプロセスの間に使われた量子化区間の数に対応する、段階と；
前記エンコードされたフレームから、変換係数の指数プロファイル・データを決定する段階と；
少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記エンコードされたフレームの仮数値について複数の量子化解除方法を決定する段階と；
前記複数の量子化解除方法に従って前記仮数値を量子化解除する段階とを実行するようデコード装置を制御するための命令を含んでいる、媒体。
〔態様２１〕
時間領域の第一のオーディオ・データを受領する段階と；
前記第一のオーディオ・データを周波数領域の第二のオーディオ・データに変換する段階であって、前記第二のオーディオ・データは変換係数を含む、段階と；
前記変換係数から、指数プロファイル・データを含む指数データを決定する段階と；
前記指数データに応答して量子化器分解能データを決定する段階であって、前記量子化器分解能データは、前記変換係数の仮数値を量子化するプロセスの間に使用されるべき量子化区間の数に対応する、段階と；
少なくとも部分的には前記量子化器分解能データおよび前記指数プロファイル・データに基づいて前記変換係数の仮数値についての複数の量子化方法を決定する段階と；
前記複数の量子化方法に従って前記仮数値を量子化する段階とを含む、
方法。
〔態様２２〕
前記第二のオーディオ・データ、前記指数データおよび前記量子化された仮数値を含むエンコードされたフレームを形成する段階をさらに含む、態様２１記載の方法。
〔態様２３〕
仮数値を量子化するプロセスの間に使われる一つまたは複数の量子化値は、量子化区間の境界の間の中点に対応しない、態様２１または２２記載の方法。
〔態様２４〕
前記量子化方法の一つまたは複数は、一様に離間していない境界をもつ量子化区間を使う、態様２１ないし２３のうちいずれか一項記載の方法。
〔態様２５〕
インターフェースおよび論理システムを有する装置であって、
前記論理システムは：
前記インターフェースから、周波数領域の第一のオーディオ・データ、指数データおよび量子化された仮数値を含むエンコードされたフレームを受領する段階であって、前記量子化された仮数値は、少なくとも部分的には量子化器分解能データと、前記指数データから決定される指数プロファイル・データとに基づく諸量子化方法に従って決定されている、段階と；
前記量子化された仮数値から量子化解除された仮数値を決定する段階と；
部分的に前記量子化解除された仮数値に基づいて変換係数を決定する段階と；
前記変換係数を使って逆変換演算を実行して時間領域の第二のオーディオ・データを生成する段階とを実行するよう構成されている、
装置。
〔態様２６〕
前記エンコードされたフレームはAC-3フォーマットまたは向上AC-3フォーマットである、態様２５記載の装置。
〔態様２７〕
前記論理システムが、汎用の単一チップまたは複数チップ・プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラム可能なゲート・アレイ（FPGA）または他のプログラム可能論理デバイス、離散的なゲートまたはトランジスタ論理または離散的なハードウェア・コンポーネントのうちの少なくとも一つを含む、態様２５または２６記載の装置。
〔態様２８〕
メモリ・デバイスをさらに有する態様２５ないし２７のうちいずれか一項記載の装置であって、前記インターフェースが、前記論理システムと前記メモリ・デバイスとの間のインターフェースを有する、装置。
〔態様２９〕
前記インターフェースがネットワーク・インターフェースを有する、態様２５ないし２８のうちいずれか一項記載の装置。
〔態様３０〕
前記量子化方法の一つまたは複数は、一様に離間していない境界をもつ量子化区間を使う、態様２５ないし２９のうちいずれか一項記載の装置。
〔態様３１〕
前記量子化方法の一つまたは複数は、量子化区間の境界の間の中点に対応しない量子化値を使う、態様２５ないし３０のうちいずれか一項記載の装置。
【図１】
0005970602.tif 000003
【図２】
0005970602.tif 000004
【図３Ａ】
0005970602.tif 000005
【図３Ｂ】
0005970602.tif 000006
【図４】
0005970602.tif 000007
【図５】
0005970602.tif 000008
【図６Ａ】
0005970602.tif 000009
【図６Ｂ】
0005970602.tif 000010
【図６Ｃ】
0005970602.tif 000011
【図６Ｄ】
0005970602.tif 000012
【図７】
0005970602.tif 000013
【図８】
0005970602.tif 000014
【図９】
0005970602.tif 000015
【図１０】
0005970602.tif 000016