JP2004505304A - デジタルオーディオ信号の連続可変時間スケール変更 - Google Patents
デジタルオーディオ信号の連続可変時間スケール変更 Download PDFInfo
- Publication number
- JP2004505304A JP2004505304A JP2002514712A JP2002514712A JP2004505304A JP 2004505304 A JP2004505304 A JP 2004505304A JP 2002514712 A JP2002514712 A JP 2002514712A JP 2002514712 A JP2002514712 A JP 2002514712A JP 2004505304 A JP2004505304 A JP 2004505304A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- samples
- block
- transform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 30
- 230000008859 change Effects 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 150
- 238000005314 correlation function Methods 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000012886 linear function Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 26
- 239000000872 buffer Substances 0.000 description 108
- 230000006835 compression Effects 0.000 description 25
- 238000007906 compression Methods 0.000 description 25
- 238000005070 sampling Methods 0.000 description 18
- 238000002715 modification method Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/003—Changing voice quality, e.g. pitch or formants
- G10L21/007—Changing voice quality, e.g. pitch or formants characterised by the process used
- G10L21/01—Correction of time axis
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
時間スケール変更は、異なる再生速度を有するが入力デジタルオーディオ信号と同じピッチを有する出力信号を生成する。本方法は、入力信号のサンプルブロックを出力信号のサンプルブロックとオーバラップさせることにより信号を圧縮する。あり得るオーバラップ各々に対して相関関数が計算され、最高相関をもたらすオーバラップが選択される。相関関数を計算する計算効率のよい方法は、入力および出力サンプルブロックの離散周波数変換を計算し、相関を計算し、その後、相関関数の逆周波数変換を実行し、それによって最適なオーバラップで最大値を有する。マルチチャネルデジタルオーディオ信号の時間スケール変更の方法は、各チャネルを独立して処理する。聴取者は、異なるチャネルを統合し、高品質マルチチャネル信号を知覚する。
Description
【0001】
[発明の分野]
本発明は、概してデジタルオーディオ信号処理に関する。より詳細には、改良された同期オーバラップ加算(synchronized overlap−and−add(SOLA))アルゴリズムを使用して、ピッチを変更することなくオーディオ(可聴周波)信号の出力速度を変更する方法に関する。
【0002】
[背景技術]
種々のアプリケーションにおいて、オーディオ信号の再生速度の変更が必要とされる。時間スケール変更(Time Scale Modification(TSM))のカテゴリに入る技術は、圧縮(すなわち、高速化)と伸張(すなわち、低速化)とを含む。オーディオ圧縮アプリケーションは、より多くのコマーシャルを可能とするためにラジオトークショーを高速化することと、ユーザまたはディスクジョッキーがダンスミュージックのテンポを選択することができるようにすることと、口述材料の再生速度を高速化することと、ボイスメールメッセージの再生速度を高速化することと、オーディオおよびビデオ再生速度を同期化することとを含む。入力信号のタイプ(すなわちスピーチ、音楽またはスピーチおよび音楽の組合せ)に関らず、TSMの目的は、そのテンポを変更しながら入力信号のピッチを維持することである。明らかに、再生速度を単に増大または低減することで、必然的にピッチが変化する。
【0003】
同期オーバラップ加算技術は、1985年にS. RoucosおよびA. M. Wilgusにより「High Quality Time Scale Modification for Speech」IEEE Int. Conf. ASSP, 493−496において紹介され、未だ多くの最近開発された技術の基礎である。その方法を、図1Aに概略的に示す。一続きの時間領域サンプルx(t)を取得するためにアナログオーディオ信号をデジタル方式でサンプリングすることにより、デジタル入力信号10が取得される。入力信号10は、各々がNサンプルを含みSaサンプル(「a」は分析(analysis)を示す)によって互いにオフセットしている、オーバラップされる窓、ブロックまたはフレーム12に分割される。スケーリングされた出力14は、異なるサンプル数Ss(「s」は合成(synthesized)を示す)によって互いにオフセットしている、同じオーバラップされる窓のサンプルy(t)を含む。出力14は、入力10に存在するものとは異なる時間のずれで入力窓12を連続的にオーバラップさせることによって生成される。時間スケール率αは、Sa/Ssとして定義され、α>1は圧縮を示しα<1は伸張を示す。オーバラップした窓を結合するために、図1Bに示す線形クロスフェード等の重み関数が使用される。入力ブロック16を出力ブロック18とオーバラップさせるために、生成された新たな出力信号20に対し、入力ブロック16のオーバラップ領域のサンプルは線形に増大する関数によってスケーリングされ、出力ブロック18のサンプルは線形に低減する関数によってスケーリングされる。なお、SOLA方法は、個々の窓の速度を変更することなく信号の全体的な速度を変更し、それによってピッチを維持する。
【0004】
結果としての信号14の品質を最大にするために、フレームは所定の区切り間隔でオーバラップされない。2つのオーバラップしたフレーム間の類似度を最大にして、最適なオーディオ品質を保証するために、実際のオフセットは、一般に所与の範囲内で選択される。所定の探索範囲内のあり得るオーバラップオフセットの各々に対し、類似度が計算され、選択されたオフセットは類似度の最高値を有するものである。たとえば、2つのフレーム間の相関関数は、各オフセットにおいてx(t)とy(t)とを乗算することによって計算されてよい。この技術により、高品質の(すなわち聴取者に自然に聞こえる)、および高了解度の(すなわち聴取者が容易に理解することができる)信号がもたらされる。本技術分野では、全高調波歪み(total harmonic distortion(THD))等の種々の品質および了解度測度が周知である。
【0005】
基本的なSOLAフレームワークにより、窓サイズ選択、類似度、計算方法およびオーバラップオフセットの探索範囲における種々の変更が可能になる。Vogten他に対して発行された米国特許第5,479,564号は、局部ピッチ周期に基づいて入力信号の窓を選択する方法を開示している。Satyamurti他に発行された米国特許第5,828,995号には、WSOLA−SDとして周知の話者依存方法が開示されている。WSOLA−SDは、ピッチ周期に基づいて入力信号のフレームサイズを選択する。これらおよび他のピッチ依存方法の欠点は、それらをスピーチ信号でしか使用することができず、音楽では使用することができない、ということである。さらに、それらには、信号の異なる部分で変化する可能性がある信号が有声であるか無声であるかを判断する追加のステップと、有声信号の場合にはピッチを確定する追加のステップとが必要となる。スピーチ信号のピッチはしばしば一定でなく、基本的なピッチ周期の倍数単位で変化する。結果としてのピッチ推定値には、人為的な平滑化をかかる倍数間で連続的に移動させる必要があり、それによって最終出力信号にアーティファクトがもたらされる。
【0006】
一般に、既存の出力フレーム内の、新たな入力フレームがオーバラップする位置は、計算された類似度に基づいて選択される。しかしながら、SOLA方法によっては、入力ブロックのオーバラップ位置を選択するために類似度を使用する。Hejna, Jr.他に発行された米国特許第5,175,769号は、所定範囲内の入力ブロックの位置を選択する方法を開示している。Hejna, Jr.の方法は、オリジナルのSOLA方法よりも、必要な計算ステップが少ない。しかしながら、特に高圧縮率(すなわち、αが2以上)で、入力信号の一部を完全にスキップする可能性をもたらす。共にSuzuki他に発行された米国特許第5,341,432号および同第5,630,013号に述べられているスピーチ速度変更方法は、オーバラップすることによって出力信号を生成する2つの連続する入力フレームの、最適なオーバラップを確定する。入力フレームが出力フレーム上に連続的にオーバラップする従来のSOLA方法では、各出力フレームが、先にオーバラップしたすべてのフレームの合計となる可能性がある。しかしながら、Suzuki他の方法では、入力フレームは、互いの上にのみオーバラップし、複数フレームのオーバラップを防止する。場合によっては、この制限されたオーバラップにより、結果としての信号の品質が低下する可能性がある。このため、出力信号内のオフセットを選択することが、特に高圧縮率では最も信頼できる方法である。
【0007】
方法の計算コストは、入力サンプリング速度と圧縮率とによって変化する。高サンプリング速度は、高品質な出力信号を生成するため望ましい。さらに、高圧縮率には、入力サンプルの高処理速度が必要である。たとえば、CD品質オーディオは、44.1kHzサンプリング速度に対応し、α=4の圧縮率では、CD品質出力を生成するために1秒当りおよそ176,000入力サンプルを処理しなければならない。高入力サンプリング速度および高圧縮率で信号を処理するために、方法の計算効率は必須である。オーバラップしている入力および出力サンプルブロック間の類似度の計算は、アルゴリズムの最も計算的に労力を要する部分である。2つのブロックのすべてのあり得るオフセットに対し入力および出力ブロックの対応するサンプルを乗算することにより、相関関数、すなわち1つのあり得る類似度が計算される。Nサンプルを含む入力フレームの場合、N2個の乗算演算が必要である。高入力サンプリング速度では、Nが1000オーダである場合、各入力フレームに対しN2演算を実行することは不可能である。
【0008】
結果として、SOLAにおける傾向は、実行される動作の数を低減するために計算を簡略化することである。一解決法は、乗算を必要とする相関関数ではなく減算演算のみを必要とする絶対誤差基準を使用することである。Bialickに対して発行された米国特許第4,864,620号は、平均振幅差関数(Average Magnitude Difference Function(AMDF))を使用して最適なオーバラップを選択する方法を開示している。AMDFは、あり得るオフセット各々に対して入力サンプルと出力サンプルとの差の絶対値を平均化し、最低値を有するオフセットを選択する。Lin他に対して発行された米国特許第5,832,442号は、オーバラップにおいて等価平均絶対誤差を採用する方法を開示している。絶対誤差方法は計算的に要求される労力が大幅に少ないが、最適なオフセットの位置を確定する際に相関関数ほどに信頼性がなくあるいは一般に容認されていない。計算効率のために精度のレベルが犠牲にされる。
【0009】
既存のSOLA方法の圧倒的大多数は、最適なオーバラップオフセットを確定するために制限された探索範囲を選択することにより複雑性を低減する。たとえば、Satyamurtiに対して発行された米国特許第5,806,023号は、最適なオーバラップが所定の探索範囲内で選択される方法を開示している。上述したBialick特許は、入力信号ピッチ周期を使用して探索範囲を確定する。www.cs.ust.hk/〜rren/sound_tech/RSM_Paper_Long.htmにおいて入手可能な、Rui Renによる「An Edge Detection Method for Time Scale Modification of Acoustic Signals」において、改良されたSOLA技術が紹介されている。ここでもまた、Renの方法は、小さい探索窓、この場合は入力フレームより桁の小さい探索窓を使用して、最適なオフセットの位置を確定する。それはまた、エッジ検出を使用し、したがって信号のタイプに対して特定であり、異なるタイプの信号に対して異なるオーバラップを生成する。
【0010】
最適なオーバラップオフセットの探索範囲を制限する従来技術の方法を、図2の例に示す。入力ブロック22x(t)にオーバラップする出力ブロック24y(t)内の最良の位置が確定される。出力ブロックy(t)はSo+H+Lサンプル長を有し、入力ブロックx(t)はSoサンプル長を有する。この場合、類似度が計算される探索範囲は、H+Lサンプルであり、すなわち、あり得る遅れ(lag)値の範囲は、比較されている2つのサンプルブロック間の長さの差に等しい。オーバラップ遅れの3つのあり得る値を、−L、0および+Hと示す。この方法では、類似度26は、それが評価される遅れ値の範囲に亙って矩形包絡線形状を有する。これは、あり得るすべての信号に亙って平均化された時に、類似度の最大値の位置が、それが評価される遅れ値の範囲内に等しいかまたは平坦な確率分布を有することを意味する。この特徴は、使用される類似度のタイプに依存しないが、代りにすべてのあり得る遅れ値に対し両セグメントからの等しい数のサンプルを比較した結果である。
【0011】
探索範囲を制限することにより、従来技術による方法のすべてが、急速に変化するかまたは複雑な混合信号の間にオーバラップオフセットを不正確に予測する可能性がある。さらに、比較的狭い探索範囲を事前確定することにより、これら方法は本質的に、圧縮率を既知の値に非常に近づくように調整する。このため、それらは、非常に変動する速度でサンプリングされる入力信号を処理することができない。概して、それらは、比較的長いフレームの小さいオーバラップに対して最適であり、高(すなわち、αが2以上)圧縮率をもたらすことができない。
【0012】
したがって、計算的に可能であり、非常に正確であり、広範囲のオーディオ信号に対して適用可能である、改良された時間スケール変更方法が必要とされている。
【0013】
[目的および利点]
したがって、本発明の主な目的は、オーディオ信号の再生速度をそれらのピッチを変化させることなく変更する時間スケール変更方法を提供することである。
【0014】
本発明のさらなる目的は、スピーチ信号、音楽信号またはスピーチおよび音楽の組合せ信号を処理することができる時間スケール変更方法を提供することである。
【0015】
本発明のさらなる目的は、可変の非リアルタイム速度の入力サンプルから一定のリアルタイム速度の出力を生成する時間スケール変更方法を提供することである。
【0016】
本発明の他の目的は、所望の出力速度および可変入力速度によって確定される可変圧縮率を提供する時間スケール変更方法を提供することである。
【0017】
本発明のさらなる目的は、計算効率を維持しながら、指定された狭い探索範囲のみに亙るのではなく出力フレームの範囲全体に亙り入力および出力フレームをオーバラップさせることができる時間スケール変更方法を提供することである。先のフレームの後に連続フレームが挿入されてもよく、それによって高圧縮率の高品質出力が可能になる。
【0018】
本発明のさらなる目的は、オーバラップした入力および出力フレームの最適なオフセットを確定するために相関関数を使用する時間スケール変更方法を提供することである。相関関数は、絶対誤差基準方法とは異なる最尤推定量であるものとして周知である。
【0019】
最後に、本発明の目的は、ピッチまたは他の信号特性の確定を必要としない時間スケール変更方法を提供することである。
【0020】
[概要]
これら目的および利点は、出力サンプルを含むデジタルオーディオ出力信号を形成するための、入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更の方法によって達成される。本方法は、以下のステップを有する。すなわち、N/2入力サンプルの入力ブロックを選択するステップと、N/2出力サンプルの出力ブロックを選択するステップと、入力ブロックの開始を出力ブロックの開始とオーバラップさせるための最適なオフセットTを確定するステップと、入力ブロック開始を出力ブロック開始からTサンプルだけずらしてブロックをオーバラップさせるステップとを有する。Tは、−N/2からN/2のあり得る範囲を有し、N/2入力サンプルとN/2出力サンプルとの離散周波数変換を行い、その後それらの相関関数を計算することによって計算される。相関関数の逆離散周波数変換の最大値は、オフセットの値t=Tに対して発生する。周波数変換は、好ましくは離散フーリエ変換であるが、離散コサイン変換、離散サイン変換、離散ハートレー変換またはウェーブレット基底関数に基づく離散変換等の他のいかなる周波数変換であってもよい。好ましくは、周波数変換が実行される前に入力サンプルと出力サンプルとにN/2ゼロが付加されることにより、ラップアラウンドアーティファクトが防止される。好ましくは、k=0、…、N/2−1に対し、X*(k)が、周波数変換された入力サンプルの複素共役であり、Y(k)が、周波数変換された出力サンプルであり、Z(k)が、それらの複素乗算の積である場合、相関関数は、Z(k)=X*(k)・Y(k)である。好ましくは、Z(k)は、逆周波数変換が実行される前に正規化される。
【0021】
出力信号は、好ましくは一定のリアルタイム速度で出力され、それは出力ブロックの開始の選択を確定する。入力信号は、可変速度で取得されてよい。好ましくは、入力ブロックのサイズおよび位置は、入力信号のピッチ周期とは無関係に選択される。入力ブロックと出力ブロックとは、重み関数、好ましくは線形関数を適用することによってオーバラップされる。
【0022】
また、本発明は、マルチチャネルデジタルオーディオ出力信号を形成するための、ステレオ信号などのマルチチャネルデジタルオーディオ入力信号の時間スケール変換の方法も提供する。本方法は、以下のステップを有する。すなわち、個々の入力チャネルを取得するステップと、独立して各入力チャネルを変更するステップと、マルチチャネルデジタルオーディオ出力信号を形成するために出力チャネルを結合するステップとを有する。個々のチャネルは、マルチチャネル入力信号を個々の入力チャネルに分離することによるか、あるいは単一チャネル入力信号から複数の入力チャネルを生成することによって取得することができる。各入力チャネルは、デジタル入力信号の時間スケール変更の上記方法によって独立して変更される。異なるオーディオチャネルのオーバラップしたブロック間には相関がなく、入力チャネルの対応するサンプルはもはや出力信号では対応しない。しかしながら、聴取者は、異なるチャネルを知覚的に統合することにより、対応がないことに適応することができる。
【0023】
また、上述した時間スケール変更方法を実現する方法を実行するように構成された処理ユニットを含むデジタル信号プロセッサも提供される。
【0024】
[好適な実施形態の説明]
以下の詳細な説明は、例示の目的のために多くの明細を含むが、当業者はいずれも、以下の詳細に対する多くの変形および変更が本発明の範囲内にあることを認めるであろう。したがって、本発明の以下の好ましい実施形態は、請求の範囲に記載されている発明に対し、いかなる一般性の喪失もなく、かつ制限を課すことなく示される。
【0025】
本発明は、改良された同期オーバラップ加算(SOLA)技術を使用するデジタルオーディオ信号の時間スケール変更の方法を提供する。本方法は、計算効率がよく、スピーチ、音楽、ならびにスピーチおよび音楽の組合せのあらゆるタイプのオーディオ信号に適用することができ、高圧縮率、すなわち従来技術による方法に対して問題のある条件下で複雑なまたは急速に変化する信号を処理することができる。本方法は、特に、可変入力速度を有する入力信号を処理して一定速度の出力信号を生成することに適しており、したがって継続的に変化する圧縮率αを提供する。
【0026】
本発明を実現するシステム30を図3に示す。本発明の方法は、デジタル信号プロセッサ34によって実行される。デジタル信号プロセッサ34は、本技術分野において周知であるような従来のデジタル信号プロセッサであり、本発明の方法を実行するようにプログラムされている。このプロセッサは、処理装置と、ランダムアクセスメモリ(RAM)と、データが転送されるバスインタフェースと、を含む。デジタル信号プロセッサ34は、離散時点にアナログオーディオ信号をサンプリングしてデジタルオーディオ信号を生成するアナログ・デジタル変換器(ADC)32から発生するデジタルオーディオ信号を受信する。本発明は、広範囲のサンプリング速度を有する信号を処理することができる。たとえば、本発明が処理する典型的な信号には、8kHzのサンプリング速度を有する電話信号と、44.1kHzのサンプリング速度を有するコンパクトディスク(CD)品質信号とが含まれる。なお、サンプリング速度が高いほど高品質のオーディオ信号が生成される。サンプルは、ADC32により、指定されたかつ変化しないサンプリング速度で採取される。速度は、ADC32に対するウォールクロック入力によってセットされてよく、それは有効に一定である。ADC32は、一般に、低ジッタ(すなわち一定速度)クロック入力を必要とする。そして、デジタルオーディオ信号は、変動するかまたは未知の速度で、あるいはリアルタイムでない(すなわち、オリジナルの記録速度から変化した)速度で、デジタル信号プロセッサ34に入力される前に、メモリに格納され、記録され、送信され、またはデータプロセッサ33において他の方法で操作される。入力速度は、デジタル信号プロセッサ34に到達するサンプル数/秒のことを言い、固定であるサンプリング速度のことを言わない。デジタル信号プロセッサ34は、入力信号の時間スケール圧縮を実行することにより、所定の、好ましくは一定かつリアルタイムの速度であるデジタル出力信号を生成する。時間スケール圧縮では、所与の量の入力データが、より短い期間で出力される。たとえば、α=2の圧縮率では、再生に4分かかる入力信号は、2分で再現される。なお、α=4では、CD品質、すなわち44.1kHzサンプリング速度で圧縮オーディオ信号を生成するには、1秒につき176,400入力サンプルが処理される必要がある。かかる高処理速度は、従来技術による方法には桁外れであるが、本発明により、既存の100MIPS(100万命令/秒)信号プロセッサを使用して容易に達せられる。そして、生成されたデジタル出力信号がデジタル・アナログ変換器(DAC)36に送信されることにより、オリジナル信号と同じピッチのアナログ信号が生成されるが、より短い期間で再現される。DAC36はまた、好ましくは、低ジッタクロック入力を必要とし、したがって一定速度で信号を出力する。
【0027】
図4は、入力、出力およびスケーリングされたオーディオ信号を格納するデジタル信号プロセッサ34の3つの循環バッファを示す。バッファは矩形であるように示されているが、循環バッファを表すことが意図されている。すなわち、矩形の2つの端部は重なり合って互いに接合する。バッファに沿った水平距離は、時間を表す。すべてのバッファにおける距離は、サンプルの数に等価な、サンプルが採取される離散時点で測定される。3つのバッファはすべて長さが異なってよい。バッファが循環的であるため、入力、出力および処理ポイントを示すためにポインタが使用される。3つのバッファすべてにおいて、ポインタは、サンプルが入り、出て、処理されるにしたがって右へ移動する。バッファポインタの右へ、すなわち前方時間方向への移動を、ポインタを前進させると言う。
【0028】
本方法の完全な詳細を考慮する前に、バッファ自体の内容を検査することが有用である。入力バッファ40は、2つのポインタ、すなわち入力ポインタ42とプロセスポインタ44とを有する。新たな入力オーディオサンプルは、たとえばADC32から受取られ、入力バッファ40に格納される。サンプルは入力ポインタ42の後に挿入される。すなわち、新たなサンプルが追加されると入力ポインタ42が前進する。新たな入力サンプルは、割込みサービスルーチンによって入力バッファ40に追加される。プロセスポインタ44および入力ポインタ42は、互いに独立して移動し、2つのポインタ間の間隔46に変動をもたらす。入力バッファ40に新たなサンプルが追加されると、間隔46が増大する。サンプルが処理されるにしたがい、間隔46が低減する。
【0029】
スケール(scaled)バッファ50は、スケーリングされた出力信号を形成するために結合されているサンプルを格納する。スケールバッファ先頭ポインタ52は、入力サンプルとオーバラップしている出力サンプルの位置を確定する。後にさらに説明するように、オーバラップ遅れの探索範囲は、スケールバッファ先頭ポインタ52を中心に置く。末尾ポインタ54は、スケールバッファ50から取除かれるサンプルを示す。末尾ポインタ54が信号の最後まで進むと、それらはスケールバッファ50を出る。末尾ポインタ54および先頭ポインタ52は、一定距離56によって分離される。すなわち、スケールバッファ末尾ポインタ54が前進すると、スケールバッファ先頭ポインタ52は等しい量だけ前進する。
【0030】
スケールバッファ50から取除かれたサンプルは、出力バッファ60の、新たにコピーされたすべてのサンプルの右側を維持するように前進する出力バッファ先頭ポインタ62にコピーされる。出力バッファ末尾ポインタ64の左側のサンプルは、割込みサービスルーチンによってたとえばDAC36に出力される。出力バッファ末尾ポインタ64の移動は、選択された出力速度によって確定される。末尾ポインタ64が連続的に信号の最後まで前進すると、それらは出力バッファ60を出る。一方で、先頭ポインタ62は、先頭ポインタ62が最後に前進してから末尾ポインタ64が前進したサンプルの数に等しい量だけ定期的に前進する。その結果、先頭ポインタ62が前進した直後、末尾ポインタ64と先頭ポインタ62とは所定間隔66によって分離される。しかしながら、先頭ポインタ62の前進中、間隔66が低減する。したがって、出力バッファ末尾ポインタ64の移動は、出力バッファ先頭ポインタ62と、スケールバッファ末尾ポインタ54と、スケールバッファ先頭ポインタ52との定期的な前進を制御する。
【0031】
代替実施形態では、出力サンプルはスケールバッファ50から直接取除かれる。この場合、間隔56は一定ではなく、末尾ポインタ54は連続的に前進する。先頭ポインタ52は、先頭ポインタ52が最後に前進してから末尾ポインタ54が前進したサンプルの数に等しい距離を、定期的にのみ前進する。この代替実施形態は、信号のさらなる処理が必要でない場合に好ましい。3つのバッファすべてが使用される上述した場合では、時間スケール変更が実行された後に、スケールバッファサンプルに対してさらなる処理が実行されてよい。さらに処理されたサンプルは、出力される前に出力バッファ60にコピーされる。
【0032】
本発明の方法の目的は、入力バッファ40のサンプルを圧縮して出力バッファ60の圧縮信号を生成することである。圧縮は、所望の出力速度に制約されながら、入力サンプルを、あり得る最高信号品質をもたらす位置で出力サンプルとオーバラップさせることによって行われる。
【0033】
図5は、デジタルオーディオ信号の時間圧縮のための本発明の全体的な方法70のブロック図である。方法70は、可変かつ非リアルタイムであってよい速度で入力されるデジタルオーディオ信号72を、一定でリアルタイム速度のデジタル出力信号94に変換する。図6Aないし図6Dは、方法70に対応する関連バッファ位置および変化を示す。図6Aないし図6Dのバッファは、長さN/2サンプルのフレームまたはブロックを有するように示されている。当然ながら、かかる特徴は任意であり、信号のピッチ周期またはいかなる特性にも対応しない。
【0034】
本方法は、図5および図6Aないし図6Dを同時に考慮することによって最もよく理解される。第1のステップ74において、入力サンプルが入力バッファ100の入力ポインタ102に保存され、その後入力ポインタ102は前進する。たとえば、N/2サンプルを含むブロック104が、ごく最近入力バッファ100に保存された。次いで、ステップ75において、プロセスポインタ103の先のNサンプルが、プロセスポインタ103を前進させることなく、入力バッファ100からスケールバッファ108のスケールバッファ先頭ポインタ112にコピーされる。これら最初のステップは、バッファおよび方法を初期化する必要がある。すなわち、図6Aは、処理反復がすでに発生した後のバッファを示す。ステップ76において、本方法は、入力ポインタ102がプロセスポインタ103の少なくとも3N/2サンプル先になるまで待機する。図6Aにおいて、入力ポインタ102は、プロセスポインタ103の5N/2サンプル先である。この状態が満足されると、ステップ78において、106とラベル付けされた、プロセスポインタ103から先のN/2サンプルが、x(t)バッファにコピーされる。同様に、ステップ80において、スケールバッファ108の先頭ポインタ112の先のN/2サンプル(110とラベル付けされている)が、y(t)バッファにコピーされる。x(t)およびy(t)バッファを図6Bに示す。ステップ82において、後に詳細に説明するように、離散フーリエ変換ベース相関関数等、離散周波数変換ベース相関関数を使用して、x(t)サンプル106の開始とy(t)サンプル110の開始との間の最適なオーバラップ遅れTが見つけられる。Tは、−N/2から+N/2−1までのあり得る範囲を有し、図6Bに3つのあり得る遅れを示す。T=−N/2の遅れでは、サンプル110の後ろにサンプル106がオーバラップされる。T=0の遅れでは、サンプル110の上に直接サンプル106がオーバラップされる。+N/2−1の遅れでは、サンプル110の先にサンプル106がオーバラップされる。なお、遅れTのすべての中間整数値が可能である。
【0035】
図6Cに示すように、この実施例の最適なオーバラップは、113とラベル付けされた大きい矢印によって示されるT=0であり、Tはスケールバッファ先頭ポインタ112の位置から測定される。すなわち、サンプル106は、スケールバッファ先頭ポインタ112の位置で始まって、サンプル110の上に直接オーバラップされる。ステップ84において、線形クロスフェードを使用して、合計される重み付きサンプル114および116を取得することにより、2つのサンプルブロック106および110がマージされる。ステップ86において、マージされたサンプルの直後に、N個の追加の入力バッファサンプル118が変更されたスケールバッファ109にコピーされる。これら追加のサンプル118がコピーされると、本来スケールバッファにあったサンプルが上書きされる。図6Dに、結果としてのスケールバッファ124を示す。
【0036】
ステップ88において、スケールバッファ末尾ポインタ120、スケールバッファ先頭ポインタ112および出力バッファ先頭ポインタ129(図6D)が前進し、スケールバッファ末尾ポインタ120の後ろのサンプルが出力バッファにコピーされる。ステップ90において、入力バッファプロセスポインタ103がN/2サンプルだけ前進し、方法はステップ76に戻る。処理反復の最後のみでなく連続的に発生するステップ92において、出力バッファ末尾ポインタ127のサンプルが出力され、出力バッファ末尾ポインタ127が前進し、一定のリアルタイム速度のデジタルオーディオ信号94が生成される。この前進により、ステップ88において出力バッファ先頭ポインタ129、スケールバッファ末尾ポインタ120およびスケールバッファ先頭ポインタ112が前進する量が確定される。3つのポインタは、処理反復の開始以来出力バッファ末尾ポインタ127が前進した量だけ前進する。選択された出力速度は、出力バッファ末尾ポインタ127の前進を制御し、したがって、スケールバッファ先頭ポインタ112の前進を通して、サンプルy(t)の開始と後続する反復のためのスケールバッファにおける探索範囲の位置とを有効に確定する。図6Dに、結果としての入力バッファ112、スケールバッファ124および出力バッファ126を示す。なお、この特定の処理反復の場合、出力信号は圧縮されていない。
【0037】
ここでまた図6Bを参照すると、使用される相関関数の特定の特性により、ある範囲のN個の異なるオフセットまたは遅れ値Tに対しx(t)とy(t)との間の類似度が評価される結果となる。これらN個のあり得る値から最適なオフセット値が選択される。すなわち、あり得る遅れの範囲は、2つの入力ブロック106および110の長さの合計に等しい。なお、これは、2つの入力ブロックの長さの差に等しいオフセット探索範囲を有する従来技術による方法とは異なる。
【0038】
本発明において使用される相関関数から得られる追加の特性は、あり得る遅れ値の範囲に亙る類似度の三角形包絡線130である。ここでもまた、これは、類似度に対し矩形形状を有する従来技術による方法とまったく対照的である。本発明では、すべてのあり得る信号に対して平均化されると、類似度の最大値の位置は、中心最大値と遅れ値の範囲のいずれかの端部においてゼロまで減少する末尾とを有する確率分布を有する。この三角形状は、特に高時間圧縮率において重要な利点を有する。この形状の結果として、入力フレームの連続的な反復は、互いにオーバラップする大きいオフセットを有することができ、それでもなお明瞭な中心最大値を有する。矩形オーバラップを有する従来技術の方法では、連続的な反復は、明瞭な中心を維持しながらかかる大きくかつ非常にオーバラップするオフセットを有することができない。結果として、従来技術による方法は、高圧縮率で、それより低い率で行う場合と同様に実行することができない。
【0039】
この本発明の連続的な反復をオーバラップする能力を、図7Aないし図7Cに示す。これらは、図6Dのオーバラップ後に実行される後続する反復を示す。プロセスポインタ103に続くN/2サンプル(134とラベル付けされる)は、x(t)バッファにコピーされる。スケールバッファ先頭ポインタ112に続くN/2サンプル(136とラベル付けされる)は、y(t)バッファにコピーされる。三角形132によって示す遅れ値のあり得る範囲から、図7Aにおいて矢印138の位置によって示す最適値が見つけられる。矢印138は、スケールバッファ先頭ポインタ112にオフセットTを足した位置を示す。矢印138に続くN/2スケールバッファサンプルは、重み付けされることにより、図7Aに示すような重み付きN/2入力サンプル140とマージされるサンプル139を形成する。マージされたサンプルの直後に、追加のNサンプル142がスケールバッファにコピーされる。
【0040】
スケールバッファ末尾120および先頭112ポインタとプロセスポインタ103との前進に続き、結果としての入力バッファ150とスケールバッファ152とは、図7Bに示すようになる。次いで、サンプル154および156の最適なオーバラップ遅れが確定される。この場合、図7Cに示すように、Tは負の値を有し、そのため入力サンプル154はスケールバッファ先頭ポインタ112の後でマージされる。矢印158において、線形クロスフェードを使用して、先頭ポインタにオフセットTを足したもの、すなわち重み付きN/2入力サンプル160は、重み付きスケールバッファサンプル162とオーバラップされる。そして、追加のNサンプル164がスケールバッファにコピーされる。図7Cを図6Aと比較することにより、最終スケールバッファを形成するためのバッファ100におけるオリジナル入力信号の高圧縮が明らかとなり、それが最終的に出力されることとなる。図7Cに示す方法の反復はまた、後続する反復が先のオフセット遅れにいかにオーバラップすることができるかも示す。図7Cはまた、スケールバッファ先頭ポインタとスケールバッファ末尾ポインタとの間の距離が少なくともN/2でなければならず、それによってスケールバッファから取除かれるサンプルが完全に処理されている、ということも示す。
【0041】
本発明は、入力サンプルx(t)と出力サンプルy(t)との間の最適な遅れまたはオフセットTを計算するその特定の方法の結果としてその利点の多くを享受する。図8は、方法170のブロック図である。本発明において、Tの計算は、N個のあり得るオフセット値における2つのサンプルブロック間の相関関数を計算し、その後最高相関関数をもたらすTの値を確定することによって、達成される。あり得る遅れ値の範囲は、あり得る範囲がずっと小さい従来技術の方法と異なり、2つのサンプルブロックの長さの合計に等しい。
【0042】
方法170は、ステップ190および192で開始する。ステップ190では、N/2サンプルが、入力バッファからプロセスポインタの直後に続いて、t=0、…、N/2−1の場合のx(t)バッファにコピーされる。ステップ192において、N/2サンプルが、スケールバッファからスケールバッファ先頭ポインタの直後に続いて、t=0、…N/2−1の場合のy(t)バッファにコピーされる。ステップ194および196において、N/2ゼロサンプルがx(t)およびy(t)サンプルブロックの両方に付加されることにより、Nサンプルを含むサンプルブロックが生成される。ステップ198および200において、フーリエ変換等の離散周波数変換がNサンプルブロックx(t)およびy(t)に対して実行されることにより、k=0、…、N/2−1の場合のN/2個の周波数領域複素数ペアX(k)およびY(k)が取得される。ステップ202においてX(k)の複素共役X*(k)が取得され、ステップ204においてX*(k)とY(k)との間の複素乗算が実行されることにより相関関数Z(k)のN/2個の複素数ペアが取得される。ステップ206において、Z(k)の実数および虚数成分の最大絶対量を見つけ、その後実際の最大値によって除算される公称最大値に等しい因数によってZ(k)をスケーリングすることにより、Z(k)が任意に再正規化されることによって、Z’(k)が取得される。公称最大値は、所定の数、たとえば可変タイプに対して許容された範囲の一部である。ステップ208において、Z’(k)に対して実逆離散周波数変換が実行されることにより、t=0、…、N−1の場合の相関関数z(t)のN個の実数値が取得される。ステップ210において、すべてのt=0、…、N−1に対してz(T)がz(t)以上であるように、最適なオフセットTが選択される。TがN/2以上である場合、ステップ212においてTの値からNが減算され、それによってTの最終値は−N/2から+N/2−1の範囲に亙る。最後に、ステップ214において、Tの値が返される。
【0043】
本発明の方法は、一般にサンプリング速度と共に変化するNのいかなる値でも使用することができる。高サンプリング速度では、所与の期間により多くのサンプルが処理されなければならず、より高いNの値が必要となる。たとえば、44.1kHzサンプリング速度でCD品質のオーディオ(可聴周波)を生成するためには、Nの適当な値は1024である。好ましくは、Nの値は2の累乗であり、それらは周波数変換アルゴリズムのために最も効率的である。しかしながら、Nの他の値を処理することができる。
【0044】
好ましくは、本発明は、離散フーリエ変換と逆離散フーリエ変換とを使用することにより、相関関数を計算し評価する。しかしながら、本技術分野において周知の他の離散周波数変換および対応する逆離散周波数変換は、本発明の範囲内にある。たとえば、適当な変換には、離散コサイン変換(DCT)、離散サイン変換(DST)、離散ハートレー(Hartley)変換(DHT)およびウェーブレット基底関数に基づく変換が含まれる。これら変換はすべて逆離散変換を有し、それらもまた本発明によって必要とされる。
【0045】
方法170は、Press他によるNumerical Recipes in C、Cambridge University Press, 1992、第545〜546頁に述べられているように、各々がNサンプルを含む、サンプルの2つのセット間の相関関数を計算することに等価である。フーリエ変換を使用することなく関数を計算するために、あり得る時間のずれの各々において、合計
【数1】
すなわちO(N2)演算が計算される必要がある。目下利用可能な信号プロセッサを用いて、処理されたフレーム毎にN2演算を実行することは、特に高サンプリング速度において非常にコストがかかる。好ましくは、ステップ198および200のフーリエ変換は、高速フーリエ変換(FFT)アルゴリズムを使用して計算される。高速フーリエ変換アルゴリズムの詳細は、Press他によるNumerical Recipes in C、Cambridge University Press, 1992において見ることができる。Nサンプルに対してFFTを実行するためには、Nlog2N計算が必要であり、高サンプリング速度においても現デジタル信号プロセッサでは可能である。たとえば、N=1024の場合、N2=1,048,576であるがNlog2N=10,240である。したがって、FFTアルゴリズムは、完全な遅れ範囲が効率的に探索されるのを可能にする。
【0046】
乗算演算を必要とする本発明によって使用される相関関数とは対照的に、従来技術の多くは絶対誤差基準を使用する。絶対誤差基準は、最適な遅れが誤差基準の最小値で発生する、サンプル間の差の絶対値を測定する。対照的に、相関関数は、最小二乗誤差基準であり、計算された解は、有効に最小二乗誤差である誤差による完全な結果とは異なる。最小二乗誤差基準は、それが通常の(すなわち、ガウス)分布データの最良適合を提供することから最尤推定量であり、絶対誤差基準は計算的に最適な方法としてそれほど適していない、ということは周知である。
【0047】
また、方法170のN/2サンプルにゼロサンプルを付加するステップ194および196は、本発明が、マージされる2つのサンプルブロックの合計に等しい遅れ範囲を探索することができることに対し、非常に重要である。相関関数は、本質的に、2つのサンプルが事実上周期的である、すなわちx(t)バッファの最終サンプル後、次のサンプルがx(t)バッファの第1のサンプルと同一である、と仮定する。概して、事実はその通りではなく、かかる仮定により相関関数計算と遅れTの最適値の確定とにおいて大幅な誤差がもたらされる。N/2サンプルにゼロが付加されることにより、いわゆるラップアラウンド問題が発生しなくなる。相関関数は、すべての正の遅れ値の後に負の遅れ値を格納し、N/2以上のTの値からNを減算することにより負の遅れ値が取得される。
【0048】
なお、ステップ202において、入力サンプルX(k)のみの複素共役が取られる。この結果、計算された遅れは、入力サンプルx(t)のスケールバッファサンプルy(t)からの遅れと等しくなる。
【0049】
任意のステップ206は、主に固定小数点システム(すなわち、整数)に使用され、浮動小数点を格納するシステムには使用されない。相関関数の絶対値は重要でなく、相対値のみが重要であるため、Z(k)の値をスケーリングして精度を最大にしオーバフローを防止することが有利である。たとえば、16ビット整数システムでは、相関関数のデータタイプのあり得る値は、−32,768から+32,767の範囲である。相関関数の非常に低い値は精度を低減し、非常に高い値はオーバフローの危険がある。この場合8,191、すなわち最大範囲の1/4等の適当な公称最大値を選択することができ、すべての値をこの公称最大値にスケーリングすることができる。
【0050】
図9は、マルチチャネルデジタルオーディオ信号の時間スケール変更の方法220を示す。ステレオ信号の2チャネル、4チャンネル方式信号の4チャネルおよびサラウンド・サウンド信号の5チャネルを含むいかなる数のオーディオチャネルが処理されてもよい。チャネルはまた、ビデオ信号と相関されてもよい。方法220は、単一チャネルオーディオを処理する、すなわち各チャネルを独立して処理する方法を包含する。ステップ222において、マルチチャネルオーディオ信号が、おそらくは可変の非リアルタイム速度で入力される。ステップ224において、オーディオチャネルは、各々が独立して処理されることができるように分離される。ステップ226、228および230において、各チャネルは、図5の方法70にしたがって独立して処理される。チャネルが独立して処理されるため、異なるチャネルの対応する入力ブロックは、同じオーバラップ遅れTにおいてそれらの各々の出力ブロックとオーバラップしない。むしろ、各チャネルのオーバラップ遅れは、その特定のチャネルの相関関数のみを考慮して選択される。
【0051】
ステップ232、234および236において、結果としての時間スケーリングされたデジタルオーディオチャネルが、一定のリアルタイム速度で出力される。なお、異なるチャネルの対応するサンプルはもはや対応せず、異なる時刻に再生される可能性がある。これはマルチチャネル出力信号の品質を低減するように見えるが、実際には、証拠により、ちょうどその反対が示される。方法220にしたがって処理されたマルチチャネルオーディオは、ステップ238において、独立して処理されていないマルチチャネルオーディオ信号より高い品質のものとして聴取者に聞こえる。聴取者は、異なるチャネルを統合して、1つのチャネルからは喪失されているが別のチャネルには現れるサンプルを有効に「作り上げる(make up)」ことができる、と考えられる。これは、聴取者が移動源から発生しているオーディオ(可聴周波)を知覚する方法と一致する。聴取者によってオーディオ(可聴周波)の空間分解能が検出可能である場合、聴取者は、オーディオ(可聴周波)を、それが移動源から発生しているかのように、適当に統合し、いかなる時間遅延も考慮することができる。実際に、人間(および他の動物)は、オーディオ源の移動に対して聴取する状況にある。
【0052】
この後者の原理は、信号が処理される前に複数のチャネルに分割される、本発明の代替実施形態において利用される。その方法240を図10のブロック図に示す。ステップ242において、単一チャネルデジタルオーディオ信号が、可変かつ非リアルタイムであってよい速度で入力される。オーディオ信号は、ステップ244において、任意の適当な方法を使用して複数のチャネルに分割される。好ましい方法は後述する。複数のチャネルは、小さい時間のずれによって互いからずれていてよい。信号は、少なくとも2つの、おそらくはそれより多いチャネルに分割される。ステップ246および248〜250において、本発明の連続可変時間スケーリング方法が独立して各チャネルに適用される。図9の方法220と同様に、方法240において個々のチャネルに対して計算されるオーバラップオフセットTは関連しない。ステップ252および254〜256において、個々のチャネルが好ましくは一定のリアルタイム速度で出力される。最後に、ステップ258において、聴取者は、独立したチャネルを統合し、それらが移動源から発生しているように知覚する。
【0053】
方法240において、時間圧縮された出力チャネルは、移動オーディオ原理を使用して聴取者によって統合される。チャネルが独立して処理されるため、それらのフレームは異なる時間のずれでマージされ、聴取者は、これを、チャネルからチャネルに空間的に移動するオーディオ源として知覚する。各チャネルに対する異なる時間遅延オフセットが、各チャネルの異なる入力フレームシーケンスに対応してよく、それによって各チャネルが入力信号の異なる位相を処理してよい。異なる時間遅延オフセットは、好ましくは、エコー効果が支配するほど大きくなく、異なるチャネルが空間的に別個であるように(すなわち、聴取者の左側かまたは右側に)知覚される範囲でなければならない。たとえば、N=1024のフレームサイズにより、N/2=512サンプルのフレーム前進がもたらされる。このフレーム前進の半分のチャネルオフセットは、256サンプルに等しい。44,100サンプルのサンプル速度で、このオフセットは、入力チャネル間の5.8ミリ秒時間遅延オフセットに対応する。この時間遅延オフセットは、4.0まで(デュアルチャネル構成において)の時間圧縮率で了解度を増大させるために有効なチャネル分離であることが分かった。特に、時間圧縮された場合に理解することが困難な場合がある高速スピーチの場合、2つの独立して処理されたチャネルは単一チャネルより聴取者に対してより理解可能である。チャネル間の移動の知覚は、出力の理解を助ける。
【0054】
単一チャネルから複数のチャネルを生成する一方法を、図11に示す。単一入力バッファ260は、複数のプロセスポインタを含む。各プロセスポインタより先のサンプルは別個のバッファにコピーされることにより、別個の出力チャネルがもたらされる。図11の場合、2つの別々の出力チャネルをもたらす2つのプロセスポインタが示されている。いかなる所望の数のプロセスポインタが使用されてもよい。プロセスポインタは、2つの出力チャネル(すなわち、2つのマイクロフォン)の空間的分離を表す所定の時間のずれによって分離される。本方法は各反復においてN/2サンプルを処理するため(この特定の実施例では)、2つのチャネル間の時間のずれはN/4である。同様に、3つのプロセスポインタは、N/2サンプルの1/3、すなわちN/6サンプルによって分離される。第1の入力バッファプロセスポインタ264に対応する第1のチャネルを処理するために、第1のスケールバッファ262が使用される。第2の入力バッファプロセスポインタ268に対応する第2のチャネルを処理するために、第2のスケールバッファ266が使用される。結果としての出力サンプルは、一定の時間のずれN/2で出力され、それによってユーザは、サンプルを空間的に分離されたポイント源から発生しているように知覚する。
【0055】
当業者には、上記実施形態を本発明の範囲から逸脱することなく多くの方法で変更してよい、ということが明らかとなろう。したがって、本発明の範囲は、以下の特許請求の範囲とそれらの法律上の等価物とによって確定されなければならない。
【図面の簡単な説明】
【図1A】従来技術の同期オーバラップ加算(SOLA)方法を示す。
【図1B】2つのサンプルブロックをオーバラップさせるために使用される従来技術による線形クロスフェードを示す。
【図2】出力ブロックを入力ブロックとマージするための最適オーバラップ遅れを見つけるための従来技術による相関を示す。
【図3】本発明の方法を実現するシステムの概略図である。
【図4】本発明の入力バッファ、スケールバッファおよび出力バッファを示す。
【図5】本発明の時間スケール変更方法のブロック図である。
【図6A】図5の時間スケール変更方法の一反復を示す。
【図6B】図5の時間スケール変更方法の一反復を示す。
【図6C】図5の時間スケール変更方法の一反復を示す。
【図6D】図5の時間スケール変更方法の一反復を示す。
【図7A】図5の時間スケール変更方法の後続する反復を示す。
【図7B】図5の時間スケール変更方法の後続する反復を示す。
【図7C】図5の時間スケール変更方法の後続する反復を示す。
【図8】最適なオーバラップ遅れTを計算する本発明の方法のブロック図である。
【図9】マルチチャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図10】複数チャネルを生成することによる単一チャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図11】単一チャネルから複数チャネルを生成する一方法を示す。
[発明の分野]
本発明は、概してデジタルオーディオ信号処理に関する。より詳細には、改良された同期オーバラップ加算(synchronized overlap−and−add(SOLA))アルゴリズムを使用して、ピッチを変更することなくオーディオ(可聴周波)信号の出力速度を変更する方法に関する。
【0002】
[背景技術]
種々のアプリケーションにおいて、オーディオ信号の再生速度の変更が必要とされる。時間スケール変更(Time Scale Modification(TSM))のカテゴリに入る技術は、圧縮(すなわち、高速化)と伸張(すなわち、低速化)とを含む。オーディオ圧縮アプリケーションは、より多くのコマーシャルを可能とするためにラジオトークショーを高速化することと、ユーザまたはディスクジョッキーがダンスミュージックのテンポを選択することができるようにすることと、口述材料の再生速度を高速化することと、ボイスメールメッセージの再生速度を高速化することと、オーディオおよびビデオ再生速度を同期化することとを含む。入力信号のタイプ(すなわちスピーチ、音楽またはスピーチおよび音楽の組合せ)に関らず、TSMの目的は、そのテンポを変更しながら入力信号のピッチを維持することである。明らかに、再生速度を単に増大または低減することで、必然的にピッチが変化する。
【0003】
同期オーバラップ加算技術は、1985年にS. RoucosおよびA. M. Wilgusにより「High Quality Time Scale Modification for Speech」IEEE Int. Conf. ASSP, 493−496において紹介され、未だ多くの最近開発された技術の基礎である。その方法を、図1Aに概略的に示す。一続きの時間領域サンプルx(t)を取得するためにアナログオーディオ信号をデジタル方式でサンプリングすることにより、デジタル入力信号10が取得される。入力信号10は、各々がNサンプルを含みSaサンプル(「a」は分析(analysis)を示す)によって互いにオフセットしている、オーバラップされる窓、ブロックまたはフレーム12に分割される。スケーリングされた出力14は、異なるサンプル数Ss(「s」は合成(synthesized)を示す)によって互いにオフセットしている、同じオーバラップされる窓のサンプルy(t)を含む。出力14は、入力10に存在するものとは異なる時間のずれで入力窓12を連続的にオーバラップさせることによって生成される。時間スケール率αは、Sa/Ssとして定義され、α>1は圧縮を示しα<1は伸張を示す。オーバラップした窓を結合するために、図1Bに示す線形クロスフェード等の重み関数が使用される。入力ブロック16を出力ブロック18とオーバラップさせるために、生成された新たな出力信号20に対し、入力ブロック16のオーバラップ領域のサンプルは線形に増大する関数によってスケーリングされ、出力ブロック18のサンプルは線形に低減する関数によってスケーリングされる。なお、SOLA方法は、個々の窓の速度を変更することなく信号の全体的な速度を変更し、それによってピッチを維持する。
【0004】
結果としての信号14の品質を最大にするために、フレームは所定の区切り間隔でオーバラップされない。2つのオーバラップしたフレーム間の類似度を最大にして、最適なオーディオ品質を保証するために、実際のオフセットは、一般に所与の範囲内で選択される。所定の探索範囲内のあり得るオーバラップオフセットの各々に対し、類似度が計算され、選択されたオフセットは類似度の最高値を有するものである。たとえば、2つのフレーム間の相関関数は、各オフセットにおいてx(t)とy(t)とを乗算することによって計算されてよい。この技術により、高品質の(すなわち聴取者に自然に聞こえる)、および高了解度の(すなわち聴取者が容易に理解することができる)信号がもたらされる。本技術分野では、全高調波歪み(total harmonic distortion(THD))等の種々の品質および了解度測度が周知である。
【0005】
基本的なSOLAフレームワークにより、窓サイズ選択、類似度、計算方法およびオーバラップオフセットの探索範囲における種々の変更が可能になる。Vogten他に対して発行された米国特許第5,479,564号は、局部ピッチ周期に基づいて入力信号の窓を選択する方法を開示している。Satyamurti他に発行された米国特許第5,828,995号には、WSOLA−SDとして周知の話者依存方法が開示されている。WSOLA−SDは、ピッチ周期に基づいて入力信号のフレームサイズを選択する。これらおよび他のピッチ依存方法の欠点は、それらをスピーチ信号でしか使用することができず、音楽では使用することができない、ということである。さらに、それらには、信号の異なる部分で変化する可能性がある信号が有声であるか無声であるかを判断する追加のステップと、有声信号の場合にはピッチを確定する追加のステップとが必要となる。スピーチ信号のピッチはしばしば一定でなく、基本的なピッチ周期の倍数単位で変化する。結果としてのピッチ推定値には、人為的な平滑化をかかる倍数間で連続的に移動させる必要があり、それによって最終出力信号にアーティファクトがもたらされる。
【0006】
一般に、既存の出力フレーム内の、新たな入力フレームがオーバラップする位置は、計算された類似度に基づいて選択される。しかしながら、SOLA方法によっては、入力ブロックのオーバラップ位置を選択するために類似度を使用する。Hejna, Jr.他に発行された米国特許第5,175,769号は、所定範囲内の入力ブロックの位置を選択する方法を開示している。Hejna, Jr.の方法は、オリジナルのSOLA方法よりも、必要な計算ステップが少ない。しかしながら、特に高圧縮率(すなわち、αが2以上)で、入力信号の一部を完全にスキップする可能性をもたらす。共にSuzuki他に発行された米国特許第5,341,432号および同第5,630,013号に述べられているスピーチ速度変更方法は、オーバラップすることによって出力信号を生成する2つの連続する入力フレームの、最適なオーバラップを確定する。入力フレームが出力フレーム上に連続的にオーバラップする従来のSOLA方法では、各出力フレームが、先にオーバラップしたすべてのフレームの合計となる可能性がある。しかしながら、Suzuki他の方法では、入力フレームは、互いの上にのみオーバラップし、複数フレームのオーバラップを防止する。場合によっては、この制限されたオーバラップにより、結果としての信号の品質が低下する可能性がある。このため、出力信号内のオフセットを選択することが、特に高圧縮率では最も信頼できる方法である。
【0007】
方法の計算コストは、入力サンプリング速度と圧縮率とによって変化する。高サンプリング速度は、高品質な出力信号を生成するため望ましい。さらに、高圧縮率には、入力サンプルの高処理速度が必要である。たとえば、CD品質オーディオは、44.1kHzサンプリング速度に対応し、α=4の圧縮率では、CD品質出力を生成するために1秒当りおよそ176,000入力サンプルを処理しなければならない。高入力サンプリング速度および高圧縮率で信号を処理するために、方法の計算効率は必須である。オーバラップしている入力および出力サンプルブロック間の類似度の計算は、アルゴリズムの最も計算的に労力を要する部分である。2つのブロックのすべてのあり得るオフセットに対し入力および出力ブロックの対応するサンプルを乗算することにより、相関関数、すなわち1つのあり得る類似度が計算される。Nサンプルを含む入力フレームの場合、N2個の乗算演算が必要である。高入力サンプリング速度では、Nが1000オーダである場合、各入力フレームに対しN2演算を実行することは不可能である。
【0008】
結果として、SOLAにおける傾向は、実行される動作の数を低減するために計算を簡略化することである。一解決法は、乗算を必要とする相関関数ではなく減算演算のみを必要とする絶対誤差基準を使用することである。Bialickに対して発行された米国特許第4,864,620号は、平均振幅差関数(Average Magnitude Difference Function(AMDF))を使用して最適なオーバラップを選択する方法を開示している。AMDFは、あり得るオフセット各々に対して入力サンプルと出力サンプルとの差の絶対値を平均化し、最低値を有するオフセットを選択する。Lin他に対して発行された米国特許第5,832,442号は、オーバラップにおいて等価平均絶対誤差を採用する方法を開示している。絶対誤差方法は計算的に要求される労力が大幅に少ないが、最適なオフセットの位置を確定する際に相関関数ほどに信頼性がなくあるいは一般に容認されていない。計算効率のために精度のレベルが犠牲にされる。
【0009】
既存のSOLA方法の圧倒的大多数は、最適なオーバラップオフセットを確定するために制限された探索範囲を選択することにより複雑性を低減する。たとえば、Satyamurtiに対して発行された米国特許第5,806,023号は、最適なオーバラップが所定の探索範囲内で選択される方法を開示している。上述したBialick特許は、入力信号ピッチ周期を使用して探索範囲を確定する。www.cs.ust.hk/〜rren/sound_tech/RSM_Paper_Long.htmにおいて入手可能な、Rui Renによる「An Edge Detection Method for Time Scale Modification of Acoustic Signals」において、改良されたSOLA技術が紹介されている。ここでもまた、Renの方法は、小さい探索窓、この場合は入力フレームより桁の小さい探索窓を使用して、最適なオフセットの位置を確定する。それはまた、エッジ検出を使用し、したがって信号のタイプに対して特定であり、異なるタイプの信号に対して異なるオーバラップを生成する。
【0010】
最適なオーバラップオフセットの探索範囲を制限する従来技術の方法を、図2の例に示す。入力ブロック22x(t)にオーバラップする出力ブロック24y(t)内の最良の位置が確定される。出力ブロックy(t)はSo+H+Lサンプル長を有し、入力ブロックx(t)はSoサンプル長を有する。この場合、類似度が計算される探索範囲は、H+Lサンプルであり、すなわち、あり得る遅れ(lag)値の範囲は、比較されている2つのサンプルブロック間の長さの差に等しい。オーバラップ遅れの3つのあり得る値を、−L、0および+Hと示す。この方法では、類似度26は、それが評価される遅れ値の範囲に亙って矩形包絡線形状を有する。これは、あり得るすべての信号に亙って平均化された時に、類似度の最大値の位置が、それが評価される遅れ値の範囲内に等しいかまたは平坦な確率分布を有することを意味する。この特徴は、使用される類似度のタイプに依存しないが、代りにすべてのあり得る遅れ値に対し両セグメントからの等しい数のサンプルを比較した結果である。
【0011】
探索範囲を制限することにより、従来技術による方法のすべてが、急速に変化するかまたは複雑な混合信号の間にオーバラップオフセットを不正確に予測する可能性がある。さらに、比較的狭い探索範囲を事前確定することにより、これら方法は本質的に、圧縮率を既知の値に非常に近づくように調整する。このため、それらは、非常に変動する速度でサンプリングされる入力信号を処理することができない。概して、それらは、比較的長いフレームの小さいオーバラップに対して最適であり、高(すなわち、αが2以上)圧縮率をもたらすことができない。
【0012】
したがって、計算的に可能であり、非常に正確であり、広範囲のオーディオ信号に対して適用可能である、改良された時間スケール変更方法が必要とされている。
【0013】
[目的および利点]
したがって、本発明の主な目的は、オーディオ信号の再生速度をそれらのピッチを変化させることなく変更する時間スケール変更方法を提供することである。
【0014】
本発明のさらなる目的は、スピーチ信号、音楽信号またはスピーチおよび音楽の組合せ信号を処理することができる時間スケール変更方法を提供することである。
【0015】
本発明のさらなる目的は、可変の非リアルタイム速度の入力サンプルから一定のリアルタイム速度の出力を生成する時間スケール変更方法を提供することである。
【0016】
本発明の他の目的は、所望の出力速度および可変入力速度によって確定される可変圧縮率を提供する時間スケール変更方法を提供することである。
【0017】
本発明のさらなる目的は、計算効率を維持しながら、指定された狭い探索範囲のみに亙るのではなく出力フレームの範囲全体に亙り入力および出力フレームをオーバラップさせることができる時間スケール変更方法を提供することである。先のフレームの後に連続フレームが挿入されてもよく、それによって高圧縮率の高品質出力が可能になる。
【0018】
本発明のさらなる目的は、オーバラップした入力および出力フレームの最適なオフセットを確定するために相関関数を使用する時間スケール変更方法を提供することである。相関関数は、絶対誤差基準方法とは異なる最尤推定量であるものとして周知である。
【0019】
最後に、本発明の目的は、ピッチまたは他の信号特性の確定を必要としない時間スケール変更方法を提供することである。
【0020】
[概要]
これら目的および利点は、出力サンプルを含むデジタルオーディオ出力信号を形成するための、入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更の方法によって達成される。本方法は、以下のステップを有する。すなわち、N/2入力サンプルの入力ブロックを選択するステップと、N/2出力サンプルの出力ブロックを選択するステップと、入力ブロックの開始を出力ブロックの開始とオーバラップさせるための最適なオフセットTを確定するステップと、入力ブロック開始を出力ブロック開始からTサンプルだけずらしてブロックをオーバラップさせるステップとを有する。Tは、−N/2からN/2のあり得る範囲を有し、N/2入力サンプルとN/2出力サンプルとの離散周波数変換を行い、その後それらの相関関数を計算することによって計算される。相関関数の逆離散周波数変換の最大値は、オフセットの値t=Tに対して発生する。周波数変換は、好ましくは離散フーリエ変換であるが、離散コサイン変換、離散サイン変換、離散ハートレー変換またはウェーブレット基底関数に基づく離散変換等の他のいかなる周波数変換であってもよい。好ましくは、周波数変換が実行される前に入力サンプルと出力サンプルとにN/2ゼロが付加されることにより、ラップアラウンドアーティファクトが防止される。好ましくは、k=0、…、N/2−1に対し、X*(k)が、周波数変換された入力サンプルの複素共役であり、Y(k)が、周波数変換された出力サンプルであり、Z(k)が、それらの複素乗算の積である場合、相関関数は、Z(k)=X*(k)・Y(k)である。好ましくは、Z(k)は、逆周波数変換が実行される前に正規化される。
【0021】
出力信号は、好ましくは一定のリアルタイム速度で出力され、それは出力ブロックの開始の選択を確定する。入力信号は、可変速度で取得されてよい。好ましくは、入力ブロックのサイズおよび位置は、入力信号のピッチ周期とは無関係に選択される。入力ブロックと出力ブロックとは、重み関数、好ましくは線形関数を適用することによってオーバラップされる。
【0022】
また、本発明は、マルチチャネルデジタルオーディオ出力信号を形成するための、ステレオ信号などのマルチチャネルデジタルオーディオ入力信号の時間スケール変換の方法も提供する。本方法は、以下のステップを有する。すなわち、個々の入力チャネルを取得するステップと、独立して各入力チャネルを変更するステップと、マルチチャネルデジタルオーディオ出力信号を形成するために出力チャネルを結合するステップとを有する。個々のチャネルは、マルチチャネル入力信号を個々の入力チャネルに分離することによるか、あるいは単一チャネル入力信号から複数の入力チャネルを生成することによって取得することができる。各入力チャネルは、デジタル入力信号の時間スケール変更の上記方法によって独立して変更される。異なるオーディオチャネルのオーバラップしたブロック間には相関がなく、入力チャネルの対応するサンプルはもはや出力信号では対応しない。しかしながら、聴取者は、異なるチャネルを知覚的に統合することにより、対応がないことに適応することができる。
【0023】
また、上述した時間スケール変更方法を実現する方法を実行するように構成された処理ユニットを含むデジタル信号プロセッサも提供される。
【0024】
[好適な実施形態の説明]
以下の詳細な説明は、例示の目的のために多くの明細を含むが、当業者はいずれも、以下の詳細に対する多くの変形および変更が本発明の範囲内にあることを認めるであろう。したがって、本発明の以下の好ましい実施形態は、請求の範囲に記載されている発明に対し、いかなる一般性の喪失もなく、かつ制限を課すことなく示される。
【0025】
本発明は、改良された同期オーバラップ加算(SOLA)技術を使用するデジタルオーディオ信号の時間スケール変更の方法を提供する。本方法は、計算効率がよく、スピーチ、音楽、ならびにスピーチおよび音楽の組合せのあらゆるタイプのオーディオ信号に適用することができ、高圧縮率、すなわち従来技術による方法に対して問題のある条件下で複雑なまたは急速に変化する信号を処理することができる。本方法は、特に、可変入力速度を有する入力信号を処理して一定速度の出力信号を生成することに適しており、したがって継続的に変化する圧縮率αを提供する。
【0026】
本発明を実現するシステム30を図3に示す。本発明の方法は、デジタル信号プロセッサ34によって実行される。デジタル信号プロセッサ34は、本技術分野において周知であるような従来のデジタル信号プロセッサであり、本発明の方法を実行するようにプログラムされている。このプロセッサは、処理装置と、ランダムアクセスメモリ(RAM)と、データが転送されるバスインタフェースと、を含む。デジタル信号プロセッサ34は、離散時点にアナログオーディオ信号をサンプリングしてデジタルオーディオ信号を生成するアナログ・デジタル変換器(ADC)32から発生するデジタルオーディオ信号を受信する。本発明は、広範囲のサンプリング速度を有する信号を処理することができる。たとえば、本発明が処理する典型的な信号には、8kHzのサンプリング速度を有する電話信号と、44.1kHzのサンプリング速度を有するコンパクトディスク(CD)品質信号とが含まれる。なお、サンプリング速度が高いほど高品質のオーディオ信号が生成される。サンプルは、ADC32により、指定されたかつ変化しないサンプリング速度で採取される。速度は、ADC32に対するウォールクロック入力によってセットされてよく、それは有効に一定である。ADC32は、一般に、低ジッタ(すなわち一定速度)クロック入力を必要とする。そして、デジタルオーディオ信号は、変動するかまたは未知の速度で、あるいはリアルタイムでない(すなわち、オリジナルの記録速度から変化した)速度で、デジタル信号プロセッサ34に入力される前に、メモリに格納され、記録され、送信され、またはデータプロセッサ33において他の方法で操作される。入力速度は、デジタル信号プロセッサ34に到達するサンプル数/秒のことを言い、固定であるサンプリング速度のことを言わない。デジタル信号プロセッサ34は、入力信号の時間スケール圧縮を実行することにより、所定の、好ましくは一定かつリアルタイムの速度であるデジタル出力信号を生成する。時間スケール圧縮では、所与の量の入力データが、より短い期間で出力される。たとえば、α=2の圧縮率では、再生に4分かかる入力信号は、2分で再現される。なお、α=4では、CD品質、すなわち44.1kHzサンプリング速度で圧縮オーディオ信号を生成するには、1秒につき176,400入力サンプルが処理される必要がある。かかる高処理速度は、従来技術による方法には桁外れであるが、本発明により、既存の100MIPS(100万命令/秒)信号プロセッサを使用して容易に達せられる。そして、生成されたデジタル出力信号がデジタル・アナログ変換器(DAC)36に送信されることにより、オリジナル信号と同じピッチのアナログ信号が生成されるが、より短い期間で再現される。DAC36はまた、好ましくは、低ジッタクロック入力を必要とし、したがって一定速度で信号を出力する。
【0027】
図4は、入力、出力およびスケーリングされたオーディオ信号を格納するデジタル信号プロセッサ34の3つの循環バッファを示す。バッファは矩形であるように示されているが、循環バッファを表すことが意図されている。すなわち、矩形の2つの端部は重なり合って互いに接合する。バッファに沿った水平距離は、時間を表す。すべてのバッファにおける距離は、サンプルの数に等価な、サンプルが採取される離散時点で測定される。3つのバッファはすべて長さが異なってよい。バッファが循環的であるため、入力、出力および処理ポイントを示すためにポインタが使用される。3つのバッファすべてにおいて、ポインタは、サンプルが入り、出て、処理されるにしたがって右へ移動する。バッファポインタの右へ、すなわち前方時間方向への移動を、ポインタを前進させると言う。
【0028】
本方法の完全な詳細を考慮する前に、バッファ自体の内容を検査することが有用である。入力バッファ40は、2つのポインタ、すなわち入力ポインタ42とプロセスポインタ44とを有する。新たな入力オーディオサンプルは、たとえばADC32から受取られ、入力バッファ40に格納される。サンプルは入力ポインタ42の後に挿入される。すなわち、新たなサンプルが追加されると入力ポインタ42が前進する。新たな入力サンプルは、割込みサービスルーチンによって入力バッファ40に追加される。プロセスポインタ44および入力ポインタ42は、互いに独立して移動し、2つのポインタ間の間隔46に変動をもたらす。入力バッファ40に新たなサンプルが追加されると、間隔46が増大する。サンプルが処理されるにしたがい、間隔46が低減する。
【0029】
スケール(scaled)バッファ50は、スケーリングされた出力信号を形成するために結合されているサンプルを格納する。スケールバッファ先頭ポインタ52は、入力サンプルとオーバラップしている出力サンプルの位置を確定する。後にさらに説明するように、オーバラップ遅れの探索範囲は、スケールバッファ先頭ポインタ52を中心に置く。末尾ポインタ54は、スケールバッファ50から取除かれるサンプルを示す。末尾ポインタ54が信号の最後まで進むと、それらはスケールバッファ50を出る。末尾ポインタ54および先頭ポインタ52は、一定距離56によって分離される。すなわち、スケールバッファ末尾ポインタ54が前進すると、スケールバッファ先頭ポインタ52は等しい量だけ前進する。
【0030】
スケールバッファ50から取除かれたサンプルは、出力バッファ60の、新たにコピーされたすべてのサンプルの右側を維持するように前進する出力バッファ先頭ポインタ62にコピーされる。出力バッファ末尾ポインタ64の左側のサンプルは、割込みサービスルーチンによってたとえばDAC36に出力される。出力バッファ末尾ポインタ64の移動は、選択された出力速度によって確定される。末尾ポインタ64が連続的に信号の最後まで前進すると、それらは出力バッファ60を出る。一方で、先頭ポインタ62は、先頭ポインタ62が最後に前進してから末尾ポインタ64が前進したサンプルの数に等しい量だけ定期的に前進する。その結果、先頭ポインタ62が前進した直後、末尾ポインタ64と先頭ポインタ62とは所定間隔66によって分離される。しかしながら、先頭ポインタ62の前進中、間隔66が低減する。したがって、出力バッファ末尾ポインタ64の移動は、出力バッファ先頭ポインタ62と、スケールバッファ末尾ポインタ54と、スケールバッファ先頭ポインタ52との定期的な前進を制御する。
【0031】
代替実施形態では、出力サンプルはスケールバッファ50から直接取除かれる。この場合、間隔56は一定ではなく、末尾ポインタ54は連続的に前進する。先頭ポインタ52は、先頭ポインタ52が最後に前進してから末尾ポインタ54が前進したサンプルの数に等しい距離を、定期的にのみ前進する。この代替実施形態は、信号のさらなる処理が必要でない場合に好ましい。3つのバッファすべてが使用される上述した場合では、時間スケール変更が実行された後に、スケールバッファサンプルに対してさらなる処理が実行されてよい。さらに処理されたサンプルは、出力される前に出力バッファ60にコピーされる。
【0032】
本発明の方法の目的は、入力バッファ40のサンプルを圧縮して出力バッファ60の圧縮信号を生成することである。圧縮は、所望の出力速度に制約されながら、入力サンプルを、あり得る最高信号品質をもたらす位置で出力サンプルとオーバラップさせることによって行われる。
【0033】
図5は、デジタルオーディオ信号の時間圧縮のための本発明の全体的な方法70のブロック図である。方法70は、可変かつ非リアルタイムであってよい速度で入力されるデジタルオーディオ信号72を、一定でリアルタイム速度のデジタル出力信号94に変換する。図6Aないし図6Dは、方法70に対応する関連バッファ位置および変化を示す。図6Aないし図6Dのバッファは、長さN/2サンプルのフレームまたはブロックを有するように示されている。当然ながら、かかる特徴は任意であり、信号のピッチ周期またはいかなる特性にも対応しない。
【0034】
本方法は、図5および図6Aないし図6Dを同時に考慮することによって最もよく理解される。第1のステップ74において、入力サンプルが入力バッファ100の入力ポインタ102に保存され、その後入力ポインタ102は前進する。たとえば、N/2サンプルを含むブロック104が、ごく最近入力バッファ100に保存された。次いで、ステップ75において、プロセスポインタ103の先のNサンプルが、プロセスポインタ103を前進させることなく、入力バッファ100からスケールバッファ108のスケールバッファ先頭ポインタ112にコピーされる。これら最初のステップは、バッファおよび方法を初期化する必要がある。すなわち、図6Aは、処理反復がすでに発生した後のバッファを示す。ステップ76において、本方法は、入力ポインタ102がプロセスポインタ103の少なくとも3N/2サンプル先になるまで待機する。図6Aにおいて、入力ポインタ102は、プロセスポインタ103の5N/2サンプル先である。この状態が満足されると、ステップ78において、106とラベル付けされた、プロセスポインタ103から先のN/2サンプルが、x(t)バッファにコピーされる。同様に、ステップ80において、スケールバッファ108の先頭ポインタ112の先のN/2サンプル(110とラベル付けされている)が、y(t)バッファにコピーされる。x(t)およびy(t)バッファを図6Bに示す。ステップ82において、後に詳細に説明するように、離散フーリエ変換ベース相関関数等、離散周波数変換ベース相関関数を使用して、x(t)サンプル106の開始とy(t)サンプル110の開始との間の最適なオーバラップ遅れTが見つけられる。Tは、−N/2から+N/2−1までのあり得る範囲を有し、図6Bに3つのあり得る遅れを示す。T=−N/2の遅れでは、サンプル110の後ろにサンプル106がオーバラップされる。T=0の遅れでは、サンプル110の上に直接サンプル106がオーバラップされる。+N/2−1の遅れでは、サンプル110の先にサンプル106がオーバラップされる。なお、遅れTのすべての中間整数値が可能である。
【0035】
図6Cに示すように、この実施例の最適なオーバラップは、113とラベル付けされた大きい矢印によって示されるT=0であり、Tはスケールバッファ先頭ポインタ112の位置から測定される。すなわち、サンプル106は、スケールバッファ先頭ポインタ112の位置で始まって、サンプル110の上に直接オーバラップされる。ステップ84において、線形クロスフェードを使用して、合計される重み付きサンプル114および116を取得することにより、2つのサンプルブロック106および110がマージされる。ステップ86において、マージされたサンプルの直後に、N個の追加の入力バッファサンプル118が変更されたスケールバッファ109にコピーされる。これら追加のサンプル118がコピーされると、本来スケールバッファにあったサンプルが上書きされる。図6Dに、結果としてのスケールバッファ124を示す。
【0036】
ステップ88において、スケールバッファ末尾ポインタ120、スケールバッファ先頭ポインタ112および出力バッファ先頭ポインタ129(図6D)が前進し、スケールバッファ末尾ポインタ120の後ろのサンプルが出力バッファにコピーされる。ステップ90において、入力バッファプロセスポインタ103がN/2サンプルだけ前進し、方法はステップ76に戻る。処理反復の最後のみでなく連続的に発生するステップ92において、出力バッファ末尾ポインタ127のサンプルが出力され、出力バッファ末尾ポインタ127が前進し、一定のリアルタイム速度のデジタルオーディオ信号94が生成される。この前進により、ステップ88において出力バッファ先頭ポインタ129、スケールバッファ末尾ポインタ120およびスケールバッファ先頭ポインタ112が前進する量が確定される。3つのポインタは、処理反復の開始以来出力バッファ末尾ポインタ127が前進した量だけ前進する。選択された出力速度は、出力バッファ末尾ポインタ127の前進を制御し、したがって、スケールバッファ先頭ポインタ112の前進を通して、サンプルy(t)の開始と後続する反復のためのスケールバッファにおける探索範囲の位置とを有効に確定する。図6Dに、結果としての入力バッファ112、スケールバッファ124および出力バッファ126を示す。なお、この特定の処理反復の場合、出力信号は圧縮されていない。
【0037】
ここでまた図6Bを参照すると、使用される相関関数の特定の特性により、ある範囲のN個の異なるオフセットまたは遅れ値Tに対しx(t)とy(t)との間の類似度が評価される結果となる。これらN個のあり得る値から最適なオフセット値が選択される。すなわち、あり得る遅れの範囲は、2つの入力ブロック106および110の長さの合計に等しい。なお、これは、2つの入力ブロックの長さの差に等しいオフセット探索範囲を有する従来技術による方法とは異なる。
【0038】
本発明において使用される相関関数から得られる追加の特性は、あり得る遅れ値の範囲に亙る類似度の三角形包絡線130である。ここでもまた、これは、類似度に対し矩形形状を有する従来技術による方法とまったく対照的である。本発明では、すべてのあり得る信号に対して平均化されると、類似度の最大値の位置は、中心最大値と遅れ値の範囲のいずれかの端部においてゼロまで減少する末尾とを有する確率分布を有する。この三角形状は、特に高時間圧縮率において重要な利点を有する。この形状の結果として、入力フレームの連続的な反復は、互いにオーバラップする大きいオフセットを有することができ、それでもなお明瞭な中心最大値を有する。矩形オーバラップを有する従来技術の方法では、連続的な反復は、明瞭な中心を維持しながらかかる大きくかつ非常にオーバラップするオフセットを有することができない。結果として、従来技術による方法は、高圧縮率で、それより低い率で行う場合と同様に実行することができない。
【0039】
この本発明の連続的な反復をオーバラップする能力を、図7Aないし図7Cに示す。これらは、図6Dのオーバラップ後に実行される後続する反復を示す。プロセスポインタ103に続くN/2サンプル(134とラベル付けされる)は、x(t)バッファにコピーされる。スケールバッファ先頭ポインタ112に続くN/2サンプル(136とラベル付けされる)は、y(t)バッファにコピーされる。三角形132によって示す遅れ値のあり得る範囲から、図7Aにおいて矢印138の位置によって示す最適値が見つけられる。矢印138は、スケールバッファ先頭ポインタ112にオフセットTを足した位置を示す。矢印138に続くN/2スケールバッファサンプルは、重み付けされることにより、図7Aに示すような重み付きN/2入力サンプル140とマージされるサンプル139を形成する。マージされたサンプルの直後に、追加のNサンプル142がスケールバッファにコピーされる。
【0040】
スケールバッファ末尾120および先頭112ポインタとプロセスポインタ103との前進に続き、結果としての入力バッファ150とスケールバッファ152とは、図7Bに示すようになる。次いで、サンプル154および156の最適なオーバラップ遅れが確定される。この場合、図7Cに示すように、Tは負の値を有し、そのため入力サンプル154はスケールバッファ先頭ポインタ112の後でマージされる。矢印158において、線形クロスフェードを使用して、先頭ポインタにオフセットTを足したもの、すなわち重み付きN/2入力サンプル160は、重み付きスケールバッファサンプル162とオーバラップされる。そして、追加のNサンプル164がスケールバッファにコピーされる。図7Cを図6Aと比較することにより、最終スケールバッファを形成するためのバッファ100におけるオリジナル入力信号の高圧縮が明らかとなり、それが最終的に出力されることとなる。図7Cに示す方法の反復はまた、後続する反復が先のオフセット遅れにいかにオーバラップすることができるかも示す。図7Cはまた、スケールバッファ先頭ポインタとスケールバッファ末尾ポインタとの間の距離が少なくともN/2でなければならず、それによってスケールバッファから取除かれるサンプルが完全に処理されている、ということも示す。
【0041】
本発明は、入力サンプルx(t)と出力サンプルy(t)との間の最適な遅れまたはオフセットTを計算するその特定の方法の結果としてその利点の多くを享受する。図8は、方法170のブロック図である。本発明において、Tの計算は、N個のあり得るオフセット値における2つのサンプルブロック間の相関関数を計算し、その後最高相関関数をもたらすTの値を確定することによって、達成される。あり得る遅れ値の範囲は、あり得る範囲がずっと小さい従来技術の方法と異なり、2つのサンプルブロックの長さの合計に等しい。
【0042】
方法170は、ステップ190および192で開始する。ステップ190では、N/2サンプルが、入力バッファからプロセスポインタの直後に続いて、t=0、…、N/2−1の場合のx(t)バッファにコピーされる。ステップ192において、N/2サンプルが、スケールバッファからスケールバッファ先頭ポインタの直後に続いて、t=0、…N/2−1の場合のy(t)バッファにコピーされる。ステップ194および196において、N/2ゼロサンプルがx(t)およびy(t)サンプルブロックの両方に付加されることにより、Nサンプルを含むサンプルブロックが生成される。ステップ198および200において、フーリエ変換等の離散周波数変換がNサンプルブロックx(t)およびy(t)に対して実行されることにより、k=0、…、N/2−1の場合のN/2個の周波数領域複素数ペアX(k)およびY(k)が取得される。ステップ202においてX(k)の複素共役X*(k)が取得され、ステップ204においてX*(k)とY(k)との間の複素乗算が実行されることにより相関関数Z(k)のN/2個の複素数ペアが取得される。ステップ206において、Z(k)の実数および虚数成分の最大絶対量を見つけ、その後実際の最大値によって除算される公称最大値に等しい因数によってZ(k)をスケーリングすることにより、Z(k)が任意に再正規化されることによって、Z’(k)が取得される。公称最大値は、所定の数、たとえば可変タイプに対して許容された範囲の一部である。ステップ208において、Z’(k)に対して実逆離散周波数変換が実行されることにより、t=0、…、N−1の場合の相関関数z(t)のN個の実数値が取得される。ステップ210において、すべてのt=0、…、N−1に対してz(T)がz(t)以上であるように、最適なオフセットTが選択される。TがN/2以上である場合、ステップ212においてTの値からNが減算され、それによってTの最終値は−N/2から+N/2−1の範囲に亙る。最後に、ステップ214において、Tの値が返される。
【0043】
本発明の方法は、一般にサンプリング速度と共に変化するNのいかなる値でも使用することができる。高サンプリング速度では、所与の期間により多くのサンプルが処理されなければならず、より高いNの値が必要となる。たとえば、44.1kHzサンプリング速度でCD品質のオーディオ(可聴周波)を生成するためには、Nの適当な値は1024である。好ましくは、Nの値は2の累乗であり、それらは周波数変換アルゴリズムのために最も効率的である。しかしながら、Nの他の値を処理することができる。
【0044】
好ましくは、本発明は、離散フーリエ変換と逆離散フーリエ変換とを使用することにより、相関関数を計算し評価する。しかしながら、本技術分野において周知の他の離散周波数変換および対応する逆離散周波数変換は、本発明の範囲内にある。たとえば、適当な変換には、離散コサイン変換(DCT)、離散サイン変換(DST)、離散ハートレー(Hartley)変換(DHT)およびウェーブレット基底関数に基づく変換が含まれる。これら変換はすべて逆離散変換を有し、それらもまた本発明によって必要とされる。
【0045】
方法170は、Press他によるNumerical Recipes in C、Cambridge University Press, 1992、第545〜546頁に述べられているように、各々がNサンプルを含む、サンプルの2つのセット間の相関関数を計算することに等価である。フーリエ変換を使用することなく関数を計算するために、あり得る時間のずれの各々において、合計
【数1】
すなわちO(N2)演算が計算される必要がある。目下利用可能な信号プロセッサを用いて、処理されたフレーム毎にN2演算を実行することは、特に高サンプリング速度において非常にコストがかかる。好ましくは、ステップ198および200のフーリエ変換は、高速フーリエ変換(FFT)アルゴリズムを使用して計算される。高速フーリエ変換アルゴリズムの詳細は、Press他によるNumerical Recipes in C、Cambridge University Press, 1992において見ることができる。Nサンプルに対してFFTを実行するためには、Nlog2N計算が必要であり、高サンプリング速度においても現デジタル信号プロセッサでは可能である。たとえば、N=1024の場合、N2=1,048,576であるがNlog2N=10,240である。したがって、FFTアルゴリズムは、完全な遅れ範囲が効率的に探索されるのを可能にする。
【0046】
乗算演算を必要とする本発明によって使用される相関関数とは対照的に、従来技術の多くは絶対誤差基準を使用する。絶対誤差基準は、最適な遅れが誤差基準の最小値で発生する、サンプル間の差の絶対値を測定する。対照的に、相関関数は、最小二乗誤差基準であり、計算された解は、有効に最小二乗誤差である誤差による完全な結果とは異なる。最小二乗誤差基準は、それが通常の(すなわち、ガウス)分布データの最良適合を提供することから最尤推定量であり、絶対誤差基準は計算的に最適な方法としてそれほど適していない、ということは周知である。
【0047】
また、方法170のN/2サンプルにゼロサンプルを付加するステップ194および196は、本発明が、マージされる2つのサンプルブロックの合計に等しい遅れ範囲を探索することができることに対し、非常に重要である。相関関数は、本質的に、2つのサンプルが事実上周期的である、すなわちx(t)バッファの最終サンプル後、次のサンプルがx(t)バッファの第1のサンプルと同一である、と仮定する。概して、事実はその通りではなく、かかる仮定により相関関数計算と遅れTの最適値の確定とにおいて大幅な誤差がもたらされる。N/2サンプルにゼロが付加されることにより、いわゆるラップアラウンド問題が発生しなくなる。相関関数は、すべての正の遅れ値の後に負の遅れ値を格納し、N/2以上のTの値からNを減算することにより負の遅れ値が取得される。
【0048】
なお、ステップ202において、入力サンプルX(k)のみの複素共役が取られる。この結果、計算された遅れは、入力サンプルx(t)のスケールバッファサンプルy(t)からの遅れと等しくなる。
【0049】
任意のステップ206は、主に固定小数点システム(すなわち、整数)に使用され、浮動小数点を格納するシステムには使用されない。相関関数の絶対値は重要でなく、相対値のみが重要であるため、Z(k)の値をスケーリングして精度を最大にしオーバフローを防止することが有利である。たとえば、16ビット整数システムでは、相関関数のデータタイプのあり得る値は、−32,768から+32,767の範囲である。相関関数の非常に低い値は精度を低減し、非常に高い値はオーバフローの危険がある。この場合8,191、すなわち最大範囲の1/4等の適当な公称最大値を選択することができ、すべての値をこの公称最大値にスケーリングすることができる。
【0050】
図9は、マルチチャネルデジタルオーディオ信号の時間スケール変更の方法220を示す。ステレオ信号の2チャネル、4チャンネル方式信号の4チャネルおよびサラウンド・サウンド信号の5チャネルを含むいかなる数のオーディオチャネルが処理されてもよい。チャネルはまた、ビデオ信号と相関されてもよい。方法220は、単一チャネルオーディオを処理する、すなわち各チャネルを独立して処理する方法を包含する。ステップ222において、マルチチャネルオーディオ信号が、おそらくは可変の非リアルタイム速度で入力される。ステップ224において、オーディオチャネルは、各々が独立して処理されることができるように分離される。ステップ226、228および230において、各チャネルは、図5の方法70にしたがって独立して処理される。チャネルが独立して処理されるため、異なるチャネルの対応する入力ブロックは、同じオーバラップ遅れTにおいてそれらの各々の出力ブロックとオーバラップしない。むしろ、各チャネルのオーバラップ遅れは、その特定のチャネルの相関関数のみを考慮して選択される。
【0051】
ステップ232、234および236において、結果としての時間スケーリングされたデジタルオーディオチャネルが、一定のリアルタイム速度で出力される。なお、異なるチャネルの対応するサンプルはもはや対応せず、異なる時刻に再生される可能性がある。これはマルチチャネル出力信号の品質を低減するように見えるが、実際には、証拠により、ちょうどその反対が示される。方法220にしたがって処理されたマルチチャネルオーディオは、ステップ238において、独立して処理されていないマルチチャネルオーディオ信号より高い品質のものとして聴取者に聞こえる。聴取者は、異なるチャネルを統合して、1つのチャネルからは喪失されているが別のチャネルには現れるサンプルを有効に「作り上げる(make up)」ことができる、と考えられる。これは、聴取者が移動源から発生しているオーディオ(可聴周波)を知覚する方法と一致する。聴取者によってオーディオ(可聴周波)の空間分解能が検出可能である場合、聴取者は、オーディオ(可聴周波)を、それが移動源から発生しているかのように、適当に統合し、いかなる時間遅延も考慮することができる。実際に、人間(および他の動物)は、オーディオ源の移動に対して聴取する状況にある。
【0052】
この後者の原理は、信号が処理される前に複数のチャネルに分割される、本発明の代替実施形態において利用される。その方法240を図10のブロック図に示す。ステップ242において、単一チャネルデジタルオーディオ信号が、可変かつ非リアルタイムであってよい速度で入力される。オーディオ信号は、ステップ244において、任意の適当な方法を使用して複数のチャネルに分割される。好ましい方法は後述する。複数のチャネルは、小さい時間のずれによって互いからずれていてよい。信号は、少なくとも2つの、おそらくはそれより多いチャネルに分割される。ステップ246および248〜250において、本発明の連続可変時間スケーリング方法が独立して各チャネルに適用される。図9の方法220と同様に、方法240において個々のチャネルに対して計算されるオーバラップオフセットTは関連しない。ステップ252および254〜256において、個々のチャネルが好ましくは一定のリアルタイム速度で出力される。最後に、ステップ258において、聴取者は、独立したチャネルを統合し、それらが移動源から発生しているように知覚する。
【0053】
方法240において、時間圧縮された出力チャネルは、移動オーディオ原理を使用して聴取者によって統合される。チャネルが独立して処理されるため、それらのフレームは異なる時間のずれでマージされ、聴取者は、これを、チャネルからチャネルに空間的に移動するオーディオ源として知覚する。各チャネルに対する異なる時間遅延オフセットが、各チャネルの異なる入力フレームシーケンスに対応してよく、それによって各チャネルが入力信号の異なる位相を処理してよい。異なる時間遅延オフセットは、好ましくは、エコー効果が支配するほど大きくなく、異なるチャネルが空間的に別個であるように(すなわち、聴取者の左側かまたは右側に)知覚される範囲でなければならない。たとえば、N=1024のフレームサイズにより、N/2=512サンプルのフレーム前進がもたらされる。このフレーム前進の半分のチャネルオフセットは、256サンプルに等しい。44,100サンプルのサンプル速度で、このオフセットは、入力チャネル間の5.8ミリ秒時間遅延オフセットに対応する。この時間遅延オフセットは、4.0まで(デュアルチャネル構成において)の時間圧縮率で了解度を増大させるために有効なチャネル分離であることが分かった。特に、時間圧縮された場合に理解することが困難な場合がある高速スピーチの場合、2つの独立して処理されたチャネルは単一チャネルより聴取者に対してより理解可能である。チャネル間の移動の知覚は、出力の理解を助ける。
【0054】
単一チャネルから複数のチャネルを生成する一方法を、図11に示す。単一入力バッファ260は、複数のプロセスポインタを含む。各プロセスポインタより先のサンプルは別個のバッファにコピーされることにより、別個の出力チャネルがもたらされる。図11の場合、2つの別々の出力チャネルをもたらす2つのプロセスポインタが示されている。いかなる所望の数のプロセスポインタが使用されてもよい。プロセスポインタは、2つの出力チャネル(すなわち、2つのマイクロフォン)の空間的分離を表す所定の時間のずれによって分離される。本方法は各反復においてN/2サンプルを処理するため(この特定の実施例では)、2つのチャネル間の時間のずれはN/4である。同様に、3つのプロセスポインタは、N/2サンプルの1/3、すなわちN/6サンプルによって分離される。第1の入力バッファプロセスポインタ264に対応する第1のチャネルを処理するために、第1のスケールバッファ262が使用される。第2の入力バッファプロセスポインタ268に対応する第2のチャネルを処理するために、第2のスケールバッファ266が使用される。結果としての出力サンプルは、一定の時間のずれN/2で出力され、それによってユーザは、サンプルを空間的に分離されたポイント源から発生しているように知覚する。
【0055】
当業者には、上記実施形態を本発明の範囲から逸脱することなく多くの方法で変更してよい、ということが明らかとなろう。したがって、本発明の範囲は、以下の特許請求の範囲とそれらの法律上の等価物とによって確定されなければならない。
【図面の簡単な説明】
【図1A】従来技術の同期オーバラップ加算(SOLA)方法を示す。
【図1B】2つのサンプルブロックをオーバラップさせるために使用される従来技術による線形クロスフェードを示す。
【図2】出力ブロックを入力ブロックとマージするための最適オーバラップ遅れを見つけるための従来技術による相関を示す。
【図3】本発明の方法を実現するシステムの概略図である。
【図4】本発明の入力バッファ、スケールバッファおよび出力バッファを示す。
【図5】本発明の時間スケール変更方法のブロック図である。
【図6A】図5の時間スケール変更方法の一反復を示す。
【図6B】図5の時間スケール変更方法の一反復を示す。
【図6C】図5の時間スケール変更方法の一反復を示す。
【図6D】図5の時間スケール変更方法の一反復を示す。
【図7A】図5の時間スケール変更方法の後続する反復を示す。
【図7B】図5の時間スケール変更方法の後続する反復を示す。
【図7C】図5の時間スケール変更方法の後続する反復を示す。
【図8】最適なオーバラップ遅れTを計算する本発明の方法のブロック図である。
【図9】マルチチャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図10】複数チャネルを生成することによる単一チャネルオーディオ信号の時間スケール変更のための本発明の方法のブロック図である。
【図11】単一チャネルから複数チャネルを生成する一方法を示す。
Claims (37)
- 出力サンプルを含むデジタルオーディオ出力信号を形成するための、入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更のための方法であって、
a)N/2入力サンプルの入力ブロックを選択するステップと、
b)N/2出力サンプルの出力ブロックを選択するステップと、
c)−N/2≦T<N/2である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットTを確定するステップであって、前記オフセット確定が前記N/2入力サンプルの離散周波数変換と前記N/2出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットTに対して発生するステップと、
d)前記出力信号を形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はTサンプルによって前記出力ブロック開始からオフセットされているステップと、
を含む方法。 - 前記オフセット確定ステップは、前記入力周波数変換を実行する前に前記N/2入力サンプルにN/2ゼロサンプルを付加することと、前記出力周波数変換を実行する前に前記N/2出力サンプルにN/2ゼロサンプルを付加することとをさらに含む請求項1記載の方法。
- 前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項1記載の方法。
- 前記オフセット確定ステップは、
i)前記入力サンプルの離散フーリエ変換を実行することにより、k=0、…、N/2−1に対してX(k)を取得することと、
ii)前記出力サンプルの離散フーリエ変換を実行することにより、k=0、…、N/2−1に対してY(k)を取得することと、
iii)X(k)の複素共役を実行することにより、k=0、…、N/2−1に対してX*(k)を取得することと、
iv)k=0、…、N/2−1に対して複素乗算積Z(k)=X*(k)・Y(k)を計算することと、
v)Z(k)の逆離散フーリエ変換を実行することによりz(t)を取得することと、
vi)z(T)が最大値であるTを確定することと、
をさらに含む請求項3記載の方法。 - 前記離散周波数変換は、離散コサイン変換と、離散サイン変換と、離散ハートレー変換と、ウェーブレット基底関数に基づく離散変換と、からなる群から選択される請求項1記載の方法。
- 前記相関関数は正規化相関関数である請求項1記載の方法。
- 前記出力信号を一定速度で出力することをさらに含む請求項1記載の方法。
- 前記一定速度はリアルタイム速度である請求項7記載の方法。
- 前記出力ブロックの前記開始の位置を、前記一定速度に基づいて選択する請求項7記載の方法。
- 前記入力信号を可変速度で取得することをさらに含む請求項1記載の方法。
- 前記ステップ(a)は、前記入力信号のピッチ周期に無関係である請求項1記載の方法。
- 前記オーバラップさせるステップは、前記出力ブロックと前記入力ブロックとに重み関数を適用することを含む請求項1記載の方法。
- 前記重み関数は線形関数である請求項12記載の方法。
- 各出力チャネルが出力サンプルを含むマルチチャネルデジタルオーディオ出力信号を形成するための、各入力チャネルが入力サンプルを含むマルチチャネルデジタルオーディオ入力信号の時間スケール変更のための方法であって、
a)前記入力チャネルを取得するステップと、
b)前記入力チャネルの各々に対して独立して、
i)N/2入力サンプルの入力ブロックを選択するステップと、
ii)前記出力チャネルの対応する1つからN/2出力サンプルの出力ブロックを選択するステップと、
iii)−N/2≦T<N/2である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットTを確定するステップであって、前記オフセット確定が前記N/2入力サンプルの離散周波数変換と前記N/2出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットTに対して発生するステップと、
iv)前記対応する出力チャネルを形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はTサンプルによって前記出力ブロック開始からオフセットされているステップと、
c)前記マルチチャネルデジタルオーディオ出力信号を形成するために前記出力チャネルを結合するステップと、
を含む方法。 - 前記ステップ(a)は、前記マルチチャネルデジタルオーディオ信号を前記入力サンプルに分離することを含む請求項14記載の方法。
- 前記ステップ(a)は、単一チャネルデジタルオーディオ入力信号から前記入力チャネルを生成することを含む請求項14記載の方法。
- 前記入力チャネルを所定の時間のずれだけ互いから分離する請求項16記載の方法。
- 前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項14記載の方法。
- 前記マルチチャネルデジタルオーディオ出力信号を一定速度で出力することをさらに含む請求項14記載の方法。
- 前記一定速度はリアルタイム速度である請求項19記載の方法。
- 各チャネルに対し、前記出力ブロックの前記開始の位置を、前記一定速度に基づいて選択する請求項19記載の方法。
- 前記マルチチャネルデジタル入力信号を可変速度で取得することをさらに含む請求項14記載の方法。
- 前記ステップ(b)(i)は、前記入力チャネルのピッチ周期とは無関係である請求項14記載の方法。
- 前記マルチチャネルデジタルオーディオ入力信号および前記マルチチャネルデジタルオーディオ出力信号は、ステレオ信号である請求項14記載の方法。
- 出力サンプルを含むデジタルオーディオ出力信号を形成するための入力サンプルを含むデジタルオーディオ入力信号の時間スケール変更のための方法ステップを実行するように構成された処理ユニットを具備するデジタル信号プロセッサであって、前記方法ステップは、
a)N/2入力サンプルの入力ブロックを選択するステップと、
b)N/2出力サンプルの出力ブロックを選択するステップと、
c)−N/2≦T<N/2である場合に、前記入力ブロックの開始と前記出力ブロックの開始とのオーバラップのための最適なオフセットTを確定するステップであって、前記オフセット確定が前記N/2入力サンプルの離散周波数変換と前記N/2出力サンプルの離散周波数変換との間の相関関数を計算することを含み、前記相関関数の逆離散周波数変換の最大値が前記最適なオフセットTに対して発生するステップと、
d)前記出力信号を形成するために前記入力ブロックを前記出力ブロックとオーバラップさせるステップであって、前記入力ブロック開始はTサンプルによって前記出力ブロック開始からオフセットされているステップと、
を含むデジタル信号プロセッサ。 - 前記オフセット確定ステップは、前記入力周波数変換を実行する前に前記N/2入力サンプルにN/2ゼロサンプルを付加することと、前記出力周波数変換を実行する前に前記N/2出力サンプルにN/2ゼロサンプルを付加することとをさらに含む請求項25記載のデジタル信号プロセッサ。
- 前記離散周波数変換は離散フーリエ変換であり、前記逆離散周波数変換は逆離散フーリエ変換である請求項25記載のデジタル信号プロセッサ。
- 前記オフセット確定ステップは、
i)前記入力サンプルの離散フーリエ変換を実行することにより、k=0、…、N/2−1に対してX(k)を取得することと、
ii)前記出力サンプルの離散フーリエ変換を実行することにより、k=0、…、N/2−1に対してY(k)を取得することと、
iii)X(k)の複素共役を実行することにより、k=0、…、N/2−1に対してX*(k)を取得することと、
iv)k=0、…、N/2−1に対して複素乗算積Z(k)=X*(k)・Y(k)を計算することと、
v)Z(k)の逆離散フーリエ変換を実行することによりz(t)を取得することと、
vi)z(T)が最大値であるTを確定することと、
をさらに含む請求項27記載のデジタル信号プロセッサ。 - 前記離散周波数変換は、離散コサイン変換と、離散サイン変換と、離散ハートレー変換と、ウェーブレット基底関数に基づく離散変換と、からなる群から選択される請求項25記載のデジタル信号プロセッサ。
- 前記相関関数は正規化相関関数である請求項25記載のデジタル信号プロセッサ。
- 前記方法ステップは、前記出力信号を一定速度で出力することをさらに含む請求項25記載のデジタル信号プロセッサ。
- 前記一定速度はリアルタイム速度である請求項31記載のデジタル信号プロセッサ。
- 前記出力ブロックの前記開始の位置は、前記一定速度に基づいて選択される請求項31記載のデジタル信号プロセッサ。
- 前記方法ステップは、前記入力信号を可変速度で取得することをさらに含む請求項25記載のデジタル信号プロセッサ。
- 前記ステップ(a)は、前記入力信号のピッチ周期に無関係である請求項25記載のデジタル信号プロセッサ。
- 前記オーバラップさせるステップは、前記出力ブロックと前記入力ブロックとに重み関数を適用することを含む請求項25記載のデジタル信号プロセッサ。
- 前記重み関数は線形関数である請求項36記載のデジタル信号プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/626,046 US6718309B1 (en) | 2000-07-26 | 2000-07-26 | Continuously variable time scale modification of digital audio signals |
PCT/US2001/022540 WO2002009090A2 (en) | 2000-07-26 | 2001-07-17 | Continuously variable time scale modification of digital audio signals |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004505304A true JP2004505304A (ja) | 2004-02-19 |
Family
ID=24508730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002514712A Pending JP2004505304A (ja) | 2000-07-26 | 2001-07-17 | デジタルオーディオ信号の連続可変時間スケール変更 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6718309B1 (ja) |
EP (1) | EP1303855A2 (ja) |
JP (1) | JP2004505304A (ja) |
KR (1) | KR20030024784A (ja) |
CN (1) | CN1181468C (ja) |
TW (1) | TW518557B (ja) |
WO (1) | WO2002009090A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007086365A1 (ja) * | 2006-01-24 | 2007-08-02 | Matsushita Electric Industrial Co., Ltd. | 変換装置 |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR0204818A (pt) * | 2001-04-05 | 2003-03-18 | Koninkl Philips Electronics Nv | Métodos para modificar e expandir a escala de tempo de um sinal, e para receber um sinal de áudio, dispositivo de modificação de escala de tempo adaptado para modificar um sinal, e, receptor para receber um sinal de áudio |
US7711123B2 (en) * | 2001-04-13 | 2010-05-04 | Dolby Laboratories Licensing Corporation | Segmenting audio signals into auditory events |
US7610205B2 (en) * | 2002-02-12 | 2009-10-27 | Dolby Laboratories Licensing Corporation | High quality time-scaling and pitch-scaling of audio signals |
US7131007B1 (en) * | 2001-06-04 | 2006-10-31 | At & T Corp. | System and method of retrieving a watermark within a signal |
US7146503B1 (en) * | 2001-06-04 | 2006-12-05 | At&T Corp. | System and method of watermarking signal |
US7171367B2 (en) * | 2001-12-05 | 2007-01-30 | Ssi Corporation | Digital audio with parameters for real-time time scaling |
KR100547444B1 (ko) * | 2002-08-08 | 2006-01-31 | 주식회사 코스모탄 | 가변길이합성과 상관도계산 감축 기법을 이용한오디오신호의 시간스케일 수정방법 |
US7941037B1 (en) * | 2002-08-27 | 2011-05-10 | Nvidia Corporation | Audio/video timescale compression system and method |
US7426470B2 (en) * | 2002-10-03 | 2008-09-16 | Ntt Docomo, Inc. | Energy-based nonuniform time-scale modification of audio signals |
US7426221B1 (en) | 2003-02-04 | 2008-09-16 | Cisco Technology, Inc. | Pitch invariant synchronization of audio playout rates |
US20040186709A1 (en) * | 2003-03-17 | 2004-09-23 | Chao-Wen Chi | System and method of synthesizing a plurality of voices |
JP3871657B2 (ja) * | 2003-05-27 | 2007-01-24 | 株式会社東芝 | 話速変換装置、方法、及びそのプログラム |
US8340972B2 (en) * | 2003-06-27 | 2012-12-25 | Motorola Mobility Llc | Psychoacoustic method and system to impose a preferred talking rate through auditory feedback rate adjustment |
US6999922B2 (en) * | 2003-06-27 | 2006-02-14 | Motorola, Inc. | Synchronization and overlap method and system for single buffer speech compression and expansion |
US7337108B2 (en) * | 2003-09-10 | 2008-02-26 | Microsoft Corporation | System and method for providing high-quality stretching and compression of a digital audio signal |
US20050137730A1 (en) * | 2003-12-18 | 2005-06-23 | Steven Trautmann | Time-scale modification of audio using separated frequency bands |
US6982377B2 (en) * | 2003-12-18 | 2006-01-03 | Texas Instruments Incorporated | Time-scale modification of music signals based on polyphase filterbanks and constrained time-domain processing |
US20050137729A1 (en) * | 2003-12-18 | 2005-06-23 | Atsuhiro Sakurai | Time-scale modification stereo audio signals |
US20050166135A1 (en) * | 2004-01-05 | 2005-07-28 | Burke David G. | Apparatus, system and method for synchronized playback of data transmitted over an asynchronous network |
US8423372B2 (en) * | 2004-08-26 | 2013-04-16 | Sisvel International S.A. | Processing of encoded signals |
US20060075347A1 (en) * | 2004-10-05 | 2006-04-06 | Rehm Peter H | Computerized notetaking system and method |
US20060149535A1 (en) * | 2004-12-30 | 2006-07-06 | Lg Electronics Inc. | Method for controlling speed of audio signals |
US7983922B2 (en) * | 2005-04-15 | 2011-07-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating multi-channel synthesizer control signal and apparatus and method for multi-channel synthesizing |
US10438690B2 (en) * | 2005-05-16 | 2019-10-08 | Panvia Future Technologies, Inc. | Associative memory and data searching system and method |
US11561951B2 (en) | 2005-05-16 | 2023-01-24 | Panvia Future Technologies, Inc. | Multidimensional associative memory and data searching |
WO2006128144A2 (en) * | 2005-05-26 | 2006-11-30 | Groove Mobile, Inc. | Systems and methods for high resolution signal analysis |
TW200709035A (en) * | 2005-08-30 | 2007-03-01 | Realtek Semiconductor Corp | Audio processing device and method thereof |
US8155972B2 (en) * | 2005-10-05 | 2012-04-10 | Texas Instruments Incorporated | Seamless audio speed change based on time scale modification |
US20070081663A1 (en) * | 2005-10-12 | 2007-04-12 | Atsuhiro Sakurai | Time scale modification of audio based on power-complementary IIR filter decomposition |
US8345890B2 (en) | 2006-01-05 | 2013-01-01 | Audience, Inc. | System and method for utilizing inter-microphone level differences for speech enhancement |
US8194880B2 (en) | 2006-01-30 | 2012-06-05 | Audience, Inc. | System and method for utilizing omni-directional microphones for speech enhancement |
US8204252B1 (en) | 2006-10-10 | 2012-06-19 | Audience, Inc. | System and method for providing close microphone adaptive array processing |
US9185487B2 (en) | 2006-01-30 | 2015-11-10 | Audience, Inc. | System and method for providing noise suppression utilizing null processing noise subtraction |
US8744844B2 (en) | 2007-07-06 | 2014-06-03 | Audience, Inc. | System and method for adaptive intelligent noise suppression |
US20070276657A1 (en) * | 2006-04-27 | 2007-11-29 | Technologies Humanware Canada, Inc. | Method for the time scaling of an audio signal |
US8849231B1 (en) | 2007-08-08 | 2014-09-30 | Audience, Inc. | System and method for adaptive power control |
US8934641B2 (en) * | 2006-05-25 | 2015-01-13 | Audience, Inc. | Systems and methods for reconstructing decomposed audio signals |
US8204253B1 (en) | 2008-06-30 | 2012-06-19 | Audience, Inc. | Self calibration of audio device |
US8150065B2 (en) | 2006-05-25 | 2012-04-03 | Audience, Inc. | System and method for processing an audio signal |
US8949120B1 (en) | 2006-05-25 | 2015-02-03 | Audience, Inc. | Adaptive noise cancelation |
US7752038B2 (en) * | 2006-10-13 | 2010-07-06 | Nokia Corporation | Pitch lag estimation |
TWI312500B (en) * | 2006-12-08 | 2009-07-21 | Micro Star Int Co Ltd | Method of varying speech speed |
US8259926B1 (en) | 2007-02-23 | 2012-09-04 | Audience, Inc. | System and method for 2-channel and 3-channel acoustic echo cancellation |
US20080221876A1 (en) * | 2007-03-08 | 2008-09-11 | Universitat Fur Musik Und Darstellende Kunst | Method for processing audio data into a condensed version |
US8189766B1 (en) | 2007-07-26 | 2012-05-29 | Audience, Inc. | System and method for blind subband acoustic echo cancellation postfiltering |
US8050934B2 (en) * | 2007-11-29 | 2011-11-01 | Texas Instruments Incorporated | Local pitch control based on seamless time scale modification and synchronized sampling rate conversion |
US8143620B1 (en) | 2007-12-21 | 2012-03-27 | Audience, Inc. | System and method for adaptive classification of audio sources |
US8180064B1 (en) | 2007-12-21 | 2012-05-15 | Audience, Inc. | System and method for providing voice equalization |
EP2077671B1 (en) * | 2008-01-07 | 2019-06-19 | Vestel Elektronik Sanayi ve Ticaret A.S. | Streaming media player and method |
US8194882B2 (en) | 2008-02-29 | 2012-06-05 | Audience, Inc. | System and method for providing single microphone noise suppression fallback |
US8355511B2 (en) | 2008-03-18 | 2013-01-15 | Audience, Inc. | System and method for envelope-based acoustic echo cancellation |
US8774423B1 (en) | 2008-06-30 | 2014-07-08 | Audience, Inc. | System and method for controlling adaptivity of signal modification using a phantom coefficient |
US8521530B1 (en) | 2008-06-30 | 2013-08-27 | Audience, Inc. | System and method for enhancing a monaural audio signal |
EP2141696A1 (en) * | 2008-07-03 | 2010-01-06 | Deutsche Thomson OHG | Method for time scaling of a sequence of input signal values |
PL2311033T3 (pl) * | 2008-07-11 | 2012-05-31 | Fraunhofer Ges Forschung | Dostarczanie sygnału aktywującego dopasowanie czasowe i kodowanie sygnału audio z jego użyciem |
US8379794B2 (en) * | 2008-09-05 | 2013-02-19 | The Board Of Trustees Of The Leland Stanford Junior University | Method to estimate position, motion and trajectory of a target with a single x-ray imager |
US20100063825A1 (en) * | 2008-09-05 | 2010-03-11 | Apple Inc. | Systems and Methods for Memory Management and Crossfading in an Electronic Device |
US8655466B2 (en) * | 2009-02-27 | 2014-02-18 | Apple Inc. | Correlating changes in audio |
WO2011021239A1 (ja) * | 2009-08-20 | 2011-02-24 | トムソン ライセンシング | オーディオ・ストリームを合成する装置、方法及びプログラム |
CN102117613B (zh) * | 2009-12-31 | 2012-12-12 | 展讯通信(上海)有限公司 | 数字音频变速处理方法及其设备 |
US9008329B1 (en) | 2010-01-26 | 2015-04-14 | Audience, Inc. | Noise reduction using multi-feature cluster tracker |
US20120035922A1 (en) * | 2010-08-05 | 2012-02-09 | Carroll Martin D | Method and apparatus for controlling word-separation during audio playout |
US8473084B2 (en) | 2010-09-01 | 2013-06-25 | Apple Inc. | Audio crossfading |
US8996389B2 (en) * | 2011-06-14 | 2015-03-31 | Polycom, Inc. | Artifact reduction in time compression |
US9640194B1 (en) | 2012-10-04 | 2017-05-02 | Knowles Electronics, Llc | Noise suppression for speech processing based on machine-learning mask estimation |
CN104123943B (zh) * | 2013-04-28 | 2017-05-31 | 安凯(广州)微电子技术有限公司 | 一种音频信号重采样的方法和装置 |
US9536540B2 (en) | 2013-07-19 | 2017-01-03 | Knowles Electronics, Llc | Speech signal separation and synthesis based on auditory scene analysis and speech modeling |
EP2881944B1 (en) * | 2013-12-05 | 2016-04-13 | Nxp B.V. | Audio signal processing apparatus |
US9799330B2 (en) | 2014-08-28 | 2017-10-24 | Knowles Electronics, Llc | Multi-sourced noise suppression |
US11418879B2 (en) * | 2020-05-13 | 2022-08-16 | Nxp B.V. | Audio signal blending with beat alignment |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4417103A (en) | 1981-05-11 | 1983-11-22 | The Variable Speech Control Company ("Vsc") | Stereo reproduction with gapless splicing of pitch altered waveforms |
IL84902A (en) | 1987-12-21 | 1991-12-15 | D S P Group Israel Ltd | Digital autocorrelation system for detecting speech in noisy audio signal |
EP0427953B1 (en) | 1989-10-06 | 1996-01-17 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for speech rate modification |
US5175769A (en) | 1991-07-23 | 1992-12-29 | Rolm Systems | Method for time-scale modification of signals |
EP0527527B1 (en) | 1991-08-09 | 1999-01-20 | Koninklijke Philips Electronics N.V. | Method and apparatus for manipulating pitch and duration of a physical audio signal |
US5630013A (en) | 1993-01-25 | 1997-05-13 | Matsushita Electric Industrial Co., Ltd. | Method of and apparatus for performing time-scale modification of speech signals |
US5694521A (en) * | 1995-01-11 | 1997-12-02 | Rockwell International Corporation | Variable speed playback system |
US5828995A (en) | 1995-02-28 | 1998-10-27 | Motorola, Inc. | Method and apparatus for intelligible fast forward and reverse playback of time-scale compressed voice messages |
US5832442A (en) | 1995-06-23 | 1998-11-03 | Electronics Research & Service Organization | High-effeciency algorithms using minimum mean absolute error splicing for pitch and rate modification of audio signals |
US5806023A (en) | 1996-02-23 | 1998-09-08 | Motorola, Inc. | Method and apparatus for time-scale modification of a signal |
US5893062A (en) * | 1996-12-05 | 1999-04-06 | Interval Research Corporation | Variable rate video playback with synchronized audio |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6665751B1 (en) * | 1999-04-17 | 2003-12-16 | International Business Machines Corporation | Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state |
US6625655B2 (en) * | 1999-05-04 | 2003-09-23 | Enounce, Incorporated | Method and apparatus for providing continuous playback or distribution of audio and audio-visual streamed multimedia reveived over networks having non-deterministic delays |
US6278387B1 (en) * | 1999-09-28 | 2001-08-21 | Conexant Systems, Inc. | Audio encoder and decoder utilizing time scaling for variable playback |
-
2000
- 2000-07-26 US US09/626,046 patent/US6718309B1/en not_active Expired - Fee Related
-
2001
- 2001-07-17 KR KR10-2003-7000621A patent/KR20030024784A/ko not_active Application Discontinuation
- 2001-07-17 CN CNB018122051A patent/CN1181468C/zh not_active Expired - Fee Related
- 2001-07-17 JP JP2002514712A patent/JP2004505304A/ja active Pending
- 2001-07-17 WO PCT/US2001/022540 patent/WO2002009090A2/en not_active Application Discontinuation
- 2001-07-17 EP EP01955854A patent/EP1303855A2/en not_active Withdrawn
- 2001-07-25 TW TW090118180A patent/TW518557B/zh not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007086365A1 (ja) * | 2006-01-24 | 2007-08-02 | Matsushita Electric Industrial Co., Ltd. | 変換装置 |
US8073704B2 (en) | 2006-01-24 | 2011-12-06 | Panasonic Corporation | Conversion device |
JP5096932B2 (ja) * | 2006-01-24 | 2012-12-12 | パナソニック株式会社 | 変換装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1181468C (zh) | 2004-12-22 |
WO2002009090A2 (en) | 2002-01-31 |
US6718309B1 (en) | 2004-04-06 |
KR20030024784A (ko) | 2003-03-26 |
EP1303855A2 (en) | 2003-04-23 |
CN1440549A (zh) | 2003-09-03 |
WO2002009090A3 (en) | 2002-07-18 |
TW518557B (en) | 2003-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004505304A (ja) | デジタルオーディオ信号の連続可変時間スケール変更 | |
EP2261892B1 (en) | High quality time-scaling and pitch-scaling of audio signals | |
EP0427953B1 (en) | Apparatus and method for speech rate modification | |
US5842172A (en) | Method and apparatus for modifying the play time of digital audio tracks | |
JPH0997091A (ja) | 予め記録された背景音楽のピッチ変化方法およびカラオケシステム | |
EP2881944B1 (en) | Audio signal processing apparatus | |
US20080033726A1 (en) | Audio Waveform Processing Device, Method, And Program | |
KR100256718B1 (ko) | 음피치 변환 장치 | |
JP2006293230A (ja) | 音響信号処理装置、音響信号処理プログラム及び音響信号処理方法 | |
JP4608650B2 (ja) | 既知音響信号除去方法及び装置 | |
US7580833B2 (en) | Constant pitch variable speed audio decoding | |
JP2005292207A (ja) | 音楽分析の方法 | |
JP2905191B1 (ja) | 信号処理装置、信号処理方法および信号処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20070269056A1 (en) | Method and Apparatus for Audio Signal Expansion and Compression | |
JP2009282536A (ja) | 既知音響信号除去方法及び装置 | |
JPS642960B2 (ja) | ||
Fierro et al. | Extreme audio time stretching using neural synthesis | |
JP4364544B2 (ja) | 音声信号処理装置及びその方法 | |
Haghparast et al. | Real-time pitchshifting of musical signals by a time-varying factor using normalized filtered correlation time-scale modification (NFC-TSM) | |
KR100359988B1 (ko) | 실시간 화속 변환 장치 | |
JP2669088B2 (ja) | 音声速度変換装置 | |
KR100870870B1 (ko) | 오디오 신호의 고품질 타임 스케일링 및 피치 스케일링 | |
JP2890530B2 (ja) | 音声速度変換装置 | |
JPH10282991A (ja) | 音声速度変換装置 | |
JPH08305393A (ja) | 再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070522 |