(57)【特許請求の範囲】
【請求項１】
第１の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに１階微分値を付加する１階微分値付加部と、
上記１階微分値付加部で得られた、１階微分値が付加された複数個の離散データを用い、２つの離散データの間に存在する１個または複数個の離散データと、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて生成された該２つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該２つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、それぞれ上記１階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた上記１階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と、
上記不均質データ生成部で生成された不均質データを用い、連続する２つの離散データ毎に、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて、該２つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第１の時間間隔と同じあるいは異なる第２の時間間隔で並んだそれぞれＭビット（Ｍは上記Ｎと同じまたは異なる正の整数）の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置。
【請求項２】
上記１階微分値付加部は、
１階微分値を付加すべき対象の離散データを対象離散データとするとき、
該対象離散データと該対象離散データの前後に位置する離散データとの差分を用いて１階微分値を生成し、
上記対象離散データの前後に位置する離散データとして、隣接する離散データの上記対象離散データとの差分が所定値を越えるときは、該隣接する離散データを用い、該差分が上記所定値以内にあるときは、該隣接する離散データとそれに連続し上記対象離散データとの差分が所定値以内にある全ての離散データとを用いる
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
上記均質不均質変換部の前段に挿入される、上記複数個の離散データの下位１ビットのふらつきを抑制するノイズ抑圧部をさらに備える
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
所定の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに１階微分値を付加する１階微分値付加部と、
上記１階微分値付加部で得られた、１階微分値が付加された複数個の離散データを用い、２つの離散データの間に存在する１個または複数個の離散データと、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて生成された該２つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該２つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、上記１階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた時間間隔が不均質で上記１階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と
を備えることを特徴とするデータ処理装置。
【請求項５】
上記不均質データ生成部より出力される不均質データを蓄積するストレージ部をさらに備える
ことを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
第１の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データを入力するデータ入力ステップと、
上記データ入力ステップで入力された各離散データのそれぞれに１階微分値を付加する１階微分値付加ステップと、
上記１階微分値付加ステップで得られた、１階微分値が付加された複数個の離散データを用い、２つの離散データの間に存在する１個または複数個の離散データと、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて生成された該２つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該２つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、上記１階微分値が付加された複数個の離散データを得る均質不均質変換ステップと、
上記均質不均質変換ステップで得られた時間間隔が不均質で上記１階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成ステップと
を備えることを特徴とするデータ処理方法。
【請求項７】
時間間隔が不均質でそれぞれ１階微分値および時間間隔情報が付加された複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された複数個の離散データを用い、連続する２つの離散データ毎に、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて、該２つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第１の時間間隔と同じあるいは異なる第２の時間間隔で並んだそれＭビット（Ｍは上記Ｎと同じまたは異なる正の整数）の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置。
【請求項８】
時間間隔が不均質で、それぞれ１微分値および時間間隔情報が付加された複数個の離散データを入力するデータ入力ステップと、
上記データ入力ステップで入力された複数個の離散データを用い、連続する２つの離散データ毎に、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて、該２つの離散データ位置を通過する曲線を生成する曲線生成ステップと、
上記曲線生成ステップで生成された各曲線に基づいて、所定の時間間隔で並んだそれぞれＭビット（Ｍは上記Ｎと同じまたは異なる正の整数）の複数個の離散データを生成して出力するデータ再生ステップと
を備えることを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定の時間間隔で並んだ離散データを処理するデータ処理装置およびデータ処理方法に関する。
【０００２】
詳しくは、この発明は、第１の時間間隔で並んだそれぞれＮビットの複数個の離散データに１階微分値を付加し、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報に基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合に、それら１個または複数個の離散データを削除して、時間間隔が不均質で１階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する２つの離散データ毎に、離散データ、１階微分値および時間間隔情報に基づいて当該２つの離散データ位置を通過する曲線を生成し、各曲線に基づいて第２の時間間隔で並んだそれぞれＭビットの複数個の離散データを得ることによって、分解能を再定義でき、かつ必要な帯域まで再生可能としたデータ処理装置等に係るものである。
【背景技術】
【０００３】
離散データの帯域幅の向上は、そのサンプリング周波数を上げることで実現できる。しかし、そこで定義した帯域内を使い切る信号成分が実際に少ない場合、同じような信号を何度もサンプリングすることになり、例えばメモリなどの媒体にストレージする際に効率が悪いという問題があった。
【０００４】
また、入力データ以上の分解能を出力で得ようとすると、例えば帯域制限フィルタ等を通す必要があるが、滑らかな特性を求めるには帯域制限を強くかけなければならず、本来のデータの持っている高域成分を欠落させてしまうといった問題があった。
【０００５】
例えば、特許文献１には、２つの離散データ（データサンプル）間に存在する１個または複数個の離散データが近似線（直線）で近似できる場合にその１個または複数個の離散データを除去してデータを圧縮するデータ圧縮法が記載されている。
【特許文献１】特開平０６−９０３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されるデータ圧縮法では、近似線（直線）を用いて離散データを除去することでデータ圧縮を行っており、圧縮解除時には圧縮時と同様の近似線（直線）を用いて離散データが補間される。つまり、この特許文献１には、残された離散データの間に存在する離散データを滑らかな曲線で補間可能として、分解能を再定義でき、かつ必要な帯域まで再生可能とすることについては何ら記載されていない。
【０００７】
この発明の目的は、分解能を再定義でき、かつ必要な帯域まで再生可能とすることにある。
【課題を解決するための手段】
【０００８】
この発明の概念は、
第１の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに１階微分値を付加する１階微分値付加部と、
上記１階微分値付加部で得られた、１階微分値が付加された複数個の離散データを用い、２つの離散データの間に存在する１個または複数個の離散データと、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて生成された該２つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該２つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、それぞれ上記１階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた上記１階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と、
上記不均質データ生成部で生成された不均質データを用い、連続する２つの離散データ毎に、該２つの離散データ、該２つの離散データに付加されている１階微分値および該２つの離散データの時間間隔情報に基づいて、該２つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第１の時間間隔と同じあるいは異なる第２の時間間隔で並んだそれＭビット（Ｍは上記Ｎと同じまたは異なる正の整数）の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置にある。
【０００９】
この発明においては、第１の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データが入力され、各離散データのそれぞれに１階微分値が付加される。
【００１０】
例えば、１階微分値を付加すべき対象の離散データを対象離散データとするとき、この対象離散データとその前後に位置する離散データとの差分を用いて１階微分値が生成される。この場合、対象離散データの前後に位置する離散データとして、隣接する離散データの対象離散データとの差分が所定値を越えるときは、その隣接する離散データが用いられ、その差分が所定値以内にあるときは、その隣接する離散データとそれに連続し対象離散データとの差分が所定値以内にある全ての離散データとが用いられる。このように、対象離散データに隣接する離散データとのレベル値が近い場合に、広範囲にデータを見ることで、本来の連続的な波形時に近い１階微分値を得ることが可能となる。
【００１１】
上述したように１階微分値が付加された複数の離散データから、時間間隔が不均質なそれぞれ１階微分値が付加された複数個の離散データが得られる。この場合、２つの離散データの間に存在する１個または複数個の離散データと、この２つの離散データ、この２つの離散データに付加されている１階微分値およびこの２つの離散データの時間間隔情報に基づいてこの２つの離散データ位置を通過する曲線が生成され、この曲線上の値との差が許容誤差範囲内にあるとき、この２つの離散データの間に存在する1個または複数個の離散データが間引かれる。
【００１２】
なお、このように時間間隔が均質な複数個の離散データから時間間隔が不均質な離散データを生成する場合、時間間隔が均質な複数個の離散データの下位１ビットのふらつきを予め抑制するようにしてもよい。これにより、生成される曲線が本来の正しいデータ値で生成されたものと異なるものとなることを防止でき、時間間隔が不均質な複数個の離散データを安定して得ることが可能となる。
【００１３】
このように時間間隔が不均質なそれぞれ１階微分値が付加された複数個の離散データに時間間隔情報が付加されて不均質データが生成される。そして、この不均質データが用いられて、２つの離散データ毎に、補間データを得るための曲線が生成される。この場合、一旦ストレージ部に蓄積され、所定のタイミングで読み出された不均質データを用いることも可能である。ここでは、連続する２つの離散データ毎に、この２つの離散データ、この２つの離散データに付加されている１階微分値およびこの２つの離散データの時間間隔情報に基づいて、この２つの離散データ位置を通過する曲線が生成される。
【００１４】
そして、このように生成された各曲線に基づいて、第１の時間間隔と同じあるいは異なる第２の時間間隔で並んだそれぞれＭビットの複数個の離散データが生成される。このように、不均質データを構成する２つの離散データ毎に補間データを得るための曲線が形成され、この曲線に基づいて第２の時間間隔で並んだそれぞれＭビットの複数個の離散データが生成されるものであり、Ｍの値の設定で分解能を再定義でき、かつ第２の時間間隔の設定で必要な帯域まで再生可能となる。
【発明の効果】
【００１５】
この発明によれば、第１の時間間隔で並んだそれぞれＮビットの複数個の離散データに１階微分値を付加し、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報に基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合にそれら１個または複数個の離散データを間引いて、時間間隔が不均質で１階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する２つの離散データ毎に、離散データ、１階微分値および時間間隔情報に基づいて当該２つの離散データ位置を通過する曲線を生成し、各曲線に基づいて第２の時間間隔で並んだそれぞれＭビットの複数個の離散データを得るものであり、分解能を再定義でき、かつ必要な帯域まで再生可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら、この発明の実施の形態について説明する。図１は、実施の形態としてのデータ処理装置１００の構成を示している。このデータ処理装置１００は、エンコーダ１０２とデコーダ１０３とから構成されている。
【００１７】
最初に、エンコーダ１０２について説明する。このエンコーダ１０２は、ノイズ抑圧部１０４と、１階微分値付加部１０５と、均質不均質変換部１０６と、不均質データ生成部１０７とを有している。このエンコーダ１０２には、均質標本列データＤinが入力される。この均質標本列データＤinは、１／ｆs1の時間間隔で並んだそれぞれＮビット（Ｎは正の整数）の複数個の離散データからなっている。ここで、ｆs1はサンプリング周波数である。
【００１８】
ノイズ抑圧部１０４は、均質標本列データＤinを構成する複数個の離散データの下位１ビットのふらつき（ノイズ成分）を抑制する。図２は、このノイズ抑圧部１０４におけるノイズ抑圧の処理例を示している。
【００１９】
（１）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して２だけレベルが低く、第３の離散データは第１の離散データに対して１だけレベルが低いという関係がある場合であって、第２の離散データのレベルを矢印で示すように１だけ上げる補正を行う。
【００２０】
（２）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して２だけレベルが高く、第３の離散データは第１の離散データに対して１だけレベルが高いという関係がある場合であって、第２の離散データのレベルを矢印に示すように１だけ下げる補正を行う。
【００２１】
（３）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して１だけレベルが低く、第３の離散データは第１の離散データと同一レベルという関係がある場合であって、第２の離散データのレベルを矢印に示すように１だけ上げる補正を行う。
【００２２】
（４）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して１だけレベルが低く、第３の離散データは第１の離散データに対して１だけレベルが高いという関係がある場合であって、第２の離散データのレベルを矢印に示すように１だけ上げる補正を行う。
【００２３】
（５）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して１だけレベルが高く、第３の離散データは第１の離散データに対して１だけレベルが低いという関係がある場合であって、第２の離散データのレベルを矢印に示すように１だけ下げる補正を行う。
【００２４】
（６）の処理例は、連続する第１〜第３の離散データに、第２の離散データは第１の離散データに対して１だけレベルが高く、第３の離散データは第１の離散データと同一レベルという関係がある場合であって、第２の離散データのレベルを矢印に示すように１だけ下げる補正を行う。
【００２５】
このように、ノイズ抑圧部１０４を設けて、均質標本列データＤinを構成する複数個の離散データの下位１ビットのふらつき（ノイズ成分によることが多い）を抑制することで、後述する均質不均質変換部１０６の処理で、生成される曲線が本来の正しいデータ値を用いて生成されたものと異なったものとなることを防止でき、時間間隔が不均質な複数個の離散データを安定して得ることが可能となる。
【００２６】
１階微分値付加部１０５は、ノイズ抑圧部１０４でノイズ抑圧処理が行われた、均質標本列データＤinを構成する複数個の離散データのそれぞれに１階微分値を付加する。この１階微分値付加部１０５は、１階微分値を付加すべき対象の離散データを対象離散データとするとき、この対象離散データの前後に位置する離散データとの差分を用いて１階微分値を生成する。
【００２７】
ここで、対象離散データの前後に位置する離散データとして、隣接する離散データの対象離散データとの差分が所定値Ｄthを越えるときは、その隣接する離散データが用いられ、その差分が所定値Ｄth以内にあるときは、その隣接する離散データとそれに連続し対象離散データとの差分がＤth以内にある全ての離散データとが用いられる。
【００２８】
すなわち、対象離散データに付加すべき１階微分値ＤＴは、対象離散データｙとその前に位置する離散データとの差分ＤＬおよび対象離散データｙとその後に位置する離散データとの差分ＤＲを用いて、（１）式で算出する。
【００２９】
ＤＴ＝（ＤＬ＋ＤＲ）／２        ・・・（１）
【００３０】
そして、（１）式における、ＤＬは、対象離散データｙとそれに隣接する前側の離散データｌ１との差分｜ｌ１−ｙ｜がＤthを越えるときは、（２）式によって算出する。
【００３１】
ＤＬ＝ｙ−ｌ１            ・・・（２）
【００３２】
また、（１）式におけるＤＬは、対象離散データｙとそれに隣接する前側の離散データｌ１との差分｜ｙ−ｌ１｜がＤth以内にあるときは、その隣接する離散データｌ１とそれに連続し離散データｙとの差分がＤth以内にある全て（Ｌ個とする）の離散データとの差分を用いて、（３）式によって算出する。
【００３３】
【数１】
0004692388.tif 000002
【００３４】
一方、（１）式における、ＤＲは、対象離散データｙとそれに隣接する後側の離散データｒ１との差分｜ｒ１−ｙ｜がＤthを越えるときは、（４）式によって算出する。
【００３５】
ＤＲ＝ｒ１−ｙ            ・・・（４）
【００３６】
また、（１）式におけるＤＲは、対象離散データｙとそれに隣接する後側の離散データｒ１との差分｜ｒ１−ｙ｜がＤth以内にあるときは、その隣接する離散データｒ１とそれに連続し離散データｙとの差分がＤth以内にある全て（Ｒ個とする）の離散データとの差分を用いて、（５）式によって算出する。
【００３７】
【数２】
0004692388.tif 000003
【００３８】
図３は、対象離散データｙとそれに隣接する前側（左側）の離散データｌ１との差分｜ｌ１−ｙ｜がＤthを越えていると共に、対象離散データｙとそれに隣接する後側（右側）の離散データｒ１との差分｜ｒ１−ｙ｜がＤthを越えている状態の一例を示している。この状態では、ＤＬ，ＤＲは、上述の（２）式および（４）式で算出される。図３における矢印は、算出された１階微分値ＤＴを示している。
【００３９】
図４は、対象離散データｙとそれに隣接する前側（左側）の離散データｌ１との差分｜ｌ１−ｙ｜がＤthにあると共に、対象離散データｙとそれに隣接する後側（右側）の離散データｒ１との差分｜ｒ１−ｙ｜がＤth以内にある状態の一例を示している。
【００４０】
この状態では、ＤＬは、対象離散データｙの前側にある２個の離散データｌ１，ｌ２を用いて、（３）式で算出される。また、この状態では、ＤＲは、対象離散データｙの後側にある８個の離散データｒ１〜ｒ８を用いて、（５）式で算出される。
【００４１】
このように、１階微分値を求める際、対象離散データに隣接する離散データのレベル値が近い場合に、広範囲にデータを見ることで、本来の連続的な波形時に近い１階微分値を得ることが可能となる。つまり、低周波領域において、より正確に１階微分値を算出できる。図４における矢印は、算出された１階微分値ＤＴを示している。
【００４２】
均質不均質変換部１０６は、１階微分値付加部１０５で得られた、時間間隔が均質で１階微分値が付加された複数個の離散データから、間引き処理を行って、時間間隔が不均質で１階微分値が付加された複数個の離散データを生成する。この場合、均質不均質変換部１０６は、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報に基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合に、それら１個または複数個の離散データを間引いて、時間間隔が不均質で１階微分値が付加された複数個の離散データを生成する。
【００４３】
図５は、均質不均質変換部１０６で行われる各処理に対応した機能ブロックを示している。この均質不均質変換部１０６は、均質データ入力部１１-0、仮間引き部１１-1、曲線生成部１１-2、誤差判定処理部１１-3および不均質データ出力部１１-4を有している。
【００４４】
均質データ入力部１１-0は、上述したように１階微分値付加部１０５で得られた、時間間隔が均質で１階微分値が付加された複数個の離散データを入力する。
【００４５】
仮間引き部１１-1は、均質データ入力部１１-0に入力された複数個の離散データに対して、ｉ番目とｊ番目の離散データの間の離散データを仮間引きして、ｉ，ｊ番目の離散データを、曲線生成および誤差判定処理を行うための２つの離散データに設定する。最初は、ｉ＝１、ｊ＝ｉ＋２とする。
【００４６】
この設定に対応して、曲線生成部１１-2は、ｉ，ｊ番目の離散データ、ｉ，ｊ番目の離散データに付加されている１階微分値およびｉ，ｊ番目の離散データの時間間隔情報に基づいて、これらｉ，ｊ番目の離散データ位置を通過する曲線を生成する。
【００４７】
そして、誤差判定処理部１１-3は、仮間引き部１１-1で仮間引きされたｉ番目とｊ番目の離散データの間に存在する離散データと曲線生成部１１-2で生成された曲線上の対応する値との差が全て許容誤差範囲内にあるときは、ｊ−１番目の離散データを残さない離散データとすると共に、仮間引き部１１-1におけるｊを１だけ増加させる。
【００４８】
これに対応して、仮間引き部１１-1は、新たなｉ，ｊ番目の離散データを曲線生成および誤差判定処理を行うための２つの離散データに設定する。この設定に対応して、曲線生成部１１-2および誤差判定処理部１１-3は、上述したと同様の処理をする。
【００４９】
一方、誤差判定処理部１１-3は、仮間引き部１１-1で仮間引きされたｉ番目とｊ番目の離散データの間の離散データと曲線生成部１１-2で生成された曲線上の値との差が許容誤差範囲内にないときは、ｊ−１番目の離散データを残すべき離散データとすると共に、仮間引き部１１-1におけるｉ，ｊを、以下のように変更させる。すなわち、ｉをｊ−１とし、このｉを用いてｊをｉ＋２とする。
【００５０】
これに対応して、仮間引き部１１-1は、新たなｉ，ｊ番目の離散データを曲線生成および誤差判定処理を行うための２つの離散データに設定する。この設定に対応して、曲線生成部１１-2および誤差判定処理部１１-3は、上述したと同様の処理をする。
【００５１】
なお、誤差判定処理部１１-3は、１番目の離散データに関しては、常に残すべき離散データとする。また、仮間引き部１１-1、曲線生成部１１-2および誤差判定処理部１１-3における上述した処理は、均質データ入力部１１-0に入力された複数個の離散データの個数がＰ個であるとき、ｊがＰを越えるまで繰り返し行われる。
【００５２】
不均質データ出力部１１-4は、上述したように均質データ入力部１１-0に入力された複数個の離散データのうち、誤差判定処理部１１-3で残すべき離散データとされた、時間間隔が不均質で１階微分値が付加された複数個の離散データを出力する。
【００５３】
曲線生成部１１-2についてさらに説明する。この曲線生成部１１-2は、図６に示すように、ｉ番目の離散データＹ(i)と、それに付加された１階微分値Ｙ(i)′と、ｊ番目の離散データＹ(j)と、それに付加された１階微分値Ｙ(j)′と、ｉ，ｊ番目の離散データの時間間隔情報Δｔとに基づいて、ｉ，ｊ番目の離散データ位置を通過する曲線Ｆij(t)を生成する。
【００５４】
図７は、各値と、それらの値に基づいて生成される曲線Ｆij(t)のイメージを示している。なお、この図７において、ｔ(i)，ｔ(j)は、それぞれ、離散データＹ(i)，Ｙ(j)に対応した時点を示している。
【００５５】
曲線生成部１１-2は、例えば、（６）式に基づいて、３次の曲線Ｆij(t)を生成する。
【００５６】
【数３】
0004692388.tif 000004
【００５７】
なお、（６）式におけるcoef3，coef2，coef1，coef0，Ｘは、それぞれ、Ｙ(i)，Ｙ(i)
，Ｙ(j)′，Ｙ(j)′，Δｔを用いて、以下の（７）式〜（１１）式で算出される。
【００５８】
【数４】
0004692388.tif 000005
【００５９】
次に、均質不均質変換部１０６の処理手順を、図８のフローチャートを参照して、説明する。ここでは、均質データ入力部１１-0に、図９に示すように、Ｐ個の離散データＹ(1)〜Ｙ(P)が入力される場合について説明する。これらＰ個の離散データＹ(1)〜Ｙ(P)は、それぞれ、ｔ(1)〜ｔ(P)の時点に対応している。
【００６０】
まず、ステップＳＴ１で、処理を開始し、ステップＳＴ２で、Ｐ個の離散データＹ(1)〜Ｙ(P)の全てに残すフラグをたてる。そして、ステップＳＴ３で、ｉ＝１、ｊ＝ｉ＋２をセットする。ここで、ｉ，ｊは、曲線生成および誤差判定処理を行うための２つの離散データを特定するために使用される。
【００６１】
次に、ステップＳＴ４で、ｊが総数Ｐを越えたか否かを判定する。ｊ＞Ｐであるときは、離散データＹ(1)〜Ｙ(P)の全てに対する処理を終了したことを意味するので、ステップＳＴ１０で、処理を終了する。一方、ステップＳＴ４で、ｊ＞Ｐでないときは、ステップＳＴ５に進む。
【００６２】
このステップＳＴ５では、Ｙ(i)，Ｙ(i)′，Ｙ(j)，Ｙ(j)′，Δｔを用いて、曲線Ｆij(t)を生成する。そして、ステップＳＴ６で、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在する離散データＹ(i+1)〜Ｙ(j-1)と曲線Ｆij(t)上の対応する値Ｆij(t(i+1))〜Ｆij(t(j-1))との差が全て許容誤差範囲内、例えば最下位ビットのレベル範囲内にあるか否かを比較判定する。
【００６３】
｜Ｆij(t(k)）−Ｙ(k)｜＜許容誤差（ｋ＝ｉ＋１〜j−１）が成立するときは、ステップＳＴ５と同様の曲線生成により離散データＹ(j-1)を補間可能であることを意味するので、ステップＳＴ７で、離散データＹ(j-1)のフラグを残さないフラグに置き換える。そして、ステップＳＴ８で、ｊを１だけ増加させて、その後にステップＳＴ４に戻り、上述したと同様の処理を繰り返す。
【００６４】
例えば、図１０（ａ）に示すように、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)との間の離散データＹ(j-1)が許容誤差範囲内で補間可能であるときは、図１０（ｂ）に示すように、ｊを１だけ増加させて、同様に曲線生成を行って、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)との間の離散データＹ(j-1)，Ｙ(j-2)が許容誤差範囲内で補間可能であるか否かを判定する。
【００６５】
一方、｜Ｆij(t(k)）−Ｙ(k)｜＜許容誤差（ｋ＝ｉ＋１〜j−１）が成立しないときは、ステップＳＴ５と同様の曲線生成では離散データＹ(j-1)を補間できないことを意味するので、ステップＳＴ９で、ｉをｊ−１で置き換え、この置き換えたｉを用いてｊをｉ＋２で置き換える。この場合、離散データＹ(j-1)のフラグは、ステップＳＴ２で立てられた残すフラグのままとなる。このステップＳＴ９の処理の後に、ステップＳＴ４に戻り、上述したと同様の処理を繰り返す。
【００６６】
例えば、図１０（ｂ）に示すように、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)との間の離散データＹ(j-1)，Ｙ(j-2)が許容誤差内で補間不可能であるときは、図１０（ｃ）に示すように、ｉをｊ−１に置き換え、さらにこの置き換えたｉを用いてｊをｉ＋２に置き換え、同様に曲線生成を行って、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)との間の離散データＹ(j-1)が許容誤差内で補間可能であるか否かを判定する。
【００６７】
図１１は、均質不均質変換部１０６の回路構成例を示している。この回路構成例は、均質不均質変換処理をリアルタイムで実現するためのものである。ここでは、残す離散データの時間間隔情報Δｔのビット幅を４ビットとし、最大で１５個の離散デーが連続して間引かれるものとする。
【００６８】
この均質不均質変換部１０６は、データバッファ(data_BUF)１５-1〜１５-3と、微分値バッファ（diff_BUF）１５-4〜１５-6と、補間値生成・比較判定部１５-7と、判定結果バッファ（judg_BUF）１５-8，１５-9とを有している。
【００６９】
離散データおよび１階微分値はそれぞれ１データ／１サイクル（１data/１cycle）で入力される。離散データはデータバッファ１５-1に格納されていき、１階微分値は微分値バッファ１５-4に格納されていく。これらデータバッファ１５-1および微分値バッファ１５-4を、ここでは、総じてフレーム０と呼ぶ。フレーム０の内部構成として、１６個のデータを１塊としたデータ群（以下、「パケット」と呼ぶ）を９個持つ。
【００７０】
フレーム０に全てデータが埋まると、次いで、その１フレーム分のデータは、読み出されて、データバッファ１５-2および微分値バッファ１５-5に送られて蓄積される。これらデータバッファ１５-2および微分値バッファ１５-5を、ここでは総じてフレーム１と呼ぶ。そして、このフレーム１に蓄積されたデータを用いて、補間値生成・比較判定部１５-7で不均質変換処理、つまり各離散データに対して残すか残さないかを判定していく処理が開始される
【００７１】
補間値生成・比較判定部１５-7で得られた各離散データに対応した判定結果は、判定結果バッファ１５-8に蓄積される。例えば、残すと判定された離散データにはフラグ１を、残さないと判定された、つまり間引くと決められた離散データにはフラグ０を立てるようにされる。
【００７２】
フレーム１に蓄積されたデータを用いた補間値生成・比較判定部１５-7における不均質変換処理が全て終了すると、次いで、フレーム１に蓄積されている１フレーム分のデータは、読み出されて、データバッファ１５-3および微分値バッファ１５-6に送られて蓄積されると共に、判定結果バッファ１５-8に蓄積されている１フレーム分の判定結果は、読み出されて、判定結果バッファ１５-9に送られて蓄積される。データバッファ１５-3および微分値バッファ１５-6は、ここでは、総じてフレーム２と呼ぶ。
【００７３】
判定結果バッファ１５-9に蓄積された判定結果に基づいて、フレーム２から残すと判定された離散データおよびそれに付加される１階微分値が順次読み出されて出力される。なお、これら離散データおよび１階微分値の出力タイミングに合わせて、判定結果バッファ１５-9から読み出された判定結果も出力される。この判定結果は、後述するように、不均質データ生成部１０７で、時間間隔情報Δｔを得るためのカウンタをリセットする際に使用される。
【００７４】
図１２は、均質不均質変換部１０６から出力される、時間間隔が不均質な、１階微分値が付加された複数個の離散データ（不均質な標本列）の一例を示している。この例では、時点ｔａの離散データＹ(a)および１階微分値Ｙ(a)′の次にはΔtbの時間間隔をおいた時点ｔｂの離散データＹ(b)および１階微分値Ｙ(b)′が出力される。また、時点ｔｂの離散データＹ(b)および１階微分値Ｙ(b)′の次にはΔtcの時間間隔をおいた時点ｔｃの離散データＹ(c)および１階微分値Ｙ(c)′が出力される。以下、同様にして、残すと判定された離散データが所定の時間間隔をもって順次出力される。
【００７５】
図１３は、図１１に示す均質不均質変換部１０６の回路構成において、バッファ内部へデータがどのように溜められるのかを具体的に示している。１階微分値の付加された入力データは１６個毎に１つのパケットを形成する。形成されたパケットはパケット１、パケット２、パケット３、・・・のように名前付けされていき、９個のパケットで１フレーム分のデータを形成している。
【００７６】
図１３では、パケット１の初めのデータがある時刻iのデータに対応しているとき、パケット１は、データＹ(i)、Ｙ(i+1)、・・・、Ｙ(i+15)およびその１階微分値Ｙ(i)′、Ｙ(i+1)′、・・・Ｙ(i+15)′で構成される。同様に、パケット２は、データＹ(i+16)、Ｙ(i+17)、・・・、Ｙ(i+31)およびその１階微分値Ｙ(i+16)′、Ｙ(i+17)′、・・・Ｙ(i+31)′で構成される。以下、パケット３、パケット４、・・・に関しても同様である。そして、パケット９は、データＹ(i+128)、Ｙ(i+129)、・・・、Ｙ(i+143)およびその１階微分値Ｙ(i+128)′、Ｙ(i+129)′、・・・Ｙ(i+143)′で構成される。これらの入力データとしての各パケットのデータがフレーム０に格納されていく。フレーム０に９パケットのデータが溜まったらフレーム１へデータを送る。
【００７７】
次に、フレーム１に蓄積されたデータを用いて補間値生成・比較判定部１５-7で行われる不均質変換処理について、具体的に説明する。図５の機能ブロック図および図８のフローチャートを用いて説明したように、不均質変換処理は、ｉ番目の離散データＹ(i)と、それに付加された１階微分値Ｙ(i)′と、ｊ番目の離散データＹ(j)と、それに付加された１階微分値Ｙ(j)′と、ｉ，ｊ番目の離散データの時間間隔情報Δｔとに基づいて、ｉ，ｊ番目の離散データ位置を通過する曲線Ｆij(t)を生成し、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在する離散データＹ(i+1)〜Ｙ(j-1)と曲線Ｆij(t)上の対応する値（補間値）との差が全て許容誤差範囲内にあるか否かを比較判定し、ｊ−１番目の離散データＹ(j-1)を残すか否かを判定する処理である。ここでは、この行程を１ステップ（１step）と呼ぶ。１ステップにおけるハードウェアでのタイミングチャートは、図１４に示すようになる。
【００７８】
まず、ある２つの離散データＹ(i)，Ｙ(j)および１階微分値Ｙ(i)′，Ｙ(j)′をフレーム１のデータバッファ１５-2および微分値バッファ１５-5からロードする。このロードに要するサイクル（cycle）数は２サイクルである。
【００７９】
次に、離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔに基づいて、時点ｔ(i+1)〜ｔ(j-1)の補間値を算出する。なお、バッファ１５-2，１５-5からロードしたデータＹ(i)，Ｙ(j)および１階微分値Ｙ(i)′，Ｙ(j)′を、フリップフロップ等を介さず補間値生成・比較判定部１５-7にへ送る構成にすることで、２サイクル目の途中から補間値の生成を開始できる。図中の矢印１７-1はこれを表現している。補間値生成に要するサイクル数は、後述するように、７サイクルである。なお、補間値生成・比較判定部１５-7における補間値生成部の詳細構成については、後述する。
【００８０】
次に、離散データＹ(i+1)〜Ｙ(j-1)のそれぞれと対応する時点ｔ(i+1)〜ｔ(j-1)の補間値との差が全て許容誤差範囲内にあるか否かを比較判定する。そして、判定結果を判定結果バッファ１５-8に格納する。このように判定結果バッファ１５-8に判定結果を格納している間に、次のステップの処理を開始できる。
【００８１】
上述したように、１ステップに係るサイクル数は実質９サイクルである。ところがこれは、１つの離散データを間引くか残すかを判断するために９サイクルかかることを意味しており、１データ/１サイクルで入力されるデータを処理しきれない。
【００８２】
そこで、図１５に示すように１フレーム内部の９パケットを並列に処理することで、リアルタイム処理を実現する。つまり、フレーム１におけるデータ処理の流れは、以下のようになる。１サイクル目でパケット１のステップ１を開始し、２サイクル目でパケット２のステップ１を開始し、３サイクル目でパケット３のステップ１を開始し、…、９サイクル目でパケット９のステップ１を開始する。同時に１サイクル目でステップ１を開始したパケット１の判定結果が分かるので、その結果に基づき１０cycle目でパケット１のステップ２を開始する。以下同様の行程の繰り返しにより９パケット並列に処理を行う。このように各パケットを順次並列に処理することで、補間値生成・比較判定部１５-7におけるパイプライン処理を途切らすことなく実行できる。
【００８３】
次に、補間値生成・比較判定部１５-7における補間値生成部７００について説明する。図１６は、補間値生成部７００の詳細構成を示している。この補間値生成部７００は、分配モジュール７０１と、テーブル７０３と、係数モジュール７０４〜７０６，７０８と、差分モジュール７０７と、補間モジュール７０９-1〜７０９-15とを有している。
【００８４】
分配モジュール７０１は、入力される離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔを、テーブル７０３、係数モジュール７０４〜７０６，７０８および差分モジュール７０７のそれぞれに分配して供給する。つまり、テーブル７０３にはΔｔを供給し、係数モジュール７０４にはＹ(i)を供給し、係数モジュール７０５にはΔｔ，Ｙ(i)′を供給し、係数モジュール７０６にはΔｔ，Ｙ(i)′、Ｙ(j)′を供給し、差分モジュール７０７にはＹ(i)，Ｙ(j)を供給し、係数モジュール７０８にはΔｔ，Ｙ(i)′、Ｙ(j)′を供給する。
【００８５】
なお、離散データＹ(i)，Ｙ(j)および１階微分値Ｙ(i)′，Ｙ(j)′に関しては、外部に存在するバッファ１５-2，１５-5から補間値生成・比較判定部１５-7にロードされるが（図１１参照）、時間間隔情報Δｔ＝ｔ(j)−ｔ(i)に関しては、補間値生成・比較判定部１５-7の内部で生成される。
【００８６】
テーブル７０３は、分配モジュール７０１から供給される時間間隔情報Δｔを取り込み、この時間間隔情報Δｔに基づいて、上述の（６）式におけるＸ，Ｘ２，Ｘ３の値を出力する。上述したように、時間間隔情報Δｔのビット幅を４ビットであり、均質不均質変換部１０６では、最大で１５個の離散データが連続して間引かれる。このテーブル７０３からは、Ｓ個の時点ｔ(i+1)〜ｔ(j-1)のそれぞれに対応したＸ，Ｘ２，Ｘ３の値が並行して得られる。ここで、Ｓの最大値は１５である。
【００８７】
係数モジュール７０４は、分配モジュール７０１から供給される離散データＹ(i)を取り込み、この離散データＹ(i)をそのまま係数coef0として出力する（（１０）式参照））。係数モジュール７０５は、分配モジュール７０１から供給される時間間隔情報Δｔおよび１階微分値Ｙ(i)′を取り込み、それらに基づいて、上述の（６）式における係数coef1を、（９）式により算出する。
【００８８】
差分モジュール７０７は、分配モジュール７０１から供給される離散データＹ(i)，Ｙ(j)を取り込み、それらに基づいて、差分値（Ｙ(j)−Ｙ(i)）を算出する。そして、この差分モジュール７０７は、算出した差分値（Ｙ(j)−Ｙ(i)）を、係数モジュール７０６および係数モジュール７０８のそれぞれに供給する。
【００８９】
係数モジュール７０６は、分配モジュール７０１から供給される時間間隔情報Δｔ、１階微分値Ｙ(i)′，Ｙ(j)′および差分モジュール７０７から供給される差分値（Ｙ(j)−Ｙ(i)）を取り込み、それらに基づいて、上述の（６）式における係数coef2を、（８）式により算出する。係数モジュール７０８は、分配モジュール７０１から供給される時間間隔情報Δｔ、１階微分値Ｙ(i)′，Ｙ(j)′および差分モジュール７０７から供給される差分値（Ｙ(j)−Ｙ(i)）を取り込み、それらに基づいて、上述の（６）式における係数coef3を、（７）式により算出する。
【００９０】
補間モジュール７０９-1〜７０９-15は、それぞれ、係数モジュール７０４〜７０６で算出される係数coef0〜coef2、係数モジュール７０８で算出される係数coef3、さらにはテーブル７０３から出力されるＳ個の時点ｔ(i+1)〜ｔ(j-1)のそれぞれに対応したＸ，Ｘ２，Ｘ３の値を用い、（６）式に基づいて、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在する離散データＹ(i+1)〜Ｙ(j-1)に対応した曲線Ｆij(t)上の値（補間値）ｆ(1)〜ｆ(S)を並行して生成する。上述したようにＳの最大値は１５であるので、補間モジュールとして１５個の補間モジュール７０９-1〜７０９-15が用意されている。
【００９１】
この補間値生成部７００の動作を説明する。分配モジュール７０１には、離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔが供給される。そして、この分配モジュール７０１からテーブル７０３には時間間隔情報Δｔが供給され、このテーブル７０３からは時点ｔ(i)，ｔ(j)の間に位置するＳ個の時点ｔ(i+1)〜ｔ(j-1)のそれぞれに対応したＸ，Ｘ２，Ｘ３の値が並行して得られ、それぞれ補間モジュール７０９-1〜７０９-Sに供給さされる。
【００９２】
分配モジュール７０１から係数モジュール７０４に離散データＹ(i)が供給され、この係数モジュール７０４からその離散データＹ(i)がそのまま係数coef0として出力される。また、分配モジュール７０１から係数モジュール７０５に時間間隔情報Δｔおよび１階微分値Ｙ(i)′が供給され、この係数モジュール７０５では（９）式に基づいて係数coef1が算出される。
【００９３】
分配モジュール７０１から差分モジュール７０７に離散データＹ(i)，Ｙ(j)が供給され、この差分モジュール７０７では差分値（Ｙ(j)−Ｙ(i)）が算出される。この差分値（Ｙ(j)−Ｙ(i)）は係数モジュール７０６，７０８にそれぞれに供給される。また、分配モジュール７０１から係数モジュール７０６に時間間隔情報Δｔおよび１階微分値Ｙ(i)′，Ｙ(j)′が供給され、この係数モジュール７０６では（８）式に基づいて係数coef2が算出される。また、分配モジュール７０１から係数モジュール７０８に時間間隔情報Δｔおよび１階微分値Ｙ(i)′，Ｙ(j)′が供給され、この係数モジュール７０８では（７）式に基づいて係数coef3が算出される。
【００９４】
係数モジュール７０４〜７０７で算出される係数coef0〜coef2および係数モジュール７０８で算出される係数coef3は、補間モジュール７０９-1〜７０９-Sのそれぞれに供給される。そして、これら補間モジュール７０９-1〜７０９-Sでは、それぞれ係数coef0〜coef3およびＸ，Ｘ２，Ｘ３の値が用いられて、（６）式に基づき、ｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在する離散データＹ(i+1)〜Ｙ(j-1)に対応した曲線Ｆij(t)上の値である補間値ｆ(1)〜ｆ(S)が並行して生成される。
【００９５】
なお、図１６に示す補間値生成部７００では、分配モジュール７０１に１サイクル毎に新たな離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔが供給されると共に、補間モジュール７０９-1〜７０９-Sから１出力／１サイクルのスループットで補間値ｆ(1)〜ｆ(S)が出力されるように、各処理はパイプライン処理とされる。
【００９６】
図１７は、そのパイプライン処理の計算過程を示している。
【００９７】
１サイクル目では、係数モジュール７０５で係数coef1を得るためのΔｔ，Ｙ(i)′の乗算が行われ、係数モジュール７０６で係数coef2を得るためのＹ(j)′，２Ｙ(i)′の加算が行われ、差分モジュール７０７で差分値（Ｙ(j)−Ｙ(i)）を得るためのＹ(j)，Ｙ(i)の減算が行われ、係数モジュール７０８で、係数coef3を得るためのＹ(j)′，Ｙ(i)′の加算が行われる。
【００９８】
２サイクル目では、係数モジュール７０６で係数coef2を得るための、３，（Ｙ(j)−Ｙ(i)）の乗算およびΔｔ，（Ｙ(j)′＋２Ｙ(i)′）の乗算が行われ、係数モジュール７０８で係数coef3を得るための、−２，（Ｙ(j)−Ｙ(i)）の乗算およびΔｔ，（Ｙ(j)′＋Ｙ(i)′）の乗算が行われる。
【００９９】
３サイクル目では、係数モジュール７０６で係数coef2を得るための３（Ｙ(j)−Ｙ(i)），Δｔ×（Ｙ(j)′＋２Ｙ(i)′）の減算が行われ、係数モジュール７０８で係数coef3を得るための−２（Ｙ(j)−Ｙ(i)），Δｔ×（Ｙ(j)′＋Ｙ(i)′）の加算が行われる。また、この３サイクル目では、テーブル７０３で、Δｔに基づいてＸ，Ｘ２，Ｘ３の値が求められる。
【０１００】
４サイクル目では、補間モジュール７０９-1〜７０９-Sで、係数モジュール７０５で得られた係数coef1とテーブル７０３で求められたＸとの乗算、係数モジュール７０６で得られた係数coef2とテーブル７０３で求められたＸ２との乗算、さらには係数モジュール７０８で得られた係数coef3とテーブル７０３で求められたＸ３との乗算が行われる。
【０１０１】
５サイクル目では、補間モジュール７０９-1〜７０９-Sで、係数モジュール７０４から出力された係数coef0と（coef1×Ｘ）との加算、さらには（coef2×Ｘ２）と（coef3×Ｘ３）との加算が行われる。
【０１０２】
６サイクル目では、（coef1×Ｘ＋coef0）と（coef3×Ｘ３＋coef2×Ｘ２）との加算が行われる。そして、７サイクル目では、飽和処理が行われる。この飽和処理は、例えば補間値が８ビットで表される場合に、上述した演算で生成された補間値が２５５の値を越えるとき、その補間値を２５５にクリップする処理である。
【０１０３】
上述のパイプライン処理では、分配モジュール７０１に入力される所定のＹ(i)，Ｙ(j)、Ｙ(i)′，Ｙ(j)′，Δｔに対応する補間値ｆ(1)〜ｆ(S)は７サイクルだけ遅延されて出力される。このように補間値生成部７００の各処理をパイプライン化することで、連続して入力される入力データの処理が可能となる。なお、分配モジュール７０１では、連続して入力される入力データを後段のパイプライン処理にて適切に処理できるように、一定期間データのホールドが行われる。
【０１０４】
次に、図１に戻って、不均質データ生成部１０７は、均質不均質変換部１０６で得られた、１階微分値が付加された複数の離散データに、時間間隔情報Δｔを付加して不均質データを生成する。この不均質データ生成部１０７には、均質不均質変換部１０６で残された離散データが、１階微分値が付加された状態で、判定結果と共に供給される（図１１参照）。
【０１０５】
判定結果は均質不均質変換部１０６から残された離散データが供給されるタイミングで１となる。そのため、不均質データ生成部１０７では、判定結果が１となる毎にリセットされるカウンタを設けることで、残された離散データの時間間隔情報Δｔを得ている。
【０１０６】
図１８は、データフォーマットの推移を示している。エンコーダ１０２に入力されるデータは、Ｎビットの離散データ（Data）のみからなるが、１階微分値付加部１０５の出力データは、Ｎビットの離散データ（Data）に、Ｋビットの１階微分値が付加されたものとなる。さらに、不均質データ生成部１０７の出力データは、Ｎビットの離散データ（Data）に、Ｋビットの１階微分値およびＬビットの時間間隔情報Δｔが付加されたものとなる。また、後述するように、デコーダ１０３のデータ再生部１０９の出力データは、Ｍビットの離散データ（Data）のみからなる
【０１０７】
不均質データ生成部１０７では、例えば、２つの離散データの時間間隔情報Δｔは後の離散データに付加される。上述の図１２は均質不均質変換部１０６から出力される、時間間隔が不均質な、１階微分値が付加された複数個の離散データ（不均質な標本列）の一例を示しているが、例えば、離散データＹ(a)，Ｙ(b)の時間間隔情報Δtbは離散データＹ(b)に付加され、離散データＹ(b)，Ｙ(c)の時間間隔情報Δtcは離散データＹ(c)に付加される。
【０１０８】
次に、デコーダ１０３について説明する。このデコーダ１０３は、曲線生成部１０８と、データ再生部１０９とを有している。曲線生成部１０８は、エンコーダ１０２の不均質データ生成部１０７で得られた不均質データ、つまり１階微分値および時間間隔情報が付加された時間間隔な不均質な離散データを用い、連続する２つの離散データ毎に、離散データ、１階微分値および時間間隔情報に基づいて、当該２つの離散データ位置を通過する曲線を生成する。なお、図１では、エンコーダ１０２の不均質データ生成部１０７で生成された不均質データが直接デコーダ１０３の曲線生成部１０８に供給されているが、この不均質データをハードディスクドライブ、半導体メモリ等のストレージ部に一旦蓄積し、その後に所定のタイミングで読み出して曲線生成部１０８に供給してもよい。
【０１０９】
この曲線生成部１０８は、上述した均質不均質変換部１０６の曲線生成部１１-2（図５、図６参照）と同様に、２つの離散データをＹ(i)，Ｙ(j)、それに付加されている1階微分値をＹ(i)′，Ｙ(j)′、時間間隔情報をΔｔとするとき、上述の（６）式に基づいて、３次の曲線Ｆij(t)を生成する。
【０１１０】
図１９は、この曲線生成部１０８で生成される曲線（補間曲線）の一例を示している。まず、ｔ＝t(a)の離散データＹ(a)、１階微分値Ｙ(a)′からΔtbの時間間隔をもってｔ＝t(b)の離散データＹ(b)、１階微分値Ｙ(b)′が存在するが、Δtb、Ｙ(a)、Ｙ(a)′、Ｙ(b)、Ｙ(b)′を用い、（６）式に基づいて、時点ｔ(a)，ｔ(b)の離散データＹ(a)，Ｙ(b)のデータ位置を通過する補間曲線Ｆab(t)を生成する。
【０１１１】
次に、ｔ＝t(b)の離散データＹ(b)、１階微分値Ｙ(b)′からΔtcの時間間隔をもってｔ(c)の離散データＹ(c)、１階微分値Ｙ(c)′が存在するが、Δtc、Ｙ(b)、Ｙ(b)′、Ｙ(c)、Ｙ(c)′を用い、（６）式に基づいて、時点ｔ(b)，ｔ(c)の離散データＹ(b)，Ｙ(c)のデータ位置を通過する補間曲線Ｆbc(t)を生成する。以下同様にして、Ｆcd(t)、Ｆde(t)、・・・・を生成する。
【０１１２】
上述したように、エンコーダ１０２の均質不均質変換部１０６では、２つの離散データＹ(i)，Ｙ(j)の間に存在する1個または複数個の離散データが、離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔに基づいて生成される当該２つの離散データ位置を通過する曲線Ｆij(t)で近似できる場合に、それら１個または複数個の離散データを間引くようにしているので、この曲線生成部１０８で生成される各曲線を用いて、２つの離散データ間の任意の時点の補間値を許容誤差範囲内で得ることが可能となる。
【０１１３】
データ再生部１０９は、曲線生成部１０８で生成された各曲線に基づいて、１／ｆs2の時間間隔で並んだ複数個の離散データを生成する。この場合、各曲線の値を１／ｆs2の時間間隔でサンプリングすることで、均質に並んだＭビット（Ｍは正の整数）の複数個の離散データが生成される。ここで、ｆs2はサンプリング周波数であって、上述したようにエンコーダ１０２に入力される複数個の離散データに係るサンプリング周波数ｆs1と同じ周波数あるいは異なる周波数に設定できる。また、各離散データのビット幅Ｍも、上述したようにエンコーダ１０２に入力される離散データに係るビット幅Ｎと同じあるいは異なる値に設定できる。
【０１１４】
つまり、データ再生部１０９では、デコーダ１０３から出力される均質標本列データＤoutのサンプリング周波数および分解能を、エンコーダ１０２に入力される均質標本列データＤinのサンプリング周波数および分解能とは無関係に、新たに定義できる。
【０１１５】
次に、曲線生成部１０８およびデータ再生部１０９について説明する。図２０は、曲線生成部１０８およびデータ再生部１０９の詳細構成を示している。ここでは、一例として、残された離散データの時間間隔情報Δｔのビット幅は４ビットであり、最大で１５個の離散デーが連続して間引かれているものとする。また、入出力のサンプリング周波数ｆs1，ｆs2は同一とする。
【０１１６】
この曲線生成部１０８およびデータ再生部１０９は、分配モジュール７１１と、カウンタモジュール７１２と、テーブル７１３と、係数モジュール７１４〜７１６，７１８と、差分モジュール７１７と、補間モジュール７１９とを有している。
【０１１７】
分配モジュール７１１は、入力される離散データ（Ｄａｔａ）、１階微分値、時間間隔情報Δｔに基づき、連続する２つの離散データＹ(i)，Ｙ(j)、それに付加されている１階微分値Ｙ(i)′，Ｙ(j)′および時間間隔情報Δｔを、カウンタモジュール７１２、係数モジュール７１４〜７１６，７１８および差分モジュール７１７のそれぞれに分配して供給する。
【０１１８】
つまり、カウンタモジュール７１２にはΔｔを供給し、係数モジュール７１４にはＹ(i)を供給し、係数モジュール７１５にはΔｔ，Ｙ(i)′を供給し、係数モジュール７１６にはΔｔ，Ｙ(i)′、Ｙ(j)′を供給し、差分モジュール７１７にはＹ(i)，Ｙ(j)を供給し、係数モジュール７１８にはΔｔ，Ｙ(i)′、Ｙ(j)′を供給する。
【０１１９】
カウンタモジュール７１２は、分配モジュール７１１から供給される時間間隔情報Δｔが供給される毎に０にリセットし、その後１サイクル毎に、カウントアップしていく。２つの離散データＹ(i)，Ｙ(j)の間にはｔ(i+1)〜ｔ(j-1)の時点に対応したＳ個の離散データＹ(i+1)〜Ｙ(i-1)を生成する必要がある。カウンタモジュール７１２で上述したようにカウントアップしていくことで、テーブル７１３から、離散データＹ(i)，Ｙ(i+1)〜Ｙ(i-1)を得るための、上述の（６）式におけるＸ，Ｘ２，Ｘ３の値を順次出力させることが可能となる。
【０１２０】
テーブル７０３は、カウンタモジュール７１２から供給される時間間隔情報Δｔおよびカウント値に基づいて、上述の（６）式におけるＸ，Ｘ２，Ｘ３の値を出力する。上述したように、時間間隔情報Δｔのビット幅を４ビットであり、均質不均質変換部１０６では最大で１５個の離散データが連続して間引かれている。このテーブル７１３は、Ｓ＋１個の時点ｔ(i),ｔ(i+1)〜ｔ(j-1)のそれぞれに対応したＸ，Ｘ２，Ｘ３の値を、カウント値の変化に対応して１サイクル毎に出力する。
【０１２１】
係数モジュール７１４は、図１６の補間値生成部７００を構成する係数モジュール７０４と同様に、分配モジュール７１１から供給される離散データＹ(i)を取り込み、それをそのまま係数coef0として出力する（（１０）式参照））。係数モジュール７１５は、図１６の補間値生成部７００を構成する係数モジュール７０５と同様に、分配モジュール７１１から供給される時間間隔情報Δｔおよび１階微分値Ｙ(i)′を取り込み、それらに基づいて、上述の（６）式における係数coef1を、（９）式により算出する。
【０１２２】
差分モジュール７１７は、図１６の補間値生成部７００を構成する差分モジュール７０７と同様に、分配モジュール７１１から供給される離散データＹ(i)，Ｙ(j)を取り込み、それらに基づいて、差分値（Ｙ(j)−Ｙ(i)）を算出する。そして、この差分モジュール７１７は、算出した差分値を、係数モジュール７１６および係数モジュール７１８のそれぞれに供給する。
【０１２３】
係数モジュール７１６は、図１６の補間値生成部７００を構成する係数モジュール７０６と同様に、分配モジュール７１１から供給される時間間隔情報Δｔ、１階微分値Ｙ(i)′，Ｙ(j)′および差分モジュール７１７から供給される差分値（Ｙ(j)−Ｙ(i)）を取り込み、それらに基づいて、上述の（６）式における係数coef2を、（８）式により算出する。
【０１２４】
係数モジュール７１８は、図１６の補間値生成部７００を構成する係数モジュール７０８と同様に、分配モジュール７１１から供給される時間間隔情報Δｔ、１階微分値Ｙ(i)′，Ｙ(j)′および差分モジュール７１７から供給される差分値（Ｙ(j)−Ｙ(i)）を取り込み、それらに基づいて、上述の（６）式における係数coef3を、（７）式により算出する。
【０１２５】
補間モジュール７１９は、係数モジュール７１４〜７１６で算出される係数coef0〜coef2、係数モジュール７１８で算出される係数coef3、さらにはテーブル７１３から出力されるＸ，Ｘ２，Ｘ３の値を用いて、（６）式に基づいて、ｉ番目の離散データＹ(i)と、このｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在するＳ個の離散データＹ(i+1)〜Ｙ(j-1)を、１サイクル毎に、順次生成して出力する。
【０１２６】
この曲線生成部１０８、データ再生部１０９の動作を説明する。分配モジュール７１１には、離散データ（Ｄａｔａ）、１階微分値、時間間隔情報Δｔが供給される。そして、この分配モジュール７１１からカウンタモジュール７１２には時間間隔情報Δｔが供給される。このカウンタモジュール７１２では、時間間隔情報Δｔが供給される毎に０にカウンタがリセットされ、その後１サイクル毎に、カウント値がインクリメントされていく。
【０１２７】
このカウンタモジュール７１２からテーブルに、時間間隔情報Δｔおよびカウント値が供給される。そして、このテーブル７１３からは、Ｓ＋１個の時点ｔ(i),ｔ(i+1)〜ｔ(j-1)のそれぞれに対応したＸ，Ｘ２，Ｘ３の値が１サイクル毎に順次出力される。このＸ，Ｘ２，Ｘ３の値は補間モジュール７１９に供給さされる。
【０１２８】
分配モジュール７１１から係数モジュール７１４に離散データＹ(i)が供給され、この係数モジュール７１４からその離散データＹ(i)がそのまま係数coef0として出力される。また、分配モジュール７１１から係数モジュール７１５に時間間隔情報Δｔおよび１階微分値Ｙ(i)′が供給され、この係数モジュール７１５では（９）式に基づいて係数coef1が算出される。
【０１２９】
分配モジュール７１１から差分モジュール７１７に離散データＹ(i)，Ｙ(j)が供給され、この差分モジュール７１７では差分値（Ｙ(j)−Ｙ(i)）が算出される。この差分値（Ｙ(j)−Ｙ(i)）は係数モジュール７１６，７１８にそれぞれに供給される。また、分配モジュール７１１から係数モジュール７１６に時間間隔情報Δｔおよび１階微分値Ｙ(i)′，Ｙ(j)′が供給され、この係数モジュール７１６では（８）式に基づいて係数coef2が算出される。また、分配モジュール７１１から係数モジュール７１８に時間間隔情報Δｔおよび１階微分値Ｙ(i)′，Ｙ(j)′が供給され、この係数モジュール７１８では（７）式に基づいて係数coef3が算出される。
【０１３０】
係数モジュール７１４〜７１７で算出される係数coef0〜coef2および係数モジュール７１８で算出される係数coef3は、補間モジュール７１９に供給される。この補間モジュール７１９では、係数coef0〜coef3およびＸ，Ｘ２，Ｘ３の値が用いられて、（６）式に基づき、ｉ番目の離散データＹ(i)と、このｉ番目の離散データＹ(i)とｊ番目の離散データＹ(j)の間に存在するＳ個の離散データＹ(i+1)〜Ｙ(j-1)とが、１サイクル毎に、順次生成されて出力される。
【０１３１】
なお、図２０に示す曲線生成部１０８およびデータ再生部１０９では、補間モジュール７１９から１出力／１サイクルのスループットで離散データが出力されるように、各処理はパイプライン処理とされる。詳細説明は省略するが、そのパイプライン処理の計算過程は、上述の図１６に示す補間値生成部７００のパイプライン処理の計算過程と同様である（図１７参照）。分配モジュール７１１では、連続して入力される入力データを後段のパイプライン処理にて適切に処理できるように、一定期間データのホールドが行われる。
【０１３２】
図２１は、図２０に示す曲線生成部１０８およびデータ再生部１０９における入出力のタイミングチャートを示している。時間間隔情報Δｔのビット幅が４ビットであるため、入力されるデータの間引き量の最大値は１５である。一方、デコーダ１０３は２つの離散データＹ(i)，Ｙ(j)の入力があって初めて補間曲線を引くことができる。そのため、初めて入力されるデータに対して、一定期間値をホールドしておく必要があり、それがタイミングチャートで示される１８サイクルである。また、１８サイクル後に処理が始まり、そこから８サイクル後に最初の補間値が出力される。以後、デコーダ１０３は１出力/１サイクルのスループットで出力し続けることができる。
【０１３３】
上述したように、図２０に示す処理構造により、不均質なデータ間から間引かれた補間点を補間し、均質なデータを得ることが可能となる。また、図２０に示す回路構成は一例であり、これに限るものではない。また、図２０に示す曲線生成部１０８およびデータ再生部１０９は、図１６に示す均質不均質変換部１０６を構成する補間値生成部７００と共通の回路構成を持っているので、この補間値生成部７００と大部分の回路を共通化可能である。
【０１３４】
次に、図１に示すデータ処理装置１００の動作を説明する。エンコーダ１０２のノイズ抑圧部１０４に、１／ｆs1の時間間隔で並んだそれぞれＮビットの複数個の離散データからなる均質標本列データＤinが入力される。そして、ノイズ抑圧部１０４では、均質標本列データＤinを構成する複数個の離散データの下位１ビットのふらつき（ノイズ成分）が抑制される（図２参照）。
【０１３５】
ノイズ抑圧部１０４でノイズ抑圧処理された均質標本列データＤinは１階微分値付加部１０５に供給される。この１階微分値付加部１０５では、ノイズ抑圧部１０４でノイズ抑圧処理が行われた、均質標本列データＤinを構成する複数個の離散データのそれぞれに１階微分値ＤＴが付加される（図３，図４参照）。このように各離散データに１階微分値ＤＴを付加することで、後述する均質不均質変換部１０６およびデコーダ１０３の曲線生成部１０８で、２つの離散データに係る曲線を生成することが可能となる。
【０１３６】
１階微分値付加部１０５で得られた、時間間隔が均質で１階微分値が付加された複数個の離散データは、均質不均質変換部１０６に供給される。この均質不均質変換部１０６では、間引き処理が行われて、時間間隔が不均質で１階微分値が付加された複数個の離散データが生成される。
【０１３７】
すなわち、この均質不均質変換部１０６では、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報に基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合に、それら１個または複数個の離散データが間引かれて、時間間隔が不均質で１階微分値が付加された複数個の離散データが生成される（図７，図１０参照）。
【０１３８】
均質不均質変換部１０６で得られた、１階微分値が付加された複数の離散データは不均質データ生成部１０７に供給される。この不均質データ生成部１０７では、均質不均質変換部１０６で得られた、１階微分値が付加された複数の離散データに、時間間隔情報Δｔが付加されて不均質データが生成される（図１８参照）。
【０１３９】
不均質データ生成部１０７で生成された不均質データ、つまり１階微分値および時間間隔情報Δｔが付加された時間間隔が不均質な離散データは、直接あるいはストレージ部を介してデコーダ１０３の曲線生成部１０８に供給される。この曲線生成部１０８では、連続する２つの離散データ毎に、離散データ、１階微分値および時間間隔情報に基づいて、当該２つの離散データ位置を通過する曲線が生成される（図１９参照）。
【０１４０】
エンコーダ１０２の均質不均質変換部１０６では、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報Δｔに基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合に、それら１個または複数個の離散データを間引くようにしているので、この曲線生成部１０８で生成される各曲線を用いて、２つの離散データ間の任意の時点の補間値を許容誤差範囲内で得ることが可能となる。
【０１４１】
データ再生部１０９では、曲線生成部１０８で生成された各曲線に基づいて、１／ｆs2の時間間隔で並んだ複数個の離散データが生成される。この場合、各曲線の値を１／ｆs2の時間間隔でサンプリングすることで、均質に並んだＭビット（Ｍは正の整数）の複数個の離散データが生成される。このデータ再生部１０９では、デコーダ１０３から出力される均質標本列データＤoutのサンプリング周波数および分解能を、エンコーダ１０２に入力される均質標本列データＤinのサンプリング周波数および分解能とは無関係に、新たに定義できる。
【０１４２】
図１に示すデータ処理装置１００によれば、１／ｆs1の時間間隔で並んだそれぞれＮビットの複数個の離散データに１階微分値を付加し、２つの離散データの間に存在する1個または複数個の離散データが、離散データ、１階微分値および時間間隔情報に基づいて生成される当該２つの離散データ位置を通過する曲線で近似できる場合にそれら１個または複数個の離散データを間引いて、時間間隔が不均質で１階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する２つの離散データ毎に、離散データ、１階微分値および時間間隔情報に基づいて当該２つの離散データ位置を通過する曲線を生成し、各曲線に基づいて１／ｆs2の時間間隔で並んだそれぞれＭビットの複数個の離散データを得るものであり、分解能を再定義でき、かつ必要な帯域まで再生可能となる。
【０１４３】
図２２は、この発明の適用例を示している。図２２Ａは８ビットの離散データをエンコードした例であり、エンコードにより残された標本点（離散データ）と間引かれた標本点（離散データ）の位置を示している。図２２Ｂは、この残された標本点（離散データ）から曲線生成部により曲線を生成して補間し、１４ビット出力として得た例である。なお、入出力のサンプリング周波数は同一である。
【産業上の利用可能性】
【０１４４】
この発明は、均質標本列データの分解能およびサンプリング周波数を再定義でき、例えば画素数が異なる種々のディスプレイ用の画像データを得る場合などに利用できる。
【図面の簡単な説明】
【０１４５】
【図１】実施の形態としてのデータ処理装置の構成を示すブロック図である。
【図２】ノイズ抑圧部におけるノイズ抑圧処理例を示す図である。
【図３】１階微分値ＤＴの求め方を説明するための図である。
【図４】１階微分値ＤＴの求め方を説明するための図である。
【図５】均質不均質変換部で行われる各処理に対応した機能ブロックを示す図である。
【図６】曲線生成部の入出力を示す図である。
【図７】離散データＹ(i)，Ｙ(j)、１階微分値Ｙ(i)′，Ｙ(j)′、時間間隔情報Δｔを用いた曲線生成処理を説明するための図である。
【図８】均質不均質変換部の処理動作を説明するためのフローチャートである。
【図９】時間間隔が均質な離散データの一例を示す図である。
【図１０】均質不均質変換処理の具体例を示す図である。
【図１１】均質不均質変換部の回路構成を示すブロック図である。
【図１２】不均質な標本列の一例を示す図である。
【図１３】均質不均質変換部のバッファ内部へデータがどのように溜められるのかを具体的に示す図である。
【図１４】補間値生成・比較判定部の処理手順を示すタイミングチャートである。
【図１５】補間値生成・比較判定部における９パケットの並列処理を説明するための図である。
【図１６】補間値生成・比較判定部を構成する補間値生成部の構成を示すブロック図である。
【図１７】補間値生成部におけるパイプライン処理の計算過程を示す図である。
【図１８】データ処理装置におけるデータフォーマットの推移を示す図である
【図１９】補間値生成部における補間曲線の生成処理を説明するための図である。
【図２０】曲線生成部、データ再生部の回路構成を示すブロック図である。
【図２１】曲線生成部、データ再生部の入出力のタイミングチャートである。
【図２２】この発明の適用例を示す図である。
【符号の説明】
【０１４６】
１００・・・データ処理装置、１０２・・・エンコーダ、１０３・・・デコーダ、１０４・・・ノイズ抑圧部、１０５・・・１階微分値付加部、１０６・・・均質不均質変換部、１０７・・・不均質データ生成部、１０８・・・曲線生成部、１０９・・・データ再生部
【図１】
0004692388.tif 000006
【図２】
0004692388.tif 000007
【図３】
0004692388.tif 000008
【図４】
0004692388.tif 000009
【図５】
0004692388.tif 000010
【図６】
0004692388.tif 000011
【図７】
0004692388.tif 000012
【図８】
0004692388.tif 000013
【図９】
0004692388.tif 000014
【図１０】
0004692388.tif 000015
【図１１】
0004692388.tif 000016
【図１２】
0004692388.tif 000017
【図１３】
0004692388.tif 000018
【図１４】
0004692388.tif 000019
【図１５】
0004692388.tif 000020
【図１６】
0004692388.tif 000021
【図１７】
0004692388.tif 000022
【図１８】
0004692388.tif 000023
【図１９】
0004692388.tif 000024
【図２０】
0004692388.tif 000025
【図２１】
0004692388.tif 000026
【図２２】
0004692388.tif 000027