(57)【要約】【課題】  高い演算能力を用いることなく、１ビットのビットストリームをマルチビットデジタル信号に変換する。【解決手段】  演算対象候補更新処理部１は、入力ビットストリームから所定ビット数の演算対象候補ビット列を順次取り出す。メモリ３は、複数種類のビット列と、各ビット列にフィルタ処理用のフィルタ係数列を各々畳み込んで得られた複数種類の演算結果データとを対応付けるテーブル３１を記憶する。フィルタ処理部２は、テーブル３１を参照して、演算対象候補ビット列に含まれる１または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力する。【選択図】図１
2008141470.tif 000002
【特許請求の範囲】
【請求項１】
１ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、
内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる１または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段と
を具備することを特徴とするマルチビット変換装置。
【請求項２】
コンピュータを、
１ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、
内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる１または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。
【請求項３】
コンピュータを、
１ビットの入力ビットストリームからｍビット（ｍ≧２）ずつビット列を順次取り出し、１個のビット列を取り出す毎に、それまでに取り出した最新のｋビット（ｍ＜ｋ≦２ｍ）を演算対象候補ビット列とする演算対象候補更新手段と、
内容が異なった複数種類のｍビットのビット列と、これらのビット列の各々に対し、フィルタ処理用のｍ個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルから、前記演算対象候補ビット列に含まれ、要求される間引き率に応じて決定される個数のｍビットの演算対象ビット列の各々の内容に対応した１または複数の演算結果データを読み出し、フィルタ処理結果であるマルチビットデジタル信号として出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。
【請求項４】
コンピュータを、
１ビットの入力ビットストリームからｍビット（ｍ≧２）ずつビット列を順次取り出し、取り出した最新の２ｍビットを演算対象候補ビット列とする演算対象候補更新手段と、
内容が異なった複数のｍビットのビット列と、これらのビット列の各々に対し、フィルタ処理用のｍ個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける第１のテーブルと、１≦ｍａ＜ｍである各種のｍａに対応したテーブルであって、内容が異なった各種のｍａビットのビット列と、これらのｍａビットのビット列の各々に対し、前記ｍ個のフィルタ係数からなるフィルタ係数列から取り出した上位ｍａ個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける１または複数の第２のテーブルと、１≦ｍｂ＜ｍである各種のｍｂに対応したテーブルであって、内容が異なった各種のｍｂビットのビット列と、これらのｍｂビットのビット列の各々に対し、前記ｍ個のフィルタ係数からなるフィルタ係数列から取り出した下位ｍｂ個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付ける１または複数の第３のテーブルとを参照することにより、前記２ｍビットの演算対象候補ビット列に含まれ、要求される間引き率に応じて定まる個数のｍビットの演算対象ビット列に対するフィルタ処理結果を得る手段であって、
ａ．当該演算対象ビット列が前記演算対象候補である２ｍビットの前半ｍビットに属する部分のみからなる場合には、前記第１のテーブルから当該演算対象ビット列の内容に対応した演算結果データを読み出して、フィルタ処理結果であるマルチビットデジタル信号として出力し、
ｂ．当該演算対象ビット列が前記演算対象候補である２ｍビットの前半ｍビットに属する前半部分ビット列と後半ｍビットに属する後半部分ビット列とからなる場合には、前記１または複数の第２のテーブルのうち当該前半部分ビット列のビット長に対応したテーブルから当該前半部分ビット列の内容に対応した演算結果データを読み出すとともに、前記１または複数の第３のテーブルのうち当該後半部分ビット列のビット長に対応したテーブルから当該後半部分ビット列の内容に対応した演算結果データを読み出し、読み出した２つの演算結果データを加算し、フィルタ処理結果であるマルチビットデジタル信号として出力するフィルタ処理手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ΔΣ変調等により得られた１ビットのビットストリームをマルチビットデジタル信号に変換する装置およびプログラムに関する。
【背景技術】
【０００２】
周知の通り、ΔΣ変調により得られた１ビットのビットストリームは、原音波形の瞬時値を時間軸上における“１”または“０”の粗密により表現した時系列デジタル信号であり、そのままアナログローパスフィルタに通すことにより、元の原音波形を持ったアナログ信号に戻すことができ、使い勝手のよいデジタル信号である。このため、１ビットのビットストリームを取り扱うオーディオ再生装置やオーディオ記録装置が各種提供されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、各種の機器において、１ビットのビットストリームが表す原音波形を画面に表示したり、原音波形のレベルを測定する必要が生じる場合がある。その場合、１ビットのビットストリームをＰＣＭ（Pulse Code Modulation）サンプルなどのマルチビットデジタル信号に変換し、波形表示やレベル測定に用いるのが一般的である。また、オーディオ再生装置がマルチビットデジタル信号を音として再生する構成のものである場合、１ビットのビットストリームをマルチビットデジタル信号に変換してオーディオ再生装置に供給する必要がある。このような場合、例えば図１２に示すような周知のＦＩＲ（Finite Impulse Response；有限インパルス応答）フィルタにより、ＬＰＦ（Low Pass Filter）処理用のフィルタ係数列（図示の例ではフィルタ係数列ｂ０〜ｂｍ−１）を１ビットのビットストリームｘのビット列に畳み込んでマルチビットデジタル信号ｙを得るマルチビット変換が実施可能である。しかし、このマルチビット変換を実施するためには、周波数の高い入力ビットストリームを１ビットずつメモリに取り込んで所定ビット長のビット列を構成するビットシフトを繰り返し、このビットシフトの都度、ビット列にフィルタ係数列ｂ０〜ｂｍ−１を畳み込むための乗算処理および加算処理を行う必要がある。このようなマルチビット変換をパーソナルコンピュータのような演算能力に制約のある汎用のコンピュータに実行させることは困難である。
【０００４】
この発明は、以上説明した事情に鑑みてなされたものであり、高い演算能力を用いることなく、１ビットのビットストリームをマルチビットデジタル信号に変換することができる技術的手段を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、１ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる１または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段とを具備することを特徴とするマルチビット変換装置およびコンピュータをこのマルチビット変換装置として機能させるコンピュータプログラムを提供する。
かかる発明によれば、予め演算結果データの格納されたテーブルを参照することによりフィルタ処理結果を求めるので、高い演算能力を用いることなく、１ビットのビットストリームをマルチビットデジタル信号に変換することができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、この発明の実施の形態を説明する。
＜第１実施形態＞
図１はこの発明の第１実施形態であるマルチビット変換装置の構成を示すブロック図である。このマルチビット変換装置は、ΔΣ変調等により得られた１ビットの入力ビットストリームにＬＰＦ（Low Pass filter）処理およびデシメーション処理を施し、マルチビットのデジタル信号として出力する装置である。図１に示すように、本実施形態によるマルチビット変換装置は、入力ビットストリームから演算対象候補となるビット列を取り出す演算対象候補更新処理部１と、演算対象候補更新処理部１により取り出されたビット列を用いてＬＰＦ処理およびデシメーション処理を行うフィルタ処理部２とを有する。好ましい態様において、本実施形態によるマルチビット変換装置の実体は、例えばパーソナルコンピュータ等の汎用コンピュータにインストールされたプログラムであり、演算対象候補更新処理部１およびフィルタ処理部２は、このプログラムを構成するルーチンである。
【０００７】
演算対象候補更新処理部１には、記録媒体から読み出され、あるいはインターネット等を介して受信される１ビットの入力ビットストリームが与えられる。フィルタ処理部２がｍビットのビット列を処理単位としてＬＰＦ処理およびデシメーション処理を行う場合、演算対象候補更新処理部１は、入力ビットストリームからｍビット（ｍ≧２）ずつビット列を順次取り出し、１個のビット列を取り出す毎に、それまでに取り出した最新の２ｍビットを、演算対象候補ビット列として、フィルタ処理部２に引き渡す。さらに詳述すると、本実施形態における演算対象候補更新処理部１は、コンピュータのＲＡＭ等に設定された２個のｍビットレジスタ１１および１２を利用可能であり、入力ビットストリームの先頭からｍビットずつビット列を順次取り出し、このｍビットのビット列の取り出しを行う度に、レジスタ１２に記憶されていたｍビットをレジスタ１１に移動し、取り出したｍビットをレジスタ１２に格納する、という操作を繰り返す。そして、演算対象候補更新処理部１は、レジスタ１１および１２に記憶された２ｍビットの演算対象候補ビット列をフィルタ処理部２へ引き渡すのである。
【０００８】
フィルタ処理部２は、ＬＰＦ処理およびデシメーション処理を実行するに当たり、メモリ３に記憶されたテーブル３１を参照する。このテーブル３１は、ビットの値の組み合わせが異なった複数のｍビットのビット列と、ＬＰＦ処理のためのｍ個のフィルタ係数からなるフィルタ係数列をこれらのビット列に各々畳み込むことにより得られた各演算結果データとを対応付けるものである。
【０００９】
図２は、ｍ＝４である場合のテーブル３１の内容を例示するものである。この例では、入力ビットストリームの個々のビットについて“１”であれば「＋１」の重みを有し、“０”であれば「−１」の重みを有するものと解釈している。そして、ビット列の内容が“００００”の場合には−ｂ０−ｂ１−ｂ２−ｂ３の演算結果、ビット列の内容が“０００１”の場合には−ｂ０−ｂ１−ｂ２＋ｂ３の演算結果、…という具合に、ビットの値の組み合わせの異なった各種のビット列に対し、４個のフィルタ係数ｂ０〜ｂ３を畳み込んだ結果が各々演算結果データとしてテーブル３１に定義されている。
【００１０】
そして、フィルタ処理部２は、デシメーション処理を行うため、２ｍビットの演算対象候補ビット列の中からデシメーション処理に要求される間引き率に応じた個数のｍビットの演算対象ビット列を選択する。そして、フィルタ処理部２は、ＬＰＦ処理を行うため、選択した演算対象ビット列毎に、当該演算対象ビット列の内容に対応した演算結果データをテーブル３１から読み出して出力するテーブル参照処理２１を実行する。
【００１１】
図３はｍ＝４である場合について本実施形態の動作例を示すものである。ｍ＝４である場合、フィルタ処理部２は、レジスタ１１および１２に記憶された２ｍビット（＝８ビット）の演算対象候補ビット列を用いて、最大４個のサンプルｙ０〜ｙ３をフィルタ処理結果であるマルチビットデジタル信号として出力可能である。
【００１２】
要求される間引き率が４である場合（４サンプルに１サンプルの割合で出力し、他は間引く場合）、フィルタ処理部２は、図３（ａ）に示すように、レジスタ１１および１２に記憶された８ビットの演算対象候補ビット列ｘ７〜ｘ０の中から４ビットの演算対象ビット列ｘ３〜ｘ０を選択し、これに対応した演算結果データをテーブル３１から読み出し、サンプルｙ０として出力する。そして、他の３サンプルｙ１〜ｙ３を求めるための演算は行わない。
【００１３】
次に、要求される間引き率が２である場合（２サンプルに１サンプルの割合で出力し、他は間引く場合）、フィルタ処理部２は、図３（ｂ）に示すように、レジスタ１１および１２に記憶された８ビットの演算対象候補ビット列ｘ７〜ｘ０の中から各々４ビットの演算対象ビット列ｘ３〜ｘ０およびｘ５〜ｘ２を選択し、これらに各々対応した演算結果データをテーブル３１から読み出し、サンプルｙ０およびｙ２として出力する。そして、他の２サンプルｙ１およびｙ３を求めるための演算は行わない。
【００１４】
最後に、要求される間引き率が１である場合（すなわち、間引きをしない場合）、フィルタ処理部２は、図３（ｃ）に示すように、レジスタ１１および１２に記憶された８ビットの演算対象候補ビット列ｘ７〜ｘ０の中から各々４ビットの演算対象ビット列ｘ３〜ｘ０、ｘ４〜ｘ１、ｘ５〜ｘ２およびｘ６〜ｘ３を選択し、これらに各々対応した演算結果データをテーブル３１から読み出し、サンプルｙ０〜ｙ３として出力する。
以上、ｍ＝４である場合を例に説明したが、ｍが他の値である場合も同様である。
【００１５】
以上のように、本実施形態によれば、１ビットの入力ビットストリームにフィルタ処理を施してマルチビットデジタル信号に変換する際に、各種のビットの組み合わせのｍビットのビット列について予め算出された演算結果データのテーブルの中から、入力ビットストリームから取り出したｍビットのビット列に対応した演算結果データを読み出し、フィルタ処理結果であるマルチビットデジタル信号を生成するので、マルチビットデジタル信号を得るための演算の負担を軽くすることができるという効果がある。また、本実施形態によれば、フィルタ処理の際に各種の間引き率に対応したデシメーション処理を実行することができるという効果がある。
【００１６】
＜第２実施形態＞
上記第１実施形態において各種の間引き率でのマルチビットデジタル信号の出力を可能にするためには、２ｍビットの演算対象候補ビット列の中から各種のビット位置のｍビットの演算対象ビット列を選択する演算能力が必要であった。この発明の第２実施形態によるマルチビット変換装置は、そのようなビット選択を行うことなく、各種の間引き率のマルチビットデジタル信号を入力ビットストリームから生成するものである。
【００１７】
図４は本実施形態によるマルチビット変換装置の構成を示すブロック図である。この図において、演算対象候補更新処理部１の構成および処理内容は上記第１実施形態のものと同様である。本実施形態の上記第１実施形態に対する相違点は、フィルタ処理部２Ａの処理内容およびメモリ３Ａの記憶内容にある。
【００１８】
上記第１実施形態と同様、フィルタ処理部２Ａには、レジスタ１１および１２を介して、２ｍビットの演算対象候補ビット列が与えられる。フィルタ処理部２Ａは、この２ｍビットの演算対象候補ビット列に含まれ、要求される間引き率に応じて各々のビット位置が定まる１または複数のｍビットの演算対象ビット列に対するフィルタ処理結果であるマルチビットデジタル信号を生成する。
【００１９】
ここで、ｍビットの演算対象ビット列は、レジスタ１１のみに記憶されている場合もあれば（例えば前掲図３におけるサンプルｙ０の元となる演算対象ビット列ｘ３〜ｘ０）、レジスタ１１および１２に跨って記憶されている場合もあり得る（例えば前掲図３においてサンプルｙ１〜ｙ３の元となる演算対象ビット列ｘ４〜ｘ１、ｘ５〜ｘ２およびｘ６〜ｘ３）。
【００２０】
上記第１実施形態におけるフィルタ処理部２は、２ｍビットの演算対象候補ビット列の中からこれらのｍビットの演算対象ビット列を選択し、選択した演算対象ビット列に対応した演算結果データをメモリ３内のテーブル３１から読み出すテーブル参照処理２１を実行した。
【００２１】
これに対し、本実施形態におけるフィルタ処理部２Ａは、このような演算対象候補ビット列の中から演算対象ビット列を選択する操作を行うことなく、演算対象ビット列に対するフィルタ処理結果を演算する。このような演算を可能にするため、メモリ３Ａには複数のテーブル＃１〜＃ｎが記憶されている。これらのテーブル＃１〜＃ｎは、その内容から、以下の第１〜第３のテーブルに分類することができる。
【００２２】
＜＜第１のテーブル＞＞
第１のテーブルは、内容が異なった複数のｍビットのビット列と、これらのｍビットのビット列に対し、ｍ個のフィルタ係数からなるフィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるものである。具体的には上記第１実施形態におけるテーブル３１のようなテーブルである。メモリ３Ａには、この第１のテーブルが１個記憶されている。
【００２３】
＜＜第２のテーブル＞＞
第２のテーブルは、１≦ｍａ＜ｍである各種のｍａに対応したテーブルであって、内容が異なった各種のｍａビットのビット列と、これらのｍａビットのビット列に対し、ｍ個のフィルタ係数からなるフィルタ係数列から取り出した上位ｍａ個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ３Ａには、この第２のテーブルが１または複数記憶されている。第２のテーブルが何個必要であるかは、２ｍビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
【００２４】
＜＜第３のテーブル＞＞
第３のテーブルは、１≦ｍｂ＜ｍである各種のｍｂに対応したテーブルであって、内容が異なった各種のｍｂビットのビット列と、これらのｍｂビットのビット列に対し、ｍ個のフィルタ係数からなるフィルタ係数列から取り出した下位ｍｂ個のフィルタ係数からなる部分フィルタ係数列を畳み込むことにより得られた演算結果データとを対応付けるテーブルである。メモリ３Ａには、この第３のテーブルが１または複数記憶されている。第３のテーブルが何個必要であるかは、２ｍビットの演算対象候補ビット列から生成するマルチビットデジタル信号の最大サンプル数に依存する。
【００２５】
フィルタ処理部２Ａは、以上のテーブルを参照するテーブル参照処理２１Ａを実行するとともに、必要に応じて加算処理２２Ａを実行することにより、１または複数の演算対象ビット列に対応したフィルタ処理結果であるマルチビットデジタル信号を演算する。具体的には次の通りである。
【００２６】
ａ．当該演算対象ビット列が２ｍビットの演算対象候補ビット列の前半ｍビットに属する部分のみからなる場合（すなわち、レジスタ１１のみに記憶されている場合）には、第１のテーブルから当該演算対象ビット列の内容に対応した演算結果データを読み出して、フィルタ処理を経たマルチビットデジタル信号として出力する。
【００２７】
ｂ．当該演算対象ビット列が２ｍビットの演算対象候補ビット列の前半ｍビットに属する前半部分ビット列と後半ｍビットに属する後半部分ビット列とからなる場合（すなわち、レジスタ１１および１２に跨って記憶されている場合）には、１または複数の第２のテーブルのうち当該前半部分ビット列のビット長に対応したテーブルから当該前半部分ビット列（レジスタ１１に記憶された部分）の内容に対応した演算結果データを読み出すとともに、１または複数の第３のテーブルのうち当該後半部分ビット列のビット長に対応したテーブルから当該後半部分ビット列（レジスタ１２に記憶された部分）の内容に対応した演算結果データを読み出し、読み出した２つの演算結果データを加算し、フィルタ処理を経たマルチビットデジタル信号として出力する。
【００２８】
図５はｍ＝４である場合におけるフィルタ処理部２Ａの処理内容を例示する図である。また、図６はｍ＝４である場合における一部のテーブルの内容を例示する図である。以下、これらの図を参照し、本実施形態の動作を説明する。
【００２９】
ｍ＝４である場合、本実施形態におけるフィルタ処理部２Ａは、レジスタ１１および１２に記憶された２ｍビット（＝８ビット）の演算対象候補ビット列を用いることにより、マルチビットデジタル信号として最大４個のサンプルｙ０〜ｙ３をフィルタ処理結果として演算可能である。その際、４サンプルｙ０〜ｙ３のうちいずれを演算するかは、要求される間引き率により定まるが、間引き率と演算するサンプルとの関係は上記第１実施形態と同様である。
【００３０】
ｍ＝４である場合、メモリ３Ａには７個のテーブル＃１〜＃７が記憶される。各サンプルｙ０〜ｙ３を求めるために、いずれのテーブルを参照するかはサンプル間で異なる。図５には各サンプルｙ０〜ｙ３を求めるための演算内容が示されるとともに、それらの演算を実現するために参照するテーブルが示されている。
【００３１】
図５において、テーブル＃１は第１のテーブル、テーブル＃２、＃４および＃６はビット長ｍａ＝３、２、１に各々対応した第２のテーブル、テーブル＃３、＃５および＃７はビット長ｍｂ＝１、２、３に各々対応した第３のテーブルである。
【００３２】
図５に示すように、サンプルｙ０は、レジスタ１１に記憶された演算対象サンプル列ｘ３〜ｘ０にフィルタ係数列ｂ０〜ｂ３を畳み込むことにより得られる。一方、図６に示すように、メモリ３Ａ内のテーブル＃１では、演算対象ビット列ｘ３〜ｘ０の内容が“００００”である場合には−ｂ０−ｂ１−ｂ２−ｂ３、“０００１”の場合には−ｂ０−ｂ１−ｂ２＋ｂ３、…という具合に、内容が異なった各種の演算対象ビット列ｘ３〜ｘ０に対し、４個のフィルタ係数ｂ０〜ｂ３を畳み込んだ結果が演算結果データとして定義されている。そこで、フィルタ処理部２Ａは、このテーブル＃１の中から演算対象ビット列ｘ３〜ｘ０の内容に対応した演算結果データを読み出し（テーブル参照処理２１Ａ）、サンプルｙ０として出力する。
【００３３】
サンプルｙ１は、図５に示すように、レジスタ１１および１２に跨って記憶された演算対象サンプル列ｘ４〜ｘ１にフィルタ係数列ｂ０〜ｂ３を畳み込むことにより得られる。この畳み込み演算は、レジスタ１１に記憶された演算対象サンプル列の前半部分ｘ３〜ｘ１に対する上位３個のフィルタ係数ｂ１〜ｂ３の畳み込み演算と、レジスタ１２に記憶された演算対象サンプル列の後半部分ｘ０に対する下位１個のフィルタ係数ｂ０の畳み込み演算（この場合は単なる乗算）とに分解することができる。
【００３４】
一方、図６に示すように、ビット長ｍａ＝３に対応した第２のテーブルであるテーブル＃２には、ビット列ｘ３〜ｘ０の内容が“０００Ｘ”（Ｘは“１”であっても“０”であっても構わないDon't Care値を意味する。以下、同様である。）である場合には−ｂ１−ｂ２−ｂ３、“００１Ｘ”の場合には−ｂ１−ｂ２＋ｂ３、…という具合に、内容が異なった複数のビット列ｘ３〜ｘ１に対し、３個のフィルタ係数ｂ１〜ｂ３を畳み込んだ結果が演算結果データとして定義されている。また、ビット長ｍｂ＝１に対応した第３のテーブルであるテーブル＃３には、ビット列ｘ７〜ｘ４の内容が“ＸＸＸ０”である場合には−ｂ０、“ＸＸＸ１”の場合には＋ｂ０という具合に、内容が異なった複数のビット列ｘ４（この場合はビットｘ４）に対し、１個のフィルタ係数ｂ０を畳み込んだ結果（この場合は単なる乗算結果）が演算結果データとして定義されている。
【００３５】
そこで、フィルタ処理部２Ａは、テーブル＃２の中から演算対象ビット列ｘ４〜ｘ１の前半部分ビット列ｘ３〜ｘ１の内容に対応した演算結果データを読み出すとともに、テーブル＃３の中から演算対象ビット列ｘ４〜ｘ１の後半部分ビット列ｘ４の内容に対応した演算結果データを読み出し（テーブル参照処理２１Ａ）、読み出した２つの演算結果データを加算し（加算処理２２Ａ）、マルチビットデジタル信号のサンプルｙ１として出力する。
【００３６】
他のサンプルｙ２およびｙ３についても同様であり、フィルタ処理部２Ａは、第２のテーブルおよび第３のテーブルを参照するテーブル参照処理２１Ａと、このテーブル参照処理２１Ａにより得られる２つの演算結果データを加算する加算処理２２Ａとを実行することにより各サンプルを算出する。
【００３７】
本実施形態においても上記第１実施形態と同様の効果が得られる。また、本実施形態には、２ｍビットの演算対象候補ビット列からｍビットの演算対象ビット列を選択する演算能力を利用することができない状況下においても実施が可能であるという利点がある。
【００３８】
以上、この発明の第１および第２実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば次の通りである。
【００３９】
（１）上記第１および第２実施形態では、説明を簡単にするため、ｍ＝４である場合の実施形態を取り上げたが、この発明は、ｍが８、１６といった他の値をとる場合にも勿論実施可能である。図７は、ｍ＝８である場合において、演算対象ビット列から演算結果データを得るためのテーブル（上記第１実施形態におけるテーブル３１、第２実施形態の第１のテーブルであるテーブル＃１に相当）の内容を例示するものである。
【００４０】
（２）上記第１および第２実施形態において、ｍの値が大きい場合、演算対象ビット列から演算結果データを得るためのテーブルのエントリ数が大きくなるため（テーブル３１および＃１に相当するテーブルのエントリ数は２ｍとなる）、マルチビット変換装置が大規模化する可能性がある。そこで、演算対象ビット列を前半ｍ／２ビットのビット列と後半ｍ／２ビットのビット列とに分け、メモリには、前半ビット列に対応した演算結果データのテーブルと、後半ビット列に対応した演算結果データのテーブルとを記憶させてもよい。図８は、ｍ＝８である場合における後半ビット列に対応した演算結果データのテーブル、図９は、前半ビット列に対応した演算結果データのテーブルを例示するものである。この場合、ある演算対象ビット列に対応したサンプルを演算する場合には、両テーブルを参照して、演算対象ビット列の前半ビット列に対応した演算結果データと後半ビット列に対応した演算結果データを読み出し、読み出した２つの演算結果データを加算すればよい。
【００４１】
（３）上記第１および第２実施形態では、複数種類の間引き率のうち要求された間引き率のマルチビットデジタル信号を入力ビットストリームから生成するようにしたが、固定された１種類の間引き率のマルチビットデジタル信号を入力ビットストリームから生成するマルチビット変換装置に本発明を適用してもよい。この場合、１ビットの入力ビットストリームから相互にオーバラップした所定ビット長の演算対象候補ビット列を順次取り出す演算対象候補更新手段と、内容が異なった複数種類のビット列と、これらのビット列の各々にフィルタ処理用のフィルタ係数列を各々畳み込むことにより得られた複数種類の演算結果データとを対応付けるテーブルを参照することにより、前記演算対象候補ビット列に含まれる１または複数の演算対象ビット列に対応したフィルタ処理結果を演算し、フィルタ処理結果を示すマルチビットデジタル信号を出力するフィルタ処理手段とをマルチビット変換装置に設け、演算対象候補ビット列に含める演算対象ビット列の個数を所望の間引き率に対応した個数とすればよい。
【００４２】
（４）上記第１実施形態では、演算対象ビット列のビット長がｍビットである場合に演算対象候補ビット列のビット長を２ｍビットにした。しかし、図３にも示されているように、例えばｍ＝４である場合において間引き率４および２の各条件でマルチビットデジタル信号を得るためには演算対象候補ビット列のビット長は６ビットあれば十分であり、間引き率４、２および１の各条件でマルチビットデジタル信号を得る場合にも演算対象候補ビット列のビット長は７ビットあれば十分である。従って、演算対象候補ビット列のビット長は、必ずしも上記第１実施形態において示したように２ｍビットである必要はなく、ｍ＜ｋ≦２ｍの範囲内において、実現する間引き率に適したビット長ｋを選択すればよい。
【００４３】
（５）上記第２実施形態において、レジスタ１１に記憶されたｍビットのデータをアドレスとして第２のテーブルに直接与え、レジスタ１２に記憶されたｍビットのデータをアドレスとして第３のテーブルに直接与えることができるようにするため、第２および第３のテーブルとして２ｍ個のエントリを持ったテーブルを用い、各テーブルに記憶させる演算結果データに冗長性を持たせた。しかし、このような冗長性を排除した構成としてもよい。具体的には、ビット長ｍａに対応した第２のテーブルには２ｍａ個のエントリを設け、内容が異なったビット長ｍａの各部分ビット列に対応した演算結果データを記憶させる。また、ビット長ｍｂに対応した第３のテーブルには２ｍｂ個のエントリを設け、内容が異なったビット長ｍｂの各部分ビット列に対応した演算結果データを記憶させる。そして、演算対象ビット列の前半のビット長ｍａの部分ビット列に対応した演算結果データを得る場合には、レジスタ１１に記憶されたｍビットのデータのうち上位ｍａビットの部分をアドレスとして、ビット長ｍａに対応した第２のテーブルに与える。また、演算対象ビット列の後半のビット長ｍｂの部分ビット列に対応した演算結果データを得る場合には、レジスタ１２に記憶されたｍビットのデータのうち下位ｍｂビットの部分をアドレスとして、ビット長ｍｂに対応した第２のテーブルに与えるのである。この態様によれば、第２および第３のテーブルの記憶内容の冗長性を排除し、テーブル全体を小規模化することができる。
【００４４】
（６）上記第１および第２実施形態では、ＬＰＦ処理としてＦＩＲフィルタ処理を行うマルチビット変換装置に本発明を適用したが、本発明は、ＬＰＦ処理として、ＩＩＲ（Infinite Impulse Response）フィルタ処理を実行するマルチビット変換装置にも適用可能である。以下説明する実施形態では、図１０に例示する１次のＩＩＲフィルタを、マルチビット変換およびデシメーション処理のためのＦＩＲフィルタを前処理として含むフィルタ処理に等価変形し、ＦＩＲフィルタの部分に上記第１実施形態または第２実施形態において開示した演算方法を適用する。
【００４５】
まず、図１０に例示する１次のＩＩＲフィルタにおいて、入力サンプル列ｘ（ｎ）および出力サンプル列ｙ（ｎ）は、次式のように表される。
ｙ（ｎ）＝ｘ（ｎ）＋ａ・ｙ（ｎ−１）                      ……（１）
この式（１）を再帰的に代入すると、次式が得られる。
ｙ（ｎ）＝ｘ（ｎ）＋ａ・ｘ（ｎ−１）＋ａ２・ｘ（ｎ−２）＋
…＋ａｍ・ｘ（ｎ−ｍ）＋…                        ……（２）
【００４６】
ここで、出力サンプル列ｙ（ｎ）について間引き率８のデシメーション処理を施したサンプル列をｙ（ｉ）とすると、そのようなサンプル列ｙ（ｉ）は次のようにして得ることができる。
【００４７】
まず、次式に示すｕ（ｉ）を想定する。
ｕ（ｉ）＝ｘ（ｉ）＋ａ・ｘ（ｉ−１）＋ａ２・ｘ（ｉ−２）＋
…＋ａ７・ｘ（ｉ−７）                            ……（３）
すると、サンプル列ｙ（ｉ）は、次式のように表すことができる。
ｙ（ｉ）＝ｕ（ｉ）＋ａ８・ｕ（ｉ−１）＋ａ１６・ｕ（ｉ−２）＋
…＋ａ８ｍ・ｕ（ｉ−ｍ）＋…                        ……（４）
【００４８】
この式（４）に対し、上記式（１）から式（２）への変形と逆の変形を施す。その際、サンプル列ｙ（ｉ）のサンプリング周波数は、サンプル列ｙ（ｎ）のサンプリング周波数ｆｓの１／８であるので、混乱を避けるためにｙをｖに変更する。この結果、次式が得られる。
ｖ（ｎ）＝ｕ（ｎ）＋ａ８・ｖ（ｎ−１）                        ……（５）
【００４９】
この式（５）において、ｕ（ｎ）は式（３）に示すものであるから、図１１に示すデシメーション処理機能を有する８タップのＦＩＲフィルタ１０１の出力サンプルと考えることができる。また、式（５）自体は、図１１において、ｕ（ｎ）を入力サンプル列とし、ｖ（ｎ）を出力サンプル列とするＩＩＲフィルタ１０２と考えることができる。
【００５０】
このように、図１０のＩＩＲフィルタに間引き率８のデシメーション処理を導入したフィルタは、図１１に示すデシメーション処理機能を有するＦＩＲフィルタ１０１とＩＩＲフィルタ１０２とを組み合わせたものに等価変形可能である。この実施形態は、デシメーション処理機能を有するＦＩＲフィルタ１０１に対し、上記第１実施形態または第２実施形態において開示した演算方法を適用するものである。この実施形態では、１種類の間引き率でのマルチビット変換のみが可能であるが、その際、上記第１実施形態および第２実施形態において開示したテーブル参照によりフィルタ処理結果を求めるので演算が少なくて済むという利点がある。
【００５１】
（７）この発明をコンピュータプログラムとして実施する場合において、各種のビット列と演算結果データとを対応付けるテーブルは、コンピュータプログラムとは別体のものとして構成してもよく、コンピュータプログラムの一部としてもよい。前者の場合において、テーブルは、コンピュータプログラムとは独立して流通させてもよい。
【図面の簡単な説明】
【００５２】
【図１】この発明の第１実施形態であるマルチビット変換装置の構成を示すブロック図である。
【図２】同実施形態においてビット列と演算結果データとを対応付けるテーブルの内容を例示する図である。
【図３】ｍ＝４である場合における同実施形態の動作例を示す図である。
【図４】この発明の第２実施形態であるマルチビット変換装置の構成を示すブロック図である。
【図５】ｍ＝４である場合における同実施形態の動作例を示す図である。
【図６】同実施形態においてビット列と演算結果データとを対応付ける一部のテーブルの内容を例示する図である。
【図７】ｍ＝８である場合について、ビット列と演算結果データとを対応付けるテーブルの内容を例示する図である。
【図８】ｍ＝８である場合におけるテーブルの変形例を示す図である。
【図９】ｍ＝８である場合におけるテーブルの変形例を示す図である。
【図１０】１次のＩＩＲフィルタの構成を例示するブロック図である。
【図１１】上記ＩＩＲフィルタに間引き率８のデシメーション処理を導入したフィルタを、デシメーション処理機能を有するＦＩＲフィルタとＩＩＲフィルタとの組み合わせによって表現した構成を示すブロック図である。
【図１２】１ビットのビットストリームをマルチビットデジタル信号に変換するための手段として用いられるＦＩＲフィルタの構成例を示す図である。
【符号の説明】
【００５３】
１……演算対象候補更新処理部、２，２Ａ……フィルタ処理部、３，３Ａ……メモリ、２１，２１Ａ……テーブル参照処理、２２Ａ……加算処理、３１，＃１〜＃ｎ……テーブル。
【図１】
2008141470.tif 000003
【図２】
2008141470.tif 000004
【図３】
2008141470.tif 000005
【図４】
2008141470.tif 000006
【図５】
2008141470.tif 000007
【図６】
2008141470.tif 000008
【図７】
2008141470.tif 000009
【図８】
2008141470.tif 000010
【図９】
2008141470.tif 000011
【図１０】
2008141470.tif 000012
【図１１】
2008141470.tif 000013
【図１２】
2008141470.tif 000014