特許第6184519号(P6184519)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオの特許一覧

特許6184519音声信号復号化または符号化の時間領域レベル調整
<>
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000009
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000010
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000011
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000012
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000013
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000014
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000015
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000016
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000017
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000018
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000019
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000020
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000021
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000022
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000023
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000024
  • 特許6184519-音声信号復号化または符号化の時間領域レベル調整 図000025
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6184519
(24)【登録日】2017年8月4日
(45)【発行日】2017年8月23日
(54)【発明の名称】音声信号復号化または符号化の時間領域レベル調整
(51)【国際特許分類】
   G10L 19/035 20130101AFI20170814BHJP
   G10L 19/00 20130101ALI20170814BHJP
【FI】
   G10L19/035 Z
   G10L19/00 330B
【請求項の数】16
【全頁数】33
(21)【出願番号】特願2015-553045(P2015-553045)
(86)(22)【出願日】2014年1月7日
(65)【公表番号】特表2016-505168(P2016-505168A)
(43)【公表日】2016年2月18日
(86)【国際出願番号】EP2014050171
(87)【国際公開番号】WO2014111290
(87)【国際公開日】20140724
【審査請求日】2015年9月17日
(31)【優先権主張番号】13151910.0
(32)【優先日】2013年1月18日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【弁理士】
【氏名又は名称】岡田 全啓
(74)【代理人】
【識別番号】100167966
【弁理士】
【氏名又は名称】扇谷 一
(72)【発明者】
【氏名】シュライナー シュテファン
(72)【発明者】
【氏名】ボルズム アーン
(72)【発明者】
【氏名】ノイズィンガー マティアス
(72)【発明者】
【氏名】ヤンデア マーヌエル
(72)【発明者】
【氏名】ローワッサー マルクス
(72)【発明者】
【氏名】ノイゲバウアー ベルンハルト
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特開2001−237708(JP,A)
【文献】 国際公開第2014/111290(WO,A1)
【文献】 国際公開第2013/087861(WO,A2)
【文献】 米国特許出願公開第2010/0266142(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00−19/26
(57)【特許請求の範囲】
【請求項1】
符号化された音声信号表現に基づいて復号化された音声信号表現を提供するように構成された音声信号デコーダ(100)であって、音声信号デコーダは:
符号化された音声信号表現から複数の周波数帯域信号を得るように構成されたデコーダ前処理ステージ(110);
サイド情報が符号化された音声信号表現に対する現在のレベル・シフト係数を決定するために潜在的クリッピングを示すかどうかについて、符号化された音声信号表現の周波数帯域信号のゲイン関連するサイド情報を分析するように構成され、サイド情報が潜在的クリッピングを示す場合、現在のレベル・シフト係数が、複数の周波数帯域信号の情報を、少なくともつの最上位ビットにおいてヘッドルームが得られるように、最下位ビットの方へシフト引き起こすように構成されたクリッピング推定器(120);
レベル・シフトされた周波数帯域信号を得るための現在のレベル・シフト係数に従って周波数帯域信号のレベルをシフトさせるように構成されたレベルシフタ(130);
レベル・シフトされた周波数帯域信号を時間領域表現に変換するように構成された周波数−時間領域コンバータ(140);および
レベルシフタ(130)によってレベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償し、そして、実質的に補償された時間領域表現を得るように、時間領域表現を決定するように構成されたレベル・シフト補償器(150)を含む、音声信号デコーダ。
【請求項2】
クリッピング推定器(120)がサイド情報および符号化された音声信号表現のうちの少なくとも1つに基づいてクリッピング確率を決定し、クリッピング確率に基づいて現在のレベル・シフト係数を決定するように構成された、請求項1に記載の音声信号デコーダ(100)。
【請求項3】
サイド情報は、複数の周波数帯域信号のための全体的なゲイン係数および複数のスケール係数のうちの少なくとも1つを含み、各スケール係数は複数の周波数帯域信号の中の1つの周波数帯域信号または周波数帯域信号の1つのグループに対応する、請求項1または請求項2に記載の音声信号デコーダ(100)。
【請求項4】
デコーダ前処理ステージ(110)が複数の連続したフレームの形で複数の周波数帯域信号を得るように構成され、クリッピング推定器(120)は、現在のフレームのための現在のレベル・シフト係数を決定するように構成される、請求項1ないし請求項3のいずれかに記載の音声信号デコーダ(100)。
【請求項5】
復号化された音声信号表現が実質的に補償された時間領域表現に基づいて決定される、請求項1ないし請求項4のいずれかに記載の音声信号デコーダ(100)。
【請求項6】
更に、レベル・シフト補償器(150)の下流の時間領域リミッタを含む、請求項1ないし請求項5のいずれかに記載の音声信号デコーダ(100)。
【請求項7】
周波数帯域信号のゲインと関連するサイド情報は、複数の周波数帯域関連ゲイン係数を含む、請求項1ないし請求項6のいずれかに記載の音声信号デコーダ(100)。
【請求項8】
デコーダ前処理ステージ(110)は、複数の周波数帯域に特有の量子化インジケータのうちの周波数帯域に特有の量子化インジケータを用いて各周波数帯域信号を再量子化するように構成される逆量子化器を含む、請求項1ないし請求項7のいずれかに記載の音声信号デコーダ(100)。
【請求項9】
更に、レベル・シフト補償器(150)による使用のためのクロスフェードされたレベル・シフト係数を得るために、現在のレベル・シフト係数と次のレベル・シフト係数とをクロスフェードさせるように構成された移行形状調整装置を含む、請求項1ないし請求項8のいずれかに記載の音声信号デコーダ(100)。
【請求項10】
移行形状調整装置は、以前のレベル・シフト係数に対するメモリ(371)、現在のレベル・シフト係数にウィンドウ形状を適用することによって第1の複数のウィンドウ化されたサンプルを生成するように構成される第1のwindower(372)、メモリ(371)によって与えられる以前のレベル・シフト係数に以前のウィンドウ形状を適用することによって第2の複数のウィンドウ化されたサンプルを生成するように構成される第2のwindower(376)、および複数の複合サンプルを得るために相互に対応する第1の複数のウィンドウ化されたサンプルおよび第2の複数のウィンドウ化されたサンプルを結合するように構成されたサンプル・コンバイナ(379)を含む、請求項9に記載の音声信号デコーダ(100)。
【請求項11】
現在のレベル・シフト係数は複数の周波数帯域信号の現在のフレームに有効であり、以前のレベル・シフト係数は、複数の周波数帯域信号の以前のフレームに有効であり、現在のフレームおよび以前のフレームが重なり合って;
移行形状調整は、
以前のレベル・シフト係数を以前のフレーム係数シーケンスという結果になっている以前のウィンドウ形状の第2の部分と結合するように構成され、
現在のレベル・シフト係数を現在のフレーム係数シーケンスという結果になっている現在のウィンドウ形状の第1の部分と結合するように構成され、および
以前のフレーム係数シーケンスおよび現在のフレーム係数シーケンスに基づいてクロスフェードされたレベル・シフト係数のシーケンスを決定するように構成される、請求項10に記載の音声信号デコーダ(100)。
【請求項12】
クリッピング推定器(120)は、符号化された音声信号表現およびサイド情報のうちの少なくとも1つが、最下位ビットが関連する情報を含まないことを意味する時間領域表現の範囲内における潜在的クリッピングを示すかどうかについて、符号化された音声信号表現およびサイド情報のうちの少なくとも一方を分析するように構成され、この場合、レベルシフタによって適用されるレベル・シフトが最下位ビットに情報をシトし、それによって最上位ビットを開放することにより最上位ビットにおいてヘッドルームが得られるように構成された、請求項1ないし請求項11のいずれかに記載の音声信号デコーダ(100)。
【請求項13】
クリッピング推定器(120)は、
確認されたコードブックとして複数のコードブックからコードブックを決定するためのコードブック決定器(1110)を含み、符号化された音声信号表現は確認されたコードブックを使用することにより符号化されたものであり、
推定器(1120)は、引き出されたレベル値として確認されたコードブックと関連したレベル値を引き出すために構成され、引き出されたレベル値を用いて音声信号のレベル推定を評価するために構成される、請求項1ないし請求項12のいずれかに記載の音声信号デコーダ。
【請求項14】
入力音声信号の時間領域表現に基づいて符号化された音声信号表現を提供するように構成された音声信号エンコーダであって、音声信号エンコーダは、
入力信号表現に対する現在のレベル・シフト係数を決定するために潜在的クリッピングが示されているかどうかについて入力音声信号の時間領域表現を分析するように構成されるクリッピング推定器であって、潜在的クリッピングが示されるとき、現在のレベル・シフト係数が、入力音声信号の時間領域表現を、少なくとも1つの最上位ビットにおいてヘッドルームが得られるように、最下位ビットの方へシフトを引き起こすものである、クリッピング推定器;
レベル・シフトされた時間領域表現を得るための現在のレベル・シフト係数に従って入力音声信号の時間領域表現のレベルをシフトさせるように構成されたレベルシフタ;
レベル・シフトされた時間領域表現を複数の周波数帯域信号に変換するように構成された時間−周波数領域コンバータ;および
レベルシフタによってレベル・シフトされた時間領域表現に適用されるレベル・シフトを少なくとも部分的に補償し、そして、複数の実質的に補償された周波数帯域信号を得るように、複数の周波数帯域信号決定するように構成されたレベル・シフト補償器を含む、音声信号エンコーダ。
【請求項15】
符号化された音声信号表現を復号化し、対応する復号化音声信号表現を提供するための方法であって、前記方法は、
複数の周波数帯域信号を得るために符号化された音声信号表現を前処理するステップ;
符号化された音声信号表現に対する現在のレベル・シフト係数を決定するために潜在的クリッピングをサイド情報が示唆するどうかについて周波数帯域信号のゲインと関連するサイド情報を分析するステップであって、サイド情報が潜在的クリッピングを示す場合、現在のレベル・シフト係数が、複数の周波数帯域信号の情報を、少なくとも1つの最上位ビットにおいてヘッドルームが得られるように、最下位ビットの方へシフトを引き起こすものであるステップ;
レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトさせるステップ;
周波数帯域信号の時間領域表現への周波数−時間領域変換を実行するステップ;および
レベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償し、そして、実質的に補償された時間領域表現を得るように、時間領域表現決定するステップを含む、方法。
【請求項16】
コンピュータに請求項15の方法を実行するように指示するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声信号符号化、復号化および処理に関し、特に、対応する周波数−時間コンバータ(または時間−周波数コンバータ)のダイナミックレンジに周波数−時間変換される(時間−周波数変換される)信号のレベルの調整に関する。本発明のいくつかの実施例は、固定小数点または整数演算により実行される対応するコンバータのダイナミックレンジに周波数−時間変換される(または時間−周波数返還される)信号のレベルを調整することに関する。本発明の更なる実施例は、サイド情報と組み合わされて時間領域レベルの調整を用いたスペクトル復号化音声信号のためのクリッピング防止に関する。
【背景技術】
【0002】
音声信号処理は、ますます重要になる。最新の知覚的な音声コーデックが満足な音声品質をますます低ビットレートで提供することを必要とするのに伴って挑戦が生まれる。
【0003】
現在の音声コンテンツ制作およびデリバリーチェーンにおいて、デジタル的に利用できるマスターコンテンツ(PCMストリーム(パルス符号変調ストリーム))は、例えば、コンテンツ作成側で専門のAAC(アドバンスト・オーディオ・コーディング)エンコーダによって符号化される。結果として生じるAACビットストリームは、それからオンライン・デジタルメディア・ストアで例えば購入に使えるようにされる。いくつかの復号化されたPCMサンプルは、まれに、出力波形のために(例えば、PCMにしたがって変調された)一様に量子化された固定小数点表現の基本的なビット分解能(例えば16ビット)によって表されることができる最大レベルに到達する2つ以上の連続したサンプルを意味する「クリッピング」であることが出現した。これは、聞き取れるアーチファクト(クリックまたは短い歪み)につながるかもしれない。一般的に、デコーダ側におけるクリッピングの発生を防止するためにエンコーダ側で取り組みがなされるが、それにもかかわらず、例えば異なるデコーダ実装、丸め誤差、伝送エラー等のさまざまな理由により、クリッピングはデコーダ側で発生する。エンコーダの入力における音声信号がクリッピングの閾値以下であると仮定すると、最新の知覚的音声エンコーダにおけるクリッピングの理由は多種多様である。第一に、音声エンコーダは、伝送データの割合を減らすために、入力波形の周波数分解において利用できる伝送信号に対して量子化を適用する。周波数領域における量子化エラーは、オリジナルの波形に関して信号の振幅および位相の少ない偏差という結果になる。振幅または位相エラーが意味をなす場合、時間領域において結果として得られるアティテュードは一時的にオリジナルの波形より高い。第2に、パラメータの符号化方法(例えば、スペクトル帯域複製、SBR)は、信号電力をかなりの速度でパラメータ化する。位相情報は、典型的には省略される。したがって、レシーバ側の信号は、正確な電力で再生されるだけであり、波形保存はない。フルスケールに近い振幅を有する信号は、クリッピングする傾向がある。
【0004】
最新の音声符号化システムは、デコーダに統一レベルを有する再生のための音量を調整する可能性を与える音量レベルパラメータ(g1)を伝達する可能性を提供する。一般に、音声信号が十分に高いレベルで符号化され、伝送された正規化ゲインが増加する音量レベルを示す場合、これはクリッピングに至るかもしれない。さらに、音声コンテンツ(特に音楽)をマスターする際の一般的な方法は、音声信号を音声コーデックによって粗く量子化されるときに音声信号のクリッピングを得る可能な限りの値に増加させることである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
音声信号のクリッピングを妨げるために、いわゆるリミッタは、音声レベルを制限するための適切な手段として公知である。入って来る音声信号が特定の閾値を上回る場合、リミッタは起動して、音声信号が出力で所定のレベルを上回らないように音声信号を減少させる。残念なことに、リミッタの前に、(ダイナミックレンジおよび/またはビット分解能に関して)充分なヘッドルームが必要とされる。
【0006】
通常、いかなる音量正規化も、いわゆる「ダイナミックレンジの制御」(DRC)と共に、周波数領域において成し遂げられる。正規化ゲインがフィルタバンクの重なりのため、フレームからフレームまで変化する場合であっても、これは音量正常化の滑らかな混合を許容する。
【0007】
さらに、不十分な量子化またはパラメータ記述のため、オリジナルのオーディオがクリッピング閾値の近くのレベルでマスターされた場合、いかなる符号化音声信号もクリッピングの状態になるかもしれない。
【0008】
一般的に、固定小数点演算に基づいて計算量、メモリ使用量および消費電力値を非常に効率的なデジタル信号処理デバイスでできるだけ少なく保つことが望ましい。このために、音声サンプルのワード長をできるだけ少なく保つことも望ましい。音量正規化によるクリッピングのためのいかなる潜在的ヘッドルームを考慮に入れるために、概して音声エンコーダまたはデコーダの一部であるフィルタバンクは、より高いワード長によって設計されなければならない。
【0009】
データ精度を失うことなく、および/またはデコーダ・フィルタ・バンクまたはエンコーダ・フィルタ・バンクのためのより高いワード長を使用する必要なく、信号の制限を許容することは望ましい。選択的に、または、加えて、周波数−時間変換またはその逆となる信号の関連するダイナミックレンジが、フレームごとに連続した時間セクションまたは信号の「フレーム」に基づいて連続的に決定されることができ、それによって、現在の関連するダイナミックレンジがコンバータ(周波数−時間領域コンバータまたは時間−周波数領域コンバータ)によって与えられるダイナミックレンジに適合するように信号のレベルが与えられることができれば望ましい。周波数−時間変換または時間−周波数変換を実質的にデコーダまたはエンコーダのほかのコンポーネントに「透明にする」目的でこの種のレベル・シフトをすることは望ましい。
【課題を解決するための手段】
【0010】
これらの要求および/または可能な更なる要求のうちの少なくとも1つは、請求項1に記載の音声信号デコーダ、請求項14に記載の音声信号エンコーダ、および、請求項15に記載の符号化された音声信号表現を復号化する方法によって対処される。
【0011】
符号化された音声信号表現に基づいて復号化された音声信号表現を提供するための音声信号デコーダが提供される。音声信号デコーダは、符号化された音声信号表現から複数の周波数帯域信号を得るように構成されたデコーダ前処理ステージを含む。さらに、音声信号デコーダは、符号化された音声信号表現、複数の周波数信号、および/またはサイド情報が符号化された音声信号表現の現在のレベル・シフト係数を決定するために潜在的あるクリッピングを示しているかどうかに関して、符号化された音声信号表現、複数の周波数信号、および符号化された音声信号表現の周波数帯域信号のゲインに関連するサイド情報の少なくとも1つを分析するように構成されたクリッピング推定器を含む。サイド情報が潜在的クリッピングを示すとき、現在のレベル・シフト係数は、少なくとも1つの最上位ビットでヘッドルームが得られるように、最下位ビットにシフトされる複数の周波数帯域信号の情報を引き起こす。音声信号デコーダは、さらに、レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトするように構成されたレベルシフタを含む。さらに、音声信号デコーダは、レベルシフタ周波数帯域信号を時間領域表現に変換するように構成された周波数−時間領域コンバータを含む。音声信号デコーダは、さらに、レベルシフタによってレベルシフタ周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償し、十分に補償された時間領域表現を得るために時間領域表現について決定するように構成されたレベル・シフト補償器を含む。
【0012】
本発明の更なる実施例は、入力音声信号の時間領域表現に基づく符号化された音声信号表現を提供するように構成される音声信号エンコーダを提供する。音声信号エンコーダは、入力信号プレゼンテーションのための現在のレベル・シフト係数を決定するために潜在的クリッピングが示されるかどうかに関して入力音声信号の時間領域表現を分析するように構成されるクリッピング推定器を含む。潜在的クリッピングが示されるとき、現在のレベル・シフト係数は少なくとも1つの最上位ビットでヘッドルームが得られるように最下位ビットに向かってシフトされる入力音声信号の時間領域表現を生じさせる。さらに、音声信号エンコーダは、レベル・シフトされた時間領域表現を得るためのレベル・シフト係数に従って入力音声信号の時間領域表現のレベルをシフトするように構成されるレベルシフタを含む。さらに、音声信号エンコーダは、レベル・シフトされた時間領域表現を複数の周波数帯域信号に変換するように構成された時間−周波数領域コンバータを含む。音声信号エンコーダは、さらに、レベルシフタによってレベルシフタ時間領域表現に適用されるレベル・シフトを少なくとも部分的に補償し、複数の十分に補償された周波数帯域信号を得るために複数の周波数帯域信号について決定するように構成されたレベル・シフト補償器を含む。
【0013】
本発明の更なる実施例は、復号化された音声信号表現を得るために符号化された音声信号プレゼンテーションを復号化するための方法を提供する。方法は、複数の周波数帯域信号を得るために符号化された音声信号表現を前処理するプロセスを含む。方法は、さらに、符号化された音声信号プレゼンテーションのための現在のレベル・シフト係数を決定するために潜在的クリッピングが示されるかどうかに関して、符号化音声信号表現、周波数帯域信号、および周波数帯域信号のゲインに関連するサイド信号の少なくとも1つを分析する工程を含む。潜在的クリッピングが示されるとき、現在のレベル・シフト係数は、少なくとも1つの最上位ビットでヘッドルームが得られるように、最下位ビットにシフトされる入力音声信号の時間領域表現を引き起こす。さらに、方法は、レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトする工程を含む。さらに、方法は、周波数帯域信号を時間領域表現に周波数−時間領域変換する工程を含む。方法は、さらに、レベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償するために時間領域表現について決定する工程を含む。
【0014】
さらにまた、コンピュータまたは信号処理器で実行されるときに、上述の方法を実施するためのコンピュータプログラムが提供される。
【0015】
更なる実施例は、符号化された音声信号表現に基づいて復号化された音声信号表現を提供するための音声信号デコーダを提供する。音声信号デコーダは、符号化された音声信号プレゼンテーションから複数の周波数帯域信号を得るように構成されるデコーダ前処理ステージを含む。さらに、音声信号デコーダは、符号化された音声信号表現のための現在のレベル・シフト係数を決定するために、符号化された音声信号表現、複数の周波数信号、および符号化された音声信号表現の周波数帯域信号のゲインに関連するサイド情報の少なくとも1つを分析するように構成されたクリッピング推定器を含む。音声信号デコーダは、レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトするように構成されたレベルシフタを含む。さらに、音声信号デコーダは、レベルシフタ周波数帯域信号を時間領域表現に変換するように構成された周波数−時間領域コンバータを含む。音声信号デコーダは、さらに、レベルシフタによってレベルシフタ周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償し、十分に補償された時間領域表現を得るために時間領域表現について決定するように構成されたレベル・シフト補償器を含む。
【0016】
本発明の更なる実施例は、入力音声信号の時間領域表現に基づいて符号化された音声信号表現を提供するように構成された音声信号エンコーダを提供する。音声信号エンコーダは、入力信号プレゼンテーションのための現在のレベル・シフト係数を決定するために入力音声信号の時間領域表現を分析するように構成されるクリッピング推定器を含む。音声信号エンコーダは、さらに、レベル・シフトされた時間領域表現を得るためのレベル・シフト係数に従って入力音声信号の時間領域表現のレベルをシフトするように構成されるレベルシフタを含む。さらに、音声信号エンコーダは、レベル・シフトされた時間領域表現を複数の周波数帯域信号に変換するように構成された時間−周波数領域コンバータを含む。音声信号エンコーダは、さらに、レベルシフタによってレベルシフタ時間領域プレゼンテーションに適用されるレベル・シフトを少なくとも部分的に補償し、複数の十分に補償された周波数帯域信号を得るために複数の周波数帯域信号について決定するように構成されたレベル・シフト補償器を含む。
【0017】
本発明の更なる実施例は、復号化された音声信号表現を得るために符号化された音声信号プレゼンテーションを復号化するための方法を提供する。方法は、複数の周波数帯域信号を得るために符号化された音声信号表現を前処理する工程を含む。さらに、符号化音声信号表現、周波数帯域信号、および周波数帯域信号のゲインに関連するサイド情報のうちの少なくとも1つを分析する工程を含む方法は、符号化された音声信号プレゼンテーションのための現在のレベル・シフト係数を決定するために示される。さらに、方法は、レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトする工程を含む。方法は、また、周波数帯域信号の時間領域表現への周波数−時間領域変換を実行する工程を含む。方法は、さらに、レベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償し、十分に補償された時間領域表現を得るために時間領域表現について決定する工程を含む。
【発明の効果】
【0018】
少なくとも、実施例のいくつかは、関連した情報を失わずに、時間間隔の間に特定のレベル・シフト係数によって周波数領域表現の複数の周波数帯域信号をシフトすることが可能であるという洞察に基づき、音声信号の全体の音量レベルは比較的高い。むしろ、関連する情報は、とにかく、ノイズを含みそうであるビットへシフトされる。このように、限られたワード長を有する周波数−時間領域コンバータは、たとえ周波数帯域信号のダイナミックレンジが周波数−時間領域コンバータの限られたワード長によってサポートされるよりも大きくても使用することができる。換言すれば、本発明の少なくともいくつかの実施例は、音声信号が比較的大きい間、すなわち、関連する情報が最上位ビットに含まれていそうである間、最下位ビットは典型的にはいかなる関連する情報ももたらさないという事実を利用する。レベル・シフトされた周波数帯域信号に適用されるレベル・シフトは、時間領域表現の中で発生するクリッピングの可能性を低下させる利点を有することができ、前記クリッピングは、複数の周波数帯域信号の1つ以上の周波数帯域信号の構造的な重ね合せから生じることができる。
【0019】
これらの洞察および所見も、符号化音声信号プレゼンテーションを得るために音声信号エンコーダおよびオリジナルの音声信号を符号化する方法に類似した方法で適用される。
以下に、本発明の実施例は、図面を参照して、更に詳細に記載されている。
【図面の簡単な説明】
【0020】
図1図1は、最先端の技術によるエンコーダを示す。
図2図2は、最先端の技術によるデコーダを表す。
図3図3は、最先端の技術による他のエンコーダを示す。
図4図4は、最先端の技術による更なるデコーダを表す。
図5図5は、少なくとも1つの実施例による音声信号デコーダの概略ブロック図を示す。
図6図6は、少なくとも1つの更なる実施例による音声信号デコーダの概略ブロック図を示す。
図7図7は、提案された音声信号デコーダの概念および実施例に従った符号化された音声信号表現を復号化する提案された方法を示す概略ブロック図を示す。
図8図8は、ヘッドルームを得るためのレベル・シフトの模式的な視覚化を示す。
図9図9は、少なくともいくつかの実施例による音声信号デコーダまたはエンコーダの構成要素である可能な移行形状調整の概略ブロック図を示す。
図10図10は、予測フィルタ調整器から成る更なる実施例による評価装置を表す。
図11図11は、バックデータ・ストリームを生成する装置を示す。
図12図12は、最先端の技術によるエンコーダを示す。
図13a図13aは、最先端の技術によるデコーダを表す。
図13b図13bは、最先端の技術によるデコーダを表す。
図14図14は、最先端の技術による他のエンコーダを示す。
図15図15は、少なくとも1つの実施例による音声信号エンコーダの概略ブロック図を示す。
図16図16は、少なくとも1つの実施例による符号化された音声信号表現を復号化する方法の概略工程系統図を示す。
【発明を実施するための形態】
【0021】
音声処理はさまざまな方法で進歩し、能率的に音声データ信号を符号化および復号化する方法について、多くの研究の対象であった。能率的な符号化は、例えば、MPEG AAC(MPEG=Moving Pictures Expert Group;AAC=適応オーディオ・コーディング)によって提供される。音声符号化および復号化の序論として、MPEG AACの特徴は、以下において更に詳細に説明される。記載されている概念が、同様に、他の音声符号化および復号化スキームに適用されるように、MPEG AACの説明は例証として理解されるだけである。MPEG AACによれば、音声信号のスペクトル値は、スケール係数、量子化およびコードブックを用いて、特にハフマン・コードブックで符号化される。
【0022】
ハフマン符号化が実行される前に、エンコーダは異なるセクションに符号化される複数のスペクトル係数を分類する(スペクトル係数は、例えば、フィルタバンク、心理音響的モデル、および量子化閾値および量子化分解能に関して心理音響的モデルによって制御される量子化器などのようなアップストリーム成分から得られた)。スペクトル係数のセクションごとに、エンコーダは、ハフマン符号化するためのハフマン・コードブックを選択する。MPEG AACは、エンコーダがセクションのスペクトル係数を符号化するのに最適なコードブックを選択するスペクトル・データを符号化するための11の異なるスペクトル・ハフマンコードブックを提供する。エンコーダは、サイド情報として、デコーダにセクションのスペクトル係数のハフマン符号化のために使用するコードブックを識別するコードブック識別子を提供する。
【0023】
デコーダ側において、デコーダは、複数のスペクトル・ハフマンコードブックのどの1つがセクションのスペクトル値を符号化するために使われたかについて決定するために、受信したサイド情報を分析する。デコーダは、デコーダによって復号化されることになっているセクションのスペクトル係数を符号化するために使用されるハフマン・コードブックに関するサイド情報に基づいてハフマン復号化を実施する。
【0024】
ハフマン復号化の後、複数の量子化されたスペクトル値がデコーダで得られる。デコーダは、エンコーダによって実行された不均一な量子化を反転させるために、逆量子化を実行することができる。これによって、逆量子化されたスペクトル値がデコーダで得られる。
【0025】
しかしながら、逆量子化されたスペクトル値は、まだスケーリングされていない。導き出されたスケーリングされてないスペクトル値は、それぞれがスケール係数を有するスケール係数バンドに分類された。各スケール係数バンドのためのスケール係数は、エンコーダによって与えられたサイド情報としてデコーダが利用できるものである。この情報を用いて、デコーダは、スケール係数バンドのスケーリングされていないスペクトル値とそれらのスケール係数を乗算する。これによって、スケーリングされたスペクトル値が得られる。
【0026】
最先端の技術に従ったスペクトル値の符号化および復号化は、現在、図1−4を参照して説明される。
【0027】
図1は、最高水準の技術によるエンコーダを例示する。エンコーダは、周波数領域音声信号を得るために時間領域から周波数領域に符号化される音声信号ASを伝送するためのT/F(時間−周波数)フィルタバンク10を含む。周波数領域音声信号は、スケール係数を決定するためのスケール係数ユニット20に供給される。スケール係数ユニット20は、周波数領域音声信号のスペクトル係数を1つのスケール係数を共有するスケール係数バンドと呼ばれるスペクトル係数のいくつかのグループに分割するのに適している。スケール係数は、それぞれのスケール係数バンドのすべてのスペクトル係数の振幅を変えるために用いられるゲイン値を表す。スケール係数ユニット20は、さらに、周波数領域音声信号のスケーリングされてないスペクトル係数を発生させて、出力するのに適している。
【0028】
さらに、図1のエンコーダは、周波数領域音声信号のスケーリングされていないスペクトル係数を量子化するための量子化器を含む。量子化器30は、不均一性量子化器でもよい。
【0029】
量子化の後、音声信号の量子化されたスケーリングされてないスペクトルは、ハフマン符号化されるためのハフマン・エンコーダ40に供給される。ハフマン符号化は、音声信号の量子化されたスペクトルの減らされた冗長性のために使われる。複数のスケーリングされていない量子化されたスペクトル係数は、セクションに分類される。MPEG―AACにおいて11の可能なコードブックが設けられている一方、セクションのすべてのスペクトル係数は同じハフマン・コードブックによって符号化される。
【0030】
エンコーダは、セクションのスペクトル係数を符号化するのに特に適している11の可能なハフマン・コードブックのうちの1つを選択する。これによって、特定のセクションのためのエンコーダのハフマン・コードブックの選択は、特定のセクションのスペクトル値に依存する。ハフマン符号化されたスペクトル係数は、例えば、スペクトル係数のセクションを符号化するために用いられたハフマン・コードブック、特定のスケール係数バンドなどのために用いられたスケール係数等に関する情報などのようなサイド情報とともにデコーダに伝送される。
【0031】
2つまたは4つのスペクトル係数は、セクションのスペクトル係数をハフマン符号化するために使用されるハフマン・コードブックのコード名によって符号化される。エンコーダは、セクションの長さおよびセクションのスペクトル係数を符号化するために用いられたハフマン・コードブックに関する情報を含むサイド情報とともに、符号化スペクトル係数を表すコード名をデコーダに伝送する。
【0032】
MPEG AACにおいて、11のスペクトル・ハフマンコードブックは、音声信号のスペクトル・データを符号化するために与えられている。異なるスペクトル・ハフマンコードブックは、それらのコードブック・インデックス(1および11の間の値)によって確認されることができる。ハフマン・コードブックの範囲は、どれくらいのスペクトル係数が考慮されたハフマン・コードブックのコード名によって符号化されるかについて指し示す。MPEG AACにおいて、ハフマン・コードブックの範囲は、コード名が音声信号の2つまたは4つのどちらかのスペクトル値を符号化することを示している2または4のどちらかである。
【0033】
しかしながら、異なるハフマン・コードブックも、他の特性に関して異なる。たとえば、ハフマン・コードブックによって符号化されることができるスペクトル係数の最大絶対値はコードブックによって変化し、例えば、1、2、4、7、12またはそれ以上とすることができる。さらに、考慮されたハフマン・コードブックは、符号付きの値を符号化するかどうかに適応する。
【0034】
ハフマン符号化を使用して、スペクトル係数は、異なる長さのコード名によって符号化される。MPEG AACは、1の最大絶対値を有する2つの異なるハフマン・コードブック、2の最大絶対値を有する2つの異なるハフマン・コードブック、4の最大絶対値を有する2つの異なるハフマン・コードブック、7の最大絶対値を有する2つの異なるハフマン・コードブックおよび12の最大絶対値を有する2つの異なるハフマン・コードブックを提供し、各ハフマン・コードブックは、異なった確率分布関数を表す。ハフマン・エンコーダは、スペクトル係数を符号化することを最適に適合させるハフマン・コードブックを常に選択する。
【0035】
図2は、最先端の技術によるデコーダを示す。ハフマン符号化されたスペクトル値は、ハフマンデコーダ50によって受け取られる。ハフマンデコーダ50は、また、サイド情報として、スペクトル値の各セクションのためのスペクトル値を符号化するために用いられたハフマン・コードブックに関する情報を受信する。ハフマンデコーダ50は、それから、スケーリングされてない量子化スペクトル値を得るためにハフマン復号化を実行する。スケーリングされてない量子化スペクトル値は、逆量子化器60に供給される。逆量子化器は逆量子化されたスケーリングされていないスペクトル値を得るために逆量子化を実行し、それはスケーラ70に供給される。スケーラ70は、また、各スケール係数バンドのためのサイド情報として、スケール係数を受信する。受信したスケール係数に基づいて、スケーラ70は、スケーリングされた逆量子化スペクトル値を得るために、スケーリングされてない逆量子化スペクトル値をスケーリングする。F/Tフィルタバンク80は、それから、時間領域音声信号のサンプル値を得るために、周波数領域音声信号のスケーリングされた逆量子化スペクトル値を周波数領域から時間領域に変換する。
【0036】
図3図1のエンコーダとは異なる最先端によるエンコーダを示し、図3のエンコーダは、さらにエンコーダ側TNSユニット(TNS=時間領域雑音整形)を含む。時間領域雑音整形は、音声信号のスペクトル・データの部分に関してフィルタリング・プロセスを実行することによって量子化ノイズの時間的形状を制御するために使用されることができる。エンコーダ側TNSユニット15は、符号化される周波数領域音声信号のスペクトル係数に関して、線形予測符号化(LPC)演算を実行する。とりわけ、LPC演算から得られるのは反射係数であり、また、PARCOR係数とも呼ばれる。LPC演算によって引き出される予測ゲインが特定の閾値を上回らない場合、時間領域雑音整形は用いられない。しかしながら、予測ゲインが閾値より大きい場合、時間領域雑音整形は使用される。エンコーダ側TNSユニットは、特定の閾値より小さいすべての反射係数を取り除く。残りの反射係数が線形予測係数に変換されて、エンコーダで雑音整形フィルタ係数として使用される。エンコーダ側TNS装置はそれからそれらのスペクトル係数上のフィルタ動作を実行し、そのために、音声信号の処理されたスペクトル係数を得るためにTNSは使用される。TNS情報、例えば反射係数(PARCOR係数)を示すサイド情報はデコーダに伝送される。
【0037】
図4図2に示されるデコーダとは異なる最先端の技術によるデコーダを示し、この場合、図4のデコーダは、さらにデコーダ側TNSユニット75を含む。デコーダ側TNSユニットは、音声信号の逆量子化されスケーリングされたスペクトルを受信し、更にTNS情報、例えば反射係数(PARCOR係数)を示す情報を受信する。デコーダ側TNSユニット75は、音声信号の処理された逆量子化スペクトルを得るために、音声信号の逆量子化スペクトルを処理する。
【0038】
図5は、本発明の少なくとも1つの実施例において、音声信号デコーダ100の概略ブロック図を示す。音声信号デコーダは、符号化された音声信号表現を受信するように構成される。一般的に、符号化された音声信号プレゼンテーションはサイド情報を伴う。サイド情報と共に符号化された音声信号表現は、例えば、知覚的な音声エンコーダによって作成されたデータストリームの形で与えられる。音声信号デコーダ100は、図5の「十分に補償された時間領域表現」と分類される信号と同一であるか、または次の処理を使用して、そこから引き出される復号化音声信号表現を提供するように更に構成される。
【0039】
音声信号デコーダ100は、符号化された音声信号表現から複数の周波数帯域信号を得るように構成されたデコーダ前処理ステージ110を含む。たとえば、デコーダ前処理ステージ110は、符号化された音声信号表現およびサイド情報がビットストリームに含まれる場合、ビットストリーム・アンパッカーを含む。符号化された音声信号プレゼンテーションが現在関連のある情報(高分解能)または無関係な情報(低分解能または全くデータのない)をもっている周波数範囲に応じて、いくつかの音声符号化基準が複数の周波数帯域信号に対して時間的に変化する分解能および異なる分解能を用いることができる。これは、符号化された音声信号表現が現在大量の関連する情報を有する周波数帯が、時間的に全くまたは少しだけしか情報を運ばない周波数帯域信号とは対照的に、その時間間隔の間に比較的微細な分解能を使用して(すなわち、比較的高い数のビットを使用して)典型的に符号化されることを意味する。周波数帯域信号のいくつかのために、全く、ビットストリームが一時的にデータまたはビットを含まないことは起こりえることであり、その理由は、これらの周波数帯域信号が対応する時間間隔の間にいかなる関連した情報も含まないからである。一般的に、デコーダ前処理ステージ110に提供されるビットストリームは、複数の周波数帯域信号のどの周波数帯域信号が現在考慮した時間間隔または「フレーム」のためのデータおよび対応するビット分解能を含むかについて指し示している情報(例えば、サイド情報の一部として)を含む。
【0040】
さらに、音声信号デコーダ100は、符号化された音声信号表現のための現在のレベル・シフト係数を決定するために、符号化された音声信号表現の周波数帯域信号のゲインに関連するサイド情報を分析するように構成されたクリッピング推定器120を含む。いくつかの知覚的音声符号化基準は、複数の周波数帯域信号の異なる周波数帯域信号のための個々のスケール係数を使用する。個々のスケール係数は、各周波数帯域信号のために、他の周波数帯域信号と関連して、現在の振幅範囲を示す。本発明のいくつかの実施例のために、これらのスケール係数の分析は、複数の周波数帯域信号が周波数領域から時間領域に変換されたあと、対応する時間領域表現で起こる最大振幅の近似の評価を可能にする。この情報は、本発明によって提案されるものとしての適切な処理なしで、クリッピングが考慮した時間間隔または「フレーム」のための時間領域表現の中で発生しそうであるかどうかを決定するために使われることができる。クリッピング推定器120は、レベル(例えば、信号振幅または信号電力に関して)について同一の量によって複数の周波数帯域信号のすべての周波数帯域信号をシフトさせるレベル・シフト係数を決めるように構成される。レベル・シフト係数は、個々の方法で、すなわちレベル・シフト係数が時間的に変化する時間間隔(フレーム)ごとに決定される。一般的に、クリッピング推定器120は、時間領域表現の中ではクリッピングは発生しにくいが、同時に周波数帯域信号のための妥当なダイナミックレンジを維持するように、全ての周波数帯域信号に共通するシフト係数によって多くの周波数帯域信号のレベルを調整しようとする。たとえば、多数のスケール係数が比較的高い符号化された音声信号表現のフレームを考慮する。クリッピング推定器120は現在、最悪の場合のものを考慮することができ、すなわち複数の周波数帯域信号の中の可能な信号のピークが重なり合うか構造的に加算され、時間領域信号の中で大きい振幅という結果になる。レベル・シフト係数は、望ましいダイナミックレンジの中で時間領域表現の中の仮定的ピークの原因となる数値として決定され、場合によってはさらに限界を考慮できるかもしれない。少なくともいくつかの実施例によれば、クリッピング推定器120は、考慮される時間間隔またはフレームのための時間領域表現の中でクリッピングの可能性を評価するために符号化音声信号表現自体を必要としない。その理由は、信頼できる周波数領域信号と考慮された時間間隔の中で符号化された最大振幅によって、少なくともいくつかの知覚的音声符号化基準が複数の周波数領域信号の中の周波数帯域信号のためのスケール係数を選択するということである。換言すれば、手近に周波数帯域信号のための選択されたビット分解能によって表されることができる最も高い値は、符号化スキームの特性を与えられる考慮された時間間隔またはフレームの間、少なくとも一回発生しそうである。この仮定を用いて、クリッピング推定器120は、符号化音声信号表現および考慮した時間間隔(フレーム)のための現在のレベル・シフト係数を決定するために周波数帯域信号(例えば、前記スケール係数およびおそらく更なるパラメータ)のゲインと関連してサイド情報を評価することに集中することができる。
【0041】
音声信号デコーダ100は、さらに、レベル・シフトされた周波数領域信号を得るためのレベル・シフト係数に従って周波数領域信号のレベルをシフトするように構成されたレベルシフタ130を含む。
【0042】
音声信号デコーダ100は、さらに、レベル・シフトされた周波数帯域信号を時間領域表現に変換するように構成される周波数−時間領域コンバータ140を含む。いくつかの例を挙げれば、周波数−時間領域コンバータ140は、逆フィルタバンク、逆修正離散コサイン変換(逆MDCT)、逆直交ミラーフィルタ(逆QMF)等を挙げることができる。いくつかの音声符号化基準のために、周波数−時間領域コンバータ140は、連続フレームのウィンドウイングをサポートするように構成され、例えば、2つのフレームは、それらの期間の50%重複する。
【0043】
周波数−時間領域コンバータ140によって与えられる時間領域表現は、レベルシフタ130によってレベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償するために、そして、十分に補償された時間領域表現を得るために、時間領域表現について決定するように構成されるレベル・シフト補償器150に提供される。レベル・シフト補償器150はクリッピング推定器140からレベル・シフト係数、または、レベル・シフト係数から引き出された信号を受信する。レベルシフタ130およびレベル・シフト補償器150は、それぞれ、レベル・シフトされた周波数帯域信号のゲイン調整および時間領域プレゼンテーションの補償ゲイン調整を提供し、前記ゲイン調整は、周波数−時間領域コンバータ140をバイパスする。このように、レベル・シフトされた周波数帯域信号および時間領域表現は、一定のワード長および/またはコンバータ140の固定小数点演算実施のために制限される周波数−時間領域コンバータ140によって与えられるダイナミックレンジに適応させることができる。特に、レベル・シフトされた周波数帯域信号の関連したダイナミックレンジおよび対応する時間領域表現は、比較的大きいフレームの間、比較的高い振幅値または信号電力レベルであることができる。対照的に、レベル・シフトされた関連するダイナミックレンジおよび結果として生じる対応する時間領域表現は、比較的重要でないフレームの間、比較的小さい振幅値または信号電力値であることができる。大きいフレームの場合、レベル・シフトされた周波数帯域信号のバイナリ・プレゼンテーションの低ビットに含まれる情報は、概して、より高いビットの範囲に含まれる情報と比較して無視できると考えることができる。一般的に、レベル・シフト係数は、周波数−時間領域コンバータ140のダウンストリームでさえレベル・シフトされた周波数帯域信号に適用されるレベル・シフトに補償することを可能にするすべての周波数帯域信号に共通である。音声信号デコーダ100そのものによって決定される提案されたレベル・シフト係数とは対照的に、いわゆる全体的な増加パラメータは、遠隔音声信号エンコーダによって作成されて、入力として音声信号デコーダ100に提供されるビットストリームの範囲に含まれる。さらに、全体的なゲインは、デコーダ前処理ステージ110および周波数−時間領域コンバータ140との間の複数の周波数帯域信号に適用される。一般的に、全体的なゲインは、信号処理チェーンの範囲内で、異なる周波数帯域信号のためのスケール係数と実質的に同じ場所で、複数の周波数帯域信号に適用される。これは、比較的大きいフレームのために、周波数−時間領域コンバータ140に与えた周波数帯域信号がすでに比較的大きく、従って、対応する時間領域表現にクリッピングが生じることを意味するが、その理由は、異なる周波数帯域信号が構造的に増す場合に、複数の周波数帯域信号が十分なヘッドルームを提供せず、それによって、時間領域表現の中で比較的高い信号振幅につながるからである。
【0044】
図5において略図で例示される音声信号デコーダ100によって例えば実施される提案された方法は、データ精度を失うことなく、またはデコーダ・フィルタ・バンク(例えば、周波数−時間領域コンバータ140)のためのより高いワード長を用いた信号制限を許容する。
【0045】
フィルタバンクの制限されたワード長の課題を解決するために、潜在的なクリッピングの出所としての音量正常化は、時間領域処理に移行する。これは、音量正常化が周波数領域処理で実行される実施と比較してオリジナルのワード長または減少したワード長をフィルタバンクで実行されることを可能にする。ゲイン値のスムーズな混合を実行するために、移行形状調整は、図9を参照して、後述するように実行されることができる。
【0046】
【0047】
クリッピング推定器は、サイド情報に基づいてクリッピングの可能性を決定しおよび/またはクリッピングの可能性に基づいて現在のレベル・シフト係数を決定するように更に構成されることができる。クリッピングの可能性が、変えようのない事実よりむしろ、傾向を示すだけの場合であっても、それは符号化された音声信号表現の所定のフレームのための複数の周波数帯域信号に合理的に適用されるレベル・シフト係数に関して役立つ情報を提供することができる。クリッピングの可能性の決定は、計算の複雑性または成果に関して、そして、周波数−時間領域コンバータ140によって実行される周波数−時間領域転換と比較して比較的単純であってもよい。
【0048】
サイド情報は、複数の周波数帯域信号および複数のスケーリング係数のための全体的なゲイン係数のうちの少なくとも1つを含む。各スケーリング係数は、複数の周波数帯域信号の1つ以上の周波数帯域信号に対応することができる。全体的なゲイン係数および/または複数のスケーリング係数は、コンバータ140によって時間領域に変換されることになっている現在のフレームの音量レベルに関して、すでに役立つ情報を提供している。
【0049】
少なくともいくつかの実施例によれば、デコーダ前処理ステージ110は、複数の連続したフレームの形で複数の周波数帯域信号を得るように構成されることができる。クリッピング推定器120は、現在のフレームのための現在のレベル・シフト係数を決定するように構成されることができる。換言すれば、音声信号デコーダ100は、例えば、連続したフレームの範囲内で例えば音量の様々な程度に依存して、符号化された音声信号表現の異なるフレームのための様々なレベル・シフト係数を動的に決定するように構成されることができる。
【0050】
復号化された音声信号表現は、実質的に補償された時間領域表現に基づいて決定されることができる。たとえば、音声信号デコーダ100は、さらに、レベル・シフト補償器150のダウンストリームの時間領域リミッタを含む。いくつかの実施例によれば、レベル・シフト補償器150は、この種の時間領域リミッタの一部でもよい。
【0051】
更なる実施例によれば、周波数帯域信号のゲインに関連するサイド情報は、複数の周波数帯域関連のゲイン係数を含む。
【0052】
デコーダ前処理ステージ110は、複数の周波数帯域に特有の量子化インジケータのうちの周波数帯域に特有の量子化インジケータを用いて各周波数帯域信号を再量子化するように構成された逆量子化器を含む。特に、異なる周波数帯域信号は、符号化された音声信号プレゼンテーションおよび対応するサイド情報をつくった音声信号エンコーダによって異なる量子化分解能(またはビット分解能)を用いて量子化されることができた。異なる周波数帯域に特有の量子化インジケータは、従って、音声信号エンコーダによって前に決定される特定の周波数帯域信号という理由で必要な振幅分解能に応じて、さまざまな周波数帯域信号のための振幅分解能に関する情報を提供することができる。複数の周波数帯域に特有の量子化インジケータは、デコーダ前処理ステージ110に提供されるサイド情報の一部であってもよく、レベル・シフト係数を決定するためのクリッピング推定器120で使用される更なる情報を提供することができる。
【0053】
クリッピング推定器120は、サイド情報が時間領域表現の中で潜在的なクリッピングを示唆するかどうかに関してサイド情報を分析するように更に構成されることができる。この種の発見は、関連した情報を含んでいない最下位ビット(LSB)と解釈される。この場合、レベルシフタ130によって適用されるレベル・シフトは情報を最下位ビットの方へシフトし、それによって、最上位ビット(LSB)を解放することによって、最上位ビットに若干のヘッドルームが得られ、それは、周波数帯域信号のうちの2つ以上が建設的方法で増す場合に時間領域分解能のために必要とされるかもしれない。この概念は、n個の最下位ビットおよびn個の最上位ビットまで広げられることもできる。
【0054】
【0055】
提案された装置(音声信号デコーダまたはエンコーダ)および方法は、高分解能フィルタバンクを必要なヘッドルームに費やすことのないオーディオデコーダ/エンコーダのためにクリッピングの防止を可能にする。これは、メモリ必要量および計算量に関してより高い分解能を有するフィルタバンクを実行/実施することより典型的にはそれほど高価でない。
【0056】
図6は、本発明の更なる実施例において、音声信号デコーダ100の概略ブロック図を示す。音声信号デコーダ100は、符号化された音声信号表現および一般的にサイド情報またはサイド情報の一部を受信するように構成される逆量子化器210(Q-1)を含む。いくつかの実施形態では、逆量子化器210は、符号化された音声信号表現およびサイド情報を例えばデータパケットの形で含むビットストリームを解凍するように構成されるビットストリーム解凍器を含み、各データパケットは符号化された音声信号表現で一定のフレームの数に対応することができる。前述したように、符号化された音声信号表現の中で、そして、各フレームの範囲内で、各周波数帯域は、それ自身の個々の量子化分解能を有することができる。このように、前記周波数帯域の範囲内で正しく音声信号部を表すために、一時的に比較的細かい量子化を必要とする周波数帯は、この種の細かい量子化分解能を有することができる。一方では、所定のフレームの間に、情報を含んでいないか、ほんの少しの情報しか含んでいない周波数帯域は、もっと粗い量子化を用いて量子化され、それによって、データ・ビットを保存する。逆量子化器210は、個々のまたは時間的に変化する量子化分解能を用いて量子化されたさまざまな周波数帯域をもたらすように構成されることができる。一般の量子化分解能は、例えば、内部的に計算および処理を行うための音声信号デコーダ100により用いられる固定小数点演算表現によって与えられる分解能でもよい。たとえば、音声信号デコーダ100は、内部的に16ビットまたは24ビットの固定小数点表現を使用することができる。逆量子化器210に提供されるサイド情報は、それぞれの新しいフレームの複数の周波数帯域信号のための異なる量子化分解能に関する情報を含むことができる。逆量子化器210は、図5において表されるデコーダ前処理ステージ110の特例と考えることができる。図6に示されるクリッピング推定器120は、図5のクリッピング推定器120と類似している。
【0057】
音声信号デコーダ100は、さらに、逆量子化器210の出力に接続されたレベルシフタ230を含む。レベルシフタ230は、更に、サイド情報またはサイド情報の一部を受信するとともに、例えば各時間間隔またはフレームごとに、クリッピング推定器120によって動的に決定されるレベル・シフト係数を受信する。レベル・シフト係数は、複数の乗算器またはスケーリング素子231、232および233を用いて、複数の周波数帯域信号に連続して適用される。できるならばそれぞれのMSBをすでに使用して、逆量子化器210を残すときに、周波数帯域信号のいくつかが比較的強いということが発生するかもしれない。これらの強い周波数帯域信号が周波数−時間領域コンバータ140内で加算されるときに、オーバーフローは周波数−時間領域コンバータ140によって出力される時間領域表現の範囲内で観察されることができる。クリッピング推定器120で決定され、スケーリング素子231、232、233によって適用されるレベル・シフト係数は、時間領域表現のオーバーフローが発生しそうにないように、選択的に(すなわち、現在のサイド情報を考慮して)、周波数帯域信号のレベルを低下させる。レベルシフタ230は、更に、周波数帯域に特有のスケーリング係数を対応する周波数帯域に適用するように構成される第2の複数の乗算器またはスケーリング要素236、237、238を含む。サイド情報は、Mスケーリング係数を含む。レベルシフタ230は、レベル・シフトされた周波数帯域信号を時間領域表現に変換するように構成された周波数−時間領域コンバータ140に、複数のレベル・シフトされた周波数帯域信号を提供する。
【0058】
図6の音声信号デコーダ100は、表された実施例において更なる乗算器またはスケーリング素子250および逆数計算機252を含むレベル・シフト補償器150を含む。逆数計算機252は、レベル・シフト係数を受信して、レベル・シフト係数の逆数(1/x)を決定する。レベル・シフト係数の逆数は更なるスケーリング素子250に送られ、そこで実質的に補償された時間領域表現を発生させる時間領域表現と乗算される。乗算器またはスケーリング素子231、232、233、および252に代わるものとして、複数の周波数帯域信号および時間領域表現にレベル・シフト係数を適用するための加算/減算素子を使用することは可能である。
【0059】
任意には、図6の音声信号デコーダ100は、さらに、レベル・シフト補償器150の出力に接続された後続の処理素子260を含む。たとえば、後続の処理素子260は、レベルシフタ230およびレベル・シフト補償器150の供給にもかかわらず、実質的に補償時間領域表現の中でまだあってもよいいかなるクリッピングも減らすかまたは取り除くために一定の特徴を有している時間領域リミッタを含む。任意の次の処理素子260の出力は、復号化された音声信号表現を提供する。任意の次の処理素子260がない場合、復号化された音声信号表現はレベル・シフト補償器150の出力で利用できる。
【0060】
【0061】
【0062】
適用されたゲイン・シフトg2は、補償のためのリミッタ実装360に正方向送りされる。リミッタ362は、高精度で実行される。
【0063】
クリッピング推定器320がいかなるクリッピングも推定しない場合、音声サンプルは実質的に不変のままである、すなわち、あたかもレベル・シフトが行われないか、レベル・シフト補償が実行されたかのようである。
【0064】
クリッピング推定器は、複合ゲインg3を生じさせるために全体的なゲインg1と結合されるコンバイナ328にレベル・シフト係数1/g2の逆数g2を提供する。
【0065】
音声信号デコーダ100は、更に、複合ゲインg3が前のフレームから現在のフレーム(または現在のフレームから次のフレーム)に急に変化するときに、滑らかな移行を提供するように構成される移行形状調整装置370を含む。移行形状調整装置370は、レベル・シフト補償器350によって用いるためのクロスフェードされたレベル・シフト係数g4を得るために現在のレベル・シフト係数および次のレベル・シフト係数をクロスフェードさせるように構成されることができる。ゲイン係数を変える滑らかな移行を可能にするために、移行形状調整は、実行されなければならない。このツールは、ゲイン係数g4(t)(対応する音声信号の各サンプルのための1つの係数)のベクトルを作成する。周波数領域信号の処理が生じるゲイン調整の同じ挙動を模倣するために、フィルタバンク340からの同じ変移ウィンドウWが使用されなければならない。1つのフレームは、複数のサンプルをカバーする。複合ゲイン係数g3は、1つのフレームの間、典型的には一定である。変移ウィンドウWは、概して1つのフレームだけ長く、フレーム(例えばコサインの第1半期)の範囲内で、異なるウィンドウ値を各サンプルに提供する。移行形状調整の1つのありうる実施に関する詳細は、図9において、および下の対応する説明に示される。
【0066】
図8は、複数の周波数帯域信号に適用されるレベル・シフトの効果を示す概略図である。長方形402によって象徴されるように、音声信号(例えば複数の周波数帯域信号のそれぞれ)は16ビット分解能を用いて表されることができる。長方形404は、16ビット分解能のビットがどのようにしてデコーダ前処理ステージ110によって与えられる周波数帯域信号の1つの中の量子化されたサンプルを表すために使用されるかを概略的に示している。量子化サンプルが最上位ビット(MSB)から始まり量子化されたサンプルのために使用される最後のビットに至る一定数のビットを使用することができることが分かる。最下位ビット(LSB)までの残りのビットは、量子化ノイズを含むだけである。これは、現在のフレームのために、対応する周波数帯域信号がビットの減少した数(<16ビット)のみによってビットストリーム内に表されたという事実から説明されることができる。16ビットの完全なビット分解能が現在のフレームのための、そして、対応する周波数帯域のためのビットストリームの範囲内で使われた場合であっても、最下位ビットは概して量子化ノイズのかなりの量を含む。
【0067】
図8の長方形406は、周波数帯域信号をレベル・シフトした結果を示す概略図である。最下位ビットの内容が量子化ノイズの相当な量を含むと思われることができるので、実質的に関連した情報を失わずに、量子化サンプルは最下位ビットの方へシフトされることができる。これは、単に下にビットをシフトさせる(「右シフト」)ことによって、または、実際にバイナリの表現を再計算することによって達成されることができる。いずれの場合においても、レベル・シフト係数は、適用されたレベル・シフト(例えば、レベル・シフト補償器150または350によって)の後の補償のために記憶されることができる。レベル・シフトは、最上位ビット(s)における付加的なヘッドルームという結果になる。
【0068】
図9は、図7に示される遷移形状調整装置370の可能性のある実行に関する概略図である。遷移形状調整装置370は、以前のレベル・シフト係数のためのメモリ371、ウィンドウ形状を現在のレベル・シフト係数に適用することによって第1の複数のウィンドウ化されたサンプルを生成するように構成される第1のwindower 372、以前のウィンドウ形状をメモリ371によって与えられている以前のレベル・シフト係数に適用することによって第2の複数のウィンドウ化されたサンプルを生成するように構成される第2のwindower 376、および複数の複合サンプルを得るために第1の複数のウィンドウ化されたサンプルと第2の複数のウィンドウ化されたサンプルとの相互に対応するウィンドウ化されたサンプルを結合するように構成されるサンプル・コンバイナ379を含む。第1のwindower 372は、ウィンドウ形状プロバイダ373と乗算器374とを含む。第2のwindower 376は、以前のウィンドウ形状プロバイダ377および更なる乗算器378を含む。乗算器374および更なる乗算器378は、時間とともにベクトルを出力する。第1のwindower 372の場合、各ベクトル素子は、(現在のフレームの間で一定の)現在の復号ゲイン係数g3(t)およびウィンドウ形状プロバイダ373によって与えられる現在のウィンドウ形状の乗算に対応する。第2のwindower 376の場合、各ベクトル素子は、(以前のフレームの間で一定の)復号ゲイン係数g3(t−T)および以前のウィンドウ形状プロバイダ377によって与えられている以前のウィンドウ形状の乗算に対応する。
【0069】
図9において略図で例示される実施例によれば、以前のフレームからのゲイン係数はフィルタバンク340の「後半」ウィンドウによって乗算されなければならず、その一方で、動作利得係数は「前半」ウィンドウ配列によって乗算される。これらの2つのベクトルは、音声信号X3(t)(図7を参照)によってエレメント幅で乗算された要素的な1つのゲインベクトルg4(t)を形成するために総括されることができる。
【0070】
必要であれば、ウィンドウ形状は、フィルタバンク340からサイド情報wによって導かれることができる。
【0071】
同じウィンドウ形状および以前のウィンドウ形状がレベル・シフトされた周波数帯域信号を時間領域表現に変換するために用いられ、現在のレベル・シフト係数および以前のレベル・シフト係数をウィンドウ化するために用いられるように、ウィンドウ形状および以前のウィンドウ形状は周波数−時間領域コンバータ340により用いられてもよい。
【0072】
現在のレベル・シフト係数は、複数の周波数帯域信号の現在のフレームに有効である。以前のレベル・シフト係数は、複数の周波数帯域信号の以前のフレームに有効である。現在のフレームおよび以前のフレームは、例えば50%重複することができる。
【0073】
移行形状調整装置370は、以前のレベル・シフト係数を以前のフレーム係数シーケンスという結果になっている以前のウィンドウ形状の第2の部分と結合するように構成されることができる。移行形状調整装置370は、現在のレベル・シフト係数を現在のフレーム係数シーケンスという結果になっている現在のウィンドウ形状の第1の部分と結合するように更に構成されることができる。クロスフェードされたレベル・シフト係数のシーケンスは、以前のフレーム係数シーケンスおよび現在のフレーム係数シーケンスに基づいて決定されることができる。
【0074】
提案された方法がデコーダに必ずしも制限されるというわけではないが、エンコーダは提案された方法から利益を得るかもしれないフィルタバンクと組み合わされてゲイン調整またはリミッタを有するかもしれない。
【0075】
図10は、デコーダ前処理ステージ110およびクリッピング推定器120がどのように接続されるかを図示している。デコーダ前処理ステージ110は、コードブック決定器1110に対応するかまたは含んでいる。クリッピング推定器120は、推定ユニット1120を含む。コードブック決定器1110は、確認されたコードブックとして複数のコードブックからコードブックを決定するように構成され、音声信号は、確認されたコードブックを使用することによって符号化された。推定ユニット1120は、引き出されたレベル値として確認されたコードブックに関連したレベル値、例えば、エネルギー値、振幅値または音量値を引き出すように構成されている。さらに、推定ユニット1120は、引き出されたレベル値を用いて音声信号のレベル推定、例えば、エネルギー推定、振幅推定または音量推定をするように構成されている。たとえば、コードブック決定器1110は、符号化された音声信号とともに送信されるサイド情報を受信することにより、音声信号を符号化するためのエンコーダにより用いられたコードブックを決定することができる。特に、サイド情報は、音声信号の考慮した部分を符号化するために使用されるコードブックを確認している情報を含む。このような情報は、例えば、音声信号の考慮した部分を符号化するために用いられるハフマン・コードブックを確認する数値としてエンコーダからデコーダに送信される。
【0076】
図11は、実施例による推定器を図示する。推定器は、レベル値導出器1210とスケーリングユニット1220とを含む。レベル値導出器は、ローカルデータベースからレベル値を要求することにより、または、リモート・コンピュータから確認されたコードブックと関連したレベル値を要求することにより、メモリ内のレベル値を検索することによって、確認されたコードブック、すなわちエンコーダによってスペクトル・データを符号化するために使われたコードブックと関連したレベル値を引き出すように構成される。実施例において、レベル値導出器によって検索されまたは要求されたレベル値は、確認されたコードブックを用いて符号化されたスケーリングされていないスペクトル値の平均レベルを示す平均レベル値である。
【0077】
これによって、引き出されたレベル値は実際のスペクトル値から計算されないが、その代わりに、使用されたコードブックだけに依存する平均レベル値が使用される。前述したように、エンコーダは、通常、複数のコードブックから音声信号のセクションのそれぞれのスペクトル・データを符号化するのに最も適合するコードブックを選択するのに適している。コードブックは、例えば、符号化することができる最大平均値に関連して異なるため、ハフマン・コードブックによって符号化される平均値がコードブックによって異なり、したがって、特定のコードブックによって符号化される符号化スペクトル係数の平均値もコードブックによって異なる。
【0078】
このように、実施例によれば、特定のハフマン・コードブックを使用している音声信号のスペクトル係数を符号化するための平均レベル値がハフマン・コードブックごとに決定されることができ、例えば、メモリ、データベースまたはリモート・コンピュータに保存されることができる。レベル値導出器は、確認されたコードブックと関連した引き出されたレベル値を得るために、スペクトル・データを符号化するために用いられた確認されたコードブックに関連したレベル値をただ検索し、または請求しなければならないだけである。
【0079】
しかしながら、ハフマン・コードブックが、MPEG AACの場合のように、スケーリングされてないスペクトル値を符号化するためにしばしば使用されることは、考慮に入れられなければならない。しかしながら、レベル推定が行われるときに、スケーリングは考慮されなければならない。したがって、図11の推定ユニットも、スケーリングユニット1220を含む。スケーリングユニットは、引き出されたスケール係数として、符号化された音声信号、または、符号化された音声信号の一部に関してスケール係数を引き出すように構成される。たとえば、デコーダに関して、スケーリングユニット1220は、スケール係数バンドごとにスケール係数を決定する。たとえば、スケーリングユニット1220は、エンコーダからデコーダに送信されるサイド情報を受信することによって、スケール係数バンドのスケール係数に関する情報を受信することができる。スケーリングユニット1220は、さらに、スケール係数および引き出されたレベル値に基づいてスケーリングされたレベル値を決定するように構成される。
【0080】
実施例において、引き出されたレベル値が引き出されたエネルギー値であるところにおいて、スケーリングユニットは、引き出されたエネルギー値と引き出されたスケール係数の2乗を乗算することによってスケーリングされたレベル値を得るために、引き出されたエネルギー値上に引き出されたスケール係数を適用するように構成される。
【0081】
もう一つの実施例では、引き出されたレベル値が引き出された振幅値であるところにおいて、スケーリングユニットは引き出された振幅値と引き出されたスケール係数を乗算することによってスケーリングされたレベル値を得るために、引き出された振幅値上に引き出されたスケール係数を適用するように構成される。
【0082】
さらなる態様において、引き出されたレベル値は引き出された音量値であるところで、スケーリングユニット1220は引き出された音量値と引き出されたスケール係数の3乗を乗算することによってスケーリングされたレベル値を得るために、引き出された音量値上に引き出されたスケール係数を適用するように構成される。例えば指数3/2による音量を算出する代わりの方法が存在する。通常、引き出されたレベル値が音量値であるとき、スケール係数は音量領域に変換されなければならない。
【0083】
これらの実施例は、エネルギー値が音声信号のスペクトル係数の2乗に基づいて決定され、振幅値が音声信号のスペクトル係数の絶対値に基づいて決定され、音量値が音量領域に変換された音声信号のスペクトル係数に基づいて決定されることを考慮に入れる。
【0084】
推定ユニットは、スケーリングされたレベル値を用いて音声信号のレベル推定を評価するように構成される。図11の実施例において、推定ユニットは、レベル推定としてスケーリングされたレベル値を出力するように構成される。この場合、スケーリングされたレベル値の後処理は実行されない。しかしながら、図12の実施例で図示されているように、推定ユニットも後処理を実行するように構成される。したがって、図12の推定ユニットは、レベル推定を評価するための一つ以上のスケーリングされたレベル値を後処理するための後処理器1230を含む。たとえば、推定ユニットのレベル推定は、複数のスケーリングされたレベル値の平均値を決定することによって、後処理器1230で決定される。この平均値は、レベル推定として推定ユニットによって出力される。
【0085】
示された実施例とは対照的に、例えば一つのスケール係数バンドのエネルギーを推定する最高水準の方法は、ハフマン復号化を行い、全てのスペクトル値に対して逆量子化を行い、全ての逆量子化されたスペクトル値の2乗を合計することによりエネルギーを計算する。
【0086】
しかしながら、提案された実施例において、最高水準の技術のこの計算的に複雑なプロセスは、単にスケール係数およびコードブックの利用に依存し実際の量子化された値に依存しない平均レベルの推定により置き換えられる。
【0087】
【0088】
これに基づいて、予想されるレベルは、事前計算されることができて、以下のようにして格納されることができる:
各インデックスは、整数値(x)のシーケンス、例えばスペクトル線を表し、シーケンスの長さは、コードブック、例えばAAC−ELDの2または4の次元に依存する。
【0089】
図13aおよび13bは、実施例に関するコードブックに関連したレベル値、例えばエネルギー値、振幅値または音量値を生み出す方法を例示する。この方法は、以下の工程を含む。
コードブックの各コード名のためにコードブックのコード名に関連して数値のシーケンスを決定する工程(ステップ1310)。前述したように、コードブックは数値のシーケンス、例えばコードブックのコード名によって2または4の数値を符号化する。コードブックは、数値の複数のシーケンスを符号化する複数のコードブックを含む。決定される数値のシーケンスは、コードブックの考慮されたコード名によって符号化される数値のシーケンスである。ステップ1310は、コードブックの各コード名のために行われる。たとえば、コードブックが81のコード名を含む場合、数値の81のシーケンスはステップ1310において決定される。
【0090】
ステップ1320において、数値の逆量子化されたシーケンスは、逆量子化器をコードブックの各コード名のためのコード名の数値のシーケンスの数値に適用することによって、コードブックの各コード名のために決定される。前述したように、音声信号のスペクトル値を符号化するときに、エンコーダは通常、量子化、例えば不均一な量子化を使用することができる。結果として、この量子化は、デコーダ側で反転されなければならない。
【0091】
その後、ステップ1330で、レベル値のシーケンスは、コードブックの各コード名のために決定される。
【0092】
エネルギー値がコードブック・レベルの値として発生することになっている場合、エネルギー値のシーケンスは各コード名のために決定され、数値の逆量子化されたシーケンスの各値の2乗がコードブックの各コード名のために算出される。
【0093】
しかしながら、振幅値がコードブック・レベルの値として発生することになっている場合、振幅値のシーケンスは各コード名のために決定され、数値の逆量子化されたシーケンスの各値の絶対値はコードブックの各コード名のために算出される。
【0094】
音量値がコードブック・レベルの値として発生することになっている場合、音量値のシーケンスは各コード名のために決定され、数値の逆量子化されたシーケンスの各値の3乗がコードブックの各コード名のために算出される。例えば指数3/2によって音量を算出する代わりの方法が存在する。通常、音量値がコードブック・レベル値として発生することになっているとき、数値の逆量子化されたシーケンスの値は音量領域に変換されなければならない。
【0095】
その後、ステップ1340で、コードブックの各コード名のためのレベル合計値は、コードブックの各コード名のためのレベル値のシーケンスの値を合計することによって算出される。
【0096】
そして、ステップ1350で、確率加重レベル合計値は、コード名のレベル合計値とコードブックの各コード名のコード名と関連した確率値を乗算することによって、コードブックの各コード名のために決定される。これにより、数値のシーケンスのいくつか、例えばスペクトル係数のシーケンスがスペクトル係数の他のシーケンスほどしばしば現れないことは考慮される。コード名と関連した確率値はこれを考慮に入れる。ハフマン符号化が用いられるとき、より現れそうであるコード名がより短い長さを有するコード名を用いて符号化され、その一方で、より現れそうにない他のコード名はより長い長さを有するコード名を用いて符号化されるので、この種の確率値はコード名の長さから引き出されることができる。
【0097】
ステップ1360において、コードブックの各コード名のための平均確率加重レベル合計値は、コード名の確率加重レベル合計値をコードブックの各コード名のためのコードブックと関連した次元値で割ることによって決定される。次元値は、コードブックのコード名によって符号化されるスペクトル値の数を示す。これによって、コード名によってコード化されるスペクトル係数のためのレベル値(確率加重)を表す平均確率加重レベル合計値が決定される。
【0098】
それから、ステップ1370で、コードブックのレベル値は、すべてのコード名の平均確率加重レベル合計値を合計することによって算出される。
【0099】
レベル値のこの種の生成は、コードブックのために一度だけするだけでよいことに留意すべきである。コードブックのレベル値が決定される場合、この値は、例えば、上述の実施例によるレベル推定のための装置によって単に検索され、使用されることができる。
【0100】
以下に、実施例によるコードブックと関連したエネルギー値を生み出す方法が提示される。所定のコードブックによって符号化されるデータのエネルギーの期待値を推定するために、次の工程は、コードブックの各インデックスにつき一回だけ実行されなければならない:
A) 逆量子化器をシーケンスの整数値に適用する(例えば、AAC―ELD:
x^(4/3))
B) A)のシーケンスの各値を2乗することによって、エネルギーを算出する
C) B)のシーケンスの合計を構築する
D) インデックスの所定の確率を有するC)を乗算する
E) スペクトル線につき予想されるエネルギーを得るために、コードブックの次元によって割る。
最後に、E)によって算出されるすべての値は、完全なコードブックの予想されるエネルギーを得るために合計されなければならない。
【0101】
これらのステップの出力がテーブルに格納されたあと、推定されたエネルギーは単にコードブック・インデックスに基づいて検索されることができる、すなわち、それに応じて、コードブックが使用される。実際のスペクトル値は、この推定のためにハフマン復号化である必要はない。
【0102】
完全な音声フレームのスペクトル・データの全体のエネルギーを推定するために、スケール係数は考慮されなければならない。スケール係数は、かなりの量の複雑さもなしにビットストリームから抽出されることができる。スケール係数は、予想されるエネルギーに適用される前に修正されることができ、例えば、使用されたスケール係数の2乗は算出されることができる。予想されるエネルギーは、それから使用されたスケール係数の2乗で乗算される。
【0103】
上述の実施例によれば、各スケール係数バンドのためのスペクトル・レベルは、ハフマン符号化スペクトル値を復号化することなく推定されることができる。レベルの推定は、低レベルで、例えば低電力で、どちらが一般的にクリッピングという結果にならないストリームを確認するために用いられることができる。したがって、このようなストリームを完全に復号化することは、回避されることができる。
【0104】
実施例によれば、レベル推定のための装置は、さらに、コードブックに関連するレベル値を示す複数のコードブック・レベルのメモリ値が格納されたメモリまたはデータベースを含み、複数のコードブックのそれぞれは、メモリまたはデータベースに格納されたそれに関連するコードブック・レベルのメモリ値を有する。さらに、レベル値導出器は、メモリから、または、データベースから確認されたコードブックに関連したコードブック・レベルのメモリ値を引き出すことによって確認されたコードブックと関連したレベル値を引き出すように構成される。
【0105】
例えば予測フィルタリングのように、予測としてのさらなる処理ステップが、コーデック、例えばAAC−ELD TNS(Temporal Noise Shaping)フィルタリングなどに適用される場合、上述の実施例に従って推定されるレベルは変化することができる。ここで、予測の係数は、例えばPARCOR係数としてTNSのために、ビットストリーム内部で送信される。
【0106】
図14は、推定ユニットが更に予測フィルタ調整器1240を含む例を例示する。予測フィルタ調整器は、引き出された予測フィルタ係数として符号化された音声信号または符号化された音声信号の一部に関する一つ以上の予測フィルタ係数を引き出すように構成される。さらに、予測フィルタ調整器は、予測フィルタ係数および引き出されたレベル値に基づいて予測−フィルタ調整レベル値を得るように構成される。さらに、推定ユニットは、予測−フィルタ調整レベル値を用いて音声信号のレベル推定を評価するように構成される。
【0107】
【0108】
【0109】
図15は、フィルタバンクを「バイパスする」提案されたゲイン調整を実行するエンコーダ1500の概略ブロック図を示す。音声信号エンコーダ1500は、入力音声信号の時間領域表現に基づいて符号化された音声信号表現を提供するように構成される。時間領域表現は、例えば、パルス符号変調音声入力信号であってもよい。
【0110】
音声信号エンコーダは、入力信号表現のための現在のレベル・シフト係数を決定するために入力音声信号の時間領域表現を分析するように構成されるクリッピング推定器1520を含む。音声信号エンコーダは、更に、レベル・シフトされた時間領域表現を得るためのレベル・シフト係数に従って入力音声信号の時間領域表現のレベルを移すように構成されるレベルシフタ1530を含む。時間−周波数領域コンバータ1540(例えば、直交ミラーフィルタバンクや修正離散コサイン変換バンク等のフィルタバンク)は、レベル・シフトされた時間領域表現を複数の周波数領域表現に変換するように構成される。音声信号エンコーダ1500は、更に、レベルシフタ1530によってレベル・シフトされた時間領域表現に適用されるレベル・シフトを少なくとも部分的に補償するために、および複数の十分に補償された周波数帯域信号を得るために、複数の周波数帯域信号について決定を下すように構成されたレベル・シフト補償器1550を含む。
【0111】
音声信号エンコーダ1500は、更に、ビット/ノイズ割り当て、量子化器および符号化コンポーネント1510および音響心理学的モデル1508を含む。音響心理学的モデル1508はPCM音声入力信号に基づいて時間−周波数変数マスキング閾値(および/または周波数帯域個々のおよびフレーム個々の量子化分解能、およびスケール係数)を決定し、ビット/ノイズ割り当て、量子化器および符号化1610によって使用される。音響心理学的モデルの1つの考えられる実施態様および知覚的な音声符号化の他の態様に関する詳細は、例えば、国際基準 ISO/IEC 11172−3およびISO/IEC 13818−3で見出すことができる。ビット/ノイズ割り当て、量子化器および符号化1510は、複数の周波数帯域信号をそれらの周波数帯域個々およびフレーム個々の量子化分解能に従って量子化するように構成され、1つ以上の音声信号デコーダに与えられる符号化ビットストリームを出力するビットストリームフォーマッタ1505にこれらのデータを提供するように構成される。ビット/ノイズ割り当て、量子化器および符号化1510は、複数の量子化周波数に加えて、サイド情報を決定するように構成される。このサイド情報は、ビットストリームに包含されるためのビットストリームフォーマッタ1505に提供される。
【0112】
図16は、復号化された音声信号表現を得るために符号化された音声信号表現を復号化する方法の概略工程系統図を示す。この方法は、複数の周波数帯域信号を得るために符号化された音声信号表現を前処理するステップ1602を含む。特に、前処理は、連続したフレームに対応してビットストリームをデータに解凍すること、および、複数の周波数帯域信号を得るために周波数帯域固有の量子化分解能に従って周波数帯域関連データを再量子化(逆量子化)することを含む。
【0113】
復号化のための方法のステップ1604において、周波数帯域信号のゲインと関連するサイド情報は、符号化された音声信号表現のための現在のレベル・シフト係数を決定するために分析される。周波数帯域信号と関連するゲインは、周波数帯域信号(例えば、いくつかの知覚的な音声符号化方式で公知のスケール係数または類似のパラメータ)ごとに独特でもよいか、すべての周波数帯域信号(例えば、いくつかの知覚的な音声符号化方式において公知の全体的なゲイン)に共通であってもよい。サイド情報の分析は、符号化された音声信号の音量に関する情報をフレームの間手元に集めることを可能にする。次に、音量は、クリッピングに入る復号化された音声信号表現の傾向を示す。レベル・シフト係数は、関連するダイナミックレンジおよび/または(全ての)周波数帯域信号の関連する情報コンテンツを保存する一方で、このようなクリッピングを防止する値として典型的に決定される。
【0114】
復号化のための方法は、更に、レベル・シフト係数に従って周波数帯域信号のレベルをシフトさせるステップ1606を含む。周波数帯域信号が低いレベルにレベル・シフトされる場合、レベル・シフトは周波数帯域信号のバイナリ表現の最上位なビットでさらに若干のヘッドルームをつくる。時間領域表現を得るために次のステップ1608で複数の周波数帯域信号から時間領域表現に変換されるとき、この付加的なヘッドルームが必要である。特に、周波数帯域信号のいくつかがそれらの振幅および/または電力に関して上限の近くにある場合、付加的なヘッドルームは時間領域表現のリスクをクリップして減少させる。結果として、周波数−時間領域変換は、比較的小さいワード長を使用して実行されることができる。
【0115】
復号化のための方法は、また、レベル・シフトされた周波数帯域信号に適用される少なくとも部分的にレベルを補償するために時間領域表現について決定するステップ1609を含む。その後、実質的に補償された時間表現が得られる。
【0116】
したがって、符号化された音声信号表現を復号化された音声信号表現に復号化する方法は、以下を含む:
− 複数の周波数帯域信号を得るために符号化された音声信号表現を前処理する工程;
− 符号化された音声信号表現のための現在のレベル・シフト係数を決定するために周波数帯域信号のゲインに関連してサイド情報を分析する工程;
− レベル・シフトされた周波数帯域信号を得るためのレベル・シフト係数に従って周波数帯域信号のレベルをシフトする工程;
− 周波数帯域信号の時間領域表現への周波数−時間領域変換を実行する工程;および
− レベル・シフトされた周波数帯域信号に適用されるレベル・シフトを少なくとも部分的に補償するために、および十分に補償された時間領域表現を得るために時間領域表現について決定する工程。
【0117】
更なる態様によれば、サイド情報を分析する工程は、サイド情報に基づいてクリッピング確率を決定すること、およびクリッピング確率に基づいて現在のレベル・シフト係数を決定することを含む。
【0118】
更なる態様によれば、サイド情報は複数の周波数帯域信号および複数のスケール係数のための全体的なゲイン係数のうちの少なくとも1つを含み、各スケール係数は複数の周波数帯域信号のうちの1つの周波数帯域信号に対応する。
【0119】
更なる態様によれば、符号化された音声信号表現を前処理する工程は、複数の連続したフレームの形で複数の周波数帯域信号を得ることを含み、サイド情報を分析する工程は、現在のフレームのための現在のレベル・シフト係数を決定することを含む。
【0120】
更なる態様によれば、復号化された音声信号表現は、実質的に補償された時間領域表現に基づいて決定される。
【0121】
更なる態様によれば、方法は、更に、少なくとも部分的にレベル・シフトを補償するための時間領域表現について決定した後で時間領域リミッタ特性を適用することを含む。
【0122】
更なる態様によれば、周波数帯域信号のゲインと関連するサイド情報は、複数の周波数帯域関連のゲイン係数を含む。
【0123】
更なる態様によれば、符号化された音声信号を前処理することは、複数の周波数帯域に特有の量子化インジケータのうちの周波数帯域に特有の量子化インジケータを使用して各周波数帯域信号を再量子化することを含む。
【0124】
更なる態様によれば、方法は、移行形状調整を実行することを更に含み、移行形状調整は、少なくとも部分的にレベル・シフトを補償する動作の間、使用のためのクロスフェードしたレベル・シフト係数を得るために現在のレベル・シフト係数および次のレベル・シフト係数をクロスフェードさせることを含む。
【0125】
更なる態様によれば、移行形状調整は、以下を含むことができる:
− 一時的に、以前のレベル・シフト係数を格納すること、
− 現在のレベル・シフト係数にウィンドウ形状を適用することにより第1の複数のウィンドウ化サンプルを生成すること、
− 以前のレベル・シフト係数の一時的な格納の作用により与えられた以前のレベル・シフト係数に以前のウィンドウ形状を適用することにより第2の複数のウィンドウ化サンプルを生成すること、および
− 複数の複合サンプルを得るために第1の複数のウィンドウ化サンプルの、および第2の複数のウィンドウ化サンプルの相互に対応するウィンドウ化サンプルを結合すること。
【0126】
更なる態様によれば、同じウィンドウ形状および以前のウィンドウ形状がレベル・シフトされた周波数帯域信号を時間領域表現に変換するために、および現在のレベル・シフト係数と以前のレベル・シフト係数をウィンドウ化するために同じウィンドウ形状および以前のウィンドウ形状が用いられるように、ウィンドウ形状および以前のウィンドウ形状が周波数−時間領域変換によって使用される。
【0127】
更なる態様によれば、現在のレベル・シフト係数は、複数の周波数帯域信号の現在のフレームに効果的であり、以前のレベル・シフト係数は複数の周波数帯域信号の以前のフレームに効果的であり、そして、現在のフレームおよび以前のフレームは重複する。移行形状調整は、次のように構成される。
− 以前のレベル・シフト係数を以前のフレーム係数シーケンスという結果になっている以前のウィンドウ形状の第2の部分と結合、
− 現在のレベル・シフト係数を現在のフレーム係数シーケンスという結果になっている現在のウィンドウ形状の第1の部分と結合、
− 以前のフレーム係数シーケンスおよび現在のフレーム係数シーケンスに基づいてクロスフェードされたレベル・シフト係数のシーケンスを決定。
【0128】
更なる態様によれば、サイド情報を分析することは、サイド情報が時間領域表現の中で潜在的クリッピングを示唆するかどうかに関して実行され、それは最下位ビットが関連した情報を含んでいないことを示し、この場合、レベル・シフトは情報を最下位ビットにシフトさせ、それにより最上位ビットを開放することにより若干のヘッドルームが得られる。
【0129】
更なる態様によれば、コンピュータプログラムがコンピュータまたは信号処理器によって実行されるとき、復号化のための方法または符号化のための方法を実施するためのコンピュータプログラムが提供される。
【0130】
いくつかの態様が装置との関連で記載されたが、これらの態様も対応する方法の説明を表すことは明らかであり、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップとの関連で記載されている態様は、対応する装置の対応するブロックまたは部材または特徴の説明を表す。
【0131】
発明の分解された信号は、デジタル記憶媒体に保存されることができ、または伝送媒体、例えばワイヤレス伝送媒体またはイターネットのような有線の伝送媒体に送られることができる。
【0132】
特定の実施要件に応じて、本発明の実施例は、ハードウェアにおいて、または、ソフトウェアで実施されることができる。実施はその上に格納される電子的に読み込み可能な制御信号を有するデジタル記憶媒体、例えばフレキシブルディスク、DVD、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行されることができ、それぞれの方法が実行されるように、それはプログラム可能なコンピュータシステムと協同する(または協同することができる)。
【0133】
本発明による若干の実施例は、電子的に読み込み可能な制御信号を有する非一時的データキャリアを含み、それはここにおいて記載されている方法のうちの1つが実行されるようにプログラム可能なコンピュータシステムと協同することができる。
【0134】
通常、本発明の実施例はプログラムコードを有するコンピュータプログラム製品として実施されることができ、コンピュータプログラム製品がコンピュータで動くときに、プログラムコードが方法のうちの1つを実行するために実施されている。プログラムコードは、機械読み取り可読キャリアに例えば格納されることができる。
【0135】
他の実施例は、本願明細書において記載されていて、機械読み取り可読キャリアに格納される方法のうちの1つを実行するためのコンピュータプログラムを含む。
【0136】
換言すれば、発明の方法の実施例は、従って、コンピュータプログラムがコンピュータ上で動くとき、ここにおいて記載されている方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0137】
発明の方法の更なる実施例は、従って、その上に記録されて、ここにおいて記載されている方法のうちの1つを実行するためのコンピュータプログラムから成っているデータキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。
【0138】
発明の方法の更なる実施例は、従って、ここにおいて記載されている方法のうちの1つを実行するためのコンピュータプログラムを表しているデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続を経て、例えばインターネットで転送されるように例えば構成されることができる。
【0139】
更なる実施例は、ここにおいて説明した方法の1つを実行することができるように構成された処理手段、例えばコンピュータまたはプログラム可能な論理装置を含む。
【0140】
更なる実施例は、その上に、ここにおいて記載されている方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0141】
いくつかの実施形態では、プログラム可能な論理装置(例えばフィールド・プログラマブル・ゲート・アレイ)は、ここにおいて記載されている方法の機能のいくらかまたは全てを実行するために用いることができる。いくつかの実施形態では、フィールド・プログラマブル・ゲート・アレイは、ここにおいて記載されている方法のうちの1つを実行するために、マイクロプロセッサと協同することができる。通常、方法は、いかなるハードウェア装置によっても好ましくは実行される。
【0142】
上記した実施例は、本発明の原理のために、単に説明したものである。配置の修正変更およびここにおいて記載されている詳細が他の当業者にとって明らかであるものと理解される。したがって、間近に迫った特許請求の範囲だけによって限定され、ここにおいて実施例の説明および説明として示される具体的な詳細だけで制限されないことが意図するところである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13a
図13b
図14
図15
図16