JP4703648B2 - ベクトルコードブック生成方法、データ圧縮方法及び装置、並びに分散型音声認識システム - Google Patents

ベクトルコードブック生成方法、データ圧縮方法及び装置、並びに分散型音声認識システム Download PDF

Info

Publication number
JP4703648B2
JP4703648B2 JP2007521800A JP2007521800A JP4703648B2 JP 4703648 B2 JP4703648 B2 JP 4703648B2 JP 2007521800 A JP2007521800 A JP 2007521800A JP 2007521800 A JP2007521800 A JP 2007521800A JP 4703648 B2 JP4703648 B2 JP 4703648B2
Authority
JP
Japan
Prior art keywords
subset
vector
feature
reference vector
codebook
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.)
Expired - Fee Related
Application number
JP2007521800A
Other languages
English (en)
Other versions
JP2008507718A (ja
Inventor
マウリツィオ・フォドリーニ
ドナート・エットーレ
ジャンマリオ・ボッラーノ
Original Assignee
テレコム・イタリア・エッセ・ピー・アー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by テレコム・イタリア・エッセ・ピー・アー filed Critical テレコム・イタリア・エッセ・ピー・アー
Publication of JP2008507718A publication Critical patent/JP2008507718A/ja
Application granted granted Critical
Publication of JP4703648B2 publication Critical patent/JP4703648B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice

Landscapes

  • Engineering & Computer Science (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)
  • Artificial Intelligence (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明はデータ圧縮方法に関する。特に、本発明は分散型音声認識システムにおいて特徴ベクトルを圧縮する方法に関する。
多くの用途で音声認識技術が利用されている。例として、下記のものが挙げられる。
- 銀行や証券会社の取引などのように「機密」情報の音声認識に基づいた双方向音声応答(IVR)サービス。音声認識の特徴は将来の人物確認のため、又は手続上の要件を満たすために記憶しておいてもよい。
- 配備された音声認識システムから集められた音声データベースにおける発話の人物確認。このデータベースはシステム性能を向上させるべくモデルを再訓練し調整するのに使用できる。
- 機械と人間の認識が混合した用途(例えば人間補助式のディクテーション)。
音声認識の応用例はUS5946653にも開示されている。US5946653には、音声(による)命令を認識し、認識した音声命令に基づいてターゲットシステムに刺激を加えることによってターゲットシステムを制御する技術が記載されている。ユーザーが命令を言うことによりターゲットシステム又はアプリケーションを制御できることで、操作がさらに容易になり、ユーザーが感じるユーザーフレンドリな使いやすさが改善されるので、音声命令を用いてターゲットシステム及びソフトウエアアプリケーションを制御するのが望ましい。
代表的な音声認識システムでは、入力音声をマイクロフォンで受けて、サンプリングして元の入力音声のデジタル表現に変換する。このデジタル化した音声を(いわゆる「特徴抽出」又は「フロントエンド」処理に従って)処理して特徴ベクトルを生成する。この特徴ベクトルはよりコンパクトな形式の音声表現を与える。次に、この特徴ベクトルをパターン認識及び/又は再構成システム(一般に「バックエンド」という)に送信又は伝送し、入ってきた特徴ベクトルを音声テンプレートと比較して入力音声を再構成する。
一般にバックエンドにおける音声認識及び/又は再構成では、多量のメモリ及びCPUサイクルを使用する検索アルゴリズムが必要とされる。
音声処理の当該技術においては、下記の3つの主要なアプローチが知られている。
- サーバ側:オーディオ信号を当該装置によってデータ伝送路を介してサーバに送る。サーバはすべてのオーディオ信号処理を行い、認識処理の結果を該装置に送り返す。このアプローチでは、グラフィック表示がなく、また装置とサーバとの接続が不安定であるという限界がある。低分解能のアナログ-デジタル変換、トランスコーディング損失、伝送損失、及びあらゆる無線技術に固有のすべての誤差があるので、デジタル化したオーディオ信号の品質はしばしば音声認識の成功には不十分である。
- クライアント側:音声処理をユーザーの装置において完全に行なう。このアプローチはオーディオ伝送路の問題を解決するが、クライアント装置が大きな処理能力とメモリ容量を有すると共に低消費量でなくてはならない。しかし、パーソナル・デジタル・アシスタント(PDA)、携帯電話、及び他の組み込み装置などの無線ハンドヘルド装置には、一般に計算、メモリ、及び電池エネルギーに限界がある。よって、上述の資源の限界ゆえに、これらの従来装置において複雑な検索アルゴリズムを行なうのは難しい。
- 分散型音声認識(DSR):音声認識タスクを一部はクライアント装置で実行し一部はサーバで実行する。クライアント装置がユーザーのデジタル化された音声について特定の特徴を抽出し、これらのデジタル表現をサーバに送る。サーバは、抽出された情報をサーバに記憶された言語モデル及び語彙リストと比較することによってこの処理を完了させるので、無線装置のメモリの制約が小さい。このアプローチのその他の利点は、厳しいハードウエア要件を課すことなく様々なモバイル機器に音声インターフェースを加えることができること、サービス、コンテンツ及びコードを容易に更新できること、誤差に対する感度が低いことである(一般に、これらのシステムは音声認識精度に有害な影響を与えることなく最大で10%までのデータパケット損失に対処できる)。
したがって、分散型音声認識(DSR)システムでは、フロントエンド処理のみを無線ハンドヘルド装置において行い、計算及びメモリの集約されるバックエンド処理を遠隔のサーバにおいて行なう(例えば、EP1395978参照)。
また、当該技術においては通信チャネルの帯域幅を節約するため、DSRシステムのフロントエンド処理において抽出した特徴ベクトルを、バックエンド処理のために遠隔のサーバに伝送する前に圧縮することが提案されてきた。当該技術において、この圧縮を一般に「ベクトル量子化」又は「ベクトル圧縮」という。
そうゆうわけで、欧州通信規格協会(ETSI)がDRS特徴抽出及び圧縮アルゴリズムの規格(「Aurora」)(ETSI ES 202.050、ES 202 212、ES 20 108及びES 202 211)を公表した。
Aurora ETSI規格の特徴抽出アルゴリズムに従い、デジタル化された入力音声をフィルタリングし、ハミング窓を用いて各音声フレームをウインドウ生成し、高速フーリエ変換(FFT)を用いて周波数領域に変換する。次に、メル周波数領域変換とそれに続く処理工程を実行して、音声データの各時間フレームに対して14個の特徴(すなわち、12個の静的メルケプストラム係数C(1)〜C(12)と零ケプストラム係数C(0)と対数エネルギー項lnE)からなるベクトルを得る(EP1395978も参照)。
Aurora ETSI規格の圧縮アルゴリズムによると、次に、この14個の特徴をペアでグループ化して、音声データの各時間フレームに対して7個の二特徴ベクトルを得る。次に、7個の夫々の所定のコードブックを用いて、これらの二特徴ベクトルを圧縮する。
コードブックは、特徴ベクトルにより表された元の情報を表すように選択された所定のインデックス付き基準ベクトルのセットである。Aurora ETSI規格により規定されているように、コードブックにおける基準ベクトルの分布は一様でなくてよい。
圧縮又は量子化は、入力ベクトルを、最小歪みを与える基準ベクトルのインデックスに置き換えることによって行なう。
確かに、インデックスは0〜N−1の正の整数値であるから(ここでNはコードブックにおける基準ベクトルの数)、Q個の特徴(ここでQ≧2)からなる入力特徴ベクトルよりもコンパクトな情報によって表すことができる。
ETSIアルゴリズムによると、入力ベクトルと夫々のコードブックの各基準ベクトルとの間の重み付きユークリッド距離を求めることによって最小歪みを見つける。いったん最も近い基準ベクトルを見つけたら、その基準ベクトルのインデックスを用いてその入力ベクトルを表す。
二特徴ベクトルのユークリッド距離で計算した最小距離の値Dminは次式で表される。

ここで、Nはコードブックにおけるベクトルの数であり、(X,X)は入力ベクトルであり、C=(Ci,A,Ci,B)はコードブックのi番目ベクトルである。
上記の式によると、従来のETSI圧縮アルゴリズム(網羅的な計算)ではN回の距離計算が必要であり、これは、2N回の平方と3N回の加算の値を求めることに等しい(平方根の計算は最小値Dminの探索結果に影響しないので、省略できる)。これらの演算には、Nに比例した高いプロセッサ能力が必要である。
例えば、EP0496541、US5946653、US6389389に記載されているように、当該技術において圧縮アルゴリズムを改善する試みが行われている。
しかし、これらの文献に記載の技術では、入力ベクトルから最小距離を有するコードブックのベクトルを見つけるのに要する計算労力を効率的に削減できない。
US4958225には別のベクトル量子化技術(この場合はビデオデータ圧縮)が提案されている。特に、この特許は入力ベクトルに最も近接して一致するコードブックベクトルのセットの1つを特定するためにベクトル量子化を用いてビデオデータを圧縮する方法を開示している。一態様によると、この方法は以下の工程を含む。1)入力ベクトルIのノルムを計算する;2)入力ベクトルのノルムに最も近いノルムを有する基準コードブックベクトルAを特定する;3)入力ベクトルIと基準コードブックベクトルAとの間の距離hI,Jを計算する;4)入力ベクトルIの周りの限定体積のベクトル空間からのコードブックベクトル(例えば、|I|−hI,Jから|I|+hI,Jまでの範囲のノルムを有するベクトル)から成るコードブックベクトルの部分集合Sを特定する;5)入力ベクトルまでの距離が最小であるコードブックベクトルについて部分集合Sを探し;6)入力ベクトルまでの距離が最小のコードブックベクトルを選択する。工程4)における部分集合Sの特定により、工程5)において最小距離計算のために求めなければならないベクトルの数が削減される。
しかし、出願人は、この方法は入力ベクトルと基準ベクトルとの間で計算しなければならない距離計算の回数を、部分集合Sに含まれる基準ベクトルの数まで減らすが、依然として工程1〜6において多数の計算と命令を実行する必要があることに注目する。また、すべての基準コードブックベクトルのノルムだけが予めオフラインで計算してメモリに記憶でき、後で工程2)を実行しなければならないときに使用する。したがって、この方法で必要とされるオンラインでの計算労力は依然として大きい。
US5946653 EP1395978 EP0496541 US6389389 US4958225
よって、出願人は特徴ベクトルの圧縮に必要な計算労力を低減するという技術的な問題に取り組んだ。
特に、出願人はDSRシステムにおける特徴ベクトルの圧縮に要するオンライン計算の労力を低減するという技術的な問題に取り組んだ。
出願人は、コードブックを処理してコードブックを所定の領域に分割すること(該領域の各々はコードブックの基準ベクトルの部分集合からなる);及び、生成したアクセス情報を用いてその入力ベクトルをより良く表す領域を特定し、特定した領域(コードブックの数より少ない幾つかの基準ベクトルを含む)内でのみ最小歪みを与える基準ベクトルを探すことによって(新しい入力ベクトルを受信する度にオンラインで実行しなければならない)ベクトル圧縮を実行できるように、所定の領域への所定のアクセス情報を生成すること;により上記問題を解決できることを見いだした。よって、特徴ベクトルの圧縮に必要なオンラインでの計算労力が低減される。また、所与のコードブックについて1回だけコードブック処理をオフラインで実行できるので、オンライン処理に対して負担はそれほどでもない。
したがって、本発明の第1の態様は、N個の基準ベクトルの集合からなるベクトルコードブックから開始し、データ圧縮の計算労力を低減するベクトルコードブックを生成する方法であって、ここで、各基準ベクトルはQ個の特徴からなり、NとQは1より大きい正の整数であり、該方法が、
a)前記N個の基準ベクトルの集合を、前記N個の基準ベクトルの集合の所定の特徴の値に関して昇順又は降順にソートする工程と;
b)ソートした基準ベクトルの集合を部分集合に分割する工程と;
c)前記部分集合の各々と前記所定の特徴についての夫々のしきい値とを関連付ける工程と;
を含むことを特徴とする方法である。
この明細書及び特許請求の範囲において、「ベクトル」なる用語はスカラーの順序集合を示すのに用いられる。ベクトルの次元は順序集合のスカラー要素の数である。例えば、2次元ベクトルは{al,a2}として示すことができ、ここで、a1はベクトルの最初のスカラー要素であり、a2は2番目のスカラー要素である。
また、「特徴」なる用語はスカラーを示すのに用いられる。例えば、音声認識システムの場合、「特徴」なる用語は特徴抽出アルゴリズムによって入力音声から抽出された係数を示すのに用いられる。
従属請求項は本発明の特定の態様に関する。
有利には、この方法は更に、前記N個の基準ベクトルの集合を更に分割する工程を含み、前記更に分割する工程が、
d)前記部分集合の各々の基準ベクトルを、前記N個の基準ベクトルの集合の更なる所定の特徴の値に関して昇順又は降順にソートする工程と;
e)ソートした基準ベクトルの前記部分集合の各々を更なる部分集合に分割する工程と;
f)前記更なる部分集合の各々と前記更なる所定の特徴についての夫々の更なるしきい値とを関連付ける工程と;
を含む。
一態様によると、前記更に分割する工程を、該更なる分割の前の実行で得られた前記更なる部分集合を部分集合と毎回考えて、前記工程d)及びf)を実行するため前記N個の基準ベクトルの集合の別の更なる所定の特徴について所定の回数繰り返す。
更に分割する上記工程は、上記記憶工程でまだ考慮していない基準ベクトル集合の残りの特徴のどれかについて繰り返すことができる。好ましくは、基準ベクトル集合の残りの特徴のすべてについて繰り返す。
工程c)では、有利には、そのしきい値は、N個の基準ベクトルの集合の所定の(prefixed)特徴の値に依存して選択する。
工程c)では、有利には、各しきい値は、夫々の部分集合に含まれる基準ベクトルの所定の特徴の値に依存して選択する。
工程c)では、各しきい値は、夫々の部分集合の最後の基準ベクトルの所定の特徴の値から次の部分集合の最初の基準ベクトルの所定の特徴の値までの間に含まれる値に設定できる(もし存在すれば)。好ましくは、各しきい値は、夫々の部分集合の最後の基準ベクトルの所定の特徴の値に等しい値に設定する。
工程f)では、有利には、上記更なるしきい値は、N個の基準ベクトル集合の上記更なる所定の特徴の値に依存して選択する。
工程f)では、有利には、更なるしきい値の各々は、夫々の更なる部分集合に含まれる基準ベクトルの上記更なる所定の特徴の値に依存して選択する。
工程f)では、更なるしきい値の各々は、夫々の更なる部分集合の最後の基準ベクトルの上記更なる所定の特徴の値から次の更なる部分集合の最初の基準ベクトルの上記更なる所定の特徴の値までの間に含まれる値に設定できる(もし存在すれば)。好ましくは、工程f)の更なるしきい値の各々は、夫々の更なる部分集合の最後の基準ベクトルの上記更なる所定の特徴の値に等しい値に設定する。
工程d)は、工程a)で用いられる順序とは独立に、昇順又は降順にて実行できる。
工程b)では、記憶された集合をNfirst個の部分集合に分割する。ここで、Nfirstは2≦Nfirst≦Nが成り立つ正の整数である。
有利には、工程b)で得られた部分集合は実質的に同数の基準ベクトルを含む。すなわち、ほとんどすべての部分集合について、部分集合の基準ベクトルの数はN/Nfirstに等しい。
「部分集合は実質的に同数の基準ベクトルを含む」なる上記表現は、除算N/Nfirstの剰余がゼロとは異なるとき部分集合の基準ベクトルの数がすべての部分集合についてはN/Nfirstに等しくできない場合を含意することに留意されたい。
好ましくは、工程e)では、各部分集合を更なる部分集合の数Nsecond(同数)で分割する。ここで、Nsecondは1より大きい正の整数である。また、好ましくは、Nsecondは、基準ベクトルの数が最小である部分集合の基準ベクトルの数以下である。
有利には、工程e)では、各部分集合を、実質的に同数の基準ベクトルを含んだ更なる部分集合に分割する。
後で詳細に説明するように、実質的に同数の基準ベクトルを含んだ更なる部分集合により、入力ベクトルが含まれるコードブックの領域とは独立に、受信したすべての入力ベクトルに対して実質的に同じ計算労力とすることができる。
有利には、この方法は更に、工程b)で得た前記部分集合の少なくとも1つを、隣接部分集合の少なくとも1つの基準ベクトルを用いて拡張する工程g)を更に含む。
有利には、工程a)でソートした前記集合において上部の部分集合の直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の下部に加えることにより、工程a)でソートした前記集合の上部にある工程b)で得た前記部分集合を拡張することによって前記工程g)を実行する。
有利には、工程a)でソートした前記集合において下部の部分集合の直ぐ上にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の上部に加えることにより、工程a)でソートした前記集合の下部にある工程b)で得た前記部分集合を拡張することによって前記工程g)を実行する。
有利には、工程b)でソートした前記集合において中央の部分集合の直ぐ上及び直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の上部及び下部に加えることにより、工程b)で得た他の中央部分集合を拡張することによって前記工程g)を実行する。
後で詳細に説明するように、工程g)では隣接する部分集合間の重なりを生成し、これにより、本発明の方法で生成されたコードブックを用いるベクトル圧縮方法において、部分集合で表されるコードブックの隣接領域の境界近くに位置する入力ベクトルについての最小歪み計算での誤差を低減できる。
有利には、工程g)を実行するとき、工程d)及びe)を拡張された部分集合に実行する。
有利には、工程g)において、部分集合をその上部及び/又は下部にて同数の基準ベクトルだけ拡張する。
有利には、前記更に分割する工程が、工程e)の後、工程e)で得た前記更なる部分集合の少なくとも1つを、隣接する更なる部分集合の少なくとも1つの基準ベクトルを用いて拡張する工程h)も含む。
有利には、ソートした対応する拡張部分集合において上部の更なる部分集合の直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の下部に加えることにより、工程d)でソートした対応する拡張部分集合の上部にある工程e)で得た各更なる部分集合を拡張することによって前記工程h)を実行する。
有利には、ソートした対応する拡張部分集合において下部の更なる部分集合の直ぐ上にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の上部に加えることにより、工程d)でソートした対応する拡張部分集合の下部にある工程e)で得た各更なる部分集合を拡張することによって前記工程h)を実行する。
有利には、工程d)でソートした対応する拡張部分集合において工程e)で得た他の中央の更なる部分集合の直ぐ上及び直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の上部及び下部に加えることにより、前記中央の更なる部分集合を拡張することによって前記工程h)を実行する。
有利には、工程h)を実行するとき、前記更に分割する工程を、工程h)の前の実行により拡張された前記更なる部分集合を部分集合と毎回考えて繰り返す。
後で詳しく説明するように、工程h)では隣接する更なる部分集合間の重なりを生成し、それにより、本発明の方法により生成されたコードブックを用いるベクトル圧縮方法において、上記更なる部分集合により表されるコードブックの隣接領域の境界近くに位置する入力ベクトルについての最小歪み計算における誤差を低減できる。
有利には、工程h)において、上記更なる部分集合を上部及び/又は下部にて同数の行だけ拡張する。
第2の態様では、本発明は、ベクトルコードブックを生成してデータ圧縮の計算労力を低減する電子処理システムに関するものであり、本発明の第1の態様による方法の工程を実行する手段を備える。
この電子処理システムは、例えばパーソナルコンピュータ、コンピュータネットワーク、又は無線ハンドヘルド装置としての組み込み装置(例えばPDAや携帯電話)とし得る。
第3の態様では、本発明は、電子処理システム上でプログラムを実行する際に本発明の第1の態様による方法の工程を実行するよう適合したプログラム命令からなるコンピュータプログラムに関する。
有利には、このコンピュータプログラムはコンピュータ読出し可能媒体に組み込まれる。
例えば、このコンピュータ読出し可能媒体は読み出し専用メモリ又は磁気記録手段である。読み出し専用メモリの代表的な例は、CD-ROM又は半導体ROMである。磁気記録手段の代表的な例は、フロッピーディスク又はハードディスクである。
一態様によると、このコンピュータプログラムは、例えばインターネットなどのコンピュータネットワーク内で転送される際にはキャリヤ信号にて伝えられる。
一般に、このキャリヤ信号は電気信号又は光信号である。例えば、モデムにより生成された電波信号又は電気信号とし得る。このようなキャリヤ信号は、例えば電気ケーブルや光ケーブル、電波、又は他の従来の伝送手段によって送ることができる。
第4の態様では、本発明は、Q個の特徴を有する入力ベクトルにより表されるデータの圧縮方法であって、ここで、Qは1より大きな整数であり、
1)本発明の第1の態様による方法で生成されるように、インデックス付きQ特徴基準ベクトルからなる部分集合、及び所定の特徴について前記部分集合に関連付けられたしきい値を含んだベクトルコードブックを得る工程と;
2)前記所定の特徴に対応する入力ベクトルの特徴の値を前記部分集合に関連付けられた前記しきい値と漸次比較することによって、前記部分集合から基準ベクトルの部分集合を特定する工程と;
3)工程2)で特定した部分集合内で前記入力ベクトルに対して最小歪みを与える基準ベクトルを特定する工程と;
を含む方法に関するものである。
本発明によると、ベクトル圧縮は、簡単な比較工程を行い(工程2)、特定部分集合(コードブックより少ない数の基準ベクトルを含む)内でのみ最小歪みを与える基準ベクトルを特定することによって実行できる。したがって、ベクトル圧縮に要する計算労力は低減される。
また、本発明の第1の態様によるコードブックの生成は、所与のコードブックに対して1回だけオフラインで実行できる。したがって、入力ベクトルを受信する度にオンラインで実行しなければならない本圧縮方法に対して負荷をかけ過ぎない。
一般に、この歪みは、歪みを表すスカラーを得るように2個以上の入力ベクトルを処理する関数によって計算する。一般に、この関数はユークリッド距離を導入する。しかし、別の任意の種類の距離を導入することができる。
有利には、前記入力ベクトルからの距離が最小の基準ベクトルを特定することによって工程3)を実行する。一般に、これは、入力ベクトルと工程2)で特定した部分集合に含まれる各基準ベクトルとの間の距離を計算することによって実行する。
有利には、この圧縮方法は更に、工程3)で特定した前記基準ベクトルのインデックスを前記入力ベクトルと関連付ける工程を更に含む。
有利には、本発明の第1の態様による方法により生成されるように、工程1)において、インデックス付きQ特徴基準ベクトルからなる更なる部分集合、及び更なる所定の特徴について前記更なる部分集合に関連付けられた更なるしきい値をも、基準ベクトルの各部分集合に対して得る。
有利には、この圧縮方法は更に、前記更なる所定の特徴に対応した前記入力ベクトルの更なる特徴の値を前記更なる部分集合に関連付けられた前記更なるしきい値と漸次比較することによって、工程2)で特定した前記部分集合に対応する前記更なる部分集合から更なる部分集合を特定する工程4)を更に含み、工程3)は工程4)で識別した前記更なる部分集合内で実行する。
有利には、本発明の第1の態様による方法の工程g)により生成されるように、工程1)において拡張部分集合を得、工程2及び3)は該拡張部分集合に対して実行する。
有利には、本発明の第1の態様による方法の工程h)により生成されるように、工程1)において拡張された更なる部分集合を得、工程4及び3)は該拡張された更なる部分集合に対して実行する。
第5の態様では、本発明は本発明の第4の態様による方法の工程を実行する手段を備えたデータ圧縮用の電子処理システムに関する。
この電子処理システムは、例えば、パーソナルコンピュータ、コンピュータネットワーク、無線ハンドヘルド装置としての組み込み装置(例えば、PDAや携帯電話)、又は特にDSRシステムのユーザー装置とし得る。
別の態様では、本発明は、電子処理システム上でプログラムを実行する際に本発明の第4の態様による方法の工程を実行するよう適合したプログラム命令からなるコンピュータプログラムに関する。
コンピュータプログラムの特徴に関しては、本発明の第3の態様について記載した事項を参照されたい。
別の態様では、本発明は、
- デジタル入力データを処理してQ特徴ベクトルを得る特徴抽出装置であって、ここでQは1より大きな整数である特徴抽出装置と;
- ソートしたインデックス付きQ特徴基準ベクトルからなる所定の部分集合と、前記部分集合に関連付けられた所定のしきい値とからなる少なくとも1つのベクトルコードブックを記憶するためのメモリ装置と;
- 前記特徴抽出装置により得た各入力Q特徴ベクトルについて、前記入力ベクトルの所定の特徴を前記所定のしきい値と比較することによって、記憶された部分集合の一つを特定すると共に、前記特定した部分集合内で前記入力特徴ベクトルに関して歪みが最小の基準ベクトルを特定するためのデータ圧縮装置と;
を備えたデータ圧縮用装置に関するものである。
有利には、前記データ圧縮装置がまた、最小歪みを与える前記基準ベクトルのインデックスと前記入力Q特徴ベクトルを関連付ける。
有利には、前記データ圧縮装置が本発明の第4の態様による方法の工程を実行する。
有利には、前記メモリ装置がソートしたインデックス付きQ特徴基準ベクトルからなる前記(拡張された)部分集合又は(拡張された)更なる部分集合、前記しきい値、及び本発明の第1の態様による方法により生成した更なるしきい値を記憶する。
有利には、この装置は更に、本発明の第1の態様による方法の工程を実行すると共に、前記(拡張された)部分集合又は(拡張された)更なる部分集合、しきい値、及び前記メモリ装置において前記方法により生成した更なるしきい値を記憶するコードブック処理装置を更に備える。
有利には、この装置は更に、入力音声信号をデジタル音声データに変換して前記特徴抽出装置に与えるための変換装置を更に備える。
別の態様では、本発明は
- 本発明の前の態様によるユーザー装置と;
- 前記デジタル入力データを再構成するための認識装置と;
- 前記ユーザー装置と前記認識装置との間でデータを伝送するためのデータ伝送路と;
を備える分散型音声認識システムに関するものである。
有利には、前記ユーザー装置が、前記入力Q特徴ベクトルと共に最小歪みを与える前記基準ベクトルのインデックスを前記認識装置に伝送する。
有利には、分散型音声認識システムが、本発明の第1の態様による方法の工程を実行すると共に、(拡張された)部分集合又は(拡張された)更なる部分集合、しきい値、及びメモリ装置において前記方法により生成したすべての更なるしきい値を記憶するコードブック処理装置を更に備える。
以下、添付図面に非限定的な例として示された態様について本発明の特徴と利点を説明する。
図9は本発明によるデータ圧縮方法のフローチャートを表す。
この方法は、例えば音声認識システムのクライアント側で使用できる。
この方法はブロック900にて開始し、セットアップ段階とランタイム段階とを含む。
このセットアップ段階はブロック901で表されるコードブック生成工程(又は領域フォーマッティング工程)を含み、所定のコードブックを所定の領域に分割する。
ランタイム段階は、各入力特徴ベクトルに対して実行し、領域選択工程と最小歪み探索工程(又は最小歪み探索・マッピング工程)とを含み、それぞれブロック902とブロック903により表される。領域選択工程では、最小歪みを入力ベクトルに与えるコードブックベクトルを含んだコードブックの領域を特定する。最小歪み探索工程では、最小歪みを入力ベクトルに与えるコードブックベクトルを、特定した領域内で見つけ、特定したコードブックベクトルのインデックスを用いて入力ベクトルをマッピングする。
ブロック904では、新しい特徴ベクトルを処理しなければならないか否かを調べる。否であれば、プロセスが終了する(ブロック905)。
以下、本発明の方法をさらに詳しく説明する。
データ圧縮の計算労力を低減する本発明のコードブック生成方法によると、コードブックを所定の領域に分割して、その各々が基準ベクトルの部分集合からなるようにすると共に、この所定の領域へのアクセス情報を生成するように、各基準ベクトルがQ個の順序付けられた特徴を有するN個の基準ベクトルの集合からなるコードブックを処理する。
1つのコードブックはN行Q列からなるテーブルにより表すことができ、その各列はコードブックのベクトルを表す。
この表現に従うと、Q列とテーブル行の部分集合とからなるサブテーブルが、コードブック基準ベクトルの対応する部分集合から成るコードブック空間の領域を表す。
このテーブルは、所定のサブテーブルとサブテーブルへのアクセス情報とを得るようにテーブルの行の分割及びソートの反復操作を行なうことによって処理する。
図1のフローチャートは上記コードブック生成工程の好ましい態様を概略的に示す。この生成工程は、ここで考慮している例では、N個の二特徴ベクトル(すなわちQ=2):{C1,A;C1,B}、{C2,A;C2,B}…{CN,A;CN,B}を有する非一様コードブックについて実行し、ここで、1、2…Nは基準ベクトルのインデックスを示し、A及びBはそれぞれ該ベクトルの第1及び第2の特徴を示す。
図2は64個の基準ベクトル(すなわち、Q=2及びN=64)からなる非一様二次元コードブックの例を示し、DSR圧縮アルゴリズムのETSI「Aurora」規格に規定されている。
図1のフローチャートによると、この手順はブロック100にて開始し、ブロック101にて非一様コードブックをテーブルに変換する。
図3はブロック101で形成したテーブルの例を示し、N個の二特徴ベクトル{C1,A;C1,B}、{C2,A;C2,B}…{CN,A;CN,B}からなる。
ブロック102では、この2列の一方を選択し、テーブルのベクトルのすべてを、選択した列に含まれる特徴値について昇順(又は降順)に行ごとにソートし、ベクトルの特徴すべての間の対応を維持する。
ブロック103では、ソートして得られたN行のテーブルを、好ましくは複数の行(最も考えられるのは互いに等しい、すなわち、最も考えられるのはN/Nfirstに等しい)を有するNfirst個の二列サブテーブルに分割する。
もちろん、このNfirst個のサブテーブルは、除算N/Nfirstの剰余がゼロの場合はN/Nfirstに等しい同じ行数を有することができる。
簡単のため、以下の説明では上記剰余をゼロと仮定する。
ブロック104では、ブロック103で得たNfirst個サブテーブルを特定するNfirst個の第1しきい値を定める。
このNfirst個の第1しきい値は、例えば、対応するサブテーブルの選択された列に含まれる最後の値と、次のサブテーブルの選択された列に含まれる最初の値との間に含まれる値に設定できる(もし存在すれば)。好ましくは、Nfirst個の第1しきい値は、対応するサブテーブルの選択された列に含まれる最後の値に等しくなるように設定する。
ブロック105では、好ましくは、各サブテーブルを、その上部及び/又は下部に、記憶されたテーブル中で該サブテーブルに先行及び後続するMfirst行(もしあれば)に対応するMfirst行を加えることによって拡張する。ここで、Mfirst≦N/Nfirstである。このようにして、Pfirst,i行からなる拡張サブテーブルを得る。ここで、Pfirst,iは以下の値をとることを仮定できる。
テーブルの上部及び下部の拡張サブテーブルについて:Pfirst,1=(N/Nfirst)+Mfirst
テーブルの他の中央拡張サブテーブルすべてについて:Pfirst,2=(N/Nfirst)+2Mfirst
ブロック106では、前にブロック102で用いた順とは独立に、ベクトルの特徴すべての間の対応を維持しつつ、各拡張サブテーブルのベクトルをもう一方の列に含まれる特徴値について昇順(又は降順)でソートする。
ブロック107では、Pfirst,i行を有するソートした各拡張サブテーブルを、Nsecond個の更なる二列サブテーブルに分割し、その結果、該更なるサブテーブルの行数はPfirst,i/Nsecondとなる。それらは低次元なので、上部及び下部拡張サブテーブルは、もう一方の拡張サブテーブルよりも少ない行数を有することになる。
もちろん、各拡張サブテーブルから得たこれらNsecond個の更なるサブテーブルは、除算Pfirst,i/Nsecondの剰余がゼロの場合、Pfirst,i/Nsecondに等しい同じ行数を有し得る。
簡単のため、以下の説明では上記剰余をゼロと仮定する。
ブロック108では、Nfirst個の拡張サブテーブルの各々に対してブロック107で得たNsecond個の更なるサブテーブルを特定するNsecond個の第2しきい値を定める。
したがって、Nfirst・(Nsecond)個のしきい値の総計を得る。
second個の第2しきい値は、例えば、第1しきい値を定めるために上記説明したのと同じ基準で定義できる。
ブロック109では、好ましくは、次元Pfirst,i/Nsecondの更なるの各サブテーブルを、その上部及び/又は下部に、ソートした対応する拡張サブテーブル中で該更なるサブテーブルに先行及び後続するMsecond行(もしあれば)に対応するMsecond行を加えることによって拡張する。ここで、Msecond≦(Pfirst,i/Nsecond)である。このようにして、Psecond,j行からなる拡張された更なるサブテーブルを得る。ここで、Psecond,jは以下の別個の値をとることを仮定できる。
上部及び下部拡張サブテーブルの更なる上部及び下部拡張サブテーブルについて:
second,1=(Pfirst,1/Nsecond)+Msecond
上部及び下部拡張サブテーブルの一方の更なる中央拡張サブテーブルすべてについて:
second,2=(Pfirst,1/Nsecond)+2・Msecond
一方の中央拡張サブテーブルすべての更なる上部及び下部拡張サブテーブルについて:
second,3=(Pfirst,2/Nsecond)+Msecond
一方の中央拡張サブテーブルすべての一方の更なる中央拡張サブテーブルすべてについて:
second,4=(Pfirst,2/Nsecond)+2・Msecond
ブロック110では、生成した拡張サブテーブルと第1及び第2しきい値をメモリに記憶し、後でベクトル圧縮方法において使用できるようにする。
留意すべきは、ブロック105及び109で行なう拡張工程は本発明のコードブック生成方法の(必要ではないが)好ましい工程であり、サブテーブルと更なるサブテーブルとの間の重なりを与えることにより、上述の(更なる)サブテーブルにより表されるコードブックの隣接領域の境界近くに位置する入力ベクトルに対しても、ベクトル圧縮における誤差を大きく低減できる。
いったん本発明の方法により所定のコードブックを生成したなら、新しい入力ベクトルを受信するたびに、その入力ベクトルを上記所定のコードブック内で最小歪みを与える基準ベクトルのインデックスと置き換えることによってベクトル圧縮を実行できる。
特に、本発明によるベクトル圧縮方法は、領域選択及び最小歪み探索からなる上記2つの手順を含む。
図4のフローチャートは、図1について説明した事項に基づいて処理した二特徴入力ベクトル{X,X}及び二次元コードブックについての領域選択手順の好ましい態様を概略的に示す。
ブロック401にて手順が開始し、Nfirst個の第1しきい値とNsecond個の第2しきい値をメモリから抽出し(ブロック402)、新しい入力ベクトル{X,X}を受信する(ブロック403)。
ブロック404ではパラメータi及びjを1に初期化する。
ブロック405では、入力ベクトルのX特徴をi番目の第1しきい値(FIRST_TH)と比較する。X≦FIRST_THならば、ブロック408にてi番目のサブテーブルを選択する。X>FIRST_THならば、ブロック406にてiパラメータをNfirstと比較する。i<Nfirstならば、ブロック407にてiを1だけインクリメントし(i=i+1)、ブロック405に戻る。そうでなければ、ブロック408にてi番目のサブテーブルを選択する。
換言すれば、ブロック405〜408では、入力ベクトルが含まれるサブテーブルを特定するために、入力ベクトル{X,X}の最初の特徴(すなわちX)を、Nfirst個の第1しきい値と漸次比較する。
次に、ブロック409〜412では、ブロック408で選択したi番目のサブテーブル内で、入力ベクトルが含まれる更なるサブテーブルを特定するために、入力ベクトル{X,X}の二番目の特徴(すなわちX)をNsecond個の第2しきい値と漸次比較する。
特に、ブロック409では、入力ベクトルのX特徴をj番目の第2しきい値(SECOND_TH_i)と比較する。X≦SECOND_TH_iならば、ブロック412にてブロック408で選択したi番目のサブテーブルのj番目の更なるサブテーブルを選択する。X>SECOND_TH_iならば、ブロック410にてjパラメータをNsecondと比較する。j<Nsecondならば、ブロック411にてjを1だけインクリメントし(j=j+l)、ブロック409に戻る。そうでなければ、ブロック412にてブロック408で選択したi番目のサブテーブルのj番目の更なるサブテーブルを選択する。ブロック413にてこの手順が終了する。
図4に示す態様では、コードブック生成方法のブロック102及び106で行なうソートが昇順で行われたものと仮定している。ブロック102及び/又はブロック106において降順が用いられている場合には、ブロック405及び/又はブロック409にて特徴X及び/又はXが(しきい値より小さいことをチェックする代わりに)しきい値より大きいことをチェックする。
また、図4に示す態様では、入力ベクトルの最初の特徴Xを第1しきい値と漸次比較し、入力ベクトルの二番目の特徴Xを第2しきい値と漸次比較しているが、コードブック生成方法において、この第1しきい値がテーブルの第1列に対して関連付けられ、第2しきい値が第2列に対して関連付けられたものと仮定される。
しかし、一般に、しきい値の集合がコードブックテーブルのq番目の列に関して定められた場合には、入力ベクトルのq番目の特徴は上記しきい値の集合と漸次比較されるものであることに留意されたい。
図10は本発明による領域選択手順を概略的に示し、二特徴入力ベクトルと第1列C及び第2列Cを有する二次元テーブルにより表される二次元コードブックとに対して実行する。図示された例では、第3拡張サブテーブルSの第2の拡張された更なるサブテーブルが最小歪み探索手順の領域選択手順によって特定されている。
図5のフローチャートは最小歪み探索手順の好ましい態様を概略的に示しており、入力ベクトルからの距離が最小の基準ベクトルを特定することによって最小歪みを計算する。
この手順によると、この最小距離基準ベクトルを、領域選択手順のブロック412で選択したi番目のサブテーブルのj番目の拡張された更なるサブテーブル内で探索する。次に、受信した入力ベクトルを、特定された基準ベクトルのインデックスを用いてマッピングする。
具体的には、ブロック501にてこの手順が開始する。
ブロック502では、パラメータBEST_DISTを当該コードブックの2つのポイント間の最大距離以上の値に等しい値MAX_DISTに初期化し;パラメータkを、領域選択手順のブロック412で選択した拡張された更なるサブテーブルに含まれる第1基準ベクトルのインデックスに等しい値mに初期化し;上記拡張された更なるサブテーブルの行数Psecond,jをロードする。
ブロック503では、ブロック412で選択した拡張された更なるサブテーブルのPsecond,j基準ベクトル{CK,A,CK,B}すべてが処理されたか否かを調べる。すなわち、kがm+(Psecond,j−1)より大きいか否かを調べる。
肯定の場合には、手順を終了する(ブロック509)。否定の場合には、ブロック504にて入力ベクトル{X,X}と現在の基準ベクトル{CK,A,CK,B}との間の距離DISTを計算する。
ブロック505では、計算した距離DISTとBEST_DISTパラメータとを比較する。DIST<BEST_DISTならば、ブロック506にてパラメータBEST_DISTを上記計算した距離DISTに設定し、そうでなければ、ブロック508にてパラメータkを1だけインクリメントし(k=k+1)、ブロック503に戻る。
ブロック507では、受信したベクトル{X,X}を、現在の基準ベクトル{CK,A,CK,B}のインデックスで置き換え、ブロック508に戻る。
本発明によると、この最小歪み探索手順は、Psecond,jに等しい数の要素を含んだ拡張された更なるサブテーブル内で実行する。
この最小歪み探索手順は、例えば(重み付き)ユークリッド距離計算によって実行できる。
入力ベクトルがテーブルの中央サブテーブルから得られた更なる中央サブテーブル内に位置するとき、距離計算の最大回数(DNM)について最悪の場合が起こる。実際、この場合に、更なるサブテーブルと対応サブテーブルとの両方が上部及び下部にて拡張される。
特に、この最悪の場合には、ブロック504で行なう距離計算の最大回数は次式により与えられる。
DNM=Psecond,4=(Pfirst,2/Nsecond)+2・Nsecond
ここで、Pfirst,2=(N/Nfirst)+2・Mfirst
したがって、距離計算の最大回数(DNM)は次式により与えられる。
例として、64個の二基準ベクトルからなる非一様コードブック(N=64、Q=2)を考える。64行2列の対応コードブックテーブルを、例えば4で分割する(Nfirst=4)。(N/Nfirst)=64/4=16行を有する4個のサブテーブルが得られる。次に、このサブテーブルを8行だけ拡張する(Mfirst=8)。このようにして、拡張サブテーブルの行数は下記のようになる。
・最初と最後(上部と下部)の拡張サブテーブルについて:
(1)=P(4)=Pfirst,1=(N/Nfirst)+Mfirst=24
・中央拡張サブテーブルについて:
(2)=P(3)=Pfirst,2=(N/Nfirst)+2・Mfirst=32
次に、各拡張サブテーブルを4個の更なるサブテーブル(Nsecond=4)に分割することで、Nfirst・Nsecond=4・4=16に等しい総数の更なるサブテーブルが得られ、下記の行数を有する。
・最初と最後のサブテーブルから得られた更なるサブテーブルについて:
first,1/Nsecond=24/4=6
・他のすべての更なるサブテーブルについて:
first,2/Nsecond=32/4=8
次に、この更なるサブテーブルを3行だけ拡張する(Msecond=3)。このようにして、拡張された更なるサブテーブルの行数は下記のようになる。
・最初と最後の拡張サブテーブルに関する最初と最後の拡張された更なるサブテーブルについて:
(1,1)=P(1,4)=P(4,1)=P(4,4)=(Pfirst,1/Nsecond)+Msecond=9
・最初と最後の拡張サブテーブルに関する他のすべての更なる中央拡張サブテーブルについて:
(1,2)=P(1,3)=P(4,2)=P(4,3)=(Pfirst,1/Nsecond)+2・Msecond=12
・中央拡張サブテーブルに関する最初と最後の拡張された更なるサブテーブルについて:
(2,1)=P(2,4)=P(3,1)=P(3,4)=(Pfirst,2/Nsecond)+Msecond=11
・中央拡張サブテーブルに関する他のすべての更なる中央拡張サブテーブルについて:
(2,2)=P(2,3)=P(3,2)=P(3,3)=(Pfirst,2/Nsecond)+2・Msecond=14
この例では、14に等しい距離計算の最大回数DNMが得られた。この値は、上述した関係によって下記の通り得ることができる。
したがって、本発明により実行する距離計算の最大回数は、従来のETSI圧縮アルゴリズム(網羅的な計算)で行なわなければならない距離計算の回数(Nに等しい)よりも少ない。
本発明のコードブック生成方法では、しきい値がサブテーブル及び更なるサブテーブルに関連付けられるが、好ましくは最小歪み探索手順は拡張された更なるサブテーブル内で実行されることに更に留意されたい。このことにより、入力ベクトルが上記更なるサブテーブルにより表されるコードブック領域の境界近くに位置する場合でさえ、ベクトル圧縮における誤差を有利に低減できる。
本発明のコードブック生成方法で用いる上述のパラメータNfirst、Mfirst、Nsecond及びMsecondの選択については、例えば、次の近似手順により実行できる。すなわち、これらのパラメータは、まず多数の行を有するサブテーブル(更なるサブテーブル)を使用し、入力ベクトルの所与の集合(例えばアプリケーションから得られるか、又はランダムに生成する)についてのベクトル圧縮方法の結果を調べ、そして、該圧縮方法の誤差が該アプリケーションに依存する許容可能な予め設定されたしきい値より小さくなるまで、サブテーブル(更なるサブテーブル)の行数を漸次減少させることによって選択できる。
これに関し、上述のパラメータは高い柔軟性で選択できることが分かる。実際、種々のサブテーブルは互いに異なる行数を有することができ、かつ/又は異なる行数(例えば、各サブテーブルに対して異なるMfirst)だけ拡張できる。同様に、種々の更なるサブテーブルは互いに異なる行数を有することができ、かつ/又は異なる行数(例えば、各更なるサブテーブルに対して異なるMsecond)だけ拡張できる。例えば、有利には、これらのパラメータは、奇数個の基準ベクトルを有するか又は2の累乗数でない基準ベクトルを有する非一様コードブックの場合でさえ、ほぼ同じ行数を有する更なるサブテーブルを得るように選択できる。
出願人は、最小歪み探索手順の複雑さ及び精度に関して上述のパラメータの選択手順を最適化する方法を見いだした。
提案する方法では、最小歪み探索手順で必要とされる計算労力が、受信入力ベクトルが含まれる領域とは独立に、受信入力ベクトルすべてについてほぼ同じとなるように、ほぼ同数の基準ベクトルを含んだ非一様コードブック空間内の領域(すなわちほぼ同数の行を有するコードブックテーブルの拡張された更なるサブテーブル)を生成することを目指す。このように、非一様コードブック空間をほぼ同数のポイントを有する異なる次元の領域に分割する。
提案する最適化方法では、以下の条件が課される。
・テーブルと各拡張サブテーブルを、((更なる)サブテーブルが一方の側でのみ拡張されたより小さい次元を有する極端な状態を考えて)ほぼ同数の行(それぞれN/NfirstとPfirst,i/Msecondに等しい)を含んだサブテーブルと更なるサブテーブルとにそれぞれ分割する;
・サブテーブルを同じ行数Mfirstだけ拡張し、更なるサブテーブルを同じ行数Msecondだけ拡張する;
・基準ベクトルの数Nは2の累乗に等しい:N=2。コードブック中の基準ベクトルの数が2の累乗でない場合には、2の累乗に等しい行数を得るため、ダミーの基準ベクトル(例えばコードブック最低又は最大ベクトルに等しい集合)からなるテーブルの下部又は上部にいくつかの行を加えることができる。次に、最小歪み探索手順の実行からダミーベクトルを除外する。上述した「AURORA」ETSI規格により定められたコードブックはすべて、下記の通り2の累乗に等しいN数個の基準ベクトルを有することが分かる。
・Nfirstは2の累乗である:Nfirst=2
・Mfirstの最大値はN/Nfirstである;
・Nsecondの最大値はPfirst,1である;
・Nsecondは2の累乗である:Nsecond=2
・Msecondの最大値はPfirst,1/Nsecondである;
・次の関係を満たさなければならない:

