JP4505751B2 - 波形データ変換装置 - Google Patents

波形データ変換装置 Download PDF

Info

Publication number
JP4505751B2
JP4505751B2 JP2006066600A JP2006066600A JP4505751B2 JP 4505751 B2 JP4505751 B2 JP 4505751B2 JP 2006066600 A JP2006066600 A JP 2006066600A JP 2006066600 A JP2006066600 A JP 2006066600A JP 4505751 B2 JP4505751 B2 JP 4505751B2
Authority
JP
Japan
Prior art keywords
bit
bits
point
data
exponent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006066600A
Other languages
English (en)
Other versions
JP2007241128A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006066600A priority Critical patent/JP4505751B2/ja
Publication of JP2007241128A publication Critical patent/JP2007241128A/ja
Application granted granted Critical
Publication of JP4505751B2 publication Critical patent/JP4505751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、固定小数点形式の波形データを浮動小数点形式に変換する波形データ変換装置に関する。
データ量を縮減する為にデータ形式を固定小数点形式から浮動小数点形式に変換させる技術が知られている。この種の技術として、例えば特許文献1には、波形データを指数部データと仮数部データとに分けて1サンプル点当りのデータビット数(語長)を縮減させる技術が開示されている。
特開平7−160267号公報
ところで、電子楽器の音源には、デジタル・シグナル・プロセッサ(DSP)と呼ばれる信号処理装置が設けられる。信号処理装置では、外部メモリを用いて波形データに遅延を施すことが多い。上記特許文献1に開示の技術のように、固定小数点形式の波形データを浮動小数点形式に変換してデータ量を縮減する場合には、外部メモリの語長(格納幅)と、信号処理装置の内部で処理される固定小数点形式の処理語長とを調和させる必要がある。この点について図7を参照して説明する。
図7は、固定小数点20ビットデータと、指数部3ビットおよび仮数部13ビットからなる浮動小数点16ビットデータとの変換関係を示す図である。一般に浮動小数点データにおける指数部の語長をEn、仮数部の語長(有効桁数)をKnとすると、固定小数点データの語長Xnは、Kn+2^En−1なる式で表現できる。なお、上記式中の「^」はベキ乗(累乗)を表す。
したがって、図7に図示した一例において、浮動小数点16ビットデータの指数部および仮数部の各語長の変化に対応する固定小数点データの語長Xnは、16−En+2^En−1なる式で表現できる。具体的には、En=0の時に語長Xnは「16」、En=1の時に語長Xnは「16」、En=2の時に語長Xnは「17」、En=3の時に語長Xnは「20」、En=4の時に語長Xnは「27」と変化する。
一方、信号処理装置の内部処理語長(固定小数点形式)は、一般に8の倍数、つまり16ビット、24ビットあるいは32ビットであり、この内で上記語長Xnに一致する語長は16ビット以外に無い。つまり換言すれば、固定小数点データを浮動小数点データに変換する場合、変換効率の良い固定小数点形式の語長は限られる。したがって、外部メモリの語長が信号処理装置の処理語長に調和しなければ、固定小数点形式から浮動小数点形式に変換した波形データを切り捨てることになり、これが音質劣化を招いてしまう。
本発明は、このような事情に鑑みてなされたもので、必要な分解能を確保しながらも切り捨てによる音質劣化を回避することができる波形データ変換装置を提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、Xビットの固定小数点波形データをNビットの仮数部で表現するのに必要な連続的ベキ数の数E(X=N+E−1の関係)のいずれかを、n(2 <Eの関係)ビットの指数部で指定可能な数 まで間引き、当該間引かれた不連続なベキ数を前記nビットの指数部で指定可能な値夫々に割り当てる割当手段と、前記割当手段により割当てられた指数部の値に応じて、Xビットの固定小数点波形データを前記nビットの指数部とNビットの仮数部とから構成される浮動小数点波形データに変換する変換手段とを具備することを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記割当手段は、前記nビットの指数部で指定可能な数 となるように1つ置きに間引いた奇数列のベキ数夫々を、当該nビットの指数部で指定可能な値夫々に割り当てることを特徴とする。
上記請求項に従属する請求項に記載の発明では、前記割当手段は、前記nビットの指数部で指定可能な数 となるように1つ置きに間引いた偶数列のベキ数夫々を、当該nビットの指数部で指定可能な値夫々に割り当てることを特徴とする。
請求項1に記載の発明によれば、固定小数点波形データを仮数部の語長で表現するのに必要なベキ数の数を、指数部で指定可能な数まで間引き、間引かれた不連続なベキ数を指数部の値に割り当て、割当てられた指数部の値に応じて、固定小数点波形データを指数部と仮数部とから構成される浮動小数点波形データに変換する。これにより、固定小数点波形データを浮動小数点波形データに変換する場合に、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避できる。
(1)発明の概要
図1は、本発明の概要を説明するための図である。前述したように、固定小数点形式の波形データを浮動小数点形式の波形データに変換する場合、外部メモリの語長幅が信号処理装置の処理語長に調和することが好ましい。例えば外部メモリの語長(格納幅)が16ビットの場合を想定すると、指数部3ビットおよび仮数部13ビットの浮動小数点形式ならば、固定小数点20ビットまでしか表現できない。したがって、信号処理装置の処理語長が24ビットであると、その下位4ビットは切り捨てられてしまう。一方、指数部4ビットおよび仮数部12ビットの浮動小数点形式にすれば、固定小数点27ビットまで対応可能だが分解能は半減する。
その為、本発明による波形データ変換装置では、図1に図示する通り、例えば固定小数点24ビットの波形データを、語長16ビットの外部メモリに効率良く格納できるように、指数部3ビットおよび仮数部13ビットで構成される浮動小数点16ビットの波形データに変換する。すなわち、浮動小数点16ビットの波形データでは、その上位3ビット(15SB〜13SB)の指数部がベキ数を表す。3ビットの指数で表現し得るベキ数は「0」〜「7」である。これに対し、仮数部13ビットで24ビット長のデータを表現するには、「0」〜「11」のベキ数が必要になる。
そこで、仮数部13ビットで24ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」、「11」を、15SB〜13SBの指数部の値に置換する。こうすると、仮数部13ビットが有効桁となるのは、もともとのベキ数が「0」、「2」、「4」、「6」、「8」、「9」、「10」および「11」の場合である。一方、間引いたベキ数「1」、「3」、「5」、「7」は、仮数部13ビットで24ビット長のデータを表現するのに必要なベキ数の「2」、「4」、「6」、「8」に対応し、これらのベキ数を用いる際には、4ビットの指数部と12ビットの仮数部とからなる浮動小数点16ビットに変換する。
(2)実施の形態
次に、図2〜図5を参照して本発明の実施の形態について説明する。図2は、実施の一形態による信号処理装置20の構成を示すブロック図である。この図に示す信号処理装置20は、電子楽器の音源に用いられるものであり、デジタル・シグナル・プロセッサ(以下、DSPと記す)21およびデータ形式変換器22から構成される。DSP21は、図示されていないCPUの制御の下に、例えば固定小数点24ビットの波形データについて積和演算処理する。データ形式変換器22は、DSP21の制御の下に、A/D変換器10から供給される固定小数点24ビットの波形データを、浮動小数点16ビットの波形データに変換して外部メモリ30にストアする。また、データ形式変換器22は、DSP21の制御の下に、外部メモリ30から読み出す浮動小数点16ビットの波形データを、固定小数点24ビットの波形データに変換してDSP21に出力する。
DSP21では、データ形式変換器22を介して外部メモリ30に記憶される波形データをサンプリング周期毎に読み出し、読み出した波形データについて、例えば遅延フィードバック演算を施し、これにて生成される楽音データをD/A変換器40に出力する。D/A変換器40は、DSP21が出力する楽音データをD/A変換してなる楽音信号を発生する。
次に、図3〜図4を参照してデータ形式変換器22の構成を説明する。データ形式変換器22は、固定小数点24ビットの波形データを浮動小数点16ビットの波形データに変換する第1の変換部と、浮動小数点16ビットの波形データを固定小数点24ビットの波形データに変換する第2の変換部とに大別される。
図3は、第1の変換部の構成を示すブロック図である。第1の変換部は、図1に図示したように、仮数部13ビットで24ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」、「11」を、15SB〜13SBの指数部の値に置換する一方、その置換された指数部の値に応じて、固定小数点24ビットの波形データを13ビットの仮数部で表現する。
なお、図3には図示していないが、上記置換により間引かれるベキ数(「1」、「3」、「5」、「7」)、すなわち元々のベキ数の「2」、「4」、「6」、「8」を用いる際には、固定小数点24ビットの波形データを、4ビットの指数部と12ビットの仮数部とからなる浮動小数点16ビットに変換する構成を設ければよい。
第1の変換部は、エクスクルーシブOR回路231〜237、ANDゲート回路241〜246、反転回路251、8−3エンコーダ25および8−1セレクタ26を備える。エクスクルーシブOR回路231は、入力される固定小数点24ビットデータの23SB(最上位ビットMSB)から0SB(最下位ビットLSB)の内、23SBから12SBまでの12ビット全てが一致した場合に「H」レベル出力を発生する。同様に、エクスクルーシブOR回路232は、23SBから14SBまでの10ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路233は、23SBから16SBまでの8ビット全てが一致した場合に「H」レベル出力を発生する。
エクスクルーシブOR回路234は、23SBから18SBまでの6ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路235は、23SBから20SBまでの4ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路236は、23SBから21SBまでの3ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路237は、23SBから22SBまでの2ビットが一致した場合に「H」レベル出力を発生する。
ANDゲート回路241〜246および反転回路251は、上記エクスクルーシブOR回路231〜237が同時に複数の「H」レベル出力を8−3エンコーダ25に供給するのを防止しており、より多くの一致を優先する。8−3エンコーダ25は、入力端「0」〜「7」の内、前段からの「H」レベル出力が供給される入力端の番号を3ビットにエンコードしてなる指数部の値を発生する。8−1セレクタ26は、入力端「0」〜「7」の内、上記8−3エンコーダ25が発生する3ビットの指数部の値で指定される入力端に供給される13ビットデータを選択し、これを仮数部として出力する。
なお、8−1セレクタ26において、入力端「0」には固定小数点24ビットデータの12SBから0SB(LSB)までの13ビットが供給される。同様に、入力端「1」には14SBから2SBまでの13ビットが供給される。入力端「21には16SBから4SBまでの13ビットが供給される。入力端「3」には18SBから6SBまでの13ビットが供給される。入力端「4」には20SBから8SBまでの13ビットが供給される。入力端「5」には21SBから9SBまでの13ビットが供給される。入力端「6」には22SBから10SBまでの13ビットが供給される。入力端「7」には23SBから11SBまでの13ビットが供給される。
上記構成によれば、固定小数点24ビットデータが、8−3エンコーダ25から出力される3ビットの指数部と、8−1セレクタ26から出力される13ビットの仮数部とから構成される浮動小数点16ビットデータに変換される。この変換された浮動小数点16ビットデータと、固定小数点24ビットデータとの関係は、図1に図示した通りとなる。
次に、図4は第2の変換部の構成を示すブロック図である。第2の変換部は、8−1セレクタ27からなる。8−1セレクタ27は、入力端「0」〜「7」の内、浮動小数点16ビットデータ中の指数部の値(浮動小数点16ビットデータ中の15SB〜13SB)で指定される入力端に供給される24ビットデータを選択し、これを固定小数点24ビットデータとして出力する。
なお、8−1セレクタ27の入力端「0」には、次の24ビットデータが供給される。すなわち、15SB(最上位ビットMSB)から0SB(最下位ビットLSB)からなる浮動小数点16ビットデータの内、12SBを11ビット分と12SB〜0SBをバンドルした24ビットデータが供給される。入力端「1」には12SBを9ビット分と、12SB〜0SBと、2ビット分の「0」とをバンドルした24ビットデータが供給される。入力端「2」には12SBを7ビット分と、12SB〜0SBと、4ビット分の「0」とをバンドルした24ビットデータが供給される。入力端「3」には12SBを5ビット分と、12SB〜0SBと、6ビット分の「0」とをバンドルした24ビットデータが供給される。
入力端「4」には12SBを3ビット分と、12SB〜0SBと、9ビット分の「0」とをバンドルした24ビットデータが供給される。入力端「5」には12SBを2ビット分と、12SB〜0SBと、9ビット分の「0」とをバンドルした24ビットデータが供給される。入力端「6」には12SBを1ビット分と、12SB〜0SBと、10ビット分の「0」とをバンドルした24ビットデータが供給される。入力端「7」には12SB〜0SBと、11ビット分の「0」とをバンドルした24ビットデータが供給される。
次に、図5を参照してデータ形式変換器22の変換精度について説明する。図5は、固定小数点24ビットフルレンジのダイナミックレンジ幅まで信号レベルをリニアに低減させた時のノイズレベルA〜Cの特性を図示したものである。ノイズレベルAは、3ビットの指数部と13ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。ノイズレベルBは、4ビットの指数部と12ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。ノイズレベルCは、データ形式変換器22により変換された、不連続なベキ数を割り当てる3ビットの指数部と13ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。
そして、図5に図示する通り、ノイズレベルCは、信号レベルが高い領域ではノイズレベルAに準じた分解能を有し、一方、信号レベルが固定小数点24ビットフルレンジに近い低い領域ではノイズレベルBに準じた分解能を有するので、必要な分解能を確保し得る。
以上のように、データ形式変換器22は、信号処理装置20の処理語長を外部メモリ30の語長に調和させて効率良く格納できるように、固定小数点形式の24ビットの波形データを、不連続なベキ数を割り当てる3ビットの指数部と13ビットの仮数部とから構成される浮動小数点形式の波形データに変換する一方、この16ビットの浮動小数点形式の波形データを固定小数点形式の24ビットの波形データに変換するので、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避することができる。
なお、上述した実施の形態では、仮数部13ビットで24ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」および「11」を指数部の値に置換するようにしたが、これに替えて、「2」、「4」、「6」、「8」を間引いた不連続なベキ数「0」、「1」、「3」、「5」、「7」、「9」、「10」および「11」を指数部の値に置換する態様としても構わない。
さらに、本発明の要旨は、固定小数点24ビットデータを浮動小数点16ビットデータに変換するものに限定されず、例えば図6に図示する通り、仮数部21ビットで32ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」および「11」を指数部の値に置換すれば、固定小数点32ビットデータを浮動小数点24ビットデータに変換する場合にも適用可能になる。
本発明の概要を説明するための図である。 本発明の実施の一形態の構成を示すブロック図である。 固定小数点24ビットデータを浮動小数点16ビットデータに変換するデータ形式変換器22の構成を示すブロック図である。 浮動小数点16ビットデータを固定小数点24ビットデータをに変換するデータ形式変換器22の構成を示すブロック図である。 データ形式変換器22の変換精度を説明するための図である。 固定小数点32ビットデータを浮動小数点24ビットデータに変換する一例を説明するための図である。 固定小数点20ビットデータを浮動小数点16ビットデータに変換する一例を説明するための図である。
符号の説明
10 A/D変換器
20 信号処理装置
21 DSP
22 データ形式変換器
30 外部メモリ
40 D/A変換器

