JP2013068847A - 符号化方法及び符号化装置 - Google Patents

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

Info

Publication number
JP2013068847A
JP2013068847A JP2011208096A JP2011208096A JP2013068847A JP 2013068847 A JP2013068847 A JP 2013068847A JP 2011208096 A JP2011208096 A JP 2011208096A JP 2011208096 A JP2011208096 A JP 2011208096A JP 2013068847 A JP2013068847 A JP 2013068847A
Authority
JP
Japan
Prior art keywords
gain
polarity
search
vector
encoding
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.)
Withdrawn
Application number
JP2011208096A
Other languages
English (en)
Inventor
Toshiyuki Morii
利幸 森井
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
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011208096A priority Critical patent/JP2013068847A/ja
Publication of JP2013068847A publication Critical patent/JP2013068847A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】パルスの位置及び極性の探索とゲインの量子化とを多段階で行うことにより、位置及び極性に加えてゲインの量子化にも適切な量のビットを配分し、比較的少ない計算量で良好な符号化性能を得ること。
【解決手段】1段目の位置及び極性の探索処理ST21では、4本のパルスのうちの2本のパルスが理想ゲインの場合のパルスの位置及び極性を探索する。1段目のゲインVQ処理ST22では、1段目の位置及び極性の探索処理ST21において位置及び極性を探索したパルスのゲインを量子化する。2段目の位置及び極性の探索処理ST21では、残りの2本のパルスが理想ゲインの場合のパルスの位置及び極性を探索する。2段目のゲインVQ処理ST22では、2段目の位置及び極性の探索処理ST21において位置及び極性を探索したパルスのゲインを量子化する。
【選択図】図10

Description

