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

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

Info

Publication number
JP4871420B2
JP4871420B2 JP2011133475A JP2011133475A JP4871420B2 JP 4871420 B2 JP4871420 B2 JP 4871420B2 JP 2011133475 A JP2011133475 A JP 2011133475A JP 2011133475 A JP2011133475 A JP 2011133475A JP 4871420 B2 JP4871420 B2 JP 4871420B2
Authority
JP
Japan
Prior art keywords
sequence
codewords
code
codeword
consecutive
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.)
Active
Application number
JP2011133475A
Other languages
English (en)
Other versions
JP2011223615A (ja
Inventor
登 原田
優 鎌本
健弘 守谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011133475A priority Critical patent/JP4871420B2/ja
Publication of JP2011223615A publication Critical patent/JP2011223615A/ja
Application granted granted Critical
Publication of JP4871420B2 publication Critical patent/JP4871420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、信号の符号化技術に関し、より詳しくは、符号化された信号のロスレス符号化技術に関する。
音声周波数信号(voice-frequency signals)に対する符号化(encoding)の国際標準として、ITU−T(International Telecommunication Union - Telecommunication Standardization Sector) G.711が存在する(非特許文献1)。ITU−T G.711は、符号化方式として非線形PCM(Non-uniform Pulse Code Modulation)を採用しており、非線形量子化方式としてμ則(μ-law)とA則(A-law)の二種類を規定している。以下、「音声周波数信号」を音響信号と呼称する。
また、動画(Visual)と音響(Audio)の符号化の国際標準としてISO/IEC JTC 1/SC 29/WG 11が策定したMPEG−4が存在し、その第3部が音響ロスレス符号化技術などを規定している(非特許文献2)。
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.
この明細書に用いる用語は、特に断りの無い限り、ITU−T G.701(参考文献1)に準拠する。しかし、これは本発明の適用範囲をITU−TのGシリーズ勧告が適用される技術分野に限定する意図ではない。この技術分野以外の技術分野、例えば上記非特許文献2に関わる技術分野に本発明を適用する場合には、この明細書に用いる用語を、(もし在れば)当該技術分野の対応する用語に読み替えればよい。
(参考文献1)ITU-T Recommendation G.701, "Vocabulary of Digital Transmission and Multiplexing, and Pulse Code Modulation (PCM) Terms," ITU-T, 1993.
現在普及している一般電話に代わってVoIPシステム(Voice over Internet Protocol system)が普及すると、音声伝送のために必要な伝送容量が増大する。例えば、上記非特許文献1に規定されるITU−T G.711に準拠する場合であれば、1回線につき64kbit/s×2の伝送容量が必要であり、回線数が増えると、音声伝送のために必要な伝送容量も回線数に比例して増大する。従って、高音質をできるだけ維持しつつ伝送容量の削減を考えると、非線形PCMで符号化された信号を更にロスレス符号化する圧縮符号化技術が必要である。
ところで、時間尺度の観点から、音声信号は無音声区間を含むことがある。電話などの用途では無音声区間がしばしば出現する。無音声区間は、背景雑音などを含むため、信号振幅0(ゼロ)に最も近い量子化値に該当する範囲(量子化インターバル、quantization intervals)の信号振幅を持つサンプルが続くことが多い。以下、「量子化インターバルのうち信号振幅0に最も近い量子化値に対応する量子化インターバル」を最小量子化インターバルと呼称する。上記G.711を例にとると、各量子化インターバルには、8ビットの符号語が割り当てられる。μ則の場合には、信号振幅0(ゼロ)の量子化値を境界値(decision value)とする隣接する二つの最小量子化インターバルが存在する。これら二つの最小量子化インターバルは、それぞれ、信号振幅が正である最小量子化インターバルと信号振幅が負である最小量子化インターバルとに対応するが、共に対応する量子化値は信号振幅0(ゼロ)である。これら二つの最小量子化インターバルには、それぞれに対して一意の符号語(character signal; code word)が定義されており、正の最小量子化インターバルには8ビットの符号語11111111が、負の最小量子化インターバルには8ビットの符号語01111111が割り当てられる(上記非特許文献1参照)。以下、8ビットの符号語11111111を+0、8ビットの符号語01111111を−0と表記する。また、A則の場合には、正の最小量子化インターバルには8ビットの符号語10000000が、負の最小量子化インターバルには8ビットの符号語000000000が割り当てられる(上記非特許文献1参照)。以下、8ビットの符号語10000000を+1、8ビットの符号語00000000を−1と表記する。なお、実際の応用では、上記非特許文献1に記載の符号語10000000および00000000の偶数番目のビットを反転させて、それぞれ11010101および01010101としたものを用いる場合もある。また、A則では、これらの符号語に対応する量子化値は13ビット符号付き整数表現で+1と−1である。実際の用途では、通常、16ビット符号付き整数表現の入力PCM信号についてオーバーフローが生じないように符号化する必要があるため、16ビット符号付き整数表現の入力PCM信号について、下位3ビットを省略した上でA則の符号化処理を行う。このため、A則の量子化値+1と−1は16ビット符号付き整数表現の入力PCM信号の+8、−8に相当する。実際に本発明が適用される状況に応じて、10000000と00000000はそれぞれ11010101と01010101に、+1と−1はそれぞれ+8と−8にそれぞれ読み替えて用いる。
無音声区間の符号化された信号に対する圧縮符号化方法として、例えば上記非特許文献2に示される方法を用いて符号量を低減する方法が考えられる。つまり、複数のサンプルを持つ一つのフレームに含まれる全てのサンプルに対して一種類の符号語や一種類の値が割り当てられている場合に、所定の符号を用いて当該フレームを表現することで符号量を低減する。
一般的なPCMで符号化された信号では、無音声時のような特別な場合に統計的に出現確率が高くなる信号振幅の値を特別に処理することで圧縮性能を改善することが可能である。しかし、μ則やA則による非線形PCMの場合には、どの量子化インターバルに対しても8ビットの符号語が割り当てられるので、上記非特許文献2に開示された方法のみでは、無音声時において統計的に出現確率が高くなる最小量子化インターバルについて十分な圧縮効果を得られない。
本発明は、上記問題に鑑み、二つの最小量子化インターバルが存在し、それぞれに対して一意の符号語が与えられている符号化方式で符号化された音響信号について、高圧縮にロスレス符号化できる技術を提供することを目的とする。
本発明の符号化方法は、最小量子化インターバルが二つ存在しそれぞれに対して一意の符号語が与えられている符号化方法によって音響信号が符号化された符号語を入力として、複数サンプルの入力符号語により構成されるフレーム毎に、二つの最小量子化インターバルそれぞれに与えられた二種類の符号語以外が含まれないフレームについて、二種類の符号語の総数に対する二種類の符号語のうち一方の符号語Aの数の割合Pに応じて、少なくとも、一方の符号語Aの連続回数の系列、二種類の符号語のうち他方の符号語Bの連続回数の系列、のいずれかを得て、得られた連続回数の系列に対応する符号を出力する。
また、本発明の復号方法は、複数の符号語に対応するフレーム毎に、入力された符号に対応する、二つの最小量子化インターバルそれぞれに与えられた二種類の符号語の連続回数の系列を求め、この連続回数の系列から二種類の符号語の並びを出力符号語列とする。
本発明によれば、二つの最小量子化インターバルが存在しそれぞれに対して一意の符号語が与えられている符号化方式で符号化された音声信号のフレームに、二つの最小量子化インターバルに与えられた二種類の符号語以外が含まれない場合に、上記二種類の符号語の割合に応じて最適な符号化方法が選択され、しかもこのようなフレームについては、符号化された音響信号の高圧縮な可逆圧縮が可能になる。
実施形態に係る符号化装置の機能構成例を示すブロック図。 実施形態に係る符号化処理の処理フローを示す図。 1フレームのサンプル数を160とした場合に、連続回数の総和vとGolombパラメータmと縮退Golombパラメータm’との関係を示した表。 図3に示される関係を前提として、4ビットの各符号が表す、連続回数の総和vと縮退Golombパラメータm’とcの各値を示した表。 実施形態に係る符号化装置の機能構成例において、第2符号化部の機能構成の一例を示したブロック図。 実施形態に係る符号化処理の変形例の処理フローを示す図。 実施形態に係る符号化装置の機能構成例の変形例を示したブロック図。 図7に示す機能構成を持つ符号化装置による符号化処理の処理フローを示す図。 実施形態に係る復号装置の機能構成例を示すブロック図。 実施形態に係る復号処理の処理フローを示す図。 実施形態に係る復号装置の機能構成例において、第2復号部の機能構成の一例を示したブロック図。 実施形態に係る復号処理の変形例の処理フローを示す図。 実施形態に係る復号装置の機能構成例の変形例を示すブロック図。 図13に示す機能構成を持つ復号装置による復号処理の処理フローを示す図。
各実施形態で扱う信号は、音響信号が何らかの符号化方式に従って符号化された信号とする。但し、この符号化方式は、二つの最小量子化インターバルが存在し、それぞれに対して一意の符号語(character signal; code word)が与えられている符号化方式とする。ITU−T G.711などがその例である。この場合、ITU−T G.711はμ則でもA則でもよい。以下、説明を具体的なものとするため、符号化方式をITU−T G.711とし、非線形量子化方式をμ則として説明する。
<符号化処理>
次に、図1から図8を参照して、符号化装置1における符号化処理の流れを叙述的に説明する。
[ステップSc0]
符号化装置1のバッファ部30は、入力されたG.711の符号語をバッファして、G.711の符号語を複数纏めたフレーム単位で符号語列として出力する。
[ステップSc1]
符号化装置1の判定部100は、フレーム毎に、符号語列に+0、−0の二種類以外の符号語が含まれない場合は、当該符号語列を第1符号化部110に送る制御を行い、それ以外の場合、すなわち、符号語列に+0、−0の二種類以外の符号語が含まれる場合は、当該符号語列を第2符号化部120に送る制御を行う。また、判定部100は、第1符号化部110に送る制御を行った場合には、第1符号化が選択されたことを表す符号を符号化特定符号として出力し、第2符号化部120に送る制御を行った場合には、第2符号化が選択されたことを表す符号を符号化特定符号として出力する。例えば、符号化特定符号を1ビットで表わす場合は、第1符号化が選択されたことを表す符号化特定符号を1、第2符号化が選択されたことを表す符号化特定符号を0とすれば良い。
[ステップSc2]
符号化装置1の第1符号化部110は、フレーム毎に、判定部100から入力された符号語列から、入力された符号語列における二種類の符号語の出現頻度に応じて、少なくとも、一方の符号語の連続回数の系列、他方の符号語の連続回数の系列、二種類の符号語が交互に連続する回数の系列、のいずれかを得て、この回数の系列を表わす符号を出力する。以下、第1符号化部110が出力する符号を「第1の符号」と呼ぶ。なお、第1符号化部110に入力される符号語列には、+0、−0の二種類以外の符号語は含まれない。
連続回数の系列の算出は、閾値X1,X2,X3,X4に従って、次の[1]から[4]に分類される。但し、二種類の符号語の総数、つまりフレームに含まれるサンプルの総数をnとし、このフレームに含まれる一方の符号語Aの数をnとし、このフレームに含まれる他方の符号語Bの数をnとする。n+n=nが成立する。nに対するnの割合n/nについて、0≦n/n≦1が成立する。また、X1,X2,X3,X4は予め定められた値であり、0≦X1≦X2≦X3≦X4≦1とする。
[1]閾値が4個の場合、即ちX1≠X2≠X3≠X4の場合
[1−a]割合n/nが閾値X4よりも大である場合に、符号語Aの連続回数の系列を得る。
[1−b]割合n/nが閾値X4よりも小且つ閾値X3よりも大である場合に、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[1−c]割合n/nが閾値X3よりも小且つ閾値X2よりも大である場合に、二種類の符号語が交互に連続する回数の系列を得る。
[1−d]割合n/nが閾値X2よりも小且つ閾値X1よりも大である場合に、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[1−e]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[1−f]割合n/nが閾値X4に等しい場合は、符号語Aの連続回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[1−g]割合n/nが閾値X3に等しい場合は、二種類の符号語が交互に連続する回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[1−h]割合n/nが閾値X2に等しい場合は、二種類の符号語が交互に連続する回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[1−i]割合n/nが閾値X1に等しい場合は、符号語Bの連続回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2]閾値が3個の場合、即ちX1≠X2≠X3=X4、またはX1≠X2=X3≠X4、またはX1=X2≠X3≠X4の場合
[2−1]X1≠X2≠X3(=X4)の場合
[2−1−a]割合n/nが閾値X3よりも大である場合に、符号語Aの連続回数の系列を得る。
[2−1−b]割合n/nが閾値X3よりも小且つ閾値X2よりも大である場合に、二種類の符号語が交互に連続する回数の系列を得る。
[2−1−c]割合n/nが閾値X2よりも小且つ閾値X1よりも大である場合に、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−1−d]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[2−1−e]割合n/nが閾値X3に等しい場合は、(1)符号語Aの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[2−1−f]割合n/nが閾値X2に等しい場合は、二種類の符号語が交互に連続する回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−1−g]割合n/nが閾値X1に等しい場合は、符号語Bの連続回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−2]X1≠X2(=X3)≠X4の場合
[2−2−a]割合n/nが閾値X4よりも大である場合に、符号語Aの連続回数の系列を得る。
[2−2−b]割合n/nが閾値X4よりも小且つ閾値X2よりも大である場合に、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−2−c]割合n/nが閾値X2よりも小且つ閾値X1よりも大である場合に、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−2−d]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[2−2−e]割合n/nが閾値X4に等しい場合は、符号語Aの連続回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−2−f]割合n/nが閾値X2に等しい場合は、(1)二種類の符号語が交互に連続する回数の系列のみ、(2)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(3)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(4)符号語Aの連続回数の系列と符号語Bの連続回数の系列と二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[2−2−g]割合n/nが閾値X1に等しい場合は、符号語Bの連続回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−3]X1(=X2)≠X3≠X4の場合
[2−3−a]割合n/nが閾値X4よりも大である場合に、符号語Aの連続回数の系列を得る。
[2−3−b]割合n/nが閾値X4よりも小且つ閾値X3よりも大である場合に、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−3−c]割合n/nが閾値X3よりも小且つ閾値X1よりも大である場合に、二種類の符号語が交互に連続する回数の系列を得る。
[2−3−d]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[2−3−e]割合n/nが閾値X4に等しい場合は、符号語Aの連続回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−3−f]割合n/nが閾値X3に等しい場合は、二種類の符号語が交互に連続する回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[2−3−g]割合n/nが閾値X1に等しい場合は、(1)符号語Bの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[3]閾値が2個の場合、即ちX1=X2≠X3=X4、またはX1≠X2=X3=X4、またはX1=X2=X3≠X4の場合
[3−1]X1(=X2)≠X3(=X4)の場合
[3−1−a]割合n/nが閾値X3よりも大である場合に、符号語Aの連続回数の系列を得る。
[3−1−b]割合n/nが閾値X3よりも小且つ閾値X1よりも大である場合に、二種類の符号語が交互に連続する回数の系列を得る。
[3−1−c]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[3−1−d]割合n/nが閾値X3に等しい場合は、(1)符号語Aの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[3−1−e]割合n/nが閾値X1に等しい場合は、(1)符号語Bの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[3−2]X1≠X2(=X3=X4)の場合
[3−2−a]割合n/nが閾値X2よりも大である場合に、符号語Aの連続回数の系列を得る。
[3−2−b]割合n/nが閾値X2よりも小且つ閾値X1よりも大である場合に、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[3−2−c]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[3−2−d]割合n/nが閾値X2に等しい場合は、(1)符号語Aの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(4)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(5)符号語Aの連続回数の系列と符号語Bの連続回数の系列と二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[3−2−e]割合n/nが閾値X1に等しい場合は、符号語Bの連続回数の系列のみを得るか、符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[3−3]X1(=X2=X3)≠X4の場合
[3−3−a]割合n/nが閾値X4よりも大である場合に、符号語Aの連続回数の系列を得る。
[3−3−b]割合n/nが閾値X4よりも小且つ閾値X1よりも大である場合に、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[3−3−c]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[3−3−d]割合n/nが閾値X4に等しい場合は、符号語Aの連続回数の系列のみを得るか、符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
[3−3−e]割合n/nが閾値X1に等しい場合は、(1)符号語Bの連続回数の系列のみ、(2)二種類の符号語が交互に連続する回数の系列のみ、(3)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(4)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(5)符号語Aの連続回数の系列と符号語Bの連続回数の系列と二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
[4]閾値が1個の場合、即ちX1(=X2=X3=X4)の場合
[4−a]割合n/nが閾値X1よりも大である場合に、符号語Aの連続回数の系列を得る。
[4−b]割合n/nが閾値X1よりも小である場合に、符号語Bの連続回数の系列を得る。
[4−c]割合n/nが閾値X1に等しい場合は、(1)符号語Aの連続回数の系列のみ、(2)符号語Bの連続回数の系列のみ、(3)二種類の符号語が交互に連続する回数の系列のみ、(4)符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(5)符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列、(6)符号語Aの連続回数の系列および符号語Bの連続回数の系列、(7)符号語Aの連続回数の系列と符号語Bの連続回数の系列と二種類の符号語が交互に連続する回数の系列、のいずれかを得る。
上記の分類[1]−[4]では全部で92通りの処理パターンが得られる。例えば、分類[1]の場合であれば、第1符号化部110が行う符号化処理として次の〈1〉から〈16〉の16通りの処理パターンが考えられる。同様に、分類[2]の場合であれば40通りの処理パターンが考えられ、分類[3]の場合であれば29通りの処理パターンが考えられ、分類[3]の場合であれば7通りの処理パターンが考えられる。第1符号化部110は、通常、この92通りの処理パターンのうち予め定められた一つが第1符号化部110によって実行される。なお、各パターンにおいて、例えば符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る場合のように二つ以上の系列を求める場合、求めた系列のうち後述のロスレス符号化によって符号量が最小になる系列が選択される。つまり、第1符号化部110は、符号量が最小となる系列の符号を出力する。
〈1〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈2〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈3〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈4〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈5〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈6〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈7〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈8〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈9〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈10〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈11〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈12〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈13〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈14〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈15〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
〈16〉
X4<n/n≦1
⇒ 符号語Aの連続回数の系列を得る。
/n=X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X3<n/n<X4
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X3
⇒ 符号語Aの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X2<n/n<X3
⇒ 二種類の符号語が交互に連続する回数の系列を得る。
/n=X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
X1<n/n<X2
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
/n=X1
⇒ 符号語Bの連続回数の系列および二種類の符号語が交互に連続する回数の系列を得る。
0≦n/n<X1
⇒ 符号語Bの連続回数の系列を得る。
まず、第1符号化部110が符号語Aの連続回数の系列を得る場合について説明する。第1符号化部110は、フレーム毎に、符号語列中の符号語Aが連続する個数(連続回数)を検出し、連続回数の系列を得る。この処理は符号語列の何れの端から行ってもよいし、端から順ではなく予め定めた順に行ってもよいが、以下では簡単のため処理を一方の端から他方の端に向かって順に行う例を示す。以下、処理を開始する端を始端、始端と反対側の端を終端とする。このとき、フレームの始端の符号語が符号語Bである場合、第1符号化部110は、符号語Aが出現するまで連続回数を0として処理をする。例えば符号語Aが“+0”としてフレームの始端部の符号語の並びが−0,−0,−0,−0,+0,+0,−0,・・・である場合、連続回数の系列は、0、0、0、0、2、・・・となる。また、第1符号化部110は、フレームに含まれる最後の符号語については、その次の符号語が符号語Bであると看做して処理をする。例えば符号語Aが“+0”としてフレームの終端部の符号語の並びが・・・−0,+0,+0である場合、最後の符号語“+0”の次の符号語が“−0”であると看做して、連続回数は2となる。また、フレーム中で符号語Bが連続する場合には、符号語Aの連続回数を0とする。符号語Bが出現するまでに符号語Aが出現する回数が1である場合には、符号語Aの連続回数を1とする。例えば、符号語Aが“+0”として符号語の並びが・・・,−0,+0,−0,−0,−0,・・・である場合、連続回数の系列は、・・・、1、0、0、・・・となる。符号語Bの連続回数の系列を得る場合については、上述の説明において、「符号語A」を符号語B、「符号語B」を符号語Aに読み替えればよい。
次に、第1符号化部110が二種類の符号語が交互に連続する回数(以下、単に連続回数とも云う。)の系列を得る場合について説明する。この場合、二種類の符号語のうち一方を連続回数を数え始める基準として採用することができる。また、連続の終了は、フレーム終端を除き、同じ符号語が隣り合う並びとなることで齎される。例えば、符号語“+0”を連続回数を数え始める基準として採用した場合、フレーム中の符号語の並びが+0,−0,+0,−0,+0,+0とすると、連続回数は5である。符号語“−0”を連続回数を数え始める基準として採用した場合、上記の符号語の並びでは、連続回数は4である。第1符号化部110が二種類の符号語が交互に連続する回数の系列を得るべきフレームについて、予め設定された符号語が連続回数を数え始める基準として採用される実施形態が簡便な形態であるが、連続回数を数え始める基準となる符号語をフレーム毎に変更する実施形態や、全フレームのうち少なくとも一つのフレームにおいて一方の符号語を連続回数を数え始める基準と他方の符号語を連続回数を数え始める基準の両方を採用する実施形態も許容される。
第1符号化部110は、上記基準を用いて、フレームの始端から順に二種類の符号語が交互に連続する回数を検出し、連続回数の系列を得る。このとき、フレームの始端の符号語が連続回数を数え始める基準として採用された符号語Rである場合、第1符号化部110は、後述の「フレーム中で上記基準に採用された符号語Rが連続する場合」に従って連続回数を求める。例えば符号語“+0”を上記基準に採用し、フレームの始端部の符号語の並びが+0,+0,+0,−0,+0,−0,+0,+0,・・・である場合、連続回数の系列は、1、5、・・・となる。また、フレームの始端の符号語が連続回数を数え始める基準として採用されなかった符号語Sである場合、第1符号化部110は、フレーム始端の直前の符号語が上記基準として採用されなかった符号語Sであると看做して、後述の「フレーム中で上記基準に採用されなかった符号語Sが現われる場合」に従って連続回数を求める。例えば符号語“+0”を上記基準に採用し、フレームの始端部の符号語の並びが−0,−0,+0,−0,+0,−0,+0,+0,・・・である場合、連続回数の系列は、0、0、5、・・・となる。
また、第1符号化部110は、フレームに含まれる最後の符号語については、その次の符号語がフレーム終端の符号語と同じ符号語であると看做して処理をする。例えば符号語“+0”を上記基準に採用し、フレームの終端部の符号語の並びが・・・,+0,+0,−0,+0,−0,+0である場合、連続回数の系列は、・・・、5となり、フレームの終端部の符号語の並びが・・・,+0,+0,−0,+0,−0である場合、連続回数の系列は、・・・、4となる。
また、第1符号化部110は、フレーム中で上記基準に採用されなかった符号語Sが現われる場合には、当該符号語Bが二種類の符号語A,Bが交互に連続する符号語の並びの中に現われる場合を除き、当該符号語Sの一つにつき連続回数を0とする。但し、連続の終了を齎す当該符号語Sの連続については当該符号語Bの連続を数えない。これは、(1)フレーム中で上記基準に採用されなかった符号語Sは、当該符号語Sから連続回数を数え始めることがない、(2)連続の終了は、フレーム終端を除き、同じ符号語が隣り合う並びとなることで齎されるから、連続回数が偶数か奇数かによって連続終了の符号語を決定できる、からである。また、第1符号化部110は、フレーム中で上記基準に採用された符号語Rが連続する場合には、二つの当該符号語Rの並びにつき連続回数を1とする。但し、連続の終了を齎す当該符号語Rの連続については、当該符号語Aの連続を数えない。これは、(1)フレーム中で上記基準に採用された符号語Rは、当該符号語Rから連続回数を数え始められる、(2)連続の終了は、フレーム終端を除き、同じ符号語が隣り合う並びとなることで齎されるから、連続回数が偶数か奇数かによって連続終了の符号語を決定できる、からである。例えば、符号語“+0”を上記基準に採用し、符号語の並びがフレームの始端から−0,−0,−0,+0,+0,−0,+0,−0,+0,+0,+0,+0,+0,−0,−0,−0,−0,+0,−0,+0,+0,−0,+0,−0,−0,+0,−0,−0,・・・である場合、この符号語の並びは記号“/”で符号語の連続の区切りを表すと、−0,/−0,/−0,/+0,+0,/−0,/+0,−0,+0,+0,/+0,+0,/+0,−0,−0,/−0,/−0,/+0,−0,+0,+0,/−0,/+0,−0,−0,/+0,−0,−0,/・・・となるので、連続回数の系列は、0、0、0、1、0、3、1、2、0、0、3、0、2、2、・・・となる。
第1符号化部110は、連続回数の系列を得る処理で得られた連続回数の系列を表わす符号を出力する。連続回数の系列の各連続回数を二進数表現としてビット列としたものを連続回数の系列を表わす符号としてもよいし、連続回数の系列に対してロスレス符号化を行って得られる符号を連続回数の系列を表わす符号としてもよい。ロスレス符号化として、Unary符号化、Golomb符号化、Rice符号化などが例示される。ここでは、可変長符号化であるRice符号化またはGolomb符号化を用いた例を説明する。
まず、Rice符号化を用いて連続回数の系列を符号化する例を説明する。符号語Aまたは符号語Bの連続回数の系列を得て、更にRice符号化を用いて連続回数の系列を符号化した場合の符号量を示す。この例では、音響信号を1フレーム当たり40サンプルとしてG.711で符号化した場合を例に採り、或るフレーム(以下、フレームαと云う。)においてG.711符号語列が+0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, -0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, -0, +0, +0, +0, +0, +0, +0であるとする。このフレームαの符号量は、1サンプルにつき8ビットの符号語が与えられていることに留意すると(上記非特許文献1参照)、8bit×40個=320bit(40byte)である。
符号語“+0”の連続回数を得る処理を行うと、上記のフレームαでは連続回数の系列として1,4,4,3,4,12,6が得られる。従って、この連続回数の系列をRice符号化すると、一例として下記の符号語の並び(Rice符号)が得られる。なお、SはRiceパラメータである。
S=1 : 11 0010 0010 011 0010 00000010 00010 (30bit)
S=2 : 101 0100 0100 111 0100 000100 0110 (28bit)
S=3 : 1001 1100 1100 1011 1100 01100 1110 (29bit)
この例では、連続回数の値に対してRice符号化の際に求められる商、余りに対応した符号を商、余りの順で連結して符号語とした。従って、この例に限らず、余り、商の順で連結して符号語を得ることもできる。この場合、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は下記のとおりである。
S=1 : 11 0001 0001 101 0001 00000001 00001 (30bit)
S=2 : 011 0001 0001 111 0001 000001 1001 (28bit)
S=3 : 0011 1001 1001 0111 1001 10001 1101 (29bit)
また、商の符号はUnary符号化で得られるから、商を表す符号の0と1を反転させてもよい。この場合、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は下記のとおりである。
S=1 : 10 0110 0110 110 0110 01111110 01110 (30bit)
S=2 : 010 0010 0010 110 0010 001110 1010 (28bit)
S=3 : 0010 1000 1000 0110 1000 10010 1100 (29bit)
また、二種類の符号語が交互に連続する回数の系列を得て、更にRice符号化を用いて連続回数の系列を符号化した場合の符号量を示す。この例では、音響信号を1フレーム当たり40サンプルとしてG.711で符号化した場合を例に採り、或るフレーム(以下、フレームβと云う。)においてG.711符号語列が+0, +0, +0, -0, +0, -0, -0, +0, -0, +0, -0, -0, +0, -0, +0, +0, +0, -0, +0, -0, -0, +0, -0, +0, -0, +0, -0, +0, -0, +0, -0, +0, -0, -0, +0, -0, +0, -0, +0, -0であるとする。このフレームβの符号量は、1サンプルにつき8ビットの符号語が与えられていることに留意すると(上記非特許文献1参照)、8bit×40個=320bit(40byte)である。
符号語“+0”を連続回数を数え始める基準として処理を行うと、上記のフレームβでは連続回数の系列として1,4,4,3,4,12,6が得られる(+0,+0,/+0,-0,+0,-0,-0,/+0,-0,+0,-0,-0,/+0,-0,+0,+0,/+0,-0,+0,-0,-0,/+0,-0,+0,-0,+0,-0,+0,-0,+0,-0,+0,-0,-0,/+0,-0,+0,-0,+0,-0)。従って、この連続回数の系列をRice符号化すると、フレームαで説明したRice符号と同じRice符号が得られる。
これらの例の他、例えば上記非特許文献2に開示されるRice符号化に従って連続回数の系列のRice符号を得てもよい。
一般的に、計数基準が固定されているとしても、RiceパラメータSに応じて得られる符号語の並び(Rice符号)の符号量は異なる。例えば、両方の計数基準を採用する上記例示の実施形態では、各基準ごとに得られる連続回数の系列に対して複数のRiceパラメータSに応じたRice符号化が適用されるから、複数のRice符号が得られ、これらの符号量は異なるのが一般的である。従って、得られた連続回数の系列のRice符号として、符号量が最小である符号語の並びを選択すればよい。この符号語の並びが第1符号化部110が出力する符号である。
RiceパラメータSは、フレームに含まれるサンプル数をnとしたとき、n<2を満たす最小の整数Rに対して、1≦S≦Rを満たす整数とする。例えば、上記の例のように1フレームに40サンプルが含まれる場合には、40<2を満たす最小整数Rは6であるから、S=1,2,3,4,5,6である。但し、1≦S≦Rを満たす全ての整数についてRice符号を求めるのではなく、その一部についてのみRice符号を求めるとしてもよい。
なお、RiceパラメータSを仮に0とした場合は、例えば符号語“+0”を二進数の0、符号語“−0”を二進数の1として、G.711符号語を1ビットで表現する符号化に等価である。つまり、第1符号化部110は、G.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化方法を採用することもできる。この場合、例えば符号語“+0”を二進数の0、符号語“−0”を二進数の1で表すことにすると、上記例示したG.711符号語列(フレームα)は0100001000010001000010000000000001000000となる。この符号量は、40bit(5byte)である。また、上記例示したG.711符号語列(フレームβ)は0001011010110100010110101010101011010101となる。この符号量は、40bit(5byte)である。
上述の例では、第1符号化部110が出力する符号の符号量は、いずれの符号化方法であっても高々40bit程度であり、G.711符号語列の符号量320bitに比べて十分に圧縮されたことになる。
これまでの説明から明らかなように、連続回数の系列をRice符号化して得られる符号語の並び(Rice符号)は、連続回数を数え始める基準とRiceパラメータSとの組み合わせに依存するため、唯一に決定されるものではない。例えば、符号語“−0”を連続回数を数え始める基準として採用すると、上記のフレームβの例では連続回数の系列として0,0,0,3,0,3,0,1,0,3,0,11,0,5が得られ(+0,/+0,/+0,/-0,+0,-0,-0,/+0,/-0,+0,-0,-0,/+0,/-0,+0,+0,/+0,/-0,+0,-0,-0,/+0,/-0,+0,-0,+0,-0,+0,-0,+0,-0,+0,-0,-0,/+0,/-0,+0,-0,+0,-0)、この連続回数の系列をRice符号化して得られるRice符号は、符号語“+0”を連続回数を数え始める基準として得られた連続回数の系列をRice符号化して得られるRice符号とは異なる。従って、復号化の際には、符号化の際に用いられた具体的な符号化方法が判明していなければならない。このため、特定の符号化方法を予め決めておくか、エンコーダ(符号化装置1)が使用した符号化方法を特定するための符号をデコーダ(後述する復号装置2)に送信する方法などが考えられる。そこで、この符号の符号量についても説明を加える。
上記の例でRiceパラメータSの値が1,2,3,4,5,6のいずれかである場合、RiceパラメータSを表現するための符号の符号量は3ビットあれば十分である。さらに、連続回数の計数基準が、符号語“+0”の連続回数、符号語“−0”の連続回数、二種類の符号語が交互に連続する回数のいずれであるかを表現するための符号の符号量は2ビットあれば十分である。また、G.711符号語列に含まれる二種類の符号語を1ビットで表現する二進符号化を許容した場合でも、符号化方法を表す符号の符号量として下記のように3ビットあれば十分である。なお、これらの符号は第1符号化部110が、Rice符号と共に出力する。
符号化方法を表す符号の例
(1)00:G.711符号語列に含まれる二種類の符号語を1ビットで表現する二進符号化
(2)01:符号語“+0”の連続回数を得る
(3)10:符号語“−0”の連続回数を得る
(4)110:二種類の符号語が交互に連続する回数の系列を得る
(符号語“+0”が連続回数を数え始める基準)
(5)111:二種類の符号語が交互に連続する回数の系列を得る
(符号語“−0”が連続回数を数え始める基準)
また、Rice符号を求める際に用いるRiceパラメータSの範囲を、符号化方法に応じて変更する実施形態が許容される。例えばR=6の場合、上記の「符号化方法を表す符号の例」の(1)−(3)については、1≦S≦6を満たす各RiceパラメータSにつきRice符号を求める、(4)および(5)については、1≦S≦4を満たす各RiceパラメータSにつきRice符号を求めるようにしてもよい。RiceパラメータSの範囲を、符号化方法に応じて変更することによって、符号量を低減することができる。上記の例であれば、(4)および(5)の場合に符号化方法を表す符号量として、(1)−(3)の場合に必要となる符号化方法を表す符号量2ビット(00,01,10)よりも1ビット多い3ビット(111,110)を必要とするから、1≦S≦4を満たす各RiceパラメータSにつきRice符号を求めることで、RiceパラメータSを表現するための符号量を、1≦S≦6を満たす各RiceパラメータSを表現するための符号量3ビットよりも1ビット少ない2ビットに低減している。
結局、連続回数の系列に対するRice符号化によって、Rice符号の符号量と、RiceパラメータSを表現するための符号の符号量と、連続回数の計数基準やG.711符号語列に含まれる二種類の符号語を1ビットで表現する二進符号化であることを表現するための符号の符号量、さらには、Rice符号化の具体的な仕様を特定するための符号の符号量などを合計した符号量が必要となる場合があるが、このような場合であっても上記の例では高々数十ビット程度あれば十分であり、G.711符号語列の符号量320bitに比べて十分に圧縮されたことになる。
次に、Golomb符号化を用いて連続回数の系列を符号化する例を説明する。
Rice符号化の場合と同様に、音響信号を1フレーム当たり40サンプルとしてG.711で符号化した場合を例に採り、上記フレームαにおいて符号語“+0”を連続回数を得る計数基準とすると、連続回数の系列として1,4,4,3,4,12,6が得られる。また、音響信号を1フレーム当たり40サンプルとしてG.711で符号化した場合を例に採り、上記フレームβにおいて符号語“+0”を連続回数を数え始める基準として二種類の符号語が交互に連続する回数の系列を得ると、この例では連続回数の系列として1,4,4,3,4,12,6が得られる。
ここで連続回数の総和をv、フレームに含まれるサンプル数をnとして、式(1)と式(2)に従って、Golombパラメータmとcを求める。記号┌・┐は天井関数を表す。また、常にv≦nが成立する。
Figure 0004871420
連続回数の系列に表れる連続回数の値(上記のフレームαの例では、1,4,4,3,4,12,6の各値であり、上記のフレームβの例では、1,4,4,3,4,12,6,0の各値である。)をtとすると、tのGolomb符号は、式(3)で求まる商qをUnary符号化し、式(4)で求まる余りrについて、rが0から2−m−1までの値であればrをc−1ビットのバイナリ符号で符号化し、rが2−m以上の値であればr+2−mをcビットのバイナリ符号で符号化して、さらに商qのUnary符号と余りrのバイナリ符号を連結することで得られる。但し、cが整数である場合には、rをcビットのバイナリ符号で符号化すればよく、これはRice符号化に相当する。記号└・┘は床関数を表す。
Figure 0004871420
連続回数の系列に表れる連続回数の値を順にGolomb符号で表すことで、連続回数の系列に対するGolomb符号化による符号語の並び(Golomb符号)が得られる。この符号語の並びが第1符号化部110が出力する符号である。勿論、Rice符号化の場合と同様に、Golombパラメータを表現するための符号、連続回数の計数基準やG.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化であることを表現するための符号、さらには、Golomb符号化の具体的な仕様を特定するための符号なども、必要に応じて第1符号化部110が出力する。
Rice符号化やGolomb符号化については、参考文献2に詳しい。
(参考文献2)David Salomon, "Data Compression : The Complete Reference," 3rd edition, Springer-Verlag, ISBN-10: 0-387-40697-2, 2004.
Golomb符号化の場合、Golombパラメータmもデコーダ(後述する復号装置2)に伝える必要がある。式(1)から明らかなように、連続回数の総和vが大きくなるとGolombパラメータmの値も大きくなるため、mを表すバイナリ符号の符号量も大きくなってしまう。そこで、Golombパラメータmの縮退化を考える。このことを図3を参照して説明する。
図3は、1フレームのサンプル数(フレーム長)を160とした場合に、連続回数の総和vとGolombパラメータmと縮退Golombパラメータm’との関係を示したものである。ここでmは、1フレームのサンプル数の範囲で出現する可能性のある全ての連続回数の総和v(この例では1≦v≦159)に対応するGolombパラメータの値を示している。縮退Golombパラメータm’は、Golombパラメータを例えば16通りに制約して、当該フレームで選択された縮退Golombパラメータm’の値の符号量が伝送の際に所定の符号量に収まるように圧縮された値である。つまり、当該フレームで選択されたGolombパラメータをデコーダへ伝送するために通信路で使用できる最大符号量を例えば4ビット(16通り)に設定した場合に、式(1)で求まる本来のGolombパラメータmを4ビット(16通り)に収まるように圧縮した結果が縮退Golombパラメータm’である。この圧縮方法は種々考えられるが、図3では、本来のGolombパラメータmが大きくなる程に圧縮率を大きくする非線形圧縮を例示していて、具体的には、所定範囲のvの各値に対応した各Golombパラメータmのうち最小の値を、当該所定範囲のvに対応した縮退Golombパラメータm’としている。図4は、図3に基づいて、4ビットの各符号が表す、連続回数の総和vと縮退Golombパラメータm’とcの各値を示している。
[ステップSc3]
符号化装置1の第2符号化部120は、フレーム毎に、判定部100から入力された符号語列に対して第1符号化部110による符号化と異なるロスレス符号化を行い、ロスレス符号化後の符号を出力する。以下、第2符号化部120が出力する符号を「第2の符号」と呼ぶ。なお、第2符号化部120に入力される符号語列には、+0、−0の二種類以外の符号語が含まれる。
第2符号化部120による符号化は、第1符号化部110による符号化と異なる符号化という条件を満たす限り、特別の限定はない。例えば、何ら符号化をしない符号化(最広義の符号化)も許容される。つまり、第2符号化部120はG.711の符号語列をそのまま出力してもよい。また、第2符号化部120は、G.711の符号語列に対して線形予測符号化を行ってもよい。
なお、μ則やA則のように対数圧伸符号化された信号に対して線形予測符号化を行うよりも、対数圧伸符号化された信号(対数圧伸符号)を線形PCM符号に変換してからこの線形PCM符号に対して線形予測符号化を行い、得られた予測係数を使って求められた予測値を対数圧伸符号に変換して、元の対数圧伸符号と予測値の対数圧伸符号との残差を符号化する方が圧縮率が向上することが知られている(参考文献3)。
(参考文献3)Ghido, F. & Tabus, I., "Accounting for companding nonlinearities in lossless audio compression", Proc. ICASSP, Vol.1, pp.261-264, 2007.
そこで、第2符号化部120は、G.711符号語列を線形PCM符号に変換してからこの線形PCM符号に対して線形予測分析を行い、得られた予測係数を使って求められた予測値を非線形PCM符号に変換して、元のG.711符号語列と予測値の非線形PCM符号との残差を符号化するという線形予測符号化を行ってもよい。この場合の機能ブロック図を図5に示す。
線形PCM変換部121は、G.711符号語列を線形PCM符号に変換する。予測分析部122は、得られた線形PCM符号を予測分析して、線形予測係数を求める。予測係数量子化部123は、線形予測係数を量子化して量子化予測係数を出力する。線形予測部124は、量子化予測係数と線形PCM符号から予測値を求める。非線形PCM変換部125は、予測値を非線形PCM符号に変換する。残差算出部126は、元のG.711符号語列と予測値の非線形PCM符号との残差を求める。残差符号化部127は、求められた残差を符号化して残差符号を出力する。係数符号化部128は、量子化予測係数を符号化して出力する。残差に適用する符号化方法と、量子化予測係数に適用する符号化はそれぞれ予め定められている符号化方法である。
上述の実施形態の変形例として、図6に示すような処理を採用することもできる。
Rice符号化やGolomb符号化は可変長符号化であるから、連続回数の系列次第で、Rice符号やGolomb符号の符号量が、G.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化で得られる符号の符号量よりも多くなる可能性が否定できない。そこで第1符号化部110は、G.711符号語列に含まれる二種類の符号語を1ビットで表現する二進符号化を実行して得られる符号と、上記四分類92パターンのうち採用されたパターンに拠る連続回数の系列に対してロスレス符号化(Rice符号化やGolomb符号化など)を行って得られる符号のうち、より少ない符号量を持つ符号を出力する(図6のステップSc2a)。なお、連続回数の系列に対してロスレス符号化を行う二段階符号化方法で得られる符号は、一種類の二段階符号化方法で得られた符号に限らず、上記採用パターンと同じパターンに属する複数種類の二段階符号化を実行して得られた各符号のうち最小の符号量を持つ符号であってもよい。ここで複数種類の二段階符号化として、計数基準に応じた連続回数の系列とRice符号化やGolomb符号化などの複数種類のロスレス符号化との組合せで得られる二段階符号化が例示される。第1符号化部110は、出力した符号に対応する符号化方法を表す符号、つまりG.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化方法または連続回数の系列に対してロスレス符号化を行う符号化方法を表す符号も出力する。
また、上述の実施形態の変形例として、図7に示すような構成を採用することもできる。この構成では、第3符号化部130が追加されている。
符号化装置1の判定部100は、フレーム毎に、(1)G.711符号語列に+0、−0の二種類以外の符号語が含まれない、(2)G.711符号語列に一種類のみの符号語が含まれる、(3)前記いずれのケースにも該当しない、のいずれであるかを判定する(図8のステップSc1b)。
判定部100は、(1)に該当する場合、当該G.711符号語列を第1符号化部110に送る制御を行い、(3)に該当する場合、当該G.711符号語列を第2符号化部120に送る制御を行い、(2)に該当する場合、当該G.711符号語列を第3符号化部130に送る制御を行う。
第1符号化部110の処理内容、第2符号化部120の処理内容は既述のとおりであるから説明を略する。
符号化装置1の第3符号化部130は、符号語列が一種類のみの符号語を含むことを表す符号を出力するロスレス符号化を行う(図8のステップSc4)。以下、第3符号化部130が出力する符号を「第3の符号」と呼ぶ。例えば、符号語列に符号語“+0”のみが含まれるならば、符号語列に符号語“+0”のみが含まれることを表す符号を出力する。ただし、すべての符号語について当該符号語のみが含まれることを表す符号を予め規定しておくことは無駄であるから、一部の符号語(例えば、“+0”と“−0”)について当該符号語のみが含まれることを表す符号を予め規定しておき、それ以外の符号語については、一種類のみの符号語を含むことを表す符号と共に符号語を出力するようにしてもよい。例えばフレームに符号語“00011001”のみが含まれるとして、符号語列に符号語“00011001”のみが含まれることを表す符号が予め規定されていない場合には、一種類のみの符号語を含むことを表す符号と共に符号語“00011001”を出力する。
合成部50は、判定部100が出力した符号化特定符号と、第1符号化部110が出力した第1の符号と第2符号化部120が出力した第2の符号と第3符号化部130が出力した第3の符号の何れかと、をまとめたビットストリームを出力する。ただし、第3符号化部130を備えない場合は、ビットストリームには第3の符号は含まれない。或るフレームに対して第1符号化部110が符号化した場合には、このフレームでは、第1符号化部110が出力した符号、Riceパラメータ(Golombパラメータ)を表現するための符号、符号化方法を表す符号などと判定部100が出力した符号化特定符号がまとめられる。或るフレームに対して第2符号化部120が符号化した場合には、このフレームでは、第2符号化部120が出力した符号、例えば予測係数符号、残差符号などと判定部100が出力した符号化特定符号がまとめられる。或るフレームに対して第3符号化部130が符号化した場合には、このフレームでは、第3符号化部130が出力した符号と判定部100が出力した符号化特定符号がまとめられる。ビットストリームは、図9に示す分離部40に入力される。分離部40は、ビットストリームを逆多重化して、符号化装置1から出力されたフレームごとの符号や符号化特定符号を得る。これらの符号は復号装置2に入力される。
<復号処理>
次に、図9から図11を参照して、復号装置2における復号処理の流れを叙述的に説明する。
ビットストリームは、図9に示す復号装置2の分離部40に入力される。分離部40は、ビットストリームを分離して、フレームごとの情報符号と符号化特定符号を得る。
[ステップSd1]
まず、復号装置2の判定部200は、フレーム毎に、入力された符号化特定符号が第1符号化が選択されたことを表す符号である場合、入力された情報符号を第1復号部210に送る制御を行い、それ以外の場合、つまり符号化特定符号が第2符号化が選択されたことを表す符号である場合、入力された情報符号を第2復号部220に送る制御を行う。
[ステップSd2]
復号装置2の第1復号部210は、判定部200から送られた情報符号について、下記の復号処理を行い、この復号処理で得られたG.711符号語列を出力する。判定部200から第1復号部210に送られた情報符号は、復号処理で得られるG.711符号語列において特定の二種類の符号語が交互に連続する回数の系列または一方の符号語が連続する系列または他方の符号語が連続する系列を表わす符号である。
第1復号部210における情報符号の復号は、次のようにして達成される。まず、入力された情報符号から、特定の二種類の符号語が交互に連続する回数の系列または一方の符号語が連続する系列または他方の符号語が連続する系列を得る。入力された情報符号がロスレス符号化されたものである場合は、入力された情報符号に対して、第1符号化部におけるロスレス符号化に対応する復号を行い、特定の二種類の符号語が交互に連続する回数の系列または一方の符号語が連続する系列または他方の符号語が連続する系列を得る。次に、特定の二種類の符号語が交互に連続する回数の系列または一方の符号語が連続する系列または他方の符号語が連続する系列から、特定の二種類の符号語以外を含まないG.711符号語列を得る。Riceパラメータ(Golombパラメータ)や連続回数を数え始める基準とする符号語などは、符号化装置1と復号装置2とで同一のものを第1復号部内に記憶しておく。Riceパラメータ(Golombパラメータ)や連続回数を数え始める基準とする符号語などが復号装置2に予め記憶されていない場合には、Riceパラメータ(Golombパラメータ)や連続回数を数え始める基準とする符号語などを示す情報を符号化装置1で生成するビットストリームに含めておき、復号装置2に入力されたビットストリームからRiceパラメータ(Golombパラメータ)や連続回数を数え始める基準とする符号語など取り出せばよい。Rice符号化、Golomb符号化に対応する各復号処理は、例えば上記参考文献2に詳しいので、詳細な説明を略する。
第1のロスレス符号化が、二種類の符号語を1ビットで表す二進符号化である場合には、二進数のビットの並びがそのまま符号語の並びに対応するので、二進数のビットを対応する符号語に置換することで復号できる。
第1符号化であるロスレス符号化が、二種類の符号語を1ビットで表す符号化を行って得られる符号と、連続回数の系列に対応して得られる符号のうち、より少ない符号量を持つ符号である場合には、符号化装置1から送信されたビットストリームを逆多重化して得られる、いずれの符号を選択したかを表す符号に従い、上述した復号処理を行えばよい。
[ステップSd3]
復号装置2の第2復号部220は、フレーム毎に、入力された情報符号の復号を行い、この復号処理で得られたG.711符号語列を出力する。復号処理の詳細は、符号化装置1の第2符号化部120が行うであるロスレス符号化に対応する処理を行う。
第2符号化であるロスレス符号化が、例えば、G.711符号語列を線形PCM符号に変換してからこの線形PCM符号に対して線形予測分析を行い、得られた予測係数を使って求められた予測値を非線形PCM符号に変換して、元のG.711符号語列と予測値の非線形PCM符号との残差を符号化するものである場合について、第2復号部220の復号処理を説明する(図11参照)。
分離部60は、判定部200から送られたフレームに対して逆多重化を適用し、このフレームに含まれる残差符号と予測係数符号を得る。係数復号部70は、分離部60が出力した予測係数符号を復号して予測係数を出力する。第2復号部220の残差復号部221は、分離部60が出力した残差符号を復号して残差を出力する。加算部223は、この残差に線形予測部222が出力した予測値を加算してG.711符号語列を出力する。線形予測部222は、係数復号部70が出力した予測係数と加算部223が出力したG.711符号語列から線形予測による予測値を出力する。なお、分離部60を第2復号部220の必須の構成要素としない構成も許される。この場合、分離部60は、判定部200と第2復号部220との間に介在する、復号装置2の構成要素となる。
[ステップSd4]
復号装置2の結合部80は、第1復号部210が出力したG.711符号語列あるいは第2復号部220が出力したG.711符号語列をフレームの順番に従って連結して復号符号語列として出力する。この復号符号語列は、符号化装置1のバッファ部30の入力であるG.711符号語列に対応する。
上述の実施形態の変形例として、図12に示すような復号処理を採用することもできる。この復号処理は、符号化装置1の第1符号化部110が、G.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化を実行して得られる符号と、連続回数の系列に対応して得られる符号のうち、より少ない符号量を持つ符号を出力する構成である場合に対応する復号処理である。
この復号処理では、第1復号部210が、G.711符号語列に含まれる二種類の符号語を1ビットで表現する符号化方法または特定の計数基準に従って得られる特定の二種類の符号語についての連続回数の系列を表す符号に対応した復号方法によって、判定部200から送られた情報符号について符号の復号を行い、この復号処理で得られたG.711符号語列を出力する(図12のステップSd2a)。
また、上述の実施形態の変形例として、図13に示すような構成を採用することもできる。この構成は、符号化装置1が第3符号化部130も備える場合に対応した構成であり、復号装置2に第3復号部230が追加されている。
復号装置2の判定部200は、フレーム毎に、入力された情報符号が、(1)特定の二種類以外の符号語が含まれないG.711符号語列に対して第1符号化が適用されて得られた符号である、(2)G.711符号語列に一種類の符号語のみが含まれることを表す符号である、(3)前記いずれのケースにも該当しない、のいずれであるかを判定する(図14のステップSd1b)。この判定は、入力された符号化特定符号によって判別される。
判定部200は、(1)に該当する場合、当該情報符号を第1復号部210に送る制御を行い、(3)に該当する場合、当該情報符号を第2復号部220に送る制御を行い、(2)に該当する場合、当該情報符号を第3復号部230に送る制御を行う。
第1復号部210の処理内容、第2復号部220の処理内容は既述のとおりであるから説明を略する。
第3復号部230は、入力された情報符号について、一種類の符号語を表す符号に基づいて復号を行い、この復号処理で得られたG.711符号語列を出力する(図14のステップSd2b)。この場合、復号装置2の結合部80は、第1復号部210が出力したG.711符号語列、第2復号部220が出力したG.711符号語列並びに第3復号部230が出力したG.711符号語列をフレームの順番に従って連結して復号符号語列を出力する(図14のステップSd4b)。
以上の各実施形態の他、本発明である符号化装置・方法、復号装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、非線形量子化方式はA則であってもよく、この場合は、上記実施形態の符号語“+0”と“−0”を“+8”と“−8”に読み替えればよい。また、上述の説明に現れる技術的特徴を互いに矛盾しない範囲で自由に組み合わせて実施できる。
また、上記符号化装置、復号装置における処理機能をコンピュータによって実現する場合、符号化装置、復号装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記符号化装置、復号装置における処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、符号化装置、復号装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1. 最小量子化インターバルが二つ存在しそれぞれに対して一意の符号語が与えられている符号化方法によって音響信号が符号化された符号語を入力として、
    複数サンプル分の上記入力符号語により構成されるフレーム毎に、上記二つの最小量子化インターバルそれぞれに与えられた二種類の符号語以外が含まれないフレームについて、上記二種類の符号語の総数に対する上記二種類の符号語のうち一方の符号語Aの数の割合Pに応じて、少なくとも、上記一方の符号語Aの連続回数の系列、上記二種類の符号語のうち他方の符号語Bの連続回数の系列、のいずれかを得て、得られた連続回数の系列に対応する符号を出力する第1符号化ステップ
    を含む符号化方法。
  2. 最小量子化インターバルが二つ存在しそれぞれに対して一意の符号語が与えられている符号化方法によって音響信号が符号化された符号語を入力として、
    複数サンプル分の上記入力符号語により構成されるフレーム毎に、上記二つの最小量子化インターバルそれぞれに与えられた二種類の符号語以外が含まれないフレームについて、上記二種類の符号語の総数に対する上記二種類の符号語のうち一方の符号語Aの数の割合Pに応じて、少なくとも、上記一方の符号語Aの連続回数の系列、上記二種類の符号語のうち他方の符号語Bの連続回数の系列、のいずれかを得て、得られた連続回数の系列に対応する符号を出力する第1符号化部
    を含む符号化装置。
  3. 複数の符号語に対応するフレーム毎に、入力された識別符号に従って、入力された情報符号が二進符号化された符号であるか二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を表わす符号であるかを識別するサブステップと、
    上記情報符号が二進符号化された符号であると識別された場合には、上記情報符号を二進復号化して出力符号語列を得るサブステップと、
    上記情報符号が二進符号化された符号であるか二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を表わす符号であると識別された場合には、上記情報符号から、二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を求め、この連続回数の系列から二種類の符号語の並びを出力符号語列とするサブステップと、
    を有する第1復号ステップ
    を含む復号方法。
  4. 複数の符号語に対応するフレーム毎に、入力された識別符号に従って、入力された情報符号が二進符号化された符号であるか二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を表わす符号であるかを識別する手段と、
    上記情報符号が二進符号化された符号であると識別された場合には、上記情報符号を二進復号化して出力符号語列を得る手段と、
    上記情報符号が二進符号化された符号であるか二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を表わす符号であると識別された場合には、上記情報符号から、二つの最小量子化インターバルそれぞれに与えられた二種類の符号語のうち一方の符号語の連続回数の系列または他方の符号語の連続回数の系列を求め、この連続回数の系列から二種類の符号語の並びを出力符号語列とする手段と、
    を備えた第1復号部
    を含む復号装置。
  5. 請求項1に記載の符号化方法の手順をコンピュータに実行させるための符号化プログラム。
  6. 請求項3に記載の復号方法の手順をコンピュータに実行させるための復号プログラム。
JP2011133475A 2011-06-15 2011-06-15 符号化方法、符号化装置、復号方法、復号装置及びプログラム Active JP4871420B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011133475A JP4871420B2 (ja) 2011-06-15 2011-06-15 符号化方法、符号化装置、復号方法、復号装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011133475A JP4871420B2 (ja) 2011-06-15 2011-06-15 符号化方法、符号化装置、復号方法、復号装置及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009100697A Division JP4787889B2 (ja) 2009-04-17 2009-04-17 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2011223615A JP2011223615A (ja) 2011-11-04
JP4871420B2 true JP4871420B2 (ja) 2012-02-08

Family

ID=45039871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011133475A Active JP4871420B2 (ja) 2011-06-15 2011-06-15 符号化方法、符号化装置、復号方法、復号装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4871420B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6154592B2 (ja) * 2012-09-11 2017-06-28 Necエンジニアリング株式会社 圧縮装置、伸張装置、圧縮伸張装置、圧縮方法、圧縮制御プログラム、および音声データ構造

Also Published As

Publication number Publication date
JP2011223615A (ja) 2011-11-04

Similar Documents

Publication Publication Date Title
US8712783B2 (en) Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes
US8068042B2 (en) Coding method, decoding method, and apparatuses, programs and recording media therefor
AU2010256191B2 (en) Compression coding and decoding method, coder, decoder and coding device
JP5688861B2 (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
US8558724B2 (en) Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
JP5337235B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
JP5236005B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP4871420B2 (ja) 符号化方法、符号化装置、復号方法、復号装置及びプログラム
JP4918108B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP4787889B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
GB2342828A (en) Speech parameter compression; distributed speech recognition
JP4834179B2 (ja) 符号化方法、その装置、プログラム及び記録媒体
JP4091506B2 (ja) 2段音声画像符号化方法、その装置及びプログラム及びこのプログラムを記録した記録媒体
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP4848049B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
US9070362B2 (en) Audio quantization coding and decoding device and method thereof
Paul et al. Efficient Speech Compression Using Waveform Coding in Time Domain
JP2009139504A (ja) 符号化方法、復号化方法、これらの方法を用いた装置、プログラム、記録媒体
JPH0969000A (ja) 音声パラメータ量子化装置

Legal Events

Date Code Title Description
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: 20111108

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

R150 Certificate of patent or registration of utility model

Ref document number: 4871420

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350