Claims (3)

  1. Xビットの固定小数点波形データをNビットの仮数部で表現するのに必要な連続的ベキ数の数E(X=N+E−1の関係)のいずれかを、n(2 <Eの関係)ビットの指数部で指定可能な数 まで間引き、当該間引かれた不連続なベキ数を前記nビットの指数部で指定可能な値夫々に割り当てる割当手段と、
    前記割当手段により割当てられた指数部の値に応じて、Xビットの固定小数点波形データを前記nビットの指数部とNビットの仮数部とから構成される浮動小数点波形データに変換する変換手段と
    を具備することを特徴とする波形データ変換装置。
  2. 前記割当手段は、前記nビットの指数部で指定可能な数 となるように1つ置きに間引いた奇数列のベキ数夫々を、当該nビットの指数部で指定可能な値夫々に割り当てることを特徴とする請求項記載の波形データ変換装置。
  3. 前記割当手段は、前記nビットの指数部で指定可能な数 となるように1つ置きに間引いた偶数列のベキ数夫々を、当該nビットの指数部で指定可能な値夫々に割り当てることを特徴とする請求項記載の波形データ変換装置。
JP2006066600A 2006-03-10 2006-03-10 波形データ変換装置 Active JP4505751B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006066600A JP4505751B2 (ja) 2006-03-10 2006-03-10 波形データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006066600A JP4505751B2 (ja) 2006-03-10 2006-03-10 波形データ変換装置

Publications (2)

Publication Number Publication Date
JP2007241128A JP2007241128A (ja) 2007-09-20
JP4505751B2 true JP4505751B2 (ja) 2010-07-21

Family

ID=38586704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006066600A Active JP4505751B2 (ja) 2006-03-10 2006-03-10 波形データ変換装置

Country Status (1)

Country Link
JP (1) JP4505751B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0145078B2 (ja) * 1983-09-14 1989-10-02 Yamaha Corp
JPH07160267A (ja) * 1993-12-10 1995-06-23 Casio Comput Co Ltd 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JPH07199996A (ja) * 1993-11-29 1995-08-04 Casio Comput Co Ltd 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JPH10336037A (ja) * 1997-05-29 1998-12-18 Matsushita Electric Ind Co Ltd オーディオ信号符号化装置
JP2003288100A (ja) * 2002-03-28 2003-10-10 Asahi Kasei Corp 逆量子化回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0145078B2 (ja) * 1983-09-14 1989-10-02 Yamaha Corp
JPH07199996A (ja) * 1993-11-29 1995-08-04 Casio Comput Co Ltd 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JPH07160267A (ja) * 1993-12-10 1995-06-23 Casio Comput Co Ltd 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JPH10336037A (ja) * 1997-05-29 1998-12-18 Matsushita Electric Ind Co Ltd オーディオ信号符号化装置
JP2003288100A (ja) * 2002-03-28 2003-10-10 Asahi Kasei Corp 逆量子化回路

Also Published As

Publication number Publication date
JP2007241128A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
JP2007006448A (ja) デジタル/アナログ変換器
JP2007514973A (ja) Mをnより小さいとしてnビット語をmビット語にトランスコードする方法および装置
US20150270848A1 (en) D/a conversion apparatus, d/a conversion method and electric musical instrument
KR910003504A (ko) 디지탈 신호 처리 회로
JP4505751B2 (ja) 波形データ変換装置
JP2008005386A (ja) 固体撮像装置および固体撮像装置の信号処理方法
JPS61159827A (ja) ディジタル―アナログ変換方法
JP2000307424A (ja) 電子回路およびそれを用いた液晶表示装置
JP2013037111A (ja) オーディオ信号符号化方法および装置
US7119728B2 (en) Analog/digital converting device
JP2008017383A (ja) D/a変換器
US20180316938A1 (en) Method and apparatus for k-th order exp-golomb binarization
KR100864278B1 (ko) 영상 데이터 처리장치
JP3935908B2 (ja) 量子化誤差を減少させる装置及び方法
JP3223281B2 (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
US6816098B2 (en) High-speed oversampling modulator device
JP2005012284A (ja) ビット長拡張装置、データ処理装置、ビット長拡張方法、制御プログラムおよび可読記録媒体
JP2575969B2 (ja) 浮動小数点乗除算装置
JPS6352488B2 (ja)
JPH043556B2 (ja)
JP2006203288A (ja) 画像処理回路および画像処理方法
JP5252602B2 (ja) 信号処理回路、及び信号処理方法
JP2004180017A (ja) 量子化ビット拡張処理プログラム
JP2006270406A (ja) 多チャンネルデジタルアナログ変換器
JP4710823B2 (ja) 信号処理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091119

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

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

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4505751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3