JP2008141470A - 1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム - Google Patents
1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム Download PDFInfo
- Publication number
- JP2008141470A JP2008141470A JP2006325545A JP2006325545A JP2008141470A JP 2008141470 A JP2008141470 A JP 2008141470A JP 2006325545 A JP2006325545 A JP 2006325545A JP 2006325545 A JP2006325545 A JP 2006325545A JP 2008141470 A JP2008141470 A JP 2008141470A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- filter
- bit string
- filter processing
- string
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】 高い演算能力を用いることなく、1ビットのビットストリームをマルチビットデジタル信号に変換する。
【解決手段】 演算対象候補更新処理部1は、入力ビットストリームから所定ビット数の演算対象候補ビット列を順次取り出す。メモリ3は、複数種類のビット列と、各ビット列にフィルタ処理用のフィルタ係数列を各々畳み込んで得られた複数種類の演算結果データとを対応付けるテーブル31を記憶する。フィルタ処理部2は、テーブル31を参照して、演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力する。
【選択図】図1
【解決手段】 演算対象候補更新処理部1は、入力ビットストリームから所定ビット数の演算対象候補ビット列を順次取り出す。メモリ3は、複数種類のビット列と、各ビット列にフィルタ処理用のフィルタ係数列を各々畳み込んで得られた複数種類の演算結果データとを対応付けるテーブル31を記憶する。フィルタ処理部2は、テーブル31を参照して、演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力する。
【選択図】図1
Description
この発明は、ΔΣ変調等により得られた1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラムに関する。
周知の通り、ΔΣ変調により得られた1ビットのビットストリームは、原音波形の瞬時値を時間軸上における“1”または“0”の粗密により表現した時系列デジタル信号であり、そのままアナログローパスフィルタに通すことにより、元の原音波形を持ったアナログ信号に戻すことができ、使い勝手のよいデジタル信号である。このため、1ビットのビットストリームを取り扱うオーディオ再生装置やオーディオ記録装置が各種提供されている。
ところで、各種の機器において、1ビットのビットストリームが表す原音波形を画面に表示したり、原音波形のレベルを測定する必要が生じる場合がある。その場合、1ビットのビットストリームをPCM(Pulse Code Modulation)サンプルなどのマルチビットデジタル信号に変換し、波形表示やレベル測定に用いるのが一般的である。また、オーディオ再生装置がマルチビットデジタル信号を音として再生する構成のものである場合、1ビットのビットストリームをマルチビットデジタル信号に変換してオーディオ再生装置に供給する必要がある。このような場合、例えば図12に示すような周知のFIR(Finite Impulse Response;有限インパルス応答)フィルタにより、LPF(Low Pass Filter)処理用のフィルタ係数列(図示の例ではフィルタ係数列b0〜bm−1)を1ビットのビットストリームxのビット列に畳み込んでマルチビットデジタル信号yを得るマルチビット変換が実施可能である。しかし、このマルチビット変換を実施するためには、周波数の高い入力ビットストリームを1ビットずつメモリに取り込んで所定ビット長のビット列を構成するビットシフトを繰り返し、このビットシフトの都度、ビット列にフィルタ係数列b0〜bm−1を畳み込むための乗算処理および加算処理を行う必要がある。このようなマルチビット変換をパーソナルコンピュータのような演算能力に制約のある汎用のコンピュータに実行させることは困難である。
この発明は、以上説明した事情に鑑みてなされたものであり、高い演算能力を用いることなく、1ビットのビットストリームをマルチビットデジタル信号に変換することができる技術的手段を提供することを目的とする。
この発明は、1ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段とを具備することを特徴とするマルチビット変換装置およびコンピュータをこのマルチビット変換装置として機能させるコンピュータプログラムを提供する。
かかる発明によれば、予め演算結果データの格納されたテーブルを参照することによりフィルタ処理結果を求めるので、高い演算能力を用いることなく、1ビットのビットストリームをマルチビットデジタル信号に変換することができる。
かかる発明によれば、予め演算結果データの格納されたテーブルを参照することによりフィルタ処理結果を求めるので、高い演算能力を用いることなく、1ビットのビットストリームをマルチビットデジタル信号に変換することができる。
以下、図面を参照し、この発明の実施の形態を説明する。
<第1実施形態>
図1はこの発明の第1実施形態であるマルチビット変換装置の構成を示すブロック図である。このマルチビット変換装置は、ΔΣ変調等により得られた1ビットの入力ビットストリームにLPF(Low Pass filter)処理およびデシメーション処理を施し、マルチビットのデジタル信号として出力する装置である。図1に示すように、本実施形態によるマルチビット変換装置は、入力ビットストリームから演算対象候補となるビット列を取り出す演算対象候補更新処理部1と、演算対象候補更新処理部1により取り出されたビット列を用いてLPF処理およびデシメーション処理を行うフィルタ処理部2とを有する。好ましい態様において、本実施形態によるマルチビット変換装置の実体は、例えばパーソナルコンピュータ等の汎用コンピュータにインストールされたプログラムであり、演算対象候補更新処理部1およびフィルタ処理部2は、このプログラムを構成するルーチンである。
<第1実施形態>
図1はこの発明の第1実施形態であるマルチビット変換装置の構成を示すブロック図である。このマルチビット変換装置は、ΔΣ変調等により得られた1ビットの入力ビットストリームにLPF(Low Pass filter)処理およびデシメーション処理を施し、マルチビットのデジタル信号として出力する装置である。図1に示すように、本実施形態によるマルチビット変換装置は、入力ビットストリームから演算対象候補となるビット列を取り出す演算対象候補更新処理部1と、演算対象候補更新処理部1により取り出されたビット列を用いてLPF処理およびデシメーション処理を行うフィルタ処理部2とを有する。好ましい態様において、本実施形態によるマルチビット変換装置の実体は、例えばパーソナルコンピュータ等の汎用コンピュータにインストールされたプログラムであり、演算対象候補更新処理部1およびフィルタ処理部2は、このプログラムを構成するルーチンである。
演算対象候補更新処理部1には、記録媒体から読み出され、あるいはインターネット等を介して受信される1ビットの入力ビットストリームが与えられる。フィルタ処理部2がmビットのビット列を処理単位としてLPF処理およびデシメーション処理を行う場合、演算対象候補更新処理部1は、入力ビットストリームからmビット(m≧2)ずつビット列を順次取り出し、1個のビット列を取り出す毎に、それまでに取り出した最新の2mビットを、演算対象候補ビット列として、フィルタ処理部2に引き渡す。さらに詳述すると、本実施形態における演算対象候補更新処理部1は、コンピュータのRAM等に設定された2個のmビットレジスタ11および12を利用可能であり、入力ビットストリームの先頭からmビットずつビット列を順次取り出し、このmビットのビット列の取り出しを行う度に、レジスタ12に記憶されていたmビットをレジスタ11に移動し、取り出したmビットをレジスタ12に格納する、という操作を繰り返す。そして、演算対象候補更新処理部1は、レジスタ11および12に記憶された2mビットの演算対象候補ビット列をフィルタ処理部2へ引き渡すのである。
フィルタ処理部2は、LPF処理およびデシメーション処理を実行するに当たり、メモリ3に記憶されたテーブル31を参照する。このテーブル31は、ビットの値の組み合わせが異なった複数のmビットのビット列と、LPF処理のためのm個のフィルタ係数からなるフィルタ係数列をこれらのビット列に各々畳み込むことにより得られた各演算結果データとを対応付けるものである。
図2は、m=4である場合のテーブル31の内容を例示するものである。この例では、入力ビットストリームの個々のビットについて“1”であれば「+1」の重みを有し、“0”であれば「−1」の重みを有するものと解釈している。そして、ビット列の内容が“0000”の場合には−b0−b1−b2−b3の演算結果、ビット列の内容が“0001”の場合には−b0−b1−b2+b3の演算結果、…という具合に、ビットの値の組み合わせの異なった各種のビット列に対し、4個のフィルタ係数b0〜b3を畳み込んだ結果が各々演算結果データとしてテーブル31に定義されている。
そして、フィルタ処理部2は、デシメーション処理を行うため、2mビットの演算対象候補ビット列の中からデシメーション処理に要求される間引き率に応じた個数のmビットの演算対象ビット列を選択する。そして、フィルタ処理部2は、LPF処理を行うため、選択した演算対象ビット列毎に、当該演算対象ビット列の内容に対応した演算結果データをテーブル31から読み出して出力するテーブル参照処理21を実行する。
図3はm=4である場合について本実施形態の動作例を示すものである。m=4である場合、フィルタ処理部2は、レジスタ11および12に記憶された2mビット(=8ビット)の演算対象候補ビット列を用いて、最大4個のサンプルy0〜y3をフィルタ処理結果であるマルチビットデジタル信号として出力可能である。
要求される間引き率が4である場合(4サンプルに1サンプルの割合で出力し、他は間引く場合)、フィルタ処理部2は、図3(a)に示すように、レジスタ11および12に記憶された8ビットの演算対象候補ビット列x7〜x0の中から4ビットの演算対象ビット列x3〜x0を選択し、これに対応した演算結果データをテーブル31から読み出し、サンプルy0として出力する。そして、他の3サンプルy1〜y3を求めるための演算は行わない。
次に、要求される間引き率が2である場合(2サンプルに1サンプルの割合で出力し、他は間引く場合)、フィルタ処理部2は、図3(b)に示すように、レジスタ11および12に記憶された8ビットの演算対象候補ビット列x7〜x0の中から各々4ビットの演算対象ビット列x3〜x0およびx5〜x2を選択し、これらに各々対応した演算結果データをテーブル31から読み出し、サンプルy0およびy2として出力する。そして、他の2サンプルy1およびy3を求めるための演算は行わない。
最後に、要求される間引き率が1である場合(すなわち、間引きをしない場合)、フィルタ処理部2は、図3(c)に示すように、レジスタ11および12に記憶された8ビットの演算対象候補ビット列x7〜x0の中から各々4ビットの演算対象ビット列x3〜x0、x4〜x1、x5〜x2およびx6〜x3を選択し、これらに各々対応した演算結果データをテーブル31から読み出し、サンプルy0〜y3として出力する。
以上、m=4である場合を例に説明したが、mが他の値である場合も同様である。
以上、m=4である場合を例に説明したが、mが他の値である場合も同様である。
以上のように、本実施形態によれば、1ビットの入力ビットストリームにフィルタ処理を施してマルチビットデジタル信号に変換する際に、各種のビットの組み合わせのmビットのビット列について予め算出された演算結果データのテーブルの中から、入力ビットストリームから取り出したmビットのビット列に対応した演算結果データを読み出し、フィルタ処理結果であるマルチビットデジタル信号を生成するので、マルチビットデジタル信号を得るための演算の負担を軽くすることができるという効果がある。また、本実施形態によれば、フィルタ処理の際に各種の間引き率に対応したデシメーション処理を実行することができるという効果がある。
<第2実施形態>
上記第1実施形態において各種の間引き率でのマルチビットデジタル信号の出力を可能にするためには、2mビットの演算対象候補ビット列の中から各種のビット位置のmビットの演算対象ビット列を選択する演算能力が必要であった。この発明の第2実施形態によるマルチビット変換装置は、そのようなビット選択を行うことなく、各種の間引き率のマルチビットデジタル信号を入力ビットストリームから生成するものである。
上記第1実施形態において各種の間引き率でのマルチビットデジタル信号の出力を可能にするためには、2mビットの演算対象候補ビット列の中から各種のビット位置のmビットの演算対象ビット列を選択する演算能力が必要であった。この発明の第2実施形態によるマルチビット変換装置は、そのようなビット選択を行うことなく、各種の間引き率のマルチビットデジタル信号を入力ビットストリームから生成するものである。
図4は本実施形態によるマルチビット変換装置の構成を示すブロック図である。この図において、演算対象候補更新処理部1の構成および処理内容は上記第1実施形態のものと同様である。本実施形態の上記第1実施形態に対する相違点は、フィルタ処理部2Aの処理内容およびメモリ3Aの記憶内容にある。
上記第1実施形態と同様、フィルタ処理部2Aには、レジスタ11および12を介して、2mビットの演算対象候補ビット列が与えられる。フィルタ処理部2Aは、この2mビットの演算対象候補ビット列に含まれ、要求される間引き率に応じて各々のビット位置が定まる1または複数のmビットの演算対象ビット列に対するフィルタ処理結果であるマルチビットデジタル信号を生成する。
ここで、mビットの演算対象ビット列は、レジスタ11のみに記憶されている場合もあれば(例えば前掲図3におけるサンプルy0の元となる演算対象ビット列x3〜x0)、レジスタ11および12に跨って記憶されている場合もあり得る(例えば前掲図3においてサンプルy1〜y3の元となる演算対象ビット列x4〜x1、x5〜x2およびx6〜x3)。
上記第1実施形態におけるフィルタ処理部2は、2mビットの演算対象候補ビット列の中からこれらのmビットの演算対象ビット列を選択し、選択した演算対象ビット列に対応した演算結果データをメモリ3内のテーブル31から読み出すテーブル参照処理21を実行した。
これに対し、本実施形態におけるフィルタ処理部2Aは、このような演算対象候補ビット列の中から演算対象ビット列を選択する操作を行うことなく、演算対象ビット列に対するフィルタ処理結果を演算する。このような演算を可能にするため、メモリ3Aには複数のテーブル#1〜#nが記憶されている。これらのテーブル#1〜#nは、その内容から、以下の第1〜第3のテーブルに分類することができる。
<<第1のテーブル>>
第1のテーブルは、内容が異なった複数のmビットのビット列と、これらのmビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるものである。具体的には上記第1実施形態におけるテーブル31のようなテーブルである。メモリ3Aには、この第1のテーブルが1個記憶されている。
第1のテーブルは、内容が異なった複数のmビットのビット列と、これらのmビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるものである。具体的には上記第1実施形態におけるテーブル31のようなテーブルである。メモリ3Aには、この第1のテーブルが1個記憶されている。
<<第2のテーブル>>
第2のテーブルは、1≦ma<mである各種のmaに対応したテーブルであって、内容が異なった各種のmaビットのビット列と、これらのmaビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列から取り出した上位ma個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ3Aには、この第2のテーブルが1または複数記憶されている。第2のテーブルが何個必要であるかは、2mビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
第2のテーブルは、1≦ma<mである各種のmaに対応したテーブルであって、内容が異なった各種のmaビットのビット列と、これらのmaビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列から取り出した上位ma個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ3Aには、この第2のテーブルが1または複数記憶されている。第2のテーブルが何個必要であるかは、2mビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
<<第3のテーブル>>
第3のテーブルは、1≦mb<mである各種のmbに対応したテーブルであって、内容が異なった各種のmbビットのビット列と、これらのmbビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列から取り出した下位mb個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ3Aには、この第3のテーブルが1または複数記憶されている。第3のテーブルが何個必要であるかは、2mビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
第3のテーブルは、1≦mb<mである各種のmbに対応したテーブルであって、内容が異なった各種のmbビットのビット列と、これらのmbビットのビット列に対し、m個のフィルタ係数からなるフィルタ係数列から取り出した下位mb個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ3Aには、この第3のテーブルが1または複数記憶されている。第3のテーブルが何個必要であるかは、2mビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
フィルタ処理部2Aは、以上のテーブルを参照するテーブル参照処理21Aを実行するとともに、必要に応じて加算処理22Aを実行することにより、1または複数の演算対象ビット列に対応したフィルタ処理結果であるマルチビットデジタル信号を演算する。具体的には次の通りである。
a.当該演算対象ビット列が2mビットの演算対象候補ビット列の前半mビットに属する部分のみからなる場合(すなわち、レジスタ11のみに記憶されている場合)には、第1のテーブルから当該演算対象ビット列の内容に対応した演算結果データを読み出して、フィルタ処理を経たマルチビットデジタル信号として出力する。
b.当該演算対象ビット列が2mビットの演算対象候補ビット列の前半mビットに属する前半部分ビット列と後半mビットに属する後半部分ビット列とからなる場合(すなわち、レジスタ11および12に跨って記憶されている場合)には、1または複数の第2のテーブルのうち当該前半部分ビット列のビット長に対応したテーブルから当該前半部分ビット列(レジスタ11に記憶された部分)の内容に対応した演算結果データを読み出すとともに、1または複数の第3のテーブルのうち当該後半部分ビット列のビット長に対応したテーブルから当該後半部分ビット列(レジスタ12に記憶された部分)の内容に対応した演算結果データを読み出し、読み出した2つの演算結果データを加算し、フィルタ処理を経たマルチビットデジタル信号として出力する。
図5はm=4である場合におけるフィルタ処理部2Aの処理内容を例示する図である。また、図6はm=4である場合における一部のテーブルの内容を例示する図である。以下、これらの図を参照し、本実施形態の動作を説明する。
m=4である場合、本実施形態におけるフィルタ処理部2Aは、レジスタ11および12に記憶された2mビット(=8ビット)の演算対象候補ビット列を用いることにより、マルチビットデジタル信号として最大4個のサンプルy0〜y3をフィルタ処理結果として演算可能である。その際、4サンプルy0〜y3のうちいずれを演算するかは、要求される間引き率により定まるが、間引き率と演算するサンプルとの関係は上記第1実施形態と同様である。
m=4である場合、メモリ3Aには7個のテーブル#1〜#7が記憶される。各サンプルy0〜y3を求めるために、いずれのテーブルを参照するかはサンプル間で異なる。図5には各サンプルy0〜y3を求めるための演算内容が示されるとともに、それらの演算を実現するために参照するテーブルが示されている。
図5において、テーブル#1は第1のテーブル、テーブル#2、#4および#6はビット長ma=3、2、1に各々対応した第2のテーブル、テーブル#3、#5および#7はビット長mb=1、2、3に各々対応した第3のテーブルである。
図5に示すように、サンプルy0は、レジスタ11に記憶された演算対象サンプル列x3〜x0にフィルタ係数列b0〜b3を畳み込むことにより得られる。一方、図6に示すように、メモリ3A内のテーブル#1では、演算対象ビット列x3〜x0の内容が“0000”である場合には−b0−b1−b2−b3、“0001”の場合には−b0−b1−b2+b3、…という具合に、内容が異なった各種の演算対象ビット列x3〜x0に対し、4個のフィルタ係数b0〜b3を畳み込んだ結果が演算結果データとして定義されている。そこで、フィルタ処理部2Aは、このテーブル#1の中から演算対象ビット列x3〜x0の内容に対応した演算結果データを読み出し(テーブル参照処理21A)、サンプルy0として出力する。
サンプルy1は、図5に示すように、レジスタ11および12に跨って記憶された演算対象サンプル列x4〜x1にフィルタ係数列b0〜b3を畳み込むことにより得られる。この畳み込み演算は、レジスタ11に記憶された演算対象サンプル列の前半部分x3〜x1に対する上位3個のフィルタ係数b1〜b3の畳み込み演算と、レジスタ12に記憶された演算対象サンプル列の後半部分x0に対する下位1個のフィルタ係数b0の畳み込み演算(この場合は単なる乗算)とに分解することができる。
一方、図6に示すように、ビット長ma=3に対応した第2のテーブルであるテーブル#2には、ビット列x3〜x0の内容が“000X”(Xは“1”であっても“0”であっても構わないDon't Care値を意味する。以下、同様である。)である場合には−b1−b2−b3、“001X”の場合には−b1−b2+b3、…という具合に、内容が異なった複数のビット列x3〜x1に対し、3個のフィルタ係数b1〜b3を畳み込んだ結果が演算結果データとして定義されている。また、ビット長mb=1に対応した第3のテーブルであるテーブル#3には、ビット列x7〜x4の内容が“XXX0”である場合には−b0、“XXX1”の場合には+b0という具合に、内容が異なった複数のビット列x4(この場合はビットx4)に対し、1個のフィルタ係数b0を畳み込んだ結果(この場合は単なる乗算結果)が演算結果データとして定義されている。
そこで、フィルタ処理部2Aは、テーブル#2の中から演算対象ビット列x4〜x1の前半部分ビット列x3〜x1の内容に対応した演算結果データを読み出すとともに、テーブル#3の中から演算対象ビット列x4〜x1の後半部分ビット列x4の内容に対応した演算結果データを読み出し(テーブル参照処理21A)、読み出した2つの演算結果データを加算し(加算処理22A)、マルチビットデジタル信号のサンプルy1として出力する。
他のサンプルy2およびy3についても同様であり、フィルタ処理部2Aは、第2のテーブルおよび第3のテーブルを参照するテーブル参照処理21Aと、このテーブル参照処理21Aにより得られる2つの演算結果データを加算する加算処理22Aとを実行することにより各サンプルを算出する。
本実施形態においても上記第1実施形態と同様の効果が得られる。また、本実施形態には、2mビットの演算対象候補ビット列からmビットの演算対象ビット列を選択する演算能力を利用することができない状況下においても実施が可能であるという利点がある。
以上、この発明の第1および第2実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば次の通りである。
(1)上記第1および第2実施形態では、説明を簡単にするため、m=4である場合の実施形態を取り上げたが、この発明は、mが8、16といった他の値をとる場合にも勿論実施可能である。図7は、m=8である場合において、演算対象ビット列から演算結果データを得るためのテーブル(上記第1実施形態におけるテーブル31、第2実施形態の第1のテーブルであるテーブル#1に相当)の内容を例示するものである。
(2)上記第1および第2実施形態において、mの値が大きい場合、演算対象ビット列から演算結果データを得るためのテーブルのエントリ数が大きくなるため(テーブル31および#1に相当するテーブルのエントリ数は2mとなる)、マルチビット変換装置が大規模化する可能性がある。そこで、演算対象ビット列を前半m/2ビットのビット列と後半m/2ビットのビット列とに分け、メモリには、前半ビット列に対応した演算結果データのテーブルと、後半ビット列に対応した演算結果データのテーブルとを記憶させてもよい。図8は、m=8である場合における後半ビット列に対応した演算結果データのテーブル、図9は、前半ビット列に対応した演算結果データのテーブルを例示するものである。この場合、ある演算対象ビット列に対応したサンプルを演算する場合には、両テーブルを参照して、演算対象ビット列の前半ビット列に対応した演算結果データと後半ビット列に対応した演算結果データを読み出し、読み出した2つの演算結果データを加算すればよい。
(3)上記第1および第2実施形態では、複数種類の間引き率のうち要求された間引き率のマルチビットデジタル信号を入力ビットストリームから生成するようにしたが、固定された1種類の間引き率のマルチビットデジタル信号を入力ビットストリームから生成するマルチビット変換装置に本発明を適用してもよい。この場合、1ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段とをマルチビット変換装置に設け、演算対象候補ビット列に含める演算対象ビット列の個数を所望の間引き率に対応した個数とすればよい。
(4)上記第1実施形態では、演算対象ビット列のビット長がmビットである場合に演算対象候補ビット列のビット長を2mビットにした。しかし、図3にも示されているように、例えばm=4である場合において間引き率4および2の各条件でマルチビットデジタル信号を得るためには演算対象候補ビット列のビット長は6ビットあれば十分であり、間引き率4、2および1の各条件でマルチビットデジタル信号を得る場合にも演算対象候補ビット列のビット長は7ビットあれば十分である。従って、演算対象候補ビット列のビット長は、必ずしも上記第1実施形態において示したように2mビットである必要はなく、m<k≦2mの範囲内において、実現する間引き率に適したビット長kを選択すればよい。
(5)上記第2実施形態において、レジスタ11に記憶されたmビットのデータをアドレスとして第2のテーブルに直接与え、レジスタ12に記憶されたmビットのデータをアドレスとして第3のテーブルに直接与えることができるようにするため、第2および第3のテーブルとして2m個のエントリを持ったテーブルを用い、各テーブルに記憶させる演算結果データに冗長性を持たせた。しかし、このような冗長性を排除した構成としてもよい。具体的には、ビット長maに対応した第2のテーブルには2ma個のエントリを設け、内容が異なったビット長maの各部分ビット列に対応した演算結果データを記憶させる。また、ビット長mbに対応した第3のテーブルには2mb個のエントリを設け、内容が異なったビット長mbの各部分ビット列に対応した演算結果データを記憶させる。そして、演算対象ビット列の前半のビット長maの部分ビット列に対応した演算結果データを得る場合には、レジスタ11に記憶されたmビットのデータのうち上位maビットの部分をアドレスとして、ビット長maに対応した第2のテーブルに与える。また、演算対象ビット列の後半のビット長mbの部分ビット列に対応した演算結果データを得る場合には、レジスタ12に記憶されたmビットのデータのうち下位mbビットの部分をアドレスとして、ビット長mbに対応した第2のテーブルに与えるのである。この態様によれば、第2および第3のテーブルの記憶内容の冗長性を排除し、テーブル全体を小規模化することができる。
(6)上記第1および第2実施形態では、LPF処理としてFIRフィルタ処理を行うマルチビット変換装置に本発明を適用したが、本発明は、LPF処理として、IIR(Infinite Impulse Response)フィルタ処理を実行するマルチビット変換装置にも適用可能である。以下説明する実施形態では、図10に例示する1次のIIRフィルタを、マルチビット変換およびデシメーション処理のためのFIRフィルタを前処理として含むフィルタ処理に等価変形し、FIRフィルタの部分に上記第1実施形態または第2実施形態において開示した演算方法を適用する。
まず、図10に例示する1次のIIRフィルタにおいて、入力サンプル列x(n)および出力サンプル列y(n)は、次式のように表される。
y(n)=x(n)+a・y(n−1) ……(1)
この式(1)を再帰的に代入すると、次式が得られる。
y(n)=x(n)+a・x(n−1)+a2・x(n−2)+
…+am・x(n−m)+… ……(2)
y(n)=x(n)+a・y(n−1) ……(1)
この式(1)を再帰的に代入すると、次式が得られる。
y(n)=x(n)+a・x(n−1)+a2・x(n−2)+
…+am・x(n−m)+… ……(2)
ここで、出力サンプル列y(n)について間引き率8のデシメーション処理を施したサンプル列をy(i)とすると、そのようなサンプル列y(i)は次のようにして得ることができる。
まず、次式に示すu(i)を想定する。
u(i)=x(i)+a・x(i−1)+a2・x(i−2)+
…+a7・x(i−7) ……(3)
すると、サンプル列y(i)は、次式のように表すことができる。
y(i)=u(i)+a8・u(i−1)+a16・u(i−2)+
…+a8m・u(i−m)+… ……(4)
u(i)=x(i)+a・x(i−1)+a2・x(i−2)+
…+a7・x(i−7) ……(3)
すると、サンプル列y(i)は、次式のように表すことができる。
y(i)=u(i)+a8・u(i−1)+a16・u(i−2)+
…+a8m・u(i−m)+… ……(4)
この式(4)に対し、上記式(1)から式(2)への変形と逆の変形を施す。その際、サンプル列y(i)のサンプリング周波数は、サンプル列y(n)のサンプリング周波数fsの1/8であるので、混乱を避けるためにyをvに変更する。この結果、次式が得られる。
v(n)=u(n)+a8・v(n−1) ……(5)
v(n)=u(n)+a8・v(n−1) ……(5)
この式(5)において、u(n)は式(3)に示すものであるから、図11に示すデシメーション処理機能を有する8タップのFIRフィルタ101の出力サンプルと考えることができる。また、式(5)自体は、図11において、u(n)を入力サンプル列とし、v(n)を出力サンプル列とするIIRフィルタ102と考えることができる。
このように、図10のIIRフィルタに間引き率8のデシメーション処理を導入したフィルタは、図11に示すデシメーション処理機能を有するFIRフィルタ101とIIRフィルタ102とを組み合わせたものに等価変形可能である。この実施形態は、デシメーション処理機能を有するFIRフィルタ101に対し、上記第1実施形態または第2実施形態において開示した演算方法を適用するものである。この実施形態では、1種類の間引き率でのマルチビット変換のみが可能であるが、その際、上記第1実施形態および第2実施形態において開示したテーブル参照によりフィルタ処理結果を求めるので演算が少なくて済むという利点がある。
(7)この発明をコンピュータプログラムとして実施する場合において、各種のビット列と演算結果データとを対応付けるテーブルは、コンピュータプログラムとは別体のものとして構成してもよく、コンピュータプログラムの一部としてもよい。前者の場合において、テーブルは、コンピュータプログラムとは独立して流通させてもよい。
1……演算対象候補更新処理部、2,2A……フィルタ処理部、3,3A……メモリ、21,21A……テーブル参照処理、22A……加算処理、31,#1〜#n……テーブル。
Claims (4)
- 1ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、
内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段と
を具備することを特徴とするマルチビット変換装置。 - コンピュータを、
1ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、
内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる1または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。 - コンピュータを、
1ビットの入力ビットストリームからmビット(m≧2)ずつビット列を順次取り出し、1個のビット列を取り出す毎に、それまでに取り出した最新のkビット(m<k≦2m)を演算対象候補ビット列とする演算対象候補更新手段と、
内容が異なった複数種類のmビットのビット列と、これらのビット列の各々に対し、フィルタ処理用のm個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルから、前記演算対象候補ビット列に含まれ、要求される間引き率に応じて決定される個数のmビットの演算対象ビット列の各々の内容に対応した1または複数の演算結果データを読み出し、フィルタ処理結果であるマルチビットデジタル信号として出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。 - コンピュータを、
1ビットの入力ビットストリームからmビット(m≧2)ずつビット列を順次取り出し、取り出した最新の2mビットを演算対象候補ビット列とする演算対象候補更新手段と、
内容が異なった複数のmビットのビット列と、これらのビット列の各々に対し、フィルタ処理用のm個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける第1のテーブルと、1≦ma<mである各種のmaに対応したテーブルであって、内容が異なった各種のmaビットのビット列と、これらのmaビットのビット列の各々に対し、前記m個のフィルタ係数からなるフィルタ係数列から取り出した上位ma個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける1または複数の第2のテーブルと、1≦mb<mである各種のmbに対応したテーブルであって、内容が異なった各種のmbビットのビット列と、これらのmbビットのビット列の各々に対し、前記m個のフィルタ係数からなるフィルタ係数列から取り出した下位mb個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける1または複数の第3のテーブルとを参照することにより、前記2mビットの演算対象候補ビット列に含まれ、要求される間引き率に応じて定まる個数のmビットの演算対象ビット列に対するフィルタ処理結果を得る手段であって、
a.当該演算対象ビット列が前記演算対象候補である2mビットの前半mビットに属する部分のみからなる場合には、前記第1のテーブルから当該演算対象ビット列の内容に対応した演算結果データを読み出して、フィルタ処理結果であるマルチビットデジタル信号として出力し、
b.当該演算対象ビット列が前記演算対象候補である2mビットの前半mビットに属する前半部分ビット列と後半mビットに属する後半部分ビット列とからなる場合には、前記1または複数の第2のテーブルのうち当該前半部分ビット列のビット長に対応したテーブルから当該前半部分ビット列の内容に対応した演算結果データを読み出すとともに、前記1または複数の第3のテーブルのうち当該後半部分ビット列のビット長に対応したテーブルから当該後半部分ビット列の内容に対応した演算結果データを読み出し、読み出した2つの演算結果データを加算し、フィルタ処理結果であるマルチビットデジタル信号として出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325545A JP2008141470A (ja) | 2006-12-01 | 2006-12-01 | 1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325545A JP2008141470A (ja) | 2006-12-01 | 2006-12-01 | 1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008141470A true JP2008141470A (ja) | 2008-06-19 |
Family
ID=39602484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006325545A Withdrawn JP2008141470A (ja) | 2006-12-01 | 2006-12-01 | 1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008141470A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010032903A (ja) * | 2008-07-30 | 2010-02-12 | Sony Corp | 信号処理装置及び方法、信号レベル表示装置 |
WO2019009082A1 (ja) * | 2017-07-05 | 2019-01-10 | ソニー株式会社 | 信号処理装置、信号処理方法、および、プログラム |
-
2006
- 2006-12-01 JP JP2006325545A patent/JP2008141470A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010032903A (ja) * | 2008-07-30 | 2010-02-12 | Sony Corp | 信号処理装置及び方法、信号レベル表示装置 |
US8577944B2 (en) | 2008-07-30 | 2013-11-05 | Sony Corporation | Signal processing device, signal processing method, and signal level display device |
WO2019009082A1 (ja) * | 2017-07-05 | 2019-01-10 | ソニー株式会社 | 信号処理装置、信号処理方法、および、プログラム |
CN110800043A (zh) * | 2017-07-05 | 2020-02-14 | 索尼公司 | 信号处理设备、信号处理方法和程序 |
JPWO2019009082A1 (ja) * | 2017-07-05 | 2020-04-30 | ソニー株式会社 | 信号処理装置、信号処理方法、および、プログラム |
EP3651151A4 (en) * | 2017-07-05 | 2020-07-15 | Sony Corporation | SIGNAL PROCESSING DEVICE, SIGNAL PROCESSING METHOD AND PROGRAM |
US10917108B2 (en) | 2017-07-05 | 2021-02-09 | Sony Corporation | Signal processing apparatus and signal processing method |
JP7140119B2 (ja) | 2017-07-05 | 2022-09-21 | ソニーグループ株式会社 | 信号処理装置、信号処理方法、および、プログラム |
CN110800043B (zh) * | 2017-07-05 | 2023-10-20 | 索尼公司 | 信号处理设备、信号处理方法和程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0642619B2 (ja) | 補間的時間−離散フイルタ装置 | |
KR100611702B1 (ko) | 디지털 필터 장치 및 그 필터 처리 방법 | |
JP3066241B2 (ja) | ディジタルフィルタ及び同ディジタルフィルタを用いたオーバサンプリング型アナログ/ディジタル変換器 | |
JP2001188600A5 (ja) | ||
JP2008141470A (ja) | 1ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラム | |
JPH0681051B2 (ja) | デジタルアナログ変換方式 | |
JPS6060694A (ja) | 波形発生装置 | |
WO1999000898A1 (en) | Dc accurate multi-rate digital filter with common coefficient set and dc gain correction | |
JP5115732B2 (ja) | 信号処理装置及び方法、信号レベル表示装置 | |
JP2005168061A (ja) | 信号表現発生の方法および装置 | |
JP4203505B2 (ja) | 信号処理装置 | |
JPH08204506A (ja) | 補間回路および補間方式 | |
JPH06103825B2 (ja) | ストレ−ジ回路 | |
JPH06244678A (ja) | デジタルフィルタ回路 | |
JP4973154B2 (ja) | 演算処理装置、メモリアクセス方法、及びプログラム | |
JP3889738B2 (ja) | 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム | |
JP4907595B2 (ja) | 音響処理装置及び音響処理方法 | |
JP3258938B2 (ja) | デシメーションフィルタ | |
JPS5970308A (ja) | デイジタルフイルタ | |
JP3693995B2 (ja) | 信号変換方法 | |
JP3479999B2 (ja) | 波形データ発生装置 | |
JPH0741213Y2 (ja) | Firフィルタ | |
JP2003258647A (ja) | デジタルデータ処理装置,およびその方法 | |
JP3362796B2 (ja) | 楽音発生装置 | |
KR950003358B1 (ko) | 디지탈 필터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |