(57)【特許請求の範囲】
【請求項１】
整数値系列の符号化方法であって、
[１]整数（以下、規定整数という。）に対応する符号、並びに、[２]規定整数以外の複数の整数の組に対応する符号（以下、拡張符号という。）を記録した符号テーブルであって、上記規定整数に対応する符号の最大符号長よりも上記拡張符号の符号長が短い符号テーブルを含む複数個の符号テーブルが予め決められており、
上記整数値系列中の符号化対象となる整数値が規定整数に該当する場合には、当該規定整数に対応する符号を符号化結果とし、上記整数値系列中の符号化対象となる整数値が規定整数に該当しない場合には、上記拡張符号と、上記拡張符号に対応するあらかじめ定めておいた符号化方法を上記符号化対象となる整数値に対して適用して得られる符号とを連結した符号を符号化結果とする、符号化を行う符号化ステップを含み、
上記符号化ステップでは、上記複数の符号テーブルのうち、所定個数の整数値をまとめたフレームごとに総符号量が最小となる符号テーブルを選択し、選択された符号テーブルを特定する符号も符号化結果として出力する
ことを特徴とする符号化方法。
【請求項２】
整数値系列の符号化装置であって、
[１]整数（以下、規定整数という。）に対応する符号、並びに、[２]規定整数以外の複数の整数の組に対応する符号（以下、拡張符号という。）を記録した符号テーブルであって、上記規定整数に対応する符号の最大符号長よりも上記拡張符号の符号長が短い符号テーブルを含む複数個の符号テーブルが予め決められており、
上記整数値系列中の符号化対象となる整数値が規定整数に該当する場合には、当該規定整数に対応する符号を符号化結果とし、上記整数値系列中の符号化対象となる整数値が規定整数に該当しない場合には、上記拡張符号と、上記拡張符号に対応するあらかじめ定めておいた符号化方法を上記符号化対象となる整数値に対して適用して得られる符号とを連結した符号を符号化結果とする、符号化を行う符号化部を含み、
上記符号化部は、上記複数の符号テーブルのうち、所定個数の整数値をまとめたフレームごとに総符号量が最小となる符号テーブルを選択し、選択された符号テーブルを特定する符号も符号化結果として出力する
ことを特徴とする符号化装置。
【請求項３】
請求項１に記載された符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項４】
請求項１に記載された符号化方法の各ステップをコンピュータに実行させるためのプログラムを記録した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号の符号化技術に関し、より詳しくは、整数値系列の可逆符号化技術に関する。
【背景技術】
【０００２】
音声周波数信号（voice-frequency signals）に対する符号化（encoding）の国際標準として、ＩＴＵ−Ｔ（International Telecommunication Union - Telecommunication Standardization Sector）  Ｇ．７１１が存在する（非特許文献１参照）。ＩＴＵ−Ｔ  Ｇ．７１１は、符号化方式として非線形ＰＣＭ（Non-uniform Pulse Code Modulation）を採用しており、非線形量子化方式としてμ則（μ-law）とＡ則（A-law）の二種類を規定している。以下、「音声周波数信号」を音響信号と呼称する。
【０００３】
また、動画（Visual）と音響（Audio）の符号化の国際標準としてISO/IEC JTC 1/SC 29/WG 11が策定したＭＰＥＧ−４が存在し、その第３部が音響ロスレス符号化技術などを規定している（非特許文献２参照）。
【０００４】
整数に対する符号化方法として、アルファ符号化（unary coding）が知られている（非特許文献３参照）。アルファ符号化は、０以上の整数ｋを、ｋ個の連続する整数Ａとこれに続く１個の整数Ｂで表現する符号化方法である。整数Ｂは整数Ａと異なり、整数Ａが１の場合に整数Ｂは０とされ、整数Ａが０の場合に整数Ｂは１とされる。
【０００５】
例えば、ｋ＝０のアルファ符号化による符号は０（または１）、ｋ＝１のアルファ符号化による符号は１０（または０１）、ｋ＝２のアルファ符号化による符号は１１０（または００１）、ｋ＝３のアルファ符号化による符号は１１１０（または０００１）、ｋ＝４のアルファ符号化による符号は１１１１０（または００００１）、ｋ＝５のアルファ符号化による符号は１１１１１０（または０００００１）となる。
【０００６】
アルファ符号化の特徴として、（１）どんなに大きな整数ｋであっても符号化可能である、（２）符号化・復号の際に、符号化対象である整数ｋと符号とを対応付けたテーブルを使わないので、テーブルを保存するためのメモリを必要としない、（３）整数ｋは、ｋ＋１ビットで符号化される、（４）大きな整数ｋを表現する場合、整数ｋを２進数で表現する場合と比較して多くのビットを必要とする、ということが挙げられる。
【０００７】
エントロピー符号化方法として、ハフマン符号化（Huffman coding）が知られている（非特許文献３参照）。ハフマン符号化は、符号化対象である入力値の出現頻度に応じて可変長符号を割り当てる符号化方法であり、出現頻度がより高い入力値に対してより短い符号を与える。
【０００８】
ハフマン符号化の特徴として、（１）符号化・復号の際に、符号化対象である入力値と符号とを対応付けたテーブルを使用する、（２）テーブルサイズによって符号化できる最大値が決まる（従って、符号化対象である入力値の種類が多ければ大きなテーブルが必要となる）、（３）テーブルサイズが大きい場合に、出現頻度の低い入力値のハフマン符号が、入力値を２進数で表現する符号化と比較して多くのビットを必要とする場合がある、が挙げられる。
【０００９】
整数に対する符号化方法として、ゴロム‐ライス符号化（Golomb-Rice coding）が知られている（非特許文献３参照）。０以上の整数ｔのゴロム‐ライス符号は、所定の整数ｓ（Riceパラメータ）を用いて式（１）で求まる商ｑをアルファ符号化し、式（２）で求まる余りｒをｓビットの二進符号で符号化して、さらに商ｑのアルファ符号と余りｒの二進符号を連結することで得られる。記号└・┘は床関数を表す。
【数１】
0005498598.tif 000002
【００１０】
ゴロム‐ライス符号の特徴として、（１）ゴロム‐ライス符号の符号長は整数ｓに依存する、（２）整数ｔのゴロム‐ライス符号はｑ＋ｓ＋１ビットで表せる、（３）商ｑをアルファ符号化するため、整数ｔが大きくなると整数ｔのゴロム‐ライス符号の符号長は長くなる、（４）入力値が正負の値を取る場合は、入力値を０以上の整数ｔにしてからゴロム‐ライス符号化を行う、が挙げられる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】ITU-T Recommendation G.711, "Pulse Code Modulation (PCM) of voice frequencies," ITU-T, 1993.
【非特許文献２】ISO/IEC 14496-3 AMENDMENT 2: Audio Lossless Coding (ALS), new audio profiles and BSAC extensions, 2005.
【非特許文献３】David Salomon, "Data Compression : The Complete Reference," 3rdedition, Springer-Verlag, ISBN-10: 0-387-40697-2, 2004.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
この明細書に用いる用語は、特に断りの無い限り、ＩＴＵ−Ｔ  Ｇ．７０１（参考文献１）に準拠する。しかし、これは本発明の適用範囲をＩＴＵ−ＴのＧシリーズ勧告が適用される技術分野に限定する意図ではない。この技術分野以外の技術分野、例えば上記非特許文献２に関わる技術分野に本発明を適用する場合には、この明細書に用いる用語を、（もし在れば）当該技術分野の対応する用語に読み替えればよい。
（参考文献１）ITU-T Recommendation G.701, "Vocabulary of Digital Transmission and Multiplexing, and Pulse Code Modulation (PCM) Terms," ITU-T, 1993.
【００１３】
所定の複数のサンプルをまとめたフレーム単位で符号化処理を行う場合に、フレームに含まれるサンプルｘｉ（ｉ＝１，２，・・・，Ｎ）の値の出現頻度分布がLaplace分布に従うならば、ゴロム‐ライス符号は、整数符号の中で最適符号である。これは、サンプルｘｉ（ｉ＝１，２，・・・，Ｎ）の値の出現頻度分布がLaplace分布に従うならば、商ｑの確率分布が（離散的に）１／２，１／４，１／８，１／１６，・・・，１／２ｈ，・・・となりアルファ符号が最適になることによる。
【００１４】
フレームに含まれるサンプルｘｉ（ｉ＝１，２，・・・，Ｎ）の値の出現頻度分布がLaplace分布に従わない場合、もしくは、統計的にサンプル数が十分ではない場合、ゴロム‐ライス符号は必ずしも最適符号にならない。これは、商ｑの確率分布がアルファ符号で最適となる確率分布に従わないため、アルファ符号の符号長が大きくなることによる。
【００１５】
ハフマン符号化は、符号化対象となるサンプル値の統計的な出現頻度に応じて、統計的に学習されたハフマン符号テーブルを用いることで、Laplace分布に限らず任意の出現頻度分布のサンプル値を高能率に符号化することができることが知られている。しかし、符号化対象となる整数値の取りうる範囲が広範にわたる場合には、大きなハフマン符号テーブルを具備する必要があり、ハフマン符号テーブルの記録容量が実施の制約になるという問題がある。
【００１６】
そこで、本発明は、フレームに含まれるサンプルｘｉ（ｉ＝１，２，・・・，Ｎ）の値の出現頻度分布がLaplace分布に従わない場合や統計的にサンプル数が十分ではない場合であっても、フレームの符号長の増加を抑えることのできる符号化に関わる技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の符号化方法は、[１]整数（以下、規定整数という。）に対応する符号、並びに、[２]規定整数以外の複数の整数の組に対応する符号（以下、拡張符号という。）を記録した符号テーブルが複数個、予め決められており、整数値系列中の符号化対象となる整数値が規定整数に該当する場合には、当該規定整数に対応する符号を符号化結果とし、整数値系列中の符号化対象となる整数値が規定整数に該当しない場合には、拡張符号と、拡張符号に対応するあらかじめ定めておいた符号化方法を符号化対象となる整数値に対して適用して得られる符号とを連結した符号を符号化結果とする、符号化を行う符号化ステップを含み、符号化ステップでは、複数の符号テーブルのうち、所定個数の整数値をまとめたフレームごとに総符号量が最小となる符号テーブルを選択し、選択された符号テーブルを特定する符号も符号化結果として出力することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、限定されたサイズの符号テーブルで広い範囲の入力を扱って高能率に符号化することができる。
また、本発明によれば、所定数のサンプルごとにフレームとして、複数の異なる出現頻度分布に対応した複数の符号テーブルの中から最適なものをフレームごとに選択的に用いることで、入力信号を高能率に符号化することができる。
また、本発明によれば、フレームの各サンプルの商がアルファ符号化されないので、フレームに含まれるサンプルｘｉ（ｉ＝１，２，・・・，Ｎ）の出現頻度分布がLaplace分布に従わない場合や統計的にサンプル数が十分ではない場合であっても、各サンプルの符号の符号長ひいてはフレームの符号長の増加を抑えることができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態１に係る符号化装置の機能構成例を示すブロック図。
【図２】実施形態１に係る符号化処理の処理フローを示す図。
【図３】実施形態１に係る復号装置の機能構成例を示すブロック図。
【図４】実施形態１に係る復号処理の処理フローを示す図。
【図５】実施形態２に係る符号化装置の機能構成例を示すブロック図。
【図６】実施形態２に係る符号化処理の処理フローを示す図。
【図７】実施形態２に係る復号装置の機能構成例を示すブロック図。
【図８】実施形態２に係る復号処理の処理フローを示す図。
【図９】実施形態４に係る符号化装置の機能構成例を示すブロック図。
【図１０】商信号の値の分布例を示す図。
【図１１】符号テーブルの例を示す図。
【図１２】分離パラメータＢ＝０の場合に出力される誤差符号の例を示す図。
【図１３】分離パラメータＢ＞０の場合に出力される誤差符号の例を示す図。
【図１４】実施形態４に係る復号装置の機能構成例を示すブロック図。
【図１５】図１１に示したｎ≧８０の符号テーブル０に対応する復号テーブルの例を示す図。
【図１６】実施形態４に係る復号処理の処理フローを示す図。
【図１７】実施形態３に係る符号化装置の機能構成例を示すブロック図。
【図１８】実施形態３に係る符号化処理の処理フローを示す図。
【図１９】実施形態３に係る復号装置の機能構成例を示すブロック図。
【図２０】実施形態３に係る復号処理の処理フローを示す図。
【図２１】符号テーブルの一例（表１）。
【図２２】符号テーブルの一例（表２）。
【図２３】符号テーブルの一例（表３）。
【図２４】符号テーブルの一例（表４）。
【図２５】符号テーブルの一例（表５）。
【図２６】符号テーブルの一例（表６）。
【図２７】符号テーブルの一例（表７）。
【図２８】符号テーブルの一例（表８）。
【発明を実施するための形態】
【００２０】
＜本発明の実施形態１の符号化の概要＞
実施形態１で扱う入力信号は０以上の整数値系列とする。この整数値系列は、例えば、上記非特許文献１の音響ロスレス符号化技術で行っているように、音響信号に線形予測分析を適用して得られる線形予測残差の値を、振幅の絶対値が小さなものが小さな値に割り当てられるように０以上の整数値へ一意の線形写像を行って得られる整数値系列であっても良い。
【００２１】
本発明の実施形態１の符号化は、入力信号が０以上の整数値系列であり、且つ、入力信号の整数値が、特定の範囲の値において比較的出現確率が高いという統計的な性質を有する場合に、高能率に圧縮することができる。
【００２２】
符号化装置は、[１]整数（以下、規定整数という。）とこれに対応する符号との組み合わせ、並びに、[２]規定整数以外の複数の整数による組とこの組に対応する一つの符号（以下、拡張符号という。）との組み合わせを少なくとも１つ、を記録した符号テーブルを具備し、上記入力信号の整数値系列中の符号化対象となる整数値を逐次符号化して符号を出力する。規定整数以外の整数を以下では規定外整数という。
【００２３】
この符号化処理において、上記入力信号の整数値系列中の符号化対象となる整数値が、規定整数に該当する場合には、当該規定整数に対応する符号を上記符号テーブルから選択して符号化結果の符号とし、上記整数値系列中の符号化対象となる整数値が、規定外整数に該当する場合には、上記符号テーブルに記録された上記拡張符号と、あらかじめ定めておいた上記拡張符号に対応する符号化方法を上記規定外整数に対して適用して得られる符号とを連結した符号を符号化結果の符号とする符号化が行われる。
【００２４】
実施形態１の符号化装置６００Ｅの機能的構成例を図１に示す。
符号化装置６００Ｅは、符号テーブル６２２を記憶する記憶部６２０Ｅと、整数値系列を入力として符号テーブル６２２を用いて符号系列を出力する符号化部６１０Ｅとを含む。
符号化処理手順を図２に示す。
まず、未処理の整数値が存在するか否か判定する（ステップＳ６００）。存在しないならば処理を終了する。存在すれば、整数値系列のうち、未処理の整数値の先頭のものをＸとする（ステップＳ６０２）。そして、符号テーブル６２２にＸが規定整数として登録されているか否かを検索する（ステップＳ６０４）。Ｘが規定整数か否か判定する（ステップＳ６０６）。Ｘが規定整数ならば、符号テーブル６２２に登録されている規定整数Ｘに対応する符号を出力する（ステップＳ６０８）。Ｘが規定整数でないならば、拡張符号と拡張符号に対応する符号化方式でＸを符号化した符号を結合して出力する（拡張符号が複数存在する場合には、最も符号量が少なくなるものを用いる）（ステップＳ６１０）。
【００２５】
符号テーブル６２２の一例を表１〜表６に示す。
表１〜表６に示す各符号テーブルでは、記号：の右側の符号が、その左側の規定整数に対応付けられている。規定外整数ｐに対応する符号は、拡張符号と、拡張符号で特定される符号化方法で規定外整数ｐを符号化した結果の符号と、の連結で得られる。記号‖は、符号同士の連結を表す。
【００２６】
拡張符号によって特定される、拡張符号に対応する符号化方式は、符号化装置と復号化装置のそれぞれにおいてあらかじめ決定しておく。なお、可逆符号化を行うためには、符号化装置と復号化装置とで同一の符号化方式を用いる必要があるため、拡張符号に対応する符号化方式は、符号化装置と復号化装置との間で一意に決定しておく。以下、表１〜表６の例では、簡便のために、Ｕはアルファ符号化を、Ｒはゴロム‐ライス符号化を、Ｆは固定長符号化を表す記号として用い、それらの符号化方法で数値kを符号化して得られた符号をcode(U,k)、code(R,s,k)、code(F,g,k)等であらわすこととする。
【００２７】
表１の例（図２１参照）では、１種類の拡張符号が規定されており１１１１である。拡張符号１１１１に対応した符号化方式はアルファ符号code(U,p-4)であり、あらかじめ符号化装置と復号化装置の間で一意に決定しておく。
code(U,p-4)は、符号化対象となる整数値が規定外整数ｐであるとき、整数ｐから４を引いたｐ−４をアルファ符号化して得られる符号をあらわしている。但し、この例ではｐ≧４である。
入力信号中の符号化対象となる整数値が規定整数に相当する０〜３あれば、表１に登録された０〜３に対応する符号が選択されて出力される。たとえば、規定整数である整数値３の符号は１１１０となる。
また、規定外整数ｐ＝６の符号は拡張符号１１１１とｐ−４をアルファ符号化して得られる１１０を連結した１１１１ １１０となる。
【００２８】
表２の例（図２２参照）では、２種類の拡張符号が規定されており１１１１０および１１１１１である。拡張符号１１１１０に対応した符号化方式はアルファ符号で、拡張符号１１１１１に対応した符号化方式は固定長符号とライス符号との連結である。拡張符号と対応する符号化方式の組み合わせは、あらかじめ符号化装置と復号化装置の間で一意に決定しておく。
この例のcode(U,p-4)は、拡張符号１１１１０に対応する符号化方式が出力する符号で、符号化対象となる整数値が規定外整数ｐであるとき、整数ｐから４を引いたｐ−４をアルファ符号化して得られる符号をあらわしている。code(F,g,s-1)‖code(R,s,p-4)は、拡張符号１１１１０に対応する符号化方式が出力する符号であり、符号化対象となる整数値が規定外整数ｐであるとき、Riceパラメータｓのgビットの固定長符号code(F,g,s-1)と、Riceパラメータｓのゴロム・ライス符号化によって得られる整数ｐ−４の符号code(R,s,p-4)を連結した符号を表す。但し、ｐ≧４である。採りえるｓの値の個数Ｗについてｇ＝┌log2Ｗ┐である。また、code(R,s,p-4)は、p-4の二進表現の下位sビットを出力した後に、(p-4)/(2^s)の商をアルファ符号で出力するものとする。この順序は符号化処理部と、復号処理部の間であらかじめ一意に決めておいたものを用いる。
例えばRiceパラメータｓが１≦ｓ≦４と設定されている場合、g＝２であり、規定外整数ｐ＝１２の符号は
１１１１０ １１１１１１１１０または
１１１１１ ００ ０１１１１０（ｓ＝１；２ビット符号００）または
１１１１１ ０１ ００１１０（ｓ＝２；２ビット符号０１）または
１１１１１ １０ ０００１０（ｓ＝３；２ビット符号１０）または
１１１１１ １１ １００００（ｓ＝４；２ビット符号１１）となる。
２種類以上の拡張符号が規定されている場合には、少なくとも２つの符号が得られるから、規定外整数の符号は、得られた符号のうち最小の符号長を持つものとする（上記の例では、ｓ＝２，３，４のいずれでも符号長は同じになるので、いずれでもよい。たとえば最初のエントリーのｓ＝２を用いる。）
【００２９】
表３の例（図２３参照）では、４種類の拡張符号が規定されており１１１１００、１１１１０１、１１１１１０、１１１１１１である。code(U,p-4)は、アルファ符号化によって得られる整数ｐ−４の符号を表す。code(F,g,s-3)は、Riceパラメータｓのgビットの固定長符号を表す。採りえるｓの値の個数Ｗについてg＝┌log2Ｗ┐である。code(R,s,p-4)はRiceパラメータsのゴロム‐ライス符号化によって得られる整数ｐ−４の符号を表す。但し、ｐ≧４である。拡張符号が１１１１０１の場合はRiceパラメータｓが１、拡張符号が１１１１１０の場合はRiceパラメータｓが２に固定されている。
この例では、拡張符号が１１１１１１の場合には、Riceパラメータｓは３≦ｓ≦６の４通りの値をとり、s-３をg＝２ビットの固定長符号code(F,g,s-3)であらわし、固定長符号code(F,g,s-3)とRiceパラメータsを用いたゴロム・ライス符号によりｐ−４を符号化した符号code(R,s,p-4)と連結する。
たとえばｐ＝１２の符号は
１１１１００ １１１１１１１１０または
１１１１０１ ０１１１１０（ｓ＝１）または
１１１１１０ ００１１０（ｓ＝２）または
１１１１１１ ００ ０００１０（ｓ＝３；２ビット符号００）または
１１１１１１ ０１ １００００（ｓ＝４；２ビット符号０１）または
１１１１１１ １０ ００１０００（ｓ＝５；２ビット符号１０）または
１１１１１１ １１ ０００１０００（ｓ＝６；２ビット符号１１）となる。
２種類以上の拡張符号が規定されている場合には、少なくとも２つの符号が得られるから、規定外整数の符号は、得られた符号のうち最小の符号長を持つものとする。
【００３０】
表４の例（図２４参照）では、２種類の拡張符号が規定されており１１１１０、１１１１１である。code(U,p-4:4≦p≦6)はアルファ符号化によって得られる整数ｐ−４（但し、４≦ｐ≦６）の符号を表す。code(U,p-12:15≦p)はアルファ符号化によって得られる整数ｐ−１２（但し、１５≦ｐ）の符号を表す。code(F,h,p-7:7≦p≦14)は、固定長符号化によって得られる整数ｐ−７のhビット符号を表す。採りえるｐの値の個数Ｑについてｈ＝┌log2Ｑ┐である。ｐが7≦p≦14を満たす整数である場合、ｈ＝３である。表４の例は、小さい整数ほどその出現頻度（出現確率）が高い場合に、これらの整数にできるだけ短い符号を割り当てるように工夫したものであり、表１の例の符号テーブルを改良したものに相当する。例えばｐ（４≦ｐ≦１９）の符号は
１１１１０ ０（ｐ＝４）、
１１１１０ １０（ｐ＝５）、
１１１１０ １１０（ｐ＝６）、
１１１１１ ０００（ｐ＝７）、
１１１１１ ００１（ｐ＝８）、
１１１１１ ０１０（ｐ＝９）、
１１１１１ ０１１（ｐ＝１０）、
１１１１１ １００（ｐ＝１１）、
１１１１１ １０１（ｐ＝１２）、
１１１１１ １１０（ｐ＝１３）、
１１１１１ １１１（ｐ＝１４）、
１１１１０ １１１０（ｐ＝１５）、
１１１１０ １１１１０（ｐ＝１６）、
１１１１０ １１１１１０（ｐ＝１７）、
１１１１０ １１１１１１０（ｐ＝１８）、
１１１１０ １１１１１１１０（ｐ＝１９）である。
【００３１】
表５の例（図２５参照）では、３種類の拡張符号が規定されており１１１１０１、１１１１１０、１１１１１１である。code(U,p-5)はアルファ符号化によって得られる整数ｐ−５の符号を表す。code(F,3,p-5)は固定長符号化によって得られる整数ｐ−５の３ビット符号を表す。code(F,4,p-5)は固定長符号化によって得られる整数ｐ−５の４ビット符号を表す。但し、ｐ≧５である。
【００３２】
表６の例（図２６参照）では、２種類の拡張符号が規定されており１１１０、１１０である。code(U,p-3:p=3)はアルファ符号化によって得られる整数ｐ−３の符号０を表す。code(U,p-4:5≦p)はアルファ符号化によって得られる整数ｐ−４（但し、５≦ｐ）の符号を表す。code(F,3,p-4:5≦p)は、固定長符号化によって得られる整数ｐ−４（但し、５≦ｐ）の３ビット符号を表す。表１〜表５の例では、規定外整数ｐの符号が規定整数の符号の符号長よりも長い符号長を持つものであったが、この表６の例のように、規定外整数ｐの符号の符号長が規定整数の符号の符号長と同じか短くなるように規定外整数ｐの符号を割り当てることもできる。規定整数の出現頻度と比較して、規定外整数の出現頻度が相対的に高い場合に、規定外整数に対応する拡張符号長が短い符号テーブルを用いる。このように、符号テーブルは、あらかじめ統計的な出現頻度の期待値を計測して設計する。
【００３３】
＜本発明の実施形態１の復号化の概要＞
本発明の実施形態１の復号化では、実施形態１の符号化により生成された符号系列を入力とし、元の整数値系列を得る。
符号系列中の符号は元の整数値に対応した可変長符号化により符号化されており、先頭から逐次復号することによって元の整数系列を得る。
【００３４】
実施形態１の復号装置６５０Ｄの機能的構成例を図３に示す。
復号装置６５０Ｄは、符号テーブル６２２を記憶する記憶部６７０Ｄと、符号系列を入力として符号テーブル６２２を用いて整数値系列を出力する復号部６６０Ｄを含む。
復号処理手順を図４に示す。
まず、未処理の符号が存在するか否か判定する（ステップＳ６５０）。存在しないならば処理を終了する。存在すれば、符号系列のうち、未処理の符号の先頭のビットを処理開始点とする（ステップＳ６５２）。そして、符号テーブル６２２に登録されている符号のうち、符号系列と一致するものを探索する（ステップＳ６５４）。規定整数に対応する符号であるか否かを判定する（ステップＳ６５６）。規定整数に対応する符号である場合、符号テーブル６２２に登録されている符号に対応する規定整数を整数値Ｘとして出力する（ステップＳ６５８）。規定整数に対応する符号でない場合、拡張符号と拡張符号に対応する符号化方式を判別し、判別された符号化方式で拡張符号に続く符号を復号して得られる整数値Ｘを出力する（ステップＳ６６０）。
【００３５】
つまり、符号系列の先頭のビットから順に、符号テーブルに記録されている規定整数に対応する符号、もしくは、拡張符号と特定できるまで、符号ビットを逐次読み込む。
読み込んだ符号が、規定整数に対応する符号と一致した場合には、当該符号に対応する規定整数を復号された整数値として出力する。
読み込んだ符号が、拡張符号である場合には、拡張符号に対応してあらかじめ一意に定められた符号化方式の符号を、拡張符号に続く符号系列から読み込んで復号し、結果の整数値を出力する。
【００３６】
例えば、表２（図２２参照）を用いて符号化された符号列から、元の整数値系列を復号する場合に、入力符号系列が以下のようであった場合を例にとって説明する。
０１０１１１１０１０１１１１１０１０１１０
ただし、g=2とする。
図４のステップに従えば、未処理の符号を先頭のビットより逐次調べて、表２に記録された符号中の一致する符号を見つける。表２より、上記入力符号系列は以下のように解析される。
０，１０，１１１１０‖１０，１１１１１‖０１‖０１ １０
したがって、復号により得られる整数値系列は、０，１，５，５，９となる。
【００３７】
＜本発明の実施形態２の符号化の概要＞
本発明の実施形態２の符号化装置７００Ｅの機能的構成例を図５に示す。
符号化装置７００Ｅは、複数の符号テーブル７２２を記憶する記憶部７３０Ｅと、整数値系列を入力として所定のサンプル数ごとにまとめたフレームのサンプルを出力するフレーム分割部７１０Ｅと、フレームのサンプルを入力として符号テーブル７２２を用いて符号系列と符号テーブル指定符号を出力する符号化部７２０Ｅを含む。
【００３８】
符号化処理を図６に示す。
まず、未処理のフレームが存在するか否か判定する（ステップＳ７００）。存在しないならば処理を終了する。存在すれば、当該フレームに用いる符号テーブルを選択し符号テーブル指定符号を出力する（ステップＳ７０２）。それぞれの符号テーブルを用いて整数値系列を符号化した場合の符号量を推定し、最も符号量が少なくなる符号テーブルを選択する。また各符号テーブルを用いた場合の符号量を推定して符号テーブルを選択することとしてもよい。次に、選択された符号テーブルを用いて整数値系列の符号化処理を行う（ステップＳ７０４）。フレーム内に未処理の整数値が存在するか否かを判定する（ステップＳ７０６）。フレーム内に未処理の整数値が存在しない場合、ステップＳ７００の処理を行う。フレーム内に未処理の整数値が存在する場合、整数値系列のうち、未処理の整数値の先頭のものをＸとする（ステップＳ７０８）。そして、符号テーブル７２２にＸが規定整数として登録されているか否かを検索する（ステップＳ７１０）。Ｘが規定整数か否か判定する（ステップＳ７１２）。Ｘが規定整数ならば、符号テーブル７２２に登録されている規定整数Ｘに対応する符号を出力する（ステップＳ７１４）。Ｘが規定整数でないならば、拡張符号と拡張符号に対応する符号化方式でＸを符号化した符号を結合して出力する（拡張符号が複数存在する場合には、最も符号量が少なくなるものを用いる）（ステップＳ７１６）。ステップＳ７１４とＳ７１６の後、ステップＳ７０６の処理を行う。
【００３９】
入力される整数値系列中の整数値を、先頭から逐次、あらかじめ定めておいた個数ごとにフレームとしてまとめて処理する点、および、複数の符号テーブルを備え、フレーム単位でフレームの符号量が最も小さくなるように符号テーブルを切り替える点、選択された符号テーブルを特定する符号テーブル指定符号をフレームごとに出力する点が実施形態１と異なる。
【００４０】
＜本発明の実施形態２の復号の概要＞
本発明の実施形態２の復号装置７５０Ｄの機能的構成例を図７に示す。
復号装置７５０Ｄは、複数の符号テーブル７２２を記憶する記憶部７８０Ｄと、符号テーブル指定符号を入力として符号テーブル７２２の選択制御を行う符号テーブル選択制御部７６０Ｄと、符号系列を入力として符号テーブル７２２を用いて整数値系列を出力する復号部７７０Ｄを含む。
【００４１】
復号処理を図８に示す。
まず、未処理の符号が存在するか否か判定する（ステップＳ７５０）。存在しないならば処理を終了する。存在すれば、符号系列から符号テーブル指定符号を読み込み、符号テーブルを選択する（ステップＳ７５２）。そして、フレーム内の整数値の復号が完了したかを判定する（ステップＳ７５４）。完了した場合は、ステップＳ７５０の処理を行う。完了していない場合、符号系列のうち、未処理の符号の先頭のビットを処理開始点とする（ステップＳ７５６）。そして、符号テーブル７２２に登録されている符号のうち、符号系列と一致するものを探索する（ステップＳ７５８）。規定整数に対応する符号であるか否かを判定する（ステップＳ７６０）。規定整数に対応する符号である場合、符号テーブル７２２に登録されている符号に対応する規定整数を整数値Ｘとして出力する（ステップＳ７６２）。規定整数に対応する符号でない場合、拡張符号と拡張符号に対応する符号化方式を判別し、判別された符号化方式で拡張符号に続く符号を復号して得られる整数値Ｘを出力する（ステップＳ７６４）。
【００４２】
実施形態２の復号処理は，フレーム単位で復号処理を行う。
先ず、符号テーブル指定符号を復号し、指定された符号テーブル（もしくは符号テーブルに対応する復号テーブル）を用いて復号する点が実施形態１の復号方法と異なる。
符号系列の先頭のビットから順に、符号テーブルに記録されている規定整数に対応する符号、もしくは、拡張符号と特定できるまで、符号ビットを逐次読み込む。
読み込んだ符号が、規定整数に対応する符号と一致した場合には、当該符号に対応する規定整数を復号された整数値として出力する点は実施形態１の復号方法と同じである。
【００４３】
＜本発明の実施形態３の符号化の概要＞
上記の実施形態１および２を、ゴロム‐ライス符号化に類似の符号化と組み合わせた実施形態を以下に示す。
本実施形態で扱う入力信号は、音響信号に何らかの符号化方式を適用して符号化することで得られた信号とする。但し、入力信号の各サンプルは整数で表されているとする。このような符号化方式として、例えば上記非特許文献１のＩＴＵ−Ｔ  Ｇ．７１１などが挙げられる。また、入力信号は、音響信号に何らかの符号化方式を適用して符号化することで得られた信号（元信号）そのものに限定されず、例えば、元信号に線形予測分析を適用して得られる線形予測残差であってもよい。
【００４４】
符号化装置は、入力信号をフレーム単位で符号化する。まず、符号化装置の分離パラメータ計算部が、１フレームの入力信号から当該フレームの各サンプルに対する分離パラメータＢを求める。分離パラメータＢは様々な方法で決定することができる。たとえば本実施形態３ではゴロム‐ライス符号化のRiceパラメータと類似の方法で決定する。
【００４５】
Riceパラメータｓの算出について説明する。Riceパラメータｓは、１フレームの入力信号の各サンプルをゴロム‐ライス符号化して得られる当該入力信号の符号長（つまり、各サンプルのゴロム‐ライス符号の合計符号長）を最小にするように定められる。なお、入力信号が例えば符号化方式ＩＴＵ−Ｔ  Ｇ．７１１で得られている場合、この入力信号の各サンプルは正負の整数で表される場合がある。このように各サンプルが正負の整数で表される場合には、Riceパラメータｓは、０以上の整数に変換した１フレームの入力信号の各サンプルを符号化して得られる当該入力信号の符号長（つまり、各サンプルのゴロム‐ライス符号の合計符号長）を最小にするように定められる。以下の例では、入力信号の各サンプルが正負の整数で表されているとする。
【００４６】
入力信号に含まれる或るサンプルｘｉ（ｉ＝１，２，・・・，Ｎ；Ｎは１フレームに含まれるサンプル数）について、０以上の整数に変換したこのサンプルｘｉのRiceパラメータｓを用いた商ｑｉは式（３）、式（４）で与えられる。式（３）により商ｑｉを求める場合は、余りを表す符号を、余りを表すｓ−１ビットの二進符号にサンプルｘｉの正負を識別するための１ビットの符号が付加されたｓビットの固定長を持つ符号とする。式（４）により商ｑｉを求める場合は、商ｑｉを表す符号のＬＳＢ（Least Significant Bit）によってサンプルｘｉの正負が識別される。
【数２】
0005498598.tif 000003
【００４７】
或るサンプルｘｉを表す符号の符号長Ｃは式（５）で得られる。ただし、ａは０または１または２である。記号｜・｜は絶対値を表す。式（５）の第１項と第２項の合計は商ｑｉのアルファ符号の符号長を表し、第３項は余りを表す二進符号の符号長を表している。
【数３】
0005498598.tif 000004
【００４８】
従って、０以上の整数に変換された入力信号の符号長、つまり０以上の整数に変換された各サンプルのゴロム‐ライス符号の符号長の合計Ｃ（ｓ，ｘｉ，Ｎ）は式（６）で与えられる。なお、式（６）に現れるＤは式（７）で与えられる。
【数４】
0005498598.tif 000005
【００４９】
Ｃ（ｓ，ｘｉ，Ｎ）を最小にするｓ（以下、ｓ０とする。）は、式（８）をｓについて解くことで得られる。つまりｓ０は、式（９）で与えられる。記号lnは自然対数を表す。所望のRiceパラメータｓは、ｓ＝└ｓ０┘またはｓ＝┌ｓ０┐で得られる。記号┌・┐は天井関数を表す。なお、数値計算を実行することによる処理速度の低下を避けるため、予めＤ、Ｎ、ａとの組み合わせでｓ０を求めておき、Ｄ、Ｎ、ａの組み合わせにｓを対応付けたテーブルを記憶部に記憶しておいてもよい。Ｄ、Ｎ、ａが定まればテーブルを参照することでRiceパラメータｓを決定できるから処理速度の低下を回避できる。テーブルにＤ、Ｎ、ａの組み合わせが無い場合には数値計算でｓ０を求めればよい。
【数５】
0005498598.tif 000006
【００５０】
Ｄ／Ｎがａよりも十分に大きい場合、式（９）は式（１０）に書き改められる。
【数６】
0005498598.tif 000007
【００５１】
フレームのライス符号長Ｃ（ｓ，ｘｉ，Ｎ）の最小値Ｃ（ｘｉ，Ｎ）は式（１１）で与えられる。
【数７】
0005498598.tif 000008
【００５２】
結局、分離パラメータ計算部は、式（９）または式（１０）を用いて１フレームの入力信号からRiceパラメータｓ＝└ｓ０┘またはｓ＝┌ｓ０┐を求めることで、分離パラメータＢを求める。
【００５３】
分離パラメータＢが求まると、符号化装置の商余計算部は、１フレームの入力信号の各サンプルを０以上の整数に変換してその商ｙｉと余りｚｉを求める。商ｙｉの算出は、分離パラメータＢに応じて式（１２）または式（１３）に従う。Ｂ＝０の場合、除数は２０＝１であるため、商ｙｉの算出は、実質的には、サンプルｘｉが０以上であるならば偶数に置換し、サンプルｘｉが負であるならば奇数に置換する処理に相当する。
【数８】
0005498598.tif 000009
【００５４】
余りｚｉは、式（１４）で得られる。Ｂ＝０の場合、余りｚｉは得られない。
【数９】
0005498598.tif 000010
【００５５】
余りｚｉは、Ｂビットの二進符号で表現される。商ｙｉを式（１２）で得る場合、余りｚｉはＢ−１ビットの二進符号で表されるが、サンプルｘｉの正負を識別するための１ビットを付加してＢビットの二進符号としている。例えば、この識別用の１ビットを余りｚｉを表す二進符号のＭＳＢ（Most Significant Bit）とし、サンプルｘｉが０以上であれば１とし、サンプルｘｉが０未満であれば０とする。
【００５６】
符号化装置の商符号化部は、少なくとも一つの符号テーブルを用いて商ｙｉを符号化する。符号テーブルはそれぞれ、（１）整数とこれに対応する符号との組み合わせ、並びに（２）前記組み合わせに規定される整数以外の複数の整数の組とこの組に対応する少なくとも一つの符号（以下、拡張符号という。）との組み合わせを記録したデータベースである。なお、ここで整数は０以上の値を持つ。以下、上記組み合わせに規定される整数を規定整数と云い、規定整数以外の整数を規定外整数と云い、拡張符号に対応する符号化方法を拡張符号化方法と云うことにする。
【００５７】
商符号化部は、符号テーブルを用いて、商ｙが規定整数のいずれかに相当する場合は、その対応する符号を出力し、商ｙが規定外整数に相当する場合は、拡張符号と、拡張符号に対応する予め定められた符号化方法で得られる規定外整数ｐの符号とを連結した符号を出力する。
【００５８】
上記の各表１−６に示した符号テーブルの例において、規定整数および規定整数に対応する符号は例示に過ぎない。これらは、好ましくは、事前に用意された入力信号（学習用入力信号）を用いた学習によって設定される。例えば、学習用入力信号から得られるRiceパラメータｓを用いて０以上の整数に変換された学習用入力信号の各サンプルの商を求め、これら商のハフマン符号を作成する。これら商のうち出現頻度（出現確率）の高いものとそのハフマン符号が規定整数とその符号として採用される。拡張符号は、規定整数の符号とは異なる二進符号であればよく、任意に設定される。拡張符号に対応する符号化方法も任意に設定される。
【００５９】
また、学習に用いるRiceパラメータｓを学習用入力信号から得られるRiceパラメータｓに限定せず、任意に定めた２種類以上のパラメータｓ（好ましくは、学習用入力信号から得られるRiceパラメータｓに近い値とする。）を用いて、パラメータｓごとに、０以上の整数に変換された学習用入力信号の各サンプルの商とこれら商の符号（例えばハフマン符号）を作成することで、１種類の学習用入力信号から複数の符号テーブルを作成してもよい。
【００６０】
学習用入力信号から得られるRiceパラメータｓと学習用入力信号の各サンプルの商の出現頻度（出現確率）は、学習用入力信号の統計的性質に依存するから、学習用入力信号を複数用意し、各学習用入力信号から複数の符号テーブルを作成してもよい。
【００６１】
符号化対象の入力信号の統計的性質が既知である場合には、この統計的性質と同じか良く似た統計的性質を持つ学習用入力信号を用いて、１つの符号テーブルを作成しておくことで足りる。しかし、符号化対象の入力信号の統計的性質が未知である場合や変動することなどが予想される場合には、複数の学習用入力信号から複数の符号テーブルを作成しておくことが望ましい。
【００６２】
入力信号の統計的性質によっては、ｓビットで二進符号化された余りｚのＭＳＢと商ｙのＬＳＢとの間に強い相関関係が認められるような場合がある。このような場合、余りｚのＭＳＢを商ｙに含めて符号化を行うことが良い。そこで、学習用入力信号から求められたRiceパラメータがｓ（ｓ≧１）であるとき、ｓ−１をRiceパラメータと看做して、０以上の整数に変換された学習用入力信号の各サンプルの商ｙと余りｚを求める。これにより、余りｚの符号長はｓ−１ビットに短縮される。一方、商ｙの符号長は二進符号で１ビット増えるものの、例えば商ｙにハフマン符号化を適用することにより、必ずしも商ｙの符号長は増加しない。また、商ｙの値はRiceパラメータがｓの場合と比べて２倍になるから、規定整数の個数も２倍になりえる。このような場合であっても、規定整数に対応する符号の符号長が２倍になる訳ではない。余りｚの符号長を短縮することで節約できた１ビット（０,１）を規定整数に対応する符号に付加することで２倍の個数の規定整数に対応できる。例えば表１の例において規定整数に対応する符号に１ビットを付加することで、表７（図２７参照）に示すように、０から７までの８個の規定整数に対応できる（規定整数７に対応する符号が４ビット×２＝８ビットではなく５ビットである。）。さらに、商ｙの出現頻度（出現確率）によっては、Riceパラメータがｓの場合と比べて２倍の個数の規定整数を規定する必然性はなく、表８の例（図２８参照）のように２倍の個数よりも少ない個数の規定整数を規定することができ、この場合、表１の例と比較して、規定整数に対応する符号の符号長は４ビットで同じであるが、余りｚの符号の符号長が１ビット短くなっている。
【００６３】
＜符号化処理＞
次に、図１７と図１８を参照して、符号化装置１における符号化処理の流れを叙述的に説明する。
【００６４】
［ステップＳｃ１］
符号化装置１のバッファ部３０は、入力信号をバッファして、入力信号をフレーム単位で出力する。
【００６５】
［ステップＳｃ２］
符号化装置１の分離パラメータ計算部１１０は、１フレームの入力信号の各サンプルｘｉ（ｉ＝１，２，・・・，Ｎ）を用いて、式（９）または式（１０）に従いRiceパラメータｓ＝└ｓ０┘またはｓ＝┌ｓ０┐を求める。そして分離パラメータ計算部１１０は、求めたｓまたはｓ−１を分離パラメータＢとして、分離パラメータＢを表す符号を出力する。なお、分離パラメータＢをＢ＝ｓ−１によって得る場合、ｓ＝０のときＢ＝０とする。
【００６６】
ここで、分離パラメータＢを表す符号は、例えばＢの値の存在可能な範囲が０≦Ｂ≦７である場合、一例として、３ビットの符号ないし正整数表現を用いて０から７までの値を表すようにしても良いし、分離パラメータＢの値の出現頻度に応じて、出現確率の高い値ほど短い一意の符号を割り当てるようにしてもよい。
後者の場合には、例えば２と３の出現確率が最も高い場合には以下のようなハフマン符号を符号化装置、復号化装置で共通に用いて符号化と復号化を行うことで、分離パラメータＢの値を一意に解決できる。
B=0: 100
B=1: 101
B=2: 00
B=3: 01
B=4: 110
B=5: 1110
B=6: 11110
B=7: 11111
また、日本国特許出願番号2009-056017（国際出願番号PCT/JP2010/053676）に開示された方法を用いて分離パラメータＢを符号化しても良い。
【００６７】
［ステップＳｃ３］
符号化装置１の商余計算部１２０は、ステップＳｃ２で決定された分離パラメータＢに応じて、０以上の整数に変換した１フレームの入力信号の各サンプルｘｉの商ｙｉと余りｚｉ求める。
商余計算部１２０は、まず、ステップＳｃ２で決定された分離パラメータＢが０と等しいか否かを判定する（ステップＳｃ３−１）。Ｂ＝０である場合には、商余計算部１２０は、０以上の整数に変換した１フレームの入力信号の各サンプルｘｉについて式（１３）に従い商ｙｉを求める（ステップＳｃ３−２）。この場合、余りｚｉは算出されない。Ｂ≧１である場合には、商余計算部１２０は、０以上の整数に変換した１フレームの入力信号の各サンプルｘｉについて、式（１２）に従い商ｙｉを求め、式（１４）に従い余りｚｉを算出する（ステップＳｃ３−３）。余りｚｉは、サンプルｘｉの正負を識別するための１ビットをＭＳＢに付加してＢビットの二進符号で表現される。
【００６８】
［ステップＳｃ４］
符号化装置１の商符号化部１３０は、ステップＳｃ３で得られた商ｙｉを記憶部７０に記憶された符号テーブルを参照して符号化し、この商ｙｉに対応する符号を出力する。この符号は実施形態１と同様の手順で求められる。
【００６９】
商符号化部１３０は、複数の符号テーブルが存在する場合、分離パラメータＢを与えたRiceパラメータｓと同じ値のRiceパラメータを用いて作成された符号テーブルを用いて商ｙｉの符号化を行う。複数の符号テーブルを用いて商ｙｉの符号化を行った場合、得られた複数の符号のうち符号長が最小の符号を商符号化部１３０は出力する。この場合、商符号化部１３０は、出力する符号を得るために用いた符号テーブルを表す符号（符号テーブル特定符号）も出力する。記憶部に記憶された符号テーブルが一つだけの場合は、符号テーブル特定符号を出力する必要は無い。
【００７０】
また、商符号化部１３０は、符号テーブルを用いた上述の符号化の他に、ステップＳｃ３で得られた商ｙｉに対して符号テーブルを用いない符号化を適用して符号を得てもよい。例えば、符号テーブルを用いない符号化方法として、ゴロム符号化、ゴロム‐ライス符号化、アルファ符号化などが例示される。この場合、符号テーブルを用いた符号化で得られた符号と符号テーブルを用いない符号化で得られた符号のうち符号長が最小の符号を商符号化部１３０は出力する。この場合、商符号化部１３０は、符号化方法を特定するための符号（符号化方法特定符号）と、符号化方法が符号テーブルを用いた符号化方法である場合には符号テーブル特定符号も出力する。
【００７１】
合成部５０は、出力された符号や符号テーブル特定符号などを多重化する。つまり、合成部５０は、出力された、１フレームにつき一つ求められた分離パラメータＢを表す符号、１フレームの各サンプルにつき商の符号と余りを表す二進符号を連結したビット列、必要に応じて、１フレームの各サンプルに対応する符号テーブル特定符号、符号化方法特定符号などをフレームごとにまとめて更にフレームの順番に従ってこれらを連結したビットストリームを出力する。ビットストリームは、図１９に示す分離部４０に入力される。分離部４０は、ビットストリームを逆多重化して、符号化装置１から出力されたフレームごとの分離パラメータＢを表す符号、フレームに含まれるサンプルごとの符号、フレームに含まれるサンプルごとの符号テーブル特定符号、符号化方法特定符号などを得る。
【００７２】
＜復号処理＞
次に、図１９と図２０を参照して、本発明の実施形態３の復号装置２における復号処理の流れを叙述的に説明する。
【００７３】
［ステップＳｄ１］
復号装置２の商復号部２１０は、分離部４０から送られたフレームに含まれる各サンプルの商の符号を復号する。この復号処理は、符号テーブル（分離部４０によって符号テーブル特定符号が得られている場合には符号テーブル特定符号で特定される符号テーブルであり、符号テーブル特定符号が得られていない場合には既定の符号テーブルである。）を用いて、商の符号に拡張符号が含まれていなければ当該符号に対応する規定整数を出力し、商の符号に拡張符号が含まれていれば、拡張符号に対応する予め定められた符号化方法に対応する復号方法に従って当該符号から拡張符号を除いた部分を復号して得た整数を出力する処理である。出力された整数は商ｙｉに相当する。
【００７４】
例えば符号テーブルが表１で示したものである場合、商ｙｉの符号が１１０であるならば、この商ｙｉの符号に拡張符号１１１１が含まれていないので、符号１１０に対応する規定整数２を商ｙｉとして出力する。また、商ｙｉの符号が１１１１ １１０であるならば、この商ｙｉの符号に拡張符号１１１１が含まれているので、拡張符号１１１１に対応するアルファ符号化code(U,p-4)の復号方法に従って当該符号１１１１ １１０から拡張符号１１１１を除いた部分１１０を復号して得られる整数２に４を加えた６を商ｙｉとして出力する。ゴロム符号化、ゴロム-ライス符号化、アルファ符号化などに対応する各復号処理は、例えば上記非特許文献３に詳しいので、詳細な説明を略する。
【００７５】
商復号部２１０は、分離部４０によって符号化方法特定符号が得られている場合には、符号化方法特定符号で特定される符号化方法に対応する復号方法で商の符号を復号する。符号化方法特定符号で特定される符号化方法が符号テーブルを用いる符号化方法である場合には、商復号部２１０は上述したような復号処理を行い、符号化方法特定符号で特定される符号化方法が符号テーブルを用いない符号化方法である場合には、商復号部２１０は符号化方法特定符号で特定される例えばゴロム符号化、ゴロム-ライス符号化、アルファ符号化などの符号化方法に対応する復号方法で商の符号を復号する。
【００７６】
［ステップＳｄ２］
復号装置２の判定部２２０は、分離部４０から送られた分離パラメータＢを表す符号から、分離パラメータＢが０に等しいか１以上であるかを判定する。Ｂ＝０である場合、判定部２２０は、分離部４０から送られたフレームに含まれる各サンプルの商の符号を第１復号部２３０へ送る制御を行う。Ｂ≧１である場合、判定部２２０は、分離部４０から送られたフレームに含まれる各サンプルの商の符号を第２復号部２４０へ送る制御を行う。
【００７７】
［ステップＳｄ３］
復号装置２の第１復号部２３０は、（１）ステップＳｄ１で得られた整数ｙｉの二進符号のＬＳＢが０の場合、当該整数ｙｉを１／２倍した整数を得、（２）ステップＳｄ１で得られた整数ｙｉの二進符号のＬＳＢが１の場合、当該整数ｙｉについて正負を表す符号を負に反転した負整数から１を減算した整数を１／２倍した整数を得る。この得られた整数が、Ｂ＝０である場合における、復号されたサンプルｘｉの値である。図中の記号≫は右シフト演算を表している。
【００７８】
［ステップＳｄ４］
復号装置２の第２復号部２４０は、（１）分離部４０から送られたフレームに含まれる商ｙｉに対応する余りｚｉを表す二進符号のＭＳＢが１であれば、ステップＳｄ１で得られた整数ｙｉを分離部４０から送られた分離パラメータＢを用いて２Ｂ−１倍した値の二進符号に、余りｚｉを表す二進符号の下位Ｂ−１ビットを加算した整数を得、（２）分離部４０から送られたフレームに含まれる商ｙｉに対応する余りｚｉを表す二進符号のＭＳＢが０であれば、ステップＳｄ１で得られた整数ｙｉを分離部４０から送られた分離パラメータＢを用いて２Ｂ−１倍した値の二進符号に、余りｚｉを表す二進符号の下位Ｂ−１ビット（または余りｚｉを表すＢビットの二進符号）を加算して得られる整数について正負を表す符号を負に反転した負整数から１を減算した整数を得る。この得られた整数が、復号されたサンプルｘｉの値である。図中の記号≪は左シフト演算を、記号＆はビット単位の論理積演算を、記号｜はビット単位の論理和演算を表している。
【００７９】
これまでの説明では、入力信号を、その各サンプルが正または負の整数で表されるものとして説明した。例えば、音声信号に適用する符号化方式によって入力信号の各サンプルが正の符号を持つ整数で表されているような場合、各サンプルの正負の符号を識別する必要が無い。このような場合には、分離パラメータＢを式（１０）を利用して求め、商ｙｉを式（１５）または式（１６）で、余りｚｉを式（１７）で求めればよい。
【数１０】
0005498598.tif 000011
【００８０】
＜本発明の実施形態４の符号化の概要＞
実施形態４では、本発明の符号化を、G.711であらかじめ符号化された音響信号のロスレス符号化に適用する場合の別の例を図９を用いて示す。
入力はG.711符号化された音響信号で、サンプルあたり8ビットの符号により構成される符号列であり、以下ではG.711符号列と呼ぶ。入力されたG.711符号列は、符号化装置８００Ｅにて、指定されたフレーム処理単位ごとに符号化処理される。
フレーム処理単位は、４０サンプル、８０サンプル、１６０サンプル、２４０サンプル、３２０サンプルの５通りのうちのいずれかで、符号化時に外部から指定されることとする。
【００８１】
入力されたG.711符号列はバッファ部８０２Ｅで、指定されたフレーム処理単位（たとえば４０サンプル）ごとに分割され、変換部８０４Ｅに渡される。また、バッファ部８０２Ｅでは指定されたフレーム処理単位を識別するための符号を、フレーム処理単位指定符号として出力する。
【００８２】
変換部８０４Ｅでは、フレーム処理単位毎のG.711符号列中の各符号を、対応するPCM値に変換し、フレーム処理単位毎のPCM値列を出力する。
【００８３】
予測分析部８０６Ｅでは、変換部８０４Ｅが出力したPCM値列に対して予測分析を行い、予測係数を決定する。（このとき、予測分析部８０６Ｅでは線形予測分析等用いることができるが、必ずしも線形予測分析に限る必要は無く、何らかの予測を用いてPCM値列に対する予測係数を得ればよい。）
【００８４】
予測係数量子化部８０８Ｅでは、予測分析部８０６Ｅで決定された予測係数を量子化して、量子化予測係数を得ると同時に、量子化予測係数に対応する量子化予測係数符号を出力する。
【００８５】
予測部８１０Ｅでは、量子化予測係数と過去のPCM値列を用いて、フレーム処理単位毎の現在のサンプルのPCM値の列を推定する。
【００８６】
逆変換・変形部８１２Ｅでは、予測部８１０Ｅで推定されたPCM値の列の各PCM値をG.711符号化し、符号の表す値の大小関係を保存した形の、例えば−１２８から＋１２７までの２の補数表現された8ビットの値（推定サンプル値）に変換する。ここで、たとえば日本国特許出願番号2007-319805（国際出願番号PCT/JP2008/072513）に記載されているような変形を行うこととしても良い。
【００８７】
例えば、次のような変形を行う。特定の範囲に含まれる番号であって、G.711符号列Λ＝｛λ（１），λ（２），…，λ（Ｎ）｝内に発生していない番号があるかを確認する。Ｎは１フレームのサンプル数である。特定の範囲とは、例えば、正の絶対値が最小の値を示す番号と負の絶対値が最小の値を示す番号である。具体的には、ＩＴＵ−Ｔ  Ｇ．７１１のμ則の場合であれば“＋０”と“−０”、Ａ則の場合であれば“＋８”と“−８”である。発生していない番号があると分かった場合には、当該発生していない番号が示す元の信号の大きさを除いて、元の信号の大きさを示す番号を付加しなおした番号に、G.711符号列の各番号を置き換えた番号の列Ｔ（Λ）＝｛Ｔ（λ（１）），Ｔ（λ（２）），…，Ｔ（λ（Ｎ））｝を出力する。例えば、ＩＴＵ−Ｔ  Ｇ．７１１のμ則の場合を考える。μ則では８ビットで“−１２７”から“＋１２７”の番号を示しているが、“０”を示す番号には“＋０”と“−０”の２つがある。そして、元の信号と線形な関係の値との関係では、“−１２７”は「−８０３１」、“＋１２７”は「＋８０３１」、“＋０”と“−０”は「０」を示している。ここでは、“  ”は元の信号の大きさ（大小関係）を示す番号を示しており、「  」は元の信号と線形な関係の信号の振幅を示している。このように、“＋０”と“−０”とは重複した番号なので、符号化装置によってはどちらか一方だけを出力する装置もある。そこで、例えば特定の範囲を“＋０”と“−０”にする。そして、“−０”が発生しないのであれば、負の番号は１つずつずらし、“−０”が「−１」を示す番号、“−１２６”が「−８０３１」を示す番号として用いる。“＋０”が発生しないのであれば、正の番号は１つずつずらし、“＋０”が「＋１」を示す番号とすればよい。また、“＋０”も“−０”も存在しないのであれば、負の番号も正の番号も１つずつずらし、“−０”が「−１」を示す番号、“＋０”が「＋１」を示す番号とすればよい。
【００８８】
変形部８１４Ｅでは、フレーム処理単位毎のG.711符号列中の各符号を、符号の表す値の大小関係を保存した形の、例えば−１２８から＋１２７までの２の補数表現された8ビットの値（変形入力サンプル値）に変換する。ここでも、たとえば日本国特許出願番号2007-319805（国際出願番号PCT/JP2008/072513）に記載されているような変形を行うこととしても良く、その一例は上述したとおりである。
【００８９】
誤差計算部８１６Ｅでは、逆変換・変形部８１２Ｅから得られた8ビット表現された推定サンプル値と、変形部８１４Ｅから得られた8ビット表現された変形入力サンプル値との差分を求めることで、変形入力サンプル値と推定サンプル値との誤差を計算する。この誤差の系列が本発明の符号化方法に入力される整数値系列xiである。
【００９０】
分離パラメータ計算部８１８Ｅは、誤差の系列をフレーム処理単位のサンプル数だけ入力として誤差計算部８１６Ｅから受け取り、フレーム処理単位ごとに分離パラメータＢを決定する。
また、分離パラメータ計算部８１８Ｅは分離パラメータＢに対応する符号を分離パラメータ符号として出力する。実施形態３で説明したように、たとえば、分離パラメータＢの出現頻度に応じて可変長符号化したハフマンテーブルをあらかじめ定めておき、そのハフマンテーブルを用いて分離パラメータＢの符号を得る。
【００９１】
商余計算部８２０Ｅは、分離パラメータ計算部８１８Ｅで決定した分離パラメータＢを用いて、誤差系列xを商系列yと余系列zに分離する。また、商余計算部８２０Ｅは余系列に含まれる各余りをＢビットで符号化して得られる余符号列を出力する。
【００９２】
誤差系列ｘに含まれるサンプルxｉ（ｉ＝１，２，・・・，Ｎ；Ｎは１フレームに含まれるサンプル数）について、０以上の整数に変換したこのサンプルxｉの分離パラメータＢを用いた商yｉおよび余zｉを実施形態３の場合と同様に、式（12）、式（13）で求める。式（12）により商yｉを求める場合は、余りを表す符号を、余りを表すＢ−１ビットの二進符号にサンプルxｉの正負を識別するための１ビットの符号が付加されたＢビットの固定長を持つ符号とする。式（13）により商yｉを求める場合は、商yｉを表す符号のＬＳＢ（Least Significant Bit）によってサンプルyｉの正負が識別される。ここで、分離パラメータＢを用いた商yｉおよび余zｉの分離方法は、一意に分離、合成が可能であれば別の分離方法を用いることとしても良い。
【００９３】
本実施形態４では、フレーム処理単位に応じて符号テーブルの個数をフレーム処理単位が４０サンプルの場合には１種類、フレーム処理単位が８０サンプル以上の場合には４種類の中から１つを選択して用いるように切り替える。
これは、フレーム処理単位として、比較的小さな４０サンプルが指定された場合には、誤差系列の分散が異なる４種類の符号テーブルの中から１つを選択するために、符号化テーブル指定符号に情報量を割り当てても、符号化対象となる誤差係数のサンプル数が少ない（４０サンプル）ために、増加した符号テーブル指定符号分の情報量を補うほど誤差系列に対応する符号列の符号量の減少が見込めないため、結果的に符号テーブルを複数用いるメリットが無いためである。
これに対してフレーム処理単位が８０サンプル以上の場合には、符号テーブル指定符号を用いて４種類の符号テーブルから誤差系列の統計的な性質に最も適した符号テーブルを選択することで、符号テーブル指定符号に用いる符号量を考慮したとしても、誤差系列に対応する符号列の符号量を減少させることが出来ることから、結果として総符号量をより少なくすることが出来る。
図１０に商余計算部８２０Ｅでの計算によって得られた商系列に含まれる値の分布例を示す。
振幅の小さな値は比較的出現頻度が高いが、破線で示すラプラス分布とは異なる場合もあるため、複数の符号テーブルの中で、当該フレーム内の商系列に含まれる値の出現頻度分布に最も近い頻度分布をあらわしているものを選択して用いる。また、振幅の大きな値の出現頻度がラプラス分布と比較して大きくなっていると、アルファ符号では非常に長い符号が必要となる場合がある。
図１１に、実施形態４でフレーム処理単位が４０サンプルの場合に用いる符号テーブルの例、およびフレーム処理単位８０以上の場合の符号テーブルの例を示す。フレームサイズおよび分割パラメータＢによって符号テーブルおよび拡張符号に対応する符号化方式を切り替える。
【００９４】
符号テーブル選択部８２２Ｅでは、商系列を入力として、出力される符号量が最小となるように記憶部８２４Ｅに記憶された符号テーブル８２４１を選択し、選択された符号テーブルに対応する符号テーブル指定符号を出力する。フレーム処理単位が８０サンプル以上の場合には、テーブル０からテーブル３に示した４種類の符号テーブル（図１１参照）の中から、当該フレームの商符号列の総符号量が最も少なくなる符号テーブルを選択し対応する符号テーブル指定符号を出力する。フレーム処理単位が４０サンプルの場合には、符号テーブルは１種類に限定されているため、符号テーブル指定符号は出力されない。
【００９５】
商符号化部８２６Ｅは、符号テーブル選択部８２２Ｅで選択された符号テーブルおよび、フレーム処理単位と分離パラメータＢによって一意に決定された、拡張符号に対応する符号化方式を用いて商系列を符号化し、商符号列を出力する。
【００９６】
このとき、分離パラメータＢの値に応じてＢ＝０の場合には、図１１の上段のテーブル０からテーブル３に示すように、フレーム処理単位にかかわらず、拡張符号に対応した符号化方式として、アルファ符号code(U, p1-maxCode)を用いる。フレーム処理単位が４０サンプルでＢ＝０の場合に出力される商符号列に含まれる商符号の例を図１２に示す。
Ｂ＞０の場合には、図１１の下段のテーブル０からテーブル３に示すように、フレーム処理単位にかかわらず、拡張符号に対応した符号化方式として、ライスパラメータs=1のゴロム‐ライス符号code(R, 1, p2-maxCode)を用いる。フレーム処理単位が４０サンプルでＢ＞０の場合に出力される商符号列に含まれる商符号の例を図１３に示す。
分離パラメータＢの計算式より、誤差系列の振幅が小さい場合に分離パラメータＢ＝０となり、誤差系列の振幅が大きい場合に分離パラメータＢ＞０となる。
誤差系列の振幅が小さい場合、すなわち分離パラメータＢ＝０の場合には、ラプラス分布に近いが、誤差系列の振幅が大きい場合、すなわち分離パラメータＢ＞０の場合には必ずしもラプラス分布に従わないことが実験的に観測されている。
観測によれば、分離パラメータＢ＞０となるような場合には、ラプラス分布よりも相対的に振幅の大きな商の値の出現確率が高いことがわかっている。
本実施形態４では、このことを考慮して、分離パラメータＢ＞０の場合には、誤差符号を分離パラメータＢにより商と余りに分離し、その商のうち、値があらかじめ符号テーブルごとに定められた値maxCode以上のものに対して、さらにライスパラメータs=1のゴロム‐ライス符号化を用いて符号化する。
一方で、分離パラメータＢ＝０の場合には、商をアルファ符号code(U, p-maxCode)で符号化する。ここで、誤差系列を分離パラメータＢにより商と余りに分離する処理は、Ｂ＝０では余りは存在しないので商系列のみが出力される。
このように、分離パラメータＢの値と商系列の各値の出現確率の間には相関関係が存在しているので、分離パラメータＢの値に応じて符号テーブルおよび拡張符号に対応する符号化方式の一方もしくは両方を切り替えることで符号化効率を向上させることができる。
同様にフレーム処理単位に応じて符号テーブルおよび拡張符号に対応する符号化方式を切り替える。
【００９７】
合成部８３０Ｅでは、上記各処理部より出力された、フレーム処理単位指定符号、量子化予測係数符号、分離パラメータ符号、符号テーブル指定符号、商符号列、余符号列をフレーム毎にまとめて符号系列として出力する。
【００９８】
＜本発明の実施形態４の復号化の概要＞
本発明の実施形態４の復号処理について図１４を用いて説明する。
復号装置８５０Ｄの入力は、前記実施形態４の符号化により生成した符号系列である。
【００９９】
分離部８６０Ｄでは符号系列を入力として受け取り、フレーム処理単位指定符号、量子化予測係数符号、分離パラメータ符号、符号テーブル指定符号、商符号列、余符号列、に分離して各処理部に送る。
【０１００】
商復号部８７０Ｄでは、符号テーブル指定符号、および、フレーム処理単位指定符号により当該フレームの商符号列の復号に用いる符号テーブル８７２１（記憶部８７２Ｄに記憶されている）を選択する。また、商復号部８７０Ｄは、前記選択した符号テーブルを用いて、入力された商符号列の各商符号に対応する整数値の系列を商系列として出力する。
商系列は、商余合成部８７４Ｄに送られる。
【０１０１】
商余合成部８７４Ｄでは、分離パラメータ符号を復号して分離パラメータＢを得て、余符号列を復号して得られる各余りziと、商系列に含まれる商yiとを用いて次式の計算により誤差系列に含まれる各サンプルxiを得る。ここで、y%2はyを2で除算した余りを表す。得られた誤差系列は、誤差加算部８７６Ｄに送られる。
【数１１】
0005498598.tif 000012
【０１０２】
量子化予測係数復号部８７８Ｄでは、分離部８６０Ｄから受け取った量子化予測係数符号を復号して、量子化予測係数を得る。
【０１０３】
予測部８８０Ｄでは、変換部８８４Ｄにより復号された過去のG.711符号列に対応する8ビットの整数値を、対応するPCM値に変換した系列を保持しており、この過去のPCM値列と、量子化予測係数を用いて、フレーム処理単位毎の当該PCM値の列を推定する。
逆変換・変形部８８２Ｄでは、予測部８８０Ｄで推定されたPCM値の列の各PCM値を、G.711符号化し、符号の表す値の大小関係を保存した形の、例えば−１２８から＋１２７までの２の補数表現された8ビットの値（推定サンプル値）に変換する。ここで、符号化処理時に、日本国特許出願番号2007-319805（国際出願番号PCT/JP2008/072513）に記載されているような変形を行った場合には、復号処理時にも対応する処理を行う。
【０１０４】
誤差加算部８７６Ｄでは、逆変換・変形部８８２Ｄから得られた推定サンプル値と誤差系列中の当該誤差値を加算して、符号化処理時の「変形入力サンプル値」に相当する、元のG.711符号に対応し、符号の表す値の大小関係を保存した形の、例えば−１２８から＋１２７までの２の補数表現された8ビットの値（復号変形入力サンプル値）を得る。
誤差加算部８７６Ｄでは、さらに、当該フレーム処理単位内の全てのサンプルについて同様の処理を行い、復号変形入力サンプル値系列を得る。
【０１０５】
逆変形部８８６Ｄでは前記復号された復号変形入力サンプル値系列から、元のG.711符号列を復元する。
【０１０６】
＜商復号部での復号処理の詳細＞
商復号部８７０Ｄにおいて、商符号列から商系列を得るに際して、復号テーブルを利用することにしても良い。本実施形態では、商符号列の復号に復号テーブルを用いる場合の好適な実施の形態について説明する。
例えば、フレーム処理単位の８０サンプル以上の場合の符号テーブル０に対応する復号テーブルの例を図１５に示す。復号処理手順の例を図１６に示す。
【０１０７】
まず、商符号列のうち、未処理の商符号の先頭のビットを処理開始点とする（ステップＳ８５０）。未処理の商符号が存在するか否か判定する（ステップＳ８５２）。存在しないならば処理を終了する。存在すれば、符号テーブル指定符号に基づき、当該フレーム処理単位内（フレーム内）の商符号の復号に用いる復号テーブルvalue[],Len[]を選択する（ステップＳ８５４）。そして、フレーム内の商符号列の復号が完了したかを判定する（ステップＳ８５６）。完了した場合は、ステップＳ８５２の処理を行う。完了していない場合、商符号列のうち、未処理の商符号の先頭のビットを処理開始点とする（ステップＳ８５８）。商符号列から、１つの商符号に許容されている最長符号長に相当するビット数（実施例では６ビット）を読み込み０以上の整数値として変数ｖに設定する（ステップＳ８６０）。変数ｖの値で復号テーブルvalue[]を参照し商の値をｑ＝value[v]とする（ステップＳ８６２）。商ｑの値で復号テーブルLen[]を参照し、当該符号のビット長Ｉ＝Len[q]を得る（ステップＳ８６４）。商符号列の処理地点を当該符号長に相当するＩビットだけ進め、未処理の商符号の先頭に移動する（ステップＳ８６６）。規定整数に対応する商符号かどうか確認（q−codeMax＜０）する（ステップＳ８６８）。規定整数であれば、ｑを商の値として出力する（ステップＳ８７０）。規定整数でなければ、拡張符号から拡張符号に対応する符号化方式を判別し、判別された符号化方式で拡張符号に続く符号を復号して得られる整数値を商の値として出力する（ステップＳ８７２）。当該符号に対応する符号も含めて読み込んだビット数だけ読み込み位置を移動し、未処理の商符号の先頭のビットを処理開始点とする（ステップＳ８７４）。ステップＳ８７０およびＳ８７４の後に、ステップＳ８５６の処理を行う。
【０１０８】
つまり、商復号部８７０Ｄでは、符号系列から符号テーブル指定符号を読み込み、符号テーブル指定符号に対応する復号テーブルを選択する。
この復号テーブルには、符号テーブルに対応した値が登録されている。
【０１０９】
商符号は、先頭から連続するビット列として入力され、可変ビット長の符号である。
商復号部は、先頭より最大符号長に相当するビット数だけ整数値として読み込む。
この例では、符号テーブルに登録された符号のうち、最長の符号長は6ビットであるので、６ビットを読み込んで、０以上の整数とみなして変数vに設定する。
ここで、もし読むべき符号が存在しない場合には、最長符号長に達するまでLSB側に値0のビットを付与して、最長符号長にしてから配列を参照すればよい。
【０１１０】
次に、符号テーブル指定符号により選択された符号テーブルに対応する復号テーブルであるvalue[]テーブルを用いてこの６ビットの商符号に対応する値qを復号する。
すなわち、配列の添え字に前記設定したvを用いてq=value[v]とすれば復号後の値qが求まる。
【０１１１】
次に、実際の当該符号の符号長Ｉを求める。符号長はＩ=len[v]もしくはＩ=Len[q]として容易に求めることが出来る。
得られたＩビット分だけ商符号の処理位置を移動することで、未処理の商符号の先頭位置に移動することが出来る。
【０１１２】
このように、可変符号長の符号の復号にもかかわらず、最長符号長のビットを無条件に読み込んで、その値を元に配列を参照するだけで、複雑な復号処理を行うことなく高速に復号結果を得ることが出来る。
同様に、当該符号長も配列を参照するだけで得ることが出来る。
また、符号テーブルの設計に際して、最長符号長のサイズを一定にすることで、復号テーブルのデータ保持に必要なメモリサイズを制限することが出来る。
本実施例では、図１５の符号テーブルの設計に際して、各符号テーブルに登録される符号のうち、最長の符号長が６ビットに収まるように制約することで、復号テーブルのサイズを制限している。
【０１１３】
次に、得られた復号値qが、codeMaxよりも大きいかどうかを判定することで、当該商符号が、規定整数に対応した符号であるかどうかを確認する。(q-codeMax)<0であれば、当該商符号は規定整数に対応する符号であり、(q-codeMax)>=0であれば当該当該符号は拡張符号である。
【０１１４】
当該商符号が規定整数に対応する符号である場合には、得られたqを商の値として出力し、処理開始点を当該符号長分だけ移動させる。当該符号長Ｉは、前述のようにＩ=Len[q]として求めることが出来る。
【０１１５】
当該商符号が拡張符号に対応する符号である場合には、得られたqに対応する拡張符号を特定する。（図の例の場合はq=7のとき拡張符号p1）
また、同様に拡張符号の符号長Ｉだけ符号読み込み位置を移動させることで、処理開始点を未処理の商符号の先頭に移動させる。当該符号長Ｉは、前述のようにＩ=Len[q]として求めることが出来る。
続いて、拡張符号に対応する復号方式を用いて、拡張符号に続く符号を復号することで、商qを得る。
当該拡張符号に対応する符号化符号も含めて、読み込んだビット数だけ読み込み位置を移動し、未処理の商符号の先頭ビットを処理開始点とする。
【０１１６】
上記の処理を当該フレームのサンプル数に相当する数だけ商符号列を復号できた時点で、当該フレーム分の処理を終了する。
【０１１７】
以上の各実施形態の他、本発明である符号化装置・方法、復号装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上述の説明に現れる技術的特徴を互いに矛盾しない範囲で自由に組み合わせて実施できる。
【０１１８】
また、上記符号化装置、復号装置における処理機能をコンピュータによって実現する場合、符号化装置、復号装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記符号化装置、復号装置における処理機能がコンピュータ上で実現される。
【０１１９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１２０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１２１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１２２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、符号化装置、復号装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0005498598.tif 000013
【図２】
0005498598.tif 000014
【図３】
0005498598.tif 000015
【図４】
0005498598.tif 000016
【図５】
0005498598.tif 000017
【図６】
0005498598.tif 000018
【図７】
0005498598.tif 000019
【図８】
0005498598.tif 000020
【図９】
0005498598.tif 000021
【図１０】
0005498598.tif 000022
【図１１】
0005498598.tif 000023
【図１２】
0005498598.tif 000024
【図１３】
0005498598.tif 000025
【図１４】
0005498598.tif 000026
【図１５】
0005498598.tif 000027
【図１６】
0005498598.tif 000028
【図１７】
0005498598.tif 000029
【図１８】
0005498598.tif 000030
【図１９】
0005498598.tif 000031
【図２０】
0005498598.tif 000032
【図２１】
0005498598.tif 000033
【図２２】
0005498598.tif 000034
【図２３】
0005498598.tif 000035
【図２４】
0005498598.tif 000036
【図２５】
0005498598.tif 000037
【図２６】
0005498598.tif 000038
【図２７】
0005498598.tif 000039
【図２８】
0005498598.tif 000040