(57)【要約】【課題】エッジの発生を阻止して係数補間処理を可能とする係数補間装置を提供する。【解決手段】制御部１００は、ＶＡＬＵＥ値１６が「１」のままである補間装置が停止状態で、且つ、差分（Difference）が「０」でない場合、各スイッチ１１０、１１１、１１２を、夫々、ａ側にオンする結果、各スイッチ１１０、１１１、１１２の接続状態は図に示すようになる。次いで、デルタ６２を前回値６４に加算し、差分をデルタ６２にセットした後、差分をクリアし、ＶＡＬＵＥ値１６を「−１＋ＲＡＴＥ」とし係数補間が起動する。この際、Ｓ字型関数に基づいて両値の間の係数を求める補間処理を行うのでエッジの発生を防止できノイズの発生を阻止することができる。【選択図】図１
2008072411.tif 000002
【特許請求の範囲】
【請求項１】
現在の係数値である現在値と時間軸上でこれより後に存在する目標とする係数値である目標値との間の係数補間処理を行う装置において、
前記現在値および前記目標値のそれぞれに対する時間軸上の位置において微分値が「０」となり、且つ、前記現在値と前記目標値との時間間隔において単調に変化する関数、に基づいて両値の間の係数補間処理を行う係数補間処理手段を備えたことを特徴とする係数補間装置。
【請求項２】
請求項１に記載の装置において、
前記係数補間処理関数が係数補間処理に用いる関数は、
「ｆ（Ｘ）＝２・Ｘ−Ｘ・ａｂｓ（Ｘ）：（ａｂｓ（Ｘ）はＸの絶対値、−１≦Ｘ≦１）」であることを特徴とする係数補間装置。
【請求項３】
請求項１および２のいずれか一項に記載の係数補間装置は、
前記係数補間処理によって順次発生する補間係数を他の装置に出力可能に構成したことを特徴とする係数補間装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間軸上で前後する２つの係数間における係数補間処理技術の改良に関する。    
【背景技術】
【０００２】
従来の係数補間技術として、２点間を直線で補間する方法やローパスフィルタを使用して係数変化の平滑化を行うようにしたもの等が提案されてきた。例えば、電子ボリューム切換え時において、操作者からの操作により係数補間部に入力される減衰係数が切換えられた際に、この係数補間部が切換え前後の減衰係数を順次、減衰器２２に供給することによって、切換えノイズの発生等を防ぐ係数補間処理が提案されていた（例えば、特許文献１参照）。これはＩＩＲ型のフィルタ等による係数変化の平滑化を行うものであった。
【０００３】
【特許文献１】特開２０００−３４１７８６号公報（第４−７頁、第６図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように係数補間処理については各種の技術が開示されていた。しかしながら、従来のように、直線や多次元関数を利用して単に係数補間処理を行うのでは、多数の係数をメモリに記憶させておく必要がある。しかも、現在値近傍や目標値近傍では急激に係数が変化しエッジ（急激に係数値が変化する部分）が発生するため、ノイスが発生してしまう。これに対処するため、係数テーブルの標本数を増加させたり、目標値近傍で微分係数が不連続になることを避けるべくローパスフィルタによる平滑化処理を行ってきた。このことを図３（ａ）を参照して説明する。
【０００５】
図３（ａ）における点線は直線補間、曲線は平滑化処理によるものである。例えば、符号Ａ部においては両補間方法によってもエッジが生成され、他のＢ部〜Ｅ部においてもエッジが発生していた。このようなエッジは、ノイズ発生を余儀なくされてしまうという問題があった。即ち、直線補間処理や平滑化処理ではノイズの発生を防止するのには満足のいくものではなかった。
【０００６】
本発明は、かかる従来の課題を解決するためになされたもので、エッジの発生を阻止して係数補間処理を行う係数補間装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明者は、鋭意研究の結果、時間的に前後する２点の間を係数補間するには、この２点において微分係数が「０」、且つ、この２点間において単調な関数であればエッジの発生を防止できることを見出した。
【０００８】
つまり、本発明は、現在の係数値である現在値と時間軸上でこれより後に存在する目標とする係数値である目標値との間の係数補間をする装置において、
前記現在値および前記目標値のそれぞれに対する時間軸上の位置において微分値が「０」となり、且つ、前記現在値と前記目標値との時間間隔において単調に変化する関数に、基づいて両値の間の係数補間を行う補間処理手段を備えたことを特徴とするようにした。この構成によれば、現在値および目標値のそれぞれに対する時間軸上の位置において微分係数が「０」、且つ、この２点間の時間間隔において単調な関数であればエッジの発生を防止できノイズの発生を阻止することが可能になる。
【０００９】
なお、前記関数は「ｆ（Ｘ）＝２・Ｘ−Ｘ・ａｂｓ（Ｘ）：（ａｂｓ（Ｘ）はＸの絶対値、−１≦Ｘ≦１）」とするのが好ましいが、他の関数でも上記条件を満たすものなら良い。例えば、ＳＩＮ間数、ＣＯＳ間数等の三角関数において、所定の位相に対する部分を利用する等でも良いし、３次以上の高次関数の或る部分を採用しても良い。さらに、他の装置でも補間係数を利用可能なように、係数補間処理によって順次発生する補間係数を他の装置に出力可能に構成することも好ましい。
【発明の効果】
【００１０】
本発明によれば、エッジの発生を阻止して係数補間処理を行う係数補間装置を実現することが可能になるという効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を図面を参照しつつ説明する。
【００１２】
なお、以下では補間関数の一例として「ｆ（Ｘ）＝２・Ｘ−Ｘ・ａｂｓ（Ｘ）：（ａｂｓ（Ｘ）はＸの絶対値、−１≦Ｘ≦１）」なる２次関数を利用することを想定している。図４にこの関数の形状を実線で示す。図４に示すようにＳ文字型の関数（Ｓ字型関数）となることが分かる。Ｘが「−１」、「＋１」において、微分係数が「０」となり、その間においては、関数ｆ（Ｘ）が単調に変化している。
【００１３】
（係数補間装置１）
さて、図１は本発明の実施形態である係数補間装置１の構成や動作の説明図である。制御部１００は、各スイッチ１１０、１１１、１１２を連動して制御する機能を有し、係数補間機能を起動させる前には各スイッチ１１０、１１１、１１２において「ｂ」側にスイッチをオンし、係数補間機能の起動時には、各スイッチ１１０、１１１、１１２を「ａ」側にオンさせる構成となっている。図中左上側の符号１０は加算器、１５はリミッタ、１８は固定係数値であり、符号１６は生成されたValue値が記憶される。始めに「Ｒａｔｅ（０＜Ｒａｔｅ＜１）」を設定すると、係数補間機能が未起動であるのでスイッチ１１０はｂ側に接続されている。この場合、Ｖａｌｕｅ値１６とＲａｔｅの値ろが加算器１０に加算され、これがリミッタ１５によってリミットされて新たなＶＡＬＵＥ値１６とする処理を繰り返し実行する。なお、リミッタ１５はＶＡＬＵＥ値１６を「−１」から「＋１」までの値に制限する。
【００１４】
一方、係数補間起動時には、スイッチ１１０がａ側にオンするので、Ｒｅｔｅと符号１８の固定値「−１」とが加算器１０に加算され、この値がリミッタ１５でリミットされ、ＶＡＬＵＥ値１６となり、次にスイッチ１１０はｂ側にオンする。かくして、ＶＡＬＵＥ値の右上に記載した図のようにＶＡＬＵＥ値１６が変化する。つまり、ＲＡＴＥはＶＡＬＵＥ値の変化速度を調整するパラメータとなっている。
【００１５】
次に、図面右上側において、ビットシフタ２６は、ＶＡＬＵＥ値１６を左に１ビットシフトさせ即ち２倍して加算器２８に送る。一方、ＶＡＬＵＥ値は絶対値部２０によって絶対値とされ、乗算器２２で乗算され、乗算器２４で「−１」倍されて加算器２８に入力される。そして、リミッタ３０は加算器２８の加算結果を「−１」、「＋１」で制限しこれが加算器４０に入力される。この時の波形を加算器４０の右下に図示している。変数Ａは「−１≦Ａ≦１」であり、図４の縦軸に対応している。加算器４０は固定値「１」とリミッタ３０からの信号を加算してビットシフタ４２に送る。ビットシフタ４２は与えられたデジタル値を右方向に１ビットシフトさせ、即ち「１／２」倍して乗算器５０に送る構成となっている。この時の波形をビットシフタ４２の左に図示している。なお、この時変数Ａは「０≦Ａ’≦１」なる変数Ａ’となっている。
【００１６】
乗算器５０はデルタ６２の値とビットシフタ４２からの値とを乗算し、この乗算結果を加算器５２に送る。加算器５２から送られてくる値がＫ（係数）となる。そして、係数補間機能が起動された場合には、係数Ｋが順次生成、出力される構成となっている。
【００１７】
さて、図左側中部の「差分（Difference）」の与え方について説明する。図５において横方向が時間軸であるとする。縦方向は係数の値となる。今、最初の２点Ｐ１、Ｐ２のみで説明すると、Ｐ１の値が現在値、Ｐ２の値が目標値となり、その差が差分となる。係数補間未起動時の場合、各スイッチ１１０、１１１、１１２がすべてｂ側にオンしているため、デルタ（Delta）５２、前回値（Previous）６４はそのまま値を保存している。
【００１８】
次に係数補間機能の起動動作を説明する。制御部１００は、ＶＡＬＵＥ値１６が「１」のままであり補間装置が停止状態で、且つ、差分（Difference）が「０」でない場合、各スイッチ１１０、１１１、１１２を夫々、ａ側にオンする結果、各スイッチ１１０、１１１、１１２の接続状態は図１に示すようになる。そして、デルタ６２を前回値６４に加算し、差分をデルタ６２にセットした後、差分をクリアし、ＶＡＬＵＥ値１６を「−１＋ＲＡＴＥ」とし、係数補間が起動すると同時に制御部１００は、各スイッチ１１０、１１１、１１２を夫々ｂ側にオンして、係数補間状態となる。
【００１９】
上述したようにして、ビットシフト４２から値が送られてくると、乗算器５０は、その値とデルタ６２とを乗算し、その結果を加算器５２に送る。加算器５２は、乗算器５２の乗算結果と前回値６４とを加算し、係数Ｋが得られることになる。このような動作を繰り返して係数補間処理が順次実行されていく。
【００２０】
（係数補間装置２）  
図２は本発明の他の良好な実施形態である係数補間装置２の構成や動作の説明図である。図１と同じものには同じ符号を付加しその説明は省略する。この装置では、図１における加算器４０、ビットシフタ４２、固定値「＋１」４４が除かれている。この装置においては、差分の代わりにターゲット（Target）値を設定し、デルタ６２の代わりゴール（Goal）７２を設定している。ゴール７２の値は直接の「目標値」である。制御部１００は、ＶＡＬＵＥ値１６が「１」のままである補間停止状態で、且つ、ターゲットとゴール７２とが異なる時に、ゴール７２を前回値６４に転送し、ターゲットをゴール７２にセットして、ＶＡＬＵＥを「−１＋ＲＡＴＥ」として、係数補間が起動する。
【００２１】
加算器５２は、「乗算器５０からの乗算結果」、「ゴール値」、「前回値」、「前回値を乗算器７４で乗算し、更に乗算器７６で係数「−１」を乗算した乗算結果」の４種類の値を加算し、その加算結果がビットシフト７３で「１／２」倍された係数Ｋを供給する動作を繰り返すことによって係数補間が順次実行されていく。
【００２２】
図３（ｂ）は本発明のＳ字型関数での係数補間結果であり、符号Ａ部〜Ｅ部においてエッジが生成されない。係数補間開始時のＡ部でエッジが全く発生していない点が特に特徴的であり、係数補間開始時のノイズ発生を阻止することが可能になる。
【００２３】
以上説明してきたように、本発明の実施形態によれば、現在値および目標値のそれぞれに対する時間軸上の位置において微分係数が「０」、且つ、この２点間の時間間隔において単調な関数であればエッジの発生を防止できノイズの発生を阻止することが可能になる。なお、両装置１、２で得られた係数Ｋを他の装置（例えば音楽装置等）に出力可能な構成として、あらゆる分野において本係数補間処理を採用することが可能になる。
【産業上の利用可能性】
【００２４】
以上説明してきたように、本発明の係数補間装置によれば例えば音楽分野における楽音信号データに対する係数補間処理等を実現することができる。
【図面の簡単な説明】
【００２５】
【図１】係数補間装置１の説明図である。
【図２】係数補間装置２の説明図である。
【図３】従来技術および本発明による係数補間結果の説明図である。
【図４】Ｓ字型補間関数の説明図である。
【図５】動作の説明図である。
【符号の説明】
【００２６】
１  係数補間装置
２  係数補間装置
１０  加算器
１５  リミッタ
２０  絶対値部
２２  乗算器
２４  乗算器
２６  ビットシフタ
２８  加算器
３０  リミッタ
４０  加算器
４２  ビットシフタ
５０  乗算器
５２  加算器
１００  制御部
１１０  スイッチ
１１１   スイッチ
１１２  スイッチ
【図１】
2008072411.tif 000003
【図２】
2008072411.tif 000004
【図３】
2008072411.tif 000005
【図４】
2008072411.tif 000006
【図５】
2008072411.tif 000007