ここで、r、s、t、uは負でない整数であり、modはモジュロ演算子である(すなわち、「x mod y」は除算「x/y」の剰余である)。
図6のフローチャートはパラメータ最適化方法の好ましい態様を概略的に示す。この方法では、上述した条件が満たされること、及び最終的な解が複雑さ関数CPX(後で定義)の最小に対応し、かつ誤差が所定のしきい値THR_ERR(最終的にはゼロに設定)より小さくなることを検証することによって、値BEST_Nfirst、BEST_Mfirst、BEST_Nsecond、BEST_Msecondの最適な組を計算する。
図6のフローチャートによると、4つの組み込みループを実行する。
ブロック701にて手順を開始する。
ブロック702にてパラメータBEST_CPXをNに初期化する(複雑さ関数CPXの最悪の場合)。
ブロック703にて、パラメータrを1に初期化し(すなわちBEST_Nfirst=2=2)、パラメータBEST_Nfirstを設定することを目的とする最も外側の最初のループを開始する。
ブロック704では、このrパラメータ値をnと比較する。r=n(すなわち、BEST_Nfirst=2=N)ならば、ブロック708にて最適化手順を終了する。r≠nならば、ブロック705を実行する。
ブロック705では、パラメータsをN/Nfirst(すなわちBEST_Mfirst=N/Nfirst)に初期化し、パラメータBEST_Mfirstを設定することを目的とする第2ループを開始する。
ブロック706では、このsパラメータ値をゼロと比較する。s=0(すなわち、BEST_Mfirst=0)ならば、ブロック707にてパラメータrを1だけインクリメントし(r=r+1)、ブロック704に戻る。s≠0ならば、ブロック709にてパラメータtをlog(Pfirst,1)に設定し、パラメータBEST_Nsecondを設定することを目的とする第3のループを開始する。
ブロック710では、このtパラメータ値を1と比較する。t=1(すなわち、BEST_Nsecond=2=1)ならば、ブロック711にてパラメータsを1だけ減じ(s=s?1)、ブロック706に戻る。t≠1ならば、ブロック712にて以下の条件を調べる。すなわち、条件とは、Pfirst,1 mod Nsecond≠0;Pfirst,2 mod Nsecond≠0である。この条件のうち1つが満たされるならば、ブロック713にてパラメータtを1だけ減じ(t=t?1)、ブロック710に戻る。上記条件のどれも満たさなければ、ブロック714にてパラメータuをPfirst,1/Nsecond(すなわち、BEST_Msecond=Pfirst,1/Nsecond)に設定し、パラメータBEST_Msecondを設定することを目的とする第4ループを開始する。
ブロック715では、このuパラメータ値をゼロと比較する。u=0(すなわち、BEST_Msecond=0)ならば、ブロック713にてパラメータtを1だけ減じ(t=t−1)、ブロック710に戻る。u≠1ならば、ブロック716にて複雑さ関数CPXを計算する。
複雑さ関数CPXは、最小歪み探索手順によって最小歪み基準ベクトルを見つけるためにランタイムに実行しなければならない距離計算の回数を表す。例えば、複雑さ関数は、各領域(各拡張された更なるサブテーブル)内に含まれる基準ベクトルの平均数として定義され、コードブックを分割したすべての領域(すべての拡張された更なるサブテーブル)を考慮に入れて計算する。すなわち、次式の通りである。
ブロック717では、ブロック716にて計算したCPX値をBEST_CPXパラメータと比較する。CPX≧BEST_CPXならば、ブロック713にてパラメータtを1だけ減じ(t=t−1)、ブロック710に戻る。CPX<BEST_CPXならば、ブロック718にて誤差パラメータERRを計算する。
ブロック719では、ブロック718にて計算したERR値をTHR_ERRと比較する。ERR>THR_ERRならば、ブロック713にてパラメータtを1だけ減じ(t=t−1)、ブロック710に戻る。ERR≦THR_ERRならば、ブロック720にてパラメータBEST_Nfirst、BEST_Mfirst、BEST_Nsecond、BEST_Msecond、BEST_CPXをそれぞれ2、s、2、u及びCPXに等しくなるように設定する。それから、ブロック721にて、パラメータuを1だけ減じ(u=u−1)、ブロック715に戻る。CPX<BEST_CPXであるときだけ、ブロック718で誤差パラメータERRを計算することが分かる。すなわち、複雑さ関数CPXの新しい極小が、ブロック720の最後の実行で設定したパラメータBEST_Nfirst、BEST_Mfirst、BEST_Nsecond、BEST_Msecond、BEST_CPXの値を用いて見つかった場合にのみ、誤差パラメータERRを計算する。このことにより、有利には最適化手順の計算回数が有利に低減される。
ブロック718では、入力ベクトルの集合(アプリケーションに依存するか又はランダムに生成)に対して本発明による最小歪み探索手順を実行し、そのようにして得た結果を従来の網羅的計算アルゴリズムにより得られた結果と比較することによって、この誤差パラメータERRを得ることができる。
ブロック719で用いるしきい値THR_ERRはユーザーが事前に定め、アプリケーションに依存し、ゼロに設定することもできる。
図6に示す態様では、パラメータNfirstを設定することを目的としブロック704にて開始する最も外側のループは、最小値2から最大値Nまで変化するNfirstについて実行することが分かる。よって、パラメータ最適化手順では、まずNfirstの小さい値を用いて調べることで、有利には本発明のコードブック生成方法において形成するサブテーブルの数を少なくし、よって記憶すべきサブテーブルの数を減らすことができる。
パラメータMfirstを設定することを目的としブロック705にて開始するループに関しては、最大値N/Nfirstから最小値0まで変わるMfirstについて実行する。このように、パラメータ最適化手順は、複雑さを最大値から最小値まで調べることにより実行する。
パラメータNsecondを設定することを目的としブロック709にて開始するループに関しては、最大値Pfirst,1から最小値2まで変わるNsecondについて実行する。このように、パラメータ最適化手順では、まずNsecondの大きな値について調べることで、有利には本発明のコードブック生成方法において形成すべき基準ベクトルの数を少なくし更なるサブテーブルの数を多くできるので、複雑さ関数を低減できる。
パラメータMsecondを設定することを目的としブロック714にて開始するループに関しては、最大値Pfirst,1/Nsecondから最小値0まで変わるMsecondについて実行する。このように、ERRパラメータがMsecondの現在の値を有するしきい値THR_ERR以上であるならば、Msecondのうちより小さい値は調べず、Nsecondの別の値を用いて手順を繰り返す。有利には、このことにより、最適化手順の計算を削減できる。
二次元コードブック(Q=2)に関してパラメータ最適化手順を説明してきたが、二次元の場合の上記説明から当業者に明らかなように、Q次元コードブック(Q>2)の場合にも拡張できる。
本発明のコードブック生成方法のように、本発明のパラメータ最適化手順もまた、所与のコードブックに対して1回だけオフラインで実行できることが分かる。
パラメータ最適化手順は、所定のアプリケーションに与えられたコードブックのNfirst、Mfirst、Nsecond及びMsecondパラメータの最適値を該アプリケーションに対して選択するためだけでなく、何らかの理由で該アプリケーションに与えられたコードブックが変わるとき、上記パラメータの新しい最適値を選択するためにも用いることができることも分かる。
二次元コードブック(Q=2)についての図1、4及び5のフローチャートに関して、本発明のコードブック生成方法及び圧縮方法を上記説明した。しかし、本発明の方法はN行Q列からなるQ次元コードブック(Qは2より大)にも適用できる。
この場合、図7に概略的示されるように、二列コードブックテーブルについて開示したコードブック生成方法のソート、分割及び拡張工程を、Q列コードブックテーブルの各列について反復して実行することができる。
特に、有利にはコードブックテーブルの各列に対して以下の工程を繰り返さなければならない。
・テーブルの行又は前のサイクルで得られた各(拡張)サブテーブルの行を、現在考慮中の列に含まれる特徴値に対して昇順又は降順にソートする;
・テーブル、又は前のサイクルで得られた各(拡張)サブテーブルを所定数のサブテーブルに分割する;
・現在考慮中の列について1つのしきい値を各サブテーブルに関連つける;
・テーブルの別の列(もし存在すれば)を考慮し、各サブテーブルを所定数の行だけ適宜拡張することで、次のサイクルで処理すべき拡張サブテーブルを生成する。
生成した(拡張)サブテーブル又は更なる(拡張)サブテーブル、及び生成したすべてのしきい値は、後で、領域選択手順及び上記説明したものと類似の最小歪み探索手順において使用できるように、メモリに記憶する。
一般に、上述の工程の最後の実行によって生成した(拡張)サブテーブル又は(拡張)更なるサブテーブルのみをメモリに記憶できることが分かる。
拡張工程が実行されない場合には、これは上述の工程の最後の実行で得られる際にソートされる基準ベクトルと共にテーブルをメモリに記憶することに対応する。
確かに、拡張工程を実行する場合、最後から二番目の対象列に関して実行される分割及び拡張工程で生成して最後の列に関してソートした(更なる)拡張サブテーブルをメモリに記憶するのが有利である。最後の対象列に関して実行されるソート、分割及び拡張工程で生成した拡張された更なるサブテーブル(領域選択手順及び最小歪み探索手順で使用される)は、適当なポインタによってアクセスできる。
最後から二番目の対象列に関して実行される分割及び拡張工程で生成した(更なる)拡張サブテーブルは全体として、最後の対象列に関して実行されるソート、分割及び拡張工程で生成する更なるサブテーブルと比べて少ない数の基準ベクトルを含むので、メモリ空間を節約できる。
図7では、影付き長方形が、図4に関して開示したものと類似の領域選択手順により受信入力ベクトルについて漸次特定できる(拡張)サブテーブルの例を表す。
図7から明らかなように、コードブックテーブルの列が増えれば、最小歪み探索手順により最後に選択したサブテーブル601内で計算しなければならない距離計算の回数が減る。
確かに、図示された例では、第1列から最後の列まで影付き拡張サブテーブルの行数が減少している。最小歪み探索手順を適用するのに用いるサブテーブルは最後の列中にあるので、本発明では、列数を増すことにより、特徴ベクトル圧縮で必要な計算労力をいっそう削減できる。
本発明によるコードブック生成方法、領域選択手順、最小歪み探索手順、及びパラメータ最適化手順は、適当なハードウエア、ファームウエア及び/又はソフトウエアの実装によりパーソナルコンピュータ、組み込み装置又はコンピュータネットワークなどの電子処理システムによって実行できる。
上記実装は、本明細書から当業者には明らかな原理に従って本発明の範囲から逸脱することなく設計される。
本発明の方法は、よりコンパクトなフォーマットにて情報を伝送又は記憶するためにデータ圧縮が必要とされるときにはいつでも使用できる。例えば、画像処理システムにおける画像信号の圧縮、又は分散型音声認識システムにおける音声信号の圧縮に使用できる。
例として、図8は、本発明により実現される分散型音声認識システム800の一態様のブロック図である。
システム800は特徴抽出及びデータ圧縮のためのユーザー装置810と、最終的な信号認識のための認識システム820(又は「バックエンド」)とを備える。ユーザー装置810と認識システム820は、それぞれ携帯電話と遠隔サーバ820とし得る。
システム800は、データネットワーク805を更に備え、ユーザー装置810と認識システム820との間でのデータ交換のためにデータ伝送路を構成する。
図8に示すブロック図では、ユーザー装置810は変換装置801を備え、変換装置801では、入力音声をサンプリングして元の入力音声のデジタル表現に変換する。変換装置801は電気音響装置であり、音圧波形をデジタル信号に変換するすべての装置、例えばマイクロフォン変換器、アナログフィルター、自動利得制御器及びアナログ・デジタル変換器などが挙げられる。
ユーザー装置810は更に特徴抽出装置802(又は「フロントエンド」)を備え、特徴抽出装置802では、デジタル化した音声を特徴抽出アルゴリズムで処理して一連の特徴ベクトルを生成する。この特徴抽出アルゴリズムは上述の「AURORA」ETSI規格に従って実行でき、入力音声の各時間フレームに対して14特徴ベクトルを生成する。
分割装置803は、14特徴をペアでグルーピングすることによって各14特徴ベクトルを7個の二特徴ベクトルに分割する。
圧縮装置804は、本発明のコードブック生成方法により生成した7個の夫々の所定コードブックを用いることにより、これら7個の二特徴ベクトルの各々を本発明のベクトル圧縮方法により圧縮する。好ましくは、本発明のコードブック生成方法で用いるパラメータNfirst、Mfirst、Nsecond、及びMsecondは、本発明のパラメータ最適化手順により予め選択する。メモリ装置806は、本発明のコードブック生成方法により得た(更なる)サブテーブル及びしきい値を記憶する。
ベクトル圧縮ブロック804から出力されたインデックスは、データ伝送路805を介して認識システム820に送り、認識システム820が、従来技術により入力音声の認識及び/又は再構成を行なうべく入ってくるインデックスを処理する。このデータ伝送路は例えば4.8kbit/sの無線データチャンネルとし得る。
モバイル機器は計算、メモリ、及び電池エネルギーについて制限されているので、本発明のコードブック生成方法及びパラメータ最適化方法は、有利には例えばパーソナルコンピュータなどのモバイル機器の外部の電子処理システムによってオフラインで実行できる。その場合、ベクトル圧縮装置804により使用すべく生成した(更なる)拡張サブテーブル及びしきい値は、モバイル機器のメモリ(例えば、メモリ装置806)に記憶する。
このようにして、上述したように必要とされる計算労力の少ない本発明のベクトル圧縮方法を、限定的な資源に負荷をかけ過ぎることなくモバイル機器で実行する。
本発明のコードブック生成方法を概略的に説明するフローチャートである。 二特徴基準ベクトルからなる非一様コードブックの例を示す。 N個の二特徴ベクトルを有するコードブックを表すテーブルの例を示す。 本発明による領域選択手順の好ましい態様を概略的に説明するフローチャートである。 本発明による最小歪み探索手順の好ましい態様を概略的に説明するフローチャートである。 本発明のコードブック生成方法で用いるパラメータNfirst、Mfirst、Nsecond、Msecondについて最適値セットを計算するパラメータ最適化手順の好ましい態様を概略的に説明するフローチャートである。 本発明のコードブック生成方法により処理したQ次元テーブルを概略的に示す。 本発明の一態様によるDSRシステムを概略的に示す。 本発明によるデータ圧縮方法を概略的に説明するフローチャートである。 二次元テーブル上で実行される本発明の領域選択手順を概略的に表す。