本発明は、符号化方法及び符号化装置に関する。代表的には、音声信号及び/又は音楽信号をディジタル信号に圧縮符号化する符号化方法及び符号化装置に関する。
移動体通信においては、伝送帯域の有効利用のために、音声又は画像のディジタル情報の圧縮符号化が必須である。その中でも携帯電話で広く利用されている音声コーデック技術に対する期待は大きく、圧縮率の高い従来の高効率符号化に対して、更により高音質となる符号化への要求が高まっている。また、音声通信は公衆で使用されるため、標準化が必須であり、それに伴う知的財産権の価値の大きさゆえに世界各国の企業において研究開発が盛んに行われている。
近年、多層構造を有するスケーラブルコーデックは、ITU−T(International Telecommunication Union - Telecommunication Standardization Sector)及びMPEG(Moving Picture Experts Group)で標準化が検討されている。また、3GPP(3rd Generation Partnership Project)ではマルチレートコーデックであるEVS(Enhanced Voice Service)が検討されている。このように、近年では、より高いビットレートにより、音声のみならず音楽もより効率的で高品質に符号化できるコーデックが求められている。
20年前に確立された音声の発声機構をモデル化してベクトル量子化を応用した基本方式であるCELP(Code Excited Linear Prediction)によって、音声符号化技術は大きく性能を向上させた。音声符号化技術は、例えば非特許文献1に記載の代数的符号帳(Algebraic Codebook)のような少数パルスによる固定音源の発明で一段とその性能を向上させた。ITU−T標準G.729及びETSI(European Telecommunications Standards Institute)標準AMR(Adaptive Multi-Rate)は、代数的符号帳を用いたCELPの代表的なコーデックを標準化したものであり、世界で広く使用されている。また、近年、ITU−Tでは、スケーラブルコーデックG.718が勧告化されており、これにも代数的符号帳が使用されている。また、上記のように、3GPP−EVSなどの標準規格化で、近年ビットレートがより高いCELPが求められている。
代数的符号帳では、複数のパルスで構成される音源全体に1つのゲインを理想ゲインとして仮定し、複数のパルスの振幅を全て「1」と仮定して、パルスの位置及び極性を探索する。従って、代数的符号帳では、ビット数を増やしていくと、音源を構成する同じ振幅のパルスが増えていくことになる。このため、代数的符号帳は、少数ビットで良好な品質を上げるためには有効であるが、ビットレートが多い場合、パルスの位置及び極性の情報ばかりにビットが割り振られることになる。この結果、ビット数が大きい割に固定符号帳ベクトルの表現能力が早く限界に達し、ビット数を増やしても性能が上がらないという現象が起こる。
従来は、少数本のパルスで音源を表していたので、上記の現象は顕在化していなかったが、コーデックのビットレートが高くなり、固定符号帳に多くのビットが割り振られる傾向がある近年の標準化方式では、上記の現象が顕著になってきている。従って、近年は、ビットレートが高いコーデックにおいて、パルスの位置及び極性のみならず、パルスの振幅にも十分なビットが割り当てられる符号化方法が必要である。
また、従来、パルスの位置とパルスの振幅とにバランスよくビットを配すことができる符号化方法として特許文献1に示すものがある。特許文献1では、各パルスに仮ゲインを算出し、パルス位置は代数的符号帳と同様の位置の符号帳を用い、ゲインはゲインの符号帳で符号化を行うことにより性能の向上を実現している。
特許文献1によれば、パルスの位置を決定する前に、パルスの位置毎に仮ゲインを算出し、算出した仮ゲインを用いてパルスの振幅が異なる仮のパルス音源を生成し、パルス位置を決定する。これにより、特許文献1では、ゲイン符号化部は、最終的にパルス毎に独立のゲインを付与する場合に、パルス位置探索時での最終的なゲインに対する近似精度が上がり、最適なパルス位置を見出しやすくなり、符号化特性を改善できる効果がある。
国際公開第98/40877号
Salami,Laflamme,Adoul,"8kbit/s ACELP Coding of Speech with 10ms Speech-Frame:aCandidate for CCITT Standardization",IEEE Proc. ICASSP94,pp.II-97-II-100
しかしながら、特許文献1においては、パルスの位置の探索の前に各位置における仮ゲインを決めるので、探索するパルスの位置及び極性が仮ゲインに依存し、最適なパルスの位置及び極性を探索することができず、符号化性能が劣化するという問題がある。
本発明の目的は、パルスの位置及び極性の探索とゲインの量子化とを多段階で行うことにより、位置及び極性に加えてゲインの量子化にも適切な量のビットを配分することができ、比較的少ない計算量で良好な符号化性能を得ることができる符号化方法及び符号化装置を提供することである。
本発明の符号化方法は、音源信号における複数のパルスのゲインを量子化する符号化方法であって、n(n=1,2,・・・)段目において、前記音源信号における複数のパルスの一部である第1パルス群のゲインが理想ゲインの場合の前記第1パルス群の位置及び極性を探索し、位置及び極性を探索した前記第1パルス群のゲインを量子化するステップと、(n+1)段目において、前記音源信号における複数のパルスのうち前記第1パルス群以外の第2パルス群のゲインが理想ゲインの場合の前記第2パルス群の位置及び極性を探索し、位置及び極性を探索した前記第2パルス群のゲインを量子化するステップと、を具備するようにした。
また、本発明の符号化方法は、音源信号における複数のパルスのゲインを量子化する符号化方法であって、n(n=1,2,・・・)段目において、前記音源信号における複数のパルスの一部である第1パルス群のゲインが理想ゲインの場合の前記第1パルス群の位置及び極性を探索するステップと、(n+1)段目において、前記音源信号における複数のパルスのうち前記第1パルス群以外の第2パルス群のゲインが理想ゲインの場合の前記第2パルス群の位置及び極性を探索するステップと、前記n段目において位置及び極性を探索した前記第1パルス群のゲイン、及び前記(n+1)段目において位置及び極性を探索した前記第2パルス群のゲインをまとめて量子化するステップと、を具備するようにした。
また、本発明の符号化装置は、音源信号における複数のパルスのゲインを量子化する符号化装置であって、符号化ターゲット、合成フィルタのフィルタ係数、及び音源信号を構成する複数のパルス、を用いてパラメータを算出し、前記パラメータを用いた位置及び極性の探索における符号化歪みを最小化する前記複数のパルスの位置及び極性を決定し、決定した前記位置及び極性に対応する第1符号を決定する位置/極性探索手段と、前記位置/極性探索手段で位置及び極性が決定されたパルスに対応する前記パラメータに基づいて、複数のゲインのコードベクトルを、ベクトル量子化を用いて探索することにより、ゲイン探索における符号化歪みを最小化するコードベクトルを決定し、決定した前記コードベクトルに対応する第2符号を決定するゲイン量子化手段と、前記位置/極性探索手段で位置及び極性が決定されたパルスと、前記ゲイン量子化手段で決定された前記ゲインのコードベクトルと、を用いて復号音源ベクトルを生成する復号手段と、前記符号化ターゲット、前記フィルタ係数、及び前記復号音源ベクトルを入力し、前記符号化ターゲットから、前記フィルタ係数を有する前記合成フィルタに前記復号音源ベクトルを適用して得られる成分を減算して、ターゲットベクトルを生成する減算手段と、前記位置/極性探索手段を少なくとも2回動作させることにより前記複数のパルスを多段階で探索するように、予め設定された順序で前記位置/極性探索手段、前記ゲイン量子化手段、前記復号手段、及び前記減算手段、を動作させ、前記位置/極性探索手段の動作が1段目でない場合には、直前の前記減算手段の動作で生成された前記ターゲットベクトルを新たな符号化ターゲットとして前記位置/極性探索手段へ出力して前記位置/極性探索手段の次段の動作を行わせる制御手段と、を具備する構成を採る。
本発明によれば、パルスの位置及び極性の探索とゲインの量子化とを多段階で行うことにより、位置及び極性に加えてゲインの量子化にも適切な量のビットを配分することができ、比較的少ない計算量で良好な符号化性能を得ることができる。
本発明の実施の形態1におけるCELP符号化装置の基本構成を示すブロック図 本発明の実施の形態1における各パルスの位置の候補を示す図 本発明の実施の形態1におけるCELP符号化装置の具体的構成を示すブロック図 本発明の実施の形態1におけるCELP符号化装置の符号化処理を示すフロー図 本発明の実施の形態1におけるCELP符号化装置のフィルタ生成部の具体的構成を示すブロック図 本発明の実施の形態1におけるCELP符号化装置の適応符号帳探索部の具体的構成を示すブロック図 本発明の実施の形態1におけるCELP符号化装置の固定符号帳探索部の具体的構成を示すブロック図 本発明の実施の形態1におけるCELP符号化装置のゲイン探索部の具体的構成を示すブロック図 本発明の実施の形態1における固定符号帳探索部の探索制御部の具体的構成を示すブロック図 本発明の実施の形態1における固定符号帳探索部の方法1による符号化処理を示すフロー図 本発明の実施の形態1における位置/極性探索部の位置及び極性の探索処理を示すフロー図 本発明の実施の形態1における固定符号帳探索部の方法2による符号化処理を示すフロー図 本発明の実施の形態2におけるCELP符号化装置の固定符号帳探索ターゲット生成部の具体的構成を示すブロック図
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
<CELP符号化装置の基本構成>
図1は、本発明の実施の形態におけるCELP符号化装置100の基本構成を示すブロック図である。
図1において、CELP符号化装置100は、声道情報と音源情報とからなる音声信号を、声道情報については、LPCパラメータ(線形予測係数)を求めることにより符号化し、音源情報については、予め記憶されている音声モデルのいずれを用いるかを特定するインデックスを求めることにより符号化する。すなわち、音源情報については、適応符号帳103及び固定符号帳104でどのような音源ベクトル(コードベクトル)を生成するかを特定するインデックス(符号)を求めることにより符号化する。なお、実際にCELP符号化装置100に入力され符号化される信号は、狭義の意味での音声信号に限らず、音声信号、音楽信号、あるいは音声信号と音楽信号との双方を含む音響信号、など、いずれの信号であってもよい。すなわち、以下における音声信号とは、広義の意味での音声信号のことを示す。
具体的には、CELP符号化装置100の各部は以下の動作を行う。
LPC分析部101は、音声信号に対して線形予測分析(LPC分析)を施し、スペクトル包絡情報であるLPCパラメータを求め、求めたLPCパラメータをLPC量子化部102及び聴感重み付け部111に出力する。
LPC量子化部102は、LPC分析部101から出力されたLPCパラメータを量子化する。そして、LPC量子化部102は、得られた量子化LPCパラメータをLPC合成フィルタ109に出力し、量子化LPCパラメータのインデックス(符号)をCELP符号化装置100の外部へ出力する。
一方、適応符号帳103は、LPC合成フィルタ109で使用された過去の駆動音源を記憶しており、後述する歪み最小化部112から指示されたインデックスに対応する適応符号帳ラグに従って、記憶している駆動音源から1サブフレーム分の音源ベクトルを生成する。この音源ベクトルは、適応符号帳ベクトルとして乗算器106に出力される。
固定符号帳104は、音源符号化(音源量子化、音源ベクトル符号化とも呼ばれる)の符号帳である。固定符号帳104は、所定形状の音源ベクトルを複数個予め記憶しており、歪み最小化部112から指示されたインデックスに対応する音源ベクトルを、固定符号帳ベクトルとして乗算器107に出力する。ここで、固定符号帳104は代数的音源であり、代数的符号帳を用いた場合について説明する。代数的音源とは、多くの標準コーデックに採用されている音源であり、ベクトル軸上に少数本のパルスを立てて構成されるベクトルにより表される音源である。
なお、上記の適応符号帳103は、有声音のように周期性の強い成分を表現するために使われる。一方、固定符号帳104は、白色雑音のように周期性の弱い成分を表現するために使われる。
ゲイン符号帳105は、歪み最小化部112からの指示に従って、適応符号帳103から出力される適応符号帳ベクトル用のゲイン(適応符号帳ゲイン)、及び固定符号帳104から出力される固定符号帳ベクトル用のゲイン(固定符号帳ゲイン)を生成し、それぞれ乗算器106、107に出力する。
乗算器106は、ゲイン符号帳105から出力された適応符号帳ゲインを、適応符号帳103から出力された適応符号帳ベクトルに乗じ、乗算後の適応符号帳ベクトルを加算器108に出力する。
乗算器107は、ゲイン符号帳105から出力された固定符号帳ゲインを、固定符号帳104から出力された固定符号帳ベクトルに乗じ、乗算後の固定符号帳ベクトルを加算器108に出力する。
加算器108は、乗算器106から出力された適応符号帳ベクトルと、乗算器107から出力された固定符号帳ベクトルとを加算し、加算後の音源ベクトルを駆動音源としてLPC合成フィルタ109に出力する。
LPC合成フィルタ109は、LPC量子化部102から出力された量子化LPCパラメータをフィルタ係数とし、適応符号帳103及び固定符号帳104で生成される音源ベクトルを駆動音源としたフィルタ関数、すなわち、LPC合成フィルタを用いて合成信号を生成する。この合成信号は、加算器110に出力される。
加算器110は、LPC合成フィルタ109で生成された合成信号を音声信号から減算することによって誤差信号を算出し、この誤差信号を聴感重み付け部111に出力する。なお、この誤差信号が符号化歪みに相当する。
聴感重み付け部111は、LPC分析部101から入力されるLPCパラメータを用いて、加算器110から出力された符号化歪みに対して聴感的な重み付けを施し、歪み最小化部112に出力する。
歪み最小化部112は、聴感重み付け部111から出力された符号化歪みが最小となるような、適応符号帳103、固定符号帳104及びゲイン符号帳105の各インデックス(符号)をサブフレームごとに求め、これらのインデックスを符号化情報としてCELP符号化装置100の外部に出力する。より詳細には、上記の適応符号帳103及び固定符号帳104に基づいて合成信号を生成し、この信号の符号化歪みを求める一連の処理は閉ループ制御(帰還制御)となっており、歪み最小化部112は、各符号帳に指示するインデックスを1サブフレーム内において様々に変化させることによって各符号帳を探索し、最終的に得られる、符号化歪みを最小とする各符号帳のインデックスを出力する。
本実施の形態におけるCELP符号化装置100が従来のCELP符号化装置と異なる点は、符号化歪みを最小化する固定符号帳104のインデックス(符号)の中に、探索された固定符号帳ベクトルの音源パルスごとに求められるゲインのコードベクトルを特定する符号が含まれる点である。
なお、符号化歪みが最小となる際の駆動音源(復号音源)は、サブフレームごとに適応符号帳103へフィードバックされる。適応符号帳103は、このフィードバックにより、記憶されている駆動音源を更新する。
<音源符号化の基本的アルゴリズムの原理>
音源ベクトル(符号帳ベクトルまたはコードベクトルとも呼ばれる)の探索と符号の導出とは、以下の(1)式の符号化歪を最小化する音源ベクトルを探索することにより行う。
Figure 2013068847
一般に、適応符号帳ベクトルと固定符号帳ベクトルとはオープンループで(別々のループで)探索されるので、固定符号帳104の符号の導出は以下の(2)式の符号化歪を最小化する固定符号帳ベクトルを探索することにより行う。
Figure 2013068847
ここで、ゲインga、gsは音源の符号を探索した後で決定するので、ここでは、理想ゲイン(最適ゲイン)で探索を進める。理想ゲインとは、符号化歪を最も小さくするゲインを意味する。これにより、上記の(2)式は以下の(3)式のようになる。
Figure 2013068847
(3)式の歪みを最小化することは、以下の(4)式のコスト関数Cを最大化することと同じである。
Figure 2013068847
よって、(4)式より、少数パルスからなる固定符号帳ベクトルsを探索する場合は、yHとHHとを予め計算しておけば、少ない計算量で上記のコスト関数Cを算出することができる。
ここで、「パルスの単独の相関値」とは、このベクトルyHの要素のことである。ターゲットベクトルyに対して、時間逆順合成を施したベクトルyHの要素の1つは、その位置に立つインパルスの合成信号とターゲット信号との相関値と等しくなる。
<固定符号帳の具体例>
図2は、各パルスの位置の候補を示す図である。図2は、固定符号帳の例として、サブフレーム長(ターゲットベクトル長または音源長)が「64」で、パルス数が「4」、及び固定符号帳が代数的符号帳である場合の各パルスの位置の候補を示すものである。また、1つのチャネルで1つのパルスが立つ位置の候補を示している。
図2に示すように、代数的符号帳においては、同じ場所に2つのパルスが立たないような候補を使うのが一般的である。図2を用いて固定符号帳ベクトルの量子化を行った場合、パルスの位置に(4ビット×4)ビットを使用し、パルスの極性(±、英語ではpolarity)に(1ビット×4)ビットを使用するので、合計20ビットで64の長さの固定符号帳ベクトルを符号化することになる。また、この際の探索は、4重ループで行われるが、yHとHHとを予め計算しておき、(4)式のコスト関数を評価することにより、ループ内では比較的少ない計算量にすることができる。
ただし、上記の符号化ではゲインは符号化されていない。従来は、パルス4本に対して1つのゲインを乗算するのが一般的であり、適応符号帳ベクトルのゲインと合わせてベクトル量子化する方法、または単独でスカラー量子化する方法を用いる。
<CELP符号化装置の具体的構成>
図3は、本発明の実施の形態におけるCELP符号化装置200の具体的構成を示すブロック図である。本実施の形態におけるCELP符号化装置200は、固定符号帳の探索において、パルスの位置及び極性の量子化に加えて、ゲインの量子化を行うものである。以下では、前述の図1に示す基本構成のCELP符号化装置100を、より効率的に機能するように再構成したCELP符号化装置200について説明する。
CELP符号化装置200に入力され符号化される信号は、上記CELP符号化装置100の場合と同様、狭義の意味での音声信号に限らず、音声信号、音楽信号、あるいは音声信号と音楽信号との双方を含む音響信号、など、いずれの信号であってもよく、広義の意味での音声信号のことを示す。以下においては、CELP符号化装置200に入力される信号を、符号化ターゲットxとも称する。
CELP符号化装置200は、固定符号帳の探索において、パルスの位置及び極性の探索と、パルスのゲインのベクトル量子化とをセットとして多段量子化を行うものである。
CELP符号化装置200は、フィルタ生成部201、適応符号帳探索部202、固定符号帳探索ターゲット生成部203、固定符号帳探索部204、ゲイン探索部205、及び復号音源生成部206、を有する。
フィルタ生成部201は、符号化ターゲットxを入力してLPCパラメータを求め、求めたLPCパラメータを量子化して量子化LPCパラメータを生成する。フィルタ生成部201は、量子化LPCパラメータをフィルタ係数とするフィルタを生成して、適応符号帳探索部202、固定符号帳探索ターゲット生成部203、固定符号帳探索部204、及びゲイン探索部205へ出力する。なお、フィルタ生成部201は、前述の基本構成の聴感重み付け部111における聴感的な重み付けの機能も合わせて有するものとし、フィルタ生成部201が生成するフィルタは聴感重み付け合成フィルタHとする。以下、フィルタ係数である量子化LPCパラメータのことを聴感重み付け合成フィルタHとも称する。また、フィルタ生成部201は、量子化LPCパラメータのインデックス(符号L)をCELP符号化装置200の外部へ出力する。フィルタ生成部201の詳細については後述する。
適応符号帳探索部202は、符号化ターゲットx、及び、フィルタ生成部201で生成した聴感重み付け合成フィルタHを入力し、適応符号帳探索を行う。適応符号帳探索部202は、入力される符号化ターゲットx及び聴感重み付け合成フィルタHを用いた適応符号帳探索により、符号化歪みを最小化する適応符号帳ベクトルrを特定する。適応符号帳探索部202は、特定した適応符号帳ベクトルrを、固定符号帳探索ターゲット生成部203、ゲイン探索部205、及び復号音源生成部206へ出力する。また、適応符号帳探索部202は、特定した適応符号帳ベクトルrの符号RをCELP符号化装置200の外部へ出力する。適応符号帳探索部202の詳細については後述する。
固定符号帳探索ターゲット生成部203は、符号化ターゲットx、聴感重み付け合成フィルタH、及び適応符号帳ベクトルrを入力し、適応符号帳探索部202で探索された適応符号帳ベクトルの最適ゲインgaを適用して、式(2)に基づいて固定符号帳探索のターゲットベクトルyを生成する。固定符号帳探索ターゲット生成部203は、生成した固定符号帳探索のターゲットベクトルyを固定符号帳探索部204へ出力する。
固定符号帳探索部204は、聴感重み付け合成フィルタH、及び固定符号帳探索のターゲットベクトルyを入力し、入力されるターゲットベクトルy及び聴感重み付け合成フィルタHを用いた固定符号帳探索により、符号化歪みを最小化する固定符号帳ベクトルs及び音源パルス用のゲイン(コードベクトルにより表される)を特定する。固定符号帳探索部204は、特定した固定符号帳ベクトルsを、ゲイン探索部205、及び復号音源生成部206へ出力する。また、固定符号帳探索部204は、特定した固定符号帳ベクトルsの符号F及び音源パルス用ゲインのコードベクトルのインデックス(符号M)をCELP符号化装置200の外部へ出力する。固定符号帳探索部204の詳細については後述する。
ゲイン探索部205は、符号化ターゲットx、聴感重み付け合成フィルタH、適応符号帳ベクトルr、及び固定符号帳ベクトルsを入力する。そして、ゲイン探索部205の内部(あるいは外部)に配置された、あらかじめ適応符号帳ゲイン及び固定符号帳ゲインの候補が格納されたゲイン符号帳を、ベクトル量子化を用いて探索することにより、符号化歪みを最小化する適応符号帳ゲインga及び固定符号帳ゲインgsを特定する。ゲイン探索部205は、特定した適応符号帳ゲインga及び固定符号帳ゲインgsを復号音源生成部206へ出力する。また、ゲイン探索部205は、特定した適応符号帳ゲインga及び固定符号帳ゲインgsの符号GをCELP符号化装置200の外部へ出力する。ゲイン探索部205の詳細については後述する。
復号音源生成部206は、符号化歪みを最小化するようにそれぞれ特定された、適応符号帳ベクトルr、固定符号帳ベクトルs、適応符号帳ゲインga、及び固定符号帳ゲインgsを入力し、復号音源Y(=gaHr+gsHs)を生成する。復号音源生成部206は、生成した復号音源Yを適応符号帳探索部202へ出力する。適応符号帳探索部202は、入力される復号音源Yを用いて、適応符号帳探索部202の内部(あるいは外部)に配置された適応符号帳に記憶されている駆動音源を更新する。
次に、CELP符号化装置200における処理の流れについて、図4を用いて説明する。図4は、CELP符号化装置200における符号化処理を示すフロー図である。
最初に、CELP符号化装置200は、フィルタ生成部201においてフィルタ生成処理を行う(ステップST11)。次に、CELP符号化装置200は、適応符号帳探索部202において適応符号帳探索処理を行う(ST12)。次に、CELP符号化装置200は、固定符号帳探索ターゲット生成部203において固定符号帳探索ターゲット生成処理を行う(ST13)。次に、CELP符号化装置200は、固定符号帳探索部204において固定符号帳探索処理を行う(ST14)。次に、CELP符号化装置200は、適応符号帳を更新するために、復号音源生成部206において復号音源生成処理を行う(ST15)。
次に、CELP符号化装置200における主要構成要素の詳細について説明する。
図5は、フィルタ生成部201の具体的構成を示すブロック図である。フィルタ生成部201は、LPC分析部301、LPC量子化部302、及びフィルタ係数格納部303を有する。
LPC分析部301は、符号化ターゲットxを入力し、LPC分析を行い、LPCパラメータを生成する。LPC分析部301は、生成したLPCパラメータをLPC量子化部302へ出力する。
LPC量子化部302は、LPC分析部301からLPCパラメータを入力し、入力したLPCパラメータを量子化して量子化LPCパラメータを生成する。LPC量子化部302は、生成した量子化LPCパラメータをフィルタ係数格納部303へ出力するとともに、量子化LPCパラメータのインデックス(符号L;LSP符号)をCELP符号化装置200の外部へ出力する。
フィルタ係数格納部303は、LPC量子化部302から量子化LPCパラメータを入力し、これをフィルタ係数として聴感重み付け合成フィルタHを生成する。フィルタ係数格納部303は、生成した聴感重み付け合成フィルタHを、適応符号帳探索部202、固定符号帳探索ターゲット生成部203、固定符号帳探索部204、及びゲイン探索部205へ出力する。
図6は、適応符号帳探索部202の具体的構成を示すブロック図である。適応符号帳探索部202は、適応符号帳401、探索制御部402、及び符号格納部403を有する。
適応符号帳401は、図1における適応符号帳103と同一の構成を有する。適応符号帳401は、復号音源生成部206で生成された過去の駆動音源Yを入力し、記憶している。適応符号帳401は、探索制御部402から指示されたインデックスに対応する適応符号帳ラグに従って、記憶している駆動音源から1サブフレーム分の音源ベクトルを生成し、探索制御部402へ出力する。
探索制御部402は、適応符号帳401へ、探索に用いる音源ベクトルを取り出すためにインデックスを出力する。探索制御部402は、インデックスに対応する適応符号帳ラグに従って適応符号帳401から出力された音源ベクトルと、符号化ターゲットxと、フィルタ生成部201で生成された聴感重み付け合成フィルタHと、を入力し、式(1)の固定符号帳音源の項gHsがない式(適応符号帳探索の時点では固定符号帳音源はまだ探索していないため)による符号化歪みEを計算する。
符号格納部403は、あるサブフレームにおける適応符号帳探索のループ計算において、ある時点で符号化歪みを最小化する符号を格納する。すなわち符号格納部403はバッファとして機能する。
探索制御部402は、あるサブフレームにおける適応符号帳探索のループ計算において、ある時点において算出された符号化歪みと、符号格納部403に格納された符号を取り出しその符号に対応する符号化歪みすなわち過去において算出された符号化歪みの最小値と、を比較する。探索制御部403は、比較の結果として、前者の符号化歪みの方が小さい場合はその符号を符号格納部403へ出力し、符号格納部403に格納されている符号を更新する。
探索制御部402は、あるサブフレームにおける適応符号帳探索のループ計算において、最終的に符号格納部403に格納された符号Rに対応する適応符号帳ベクトルr、すなわち符号化歪みを最小化する適応符号帳ベクトルrを特定して固定符号帳探索ターゲット生成部203、ゲイン探索部205、及び復号音源生成部206へ出力するとともに、符号Rを外部へ出力する。
図7は、固定符号帳探索部204の具体的構成を示すブロック図である。固定符号帳探索部204は、固定符号帳501、探索制御部502、及び符号格納部503を有する。
固定符号帳501は、図1における固定符号帳104と同一の構成を有する。固定符号帳501は、1サブフレーム分の所定形状の音源ベクトルを複数個予め記憶しており、探索制御部502から指示されたインデックスに対応する音源ベクトルを、探索制御部502に出力する。ここでは、固定符号帳501は代数的音源であり、ベクトル軸上に少数本のパルスを立てて構成されるベクトルにより表される音源である。
探索制御部502は、固定符号帳501へ、探索に用いる音源ベクトルを取り出すためにインデックスを出力する。探索制御部502は、固定符号帳501からインデックスに対応して出力された音源ベクトルと、固定符号帳探索ターゲット生成部203から出力された固定符号帳探索のターゲットベクトルyと、フィルタ生成部201で生成された聴感重み付け合成フィルタHと、を入力し、式(3)による符号化歪みEを計算する。
探索制御部502は、音源ベクトルのパルス(音源パルス)の位置及び極性の探索の際には、あらかじめ保持している所定の固定音源理想ゲイン(最適ゲイン)gを適用して符号化歪みを計算し、探索を行う。探索制御部502は、パルスごとのゲインの探索の際には、先に探索により特定された音源パルスの位置及び極性を用いて符号化歪みを計算し、ゲインのベクトル量子化を行う。
符号格納部503は、あるサブフレームにおける固定符号帳探索のループ計算において、ある時点で符号化歪みを最小化する、固定音源ベクトル(固定符号帳ベクトル)の符号F及び音源パルスのゲインのコードベクトルの符号Mを格納する。すなわち符号格納部503はバッファとして機能する。
探索制御部502は、あるサブフレームにおける固定符号帳探索のループ計算において、ある時点において算出された符号化歪みと、符号格納部503に格納された符号を取り出しその符号に対応する符号化歪みすなわち過去において算出された符号化歪みの最小値と、を比較する。探索制御部502は、比較の結果として、前者の符号化歪みの方が小さい場合はその符号を符号格納部503へ出力し、符号格納部503に格納されている符号を更新する。
探索制御部502は、あるサブフレームにおける固定符号帳探索のループ計算において、最終的に符号格納部503に格納された符号F及びMに対応する固定符号帳ベクトルs、すなわち符号化歪みを最小化する固定符号帳ベクトルsを特定してゲイン探索部205及び復号音源生成部206へ出力するとともに、符号F及びMを外部へ出力する。
図8は、ゲイン探索部205の具体的構成を示すブロック図である。ゲイン探索部205は、ゲイン符号帳601、探索制御部602、及び符号格納部603を有する。
ゲイン符号帳601は、図1におけるゲイン符号帳105と同一の構成を有する。ゲイン符号帳601は、あらかじめ適応符号帳ゲインの候補及び固定符号帳ゲインの候補を格納している。ゲイン符号帳601は、探索制御部602から指示されたインデックスに対応する適応符号帳ゲインの候補及び固定符号帳ゲインの候補を取り出し、探索制御部602へ出力する。
探索制御部602は、ゲイン符号帳601へ、探索に用いる適応符号帳ゲインの候補及び固定符号帳ゲインの候補を取り出すためにインデックス(適応符号帳ゲインと固定符号帳ゲインとをまとめて指定する符号)を出力する。探索制御部602は、インデックスに対応する適応符号帳ゲインの候補及び固定符号帳ゲインの候補と、符号化ターゲットxと、フィルタ生成部201で生成された聴感重み付け合成フィルタHと、適応符号帳探索部202で特定された適応符号帳ベクトルrと、固定符号帳探索部204で特定された固定符号帳ベクトルsと、を入力し、式(1)による符号化歪みEを計算する。探索制御部602は、符号化歪みを最小化するようにゲインのベクトル量子化を用いた探索を行い、適応符号帳ゲイン及び固定符号帳ゲインを特定する。
符号格納部603は、ゲインのベクトル量子化時の探索ループ計算において、ある時点で符号化歪みを最小化する、適応符号帳ゲイン及び固定符号帳ゲインの符号(適応符号帳ゲインと固定符号帳ゲインとをまとめて指定する)を格納する。すなわち符号格納部603はバッファとして機能する。
探索制御部602は、あるサブフレームにおけるゲイン探索のループ計算において、ある時点において算出された符号化歪みと、符号格納部603に格納された符号を取り出しその符号に対応する符号化歪みすなわち過去において算出された符号化歪みの最小値と、を比較する。探索制御部602は、比較の結果として、前者の符号化歪みの方が小さい場合はその符号を符号格納部603へ出力し、符号格納部603に格納されている符号を更新する。
探索制御部602は、あるサブフレームにおけるゲイン探索のループ計算において、最終的に符号格納部603に格納された符号Gに対応する適応符号帳ゲインg及び固定符号帳ゲインgを特定して復号音源生成部206へ出力するとともに、符号Gを外部へ出力する。
次に、固定符号帳探索部204における探索制御部502の主要構成要素の詳細について説明する。
以下では、サブフレーム長が「64」、パルス数が「4」、固定符号帳が代数的符号帳及び各パルスの位置の候補が、前述の図2に示す場合を例に説明する。
パルス数は、2本ずつ探索し、2段に分けて探索する。また、ゲインの量子化は、パルスの位置及び極性の探索の後に行う。パルスのゲインのベクトル量子化は、2次元のベクトルを量子化する。
図9は、探索制御部502の具体的構成を示すブロック図である。探索制御部502は、符号化処理部701、位置/極性探索部702、ゲインVQ部703、復号処理部704、及び減算部705を有する。
符号化処理部701は、固定符号帳501から固定符号帳ベクトルの候補、フィルタ生成部201から聴感重み付け合成フィルタH、及び固定符号帳探索ターゲット生成部203から固定符号帳探索のターゲットベクトルy、を入力し、各処理ブロックと連携して固定符号帳探索を制御して符号化を行う。符号化処理部701は、探索処理のループごとに得られる符号を、必要に応じて適宜、符号格納部503へ出力し、処理に必要な場合には符号格納部503から符号を読み出し、最終的には、サブフレームごとに、符号化歪みを最小化する符号F及びMを符号格納部503から読み出して出力する。
位置/極性探索部702は、符号化処理部701から、固定符号帳ベクトルの候補、聴感重み付け合成フィルタH、及び固定符号帳探索のターゲットベクトルy、を入力し、音源ベクトルのパルスの位置及び極性を探索する。位置/極性探索部702は、探索により求めた音源ベクトル及びその符号、及び、ゲインVQに必要なパラメータ(パルス探索の前処理で求めた各パラメータ)を符号化処理部701へ出力する。
ゲインVQ部703は、符号化処理部701から、パルス探索の前処理で求めた各パラメータを入力し、ゲインVQ部703内に有する音源パルス用のゲイン符号帳(図示せず)に格納された複数のゲインのコードベクトルを用いたベクトル量子化により、各パルスごとのゲインを探索する。ゲインVQ部703は、探索により求めた、音源ベクトルのパルスごとのゲインのコードベクトル及びその符号を符号化処理部701へ出力する。
復号処理部704は、符号化処理部701から、探索によりそれぞれ求められた、音源ベクトルのパルスの位置及び極性と、音源ベクトルのパルスごとのゲインのコードベクトルと、を入力し、符号化歪みを最小化する復号音源ベクトルSを生成する。復号処理部704は、生成した復号音源ベクトルSを符号化処理部701へ出力する。
減算部705は、探索処理の段数が複数段であって探索処理が最終段でない場合に、符号化処理部701から、その段におけるターゲットベクトルy、聴覚重み付け合成フィルタH、及び復号音源ベクトルSを入力し、その段におけるターゲットベクトルyから、復号音源ベクトルSを聴覚重み付け合成フィルタHに適用して得られる合成音の成分HSを減算して、次の段において用いるターゲットベクトルzを生成する。減算部705は、生成した、次の段におけるターゲットベクトルzを、符号化処理部701へ出力する。
すべての段の探索処理が完了したら、符号化処理部701は、最終的に求められた音源ベクトル(固定符号帳ベクトル)s=Sをゲイン探索部205及び復号音源生成部206へ出力するとともに、求めた符号F及びMを出力する。
<方法1>
次に、固定符号帳探索部204の探索制御部502における処理の流れについて、図10を用いて説明する。図10は、探索制御部502における符号化処理を示すフロー図である。以下においては、固定符号帳探索を、一例として2段で行うことにより固定音源を符号化する例を示す。
最初に、探索制御部502は、位置/極性探索部702において位置及び極性の探索処理を行う(ステップST21)。次に、探索制御部502は、ゲインVQ部703においてゲインVQ処理を行う(ST22)。次に、探索制御部502は、符号化処理部701において、そのサブフレームでの固定符号帳の探索が完了したか否かを判別する(ST23)。
1段目のパルス探索が完了すなわち固定符号帳の探索が未完了の場合(ST23:No)、探索制御部502は、復号処理部704において、1段目のパルス探索により求められた、音源パルスの位置及び極性と音源パルスのゲインとを用いて音源ベクトルの復号処理を行う(ST24)。次に、探索制御部502は、減算部705において、ターゲットベクトルyから、復号された音源ベクトルSと聴感重み付け合成フィルタHとを用いて生成された合成音の成分HSを減算して、次の段の符号化に用いるターゲットベクトルzを生成し(ST25)、2段目のパルス探索を行うために処理ステップをST21に戻す。
2段目のパルス探索が完了すなわち固定符号帳の探索が完了した場合(ST23:Yes)、探索制御部502は、符号F及びMを符号化処理部701からCELP符号化装置200の外部に出力し(ST26)、そのサブフレームでの符号化処理を完了する。
以下、固定符号帳探索(パルス探索)を2段で行う方法について、具体的に説明する。
1段目の処理において、位置及び極性の探索処理ST21における処理前のターゲットベクトル及び聴感重み付け合成フィルタは、上記説明における、固定符号帳探索のターゲットベクトルy及び聴感重み付け合成フィルタHである。
位置/極性探索部702における位置及び極性の探索処理ST21では、4本のパルスのうち2本のパルスの位置と極性とを探索し符号化する。パルス候補位置チャネルは「0,1」である。この際、理想ゲインにおけるコスト関数を用いた探索方法を用いる。位置及び極性の探索処理ST21における探索方法の原理は、以下の通りである。
パルスを2本立てた場合の、(2)式に対応する符号化歪は、以下の(5)式のようになる。
Figure 2013068847
本実施の形態においては、2本のパルスのそれぞれがゲインを有することになる。従って、各p、pにおいて、この符号化歪を最小とする理想ゲインα、βにおける符号化歪を評価する。そのために、ゲインα、βを最適値としてこの符号化歪の式から外すことによって、コスト関数を求める。まず、ゲインα、βが理想ゲインであるならば、それぞれの偏微分の結果は「0」になる。偏微分の結果を以下の(6)式に示す。
Figure 2013068847
上記の(6)式は、2元1次連立方程式であるので、α、βについて連立方程式を解くと、以下の(7)式のようになる。
Figure 2013068847
そして、上記の(7)式を上記の(5)式に代入すると、以下の(8)式が得られる。
Figure 2013068847
従って、(8)式の右辺の第2項である分数式(先頭のマイナスを除く)がコスト関数である。このコスト関数が最大になるp、pを探索することで、2つのパルスの位置の符号j0、j1を求めることができる。これらのパルスの極性は、符号j0、j1により定まる位置にパルスが立っているベクトルp、pを基に(7)式の分子項を計算して得られる値の極性により決定される。
以上の処理により、位置及び極性の探索処理ST21では、少数パルスの位置及び極性とこれらの符号を求めることができる。
ゲインVQ部703におけるゲインVQ処理ST22では、ゲインVQ部703内に配置された音源パルス用のゲイン符号帳(図示せず)に格納された複数のゲインのコードベクトルを用いて、位置及び極性の探索処理ST21により決定したパルスの位置と極性とで表されるp、pに基づいて、(5)式が最小になるコードベクトルを探索する。従って、ゲインVQ処理ST22では、位置及び極性の探索処理ST21における前処理で求められた配列を用い、以下の(9)式のコードベクトル(α,β)(m:インデクス)の中で、値D((5)式からターゲットのパワyyを除いたもの)が最小になるゲインのベクトルを求めることにより符号化が行われる。
Figure 2013068847
(9)式より、Dを最小とするのがm=Mである場合、このMがゲインの符号になり、このMを符号として伝送する。ゲイン符号帳のサイズが「64」であれば(ゲインのコードベクトルが64対あれば)、6ビットで符号化できる。
これにより、1段目の処理が終了する。そして2段目の処理に入る前に、まず以下の復号処理ST24及び減算処理ST25を行う。
復号処理ST24では、位置及び極性の探索処理ST21及びゲインVQ処理ST22において用いた符号帳から得られる位置、極性及びゲインから音源を復号する。この復号音源ベクトルをSと表すと、復号音源ベクトルは以下の(10)式で表される。
Figure 2013068847
減算処理ST25では、ターゲットベクトルy、及び聴感重み付け合成フィルタHを用いて、復号された音源ベクトルSを聴感重み付け合成フィルタHに適用して得られる合成音の成分を、ターゲットベクトルyから減ずる。この処理は、以下の(11)式により表される。
Figure 2013068847
そして、次に、2段目の処理に入る。
2段目の処理において、位置及び極性の探索処理ST21では、1段目の位置及び極性の探索処理ST21と同様の処理を行うので、その詳細な説明を省略する。2段目の位置及び極性の探索処理ST21では、1段目の位置及び極性の探索処理ST21で用いたターゲットベクトルyを、(11)式のzに置き換え、パルスの候補位置のチャネルを「0、1」から「2、3」に置き変える。
2段目のゲインVQ処理ST22では、1段目のゲインVQ処理ST22と同様の処理を行うので、その詳細な説明を省略する。2段目のゲインVQ処理ST22では、1段目のゲインVQ処理ST22で用いたパルスの位置及び極性の代わりに、2段目の位置及び極性の探索処理ST22により探索した位置及び極性を用いて探索を行い符号化する。これにより、2段目の処理が終了する。
そして、1段目の位置及び極性の探索処理ST21及びゲインVQ処理ST22と、2段目の位置及び極性の探索処理ST21及びゲインVQ処理ST22とで得られる符号をまとめて符号化データとして伝送する。
次に、位置及び極性の探索処理ST21における処理を、図11を用いてさらに詳細に説明する。図11は、位置及び極性の探索処理ST21における処理を示すフロー図である。
2本のパルス位置の探索は、上記のように、チャネル0、1の候補位置のそれぞれについて、(8)式に記載されている上記コスト関数を計算し、コスト関数が最も大きくなるインデクスを求めることにより行う。図2の例では、候補位置のヴァリエーションは「16」なので、最終的に求められる符号j0とj1とは、4ビットで表すことができる。なお、図11ではコスト関数を計算する際に除算を行っていないが、除算を行うと計算量が増えるので、乗算で同様の判断が行えるように変形したものが図11である。
また、極性を求めるには、(7)式の分子を計算し、その正負により決定すればよい。ただし、(7)式の分母は同じであり、必ず正もしくは「0」になる。この計算は、図11の処理に引き続き、前処理(ステップST302)での計算値及び以下の(12)式の計算で求めることができる。
Figure 2013068847
そして、この正負の情報は、「0」または「1」で表すことにより、それぞれ1ビットで符号化される。
以下に、図11を用いて、位置/極性探索部702における1段目の位置及び極性の探索処理ST21の具体的な処理手順について説明する。
はじめに、符号化処理部701から、固定符号帳探索のターゲットベクトルy、聴感重み付け合成フィルタH、及び2本のパルス(p、p)からなる音源ベクトル、を入力する(ステップST301)。
次に、ステップST302に示す前処理をあらかじめ行う。
前処理の後、i0=0、jo=0、j1=0、AA=0及びBB=0を各々設定する(ステップST303)。ただし、i0はベクトルpの候補位置のインデクス、AAは後述するAのバッファ、BBは後述するBのバッファを示す。
次に、i0の値が「16」以上であるか否かを判定する(ステップST304)。
i0の値が「16」以上の場合には(ステップST304:Yes)、j0及びj1に設定されている値を符号として出力する。
一方、i0の値が「16」未満の場合には(ステップST304:No)、i1に「0」を設定する(ステップST305)。ただし、i1はベクトルpの候補位置のインデクスを示す。
次に、i1の値が「16」以上であるか否かを判定する(ステップST306)。
i1の値が「16」以上の場合には(ステップST306:Yes)、i0の値に「1」を加算して(ステップST307)、ステップST304の処理に戻る。
一方、i1の値が「16」未満の場合には(ステップST306:No)、ステップST302で求めておいた値を用いて、式(8)におけるコスト関数の分子項Aの値及び分母項Bの値を求める(ステップST308)。
次に、ステップST308において求めたA及びBの値より、コスト関数(A/B)が最大かどうかを判定する。ここでは、計算量が多くなる除算を避けるため、判定式に工夫を施し、(A*BB)により求まる値が(AA*B)により求まる値以上であるか否かを判定する(ステップST309)。なお、(A*BB)及び(AA*B)は、上述したように、コスト関数を計算する際にそのまま除算を行うと計算量が増えるので、乗算で同様の判断が行えるように変形した計算式である。
(A*BB)により求まる値が(AA*B)により求まる値以上の場合には(ステップST309:Yes)、j0にi0を設定し、j1にi1を設定し、AAの値としてAを設定するとともに、BBの値としてBを設定する(ステップST310)。
次に、i1に「1」を加算して(ステップST311)、ステップST306に処理を戻す。
また、ステップST309において、(A*BB)により求まる値が(AA*B)により求まる値未満の場合には(ステップST309:No)、j0及びj1に設定されている値を符号として出力する(ステップST312)。
以上により、1段目の位置及び極性の探索処理ST21において少数パルスの位置を求めることができる。
次に、1段目の位置及び極性の探索処理ST21においてパルスの極性を求める。上述のように、(7)式の分子を計算し、その正負により決定すればよい。(7)式の分母は同じであり、必ず正もしくは「0」になる。この計算は、パルスの位置を求める図11の処理に引き続き、図11における前処理(ステップST302)での計算値及び(12)式の計算で求めることができる。そして、この正負の情報は、「0」または「1」で表すことにより、それぞれ1ビットで符号化される。
以上により、1段目の位置/極性探索処理ST21において少数パルスの極性を求めることができる。
以上のアルゴリズムにより、1段目の位置及び極性の探索処理ST21において少数パルスの位置及び極性を求めることができる。
上述の説明においては、パルスの位置及び極性を2段で符号化する場合について説明したが、符号化の段数は2段以外の任意の段数にすることができる。この場合、方法1では、図10に示すST21及びST22を1段階分の処理の基本として、この基本となる処理を繰り返し行うことにより符号化する。図10に示すように、この基本の処理を繰り返す場合には、1段階分の処理の後、復号処理ST24及び減算処理ST25を行った上で、次の段の処理を行う。
<方法2>
図12は、固定符号帳探索部204の探索制御部502における処理の流れについて、上記方法1と異なる方法を示す図である。この方法2では、最後にまとめてゲインVQを行う。なお、以下においては、固定符号帳探索を、一例として2段で行うことにより固定音源を符号化する例を示す。用いる装置の構成は方法1で用いた装置と同様であり、符号化処理部701において行われる制御方法すなわち固定符号帳探索の処理の流れが方法1と異なる。
位置及び極性の探索処理ST41における処理前のターゲットベクトル及び聴感重み付け合成フィルタは、方法1の説明と同様に、固定符号帳探索のターゲットベクトルy及び聴感重み付け合成フィルタHである。
位置及び極性の探索処理ST41では、4本のパルスのうち2本のパルスの位置と極性とを探索し符号化する。この際、理想ゲインにおけるコスト関数を用いた探索方法を用いる。なお、位置及び極性の探索処理ST41における探索方法は、上記で説明した位置及び極性の探索処理ST21における探索方法と同様であるので、その説明を省略する。
次に、符号化処理部701において、そのサブフレームでの音源パルスの探索が完了したか否かを判別する(ST42)。
1段目のパルス探索が完了すなわち全段階のパルス探索が未完了の場合(ST42:No)、符号化処理部701は、1段目のパルス探索により求められた、音源パルスの位置及び極性と音源パルスの理想ゲインとを用いて音源ベクトルの復号処理を行う(ST43)。
復号処理ST43では、まず位置及び極性の探索処理ST41で得られたパルスの位置及び極性の理想ゲインを求める。理想ゲインは、(7)式で示される。図11における前処理の配列を用いると、以下の(13)式により理想ゲインを求めることができる。
Figure 2013068847
次に、上記の理想ゲインを乗じて以下の(14)式に示す復号を行う。
Figure 2013068847
次に、ターゲットベクトルyから、復号された音源ベクトルを減算する(ST44)。減算処理ST44では、ターゲットベクトルy、及び聴感重み付け合成フィルタHを用いて、理想ゲインを用いた音源ベクトルS’を合成して得られる合成音の成分を、ターゲットベクトルから減ずる。この処理を以下の(15)式に示す。
Figure 2013068847
減算処理ST44が完了したら、2段目のパルス探索を行うために処理ステップをST41に戻す。
2段目の位置及び極性の探索処理ST41では、ターゲットz’に対して、2段目のパルスの位置及び極性を探索する。ここでは、1段目の位置及び極性の探索処理ST41と同様に理想ゲインにおけるコスト関数を用いた探索方法を用いる。この探索方法は、方法1における2段目の位置及び極性の探索処理ST21における探索方法と同様であるので、その説明を省略する。
2段目のパルス探索が完了すなわち全段階のパルス探索が完了した場合(ST42:Yes)、ゲインVQ部703においてゲインVQ処理を行う(ST45)。
ゲインVQ処理ST45では、ゲインVQ部703内に配置された音源パルス用のゲイン符号帳(図示せず)に格納された複数のゲインのコードベクトル(本例では4次のベクトル)を用い、位置及び極性の探索処理ST41において決定されたパルスの位置と極性とで表されるq、q(1段目の位置及び極性の探索処理ST41で得られたパルスが1つ立ったベクトル)と、q、q(2段目の位置及び極性の探索処理ST41で得られたパルスが1つ立ったベクトル)とに基づいて、以下の(16)式が最小になるコードベクトルを探索する。パルスを4本立てた場合の符号化歪は以下の(16)式のようになる。
Figure 2013068847
従って、符号mにおけるコスト関数は、Eからターゲットのパワを減じて得られる(17)式になる。
Figure 2013068847
(17)式の( )内は前処理で計算しておけばよく、ベクトル量子化(VQ)は、このDが最小になるmを探索することにより行う。そして、Dが最小になるmを符号Mとして符号化処理部701へ送る。
次に、符号化処理部701は、位置及び極性の探索処理ST41で最終的に得られた音源パルスの位置及び極性を表す符号Fと、ゲインVQ処理ST45で得られた符号Mと、を符号化データとして伝送し(ST46)、そのサブフレームでの符号化処理を完了する。
なお、方法2では、2段で符号化する場合について説明したが、方法1と同様に、方法2においても2段以外の段数で符号化してもよい。
このように、本実施の形態によれば、所定数以下の少数パルスの位置、極性及びゲインを多段構成により量子化するので、比較的少ない計算量で良好な符号化性能を得ることができる。
また、本実施の形態によれば、理想ゲインのパルスの位置及び極性の探索を行うので、性能を大きく落とさずに、大きさの異なるパルスを探索することができる。
また、本実施の形態によれば、パルスごとのゲインをベクトル量子化するので、パルスの位置及び極性の量子化に加えて、ゲインの量子化にも適切な量のビットを配分することができ、より適切な符号化を可能にすることができる。
(実施の形態2)
本実施の形態は、固定符号帳探索ターゲットとして、正規化された信号を用いて固定符号帳探索を行うCELP符号化装置を示す。
実施の形態1においては、固定符号帳探索のターゲットとして、固定符号帳探索ターゲット生成部203において生成される、(2)式に示すターゲットベクトルyを用いた。本実施の形態2においては、固定符号帳探索ターゲット生成部203に代えて、図13に示す固定符号帳探索ターゲット生成部801を配置し、固定符号帳探索部204で用いる固定符号帳探索のターゲットとして、固定符号帳探索ターゲット生成部203において生成されるターゲットベクトルyの代わりに、固定符号帳探索ターゲット生成部801において生成される、正規化されたターゲットベクトルyを用いる。
すなわち、本実施の形態におけるCELP符号化装置の構成及び処理フローは、実施の形態1において用いた図3〜図12において、固定符号帳探索ターゲット生成部203を固定符号帳探索ターゲット生成部801に、固定符号帳探索のターゲットベクトルyを、固定符号帳探索の正規化されたターゲットベクトルyに置き換えたものである。
その他の構成及び動作については、実施の形態1で用いた構成及び動作と同様であるので、具体的な説明は省略する。また、以下では、yを「正規化されたターゲットベクトル」と称する。
図13は、本実施の形態における固定符号帳探索ターゲット生成部801の構成を示すブロック図である。固定符号帳ターゲット生成部801は、ターゲット算出部802及び正規化部803を有する。
ターゲット算出部802は、実施の形態1において用いた固定符号帳探索ターゲット生成部203と同様の構成及び機能を有し、(2)式を用いてターゲットベクトルyを算出する。
正規化部803は、ターゲット算出部802で算出されたターゲットベクトルyを正規化し、正規化されたターゲットベクトルyを出力する。正規化方法の一例としては、正規化部803が、例えば、ターゲットベクトルyのエネルギーを一定値に正規化する。これは、パルス毎のゲインの量子化が、絶対的な大きさを量子化するのではなく、他のパルスとの振幅の相対値を量子化するものであるからである。
この正規化方法は、式(18)に示すようにエネルギーが一定値になるように正規化する方法である。
Figure 2013068847
すなわちターゲットベクトルの長さ(スカラー量)でターゲットベクトルyを除算するという方法である。式(18)に示すように、各要素の値の2乗和を求め、その和をターゲットベクトルの次元Lで除算して商を求め、更にその商の平方根を取って平均振幅を求める。その平均振幅でターゲットベクトルyの全ての要素を割ることにより正規化を行い、正規化されたターゲットベクトルyを生成する。
なお、正規化部803においては、上記と異なる正規化方法を用いて正規化されたターゲットベクトルyを生成してもよい。例えば、一例として、ターゲットベクトルの各要素のうち、最大の振幅を持つ値を振幅1に正規化する方法も有効である。その場合には、各要素の振幅(要素の値の絶対値)の大きさを比較して最も振幅が大きくなる場合の振幅を求める。そして、全ての要素をその最大振幅で割ることにより正規化を行い、正規化されたターゲットベクトルyを生成する。
固定符号帳探索部204は、固定符号帳探索のターゲットベクトルyの代わりに、正規化されたターゲットベクトルyを用いて固定符号帳探索を行う。すなわち、本実施の形態2における固定符号帳探索の説明は、上記実施の形態1の固定符号帳探索の説明においてyをyに置き換えたものと同一となる。したがって、以降の固定符号帳探索の説明を省略する。また、実施の形態1における方法1にも方法2にも適用可能であることは言うまでもない。
このように、固定符号帳探索のターゲットベクトルを正規化して固定符号帳探索に用いれば、固定符号帳の探索におけるゲインVQにより複数のパルスの相対的な振幅の大きさを符号化することができるとともに、全体的な音源ベクトルの大きさはゲイン符号帳105を用いて符号化することができるため、2つのゲインVQにより効率的に振幅を符号化することができる。
(実施の形態の変形例)
上記各実施の形態において、パルス数を4本にし、少数パルス数を2本としたが、本発明はこれに限らず、各々これとは異なる本数でも本発明を実現できることは明らかである。特に、パルス数は多ければ多いほど優れた効果が得られる。なぜなら、本発明により、位置、極性及びゲインに対してバランスよく情報ビットを割り振ることができるからである。また、少数パルスも、3本以上でも同様に本発明を実現できる。ただし、この少数パルスの本数は計算量に大きく影響を与えるので、コーデックの設計上の制限を考慮して本数を決める必要がある。
また、上記各実施の形態において、ゲインは絶対ゲイン(パルスの振幅そのもの)であるが、本発明はこれに限らず、ゲイン同士に相関があることを考慮して、相対ゲインを用いることにより、より効率的なゲイン量子化が行える。この場合、(5)式に代えて以下の(19)式を用いる。
Figure 2013068847
上記において、αを0〜1までの数値にすれば、相対的ゲインαと絶対的ゲインgとで分けることができる。上記の符号化歪に基づいて、相対ゲインでパルスの位置及び極性の探索を行い、絶対ゲインは適応符号帳のゲインとベクトル量子化を行うことにより、更に効率的にゲインを符号化することができる。
また、上記各実施の形態において、固定符号帳のパルスの位置の例として代数的符号帳で用いられる候補位置を用いたが、本発明はこれに限らず、これとは異なる候補位置を用いても本発明が有効であることは明らかである。候補位置の構成が本発明に影響を与えることはなく、依存関係もないからである。
また、上記各実施の形態において、CELPに対して適用したが、本発明はこれに限らず、本数の解る音源ベクトルが格納されている符号帳を用いる符号化方法または復号方法には本発明が有効であることは明らかである。なぜなら、本発明は、固定符号帳ベクトルの探索のみであり、適応符号帳の有無、及びスペクトル包絡の分析方法がLPC、FFTまたはフィルタバンクであるか否かに依存しないからである。
また、上記各実施の形態において、符号化の処理単位はサブフレームとしたが、これに限らず、フレーム、あるいはあらかじめ設定された単位であればよいことはいうまでもない。
また、上記各実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連携においてソフトウェアでも実現することも可能である。
上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続又は設定を再構成可能なリコンフィギュラブルプロセッサーを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
本発明にかかる符号化方法及び符号化装置は、音源信号における複数のパルスのゲインを量子化するのに好適である。
100、200 CELP符号化装置
101、301 LPC分析部
102、302 LPC量子化部
103、401 適応符号帳
104、501 固定符号帳
105、601 ゲイン符号帳
106、107 乗算器
108、110 加算器
109 LPC合成フィルタ
111 聴感重み付け部
112 歪み最小化部
201 フィルタ生成部
202 適応符号帳探索部
203、801 固定符号帳探索ターゲット生成部
204 固定符号帳探索部
205 ゲイン探索部
206 復号音源生成部
303 フィルタ係数格納部
402、502、602 探索制御部
403、503、603 符号格納部
701 符号化処理部
702 位置/処理探索部
703 ゲインVQ部
704 復号処理部
705 減算部
802 ターゲット算出部
803 正規化部

Claims (9)

  1. 音源信号における複数のパルスのゲインを量子化する符号化方法であって、
    n(n=1,2,・・・)段目において、前記音源信号における複数のパルスの一部である第1パルス群のゲインが理想ゲインの場合の前記第1パルス群の位置及び極性を探索し、位置及び極性を探索した前記第1パルス群のゲインを量子化するステップと、
    (n+1)段目において、前記音源信号における複数のパルスのうち前記第1パルス群以外の第2パルス群のゲインが理想ゲインの場合の前記第2パルス群の位置及び極性を探索し、位置及び極性を探索した前記第2パルス群のゲインを量子化するステップと、
    を具備する符号化方法。
  2. 音源信号における複数のパルスのゲインを量子化する符号化方法であって、
    n(n=1,2,・・・)段目において、前記音源信号における複数のパルスの一部である第1パルス群のゲインが理想ゲインの場合の前記第1パルス群の位置及び極性を探索するステップと、
    (n+1)段目において、前記音源信号における複数のパルスのうち前記第1パルス群以外の第2パルス群のゲインが理想ゲインの場合の前記第2パルス群の位置及び極性を探索するステップと、
    前記n段目において位置及び極性を探索した前記第1パルス群のゲイン、及び前記(n+1)段目において位置及び極性を探索した前記第2パルス群のゲインをまとめて量子化するステップと、
    を具備する符号化方法。
  3. 音源信号における複数のパルスのゲインを量子化する符号化装置であって、
    符号化ターゲット、合成フィルタのフィルタ係数、及び音源信号を構成する複数のパルス、を用いてパラメータを算出し、前記パラメータを用いた位置及び極性の探索における符号化歪みを最小化する前記複数のパルスの位置及び極性を決定し、決定した前記位置及び極性に対応する第1符号を決定する位置/極性探索手段と、
    前記位置/極性探索手段で位置及び極性が決定されたパルスに対応する前記パラメータに基づいて、複数のゲインのコードベクトルを、ベクトル量子化を用いて探索することにより、ゲイン探索における符号化歪みを最小化するコードベクトルを決定し、決定した前記コードベクトルに対応する第2符号を決定するゲイン量子化手段と、
    前記位置/極性探索手段で位置及び極性が決定されたパルスと、前記ゲイン量子化手段で決定された前記ゲインのコードベクトルと、を用いて復号音源ベクトルを生成する復号手段と、
    前記符号化ターゲット、前記フィルタ係数、及び前記復号音源ベクトルを入力し、前記符号化ターゲットから、前記フィルタ係数を有する前記合成フィルタに前記復号音源ベクトルを適用して得られる成分を減算して、ターゲットベクトルを生成する減算手段と、
    前記位置/極性探索手段を少なくとも2回動作させることにより前記複数のパルスを多段階で探索するように、予め設定された順序で前記位置/極性探索手段、前記ゲイン量子化手段、前記復号手段、及び前記減算手段、を動作させ、前記位置/極性探索手段の動作が1段目でない場合には、直前の前記減算手段の動作で生成された前記ターゲットベクトルを新たな符号化ターゲットとして前記位置/極性探索手段へ出力して前記位置/極性探索手段の次段の動作を行わせる制御手段と、
    を具備する符号化装置。
  4. 前記制御手段は、
    前記位置/極性探索手段の動作の次に前記ゲイン量子化手段を動作させることとし、前記復号手段及び前記減算手段の動作を介して、予め設定された段数だけ前記位置/極性探索手段及び前記ゲイン量子化手段を動作させる、
    請求項3記載の符号化装置。
  5. 前記制御手段は、
    前記位置/極性探索手段を、前記復号手段及び前記減算手段の動作を介して、予め設定された段数だけ動作させ、最終段の前記位置/極性探索手段の動作の次に前記ゲイン量子化手段を動作させる、
    請求項3記載の符号化装置。
  6. 前記符号化ターゲットは、正規化された符号化ターゲットである、
    請求項3記載の符号化装置。
  7. 前記正規化された符号化ターゲットは、符号化ターゲットを構成するベクトルの次元を用いて正規化された符号化ターゲットである、
    請求項6記載の符号化装置。
  8. 前記正規化された符号化ターゲットは、符号化ターゲットを構成するベクトルの各要素のうち最大の振幅値を用いて正規化された符号化ターゲットである、
    請求項6記載の符号化装置。
  9. 請求項3記載の符号化装置と、前記複数のパルスにより構成される前記音源信号のベクトルを複数格納して前記音源信号を前記符号化装置へ出力する固定符号帳と、を有し、前記第1符号及び前記第2符号を出力する固定符号帳探索手段と、
    入力音声信号を用いて前記合成フィルタの前記フィルタ係数を算出し、前記フィルタ係数に対応する第3符号を出力するフィルタ生成手段と、
    過去の音源ベクトルを格納する適応符号帳を有し、前記音源ベクトルから、前記入力音声信号と前記フィルタ係数とを用いて適応音源ベクトルを探索し、前記適応符号ベクトルに対応する第4符号を出力する適応符号帳探索手段と、
    前記入力音声信号、前記フィルタ係数、前記適応音源ベクトル、を用いて固定符号帳探索に用いる前記符号化ターゲットを生成する固定符号帳探索ターゲット生成手段と、
    前記入力音声信号、前記フィルタ係数、前記適応音源ベクトル、及び前記復号音源ベクトル、を用いて適応音源ゲイン及び固定音源ゲインを探索し、探索された前記適応音源ゲイン及び前記固定音源ゲインに対応する第5符号を出力するゲイン探索手段と、
    前記適応音源ベクトル、前記復号音源ベクトル、前記適応音源ゲイン、及び前記固定音源ゲインを用いて復号音源を生成して前記適応符号帳へ出力し、前記復号音源を新たな過去の音源ベクトルとして前記適応符号帳を更新する復号音源生成手段と、
    を具備するCELP符号化装置。
