JPH08509306A - ボコーダasic - Google Patents

ボコーダasic

Info

Publication number
JPH08509306A
JPH08509306A JP7521936A JP52193695A JPH08509306A JP H08509306 A JPH08509306 A JP H08509306A JP 7521936 A JP7521936 A JP 7521936A JP 52193695 A JP52193695 A JP 52193695A JP H08509306 A JPH08509306 A JP H08509306A
Authority
JP
Japan
Prior art keywords
value
input
ram
block
pitch
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.)
Granted
Application number
JP7521936A
Other languages
English (en)
Other versions
JP3432826B2 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22729345&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH08509306(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by クァルコム・インコーポレーテッド filed Critical クァルコム・インコーポレーテッド
Publication of JPH08509306A publication Critical patent/JPH08509306A/ja
Application granted granted Critical
Publication of JP3432826B2 publication Critical patent/JP3432826B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Gyroscopes (AREA)
  • Electrochromic Elements, Electrophoresis, Or Variable Reflection Or Absorption Elements (AREA)
  • Glass Compositions (AREA)
  • Executing Machine-Instructions (AREA)
  • Saccharide Compounds (AREA)
  • Stored Programmes (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Analogue/Digital Conversion (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Peptides Or Proteins (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 用途特定集積回路(ASIC)内に構成されるボコーダに用いられる方法及び装置が開示される。この装置は、減少した命令セツト(RISC:reduced instruction set)方式に従って計算を行うDSPコア(4)を含む。回路は更に、最小化プロセッサ(6)と呼ばれる専用設計の副プロセッサを具備する。更に装置は、専用設計の正規化回路を具備する。

Description

【発明の詳細な説明】 ボコーダASIC 1.発明の技術分野 本発明は音声処理に関する。特に本発明は特定用途集積回路(ASIC:applicati on specific integrated circuit)内に組み込まれるボコーダ(vocoder)用の 改良された新しい方法及び装置に関する。 2.従来の技術 デジタル技術による音声の送信は一般的な技術で、特に長距離のデジタル無線 電話は一般に普及している。音声が単にサンプリング及びデジタル化により送信 される場合、従来のアナログ電話の品質を得るには約64キロビット毎秒(kbps )のデータ速度が必要となる。しかし、音声分析、並びに適当なコード化、送信 及び受信器での合成により、著しくデータ速度を減少することができる。送信機 で適当な音声分析及びコード化を行い、受信器で合成を行う装置はボコーダとし て知られている。 デジタル細胞状電話標準(digital cellular telephone stndards)及びシス テムの最近の発展によりボコーダに関する要求が益々大きなものとなった。利用 できる送信帯域をより効率的に使用し、受信器で元の音声をより忠実に再現する 進歩したボコーディングアルゴリズムに対する要望により、それら更に複雑なボ コーディングアルゴリズムを実行するのに必 要な大きなコンピュータ処理能力を有するプロセッサに関する要求が増大した。 ボコーダは音声における長い或いは短い期間の冗長性の利用し、コンピュータ の高度な数値処理を必要とする。これら動作には長い連続的コンボリューション (comvolutions)、マトリクス反転、長い連続的相関(correlations)等が含ま れる。音声の送信における許容できないないほどのコーディング(codeing)及 びデコーディング(decoding)遅延を起こさずにリアルタイムでこれらの動作を 行うには、強力なコンピュータ資源が必要になる。 デジタル信号プロセッサ(DSPs)の出現は、ボコーダアルゴリズムをリア ルタイムで導入することを可能にする上で重要な要因であった。 DSPsはボコーダアルゴリズムに一般的な演算動作を実行する上で非常に効 率的である。DSPsの利点はそれら計算能力を約4千万インストラクション毎 秒(40MIPS)以上に増大した。 例示的用途に用いられるボコーディングアルゴリズムは、可変速度のコード励 起線形予測(CELP:code excited linearprediction)アルゴリズムであり、これ は同時継続中の出願(シリアル番号08/004,484、1993年1月14 日出願、発明の名称”可変速度ボコーダ”)に詳細されており、この出願は本発 明の譲渡人に譲渡されている。前記出願の内容は本明細書に参考として含まれて いる。 表Iは代表的DSPを用いたときの例示的ボコーディング アルゴリズムのエンコーディング部の単一の20ミリ秒音声フレームの実行時間 の概要を示す。例示的ボコーディングアルゴリズムのエンコーディング部はデコ ーディング部より著しく処理量を必要とするので、エンコーデイング処理のみを 表Iは示している。表Iで参照されるDSPは40MHzのクロックで演算処理 及び他の処理をその動作に応じて各々1又はそれ以上のクロックサイクルで行う 。第1コラムは例示的ボコーディングアルゴリズムの主動作を示す。第2コラム はその例示的DSPを使用してボコーダアルゴリズムの特定動作を各々実行する のに必要なクロックサイクル数を示す。第3のコラムはその特定動作に必要とな る総合処理のパーセンテージを示す。例示的ボコーディングアルゴリズムでは、 例示的ボコーディングアルゴリズムをリアルタイムに処理するには、全ての動作 が20ミリ秒以内に行われることが必要である。これはそのアルゴリズムを導入 するために選ばれたDSPが20ミリ秒フレーム内で所望処理を完了する速度又 はそれ以上のクロック速度で動作できることが必要となる。これにより表Iに示 す代表的DSPでは、クロックの数は800,000までに制限される。 表Iから分かるように、ピッチサーチ(pitch search)及びコードブックサー チ(codebook search)動作は、ボコーダアルゴリズムのエンコーディング部の 中で、処理時間の75%以上を消費する。計算負荷の大部分はこれら2つのサー チアルゴリズム内にあるので、ボコーディングを実行するよう設計された効率的 ASICの主要目的は、これら2つの動作を実行するのに必要なクロックサイク ルの数を減少することである。 本発明の方法及び装置は、これらサーチ動作を実行するのに必要な命令サイク ルの数を大幅に減少する。本発明は、ボ コーディングアルゴリズムに特に重要なより効率的動作を行うよう最適化された 方法及び装置を提供する。本発明の方法及び装置の用途は、例示的ボコーディン グ動作の実行、又は音声のエンコーディング又はデコーディングに限られるもの ではない。この発明の方法及び装置は、エコーキャンセラ及びチャンネルイコラ イザのようなデジタル信号処理アルゴリズムを用いるあらゆるシステムに適用で きるものである。 発明の概要 本発明はボコーディングアルゴリズムを実行するための改良された新しい方法 及び装置である。 本明細書で詳細に説明される本発明の一実施例は、前述の同時継続中特許出願 に詳細された可変速度CELPアルゴリズムを導入したASICである。本発明 の特徴はあらゆる線形予測コーディング(LPC)アルゴリズムに同様に適用で きる。本発明はボコーダアルゴリズムを少ない消費電力及び少ないクロックサイ クル数で実行するために最適化された構成を提供する。最終的目標は消費電力の 減少である。このアルゴリズムを実行するのに必要なクロック数の減少は又、低 消費電力化に関して直接及び間接的に作用する減少したクロック速度として関係 していた。直接的な効果は、コンプリメンタリ金属・酸化物半導体(CMOS) 装置の電力消費とクロック速度との関係によるものである。間接的な効果はCM OS装置での電力消費と電圧との二乗則の関係、及び少ないクロック速度で電圧 を下げる能力によるものである。ボコー ダASICの効率はクロックサイクル毎に実行される処理量である。効率の向上 により、そのアルゴリズムを実行するのに必要な全クロックサイクル数が減少さ れる。 ボコーディングアルゴリズムを実行する上で効率を上昇するための第1の技術 は、専用DSPを中心とした構成である。DSPを中心とした一実施例は、3つ のランダムアクセスメモリ(RAM)要素を提供することにより、メモリ処理能 力を増加する。3つのRAM要素の各々は、専用メモリアドレス発生ユニットを 持っている。このメモリの3分割方式により、オペランドを提供し、結果を提供 し、結果を格納する全ての動作を単一のサイクル内で行い、再帰的コンボリュー ション(recursive comvolution)のような動作を効率的に実行できる。オペラ ンドのフェッチ、結果の計算、及び結果の格納は1つの結果に対する完全な再帰 的コンボリューションが3サイクルに渡って実行され、 しかも新たな結果が各 サイクルで得られるように、パイプライン処理が行われる。3分割されたメモリ は、ボコーダアルゴリズムでの他の動作に要求されるクロックサイクルも減少す る。再帰的コンボリューションの効率的実行はボコーダアルゴリズムにおける最 も重要な節約を提供する。 ボコーデイングアルゴリズムの性能における効率を増加する第2の技術は、D SPコア(core)に最小化プロセッサと呼ばれる分離スレーブプロセッサを提供 することである。最小化プロセッサは相関を実行し、二乗平均エラー(MSEs )を計算し、そしてDSPコアにより供給されたデータに関し て最小MSEをサーチする。最小化プロセッサは高度な相関計算及びDSPコア による最小化タスクを分担する。最小化プロセッサには、最小化プロセッサの動 作をモニタし、ある条件下でMSE最小化タスクの決定的動作を行える制御要素 が提供される。この条件とは、継続サーチが数学的制限により現在の最小MSE 以下のMSEを提供できないような場合である。MSE最小化タスクを短縮する 方法は最小化プロセッサの節電モードと呼ばれる。 ボコーディングアルゴリズムの実行効率を向上するための一実施例による第3 の手段は、プロック正規化(block normalization)を効率的に行う専用ハード ウエアを提供することである。ボコーディングアルゴリズムを計算する上で、計 算精度をできるだけ高いレベルに維持することが必要になる。専用ハードウエア を提供することにより、ブロック正規化はボコーダアルゴリズムでの他の動作と 同時に実行でき、これによりボコーディングアルゴリズムを実行するために要求 される命令サイクルの数を減少できる。 図面の簡単な説明 本発明の特徴、目的、効果は図面を参照して行われる以下の詳細な説明により 明確になる。全ての図面を通して、同一参照符号は同一の要素を示す。 図1は本発明装置のブロック図。 図2は本発明の動作を示す機能図。 図3は本発明のエンコード動作の一例を示すフローチャー ト。 図4a〜dは様々な速度でのボコーダビット割付を示し、各速度に使用される コードブックサブフレーム及びピッチの数を示す1組のチャート。 図5a〜dは本発明のDSPコアの一実施例を示すブロック図。 図6a〜bは本発明の最小化プロセッサの一実施例を示すフロック図。 図7は本発明の一実施例において実行されるピッチサーチ動作を示す図。 図8は本発明の一実施例において実行されるピッチサーチ動作を示すフローチ ャート。 図9は本発明の一実施例において実行されるコードブックサーチ動作を示す図 。 図10は本発明の一実施例において実行されるコードブックサーチ動作を示す フローチャート。 図11は通信リンクの一端に設けられ、エンコーダのフイルタメモリを保持す る機能のあるエンコーダのデコーダ部、及び通信リンクの他端に設けられるデコ ーダ部のブロック図であり、本発明の一実施例のボコーディング動作において同 一である。 図12本発明の一実施例のデコーダを示すブロック図。 好適実施例の詳細な説明 図面を参照し、図5a〜dに示される図1のDSPコア4 は、3つに分割されたランダムアクセスメモリ(RAM)(RAM A104、 RAM B122、及びRAM C182)、リードオンリーメモリ(ROM)( ROM E114)、及び効率的演算ロジックユニット(ALU)(ALU 14 3)を含んで設計される。3分割RAMはALUを更に効率よく使用する手段を 提供し、単一のRAMで達成できる領域以上にRAM領域を増加する。専用RO M、ROM E114は16ビット定数を提供する。RAM部分RAMA、RA M B122及びRAM C182及びROM、ROM E114はALUにデー タを提供する。RAM C182は、RAM A104及びRAM B122が1 6ビットデータを送受信している間に、ALU143(図5b)に対して32ビ ットデータを受信及び提供し、16ビットオペランドによる計算、及び32ビッ トの格納を行うことにより、効率が著しく向上している。 各分割部分は専用アドレス発生ユニットを持っている。RAM A104はア ドレスユニットA102を有し、RAMBはアドレスユニットB120及びRA M CはアドレスユニットC186、ROM E114はアドレスユニットE1 12を持っている。各アドレスユニットはレジスタ、マルチプレクサ及び加算器 /減算器要素(図示されず)を具備している。1クロックサイクルで、DSPコ ア4は3つのメモリ動作、3つのアドレス更新、演算動作(例えば乗算・加算・ 正規化)、及び最小化プロセッサ(minimization processor)6へのデータ移動 を行う。 命令ROM、ROM I194はDSPコア4の実行シーケンスを制御する命 令を格納する。ROM I194内に格納された命令のシーケンスは、DSPコ ア4により実行される処理機能を示す。ROM I194は専用アドレス発生ユ ニット、IPカウンタ及びスタック194を持っている。 RAMアドレス発生ユニット即ちレジスタファイル、アドレスユニットA10 2、アドレスユニットB120及びアドレスユニットC186は、対応するRA Mの動作で用いられるアドレス及びデータを提供する。データは同一アドレスユ ニット内で、レジスタファイル要素から他のレジスタファイル要素、即ち各RA Mに移動できる。一実施例では、アドレスユニットA102はマルチプレクサ1 06を介して、RAM A104にデータを提供し、アドレスユニットB120 はマルチプレクサ124を介してRAM B122にデータを提供し、アドレス ユニットC186はマルチプレクサ180を介してRAMC 182にデータを 提供する。 レジスタファイル要素は同一アドレスユニット内で、即時データIMM(図5 a〜dに示す)、他のレジスタファイル要素からのデータ、即ちRAMからのデ ータを受け入れる。以後、全ての場合で、単語”即時データ(immediate data) ”の説明は、命令デコーダ192によって提供されるデータに関係している。一 実施例では、RAM A104はマルチプレクサ100を介してデータをアドレ スユニットA102に提供し、RAM B122はマルチプレクサ118を介し てデータをアドレスユニットB120に提供し、及びRAM C18 2はマルチプレクサ184を介してデータをアドレスユニットC186に提供す る。各アドレスユニットは自動ポストインクリメント(post-increment)及びポ ストデクリメント(post-decrerment)を内部に設けた加算器/減算器(図示さ れず)により提供する。一実施例において、アドレスユニットB120は直接メ モリアクセス(DMA)用のポインタとして使用される自動モジュロアドレッシ ング及び2つの専用レジスタファイル要素(図示されず)を提供する。 アドレスユニットE112は係数検索用に最適化される。これはマルチプレク サ110を介して即時データを受け入れるベースレジスタ、及びマルチプレクサ 110を介して即時データ又はマルチプレクサ168及び110を介してアキュ ムレータ(C0ERG164又はC1REG166)からデータを受け入れるオ フセットレジスタを具備する。このオフセットレジスタは自動ポストインクリメ ント及びポストデクリメントを内部に設けられた加算器/減算器(図示されず) により提供する。 IPカウンタ及びスタック196はアドレッシングROM I194の機能を 実行するためのアドレスポインタを含む。アドレスシーケンシング(adress seq uencing)は命令デコーダ192により制御される。アドレスデータはIPカウ ンタ及びスタック195内を移動するか、又は即時データとして受信される。 データはRAM A104、RAM B122又はRAM C182からALU 143内のレジスタへ移動できる。又、デ ータはアキュムレータ(C0ERG164又はC1REG166)からRAM A104、RAM B122又はRAM C182へ移動できる。データはORE G162からRAM C182へ移動できる。 RAM A104はマルチプレクサ106を介してアドレスユニットA102 からのデータを受け入れる。RAM A104は又、マルチプレクサ168及び 106を介してアキュムレータ(C0ERG164又はC1REG166)から のデータを入力する。RAM B122はマルチプレクサ124を介してアドレ スユニットB120からのデータを入力する。RAM A104も又、マルチプ レクサ168及び124を介してアキュムレータ(C0ERG164又はC1R EG166)からのデータを入力する。又RAM B122はDMA_INPU T(図5a〜d参照)からのデータ、又はマルチプレクサ124を介してINR EG128からのデータを入力する。RAM C182はマルチプレクサ180 を介してアドレスユニットC186からのデータを入力する。RAM C182 は又、マルチプレクサ168及び180を介してアキュムレータ(C0ERG1 64又はC1REG166)からのデータを入力する。RAMA104はアドレ スユニットA102へデータをマルチプレクサ100を介して提供し、マルチプ レクサ108を介してAREG130にデータを提供する。RAM B122は データを、マルチプレクサ118を介してアドレスユニットB120へ、RAM B_DOUT(図5a〜d参照)へ、マルチプレクサ126を介してSREG 136へ、マルチプレクサ116を介してBREG134へ、及びマルチプレク サ158を介してDREG156へ提供する。 AREG130は即時データ、ROM E114からのデータ、又はRAM A 104からマルチプレクサ108を介してデータを入力する。BREG 134 は又、マルチプレクサ168及び116を介してアキュムレータ(C0ERG1 64又はC1REG166)からデータを入力する。 C0ERG164及びC1REG166はマルチプレクサ148を介したデー タ、RAM C182からのデータ、加算器146からのデータ、論理AND要 素144、又は論理OR要素142からデータを入力する。 シフトインデックスレジスタSREG136は即時データ又はマルチプレクサ 126を介してRAMB122からデータを入力する。 ALU143は乗算、加算、減算、乗算累計、乗算加算、乗算減算、まるめ( round)、インクリメント、クリア、否定(negate)、及び論理AND、OR、 及び反転動作を行う。乗算器132、AREG130及びBREG134への入 力はゲートされ(図示されず)、乗算が行われるときにのみ入力が変化するよう に構成することにより、乗算器132での消費電力を減少する。ALU143は 効率向上のために2つの36ビットアキュムレータ(C0ERG164及びC1 REG166)、及び正規化(normalization)のために2つのバレルシフター (barrel shifters)、バレルシフター140及び15 0を提供する。左右16ビット位置へのシフトアップは、バレルシフター140 及び150により提供される。シフトインデックスは即時データを介して詳細に 行われるか、又は専用シフトインデックスレジスタSREG136によりマルチ プレクサ149を介して行われる。シフトインデックスレジスタSREG136 はバレルシフター140及び150、ビットワイズ(bitwise)論理OR要素1 60及びOREG162と共に、ブロック正規化を実行するときのオーバーヘッ ドを最小にするために提供される。ALU143は命令デコーダ192にステー タスを提供することで、演算及びC0ERG164及び/又はC1REG166 の論理状態に基づく条件ジャンプが可能となる。例えば、一実施例において、C 0ERG164及びC1REG166の値の符号が比較され、符号変化に基づく 条件ジャンプを提供する。ジャンプは即時データがIPカウンタ及びスタック1 96に提供されたときに発生する。アキュムレータのオーバーフロー及びアンダ ーフローが検出され、オーバーフローの場合は16進法の0x7FFFFFFF を、アンダーフローの場合は0x80000001を、2の補数演算に従って提 供することにより、自動的に飽和が行われる。 命令実行シーケンスは、フェッチ(fetch)、デコード(decode)、実行であ る。アドレス値はIPカウンタ及びスタック196により命令ROM I194 に提供される。このROM1194はこれに応答して命令を命令デコーダ192 に提供する。命令デコーダ192はこの入力命令に応答して、命令 をデコードし、DSPコア4内の適当な要素に命令実行のための制御信号を提供 する。 専用ループカウンタ及びスタック190はIPカウンタ及びスタック196に 従って、小さいオーバーヘッド、ネストされた(nested)サブルーチンコール及 びネストされたループを提供する。命令フェッチは単一命令ループの間は禁止さ れ、電力消費を削減している。ループカウンタ及びスタック190はマルチプレ クサ188を介して即時データを入力し、固定長ループを実行する。ループカウ ンタ及びスタック190は又、アキュムレータ(C0ERG164、C1REG 166)からマルチプレクサ168及び188を介してデータを入力し、可変長 ループを実行する。ROM I194内の256ワードスタティック命令キャッ シュ(図示されず)は、最も頻繁に行われるループ及びサブルーチンのための低 電力命令フェッチを提供する。WAIT命令は命令フェッチ及び命令デコードを 禁止し、イベントを保留し電力消費を削減する。 このような例としては、DMA転送、 PCMインターフェース2からのタイミ ングストローブ、又は外部イベントが含まれる。 外部データ及び制御は、PORT_INPUT(図5a〜d参照)、PCMイ ンターフェース2からのDMA_INPUT、及び条件ジャンプ命令で使用され るスタティックテストビットを介して、 DSPコア4に提供される。データは CREGを介して(図5a〜d及び図6a〜b参照)及びRAM B_DOUT を介して、DSPコア4により外部から提供 される。DSPコア4及びPCMインターフェース2間のDMAは周知のサイク ルスチーリング(cycle stealing)により実行される。C0REG164又はC 1REG166からのデータはマルチプレクサ168を介して,命令デコーダ1 92からのOUTREG_EN(図5a〜d及び図6a〜b参照)信号と共に提 供される。アクティブOUTREG_EN信号は最小化プロセッサ6に提供され た有効CREGデータが存在することを意味する。 図6a〜bの最小化プロセッサ6は、ピッチ及びコードブックサーチ(codebo ok searches)の複雑な計算を部分的に支援する。最小化処理を行うために、最 小化プロセッサ6は知覚的に重み付けされた(perceptually weighted)入力ス ピーチサンプルのシーケンス、一組のゲイン値、及びDSPコア4からの合成さ れたスピーチサンプルの一組を受信する。最小化プロセッサ6は合成されたスピ ーチの自動相関(auto-correlation)及び合成されたスピーチと知覚的に重み付 けされた入力スピーチ間の交差相関(cross-correlation)を計算する。これら の相関から、合成されたスピーチと入力スピーチ間の平均二乗エラー(MSE) の相対測定値が、合成されたスピーチゲイン及びインデックスの関数として判断 される。最小化プロセッサ6はインデックス及び最小MSEに生じたゲインを報 告する。電力を節約する特徴により、最小化を続けるのが不可能な場合、MSE 計算を中止する。最小化プロセッサ6はCREG、ポートI/O、及び専用DS Pコア命令を介してDSPコア4と通信する。 最小化プロセッサ6の動作は制御要素220により決定する。制御要素220 は現在のインデックス値の追跡を維持するカウンタ、最適ピッチ又はコードブッ クサーチ結果を保持するレジスタ、RAM X212をアクセスするためのアド レス発生回路、及び入出力回路を具備する。更に制御要素220はマルチプレク サ224、234、230及び246上の選択信号を制御する機能を有し、ラッ チ210、21226、228、236、238、244及び250上のイネー ブル(enables)を制御する。又、制御要素220は最小化プロセッサ6の要素 内の様々な値をモニタし、所定のサーチ終了条件の下でサーチを省略する電力節 約モードを制御し、及び循環バッファ(circular buffer)259内のゲイン値 の循環を制御する。 更に、制御要素220は入出力動作を行う機能を有する。制御要素220は入 力ポーチ12を介して、最小値結果(即ち最適ピッチラグ及びピッチゲイン又は 最適コードブックインデックス及び各サーチで判断されたコードブックゲイン) をDSPコア4に提供する機能を有する。OUTREG_EN信号が制御要素2 20に提供され、この信号はラッチ210への入力データが有効で、アキュムレ ータ出力信号CREG上に存在することを示す。制御要素220はそれに応答し てイネーブル信号を発生し、そのイネーブル信号をラッチ210に提供し、その データを受信する。 OUTPORT_EN(図5a〜d、図6a〜b参照)及びPORT_ADD (図5a〜d、図6a〜b参照)信号は DSPコア4から制御要素220に提供される。PORT_ADD信号は最小化 プロセッサ6にアドレスを提供する。最小化プロセッサ6は、PORT_ADD 値が最小化プロセッサ6に関するデータを特定し、OUTPORT_ENが有効 PORT_ADD値を示すときにデータを入力する。制御及びデータは以下のよ うに最小化プロセッサ6に提供される。 図1は本発明による構成の一実施例を示すブロック図である。PCMインター フェース2はコーデック(codec)(図示されず)に対して、パルスコード変調 (PCM)スピーチサンプルデータを入出力する。このデータは本実施例では、 μ法(μ-law)又はA法(A-low)でコンパンドされた(companded)サンプルデ ータ又は線形サンプルデータである。PCMインターフェース2はクロック発生 器10からタイミング情報を受信し、データ及び制御情報をマイクロプロセッサ インターフェース8から受信する。 PCMインターフェース2はDSPコア4に、コーデック(図示されず)から エンコード用に受信したPCMスピーチサンプルデータを提供する。PCMイン ターフェース2はDSPコア4からPCMスピーチサンプルデータを受信し、こ のデータはコーデック(図示されず)に提供される。PCMデータはDSPコア 4とPCMインターフェース2間でDMAを介して転送される。PCMインター フェース2はタイミング情報をクロック発生器10に、コーデック(図示されず )から受信したサンプルのタイミングに基づいて提供する。 DSPコア4はデータ及び制御情報を副プロセッサ即ち最 小化プロセッサ6に提供する。DSPコア4は又、出力ポート14にデータを提 供し、入力ポート12からデータを受信する。DSPコア4はクロック発生器1 0からタイミング情報を受信する。DSPコア4は又、外部アドレス情報を提供 し、外部の命令及びデータを受信できる。 最小化プロセッサ6はクロック発生器10からタイミング情報を受信し、DS Pコア4からデータ及び制御を受信する。最小化プロセッサ6は最小化処理の結 果を入力ポート12を介してDSPコア4に提供する。 クロック発生器10はタイミング情報を他の全ブロックに提供する。クロック 発生器10は外部クロック信号を受信し、マイクロプロセッサインターフェース 8及びPCMインターフェース2からタイミング信号を受信する。 ジョイントアクショングループ(JTAG:Joint Test Action Group)インター フェース16はASICの機能をテストする能力がある。JTAGインターフェ ース16は外部データ及び制御情報を受信し、外部データを提供する。 出力ポート14はDSPコア4からデータを受信し、このデータをマイクロプ ロセッサインターフェース8に提供し、又、データを外部装置(図示されず)に 提供できる。 入力ポート12はマイクロプロセッサインターフェース8及び最小化プロセッ サ6からデータを受信し、このデータをDSPコア4に提供する。又、入力ポー ト12は外部装置(図示されず)からデータを受信し、このデータをマイクロプ ロセッサインターフェース8に提供できる。 マイクロプロセッサインターフェース8はマイクロプロセッサ(図示されず) に対してデータ及び制御情報を入出力できる。この情報は他のブロックに提供さ れる。 本発明の一実施例では、ボコーダASICは可変速度CELPアルゴリズムを 行う。このアルゴリズムは同時継続中の米国特許出願No.08/004,48 4(出願日:1993年1月14日、発明の名称:”可変速度ボコーダ(Variab le Rate Vocoder)”譲渡人は本発明と同一)に詳述されている。 図2はこのASIC内で実行される主要機能を示す。図2において、エンコー ドされるサンプルはボコーダASICにPCMインターフェース30を介してコ ーデック(図示されず)から提供される。そして、これらのサンプルはデコンパ ンディング(decompanding)要素32に提供される。この要素32はμ法又はA 法のサンプルを線形サンプルに変換する。線形フォーマットで提供されたサンプ ルはデコンパンディング要素32を介して無変更で送られる。線形サンプルは送 信音響処理要素34に提供される。この処理要素34は、音声差動スイッチ(V OX)36、音響イコライザ要素38、QCELPエンコーディング要素40、 及びデュアルトーンマルチ周波数(DTMF:dual tone multi-frequency)検出要素 41を具備する。そして、送信音響処理要素34はマイクロプロセッサインター フェース42を介してエンコードされたスピーチパケット(speech packets)を ASIC外部のマイクロプロセッサ(図示されず)に提供する。 エンコードされたスピーチパケットはマイクロプロセッサ (図示されず)によりマイクロプロセッサインターフェース42を介して受信音 響処理要素44に提供され、ここでそれらはスピーチサンプルにデコードされる 。受信音響処理要素44はQCELPデコーディング要素46、音響イコライザ 48、及びDTMF発生要素47を具備する。デコードされたサンプルはコンパ ンディング要素50に提供され、このコンパンディング要素50は線形サンプル をμ法又はA法フォーマットに変換するか、又は線形サンプルを無変更でPCM インターフェース30に送る。ASICはPCMインターフェース30を介して デコードされたサンプルをASIC外部のコーデック(図示されず)に提供する 。 デコンパンディング要素32として図2に示されるデコンパンディング動作、 及びコンパンディング要素50として図2に示されるコンパンディング動作は、 図5a〜d内にDSPコア4により行われる。送信音響要素34として図2に示 される送信音響処理動作は、図6a〜bに示されるDSPコア4及び最小化プロ セッサ6により行われる。図2に受信音響処理要素44として示される受信音響 処理動作は、図5a〜dに示されるDSPコア4により行われる。 一実施例ではコーデック(図示されず)から8ビットのμ法又は8ビットA法 フォーマットで提供されたサンプルは、14ビット線形フォーマットに変換され る。μ法と線形の間の関係を式1に示す。 2Y=-IS(33+2M)2N-33 (1) ここで、Yは線形値(−4015.5〜4015.5)、Nはべき指数(expone nt)(0〜7)、Mは大きさの値(0〜15)、及びSは符号(ブラスのとき0 、マイナスのとき1)である。A法と線形の間の関係を式2及び3に示す。 2Y=-1S(1+2M)22Y N=0の場合 (2) 2Y=-1S(33+2M)2N N=1の場合 (3) ここでYは(−4032〜4032)、N、M及びSは前述と同一。 図5a〜dにおいて、図2のPCMインターフェース30を介して提供された サンプルは、ROM E114内に格納されたいる参照テーブルにより線形フォ ーマットに変換される。好適実施例において、ハーフサイズ128×14μ法か ら線形、及びA法から線形への参照テーブルがこの変換を行うために用いられる 。好適実施例では、次の式4に示される特徴を有するフルサイズ変換テーブルを 利用する。 入力スピーチ信号内のDC成分の除去が、自動相関係数及びLPC係数の計算 の前に必要となる。DC除去動作はDSPコア4内で、ローパス濾波されたスピ ーチサンプル平均、即ちDCバイアスを現在のウインドウ内の各入力サンプルか ら減算することにより行われる。即ち、現在のフレームのDCバイアスは、現在 及び以前のフレームのサンプル平均の重み付けされた平均である。DCバイアス の計算を次の式5に示す。 DCバイアス=a(以前のフレームの平均) +(1−a)(現在のフレームの平均) (5) この好適実施例では、a=0.75。ローパス濾波はフレーム境界での大きな不 連続を防止するために用いられる。この動作はDSP内で現在のフレーム及び以 前のフレームに関するサンプル平均をROM E114により提供される補間因 数(intelolation factor)aと共に、RAM要素(即ちRAM A104、RA M B122又はRAM C182)の1つに格納することにより行われる。加算 は加算器146により行われ、乗算は乗算器132により行われる。DC除去機 能はマイクロプロセッサ制御の下にイネーブル(enabled)又はディセーブル(d isabled)することができる。 DC成分のない入力スピーチ信号s(n)はウインドウ化され、スピーチシー ケンスを固定長フレームに分割する影響を減少する。ハミングウインドウ(Hamm ing window)関数が一実施例で用いられる。フレーム長 L=160について、 ウインドウ化されたスピーチSw(n)は次の式6に示すように計算される。 ここでハミングウインドウは次の式7及び8により定義される。 好適実施例では、W(n)は対象偶関数(even-symmetricfunction)であるか ら、参照テーブルの80個の係数、半数のハミングウインドウ係数がROM E 114に格納される。ウインドウ化はアドレスユニットE112により提供され るアドレス値に従って、ウインドウ係数WH(n)をマルチプレクサ108〜A REG130を介してROM E114から提供することにより行われる。AR EG130はこのデータを乗算器132の第1入力に提供する。スピーチサンプ ルs(n+60)はRAM B122によりBREG134に提供される。BR EG134はこの値を乗算器132の第2入力に提供する。乗算器132の出力 はウインドウ化されたスピーチサンプルで、このサンプルはC0REG164、 そしてRAM C182に乗算器168を介して提供される。 ブロック正規化処理は2つの機能部分よりなる。即ち、正規化因数の決定と意 図したデータの正規化である。一実施例では、データは2の補数で表され格納さ れる。ウインドウ化 されたサンプルが上記の式7に従って計算される。ROM I194からの正規 化命令DETONRMの場合、C0REG164にその結果発生されたウインド ウ化サンプル値は次の処理を受ける。即ち、C0REG164内の値がマイナス の場合、反転要素152はその数の二進数を反転し、ビット反転した値を加算器 146の第1入力に送る。加算器146の第2入力にはマルチプレクサ137及 び138を介して0が与えられる。加算器146はそのキャリー入力(図示され れず)により、ビット反転した値に1を加える。C0REG164の値がプラス の場合、その値はマルチプレクサ168及び154を介して反転要素152及び 加算器146にそのまま送られる。この処理の目的はC0REG164の絶対値 を計算することである。この絶対値はビットワイズ論理OR要素160の第1入 力に提供される。ビットワイズ論理OR要素160の第2入力はOREG162 が提供する。上記絶対値の計算を次の式8a〜cに示す。 OREGnew=(ABS(COREG))OR(OREGold) (8a) ここで、 式8a〜cに示される動作は、正規化を意図したデータがC1REG166内に ある場合、DETNORM命令を用いてC1REG166上で同様に実行できる 。OREG162は 正規化動作の開始時にクリアされる。この処理は、動作の終わりで、OREG1 62に格納された値が、ウインドウ化された全てのサンプルの絶対値のビットワ イズ論理ORを示すように、ウインドウ化された全てのサンプル(意図したデー タ)について繰り返される。OREG162内の最上位ビットセットからスケー ル因数が決定される。なぜなら、OREG162内の値はウインドウかされたサ ンプルのブロック内で最も大きな値以上だからである。OREG162内の値は マルチプレクサ168を介してRAMC 182に転送される。この値はC0R EG164内にロードされる(loaded)。正規化因数はC0REG164内の値 の右又は左シフトの数を計数することにより判断される ウインドウ化されたデ ータのこの量だけのシフトにより、次の動作に用いられる所望ピーク量を有する 値が提供される。このスケーリング因数(scaling factor)は正規化因数として も知られている。正規化はシフトにより行われるので、正規化因数は2の乗数で ある。 ウインドウ化されたサンプルをできるだけ高い精度に保つため、最も大きな値 が次の動作に与えられる最大ビット数を占めるように、意図した値には正規化因 数が乗算される。正規化因数は2の乗数であるから、意図したデータの正規化は 正規化因数により特定される数だけ単にシフトすることにより達成できる。正規 化因数はマルチプレクサ126を介してRAM B122によりSREG136 に提供される。そしてウインドウ化されたサンプルはRAM C182から、乗 算器158を介してDREG156に提供される。そしてDRE G156はこれらの値を、マルチプレクサ154及びディセーブルされたインバ ータ152を介して、バレルシフター150に提供する。そこで、それらの値は SREG136によりマルチプレクサ149を介してバレルシフター150に提 供された正規化因数に従ってシフトされる。バレルシフター150の出力はディ セーブルされた加算要素146及びマルチプレクサ148を介してC0REG1 64に送られる。そして正規化及びウインドウ化されたサンプルは、マルチプレ クサ168を通り、マルチプレクサ124及び180を介して、RAM B12 2及びRAM C182に各々提供される。この結果、正規化されウインドウ化 されたサンプルの2つのコピーがRAMに格納され、これにより次の自動相関係 数の計算効率を更に上げることができる。 P+1自動相関係数R(k)の計算は次の式9に従って行われる。 ここでPはエンコーダ内のフォルマント予測フィルタ(formant prediction fil ter)の次数(order)である。この実施例ではP=10である。正規化されウイ ンドウ化されたサンプルsw(m)は、RAM B122により、マルチプレクサ 116及びBREG134を介して、乗算器132の第1入力に提供される。正 規化されウインドウ化されたサンプルの遅延 形式sw(m+k)はRAM C182によって、マルチプレクサ148及びC1 REG166、RAM A4及びAREG130を介して、乗算器132の第2 入力に提供される。各R(k)はLA−k値の累計である。各R(k)の第1の 反復について、乗算器132の出力は、マルチプレクサ138及びバレルシフタ ー140を介してアキュムレータC0REG164、加算器146に提供される 。マルチプレクサ154は0を加算器146の第2入力に、ディセーブルされた バレルシフター150を介して提供する。次の反復に対して、乗算器132の出 力は、マルチプレクサ138及びバレルシフター140を介して、加算器146 の第1入力に提供される。加算器146の第2入力には、マルチプレクサ168 及び154、ディセーブルされた反転要素152及びディセーブルされたバレル シフター150を介して、C0REG164の出力が提供される。この処理は各 R(k)について繰り返される。 全ての自動相関係数はR(0)より小さい。この実施例では、R(0)が計算 された後、その正規化因数が決定される。この正規化因数は既に計算されたR( 0)及び他の自動相関係数に、それらが計算されたように適用される。この段階 での自動相関係数の正規化は、次のLPC係数の計算での精度を最大限に上げる 。 次に図3のブロック62に進み、LPC係数が計算され、スピーチサンプル内 の短い相関(冗長性)を除く。 次数Pを有するフォルマント予測フィルタは伝送関数A( z)を有し、これを式10に示す。 各LPC係数aiは正規化されウインドウ化された入力スピーチの自動相関値か ら計算される。ダービンのリカージョン(Durbin's recursion)(Rabiner,L.R .and Schafer,R.W.,"Digital Prosessing of Speech Signals,"Prentice-Hall, 1978参照)と呼ばれる効率的反復法が、この実施例でLPC係数を計算するのに 用いられる。この反復法を式11−17に示す。 i<Pの場合、iをインクリメントし、12に移行する (16) ダービンの反復アルゴリズムは、入力信号が0平均を有するときにのみ機能し、 あらゆるDCバイアスは、自動相関計算が前述したように実行された後に除去さ れる必要がある。 この実施例において、18Hzの帯域幅拡大が用いられ、これにより、フォル マント予測フィルタの安定性が確保される。これは本質的フォルマント合成の極 をスケーリングすることにより行われる。帯域拡大は以下に示す式18に従って LPC係数を半径方向内側に(radially inwards)スケーリングすることにより 行われる。 この実施例ではβ=0.9883である。10個の拡大係数βi(1≦i≦Pに ついて)がROM E114に提供された参照テーブル内に格納される。ブロッ ク62の機能はDSPコア4内で実行される。 次に図3のブロック64に進み、スピーチデータの現在のフレームについてエ ンコーディング速度が決定される。この速度は各フレーム内の音声作用の測定に 基づいている。この音声作用は前述したようにフレームエネルギR(0)に従っ て測定される。フレームiについてエンコーディング速度を決定するために、フ レームエネルギは次の式19〜2に定義される3つの閾値と比較される。 ここで各フレームiでの背景ノイズレベルBiは次の式22に示すように各フレ ームで更新される。 Bi=min[Ri-1(0),160000,max[100547Bi-1,Bi-1+1]] (22) 速度はフレームエネルギが3つのどの閾値よりも少ない場合は1/8、フレーム エネルギがT1(Bi)及びT2(Bi)の間の場合は1/4、フレームエネル ギがT2(Bi)とT3(Bi)の間の場合は1/2、フレームエネルギがT3 (Bi)以上の場合は最大定格速度である。速度がマイクロプロセッサ(図示さ れず)により、マイクロプロセッサインターフェース8を介して設定される場合 を除き、データ速度は特定速度まで任意の速度に設定できるが、各フレームにつ いて1ステップ以下の割合(例えば1/2から1/4)でのみ低めることができ る。DSPコア4において、これらの閾値に関係する係数はROM E114内 の参照テーブルに提供される。 関数的速度アルゴリズムも好適実施例では提供され、これにより、最大平均速 度をマイクロプロセッサインターフエース6を介して、マイクロプロセッサ(図 示されず)により制限できるようになる。速度制限因数Sが与えられると、ボコ ーダの最大平均速度は連続する最大速度のフレームの数を制限することにより、 (2S+1)/[2(S+1)]に制限 される。 次に図3のブロック66に進み、帯域拡大されたLPC係数は、ラインスペク トルペア(LSP:line spectrum pair)周波数に変換される(Soong and Juang,"L ine Spectrum PaiR(LSP)and Speech Data Compression,”ICASSP,1984参照) 。LSP周波数は送信及び格納に関して著しく優れた特性を持ち、LPC係数よ り更に効率よくエンコードできることが示された。10個のLPC係数を示すL SP周波数は、以下の式23及び24に示す多公式の10個のルート(ten root s)である。 ここでP’i及びQ’i(1≦i≦5)はDSPコア4内で次の式25〜27に 従って計算される。 P’(ω)のルートは、各π/32ラジアン内に多くとも1つのルートがある ことを推測することにより検出できる。P’(ω)はπ/32ラジアン毎に、0 からπラジアンまで評価される。いずれかのπ/32ラジアンにルートが存在す ると、その期間に亘って関数P’(ω)の符号が変化する。 ルートが検出された場合、二進サーチが行われ、π/25 6サイズの領域でそのルートを分離する。この二進サーチは、現在の領域の中心 でのP’(ω)の評価を含み、どの1/2領域がルートを含んでいるかを判断す る。この中心領域は、そのルートを含んでいると検出された1/2領域のみを含 ようになるまで狭められる。この処理はそのルートがπ/256サイズの領域内 に分離されるまで続けられる。そして線形補間が行われ、π/256ラジアン領 域でのルートの位置を概算する。 LSPのオーダリング特性(ordering property)により、Q’(ω)の1つ のルートはP’(ω)のルートの各ペアの間に存在することが保証されている。 Q’(ω)の5番目のルートはP’(ω)の5番目のルートとπラジアンの間に 存在する。前述の二進サーチは、P’(ω)のルートの各ペア間、及びP’(ω )の5番目のルートとπラジアン間で行われ、Q’(ω)のルートが判断される 。 二進サーチはルートの位置がπ/256サイズの領域内に分離されるまで続け られるので、0とπの間で均等に位置する256個のコーサイン値(cosine val ues)が必要になる。これらの関数評価はLPC係数からLSP周波数への変換 において、最もコンピュータ処理が必要になる部分である。ブロック66の機能 はDSPコア4内で行われる。 次に図3のブロック68に進み、LSP周波数が量子化される。各LSP周波 数の中心は、それに関係するバイアス値周辺にある。量子化の前に、このバイア スは、関係する各LSP周波数から減算され、量子化に必要なビット数を減少す る。このバイアスは次の式28に示すように計算される。 LSP周波数からバイアスが減算された後、そのLSP周波数は差動パルスコー ド変調(DPCM)量子化装置を用いて量子化される。DPCM量子化装置が使 用される理由は、LSP周波数は時間と共に徐々に変化し、LSP周波数の変化 の量子化により、LSP周波数を直接量子化する場合より、量子化に必要なビッ ト数を減少できるからである。DSPコア4では、LSP周波数のバイアス値は ROM E114内の参照テーブルに格納される。使用される量子化ビット数及 び量子化ステップサイズは、10個のLSP周波数の中で量子化される周波数の 関数であり、又、エンコーディング速度の関数である。量子化のビット数、及び ステップサイズは、各エンコーディング速度で各LSP周波数について、ROM E114内の参照テーブルとして格納される。前述の参照テーブルを表11に 示す。例えば、最大定格速度でのLSP周波数ω1は4ビットを用いて量子化さ れ、ステップサイズは0.025である。 量子化と補間の後、テストが行われ、フォルマントフィルタが量子化の後で安 定していることが確認される。各LSP周波数は、結果的フォルマントフィルタ の安定性を確保するために、少なくとも80Hzは離れていなければならない。 LSP周波数の中で80Hz以下で隣合う周波数がある場合、帯域拡大が再び行 われる。ブロック68の機能はDSPコア4内で行われる。 次に図3のブロック70に進み、LSP周波数は低帯域濾 波され、以下の式29に示すように量子化の影響を減少する この実施例では、最大定格速度でSM=0、1/2定格でSM=0.125であ る。1/4定格及び1/8定格において、1/4又は1/8定格フレームの連続 数が10より少ない場合、SM=0.25であり、その他の場合、SM=0.9 である。 LSP周波数は各ピッチサブフレームについて補間される。ピッチサブフレー ムについて補間されたLSP周波数は、1/8定格以外の対応するコードブック サブフレームのペアに使用される。LSP周波数は以下の式30に従って補間さ れる。 ここで重みαωは各ピッチサブフレーム及び各定格でのコードブックサブフレー ムについてROM E114内の参照テーブルに格納されている。前述の参照テ ーブルを表IIIに示す。例えば、最大定格速度でのαωは、ピッチサブフレー ム1及びコードブックサブフレーム1及び2について、0.75である。 補間されたLSP周波数は、ピッチ及びコードサーチに使用されるLPC係数 に変換され戻される。LPC係数は以下の式31〜33に示すように、PA(z )及びQA(z)から計算される。 ここで、 この実施例において、テイラー(Taylor)の直列展開がDSPコア4内で評価 され、PA(z)及びQA(z)でのコーサイン値を計算する。テイラーの直列 展開は前述のルートサー チに用いられたものより更に正確なコーサイン値を提供する。PA(z)及びQ A(z)の値はDSPコア4内で、上記の式32〜33に示される二次方程式の コンボリューション(convolution)を行うことにより計算される。 次に図3のブロック72に進み、合成ピッチサーチ動作により広範な分析が行 われる。この徹底的なサーチ処理は、ブロック72〜74により形成されるルー プにより示される。ピッチ予測がこの実施例では1/8定格以外のピッチサブフ レームについて行われる。図7に示すピッチエンコーダは合成による分析を行っ て、ピッチ予測パラメータ(即ちピッチラグ(pitch lag)L、及びピッチゲイ ンb)を決定する。選択されたパラメータは、知覚的に重み付けされた入力スピ ーチとこれらのピッチ予測パラメータを用いて発生された合成スピーチの間のM SEを最小にするようなパラメータである。 本発明の好適実施例においては、図7に示すように絶対的な知覚的重み付けが 、ピッチ予測パラメータの抽出に用いられる。図7において、式34に示す応答 性を有する知覚的重み付けフィルタが、フィルタ320及びフィルタ324のカ スケードとして構成される。 絶対的な知覚的重み付けは、フィルタ320の出力をオープンループフォルマン トの誤差として再使用することにより、 知覚的重み付け濾波の複雑なコンピュータ処理を減少する。式34のフィルタを 2つの部分に分けるこの動作は、ピッチサーチでの1つのフィルタ動作を省略す る。 入力スピーチサンプルs(n)はフォルマント予測フィルタ320を通る。こ の予測フィルタ320の係数は前述した図3のブロック70でのLSP補間及び LSPからLPCへの変換により得られたものである。フォルマント予測フィル タ320の出力はオープンループフォルマント残余p0(n)である。オープン ループフォルマント残余p0(n)は次の式35に示される伝達関数により重み 付けされたフォルマント合成フィルタ324を通る。 重み付けされたフォルマント合成フィルタ324の出力は知覚的に重み付けされ たスピーチx(n)である。初期フィルタ状態又は重み付けされたフォルマント 合成フィルタ324のフィルタメモリの影響は、重み付けされたフォルマント合 成フィルタ324の出力から、重み付けされたフォルマント合成フィルタ324 の0入力応答(ZIR)を減算することにより除去できる。重み付けされたフォ ルマント合成フィルタ324のZIRの計算は、ZIR要素328内で行われる 。ZIR aZIR(n)は知覚的に重み付けされたスピーチx( n)から加算器326で減算される。各ピッチサブフレームの開始点で、ZIR 要素328のフィルタメモリと重み付けされたフォルマント合成フィルタ324 のフィルタメモリは同一である。 ピッチサーチにおいて、コードブックベクトルからの0の貢献が、オープンル ープフォルマント残余の計算における現在のサブフレームについて仮定される。 このピッチサーチは前述のオープンループフォルマント残余p0(n)とクロー ズループフォルマント残余pc(n)の両方を用いて行われる。クローズループ フォルマント残余pc(n)は、以前のサブフレームの間にピッチ合成フィルタ 322内で再構成されたサンプルである。ピッチ合成フィルタ322の伝達関数 を式36に示す。 ここでピッチラグL及びピッチゲインbは、以前のピッチサブフレームについて のピッチサーチ処理の時に計算される。ピッチ合成フィルタ322への入力は、 励起ベクトル(excitation vector)Cb(n)であり、このベクトルはインデ ックスIについてのコードブック入力Cb(I)と、以前のコードブックサブフ レームについてのコードブックサーチ処理の間に計算されたコードブックゲイン Gを乗算することにより発生する。従って発生するフォルマント残余はクローズ ループ フォルマント残余と呼ばれる。 この実施例ではpc(n)は143個のクローズループ再構成サンプルからな る。サーチは大きなオープンループサーチから大きなクローズループに、ピッチ サブフレームの長さのウインドウについて移動する。長さLpのピッチサブフレ ームについて、nは−LMAX=−143とLp−17の間で変化する。好適実 施例では、サンプルpc(n)とp0(n)は、マルチプレクサ332によって 示すように連続的に格納され、これによりpc(n)とp0(n)値は長さLp +143のサンプルの単一ブロックとして次々にアクセスすることができる。こ れらのサンプルはRAM B122に格納される。 フォルマント残余p(n)はpc(n)とp0(n)からなり、式37に示す 伝達関数を有する重み付けされたフォルマント合成フィルタ330を通る。 重み付けされたフォルマント合成フィルタ330は、各ピッチラグLの値につい て、Lpの重み付けされた合成スピーチサンプルyL(n)のシーケンスを発生 するために用いられる。重み付けされた合成スピーチシーケンスyL(n)及び 重み付けされたスピーチシーケンスxP(n)は最小化プロセッサ334に提供 される。重み付けされたフォルマント合成フィルタ324の初期状態の影響は減 算で除かれたので、重み付け されたフォルマント合成フィルタ330のインパルス応答のみを計算すればよい 。yL(n)の計算は、重み付けされたフォルマント合成フィルタ330のイン パルス応答h(n)を、適当なp(n)内のサブシーケンスによりコンボリュー ション計算し、各ピッチラグLについて重み付けされた合成スピーチサンプルy L(n)を得る必要がある。 このコンボリューションはDSPコア4内で、図5a〜dに示すように再帰的 (recursive)な方法で行われる。yL(n)値のセットは各ピッチラグ値につ いて、 L=17からL=143まで計算される。重み付けされたフォルマント 合成フィルタ330のインパルス応答h(n)は、この実施例では最初の12個 のサンプルに省略され、RAM A104に格納される。フォルマント残余p( n)はRAM B122に格納される。最初のピッチラグL=17についてのコ ンボリューションは、式38に示すように非再帰的な方法で行われる。 ここでLPはピッチサブフレーム長である。 最初のシーケンスy17(n)が計算されRAM C142に格納される。ピッチ ラグL=18からL=143までのサブシーケンスyL(n)は、式39〜41 に示すように再帰的に計算される。 この関係を式42に示す。 再帰的コンボリューションの効率は、RAMを各々専用アドレッシングユニッ トを有する3つの部分に分割し、ロード及び格納動作を制御することにより最適 化される。これは3分割RAM(triple-partitioned RAM)と呼ばれる。式40 でのコンボリューション値の計算、及び結果の生成を各クロックサイクルで行う ことが可能である。例えば単一のクロックサイクルで、y18(10)が計算され 、y18(9)が格納され、y17(10)がフェッチされ、及びh(10)がフェ ッチされる。従って上記式40は結果を各サイクルで生成できる。各サイクルで 上記式41の結果を生成することも可能である。例えば、単一サイクルで、y18 (24)が計算され、y17(24)がフェッチされ、y18(23)が格納される 。 以前計算された重み付けされた合成スピーチサンプルyL-1(n)を、各ピ ッチラグ更新の間に同一元のRAMに移動することなく式40及び41を実行す る能力は、ピンポン(ping-ponging)処理と呼ばれる方式及びハードウエア容量 が必要になる。このピンポン方式では、ソース及び目的のRAMは 各ラグ更新の間でスワップされる(swapped)。等しいピッチラグ値についてy L(n)を計算したとき、yL-1(n−1)値は3つのRAMの中の第1のR AMからフェッチされ、結果は第2のRAMに格納される。奇数ピッチラグ値に ついてyL(n)を計算したとき、yL-1(n−1)値は3つのRAMの中の 第2のRAMからフェッチされ、結果は第1のRAMに格納される。このピンポ ン方式により、各ピッチラグ更新の間で、新たに計算されたyL(n)をRAM に移動し、及び以前に計算されたyL-1(n−1)値を同一のRAMから移動 する必要がなくなる。 図8はピッチサーチのコンボリューション部分(初期の非再帰的及び再帰的コ ンボリューションの両方)の実行するためのフロー図の一実施例である。ブロッ ク350では、ピッチラグLは最も小さな値に初期化される。この値は本実施例 では17である。サンプル番号n及びフィルタインデックスmは0にセットされ 、y17(n)の値は0にセットされる。ブロック352から360は初期コンボ リューションループを示し、このループは非再帰的方法で計算される。初期コン ボリューションの計算(ここでL=17)は、次の式43に従って行われる。 初期コンボリューションの計算は固定長ループを使用して、 計算の複雑性を減少している。このようにして、式43の内部ループ(ブロック 356〜360)内の可変長ループ構造を設定するために必要なオーバーヘッド が避けられる。各y17(n)値は、それが計算された後、最小化プロセッサ33 4に送られる。 ブロック352はサンプルインデックスnをテストする。nがピッチサブフレ ーム長LPに等しい場合、初期コンボリューションは完了し、フローはブロック 362に移行する。ブロック352内で、nがピッチサブフレーム長より短い場 合、フローはブロック356に移行する。ブロック352はインデックスmをテ ストする。mがフィルタインパルス応答長20に等しい場合、この実施例では、 現在の反復は完了し、フローはブロック354に移行し、mは0に設定され、n はインクリメントされる。そしてフローはブロック352へ戻る。ブロック35 6で、mがインパルス応答長より短い場合、フローはブロック360に移行し、 部分的合計が累計される。フローはブロック356に移行し、インデックスmは インクリメントされ、フローはブロック356へ進む。 ブロック352から360により形成された初期コンボリューションループ内 に含まれる動作はDSPコア4内で実行される。そこで、パイプライン処理を行 うことにより、ブロック360に示されるような積の累計が各クロックサイクル で可能となる。次の動作は計算のパイプライン処理を説明し、DSPコア4内で 単一クロックサイクルに発生する。フィルタ応答値h(m+1)がRAM A1 04からフェッチされ、 AREG130に提供される。フォルマント残余値p(n−17)がRAM B 122からフェッチされ、BREG134に提供される。C0REG164内に 存在する部分和y17(n+m−1)はマルチプレクサ168及び180を介して RAM C182に提供される。部分和y17(n+m+1)はRAM C182に より、マルチプレクサ158を介してDREG 156に提供される。AREG 130及びBREG134内の各値h(m)及びp(n−17)は乗算器132 に提供される。乗算器132の出力はマルチプレクサ138を介してバレルシフ ター140に提供される。このバレルシフター140はSREG136によりマ ルチプレクサ149を介して提供されるスケーリング値に従って、その値を正規 化する。SREG136内の値はp(n−17)シーケンスを正規化するために 必要な値である。この正規化因数をp(n−17)とh(m)の積に適用するこ とで、p(n−17)の正規化と同一の効果を得ることができる。なぜなら、そ の積の最高精度は正規化がバレルシフター140内で行われる前に維持されるか らである。部分和y17(n+m)はDREG156により、マルチプレクサ15 4、ディセーブルされたインバータ152及びバレルシフター150を介して加 算器146の第2入力に提供される。加算器146の出力はマルチプレクサ14 8を介してC0REG164に提供される。インデックスnがブロック352内 の最大許容値に達すると、初期コンボリューションは完了し、RAMC182に 存在する部分和はコンボリューションの最終値となる。 初期コンボリューションが完了すると、フローはブロック362に移行し、そ こで再帰的コンボリューションは残りのピッチラグ値に関する計算の中で実行さ れる。 ブロック362では、サンプルインデックスnは0に設定され、ピッチラグイ ンデックスLがインクリメントされる。フローはブロック364に移行する。ブ ロック364はLをテストする。Lが最大ピッチラグ値(本実施例では143) より大きい場合、フローはブロック366に移行し、そこでピッチサーチ動作は 終結する。Lが143以下の場合、フローはブロック368に移行する。ブロッ ク368はピンポン動作を前述したように制御する。ブロック368では、Lが テストされ、それが偶数か奇数か判断される。Lが偶数の場合、フローはブロッ ク378に移行する(ケースIで説明される動作)。Lが奇数の場合、フローは ブロック370に移行する(ケースIIで説明される動作)。ケースI(ピッチラグLが偶数の場合) ブロック378でyL(0)は式39に従って計算される。アドレスユニット A102はRAMA104に対するアドレス値を提供し、RAM A104はそ れに応答してh(0)をマルチプレクサ108〜AREG130を介して提供す る。同一クロックサイクルで、アドレスユニットB120はRAM B122に 対するアドレス値を提供し、RAMB122はそれに応答してp(−L)をマル チプレクサ116からBREG134を介して提供する。次のクロックサイクル で、 AREG130はh(0)を提供し、BREG134はp(−L)をマルチプレ クサ132に提供し、そこで2つの値が乗算され、その積はマルチプレクサ13 8を介してバレルシフター140に提供される。バレルシフター140は、マル チプレクサ149を介してSREG136により与えられる値に応じて、その積 を正規化し、正規化された積を加算器146の第1入力に提供する。加算器14 6の第2入力には、マルチプレクサ154、ディセーブルされたインバータ要素 152及びバレルシフター152を介して0が提供される。加算器146の出力 はマルチプレクサ148を介してC0REG164に提供される。同一クロック サイクルで、yL-1(0)及びh(1)がRAM B122及びRAM A10 4からフェッチされ、マルチプレクサ158及び108を各々介してDREG1 56及びAREG130に提供される。 プロック380では、合成されたスピーチサンプルインデックスnがインクリ メントされる。制御ブロック382では、合成されたスピーチサンプルインデッ クスnが20より少ない場合、フローはブロック384に進む。 プロック384では、新たなyL(n)値が式40に従って各クロックサイク ルで計算される。yL-1(n−1)及びh(n)の値を初期化するためにブロ ック384の最初の反復に先だって必要な適切な設定は、前述したようにブロッ ク378で達成された。最終値のyL(19)を格納するために、ブロック38 4の最後の反復の次に適切なクリーンアップ(cleanup)も必要である。 ブロック384の最初の反復で、ブロック378で計算されたyL(0)がC 0REG164内に存在する。C0REG164はマルチプレクサ168及び1 80を介してRAM C182にyL(0)を、アドレスユニットC184から のRAM C182に対するアドレス値と共に提供し格納する。yL(0)は、 それがRAM C182に提供されるのと同時に、最小化プロセッサ334に提 供される。 ブロック384では次の動作が単一クロックサイクルの間に行われる。即ち、 yL-1(n)値は、アドレスユニットB120により提供されるアドレスに従 って、マルチプレクサ116及び158を介して、RAM B122により、D REG156に提供される。インパルス応答値h(n+1)はRAM A104 により、アドレスユニットA102により提供されるアドレスに従って、マルチ プレクサ108を介してAREG130に提供される。DREG156はyL- 1(n−1)を、マルチプレクサ154、ディセーブルされたインバータ要素1 52、及びバレルシフター150を介して、加算器146の第1入力に提供する 。AREG130はh(n)を、及びBREG134はp(−L)を乗算器13 2に提供し、そこで2つの値は乗算され、その積はマルチプレクサ138を介し て乗算器132により、バレルシフター140に提供される。バレルシフター1 40はSREG136により提供される値に従って、その積の値を正規化し、正 規化された積値を加算器146の第2入力に提供する。加算器146の出力は、 マルチプレクサ148を介してC0REG164に提 供される。以前の反復で計算されたC0REG164での値は、マルチプレクサ 168及び180を介して、RAM C182に提供及び格納され、最小化プロ セッサに提供される。 ブロック380では、合成されたスピーチサンプルインデックスnがインクリ メントされる。制御ブロック382では、合成されたスピーチサンプルインデッ クスnが20に等しい場合、最後の反復で計算されたyL(19)は、フローが ブロック390に進む前に、マルチプレクサ168及び124を介して、RAM B122に提供され、循環バッフアに格納され、最小化プロセッサ334に提供 される。ケースIの終わり ケースII(ピッチラグLが奇数の場合) ブロック370では、yL(0)が式39に従って計算される。アドレスユニ ットA102はRAMA104にアドレス値を提供し、RAM A104はそれ に応じてh(0)をマルチプレクサ108を介してAREG130に提供する。 同一のクロックサイクルで、アドレスユニットB120はアドレス値をRAM B122に提供し、RAM B122はそりに応じてp(−L)をマルチプレク サ116を介してBREG134に提供する。次のクロックサイクルの間、AR EG130はh(0)を、及びBREG134はp(−L)を乗算器132に提 供し、そこで2つの値が乗算され、その積はマルチプレクサ138を介してバレ ルシフター40に提供される。バレルシフター40は、マルチプレクサ149を 介して SREG136により提供される値に応じて、その積を正規化し、正規化された 積を加算器146の第1入力に提供する。加算器146の第2入力には、マルチ プレクサ154、ディセーブルされたインバータ要素152、及びバレルシフタ ー152を介して0が提供される。加算器146の出力はマルチプレクサ148 を介してC0REG164に提供される。同一クロックサイクルの間に、yL- 1(0)及びh(1)がRAM C182及びRAM A104からフェッチされ 、DREG156及びAREG130にマルチプレクサ158及び108を各々 介して提供される。 ブロック372では、合成されたスピーチサンプルインデックスnはインクリ メントされる。制御ブロック374では、合成されたスピーチサンプルインデッ クスnが20より少ない場合、フローはブロック367に進む。 ブロック376では、新たなyL(n)値が式40に従って各クロックサイク ルに計算される。yL-1(n−1)及びh(n)の値を初期化するために、ブ ロック376の最初の反復に先だって必要な適切なセットアップが前述したよう にブロック370で行われた。yL(19)の最終値を格納するために、ブロッ ク376の最後の反復の次に適切なクリーンアップも必要である。 ブロック376の最初の反復において、ブロック370で計算されたyL(0 )は、C0REG164内に存在する。C0REG164はマルチプレクサ16 8及び180を介して、yL(0)を、アドレスユニットB122からRAMB に対 して与えられたアドレスと共にRAMB122に提供し、格納する。yL(0) は、それがRAM B122に提供されるのと同時に、最小化プロセッサ334 に提供される。 ブロック376では、次の動作が単一サイクルで実行される。yL-1(n) 値はRAMC182により、アドレスユニットC186から提供されたアドレス に従い、マルチプレクサ158を介して、DREG156に提供される。インパ ルス応答値h(n+1)は、RAMA104により、アドレスユニットA102 によって提供されるアドレスに従い、マルチプレクサ154を介して、AREG 130に提供される。DREG156はyL-1(n−1)を、マルチプレクサ 154、ディセーブルされたインバータ要素152、及びバレルシフター150 を介して、加算器146の第1入力に提供される。AREG130はh(n)を 、BREG134はp(−L)をマルチプレクサ132に提供し、ここで2つの 値が乗算され、乗算器132により提供されるその積は、マルチプレクサ138 を介してバレルシフター140に提供される。バレルシフター140は、SRE G136により提供される値に応じて、その積を正規化し、正規化された積を加 算器146の第2入力に提供する。加算器146の出力はマルチプレクサ148 を介してC0REG168に提供される。以前の反復で計算されたC0REG1 68の値は、マルチプレクサ168及び124を介してRAMB122に格納さ れ、及び最小化プロセッサ334に提供される。 ブロック372では、合成されたスピーチサンプルインデ ックスnはインクリメントされる。制御ブロック374では、合成されたスピー チサンプルインデックスnが20に等しい場合、最後の反復で計算されたyL( 19)は、フローがブロック390に進む前に、マルチプレクサ168及び12 4を介して、RAM B122に提供され、RAM B122内の循環バッファに 格納され、及び最小化プロセッサ334に提供される。ケースIIの終わり ブロック390の反復に先立って、yL-1(19)がRAM B122内の循 環バッファからフェッチされ、BREG134にロードされ、yL-1(19) はBREG134からC0REG164に移動され、その後、yL-1(20) がRAM B122内の循環バッファからフェッチされ、BREG134にロー ドされる。 ブロック390では、新たなyL(n)が各クロックサイクルで、式41に従 って計算される。次に示す動作が単一クロックサイクルで行われる。即ち、yL -1(n−2)がBREG134によりC0REG164に提供される。yL-1 (n−3)がRAM B122内の循環バッファからフェッチされ、BREG1 34にロードされる。C0REG164に存在するyL-1(n−1)は最小化 プロセッサ334に提供される。ブロック390の最後の反復の続いて、yL- 1(LP−2)はRAM B122内の循環バッファから削除される。各ピッチ ラグで循環バッファに要素を加算し、各ピッチラグで循環バッフ ァから要素を減算することにより、循環バッファのサイズはLP−19に維持さ れる。 循環バッファの導入は、アドレスユニットB120内の専用アドレスレジスタ により行われる。これはシーケンシャルメモリが循環形式で自動的にアドレスで きるように、丸め込み点(wvap around points)を示す。 ブロック386では、合成されたスピーチサンプルインデックスnがインクリ メントされる。制御ブロック388では、合成されたスピーチサンプルインデッ クスnがLPより少ない場合、フローは再びブロック390に進む。合成された スピーチサンプルインデックスnがLPに等しい場合、全てのyL(n)値が現 在のピッチラグ値Lについて計算され、フローはブロック362に戻る。 合成されたスピーチサンプルyL(n)の計算に先立ち、知覚的に重み付けさ れたスピーチサンプルxP(n)の長さLPのシーケンスが、最小化プロセッサ 334に提供される。前述したように、ラグ値L=17からL=143までの長 さLPのスピーチサンプルxP(n)のシーケンスは、初期及び再帰的コンボリ ューションの計算の間に、最小化プロセッサ334に提供される。合成されたス ピーチサンプルは最小化プロセッサ334に次々と提供される。最小化プロセッ サ334は合成された各スピーチサンプルシーケンスyL(n)の自動相関を計 算し、合成された各スピーチサンプルシーケンスyL(n)と知覚的に重み付け されたスピーチサンプルxP(n)間の交差相関を計算する。これら相関値から 、最小化プ ロセッサ334は、合成された各スピーチサンプルシーケンスyL(n)と知覚 的に重み付けされたスピーチサンプルxP(n)間のMSEの相対測定値を計算 する。各ピッチラグLに関して、MSEは合成されたスピーチサンプルシーケン スのピッチゲイン値bのあらゆる可能な値について計算される。最小化プロセッ サ334は、現在のピッチラグL及び現在のピッチゲインBにより、最小MSE の値を維持することにより、全ピッチラグ値L及びピッチゲイン値bのあらゆる 可能な値についての最小値を検出する。最小MSEに対応するピ 小化プロセッサ334によって維持される。新たなMSEの各値は最小化プロセ ッサ334内に保持された最小MSEと比較される。新MSEが最小MSEより 小さい場合、最小M 適ピッチラグLと最適ピッチゲインインデックスbは、知覚的に重み付けされた スピーチサンプルxp(n)と重み付けされた合成スピーチサンプルyL(n) 間の最小MSEを生じる値である。MSEは次式44〜46に示すように、ピッ チラグLとピッチゲインbの関数である。 ExPxPは知覚的に重み付けされたスピーチサンプルxP(n)の自動相関 である。ExPyLは知覚的に重み付けされたスピーチサンプルxp(n)と重 み付けされた合成スピーチサンプルyL(n)間の交差相関である。EyLyL は重み付けされた合成スピーチサンプルyL(n)の自動相関である。 知覚的に重み付けされたスピーチサンプルxp(n)の自動相関ExPxPは 、ピッチゲインbの関数ではない。ExPxPは各ピッチサブフレームの間で一 定であるので、最適ピッチラグ及び最適ピッチゲインの選択に影響しない。ピッ チラグL及びピッチゲインbに対する最小化の式44〜46は、次の最小化の式 47と等価である。 MSE(L,b)=-2bExpyL+b'EyLyL (47) 最小化プロセッサ334は、重み付けされた合成スピーチサンプルyL(n) の自動相関EyLyL、及び知覚的に重み付けされたスピーチサンプルxp(n )と重み付けされた合成スピーチサンプルシーケンスyL(n)間の交差相関E xPyLを計算する。各相関対(ExPyL、EyLyL)について、最小化プ ロセッサ334は、前記の式47に従って、相対MSEをピッチゲインbの値の 1セットについて計算する。ExPyL及びEyLyLの計算は、最小化プロセ ッサ334内で同時に行われる。相関値がピッチラグL+1について計算されて いる間に、相対MSE値が計算され、MSE最小化に関する決定がピッチラグL について行われる。 図6a及び6bは最小化プロセッサ334の一実施例を示す。知覚的に重み付 けされたスピーチサンプルxp(n)はDSPコア4によりラッチ210に提供 され、制御要素220によって提供されるアドレスに従ってRAM X212内 に格納される。b=0.25〜b=2.0で0.25ステップ毎にスケールされ た(scaled)ピッチゲイン値−2bが、マルチプレクサ260を介してDSPコ ア4により提供され、ラッチ264、268、272、276、280、284 、288及び292に各々格納される。対応するスケールされたピッチゲイン値 b2はマルチプレクサ260を介してDSPコア4により提供され、ラッチ26 2、266、270、274、278、282、286及び290に各々格納さ れる。マルチプレクサ260はラッチ262に値を直接提供する。ラッ チ262はラッチ264に値を直接提供する。ラッチ276はラッチ278に値 をマルチプレクサ294を介して提供する。ラッチ290は値をラッチ292に 直接提供する(以下同様)。ラッチ262〜292及びマルチプレクサ294を 介して値をシフトすることにより、値はマルチプレクサ260を介して循環バッ ファ259内の全てのラッチに提供することができる。知覚的に重み付けされた スピーチサンプルxp(n)の格納、及び−2bとb2値の格納に続いて、重み 付けされた合成スピーチサンプルyL(n)がラッチ210に提供される。重み 付けされた合成スピーチサンプルyL(n)はラッチ210により、マルチプレ クサ216の2つの入力に提供される。これは重み付けされた合成スピーチサン プルの二乗(yL(n))2を生成する。ラッチ210も、重み付けされた合成 スピーチサンプルyL(n)を乗算器218の第1入力に提供する。RAM X 212は知覚的に重み付けされたスピーチサンプルxp(n)を、ラッチ214 を介して乗算器218の第2入力に提供する。乗算器218は積xp(n)yL (n)を計算する新たな二乗値(yL(n))2、及び新たな積xp(n)yL (n)は、乗算器216及び218により各サイクルで各々計算される。サンプ ルインデックスnは0からLP−1まで、各ピッチラグLについて変化する。 重み付けされた合成スピーチサンプルの二乗値(yL(n))2は、アキュム レータ221に提供される。積xp(n)yL(n)はアキュムレータ231に 提供される。アキュムレータ221は各ピッチラグLについてのLPの二乗の合 計を計算す る。アキュムレータ231は各ピッチラグLについてLPの積の合計を計算する 。 新たな各ピッチラグの前に、ラッチ226にはマルチプレクサ224を介して 0が提供される。これでアキュムレータ221は現在のピッチラグLに関する自 動相関EyLyLを計算する準備が整う。アキュムレータ221内で、二乗値( yL(n))2は加算器222の第1入力に提供される。不足している合計はラ ッチ226により加算器222の第2入力提供される。新たに計算された不足し ている合計は加算器22により、マルチプレクサ224を介してラッチ226に 提供され格納される。ピッチラグLに関する全てのLP値に対する累計の後、自 動相関EyLyLはラッチ228に提供され格納される。 新たな各ピッチラグの前に、ラッチ236にはマルチプレクサ234を介して 0が提供される。これでアキュムレータ231は、現在のピッチラグLに関する 交差相関ExPyLを計算する準備が整う。アキュムレータ231内で、積xp (n)yL(n)が、加算器232の第1入力に提供される。不足している合計 はラッチ236により、加算器232の第2入力に提供される。新たに計算され た不足している合計は加算器232により、マルチプレクサ234を介して、ラ ッチ236に提供され、格納される。ピッチラグLに関する全てのLP値に対す る累計の後、交差相関ExPyLはラッチ238に提供され格納される。 式47に示されるMSEは以下に説明する2つのサイクル 処理において計算される。 2つのサイクルの第1サイクルで、ラッチ238は知覚的に重み付けされたス ピーチサンプルと重み付けされた合成スピーチサンプル間の交差相関ExPyL を、マルチプレクサ230を介して、乗算器240の第1入力に提供する。循環 バッファ259はスケールされたピッチゲイン値−2bを、マルチプレクサ29 6を介して乗算器240の第2入力に提供する。積−2bExPyLは乗算器2 40により、加算器242の第1入力に提供される。加算器242の第2入力は 、マルチプレクサ246を介して0が提供される。加算器242の出力はラッチ 244に提供され格納される。循環バッファ259のラッチ262〜292内の 値は、ラッチ276の出力をマルチプレクサ294を介してラッチ278に提供 することにより、及びラッチ292の出力をマルチプレクサ260を介してラッ チ262に提供することにより、回転される。この回転の後、ラッチ262、2 64、266、268、270、272、274、276、278、280、2 82、284、286、288、290及び292は、ラッチ292、262、 264、266、268、270、272、274、276、278、280、 282、284、286、288、290に以前に含まれていた値を各々含む。 ピッチサーチにおいて、循環バッファは、ラッチ262〜292及び循環バッフ ァのマルチプレクサ260及び294を含む。循環バッファ259の値を回転す ることにより、ラッチ292は第1及び第2サイクルで、−2b及びb2を各々 提供する。 2つのサイクルの第2サイクルで、ラッチ228は重み付けされた合成スピー チサンプルの自動相関EyLyLを、乗算器240の第1入力に提供する。循環 バッファ259はスケールされたピッチゲイン値b2を、マルチプレクサ296 を介して乗算器240の第2入力に提供する。積b2EyLyLは乗算器240 により、加算器242の第1入力に提供される。加算器242の第2入力には、 マルチプレクサ246を介してラッチ244の出力積−2bExpyLが提供さ れる。加算器242は−2bExpyL+b2EyLyLを、ラッチ244に提 供し格納する。循環バッファ259のラッチ262〜292の値は、前述したよ うに回転される。 以上の2サイクル処理は、スケールされたピッチゲイン値の全ての8対(−2 b、b2)について繰り返される。現在のMSE値−2bExpyL+b2EyL yLの計算に続く2つのサイクルの間、新たなMSE値が、−2b及びb2値の 新たな対を用いて計算される。ラッチ244が新MSE値に更新される前に、現 在のMSE値は、ラッチ250に格納された現在のピッチサブフレームに関する 現在の最小MSEと比較される。現在のMSE値−2bExpyL+b2EyL yLは、ラッチ244により減算器248のプラス入力に提供される。ラッチ2 50は現在の最小MSE値を、減算器248のマイナス入力に提供する。制御要 素220は減算器248からの差出力の結果をモニタする。この差がマイナスの 場合、現在のMSE値は現在のサブフレームに関する新たな最小MSEであ 新される。その差がマイナスではない場合、現在のMSE値は無視される。 各ピッチサブフレームの前に、DSPコア4はコマンドを最小化プロセッサ3 34に発送し、制御要素220に新たなピッチサブフレームが続くことを知らせ る。このコマンドを受信すると、現在のピッチラグ及び現在のピッチゲインイン デックスは制御要素220内で0に設定される。重み付けされた合成スピーチサ ンプルの新たな各シーケンスが最小化プロセッサ334に提供される前に、DS Pコア4はコマンドを最小化プロセッサ334に発送し、制御要素220に重み 付けされたスピーチサンプルの新たなシーケンスが続くことを知らせる。このコ マンドを受信すると、制御要素220は現在のピッチラグ及び現在のピッチゲイ ンインデックスを1だけインクリメントする。この値は1のピッチラグインクリ メント及び0.25のピッチゲインインクリメントに対応する。重み付けされた 合成スピーチサンプルの第1シーケンスが最小化プロセッサ334に提供されて いる間、現在のピッチラグ及び現在のピッチゲインインデックスは1に等しくな る。この値はL=17のピッチラグ、及びb=0.25の正規化されたピッチゲ インに対応する。又、各ピッチサブフレ ピッチゲインを示す。各ピッチサブフレームの間、制御要素220はラッチ24 4内の第1のマイナスMSEを検出する。 この値はラッチ250に格納され、対応するピッチラグ概算 で更新される。これは各ピッチサブフレームでラッチ250内の最小化MSEを 初期化するために行われる。ピッチサブフレームの間にマイナスのMSE値が生 成されなかった場合、 ブフレームの終わりで0になる。これらの概算は制御要素220によりDSPコ ア4に提供される。DSPコア4が無効ピッチラグ概算を受信した場合、最適ピ ッチゲインは0に設 ッチゲインが0に設定されることにより、ピッチラグは連続 すると、この値は最適ピッチラグとして使用され、使用される最適ピッチゲイン は1〜8のピッチゲイン概算インデックスについて各々、0.25、0.5、0 .75、1.、0、1.25、1.5、1.75、及び2.0である。 ピッチサーチにおいて、式47のMSE関数の特性MSE(L,b)により、 計算量を減少できる。現在のピッチラグの残りのMSE計算は、現在のピッチラ グ内でまだ計算されている残りのMSE値が、ラッチ250に格納された現在の 最小MSEより小さいMSE値を生じ得ないと判断された場合に中止できる。本 実施例では、ピッチサーチ内の計算量を節約するための3つの技術が、最小化プ ロセッサ334内で採用される。1つの二次方程式が各ピッチラグ値Lについて 形成される。これら二次方程式の全ては原点b=0及びMS E(L,b)=0を通過する。ピッチサーチ動作では詳しくサーチされないが、 ピッチゲイン値b=0は可能なゲイン値のセットに含まれる。 第1の計算的節約方法は、ExpyLがマイナスの時、現在のピッチサーチ処 理でのMSE値の計算を中止することを含む。各サブフレームに関する最小MS E上の上限を0に保証すると、全てのピッチゲイン値がプラスである。マイナス のExpyLはプラスのMSE値を生じ、従って次に最適な値である。 第2の計算的節約方法は、MSE関数の二次方程式的な特徴に基づく現在のピ ッチラグのピッチサーチ処理での残りのMSE値の計算を中止することを含む。 MSE関数MSE(L,b)は単調に増加するピッチゲイン値について計算され る。プラスのMSE値が現在のピッチラグについて計算されたとき、現在のピッ チラグに関する残りの全MSE計算は、残りの全MSE値が同様にプラスである として中止される。 第3の計算的節約方法は、MSE関数の二次方程式的特徴に基づく現在のピッ チラグのピッチサーチ処理での残りのMSE値の計算を中止することを含む。M SE関数MSE(L,b)は単調に増加するピッチゲイン値について計算される 。新たな最小MSEではないと判断される現在のピッチラグ内で、MSE値が計 算されるとき、及び新たな最小MSEと判断された現在のピッチラグ内で、MS E値が既に計算されたとき、現在のピッチラグ内の残りの全てのMSE計算は、 新たな最小MSEより少ない値になり得ないとして中止される。 以上3つの計算量節約方法は、最小化プロセッサ334の消費電力を著しく節約 する。 ブロック76においてピッチ値は量子化される。各ピッチ は両方共、PGAIN=0を生じる。これら2つの場合はPLAGの値により区 別され、第1の場合では0、第2の場合では0以外である。 1/8の速度を除き、各ピッチサブフレームは、2つのコードブックサブフレ ームを包含する。各コードブックサブフ 処理内で判断される。1/8の速度について、1つのコードブックインデックス 及び1つのコードブックゲインのみが判断され、そのコードブックインデックス は送信の前に放棄される。 図9の実施例において、コードブック400により提供される励起コードブッ クは2Mコードベクトルからなり、ここで M=7である。 この実施例での 循環コードブックは、以下の表IVに示される128個の値 からなる。これらの値は10進で示され、ROM E114に格納されている。 コードブックベクトルインデックスI及びコードブックゲインGを選択するの に用いる方法は、ピッチサーチ処理に用いる方法と同様な合成分析法(analysis -by-synthesis metho されたコードブックゲインGは、I及びGの許容値であり、これらの値は重み付 けされた合成スピーチyI(n)と、ピッチ概算除去された知覚的に重み付けさ れたスピーチxC(n)の間の式50の平均二乗エラーMSE(I,G)を最小 にする値である。図9において、重み付けされたスピーチxC(n)は次のよう に発生する。現在のサブフレームに関するピッチサーチ内に発生した同一の知覚 的に重み付けされたスピーチx(n)がここでは使用される。1/8の速度内に ピッチサーチがないために、x(n)がこの速度に関するコードブックサーチ内 に発生される。x(n)は加算器410の第1入力に提供される。現在のサブフ レーム及びピッチフィルタ506の現在の状態メモリに関するピッチサーチにお いて抽出 ピッチ合成フィルタ506のZIR pzir(n)がZIR要素406内で計 算される。このZIRは重み付けされた合成フィルタ408を通り、その出力p azir(n)は加算器410のx(n)から減算される。加算器410の出力 xC(n)は正規化され、最小化プロセッサ412に提供される。 コードブックベクトルCI(n)が、コードブック400により、コードブッ クインデックスIに応答し、式53に従って提供される。現在のピッチサブフレ ームに関するピッチサ ーチ処理において既に決定されている重み付けされた合成フィルタ404のイン パルス応答h(n)が、この実施例では用いられる。しかし、1/8の速度では 、h(n)は重み付けされた合成フィルタ404のコードブックサーチで計算さ れる。本実施例では、インパルス応答h(n)は、最初の20のサンプルに省略 される。 コードブックの再帰的特性のために、ピッチサーチで用いられるものと同様な 再帰的コンボリューション処理が、コードブックサーチに使用される。このコン ボリューションは次の式52のようにして計算される。 インデックスIに関するコードブックベクトルCI(n)は次式53のように 定義される。 全コンボリューションは式54に従ってインデックスI=0について行われる。 出力y0(n)はRAM C182に格納される。他のインデックスI=1〜I =127について、コンボリューションは次式55〜57に示すように再帰的に 行われる。 ピッチサーチでのように、コードブックサーチ再帰的コンボリューションの実 行は、DSPコア4内の3分割RAM及びROM E114により最適化される 。 式56内のコンボリューション値を計算し、各クロックサイクルで結果を生成 することが可能となる。例えば、単一サイクルにおいて、y18(10)が計算 され、y18(9)が格納され、y17(10)がフェッチされ、h(10)がフ ェッチされる。従って、前述の式56は各クロックサイクルで1つの結果を生成 できる。各クロックサイクルで式57に関する結果を生成することも可能である 。例えば、単一クロックサイクルで、y18(24)が計算され、y17(24)が フェッチされ、y18(23)が格納される。 式56及び57を実行することにより、各コードブックインデックス更新の間 で、以前に計算した重み付けされた合成スピーチサンプルyI-1(n−1)を 同一元のRAMに移動する必要がない。この式56及び57を実行する能力は、 ピンポン処理と呼ばれる格納機構及びハードウエア容量が必要になり、このピン ポン処理は発送元(source)及び発送先(desti nation)のRAMが各インデックス更新の間でスワップされる。奇数コードブッ クインデックス値についてyI(n)を計算するとき、yI-1(n−1)値が 3つのRAM中の第2のRAMからフェッチされ、結果は第1のRAMに格納さ れる。このピンポン処理により、各コードブックインデックス更新の間に、以前 計算したyI-1(n−1)値を同−RAMに移動する必要がなくなる。 図10はコードブックサーチの再帰的部分(初期の非再帰的及び再帰的コンボ リューションの両方を含む)の実行を示すフローの一実施例である。ブロック4 14では、コードフックインデックスIは最も小さい値(本実施例では0)に初 期化される。サンプル番号n及びインデックスmは0に設定され、y0(n)の 値は0に設定される。ブロック416〜424は、非再帰的方法で計算される初 期コンボリューションループを形成する。初期コンボリューションの計算(ここ でI=0)は次式58に従って行われる。 初期コンボリューションの計算は固定長ループを使用し、計算の複雑性を減少 している。このようにして、式58の内部ループ(ブロック320〜324)内 に、可変長ループ構造を設定するために必要なオーバーヘッドは避けられる。各 y0(n)値は、それが計算された後に最小化プロセッサ412に送られる。 ブロック416はサンプルインデックスnをテストする。nがコードブックサ ブフレーム長LCに等しい場合、第1コンボリューションは完了し、フローはブ ロック426に移行する。ブロック416で、nがコードブックサブフレーム長 より小さい場合、フローはブロック420に移行する。ブロック430はインデ ックスmをテストする。mがこの実施例でフィルタインパルス応答長20に等し い場合、現在の反復は完了し、フローはブロック418に移行し、ここでmは0 に設定され、nはインクリメントされる。フローはブロック416に戻る。ブロ ック420で、mがフィルタインパルス応答長20より少ない場合、フローはブ ロック434に移行し、ここで部分的合計が累計される。フローはブロック42 2に移行し、ここでインデックスmはインクリメントされ、フローはブロック4 20に進む。 ブロック414から424により形成された初期コンボリューションループに 含まれる動作は、DSPコア4内で実行され、ここで適切なピンポン処理が提供 され、ブロック424に示すような積の累計を行うことができる。次の動作はピ ンポン計算処理を示し、これは単一クロックサイクルでDSPコア4内で行われ る。フィルタ応答値h(m+1)がRAM A104からフェッチされ、ARE G130に提供される。C0REG164内に存在する部分和y0(n+m−1 )は、マルチプレクサ168及び180を介してRAM C182に 提供される。この部分和y0(n+m−1)はRAM C182によりDREG 156に提供される。AREG130及びBREG134内の各値h(m)及び CI(n)は乗算器132に提供される。乗算器132の出力は、マルチプレク サ138及びディセーブルされたバレルシフター140を介して、加算器146 の第1入力に提供される。部分和y0(n+m)はDREG156により、マル チプレクサ154、ディセープルされたインバータ152及びディセーブルされ たバレルシフター150を介して、加算器146の第2入力に提供される。本実 施例では、中心がクリツプされた(clipped)ガウスコードブック(Gaussian co debook)CI(n)が大多数の0値を含む。この条件を節電特性として利用する ために、DSPコア4は先ず、コードブックベクトルがブロック424内で0か 否かチェックする。0の場合、ブロック424で通常行われる前述の乗算及び加 算ステップはスキップされる(skipped)。この処理は乗算及び加算動作の約8 0%を除去し、従って電力が節約できる。加算器146の出力はマルチプレクサ 148を介してC0REG164に提供される。C0REG内のこの値はマルチ プレクサ168及び180を介してRAM C182に提供される。インデック スnがブロック416内のその最大許容値に達すると、初期コンボリューション は完了し、RAM C182内の部分和はコンボリューションの最終結果となる 。 初期のコンボリューションが完了すると、フローはブロック426に移行し、 ここで再帰的コンボリューションが、他 のコードブックインデックス値に関する計算において行われる。 ブロック426において、サンプルインデツクスnは0に設定され、コードブ ックインデックスIはインクリメントされる。フローはブロック428に移行す る。ブロック428はIをテストする。Iが128(本実施例での最大コードブ ックインデックス値)以上の場合、フローはブロック430に移行し、ここでコ ードブックサーチ動作は終結する。Iが127以下の場合、フローはブロック4 32に移行する。ブロック432は前述のピンポン動作を制御する。ブロック4 32では、Iが偶数か奇数か判定される。Iが偶数の場合、フローはブロック4 42に移行する(ケースIで説明する動作)。Iが奇数の場合、フローはブロッ ク434に移行する(ケースIIで説明する動作)。ケースI(コードブックインデックスIが偶数の場合) ブロック442では、yI(0)が式55に従って計算される。アドレスユニ ットA102はアドレス値をRAM A104に提供し、RAM A104はこれ に応じてh(0)をマルチプレクサ108を介して、AREG130に提供する 。同一クロックサイクルで、アドレスユニットE112はアドレス値をROM E114に提供し、ROM E114はこれに応じてCI(0)をマルチプレク サ116を介してBREG134に提供する。次のサイクルの間、AREG13 0はh(0)を、及びBREG134はCI(0)を乗算器132に提 供し、ここで2つの値は乗算され、その積はマルチプレクサ138を介して、及 びディセーブルされたバレルシフター140を介して加算器146の第1入力に 供給される。加算器146の第2入力にはマルチプレクサ154、ディセーブル されたインバータ要素152及びバレルシフター152を介して0が提供される 。加算器146の出力はC0REG164にマルチプレクサ148を介して提供 される。同一クロックサイクルの間、yI-1(0)及びh(1)がRAM B1 22及びRAM A104からフェッチされ、DREG156及びAREG13 0に、マルチプレクサ158及び100を各々介して提供される。 ブロック444では、合成されたスピーチサンプルインデックスnはインクリ メントされる。制御ブロック446では、合成スピーチサンプルインデックスn が20より小さい場合、フローはブロック448に進む。 ブロック448では、新たなyI(n)が各クロックサイクルで式56に従っ て計算される。yI-1(n−1)及びh(n)の値を初期化するためにブロッ ク448の最初の反復に先立って、適当な設定がブロック442内で前述したよ うに行われる。yI(19)の最終値を格納するために、ブロック448の最後 の反復の次に、適当なクリーンアップも必要である。 ブロック448の最初の反復において、ブロック442で計算されたyI(0 )は、C0REG164内に存在する。C0REG164はyI(0)を、マル チプレクサ168及び180を介して、RAMC182に提供し、アドレスユニ ット C186からRAMC182に提供されるアドレス値により格納する。 ブロック448では、次の動作が単一クロックサイクルで実行される。yI- 1(n)値はRAMB122により、アドレスユニットB120により提供され るアドレスに従い、マルチプレクサ118及び158を介して、DREG156 に提供される。インパルス応答値h(n+1)はRAM A104により、アド レスユニットA102により提供されるアドレスに従って、マルチプレクサ10 8を介して、AREG130に提供される。DREGI56はyI-1(n−1 )を、マルチプレクサ154、ディセーブルされたインバータ要素152、及び バレルシフター150を介して、加算器146の第1入力に提供する。AREG 130はh(n)を、及びBREG134はCI(n)を乗算器132に提供し 、ここで2つの値は乗算され、その積はマルチプレクサ138を介して乗算器1 32により、ディセーブルされたバレルシフター140を介して、加算器146 の第2入力に提供される。加算器146の出力はマルチプレクサ148を介して C0REG164に提供される。以前の反復で計算されたC0REG164の値 は、マルチプレクサ168及び180を介してRAM C182に格納され、最 小化プロセッサ412に提供される。 制御ブロック446では、合成されたスピーチサンプルインデックスnが20 に等しい場合、最後の反復で計算されたyI(19)は、フローがブロック45 4に進む前に、マルチ プレクサ168及び124を介して、循環バッファ内のRAM B122に格納 され、最小化プロセッサ412に提供される。ケースIの終わり ケースII(コードブックインデックスIが奇数の場合) ブロック434において、yI(0)が式55に従って計算される。アドレス ユニットA102はRAMA104にアドレス値を提供し、RAMA104はこ れに応じてh(0)をマルチプレクサ108を介してAREG130に提供する 。同一クロックサイクルで、アドレスユニットE112はアドレス値をROM E114に提供し、ROM E114はこれに応じてCI(0)をマルチプレク サ116を介してBREG134に提供する。次のサイクルの間、AREG13 0はh(0)を、及びBREG134はCI(0)を乗算器132に提供し、こ こで2つの値は乗算され、その積は乗算器138を介して、ディセーブルされた バレルシフター140を介して加算器146の第1入力に提供される。加算器1 46の第2入力には、マルチプレクサ154、ディセーブルされたインバータ要 素152、及びバレルシフター152を介して0が提供される。加算器146の 出力はC0REG164にマルチプレクサ148を介して提供される。同一クロ ックサイクルの間、yI-1(0)及びh(1)は、RAM C182及びRAM A104からフェッチされ、DREG156及びAREG130に、マルチプ レクサ158及び100を各々介 して提供される。 ブロック436では、合成されたスピーチサンプルインデックスnがインクリ メントされる。制御ブロック438では、合成されたスピーチサンプルインデッ クスnが20より小さい場合、フローはブロック440に進む。 ブロック440では、新たなyI(n)値が各クロックサイクルで、式56に 従って計算される。yI-1(n)及びh(n)の値を初期化するために、ブロ ック440の最初の反復に先立って必要な適当な設定が、前述したようにブロッ ク434で行われる。yI(19)の最終値を格納すために、ブロック440の 最後の反復の次に、適当なクリーンアップも必要である。 ブロック440の最初の反復において、ブロック434で計算されたyI(0 )はC0REG164内に存在する。C0REG164はyI(0)を、マルチ プレクサ168及び180を介して、 RAM B122に、アドレスユニット B120からのRAM Bのアドレス値を用いて格納する。yI(0)はRAM B122に提供されるのと同時に、最小化プロセッサ412に提供る。 ブロック440では、次に示す動作が単一クロックサイクルで実行される。y I-1(n)値はRAMC182により、アドレスユニットC184により提供 されるアドレスに従って、マルチプレクサ158を介してDREG156に提供 される。インパルス応答h(n+1)はRAM A104により、アドレスユニ ットA102により提供されるアドレスに従っ て、マルチプレクサ108を介してAREG130に提供される。DREG15 6はyI-1(n−1)を、マルチプレクサ154、ディセーブルされたインバ ータ要素152、及びバレルシフター150を介して加算器146の第1入力に 提供する。AREG130はh(n)を、及びBREG134はCI(n)を乗 算器132に提供し、ここで2つの値は乗算され、その積は乗算器132により 、マルチプレクサ138を介し、バレルシフター140を介して、加算器146 の第2入力に提供される。加算器146の出力はマルチプレクサ148を介して C0REG164に提供される。以前の反復で計算されたC0REG164の値 は、マルチプレクサ168及び124を介してRAMB122に格納され、最小 化プロセッサ412に提供される。 ブロック436では、合成されたスピーチサンプルインデックスnはインクリ メントされる。制御ブロック438では、合成されたスピーチサンプルインデッ クスnが20に等しい場合、フローがブロック454に進む前に、最終反復で計 算されたyI(19)はマルチプレクサ168及び124を介して、RAM B 122に提供され、RAM B122の循環バッファ内に格納され、最小化プロ セッサ412に提供される。ケースIIの終わり ブロック454の最初の反復の前に、yI-1(19)がRAM B122内の 循環バッファからフェッチされ、BREG134にロードされる。yI-1(2 0)がRAMB122内の 循環バッファからフェッチされ、BREG134にロードされた後、yI-1( 19)はBREG134からC0REG164へ移動される。 ブロック454では、新たなyI(n)が、各クロックサイクルで式57に従 って計算される。次の動作が単一クロックサイクルの間に実行される。yI-1 (n−2)がBREG134によりC0REG164に提供される。yI-1( n−3)はRAM B122内の循環バッファからフェッチされれ、BREG1 34にロードされる。C0REG164に存在するyI-1(n−1)は最小化 プロセッサ412に提供される。ブロック454の最終反復の次に、yI-1( LC−2)がRAM B122内の循環バッファから削除される。各コードブッ クインデックスにおいて、RAMB122内の循環バッファに対して要素を加え 及び要素を減算することにより、循環バッファのサイズはLC−19に維持され る。RAMB122内の循環バッファの導入は、アドレスユニットB120内の 専用アドレスレジスタを介して行われ、このレジスタはシーケンシャルメモリが 自動的に循環形式でアドレスできるように、丸め込み点を示す。 ブロック450では、合成されたスピーチサンプルインデックスnがインクリ メントされる。制御ブロック452では、合成されたスピーチサンプルインデッ クスnがLCより小さい場合、フローは再びブロック454に戻る。合成された スピーチサンプルインデックスnがLCに等しい場合、全てのyI(n)値が現 在のコードブックインデックス値Iについて計 算されており、フローはブロック426に戻る。 合成されたスピーチサンプルyI(n)の計算に先立ち、知覚的に重み付けさ れたスピーチサンプルxC(n)の長さLCのシーケンスは、最小化プロセッサ 412に提供される。前述したように、コードブックベクトルインデックス値I =0からI=127までの合成されたスピーチサンプルyI(n)の長さLCの シーケンスは、初期及び再帰的コンボリューション計算の間に、最小化プロセッ サ412に提供される。合成されたスピーチサンプルは最小化プロセッサ412 に次々に提供される。最小化プロセッ412は合成された各スピーチサンプルシ ーケンスyI(n)の自動相関、及び合成された各スピーチサンプルシーケンス yI(n)と知覚的に重み付けされたスピーチサンプルxC(n)のシーケンス との間の交差相関を計算する。これらの相関値から、最小化プロセッサ412は 、合成された各スピーチサンプルシーケンスyI(n)と知覚的に重み付けされ たスピーチサンプルxC(n)のシーケンスとの間のMSE相対測定値を計算す る。各コードブックベクトルIについて、MSEは合成されたスピーチサンプル シーケンスのコードブックゲインGの有り得る全ての値に関して計算される。最 小化プロセッサ412は、全てのコードブックベクトルインデックス値Iに対す る最小MSE、及び有り得るコードゲイン値Gを、現在のコードブックベクトル インデックスIと現在のコードブックゲインGを介して、最小MSEの値を維持 することにより計算する。最小MSEに 12により保持される。新MSE値は最小化プロセッサ412内に維持されてい るMSE最小値と各々比較される。新MSEが最小MSEより小さい場合、最小 MSEは新MSE値 な最小MSEを反映する。最小化プロセッサ412に保持されている最小MSE と、対応するコードブックベクトルイン は、各コードブックサブフレームで、そのコードブックサブフレームの間に計算 された第1のMSE値を用いて初期化される。全てのコードブックベクトルイン デックスI及び全てのコードブックゲイン値Gが検討された後、コードブックベ る最適なコードブックベクトルインデックス及び最適なコードブックゲインイン デックスである。最小化プロセッサ41 重み付けされた合成スピーチサンプルyI(n)の間の最小MSEを生じるもの である。MSEは次式59〜61によって示されるコードブックインデックスI と、コードブックゲイ ンGの関数である。 ExCxCは知覚的に重み付けされたスピーチサンプルxC(n)の自動相関 である。ExCyIは知覚的に重み付けされたスピーチサンプルxC(n)と、 重み付けされた合成スピーチサンプルyI(n)の間の自動相関である。EyI yIは知覚的に重み付けされた合成スピーチサンプルyI(n)の自動相関であ る。 知覚的に重み付けされたスピーチサンプルxC(n)の自動相関ExCxCは 、コードブックゲインGの関数ではない。ExCxCは各コードブックサブフレ ームの間、一定値であるから、最適コードブックベクトルインデックス及び最適 コードブックゲインの選択に影響することはない。コードブックベクトルインデ ックスI及びコードブックゲインGに対する式59〜61の最小化は、次の式6 2の最小化処理と等価である。 MSE(I,G)=-2GExcy1+G2Ey1y1 (62) 最小化プロセッサ412は、重み付けされた合成スピーチサンプルシーケンス yI(n)の自動相関EyIyI、及び知覚的に重み付けされたスピーチサンプ ルシーケンスxC(n)と、重み付けされた合成スピーチサンプルシーケンスy I(n)の間の自動相関ExCyIを計算する。各相関対(ExCyI,EyI yI)に対して、最小化プロセッサ412は、前述の式62に従って、コードブ ックゲインGのセットについて、相対MSEを計算する。相関ExCyI及びE yIyIの計算は、最小化プロセッサ412内で同時に行われる。相対MSE値 が計算され、MSE最小化に関する決定がコードブックベクトルインデックスI について行われる一方で、相関値はコードブックベクトルインデックスI+1に ついて計算される。 図6a及び6bは最小化プロセッサ412の一実施例を示す。知覚的に重み付 けされたスピーチサンプルxC(n)は、DSPコア4により、最小化プロセッ サ412に提供される。コードブックゲイン値の2つのセットはDSPコア4に より最小化プロセッサ412に提供される。1つのセットはプラスのコードブッ クゲイン値Gのためのもので、第2のセットはマイナスのコードブックゲイン値 −Gのためのものである。最大定格速度及び1/2定格において、スケールされ たコードブックゲイン値−2G(+4.0dBステップで、G=−4.0dB〜 G=+8.0dB)がDSPコア4により、マルチプレクサ260を介して、ラ ッチ292、288、284及び280の格納部に各々提供される。1/4定格 及び1/8では、スケールされたコードブックゲイン値−2G(+ 2.0dBステップで、G=−4.0dB〜G=+2.0dB)がDSPコア4 により、マルチプレクサ260を介して、ラッチ292、288、284及び2 80の格納部に各々提供される。対応するスケールされたコードブックゲイン値 G2は、マルチプレクサ260を介して、ラッチ290、286、282及び2 78の格納部に各々提供される。最大定格速度及び1/2定格において、スケー ルされたコードブックゲイン値2G(+4.0dBステップで、G=−4.0d B〜G=+8.0dB)がマルチプレクサ260を介して、ラッチ276、27 2、268及び264の格納部に各々提供される。1/4定格及び1/8定格で は、スケールされたコードブックゲイン値2G(+2.0dBステップで、G= −4.0dB〜G=+2.0dB)がマルチプレクサ260を介して、ラッチ2 76、272、268及び264の格納部に各々提供される。対応するスケール されたコードブックゲイン値G2は、マルチプレクサ260を介して、ラッチ2 74、270、266及び262の格納部に各々提供される。マルチプレクサ2 60は値をラッチ262に直接提供する。ラッチ262はラッチ264に値を直 接提供する。ラッチ276はラッチ278に値をマルチプレクサ249を介して 提供する。ラッチ290はラッチ292に値を直接提供する(以下同様)。ラッ チ262〜292のシフト値及びマルチプレクサ294により、マルチプレクサ 260を介して循環バッファ259内の全てのラッチに値を提供できる。コード ブックサーチにおいて、2つの循環バッファが循環バッファ259内に提 供される。知覚的に重み付けされたスピーチサンプルxC(n)、及びコードブ ックゲイン値の格納の次に、重み付けされた合成スピーチサンプルyI(n)の シーケンスがラッチ210に提供される。重み付けされた合成スピーチサンプル yI(n)はラッチ210により、乗算器216の2つの入力に提供され、乗算 器216は重み付けされた合成スピーチサンプルの二乗(yI(n))2を生成 する。ラッチ210も重み付けされた合成スピーチサンプルyI(n)を、乗算 器218の第1入力に提供する。RAM X212は知覚的に重み付けされたス ピーチサンプルxC(n)を、ラッチ214を介して乗算器218の第2入力に 提供する。乗算器218は積xC(n)yI(n)を計算する。新たな二乗(y I(n))2及び新たな積xC(n)yI(n)は、乗算器216及び218に より、各サイクルで各々計算される。サンプルインデックスnは0からLC−1 まで、各コードブックベクトルインデックスIについて変化する。 重み付けされた合成スピーチサンプルの二乗(yI(n))2はアキュムレー タ221に提供される。積xC(n)yI(n)はアキュムレータ231に提供 される。アキュムレータ221は、各コードブックベクトルインデックスIに対 するLC二乗の合計を計算する。アキュムレータ231は各コードブックベクト ルインデックスIに対するLC積の合計を計算する。 新たな各コードブックベクトルインデックスの前に、ラッチ226にはマルチ プレクサ224を介して0が提供される。これでアキュムレータ221は、現在 のコードブックベクト ルインデックスIに対する自動相関Eylylを計算する準備が整う。アキュム レータ221では、二乗(yI(n))2が加算器222の第1入力に提供され る。不足している合計はラッチ226により加算器222の第2入力に提供され る。新たに計算された不足している合計は加算器222により、マルチプレクサ 224を介してラッチ226に格納される。コードブックベクトルインデックス Iに関する全てのLCに対する累計の後、自動相関Eylylはラッチ228に 格納される。 新たな各コードブックベクトルの前に、ラッチ236には、マルチプレクサ2 34を介して0が提供される。これでアキュムレータ231は現在のコードブッ クベクトルインデックスIに対する交差相関ExCylを計算する準備が整う。 アキュムレータ231では、積xC(n)yI(n)が加算器232の第1入力 に提供される。不足している合計はラッチ236により加算器232の第2入力 に提供される。新たに計算された不足合計は、加算器232により、マルチプレ クサ234を介してラッチ236に格納される。コードブックベクトルインデッ クスIに対する全てのLC値について累計した後、交差相関ExCylはラッチ 238に格納される。 式62により示されるMSEは、以下に説明する2サイクル処理により計算さ れる。 2サイクルの第1サイクルにおいて、ラッチ238は知覚的に重み付けされた スピーチサンプルと重み付けされた合成スピーチサンプル間の交差相関ExCy lを、マルチプレクサ230を介して乗算器240の第1入力に提供する。制御 要素 220はラッチ238により提供されたExCylをモニタする。ExCylが マイナスではない場合、ラッチ292はスケールされたコードブックゲイン値− 2Gを、マルチプレクサ296を介して乗算器240の第2入力に提供する。そ の積−2GExCylは乗算器240により加算器242の第1入力に提供され る。ExCylがマイナスの場合、ラッチ276はスケールされたコードブック ゲイン値2Gを、マルチプレクサ296を介して乗算器240の第2入力に提供 する。その積2GExCylは乗算器240により、加算器242の第1入力に 提供される。加算器242の第2入力にはマルチプレクサ246を介して0が提 供される。加算器242の出力はラッチ244に格納される。ExCylの符号 は制御要素220に格納される。ExCylの1及び0の符号は、ExCylの マイナス及び非マイナスに各々対応する。ラッチ262〜276内の値は、ラッ チ276の出力をラッチ262にマルチプレクサ260を介して提供することに より回転する。この回転の後、ラッチ262、264、266、268、270 、272、274及び276は、以前、ラッチ276、262、264、266 、268、270、272及び274に各々含まれていた値を含むことになる。 ラッチ278〜292内の値は、ラッチ292の出力をラッチ278にマルチプ レクサ294を介して提供することにより回転する。この回転の後、ラッチ27 8、280、282、284、286、288、290及び292は、以前、ラ ッチ292、278、280、282、284、286、288及び290に各 々含まれていた 値を含むことになる。1つの循環バッファはラッチ262〜276及びマルチプ レクサ260を含む。第2循環バッファはラッチ278〜292及びマルチプレ クサ294を含む。循環バッファ259内の2つの循環バッファの第1のバッフ ァの値を回転することにより、ラッチ292は第1及び第2サイクルに−2G及 びG2を提供する。相関及び交差相関値の各対について、1つのコードブックゲ イン対のセットのみが循環バッファ259により提供される。コードブックゲイ ン対のセットが、ExCylのマイナスの値について、ラッチ262〜276及 びマルチプレクサ260からなる循環バッファにより提供される。コードブック ゲイン対のセットが、ExCylの非マイナスの値について、ラッチ278〜2 92及びマルチプレクサ260からなる循環バッファにより提供される。 2サイクルの第2サイクルでは、ラッチ228はEylylを、マルチプレク サ230を介して乗算器240の第1入力に提供する。マルチプレクサ296を 介して、ラッチ276及び292はコードブックゲイン値G2を、ExCylの マイナス及び非マイナスの値に対応して、乗算器240の第2入力に各々提供す る。その積G2Eylylは乗算器240により、加算器242の第1入力に提 供される。加算器242の第2入力には、マルチプレクサ246を介してラッチ 244の出力±2GExCylが提供される。加算器242は±2GExCyl +G2Eylylをラッチ244に格納する。循環バッファ259のラッチ26 2〜292の値は前述したように回転される。 前述の2サイクル処理は、各コードブックインデックスI に対するコードブックゲイン値の4つの全ての対(±2G,G2)について繰り 返される。現在のMSE値±2GExCyl+G2Eylylの計算に続く2サ イクルの間、新たなMSE値が±2G及びG2値の次の対を用いて計算される。 ラッチ244が新たなMSE値で更新される前に、現在のMSE値は、ラッチ2 50に格納されている現在のコードブックサブフレームに対する最小MSEと比 較される。現在のMSE値±2GExCyl+G2Eylylは、ラッチ244 により減算器248のプラス入力に提供される。ラッチ250は現在の最小MS E値を減算器248のマイナス入力に提供する。制御要素220は減算器28か ら出力される結果的な差をモニタする。この差がマイナスの場合、現在のMSE 値は現在のコードブックサブフレームに対する新たな最小MSEであり、ラッチ 250に格納され、それに対応するコードブックベクトルイン 場合、現在のMSE値は無視される。 各コードブックサブフレームの前に、DSPコア4は最小化プロセッサ412 にコマンドを発送し、制御要素220に新コードブックサブフレームが続くこと を知らせる。このコマンドを受信すると、現在のコードブックベクトルインデッ クス及び現在のコードブックゲインインデックスは制御要素220において0に 設定される。重み付けされた合成スピーチサンプルの新たな各シーケンスが最小 化プロセッサ412に提供される前に、DSPコア4は最小化プロセッサ412 にコマンドを発送し、制御要素220に重み付けされた合成スピーチサンプルの 新たな各シーケンスが続くことを知られる。このコマンドを受信すると、制御要 素220は現在のコードブックベクトルインデックス及び現在のコードブックゲ インインデックスを1だけインクリメントし、これは1のコードブックベクトル インデックスのインクリメント及び速度に応じて2dB又は4dBのコードブッ クゲインのインクリメントに対応する。重み付けされた合成スピーチサンプルの 第1シーケンスが最小化プロセッサ412に提供される間、現在のコードブック ベクトルインデックス及び現在のコードブックゲインインデックスは1に等しく 、これは0のコードブックインデックスベクトル及び速度に応じて−8dB又は −4dBのコードブックゲインのインクリメントに対応する。各コードブックサ ブフレームの間、第1MSE値はラッチ250に格納され、対応するコードブッ クベクトルインデック 要素220内で更新される。これは、各コードブックサブフレームで最小MSE を初期化するために行われる。最小MSE概算に対応するコードブックベクトル インデックス及びコードブックゲインインデックスは、制御要素220によりD SPコア4に、最小MSEに対応する交差相関ExCylの符号と共に提供され る。DSPコア4はExCylに関する1を受信すると、最適コードブックゲイ ンを−Gに設定する。DSPコア4は制御要素220により提供されるコードブ ックベクトルインデックス概算及びコードブックゲイン概算インデッ クスを使用して、最適コードブックベクトル及び最適コードブックゲインを決定 する。最大定格速度及び1/2定格で、最適コードブックゲィンGは、コードブ ックゲインインデッ 4dB及び+8dBである。1/4定格及び1/8定格で、最適コードブックゲ インGは、コードブックゲインインデッ 0dB及び+2dBである。 コードブックサーチにおいて、式62のMSE関数MSE(I,G)の特性に より、コンピュータ処理を節約できる。現在のコードブックベクトルに対する他 のMSE計算は、残りのMSE値が(現在のコードブックベクトルについての計 算が行われていても)ラッチ250内に格納された現在の最小MSEより少ない MSE値を生じることはないと判断された場合、中止できる。本実施例では、コ ードブックサーチでのコンピュータ計算を節約するために3つの技術が、最小化 プロセッサ412において適用される。MSE関数MSE(I,G)はG内で二 次方程式である。1つの二次方程式が各コードブックベクトルインデックスIに ついて計算される。これら全ての二次方程式は原点G=0及びMSE(I,G) =0を通る。 第1のコンピュータ処理の節約は、ExCylの符号に応じて、プラス又はマ イナスのコードブックゲイン値の一方をサーチすることを含む。ExCylのマ イナスの値及びマイナスのゲイン値は、式62の項−2GExCylに対してマ イナスの値を生 じる。ExCylのプラスの値及びプラスのゲイン値も、式62の項−2GEx Cylに対してマイナスの値を生じる。なぜなら、式62の項G2Eylylは 常にプラスで、項−2GExCylのマイナスの値はMSEを最小化する傾向が あるからである。コードブックゲイン対の2つのセットは循環バッファ259に 提供され、1つはプラスのコードブックゲイン値で、第2のものはマイナスコー ドブックゲイン値である。このようにして、ゲイン値の4つの対のみが、各コー ドブックベクトルインデックスIに対して8つのゲイン対の代わりに使用される 。 第2のコンピュータ処理節約方法は、MSE関数の二次方程式的特徴に基づい て、現在のコードブックベクトルのコードブックサーチ処理での他のMSE値の 計算を中止することを含む。MSE関数MSE(I,G)は、単調に増加するコ ードブックゲイン値について計算される。プラスのMSE値が現在のコードブッ クベクトルについて計算されたとき、現在のコードブックベクトルに対する残り 全てのMSE計算は、対応するMSE値が現在のMSE値より大きいとして中止 される。 第3のコンピュータ処理節約方法は、MSE関数の二次方程式的特徴に基づい て、現在のコードブックインデックスベクトルのコードブックサーチ処理での他 のMSE値の計算を中止することである。MSE関数MSE(I,G)は、単調 に増加するコードブックゲイン値について計算される。MSE値が、新たな最小 MSEではないと判断された現在のコー ドブックベクトル内で計算されるとき、及びMSE値が、新たな最小MSEであ ると既に判断された現在のコードブックベクトル内で計算されたとき、現在のコ ードブックベクトルでの残り全てのMSE計算は、残りのMSE値は新たなMS Eより小さくなくことはないとして中止される。以上3つのコンピュータ処理節 約方法により、最小化プロセッサ412内の電力消費を著しく削減できる。 ブロック84ではコードブック値が量子化される。ブロック86は全てのサブ フレームが処理されたかチェックする。全てのコードブックサブフレームがまだ 処理されていない場合、フローはブロック80に戻る。全てのコードブックサブ フレームが処理さている場合、フローはブロック88に進む。ブロック88は全 てのピッチサブフレームが処理されたかチェックする。全てのピッチサブフレー ムがまだ処理されていない場合、フローはブロック70に戻る。全てのピッチサ ブフレームが処理されている場合、フローはブロック90に進む。 ブロック90では、エンコード結果が特定フォーマットでパックされる(pack ed)。最大定格速度(full rate)で、22バイトのデータがマイクロプロセッ サ(図示されず)により読み込まれる。1/2定格(half rate)では、10バ イトが読み込まれ、1/4では5バイト、1/8では2バイト読み込まれる。最 大定格速度では11のパリティチェックビットが発生されてエラー校正が行われ 、最大定格速度データの最上位18ビットの検出が行われる。 送信器でのエンコーダは、フィルタメモリを更新するために、受信器でのデコ ーダの状態を保持しなければならない。このフィルタメモリはエンコーダにより 、ピッチ及びコードブックサーチ処理に用いられる。本実施例では、エンコーダ は全てのコードブックサブフレームの後に使用されるデコーダ形式を含んでいる 。 次に説明するデコーディング動作が、エンコーダの一部としてDSPコア4内 で行われる。図11において、現在のコードブックサブフレームについて決定さ れた最適コードブッ スケールされたコードブックベクトルCd(n)を発生するのに使用される。1 /8の速度を除き、コードブック502には現在のコードブックサブフレームに ついて決定された最適 る励起ベクトルを乗算器504の第1入力に提供する。 1/8の速度の場合、 疑似ランダムシーケンスがCd(n)に対して疑似ランダムベクトル発生器50 0により発生され、このシーケンスは乗算器504の第1入力に提供される。現 在のコードブックサブフレームについて決定された最適コードブ シーケンスは受信器のデコーダの場合と同一の疑似ランダム発生動作により発生 される。 スケールされたコードブックベクトルCd(n)はピッチ合成フィルタ506 に提供され、このフィルタはフォルマント残余Pd(n)を発生する。ピッチ合 成フィルタメモリは、発 生したスピーチの最後のサンプルから得られる最終状態により初期化される。ピ ッチ合成フィルタ506は、現在のピッ ピッチゲインは0に設定される。ピッチ合成フィルタメモリの最終状態は、前述 したように次のピッチサブフレームに対するスピーチを発生するため及び次のピ ッチサーチに使用するために、及びエンコーダでのデコーディング動作用に保持 される。 重み付けされたフォルマント合成フィルタ508は、フォルマント残余Pd( n)から出力Yd(n)を発生する。このフィルタは、発生されたスピーチの最 後のサンプルから得られる最終状態により初期化される。現在のサブフレームに ついて補間されたLSP値から計算されたLPC係数は、このフィルタに対する 係数として用いられる。このフィルタの最終状態は、次のコードブックサブフレ ームに対してスピーチを発生するために使用され、次のピッチ及びコードブック サーチで使用される。 ブロック44及び50に示すデコーディング動作はDSPコア4で行われる。 ASICはマイクロプロセッサ(図示されず)からマイクロプロセッサインター フェース42を介してパケットを特定フォーマットで受信する。DSPコア4は このパケット内のデータをデコードし、スピーチサンプルを合成するためにそれ を使用し、これらサンプルはPCMインターフェース2を介してコーデック(co dec)(図示されず)に 供給される。DSPコア4では、受信したパケットを開き、スピーチサンプルを 合成するために必要なデータを得る。そのデータはエンコーディング速度、LS P周波数、及びその速度での対応するサブフレームに関するピッチとコードブッ クパラメータを含む。受信したパケットデータからのスピーチサンプルの合成は 、図12に示すようにDSPコア4で行われる。 図12において、現在のコードブックサブフレームに対応 Cd(n)を発生するためにデコーダにより使用される。1/8の速度を除き、 コードブック522には現在のコードブッ が提供され、その結果、対応する励起ベクトルを乗算器524の第1入力に提供 する。1/8の速度の場合、疑似ランダムシーケンスがCd(n)に対して疑似 ランダムベクトル発生器50により発生され、乗算器524の第1入力に提供さ れる。このシーケンスは受信器でデコーダにより用いられるのと同一の疑似ラン ダム発生動作により発生する。現在のコードブックサブフレームに対応する最適 コードブックゲイン値 スケールされたコードブックベクトルCd(n)はピッチ合成フィルタ526 に提供され、このフィルタはフォルマント残余Pd(n)を発生する。ピッチ合 成フィルタメモリは、発生されたスピーチの最後のサンプルから得られる最後の 状態 により初期化される。ピッチ合成フィルタ526は、現在の チゲインは0に設定される。このピッチ合成フィルタの最終状態は保存され、前 述したように次のピッチサプフレームに対するスピーチを発生するときに使用さ れる。重み付けされたフォルマント合成フィルタ528は、フォルマント残余P d(n)から出力Yd(n)を発生する。このフィルタは、発生されたスピーチ の最終サンプルから得られる最後の状態により初期化される。現在のサブフレー ムについて補間されたLSP値から計算されたLPC係数は、このフィルタ用の 係数として使用される。フィルタの最終状態は保存され、次のコードブックサブ フレームに対してスピーチを発生するときに使用される。 デコードされたスピーチYd(n)は後フィルタ(post-filter)530に提 供され、このフィルタは本実施例では、デコードされる現在のサプフレームに関 するLPC係数に基づくロングターム後フィルタ(long term post-filter)5 30である。後フィルタ530は再構成されたスピーチサンプルYd(n)を濾 波し、濾波されたスピーチをゲイン制御532に提供する。ゲイン制御532は 出力スピーチsd(n)を制御し、自動ゲイン制御(AGC)を行う能力を持っ ている。 以上、好適実施例の説明により、当業者は本発明を実施又は使用できるもので ある。当業者は本発明に様々の修正を施すことができ、ここで定義された基本原 則は発明的工程を含 まずに他の実施例にも適用できる。従って、本発明はこの明細書で説明された実 施例に限定されず、ここで説明された原則及び新規な特徴を含む広範な範囲で適 用できる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,JP,KE,KG,KP,KR,KZ, LK,LR,LT,LU,LV,MD,MG,MN,M W,MX,NL,NO,NZ,PL,PT,RO,RU ,SD,SE,SI,SK,TJ,TT,UA,UZ, VN (72)発明者 シン、ランディープ アメリカ合衆国、カリフォルニア州 92126、サン・ディエゴ、カミニト・アル バレズ 10466 (72)発明者 サカマキ、チャールス・イー アメリカ合衆国、カリフォルニア州 92128、サン・ディエゴ、ビア・ミラノ 12166 (72)発明者 ツァイ、ミン−チャン アメリカ合衆国、カリフォルニア州 92130、サン・ディエゴ、ミストラル・プ レイス 4427 (72)発明者 カンタク、プラシャント アメリカ合衆国、カリフォルニア州 92111、サン・ディエゴ、ナンバー 23、 アーンスクリフ・プレイス 3625

Claims (1)

  1. 【特許請求の範囲】 1.再帰的コンボリューション計算を実行し、前記再帰的コンボリューションの 結果を提供するDSPコア手段と、 前記再帰的コンボリューションの結果を入力し、この再帰的コンボリューショ ンの結果に応じて最小化サーチを実行する最小化プロセッサ手段と、 を具備することを特徴とするボコーダ。 2.前記DSPコア手段は前記再帰的コンボリューションを第1シーケンス及び 第2シーケンスに基づいて行い、前記DSPコアは、 前記再帰的計算を実行する計算手段と、 前記第1シーケンスを格納及び提供する第1ランダムアクセスメモリ手段と、 前記第2シーケンスを格納及び提供する第2ランダムアクセスメモリ手段と、 追加のシーケンシャルデータを格納及び提供する第3ランダムアクセスメモリ 手段と、 を具備することを特徴とする請求項1記載のボコーダ。 3.一連のデータに基づいてブロック正規化を実行する手段を更に具備すること を特徴とする請求項1記載のボコーダ。 4.量子化された音響データを入力する入力部、及び出力部 を有するDSPコアと、 前記DSPコアの出力部に接続される入力部を有する最小化プロセッサ、 を具備することを特徴とするボコーダ。 5.第1音響データを入力する入力部、及び出力部を有する量子化された音響イ ンターフェースを更に具備し、前記DSPコアの入力部は前記量子化された音響 インターフェースの出力部に接続されることを特徴とする請求項4記載のボコー ダ。 6.マイクロプロセッサデータを入力する入力部、及び出力部を有するマイクロ プロセッサインターフェースを更に具備し、前記量子化された音響インターフェ ースは第2入力部を有し、この量子化された音響インターフェースの第2入力部 は前記マイクロプロセッサインターフェース出力部に接続されることを特徴とす る請求項5記載のボコーダ。 7.クロック信号を入力する入力部、及び出力部を有するクロック発生器を更に 具備し、前記DSPコアは前記クロック発生器出力部に接続されることを特徴と する請求項4記載のボコーダ。 8.第1シーケンス及び第2シーケンスの間で再帰的コンボリューションを実行 する方法であって、 初期コンボリューションを実行し、 ステップインデックスが偶数かテストし、 第1メモリ要素から前記第1シーケンスを検索し、 第2メモリ要素から前記第2シーケンスを検索し、 前記ステップインデックスが偶数の場合、第3メモリ要素から得られる部分的 コンボリューション結果を検索し、 前記検索された第1シーケンス、前記検索された第2シーケンス及び前記検索 された部分的コンボリューション結果に従って部分的コンボリューションを実行 し、 前記ステップインデックスが偶数の場合、前記部分的コンボリューションの結 果を前記第2メモリ要素に格納し、 前記ステップインデックスが奇数の場合、前記第2メモリ要素から部分的コン ボリューションを検索し、 前記検索された第1シーケンス、前記検索された第2シーケンス及び前記検索 された部分的コンボリューションに従って、部分的コンボリューションを行い、 前記ステップインデックスが奇数の場合、前記部分的コンボリューションの結 果を、前記第3メモリ要素に格納することを特徴とする方法。 9.循環バッファから以前に発生されたコンボリューションを検索するステップ を更に具備することを特徴とする請求項8記載の方法。 10.ブロック正規化を実行する装置であって、 一組の値を入力し、前記一組の値の入力値の大きさを判断し、対応する大きさ 値を提供する大きさ決定手段と、 前記大きさ値を入力し、部分的統合値を入力し、次の部分統合値を提供するO Rゲート手段と、 前記次の部分的統合値を入力し、前記部分的統合値を提供するレジスタ手段と 、 を具備し、前記レジスタ手段内に残っている最終値は正規化因数を示すことを特 徴とする装置。 11.前記大きさ決定手段は、 前記一組の値を入力し、前記値がマイナスのとき、前記値のビットを選択的に 反転する反転手段と、 前記値がマイナスのとき、前記選択的にビット反転された値に1ビットを加算 する加算手段、 を具備することを特徴とする請求項10記載の装置。 12.前記正規化因数に従って、シフト正規化値を決定し、前記シフト正規化値 を提供するシフトレジスタ手段と、 前記シフト正規化値を入力し、前記シフト正規化値に従って第2組の値をシフ トするバレルシフター手段、 を更に具備することを特徴とする請求項10記載の装置。
JP52193695A 1994-02-16 1995-02-13 ボコーダasic Expired - Lifetime JP3432826B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/197,417 US5784532A (en) 1994-02-16 1994-02-16 Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
US197,417 1994-02-16
PCT/US1995/002043 WO1995022819A1 (en) 1994-02-16 1995-02-13 Vocoder asic

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003006296A Division JP4194851B2 (ja) 1994-02-16 2003-01-14 ボコーダasic

Publications (2)

Publication Number Publication Date
JPH08509306A true JPH08509306A (ja) 1996-10-01
JP3432826B2 JP3432826B2 (ja) 2003-08-04

Family

ID=22729345

Family Applications (2)

Application Number Title Priority Date Filing Date
JP52193695A Expired - Lifetime JP3432826B2 (ja) 1994-02-16 1995-02-13 ボコーダasic
JP2003006296A Expired - Lifetime JP4194851B2 (ja) 1994-02-16 2003-01-14 ボコーダasic

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2003006296A Expired - Lifetime JP4194851B2 (ja) 1994-02-16 2003-01-14 ボコーダasic

Country Status (23)

Country Link
US (3) US5784532A (ja)
EP (2) EP0695454B1 (ja)
JP (2) JP3432826B2 (ja)
KR (1) KR100334202B1 (ja)
CN (2) CN100397484C (ja)
AT (2) ATE172570T1 (ja)
AU (1) AU697822B2 (ja)
BR (1) BR9505650A (ja)
CA (1) CA2158660C (ja)
DE (2) DE69505469T2 (ja)
DK (2) DK0695454T3 (ja)
ES (2) ES2125602T3 (ja)
FI (2) FI120117B (ja)
HK (1) HK1009303A1 (ja)
IL (1) IL112650A (ja)
MX (1) MX9504358A (ja)
MY (1) MY112434A (ja)
RU (1) RU2183034C2 (ja)
SG (2) SG87819A1 (ja)
SI (1) SI0758123T1 (ja)
TW (1) TW326601B (ja)
WO (1) WO1995022819A1 (ja)
ZA (1) ZA95798B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842731B2 (en) 2001-05-18 2005-01-11 Kabushiki Kaisha Toshiba Prediction parameter analysis apparatus and a prediction parameter analysis method

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336106B1 (en) * 1994-02-15 2002-01-01 R.R. Donnelley & Sons Company System and method for partitioning a real-valued attribute exhibiting windowed data characteristics
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FI955266A (fi) * 1995-11-02 1997-05-03 Nokia Telecommunications Oy Menetelmä ja laitteisto viestien välittämiseksi tietoliikennejärjestelmässä
EP0858069B1 (en) * 1996-08-02 2006-11-29 Matsushita Electric Industrial Co., Ltd. Voice encoder, voice decoder and recording medium thereof
KR100189636B1 (ko) * 1996-10-30 1999-06-01 서평원 씨디엠에이 이동 통신 단말기의 양방향 녹음방법
US6009395A (en) * 1997-01-02 1999-12-28 Texas Instruments Incorporated Synthesizer and method using scaled excitation signal
GB2323188B (en) * 1997-03-14 2002-02-06 Nokia Mobile Phones Ltd Enabling and disabling clocking signals to elements
US6167133A (en) * 1997-04-02 2000-12-26 At&T Corporation Echo detection, tracking, cancellation and noise fill in real time in a communication system
JP3263347B2 (ja) * 1997-09-20 2002-03-04 松下電送システム株式会社 音声符号化装置及び音声符号化におけるピッチ予測方法
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
KR100572945B1 (ko) * 1998-02-04 2006-04-24 텍사스 인스트루먼츠 인코포레이티드 효율적으로 접속 가능한 하드웨어 보조 처리기를 구비하는디지탈 신호 처리기
US6141638A (en) * 1998-05-28 2000-10-31 Motorola, Inc. Method and apparatus for coding an information signal
US6112170A (en) * 1998-06-26 2000-08-29 Lsi Logic Corporation Method for decompressing linear PCM and AC3 encoded audio gain value
US7117146B2 (en) * 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
GB2342829B (en) * 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
US6351800B1 (en) * 1998-11-29 2002-02-26 Lucent Technologies, Inc. System and method for assisting a microprocessor
US6411926B1 (en) * 1999-02-08 2002-06-25 Qualcomm Incorporated Distributed voice recognition system
US6314393B1 (en) * 1999-03-16 2001-11-06 Hughes Electronics Corporation Parallel/pipeline VLSI architecture for a low-delay CELP coder/decoder
US6260017B1 (en) 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
JP3594514B2 (ja) * 1999-07-12 2004-12-02 株式会社ソニー・コンピュータエンタテインメント エンコーダ、デコーダ、音声データ処理装置、音声データ処理システム、音声データ圧縮方法、音声データ伸張方法、音声データ処理方法及び記録媒体
US6330532B1 (en) 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US6324503B1 (en) 1999-07-19 2001-11-27 Qualcomm Incorporated Method and apparatus for providing feedback from decoder to encoder to improve performance in a predictive speech coder under frame erasure conditions
US6397175B1 (en) 1999-07-19 2002-05-28 Qualcomm Incorporated Method and apparatus for subsampling phase spectrum information
US6393394B1 (en) 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US6452517B1 (en) * 1999-08-03 2002-09-17 Dsp Group Ltd. DSP for two clock cycle codebook search
US6426982B1 (en) * 1999-09-17 2002-07-30 Cadonca Design Systems, Inc. Low complexity multiple bits matched filter
US6438518B1 (en) 1999-10-28 2002-08-20 Qualcomm Incorporated Method and apparatus for using coding scheme selection patterns in a predictive speech coder to reduce sensitivity to frame error conditions
WO2001077635A1 (en) * 2000-04-06 2001-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Estimating the pitch of a speech signal using a binary signal
AU2001258298A1 (en) * 2000-04-06 2001-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Pitch estimation in speech signal
WO2001078061A1 (en) * 2000-04-06 2001-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Pitch estimation in a speech signal
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
EP1279167B1 (en) * 2000-04-24 2007-05-30 QUALCOMM Incorporated Method and apparatus for predictively quantizing voiced speech
US6532066B1 (en) 2000-08-05 2003-03-11 Ford Global Technologies, Inc. Vision system for identification of defects in wet polymeric coatings
US6477502B1 (en) 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
US6804203B1 (en) * 2000-09-15 2004-10-12 Mindspeed Technologies, Inc. Double talk detector for echo cancellation in a speech communication system
US7003450B2 (en) * 2000-10-20 2006-02-21 Pts Corporation Methods and apparatus for efficient vocoder implementations
US7472059B2 (en) * 2000-12-08 2008-12-30 Qualcomm Incorporated Method and apparatus for robust speech classification
US6631139B2 (en) 2001-01-31 2003-10-07 Qualcomm Incorporated Method and apparatus for interoperability between voice transmission systems during speech inactivity
US7013269B1 (en) * 2001-02-13 2006-03-14 Hughes Electronics Corporation Voicing measure for a speech CODEC system
US6754624B2 (en) 2001-02-13 2004-06-22 Qualcomm, Inc. Codebook re-ordering to reduce undesired packet generation
US6996523B1 (en) * 2001-02-13 2006-02-07 Hughes Electronics Corporation Prototype waveform magnitude quantization for a frequency domain interpolative speech codec system
US20030088407A1 (en) * 2001-04-02 2003-05-08 Yi Hu Codec
US20030005261A1 (en) * 2001-06-29 2003-01-02 Gad Sheaffer Method and apparatus for attaching accelerator hardware containing internal state to a processing core
US20030195006A1 (en) * 2001-10-16 2003-10-16 Choong Philip T. Smart vocoder
US7020226B1 (en) * 2002-04-04 2006-03-28 Nortel Networks Limited I/Q distortion compensation for the reception of OFDM signals
CN1312463C (zh) * 2002-04-22 2007-04-25 诺基亚有限公司 一种产生lsf矢量的方法和装置
US7698132B2 (en) * 2002-12-17 2010-04-13 Qualcomm Incorporated Sub-sampled excitation waveform codebooks
JP2004362215A (ja) * 2003-06-04 2004-12-24 Toshiba Corp プロセッサ及び半導体集積回路
US7555540B2 (en) * 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
TWI241557B (en) * 2003-07-21 2005-10-11 Ali Corp Method for estimating a pitch estimation of the speech signals
US6983241B2 (en) * 2003-10-30 2006-01-03 Motorola, Inc. Method and apparatus for performing harmonic noise weighting in digital speech coders
BRPI0514801B1 (pt) 2004-08-30 2019-06-18 Qualcomm Incorporated Buffer de-jitter adaptativo para voz sobre ip
US8085678B2 (en) 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US8209366B2 (en) * 2005-02-28 2012-06-26 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations
WO2007120316A2 (en) * 2005-12-05 2007-10-25 Qualcomm Incorporated Systems, methods, and apparatus for detection of tonal components
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8920343B2 (en) 2006-03-23 2014-12-30 Michael Edward Sabatino Apparatus for acquiring and processing of physiological auditory signals
US7831420B2 (en) * 2006-04-04 2010-11-09 Qualcomm Incorporated Voice modifier for speech processing systems
US7685493B2 (en) * 2006-09-29 2010-03-23 Agere Systems Inc. Buffer compression in automatic retransmission request (ARQ) systems
US20090180456A1 (en) * 2008-01-15 2009-07-16 Khoi Ly Method and system for adaptive quantization steps for hs-scch decoding using average cqi
US20100082722A1 (en) * 2008-09-26 2010-04-01 Sinnokrot Mohanned O Methods and Apparatuses for Detection and Estimation with Fast Fourier Transform (FFT) in Orthogonal Frequency Division Multiplexing (OFDM) Communication Systems
JP5430990B2 (ja) * 2009-03-25 2014-03-05 株式会社東芝 信号処理方法、装置及びプログラム
JP5316896B2 (ja) * 2010-03-17 2013-10-16 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、並びにプログラム
TR201904735T4 (tr) 2010-04-13 2019-04-22 Fraunhofer Ges Forschung Bi̇r ses si̇nyali̇ni̇n boşluksuz yeni̇den oynatilmasina yöneli̇k yöntem ve kodlayici ve dekoder
TWI479160B (zh) * 2010-12-20 2015-04-01 Hon Hai Prec Ind Co Ltd 測試裝置及方法
WO2012110447A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for error concealment in low-delay unified speech and audio coding (usac)
WO2012110415A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
AR085224A1 (es) 2011-02-14 2013-09-18 Fraunhofer Ges Forschung Codec de audio utilizando sintesis de ruido durante fases inactivas
MX2013009306A (es) 2011-02-14 2013-09-26 Fraunhofer Ges Forschung Aparato y metodo para codificar y decodificar una señal de audio utilizando una porcion alineada anticipada.
MX2013009304A (es) 2011-02-14 2013-10-03 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad.
CN103477387B (zh) 2011-02-14 2015-11-25 弗兰霍菲尔运输应用研究公司 使用频谱域噪声整形的基于线性预测的编码方案
CA2799343C (en) 2011-02-14 2016-06-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal representation using lapped transform
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
CN103460284B (zh) 2011-02-14 2016-05-18 弗劳恩霍夫应用研究促进协会 音频信号音轨脉冲位置的编码与译码
US8990074B2 (en) * 2011-05-24 2015-03-24 Qualcomm Incorporated Noise-robust speech coding mode classification
JP2014035431A (ja) * 2012-08-08 2014-02-24 Renesas Mobile Corp ボコーダ処理方法、半導体装置、及び電子装置
TWM487509U (zh) * 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
CN109920440B (zh) 2013-09-12 2024-01-09 杜比实验室特许公司 用于各种回放环境的动态范围控制
EP2980796A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
CN109413685B (zh) * 2017-08-18 2022-02-15 中国电信股份有限公司 语音质量确定方法、装置和计算机可读存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US448493A (en) 1891-03-17 Hemp-brake
SU518781A1 (ru) * 1974-11-25 1976-06-25 Таганрогский радиотехнический институт им.В.Д.Калмыкова Вычислительное устройство цифровой интегрирующей структуры
CN1003484B (zh) * 1985-05-20 1989-03-01 菲利浦光灯制造公司 产生定幅的角度调制载波信号的装置
US4789956A (en) * 1985-10-16 1988-12-06 Harris Corp. Maximum negative number detector
US4811210A (en) * 1985-11-27 1989-03-07 Texas Instruments Incorporated A plurality of optical crossbar switches and exchange switches for parallel processor computer
US4808937A (en) * 1986-07-15 1989-02-28 Hayes Microcomputer Products, Inc. Phase-locked loop for a modem
ES2037101T3 (es) * 1987-03-05 1993-06-16 International Business Machines Corporation Procedimiento de deteccion de tono y codificador de voz que utiliza dicho procedimiento.
FR2615025B1 (fr) * 1987-05-04 1989-12-22 Thomson Csf Dispositif de transcodage entre reseaux de transmission a debits differents et son utilisation dans un systeme de transmission multidebits
DE3732047A1 (de) * 1987-09-23 1989-04-06 Siemens Ag Verfahren zur umcodierung von kanalvocoder-parameter in lpc-vocoder-parameter
EP0383911B1 (en) * 1988-06-17 1995-02-15 Hitachi, Ltd. System for forming knowledge data
JPH0284807A (ja) * 1988-09-20 1990-03-26 Hitachi Ltd ディジタル信号処理装置
WO1990004316A1 (en) * 1988-10-03 1990-04-19 Alcatel N.V. Communication switching element
US5768613A (en) * 1990-07-06 1998-06-16 Advanced Micro Devices, Inc. Computing apparatus configured for partitioned processing
DE4031603A1 (de) * 1990-10-05 1992-04-09 Paul Merkle Ergebniszahl-verschiebeschaltung
US5173941A (en) * 1991-05-31 1992-12-22 Motorola, Inc. Reduced codebook search arrangement for CELP vocoders
CA2568984C (en) * 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
KR100263599B1 (ko) 1991-09-02 2000-08-01 요트.게.아. 롤페즈 인코딩 시스템
TW224191B (ja) * 1992-01-28 1994-05-21 Qualcomm Inc
US5778024A (en) * 1996-02-01 1998-07-07 Qualcomm Incorporated Dual-mode communications processor
US5742781A (en) * 1996-08-09 1998-04-21 Hitachi America, Ltd. Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842731B2 (en) 2001-05-18 2005-01-11 Kabushiki Kaisha Toshiba Prediction parameter analysis apparatus and a prediction parameter analysis method

Also Published As

Publication number Publication date
SG52441A1 (en) 1998-09-28
CN100397484C (zh) 2008-06-25
AU697822B2 (en) 1998-10-15
FI954920A0 (fi) 1995-10-16
DE69505469D1 (en) 1998-11-26
EP0695454B1 (en) 1998-10-21
HK1009303A1 (en) 1999-05-28
IL112650A0 (en) 1995-05-26
JP3432826B2 (ja) 2003-08-04
US5926786A (en) 1999-07-20
MX9504358A (es) 1997-05-31
RU2183034C2 (ru) 2002-05-27
DK0695454T3 (da) 1999-07-05
EP0758123A3 (en) 1997-03-12
KR100334202B1 (ko) 2002-10-11
JP4194851B2 (ja) 2008-12-10
CN1168072C (zh) 2004-09-22
TW326601B (en) 1998-02-11
US5784532A (en) 1998-07-21
ZA95798B (en) 1996-01-22
SG87819A1 (en) 2002-04-16
DE69509381T2 (de) 1999-11-25
CN1123061A (zh) 1996-05-22
EP0758123B1 (en) 1999-04-28
CA2158660C (en) 2006-01-24
EP0758123A2 (en) 1997-02-12
DK0758123T3 (da) 1999-11-08
DE69505469T2 (de) 1999-06-10
ES2125602T3 (es) 1999-03-01
WO1995022819A1 (en) 1995-08-24
ATE172570T1 (de) 1998-11-15
ATE179532T1 (de) 1999-05-15
KR960702147A (ko) 1996-03-28
FI954920A (fi) 1995-12-15
FI120117B (fi) 2009-06-30
CN1512486A (zh) 2004-07-14
EP0695454A1 (en) 1996-02-07
FI20070887L (fi) 2007-11-21
SI0758123T1 (en) 1999-10-31
DE69509381D1 (de) 1999-06-02
US5727123A (en) 1998-03-10
MY112434A (en) 2001-06-30
AU1846595A (en) 1995-09-04
JP2003216198A (ja) 2003-07-30
BR9505650A (pt) 1996-03-05
IL112650A (en) 1998-12-06
CA2158660A1 (en) 1995-08-24
ES2130733T3 (es) 1999-07-01

Similar Documents

Publication Publication Date Title
JPH08509306A (ja) ボコーダasic
CA2061830C (en) Speech coding system
US6314393B1 (en) Parallel/pipeline VLSI architecture for a low-delay CELP coder/decoder
CA2142391C (en) Computational complexity reduction during frame erasure or packet loss
US5924063A (en) Celp-type speech encoder having an improved long-term predictor
Chen et al. A fixed-point 16 kb/s LD-CELP algorithm
CA2520127C (en) Block normalization processor
JP3073013B2 (ja) サンプリングされた音声信号ベクトルのコーディングの方法
AU725711B2 (en) Block normalisation processor
FI96248B (fi) Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
JP3290704B2 (ja) ベクトル量子化方式
Olausson et al. Instruction and Hardware Acceleration for MP-MLQ in G. 723.1
Lee Implementation of linear predictive speech coding in fixed-point arithmetic
Olausson et al. The ADSP-21535 Blackfin and Speech Coding
KR100283087B1 (ko) 음성 및 톤 부호화 방법
KR100354747B1 (ko) 다중펄스 최대 유사 양자화기에 구비되는 고정 코드북 이득 테이블 생성방법
JP3265645B2 (ja) 音声符号化装置
JP3092344B2 (ja) 音声符号化装置
JPH07199994A (ja) 音声符号化方式
JPH0527800A (ja) ベクトル量子化方式
JPH04270397A (ja) 音声符号化方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term