Claims (14)

  1. N個の基準ベクトルの集合からなるベクトルコードブックから開始し、データ圧縮の計算労力を低減するベクトルコードブックを生成する方法であって、ここで、各基準ベクトルはQ個の特徴からなり、NとQは1より大きい正の整数であり、該方法が、
    a)前記N個の基準ベクトルの集合を、前記N個の基準ベクトルの集合の所定の特徴の値に関して昇順又は降順にソートする工程と;
    b)ソートした基準ベクトルの集合を部分集合に分割する工程と;
    c)前記部分集合の各々と前記所定の特徴についての夫々のしきい値とを関連付ける工程と;
    を含むと共に、前記N個の基準ベクトルの集合を更に分割する工程を含み、前記更に分割する工程が、
    d)前記部分集合の各々の基準ベクトルを、前記N個の基準ベクトルの集合の更なる所定の特徴の値に関して昇順又は降順にソートする工程と;
    e)ソートした基準ベクトルの前記部分集合の各々を更なる部分集合に分割する工程と;
    f)前記更なる部分集合の各々と前記更なる所定の特徴についての夫々の更なるしきい値とを関連付ける工程と;
    を含み、該方法は、
    g)工程b)で得た前記部分集合の少なくとも1つを、隣接部分集合の少なくとも1つの基準ベクトルを用いて拡張する工程を更に含み、工程g)により拡張した前記部分集合について工程d)及びe)を実行することを特徴とする方法。
  2. 工程a)でソートした前記集合において上部の部分集合の直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の下部に加えることにより、工程a)でソートした前記集合の上部にある工程b)で得た前記部分集合を拡張することによって前記工程g)を実行する請求項に記載の方法。
  3. 工程a)でソートした前記集合において下部の部分集合の直ぐ上にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の上部に加えることにより、工程a)でソートした前記集合の下部にある工程b)で得た前記部分集合を拡張することによって前記工程g)を実行する請求項1に記載の方法。
  4. 工程b)でソートした前記集合において中央の部分集合の直ぐ上及び直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを前記部分集合の上部及び下部に加えることにより、工程a)で得た他の中央部分集合を拡張することによって前記工程g)を実行する請求項に記載の方法。
  5. 前記更に分割する工程が、工程e)の後、工程e)で得た前記更なる部分集合の少なくとも1つを、隣接する更なる部分集合の少なくとも1つの基準ベクトルを用いて拡張する工程h)も含む請求項に記載の方法。
  6. ソートした対応する拡張部分集合において上部の更なる部分集合の直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の下部に加えることにより、工程d)でソートした対応する拡張部分集合の上部にある工程e)で得た各更なる部分集合を拡張することによって前記工程h)を実行する請求項に記載の方法。
  7. ソートした対応する拡張部分集合において下部の更なる部分集合の直ぐ上にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の上部に加えることにより、工程d)でソートした対応する拡張部分集合の下部にある工程e)で得た各更なる部分集合を拡張することによって前記工程h)を実行する請求項に記載の方法。
  8. 工程d)でソートした対応する拡張部分集合において工程e)で得た他の中央の更なる部分集合の直ぐ上及び直ぐ下にある基準ベクトルに対応する少なくとも1つの基準ベクトルを、前記更なる部分集合の上部及び下部に加えることにより、前記中央の更なる部分集合を拡張することによって前記工程h)を実行する請求項に記載の方法。
  9. 前記更に分割する工程が、工程h)の前の実行により前記拡張された更なる部分集合を部分集合と毎回考えて、また工程d)及びf)を実行するためにN個の基準ベクトルの集合の他の1つの更なる所定の特徴を毎回考えて、所定の回数繰り返される、請求項に記載の方法。
  10. Q個の特徴を有する入力ベクトルにより表されるデータの圧縮方法であって、ここで、Qは1より大きな整数であり、
    1)請求項1〜のいずれか一項に記載の方法で生成されるベクトルコードブックを用いる方法。
  11. - デジタル入力データを処理してQ特徴ベクトルを得る特徴抽出装置(802)であって、ここでQは1より大きな整数である特徴抽出装置(802)と;
    - 請求項1〜9のいずれか一項に記載の方法で生成される少なくとも1つのベクトルコードブックを記憶するためのメモリ装置(806)と;
    - メモリ装置(806)において記憶するベクトルコードブックを用いた前記特徴抽出装置(802)により得られた各Q特徴ベクトルを圧縮するためのデータ圧縮装置(804)と;
    を備えたデータ圧縮用装置(810)。
  12. 入力音声信号をデジタル音声データに変換して前記特徴抽出装置(802)に与えるための変換装置(801)を更に備える請求項11に記載の装置。
  13. デジタル入力データを処理してQ特徴ベクトルを得る特徴抽出装置(802)であって、ここでQは1より大きな整数である特徴抽出装置(802)と;
    請求項1〜9のいずれか一項に記載の方法で生成される少なくとも1つのベクトルコードブックを記憶するためのメモリ装置(806)と;
    メモリ装置(806)において記憶するベクトルコードブックを用いた前記特徴抽出装置(802)により得られた各Q特徴ベクトルを圧縮するためのデータ圧縮装置(804)と;
    を備えた
    -ーザー装置(810)と;
    - 前記デジタル入力データをデータ圧縮装置(804)により圧縮されたQ特徴ベクトルから再構成するための認識装置(820)と;
    - 前記ユーザー装置(810)と前記認識装置(820)との間でデータを伝送するためのデータ伝送路(805)と;
    を備える分散型音声認識システム(800)。
  14. 前記の少なくとも一つのベクトルコードブックを生成し、それをメモリ装置(806)において記憶する請求項1〜のいずれか一項に記載の方法の工程を実行すると共に、コードブック処理装置を更に備える請求項13に記載の分散型音声認識システム(800)。
JP2007521800A 2004-07-23 2004-07-23 ベクトルコードブック生成方法、データ圧縮方法及び装置、並びに分散型音声認識システム Expired - Fee Related JP4703648B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/008372 WO2006007871A1 (en) 2004-07-23 2004-07-23 Method for generating a vector codebook, method and device for compressing data, and distributed speech recognition system

Publications (2)

Publication Number Publication Date
JP2008507718A JP2008507718A (ja) 2008-03-13
JP4703648B2 true JP4703648B2 (ja) 2011-06-15

Family

ID=34958455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007521800A Expired - Fee Related JP4703648B2 (ja) 2004-07-23 2004-07-23 ベクトルコードブック生成方法、データ圧縮方法及び装置、並びに分散型音声認識システム

Country Status (8)

Country Link
US (1) US8214204B2 (ja)
EP (1) EP1771841B1 (ja)
JP (1) JP4703648B2 (ja)
KR (1) KR101010585B1 (ja)
CN (1) CN101019171B (ja)
AT (1) ATE464635T1 (ja)
DE (1) DE602004026645D1 (ja)
WO (1) WO2006007871A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587314B2 (en) * 2005-08-29 2009-09-08 Nokia Corporation Single-codebook vector quantization for multiple-rate applications
US20070299667A1 (en) * 2006-06-22 2007-12-27 Texas Instruments, Incorporated System and method for reducing storage requirements for a model containing mixed weighted distributions and automatic speech recognition model incorporating the same
CN101335004B (zh) * 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
GB0901262D0 (en) * 2009-01-26 2009-03-11 Mitsubishi Elec R&D Ct Europe Video identification
KR101711158B1 (ko) * 2010-12-22 2017-03-14 한국전자통신연구원 셀룰러 시스템에서 인접 셀간 간섭 제어 방법
US9779731B1 (en) * 2012-08-20 2017-10-03 Amazon Technologies, Inc. Echo cancellation based on shared reference signals
US10147441B1 (en) 2013-12-19 2018-12-04 Amazon Technologies, Inc. Voice controlled system
CN103837890B (zh) * 2014-02-26 2016-07-06 中国石油集团川庆钻探工程有限公司地球物理勘探公司 获取地震数据的方法及设备
EP3363189A1 (en) 2015-10-14 2018-08-22 Pindrop Security, Inc. Call detail record analysis to identify fraudulent activity and fraud detection in interactive voice response systems
CN107564535B (zh) * 2017-08-29 2020-09-01 中国人民解放军理工大学 一种分布式低速语音通话方法
US11470194B2 (en) 2019-08-19 2022-10-11 Pindrop Security, Inc. Caller verification via carrier metadata
CN112445943A (zh) * 2019-09-05 2021-03-05 阿里巴巴集团控股有限公司 数据处理的方法、装置和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0645946A (ja) * 1992-07-27 1994-02-18 Olympus Optical Co Ltd ベクトル量子化コードブック作成及び探索装置
JP2001251192A (ja) * 2000-03-06 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> 共役構造ベクトル量子化方法
JP2001249690A (ja) * 2000-03-02 2001-09-14 Oki Electric Ind Co Ltd 音声録音再生装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958225A (en) 1989-06-09 1990-09-18 Utah State University Foundation Full-search-equivalent method for matching data and a vector quantizer utilizing such method
US5061924B1 (en) 1991-01-25 1996-04-30 American Telephone & Telegraph Efficient vector codebook
US5651026A (en) * 1992-06-01 1997-07-22 Hughes Electronics Robust vector quantization of line spectral frequencies
US5774839A (en) * 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
GB9622055D0 (en) * 1996-10-23 1996-12-18 Univ Strathclyde Vector quantisation
US6009387A (en) * 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
US6161086A (en) * 1997-07-29 2000-12-12 Texas Instruments Incorporated Low-complexity speech coding with backward and inverse filtered target matching and a tree structured mutitap adaptive codebook search
US5946653A (en) 1997-10-01 1999-08-31 Motorola, Inc. Speaker independent speech recognition system and method
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
US5966688A (en) * 1997-10-28 1999-10-12 Hughes Electronics Corporation Speech mode based multi-stage vector quantizer
US6148283A (en) * 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
WO2000022606A1 (en) 1998-10-13 2000-04-20 Motorola Inc. Method and system for determining a vector index to represent a plurality of speech parameters in signal processing for identifying an utterance
US7389227B2 (en) * 2000-01-14 2008-06-17 C & S Technology Co., Ltd. High-speed search method for LSP quantizer using split VQ and fixed codebook of G.729 speech encoder
US6633839B2 (en) * 2001-02-02 2003-10-14 Motorola, Inc. Method and apparatus for speech reconstruction in a distributed speech recognition system
US7003454B2 (en) * 2001-05-16 2006-02-21 Nokia Corporation Method and system for line spectral frequency vector quantization in speech codec
CN1190772C (zh) 2002-09-30 2005-02-23 中国科学院声学研究所 语音识别系统及用于语音识别系统的特征矢量集的压缩方法
US20040176950A1 (en) * 2003-03-04 2004-09-09 Docomo Communications Laboratories Usa, Inc. Methods and apparatuses for variable dimension vector quantization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0645946A (ja) * 1992-07-27 1994-02-18 Olympus Optical Co Ltd ベクトル量子化コードブック作成及び探索装置
JP2001249690A (ja) * 2000-03-02 2001-09-14 Oki Electric Ind Co Ltd 音声録音再生装置
JP2001251192A (ja) * 2000-03-06 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> 共役構造ベクトル量子化方法

