(57)【要約】【課題】新たな処理を開始する際に発生するノイズを防止する。【解決手段】データ用ＲＡＭ７４の一部の記憶領域にデータ信号が記憶される。制御部７１は制御信号ＣＴＬの論理レベルが処理の無効を示す「０」になると、選択信号ＳＥＬの論理レベルを「０」に設定する。選択回路７６は選択信号ＳＥＬの論理レベルが「０」の場合に、入力データ信号Ｄin及び出力データ信号Ｄoutのデータ値を「０」に置換してデータ用ＲＡＭ７４に書き込む。演算部７２はデータ用ＲＡＭ７４の一部の記憶領域からデータ信号を読み出して、これに係数用ＲＡＭ７３から読み出した係数を乗算し、乗算結果を加算して出力データ信号Ｄoutを生成する。【選択図】図３
2008061053.tif 000002
【特許請求の範囲】
【請求項１】
入力データ信号にフィルタ特性を付与して出力データ信号を生成する信号処理装置において、
時系列に並ぶ複数個の入力データ信号及び複数個の出力データ信号のうち少なくとも一方をデータ信号として複数の記憶領域の各々に記憶する記憶手段と、
前記記憶手段の複数の記憶領域から読み出した前記データ信号に演算を施して前記出力データ信号を生成する演算手段と、
前記入力データ信号及び前記出力データ信号のうち少なくとも一方を前記記憶手段の前記複数の記憶領域に所定の順序で書き込む書込手段と、
所定の場合に、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御する制御手段と、
を備えた信号処理装置。
【請求項２】
前記制御手段は、前記演算手段の演算が無効である場合に、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記制御手段は、前記演算手段の演算が無効から有効に遷移しても前記記憶手段の前記複数の記憶領域の全てについてデータ値としてゼロが書き込まれるまで、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することを特徴とする請求項１又は２に記載の信号処理装置。
【請求項４】
前記フィルタ特性はＦＩＲフィルタ特性であって、
前記書込手段は、前記入力データ信号を前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込み、
前記制御手段は、前記演算手段の演算を無効とする場合に、前記入力データ信号についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御する、
ことを特徴とする請求項１乃至３のうちいずれか１項に記載の信号処理装置。
【請求項５】
前記フィルタ特性はＩＩＲフィルタ特性であって、
前記書込手段は、前記出力データ信号を前記記憶手段の前記所定の記憶領域に書き込み、
前記制御手段は、前記演算手段の演算を無効とする場合に、前記出力データ信号についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御する、
ことを特徴とする請求項１乃至３のうちいずれか１項に記載の信号処理装置。
【請求項６】
複数の記憶領域を有する記憶手段を用いて、入力データ信号にフィルタ特性を付与して出力データ信号を生成する信号処理方法において、
時系列に並ぶ複数個の入力データ信号及び複数個の出力データ信号のうち少なくとも一方をデータ信号として前記記憶手段の複数の記憶領域に記憶し、
前記記憶手段の複数の記憶領域から読み出した前記データ信号に演算を施して前記出力データ信号を生成し、
前記データ信号に対する演算を有効とする場合には、前記入力データ信号及び前記出力データ信号のうち少なくとも一方を前記記憶手段の前記複数の記憶領域に所定の順序で書き込み、
前記データ信号に対する演算を無効とする場合には、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込む、
ことを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データ信号に対してフィルタ特性を付与する信号処理を行う信号処理装置に関する。
【背景技術】
【０００２】
デジタルシグナルプロセッサ（ＤＳＰ）は、音声信号などの離散時間の信号に対して残響の付与やイコライザ特性を与えるフィルタ処理を行う信号処理装置に用いられる。信号処理装置は、アナログ信号をサンプリングして得られたデジタル信号を高速のマイクロプロセッサによってプログラム処理するものであり、演算部、プログラムメモリ、及びデータメモリを備える。プログラムメモリには演算部を制御するための制御プログラムが記憶されており、データメモリには演算に用いられるデータ信号が記憶されている。演算部はデータメモリからデータ信号を読み出して演算を実行して出力データ信号を生成する。
この信号処理装置では、制御プログラムを書き換えることにより異なるフィルタ特性を実現することができる。しかし、制御プログラムを書き換えた場合、データメモリに前の制御プログラムによって処理されたデータ信号が残っていると、新たな処理の最初にそのデータ信号が読み出されノイズの原因となっていた。
ここで、データメモリに記憶されたデータ信号を全てクリアすれば、ノイズを防止することができるが、クリアに時間がかかる。さらに、データメモリの一部の記憶領域に当該信号処理のデータ信号を割り当て、データメモリの他の記憶領域に他の処理のデータ信号を割り当てる場合には、全体をクリアすることができない。この問題を解決するために、特許文献１には、新たな処理の開始から所定時間が経過するまでの期間において、データメモリから読み出したデータ信号の替わりに特定値を演算部に供給する技術が開示されている。
【特許文献１】特許２６２６３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、同じ制御プログラムを用いた処理において、所定期間だけ入力データ信号に対する処理を実行して、その後、処理を中止し、再び新たな入力データ信号に対して処理を実行する場合がある。このような場合にも、データメモリに記憶されているのは、以前の入力データ信号に対するデータ信号であるので、新たな処理の最初にそのデータ信号が読み出されノイズの原因となる。このため、特許文献１に開示された技術を適用して、新たな処理の開始から所定時間が経過するまでの期間において、データメモリから読み出したデータ信号の替わりに特定値を演算部に供給することが考えられる。
【０００４】
しかしながら、従来の技術では、新たな処理の開始から所定時間が経過するまでは、フィルタ処理を実行することができない。特に、ＩＩＲ（Infinite  Impulse  Response）フィルタでは出力データ信号を入力にフィードバックする経路があるため、以前の入力データ信号の影響が長時間に及ぶといった問題がある。
本発明は、以上の事情に鑑みてなされたものであり、新たな処理の開始からノイズの発生を抑制するといった課題の解決を目的としている。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、本発明に係る信号処理装置は、入力データ信号にフィルタ特性を付与して出力データ信号を生成するものであって、時系列に並ぶ複数個の入力データ信号及び複数個の出力データ信号のうち少なくとも一方をデータ信号として複数の記憶領域の各々に記憶する記憶手段と、前記記憶手段の複数の記憶領域から読み出した前記データ信号に演算を施して前記出力データ信号を生成する演算手段と、前記入力データ信号及び前記出力データ信号のうち少なくとも一方を前記記憶手段の前記複数の記憶領域に所定の順序で書き込む書込手段と、所定の場合に、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御する制御手段とを備える。
【０００６】
この発明によれば、記憶手段の複数の記憶領域にはデータ信号が記憶されるが、所定の場合には、書き込むべき信号のデータ値をゼロに置換して書き込みを実行する。これにより、記憶手段の複数の記憶領域にはゼロが順次書き込まれる。したがって、記憶手段全体をクリアする必要がなく、記憶手段の一部を上述した複数の記憶領域として用い、記憶手段の他部を他の処理に用いることができる。さらに、データ値をゼロに置換するだけなので、処理を大幅に簡素化することができる。
【０００７】
また、制御手段の好ましい態様としては、前記制御手段は、前記演算手段の演算が無効である場合に、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することが望ましい。この場合には、演算手段の演算が無効となっている期間において、処理の再開に備えて記憶手段の記憶内容をゼロに更新するので、演算手段の演算が無効から有効に遷移したときに、以前の処理に用いたデータ信号に起因するノイズの発生を抑制することが可能となる。なお、データ値をゼロに置換するのは、前記演算手段の演算が無効とされる期間の一部又は全部で実行すればよいが、前記演算手段の演算が有効から無効に遷移した直後から、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することがより一層望ましい。この場合には、演算手段の演算が有効から無効に遷移した直後からデータ値をゼロに置換して記憶手段に書き込むので、無効とされる期間が短時間であっても記憶手段の記憶内容をゼロに更新することが可能となる。
【０００８】
さらに、制御手段の好ましい態様としては、前記制御手段は、前記演算手段の演算が無効から有効に遷移しても前記記憶手段の前記複数の記憶領域の全てについてデータ値としてゼロが書き込まれるまで、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することが望ましい。この場合には、演算手段の演算が無効から有効に遷移しても複数の記憶領域にデータ値がゼロでないものがあれば、ゼロの書き込みを継続するので、ノイズの発生を確実に防止することができる。
【０００９】
また、上述した信号処理装置において、前記フィルタ特性はＦＩＲフィルタ特性であって、前記書込手段は、前記入力データ信号を前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込み、前記制御手段は、前記演算手段の演算を無効とする場合に、前記入力データ信号についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することが好ましい。ＦＩＲフィルタにおいては、時系列に並ぶ複数個の入力データ信号に演算を施して出力データ信号を生成するところ、この発明によれば、演算を無効とする場合に、入力データ信号についてデータ値をゼロに置換して複数の記憶領域に書き込むので、以前の処理に用いたデータ信号に起因するノイズの発生を抑制することが可能となる。
【００１０】
また、上述した信号処理装置において、前記フィルタ特性はＩＩＲフィルタ特性であって、前記書込手段は、前記出力データ信号を前記記憶手段の前記所定の記憶領域に書き込み、前記制御手段は、前記演算手段の演算を無効とする場合に、前記出力データ信号についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むように前記書込手段を制御することが好ましい。ＩＩＲフィルタにおいては、時系列に並ぶ複数個の出力データ信号に演算を施して出力データ信号を生成するところ、この発明によれば、演算を無効とする場合に、出力データ信号についてデータ値をゼロに置換して複数の記憶領域に書き込むので、以前の処理に用いたデータ信号に起因するノイズの発生を抑制することが可能となる。
【００１１】
次に、本発明に係る信号処理方法は、複数の記憶領域を有する記憶手段を用いて、入力データ信号にフィルタ特性を付与して出力データ信号を生成するものであって、時系列に並ぶ複数個の入力データ信号及び複数個の出力データ信号のうち少なくとも一方をデータ信号として前記記憶手段の複数の記憶領域に記憶し、前記記憶手段の複数の記憶領域から読み出した前記データ信号に演算を施して前記出力データ信号を生成し、前記データ信号に対する演算を有効とする場合には、前記入力データ信号及び前記出力データ信号のうち少なくとも一方を前記記憶手段の前記複数の記憶領域に所定の順序で書き込み、前記データ信号に対する演算を無効とする場合には、前記入力データ信号及び前記出力データ信号のうち少なくとも一方についてデータ値をゼロに置換して前記記憶手段の前記複数の記憶領域に前記所定の順序で書き込むことを特徴とする。
この発明によれば、演算が無効となっている期間において、処理の再開に備えて記憶手段の記憶内容をゼロに更新するので、演算が無効から有効に遷移したときに、以前の処理に用いたデータ信号に起因するノイズの発生を抑制することが可能となる。また、記憶手段全体をクリアする必要がなく、記憶手段の一部を上述した複数の記憶領域として用い、記憶手段の他部を他の処理に用いることができる。さらに、データ値をゼロに置換するだけなので、処理を大幅に簡素化することができる。
【発明を実施するための最良の形態】
【００１２】
＜１．実施形態＞
図１は本発明の信号処理装置を備えた電子機器の主要部の構成を示すブロック図である。この電子機器１００は、例えば、携帯電話機である。ＣＰＵ２０は、電子機器１００全体を制御する制御中枢として機能する。ＲＡＭ（Random  Access  Memory）４０はＣＰＵ２０のワークエリアとして機能し、さらに、ダウンロードした着信音や楽曲のデータなどが記憶されている。入力インターフェース１０は、外部機器とのデータの授受を行う。ＲＯＭ（Read  Only  Memory）３０には電子機器１００を制御するためのプログラムなどが記憶されている。操作パネル５０は利用者の操作を受け付ける手段であって、例えば、電話番号を入力するためのボタンや画面をスクロールさせるためのボタンが該当する。
【００１３】
楽音合成回路６０は、同時に複数の楽音を発生することが可能である。例えば、８〜１６の発音チャンネルを備えており、ＣＰＵ２０から伝達されたキーオン信号やキーコードに基づいて楽音信号を形成する。効果付与回路７０は発音チャンネルと同数設けられており、形成された楽音信号の各々について別個の効果を付与することができる。効果を付与された楽音信号はサウンドシステム８０に入力され増幅されたのちスピーカ９０から出力される。
【００１４】
ＣＰＵ２０は、効果付与回路７０の処理を有効にする有効期間において「１」となり、その処理を無効にする無効期間において「０」となる制御信号ＣＴＬを供給する。効果付与回路７０は、制御信号ＣＴＬの論理レベルが「１」のとき入力データ信号Ｄinに対して信号処理を実行し、その論理レベルが「０」のとき入力データ信号Ｄinに対して信号処理を停止する。なお、有効・無効はあくまで入力データ信号Ｄinに対する信号処理であって、無効期間において効果付与回路７０が全ての処理を停止するのではない。
【００１５】
図２に効果付与回路７０で実現されるデジタルフィルタの一例を示す。このフィルタは、６個の遅延回路Ｚ１〜Ｚ６、係数Ｇ０〜Ｇ６を乗算する７個の乗算器Ａ０〜Ａ６、及び加算器ＡＤＤを備える。このうち、遅延回路Ｚ１〜Ｚ３、乗算器Ａ０〜Ａ３、及び加算器ＡＤＤは、ＦＩＲ（Finite  Impulse  Response）フィルタを構成する一方、遅延回路Ｚ４〜Ｚ６、乗算器Ａ４〜Ａ６、及び加算器ＡＤＤは、ＩＩＲフィルタを構成する。ＦＩＲフィルタでは、入力データ信号Ｄinが遅延回路Ｚ１〜Ｚ３によって順次遅延され、データ信号Ｄ１〜Ｄ３が各々出力される。一方、ＩＩＲフィルタでは出力データ信号Ｄoutが順次遅延されデータ信号Ｄ４〜Ｄ６が出力される。
【００１６】
図３は効果付与回路７０の構成を示すブロック図である。効果付与回路７０は、全体を制御する制御部７１、係数とデータに基づいて演算を実行する演算部７２、係数Ｇ０〜Ｇ６を記憶した係数用ＲＡＭ７３、データ信号Ｄ１〜Ｄ６を記憶するデータ用ＲＡＭ７４、制御プログラムを記憶するプログラム用ＲＡＭ７５、及び選択回路７６を備える。
【００１７】
制御部７１は、プログラム用ＲＡＭ７５から読み出したプログラムに従って効果付与回路７０を制御する。この例では、図２に示すデジタルフィルタを実現するものとする。具体的には、制御部７１は、演算部７２に対してコマンドＣを発行し、係数用ＲＡＭ７３及びデータ用ＲＡＭ７４に対する読み出し及び書き込みを制御し、さらに選択信号ＳＥＬを生成する。選択回路７６は、選択信号ＳＥＬが「１」のとき演算部７２から供給される入力データ信号Ｄin及び出力データ信号Ｄoutを選択してデータ用ＲＡＭ７４に書き込み、選択信号ＳＥＬが「０」のとき演算部７２から供給される入力データ信号Ｄin及び出力データ信号Ｄoutの替わりに「０」を選択してデータ用ＲＡＭ７４に書き込む。制御部７１は制御信号ＣＴＬが有効期間を示す場合に選択信号ＳＥＬを「１」に設定し、制御信号ＣＴＬが無効期間を示す場合に選択信号ＳＥＬを「０」に設定する。選択回路７６は、入力データ信号Ｄin及び出力データ信号Ｄoutをデータ用ＲＡＭ７４の複数の記憶領域Ｍ１〜Ｍ６（図４参照）に所定の順序で書き込む手段として機能し、制御部７１は、入力データ信号Ｄin及び出力データ信号Ｄoutについてデータ値をゼロに置換してデータ用ＲＡＭ７４の複数の記憶領域Ｍ１〜Ｍ６に所定の順序で書き込むように選択回路７６を制御する手段として機能する。
【００１８】
係数用ＲＡＭ７３には係数Ｇ０〜Ｇ６が記憶されており、データ用ＲＡＭ７４にはデータ信号Ｄ１〜Ｄ６が記憶される。図４にデータ用ＲＡＭ７４の記憶領域を示す。この例では、記憶領域Ｍ１〜Ｍ６がデータ信号Ｄ１〜Ｄ６を記憶するために割り当てられる。図２に示すデジタルフィルタの遅延回路Ｚ１〜Ｚ３は、データ用ＲＡＭ７４に入力データ信号Ｄinを書き込んで遅延時間が経過した後に読み出すことによって実現され、遅延回路Ｚ４〜Ｚ６は、データ用ＲＡＭ７４に出力データ信号Ｄoutを書き込んで遅延時間が経過した後に読み出すことによって実現される。この例において遅延回路Ｚ１〜Ｚ６の遅延時間は入力データ信号Ｄinの１サンプリング期間Ｔｓである。
【００１９】
時刻ｔａにおいて入力データ信号Ｄin[1]と記憶領域Ｍ１〜Ｍ６から読み出されたデータ信号Ｄ１〜Ｄ６に基づいて、出力データ信号Ｄout[1]が生成される。次に、時刻ｔｂにおいて、データ信号Ｄ３が書き込まれていた記憶領域Ｍ３に入力データ信号Ｄin[1]が書き込まれる共にデータ信号Ｄ６が書き込まれていた記憶領域Ｍ６に出力データ信号Ｄout[1]が書き込まれる。そして、時刻ｔａから１サンプリング期間Ｔｓが経過して時刻ｔｃに至ると、記憶領域Ｍ１のデータ信号Ｄ１はＤ２に、記憶領域Ｍ２のデータ信号Ｄ２はＤ３に、記憶領域Ｍ３の入力データ信号Ｄin[1]はデータ信号Ｄ１に、記憶領域Ｍ４のデータ信号Ｄ４はＤ５に、記憶領域Ｍ５のデータ信号Ｄ５はＤ６に、記憶領域Ｍ６の出力データ信号Ｄoutはデータ信号Ｄ４に、各々遷移する。
【００２０】
時刻ｔｃでは、入力データ信号Ｄin[2]とデータ信号Ｄ１〜Ｄ６とに基づいて、出力データ信号Ｄout[2]が生成される。この後、データ信号Ｄ３が書き込まれていた記憶領域Ｍ２に入力データ信号Ｄin[2]が書き込まれる共にデータ信号Ｄ６が書き込まれていた記憶領域Ｍ５に出力データ信号Ｄout[2]が書き込まれる（時刻ｔｄ）。時刻ｔｅでは、入力データ信号Ｄin[3]とデータ信号Ｄ１〜Ｄ６とに基づいて、出力データ信号Ｄout[3]が生成される。この後、データ信号Ｄ３が書き込まれていた記憶領域Ｍ１に入力データ信号Ｄin[3]が書き込まれる共にデータ信号Ｄ６が書き込まれていた記憶領域Ｍ４に出力データ信号Ｄout[3]が書き込まれる（時刻ｔｅ）。
入力データ信号Ｄinを書き込む記憶領域はＭ３→Ｍ２→Ｍ１→Ｍ３…といったように所定の順序で遷移し、出力データ信号Ｄoutを書き込む記憶領域も、Ｍ６→Ｍ５→Ｍ４→Ｍ６…といったように所定の順序で遷移する。このようにデータ用ＲＡＭ７４に割り当てられた記憶領域Ｍ１〜Ｍ６はリングバッファとして機能する。
【００２１】
演算部７２は、図５に示す処理ユニットＵを備える。この処理ユニットＵは、乗算器７２１、加算器７２２、及びレジスタ７２３を備える。乗算器７２１には、データ信号Ｄｉ及び係数Ｇｉが供給され乗算が実行される。「ｉ」は０〜６の整数である。なお、データ信号Ｄ０は入力データ信号Ｄinである。加算器７２２は、乗算器７２１の出力データとレジスタ７２３の出力データを加算してレジスタ７２３に記憶させる。以上の構成によって、演算部７２は積和算を実行することができる。
【００２２】
次に、効果付与回路７０の動作を説明する。図６は、効果付与回路７０の動作を示すフローチャートである。まず、制御部７１は、制御信号ＣＴＬの論理レベルが「１」であるか否かを判定する（ステップＳ１）。制御信号ＣＴＬの論理レベルが「１」であるならば、制御部７１は、入力データ信号Ｄin及び出力データ信号Ｄoutをデータ用ＲＡＭ７４に書き込む（ステップＳ２）。このとき制御部７１は選択信号ＳＥＬの論理レベルを「１」とし、選択回路７６は演算部７２から供給される入力データ信号Ｄin及び出力データ信号Ｄoutをデータ用ＲＡＭ７４の所定の記憶領域に書き込む。
【００２３】
次に、制御部７１は、変数ｉ及びＹを「０」に設定する（ステップＳ３）。なお、変数Ｙは、図５に示すレジスタ７２３の出力データ値である。このため、ステップＳ３において、制御部７１はレジスタ７２３の記憶内容をクリアするコマンドＣを発行する。次に、制御部７１は、演算部７２を制御してＸ＝Ｄｉ＊Ｇｉを算出し（ステップＳ４）、算出結果と前の算出結果を加算する（ステップＳ５）。これによって、レジスタ７２３のデータ値が更新される。
【００２４】
次に、制御部７１は、ｉ＝６か否かを判定し（ステップＳ６）、ｉ＝６でなければ変数ｉを「１」だけインクリメントして（ステップＳ８）、処理をステップＳ４に戻す。一方、変数ｉが「６」である場合には、レジスタ７２３の出力データを出力データ信号Ｄoutとして出力し（ステップＳ７）、処理をステップＳ２に戻す。すなわち、７回の積和算を繰り返すことによって、出力データ信号Ｄoutを生成する。この演算によって、以下に示す式（１）に従って、出力データ信号Ｄoutが算出される。
Ｄout＝D0*G0+D1*G1+D2*G2+D3*G3+D4*G4+D5*G5+D6*G6  …（１）
【００２５】
次に、ステップＳ１の判定結果が「ＮＯ」である場合、即ち、効果付与回路７０の動作が無効化される場合には、制御部７１は処理をステップＳ９に進め、入力データ信号Ｄin及び出力データ信号Ｄoutのデータ値を「０」に置換してデータ用ＲＡＭ７４に書き込む。具体的には、制御部７１は選択信号ＳＥＬの論理レベルを「０」に設定する。これによって、選択回路７６は「０」を選択してデータ用ＲＡＭ７４に書き込む。
【００２６】
例えば、入力データ信号Ｄinに同期したサンプリングクロックＣＬＫと制御信号ＣＴＬとが図７に示す関係にあるとする。この場合、時刻ｔ０に至ると、制御信号ＣＴＬの論理レベルが「１」から「０」に変化して効果付与回路７０の処理が無効化される。時刻ｔ０において、制御部７１は、選択信号ＳＥＬの論理レベルを「０」とするのでＤin＝Ｄout＝０がデータ用ＲＡＭ７４に書き込まれる。時刻ｔ１、ｔ２、及びｔ３においても同様である。そして、時刻ｔｘに至ると制御信号ＣＴＬの論理レベルが「０」から「１」に遷移して効果付与回路７０の処理が有効化される。
【００２７】
図８にデータ用ＲＡＭ７４の記憶内容の遷移を示す。この図において太枠で囲まれた記憶領域は、入力データ信号Ｄin及び出力データ信号Ｄoutを書き込むべき記憶領域であり、斜線を記載した記憶領域は「０」が書き込まれた記憶領域である。つまり、通常の動作時と同じ順序でデータ用ＲＡＭ７４の複数の記憶領域Ｍ１〜Ｍ６に置換されたデータ値「０」が順次書き込まれる。この例では、３回の書き込みで記憶領域Ｍ１〜Ｍ６のすべてに「０」が書き込まれる。これによって、効果付与回路７０の処理が再開して新たな入力データ信号Ｄinが供給されたときに、以前のデータ信号Ｄ１〜Ｄ６がデータ用ＲＡＭ７４に残っていることに起因するノイズの発生を防止することができる。このように本実施形態では、効果付与回路７０の演算が無効とされる無効期間の開始（時刻ｔ０）から有効期間の再開に備えてデータ値「０」の書き込みを実行する。
【００２８】
特に、記憶領域Ｍ４〜Ｍ６は、ＩＩＲフィルタの内部状態を記憶する領域として機能するが、ＩＩＲフィルタでは出力データ信号Ｄoutが入力にフィードバックされる経路を有するので、仮に、以前のフィルタ処理の内部状態が記憶されていると、その影響が継続されることになる。本実施形態では、以前のフィルタ処理が終了した直後に出力データ信号Ｄoutのデータ値を「０」に置換して所定の記憶領域に書き込むので、ノイズの発生を効果的に防止することができる。
【００２９】
また、出力データ信号Ｄoutのデータ値を「０」にするという観点から、無効期間において係数Ｇ０〜Ｇ６の値を「０」に設定することも考えられる。この場合には、係数用ＲＡＭ７３の記憶内容を書き換えるか、あるいは、通常の係数Ｇ０〜Ｇ６の他に「０」を係数用ＲＡＭ７３に記憶しておき、制御信号ＣＴＬに従って切り替える必要がある。係数用ＲＡＭ７３の記憶内容を書き換えには時間が掛かる。さらに、ＩＩＲフィルタのフィードバック係数は発振を防止する観点から慎重に定められるものであり、書き換えになじまない。また、「０」を係数用ＲＡＭ７３に記憶すると記憶領域が増大し、読出アドレスを切り替える必要があるので処理が複雑化する。これに対して、本実施形態では、単に出力データ信号Ｄoutのデータ値を「０」に置換してデータ用ＲＡＭ７４に書き込めばよいので、処理を簡素化することができる。
【００３０】
＜２．変形例＞
本発明は、上述した実施形態に限定されるものではなく、例えば、以下に示す各種の変形が可能である。
（１）上述した実施形態においては、係数用ＲＡＭ７３とデータ用ＲＡＭ７４を別個のものとして説明したが、これらが１個のＲＡＭで構成されてもよい。さらに、同時発音が可能な複数のチャネルで係数用ＲＡＭ７３及びデータ用ＲＡＭ７４を兼用してもよい。
また、上述した実施形態では、入力データ信号Ｄinは楽音データを一例として説明したが、データの種類はこれに限定されない。例えば、画像データであってもよい。
また、上述した実施形態では、電子機器の一例として携帯電話機を説明したが、本発明はこれに限定されるものではなく、例えば、電子楽器であってもよい。また、処理の対象が画像データであれば、デジタルカメラやプリンタなどの画像処理装置であってもよい。
【００３１】
（２）また、上述した実施形態では、ハードウエアとしての選択回路７６を演算部７２の外部に設けたが、その機能を演算部７２に取り込んでソフトウエアで処理してもよい。例えば、演算部７２に、入力データ信号Ｄinを記憶する第１レジスタ、出力データ信号Ｄoutを記憶する第２レジスタ、及び「０」を記憶する第３レジスタを設ける。制御信号ＣＴＬが有効期間を指示する場合は、第１レジスタ及び第２レジスタから読み出したデータ値をデータ用ＲＡＭ７４に供給し、制御信号ＣＴＬが無効期間を指示する場合は、第３レジスタから読み出したデータ値「０」を入力データ信号Ｄin及び出力データ信号Ｄoutとしてデータ用ＲＡＭ７４に供給してもよい。
【００３２】
（３）上述した実施形態では、ＦＩＲフィルタとＩＩＲフィルタとを組み合わせたデジタルフィルタを信号処理装置で実現したが、ＦＩＲフィルタのみ、あるいはＩＩＲフィルタのみを信号処理装置で実現してもよい。
【００３３】
（４）上述した実施形態では、無効期間の開始からデータ値をゼロに置換してデータ用ＲＡＭ７４に書き込んだが、無効期間の途中からデータ値をゼロに置換してデータ用ＲＡＭ７４に書き込んでもよい。この場合にも、有効期間の再開に備えてデータ用ＲＡＭ７４の記憶内容をゼロにすることができる。
【００３４】
（５）また、上述した実施形態において、有効期間が再開された場合には、直ちにデータ値の置換を停止して出力データ信号Ｄoutをデータ用ＲＡＭ７４に書き込んだが、本発明はこれに限定されるものではなく、制御部７１は、演算動作が無効から有効に遷移して有効期間が開始されてもデータ用ＲＡＭ７４の複数の記憶領域Ｍ１〜Ｍ６の全てについてデータ値としてゼロが書き込まれるまで、入力データ信号Ｄin及び出力データ信号Ｄoutのうち少なくとも一方についてデータ値をゼロに置換して複数の記憶領域Ｍ１〜Ｍ６に所定の順序で書き込むように選択回路７６を制御してもよい。これにより、ノイズの発生を確実に防止することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の信号処理装置を備えた電子機器の主要部の構成を示すブロック図である。
【図２】効果付与回路７０で実現されるデジタルフィルタの一例を示すブロック図である。
【図３】効果付与回路７０の構成を示すブロック図である。
【図４】データ用ＲＡＭ７４の記憶領域を示す説明図である。
【図５】演算部７２に設けられた処理ユニットＵの構成を示すブロック図である。
【図６】効果付与回路７０の動作を示すフローチャートである。
【図７】サンプリングクロックＣＬＫと制御信号ＣＴＬとの関係を示すタイミングチャートである。
【図８】データ用ＲＡＭ７４の記憶内容の遷移を示す説明図である。
【符号の説明】
【００３６】
７０……効果付与回路（信号処理装置）、７１……制御部（制御手段）、７２……演算部（演算手段）、７４……データ用ＲＡＭ（記憶手段）、７６……選択回路（書込手段）、Ｄin……入力データ信号、Ｄout……出力データ信号、Ｍ１〜Ｍ６……記憶領域。
【図１】
2008061053.tif 000003
【図２】
2008061053.tif 000004
【図３】
2008061053.tif 000005
【図４】
2008061053.tif 000006
【図５】
2008061053.tif 000007
【図６】
2008061053.tif 000008
【図７】
2008061053.tif 000009
【図８】
2008061053.tif 000010