JP4575609B2 - データ変換装置 - Google Patents
データ変換装置 Download PDFInfo
- Publication number
- JP4575609B2 JP4575609B2 JP2001070758A JP2001070758A JP4575609B2 JP 4575609 B2 JP4575609 B2 JP 4575609B2 JP 2001070758 A JP2001070758 A JP 2001070758A JP 2001070758 A JP2001070758 A JP 2001070758A JP 4575609 B2 JP4575609 B2 JP 4575609B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- bit
- fixed
- point
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の技術分野】
本発明は、例えばオーディオデータ等の波形データを圧縮、伸長するデータ変換装置に関するものである。
【0002】
【従来の技術】
オーディオデータの圧縮、伸長技術には様々な方式があるが、1つのデータのみから圧縮、伸長を行う手法としては、単純に上位ビットから必要なビット数を取り出す固定小数点的な手法と、データを仮数部、指数部のように割り当てる浮動小数点的な手法と、データそのものに対して折れ線近似を行う手法とがある。
【0003】
ここで、オーディオ用データでよく用いられる24bitのデータを12bitに圧縮する手法を例にとって、これらの手法を以下に説明する。
【0004】
まず、表1(図4)に2の補数表現で表された24bitの入力データと入力レベルの関係を示す。ここでSはSignbit(符号bit)、SNはSignbit(符号bit)の反転値、*は任意のデータである0もしくは1の値を示す。このようにすると24bitデータは、表1のレベルのいずれかに必ず当てはめることが出来る。ちなみに正のフルスケールは、0111 1111 1111 1111 1111 1111、負のフルスケールは、1000 0000 0000 0000 0000 0000であるからレベル0に当てはめられる。また、簡単のため1bit当たりの量子化ノイズは6dBとし表1の右側に入力レベルとして表している。24bitのダイナミックレンジは24bit×6dB=144dBとなる。
【0005】
固定小数点的手法:
表2(図5)に、表1のような24bitデータを12bit固定小数点方式で圧縮する場合の例を示し、表3(図6)に圧縮後のデータ構成を示す。表2,3を見てわかるように固定小数点方式の場合は、上位12bitをそのまま取り出しただけである。この場合フルスケール(0dB)における有効bit長は12bitあり、S/N+Dは、約72dB、ダイナミックレンジも72dBである。なお、S/N+Dとは、信号の実効値(S:Signal)と信号以外の測定帯域上の全スペクトル成分の実効値(N+D:NはNoise、DはDistortion)の比である。この固定小数点的手法は、回路が非常に簡単であり、ダイナミックレンジと同じS/N+Dが得られることが特徴である。
【0006】
浮動小数点的手法:
表1のような24bitデータを仮数部8bit、指数部4bitの浮動小数点方式で圧縮を行う場合の例を表4(図7)に示し、12bitに圧縮後のデータ構成を表5(図8)に示す。指数部のデータは、圧縮時に取り込むべきデータのMSBからのシフト量に対応している。この圧縮の場合ダイナミックレンジは138dB(23bit相当)得られるが、仮数部が8bitしかないことから、0dBにおけるS/N+Dは、約48dB程度しかなく、入力レベルが−24dB(レベル4)まで下がって固定小数点方式と同じS/N+Dが得られるようになる。この浮動小数点的手法は、少ないデータ長で広いダイナミックレンジがとれることが特徴である。
【0007】
折れ線近似的手法:
この手法は、信号のレベルが大きい時には、量子化のステップを粗くし、信号のレベルが小さい時には細かくする方法であって、データの値に応じて変化させるので、指数部の領域を持たなくてもすみ、浮動小数点的手法よりもS/N+Dや、ダイナミックレンジを改善することが出来る。
【0008】
【発明が解決しようとする課題】
しかしながら、上記の固定小数点的手法では、ダイナミックレンジがデータ長で決まってしまうため広いダイナミックレンジがとれないという問題がある。
【0009】
また、浮動小数点的手法では、指数部の領域が必要なため、有効ビット長がその分減ることになる。そのため、S/N+Dは悪くなり、信号レベルの大小で量子化雑音が変化してしまうという問題がある。
【0010】
さらに折れ線近似的手法では、データに応じて圧縮の傾きを変化させる必要があるのでハードウエア的に構成が複雑になり、また、入力レベルが大きいときのS/N+Dを改善することはできない。
【0011】
そこで本発明の目的は、以上のような問題を解消し、入力データを簡単な手法で、固定小数点データもしくは仮数部、指数部からなる浮動小数点データに圧縮し、さらに圧縮後のデータを簡単な手法で伸長し、入力データのレベルが大きいときでも歪みが少なくかつ広いダイナミックレンジを表現出来るデータ変換装置、データ圧縮装置およびデータ伸長装置を提供することにある。
【0016】
【課題を解決するための手段】
請求項1の発明は、所定のビット数の固定少数点表示のデータを圧縮するデータ変換装置であって、前記固定少数点表示のデータのうちの所定の範囲のレベルのデータを前記所定のビット数よりも小さいビット数の浮動小数点表示のデータに変換する変換手段と、前記固定少数点表示のデータのうちの所定の範囲のレベル以外のデータを前記所定のビット数よりも小さいビット数の固定少数点表示のデータに変更する変更手段と、前記変換手段および前記変更手段によって得られたデータが浮動小数点表示であるか、固定小数点表示であるかを識別するフラグビットを生成する手段と、を備え、前記所定のビット数よりも小さいビット数の浮動小数点表示のデータにおいて、仮数部の最上位ビットが省略されて浮動小数点表示であることを識別するフラグビットが挿入されているデータ、または、前記所定のビット数よりも小さいビット数の固定少数点表示のデータに、固定小数点表示であることを識別するフラグビットが挿入されているデータを圧縮データとして出力することを特徴とする。
【0019】
請求項2の発明は、請求項1において、前記変更手段は、最上位ビットから同じ符号が連続するビット数に応じて、予め定められたビットだけレベルシフトされた値となるように前記変更を実行することを特徴とする。
【0020】
請求項3の発明は、請求項1または2のデータ変換装置において、前記圧縮データを伸張する際に、前記伸長すべきデータが浮動小数点表示であるか、固定小数点表示であるかを識別する前記フラグビットに基づいて、前記伸長すべきデータが浮動小数点表示のデータの場合には、前記所定のビット数の固定少数点表示のデータに変換する手段と、前記フラグビットに基づいて前記伸長すべきデータが固定少数点表示のデータの場合には、前記所定のビット数の固定小数点表示のデータに変更する手段とを備えたことを特徴とする。
【0021】
請求項4の発明は、請求項3において、前記変換手段は、前記伸長すべきデータの最上位ビットに基づいて、浮動小数点表示であることを識別する識別手段と、前記識別手段の識別結果に基づき、最上位ビットの反転ビットを生成して前記伸長すべきデータの符号ビットを生成する手段と、前記伸長すべきデータおよび前記符号ビットから仮数部データと指数部データを生成する手段と、前記仮数部データと指数部データとから前記所定のビット数の固定小数点データを生成する手段とを備えたことを特徴とする。
【0022】
請求項5の発明は、請求項3において、前記変更手段は、最上位ビットから同じ符号が連続するビット数に応じて、予め定められたビットだけレベルシフトすることを特徴とする。
【0023】
請求項6の発明は、請求項3、4および5のいずれかにおいて、前記伸長すべきデータに基づいて生成されたデータより下位のビットに符号ビットまたは乱数を挿入する手段を有することを特徴とする。
【0024】
【発明の実施の形態】
図1に本発明を適用したオーディオ用DSP(Digital SignalProcessor)のブロック図を示す。
【0025】
図1において、1はマイコンインターフェース、2はマイコンインターフェース1を介して各種の状態を設定するコントロールレジスタ(本発明では、表16、表17、表18の値を設定している。)、3はDSPの演算手順を格納するプログラムRAM(はじめからROMとして格納している場合もある。)、4は、乗算や加算などの算術、論理演算を行う演算処理回路、5は演算処理する際に使用するRAM(係数RAM、DATA RAMなどがこれに該当する)、16は入出力データのインターフェース、18は、クロックなどを制御するDSPのコントロール回路、17はデータバスであって、プログラムRAMより出力するインストラクション命令や、コントロールレジスタ、DSPコントロール回路から出力される制御線などは省略されている。20は、このDSPを内蔵したデータ処理装置等の本体にあるマイクロコンピュータである。なお、この図の基本的構成は、図2のDSP6にも適用できる。圧縮すべきデータは、不図示のデータ処理装置(例えば、図1のオーディオ用DSPを用いてオーディオ信号の音場処理を行う装置があり、これは、例えばDVD等に記録された映画ソースを再生してその音声情報を音場処理する、いわゆるAVアンプとして知られている。)において、デジタルデータとして生成される。
【0026】
(実施例1)
まず、図1の構成を使用して、24bitデータを12bitに圧縮する場合を例として以下に説明する。
【0027】
表6(図9)は本実施例1による圧縮の1例を示す。この場合、図1のオーディオ用DSPにおいて、24ビットデータ(表1)を以下のようにして、圧縮処理する。
【0028】
(1)入力される24bitデータのレベルを判断する。
【0029】
まず、図1のオーディオ用DSPに入力する24bitデータのピークレベルを判断する。フラグビットを1bit用意し、このフラグビットが0の時は固定小数点方式、1の時は浮動小数点方式とし(0と1が逆でも可。すなわち、フラグの定義は逆でも良い。)、表6に示すように、各入力レベルに該当するフラグを対応させる。
【0030】
ここでは、入力レベルが0から2まではフラグを0とし、固定小数点方式で圧縮処理する。このようにすると、11bi1分が固定小数点のデータとして割り当てられる。また、入力レベルが11から18までもフラグを0とし、固定小数点方式で圧縮処理する。
【0031】
次にレベル3から10までの8段階のフラグを1とし浮動小数点方式で圧縮処理する。このようにすると、指数部に3bit必要となるので仮数部は8bitとなる。しかし、表6をみてわかるように浮動小数点時は必ず、S,SN,…と続くのでSNのみデータとしてとっておき、伸長時にSNを反転させSを生成させれば良いことがわかる。これで仮数部は実質9bit分のデータを持っているのと同じになる。
【0032】
(2)固定小数点方式で圧縮処理する場合、入力データにMSB(最上位bit)からS(Signbit)が連続4つ以上続いているかを判断する。
【0033】
すなわち、入力レベルが0から2までの固定小数点方式のデータ構成をみると、MSB(最上位bit)から、S(Signbit)は連続3つまでで、4つ以上続くことはないことがわかる。一方、入力レベルが11から18までの入力信号が微小の場合は、データが下位bitのみ変化し、上位bitはSignbitが連続することになる。したがって、表6の例では、S(Signbit)が連続4つ以上続いた場合、8bit右にシフトした11bitの固定小数点データとする。これにより入力が−66dBより小さい場合は、固定小数点データとして扱われノイズフロアのレベルが変化することはない。
【0034】
圧縮されたデータは、固定小数点方式で圧縮されたか浮動小数点方式で圧縮されたかを示すフラグデータとともに内部または外部のメモリ(RAM)に一時記憶される。
【0035】
表6の例では、ダイナミックレンジで114dB、入力レベル0dBのS/N+D(歪)が約66dB(11bit相当)得られることとなる。表4の浮動小数点方式のダイナミックレンジ138dBに比べて、ダイナミックレンジは若干落ちるが、実使用上ここまで要求されることは少なく、むしろ浮動小数点時の仮数部のbit長を増やした方が音質的には良いためにこのようにしてある。ダイナミックレンジ138dBを実現させる例は後述する。
【0036】
表7(図10)に、図1の構成を使用して表6の方法で圧縮された場合のデータ構成例を示す。指数部のデータは、圧縮時取り込みデータのMSBからのシフト量を示しており、8bitが区別出来れば良いので必ずしもこの順番でなくてかまわない(たとえば000,001,…,110,111)。
【0037】
次に、図1のオーディオ用DSPを使用して12bitに圧縮されたデータを伸長する処理について説明する。
【0038】
まず、メモリ内の上記フラグビット(図9)からその圧縮データが固定小数点方式で圧縮されたか、浮動小数点方式で圧縮されたかを判断し、固定小数点方式の場合は、上位4ビットSignフラグが続いているかを判断し、上位4ビットSignフラグが続いた場合は、微小信号レベルと判断し、8bit右シフト(LSB側)動作を行う。それ以外の場合はシフト動作を行わない。
【0039】
浮動小数点方式の場合は、MSBのデータを反転させ、Signbitを生成させ、指数部のデータをもとに必要な右シフト動作を行う。
【0040】
伸長後データの存在しない下位bitに関しては、シフト後に、データのSignbit(表8:図11参照)もしくはM系列等で生成される乱数(表9:図12参照)を挿入する。Signbitを挿入した場合はオフセットならびに偶数次の高調波の抑制が期待でき、乱数を挿入した場合は、ノイズレベルは若干悪くなるが高調波全体の抑制が期待できる。これらは、状況に応じて切り替えられるようにしておくとよい。
【0041】
本発明では、フラグの取り方、指数部の取り方によりダイナミックレンジやデータの有効bit長を変更する事が可能である。そのような例をつぎにいくつか示す。
【0042】
(実施例2)
図1の構成を使用して、24bitデータを12bitに圧縮する場合を例として以下に説明する。
【0043】
表10(図13)は本実施例2による圧縮の1例を示す。表10に示すように、この実施例では、フラグ2bitを使用し、01は入力レベル0に対応させ、0は入力レベル1から3および12から19に対応させ、11は入力レベル4から11に対応させる。フラグ01および0は固定小数点方式、フラグ11は浮動小数点方式である。指数部は3ビットであり、浮動小数点方式の場合の圧縮時取り込みデータのMSBからのシフト量を示す。固定小数点方式の場合の入力データが、大入力(レベル1から3)か微小入力(レベル12から19)のいずれであるかの判断は、入力データのMSBからSignbitの連続数が4以上であるか否かで行う。すなわち、4以上の場合は、微小入力であると判断し、MSBから9bitシフトしたデータを取り込む。また固定小数点方式の場合の取り込みデータのMSBからのシフト量は、入力レベル0から3までは1bit、入力レベル12から19までは9bitである。
【0044】
以上のような条件において、図1の構成のオーディオ用DSPを使用して、実施例1と同様にして、24bitデータを圧縮することができる。表11(図14)に圧縮後のデータ構成を示す。
【0045】
この例では、入力レベルが0〜−6dB(入力レベル0)以外は、固定小数点方式と同等、もしくはそれ以上の有効bit長が得られる。
【0046】
また、伸長時の動作も実施例1と同様であり、フラグビットの値と、MSBからのSignbitの連続数を参照して容易に伸長することができる。
【0047】
(実施例3)
図1の構成を使用して、24bitデータを12bitに圧縮する場合を例として以下に説明する。
【0048】
表12(図15)は本実施例3による圧縮の1例を示す。表12に示すように、この実施例では、フラグ3bitを使用し、0は入力レベル0から1および14から22に対応させ、001は入力レベル2から3に対応させ、101は入力レベル4から5に対応させ、11は入力レベル6から13に対応させた。11以外のフラグは固定小数点方式、フラグ11は浮動小数点方式である。指数部は3ビットであり、浮動小数点方式の場合の圧縮時取り込みデータのMSBからのシフト量を示す。固定小数点方式を適用する場合の入力データが、大入力(レベル0から1)か微小入力(レベル14から22)のいずれであるかの判断は、入力データのMSBからSignbitの連続数が3以上であるか否かで行う。すなわち、3以上の場合は、微小入力であると判断し、MSBから12bitシフトしたデータを取り込む。また固定小数点方式の場合の取り込みデータのMSBからのシフト量は、入力レベル0から1までは無し、入力レベル2から3までは2bit、入力レベル4から5までは4bit、入力レベル14から22までは12bitである。
【0049】
以上のような条件において、図1の構成のオーディオ用DSPを使用して、実施例1と同様にして、24bitデータを圧縮することができる。表13(図16)に圧縮後のデータ構成を示す。この例では、指数部8bit,仮数部4bitの浮動小数点演算データと同じく138dBのダイナミックレンジを維持しつつ、入力レベルが0,1,2,4,14において有効bit長が勝っていることがわかる。また、伸長時の動作も実施例1と同様であり、フラグビットの値と、MSBからのSignbitの連続数を参照して容易に伸長することができる。
【0050】
(実施例4)
図1の構成を使用して、24bitデータを16bitに圧縮する場合を例として以下に説明する。
【0051】
表14(図17)は本実施例4による圧縮の1例を示す。表14に示すように、この実施例では、フラグ2bitを使用し、0は入力レベル0から2および10から12に対応させ、01は入力レベル3から5に対応させ、11は入力レベル6から9に対応させ、01は入力レベル13から23に対応させた。11以外のフラグは固定小数点方式、フラグ11は浮動小数点方式である。指数部は2ビットであり、浮動小数点方式の場合の圧縮時取り込みデータのMSBからのシフト量を示す。固定小数点方式を適用する場合であって、フラグが0の場合の入力データが、大入力(レベル0から2)か小入力(レベル10から12)のいずれであるかの判断は、入力データのMSBからSignbitの連続数が4以上であるか否かで行う。すなわち、4以上の場合は、小入力であると判断し、MSBから7bitシフトしたデータを取り込む。また固定小数点方式の場合の取り込みデータのMSBからのシフト量は、入力レベル0から2までは無し、入力レベル3から5までは4bit、入力レベル13から23までは10bitである。
【0052】
以上のような条件において、図1の構成のオーディオ用DSPを使用して、実施例1と同様にして、24bitデータを圧縮することができる。表15(図18)に圧縮後のデータ構成を示す。表し15のような入力データフォーマットを用いると、簡単にダイナミックレンジを24bit相当に伸長する事が出来る。
モード設定等で、従来の16bit固定データの切り替えも可能である。
【0053】
また、伸長時の動作も実施例1と同様であり、フラグビットの値と、MSBからのSignbitの連続数を参照して容易に伸長することができる。
【0054】
上述した実施例1〜4は、以下に述べるように専用のハードウェア(図2)によっても実行することができる。
【0055】
なお、本発明の具体的使用例としては、実施例4で述べた新フォーマットとしての可能性もあるが、最も有効な利用法としては、音声データの一次保管手段としてのメモリに、圧縮して書き込み、伸長して読み出す場合である。
【0056】
DSPを用いた音場処理等では、音声データを遅延させた後データ処理する事が多いが、その際のメモリ容量は要求される遅延量に応じて比例して増大してしまう。その反面、遅延データそのものをそのまま出力させることは少なく、元の音声データや他の音声データと加工して使われことが多いため、圧縮する事が可能になってくる。その際に、MPEGのような高度な圧縮方法を使用すると、その回路自体が複雑になり、メモリサイズによっては圧縮する効果が出なくなってしまう。本発明は、そのような場合に有効である。
【0057】
図2に、オーディオ用のDSPに96kbitのSRAMを搭載する場合について示す。なお、圧縮、伸長の方式としては、実施例1で述べた方式とする(表6〜表9)。これは24bitオーディオ用DSP6を、24bitのデータバスを介して、本発明の圧縮、伸長回路7(詳細は後述する)に接続し、そこから96bitのSRAM8につながる。これらの構成は、例えば、上述したAVアンプ等のデータ処理装置内に組み込まれて使用され、オーディオデータ以外の後述するような信号は、このデータ処理装置内の制御回路によって生成されるものとする。
【0058】
96kbitSRAM8の構成は、モードによって表16の4通りに分ける事が出来る。これらのモード信号は後述するSRAM内のセレクタに入力され、いずれかの動作が選択される。
【0059】
【表1】
【0060】
オーディオ用データは、24bitで使用されることが多く、その半分の12bitで圧縮し、SRAMを表16のMODE1のようにすべて12bitで使用すれば、RAM容量を倍にすることが出来る。データの処理によっては、24bitのままメモリに記憶しておいたほうがよい場合があるので、MODE2,MODE3のように24bit,12bitどちらも使えるようにしておくと便利である。12bitの場合は、制御信号としてCMP_N(表17)、S1GN_N(表18)を用意しておき、設定によって、圧縮・伸長のON,0FF、伸長時のSignbit,乱数の挿入の切り替えが出来るようにしておく。これらの制御信号は後述する圧縮、伸長回路内のコントロール回路に入力される。
【0061】
【表2】
【0062】
【表3】
【0063】
図3は、本発明の圧縮、伸長回路7を含んだ周辺回路を示す。
【0064】
24bitデータのピークを検出するピーク検出回路9は、24bit Audio用のDSP6の機能として含んでいる場合も多いので、それを利用した場合は、点線で囲った部分が圧縮、伸長回路7の構成となり、この圧縮、伸長回路7は、コントロール回路10、左右15bitバレルシフタ11(このバレルシフタは、圧縮時は左シフトし、伸長時は右シフトする。また24bit時、CMP_Nの時 シフト0である)、およびデータ加工回路12(このデータ加工回路は、左右1bitシフタとM系列発生回路とデータセレクタとを有する)を有する。バレルシフタ11は24bitのDBUSに接続されており、外部とのデータのやり取りが行われる。バレルシフタ11はまた、データ加工回路12と24bitのXバスで接続される。データ加工回路12は、さらに、24bitのデータのうち、上位12bit分が12bitデータバスであるMBUSに接続され、下位にある12bit分が12bitデータバスであるLBUSに接続される。MBUSとLBUSには、12bitデータのSRAMが接続される。24bitデータのときには、MBUSとLBUSにそれぞれSRAMが接続されるように選択され、SRAMに24bitデータを記憶できるようになっている。したがって、図3に示すSRAM8(図2の1個に相当する)は、メモリ部8Aとセレクタ部8B(コントロール線からの制御信号に応答して24bit時はLSB側のデータバスを選択する)とを有する。
【0065】
はじめに圧縮時の回路動作について説明する。ピーク検出回路9で、24ビットのデータバスの上位16bitから表6に示すピーク検出値を求め、この値を圧縮、伸長回路7に送る。
【0066】
圧縮、伸長回路7のコントロール回路10は、コントロール線から得られたMODE[1:0](表16),CMP_N(表17)の値に応答して、圧縮を行う場合はピーク値(表6の入力レベル0から18)に応じて表6のシフト量が得られるようにバレルシフタ11の値をコントロールして、左シフト(MSB側にシフト)を行う。圧縮を行わない場合は、シフト操作を行わない。浮動小数点データで圧縮しSRAMに記録する場合は最上位bitにSNがくるので、表6で示しているシフト量よりももうlbit左シフトする必要があるが、このバレルシフタ11では行わず次段のデータ加工回路12にて行う。この方が、コントロール的にも楽なためである。データ加工回路12では、固定小数点データ時にはフラグビットの挿入を行い、浮動小数点データ時には、1bit左シフト後に、指数部データとフラグビットの挿入を行う。
【0067】
こうして24bitデータの上位12bitがMBUS[11:0]を通して、SRAMに書き込まれる(表7)。
【0068】
伸長時は、12bitデータ MBUS[11:0]をデータ加工回路に取り込むとともに、MBUS[l1:8]4bitと,MBUS[3:0]4bitをデータコントロール回路10に取り込む。データコントロール回路10では、図19Aに示すように、MBUS[0]のフラグが0であるなら固定小数点データと認識し、データ加工回路を通して、X[23:13]へは、フラグ1bit(MBUS[0])を除いた11bitデータを、X[12:0]へは、SIGN_Nが0の場合はSignbit(すなわち、MBUS[11])を、SIGN_Nが1の場合は、乱数データを入れる。
【0069】
また、コントロール回路10でMBUS[l1:8]4bitの値が1111あるいは0000であれば、微小信号と判断し、24bitデータX[23:0]をバレルシフタ11で8bit右シフト(LSB側にシフト)する。右シフトにより欠落するMSB側のデータにはsignbitを入れる。
【0070】
MBUS[l1:8]4bitの値が1111あるいは0000以外であれば、振幅の大きい信号と判断し、24bitデータX[23:0]は、バレルシフタ11でシフトを行わない。
【0071】
MBUS[0]のフラグが1の時は、図19のBに示すように、浮動小数点データと判断し、データ加工回路12にて、MBUS[11]のbitを反転させてSignビットを生成し、X[23:0]にいれ、MBUS[l1:4]の8bitデータを1bit右シフトしてX[22:15]にいれる。X[14:0]には固定小数点データと同様に、S1GN_Nが0の場合には、Signビットを、S1GN_Nが1の場合は、乱数データを入れる。
【0072】
また、コントロール回路でMBUS[3:1]の指数部データを読み込み、その値からバレルシフタの右シフト量を決定し、X[23:0]のシフトを行う。
右シフトにより欠落するMSB側のデータにはSignbitを入れる(表8,表9)。
【0073】
LBUS[11:0]のやり取りは、24bitデータとしてSRAMに読み書きする場合に用いられ、その場合、SRAM部のセレクタは、LSB側を選択する。
【0074】
ソフトウエアで処理する場合には、上記で述べた方法をプログラムで記述していけばよい。
【0075】
【発明の効果】
以上説明したように、本発明によれば、より歪が少なく、且つ広いダイナミックレンジを表現できるデータ変換、圧縮、伸長装置を提供することができる。
【図面の簡単な説明】
【図1】本発明のデータ圧縮、伸長装置の一例を示すブロック図である。
【図2】本発明のデータ圧縮、伸長装置の他の一例を示すブロック図である。
【図3】同データ圧縮、伸長装置の詳細ブロック図である。
【図4】24bitデータと入力レベルとの関係を示す図である。
【図5】24bitデータを12bit固定小数点方式で圧縮する場合のデータ構造を示す図である。
【図6】24bitデータを12bit固定小数点方式で圧縮した後のデータ構造を示す図である。
【図7】24bitデータを仮数部8bit、指数部4bitの浮動小数点方式で圧縮する場合のデータ構造を示す図である。
【図8】24bitデータを仮数部8bit、指数部4bitの浮動小数点方式で圧縮した後のデータ構造を示す図である。
【図9】本発明の実施例1のデータ構造を示す図である。
【図10】同実施例1の圧縮後のデータ構造を示す図である。
【図11】同実施例1の伸長後のデータ構造の一例を示す図である。
【図12】同実施例1の伸長後のデータ構造の他の一例を示す図である。
【図13】本発明の実施例2のデータ構造を示す図である。
【図14】同実施例2の圧縮後のデータ構造を示す図である。
【図15】本発明の実施例3のデータ構造を示す図である。
【図16】同実施例3の圧縮後のデータ構造を示す図である。
【図17】本発明の実施例4のデータ構造を示す図である。
【図18】同実施例4の圧縮後のデータ構造を示す図である。
【図19】伸長時のX[23:0]を示す図である。
【符号の説明】
1 CPU
2 ROM
3 RAM
4 I/O
5 バス
6 24bitオーディオ用DSP
7 圧縮、伸長回路
8 SRAM
9 ピーク検出回路
10 コントロール回路
11 バレルシフタ
12 データ加工回路
Claims (6)
- 所定のビット数の固定少数点表示のデータを圧縮するデータ変換装置であって、
前記固定少数点表示のデータのうちの所定の範囲のレベルのデータを前記所定のビット数よりも小さいビット数の浮動小数点表示のデータに変換する変換手段と、
前記固定少数点表示のデータのうちの所定の範囲のレベル以外のデータを前記所定のビット数よりも小さいビット数の固定少数点表示のデータに変更する変更手段と、
前記変換手段および前記変更手段によって得られたデータが浮動小数点表示であるか、固定小数点表示であるかを識別するフラグビットを生成する手段と、
を備え、
前記所定のビット数よりも小さいビット数の浮動小数点表示のデータにおいて、仮数部の最上位ビットが省略されて浮動小数点表示であることを識別するフラグビットが挿入されているデータ、または、
前記所定のビット数よりも小さいビット数の固定少数点表示のデータに、固定小数点表示であることを識別するフラグビットが挿入されているデータを圧縮データとして出力する
ことを特徴とするデータ変換装置。 - 請求項1のデータ変換装置において、
前記変更手段は、最上位ビットから同じ符号が連続するビット数に応じて、予め定められたビットだけレベルシフトされた値となるように前記変更を実行する
ことを特徴とするデータ変換装置。 - 請求項1または2のデータ変換装置において、
前記圧縮データを伸張する際に、前記伸長すべきデータが浮動小数点表示であるか、固定小数点表示であるかを識別する前記フラグビットに基づいて、前記伸長すべきデータが浮動小数点表示のデータの場合には、前記所定のビット数の固定少数点表示のデータに変換する手段と、
前記フラグビットに基づいて前記伸長すべきデータが固定少数点表示のデータの場合には、前記所定のビット数の固定小数点表示のデータに変更する手段と
を備えたことを特徴とするデータ変換装置。 - 請求項3のデータ変換装置において、
前記変換手段は、
前記伸長すべきデータの最上位ビットに基づいて、浮動小数点表示であることを識別する識別手段と、
前記識別手段の識別結果に基づき、最上位ビットの反転ビットを生成して前記伸長すべきデータの符号ビットを生成する手段と、
前記伸長すべきデータおよび前記符号ビットから仮数部データと指数部データを生成する手段と、前記仮数部データと指数部データとから前記所定のビット数の固定小数点データを生成する手段と
を備えたことを特徴とするデータ変換装置。 - 請求項3のデータ変換装置において、
前記変更手段は、最上位ビットから同じ符号が連続するビット数に応じて、予め定められたビットだけレベルシフトすることを特徴とするデータ変換装置。 - 請求項3、4および5のいずれかのデータ変換装置において、
前記伸長すべきデータに基づいて生成されたデータより下位のビットに符号ビットまたは乱数を挿入する手段を有することを特徴とするデータ変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001070758A JP4575609B2 (ja) | 2001-03-13 | 2001-03-13 | データ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001070758A JP4575609B2 (ja) | 2001-03-13 | 2001-03-13 | データ変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002271207A JP2002271207A (ja) | 2002-09-20 |
JP4575609B2 true JP4575609B2 (ja) | 2010-11-04 |
Family
ID=18928569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001070758A Expired - Fee Related JP4575609B2 (ja) | 2001-03-13 | 2001-03-13 | データ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4575609B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11696174B2 (en) | 2019-09-20 | 2023-07-04 | Samsung Electronics Co., Ltd. | Wireless communication apparatus including data compressor and operating method of the wireless communication apparatus |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658153B (zh) * | 2004-02-18 | 2010-04-28 | 联发科技股份有限公司 | 复合式动态定点数表示法与运算法及其处理器结构 |
JP2009031377A (ja) * | 2007-07-25 | 2009-02-12 | Nec Electronics Corp | オーディオデータ処理装置およびビット幅変換方法並びにビット幅変換装置 |
JP2012222453A (ja) * | 2011-04-05 | 2012-11-12 | Sony Corp | データ処理装置、データ処理方法、プログラム、およびカメラシステム |
CA2942743C (en) * | 2014-03-25 | 2018-11-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Audio encoder device and an audio decoder device having efficient gain coding in dynamic range control |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61210426A (ja) * | 1985-03-14 | 1986-09-18 | Fujitsu Ltd | 書式変換回路 |
JPS62187933A (ja) * | 1987-02-06 | 1987-08-17 | Hitachi Ltd | 加減算装置 |
JPH01207823A (ja) * | 1988-02-16 | 1989-08-21 | Fujitsu Ltd | 浮動小数点数一固定小数点数変換装置 |
JPH0216632A (ja) * | 1988-07-05 | 1990-01-19 | Fujitsu Ltd | 固定小数点数−浮動小数点数変換回路 |
JPH02137022A (ja) * | 1988-11-18 | 1990-05-25 | Fujitsu Ltd | データ型変換回路 |
JPH03226121A (ja) * | 1990-01-31 | 1991-10-07 | Fujitsu Ltd | データ変換回路 |
JPH0612225A (ja) * | 1992-06-24 | 1994-01-21 | Mitsubishi Electric Corp | データ型変換装置 |
JPH0784755A (ja) * | 1993-09-16 | 1995-03-31 | Toshiba Corp | デジタル信号処理装置 |
-
2001
- 2001-03-13 JP JP2001070758A patent/JP4575609B2/ja not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61210426A (ja) * | 1985-03-14 | 1986-09-18 | Fujitsu Ltd | 書式変換回路 |
JPS62187933A (ja) * | 1987-02-06 | 1987-08-17 | Hitachi Ltd | 加減算装置 |
JPH01207823A (ja) * | 1988-02-16 | 1989-08-21 | Fujitsu Ltd | 浮動小数点数一固定小数点数変換装置 |
JPH0216632A (ja) * | 1988-07-05 | 1990-01-19 | Fujitsu Ltd | 固定小数点数−浮動小数点数変換回路 |
JPH02137022A (ja) * | 1988-11-18 | 1990-05-25 | Fujitsu Ltd | データ型変換回路 |
JPH03226121A (ja) * | 1990-01-31 | 1991-10-07 | Fujitsu Ltd | データ変換回路 |
JPH0612225A (ja) * | 1992-06-24 | 1994-01-21 | Mitsubishi Electric Corp | データ型変換装置 |
JPH0784755A (ja) * | 1993-09-16 | 1995-03-31 | Toshiba Corp | デジタル信号処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11696174B2 (en) | 2019-09-20 | 2023-07-04 | Samsung Electronics Co., Ltd. | Wireless communication apparatus including data compressor and operating method of the wireless communication apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2002271207A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3332619B2 (ja) | 復号装置およびその方法 | |
US20040186933A1 (en) | Data transmit method and data transmit apparatus | |
US6363407B1 (en) | Exponential calculation device and decoding device | |
US6844834B2 (en) | Processor, encoder, decoder, and electronic apparatus | |
US5617506A (en) | Method for communicating a value over a transmission medium and for decoding same | |
US4910780A (en) | Audio signal recording and reproducing apparatus utilizing digital data compression and extension | |
JP4575609B2 (ja) | データ変換装置 | |
JPH10161850A (ja) | 絶対値比較回路 | |
JP3539806B2 (ja) | Cd/cd−i音声信号のl,rチャンネル間の混合を利用したオーディオ処理装置 | |
JP3194135B2 (ja) | デジタルオーディオプロセッサ | |
US6737997B2 (en) | Data conversion apparatus and data conversion method | |
JP2003503740A (ja) | 音声信号復号化方法と装置 | |
JPH07199996A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
JP4224807B2 (ja) | 音声信号処理装置及び音声信号処理コンピュータプログラム | |
JPH0145078B2 (ja) | ||
US5245126A (en) | Waveform generation system with reduced memory requirement, for use in an electronic musical instrument | |
US6567782B1 (en) | Portable information terminal, method of processing audio data, recording medium, and program | |
WO2004088586A1 (ja) | ルックアップテーブル装置及び画像生成装置 | |
JP2001043067A (ja) | 演算装置 | |
JP3672076B2 (ja) | 演算器および演算方法およびプロセッサ | |
JP2547549B2 (ja) | 電子楽器 | |
JPS58121844A (ja) | 信号圧縮伸長器 | |
JPH07160267A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
JP3342380B2 (ja) | 符号化及び復号装置とそれを適用した画像処理装置 | |
JPH0784753A (ja) | 固定小数点型ディジタル・シグナル・プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070402 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080229 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100601 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100729 |
|
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: 20100813 |
|
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: 20100820 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |