JP2008089999A - 音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム - Google Patents

音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム Download PDF

Info

Publication number
JP2008089999A
JP2008089999A JP2006270993A JP2006270993A JP2008089999A JP 2008089999 A JP2008089999 A JP 2008089999A JP 2006270993 A JP2006270993 A JP 2006270993A JP 2006270993 A JP2006270993 A JP 2006270993A JP 2008089999 A JP2008089999 A JP 2008089999A
Authority
JP
Japan
Prior art keywords
band
bits
encoding
partition
divisor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006270993A
Other languages
English (en)
Other versions
JP4396683B2 (ja
Inventor
Hiroyasu Ide
博康 井手
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006270993A priority Critical patent/JP4396683B2/ja
Priority to PCT/JP2007/068733 priority patent/WO2008041596A1/en
Priority to KR1020097009136A priority patent/KR101026597B1/ko
Priority to CN2007800366177A priority patent/CN101523485B/zh
Priority to US11/906,312 priority patent/US8447597B2/en
Publication of JP2008089999A publication Critical patent/JP2008089999A/ja
Application granted granted Critical
Publication of JP4396683B2 publication Critical patent/JP4396683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/02Speech 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/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】
聴覚特性を考慮して、音質を維持しつつ軽快かつ高速に音声の符号化及び復号を行う。
【解決手段】
符号化装置に入力された音声は、MDCT係数から構成されるスペクトルに変換される。まず、中区画帯域毎に、MDCT係数と与えられたビット数との比較により決定されたシフトビット数ぶんだけ、MDCT係数が右ビットシフトされる。次に、MDCT係数は大区画帯域毎に異なる精度で再量子化され、前記シフトビット数とともに符号化される。復号側では、逆再量子化、前記シフトビット数ぶんだけ左ビットシフトすることによるMDCT係数の復元、及び、逆MDCTによる実時間領域への変換、により、音声信号が復元される。
【選択図】図6

Description

本発明は、聴覚の特性を考慮した音声圧縮復元を実行する際に必要となる、音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラムに関する。
通信容量が限られている状況下でなされる音声通信においては、できるだけ少ないデータによりできるだけ高品質の声音が復元可能となるように、音声符号化及び音声復号に工夫が必要となる。
かかる工夫のひとつの方向として、人間の聴覚の特性を有効に利用することが挙げられる。
聴覚の特性を考慮した音声符号化方法としては、音声信号をスペクトルに変換した後、聴覚の特性から導かれる臨界帯域を考慮しつつ、該スペクトルを複数のサブバンドに分割する方法が知られている(例えば、特許文献1及び非特許文献1参照)。
かかる方法においては、上述のサブバンド毎に、信号値、マスキング量、雑音等が勘案され、符号化に必要なビット数が算出された後、符号化が行われる。
特開平7−46137号公報 JIS規格番号JISX4323"ディジタル記録媒体のための動画信号及び付随する音響信号の1.5Mbit/s符号化−第3部 音響"、p. 96[online]、[平成18年8月7日検索]、インターネット(URL:http://www.jisc.go.jp/app/pager?id=22028)
しかし、かかる方法においては、符号化に必要なビット数の算出の手順が複雑であり、多くの計算ステップが必要となる。これは、例えばひとつには、マスキング量の算出が容易ではないためである。
よって、かかる方法を採用すると、符号化装置等の内部のCPU等の演算装置の処理負担が大きくなってしまい、処理速度の低下を招き得る。すると例えば、携帯電話等の用途において、リアルタイムで相互通話を行うのが困難になる。それを避けるためには、符号化装置等に、やむを得ず、特別に高性能の演算装置を搭載せざるを得ない。
そこで、聴覚特性を考慮した音声符号化及び復号方法を採用しつつ、演算装置として一般的なものが搭載された符号化及び符号装置であって、事実上のリアルタイム通話等が実用上問題のない音質で行われる符号化及び復号装置が必要とされている。
本発明は、上記実情に鑑みてなされたものである。すなわち、通信容量が制約されている状況において、一般的な演算装置を用いることを前提にしつつ、音声符号化にあたっては、聴覚特性を考慮した階層化された帯域別信号処理による高速化が図られ、音声復号にあたっては、実用上問題のない品質の音声を高速で復元できるようにした、音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、この発明の第1の観点に係る音声符号化装置は、
デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換手段と、
聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索手段と、
前記各中区画帯域について、前記最大値検索手段で検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別手段と、
前記判別手段により前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別手段により前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算手段と、
聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算手段で処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化手段と、
前記除数と前記再量子化済成分とを符号化して出力する符号化手段と、
を備える。
除数が2の累乗に限定されるため、電子計算機においては、除算といっても単純な右シフト演算だけで済む。これは、処理の高速化に資する。
前記中区画帯域の中心周波数が小さいほど、該中区画帯域に多くの前記所定のビット数を割り当てる割り当てビット数決定手段をさらに備える、ことが望ましい。
人間の聴覚には、低周波音であるほど、音量の大小に敏感である、という特性がある。よって、かかるビット数決定手段をさらに備えることは、聴覚特性を考慮した音声符号化装置にふさわしい。
前記中区画帯域に低域から順に中区画識別用整数を割り当て、前記中区画帯域の中心周波数の対数が、前記中区画識別用整数に線型的に依存するように前記中区画帯域を構成する中区画帯域構成手段をさらに備える、ことが望ましい。
人間の聴覚には、低周波音であるほど、周波数のわずかな差にも敏感であり、その感度は、周波数に対して対数的に変化する、という特性がある。よって、かかる中区画帯域構成手段をさらに備えることは、聴覚特性を考慮した音声符号化装置にふさわしい。
前記大区画帯域の中心周波数が小さいほど、該大区画帯域における前記再量子化手段による量子化し直しの前記精度が高くなるように、各大区画帯域の前記精度を決定する再量子化精度決定手段をさらに備える、ことが望ましい。
上述のとおり、人間の聴覚には、低周波音であるほど、音量の大小に敏感である、という特性があるためである。
前記再量子化手段は、前記除算手段で処理済みの量子化済成分の値を、その対数を量子化することによって前記再量子化成分に変換する、ことが望ましい。
人間の聴覚には、小さい音であるほど、音量のわずかな差にも敏感であり、その感度は、音量に対して対数的に変化するためである。
前記大区画帯域に低域から順に大区画識別用整数を割り当て、前記大区画帯域の中心周波数の対数が、前記大区画識別用整数に線型的に依存するように前記大区画帯域を構成する第1の大区画帯域構成手段をさらに備えてもよい。
上述の通り、人間の聴覚には、低周波音であるほど、周波数のわずかな差にも敏感であり、その感度は、周波数に対して対数的に変化する、という特性がある。よって、かかる第1の大区画帯域構成手段をさらに備えることは、聴覚特性を考慮した音声符号化装置として適切であるといえる。
あるいは、低域の大区画帯域と中域の大区画帯域と高域の大区画帯域とを構成し、前記中域の大区画帯域と前記高域の大区画帯域との境界の周波数が、前記離散スペクトル変換手段が扱い得る周波数の上限値の半分の値となるようにするとともに、1乃至3の前記中区画帯域により前記低域の大区画帯域を構成する第2の大区画帯域構成手段をさらに備えてもよい。
大区画帯域を3つしか設けないことにより、エントロピ符号化による圧縮率が高くなることが期待でき、通信容量の制約を満たす上で有利である。
単数又は複数の前記小区画帯域から構成されるエントロピ符号化用帯域毎に、それに属する前記量子化成分の絶対値の2乗の和を求め、該和に所定の係数を乗じた値を該エントロピ符号化用帯域の重要度とする重要度決定手段をさらに備え、前記符号化手段は、符号長を所定の符号長以下にしつつ、前記重要度が大きい前記エントロピ符号化用帯域の前記再量子化成分を優先してエントロピ符号化してもよい。
符号化方法としてエントロピ符号化方法を用いることは、情報圧縮率が一定の符号化方法に比べて、高圧縮率が達成できることがある点で、有利である。一方でエントロピ符号化方法は、場合によっては、情報圧縮率が一定の符号化方法に比べて、圧縮率が劣ることもある。しかしその場合も、音声スペクトルのうち、上述のように大きなエネルギーを有する帯域の再量子化成分を優先してエントロピ符号化すれば、復号したときに該音声スペクトルの概形は復元し得ることが期待される。よって、総合的にみると、上述のような、音声スペクトルの重要部分を特定した上で符号化方法としてエントロピ符号化方法を採用することには、利点がある。
前記重要度決定手段は、前記和に、前記エントロピ符号化用帯域の中心周波数が低いほど大きな数を乗じた値を該エントロピ符号化用帯域の重要度としてもよい。
上述のように、人間の聴覚は、低周波音に対して敏感である。よって、前記重要度を決定する際に、スペクトルのエネルギーそのままの値よりも、音声スペクトルの低周波側ほど重み付けをした値を用いる方が、聴覚特性からすれば適切な優先順位付けができるとも考えられる。
前記離散スペクトル変換手段は、例えば、MDCT(Modified Discrete Cosine Transform)を用いる。
上記目的を達成するために、この発明の第2の観点に係る音声復号装置は、
音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果、生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信手段と、
前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号手段と、
復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化手段と、
復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフト手段と、
復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換手段と、
を備える。
上記目的を達成するために、この発明の第3の観点に係る音声符号化方法は、
デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換ステップと、
聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索ステップと、
前記各中区画帯域について、前記最大値検索ステップで検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別ステップと、
前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算ステップと、
聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算ステップで処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化ステップと、
前記除数と前記再量子化済成分とを符号化して出力する符号化ステップと、
から構成される。
上記目的を達成するために、この発明の第4の観点に係る音声復号方法は、
音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果、生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信ステップと、
前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号ステップと、
復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化ステップと、
復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフトステップと、
復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換ステップと、
から構成される。
上記目的を達成するために、この発明の第5の観点に係るコンピュータプログラムは、
コンピュータに、
デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換ステップと、
聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索ステップと、
前記各中区画帯域について、前記最大値検索ステップで検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別ステップと、
前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算ステップと、
聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算ステップで処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化ステップと、
前記除数と前記再量子化済成分とを符号化して出力する符号化ステップと、
を実行させる。
上記目的を達成するために、この発明の第6の観点に係るコンピュータプログラムは、
コンピュータに、
音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果、生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信ステップと、
前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号ステップと、
復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化ステップと、
復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフトステップと、
復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換ステップと、
を実行させる。
本発明によれば、聴覚特性が考慮された上で音声信号が階層的な複数種類の帯域毎に処理される。よって、高音質を確保しつつも、音声信号を高速かつ軽快に符号化及び復号することが可能となる。
以下、本発明の実施の形態に係る音声符号化装置及び音声復号装置について詳細に説明する。
なお、ユーザにとっての利便性を確保する観点から、音声符号化装置と音声復号装置とは、単一の装置に統合されているものとする。
(実施形態1)
図1に、本実施形態に係る音声符号化兼復号装置9111を示す。該装置としては、例えば、携帯電話機が想定される。
音声符号化兼復号装置9111は、CPU9121と、ROM(Read Only Memory)9123と、記憶部9125と、音声処理部9141と、無線通信部9161と、操作キー入力内容処理部9171と、を備え、これらは、システムバス9181で相互に接続されている。システムバス9181は、命令やデータを転送するための伝送経路である。
ROM9123には、音声符号化及び復号のための動作プログラムが格納されている。
記憶部9125は、RAM(Random Access Memory)9131と、ハードディスク9133と、から構成されて、デジタル音声信号、MDCT係数、シフトビット数、符号、及び、後述の小区画・中区画・大区画毎の特徴量、等を記憶する。
音声符号化兼復号装置9111は、マイクロフォン9151と、スピーカ9153と、アンテナ9163と、操作キー9173と、をさらに備える。
マイクロフォン9151は、送信側及び符号化側のユーザの音声を収集し、音声処理部9141に引き渡す。スピーカ9153は、音声処理部9141から引き渡された復元音声を、受信側及び復号側のユーザに対して、発する。アンテナ9163は、無線通信部9161から無線信号として引き渡された符号を受信側及び復号側の装置9111に送信したり、符号化及び送信側の装置9111から送信された無線信号を受信して無線通信部9161に引き渡したりする。操作キー9173は、あらかじめ与えられている初期設定値、例えば、信号処理のための各種帯域の境界周波数を、ユーザ自らの判断で変更するときや、符号化側及び送信側のユーザが、通話の相手方である受信側及び復号側の装置9111を特定したりするときに、ユーザの意図を装置9111に伝達するために用いられる。
音声処理部9141、無線通信部9161、操作キー入力内容処理部9171は、システムバス9181を介してCPU9121の制御下にある。
マイクロフォン9151に入力された音声は、音声処理部9141の内部のA/Dコンバータ(図示せず)による、例えば16KHzサンプリング及び16ビット量子化により、デジタル音声信号に変換される。
かかるデジタル信号は、音声処理部9141により、圧縮の処理単位であるフレームに時分割されつつ、順次記憶部9125に送られる。
後述のとおり、ひとつのフレームの信号はひとまとまりのものとして、記憶部9125への格納、CPU9121による周波数領域への変換、無線通信部9161への伝達、アンテナ9163による無線送信、といった過程を経る。
例えば、記憶部9125に存在するあるフレームの信号が、CPU9121による処理を施されて無線通信部9161へ伝達され終わったとする。すると、記憶部9125からは、該フレームの信号に関わるデータは記憶部9125から削除される。そして、記憶部9125には、音声処理部9141から次のフレームの信号が引き渡される。
このように、音声信号が入力され続ける限り、空きプロセスが生じることなく、次から次へとフレーム単位での信号処理が進行する。
このような鎖状の処理方法を採ることにより、携帯電話として必要な、音声信号のリアルタイム処理が可能になる。
以下では、理解を容易にするために、音声が1フレームぶんの時間に渡ってのみ、マイクロフォン9151に入力されたと仮定して、説明する。
1フレームがM個の信号値から構成されるとして、マイクロフォン9151に入力された音声信号が、音声処理部9141によってデジタル信号x0、・・・、xM-1に変換され記憶部9125に引き渡されたとする。装置9111内部の各構成要素間のデータ移動は、CPU9121の指示に従ってシステムバス9181を用いて行われる。CPU9121の指示は、ROM9123に格納された動作プログラムに従って発せられる。
記憶部9125に格納された信号x0、・・・、xM-1は、CPU9121の汎用レジスタ(図示せず。)のひとつにロードされる。実時間領域の信号である信号x0、・・・、xM-1は、CPU9121により周波数領域の信号X0、・・・、XM/2-1に変換され、汎用レジスタに格納される。変換方法は、実時間領域の信号を周波数領域の信号へと変換するものであれば任意の方法であってよいが、変換後の数値に虚部が生じないため扱いが容易となることから、MDCT(Modified Discrete Cosine Transform)を採用するのが好適である。
なお、実時間領域のM個の信号値が、上述のように周波数領域ではM/2個の周波数係数値に対応するのは、周波数変換にMDCTを用いたからである。他の周波数変換方法の場合、実時間領域におけるデータ数と周波数領域におけるデータ数とが、2:1の比になるとは限らないが、その場合は、周波数係数の最終値に付された数字を適宜読み替えれば、以下の説明はそのままあてはまる。
図2(a)は、こうして生成されたMDCT係数を模式的に表したものである。図2(b)は、その一部を拡大したものである。MDCTは離散的周波数変換の一種であるから、周波数軸を区切ることによって生じるM/2個の小区画帯域毎に、ひとつの信号値が割り当てられることになる。図に示すように、低周波数側から数えてk+1番目の小区画帯域には番号kが与えられ、信号値Xkが割り当てられる(ただし、0≦k≦M/2-1である。)。この信号値XkはMDCT係数と呼ばれる。
有限の時間長を有する時間区画1つにつき1回のMDCTを行うわけであるが、かかる時間区画をMDCTブロックと呼ぶ。また、MDCTブロックひとつに含まれる信号値の数をMDCTの次数という。MDCTの次数としては、例えば512が好適である。
フレームは音声圧縮の処理単位であるから、MDCTブロックの時間長は1個のフレームの時間長を超えてはならない。一方、1個のフレームは複数のMDCTを含んでもよく、例えば、1個のフレームが3乃至4個のMDCTブロックを含むのが好適である。
ただし、ここでは、発明の本質のみを抽出して理解を容易にするために、フレーム1個がMDCTブロック1個と1対1の対応をしているとする。つまり、1個のフレームがそのまま1個のMDCTブロックに対応しているとする。すると、図2以降のMDCT係数の模式図においては、フレーム1個にM個の実時間信号値が含まれていることから、MDCTブロックの次数はMであることになる。
なお、図2以降では、MDCT係数は全て正の値をとるかのように描かれているが、これは理解を容易にするためにすぎない。実際のMDCT係数は負の値をとることもある。上述のように、図2以降のMDCT係数に関する図は、あくまでも説明のための模式図である。
CPU9121は、汎用レジスタに格納されているMDCT係数Xk(0≦k≦M/2-1)について、後の処理を円滑に行うために、各MDCT係数を識別するための記号を付け替える。該付け替えは、CPU9121が、ROM9123から読み出した動作プログラムに従って行う。具体的には、次のように、各MDCT係数を2個の記号で識別し直す。
まず、図2(c)に示すように、周波数領域全体を、ωMaxRANGE個の中区画帯域に分割し、低周波数側から1、2、・・・、ωMaxRANGEのように番号を付けて各帯域を区別する。
MDCT係数の識別のための新たな記号のひとつは、この番号である。
各中区画帯域の中心周波数の対数が、該番号に線型的に依存するように、中区画帯域による周波数領域の分割が行われる。換言すると、CPU9121がROM9123から読み出す動作プログラムには、かかる分割が行われるような命令が含まれている。かかる分割によれば、高周波領域の中区画帯域ほど、帯域幅が広くなる。図2(c)にはその様子が模式的に示されている。
このように対数を基準に分割を行う理由は、人間の聴覚における周波数の違いに対する感度が、高周波成分ほど対数的に鈍くなるためである。そこで、限られた通信容量でできる限り有効な音声信号伝達を行うためには、低周波成分については、再生音質の確保のために詳しく再現し得るようにする一方で、高周波成分については、おおまかな情報だけ伝達することにして、情報量が全体として少なくなるようにするのが適切である。
例えば、マイクロフォン9151に入力された音声が音声処理部9141においてサンプリング周波数16kHzでデジタル信号に変換された場合には、ROM9123に格納されている動作プログラムにおいて、中区画帯域を11個設けることとし、中区画帯域の境界を187.5Hz、437.5Hz、687.5Hz、937.5Hz、1312.5Hz、1687.5Hz、2312.5Hz、3250Hz、4625Hz、6500Hz、のように設定しておくのが好適である。
次に、各MDCT係数が、その属する中区画帯域のうち低周波側から数えて何番目のものであるか、が決定される。ωRANGE(1≦ωRANGE≦ωMaxRANGE)という番号が付された中区画帯域にはq(ωRANGE)個のMDCT係数が含まれるとする。
すると、全てのMDCT係数は、どの中区画帯域に属するかということと、中区画帯域の中で低周波数側から数えて何番目の係数であるかということと、を表す2つの記号により、区別することができる。すなわち、これまで図2(b)に示すように全周波数に渡って1乃至M/2-1という番号で区別されていたMDCT係数は、新たに、ωRANGE番目の中区画帯域(1≦ωRANGE≦ωMaxRANGE)に属する、X(ωRANGE、1)、・・・、X(ωRANGE、q(ωRANGE))、という形で記述されることにより、相互に区別されることになる。この様子は、図2(c)の一部を拡大した図2(d)により、示される。
CPU9121は、こうして識別し直されたMDCT係数X(ωRANGE、1)、・・・、X(ωRANGE、q(ωRANGE))(1≦ωRANGE≦ωMaxRANGE)を、記憶部9125に格納する。
続いて、各中区画帯域におけるMDCT係数の最大値の検索、情報量削減のためのシフトビット数の決定、及び、該シフトビット数だけビットシフトされた後のMDCT係数の計算、が行われる。この様子を、図3に示すフローチャートにより示す。さらに、理解を容易にするために、図4に、一例を模式的に示す。以下では図3及び図4を参照しつつ説明する。
CPU9121は、内蔵のカウンタ用レジスタ(図示せず。)を、中区画帯域の識別のための変数であるωRANGEを格納するために用いる。
ωRANGEの初期値は1とする(図3のステップS9311)。後にωRANGEの値は1ずつインクリメントされ(ステップS9333)、繰り返し処理が行われる。その結果、低域から高域の順に、全周波数領域に渡る処理が行われる。
上述のとおり、記憶部9125には、中区画帯域における処理のために識別し直されたMDCT係数が既に格納されている。そこで、CPU9121は、記憶部9125から、かかるMDCT係数X(ωRANGE、1)、・・・、X(ωRANGE、q(ωRANGE))を、汎用レジスタにロードする(ステップS9313)。
次に、CPU9121は、ロードしたMDCT係数のうち、最大のものを検索する(ステップS9315)。すなわち、低周波側から数えてωRANGE番目の中区画帯域における、MDCT係数の最大値を求める。該最大値をXMAXRANGE)と表記することにする。
例えば図4(a)のようにMDCT係数が並び、7つの中区画帯域に分割されている場合、XMAX(1)〜XMAX(7)は、横方向の点線で示される値である。
ROM9123に格納されている、CPU9121を動作させるためのプログラムには、中区画帯域毎に、該中区画帯域に含まれるMDCT係数を表現するために使用し得るビット数があらかじめ設定されている。番号ωRANGEで識別される中区画帯域に設定されたビット数をGivenBit(ωRANGE)とする。
GivenBit(ωRANGE)は、ωRANGEが大きいほど小さい値に設定しておく。これは、人間の聴覚における音声の大きさに対する感度が、音声が高周波であるほど鈍くなる、という事実を考慮したためである。つまり、できるだけ音質を低下させずに音声信号の情報量を圧縮するためには、聴覚が音量差に敏感な低周波領域については多くのビット数を与えて精密な近似を行う一方、鈍感な高周波領域については少ないビット数を与えて粗い近似を行うのが有効だからである。
例えば、図4(b)の太い横線で示すように、高周波側である5番目〜7番目の中区画帯域については、低周波側である1番目〜4番目の中区画帯域について割り当てられたビット数よりも、ひとつ少ないビット数を割り当てるように、設定される。
なお、1ビット少なく割り当てられたということは、表現し得る数値が1/2になったということである。このことは、図4(b)の場合であれば、2つの中抜き矢印が示す長さが等しいことに対応する。装置9111はある種の電子計算機であるから、その内部では、数値は全て2進数で表現される。よって、ビット数が1個、2個、・・・、に増加すれば、表現し得る数値は、2の1乗倍、2の2乗倍、・・・、のように増加する。
CPU9121は、ωRANGEが格納されているカウンタ用レジスタとは別のカウンタ用レジスタに、一時記憶用の変数TmpBitを格納することとし、初期値として、TmpBit=GivenBit(ωRANGE)とする(図3のステップS9317)。
かかる変数TmpBitを用意するのは、次の理由による。すなわち、番号ωRANGEの中区画帯域におけるMDCT係数の最大値XMAXRANGE)が、該中区画帯域についてあらかじめ設定されているビット数であるGivenBit(ωRANGE)で表現し得るか否かを判別し、表現し得ない場合には、どれだけのビット数があれば表現し得るかを、決定するためである。
具体的には、XMAXRANGE)が、2TmpBitよりも大きいか否かを判別する(ステップS9319)。2の乗数を用いるのは、2進数どうしの比較を行うからである。
なお、厳密には、MDCT係数の正負を表すためのビット数が1個必要となる。しかし、このことは、発明の本質には関係がないので、ここでは、理解を容易にするために、上述したように、MDCT係数が負になることはないと仮定する。
XMAXRANGE)が、2TmpBitよりも大きいのであれば(ステップS9319;Yes)、XMAXRANGE)はTmpBit個のビットでは表せないといえる。そこで、TmpBitを1増加し(ステップS9321)、かかるTmpBit個のビットであればどうなるか、比較(ステップS9319)をやり直す。
XMAXRANGE)がTmpBit個のビットで表すことができるようになる(ステップS9319;No)まで、TmpBitの1ずつの増加(ステップS9321)が繰り返される。
XMAXRANGE)が2TmpBit以下になったら(ステップS9319;No)、CPU9121は、TmpBitからGivenBit(ωRANGE)を減算することにより、ShiftBit(ωRANGE)を求める(ステップS9323)。ShiftBit(ωRANGE)は、ωRANGE番目の中区画帯域の全てのMDCT係数をどの程度縮小すれば、与えられたビット数であるGivenBit(ωRANGE)で表現し得る数値に収まるか、ということを意味する。つまり縮小のために必要なシフトビット数がShiftBit(ωRANGE)である。
例えば図4(b)の場合、ωRANGE=1〜4のときと、ωRANGE=7のときには、太い横線が点線の横線よりも上側にある。これは、かかる中区画帯域においては、MDCT係数がGivenBit(ωRANGE)個のビットにより表し得ることを意味する。よって、かかる中区画帯域においては、図3のステップS9321を経ることなくステップS9323に至る。TmpBitの値は、ステップS9317で与えた初期値であるGivenBit(ωRANGE)のままであるから、ステップS9323においては、ShiftBit(ωRANGE)=0となる。すなわち、MDCT係数の縮小の必要はない。
一方、図4(b)の、ωRANGEが5及び6のときは、点線の横線が太い横線を越えている。よって、図3のステップS9319における1回目の比較の結果は、Yesになり、ステップS9321に進む。図4(b)の場合、ωRANGE=5とωRANGE=6のいずれの中区画帯域においても、点線の横線は、太い横線をわずかに超えているに過ぎない。よって、図3のステップS9321において、TmpBitを1増加して表現し得る数値を2倍にすれば、これらの帯域における全てのMDCT係数は全て表現可能になる。よって、2度目の判別(ステップS9319)の結果はNoとなり、ステップS9323に進む。該ステップでは、TmpBitが初期値より1だけ増加していることから、ShiftBit(ωRANGE)=1となる。
CPU9121は、このようにして得られたShiftBit(ωRANGE)をすぐ次のステップにおいて使用するために汎用レジスタに保持しておくとともに、記憶部9125に格納する(ステップS9325)。記憶部9125に格納する理由は、中区画帯域毎にShiftBit(ωRANGE)がいかなる値であるかという情報は、復号装置における音声復元に必要となるため、後に符号化して送信しなければならないからである。
CPU9121は、ステップS9313においてロードしたMDCT係数X(ωRANGE、1)、・・・、X(ωRANGE、q(ωRANGE))と、ステップS9323で求めたシフトビット数ShiftBit(ωRANGE)と、から、ビットシフト済MDCT係数
XBSRANGE、1)
=X(ωRANGE、1)
÷{2^ShiftBit(ωRANGE)}、
・・・、
XBSRANGE、q(ωRANGE))
=X(ωRANGE、q(ωRANGE))
÷{2^ShiftBit(ωRANGE)}
を求める(ステップS9327)。ただし、記号^は、累乗を表す。ビットシフト済MDCT係数とは、あらかじめ設定され与えられたビットであるGivenBit(ωRANGE)個のビットで表現し得る範囲内に収まるよう調整されたMDCT係数であるといえる。
例えば、図4の(b)及び(c)に示すように、与えられたビット数にはじめから収まっている1番〜4番及び7番の中区画帯域におけるMDCT係数については、かかる中区画帯域におけるシフトビット数ShiftBit(ωRANGE)が0であることから、2の0乗による除算によりビットシフト済MDCT係数が求まる。もっとも、2の0乗は1であるから、実質的には、MDCT係数の値をそのままビットシフト済MDCT係数としてよい。
一方、5番と6番の中区画帯域では、上述のように、与えられたビット数の範囲内に収めるために必要なビットシフト数ShiftBit(ωRANGE)が1であるから、かかる中区画帯域におけるMDCT係数を2の1乗すなわち2で除して、ビットシフト済MDCT係数を計算する。図4(c)の2つの中抜き矢印で示すとおり、MDCT係数を2で除した結果、ビットシフト後にMDCT係数は半分の値になる。
こうして、図4(b)では、与えられたビット数ではMDCT係数を表現できない帯域があったのに対し、図4(c)では、少なくとも見かけ上は、MDCT係数が、全ての周波数領域に渡って、与えられたビット数で表現できる範囲に収まる。つまり図4(b)では、点線の横線が一部の帯域で太い横線を越えていたのに対して、図4(c)では、全ての周波数領域に渡って、点線の横線は太い横線よりも下側に収まっている。
ところで、図3のステップS9327においては、除算が行われる。ただし、この除算は、2の累乗による除算であるため、CPU9121は実際には、2進数についての右シフト演算を行うだけで済む。
ある数値を、与えられたビット数で表現できるよう除算により減少させるためだけであれば、除数は任意の数値であってもよい。しかし、本実施形態においては、除数を2の累乗に限定している。これにより、除算に必要なビット操作が右シフト演算に限られる。このことは、演算の高速化、あるいは、CPUの処理負担の軽減に資する。その結果、音声符号化兼復号装置9111の全体としての動作のパフォーマンスが向上する。
CPU9121は、求めたビットシフト済MDCT係数XBSRANGE、1)、・・・、XBSRANGE、q(ωRANGE))を、記憶部9125に格納する(ステップS9329)。
全ての帯域についての処理が終わったか否かを判別し(ステップS9331)、終わったのであれば(ステップS9331;Yes)、終了する。まだ終わっていないのであれば(ステップS9331;No)、次の帯域について処理するためにωRANGEを1インクリメントしてから(ステップS9333)、ステップS9313に戻る。
ここまでの処理においては、一部又は全部の中区画帯域についての右ビットシフト演算が含まれているものの、基本的には、音声の大きさを、空気中を伝播する音波の振幅の大きさに比例する量であるとして、扱っていた。これは、マイクロフォン9151が、空気中の波動としての音を忠実に捉える装置であることに起因する。
しかし、人間の聴覚は、程度の差はあれ、どの周波数の音声についても、音としての大きさに対しては、対数的な感度を有する。すなわち、人間の聴覚は、小さな音どうしのわずかな音量の違いには敏感である一方、大きな音どうしの音量の違いには鈍感である。
人間の聴覚のかかる特性と、本実施形態に係る装置9111における音声情報の圧縮という要請と、に鑑みれば、マイクロフォン9151が音波のエネルギーに対して線型的な感度を有しているからといって、小さな音も大きな音も一律の細かさで量子化したままにしておくのは、非効率的である。
そこで、音声符号化兼復号装置9111は、音声信号を符号化する前に、音声信号に対して対数的な量子化を施す。つまり、小さい値ほど細かく、大きな値ほど粗く量子化する。
なお、音声処理部9141におけるA/D変換の際に、音声信号はいったん量子化されている。かかる量子化と区別するために、ここで説明する量子化のことを、再量子化と呼ぶことにする。
以下では、再量子化の手順について、図5の模式図を参照して説明する。
図5(a)は、図3のステップS9329において記憶部9125に格納された、図4(c)に示されたビットシフト済MDCT係数について、その対数をとったものであるとする。
対数をとったり、後述の再量子化をしたりする処理は、CPU9125が、ROM9123に格納された動作プログラムに従って、内蔵のレジスタと記憶部9125の間でのデータの授受を行ったり、レジスタに格納された値に対して適宜必要な演算を施したりすることによって、進められるものとする。
前述のように、人間の聴覚は、小さい音の音量のわずかな違いに敏感である一方、大きな音の音量の違いには鈍感である。これは、確かに、あらゆる周波数領域についていえることである。よって、図5(a)のように、対数をとる意義がある。しかし、帯域によって、上述の敏感・鈍感の程度には、差がある。すなわち、同程度の大きさを有する2つの音の違いに対して、人間の聴覚は、高周波の音ほど、感度が鈍い。このことから、人間にとっての音質をできるだけ損なわずに音声信号の情報量を減少させるためには、低周波数領域における再量子化は細かく行う一方、高周波数量域における再量子化は相対的に粗く行うことが適切である。その際、ある程度の幅を有する複数の帯域への分割を行って、個々の帯域内では再量子化の精度を統一することが、情報量の減少のためには望ましい。再量子化の精度をあまりに小刻みの周波数毎に変化させることは煩雑であり、情報量の増加につながるから、避けるべきである。
さらに、上述の、2つの音の違いに対する感度の周波数依存性は、高周波になるほど、対数的に鈍くなることが知られている。換言すれば、2つの音の違いに対する感度を縦軸に、周波数の対数を横軸にとってグラフを作成すると、周波数が高いほど、感度が線型的に低下する。
このことから、再量子化の精度を変化させる区切りとなる周波数は、周波数軸上で対数的に分布することが望ましい。
ところで、既に、中区画帯域の境界は、周波数軸上で対数的に分布している。そこで、中区画帯域を、そのまま再量子化のための帯域としても利用することも考えられる。
以降のエントロピ符号化の圧縮効率向上のためには、再量子化結果の値に偏りが生じる方が好ましい。
そこで、再量子化の精度変化のための帯域としては、中区画帯域と同様に対数的な周波数分割を採用しつつ、中区画帯域よりも大まかに分割したものを用いるのが適切である。そこで、以下では、再量子化の精度を変えるために設定される帯域のことを、大区画帯域と呼ぶことにする。単数又は連続する複数の中区画帯域を、ひとつの大区画帯域とするのが簡便である。
大区画帯域としては、例えば、全周波数領域を5つ程度に分けることも考えられる。
しかし、大区画領域を3つしか設けない場合でも、それより多数の大区画領域を設けた場合に比べて、人間の聴覚にとっての音質は、ほとんど変化しない。よって、本実施形態では、低域大区画、中域大区画、高域大区画、という3つの大区画帯域を設けることとする。
大区画帯域が3つしかないため、大区画帯域の境界はたったの2つになってしまう。よって、上述のように周波数軸上に対数的に区切りを設ける方針を尊重しつつ、次のように、かかる2つの境界周波数を決定することにする。すなわち、周波数の上限値の半分の周波数を、中域大区画と高域大区画との境界とする。つまり、全周波数領域は、低域大区画と中域大区画とを合わせた部分と、高域大区画の部分とで、半分ずつに分割されることになる。なお、当然のことながら、解析的には、周波数に上限値はない。ここでいう上限値とは、音声処理部9141において採用されるサンプリング周波数に基づいて決定される有限の値、例えば、ナイキスト周波数である。
低域大区画については、低域側から数えて1番目の中区画帯域だけで構成するか、又は、1番目と2番目、あるいはせいぜい1〜3番目の中区画帯域により構成する。これにより、低域大区画と中域大区画の境界も決定され、3つの大区画領域それぞれの端点が決定される。
低域大区画を1個〜3個という少ない個数の中区画帯域により構成することにしたのは、音声信号の特徴は低域部に顕著に現れるため、低域部を精密に再量子化することが有意義である一方、かかる精密な再量子化を要する帯域をあまりに広くしてしまうと、音声信号の情報量を減少させるという要請に反するからである。
以上の大区画帯域による分割の方法及び再量子化を、図5を例に説明する。図5(a)の場合、周波数領域は、番号1〜番号7の、合計7個の中区画帯域に分割されている。
まず、中域大区画と高域大区画の境界は、上述したように、周波数領域を半分に分けるという観点から決定される。また、これも上述したように、単数又は連続する複数の中区画帯域を大区画帯域とすること、すなわち、ひとつの中区画帯域が複数の大区画帯域に属することがないようにすることも必要である。これらのことから、5番目の中区画帯域と6番目の中区画帯域との境界を、中域大区画と高域大区画の境界とすることが妥当である。こうして、高域大区画は、6番目及び7番目の中区画帯域から構成されることになる。
次に、低域大区画と中域大区画の境界は、上述したように、番号1の中区画帯域と番号2の中区画帯域の境界か、番号2の中区画帯域と番号3の中区画帯域の境界か、番号3の中区画帯域と番号4の中区画帯域の境界か、のいずれかになる。このうち、番号3と番号4の中区画帯域の境界を採用すると、低域大区画の幅と中域大区画の幅とが同程度となってしまい、低周波数領域の成分を重点的に精度よく再量子化するという趣旨にそぐわない。よって、番号1と番号2の境界か、番号2と番号3の境界のいずれかが妥当である。いずれであってもよいが、ここでは、前者を採用することにする。こうして、低域大区画は1番目の中区画帯域のみから構成され、中域大区画は2番目〜5番目の中区画帯域から構成されることになる。
再量子化の精度は、具体的には、各大区画帯域に与えられるビット数で決定される。例えば、中域大区画の再量子化の精度は、高域大区画の再量子化の精度よりも1ビットに相当するぶんだけ高く、低域大区画の再量子化の精度は、中域大区画の再量子化の精度よりもさらに1ビットに相当するぶんだけ高いとする。かかる場合、再量子化のための目盛線は、図5(b)において点線の横線で示すものになる。精度を1ビットぶん高くするということは、同じ量を2倍の値で表現するということであるから、精度が2倍になったことに相当する。図5(b)においても、このことが示されている。すなわち、中域大区画の目盛線は、高域大区画の目盛線より2倍密になっており、低域大区画の目盛線は、中域大区画の目盛線よりもさらに2倍密になっている。
再量子化も含め、量子化とは、量子化の対象となる量を、所定の離散値に近似することである。ここでは、対数表示されているビットシフト済MDCT係数を、例えば切り捨てにより、目盛線のいずれかに合わせることが行われる。この様子を示したのが図5(c)である。高域大区画においては、目盛の間隔が広い、すなわち、再量子化の精度が粗いため、図5(b)に現れていた細かな変化は、図5(c)においては、かなり平坦化されている。一方、低域大区画と中域大区画においては、再量子化の精度が比較的高いので、図5(b)に現れていた変化が、図5(c)に示す再量子化後もかなり保存されている。
これらの帯域分割方法や再量子化のビット数は、CPU9121がROM9123から読み出す動作プログラムの中に記述されている。図5に対応してCPU9121が行う動作は、記憶部9125に格納されているビットシフト済MDCT係数を取り出し、その対数をとり、所定の大区画帯域ごとに所定の精度で再量子化して、その結果を記憶部9125に格納する、という動作である。
CPU9121は、以上のようにして得られた、スペクトルに関する情報を、所定の符号化方法により符号に変換し、無線通信部9161に引き渡す。無線通信部9161は、アンテナ9163を通じて、該符号を、無線信号に載せて、受信機として機能する別の装置9111に送信する。
図6(a)に、符号化装置及び送信装置として動作する場合の、音声符号化兼復号装置9111の動作を、フローチャートにして示す。
人間が発した音声は、マイクロフォン9151により収集され、音声処理部9141に引き渡されてA/D変換を施され、デジタル音声信号になる(ステップS9611)。実時間領域の信号である該デジタル音声信号は、MDCT係数の算出により、周波数領域へと変換され、スペクトルデータになる(ステップS9613)。該スペクトルデータは複数の中区画帯域に分割され(ステップS9615)、各中区画帯域毎にMDCT係数の最大値が検索される(ステップS9617)。
各中区画帯域には、人間の聴覚特性に合わせて、所定のビット数が分配されている。かかるビット数と、上述のMDCT係数の最大値と、が比較され、該最大値が、あらかじめ分配されているビット数に収まるために必要なシフトビット数が決定される(ステップS9619)。
なお、上述の所定のビット数は、基本的には、ROM9123に格納された動作プログラムの中に記述済みである。
しかし、例えばユーザ自身が通話を聞き取り易いものにする等の目的により、自ら操作キー9173を用いて変更できるようにしてもよい。その場合は、ROM9123に格納された動作プログラムは記憶部9125から上述の所定のビット数を読み出すように記述され、該ビット数はユーザによる操作キー9173を通じての指示により書き換えられるようにする。
他にも、中区画帯域の境界、大区画帯域の境界、再量子化の精度といった量は、基本的には、ROM9123に格納された動作プログラムの中に記述済みであるけれども、上述のビット数と同様に、ユーザの指示により書き換え可能であってもよい。
ステップS9619において決定されたシフトビット数に基づいて、ビットシフト済MDCT係数が算出される(ステップS9621)。かかる算出には除算が行われるが、除数が2の累乗に限られていることから、電子計算機においては右ビットシフト演算を行えば足りる。これは計算の高速化又はCPU9121の演算負担の軽減に資する。
得られたビットシフト済MDCT係数はその対数に変換され(ステップS9623)、所定の大区画帯域毎に(ステップS9625)、所定の精度で再量子化される(ステップS9627)。
ビットシフトされ再量子化されたMDCT係数と、シフトビット数と、が符号化される(ステップS9629)。符号化された情報は、受信装置又は復号装置として動作する、別の音声符号化兼復号装置9111に、無線通信等の手段により送信される。
一方、受信装置又は復号装置として動作する場合の音声符号化兼復号装置9111は、概ね、上述の符号化及び送信の手順と逆の手順により、音声信号を復元する。
装置9111は、受信装置又は復号装置として動作する場合は、別の装置9111が符号化装置又は送信装置として動作した結果無線通信等の手段により送信した情報を、アンテナ9163により収集する。無線通信部9161は、アンテナ9163が収集した情報を、記憶部9125に格納する。
この時点で、記憶部9125には、ビットシフトされ再量子化されたMDCT係数と、シフトビット数と、が、所定の符号化方法により符号に変換されたものが格納されている。
図6(b)に示すフローチャートを参照しつつ、この後に装置9111が行う動作を説明する。かかる動作は、ROM9123に格納された動作プログラムに従い、CPU9121が行う。また、CPU9121と、記憶部9125との間では、適宜データのやりとりがなされる。
符号化側の装置9111において用いられた符号化方法と対をなす復号方法が用いられることにより、ビットシフトされ再量子化されたMDCT係数と、シフトビット数と、が復号される。
符号化の前に、MDCT係数の対数は大区画帯域毎に異なる精度にて対数化された。よって、復号側である装置9111においては、周波数領域は所定の大区画帯域に分割され(ステップS9643)、ビットシフト済MDCT係数の対数が、該大区画帯域毎に所定の精度にて復元される(ステップS9645)。該対数は元に戻される結果、ビットシフト済MDCT係数が復元される(ステップS9647)。
周波数領域は複数の所定の中区画帯域に分割される(ステップS9649)。各中区画帯域については、送信側の装置9111から、シフトビット数が伝達されている。かかるシフトビット数を用いて、MDCT係数が復元される(ステップS9651)。復元は乗算によるが、乗数が2の累乗に限定されていることから、CPU9121が実際に行うのは左シフト演算である。1回の乗算が1回の左シフト演算だけで済むことは、計算の高速化又はCPU9121の負担軽減に役立つ。
こうして全ての周波数領域についてMDCT係数が復元された、すなわち、スペクトルが復元された。かかるスペクトルは、逆MDCT変換により、実時間領域のデジタル音声信号に変換される(ステップS9653)。該デジタル音声信号は、音声処理部9141にてD/A変換を施され(ステップS9655)、アナログ音声信号となり、スピーカ9153を通じて発せられる。こうして、音声信号の復元が完了する。
(実施形態2)
以下では、本発明の実施形態2に係る音声符号化兼復号装置について述べる。装置の概要は、実施形態1に係る音声符号化兼復号装置9111と同様である。ただし、記憶部9125は、実時間領域における振幅制圧用シフトビット数、符号化用帯域毎の特徴量、符号長、をさらに記憶する。
まず、音声符号化及び送信装置として動作する装置9111について説明する。実施形態1の場合と同様に、マイクロフォン9151によって収集されたアナログ音声信号は、音声処理部9141によりA/D変換を施され、図7(a)に示すようなデジタル音声信号となる。デジタル音声信号としては、例えば、サンプリング周波数16kHz、量子化ビット数16のものが挙げられる。該デジタル音声信号は、記憶部9125に引き渡される。記憶部9125に記憶されたデジタル音声信号は、マイクロフォン9151等の特性のために、図7(a)に示すように、音声再生には不要な直流成分XDCを含む。かかる直流成分XDCは、既知の高域通過フィルタ等により、除去される。
直流成分が除去されたデジタル音声信号は、圧縮の処理単位であるフレームに分割される。1つのフレームには3〜4個のMDCTブロックが含まれるのが好適であるが、ここでは、理解を容易にするために、実施形態1の場合と同様に、1つのフレームが1つのMDCTブロックのみを含むものとする。
デジタル音声信号をフレームに分割するということは、装置9111内の動作としては、次のようなものである。すなわち、最初に単なる時系列として記憶部9125に格納されているデジタル入力信号のひとつひとつに、その信号が属するフレーム番号と、その信号がフレームの中で何番目の信号であるかを示す数字と、を、CPU9121が割り当てる動作である。
この動作をはじめ、CPU9121が行う動作は、ROM9123に格納された動作プログラムに記述されている。CPU9121は、ROM9123から該動作プログラムを読み出し、それに基づいて各種演算等を行う。
各フレームがM個の入力信号サンプルを含むとする。入力信号サンプルは、図7(b)に示すように、かかるフレームへの分割の後、第0フレームに属する最初のサンプルであるxAC(fm=0、0)、第0フレームに属する2番目のサンプルであるxAC(fm=0、1)、・・・、第0フレームに属する最後のサンプルであるxAC(fm=0、M−1)、第1フレームに属する最初のサンプルであるxAC(fm=1、0)、・・・、第1フレームに属する最後のサンプルであるxAC(fm=1、M−1)、・・・のように識別される。図7(b)には、例として、xAC(fm=0、0)が記されている。
なお、入力信号全体としては、図7(a)を直流成分xDCのぶんだけずらしたものが図7(b)である。
次に、フレーム毎に、入力信号のダイナミックレンジの調整が行われる。これは、フレーム中に含まれる最大振幅を所定のビット数に収まるように制圧することにより、送信すべき情報量を減らすためである。
かかる制圧の要否をフレーム毎に決定するために、各フレームにおいて、該フレーム中の入力信号の最大振幅を求める。すなわち、第0フレーム中の最大振幅|xMAX(fm=0)|、第1フレーム中の最大振幅|xMAX(fm=1)|、第2フレーム中の最大振幅|xMAX(fm=2)|、・・・を求める。
上述の所定のビット数をGivenBitACとすると、図7(b)に示すように、制圧の目標値すなわち許容される振幅は、図の塗りつぶした両矢印で示された2本の太い横線の範囲内である。すなわち、±2GivenBitAC−1以内の大きさの入力信号までが許容される。なお、ここで指数に「−1」が付加されるのは、正負の区別に1ビット必要なためである。制圧の目標値としては、例えば、10ビットが好適である。
各フレームにおける最大振幅は、図7(b)では、白抜きの両矢印で示された各フレーム2本ずつの点線の横線の範囲である。図の場合、第0及び第2フレームでは、最大振幅が許容振幅以下であるため、入力信号を制圧する必要がない。一方、第1フレームでは、最大振幅が許容振幅を超えているため、入力信号を制圧する必要がある。
かかる制圧の方法としては、フレーム中の入力信号を、2の累乗で除して最大振幅を許容振幅以内とすることが好適である。2の累乗による除算は、CPU9121にとっては、単なる右シフト演算であるため、高速かつ低負担にて行うことができるからである。ただし、入力信号をいたずらに小さくすることは、後に復号装置にて復元される音声の音質を損なうので、上述の除算において除数として用いる数は、2の累乗であって、最大振幅を許容振幅以内とすることができる数のうち、最小のものとする。
例えば図7(b)の場合、制圧対象である第1フレームにおいては、入力信号を、図7(c)のように、半分にする、すなわち2の1乗で割れば十分である。すなわち、第1フレームの振幅制圧用シフトビット数は、1となる。
事実上ビットシフトしなかった第0及び第2フレームについても、便宜上、20すなわち1による除算が行われたと考えて、振幅制圧用シフトビット数を0として扱う。こうして、直流成分の除去及び制圧の終わった入力信号は、第0フレームに属する最初のサンプルであるxBS、AC(fm=0、0)、第0フレームに属する2番目のサンプルであるxBS、AC(fm=0、1)、・・・、第0フレームに属する最後のサンプルであるxBS、AC(fm=0、M−1)、第1フレームに属する最初のサンプルであるxBS、AC(fm=1、0)、・・・、第1フレームに属する最後のサンプルであるxBS、AC(fm=1、M−1)、・・・のように識別される。
かかるダイナミックレンジの調整の詳細な手順を、図8に示すフローチャートを参照しつつ、説明する。元の入力信号は、既知の高域通過フィルタに通されることにより、直流成分が既に削除されており、記憶部9125には、直流信号除去済入力信号が既に格納されているものとする。つまり、既に、図7(b)の状態にあるものとする。
CPU9121は、フレーム識別変数fmを格納するためのカウンタ用レジスタを用意し、初期値としてfm=0とする(ステップS9811)。
CPU9121は、記憶部9125から直流成分除去済入力信号xAC(fm、0)、・・・、xAC(fm、M−1)を汎用レジスタにロードし(ステップS9813)、これらの値の絶対値どうし、すなわち、|xAC(fm、0)|、・・・、|xAC(fm、M−1)|、を比較し、フレーム内サンプルの絶対値の最大値である|xMAX(fm)|を求める(ステップS9815)。
CPU9121は、フレーム識別変数格納用のカウンタ用レジスタとは別のカウンタ用レジスタに、一時記憶用の変数TmpBitを格納することとし、初期値をTmpBit=GivenBitAC−1とする(ステップS9817)。初期値は、制圧目標値を2進数で表した場合のビット数に相当する。
次に、CPU9121は、ステップS9819において、|xMAX(fm)|が2TmpBitよりも大きいか否かを判別する。大きい場合は(ステップS9819;Yes)、TmpBitを1増加して、再びステップ9819の比較を行う。このようにすればいずれは|xMAX(fm)|が2TmpBit以下になるので(ステップS9819;No)、ステップS9823に進んでShiftBit(fm)=TmpBit−GivenBitAC+1という計算により、制圧のためのビットシフト数であるShiftBit(fm)を求め、記憶部9125に格納する(ステップS9825)。
例えば、フレーム内の入力信号の振幅が最初から制圧目標範囲に収まっていれば、図7(b)の第0又は第2フレームの場合のように、|xMAX(fm)|≦2GivenBitAC−1であるから、ステップS9819の最初の判別ですぐにステップS9823に進み、ShiftBit(fm)=0となる。一方、図7(b)及び(c)の第1フレームの場合は、TmpBitが初期値GivenBitAC−1のままでは、ステップS9819における判別の結果はYesとなる。一方、|xMAX(fm)|≦2GivenBitACであることから、ステップS9821にてTmpBitが1増加すると、2度目のステップS9819での判別結果はNoとなり、ステップ9823に進む。ステップS9823の計算によれば、
ShiftBit(fm)
=TmpBit−GivenBitAC+1
={TmpBitの初期値+1}−GivenBitAC+1
={(GivenBitAC−1)+1}−GivenBitAC+1
=1
のようになり、振幅制圧用シフトビット数は1と求まる。
次に、CPU9121は、ビットシフト済かつ直流成分除去済入力信号を、
xBS、AC(fm、0)=xAC(fm、0)/2ShiftBit(fm)
・・・、
xBS、AC(fm、M−1)=xAC(fm、M−1)/2ShiftBit(fm)
のように計算する(ステップS9827)。ここでは除算が行われているが、除数が2の累乗に限れられていることから、CPU9121が実際に行う演算は、1度の除算につき1度の右シフト演算だけで済む。
CPU9121は、こうして得られたxBS、AC(fm、0)、・・・、xBS、AC(fm、M−1)を記憶部9125に格納する(ステップS9829)。1つの値につき1ビットずつが、正負を区別するために用いられる。
全てのフレームについての処理が終わったか否かを判別し(ステップS9831)、終わったのであれば(ステップS9831;Yes)、処理を終了する。まだ終わっていないのであれば(ステップS9831;No)、次のフレームについて処理するためにフレーム識別変数fmを1増加して(ステップS9833)、ステップS9813に戻る。
この後、実施形態1と同様に、フレーム毎に、MDCTによる周波数領域への変換、中区画帯域毎のシフトビット数の決定、大区画帯域毎の再量子化、が行われる。
この後、実施形態1の場合には、全周波数領域についてのスペクトルを符号化して送信することとしていた。それに対して本実施形態の場合は、新たに符号化用帯域という帯域を導入する。そして、かかる符号化用帯域により周波数領域を分割し、重要性が高いと考えられる符号化用帯域に属するMDCT係数のみを符号化して送信し、重要性が低いと考えられる符号化用帯域に属するMDCT係数については符号化も送信もしないことにする。そして、受信及び復号側では、受け取らなかった符号化用帯域のMDCT係数は0として扱う。つまり、スペクトルのうち、重要と思われる部分だけが、伝達される。
スペクトルの一部が選択される様子を、図9に模式的に示す。図9(a)は、MDCT係数の対数の、周波数依存性を表す。すなわち、図9(a)は、あるフレームの入力信号を周波数領域に変換した結果得られる、スペクトルである。
グラフの縦軸については、既に再量子化まで完了しているものとして、ここでは、主に横軸である周波数について説明する。
まず、周波数軸を、符号化用帯域で区切る。符号化用帯域には、低周波側から順に、1、2、3、・・・のように番号がつけられているものとする。符号化用帯域は、各帯域が少なくとも1つのMDCT係数を含まなければ無意味であることから、小区画帯域よりも大きい帯域である必要はあるが、符号化に好適な帯域であれば、中区画帯域や大区画帯域と特段の関連を有する必要はない。
図9(a)では、一例として、周波数領域を、番号1〜番号7の、7個の符号化用帯域に分割した。この7個の符号化用帯域について、所定の基準に従って重要度を求め、重要度の高い順に優先順位をつける。重要度を求めるための基準の具体例は、後述する。
図9(a)の場合、かかる優先順位が、丸囲みの数字で表されるものとする。例えば、番号2の符号化用帯域には丸囲みの数字1が付されている。これは、上述の所定の基準に従って重要度を求めた結果、全ての符号化用帯域のうち番号2のものを最優先して符号化すべきとの結論に至ったことを示す。以下同様に、2番目に優先されるべき帯域は、番号1の符号化用帯域であり、3番目に優先されるべき帯域は、番号7の符号化用帯域であり、・・・、最も優先順位が低い帯域は、番号3の符号化用帯域である。
このように符号化用帯域を導入し、優先順位を定める理由は、本実施例においては、符号化方法としてエントロピ符号化方法が採用されるからである。エントロピ符号化方法の特徴として、情報圧縮精度が一定であっても、圧縮率が一定ではない点が挙げられる。すなわち、同一長であるが内容の異なる複数のデータに対して、エントロピ符号化を施した場合、一般に、元のデータ中のデータ要素の出現頻度の偏り具合の違いのために、符号化後の符号長はまちまちになる。つまり、エントロピ符号化方法は、情報圧縮精度が同じであるとの前提で他の符号化方法と比較した場合、たまたま圧縮率が高くなることもあるし、逆に低くなってしまうこともある。すなわち、高圧縮がなされ得る点に着目すれば、エントロピ符号化方法は、優れた方法であるといえる一方で、圧縮率が低くなる場合も生じ得る点では、使い勝手の劣る方法であるといえる。なお、圧縮率の予測は困難であり、高い圧縮率が得られるか否かは、実際にエントロピ符号化を行ってみるまで分からない。
本実施形態においては、かかるエントロピ符号化方法の長所が最大限に活用されつつ、短所の影響がなるべく生じないようにしてある。本実施形態に係る装置9111が利用される際の前提として想定される、通信レート等の事情による符号長に対する所定の制限が存在する場合、できるだけ多くの符号化用帯域のMDCT係数をエントロピ符号化してみて、たまたま符号長が上述の所定の制限に収まるのであれば、多くの情報を送信することができるので、高音質の音声が復元可能となる。逆に、エントロピ符号化してみたところ、上述の所定の制限を超えてしまう場合には、符号化対象となる符号化用帯域のうち優先度の高いものをなるべく残して符号化し直し、上述の所定の制限に収める。優先度の高い符号化用帯域に関する情報すなわち重要な情報は、受信側及び復号側の装置に伝達されるので、符号化対象となる帯域が減ったことによる復元音声の音質の劣化は最低限に抑えられる。
符号化用帯域の取捨選択の様子を、図9(b)及び図9(c)に示す。例えば、優先順位が1番目〜3番目までの符号化用帯域1、2、7のMDCT係数をエントロピ符号化してみたところ(図9(b))、符号長が所定の符号長以下であったとする。この場合、エントロピ符号の量は、通信容量を超えないから、選択された第1番目、第2番目、及び、第7番目の符号化用帯域のMDCT係数を全て受信側及び復号側の装置に送ることができる。受信側及び復号側の装置は、この状態であっても、かなり高音質の音声を復元することができるかもしれない。しかし、次の優先順位すなわち優先順位が4番目の帯域である第5番目の符号化用帯域についても、合わせてMDCT係数を受信側及び復号側の装置に伝達することができれば、より完全なスペクトルに近い情報を伝達することになるので、該装置は、さらに高音質の音声を復元できることが期待される。そこで、まだ通信容量に余裕があることから、試しに、優先順位が4番目までの符号化用帯域、すなわち、第1番目、第2番目、第5番目、及び、第7番目の符号化用帯域のMDCT係数についても、エントロピ符号化してみる。ここで、そのようにしてみたところ、符号長が、所定の符号長すなわち通信容量を超えてしまうことが分かったとする。すると、ここではじめて、与えられた通信容量の範囲内では、優先順位が3番目までの符号化用帯域の情報を送るのが精一杯であり、優先順位が4番目の符号化用帯域の情報まで含めて送ろうとするとオーバーフローしてしまうことが分かる。よって、このフレーム又はMDCTブロックの時間帯のスペクトル情報については、優先順位が3番目までの符号化用帯域のMDCT係数に関する情報がエントロピ符号化されて送信されることが決定する。
注意すべき点は、あるひとつのフレーム又はMDCTブロックの時間帯におけるスペクトルについて、例えば上述のように優先順位が3番目までの符号化用帯域についての情報を送ることになったからといって、別のフレーム又はMDCTブロックの時間帯については、優先順位が何番目までの符号化用帯域についての情報が送信可能か、ということは一概には決定できないということである。上述のとおり、エントロピ符号化方法は、符号化の対象となるデータの性質、すなわちここではスペクトルの形状等によって、たまたまデータの高圧縮が達成できる場合と、さほど高圧縮ができないと、がある。よって、例えばあるフレーム又はMDCTブロックの時間帯においては、優先順位が4番目までの符号化用帯域についてまで符号化しても所定の符号長を超えないこともあれば、別のフレーム又はMDCTブロックの時間帯においては、優先順位が2番目までの符号化用帯域についてまでの符号化で通信容量の限界に達してしまう場合もあり得る。このように、優先順位が何番目までの符号化用帯域について符号化することが可能かということは、フレームすなわち時間帯ごとに異なり得る。
高圧縮が達成できた時間帯における、受信側及び復号側の装置による復元音声は、当然のことながら、他の符号化方法を用いた場合よりも高品質となる。高圧縮が達成できなかった時間帯では、受信側及び復号側の装置に対しては、伝達された情報量が少ない、換言すればスペクトルのごく一部についての情報が伝達されたにすぎないので、相対的に音質は劣る。しかし、スペクトル全体のうち、音声を再生する上で重要度の高い部分の情報が、優先的に選択されて符号化され伝達されているから、音質の劣化は最低限度に抑えられる。
よって、符号化方法として本実施形態の場合のようにエントロピ符号化方法を採用する方が、圧縮率が一定の他の符号化方法を採用する場合に比べて、全ての時間帯について総合的に判断した場合には、復元音声の品質が優れていると考えられる。
代表的なエントロピ符号化方法としては、ハフマンコードや、RangeCoderが挙げられる。
ここまで図9を用いて例示してきた符号化帯域の取捨選択の様子は、より詳細には、図10及び図11に示すフローチャートにより示される。
周波数領域をいくつの符号化用帯域によりどのような境界周波数で分割するか、という取り決めについては、基本的には、ROM9123に格納された動作プログラムに記述済みである。また、かかる取り決めは、符号化側及び送信側となる装置9111と、受信側及び復号側となる装置9111とで共有されている。よって、基本的には、前者の装置から後者の装置に向けて、符号化用帯域の数及びそれらの境界周波数に関する情報を送信する必要はない。
だだし、符号化及び送信側の装置9111のユーザ自らの判断により、操作キー9173を介して符号化用帯域に関する設定を行い、該ユーザがさらなる音質向上を実感し得るようにしてもよい。その場合は、符号化用帯域の数及びそれらの境界周波数に関する情報を、符号化及び送信側の装置9111から受信側及び復号側の装置9111に伝達するようにするか、受信側及び復号側の装置9111のユーザも送信側ユーザに合わせた設定となるよう自ら操作キー9173を介して装置の設定を変更するようにする。また、かかるユーザ設定を許可する場合には、ユーザが決めた各種設定値は記憶部9125に格納されるようにし、ROM9123に格納されたCPU9121の動作のためのプログラムは、かかる各種設定値を記憶部9125から呼び出すようにする。
このように、基本的には、符号化用帯域の個数及び該帯域相互の境界周波数は与えられている。一方、上述のように、どの符号化用帯域にいかなる優先順位番号を与えるかについては、所定の基準に基づく重要度の決定により、各フレーム又はMDCTブロックに対応する時間帯毎に、すなわちひとつのスペクトル毎に決定する必要がある。
図10のフローチャートは、符号化対象となる帯域の取捨選択に必須の、符号化用帯域への優先順位の割り当ての手順を示したものである。図9に示したように、符号化用帯域は既に低周波側から順に番号が付されることにより相互に識別可能な状態になっているものとする。そこで、ここで行わなければならないことは、符号化用帯域に付けられた番号を、優先順位番号の関数として対応づけることである。その際には、符号化用帯域毎に重要度を求める必要がある。そして、かかる重要度は、後にエントロピ符号が受信側及び復号側の装置9111において音声信号に復元された際に、高品質の音声となるように、適切に決定される必要がある。
符号化用帯域に付けられた番号を、このように優先順位番号の関数として対応づけることにより、後に図11を用いて説明する、符号化用帯域の取捨選択の過程において、優先順位の高い符号化用帯域から順に呼び出すことが容易になる。
符号化用帯域を識別する番号すなわち帯域識別用変数を、ωCRNGとする。CPU9121は、ROM9123に格納された動作プログラムに従って、ωCRNGを格納するためのカウンタ用レジスタを用意し、初期値としてωCRNG=1とする(ステップS1011)。つまり、低周波側の符号化用帯域から順に処理する。
次に、CPU9121は、記憶部9123から、番号ωCRNGの符号化用帯域に属する全てのMDCT係数X(ωCRNG、1)、・・・、X(ωCRNG、q(ωCRNG))を、汎用レジスタにロードする(ステップS1013)。
ここで、記号qは、図2(d)で中区画帯域の説明のために示した記号にならったものである。上述のように、符号化用帯域は、中区画帯域と特段の関係を有する必要はなく、全く別のものであってもよい。しかし、図10では、中区画帯域ではなく符号化用帯域について説明しているのが明らかなので、いたずらに異なる記号を使用して理解の妨げにならないよう、便宜的に同じ記号を使用した。
符号化用帯域の重要度の決定方法は、後にエントロピ符号が受信側及び復号側の装置9111において音声信号に復元された際に、高品質の音声となるような方法であればいかなる方法であってもよい。ここでは、その一例として、符号化用帯域に属するMDCT係数の和を、該符号化用帯域における合計エネルギーと考え、合計エネルギーが大きいほど重要度が高いとする方法を述べる。なお、前記の和をとる対象に負の数が含まれている場合に備えて、2乗してから和をとることが妥当である。
スペクトルの特徴は、定性的には、例えばスペクトルのピーク部分等、エネルギーの大きな部分に現れていることから、かかる重要度の決定方法は妥当であるといえる。
そこで、ステップS1015において、番号ωCRNGの符号化用帯域の合計エネルギーg(ωCRNG)が、
g(ωCRNG)
=X(ωCRNG、1)2+・・・+X(ωCRNG、q(ωCRNG))2
のように計算され、記憶部9125に格納される(ステップS1017)。
なお、図10には示されていないが、人間の聴覚が低周波音に敏感であることに鑑み、上述の計算の結果得られたg(ωCRNG)に対して、ωCRNG番目の符号化用帯域が相対的に低周波領域にある場合には、1より大きい重み付け係数を乗じたものを新たに合計エネルギーg(ωCRNG)として、後の優先順位番号付けのために使用してもよい。例えば最も低周波側の符号化用帯域のエネルギーと、最も高周波側の符号化用帯域のエネルギーと、がたまたま全く等しい値であったとしても、人間の聴覚にとっては、前者の符号化用帯域を優先的に符号化及び送信の対象としたほうが、受信及び復号の後に再現される音声の品質がよいものに感じられると考えられる。すなわち、人間の聴覚特性を考慮すれば、スペクトルの低周波側の方が、高周波側よりも優先して符号化及び送信されるべきである。そこで、例えば、500Hz未満の符号化用帯域における合計エネルギーには重み付け係数1.3を、500Hz以上3500Hz未満ならば重み付け係数1.1を、3500Hz以上ならば重み付け係数1.0を、それぞれ乗算する。
なお、重み付け係数が変化する境界周波数と、符号化用帯域相互の境界周波数とは、必ずしも一致する必要はない。同一の符号化用帯域の中に複数の重み付け係数が存在する場合には、個々のMDCT係数が属する小区画帯域の周波数に着目して、それに応じた重み付け係数を乗じた後に、合計エネルギーを計算すればよいからである。
次に、CPU9121は、全ての符号化用帯域についての処理が終わったか否か、すなわち、最も高周波側の符号化用帯域まで処理が終わったか否か、を判別する(ステップS1019)。まだ終わっていないのであれば(ステップS1019;No)、ひとつ高周波側の符号化用帯域について処理するために、ωCRNGを1だけ増加して(ステップS1021)、ステップS1013に戻る。
全ての符号化用帯域について処理が終わったのであれば(ステップS1019;Yes)、全ての符号化用帯域についての合計エネルギーg(1)〜g(ωMaxCRNG)が求まり記憶部9125に格納されたことになる。(ωMaxCRNGはωCRNGの最大値である。)そこで、符号化用帯域の番号を優先順位番号の関数として表すために、CPU9121は、全ての合計エネルギーg(1)〜g(ωMaxCRNG)を汎用レジスタにロードし、既知の手法により降順にソートし、Priority番目になった合計エネルギーに対応する符号化用帯域の識別番号がωCRNGである場合には、PriorityとωCRNGとがωCRNG(Priority)という関数の関係になるように定める(ステップS1023)。エネルギーの降順にソートして先頭から数えた結果がPriorityであるから、Priorityは優先順位番号を表す。
こうして優先順位番号Priorityの関数としての符号化用帯域識別番号ωCRNG=ωCRNG(Priority)が求まる。この結果は記憶部9125に格納され(ステップS1025)、符号化用帯域への優先順位番号の割り当て処理が完了する。
次に、上で図9にある模式的な具体例により説明した、符号化対象帯域の選択と、エントロピ符号化と、が行われる手順について、より詳細に、図11に示すフローチャートを参照しつつ説明する。
まず、既に図10に示された手順に従って、符号化用帯域への優先順位番号の割り当て処理を行う(ステップS1111)。つまり、符号化用帯域を識別するための番号であるωCRNGが、優先順位を示す番号であるPriorityの、いかなる関数であるかが決定される。
次に、CPU9121は、ROM9123に格納された動作プログラムに従って、いくつめまでの優先順位の符号化用帯域を符号化するかを示す変数であるPriorityMAXを格納するためのカウンタ用レジスタを用意し、初期値をPriorityMAX=1とする(ステップS1113)。換言すれば、PriorityMAXとは、優先順位番号の上限値である。
次に、CPU9121は、優先順位番号が1〜PriorityMAXに対応する符号化用帯域の再量子化ビットシフト済MDCT係数を、記憶部9125から汎用レジスタにロードする(ステップS1115)。CPU9121はかかるロードの際、記憶部9125を参照することにより、与えられた優先順位番号に対応する符号化用帯域を特定することができる。ステップS1111において、優先順位番号の関数としての符号化用帯域識別番号が記憶部9125に格納済みだからである。再量子化とビットシフトが完了していることを示すために添字QBSを付加しつつ、図10のステップS1013における記法にならうと、ステップS1115においてロードされる、スペクトルを構成するサンプルは、
XQBSCRNG(1)、1)、・・・、
XQBSCRNG(1)、q(ωCRNG(1)))、
・・・
XQBSCRNG(PriorityMAX)、1)、・・・、
XQBSCRNG(PriorityMAX)、q(ωCRNG(PriorityMAX)))
である。
符号化対象となる帯域に属するXQBSは当然、受信側及び復号側の装置9111に伝達されるわけだが、該装置で音声を復元するためには、シフトビット数も必要である。ビットシフト用の帯域である中区画帯域は、一般には、符号化用帯域とは別に決定されたものである。よって、CPU9121は、符号化対象となる符号化用帯域がいかなる中区画帯域と重なっているかを調査し、該中区画帯域ではいかなる数のシフトビットが行われたか、という情報を収集する必要がある。そこで、CPU9121は、優先順位番号1〜PriorityMAXに対応する符号化用帯域と重なるビットシフト用帯域ωRANGEの全てについてのシフトビット数ShiftBit(ωRANGE)をロードする。また、本実施例においては、スペクトルに変換する前の実時間領域の扱いの際に、既に、図7及び図8に示すビット数の制圧処理が行われている。よって、かかる制圧処理の際に得られた、実時間領域に関する情報も、ロードされる(ステップS1117)。
次に、CPU9121は、これまでの手順によりその汎用レジスタに格納されたデータに基づいて、再量子化済ビットシフト済MDCT係数、シフトビット数、及び、実時間領域に関する上述の情報と、を合わせて、試しにエントロピ符号化してみる。そして、結果的に符号長がいくらになるか、を計算する(ステップS1119)。
次に、CPU9121は、ステップS1119にて試算された符号長が、所定の符号長よりも長いか否かを判別する(ステップS1121)。所定の符号長とは、通信容量等の制約から導き出され与えられる長さである。かかる所定の符号長を超える符号は、オーバーフロー等により受信側及び復号側の装置9111に正しく送信できないので、実際に送信する符号長は、かかる所定の符号長以下でなければならない。
かかる判別の結果、試算された符号長が所定の符号長を超えていない場合(ステップS1121;No)、通信容量等の制約という観点からすると、まだゆとりがあるということである。よって、次の優先順位番号の付いた符号化用帯域まで符号化対象を広げて、それでもまだ所定の符号長を超えないかどうか、試算すべきである。したがって、ステップS1123にて、PriorityMAXを1増加してから、ステップS1115に戻る。
ステップS1121における判別の結果、符号長が所定の符号長を上回っていた場合には(ステップS1121;Yes)、この時点のPriorityMAX番目の優先順位の符号化用帯域までの情報は、通信容量等の制約により、正しく送信できない。一方、ステップS1123でPriorityMAXの値を1ずつ増加するたびに符号長の試算(ステップS1119)を行っていることから、直前のPriorityMAX番目の優先順位の符号化用帯域までの情報は所定の符号長以下であり送信可能であるはずである。よって、ステップS1125にてPriorityMAXを1減少した上で、改めて、優先順位番号1〜PriorityMAXに対応する符号化用帯域の再量子化ビットシフト済MDCT係数、シフトビット数、及び、実時間領域に関する情報を、エントロピ符号化する(ステップS1127)。
このように生成されたエントロピ符号が、送信されることになる。そこで、該エントロピ符号は、無線通信部9161を介したアンテナ9163による送信が実際に行われるまで保持される必要上、記憶部9125に格納される(ステップS1129)。こうして、符号化対象帯域選択とエントロピ符号化の処理が終了する。
図12(a)に、本実施形態に係る装置9111が符号化側及び送信側の装置として機能する場合の、音声信号の符号化の手順の概略をまとめた。マイクロフォン9151により収集された音声信号は音声処理部9141内でA/D変換された(ステップS1211)後、直流成分が削除される(ステップS1213)。
次に、音声圧縮の単位であるフレーム毎に、ダイナミックレンジが調整される。元のダイナミックレンジが、所定の制圧目標よりも大きい場合には、信号値に2の累乗による割り算、すなわち右ビットシフト演算を施して、データ量を減少させる。
ここまでは実時間領域での音声処理であるが、ステップS1217では、フレーム毎又はMDCTブロック毎に、周波数領域への変換が行われる。離散的な周波数変換の技法は多々あるが、本実施例の場合は、MDCTを採用する。求まったスペクトルに対して行う各種の処理は、実施形態1の場合と同様である。すなわち、再量子化ビットシフト済MDCT係数と、シフトビット数と、を求める。
この後、送信すべきデータを符号化する。本実施例においては、符号化方法として、エントロピ符号化方法を採用した。これは、たまたま高圧縮率が達成できた場合のデータ送信量の多さと、たまたま高圧縮率が達成できなかった場合でも重要なデータを優先的に送ることが可能であることに着目し、総合的にみれば受信側及び復号側の装置9111において高品質の音声の再現に資することが期待されるからである。
少なくとも重要なデータだけは符号化し送信されなければならないので、スペクトルのうち、エントロピ符号化の対象となる帯域を決定してから(ステップS1219)、エントロピ符号化が行われる(ステップ1221)。
音声符号化兼復号装置9111は、受信側及び復号側として動作するときには、図12(b)に示す手順に従う。該手順は、基本的には、図12(a)を用いて説明した符号化の手順を、逆向きにしたものである。
より詳しい手順は後に図13及び図14を用いて説明することとし、ここでは、まず、復号手順の概略を説明する。
装置9111は、該装置に向けて、符号化側及び送信側として動作する別の装置9111により発せられた無線電波を、アンテナ9163により捉える。そして、無線通信部9161において、無線装置に載せられているエントロピ符号を取り出す。
取り出されたエントロピ符号は、記憶部9125に格納される。その後、CPU9121が、ROM9123に格納された動作プログラムに従って、記憶部9125との間で適宜データのやりとりをしながら、かかるエントロピ符号を復号する(ステップS1241)。エントロピ符号化方法には、ハフマンコードやRangeCoder等、いくつかのものが知られているが、当然のことながら、いずれも復号方法と対になっている。よって、符号化及び送信側の装置9111にて用いられたエントロピ符号化方式と対をなす復号方法が用いられ、MDCT係数等、音声復元に必要なデータが復号される(ステップS1243)。
上述のように、スペクトルを符号化する際には、重要度が高いと考えられる帯域を優先的に符号化する。よって、受信側及び復号側として動作する装置9111には、スペクトルの全ての部分が伝達されるとは限らない。スペクトルのうち、伝達されなかった帯域、すなわち、符号化側及び送信側の装置9111において、重要度が低いとして符号化されなかった帯域については、受信側及び復号側の装置9111においては、スペクトルの成分すなわちMDCT係数が0であるとして扱われる。
復元されたスペクトルは、実時間領域に変換される(ステップS1245)。ひとつのスペクトルは、ひとつのMDCTブロックに対応する時間帯の実時間信号に変換される。上述のように、音声圧縮単位であるフレームは、実時間領域において、3又は4個のMDCTブロックから構成されることが好ましいが、本実施形態の本質の理解を容易にするために、ひとつのフレームはひとつのMDCTブロックのみを含むとする。これは、後に図13及び図14を用いて説明する場合も同じである。
また、実際に復元される音声は、複数のフレームが連続したものであるが、既に述べたように、複数のフレームを時間順に接続してほぼリアルタイムに音声を再生することは、フレームに関する各種演算等を次々と鎖状に実行することにより可能である。かかる技術そのものは既知であり、本実施形態の本質ではないので、ここでは、1フレームについての処理についてのみ説明する。これは、後に図13及び図14を用いて説明する場合も同様である。
ステップS1245の処理により、1フレームぶんの実時間信号が復元されたが、かかる実時間信号は、符号化側及び送信側の装置9111が図12(a)のステップS1215にて行ったダイナミックレンジの調整すなわちビット数の制圧の結果、本来の音声信号とは異なる可能性がある。そこで、ステップS1243においてMDCT係数とともに復号された実時間領域での振幅制圧用シフトビット数が調査され、今着目しているフレームにおける信号がかつてビット数の制圧を受けたのであれば、元に戻される(ステップS1247)。このとき、ビット数制圧が少なくとも形式上は除算によって行われたことに鑑みれば、原理的には、乗算が行われる。しかし、乗数は2の累乗に限定されているので、CPU9121が行う演算としては、ビット数制圧時に右ビットシフト演算が行われたのとちょうど逆に、左ビットシフト演算だけが行われる。これはCPU9121の処理の高速化又は負担軽減に資する。
かかる加算の結果、デジタル音声信号が復元される。
デジタル音声信号は、音声処理部9141に引き渡され、D/A変換を施されてアナログ音声信号に変換される(ステップS1251)。該アナログ音声信号がスピーカ9153により発せられることにより、受信側及び復号側の装置9111のユーザに復元音声が到達する。こうして、音声符号化、送信、受信、及び、音声復号、という一連の動作が完了する。
以下では、図12(b)ではごく簡単に示した、ステップS1243〜ステップS1247までの処理を、より詳細に、図13及び図14に示すフローチャートを参照しつつ、説明する。
エントロピ復号(図12(b)のステップS1241)の結果、記憶部9125には、フレームfmにおける、次のデータが格納済みであるとする。すなわち、優先順位番号1〜PriorityMAXに対応する符号化用帯域の識別番号ωCRNG(Priority)(1≦Priority≦PriorityMAX)、再量子化ビットシフト済MDCT係数XQBSCRNG(Priority)、1)、・・・、XQBSCRNG(Priority)、q(ωCRNG(Priority)))(1≦Priority≦PriorityMAX)、優先順位番号1〜PriorityMAXに対応する符号化用帯域と重なるビットシフト用帯域(中区画帯域)ωRANGEの全てについてのシフトビット数ShiftBit(ωRANGE)、及び、振幅制圧用ビットシフト数ShiftBit(fm)、は、既に、記憶部9125に格納されている。
CPU9121は、ROM9123に格納された動作プログラムに従って、カウンタ用レジスタに符号化用帯域識別変数ωCRNGを格納することとし、その初期値を1に設定する(ステップS1311)。つまり、低周波側から順に、スペクトルを復元していくことになる。
次に、CPU9121は、番号ωCRNGの符号化用帯域が、符号化側及び送信側の装置9111において符号化対象として選択されていたか否かを判別する。より具体的には、CPU9121は、記憶部9125内を検索する作業を行う。つまり、番号ωCRNGの符号化用帯域が、もし符号化の対象になっていたとすれば、上述のように、記憶部9125には、番号ωCRNGが、優先順位番号Priority(1≦Priority≦PriorityMAX)の関数として格納されているはずである。そこで、記憶部9125内でかかる番号ωCRNGが見つかれば、番号ωCRNGの付いた符号化用帯域は符号化の対象になっていたということである。逆に、かかる番号が見つからなければ、該番号の付いた符号化用帯域は符号化の対象にならなかった、と判別することができる。
かかる判別ステップを受信側及び復号側の装置9111に行わせることは、該装置内のCPU9121に、検索のための負担をかけ、処理速度を低下させ得るという短所がある。そこで他の方法として、符号化側及び送信側の装置9111の方で、符号化しないと決定した帯域の番号についての情報や、該帯域のMDCT係数を後述のように0として扱ってよい旨の情報を、付加した上で、符号化し送信することも考え得る。こうすれば、上述の検索作業はより直接的に行うことができるようになる。通信容量の制約等が緩い場合には、かかる方法も効果的である。
しかし、本実施例の場合は、限られた通信容量を貴重なリソースと考え、符号化されなかった帯域がどれであるかという情報を送信するゆとりがあるのであれば、そのぶんを優先順位がもうひとつ低い符号化用帯域の符号化のために利用して、復元音声の音質を向上させる方針をとるものとする。通常のCPUであれば、上述の検索はさほど負担にならないと考えられるため、かかる方針をとるほうが合理的だと思われるからである。
番号ωCRNGの符号化用帯域が符号化の対象になっていなかったと判別された場合には(ステップS1313;No)、MDCT係数を、X(ωCRNG、1)=0、・・・、X(ωCRNG、q(ωCRNG)) =0、とする(ステップS1321)。つまり、かかる符号化用帯域のスペクトル成分は0であるとする。
符号化側及び送信側の装置9111は、スペクトル全体のうち重要な部分を優先的に符号化し送信している。これを別の観点からみれば、ある帯域が符号化の対象にならなかったということは、その帯域のスペクトルが、すくなくとも相対的には重要ではないことを意味する。そこで、スペクトルの重要な部分に影響を与えないように、かかる帯域のMDCT係数には、周波数成分として特に意味を持たない0を代入することとしたのである。ここでは、スペクトルの重要な部分に影響を与えない、いわば目立たない値を代入することが重要であるので、上述の0という値は例示である。かかる値として0よりも適切な定数があれば、それを代入したほうがよい場合もあり得る。
ステップS1313において、番号ωCRNGの符号化用帯域が符号化の対象になっていたと判別された場合(ステップS1313;Yes)、記憶部9125には、再量子化ビットシフト済MDCT係数XQBSCRNG、1)、・・・、XQBSCRNG、q(ωCRNG))と、番号ωCRNGの付いた符号化用帯域と重なる全てのビットシフト用帯域である単数又は複数の番号ωRANGEの付いた中区画帯域におけるシフトビット数ShiftBit(ωRANGE)と、が格納されているはずである。そこで、CPUは、これらを汎用レジスタにロードする(ステップS1315)。
周波数領域をいかなる大区画帯域に分割し、各大区画帯域においていかなる精度で再量子化を行うか、という情報は、基本的には、符号化側及び送信側の装置9111と受信側及び復号側の装置9111とであらかじめ共有されている。そこで、ロードされた再量子化ビットシフト済MDCT係数は、かかる情報に基づいて、所定の精度で対数を元にもどしてビットシフト済MDCT係数XBSCRNG、1)、・・・、XBSCRNG、q(ωCRNG))に逆再量子化される(ステップS1317)。
次に、ビットシフト済MDCT係数は、ステップ1315にてロードされたシフトビット数に基づいて、MDCT係数X(ωCRNG、1)、・・・、X(ωCRNG、q(ωCRNG))に逆ビットシフト変換される(ステップS1319)。符号化側及び送信側の装置9111において、原理的には除算、CPUの演算としては右シフト演算が行われたのに対応して、本ステップでは、原理的には乗算、CPUの演算としては左シフト演算、が行われる。1回の除算及び乗算を、それぞれ1回の右シフト演算及び左シフト演算で済ませることにより、CPUの動作が高速化したり処理負担が軽減されたりすることになるが、これは、除数及び乗数を2の累乗に限定したために初めて可能になったことである。
なお、ステップS1317及びステップS1319で行われる処理は、実施形態1の場合(図6(b)のステップS9643〜ステップS9651)と概ね同様の処理である。
このように、ステップS1313における判別の結果によらず、番号ωCRNGの付された符号化用帯域におけるMDCT係数の値が求まる(ステップS1321又は、ステップS1315〜ステップS1319)。そこで、これで全ての周波数領域についての処理が終わったかどうかが判別され(ステップS1323)、終わっていないのであれば(ステップS1323;No)、もうひとつ高周波側の符号化用帯域についてMDCT係数を求めるために、ωCRNGの値を1増加してから(ステップS1325)、ステップS1313の判別処理に戻る。全ての帯域についての処理が終わった、すなわち、全周波数領域についてMDCT係数が決定されたら(ステップS1323;Yes)、図14のステップS1411以降の、実時間領域における復元作業を開始する。
ステップS1411の処理が開始される時点で得られているスペクトルは、符号化される時点でシフトビット、再量子化、符号化される帯域の取捨選択が行われたために、一般には、元の音声信号のスペクトルと全く同一とはならない。すなわち、本来のスペクトルデータと比較すれば、値の切り捨て処理や、0等の定数として扱われる帯域の存在のために、音声情報としては、劣化している。しかし、上述の説明から明らかなように、受信側及び復号側として動作する装置9111が、符号化及び送信側として動作する装置9111から引き渡されたデータを最大限有効に用いて復元したスペクトルではあるといえる。
ステップS1411の処理が開始される時点では、上述のとおりあくまでも復元されたものではあるものの、スペクトルは全ての帯域に渡って求まっている。すなわち、全ての小区画帯域におけるMDCT係数が求まっている。よって、これまで符号化用帯域を明確にするために用いてきた、X(1、1)、・・・、X(1、q(1))、・・・、X(ωCRNGMAX、q(ωCRNGMAX)という表記の代わりに、低周波側からの通し番号につけかえて、X0、・・・、XM/2−1のような表記を用いることにする。ただし、ωCRNGMAXは、符号化用帯域に付された番号の最大値、すなわち、最も高周波側の符号化用帯域に付された番号であるとする。
ステップS1411においては、MDCT係数X0、・・・、XM/2−1から、逆MDCTにより、振幅制圧済かつ直流成分除去済の入力信号xBS、AC (fm、0)、・・・、xBS、AC (fm、M−1)が復元される。つまり、スペクトルが実時間領域の信号に変換される。fmは、フレームを特定するための変数である。
これにより、図7(c)に相当する状態まで、信号が復元されたことになる。
既に述べたように、振幅制圧用ビットシフト数ShiftBit(fm)は記憶部9125に格納されている。そこで、CPU9121は、ShiftBit(fm)を汎用レジスタにロードする(ステップS1413)。
次に、CPU9121は、xBS、AC (fm、0)、・・・、xBS、AC (fm、M−1)に、ShiftBit(fm)ぶんの左シフト演算を施すことにより、直流成分除去済の入力信号xAC (fm、0)、・・・、xAC (fm、M−1)を復元する(ステップS1415)。符号化側及び送信側の装置9111において振幅制圧が原理的には除算で行われたことに対応して、本ステップにて信号復元のために行っていることは、原理的には、乗算である。ただし、除数が2の累乗に限定されていたことから、乗数も2の累乗に限定される。よって、乗算といっても、CPU9121が実際に行う演算は、単純な左シフト演算だけである。このように、本実施形態においては、除数及び乗数に2の累乗を使用するという考え方を、実施形態1におけるスペクトルに関する処理に用いるのみならず、実時間領域における処理にも応用することにより、CPUの演算の高速化又は演算の負担軽減の一助としている。
これにより、図7(b)に相当する状態まで、信号が復元されたことになる。かかる信号(デジタル信号)がD/A変換され(図12のステップS1251)、図1のスピーカ9153から再生音声が発せられる。
なお、この発明は、上記実施形態に限定されず、種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは例示であって、限定されるものではない。
例えば、図1に示される音声符号化兼復号装置9111として携帯電話を想定して説明したが、PHS(Personal Handyphone System)や、PDA(Personal Digital Assistants)、あるいは一般的なパーソナルコンピュータには、本発明を容易に適用することができる。すなわち、上記実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
本発明の実施の形態に係る音声符号化兼復号装置の構成を示す図である。 音声スペクトルが、小区画帯域及び中区画帯域に属するMDCT係数により表される様子を、模式的に示す図である。 中区画帯域毎に行われる、MDCT係数の最大値の検索、シフトビット数決定、及び、ビットシフト後のMDCT係数、の計算の流れを示す図である。 中区画帯域毎の、MDCT係数の最大値と与えられたビット数の関係と、ビットシフトと、の一例を、模式的に示す図である。 MDCT係数が大区画帯域毎に異なる精度で再量子化される様子を模式的に示す図である。 本発明の実施形態1における、音声信号を符号化及び復号する手順を示す図である。 本発明の実施形態2における、入力音声信号の実時間領域における処理の様子を、模式的に示す図である。 本発明の実施形態2における、ダイナミックレンジの調整の流れを示す図である。 本発明の実施形態2における、符号化用帯域と、それについての優先順位付けの様子を、模式的に示す図である。 本発明の実施形態2における、符号化用帯域への優先順位番号の割り当ての流れを示す図である。 本発明の実施形態2における、符号化対象帯域の選択とエントロピ符号化の流れを示す図である。 本発明の実施形態2における、音声信号を符号化及び復号する手順を示す図である。 本発明の実施形態2における、フレーム毎に音声信号を復元する流れの前半を示す図である。 本発明の実施形態2における、フレーム毎に音声信号を復元する流れの後半を示す図である。
符号の説明
9111・・・音声符号化兼復号装置、9121・・・CPU、9123・・・ROM、9125・・・記憶部、9131・・・RAM、9133・・・ハードディスク、9141・・・音声処理部、9151・・・マイクロフォン、9153・・・スピーカ、9161・・・無線通信部、9163・・・アンテナ、9171・・・操作キー入力内容処理部、9173・・・操作キー、9181・・・システムバス

Claims (15)

  1. デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換手段と、
    聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索手段と、
    前記各中区画帯域について、前記最大値検索手段で検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別手段と、
    前記判別手段により前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別手段により前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算手段と、
    聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算手段で処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化手段と、
    前記除数と前記再量子化済成分とを符号化して出力する符号化手段と、
    を備える音声符号化装置。
  2. 前記中区画帯域の中心周波数が小さいほど、該中区画帯域に多くの前記所定のビット数を割り当てる割り当てビット数決定手段をさらに備える、
    請求項1に記載の音声符号化装置。
  3. 前記中区画帯域に低域から順に中区画識別用整数を割り当て、前記中区画帯域の中心周波数の対数が、前記中区画識別用整数に線型的に依存するように前記中区画帯域を構成する中区画帯域構成手段をさらに備える、
    請求項1又は2に記載の音声符号化装置。
  4. 前記大区画帯域の中心周波数が小さいほど、該大区画帯域における前記再量子化手段による量子化し直しの前記精度が高くなるように、各大区画帯域の前記精度を決定する再量子化精度決定手段をさらに備える、
    請求項1乃至3の何れか1項に記載の音声符号化装置。
  5. 前記再量子化手段は、
    前記除算手段で処理済みの量子化済成分の値を、その対数を量子化することによって前記再量子化成分に変換する、
    ことを特徴とする請求項1乃至4の何れか1項に記載の音声符号化装置。
  6. 前記大区画帯域に低域から順に大区画識別用整数を割り当て、前記大区画帯域の中心周波数の対数が、前記大区画識別用整数に線型的に依存するように前記大区画帯域を構成する第1の大区画帯域構成手段をさらに備える、
    請求項1乃至5の何れか1項に記載の音声符号化装置。
  7. 低域の大区画帯域と中域の大区画帯域と高域の大区画帯域とを構成し、前記中域の大区画帯域と前記高域の大区画帯域との境界の周波数が、前記離散スペクトル変換手段が扱い得る周波数の上限値の半分の値となるようにするとともに、1乃至3の前記中区画帯域により前記低域の大区画帯域を構成する第2の大区画帯域構成手段をさらに備える、
    請求項1乃至5の何れか1項に記載の音声符号化装置。
  8. 単数又は複数の前記小区画帯域から構成されるエントロピ符号化用帯域毎に、それに属する前記量子化成分の絶対値の2乗の和を求め、該和に所定の係数を乗じた値を該エントロピ符号化用帯域の重要度とする重要度決定手段をさらに備え、
    前記符号化手段は、符号長を所定の符号長以下にしつつ、前記重要度が大きい前記エントロピ符号化用帯域の前記再量子化成分を優先してエントロピ符号化する、
    ことを特徴とする請求項1乃至7の何れか1項に記載の音声符号化装置。
  9. 前記重要度決定手段は、前記和に、前記エントロピ符号化用帯域の中心周波数が低いほど大きな数を乗じた値を該エントロピ符号化用帯域の重要度とする、
    ことを特徴とする請求項8に記載の音声符号化装置。
  10. 前記離散スペクトル変換手段は、
    MDCT(Modified Discrete Cosine Transform)を用いる、
    ことを特徴とする請求項1乃至9の何れか1項に記載の音声符号化装置。
  11. 音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果、生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信手段と、
    前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号手段と、
    復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化手段と、
    復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフト手段と、
    復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換手段と、
    を備える音声復号装置。
  12. デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換ステップと、
    聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索ステップと、
    前記各中区画帯域について、前記最大値検索ステップで検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別ステップと、
    前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算ステップと、
    聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算ステップで処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化ステップと、
    前記除数と前記再量子化済成分とを符号化して出力する符号化ステップと、
    から構成される音声符号化方法。
  13. 音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果、生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信ステップと、
    前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号ステップと、
    復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化ステップと、
    復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフトステップと、
    復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換ステップと、
    から構成される音声復号方法。
  14. コンピュータに、
    デジタル音声信号について、所定帯域幅を有する小区画帯域毎の量子化成分の値を求める離散スペクトル変換ステップと、
    聴覚特性に合わせて予め設定された所定の数の連続する前記小区画帯域から構成される各中区画帯域であって且つその中区画帯域に属する各量子化成分の値を表すために聴覚特性に合わせて予め設定された所定のビット数が割り当てられている各中区画帯域について、その中区画帯域に属する量子化成分の値のうちの最大値を検索する最大値検索ステップと、
    前記各中区画帯域について、前記最大値検索ステップで検索された最大値を表すための必要ビット数が、その中区画帯域に割り当てられた前記所定のビット数を超えるか否かを判別する判別ステップと、
    前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えると判別された場合に、前記最大値に除算を施して前記所定のビット数で表し得る値を超えないようにするための除数であり且つ2の累乗のうち最小の数である除数を求め、該中区画帯域に属する前記量子化成分の各値を該除数で除算し、前記判別ステップにより前記中区画帯域において前記必要ビット数が前記所定のビット数を超えないと判別された場合に、該中区画帯域に属する前記量子化成分の各値を維持する除算ステップと、
    聴覚特性に合わせて予め設定された所定の数の連続する前記中区画帯域から構成される大区画帯域に属する前記除算ステップで処理済の量子化成分の値を、聴覚特性に合わせて予め該大区画帯域に割り当てられた精度にて量子化し直して再量子化済成分に変換する再量子化ステップと、
    前記除数と前記再量子化済成分とを符号化して出力する符号化ステップと、
    を実行させるコンピュータプログラム。
  15. コンピュータに、
    音声信号の量子化スペクトルを、聴覚特性にあわせた第1の帯域分割方法により生成された帯域別に、2の累乗である除数で除した結果、生成される第1の変形スペクトルデータを、さらに第2の帯域分割方法により生成された帯域別に、聴覚特性に合わせた精度で再量子化した結果生成される第2の変形スペクトルデータと、前記除数と、が所定の符号化方法により符号化されたデータを受信する受信ステップと、
    前記符号化されたデータから、前記所定の符号化方法に対応する復号方法により、前記第2の変形スペクトルデータと、前記除数と、を復号する復号ステップと、
    復号された前記第2の変形スペクトルデータから、前記第1の変形スペクトルデータを復元する逆再量子化ステップと、
    復元された前記第1の変形スペクトルデータをビットシフトして、復号された前記除数を乗じることにより、前記量子化スペクトルを復元する乗算ビットシフトステップと、
    復元された前記量子化スペクトルから前記音声信号を復元する離散スペクトル逆変換ステップと、
    を実行させるコンピュータプログラム。
JP2006270993A 2006-10-02 2006-10-02 音声符号化装置、音声符号化方法、及び、プログラム Active JP4396683B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006270993A JP4396683B2 (ja) 2006-10-02 2006-10-02 音声符号化装置、音声符号化方法、及び、プログラム
PCT/JP2007/068733 WO2008041596A1 (en) 2006-10-02 2007-09-19 Audio encoding device5 audio decoding device, audio encoding method, audio decoding method, and information recording
KR1020097009136A KR101026597B1 (ko) 2006-10-02 2007-09-19 음성 부호화 장치, 음성 복호화 장치, 음성 부호화 방법, 음성 복호화 방법 및 정보기록매체
CN2007800366177A CN101523485B (zh) 2006-10-02 2007-09-19 音频编码装置、音频解码装置、音频编码方法和音频解码方法
US11/906,312 US8447597B2 (en) 2006-10-02 2007-10-01 Audio encoding device, audio decoding device, audio encoding method, and audio decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006270993A JP4396683B2 (ja) 2006-10-02 2006-10-02 音声符号化装置、音声符号化方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2008089999A true JP2008089999A (ja) 2008-04-17
JP4396683B2 JP4396683B2 (ja) 2010-01-13

Family

ID=38669899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006270993A Active JP4396683B2 (ja) 2006-10-02 2006-10-02 音声符号化装置、音声符号化方法、及び、プログラム

Country Status (5)

Country Link
US (1) US8447597B2 (ja)
JP (1) JP4396683B2 (ja)
KR (1) KR101026597B1 (ja)
CN (1) CN101523485B (ja)
WO (1) WO2008041596A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009125588A1 (ja) * 2008-04-09 2009-10-15 パナソニック株式会社 符号化装置および符号化方法
JP2012032803A (ja) * 2010-07-01 2012-02-16 Polycom Inc フルバンド拡張可能なオーディオコーデック
JP2012518194A (ja) * 2009-02-16 2012-08-09 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 適応的正弦波コーディングを用いるオーディオ信号の符号化及び復号化方法及び装置
JP5328368B2 (ja) * 2006-12-13 2013-10-30 パナソニック株式会社 符号化装置、復号装置、およびこれらの方法
US8831932B2 (en) 2010-07-01 2014-09-09 Polycom, Inc. Scalable audio in a multi-point environment
JP2016027411A (ja) * 2011-05-25 2016-02-18 ▲ホア▼▲ウェイ▼技術有限公司 信号分類方法および信号分類デバイス、ならびに符号化/復号化方法および符号化/復号化デバイス

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8638699B2 (en) 2008-11-10 2014-01-28 Qualcomm Incorporated Method and apparatus for supporting the large service data unit (SDU)
US8711881B2 (en) 2009-01-07 2014-04-29 Qualcomm Incorporated Packet bundling at the PDCP layer
US8644338B2 (en) 2009-01-07 2014-02-04 Qualcomm Incorporated Unbundling packets received in wireless communications
US8515768B2 (en) * 2009-08-31 2013-08-20 Apple Inc. Enhanced audio decoder
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
CN103368682B (zh) 2012-03-29 2016-12-07 华为技术有限公司 信号编码和解码的方法和设备
KR101920029B1 (ko) * 2012-08-03 2018-11-19 삼성전자주식회사 모바일 장치 및 제어방법
CN104282312B (zh) * 2013-07-01 2018-02-23 华为技术有限公司 信号编码和解码方法以及设备
JP6439296B2 (ja) * 2014-03-24 2018-12-19 ソニー株式会社 復号装置および方法、並びにプログラム
JP6640849B2 (ja) * 2014-10-31 2020-02-05 ドルビー・インターナショナル・アーベー マルチチャネル・オーディオ信号のパラメトリック・エンコードおよびデコード
CN109328382B (zh) * 2016-06-22 2023-06-16 杜比国际公司 用于将数字音频信号从第一频域变换到第二频域的音频解码器及方法
EP3780396B1 (en) * 2018-04-13 2023-05-31 Nippon Telegraph And Telephone Corporation Encoding device, decoding device, encoding method, decoding method, program, and recording medium
JP7272360B2 (ja) 2018-06-28 2023-05-12 ソニーグループ株式会社 符号化装置、符号化方法、復号装置、復号方法、プログラム
WO2020008716A1 (ja) 2018-07-03 2020-01-09 ソニー株式会社 符号化装置、符号化方法、復号装置、復号方法、伝送システム、受信装置、プログラム
WO2020031483A1 (ja) * 2018-08-08 2020-02-13 ソニー株式会社 復号装置、復号方法、プログラム
CN112289343B (zh) * 2020-10-28 2024-03-19 腾讯音乐娱乐科技(深圳)有限公司 音频修复方法、装置及电子设备和计算机可读存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986004198A1 (en) * 1984-12-29 1986-07-17 Sony Corporation Digital signal transmission device
JPS6386907A (ja) * 1986-09-30 1988-04-18 Yamaha Corp 利得調整回路
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
JPH04150522A (ja) * 1990-10-15 1992-05-25 Sony Corp ディジタル信号処理装置
US5317672A (en) * 1991-03-05 1994-05-31 Picturetel Corporation Variable bit rate speech encoder
JP2993324B2 (ja) 1993-07-28 1999-12-20 日本ビクター株式会社 音声高能率符号化装置
US6151442A (en) * 1996-07-08 2000-11-21 Victor Company Of Japan, Ltd. Signal compressing apparatus
US6353808B1 (en) * 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
US6871180B1 (en) * 1999-05-25 2005-03-22 Arbitron Inc. Decoding of information in audio signals
WO2001028222A2 (en) * 1999-10-12 2001-04-19 Perception Digital Technology (Bvi) Limited Digital multimedia jukebox
JP2001285073A (ja) * 2000-03-29 2001-10-12 Sony Corp 信号処理装置及び方法
WO2002056297A1 (en) * 2001-01-11 2002-07-18 Sasken Communication Technologies Limited Adaptive-block-length audio coder
FI119955B (fi) * 2001-06-21 2009-05-15 Nokia Corp Menetelmä, kooderi ja laite puheenkoodaukseen synteesi-analyysi puhekoodereissa
US6732071B2 (en) * 2001-09-27 2004-05-04 Intel Corporation Method, apparatus, and system for efficient rate control in audio encoding
EP1440433B1 (en) * 2001-11-02 2005-05-04 Matsushita Electric Industrial Co., Ltd. Audio encoding and decoding device
US20040002859A1 (en) * 2002-06-26 2004-01-01 Chi-Min Liu Method and architecture of digital conding for transmitting and packing audio signals
JP3861770B2 (ja) * 2002-08-21 2006-12-20 ソニー株式会社 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体
TWI220753B (en) * 2003-01-20 2004-09-01 Mediatek Inc Method for determining quantization parameters
JP2004309921A (ja) * 2003-04-09 2004-11-04 Sony Corp 符号化装置、符号化方法及びプログラム
US7349842B2 (en) * 2003-09-29 2008-03-25 Sony Corporation Rate-distortion control scheme in audio encoding
JP4734859B2 (ja) * 2004-06-28 2011-07-27 ソニー株式会社 信号符号化装置及び方法、並びに信号復号装置及び方法
JP4800645B2 (ja) 2005-03-18 2011-10-26 カシオ計算機株式会社 音声符号化装置、及び音声符号化方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5328368B2 (ja) * 2006-12-13 2013-10-30 パナソニック株式会社 符号化装置、復号装置、およびこれらの方法
WO2009125588A1 (ja) * 2008-04-09 2009-10-15 パナソニック株式会社 符号化装置および符号化方法
JP2012518194A (ja) * 2009-02-16 2012-08-09 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 適応的正弦波コーディングを用いるオーディオ信号の符号化及び復号化方法及び装置
US8805694B2 (en) 2009-02-16 2014-08-12 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding audio signal using adaptive sinusoidal coding
JP2014170232A (ja) * 2009-02-16 2014-09-18 Electronics & Telecommunications Research Inst 適応的正弦波パルスコーディングを用いるオーディオ信号の符号化及び復号化方法及び装置
US9251799B2 (en) 2009-02-16 2016-02-02 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding audio signal using adaptive sinusoidal coding
JP2012032803A (ja) * 2010-07-01 2012-02-16 Polycom Inc フルバンド拡張可能なオーディオコーデック
US8831932B2 (en) 2010-07-01 2014-09-09 Polycom, Inc. Scalable audio in a multi-point environment
JP2016027411A (ja) * 2011-05-25 2016-02-18 ▲ホア▼▲ウェイ▼技術有限公司 信号分類方法および信号分類デバイス、ならびに符号化/復号化方法および符号化/復号化デバイス
JP2017191341A (ja) * 2011-05-25 2017-10-19 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. 信号分類方法および信号分類デバイス、ならびに符号化/復号化方法および符号化/復号化デバイス
JP2021060618A (ja) * 2011-05-25 2021-04-15 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. 信号分類方法および信号分類デバイス、ならびに符号化/復号化方法および符号化/復号化デバイス
JP7177185B2 (ja) 2011-05-25 2022-11-22 ▲ホア▼▲ウェイ▼技術有限公司 信号分類方法および信号分類デバイス、ならびに符号化/復号化方法および符号化/復号化デバイス

Also Published As

Publication number Publication date
CN101523485A (zh) 2009-09-02
CN101523485B (zh) 2012-10-10
JP4396683B2 (ja) 2010-01-13
WO2008041596A1 (en) 2008-04-10
US20080082321A1 (en) 2008-04-03
KR20090076956A (ko) 2009-07-13
US8447597B2 (en) 2013-05-21
KR101026597B1 (ko) 2011-04-04

Similar Documents

Publication Publication Date Title
JP4396683B2 (ja) 音声符号化装置、音声符号化方法、及び、プログラム
US8612215B2 (en) Method and apparatus to extract important frequency component of audio signal and method and apparatus to encode and/or decode audio signal using the same
US8615391B2 (en) Method and apparatus to extract important spectral component from audio signal and low bit-rate audio signal coding and/or decoding method and apparatus using the same
RU2670797C9 (ru) Способ и устройство для формирования из представления hoa-сигналов в области коэффициентов смешанного представления упомянутых hoa-сигналов в пространственной области/области коэффициентов
KR102165403B1 (ko) 음향 신호 부호화 장치, 음향 신호 복호 장치, 음향 신호 부호화 방법 및 음향 신호 복호 방법
CN111179946B (zh) 无损编码方法和无损解码方法
KR102401002B1 (ko) 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
KR101361933B1 (ko) 오디오 인코딩에서 주파수 대역 신호 에너지를 기초로 한 주파수 대역 스케일 팩터 결정
EP1596366A1 (en) Digital signal encoding method and apparatus using plural lookup tables
CN102483924A (zh) 使用通道间及时间冗余减少的音频信号编码
JP2004309921A (ja) 符号化装置、符号化方法及びプログラム
JP3344944B2 (ja) オーディオ信号符号化装置,オーディオ信号復号化装置,オーディオ信号符号化方法,及びオーディオ信号復号化方法
EP1249837A2 (en) A method for decompressing a compressed audio signal
KR20170089982A (ko) 신호 인코딩 및 디코딩 방법 및 장치
JP2019070823A (ja) 音響信号符号化装置、音響信号復号装置、音響信号符号化方法および音響信号復号方法
JP5098453B2 (ja) 音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム
JP3146121B2 (ja) 符号化復号化装置
JP2009288560A (ja) 音声符号化装置、音声復号装置、及びプログラム
JP2003280695A (ja) 音声圧縮方法および音声圧縮装置
JP2003195898A (ja) 音声データ処理装置、方法及びプログラム
JPH08237130A (ja) 信号符号化方法及び装置、並びに記録媒体
JPH08328600A (ja) 音声信号符号化方法及び装置、並びに音声信号符号化復号化装置
JP2009288561A (ja) 音声符号化装置、音声復号装置、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

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: 20090929

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: 20091012

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

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4396683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4