説明

データ処理装置およびデータ処理方法

【課題】分解能を再定義でき、かつ必要な帯域まで再生可能とする。
【解決手段】1/fs1の時間間隔で並んだNビットの離散データのそれぞれに1階微分値付加部105で1階微分値を付加する。均質不均質変換部106は、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合にそれら1個または複数個の離散データを間引いて、不均質データを得る。曲線生成部108およびデータ再生部109は、1階微分値が付加された不均質データを用い、2つの離散データ位置を通過する曲線を生成し、各曲線に基づいて1/fs2の時間間隔で並んだそれぞれMビットの離散データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の時間間隔で並んだ離散データを処理するデータ処理装置およびデータ処理方法に関する。
【0002】
詳しくは、この発明は、第1の時間間隔で並んだそれぞれNビットの複数個の離散データに1階微分値を付加し、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合に、それら1個または複数個の離散データを削除して、時間間隔が不均質で1階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する2つの離散データ毎に、離散データ、1階微分値および時間間隔情報に基づいて当該2つの離散データ位置を通過する曲線を生成し、各曲線に基づいて第2の時間間隔で並んだそれぞれMビットの複数個の離散データを得ることによって、分解能を再定義でき、かつ必要な帯域まで再生可能としたデータ処理装置等に係るものである。
【背景技術】
【0003】
離散データの帯域幅の向上は、そのサンプリング周波数を上げることで実現できる。しかし、そこで定義した帯域内を使い切る信号成分が実際に少ない場合、同じような信号を何度もサンプリングすることになり、例えばメモリなどの媒体にストレージする際に効率が悪いという問題があった。
【0004】
また、入力データ以上の分解能を出力で得ようとすると、例えば帯域制限フィルタ等を通す必要があるが、滑らかな特性を求めるには帯域制限を強くかけなければならず、本来のデータの持っている高域成分を欠落させてしまうといった問題があった。
【0005】
例えば、特許文献1には、2つの離散データ(データサンプル)間に存在する1個または複数個の離散データが近似線(直線)で近似できる場合にその1個または複数個の離散データを除去してデータを圧縮するデータ圧縮法が記載されている。
【特許文献1】特開平06−90358号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されるデータ圧縮法では、近似線(直線)を用いて離散データを除去することでデータ圧縮を行っており、圧縮解除時には圧縮時と同様の近似線(直線)を用いて離散データが補間される。つまり、この特許文献1には、残された離散データの間に存在する離散データを滑らかな曲線で補間可能として、分解能を再定義でき、かつ必要な帯域まで再生可能とすることについては何ら記載されていない。
【0007】
この発明の目的は、分解能を再定義でき、かつ必要な帯域まで再生可能とすることにある。
【課題を解決するための手段】
【0008】
この発明の概念は、
第1の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに1階微分値を付加する1階微分値付加部と、
上記1階微分値付加部で得られた、1階微分値が付加された複数個の離散データを用い、2つの離散データの間に存在する1個または複数個の離散データと、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて生成された該2つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該2つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、それぞれ上記1階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた上記1階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と、
上記不均質データ生成部で生成された不均質データを用い、連続する2つの離散データ毎に、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて、該2つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第1の時間間隔と同じあるいは異なる第2の時間間隔で並んだそれMビット(Mは上記Nと同じまたは異なる正の整数)の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置にある。
【0009】
この発明においては、第1の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データが入力され、各離散データのそれぞれに1階微分値が付加される。
【0010】
例えば、1階微分値を付加すべき対象の離散データを対象離散データとするとき、この対象離散データとその前後に位置する離散データとの差分を用いて1階微分値が生成される。この場合、対象離散データの前後に位置する離散データとして、隣接する離散データの対象離散データとの差分が所定値を越えるときは、その隣接する離散データが用いられ、その差分が所定値以内にあるときは、その隣接する離散データとそれに連続し対象離散データとの差分が所定値以内にある全ての離散データとが用いられる。このように、対象離散データに隣接する離散データとのレベル値が近い場合に、広範囲にデータを見ることで、本来の連続的な波形時に近い1階微分値を得ることが可能となる。
【0011】
上述したように1階微分値が付加された複数の離散データから、時間間隔が不均質なそれぞれ1階微分値が付加された複数個の離散データが得られる。この場合、2つの離散データの間に存在する1個または複数個の離散データと、この2つの離散データ、この2つの離散データに付加されている1階微分値およびこの2つの離散データの時間間隔情報に基づいてこの2つの離散データ位置を通過する曲線が生成され、この曲線上の値との差が許容誤差範囲内にあるとき、この2つの離散データの間に存在する1個または複数個の離散データが間引かれる。
【0012】
なお、このように時間間隔が均質な複数個の離散データから時間間隔が不均質な離散データを生成する場合、時間間隔が均質な複数個の離散データの下位1ビットのふらつきを予め抑制するようにしてもよい。これにより、生成される曲線が本来の正しいデータ値で生成されたものと異なるものとなることを防止でき、時間間隔が不均質な複数個の離散データを安定して得ることが可能となる。
【0013】
このように時間間隔が不均質なそれぞれ1階微分値が付加された複数個の離散データに時間間隔情報が付加されて不均質データが生成される。そして、この不均質データが用いられて、2つの離散データ毎に、補間データを得るための曲線が生成される。この場合、一旦ストレージ部に蓄積され、所定のタイミングで読み出された不均質データを用いることも可能である。ここでは、連続する2つの離散データ毎に、この2つの離散データ、この2つの離散データに付加されている1階微分値およびこの2つの離散データの時間間隔情報に基づいて、この2つの離散データ位置を通過する曲線が生成される。
【0014】
そして、このように生成された各曲線に基づいて、第1の時間間隔と同じあるいは異なる第2の時間間隔で並んだそれぞれMビットの複数個の離散データが生成される。このように、不均質データを構成する2つの離散データ毎に補間データを得るための曲線が形成され、この曲線に基づいて第2の時間間隔で並んだそれぞれMビットの複数個の離散データが生成されるものであり、Mの値の設定で分解能を再定義でき、かつ第2の時間間隔の設定で必要な帯域まで再生可能となる。
【発明の効果】
【0015】
この発明によれば、第1の時間間隔で並んだそれぞれNビットの複数個の離散データに1階微分値を付加し、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合にそれら1個または複数個の離散データを間引いて、時間間隔が不均質で1階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する2つの離散データ毎に、離散データ、1階微分値および時間間隔情報に基づいて当該2つの離散データ位置を通過する曲線を生成し、各曲線に基づいて第2の時間間隔で並んだそれぞれMビットの複数個の離散データを得るものであり、分解能を再定義でき、かつ必要な帯域まで再生可能となる。
【発明を実施するための最良の形態】
【0016】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としてのデータ処理装置100の構成を示している。このデータ処理装置100は、エンコーダ102とデコーダ103とから構成されている。
【0017】
最初に、エンコーダ102について説明する。このエンコーダ102は、ノイズ抑圧部104と、1階微分値付加部105と、均質不均質変換部106と、不均質データ生成部107とを有している。このエンコーダ102には、均質標本列データDinが入力される。この均質標本列データDinは、1/fs1の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データからなっている。ここで、fs1はサンプリング周波数である。
【0018】
ノイズ抑圧部104は、均質標本列データDinを構成する複数個の離散データの下位1ビットのふらつき(ノイズ成分)を抑制する。図2は、このノイズ抑圧部104におけるノイズ抑圧の処理例を示している。
【0019】
(1)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して2だけレベルが低く、第3の離散データは第1の離散データに対して1だけレベルが低いという関係がある場合であって、第2の離散データのレベルを矢印で示すように1だけ上げる補正を行う。
【0020】
(2)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して2だけレベルが高く、第3の離散データは第1の離散データに対して1だけレベルが高いという関係がある場合であって、第2の離散データのレベルを矢印に示すように1だけ下げる補正を行う。
【0021】
(3)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して1だけレベルが低く、第3の離散データは第1の離散データと同一レベルという関係がある場合であって、第2の離散データのレベルを矢印に示すように1だけ上げる補正を行う。
【0022】
(4)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して1だけレベルが低く、第3の離散データは第1の離散データに対して1だけレベルが高いという関係がある場合であって、第2の離散データのレベルを矢印に示すように1だけ上げる補正を行う。
【0023】
(5)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して1だけレベルが高く、第3の離散データは第1の離散データに対して1だけレベルが低いという関係がある場合であって、第2の離散データのレベルを矢印に示すように1だけ下げる補正を行う。
【0024】
(6)の処理例は、連続する第1〜第3の離散データに、第2の離散データは第1の離散データに対して1だけレベルが高く、第3の離散データは第1の離散データと同一レベルという関係がある場合であって、第2の離散データのレベルを矢印に示すように1だけ下げる補正を行う。
【0025】
このように、ノイズ抑圧部104を設けて、均質標本列データDinを構成する複数個の離散データの下位1ビットのふらつき(ノイズ成分によることが多い)を抑制することで、後述する均質不均質変換部106の処理で、生成される曲線が本来の正しいデータ値を用いて生成されたものと異なったものとなることを防止でき、時間間隔が不均質な複数個の離散データを安定して得ることが可能となる。
【0026】
1階微分値付加部105は、ノイズ抑圧部104でノイズ抑圧処理が行われた、均質標本列データDinを構成する複数個の離散データのそれぞれに1階微分値を付加する。この1階微分値付加部105は、1階微分値を付加すべき対象の離散データを対象離散データとするとき、この対象離散データの前後に位置する離散データとの差分を用いて1階微分値を生成する。
【0027】
ここで、対象離散データの前後に位置する離散データとして、隣接する離散データの対象離散データとの差分が所定値Dthを越えるときは、その隣接する離散データが用いられ、その差分が所定値Dth以内にあるときは、その隣接する離散データとそれに連続し対象離散データとの差分がDth以内にある全ての離散データとが用いられる。
【0028】
すなわち、対象離散データに付加すべき1階微分値DTは、対象離散データyとその前に位置する離散データとの差分DLおよび対象離散データyとその後に位置する離散データとの差分DRを用いて、(1)式で算出する。
【0029】
DT=(DL+DR)/2 ・・・(1)
【0030】
そして、(1)式における、DLは、対象離散データyとそれに隣接する前側の離散データl1との差分|l1−y|がDthを越えるときは、(2)式によって算出する。
【0031】
DL=y−l1 ・・・(2)
【0032】
また、(1)式におけるDLは、対象離散データyとそれに隣接する前側の離散データl1との差分|y−l1|がDth以内にあるときは、その隣接する離散データl1とそれに連続し離散データyとの差分がDth以内にある全て(L個とする)の離散データとの差分を用いて、(3)式によって算出する。
【0033】
【数1】

