(57)【要約】【課題】エントロピー符号を用いて、オーディオ信号等の大容量の信号を一層効率的に圧縮可能な方法を提供すること。【解決手段】原オーディオ信号がサンプリング処理部１００でサンプリングされてフレームとして出力される場合、フレーム先頭のサンプリング信号が出力される場合には、スイッチ２５０がａ側に接続され先頭サンプリング信号の符号化が行われずそのままバッファ３００に蓄積される。一方、２番目以降のサンプリング信号がサンプリング処理部１００から出力される場合には、スイッチ２５０がｂ側に接続される。そして、各サンプリングデータに対して、線形予測符号化部１５０の線形予測結果から残差信号が出力されて、ハフマン符号化処理部２００によってこの出力された残差信号に対して符号化が行われたものがバッファ３００に蓄積される。【選択図】  図１  
2005283692.tif 000002
【特許請求の範囲】
【請求項１】
入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してエントロピー符号を用いて圧縮データを生成する方法において、
フレーム毎の圧縮データを生成する際に、各フレームの先頭のサンプル値は圧縮の対象とせずにそのまま出力する、ことを特徴とするオーディオ信号圧縮方法。
【請求項２】
入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎にエントロピー符号を用いて圧縮データを生成する方法において、
フレーム内の最大振幅を求め、振幅確率密度関数の定義域を正負の最大振幅内に限定しその外側の頻度を０として振幅−頻度表（ヒストグラム）を求め、この求めた振幅の出現頻度を参照してそのフレームにおけるエントロピー符号を生成する処理を、フレーム毎に繰り返して実行する、ことを特徴とするオーディオ信号圧縮方法。
【請求項３】
入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してエントロピー符号を用いて圧縮データを生成する方法において、
前記残差信号のフレーム内の最大振幅を求め、
前記残差信号の振幅ｘの発生頻度がｅｘｐ（−ｂｘ）（ｅｘｐ（  ）は或る実数の指数関数、ｅｘｐ（  ）内のｘは残差信号値の絶対値）なる指数関数で分布すると仮定した場合のｂを、前記求めたフレーム内最大振幅に基づいて推定し、
この指数関数を用いて横軸が残差信号値の絶対値で縦軸が頻度のヒストグラムを生成し、
この生成したヒストグラムを参照してエントロピー符号を生成する処理を、フレーム毎に繰り返して実行する、ことを特徴とするオーディオ信号圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号や楽音信号等のオーディオ信号を圧縮するための技術に関する。
【背景技術】
【０００２】
データの出現確率に応じて符号長を変更し、結果として符号化データが収まる容量を節約した符号をエントロピー符号と称し、このエントロピー符号化の代表的な手法として、ハフマン符号による符号化が提案されている。そして、このハフマン符号を利用したデータ圧縮装置が多数提案されてきた。例えば、符号化部で符号化された入力音声信号を、ハフマン符号化処理部が所定のブロック毎にハフマン符号化処理によって圧縮化音声符号ブロックに変換し、これを音声データ記録部に蓄積する音声蓄積装置が提案されていた（例えば、特許文献１参照。）。このハフマン符号化処理では、データに出現する情報に符号を割り当てる際に、「出現率」の高いものにはなるべく短い符号を、逆に「出現率」の低いものには長い符号を割り当てる、可変長の符号化を行う。例えば「ＡＡＡＢＣＡＡＡＢＤ」なる一連のデータにおける各文字の出現頻度は、「Ａ：６回（頻度）、Ｂ：６回、Ｃ：１回、Ｄ１回」であり、ハフマン符号化処理においては、出現頻度の低い文字からビットを割り当てる、即ち、出現頻度の低い２つを探し出して０と１のビットを割り当てて行く。まず、最初にＣとＤの夫々に０と１を割り当てると、「Ａ：６回、Ｂ：２回、Ｃ：１回→０、Ｄ：１回→１」となり、次に、ＣとＤの出現頻度は合わせて２回であるので、ＣとＤは出現回数「２」の「ＣＤ」というかたまりとして扱う。次に出現回数が低いのは「Ｂ」と「ＣＤ」であるので、「Ｂ」に０、「ＣＤ」に１を割り当てる。この結果、「Ａ：６回、Ｂ：２回→０、Ｃ：１回→１０、Ｄ：１回→１１」となり、ここで、「ＢＣＤ」を１つのかたまりとしてその出現回数「４回」と考え直して、最後に、「Ａ」に０、「ＢＣＤ」に１を割り当てる。かくして、「Ａ：６回→０、Ｂ：２回→１、Ｃ：１回→１１０、Ｄ：１回→１１１」となりハフマン符号化処理が施される。文字列「ＡＡＡＢＣＡＡＡＢＤ」をビット列に変換すると、「０００１０１１００００１０１１１」の１６ビットとなり、ハフマン符号化処理を施さない場合（２０ビット：１文字２ビット）よりも文字列長が４ビットも短くなる。このようにハフマン符号を生成する前には、各シンボルの出現頻度を予め知っておく必要がある。
【０００３】
【特許文献１】特開平７−１２１１９８号公報（第２−３頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以上のようにして、ハフマン符号化処理を実行することによってデータ圧縮を行うことができるが、オンラインで入力サンプル値から符号表を構成する場合、音声信号や楽音信号等のオーディオ信号等の大容量の信号を圧縮する際には、符号表自体が大規模になって圧縮率を劣化させてしまうため、符号表を記録伝送しない工夫がなされてきた。符号表を固定のものの中から選択するだけにしたり、適応的に符号表が変化していく適応符号化などである。しかし、固定符号表による方式は入力信号の特性を無視した固定的な符号化であるため圧縮率が悪い場合があり、適応符号化はパケット欠落に弱いという問題があった。
【０００５】
そこで、本発明は、このような従来の課題を解決するためになされたものであり、ハフマン符号等のエントロピー符号化処理を用いて、オーディオ信号等の大容量の信号を一層効率的に圧縮可能な方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の態様は、入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してエントロピー符号を用いて圧縮データを生成する方法において、
フレーム毎の圧縮データを生成する際に、各フレームの先頭のサンプル値は圧縮の対象とせずにそのまま出力する、ことを特徴とする。
【０００７】
また、本発明の第２の態様は、入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎にエントロピー符号を用いて圧縮データを生成する方法において、
フレーム内の最大振幅を求め、振幅確率密度関数の定義域を正負の最大振幅内に限定しその外側の頻度を０として振幅−頻度表（ヒストグラム）を求め、この求めた振幅の出現頻度を参照してそのフレームにおけるエントロピー符号を生成する処理を、フレーム毎に繰り返して実行することを特徴とする。さらに、本発明の第３の態様は、入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個のサンプル値を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してエントロピー符号を用いて圧縮データを生成する方法において、
前記残差信号のフレーム内の最大振幅を求め、
前記残差信号の振幅ｘの発生頻度がｅｘｐ（−ｂｘ）（ｅｘｐ（  ）は或る実数の指数関数、ｅｘｐ（  ）内のｘは残差信号値の絶対値）なる指数関数で分布すると仮定した場合のｂを、前記求めたフレーム内最大振幅に基づいて推定し、
この指数関数を用いて横軸が残差信号値の絶対値で縦軸が頻度のヒストグラムを生成し、
この生成したヒストグラムを参照してエントロピー符号を生成する処理を、フレーム毎に繰り返して実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、エントロピー符号を用いてオーディオ信号等の大容量の信号をオンラインで圧縮する際に、一層効率的に圧縮可能な方法を実現することが可能になるという効果が得られる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面を参照しつつ説明する。
【００１０】
（構成）
図１はオーディオ信号圧縮装置１の構成図である。このオーディオ信号圧縮装置１は、サンプリング処理部１００と、線形予測符号化部１５０と、ハフマン符号化処理部２００と、スイッチ２５０と、バッファ３００とを有して構成されている。
【００１１】
先ず、各部の機能を説明する。サンプリング処理部１００は、設定されたサンプリングレートで原オーディオ信号をサンプリングしてデジタル信号列として出力する。そして、サンプリング処理部１００は、１０２４個のサンプリングデータからなるサンプリングデータ列を１フレームとして出力する。なお、１フレームのサンプル数はこの例に限られない。
【００１２】
線形予測符号化部１５０は、現在の予測値Ｓｐｒ（ｎ）を過去のｐ個のサンプリング信号（Ｓ（ｎ−１）、…、Ｓ（ｎ−ｐ））の夫々に重み係数（ａ１、ａ２…、ａｐ）を掛けて加え合わせたもので近似し（即ちＳｐｒ（ｎ）＝ａ１・Ｓ（ｎ−１）＋ａ２・Ｓ（ｎ−２）＋…＋ａｐ・Ｓ（ｎ−ｐ）と近似する）、これと実際のサンプリング信号Ｓ（ｎ）との差を残差信号として出力するものである。なお、このような線形予測符号化自体は公知のアルゴリズムで実現でき、各重み係数は例えば残差信号の２乗和が最小になるように連立方程式を解く事によって求まり、その高速解法としてレビンソン・ダービン法も知られている。
【００１３】
ハフマン符号化処理部２００は、信号に出現する情報に符号を割り当てる際に、「出現率」の高いものにはなるべく短い符号を、逆に「出現率」の低いものには長い符号を割り当てる可変長の符号化を行う。従来技術で説明したように、各情報の出現頻度を求め、各情報に対してこの出現頻度に応じた長さの符号化を行うという公知のアルゴリズムで実現可能であり、ハフマン符号化処理部２００は、ハフマン符号を生成する前には、各振幅値の出現頻度を予め推定しておく必要がある。
【００１４】
スイッチ２５０は、各フレームの最初のサンプリング信号に対してはａ側にスイッチを接続してこのサンプリング信号の符号化が行われずにそのままバッファ３００に蓄積される一方、２番目から１０２４番目（一般には、フレーム末尾まで又はバッファ３００が溢れる直前まで）のサンプリング信号に対しては、ｂ側にスイッチを接続して、これらのサンプリング信号に対して符号化が行われた信号（線形予測符号化部１５０、ハフマン符号化処理部２００で処理が施された信号）がバッファ３００に順次蓄積されるように構成されている。
【００１５】
（動作）
原オーディオ信号がサンプリング処理部１００でサンプリングされてフレームとして出力される場合、フレーム先頭、つまり各フレームの１番目のサンプリング信号が出力される時には、スイッチ２５０がａ側に接続され先頭サンプリング信号の符号化が行われずそのままバッファ３００に蓄積される。一方、２番目から１０２４番目のサンプリング信号がサンプリング処理部１００から出力される場合には、スイッチ２５０がｂ側に接続される。そして、２番目から１０２４番目までの各サンプリングデータに対して、線形予測符号化部１５０の線形予測結果から残差信号が出力されて、ハフマン符号化処理部２００によってこの出力された残差信号に対して符号化が行われたものがバッファ３００に蓄積される。このような動作がフレーム毎に繰り返して行われ、フレーム毎の圧縮データがバッファ３００に順次蓄積されていくことになる。但しバッファ３００が溢れた場合は、中断したサンプル位置を次のフレーム先頭とする。
【００１６】
そして、図２（ａ）、図２（ｂ）に示すように、線形予測符号化する場合においてフレーム単位に切った場合に、フレームの繋ぎ目、つまり、各フレームの先頭部において非常に大きな残差信号が生じこれをハフマン符号化に含めると符号長が長くなってしまうが、本装置１によれば、先頭サンプル値をハフマン信号に含めないようにすることによって、フレーム間の繋ぎ目での大きな残差信号の符号化への影響を回避していることになる。このように、入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個例えば１０２４個のサンプル値を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してハフマン符号を用いて圧縮データを生成する場合において、フレーム毎の圧縮データを生成する際に、各フレームの先頭のサンプリング信号に対しては圧縮データを生成せずにそのまま出力することによって、より圧縮率を向上させた符号化を実現することができる。なお、本明細書中においてハフマン符号化はエントロピー符号化の一例にすぎない。  
【００１７】
（他の形態１）
今、符号付き１６ビット「振幅：−３２７６８〜＋３２７６７」のサンプリング信号を想定し、オーディオ信号の振幅の出現頻度を図３（ａ）のように指数分布と仮定すると、全部の振幅値に対してハフマン符号を生成すると、図３（ｂ）に示すように振幅が最大付近の符号長が増大する。とり得る全部の振幅値に対して符号割り当てを行う場合は、符号化されることの無い大振幅値に対する無駄な符号までも割り当てておく必要があるが、或るフレームにおいて、その振幅値が図３（ａ）に示すように「±ＭＡＸ（実際の最大振幅）」の範囲内に限定される場合、即ち、図３（ａ）の符号Ａで示した斜線部に限定される場合、実際に必要な符号は図３（ｂ）の符号Ｂで示した斜線部のみとすることができ、斜線部の外側の生じることのない大振幅値に対する符号割り当てを事前に回避することができ、効率的な符号化が可能となる。例えば、ピアノ音のように振幅変化が大きい楽音信号をフレーム毎に符号化する場合にはこの無駄な符号化が顕著となる。このような場合、ハフマン符号化処理において、全部の振幅値に対して符号化するのではなく、予め作成してある振幅−頻度ヒストグラムにおいて、ＭＡＸ（実際の最大値）〜―ＭＡＸ（実際の最小値）の値のみに限定した出現頻度によりハフマン符号を構成する。
【００１８】
図４はこのような圧縮処理を行うオーディオ信号圧縮装置２の構成図であり、サンプリング処理部１００、バッファ３００は図１の装置１におけるものと同じものである。ハフマン符号化処理部２１０は、フレーム毎にハフマン符号を用いて圧縮データを生成するが、その生成において、フレーム内の最大振幅を求め、振幅−頻度推定のために予め作成してある振幅−頻度ヒストグラムにおけるこの求めた最大振幅を限度とした（ＭＡＸ〜−ＭＡＸまでを限度とした）振幅の出現頻度を求め（つまり、最大振幅ＭＡＸから最小振幅−ＭＡＸ以外の振幅の頻度を０としてこれ以内の振幅の頻度はヒストグラムを参照して求める）、この求めた振幅の出現頻度を参照してそのフレームにおけるエントロピー符号を生成する処理を、フレーム毎に繰り返して実行する。かくして、符号表をダイナミックに再構成することによって一層圧縮率が向上する。なお、振幅−頻度推定のために予め作成する振幅−頻度ヒストグラムは指数分布等のようにモデル化された分布により作成される。
【００１９】
（他の形態２）
図６はオーディオ信号圧縮装置３の構成図であり、サンプリング処理部１００、線形予測符号化部１５０およびバッファ３００は図１の装置１と同じものである。図６を参照してこの装置３のハフマン符号化部２２０の動作を参照して説明する。図６の動作はフレーム毎に繰り返して実行される。また、「ｅｘｐ（  ）」を自然対数の底の指数関数、「ｅｘｐ（  ）」内のｘを残差信号値の絶対値として、残差信号の振幅ｘの発生頻度が「ｅｘｐ（−ｂｘ）」で分布すると仮定する。
【００２０】
先ず、線形予測符号化部１５０から出力される残差信号の最大値に基づいてそのフレーム内の最大振幅ＭＡＸを求める（ステップＳ６００）。次いで、ステップＳ６０５において、フレーム内の最大値ＭＡＸから「ｂ」を推定する。この「ｂ」はそのフレームに対する最短のハフマン符号を出すと期待される推定最適値である。最大値ＭＡＸと「ｂ」との関係は統計的に予め求められており、例えば、ＭＡＸの２次の多項式「ｂ＝ｋ１・ＭＡＸ・ＭＡＸ＋ｋ２・ＭＡＸ＋ｋ３（ｋ１、ｋ２、ｋ３は統計的に求めておいた係数）」でｂが求められる。なお、この近似式は２次多項式以外の式であっても良い。
【００２１】
したがって、残差信号ｘの発生頻度「ｅｘｐ（−ｂｘ）」において、その指数関数の特性を定めるｂの値も推定できるので、この指数関数を用いて横軸「残差信号の振幅」、縦軸「頻度」となるヒストグラムを生成する（ステップＳ６１０）。より具体的にはｘを変化させてその指数関数値を頻度として求める。そして、ステップＳ６１５において、このヒストグラムを参照して、ハフマン符号を構成する。
【００２２】
このように、入力された原オーディオ信号を所定サンプリングレートでサンプリングし、所定数個例えば１０２４個のサンプリング信号を１フレームとし、フレーム毎に線形予測符号化を行い、得られた残差信号に対してエントロピー符号を用いて圧縮データを生成する方法において、ハフマン符号化処理部２２０は、残差信号のフレーム内の最大振幅を求め、残差信号の振幅ｘの発生頻度がｅｘｐ（−ｂｘ）なる指数関数で分布すると仮定した場合のｂを、求めたフレーム内最大振幅に基づいて求め、この指数関数を用いて横軸が残差信号で縦軸が頻度のヒストグラムを生成し、この生成したヒストグラムを参照してエントロピー符号を生成する処理を、フレーム毎に繰り返して実行する。かくして、符号表をダイナミックに再構成することによってこの装置３においても圧縮率を向上することが可能になる。
【００２３】
なお、各装置において圧縮蓄積された信号は、対応する符号化表を参照して伸長することができることは言うまでもない。また、圧縮装置（エンコード側）と伸長装置（デコード側）とが伝送線等で接続されて分離していても良く、このような構成にあっては、例えば装置３の場合、エンコード側がデコード側にハフマン符号と「ｂ」を送信することで伸長処理が可能となり、符号表自体の送信は不要となる。さらに、サンプル値の個数はフレーム毎に可変となっても本発明を適用できる。
【産業上の利用可能性】
【００２４】
以上説明してきたように、本発明は、エントロピー符号、特にハフマン符号化処理を用いて、オーディオ信号等の大容量の信号を一層効率的に圧縮可能な方法を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】オーディオ信号圧縮装置１の構成図である。
【図２】動作の説明図である。
【図３】動作の説明図である。
【図４】オーディオ信号圧縮装置２の構成図である。
【図５】オーディオ信号圧縮装置３説明図である。
【図６】ハフマン符号化処理部２２０の動作の説明図である。
【符号の説明】
【００２６】
１  オーディオ信号圧縮装置
２  オーディオ信号圧縮装置
３  オーディオ信号圧縮装置
１００  サンプリング処理部
１５０  線形予測符号化部
２００  ハフマン符号化処理部
２１０  ハフマン符号化処理部
２２０  ハフマン符号化処理部
２５０  スイッチ
３００  バッファ
【図１】
2005283692.tif 000003
【図２】
2005283692.tif 000004
【図３】
2005283692.tif 000005
【図４】
2005283692.tif 000006
【図５】
2005283692.tif 000007
【図６】
2005283692.tif 000008