JP2011208096A 2011-09-22 2011-09-22 符号化方法及び符号化装置 Withdrawn JP2013068847A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011208096A JP2013068847A (ja) 2011-09-22 2011-09-22 符号化方法及び符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011208096A JP2013068847A (ja) 2011-09-22 2011-09-22 符号化方法及び符号化装置

Publications (1)

Publication Number Publication Date
JP2013068847A true JP2013068847A (ja) 2013-04-18

Family

ID=48474580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011208096A Withdrawn JP2013068847A (ja) 2011-09-22 2011-09-22 符号化方法及び符号化装置

Country Status (1)

Country Link
JP (1) JP2013068847A (ja)

Similar Documents

Publication Publication Date Title
JP5241701B2 (ja) 符号化装置および符号化方法
JPWO2008047795A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
WO2009090875A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
JP5687706B2 (ja) 量子化装置及び量子化方法
JP6644848B2 (ja) ベクトル量子化装置、音声符号化装置、ベクトル量子化方法、及び音声符号化方法
US8620648B2 (en) Audio encoding device and audio encoding method
US20100049508A1 (en) Audio encoding device and audio encoding method
EP2051244A1 (en) Audio encoding device and audio encoding method
WO2008001866A1 (fr) dispositif de codage vocal et procédé de codage vocal
JP2013068847A (ja) 符号化方法及び符号化装置
US9230553B2 (en) Fixed codebook searching by closed-loop search using multiplexed loop
RU2458413C2 (ru) Устройство кодирования аудио и способ кодирования аудио
JP2013101212A (ja) ピッチ分析装置、音声符号化装置、ピッチ分析方法および音声符号化方法
JP2013055417A (ja) 量子化装置及び量子化方法
TW201329960A (zh) 量化裝置及量化方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202