【0034】
一方、(1)式における、DRは、対象離散データyとそれに隣接する後側の離散データr1との差分|r1−y|がDthを越えるときは、(4)式によって算出する。
【0035】
DR=r1−y ・・・(4)
【0036】
また、(1)式におけるDRは、対象離散データyとそれに隣接する後側の離散データr1との差分|r1−y|がDth以内にあるときは、その隣接する離散データr1とそれに連続し離散データyとの差分がDth以内にある全て(R個とする)の離散データとの差分を用いて、(5)式によって算出する。
【0037】
【数2】

【0038】
図3は、対象離散データyとそれに隣接する前側(左側)の離散データl1との差分|l1−y|がDthを越えていると共に、対象離散データyとそれに隣接する後側(右側)の離散データr1との差分|r1−y|がDthを越えている状態の一例を示している。この状態では、DL,DRは、上述の(2)式および(4)式で算出される。図3における矢印は、算出された1階微分値DTを示している。
【0039】
図4は、対象離散データyとそれに隣接する前側(左側)の離散データl1との差分|l1−y|がDthにあると共に、対象離散データyとそれに隣接する後側(右側)の離散データr1との差分|r1−y|がDth以内にある状態の一例を示している。
【0040】
この状態では、DLは、対象離散データyの前側にある2個の離散データl1,l2を用いて、(3)式で算出される。また、この状態では、DRは、対象離散データyの後側にある8個の離散データr1〜r8を用いて、(5)式で算出される。
【0041】
このように、1階微分値を求める際、対象離散データに隣接する離散データのレベル値が近い場合に、広範囲にデータを見ることで、本来の連続的な波形時に近い1階微分値を得ることが可能となる。つまり、低周波領域において、より正確に1階微分値を算出できる。図4における矢印は、算出された1階微分値DTを示している。
【0042】
均質不均質変換部106は、1階微分値付加部105で得られた、時間間隔が均質で1階微分値が付加された複数個の離散データから、間引き処理を行って、時間間隔が不均質で1階微分値が付加された複数個の離散データを生成する。この場合、均質不均質変換部106は、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合に、それら1個または複数個の離散データを間引いて、時間間隔が不均質で1階微分値が付加された複数個の離散データを生成する。
【0043】
図5は、均質不均質変換部106で行われる各処理に対応した機能ブロックを示している。この均質不均質変換部106は、均質データ入力部11-0、仮間引き部11-1、曲線生成部11-2、誤差判定処理部11-3および不均質データ出力部11-4を有している。
【0044】
均質データ入力部11-10は、上述したように1階微分値付加部105で得られた、時間間隔が均質で1階微分値が付加された複数個の離散データを入力する。
【0045】
仮間引き部11-1は、均質データ入力部11-0に入力された複数個の離散データに対して、i番目とj番目の離散データの間の離散データを仮間引きして、i,j番目の離散データを、曲線生成および誤差判定処理を行うための2つの離散データに設定する。最初は、i=1、j=i+2とする。
【0046】
この設定に対応して、曲線生成部11-2は、i,j番目の離散データ、i,j番目の離散データに付加されている1階微分値およびi,j番目の離散データの時間間隔情報に基づいて、これらi,j番目の離散データ位置を通過する曲線を生成する。
【0047】
そして、誤差判定処理部11-3は、仮間引き部11-1で仮間引きされたi番目とj番目の離散データの間に存在する離散データと曲線生成部11-2で生成された曲線上の対応する値との差が全て許容誤差範囲内にあるときは、j−1番目の離散データを残さない離散データとすると共に、仮間引き部11-1におけるjを1だけ増加させる。
【0048】
これに対応して、仮間引き部11-1は、新たなi,j番目の離散データを曲線生成および誤差判定処理を行うための2つの離散データに設定する。この設定に対応して、曲線生成部11-2および誤差判定処理部11-3は、上述したと同様の処理をする。
【0049】
一方、誤差判定処理部11-3は、仮間引き部11-1で仮間引きされたi番目とj番目の離散データの間の離散データと曲線生成部11-2で生成された曲線上の値との差が許容誤差範囲内にないときは、j−1番目の離散データを残すべき離散データとすると共に、仮間引き部11-1におけるi,jを、以下のように変更させる。すなわち、iをj−1とし、このiを用いてjをi+2とする。
【0050】
これに対応して、仮間引き部11-1は、新たなi,j番目の離散データを曲線生成および誤差判定処理を行うための2つの離散データに設定する。この設定に対応して、曲線生成部11-2および誤差判定処理部11-3は、上述したと同様の処理をする。
【0051】
なお、誤差判定処理部11-3は、1番目の離散データに関しては、常に残すべき離散データとする。また、仮間引き部11-1、曲線生成部11-2および誤差判定処理部11-3における上述した処理は、均質データ入力部11-0に入力された複数個の離散データの個数がP個であるとき、jがPを越えるまで繰り返し行われる。
【0052】
不均質データ出力部11-4は、上述したように均質データ入力部11-0に入力された複数個の離散データのうち、誤差判定処理部11-3で残すべき離散データとされた、時間間隔が不均質で1階微分値が付加された複数個の離散データを出力する。
【0053】
曲線生成部11-2についてさらに説明する。この曲線生成部11-2は、図6に示すように、i番目の離散データY(i)と、それに付加された1階微分値Y(i)′と、j番目の離散データY(j)と、それに付加された1階微分値Y(j)′と、i,j番目の離散データの時間間隔情報Δtとに基づいて、i,j番目の離散データ位置を通過する曲線Fij(t)を生成する。
【0054】
図7は、各値と、それらの値に基づいて生成される曲線Fij(t)のイメージを示している。なお、この図7において、t(i),t(j)は、それぞれ、離散データY(i),Y(j)に対応した時点を示している。
【0055】
曲線生成部11-2は、例えば、(6)式に基づいて、3次の曲線Fij(t)を生成する。
【0056】
【数3】

【0057】
なお、(6)式におけるcoef3,coef2,coef1,coef0,Xは、それぞれ、Y(i),Y(i)
,Y(j)′,Y(j)′,Δtを用いて、以下の(7)式〜(11)式で算出される。
【0058】
【数4】

【0059】
次に、均質不均質変換部106の処理手順を、図8のフローチャートを参照して、説明する。ここでは、均質データ入力部11-0に、図9に示すように、P個の離散データY(1)〜Y(P)が入力される場合について説明する。これらP個の離散データY(1)〜Y(P)は、それぞれ、t(1)〜t(P)の時点に対応している。
【0060】
まず、ステップST1で、処理を開始し、ステップST2で、P個の離散データY(1)〜Y(P)の全てに残すフラグをたてる。そして、ステップST3で、i=1、j=i+2をセットする。ここで、i,jは、曲線生成および誤差判定処理を行うための2つの離散データを特定するために使用される。
【0061】
次に、ステップST4で、jが総数Pを越えたか否かを判定する。j>Pであるときは、離散データY(1)〜Y(P)の全てに対する処理を終了したことを意味するので、ステップST10で、処理を終了する。一方、ステップST4で、j>Pでないときは、ステップST5に進む。
【0062】
このステップST5では、Y(i),Y(i)′,Y(j),Y(j)′,Δtを用いて、曲線Fij(t)を生成する。そして、ステップST6で、i番目の離散データY(i)とj番目の離散データY(j)の間に存在する離散データY(i+1)〜Y(j-1)と曲線Fij(t)上の対応する値Fij(t(i+1))〜Fij(t(j-1))との差が全て許容誤差範囲内、例えば最下位ビットのレベル範囲内にあるか否かを比較判定する。
【0063】
|Fij(t(k))−Y(k)|<許容誤差(k=i+1〜j−1)が成立するときは、ステップST5と同様の曲線生成により離散データY(j-1)を補間可能であることを意味するので、ステップST7で、離散データY(j-1)のフラグを残さないフラグに置き換える。そして、ステップST8で、jを1だけ増加させて、その後にステップST4に戻り、上述したと同様の処理を繰り返す。
【0064】
例えば、図10(a)に示すように、i番目の離散データY(i)とj番目の離散データY(j)との間の離散データY(j-1)が許容誤差範囲内で補間可能であるときは、図10(b)に示すように、jを1だけ増加させて、同様に曲線生成を行って、i番目の離散データY(i)とj番目の離散データY(j)との間の離散データY(j-1),Y(j-2)が許容誤差範囲内で補間可能であるか否かを判定する。
【0065】
一方、|Fij(t(k))−Y(k)|<許容誤差(k=i+1〜j−1)が成立しないときは、ステップST5と同様の曲線生成では離散データY(j-1)を補間できないことを意味するので、ステップST9で、iをj−1で置き換え、この置き換えたiを用いてjをi+2で置き換える。この場合、離散データY(j-1)のフラグは、ステップST2で立てられた残すフラグのままとなる。このステップST9の処理の後に、ステップST4に戻り、上述したと同様の処理を繰り返す。
【0066】
例えば、図10(b)に示すように、i番目の離散データY(i)とj番目の離散データY(j)との間の離散データY(j-1),Y(j-2)が許容誤差内で補間不可能であるときは、図10(c)に示すように、iをj−1に置き換え、さらにこの置き換えたiを用いてjをi+2に置き換え、同様に曲線生成を行って、i番目の離散データY(i)とj番目の離散データY(j)との間の離散データY(j-1)が許容誤差内で補間可能であるか否かを判定する。
【0067】
図11は、均質不均質変換部106の回路構成例を示している。この回路構成例は、均質不均質変換処理をリアルタイムで実現するためのものである。ここでは、残す離散データの時間間隔情報Δtのビット幅を4ビットとし、最大で15個の離散デーが連続して間引かれるものとする。
【0068】
この均質不均質変換部106は、データバッファ(data_BUF)15-1〜15-3と、微分値バッファ(diff_BUF)15-4〜15-6と、補間値生成・比較判定部15-7と、判定結果バッファ(judg_BUF)15-8,15-9とを有している。
【0069】
離散データおよび1階微分値はそれぞれ1データ/1サイクル(1data/1cycle)で入力される。離散データはデータバッファ15-1に格納されていき、1階微分値は微分値バッファ15-4に格納されていく。これらデータバッファ15-1および微分値バッファ15-4を、ここでは、総じてフレーム0と呼ぶ。フレーム0の内部構成として、16個のデータを1塊としたデータ群(以下、「パケット」と呼ぶ)を9個持つ。
【0070】
フレーム0に全てデータが埋まると、次いで、その1フレーム分のデータは、読み出されて、データバッファ15-2および微分値バッファ15-5に送られて蓄積される。これらデータバッファ15-2および微分値バッファ15-5を、ここでは総じてフレーム1と呼ぶ。そして、このフレーム1に蓄積されたデータを用いて、補間値生成・比較判定部15-7で不均質変換処理、つまり各離散データに対して残すか残さないかを判定していく処理が開始される
【0071】
補間値生成・比較判定部15-7で得られた各離散データに対応した判定結果は、判定結果バッファ15-8に蓄積される。例えば、残すと判定された離散データにはフラグ1を、残さないと判定された、つまり間引くと決められた離散データにはフラグ0を立てるようにされる。
【0072】
フレーム1に蓄積されたデータを用いた補間値生成・比較判定部15-7における不均質変換処理が全て終了すると、次いで、フレーム1に蓄積されている1フレーム分のデータは、読み出されて、データバッファ15-3および微分値バッファ15-6に送られて蓄積されると共に、判定結果バッファ15-8に蓄積されている1フレーム分の判定結果は、読み出されて、判定結果バッファ15-9に送られて蓄積される。データバッファ15-3および微分値バッファ15-6は、ここでは、総じてフレーム2と呼ぶ。
【0073】
判定結果バッファ15-9に蓄積された判定結果に基づいて、フレーム2から残すと判定された離散データおよびそれに付加される1階微分値が順次読み出されて出力される。なお、これら離散データおよび1階微分値の出力タイミングに合わせて、判定結果バッファ15-9から読み出された判定結果も出力される。この判定結果は、後述するように、不均質データ生成部107で、時間間隔情報Δtを得るためのカウンタをリセットする際に使用される。
【0074】
図12は、均質不均質変換部106から出力される、時間間隔が不均質な、1階微分値が付加された複数個の離散データ(不均質な標本列)の一例を示している。この例では、時点taの離散データY(a)および1階微分値Y(a)′の次にはΔtbの時間間隔をおいた時点tbの離散データY(b)および1階微分値Y(b)′が出力される。また、時点tbの離散データY(b)および1階微分値Y(b)′の次にはΔtcの時間間隔をおいた時点tcの離散データY(c)および1階微分値Y(c)′が出力される。以下、同様にして、残すと判定された離散データが所定の時間間隔をもって順次出力される。
【0075】
図13は、図11に示す均質不均質変換部106の回路構成において、バッファ内部へデータがどのように溜められるのかを具体的に示している。1階微分値の付加された入力データは16個毎に1つのパケットを形成する。形成されたパケットはパケット1、パケット2、パケット3、・・・のように名前付けされていき、9個のパケットで1フレーム分のデータを形成している。
【0076】
図13では、パケット1の初めのデータがある時刻iのデータに対応しているとき、パケット1は、データY(i)、Y(i+1)、・・・、Y(i+15)およびその1階微分値Y(i)′、Y(i+1)′、・・・Y(i+15)′で構成される。同様に、パケット2は、データY(i+16)、Y(i+17)、・・・、Y(i+31)およびその1階微分値Y(i+16)′、Y(i+17)′、・・・Y(i+31)′で構成される。以下、パケット3、パケット4、・・・に関しても同様である。そして、パケット9は、データY(i+128)、Y(i+129)、・・・、Y(i+143)およびその1階微分値Y(i+128)′、Y(i+129)′、・・・Y(i+143)′で構成される。これらの入力データとしての各パケットのデータがフレーム0に格納されていく。フレーム0に9パケットのデータが溜まったらフレーム1へデータを送る。
【0077】
次に、フレーム1に蓄積されたデータを用いて補間値生成・比較判定部15-7で行われる不均質変換処理について、具体的に説明する。図5の機能ブロック図および図8のフローチャートを用いて説明したように、不均質変換処理は、i番目の離散データY(i)と、それに付加された1階微分値Y(i)′と、j番目の離散データY(j)と、それに付加された1階微分値Y(j)′と、i,j番目の離散データの時間間隔情報Δtとに基づいて、i,j番目の離散データ位置を通過する曲線Fij(t)を生成し、i番目の離散データY(i)とj番目の離散データY(j)の間に存在する離散データY(i+1)〜Y(j-1)と曲線Fij(t)上の対応する値(補間値)との差が全て許容誤差範囲内にあるか否かを比較判定し、j−1番目の離散データY(j-1)を残すか否かを判定する処理である。ここでは、この行程を1ステップ(1step)と呼ぶ。1ステップにおけるハードウェアでのタイミングチャートは、図14に示すようになる。
【0078】
まず、ある2つの離散データY(i),Y(j)および1階微分値Y(i)′,Y(j)′をフレーム1のデータバッファ15-2および微分値バッファ15-5からロードする。このロードに要するサイクル(cycle)数は2サイクルである。
【0079】
次に、離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′および時間間隔情報Δtに基づいて、時点t(i+1)〜t(j-1)の補間値を算出する。なお、バッファ15-2,15-5からロードしたデータY(i),Y(j)および1階微分値Y(i)′,Y(j)′を、フリップフロップ等を介さず補間値生成・比較判定部15-7にへ送る構成にすることで、2サイクル目の途中から補間値の生成を開始できる。図中の矢印17-1はこれを表現している。補間値生成に要するサイクル数は、後述するように、7サイクルである。なお、補間値生成・比較判定部15-7における補間値生成部の詳細構成については、後述する。
【0080】
次に、離散データY(i+1)〜Y(j-1)のそれぞれと対応する時点t(i+1)〜t(j-1)の補間値との差が全て許容誤差範囲内にあるか否かを比較判定する。そして、判定結果を判定結果バッファ15-8に格納する。このように判定結果バッファ15-8に判定結果を格納している間に、次のステップの処理を開始できる。
【0081】
上述したように、1ステップに係るサイクル数は実質9サイクルである。ところがこれは、1つの離散データを間引くか残すかを判断するために9サイクルかかることを意味しており、1データ/1サイクルで入力されるデータを処理しきれない。
【0082】
そこで、図15に示すように1フレーム内部の9パケットを並列に処理することで、リアルタイム処理を実現する。つまり、フレーム1におけるデータ処理の流れは、以下のようになる。1サイクル目でパケット1のステップ1を開始し、2サイクル目でパケット2のステップ1を開始し、3サイクル目でパケット3のステップ1を開始し、…、9サイクル目でパケット9のステップ1を開始する。同時に1サイクル目でステップ1を開始したパケット1の判定結果が分かるので、その結果に基づき10cycle目でパケット1のステップ2を開始する。以下同様の行程の繰り返しにより9パケット並列に処理を行う。このように各パケットを順次並列に処理することで、補間値生成・比較判定部15-7におけるパイプライン処理を途切らすことなく実行できる。
【0083】
次に、補間値生成・比較判定部15-7における補間値生成部700について説明する。図16は、補間値生成部700の詳細構成を示している。この補間値生成部700は、分配モジュール701と、テーブル703と、係数モジュール704〜706,708と、差分モジュール707と、補間モジュール709-1〜709-15とを有している。
【0084】
分配モジュール701は、入力される離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′および時間間隔情報Δtを、テーブル703、係数モジュール704〜706,708および差分モジュール707のそれぞれに分配して供給する。つまり、テーブル703にはΔtを供給し、係数モジュール704にはY(i)を供給し、係数モジュール705にはΔt,Y(i)′を供給し、係数モジュール706にはΔt,Y(i)′、Y(j)′を供給し、差分モジュール707にはY(i),Y(j)を供給し、係数モジュール708にはΔt,Y(i)′、Y(j)′を供給する。
【0085】
なお、離散データY(i),Y(j)および1階微分値Y(i)′,Y(j)′に関しては、外部に存在するバッファ15-2,15-5から補間値生成・比較判定部15-7にロードされるが(図11参照)、時間間隔情報Δt=t(j)−t(i)に関しては、補間値生成・比較判定部15-7の内部で生成される。
【0086】
テーブル703は、分配モジュール701から供給される時間間隔情報Δtを取り込み、この時間間隔情報Δtに基づいて、上述の(6)式におけるX,X,Xの値を出力する。上述したように、時間間隔情報Δtのビット幅を4ビットであり、均質不均質変換部106では、最大で15個の離散データが連続して間引かれる。このテーブル703からは、S個の時点t(i+1)〜t(j-1)のそれぞれに対応したX,X,Xの値が並行して得られる。ここで、Sの最大値は15である。
【0087】
係数モジュール704は、分配モジュール701から供給される離散データY(i)を取り込み、この離散データY(i)をそのまま係数coef0として出力する((10)式参照))。係数モジュール705は、分配モジュール701から供給される時間間隔情報Δtおよび1階微分値Y(i)′を取り込み、それらに基づいて、上述の(6)式における係数coef1を、(9)式により算出する。
【0088】
差分モジュール707は、分配モジュール701から供給される離散データY(i),Y(j)を取り込み、それらに基づいて、差分値(Y(j)−Y(i))を算出する。そして、この差分モジュール707は、算出した差分値(Y(j)−Y(i))を、係数モジュール706および係数モジュール708のそれぞれに供給する。
【0089】
係数モジュール706は、分配モジュール701から供給される時間間隔情報Δt、1階微分値Y(i)′,Y(j)′および差分モジュール707から供給される差分値(Y(j)−Y(i))を取り込み、それらに基づいて、上述の(6)式における係数coef2を、(8)式により算出する。係数モジュール708は、分配モジュール701から供給される時間間隔情報Δt、1階微分値Y(i)′,Y(j)′および差分モジュール707から供給される差分値(Y(j)−Y(i))を取り込み、それらに基づいて、上述の(6)式における係数coef3を、(7)式により算出する。
【0090】
補間モジュール709-1〜709-15は、それぞれ、係数モジュール704〜706で算出される係数coef0〜coef2、係数モジュール708で算出される係数coef3、さらにはテーブル703から出力されるS個の時点t(i+1)〜t(j-1)のそれぞれに対応したX,X,Xの値を用い、(6)式に基づいて、i番目の離散データY(i)とj番目の離散データY(j)の間に存在する離散データY(i+1)〜Y(j-1)に対応した曲線Fij(t)上の値(補間値)f(1)〜f(S)を並行して生成する。上述したようにSの最大値は15であるので、補間モジュールとして15個の補間モジュール709-1〜709-15が用意されている。
【0091】
この補間値生成部700の動作を説明する。分配モジュール701には、離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′および時間間隔情報Δtが供給される。そして、この分配モジュール701からテーブル703には時間間隔情報Δtが供給され、このテーブル703からは時点t(i),t(j)の間に位置するS個の時点t(i+1)〜t(j-1)のそれぞれに対応したX,X,Xの値が並行して得られ、それぞれ補間モジュール709-1〜709-Sに供給さされる。
【0092】
分配モジュール701から係数モジュール704に離散データY(i)が供給され、この係数モジュール704からその離散データY(i)がそのまま係数coef0として出力される。また、分配モジュール701から係数モジュール705に時間間隔情報Δtおよび1階微分値Y(i)′が供給され、この係数モジュール705では(9)式に基づいて係数coef1が算出される。
【0093】
分配モジュール701から差分モジュール707に離散データY(i),Y(j)が供給され、この差分モジュール707では差分値(Y(j)−Y(i))が算出される。この差分値(Y(j)−Y(i))は係数モジュール706,708にそれぞれに供給される。また、分配モジュール701から係数モジュール706に時間間隔情報Δtおよび1階微分値Y(i)′,Y(j)′が供給され、この係数モジュール706では(8)式に基づいて係数coef2が算出される。また、分配モジュール701から係数モジュール708に時間間隔情報Δtおよび1階微分値Y(i)′,Y(j)′が供給され、この係数モジュール708では(7)式に基づいて係数coef3が算出される。
【0094】
係数モジュール704〜707で算出される係数coef0〜coef2および係数モジュール708で算出される係数coef3は、補間モジュール709-1〜709-Sのそれぞれに供給される。そして、これら補間モジュール709-1〜709-Sでは、それぞれ係数coef0〜coef3およびX,X,Xの値が用いられて、(6)式に基づき、i番目の離散データY(i)とj番目の離散データY(j)の間に存在する離散データY(i+1)〜Y(j-1)に対応した曲線Fij(t)上の値である補間値f(1)〜f(S)が並行して生成される。
【0095】
なお、図16に示す補間値生成部700では、分配モジュール701に1サイクル毎に新たな離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′および時間間隔情報Δtが供給されると共に、補間モジュール709-1〜709-Sから1出力/1サイクルのスループットで補間値f(1)〜f(S)が出力されるように、各処理はパイプライン処理とされる。
【0096】
図17は、そのパイプライン処理の計算過程を示している。
【0097】
1サイクル目では、係数モジュール705で係数foef1を得るためのΔt,Y(i)′の乗算が行われ、係数モジュール706で係数coef2を得るためのY(j)′,2Y(i)′の加算が行われ、差分モジュール707で差分値(Y(j)−Y(i))を得るためのY(j)′,Y(i)′の減算が行われ、係数モジュール708で、係数coef3を得るためのY(j)′,Y(i)′の加算が行われる。
【0098】
2サイクル目では、係数モジュール706で係数coef2を得るための、3,(Y(j)−Y(i))の乗算およびΔt,(Y(j)′+2Y(i)′)の乗算が行われ、係数モジュール708で係数coef3を得るための、−2,(Y(j)−Y(i))の乗算およびΔt,(Y(j)′+Y(i)′)の乗算が行われる。
【0099】
3サイクル目では、係数モジュール706で係数coef2を得るための3(Y(j)−Y(i)),Δt×(Y(j)′+2Y(i)′)の減算が行われ、係数モジュール708で係数coef3を得るための−2(Y(j)−Y(i)),Δt×(Y(j)′+Y(i)′)の加算が行われる。また、この3サイクル目では、テーブル703で、Δtに基づいてX,X,Xの値が求められる。
【0100】
4サイクル目では、補間モジュール709-1〜709-Sで、係数モジュール705で得られた係数coef1とテーブル703で求められたXとの乗算、係数モジュール706で得られた係数coef2とテーブル703で求められたXとの乗算、さらには係数モジュール708で得られた係数coef3とテーブル703で求められたXとの乗算が行われる。
【0101】
5サイクル目では、補間モジュール709-1〜709-Sで、係数モジュール704から出力された係数coef0と(coef1×X)との加算、さらには(coef2×X)と(coef3×X)との加算が行われる。
【0102】
6サイクル目では、(coef1×X+coef0)と(coef3×X+coef2×X)との加算が行われる。そして、7サイクル目では、飽和処理が行われる。この飽和処理は、例えば補間値が8ビットで表される場合に、上述した演算で生成された補間値が255の値を越えるとき、その補間値を255にクリップする処理である。
【0103】
上述のパイプライン処理では、分配モジュール701に入力される所定のY(i),Y(j)、Y(i)′,Y(j)′,Δtに対応する補間値f(1)〜f(S)は7サイクルだけ遅延されて出力される。このように補間値生成部700の各処理をパイプライン化することで、連続して入力される入力データの処理が可能となる。なお、分配モジュール701では、連続して入力される入力データを後段のパイプライン処理にて適切に処理できるように、一定期間データのホールドが行われる。
【0104】
次に、図1に戻って、不均質データ生成部107は、均質不均質変換部106で得られた、1階微分値が付加された複数の離散データに、時間間隔情報Δtを付加して不均質データを生成する。この不均質データ生成部107には、均質不均質変換部106で残された離散データが、1階微分値が付加された状態で、判定結果と共に供給される(図11参照)。
【0105】
判定結果は均質不均質変換部106から残された離散データが供給されるタイミングで1となる。そのため、不均質データ生成部107では、判定結果が1となる毎にリセットされるカウンタを設けることで、残された離散データの時間間隔情報Δtを得ている。
【0106】
図18は、データフォーマットの推移を示している。エンコーダ102に入力されるデータは、Nビットの離散データ(Data)のみからなるが、1階微分値付加部105の出力データは、Nビットの離散データ(Data)に、Kビットの1階微分値が付加されたものとなる。さらに、不均質データ生成部107の出力データは、Nビットの離散データ(Data)に、Kビットの1階微分値およびLビットの時間間隔情報Δtが付加されたものとなる。また、後述するように、デコーダ103のデータ再生部109の出力データは、Mビットの離散データ(Data)のみからなる
【0107】
不均質データ生成部107では、例えば、2つの離散データの時間間隔情報Δtは後の離散データに付加される。上述の図12は均質不均質変換部106から出力される、時間間隔が不均質な、1階微分値が付加された複数個の離散データ(不均質な標本列)の一例を示しているが、例えば、離散データY(a),Y(b)の時間間隔情報Δtbは離散データY(b)に付加され、離散データY(b),Y(c)の時間間隔情報Δtcは離散データY(c)に付加される。
【0108】
次に、デコーダ103について説明する。このデコーダ103は、曲線生成部108と、データ再生部109とを有している。曲線生成部108は、エンコーダ102の不均質データ生成部107で得られた不均質データ、つまり1階微分値および時間間隔情報が付加された時間間隔な不均質な離散データを用い、連続する2つの離散データ毎に、離散データ、1階微分値および時間間隔情報に基づいて、当該2つの離散データ位置を通過する曲線を生成する。なお、図1では、エンコーダ102の不均質データ生成部107で生成された不均質データが直接デコーダ103の曲線生成部108に供給されているが、この不均質データをハードディスクドライブ、半導体メモリ等のストレージ部に一旦蓄積し、その後に所定のタイミングで読み出して曲線生成部108に供給してもよい。
【0109】
この曲線生成部108は、上述した均質不均質変換部106の曲線生成部11-2(図5、図6参照)と同様に、2つの離散データをY(i),Y(j)、それに付加されている1階微分値をY(i)′,Y(j)′、時間間隔情報をΔtとするとき、上述の(6)式に基づいて、3次の曲線Fij(t)を生成する。
【0110】
図19は、この曲線生成部108で生成される曲線(補間曲線)の一例を示している。まず、t=t(a)の離散データY(a)、1階微分値Y(a)′からΔtbの時間間隔をもってt=t(b)の離散データY(b)、1階微分値Y(b)′が存在するが、Δtb、Y(a)、Y(a)′、Y(b)、Y(b)′を用い、(6)式に基づいて、時点t(a),t(b)の離散データY(a),Y(b)のデータ位置を通過する補間曲線Fab(t)を生成する。
【0111】
次に、t=t(b)の離散データY(b)、1階微分値Y(b)′からΔtcの時間間隔をもってt(c)の離散データY(c)、1階微分値Y(c)′が存在するが、Δtc、Y(b)、Y(b)′、Y(c)、Y(c)′を用い、(6)式に基づいて、時点t(b),t(c)の離散データY(b),Y(c)のデータ位置を通過する補間曲線Fbc(t)を生成する。以下同様にして、Fcd(t)、Fde(t)、・・・・を生成する。
【0112】
上述したように、エンコーダ102の均質不均質変換部106では、2つの離散データY(i),Y(j)の間に存在する1個または複数個の離散データが、離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′および時間間隔情報Δtに基づいて生成される当該2つの離散データ位置を通過する曲線Fij(t)で近似できる場合に、それら1個または複数個の離散データを間引くようにしているので、この曲線生成部108で生成される各曲線を用いて、2つの離散データ間の任意の時点の補間値を許容誤差範囲内で得ることが可能となる。
【0113】
データ再生部109は、曲線生成部108で生成された各曲線に基づいて、1/fs2の時間間隔で並んだ複数個の離散データを生成する。この場合、各曲線の値を1/fs2の時間間隔でサンプリングすることで、均質に並んだMビット(Mは正の整数)の複数個の離散データが生成される。ここで、fs2はサンプリング周波数であって、上述したようにエンコーダ102に入力される複数個の離散データに係るサンプリング周波数fs1と同じ周波数あるいは異なる周波数に設定できる。また、各離散データのビット幅Mも、上述したようにエンコーダ102に入力される離散データに係るビット幅Nと同じあるいは異なる値に設定できる。
【0114】
つまり、データ再生部109では、デコーダ103から出力される均質標本列データDoutのサンプリング周波数および分解能を、エンコーダ102に入力される均質標本列データDinのサンプリング周波数および分解能とは無関係に、新たに定義できる。
【0115】
次に、曲線生成部108およびデータ再生部109について説明する。図20は、曲線生成部108およびデータ再生部109の詳細構成を示している。ここでは、一例として、残された離散データの時間間隔情報Δtのビット幅は4ビットであり、最大で15個の離散デーが連続して間引かれているものとする。また、入出力のサンプリング周波数fs1,fs2は同一とする。
【0116】
この曲線生成部108およびデータ再生部109は、分配モジュール711と、カウンタモジュール712と、テーブル713と、係数モジュール714〜716,718と、差分モジュール717と、補間モジュール719とを有している。
【0117】
分配モジュール711は、入力される離散データ(Data)、1階微分値、時間間隔情報Δtに基づき、連続する2つの離散データY(i),Y(j)、それに付加されている1階微分値Y(i)′,Y(j)′および時間間隔情報Δtを、カウンタモジュール712、係数モジュール714〜716,718および差分モジュール717のそれぞれに分配して供給する。
【0118】
つまり、カウンタモジュール712にはΔtを供給し、係数モジュール714にはY(i)を供給し、係数モジュール715にはΔt,Y(i)′を供給し、係数モジュール716にはΔt,Y(i)′、Y(j)′を供給し、差分モジュール717にはY(i),Y(j)を供給し、係数モジュール718にはΔt,Y(i)′、Y(j)′を供給する。
【0119】
カウンタモジュール712は、分配モジュール711から供給される時間間隔情報Δtが供給される毎に0にリセットし、その後1サイクル毎に、カウントアップしていく。2つの離散データY(i),Y(j)の間にはt(i+1)〜t(j-1)の時点に対応したS個の離散データY(i+1)〜Y(i-1)を生成する必要がある。カウンタモジュール712で上述したようにカウントアップしていくことで、テーブル713から、離散データY(i),Y(i+1)〜Y(i-1)を得るための、上述の(6)式におけるX,X,Xの値を順次出力させることが可能となる。
【0120】
テーブル703は、カウンタモジュール712から供給される時間間隔情報Δtおよびカウント値に基づいて、上述の(6)式におけるX,X,Xの値を出力する。上述したように、時間間隔情報Δtのビット幅を4ビットであり、均質不均質変換部106では最大で15個の離散データが連続して間引かれている。このテーブル713は、S+1個の時点t(i),t(i+1)〜t(j-1)のそれぞれに対応したX,X,Xの値を、カウント値の変化に対応して1サイクル毎に出力する。
【0121】
係数モジュール714は、図16の補間値生成部700を構成する係数モジュール704と同様に、分配モジュール711から供給される離散データY(i)を取り込み、それをそのまま係数coef0として出力する((10)式参照))。係数モジュール715は、図16の補間値生成部700を構成する係数モジュール705と同様に、分配モジュール711から供給される時間間隔情報Δtおよび1階微分値Y(i)′を取り込み、それらに基づいて、上述の(6)式における係数coef1を、(9)式により算出する。
【0122】
差分モジュール717は、図16の補間値生成部700を構成するサブモジュール707と同様に、分配モジュール711から供給される離散データY(i),Y(j)を取り込み、それらに基づいて、差分値(Y(j)−Y(i))を算出する。そして、この差分モジュール717は、算出した差分値を、係数モジュール716および係数モジュール718のそれぞれに供給する。
【0123】
係数モジュール716は、図16の補間値生成部700を構成する係数モジュール706と同様に、分配モジュール711から供給される時間間隔情報Δt、1階微分値Y(i)′,Y(j)′および差分モジュール717から供給される差分値(Y(j)−Y(i))を取り込み、それらに基づいて、上述の(6)式における係数coef2を、(8)式により算出する。
【0124】
係数モジュール718は、図16の補間値生成部700を構成する係数モジュール708と同様に、分配モジュール711から供給される時間間隔情報Δt、1階微分値Y(i)′,Y(j)′および差分モジュール717から供給される差分値(Y(j)−Y(i))を取り込み、それらに基づいて、上述の(6)式における係数coef3を、(7)式により算出する。
【0125】
補間モジュール719は、係数モジュール714〜716で算出される係数coef0〜coef2、係数モジュール718で算出される係数coef3、さらにはテーブル713から出力されるX,X,Xの値を用いて、(6)式に基づいて、i番目の離散データY(i)と、このi番目の離散データY(i)とj番目の離散データY(j)の間に存在するS個の離散データY(i+1)〜Y(j-1)を、1サイクル毎に、順次生成して出力する。
【0126】
この曲線生成部108、データ再生部109の動作を説明する。分配モジュール711には、離散データ(Data)、1階微分値、時間間隔情報Δtが供給される。そして、この分配モジュール711からカウンタモジュール712には時間間隔情報Δtが供給される。このカウンタモジュール712では、時間間隔情報Δtが供給される毎に0にカウンタがリセットされ、その後1サイクル毎に、カウント値がインクリメントされていく。
【0127】
このカウンタモジュール712からテーブルに、時間間隔情報Δtおよびカウント値が供給される。そして、このテーブル713からは、S+1個の時点t(i),t(i+1)〜t(j-1)のそれぞれに対応したX,X,Xの値が1サイクル毎に順次出力される。このX,X,Xの値は補間モジュール719に供給さされる。
【0128】
分配モジュール711から係数モジュール714に離散データY(i)が供給され、この係数モジュール714からその離散データY(i)がそのまま係数coef0として出力される。また、分配モジュール711から係数モジュール715に時間間隔情報Δtおよび1階微分値Y(i)′が供給され、この係数モジュール715では(9)式に基づいて係数coef1が算出される。
【0129】
分配モジュール711から差分モジュール717に離散データY(i),Y(j)が供給され、この差分モジュール717では差分値(Y(j)−Y(i))が算出される。この差分値(Y(j)−Y(i))は係数モジュール716,718にそれぞれに供給される。また、分配モジュール711から係数モジュール716に時間間隔情報Δtおよび1階微分値Y(i)′,Y(j)′が供給され、この係数モジュール716では(8)式に基づいて係数coef2が算出される。また、分配モジュール711から係数モジュール708に時間間隔情報Δtおよび1階微分値Y(i)′,Y(j)′が供給され、この係数モジュール718では(7)式に基づいて係数coef3が算出される。
【0130】
係数モジュール714〜717で算出される係数coef0〜coef2および係数モジュール718で算出される係数coef3は、補間モジュール719に供給される。この補間モジュール719では、係数coef0〜coef3およびX,X,Xの値が用いられて、(6)式に基づき、i番目の離散データY(i)と、このi番目の離散データY(i)とj番目の離散データY(j)の間に存在するS個の離散データY(i+1)〜Y(j-1)とが、1サイクル毎に、順次生成されて出力される。
【0131】
なお、図20に示す曲線生成部108およびデータ再生部109では、補間モジュール719から1出力/1サイクルのスループットで離散データが出力されるように、各処理はパイプライン処理とされる。詳細説明は省略するが、そのパイプライン処理の計算過程は、上述の図16に示す補間値生成部700のパイプライン処理の計算過程と同様である(図17参照)。分配モジュール711では、連続して入力される入力データを後段のパイプライン処理にて適切に処理できるように、一定期間データのホールドが行われる。
【0132】
図21は、図20に示す曲線生成部108およびデータ再生部109における入出力のタイミングチャートを示している。時間間隔情報Δtのビット幅が4ビットであるため、入力されるデータの間引き量の最大値は15である。一方、デコーダ103は2つの離散データY(i),Y(j)の入力があって初めて補間曲線を引くことができる。そのため、初めて入力されるデータに対して、一定期間値をホールドしておく必要があり、それがタイミングチャートで示される18サイクルである。また、18サイクル後に処理が始まり、そこから8サイクル後に最初の補間値が出力される。以後、デコーダ103は1出力/1サイクルのスループットで出力し続けることができる。
【0133】
上述したように、図20に示す処理構造により、不均質なデータ間から間引かれた補間点を補間し、均質なデータを得ることが可能となる。また、図20に示す回路構成は一例であり、これに限るものではない。また、図20に示す曲線生成部108およびデータ再生部109は、図16に示す均質不均質変換部106を構成する補間値生成部700と共通の回路構成を持っているので、この補間値生成部700と大部分の回路を共通化可能である。
【0134】
次に、図1に示すデータ処理装置100の動作を説明する。エンコーダ102のノイズ抑圧部104に、1/fs1の時間間隔で並んだそれぞれNビットの複数個の離散データからなる均質標本列データDinが入力される。そして、ノイズ抑圧部104では、均質標本列データDinを構成する複数個の離散データの下位1ビットのふらつき(ノイズ成分)が抑制される(図2参照)。
【0135】
ノイズ抑圧部104でノイズ抑圧処理された均質標本列データDinは1階微分値付加部105に供給される。この1階微分値付加部105では、ノイズ抑圧部104でノイズ抑圧処理が行われた、均質標本列データDinを構成する複数個の離散データのそれぞれに1階微分値DTが付加される(図3,図4参照)。このように各離散データに1階微分値DTを付加することで、後述する均質不均質変換部106およびデコーダ103の曲線生成部108で、2つの離散データに係る曲線を生成することが可能となる。
【0136】
1階微分値付加部105で得られた、時間間隔が均質で1階微分値が付加された複数個の離散データは、均質不均質変換部106に供給される。この均質不均質変換部106では、間引き処理が行われて、時間間隔が不均質で1階微分値が付加された複数個の離散データが生成される。
【0137】
すなわち、この均質不均質変換部106では、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合に、それら1個または複数個の離散データが間引かれて、時間間隔が不均質で1階微分値が付加された複数個の離散データが生成される(図7,図10参照)。
【0138】
均質不均質変換部106で得られた、1階微分値が付加された複数の離散データは不均質データ生成部107に供給される。この不均質データ生成部106では、均質不均質変換部106で得られた、1階微分値が付加された複数の離散データに、時間間隔情報Δtが付加されて不均質データが生成される(図18参照)。
【0139】
不均質データ生成部107で生成された不均質データ、つまり1階微分値および時間間隔情報Δtが付加された時間間隔が不均質な離散データは、直接あるいはストレージ部を介してデコーダ103の曲線生成部108に供給される。この曲線生成部108では、連続する2つの離散データ毎に、離散データ、1階微分値および時間間隔情報に基づいて、当該2つの離散データ位置を通過する曲線が生成される(図19参照)。
【0140】
エンコーダ102の均質不均質変換部106では、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報Δtに基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合に、それら1個または複数個の離散データを間引くようにしているので、この曲線生成部108で生成される各曲線を用いて、2つの離散データ間の任意の時点の補間値を許容誤差範囲内で得ることが可能となる。
【0141】
データ再生部109では、曲線生成部108で生成された各曲線に基づいて、1/fs2の時間間隔で並んだ複数個の離散データが生成される。この場合、各曲線の値を1/fs2の時間間隔でサンプリングすることで、均質に並んだMビット(Mは正の整数)の複数個の離散データが生成される。このデータ再生部109では、デコーダ103から出力される均質標本列データDoutのサンプリング周波数および分解能を、エンコーダ102に入力される均質標本列データDinのサンプリング周波数および分解能とは無関係に、新たに定義できる。
【0142】
図1に示すデータ処理装置100によれば、1/fs1の時間間隔で並んだそれぞれNビットの複数個の離散データに1階微分値を付加し、2つの離散データの間に存在する1個または複数個の離散データが、離散データ、1階微分値および時間間隔情報に基づいて生成される当該2つの離散データ位置を通過する曲線で近似できる場合にそれら1個または複数個の離散データを間引いて、時間間隔が不均質で1階微分値および時間間隔情報が付加された複数個の離散データを生成し、その後に、この複数個の離散データを用い、連続する2つの離散データ毎に、離散データ、1階微分値および時間間隔情報に基づいて当該2つの離散データ位置を通過する曲線を生成し、各曲線に基づいて1/fs2の時間間隔で並んだそれぞれMビットの複数個の離散データを得るものであり、分解能を再定義でき、かつ必要な帯域まで再生可能となる。
【0143】
図22は、この発明の適用例を示している。図22Aは8ビットの離散データをエンコードした例であり、エンコードにより残された標本点(離散データ)と間引かれた標本点(離散データ)の位置を示している。図22Bは、この残された標本点(離散データ)から曲線生成部により曲線を生成して補間し、14ビット出力として得た例である。なお、入出力のサンプリング周波数は同一である。
【産業上の利用可能性】
【0144】
この発明は、均質標本列データの分解能およびサンプリング周波数を再定義でき、例えば画素数が異なる種々のディスプレイ用の画像データを得る場合などに利用できる。
【図面の簡単な説明】
【0145】
【図1】実施の形態としてのデータ処理装置の構成を示すブロック図である。
【図2】ノイズ抑圧部におけるノイズ抑圧処理例を示す図である。
【図3】1階微分値DTの求め方を説明するための図である。
【図4】1階微分値DTの求め方を説明するための図である。
【図5】均質不均質変換部で行われる各処理に対応した機能ブロックを示す図である。
【図6】曲線生成部の入出力を示す図である。
【図7】離散データY(i),Y(j)、1階微分値Y(i)′,Y(j)′、時間間隔情報Δtを用いた曲線生成処理を説明するための図である。
【図8】均質不均質変換部の処理動作を説明するためのフローチャートである。
【図9】時間間隔が均質な離散データの一例を示す図である。
【図10】均質不均質変換処理の具体例を示す図である。
【図11】均質不均質変換部の回路構成を示すブロック図である。
【図12】不均質な標本列の一例を示す図である。
【図13】均質不均質変換部のバッファ内部へデータがどのように溜められるのかを具体的に示す図である。
【図14】補間値生成・比較判定部の処理手順を示すタイミングチャートである。
【図15】補間値生成・比較判定部における9パケットの並列処理を説明するための図である。
【図16】補間値生成・比較判定部を構成する補間値生成部の構成を示すブロック図である。
【図17】補間値生成部におけるパイプライン処理の計算過程を示す図である。
【図18】データ処理装置におけるデータフォーマットの推移を示す図である
【図19】補間値生成部における補間曲線の生成処理を説明するための図である。
【図20】曲線生成部、データ再生部の回路構成を示すブロック図である。
【図21】曲線生成部、データ再生部の入出力のタイミングチャートである。
【図22】この発明の適用例を示す図である。
【符号の説明】
【0146】
100・・・データ処理装置、102・・・エンコーダ、103・・・デコーダ、104・・・ノイズ抑圧部、105・・・1階微分値付加部、106・・・均質不均質変換部、107・・・不均質データ生成部、108・・・曲線生成部、109・・・データ再生部

【特許請求の範囲】
【請求項1】
第1の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに1階微分値を付加する1階微分値付加部と、
上記1階微分値付加部で得られた、1階微分値が付加された複数個の離散データを用い、2つの離散データの間に存在する1個または複数個の離散データと、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて生成された該2つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該2つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、それぞれ上記1階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた上記1階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と、
上記不均質データ生成部で生成された不均質データを用い、連続する2つの離散データ毎に、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて、該2つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第1の時間間隔と同じあるいは異なる第2の時間間隔で並んだそれぞれMビット(Mは上記Nと同じまたは異なる正の整数)の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置。
【請求項2】
上記1階微分値付加部は、
1階微分値を付加すべき対象の離散データを対象離散データとするとき、
該対象離散データと該対象離散データの前後に位置する離散データとの差分を用いて1階微分値を生成し、
上記対象離散データの前後に位置する離散データとして、隣接する離散データの上記対象離散データとの差分が所定値を越えるときは、該隣接する離散データを用い、該差分が上記所定値以内にあるときは、該隣接する離散データとそれに連続し上記対象離散データとの差分が所定値以内にある全ての離散データとを用いる
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
上記均質不均質変換部の前段に挿入される、上記複数個の離散データの下位1ビットのふらつきを抑制するノイズ抑圧部をさらに備える
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項4】
所定の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された各離散データのそれぞれに1階微分値を付加する1階微分値付加部と、
上記1階微分値付加部で得られた、1階微分値が付加された複数個の離散データを用い、2つの離散データの間に存在する1個または複数個の離散データと、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて生成された該2つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該2つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、上記1階微分値が付加された複数個の離散データを得る均質不均質変換部と、
上記均質不均質変換部で得られた時間間隔が不均質で上記1階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成部と
を備えることを特徴とするデータ処理装置。
【請求項5】
上記不均質データ生成部より出力される不均質データを蓄積するストレージ部をさらに備える
ことを特徴とする請求項4に記載のデータ処理装置。
【請求項6】
第1の時間間隔で並んだそれぞれNビット(Nは正の整数)の複数個の離散データを入力するデータ入力ステップと、
上記データ入力ステップで入力された各離散データのそれぞれに1階微分値を付加する1階微分値付加ステップと、
上記1階微分値付加ステップで得られた、1階微分値が付加された複数個の離散データを用い、2つの離散データの間に存在する1個または複数個の離散データと、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて生成された該2つの離散データ位置を通過する曲線上の値との差が許容誤差範囲内にあるとき、該2つの離散データの間に存在する上記1個または複数個の離散データを間引いて、時間間隔が不均質な、上記1階微分値が付加された複数個の離散データを得る均質不均質変換ステップと、
上記均質不均質変換ステップで得られた時間間隔が不均質で上記1階微分値が付加された複数の離散データに時間間隔情報を付加して不均質データを生成する不均質データ生成ステップと
を備えることを特徴とするデータ処理装方法。
【請求項7】
時間間隔が不均質でそれぞれ1階微分値および時間間隔情報が付加された複数個の離散データを入力するデータ入力部と、
上記データ入力部に入力された複数個の離散データを用い、連続する2つの離散データ毎に、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて、該2つの離散データ位置を通過する曲線を生成する曲線生成部と、
上記曲線生成部で生成された各曲線に基づいて、上記第1の時間間隔と同じあるいは異なる第2の時間間隔で並んだそれMビット(Mは上記Nと同じまたは異なる正の整数)の複数個の離散データを生成して出力するデータ再生部と
を備えることを特徴とするデータ処理装置。
【請求項8】
時間間隔が不均質で、それぞれ1微分値および時間間隔情報が付加された複数個の離散データを入力するデータ入力ステップと、
上記データ入力ステップで入力された複数個の離散データを用い、連続する2つの離散データ毎に、該2つの離散データ、該2つの離散データに付加されている1階微分値および該2つの離散データの時間間隔情報に基づいて、該2つの離散データ位置を通過する曲線を生成する曲線生成ステップと、
上記曲線生成ステップで生成された各曲線に基づいて、所定の時間間隔で並んだそれぞれMビット(Mは上記Nと同じまたは異なる正の整数)の複数個の離散データを生成して出力するデータ再生ステップと
を備えることを特徴とするデータ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2007−318287(P2007−318287A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−143752(P2006−143752)
【出願日】平成18年5月24日(2006.5.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】