JP4049793B2 - 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体 - Google Patents

浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体 Download PDF

Info

Publication number
JP4049793B2
JP4049793B2 JP2005513652A JP2005513652A JP4049793B2 JP 4049793 B2 JP4049793 B2 JP 4049793B2 JP 2005513652 A JP2005513652 A JP 2005513652A JP 2005513652 A JP2005513652 A JP 2005513652A JP 4049793 B2 JP4049793 B2 JP 4049793B2
Authority
JP
Japan
Prior art keywords
signal
floating
encoding
bit
format
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 - Lifetime
Application number
JP2005513652A
Other languages
English (en)
Other versions
JPWO2005025072A1 (ja
Inventor
健弘 守谷
ダイ ヤン
登 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2005025072A1 publication Critical patent/JPWO2005025072A1/ja
Application granted granted Critical
Publication of JP4049793B2 publication Critical patent/JP4049793B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

この発明は音声、音楽、画像などの浮動小数点形式の信号サンプル系列を、歪を許さずより低い情報量に圧縮された符号に変換する符号化方法、その復号化方法、符号化装置、復号化装置、これらのプログラム、記録媒体に関する。
音声、画像などの情報を圧縮する方法として、歪を許さない可逆な符号化方法がある。
圧縮率の高い非可逆の符号化を行い、その再生信号と原信号の誤差を可逆に圧縮することを組み合わせることで高い圧縮率で可逆な圧縮が可能となる。この組み合わせ圧縮方法が特許文献1に提案されている。この方法は前記文献に詳細に示されているが、以下に簡単に説明する。
符号器では、ディジタル入力信号(以下、入力信号サンプル系列とも呼ぶ)が、フレーム分割部で、その入力信号サンプル系列が、例えば1024個の入力信号サンプルからなるフレーム単位に、順次分割され、このフレーム単位毎にディジタル信号が非可逆圧縮符号化される。この符号化は、復号化時に元のディジタル入力信号をある程度再現できる方式であれば、入力信号に適した如何なる方式でもよい。
例えば、上記ディジタル入力信号が音声であればITU−のG.729標準として勧告されている音声符号化などが利用でき、音楽であればMPEG−4で採用されているTwin VQ(Transform−Domain Weighted Interleaved Vector Quantization)符号化などが利用できる。この非可逆圧縮符号は局部復号され、この局部信号と元のディジタル信号との誤差信号が生成される。なお、実際的には、局部復号はする必要なく、非可逆圧縮符号を生成する際に得られる量子化信号と元のディジタル信号との誤差を求めればよい。この誤差信号の振幅は通常は元のディジタル信号の振幅よりもかなり小さい。よって、元のディジタル信号を可逆圧縮符号化するよりも、誤差信号を可逆圧縮符号化する方が情報量を小さくできる。
この可逆圧縮符号化の効率を上げるために、この誤差信号の符号絶対値表現(極性と絶対値の2進数)されたサンプル列のフレーム内の全サンプルに対しそれらの各ビット位置、つまりMSB,第2MSB,…,LSB毎に、サンプル系列方向(時間方向)にビットを連結したビット列を生成する。即ち、ビット配列の変換が行われる。この各連結した同じビット位置の1024個のビットからなるビット列をここでは便宜上「等位ビット列」と呼ぶことにする。これに対し、各サンプルの極性も含む振幅値を表す1ワードのビット列を便宜上「振幅ビット列」と呼ぶことにする。誤差信号は振幅が小さいので、各サンプルの最上位から1つ又は連続する複数のビットは全て“0”となることが多い。そこで、それらのビット位置で連結して生成した等位ビット列を予め決めた符号で表すことによって、誤差信号の可逆圧縮符号化効率を上げることができる。
これら等位ビット列が可逆圧縮符号化される。可逆圧縮符号化としては、例えば、同一符号(1又は0)が連続する系列がある場合や頻繁に出現する系列がある場合を利用した、ハフマン符号化や算術符号化などのエントロピー符号化などを用いることができる。
復号化側では、可逆圧縮符号が復号化され、その復号信号に対し、ビット配列の逆変換が行われ、即ち、フレーム毎に等位ビット列を振幅ビット列に変換し、得られた誤差信号が順次再生される。また、非可逆圧縮符号が復号化され、この復号信号と再生された誤差信号とが加算され、最後に、フレームごとの各加算信号が順次連結されて、元のディジタル信号系列が再生される。
音声、画像などの情報を歪を許さない可逆な符号化方法としてはその他にも各種のものが知られている。音楽情報については例えば非特許文献1に示されている。従来の方法は何れも波形をそのままPCM信号としたものについての圧縮符号化方法であった。
しかし音楽の収録スタジオでは浮動小数点形式で波形が記録されて保存されることがある。浮動小数点形式の値は極性、指数部、仮数部に分離されている。例えば図37に示すIEEE−754として標準化されている浮動小数点形式は32ビットであり、上位ビットから極性1ビット、指数部8ビット、仮数部23ビットで構成されている。極性をS、指数部の8ビットで表す値を10進数でE、仮数部の2進数をMとすると、この浮動小数点形式の数値は絶対値表現2進数で表わすと
Figure 0004049793
IEEE−754によれば、E=2−1=127と決められており、これにより、式(1)中のE−E
−127≦E−E≦128
の範囲の任意の値を取ることができる。ただし、E−E=−127の場合はall″0″、E−E=128の場合はall″1″と定義されている。E−E=nは式(1)で表される値の整数部分の桁数(ビット数)から1を減算した値、即ち、最上位の”1”より下位のビット数を表わしている。
特開2001−44847号公報 Mat Hans及びRonald W.Schafer著「Lossless Compression of Digital Audio」IEEE SIGNAL PROCESSING MAGAZINE,JULY 2001,P21〜32 音声、音楽、画像の情報が浮動小数点形式のディジタル信号系列とされている場合は、浮動小数点形式の性質上"0"と"1"からなるビット列が乱雑な場合が多くなるため、前述したビット配列変換を行っても、エントロピー圧縮符号化などによって高い圧縮率は期待できない。また浮動小数点形式のサンプル系列は原アナログ波形と著しく異なったものとなりサンプル間の相関による冗長性がなく、非特許文献1に示す可逆予測符号化方法を適用しても高い圧縮率は期待できない。
この発明の目的は浮動小数点形式の信号サンプル系列に対して圧縮率が高く、歪が生じない可逆符号化、復号化方法、それらの装置及びそれらのプログラム、記録媒体を提供することにある。
この発明の第1の観点による浮動小数点信号可逆符号化方法は、
(a)浮動小数点形式の第1信号サンプル系列を整数形式の第2信号サンプル系列に変換するステップと、
(b)上記整数形式の第2信号サンプル系列を可逆圧縮して第1符号列を生成するステップと、
(c)上記整数形式の第2信号サンプル系列と上記浮動小数点形式の第1信号サンプル系列との差分と対応する浮動小数点形式の差分信号を生成するステップと、
(d)上記浮動小数点形式の差分信号のサンプルにおける、上記整数形式の第2信号サンプル系列の対応する各サンプルの最上位の1のビット位置により決まる非ゼロになり得る桁のビット列を符号化する第1符号化処理と、上記差分信号を直接符号化する第2符号化処理とでいずれが高い圧縮効率であるかを判定するステップと、
(e)上記判定が上記第1符号化処理であれば、上記差分信号を上記第1符号化処理により符号化して第2符号列を生成し、上記判定が上記第2符号化処理であれば、上記差分信号を上記第2符号化処理により符号化して第2符号系列を生成するステップ、
とを含む。
この発明の第2の観点による浮動小数点信号可逆符号化方法は、
(a)浮動小数点形式の第1信号サンプル系列をフレーム毎に直接圧縮する場合と、整数値サンプル系列と差分信号の2系統信号に分離して圧縮する場合とのいずれが高い圧縮効率となるかを判定するステップと、
(b)上記判定が2系統信号分離であれば、
(b−1)上記第1信号サンプル系列を整数形式の第2信号サンプル系列に変換するステップと、
(b−2)上記整数形式の第2信号サンプル系列を可逆圧縮して第1符号列を生成するステップと、
(b−3)上記整数形式の第2信号サンプル系列と上記浮動小数点形式の第1信号サンプル系列との差分と対応する浮動小数点形式の差分信号を生成するステップと、
(b−4)上記浮動小数点形式の差分信号から第2符号列を生成するステップ、
とにより2系統信号分離圧縮を行うステップと、
(c)上記判定が直接圧縮であれば、上記第1信号サンプル系列を直接可逆圧縮して第3符号列を生成するステップと、
(d)上記直接可逆圧縮したか上記2系統信号分離圧縮したかを示す補助符号を生成するステップ、
とを含む。
この発明の第1の観点によれば、浮動小数点形式の入力信号サンプル系列Xの平均振幅が所定値より大きい場合には、信号サンプル系列Xを直接可逆符号化し、所定値以下の場合には入力信号サンプル系列Xを整数サンプル系列と差分信号に分けて符号化することにより、効率的な符号化が可能である。
この発明の第2の観点によれば、浮動小数点形式の入力信号サンプル系列Xを整数サンプル系列Yと差分信号Zに分け、それぞれ符号化する場合に、差分信号については非ゼロとなり得る桁のみを符号化する場合と、差分信号をそのまま符号化する場合で圧縮効率の高いほうの符号化結果を用いることにより、さらに効率的な符号化が可能である。
[図1]この発明の第1実施形態の符号化装置の機能構成を示す図。
[図2]図2中の整数化部12の動作を説明するための図。
[図3]図2中の整数化部12における処理手順の例を示す図。
[図4]整数値の絶対値と、その値を示す浮動小数点の仮数部のビットとの対応を示す図。
[図5]整数値の絶対値と、差分ディジタル信号の極性、指数部および仮数部との関係を示す図。
[図6]差分信号中の圧縮符号化される部分の例を示す図。
[図7]この発明の第1実施形態の復号化装置の機能構成を示す図。
[図8]図1に示す符号化装置の変形実施形態を示す図。
[図9]この発明の第2実施形態の符号化装置の機能構成を示す図。
[図10]この発明の第2実施形態の復号化装置の機能構成を示す図。
[図11]この発明の第2実施形態の符号化装置の変形機能構成を示す図。
[図12]この発明の第3実施形態の符号化装置の機能構成を示す図。
[図13]この発明の第3実施形態の復号化装置の機能構成を示す図。
[図14A]もともと浮動小数点信号であった入力浮動小数点形式信号Xに対する16ビット整数化を説明するための図。
[図14B]24ビット整数値信号から生成された浮動小数点形式信号Xに対する16ビット整数化を説明するための図。
[図14C]16ビット整数値信号から生成された浮動小数点信号Xに対する16ビット整数化を説明するための図。
[図15A]図9Aの場合の仮数部の非ゼロとなり得る領域を示す図。
[図15B]図9Bの場合の仮数部の非ゼロとなり得る領域を示す図。
[図16]この発明の第4実施形態の符号化装置の機能構成を示す図。
[図17]この発明の第4実施形態の復号化装置の機能構成を示す図。
[図18]仮数部を時間方向にビット走査して符号化する動作を説明するための図。
[図19]図18の符号化を実行する不圧縮部17の構成例を示す図。
[図20]図19の符号化に対応した復号化装置における伸張部23の構成例を示す図。
[図21]時間方向のビット走査の他の例を示す図。
[図22]時間方向のビット走査の他の例を示す図。
[図23]時間方向のビット走査の更に他の例を示す図。
[図24]非ゼロとなり得るビット列をLSB側に位置をそろえて配列した場合の時間方向のビット走査を示す図。
[図25]第6実施形態の符号化装置における圧縮部17の構成例を示す図。
[図26]第6実施形態の復号化装置における伸張部23の構成例を示す図。
[図27]第7実施形態の符号化装置における圧縮部17の構成例を示す図。
[図28]第7実施形態の復号化装置における伸張部23の構成例を示す図。
[図29]図27の圧縮部17の変形例を示す図。
[図30]図11の符号化装置における圧縮部17と131の代わりに使用可能な構成を示す図。
[図31]図30の構成に対応して図10の復号化装置における伸張部23、231、選択部233、補助復号部234に置き換える構成を示す図。
[図32]浮動小数点入力と切捨てによる整数値との関係を示す図。
[図33]浮動小数点入力と四捨五入による整数値との関係を示す図。
[図34]浮動小数点入力と変形四捨五入による整数値との関係を示す図。
[図35]図11の符号化装置の変形例を示す図。
[図36]この発明をコンピュータで実施する場合の構成を示す図。
[図37]IEEE−754の32ビット浮動小数点のフォーマットを示す図。
この発明は画像信号、音声信号などにも適用できるが、以下は主として音楽信号に対してこの発明を適用した場合について、実施形態を説明する。また浮動小数点形式としても各種のものを用いることができるが、以下では32ビットIEEE−754を前提とする。
第1実施形態
図1にこの発明による符号化装置の実施形態の機能構成を示す。この実施形態の符号化装置は、分析選択部100と、1系統符号化部120と、2系統符号化部110と、補助符号化部103と、出力部104とから構成されている。分析選択部100は効率推定部101と選択部102とから構成されている。2系統符号化部110は、整数化部12と、圧縮部13、17と、差分生成部14とから構成されている。
信号源10から例えば音楽信号のサンプル列が32ビットの浮動小数点形式の入力ディジタル信号サンプル系列Xとして出力される。この入力信号サンプル系列Xは24ビットの整数形式で録音された信号の素材を変形、振幅調整、効果付加、混合などの加工をした結果、小数点以下の数を含むようになったものを浮動小数点形式に変換したもの、あるいは、もともと24ビットの整数形式で録音された信号を32ビット浮動小数点形式に変換後、前記加工をした信号である。この入力信号サンプル系列Xは一定サンプル数、例えば1024個単位のフレームにフレーム分割部11で分割される。このフレーム分割は16〜32フレームなどのスーパーフレーム単位でもよく、あるいは1/2フレームとか1/4フレームでもよく、要は一定サンプル数毎に分割することであり、以下ではこれらを総称してフレームと呼ぶ。
入力信号サンプル系列Xは分析選択部100により分析され、整数値とその誤差を分離して可逆圧縮符号化する2系統符号化部110又は入力信号サンプル系列Xを直接可逆圧縮符号化する1系統符号化部120のいずれかに切り替えられて与えられる。分析選択部100では例えば入力信号サンプル系列Xが効率推定部101に入力され、そのフレーム内の平均振幅が平均部101aで計算され、その平均振幅が所定値以上か否かが判定部101bで判定され、その判定結果に応じて選択部102が制御される。その制御により判定結果が所定値以上であればそのフレームの入力信号サンプル系列Xが2系統符号化部110に供給され、所定値以上でなければ1系統符号化部120へ供給される。
例えば入力信号サンプル系列Xの各サンプル中の整数部が16ビットの2進数で表わされる場合、前記判定部101bでの判定基準となる所定値は8ビットの値とされる。この所定値は前記整数値により異なり、また入力信号サンプル系列の性質などにより、全体の圧縮効率がよくなるように選定される。
2系統符号化部110においては、浮動小数点形式の信号サンプル系列Xは整数化部12に入力され、各サンプル毎に整数形式の信号サンプル系列Yに変換される。先に述べたように前記例では、もともと24ビットの整数形式の信号の素材を変形、振幅調整、効果付加などの加工をした場合が多く、振幅が大きく変化することがないのが一般的である。従って整数化部12においては小数点以下を四捨五入または切り捨て、切り上げによって整数に変換すればよい。
例えば切り捨てを行う場合について、図2を参照して説明する。整数形式の桁数は16ビットあるいは20ビットなどでもよいが、以降の説明では24ビットを使用する。
浮動小数点による波形の表現法として整数値の32768(=215)を1.0と正規化して表わす場合、あるいは整数値223を1.0と正規化して表す場合などもあるが、指数部の値が異なるだけで以下の説明と本質的な差異はない。
小数点の次の上位側ビットは、指数部の値Eが例えばE=147であれば仮数部MのMSB側から147−127=20番目であり、図2Aに示すように23ビットの仮数部M中の上位側20ビット(M)が絶対値2進表現をした場合の整数部分の最上位の″1″より下位の部分であって、仮数部M中の下位側3ビット(M)が絶対値2進表現をした場合の小数点以下の端数部分である。以下ではMの部分を仮数部Mにおける整数部分と呼ぶ。従って、図2Bに示すように仮数部における整数部分(M)中の最下位ビットが仮数部23ビット中の最下位ビットとなるように、仮数部Mを3ビット下位方向にシフトすることによりこの小数点以下3ビット(M)が溢れて切り捨てられる。このシフトにより仮数部Mの空き(この例では″000″)となった最上位3ビット中の最下位ビット(即ち、23ビットの最下位から21ビット目)に式(1)における″1.M″の″1″に対応する″1″を設定することにより、端数切り捨てによる整数化された値が得られる(図3C参照)。あるいは、シフト前の23ビットのMSBの上位側に″1″を付加した24ビットを3ビット下位にシフトしてもよい。
更に、このようにして得られた整数値を2の補数表現に変換する。つまり、浮動小数点形式の信号サンプル系列Xの各サンプルの極性ビットSはそのまま最上位ビットとし、残りの23ビットについては図2Cに得られた23ビットを、極性Sが″0″(正)の場合は図2Cの23ビットをそのまま用い、Sが″1″(負)であれば、図2Dに示すように23ビットを全て論理反転、即ち″0″と″1″を交換した後に最下位ビットに″1″を加算する。最上位ビットは極性Sをそのまま用い、図2Eに示す24ビットの補数表現された整数形式の信号サンプル系列Yが得られる。
上述においては、主として、仮数部Mに小数点以下の端数部分と対応するビットが0ビット以上含まれている場合を想定し、1サンプルの浮動小数点形式の32ビットディジタル信号を1サンプル24ビットの整数形式のディジタル信号に変換した。しかし、例えば前記24ビット整数形式の信号の素材の複数を混合などして加工する場合には1サンプルの振幅値が24ビットで表わされる最大値より可成り大きくなっている場合もある。このようなE≧150の場合は例外処理として、指数部Eの値を前記例ではE=127+23=150に固定し、例外信号yを差分生成部14に与えると共に、仮数部Mの隣接上位側に″1″を付加した″1M″の上位23ビットをそのまま2の補数表現に変換して24ビット整数形式の信号サンプル系列Yとする。
整数化部12では例えば図3に示す処理を行うことになる。まず指数部Eが150以上か、つまり整数部が23ビット以上であるかを調べ(S1)、23ビットより少なければ、桁数計算部12Aで仮数部における整数部分の桁数E−E=nを求めて出力し(S2)、また仮数部Mを下位に(23−n)ビットだけシフトして端数部分を溢れ出し、得られた整数部分nビットの最下位から(n+1)ビット目に″1″を付加し(S3)、更にその上位側に全体で23ビットとなるように″0″を補充したものを、極性Sを加味して2の補数表現の24ビット整数形式に変換して整数形式信号サンプルYを得る(S4)。つまり、最上位ビットに極性Sをそのまま用い、残りの23ビットは、極性Sが″0″(正)であればステップS3でシフトして下位から(n+1)ビット目に″1″を加えた整数部分の最下位ビットから23ビットまでをそのまま用い、Sが″1″(負)であれば前記シフトして″1″を加えた整数部の最下位ビットから23ビットまでを、ビット反転して最下位ビットに″1″を加算して補数値を得る。ステップS1で指数部Eが150以上であれば、ステップS5でその指数部Eを150にしてステップS4で″1M″の上位23ビットから整数形式の信号サンプルYを生成する。
なお、上述では仮数部Mに対し(23−n)ビットシフトして1サンプル24ビットの絶対値表現2進数の整数値を求めたが、仮数部Mの図2AにMで示す上位からn=E−Eビットを取り出し、その上位側に図2Cに示すように″1″を付加してn+1ビットとし、その上位側に(22−n)ビットの″0″を付加して23ビットとし、更にその上位側に極性ビットSを付加して全体で24ビットにしてもよい。
以上のようにして整数化部12で変換された整数値信号サンプル系列Yは圧縮部13で整数値として波形値の相関などを利用した効率のよい可逆圧縮法により圧縮符号化されて符号列Caとして出力される。圧縮部13における可逆圧縮は例えば前記非特許文献1に示されているように各サンプル毎に予測値(整数値)との差分を求め、その差分の系列を、従来の技術の項で述べたようにビット配列変換を行った後、つまり等位ビット列についてエントロピー符号化すればよい。つまり整数値信号サンプル系列Yは信号源11の浮動小数点形式の入力信号サンプル系列Xの原アナログ信号波形と近似したものとなっている。従ってこの入力信号サンプル系列Xは予測や変換を使って信号サンプル間の相関による冗長性を除くことにより効率の高い可逆圧縮符号化が可能となる。
差分生成部14では整数値信号サンプルYと信号源11よりの対応する浮動小数点形式の入力信号サンプルXとの差分信号(誤差)Zが生成される。この例では整数値信号サンプルYは浮動小数点化部15で浮動小数点形式の信号サンプルY’に再変換され、その再変換された浮動小数点形式の信号サンプルY’が原浮動小数点形式の入力信号サンプルXから減算部16で減算されて浮動小数点形式の差分信号Zが生成される。
浮動小数点化部15での変換は1サンプルの整数形式ディジタル信号が24ビットの場合、まったくあいまい性や例外なく32ビットの浮動小数点形式の入力信号に変換可能である。前述したように原浮動小数点形式の信号サンプル系列Xの指数部Eは149以下の場合が多く、この場合は信号サンプル系列Y’のサンプルと原浮動小数点形式の入力信号サンプル系列Xのサンプルとの差分信号Zのサンプルは、原入力信号サンプル系列Xのサンプルの小数点以下の端数値と等しい。
上述の差分生成部14の説明は理解のためのものであって、現実には、整数値信号サンプル系列Yを浮動小数点化する必要はなく、差分生成部14に入力サンプル系列Xとその仮数部の整数部分桁数nを入力し、例外信号yが与えられないときは、浮動小数点形式の入力サンプル系列Xの各サンプルの極性Sと指数部E、仮数部Mの下位(23−n)ビットをそれぞれ差分信号Zの各サンプルの極性、指数部、仮数部の下位(23−n)ビットとし、仮数部中の上位nビットをすべて″0″とする。なお、仮数部の整数部分の桁数n=E−Eは、整数値信号サンプル系列Yのサンプルの最上位の″1″より下位の桁数と等しい。整数値信号サンプルのビット長は固定されているので、最上位の″1″からそれより上位の桁数が決まっても、仮数部中の整数部分の桁数が決まる。即ち、整数信号サンプルの最上位の″1″のビット位置がわかれば、対応する浮動小数点信号サンプルの仮数部における整数部分の桁数がわかる。例外信号yが与えられた場合は、極性は入力サンプルの極性S、指数部はE−150、仮数部は入力サンプル系列Xのサンプルと信号サンプル系列Y’のサンプルの仮数部の差分とする。
圧縮部17は、整数値信号サンプル系列Yと浮動小数点形式の入力サンプル系列Xとの、対応サンプルごとの差分信号Z、つまり差分生成部14からの浮動小数点形式の差分信号Zを可逆圧縮符号化し、符号列Cbを出力する。この圧縮部17では、例えば、整数化部12から出力された仮数部の整数部分桁数nを用いて、浮動小数点形式の差分信号Z中の各サンプルについて、″0″以外になり得る桁についてのみ可逆圧縮符号化を行う。浮動小数点形式の入力サンプル系列Xの各サンプルを、
X=1.M×2=X.X
ただしX=1M(Mより隣接上位側に1が付加された値)は2進整数部分、X=Mは端数部分、とおくと、その仮数部Mにおける整数部分Mに対応するビットと、端数部分(小数値)Mに対応するビットは図4に示す関係にある。ただし、仮数部Mは式(1)におけるMの上位側隣接1ビットを合わせて24ビットの値として示し、絶対値表現2進数とした場合の小数点Pの位置を便宜的に示してある。
整数値の絶対値Xが0の場合は、前式(1)においてE−E=−127の場合と、−126≦E−E≦−1の場合がある。前者の場合はE=0の特殊な場合であり、仮数部Mの全23ビット″x23…x″の全てが端数部分Mで、かつ、定義により入力信号サンプル系列Xのサンプルの仮数部23ビットがall″0″である。−126≦E−E≦−1の場合は仮数部がall″0″ではない端数部分であり、いずれにしてもE−Eが負の場合は整数値信号サンプル系列Yのサンプルの全ビットはall″0″となり、差分信号Zは入力サンプル系列Xのサンプルと同じになるので、浮動小数点形式の信号サンプル系列Xのサンプルの全32ビットを全て符号化する。
整数値の絶対値Xが1の場合は、仮数部Mの23ビット目より1ビット上位のビット(以下24ビット目という)″1″により整数値Xを表し、仮数部Mの23ビット″x23…x″は端数部分Mを表わす。
整数値の絶対値Xが2〜3の場合は24ビット目の″1″と23ビット目のx23との2ビット″1x23″により整数値Xを表わし、x23は仮数部M中の整数部分Mを表し、″x22…x″の22ビットで端数部分Mを表わす。
が4〜7の場合は24ビット目の″1″と23ビット目x23、22ビット目x22との3ビット″1x2322″により整数値Xを表わし、″x2322″は仮数部M中の整数部分Mを表し、″x21…x″の21ビットにより端数部分Mを表わしている。
が2k−1〜(2−1)の場合は、24ビット目の″1″と″x23…x23−(k−2)″とのkビットで整数値Xを表わし、″x2322…x23−(k−2)″は仮数部M中の整数部分Mを表し、″x23(k−1)…x″の(23−k)ビットで端数部分Mを表わす。
所で差分信号Zは32ビット浮動小数点形式の入力サンプル系列Xから、整数値信号サンプル系列Yを32ビット浮動小数点形式にしたサンプル系列Y′を差し引いたものであるから、差分信号Zは、図5に示すようになる。整数値の絶対値XWが0の場合は前述のE−Eが負の場合であり、差分信号Zの極性S、指数部E、仮数部Mは全て入力サンプルXと同一になる。
整数値の絶対値Xが1の場合は、サンプル系列Y′のサンプルのS,Eはそれぞれサンプル系列Xのサンプルのそれらと同一となりMは0となる。ここでは指数部の差分もとる。従って差分信号ZのS,Eはそれぞれ必ずXと同じ0,0となり、Mはサンプル系列Xのサンプルの仮数部Mと同一となる。
整数値Xが2〜3の場合は、サンプルY′のS,Eはそれぞれ、サンプルXのそれと同一となり、Mは23ビット目x23がサンプルXのMのそれと同一となり、端数部分″x22…x″は全て″0″である。従って差分信号ZのS,Eは必ず0となり、仮数部Mは上位1桁(23ビット目)は必ず0となり、残りの端数部分″x22…x″がサンプルXの対応する部分の値と同じであり、サンプルXにより変化する。
以下同様に、サンプルXの整数値Xが2k−1〜(2−1)の場合、差分信号ZのS,Eは必ず0となり、仮数部Mは、サンプルXの仮数部Mの整数部分と対応する上位(k−1)桁(ビット)″x…x23−(k−2)″は必ず″0″となり、残りの23−(k−1)ビット″x23−(k−1)…x″はサンプルXの仮数部Mのそれと同一値となり、サンプルXにより変化する。このように、整数形式の信号サンプル系列Yの整数値の範囲、つまり整数値の桁数n+1に応じて差分信号Zの非ゼロになり得る桁数h=23−nが決まる。
このような関係があるから、浮動小数点形式差分信号Zについては、圧縮部17において、整数化部12から入力された仮数部の整数部分の桁数nを用い、対応差分信号Z中の非ゼロになり得る下位h=(23−n)桁についてのみ可逆圧縮符号化する。つまり仮数部の整数部分の桁数nが0であれば指数部E、仮数部Mの全てを可逆圧縮符号化し、n≠0であれば、仮数部M中の下位h=(23−n)ビットのみを可逆圧縮符号化する。以上から入力信号サンプルXと仮数部の整数部分の桁数nとを差分生成部14に入力して、差分信号Zを生成できることが理解されよう。
圧縮部17による差分信号Zの符号化は、前述のように入力信号サンプル系列XのサンプルのE−Eが−127〜0の場合は、差分信号Zは入力信号サンプルXと同一になり、従って入力信号サンプルXの全32ビットを差分信号Zとして符号化する。E−Eが1〜22の場合は、例えば差分信号サンプル系列Z=z,z,z…が図6に示す状態の場合、n≠0の場合以外は非ゼロになり得る桁部分Mのみを符号化する。この非ゼロになり得る桁についての符号化はその非ゼロになり得る桁数h毎に例えばハフマン符号化などのエントロピー符号化を行うか、まとめて例えばユニバーサル符号化を行う。つまり図6中に斜線を施した部分のみをサンプル毎にあるいはフレーム単位など適当にまとめてエントロピー符号化などの可逆圧縮符号化を行えばよい。各サンプルの非ゼロとなり得る桁部分Mの桁数(ビット数)hはh=(23−n)と求まるので、フレーム毎に全てのMを一連のビット列として符号化しても、復号側で復号化された一連のビット列を各サンプルの非ゼロとなり得るビット数hごとに分離可能である。
なお、極性Sは整数形式の信号サンプル系列Yの符号化により、符号Caに含まれているため、差分信号Zの符号化の際に極性Sを符号化して送信する必要はない。また、受信側では整数値信号サンプル系列Yの各サンプルの極性を除く最上位の″1″より下位のビット数nからn=E−Eを求めることができるので、桁数nを送信する必要はない。
差分信号Zは小数点以下の桁数が多いこともあり、その場合、符号化の効率が悪い場合がある。従って、図1の実施形態において差分信号Zの非ゼロとなり得る桁を符号化した場合に得られる符号列の情報量と、符号化しない場合の非ゼロになり得る桁の情報量を比較し、後者のほうが情報量が小さければ非ゼロとなり得る桁を符号化せずそのまま符号列Cbとして出力してもよい。あるいは、この差分信号Zのサンプルの全桁を符号化した場合としない場合の情報量を比較し、情報量が小さくなるほうを選択してもよい。
なお前述したように浮動小数点形式の信号サンプル系列X自体の仮数部がE≧150の例外的な場合は、整数化部12で指数部Eが150に固定されたことを示す例外信号yが差分生成部14に与えられ、差分生成部14はその指数部Eの値150と信号サンプル系列Xのサンプルの指数部Eとの差分(E−150)を指数部とし、仮数部Mの差分を仮数部とする浮動小数点形式の差分信号Zを生成する。圧縮部17は差分信号Zを可逆圧縮符号化し、その符号列Cbとして出力する。
図1に示すように、1系統符号化部120では、入力された浮動小数点形式の入力信号サンプル系列Xは圧縮部121で直接可逆圧縮符号化され、符号列Ccして出力される。この可逆圧縮符号化は例えば8ビット単位のユニバーサル符号化で行えばよい。分析選択部100より2系統符号化部110と1系統符号化部120とのいずれを選択したかを示す補助情報が補助符号化部103により補助符号Cdして符号化されて出力される。これら符号列Ca、Cbと補助符号Cd又は符号列Ccと補助符号Cdが出力部104から出力され、伝送、あるいは記録媒体への記録に用いられる。
図7に図1に示した符号化装置と対応するこの発明による復号化装置の実施形態を示す。
入力端子201よりの符号列は1フレーム分の符号列毎に補助符号抽出部202で補助符号Cdが抽出され、補助符号Cdにより分離部203が制御され、入力端子201よりの符号列は補助符号Cdが2系統符号化を表わす場合は入力端子からの符号列CaとCbが分離されて2系統復号部210へ供給され、1系統符号化を表わす場合は入力端子からの符号列から符号列Ccが分離されて1系統復号部220へ供給される。
2系統復号部210に入力された符号列Caは伸張部21で可逆伸張復号化される。この可逆伸張復号化方法は、図1中の圧縮部13で行った可逆圧縮符号化方法と対応し、その処理と逆の処理を行う。よってこの可逆伸張復号化により1サンプル24ビットの整数形式のディジタル信号系列Yが生成される。また伸張部21中の桁数出力部21Aにおいて、伸張復号された各サンプルごとの最上位の”1”より下位の桁数nを浮動小数点形式のディジタル信号の仮数部Mにおける整数部分の桁数として求めて出力される。この桁数nは伸張部23に入力される。
伸張部23ではこれに入力された符号列Cbが可逆伸張復号化される。この可逆伸張復号化方法は図1中の圧縮部17で行う可逆圧縮方法と対応したものとする。よってこの伸張部23において、伸張復号されたビット列から、組立部23Aにより桁数nに基づいて、サンプルごとの32ビット浮動小数点形式の差分(誤差)ディジタル信号が組立てられ、浮動小数点形式の差分信号Zとして出力される。
組立部23Aでは、伸張部21からのフレームの最初のサンプルに対する桁数nと、伸張部23で伸張復号されたビット列から、最初のサンプルと対応する部分としてn=0でなければ、23ビットの仮数部Mの下位23−n=hビットとしてhビットが取り出されて、図6中の最初のサンプルzにおける斜線を施した部分よりなる1サンプル32ビットの浮動小数点形式の差分信号サンプルzとして組立てられる。極性Sの1ビット、指数部Eの8ビットはすべて0とし、また図6中の仮数部M中の整数値と対応する部分Mは全て0とされる。次のサンプルに対して対応桁数n≠0に応じて仮数部の下位23−n=hビットとして伸張復号ビット列からhビットを取り出して32ビットの浮動小数点形式差分信号Zとし、以下同様にして図6に示したようなサンプル列z,z…が順次組立てられて出力される。n=0の場合は指数部Eの8ビットと仮数部Mの23ビットが伸張復号ビット列から取り出されて浮動小数点形式ディジタル信号とする。この復号した差分信号Zは極性Sは常に0、指数部Eはn=0以外は常に0、仮数部Mは下位の23−n=hビットのみが非ゼロになり得るビットであり、その他は常に0であり、従って厳密な意味では浮動小数点表現ではないが、ここでは浮動小数点形式差分信号と呼んでいる。
伸張部21よりの24ビット整数形式の信号サンプル系列Yは浮動小数点化部22で1サンプル32ビットの浮動小数点形式の信号サンプル系列Y′に変換される。この信号サンプル系列Y′は伸張部23よりの浮動小数点形式の差分信号Zとが合成部24で対応サンプル毎に加算合成され、浮動小数点形式の信号サンプル系列Xが再生される。再生信号サンプル系列Xの各サンプルの極性は信号サンプル系列Y′のそれ、つまり復号された整数形式の信号サンプル系列Yの極性となり、サンプル列Xのサンプルの指数部Eはn=0以外は、信号サンプル系列Y′のサンプルの指数部となり、仮数部Mは上位n=23−hビットが信号サンプル系列Y′のサンプルの仮数部Mの上位nビットとなり、下位23−n=hビットが差分信号Zの下位hビットとなる。
1系統復号部220に入力された符号列Ccは、図1中の圧縮部121と対応した可逆復号伸張処理により、原浮動小数点形式の信号サンプル系列Xに直接復号される。
2系統復号部210及び1系統復号部220で復号された浮動小数点形式の信号サンプル系列Xはフレーム合成部205において、順次連続合成されて、浮動小数点形式信号サンプル系列とされる。
変形実施形態
図8は図1で示した符号化装置の変形実施形態を示す。この符号化装置は、図1における分析選択部100を使用しない。ここでは2系統符号化部110及び1系統符号化部120で入力信号サンプル系列Xをそれぞれ一旦符号化し、分析選択部100′に符号列Ca及びCb、また符号列Ccを入力し、そのフレームにおける圧縮効率を効率計算部100cでそれぞれ計算する。例えばそれぞれの符号長のそのフレーム内での総和を求め、比較判定部100dで比較し、その符号長総和が小さい方が、圧縮効率が高いものとして、判定結果を補助符号化部103に与えて符号Cdを生成するとともに、比較結果により出力部104を制御して出力部104から、符号列の組(Ca,Cb,Cd)又は符号列の組(Cc,Cd)を選択出力する。その他の構成は図1の場合と同様であり、説明を省略する。図中に破線で示すように、差分信号Zをそのまま出力する場合も選択の1つとして加え、符号列の組(Ca,Cb,Cd),(Ca,Z,Cd),(Cc,Cd)のいずれか最も圧縮効率の高いものを出力してもよい。図8の符号化装置に対応する復号化装置としては、図7に示した復号化装置をそのまま使用することができる。
なお図1に示した符号化装置において、圧縮部17は浮動小数点形式の差分信号Zを直接可逆圧縮符号化した場合は、図7に示した復号装置中の伸張部23ではnを使用せず、浮動小数点形式の差分信号Zが直接復号されるようにする。この直接可逆圧縮符号化、復号化する場合は整数化部12における整数化は切り捨てのみならず、四捨五入、切り上げにより行ってもよい。
変形実施形態
一般の浮動小数点ではなく、もともと24ビットとか16ビットの整数値のPCM信号を便宜上、浮動小数点に変換して符号化対象の系列を作成する場合がある。このような特殊な浮動小数点系列の場合には、前述した第1実施形態において非0になり得る桁はなくなり、差分生成部14よりの浮動小数点形式の差分(誤差)信号Zの極性S、指数部E、仮数部Mはすべてゼロとなり、送信する必要はない。この場合は、例えば補助情報として2ビットを用い、その2ビットが″00″であればもともとのディジタル信号が1サンプル16ビットの整数値のみ、″01″であれば1サンプル24ビットの整数値のみ、″10″であればそれ以外の信号であることを復号化装置に伝えればよく、そのためには、この2ビット補助情報を例えば圧縮部17の出力符号列Cbの先頭に追加し、前2者の場合は符号列Cbとしてこの2ビットの補助符号のみを出力し、後者の場合には補助符号に符号列Cbを付加して出力することにより効率的な圧縮が可能となる。
第2実施形態
この発明の第2実施形態では浮動小数点形式の信号サンプル系列Xから、必ず整数形式の信号サンプル系列Yを生成するが、浮動小数点形式の差分信号Zについては、2つの可逆圧縮符号化方法のいずれかの圧縮効率が高いと推定される方により符号化する。つまり1つは第1実施形態で説明したように整数形式信号サンプル系列Yの各サンプルの桁数を利用して浮動小数点形式の差分信号の非ゼロとなり得る桁のみを可逆符号化する方法であり、他の1つは浮動小数点形式の差分信号を直接可逆圧縮符号化する方法である。
この第2実施形態の符号化装置の機能構成を、図9に、図1と対応する部分に同一参照番号を付けて示し、重複説明は省略する(以下も同様)。この第2実施形態では差分信号Zの符号化のために、整数値サンプルの最上位の″1″より下位の桁数nを利用する圧縮部17と、浮動小数点形式の差分信号を直接可逆圧縮符号化する圧縮部131とが設けられる。また分析部132に整数化部12から仮数部M中の整数部分の桁数(整数値サンプルの最上位の”1”より下位の桁数)nが入力され、その桁数nと基準値とが判定部132aで比較され、その比較結果に応じて選択部133が制御される。差分信号Zの仮数部Mの上位nビットは”0”であり、nが大きいほど、圧縮部17を使用するほうが圧縮効率が高くなる。そこで、桁数nが基準値以上であれば、差分信号Zを圧縮部17へ供給し、桁数nが基準値以上でなければ差分信号Zを圧縮部131へ供給する。圧縮部17と131のいずれかで可逆圧縮符号化された差分信号Zに対する符号列Cbが出力部104に入力されることになる。
桁数nが大きければ、つまり振幅が大きければ、図5を参照して説明したように、差分信号Zの各サンプル中の非ゼロをとり得る桁の数h=23−nが小さくなり、差分信号Zを効率的に圧縮することができる。しかし桁数nが小さければ、つまり振幅が小さければ、差分信号Z中の非ゼロを取り得る桁数hが大きくなり、圧縮部131において、浮動小数点形式の差分信号Zを、例えば通常の8ビット単位のユニバーサル符号化により可逆圧縮符号化をした方が有利である。例えば、各差分信号サンプルの23ビットの仮数部の先頭(又は末尾)に″0″を1ビット挿入して24ビットのビット列とし、そのビット列を8ビット毎の3個のシンボル(符号化単位)に分解し、8ビットのシンボル毎の圧縮符号化を適用する。あるいは、各差分信号サンプルの仮数部の非ゼロとなり得るビットのみを8ビットごとに区切り、8ビットで割り切れないものには″0″を必要なビット数だけ追加挿入して、8ビット毎のシンボルを作成し、シンボル毎に圧縮符号化を適用してもよい。例えば、あるサンプルでは仮数部の非ゼロとなり得るビット数が11であれば、5個の″0″を追加して8ビットの2つのシンボルを作る。
判定部132aにおける前記基準値としては、例えば整数形式ディジタル信号サンプル系列Yの振幅長が16ビットの場合、例えば10ビットとされる。この基準値も第1実施形態の判定部101bにおける所定値と同様に各種条件に応じて高い圧縮効率が得られるように選定される。
この圧縮部17と131との選択は、各サンプル毎に行ってもよく、あるいは、分析部132の平均部132bで1フレーム分の整数形式信号サンプルのそれぞれの最上位の”1”より下位の桁数nを平均し、その平均値が基準値以上であれば、圧縮部17を選択し、基準値以上でなければ圧縮部131を選択するようにフレーム毎に制御してもよい。各サンプル毎に圧縮部17と131との選択を行う場合は、圧縮部17では例えば入力された1フレーム分の選択されたそれぞれのサンプルの非ゼロとなり得るビットをビット連結して、エントロピー符号化する。桁数nは復号側において復号化された整数形式の信号サンプルからから求めることができるので、桁数nを利用して圧縮部17と131の選択を行う場合は、その圧縮部17と131のいずれを選択したか表わす補助符号を出力する必要はない。
図9に示した符号化装置と対応する復号装置の実施形態を図10に図7と対応する部分に同一参照番号を付けて示す。分離部203により分離された符号列Caは必ず伸張部21に入力されて、整数形式の信号サンプル系列Yが復号伸張される。符号列Cbに対する伸張部として伸張部23の他に伸張部231が設けられる。
伸張部21よりの整数形式ディジタル信号サンプルの最上位の”1”より下位の桁数nが分析部232に入力される。分析部232は図9中の分析部132と同一構成であり、桁数nと基準値とが判定部232aで比較され、桁数nが基準値以上であれば、符号列Cbは伸張部23へ供給され、桁数nが基準値以上でなければ、符号列Cbは伸張部231へ供給されるように選択部233が制御される。伸張部23では第1実施形態で説明したように、復号伸張されたビット列から桁数nで決まる非ゼロを取り得る桁数hづつ取り出され、組立部23aで浮動小数点形式の差分信号Zに組み立てられる。
伸張部231では、図9中の圧縮部131と対応した復号伸張方法により、符号列Cbが浮動小数点形式の差分信号Zに直接復号伸張される。なお図9中の分析部132で桁数nの平均を利用した場合は分析部232においても桁数nを平均部232bで平均して、基準値と比較する。この比較結果により選択部233が制御され、符号列Cbが伸張部23又は231に与えられる。伸張部23では、符号列Cbを図7で説明したと同様に復号して非ゼロとなり得る桁のビット列を得る。そのビット列から桁数nを使って差分信号の仮数部を形成し、更に、浮動小数点形式の差分信号Zを組み立てる。
前述したように、ここでは差分信号Zは浮動小数点形式とは言っても符号化装置の差分生成部14において生成された差分の指数部と極性はともに全て”0”となるため送信されず、復号化装置の伸張部23で復号した非ゼロとなり得る桁から仮数部を組み立て、全てゼロの指数部とゼロの極性を付加して浮動小数点形式の差分信号Zを組み立てている。
伸張部231は符号列Cbが符号列Cb’として与えられ、図9における圧縮部131と逆の復号化処理を行い、直接差分信号Zを得る。これらのうちのいずれかの差分信号Zは加算部24で整数形式のサンプルYに対応する符号小数点形式のサンプルY‘が加算され、現浮動小数点形式の信号サンプルXが得られる。
変形実施形態
図11は図9の実施形態の変形例であり、図9に対応する部分には同じ参照番号が付けられている。この変形実施形態では、図9において、分析部132と選択部133を使用する代わりに、圧縮部17、131で圧縮符号化を行って、どちらが圧縮効率の高い符号化が可能であるか判定し、効率の高いほうの符号化結果を出力する。即ち、差分信号Zを圧縮部17と圧縮部131との両者でそれぞれ可逆圧縮符号化し、これらの符号化結果としての符号列CbとCb’をそれぞれ分析選択部134に入力して、そのフレームにおける差分信号Zに対する圧縮効率が圧縮部17と131とでいずれが高いかを効率計算部134a及び判定部134bにより判定して、その圧縮効率が高い方の符号列を符号列Cbとして出力部104より出力してもよい。この場合は、符号列Cbが圧縮部17と131のいずれにより符号化されたものであるかを表わす補助符号Ceを補助符号化部103から出力する必要がある。
図11の符号化装置に対応する復号化装置は、図10に示した復号化装置において、分析部232を設ける代わりに破線で示す補助復号化部234を設けた構成とする。分離部203により分離された補助符号Ceを補助復号化部234で復号し、その復号結果により選択部233を制御して符号列Cbを伸張部23又は231に与える。その他の動作は図9の符号化装置に対する復号化装置としての動作と同様である。
図9の構成に図11における分析選択部134と補助符号化部103を設け、桁数nを使った判定と圧縮効率を使った判定のいずれを使用するかを選択できるようにし、図10においても分析部232に加えて補助復号化部234を設けてどちらの手法でも使用できるようにしてもよい。ただし、符号化側と復号化側で対応する手法を使用する。
第3実施形態
この発明の第3実施形態は図1の第1実施形態と図9の第2実施形態とを組み合わせたものである。この第3実施形態の符号化装置の機能構成図を図12に、図1、8、9及び11と対応する部分に同一参照番号を付けて示し、重複説明は省略する。この実施形態によれば、選択部102と133の選択の組み合わせにより符号列の組(Ca,Cb,Cd),(Ca,Cb’,Cd),(Cc,Cd)のいずれかが選択され出力される。
これらと同様の3つの組の符号列の選択は、図11の実施形態に破線で示すように図8の圧縮部121を追加し、最も圧縮効率の高い符号列の組を分析選択部134で選択することにより実現できる。
この第3実施形態の復号装置を、図13に、図7及び図10と対応する部分に同一参照番号を付けて示し、重複説明を省略する。
第4実施形態
上述の第1実施形態では、浮動小数点形式の入力信号サンプルXの小数点以下の端数を切り捨てることにより整数化し、差分信号Zの仮数部における整数部分がall″0″となることを利用して差分信号Zの非ゼロとなり得る桁のみを符号化することにより圧縮効率を高める符号化装置を示した。また、第2実施形態では、差分信号Zについて、非ゼロとなり得る桁のみを符号化する場合と全桁の符号化する場合とで効率の良い方を選択する符号化装置を示した。第4実施形態では、上記小数点以下の切捨てに加えて、更に整数部分も予め決めたビット数を切り捨てて整数値信号サンプルYを生成する例を示す。以下の例では、小数点以下の切捨てによる16ビットの整数値化において、更に8ビットの切捨てを行う場合を示すが、17〜23ビットの任意の整数値化にも適用できる。
この第4実施形態によれば浮動小数点形式の入力信号サンプルXが、もともと符号小数点信号であったのか、24ビット整数値信号であったのか、16ビット整数値信号であったのか区別する必要がなく、同じ処理によって符号化を行うことができるが、動作原理の説明上、浮動小数点形式の入力信号サンプル系列Xがもともと浮動小数点形式であった場合、極性1ビットを含む24ビット整数値信号であった場合、極性1ビットを含む16ビット整数値信号であった場合について順に説明する。
図14Aを参照して、もともと浮動小数点形式であった入力信号サンプルXの16ビット整数値化と、差分信号Zの生成を説明する。図において″x″は″0″又は″1″のいずれかをとり得る(非ゼロとなり得る)。Mは浮動小数点形式の入力信号サンプルXの仮数部23ビットを示し、上位n(=E−E)ビットの整数部分と小数点以下の端数部分の境界を示す小数点位置をPで示してある。サンプルXの指数部EをE−8に削減することにより仮数部Mの小数点位置Pは8ビット上位にシフトする。その結果、図14Aの例では仮数部Mの上位n−8=2ビット″xx″がシフト後の仮数部内の整数部分となっている。その整数部分2ビットの隣接上位側に″1″を加えてた″1xx″を16ビット整数値信号サンプルYの最下位ビットとする。
16ビット整数値信号サンプル系列Yのサンプルを8ビット上位にシフトし、即ち、最下位に8ビットの″0″を付加してから浮動小数点形式の信号サンプル系列Y’に変換する。従って、得られた浮動小数点形式の信号サンプル系列Y’の指数部Eは8を加算されたことになり、入力信号サンプル系列Xの指数部Eと同じ値になる。信号サンプル系列Y’の仮数部MY’は、8ビット上位にシフトされた整数値信号サンプル系列Yの最上位の″1″より下位の整数部分、ここでは2ビットの″xx″を最上位ビットとし、それより下位は全て″0″とすることにより得られる。図14Aでは便宜上8ビットシフトする前のサンプル系列Yの最上位の″1″より下位の整数部″xx″と浮動小数点形式の信号サンプル系列Y’に変換後の仮数部MY’の関係を示している。差分信号Zの仮数部Mは仮数部MとMY’の差分であり、Zの仮数部Mの上位(n−8)ビット、ここでは最上位2ビット、は″00″となり、それより下位(端数部分)は仮数部Mの対応するビット位置の値と同じである。即ち、仮数部Mの最上位の整数部分″00″に続く下位の全ビットは非ゼロとなり得る。
差分信号Zについては仮数部Mのこの非ゼロとなり得る下位23−(n−8)ビットのみを符号化すればよい。仮数部Mの必ず0となる上位(n−8)ビットは、受信側で復号した整数値信号サンプル系列Yの最上位の″1″より下位の全ビット数と同じである。この仮数部Mの非ゼロとなり得る領域は図15Aに示すように、整数部分のビット数(n−8)が増加すると共に減少する。
図14Bは24ビット整数値信号から浮動小数点形式の入力信号サンプル系列Xが生成された場合であり、従って、サンプル系列Xの仮数部Mは図14Bに示すように小数点Pより下位で全ての桁が″0″となっている点が図14Aの仮数部Mと異なる。図14Bにおいても入力信号サンプルXの指数部EをE−8にすることにより小数点Pの位置が8ビット上位側にシフトするが、その結果から生成される16ビット整数値信号サンプル系列Yは図14Aの場合と同じになる。従って、整数値信号サンプル系列Yを浮動小数点形式に変換したときの仮数部MY’も図14Aの場合と同様である。
しかしながら、差分信号の仮数部Mは仮数部MとMY’の差分であり、図14Bに示すように差分信号Zの仮数部Mの整数部分は″00″となり、それより下位8ビットが非ゼロとなり得るビット範囲であり、更にその下位側は全てのビットが″0″となる。この非ゼロとなり得るビットの範囲は整数部分のビット数が増加するにつれ図15Bに示すように下位側にずれていく。
図14Cは極性1ビットを含む16ビット整数値信号サンプルから浮動小数点形式の入力信号サンプルが作られている場合である。従って、23ビットの仮数部Mにおいて、小数点Pと隣接する下位側8ビットは全て″0″であり、それより更に下位の桁も全て″0″である。小数点以下の桁数hはh=23−nとnにより変化するが、8より小さくはならない点が図14Bの場合と異なる。
図14Cにおいても入力信号サンプル系列Xの指数部EをE−8にすることにより小数点PDの位置が8ビット上位側にシフトし、シフト後の整数部分″xx″から16ビット整数値信号サンプル系列Yが図14A,14Bと同様に生成される。従って、サンプル系列Yを浮動小数点形式に変換したときの仮数部MY’も図14A,14Bの場合と同じである。また、差分信号Zの仮数部Mは図14Bの場合と同様にその最上位(n−8)桁の整数部分が″0″となり、それに続く下位8ビットは非ゼロを取りえる範囲であり、その更に下位ビットは全て″0″となる。この場合も整数部分の桁数(n−8)が増加すると図15Bに示すように非ゼロとなり得る8ビットの下位側の″0″の桁数も減っていくが、8桁より小さくなることはない。
以上の説明から明らかなように、符号小数点形式の入力信号サンプルXのもとの信号が24ビット整数値信号、16ビット整数値信号、浮動小数点形式信号のいずれの場合であっても、8ビット切り捨てによる16ビット整数値信号サンプルYを生成するには、入力信号サンプルXの指数部EをE−8として小数点位置を8ビット上位側にシフトし、仮数部Mの整数部分である上位(n−8)ビット、図の例では″xx″、に対しその上位側に″1″を加えた整数値″1xx″を最下位ビットとする16ビット整数値信号サンプル系列Yを構成すればよい。また、差分信号Zの仮数部Mは、入力信号サンプルXの仮数部Mの最上位(n−8)ビットを″0″とすることにより得られる。
このようにして得られた16ビット整数値信号サンプルYに対しては、図1の実施形態と同様に圧縮符号化すればよい。一方、差分信号Zについては、その仮数部Mを、常に″0″である最上位(n−8)ビットについては符号化せず、それより下位の非ゼロとなり得る8ビットの領域と、更にそれより下位の残りの(23−n)ビットの領域を別々に圧縮符号化する。
上述の例では16ビット整数値とするため、23ビットの仮数部の小数点の位置を8ビット上位にシフトして、そのシフトした小数点以下を切り捨てる場合を示したが、一般に、22≧m≧8の任意の整数mビットの切捨てを行うには、入力信号サンプルの指数部EをE−mとして仮数部Mの上位(n−m)ビットを整数部分とするように切捨てを行えばよい。また、差分信号Zの仮数部の圧縮符号化は、最上位(n−m)ビットの″0″は符号化せず、その下位のmビットの非ゼロとなり得る領域と、更に下位の残りの(23−n)ビットの領域に分けて別々に符号化することにより効率のより符号化が可能となる。
図16に符号化装置の例を図12と対応する部分に同一参照符号を付けて示す。選択部102からの浮動小数点形式の入力信号サンプル系列Xは桁調整部31で図14A,14B,14Cで説明したように指数部EをE−8とすることにより小数点位置は上位側に8ビットシフトされる。整数化部12では8ビットシフトされた小数点以下の端数部分を切り捨てて、整数部分の上位側に″1″を付加して16(=24−8)ビットの整数形式の信号サンプル系列Yとする。この信号サンプル系列Yが圧縮部13で可逆圧縮され、符号Caが出力される。
またこの16ビット整数形式の信号サンプル系列Yは逆桁調整部32で桁調整部31と同一ビット数8であるが逆方向に、つまり最下位に8ビットの″0″を挿入することにより上位に8ビットシフトして、24ビットの整数形式信号サンプルとされる。この24ビット整数形式に変換された信号サンプルは浮動小数点化部15で浮動小数点形式の信号サンプル系列Y′に変換される。この浮動小数点形式信号サンプル系列Y′と入力信号サンプル系列Xとの差分が減算部16でとられ、浮動小数点形式の差分信号Zが生成される。現実的にはこのような逆桁調整部32、浮動小数点化部15及び減算部16の処理を行うことなく、差分生成部14で整数化部12よりの仮数部の整数部分の桁数nを用いて、n≠0で各入力信号サンプルXの仮数部Mの下位8+h(=15−n)ビットを取出し、n=0では指数部Eと仮数部Mとを取出して差分信号Zとすればよい。差分信号Zは図12の例と同様に、分析部132の出力に応じて圧縮部17又は131に与えられる。
圧縮部17は分配部33と2つの圧縮部17h、17cとから構成されている。この差分信号Zは分配部33に入力され、分配部33には整数化部12よりシフト後の各サンプルXの仮数部の整数部分の桁数nが入力され、差分信号Zの各サンプルは、n≠0の場合、桁数nに基づく非ゼロになり得る桁部分Zh、つまり下位のh=15−nビットと、整数形式信号サンプル系列Yを1サンプル24ビットから1サンプル16ビットに変更したことに基づく、つまり整数形式信号サンプルYのビット数に基づく、非ゼロになり得る桁部分Zc、つまり下位第(h+1)ビット〜第(h−8)ビットとに分配する。n=0の場合、指数部Eの8ビットと仮数部の下位23−8ビットを桁部分Zhとして、上位8ビットを桁部分Zcとして分配する。桁部分Zhは圧縮部17hで、桁部分Zcは圧縮部17cでそれぞれエントロピー符号化などにより可逆圧縮符号化され、符号列Cb1,Cb2として出力される。
従って圧縮部17hには、主として仮数部Mにおける下位の非ゼロになり得るビットが入力され、これが可逆圧縮符号化される。もともとのディジタル信号が24ビット又は16ビットの整数値であれば図14B,14Cに示したようにn=0以外は圧縮部17hに入力される下位h桁部分Zhは全て″0″になるから、効率よく圧縮される。
圧縮部17cでは、図14A,14B,14Cに示したように、入力信号サンプルXがもともと一般浮動小数点の場合、24ビット整数値の場合、16ビット整数値の場合に関係なく、非ゼロになり得る下位第(h+1)〜第(h+8)ビットの8ビットが可逆圧縮符号化される。このようにすることにより、図1中の圧縮部17で差分信号Z中の非ゼロになりうるビットのすべてをまとめて圧縮符号化する場合より全体として効率よい圧縮が可能となる。図16から理解されるように、この圧縮部17hと17cを用いる手法は、図12に示した実施形態の符号化装置のみならず、図1、8、9、11にそれぞれ示した各実施形態の符号化装置のいずれにも適用できる。
この図16に示した符号化装置と対応する復号化装置の実施形態を図17に図13の復号装置と対応する部分に同一参照番号を付けて示す。補助符号抽出部202からの補助符号Cdにより分離部203から符号列Ca,Cb1,Cb2が取り出された場合は、符号列Caは伸張部21で可逆伸張復号されて1サンプル16ビット整数形式の信号サンプル系列Yが復号される。伸張部23は2つの伸張部23h、23cと合成部41とにより構成されており、符号列Cb1とCb2はそれぞれ伸張部23h,23cで可逆伸張復号化され、これらの復号されたビット列Bh,Bcは合成部41に入力される。合成部41には伸張部21で復号された各サンプルごとの整数値の最上位の″1″より下位のビット数nも入力される。n≠0の場合は伸張部23hの出力ビット列Bhから、h=15−nビットが取出され、伸張部23cの出力ビット列Bcから8ビットが取出されこれらが仮数部Mの23ビット中の下位hビットと、その上位の8ビットとして合成される。以下同様に桁数nに応じ、ビット列BhとBcからそれぞれhビットと8ビットが取出されて合成される。n=0の場合は指数部Eとしての8ビットと23−8=15ビットがビット列Bhから取り出され、ビット列Bcから8ビットが取り出され、この8ビットは前記15ビットの上位側に挿入され、23ビットの仮数部が生成される。
復号された16ビット整数形式信号サンプルYは桁調整部42で下位に8ビットの″0″を挿入することで上位へ8ビットシフトされ、24ビット整数形式信号サンプルが得られる。その後、浮動小数点化部15で32ビット浮動小数点形式信号サンプル系列Y′に変換される。この信号サンプル系列Y′と差分信号Zとが合成部24で合成されて、浮動小数点形式の信号サンプル系列Xが再生される。補助符号Cdにより分離部203で符号列Ccが得られた場合は、符号列Ccを伸張部221で復号して直接信号サンプル系列Xが得られる。
上述において、整数形式信号サンプル系列Yを1サンプル16ビット、24ビットの場合としたが、24ビット以下の任意の数mとしてもよく、その数mに応じて整数形式信号サンプルYのサンプル当りのビット数変更に基づく、非ゼロになり得る桁数を決定すればよい。更に上述において、入力浮動小数点形式信号サンプルXを、例えば1024サンプルごとのフレーム、または連続する複数のサンプルごと分割し、その分割単位ごとに圧縮符号化処理してもよい。このように分割単位ごとに圧縮符号化する場合は、整数化するビット数を分割単位ごとに都合のよいように決め、そのビット数を指定する補助符号も出力するようにしてもよい。
図16に示す符号化装置の圧縮部17として図1で示した第1実施形態による圧縮部17を使用し、図17の復号化装置の伸張部23として図7における伸張部23を使用してもよい。即ち、その場合は符号化装置において16ビットの整数値化を行うが、差分信号Zは0となる領域と非ゼロとなり得る領域の2つに分けず、図6で説明したように、仮数部の下位h=23−nビットのみ符号化を行う。従って復号化装置の伸張部23においては、符号Cbからhビットを復号化し、その上位にnビットの″0″を挿入して仮数部を生成する。
第5実施形態
前述の図1、8、9、11及び12で説明した各実施形態において、圧縮部17による圧縮符号化は、差分信号Zを例えば1フレームごとに時間方向に抽出したビット列を可逆圧縮符号化するように構成してもよい。その符号化方法を図18を参照して以下に説明する。
図18では1フレームが1024サンプルにより構成された場合を示し、また各サンプルi(i=0〜1023)に対応して入力信号サンプル系列Xのサンプルの仮数部Mのn(=E−E)ビット整数部分の整数値と、h(=23−n)ビットの端数部分のビット列を示してある。第1実施形態で図6を参照して説明したように、差分信号Zの各サンプルの仮数部Mの整数部分に対応する上位nビットは全て″0″であり、端数部分である下位h=23−nビットが非ゼロとなり得るビットである。図18の符号化方法では、差分信号の仮数部の下位hビットのみを、それらhビットの最上位ビットMSBをそろえて配列し、その配列における各サンプルの振幅方向の各ビット位置jのビットを時間方向に順次抽出して得たビット列Eを符号化を行う。
サンプルによっては数部のビット長h=23−nは異なるので、振幅方向における同一ビット位置j(j=0〜hmax−1;hmaxはフレーム内のサンプルの最大端数部分ビット長)の時間方向のスキャンにおいて、ビットが存在しないサンプルはスキップする。スキップするか否かの判定は、サンプルiの振幅方向のビット位置jで、そのサンプルの端数部分ビット長hとjを比較し、h≧jであればそのビット位置のビットを抽出し、h<jであればスキップして次のサンプルi+1を判定すればよい。
例えばMSB側からj=17のビット位置における時間方向のスキャンにおいて、端数部分のビット長h=23−6=17のサンプル番号i=0のサンプルは最下位にビットを有するが、端数部分のビット長23−8=15のサンプル番号i=1のサンプルはMSB側から第15番目以降(j=14以降)にビットを持たないのでスキップされる。これら第15番目の抽出されたビットを1フレーム分まとめてビット列E16としてエントロピー符号化する。他のビット位置jについても同様である。エントロピー符号化として算術符号やゴロム符号を行うと階層化ができるので便利である。
復号側においては、復号した各整数値信号サンプルYの最上位の″1″より下位のビット数nから整数部分の桁数nがわかるので、フレーム内の各差分信号Zの仮数部における端数部分のビット長h=23−nがわかる。従って、復号した各ビット列Eに対し、フレーム内のサンプル番号iを順次走査してサンプル番号毎に振幅方向のビット位置jをhと比較し、j≦hならビット列E中のビット値をビット位置(i,j)に割り当てることで図18の仮数部における端数部分を再構成することができる。この再構成された各サンプルの端数部分に対し、その上位側にサンプルに対応するnビットの″0″を挿入することで差分信号の23ビットの仮数部Mを再構成することができる。
図19は図18の符号化方法を図1、8、9、11、12におけるの圧縮符号化部17に適用した場合の機能構成を示す。差分生成部14(例えば図1参照)からの差分信号Zの1フレーム分のサンプルz〜z1023が入力されると共に、対応する整数部分桁数n〜n1023が記憶部17Bに記憶される。制御部17Cは各サンプルiの整数部分桁数nに基づいて、入力差分信号サンプルzの仮数部の上位nビットを除くh=23−nビットの端数部分をバッファ17Aに取り込む。これにより図18に示した仮数部における端数部分の配列が得られる。次に、制御部17Cは振幅方向のビット位置j(=0〜hmax−1)において時間方向にサンプルを走査し、h≧jを満足するビットを抽出してビット列Eを得て、圧縮部17Dに与える。バッファ17A、記憶部17B、制御部17Cはビット列生成手段を構成している。圧縮部17Dはビット列Eを可逆圧縮符号化して符号Cbを出力する。
図20は図19の圧縮符号化部17に対応する差分信号復号化手段としての図7、10、13における伸張部23の機能構成を示す。受信された符号Cbは復号化部23Dで復号されてビット列Eが得られる。一方、桁計算部21A(例えば図7参照)からの整数桁数nの1フレーム分n〜n1023が記憶部23Bに記憶され、制御部23Cはサンプル番号iの順に対応する端数桁数h=23−nからh≧jを満足するビット位置(i,j)に対し、ビット列Eから順に1つずつビットを分配してバッファ23A内に配列記憶することを繰り返すことにより、図18の端数部分のビット配列が得られる。1フレームについての全ビット列E,j=0〜hmax−1のビット配列が終了すると、制御部23Cはバッファ23A内の各サンプルiに対応した端数部分の上位側にnビットの″0″を挿入して差分信号の仮数部を生成し、差分信号Zとして合成部24(図7)に与える。バッファ23A、記憶部23B、制御部23Cは再構成手段を構成している。
図18の差分信号の仮数部の符号化においては、各ビット位置jで時間方向にビットを集めてビット列Eとし、符号化する場合を示したが、ビット位置の走査方法の他の例を以下に説明する。図21ではサンプルの振幅方向の予め決めた複数ビット幅に渡って、ビット位置jの最後のサンプルのビットからビット位置j+1の最初のサンプルのビット位置に続けて走査してビットを集め、複数のビット列E,E18,...を生成している。従って、得られるビット列Eの数は端数部分の最大ビット数hmaxより少なくなる。このビット走査においても、各サンプルiのh<jとなるビット位置はスキップする。このようなビット走査を行っても、各サンプルiの端数部分桁数はh=23−nからわかるので、復号側においてはビット列Eのビットを前述と同様に分配していくことにより端数部分のビット配列を再構成することができる。
図22は更に他のビット走査の例を示す。図21ではビット位置jのフレームの終わりからビット位置j−1のフレームの始めに連続させることを複数ビット幅繰り返して走査したのに対し、ここではその複数ビット幅を振幅方向にMSB側から走査し、各サンプルiのそのビット幅の終わりから次のサンプルi+1のビット幅の始めに続けて操作することをフレームの最後のサンプルまで繰り返す。この例においても、条件h<jとなるビット位置はスキップされる。
図23は図18のビット走査における例外動作を説明するためのものである。切捨てによって整数部分がゼロになってしまう場合、即ちE−Eが負になる場合には指数部も含めて全32ビットを符号化して送る必要がある。そこで、図23に示すように、サンプルi=3の整数部分がゼロであった場合(従ってn=0)は、図1の圧縮部17においてこのサンプルi=3を仮数部のビット走査から除外して別途符号化する。
入力信号サンプル系列Xが整数から変換された浮動小数点形式の信号サンプル系列であった場合の、元の整数の桁数と切り捨てた整数値の桁数が異なる場合、例えば図14B,15Bで説明したように、24ビット整数をそのまま浮動小数点とした信号サンプル系列を入力とし、16ビットの整数に切り捨てて符号化した場合、差分信号サンプルの仮数部の端数部分の桁のうち、上位8桁は非ゼロとなり得るが、それ以外はゼロとなる。このような入力信号サンプル系列Xを符号化する場合に、例えば図13の手法を使えば、ビット列E〜Eは非ゼロとなり得るが、それより下位のビット列E〜E21は全て″0″となるので、効率的な符号化が可能である。同様に、図21、22の手法を使っても効率的な符号化が可能なことは容易に理解される。
例えばオーディを信号の加工などで必要に応じて行われるように、24ビットの整数値信号サンプルを1.5倍(2進法で1.1倍)してから浮動小数点形式の信号に変換し、16ビットの整数に切り捨てて符号化する場合、24ビット整数値信号サンプルを1.5倍すれば少なくと小数点以下第1位が非ゼロとなり得るビットになる。即ち、図14Bに示すサンプルXの仮数部Mの小数点P以下第1位が非ゼロとなりえる。そのため、差分信号の仮数部Mの非ゼロとなり得る領域は下位側に1ビット増加して9ビットになるが、この場合でも、その9ビットより下位側は全て″0″となるので、図18、21、22、23の手法を使って効率的な符号化が可能となる。また、全てゼロでなくても非ゼロ(即ち″1″)の頻度が桁ごとに偏る場合があるので、偏りに合わせて適応的に可逆符号化を適用することもできる。
いずれの場合にも、差分信号の仮数部における端数部分のMSB側からの非ゼロとなり得る桁数がそろうので、効率的に圧縮符号化できる。
上述の図18〜23の仮数部の符号化方法は図1に基づく第1実施形態に適用する例として説明したが、図14A〜17で説明した16ビット整数値に切り捨て処理を行う場合にも適用できる。その場合は、図16の圧縮部17を図19のように構成し、図17の伸張部23を図20の伸張部のように構成すればよい。
また、端数部分の桁数が同じになるようにサンプルを並び替えてスキャンしてもよい。例えば桁数が23となるサンプルだけを集め、次に桁数が22となるサンプルを集め、順次桁数が小さくなるサンプルを集める。この並び替えの逆は追加情報がなくても一意に決まり、スキャンするサンプルの数の管理が容易になる。
図18に示したビット配列のスキャンでは、フレーム毎に差分信号Zの各サンプルzの仮数部M中の非ゼロとなり得るhビットをMSB側にそろえて時間軸方向に各ビット位置でスキャンしてビット列Eを生成する例を示したが、図24に示すように、各サンプルの非ゼロとなり得るhビットをLSB側にそろえて同様のスキャンを行ってもよい。この場合も、圧縮符号化部17としては、図19に示したものと同様に構成すればよく、単に制御部によるスキャンの制御を変えるだけである。また、復号化装置における伸張復号部23も図20で示したものと同様に構成できる。
第6実施形態
図25は前述の図1、8、9、11、12に示した符号化装置における圧縮部17の他の実施形態を示す。この実施形態では、非ゼロとなり得る端数部分のLSBを同一ビット位置にそろえて整数値のサンプル列とし、サンプル列方向の冗長性を除いて圧縮符号化を行うものである。図25に示すように、圧縮符号化部17は、端数部分抽出部17Eと、フレーム内平均部17Fと、減算器17Gと、符号化部17D1、17D2とから構成されている。差分生成部14からの差分信号Zは端数部分抽出部17Eで各サンプルの仮数部Mから下位h=23−nビットの端数部分を1つの整数値サンプルFとして抽出する。フレーム内平均部17Fは各フレーム毎にフレーム内の抽出された整数値サンプルの平均値Faveを計算し、符号化部17D1で符号化して符号列Cb1を出力する。平均値Faveと各整数値サンプルFとの差を誤差サンプルΔFとして減算器17Gで求め、その誤差サンプルΔFを符号化部17D2で予測符号化を行い、予測誤差を可逆圧縮符号化して符号列Cb2を出力する。予測パラメータは別途補助情報として送ってもよいし、符号化装置と復号化装置で共通に適応的に更新してもよい。
図26は図25に対応する復号化装置における復号伸張部23の構成例を示し、図7、10、13に示した復号化装置における伸張部23に適用できる。この実施形態では、伸張部23は伸張部23B,23Cと、加算部23Dと組立て部23Aとから構成されている。伸張部23Bは、受信した符号列Cb1を伸張復号化してフレームごとの平均値Faveを出力する。伸張部23Cは受信した符号列Cb2を伸張復号化して予測誤差を求め、更に予測復号化を経て誤差サンプルΔFを出力する。誤差サンプルΔFは平均値Faveと加算部23Dで加算され、整数値サンプルFが得られる。組立て部23Aはこの整数値サンプルFと、伸張部21の桁数計算部21Aからの桁数nとを使って差分信号Zを組み立てる。
この実施形態は図16及び17の実施形態にも適用でき、その場合は、図16及び17における圧縮符号化部17と伸張部23をそれぞれ図25及び26における圧縮符号化部17と伸張部23で置き換えればよい。
第7実施形態
図27は、図1、8、9、11及び12における圧縮部17に適用する第7実施形態の圧縮部の構成を示す。図18〜23では非ゼロとなり得るビット列の配列をスキャンしてビット列を生成し、そのビット列を符号化する場合についてさまざまなスキャンの例と共に説明したが、この第7実施形態ではこれらの複数のスキャン方法のうち、最適なものを1つ選択してその出力ビット列を符号化する。
図19の場合と同様に、フレーム毎に整数化部12(例えば図1参照)からのそれぞれのサンプルに対応する桁数n(n,n,n,...,n1023)が記憶部17Bに格納され、制御部17Cの制御により差分信号Zの仮数部Mの非ゼロとなり得るビットである下位h=23−nビットがバッファ17A1,17A2,17A3に取り込まれ、全てのバッファに同じように、例えば図18に示したようにMSB側に位置をそろえて格納される。制御部17Cはバッファ17A1に格納されたビット配列に対しては、図18に示したように振幅方向の各ビット位置で時間方向にスキャンして1つのビット列E1を生成する。バッファ17A2に格納されたビット配列に対しては、例えば図21に示すように、振幅方向の予め決めたビット幅毎に、その幅内のビットを時間方向に順次スキャンしてビット列E2を生成する。バッファ17A3に格納されているビット配列に対しては、例えば図22に示すように振幅方向の予め決めたビット幅毎にそのビット幅内で振幅方向にスキャンすることを全サンプルに対し順次連続して行うことによりビット列E3を生成する。
制御部17Cは、フレーム内で各スキャン方法による各ビット列Ej中のビット値の偏りを例えば”1”の計数値として求め、それに基づいて各スキャン方法によるフレーム内の”1”の偏りの大きさを求め、どのスキャン方法によれば最も偏りが大きい(エントロピーが小さい)かを判定し、最も偏りの大きいスキャン方法に対応するバッファからのビット列Eを選択する選択信号SLを選択部17Eに与える。選択されたビット列は符号化部17Dで符号化され、符号列Cbとして出力される。
なお、フレーム内のビット値”1”の偏りに対応するエントロピーは、例えば各ビット列Eのビット数をm、そのビット列中の”1”の数をkとすると次式
Figure 0004049793
で表される。Σはjの全てのとり得る値(ビット列の数)についての加算を表す。ビット値”1”の偏りが大きいほどこのエントロピーは小さくなる。このエントロピーは、フレーム内のビット配列をどのようにスキャンし、どのようにビット列に分割するかによって異なる。従って、この第7実施形態では、フレーム毎に非ゼロとなり得るビットの配列に対し、最適なスキャン方法を選択している。
図27の圧縮部17に対応する図7、10、13における伸張部23の構成例を図28に示す。この構成は、図20で示した伸張部23の構成において、復号部23Eが追加された構成となっている。補助符号Ceを復号部23Eにより復号して選択信号SLが得られ、制御部23Cに与えられる。制御部23Cは与えられた制御信号に対応するスキャン方法と桁数nに基づいて復号部23Dからのビット列Eをバッファ23A内に配列格納してサンプルごとの非ゼロとなり得るビット列とする。その後、サンプルごとに非ゼロとなり得るhビットの上位側にnビットの”0”を付加して仮数部Mとし、その仮数部Mを差分信号Zとして出力する。
図29は図27の変形例であり、ここではバッファ17A1,17A2,17A3からのビット列E1,E2,E3をそれぞれ符号化部17D1,17D2,17D3で符号化する。分析部17Gはそれらの符号化出力のうち、最も情報量の少ないものを判定し、その符号出力を選択する選択信号SLを符号化部17Fに与えて符号Ceを得ると共に、選択部17Eに与える。選択部17Eは、選択信号により指定された最も情報量の少ない符号列を符号列Cbとして出力すると共に符号Ceも出力する。図29の圧縮部17に対応する復号化装置の伸張部23としては図28の伸張部23をそのまま使用することができる。
図11における圧縮部17と131の代わりに、図30に示す構成としてもよい。この構成は可変ビット圧縮部17−1と、可変ビット抽出部17−2と、仮数部圧縮部131−1と、仮数部抽出部131−2とが設けられている。可変ビット圧縮部17−1は差分信号Zの仮数部Mから桁数nを使ってh=23−nビットの非ゼロとなり得るビット(可変ビット)を抽出し、圧縮符号化して符号Cbを出力する。可変ビット抽出部17−2は差分信号Zの仮数部Mからhビットの非ゼロとなり得るビット列Mを抽出し、そのまま出力する。仮数部抽出部131−1は差分信号Zの仮数部Mを圧縮符号化し、符号Cmを出力する。仮数部抽出部131−2は差分信号Zの仮数部Mを抽出し、そのまま出力する。効率推定部134は、これらCb,M,Cm,M及びZの情報量をそれぞれ計算し、最も情報量の少ないものを判定し、それを選択する選択信号SLを補助符号化部103で符号化すると共に出力部104に与える。出力部104は与えられたCb,M,Cm,M,Zのうち、選択信号SLに対応するものを符号Cbとして選択出力すると共に符号Ceも出力する。
図31は図30の構成に対応して、図10の復号化装置における伸張部23、231、選択部233、補助復号部234に置き換えられる。ただし、分析部232は不要である。図31において、符号Ceは復号部234で復号されて選択信号SLが得られ、これにより選択部233を制御する。即ち、入力符号Cbを可変ビット列の圧縮符号Cbとして復号部23に与えるか、そのまま可変ビット列(非ゼロとなり得るビット列)Mとして組立部23aに与えるか、仮数部Mの圧縮符号Cmとして復号部231に与えるか、仮数部Mそのものとして出力するか、のいずれかSLに対応する処理を実行する。復号部23は符号列Cbを復号して非ゼロとなり得るビット列Mを生成し、組立部23aに与える。組立部23aは、桁数nに基づいてnビットの”0”を非ゼロとなり得るビット列Mの上位に付加して仮数部Mを生成する。
変形例
図5に示した関係は切り捨て、つまり必ず絶対値が小さくなるように入力浮動小数点信号サンプル系列Xの各サンプルを整数値としたが、浮動小数点化部15で浮動小数点信号サンプル系列Y′に再変換したあとでも指数部が、入力浮動小数点信号サンプル系列Xの対応サンプル間で変わらないようにすれば、必ずしも切捨てで整数にする必要はなく四捨五入でもよい。図32に示すように、0〜1〜2〜…〜9と連続した浮動小数点入力に対し、切り捨てにより整数値にすると、0,1,2,…,9となる。従って入力浮動小数点から整数値を引いた誤差信号、つまり差分信号Zの仮数部は必ず正になる。これに対し、図33に示すように四捨五入では0〜0.5〜1.5〜2.5〜…〜9.5と連続した入力浮動小数点が0,1,2,…,9となる。従ってもとの浮動小数点から再変換したあとの浮動小数点の値を引いた誤差信号、つまり差分信号Zは負の数にもなりうる。整数化の際に、2のべき乗の値に切り上げが生じた場合は、再変換した浮動小数点信号サンプル系列Y′の各サンプルの指数部が、入力浮動小数点ディジタル信号系列Xのサンプルに対し変化し、仮数部は入力浮動小数点信号サンプル系列Xのそれとまったく異なるので圧縮には不利である。
そこで以下に示す変形四捨五入を考える。図34に示すように、0〜1〜2〜2.5〜4〜4.5〜5.5〜6.5〜8〜9.5〜…と連続した入力浮動小数点を0,1,2,3,4,5,6,7,8,9,…と整数化し、つまり図中に矢印で示すように、仮数部Mのnビットの整数部分Mが2のべき乗の直前の値2−1のときは端数部分Mを四捨五入ではなく切捨てを行い、その他の場合は四捨五入する。誤差信号(差分信号)Zの正負の区別の極性に対して1ビットが必要になるが、四捨五入したサンプルについては誤差が0.5以下になるので仮数部の最大桁数は1ビット減る。このため極性もあわせた仮数部の桁数は切り捨ての際と同じである。ただし整数部分Mが2のべき乗値2の際は誤差の仮数部が一桁少なくてすみ、整数部分が2−1の際は誤差が正の場合のみ最大1までの誤差が生じるので特別扱いする必要がある。
つまり差分信号Zの各サンプルごとの非ゼロになり得る桁の先頭ビットに極性ビットを付け、整数部分Mが2−1の場合は非ゼロになり得る桁数hを示す符号も付けて圧縮符号化を行い、復号装置において、符号列Cbを復号伸張したビット列から、整数部分の桁数nから求めた非ゼロになり得るビット数hと極性の1ビットを加えたビット数毎に分離し、整数部分が2−1の場合は、極性ビットと、非ゼロになり得る桁数hを示す符号と、その符号が示すビット数hとの合計ビット数を分離して差分信号Zの1サンプルを求める。なお、非ゼロとなり得る桁のみを符号化する場合は、振幅が大きい場合に効率がよく、振幅が大きい場合、2−1となる回数、つまり前記例外処理を行う回数は小さくなり、全体として圧縮効率を上げることができる。
以上のように変形四捨五入をすることにより、浮動小数点入力と整数部分の誤差のエネルギーは切捨てより小さくでき、整数部分の系列の予測効率が改善される場合があり、しかも圧縮部17において差分信号Zを、非ゼロになり得る桁についてのみ符号化することにより圧縮効率を高くすることができる。
この変形四捨五入による整数化は例えば、図3中に1点鎖線で示すように、ステップS2の次に、入力浮動小数点信号サンプル系列Xの整数部分Mは2−1であるかを調べ、例えば仮数部Mの上位n=E−Eビットが全て1かを調べ、全て1であれば、2のべき乗の直前の値であるから、ステップS3に移り切り捨て処理を行い、上位E−Eビットが全て1でなければステップS6に移って、四捨五入処理を行う。
変形実施形態
図9に示した第2実施形態において、分析部132の判定結果に応じて圧縮部内による圧縮符号化か、圧縮部131による圧縮符号化を選択した。この選択を正確に行うには図11に示したように実際に両圧縮部17と131でそれぞれ符号化し、その結果により、圧縮効率が高い方の圧縮符号化の結果を採用する。後者の場合は正確であるが差分信号Zを直接圧縮符号化するには比較的大きな処理量と時間を必要とする。従って以下のようにしてもよい。
バイト(8ビット)単位でのユニバーサル符号化の効率を推定する方法の一例として、バイトごとのエントロピーの計算をする方法がある。誤差信号つまり浮動小数点形式の差分信号Zを8ビット単位で0から2−1(=255)の整数yとみなし、その1フレーム内におけるyの出現回数L(y)からヒストグラムを作り、フレーム内のバイト数Bで割り算をしてyについての密度関数p(y)を求める。
Figure 0004049793
この密度関数p(y)から平均エントロピーH(p(y))を求める。
Figure 0004049793
ユニバーサル符号化では1バイトの数値をこの平均エントロピー(ビット)程度までに圧縮できる可能性があるので、この平均エントロピー値をフレーム内のバイト数B倍した値が、圧縮部17による0以外になり得る桁についてのみを圧縮符号化した場合の1フレーム内の符号化ビット数の合計値より小さい場合には、バイト単位のユニバーサル符号化、つまり圧縮部131による圧縮符号化の方が有利となる。
このような圧縮部の選択を行うことができる構成を図35に示す。図35に示す符号化装置は図11の構成に選択部133と、平均エントロピー計算部136と、判定部137とを加えたものである。図に示すように、差分生成部14からの差分信号Zを平均エントロピー計算部136に入力して、先に述べたように、平均エントロピーH(p(y))を求め、このH(p(y))をバイト数B倍した値を求め、これと効率推定部134aで推定された符号列Cb’の1フレーム分のビット数と判定部137で比較し、前者の方が小さければ、選択部133を制御して差分信号Zを圧縮部131で圧縮符号化し、後者の方が小さければ、圧縮部17で圧縮符号化した符号列Cb’を符号列Cbとして出力する。またいずれの圧縮部を選択したかを示す補助符号Ceも出力する。なお前記エントロピーの計算の際に整数化部12において切り捨てにより整数化を行った場合は、差分信号Zの各サンプルの仮数部Mの23ビットを1バイト単位で出現回数L(y)を求め、変形四捨五入の場合は各サンプルについて極性を含めて出現回数L(y)を求める。
以上のように、ユニバーサル符号化の効率を推定すれば、差分信号Zをユニバーサル符号化して、その1フレーム内での全符号化ビット数を求めて、分析選択部134で圧縮部を選択する場合よりも、処理量を少なくすることができる。このようなユニバーサル符号化の効率推定の利用は図8に示した実施形態にも適用することもできる。
上述において、整数形式信号サンプル系列Yを1サンプル16ビット、24ビットの場合としたが、これらは24ビット以下の任意の数としてもよく、その数に応じて整数形式ディジタル信号系列Yのサンプル当りのビット数変更に基づく、ゼロ以外になり得る桁数を決定すればよい。このように分割単位毎に圧縮符号化する場合は、整数化するビット数を分割単位毎に都合のよいように決め、そのビット数を指定する補助符号も出力するようにしてもよい。
コンピュータによる実施形態
図1、8、9、11、12、16、35に示した符号化装置は図36に示すように、バス68で互いに接続されたRAM61,CPU62,ハードディスク63、ROM64、送受信部65、入出力部66、オーディオ・ビデオ入出力部67などを有するコンピュータ600により実施させてもよい。
ROM64にはコンピュータの起動に関するプログラムが格納されており、ハードディスク63にはコンピュータの動作システムプログラムが格納されている。この発明の符号化装置の機能構成を実行するプログラムは予めCD−ROM又はDVDなどの記録媒体71からCD/DVDドライブ66によりハードディスク63に読み込んでおくか、通信回線を通して送受信部65によりダウンロードしてハードディスク63に読み込んでおく。
符号化する浮動小数点形式の信号サンプル系列Xは例えばオーディオ・ビデオ入出力部67により外部から取り込んで、バッファとして動作させるハードディスク63に一時記憶する。符号化を開始するには、符号化を実行するプログラムをハードディスク63からRAM61に読み込んで、その実行プログラムをCPU62により実行する。符号化結果である符号Ca,Cb(又はZ),Cc等は送受信部65により通信回線を通して送信してもよいし、CD/DVDドライブ66によりCD又はDVDの記録媒体に記録保存してもよい。
図7、10、11、13、17に示した復号化装置を図36のコンピュータで実施する場合も同様に、復号化装置の機能構成を実行するプログラムをハードディスク63に格納しておき、送受信部65で通信回線から受信した符号Ca,Cb(又はZ),Ccに対し復号プログラムを実行する。復号結果は表示器73及びスピーカ74に再生出力する。
この発明は音楽信号のみならず、音声信号、画像信号などに対しても適用することができる。

Claims (20)

  1. (a) 浮動小数点形式の第1信号サンプル系列を整数形式の第2信号サンプル系列に変換するステップと、
    (b) 上記整数形式の第2信号サンプル系列を可逆圧縮して第1符号列を生成するステップと、
    (c) 上記整数形式の第2信号サンプル系列と上記浮動小数点形式の第1信号サンプル系列との差分と対応する浮動小数点形式の差分信号を生成するステップと、
    (d) 上記浮動小数点形式の差分信号のサンプルにおける、上記整数形式の第2信号サンプル系列の対応する各サンプルの絶対値により決まる非ゼロになり得る桁のビット列を符号化する第1符号化処理と、上記差分信号の全桁を符号化する第2符号化処理とでいずれが高い圧縮効率であるかを判定するステップと、
    (e) 上記判定が上記第1符号化処理であれば、上記差分信号を上記第1符号化処理により符号化して第2符号列を生成し、上記判定が上記第2符号化処理であれば、上記差分信号を上記第2符号化処理により符号化して第2符号列を生成するステップ、
    とを含む浮動小数点信号可逆符号化方法。
  2. (a) 浮動小数点形式の第1信号サンプル系列をフレーム毎に直接可逆圧縮する場合と、整数値サンプル系列と差分信号の2系統信号に分離して圧縮する場合とのいずれが高い圧縮効率となるかを判定するステップと、
    (b) 上記判定が2系統信号分離であれば、
    (b-1) 上記第1信号サンプル系列を整数形式の第2信号サンプル系列に変換するステップと、
    (b-2) 上記整数形式の第2信号サンプル系列を可逆圧縮して第1符号列を生成するステップと、
    (b-3) 上記整数形式の第2信号サンプル系列と上記浮動小数点形式の第1信号サンプル系列との差分と対応する浮動小数点形式の差分信号を生成するステップと、
    (b-4) 上記浮動小数点形式の差分信号から第2符号列を生成するステップ、
    とにより2系統信号分離圧縮を行うステップと、
    (c) 上記判定が直接可逆圧縮であれば、上記第1信号サンプル系列を直接可逆圧縮して第3符号列を生成するステップと、
    (d) 上記直接可逆圧縮したか上記2系統信号分離圧縮したかを示す補助符号を生成するステップ、
    とを含む浮動小数点信号可逆符号化方法。
  3. 請求項2記載の浮動小数点信号可逆符号化方法において、上記ステップ(b-1) の上記整数形式の第2信号サンプル系列への変換は小数点以下の切り捨てにより行われ、
    上記ステップ(b-4) は、
    (b-4-1) 上記浮動小数点形式の差分信号のサンプルにおける、上記整数形式の第2信号サンプル系列の対応する各サンプルの絶対値により決まる非ゼロになり得る桁のビット列を符号化する第1符号化処理と、上記差分信号の全桁を符号化する第2符号化処理とでいずれが高い圧縮効率であるかを判定するステップと、
    (b-4-2) 上記判定が上記第1符号化処理であれば、上記差分信号を上記第1符号化処理により符号化して第2符号列を生成し、上記判定が上記第2符号化処理であれば、上記差分信号を上記第2符号化処理により符号化して第2符号列を生成するステップ、
    とを含む。
  4. 請求項1又は3記載の浮動小数点信号可逆符号化方法において、上記第1符号化処理は、上記非ゼロとなり得る桁のビット列を可逆圧縮して上記第2符号列を生成する場合と、上記非ゼロになり得るビット列をそのまま上記第2符号列として出力する場合のいずれか一方を実行する。
  5. 請求項1又は3記載の浮動小数点信号可逆符号化方法において、上記第2符号化処理は、上記差分信号の仮数部を可逆圧縮して上記第2符号列を生成する場合と、上記仮数部をそのまま上記第2符号列として出力する場合のいずれか一方である。
  6. 請求項1又は3記載の浮動小数点信号可逆符号化方法において、上記整数形式の第2信号サンプル系列の1サンプルのビット長bI は上記浮動小数点形式の第1信号サンプル系列の仮数部のビット数bM より小であり、上記第1符号化処理は、上記非ゼロになり得る桁のビット列を、上記仮数部のビット数bM と上記1サンプルのビット長bI の差のビット数の上位側と、残りの下位側とに分けてそれぞれ可逆圧縮してそれぞれの符号列を得て、上記得られた符号列を合わせて上記第2符号列として出力する。
  7. 請求項1又は3記載の浮動小数点信号可逆符号化符号化方法において、
    上記第1符号化処理は、複数サンプルのフレーム毎に行われ、フレーム内の上記差分信号のサンプルの仮数部における非ゼロとなり得るビット領域である端数部分を最上位ビット又は最下位ビットをそろえて配置し、少なくとも時間方向および/又は振幅方向に複数のビットを選択して1つ又は複数の走査ビット列を生成し、上記走査ビット列を可逆圧縮して上記第2符号列を生成するステップを含む。
  8. 請求項1又は3記載の浮動小数点信号可逆符号化方法において、上記第1符号化処理は、複数サンプルのフレームごとに行われ、フレーム内の上記差分信号の各サンプルにおける、非ゼロとなり得る桁のビット列を配列し、上記ビット列の配列を予め決めた複数の異なる走査順序で走査して、それぞれの走査ビット列を生成するステップと、各上記走査順序による上記走査ビット列を符号化してそれぞれの走査順序による符号列を生成するステップと、どの走査順序による符号列が最も情報量が少ないかを判定し、判定した符号列を上記第2符号列として出力すると共に、対応する走査順序を表す補助符号を出力するステップとを含む。
  9. 請求項1又は3記載の浮動小数点信号可逆符号化方法において、上記第1符号化処理は、複数サンプルのフレーム毎にフレーム内の上記差分信号の端数部分を整数値サンプルとするサンプル列の平均値を求め、それぞれの整数値サンプルの値から上記平均値を減算した信号に対し、時間方向に予測を行い、その予測誤差を可逆圧縮符号化するとともに、上記平均値を符号化して上記第2符号列とするステップを含む。
  10. (a) 入力補助符号に応じて入力符号が1系統符号化であるか2系統符号化であるかを判定するステップと、
    (b) 上記判定において1系統符号化であると判定された場合は、入力符号列を1つの符号列として復号伸張して浮動小数点形式の原信号サンプル系列を生成するステップと、
    (c) 上記判定において2系統符号化であると判定された場合は、入力符号列を第1符号列及び第2符号列とに分離するステップと、
    (d) 上記第1符号列を復号伸張して整数形式の第1信号サンプル系列を生成するステップと、
    (e) 上記第2符号列から浮動小数点形式の差分信号を得るステップと、
    (f) 上記整数形式の第1信号サンプル系列を浮動小数点形式の第2信号サンプル系列に変換するステップと、
    (g) 上記浮動小数点形式の第2信号サンプル系列と上記浮動小数点形式の差分信号を合成して浮動小数点形式の原信号サンプル系列を生成するステップ、
    とを含む浮動小数点信号復号化方法。
  11. 請求項10記載の浮動小数点信号復号化方法において、上記ステップ(e) は、上記整数形式の第1信号サンプル系列又は入力補助符号に応じて上記第2符号列の復号伸張を第1伸張法によるか第2伸張法によるかを判定するステップと、
    この判定が第1伸張法であれば、上記第1信号サンプル系列の各サンプルの絶対値に応じて一意に決まる非ゼロになり得る桁数のビット列に、上記第2符号列を復号伸張し、その復号伸張されたビット列から上記差分信号を組み立て生成し、上記判定が第2伸張法であれば、その伸張法に応じて上記第2符号列を第2伸張法により上記差分信号に直接復号伸張するステップ、
    とを含む。
  12. (a) 第1符号列を復号伸張して整数形式の第1信号サンプル系列を生成するステップと、
    (b) 上記第1信号サンプル系列又は補助符号に応じて第2符号列の復号伸張を第1伸張法によるか、第2伸張法によるかを判定するステップと、
    (c) 上記判定が第1伸張法であれば上記整数形式の第1信号サンプル系列の各サンプルの絶対値に応じて一意に決まる非ゼロになり得る桁数のビット列に、上記第2符号列を復号伸張し、その復号伸張されたビット列を浮動小数点形式の差分信号に組み立てるステップと、
    (d) 上記判定が第2伸張法であれば上記第2符号列から上記浮動小数点形式の差分ディジタル信号の全桁を生成するステップと、
    (e) 上記整数形式の第1信号サンプル系列を浮動小数点形式の第2信号サンプル系列に変換するステップと、
    (f) 上記浮動小数点形式の第1信号サンプル系列と上記浮動小数点形式の差分信号を合成して浮動小数点形式の原ディジタル信号系列を生成するステップ、
    とを含む浮動小数点信号復号化方法。
  13. 請求項11又は12記載の浮動小数点信号復号化方法において、上記第1伸張法による上記差分信号の生成ステップは、
    上記整数形式の第1信号サンプル系列の各サンプルの絶対値に応じて一意に決まる非ゼロになり得る桁数のビット列に上記第2符号列中の第1部分を復号伸張するステップと、
    上記整数形式の第1信号サンプル系列のサンプルのビット数と上記浮動小数点形式の原信号サンプル系列の仮数部のビット数との差に応じて一意に決まる非ゼロになり得る桁数に上記第2符号列中の第2部分を復号伸張するステップと、
    これら第2符号列中の第1部分を復号伸張したものと第2符号列中の第2部分を復号伸張したものとを合成して上記差分信号を生成するステップ、
    とを含む。
  14. 入力された浮動小数点形式の第1信号サンプル系列中の各サンプルを、整数値とその誤差に分離して可逆圧縮符号化する第1符号化手段と、
    上記浮動小数点形式の第1信号サンプル系列を直接可逆圧縮符号化する第2符号化手段と、
    上記浮動小数点形式の第1信号サンプル系列のフレーム毎に、上記第1符号化手段と上記第2符号化手段とのいずれの圧縮効率が高いかを判定し又は圧縮効率が高いかを推定し、その高いと判定又は推定した方の符号化手段を選択し、その選択情報を示す補助符号を生成する分析選択手段、
    とを含む浮動小数点信号可逆符号化装置。
  15. 入力された浮動小数点形式の第1信号サンプル系列を整数形式の第2信号サンプル系列に変換して可逆圧縮する第1符号化部と、
    上記整数形式の第2信号サンプル系列と上記浮動小数点形式の第1信号サンプル系列との差分と対応する浮動小数点形式の差分信号を生成する差分生成部と、
    上記浮動小数点形式の差分信号の全桁を符号化する第2符号化部と、
    上記差分信号のサンプルにおける、上記整数形式の信号サンプル系列の対応する各サンプルの絶対値で決まる非ゼロになり得る桁のビット列を符号化する第3符号化部と、
    上記第2符号化部と上記第3符号化部とのいずれの圧縮効率が高いかを判定し又は圧縮効率が高いかを推定し、その高いと判定又は推定した方の符号化部による符号を選択出力する手段、
    とを含む浮動小数点信号可逆符号化装置。
  16. 入力された符号列を、浮動小数点形式の信号サンプル系列に直接可逆復号伸張する第1復号手段と、
    入力された符号列を整数値とその誤差に分離して可逆復号伸張して、浮動小数点形式ディジタル信号系列を生成する第2復号手段と、
    入力された補助符号に応じて、上記第1復号手段と上記第2復号手段の一方を選択する選択手段、
    とを含む浮動小数点信号復号化装置。
  17. 入力された第1符号列を復号伸張して整数形式の第1信号サンプル系列を生成する第1伸張部と、
    上記差分信号のサンプルにおける、上記整数形式の第1信号サンプル系列の対応する各サンプルの絶対値で決まる非ゼロになり得る桁数に入力された第2符号列を復号伸張し、その復号伸張されたビット列を浮動小数点形式の差分信号に組み立てる第2伸張部と、
    上記入力された第2符号列を上記浮動小数点形式の差分信号に直接復号伸張する第3伸張部と、
    上記第1信号サンプル系列又は入力された補助符号に応じて上記第2伸張部と上記第3伸張部との一方を選択する選択部と、
    上記浮動小数点形式の第1信号サンプル系列と、上記第2伸張部及び第3伸張部中の上記選択されたものからの上記浮動小数点形式の差分信号とを合成して浮動小数点形式の第3信号サンプル系列を生成する合成部、
    とを含む浮動小数点信号復号装置。
  18. 請求項1乃至9のいずれかに記載した浮動小数点信号可逆符号化方法の各過程をコンピュータに実行させるための符号化プログラム。
  19. 請求項10乃至13のいずれかに記載した浮動小数点形式信号系列復号化方法の各過程をコンピュータに実行させるための復号化プログラム。
  20. 請求項18又は19に記載したプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005513652A 2003-09-02 2004-09-01 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体 Expired - Lifetime JP4049793B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003310106 2003-09-02
JP2003310106 2003-09-02
PCT/JP2004/012646 WO2005025072A1 (ja) 2003-09-02 2004-09-01 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
JPWO2005025072A1 JPWO2005025072A1 (ja) 2006-11-16
JP4049793B2 true JP4049793B2 (ja) 2008-02-20

Family

ID=34269633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005513652A Expired - Lifetime JP4049793B2 (ja) 2003-09-02 2004-09-01 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体

Country Status (5)

Country Link
US (2) US7209056B2 (ja)
EP (1) EP1662667B1 (ja)
JP (1) JP4049793B2 (ja)
CN (2) CN100495930C (ja)
WO (1) WO2005025072A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272567B2 (en) * 2004-03-25 2007-09-18 Zoran Fejzo Scalable lossless audio codec and authoring tool
US7436969B2 (en) * 2004-09-02 2008-10-14 Hewlett-Packard Development Company, L.P. Method and system for optimizing denoising parameters using compressibility
US7408481B2 (en) * 2004-10-15 2008-08-05 Nippon Telegraph And Telephone Corporation Information encoding method, decoding method, common multiplier estimating method, and apparatus, program, and recording medium using these methods
GB2420952B (en) * 2004-12-06 2007-03-14 Autoliv Dev A data compression method
US20070037625A1 (en) * 2005-06-28 2007-02-15 Samsung Electronics Co., Ltd. Multiplayer video gaming system and method
US20070060346A1 (en) * 2005-06-28 2007-03-15 Samsung Electronics Co., Ltd. Tool for video gaming system and method
US7400329B2 (en) * 2005-06-28 2008-07-15 Samsung Electronics Co., Ltd. Graphics images system and method
US20070060345A1 (en) * 2005-06-28 2007-03-15 Samsung Electronics Co., Ltd. Video gaming system and method
US8972359B2 (en) * 2005-12-19 2015-03-03 Rockstar Consortium Us Lp Compact floating point delta encoding for complex data
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
GB2447273A (en) * 2007-03-06 2008-09-10 Vasko Tomanov Data compression and handshaking protocol
KR100889750B1 (ko) * 2007-05-17 2009-03-24 한국전자통신연구원 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법
KR101375662B1 (ko) * 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
US8521540B2 (en) * 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value
US8213598B2 (en) * 2008-02-26 2012-07-03 Microsoft Corporation Harmonic distortion residual echo suppression
CN101615911B (zh) * 2009-05-12 2010-12-08 华为技术有限公司 一种编解码方法和装置
JP2011119868A (ja) * 2009-12-01 2011-06-16 Sony Corp 画像処理装置及び画像処理方法
CN101795138B (zh) * 2010-01-19 2013-01-16 北京四方继保自动化股份有限公司 电力系统广域测量系统高密度时间序列数据的压缩处理方法
US9160431B2 (en) 2010-04-27 2015-10-13 Qualcomm Incorporated Efficient group definition and overloading for multiuser MIMO transmissions
US9089002B2 (en) 2010-05-16 2015-07-21 Qualcomm Incorporated Efficient group ID management for wireless local area networks (WLANs)
EP3518234B1 (en) 2010-11-22 2023-11-29 NTT DoCoMo, Inc. Audio encoding device and method
GB2488322B (en) * 2011-02-22 2017-09-20 Advanced Risc Mach Ltd Number format pre-conversion instructions
US8959129B2 (en) 2011-06-30 2015-02-17 Altera Corporation Compression of floating-point data
US9104473B2 (en) 2012-03-30 2015-08-11 Altera Corporation Conversion and compression of floating-point and integer data
CN103458460B (zh) * 2012-05-31 2017-04-12 国际商业机器公司 对信号数据进行压缩和解压缩的方法和装置
JP5619326B2 (ja) * 2012-06-21 2014-11-05 三菱電機株式会社 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム
JP6270993B2 (ja) * 2014-05-01 2018-01-31 日本電信電話株式会社 符号化装置、及びその方法、プログラム、記録媒体
KR20240001326A (ko) * 2015-05-21 2024-01-03 제로포인트 테크놀로지 에이비 시맨틱 값 데이터 압축 및 압축해제를 위한 방법, 장치 및 시스템
CN109195008A (zh) * 2018-11-13 2019-01-11 青岛海信电器股份有限公司 一种加扰节目的播放方法及装置
US11275584B2 (en) * 2019-08-14 2022-03-15 Jerry D. Harthcock Universal floating-point instruction set architecture for computing directly with decimal character sequences and binary formats in any combination
CN113747155B (zh) * 2021-09-06 2022-08-19 中国电信股份有限公司 特征量化方法和装置、编码器、通信系统
CN115268831B (zh) * 2022-09-22 2022-12-20 北京中科心研科技有限公司 浮点数据压缩方法、装置、可穿戴智能设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751902A (en) * 1993-05-05 1998-05-12 U.S. Philips Corporation Adaptive prediction filter using block floating point format and minimal recursive recomputations
US6240431B1 (en) * 1998-10-31 2001-05-29 Hewlett-Packard Company Decompression of limited range floating point numbers
US6396420B1 (en) * 1999-02-26 2002-05-28 Autodesk, Inc. Delta compression of floating point coordinate data
US6633679B1 (en) * 1999-03-23 2003-10-14 Teletechnologies, Ltd. Visually lossless still image compression for CMYK, CMY and Postscript formats
JP3406275B2 (ja) * 1999-05-21 2003-05-12 日本電信電話株式会社 ディジタル信号符号化方法、ディジタル信号復号化方法、これらの装置及びその各プログラム記録媒体
JP3811110B2 (ja) 2001-08-23 2006-08-16 日本電信電話株式会社 ディジタル信号符号化方法、復号化方法、これらの装置、プログラム及び記録媒体
CN1639984B (zh) * 2002-03-08 2011-05-11 日本电信电话株式会社 数字信号编码方法、解码方法、编码设备、解码设备

Also Published As

Publication number Publication date
US20070018860A1 (en) 2007-01-25
EP1662667A4 (en) 2007-05-02
WO2005025072A1 (ja) 2005-03-17
US20070139235A1 (en) 2007-06-21
US7209056B2 (en) 2007-04-24
CN100495930C (zh) 2009-06-03
EP1662667A1 (en) 2006-05-31
CN1799200A (zh) 2006-07-05
JPWO2005025072A1 (ja) 2006-11-16
CN101494460B (zh) 2012-07-11
US7317407B2 (en) 2008-01-08
CN101494460A (zh) 2009-07-29
EP1662667B1 (en) 2015-11-11

Similar Documents

Publication Publication Date Title
JP4049793B2 (ja) 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体
JP4049792B2 (ja) 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
JP4049791B2 (ja) 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
JP6195997B2 (ja) シンボル圧縮を伴うデータのソース符号化・復号方法及び装置
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
EP2053749B1 (en) Encoding method and apparatus, and program
KR100518640B1 (ko) 라이스인코더/디코더를사용한데이터압축/복원장치및방법
JP2017507590A5 (ja)
US20070257824A1 (en) Information Encoding Method, Decoding Method, Common Multiplier Estimating Method, and Apparatus, Program, and Recording Medium Using These Methods
JP2007037049A (ja) 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2004064703A (ja) 時系列データ圧縮・解凍装置およびその方法
JP4319895B2 (ja) 時系列信号の符号化装置
JP3791793B2 (ja) ディジタル信号符号化方法、復号化方法、符号器、復号器、符号化プログラム、及び復号化プログラム
JP3857820B2 (ja) 画像圧縮装置および画像伸張装置
JP3028885B2 (ja) ベクトル量子化装置
JPH06112841A (ja) 復号装置
JP2009145736A (ja) 符号化装置、復号化装置、符号化方法、復号化方法、符号化プログラム、復号化プログラム、および記録媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071127

R150 Certificate of patent or registration of utility model

Ref document number: 4049793

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131207

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350