米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> カシオ計算機株式会社

発明の名称 波形データ変換装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−241128(P2007−241128A)
公開日 平成19年9月20日(2007.9.20)
出願番号 特願2006−66600(P2006−66600)
出願日 平成18年3月10日(2006.3.10)
代理人 【識別番号】100096699
【弁理士】
【氏名又は名称】鹿嶋 英實
発明者 坂田 吾朗
要約 課題
必要な分解能を確保しながらも切り捨てによる音質劣化を回避する波形データ変換装置を実現する。

解決手段
データ形式変換器22は、信号処理装置20の処理語長を外部メモリ30の語長に調和させて効率良く格納できるように、固定小数点形式の24ビットの波形データを、不連続なベキ数を割り当てる3ビットの指数部と13ビットの仮数部とから構成される浮動小数点形式の波形データに変換する一方、この16ビットの浮動小数点形式の波形データを固定小数点形式の24ビットの波形データに変換する。これにより、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避できる。
特許請求の範囲
【請求項1】
固定小数点波形データを仮数部の語長で表現するのに必要なベキ数の数を、指数部で指定可能な数まで間引き、間引かれた不連続なベキ数を指数部の値に割り当てる割当手段と、
前記割当手段により割当てられた指数部の値に応じて、固定小数点波形データを指数部と仮数部とから構成される浮動小数点波形データに変換する変換手段と
を具備することを特徴とする波形データ変換装置。
【請求項2】
固定小数点波形データを、記憶手段の格納幅に対応させた語長を形成する第1の語長の指数部と第2の語長の仮数部とから構成される浮動小数点波形データに変換する装置であって、
固定小数点波形データを前記第2の語長の仮数部で表現するのに必要なベキ数の数を、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引き、間引かれた不連続なベキ数を、当該第1の語長の指数部が指定する値に割り当てる割当手段と、
前記割当手段により割当てられた指数部の値の内、固定小数点波形データに対応する指数部の値を選択する選択手段と、
前記選択手段により選択された指数部の値に応じて、固定小数点波形データを前記第2の語長の仮数部に変換する変換手段と、
前記選択手段により選択された指数部の値を表す前記第1の語長の指数部と前記変換手段により変換された前記第2の語長の仮数部とから構成される浮動小数点波形データを出力する出力手段と
を具備することを特徴とする波形データ変換装置。
【請求項3】
前記割当手段は、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引いた奇数列のベキ数を、当該第1の語長の指数部が指定する値に割り当てることを特徴とする請求項2記載の波形データ変換装置。
【請求項4】
前記割当手段は、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引いた偶数列のベキ数を、当該第1の語長の指数部が指定する値に割り当てることを特徴とする請求項2記載の波形データ変換装置。
発明の詳細な説明
【技術分野】
【0001】
本発明は、固定小数点形式の波形データを浮動小数点形式に変換する波形データ変換装置に関する。
【背景技術】
【0002】
データ量を縮減する為にデータ形式を固定小数点形式から浮動小数点形式に変換させる技術が知られている。この種の技術として、例えば特許文献1には、波形データを指数部データと仮数部データとに分けて1サンプル点当りのデータビット数(語長)を縮減させる技術が開示されている。
【0003】
【特許文献1】特開平7−160267号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、電子楽器の音源には、デジタル・シグナル・プロセッサ(DSP)と呼ばれる信号処理装置が設けられる。信号処理装置では、外部メモリを用いて波形データに遅延を施すことが多い。上記特許文献1に開示の技術のように、固定小数点形式の波形データを浮動小数点形式に変換してデータ量を縮減する場合には、外部メモリの語長(格納幅)と、信号処理装置の内部で処理される固定小数点形式の処理語長とを調和させる必要がある。この点について図7を参照して説明する。
【0005】
図7は、固定小数点20ビットデータと、指数部3ビットおよび仮数部13ビットからなる浮動小数点16ビットデータとの変換関係を示す図である。一般に浮動小数点データにおける指数部の語長をEn、仮数部の語長(有効桁数)をKnとすると、固定小数点データの語長Xnは、Kn+2^En−1なる式で表現できる。なお、上記式中の「^」はベキ乗(累乗)を表す。
【0006】
したがって、図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」と変化する。
【0007】
一方、信号処理装置の内部処理語長(固定小数点形式)は、一般に8の倍数、つまり16ビット、24ビットあるいは32ビットであり、この内で上記語長Xnに一致する語長は16ビット以外に無い。つまり換言すれば、固定小数点データを浮動小数点データに変換する場合、変換効率の良い固定小数点形式の語長は限られる。したがって、外部メモリの語長が信号処理装置の処理語長に調和しなければ、固定小数点形式から浮動小数点形式に変換した波形データを切り捨てることになり、これが音質劣化を招いてしまう。
【0008】
本発明は、このような事情に鑑みてなされたもので、必要な分解能を確保しながらも切り捨てによる音質劣化を回避することができる波形データ変換装置を提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するため、請求項1に記載の発明では、固定小数点波形データを仮数部の語長で表現するのに必要なベキ数の数を、指数部で指定可能な数まで間引き、間引かれた不連続なベキ数を指数部の値に割り当てる割当手段と、前記割当手段により割当てられた指数部の値に応じて、固定小数点波形データを指数部と仮数部とから構成される浮動小数点波形データに変換する変換手段とを具備することを特徴とする。
【0010】
請求項2に記載の発明では、固定小数点波形データを、記憶手段の格納幅に対応させた語長を形成する第1の語長の指数部と第2の語長の仮数部とから構成される浮動小数点波形データに変換する装置であって、固定小数点波形データを前記第2の語長の仮数部で表現するのに必要なベキ数の数を、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引き、間引かれた不連続なベキ数を、当該第1の語長の指数部が指定する値に割り当てる割当手段と、前記割当手段により割当てられた指数部の値の内、固定小数点波形データに対応する指数部の値を選択する選択手段と、前記選択手段により選択された指数部の値に応じて、固定小数点波形データを前記第2の語長の仮数部に変換する変換手段と、前記選択手段により選択された指数部の値を表す前記第1の語長の指数部と前記変換手段により変換された前記第2の語長の仮数部とから構成される浮動小数点波形データを出力する出力手段とを具備することを特徴とする。
【0011】
上記請求項2に従属する請求項3に記載の発明では、前記割当手段は、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引いた奇数列のベキ数を、当該第1の語長の指数部が指定する値に割り当てることを特徴とする。
【0012】
上記請求項2に従属する請求項4に記載の発明では、前記割当手段は、前記第1の語長の指数部で指定可能な数になるまで1つ置きに間引いた偶数列のベキ数を、当該第1の語長の指数部が指定する値に割り当てることを特徴とする。
【発明の効果】
【0013】
請求項1に記載の発明によれば、固定小数点波形データを仮数部の語長で表現するのに必要なベキ数の数を、指数部で指定可能な数まで間引き、間引かれた不連続なベキ数を指数部の値に割り当て、割当てられた指数部の値に応じて、固定小数点波形データを指数部と仮数部とから構成される浮動小数点波形データに変換する。これにより、固定小数点波形データを浮動小数点波形データに変換する場合に、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避できる。
【0014】
請求項2に記載の発明によれば、固定小数点波形データを、記憶手段の格納幅に対応させた語長を形成する第1の語長の指数部と第2の語長の仮数部とから構成される浮動小数点波形データに変換する場合に、固定小数点波形データを第2の語長の仮数部で表現するのに必要なベキ数の数を、第1の語長の指数部で指定可能な数になるまで1つ置きに間引く。こうして間引かれた不連続なベキ数を、第1の語長の指数部が指定する値に割り当て、割当てられた指数部の値の内、固定小数点波形データに対応する指数部の値を選択する。そして、選択された指数部の値に応じて、固定小数点波形データを第2の語長の仮数部に変換すると、選択された指数部の値を表す第1の語長の指数部と、変換により得られた第2の語長の仮数部とから構成される浮動小数点波形データを出力するので、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避できる。
【発明を実施するための最良の形態】
【0015】
(1)発明の概要
図1は、本発明の概要を説明するための図である。前述したように、固定小数点形式の波形データを浮動小数点形式の波形データに変換する場合、外部メモリの語長幅が信号処理装置の処理語長に調和することが好ましい。例えば外部メモリの語長(格納幅)が16ビットの場合を想定すると、指数部3ビットおよび仮数部13ビットの浮動小数点形式ならば、固定小数点20ビットまでしか表現できない。したがって、信号処理装置の処理語長が24ビットであると、その下位4ビットは切り捨てられてしまう。一方、指数部4ビットおよび仮数部12ビットの浮動小数点形式にすれば、固定小数点27ビットまで対応可能だが分解能は半減する。
【0016】
その為、本発明による波形データ変換装置では、図1に図示する通り、例えば固定小数点24ビットの波形データを、語長16ビットの外部メモリに効率良く格納できるように、指数部3ビットおよび仮数部13ビットで構成される浮動小数点16ビットの波形データに変換する。すなわち、浮動小数点16ビットの波形データでは、その上位3ビット(15SB〜13SB)の指数部がベキ数を表す。3ビットの指数で表現し得るベキ数は「0」〜「7」である。これに対し、仮数部13ビットで24ビット長のデータを表現するには、「0」〜「11」のベキ数が必要になる。
【0017】
そこで、仮数部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ビットに変換する。
【0018】
(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に出力する。
【0019】
DSP21では、データ形式変換器22を介して外部メモリ30に記憶される波形データをサンプリング周期毎に読み出し、読み出した波形データについて、例えば遅延フィードバック演算を施し、これにて生成される楽音データをD/A変換器40に出力する。D/A変換器40は、DSP21が出力する楽音データをD/A変換してなる楽音信号を発生する。
【0020】
次に、図3〜図4を参照してデータ形式変換器22の構成を説明する。データ形式変換器22は、固定小数点24ビットの波形データを浮動小数点16ビットの波形データに変換する第1の変換部と、浮動小数点16ビットの波形データを固定小数点24ビットの波形データに変換する第2の変換部とに大別される。
【0021】
図3は、第1の変換部の構成を示すブロック図である。第1の変換部は、図1に図示したように、仮数部13ビットで24ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」、「11」を、15SB〜13SBの指数部の値に置換する一方、その置換された指数部の値に応じて、固定小数点24ビットの波形データを13ビットの仮数部で表現する。
【0022】
なお、図3には図示していないが、上記置換により間引かれるベキ数(「1」、「3」、「5」、「7」)、すなわち元々のベキ数の「2」、「4」、「6」、「8」を用いる際には、固定小数点24ビットの波形データを、4ビットの指数部と12ビットの仮数部とからなる浮動小数点16ビットに変換する構成を設ければよい。
【0023】
第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」レベル出力を発生する。
【0024】
エクスクルーシブOR回路234は、23SBから18SBまでの6ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路235は、23SBから20SBまでの4ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路236は、23SBから21SBまでの3ビット全てが一致した場合に「H」レベル出力を発生する。エクスクルーシブOR回路237は、23SBから22SBまでの2ビットが一致した場合に「H」レベル出力を発生する。
【0025】
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ビットデータを選択し、これを仮数部として出力する。
【0026】
なお、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ビットが供給される。
【0027】
上記構成によれば、固定小数点24ビットデータが、8−3エンコーダ25から出力される3ビットの指数部と、8−1セレクタ26から出力される13ビットの仮数部とから構成される浮動小数点16ビットデータに変換される。この変換された浮動小数点16ビットデータと、固定小数点24ビットデータとの関係は、図1に図示した通りとなる。
【0028】
次に、図4は第2の変換部の構成を示すブロック図である。第2の変換部は、8−1セレクタ27からなる。8−1セレクタ27は、入力端「0」〜「7」の内、浮動小数点16ビットデータ中の指数部の値(浮動小数点16ビットデータ中の15SB〜13SB)で指定される入力端に供給される24ビットデータを選択し、これを固定小数点24ビットデータとして出力する。
【0029】
なお、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ビットデータが供給される。
【0030】
入力端「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ビットデータが供給される。
【0031】
次に、図5を参照してデータ形式変換器22の変換精度について説明する。図5は、固定小数点24ビットフルレンジのダイナミックレンジ幅まで信号レベルをリニアに低減させた時のノイズレベルA〜Cの特性を図示したものである。ノイズレベルAは、3ビットの指数部と13ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。ノイズレベルBは、4ビットの指数部と12ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。ノイズレベルCは、データ形式変換器22により変換された、不連続なベキ数を割り当てる3ビットの指数部と13ビットの仮数部とからなる浮動小数点16ビットデータのノイズレベルを表す。
【0032】
そして、図5に図示する通り、ノイズレベルCは、信号レベルが高い領域ではノイズレベルAに準じた分解能を有し、一方、信号レベルが固定小数点24ビットフルレンジに近い低い領域ではノイズレベルBに準じた分解能を有するので、必要な分解能を確保し得る。
【0033】
以上のように、データ形式変換器22は、信号処理装置20の処理語長を外部メモリ30の語長に調和させて効率良く格納できるように、固定小数点形式の24ビットの波形データを、不連続なベキ数を割り当てる3ビットの指数部と13ビットの仮数部とから構成される浮動小数点形式の波形データに変換する一方、この16ビットの浮動小数点形式の波形データを固定小数点形式の24ビットの波形データに変換するので、必要な分解能を確保しながら波形データの切り捨てによる音質劣化を回避することができる。
【0034】
なお、上述した実施の形態では、仮数部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」を指数部の値に置換する態様としても構わない。
【0035】
さらに、本発明の要旨は、固定小数点24ビットデータを浮動小数点16ビットデータに変換するものに限定されず、例えば図6に図示する通り、仮数部21ビットで32ビット長のデータを表現するのに必要なベキ数「0」〜「11」の内、「1」、「3」、「5」、「7」を間引いた不連続なベキ数「0」、「2」、「4」、「6」、「8」、「9」、「10」および「11」を指数部の値に置換すれば、固定小数点32ビットデータを浮動小数点24ビットデータに変換する場合にも適用可能になる。
【図面の簡単な説明】
【0036】
【図1】本発明の概要を説明するための図である。
【図2】本発明の実施の一形態の構成を示すブロック図である。
【図3】固定小数点24ビットデータを浮動小数点16ビットデータに変換するデータ形式変換器22の構成を示すブロック図である。
【図4】浮動小数点16ビットデータを固定小数点24ビットデータをに変換するデータ形式変換器22の構成を示すブロック図である。
【図5】データ形式変換器22の変換精度を説明するための図である。
【図6】固定小数点32ビットデータを浮動小数点24ビットデータに変換する一例を説明するための図である。
【図7】固定小数点20ビットデータを浮動小数点16ビットデータに変換する一例を説明するための図である。
【符号の説明】
【0037】
10 A/D変換器
20 信号処理装置
21 DSP
22 データ形式変換器
30 外部メモリ
40 D/A変換器




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013