(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-12
(45)【発行日】2022-10-20
(54)【発明の名称】サブバンドエネルギー平滑化を伴う変換ベースのオーディオコーデック及び方法
(51)【国際特許分類】
G10L 19/02 20130101AFI20221013BHJP
G10L 19/032 20130101ALI20221013BHJP
G10L 19/038 20130101ALI20221013BHJP
H03M 7/30 20060101ALI20221013BHJP
【FI】
G10L19/02 160Z
G10L19/032 100Z
G10L19/038
H03M7/30 A
(21)【出願番号】P 2019511895
(86)(22)【出願日】2017-08-30
(86)【国際出願番号】 US2017049484
(87)【国際公開番号】W WO2018045099
(87)【国際公開日】2018-03-08
【審査請求日】2020-08-26
(32)【優先日】2016-08-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503206684
【氏名又は名称】ディーティーエス・インコーポレイテッド
【氏名又は名称原語表記】DTS,Inc.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100122563
【氏名又は名称】越柴 絵里
(72)【発明者】
【氏名】トンプソン ジェフリー ケイ
(72)【発明者】
【氏名】ネマー エリアス
(72)【発明者】
【氏名】カルカー アントニウス
【審査官】中村 天真
(56)【参考文献】
【文献】特開2004-004710(JP,A)
【文献】特開2000-132193(JP,A)
【文献】特開平10-276095(JP,A)
【文献】特開平05-114866(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00-19/26
H03M 7/30- 7/50
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
オーディオ信号を処理するための方法であって、該方法は、
エンコーダを使用して、前記オーディオ信号の周波数変換係数に直交変換及びベクトル置換を適用して、処理された周波数変換係数を生成する段階と、
前記処理された周波数変換係数を量子化して、処理されて量子化された周波数変換係数を生成する段階と、
前記処理されて量子化された周波数変換係数を、符号化されたビットストリームにパックする段階と、
デコーダを使用して、前記符号化されたビットストリームを処理して、前記エンコーダの逆の動作を行って前記オーディオ信号を復元する段階と、
を含む方法。
【請求項2】
前記直交変換のサイズは、4より大きいか又はそれに等しい任意の2の累乗である、請求項1に記載の方法。
【請求項3】
前記直交変換及びベクトル置換を前記周波数変換係数に一回のみ適用する段階を更に含む、請求項1に記載の方法。
【請求項4】
前記直交変換及びベクトル置換を前記周波数変換係数に複数回適用する段階を更に含む、請求項1に記載の方法。
【請求項5】
前記直交変換は可変であり、少なくとも1つのコーデックメトリックの関数である平滑化パラメータによって前記直交変換を制御する段階を更に含む、請求項1に記載の方法。
【請求項6】
前記ベクトル置換の置換処理されたシーケンスのサイズは、前記直交変換のサイズより大きいか又はそれに等しい任意の値である、請求項1に記載の方法。
【請求項7】
前記周波数変換係数を含む周波数変換係数ベクトルに前記ベクトル置換を適用して、置換ルールに従って、前記周波数変換係数ベクトルの要素を再配列する段階を更に含み、前記周波数変換係数ベクトルがベクトル長を有する、請求項1に記載の方法。
【請求項8】
サイズMの変換行列である前記直交変換を前記周波数変換係数ベクトルに適用する段階を更に含む、請求項7に記載の方法。
【請求項9】
前記周波数変換係数ベクトルのM個の点に一度に前記変換行列を適用する段階を更に含み、前記ベクトル長はMより大きいか又はそれに等しい、請求項8に記載の方法。
【請求項10】
音楽ノイズアーティファクトを軽減するようにオーディオ信号を符号化するための方法であって、該方法は、
前記オーディオ信号を複数の周波数サブバンドに分割する段階と、
各サブバンドに関する変換行列を計算する段階と、
前記変換行列を使用して、4より大きいか又はそれに等しい任意の2の累乗である
サイズの直交変換を各サブバンドにおける周波数変換係数に適用し、前記周波数変換係数にインターリービングを適用して処理された周波数変換係数を得る段階と、
音楽アーティファクトが軽減されるように、前記処理された周波数変換係数をベクトル量子化して、該周波数変換係数を前記オーディオ信号を表し符号化されたビットストリームにビットパックする段階と、
を含む方法。
【請求項11】
各サブバンドに関するスペクトル平坦度を計算する段階と、
前記スペクトル平坦度から、各サブバンドに適用されるエネルギー平滑化の量を表すエネルギー平滑化レベルを含む平滑化パラメータを決定する段階と、
を更に含む、請求項10に記載の方法。
【請求項12】
前記符号化されたビットストリーム内の前記平滑化パラメータをエンコーダからデコーダに送信する段階を更に含む、請求項11に記載の方法。
【請求項13】
前記平滑化パラメータを使用して前記変換行列を計算する段階を更に含む、請求項11に記載の方法。
【請求項14】
各サブバンドに関する前記変換行列を計算する段階は更に、
前記平滑化パラメータ、処理されるサブバンドの長さ、及びベクトル量子化器のパルス数の関数として変換パラメータを計算する段階と、
前記変換パラメータを使用して前記変換行列を計算する段階と、
を含む、請求項13に記載の方法。
【請求項15】
前記直交変換は、最初に前記周波数変換係数に適用され、前記インターリービングは、前記直交変換が適用された後に適用される、請求項10に記載の方法。
【請求項16】
前記インターリービングは、最初に前記周波数変換係数に適用され、前記直交変換は、前記インターリービングが適用された後に適用される、請求項10に記載の方法。
【請求項17】
オーディオ信号を表し符号化されたビットストリームを復号するための方法であって、該方法は、
前記符号化されたビットストリームを受け取る段階と、
前記オーディオ信号の各サブバンドに逆変換行列及び逆置換を適用して、復元された周波数変換係数を得る段階と、
前記オーディオ信号を復元して、復元されたオーディオ信号を得る段階と、
前記復元されたオーディオ信号を再生デバイス上で再生する段階と、
を含む方法。
【請求項18】
各サブバンドに適用されるエネルギー平滑化のレベルを含む平滑化パラメータを、前記符号化されたビットストリームと共に受け取る段階と、
前記平滑化パラメータを使用して、前記逆変換行列を生成するのに使用される変換行列を計算する段階と、
を更に含む、請求項17に記載の方法。
【請求項19】
前記変換行列を逆にして前記逆変換行列を得る段階と、
前記エネルギー平滑化のレベルに従って前記逆変換行列を適用する段階と、
を更に含む、請求項18に記載の方法。
【請求項20】
前記符号化されたビットストリームを符号化したエンコーダによって適用される順序と逆の順序で前記逆変換行列及び逆置換を適用する段階を更に含む、請求項17に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
デジタルオーディオ符号化(「デジタルオーディオ圧縮」とも呼ばれる)は、格納(ストレージ要件を低減するため)又は送信(帯域幅要件を低減するため)の前にオーディオデータのサイズを最小にする様々な技術である。知覚オーディオ符号化技術は、人間が、どのようにして実際に音を知覚して、人間が最も明瞭に聞こえるオーディオ信号の周波数に対してより注意を向けるようにし、また人間が何らかの相違に気付く可能性が低い周波数に対してはあまり注意を向けないようにすることを考慮に入れたものである。
【0002】
デジタルオーディオ符号化の一態様は、変換ベースの符号化として知られている。変換ベースのオーディオ符号化は、量子化及び符号化の前に時間信号を係数の周波数領域ベクトルに変換する。1つの一般的なタイプの変換は、修正離散コサイン変換(MDCT)である。MDCTは、変換が、重なり合うブロックに対して実行されて、ブロック境界で生じる可聴アーティファクトを軽減することを意味する重複変換である。MDCTは、幾つかの不可逆オーディオコーデック及び技術で使用されている。
【0003】
所与のサブバンドを表すMDCT係数は、通常、ベクトル量子化(VQ)技法を使用して量子化される。VQは、幾つかの利用可能なビットが与えられた場合に、最小平均二乗誤差(MMSE)手法を使用して、係数の多くを可能な限り取り込む。MMSE手法は、平均二乗誤差を最小にすることを追求する推定法である。典型的なオーディオ信号の高域周波数スペクトルでは、サブバンドはノイズのようなものであり、各上側サブバンドは、多数の非ゼロ変換係数を含む。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、サブバンド内の変換係数が、粗い方法で量子化される場合に問題が生じる。具体的には、オーディオ信号の上側サブバンドは、通常、下側サブバンドよりも少ない数のビットが割り当てられる。VQ技法が、所与のサブバンドをベクトル量子化するのに利用可能なビットを有していない場合には、多くの場合、単一係数のみが量子化され、単一係数サブバンドが効果的に生成される。デコーダでは、このサブバンドにおいてノイズのような信号を再現する代わりに、単一係数サブバンドは、「音調(tonal)」サウンドを有することになる。単一係数は、時間及び周波数領域で移動するので、この係数は、「音楽ノイズ」又は「小鳥の」アーティファクトを生成する。この音楽ノイズ又は小鳥アーティファクトは、再生されたオーディオコンテンツにおいてランダムに出現及び消滅する金属トーンとしてリスナーに現れる。
【課題を解決するための手段】
【0005】
この発明の概要は、発明を実施するための形態において以下で更に説明される概念の中から選択された内容を簡易的な形態で紹介するために提供される。本概要は、請求項に記載された主題の主要な特徴又は基本的特徴を確認することを意図しておらず、更に、請求項に記載された主題の範囲を限定するのに使用されるものでもない。
【0006】
エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態は、小鳥のようなアーティファクト及び音楽ノイズを排除するようにオーディオ信号を符号化及び復号するのに使用される。コーデック及び方法の実施形態は、置換処理と組み合わせた変換処理を利用する。直交変換処理は、制御可能であり、このことは、あるレベルのエネルギー平滑化を要求通りに適用できることを意味する。エネルギー平滑化レベルは、エンコーダ側で決定される。適用されるエネルギー平滑化のレベルを含む平滑化パラメータは、エンコーダからデコーダに渡される。
【0007】
平滑化パラメータは、直交変換処理においてエンコーダによって使用される変換行列、及び逆変換処理においてデコーダによって使用される逆変換行列を構築するのに使用される。使用される変換行列は、この行列が量子化ノイズに対して堅牢であるように、可逆的でエネルギー保存的で制御可能(エネルギー平滑化レベルを指定できるように)で安定した行列の一種である。幾つかの実施形態では、使用される変換行列のタイプは、部分アダマール行列である。更に、幾つかの実施形態では、直交変換のサイズは、4より大きいか又はそれに等しい任意の2の累乗である。
【0008】
コーデック及び方法の実施形態は、現在の解決策と比較して幾つかの利点を有する。第1に、全体的な計算の複雑性が、多くの既存の解決策と比較して低減される。このことは、特定のタイプの変換行列の使用及び直交変換のサイズに起因する。更に、計算の複雑性は、直交変換とベクトル置換の組み合わせを使用することによって低減される。第2に、コーデック及び方法の実施形態の全体的な性能は、多数のベッドミックス及び高ビットレートにわたって大きなデータベース上で試験する場合に、わずかに高まる。
【0009】
実施形態は、エンコーダを使用して直交変換及びベクトル置換の両方をオーディオ信号の周波数変換係数に適用することによってオーディオ信号を処理するための方法を含む。幾つかの実施形態では、変換が最初に適用され、続いて置換が適用される。他の実施形態では、置換が最初に適用され、続いて変換が適用される。幾つかの実施形態では、直交変換のサイズは、4より大きいか又はそれに等しい任意の2の累乗である。処理された係数は、量子化されて、符号化されたビットストリームにパックされて、格納、送信、又はそれら両方が行われる。デコーダは、符号化されたビットストリームを処理し、エンコーダの逆の動作を行って、オーディオ信号を復元するのに使用される。
【0010】
幾つかの実施形態では、直交変換は、可変であり、適用されるエネルギー平滑化のレベルを含む平滑化パラメータによって制御される。該平滑化パラメータは、少なくとも1つのコーデックメトリックの関数である。平滑化レベルは、デコーダに伝達され、次に、エンコーダ及びデコーダの両方は、全く同じレベルのエネルギー平滑化を使用することができる。平滑化レベルは、エンコーダにおいてフレームごとに決定される。この決定は、オーディオ信号の周波数スペクトルのスペクトル解析に基づくものであり、このスペクトルが音調構造又はノイズのような構造を有するか否かを測定することによって行われる。この決定を行うために、平坦度尺度が、各サブバンドにおいて計算され、全てのサブバンドにわたって平均化される。幾つかの実施形態では、この尺度に基づいて、4つの平滑化レベルが決定される。すなわち、この4つのレベルは、平滑化なし、低平滑化、中平滑化、及び高平滑化である。
【0011】
幾つかの実施形態では、直交変換及びベクトル置換は、一回のみ適用されるが、他の実施形態では、これらは、複数回適用される。後者は、典型的に、周波数変換係数ベクトルのサイズが、変換行列のサイズの倍数ではない場合に行われる。更に、幾つかの実施形態では、ベクトル置換は、インターリービングによって達成される。インターリービングは、与えられたルールに従ってベクトルの係数(又は要素)を再配列する処理である。幾つかの実施形態では、このルールは、決定論的であり、他の実施形態では、このルールは、確率論的である。
【0012】
実施形態は更に、オーディオ信号を複数の周波数サブバンドに分割し、各サブバンドに関する変換行列を計算することによって、オーディオ信号を符号化するための方法を含む。次に、エンコーダが、該変換行列を使用して、各サブバンドにおける周波数変換係数に直交変換を適用する。該直交変換は、4より大きいか又はそれに等しい任意の2の累乗であるサイズを有する。更に、エンコーダは、周波数変換係数にインターリービングを適用して、処理された周波数変換係数を得る。処理された係数は、ベクトル量子化され、次に、オーディオ信号を表し符号化されたビットストリームにビットパックされる。
【0013】
また、エンコーダの実施形態は、各サブバンドに関するスペクトル平坦度を計算する段階と、各サブバンドに適用されるエネルギー平滑化の量を表すエネルギー平滑化レベルを含むスペクトル平坦度から平滑化パラメータを決定する段階とを含む。該平滑化パラメータは、符号化されたビットストリーム内でエンコーダからデコーダに送信される。幾つかの実施形態では、平滑化パラメータは、変換行列を計算するのに使用される。具体的には、変換行列を計算するのに使用される変換パラメータは、平滑化パラメータ、処理される現在のサブバンドの長さ、及びベクトル量子化器のパルス数の関数である。
【0014】
また、デコーダの実施形態は、オーディオ信号の各サブバンドに逆変換行列及び逆置換を適用することによって、オーディオ信号を表し符号化されたビットストリームを復号する段階を含む。復元された結果として生じる周波数変換係数を使用して、オーディオ信号が復元されて、復元されたオーディオ信号が得られる。復元されたオーディオ信号は、再生デバイス上で再生される。
【0015】
平滑化パラメータが、符号化されたビットストリームと共に受け取られ、該平滑化パラメータは、逆変換行列を生成するのに使用される変換行列を計算するのに使用される。これは、変換行列を逆にして逆変換行列を得て、エネルギー平滑化レベルに従って逆変換行列を適用することによって、達成される。更に、デコーダは、エンコーダによって適用される順序と逆の順序で逆変換行列及び逆置換を適用する。
【0016】
代替実施形態が可能であり、本明細書で説明するステップ及び要素は、特定の実施形態に応じて、変更、追加、又は削除することができることに留意されたい。これらの代替の実施形態は、本発明の範囲から逸脱することなく、使用できる代替のステップ及び要素、並びに実施することができる構造上の変更を含む。
【0017】
ここで、全体を通して同様の参照符号が対応する要素を示す図面を参照する。
【図面の簡単な説明】
【0018】
【
図1】エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態の全体的な概要を示すブロック図である。
【
図2】
図1に示すエネルギー平滑化を伴う変換ベースのコーデックの動作の実施形態を示すフローチャートである。
【
図3】
図1に示すエネルギー平滑化を伴う変換ベースのエンコーダの実施形態の詳細を示すブロック図である。
【
図4】
図1に示すエネルギー平滑化を伴う変換ベースのデコーダの実施形態の詳細を示すブロック図である。
【
図5】
図3に示される直交変換及び置換システムの実施形態を示す詳細なブロック図である。
【
図6】置換システムと相互作用する直交変換システムの実施形態を示す詳細なブロック図である。
【
図7】行列ベースのインターリービングを使用して置換を適用する例示的な実施形態を示す図である。
【
図8】
図1及び
図3に図示の、エネルギー平滑化を伴う変換ベースのエンコーダの動作の実施形態を示すフローチャートである。
【
図9】
図4に示される逆直交変換及び置換システムの実施形態を示す詳細なブロック図である。
【
図10】逆置換システムと相互作用する逆直交変換システムの実施形態を示す詳細なブロック図である。
【
図11】行列ベースのデインターリービングを使用して逆置換を適用する例示的な実施形態を示す図である。
【
図12】
図1及び
図4に示すエネルギー平滑化を伴う変換ベースのデコーダの動作の実施形態を示すフローチャートである。
【
図13】拡張された元のシーケンスがMの倍数ではない場合の置換システムと相互作用する直交変換システムの実施形態を示す詳細なブロック図である。
【発明を実施するための形態】
【0019】
エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態についての以下の説明では、添付図面を参照する。これらの図面では、例証として、エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態が、どのようにして実施できるかについての具体的な実施例が示されている。特許請求される主題の範囲から逸脱することなく、他の実施形態が利用でき、構造上の変更を行うことができることは理解される。
【0020】
システム及び動作概要
エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態は、符号化中、ベクトル量子化によって引き起こされるアーティファクトを低減及び軽減するのに使用される。このことは、オーディオ信号の周波数変換係数に直交変換及びベクトル置換の組み合わせを適用することによって達成される。ここで、コーデック及び方法の実施形態の概要を説明する。
【0021】
図1は、エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態の全体的な概要を示すブロック図である。
図1を参照すると、コーデック100は、エネルギー平滑化を伴う変換ベースのエンコーダ110と、エネルギー平滑化を伴う変換ベースのデコーダ120とを含む。最初に、コンテンツ生成環境130において、オーディオコンテンツ(音楽トラック又はボーカルトラックなど)が生成される。この環境130は、音源を記録するための複数のマイクロホン135(又は他のサウンドキャプチャデバイス)を含むことができる。代替的に、音源は、音源を記録するのにマイクロホンを使用する必要がないように、既にデジタル信号であってもよい。サウンドを生成する方法が何であっても、コンテンツ生成環境130の出力は、オーディオ信号140である。
【0022】
次に、オーディオ信号140は、エネルギー平滑化を伴う変換ベースのエンコーダ110を使用して符号化される。エンコーダ110は、通常、1又は2以上の処理デバイスを有するコンピューティングデバイスに配置される。エンコーダ110は、本明細書で説明するシステム及び方法を使用してオーディオ信号140を符号化して、符号化されたビットストリーム150を生成する。
【0023】
符号化されたビットストリーム150は、配信環境160を介してリスナーによって消費されるために配信される。ネットワーク165を通じたストリーミング配信を含む幾つかの配信選択肢が利用可能である。代替的に、符号化されたビットストリーム150は、媒体170(光ディスクなど)に格納されて、リスナーによって消費される。更に、本明細書で列挙されていない、符号化されたビットストリーム150を配信するのに使用でき他の多くの配信選択肢が存在する。
【0024】
配信環境160の出力は、符号化されて送信されたビットストリーム175であり、このビットストリームは、エネルギー平滑化を伴う変換ベースのデコーダ120に入力される。デコーダ120は、符号化されて送信されたビットストリーム175を復号して、復元されたオーディオ信号180が得られる。デコーダ120の実施形態は、通常、1又は2以上の処理デバイスを有するコンピューティングデバイスに配置される。復元されたオーディオ信号180は、再生スピーカ(又はチャネル)レイアウトを含む再生環境185で再生される。再生スピーカのレイアウトは、コンテンツ生成スピーカのレイアウトと同じであることができ、又は同じでないこともできる。
図4に示される再生スピーカのレイアウトは、11.2レイアウトであり、環境185は、リスナー190を含む。他の実施形態では、再生スピーカのレイアウトは、スピーカが、単なる仮想スピーカであり、再生環境185内のサウンドがこの仮想スピーカから生じているように思われるようなヘッドホンとすることができる。例えば、リスナー190は、ヘッドホンを介して復元されたオーディオ信号180を聴取することができる。この状況では、スピーカは、実際の物理的なスピーカではないが(ヘッドホンを除く)、サウンドは、例えば11.2サラウンドサウンドスピーカ構成に対応する再生環境185内の異なる空間位置から生じるように思われる。
【0025】
図2は、
図1に示すエネルギー平滑化を伴う変換ベースのコーデックの動作の実施形態を示すフローチャートである。この動作は、処理されるオーディオ信号140から周波数変換係数ブロックを入力として受け取ることから始める(ボックス200)。このオーディオ信号140は、オーディオ技術者(又は他のタイプのコンテンツ作成者)によって最初に記録されてミックスされたオーディオ信号である。幾つかの実施形態では、周波数変換係数ブロックは、オーディオ信号140のサブバンド又はパーティションに関するものである。
【0026】
エンコーダ110を用いて、直交変換及びベクトル置換の両方を周波数変換係数ブロックに適用する(ボックス210)。幾つかの実施形態では、直交変換は、4より大きいか又はそれに等しい任意の2の累乗である。次に、処理された結果として得られた周波数変換係数は量子化されて、処理されて量子化された周波数変換係数を得る(ボックス220)。次いで、処理されて量子化された周波数変換係数は、符号化されたビットストリーム150にパックされる(ボックス230)。
【0027】
符号化されたビットストリーム150は、送信、又は格納、或いは場合によっては、送信及び格納の両方が行われる(ボックス240)。格納及び送信の両方が実行される場合には、これらが実行される順序は、最初に格納が実行された後、送信を実行することができ、又はその逆とすることができる。デコーダ120を用いて、符号化されたビットストリーム150を処理し、エンコーダ110の動作の逆の動作を行う(ボックス250)。符号化されたビットストリーム150を復号した後、オーディオ信号が復元される。幾つかの実施形態では、復元されたオーディオ信号180は、オーディオ信号をビットごとに再生するものである。他の実施形態では、復元されたオーディオ信号180は、オーディオ信号を近似したものである。再生デバイスを用いて、復元されたオーディオ信号180を再生する(ボックス260)。
【0028】
エンコーダ実施形態の概要
図3は、
図1に示すエネルギー平滑化を伴う変換ベースのエンコーダの実施形態の詳細事項を示すブロック図である。
図3に示されるように、エンコーダ110は、直交変換及び置換システム300を含み、これは、以下で詳細に説明される。エンコーダ110への入力は、オーディオ信号140である。この信号140は、直交変換及び置換システム300に入力される周波数変換係数ブロック310を含む。幾つかの実施形態では、これらの周波数変換係数ブロック310は、正規化された修正離散コサイン変換(MDCT)係数である。
【0029】
システム300の出力は、直交変換及びベクトル置換が適用されて処理された周波数変換係数320である。次に、処理された周波数変換係数320は、ベクトル量子化器330を使用して量子化され、処理されて量子化された周波数変換係数を生成する。これらの量子化された係数は、ビットストリームパッキングシステム340を使用してビットストリームにパックされる。エンコーダ110の出力は、符号化されたビットストリーム150である。
【0030】
デコーダ実施形態の概要
上述したように、符号化されたビットストリーム150は、格納、又は送信、或いはその両方が行われる。次に、符号化されたビットストリーム150は、エネルギー平滑化を伴う変換ベースのデコーダ120を含む受信デバイスに配信されて、レンダリングされる。
図4は、
図1に示すエネルギー平滑化を伴う変換ベースのデコーダの実施形態の詳細を示すブロック図である。デコーダ120は、周波数変換係数に適用される直交変換及びベクトル置換の逆の動作を行う逆直交変換及び置換システム400を含む。これは以下で詳細に説明される。
【0031】
デコーダ120への入力は、符号化されて送信された(又は格納又はこれら両方が行われた)ビットストリーム150である。符号化されたビットストリーム150は、最初に、ビットストリームアンパッキングシステム410を使用してアンパックされる。次に、逆ベクトル量子化が、逆ベクトル量子化器420を使用して、符号化されアンパックされたビットストリームに適用される。この逆量子化は、逆直交変換及び置換システム400に入力される受信周波数変換係数430のセットを生成する。システム400の出力は、復元された周波数変換係数ブロック440である。デコーダ120の出力は、復元されたオーディオ信号180である。
【0032】
II.システム及び動作詳細
ここで、エネルギー平滑化を伴う変換ベースのコーデック及び方法の詳細を説明する。多くの変形形態が実施可能であり、当業者は、本明細書の開示内容に基づいて同じ結果を達成できる他の多くの方法を理解するであろう点に留意されたい。
【0033】
エンコーダ
図5は、
図3に示される直交変換及び置換システム300の実施形態を示す詳細なブロック図である。
図5は、システム300及び本明細書に含まれる方法の例示的な実施形態を示しており、多数の変形形態が、
図5に示されるものから実施可能であることに留意されたい。時間領域においてオーディオ信号に対して実行される何らかのフィルタリング、プリエンファシス、又はその他の何らかの動作は、オーディオ信号がシステム300によって処理される前に実行されることに留意されたい。
【0034】
図5に示されるように、システム300は、周波数変換係数ブロック310を受け取る。幾つかの実施形態では、この係数は、MDCT係数310であり、他の実施形態では、係数のタイプは、離散コサイン変換(DCT)の何らかの変形形態、又はオーディオコーデックによって使用される他の何らかの周波数変換である点に留意されたい。どのタイプの周波数変換係数が使用されるかにかかわらず、この係数は、置換システム500及び直交変換システム510によって受け取られる。置換システム500と直交変換システム510との組み合わせは、置換処理と組み合わせた変換処理である。
【0035】
エンコーダ110における変換及び置換処理の順序は、その順序がデコーダ120において逆になるので重要である。例えば、エンコーダ110では、周波数変換係数(周波数変換係数ブロック310など)は、最初に、置換システム500によって処理されて、次に、直交変換システム510によって処理される。次に、デコーダ120において、逆変換が適用された後、逆置換が適用される。幾つかの実施形態では、エンコーダ110側では、周波数変換係数は、最初に、置換システム500によって処理され、次に、直交変換システム510によって処理される。他の実施形態では、エンコーダ110側では、周波数変換係数は、最初に、直交変換システム510によって処理され、次に、置換システム500によって処理される。置換システム500及び直交変換システム510は、以下に詳細に説明される。
【0036】
周波数変換係数はまた、エネルギー平滑化決定ブロック520によって使用される。決定ブロック520は、最初に、周波数変換係数の信号スペクトルの解析を実行する。この解析に基づいて、決定ブロック520は、エネルギー平滑化が必要であるか否かを判定し、必要である場合には、どれ程のエネルギー平滑化を適用するかを決定する。必要でない場合には、エネルギー平滑化は、周波数変換係数ブロックに適用されない。
【0037】
エネルギー平滑化が必要であると決定された場合、決定ブロック520は、解析結果を使用して、どれ程のエネルギー平滑化を適用するかを決定する。エネルギー平滑化決定ブロック520の出力は、適用される平滑化のレベル又は量を指定する平滑化パラメータである。エネルギーを平滑化するか否か及び平滑化レベルに関する決定は、エンコーダ110からの幾つかのパラメータの関数である。様々な実施形態において、これらのパラメータは、サブバンドの長さと利用可能なビット数との任意の組み合わせを含む。
【0038】
エネルギー平滑化決定ブロック520は、平滑化パラメータを変換パラメータシステム530に送る。このシステム530は、変換行列を生成するのに使用される変換パラメータ(「x」として示される)を計算する。また、システム530は、ベクトル量子化器330から複数のパルスの形で入力を受け取る。変換パラメータxは、平滑化パラメータ、変換されるサブバンドの長さ、及びベクトル量子化器330のパルス数の関数である。これらの変換パラメータは、直交変換システム510に送られて、変換行列が生成される。置換システム500(直交変換システム510が、最初に周波数変換係数を処理する場合)又は直交変換システム510(置換システム500が、最初に周波数変換係数を処理する場合)の出力は、所与のサブバンド又はパーティションに対して処理された周波数変換係数320である。上記で説明したように、これらの処理された周波数変換係数320は、次に、ベクトル量子化器330を使用して量子化されて、所与のサブバンド又はパーティションに対して処理されて量子化された周波数変換係数が生成される。
【0039】
直交変換システムの詳細
図6は、置換システム500と相互作用する直交変換システム510の実施形態を示す詳細なブロック図である。具体的には、
図6は、これらの実施形態においてインターリービングである置換と、変換との組み合わせが、どのようにして周波数サブバンド又はパーティションに適用されるかを示している。
図6に示されるこれらの実施形態では、係数ベクトルの長さは、Mの整数倍であると仮定されており、ここで、Mは、変換行列のサイズである。
図6に示される例示的な実施形態では、Mの大きさは4に等しい。更に、
図6に示される実施形態では、置換システム500は、最初に、周波数変換係数を処理し、続いて直交変換システム510が処理する。
【0040】
図6に示されるように、サブバンド係数の元のシーケンス600が、置換システム500に入力される。この実施例では、シーケンス600の長さは、M=4の倍数(この場合、16係数長)に等しい。置換システム500による最初の処理は、元のシーケンス600全体に適用され、インターリービングである。このインターリービングは、元のシーケンス600の長さ(又はこの実施例では、係数長が16)であるインターリーブシーケンス610を生成する。
【0041】
次に、このインターリーブされたシーケンス610は、直交変換システム510によって処理される。システム510は、インターリーブされたシーケンス内の連続するM個の点の各セット(この実施例では、M=4)に変換行列を適用する。直交変換システム510によるこの処理は、処理されたシーケンス620を生成し、このシーケンスは、
図3及び
図5に図示の処理された周波数変換係数320の具体例である。
図6に示される実施例では、処理されたシーケンス620の各ブロックは、4×4係数行列である。更に、この実施例では、処理されたシーケンスにおける4つのブロック、すなわち、第1のブロック630、第2のブロック640、第3のブロック650、及び第4のブロック660が存在する。
【0042】
変換行列
幾つかの実施形態では、変換行列は、部分アダマール行列の種類からのタイプのものである。この行列は、変換行列に関して上記及び下記で与えられた要件を満たす。
具体的には、この行列は、
であるように直交し、エネルギーは、適切な正規化を用いて保存され制御可能である。
【0043】
一例として、以下、すなわち、
は、サイズ4(H
4W)の部分アダマール行列である変換行列の実現の実施例であり、上記で、
であり、xは、0から1の範囲の変換パラメータである。
【0044】
例証として、
の場合には、変換行列は以下のようになる。
【0045】
【0046】
サイズ4の部分アダマール行列の更に別の変形例は、以下で与えられる。
ここで、
であり、xは変換パラメータである。
【0047】
上記に示される2つの実施例に加えて、幾つかの変形例及び他のタイプの変換行列が実施可能であることに留意されたい。変換行列に関する主な要件は、この行列が可逆的でエネルギー保存的であることである。更に、変換行列は、制御可能であり(ある程度の平滑化を可能にするため)、量子化ノイズに対して安定かつ堅牢であるべきである。
【0048】
変換パラメータ
変換パラメータxは、サブバンドの長さN、サブバンドをベクトル量子化するのに使用されるパルス数K、並びに所望の平滑化レベルに対する設定値である平滑化パラメータsの関数として計算される。数学的には、変換パラメータは、以下のように記述することができる。
【0049】
この場合もやはり、sは、どの程度の平滑化が適用されるかに関する設定値である平滑化パラメータである。平滑化パラメータsは、フレームごとに(又はサブバンドごとに)1回決定される。平滑化パラメータsの詳細は、以下に示される。
【0050】
幾つかの実施形態では、平滑化レベルは、3つの離散レベル、すなわち、低、中、及び高として与えられる。更に、3つの設定値の各々の値は、
s(低)=0.35、s(中)=0.45、s(高)=0.75
で与えられる。平滑化レベルは、デコーダ120に伝達され、エンコーダ110及びデコーダ120の両方は、平滑化パラメータsを使用して、変換パラメータxに関する全く同じ値を導出する。
【0051】
置換システムの詳細
幾つかの実施形態では、置換システム500は、インターリービングを実行する。インターリービングは、与えられたルールに従ってベクトルの係数(又は要素)を再配列するプロセスである。幾つかの実施形態では、このルールは決定論的であり、他の実施形態では、このルールは確率論的である。当業者に知られているように、インターリービングは、幾つかの方法で実行することができる。
【0052】
図7は、行列ベースのインターリービングを使用して置換を適用する例示的な実施形態を示している。このインターリービングは、エンコーダ110上で置換システム500によって実行される。この実施例では、長さPx4のシーケンスが、4列P行の行列を使用してインターリーブされる。
図7に示されるように、インターリービングの際に、行列は、行方向(又は行に沿って)で埋められ、行列は、列方向(又は列に沿って)に読み取られる。インターリーブするために、行列は、行方向に埋められ、列方向に読み取られる。
【0053】
エネルギー平滑化決定ブロックの詳細
エネルギー平滑化決定ブロック520の実施形態は、エネルギー平滑化を適用すべきか否かを決定し、その場合、どの程度の平滑化を適用すべきかを決定する。幾つかの実施形態では、平滑化を適用するか否かについての決定は、フレーム又はサブバンドごとにエンコーダ110にて決定される。幾つかの実施形態では、この決定は、高域周波数スペクトルの解析に基づいており、このスペクトルが、音調構造又はノイズのような構造を有するか否かを測定することを伴う。
【0054】
平均平坦度尺度に基づく意思決定
この解析を定量化するために、平坦度尺度は、サブバンドごとに計算され、特定の閾値を上回る(例えば、2kHzを上回る)サブバンドにわたって平均化される。平均平坦度尺度が閾値を下回る場合には、エネルギー平滑化は、そのサブバンドには適用されない。他方、平均平坦度尺度が、閾値に等しいか又はそれを上回る場合には、エネルギー平滑化が、サブバンドに適用される。
【0055】
また、平均平坦度尺度を用いて、フレーム又はサブバンドごとに平滑化レベルを決定する。幾つかの実施形態では、3つの離散平滑化レベル、すなわち、(1)低エネルギー平滑化、(2)中エネルギー平滑化、(3)高エネルギー平滑化が、利用可能である。当然ながら、エネルギー平滑化を適用しないと決定した場合には、これは、どちらの側にも変換が適用されないことを意味する平滑化なしレベルである。
【0056】
スペクトル平坦度解析のために、高域周波数スペクトルは、サブバンドに分割される。幾つかの実施形態では、これは、バークスケールなどの知覚尺度に基づくことができる。スペクトルの平坦度尺度は、正規化されたMDCT帯域上で計算される。スペクトルの平坦度を計算するのに使用できる幾つかの方法が存在する。幾つかの実施形態では、いわゆるエントロピーベースの尺度は、以下の式、すなわち、
を使用して所与のサブバンドに対して計算され、ここで、Kは、サブバンドの長さ(ビン単位)であり、
は、所与のMDCTビンの正規化された(絶対)値であり、以下の式
で与えられ、ここで、X(k)は、ビンkにおけるMDCTの値である。
【0057】
次に、線形平坦度尺度は、以下のように与えられる。
従って、この尺度は、サブバンドごとに計算され、単一の測定値をもたらすために全てのサブバンド及びチャネルにわたって平均化され、平均平坦度尺度(又は「平坦」)である。幾つかの実施形態では、この尺度に基づいて、平滑化決定は、以下の経験則から決定され、
((「平坦度」<1.19))の場合、「平滑化決定」=「なし」(エネルギー平滑化が適用されない)であり、
((「平坦度」>=1.19)かつ「平坦度」<1.25))の場合、「平滑化決定」=「低」であり、
((「平坦度」>=1.25)かつ「平坦度」<1.48))の場合、「平滑化決定」=「中」であり、
((「平坦度」>=1.48))の場合、「平滑化決定」=「高」である。
【0058】
スパース性に基づく意思決定
更に別の実施形態では、スペクトルのスパース性尺度が、平滑化レベルを決定するのに使用される。上記と同様に、このスパース性尺度は、以下の式、すなわち、
を使用してサブバンドごとにエンコーダ上で計算され、ここで、
及び
である。
【0059】
同様の経験則を用いて、平滑化レベルを決定することができる。
【0060】
エネルギー平滑化を伴う変換ベースのエンコーダの動作詳細
図8は、
図1及び
図3に示されるエネルギー平滑化を伴う変換ベースのエンコーダ110の動作の実施形態を示すフローチャートである。この動作は、入力としてオーディオ信号140を受信することで始まる(ボックス800)。オーディオ信号140は、この実施例では正規化された修正離散コサイン変換(MDCT)係数である周波数変換係数ブロック310を含む(ボックス810)。
【0061】
エンコーダ110は、次に、オーディオ信号140の周波数スペクトル(MDCT係数で表される)を複数のサブバンドに分割する。これらのサブバンドは、等しいサイズ又は等しくないサイズのものとすることができる。具体的には、幾つかの実施形態では、サブバンドのサイズは、一般的に使用されるバークスケールなどの対数スケールに従う。しかしながら、このことは必須でなく、他の実施形態では、サブバンドは、等しくない長さのものである。
【0062】
サブバンドが、等しい長さのものであるか又は等しくない長さのものであるかにかかわらず、エンコーダ110は、サブバンド及びチャネルの全てにわたってループする(ボックス815)。あらゆるチャネル内の各サブバンドに対して、エンコーダ110は、上述のようにスペクトル平坦度を計算する(ボックス820)。各サブバンドに関するスペクトル平坦度は、平均化されて、平均平坦度尺度が得られ、この尺度を用いて、エネルギー平滑化が適用されるか否か、及びどのレベルの平滑化が適用されるかを決定する(ボックス830)。この処理は、平滑化レベルを含む平滑化パラメータをもたらす。上述のように、幾つかの実施形態では、4つの異なるレベルの平滑化、すなわち、平滑化なし、低平滑化、中平滑化、及び高平滑化が存在する。平滑化レベルを含む平滑化パラメータは、符号化されたビットストリーム150に含まれており、エンコーダ110とデコーダ120との間で渡される。
【0063】
また、エンコーダ110は、変換及び置換プロセスのために、この平滑化パラメータを使用する。エンコーダ110は、全てのチャネルにわたってループし(ボックス840)、各チャネル内では、全てのサブバンドにわたってループする(ボックス850)。各反復において、エンコーダ110は、変換行列を計算し(ボックス860)、この実施例ではインターリービングである置換を適用する(ボックス870)。また、エンコーダ110は、変換プロセスに変換行列を適用する(ボックス880)。幾つかの実施形態では、上述したように、変換処理が最初に適用された後に置換処理が適用され、他の実施形態では、置換処理が最初に適用された後に変換処理が適用される。次いで、結果として得られる処理されたMDCT係数は、ベクトル量子化器330を使用してベクトル量子化される(ボックス890)。
【0064】
デコーダ
図9は、
図4に示される逆直交変換及び置換システム400の実施形態を示す詳細なブロック図である。
図9は、システム400及び本明細書に含まれる方法の例示的な実施形態を示しており、
図9に示されるものから、多数の変形形態が実施可能であることに留意されたい。
【0065】
図9に示されるように、逆ベクトル量子化器420は、受け取ったベクトルに基づいてサブバンド係数を再現する。逆ベクトル量子化器420からの出力は、受信周波数変換係数430である。逆直交変換及び置換システム300への入力は、受信周波数変換係数430である。
【0066】
逆直交変換及び置換システム300は、逆直交変換システム900及び逆置換システム910を含む。逆変換及び逆置換がデコーダ120上で実行される順序は、変換及び置換がエンコーダ110上で実行される順序に依存することに留意することが重要である。上述したように、エンコーダ110上で実行された方法はどちらも、デコーダ120上では逆になる。逆置換システム910及び逆直交変換システム900について、以下で詳細に説明される。
【0067】
デコーダ側変換パラメータシステム920は、変換行列を生成するのに使用される変換パラメータxを計算する。このパラメータは、エンコーダ110上の変換パラメータシステム530によって使用されるのと同じ情報である。また、平滑化パラメータは、エンコーダ110からデコーダ120に渡された変換パラメータの1つであり、デコーダ側変換パラメータシステム920に含まれる。
【0068】
また、逆直交変換システム900は、エンコーダ110において実行された周波数領域変換の逆の処理を行う。更に、エンコーダ110によって実行される何らかの時間領域処理もまた、システム900によって逆の処理がされる。システム900からの出力は、復元された周波数変換係数ブロック440である。
【0069】
逆直交変換システムの詳細
図10は、逆置換システム910と相互作用する逆直交変換システム900の実施形態を示す詳細なブロック図である。具体的には、
図10は、これらの実施形態においてデインターリービングである逆置換と逆変換との組み合わせが、どのようにして周波数サブバンド又はパーティションに適用されるかを示している。
図10に示されるこれらの実施形態では、係数ベクトルの長さは、Mの整数倍であると仮定されており、ここで、Mは、変換行列のサイズである。
図10に示される例示的な実施形態では、Mの大きさは、4に等しい。更に、
図10に示される例示的な実施形態では、逆直交変換システム900は、最初に周波数変換係数を処理した後、逆置換システム910が処理する。
【0070】
図10に示されるように、処理されて送信されたサブバンド係数シーケンス1000が、逆直交変換システム900に入力される。
図10に示される実施例では、処理されて送信されたシーケンス1000の各ブロックは、4×4係数行列である。更に、この実施例では、処理されたシーケンス内の4つのブロック、すなわち、第1の受信ブロック1010、第2の受信ブロック1020、第3の受信ブロック1030、及び第4の受信ブロック1040が存在する。
【0071】
逆直交変換システム900は、逆変換行列を適用して、連続するM個の点のセット(この実施例では、M=4)を有し復元されたインターリーブシーケンス1050を生成する。次に、逆置換システム910が、この復元されたインターリーブシーケンス1050を処理する。システム910は、復元されたインターリーブシーケンス1050をデインターリーブして、復元された元のシーケンス1060を得る。この実施例では、シーケンス1060の長さは、M=4の倍数(この場合、16係数長)に等しい。
【0072】
逆変換行列の計算の実施例は、以下の通りである。最初に、平滑化パラメータが、符号化されたビットストリームから得られる。次に、変換パラメータxが計算される。幾つかの実施形態では、xは、上記に与えられた式、すなわち、
を使用して計算される。
【0073】
xを計算した後、変換行列が計算される。上述のように、幾つかの実施形態では、変換行列は、以下のように計算され、
ここで、
である。
【0074】
逆変換行列は、変換行列の逆(又は転置行列)、すなわち、
を利用することによって計算される。次に、デコーダは、逆変換行列を適用する。これは、逆置換(この実施例では、デインターリービングである)の後又は前に行われる。
【0075】
逆置換システムの詳細
図11は、行列ベースのデインターリービングを使用して逆置換を適用する例示的な実施形態を示している。これは、
図7に示されるインターリービング動作と反対又は逆の動作である。このデインターリービングは、デコーダ120上での逆置換システム910によって実行される。この実施例では、長さP×4のシーケンスは、4列及びP行の逆行列を使用してデインターリーブされる。
図11に示されるように、デインターリービングの際に、行列は、列方向に充填され、行方向に読み取られる。
【0076】
エネルギー平滑化を伴う変換ベースのデコーダの動作詳細
図12は、
図1及び
図4に示されるエネルギー平滑化を伴う変換ベースのデコーダ120の動作の実施形態を示すフローチャートである。この動作は、符号化されたビットストリーム150を入力として受け取ることで始まる(ボックス1200)。符号化されたビットストリームに逆量子化が適用される(ボックス1210)。また、符号化されたビットストリーム150は、エンコーダ110からデコーダ120に渡される平滑化パラメータを含む。デコーダ120は、この平滑化パラメータから平滑化レベルを読み取る(ボックス1220)。
【0077】
次に、デコーダ120は、各チャネルにわたって(ボックス1230)及び各チャネル内の各サブバンドにわたって(ボックス1240)繰り返す適用される。特定のチャネル内の各サブバンドに対して、デコーダ120は、受け取った平滑化パラメータを使用して変換行列を計算する(ボックス1250)。変換行列が逆にされて、逆変換行列が得られ、この逆変換行列が、受け取ったMDCT係数に適用される(ボックス1260)。
【0078】
デコーダ120はまた、MDCT係数にデインターリービングを適用する(ボックス1270)。逆変換処理及びデインターリービングは、エンコーダ110によって適用された順序と逆の順序でデコーダ120によって適用される。この逆変換及びデインターリーブの結果は、復元されたMDCT係数である(ボックス1280)。
【0079】
III代替の実施形態及び例示的な動作環境
直交変換システム510及び置換システム500の代替の実施形態が可能である。一例として、
図13は、拡張された元のシーケンス1300がMの倍数ではない場合における、置換システム500と相互作用する直交変換システム510の実施形態を示す詳細なブロック図である。具体的には、
図13は、係数ベクトルの長さが、M(Mは変換行列のサイズである)の倍数でない場合、これらの実施形態ではインターリービングである置換と変換との組み合わせが、どのようにして周波数サブバンド又はパーティションに適用されるかを示している。
図13に示される実施例では、M=4であり、シーケンス1300の長さは、18個の係数である。
【0080】
拡張された元のシーケンス1300のMの倍数である最初の部分は、切り離されてインターリーブされる。
図6に示される事例と同様に、置換(この場合、インターリービング)が最初に適用された後、変換が適用される。具体的には、18個のサブバンド係数からなる拡張された元のシーケンス1300が、置換システム500に入力される。置換システム500による処理は、拡張された元のシーケンス1300内のMの倍数である複数の係数(この場合、最初の16個の係数)に適用される。この場合の置換は、インターリービングである。このインターリービングは、拡張された元のシーケンス1300の長さである(又はこの実施例では係数長が18である)疑似インターリーブされたシーケンス1310を生成する。
【0081】
次に、この疑似インターリーブされたシーケンス1310は、直交変換システム510によって処理される。システム510は、疑似インターリーブされたシーケンスにおける連続するM個の点の各セットに変換行列を適用する。この実施例では、変換行列は、4つの係数の最初の4つのグループに適用される。直交変換システム510によるこの処理は、疑似インターリーブされて処理された第1のシーケンス1320を生成する。
図13に示される実施例では、疑似インターリーブされて処理された第1のシーケンス1320の最初の4つブロックは、4×4係数行列である。この場合、このことは、最初の16個の点のみが、インターリーブされ変換され、最後の2つの点は、インターリーブされず変換されないことを意味する。
【0082】
最後の2つの点は、インターリーブされず変換されなかったので、追加のステップは、拡張された元のシーケンス1300を左から右へ反転させて、第1の反転シーケンス1330を得るステップを含む。変換行列は、第1の反転シーケンス1330内の4つの係数の最初の4つのグループに適用される。直交変換システム510によるこの処理は、疑似インターリーブされて処理された第2のシーケンス1340を生成する。前述のように、
図13に示される実施例では、疑似インターリーブされて処理された第2のシーケンス1340の最初の4つのブロックは、4×4係数行列である。
【0083】
最終的な反転が、疑似インターリーブされて処理された第2のシーケンス1340に対して左から右に実行されて、係数シーケンスがその元の順序に戻されて、第2の反転シーケンス1350が生成される。デコーダ120において、逆直交変換システム900及び逆置換システム910は、エンコーダ110と逆の順序で逆の動作を実行する。疑似インターリーブされたシーケンスを反転する追加の動作シーケンスを決定するのに必要な情報は、デコーダにおいて利用可能である。従って、追加のビットは、信号で伝えられず、エンコーダ110からデコーダ120に渡されることもない。
【0084】
本明細書で記載されるもの以外の他の多くの変形形態は、本明細書から明らかであろう。例えば、実施形態によっては、本明細書で説明した何らかの方法及びアルゴリズムの特定の動作、事象、又は機能は、異なる順序で実行することができ、追加、統合、又は完全に省略することができる(従って、ここで説明する全ての動作又は事象が、本方法及びアルゴリズムの実施に必要であるとは限らない)。更に、特定の実施形態において、動作又は事象は、連続的ではなく、例えば、マルチスレッド処理、割り込み処理、又はマルチプロセッサ若しくはプロセッサコアによって、或いは他の並列アーキテクチャ上で実行することができる。加えて、様々なタスク又は処理は、一緒に機能することができる異なるマシン及びコンピューティングシステムによって実行することができる。
【0085】
本明細書で開示する実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、方法、並びにアルゴリズム処理及び手順は、電子ハードウェア、コンピュータソフトウェア、又はこれら両方の組み合わせとして実装することができる。ハードウェア及びソフトウェアのこの互換性について明確に例証するために、上記では、様々な例示的構成要素、ブロック、モジュール、及び処理動作は、これらの機能性に関して一般的に説明されている。このような機能性をハードウェアとして実施するか又はソフトウェアとして実施するか否かは、特定の用途及びシステム全体に課された設計上の制約条件に依存する。記載された機能性は、特定の用途の各々に関して異なる方法で実施できるが、このような実施の決定が、本明細書の範囲からの逸脱を生じさせると解釈すべきではない。
【0086】
本明細書で開示される実施形態に関連して説明した様々な例示的な論理ブロック及びモジュールは、汎用プロセッサ、処理デバイス、1又は2以上の処理デバイスを有するコンピューティングデバイス、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他のプログラム可能論理デバイス、離散ゲート若しくはトランジスタ論理回路、離散ハードウェア構成要素、又は本明細書で説明する機能を実行するよう設計されたこれらの何れかの組み合わせなどのマシンによって実施又は実行することができる。汎用プロセッサ及び処理デバイスは、マイクロプロセッサとすることができるが、代替形態では、プロセッサは、コントローラ、マイクロコントローラ、又は状態マシン、これらの組み合わせ、又は同様のものとすることができる。また、プロセッサは、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連動する1又は2以上のマイクロプロセッサ、又は他の何らかのこのような構成などの、コンピューティングデバイスの組み合わせとして実施することもできる。
【0087】
本明細書に記載の、エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態は、多くのタイプの汎用又は専用コンピューティングシステム環境又は構成内で動作可能である。一般に、コンピューティング環境は、限定されるものではないが、幾つかの例を挙げると、1又は2以上のマイクロプロセッサ、メインフレームコンピュータ、デジタル信号プロセッサ、携帯用コンピューティングデバイス、パーソナルオーガナイザ、デバイスコントローラ、電気製品内部の計算エンジン、携帯電話、デスクトップコンピュータ、モバイルコンピュータ、タブレットコンピュータ、スマートフォン、及び組込型コンピュータを備えた電気製品に基づくコンピュータシステムを含むあらゆるタイプのコンピュータシステムを含むことができる。
【0088】
このようなコンピューティングデバイスは、通常、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話及びPDAなどの通信デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオメディアプレーヤ、及びその他を含む、少なくとも何らかの最低限の計算能力を有するデバイスに見つけることができる。幾つかの実施形態において、コンピューティングデバイスは、1又は2以上のプロセッサを含むことになる。各プロセッサは、デジタル信号プロセッサ(DSP)、超長命令語(VLIW)、又は他のマイクロコントローラなどの特殊なマイクロプロセッサとすること、或いは、マルチコアCPU内の特殊なグラフィックス処理ユニット(GPU)ベースのコアを含む、1又は2以上の処理コアを有する従来型中央処理ユニット(CPU)とすることができる。
【0089】
本明細書で開示する実施形態に関連して説明した方法、プロセス、又はアルゴリズムの処理動作は、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールで、又はこれら2つの何れかの組み合わせで具現化することができる。ソフトウェアモジュールは、コンピューティングデバイスがアクセスできるコンピュータ可読媒体に含めることができる。コンピュータ可読媒体は、取り外し可能、取り外し不可能の何れかである揮発性及び不揮発性媒体、又はこれらの何らかの組み合わせを含む。コンピュータ可読媒体は、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するのに使用される。限定されるものではなく例として、コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含むことができる。
【0090】
コンピュータストレージ媒体は、限定ではないが、Bluray(登録商標)ディスク(BD)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フロッピーディスク、テープドライブ、ハードドライブ、光学ドライブ、ソリッドステートメモリデバイス、RAMメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、フラッシュメモリ、又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、或いは所望の情報を格納するのに使用可能で1又は2以上のコンピューティングデバイスによってアクセス可能な何らかの他のデバイスなどの、コンピュータ又はマシン可読媒体又はストレージデバイスを含む。
【0091】
ソフトウェアは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD-ROM、又は当該技術で公知の非一時的コンピュータ可読ストレージ媒体、メディア、又は物理コンピュータストレージの何らかの他の形態で存在することができる。例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読み出して、この媒体に情報を書き込むことができるように、プロセッサに結合することができる。代替形態では、ストレージ媒体は、プロセッサと一体化することができる。プロセッサ及びストレージ媒体は、特定用途向け集積回路(ASIC)内に存在することができる。ASICは、ユーザ端末内に存在することができる。代替的に、プロセッサ及びストレージ媒体は、ユーザ端末内の個別構成要素として存在することができる。
【0092】
本明細書で使用される「非一時的」という語句は、「永続的又は長寿命」を意味する。「非一時的コンピュータ可読媒体」という語句は、任意の及び全てのコンピュータ可読媒体を含み、唯一の例外は一時的な伝搬信号である。この語句は、限定されるものではなく例として、レジスタメモリ、プロセッサキャッシュ、及びランダムアクセスメモリ(RAM)などの非一時的コンピュータ可読媒体を含む。
【0093】
「オーディオ信号」という語句は、物理的なサウンドを表す信号である。オーディオ信号を構築する一つの方法は、物理的なサウンドを取り込むことによる。オーディオ信号は、リスナーがオーディオコンテンツを聴取できるように、再生デバイス上で再生されて、物理的なサウンドが生成される。再生デバイスは、電子信号を解釈してこの信号を物理的なサウンドに変換することができる任意のデバイスとすることができる。
【0094】
また、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュールなどのような情報の保持は、1又は2以上の変調データ信号、電磁波(搬送波など)、又は他の伝送機構若しくは通信プロトコルを符号化するための様々な通信媒体を使用して実現することもでき、何らかの有線又は無線情報配信機構を含む。一般に、これらの通信媒体は、信号内の情報又は命令を符号化するような方法で設定又は変更される信号特性のうちの1又は2以上を有する信号を参照する。例えば、通信媒体は、1又は2以上の変調データ信号を搬送する有線ネットワーク又は直接有線接続などの有線媒体と、音響、無線周波数(RF)、赤外線、レーザなどの無線媒体と、1又は2以上の変調データ信号又は電磁波を送信、受信、又は送受信するための他の無線媒体とを含む。上記の何れかの組み合わせは、同様に、通信媒体の範囲内に含まれるはずである。
【0095】
更に、本明細書に記載のエネルギー平滑化を伴う変換ベースのコーデック及び方法の様々な実施形態の一部又は全部を具現化するソフトウェア、プログラム、コンピュータプログラム製品のうちの1つ又は何れかの組み合わせ、或いはこれの一部分は、コンピュータ実行可能命令又は他のデータ構造の形式で、コンピュータ又はマシン可読媒体又はストレージデバイス及び通信媒体の任意の所望の組み合わせに格納、受信、送信、又はそこから読み出すことができる。
【0096】
本明細書に記載の、エネルギー平滑化を伴う変換ベースのコーデック及び方法の実施形態は更に、コンピューティングデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本明細書で説明した実施形態は、1又は2以上のリモート処理デバイスによって、又は1又は2以上のデバイスのクラウド内でタスクが実行される分散コンピューティング環境で実施することもでき、これらのデバイスは、1又は2以上の通信ネットワークを通じてリンクされる。分散コンピューティング環境では、プログラムモジュールは、メディアストレージデバイスを含む、ローカル及びリモートの両方のコンピュータストレージ媒体内に配置することができる。更に、上述した命令は、プロセッサを含むことがあるか又はプロセッサを含まないこともあるハードウェア論理回路として部分的に又は全体的に実装することができる。
【0097】
本明細書で使用する条件語、とりわけ、「できる(can)」、「してよい(might)」、「できる(may)」、「例えば(e.g.)」、及び同様のものは、別途明確に言及されていない限り、又は使用される文脈でそれ以外に理解されない限り、一般に、特定の実施形態が、特定の特徴、要素、及び/又は状態を含むが、他の実施形態は、これらを含まないことを伝えることを意図している。従って、このような条件語は、一般に、特徴、要素、及び/又は状態が、1又は2以上の実施形態にとって必ず必要であることを示唆するものでなく、作成者の入力又は指示があってもなくても、これらの特徴、要素、及び/又は状態が含まれるか又は何れかの特定の実施形態で実行されるか否かを決定するためのロジックを、1又は2以上の実施形態が必ず含むことを示唆するものでもない。「備える(comprising)」、「含む(including)」、「有する(having)」という用語、及び同様のものは、同義であり、包含的にオープンエンド方式で使用され、追加の要素、特徴、動作、操作、及びその他を除外するものではない。また、「又は」という用語は、包括的な意味で(排他的意味ではなく)使用され、従って、例えば、要素のリストを結び付けるのに使用される際に、「又は」という用語は、リスト内の要素のうちの1つ、幾つか、又は全てを意味する。
【0098】
上記の詳細な説明は、様々な実施形態に適用される新規性のある特徴を示し、説明し、指摘するが、本開示の趣旨から逸脱することなく、様々な省略、置換、及び変更が、例証されたデバイス又はアルゴリズムの形式及び詳細において実施できることが理解されるであろう。認識されるように、一部の特徴は、他の特徴から切り離して使用又は実施することができるので、本明細書で説明する本発明の特定の実施形態は、本明細書に示した特徴及び利点の全てを提供するとは限らない形態の範囲内で具現化することができる。
【0099】
更に、本主題は、構造的特徴及び方法論的動作に特有の用語で説明してきたが、添付の請求項で規定される主題は、上記で説明した特定の特徴又は動作に必ずしも限定されるものではないことを理解されたい。そうではなく、上記で説明した特定の特徴及び動作は、請求項を実施する例示的な形態として開示される。
【符号の説明】
【0100】
100 コーデック
110 エンコーダ
130 コンテンツ生成環境
135 マイクロホン
140 オーディオ信号
150 符号化されたビットストリーム
160 配信環境
165 ネットワーク
170 媒体
175 符号化されて送信されたビットストリーム
180 復元されたオーディオ信号
185 再生環境
190 リスナー