JP4173940B2 - 音声符号化装置及び音声符号化方法 - Google Patents

音声符号化装置及び音声符号化方法 Download PDF

Info

Publication number
JP4173940B2
JP4173940B2 JP31427199A JP31427199A JP4173940B2 JP 4173940 B2 JP4173940 B2 JP 4173940B2 JP 31427199 A JP31427199 A JP 31427199A JP 31427199 A JP31427199 A JP 31427199A JP 4173940 B2 JP4173940 B2 JP 4173940B2
Authority
JP
Japan
Prior art keywords
pulse
diffusion pattern
codebook
noise
sound source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31427199A
Other languages
English (en)
Other versions
JP2000322097A5 (ja
JP2000322097A (ja
Inventor
宏幸 江原
利幸 森井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP31427199A priority Critical patent/JP4173940B2/ja
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to EP00906624A priority patent/EP1083547A4/en
Priority to PCT/JP2000/001225 priority patent/WO2000054258A1/ja
Priority to US09/674,442 priority patent/US6928406B1/en
Priority to EP10169434A priority patent/EP2237268A3/en
Priority to EP10169435A priority patent/EP2239730A3/en
Priority to AU28252/00A priority patent/AU2825200A/en
Priority to CN2006100850590A priority patent/CN1873779B/zh
Priority to CNB008002665A priority patent/CN1265355C/zh
Publication of JP2000322097A publication Critical patent/JP2000322097A/ja
Publication of JP2000322097A5 publication Critical patent/JP2000322097A5/ja
Application granted granted Critical
Publication of JP4173940B2 publication Critical patent/JP4173940B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • G10L2019/0008Algebraic codebooks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、音声信号を符号化して伝送する移動通信システムなどにおける低ビットレート音声符号化装置、特に音声信号を声道情報と音源情報とに分離して表現するようなCELP(Code Excited Linear Prediction)型音声符号化装置などに関する。
【0002】
【従来の技術】
ディジタル移動通信や音声蓄積の分野においては、電波や記憶媒体の有効利用のために音声情報を圧縮し、高能率で符号化するための音声符号化装置が用いられている。中でもCELP(Code Excited Linear Prediction:符号励振線形予測符号化)方式をベースにした方式が中・低ビットレートにおいて広く実用化されている。CELPの技術については、M.R.Schroeder and B.S.Atal:"Code-Excited Linear Prediction (CELP):High-quality Speech at Very Low Bit Rates",Proc.ICASSP-85, 25.1.1, pp.937-940, 1985" に示されている。
【0003】
CELP型音声符号化方式は、音声をある一定のフレーム長(5ms〜50ms程度)に区切り、各フレーム毎に音声の線形予測を行い、フレーム毎の線形予測による予測残差(励振信号)を、既知の波形からなる適応符号ベクトルと雑音符号ベクトルを用いて符号化するものである。適応符号ベクトルは、過去に生成した駆動音源ベクトルを格納している適応符号帳から選択されて使用され、雑音符号ベクトルは、予め用意された定められた数の定められた形状を有するベクトルを格納している雑音符号帳から選択されて使用される。雑音符号帳に格納される雑音符号ベクトルには、ランダムな雑音系列のベクトルや何本かのパルスを異なる位置に配置することによって生成されるベクトルなどが用いられる。
【0004】
数本のパルスを異なる位置に配置するタイプの雑音符号帳の代表的なものの一つに代数符号帳がある。代数符号帳については「ITU−T勧告G.729」などに具体的内容が示されている。
【0005】
代数符号帳を用いた雑音符号ベクトル生成器の従来例を図40を参照して以下に具体的に説明する。
【0006】
図40は、代数符号帳を用いた雑音符号ベクトル生成器の基本的なブロック図である。図において、第1のパルス発生器1,第2のパルス発生器2から発生されたパルスを加算器3で加算して、2本のパルスを異なる位置に立てることによって雑音符号ベクトルを生成している。代数符号帳の具体例を図41及び図42に示す。図41は、80サンプルの中に2本のパルスを立てる一例、図42は80サンプルの中に3本のパルスを立てる一例、をそれぞれ示している。なお、図41及び図42において、表の下部に記載されている数はパルス位置の組み合わせの数である。
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来の代数符号帳を用いた雑音符号ベクトル生成器においては、各音源パルスの探索位置が独立しており、ある音源パルスと別の音源パルスとの相対的位置関係を利用することはない。このため、様々な形状の雑音符号ベクトルを生成することが可能である一方、十分なパルス位置を表現するために多くのビット数が必要となり、生成されるべき雑音符号ベクトルの形状に偏りが見られる場合には、必ずしも効率的な符号帳ではないという問題がある。また、代数符号帳に必要なビット数を減らすために、音源パルス数を減らす手法が考えられるが、この場合は音源パルスが少ないために無声部や定常雑音部での主観的品質が大きく劣化するという問題がある。また、無声部や定常雑音部の主観的品質を改善するために、音源のモード切換えを行うという手法があるが、モード判定誤りが生じた場合の問題がある。
【0008】
本発明はかかる点に鑑みてなされたものであり、雑音符号帳のサイズを削減することができ、無声部や定常雑音部に対する品質を改善することができ、しかもモード判定誤り時の品質劣化を抑えつつ、無声音声や背景雑音に対する符号化性能を改善することができる音声符号化装置及び音声符号化方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の音声符号化装置は、音源パルスで構成された音源ベクトルを生成する音源ベクトル生成手段と、拡散パタンを生成する拡散パタン生成手段と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散手段と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化手段と、を具備する音声符号化装置であって、前記拡散パタン生成手段は、ノイズ区間の平均パワが所定の閾値より大きい場合には拡散パタンの少なくとも1サンプル目の振幅値を小さくし、ノイズ区間の平均パワが前記閾値以下の場合には拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、または、ノイズ区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、音声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、あるいは、無声区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、有声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する、構成を採る。
【0021】
この構成によれば、互いに近接する少なくとも2つのパルスを有する雑音符号ベクトルを生成することにより、代数符号帳サイズを効率的に削減することができ、ビットレート及び演算量の小さい音声符号化装置を実現することができる。
【0039】
本発明の音声符号化方法は、音源パルスで構成された音源ベクトルを生成する音源ベクトル生成工程と、拡散パタンを生成する拡散パタン生成工程と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散工程と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化工程と、を具備する音声符号化方法であって、前記拡散パタン生成工程では、ノイズ区間の平均パワが所定の閾値より大きい場合には拡散パタンの少なくとも1サンプル目の振幅値を小さくし、ノイズ区間の平均パワが前記閾値より小さい場合には拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、または、ノイズ区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、音声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、あるいは、無声区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、有声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する。
【0041】
【発明の実施の形態】
本発明の骨子は、部分的代数符号帳を用いて雑音符号ベクトルを生成することにより、すなわち代数符号帳から生成される複数の音源パルスのうち、少なくとも2本は近接するような組合わせのみを生成する雑音符号ベクトルを用いることにより、代数符号帳サイズを効率的に削減する。また、無声音声や定常雑音信号に対応したランダム符号帳を部分的代数符号帳と併用することにより、すなわち無声部や定常雑音部に有効な音源ベクトルを格納することによって、無声部や定常雑音部に対する主観的品質を改善する。さらに、モード判定結果によって、部分的代数符号帳サイズと、併用するランダム符号帳のサイズとの比率を切換えることにより、モード判定誤り時の品質劣化を抑えつつ、無声音声や背景雑音に対する符号化性能を改善して主観的品質を改善する。
【0042】
ここで、近接するパルスとは、あるパルスからの距離が1.25ms以下、すなわち8kHzサンプリングのディジタル信号において、10サンプル程度以下であるパルスのことをいう。
【0043】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0044】
(実施の形態1)
図1は、本発明に係る音声符号化及び/又は復号化装置を備えた音声信号送信機及び/又は受信機を示すブロック図である。
【0045】
図1に示す音声信号送信機では、音声信号101が音声入力装置102によって電気的アナログ信号に変換され、A/D変換器103に出力される。アナログ音声信号は、A/D変換器103によってディジタル音声信号に変換され、音声符号化装置104に出力される。音声符号化装置104は、音声符号化処理を行い、符号化した情報をRF変調装置105に出力する。RF変調装置105においては、符号化された音声信号に対して、変調・増幅・符号拡散などの電波として送出するための処理を行い、符号化された音声信号を送信アンテナ106に出力する。最後に送信アンテナ106から電波(RF信号)が送出される。
【0046】
一方、受信機においては、電波(RF信号)を受信アンテナ107で受信する。受信信号は、RF復調装置108に送られる。RF復調器108は、符号逆拡散・復調など電波信号を符号化情報に変換するための処理を行い、符号化情報を音声復号化装置109に出力する。音声復号化装置109は、符号化情報の復号処理を行ってディジタル復号音声信号をD/A変換器110へ出力する。D/A変換器110は、音声復号化装置109から出力されたディジタル復号音声信号をアナログ復号音声信号に変換して音声出力装置111に出力する。最後に音声出力装置111が電気的アナログ復号音声信号を復号音声に変換して出力する。
【0047】
次に、上記構成を有する音声信号送信機及び/又は受信機における雑音符号ベクトル生成器について説明する。図2は、実施の形態1に係る雑音符号ベクトル生成器を備えた音声符号化装置を示すブロック図である。同図に示す音声符号化装置は、前処理器201、LPC分析器202、LPC量子化器203、適応符号帳204、乗算器205、部分的代数符号帳206、乗算器207、加算器208、LPC合成フィルタ209、加算器210、聴覚重みづけ器211、誤差最小化器212を備える。
【0048】
この雑音符号ベクトル生成器においては、入力音声データは、音声信号をA/D変換して得られるディジタル信号であり、処理単位時間(フレーム)毎に前処理器201に入力される。前処理器201は、入力音声データを主観的に高品質化したり符号化に適した状態の信号に変換するための処理を行うもので、例えば直流成分をカットするためのハイパスフィルタ処理や音声信号の特徴を強調するようなプリエンファシス処理などを行う。
【0049】
前処理後の信号は、LPC分析器202と加算器210とに出力される。LPC分析器202は、前処理器201から入力した信号を用いてLPC分析(線形予測分析)を行い、得られたLPC(線形予測係数)をLPC量子化器203に出力する。LPC量子化器203は、LPC分析器202から入力したLPCの量子化を行い、量子化LPCをLPC合成フィルタ209へ出力し、量子化LPCの符号化データを伝送路を通じて復号器側へ出力する。
【0050】
適応符号帳204は、過去に生成した励振ベクトル(加算器208から出力されるベクトル)のバッファであり、誤差最小化器212によって指定された位置から適応符号ベクトルを切り出して乗算器205へ出力する。乗算器205は適応符号帳204から出力された適応符号ベクトルに適応符号ベクトル利得を乗じて加算器208へ出力する。適応符号ベクトル利得は、誤差最小化器によって指定される。部分的代数符号帳206は、後述する図4や図10又はこれに類する構成を有する符号帳であり、少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトルを乗算器207へ出力する。
【0051】
乗算器207は、部分的代数符号帳206から出力された雑音符号ベクトルに雑音符号ベクトル利得を乗じて加算器208へ出力する。加算器208は、乗算器205から出力された適応符号ベクトル利得乗算後の適応符号ベクトルと乗算器207から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳204とLPC合成フィルタ209とに出力する。
【0052】
適応符号帳204へ出力された励振ベクトルは、適応符号帳204を更新する場合に用いられ、LPC合成フィルタ209に出力された励振ベクトルは、合成音声を生成するために用いられる。LPC合成フィルタ209は、LPC量子化器203から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器208から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を加算器210に出力する。
【0053】
加算器210は、前処理器201から出力された前処理後の入力音声信号とLPC合成フィルタ209から出力された合成信号との差分(誤差)信号を計算し、聴覚重みづけ器211に出力する。聴覚重みづけ器211は、加算器210から出力される差分信号を入力として、聴覚的な重みづけを行い、誤差最小化器212へ出力する。誤差最小化器212は、聴覚重みづけ器211から出力された聴覚重みづけ後の差分信号を入力として、例えばその2乗和が最小となるように適応符号帳204から適応符号ベクトルを切り出す位置と、部分的代数符号帳206から生成する雑音符号ベクトルと、乗算器205で乗じる適応符号ベクトル利得と、乗算器207で乗じる雑音符号ベクトル利得との値を調整し、各々を符号化し音源パラメータ符号化データとして伝送路を通じて復号器側に出力する。
【0054】
図3は、実施の形態1に係る雑音符号ベクトル生成器を備えた音声復号化装置を示すブロック図である。同図に示す音声復号化装置は、LPC復号器301、音源パラメータ復号器302、適応符号帳303、乗算器304、部分的代数符号帳305、乗算器306、加算器307、LPC合成フィルタ308、後処理器309を備える。
【0055】
伝送路を通じてLPC符号化データと音源パラメータ符号化データがフレーム単位でLPC復号器301と音源パラメータ復号器302とにそれぞれ入力される。LPC復号器301は、量子化LPCを復号してLPC合成フィルタ308に出力する。後処理器309で量子化LPCを使用する場合は、後処理器309にも同時に出力される。音源パラメータ復号器302は、適応符号ベクトルを切り出す位置情報と、適応符号ベクトル利得と、雑音符号ベクトルを指定するインデックス情報と、雑音符号ベクトル利得とを、適応符号帳303と、乗算器304と、部分的代数符号帳305と、乗算器306とにそれぞれ出力する。
【0056】
適応符号帳303は、過去に生成した励振ベクトル(加算器307から出力されるベクトル)のバッファであり、音源パラメータ復号器302から入力した切り出し位置から適応符号ベクトルを切り出して乗算器304に出力する。乗算器304は、適応符号帳303から出力された適応符号ベクトルに、音源パラメータ復号器302から入力した適応符号ベクトル利得を乗じて加算器307へ出力する。
【0057】
部分的代数符号帳305は、後述する図4や図10又はこれに類する構成を有する図2の206に示したものと同一の部分的代数符号帳であり、音源パラメータ復号器304から入力したインデックスで指定される少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトルを乗算器306へ出力する。
【0058】
乗算器306は、部分的代数符号帳から出力された雑音符号ベクトルに、音源パラメータ復号器302から入力される雑音符号ベクトル利得を乗じて、加算器307へ出力する。加算器307は、乗算器306から出力される適応符号ベクトル利得乗算後の適応符号ベクトルと、乗算器306から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳303とLPC合成フィルタ308とに出力する。
【0059】
適応符号帳303へ出力された励振ベクトルは、適応符号帳303を更新する場合に用いられ、LPC合成フィルタ308に出力された励振ベクトルは、合成音声を生成するために用いられる。LPC合成フィルタ308は、LPC復号器301から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器307から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を後処理器309に出力する。
【0060】
後処理器309は、LPC合成フィルタ308から出力される合成音声に対して、ホルマント強調処理やピッチ強調処理やスペクトル傾斜補正処理などから成るポストフィルタ処理や定常的な背景雑音を聞きやすくするための処理など主観的品質を改善するための処理を行い、復号音声データとして出力する。
【0061】
次に、本発明に係る雑音符号ベクトル生成器について詳細に説明する。図4は、本発明の実施の形態1に係る雑音符号ベクトル生成装置の構成を示すブロック図である。
【0062】
第1のパルス発生器401は、例えば図5(a)のパルス番号1の欄に示されるような予め定められた位置候補の一つに第1のパルスを立て、加算器404に出力する。また同時に、第1のパルス発生器401は、第1のパルスを立てた位置情報をパルス位置限定器402に出力する。パルス位置限定器402は、第1のパルス発生器401から第1のパルス位置を入力し、その位置を基準にして第2のパルスの位置候補を決定する。
【0063】
第2のパルスの位置候補は、例えば図5(a)のパルス番号2の欄に示されるように第1のパルスの位置(=P1)からの相対表現で表される。パルス位置限定器402は、第2のパルスの位置候補を第2のパルス発生器403へ出力する。第2のパルス発生器403は、パルス位置限定器402から入力された第2のパルスの位置候補の一つに第2のパルスを立て、加算器404に出力する。
【0064】
加算器404は、第1のパルス発生器401から出力された第1のパルスと第2のパルス発生器403から出力された第2のパルスとを入力して2本のパルスから成る第1の雑音符号ベクトルを切換えスイッチ409に出力する。
【0065】
一方、第2のパルス発生器407は、例えば図5(b)のパルス番号2の欄に示されるような予め定められた位置候補の一つに第2のパルスを立て、加算器408に出力する。また同時に、第2のパルス発生器407は、第2のパルスを立てた位置情報をパルス位置限定器406に出力する。パルス位置限定器406は、第2のパルス発生器407から第2のパルス位置を入力し、その位置を基準にして第1のパルスの位置候補を決定する。
【0066】
第1のパルスの位置候補は、例えば図5(b)のパルス番号1の欄に示されるように第2のパルスの位置(=P2)からの相対表現で表される。パルス位置限定器406は、第1のパルスの位置候補を第1のパルス発生器405へ出力する。第1のパルス発生器405は、パルス位置限定器406から入力された第1のパルスの位置候補の一つに第1のパルスを立て、加算器408に出力する。
【0067】
加算器408は、第1のパルス発生器405から出力された第1のパルスと第2のパルス発生器407から出力された第2のパルスとを入力して2本のパルスから成る第2の雑音符号ベクトルを切換えスイッチ409に出力する。
【0068】
切換えスイッチ409は、加算器404から出力される第1の雑音符号ベクトルと、加算器408から出力される第2の雑音符号ベクトルのどちらか一方を選択して最終的な雑音符号ベクトル410として出力する。この選択は外部からの制御によって指定される。
【0069】
なお、2本のパルスのうち一方を上記のように絶対位置で表し、他方を上記のように相対位置で表現した場合、絶対位置で表されるパルスがフレーム末尾付近にある場合に相対位置で表現されるパルスがフレーム外にはみ出す場合がある。このため、実際の探索アルゴリズムにおいては、はみ出す組合わせが生じる部分のみ別パターンとし、図5に示すように3種類の探索位置パターン(a〜c)に分けて探索することが考えられる。図5はフレーム長を80サンプル(0〜79)とし、1フレームの中に2本のパルスを立てる場合の一例を示す。図5に示した符号帳からは、図40に示す従来の代数符号帳から生成できる雑音符号ベクトルの総エントリの一部のみを生成できる。この意味で、図5に示すような本発明の代数符号帳を部分的代数符号帳と呼ぶこととする。
【0070】
以下に図6〜図8を参照して図5の符号帳を用いた上記実施の形態における雑音符号ベクトル生成方法(符号化方法、雑音符号帳探索方法)の処理の流れについて説明する。図6では、パルスの極性(+、−)は別途符号化されること想定してパルスの位置のみを符号化する場合について具体的に示している。
【0071】
まず、ステップ(以下、STと省略する)601において、ループ変数i、誤差関数最大値Max、インデックスidx、出力インデックスindex、第1のパルス位置position1、第2のパルス位置position2の初期化が行われる。
【0072】
ここで、ループ変数iは、絶対位置で表現されるパルスのループ変数として使われ、初期値は0である。誤差関数最大値Maxは、表現可能な最小値(例えば「−10^32」)に初期化され、探索ループで計算される誤差評価関数の最大化を行うために用いられる。インデックスidxは、本雑音符号ベクトル生成方法によって生成されるコードベクトルの各々に付与されるインデックスで、初期値は0であり、パルスの位置を一つ変えるたびにインクリメントされる。indexは、最終的に出力される雑音符号ベクトルのインデックス、position1は、最終的に決定される第1のパルスの位置、position2は、最終的に決定される第2のパルスの位置である。
【0073】
次に、ST602において、第1のパルス位置(p1)をpos1a[j]にセットする。pos1a[ ]は、図5(a)のパルス番号1の欄に示される位置(0、2、・・、72)である。ここでは、第1のパルスが絶対位置で表現されるパルスである。
【0074】
次に、STプ603においてループ変数jの初期化が行われる。ループ変数jは相対位置で表現されるパルスのループ変数で、初期値は0である。ここでは、第2のパルスが相対位置で表現される。
【0075】
次に、ST604において、第2のパルス位置(p2)をp1+pos2a[j]にセットする。p1は既にST602においてセットされている第1のパルス位置であり、pos2a[4]={1、3、5、7}である。pos2a[ ]の要素数を減らすことにより部分的代数符号帳のサイズ(雑音符号ベクトルの総エントリ数)を減らすことができる。この場合、減らした数に応じて図5(c)の内容を変更する必要がある。また、増やす場合も同様である。
【0076】
次に、ST605において、セットされた2本のパルス位置にパルスを立てた場合の誤差評価関数Eの計算を行う。誤差評価関数は、ターゲットとなるベクトルと雑音符号ベクトルから合成されるベクトルとの誤差を評価するためのもので、例えば下記式(1)が用いられる。なお、CELP符号化器で一般的によく用いられるように、適応符号ベクトルに対して雑音符号ベクトルを直交化する場合には式(1)を変形した式を用いることになる。式(1)の値が最大になるときにターゲットとしているベクトルと雑音符号ベクトルで合成フィルタを駆動して得られる合成ベクトルとの誤差が最小となる。
【数1】
Figure 0004173940
【0077】
次に、ST606において、誤差評価関数Eの値が誤差評価関数最大値Maxを越えているかどうかの判定を行う。E値が最大値Maxを越えていれば、ST607に進み、越えていなければST607をスキップしてST608に進む。
【0078】
ST607では、indexとMaxとposition1とposition2の更新が行われる。即ち、誤差評価関数最大値MaxをST605にて計算された誤差評価関数Eに更新し、indexをidxに更新し、position1を第1のパルスの位置p1に更新し、position2を第2のパルスの位置p2に更新する。
【0079】
次に、ST608において、ループ変数jとインデックス番号idxをそれぞれインクリメントする。ループ変数jをインクリメントすることによって第2のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0080】
次に、ST609において、ループ変数jが第2のパルスの位置候補の総数NUM2a未満かどうかのチェックを行う。図5に示す部分的代数符号帳では、NUM2a=4である。ループ変数jがNUM2a未満の場合はjのループを繰り返すためにST604に戻る。ループ変数jがNUM2aに達していれば、jのループは終了しST610に進む。
【0081】
ST610では、ループ変数iのインクリメントが行われる。ループ変数iをインクリメントすることによって第1のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0082】
次に、ST611において、ループ変数iが第1のパルスの位置候補の総数NUM1a未満かどうかのチェックを行う。図5に示す部分的代数符号帳では、NUM1a=37である。ループ変数iがNUM1a未満の場合はiのループを繰り返すためにST602に戻る。ループ変数iがNUM1aに達していれば、iのループは終了し、図7のST701に進む。ST612に進んだ時点で図5(a)の探索は終了し、図5(b)の探索ループが開始される。
【0083】
次に、ST701では、ループ変数iがクリアされて0になる。ST702において、第2のパルス位置(p2)をpos2b[i]にセットする。pos2b[ ]は図5(b)のパルス番号2の欄に示される位置(1、3、・・、61)である。ここでは第2のパルスが絶対位置で表現されるパルスである。
【0084】
次に、ST703においてループ変数jの初期化が行われる。ループ変数jは相対位置で表現されるパルスのループ変数で、初期値は0である。ここでは、第1のパルスが相対位置で表現される。
【0085】
次に、ST704において第1のパルス位置(p1)をp2+pos1b[j]にセットする。p2は既にST702においてセットされている第2のパルス位置、pos1b[4]={1、3、5、7}である。pos1b[ ]の要素数を減らすことにより部分的代数符号帳のサイズ(雑音符号ベクトルの総エントリ数)を減らすことができる。この場合、減らした数に応じて図5(c)の内容を変更する必要がある。また、pos1b[ ]の要素数を増やす場合も同様である。
【0086】
次に、ST705において、セットされた2本のパルス位置にパルスを立てた場合の誤差評価関数Eの計算を行う。誤差評価関数は、ターゲットとなるベクトルと雑音符号ベクトルから合成されるベクトルとの誤差を評価するためのもので、例えば式(1)に示されるような式が用いられる。なお、CELP符号化器で一般的によく用いられるように、適応符号ベクトルに対して雑音符号ベクトルを直交化する場合には式(1)を変形した式を用いることになる。式(1)の値が最大になるときにターゲットとしているベクトルと雑音符号ベクトルで合成フィルタを駆動して得られる合成ベクトルとの誤差が最小となる。
【0087】
次に、ST706において、誤差評価関数Eの値が誤差評価関数最大値Maxを越えているかどうかの判定を行う。E値が最大値Maxを越えていればST707に進み、越えていなければST707をスキップしてST708に進む。
【0088】
ST707では、indexとMaxとposition1とposition2の更新が行われる。即ち、誤差評価関数最大値MaxをST705にて計算された誤差評価関数Eに更新し、indexをidxに更新し、position1を第1のパルスの位置p1に更新し、position2を第2のパルスの位置p2に更新する。
【0089】
次に、ST708において、ループ変数jとインデックス番号idxをそれぞれインクリメントする。ループ変数jをインクリメントすることによって第1のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0090】
次に、ST709において、ループ変数jが第1のパルスの位置候補の総数NUM1b未満かどうかのチェックを行う。図5に示す部分的代数符号帳では、NUM1b=4である。ループ変数jがNUM1b未満の場合は、jのループを繰り返すためにST704に戻る。ループ変数jがNUM1bに達していれば、jのループは終了しST710に進む。
【0091】
ST701では、ループ変数iのインクリメントが行われる。ループ変数iをインクリメントすることによって第2のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0092】
次に、ST711において、ループ変数iが第2のパルスの位置候補の総数NUM2b未満かどうかのチェックを行う。図5に示す部分的代数符号帳では、NUM2b=36である。ループ変数iがNUM2b未満の場合は、iのループを繰り返すためにST702に戻る。ループ変数iがNUM2bに達していれば、iのループは終了し、図8のST801に進む。ST801に進んだ時点で図5(b)の探索は終了し、図5(c)の探索ループが開始される。
【0093】
ST801では、ループ変数iがクリアされて0になる。次に、ST802において第1のパルス位置(p1)をpos1c[i]にセットする。pos1c[ ]は図5(c)のパルス番号1の欄に示される位置(74、76、78)である。ここでは第1第2双方のパルスが絶対位置で表現される。
【0094】
次に、ST803においてループ変数jの初期化が行われる。ループ変数jは第2のパルスのループ変数で、初期値は0である。
【0095】
次に、ST804において、第2のパルス位置(p2)をpos2c[j]にセットする。pos2c[ ]は図5(c)のパルス番号2の欄に示される位置{73、75、77、79}である。
【0096】
次に、ST805において、セットされた2本のパルス位置にパルスを立てた場合の誤差関数Eの計算を行う。誤差関数は、ターゲットとなるベクトルと雑音符号ベクトルから合成されるベクトルとの誤差を評価するためのもので、例えば式(1)に示されるような式が用いられる。なお、CELP符号化器で一般的によく用いられるように、適応符号ベクトルに対して雑音符号ベクトルを直交化する場合には、式(1)を変形した式を用いることになる。式(1)の値が最大になるときにターゲットとしているベクトルと雑音符号ベクトルで合成フィルタを駆動して得られる合成ベクトルとの誤差が最小となる。
【0097】
次に、ST806において、誤差評価関数Eの値が誤差評価関数最大値Maxを越えているかどうかの判定を行う。越えていればST807に進み、越えていなければST807をスキップしてST808に進む。ST807では、indexとMaxとposition1とposition2の更新が行われる。即ち、誤差評価関数最大値MaxをST805にて計算された誤差評価関数Eに更新し、indexをidxに更新し、position1を第1のパルスの位置p1に更新し、position2を第2のパルスの位置p2に更新する。
【0098】
次に、ST808において、ループ変数jとインデックス番号idxをそれぞれインクリメントする。ループ変数jをインクリメントすることによって第2のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0099】
次に、ST809において、ループ変数jが第2のパルスの位置候補の総数NUM2c未満かどうかのチェックを行う。図5に示す部分的代数符号帳では、NUM2c=4である。ループ変数jがNUM2c未満の場合はjのループを繰り返すためにST804に戻る。ループ変数jがNUM2cに達していれば、jのループは終了しST810に進む。
【0100】
ST810では、ループ変数iのインクリメントが行われる。ループ変数iをインクリメントすることによって第1のパルスの位置を動かし、次のインデックス番号の雑音符号ベクトルを評価することになる。
【0101】
次に、ST811において、ループ変数iが第1のパルスの位置候補の総数NUM1c未満かどうかのチェックを行う。図5に示した部分的代数符号帳では、NUM1c=3である。ループ変数iがNUM1c未満の場合はiのループを繰り返すためにST802に戻る。ループ変数iがNUM1cに達していれば、iのループは終了しST812に進む。ST812に進んだ時点で図5(c)の探索は終了し、全ての探索が終了する。
【0102】
最後に、ST812において、探索結果であるindexが出力される。indexに対応する2本のパルス位置position1とposition2は出力する必要はないが、局部復号用に使用することができる。なお、各パルスの極性(+か−か)は、式(1)におけるベクトルxHと合わせることにより(式(1)におけるxHとcの相関が正のときのみを考えることにより)、予め決定しておくことが可能であるので、上記実施の形態では省略している。
【0103】
以下に図9を参照して図5の符号帳を用いた上記実施の形態における雑音符号ベクトル生成方法(復号化方法)の処理の流れを説明する。図9では、パルスの極性(+、−)は別途復号化されること想定してパルスの位置のみを復号化する場合について具体的に示している。
【0104】
まず、ST901において、符号器から受け取った雑音符号ベクトルのインデックスindexがIDX1未満かどうかをチェックする。IDX1は図5の符号帳における(a)の部分の符号帳サイズで、図6のST601における時点でのidxの値である。より具体的にはIDX1=32×4=128である。indexがIDX1未満であれば、2本のパルス位置は図5(a)で表現される部分であるので、ST602に進む。indexがIDX1以上である場合は、図5(b)又は(c)の部分になるのでさらにチェックを行うため、ST905に進む。
【0105】
ST902では、indexをNum2aで割った商idx1を求める。idx1は第1のパルスのインデックス番号となる。ST902においてint()は( )内の整数部を求める関数である。
【0106】
次に、ST903において、indexをNum2aで割った余りidx2を求める。idx2は第2のパルスのインデックス番号となる。
【0107】
次に、ST904において、ST902で求められたidx1を用いた第1のパルスの位置position1を、ST903で求められたidx2を用いて第2のパルスの位置position2を、それぞれ図5(a)の符号帳を用いて決定する。決定されたposition1とposition2はST914で用いられる。
【0108】
ST901でindexがIDX1以上である場合は、ST905に進む。ST905では、indexがIDX2未満かどうかをチェックする。IDX2は図5の符号帳における(a)の部分と(b)の部分を合わせた符号帳サイズで、図6のST801における時点でのidxの値である。より具体的にはIDX2=32×4+31×4=252である。indexがIDX2未満であれば、2本のパルス位置は図5(b)で表現される部分であるので、ST906に進む。indexがIDX2以上である場合は、図5(c)で表現される部分であるので、ST910に進む。
【0109】
ST906では、indexからIDX1を減じて、ST907に進む。ST907では、IDX1減算後のindexをNum1bで割った商idx2を求める。このidx2は第2のパルスのインデックス番号となる。ST907においてint( )は( )内の整数部を求める関数である。
【0110】
次に、ST908において、IDX1減算後のindexをNum1bで割った余りidx1を求める。このidx1は第1のパルスのインデックス番号となる。
【0111】
次に、ST909において、ST907で求められたidx2を用いた第2のパルスの位置position2を、ST908で求められたidx1を用いて第1のパルスの位置position1を、それぞれ図5(b)の符号帳を用いて決定する。決定されたposition1とposition2はST914で用いられる。
【0112】
ST905でindexがIDX2以上である場合は、ST910に進む。ST910では、indexからIDX2を減じて、ST911に進む。ST911では、IDX2減算後のindexをNum2cで割った商idx1を求める。このidx1は第1のパルスのインデックス番号となる。ST911においてint( )は( )内の整数部を求める関数である。
【0113】
次に、ST912において、IDX2減算後のindexをNum2cで割った余りidx2を求める。このidx2は第2のパルスのインデックス番号となる。
【0114】
次に、ST913において、ST911で求められたidx1を用いた第1のパルスの位置position1を、ST912で求められたidx2を用いて第2のパルスの位置position2を、それぞれ図5(c)の符号帳を用いて決定する。決定されたposition1とposition2はST914で用いられる。
【0115】
ST914では、第1のパルスの位置position1と第2のパルスの位置position2とを用いて雑音符号ベクトルcode[ ]を生成する。即ち、code[position1]とcode[position2]以外は0であるベクトルを生成する。code「position1」とcode「position2」は別途復号されている極性sign1とsign2によって+1又は1となる(sign1及びsign2は+1又は1の値をとる)。code[ ]が復号される雑音符号ベクトルである。
【0116】
次に、パルス数が3本である部分的代数符号帳の構成例を図10に示す。
【0117】
図10における構成例は、3本のうち少なくとも2本は近接した位置に配置されるようにパルス探索位置を限定する構成を採る。この構成に対応する符号帳を図11に示す。
【0118】
図10を用いて以下に説明を加える。第1のパルス発生器1001は、例えば図11(a)のパルス番号1の欄に示されるような予め定められた位置候補の一つに第1のパルスを立て、加算器1005に出力する。また同時に、第1のパルス発生器1001は、第1のパルスを立てた位置情報をパルス位置限定器1002に出力する。パルス位置限定器1002は、第1のパルス発生器1001から第1のパルスの位置情報を入力し、その位置を基準にして第2のパルスの位置候補を決定する。第2のパルスの位置候補は例えば図11(a)のパルス番号2の欄に示されるように第1のパルスの位置(=P1)からの相対表現で表される。
【0119】
パルス位置限定器1002は、第2のパルス位置の候補を第2のパルス発生器1003へ出力する。第2のパルス発生器1003は、パルス位置限定器1002から入力された第2のパルスの位置候補の一つに第2のパルスを立て、加算器1005へ出力する。第3のパルス発生器1004は、例えば図11(a)のパルス番号3の欄に示されるような予め定められた位置候補の一つに第3のパルスを立て、加算器1005に出力する。加算器1005は、1001、1003、1004の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換スイッチ1031に出力する。
【0120】
第1のパルス発生器1006は、例えば図11(d)のパルス番号1の欄に示されるような予め定められた位置候補の一つに第1のパルスを立て、加算器1010に出力する。また同時に、第1のパルス発生器1006は、第1のパルスを立てた位置情報をパルス位置限定器1007に出力する。パルス位置限定器1007は、第1のパルス発生器1006から第1のパルスの位置情報を入力し、その位置を基準として第3のパルスの位置候補を決定する。第3のパルスの位置候補は例えば図11(d)のパルス番号3の欄に示されるように第1のパルスの位置(=P1)からの相対表現で表される。
【0121】
パルス位置限定器1007は、第3のパルス位置の候補を第3のパルス発生器1008へ出力する。第3のパルス発生器1008は、パルス位置限定器1007から入力された第3のパルスの位置候補の一つに第3のパルスを立て、加算器1010へ出力する。第2のパルス発生器1009は、例えば図11(d)のパルス番号2の欄に示されるような予め定められた位置候補の一つに第2のパルスを立て、加算器1010に出力する。加算器1010は、1006、1008、1009の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換スイッチ1031に出力する。
【0122】
第3のパルス発生器1011は、例えば図11(b)のパルス番号3の欄に示されるような予め定められた位置候補の一つに第3のパルスを立て、加算器1015に出力する。第2のパルス発生器1012は、例えば図11(b)のパルス番号2の欄に示されるような予め定められた位置候補の一つに第2のパルスを立て、加算器1015に出力する。また同時に、第2のパルス発生器1012は、第2のパルスを立てた位置をパルス位置限定器1013に出力する。パルス位置限定器1013は、第2のパルス発生器1012から第2のパルスの位置を入力し、その位置を基準として第1のパルスの位置候補を決定する。第1のパルスの位置候補は例えば図11(b)のパルス番号1の欄に示されるように第2のパルスの位置(=P2)からの相対表現で表される。
【0123】
パルス位置限定器1013は、第1のパルスの位置候補を第1のパルス発生器1014へ出力する。第1のパルス発生器1014は、パルス位置限定器1013から入力された第1のパルスの位置候補の一つに第1のパルスを立て、加算器1015へ出力する。加算器1015は、1011、1012、1014の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換えスイッチ1031に出力する。
【0124】
第1のパルス発生器1016は、例えば図11(g)のパルス番号1の欄に示されるような予め定められた位置候補の一つに第1のパルスを立て、加算器1020に出力する。第2のパルス発生器1017は、例えば図11(g)のパルス番号2の欄に示されるような予め定められた位置候補の一つに第2のパルスを立て、加算器1020に出力する。また同時に、第2のパルス発生器1017は、第2のパルスを立てた位置をパルス位置限定器1018に出力する。パルス位置限定器1018は、第2のパルス発生器1017から第2のパルスの位置を入力し、その位置を基準として第3のパルスの位置候補を決定する。第3のパルスの位置候補は例えば図11(g)のパルス番号3の欄に示されるように第2のパルスの位置(=P2)からの相対表現で表される。
【0125】
パルス位置限定器1018は、第3のパルスの位置候補を第3のパルス発生器1019へ出力する。第3のパルス発生器1019は、パルス位置限定器1018から入力された第3のパルスの位置候補の一つに第3のパルスを立て、加算器1020へ出力する。加算器1020は、1016、1017、1019の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換スイッチ1031に出力する。
【0126】
第2のパルス発生器1021は、例えば図11(e)のパルス番号2の欄に示されるような予め定められた位置候補の一つに第2のパルスを立て、加算器1025に出力する。第3のパルス発生器1024は、例えば図11(e)のパルス番号3の欄に示されるような予め定められた位置候補の一つに第3のパルスを立て、加算器1025に出力する。また同時に、第3のパルス発生器1024は、第3のパルスを立てた位置をパルス位置限定器1023に出力する。パルス位置限定器1023は、第3のパルス発生器1024から第3のパルスの位置を入力し、その位置を基準として第1のパルスの位置候補を決定する。第1のパルスの位置候補は例えば図11(e)のパルス番号1の欄に示されるように第3のパルスの位置(=P3)からの相対表現で表される。
【0127】
パルス位置限定器1023は、第1のパルスの位置候補を第1のパルス発生器1022へ出力する。第1のパルス発生器1022は、パルス位置限定器1023から入力された第1のパルスの位置候補の一つに第1のパルスを立て、加算器1025へ出力する。加算器1025は、1021、1022、1024の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換スイッチ1031に出力する。
【0128】
第1のパルス発生器1026は、例えば図11(h)のパルス番号1の欄に示されるような予め定められた位置候補の一つに第1のパルスを立て、加算器1030に出力する。第3のパルス発生器1029は、例えば図11(h)のパルス番号3の欄に示されるような予め定められた位置候補の一つに第3のパルスを立て、加算器1030に出力する。また同時に、第3のパルス発生器1029は、第3のパルスを立てた位置をパルス位置限定器1028に出力する。パルス位置限定器1028は、第3のパルス発生器1029から第3のパルスの位置を入力し、その位置を基準として第2のパルスの位置候補を決定する。第2のパルスの位置候補は、例えば図11(h)のパルス番号2の欄に示されるように第3のパルスの位置(=P3)からの相対表現で表される。
【0129】
パルス位置限定器1028は、第2のパルスの位置候補を第2のパルス発生器1027へ出力する。第2のパルス発生器1027は、パルス位置限定器1028から入力された第2のパルスの位置候補の一つに第2のパルスを立て、加算器1030へ出力する。加算器1030は、1026、1027、1029の各パルス発生器から出力された合計3つのインパルスベクトルのベクトル加算を行い、3本のパルスから成る雑音符号ベクトルを切換スイッチ1031に出力する。
【0130】
切換スイッチ1031は、1005、1010、1015、1020、1025、1030の各加算器から入力される、合計6種類の雑音符号ベクトルの中から1つを選び、雑音符号ベクトル1032を出力する。この選択は外部からの制御によって指定される。
【0131】
なお、図5及び図11においては、相対位置で表現されるパルスがフレームからはみ出す場合を想定して、図5(c)や図11(c)(f)(i)を設けているが、絶対位置で表現されるパルスの位置候補の範囲がフレームの前方に偏っているために相対位置で表現されるパルスがフレームからはみ出すことが有り得ない場合には、これらの部分(図5(c)など)は省略可能である。
【0132】
(実施の形態2)
図12は、実施の形態2に係る雑音符号ベクトル生成器を備えた音声符号化装置を示すブロック図である。同図に示す音声符号化装置は、前処理器1201、LPC分析器1202、LPC量子化器1203、適応符号帳1204、乗算器1205、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1206、乗算器1207、加算器1208、LPC合成フィルタ1209、加算器1210、聴覚重みづけ器1211、誤差最小化器1212を備える。
【0133】
この音声符号化装置において、入力音声データは、音声信号をA/D変換して得られるディジタル信号であり、処理単位時間(フレーム)毎に前処理器1201に入力される。前処理器1201は、入力音声データを主観的に高品質化したり符号化に適した状態の信号に変換するための処理を行うもので、例えば直流成分をカットするためのハイパスフィルタ処理や音声信号の特徴を強調するようなプリエンファシス処理などを行う。
【0134】
前処理後の信号は、LPC分析器1202と加算器1210とに出力される。LPC分析器1202は、前処理器1201から入力した信号を用いてLPC分析(線形予測分析)を行い、得られたLPC(線形予測係数)をLPC量子化器1203に出力する。LPC量子化器1203は、LPC分析器1202から入力したLPCの量子化を行い、量子化LPCをLPC合成フィルタ1209へ出力し、量子化LPCの符号化データを伝送路を通じて復号器側へ出力する。
【0135】
適応符号帳1204は、過去に生成した励振ベクトル(加算器1208から出力されるベクトル)のバッファであり、誤差最小化器1212によって指定された位置から適応符号ベクトルを切り出して乗算器1205へ出力する。乗算器1205は、適応符号帳1204から出力された適応符号ベクトルに適応符号ベクトル利得を乗じて加算器1208へ出力する。適応符号ベクトル利得は、誤差最小化器によって指定される。
【0136】
部分的代数符号帳とランダム符号帳から成る雑音符号帳1206は、後述する図14に示す構成を有した符号帳であり、少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトル又はスパース率(フレーム全体のサンプル数に対する振幅ゼロのサンプル数の割合)90%程度以下の雑音符号ベクトルのいずれかを乗算器1207へ出力する。
【0137】
乗算器1207は、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1206から出力された雑音符号ベクトルに雑音符号ベクトル利得を乗じて加算器1208へ出力する。加算器1208は、乗算器1205から出力された適応符号ベクトル利得乗算後の適応符号ベクトルと乗算器1207から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳1204とLPC合成フィルタ1209とに出力する。
【0138】
適応符号帳1204へ出力された励振ベクトルは、適応符号帳1204を更新するのに用いられ、LPC合成フィルタ1209に出力された励振ベクトルは合成音声を生成するために用いられる。LPC合成フィルタ1209は、LPC量子化器1203から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器1208から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を加算器1210に出力する。加算器1210は、前処理器1201から出力された前処理後の入力音声信号とLPC合成フィルタ1209から出力された合成信号との差分(誤差)信号を計算し、聴覚重みづけ器1211に出力する。
【0139】
聴覚重みづけ器1211は、加算器1210から出力される差分信号を入力として、聴覚的な重みづけを行い、誤差最小化器1212へ出力する。誤差最小化器1212は、聴覚重みづけ器1211から出力された聴覚重みづけ後の差分信号を入力として、例えばその2乗和が最小となるように適応符号帳1204から適応符号ベクトルを切り出す位置と部分的代数符号帳とランダム符号帳とから成る雑音符号帳1206から生成する雑音符号ベクトルと乗算器1205で乗じる適応符号ベクトル利得と乗算器1207で乗じる雑音符号ベクトル利得との値を調整し、各々を符号化し音源パラメータ符号化データ1214として伝送路を通じて復号器側に出力する。
【0140】
図13は、実施の形態2にかかる雑音符号ベクトル生成器を備えた音声復号化装置を示すブロック図である。同図に示す音声復号化装置は、LPC復号器1301、音源パラメータ復号器1302、適応符号帳1303、乗算器1304、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1305、乗算器1306、加算器1307、LPC合成フィルタ1308、後処理器1309を備える。
【0141】
この音声復号化装置において、伝送路を通じてLPC符号化データと音源パラメータ符号化データがフレーム単位でLPC復号器1301と音源パラメータ復号器1302とにそれぞれ入力される。LPC復号器1301は、量子化LPCを復号してLPC合成フィルタ1308に出力する。後処理器1309で量子化LPCを使用する場合は、後処理器1309にも同時に量子化LPCがLPC復号器1301から出力される。音源パラメータ復号器1302は、適応符号ベクトルを切り出す位置情報と、適応符号ベクトル利得と、雑音符号ベクトルを指定するインデックス情報と、雑音符号ベクトル利得とを、適応符号帳1303と、乗算器1304と、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1305と、乗算器1306とにそれぞれ出力する。
【0142】
適応符号帳1303は、過去に生成した励振ベクトル(加算器1307から出力されるベクトル)のバッファであり、音源パラメータ復号器1302から入力した切り出し位置から適応符号ベクトルを切り出して乗算器1304に出力する。乗算器1304は、適応符号帳1303から出力された適応符号ベクトルに、音源パラメータ復号器1302から入力した適応符号ベクトル利得を乗じて加算器1307へ出力する。
【0143】
部分的代数符号帳とランダム符号帳とから成る雑音符号帳1305は、図14に示す構成を有した雑音符号帳であり、図12の1206に示したものと同一の雑音符号帳であり、音源パラメータ復号器1302から入力したインデックスで指定される少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトル又はスパース率90%程度以下の雑音符号ベクトルのいずれかを乗算器1306へ出力する。
【0144】
乗算器1306は、部分的代数符号帳から出力された雑音符号ベクトルに、音源パラメータ復号器1302から入力される雑音符号ベクトル利得を乗じて、加算器1306へ出力する。加算器1307は、乗算器1304から出力される適応符号ベクトル利得乗算後の適応符号ベクトルと、乗算器1306から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳1303とLPC合成フィルタ1308とに出力する。
【0145】
適応符号帳1303へ出力された励振ベクトルは、適応符号帳1303を更新する場合に用いられ、LPC合成フィルタ1308に出力された励振ベクトルは、合成音声を生成するために用いられる。LPC合成フィルタ1308は、LPC復号器1301から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器1307から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を後処理器1309に出力する。
【0146】
後処理器1309は、LPC合成フィルタ1308から出力される合成音声に対して、ホルマント強調処理やピッチ強調処理やスペクトル傾斜補正処理などから成るポストフィルタ処理や定常的な背景雑音を聞きやすくするための処理など主観的品質を改善するための処理を行い、復号音声データとして出力する。
【0147】
図14に本発明の実施の形態2にかかる雑音符号ベクトル生成装置の構成を示す。同図に示す雑音符号ベクトル生成装置は、実施の形態1に示した部分的代数符号帳1401とランダム符号帳1402を備える。
【0148】
部分的代数符号帳1401は、2本以上の単位パルスから構成される少なくとも2本のパルスが近接している雑音符号ベクトルを生成し、切換えスイッチ1403に出力する。部分的代数符号帳1401の雑音符号ベクトルの生成方法は実施の形態1に具体的に示されている。
【0149】
ランダム符号帳1402は、部分的代数符号帳1401から生成される雑音符号ベクトルよりも多いパルス本数から成る雑音符号ベクトルを格納しており、格納している雑音符号ベクトルの中から一つのベクトルを選んで切換スイッチ1403に出力する。
【0150】
ランダム符号帳1402は、複数のチャンネルから構成する方が単独の符号帳を用いるよりも演算量、メモリ量の面で有利である。また、2本のパルスが接近しているような雑音符号ベクトルは部分的代数符号帳1401によって生成できるため、全てのパルスが接近していないようなフレーム全体に均などにパルスが立っている雑音符号ベクトルをランダム符号帳1402に格納することによって、無声子音や定常雑音に対する性能を改善することができる。
【0151】
また、ランダム符号帳1401が格納する雑音符号ベクトルのパルス本数は、フレーム長が80サンプルの場合で、演算量を少なくするためには、8〜16本程度にすることが好ましい。この場合、ランダム符号帳1401を2チャンネル構成にすると、各チャンネル4〜8本程度のパルスから成るベクトルを格納すれば良い。また、この様なスパースベクトルにおいて各パルスの振幅を+1か−1にすることにより、さらに演算量、メモリ量の節約を図ることも可能である。
【0152】
切換スイッチ1403は、外部からの制御によって(例えば本雑音符号ベクトルを符号化器に用いる場合はターゲットとの誤差最小化を行うブロックから制御を受け、復号化器に用いる場合は復号した雑音符号ベクトルのインデックスによって制御される)部分的代数符号帳1401から出力された雑音符号ベクトルとランダム符号帳1402から出力された雑音符号ベクトルとのどちらかを選択して、雑音符号ベクトル生成器の出力雑音符号ベクトル1404として出力する。
【0153】
ここで、ランダム符号帳1402から出力される雑音符号ベクトルと、部分的代数符号帳1401から出力される雑音符号ベクトルの割合(ランダム:代数)は、1:1〜2:1、すなわちランダム50〜66%、代数34〜50%であることが望ましい。
【0154】
以下に図15を参照して上記実施の形態における雑音符号ベクトル生成方法(符号化方法、雑音符号帳探索方法)の処理の流れについて説明する。まず、ST1501において部分的代数符号帳の探索を行う。具体的な探索方法の詳細については実施の形態1に示されるように、式(1)の最大化を行うことによって実現される。部分的代数的符号帳のサイズはIDXaであり、本ステップでは、部分的代数符号帳の中からの最適候補のインデックスindex(0≦index<IDXa)が決定される。
【0155】
次に、ST1502においてランダム符号帳の探索を行う。ランダム符号帳の探索はCELP符号化器で一般に行われてる方法を用いて行う。具体的には、式(1)に示される評価式をランダム符号帳に格納されている全ての雑音符号ベクトルに対して計算し、最大となるベクトルに対するインデックスindexを決定する。ただし、既にST1501において、式(1)の最大化が行われているので、ST1501で決定された式(1)の最大値を上回る雑音符号ベクトルが存在する場合のみ、ST1501で決定されたindexを新たなインデックスindex(IDXa≦index<(IDXa+IDXr))に更新する。ST1501で決定された式(1)の最大値を上回る雑音符号ベクトルがランダム符号帳に格納されていない場合は、ST1501で決定された符号化データ(インデックスindex)を雑音符号ベクトルの符号化情報として出力する。
【0156】
以下に図16を参照して上記実施の形態における雑音符号ベクトル生成方法(復号化方法)の処理の流れを説明する。
【0157】
まずST1601において、符号器から伝送され復号された雑音符号ベクトルの符号化情報indexがIDXa未満かどうかを判定する。IDXaは部分的雑音符号帳のサイズである。本雑音符号ベクトル生成器は、サイズIDXaの部分的代数符号帳とサイズIDXrのランダム符号帳とから成る雑音符号帳から雑音符号ベクトルを生成しており、本雑音符号帳はインデックスが0〜(IDXa−1)に部分的代数符号帳を、IDXa〜(IDXa+IDXr−1)にランダム符号帳を備えている。したがって、受け取ったindexがIDXa未満であれば部分的代数符号帳によって雑音符号ベクトルが生成され、IDXa以上((IDXa+IDXr)未満)であればランダム符号帳によって雑音符号ベクトルが生成されることになる。本ステップでindexがIDXa未満であれば、ST1602に進み、IDXa以上であればST1604に進む。
【0158】
ST1602では、部分的代数符号帳パラメータの復号が行われる。具体的な復号方法は、実施の形態1に示されている。例えばパルスが2本の場合はインデックスindexから第1のパルスの位置position1と第2のパルスの位置position2とが復号される。また、パルスの極性情報もindexに含まれる場合は、第1のパルスの極性sign1と第2のパルスの極性sign2も併せて復号される。ここでsign1及びsign2は+1か−1である。
【0159】
次にST1603において、復号した部分的代数符号帳パラメータから雑音符号ベクトルが生成される。具体的には、例えばパルスが2本の場合はposition1の位置に極性がsign1で振幅が1のパルスを立て、position2の位置に極性がsign2で振幅が1のパルスを立て、それ以外の点は全て0としたベクトルcode[0〜Num−1]を雑音符号ベクトルとして出力する。ここで、Numはフレーム長又は雑音符号ベクトル長(サンプル)である。
【0160】
一方、ST1601において、indexがIDXa以上であった場合は、ST1604に進む。ST1604において、indexからIDXaを減じる。これは単にindexを0〜IDXr−1の範囲に変換するためである。ここでIDXrはランダム符号帳のサイズである。
【0161】
次にST1605において、ランダム符号帳パラメータの復号が行われる。具体的には、例えば2チャンネル構成のランダム符号帳の場合第1チャンネルのランダム符号帳インデックスindexR1と第2チャンネルのランダム符号帳インデックスindexR2をindexから復号する。また、indexに各チャンネルの極性情報が含まれる場合は第1チャンネルの極性sign1と第2チャンネルの極性sign2も併せて復号される。sign1及びsign2は+1又は1である。
【0162】
次にST1606において、復号したランダム符号帳パラメータから雑音符号ベクトルが生成される。具体的には、例えばランダム符号帳が2チャンネル構成の場合は第1チャンネルRCB1からRCB1[indexR1][0〜Num−1]を、第2チャンネルRCB2からRCB2[indexR2][0〜Num−1]をそれぞれ取り出し、2つのベクトルを加算したものを雑音符号ベクトルcode[0〜Num−1]として出力する。ここで、Numはフレーム長又は雑音符号ベクトル長(サンプル)である。
【0163】
(実施の形態3)
図17は、実施の形態3に係る雑音符号ベクトル生成器を備えた音声符号化装置を示したブロック図である。同図に示す音声符号化装置は、前処理器1701、LPC分析器1702、LPC量子化器1703、適応符号帳1704、乗算器1705、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1706、乗算器1707、加算器1708、LPC合成フィルタ1709、加算器1710、聴覚重みづけ器1711、誤差最小化器1712、モード判定器1713を備える。
【0164】
この音声符号化装置においては、入力音声データは、音声信号をA/D変換して得られるディジタル信号であり、処理単位時間(フレーム)毎に前処理器1701に入力される。前処理器1701は、入力音声データを主観的に高品質化したり符号化に適した状態の信号に変換するための処理を行うもので、例えば直流成分をカットするためのハイパスフィルタ処理や音声信号の特徴を強調するようなプリエンファシス処理などを行う。
【0165】
前処理後の信号は、LPC分析器1702と加算器1710とに出力される。LPC分析器1702は、前処理器1701から入力した信号を用いてLPC分析(線形予測分析)を行い、得られたLPC(線形予測係数)をLPC量子化器1703に出力する。LPC量子化器904は、LPC分析器903から入力したLPCの量子化を行い、量子化LPCをLPC合成フィルタ1709及びモード判定器1713へ出力し、量子化LPCの符号化データを伝送路を通じて復号器側へ出力する。
【0166】
モード判定器1713は、入力した量子化LPCの動的及び静的特徴を利用するなどして音声区間と非音声区間あるいは有声区間と無声区間の切り分け(モード判定)を行い、判定結果を部分的代数符号帳とランダム符号帳とから成る雑音符号帳1716に出力する。より具体的には、量子化LPCの動的特徴を用いることにより音声区間/非音声区間の切り分けを行い、量子化LPCの静的特徴を用いることにより有声/無声区間の切り分けを行う。量子化LPCの動的特徴としてはフレーム間の変動量や過去に非音声区間と判定された区間における平均的な量子化LPCと現フレームにおける量子化LPCとの距離(差)などを用いることができる。また、量子化LPCの静的特徴としては1次の反射係数などを用いることができる。
【0167】
なお、量子化LPCはLSPや反射係数やLPC予測残差パワなど他の領域のパラメータに変換することによってより有効に利用できる。また、モード情報を伝送することが可能な場合は、量子化LPCのみからモード判定を行うのではなく、入力音声データを分析して得られる様々なパラメータを利用してより正確かつ細かいモード判定を行うこともできる。この場合、モード情報は符号化されてLPC符号化データ1714及び音源パラメータ符号化データ1715とともに伝送路を通じて復号器側に出力される。
【0168】
適応符号帳1704は、過去に生成した励振ベクトル(加算器1708から出力されるベクトル)のバッファであり、誤差最小化器1712によって指定された位置から適応符号ベクトルを切り出して乗算器1705へ出力する。乗算器1705は、適応符号帳1704から出力された適応符号ベクトルに適応符号ベクトル利得を乗じて加算器1708へ出力する。
【0169】
適応符号ベクトル利得は、誤差最小化器によって指定される。部分的代数符号帳とランダム符号帳から成る雑音符号帳1706は、モード判定器1713から入力したモード情報によって部分的代数符号帳とランダム符号帳の比率が切り替わる雑音符号帳であり、図9に示すように、モード情報によって部分的代数符号帳のエントリ数とランダム符号帳のエントリ数が適応的に制御される(切換えられる)構成を有しており、少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトル又はスパース率(フレーム全体のサンプル数に対する振幅ゼロのサンプル数の割合)90%程度以下の雑音符号ベクトルのいずれかを乗算器1707へ出力する。
【0170】
乗算器1707は、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1706から出力された雑音符号ベクトルに雑音符号ベクトル利得を乗じて加算器1708へ出力する。加算器1708は、乗算器1705から出力された適応符号ベクトル利得乗算後の適応符号ベクトルと乗算器1707から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳1704とLPC合成フィルタ1709とに出力する。
【0171】
適応符号帳1704へ出力された励振ベクトルは、適応符号帳1704を更新するのに用いられ、LPC合成フィルタ1709に出力された励振ベクトルは合成音声を生成するために用いられる。LPC合成フィルタ1709は、LPC量子化器1703から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器1708から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を加算器1710に出力する。
【0172】
加算器1710は、前処理器1701から出力された前処理後の入力音声信号とLPC合成フィルタ1709から出力された合成信号との差分(誤差)信号を計算し、聴覚重みづけ器1711に出力する。聴覚重みづけ器1711は、加算器1710から出力される差分信号を入力として、聴覚的な重みづけを行い、誤差最小化器1712へ出力する。
【0173】
誤差最小化器1712は、聴覚重みづけ器1711から出力された聴覚重みづけ後の差分信号を入力として、例えばその2乗和が最小となるように適応符号帳1704から適応符号ベクトルを切り出す位置と部分的代数符号帳とランダム符号帳とから成る雑音符号帳1706から生成する雑音符号ベクトルと、乗算器1705で乗じる適応符号ベクトル利得と、乗算器1707で乗じる雑音符号ベクトル利得との値を調整し、各々を符号化し音源パラメータ符号化データとして伝送路を通じて復号器側に出力する。
【0174】
図18は、実施の形態3にかかる雑音符号ベクトル生成器を備えた音声復号化装置を示す。同図に示す音声復号化装置は、LPC復号器1801、音源パラメータ復号器1802、適応符号帳1803、乗算器1804、部分的代数符号帳とランダム符号帳とから成る雑音符号帳1805、乗算器1806、加算器1807、LPC合成フィルタ1808、後処理器1809、モード判定器1810を備える。
【0175】
この音声復号化装置において、伝送路を通じてLPC符号化データと音源パラメータ符号化データがフレーム単位でLPC復号器1801と音源パラメータ復号器1802とにそれぞれ入力される。LPC復号器1801は、量子化LPCを復号してLPC合成フィルタ1808及びモード判定器1810に出力する。後処理器1809で量子化LPCを使用する場合は、後処理器1809にも同時に量子化LPCがLPC復号器1801から出力される。モード判定器1810は、図17のモード判定器1713と同一の構成であり、入力した量子化LPCの動的及び静的特徴を利用するなどして音声区間と非音声区間あるいは有声区間と無声区間の切り分け(モード判定)を行い、判定結果を部分的代数符号帳とランダム符号帳とから成る雑音符号帳1805及び後処理器1809に出力する。
【0176】
より具体的には、量子化LPCの動的特徴を用いることにより音声区間/非音声区間の切り分けを行い、量子化LPCの静的特徴を用いることにより有声/無声区間の切り分けを行う。量子化LPCの動的特徴としてはフレーム間の変動量や過去に非音声区間と判定された区間における平均的な量子化LPCと現フレームにおける量子化LPCとの距離(差)などを用いることができる。また、量子化LPCの静的特徴としては1次の反射係数などを用いることができる。
【0177】
なお、量子化LPCはLSPや反射係数やLPC予測残差パワなど他の領域のパラメータに変換することによってより有効利用できる。また、モード情報を別情報として伝送することが可能な場合は、別途伝送されるモード情報を復号し、復号モード情報を雑音符号帳1805及び後処理器1809に出力する。
【0178】
音源パラメータ復号器1802は、適応符号ベクトルを切り出す位置情報と、適応符号ベクトル利得と、雑音符号ベクトルを指定するインデックス情報と、雑音符号ベクトル利得とを、適応符号帳1803と、乗算器1804と、部分的代数符号帳と、ランダム符号帳とから成る雑音符号帳1805と、乗算器1806とにそれぞれ出力する。
【0179】
適応符号帳1803は、過去に生成した励振ベクトル(加算器1807から出力されるベクトル)のバッファであり、音源パラメータ復号器1802から入力した切り出し位置から適応符号ベクトルを切り出して乗算器1804に出力する。乗算器1804は、適応符号帳1803から出力された適応符号ベクトルに、音源パラメータ復号器1802から入力した適応符号ベクトル利得を乗じて加算器1807へ出力する。
【0180】
部分的代数符号帳とランダム符号帳とから成る雑音符号帳1807は、図9に示す構成を有した雑音符号帳であり、図17の1706に示したものと同一の雑音符号帳であり、音源パラメータ復号器1802から入力したインデックスで指定される少なくとも2本のパルスの位置が近接している数本のパルスから成る雑音符号ベクトル又はスパース率90%程度以下の雑音符号ベクトルのいずれかを乗算器1806へ出力する。
【0181】
乗算器1806は、部分的代数符号帳から出力された雑音符号ベクトルに、音源パラメータ復号器1802から入力される雑音符号ベクトル利得を乗じて、加算器1806へ出力する。加算器1807は、乗算器1804から出力される適応符号ベクトル利得乗算後の適応符号ベクトルと乗算器1806から出力された雑音符号ベクトル利得乗算後の雑音符号ベクトルとのベクトル加算を行うことにより励振ベクトルを生成し、適応符号帳1803とLPC合成フィルタ1808とに出力する。
【0182】
適応符号帳1803へ出力された励振ベクトルは、適応符号帳1803を更新するのに用いられ、LPC合成フィルタ1808に出力された励振ベクトルは合成音声を生成するために用いられる。LPC合成フィルタ1808は、LPC復号器1801から出力された量子化LPCを用いて構成される線形予測フィルタであって、加算器1807から出力された励振ベクトルを用いてLPC合成フィルタを駆動し、合成信号を後処理器1809に出力する。
【0183】
後処理器1809は、LPC合成フィルタ1808から出力される合成音声に対して、ホルマント強調処理やピッチ強調処理やスペクトル傾斜補正処理などから成るポストフィルタ処理や定常的な背景雑音を聞きやすくするための処理など主観的品質を改善するための処理を行い、復号音声データ1810として出力する。これらの後処理は、モード判定器1808から入力するモード情報を用いて適応的に行われる。即ち、モード毎に適した後処理を切替えて適用したり、後処理の強弱を適応的に変化させる。
【0184】
図19は、本発明の実施の形態3にかかる雑音符号ベクトル生成装置の構成を示すブロック図である。同図に示す雑音符号ベクトル生成器は、パルス位置限定器制御器1901、部分的代数符号帳1902、ランダム符号帳エントリ数制御器1903、ランダム符号帳1904を備える。
【0185】
パルス位置限定器制御器1901は、外部から入力されるモード情報に応じてパルス位置限定器の制御信号を部分的代数符号帳1902に出力する。この制御は部分的代数符号帳のサイズを(モードに応じて)増減させるために行うもので、例えばモードが無声/定常雑音モードのような場合は限定を強くする(パルス位置の候補数を少なくする)ことによって部分的代数符号帳のサイズを小さくする(その代わりにランダム符号帳1904のサイズが大きくなるようにランダム符号帳エントリ数制御器1903で制御を行う)。
【0186】
このようにすることによって、無声部や定常雑音部など数本のパルスから成る雑音符号ベクトルを用いると主観的品質が劣化するような信号に対して性能改善を図ることが可能となる。パルス位置限定器は部分的代数符号帳1902に組み込まれており、その具体的動作は実施の形態1に示されている。
【0187】
部分的代数符号帳1902は、パルス位置限定器制御器1901から入力した制御信号によって内部に組み込まれたパルス位置限定器の動作が制御される部分的代数符号帳であり、パルス位置限定器によるパルス位置候補の限定度合いにより符号帳サイズが増減する。部分的代数符号帳の具体的動作については実施の形態1に示されている。本符号帳から生成される雑音符号ベクトルは切換スイッチ1905に出力される。
【0188】
ランダム符号帳エントリ数制御器1903は、外部から入力されたモード情報に応じてランダム符号帳1904のサイズを増減する制御を行う。本制御は、パルス位置限定器制御器1901の制御と連動して行われる。即ち、パルス位置限定器制御器1901によって部分的代数符号帳1902のサイズを増加させた場合は、ランダム符号帳エントリ数制御器1903は、ランダム符号帳1904のサイズを減少させ、パルス位置限定器制御器1901によって部分的代数符号帳1902のサイズを減少させた場合は、ランダム符号帳エントリ数制御器1903は、ランダム符号帳1904のサイズを増加させるような制御を行う。そして、部分的代数符号帳1902とランダム符号帳1904を合わせた総エントリ数(本雑音符号ベクトル生成器における全符号帳サイズ)は常に一定の値に保たれる。
【0189】
ランダム符号帳1904は、ランダム符号帳エントリ数制御器1903からの制御信号を入力して指定されたサイズのランダム符号帳を用いて雑音符号ベクトルを生成し、切換スイッチ1905に出力する。ここで、ランダム符号帳1904は、複数の異なるサイズのランダム符号帳から構成されていても良いが、共用する1種類のある定められたサイズのランダム符号帳のみから構成されていてこれを部分的に使用することによって複数サイズのランダム符号帳として使用する方がメモリ量の面から有効である。
【0190】
また、ランダム符号帳1904は、1チャンネル単独の符号帳でも良いが、2チャンネル以上の複数チャンネルから構成される符号帳を用いた方が演算量やメモリ量の面から有利である。
【0191】
切換スイッチ1905は、外部からの制御(本雑音符号ベクトル生成器を符号化器に用いる場合はターゲットベクトルとの誤差を最小化するブロックからの制御信号、復号化器に用いる場合は復号した雑音符号帳のパラメータ情報など)により、部分的代数符号帳1902又はランダム符号帳1904から出力される雑音符号ベクトルのどちらか一方を選択して、本雑音符号ベクトル生成器の出力雑音符号ベクトル1906として出力する。
【0192】
ここで、ランダム符号帳1904から出力される雑音符号ベクトルと、部分的代数符号帳1902から出力される雑音符号ベクトルの割合(ランダム:代数)は、有声モードにおいては、0:1〜1:2、すなわちランダム0〜34%、代数66〜100%であることが望ましい。また、上記割合(ランダム:代数)は、非有声モードにおいては、2:1〜4:1、すなわちランダム66〜80%、代数20〜34%であることが望ましい。
【0193】
以下に図20を参照して上記実施の形態における雑音符号ベクトル生成方法(符号化方法)の処理の流れについて説明する。
【0194】
まず、ST2001において、別途入力したモード情報に基づいて部分的代数符号帳とランダム符号帳のサイズの設定を行う。このとき、部分的代数符号帳のサイズの設定は実施の形態1に示される相対位置表現されるパルスの位置候補数を増減することによって行われる。
【0195】
この相対位置表現されるパルスの増減は機械的に行うことができ、相対位置が離れる部分から削減することによって減少させる。より具体的には、相対位置が{1、3、5、7}である場合{1、3、5}、{1、3}、{1}というように位置候補数を減らす。逆に増やす場合は{1}から{1、3}、{1、3、5}というように増やす。
【0196】
また、部分的代数符号帳とランダム符号帳のサイズの総和が一定値になるように部分的代数符号帳とランダム符号帳のサイズの設定が行われる。より具体的には、有声(定常)部に対応するようなモードにおいては部分的代数符号帳のサイズ(比率)が大きく、無声部や雑音部に対応するようなモードにおいてはランダム符号帳のサイズ(比率)が大きくなるように、両符号帳のサイズの設定を行う。
【0197】
本ブロックにおいて、modeは入力したモード情報、IDXaは部分的代数符号帳のサイズ(雑音符号ベクトルエントリ数)、IDXrはランダム符号帳サイズ(雑音符号ベクトルエントリ数)であり、IDXa+IDXr=一定値、である。また、ランダム符号帳のエントリ数の設定は例えば参照するランダム符号帳の範囲を設定することで実現できる。例えば2チャンネルのランダム符号帳のサイズを128×128=16384と64×64=4096とで切換えて使用するような制御においては、各チャンネル128種類のベクトルを格納する(インデックス0〜127)ランダム符号帳をそれぞれ備え、探索するインデックスの範囲を0〜127と0〜63の2種類で切換えることにより簡単に実現できる。
【0198】
なお、この場合インデックス0〜127のベクトルが存在するベクトル空間とインデックス0〜63のベクトルが存在するベクトル空間とはできるだけ一致していることが望ましく、インデックス0〜63のベクトルでインデックス64〜127のベクトルを全く表現できない、即ちインデックス0〜63のベクトル空間とインデックス64〜127のベクトル空間とが全く異なると、上記のようなランダム符号帳サイズの変更はランダム符号帳の符号化性能を大きく劣化させる場合があるので、そのようなことを考慮してランダム符号帳を作成する必要がある。
【0199】
なお、部分的代数符号帳とランダム符号帳のエントリ数の総和を一定に保つ場合は必然的に両符号帳のサイズ設定の仕方(組合わせ)は数種類に限定されるため、サイズ設定の制御とはこれら数種類の設定を切換えることとなど価となる。本STにおいて、入力されたモード情報modeから部分的代数符号帳サイズIDXaとランダム符号帳サイズIDXrとが設定される。
【0200】
次に、ST2002において、部分的代数符号帳(サイズIDXa)とランダム符号帳(IDXr)の中からターゲットベクトルとの誤差を最も小さくする雑音符号ベクトルが選択され、そのインデックスを求める。インデックスindexは例えば部分的代数符号帳から雑音符号ベクトルが選択されれば0〜(IDXa−1)、ランダム符号帳から選択されれば(IDXa−1)〜(IDXa+IDXr−1)の範囲になるように定められる。
【0201】
次に、ST2003において、求められたインデックスindexを符号化データとして出力する。indexはさらに必要に応じて伝送路に出力される形に符号化される。
【0202】
以下に図21を参照して上記実施の形態における雑音符号ベクトル生成方法(復号化方法)の処理の流れについて説明する。
【0203】
まず、ST2101において、別途復号されたモード情報modeに基づいて部分的代数符号帳とランダム符号帳のサイズの設定を行う。具体的な設定の方法は、図20を参照して説明した前述の通りである。モード情報modeから部分的代数符号帳のサイズIDXa及びランダム符号帳のサイズIDXrが設定される。
【0204】
次に、ST2102において、部分的代数符号帳又はランダム符号帳を用いて雑音符号ベクトルが復号される。どちらの符号帳を用いて復号されるかは、別途復号された雑音符号ベクトルのインデックスindexの値によって決定され、0≦index<IDXaの場合は、部分的代数符号帳から、IDXa≦index<(IDXa+IDXr)の場合は、ランダム符号帳から復号される。具体的には例えば実施の形態3にて図16を参照して説明したようにして復号される。
【0205】
なお、上記のようなインデックスの付与を行うと、異なるモードで共有される雑音符号ベクトルのエントリに対して異なるインデックスが付与され(即ち、全く同じ形状を有する雑音符号ベクトルでもモードが異なると異なるインデックスになってしまう)、伝送路誤りが生じたときの影響を受けやすくなるので、これを回避するために異なるモードで共有される雑音符号ベクトルのエントリに対しては同じインデックスが付与されるようにすると誤り耐性のある前記雑音符号ベクトル生成装置を実現できる。一例を図22及び図23に示す。
【0206】
図22は、雑音符号帳サイズ32、(サブ)フレーム長11サンプル以上、パルス数2の部分的代数符号帳と2チャンネルランダムCBを組合わせた例であり、(サブ)フレーム末尾においてパルスが近接するベクトルは考慮しないタイプである。
【0207】
一方、図23は、雑音符号帳サイズ16、(サブ)フレーム長8サンプル、パルス数2の部分的代数符号帳と2チャンネルランダムCBを組合わせた例であり、(サブ)フレーム末尾においてパルスが近接するベクトルも考慮されているタイプである。
【0208】
図22及び図23の両図において、1列目の欄は第1のパルス又はランダム符号帳の第1チャンネルを、2列目の欄は第2のパルス又はランダム符号帳の第2チャンネルを、3列目の欄はそれぞれの組合わせに対する雑音符号帳インデックスをそれぞれ示している。
【0209】
また、両図の(a)はランダム符号帳の比率が低く(エントリ数が多く)部分的代数符号帳の比率が高い(エントリ数が多い)場合を、(b)はランダム符号帳の比率が高く(エントリ数が多く)部分的代数符号帳の比率が低い(エントリ数が少ない)場合をそれぞれ示しており、斜線の網掛けされたインデックスに対応する雑音符号ベクトルのみが(a)と(b)で異なるようになっている。
【0210】
図22及び図23において、表中の数字(インデックスを除く)は部分的代数符号帳におけるパルス位置を、P1,P2は第1及び第2のパルス位置を、Ra,Rbはランダム符号帳の第1及び第2チャンネルを、Ra,Rbに付した数字は両チャンネルに格納されているランダム符号ベクトルの番号を、それぞれ示している。図5の部分的代数符号帳に対応させると、図23のインデックス0〜5及び図22のインデックス0〜7が図5(a)に、図23のインデックス6〜9及び図23のインデックス8〜15が図5(b)に、図23のインデックス10〜11が図5(c)に、それぞれ対応する(図22において図5(c)に対応する部分はない)。
【0211】
図22及び図23の両図において、斜線で網掛けされたインデックスは限定された範囲内で規則的に並んでいることから、例えば復号する場合、図23(a)のインデックス11以下では、図9を用いて説明したように、復号し(IDX1=6,IDX2=10)、図23(b)ではインデックスが11以下でかつ偶数である場合のみ図23(a)の場合と同じ復号を行い、奇数である場合はインデックスを2で割った商をランダム符号帳に対応するインデックスと見立ててランダム符号帳の各チャンネルのベクトル番号を復号することが可能である。
【0212】
同様のことは図22においても言え、定められたインデックスの範囲内において規則的にインデックスとランダム符号帳のベクトル番号を対応させることができる。また、符号化する場合も同様に考えてモードの変化によってランダム符号帳と部分的代数符号帳とが切り替わるインデックスの部分のみ別扱いして符号化することが可能である。
【0213】
このようにすることによって、一部のインデックスに対応する雑音符号ベクトルのみがモードの切替えの影響を受けるようにできるので、伝送路誤りによってモードが誤った場合の影響を最小限に抑えることも可能である。この様な場合は、上記フロー図(図6、9、15、16、20、21)を参照して説明した場合と比べるとインデックスindexの付け方が変わるが、基本的な符号帳探索方法は同じである。
【0214】
このように、モード判定により代数符号帳とランダム符号帳の利用割合を変化させることにより、モード判定誤り時の品質劣化を抑えつつ、無声音声や背景雑音に対する符号化性能を改善することができる。
【0215】
(実施の形態4)
本実施の形態では、音源信号のパワを算出し、音声モードがノイズモードである場合に音源信号のパワから平均パワを算出して、この平均パワに基づいて所定のパルス位置候補の数を増減させる場合について説明する。
【0216】
図24は、本発明の実施の形態4に係る音声符号化装置の構成を示すブロック図である。図24に示す音声符号化装置は、図17に示す音声符号化装置とほぼ同じ構成を有する。図24に示す構成においては、音源信号から現パワを算出する現パワ算出器2402と、モード判定器1713からのモード判定情報及び現パワ算出器2402からの現パワに基づいて、音声モードがノイズモードである場合に音源信号のパワから平均パワを算出するノイズ区間平均パワ算出器2401とを備える。
【0217】
モード判定器1713は、実施の形態3で説明したように、入力した量子化LPCの動的及び静的特徴を利用するなどして音声区間と非音声区間あるいは有声区間と無声区間の切り分け(モード判定)を行い、判定結果を部分的代数符号帳とランダム符号帳とから成る雑音符号帳1716に出力する。また、モード判定器1713からのモード情報は、ノイズ区間平均パワ算出器2401に送られる。
【0218】
一方、現パワ算出器2402では、音源信号のパワを算出する。このようにして音源信号のパワを監視する。この現パワ算出結果は、ノイズ区間平均パワ算出器2401に送られる。
【0219】
ノイズ区間平均パワ算出器2401では、現パワ算出器2402からの算出結果とモード判定結果に基づいてノイズ区間の平均パワを算出する。ノイズ区間平均パワ算出器2401には、現パワ算出器2402から逐次現パワの算出結果が入力される。そして、ノイズ区間平均パワ算出器2401では、モード判定器1713からノイズ区間であるとの情報が入力されたときに、入力された現パワの算出結果を用いてノイズ区間の平均パワを算出する。
【0220】
この平均パワの算出結果は、可変型部分代数符号帳/ランダム符号帳1706に送られる。可変型部分代数符号帳/ランダム符号帳1706では、平均パワの算出結果に基づいて代数符号帳とランダム符号帳の利用比率を制御する。この制御の方法については、実施の形態3と同じである。
【0221】
なお、ノイズ区間平均パワ算出器2401では、算出されたノイズ区間平均パワと逐次入力される現パワとの比較を行う。そして、ノイズ区間の平均パワが現パワよりも大きい場合には、平均パワ値に問題があると考えられるので、ノイズ区間の平均パワを現パワに更新する。これにより、より精度良く代数符号帳とランダム符号帳の利用比率を制御することができる。
【0222】
また、図25は、本発明の実施の形態4に係る音声復号化装置の構成を示すブロック図である。図25に示す音声復号化装置は、図18に示す音声復号化装置とほぼ同じ構成を有する。図25に示す構成においては、音源信号から現パワを算出する現パワ算出器2502と、モード判定器1810からのモード判定情報及び現パワ算出器2502からの現パワに基づいて、音声モードがノイズモードである場合に音源信号のパワから平均パワを算出するノイズ区間平均パワ算出器2501とを備える。
【0223】
モード判定器1810は、実施の形態3で説明したように、入力した量子化LPCの動的及び静的特徴を利用するなどして音声区間と非音声区間あるいは有声区間と無声区間の切り分け(モード判定)を行い、判定結果を部分的代数符号帳とランダム符号帳とから成る雑音符号帳1805及び後処理器1809に出力する。また、モード判定器1810からのモード情報は、ノイズ区間平均パワ算出器2501に送られる。
【0224】
一方、現パワ算出器2502では、音源信号のパワを算出する。このようにして音源信号のパワを監視する。この現パワ算出結果は、ノイズ区間平均パワ算出器2501に送られる。
【0225】
ノイズ区間平均パワ算出器2501では、現パワ算出器2502からの算出結果とモード判定結果に基づいてノイズ区間の平均パワを算出する。ノイズ区間平均パワ算出器2501には、現パワ算出器2502から逐次現パワの算出結果が入力される。そして、ノイズ区間平均パワ算出器2501では、モード判定器1810からノイズ区間であるとの情報が入力されたときに、入力された現パワの算出結果を用いてノイズ区間の平均パワを算出する。
【0226】
この平均パワの算出結果は、可変型部分代数符号帳/ランダム符号帳1805に送られる。可変型部分代数符号帳/ランダム符号帳1805では、平均パワの算出結果に基づいて代数符号帳とランダム符号帳の利用比率を制御する。この制御の方法については、実施の形態3と同じである。
【0227】
なお、ノイズ区間平均パワ算出器2501では、算出されたノイズ区間平均パワと逐次入力される現パワとの比較を行う。そして、ノイズ区間の平均パワが現パワよりも大きい場合には、平均パワ値に問題があると考えられるので、ノイズ区間の平均パワを現パワに更新する。これにより、より精度良く代数符号帳とランダム符号帳の利用比率を制御することができる。
【0228】
ここで、ランダム符号帳から出力される雑音符号ベクトルと、部分的代数符号帳から出力される雑音符号ベクトルの割合(ランダム:代数)は、ノイズ区間のレベルが大きい場合に、有声モードにおいては、2:1、すなわちランダム約66%、代数約34%であることが望ましい。また、上記割合(ランダム:代数)は、非有声モードにおいては、ランダム約98%、代数約2%であることが望ましい。
【0229】
このように、ノイズ区間を監視してモード判定により代数符号帳とランダム符号帳の利用割合を変化させることにより、モード判定誤り時の品質劣化を抑えつつ、無声音声や背景雑音に対する符号化性能を向上させることができる。
【0230】
なお、図24及び図25においては、音源信号から現パワを算出する場合について説明しているが、本発明においては、LPC合成後の合成信号のパワを用いて現パワを算出するようにしても良い。
【0231】
上記音声符号化装置及び/又は音声復号化装置は、携帯電話などの移動通信機器の移動機などの通信端末装置又は基地局装置に利用することが可能である。なお、情報を伝送する媒体は本実施の形態に示したような電波に限らず、光信号などを利用することも可能であり、さらには有線の伝送路を使用することも可能である。
【0232】
なお、上記実施の形態に示した音声符号化/復号化装置は、磁気ディスク、光磁気ディスク、ROMカートリッジなどの記録媒体にソフトウェアとして記録して実現することも可能である。その記録媒体を使用することにより、このような記録媒体を使用するパーソナルコンピュータなどにより音声符号化装置/復号化装置及び送信装置/受信装置を実現するとができる。
【0233】
(実施の形態5)
本実施の形態では、音源パルスが3本である代数符号帳を雑音符号帳として用いる場合について説明する。ここでは、雑音符号帳には、サブフレーム当り16ビットを割り当てた場合について説明する。なお、本実施の形態においては、代数符号帳と音源パルスをサブフレーム全体に均一に配置したランダム符号帳とを併用する。
【0234】
この場合、雑音符号帳全体のビット数を変えずにランダム符号帳を併用するため、代数符号帳のサイズの削減が必要となる。単純に代数符号帳サイズを削減すると、各パルスの探索位置候補を減らさなければならず、広範囲の探索が難しくなる。そこで、音源パルスの探索範囲を維持したまま、代数符号帳サイズを削減する。
【0235】
具体的には、代数符号帳から生成される音源ベクトルの形状に着目し、使用頻度の低い形状を有する音源ベクトルは代数符号帳から生成されないように制限を加えることにより、代数符号帳のサイズを削減する。音源ベクトルの形状を示す特徴量として、各音源パルスの相対的位置関係を用いる。すなわち、図26に示すように、3本の音源パルス2601〜2603によって構成された音源ベクトルの先頭のパルス2601と2番目のパルス2602の間隔Aと、2番目のパルス2602と3番目のパルス2603の間隔Bを用いる。このような特徴量に基づいて使用頻度の低いベクトルを決定し、代数符号帳のサイズを削減して、ランダム符号帳を併用する。このようにしてサイズを削減した代数符号帳は、代数符号帳を部分的に使用していることから、部分的代数符号帳と呼ぶこととする。
【0236】
部分的代数符号帳の構成法を検討するため、図26に示す間隔A及び間隔Bを用いて使用頻度の低いベクトル形状を調査した。間隔Aと間隔Bを有する音源ベクトルは複数存在するため、部分的代数符号帳から生成され得る組合せの数で正規化した。また、有声部と非有声部とでは傾向が異なることが考えられるので、1次の反射係数などを利用して有声部と非声部とを分類し、それぞれについて使用頻度分布を調べた。
【0237】
調査の結果、音声部では間隔A又は間隔Bの少なくとも一方が狭いベクトルの使用傾度が高いこと、及び非有声部では有声部に比べて全体的に均一な頻度分布となることが分かった。この調査結果より、少なくとも1組の音源パルス間隔が狭いベクトルのみを生成するように制限を加えることによって、部分的代数符号帳を構成した。
【0238】
少なくとも1組の音源パルス間隔が狭いベクトルのみを生成する方法としては、以下の2つの方法が挙げられる。
(方法1)
部分的代数符号帳において、全探索を行い、探索ループの中で現在探索中の音源パルス間隔が所定の距離より狭いかどうかを判定し、狭いもののみを探索対象とする。
(方法2)
部分的代数符号帳において、各音源パルスのインデックスの差が所定の範囲内(K)になるような組合せのみを探索する。具体的には、図27(a)〜(c)に示すような3種類のパターン(図27(a):3パルスとも近い場合、図27(b):前の2パルスが近い場合、図27(c):後の2パルスが近い場合)に分類して部分的代数符号帳の探索を行う。ただし、図27(a)〜(c)では、パルス2601〜2603の順に並ぶ場合のみを示しており、実際にはこれら3本のパルスが並ぶ順番として考え得る全て組合せが考慮される。
【0239】
方法1を用いた場合は、厳密にパルス間隔の距離による制限が可能であるが、探索ループ内で毎回、条件分岐が必要となる。一方、方法2では不均一な探索位置候補の場合には、厳密なパルス間隔距離による制限ではなくなるが、代数符号帳の必要な部分のみを規則的に探索することが可能となり、探索ループ内での条件分岐が不要となる。
【0240】
このようにして音源パルスを3パルスに設定して部分的代数符号帳を構成することにより、基本性能の高い部分的代数符号帳を実現することができる。
【0241】
次に、上記部分的代数符号帳と併用するランダム符号帳について説明する。このランダム符号帳は、サブフレーム全体にパワが分散しているようなベクトルの表現性を良くするため、なるべく音源パルスがサブフレーム全体に均などに配置されるように構成する。このランダム符号帳では、パルス振幅は±1とし、各チャネル(ch)間で音源パルスが重ならないようにパルス位置を制限している。また、音源パルスの位置と振幅(極性)は乱数によって生成する。図28に、音源パルス数が合計で8本で2ch構成のランダム符号帳を示す。
【0242】
このランダム符号帳は、チャネル数及びパルス数の設定を行い、各パルスの配置範囲の設定を行い、各パルスの位置/極性の決定を行うことにより作成する。このランダム符号帳の作成方法において、まず、チャネル数及びパルス数の設定を行った後に各パルスの配置範囲の設定する。すなわち、各パルスが配置される範囲長(N_Range[i][j])を設定する。この設定は図29に示すようにして行う。
【0243】
まず、サブフレーム長をパルス数(1チャネル分)で分割してN_Range0を求め、剰余はN_Restとして保存する(ST2901)。次いで、N_Range0をチャネル数で分割してN_Range[i][j]を設定する(ST2902)。ここで、iはチャネル番号を示し、jはパルス番号を示す。このとき、N_Range0がチャネル数(N_ch)で割り切れない場合には、その余りをチャネル番号の若い方から順番に割り当てる(ST2902)。
【0244】
次いで、N_Restをサブフレーム最後尾に配置されるパルスのN_Range[N_ch−1][N_Pulse−1]から順番に割り当てる(ST2903)。これにより、N_Range[i][j]の設定を完了する。
【0245】
各パルスの配置範囲の設定においては、N_Range[i][j]の開始点(S_Range[i][j])の設定を行う。すなわち、N_Range[i][j]をサブフレーム先頭から順に配置した場合に、それぞれの先頭位置を求める。この開始点の設定は、図30に示すようにして行う。まず、各チャネルの先頭パルスのS_Range[i][0]を決定する。この場合、パルス番号の若い方から順番に行う(ST3001)。次いで、残りのS_Range[i][0]を同様に決定する(ST3002)。このようにしてS_Range[i][j]の設定を完了する。
【0246】
上述したように各パルスの配置範囲の設定を行った後に、各パルスの位置/極性の決定を行う。この各パルスの位置/極性は、図31に示すようにして行う。まず、チャネルのループカウンタをリセットする(ST3101)。次いで、ループカウンタiがN_chより小さいかどうかを判断する(ST3102)。ループカウンタiがN_chより小さければ、カウンタと閾値をリセットする(ST3103)。すなわち、決定したランダム符号ベクトルの数(counter)、ランダム符号ベクトルの生成を繰り返した数(counter_r)、及び位置が異なることを許すパルス数(thresh)をリセットする。一方、ループカウンタiがN_chより小さくなければ、ランダム符号帳の作成を終了する。
【0247】
次いで、ランダム符号ベクトルの生成を繰り返した数(counter_r)が最大値MAX_rであるかどうかを判断する(ST3104)。counter_rがMAX_rでなければ、コードベクトルの生成や乱数によるパルス位置及び極性の生成を行い(ST3106)、counter_rがMAX_rであれば、閾値(thresh)をインクリメントし、繰り返しカウンタ(counter_r)をリセットする(ST3105)。そして、コードベクトルの生成や乱数によるパルス位置及び極性の生成を行う(ST3106)。なお、乱数によるパルス位置及び極性の生成において、rand( )は整数乱数生成関数を表す。
【0248】
次いで、パルス位置及び極性を生成した後に、コードベクトルをチェックする(ST3107)。ここでは、生成したコードベクトルと既にランダム符号帳に登録したすべてのコードベクトルとを比較し、パルス位置が重なるコードベクトルが存在しないかをチェックする。そして、コードベクトル毎に位置が重なっているパルス数をカウントする。
【0249】
次いで、ランダム符号帳内に、位置の重なるパルス数が閾値を越えたコードベクトルがあるかどうかを判断する(ST3108)。位置の重なるパルス数が閾値を越えたコードベクトルがあれば、繰り返すカウンタ(counter_r)をインクリメントし(ST3109)、その後、ST3104に進む。一方、位置の重なるパルス数が閾値を越えたコードベクトルがなければ、そのコードベクトルをランダム符号帳に登録する(ST3110)。すなわち、乱数により生成したコードベクトルをランダム符号帳に格納し、カウンタ(counter)をインクリメントする。
【0250】
次いで、カウンタ(counter)がランダム符号帳のサイズ以上かどうかを判断する(ST3111)。カウンタ(counter)が作成するランダム符号帳のサイズ以上であれば、チャネルのループカウンタをインクリメントし(ST3112)、ST3102に進む。カウンタ(counter)がランダム符号帳のサイズ以上でなければ、ST3104に進む。
【0251】
このランダム符号帳の作成においては、乱数により、コードベクトルのパルス位置及び極性を決定し、既に決定済みのパルスと位置が重ならないようにチェックする。このようにして、初めは全く位置が重ならないものを生成し、順次位置が重なるパルス数を増加させてゆく。
【0252】
また、ランダム符号帳の作成においては、サブフレーム全体を均などに分割し、完全に均など分割できない場合は、ch2からch1の範囲を広くし、またサブフレーム末尾の方から範囲を広くする。例えば、図32を用いて説明する。図32において、数字は各パルス(パルス番号j)の配置範囲(N_Range[i][j])と開始点(S_Range[i][j])を示しており、上から下に向ってサブフレームの末尾に向うように記載している。図32(a)では、4パルスであるので、サブフレーム全体の80サンプルを均などに分割することができる。図32(b)では、6パルスであるので、サブフレーム全体の80サンプルを均などに分割することができない。この場合には、ch1(7)をch2(6)より広くし、しかもサブフレーム末尾(ch1:8、ch2:7)を広くしている。ch1の範囲をch2より広くしているのは、ch1のコードベクトル数(符号帳サイズ)をch2のコードベクトル数より多くすることを想定しているためである。なお、ch1とch2のN_Range[i][j]の値はなどしくなるようにし、半端な部分はサブフレーム後半に各チャネル均などに割り当てることも考えられる。
【0253】
このようにしてランダム符号帳を作成することにより、サブフレーム全体に音源パルスが分布するランダム符号帳を効率的に作成することができる。また、符号帳の後半になるほど重なる音源パルスが多くなるので、符号帳サイズを小さくする場合は後半部から削減することにより、望ましい符号帳を作成することができる。
【0254】
次に、部分的代数符号帳とランダム符号帳の併用において、モード切換えを適用する場合について説明する。この場合、部分的代数符号帳を音源パルス形状にしたがってブロック分けして、そのブロックに対応して段階的に削減を行い、それにランダム符号帳を段階的に(適応的に)増加させる。
【0255】
図33は、部分的代数符号帳をブロック分けした状態を示す図である。ブロック分けは、音源パルスの形状と対応して行われている。このブロックは、図34(a)に示す音源パルスのパルス間の間隔(より正しくはインデックスの差)A,Bにより決定される。すなわち、ブロックX〜Zは、図34(b)に示す領域に対応している。
【0256】
このようにしてブロック分けして部分的代数符号帳のサイズを削減することにより、サイズの制御を容易に行うことができる。具体的には、該当するブロックの探索ループをOFFにするだけで良い。
【0257】
このように部分的代数符号帳をブロックに分割すると共に、ランダム符号帳を段階分けする。ここでは、図35(a)に示すように、ch1,ch2で3段階に段階分けする。具体的には、第1段階はa,bとし、第2段階はc,dとし、第3段階はe,fとする。これらを利用して部分的代数符号帳をブロック単位で削減し、その分だけランダム符号帳を段階的に増加してランダム符号帳の割合を大きくする。部分的代数符号帳の削減及びランダム符号帳の増加に対応してモードが決定される。具体的には、図33(a)〜(c)に示すモードが決定される。なお、このモード数については例示であり、図33より粗くモード設定する場合には、2モードを用いても良く、図33より細かくモード設定する場合には、4以上のモードを用いても良い。
【0258】
このモード毎に用いるランダム符号帳について、図33及び図35を用いて説明する。ランダム符号帳サイズが最も小さいモードを(a)、最も大きいモードを(c)、中間のモードを(b)とする。モード(a)→(b)→(c)と変化させる場合、図35において、ch1のランダム符号帳はa→(a+c)→(a+c+e)、ch2のランダム符号帳はb→(b+d)→(b+d+f)というようにサイズが増える。このとき、各モードで共通のコードベクトルに対してはどのモードでも同じインデックスが付与されるようにするため、以下のようなインデックスの割り当て方を用いる。
【0259】
まず、a×bにより生成されるベクトルのインデックスを割り当てる。続いてc×b及び(a+c)×dにより生成されるベクトルのインデックスを割り当てる。最後に(a+c+e)×f及びe×(b+d)により生成されるベクトルのインデックスを割り当てる。この割当て法の一例を図33に示す。
【0260】
したがって、部分的段数符号帳とランダム符号帳を併用する場合において、部分的代数符号帳がブロックX,Y,Zからなるとき、ランダム符号帳は、図33(a)に示すように、ランダム符号帳の図35(b)に示す部分となる。また、部分的代数符号帳がブロックX,Yから成る場合、ランダム符号帳は、図33(b)に示すように、ランダム符号帳の図35(b)〜(d)に示す部分となる。また、部分的代数符号帳がブロックXからなる場合、ランダム符号帳は、図33(c)に示すように、ランダム符号帳の図35(b)〜(f)に示す部分となる。
【0261】
このモード切換えは、モード判定器からの制御信号であるモード情報にしたがって行われる。このモード情報は、符号器側から送信されてくる種々の情報(LPCパラメータ、ゲインパラメータなど)を復号し、その情報に応じて生成しても良く、符号器側から送信されたモード情報を用いても良い。
【0262】
このように、部分的代数符号帳をブロック単位で削減し、ランダム符号帳を段階的に増加することにより、部分的代数符号帳とランダム符号帳のサイズを容易に制御できる。さらに、異なるモードにおいても共有コードベクトルインデックスを同じにできるのでモード誤りの影響を抑えることができる。
【0263】
ここで、モードが有声/無声/定常雑音の3種類のモードから構成される場合を例として、それぞれのモードにおける部分的代数符号帳とランダム符号帳の構成比の具体例を示す。ビット配分によってこの最適比率は変わりうるが、16ビットのランダム符号帳の例においては、有声モードで(部分的代数符号帳:ランダム符号帳=約50%:約50%)、無声モードで(同=約10%:約90%)、定常雑音モードで(同=約10%:約90%、モード誤りが極めて少なければ同=約0%:約100%までランダム符号帳の比率を上げてもよい)といった比率であることが望ましい。なお、復号器側で定常雑音信号の主観品質を高めるような後処理が加えられる場合は、定常雑音モードにおけるランダム符号帳の比率を特に高くする必要がなくなる場合もある。
【0264】
(実施の形態6)
本実施の形態においては、ノイズパワ(過去のノイズモード区間における平均パワ)の高低によって、拡散パタンの雑音性を切換える、あるいはノイズパワの高低によって、拡散パタンの1サンプル目のサンプル値を操作する場合について説明する。
【0265】
図36は、本発明の実施の形態6に係る音声符号化装置の構成を示すブロック図であり、図37は、本発明の実施の形態6に係る音声復号化装置の構成を示すブロック図である。図36において、図24と同じ部分については、図24と同じ符号を付して、詳細な説明は省略する。また、図37において、図25と同じ部分については、図25と同じ符号を付して、詳細な説明は省略する。
【0266】
図36に示す音声符号化装置においては、可変型部分的代数符号帳/ランダム符号帳3601を有しており、この可変型部分的代数符号帳/ランダム符号帳3601から出力された音源ベクトルのパルスを拡散するパルス拡散器3602を備えている。この音源ベクトルのパルスの拡散は、拡散パタン生成器3603において生成された拡散パタンにしたがって行われる。この拡散パタンは、ノイズ区間平均パワ算出器2401で求められたノイズ区間平均パワの高低や、モード判定器1713からのモード情報により決定する。
【0267】
図37に示す音声復号化装置においては、図36に示す音声符号化装置に対応して可変型部分的代数符号帳/ランダム符号帳3701を有しており、この可変型部分的代数符号帳/ランダム符号帳3701から出力された音源ベクトルのパルスを拡散するパルス拡散器3702を備えている。この音源ベクトルのパルスの拡散は、拡散パタン生成器3703において生成された拡散パタンにしたがって行われる。この拡散パタンは、ノイズ区間平均パワ算出器2501で求められたノイズ区間平均パワの高低や、モード判定器1810からのモード情報により決定する。
【0268】
図36に示す音声符号化装置及び図37に示す音声復号化装置における拡散パタン生成器3603,3703では、図38及び図39に示すようにして拡散パタンを生成する。
【0269】
まず、音声符号化装置においては、過去にノイズ区間と判定された(サブ)フレームのパワを用いてノイズ区間平均パワ算出器2401でノイズ区間平均パワを算出する。過去のノイズ区間パワは、現パワ算出器2402により出力されたパワを用いて逐次更新される。ここで算出されたノイズ区間の平均パワが拡散パタン生成器3603に出力される。拡散パタン生成器3603では、ノイズ区間の平均パワに基づいて拡散パタンの雑音性を切換える。すなわち、図38に示すように、拡散パタン生成器3603では、ノイズ区間の平均パワの高低に対応して複数の雑音性が設定されており、平均パワの高低に応じて雑音性が選択される。具体的には、ノイズ区間の平均パワが大きい場合には、拡散パタンの雑音性が高い(強い)ものを選択し、ノイズ区間の平均パワが小さい場合には、拡散パタンの雑音性が低い(弱い)ものを選択する。
【0270】
また、ノイズ区間と音声区間とで拡散パタンの雑音性を切換えるようにしても良い。なお、音声区間は、さらに有声区間と無声区間に分けても良い。この場合、切換えは、ノイズ区間では拡散パタンの雑音性が高く、音声区間では拡散パタンの雑音性が低くなるように行われる。なお、音声区間を有声区間と無声区間に分けた場合は、有声区間では拡散パタンの雑音性が低く、無声区間では拡散パタンの雑音性が高くなるように行われる。ノイズ区間、音声区間(有声区間、無声区間)の分類は別途モード判定器1713などによって行われ、拡散パタンの選択はモード判定器1713から出力されたモード情報によって拡散パタン生成器3603で行う。
【0271】
すなわち、モード判定器1713で判定されたモードがモード情報として拡散パタン生成器3603に出力され、拡散パタン生成器3603では、モード情報に基づいて拡散パタンの雑音性を切換える。この場合、図38に示すように、拡散パタン生成器3603では、モードに対応して複数の雑音性が設定されており、モードに応じて雑音性の強弱が選択される。具体的には、ノイズモードの場合には、拡散パタンの雑音性が強いものを選択し、音声(有声)モードの場合には、拡散パタンの雑音性が弱いものを選択する。
【0272】
また、別の構成の拡散パタン生成器3603では、拡散パタンは、ノイズ区間の平均パワの高低に対応して拡散パタンの1サンプル目の振幅値を変えることにより、前記の切換えに相当する操作を連続的に行う。具体的には、図39に示すように、ノイズ区間の平均パワが大きい場合には、1サンプルめの振幅値を小さくする係数が乗ぜられ、ノイズ区間の平均パワが小さい場合には、1サンプルめの振幅値を大きくする係数が乗ぜられる。これらの係数については、ノイズ区間の平均パワの値を用いて決定できるように予め変換関数や変換ルールを定めておく。なお、振幅値を変えるサンプルについては、1サンプルに限定されない。また、係数を乗じた後の拡散パタンは、係数を乗じる前のパタンと同じベクトルパワとなるように正規化される。
【0273】
次に、音声復号化装置においては、過去にノイズ区間と判定された(サブ)フレームのパワを用いてノイズ区間平均パワ算出器2501でノイズ区間平均パワを算出する。過去のノイズ区間パワは、現パワ算出器2502から出力されたパワを用いて逐次更新される。ここで算出されたノイズ区間の平均パワが拡散パタン生成器3703に出力される。拡散パタン生成器3703では、ノイズ区間の平均パワに基づいて拡散パタンの雑音性を切換える。すなわち、図38に示すように、拡散パタン生成器3703では、ノイズ区間の平均パワの高低に対応して複数の雑音レベルが設定されており、平均パワの高低に応じて雑音性が選択される。具体的には、ノイズ区間の平均パワが大きい場合には、拡散パタンの雑音性が高い(強い)ものを選択し、ノイズ区間の平均パワが小さい場合には、拡散パタンの雑音性が低い(弱い)ものを選択する。
【0274】
また、この場合にも、ノイズ区間と音声区間とで拡散パタンの雑音性を切換えるようにしても良い。なお、音声区間は、さらに有声区間と無声区間に分けても良い。この場合、切換えは、ノイズ区間では拡散パタンの雑音性が高く、音声区間では拡散パタンの雑音性が低くなるように行われる。なお、音声区間を有声区間と無声区間に分けた場合は、有声区間では拡散パタンの雑音性が低く、無声区間では拡散パタンの雑音性が高くなるように行われる。ノイズ区間、音声区間(有声区間、無声区間)の分類は、別途モード判定器1810などによって行われ、拡散パタンの選択はモード判定器1810から出力されたモード情報によって拡散パタン生成器3703で行う。
【0275】
すなわち、モード判定器1810で判定されたモードがモード情報として拡散パタン生成器3703に出力され、拡散パタン生成器3703では、モード情報に基づいて拡散パタンの雑音性を切換える。この場合、図38に示すように、拡散パタン生成器3703では、モードに対応して複数の雑音性が設定されており、モードに応じて雑音性の強弱が選択される。具体的には、ノイズモードの場合には、拡散パタンの雑音性の強いものを選択し、音声(有声)モードの場合には、拡散パタンの雑音性の弱いものを選択する。
【0276】
また、別の構成の拡散パタン生成器3703では、拡散パタンは、ノイズ区間の平均パワの高低に対応して拡散パタンの1サンプル目の振幅値を変えることによって連続的に拡散パタンの雑音性を変化させる。具体的には、図39に示すように、ノイズ区間の平均パワが大きい場合には、1サンプル目の振幅値が小さくする係数を乗じ、ノイズ区間の平均パワが小さい場合には、1サンプルめの振幅値が大きくなる係数を乗じる。この係数とノイズ区間の平均パワとの間には、予め定められた変換関数や変換ルールが介在し、平均パワの情報から振幅変換係数を求めることができるようになっている。なお、振幅値を変えるサンプルについては、1サンプルに限定されない。また、振幅値が変えられた拡散パタンは、振幅値を変える前の拡散パタンと同じベクトルパワとなるように正規化される。
【0277】
ノイズ区間の平均パワによる拡散パタンの雑音性の切換えについては、モード情報によって複数種類用意するなどして、モード情報と平均ノイズパワ情報との双方を組合わせて拡散パタンの切換えを行えば、ノイズパワが大きい場合でも、音声区間(有声区間)では拡散パタンの雑音性を中程度以下にすることなどが可能となり、ノイズ中の音声品質を改善することができる。
【0278】
本実施の形態においては、ノイズ区間のパワの高低に関係なく、ノイズ区間と音声区間とで拡散パタンの雑音性を切換えるようにしても良い。この場合、切換えは、上記と同様に、雑音区間では拡散パタンの雑音性が高く、音声区間では拡散パタンの雑音性が低くなるように行われる。なお、音声区間をさらに有声区間と無声区間に分けた場合は、切換えは、有声区間では拡散パタンの雑音性を低く、無声区間では拡散パタンの雑音性が高くなるように行われる。
【0279】
上記実施の形態6においては、可変型部分的代数符号帳/ランダム符号帳を用いた場合について説明しているが、本発明においては、一般的な代数符号帳を用いた場合にも適用することができる。
【0280】
【発明の効果】
以上説明したように、本発明によれば、代数符号帳から生成される複数の音源パルスのうち少なくとも2本は近接するような組合わせのみを生成することによって雑音符号帳のサイズを削減できる。特に、削減したサイズの部分に無声部や定常雑音部に有効な音源ベクトルを格納することによって、無声部や定常雑音部に対する品質を改善することを可能とした音声符号化装置及び音声復号化装置を提供できる。
【0281】
また、無声部や定常雑音部に対応したモードとそれ以外の部分(例えば有声部)に対応したモードとの切り分けを行う系においては、前記削減するサイズを適応的に切替えることによって無声部や定常雑音部に対する品質の改善度をより高めることを可能とした音声符号化装置及び音声復号化装置を提供できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る音声信号送信装置及び音声信号受信装置の構成を示すブロック図
【図2】本発明の実施の形態1に係る音声符号化装置の構成を示すブロック図
【図3】本発明の実施の形態1に係る音声復号化装置の構成を示すブロック図
【図4】本発明の実施の形態1に係る雑音符号ベクトル生成装置の構成を示すブロック図
【図5】本発明の実施の形態1に係る部分的代数符号帳の一例を示す図
【図6】本発明の実施の形態1に係る雑音符号ベクトル符号化処理の流れの前段半を示すフロー図
【図7】本発明の実施の形態1に係る雑音符号ベクトル符号化処理の流れの中段を示すフロー図
【図8】本発明の実施の形態1に係る雑音符号ベクトル符号化処理の流れの後段を示すフロー図
【図9】本発明の実施の形態1に係る雑音符号ベクトル復号化処理の流れを示すフロー図
【図10】本発明の実施の形態1に係る雑音符号ベクトル生成装置の他の構成を示すブロック図
【図11】本発明の実施の形態1に係る部分的代数符号帳の他の例を示す図
【図12】本発明の実施の形態2に係る音声符号化装置の構成を示すブロック図
【図13】本発明の実施の形態2に係る音声復号化装置の構成を示すブロック図
【図14】本発明の実施の形態2に係る雑音符号ベクトル生成装置の構成を示すブロック図
【図15】本発明の実施の形態2に係る雑音符号ベクトル符号化処理の流れを示すフロー図
【図16】本発明の実施の形態2に係る雑音符号ベクトル復号化処理の流れを示すフロー図
【図17】本発明の実施の形態3に係る音声符号化装置の構成を示すブロック図
【図18】本発明の実施の形態3に係る音声復号化装置の構成を示すブロック図
【図19】本発明の実施の形態3に係る雑音符号ベクトル生成装置の構成を示すブロック図
【図20】本発明の実施の形態3に係る雑音符号ベクトル符号化処理の流れを示すフロー図
【図21】本発明の実施の形態3に係る雑音符号ベクトル復号化処理の流れを示すフロー図
【図22】本発明の実施の形態3に係る雑音符号ベクトルとインデックスの対応表の一例を示す図
【図23】本発明の実施の形態3に係る雑音符号ベクトルとインデックスの対応表の他の例を示す図
【図24】本発明の実施の形態4に係る音声符号化装置の構成を示すブロック図
【図25】本発明の実施の形態4に係る音声復号化装置の構成を示すブロック図
【図26】本発明の実施の形態5において使用する3パルス音源ベクトルを示す図
【図27】図26に示す3パルス音源ベクトルの態様を説明するための図
【図28】実施の形態5における2chのランダム符号ベクトルを示す図
【図29】ランダム符号帳の作成における各パルスの配置範囲を設定する処理を説明するためのフロー図
【図30】ランダム符号帳の作成における各パルスの配置範囲を設定する処理を説明するためのフロー図
【図31】ランダム符号帳の作成におけるパルス位置及び極性を決定する処理を説明するためのフロー図
【図32】ランダム符号帳におけるサンプル間隔及びパルス位置を示す図
【図33】部分的代数符号帳とランダム符号帳を併用した場合の態様を示す図
【図34】部分的代数符号帳のブロック化を説明するための図
【図35】ランダム符号帳の段階的増加を説明するための図
【図36】本発明の実施の形態6に係る音声符号化装置の構成を示すブロック図
【図37】本発明の実施の形態6に係る音声復号化装置の構成を示すブロック図
【図38】実施の形態6に係る音声符号化装置及び音声復号化装置に使用される拡散パルス生成器を説明するための図
【図39】実施の形態6に係る音声符号化装置及び音声復号化装置に使用される拡散パルス生成器を説明するための図
【図40】従来の音声符号化装置の構成を示すブロック図
【図41】従来の2チャンネル代数符号帳の一例を示す図
【図42】従来の3チャンネル代数符号帳の一例を示す図
【符号の説明】
201 前処理器
202 LPC分析器
203 LPC量子化器
204,303 適応符号帳
206,305 部分的代数符号帳
209,308 LPC合成フィルタ
211 聴覚重みづけ器
212 誤差最小化器
301 LPC復号器
302 音源パラメータ復号器
309 後処理器
401,405 第1のパルス発生器
402,406 パルス位置限定器
403,407 第2のパルス発生器

Claims (12)

  1. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成手段と、拡散パタンを生成する拡散パタン生成手段と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散手段と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化手段と、を具備する音声符号化装置であって、
    前記拡散パタン生成手段は、ノイズ区間の平均パワが所定の閾値より大きい場合には拡散パタンの少なくとも1サンプル目の振幅値を小さくし、ノイズ区間の平均パワが前記閾値以下の場合には拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化装置。
  2. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成手段と、拡散パタンを生成する拡散パタン生成手段と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散手段と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化手段と、を具備する音声符号化装置であって、
    前記拡散パタン生成手段は、ノイズ区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、音声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化装置。
  3. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成手段と、拡散パタンを生成する拡散パタン生成手段と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散手段と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化手段と、を具備する音声符号化装置であって、
    前記拡散パタン生成手段は、無声区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、有声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化装置。
  4. 前記拡散パタン生成手段は、1つの拡散パタンの1サンプル目のみの振幅値を変えることにより前記1つの拡散パタンを加工する、請求項1から請求項3のいずれかに記載の音声符号化装置。
  5. 前記拡散パタン生成手段は、拡散パタンの1要素のみの振幅が他の要素に比べて相対的に増減するように拡散パタンのパルス振幅値を変える、請求項1から請求項3のいずれかに記載の音声符号化装置。
  6. 前記拡散パタン生成手段は、係数を乗算することにより拡散パタンのパルス振幅値を変える、請求項1から請求項3のいずれかに記載の音声符号化装置。
  7. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成工程と、拡散パタンを生成する拡散パタン生成工程と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散工程と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化工程と、を具備する音声符号化方法であって、
    前記拡散パタン生成工程では、ノイズ区間の平均パワが所定の閾値より大きい場合には拡散パタンの少なくとも1サンプル目の振幅値を小さくし、ノイズ区間の平均パワが前記閾値より小さい場合には拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化方法。
  8. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成工程と、拡散パタンを生成する拡散パタン生成工程と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散工程と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化工程と、を具備する音声符号化方法であって、
    前記拡散パタン生成工程では、ノイズ区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、音声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化方法。
  9. 音源パルスで構成された音源ベクトルを生成する音源ベクトル生成工程と、拡散パタンを生成する拡散パタン生成工程と、前記生成された拡散パタンにしたがって前記生成された音源ベクトルのパルスを拡散するパルス拡散工程と、聴覚重み付け後の誤差信号のエネルギを最小とする前記音源ベクトルを決定する誤差最小化工程と、を具備する音声符号化方法であって、
    前記拡散パタン生成工程では、無声区間では、拡散パタンの少なくとも1サンプル目の振幅値を小さくし、有声区間では、拡散パタンの少なくとも1サンプル目の振幅値を大きくすることにより、入力信号の雑音性に対応する特性を有した拡散パタンを生成する音声符号化方法。
  10. 前記拡散パタン生成工程では、1つの拡散パタンの1サンプル目のみの振幅値を変えることにより前記1つの拡散パタンを加工する、請求項7から請求項9のいずれかに記載の音声符号化方法。
  11. 前記拡散パタン生成工程では、拡散パタンの1要素のみの振幅が他の要素に比べて相対的に増減するように拡散パタンのパルス振幅値を変える、請求項7から請求項9のいずれかに記載の音声符号化方法。
  12. 前記拡散パタン生成工程では、係数を乗算することにより拡散パタンのパルス振幅値を変える、請求項7から請求項9のいずれかに記載の音声符号化方法。
JP31427199A 1999-03-05 1999-11-04 音声符号化装置及び音声符号化方法 Expired - Fee Related JP4173940B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP31427199A JP4173940B2 (ja) 1999-03-05 1999-11-04 音声符号化装置及び音声符号化方法
CNB008002665A CN1265355C (zh) 1999-03-05 2000-03-02 音源矢量生成装置及语音编码/解码装置
US09/674,442 US6928406B1 (en) 1999-03-05 2000-03-02 Excitation vector generating apparatus and speech coding/decoding apparatus
EP10169434A EP2237268A3 (en) 1999-03-05 2000-03-02 Speech coding/decoding apparatus
EP10169435A EP2239730A3 (en) 1999-03-05 2000-03-02 Speech Coding Apparatus
AU28252/00A AU2825200A (en) 1999-03-05 2000-03-02 Sound source vector generator and voice encoder/decoder
EP00906624A EP1083547A4 (en) 1999-03-05 2000-03-02 SOUND SOURCE GENERATOR, LANGUAGE CODIER AND LANGUAGE DECODER
PCT/JP2000/001225 WO2000054258A1 (fr) 1999-03-05 2000-03-02 Generateur de vecteurs de source sonore, et codeur/decodeur vocal
CN2006100850590A CN1873779B (zh) 1999-03-05 2000-03-02 语音编码解码装置及方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-59520 1999-03-05
JP5952099 1999-03-05
JP31427199A JP4173940B2 (ja) 1999-03-05 1999-11-04 音声符号化装置及び音声符号化方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008087555A Division JP4469400B2 (ja) 1999-03-05 2008-03-28 音声符号化装置、音声復号化装置、音声符号化方法および音声復号化方法

Publications (3)

Publication Number Publication Date
JP2000322097A JP2000322097A (ja) 2000-11-24
JP2000322097A5 JP2000322097A5 (ja) 2008-02-07
JP4173940B2 true JP4173940B2 (ja) 2008-10-29

Family

ID=26400568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31427199A Expired - Fee Related JP4173940B2 (ja) 1999-03-05 1999-11-04 音声符号化装置及び音声符号化方法

Country Status (6)

Country Link
US (1) US6928406B1 (ja)
EP (3) EP2239730A3 (ja)
JP (1) JP4173940B2 (ja)
CN (1) CN1265355C (ja)
AU (1) AU2825200A (ja)
WO (1) WO2000054258A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556966B1 (en) * 1998-08-24 2003-04-29 Conexant Systems, Inc. Codebook structure for changeable pulse multimode speech coding
US6980948B2 (en) * 2000-09-15 2005-12-27 Mindspeed Technologies, Inc. System of dynamic pulse position tracks for pulse-like excitation in speech coding
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
WO2003091989A1 (en) * 2002-04-26 2003-11-06 Matsushita Electric Industrial Co., Ltd. Coding device, decoding device, coding method, and decoding method
US7233896B2 (en) * 2002-07-30 2007-06-19 Motorola Inc. Regular-pulse excitation speech coder
JP3881943B2 (ja) * 2002-09-06 2007-02-14 松下電器産業株式会社 音響符号化装置及び音響符号化方法
JP2004157381A (ja) * 2002-11-07 2004-06-03 Hitachi Kokusai Electric Inc 音声符号化装置及び方法
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
JP4675692B2 (ja) * 2005-06-22 2011-04-27 富士通株式会社 話速変換装置
JP5188990B2 (ja) * 2006-02-22 2013-04-24 フランス・テレコム Celp技術における、デジタルオーディオ信号の改善された符号化/復号化
WO2008001866A1 (fr) * 2006-06-29 2008-01-03 Panasonic Corporation dispositif de codage vocal et procédé de codage vocal
US8688437B2 (en) 2006-12-26 2014-04-01 Huawei Technologies Co., Ltd. Packet loss concealment for speech coding
CN101286321B (zh) * 2006-12-26 2013-01-09 华为技术有限公司 双脉冲激励的线性测编码
US8175870B2 (en) * 2006-12-26 2012-05-08 Huawei Technologies Co., Ltd. Dual-pulse excited linear prediction for speech coding
EP2128855A1 (en) * 2007-03-02 2009-12-02 Panasonic Corporation Voice encoding device and voice encoding method
RU2439721C2 (ru) 2007-06-11 2012-01-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Аудиокодер для кодирования аудиосигнала, имеющего импульсоподобную и стационарную составляющие, способы кодирования, декодер, способ декодирования и кодированный аудиосигнал
JP5088050B2 (ja) * 2007-08-29 2012-12-05 ヤマハ株式会社 音声処理装置およびプログラム
CN100578619C (zh) * 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
JP4764956B1 (ja) * 2011-02-08 2011-09-07 パナソニック株式会社 音声符号化装置及び音声符号化方法
US9524727B2 (en) * 2012-06-14 2016-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for scalable low-complexity coding/decoding
EP4376304A2 (en) 2014-03-31 2024-05-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, encoding method, decoding method, and program
WO2019036722A1 (en) 2017-08-18 2019-02-21 Northeastern University METHOD FOR PRODUCING TETRATENITE AND SYSTEM THEREOF

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1334177A (en) * 1971-06-10 1973-10-17 Standard Telephones Cables Ltd Vocoder excitation system
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
JPH02294700A (ja) 1989-05-09 1990-12-05 Nec Corp 音声分析合成装置
CA2010830C (en) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
US5754976A (en) * 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
FI98104C (fi) * 1991-05-20 1997-04-10 Nokia Mobile Phones Ltd Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi
JPH0612098A (ja) 1992-03-16 1994-01-21 Sanyo Electric Co Ltd 音声符号化装置
US5377302A (en) * 1992-09-01 1994-12-27 Monowave Corporation L.P. System for recognizing speech
JPH07295596A (ja) 1994-04-26 1995-11-10 Matsushita Electric Ind Co Ltd 音声符号化方法
JPH08123493A (ja) 1994-10-27 1996-05-17 Nippon Telegr & Teleph Corp <Ntt> 符号励振線形予測音声符号化装置
JP3285185B2 (ja) 1995-06-16 2002-05-27 日本電信電話株式会社 音響信号符号化方法
JP3137176B2 (ja) * 1995-12-06 2001-02-19 日本電気株式会社 音声符号化装置
US5970444A (en) * 1997-03-13 1999-10-19 Nippon Telegraph And Telephone Corporation Speech coding method
KR100938017B1 (ko) * 1997-10-22 2010-01-21 파나소닉 주식회사 벡터 양자화 장치 및 방법

Also Published As

Publication number Publication date
US6928406B1 (en) 2005-08-09
EP2239730A3 (en) 2010-12-22
EP1083547A1 (en) 2001-03-14
CN1265355C (zh) 2006-07-19
EP2237268A2 (en) 2010-10-06
WO2000054258A1 (fr) 2000-09-14
CN1296608A (zh) 2001-05-23
EP2237268A3 (en) 2010-12-22
AU2825200A (en) 2000-09-28
JP2000322097A (ja) 2000-11-24
EP1083547A4 (en) 2005-08-03
EP2239730A2 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
JP4173940B2 (ja) 音声符号化装置及び音声符号化方法
JP3346765B2 (ja) 音声復号化方法及び音声復号化装置
US6735567B2 (en) Encoding and decoding speech signals variably based on signal classification
US6581032B1 (en) Bitstream protocol for transmission of encoded voice signals
US6757649B1 (en) Codebook tables for multi-rate encoding and decoding with pre-gain and delayed-gain quantization tables
CA2306098C (en) Multimode speech coding apparatus and decoding apparatus
WO2001052241A1 (en) Multi-mode voice encoding device and decoding device
KR100350340B1 (ko) 음성 부호화 장치, 음성 복호 장치 및 음성 부호화 복호 장치 및 음성 부호화 방법, 음성 복호 방법 및 음성 부호화 복호 방법
WO1998006091A1 (fr) Codec vocal, support sur lequel est enregistre un programme codec vocal, et appareil mobile de telecommunications
JPH08263099A (ja) 符号化装置
JP3955179B2 (ja) 音声符号化装置、音声復号化装置、およびこれらの方法
KR20030062354A (ko) 음향 파라미터 부호화, 복호화 방법, 장치 및 프로그램, 음성 부호화, 복호화 방법, 장치 및 프로그램
EP1419500B1 (en) Reducing memory requirements of a codebook vector search
JPH08272395A (ja) 音声符号化装置
JP3746067B2 (ja) 音声復号化方法及び音声復号化装置
KR20040104750A (ko) 음성 부호화 복호 방식간의 부호 변환 방법 및 장치와 그기억 매체
KR100561018B1 (ko) 음성 부호화 장치와 방법, 및 음성 복호화 장치와 방법
JP3806344B2 (ja) 定常雑音区間検出装置及び定常雑音区間検出方法
JP4299676B2 (ja) 固定音源ベクトルの生成方法及び固定音源符号帳
JP3888097B2 (ja) ピッチ周期探索範囲設定装置、ピッチ周期探索装置、復号化適応音源ベクトル生成装置、音声符号化装置、音声復号化装置、音声信号送信装置、音声信号受信装置、移動局装置、及び基地局装置
JP4469400B2 (ja) 音声符号化装置、音声復号化装置、音声符号化方法および音声復号化方法
JP3579276B2 (ja) 音声符号化/復号化方法
JP4619549B2 (ja) マルチモード音声復号化装置及びマルチモード音声復号化方法
JP3954716B2 (ja) 音源信号符号化装置、音源信号復号化装置及びそれらの方法、並びに記録媒体
JP2004163737A (ja) 確率的符号帳の音源の符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071214

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20071226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080617

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080722

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080815

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees