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