Also Published As

Publication number Publication date
DE602004026645D1 (de) 2010-05-27
CN101019171A (zh) 2007-08-15
ATE464635T1 (de) 2010-04-15
US20090037172A1 (en) 2009-02-05
KR20070047795A (ko) 2007-05-07
US8214204B2 (en) 2012-07-03
WO2006007871A8 (en) 2006-03-16
JP2008507718A (ja) 2008-03-13
WO2006007871A1 (en) 2006-01-26
EP1771841A1 (en) 2007-04-11
KR101010585B1 (ko) 2011-01-24
EP1771841B1 (en) 2010-04-14
CN101019171B (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
KR100924399B1 (ko) 음성 인식 장치 및 음성 인식 방법
JP4245617B2 (ja) 特徴量補正装置、特徴量補正方法および特徴量補正プログラム
JP4703648B2 (ja) ベクトルコードブック生成方法、データ圧縮方法及び装置、並びに分散型音声認識システム
US6721698B1 (en) Speech recognition from overlapping frequency bands with output data reduction
JPS62231996A (ja) 音声認識方法
CN108922543B (zh) 模型库建立方法、语音识别方法、装置、设备及介质
JP3189598B2 (ja) 信号合成方法および信号合成装置
EP1863014B1 (en) Apparatuses and methods for learning and using a distance transition model
WO2024055752A9 (zh) 语音合成模型的训练方法、语音合成方法和相关装置
US20070129946A1 (en) High quality speech reconstruction for a dialog method and system
EP1239458A2 (en) Voice recognition system, standard pattern preparation system and corresponding methods
KR102204975B1 (ko) 심층 신경망 기반 음성인식 방법 및 그 장치
CN117672254A (zh) 语音转换方法、装置、计算机设备及存储介质
JP4603429B2 (ja) クライアント・サーバ音声認識方法、サーバ計算機での音声認識方法、音声特徴量抽出・送信方法、これらの方法を用いたシステム、装置、プログラムおよび記録媒体
US5828998A (en) Identification-function calculator, identification-function calculating method, identification unit, identification method, and speech recognition system
CN112530453B (zh) 一种适用于噪声环境下的语音识别方法及装置
KR101862352B1 (ko) 음성 인식을 위한 전처리 장치, 및 이를 이용한 음성 인식 장치 및 방법
JP3029803B2 (ja) 音声認識のための単語モデル生成装置及び音声認識装置
JP4538705B2 (ja) ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体
JP3091648B2 (ja) 隠れマルコフモデルの学習方法
CN116110373B (zh) 智能会议系统的语音数据采集方法及相关装置
EP4404187A1 (en) Apparatus and method for streaming automatic speech recognition
JP2023079258A (ja) 音抽出システム及び音抽出方法
CN116129921A (zh) 一种声码器的训练方法、音频合成的方法和装置
CN118314874A (zh) 一种语音合成的方法和系统

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100727

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100928

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

R150 Certificate of patent or registration of utility model

Ref document number: 4703648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees