JP2011525256A - 低ビットレート適用のための遷移音声フレームの符号化 - Google Patents
低ビットレート適用のための遷移音声フレームの符号化 Download PDFInfo
- Publication number
- JP2011525256A JP2011525256A JP2011514870A JP2011514870A JP2011525256A JP 2011525256 A JP2011525256 A JP 2011525256A JP 2011514870 A JP2011514870 A JP 2011514870A JP 2011514870 A JP2011514870 A JP 2011514870A JP 2011525256 A JP2011525256 A JP 2011525256A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- pitch
- peak
- sample
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007704 transition Effects 0.000 title description 76
- 238000000034 method Methods 0.000 claims abstract description 148
- 230000005236 sound signal Effects 0.000 claims description 72
- 230000005284 excitation Effects 0.000 claims description 68
- 230000000875 corresponding effect Effects 0.000 description 55
- 238000010586 diagram Methods 0.000 description 47
- 230000001052 transient effect Effects 0.000 description 36
- 239000013598 vector Substances 0.000 description 34
- 238000012360 testing method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 19
- 239000004148 curcumin Substances 0.000 description 17
- 230000000737 periodic effect Effects 0.000 description 16
- 230000015572 biosynthetic process Effects 0.000 description 15
- 238000005070 sampling Methods 0.000 description 15
- 230000003595 spectral effect Effects 0.000 description 15
- 238000003786 synthesis reaction Methods 0.000 description 15
- 230000000630 rising effect Effects 0.000 description 14
- 239000004334 sorbic acid Substances 0.000 description 14
- 239000001752 chlorophylls and chlorophyllins Substances 0.000 description 13
- 239000004173 sunset yellow FCF Substances 0.000 description 13
- 239000004233 Indanthrene blue RS Substances 0.000 description 12
- 239000005711 Benzoic acid Substances 0.000 description 10
- 239000004106 carminic acid Substances 0.000 description 10
- 239000004291 sulphur dioxide Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 239000004300 potassium benzoate Substances 0.000 description 6
- 239000004149 tartrazine Substances 0.000 description 6
- 239000011668 ascorbic acid Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005311 autocorrelation function Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 239000004403 ethyl p-hydroxybenzoate Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000004302 potassium sorbate Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/09—Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
- G10L19/125—Pitch excitation, e.g. pitch synchronous innovation CELP [PSI-CELP]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
- G10L19/025—Detection of transients or attacks for time/frequency resolution switching
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
遷移音声フレームの低ビットレート符号化のためのシステム、方法、および装置を開示する。
Description
本開示は、音声信号の処理に関する。
デジタル技法によるボイスおよび音楽などのオーディオ信号の伝送は、特に長距離テレフォニー(telephony)、ボイスオーバーIP(VoIPとも呼ばれ、IPはインターネットプロトコルを示す)などのパケット交換テレフォニー、およびセルラーテレフォニーなどのデジタル無線テレフォニーにおいて普及してきた。そのような普及により、再構成された音声の知覚品質を維持しながら、伝送チャネルによってボイス通信を転送するために使用される情報量を低減することに関心が生じている。たとえば、利用可能な無線システム帯域幅を最も良く使用することが望ましい。システム帯域幅を効率的に使用する1つの方法は、信号圧縮技法を採用することである。音声信号を搬送する無線システムの場合、通常、音声圧縮(または「音声符号化」)技法がこの目的のために採用される。
人間音声発生のモデルに関係するパラメータを抽出することによって音声を圧縮するように構成されたデバイスは、しばしば、ボコーダ(vocoders)、「オーディオコーダ」、または「音声コーダ」と呼ばれる。(本明細書では、これらの3つの用語を互換的に使用する。)音声コーダは、一般に符号器と復号器とを含む。符号器は、一般に、着信音声信号(オーディオ情報を表すデジタル信号)を「フレーム」と呼ばれる時間のセグメントに分割し、各フレームを分析して、いくつかの関係するパラメータを抽出し、それらのパラメータを符号化フレームに量子化する。符号化フレームは、伝送チャネル(すなわち、有線または無線ネットワーク接続)を介して、復号器を含む受信機に送信される。復号器は、符号化フレームを受信し、処理し、逆量子化して、パラメータを生成し、逆量子化されたパラメータを使用して音声フレームを再現する。
典型的な会話では、各話者は、その時間の約60パーセントの間は沈黙状態である。音声符号器は、通常、音声を含んでいる音声信号のフレーム(「アクティブフレーム」)を、無音または背景雑音のみを含んでいる音声信号のフレーム(「非アクティブフレーム」)と区別するように構成される。そのような符号器は、様々な符号化モードおよび/またはレートを使用して、アクティブおよび非アクティブフレームを符号化するように構成できる。たとえば、音声符号器は、一般に、アクティブフレームを符号化する場合よりも、非アクティブフレームを符号化する場合のほうが、使用するビットが少なくなるように構成される。音声コーダは、知覚される品質損失がほとんどない、より低い平均ビットレートでの音声信号の転送をサポートするために、非アクティブフレームに対してより低いビットレートを使用する。
アクティブフレームを符号化するために使用されるビットレートの例は、1フレーム当たり171ビット、1フレーム当たり80ビット、および1フレーム当たり40ビットを含む。非アクティブフレームを符号化するために使用されるビットレートの例は、1フレーム当たり16ビットを含む。セルラーテレフォニーシステム(特に、Telecommunications Industry Association(バージニア州アーリントン)によって公表された暫定標準(IS)−95、または同様の業界標準に準拠するシステム)のコンテキストでは、これらの4つのビットレートは、それぞれ「フルレート」、「ハーフレート」、「1/4レート」、および「1/8レート」とも呼ばれる。
1つの構成による音声信号のフレームを符号化する方法は、音声信号の第1のフレームを第1の符号化フレームとして符号化することと、音声信号の第2のフレームを第2の符号化フレームとして符号化することとを含む。本方法では、第1のフレームを符号化することは、第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの1つを選択することと、第1のフレームのターミナルピッチパルスの位置を計算することと、第1のフレームのピッチ周期を推定することとを含む。本方法では、第2のフレームを符号化することは、第2のフレームのピッチパルス形状と第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算することと、第2のフレームのピッチ周期と第1のフレームのピッチ周期との間のピッチ周期差を計算することとを含む。本方法では、第1の符号化フレームは、選択された時間領域ピッチパルス形状と、計算された位置と、推定されたピッチ周期との各々の表現(representations)を含む。本方法では、第2の符号化フレームは、ピッチパルス形状差とピッチ周期差との各々の表現を含み、第2のフレームは音声信号中で前記第1のフレームの後に続く。
1つの構成による音声信号の励起信号を復号する方法は、第1の励起信号を得るために第1の符号化フレームの部分を復号することと、第2の励起信号を得るために第2の符号化フレームの部分を復号することとを含む。本方法では、第1の符号化フレームの部分は、時間領域ピッチパルス形状と、ピッチピーク位置と、ピッチ周期との各々の表現を含む。本方法では、第2の符号化フレームの部分は、ピッチパルス形状差とピッチ周期差との各々の表現を含む。本方法では、第1の符号化フレームの部分を復号することは、ピッチピーク位置に従って第1の励起信号内に時間領域ピッチパルス形状の第1のコピーを構成することと、ピッチピーク位置とピッチ周期とに従って第1の励起信号内に時間領域ピッチパルス形状の第2のコピーを構成することとを含む。本方法では、第2の符号化フレームの部分を復号することは、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第2のピッチパルス形状を計算することと、ピッチ周期とピッチ周期差とに基づいて第2のピッチ周期を計算することと、ピッチピーク位置と第2のピッチ周期とに従って第2の励起信号内に第2のピッチパルス形状の複数のコピーを構成することとを含む。
1つの構成による音声信号のフレームのピッチピークを検出する方法は、フレームの第1のピッチピークを検出することと、フレームの第1の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、複数の距離の中から候補距離を選択することと、複数の距離の各々がフレームの第2の探索ウィンドウ内の異なるサンプルに対応する、を含む。本方法は、(A)候補サンプルと(B)候補距離に対応するサンプルとのうちの1つをフレームの第2のピッチピークとして選択することを含む。本方法では、複数の距離の各々は、A)対応するサンプルと、B)第1のピッチピークとの間の距離である。
また、そのような方法を実行するように構成された装置および他の手段と、プロセッサによって実行されるとき、プロセッサにそのような方法の要素を実行させる命令を有するコンピュータ可読媒体とを明確に企図し、本明細書で開示する。
参照ラベルは、同じ構造を示すために2つ以上の図中に出現することがある。
本明細書で説明するシステム、方法、および装置(たとえば、方法M100、M200、M300、M500、M600、および/またはM700)を使用して、2キロビット毎秒などの低い固定ビットレートまたは低い最大ビットレートでの音声符号化をサポートすることができる。そのような制約付きビットレート音声符号化の適用は、セルラーまたはワイヤラインテレフォニーのための通信インフラストラクチャがないリモートエリアにおける電話サービスをサポートするために使用できる、(「ボイスオーバーサテライト」とも呼ばれる)衛星リンクを介したボイステレフォニーの伝送を含む。衛星テレフォニーを使用して、車両フリート(vehicle fleets)などのモバイル受信機のための連続ワイドエリアカバレージをサポートすることもでき、プッシュツートークなどのサービスが可能になる。より一般的には、そのような制約付きビットレート音声符号化の適用は、衛星を必要とする適用に限定されず、電力制限されたチャネルに拡張することができる。
文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上に表されたメモリ位置(またはメモリ位置のセット)の状態を含む、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「発生(generating)」という用語は、本明細書では、計算(computing)または別様の生成(producing)など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「計算(calculating)」という用語は、本明細書では、値のセットから計算すること(computing)、評価すること、発生すること(generating)、および/または選択することなど、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「得る」という用語は、計算、導出、(たとえば、外部デバイスからの)受信、および/または(たとえば、記憶要素のアレイからの)検索など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「評価」という用語は、計算(computing)および/または評価など、その通常の意味のいずれをも示すのに使用される。「備える」という用語は、本明細書および特許請求の範囲において使用される場合、他の要素または動作を除外するものではない。「に基づく」(「AはBに基づく」など)という用語は、(i)「少なくとも〜に基づく」(たとえば、「Aは少なくともBに基づく」)、および特定の文脈で適当な場合に、(ii)「と等しい」(たとえば、「AはBと等しい」)という場合を含む、その通常の意味のいずれをも示すのに使用される。文書の一部の参照によるいかなる組込みも、そのような定義が文書中の他の場所に現れた場合、その部分内で言及された用語または変数の定義を組み込んでいることをも理解されたい。
別段の指示がない限り、特定の特徴を有する音声符号器のいかなる開示も、類似の特徴を有する音声符号化の方法を開示する(その逆も同様)ことをも明確に意図し、特定の構成による音声符号器のいかなる開示も、類似の構成による音声符号化の方法を開示する(その逆も同様)ことをも明確に意図する。別段の指示がない限り、音声信号のフレームに対して演算を実行するための装置のいかなる開示も、音声信号のフレームに対して演算を実行するための対応する方法を開示する(その逆も同様)ことをも明確に意図する。別段の指示がない限り、特定の特徴を有する音声復号器のいかなる開示も、類似の特徴を有する音声復号の方法を開示する(その逆も同様)ことをも明確に意図し、特定の構成による音声復号器のいかなる開示も、類似の構成による音声復号の方法を開示する(その逆も同様)ことをも明確に意図する。「コーダ」、「コーデック」、および「符号化システム」という用語は、(場合によっては知覚的重み付けおよび/または他のフィルタ処理演算などの1つまたは複数の前処理演算の後に)音声信号のフレームを受信するように構成された少なくとも1つの符号器と、フレームの復号表現を生成するように構成された対応する復号器とを含むシステムを示すのに互換的に使用される。
音声符号化を目的として、音声信号は、一般に、サンプルのストリームを得るためにデジタル化(または量子化)される。デジタル化プロセスは、たとえば、パルス符号変調(PCM)、圧伸μ−law PCM、および圧伸A−law PCMを含む、当技術分野で知られている様々な方法のいずれかに従って実行できる。狭帯域音声符号器は、一般に、8kHzのサンプリングレートを使用するが、広帯域音声符号器は、一般に、より高いサンプリングレート(たとえば、12kHzまたは16kHz)を使用する。
音声符号器は、デジタル化された音声信号をフレームの連続として処理するように構成される。この連続は、通常、重複しない連続として実装されるが、フレームまたは(サブフレームとも呼ばれる)フレームのセグメントを処理する演算は、その入力中に1つまたは複数の隣接フレームのセグメントを含むこともできる。音声信号のフレームは、一般に、信号のスペクトル包絡線がそのフレームにわたって比較的固定のままであることが予想できるほど十分に短い。フレームは、一般に、音声信号の5ミリ秒と35ミリ秒との間(または約40サンプルから200サンプルまで)に対応し、10ミリ秒、20ミリ秒、および30ミリ秒が一般的なフレームサイズである。符号化フレームの実際のサイズは、符号化ビットレートとともにフレームごとに変化することがある。
20ミリ秒のフレーム長は、7キロヘルツ(kHz)のサンプリングレートで140サンプルに対応し、8kHzのサンプリングレートで160サンプルに対応し、16kHzのサンプリングレートで320サンプルに対応するが、特定の適用に適切と思われる任意のサンプリングレートを使用することができる。音声符号化に使用できるサンプリングレートの別の例は12.8kHzであり、さらなる例には12.8kHz〜38.4kHzの範囲の他のレートがある。
一般に、すべてのフレームは同じ長さを有し、本明細書で説明する特定の例では、一様なフレーム長を仮定する。ただし、一様でないフレーム長を使用することも明確に企図され、本明細書によって開示される。たとえば、本明細書で説明する様々な装置および方法の実装形態は、アクティブおよび非アクティブフレームならびに/あるいは有声および無声フレームに対して異なるフレーム長を採用する適用においても使用できる。
上記のように、様々な符号化モードおよび/またはレートを使用して、アクティブフレームおよび非アクティブフレームを符号化するように音声符号器を構成することが望ましい。アクティブフレームを非アクティブフレームと区別するために、音声符号器(speech encoder)は、一般に、(ボイスアクティビティ検出器(voice activity detector)またはVADと一般に呼ばれる)音声アクティビティ検出器(speech activity detector)を含むか、あるいは音声アクティビティを検出する方法を実行する。そのような検出器または方法は、フレームエネルギー、信号対雑音比、周期性、およびゼロ交差レートなど、1つまたは複数のファクタに基づいてフレームをアクティブまたは非アクティブに分類するように構成できる。そのような分類は、そのようなファクタの値または絶対値をしきい値と比較すること、および/またはそのようなファクタの変化の絶対値をしきい値と比較することを含むことができる。
音声アクティビティ検出器または音声アクティビティを検出する方法はまた、アクティブフレームを、(たとえば、母音を表す)有声、(たとえば、摩擦音を表す)無声、または(たとえば、ワードの始端または終端を表す)遷移など、2つ以上の異なるタイプのうちの1つとして分類するように構成できる。そのような分類は、音声および/または残差の自己相関、ゼロ交差レート、第1の反射係数などのファクタ、および/または(たとえば、符号化方式セレクタC200および/またはフレーム再分類器RC10に関して)本明細書でより詳細に説明する他の特徴に基づくことができる。音声符号器が、様々な符号化モードおよび/またはビットレートを使用して、様々なタイプのアクティブフレームを符号化することが望ましい。
有声音声(voiced speech)のフレームは、長期であり(すなわち、2フレーム以上の期間の間継続し)、ピッチに関係する、周期構造を有する傾向がある。一般に、この長期スペクトル特徴の記述を符号化する符号化モードを使用して有声フレーム(voiced frame)(または有声フレームのシーケンス)を符号化するのがより効率的である。そのような符号化モードの例には、符号励振線形予測(code-excited linear prediction(CELP)、およびプロトタイプ波形補間(prototype waveform interpolation)(PWI)などの波形補間技法がある。PWI符号化モードの一例はプロトタイプピッチ周期(PPP)と呼ばれる。一方、無声フレームおよび非アクティブフレームには、通常、著しい長期スペクトル特徴がなく、音声符号器は、そのような特徴を記述しようと試みない符号化モードを使用して、これらのフレームを符号化するように構成できる。雑音励振線形予測(Noise-excited linear prediction)(NELP)は、そのような符号化モードの一例である。
音声符号器または音声符号化の方法は、ビットレートと(「符号化方式」とも呼ばれる)符号化モードとの様々な組合せの中から選択するように構成できる。たとえば、音声符号器は、有声音声を含んでいるフレームおよび遷移フレームにはフルレートCELP方式を使用し、無声音声を含んでいるフレームにはハーフレートNELP方式を使用し、非アクティブフレームには1/8レートNELP方式を使用するように構成できる。そのような音声符号器の他の例は、フルレートおよびハーフレートCELP方式ならびに/あるいはフルレートおよび1/4レートPPP方式など、1つまたは複数の符号化方式に対して複数の符号化レートをサポートする。
音声符号器または音声符号化の方法によって生成された符号化フレームは、一般に、音声信号の対応するフレームを再構成することができる値を含んでいる。たとえば、符号化フレームは、周波数スペクトルにわたるフレーム内でのエネルギーの分布の記述を含むことができる。エネルギーのそのような分布はフレームの「周波数包絡線(frequency envelope)」または「スペクトル包絡線(spectral envelope)」とも呼ばれる。符号化フレームは、一般に、フレームのスペクトル包絡線を記述する値の順序付きシーケンスを含む。場合によっては、順序付きシーケンスの各値は、対応する周波数における信号または対応するスペクトル領域にわたる信号の振幅または絶対値を示す。そのような記述の一例はフーリエ変換係数の順序付きシーケンスである。
他の場合には、順序付きシーケンスは符号化モデルのパラメータの値を含む。そのような順序付きシーケンスの1つの典型的な例は線形予測符号化(linear prediction coding)(LPC)分析の係数の値のセットである。これらのLPC係数値は、符号化音声の共振(「ホルマント(formants)」とも呼ばれる)を符号化し、フィルタ係数または反射係数として構成できる。たいていの現代の音声コーダの符号化部分は、各フレームのLPC係数値のセットを抽出する分析フィルタを含む。(通常、1つまたは複数のベクトルとして構成される)セット中の係数値の数はLPC分析の「次数」とも呼ばれる。(セルラー電話などの)通信デバイスの音声符号器によって実行されるLPC分析の典型的な次数の例には、4、6、8、10、12、16、20、24、28、および32がある。
音声コーダは、一般に、(たとえば、対応するルックアップテーブルまたは「コードブック」への1つまたは複数のインデックスとして)量子化された形態で伝送チャネル上でスペクトル包絡線の記述を送信するように構成される。したがって、音声符号器が、線スペクトル対(line spectral pairs)(LSPs)、線スペクトル周波数(line spectral frequencies)(LSFs)、イミッタンススペクトル対(immittance spectral pairs)(ISPs)、イミッタンススペクトル周波数(immittance spectral frequencies)(ISFs)、ケプストラム係数(cepsrral coefficients)、または対数面積比の値のセットなどのLPC係数値のセットを効率的に量子化できる形態で計算することが望ましい。音声符号器はまた、変換および/または量子化の前に値の順序付きシーケンスに対して知覚的重み付けなどの他の演算を実行するように構成できる。
場合によっては、フレームのスペクトル包絡線の記述はまた、(たとえば、フーリエ変換係数の順序付きシーケンスの場合のように)フレームの時間的情報の記述を含む。他の場合には、符号化フレームの音声パラメータのセットはフレームの時間的情報の記述をも含むことができる。時間的情報の記述の形態は、フレームを符号化するために使用される特定の符号化モードに依存する。いくつかの符号化モード(たとえば、CELP符号化モード)の場合、時間的情報の記述はLPC分析の残差の記述(励起信号の記述とも呼ばれる)を含む。対応する音声復号器は、励起信号を使用して、(たとえば、スペクトル包絡線の記述によって定義された)LPCモデルを励起する。励起信号の記述は、一般に、(たとえば、対応するコードブックへの1つまたは複数のインデックスとして)量子化された形態で符号化フレーム中に現れる。
時間的情報の記述はまた、励起信号のピッチ成分に関係する情報を含むことができる。PPP符号化モードの場合、たとえば、符号化された時間的情報は、音声復号器が励起信号のピッチ成分を再生するために使用するプロトタイプの記述を含むことができる。ピッチ成分に関係する情報の記述は、一般に、(たとえば、対応するコードブックへの1つまたは複数のインデックスとして)量子化された形態で符号化フレーム中に現れる。他の符号化モード(たとえば、NELP符号化モード)の場合、時間的情報の記述は、(フレームの「エネルギー包絡線」または「利得包絡線」とも呼ばれる)フレームの時間包絡線の記述を含むことができる。
図1に、(母音などの)有声音声セグメントの時間にわたる振幅の一例を示す。有声フレームの場合、励起信号は、一般に、ピッチ周波数において周期的であるパルスの連続に似ており、無声フレームの場合、励起信号は一般に白色ガウス雑音と同様である。CELPまたはPWIコーダは、より良い符号化効率を達成するために、有声音声セグメントの特性である、より高い周期を利用することができる。図2Aに、背景雑音から有声音声に遷移する音声セグメントの時間にわたる振幅の例を示し、図2Bに、背景雑音から有声音声に遷移する音声セグメントのLPC残差の時間にわたる振幅の例を示す。LPC残差の符号化が符号化信号ストリームの大部分を占めるので、残差を符号化するために必要なビットレートを低減するために様々な方式が開発されてきた。そのような方式は、CELP、NELP、PWI、およびPPPを含む。
通話品質(toll-quality)の復号された信号を与える方法で音声信号の制約付きビットレート符号化(constrained-bit-rate encoding)を低ビットレート(たとえば、2キロビット毎秒)で実行することが望ましい。通話品質は、一般に、約200〜3200Hzの帯域幅と30dBよりも大きい信号対雑音比(SNR)とを有するものとして特徴づけられる。場合によっては、通話品質はまた、2または3パーセント未満の高調波ひずみを有するものとして特徴づけられる。残念ながら、一般に2キロビット毎秒に近いビットレートで音声を符号化するための既存の技法は、人工的(たとえば、ロボット的)で、雑音が多く、および/または過度に高調波的(たとえば、バズ)に聞こえる合成音声を生成する。
無音(silent)および無声(unvoiced)フレームなどの無声(nonvoiced)フレームの高品質の符号化は、通常、雑音励振線形予測(noise-excited linear prediction)(NELP)符号化モードを使用して低ビットレートで実行できる。しかしながら、有声フレームの高品質の符号化を低ビットレートで実行することはより困難である。低い平均ビットレートを達成するために、(オンセットフレームまたは立上り過渡フレームとも呼ばれる)無声から有声音声への遷移を含むフレームなどの困難なフレームにはより高いビットレートを使用し、後続の有声フレームにはより低いビットレートを使用することによって良好な結果が得られた。しかしながら、制約付きビットレートボコーダの場合、困難なフレームに対してより高いビットレートを使用するオプションは利用可能でないことがある。
エンハンス可変レートコーデック(Enhanced Variable Rate Codec)(EVRC)などの既存の可変レートボコーダは、一般に、CELPなどの波形符号化モードを使用して、そのような困難なフレームをより高いビットレートで符号化する。低ビットレートでの有声音声セグメントの記憶または送信のために使用できる他の符号化方式は、PPP符号化方式などのPWI符号化方式を含む。そのようなPWI符号化方式は、残差信号中の1つのピッチ周期の長さを有するプロトタイプ波形の位置を周期的に特定する。復号器において、残差信号は、元の高度に周期的な残差信号の近似値を得るために、プロトタイプ間のピッチ周期にわたって補間される。PPP符号化のいくつかの適用は、高ビットレート符号化フレームが1つまたは複数の後続の低ビットレート符号化フレームに基準を与えるように、混合ビットレートを使用する。そのような場合、低ビットレートフレーム中の情報の少なくともいくつかは差分的に符号化できる。
シーケンス中の後続のフレームの差分PWI(たとえば、PPP)符号化に良好なプロトタイプ(すなわち、良好なピッチパルス形状基準)および/またはピッチパルス位相基準を与える非差分的な方法で、オンセットフレームなどの遷移フレームを符号化することが望ましい。
ビットレート制約付き符号化システムにおいてオンセットフレームおよび/または他の遷移フレームのための符号化モードを与えることが望ましい。たとえば、低い固定ビットレートまたは低い最大ビットレートを有するように制限された符号化システムにおいて、そのような符号化モードを与えることが望ましい。そのような符号化システムの適用の典型的な例は(たとえば、図14を参照しながら本明細書で説明する)衛星通信リンクである。
上述のように、音声信号のフレームは、有声、無声、または無音として分類できる。有声フレームは一般に高度に周期的であり、無声および無音フレームは一般に非周期的である。他の可能なフレーム分類は、オンセット、過渡、および立下り過渡を含む。(立上り過渡フレームとも呼ばれる)オンセットフレームは、一般に、ワードの始端において生じる。オンセットフレームは、図2B中の400サンプルと600サンプルとの間の領域の場合のように、フレームの始端では非周期的(たとえば、無声)であり、フレームの終端までに周期的(たとえば、有声)になることがある。過渡クラスは、有声であるが、周期的ではない音声を有するフレームを含む。過渡フレームは、ピッチの変化および/または周期性の低減を示し、一般に、(たとえば、音声信号のピッチが変化している)有声セグメントの中間または終端において生じる。典型的な立下り過渡フレームは、低エネルギー有声音声を有し、ワードの終端において生じる。オンセット、過渡、および立下り過渡フレームは「遷移」フレームと呼ばれることもある。
音声符号器が非差分方法でパルスのロケーション、振幅、および形状を符号化することが望ましい。たとえば、符号化フレームが後続の符号化フレームの励起信号に良好な基準プロトタイプを与えるように、オンセットフレーム、または有声フレームの連続の第1のフレームを符号化することが望ましい。そのような符号器は、フレームの最終ピッチパルスの位置を特定し、最終ピッチパルスに隣接するピッチパルスの位置を特定し、ピッチパルスのピーク間の距離に従ってラグ値を推定し、最終ピッチパルスと推定されたラグ値のロケーションとを示す符号化フレームを生成するように構成できる。この情報は、位相情報なしに符号化された後続のフレームを復号する際に位相基準として使用できる。符号器はまた、(たとえばQPPP符号化方式を使用して)差分的に符号化された後続のフレームを復号する際に基準として使用されるピッチパルスの形状の指示を含む符号化フレームを生成するように構成できる。
遷移フレーム(たとえば、オンセットフレーム)を符号化する際、フレームの正確な再生を達成することよりも、後続のフレームの良好な基準を与えることのほうが重要である。そのような符号化フレームを使用して、PPPまたは他の符号化方式を使用して符号化される後続の有声フレームの良好な基準を与えることができる。たとえば、符号化フレームが、(たとえば、良好な形状基準を与えるための)ピッチパルスの形状の記述と、(たとえば、良好なラグ基準を与えるための)ピッチラグの指示と、(たとえば、良好な位相基準を与えるための)フレームの最終ピッチパルスのロケーションの指示とを含むことが望ましく、オンセットフレームの特徴を、より少数のビットを使用して符号化するか、または無視することさえできる。
図3Aに、符号化タスクE100とE200とを含む構成による音声符号化の方法M100のフローチャートを示す。タスクE100は、音声信号の第1のフレームを符号化し、タスクE200は、音声信号の第2のフレームを符号化し、第2のフレームは第1のフレームの後に続く。タスクE100は、第1のフレームを非差分的に符号化する基準符号化モードとして実装でき、タスクE200は、第1のフレームに対して第2のフレームを符号化する相対符号化モード(たとえば、差分符号化モード)として実装できる。一例では、第1のフレームはオンセットフレームであり、第2のフレームはオンセットフレームの直後に続く有声フレームである。第2のフレームはまた、オンセットフレームの直後に続く連続する有声フレームの連続の1番目のフレームとすることができる。
符号化タスクE100は、励起信号の記述を含む第1の符号化フレームを生成する。この記述は、時間領域におけるピッチパルスの形状(すなわち、ピッチプロトタイプ)と、ピッチパルスが繰り返されるロケーションとを示す値のセットを含む。ピッチパルスロケーションは、フレームのターミナルピッチパルスの位置など、基準点とともにラグ値を符号化することによって示される。本明細書では、ピッチパルスの位置はそのピークの位置を使用して示されるが、本開示の範囲は、その第1または最後のサンプルなど、パルスの別の特徴の位置によってピッチパルスの位置が同等に示されるコンテキストを明確に含む。第1の符号化フレームは、フレームのスペクトル包絡線の記述(たとえば、1つまたは複数のLSPインデックス)など、他の情報の表現を含むこともできる。
タスクE100は、第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの1つを選択するサブタスクE110を含む。フレームにおける最も高いピークを有するピッチパルスに(たとえば、最小2乗方向に)最も厳密に一致する形状を選択するように、タスクE110を構成することができる。代替的に、フレームにおける最も高いエネルギー(たとえば、2乗サンプル値の最も高い和)を有するピッチパルスに最も厳密に一致する形状を選択するように、タスクE110を構成することができる。代替的に、フレームの2つ以上のピッチパルス(たとえば、最も高いピークおよび/またはエネルギーを有するパルス)の平均に最も厳密に一致する形状を選択するように、タスクE110を構成することができる。タスクE110は、ピッチパルス形状(「形状ベクトル」とも呼ばれる)のコードブック(すなわち、量子化テーブル)による探索を含むように実装できる。
符号化タスクT100は、フレームのターミナルピッチパルスの位置(たとえば、フレームの初期ピッチピークまたはフレームの最終ピッチピークの位置)を計算するサブタスクE120をも含む。ターミナルピッチパルスの位置は、フレームの始端に対して、フレームの終端に対して、またはフレーム内の別の基準ロケーションに対して示すことができる。(たとえば、サンプルの振幅またはサンプル値の2乗として一般に計算されるサンプルのエネルギーと、フレーム平均との間の関係に基づいて)フレーム境界の近くのサンプルを選択し、このサンプルの次のエリア内で最大値を有するサンプルを探索することによってターミナルピッチパルスピークを発見するように、タスクE120を構成することができる。たとえば、タスクE120は、以下で説明するターミナルピッチピーク位置特定タスクL100の構成のいずれかに従って実装できる。
符号化タスクE100は、フレームのピッチ周期を推定するサブタスクE130をも含む。(「ピッチラグ値」、「ラグ値」、「ピッチラグ」、または単に「ラグ」とも呼ばれる)ピッチ周期は、ピッチパルス間の距離(すなわち、隣接するピッチパルスのピーク間の距離)を示す。典型的なピッチ周波数は、男性話者の約70〜100Hzから女性話者の約150〜200Hzまで変動する。8kHzのサンプリングレートの場合、これらのピッチ周波数範囲は、典型的な女性話者の約40〜50サンプルおよび典型的な男性話者の約90〜100サンプルのラグ範囲に対応する。これらの範囲外にピッチ周波数を有するスピーカーに適応するために、約50〜60Hz〜約300〜400Hzのピッチ周波数範囲をサポートすることが望ましい。8kHzのサンプリングレートの場合、この周波数範囲は約20〜25サンプル〜約130〜160サンプルのラグ範囲に対応する。
ピッチ周期推定タスクE130は、(たとえば、以下で説明するラグ推定タスクL200の実装形態のインスタンスとして)任意の好適なピッチ推定プロシージャを使用してピッチ周期を推定するように実装できる。そのようなプロシージャは一般に、ターミナルピッチピークに隣接するピッチピークを発見すること(あるいは少なくとも2つの隣接するピッチピークを発見すること)と、ピーク間の距離としてラグを計算することとを含む。そのエネルギーの測度(たとえば、サンプルエネルギーとフレーム平均エネルギーとの間の比率)、および/またはサンプルの近傍が、確認されたピッチピーク(たとえば、ターミナルピッチピーク)の同様の近傍とどのくらい相関するかという測度に基づいて、サンプルをピッチピークとして識別するように、タスクE130を構成することができる。
符号化タスクE100は、タスクE110によって選択された時間領域ピッチパルス形状、タスクE120によって計算されたターミナルピッチパルス位置、およびタスクE130によって推定されたラグ値など、第1のフレームについて励起信号の特徴の表現を含む第1の符号化フレームを生成する。一般にタスクE100は、ピッチ周期推定タスクE130の前にピッチパルス位置計算タスクE120を実行し、ピッチパルス形状選択タスクE110の前にピッチ周期推定タスクE130を実行するように構成される。
第1の符号化フレームは、推定されたラグ値を直接示す値を含むことができる。代替的に、符号化フレームが最小値に対するオフセットとしてラグ値を示すことが望ましい。20サンプルの最小ラグ値の場合、たとえば、20〜147(すなわち、20+0〜20+127)サンプルの範囲中の任意の可能な整数ラグ値を示すために7ビット数を使用できる。25サンプルの最小ラグ値の場合、25〜152(すなわち、25+0〜25+127)サンプルの範囲中の可能な整数ラグ値を示すために7ビット数を使用できる。そのような方法で、最小値に対するオフセットとしてラグ値を符号化することは、予想されるラグ値の範囲のカバレージを最大にし、値の範囲を符号化するために必要とされるビット数を最小限に抑えるために使用できる。非整数ラグ値の符号化をサポートするように、他の例を構成することができる。また、第1の符号化フレームは、第2のラグ値または他の場合はフレームの一方の側(たとえば、フレームの始端または終端)から他方へのラグ値の変化を示す値など、ピッチラグに関係する2つ以上の値を含むことが可能である。
フレームのピッチパルスの振幅が互いに異なる可能性がある。たとえば、オンセットフレームでは、フレームの終端の近くのピッチパルスがフレームの始端の近くのピッチパルスよりも大きい振幅を有するように、エネルギーが時間とともに増加する。少なくともそのような場合、第1の符号化フレームが、ピッチパルスの相対振幅の記述など、(「利得プロファイル」とも呼ばれる)時間にわたるフレームの平均エネルギーの変動の記述を含むことが望ましい。
図3Bに、サブタスクE140を含む符号化タスクE100の実装形態E102のフローチャートを示す。タスクE140は、第1のフレームの異なるピッチパルスに対応する利得値のセットとしてフレームの利得プロファイルを計算する。たとえば、利得値の各々は、フレームの異なるピッチパルスに対応することができる。タスクE140は、利得プロファイルのコードブック(たとえば、量子化テーブル)による探索と、フレームの利得プロファイルに(たとえば、最小2乗方向に)最も厳密に一致するコードブックエントリの選択とを含むことができる。符号化タスクE102は、タスクE110によって選択された時間領域ピッチパルス形状と、タスクE120によって計算されたターミナルピッチパルス位置と、タスクE130によって推定されたラグ値と、タスクE140によって計算された利得値のセットとの表現を含む第1の符号化フレームを生成する。図4に、ラベル「1」がターミナルピッチパルス位置を示し、ラベル「2」が推定されたラグ値を示し、ラベル「3」が選択された時間領域ピッチパルス形状を示し、ラベル「4」が利得プロファイル(たとえば、ピッチパルスの相対振幅)において符号化された値を示す、フレーム中のこれらの特徴の概略図を示す。一般にタスクE102は、ピッチパルス形状選択タスクE110と直列に、または平行して実行できる利得値計算タスクE140の前にピッチ周期推定タスクE130を実行するように構成される。(図26のテーブルで示すように)一例では、符号化タスクE102は、基準パルス位置を示す7ビットと、基準パルス形状を示す7ビットと、基準ラグ値を示す7ビットと、利得プロファイルを示す4ビットと、1つまたは複数のLSPインデックスを搬送する13ビットと、フレームの符号化モードを示す2ビット(たとえば、NELPなどの無声符号化モードを示す「00」、QPPPなどの相対符号化モードを示す「01」、および基準符号化モードE102を示す「10」)とを含む40ビット符号化フレームを生成するように1/4レートで動作する。
第1の符号化フレームは、フレーム中のピッチパルス(またはピッチピーク)の数の明示的指示を含むことができる。代替的に、フレーム中のピッチパルスまたはピッチピークの数は、暗示的に符号化できる。たとえば、第1の符号化フレームは、ピッチラグおよびターミナルピッチパルスの位置(たとえば、ターミナルピッチピークの位置)のみを使用してフレーム中のすべてのピッチパルスの位置を示すことができる。ラグ値およびターミナルピッチパルスの位置からピッチパルスの潜在的な位置を計算し、利得プロファイルから潜在的なパルス位置ごとの振幅を得るように、対応する復号器を構成できる。フレームが潜在的なパルス位置よりも少数のパルスを含んでいる場合、利得プロファイルは、潜在的なパルス位置のうちの1つまたは複数について0の利得値(または他の極めて小さい値)を示すことができる。
本明細書に示すように、オンセットフレームは無声として開始し、有声として終了することができる。対応する符号化フレームは、全オンセットフレームの正確な再生をサポートするよりも、後続のフレームに良好な基準を与えることが望ましく、方法M100は、そのようなオンセットフレームの初期無声部分を符号化するための限定されたサポートのみを行うように実装できる。たとえば、無声部分内の任意のピッチパルス周期について0の(または0に近い)利得値を示す利得プロファイルを選択するように、タスクE140を構成することができる。代替的に、無声部分内のピッチ周期について0でない利得値を示す利得プロファイルを選択するように、タスクE140を構成することができる。1つのそのような例では、タスクE140は、0、または0の近くで開始し、フレームの有声部分の第1のピッチパルスの利得レベルに単調に上昇する一般的な利得プロファイルを選択する。
利得ベクトル量子化(VQ)テーブルのセットのうちの1つへのインデックスとして利得値のセットを計算し、異なる数のパルスに対して異なる利得VQテーブルが使用されるように、タスクE140を構成することができる。各利得VQテーブルが同じ数のエントリを含んでおり、異なる利得VQテーブルが異なる長さのベクトルを含んでいるように、テーブルのセットを構成することができる。そのような符号化システムでは、タスクE140は、ターミナルピッチパルスのロケーションとピッチラグとに基づいてピッチパルスの推定された数を計算し、この推定された数は、利得VQテーブルのセットのうちの1つを選択するために使用される。この場合、符号化フレームを復号する対応する方法によって類似した演算を実行することもできる。ピッチパルスの推定された数がフレーム中のピッチパルスの実際の数よりも大きい場合、タスクE140はまた、上述のように、フレーム中の追加のピッチパルス周期ごとに利得を小さい値、または0に設定することによってこの情報を搬送することができる。
符号化タスクE200は、第1のフレームの後に続く音声信号の第2のフレームを符号化する。タスクE200は、第1のフレームの対応する特徴に対して第2のフレームの特徴を符号化する相対符号化モード(たとえば、差分符号化モード)として実装できる。タスクE200は、現在のフレームのピッチパルス形状と前のフレームのピッチパルス形状との間のピッチパルス形状差を計算するサブタスクE210を含む。たとえば、第2のフレームからピッチプロトタイプを抽出し、抽出されたプロトタイプと第1のフレームのピッチプロトタイプ(すなわち、選択されたピッチパルス形状)との間の差としてピッチパルス形状差を計算するように、タスクE210を構成することができる。タスクE210によって実行できるプロトタイプ抽出動作の例は、2004年6月22日に発行された米国特許第6,754,630号(Dasら)、2006年11月14日に発行された米国特許第7,136,812号(Manjunathら)で説明されているものを含む。
周波数領域中の2つのプロトタイプ間の差としてピッチパルス形状差を計算するようにタスクE210を構成することが望ましい。図5Aに、ピッチパルス形状差計算タスクE210の実装形態E212を含む符号化タスクE200の実装形態E202の図を示す。タスクE212は、現在のフレームの周波数領域ピッチプロトタイプを計算するサブタスクE214を含む。たとえば、抽出されたプロトタイプに対して高速フーリエ変換演算を実行するか、または他の場合は抽出されたプロトタイプを周波数領域に変換するように、タスクE214を構成することができる。また、周波数領域プロトタイプをいくつかの周波数ビン(たとえば、重複しないビンのセット)に分割し、要素が各ビンにおける平均絶対値である対応する周波数絶対値ベクトルを計算し、プロトタイプの周波数絶対値ベクトルと前のフレームのプロトタイプの周波数絶対値ベクトルとの間のベクトル差としてピッチパルス形状差を計算することによってピッチパルス形状差を計算するように、タスクE212のそのような実装形態を構成することができる。そのような場合、対応する符号化フレームが量子化差を含むようにピッチパルス形状差をベクトル量子化するように、タスクE212を構成することもできる。
符号化タスクE200は、現在のフレームのピッチ周期と前のフレームのピッチ周期との間のピッチ周期差を計算するサブタスクE220をも含む。たとえば、現在のフレームのピッチラグを推定し、前のフレームのピッチラグ値を減算してピッチ周期差を得るように、タスクE220を構成することができる。1つのそのような例では、タスクE220は、ピッチ周期差を(現在のラグ推定値−前のラグ推定値+7)として計算するように構成される。ピッチラグを推定するために、上述のピッチ周期推定タスクE130のインスタンス、以下で説明するラグ推定タスクL200のインスタンス、または上記で参照した、そのセクションが一例として参照により本明細書に組み込まれる、EVRC文献C.S0014−Cのセクション4.6.3(pp.4−44〜4−49)に記載されているプロシージャなど、任意の好適なピッチ推定技法を使用するように、タスクE220を構成することができる。前のフレームの非量子化ピッチラグ値が前のフレームの逆量子化ピッチラグ値と異なる場合、タスクE220は、現在のラグ推定値から逆量子化値を減算することによってピッチ周期差を計算することが望ましい。
符号化タスクE200は、1/4レートPPP(QPPP)などの限定された時間同期性を有する符号化方式を使用して実装できる。QPPPの実装形態は、「Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems」と題する第3世代パートナーシッププロジェクト2(3GPP2)文書C.S0014−C、v1.0のセクション4.2.4(pp.4−10〜4−17)および4.12.28(pp.4−132〜4−138)、2007年1月(www.3gpp.orgでオンライン入手可能)に記載されており、そのセクションは一例として参照により本明細書に組み込まれる。この符号化方式は、その帯域幅が周波数とともに増加する21個の周波数ビンの不均一セットを使用してプロトタイプの周波数絶対値ベクトルを計算する。QPPPを使用して生成された符号化フレームの40ビットは、(図26のテーブルに示すように)1つまたは複数のLSPインデックスを搬送する16ビットと、デルタラグ値を搬送する4ビットと、フレームの振幅情報を搬送する18ビットと、モードを示す1ビットと、予約済みの1ビットとを含む。相対符号化方式のこの例は、パルス形状についてのビットも、位相情報についてのビットも含まない。
上記のように、タスクE100において符号化されるフレームは、オンセットフレームとすることができ、タスクE200において符号化されるフレームは、オンセットフレームの直後に続く連続する有声フレームの連続の1番目のフレームとすることができる。図5Bに、サブタスクE300を含む方法M100の実装形態M110のフローチャートを示す。タスクE300は、第2のフレームの後に続く第3のフレームを符号化する。たとえば、第3のフレームは、オンセットフレームの直後に続く連続する有声フレームの連続の2番目のフレームとすることができる。符号化タスクE300は、(たとえば、QPPP符号化のインスタンスとして)本明細書で説明するタスクE200の実装形態のインスタンスとして実装できる。1つのそのような例では、タスクE300は、第3のフレームのピッチプロトタイプと第2のフレームのピッチプロトタイプとの間のピッチパルス形状差を計算するように構成された(たとえば、タスクE212の)タスクE210のインスタンスと、第3のフレームのピッチ周期と第2のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたタスクE220のインスタンスとを含む。別のそのような例では、タスクE300は、第3のフレームのピッチプロトタイプと第1のフレームの選択されたピッチパルス形状との間のピッチパルス形状差を計算するように構成された(たとえば、タスクE212の)タスクE210のインスタンスと、第3のフレームのピッチ周期と第1のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたタスクE220のインスタンスとを含む。
図5Cに、サブタスクT100を含む方法M100の実装形態M120のフローチャートを示す。タスクT100は、(立上り過渡またはオンセットフレームとも呼ばれる)無声音声から有声音声への遷移を含むフレームを検出する。(たとえば、符号化方式セレクタC200に関して)以下で説明するEVRC分類方式に従ってフレーム分類を実行するようにタスクT100を構成することができ、また、(たとえば、フレーム再分類器RC10に関して以下で説明するように)フレームを再分類するようにタスクT100を構成することができる。
図6Aに、音声信号のフレームを符号化するように構成された装置MF100のブロック図を示す。装置MF100は、音声信号FE100の第1のフレームを符号化するための手段と、音声信号FE200の第2のフレームを符号化するための手段とを含み、第2のフレームは第1のフレームの後に続く。手段FE100は、(たとえば、タスクE110の様々な実装形態に関して上述したように)第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの1つを選択するための手段FE110を含む。手段FE100は、(たとえば、タスクE120の様々な実装形態に関して上述したように)第1のフレームのターミナルピッチパルスの位置を計算するための手段FE120をも含む。手段FE100は、(たとえば、タスクE130の様々な実装形態に関して上述したように)第1のフレームのピッチ周期を推定するための手段FE130をも含む。図6Bに、(たとえば、タスクE140の様々な実装形態に関して上述したように)第1のフレームの異なるピッチパルスに対応する利得値のセットを計算するための手段FE140をも含む手段FE100の実装形態FE102のブロック図を示す。
手段FE200は、(たとえば、タスクE210の様々な実装形態に関して上述したように)第2のフレームのピッチパルス形状と、第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算するための手段FE210を含む。手段FE200は、(たとえば、タスクE220の様々な実装形態に関して上述したように)第2のフレームのピッチ周期と、第1のフレームのピッチ周期との間のピッチ周期差を計算するための手段FE220をも含む。
図7Aに、一般的構成による、音声信号の励起信号を復号する方法M200のフローチャートを示す。方法M200は、第1の励起信号を得るために第1の符号化フレームの部分を復号するタスクD100を含み、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。タスクD100は、ピッチパルス位置に従って第1の励起信号内に時間領域ピッチパルス形状の第1のコピーを構成するサブタスクD110を含む。タスクD100は、ピッチパルス位置とピッチ周期とに従って第1の励起信号内に時間領域ピッチパルス形状の第2のコピーを構成するサブタスクD120をも含む。一例では、タスクD110とタスクD120とは、(たとえば、時間領域ピッチパルス形状を表す第1の符号化フレームからのインデックスに従って)コードブックから時間領域ピッチパルス形状を得て、それを励起信号バッファにコピーする。タスクD100および/または方法M200はまた、(たとえば、第1の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第1の符号化フレームからLPC係数値のセットを得て、LPC係数値のセットに従って合成フィルタを構成し、第1の復号フレームを得るために第1の励起信号を構成された合成フィルタに適用するタスクを含むように実装できる。
図7Bに、復号タスクD100の実装形態D102のフローチャートを示す。この場合、第1の符号化フレームの部分は、利得値のセットの表現をも含む。タスクD102は、利得値のセットのうちの1つを時間領域ピッチパルス形状の第1のコピーに適用するサブタスクD130を含む。タスクD102は、利得値のセットのうちの異なる1つを時間領域ピッチパルス形状の第2のコピーに適用するサブタスクD140をも含む。一例では、タスクD130は、その利得値をタスクD110中での形状に適用し、タスクD140は、その利得値をタスクD120中での形状に適用する。別の例では、タスクD110が実行された後に、タスクD130は、その利得値を励起信号バッファの対応する部分に適用し、タスクD120が実行された後に、タスクD140は、その利得値を励起信号バッファの対応する部分に適用する。タスクD102を含む方法M200の実装形態は、第1の復号フレームを得るために得られた利得調整された励起信号を構成された合成フィルタに適用するタスクを含むように構成できる。
方法M200は、第2の励起信号を得るために第2の符号化フレームの部分を復号するタスクD200をも含み、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。タスクD200は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第2のピッチパルス形状を計算するサブタスクD210を含む。タスクD200は、ピッチ周期とピッチ周期差とに基づいて第2のピッチ周期を計算するサブタスクD220をも含む。タスクD200は、ピッチパルス位置と第2のピッチ周期とに従って第2の励起信号内に第2のピッチパルス形状の2つ以上のコピーを構成するサブタスクD230をも含む。タスクD230は、ピッチパルス位置からの対応するオフセットとして第2の励起信号内のコピーの各々のための位置を計算することを含むことができ、各オフセットは、第2のピッチ周期の整数倍である。タスクD200および/または方法M200はまた、(たとえば、第2の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第2の符号化フレームからLPC係数値のセットを得て、LPC係数値のセットに従って合成フィルタを構成し、第2の復号フレームを得るために第2の励起信号を構成された合成フィルタに適用するタスクを含むように実装できる。
図8Aに、音声信号の励起信号を復号するための装置MF200のブロック図を示す。装置MF200は、第1の励起信号を得るために第1の符号化フレームの部分を復号するための手段FD100を含み、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。手段FD100は、ピッチパルス位置に従って第1の励起信号内に時間領域ピッチパルス形状の第1のコピーを構成するための手段FD110を含む。手段FD100は、ピッチパルス位置とピッチ周期とに従って第1の励起信号内に時間領域ピッチパルス形状の第2のコピーを構成するための手段FD120をも含む。一例では、手段FD110と手段FD120とは、(たとえば、時間領域ピッチパルス形状を表す第1の符号化フレームからのインデックスに従って)コードブックから時間領域ピッチパルス形状を得て、それを励起信号バッファにコピーするように構成される。手段FD200および/または装置MF200はまた、(たとえば、第1の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第1の符号化フレームからLPC係数値のセットを得るための手段と、LPC係数値のセットに従って合成フィルタを構成するための手段と、第1の復号フレームを得るために第1の励起信号を構成された合成フィルタに適用するための手段とを含むように実装できる。
図8Bに、復号するための手段FD100の実装形態FD102のフローチャートを示す。この場合、第1の符号化フレームの部分は、利得値のセットの表現をも含む。手段FD102は、利得値のセットのうちの1つを時間領域ピッチパルス形状の第1のコピーに適用するための手段FD130を含む。手段FD102は、利得値のセットのうちの異なる1つを時間領域ピッチパルス形状の第2のコピーに適用するための手段FD140をも含む。一例では、手段FD130は、その利得値を手段FD110内での形状に適用し、手段FD140はその利得値を手段FD120内での形状に適用する。別の例では、手段FD130は、その利得値を、手段FD110が第1のコピーを構成した励起信号バッファの部分に適用し、手段FD140は、その利得値を、手段FD120が第2のコピーを構成した励起信号バッファの部分に適用する。手段FD102を含む装置MF200の実装形態は、第1の復号フレームを得るために得られた利得調整された励起信号を構成された合成フィルタに適用するための手段を含むように構成できる。
装置MF200は、第2の励起信号を得るために第2の符号化フレームの部分を復号するための手段FD200をも含み、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。手段FD200は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第2のピッチパルス形状を計算するための手段FD210を含む。手段FD200は、ピッチ周期とピッチ周期差とに基づいて第2のピッチ周期を計算するための手段FD220をも含む。手段FD200は、ピッチパルス位置と第2のピッチ周期とに従って第2の励起信号内に第2のピッチパルス形状の2つ以上のコピーを構成するための手段FD230をも含む。手段FD230は、ピッチパルス位置からの対応するオフセットとして第2の励起信号内のコピーの各々のための位置を計算するように構成でき、各オフセットは、第2のピッチ周期の整数倍である。手段FD200および/または装置MF200はまた、(たとえば、第2の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第2の符号化フレームからLPC係数値のセットを得るための手段と、LPC係数値のセットに従って合成フィルタを構成するための手段と、第2の復号フレームを得るために第2の励起信号を構成された合成フィルタに適用するための手段とを含むように実装できる。
図9Aに、(たとえば、フレームの連続として)デジタル化音声信号S100を受信し、通信チャネルC100(たとえば、有線、光、および/または無線通信リンク)上で音声復号器AD10に送信するための(たとえば、対応する符号化フレームの連続として)対応する符号化信号S200を生成するように構成された音声符号器AE10を示す。音声復号器AD10は、符号化音声信号S200の受信したバージョンS300を復号し、対応する出力音声信号S400を合成するように構成される。音声符号器AE10は、装置MF100のインスタンスを含み、および/または方法M100の実装形態を実行するように実装できる。音声復号器AD10は、装置MF200のインスタンスを含み、および/または方法M200の実装形態を実行するように実装できる。
上述のように、音声信号S100は、パルス符号変調(PCM)、圧伸(companded)μ−law、またはA−lawなど、当技術分野で知られている様々な方法のいずれかに従ってデジタル化および量子化された(たとえば、マイクロフォンによってキャプチャされる)アナログ信号を表す。信号は、雑音抑圧、知覚的重み付け、および/または他のフィルタ処理演算など、アナログおよび/またはデジタル領域における他の前処理演算をも受けることができる。追加または代替として、そのような演算は、音声符号器AE10内で実行できる。音声信号S100のインスタンスは、デジタル化および量子化された(たとえば、マイクロフォンのアレイによってキャプチャされる)アナログ信号の組合せをも表すことができる。
図9Bに、デジタル化音声信号S100の第1のインスタンスS110を受信し、通信チャネルC100の第1のインスタンスC110上で音声復号器AD10の第1のインスタンスAD10aに送信するための符号化信号S200の対応するインスタンスS210を生成するように構成された音声符号器AE10の第1のインスタンスAE10aを示す。音声復号器AD10aは、符号化音声信号S210の受信したバージョンS310を復号し、出力音声信号S400の対応するインスタンスS410を合成するように構成される。
図9Bに、デジタル化音声信号S100の第2のインスタンスS120を受信し、通信チャネルC100の第2のインスタンスC120上で音声復号器AD10の第2のインスタンスAD10bに送信するための符号化信号S200の対応するインスタンスS220を生成するように構成された音声符号器AE10の第2のインスタンスAE10bをも示す。音声復号器AD10bは、符号化音声信号S220の受信したバージョンS320を復号し、出力音声信号S400の対応するインスタンスS420を合成するように構成される。
音声符号器AE10aおよび音声復号器AD10b(同様に、音声符号器AE10bおよび音声復号器AD10a)は、たとえば、図14に関して後述するユーザ端末、地上局、またはゲートウェイを含む、音声信号を送信および受信するための任意の通信デバイス中で一緒に使用できる。本明細書で説明するように、音声符号器AE10は多くの異なる方法で実装でき、音声符号器AE10aおよびAE10bは、音声符号器AE10の異なる実装形態のインスタンスとすることができる。同様に、音声復号器AD10は多くの異なる方法で実装でき、音声復号器AD10aおよびAD10bは、音声復号器AD10の異なる実装形態のインスタンスとすることができる。
図10Aに、音声信号の第1のフレームを第1の符号化フレームとして符号化するように構成された第1のフレーム符号器100と、音声信号の第2のフレームを第2の符号化フレームとして符号化するように構成された第2のフレーム符号器200とを含み、第2のフレームは第1のフレームの後に続く、一般的構成による音声信号A100のフレームを符号化するための装置のブロック図を示す。音声符号器AE10は、装置A100のインスタンスを含むように実装できる。第1のフレーム符号器100は、(たとえば、タスクE110の様々な実装形態に関して上述したように)第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの1つを選択するように構成されたピッチパルス形状セレクタ110を含む。符号器100は、(たとえば、タスクE120の様々な実装形態に関して上述したように)第1のフレームのターミナルピッチパルスの位置を計算するように構成されたピッチパルス位置計算器120をも含む。符号器100は、(たとえば、タスクE130の様々な実装形態に関して上述したように)第1のフレームのピッチ周期を推定するように構成されたピッチ周期推定器130をも含む。図10Bに、(たとえば、タスクE140の様々な実装形態に関して上述したように)第1のフレームの異なるピッチパルスに対応する利得値のセットを計算するように構成された利得値計算器140をも含む符号器100の実装形態102のブロック図を示す。
第2のフレーム符号器200は、(たとえば、タスクE210の様々な実装形態に関して上述したように)第2のフレームのピッチパルス形状と、第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算するように構成されたピッチパルス形状差計算器(pitch pulse shape differential calculator)210を含む。符号器200は、(たとえば、タスクE220の様々な実装形態に関して上述したように)第2のフレームのピッチ周期と、第1のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたピッチパルス差計算器(pitch pulse differential calculator)220をも含む。
図11Aに、第1のフレーム復号器300と第2のフレーム復号器400とを含む一般的構成による、音声信号A200の励起信号を復号するための装置のブロック図を示す。復号器300は、第1の励起信号を得るために第1の符号化フレームの部分を復号するように構成され、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。復号器300は、ピッチパルス位置に従って第1の励起信号内に時間領域ピッチパルス形状の第1のコピーを構成するように構成された第1の励起信号発生器310を含む。励起発生器310はまた、ピッチパルス位置とピッチ周期とに従って第1の励起信号内に時間領域ピッチパルス形状の第2のコピーを構成するように構成される。たとえば、発生器310は、本明細書で説明するタスクD110およびD120の実装形態を実行するように構成できる。この例では、復号器300は、(たとえば、第1の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第1の符号化フレームから復号器300によって得られたLPC係数値のセットに従って構成され、第1の復号フレームを得るために励起信号をフィルタ処理するように構成された合成フィルタ320をも含む。
図11Bに、第1の符号化フレームの部分が利得値のセットの表現をも含む場合、第1の乗算器330と第2の乗算器340とを含む第1の励起信号発生器310の実装形態312のブロック図を示す。第1の乗算器330は、利得値のセットのうちの1つを時間領域ピッチパルス形状の第1のコピーに適用するように構成される。たとえば、第1の乗算器330は、本明細書で説明するタスクD130の実装形態を実行するように構成できる。第2の乗算器340は、利得値のセットのうちの異なる1つを時間領域ピッチパルス形状の第2のコピーに適用するように構成される。たとえば、第2の乗算器340は、本明細書で説明するタスクD140の実装形態を実行するように構成できる。発生器312を含む復号器300の実装形態では、合成フィルタ320は、第1の復号フレームを得るために得られた利得調整された励起信号をフィルタ処理するように構成できる。第1の乗算器330と第2の乗算器340とは、異なる時間に異なる構造を使用するか、または同じ構造を使用して実装できる。
第2のフレーム復号器400は、第2の励起信号を得るために第2の符号化フレームの部分を復号するように構成され、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。復号器400は、ピッチパルス形状計算器410とピッチ周期計算器420とを含む第2の励起信号発生器440を含む。ピッチパルス形状計算器410は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第2のピッチパルス形状を計算するように構成される。たとえば、ピッチパルス形状計算器410は、本明細書で説明するタスクD210の実装形態を実行するように構成できる。ピッチ周期計算器420は、ピッチ周期とピッチ周期差とに基づいて第2のピッチ周期を計算するように構成される。たとえば、ピッチ周期計算器420は、本明細書で説明するタスクD220の実装形態を実行するように構成できる。励起発生器440は、ピッチパルス位置と第2のピッチ周期とに従って第2の励起信号内に第2のピッチパルス形状の2つ以上のコピーを構成するように構成される。たとえば、発生器440は、本明細書で説明するタスクD230の実装形態を実行するように構成できる。この例では、復号器400は、(たとえば、第1の符号化フレームから1つまたは複数の量子化LSPベクトルを逆量子化し、結果を逆変換することによって)第1の符号化フレームから復号器400によって得られたLPC係数値のセットに従って構成され、第2の復号フレームを得るために第2の励起信号をフィルタ処理するように構成された合成フィルタ430をも含む。合成フィルタ320と合成フィルタ430とは、異なる時間に異なる構造を使用するか、または同じ構造を使用して実装できる。音声復号器AD10は、装置A200のインスタンスを含むように実装できる。
図12Aに、音声符号器AE10のマルチモード実装形態AE20のブロック図を示す。符号器AE20は、第1のフレーム符号器100の実装形態(たとえば、符号器102)と、第2のフレーム符号器200の実装形態と、無声フレーム符号器UE10(たとえば、QNELP符号器)と、符号化方式セレクタC200とを含む。符号化方式セレクタC200は、セレクタ50a、50bを介してフレームごとに符号器100、200、およびUE10のうちの適切な1つを選択するために(たとえば、後述する変更されたEVRCフレーム分類方式に従って)音声信号S100の着信フレームの特性を分析するように構成される。1/4レートPPP(QPPP)符号化方式を適用するために第2のフレーム符号器200を実装し、1/4レートNELP(QNELP)符号化方式を適用するために無声フレーム符号器UE10を実装することが望ましい。図12Bに、第1のフレーム復号器300の実装形態(たとえば、復号器302)と、第2のフレーム符号器400の実装形態と、無声フレーム復号器UD10(たとえば、QNELP復号器)と、符号化方式検出器C300とを含む音声符号器AD10の類似したマルチモード実装形態AD20のブロック図を示す。符号化方式検出器C300は、セレクタ90a、90bを介して符号化フレームごとに復号器300、400、およびUD10のうちの適切な対応する1つを選択するために(たとえば、第1および/または最後のビットなど符号化フレームの1つまたは複数のモードビットに従って)受信した符号化音声信号S300の符号化フレームのフォーマットを判断するように構成される。
図13に、音声符号器AE10の実装形態内に含むことができる残差発生器R10のブロック図を示す。発生器R10は、音声信号S100の現在のフレームに基づいてLPC係数値のセットを計算するように構成されたLPC分析モジュールR110を含む。変換ブロックR120は、LPC係数値のセットをLSFのセットに変換するように構成され、量子化器R130は、(たとえば、1つまたは複数のコードブックインデックスとして)LSFを量子化してLPCパラメータSL10を生成するように構成される。逆量子化器R140は、量子化されたLPCパラメータSL10から復号されたLSFのセットを得るように構成され、逆変換ブロックR150は、復号されたLSFのセットから復号されたLPC係数値のセットを得るように構成される。復号されたLPC係数値のセットに従って構成された(分析フィルタとも呼ばれる)白色化フィルタR160は、音声信号S100を処理して、LPC残差SR10を生成する。残差発生器R10はまた、特定の適用に好適であると考えられる他の設計に従ってLPC残差を発生するように実装できる。残差発生器R10のインスタンスは、フレーム符号器104、204、およびUE10のうちのいずれか1つまたは複数内で実装でき、および/またはそれらの間で共有できる。
図14に、衛星10、地上局20a、20b、およびユーザ端末30a、30bを含む衛星通信のためのシステムの概略図を示す。衛星10は、場合によっては1つまたは複数の他の衛星を介して、地上局20aと20bとの間、ユーザ端末30aと30bとの間、または地上局とユーザ端末との間で半二重または全二重チャネル上でボイス通信を中継するように構成できる。ユーザ端末30a、30bの各々は、無線モデムを備えた携帯電話またはポータブルコンピュータなど無線衛星通信のためのポータブルデバイス、地上または宇宙ビークル内に取り付けられた通信ユニット、あるいは衛星ボイス通信のための別のデバイスとすることができる。地上局20a、20bの各々は、それぞれのネットワーク40a、40bにボイス通信チャネルをルーティングするように構成され、ネットワーク40a、40bは、アナログまたはパルス符号変調(PCM)ネットワーク(たとえば、公衆交換電話網つまりPSTN)および/またはデータネットワーク(たとえば、インターネット、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、リング型ネットワーク、スター型ネットワーク、および/またはトークンリングネットワーク)とすることができる。地上局20a、20bの一方または両方は、別の形態(たとえば、アナログ、PCM、より高いビットレート符号化方式など)におよび/またはそれからボイス通信信号を変換するように構成されたゲートウェイをも含むことができる。
PWI符号化中に抽出されるプロトタイプの長さは一般に、フレームごとに変化することができるピッチラグの現在の値に等しい。したがって、復号器に送信するためのプロトタイプを量子化することが、次元が可変であるベクトルを量子化するという問題を提示することがある。従来のPWIおよびPPP符号化方式では、可変次元プロトタイプベクトルの量子化は、(たとえば、離散時間フーリエ変換(DTFT)演算を使用して)時間領域ベクトルを複素数値周波数領域ベクトルに変換することによって一般に実行される。そのような演算は、ピッチパルス形状差計算タスクE210に関して上述した。次いで、この複素数値可変次元ベクトルの振幅をサンプリングして、固定次元のベクトルを得る。振幅ベクトルのサンプリングは不均一でもよい。たとえば、高周波よりも低周波でより高い分解能をもつベクトルをサンプリングすることが望ましい。
オンセットフレームの後に続く有声フレームの差分PWI符号化を実行することが望ましい。フルレートPPP符号化モードでは、周波数領域ベクトルの位相を、振幅と同様にしてサンプリングして、固定次元ベクトルを得る。しかしながら、QPPP符号化モードでは、そのような位相情報を復号器に搬送するために利用可能なビットがない。この場合、ピッチラグは、(たとえば、前のフレームのピッチラグに対して)差分的に符号化され、位相情報はまた、1つまたは複数の前のフレームからの情報に基づいて推定されなければならない。たとえば、遷移フレーム符号化モード(たとえば、タスクE100)を使用してオンセットフレームを符号化するとき、後続のフレームのための位相情報はピッチラグおよびパルスロケーション情報から導出できる。
オンセットフレームを符号化するために、フレーム内のすべてのピッチパルスを検出することが予想できるプロシージャを実行することが望ましい。たとえば、ロバストなピッチピーク検出演算の使用は、後続のフレームにより良いラグ推定値および/または位相基準を与えることが予想できる。後続のフレームが差分符号化方式(たとえば、タスクE200)などの相対符号化方式を使用して符号化される場合、そのような方式は一般に誤り伝搬を受けやすいので、確実な基準値が特に重要であることがある。上記のように、本明細書では、ピッチパルスの位置はそのピークの位置によって示されるが、別のコンテキストでは、ピッチパルスの位置は、その第1または最後のサンプルなど、パルスの別の特徴の位置によって同等に示すことができる。
図15Aに、タスクL100と、L200と、L300とを含む一般的構成による方法M300のフローチャートを示す。タスクL100は、フレームのターミナルピッチピークの位置を特定する。特定の実装形態では、タスクL100は、(A)サンプル振幅に基づく量と(B)フレームの量の平均との間の関係に従って、サンプルをターミナルピッチピークとして選択するように構成される。1つのそのような例では、量はサンプル絶対値(sample magnitude)(すなわち、絶対値(absolute value))であり、この場合、フレーム平均は次のように計算できる。
式中、sはサンプル値(すなわち、振幅)を示し、Nはフレーム中のサンプルの数を示し、iはサンプルインデックスである。別のそのような例では、量はサンプルエネルギー(すなわち、振幅2乗)であり、この場合、フレーム平均は次のように計算できる。
式中、sはサンプル値(すなわち、振幅)を示し、Nはフレーム中のサンプルの数を示し、iはサンプルインデックスである。以下の説明では、エネルギーが使用される。
タスクL100を、フレームの初期ピッチピークとして、またはフレームの最終ピッチピークとしてターミナルピッチピークの位置を特定するように構成することができる。初期ピッチピークの位置を特定するために、タスクL100を、フレームの第1のサンプルにおいて開始し、時間的に前方に動作するように構成することができる。最終ピッチピークの位置を特定するために、タスクL100を、フレームの最後のサンプルにおいて開始し、時間的に後方に動作するように構成することができる。後述する特定の例では、タスクL100を、フレームの最終ピッチピークとしてターミナルピッチピークの位置を特定するように構成する。
図15Bに、サブタスクL110と、L120と、L130とを含むタスクL100の実装形態L102のブロック図を示す。タスクL110は、ターミナルピッチピークとして適格であるフレーム中の最後のサンプルの位置を特定する。この例では、タスクL110は、フレーム平均に対するエネルギーが対応するしきい値TH1を超える(代替的に、しきい値以上である)最後のサンプルの位置を特定する。一例では、TH1の値は6である。フレーム中にそのようなサンプルが発見されない場合、方法M300は終了され、別の符号化モード(たとえば、QPPP)がそのフレームに使用される。他の場合は、タスクL120は、(図16Aに示すように)このサンプルより前にウィンドウ内を探索して最も大きい振幅を有するサンプルを発見し、このサンプルを仮ピーク候補として選択する。タスクL120における探索ウィンドウが、最小許容ラグ値に等しい幅WL1を有することが望ましい。一例では、WL1の値は20サンプルである。探索ウィンドウ中の2つ以上のサンプルが最も大きい振幅を有する場合、タスクL120は、第1のそのようなサンプル、最後のそのようなサンプル、または他のそのようなサンプルを選択するように様々に構成できる。
タスクL130は、(図16Bに示すように)仮ピーク候補より前にウィンドウ内で最も大きい振幅を有するサンプルを発見することによって、最終ピッチピーク選択を検証する。タスクL130における探索ウィンドウが、初期ラグ推定値の50%と100%との間、または50%と75%との間である幅WL2を有することが望ましい。初期ラグ推定値は、(すなわち、前のフレームから)最も最近のラグ推定値に一般に等しい。一例では、WL2の値は、初期ラグ推定値の5/8に等しい。新しいサンプルの振幅が仮ピーク候補の振幅よりも大きい場合、タスクL130は、新しいサンプルを最終ピッチピークとして代わりに選択する。別の実装形態では、新しいサンプルの振幅が仮ピーク候補の振幅よりも大きい場合、タスクL130は、新しいサンプルを新しい仮ピーク候補として選択し、そのようなサンプルが発見されなくなるまで、新しい仮ピーク候補より前に幅WL2のウィンドウ内の探索を繰り返す。
タスクL200は、フレームのための推定されたラグ値を計算する。タスクL200は、ターミナルピッチピークに隣接しているピッチパルスのピークの位置を特定し、これらの2つのピーク間の距離としてラグ推定値を計算するように一般に構成される。フレーム境界内のみを探索する、および/またはターミナルピッチピークと隣接するピッチピークとの間の距離が最小許容ラグ値(たとえば、20サンプル)よりも大きい(代替的に、最小許容ラグ値以上である)ことを必要とするようにタスクL200を構成することが望ましい。
初期ラグ推定値を使用して、隣接するピークを発見するようにタスクL200を構成することが望ましい。ただし、最初に、タスクL200が、(ピッチ3倍および/またはピッチ4倍誤り(errors)を含むことができる)ピッチ2倍誤りについて初期ラグ推定値を検査することが望ましい。一般に、初期ラグ推定値は、相関ベースの方法を使用して判断されている。ピッチ2倍誤りは、ピッチ推定の相関ベースの方法に共通であり、一般にかなり可聴である。図15Cに、タスクL200の実装形態L202のフローチャートを示す。タスクL202は、ピッチ2倍誤りについて初期ラグ推定値を検査する、随意であるが推奨されるサブタスクL210を含む。タスクL210は、ターミナルピッチピークから、たとえば1/2、1/3、および1/4ラグの距離の狭いウィンドウ内でピッチピークを探索するように構成され、以下で説明するように反復することができる。
図17Aに、サブタスクL212と、L214と、L216とを含むタスクL210の実装形態L210aのフローチャートを示す。検査すべき最小ピッチ分数(たとえば、lag/4)の場合、タスクL212は、(たとえば、振幅、絶対値、またはエネルギーに関して)最大値を有するサンプルを発見するために、中心が、ピッチ分数に実質的に等しい距離(たとえば、打ち切りまたは丸め誤差内)だけターミナルピッチピークからオフセットされる小さいウィンドウ(たとえば、5サンプル)内で探索する。図18Aに、そのような動作を示す。
タスクT214は、最大値サンプル(すなわち、「候補」)の1つまたは複数の特徴を評価し、これらの値をそれぞれのしきい値と比較する。評価された特徴は、候補のサンプルエネルギー、平均フレームエネルギーに対する候補エネルギーの比(たとえば、ピーク対RMSエネルギー)、および/またはターミナルピークエネルギーに対する候補エネルギーの比を含むことができる。タスクL214を、任意の順序でそのような評価を実行するように構成することができ、評価は互いに直列および/または並列に実行できる。
タスクL214が、候補の近傍をターミナルピッチピークの同様の近傍と相関させることが望ましい。この特徴評価の場合、タスクL214は、候補を中心とする長さN1サンプルのセグメントをターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、N1の値は17サンプルに等しい。(たとえば、0〜1の範囲内の結果を有する)正規化相関を実行するようにタスクL214を構成することが望ましい。(たとえば、タイミングオフセットおよび/またはサンプリング誤差をなくすために)たとえば、候補の前および後の1サンプルを中心とする長さN1のセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクL214を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。(相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。)一例では、しきい値Tが6に等しいとすることができる、図19A中の列として示される条件の3つのセットのいずれかが満たされる場合、候補は隣接するピッチピークとして受け付けられる。
タスクT214が隣接するピッチピークを発見した場合、タスクL216は、ターミナルピッチピークと隣接するピッチピークとの間の距離として現在のラグ推定値を計算する。他の場合は、タスクL210aは、(図18Bに示すように)ターミナルピークの反対側に反復し、次いで、(図18C〜図18Fに示すように)隣接するピッチピークが発見されるまで、最小から最大まで、検査すべき他のピッチ分数についてターミナルピークの両側間で交互に行う。ターミナルピッチピークと、最も近接したフレーム境界との間で隣接するピッチピークが発見された場合、そのターミナルピッチピークは隣接するピッチピークとして再標示され、その新しいピークはターミナルピッチピークとして標示される。代替実装形態では、タスクL210は、立上り側の前にターミナルピッチピークの立下り側(すなわち、タスクL100においてすでに探索された側)を探索するように構成される。
分数ラグテストタスクL210がピッチピークの位置を特定しなかった場合、タスクL220は、(たとえば、初期ラグ推定値だけターミナルピーク位置からオフセットされるウィンドウ内で)初期ラグ推定値に従ってターミナルピッチピークに隣接するピッチピークを探索する。図17Bに、サブタスクL222と、L224と、L226と、L228とを含むタスクL220の実装形態L220aのフローチャートを示す。タスクL222は、(黒丸がターミナルピッチピークを示す図19Bに示すように)最終ピークの左側に1つのラグの距離を中心とする幅WL3のウィンドウ内で候補(たとえば、振幅または絶対値に関して最大値を有するサンプル)を発見する。一例では、WL3の値は初期ラグ推定値の0.55倍に等しい。タスクL224は候補サンプルのエネルギーを評価する。たとえば、タスクL224を、候補のエネルギーの測度(たとえば、ピーク対RMSエネルギーなど、フレーム平均エネルギーに対するサンプルエネルギーの比)が対応するしきい値TH3よりも大きい(代替的に、しきい値以上)かどうかを判断するように構成することができる。TH3の例示的な値は、1、1.5、3、および6を含む。
タスクL226は、候補の近傍をターミナルピッチピークの同様の近傍と相関させる。タスクL226は、候補を中心とする長さN2サンプルのセグメントを、ターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。N2の値の例は、10、11、および17サンプルを含む。正規化相関を実行するようにタスクL226を構成することが望ましい。(たとえば、タイミングオフセットおよび/またはサンプリング誤差をなくすために)たとえば、候補の前および後の1サンプルを中心とするセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクL226を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。(相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。)タスクL226はまた、相関結果が対応するしきい値TH4よりも大きい(代替的に、しきい値以上)かどうかを判断する。TH4の例示的な値は、0.75、0.65、および0.45を含む。タスクL224およびタスクL226のテストを、TH3およびTH4の値の異なるセットに従って組み合わせることができる。1つのそのような例では、値のセット、すなわちTH3=1およびTH4=0.75、TH3=1.5およびTH4=0.65、TH3=3およびTH4=0.45、TH3=6(この場合、タスクL226の結果は正とみなされる)のいずれかが正の結果を生成する場合、L224およびL226の結果は正である。
タスクL224およびL226の結果が正の場合、候補は、隣接するピッチピークとして受け付けられ、タスクT228は、このサンプルとターミナルピッチピークとの間の距離として現在のラグ推定値を計算する。タスクL224およびL226は、いずれかの順序でおよび/または互いに並列に実行することができる。タスクL220はまた、タスクL224およびタスクL226のうちの1つのみを含むように実装できる。タスクL220が隣接するピッチピークを発見することなしに終わる場合、(黒丸がターミナルピッチピークを示す、図19Cに示すように)ターミナルピッチピークの立下り側でタスクL220を反復することが望ましい。
タスクL210およびL220のいずれもピッチピークの位置を特定しなかった場合、タスクL230は、ターミナルピッチピークの立上り側でピッチピークのオープンウィンドウ探索を実行する。図17Cに、サブタスクL232と、L234と、L236と、L238とを含むタスクL230の実装形態L230aのフローチャートを示す。ターミナルピッチピークから離れた例示的なある距離D1において開始し、タスクL232は、平均フレームエネルギーに対するエネルギーがしきい値(たとえば、TH1)を超える(代替的に、しきい値以下である)サンプルを発見する。図20Aに、そのような動作を示す。一例では、D1の値は、20サンプルなど、最小許容ラグ値である。タスクL234は、(図20Bに示すように)このサンプルの幅WL4のウィンドウ内で候補(たとえば、振幅または絶対値に関して最大値を有するサンプル)を発見する。一例では、WL4の値は20サンプルに等しい。
タスクL236は、候補の近傍をターミナルピッチピークの同様の近傍と相関させる。タスクL236は、候補を中心とする長さN3サンプルのセグメントを、ターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、N3の値は11サンプルに等しい。正規化相関を実行するようにタスクL326を構成することが望ましい。(たとえば、タイミングオフセットおよび/またはサンプリング誤りをなくすために)たとえば、候補の前および後の1サンプルを中心とするセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクL326を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。(相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。)タスクT326は、相関結果がしきい値TH5を超える(代替的に、しきい値以上である)かどうかを判断する。一例では、TH5の値は0.45に等しい。タスクL236の結果が正の場合、候補は、隣接するピッチピークとして受け付けられ、タスクT238は、このサンプルとターミナルピッチピークとの間の距離として現在のラグ推定値を計算する。他の場合は、タスクL230aは、ピッチピークを発見するか、または探索し尽くすまで、(たとえば、図20Cに示すように、前の探索ウィンドウの左側で開始する)フレームにわたって反復する。
ラグ推定タスクL200が終わったとき、タスクL300は、フレーム中の他のピッチパルスの位置を特定することを実行する。タスクL300は、相関および現在のラグ推定値を使用してより多くのパルスの位置を特定するように実装できる。たとえば、タスクL300を、相関およびサンプル対RMSエネルギー値などの基準を使用して、ラグ推定値の周りの狭いウィンドウ内で最大値サンプルをテストするように構成することができる。ラグ推定タスクL200に比較して、特にターミナルピッチピークに隣接するピークがすでに発見された場合、タスクL300を、より小さい探索ウィンドウおよび/または緩和基準(たとえば、より低いしきい値)を使用するように構成することができる。たとえば、オンセットまたは他の遷移フレームでは、パルス形状は、フレーム内のいくつかのパルスが強相関されないように変化することができ、パルスの振幅が十分に高く、(たとえば、現在のラグ値に従って)ロケーションが補正されている限り、第2のパルスの後のパルスの相関基準を緩和するか、さらには無視することが望ましい。有効なパルスを消失する確率を最小限に抑えることが望ましく、特に大きいラグ値について、フレームの有声部分は極めて尖っていなくてもよい。一例では、方法M300は、フレーム当たり最高8つのピッチパルスを可能にする。
タスクL300は、次のピッチピークのための2つ以上の異なる候補を計算し、これらの候補のうちの1つに従ってピッチピークを選択するように実装できる。たとえば、タスクL300を、サンプル値に基づいて候補サンプルを選択し、相関結果に基づいて候補距離を計算するように構成することができる。図21に、サブタスクL310と、L320と、L330と、L340と、L350とを含むタスクL300の実装形態L302のフローチャートを示す。タスクL310は、候補探索のためのアンカー位置を初期化する。たとえば、最も最近受け付けられたピッチピークの位置を初期アンカー位置として使用するように、タスクL310を構成することができる。タスクL302の第1の反復では、たとえば、アンカー位置は、タスクL200によってターミナルピッチピークに隣接したピッチピークの位置が特定された場合、そのようなピークの位置、または他の場合はターミナルピッチピークの位置とすることができる。また、タスクL310が、(たとえば、1の値に)ラグ乗数mを初期化することが望ましい。
タスクL320は、候補サンプルを選択し、候補距離を計算する。タスクL320を、図22Aに示すウィンドウ内でこれらの候補を探索するように構成することができ、図22Aでは、大きい有界な横線が現在のフレームを示し、左側の大きい垂直線はフレーム始端を示し、右側の大きい垂直線はフレーム終端を示し、ドットはアンカー位置を示し、影つき枠は探索ウィンドウを示す。この例では、ウィンドウは、アンカー位置からの距離が現在のラグ推定値とラグ乗数mの積であるサンプルを中心とし、ウィンドウは、左側(すなわち、時間的に後方)にWSサンプル、右側(すなわち、時間的に前方)に(WS−1)サンプル延びる。
ウィンドウサイズパラメータWSを、現在のラグ推定値の1/5の値に初期化するように、タスクL320を構成することができる。ウィンドウサイズパラメータWSが、12サンプルなど少なくとも最小値を有することが望ましい。代替的に、ターミナルピッチピークに隣接したピッチピークがまだ発見されていない場合、タスクL320が、ウィンドウサイズパラメータWSを現在のラグ推定値の1/2など、場合によってはより大きい値に初期化することが望ましい。
候補サンプルを発見するために、タスクL320は、ウィンドウを探索して最大値を有するサンプルを発見し、このサンプルのロケーションおよび値を記録する。タスクL320を、値が探索ウィンドウ内で最も高い振幅を有するサンプルを選択するように構成することができる。代替的に、タスクL320を、探索ウィンドウ内で、値が最も大きい絶対値または最も高いエネルギーを有するサンプルを選択するように構成することができる。
候補距離は、アンカー位置との相関が最も高い探索ウィンドウ内のサンプルに対応する。このサンプルを発見するために、タスクL320は、ウィンドウ中の各サンプルの近傍をアンカー位置の同様の近傍と相関させ、最大相関結果と対応する距離とを記録する。タスクL320は、各テストサンプルを中心とする長さN4サンプルのセグメントを、アンカー位置を中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、N4の値は11サンプルである。タスクL320が正規化相関を実行することが望ましい。
上述のように、タスクT320を、同じ探索ウィンドウを使用して、候補サンプルと候補距離とを発見するように構成することができる。ただし、タスクT320を、これらの2つの動作について異なる探索ウィンドウを使用するように構成することもできる。図22Bに、タスクL320が、サイズパラメータWS1を有するウィンドウにわたって候補サンプルの探索を実行する一例を示し、図22Cに、タスクL320の同じインスタンスが、異なる値のサイズパラメータWS2を有するウィンドウにわたって候補距離の探索を実行する一例を示す。
タスクL302は、候補サンプルと、候補距離に対応するサンプルとのうちの1つをピッチピークとして選択するサブタスクL330を含む。図23に、サブタスクL334と、L336と、L338とを含むタスクL330の実装形態L332のフローチャートを示す。
タスクL334は、候補距離をテストする。タスクL334は、相関結果をしきい値と比較するように一般に構成される。また、タスクL334が、対応するサンプルのエネルギーに基づく測度(たとえば、フレーム平均エネルギーに対するサンプルエネルギーの比)をしきい値と比較することが望ましい。ただ1つのピッチパルスが識別された場合、タスクL334を、候補距離が少なくとも最小値(たとえば、20サンプルなどの最小許容ラグ値)に等しいことを検証するように構成することができる。図24Aのテーブルの列は、候補距離に対応するサンプルをピッチピークとして受け付けるべきかどうかを判断するためにタスクL334の実装形態によって使用できるパラメータの値に基づく、テスト条件の4つの異なるセットを示す。
タスクL334が候補距離に対応するサンプルをピッチピークとして受け付けた場合、そのサンプルの振幅がより高い(代替的に、絶対値がより大きい)場合にピークロケーションを(たとえば、1サンプルだけ)左側または右側に調整することが望ましい。代替または追加として、そのような場合、タスクL334が、タスクL300のさらなる反復のために、ウィンドウサイズパラメータWSの値をより小さい値(たとえば、10サンプル)に設定する(またはパラメータWS1およびWS2のうちの一方または両方をそのような値に設定する)ことが望ましい。また、新しいピッチピークがフレームについて確認された第2のピッチピークのみである場合、タスクL334が、アンカー位置とピークロケーションとの間の距離として現在のラグ推定値を計算することが望ましい。
タスクL302は、候補サンプルをテストするサブタスクL336を含む。タスクL336を、サンプルエネルギーの測度(たとえば、フレーム平均エネルギーに対するサンプルエネルギーの比)がしきい値を超える(代替的に、しきい値以上である)かどうかを判断するように構成することができる。フレームについていくつのピッチピークが確認されたかに応じて、しきい値を変更することが望ましい。たとえば、フレームについてただ1つのピッチピークが確認された場合、タスクL336が、より低いしきい値(たとえば、T−3)を使用し、フレームについて2つ以上のピッチピークがすでに確認されている場合、より高いしきい値(たとえば、T)を使用することが望ましい。
また、タスクL336が、候補サンプルを第2の確認されたピッチピークとして選択した場合、タスクL336が、ターミナルピッチピークとの相関の結果に基づいて、ピークロケーションを(たとえば、1サンプルだけ)左側または右側に調整することが望ましい。そのような場合、タスクL336を、各そのようなサンプルを中心とする長さN5サンプルのセグメントをターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように構成することができる(一例では、N5の値は11サンプルである)。代替または追加として、そのような場合、タスクL336が、タスクL300のさらなる反復のために、ウィンドウサイズパラメータWSの値をより小さい値(たとえば、10サンプル)に設定する(またはパラメータWS1およびWS2のうちの一方または両方をそのような値に設定する)ことが望ましい。
テストタスクL334およびL336の両方が不合格になった、およびフレームについてただ1つのピッチピークが確認された場合、タスクL302を、(タスクL350を介して)ラグ推定値乗数mの値を増分し、mの新しい値でタスクL320を反復して、新しい候補サンプルと新しい候補距離とを選択し、新しい候補についてタスクL332を繰り返すように構成することができる。
図23に示すように、タスクL336を、候補距離テストタスクL334の不合格のときに実行するように構成することができる。タスクT332の別の実装形態では、候補距離テストタスクL334がタスクL336の不合格のときにのみ実行するように、候補サンプルテストタスクL336を最初に実行するように構成することができる。
タスクL332は、サブタスクL338をも含む。テストタスクL334およびL336の両方が不合格になった、およびフレームについて2つ以上のピッチピークがすでに確認されている場合、タスクL338は、候補の一方または両方の、現在のラグ推定値との一致をテストする。
図24Bに、タスクL338の実装形態L338aのフローチャートを示す。タスクL338aは、候補距離をテストするサブタスクL362を含む。候補距離と現在のラグ推定値との間の絶対差がしきい値未満(代替的に、しきい値以下)である場合、タスクL362は候補距離を受け付ける。一例では、しきい値は3サンプルである。また、タスクL362が、相関結果および/または対応するサンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。1つのそのような例では、相関結果が0.35以上であり、フレーム平均エネルギーに対するサンプルエネルギーの比が0.5以上である場合、タスクL362は、しきい値未満(代替的に、しきい値以下)である候補距離を受け付ける。また、タスクL362が候補距離を受け付けた場合、そのサンプルの振幅がより高い(代替的に、絶対値がより大きい)場合にタスクL362がピークロケーションを(たとえば、1サンプルだけ)左側または右側に調整することが望ましい。
タスクL338aはまた、候補サンプルのラグ一致をテストするサブタスクL364を含む。(A)候補サンプルと最も近接したピッチピークとの間の距離と(B)現在のラグ推定値との間の絶対差がしきい値未満(代替的に、しきい値以下)である場合、タスクL364は候補サンプルを受け付ける。一例では、しきい値は、2サンプルなどの低い値である。また、タスクL364が、候補サンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。1つのそのような例では、候補サンプルがラグ一致テストに合格した場合、およびフレーム平均エネルギーに対するサンプルエネルギーの比が(T−5)以上である場合、タスクL364は、その候補サンプルを受け付ける。
図24Bに示すタスクL338aの実装形態はまた、タスクL364の低いしきい値よりもゆるい限界に対して候補サンプルのラグ一致をテストする別のサブタスクL366を含む。(A)候補サンプルと最も近接した確認されたピークとの間の距離と(B)現在のラグ推定値との間の絶対差がしきい値未満(代替的に、しきい値以下)である場合、タスクL366は候補サンプルを受け付ける。一例では、しきい値は(0.175*ラグ)である。また、タスクL366が、候補サンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。1つのそのような例では、フレーム平均エネルギーに対するサンプルエネルギーの比が(T−3)以上である場合、タスクL366は候補サンプルを受け付ける。
候補サンプルと候補距離の両方がすべてのテストに不合格になった場合、タスクT302は、(タスクT350を介して)ラグ推定値乗数mを増分し、新しい候補サンプルと新しい候補距離とを選択するために新しい値mにおいてタスクL320を反復し、フレーム境界に到達するまで、新しい候補に対してタスクL330を繰り返す。新しいピッチピークが確認されると、フレーム境界に到達するまで、同じ方向に別のピークを探索することが望ましい。この場合、タスクL340は、アンカー位置を新しいピッチピークに移動し、ラグ推定値乗数mの値を1にリセットする。フレーム境界に到達したとき、アンカー位置をターミナルピッチピーク位置に初期化し、タスクL300を反対方向に繰り返すことが望ましい。
1つのフレームから次のフレームへのラグ推定値の大きい低減は、ピッチオーバーフローエラーを示すことがある。そのようなエラーは、現在のフレームのラグ値が最大許容ラグ値を超えるように、ピッチ周波数の降下によって引き起こされる。方法M300は、(たとえば、新しいラグ推定値を計算するとき、または方法の終了時に)前のラグ推定値と現在のラグ推定値との間の絶対差または相対差をしきい値と比較し、エラーが検出された場合、フレームの最も大きいピッチピークのみを保持することが望ましい。一例では、しきい値は、前のラグ推定値の50%に等しい。
大きい絶対値2乗比をもつ2つのパルスを有する過渡として分類されるフレーム(たとえば、一般にワードの終端に向かって、大きいピッチ変化を有するフレーム)の場合、より小さいピークをピッチピークとして受け付ける前に、ごく小さいウィンドウにわたってではなく、現在のラグ推定値全体にわたって相関することが望ましい。そのような場合は、小さいウィンドウにわたってメインピークとよく相関する2次ピークを一般に有する男性ボイスの場合に発生する。タスクL200とL300の一方または両方を、そのような動作を含むように実装することができる。
方法M300のラグ推定タスクL200は、方法M100のラグ推定タスクE130と同じタスクとすることができることに明確に留意されたい。方法M300のターミナルピッチピークロケーションタスクL100は、方法M100のターミナルピッチピーク位置計算タスクE120と同じタスクとすることができることに明確に留意されたい。方法M100とM300の両方が実行される適用の場合、ピッチパルス形状選択タスクE110を方法M300の終結時に実行するように構成することが望ましい。
図27Aに、音声信号のフレームのピッチピークを検出するように構成された装置MF300のブロック図を示す。装置MF300は、(たとえば、タスクL100の様々な実装形態に関して上述したように)フレームのターミナルピッチピークの位置を特定するための手段ML100を含む。装置MF300は、(たとえば、タスクL200の様々な実装形態に関して上述したように)フレームのピッチラグを推定するための手段ML200を含む。装置MF300は、(たとえば、タスクL300の様々な実装形態に関して上述したように)フレームの追加のピッチピークの位置を特定するための手段ML300を含む。
図27Bに、音声信号のフレームのピッチピークを検出するように構成された装置A300のブロック図を示す。装置A300は、(たとえば、タスクL100の様々な実装形態に関して上述したように)フレームのターミナルピッチピークの位置を特定するように構成されたターミナルピッチピークロケータ(pitch peak locator)A310を含む。装置A300は、(たとえば、タスクL200の様々な実装形態に関して上述したように)フレームのピッチラグを推定するように構成されたピッチラグ推定器A320を含む。装置A300は、(たとえば、タスクL300の様々な実装形態に関して上述したように)フレームの追加のピッチピークの位置を特定するように構成された追加のピッチピークロケータA330を含む。
図27Cに、音声信号のフレームのピッチピークを検出するように構成された装置MF350のブロック図を示す。装置MF350は、(たとえば、タスクL100の様々な実装形態に関して上述したように)フレームのピッチピークを検出するための手段ML150を含む。装置MF350は、(たとえば、タスクL320およびL320bの様々な実装形態に関して上述したように)候補サンプルを選択するための手段ML250を含む。装置MF350は、(たとえば、タスクL320およびL320aの様々な実装形態に関して上述したように)候補距離を選択するための手段ML260を含む。装置MF350は、(たとえば、タスクL330の様々な実装形態に関して上述したように)候補サンプルと候補距離に対応するサンプルとのうちの1つをフレームのピッチピークとして選択するための手段ML350を含む。
図27Dに、音声信号のフレームのピッチピークを検出するように構成された装置A350のブロック図を示す。装置A350は、(たとえば、タスクL100の様々な実装形態に関して上述したように)フレームのピッチピークを検出するように構成されたピーク検出器150を含む。装置A350は、(たとえば、タスクL320およびL320bの様々な実装形態に関して上述したように)候補サンプルを選択するように構成されたサンプルセレクタ250を含む。装置A350は、(たとえば、タスクL320およびL320aの様々な実装形態に関して上述したように)候補距離を選択するように構成された距離セレクタ260を含む。装置A350は、(たとえば、タスクL330の様々な実装形態に関して上述したように)候補サンプルと候補距離に対応するサンプルとのうちの1つをフレームのピッチピークとして選択するように構成されたピークセレクタ350を含む。
フレームのターミナルピッチパルスの位置を一意に示す符号化フレームを生成するためにタスクE100、第1のフレーム符号器100、および/または手段FE100を実装することが望ましい。ターミナルピッチパルスの位置は、ラグ値と組み合わせられて、そのような時間同期性情報(time-synchrony information)(たとえば、QPPP)がないことがある後続のフレームに重要な位相情報を与える。また、そのような情報を搬送するために必要なビット数を最小限に抑えることが望ましい。通常、160ビット(Nビット)フレーム中の一意の位置を表すために8ビット(
)のうちの1つを確保する。
最後のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、フレームは、以下の3つのケースのうちの1つに一致することになる。
ビット(7ビット)に符号化され、ピッチラグも(たとえば、7ビットで)送信される。
ビット(たとえば、7ビット)に符号化され、ピッチラグはモード値(たとえば、127)に設定される。
よりも大きい(たとえば、図29Bに示す160ビットフレームの場合、126よりも大きい)場合、フレームが2つ以上のピッチパルスを含んでいる可能性はない。160ビットフレームおよび8kHzのサンプリングレートの場合、これは、フレームの最初の約20パーセントにおいて少なくとも250Hzのピッチにおけるアクティビティがあり、フレームの残りにおいてピッチパルスがないことを暗示するであろう。そのようなフレームがオンセットフレームとして分類される可能性はないであろう。この場合、数
のパルス位置を示すかどうかをテストするように、対応する復号器を構成することができる。そうであれば、復号器は、ラグビットからフレームの第1のサンプルに関するターミナルピッチパルスの位置を代わりに得ることができる。
160ビットフレームに適用されるケース3では、33個のそのような位置(すなわち、0〜32)が考えられる。その位置のうちの1つを別の位置に丸めることによって(たとえば、位置159を位置158に丸めることによって、または位置127を位置128に丸めることによって)、実際の位置を5つのビットのみで送信することができ、7つのラグビットのうちの2つは他の情報を自由に搬送することができるようになる。
図28に、上記の3つのケースに従って動作する方法M500の一般的構成によるフローチャートを示す。方法M500は、qビットフレーム中のターミナルピッチパルスの位置をrビットを使用して符号化するように構成され、rはlog2 q未満である。上述の一例では、qは160に等しく、rは7に等しい。方法M500は、タスクE100の実装形態内で(たとえば、タスクE120内で)、第1のフレーム符号器100の実装形態によって(たとえば、ピッチパルス位置計算器120によって)、および/または手段FE100の実装形態によって(たとえば、手段FE120によって)実行できる。
方法M500は、タスクT510、T520、およびT530を含む。タスクT510は、(フレームの終端に対する)ターミナルピッチパルス位置が(2r−2)よりも大きい(たとえば、126よりも大きい)かどうかを判断する。その結果が真である場合、フレームは上記のケース3に一致する。この場合、タスクT520は、ターミナルピッチパルス位置ビットを(2r−1)に(たとえば、127に)設定し、ラグビットをフレームの始端に対するターミナルピッチパルスの位置に等しく設定する。
タスクT510の結果が偽である場合、タスクT530は、フレームが1つのピッチパルスのみを含んでいるかどうかを判断する。タスクT530の結果が真である場合、フレームは上記のケース2に一致し、ラグ値を送信する必要はない。この場合、タスクT540は、ラグビットをモード値(2r−1)に設定する。
タスクT530の結果が偽である場合、フレームは2つ以上のピッチパルスを含んでおり、フレームの終端に対するターミナルピッチパルスの位置は(2r−2)以下(たとえば、126以下)である。そのようなフレームは上記のケース1に一致し、タスクT550は、その位置をrビットで符号化し、ラグ値をラグビットに符号化する。
第1のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、フレームは、以下の3つのケースのうちの1つに一致することになる。
ビット(たとえば、7ビット)に符号化され、ピッチラグも(たとえば、7ビットで)送信される。
(たとえば、127)に設定される。
以下(たとえば、図29Dに示す160ビットフレームの場合、32以下)である場合、フレームが2つ以上のピッチパルスを含んでいる可能性はない。160ビットフレームおよび8kHzのサンプリングレートの場合、これは、フレームの最初の約20パーセントにおいて少なくとも250Hzのピッチにおけるアクティビティがあり、フレームの残りにおいてピッチパルスがないことを暗示するであろう。そのようなフレームがオンセットフレームとして分類される可能性はないであろう。この場合、数
のパルス位置を示すかどうかをテストするように、対応する復号器を構成することができる。そうであれば、復号器は、ラグビットからフレームの第1のサンプルに関するターミナルピッチパルスの位置を代わりに得ることができる。
160ビットフレームに適用されるケース3では、33個のそのような位置(0〜32)が考えられる。その位置のうちの1つを別の位置に丸めることによって(たとえば、位置0を位置1に丸めることによって、または位置32を位置31に丸めることによって)、実際の位置を5つのビットのみで送信することができ、7つのラグビットのうちの2つは他の情報を自由に搬送することができるようになる。第1のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、方法M500を変更することができることを当業者は認識されよう。
1/4レートはフレーム当たり40ビットを可能にする。符号化タスクE100、符号器100、または手段FE100の実装形態によって適用される遷移フレーム符号化フォーマットの一例では、17ビットの領域を使用してLSPおよび符号化モードを示し、7ビットの領域を使用してターミナルピッチパルスの位置を示し、7ビットの領域を使用してラグを示し、7ビットの領域を使用してパルス形状を示し、2ビットの領域を使用して利得プロファイルを示す。他の例では、LSPのための領域がより小さく、利得プロファイルのための領域が相応してより大きいフォーマットを含む。
示されたパルスをターミナルピッチパルスロケーションとラグ値とによって示されるロケーションの各々にコピーし、得られた信号を利得VQテーブル出力に従ってスケーリングすることによって、パルス形状VQテーブル出力から励起信号を構成するように、対応する復号器(たとえば、復号器300または手段FD100の実装形態あるいは復号タスクD100の実装形態を実行しているデバイス)を、構成することができる。示されたパルスがラグ値よりも長い場合、隣接するパルス間の重複を、重複した値の各ペアを平均化することによって、各ペアのうちの一方の値(たとえば、最高値もしくは最低値、または左側のパルスもしくは右側のパルスに属する値)を選択することによって、あるいは単にラグ値を越えるサンプルを廃棄することによって処理することができる。
励起信号のピッチパルスは単にインパルスまたはスパイク(spikes)ではない。そうではなく、ピッチパルスは、典型的に、話者依存である時間にわたる振幅プロファイルまたは形状を有し、この形状を保持することが話者認識にとって重要である。後続の有声フレームのための基準(たとえば、プロトタイプ)として役立つようにパルス形状の良好な表現を符号化することが望ましい。
ピッチパルスの形状は、話者特定および認識にとって知覚的に重要な情報を与える。この情報を復号器に与えるために、(たとえば、タスクE100、符号器100、または手段FE100の実装形態によって実行される)遷移フレーム符号化モードを、パルス形状情報を符号化フレーム中に含めるように構成することができる。パルス形状を符号化することが、次元が可変であるベクトルを量子化するという問題を提示することがある。たとえば、残差中のピッチ周期の長さ、したがってピッチパルスの長さは、広範囲にわたって変化することがある。一例では、許容ピッチラグ値は20サンプルから146サンプルまで変動する。
ピッチパルスを周波数領域に変換することなしに、そのパルスの形状を符号化することが望ましい。図30に、タスクE100の実装形態内で(たとえば、タスクE110内で)、第1のフレーム符号器100の実装形態によって(たとえば、ピッチパルス形状セレクタ110によって)、および/または手段FE100の実装形態によって(たとえば、手段FE110によって)実行できる、一般的構成による、方法M600のフローチャートを示す。方法M600は、タスクT610、T620、T630、T640、およびT650を含む。タスクT610は、フレームが単一のピッチパルスを有するか、または複数のピッチパルスを有するかに応じて、2つの処理経路のうちの一方を選択する。
単一パルスフレームの場合、タスクT620は、フレーム内のピッチパルスの位置に従って様々な単一パルスベクトル量子化(VQ)テーブルのセットのうちの1つを選択する。これらのテーブルの各々は、フレームの長さ(たとえば、160サンプル)に等しいベクトル次元を有する。一例では、単一パルスVQテーブルのセットは3つのテーブルを含む。次いで、タスクT630は、選択されたVQテーブル内で最良の一致を発見することによって、パルス形状を量子化する。
1つの特定の例では、そのような符号化システムは、単一パルスフレームに対して3つのパルス形状VQテーブルを含む。各テーブルは、パルス形状が7ビットインデックスとして符号化されるように、各々の長さが160の128個のエントリを有する。
パルス位置の値がモード値(たとえば、127)に等しい場合にフレームを単一パルスとして識別するように、対応する復号器(たとえば、復号器300または手段FD100の実装形態あるいは復号タスクD100の実装形態を実行するデバイス)を構成することができる。代替または追加として、ラグ値がモード値(たとえば、127)に等しい場合にフレームを単一パルスとして識別するように、そのような復号器を構成することができる。
複数パルスフレームの場合、最大利得(たとえば、最高のピーク)をもつピッチパルスを抽出するように、タスクT640を構成することができる。パルスを抽出したとき、ピークが、1つまたは複数の重要なサンプルの不連続および/または欠損をもたらすことがある、抽出されたパルスの第1のサンプルまたは最後のサンプルではないことを確認することが望ましい。場合によっては、ピーク後の情報はピーク前の情報よりも音声品質にとって重要であり、したがってピークが始端の近くになるようにパルスを抽出することが望ましい。一例では、タスクT640は、ピッチピークより2サンプル前に開始するピッチ周期から形状を抽出する。そのような手法により、ピーク後に発生し、重要な形状情報を含んでいる可能性があるサンプルをキャプチャすることが可能になる。別の例では、同じく重要な情報を含んでいる可能性がある、ピーク前のより多くのサンプルをキャプチャすることが望ましい。さらなる一例では、タスクT640は、ピークを中心とするピッチ周期を抽出するように構成される。フレームから2つ以上のピッチパルスを抽出し、最高利得をもつ2つ以上のピッチパルスから平均形状を計算することが望ましい。形状選択を実行する前にパルス振幅を正規化することが望ましい。
複数パルスフレームの場合、タスクT650は、ラグ値(または抽出されたプロトタイプの長さ)に基づいてパルス形状VQテーブルを選択し、次いで、選択されたテーブルから最良の一致を選択する。複数パルスフレームを符号化するために9個または10個のパルス形状VQテーブルを与えることが望ましい。各テーブルは、異なるベクトル次元を有し、異なるラグ範囲または「ビン(bin)」に関連する。パルスの長さはテーブルエントリの長さに正確に一致しないので、テーブルから最良の一致を選択する前に、対応するテーブルベクトルサイズに一致するように、形状ベクトルを(たとえば、終端において)ゼロパディングするように、タスクT650を構成することができる。代替または追加として、テーブルから最良の一致を選択する前に、対応するテーブルベクトルサイズに一致するように、形状ベクトルの端を打ち切るように、タスクT650を構成することができる。一例では、パルス形状が7ビットインデックスとして符号化されるように、複数パルスパルス形状VQテーブルの各々は128個のエントリを有する。
符号化フレームからラグ値とパルス形状インデックス値とを得、ラグ値を使用して適切なパルス形状VQテーブルを選択し、パルス形状インデックス値を使用して選択されたパルス形状VQテーブルから所望のパルス形状を選択するように、対応する復号器(たとえば、復号器300または手段FD100の実装形態あるいは復号タスクD100の実装形態を実行するデバイス)を構成することができる。
可能な(許容)ラグ値の範囲を均一な様式でまたは不均一な様式でビンに分割することができる。図31Aに示す均一な分割の一例では、20〜146サンプルのラグ範囲は、20〜33、34〜47、48〜61、62〜75、76〜89、90〜103、104〜117、118〜131、および132〜146の9つのビンに分割される。この例では、最後のビンを除くすべてのビンは14サンプルの幅を有し、最後のビンは15サンプルの幅を有する。
上記の均一な分割では、低いピッチ周波数における品質に比較して、高いピッチ周波数における品質が低くなることがある。上記の例では、長さが20サンプルのピッチパルスは、一致の前に65%だけ延長される(たとえば、ゼロパディングされる)が、長さが132サンプルのピッチパルスは、わずか11%だけ延長される(たとえば、ゼロパディングされる)ことになる。不均一な分割を使用することの1つの潜在的な利点は、異なるラグビン間で最大相対延長を等化することである。図31Bに示す不均一な分割の一例では、20〜146サンプルのラグ範囲は、20〜23、24〜29、30〜37、38〜47、48〜60、61〜76、77〜96、97〜120、および121〜146の9つのビンに分割される。この場合、長さが20サンプルのピッチパルスは、一致の前に15%だけ延長され(たとえば、ゼロパディングされ)、長さが121サンプルのピッチパルスは、21%だけ延長され(たとえば、ゼロパディングされ)、20〜146サンプルの範囲中のピッチパルスの最大延長は25%である。
一構成による音声符号器は、(たとえば、音声符号器AE20の実装形態によれば)上述の1/4レートNELP(QNELP)符号化方式、1/4レートPPP(QPPP)符号化方式、および遷移フレーム符号化方式の3つまたは4つの符号化方式を使用して、異なるクラスのフレームを符号化する。QNELP符号化方式は、無声フレームおよび立下り過渡フレームを符号化するために使用される。QNELP符号化方式、または1/8レートNELP符号化方式は、無音フレーム(たとえば、背景雑音)を符号化するために使用される。QPPP符号化方式は、有声フレームを符号化するために使用される。遷移フレーム符号化方式は、立上り過渡(すなわち、オンセット)フレームおよび過渡フレームを符号化するために使用される。図26のテーブルに、これらの4つの符号化方式の各々に対するビット割振りの例を示す。
現代のボコーダは、一般に音声フレームの分類を実行する。たとえば、そのようなボコーダは、無音、無声、有声、過渡、立下り過渡、および立上り過渡の、上述した6つの異なるクラスのうちの1つとしてフレームを分類する方式に従って動作することができる。そのような方式の例が米国特許出願公開第2002/0111798号(Huang)に記載されている。また、そのような分類方式の一例が、3GPP2(第3世代パートナーシッププロジェクト2)文書「Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems」(3GPP2 C.S0014−C、2007年1月、www.3gpp2.orgでオンライン入手可能)のセクション4.8(pp.4−57〜4−71)に記載されている。この方式は、図32のテーブル中に記載された特徴を使用してフレームを分類しており、このセクションは、本明細書で説明する「EVRC分類方式」の一例として参照により組み込まれる。
上式で、sL(n)およびsH(n)は、それぞれ入力音声信号の(12次極零型低域フィルタ(12th order pole-zero low-pass filter)を使用して)低域フィルタ処理されたバージョンおよび入力音声信号の(12次極零型高域フィルタ(12th order pole-zero high-pass filter)を使用して)高域フィルタ処理されたバージョンである。EVRC分類方式において使用できる他の特徴は、前のフレームモード決定(「prev_mode」)と、前のフレーム中の固定有声音声の存在(「prev_voiced」)と、現在のフレームのボイスアクティビティ検出結果(「curr_va」)とを含む。
分類方式において使用される重要な特徴は、ピッチベースの正規化自己相関関数(NACF)である。図33に、ピッチベースのNACFを計算するためのプロシージャのフローチャートを示す。最初に、現在のフレームと(ルックアヘッドフレームとも呼ばれる)次のフレームとのLPC残差を、約100Hzにおいて3dBカットオフ周波数を有する3次高域フィルタを通してフィルタ処理する。非量子化LPC係数値を使用して、この残差を計算することが望ましい。次いで、フィルタ処理された残差を、長さ13の有限インパルス応答(FIR)フィルタを用いて低域フィルタ処理し、係数2でデシメートする。デシメートした信号をrd(n)によって示す。
のように、最大化をすべての整数iにわたって行う。上式で、lag(k)はピッチ推定ルーチン(たとえば、相関ベースの技法)によって推定されるサブフレームkに対するラグ値である。また、現在のフレームの第1および第2のサブフレームに対するこれらの値を、それぞれnacf_at_pitch[2](「nacf_ap[2]」とも書かれる)およびnacf_ap[3]として参照する。前のフレームの第1および第2のサブフレームに対して上式に従って計算したNACF値を、それぞれnacf_ap[0]およびnacf_ap[1]として参照する。
のように、最大化をすべての整数iにわたって行う。また、この値をnacf_ap[4]として参照する。
図34は、ハイレベルでのEVRC分類方式を示すフローチャートである。モード決定は、前のモード決定とNACFなどの特徴とに基づく状態間の遷移として考えられ、状態は、異なるフレーム分類である。図35は、EVRC分類方式での状態間の可能な遷移を示す状態図であり、ラベルS、UN、UP、TR、V、およびDOWNは、それぞれ無音、無声、立上り過渡、過渡、有声、および立下り過渡のフレーム分類を示す。
(現在のフレームの第2のサブフレームのNACFで、「nacf_ap[2]」とも書かれる)nacf_at_pitch[2]と、しきい値VOICEDTHおよびUNVOICEDTHとの間の関係に応じて、3つの異なるプロシージャのうちの1つを選択することによってEVRC分類方式を実装することができる。図36および図37にわたるコードリストに、nacf_ap[2]>VOICEDTHのときに使用することができるプロシージャを記載する。図38〜図40にわたるコードリストに、nacf_ap[2]<UNVOICEDTHのときに使用することができるプロシージャを記載する。図41〜図44にわたるコードリストに、nacf_ap[2]≧UNVOICEDTHおよびnacf_ap[2]≦VOICEDTHのときに使用することができるプロシージャを記載する。
特徴curr_ns_snrの値に従ってしきい値VOICEDTH、LOWVOICEDTHおよびUNVOICEDTHの値を変化させることが望ましい。たとえば、curr_ns_snrの値がSNRしきい値25dB以上である場合、明瞭な音声に対するしきい値VOICEDTH=0.75、LOWVOICEDTH=0.5、UNVOICEDTH=0.35を適用し、curr_ns_snrの値がSNRしきい値25dB未満である場合、雑音が多い音声に対するしきい値VOICEDTH=0.65、LOWVOICEDTH=0.5、UNVOICEDTH=0.35を適用することができる。
フレームの正確な分類は、低レートボコーダの良好な品質を保証するのに特に重要である。たとえば、オンセットフレームが少なくとも1つの別個のピークまたはパルスを有する場合のみ、本明細書で説明する遷移フレーム符号化モードを使用することが望ましい。そのような特徴は確実なパルス検出にとって重要であり、それがなければ、遷移フレーム符号化モードは歪められた結果を生成することがある。PPPまたは遷移フレーム符号化方式ではなくNELP符号化方式を使用して、少なくとも1つの別個のピークまたはパルスがないフレームを符号化することが望ましい。たとえば、そのような過渡フレームまたは立上り過渡フレームを無声フレームとして再分類することが望ましい。
そのような再分類は、1つまたは複数の正規化自己相関関数(NACF)値および/または他の特徴に基づくことができる。再分類はまた、フレームのピーク対RMSエネルギー値(「最大サンプル/RMSエネルギー」)および/またはフレーム中のピッチパルスの実際の数(「ピーク数」)など、EVRC分類方式に使用されない特徴に基づくことができる。図45のテーブルに示す8個の条件のうちのいずれか1つまたは複数、および/または図46のテーブルに示す10個の条件のうちのいずれか1つまたは複数は、立上り過渡フレームを無声フレームとして再分類するために使用される。図47のテーブルに示す11個の条件のうちのいずれか1つまたは複数、および/または図48のテーブルに示す11個の条件のうちのいずれか1つまたは複数は、過渡フレームを無声フレームとして再分類するために使用される。図49のテーブルに示す4つの条件のうちのいずれか1つまたは複数は、有声フレームを無声フレームとして再分類するために使用される。また、そのような再分類を低帯域雑音が比較的ないフレームに限定することが望ましい。たとえば、図46、図48、または図49の条件のいずれかに従って、あるいは、curr_ns_snrの値が25dB以上である場合のみ、図47の7つの右端の条件のいずれかに従って、フレームを再分類することが望ましい。
逆に、少なくとも1つの別個のピークまたはパルスを含む無声フレームを立上り過渡フレームまたは過渡フレームとして再分類することが望ましい。そのような再分類は、1つまたは複数の正規化自己相関関数(NACF)値および/または他の特徴に基づくことができる。また、再分類は、フレームのピーク対RMSエネルギー値および/またはピーク数など、EVRC分類方式において使用されない特徴に基づくことができる。図50のテーブルに示す7つの条件のうちのいずれか1つまたは複数は、無声フレームを立上り過渡フレームとして再分類するために使用される。図51のテーブルに示す9つの条件のうちのいずれか1つまたは複数は、無声フレームを過渡フレームとして再分類するために使用される。図52Aのテーブルに示す条件は、立下り過渡フレームを有声フレームとして再分類するために使用される。図52Bのテーブルに示す条件は、立下り過渡フレームを過渡フレームとして再分類するために使用される。
フレーム再分類の代替として、EVRC分類方式などのフレーム分類の方法は、EVRC分類方式と、上述したおよび/または図45〜図52Bに示す再分類条件のうちの1つまたは複数との組合せに等しい分類結果を生成するように変更できる。
図53に、音声符号器AE20の実装形態AE30のブロック図を示す。図36〜図44のコードリストで説明するEVRC分類方式などの分類方式を適用するように、符号化方式セレクタC200を構成することができる。音声符号器AE30は、上述したおよび/または図45〜図52Bに示す条件のうちの1つまたは複数に従って、フレームを再分類するように構成されたフレーム再分類器RC10を含む。フレーム分類、および/または符号化方式セレクタC200からの他のフレーム特徴の値を受信するように、フレーム再分類器RC10を構成することができる。また、追加のフレーム特徴(たとえば、ピーク対RMSエネルギー値、ピーク数)の値を計算するように、フレーム再分類器RC10を構成することができる。代替的に、EVRC分類方式と、上述したおよび/または図45〜図52Bに示す再分類条件のうちの1つまたは複数との組合せに等しい分類結果を生成する符号化方式セレクタC200の実装形態を含むように、音声符号器AE30を実装することができる。
図54Aに、音声符号器AE10の実装形態AE40のブロック図を示す。音声符号器AE40は、周期フレームを符号化するように構成された周期フレーム符号器E70と、非周期フレームを符号化するように構成された非周期フレーム符号器E80とを含む。たとえば、音声符号器AE40は、有声、過渡、立上り過渡、または立下り過渡として分類されたフレームの場合は周期フレーム符号器E70を選択し、無声または無音として分類されたフレームの場合は非周期フレーム符号器E80を選択するように、セレクタ60a、60bに指示するように構成された符号化方式セレクタC200の実装形態を含むことができる。
図54Bに、周期フレーム符号器E70の実装形態E72のブロック図を示す。符号器E72は、本明細書で説明する第1のフレーム符号器100の実装形態と、第2のフレーム符号器200の実装形態とを含む。符号器E72はまた、符号化方式セレクタC200からの分類結果に従って現在のフレームに対して、符号器100および200のうちの1つを選択するように構成されたセレクタ80a、80bを含む。第2のフレーム符号器200(たとえば、QPPP符号器)を周期フレームに対するデフォルトの符号器として選択するように、周期フレーム符号器を構成することが望ましい。無声フレーム符号器(たとえば、QNELP符号器)と無音フレーム符号器(たとえば、1/8レートNELP符号器)とのうちの1つを選択するように、非周期フレーム符号器E80を同様に実装することができる。代替的に、非周期フレーム符号器E80を無声フレーム符号器UE10のインスタンスとして実装することができる。
図55に、周期フレーム符号器E72の実装形態E74のブロック図を示す。符号器E74は、上述したおよび/または図45〜図52Bに示す条件のうちの1つまたは複数に従ってフレームを再分類し、再分類の結果に従って現在のフレームに対して符号器100および200のうちの1つを選択するようにセレクタ80a、80bを制御するように構成されたフレーム再分類器RC10のインスタンスを含む。さらなる一例では、フレーム再分類器RC10を含むか、あるいは、EVRC分類方式と、上述したおよび/または図45〜図52Bに示す再分類条件のうちの1つまたは複数との組合せに等しい分類方式を実行し、そのような分類または再分類によって示される第1のフレーム符号器100を選択するように、符号化方式セレクタC200を構成することができる。
上述の遷移フレーム符号化モードを使用して過渡フレームおよび/または立上り過渡フレームを符号化することが望ましい。図56A〜図56Dに、本明細書で説明する遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す。これらの例では、遷移フレーム符号化モードの使用を、典型的に輪郭を太く描いたフレームとして示す。そのような符号化モードは典型的に、比較的一定のピッチ周期およびシャープなパルスを有する完全な有声フレーム、または、部分的な有声フレームに対して適切に機能する。ただし、フレームにシャープなパルスがないとき、またはフレームが発声の実際のオンセットに先行するとき、復号された音声の品質が低くなることがある。場合によっては、遷移フレーム符号化モードの使用をスキップまたはキャンセルするか、あるいは、さもなければこの符号化モードの使用を後のフレーム(たとえば、後続のフレーム)まで遅延させることが望ましい。
パルス検出失敗が、ピッチ誤り、パルスの消失、および/または外来パルスの挿入を引き起こすことがある。そのような誤りが、復号された音声中にポップ、クリックおよび/または他の不連続などのひずみをもたらすことがある。したがって、フレームが遷移フレーム符号化に好適であることを検証することが望ましく、フレームが好適でないとき、遷移フレーム符号化モードの使用をキャンセルすることがそのような問題を低減するのに役立つ。
過渡フレームまたは立上り過渡フレームが遷移フレーム符号化モードに好適でないことが判断されることがある。たとえば、フレームに、別個のシャープなパルスがないことがある。このような場合、遷移フレーム符号化モードを使用して、好適でないフレームの後に続く第1の好適な有声フレームを符号化することが望ましい。たとえば、オンセットフレームに別個のシャープなパルスがない場合、後に続く第1の好適な有声フレームに対して遷移フレーム符号化を実行することが望ましい。そのような技法は、後続の有声フレームに対する良好な基準を保証するのに役立つ。
場合によっては、遷移フレーム符号化モードの使用は、パルス利得不一致問題および/またはパルス形状不一致問題にもたらす。限られた数のビットしかこれらのパラメータを符号化するために利用可能ではなく、遷移フレーム符号化が別様に示されているが、現在のフレームが良好な基準を与えないことがある。遷移フレーム符号化モードの不要な使用をキャンセルすることが、そのような問題を低減するのに役立つ。したがって、遷移フレーム符号化モードが現在のフレームにとって別の符号化モードよりも好適であることを検証することが望ましい。
遷移フレーム符号化の使用をスキップまたはキャンセルした場合、遷移フレーム符号化モードを使用して後に続く第1の好適なフレームを符号化する行為が、後続の有声フレームに良好な基準を与えるのに役立つので、そのような行為を行うことが望ましい。たとえば、まさにその次のフレームが少なくとも部分的に有声である場合、そのフレームに対して遷移フレーム符号化を強制することが望ましい。
遷移フレーム符号化のニーズ、および/または遷移フレーム符号化に対するフレームの適合性は、現在のフレーム分類、前のフレーム分類、(たとえば、相関ベースの技法などのピッチ推定ルーチンによって判断された)初期ラグ値、(たとえば、方法M200などのパルス検出動作によって判断された)変更されたラグ値、前のフレームのラグ値、および/またはNACF値などの基準に基づいて判断できる。
良好な基準なしにQPPPを使用した結果は予測不可能であるので、有声セグメントの始端の近くで遷移フレーム符号化モードを使用することが望ましい。ただし、場合によっては、QPPPは、遷移フレーム符号化モードよりも良好な結果を与えることが予想される。たとえば、場合によっては、遷移フレーム符号化モードの使用は、不良基準を生じるか、またはQPPPを使用することよりも好ましくない結果を引き起こすことさえ予想される。
遷移フレーム符号化が現在のフレームに不要である場合、遷移フレーム符号化をスキップすることが望ましい。そのような場合、(たとえば、QPPPの連続性を保持するために)QPPPなどの有声符号化モードにデフォルト設定されることが望ましい。遷移フレーム符号化モードの不要な使用は、(たとえば、これらの特徴に対する限定されたビットバジェットにより)後のフレームにおけるパルス利得および/またはパルス形状の不一致の問題をもたらすことがある。QPPPなど、限定された時間同期性を有する有声符号化モードは、特にそのような誤りに反応することができる。
遷移フレーム符号化方式を使用してフレームを符号化した後、符号化結果を検査し、符号化結果が不良である場合、フレームに対する遷移フレーム符号化の使用を除去することが望ましい。大部分が無声であり、終端の近くでのみ有声になるフレームの場合、遷移符号化モードを、パルスなしに無声部分を(たとえば、0または低い値として)符号化するように構成し、遷移符号化モードを、無声部分の少なくとも一部をパルスで充填するように構成することができる。無声部分がパルスなしに符号化された場合、フレームは復号された信号中に可聴クリックまたは不連続を生成することがある。そのような場合、NELP符号化方式をフレームに対して代わりに使用することが望ましい。ただし、ひずみを引き起こすことがある有声セグメントに対するNELPの使用を避けることが望ましい。遷移符号化モードがフレームに対してキャンセルされた場合、たいていの場合、無声符号化モード(たとえば、QNELP)ではなく有声符号化モード(たとえば、QPPP)を使用してフレームを符号化することが望ましい。上述のように、遷移符号化モードを使用するという選択を、遷移符号化モードと有声符号化モードとの間の選択として実装することができる。良好な基準なしにQPPPを使用した結果は予測不可能である(たとえば、フレームの位相は、先行する無声フレームから導出されることになる)が、復号された信号中にクリックまたは不連続を生成する可能性はない。そのような場合、遷移符号化モードの使用は、次のフレームまで延期されることがある。
フレーム間のピッチ不連続が検出されたとき、フレームに対して遷移符号化モードを使用するという決定をオーバーライドすることが望ましい。一例では、タスクT710は、前のフレームとのピッチ連続性について検査する(たとえば、ピッチ2倍誤りについて検査する)。フレームが有声または過渡として分類され、パルス検出ルーチンによって現在のフレームに対して示されたラグ値が、パルス検出ルーチンによって前のフレームに対して示されたラグ値よりもはるかに小さい(たとえば、その約1/2、1/3、または1/4である)場合、タスクは、遷移符号化モードを使用するという決定をキャンセルする。
別の例では、タスクT720は、前のフレームに比較してピッチオーバーフローについて検査する。音声が最大許容ラグよりも高いラグ値を生じる極めて低いピッチ周波数を有するとき、ピッチオーバーフローが発生する。前のフレームに対するラグ値が大きく(たとえば、100サンプルよりも多く)、ピッチ推定ルーチンとパルス検出ルーチンとによって現在のフレームに対して示されたラグ値が、両方とも前のピッチよりもはるかに小さい(たとえば、その50%よりも小さい)場合、遷移符号化モードを使用するという決定をキャンセルするように、そのようなタスクを構成することができる。そのような場合、また、フレームの最も大きいピッチパルスのみを単一パルスとして保持することが望ましい。代替的に、前のラグ推定値と、有声および/または相対符号化モード(たとえば、タスクE200、QPPP)とを使用してフレームを符号化することができる。
2つの異なるルーチンからの結果の間の不整合が検出されたとき、フレームに対して遷移符号化モードを使用するという決定をオーバーライドすることが望ましい。一例では、タスクT730は、強いNACFの存在下でのピッチ推定ルーチンとパルス検出ルーチンとからのラグ値の整合性について検査する。第2のパルスのピッチにおける極めて高いNACFが良好なピッチ推定値を示すので、2つのラグ推定値間の不整合が予期しないものとなる。パルス検出ルーチンからのラグ推定値がピッチ推定ルーチンからのラグ推定値とは極めて異なる(たとえば、その1.6倍よりも大きい)場合、遷移符号化モードを使用するという決定をキャンセルするように、そのようなタスクを構成することができる。
別の例では、タスクT740は、ラグ値とターミナルパルスの位置との間の一致について検査する。(ピーク間の距離の平均とすることができる)ラグ推定値を使用して符号化された、ピーク位置のうちの1つまたは複数が、対応する実際のピーク位置とはあまりに異なるとき、遷移フレーム符号化モードを使用するという決定をキャンセルすることが望ましい。ターミナルパルスの位置とパルス検出ルーチンによって計算されたラグ値とを使用して、再構成されたピッチパルス位置を計算し、再構成された位置の各々をパルス検出アルゴリズムによって検出された実際のピッチピーク位置と比較し、差のいずれかが大きすぎる(たとえば、8サンプルよりも大きい)場合、遷移フレーム符号化を使用するという決定をキャンセルするように、タスクT740を構成することができる。
さらなる一例では、タスクT750は、ラグ値とパルス位置との間の一致について検査する。最終ピッチピークが最終フレーム境界から2つ以上のラグ周期だけ離れている場合、遷移フレーム符号化を使用するという決定をキャンセルするように、そのようなタスクを構成することができる。たとえば、最終ピッチパルスの位置とフレームの終端との間の距離が最終ラグ推定値(たとえば、ラグ推定タスクL200および/または方法M300によって計算されたラグ値)よりも大きい場合、遷移フレーム符号化を使用するという決定をキャンセルするように、そのようなタスクを構成することができる。そのような条件は、パルス検出失敗、またはまだ安定していないラグを示すことができる。
現在のフレームが2つのパルスを有し、過渡フレームとして分類された場合、および2つのパルスのピークの2乗絶対値の比が大きい場合、ラグ値全体にわたって2つのパルスを相関させ、相関結果が対応するしきい値よりも大きくなければ(代替的に、しきい値以上でなければ)より小さいピークを除去することが望ましい。また、より小さいピークが除去された場合、フレームに対して遷移フレーム符号化モードを使用するという決定をキャンセルすることが望ましい。
図57に、フレームに対して遷移フレーム符号化を使用するという決定をキャンセルするために使用できる2つのルーチンのコードリストを示す。このリストで、mod_lagは、パルス検出ルーチンからのラグ値を示し、orig_lagは、ピッチ推定ルーチンからのラグ値を示し、pdelay_transient_codingは、前のフレームに対するパルス検出ルーチンからのラグ値を示し、PREV_TRANSIENT_FRAME_Eは、遷移符号化モードが前のフレームに対して使用されたかどうかを示し、loc[0]は、フレームの最終ピッチピークの位置を示す。
図58に、遷移フレーム符号化を使用するという決定をキャンセルするために使用できる4つの異なる条件を示す。このテーブルで、curr_modeは、現在のフレーム分類を示し、prev_modeは、前のフレームに対するフレーム分類を示し、number_of_pulsesは、現在のフレーム中のパルスの数を示し、prev_no_of_pulsesは、前のフレーム中のパルスの数を示し、pitch_doublingは、ピッチ2倍誤りが現在のフレーム中で検出されたかどうかを示し、delta_lag_intraは、ピッチ推定ルーチンとパルス検出ルーチンとからのラグ値間の差の(たとえば、整数の)絶対値(または、ピッチ2倍が検出された場合、ピッチ推定ルーチンからのラグ値の半分と、パルス検出ルーチンからのラグ値との間の差の絶対値)を示し、delta_lag_interは、前のフレームの最終ラグ値と、現在のフレームに対するピッチ推定ルーチンからのラグ値(またはピッチ2倍が検出された場合、そのラグ値の半分)との間の差の(たとえば、浮動小数点の)絶対値を示し、NEED_TRANSは、現在のフレームに対する遷移フレーム符号化モードの使用が前のフレームの符号化中に示されたかどうかを示し、TRANS_USEDは、遷移符号化モードが前のフレームを符号化するために使用されたかどうかを示し、fully_voicedは、ターミナルピッチパルスの位置と、最終ラグ値によって分割された反対側のフレームの終端との間の距離の整数部分がnumber_of_pulses−1に等しいかどうかを示す。しきい値の値の例には、T1A=[0.1*(パルス検出ルーチンからのラグ値)+0.5]、T1B=[0.05*(パルス検出ルーチンからのラグ値)+0.5]、T2A=[0.2*(前のフレームに対する最終ラグ値)]、およびT2B=[0.15*(前のフレームに対する最終ラグ値)]がある。
タスクT710〜T750、図57のコードリスト、および図58に示す条件など、遷移符号化モードを使用するという決定をキャンセルするための上述の設定のうちの1つまたは複数を含むように、フレーム再分類器RC10を実装することができる。たとえば、図59に示す方法M700を実行し、テストタスクT710〜T750のいずれかが不合格になった場合、遷移符号化モードを使用するという決定をキャンセルするように、フレーム再分類器RC10を実装することができる。
本明細書で説明した方法の実装形態の典型的な適用(たとえば、方法M100、M200、M300、M500、M600、またはM700、あるいは別のルーチンまたはコードリスト)では、論理要素のアレイ(たとえば、論理ゲート)は、この方法の様々なタスクのうちの1つ、複数、さらにはすべてを実行するように構成される。タスクの1つまたは複数(場合によってはすべて)は、論理要素のアレイ(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)を含む機械(たとえば、コンピュータ)によって読取り可能および/または実行可能であるコンピュータプログラム製品(たとえば、ディスク、フラッシュまたは他の不揮発性メモリカード、半導体メモリチップなどの1つまたは複数のデータ記憶媒体など)に埋め込まれたコード(たとえば、命令の1つまたは複数のセット)として実装することもできる。そのような方法の実装形態のタスクを、2つ以上のそのようなアレイまたは機械によって実行することもできる。これらのまたは他の実装形態では、タスクは、モバイルユーザ端末など、無線通信用のデバイス、またはそのような通信機能をもつ他のデバイス内で実行することができる。そのようなデバイスは、(VoIP(ボイスオーバーインターネットプロトコル)などの1つまたは複数のプロトコルを使用して)回線交換および/またはパケット交換ネットワークと通信するように構成できる。たとえば、そのようなデバイスは、符号化フレームを含む信号を送信し、および/またはそのような信号を受信するように構成されたRF回路を含むことができる。また、そのようなデバイスは、RF送信の前に符号化フレームに対して、インターリーブ、パンクチャリング、畳み込み符号化、誤り訂正符号化、および/あるいはネットワークプロトコルの1つまたは複数のレイヤを適用することなどの1つまたは複数の他の動作を実行するように構成できる。
本明細書で説明した装置(たとえば、装置A100、A200、A300、A500、A600、A700、または音声符号器AE20、あるいはその要素)の実装形態の様々な要素は、たとえば、チップセット中の同じチップ上にまたは2つ以上のチップの間に常駐する電子および/または光デバイスとして実装できるが、そのような限定なしに他の構成も考えられる。そのような装置の1つまたは複数の要素は、マイクロプロセッサ、組み込みプロセッサ、IPコア、デジタル信号プロセッサ、FPGA(フィールドプログラマブルゲートアレイ)、ASSP(特定用途向け標準製品)、およびASIC(特定用途向け集積回路)などの、論理要素(たとえば、トランジスタ、ゲート)の1つまたは複数の固定またはプログラマブルなアレイ上で実行するように構成された命令の1つまたは複数のセットとして全体的にまたは部分的に実装できる。
そのような装置の実装形態の1つまたは複数の要素は、装置が組み込まれているデバイスまたはシステムの別の動作に関係するタスクなど、装置の動作に直接関係しないタスクまたは命令の他のセットを実行するために使用することが可能である。また、本明細書で説明した装置の実装形態の1つまたは複数の要素は、共通の構造(たとえば、異なる要素に対応するコードの部分を異なる時間に実行するために使用されるプロセッサ、異なる要素に対応するタスクを異なる時間に実施するために実行される命令のセット、あるいは、異なる要素向けの動作を異なる時間に実施する電子デバイスおよび/または光デバイスの構成)を有することが可能である。
説明した構成の上記の提示は、本明細書で開示する方法および他の構造を当業者が製造または使用できるように与えたものである。本明細書で図示および説明したフローチャートおよび他の構造は例にすぎず、これらの構造の他の変形態も開示の範囲内である。これらの構成に対する様々な変更が可能であり、本明細書で提示する一般的原理は他の構成にも同様に適用できる。
本明細書で説明した構成の各々は、部分的にまたは全体的に、ハードワイヤード回路として、特定用途向け集積回路中に作成された回路構成として、あるいは不揮発性記憶装置にロードされるファームウェアプログラム、またはマイクロプロセッサもしくは他のデジタル信号処理ユニットなどの論理要素のアレイによって実行可能な命令である機械可読コードとしてデータ記憶媒体から、もしくはデータ記憶媒体にロードされるソフトウェアプログラムとして実装できる。データ記憶媒体は、(限定はしないが、ダイナミックもしくはスタティックRAM(ランダムアクセスメモリ)、ROM(読取り専用メモリ)、および/またはフラッシュRAMを含む)半導体メモリ、または強誘電体メモリ、磁気抵抗メモリ、オボニックメモリ、ポリマーメモリ、もしくは位相変化メモリなどの記憶要素のアレイ、磁気ディスクまたは光ディスクなどのディスク媒体とすることができる。「ソフトウェア」という用語は、ソースコード、アセンブリ言語コード、機械コード、バイナリコード、ファームウェア、マクロコード、マイクロコード、論理要素のアレイによって実行可能な命令の1つまたは複数のセットまたはシーケンス、およびそのような例の任意の組合せを含むことを理解されたい。
また、本明細書で開示する方法の各々は、論理要素(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)のアレイを含む機械によって読取り可能および/または実行可能な命令の1つまたは複数のセットとして(たとえば、上記に記載する1つまたは複数のデータ記憶媒体中で)有形に実施することができる。したがって、本開示は、上記に示した構成に限定されるものではなく、原開示の一部をなす、出願した添付の特許請求の範囲を含む、本明細書において任意の方法で開示した原理および新規の特徴に一致する最も広い範囲が与えられるべきである。
Claims (51)
- 音声信号のフレームを符号化する方法であって、
前記音声信号の第1のフレームを第1の符号化フレームとして符号化することと、
前記音声信号の第2のフレームを第2の符号化フレームとして符号化することと、
を備え、
前記第1のフレームを符号化することが、
前記第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの1つを選択することと、
前記第1のフレームのターミナルピッチパルスの位置を計算することと、
前記第1のフレームのピッチ周期を推定することと、
を含み、
前記第2のフレームを符号化することが、
前記第2のフレームのピッチパルス形状と前記第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算することと、
前記第2のフレームのピッチ周期と前記第1のフレームのピッチ周期との間のピッチ周期差を計算することと、
を含み、
前記第1の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との各々の表現を含み、
前記第2の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との各々の表現を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続く、
フレームを符号化する方法。 - 前記第2のフレームが前記音声信号中で前記第1のフレームの直後に続く、請求項1に記載のフレームを符号化する方法。
- 前記方法が、前記第1のフレームがオンセットフレームであることを検出することを備える、請求項1に記載のフレームを符号化する方法。
- 前記第2のフレームを符号化することが、前記第2のフレームの少なくとも1つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算することを含み、
前記ピッチパルス形状差が、(A)前記計算された周波数領域ピッチプロトタイプと(B)前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項1に記載のフレームを符号化する方法。 - 前記第1のフレームを符号化することが複数の利得値を計算することを含み、前記複数の利得値の各々が前記第1のフレームの複数のピッチパルスのうちの異なる1つに対応し、
前記第1の符号化フレームが前記複数の利得値の表現を含む、
請求項1に記載のフレームを符号化する方法。 - 前記方法が、前記音声信号の第3のフレームを第3の符号化フレームとして符号化することを含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続き、
前記第3のフレームが前記音声信号中で前記第2のフレームの後に続き、
前記第3のフレームを符号化することが、
前記第3のフレームのピッチパルス形状と前記第2のフレームのピッチパルス形状との間の第2のピッチパルス形状差を計算することと、
前記第3のフレームのピッチ周期と前記第2のフレームのピッチ周期との間の第2のピッチ周期差を計算することと、
を含み、
前記第3の符号化フレームが、前記第2のピッチパルス形状差と前記第2のピッチ周期差との表現を含む、
請求項1に記載のフレームを符号化する方法。 - 音声信号のフレームを符号化するための装置であって、
前記音声信号の第1のフレームを第1の符号化フレームとして符号化するための手段と、
前記音声信号の第2のフレームを第2の符号化フレームとして符号化するための手段と、
を備え、
前記第1のフレームを符号化するための手段が、
前記第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの1つを選択するための手段と、
前記第1のフレームのターミナルピッチパルスの位置を計算するための手段と、
前記第1のフレームのピッチ周期を推定するための手段と、
を含み、
前記第2のフレームを符号化するための手段が、
前記第2のフレームのピッチパルス形状と前記第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算するための手段と、
前記第2のフレームのピッチ周期と前記第1のフレームのピッチ周期との間のピッチ周期差を計算するための手段と、
を含み、
前記第1の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第2の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続く、
フレームを符号化するための装置。 - 前記装置が、前記第1のフレームがオンセットフレームであることを検出するための手段を含む、請求項7に記載のフレームを符号化するための装置。
- 前記第2のフレームを符号化するための手段が、前記第2のフレームの少なくとも1つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算するための手段を含み、
前記ピッチパルス形状差が、(A)前記計算された周波数領域ピッチプロトタイプと(B)前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項7に記載のフレームを符号化するための装置。 - 前記第1のフレームを符号化するための手段が複数の利得値を計算するための手段を含み、前記複数の利得値の各々が前記第1のフレームの複数のピッチパルスのうちの異なる1つに対応し、
前記第1の符号化フレームが前記複数の利得値の表現を含む、
請求項7に記載のフレームを符号化するための装置。 - 前記装置が、前記音声信号の第3のフレームを第3の符号化フレームとして符号化するための手段を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続き、
前記第3のフレームが前記音声信号中で前記第2のフレームの後に続き、
前記第3のフレームを符号化するための手段が、
前記第3のフレームのピッチパルス形状と前記第2のフレームのピッチパルス形状との間の第2のピッチパルス形状差を計算するための手段と、
前記第3のフレームのピッチ周期と前記第2のフレームのピッチ周期との間の第2のピッチ周期差を計算するための手段と、
を含み、
前記第3の符号化フレームが、前記第2のピッチパルス形状差と前記第2のピッチ周期差との表現を含む、
請求項7に記載のフレームを符号化するための装置。 - 音声信号のフレームを符号化するための装置であって、
前記音声信号の第1のフレームを第1の符号化フレームとして符号化するように構成された第1のフレーム符号器と、
前記音声信号の第2のフレームを第2の符号化フレームとして符号化するように構成された第2のフレーム符号器と、
を備え、
前記第1のフレーム符号器が、
前記第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの1つを選択するように構成されたピッチパルス形状セレクタと、
前記第1のフレームのターミナルピッチパルスの位置を計算するように構成されたピッチピーク位置計算器と、
前記第1のフレームのピッチ周期を推定するように構成されたピッチ周期推定器と
を含み、
前記第2のフレーム符号器が、
前記第2のフレームのピッチパルス形状と前記第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算するように構成されたピッチパルス形状差計算器と、
前記第2のフレームのピッチ周期と前記第1のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたピッチ周期差計算器と、
を含み、
前記第1の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第2の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続く、
フレームを符号化するための装置。 - 前記装置が、前記第1のフレームがオンセットフレームであることを検出するように構成されたフレーム分類器を含む、請求項12に記載のフレームを符号化するための装置。
- 前記第2のフレーム符号器が、前記第2のフレームの少なくとも1つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算するように構成されたピッチプロトタイプ計算器を含み、
前記ピッチパルス形状差が、(A)前記計算された周波数領域ピッチプロトタイプと(B)前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項12に記載のフレームを符号化するための装置。 - 前記第1のフレーム符号器が複数の利得値を計算するように構成された利得値計算器を含み、前記複数の利得値の各々が前記第1のフレームの複数のピッチパルスのうちの異なる1つに対応し、
前記第1の符号化フレームが前記複数の利得値の表現を含む、
請求項12に記載のフレームを符号化するための装置。 - 前記第2のフレーム符号器が、前記音声信号の第3のフレームを第3の符号化フレームとして符号化するように構成され、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続き、
前記第3のフレームが前記音声信号中で前記第2のフレームの後に続き、
前記ピッチパルス形状差計算器が、前記第3のフレームのピッチパルス形状と前記第2のフレームのピッチパルス形状との間の第2のピッチパルス形状差を計算するように構成され、
前記ピッチ周期差計算器が、前記第3のフレームのピッチ周期と前記第2のフレームのピッチ周期との間の第2のピッチ周期差を計算するように構成され、
前記第3の符号化フレームが、前記第2のピッチパルス形状差と前記第2のピッチ周期差との表現を含む、
請求項12に記載のフレームを符号化するための装置。 - プロセッサによって実行されるとき、
前記音声信号の第1のフレームを第1の符号化フレームとして符号化することと、
前記音声信号の第2のフレームを第2の符号化フレームとして符号化することと、
を前記プロセッサに行わせる命令を備え、
前記第1のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第1のフレームの少なくとも1つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの1つを選択することを前記プロセッサに行わせる命令と、
前記第1のフレームのターミナルピッチピークの位置を計算することを前記プロセッサに行わせる命令と、
前記第1のフレームのピッチ周期を推定することを前記プロセッサに行わせる命令と
を含み、
前記第2のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第2のフレームのピッチパルス形状と前記第1のフレームのピッチパルス形状との間のピッチパルス形状差を計算することを前記プロセッサに行わせる命令と、
前記第2のフレームのピッチ周期と前記第1のフレームのピッチ周期との間のピッチ周期差を計算することを前記プロセッサに行わせる命令と
を含み、
前記第1の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第2の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続く、
コンピュータ可読媒体。 - 前記媒体が、プロセッサによって実行されるとき、前記第1のフレームがオンセットフレームであることを検出することを前記プロセッサに行わせる命令を含む、請求項17に記載のコンピュータ可読媒体。
- 前記第2のフレームを符号化することを前記プロセッサに行わせる命令が、前記第2のフレームの少なくとも1つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算することを前記プロセッサに行わせる命令を含み、
前記ピッチパルス形状差が、(A)前記計算された周波数領域ピッチプロトタイプと(B)前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項17に記載のコンピュータ可読媒体。 - 前記第1のフレームを符号化することを前記プロセッサに行わせる命令が、複数の利得値を計算すること前記プロセッサに行わせる命令を含み、前記複数の利得値の各々が前記第1のフレームの複数のピッチパルスのうちの異なる1つに対応し、
前記第1の符号化フレームが前記複数の利得値の表現を含む、
請求項17に記載のコンピュータ可読媒体。 - 前記媒体が、プロセッサによって実行されるとき、前記音声信号の第3のフレームを第3の符号化フレームとして符号化することを前記プロセッサに行わせる命令を含み、
前記第2のフレームが前記音声信号中で前記第1のフレームの後に続き、
前記第3のフレームが前記音声信号中で前記第2のフレームの後に続き、
前記第3のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第3のフレームのピッチパルス形状と前記第2のフレームのピッチパルス形状との間の第2のピッチパルス形状差を計算することを前記プロセッサに行わせる命令と、
前記第3のフレームのピッチ周期と前記第2のフレームのピッチ周期との間の第2のピッチ周期差を計算することを前記プロセッサに行わせる命令と、
を含み、
前記第3の符号化フレームが、前記第2のピッチパルス形状差と前記第2のピッチ周期差との表現を含む、
請求項17に記載のコンピュータ可読媒体。 - 音声信号の励起信号を復号する方法であって、
第1の励起信号を得るために第1の符号化フレームの部分を復号することと、
第2の励起信号を得るために第2の符号化フレームの部分を復号することと、
を備え、
前記第1の符号化フレームの前記部分が、時間領域ピッチパルス形状と、ピッチピーク位置と、ピッチ周期との各々の表現を含み、
前記第2の符号化フレームの前記部分が、ピッチパルス形状差とピッチ周期差の各々の表現を含み、
前記第1の符号化フレームの部分を復号することが、
前記ピッチピーク位置に従って前記第1の励起信号内に前記時間領域ピッチパルス形状の第1のコピーを構成することと、
前記ピッチピーク位置と前記ピッチ周期とに従って前記第1の励起信号内に前記時間領域ピッチパルス形状の第2のコピーを構成することと、
を含み、
前記第2の符号化フレームの部分を復号することが、
前記時間領域ピッチパルス形状と前記ピッチパルス形状差とに基づいて第2のピッチパルス形状を計算することと、
前記ピッチ周期と前記ピッチ周期差とに基づいて第2のピッチ周期を計算することと、
前記ピッチピーク位置と前記第2のピッチ周期とに従って前記第2の励起信号内に前記第2のピッチパルス形状の複数のコピーを構成することと、
を含む、音声信号の励起信号を復号する方法。 - 前記第1の符号化フレームの前記部分が複数の利得値の表現を含み、
前記第1の符号化フレームの部分を復号することが、
前記複数の利得値のうちの1つを前記時間領域ピッチパルス形状の前記第1のコピーに適用することと、
前記複数の利得値のうちの異なる1つを前記時間領域ピッチパルス形状の前記第2のコピーに適用することと、
を含む、請求項22に記載の励起信号を復号する方法。 - 音声信号のフレームのピッチピークを検出する方法であって、
前記フレームの第1のピッチピークを検出することと、
前記フレームの第1の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、
複数の距離の中から候補距離を選択することと、前記複数の距離の各々が前記フレームの第2の探索ウィンドウ内の異なるサンプルに対応する、
(A)前記候補サンプルと(B)前記候補距離に対応する前記サンプルとのうちの1つを前記フレームの第2のピッチピークとして選択することと、
を備え、
前記複数の距離の各々が、A)前記対応するサンプルと、B)前記第1のピッチピークとの間の距離である、
ピッチピークを検出する方法。 - 前記候補距離に対応する前記サンプルが前記候補サンプルとは異なる、請求項24に記載のピッチピークを検出する方法。
- 前記候補サンプルを選択することが、(A)前記第1の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することと、(B)前記第1の探索ウィンドウ内の前記サンプルの中から最大絶対値を有する前記サンプルを前記候補サンプルとして選択することと、(C)前記第1の探索ウィンドウ内の前記サンプルの中から最大エネルギーを有する前記サンプルを前記候補サンプルとして選択することとのうちの少なくとも1つを含む、請求項24に記載のピッチピークを検出する方法。
- 前記候補サンプルを選択することが、前記第1の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することを含む、請求項24に記載のピッチピークを検出する方法。
- 前記方法が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第1のピッチピークの近傍との間の相関の値を計算することを備え、
前記候補距離を選択することが、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択することを含む、
請求項24に記載のピッチピークを検出する方法。 - 前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択することが、(A)前記候補サンプルのエネルギーに基づく値と第1のしきい値との間の関係と、(B)前記候補距離に対応する前記計算された相関値と第2のしきい値との間の関係とのうちの少なくとも1つに基づく、請求項28に記載のピッチピークを検出する方法。
- 前記第1のピッチピークが前記フレームのターミナルピッチピークである、請求項24に記載のピッチピークを検出する方法。
- 前記方法が、前記フレームの第1のピッチピークを検出することより前に、前記フレームの第3のピッチピークを検出することを備え、前記第3のピッチピークが前記フレームのターミナルピッチピークである、請求項24に記載のピッチピークを検出する方法。
- 前記フレームの第1のピッチピークを検出することが、(A)前記フレーム内の前記第3のピッチピークの位置と、(B)ピッチ周期推定値と、(C)第1のエネルギーしきい値と前記第1のピッチピークのエネルギーに基づく値との間の関係とに基づく、請求項31に記載のピッチピークを検出する方法。
- 前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択することが、(A)前記候補サンプルのエネルギーに基づく値と第2のしきい値との間の関係と、(B)前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第2のしきい値との間の関係とのうちの少なくとも1つに基づき、
前記第2のしきい値が前記第1のしきい値未満である、
請求項32に記載のピッチピークを検出する方法。 - 音声信号のフレームのピッチピークを検出するための装置であって、
前記フレームの第1のピッチピークを検出するための手段と、
前記フレームの第1の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択するための手段と、
複数の距離の中から候補距離を選択するための手段と、前記複数の距離の各々が前記フレームの第2の探索ウィンドウ内の異なるサンプルに対応する、
(A)前記候補サンプルと(B)前記候補距離に対応する前記サンプルとのうちの1つを前記フレームの第2のピッチピークとして選択するための手段と、
を備え、
前記複数の距離の各々が、A)前記対応するサンプルと、B)前記第1のピッチピークとの間の距離である、
ピッチピークを検出するための装置。 - 前記候補サンプルを選択するための手段が、前記第1の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択するように構成された、請求項34に記載のピッチピークを検出するための装置。
- 前記装置が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第1のピッチピークの近傍との間の相関の値を計算するための手段を備え、
前記候補距離を選択するための手段が、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択するように構成された、
請求項34に記載のピッチピークを検出するための装置。 - 前記前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択するための手段が、(A)前記候補サンプルのエネルギーに基づく値と第1のしきい値との間の関係と、(B)前記候補距離に対応する前記計算された相関値と第2のしきい値との間の関係とのうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記1つを選択するように構成された、請求項36に記載のピッチピークを検出するための装置。
- 前記装置が、前記フレームの第3のピッチピークを検出するための手段を備え、前記第3のピッチピークが前記フレームのターミナルピッチピークであり、
前記フレームの第1のピッチピークを検出するための手段が、(A)前記フレーム内の前記第3のピッチピークの位置と、(B)ピッチ周期推定値と、(C)第1のエネルギーしきい値と前記第1のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第1のピッチピークを検出するように構成された、請求項34に記載のピッチピークを検出するための装置。 - 前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択するための手段が、(A)前記候補サンプルのエネルギーに基づく値と第2のしきい値との間の関係と、(B)前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第2のしきい値との間の関係のうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記1つを選択するように構成され、
前記第2のしきい値が前記第1のしきい値未満である、
請求項38に記載のピッチピークを検出するための装置。 - 音声信号のフレームのピッチピークを検出するための装置であって、
前記フレームの第1のピッチピークを検出するように構成されたピーク検出器と、
前記フレームの第1の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択するように構成されたサンプルセレクタと、
複数の距離の中から候補距離を選択するように構成された距離セレクタと、前記複数の距離の各々が前記フレームの第2の探索ウィンドウ内の異なるサンプルに対応する、
(A)前記候補サンプルと(B)前記候補距離に対応する前記サンプルとのうちの1つを前記フレームの第2のピッチピークとして選択するように構成されたピークセレクタと
を備え、
前記複数の距離の各々が、A)前記対応するサンプルと、B)前記第1のピッチピークとの間の距離である、
ピッチピークを検出するための装置。 - 前記サンプルセレクタが、前記第1の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択するように構成された、請求項40に記載のピッチピークを検出するための装置。
- 前記装置が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第1のピッチピークの近傍との間の相関の値を計算するように構成された相関器を備え、
前記距離セレクタが、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択するように構成された、
請求項40に記載のピッチピークを検出するための装置。 - 前記ピークセレクタが、(A)前記候補サンプルのエネルギーに基づく値と第1のしきい値との間の関係と、(B)前記候補距離に対応する前記計算された相関値と第2のしきい値との間の関係とのうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択するように構成された、請求項42に記載のピッチピークを検出するための装置。
- 前記装置が、前記フレームの第3のピッチピークを検出するように構成されたターミナルピーク検出器を備え、前記第3のピッチピークが前記フレームのターミナルピッチピークであり、
前記ピーク検出器が、(A)前記フレーム内の前記第3のピッチピークの位置と、(B)ピッチ周期推定値と、(C)第1のエネルギーしきい値と前記第1のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第1のピッチピークを検出するように構成された、
請求項40に記載のピッチピークを検出するための装置。 - 前記ピークセレクタが、(A)前記候補サンプルのエネルギーに基づく値と第2のしきい値との間の関係と、(B)前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第2のしきい値との間の関係とのうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択するように構成され、
前記第2のしきい値が前記第1のしきい値未満である、
請求項44に記載のピッチピークを検出するための装置。 - プロセッサによって実行されるとき、
前記フレームの第1のピッチピークを検出することと、
前記フレームの第1の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、
複数の距離の中から候補距離を選択することと、前記複数の距離の各々が前記フレームの第2の探索ウィンドウ内の異なるサンプルに対応する、
(A)前記候補サンプルと(B)前記候補距離に対応する前記サンプルとのうちの1つを前記フレームの第2のピッチピークとして選択することと、
を前記プロセッサに行わせる命令を備え、
前記複数の距離の各々が、A)前記対応するサンプルと、B)前記第1のピッチピークとの間の距離である、
コンピュータ可読媒体。 - 前記候補サンプルを選択することをプロセッサに行わせる命令が、前記第1の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することを前記プロセッサに行わせる命令を含む、請求項46に記載のコンピュータ可読媒体。
- 前記媒体が、プロセッサによって実行されるとき、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第1のピッチピークの近傍との間の相関の値を計算することを前記プロセッサに行わせる命令を備え、
前記候補距離を選択することを前記プロセッサに行わせる命令が、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択することを前記プロセッサに行わせる命令を含む、
請求項46に記載のコンピュータ可読媒体。 - 前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択することを前記プロセッサに行わせる命令が、(A)前記候補サンプルのエネルギーに基づく値と第1のしきい値との間の関係と、(B)前記候補距離に対応する前記計算された相関値と第2のしきい値との間の関係とのうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記1つを選択することを前記プロセッサに行わせる命令を含む、請求項48に記載のコンピュータ可読媒体。
- 前記媒体が、プロセッサによって実行されるとき、前記フレームの第3のピッチピークを検出することを前記プロセッサに行わせる命令を備え、前記第3のピッチピークが前記フレームのターミナルピッチピークであり、
前記フレームの第1のピッチピークを検出することを前記プロセッサに行わせる命令が、(A)前記フレーム内の前記第3のピッチピークの位置と、(B)ピッチ周期推定値と、(C)第1のエネルギーしきい値と前記第1のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第1のピッチピークを検出することを前記プロセッサに行わせる命令を含む、
請求項46に記載のコンピュータ可読媒体。 - 前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの1つを選択することを前記プロセッサに行わせる命令が、(A)前記候補サンプルのエネルギーに基づく値と第2のしきい値との間の関係と、(B)前記候補距離に対応する前記サンプルのエネルギーと第2のしきい値との間の関係とのうちの少なくとも1つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記1つを選択することを前記プロセッサに行わせる命令を含み、
前記第2のしきい値が前記第1のしきい値未満である、
請求項50に記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/143,719 US20090319261A1 (en) | 2008-06-20 | 2008-06-20 | Coding of transitional speech frames for low-bit-rate applications |
US12/143,719 | 2008-06-20 | ||
PCT/US2009/048047 WO2009155569A1 (en) | 2008-06-20 | 2009-06-19 | Coding of transitional speech frames for low-bit-rate applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011525256A true JP2011525256A (ja) | 2011-09-15 |
Family
ID=41128256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011514870A Pending JP2011525256A (ja) | 2008-06-20 | 2009-06-19 | 低ビットレート適用のための遷移音声フレームの符号化 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20090319261A1 (ja) |
EP (1) | EP2308043A1 (ja) |
JP (1) | JP2011525256A (ja) |
KR (1) | KR20110033227A (ja) |
CN (1) | CN102067212A (ja) |
TW (1) | TW201007704A (ja) |
WO (1) | WO2009155569A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013537324A (ja) * | 2010-09-16 | 2013-09-30 | クゥアルコム・インコーポレイテッド | ピッチラグを推定すること |
JP2013537325A (ja) * | 2010-09-17 | 2013-09-30 | クゥアルコム・インコーポレイテッド | ピッチサイクルエネルギーを判断し、励起信号をスケーリングすること |
JP2013541731A (ja) * | 2010-09-13 | 2013-11-14 | クゥアルコム・インコーポレイテッド | 過渡フレームの符号化及び復号化 |
KR20190057376A (ko) * | 2016-10-04 | 2019-05-28 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 피치 정보를 결정하는 장치 및 방법 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8768690B2 (en) * | 2008-06-20 | 2014-07-01 | Qualcomm Incorporated | Coding scheme selection for low-bit-rate applications |
US20090319263A1 (en) * | 2008-06-20 | 2009-12-24 | Qualcomm Incorporated | Coding of transitional speech frames for low-bit-rate applications |
KR20100006492A (ko) | 2008-07-09 | 2010-01-19 | 삼성전자주식회사 | 부호화 방식 결정 방법 및 장치 |
US8380498B2 (en) * | 2008-09-06 | 2013-02-19 | GH Innovation, Inc. | Temporal envelope coding of energy attack signal by using attack point location |
JP5293329B2 (ja) * | 2009-03-26 | 2013-09-18 | 富士通株式会社 | 音声信号評価プログラム、音声信号評価装置、音声信号評価方法 |
US8700410B2 (en) * | 2009-06-18 | 2014-04-15 | Texas Instruments Incorporated | Method and system for lossless value-location encoding |
US20120029926A1 (en) | 2010-07-30 | 2012-02-02 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
KR101740359B1 (ko) * | 2011-01-25 | 2017-05-26 | 니폰 덴신 덴와 가부시끼가이샤 | 부호화 방법, 부호화 장치, 주기성 특징량 결정 방법, 주기성 특징량 결정 장치, 프로그램, 기록 매체 |
MX2013012301A (es) * | 2011-04-21 | 2013-12-06 | Samsung Electronics Co Ltd | Aparato para cuantificar coeficientes de codificacion predictiva lineal, aparato de codificacion de sonido, aparato para decuantificar coeficientes de codificacion predictiva lineal, aparato de decodificacion de sonido y dispositivo electronico para los mismos. |
WO2012144878A2 (en) | 2011-04-21 | 2012-10-26 | Samsung Electronics Co., Ltd. | Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium |
US8990074B2 (en) | 2011-05-24 | 2015-03-24 | Qualcomm Incorporated | Noise-robust speech coding mode classification |
CN104025191A (zh) * | 2011-10-18 | 2014-09-03 | 爱立信(中国)通信有限公司 | 用于自适应多速率编解码器的改进方法和设备 |
WO2013075753A1 (en) * | 2011-11-25 | 2013-05-30 | Huawei Technologies Co., Ltd. | An apparatus and a method for encoding an input signal |
ES2757700T3 (es) | 2011-12-21 | 2020-04-29 | Huawei Tech Co Ltd | Detección y codificación de altura tonal muy débil |
CN103310787A (zh) * | 2012-03-07 | 2013-09-18 | 嘉兴学院 | 一种用于楼宇安防的异常声音快速检方法 |
CN103426441B (zh) * | 2012-05-18 | 2016-03-02 | 华为技术有限公司 | 检测基音周期的正确性的方法和装置 |
US9208775B2 (en) | 2013-02-21 | 2015-12-08 | Qualcomm Incorporated | Systems and methods for determining pitch pulse period signal boundaries |
CN106448688B (zh) | 2014-07-28 | 2019-11-05 | 华为技术有限公司 | 音频编码方法及相关装置 |
CN106533391A (zh) * | 2016-11-16 | 2017-03-22 | 上海艾为电子技术股份有限公司 | 无限冲激响应滤波器及其控制方法 |
CN112767953B (zh) * | 2020-06-24 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 语音编码方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934499A (ja) * | 1995-07-17 | 1997-02-07 | Kokusai Electric Co Ltd | 音声符号化通信方式 |
JPH1097294A (ja) * | 1996-02-21 | 1998-04-14 | Matsushita Electric Ind Co Ltd | 音声符号化装置 |
JPH11259098A (ja) * | 1997-12-24 | 1999-09-24 | Toshiba Corp | 音声符号化/復号化方法 |
JP2000214900A (ja) * | 1999-01-22 | 2000-08-04 | Toshiba Corp | 音声符号化/復号化方法 |
JP2004109803A (ja) * | 2002-09-20 | 2004-04-08 | Hitachi Kokusai Electric Inc | 音声符号化装置及び方法 |
JP2004355015A (ja) * | 1996-11-20 | 2004-12-16 | Yamaha Corp | 音信号分析装置及び方法 |
JP2004538525A (ja) * | 2001-08-08 | 2004-12-24 | アミューズテック カンパニー リミテッド | 周波数分析によるピッチ判断方法および装置 |
WO2008007699A1 (en) * | 2006-07-12 | 2008-01-17 | Panasonic Corporation | Audio decoding device and audio encoding device |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8400552A (nl) * | 1984-02-22 | 1985-09-16 | Philips Nv | Systeem voor het analyseren van menselijke spraak. |
US5127053A (en) * | 1990-12-24 | 1992-06-30 | General Electric Company | Low-complexity method for improving the performance of autocorrelation-based pitch detectors |
US5187745A (en) * | 1991-06-27 | 1993-02-16 | Motorola, Inc. | Efficient codebook search for CELP vocoders |
US5233660A (en) * | 1991-09-10 | 1993-08-03 | At&T Bell Laboratories | Method and apparatus for low-delay celp speech coding and decoding |
US5765127A (en) * | 1992-03-18 | 1998-06-09 | Sony Corp | High efficiency encoding method |
US5884253A (en) * | 1992-04-09 | 1999-03-16 | Lucent Technologies, Inc. | Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter |
US5704003A (en) * | 1995-09-19 | 1997-12-30 | Lucent Technologies Inc. | RCELP coder |
JPH09185397A (ja) * | 1995-12-28 | 1997-07-15 | Olympus Optical Co Ltd | 音声情報記録装置 |
US6073092A (en) * | 1997-06-26 | 2000-06-06 | Telogy Networks, Inc. | Method for speech coding based on a code excited linear prediction (CELP) model |
WO1999010719A1 (en) * | 1997-08-29 | 1999-03-04 | The Regents Of The University Of California | Method and apparatus for hybrid coding of speech at 4kbps |
US5963897A (en) * | 1998-02-27 | 1999-10-05 | Lernout & Hauspie Speech Products N.V. | Apparatus and method for hybrid excited linear prediction speech encoding |
US6973424B1 (en) * | 1998-06-30 | 2005-12-06 | Nec Corporation | Voice coder |
US6480822B2 (en) * | 1998-08-24 | 2002-11-12 | Conexant Systems, Inc. | Low complexity random codebook structure |
US6240386B1 (en) * | 1998-08-24 | 2001-05-29 | Conexant Systems, Inc. | Speech codec employing noise classification for noise compensation |
US7272556B1 (en) * | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
US6754630B2 (en) * | 1998-11-13 | 2004-06-22 | Qualcomm, Inc. | Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation |
US6691084B2 (en) * | 1998-12-21 | 2004-02-10 | Qualcomm Incorporated | Multiple mode variable rate speech coding |
US6311154B1 (en) * | 1998-12-30 | 2001-10-30 | Nokia Mobile Phones Limited | Adaptive windows for analysis-by-synthesis CELP-type speech coding |
US6324505B1 (en) * | 1999-07-19 | 2001-11-27 | Qualcomm Incorporated | Amplitude quantization scheme for low-bit-rate speech coders |
US7039581B1 (en) * | 1999-09-22 | 2006-05-02 | Texas Instruments Incorporated | Hybrid speed coding and system |
US6581032B1 (en) * | 1999-09-22 | 2003-06-17 | Conexant Systems, Inc. | Bitstream protocol for transmission of encoded voice signals |
WO2001052241A1 (en) * | 2000-01-11 | 2001-07-19 | Matsushita Electric Industrial Co., Ltd. | Multi-mode voice encoding device and decoding device |
US6584438B1 (en) * | 2000-04-24 | 2003-06-24 | Qualcomm Incorporated | Frame erasure compensation method in a variable rate speech coder |
EP2040253B1 (en) * | 2000-04-24 | 2012-04-11 | Qualcomm Incorporated | Predictive dequantization of voiced speech |
US7363219B2 (en) * | 2000-09-22 | 2008-04-22 | Texas Instruments Incorporated | Hybrid speech coding and system |
US7472059B2 (en) * | 2000-12-08 | 2008-12-30 | Qualcomm Incorporated | Method and apparatus for robust speech classification |
US6480821B2 (en) * | 2001-01-31 | 2002-11-12 | Motorola, Inc. | Methods and apparatus for reducing noise associated with an electrical speech signal |
CA2365203A1 (en) * | 2001-12-14 | 2003-06-14 | Voiceage Corporation | A signal modification method for efficient coding of speech signals |
US6829579B2 (en) * | 2002-01-08 | 2004-12-07 | Dilithium Networks, Inc. | Transcoding method and system between CELP-based speech codes |
US7236927B2 (en) * | 2002-02-06 | 2007-06-26 | Broadcom Corporation | Pitch extraction methods and systems for speech coding using interpolation techniques |
US20040002856A1 (en) * | 2002-03-08 | 2004-01-01 | Udaya Bhaskar | Multi-rate frequency domain interpolative speech CODEC system |
AU2002307884A1 (en) * | 2002-04-22 | 2003-11-03 | Nokia Corporation | Method and device for obtaining parameters for parametric speech coding of frames |
CA2388439A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
KR100463417B1 (ko) * | 2002-10-10 | 2004-12-23 | 한국전자통신연구원 | 상관함수의 최대값과 그의 후보값의 비를 이용한 피치검출 방법 및 그 장치 |
CA2501368C (en) * | 2002-10-11 | 2013-06-25 | Nokia Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
WO2004084182A1 (en) * | 2003-03-15 | 2004-09-30 | Mindspeed Technologies, Inc. | Decomposition of voiced speech for celp speech coding |
US7433815B2 (en) * | 2003-09-10 | 2008-10-07 | Dilithium Networks Pty Ltd. | Method and apparatus for voice transcoding between variable rate coders |
US8355907B2 (en) * | 2005-03-11 | 2013-01-15 | Qualcomm Incorporated | Method and apparatus for phase matching frames in vocoders |
US8155965B2 (en) * | 2005-03-11 | 2012-04-10 | Qualcomm Incorporated | Time warping frames inside the vocoder by modifying the residual |
JP4599558B2 (ja) * | 2005-04-22 | 2010-12-15 | 国立大学法人九州工業大学 | ピッチ周期等化装置及びピッチ周期等化方法、並びに音声符号化装置、音声復号装置及び音声符号化方法 |
US7177804B2 (en) * | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
US7571094B2 (en) * | 2005-09-21 | 2009-08-04 | Texas Instruments Incorporated | Circuits, processes, devices and systems for codebook search reduction in speech coders |
US20070174047A1 (en) * | 2005-10-18 | 2007-07-26 | Anderson Kyle D | Method and apparatus for resynchronizing packetized audio streams |
PT2102619T (pt) * | 2006-10-24 | 2017-05-25 | Voiceage Corp | Método e dispositivo para codificação de tramas de transição em sinais de voz |
US8249860B2 (en) * | 2006-12-15 | 2012-08-21 | Panasonic Corporation | Adaptive sound source vector quantization unit and adaptive sound source vector quantization method |
US8768690B2 (en) * | 2008-06-20 | 2014-07-01 | Qualcomm Incorporated | Coding scheme selection for low-bit-rate applications |
US20090319263A1 (en) * | 2008-06-20 | 2009-12-24 | Qualcomm Incorporated | Coding of transitional speech frames for low-bit-rate applications |
-
2008
- 2008-06-20 US US12/143,719 patent/US20090319261A1/en not_active Abandoned
-
2009
- 2009-06-19 CN CN2009801231388A patent/CN102067212A/zh active Pending
- 2009-06-19 EP EP09767877A patent/EP2308043A1/en not_active Withdrawn
- 2009-06-19 WO PCT/US2009/048047 patent/WO2009155569A1/en active Application Filing
- 2009-06-19 KR KR1020117001466A patent/KR20110033227A/ko not_active Application Discontinuation
- 2009-06-19 JP JP2011514870A patent/JP2011525256A/ja active Pending
- 2009-06-22 TW TW098120890A patent/TW201007704A/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934499A (ja) * | 1995-07-17 | 1997-02-07 | Kokusai Electric Co Ltd | 音声符号化通信方式 |
JPH1097294A (ja) * | 1996-02-21 | 1998-04-14 | Matsushita Electric Ind Co Ltd | 音声符号化装置 |
JP2004355015A (ja) * | 1996-11-20 | 2004-12-16 | Yamaha Corp | 音信号分析装置及び方法 |
JPH11259098A (ja) * | 1997-12-24 | 1999-09-24 | Toshiba Corp | 音声符号化/復号化方法 |
JP2000214900A (ja) * | 1999-01-22 | 2000-08-04 | Toshiba Corp | 音声符号化/復号化方法 |
JP2004538525A (ja) * | 2001-08-08 | 2004-12-24 | アミューズテック カンパニー リミテッド | 周波数分析によるピッチ判断方法および装置 |
JP2004109803A (ja) * | 2002-09-20 | 2004-04-08 | Hitachi Kokusai Electric Inc | 音声符号化装置及び方法 |
WO2008007699A1 (en) * | 2006-07-12 | 2008-01-17 | Panasonic Corporation | Audio decoding device and audio encoding device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013541731A (ja) * | 2010-09-13 | 2013-11-14 | クゥアルコム・インコーポレイテッド | 過渡フレームの符号化及び復号化 |
JP2013537324A (ja) * | 2010-09-16 | 2013-09-30 | クゥアルコム・インコーポレイテッド | ピッチラグを推定すること |
JP2013537325A (ja) * | 2010-09-17 | 2013-09-30 | クゥアルコム・インコーポレイテッド | ピッチサイクルエネルギーを判断し、励起信号をスケーリングすること |
KR20190057376A (ko) * | 2016-10-04 | 2019-05-28 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 피치 정보를 결정하는 장치 및 방법 |
KR102320781B1 (ko) | 2016-10-04 | 2021-11-01 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 피치 정보를 결정하는 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2009155569A9 (en) | 2010-02-18 |
CN102067212A (zh) | 2011-05-18 |
US20090319261A1 (en) | 2009-12-24 |
KR20110033227A (ko) | 2011-03-30 |
WO2009155569A1 (en) | 2009-12-23 |
TW201007704A (en) | 2010-02-16 |
EP2308043A1 (en) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5248681B2 (ja) | 低ビットレート適用例のためのコーディングスキーム選択 | |
JP2011525256A (ja) | 低ビットレート適用のための遷移音声フレームの符号化 | |
JP2012507751A (ja) | 低ビットレート適用例のための遷移音声フレームのコーディング | |
EP2176860B1 (en) | Processing of frames of an audio signal | |
JP5373217B2 (ja) | 可変レートスピーチ符号化 | |
US8825477B2 (en) | Systems, methods, and apparatus for frame erasure recovery | |
JP5543405B2 (ja) | フレームエラーに対する感度を低減する符号化体系パターンを使用する予測音声コーダ | |
JP2004287397A (ja) | 相互使用可能なボコーダ | |
EP1597721B1 (en) | 600 bps mixed excitation linear prediction transcoding | |
LeBlanc et al. | An enhanced full rate speech coder for digital cellular applications | |
LeBlanc et al. | Personal Systems Laboratory Texas Instruments Incorporated |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121016 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130312 |