[go: up one dir, main page]

JP4534112B2 - Encoding apparatus and method, decoding apparatus and method, recording medium, and program - Google Patents

Encoding apparatus and method, decoding apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4534112B2
JP4534112B2 JP2001169415A JP2001169415A JP4534112B2 JP 4534112 B2 JP4534112 B2 JP 4534112B2 JP 2001169415 A JP2001169415 A JP 2001169415A JP 2001169415 A JP2001169415 A JP 2001169415A JP 4534112 B2 JP4534112 B2 JP 4534112B2
Authority
JP
Japan
Prior art keywords
code string
encoding
negative
value
positive
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.)
Expired - Fee Related
Application number
JP2001169415A
Other languages
Japanese (ja)
Other versions
JP2002368622A (en
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001169415A priority Critical patent/JP4534112B2/en
Publication of JP2002368622A publication Critical patent/JP2002368622A/en
Application granted granted Critical
Publication of JP4534112B2 publication Critical patent/JP4534112B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、符号化装置および方法、復号装置および方法、記録媒体、並びにプログラムに関し、いわゆる高能率符号化によって入力ディジタルデータの符号化を行い、伝送、記録、再生し、復号化して、再生信号を得る場合に用いて好適な符号化装置および方法、復号装置および方法、記録媒体、並びにプログラムに関するものである。
【0002】
【従来の技術】
オーディオ或いは音声等の信号の高能率符号化の手法には種々あるが、例えば、時間軸上のオーディオ信号等をブロック化しないで、複数の周波数帯域に分割して符号化する非ブロック化周波数帯域分割方式である、帯域分割符号化(サブ・バンド・コーディング:SBC(Subband Coding))や、時間軸の信号を周波数軸上の信号に変換(スペクトル変換)して、複数の周波数帯域に分割し、各帯域毎に符号化するブロック化周波数帯域分割方式、いわゆる変換符号化等を挙げることができる。
【0003】
また、上述の帯域分割符号化と変換符号化とを組み合した高能率符号化の手法も考えられており、この場合には、例えば、帯域分割符号化で帯域分割を行った後、各帯域の信号を周波数軸上の信号にスペクトル変換し、このスペクトル変換された各帯域に符号化が施される。ここで上述した帯域分割のためのフィルタとしては、例えばQMFフィルタ(Quadrature Mirror Filter)があり、これに ついては、例えば、1976 R.E.Crochiere Digital coding of speech in subbands,Bell Syst.Tech. J. Vol.55,No.8 1976に、述べられている。
【0004】
また、ICASSP 83,BOSTON Polyphase Quadrature filters-A new subband coding technique, Joseph H. Rothweilerには、等バンド幅のフィルタ分割手法が述べられている。ここで、上述したスペクトル変換としては、例えば、入力オーディオ信号を所定単位時間(フレーム)でブロック化し、当該ブロック毎に離散フーリエ変換(Discrete Fourier Transform)(DFT)、離散コサイン変換(Discrete Cosine Transform)(DCT)、モディファイドDCT変換(Modified Discrete Cosine Transform)(MDCT)等を行うことで、時間軸を周波数軸に変換するようなスペクトル変換がある。MDCTについては、例えば、ICASSP 1987 Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation, J.P.Princen A.B.Bradley Univ. of Surrey Royal Melbourne Inst.of Tech.に述べられている。
【0005】
このようにフィルタやスペクトル変換によって帯域毎に分割された信号を量子化することにより、量子化雑音が発生する帯域を制御することができ、マスキング効果などの性質を利用して、聴覚的に、より高能率な符号化を行うことができる。また、ここで量子化を行う前に、各帯域毎に、例えばその帯域における信号成分の絶対値の最大値で正規化を行うようにすれば、さらに高能率な符号化を行うことができる。
【0006】
周波数帯域分割された各周波数成分を量子化する周波数分割幅としては、例えば人間の聴覚特性を考慮した帯域分割が行われる。すなわち、一般に臨界帯域(クリティカルバンド)と呼ばれている、高域程、帯域幅が広くなるような帯域幅で、オーディオ信号を複数(例えば32バント)の帯域に分割することがある。また、この時の各帯域毎のデータを符号化する際には、各帯域毎に所定のビット配分、或いは、各帯域毎に適応的なビット割当て(ビットアロケーシヨン)による符号化が行われる。
【0007】
例えば、前記MDCT処理されて得られた係数データを前記ビットアロケーションによって符号化する際には、前記各ブロック毎のMDCT処理により得られる各帯域毎のMDCT係数データに対して、適応的な割当てビット数で符号化が行われることになる。ビット割当手法としては、次の2手法が知られている。
【0008】
第1の手法は、Adaptive Transform Coding of Speech Signals,R.Zelinski and P.Noll, IEEE Transactions of Accoustics,Speech,and Signal Processing, vol. ASSP-25,No.4,August 1977に開示されている。ここでは、各帯域毎の信号 の大きさをもとに、ビット割当を行っている。この方式では、量子化雑音スペクトルが平坦となり、雑音エネルギーが最小となるが、聴感覚的にはマスキング効果が利用されていないために実際の雑音感は最適ではない。
【0009】
また第2の手法は、ICASSP 1980 The critical band coder-digital encoding of the perceptual requirements of the auditory system,M.A.Kransner MITに開示されている。ここには、聴覚マスキングを利用することで、各帯域に必要な信号対雑音比を得て、固定的なビット割当を行う手法が述べられている。しかしこの手法では、サイン波入力で特性を測定する場合でも、ビット割当が固定的であるために、特性値がそれほど良い値とならない。
【0010】
これらの問題を解決するために、ビット割当に使用できる全ビットが、各小ブロック毎にあらかじめ定められた固定ビット割当パターン分と、各ブロックの信号の大きさに依存したビット配分を行う分に分割使用され、その分割比を入力信号に関係する信号に依存させ、前記信号のスペクトルが滑らかなほど前記固定ビット割当パターン分への分割比率を大きくする高能率符号化装置が提案されている。
【0011】
この装置によれば、サイン波入力のように、特定のスペクトルにエネルギーが集中する場合には、そのスペクトルを含むブロックに多くのビットを割り当てる事により、全体の信号対雑音特性を著しく改善することができる。一般に、急峻なスペクトル成分をもつ信号に対して人間の聴覚は極めて敏感であるため、このような方法を用いる事により、信号対雑音特性を改善することは、単に測定上の数値を向上させるばかりでなく、聴感上、音質を改善するのに有効である。
【0012】
ビット割り当ての方法としては、この他にも数多くの方法が提案されており、さらに聴覚に関するモデルが精緻化され、符号化装置の能力があがれば、聴覚的にみてより高能率な符号化が可能になる。
【0013】
また本発明者らは、特願平5−152865号として、スペクトル信号から聴感上特に重要なトーン性の成分を分離して、他のスペクトル成分とは別に符号化する方法を先に提案した。これにより、オーディオ信号等を聴感上の劣化を殆ど生じさせずに、高い圧縮率で効率的に符号化することが可能になる。
【0014】
波形信号をスペクトルに変換する方法として、上述のDFTやDCTを使用した場合には、M個のサンプルからなる時間ブロックで変換を行うと、M個の独立な実数データが得られる。時間ブロック間の接続歪みを軽減するために、通常、両隣のブロックとそれぞれM1個のサンプルずつオーバーラップさせるので、平均して、DFTやDCTでは(M-M1)個のサンプルに対してM個の実数データを量子化して符号化することになる。
【0015】
これに対してスペクトルに変換する方法として上述のMDCTを使用した場合には、両隣の時間とN個ずつオーバーラップさせた2M個のサンプルから、独立なM個の実数データが得られるので、平均して、MDCTでは、M個のサンプルに対してM個の実数データを量子化して符号化することになる。復号装置においては、このようにしてMDCTを用いて得られた符号から、各ブロックにおいて逆変換を施して得られた波形要素を互いに干渉させながら加え合わせることにより、波形信号を再構成することができる。
【0016】
一般に変換のための時間ブロックを長くすることによって、スペクトルの周波数分解能が高まり、特定のスペクトル成分にエネルギーが集中する。従って、両隣のブロックと半分ずつオーバーラップさせて長いブロック長で変換を行い、しかも、得られたスペクトル信号の個数が、元の時間サンプルの個数に対して増加しないMDCTを使用することにより、DFTやDCTを使用した場合よりも効率の良い符号化を行うことが可能となる。また、隣接するブロック同士に十分長いオーバーラップを持たせることによって、波形信号のブロック間歪みを軽減することもできる。
【0017】
実際の符号列を構成するにあたっては、先ず、正規化および量子化が行われる帯域毎に量子化精度情報、正規化係数情報を所定のビット数で符号化し、次に、正規化および量子化されたスペクトル信号を符号化すれば良い。
【0018】
スペクトル信号を符号化するにあたっては、例えばハフマン符号のような可変長符号を用いる方法が知られている。ハフマン符号については、例えば、David A. Huffman, "A Method for the Construction of Minimum - Redundancy Codes",Proceedings of the I.R.E., pp1098-1101, Sep., 1952に述べられている。
【0019】
さらに複数のスペクトル信号をまとめて1つの符号で表現する多次元の可変長符号を用いる方法が知られている。一般に多次元の可変長符号を用いる符号化方法では、符号の次数が大きいほど、圧縮効率の面でより効率の良い符号化が行える。但し、次数が大きくなるに従って、符号列表の規模が飛躍的に増加してしまうため、実用面での問題が生じる。実際には圧縮効率と符号列表の規模を考慮しながら目的に応じた最適な次数が選択される。
【0020】
一般に音響波形信号では、基本周波数成分と基本周波数の整数倍の周波数成分、いわゆる倍音成分にエネルギーが集中する場合が多く、その周波数周辺のスペクトル信号は、いわゆる倍音成分に比べてレベルが非常に小さいため、0に量子化される確率が大きくなる。このような信号を効率良く符号化するためには、発生確率の大きな0に量子化されたスペクトル信号を、可能な限り少ない情報量で符号化すればよいことになる。1次元の可変長符号を用いる場合、各々のスペクトル信号が最短符号長の1ビットで符号化されたとしても、N本のスペクトルではNビットの情報が必要となる。次数Nの多次元の可変長符号を用いた場合では、N本のスペクトルを最短符号長の1ビットで符号化することが出来るため、前記のような周波数成分を持つ信号に対して効率の良い符号化が行える。
【0021】
但し、多次元の可変長符号を用いる符号化方法において、符号の次数を大きくすることは、圧縮効率の面でかなり有利に作用するものの、実用化を考慮した場合、際限無く符号の次数を大きくことは不可能である。
【0022】
通常、符号列表は帯域毎に設定される量子化精度情報毎に用意されている。量子化精度が低い場合は、表現できるスペクトル信号の値が少ないため、次数を大きくしてもそれほど符号列表の規模は増大しないが、量子化精度が高い場合は、当然表現できるスペクトル信号の値も多くなるため、次数を1つ増加させるだけでも、符号列表の規模は著しく増加する。
【0023】
以上のことを、具体例を用いてさらに説明する。いま、入力信号をMDCT変換し、図1に示すようなスペクトルを得たとする。図1はMDCTのスペクトルの絶対値を、レベルをdBに変換して示したものである。入力信号は所定の時間ブロック毎に64個のスペクトル信号に変換されており、それらが[1]から[8]の8個の符号化ユニットにまとめられ、正規化および量子化が行われる。
【0024】
周波数成分の分布の仕方によって符号化ユニット毎に量子化精度を変化させることにより、音質の劣化を最小限に押さえ、聴覚的に効率の良い符号化を行うことが可能である。各符号化ユニットにおいて必要な量子化精度情報は、例えば、聴覚モデルに基づいて、各符号化ユニットに対応する帯域での最小可聴レベルやマスキングレベルを計算することによって求めることができる。正規化及び量子化されたスペクトル信号は可変長符号に変換されて、各符号化ユニットに量子化精度情報及び正規化情報と共に符号化される。
【0025】
図2は、量子化精度情報の表現方法を説明するための図である。量子化精度情報コードを3ビットで表現する場合、最大8通りの量子化精度情報を設定することが出来る。この例では、1段階、3段階、5段階、7段階、15段階、31段階、63段階、または127段階の8通りのステップ数のどれかで量子化が行われることになる。ここで、1段階のステップに量子化されるというのは、その符号化ユニット内のスペクトル信号がすべて0の値に量子化されるということを意味する。
【0026】
図3は、従来行われてきた可変長符号化の方法を説明するための図である。スペクトル信号は、符号化ユニット毎に決められた量子化精度情報に基づいて量子化され、量子化スペクトルが求められる。量子化スペクトルを符号化する際は、図4に示すような符号列表を参照することにより、対応する符号列に変換される。図4から明らかなように、符号列表は量子化精度情報毎に用意されている。
【0027】
図3において、符号化ユニット[1]では、量子化精度情報としてコード”011”が選択されている。従って、図4に示すように、7段階のステップ数で量子化が行われ、量子化されたスペクトル信号の値(量子化スペクトル)は、周波数が低いほうから順に、3,−1,2,2となる。これらを図4の量子化精度情報コードが”011”の符号列表を用いて符号列に変換すると、それぞれ1110,101,1100,1100となり、符号長はそれぞれ4,3,4,4となる。
【0028】
また、符号化ユニット[2]では、量子化精度情報としてコード”010”が選択されており、この場合、図4に示すように、5段階のステップ数で量子化が行われる。この例では、量子化スペクトルは周波数が低いほうから順に、−2,1,0,1となる。これらを図4の量子化精度情報コードが”010”の符号列表を用いて符号列に変換すると、それぞれ111,100,0,100となり、符号長はそれぞれ3,3,1,3となる。
【0029】
同様に符号化ユニット[3]では、量子化精度情報としてコード”001”が選択されており、3段階のステップ数で量子化が行われ、量子化スペクトルは0,−1,0,0、符号列は0,11,0,0、そして符号長は1,2,1,1となる。
【0030】
図5は、2次元の可変長符号化の方法を説明するための図である。なお、図5には、図3の場合と同様の符号化ユニットが示されている。
【0031】
量子化精度情報コードが”001”の場合の符号列表として、図6に示すような2次元の符号列表を用いるとすると、図5における符号化ユニット[3]の量子化スペクトルは、2本ずつ1つのグループにまとめられて1つの符号列に変換される。従って、4本のスペクトル信号の量子化スペクトルである0,−1,0,0は、(0,−1),(0,0)の2つのグループにまとめられ、101,0の2つの符号列に変換される。
【0032】
符号化ユニット[3]のスペクトル信号を、図3に示したように、1次元の可変長符号で符号化すると、必要な情報量は1+2+1+1=5ビットとなる。それに対して、図5に示すように、2次元の可変長符号で符号化すると、その情報量は、3+1=4ビットとなる。すなわち、次数を高くすると、より少ない情報量で符号化が行えることが判る。
【0033】
【発明が解決しようとする課題】
以上説明したように、複数の(N本の)のスペクトル信号の量子化スペクトルを、1つのグループにまとめて、N次元のデータとし、これを符号列表に従って、可変長符号に符号化することで、1次元の可変長符号を用いる場合に較べて、符号長を短くすることができる。しかしながら、次数(Nの値)が増加すると、符号列表の規模が著しく増加し、実用化が困難となる課題があった。
【0034】
例えば、2次元の可変長符号を用いる場合、量子化精度情報コードが”001” ,”010”,”110”の場合の符号列表は、図6乃至図8に示すように、1次元の可変長符号を用いる場合の符号列表(図4)に比べ、符号列表の規模が増加している。
【0035】
本発明はこのような状況に鑑みてなされたものであり、多次元の可変長符号化を用いる場合のように符号列表の規模を大きくすることなく、短い符号長で符号化を行うことができるようにするものである。
【0036】
【課題を解決するための手段】
本発明の符号化装置は、数値の正負を調整して、M個の数値の正負を統一する統一手段と、統一手段により正負が統一された数値を符号化する第1の符号化手段と、M個の数値のうち特定値以外の数値の数を計算し、特定値以外の数値の正負が統一手段により調整されたかどうかの情報を、計算された特定値以外の数値の数だけ生成して正負情報とし、正負情報を符号化する第2の符号化手段と、第1の符号化手段の出力と第2の符号化手段の出力を含む符号列を生成する符号列生成手段とを備えることを特徴とする。
【0037】
符号列生成手段は、第1の符号化手段の出力と第2の符号化手段の出力を交互に含むように符号列を生成することができる。
【0039】
第1の符号化手段は、数値を、可変長の符号列に符号化することができる。
【0040】
可変長の符号列は、ハフマン符号とすることができる。
【0041】
数値列は、量子化された音響波形信号とすることができる。
【0042】
本発明の符号化方法は、数値の正負を調整して、M個の数値の正負を統一する統一ステップと、統一ステップの処理で正負が統一された数値を符号化する第1の符号化ステップと、M個の数値のうち特定値以外の数値の数を計算し、特定値以外の数値の正負が統一ステップの処理で調整されたかどうかの情報を、計算された特定値以外の数値の数だけ生成して正負情報とし、正負情報を符号化する第2の符号化ステップと、第1の符号化ステップの処理での出力と第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップとを含むことを特徴とする。
【0043】
本発明の第1の記録媒体のプログラムは、数値の正負を調整して、M個の数値の正負を統一する統一ステップと、統一ステップの処理で正負が統一された数値を符号化する第1の符号化ステップと、M個の数値のうち特定値以外の数値の数を計算し、特定値以外の数値の正負が統一ステップの処理で調整されたかどうかの情報を、計算された特定値以外の数値の数だけ生成して正負情報とし、正負情報を符号化する第2の符号化ステップと、第1の符号化ステップの処理での出力と第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップとを含むことを特徴とする。
【0044】
本発明の第1のプログラムは、数値の正負を調整して、M個の数値の正負を統一する統一ステップと、統一ステップの処理で正負が統一された数値を符号化する第1の符号化ステップと、M個の数値のうち特定値以外の数値の数を計算し、特定値以外の数値の正負が統一ステップの処理で調整されたかどうかの情報を、計算された特定値以外の数値の数だけ生成して正負情報とし、正負情報を符号化する第2の符号化ステップと、第1の符号化ステップの処理での出力と第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0045】
本発明の符号化装置および方法、第1の記録媒体のプログラム、並びに第1のプログラムにおいては、数値の正負を調整して、M個の数値の正負が統一され、正負が統一された数値が符号化され、M個の数値のうち特定値以外の数値の数が計算され、特定値以外の数値の正負が調整されたかどうかの情報が、計算された特定値以外の数値の数だけ生成されて正負情報とされ、正負情報が符号化され、符号列が生成される。
【0046】
本発明の復号装置は、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力手段と、第1の符号列を復号する復号手段と、第2の符号列を復号し、M個の数値のうちの特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ読み取るみ取り手段と、復号手段により復号されたM個の正負が調整された数値列と、み取り手段により読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元手段とを備えることを特徴とする。
【0047】
入力手段は、第1の符号列と第2の符号列が交互に含まれる符号列を受け取ることができる。
【0049】
み取り手段は、復号手段により特定値が復号された場合、第2の符号列の読み取りを行わないことができる。
【0050】
特定値は、値0とすることができる。
【0051】
本発明の復号方法は、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、第1の符号列を復号する復号ステップと、第2の符号列を復号し、M個の数値のうちの特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ読み取るみ取りステップと、復号ステップの処理で復号されたM個の正負が調整された数値列と、み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップとを含むことを特徴とする。
【0052】
本発明の第2の記録媒体のプログラムは、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、第1の符号列を復号する復号ステップと、第2の符号列を復号し、M個の数値のうちの特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ読み取るみ取りステップと、復号ステップの処理で復号されたM個の正負が調整された数値列と、み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップとを含むことを特徴とする。
【0053】
本発明の第2のプログラムは、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、第1の符号列を復号する復号ステップと、第2の符号列を復号し、M個の数値のうちの特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ読み取るみ取りステップと、復号ステップの処理で復号されたM個の正負が調整された数値列と、み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップとを含むことを特徴とする。
【0054】
本発明の復号装置および方法、第2の記録媒体のプログラム、並びに第2のプログラムにおいては、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列が受け取られ、第1の符号列が復号され、第2の符号列が復号され、M個の数値のうちの特定値以外の数値の数が計算され、特定値以外の数値の正負が調整されたかどうかの情報が、計算された特定値以外の数値の数だけ読み取られ、復号されたM個の正負が調整された数値列と、読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負が復元される。
【0055】
【発明の実施の形態】
図9は、本発明を適用した符号化装置の構成例を示している。
【0056】
この符号化装置に入力された信号波形101は変換回路1によって信号周波数成分102に変換された後、信号成分符号化回路2によって各成分が符号化され、符号列生成回路3によって符号列が生成されるようになされている。この符号列は所定の伝送路に伝送されたり、情報記録媒体4に記録される。
【0057】
図10は、変換回路1の構成例を示している。
【0058】
帯域分割フィルタ11によって2つの帯域に分割された信号成分211,212が、それぞれの帯域においてMDCT等の順スペクトル変換回路12,13によって、スペクトル信号成分221,222に変換されるようになされている。信号211,212の帯域幅は、信号201の帯域幅の1/2となっている(信号201の1/2に間引かれている)。
【0059】
なお、図10の201は図9の101に、図10の221,222は図9の102に、それぞれ対応している。
【0060】
変換回路1としてはこの実施例以外にも多数考えられる。例えば、入力信号を、MDCTによってスペクトル信号に直接変換しても良いし、MDCTではなく、DFTやDCTによって変換しても良い。
【0061】
帯域分割フィルタによって信号を帯域成分に分割するだけで、スペクトルに変換しないで処理することも可能であるが、本発明の方法は特定の周波数にエネルギーが集中する場合に特に有効に作用するので、多数の周波数成分が比較的少ない演算量で得られるスペクトル変換によって周波数成分に変換する方法をとると都合が良い。
【0062】
図11は、信号成分符号化回路2の構成例を示している。
【0063】
各信号成分301は、正規化回路21によって所定の帯域毎に正規化が施された後、信号302として量子化回路22に入力され、量子化精度決定回路23によって計算された量子化精度信号303に基づいて量子化され、信号304として出力されるようになされている。図11の301は、図9の102に、図11の304は、図9の103に、それぞれ対応しているが、ここで、304(103)には、量子化された信号成分に加え、正規化係数情報や量子化精度情報も含まれている。
【0064】
図12は、符号列生成回路3の構成例を示している。
【0065】
制御部31は、M個ずつ1つのグループにまとめられたスペクトル信号の量子化スペクトル401を、例えば、負の量子化スペクトルを正の値に変換して(絶対値を取り)、量子化スペクトルの正負を統一した後、それを、符号化部32を制御して符号化させる。
【0066】
また制御部31は、符号化部33を制御して、M個の量子化スペクトルのうちの特定値(この例の場合、値0)以外の量子化スペクトルの数に基づくビット数で、特定値および負の量子化スペクトルのグループ内での位置に対応するデータを符号化させ、負の量子化スペクトルを特定するための情報(以下、正負符号情報signと称する)を生成する。
【0067】
符号化部32により生成された符号列(量子化スペクトルの符号列)402、および符号化部33により生成された符号列(正負符号情報sign)403は、所定の伝送路、または情報記録媒体4に出力される。
【0068】
なお、図12の401は、図9の103に、図12の402,403は、図9の104に、それぞれ対応している。
【0069】
次に、符号化装置(図9)の動作を説明する。音響波形信号101(201)は、変換回路1の帯域分割フィルタ11(図10)に入力され、より低い周波数の信号成分211と、より高い周波数の信号成分212とに分割される。より低い周波数の信号成分211は、順スペクトル変換回路12に入力され、スペクトル信号成分221に変換される。同様に、より高い周波数の信号成分212は、順スペクトル変換回路13に入力され、スペクトル信号成分222に変換され、出力される。
【0070】
すなわち、図1を参照して説明すると、順スペクトル変換回路12は、より低い周波数のスペクトル信号をユニット化し、符号化ユニット[1]乃至[6]を生成する。また、順スペクトル変換回路13は、より高い周波数のスペクトル信号成分をユニット化し、符号化ユニット[7],[8]を生成する。
【0071】
順スペクトル変換回路12,13より出力されたスペクトル信号成分221,222(102)は、信号成分符号化回路2の正規化回路21(図11)と量子化精度決定回路23に入力される。正規化回路21は、符号化ユニット内の複数のスペクトル信号成分のうち、その最大値で各信号の値を割算することにより、正規化を行う。そして、得られた正規化係数302を量子化回路22に供給する。
【0072】
量子化精度決定回路23は、各符号化ユニットに対応する帯域での最小可聴レベルやマスキングレベルを演算することで、入力されたスペクトル信号成分の量子化精度を符号化ユニット単位で決定する。量子化回路22は、量子化精度決定回路23より供給された量子化精度303で、正規化回路21より供給された正規化係数302を量子化し、得られた量子化スペクトル304(103)を符号列生成回路3に供給する。
【0073】
符号列生成回路3は、量子化スペクトル304を符号列に変換するが、その処理の詳細を、図13のフローチャートを参照して説明する。
【0074】
ステップS1において、符号列生成回路3の制御部31は、それぞれ内蔵する、1つのグループにまとめられたスペクトル信号の数をカウントするカウンタiの値、並びにレジスタNの値およびレジスタsignの値を、値0に初期設定する。
【0075】
次に、ステップS2において、制御部31は、カウンタiの値に対応するスペクトル信号(以下、適宜、QSP(i)と称する)の量子化スペクトルを調べ、それが特定値(この例の場合、値0)であるか否かを判定し、値0ではないと判定した場合、ステップS3に進む。
【0076】
ステップS3において、制御部31は、レジスタNの値を1だけ増加させ、そしてレジスタsignの値を1ビットだけ左方向にシフトさせる(2倍にする)。
【0077】
次に、ステップS4において、制御部31は、QSP(i)の量子化スペクトルが負の値であるか否かを判定し、負の値であると判定した場合、ステップS5に進む。
【0078】
ステップS5において、制御部31は、QSP(i)の量子化スペクトルに値−1を乗算し、その結果得られた値を、QSP(i)の量子化スペクトルとする。すなわち、QSP(i)の量子化スペクトルが負の値である場合、正の値に変換される。またこのとき制御部31は、レジスタsignの値を1だけ増加させる。
【0079】
ステップS4で、QSP(i)の量子化スペクトルが正の値であると判定された場合、ステップS5の処理はスキップされ、ステップS6に進み、またステップS2で、QSP(i)の量子化スペクトルが値0であると判定された場合、ステップS3乃至ステップS5の処理がスキップされ、ステップS6に進む。
【0080】
ステップS6において、制御部31は、カウンタiの値を1だけ増加させ、ステップS7において、そのカウンタiの値が、1つのグループにまとめられたスペクトル信号の数M未満であるか否かを判定し、M未満であると判定した場合、ステップS2に戻り、それ以降の処理を実行する。
【0081】
ステップS7で、カウンタiの値が、スペクトル信号の数M未満ではないと判定された場合(それ以上である場合)、ステップS8に進み、制御部31は、符号化部32を制御して、QSP(0)乃至QSP(M−1)の量子化スペクトル、すなわち、1つのグループにまとめられた量子化スペクトルを、M次元の可変長符号で符号化する。
【0082】
例えば、2次元の可変長符号がなされる場合(M=2の場合)、符号化部32は、図14に示すような符号列表を参照することにより、1つのグループにまとめられた2個の量子化スペクトルを、それに対応する符号列に変換する。
【0083】
図14には、量子化精度情報コードが”001”の場合の符号列、”010”の場合の符号列表、および”011”の場合の符号列表が示されているが、それらの符号列表には、4語の符号列、9語の符号列、16語の符号列が用意されている。
【0084】
この例の場合、負の値の量子化スペクトルは、正の値に変換されるので(ステップS5)、負の値の量子化スペクトルが符号化されることはない。従って、図14の符号列表には、負の値の量子化スペクトルに対応する符号列は含まれていない。このように、例えば、量子化スペクトルを正の値に統一することにより、負の量子化スペクトルに対応する符号列を用意する必要がなくなるので、符号列表の規模を、その分小さくすることができる。
【0085】
これに対して、従来の可変長符号においては、正の値および負の値の量子化スペクトルに対応する符号列を用意しなければならないので、符号列の規模が大きくなる。例えば、2次元の可変長符号における量子化精度情報コードが”001”の場合の符号列表には、図6に示した9語の符号列を用意し、”010”の場合の符号列表には、図7に示した25語の符号列が用意し、そして”011”の場合の符号列表には、図8に示した49語の符号列が用意する必要がある。
【0086】
また、その図示は省略するが、4次元の場合、量子化精度情報コードが”010”および”011”のとき、本発明の符号列表の大きさは、81語および256語であるが、従来の場合、625語および2401語となる。
【0087】
図13に戻り、ステップS9において、制御部31は、符号化部33を制御して、レジスタsignの値を、レジスタNの値と同じビット数で符号化させ、正負符号情報sign(符号列)を生成する。
【0088】
その後、処理は終了し、次のグループにまとめられたスペクトル信号の量子化スペクトルに対してステップS1乃至ステップS9の処理が同様に実行させる。
【0089】
次に、図15に示す、16本のスペクトル信号が存在する符号化ユニット(図1の例では、[7]または[8]の符号化ユニット)を例として、上述した符号列生成回路3の動作を再度説明する。なお、この例の場合、符号化ユニットのスペクトル信号は、2(=M)本ずつ1つのグループにまとめられるものとする。
【0090】
周波数の低いほうから2本のスペクトル信号の量子化スペクトル(1,−2)を符号化する場合において、カウンタi=0、レジスタN=0、およびレジスタsign=0であるとき(ステップS1)、QSP(0)の量子化スペクトル(値1)は、値0ではないので(ステップS2)、レジスタNの値0が1だけ増加して値1となり、レジスタsignの値0が2倍されて値0となる(ステップS3)。
【0091】
またQSP(0)の量子化スペクトル(値1)は、正の値であるので(ステップS4)、カウンタiの値0が1だけ増加して値1となる(ステップS6)。
【0092】
QSP(1)の量子化スペクトル(値−2)は、値0ではないので、レジスタNの値1がさらに1だけ増加して値2となり、レジスタsignの値0は2倍されて値0となる。
【0093】
またQSP(1)の量子化スペクトル(値−2)は、負の値であるので、2(=−2×−1)が、符号化されるQSP(1)の量子化スペクトルとされる(ステップS5)。またこのとき、レジスタsignの値0が1だけ増加して値1となる。
【0094】
すなわち、この場合、(1,2)が1つのまとまりとして、図14の符号列表に基づき、5ビットの”11110”に符号化され(ステップS8)、それに続いてレジスタsignの値1が、レジスタNの値2のビット数、すなわち2ビットの符号列”01”に符号化されて、正負符号情報sign”01”が生成される(ステップS9)。
【0095】
正負符号情報signは、その”1”に対応する、ステップS8で符号化される値が負の値であることを表す。いまの場合、(1,−2)が(1,2)とされて符号化されているが、このときの正負符号情報sign”01”は、その”1”に対応する、(1,2)のうちの”2”が、本来負の値(−2)であることを示す。後述する復号装置においては、この正負符号情報signに基づいて、信号成分の符号の正負が決定される。
【0096】
なお、図15に示す符号化ユニットは、本発明において、5ビットの”11110”((1,2)の符号列)および2ビットの”01”(値1のレジスタsignの符号列)、1ビットの”0”((0,0)の符号列)、3ビットの”101”((1,0)の符号列)および1ビットの”0”(値0のレジスタsignの符号列)、3ビットの”110”((1,1)の符号列)および2ビットの”10”(値2のレジスタsignの符号列)、1ビットの”0”((0,0)の符号列)、5ビットの”11100”((0,2)の符号列)および1ビットの”0”(値0のレジスタsignの符号列)、3ビットの”110”((1,1)の符号列)および2ビットの”11”(値3のレジスタsignの符号列)、並びに5ビットの”11100”((0,2)の符号列)および1ビットの”0”(値0のレジスタsignの符号列)に符号化されるので、その符号長は、35(=7+1+4+5+1+6+5+6)となる。なお、従来の2次元の可変長符号は、図16に示すように、35ビットとなる。
【0097】
図17は、図9の符号化装置によって生成された符号列から音響信号を復号、出力する復号装置の構成例を示す。
【0098】
伝送されてきたか、または情報記録媒体4から再生された符号列501から符号列分解回路41によって各信号成分の符号が抽出され、それらの符号502から信号成分復号化回路42によって各信号成分503が復号された後、逆変換回路43によって音響波形信号504が生成、出力されるようになされている。
【0099】
図18は、符号列分解回路41の構成例を示している。
【0100】
制御部51は、復号部52を制御して、符号列分解回路41に入力された符号化ユニットの符号列601から読み取った、量子化スペクトルの符号列(正確には、すべて正の値とされた量子化スペクトルの符号列)を復号させる。
【0101】
制御部51はまた、符号化ユニットの符号列601から正負符号情報signを読み取るとともに、その正負符号情報signに基づいて、量子化スペクトルの正負を検出し、信号成分の符号を決定する。
【0102】
図18の601は図17の501に、図18の602は図17の502に、それぞれ対応している。
【0103】
図19は、逆変換回路43の構成例を示している。これは図9の変換回路1に対応したもので、逆スペクトル変換回路61,62によって信号701,702から得られた各帯域の信号711,712が、帯域合成フィルタ63によって合成され、信号721として出力されるようになされている。図19の701,702は図17の503に、図19の721は図17の504に、それぞれ対応している。
【0104】
次に、復号装置の動作について説明する。符号列分解回路41は、図20のフローチャートに示すように、符号列分解処理を行う。
【0105】
ステップS21において、制御部51は、復号部52を制御して、符号化ユニットの符号列から読み取った、1つのグループにまとめられたQSP(0)乃至QSP(M−1)の量子化スペクトルの符号列(正の値に変換された量子化スペクトルの符号列)を復号させる。なお、Mは、符号化される際に1つのグループにまとめられたスペクトル信号の数である。
【0106】
ステップS22において、制御部51は、ステップS21での復号により得られた値が、すべて値0であるか否かを判定し、そうではないと判定した場合、ステップS23に進む。
【0107】
ステップS23において、量子化スペクトルの符号列に続いて入力される正負符号情報sign(量子化スペクトルの正負を示す正負符号情報sign)が読み取られる。ここでの処理の詳細は、図21のフローチャートに示されている。
【0108】
ステップS31において、制御部51は、それぞれ内蔵するカウンタiおよびレジスタNの値を、値0に初期設定する。
【0109】
次に、ステップS32において、制御部51は、QSP(i)に対応する、ステップS21での復号により得られた値が値0であるか否かを判定し、値0であると判定した場合、ステップS34に進む。
【0110】
一方、ステップS32で、値0ではないと判定された場合、ステップS33に進み、制御部51は、レジスタNの値を1だけ増加させ、ステップS34に進む。
【0111】
ステップS34において、制御部51は、カウンタiの値を1だけ増加させ、ステップS35において、カウンタiの値が、1つのグループにまとめられるスペクトル信号の数M未満であるか否かを判定し、M未満であると判定した場合、ステップS32に戻り、それ以降の処理を実行する。
【0112】
ステップS35で、カウンタiの値が、スペクトル信号の数M未満ではないと判定された場合(それ以上である場合)、ステップS36に進み、制御部51は、符号化ユニットの符号列の、ステップS21で読み取られた符号列の次のビットから、レジスタNの値のビット数分の符号列を、正負符号情報signとして読み取る。
【0113】
その後、図20のステップS24に進み、QSP(0)乃至QSP(M−1)の符号が決定される。ここでの処理の詳細は、図22のフローチャートに示されている。
【0114】
ステップS41において、制御部51は、カウンタiの値を、値0に初期設定するとともに、レジスタmaskに設定した値1を、このときのレジスタNの値から1だけ減算して得られた値分のビット数だけ、左方向にシフトさせる。
【0115】
ステップS42において、制御部51は、QSP(i)に対応する、ステップS21での復号により得られた値が、値0であるか否かを判定し、値0ではないと判定した場合、ステップS43に進み、ステップS36で読み取られた正負符号情報signとレジスタmaskの論理積を計算し、その計算結果が値0であるか否かを判定する。
【0116】
ステップS43で、論理積の計算結果が値0ではないと判定された場合、QSP(i)に対応する、ステップS21での復号により得られた値に値−1に乗算し、ステップS45に進む。
【0117】
一方、ステップS43で、論理積の計算結果が値0であると判定された場合、ステップS44の処理がスキップされて、ステップS45に進む。
【0118】
ステップS45において、制御部51は、レジスタmaskの値を1ビットだけ右方向にシフトさせ、ステップS46に進む。
【0119】
ステップS42で、QSP(i)に対応する、ステップS21での復号により得られた値が値0であると判定された場合、ステップS43乃至ステップS45の処理がスキップされて、ステップS46に進む。
【0120】
ステップS46において、制御部61は、カウンタiの値を1だけ増加させ、ステップS47にいて、カウンタiの値が、1つのグループにまとめられたスペクトル信号の数M未満であるか否かを判定し、M未満であると判定した場合、ステップS42に戻り、それ以降の処理を実行する。
【0121】
ステップS47で、カウンタiの値がM未満ではないと判定された場合(それ以上である場合)、ここでの処理(ステップS24の処理)とともに、図20の処理が終了し、次に入力される量子化スペクトルの符号列に対して、ステップS1以降の処理が同様に行われる。
【0122】
次に、符号化された図15に示す符号化ユニットを復号する場合を例として、符号列分解回路41の動作を再度説明する。
【0123】
最初に読み取られた符号列”11110”が復号され(ステップS21)、(1,2)が得られる。(1,2)は、当然(0,0)ではないので(ステップS22)、符号列”11110”に続いて入力される正負符号情報sign”01”が読み取られる(ステップS23)。
【0124】
具体的には、(1,2)のうち、QSP(0)に対応する値1は、値0ではないので(ステップS32)、レジスタNの値0が1だけ増加して値1になり(ステップS33)、カウンタiの値0が1だけ増加して値1となる(ステップS34)。
【0125】
また(1,2)のうち、QSP(1)に対応する値2も、値0ではないので、レジスタNの値1がさらに1だけ増加して値2になり、カウンタiの値1が1だけ増加して値2となる。
【0126】
そしてこの場合、量子化スペクトルの符号列”11110”の次のビットから、レジスタNの値2のビット数、すなわち、2ビット分のデータ”01”が、正負符号情報signとして読み取られる。
【0127】
次に、QSP(0),QSP(1)の符号が決定される(ステップS24)。
【0128】
具体的には、カウンタiの値が、値0に初期設定され、レジスタmaskに設定された1が、1(=レジスタNの値2−値1)ビットだけ左方向にシフトされる。
すなわち、レジスタmaskは(10)となる(ステップS41)。
【0129】
(1,2)のうち、QSP(0)に対応する値1は、値0ではないので(ステップS42)、正負符号情報sign(01)とレジスタmask(10)の論理積が計算され、その計算結果は、0であるので(ステップS43)、レジスタmask(10)が、1ビットだけ右方向にシフトされて(01)となる(ステップS45)。すなわち、QSP(0)に対応する値1は、もともと正の値であったので、値1が、そのままQSP(0)の符号とされる。
【0130】
カウンタiの値0が1だけ増加して値1となる(ステップS46)。
【0131】
(1,2)のうち、QSP(1)に対応する値2は、値0でないので、正負符号情報sign(01)とこのときのレジスタmask(01)の論理積が計算され、その計算結果は、値1であるので、QSP(1)に対応する値2に値−1が乗算されて値−2が得られる(ステップS44)。
【0132】
すなわち、QSP(1)に対応する値2は、もともと負の値であったので、ここで述べたように値−2とされ、それがQSP(1)の符号とされる。
【0133】
このようにして、符号列分解回路41により抽出された符号502(図17)は、信号成分復号化回路42に入力され、復号される。この信号成分復号化回路42は、図9に示す信号成分符号化回路2と逆の処理を行う。
【0134】
そして、信号成分復号化回路42より出力された信号503は、そのより低い周波数のスペクトル信号成分701が、逆スペクトル変換回路61に入力され、より高い周波数のスペクトル信号成分702が、逆スペクトル変換回路62に入力される。逆スペクトル変換回路61と62は、それぞれ入力されたスペクトル信号成分701,702を、時間軸上の音響信号711,712に変換し、帯域合成フィルタ63に出力する。帯域合成フィルタ63は、より低い周波数の音響信号711と、より高い周波数の音響信号712を合成し、合成された音響信号721(504)として出力する。
【0135】
一般に音響波形信号は基本周波数とそれの整数倍の周波数成分、いわゆる倍音成分にエネルギーが集中している場合が多く、それ以外の周波数成分のスペクトル信号は量子化しても0になる場合が多い。基本周波数が高いほど、いわゆる倍音成分同士の距離が大きくなるため、0の量子化スペクトルの出現確率が高くなる。また、そのような周波数成分を持つ信号ほど、量子化精度を高くして量子化を行わないと、十分な聴感上の信号対雑音比を確保できないため、かなりの情報量を消費してしまう。特に符号化ユニットの幅が広い帯域では消費する情報量が大きい。
【0136】
そこで、このような信号に対して効率良く符号化を行うためには、0に量子化されたスペクトル信号をいかに少ない情報量で符号化するかが重要となる。最も良く知られている方法として、多次元の可変長符号を使う方法があるが、上述したように、膨大な量の符号列表が必要となり、実用的とは言えない。しかしながら、本発明による方法は、符号列表の規模を増大させることなく、効率の良い符号化を実現している。
【0137】
以上、帯域分割回路として、一旦、帯域分割フィルタにかけた信号をMDCTによりスペクトル変換したものを用い、また、帯域合成回路として、逆MDCT(IMDCT) により逆スペクトル変換したものを帯域合成フィルタにかけたものを用いた実施例について説明を行ったが、もちろん、帯域分割フィルタ、帯域合成フィルタを用いずに、MDCT変換、IMDCT変換を直接行うようにしても良い。また、スペクト ル変換の種類としては、MDCTに限らず、DFT、DCT等を用いても良い。
【0138】
さらに、必ずしも、スペクトル変換を用いなくても、帯域分割フィルタ、帯域合成フィルタのみによって帯域分割、帯域合成を行うようにしても良い。この場合、フィルタによって分割された帯域、またはそれらの帯域を複数個まとめた帯域を符号化ユニットとする。しかし、MDCT等のスペクトル変換を行い、多数のスペクトル信号に変換してから、実施例を用いて説明したように符号化ユニットを構成することによって、本発明の方法を効率良く適用することができる。
【0139】
また、以上においては、音響波形信号を処理する場合について説明を行ったが、本発明の方法は他の種類の信号に対しても適用することができ、例えば画像信号にも適用することが可能である。しかし、本発明は音響波形信号のもつ特徴を利用して、0に量子化されたスペクトル信号が多い場合に効率の良い符号化を実現しているため、音響波形信号に対して利用した場合に威力を発揮する。
【0140】
さらに、本発明による方法は、従来の可変長符号による方法と組み合わせて使うことも可能である。例えば、量子化精度が低い、すなわち量子化ステップ数が小さい場合においては従来の方法によって、2次元あるいは4次元の符号列表を用いて符号化を行い、量子化精度が高い、すなわち量子化ステップ数が大きい場合においては符号列表の規模を考慮し、本発明による方法を用いて符号化を行うようにすれば、より効果的である。
【0141】
また、上述した一連の処理は、ハードウエアにより実現させることもできるが、ソフトウエアにより実現させることもできる。一連の処理をソフトウエアにより実現する場合には、そのソフトウエアを構成するプログラムがコンピュータにインストールされ、そのプログラムがコンピュータで実行されることより、上述した符号化装置および復号装置が機能的に実現される。
【0142】
図23は、上述のような符号化装置または復号装置として機能するコンピュータ101の一実施の形態の構成を示すブロック図である。CPU(Central Processing Unit)111にはバス115を介して入出力インタフェース116が接続されており、CPU111は、入出力インタフェース116を介して、ユーザから、キーボード、マウスなどよりなる入力部118から指令が入力されると、例えば、ROM(Read Only Memory)112、ハードディスク114、またはドライブ120に装着される磁気ディスク131、光ディスク132、光磁気ディスク133、若しくは半導体メモリ134などの記録媒体に格納されているプログラムを、RAM(Random Access Memory)113にロードして実行する。これにより、上述した各種の処理(例えば、図13,20のフローチャートにより示される処理)が行われる。さらに、CPU111は、その処理結果を、例えば、入出力インタフェース116を介して、LCD(Liquid Crystal Display)などよりなる出力部117に必要に応じて出力する。なお、プログラムは、ハードディスク114やROM112に予め記憶しておき、コンピュータ101と一体的にユーザに提供したり、磁気ディスク131、光ディスク132、光磁気ディスク133,半導体メモリ134等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部119を介してハードディスク114に提供することができる。
【0143】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0144】
【発明の効果】
本発明の符号化装置および方法、第1の記録媒体のプログラム、並びに第1のプログラムによれば、数値の正負を調整して、M個の数値の正負を統一し、正負が統一された数値を符号化し、M個の数値のうち特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ生成して正負情報とし、正負情報を符号化し、それらを含む符号列を生成するようにしたので、例えば、符号列表の規模を増大させることなく、圧縮効率の高い符号化を行うことができる。
【0145】
本発明の復号装置および方法、第2の記録媒体のプログラム、並びに第2のプログラムによれば、M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取り、第1の符号列を復号し、第2の符号列を復号し、M個の数値のうちの特定値以外の数値の数を計算し、特定値以外の数値の正負が調整されたかどうかの情報を、計算された特定値以外の数値の数だけ読み取り、復号されたM個の正負が調整された数値列と、読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元するようにしたので、例えば、符号列表の規模を増大させることなく、圧縮効率の高い符号化を行うことができる。
【図面の簡単な説明】
【図1】符号化ユニットのスペクトルを説明する図である。
【図2】量子化精度情報の表現方法を説明する図である。
【図3】従来技術による可変長符号を用いた符号化方法を説明する図である。
【図4】符号列表の例を示す図である。
【図5】従来技術による多次元の可変長符号を用いた符号化方法を説明する図である。
【図6】従来技術による多次元の符号列表の例を示す図である。
【図7】従来技術による多次元の他の符号列表の例を示す図である。
【図8】従来技術による多次元の他の符号列表の例を示す図である。
【図9】本発明を適用した符号化装置の構成例を示すブロック図である。
【図10】図9の変換回路の構成例を示すブロック図である。
【図11】図9の信号成分符号化回路の構成例を示すブロック図である。
【図12】図9の符号列生成回路の構成例を示すブロック図である。
【図13】符号列生成回路の動作を説明するフローチャートである。
【図14】本発明で利用される符号列表の例を表す図である。
【図15】本発明による符号化方法を説明する図である。
【図16】従来技術による符号化方法を説明する他の図である。
【図17】本発明を適用した復号装置の構成例を示すブロック図である。
【図18】図17の符号列分解回路の構成例を示すブロック図である。
【図19】図17の変換回路の構成例を示すブロック図である。
【図20】符号列分解回路の動作を説明するフローチャートである。
【図21】図20のステップS23の処理を説明するフローチャートである。
【図22】図20のステップS24の処理を説明するフローチャートである。
【図23】コンピュータ101の構成例を示すブロック図である。
【符号の説明】
1 変換回路, 2 信号成分符号化回路, 3 符号列生成回路, 4 情報記録媒体, 11 帯域分割フィルタ, 12 順スペクトル変換回路, 13 順スペクトル変換回路, 21 正規化回路, 22 量子化回路, 23量子化精度決定回路, 31 制御部, 32 符号化部, 33 符号化部, 41 符号列分解回路, 42 信号成分復号化回路, 43 逆変換回路, 51 制御部, 52 復号部, 53 復号部, 61,62 逆スペクトル変換回路, 63 帯域合成フィルタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoding apparatus and method, a decoding apparatus and method, a recording medium, and a program, and encodes input digital data by so-called high-efficiency encoding, and transmits, records, reproduces, decodes, and reproduces a reproduced signal The present invention relates to an encoding device and method, a decoding device and method, a recording medium, and a program that are suitable for use in obtaining the above.
[0002]
[Prior art]
There are various techniques for high-efficiency encoding of signals such as audio or voice. For example, non-blocking frequency band that divides and encodes audio signals on the time axis into multiple frequency bands without blocking them The division method, band division coding (subband coding: SBC (Subband Coding)), and the time axis signal is converted to a signal on the frequency axis (spectrum conversion) and divided into multiple frequency bands. In addition, a blocked frequency band division method for encoding for each band, so-called transform coding, and the like can be given.
[0003]
In addition, a high-efficiency coding method combining the above-described band division coding and transform coding is also considered. In this case, for example, after performing band division by band division coding, each band Is spectrally converted to a signal on the frequency axis, and each spectrum-converted band is encoded. Examples of the band division filter described above include, for example, a QMF filter (Quadrature Mirror Filter). For example, 1976 RECrochiere Digital coding of speech in subbands, Bell Syst.Tech. J. Vol.55, It is stated in No.8 1976.
[0004]
Also, ICASSP 83, BOSTON Polyphase Quadrature filters-A new subband coding technique, Joseph H. Rothweiler, describes an equal-bandwidth filter division technique. Here, as the above-described spectral transformation, for example, the input audio signal is blocked in a predetermined unit time (frame), and discrete Fourier transform (DFT), discrete cosine transform (Discrete Cosine Transform) is performed for each block. (DCT), Modified DCT transform (Modified Discrete Cosine Transform) (MDCT), etc., there is a spectrum conversion that converts the time axis to the frequency axis. MDCT is described, for example, in ICASSP 1987 Subband / Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation, JPPrincen ABBradley Univ. Of Surrey Royal Melbourne Inst. Of Tech.
[0005]
By quantizing the signal divided for each band by the filter or spectrum conversion in this way, it is possible to control the band in which the quantization noise is generated. More efficient encoding can be performed. If the normalization is performed for each band, for example, with the maximum absolute value of the signal component in each band before the quantization is performed here, more efficient encoding can be performed.
[0006]
As a frequency division width for quantizing each frequency component obtained by frequency band division, for example, band division considering human auditory characteristics is performed. In other words, the audio signal may be divided into a plurality of bands (for example, 32 band) with a bandwidth that is generally called a critical band (critical band) and that the bandwidth becomes wider as the high frequency band increases. Further, when encoding the data for each band at this time, encoding is performed by predetermined bit allocation for each band or adaptive bit allocation (bit allocation) for each band. .
[0007]
For example, when the coefficient data obtained by the MDCT processing is encoded by the bit allocation, adaptive allocation bits are assigned to the MDCT coefficient data for each band obtained by the MDCT processing for each block. Encoding is performed with numbers. The following two methods are known as bit allocation methods.
[0008]
The first method is disclosed in Adaptive Transform Coding of Speech Signals, R. Zelinski and P. Noll, IEEE Transactions of Accoustics, Speech, and Signal Processing, vol. ASSP-25, No. 4, August 1977. Here, bit allocation is performed based on the signal size of each band. In this method, the quantization noise spectrum is flattened and the noise energy is minimized. However, since the masking effect is not used audibly, the actual noise feeling is not optimal.
[0009]
The second method is disclosed in ICASSP 1980 The critical band coder-digital encoding of the perceptual requirements of the auditory system, MAKransner MIT. This describes a technique for obtaining a signal-to-noise ratio necessary for each band by using auditory masking and performing fixed bit allocation. However, with this method, even when the characteristic is measured with a sine wave input, the characteristic value is not so good because the bit allocation is fixed.
[0010]
In order to solve these problems, all the bits that can be used for bit allocation are divided into fixed bit allocation patterns determined in advance for each small block and bit allocation depending on the signal size of each block. There has been proposed a high-efficiency encoding device that is used in division, and that makes the division ratio depend on a signal related to an input signal, and increases the division ratio into the fixed bit allocation pattern as the spectrum of the signal is smoother.
[0011]
According to this device, when energy is concentrated in a specific spectrum such as a sine wave input, the overall signal-to-noise characteristics can be significantly improved by allocating many bits to the block containing the spectrum. Can do. In general, human hearing is very sensitive to signals with steep spectral components, so using this method to improve signal-to-noise characteristics simply improves the numerical value of the measurement. Rather, it is effective in improving sound quality in terms of hearing.
[0012]
A number of other bit allocation methods have been proposed, and if the auditory model is refined and the coding device is capable, coding can be performed more efficiently from an auditory perspective. become.
[0013]
Further, the present inventors previously proposed a method for separating a tone component particularly important for hearing from a spectrum signal and encoding it separately from other spectrum components as Japanese Patent Application No. 5-152865. As a result, it is possible to efficiently encode an audio signal or the like with a high compression rate without causing any audible degradation.
[0014]
As a method for converting a waveform signal into a spectrum, when the above-described DFT or DCT is used, M independent real number data can be obtained by performing conversion in a time block composed of M samples. In order to reduce the connection distortion between time blocks, normally M1 samples overlap each other on both adjacent blocks, so on average, M samples for (M-M1) samples in DFT and DCT The real number data is quantized and encoded.
[0015]
On the other hand, when the above-mentioned MDCT is used as a method for converting into a spectrum, M independent real data is obtained from 2M samples overlapped by N times each adjacent time, so the average In MDCT, M real data is quantized and encoded for M samples. In the decoding apparatus, it is possible to reconstruct the waveform signal by adding the waveform elements obtained by performing inverse transform in each block while interfering with each other from the code obtained by using MDCT in this way. it can.
[0016]
In general, by increasing the time block for conversion, the frequency resolution of the spectrum is increased, and energy is concentrated on a specific spectral component. Therefore, DFT is performed by overlapping with both adjacent blocks by a long block length and using MDCT in which the number of obtained spectrum signals does not increase with respect to the number of original time samples. Thus, it is possible to perform encoding more efficiently than when DCT is used. Further, by providing a sufficiently long overlap between adjacent blocks, it is possible to reduce the inter-block distortion of the waveform signal.
[0017]
In constructing an actual code string, first, quantization accuracy information and normalized coefficient information are encoded with a predetermined number of bits for each band in which normalization and quantization are performed, and then normalized and quantized. What is necessary is just to encode the obtained spectrum signal.
[0018]
In encoding a spectrum signal, a method using a variable length code such as a Huffman code is known. The Huffman code is described in, for example, David A. Huffman, “A Method for the Construction of Minimum-Redundancy Codes”, Proceedings of the IRE, pp 1098-1101, Sep., 1952.
[0019]
Furthermore, a method is known that uses a multidimensional variable-length code that represents a plurality of spectral signals together with a single code. In general, in an encoding method using a multidimensional variable length code, the higher the code order, the more efficient the encoding in terms of compression efficiency. However, since the scale of the code string table increases dramatically as the order increases, a practical problem arises. Actually, the optimum order is selected according to the purpose while considering the compression efficiency and the scale of the code string table.
[0020]
In general, in an acoustic waveform signal, energy is often concentrated on a fundamental frequency component and a frequency component that is an integral multiple of the fundamental frequency, that is, a so-called harmonic component, and the level of the spectrum signal around that frequency is very small compared to a so-called harmonic component. Therefore, the probability of being quantized to 0 increases. In order to efficiently encode such a signal, it is only necessary to encode a spectrum signal quantized to 0 having a high probability of occurrence with as little information as possible. When a one-dimensional variable length code is used, even if each spectrum signal is encoded with 1 bit of the shortest code length, N bits of information are required for N spectra. When a multi-dimensional variable length code of order N is used, N spectra can be encoded with 1 bit of the shortest code length, so that it is efficient for signals having the above frequency components. Can be encoded.
[0021]
However, in a coding method using a multi-dimensional variable length code, increasing the code order has a considerable advantage in terms of compression efficiency. However, considering practical application, the code order can be increased without limit. It is impossible.
[0022]
Usually, the code string table is prepared for each quantization accuracy information set for each band. When the quantization accuracy is low, the number of spectral signal values that can be expressed is small, so even if the order is increased, the scale of the code string table does not increase so much. Therefore, even if the order is increased by one, the size of the code string table is remarkably increased.
[0023]
The above will be further described using a specific example. Assume that the input signal is subjected to MDCT conversion to obtain a spectrum as shown in FIG. FIG. 1 shows the absolute value of the MDCT spectrum with the level converted to dB. The input signal is converted into 64 spectral signals for each predetermined time block, and these are combined into 8 encoding units [1] to [8], and normalization and quantization are performed.
[0024]
By changing the quantization accuracy for each encoding unit according to the distribution method of the frequency components, it is possible to perform audioly efficient encoding while minimizing deterioration of sound quality. The required quantization accuracy information in each encoding unit can be obtained by calculating the minimum audible level and the masking level in the band corresponding to each encoding unit based on the auditory model, for example. The normalized and quantized spectrum signal is converted into a variable-length code and encoded with quantization accuracy information and normalization information in each encoding unit.
[0025]
FIG. 2 is a diagram for explaining a method of expressing quantization accuracy information. When the quantization accuracy information code is expressed by 3 bits, a maximum of 8 types of quantization accuracy information can be set. In this example, the quantization is performed in any one of eight steps of 1, 3, 5, 7, 15, 31, 63, and 127. Here, the quantization in one step means that all the spectrum signals in the encoding unit are quantized to a value of zero.
[0026]
FIG. 3 is a diagram for explaining a variable length coding method that has been conventionally performed. The spectrum signal is quantized based on quantization accuracy information determined for each encoding unit, and a quantized spectrum is obtained. When a quantized spectrum is encoded, it is converted into a corresponding code string by referring to a code string table as shown in FIG. As is clear from FIG. 4, a code string table is prepared for each quantization accuracy information.
[0027]
In FIG. 3, in the encoding unit [1], the code “011” is selected as the quantization accuracy information. Therefore, as shown in FIG. 4, the quantization is performed with the number of steps of seven stages, and the value of the quantized spectrum signal (quantized spectrum) is 3, -1, 2, 2 When these are converted into code strings using the code string table whose quantization accuracy information code is “011” in FIG. 4, they become 1110, 101, 1100, and 1100, respectively, and the code lengths become 4, 3, 4, and 4, respectively.
[0028]
In the encoding unit [2], the code “010” is selected as the quantization accuracy information. In this case, as shown in FIG. 4, quantization is performed with the number of steps of five stages. In this example, the quantized spectrum is -2, 1, 0, 1 in order from the lowest frequency. When these are converted into code strings using the code string table whose quantization accuracy information code is “010” in FIG. 4, they become 111, 100, 0, and 100, respectively, and the code lengths become 3, 3, 1, and 3, respectively.
[0029]
Similarly, in the encoding unit [3], the code “001” is selected as the quantization accuracy information, the quantization is performed in three steps, and the quantization spectrum is 0, −1, 0, 0, The code string is 0, 11, 0, 0, and the code length is 1, 2, 1, 1.
[0030]
FIG. 5 is a diagram for explaining a two-dimensional variable length coding method. FIG. 5 shows an encoding unit similar to that in FIG.
[0031]
If a two-dimensional code sequence table as shown in FIG. 6 is used as the code sequence table when the quantization accuracy information code is “001”, the quantization spectrum of the encoding unit [3] in FIG. A group is converted into one code string. Accordingly, the quantized spectra 0, -1, 0, 0 of the four spectrum signals are grouped into two groups (0, -1) and (0, 0), and two codes 101, 0 are included. Converted to a column.
[0032]
When the spectrum signal of the encoding unit [3] is encoded with a one-dimensional variable length code as shown in FIG. 3, the required amount of information is 1 + 2 + 1 + 1 = 5 bits. On the other hand, as shown in FIG. 5, when encoded with a two-dimensional variable length code, the amount of information becomes 3 + 1 = 4 bits. That is, it can be seen that if the order is increased, encoding can be performed with a smaller amount of information.
[0033]
[Problems to be solved by the invention]
As described above, the quantized spectrums of a plurality of (N) spectrum signals are combined into one group to form N-dimensional data, which is encoded into a variable-length code according to the code sequence table. The code length can be shortened compared to the case of using a one-dimensional variable length code. However, when the order (value of N) increases, the scale of the code string table increases remarkably, and there is a problem that it is difficult to put it to practical use.
[0034]
For example, when a two-dimensional variable length code is used, the code string table when the quantization accuracy information code is “001”, “010”, “110” is one-dimensional variable as shown in FIGS. Compared to the code string table (FIG. 4) in the case of using a long code, the scale of the code string table is increased.
[0035]
The present invention has been made in view of such a situation, and can perform encoding with a short code length without increasing the scale of the code string table as in the case of using multidimensional variable length encoding. It is what you want to do.
[0036]
[Means for Solving the Problems]
The encoding device of the present invention adjusts the positive / negative of numerical values to unify the positive / negative of M numerical values, the first encoding means to encode the numerical values whose positive / negative are unified by the uniforming means, Calculate the number of numerical values other than the specific value among the M numerical values, and whether the numerical value other than the specific value is positive or negative By unified means Generate the number of information other than the calculated specific value to determine whether the adjustment has been made. Positive / negative information And positive and negative information A second encoding means for encoding, and a code string generating means for generating a code string including an output of the first encoding means and an output of the second encoding means are provided.
[0037]
The code string generation means can generate the code string so as to alternately include the output of the first encoding means and the output of the second encoding means.
[0039]
First The encoding means can encode the numerical value into a variable-length code string.
[0040]
The variable length code string may be a Huffman code.
[0041]
The numerical sequence can be a quantized acoustic waveform signal.
[0042]
The encoding method of the present invention adjusts the sign of a numerical value to unify the positive and negative values of M numerical values, and the first encoding step to encode a numerical value whose sign is unified in the processing of the unifying step When, Calculate the number of numerical values other than the specific value among the M numerical values. In the unified step process Generate the number of information other than the calculated specific value to determine whether the adjustment has been made. Positive / negative information And positive and negative information A second encoding step for encoding, and a code string generation step for generating a code string including an output in the process of the first encoding step and an output in the process of the second encoding step. Features.
[0043]
The first recording medium program of the present invention adjusts the sign of a numerical value to unify the positive and negative values of the M numerical values, and first encodes a numerical value whose sign is unified by the processing of the unified step. Encoding steps of Calculate the number of numerical values other than the specific value among the M numerical values, and whether the numerical value other than the specific value is positive or negative In the unified step process Generate the number of information other than the calculated specific value to determine whether the adjustment has been made. Positive / negative information And positive and negative information A second encoding step for encoding, and a code string generation step for generating a code string including an output in the process of the first encoding step and an output in the process of the second encoding step. Features.
[0044]
A first program of the present invention adjusts the sign of a numerical value to unify the positive and negative values of M numerical values, and a first encoding for encoding a numerical value whose sign is unified in the processing of the unified step Steps, Calculate the number of numerical values other than the specific value among the M numerical values, and whether the numerical value other than the specific value is positive or negative In the unified step process Generate the number of information other than the calculated specific value to determine whether the adjustment has been made. Positive / negative information And positive and negative information A process including a second encoding step for encoding, and a code string generation step for generating a code string including an output in the process of the first encoding step and an output in the process of the second encoding step. The computer is executed.
[0045]
In the encoding apparatus and method, the first recording medium program, and the first program of the present invention, the positive / negative of the numerical values are adjusted to unify the positive and negative values of the M numerical values. Encoded, The number of numerical values other than the specific value among the M numerical values is calculated, and information on whether the sign of the numerical value other than the specific value has been adjusted is generated by the number of numerical values other than the calculated specific value. Positive / negative information And positive and negative information Encoding is performed to generate a code string.
[0046]
The decoding apparatus according to the present invention includes a first code string that is encoded as one group by unifying the sign of the numerical values constituting the M number strings, and a numerical value that is adjusted when the sign is unified. Input means for receiving a code string including a second code string obtained by encoding information for specifying; decoding means for decoding the first code string; decoding the second code string; Calculate the number of numerical values other than the specific value among the M numerical values, and check whether the sign of the numerical value other than the specific value has been adjusted information , Only the number of numerical values other than the calculated specific value read Reading A sampling means, and a number sequence of M positive and negative values adjusted by the decoding means; Reading And a restoring unit that restores the positive / negative of the M number strings based on the information for identifying the numerical value adjusted for the positive and negative values read by the sampling unit.
[0047]
The input means can receive a code string including the first code string and the second code string alternately.
[0049]
Reading The sampling means can not read the second code string when the specific value is decoded by the decoding means.
[0050]
The specific value can be the value 0.
[0051]
According to the decoding method of the present invention, a first code string that is encoded as one group by unifying the positive and negative values of the M numerical value strings, and a numerical value that is adjusted when positive and negative are adjusted. An input step of receiving a code string including a second code string obtained by encoding information for specifying; a decoding step of decoding the first code string; and decoding the second code string; Calculate the number of numerical values other than the specific value among the M numerical values, and check whether the sign of the numerical value other than the specific value has been adjusted information , Only the number of numerical values other than the calculated specific value read Reading A numerical sequence in which M positive and negative values adjusted in the processing of the sampling step and the decoding step are adjusted; Reading And a restoration step for restoring the positive / negative of the M number sequence based on the information for identifying the numerical value adjusted in the positive / negative direction read in the processing of the sampling step.
[0052]
The program of the second recording medium of the present invention is such that the sign of the first code string encoded as one group by unifying the sign of the numerical values constituting the M number strings is positive and negative when the signs are unified. An input step for receiving a code string including a second code string obtained by encoding information for specifying the adjusted numerical value; a decoding step for decoding the first code string; and a decoding of the second code string , Calculate the number of numerical values other than the specific value among the M numerical values, and check whether the sign of the numerical value other than the specific value has been adjusted information , Only the number of numerical values other than the calculated specific value read Reading A numerical sequence in which M positive and negative values adjusted in the processing of the sampling step and the decoding step are adjusted; Reading And a restoration step for restoring the positive / negative of the M number sequence based on the information for identifying the numerical value adjusted in the positive / negative direction read in the processing of the sampling step.
[0053]
In the second program of the present invention, the positive / negative is adjusted when unifying positive and negative with the first code string encoded as one group by unifying the positive and negative values of the numerical values constituting the M numerical value strings. An input step for receiving a code string including a second code string obtained by encoding information for specifying a numerical value; a decoding step for decoding the first code string; and a decoding of the second code string; Calculate the number of numerical values other than the specific value among the M numerical values, and check whether the sign of the numerical value other than the specific value has been adjusted information , Only the number of numerical values other than the calculated specific value read Reading A numerical sequence in which M positive and negative values adjusted in the processing of the sampling step and the decoding step are adjusted; Reading And a restoration step for restoring the positive / negative of the M number sequence based on the information for identifying the numerical value adjusted in the positive / negative direction read in the processing of the sampling step.
[0054]
In the decoding apparatus and method, the program of the second recording medium, and the second program of the present invention, the first code encoded as one group by unifying the sign of the numerical values constituting the M numerical value sequences A code string including a code string and a second code string obtained by encoding information for specifying a numerical value whose sign is adjusted when unifying the sign is received, the first code string is decoded, 2 code strings are decoded, Whether the number of numerical values other than the specific value among the M numerical values is calculated, and whether the sign of the numerical value other than the specific value is adjusted Information , Only the number of numerical values other than the calculated specific value The positive and negative values of the M number sequences are restored based on the read and decoded number sequence of M numbers adjusted for positive and negative and the information for specifying the read numbers for adjusted positive and negative values.
[0055]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 9 shows a configuration example of an encoding apparatus to which the present invention is applied.
[0056]
The signal waveform 101 input to the encoding device is converted into a signal frequency component 102 by the conversion circuit 1, and then each component is encoded by the signal component encoding circuit 2, and a code string is generated by the code string generation circuit 3. It is made to be done. This code string is transmitted to a predetermined transmission path or recorded on the information recording medium 4.
[0057]
FIG. 10 shows a configuration example of the conversion circuit 1.
[0058]
The signal components 211 and 212 divided into two bands by the band dividing filter 11 are converted into the spectrum signal components 221 and 222 by the forward spectrum conversion circuits 12 and 13 such as MDCT in the respective bands. . The bandwidth of the signals 211 and 212 is ½ of the bandwidth of the signal 201 (decimated to ½ of the signal 201).
[0059]
10 corresponds to 101 in FIG. 9, and 221 and 222 in FIG. 10 correspond to 102 in FIG.
[0060]
Many other conversion circuits 1 can be considered besides this embodiment. For example, the input signal may be directly converted into a spectrum signal by MDCT, or may be converted by DFT or DCT instead of MDCT.
[0061]
Although it is possible to process the signal by simply dividing the signal into band components by the band division filter and not converting it to a spectrum, the method of the present invention works particularly effectively when energy is concentrated at a specific frequency. It is convenient to take a method of converting the frequency components into frequency components by spectral conversion in which a large number of frequency components are obtained with a relatively small amount of calculation.
[0062]
FIG. 11 shows a configuration example of the signal component encoding circuit 2.
[0063]
Each signal component 301 is normalized for each predetermined band by the normalization circuit 21, and then input to the quantization circuit 22 as a signal 302, and the quantization accuracy signal 303 calculated by the quantization accuracy determination circuit 23. The signal is quantized based on the signal and output as a signal 304. 11 in FIG. 11 corresponds to 102 in FIG. 9, and 304 in FIG. 11 corresponds to 103 in FIG. 9. Here, in addition to the quantized signal component, 304 (103) Normalization coefficient information and quantization accuracy information are also included.
[0064]
FIG. 12 shows a configuration example of the code string generation circuit 3.
[0065]
The control unit 31 converts the quantized spectrum 401 of the spectrum signal grouped into one group of M, for example, by converting a negative quantized spectrum into a positive value (takes an absolute value), and After unifying positive and negative, it is encoded by controlling the encoding unit 32.
[0066]
Further, the control unit 31 controls the encoding unit 33 so that the specific value is the number of bits based on the number of quantized spectra other than the specific value (value 0 in this example) among the M quantized spectra. And the data corresponding to the position in the group of the negative quantization spectrum is encoded, and information for specifying the negative quantization spectrum (hereinafter referred to as positive / negative code information sign) is generated.
[0067]
The code sequence (code sequence of the quantized spectrum) 402 generated by the encoding unit 32 and the code sequence (positive / negative code information sign) 403 generated by the encoding unit 33 are a predetermined transmission path or information recording medium 4 Is output.
[0068]
Note that 401 in FIG. 12 corresponds to 103 in FIG. 9, and 402 and 403 in FIG. 12 correspond to 104 in FIG.
[0069]
Next, the operation of the encoding device (FIG. 9) will be described. The acoustic waveform signal 101 (201) is input to the band dividing filter 11 (FIG. 10) of the conversion circuit 1, and is divided into a signal component 211 having a lower frequency and a signal component 212 having a higher frequency. The lower frequency signal component 211 is input to the forward spectrum conversion circuit 12 and converted to the spectrum signal component 221. Similarly, the higher frequency signal component 212 is input to the forward spectrum conversion circuit 13, converted to the spectrum signal component 222, and output.
[0070]
That is, with reference to FIG. 1, the forward spectrum conversion circuit 12 unitizes lower frequency spectrum signals to generate encoding units [1] to [6]. Further, the forward spectrum conversion circuit 13 unitizes higher frequency spectrum signal components to generate encoding units [7] and [8].
[0071]
The spectrum signal components 221 and 222 (102) output from the forward spectrum conversion circuits 12 and 13 are input to the normalization circuit 21 (FIG. 11) and the quantization accuracy determination circuit 23 of the signal component encoding circuit 2. The normalization circuit 21 performs normalization by dividing the value of each signal by the maximum value among the plurality of spectral signal components in the encoding unit. Then, the obtained normalization coefficient 302 is supplied to the quantization circuit 22.
[0072]
The quantization accuracy determination circuit 23 determines the quantization accuracy of the input spectrum signal component for each encoding unit by calculating the minimum audible level and the masking level in the band corresponding to each encoding unit. The quantization circuit 22 quantizes the normalization coefficient 302 supplied from the normalization circuit 21 with the quantization accuracy 303 supplied from the quantization accuracy determination circuit 23, and codes the obtained quantized spectrum 304 (103). This is supplied to the column generation circuit 3.
[0073]
The code string generation circuit 3 converts the quantized spectrum 304 into a code string, and details of the process will be described with reference to the flowchart of FIG.
[0074]
In step S1, the control unit 31 of the code string generation circuit 3 includes the value of the counter i that counts the number of spectrum signals collected in one group, the value of the register N, and the value of the register sign. Initially set to the value 0.
[0075]
Next, in step S2, the control unit 31 examines the quantized spectrum of the spectrum signal corresponding to the value of the counter i (hereinafter referred to as QSP (i) as appropriate), and it is a specific value (in this example, It is determined whether or not the value is 0). If it is determined that the value is not 0, the process proceeds to step S3.
[0076]
In step S3, the control unit 31 increases the value of the register N by 1 and shifts the value of the register sign to the left by 1 bit (doubles).
[0077]
Next, in step S4, the control unit 31 determines whether or not the quantized spectrum of QSP (i) is a negative value, and if it is determined to be a negative value, the process proceeds to step S5.
[0078]
In step S5, the control unit 31 multiplies the quantized spectrum of QSP (i) by the value -1, and sets the resulting value as the quantized spectrum of QSP (i). That is, when the quantized spectrum of QSP (i) is a negative value, it is converted to a positive value. At this time, the control unit 31 increases the value of the register sign by 1.
[0079]
If it is determined in step S4 that the quantized spectrum of QSP (i) is a positive value, the process of step S5 is skipped, and the process proceeds to step S6. Also, in step S2, the quantized spectrum of QSP (i) When it is determined that the value is 0, the processing from step S3 to step S5 is skipped, and the process proceeds to step S6.
[0080]
In step S6, the control unit 31 increments the value of the counter i by 1. In step S7, the control unit 31 determines whether or not the value of the counter i is less than the number M of spectrum signals collected in one group. If it is determined that it is less than M, the process returns to step S2, and the subsequent processing is executed.
[0081]
When it is determined in step S7 that the value of the counter i is not less than the number M of spectrum signals (when it is more than that), the process proceeds to step S8, and the control unit 31 controls the encoding unit 32, The quantized spectrum of QSP (0) to QSP (M-1), that is, the quantized spectrum collected in one group is encoded with an M-dimensional variable length code.
[0082]
For example, when a two-dimensional variable length code is formed (when M = 2), the encoding unit 32 refers to a code string table as shown in FIG. The quantized spectrum is converted into a code string corresponding to the quantized spectrum.
[0083]
FIG. 14 shows a code string in the case where the quantization accuracy information code is “001”, a code string table in the case of “010”, and a code string table in the case of “011”. 4 code strings, 9 word code strings, and 16 word code strings are prepared.
[0084]
In the case of this example, the negative value quantized spectrum is converted to a positive value (step S5), and therefore the negative value quantized spectrum is not encoded. Therefore, the code string table of FIG. 14 does not include a code string corresponding to a negative quantization spectrum. In this way, for example, by unifying the quantized spectrum to a positive value, it is not necessary to prepare a code string corresponding to the negative quantized spectrum, and therefore the scale of the code string table can be reduced accordingly. .
[0085]
On the other hand, in the conventional variable length code, since the code string corresponding to the quantized spectrum of the positive value and the negative value has to be prepared, the scale of the code string becomes large. For example, in the code string table when the quantization accuracy information code in the two-dimensional variable length code is “001”, the code string table of 9 words shown in FIG. 6 is prepared, and the code string table in the case of “010” The code string of 25 words shown in FIG. 7 is prepared, and the code string table of 49 words shown in FIG. 8 needs to be prepared in the code string table in the case of “011”.
[0086]
Although illustration thereof is omitted, in the case of four dimensions, when the quantization accuracy information code is “010” and “011”, the size of the code string table of the present invention is 81 words and 256 words. In this case, it becomes 625 words and 2401 words.
[0087]
Returning to FIG. 13, in step S9, the control unit 31 controls the encoding unit 33 to encode the value of the register sign with the same number of bits as the value of the register N. Is generated.
[0088]
Thereafter, the process ends, and the processes in steps S1 to S9 are similarly performed on the quantized spectra of the spectrum signals collected in the next group.
[0089]
Next, as an example of the coding unit (16 or [8] coding unit in the example of FIG. 1) shown in FIG. The operation will be described again. In the case of this example, it is assumed that 2 (= M) spectral signals of the encoding unit are grouped into one group.
[0090]
In the case of encoding the quantized spectra (1, -2) of two spectrum signals from the lowest frequency, when the counter i = 0, the register N = 0, and the register sign = 0 (step S1), Since the quantized spectrum (value 1) of QSP (0) is not the value 0 (step S2), the value 0 of the register N is increased by 1 to become the value 1, and the value 0 of the register sign is doubled. 0 (step S3).
[0091]
Further, since the quantized spectrum (value 1) of QSP (0) is a positive value (step S4), the value 0 of the counter i is increased by 1 to become a value 1 (step S6).
[0092]
Since the quantized spectrum (value-2) of QSP (1) is not 0, the value 1 of the register N is further increased by 1 to become the value 2, and the value 0 of the register sign is doubled to become the value 0. Become.
[0093]
Further, since the quantized spectrum (value-2) of QSP (1) is a negative value, 2 (= −2 × −1) is the quantized spectrum of QSP (1) to be encoded ( Step S5). At this time, the value 0 of the register sign is incremented by 1 to become the value 1.
[0094]
In other words, in this case, (1,2) is encoded as 5 bits “11110” based on the code string table of FIG. 14 (step S8), and subsequently, the value 1 of the register sign is It is encoded into the number of bits of N value 2, that is, a 2-bit code string “01”, and positive / negative code information sign “01” is generated (step S9).
[0095]
The positive / negative sign information sign represents that the value encoded in step S8 corresponding to the “1” is a negative value. In this case, (1, −2) is encoded as (1,2), but the sign information “01” at this time corresponds to “1”, (1,2). "2" in () indicates that it is originally a negative value (-2). In a decoding apparatus to be described later, the sign of the signal component is determined based on the sign information sign.
[0096]
The encoding unit shown in FIG. 15 is 5 bits “11110” ((1,2) code string) and 2 bits “01” (code string of the register sign of value 1), 1 in the present invention. Bit “0” (code sequence of (0,0)), 3-bit “101” (code sequence of (1,0)) and 1 bit “0” (code sequence of register sign of value 0), 3-bit "110" (code sequence of (1,1)) and 2-bit "10" (code sequence of register sign of value 2), 1-bit "0" (code sequence of (0,0)) 5-bit "11100" ((0,2) code sequence) and 1-bit "0" (code sequence of register sign of value 0), 3-bit "110" (code sequence of (1,1)) ) And 2 bits of “11” (code sequence of the register sign of value 3), and 5 bits of “11100” (signs of (0, 2)) Since the encoded sequence) and of 1-bit "0" (code sequence register values 0 sign), the code length is 35 (= 7 + 1 + 4 + 5 + 1 + 6 + 5 + 6). The conventional two-dimensional variable length code is 35 bits as shown in FIG.
[0097]
FIG. 17 shows a configuration example of a decoding apparatus that decodes and outputs an acoustic signal from the code string generated by the encoding apparatus of FIG.
[0098]
The code sequence decomposition circuit 41 extracts the code of each signal component from the code sequence 501 that has been transmitted or reproduced from the information recording medium 4, and the signal component decoding circuit 42 extracts the signal component 503 from the code 502. After the decoding, an acoustic waveform signal 504 is generated and output by the inverse conversion circuit 43.
[0099]
FIG. 18 shows a configuration example of the code string decomposition circuit 41.
[0100]
The control unit 51 controls the decoding unit 52 to read the quantized spectrum code sequence (accurately, all positive values) read from the code sequence 601 of the encoding unit input to the code sequence decomposition circuit 41. The code sequence of the quantized spectrum) is decoded.
[0101]
The control unit 51 also reads the plus / minus sign information sign from the code string 601 of the coding unit, detects the plus / minus of the quantized spectrum based on the plus / minus sign information sign, and determines the sign of the signal component.
[0102]
601 in FIG. 18 corresponds to 501 in FIG. 17, and 602 in FIG. 18 corresponds to 502 in FIG.
[0103]
FIG. 19 shows a configuration example of the inverse conversion circuit 43. This corresponds to the conversion circuit 1 of FIG. 9, and the signals 711 and 712 of the respective bands obtained from the signals 701 and 702 by the inverse spectrum conversion circuits 61 and 62 are synthesized by the band synthesis filter 63 to obtain a signal 721. It is made to output. 701 and 702 in FIG. 19 correspond to 503 in FIG. 17, and 721 in FIG. 19 corresponds to 504 in FIG.
[0104]
Next, the operation of the decoding device will be described. The code string decomposition circuit 41 performs a code string decomposition process as shown in the flowchart of FIG.
[0105]
In step S21, the control unit 51 controls the decoding unit 52 to read the quantized spectrums of QSP (0) to QSP (M-1) collected in one group, read from the code string of the encoding unit. A code string (a code string of a quantized spectrum converted to a positive value) is decoded. Note that M is the number of spectrum signals grouped into one group when encoded.
[0106]
In step S22, the control unit 51 determines whether or not all the values obtained by the decoding in step S21 are the values 0. If not, the control unit 51 proceeds to step S23.
[0107]
In step S23, positive / negative code information sign (positive / negative code information sign indicating the positive / negative of the quantized spectrum) input following the code string of the quantized spectrum is read. Details of the processing here are shown in the flowchart of FIG.
[0108]
In step S <b> 31, the control unit 51 initializes the values of the counter i and the register N incorporated therein to the value 0.
[0109]
Next, in step S32, the control unit 51 determines whether or not the value obtained by decoding in step S21 corresponding to QSP (i) is a value 0, and determines that the value is 0. The process proceeds to step S34.
[0110]
On the other hand, when it is determined in step S32 that the value is not 0, the process proceeds to step S33, and the control unit 51 increases the value of the register N by 1, and the process proceeds to step S34.
[0111]
In step S34, the control unit 51 increments the value of the counter i by 1. In step S35, the control unit 51 determines whether or not the value of the counter i is less than the number M of spectrum signals combined into one group. When it determines with it being less than M, it returns to step S32 and performs the process after it.
[0112]
When it is determined in step S35 that the value of the counter i is not less than the number M of spectrum signals (when it is more than that), the process proceeds to step S36, and the control unit 51 performs the step of the code sequence of the encoding unit. From the next bit of the code string read in S21, the code string corresponding to the number of bits of the value of the register N is read as positive / negative code information sign.
[0113]
Thereafter, the process proceeds to step S24 in FIG. 20, and the codes of QSP (0) to QSP (M-1) are determined. Details of the processing here are shown in the flowchart of FIG.
[0114]
In step S41, the control unit 51 initializes the value of the counter i to the value 0, and subtracts 1 from the value of the register N by 1 from the value 1 set in the register mask. Shift to the left by the number of bits.
[0115]
In step S42, the control unit 51 determines whether or not the value obtained by decoding in step S21 corresponding to QSP (i) is the value 0. Proceeding to S43, the logical product of the positive / negative sign information sign read in step S36 and the register mask is calculated, and it is determined whether or not the calculation result is 0.
[0116]
If it is determined in step S43 that the logical product is not 0, the value obtained by decoding in step S21 corresponding to QSP (i) is multiplied by value -1, and the process proceeds to step S45. .
[0117]
On the other hand, if it is determined in step S43 that the logical product is 0, the process of step S44 is skipped and the process proceeds to step S45.
[0118]
In step S45, the control unit 51 shifts the value of the register mask to the right by 1 bit, and proceeds to step S46.
[0119]
If it is determined in step S42 that the value obtained by decoding in step S21 corresponding to QSP (i) is 0, the processing in steps S43 to S45 is skipped and the process proceeds to step S46.
[0120]
In step S46, the control unit 61 increments the value of the counter i by 1. In step S47, the control unit 61 determines whether or not the value of the counter i is less than the number M of spectrum signals collected in one group. If it is determined that it is less than M, the process returns to step S42 and the subsequent processing is executed.
[0121]
If it is determined in step S47 that the value of the counter i is not less than M (if it is greater than or equal to M), the processing in FIG. 20 is completed and then input together with the processing here (processing in step S24). The process after step S1 is similarly performed on the code sequence of the quantized spectrum.
[0122]
Next, the operation of the code string decomposition circuit 41 will be described again by taking as an example the case of decoding the encoded encoding unit shown in FIG.
[0123]
The code string “11110” read first is decoded (step S21) to obtain (1,2). Since (1,2) is not naturally (0,0) (step S22), the positive / negative code information sign “01” input following the code string “11110” is read (step S23).
[0124]
Specifically, in (1,2), the value 1 corresponding to QSP (0) is not the value 0 (step S32), so that the value 0 of the register N is increased by 1 to the value 1 ( In step S33), the value 0 of the counter i is increased by 1 to 1 (step S34).
[0125]
In (1, 2), the value 2 corresponding to QSP (1) is not 0 as well, so the value 1 of the register N is further increased by 1 to 2 and the value 1 of the counter i is 1. Increases to a value of 2.
[0126]
In this case, from the next bit of the code string “11110” of the quantized spectrum, the number of bits of the value 2 of the register N, that is, data “01” for 2 bits is read as the positive / negative code information sign.
[0127]
Next, the codes of QSP (0) and QSP (1) are determined (step S24).
[0128]
Specifically, the value of the counter i is initialized to the value 0, and 1 set in the register mask is shifted leftward by 1 (= value of the register N 2−value 1) bits.
That is, the register mask is (10) (step S41).
[0129]
Since the value 1 corresponding to QSP (0) in (1, 2) is not the value 0 (step S42), the logical product of the sign information sign (01) and the register mask (10) is calculated. Since the calculation result is 0 (step S43), the register mask (10) is shifted rightward by 1 bit to become (01) (step S45). That is, since the value 1 corresponding to QSP (0) was originally a positive value, the value 1 is directly used as the sign of QSP (0).
[0130]
The value 0 of the counter i is incremented by 1 to a value 1 (step S46).
[0131]
Since the value 2 corresponding to QSP (1) in (1, 2) is not the value 0, the logical product of the positive / negative sign information sign (01) and the register mask (01) at this time is calculated, and the calculation result Since the value is 1, the value 2 corresponding to QSP (1) is multiplied by the value −1 to obtain the value −2 (step S44).
[0132]
That is, since the value 2 corresponding to QSP (1) was originally a negative value, it is set to the value −2 as described here, and this is the sign of QSP (1).
[0133]
In this way, the code 502 (FIG. 17) extracted by the code string decomposition circuit 41 is input to the signal component decoding circuit 42 and decoded. The signal component decoding circuit 42 performs processing reverse to that of the signal component encoding circuit 2 shown in FIG.
[0134]
In the signal 503 output from the signal component decoding circuit 42, the spectrum signal component 701 having a lower frequency is input to the inverse spectrum conversion circuit 61, and the spectrum signal component 702 having a higher frequency is input to the inverse spectrum conversion circuit. 62. The inverse spectrum conversion circuits 61 and 62 convert the input spectral signal components 701 and 702 into acoustic signals 711 and 712 on the time axis and output them to the band synthesis filter 63. The band synthesis filter 63 synthesizes a lower frequency acoustic signal 711 and a higher frequency acoustic signal 712 and outputs the synthesized acoustic signal 721 (504).
[0135]
In general, in an acoustic waveform signal, energy is often concentrated on a fundamental frequency and a frequency component that is an integral multiple of the fundamental frequency, that is, a so-called harmonic component, and spectrum signals of other frequency components are often zero even when quantized. The higher the fundamental frequency, the greater the distance between so-called overtone components, so the probability of appearance of a zero quantized spectrum increases. Further, a signal having such a frequency component consumes a considerable amount of information because a sufficient audible signal-to-noise ratio cannot be secured unless quantization is performed with higher quantization accuracy. In particular, a large amount of information is consumed in a wide band of coding units.
[0136]
Therefore, in order to efficiently encode such a signal, it is important to encode the spectrum signal quantized to 0 with a small amount of information. As the most well-known method, there is a method using a multi-dimensional variable length code. However, as described above, a huge amount of code string table is required, which is not practical. However, the method according to the present invention realizes efficient coding without increasing the scale of the code string table.
[0137]
As described above, the band division circuit uses a signal obtained by spectrally converting the signal applied to the band division filter once by MDCT, and the band synthesis circuit is obtained by applying the inverse spectrum conversion by inverse MDCT (IMDCT) to the band synthesis filter. In the above description, the MDCT conversion and the IMDCT conversion may be directly performed without using the band division filter and the band synthesis filter. Further, the type of spectrum conversion is not limited to MDCT, and DFT, DCT, or the like may be used.
[0138]
Furthermore, the band division and the band synthesis may be performed only by the band division filter and the band synthesis filter without necessarily using the spectrum conversion. In this case, a band divided by the filter or a band obtained by collecting a plurality of these bands is set as an encoding unit. However, the method of the present invention can be efficiently applied by performing spectral conversion such as MDCT and converting it into a large number of spectral signals and then configuring the encoding unit as described using the embodiments. .
[0139]
In the above description, the case of processing an acoustic waveform signal has been described. However, the method of the present invention can be applied to other types of signals, for example, an image signal. It is. However, since the present invention realizes efficient encoding when there are a lot of spectral signals quantized to 0 using the characteristics of the acoustic waveform signal, when used for the acoustic waveform signal, Demonstrate power.
[0140]
Further, the method according to the present invention can be used in combination with the conventional variable length code method. For example, when the quantization accuracy is low, that is, when the number of quantization steps is small, encoding is performed using a two-dimensional or four-dimensional code sequence table by a conventional method, and the quantization accuracy is high, that is, the number of quantization steps. If is large, it is more effective to perform encoding using the method according to the present invention in consideration of the scale of the code string table.
[0141]
The series of processes described above can be realized by hardware, but can also be realized by software. When a series of processing is realized by software, a program constituting the software is installed in a computer, and the program is executed by the computer, so that the above-described encoding device and decoding device are functionally realized. Is done.
[0142]
FIG. 23 is a block diagram illustrating a configuration of an embodiment of a computer 101 that functions as the above-described encoding device or decoding device. An input / output interface 116 is connected to a CPU (Central Processing Unit) 111 via a bus 115, and the CPU 111 receives commands from an input unit 118 such as a keyboard and a mouse via the input / output interface 116. When input, it is stored in a recording medium such as a ROM (Read Only Memory) 112, a hard disk 114, or a magnetic disk 131, an optical disk 132, a magneto-optical disk 133, or a semiconductor memory 134 attached to the drive 120, for example. The program is loaded into a RAM (Random Access Memory) 113 and executed. Thereby, the various processes described above (for example, the processes shown in the flowcharts of FIGS. 13 and 20) are performed. Further, the CPU 111 outputs the processing result to the output unit 117 such as an LCD (Liquid Crystal Display) via the input / output interface 116 as necessary. The program is stored in advance in the hard disk 114 or ROM 112 and provided to the user integrally with the computer 101, or provided as a package medium such as the magnetic disk 131, the optical disk 132, the magneto-optical disk 133, or the semiconductor memory 134. Or can be provided to the hard disk 114 via the communication unit 119 from a satellite, a network, or the like.
[0143]
In this specification, the step of describing the program provided by the recording medium is not necessarily performed in time series in parallel with the process performed in time series in the order described, but may be performed in parallel or It also includes processes that are executed individually.
[0144]
【The invention's effect】
According to the encoding apparatus and method, the program of the first recording medium, and the first program of the present invention, the positive / negative of the numerical values are adjusted to unify the positive / negative of the M numerical values. And Calculate the number of numerical values other than the specific value among the M numerical values, and generate information on whether the positive or negative of the numerical value other than the specific value has been adjusted by the number of numerical values other than the calculated specific value. Positive / negative information And positive and negative information Since encoding is performed and a code string including them is generated, for example, encoding with high compression efficiency can be performed without increasing the scale of the code string table.
[0145]
According to the decoding apparatus and method, the program of the second recording medium, and the second program of the present invention, the first and the first encoded in one group by unifying the positive and negative of the numerical values constituting the M numerical value sequences. And a second code string obtained by encoding information for specifying a numerical value whose sign is adjusted when unifying positive and negative are received, the first code string is decoded, 2 code sequence, Calculate the number of numerical values other than the specific value among the M numerical values, and check whether the sign of the numerical value other than the specific value has been adjusted information , Only the number of numerical values other than the calculated specific value Based on the read and decoded numeric sequence with M positive / negative adjusted and the information for specifying the read numeric with adjusted positive / negative, the positive / negative of the M numeric sequence is restored. For example, encoding with high compression efficiency can be performed without increasing the scale of the code string table.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a spectrum of an encoding unit.
FIG. 2 is a diagram illustrating a method for expressing quantization accuracy information.
FIG. 3 is a diagram for explaining an encoding method using a variable-length code according to the prior art.
FIG. 4 is a diagram illustrating an example of a code string table.
FIG. 5 is a diagram for explaining a coding method using a multidimensional variable length code according to the prior art.
FIG. 6 is a diagram illustrating an example of a multidimensional code string table according to a conventional technique.
FIG. 7 is a diagram illustrating an example of another multi-dimensional code string table according to the related art.
FIG. 8 is a diagram illustrating an example of another multi-dimensional code string table according to the related art.
FIG. 9 is a block diagram illustrating a configuration example of an encoding device to which the present invention has been applied.
10 is a block diagram illustrating a configuration example of a conversion circuit in FIG. 9;
11 is a block diagram illustrating a configuration example of a signal component encoding circuit in FIG. 9;
12 is a block diagram illustrating a configuration example of a code string generation circuit in FIG. 9. FIG.
FIG. 13 is a flowchart illustrating the operation of the code string generation circuit.
FIG. 14 is a diagram illustrating an example of a code string table used in the present invention.
FIG. 15 is a diagram illustrating an encoding method according to the present invention.
FIG. 16 is another diagram for explaining a coding method according to the prior art.
FIG. 17 is a block diagram illustrating a configuration example of a decoding device to which the present invention has been applied.
18 is a block diagram illustrating a configuration example of a code string decomposition circuit in FIG. 17;
19 is a block diagram illustrating a configuration example of a conversion circuit in FIG. 17;
FIG. 20 is a flowchart illustrating an operation of a code string decomposition circuit.
FIG. 21 is a flowchart illustrating the process of step S23 of FIG.
FIG. 22 is a flowchart illustrating the process of step S24 of FIG.
23 is a block diagram illustrating a configuration example of a computer 101. FIG.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Conversion circuit, 2 Signal component encoding circuit, 3 Code stream generation circuit, 4 Information recording medium, 11 Band division filter, 12 Forward spectrum conversion circuit, 13 Forward spectrum conversion circuit, 21 Normalization circuit, 22 Quantization circuit, 23 Quantization accuracy determination circuit, 31 control unit, 32 encoding unit, 33 encoding unit, 41 code stream decomposition circuit, 42 signal component decoding circuit, 43 inverse transform circuit, 51 control unit, 52 decoding unit, 53 decoding unit, 61, 62 Inverse spectrum conversion circuit, 63 Band synthesis filter

Claims (15)

数値列を構成する数値を、M個ずつ1つのグループにまとめて符号化する符号化装置において、
前記数値の正負を調整して、M個の前記数値の正負を統一する統一手段と、
前記統一手段により正負が統一された前記数値を符号化する第1の符号化手段と、
M個の前記数値のうち特定値以外の数値の数を計算し、前記特定値以外の数値の正負が前記統一手段により調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ生成して正負情報とし、前記正負情報を符号化する第2の符号化手段と、
前記第1の符号化手段の出力と前記第2の符号化手段の出力を含む符号列を生成する符号列生成手段と
を備えることを特徴とする符号化装置。
In an encoding device that encodes the numerical values constituting the numerical sequence in a group of M pieces,
Unifying means for adjusting the positive and negative of the numerical values to unify the positive and negative of the M numerical values;
First encoding means for encoding the numerical value whose positive and negative values are unified by the unifying means;
The number of numerical values other than the specific value among the M numerical values is calculated, and information on whether the sign of the numerical value other than the specific value has been adjusted by the unified means is the number of numerical values other than the calculated specific value. Generating only positive / negative information, and encoding the positive / negative information ;
An encoding apparatus comprising: a code string generation unit that generates a code string including an output of the first encoding unit and an output of the second encoding unit.
前記符号列生成手段は、前記第1の符号化手段の出力と前記第2の符号化手段の出力を交互に含むように符号列を生成する
ことを特徴とする請求項1に記載の符号化装置。
2. The encoding according to claim 1, wherein the code string generating unit generates the code string so as to alternately include an output of the first encoding unit and an output of the second encoding unit. apparatus.
前記第1の符号化手段は、前記数値を、可変長の符号列に符号化する
ことを特徴とする請求項1に記載の符号化装置。
The encoding apparatus according to claim 1, wherein the first encoding unit encodes the numerical value into a variable-length code string.
前記可変長の符号列は、ハフマン符号よりなる
ことを特徴とする請求項に記載の符号化装置。
The encoding apparatus according to claim 3 , wherein the variable-length code string includes a Huffman code.
前記数値列は、量子化された音響波形信号である
ことを特徴とする請求項1に記載の符号化装置。
The encoding apparatus according to claim 1, wherein the numerical sequence is a quantized acoustic waveform signal.
数値列を構成する数値を、M個ずつ1つのグループにまとめて符号化する符号化装置の符号化方法において、
前記数値の正負を調整して、M個の前記数値の正負を統一する統一ステップと、
前記統一ステップの処理で正負が統一された前記数値を符号化する第1の符号化ステップと、
M個の前記数値のうち特定値以外の数値の数を計算し、前記特定値以外の数値の正負が前記統一ステップの処理で調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ生成して正負情報とし、前記正負情報を符号化する第2の符号化ステップと、
前記第1の符号化ステップの処理での出力と前記第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップと
を含むことを特徴とする符号化方法。
In the encoding method of the encoding device that encodes the numerical values constituting the numerical sequence in a group of M pieces,
A unified step of adjusting the positive / negative of the numerical values to unify the positive / negative of the M numerical values;
A first encoding step for encoding the numerical value whose sign is unified in the process of the unifying step;
The number of numerical values other than the specific value is calculated among the M numerical values, and information on whether the sign of the numerical value other than the specific value is adjusted in the process of the unifying step is used as the numerical value other than the calculated specific value. A second encoding step for generating positive and negative information and encoding the positive and negative information ;
An encoding method comprising: a code string generation step of generating a code string including an output in the process of the first encoding step and an output in the process of the second encoding step.
数値列を構成する数値を、M個ずつ1つのグループにまとめて符号化する符号化装置のプログラムであって、
前記数値の正負を調整して、M個の前記数値の正負を統一する統一ステップと、
前記統一ステップの処理で正負が統一された前記数値を符号化する第1の符号化ステップと、
M個の前記数値のうち特定値以外の数値の数を計算し、前記特定値以外の数値の正負が前記統一ステップの処理で調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ生成して正負情報とし、前記正負情報を符号化する第2の符号化ステップと、
前記第1の符号化ステップの処理での出力と前記第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A program of an encoding device that encodes the numerical values constituting a numerical sequence in a group of M pieces each,
A unified step of adjusting the positive / negative of the numerical values to unify the positive / negative of the M numerical values;
A first encoding step for encoding the numerical value whose sign is unified in the process of the unifying step;
The number of numerical values other than the specific value is calculated among the M numerical values, and information on whether the sign of the numerical value other than the specific value is adjusted in the process of the unifying step is used as the numerical value other than the calculated specific value. A second encoding step for generating positive and negative information and encoding the positive and negative information ;
A computer-readable program comprising: a code string generation step for generating a code string including an output in the process of the first encoding step and an output in the process of the second encoding step. Recording medium on which is recorded.
数値列を構成する数値を、M個ずつ1つのグループにまとめて符号化する符号化装置のプログラムであって、
前記数値の正負を調整して、M個の前記数値の正負を統一する統一ステップと、
前記統一ステップの処理で正負が統一された前記数値を符号化する第1の符号化ステップと、
M個の前記数値のうち特定値以外の数値の数を計算し、前記特定値以外の数値の正負が前記統一ステップの処理で調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ生成して正負情報とし、前記正負情報を符号化する第2の符号化ステップと、
前記第1の符号化ステップの処理での出力と前記第2の符号化ステップの処理での出力を含む符号列を生成する符号列生成ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
A program of an encoding device that encodes the numerical values constituting a numerical sequence in a group of M pieces each,
A unified step of adjusting the positive / negative of the numerical values to unify the positive / negative of the M numerical values;
A first encoding step for encoding the numerical value whose sign is unified in the processing of the unifying step;
The number of numerical values other than the specific value among the M numerical values is calculated, and information on whether the sign of the numerical value other than the specific value is adjusted in the process of the unifying step is used as the numerical value other than the calculated specific value. A second encoding step for generating positive and negative information and encoding the positive and negative information ;
A computer is caused to execute a process including an output in the process of the first encoding step and a code string generation step of generating a code string including an output in the process of the second encoding step. program.
M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、前記正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力手段と、
前記第1の符号列を復号する復号手段と、
前記第2の符号列を復号し、M個の前記数値のうちの特定値以外の前記数値の数を計算し、前記特定値以外の数値の正負が調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ読み取るみ取り手段と、
前記復号手段により復号されたM個の正負が調整された数値列と、前記み取り手段により読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元手段と
を備えることを特徴とする復号装置。
A first code string that is encoded as one group by unifying the sign of the numerical values constituting the M number strings, and information for specifying a numerical value that has been adjusted in sign when the sign is unified. Input means for receiving a code string including the encoded second code string;
Decoding means for decoding the first code string;
Decoding the second code string, and calculates the number of the number other than the specific value of the M number, information about whether the positive and negative numerical values other than the specific value has been adjusted, it was calculated and read-means for reading only the number of numerical value other than the specific value,
A numerical sequence of M negative was adjusted decoded by said decoding means, based on the information for the positive and negative read by the read-means to identify a numerical value which is adjusted, the M numerical sequence A decoding device comprising: restoration means for restoring positive and negative.
前記入力手段は、前記第1の符号列と前記第2の符号列が交互に含まれる符号列を受け取る
ことを特徴とする請求項に記載の復号装置。
The decoding apparatus according to claim 9 , wherein the input unit receives a code string including the first code string and the second code string alternately.
前記み取り手段は、前記復号手段により前記特定値が復号された場合、前記第2の符号列の読み取りを行わない
ことを特徴とする請求項の記載の復号装置。
The read-section, if the specific value is decoded by said decoding means, decoding apparatus according to claim 9, characterized in that not read the second code string.
前記特定値は、値0である
ことを特徴とする請求項の復号装置。
The decoding device according to claim 9 , wherein the specific value is a value of 0.
M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、前記正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、
前記第1の符号列を復号する復号ステップと、
前記第2の符号列を復号し、M個の前記数値のうちの特定値以外の前記数値の数を計算し、前記特定値以外の数値の正負が調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ読み取るみ取りステップと、
前記復号ステップの処理で復号されたM個の正負が調整された数値列と、前記み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップと
を含むことを特徴とする復号方法。
A first code string that is encoded as one group by unifying the sign of the numerical values constituting the M number strings, and information for specifying a numerical value that has been adjusted in sign when the sign is unified. An input step of receiving a code string including the encoded second code string;
A decoding step of decoding the first code string;
Decoding the second code string, and calculates the number of the number other than the specific value of the M number, information about whether the positive and negative numerical values other than the specific value has been adjusted, it was calculated and read-step of reading only the number of numerical value other than the specific value,
Based on the information for the a sequence of numerical values processing the M positive and negative decoded in the decoding step is adjusted, the positive and negative read by the processing of the read-step identifies the numerical value is adjusted, the M And a restoration step for restoring the sign of the numerical sequence of.
M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、前記正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、
前記第1の符号列を復号する復号ステップと、
前記第2の符号列を復号し、M個の前記数値のうちの特定値以外の前記数値の数を計算し、前記特定値以外の数値の正負が調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ読み取るみ取りステップと、
前記復号ステップの処理で復号されたM個の正負が調整された数値列と、前記み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A first code string that is encoded as one group by unifying the sign of the numerical values constituting the M number strings, and information for specifying a numerical value that has been adjusted in sign when the sign is unified. An input step of receiving a code string including the encoded second code string;
A decoding step of decoding the first code string;
Decoding the second code string, and calculates the number of the number other than the specific value of the M number, information about whether the positive and negative numerical values other than the specific value has been adjusted, it was calculated and read-step of reading only the number of numerical value other than the specific value,
Based on the information for the a sequence of numerical values processing the M positive and negative decoded in the decoding step is adjusted, the positive and negative read by the processing of the read-step identifies the numerical value is adjusted, the M A recording medium on which a computer-readable program is recorded, comprising: a restoring step for restoring the sign of the numerical sequence of
M個の数値列を構成する数値の正負を統一して一つのグループとして符号化された第1の符号列と、前記正負を統一する際に正負が調整された数値を特定するための情報を符号化した第2の符号列とを含む符号列を受け取る入力ステップと、
前記第1の符号列を復号する復号ステップと、
前記第2の符号列を復号し、M個の前記数値のうちの特定値以外の前記数値の数を計算し、前記特定値以外の数値の正負が調整されたかどうかの情報を、計算された前記特定値以外の数値の数だけ読み取るみ取りステップと、
前記復号ステップの処理で復号されたM個の正負が調整された数値列と、前記み取りステップの処理で読み取られた正負が調整された数値を特定するための情報に基づいて、M個の数値列の正負を復元する復元ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
A first code string that is encoded as one group by unifying the sign of the numerical values constituting the M number strings, and information for specifying a numerical value that has been adjusted in sign when the sign is unified. An input step of receiving a code string including the encoded second code string;
A decoding step of decoding the first code string;
Decoding the second code string, and calculates the number of the number other than the specific value of the M number, information about whether the positive and negative numerical values other than the specific value has been adjusted, it was calculated and read-step of reading only the number of numerical value other than the specific value,
Based on the information for the a sequence of numerical values processing the M positive and negative decoded in the decoding step is adjusted, the positive and negative read by the processing of the read-step identifies the numerical value is adjusted, the M A program that causes a computer to execute a process including: a restoring step that restores the positive / negative of the numerical sequence of.
JP2001169415A 2001-06-05 2001-06-05 Encoding apparatus and method, decoding apparatus and method, recording medium, and program Expired - Fee Related JP4534112B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001169415A JP4534112B2 (en) 2001-06-05 2001-06-05 Encoding apparatus and method, decoding apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001169415A JP4534112B2 (en) 2001-06-05 2001-06-05 Encoding apparatus and method, decoding apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2002368622A JP2002368622A (en) 2002-12-20
JP4534112B2 true JP4534112B2 (en) 2010-09-01

Family

ID=19011488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001169415A Expired - Fee Related JP4534112B2 (en) 2001-06-05 2001-06-05 Encoding apparatus and method, decoding apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4534112B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101037931B1 (en) 2004-05-13 2011-05-30 삼성전자주식회사 Speech signal compression and decompression device and its method using two-dimensional data processing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3186413B2 (en) * 1994-04-01 2001-07-11 ソニー株式会社 Data compression encoding method, data compression encoding device, and data recording medium
JPH0983378A (en) * 1995-09-18 1997-03-28 Toshiba Corp Encoding device and decoding device
JP3475985B2 (en) * 1995-11-10 2003-12-10 ソニー株式会社 Information encoding apparatus and method, information decoding apparatus and method
JP3166696B2 (en) * 1998-01-07 2001-05-14 日本電気株式会社 Variable length code generator
JP2000156861A (en) * 1998-11-20 2000-06-06 Oki Electric Ind Co Ltd Method and device for compressing multi-valued information and image information expanding device and cipher image reproducing system

Also Published As

Publication number Publication date
JP2002368622A (en) 2002-12-20

Similar Documents

Publication Publication Date Title
JP4506039B2 (en) Encoding apparatus and method, decoding apparatus and method, and encoding program and decoding program
JP3371590B2 (en) High efficiency coding method and high efficiency decoding method
JP3721582B2 (en) Signal encoding apparatus and method, and signal decoding apparatus and method
KR100395190B1 (en) Apparatus and method for coding or decoding signals
JP3203657B2 (en) Information encoding method and apparatus, information decoding method and apparatus, information transmission method, and information recording medium
JP4296752B2 (en) Encoding method and apparatus, decoding method and apparatus, and program
JPH07336232A (en) Method and device for coding information, method and device for decoding information and information recording medium
JPH1084284A (en) Signal reproducing method and device
JP3341474B2 (en) Information encoding method and decoding method, information encoding device and decoding device, and information recording medium
KR100352351B1 (en) Information encoding method and apparatus and Information decoding method and apparatus
KR100330290B1 (en) Signal encoding device, signal decoding device, and signal encoding method
KR100309727B1 (en) Audio signal encoder, audio signal decoder, and method for encoding and decoding audio signal
KR100952065B1 (en) Encoding method and apparatus, and decoding method and apparatus
JP3557674B2 (en) High efficiency coding method and apparatus
JP3475985B2 (en) Information encoding apparatus and method, information decoding apparatus and method
JP3685823B2 (en) Signal encoding method and apparatus, and signal decoding method and apparatus
EP0978948A1 (en) Coding device and coding method, decoding device and decoding method, program recording medium, and data recording medium
JP4534112B2 (en) Encoding apparatus and method, decoding apparatus and method, recording medium, and program
JP3255047B2 (en) Encoding device and method
JP3465697B2 (en) Signal recording medium
KR20040062261A (en) Method and apparatus for encoding/decoding audio data with scalability
JP2002374171A (en) Encoding device and method, decoding device and method, recording medium and program
JPH09135173A (en) Device and method for encoding, device and method for decoding, device and method for transmission and recording medium
JP3465698B2 (en) Signal decoding method and apparatus
JP2002359560A (en) Coder and coding method, decoder and decoding method, recording medium and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

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

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

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees