(58)【調査した分野】(Int.Cl.,DB名)
該装置は、複数の記憶されているスペクトルパターンを記憶しているデータベースまたはメモリを含むストレージユニット(155)をさらに備え、前記複数の記憶されているスペクトルパターンの各々はスペクトル特性をもち、
前記置換ユニット(135)は、前記ストレージユニット(155)に、要求されたスペクトルパターンとして、前記記憶されているスペクトルパターンのうちの1つを要求するように構成され、
前記ストレージユニット(155)は、前記要求されたスペクトルパターンを提供するように構成され、
前記置換ユニット(135)は、前記要求されたスペクトルパターンに基づいて前記1つ以上の決定された係数のうちの少なくとも1つを前記決定されたスペクトルパターンで置換するように構成されている請求項1に記載の装置。
前記ストレージユニット(155)の前記データベースまたは前記メモリ内に記憶されている前記複数の記憶されているスペクトルパターンは定常音パターンまたは周波数掃引パターンのいずれかであり、
前記疑似係数決定器(125)は前記復号オーディオ信号スペクトルの2つ以上の時間的に連続する決定された係数を決定するように構成され、
前記置換ユニット(135)は、前記2つ以上の時間的に連続する決定された係数のうちの第1の決定された係数と第2の決定された係数を、前記第1の決定された係数から導出される前記第1の導出スペクトル位置と前記第2の決定された係数から導出される第2の導出スペクトル位置との間の絶対差が閾値よりも小さいか否かに応じてトラックに割り当てるように構成され、
前記置換ユニット(135)は、前記トラックの前記第1の決定された係数から導出される前記第1の導出スペクトル位置が前記トラックの前記第2の決定された係数から導出される前記第2の導出スペクトル位置に等しいときは前記ストレージユニット(155)に前記定常音パターンの1つを要求するように構成され、前記トラックの前記第1の決定された係数から導出される前記第1の導出スペクトル位置が前記トラックの前記第2の決定された係数から導出される前記第2の導出スペクトル位置とは異なるときは前記ストレージユニット(155)に前記周波数掃引パターンの1つを要求するように構成されている請求項3又は4に記載の装置。
前記置換ユニット(135)は、前記決定されたスペクトルパターンを得るために、前記ストレージユニット(155)から提供される、前記要求されたスペクトルパターンを修正するように構成されているパターン適合ユニット(138)を備えている請求項2から6のいずれか一項に記載の装置。
前記パターン適合ユニット(138)は、開始位相値に応じて、前記ストレージユニット(155)によって提供される前記要求されたスペクトルパターンを修正するように構成されている請求項7または8に記載の装置。
前記要求されたスペクトルパターンの前記パターン係数の各々の前記スペクトル値は実数部と虚数部とを含む複素係数である請求項7から9のいずれか一項に記載の装置。
前記パターン適合ユニット(138)は、前記要求されたスペクトルパターンの複素共役を計算することによって前記ストレージユニット(155)によって提供される前記要求されたスペクトルパターンを修正するように構成されている請求項7から11のいずれか一項に記載の装置。
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明の目的は、ハイブリッドオーディオ復号のための改善された概念を提供することである。
【課題を解決するための手段】
【0019】
本発明の目的は、請求項1に記載の装置、請求項14に記載の装置、請求項20に記載の方法、請求項21に記載の方法、および請求項22に記載のコンピュータプログラムによって解決される。
【0020】
符号化オーディオ信号スペクトルに基づいてオーディオ出力信号を生成するための装置が提供される。
【0021】
この装置は、複数のスペクトル係数を含む復号オーディオ信号スペクトルを得るために符号化オーディオ信号スペクトルを処理するための処理ユニットを備え、スペクトル係数の各々は符号化オーディオ信号スペクトル内のスペクトル位置およびスペクトル値を有し、スペクトル係数はスペクトル係数がスペクトル係数のシーケンスを形成するように符号化オーディオ信号スペクトル内のそれらのスペクトル位置に従って連続して順序付けされている。
【0022】
その上、この装置は復号オーディオ信号スペクトルの1つ以上の疑似係数を決定するための疑似係数決定器を備え、疑似係数の各々はスペクトル位置およびスペクトル値を有する。
【0023】
さらに、この装置は、修正オーディオ信号スペクトルを得るために、少なくとも1つまたは複数の疑似係数を、決定されたスペクトルパターンで置換するための置換ユニットを備え、決定されたスペクトルパターンは少なくとも2つのパターン係数を含み、少なくとも2つのパターン係数の各々はスペクトル値を有する。
【0024】
その上、この装置は、オーディオ出力信号を得るために修正オーディオ信号スペクトルを時間領域に変換するためのスペクトル−時間変換ユニットを備える。
【0025】
一実施形態において、この装置は、複数の記憶されているスペクトルパターンを記憶しているデータベースまたはメモリを含むストレージユニットをさらに備えることができ、記憶されているスペクトルパターンの各々は一定のスペクトル特性(たとえば、一定の周波数、掃引周波数など。それぞれはビン上(on-bin)位置のバージョンまたはビン間(between-bin)位置のバージョンで。)を有する。置換ユニットは、ストレージユニットに、要求されたスペクトルパターンとして、記憶されているスペクトルパターンの1つを要求するように構成することができる。ストレージユニットは、その要求されたスペクトルパターンを提供するように構成することができ、置換ユニットは、その要求されたスペクトルパターンに基づいて少なくとも1つまたは複数の疑似係数を決定されたスペクトルパターンで置換するように構成することができる。
【0026】
一実施形態によれば、置換ユニットは、疑似係数決定器によって決定された1つ以上の疑似係数のうちの少なくとも1つから導出される第1の導出スペクトル位置に応じて、ストレージユニットにその記憶されているスペクトルパターンの1つを要求するように構成することができる。
【0027】
一実施形態において、1つ以上の疑似係数のうちの少なくとも1つから導出される第1の導出スペクトル位置は、疑似係数のうちの1つの疑似係数のスペクトル位置とすることができる。
【0028】
別の実施形態において、1つ以上の疑似係数は各々が符号成分を含む符号付きの値であり、置換ユニットは、1つ以上の疑似係数のうちの1つの疑似係数のスペクトル位置とその疑似係数の符号成分に基づいて、その符号成分が第1の符号値を有するときは第1の導出スペクトル位置がその疑似係数のスペクトル位置に等しくなるように、その符号値が異なる第2の値を有するときは第1の導出スペクトル位置がその疑似係数のスペクトル位置を所定の値だけシフトすることによってもたらされる修正位置に等しくなるように、第1の導出スペクトル位置を決定するように構成されている。
【0029】
たとえば、疑似ラインの半ビン周波数分解能は、その疑似係数の符号によって示すことができる。そのため、疑似係数の符号成分が第2の符号値を有する場合に、たとえば、時間―周波数領域を考えると、その疑似係数のスペクトル位置がシフトされる所定の値は、たとえば2つの連続するビンの周波数差の半分に対応させることができる。
【0030】
疑似係数の符号成分は疑似係数のスペクトル値に含むことができる。
【0031】
一実施形態において、ストレージユニットのデータベースまたはメモリ内に記憶されている複数の記憶されているスペクトルパターンは、定常音パターンまたは周波数掃引パターンのいずれかとすることができる。疑似係数決定器は、復号オーディオ信号スペクトルの2つ以上の時間的に連続する疑似係数を決定するように構成することができる。置換ユニットは、第1の疑似係数から導出される第1の導出スペクトル位置と、第2の疑似係数から導出される第2の導出スペクトル位置との間の絶対差が閾値よりも小さいか否かに応じて、2つ以上の時間的に連続する疑似係数のうちの第1の疑似係数および第2の疑似係数をトラックに割り当てるように構成することができる。また、置換ユニットは、トラックの第1の疑似係数から導出される第1の導出スペクトル位置がトラックの第2の疑似係数から導出される第2の導出スペクトル位置に等しいときに、ストレージユニットに、定常音パターンの1つを要求するように構成することができる。さらに、置換ユニットは、トラックの第1の疑似係数から導出される第1の導出スペクトル位置がトラックの第2の疑似係数から導出される第2の導出スペクトル位置とは異なるときに、ストレージユニットに周波数掃引パターンの1つを要求するように構成することができる。
【0032】
一実施形態によれば、置換ユニットは、トラックの第2の疑似係数から導出される第2の導出スペクトル位置とトラックの第1の疑似係数から導出される第1の導出スペクトル位置との間の周波数差が、所定の値の半分に等しいときに、ストレージユニットに、周波数掃引パターンのうちの第1の周波数掃引パターンを要求するように構成することができる。さらに、置換ユニットは、トラックの第2の疑似係数から導出される第2の導出スペクトル位置とトラックの第1の疑似係数から導出される第1の導出スペクトル位置との間の周波数差が、所定の値に等しいときに、ストレージユニットに、周波数掃引パターンのうちの第1の周波数掃引パターンとは異なる第2の周波数掃引パターンを要求するように構成することができる。さらに、置換ユニットは、トラックの第2の疑似係数から導出される第2の導出スペクトル位置とトラックの第1の疑似係数から導出される第1の導出スペクトル位置との間の周波数差が、所定の値の1.5倍に等しいときに、ストレージユニットに、周波数掃引パターンのうちの第1の周波数掃引パターンとも第2の周波数掃引パターンとも異なる第3の周波数掃引パターンを要求するように構成することができる。
【0033】
一実施形態によれば、置換ユニットは、決定されたスペクトルパターンを得るために、ストレージユニットから提供される、要求されたスペクトルパターンを修正するように構成されているパターン適合ユニットを備えている。
【0034】
一実施形態において、パターン適合ユニットは、決定されたスペクトルパターンを得るために、1つ以上の疑似係数のうちの1つの疑似係数のスペクトル値に応じて、要求されたスペクトルパターンのパターン係数のスペクトル値を再スケーリングすることによって、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができる。
【0035】
一実施形態によれば、パターン適合ユニットは、開始位相に応じて、開始位相が第1の開始位相値を有するときは要求されたスペクトルパターンのパターン係数の各々のスペクトル値が第1の様式で修正されるように、および、開始位相が異なる第2の開始位相値を有するときは要求されたスペクトルパターンのパターン係数の各々のスペクトル値が第2の様式で修正されるように、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができる。
【0036】
一実施形態によれば、要求されたスペクトルパターンのパターン係数の各々のスペクトル値は実数部と虚数部とを含む複素係数とすることができる。そのような実施形態において、パターン適合ユニットは、複素回転係数e
j・φを適用することによって、ストレージユニットによって提供される要求されたスペクトルパターンのパターン係数の各々の実数部および虚数部を修正することによって、要求されたスペクトルパターンを修正するように構成することができる。φは角度(たとえば、角度値)である。これによって、複素係数の各々について、複素平面内でその複素係数を表すベクトルが、複素係数の各々について同じ角度だけ回転される。
【0037】
一実施形態において、要求されたスペクトルパターンのパターン係数の各々のスペクトル値は実数部と虚数部とを含む。パターン適合ユニットは、要求されたスペクトルパターンのパターン係数の各々の実数部および虚数部をネゲート(negate)することによって、または、要求されたスペクトルパターンのパターン係数の各々のスペクトル値の実数部もしくはネゲートされた実数部および虚数部もしくはネゲートされた虚数部をスワップ(swap)することによって、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができる。
【0038】
一実施形態において、パターン適合ユニットは、パターンの時間的ミラーリング(mirroring)を実現することによって、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができる。一般に、これは、パターンの複素共役を(虚数部に−1を乗算することによって)計算し、複素位相項(ひねり(twiddle))を適用することによって、周波数領域において得ることができる。
【0039】
一実施形態において、復号オーディオ信号スペクトルはMDCT領域において表される。パターン適合ユニットは、修正スペクトルパターンを得るために、要求されたスペクトルパターンのパターン係数のスペクトル値を修正することによって、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができ、その場合、スペクトル値は奇積層離散フーリエ変換領域(Oddly-Stacked Discrete Fourier Transform domain)において表される。さらに、パターン適合ユニットは、決定されたスペクトルパターンを得るために、修正スペクトルパターンのパターン係数のスペクトル値を、奇積層離散フーリエ変換領域からMDCT領域へと変換するように構成することができる。その上、置換ユニットは、MDCT領域において表される修正オーディオ信号スペクトルを得るために、少なくとも1つまたは複数の疑似係数を、MDCT領域において表される決定されたスペクトルパターンで置換するように構成することができる。
【0040】
または、複数の実施形態において、スペクトル値は複素修正離散コサイン変換(CMDCT:Complex Modified Discrete Cosine Transform)領域において表すこともできる。さらに、これらの実施形態において、パターン適合ユニットは、決定されたスペクトルパターンを得るために、複素修正パターンの実数部を単純に抽出することによって、修正スペクトルパターンのパターン係数のスペクトル値をCMDCT領域からMDCT領域へと変換するように構成することができる。
【0041】
さらに、複数のスペクトルパターンを生成するための装置が提供される。この装置は、第1の領域において複数の信号を生成するための信号生成器を備えている。さらに、この装置は、複数のスペクトルパターンを得るために、それらの複数の信号の各信号を第1の領域から第2の領域へと変換するための信号変換ユニットを備えており、それらの複数の変換されたスペクトルパターンの各パターンは複数の係数を含む。さらに、この装置は、複数の処理されたパターンを得るために、それらの変換されたスペクトルパターンの係数のうちの1つ以上を除去することによって、それらの変換されたスペクトルパターンを切り詰める(truncate)ための後処理ユニットを備えている。さらに、この装置は、データベースまたはメモリを含むストレージユニットを備え、そのストレージユニットはそれらの複数の処理されたパターンの各処理されたパターンをデータベースまたはメモリに記憶するように構成されている。信号生成器は、以下の式に基づいてそれらの複数の信号の各信号を生成するように構成されている。
x(t) = cos (2πφ(t))
および
式中、tおよびτは時間を示し、φ(t)はtにおける瞬時位相であり、f(τ)はτにおける瞬時周波数であり、それらの複数の信号の各信号は第1の時点におけるその信号の瞬時周波数である開始周波数(f
0)、および、異なる第2の時点におけるその信号の瞬時周波数である目標周波数(f
1)を有する。信号生成器は、それらの複数の信号のうちの第1の信号を、第1の信号の目標周波数が開始周波数と等しくなるように生成するように構成されている。さらに、信号生成器は、それらの複数の信号のうちの異なる第2の信号を、第1の信号の目標周波数が開始周波数とは異なるように生成するように構成されている。
【0042】
一実施形態によれば、信号変換ユニットは、それらの複数の信号の各信号を、時間領域である第1の領域からスペクトル領域である第2の領域へと変換するように構成することができる。信号変換ユニットは、その信号を変換するための複数のタイムブロックのうちの第1のタイムブロックを生成するように構成することができ、それらの複数のタイムブロックの各タイムブロックは複数の重み付きサンプルを含み、それらの重み付きサンプルの各々は複数の重みのうちの1つの重みによって重み付けされているその信号の信号サンプルであり、それらの複数の重みはそのタイムブロックに割り当てられ、それらの複数の重みの各重みは時点に割り当てられる。それらの複数の信号の各信号の開始周波数(f
0)は第1の時点におけるその信号の瞬時周波数とすることができ、それらのタイムブロックのうちの第1のタイムブロックのそれらの重みのうちの第1の重みが第1の時点に割り当てられ、それらのタイムブロックのうちの異なる第2のタイムブロックのそれらの重みのうちの第2の重みが第1の時点に割り当てられ、それらのタイムブロックのうちの第1のタイムブロックとそれらのタイムブロックのうちの第2のタイムブロックは重なり、それらの重みのうちの第1の重みはそれらの重みのうちの第2の重みに等しい。それらの複数の信号の各信号の目標周波数(f
1)は第2の時点におけるその信号の瞬時周波数とすることができ、それらのタイムブロックのうちの第1のタイムブロックのそれらの重みのうちの第3の重みが第2の時点に割り当てられ、それらのタイムブロックのうちの異なる第3のタイムブロックのそれらの重みのうちの第4の重みが第2の時点に割り当てられ、それらのタイムブロックのうちの第1のタイムブロックとそれらのタイムブロックのうちの第3のタイムブロックは重なり、それらの重みのうちの第3の重みはそれらの重みのうちの第4の重みに等しい。
【0043】
注目すべきは、たとえば、パターンの生成には1つのタイムブロック(たとえば、それらのタイムブロックのうちの第1のタイムブロック)のみを生成すれば十分であり得るということである。
【0044】
一実施形態によれば、それらの複数の信号の各信号は、第1の時点におけるその信号の位相である開始位相(φ
0)、および、異なる第2の時点におけるその信号の位相である目標位相(φ
1)を有し、信号生成器は、それらの複数の信号のうちの第1の信号の開始位相(φ
0)がそれらの複数の信号のうちの異なる第2の信号の開始位相(φ
0)に等しくなるように、それらの複数の信号を生成するように構成されている。
【0045】
それらの複数の信号の各信号の開始位相(開始周波数および停止周波数の選択によって、事実上は開始位相および目標(停止)位相)はその開始時点と停止時点において調整することができる。
【0046】
開始および停止時点のこの特別な選択によって、異なるスペクトル特性を有するパターンが連結される場合に発生する場合がある重畳加算アーティファクトが低減される。
【0047】
一実施形態において、後処理ユニットは、複数の回転されたスペクトルパターンを得るために、それらの変換されたスペクトルパターンの各スペクトルパターンのスペクトル係数に対してπ/4の回転を行うようにさらに構成することができる。
【0048】
別の実施形態において、後処理ユニットは、複数の任意に回転されたスペクトルパターンを得るために、それらの変換されたスペクトルパターンの各々のスペクトル係数に任意の位相角の回転を行うようにさらに構成することができる。
【0049】
さらなる実施形態によれば、信号生成器は、それらの複数の信号として、第1の信号、第2の信号、および1つ以上のさらなる信号を、それらのさらなる信号の各々の目標周波数と開始周波数との各差が第2の信号の目標周波数と開始周波数との差の整数倍になるように、生成するように構成することができる。
【0050】
さらに、符号化オーディオ信号スペクトルに基づいてオーディオ出力信号を生成するための方法が提供される。この方法は、
複数のスペクトル係数を含む復号オーディオ信号スペクトルを得るために符号化オーディオ信号スペクトルを処理するステップであって、それらのスペクトル係数の各々は符号化オーディオ信号スペクトル内のスペクトル位置およびスペクトル値を有し、それらのスペクトル係数がスペクトル係数のシーケンスを形成するように、それらのスペクトル係数は符号化オーディオ信号スペクトル内でのそれらのスペクトル位置に従って連続して順序付けられている、処理するステップと、
復号オーディオ信号スペクトルの1つ以上の疑似係数を決定するステップであって、それらの疑似係数の各々はそれらのスペクトル係数のうちの1つである、決定するステップと、
修正オーディオ信号スペクトルを得るために少なくとも1つまたは複数の疑似係数を決定されたスペクトルパターンで置換するステップであって、決定されたスペクトルパターンは少なくとも2つのパターン係数を含み、それらの少なくとも2つのパターン係数の各々はスペクトル値を有する、置換するステップと、
オーディオ出力信号を得るために修正オーディオ信号スペクトルを時間領域に変換するステップと、
を含む。
【0051】
さらに、複数のスペクトルパターンを生成するための方法が提供される。この方法は、
第1の領域において複数の信号を生成するステップと、
複数のスペクトルパターンを得るために、それらの複数の信号の各信号を第1の領域から第2の領域へと変換するステップであって、それらの複数の変換されたスペクトルパターンの各パターンは複数の係数を含んでいる、変換するステップと、
複数の処理されたパターンを得るために、それらの変換されたスペクトルパターンの係数のうちの1つ以上を除去することによって、それらの変換されたスペクトルパターンを切り詰めるステップと、
それらの複数の処理されたパターンの各処理されたパターンをデータベースまたはメモリに記憶するステップと、
を含む。
【0052】
それらの複数の信号の各信号を生成するステップは以下の式
x(t) = cos (2πφ(t))
および
に基づいて行われる。式中、tおよびτは時間を示し、φ(t)はtにおける瞬時位相であり、f(τ)はτにおける瞬時周波数であり、それらの複数の信号の各信号は、第1の時点におけるその信号の瞬時周波数である開始周波数(f
0)と異なる第2の時点におけるその信号の瞬時周波数である目標周波数(f
1)を有する。
【0053】
それらの複数の信号を生成するステップは、第1の信号の目標周波数(f
1)が開始周波数(f
0)と等しくなるように、それらの複数の信号のうちの第1の信号を生成することによって行われる。さらに、それらの複数の信号を生成するステップは、第1の信号の目標周波数(f
1)が開始周波数(f
0)と異なるように、それらの複数の信号のうちの異なる第2の信号を生成することによって行われる。
【0054】
さらに、コンピュータまたは信号プロセッサ上で実行されるとき、上述した方法を実施するためのコンピュータプログラムが提供される。
【0055】
AACまたはUSACのような現代のコーデックはオーディオのMDCT領域表現に基づいているので、実施形態は、音パターンを復号器におけるMDCTスペクトルにパッチすることによって合成音を生成するための概念を提供する。スイープを含む高品質の正弦波音をシームレスに合成するために、適切なスペクトルパターンを導出してMDCT時間/周波数(t/f)格子の中の(および間の)それらの目標位置に適合させ得る方法が説明されている。
【0056】
先進的音響コード化(AAC)または音声音響統合コード化(USAC)のような現代のコーデックは、オーディオの修正離散コサイン変換(MDCT)領域表現に基づいている。実施形態は、音パターンを復号器におけるMDCTスペクトルに直接パッチすることによって合成音を生成する。これだけで、超低複雑度の実施態様を実現することができる。
【0057】
実施形態において、スイープを含む高品質の正弦波音を合成するために、適切なスペクトルパターンが導出されてMDCT t/f格子の中の(および間の)それらの目標位置に適合される。
【0058】
実施形態によれば、低遅延および低ビットレートのオーディオコード化が提供される。いくつかの実施形態は、トーンフィリング(TF)と称される新しく、かつ独創的な概念に基づいている。トーンフィリングという用語は、そうでなければ不良にコード化されてしまう自然音が、知覚的に同様でなお純正弦音に置換されるコード化技法を示す。それによって、最も近いMDCTビンのスペクトル位置に対するシヌソイドの位置に応じた一定のレートにおける振幅変調アーティファクト(「震音」として知られる。)が回避される。
【0059】
実施形態において、すべての考えられるアーティファクトの不快性の度合いが重み付けされる。これは、知覚的態様とアーティファクトの定常性に関係する。知覚的態様は、たとえばピッチ、調和性、変調などである。すべての態様が音声知覚不快性モデル(SPAM:Sound Perception Annoyance Model)において評価される。そのようなモデルによって操作されて、トーンフィリングは大きな利点をもたらす。自然音を純正弦音で置換することによって導入されるピッチと変調の誤差は、自然音の量子化が粗いことによって引き起こされる負荷雑音と定常性不良(「震音」)の影響に対して重み付けされる。
【0060】
トーンフィリングは、シヌソイド+雑音コーデックに対する大きな差をもたらす。たとえば、TFは、シヌソイドを減算する代わりに、音を、所定の勾配を有する線形正弦スイープとシヌソイドで置換する。知覚的に同様の音は、置換されることになる元の音声成分と同じ局所重心(COG:Center Of Gravity)を有する。実施形態によれば、元の音がオーディオスペクトルにおいて消去される(COG関数の左足から右足)。一般に、置換に使用されるシヌソイドの周波数分解能は可能な限り粗い。これは、調和しない感覚を回避するための知覚的要件を考慮に入れながらも、サイド情報を最小限に抑えるためである。
【0061】
いくつかの実施形態において、トーンフィリングは、その知覚的要件に起因する低域遮断周波数よりも上で行うことができるが、その低域遮断周波数未満では行われない。トーンフィリングを行うとき、音は変換コーダ内でスペクトル疑似ラインによって表される。しかしながら、トーンフィリング搭載符号化器において、疑似ラインは、従来の心理音響モデルによって制御される通常の処理を受ける。それゆえ、トーンフィリングを行うとき、パラメトリック部分を事前に制約する必要はない(ビットレートxにおいて、y個の音の成分が置換される)。そのため、変換コーデックへの密な統合が達成される。
【0062】
トーンフィリング機能は、局所COG(平滑化推定値、ピーク品質尺度)を検出し、音の成分を除去し、置換疑似ライン(たとえば、疑似係数)を生成することによって、符号化器において利用することができる。置換疑似ラインは、その振幅によってレベル情報を保持し、そのスペクトル位置によって周波数情報を保持し、その符号によって精細な周波数情報(半ビンオフセット)を保持する。疑似係数(疑似ライン)は、ちょうど任意の通常のスペクトル係数(スペクトルライン)のように、コーデックの後続の量子化ユニットによって取り扱われる。
【0063】
トーンフィリングは、さらに、分離されたスペクトルラインを検出することによって復号器において利用することができ、真の疑似係数(疑似ライン)はフラグアレイ(たとえば、ビットフィールド)によってマーキングすることができる。その復号器は、正弦波トラックを構築するために、疑似ライン情報をリンクすることができる。連続したトラックを合成するために生成/存続/消滅方式を利用することができる。
【0064】
復号のために、疑似係数(疑似ライン)は、サイド情報内で送信されるフラグアレイによってそのようなものとしてマーキングすることができる。疑似ラインの半ビン周波数分解能は、疑似係数(疑似ライン)の符号によって信号として送ることができる。その復号器において、疑似ラインは、逆変換ユニットの前にスペクトルから消去することができ、発振器バンクによって別個に合成することができる。経時的に、発振器の対をリンクすることができ、発信器出力の円滑な展開を保証するためにパラメータ補間を利用することができる。
【0065】
パラメータ駆動発振器のオンとオフの設定は、それらが変換コーデックの窓操作の時間的特性に密接に対応し、したがって、出力信号の変換コーデック生成部分と発振器生成部分との間のシームレスな遷移が保証されるように、成形することができる。
【0066】
提供される概念は、AAC、TCXまたは同様の構成のような既存の変換コード化方式に良好かつ容易に統合される。パラメータ量子化精度の操作は、コーデックの既存のレート制御によって事実上実施することができる。
【0067】
いくつかの実施形態において、疑似ライン(疑似係数)は、コーデックに存在する量子化器によって、正弦波パラメータを別個に信号として伝えるのとは対照的に、ちょうど任意の通常スペクトルラインのように取り扱うことができる。
【0068】
いくつかの実施形態において、先行するスペクトルの外挿から得られる正弦波トラックの任意選択的に測定される開始位相を利用することができる。
【0069】
いくつかの実施形態によれば、正弦波トラックのオン/オフ設定におけるエイリアスをモデル化することによって、任意選択の時間領域エイリアス除去(TDAC:Time Domain Alias Cancellation)技法を利用することができる。
【0070】
以下において、本発明の実施形態を図面を参照してより詳細に説明する。
【発明を実施するための形態】
【0072】
図7は一実施形態によるオーディオ信号入力スペクトルを符号化するための装置を示す。この符号化するための装置は、極値決定器410、スペクトル修正器420、処理ユニット430、およびサイド情報生成器440を備えている。
【0073】
図7の装置をより詳細に考察する前に、
図7の装置によって符号化されるオーディオ信号入力スペクトルをより詳細に考察する。
【0074】
原則として、いかなる種類のオーディオ信号スペクトルも、
図7の装置によって符号化することができる。オーディオ信号入力スペクトルは、たとえば、MDCT(修正離散コサイン変換)スペクトル、DFT(離散フーリエ変換:Discrete Fourier Transform)振幅スペクトルまたはMDST(修正離散サイン変換:Modified Discrete Sine Transform)スペクトルとすることができる。
【0075】
図8はオーディオ信号入力スペクトル510の一例を示す。
図8において、オーディオ信号入力スペクトル510はMDCTスペクトルである。
【0076】
オーディオ信号入力スペクトルは複数のスペクトル係数を含む。スペクトル係数の各々はオーディオ信号入力スペクトル内のスペクトル位置とスペクトル値を有する。
【0077】
図8の例を考えると、オーディオ信号入力スペクトルはオーディオ信号のMDCT変換からもたらされ、たとえば、オーディオ信号入力スペクトルを得るためにオーディオ信号を変換したフィルタバンクは、たとえば、1024個のチャネルを使用することができる。その結果、スペクトル係数の各々は1024個のチャネルのうちの1つと関連付けられ、チャネル番号(たとえば、0〜1023間の番号)はそれらのスペクトル係数のスペクトル位置と考えることができる。
図8において、横座標511はスペクトル係数のスペクトル位置を指す。より良好に図解するために、52〜148の間のスペクトル位置を有する係数のみが
図8によって図示されている。
【0078】
図8において、縦座標512はスペクトル係数のスペクトル値を決定するのに役立つ。MDCTスペクトル、ここでは、オーディオ信号入力スペクトルのスペクトル係数のスペクトル値を示す
図8の例において、横座標512はスペクトル係数のスペクトル値を指す。MDCTオーディオ信号入力スペクトルのスペクトル係数はスペクトル値として正の実数も負の実数ももつことができることに留意すべきである。
【0079】
それに対し、他のオーディオ信号入力スペクトルには、正またはゼロのスペクトル値を有するスペクトル係数のみをもつものがある。たとえば、オーディオ信号入力スペクトルがDFT振幅スペクトルである場合、そのスペクトル係数は離散フーリエ変換からもたらされる係数の大きさを表すスペクトル値をもち、それらのスペクトル値は正またはゼロだけしかとることができない。
【0080】
さらなる実施形態において、オーディオ信号入力スペクトルは、複素数であるスペクトル値を有するスペクトル係数を含む。たとえば、振幅および位相情報を示すDFTスペクトルは、複素数のスペクトル値を有するスペクトル係数を含むことができる。
【0081】
図8に例示的に示すように、スペクトル係数は、スペクトル係数がスペクトル係数のシーケンスを形成するように、オーディオ信号入力スペクトル内のそれらのスペクトル位置に従って連続的に順序付けされている。各スペクトル係数は1つ以上の先行係数のうちの少なくとも1つと1つ以上の後続係数を有し、そのスペクトル係数の各先行係数は、シーケンス内でそのスペクトル係数に先行するスペクトル係数のうちの1つである。そのスペクトル係数の各後続係数は、シーケンス内でそのスペクトル係数に後続するスペクトル係数のうちの1つである。たとえば、
図8において、スペクトル位置81、82または83(以下続く)を有するスペクトル係数はスペクトル位置80を有するスペクトル係数の後続係数である。スペクトル位置79、78または77(以下続く)を有するスペクトル係数はスペクトル位置80を有するスペクトル係数の先行係数である。MDCTスペクトルの例について、スペクトル係数のスペクトル位置は、スペクトル係数が関係するMDCT変換のチャネルであることができる(たとえばチャネル番号、たとえば0〜1023の間のチャネル番号)。ただし、ここでも、例示を目的として、
図8のMDCTスペクトル510は、52〜148のスペクトル位置を有するスペクトル係数のみを示している。
【0082】
図7に戻って、ここで極値決定器410をより詳細に説明する。極値決定器410は1つ以上の極値係数を決定するように構成されている。
【0083】
一般に、極値決定器410は、複数個のオーディオ信号入力スペクトル又は1個のオーディオ信号入力スペクトルに関係するスペクトルを極値係数について調べる。極値係数を決定する目的は、後に、1つ以上の局所音領域がオーディオ信号スペクトルにおいて疑似係数で置換、たとえば各音領域について単一の疑似係数で置換、されるからである。
【0084】
一般に、オーディオ信号入力スペクトルが関係する、オーディオ信号のパワースペクトルにおける「尖頂のある領域」(peaky area)が、音領域を示す。それゆえ、オーディオ信号入力スペクトルが関係するオーディオ信号のパワースペクトルにおける「尖頂のある領域」を識別することが好ましい場合がある。極値決定器410は、たとえば、パワースペクトルを調べることができる。パワースペクトルは係数を含み、それらの係数は比較係数と称することができる(それらのスペクトル値が極値決定器によって比較される対になっているからである。)。このように、オーディオ信号入力スペクトルのスペクトル係数の各々はそれに関連付けられる比較値を有する。
【0085】
図8にはパワースペクトル520が図示されている。パワースペクトル520とMDCTオーディオ信号入力スペクトル510は同じオーディオ信号に関係する。パワースペクトル520は、比較係数と称される係数を含む。各スペクトル係数は、横座標521に関係するスペクトル位置および比較値を有する。オーディオ信号入力スペクトルの各スペクトル係数はそれと関連付けられる比較係数を有し、したがって、それと関連付けられるその比較係数の比較値をさらに有する。たとえば、オーディオ信号入力スペクトルのスペクトル値と関連付けられる比較値は、オーディオ信号入力スペクトルの考察されているスペクトル係数と同じスペクトル位置を有する比較係数の比較値とすることができる。オーディオ信号入力スペクトル510の3つのスペクトル係数とパワースペクトル520の3つの比較係数との関連付け(および、したがってこれらの比較係数の比較値との関連付け)が、それぞれの比較係数(またはそれらの比較値)とオーディオ信号入力スペクトル510のそれぞれのスペクトル係数との関連を示す破線513、514、515によって示されている。
【0086】
極値決定器410は、極値係数の各々がスペクトル係数のうちの1つであって、その比較値がそのスペクトル係数の先行係数のうちの1つの比較値よりも大きく、かつそのスペクトル係数の後続係数のうちの1つの比較値よりも大きいスペクトル係数であるように、1つ以上の極値係数を決定するように構成することができる。
【0087】
たとえば、極値決定器410はパワースペクトルの極大値を決定することができる。言い換えれば、極値決定器410は、極値係数の各々がスペクトル係数のうちの1つであって、その比較値がそのスペクトル係数の直近の先行係数の比較値よりも大きく、かつそのスペクトル係数の直近の後続係数の比較値よりも大きいスペクトル係数であるように、1つ以上の極値係数を決定するように構成することができる。ここで、スペクトル係数の直近の先行係数とは、スペクトル係数のうち、パワースペクトル内でそのスペクトル係数の直前にあるものである。そのスペクトル係数の直近の後続係数とは、スペクトル係数のうちの、パワースペクトル内でそのスペクトル係数の直後にあるものである。
【0088】
しかしながら、他の実施形態は、極値決定器410がすべての極大を決定することを必要としない。たとえば、いくつかの実施形態において、極値決定器は、たとえば、特定の周波数範囲のみに関係するパワースペクトルの特定の部分のみを調べることができる。
【0089】
他の実施形態において、極値決定器410は、考察されている極大の比較値と、後続の極小および/または先行する極小の比較値との間の差が、閾値よりも大きい係数のみを極値係数として決定するように構成されている。
【0090】
極値決定器410は、比較スペクトル上の1つ以上の極値を決定することができ、比較スペクトルの係数の比較値がMDCTスペクトルのMDCT係数の各々に割り当てられている。しかしながら、比較スペクトルは、オーディオ信号入力スペクトルよりも高いスペクトル分解能をもつことができる。たとえば、比較スペクトルは、MDCTオーディオ信号入力スペクトルの2倍のスペクトル分解能を有するDFTスペクトルであることができる。これによって、DFTの1つおきのスペクトル値のみがその後、MDCTスペクトルのスペクトル値に割り当てられる。しかしながら、比較スペクトルの1つ以上の極値が決定されるとき、比較スペクトルの他の係数を考慮に入れることもできる。これによって、比較スペクトルの係数を、オーディオ信号入力スペクトルのスペクトル係数に割り当てられていない極値であるが、直近の先行係数および直近の後続係数を有する極値として決定することができる。それらの直近の先行係数および直近の後続係数は、それぞれそのオーディオ信号入力スペクトルのスペクトル係数およびそのオーディオ信号入力スペクトルのそのスペクトル係数の直近の後続係数に割り当てられている。したがって、比較スペクトルの(たとえば、高分解能DFTスペクトルの)その極値は、(MDCT)オーディオ信号入力スペクトルのそのスペクトル係数と、(MDCT)オーディオ信号入力スペクトルのそのスペクトル係数の直近の後続係数との間に位置する、(MDCT)オーディオ信号入力スペクトル内のスペクトル位置に割り当てられると考えることができる。そのような状況は、後に説明するように、疑似係数の適切な符号値を選択することによって符号化することができる。これによって、サブビン分解能が達成される。
【0091】
ただし、いくつかの実施形態においては、極値係数は、その比較値がその直近の先行係数の比較値およびその直近の後続係数の比較値よりも大きいという要件を満たす必要がない。その代わりに、それらの実施形態においては、極値係数の比較値が、その先行係数のうちの1つおよびその後続係数のうちの1つよりも大きいということで十分であり得る。たとえば、以下のような状況を考察する。
【0093】
表1によって記述される状況において、極値決定器410は、スペクトル位置214にあるスペクトル係数が極値係数であると合理的にみなすことができる。スペクトル係数214の比較値はその直近の先行係数213よりも大きくなく(0.83<0.84)、かつその直近の後続係数215よりも大きくない(0.83<0.85)が、その先行係数のうちのもう1つ、すなわち先行係数212の比較値よりも(大幅に)大きく(0.83>0.02)、かつその後続係数のうちのもう1つ、すなわち後続係数216の比較値よりも(大幅に)大きい(0.83>0.01)。さらに、スペクトル係数が係数212および216の比較値と比較して相対的に大きい比較値を有する3つの係数213、214、215の中央に位置するため、スペクトル係数214がこの「尖頂のある領域」の極値であるとみなすのが合理的であろう。
【0094】
たとえば、極値決定器410は、比較係数のいくつかまたはすべてから、その比較係数の比較値がその比較係数のスペクトル位置に最も近い3つの先行係数の比較値のうちの少なくとも1つよりも大きいか否かを決定するように構成することができる。および/または、極値決定器410は、比較係数のいくつかまたはすべてから、その比較係数の比較値がその比較係数のスペクトル位置に最も近い3つの後続係数の比較値のうちの少なくとも1つよりも大きいか否かを決定するように構成することができる。極値決定器410はその後、その決定の結果に応じてその比較係数を選択すべきか否かを決定することができる。
【0095】
いくつかの実施形態においては、各スペクトル係数の比較値は、オーディオ信号のエネルギー保存変換からもたらされるさらなるスペクトル(比較スペクトル)のさらなる係数の2乗値である。
【0096】
さらなる実施形態においては、各スペクトル係数の比較値は、オーディオ信号のエネルギー保存変換からもたらされるさらなるスペクトルのさらなる係数の振幅値である。
【0097】
一実施形態によれば、さらなるスペクトルは離散フーリエ変換スペクトルであり、その場合、エネルギー保存変換は離散フーリエ変換である。
【0098】
さらなる実施形態によれば、さらなるスペクトルは複素修正離散コサイン変換(CMDCT)スペクトルであり、その場合、エネルギー保存変換はCMDCTである。
【0099】
別の実施形態においては、極値決定器410は、比較スペクトルを調べなくてもよく、その代わりにオーディオ信号入力スペクトル自体を調べればよい。これは、たとえば、オーディオ信号入力スペクトル自体がエネルギー保存変換からもたらされるとき、たとえば、オーディオ信号入力スペクトルが離散フーリエ変換振幅スペクトルであるときに合理的であり得る。
【0100】
たとえば、極値決定器410は、各極値係数が、スペクトル値がその先行係数のうちの1つのスペクトル値よりも大きく、かつその後続係数のうちの1つのスペクトル値よりも大きいスペクトル係数のうちの1つであるように、1つ以上の極値係数を決定するように構成することができる。
【0101】
一実施形態においては、極値決定器410は、各極値係数が、スペクトル値がその直近の先行係数のスペクトル値よりも大きく、かつその直近の後続係数のスペクトル値よりも大きいスペクトル係数のうちの1つであるように、1つ以上の極値係数を決定するように構成することができる。
【0102】
さらに、この装置は、極値係数のうちの少なくとも1つの極値係数の先行係数または後続係数のスペクトル値を所定の値に設定することによって修正オーディオ信号スペクトルを得るために、オーディオ信号入力スペクトルを修正するためのスペクトル修正器420を備えている。スペクトル修正器420は、1つ以上の極値係数のスペクトル値を前記所定の値に設定しないように構成されているか、または、1つ以上の極値係数のうちの少なくとも1つを疑似係数で置換するように構成されているが、その疑似係数のスペクトル値は前記所定の値とは異なる。
【0103】
好ましくは、前記所定の値はゼロとすることができる。たとえば、
図8の修正(置換)オーディオ信号スペクトル530において、多くのスペクトル係数のスペクトル値はスペクトル修正器420によってゼロに設定されている。
【0104】
言い換えれば、修正オーディオ信号スペクトルを得るために、スペクトル修正器420は少なくとも、極値係数のうちの1つの極値係数の先行係数または後続係数のスペクトル値を所定の値に設定することになる。その所定の値は、たとえば、ゼロとすることができる。そのような先行係数または後続係数の比較値はその極値の比較値よりも小さい。
【0105】
さらに、極値係数自体に関して、スペクトル修正器420は以下のように進行することになる。
スペクトル修正器420は、極値係数を前記の所定の値に設定しないか、または
スペクトル修正器420は極値係数のうちの少なくとも1つを疑似係数に置換するが、その疑似係数のスペクトル値は前記の所定の値とは異なる。これは、極値係数のうちの少なくとも1つの極値係数のスペクトル値が所定の値に設定され、スペクトル係数のうちの別の1つのスペクトル係数のスペクトル値がその所定の値とは異なる値に設定されることを意味する。そのような値は、たとえば、その極値係数のスペクトル値、その極値係数の先行係数のうちの1つの先行係数のスペクトル値、もしくはその極値係数の後続係数のうちの1つの後続係数のスペクトル値から導出することができる。または、そのような値は、たとえば、その極値係数の比較値、その極値係数の先行係数のうちの1つの先行係数の比較値、もしくはその極値係数の後続係数のうちの1つの後続係数の比較値から導出することができる。
【0106】
スペクトル修正器420は、たとえば、極値係数のうちの1つを、その極値係数のスペクトル値もしくは比較値から導出されるスペクトル値を有する疑似係数、その極値係数の先行係数のうちの1つの先行係数のスペクトル値もしくは比較値から導出されるスペクトル値を有する疑似係数、またはその極値係数の後続係数のうちの1つの後続係数のスペクトル値もしくは比較値から導出されるスペクトル値を有する疑似係数で置換するように構成することができる。
【0107】
さらに、この装置は、符号化オーディオ信号スペクトルを得るために修正オーディオ信号スペクトルを処理するための処理ユニット430を備えている。
【0108】
たとえば、処理ユニット430は、任意の種類のオーディオ符号化器、たとえば、MP3(MPEG−1オーディオ層IIIまたはMPEG−2オーディオ層III、MPEG=Moving Picture Experts Group)オーディオ符号化器、WMA(Windows Media Audio)のためのオーディオ符号化器、WAVEファイルのためのオーディオ符号化器、MPEG−2/4AAC(先進的音響コード化:Advanced Audio Coding)オーディオ符号化器、またはMPEG−D USAC(音声音響統合コード化:Unified Speed and Audio Coding)コーダとすることができる。
【0109】
処理ユニット430は、たとえば、[非特許文献8](ISO/IEC 14496-3:2005 - Information technology - Coding of audio-visual objects - Part 3: Audio, Subpart 4)に記載されているような、または、[非特許文献9](ISO/IEC 14496-3:2005 - Information technology - Coding of audio-visual objects - Part 3: Audio, Subpart 4)に記載されているようなオーディオ符号化器とすることもできる。たとえば、処理ユニット430は、たとえば、[非特許文献8]に記載されているような量子化器および/もしくは時間的雑音成形ツールを備えてもよく、並びに/または、処理ユニット430は、たとえば、[非特許文献8]に記載されているような知覚的雑音置換ツールを備えてもよい。
【0110】
さらに、この装置は、サイド情報を生成し送信するためのサイド情報生成器440を備えている。サイド情報生成器440は、スペクトル修正器420によって生成された修正オーディオ信号入力スペクトル内に1つ以上の疑似係数候補を位置特定するように構成されている。さらに、サイド情報生成器440は、疑似係数候補のうちの少なくとも1つを選択候補として選択するように構成されている。さらに、サイド情報生成器440は、サイド情報が選択候補を疑似係数として示すような、サイド情報を生成するように構成されている。
【0111】
図7に示す実施形態において、サイド情報生成器440はスペクトル修正器420による疑似係数の位置(たとえば、疑似係数の各々の位置)を受信するように構成されている。さらに、
図7の実施形態において、サイド情報生成器440は疑似係数候補の位置(たとえば、疑似係数候補の各々の位置)を受信するように構成されている。
【0112】
たとえば、いくつかの実施形態において、処理ユニット430は量子化オーディオ信号スペクトルに基づいて疑似係数候補を決定するように構成することができる。一実施形態において、処理ユニット430は修正オーディオ信号スペクトルを量子化することによって量子化オーディオ信号スペクトルを生成しておくことができる。たとえば、処理ユニット430は量子化オーディオ信号スペクトルの少なくとも1つのスペクトル係数を疑似係数候補として決定することができ、その疑似係数候補はスペクトル値が所定の値(たとえば0)である直近の先行係数と、スペクトル値が所定の値である直近の後続係数とを有する。
【0113】
また、他の実施形態において、処理ユニット430が量子化オーディオ信号スペクトルをサイド情報生成器440に渡し、サイド情報生成器440自体が量子化オーディオ信号スペクトルに基づいて疑似係数候補を決定してもよい。他の実施形態によれば、疑似係数候補は、また、修正オーディオ信号スペクトルに基づいて決定される。
【0114】
サイド情報生成器によって生成されるサイド情報は、静的な所定のサイズのものとすることができるか、またはそのサイズは信号適応的に反復して推定することができる。この場合、サイド情報の実際のサイズも復号器に送信される。そのため、一実施形態によれば、サイド情報生成器440はサイド情報のサイズを送信するように構成されている。
【0115】
一実施形態によれば、極値決定器410は、比較係数、たとえば、
図8におけるパワースペクトル520の係数を調べるように構成され、最小係数の各々が、比較値がその先行係数のうちの1つの先行係数の比較値よりも小さくかつその後続係数のうちの1つの後続係数の比較値よりも小さいスペクトル係数のうちの1つであるように、1つ以上の最小係数を決定するように構成されている。そのような実施形態において、スペクトル修正器420は、1つ以上の極値係数の比較値と1つ以上の最小係数の比較値とに基づいて、代表値を所定の値とは異なるように決定するように構成することができる。さらに、スペクトル修正器420は、オーディオ信号入力スペクトルの係数のうちの1つの係数のスペクトル値を、そのスペクトル値を代表値に設定することによって、変更するように構成することができる。
【0116】
特定の実施形態において、極値決定器は、比較係数、たとえば、
図8におけるパワースペクトル520の係数を調べるように構成され、最小係数の各々が、その比較値がその直近の先行係数の比較値よりも小さく、かつその直近の後続係数の比較値よりも小さいスペクトル係数のうちの1つであるように、1つ以上の最小係数を決定するように構成されている。
【0117】
または、極値決定器410は、オーディオ信号入力スペクトル510自体を調べるように構成され、1つ以上の最小係数の各々が、そのスペクトル値がその先行係数のうちの1つのスペクトル値よりも小さく、かつその後続係数のうちの1つのスペクトル値よりも小さいスペクトル係数のうちの1つであるように、1つ以上の最小係数を決定するように構成されている。そのような実施形態において、スペクトル修正器420は、極値係数のうちの1つ以上のスペクトル値と最小係数のうちの1つ以上のスペクトル値に基づいて、代表値をそれが所定の値とは異なるように決定するように構成することができる。さらに、スペクトル修正器420は、オーディオ信号入力スペクトルの係数のうちの1つの係数のスペクトル値を、それを上の代表値に設定することによって変更するように構成することができる。
【0118】
特定の実施形態において、極値決定器410は、オーディオ信号入力スペクトル510自体を調べるように構成され、1つ以上の最小係数の各々が、スペクトル値がその直近の先行係数のスペクトル値よりも小さくかつその直近の後続係数のスペクトル値よりも小さいスペクトル係数のうちの1つであるように、1つ以上の最小係数を決定するように構成されている。
【0119】
両実施形態において、スペクトル修正器420は、代表値を決定するために、極値係数と最小係数のうちの1つ以上、特にそれらの関連付けられる比較値またはそれらのスペクトル値を考慮に入れる。それ故、オーディオ信号入力スペクトルのスペクトル係数のうちの1つのスペクトル係数のスペクトル値が代表値に設定される。そのため、そのスペクトル値が代表値に設定されているスペクトル係数は、たとえば、極値係数自体であってもよく、または、極値係数に置き換わる疑似係数であってもよい。
【0120】
一実施形態において、極値決定器410は、スペクトル値のシーケンスの1つ以上のサブシーケンスを、サブシーケンスの各々がオーディオ信号入力スペクトルの複数の連続するスペクトル係数を含むように決定するように構成することができる。連続するスペクトル係数は、それらのスペクトル位置に従ってサブシーケンス内で連続的に順序付けされる。サブシーケンスの各々は、その連続的に順序付けされたサブシーケンス内で最初にある第1の要素と、その連続的に順序付けされたサブシーケンス内で最後にある最後の要素とを有する。
【0121】
特定の実施形態において、サブシーケンスの各々は、たとえば、最小係数のうちの2つと極値係数のうちの1つとを正確に含むことができる。最小係数の一方はサブシーケンスの最初の要素であり、最小係数の他方はサブシーケンスの最後の要素である。
【0122】
一実施形態において、スペクトル修正器420は、それらのサブシーケンスのうちの1つのサブシーケンスの係数のスペクトル値または比較値に基づいて代表値を決定するように構成することができる。たとえば、極値決定器410が、比較スペクトル、たとえばパワースペクトル520、の比較係数を調べている場合、スペクトル修正器420はそれらのサブシーケンスのうちの1つのサブシーケンスの係数の比較値に基づいて代表値を決定するように構成することができる。一方、極値決定器410がオーディオ信号入力スペクトル510のスペクトル係数を調べている場合、スペクトル修正器420は、それらのサブシーケンスのうちの1つのサブシーケンスの係数のスペクトル値に基づいて代表値を決定するように構成することができる。
【0123】
スペクトル修正器420は、そのサブシーケンスの複数の係数のうちの1つの係数のスペクトル値を、それを代表値に設定することによって変更するように構成されている。
【0124】
表2は、スペクトル位置252〜258に5つのスペクトル係数を有する例を示す。
【0126】
極値決定器410はスペクトル係数255(スペクトル位置255を有するスペクトル係数)が極値係数であると決定することができる。それは、スペクトル係数255の比較値(0.73)がその先行係数254(ここでは直近の先行係数)の比較値(0.48)よりも大きく、その比較値(0.73)がその後続係数256(ここでは直近の後続係数)の比較値(0.45)よりも大きいからである。
【0127】
さらに、極値決定器410はスペクトル係数253が最小係数であると決定することができる。それは、スペクトル係数253の比較値(0.05)がその先行係数252(ここでは直近の先行係数)の比較値(0.12)よりも小さく、その比較値(0.05)がその後続係数254(ここでは直近の後続係数)の比較値(0.48)よりも小さいからである。
【0128】
さらに、極値決定器410はスペクトル係数257が最小係数であると決定することができる。それは、スペクトル係数257の比較値(0.03)がその(ここでは直近の)先行係数256(ここでは直近の先行係数)の比較値(0.45)よりも小さく、その比較値(0.03)がその後続係数258(ここでは直近の後続係数)の比較値(0.18)よりも小さいからである。
【0129】
したがって、極値決定器410は、スペクトル係数255が極値係数であると決定し、スペクトル係数253を極値係数255に最も近い先行する最小係数であると決定し、スペクトル係数257を極値係数255に最も近い後続する最小係数であると決定することによって、スペクトル係数253〜257を含むサブシーケンスを決定することができる。
【0130】
次に、スペクトル修正器420はすべてのスペクトル係数253〜257の比較係数に基づいてサブシーケンス253〜257の代表値を決定することができる。
【0131】
たとえば、スペクトル修正器420は、サブシーケンスのすべてのスペクトル係数の比較値を合計するように構成することができる。(たとえば、表2について、サブシーケンス253〜257の代表値は、このとき、合計0.05+0.48+0.73+0.45+0.03=1.74となる)。
【0132】
または、たとえば、スペクトル修正器420は、サブシーケンスのすべてのスペクトル係数の比較値の2乗を合計するように構成することができる。(たとえば、表2について、サブシーケンス253〜257の代表値は、このとき、合計(0.05)
2+(0.48)
2+(0.73)
2+(0.45)
2+(0.03)
2=0.9692となる)。
【0133】
または、たとえば、スペクトル修正器420は、サブシーケンス253〜257のすべてのスペクトル係数の比較値の2乗の合計の平方根をとるように構成することができる。(たとえば、表2について、代表値はこのとき、0.98448である)。
【0134】
いくつかの実施形態によれば、スペクトル修正器420は、極値係数のスペクトル値(表2ではスペクトル係数253のスペクトル値)を所定の値に設定することになる。
【0135】
しかしながら、他の実施形態は、重心手法を使用する。表3は、スペクトル係数282〜288を含むサブシーケンスを示す。
【0137】
極値係数はスペクトル位置285に位置するが、重心手法によれば、重心は異なるスペクトル位置に位置する。
【0138】
重心のスペクトル位置を決定するために、極値決定器410は、サブシーケンスのすべてのスペクトル係数の重み付けスペクトル位置を合計して、その結果をサブシーケンスのスペクトル係数の比較値の合計で除算する。その後、重心を決定するために、除算の結果に商業的丸めを適用することができる。スペクトル係数の重み付けスペクトル位置は、そのスペクトル位置とその比較値との積である。
【0139】
手短に言えば、極値決定器は、以下によって重心を得ることができる。
1)サブシーケンスの各スペクトル係数について比較値およびスペクトル位置の積を求める。
2)第1の合計を得るために、1)において求められた積を合計する。
3)第2の合計を得るために、サブシーケンスのすべてのスペクトル係数の比較値を合計する。
4)中間結果を生成するために、第1の合計を第2の合計で除算する。
5)重心を得るために、中間結果に最近への丸め(round-to-nearest rounding)を適用する(最近への丸め:8.49は8に丸められ、8.5は9に丸められる)。
【0140】
このように、表3の例について、重心は、以下によって得られる。
(0.04×282+0.10×283+0.20×284+0.93×285+0.92×286+0.90×287+0.05×288)/(0.04+0.10+0.20+0.93+0.92+0.90+0.05)
=897.25/3.14
=285.75
=286。
【0141】
このように、極値決定器410は、表3の例についてはスペクトル位置286を重心として決定するように構成される。
【0142】
いくつかの実施形態において、極値決定器410は、完全な比較スペクトル(例えば、パワースペクトル520)を調べないか、または完全な音声信号入力スペクトルを調べない。代わりに、極値決定器410は、比較スペクトルまたはオーディオ信号入力スペクトルを部分的にのみ調べることができる。
【0143】
図9はそのような例を示す。そこでは、(比較スペクトルとしての)パワースペクトル620は、極値決定器410によって、係数55で開始して調べられている。55より小さいスペクトル位置の係数は調べられていない。それゆえ、55より小さいスペクトル位置にあるスペクトル係数は、置換MDCTスペクトル630において修正されていないままである。それに対し、
図8はすべてのMDCTスペクトルラインがスペクトル修正器420によって修正された置換MDCTスペクトル530を示している。
【0144】
このように、スペクトル修正器420は、オーディオ信号入力スペクトルのうちの少なくともいくつかのスペクトル係数のスペクトル値が修正されていないままにしておくように、オーディオ信号入力スペクトルを修正するように構成することができる。
【0145】
いくつかの実施形態において、スペクトル修正器420は、比較値のうちの1つ、または、極値係数のうちの1つの極値係数のスペクトル値の値の差が閾値より小さいか否かを決定するように構成されている。そのような実施形態において、スペクトル修正器420は、オーディオ信号入力スペクトルのうちの少なくともいくつかのスペクトル係数のスペクトル値が、その値の差が閾値より小さいか否かに応じて、修正オーディオ信号スペクトルにおいて修正されていないままにしておくように、オーディオ信号入力スペクトルを修正するように構成されている。
【0146】
たとえば、一実施形態において、スペクトル修正器420は、極値係数のすべてを修正または置換するのではなく、代わりに、極値係数のいくつかだけを修正または置換するように構成することができる。たとえば、極値係数(たとえば極大)の比較値と後続および/または先行する最小値の比較値との差が閾値より小さいときに、スペクトル修正器はこれらのスペクトル値(および、たとえばそれらの間のスペクトル係数のスペクトル値)を修正せず、代わりにこれらのスペクトル値を修正(置換)MDCTスペクトル630において修正されていないままにするように決定することができる。
図9の修正MDCTスペクトル630において、スペクトル係数100〜112のスペクトル値およびスペクトル係数124〜136のスペクトル値は、未修正(置換)スペクトル630においてスペクトル修正器によって修正されていないままにされている。
【0147】
処理ユニットは、量子化MDCTスペクトル635を得るために、修正(置換)MDCTスペクトル630の係数を量子化するようにさらに構成することができる。
【0148】
一実施形態によれば、スペクトル修正器420は、微調整情報を受信するように構成することができる。オーディオ信号入力スペクトルのスペクトル係数のスペクトル値は各々が符号成分を含む符号付きの値とすることができる。微調整情報が第1の微調整状態にあるとき、スペクトル修正器は、1つ以上の極値係数のうちの1つの極値係数の符号成分または疑似係数の符号成分を第1の符号値に設定するように構成することができる。また、微調整情報が異なる第2の微調整状態にあるとき、スペクトル修正器は、1つ以上の極値係数のうちの1つの極値係数のスペクトル値の符号成分または疑似係数の符号成分を異なる第2の符号値に設定するように構成することができる。
【0149】
たとえば、表4において、スペクトル係数のスペクトル値は、スペクトル係数291が第1の微調整状態にあり、スペクトル係数301が第2の微調整状態にあり、スペクトル係数321が第1の微調整状態にあること等を示している。
【0151】
たとえば、上述した重心決定に戻ると、重心が2つのスペクトル位置間にある(例えば、ほぼ中央にある)場合、スペクトル修正器は、第2の微調整状態が示されるように符号を設定することができる。
【0152】
一実施形態によれば、処理ユニット430は、量子化オーディオ信号スペクトルを得るために修正オーディオ信号スペクトルを量子化するように構成することができる。処理ユニット430は、符号化オーディオ信号スペクトルを得るためにその量子化オーディオ信号スペクトルを処理するようにさらに構成することができる。
【0153】
さらに、処理ユニット430は、その量子化オーディオ信号スペクトルのスペクトル係数のうち、スペクトル値が所定の値に等しい直近の先行係数とスペクトル値が所定の値に等しい直近の後続係数をもつスペクトル係数のみについて、その係数が極値係数のうちの1つであるか否かを示すサイド情報を生成するようにさらに構成することができる。
【0154】
そのような情報は、極値決定器410によって処理ユニット430に提供することができる。
【0155】
たとえば、量子化オーディオ信号スペクトルのスペクトル係数のうちスペクトル値が所定の値に等しい直近の先行係数とスペクトル値が所定の値に等しい直近の後続係数をもつスペクトル係数の各々について、(たとえば、ビット値1によって)その係数が極値係数のうちの1つであるか、または、(たとえば、ビット値0によって)その係数が極値係数のうちの1つでないかを示すそのような情報は、処理ユニット430によってビットフィールドに記憶することができる。一実施形態において、復号器は、オーディオ信号入力スペクトルを復元するためにこの情報を後に使用することができる。ビットフィールドは、固定長または信号に合わせて選択された長さをもつことができる。後者の場合、ビットフィールドの長さは付加情報として復号器に伝達することができる。
【0156】
たとえば、処理ユニット430によって生成されるビットフィールド[000111111]は、(連続して順序付けられている)(量子化)オーディオ信号スペクトルに現れる最初の3つの「独立型(stand-alone)」係数(それらのスペクトル値は所定の値に等しくなく、それらの先行係数のスペクトル値とそれらの後続係数のスペクトル値が所定の値に等しい)が極値係数ではなく、次の6つの「独立型」係数が極値係数であることを示すことができる。このビットフィールドは
図9の量子化MDCTスペクトル635にみられる状況を説明しており、そこでは最初の3つの「独立型」係数5、8、25は極値係数でなく、次の6つの「独立型」係数59、71、83、94、116、141が極値係数である。
【0157】
ここでも、そのスペクトル係数の直近の先行係数は量子化オーディオ信号スペクトル内でそのスペクトル係数の直前にある別のスペクトル係数であり、そのスペクトル係数の直近の後続係数は量子化オーディオ信号スペクトル内でそのスペクトル係数の直後にある別のスペクトル係数である。
【0158】
提案されている概念は、低ビットレートにおける従来のブロックベースの変換コーデックの知覚的品質を強化するものである。オーディオ信号スペクトルの部分的な音領域、すなわち隣接する極小値間にわたり1つの極大値をもつ音領域を、疑似ライン(疑似係数とも称される)によって置換することを提案する。その疑似ラインは、いくつかの実施形態においては置換されるその音領域と同様のエネルギーまたはレベルを有する。
【0159】
低ビットレートにおいて、実施形態は、単一の技術の手に余るビットレートに対して改善された知覚的な品質および改善されたスケーリングを得るために、波形コード化およびパラメトリック符号化を緊密に統合する方法の概念を提供する。
【0160】
いくつかの実施形態では、スペクトルの「尖頂のある領域」(隣接する極小値間にわたり、1つの極大値をもつ領域)は、各々単一のシヌソイドに完全に置換することができる。それに対し、正弦波コーダでは残差から合成シヌソイドを反復的に減算する。適切な「尖頂のある領域」が抽出されて滑らかな、わずかに白色化されたスペクトル表現になり、特定の特徴(ピークの高さ、ピークの形状)に関して選択される。
【0161】
いくつかの実施形態によれば、これらの置換シヌソイドは、コード化されるスペクトル内の疑似ライン(疑似係数)として表わすことができ、(例えば、真の値の現実の突起に対応する通常のMDCTラインとは対照的に)シヌソイドの全振幅またはエネルギーを反映する。
【0162】
いくつかの実施形態によれば、疑似ライン(疑似係数)は、サイド情報フラグアレイによってそのようなものとしてマーキングすることができる。
【0163】
いくつかの実施形態においては、疑似ラインの符号の選択が、半サブバンド周波数分解能を示すことができる。
【0164】
いくつかの実施形態において、周波数分解能が制限されている(例えば半サブバンド)ことに起因して、正弦波置換には低域遮断周波数が妥当であり得る。
【0165】
以下において、符号化オーディオ信号に基づいてオーディオ出力信号を生成するための概念を示す。これらの概念は、MDCT領域におけるシヌソイドおよびスイープの効率的な合成を実現する。
【0166】
図1Aは、一実施形態による、符号化オーディオ信号スペクトルに基づいてオーディ出力信号を生成するための装置を示す。
【0167】
この装置は、複数のスペクトル係数を含む復号オーディオ信号スペクトルを得るために符号化オーディオ信号スペクトルを処理するための処理ユニット115を備え、スペクトル係数の各々は符号化オーディオ信号スペクトル内のスペクトル位置およびスペクトル値を有し、スペクトル係数はスペクトル係数のシーケンスを形成するように符号化オーディオ信号スペクトル内のそれらのスペクトル位置に従って連続して順序付けされる。
【0168】
さらに、この装置は、復号オーディオ信号スペクトルの1つ以上の疑似係数を決定するための疑似係数決定器125を備え、疑似係数の各々はスペクトル係数のうちの1つである(疑似係数の各々はスペクトル係数のうちの1つであるため、疑似係数の各々はスペクトル位置およびスペクトル値を有する)。
【0169】
さらに、この装置は、修正オーディオ信号スペクトルを得るために少なくとも1つまたは複数の疑似係数を決定されたスペクトルパターンで置換するための置換ユニット135を備え、決定されたスペクトルパターンは少なくとも2つのパターン係数を含み、少なくとも2つのパターン係数の各々はスペクトル値を有する。
【0170】
たとえば、いくつかの実施形態において、置換ユニット135は、スペクトルパターンを、ストレージユニットから取得されるスペクトルパターンとして取得することができる。ストレージユニットは、この装置に含まれ、データベースまたはメモリを含む。他の実施形態において、置換ユニット135は遠隔ユニットからスペクトルパターンを取得することもできる。遠隔ユニットはたとえば遠隔データベースであり、たとえばこの装置から遠く離れて位置するものである。さらなる実施形態において、スペクトルパターンは分析的にオンザフライ(on-the-fly)(実行時、必要に応じて)で生成される。取得されたスペクトルパターンは、その後、決定されたスペクトルパターンとして利用することができる。
または、決定されたスペクトルパターンは、たとえば、取得されたスペクトルパターンを修正することによって、取得されたスペクトルパターンから導出することができる。
【0171】
さらに、この装置は、オーディオ出力信号を得るために修正オーディオ信号スペクトルを時間領域に変換するためのスペクトル−時間変換ユニット145を備えている。
【0172】
図1Bは、別の実施形態による、符号化オーディオ信号スペクトルに基づいてオーディ出力信号を生成するための装置を示す。
図1Bの装置は、それ自体がデータベースまたはメモリを含むストレージユニット155をさらに備えているという点で、
図1Aの実施形態の装置と異なる。
【0173】
特に、
図1Bの実施形態の装置は、複数の記憶されているスペクトルパターンをその中に記憶しているデータベースまたはメモリを含むストレージユニット155をさらに備えている。記憶されているスペクトルパターンの各々は、スペクトル特性(たとえば、一定周波数、掃引周波数、各々ビン上またはビン間位置のバージョン、など)を有する。置換ユニット135は、記憶されているスペクトルパターンの1つを、要求されたスペクトルパターンとしてストレージユニット155に要求するように構成されている。ストレージユニット155は、その要求されたスペクトルパターンを提供するように構成されている。さらに、置換ユニット135は、要求されたスペクトルパターンに基づいて少なくとも1つまたは複数の疑似係数を決定されたスペクトルパターンで置換するように構成されている。
【0174】
好ましい実施形態において、記憶されているスペクトルパターンは、特定の周波数ごとに記憶されてはいない。そうすることは膨大な量のメモリを必要とする。したがって、各パターン(たとえば、一定のビン上パターン、一定のビン間パターンおよび様々なスイープに対するいくつかのパターン)は一度しか記憶されない。この一般的なパターンはその後、たとえば、データベースから要求され、目標周波数、たとえば、目標周波数8200Hzに適合され、必要とされる位相(たとえば、0rad)に適合され、その後、目標スペクトル位置にパッチされる。
【0175】
一実施形態において、置換ユニット135は、疑似係数決定器125によって決定される1つ以上の疑似係数のうちの少なくとも1つから導出される第1の導出スペクトル位置に応じてストレージユニット155に、記憶されているスペクトルパターンの1つを要求するように構成されている。たとえば、その要求はパターンの性質(一定、スイープなど)に応じて決まり、そのパターン適合は、正弦波トラック内のスペクトル位置と先行係数に応じて、または正弦波トラックの信号に適応して決定される開始位相に応じて決まる。
【0176】
一実施形態において、1つ以上の疑似係数のうちの少なくとも1つから導出される第1の導出スペクトル位置は、それらの疑似係数のうちの1つの疑似係数のスペクトル位置とすることができる。
【0177】
別の実施形態において、1つ以上の疑似係数は各々が符号成分を含む符号付きの値であり、置換ユニット135は、1つ以上の疑似係数のうちの1つの疑似係数のスペクトル位置とその疑似係数の符号成分に基づいて、符号成分が第1の符号値を有するときに第1の導出スペクトル位置がその疑似係数のスペクトル位置に等しくなるように、および符号値が異なる第2の値を有するときに、第1の導出スペクトル位置が、その疑似係数のスペクトル位置を所定の値だけシフトすることによってもたらされる修正位置に等しくなるように、第1の導出スペクトル位置を決定するように構成されている。
【0178】
たとえば、疑似ラインの半ビン周波数分解能は、その疑似係数の符号によって示すことができる。そのため、疑似係数の符号成分が第2の符号値を有する場合に、たとえば、時間―周波数領域を考えると、その疑似係数のスペクトル位置がシフトされる所定の値は、2つの連続するビンの周波数差の半分に対応させることができる。
【0179】
特定の実施形態において、疑似係数125決定器は、復号オーディオ信号スペクトルの2つ以上の時間的に連続する疑似係数を決定するように構成されている。置換ユニット135は、第1の疑似係数から導出される第1の導出スペクトル位置と、第2の疑似係数から導出される第2の導出スペクトル位置との間の絶対差が閾値よりも小さいか否かに応じて、2つ以上の時間的に連続する疑似係数のうちの第1の疑似係数および第2の疑似係数をトラックに割り当てるように構成されている。ストレージユニットのデータベースまたはメモリ内に記憶されている複数の記憶されているスペクトルパターンは、定常音パターンまたは周波数掃引パターンのいずれかとすることができる。そのため、置換ユニット135は、トラックの第1の疑似係数から導出される第1の導出スペクトル位置がトラックの第2の疑似係数から導出される第2の導出スペクトル位置に等しいときに、ストレージユニット155に、定常音パターンの1つを要求するように構成することができる。さらに、置換ユニット135は、トラックの第1の疑似係数から導出される第1の導出スペクトル位置がトラックの第2の疑似係数から導出される第2の導出スペクトル位置とは異なるときに、ストレージユニット155に周波数掃引パターンの1つを要求するように構成することができる。
【0180】
たとえば、トラックの第1の疑似係数から導出される第1の導出スペクトル位置は、第1の疑似係数のスペクトル位置とすることができる。たとえば、トラックの第2の疑似係数から導出される第2の導出スペクトル位置は、第2の疑似係数のスペクトル位置とすることができる。
【0181】
たとえば、疑似係数は、複数の時間−周波数ビンのうちの1つ、または2つの時間−周波数ビンの間の中間周波数位置、たとえば、時間−周波数ビン(n,k)に割り当てることができる。nは時間を示し、kは周波数を示す。疑似係数の時間−周波数ビンの周波数または2つの時間−周波数ビンの間の周波数位置の周波数は、したがって、その疑似係数のスペクトル位置を示すことができる。置換ユニット135は、時間−周波数ビン(n,k)を受信すると、時刻(n−1)において現在の疑似係数の時間−周波数ビンの直前にあり、現在の疑似係数の時間−周波数ビンの周波数に等しいかまたは近い(kに等しいまたは近い)時間−周波数ビンに割り当てられている疑似係数をすでに受信したか否かをチェックする。置換ユニット135は、その後、両方の疑似係数をトラックに割り当てる。
【0182】
たとえば、時間において現在の時間−周波数ビンの直前にある時間−周波数ビンを有する疑似係数は、両方の周波数の絶対周波数差が閾値よりも小さい場合、現在の時間−周波数ビンの周波数に近いと考えることができる。(たとえば、周波数インデックスが周波数であると考えられる場合、絶対差が2よりも小さい場合)。
【0183】
トラックの両方の疑似係数が同じスペクトル位置を有する場合、置換ユニット135は、これを、定常音が存在するという指標であるとみなし、対応する周波数を有する定常音パターンを要求する。
【0184】
一方、トラックのスペクトル係数のスペクトル位置が異なる場合、置換ユニット135は、これを、スイープが存在する指標であるとみなし、ストレージユニット155に周波数掃引パターンを要求する。トラック内の先行する疑似係数の周波数位置によって示される周波数は、このとき、掃引パターンの開始周波数を示すことができ、トラック内の現在の疑似係数の周波数位置によって示される周波数は、このとき、掃引パターンの目標周波数を示すことができる。
【0185】
一実施形態によれば、置換ユニット135は、トラックの第2の疑似係数とトラックの第1の疑似係数との間の周波数差が所定の値の半分に等しいとき、ストレージユニットに周波数掃引パターンのうちの第1の周波数掃引パターンを要求するように構成することができる。
【0186】
さらに、置換ユニット135は、トラックの第2の疑似係数とトラックの第1の疑似係数との間の周波数差が所定の値に等しいとき、ストレージユニットに周波数掃引パターンのうちの、第1の周波数掃引パターンとは異なる、第2の周波数掃引パターンを要求するように構成することができる。
【0187】
さらに、置換ユニット135は、トラックの第2の疑似係数とトラックの第1の疑似係数との間の周波数差が所定の値の1.5倍に等しいとき、ストレージユニットに周波数掃引パターンのうちの、第1の周波数掃引パターンとも第2の周波数掃引パターンとも異なる、第3の周波数掃引パターンを要求するように構成することができる。
【0188】
たとえば、所定の値は、2つの時間的に連続する時間−周波数ビン間の周波数差とすることができる。したがって、そのような実施形態において、開始周波数と目標周波数との間の周波数差が周波数ビン差の1/2倍だけ、周波数ビン差の1.0倍だけ、および、周波数ビン差の3/2倍だけ異なるスイープのパターンが提供される。
【0189】
図1Cは一実施形態による装置を示し、置換ユニット135は、決定されたスペクトルパターンを得るために、ストレージユニット155から提供される要求されたスペクトルパターンを修正するように構成されているパターン適合ユニット138を備えている。
【0190】
一実施形態において、パターン適合ユニット138は、決定されたスペクトルパターンを得るために、1つ以上の疑似係数のうちの1つの疑似係数のスペクトル値に応じて、要求されたスペクトルパターンのパターン係数のスペクトル値を再スケーリングすることによって、ストレージユニット155によって提供される要求されたスペクトルパターンを修正するように構成することができる。スペクトル置換ユニット135は、修正オーディオ信号スペクトルを得るために、その後、少なくとも1つまたは複数の疑似係数を決定されたスペクトルパターンで置換するように構成される。したがって、この実施形態によれば、要求されたスペクトルパターンのパターン係数のスペクトル値のサイズは、疑似係数のスペクトル値に応じて調整することができる。
【0191】
一実施形態によれば、パターン適合ユニット138は、開始位相に応じて、開始位相が第1の開始位相値を有するときは要求されたスペクトルパターンのパターン係数の各々のスペクトル値が第1の様式で修正されるように、および、開始位相が異なる第2の開始位相値を有するときは要求されたスペクトルパターンのパターン係数の各々のスペクトル値が第2の様式で修正されるように、ストレージユニットによって提供される要求されたスペクトルパターンを修正するように構成することができる。トラックのパターンの位相を調整することによって、トラックの1つのパターンから後続するパターンへのシームレスな遷移を達成することができる。
【0192】
一実施形態によれば、要求されたスペクトルパターンのパターン係数の各々のスペクトル値は、実数部と虚数部とを含む複素係数である。パターン適合ユニット138は、複素係数の各々について、複素平面内でその複素係数を表すベクトルが、複素係数の各々について同じ角度だけ回転されるように、ストレージユニット155によって提供される要求されたスペクトルパターンのパターン係数の各々の実数部および虚数部を修正することによって、要求されたスペクトルパターンを修正するように構成することができる。または、記憶されているパターンの位相を、複素回転係数e
j・φを適用することによって回転してもよい。φは任意の位相角である。
【0193】
特定の実施形態において、要求されたスペクトルパターンのパターン係数の各々のスペクトル値は実数部と虚数部とを含む。そのような実施形態において、パターン適合ユニット138は、要求されたスペクトルパターンのパターン係数の各々のスペクトル値の実数部および虚数部をネゲートすることによって、または、要求されたスペクトルパターンのパターン係数の各々のスペクトル値の実数部もしくはネゲートされた実数部および虚数部もしくはネゲートされた虚数部をスワップすることによって、ストレージユニット155によって提供される要求されたスペクトルパターンを修正するように構成することができる。
【0194】
一実施形態において、パターン適合ユニット138は、パターンの時間的ミラーリングを実現することによって、ストレージユニット155によって提供される要求されたスペクトルパターンを修正するように構成することができる。一般に、これは、パターンの複素共役を(虚数部に−1を乗算することによって)計算し、複素位相項(ひねり)を適用することによって、周波数領域において得ることができる。
【0195】
一実施形態において、復号オーディオ信号スペクトルはMDCT領域において表される。そのような実施形態においては、パターン適合ユニット138は、このとき、修正スペクトルパターンを得るために、要求されたスペクトルパターンのパターン係数のスペクトル値を修正することによってストレージユニット155によって提供される要求されたスペクトルパターンを修正するように構成され、その場合、スペクトル値は奇積層離散フーリエ変換領域において表される。さらに、パターン適合ユニット138は、そのような実施形態において、決定されたスペクトルパターンを得るために、修正スペクトルパターンのパターン係数のスペクトル値を、奇積層離散フーリエ変換領域からMDCT領域へと変換するように構成することができる。さらに、置換ユニット135は、そのような実施形態において、MDCT領域において表される修正オーディオ信号スペクトルを得るために、少なくとも1つまたは複数の疑似係数を、MDCT領域において表される決定されたスペクトルパターンで置換するように構成されている。
【0196】
または、複数の実施形態において、スペクトル値は、複素修正離散コサイン変換(CMDCT)領域において表すことができる。さらに、これらの実施形態において、パターン適合ユニット138は、決定されたスペクトルパターンを得るために、複素修正パターンの実数部を単純に抽出することによって、修正スペクトルパターンのパターン係数のスペクトル値をCMDCT領域からMDCT領域へと変換するように構成することができる。
【0197】
図1Dは、一実施形態による、複数のスペクトルパターンを生成するための装置を示す。
【0198】
この装置は、第1の領域において複数の信号を生成するための信号生成器165を備えている。
【0199】
さらに、この装置は、複数のスペクトルパターンを得るために、複数の信号の各信号を第1の領域から第2の領域へと変換するための信号変換ユニット175を備えており、複数の変換されたスペクトルパターンの各パターンは複数の係数を含む。
【0200】
さらに、この装置は、複数の処理されたパターンを得るために、変換されたスペクトルパターンの係数のうちの1つ以上を除去することによって、変換されたスペクトルパターンを切り詰めるための後処理ユニット185を備えている。
【0201】
さらに、この装置は、データベースまたはメモリを含むストレージユニット195を備えており、ストレージユニット195は複数の処理されたパターンの各処理されたパターンをデータベースまたはメモリに記憶するように構成されている。
【0202】
信号生成器165は、以下の式
x(t) = cos (2πφ(t))
および
に基づいて複数の信号の各信号を生成するように構成されている。式中、tおよびτは時間を示し、φ(t)はtにおける瞬時位相であり、f(τ)はτにおける瞬時周波数である。複数の信号の各信号は、第1の時点におけるその信号の瞬時周波数である開始周波数(f
0)と、異なる第2の時点におけるその信号の瞬時周波数である目標周波数(f
1)を有する。
【0203】
信号生成器165は、第1の信号の目標周波数(f
1)が開始周波数(f
0)と等しくなるように、複数の信号のうちの第1の信号を生成するように構成されている。さらに、信号生成器165は、第1の信号の目標周波数(f
1)が開始周波数(f
0)とは異なるように、複数の信号のうちの異なる第2の信号を生成するように構成されている。
【0204】
一実施形態によれば、信号変換ユニット175は、複数の信号の各信号を、時間領域である第1の領域からスペクトル領域である第2の領域へと変換するように構成されている。信号変換ユニット175は、その信号を変換するための複数のタイムブロックのうちの第1のタイムブロックを生成するように構成されており、それらの複数のタイムブロックの各タイムブロックは複数の重み付きサンプルを含み、それらの重み付きサンプルの各々は複数の重みのうちの1つの重みによって重み付けされているその信号の信号サンプルであり、それらの複数の重みはそのタイムブロックに割り当てられ、それらの複数の重みの各重みは時点に割り当てられている。それらの複数の信号の各信号の開始周波数(f
0)は第1の時点におけるその信号の瞬時周波数であり、それらのタイムブロックのうちの第1のタイムブロックのそれらの重みのうちの第1の重みが第1の時点に割り当てられ、それらのタイムブロックのうちの異なる第2のタイムブロックのそれらの重みのうちの第2の重みが第1の時点に割り当てられ、それらのタイムブロックのうちの第1のタイムブロックとそれらのタイムブロックのうちの第2のタイムブロックは重なり、それらの重みのうちの第1の重みはそれらの重みのうちの第2の重みに等しい。それらの複数の信号の各信号の目標周波数(f
1)は第2の時点におけるその信号の瞬時周波数であり、それらのタイムブロックのうちの第1のタイムブロックのそれらの重みのうちの第3の重みが第2の時点に割り当てられ、それらのタイムブロックのうちの異なる第3のタイムブロックのそれらの重みのうちの第4の重みが第2の時点に割り当てられ、それらのタイムブロックのうちの第1のタイムブロックとそれらのタイムブロックのうちの第3のタイムブロックは重なり、それらの重みのうちの第3の重みはそれらの重みのうちの第4の重みに等しい。
【0205】
たとえば、
図6Aは一例を示しており、第1の時点がn
0によって示され、第2の時点がn
1によって示されている。重なり合っているブロックがブロックLとL+1として示されている。それらの重みは、ブロックL内の曲線およびブロックL+1内の曲線によってそれぞれ描写されている。
【0206】
注目すべきは、たとえば、パターンの生成には1つのタイムブロック(たとえば、それらのタイムブロックのうちの第1のタイムブロック)のみを生成すれば十分であるということである。
【0207】
一実施形態によれば、それらの複数の信号の各信号は、第1の時点におけるその信号の位相である開始位相(φ
0)と異なる第2の時点におけるその信号の位相である目標位相(φ
1)を有し、信号生成器(165)は、それらの複数の信号のうちの第1の信号の開始位相(φ
0)がそれらの複数の信号のうちの異なる第2の信号の開始位相(φ
0)に等しくなるように、それらの複数の信号を生成するように構成されている。
【0208】
それらの複数の信号の各信号の開始位相(開始周波数および停止周波数の選択によって、事実上は開始位相および目標(停止)位相)はその開始時点と停止時点において調整される。
【0209】
第1の(開始)時点と第2の(停止)時点のこの特別な選択によって、異なるスペクトル特性を有するパターンが連結される場合に発生することのある重畳加算アーティファクトが低減される。
【0210】
一実施形態において、後処理ユニット185は、複数の回転されたスペクトルパターンを得るために、変換されたスペクトルパターンの各々のスペクトル係数に対してπ/4の回転を行うようにさらに構成することができる。
【0211】
さらなる実施形態によれば、信号生成器165は、それらの複数の信号として、第1の信号、第2の信号および1つ以上のさらなる信号を、それらのさらなる信号の各々の目標周波数と開始周波数との各差が第2の信号の目標周波数と開始周波数との差の整数倍になるように、生成するように構成することができる。
【0212】
たとえば、第2の信号の目標周波数と開始周波数とのその周波数差は、半ビン周波数差、時間−周波数ビンでは例えば2つの連続するビンの周波数差の半分の周波数差、と一致させることができる。さらなる第3の信号の目標周波数と開始周波数とのその周波数差は、1ビン周波数差、時間−周波数ビンでは例えば2つの連続するビンの周波数差と等しい周波数差、と一致させることができる。さらなる第4の信号の目標周波数と開始周波数とのその周波数差は、1.5ビン周波数差、時間−周波数ビンでは例えば2つの連続するビンの周波数差の1.5倍と等しい周波数差、と一致させることができる。
【0213】
したがって、第3の信号の目標周波数と開始周波数との差と、第2の信号の目標周波数と開始周波数との差との比は、2.0(整数値)である。第4の信号の目標周波数と開始周波数との差と、第2の信号の目標周波数と開始周波数との差との比は、3.0(整数値)である。
【0214】
特定の実施形態をより詳細に述べる前に、より良好な説明のために、MDCTの基礎を説明する。
【0215】
実数の信号x(n)のMDCTは、長さNで、時刻lにおいてw(n)の窓をかけられた信号セグメント
について、以下のように定義される。
(m+1/2)の中の+1/2は周波数シフトを表す。(n+1/2+M/2)は時間シフトを表す。
【0217】
MDCTは以下のように定義される複素修正離散コサイン変換(CMDCT)の実数部と考えることができる。
【0218】
さらに、CMDCTは、奇積層離散フーリエ変換(ODFT:Oddly-Stacked Discrete Fourier Transform)または離散フーリエ変換(DFT)と指数関数の前ひねりおよび後ひねり位相項として表現することができる。
【0219】
は、後ひねりによる時間シフトを表す。
【0220】
以下において、MDCT領域における音パターンの抽出とパッチングを説明する。ここで、特定のMDCTの特性に関していくつか説明する。特に、最初に、MDCTのための準備を考察する。
【0221】
指数関数的ないわゆる後ひねり項を含む式(4)から分かるように、CMDCTは、DFTまたはODFTと比較して時間シフトされた基底関数を有する。したがって、パッチ適用の実際のスペクトル位置からパッチされているシヌソイドの絶対位相オフセットφ
0を分離することが所望される場合、このひねりを考慮に入れるべきである。
【0222】
実施形態は、ODFT領域においてパターン抽出とパッチングを行い、MDCT係数と混合する前にそのひねりを適用することによってすべてのパターンの重ね合わせを後処理する。
【0223】
各パッチは、以下の式に従って生成される原型シヌソイドまたはスイープの切り詰め複素ODFTスペクトルを抽出することによって得られる。変動する瞬時周波数(IF)f(t)を有するシヌソイドは以下のように合成することができる。
x(t) = cos (2πφ(t)) (5)
ここで、瞬時位相は以下のようになる。
【0224】
時間離散MDCTと時間連続シヌソイドとの間の関係の記述を単純にするために、以下では正規化サンプリングレートfs=1を仮定する。掃引テンプレートの瞬時周波数(IF)f(τ)は、開始IFおよび目標IFがそれぞれ、長さNの各MDCTタイムブロックの時間領域エイリアス除去(TDAC)対称点t
0=N/4+0.5およびt
1=3N/4+0.5に厳密に達するように選択される。長さM=N/2の時間間隔における周波数範囲Δf=f
1−f
0にわたる周波数f
0からf
1への線形掃引は、以下の瞬時周波数(IF)を有する。
これによって、瞬時位相は以下のようになる。
【0225】
(パターン合成に利用されることになるMDCTと比較して)2倍の分解能の開始周波数および終端周波数を有するシヌソイドを、
および
を選択することによって生成することができ、周波数オフセットmは変換ビンインデックスにおいて測定される。奇数インデックスは「ビン上」周波数に対応し、偶数インデックスは「ビン間」周波数を与える。連続するフレーム間の位相進行は以下のように計算することができる。
【0226】
これは、パターンのシームレスな時間的連結のために、各パッチの位相が、開始周波数インデックスkおよび先行するパターンの周波数オフセットインデックスmに応じてπ/4の整数倍だけ調整されるべきであることを意味する。変数mは掃引速度と考えることもでき、たとえば、m=1は、1つのタイムブロックの継続時間にわたる半ビン掃引を示す。
【0227】
さらに、整数ビンスペクトルシフトの補償を行なうことができる。これらの原型シヌソイドまたはスイープのスペクトル位置は、周期的折り返し誤差を最小限に抑えるためにスペクトルの中央に位置するように選択することが有益である。原型シヌソイドおよびパッチング目標位置のスペクトル距離dに応じて、パッチング目標位置とは無関係に常に所定の固定位相を得るために、dπ/2の後処理回転によってパッチが適合される。言い換えれば、後処理回転が、スペクトルシフトによって本質的に引き起こされる望ましくない位相回転を補償する。
【0228】
次に、効率と精度を考察する。最初に計算効率を考察する。
【0229】
表5は種々の後ひねりを実現するための演算を示す。記憶されるべきパターンの量を妥当に小さいままにし、かつ、最も重要なことには、表5にリストされている演算によってπの特定の単分数だけの回転を達成することができるということを活用することを可能にするために、可能性のある周波数およびスイープは制約されるべきである。
【0231】
以下において、周波数分解能を考察する。これらの制約は、同時に、パラメトリックにコード化された信号部分を知覚的に満足に再現することを可能にするために必要とされる。そのような信号部分は、音パターンの任意の時間シーケンスを含み得るため、自由度が追加されるごとに記憶されるべきパターンの数が倍増するか、またはその代わりにパターンを適合させるための計算コストが倍増する。したがって、意図される目標スペクトル範囲において平均的な聴き手によってデチューニング効果(detuning effect)が知覚されないように、スペクトル分解能を選択することが理にかなっている。
【0232】
訓練された聴き手および音楽家は、5セントまでのデチューニングを知覚することが可能であり、平均的な聴き手は約10セント(半音の10分の1)の偏差を許容し得る。それゆえ、正弦音のスペクトル置換は、許容可能なデチューニングの最悪の場合の筋書きに対応する一定の遮断周波数よりも上でのみ行われるべきである。たとえば、512帯域MDCTにおいて、12.8kHzのサンプリング周波数で、帯域あたりのスペクトル分解能は12.5Hzである。音パターンに対して半帯域分解能を選択すると、最大周波数偏差は3.125Hzになり、これは、約540Hzの遮断周波数より上では10セント以下である。
【0233】
次に、パターンサイズを考察する。実施形態によれば、記憶されるべきパターンは切り詰められる。パターンの実際のサイズは、通常は変換コーダによってすでに決定されている窓タイプ(たとえば、AACのための正弦またはカイザー−ベッセル派生(KBD:Kaiser-Bessel derived)窓)と許容可能な信号雑音比(SNR)に応じて決まる。複素数値パターンが記憶されるが、実際のパッチングは適合して回転されたパターンの実数部のみを使用して行われる。
【0234】
以下において、音パターンを考察する。最初に、定常音パターンを説明する。
【0235】
前述の理由から、スペクトル分解能は、MDCTの公称分解能の2倍に選択されるべきである。結果として、すべてのパターンの2つのバージョン、すなわち、ビン位置と一致する周波数を有するシヌソイドのもの(ビン上パターン)とビン位置間に位置する周波数のもの(ビン間パターン)、を記憶する必要がある。可能なメモリ要件を最小にするために、実際のパターンの係数の半分のみを記憶してパターン対称性を活用することができる。
【0236】
式(9)(m=0に設定)によれば、これらの定常音パターンの任意の時間シーケンスにおいて、ラップ位相(wrapped phase)進行は、ビン上パターンについては△φ=π/2または△φ=−π/2になり、ビン間パターンについては△φ=0または△φ=πになる。これは、MDCTの周波数奇積に起因する。
【0237】
絶対ラップ位相はφ
0+nπ/2によって計算することができ、式中、nは、ビン上パターンについては、
であり、ビン間パターンについては
である。実際の整数の選択はビン数の偶奇性(偶数/奇数)に応じて決まる。φ
0は任意の位相オフセット値を示す。したがって、純粋な定常音パターンについて、それらのパターンを、MDCTスペクトルのシーケンスのt/f格子内のそれらの意図される位置に適合させるために、4つの選択的な回転による後処理が必要とされる。φ
0+nπ/2,
の選択によって、これらの回転はわずかなものになる。
【0238】
次に、周波数掃引パターンを考察する。
【0239】
スペクトル分解能がMDCTの公称分解能の2倍であることに起因して、各掃引パターンの2つのバージョン、すなわち、ビン位置と一致する開始周波数を有するスイープのもの、および、ビン位置間に位置する開始周波数のもの、も記憶する必要がある。さらに、許容可能なスイープは、線形であり、かつ各々下り方向バージョンと上り方向バージョンにおいてタイムブロックあたりMDCTビンの半分、全部および1.5倍をカバーするように定義されるので、結果として記憶されるべきパターンはさらに12パターンになる。可能なメモリ要件を最小にするために、掃引パターンは一方向においてのみ記憶し、反対方向はパターンを時間的にミラーリングすることによって導出することができる。式(9)
によれば、半ビン掃引距離を含むパターンは、φ
0+nπ/4だけの後処理回転を必要とする。
【0240】
以下において、パターンの連結を考察する。この目的のために
図2を参照する。
図2は、MDCTタイムブロックに対する正弦波パターンのパラメータ整合を示す。パターンが時系列において連結される場合、
図2の点n
0における実際のパターンの開始位相が(前述の回転を使用して)選択される必要があり、点n1における目標位相(停止位相)が、後続のパターンとシームレスに連続するために記憶される必要がある。
【0241】
半ビン掃引距離を包含するスイープが、掃引パターンと定常パターンの両方についてφ
0+nπ/4だけの後処理回転によって後処理される。スイープ部分と定常部分は時間シーケンスにおいて任意に連結されることがあるためである。φ
0+nπ/4,
の選択の結果として、パターンの実数部と虚数部の合計/差およびその後の
によるスケーリングによって、回転がやや計算しやすくもなる。または、すべてのパターンは、π/4事前回転バージョンで付加的に記憶することができ、nπ/2,n=1,2,3だけのわずかな後処理回転とともに適用することができる(表5参照)。
【0242】
図3は、例示的なトーンパターンパッチングプロセスを示す。(a〜b)は原型パターン生成を示し、(c)はパターン切り詰めを示し、(d)は目標位置と位相へのパターン適合を示し、(e〜f)はパターンパッチングを示す。
【0243】
特に、
図3のパネル(a)〜(f)において、MDCT特性に関して上述したような、パターン測定からパターン適合およびパッチングまでのプロセス全体が描写されている。最初に、式(5)および(6)に従って正弦またはスイープを生成することによって、パターンが構築される。その後、生成された信号は、複素スペクトル(b)を得るためにODFT周波数領域(a)に変換される。次に、複素パターンがその意図される長さに切り詰めされて(c)、テーブルに記憶される。
【0244】
そのパターンが音信号部分を合成するために必要とされるときはいつでも、そのパターンはパターンの連結に関して上述したようにその目標位相に適合され、さらに、整数ビンスペクトルシフトの補償に関連して上述したように、スペクトルシフトによって引き起こされる位相回転を補償される(d)。さらに、ODFTに対してCMDCTに存在する時間シフトが、上述したように後ひねりを適用することによって実施される。後ひねりを適用することは、パッチされるべきすべてのパターンのスペクトル(e)への寄与を合計した後に、効率的に行うことができる。最後に、実際のパッチングが、適合されたパターンの実数部のみを使用してMDCT領域において行われる。IMDCTが所望の時間領域信号をもたらし、そのスペクトルはパネル(f)に描写されている。
【0245】
図4は一実施形態による正規化スペクトル音パターンを示す図であり、特に、(上パネルから下パネルへ)ビン上の正弦、ビン間の正弦、ビン上のスイープ、ビン間のスイープを示す。より詳細には、
図4は、512帯域MDCTを使用する一般的な低ビットレート変換コーデックの筋書きについての異なる音パターンの選択を、正弦窓を用いて12.8kHzのサンプリング周波数と音パターンに対する半ビン分解能で例示的に描写している。上パネルから下パネルへいくつかの正規化スペクトルODFT音パターンがプロットされてする。すなわち、ビン上の正弦、ビン間の正弦、ビン上のスイープ、およびビン間のスイープである。これらのようないくつかのパターンは、テーブルに記憶される必要がある。
【0246】
すべてのパターンタイプは以下の4つの変形形態において記憶される。
・ビン上およびビン間
・開始位相0および開始位相π/4(パターンの連結に関連して上述したように事前回転されている)
【0247】
掃引パターンはさらに以下の6つの変形形態を有する。
・半ビンスイープ、全ビンスイープおよび1.5ビンスイープ
・上り掃引方向および下り掃引方向
【0248】
記憶されるべきパターンの総数は(1定常+6スイープ)の4倍であり、28個の複素パターンになる。
【0249】
可能なメモリ要件を最小にするために、掃引パターンはあるいは一方向においてのみ記憶することができ、反対方向はパターンの時間的なミラーリングに重複するスペクトル処理によって導出することができる。一般に、これは、周波数領域において、パターンの複素共役を(虚数部に−1を乗算することによって)計算し、実際の領域(ODFT、CMDCTなど)に依存する複素位相項(ひねり)を適用することによって得ることができる。
【0250】
切り詰めスペクトルパターンを合成することによって得ることができる信号品質は、窓タイプと、パターン長の実際の選択に応じて決まる。窓タイプは通常は変換コーデックによってすでに決定されており、パターン長はコーデックの全体的な知覚的品質と利用可能なリソース(メモリ、計算複雑度)に適合させることができる。
【0251】
図5は、切り詰め音パターンの信号対雑音比(SNR)を正弦窓についてのパターン長の関数として示す。特に、
図5は、正弦窓についてのパターン長の関数としての平均SNRを示す。
図3に関連して説明した筋書きにおいて、パターンをたとえば19ビンに切り詰めることによって、約65dBの平均SNRがもたらされる。より低いSNRがたとえば超低ビットレートコーデックにおいて許容可能である場合、すでに5ビンのパターン長で十分であり得る。
【0252】
図6Aは
図2の図解の変形を示す。
図6Aは、実施形態による、重なり合っているブロックについての複数時点における瞬時周波数を示している。
【0253】
図6Bは、
図6Aに示されている図に関し、実施形態によるDCT基底関数とDCT IV基底関数についての位相進行を示す。
【0254】
図6Cは、一実施形態によるパワースペクトル670、置換MDCTスペクトル675、量子化MDCTスペクトル680、およびパターンを有するMDCTスペクトル685を示す。
【0255】
量子化MDCTスペクトル680は、符号化器側で置換MDCTスペクトル675を量子化することによって生成されている。置換MDCTスペクトル675は、符号化器からの上述したオーディオ信号入力スペクトル(図示せず)とパワースペクトル670に基づいて生成されている。
【0256】
量子化MDCTスペクトル680は、復号器側で符号化オーディオ信号スペクトル(図示せず)を処理することによって、その量子化MDCTスペクトル680を復号オーディオ信号スペクトルとして得られる。
【0257】
図6Cから分かるように、復号オーディオ信号スペクトル680中の疑似係数691、692、693、694、695および696は、それぞれスペクトルパターン651、652、653、654、655および656に置換される。
【0258】
上述したものと同じ低ビットレートコーデックの筋書きについて、新たに提案した音パターン合成の計算複雑度を、時間領域における単純な発振器バンクの計算複雑度に対して比較した。13.2kbpsのやや低いビットレートにおいて完全な知覚コーデック設定で単音アイテムをコード化している間、最大20の正弦波トラックがアクティブであると仮定した。コーデックのC実施態様において計算作業負荷を測定した。測定に使用したアイテムは各々、豊かな倍音成分を有する少なくとも1つの主要な楽器(たとえば、ピッチパイプ、ヴァイオリン、ハープシコード、サクソフォンポップ、金管アンサンブル)を含んでいた。平均して、音パターンベースの合成の計算複雑度は、時間領域における発振器バンクを使用した単純な実施態様のわずか10%である。
【0259】
上述した実施形態は、パラメトリックシヌソイドおよび正弦スイープを生成することによって、低ビットレートMDCTベースオーディオコーダを強化するための概念を提供する。提供された概念を適用すると、そのような信号は、後処理位相回転によって適合される音パターンを使用する復号器において非常に効率的に生成することができる。これらの音パターンの実際の分析について、コーダのIMDCTフィルタバンクをともに使用できる。上述したように、スペクトル分解能の最初の選択によって、知覚的に適切な音生成のための低域遮断周波数、ストレージメモリ需要、および、必要とされる後処理の計算複雑度が決まる。例示的な低ビットレートオーディオコーデックの筋書きにおいて、時間領域発振器バンクの実施態様と比較して90%の計算複雑度低減が、65dBのSNRで達成されている。
【0260】
1つのソリューションはフルサンプルレートで時間領域における発振器バンクを利用するが、そのようなソリューションは、連続するパラメータ間の円滑な補間を可能にする。しかしながら、このソリューションは計算的に重い。
【0261】
計算複雑度を低くするには、MDCTトーンフィリング(TF:ToneFilling)スペクトルパターンを利用することが有利である。そこでは、スペクトルは、ブロックサンプルレートにおいてTFパターンでパッチできる。切り詰めスペクトルパターンは、たとえば、テーブル、たとえばデータベースまたはメモリのテーブル内に記憶することができる。
【0262】
実施形態において、50%重なり合っている合成窓による振幅、および適切な勾配を有する掃引パターンの選択による周波数の正弦波トラックの「補間」が提供され、これは計算的に非常に効率的である。
【0263】
実施形態は、エイリアシングを最小限に抑えるための時間領域パターン設計を提供する。その位相と瞬時周波数(IF)は、重なり合っているブロックが等しい重みを有する時点において正確に一致する。
【0264】
図6Aから分かるように、対称点は以下に位置する。
n
0:1/4×b_length+0.5、および
n
1:3/4×b_length+0.5
【0265】
正弦波トラックにシームレスに適合させるために、一実施形態によれば、パターンは整数ビンパターン(「ビン上位置」)、分数ビンパターン(「ビン間位置」)および線形スイープ、すなわち、半スイープ、全スイープおよび1.5ビンスイープから選択される。
【0266】
選択されたパターンは、振幅スケーリングを行うことによって、かつ、位相に関して、パターンソース位置、目標位置、時間的な先行係数の位相の関数としての複素回転(ひねり)を行うことによって、MDCT t/f格子内の意図される位置に適合される。
【0267】
周波数分解能が制限されていることに起因して、特に以下のような、所定の回転の離散的なセットのみが必要とされる。
実数部、虚数部及び符号を転置することによるN×π/2回転
π/4事前回転パターンによって実施されるN×π/4回転
【0268】
MDCT時間シフトを実施するには、ODFT領域におけるパターン/パッチングが必要である。π/2位相粒度、および2つの異なるパターンタイプによって、半ビン分解能が実現される。
【0269】
+π/2または−π/2だけの整数ビンパターン進行位相によって、0またはπだけの分数ビンパターン進行位相によってODFT/DCT−IV周波数シフトが実現され、これは、ビン数の偶奇性(偶数/奇数)に応じて決まる。これは
図6Bによって示されている。
【0270】
実施形態において、すべてのパターンは、これらの代替形態の組合せをカバーする4つの変形形態において記憶される。
整数ビンまたは分数ビン、
φ=0またはφ=π/4(半ビンスイープを取り扱うのに必要とされる事前回転)
【0271】
実施形態において、掃引パターンは、これらの代替形態の組合せをカバーするさらなる6つの変形形態を有する。
半ビンスイープ、全ビンスイープまたは1.5ビンスイープ、および
上りまたは下り
【0272】
この結果として、総数は、4×(1定常+6スイープ)=28複素パターンとなる。実際のパッチは、最終的な(回転された)パターンの実数部である。
【0273】
この提供された概念は、たとえば、USACに、特に変換コード化信号経路において利用することができる。
【0274】
以上を要約すると、MDCTは、震音アーティファクトの発生に起因して低ビットレートにおける音信号のコード化にとって重大である。しかしながら、従来の心理音響モデルは、これを考慮に入れない。したがって、不快性が最小のモデルが必要とされている。パラメトリックコード化ツールが低ビットレートにおいて有用であり得る。トーンフィリングアーティファクトは、震音よりも不快性が低いものであり得る。
【0275】
t/f適合MDCTパターンをパッチすることによって、トーンフィリング発振器の効率的な実装を達成することができる。トーンフィリングを利用することによって、低ビットレートにおける非常に優れた品質および調性音楽の低遅延コード化が得られる。
【0276】
以下において、いくつかのさらなる実施形態に関する説明を行う。
【0277】
図10は、符号化オーディオ信号スペクトルに基づいてオーディオ出力信号を生成するための装置を示す。
【0278】
この装置は、復号オーディオ信号スペクトルを得るために符号化オーディオ信号スペクトルを処理するための処理ユニット110を備えている。復号オーディオ信号スペクトルは複数のスペクトル係数を含み、スペクトル係数の各々は、符号化オーディオ信号スペクトル内のスペクトル位置とスペクトル値を有し、スペクトル係数は、符号化オーディオ信号スペクトル内のそれらのスペクトル位置に従って連続して順序付けされ、それによって、スペクトル係数はスペクトル係数のシーケンスを形成する。
【0279】
さらに、この装置は、サイド情報(side info)を使用して復号オーディオ信号スペクトルの1つ以上の疑似係数を決定するための疑似係数決定器120を備えており、疑似係数の各々はスペクトル位置とスペクトル値を有する。
【0280】
さらに、この装置は、修正オーディオ信号スペクトルを得るために1つ以上の疑似係数を所定の値に設定するためのスペクトル修正ユニット130を備えている。
【0281】
さらに、この装置は、時間領域変換信号を得るために修正オーディオ信号スペクトルを時間領域に変換するためのスペクトル−時間変換ユニット140を備えている。
【0282】
さらに、この装置は、時間領域発振器信号を生成するための制御可能発振器150を備えており、制御可能発振器は、1つ以上の疑似係数のうちの少なくとも1つの疑似係数のスペクトル位置およびスペクトル値によって制御される。
【0283】
さらに、この装置は、オーディオ出力信号を得るために時間領域変換信号と時間領域発振器信号とを混合するためのミキサ160を備えている。
【0284】
一実施形態において、そのミキサは、時間領域において時間領域変換信号を時間領域発振器信号に加えることによって、時間領域変換信号と時間領域発振器信号とを混合するように構成することができる。
【0285】
処理ユニット110は、たとえば、任意の種類のオーディオ復号器、たとえば、MP3オーディオ復号器、WMAのためのオーディオ復号器、WAVEファイルのためのオーディオ復号器、AACオーディオ復号器またはUSACオーディオ復号器とすることができる。
【0286】
処理ユニット110は、たとえば、[非特許文献8](ISO/IEC 14496-3:2005 - Information technology - Coding of audio-visual objects - Part 3: Audio, Subpart 4)に記載されているような、または、[非特許文献9](ISO/IEC 14496-3:2005 - Information technology - Coding of audio-visual objects - Part 3: Audio, Subpart 4)に記載されているようなオーディオ復号器とすることもできる。たとえば、処理ユニット430は、たとえば、[非特許文献8]に記載されているような量子化値の再スケーリング(「逆量子化(de-quantization)」)ツールおよび/もしくは時間的雑音成形ツールを備えることができ、並びに/または処理ユニット430は、たとえば、[非特許文献8]に記載されているような知覚的雑音置換ツールを備えることができる。
【0287】
一実施形態によれば、スペクトル係数の各々は直近の先行係数および直近の後続係数のうちの少なくとも1つを有することができ、そのスペクトル係数の直近の先行係数はシーケンス内でそのスペクトル係数の直前にあるスペクトル係数のうちの1つとすることができ、そのスペクトル係数の直近の後続係数はシーケンス内でそのスペクトル係数の直後にあるスペクトル係数のうちの1つとすることができる。
【0288】
疑似係数決定器120は、シーケンスの少なくとも1つのスペクトル係数を決定することによって、復号オーディオ信号スペクトルの1つ以上の疑似係数を決定するように構成することができる。そのスペクトル係数は、所定の値と異なるスペクトル値を有し、スペクトル値が所定の値に等しい直近の先行係数を有し、かつスペクトル値が所定の値に等しい直近の後続係数を有する。一実施形態において、所定の値はゼロとすることができ、所定の値はゼロとすることができる。
【0289】
言い換えれば、疑似係数決定器120は、復号オーディオ信号スペクトルの係数のいくつかまたはすべてについて、それぞれ考察されている係数が所定の値と異なるか否か(好ましくは、0とは異なるか否か)、先行する係数のスペクトル値が所定の値に等しいか否か(好ましくは、0に等しいか否か)、および、後続する係数のスペクトル値が所定の値に等しいか否か(好ましくは、0に等しいか否か)を決定する。
【0290】
いくつかの実施形態においては、そのような決定された係数は(常に)疑似係数である。
【0291】
一方、他の実施形態においては、そのような決定された係数は疑似係数候補であり(候補に過ぎず)、疑似係数である場合があるし、またはそうでない場合もある。それらの実施形態において、疑似係数決定器120は、疑似係数候補であって、所定の値と異なるスペクトル値を有し、スペクトル値が所定の値に等しい直近の先行係数を有し、スペクトル値が所定の値に等しい直近の後続係数を有し得る、少なくとも1つの疑似係数候補を決定するように構成されている。
【0292】
疑似係数決定器120は、その場合、その疑似係数候補が疑似係数であることをサイド情報が示すか否かを決定することによって、疑似係数候補が疑似係数であるか否かを決定するように構成されている。
【0293】
たとえば、スペクトル値が所定の値に等しい直近の先行係数およびスペクトル値が所定の値に等しい直近の後続係数を含む量子化オーディオ信号スペクトルのスペクトル係数の各々について、(たとえば、ビット値1によって)そのスペクトル係数が極値係数のうちの1つであるか、または、(たとえば、ビット値0によって)そのスペクトル係数が極値係数のうちの1つでないかを示すそのようなサイド情報は、疑似係数決定器120によってビットフィールドにおいて受信することができる。
【0294】
たとえば、ビットフィールド[000111111]は、(連続して順序付けられている)(量子化)オーディオ信号スペクトルに現れる最初の3つの「独立型」係数(それらのスペクトル値は所定の値に等しくなく、それらの先行係数およびそれらの後続係数のスペクトル値が所定の値に等しい)が極値係数ではなく、次の6つの「独立型」係数が極値係数であることを示すことができる。このビットフィールドは、
図9の量子化MDCTスペクトル635に見られる状況を説明しており、最初の3つの「独立型」係数5、8、25は極値係数ではなく、次の6つの「独立型」係数59、71、83、94、116、141が極値係数である。
【0295】
スペクトル修正ユニット130は、復号オーディオ信号スペクトルから疑似係数を「削除」するように構成することができる。実際には、スペクトル修正ユニットは、復号オーディオ信号スペクトルの疑似係数のスペクトル値を所定の値(好ましくは0)に設定する。(少なくとも1つの)疑似係数は(少なくとも1つの)制御可能発振器150を制御しさえすればよいことになるため、これは理にかなっている。たとえば、
図9における量子化MDCTスペクトル635を考察する。スペクトル635が復号オーディオ信号スペクトルと考えられる場合、スペクトル修正ユニット130は、修正オーディオ信号スペクトルを得るために極値係数59、71、83、94、116および141のスペクトル値を設定することになり、スペクトルの他の係数を修正されないままにすることになる。
【0296】
スペクトル−時間変換ユニット140は、修正オーディオ信号スペクトルをスペクトル領域から時間領域に変換する。たとえば、修正オーディオ信号スペクトルはMDCTスペクトルであることができ、その場合、スペクトル−時間変換ユニット140は逆修正離散コサイン変換(IMDCT)フィルタバンクとすることができる。他の実施形態において、このスペクトルはMDSTスペクトルであることができ、その場合、スペクトル−時間変換ユニット140は逆修正離散サイン変換(IMDST)フィルタバンクとすることができる。または、さらなる実施形態において、このスペクトルはDFTスペクトルであることができ、その場合、スペクトル−時間変換ユニット140は逆離散フーリエ変換(IDFT)フィルタバンクとすることができる。
【0297】
制御可能発振器150は、発振器信号の発振器信号周波数が1つ以上の疑似係数のうちの1つの疑似係数のスペクトル位置に応じて決まることができるように、発振器信号周波数を有する時間領域発振器信号を生成するように構成することができる。発振器によって生成される発振器信号は時間領域正弦信号とすることができる。制御可能発振器150は、1つ以上の疑似係数のうちの1つの疑似係数のスペクトル値に応じて時間領域正弦信号の振幅を制御するように構成することができる。
【0298】
一実施形態によれば、疑似係数は各々が符号成分を含む符号付きの値である。符号成分が第1の符号値を有するとき発振器信号周波数が第1の周波数値をもつことができ、符号成分が異なる第2の値を有するとき発信器信号周波数が異なる第2の周波数値をもつことができるように、発信器信号の発振器信号周波数が1つ以上の疑似係数のうちの1つの疑似係数の符号成分に応じて決まることができるように、制御可能発振器150は時間領域発振器信号を生成するように構成することができる。
【0299】
たとえば、
図9のMDCTスペクトル635におけるスペクトル位置59にある疑似係数を考察する。周波数8200Hzがスペクトル位置59に割り当てられ、周波数8400Hzがスペクトル位置60に割り当てられる場合、制御可能発振器は、疑似係数のスペクトル値の符号が正であれば、たとえば、発信器周波数を8200Hzに設定し、疑似係数のスペクトル値の符号が負であれば、例えば、発信器周波数を8300Hzに設定するように構成することができる。
【0300】
このように、疑似係数のスペクトル値の符号は、制御可能発振器が、発振器周波数を、疑似係数(例えば、スペクトル位置59)から導出されるスペクトル位置に割り当てられた周波数(例えば、8200Hz)に設定するか、または、疑似係数(例えば、スペクトル位置59)から導出されるスペクトル位置に割り当てられた周波数(例えば、8200Hz)とその疑似係数から導出されるスペクトル位置の直後にあるスペクトル位置(例えば、スペクトル位置60)に割り当てられた周波数(例えば、8400Hz)との間の周波数(例えば、8300Hz)に設定するかを制御するために使用することができる。
【0301】
図11は、一実施形態を示し、この装置は、1つ以上の疑似係数のさらなる疑似係数のスペクトル値によって制御されるさらなる時間領域発信器信号を生成するためのさらなる制御可能発振器252、254、256を備えている。
【0302】
さらなる制御可能発振器252、254、256は各々、さらなる時間領域発振器信号のうちの1つを生成する。制御可能発振器252、254、256の各々は、複数の疑似係数のうちの1つの疑似係数から導出されるスペクトル位置に基づいて発振器信号の周波数を操作するように構成されている。かつ/または、制御可能発振器252、254、256の各々は、疑似係数のうちの1つの疑似係数のスペクトル値に基づいて発振器信号の振幅を操作するように構成されている。
【0303】
さらなる制御可能発振器252、254、256は各々、さらなる時間領域発振器信号のうちの1つを生成する。制御可能発振器252、254、256の各々は、疑似係数のうちの1つの疑似係数のスペクトル位置に基づいて発振器信号の周波数を操作するように構成されている。かつ/または、制御可能発振器252、254、256の各々は、疑似係数のうちの1つの疑似係数のスペクトル値に基づいて発振器信号の振幅を操作するように構成されている。
【0304】
図10および
図11のミキサ160は、オーディオ出力信号を得るために、スペクトル−時間変換ユニット140によって生成される時間領域変換信号と、1つ以上の制御可能発振器150、252、254、256によって生成される1つ以上の時間領域発振器信号とを混合するように構成されている。ミキサ160は、時間領域変換信号および1つ以上の時間領域発振器信号の重ね合わせによって、オーディオ出力信号を生成することができる。
【0305】
図12は、元のシヌソイド(左)と、MDCT/IMDCTチェーンによって処理された後のシヌソイド(右)とを比較した2つの図を示す。MDCT/IMDCTチェーンによって処理された後、正弦波は震音アーティファクトを含む。上記で提供された概念は、シヌソイドがMDCT/IMDCTチェーンによって処理されることを回避し、代わりに、正弦波情報が疑似係数によって符号化され、かつ/または、シヌソイドが制御可能発振器によって再生される。
【0306】
いくつかの態様が装置に関して説明されているが、明らかに、これらの態様はまた、対応する方法の説明をも表す。その場合、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップに関して説明されている態様も、対応するブロックもしくは部材または対応する装置の特徴の説明を表す。
【0307】
本発明の分解された信号は、デジタル記憶媒体に記憶することができ、または、伝送媒体、例えば無線伝送媒体、もしくはインターネットなどの有線伝送媒体で送信することができる。
【0308】
特定の実施要件に応じて、本発明の実施形態は、ハードウェアにおいて、または、ソフトウェアにおいて実施することができる。その実施態様は、電子的に読み出し可能な制御信号を記憶し、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することができる)デジタル記憶媒体、たとえば、フロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行することがでる。
【0309】
本発明によるいくつかの実施形態は、本明細書において説明されている方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協働することのできる電子的に読み込み可能な制御信号を有する持続性データキャリアを含む。
【0310】
概して、本発明の実施形態はプログラムコードを有するコンピュータプログラム製品として実施することができる。そのプログラムコードは、このコンピュータプログラム製品がコンピュータ上で作動するときに、本発明の方法の1つを実行するために動作可能なものである。そのプログラムコードは、たとえば、機械読取り可能な担体に記憶することができる。
【0311】
他の実施形態は、機械読取り可能な担体に記憶されている、本明細書において説明されている方法の1つを実行するためのコンピュータプログラムを含む。
【0312】
言い換えれば、本発明の方法の一実施形態は、それゆえ、コンピュータプログラムがコンピュータで作動するとき、本明細書において説明されている方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0313】
本発明の方法のさらなる実施形態は、本明細書において説明されている方法の1つを実行するためのコンピュータプログラムを記録しているデータ担体(またはデジタル記憶媒体もしくはコンピュータ読取り可能な媒体)である。
【0314】
それゆえ、本発明の方法のさらなる実施形態は、本明細書において説明されている方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。そのデータストリームまたは信号のシーケンスは、データ通信接続、たとえば、インターネットを介して転送されるように構成することができる。
【0315】
さらなる実施形態は、本明細書において説明されている方法の1つを実行するように構成または適合されている処理手段、たとえば、コンピュータまたはプログラム可能な論理デバイスを含む。
【0316】
さらなる実施形態は、本明細書において説明されている方法の1つを実行するためのコンピュータプログラムをインストールしているコンピュータを含む。
【0317】
いくつかの実施形態において、プログラム可能な論理デバイス(たとえば、フィールドプログラマブルゲートアレイ)を、本明細書において説明されている方法の機能のいくつかまたはすべてを実行するために使用することができる。いくつかの実施形態において、フィールドプログラマブルゲートアレイが、本明細書において説明されている方法の1つを実行するために、マイクロプロセッサと協働することができる。概して、それらの方法は好ましくは、任意のハードウェア装置によって実行される。
【0318】
上述した実施形態は、本発明の原理の例示に過ぎない。本発明装置または本明細書において説明されている詳細を変更し修正することが当業者である他の者には一目瞭然であることがわかる。それゆえ、意図するところは、添付の特許請求項の範囲のみによって制限され、本明細書における実施形態の記載および説明によって提示されている具体的な詳細によっては制限されないということである。