JP3566568B2 - サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体 - Google Patents

サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体 Download PDF

Info

Publication number
JP3566568B2
JP3566568B2 JP36140798A JP36140798A JP3566568B2 JP 3566568 B2 JP3566568 B2 JP 3566568B2 JP 36140798 A JP36140798 A JP 36140798A JP 36140798 A JP36140798 A JP 36140798A JP 3566568 B2 JP3566568 B2 JP 3566568B2
Authority
JP
Japan
Prior art keywords
value
sample data
parameter
output
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36140798A
Other languages
English (en)
Other versions
JP2000182029A (ja
Inventor
正 小野
達郎 重里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP36140798A priority Critical patent/JP3566568B2/ja
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to US09/554,751 priority patent/US6771877B1/en
Priority to PCT/JP1999/005247 priority patent/WO2000019718A1/ja
Priority to EP99944835A priority patent/EP1033874A4/en
Priority to CNB2004100856136A priority patent/CN1326395C/zh
Priority to CNB998024325A priority patent/CN1178490C/zh
Publication of JP2000182029A publication Critical patent/JP2000182029A/ja
Priority to US10/871,281 priority patent/US7209634B2/en
Application granted granted Critical
Publication of JP3566568B2 publication Critical patent/JP3566568B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル映像信号や音声信号のサンプルデータの変換を行うサンプルデータ列変換方法、分配点値算出方法およびサンプルデータ除算方法と、プログラム記録媒体とに関するものである。
【0002】
【従来の技術】
ディジタル映像信号の解像度変換や、ディジタル音声信号の周波数変換などを行うとき、サンプル数を変更するサンプルデータ変換が必要となる。
【0003】
これまで、ディジタルデータのサンプル数変換を行う場合、入力ディジタルデータをアップサンプリングした後、低域通過フィルタを作用させて、出力サンプル数に応じて間引きを行う方法が一般的である。
【0004】
以下、図11を用いて従来のサンプルデータ変換を説明する。図11は、従来のサンプルデータ変換の一例について説明した図である。図11の例は、400個のサンプルで構成される入力サンプルデータ列X[i]を、300個のサンプルで構成される出力サンプルデータ列Y[j]に変換する場合のサンプルデータ列変換を示したものである。
【0005】
最初に、入力サンプルデータ列X[i]からアップサンプリングされたデータ列Z[k]を得る。アップサンプリングを行う場合、データ列Z[k]に変換後の出力サンプルデータ列Y[j]の全てのサンプル値Y[j]が含まれるように、入力サンプルデータ列X[i]に対して補間を行う必要がある。従って、アップサンプリングされたデータ列Z[k]のサンプル数は、入力サンプルデータ列X[i]のサンプル数と出力サンプルデータ列Y[j]のサンプル数の最小公倍数となる。つまり、変換前のサンプル数と変換後のサンプル数の最小公倍数となる。この例ではアップサンプリングされたデータ列Z[k]のサンプル数は、400と300の最小公倍数である1200となる。
【0006】
そして、アップサンプリングされたデータ列Z[k]に対して、折り返し歪みを除去するために低域通過フィルタを作用させた後、不要なサンプルを間引くことで、出力サンプルデータ列Y[j]を得ることができる。図11の場合では、アップサンプリングされたデータ列Z[k]から、例えば最初のサンプルを選択するとともに、その最初のサンプルから4サンプル毎に1つずつサンプルを選択することによって出力サンプルデータ列Y[j]を得ることができる。
【0007】
上記方法については、例えば特開平10−164468号に開示されている。
【0008】
ところで、上述したアップサンプリングされたデータ列Z[k]の各サンプルを求める場合、入力サンプルデータ列X[i]の隣り合う2つのサンプルX[i]とX[i+1]との間のサンプルの値を、そのX[i]およびX[i+1]との距離の比(1−w):w(0≦w≦1)に基づいて加重平均して求めるという演算が頻繁に登場する。このように、2つの数A1とA2の間の所定の位置に存在する数AXを、A1およびA2からの距離の比を利用して求める場合、以下に示す(数12)が成立するとき、数AXの値は以下に示す(数13)で表現される。
【0009】
【数12】
(数A1とAXとの距離):(数AXとA2との距離)=(1−w):w
ただし0≦w≦1
【0010】
【数13】
AX=w×A1+(1−w)×A2
このように、隣り合う2つの数A1とA2の間の数AXを計算機上で求める場合、図12のフローチャートに基づく方法をとるのが一般的である。
【0011】
図12において、1201は第1ロードステップ、1202は第2ロードステップ、1203は第3ロードステップ、1204は第4ロードステップ、1205は第1乗算ステップ、1206は減算ステップ、1207は第2乗算ステップ、1208は加算ステップ、1209は出力ステップである。
【0012】
以下、図12のフローチャートの動作を説明する。
【0013】
入力された2つのサンプル値A1、A2およびパラメータwは、それぞれ第1ロードステップ1201、第2ロードステップ1202、第3ロードステップ1203でそれぞれレジスタA、レジスタB、レジスタCにロードされ、さらに第4ロードステップ1204で数値1がレジスタDにロードされる。
【0014】
次に第1乗算ステップ1205で、レジスタAに対してレジスタCの内容が乗算される。乗算後、レジスタAには(w×A1)が保持される。
【0015】
次に減算ステップ1206で、レジスタDに対してレジスタCの内容が減算される。減算後、レジスタDには(1−w)が保持される。
【0016】
次に第2乗算ステップ1207で、レジスタBに対してレジスタDの内容が乗算される。乗算後、レジスタBには(1−w)×A2が保持される。
【0017】
次に加算ステップ1208で、レジスタAに対してレジスタBの内容が加算される。加算後、レジスタAには(w×A1+(1−w)×A2)が保持される。
【0018】
最後に出力ステップ1209で、AXつまり、(w×A1+(1−w)×A2)が出力される。
【0019】
この例で1個の数AXを求めるために必要な操作は、4つのロード、2つの乗算、減算および加算である。
【0020】
以上説明したサンプルデータ変換は、近年の計算機技術の向上により、専用のハードウェアのみならず、パーソナルコンピュータ(PC)上においても、比較的高速に実現できるようになってきている。
【0021】
【発明が解決しようとする課題】
しかしながら、上述したようなサンプルデータ変換を、PC上でソフトウェアによって実現させるとき、以下のような問題が生じる。
【0022】
アップサンプリングを行う場合、変換後のサンプルがすべて含まれるようにデータを補間する必要がある。従って、アップサンプリングされたデータ列のサンプル数は、変換前のサンプル数と変換後のサンプル数の最小公倍数となる。
【0023】
しかし、変換前のサンプル数Mと変換後のサンプル数Nがともに小さくても、M、Nが互いに疎な自然数であれば、アップサンプリングされたデータ列のサンプル数はM×Nとなり、場合によっては大きな数値になる。このときアップサンプリングされたデータ列を保持するために、非常に大きな容量を有するメモリが必要になる。さらにこの場合、アップサンプリングするさい、膨大な数の乗算および除算を必要とするので、そのアップサンプリングに要する演算量は膨大なものとなる。また、低域通過フィルタリングを含む間引きに要する演算量も膨大なものとなる。このように、膨大な演算を必要とするので、膨大な時間を要する。これは、リアルタイム性が要求される映像信号処理や音声信号処理においては、致命的な欠陥となりうる。
【0024】
そこで、本発明は、従来では、任意の数のサンプルから構成される入力ディジタル信号を、そのサンプルの数とは異なる任意の数のサンプルから構成される出力ディジタル信号へ変換するさい、大容量のメモリが必要であるとともに、演算量が膨大であるという課題を考慮し、任意の数のサンプルから構成される入力ディジタル信号から、その入力ディジタル信号を構成するサンプルの数とは異なる任意の数のサンプルから構成される出力ディジタル信号へ変換するさい、小さなメモリ容量および演算量でその変換を実現することができるサンプルデータ列変換方法を提供することを目的とするものである。
【0025】
また、図12のフローチャートを用いて説明したように、従来は、A1とA2という2つの数から1つの数AXを算出するさい、4つのロード、2つの乗算、減算および加算を行わなければならないので、処理工程が多く演算時間が短くなかった。例えば、上述したサンプルデータ列変換を行うさい、変換後のサンプル数が膨大であれば、演算時間は相当長くなる。これは、リアルタイム性が要求される映像信号処理や音声信号処理においては、致命的な欠陥となりうる。
【0026】
そこで、本発明は、従来2つの数から1つの数を算出するさい、処理工程が多いという課題を考慮し、処理工程を少なくして2つの数から1つの数を算出することができる分配点値算出方法を提供することを目的とするものである。
【0027】
さらに、例えば上述したサンプルデータ列変換を行う場合、膨大な回数の除算をすることになるが、PCにとっては除算という作業は負担が大きい作業である。したがって、例えばサンプルデータ列変換を行うさい、変換後のサンプル数が膨大であれば、除算に相当量の負担がかかり、演算時間は相当長くなる。これは、リアルタイム性が要求される映像信号処理や音声信号処理においては、致命的な欠陥となりうる。
【0028】
そこで、本発明は、従来の装置では、多数個のサンプルから構成されるサンプルデータ列のそれぞれのサンプルを除算する場合、負担が大きいという課題を考慮し、多数個のサンプルから構成されるサンプルデータ列のそれぞれのサンプルを除算する場合であっても、小さい負担で除算を行うことができるサンプルデータ除算方法を提供することを目的とするものである。
【0029】
【課題を解決するための手段】
上記課題を鑑み、第1の本発明(請求項1に対応)は、M個のサンプルから構成される入力サンプルデータ列を、N個のサンプルから構成される出力サンプルデータ列に変換するサンプルデータ列変換方法であって、
前記入力サンプルデータ列の第i(0≦i≦M−1)番目のサンプルの値をX[i]とし、前記出力サンプルデータ列の第j(0≦j≦N−1)番目のサンプルの値をY[j]としたとき、
前記M、前記Nおよび、0を除く所定の定数kを入力する入力ステップと、
初期値が、前記kと前記Nの積kNと0との間の所定の値、または前記積kNであるパラメータWと、前記iおよび前記jの初期値がともに0であるということと、前記X[i]のiを前記Mに置き換えたときのX[M]がX[M−1]であるということと、が設定される初期設定ステップと、
前記定数kが正(k>0)の場合、前記パラメータWが0以下(W≦0)であるか否かを判定し、前記定数kが負(k<0)の場合、前記パラメータWが0以上(W≧0)であるか否かを判定する第1判定ステップと、
前記第1判定ステップによって前記判定が行われた後に、前記定数kが正(k>0)の場合、前記パラメータWが0を超える(W>0)とき前記iの値を変更せず、前記パラメータWが0以下(W≦0)のとき前記iの値を(i+1)に変更するとともに、そのパラメータWの値を(W+k×N)に変更し、前記定数kが負(k<0)の場合、前記パラメータWが0未満(W<0)のとき前記iの値を変更せず、前記パラメータWが0以上(W≧0)のとき前記iの値を(i+1)に変更するとともに、前記パラメータWの値を(W+k×N)に変更する第1設定値更新ステップと、
前記第1設定値更新ステップによって決定されたiの値およびパラメータWと、前記k、前記N、前記X[i]およびX[i+1]を用いた(数1)に基づいて、前記出力サンプルデータ列の第j番目のサンプルの値Y[j]を算出するY[j]算出ステップと、
【0030】
【数1】
Y[j]=((k×N−W)×X[i+1]+W×X[i])/(k×N)
前記Y[j]算出ステップによって算出されたY[j]を出力するサンプルデータ出力ステップと、
前記Y[j]算出ステップによって所定の前記jに対応する前記Y[j]が算出された後に、そのY[j]の算出に用いたパラメータWの値を(W−k×M)に変更するとともに、前記所定のjの値を(j+1)に変更する第2設定値更新ステップと、
前記第2設定値更新ステップによって更新されたjの値が前記N未満であるか否かを判定する第2判定ステップとを備え、
前記第2判定ステップによって、前記更新されたjの値が前記N未満であると判定された場合、前記第1判定ステップは引き続き前記所定の処理を行い、前記更新されたjの値が前記N以上であると判定された場合、全ての処理を終了し、
記jの値が小さいものから順にY[j]を算出することを特徴とするサンプルデータ列変換方法である。
【0031】
第2の本発明(請求項5に対応)は、所定の2つの数X1およびX2のデータを入力するデータ入力ステップと、
前記X1とX2との距離を(1−w):wの比を満たす割合で分配する位置の数Yを求めるためのパラメータwを入力するパラメータ入力ステップと、
前記X1から前記X2を減算してX3を生成する減算ステップと、
前記減算ステップによって得られたX3を前記パラメータw倍してX4を生成するw倍ステップと、
前記w倍ステップによって得られたX4に前記X2を加算してYを生成する加算ステップと、
前記加算ステップによって得られた前記Yを出力する出力ステップとを
備えたことを特徴とする分配点値算出方法である。
【0032】
第3の本発明(請求項6に対応)は、N個のディジタル信号のサンプルから構成される入力サンプルデータ列の第i(0≦i≦N−1)番目のサンプルの値をX[i]とし、前記入力サンプルデータ列の各サンプルを所定の定数Aで除算したY[i](0≦i≦N−1)を出力サンプルデータ列として出力するサンプルデータ除算方法であって、
記Aを、所定の定数Qを2^k(^はべき乗を表し、kは所定の自然数を表すとする)で除算したものであるとするとき、
前記N、前記Qおよび、前記kを入力する入力ステップと、
前記iの初期値が0であるということと、(数2)を満たす所定の係数Wとが設定される初期設定ステップと、
【0033】
【数2】
W=(2^k)/Q (ただし^はべき乗を表す)
前記X[i]を、前記初期設定ステップで得られた係数W倍してZ[i]を生成するW倍ステップと、
前記W倍ステップにより得られたディジタル信号Z[i]を下位ビット側に前記kビットシフトしてディジタル信号Y[i]を生成するビットシフトステップと、
前記ビットシフトステップによって生成されたY[i]を出力するサンプルデータ出力ステップと、
所定の前記iに対応する前記Y[i]が算出された後に、そのiの値を(i+1)に変更する設定値更新ステップと、
前記設定値更新ステップによって更新されたiの値が前記N未満であるか否かを判定する判定ステップとを備え、
前記判定ステップによって、前記更新されたiの値が前記N未満であると判定された場合、前記更新されたiに対応するX[i]に対して、前記W倍ステップ、前記ビットシフトステップ、前記サンプルデータ出力ステップ、及び前記設定値更新ステッップの各ステップを実施し、前記更新されたiの値が前記N以上であると判定された場合、全ての処理を終了し、
記iの値が小さいものから順にY[i]を算出することを特徴とするサンプルデータ除算方法である。
【0034】
【発明の実施の形態】
以下に、本発明の実施の形態を図面に基づいて説明する。
【0035】
(第1の実施の形態)
本発明の第1の実施の形態のサンプルデータ列変換装置の構成をその動作とともに説明する。
【0036】
図1に、本発明の第1の実施の形態のサンプルデータ列変換装置のブロック図を示す。図1に示すように、第1の実施の形態のサンプルデータ列変換装置は、入力手段1と、初期設定手段2と、第1判定手段3と、第1設定値更新手段4と、Y[j]算出手段5と、サンプルデータ出力手段6と、第2設定値更新手段7と、第2判定手段8から構成される。
【0037】
次に図2に、第1の実施の形態のサンプルデータ列変換装置の動作のフローチャートを示す。図2において、201は初期設定ステップ、202は第1判定ステップ、203はサンプルデータ出力ステップ、204は減算ステップ、205は第2判定ステップ、206は加算ステップである。
【0038】
次に図3に、第1の実施の形態のサンプルデータ列変換装置の動作を具体的に説明するための説明図を示す。第1の実施の形態では、入力サンプルデータ列X[i]のサンプル数Mは300、出力サンプルデータ列Y[j]のサンプル数Nは400であるとする。また所定の定数kというものを考え、第1の実施の形態では、その定数kは1であるとする。
【0039】
以下、図1から3を用いて第1の実施の形態の動作について説明する。ここで、入力サンプルデータ列の第i(0≦i≦M−1)番目のサンプルの値をX[i]とし、出力サンプルデータ列の第j(0≦j≦N−1)番目のサンプルの値をY[j]とする。
【0040】
さてこのとき先ず、入力手段1は、M、Nおよび定数kの値を入力する。第1の実施の形態では、入力手段1は、M=300、N=400およびk=1を入力する。
【0041】
次に、初期設定手段2は、初期設定ステップ201において、所定のパラメータWの初期値と、iおよびjの初期値と、最終出力サンプルデータY[N−1]を算出する際の便宜のため、X[M]=X[M−1]であるということが設定される。第1の実施の形態では、W=400(=k×N)、i=0、j=0およびX[300]=X[299]が設定される。
【0042】
続いて第1判定ステップ202に進む。その第1判定ステップ202において、先ず、第1判定手段3は、入力手段1によって入力されたkが正であるか負であるかを判定する。第1の実施の形態では、kは1であるので正であると判定する。次に、第1判定手段3は、パラメータWが0以下であるか否かを判定する。第1判定ステップ202の判定結果が偽であればサンプルデータ出力ステップ203に進み、第1判定ステップ202の判定結果が真であれば加算ステップ206に進む。この時点のWは400であるため、第1判定ステップ202の判定結果は偽であることより、サンプルデータ出力ステップ203に進む。
【0043】
次に、第1設定値更新手段4は、第1判定手段3によってパラメータWが0以下であるか否かが判定された後、定数kが正の場合、パラメータWが0を超えるときiの値を変更せず、パラメータWが0以下のときiの値を(i+1)に変更するとともに、そのパラメータWの値を(W+k×N)に変更する。この時点では、パラメータWは400であるので、iの値を変更しない。
【0044】
次にY[j]算出手段5は、サンプルデータ出力ステップ203において、出力サンプルデータ列Y[j]の0番目のサンプルデータY[0]を(数1)に基づいて算出する。
【0045】
【数1】
Y[j]=((k×N−W)×X[i+1]+W×X[i])/(k×N)
つまり具体的には、Y[0]を、(数3)によって算出する。
【0046】
【数3】
Y[0]=((400−400)×X[1]+400×X[0])/400=X[0]
そして、サンプルデータ出力手段6は、Y[j]算出手段5によって算出されたY[0]を出力する。
【0047】
このY[0]は、図3の301に示す通り、X[0]と同じものであり、Y[0]は、X[0]がそのまま出力されることを意味している。
【0048】
次に、第2設定値更新手段7は、減算ステップ204において、Y[j]算出手段5によって算出されたY[0]が算出された後に、そのY[0]の算出に用いたパラメータWの値を(W−k×M)に変更するとともに、Y[0]をY[1]に変更する。つまりこの場合、減算ステップ204でW=400−300=100、j=0+1=1に変更する。
【0049】
次に、第2判定手段8は、第2判定ステップ205において、第2設定値更新手段7によって更新されたjの値がN未満、つまり400未満であるか否かを判定し、更新されたjの値がN未満であると判定された場合、その後の処理を引き続き第1判定手段3に行わせ、他方、更新されたjの値がN以上であると判定された場合、全ての処理を終了する。ここでこの時点では、第2設定値更新手段7によって更新されたjの値は1であるので、第2判定ステップ205では、j=1<400=Nであると判定され、第1判定ステップ202に戻る。
【0050】
次に、第1判定手段3は、第1判定ステップ202において、第2設定値更新手段7によって更新されたパラメータWが0以下であるか否かを判定する。更新されたパラメータWが100であるため判定結果は偽となり、サンプルデータ出力ステップ203に進む。
【0051】
次にY[j]算出手段5は、サンプルデータ出力ステップ203において、出力サンプルデータ列Y[j]の1番目のサンプルデータY[1]を(数1)に基づいて算出する。
【0052】
具体的には、Y[1]を、(数4)によって算出する。
【0053】
【数4】
Figure 0003566568
そして、サンプルデータ出力手段6は、Y[j]算出手段5によって算出されたY[1]を出力する。
【0054】
このY[1]は、図3の302に示す通り、X[1]およびX[0]を3:1の比で加重平均したものとなっている。
【0055】
次に、第2設定値更新手段7は、減算ステップ204において、Y[j]算出手段5によって算出されたY[1]が算出された後に、そのY[1]の算出に用いたパラメータWの値を(W−k×M)に変更するとともに、Y[1]をY[2]に変更する。つまりこの場合、減算ステップ204でW=100−300=−200、j=1+1=2に変更する。
【0056】
次に、第2判定手段8は、上述したように、第2判定ステップ205において、第2設定値更新手段7によって更新されたjの値がN未満であるか否かを判定するが、ここでこの時点では、第2設定値更新手段7によって更新されたjの値は2であるので、第2判定ステップ205では、j=2<400=Nであると判定され、第1判定ステップ202に戻る。
【0057】
次に、第1判定手段3は、第1判定ステップ202において、第2設定値更新手段7によって更新されたパラメータWが0以下であるか否かを判定する。更新されたパラメータWが−200であるため判定結果は真となり、加算ステップ206に進む。
【0058】
そして、第1設定値更新手段4は、加算ステップ206において、パラメータWが−200であるので、そのパラメータWの値を(W+k×N)に変更する。つまり、パラメータWの値を、−200+400=200に変更する。また、第1設定値更新手段4は、加算ステップ206において、パラメータそれまで用いていたiの値を(i+1)に変更する。つまりiの値を0から1に変更する。その後、再度第1判定ステップ202に戻る。
【0059】
次に、第1判定手段3は、第1判定ステップ202において、第1設定値更新手段4によって更新されたパラメータWが0以下であるか否かを判定する。更新されたパラメータWが200であるため判定結果は偽となり、サンプルデータ出力ステップ203に進む。
【0060】
次にY[j]算出手段5は、サンプルデータ出力ステップ203において、出力サンプルデータ列Y[j]の2番目のサンプルデータY[2]を(数1)に基づいて算出する。
【0061】
具体的には、Y[2]を、(数5)によって算出する。
【0062】
【数5】
Figure 0003566568
そして、サンプルデータ出力手段6は、Y[j]算出手段5によって算出されたY[2]を出力する。
【0063】
このY[2]は、図3の303に示す通り、X[2]およびX[1]を1:1の比で加重平均したものとなっている。
【0064】
以後、上記操作を繰り返して出力サンプルデータY[j]を順次出力する。なお、最終出力サンプルデータY[399]を算出するときは、(数6)に基づいて算出することになる。
【0065】
【数6】
Figure 0003566568
しかしながら、X[300]というものは現実には存在しないので、(数6)を計算することはできない。ところが、初期設定ステップ201において、初期設定手段2には、X[300]=X[299]が設定されているので、(数6)のX[300]を、X[299]に置き換えて算出することになり、結局Y[399]=X[299]となる。
【0066】
そして、Y[399]の出力終了後、減算ステップ204により、j=400となる。このとき第2判定ステップ205で偽と判定され、動作終了となる。
【0067】
以上、第1の実施の形態で説明したように、映像信号の解像度変換や、音声信号の周波数変換等で必要となるサンプルデータ個数の変換を、従来の技術による場合と比較してより小さなメモリ容量および演算ステップ数で実現することができる。またサンプルデータ出力ステップ203における加重平均演算は、低域通過フィルタと同等の効果を持つ。
【0068】
なお、本実施の形態では、初期設定ステップ201において、Wの初期値としてk×Nを設定しているが、これはY[0]=X[0]として、入出力それぞれの先頭データの位相を一致させるためである。Wの初期値は、0≦W≦k×Nを満たす値であれば何でもよい。
【0069】
また、kが負の場合は、第1判定ステップ202の判定条件を逆にすることで、まったく同様に実現できる。
【0070】
(第2の実施の形態)
次に、本発明の第2の実施の形態のサンプルデータ列変換装置の構成をその動作とともに説明する。
【0071】
本発明の第2の実施の形態のサンプルデータ列変換装置は、図1を用いて説明した第1の実施の形態のサンプルデータ列変換装置と同様なものである。したがって、第2の実施の形態のサンプルデータ列変換装置の動作と、第1の実施の形態のサンプルデータ列変換装置の動作も同様なものとなる。
【0072】
次に図4に、第2の実施の形態のサンプルデータ列変換装置の動作を具体的に説明するための説明図を示す。第2の実施の形態では、入力サンプルデータ列X[i]のサンプル数Mは400、出力サンプルデータ列Y[j]のサンプル数Nは300、定数kは1/100であるとする。
【0073】
つまり、第1の実施の形態と第2の実施の形態との相違点は、入力サンプルデータ列X[i]のサンプル数Mと、出力サンプルデータ列Y[j]のサンプル数Nと、定数kとの、それぞれの値が異なるという点である。すなわち、第1の実施の形態はサンプル数を増加させる例であったが、第2の実施の形態はサンプル数を減少させる例であり、かつkは、MとNの最大公約数の逆数となっている。
【0074】
以下、図1、2および4を用いて第2の実施の形態の動作について具体的に説明する。
【0075】
さてこのとき先ず、入力手段1は、M、Nおよび定数kの値を入力する。第2の実施の形態では、入力手段1は、M=400、N=300、およびk=1/100を入力する。
【0076】
次に、初期設定手段2は、初期設定ステップ201において、所定のパラメータWの初期値と、iおよびjの初期値と、最終出力サンプルデータY[N−1]を算出する際の便宜のため、X[M]=X[M−1]であるということが設定される。第2の実施の形態では、W=3(=k×N)、i=0、j=0およびX[400]=X[399]が設定される。
【0077】
続いて第1判定ステップ202に進む。その第1判定ステップ202において、先ず、第1判定手段3は、入力手段1によって入力されたkが正であるか負であるかを判定する。第2の実施の形態では、kは1/100であるので正であると判定する。次に、第1判定手段3は、パラメータWが0以下であるか否かを判定する。第1判定ステップ202の判定結果が偽であればサンプルデータ出力ステップ203に進み、第1判定ステップ202の判定結果が真であれば加算ステップ206に進む。この時点のWは3であるため、第1判定ステップ202の判定結果は偽であることより、サンプルデータ出力ステップ203に進む。
【0078】
次に、第1設定値更新手段4は、第1判定手段3によってパラメータWが0以下であるか否かが判定された後、定数kが正の場合、パラメータWが0を超えるときiの値を変更せず、パラメータWが0以下のときiの値を(i+1)に変更するとともに、そのパラメータWの値を(W+k×N)に変更する。この時点では、パラメータWは3であるので、iの値を変更しない。
【0079】
次にY[j]算出手段5は、サンプルデータ出力ステップ203において、出力サンプルデータ列Y[j]の0番目のサンプルデータY[0]を(数1)に基づいて算出する。
【0080】
【数1】
Y[j]=((k×N−W)×X[i+1]+W×X[i])/(k×N)
つまり具体的には、Y[0]を、(数7)によって算出する。
【0081】
【数7】
Y[0]=((3−3)×X[1]+3×X[0])/3=X[0]
そして、サンプルデータ出力手段6は、Y[j]算出手段5によって算出されたY[0]を出力する。
【0082】
このY[0]は、図4の401に示す通り、X[0]と同じものであり、Y[0]は、X[0]がそのまま出力されることを意味している。
【0083】
次に、第2設定値更新手段7は、減算ステップ204において、Y[j]算出手段5によって算出されたY[0]が算出された後に、そのY[0]の算出に用いたパラメータWの値を(W−k×M)に変更するとともに、Y[0]をY[1]に変更する。つまりこの場合、減算ステップ204でW=3−4=−1、j=0+1=1に変更する。
【0084】
次に、第2判定手段8は、第2判定ステップ205において、第2設定値更新手段7によって更新されたjの値がN未満、つまり300未満であるか否かを判定し、更新されたjの値がN未満であると判定された場合、その後の処理を引き続き第1判定手段3に行わせ、他方、更新されたjの値がN以上であると判定された場合、全ての処理を終了する。ここでこの時点では、第2設定値更新手段7によって更新されたjの値は1であるので、第2判定ステップ205では、j=1<300=Nであると判定され、第1判定ステップ202に戻る。
【0085】
次に、第1判定手段3は、第1判定ステップ202において、第2設定値更新手段7によって更新されたパラメータWが0以下であるか否かを判定する。更新されたパラメータWが−1であるため判定結果は真となり、加算ステップ206に進む。
【0086】
そして、第1設定値更新手段4は、加算ステップ206において、パラメータWが−1であるので、そのパラメータWの値を(W+k×N)に変更する。つまり、パラメータWの値を、−1+3=2に変更する。また、第1設定値更新手段4は、加算ステップ206において、それまで用いていたiの値を(i+1)に変更する。つまりiの値を0から1に変更する。その後、再度第1判定ステップ202に戻る。
【0087】
次に、第1判定手段3は、第1判定ステップ202において、第1設定値更新手段4によって更新されたパラメータWが0以下であるか否かを判定する。更新されたパラメータWが2であるため判定結果は偽となり、サンプルデータ出力ステップ203に進む。
【0088】
次にY[j]算出手段5は、サンプルデータ出力ステップ203において、出力サンプルデータ列Y[j]の1番目のサンプルデータY[1]を(数1)に基づいて算出する。
【0089】
具体的には、Y[1]を、(数8)によって算出する。
【0090】
【数8】
Figure 0003566568
そして、サンプルデータ出力手段6は、Y[j]算出手段5によって算出されたY[1]を出力する。
【0091】
このY[1]は、図4の402に示す通り、X[2]およびX[1]を1:2の比で加重平均したものとなっている。
【0092】
以後、第1の実施の形態と同様に、j=300となって第2判定ステップ205で偽と判定されるまで上記操作を繰り返せば、300個の出力サンプルデータY[0],Y[1],Y[2],…,Y[299]を得ることができる。
【0093】
以上、第1の実施の形態および第2の実施の形態に示したようなサンプルデータ列変換によって、サンプルデータ数を増加させる変換のみならず、減少させる変換も同一のアルゴリズムで実現することができる。
【0094】
また、第2の実施の形態では、k=1/100とすることにより、サンプルデータ出力ステップ203における各Y[j]の算出に要するパラメータの必要ビット数を減少させることができる。すなわち、第1の実施の形態のようにk=1とすれば、W、k×N等の値を保持するためには少なくとも9ビット必要であり、C言語で記述するするときshort型、もしくはlong型の変数を用意する必要がある。一方、k=1/100とすれば2ビットですみ、用意する変数はchar型で十分である。
なお、第1の実施の形態と同様、Wの初期値は0≦W≦k×Nを満たす値であれば何でもよく、またkが負の場合も第1判定ステップ202の判定条件を逆にすることで、まったく同様に実現できる。
【0095】
また、上述した第1の実施の形態および第2の実施の形態では、各Y[j]を算出するさい、X[i]およびX[i+1]を用いて算出するとした。しかしながら、各Y[j]を、例えばX[i]、X[i+1]およびX[i+2]など、3以上の異なるX[i]を用いて算出するとしてもよい。また、各Y[j]を、例えばX[i]の2乗と、X[i+1]の2乗に所定の係数をかけるなどして算出してもよい。つまり、各Y[j]を、複数のX[i]の線形関数によって算出してもよいし、複数のX[i]の非線形関数によって算出してもよいということである。
【0096】
(第3の実施の形態)
次に、本発明の第3の実施の形態のサンプルデータ列変換装置の構成をその動作とともに説明する。
【0097】
図5に、本発明の第3の実施の形態のサンプルデータ列変換装置のブロック図を示す。図5に示すように、本発明の第3の実施の形態のサンプルデータ列変換装置は、図1を用いて説明した第1の実施の形態のサンプルデータ列変換装置の各構成手段に、ダミー補填手段9を追加したものである。
【0098】
次に図6に、第3の実施の形態のサンプルデータ列変換装置の動作のフローチャートを示す。図6において、601は初期設定ステップ、602は第1判定ステップ、603はサンプルデータ出力ステップ、604は減算ステップ、605は第2判定ステップ、606は加算ステップ、607はダミー補填ステップである。なお、図6の、初期設定ステップ601、第1判定ステップ602、サンプルデータ出力ステップ603、減算ステップ604、第2判定ステップ605および加算ステップ606は、それぞれ図2の初期設定ステップ201、第1判定ステップ202、サンプルデータ出力ステップ203、減算ステップ204、第2判定ステップ205および加算ステップ206と実質上同じものである。したがって、図6は、図2の各ステップに、ダミー補填ステップ607を実質上追加したものである。
【0099】
以下、図5および6を用いて第3の実施の形態の動作について具体的に説明する。
【0100】
なお、本実施の形態では、ラインあたりの画素数400、画素あたり3バイトを占める画像データ列X[i]を、ライン数を変えることなく、ラインあたりの画素数を375に縮小した画像データ列Y[j]に変換する場合について述べる。
【0101】
本実施の形態において、説明を簡単に行うために、入力、出力とも1ラインの画素データであるとする。また出力サンプルデータ列Y[j]は、ライン単位でメモリに隙間なく充填されるものとし、DIB(Device Independent Bitmaps)フォーマットとして正しく扱うために、各ラインの先頭データは4バイト境界に整列しなければならないものとする。このとき、M=400、N=375、k=1、b=3、p=4として図6のフローチャートを適用するとする。また、MおよびNの値は、第1の実施の形態とは異なるが、第3の実施の形態では、第1の実施の形態と同様な動作を行う。なお、bおよびpについては後に説明する。
【0102】
初期設定ステップ601で、必要なパラメータの初期値を設定する。本実施の形態では、W=375(k×N)、i=0、j=0、X[400]=X[399]と設定される。
【0103】
そして、第1および第2の実施の形態と同様な動作を行い、N=375個の出力サンプルデータを逐次出力する。
【0104】
375個の出力サンプルデータが出力された後、j=375となって第2判定ステップ605で偽と判定されたとき、ダミー補填ステップ607に進む。
【0105】
ここで、j=375となって第2判定ステップ605で偽と判定されたとき、なぜ、ダミー補填ステップ607に進むのかということについて述べる。
【0106】
Windows上でDIBフォーマットの画像データを扱うとき、各ラインの先頭データは4バイト境界に整列されていないと正しく画像が出力できない。なおデータがpバイト境界に整列されているとは、データの絶対アドレス値がpの倍数であることをいう。例えばDIBフォーマットで標準的なRGB24ビット形式(1画素あたり赤、緑、青のデータを8ビットずつ計24ビットで表現)では、1画素あたり3バイトの領域を占める。従って、1水平列当たり、入力データ列を、4の倍数でないサンプル数の出力データ列に変換すると、各ラインの先頭データが4バイト境界に整列される保証はなく、表示される画像が正しくなるとは限らない。そこで、4の倍数でないサンプル数の出力データ列に変換しても、表示される画像が正しくなるようにするためにダミー補填ステップ607に進むのである。なお、第3の実施の形態では、図6のSTARTの時点で、b=3、p=4を入力することになるが、bとは出力データ列の1サンプルのバイト長であって、pとは各出力データ列の先頭データが整列されていなければならないバイト境界を意味する。したがって、第3の実施の形態では、b=3、p=4の場合について具体的に説明する。
【0107】
さて、本実施の形態では、b=3、N=375であるため、b×N=1125であり、p=4の倍数ではない。つまり、375個の出力サンプルデータ列の次の出力サンプルデータ列の先頭は4バイト境界に整列されないことになる。ここで、ダミー補填ステップ607において、ダミー補填手段9は、1125より小さくないp=4の倍数として、L=1128を得て、L−b×N=3バイトのダミーデータをY[374]の後ろに補填する。
【0108】
以上の動作により、375個の出力サンプルデータY[0],Y[1],Y[2],…,Y[374]および、3バイトのダミーバイトを出力することができる。
【0109】
上記操作をライン数だけ繰り返すことで、ライン毎に先頭データが4バイト境界に整列された出力画素データ列を出力することができる。つまり、表示画像は正しくなる。
【0110】
以上、本実施の形態によれば、出力単位毎にデータを任意のバイト境界に整列させることができる。したがって、DIBフォーマットの画像データを任意のサイズに拡大、縮小を行うことが可能となる。
【0111】
なお、第1、第2の実施の形態と同様、Wの初期値は0≦W≦k×Nを満たす値であれば何でもよく、またkが負の場合も第1判定ステップ602の判定条件を逆にすることで、まったく同様に実現できる。
【0112】
また、第1から第3の実施の形態においては、加算ステップにおける加算と、減算ステップにおける減算とを交換し、第1判定ステップにおける判定条件を変更することで、さまざまなバリエーションの実施の形態を生成することができる。つまり例えば図2において、加算ステップ206の第1式をW=W−k×Nに変更し、減算ステップ204の第1式をW=W+k×Nに変更しても構わないということである。ただしこのように変更した場合、第1判定ステップ202の判定条件をW≧0?に変更しなければならない。
【0113】
(第4の実施の形態)
次に、本発明の第4の実施の形態の分配点値算出装置の構成をその動作とともに説明する。
【0114】
図7に、本発明の第4の実施の形態の分配点値算出装置のブロック図を示す。図7に示すように、本発明の第4の実施の形態の分配点値算出装置は、データ入力手段10と、パラメータ入力手段11と、減算手段12と、w倍手段13と、加算手段14と、出力手段15から構成される。
【0115】
次に図8に、第4の実施の形態の分配点値算出装置の動作のフローチャートを示す。図8において、801は第1ロードステップ、802は第2ロードステップ、803は第3ロードステップ、804は減算ステップ、805はw倍ステップ、806は加算ステップ、807は出力ステップである。
【0116】
本発明の第4の実施の形態の分配点値算出装置は、第1の実施の形態の図2のサンプルデータ出力ステップ203などで、所定の2つの数から新たな1つの数を生成するさいなどに用いられるものである。図2のサンプルデータ出力ステップ203の(数1)を整理すると、(数9)のようになる。
【0117】
【数9】
Y[j]=(1−w)×X[i+1]+w×X[i],w=W/(k×N)
このように、所定の2つのから新たな1つの数を生成するさいに、第4の実施の形態の分配点値算出装置を用いる。
【0118】
以下、図7および8を用いて第4の実施の形態の分配点値算出装置の動作について説明する。
【0119】
先ず、データ入力手段10は、所定の2つの数X1およびX2のデータを入力する。そして、パラメータ入力手段11は、X1とX2との距離を(1−w):wの比を満たす割合で分配する位置の数Yを求めるためのパラメータwを入力する。それらX1、X2およびパラメータwは、それぞれ第1ロードステップ801、第2ロードステップ802、第3ロードステップ803でそれぞれレジスタA、レジスタB、レジスタCにロードされる。
【0120】
次に、減算手段12は、減算ステップ804で、レジスタAに対してレジスタBの内容を減算する。減算後、レジスタAにはX1−X2が保持される。
【0121】
次に、w倍手段13は、w倍ステップ805で、レジスタAに対してレジスタCの内容を乗算する。結果、レジスタAにはw×(X1−X2)が保持される。
【0122】
次に、加算手段14は、加算ステップ806で、レジスタAに対してレジスタBの内容を加算する。加算後、レジスタAにはw×(X1−X2)+X2が保持される。
【0123】
最後に、出力手段15は、出力ステップ807で、加算手段14によって得られた結果Yを出力する。その結果は、(数10)で表されるものである。
【0124】
【数10】
Y=w×(X1−X2)+X2=w×X1+(1−w)×X2
本実施の形態では、1個のYを求めるために必要な操作は、3つのロード、2つの加減算、および1つの乗算である。これは、図12を用いて示した従来例によるものに比べ、ロードが1つ、および乗算1つ少なくなっている。さらにコンピュータでの乗算は、通常加減算やロードに比べより多くのクロック数を必要とするため、Y1個の出力に対し、乗算回数が1個減少することは、全体の処理時間の短縮に大いなる効果を発揮する。
【0125】
以上、本発明の実施の形態によれば、フィルタリング演算の際頻繁に発生する加重平均演算をコンピュータで行ったとき、出力サンプルを1個出力するごとに乗算回数を1回ずつ削減することができ、全体の処理時間を大幅に短縮することができる。
【0126】
なお、本実施の形態におけるw倍ステップは、wが2のべき乗の逆数の場合、乗算をシフト演算に置換することができるので、更に演算の高速化を行うことができる。
【0127】
(第5の実施の形態)
次に、本発明の第5の実施の形態のサンプルデータ除算装置の構成をその動作とともに説明する。
【0128】
図9に、本発明の第5の実施の形態のサンプルデータ除算装置のブロック図を示す。図9に示すように、本発明の第5の実施の形態のサンプルデータ除算装置は、入力手段16と、初期設定手段17と、W倍手段18と、ビットシフト手段19と、サンプルデータ出力手段20と、設定値更新手段21と、判定手段22から構成される。
【0129】
次に図10に、第5の実施の形態のサンプルデータ除算装置のフローチャートを示す。図10において、1001は初期設定ステップ、1002はw倍ステップ、1003はビットシフトステップ、1004はサンプルデータ出力ステップ、1005は判定ステップである。
【0130】
本発明の第5の実施の形態のサンプルデータ除算装置は、第1の実施の形態の図2のサンプルデータ出力ステップ203などで、同一の定数による除算を数多く行うさいなどに用いられるものである。図2のサンプルデータ出力ステップ203の(数1)を整理すると、(数11)のようになる。
【0131】
【数11】
Y=X/(k×N),X=(k×N−W)×X[i+1]+W×X[i]
(数11)のような除算を数多く行うことは、PCにとっては負担が大きい。そこで、本発明の第5の実施の形態では、負担を小さくして数多くの除算を行うことができるサンプルデータ除算装置について、図9および10を用いて説明する。なお、本実施の形態では、入力サンプル列X[i]の個数はNとする。また、入力サンプル列X[i]の各サンプルX[i]に対応する、除算後の出力サンプル列Y[i]の各サンプルをY[i]とする。
【0132】
先ず、入力手段16は、入力サンプル列X[i]の個数Nの値と、所定のQの値と、所定の自然数kを入力する。なお、Qとkとは以下に示す条件を満たすものであるとする。つまり、入力サンプル列X[i]の各サンプルを所定のAで除算するさい、そのAは、Qを2^k(^はべき乗を表す)で除算したものであるとする条件である。
【0133】
次に、初期設定手段17は、初期設定ステップ1001において、iの初期値が0であるということと、(数2)を満たす所定の係数Wとが設定され、w倍ステップ1002に進む。
【0134】
【数2】
W=(2^k)/Q (ただし^はべき乗を表すものとする)
次に、W倍手段18は、w倍ステップ1002において、入力サンプルデータX[0]、および初期設定ステップ1001で設定されたWに対し、w×X[0]を算出し、その結果をZ[0]とする。
【0135】
続いて、ビットシフト手段19は、ビットシフトステップ1003において、Z[0]を2進数とみなして、kビット下位方向にシフトする。そのkとは、入力手段16によって入力されたkを意味する。
【0136】
次に、サンプルデータ出力手段20は、サンプルデータ出力ステップ1004で、ビットシフトステップ1003でシフト済みのZ[0]をY[0]として出力し、設定値更新手段21は、同じサンプルデータ出力ステップ1004で、iに1を加算して1とし、判定ステップ1005に進む。
【0137】
判定ステップ1005では、判定手段22によって、i=1であるので真と判定され、w倍ステップ1002に戻る。
【0138】
以上の操作をi=Nとなるまで繰り返し、判定ステップ1005で偽と判定されれば、本実施の形態の動作は終了する。
【0139】
従来例では、必要な除算の回数はNであった。一方、本実施の形態では、Nがいかなる値であっても除算は初期設定ステップ1001で1回行うのみである。一般的にコンピュータで除算を行う場合、加減算よりはもちろん乗算よりもはるかに大きなクロック数を必要とする。従って本実施の形態によれば、従来例に比べ、除算回数を大幅に削減することで処理時間の高速化を行うことができる。
【0140】
なお、kの値は、出力精度や使用するレジスタのビット数に対応して任意に設定できるが、例えば32ビットレジスタを使用する場合は、k=16とするのが好ましい。
【0141】
以上説明したように、本発明の第1、第2の実施の形態によれば、任意の個数Mを持つ入力サンプルデータから任意の個数Nの出力サンプルへの変換を、高速に行うことが可能である。また第3の実施の形態のように、出力サンプルデータの後ろにダミーデータを補填することで、画像の各ラインの先頭データを常に4バイト境界に整列させることができ、任意の大きさへの画像サイズ変換を容易に行うことができる。また第4の実施の形態で説明した加重平均を求める方法、および第5の実施の形態で説明した入力データ列を共通の除数で除算する方法を用いれば、第1から第3のサンプルデータ変換をより高速に行うことができる。
【0142】
なお、これまで説明した実施の形態において、N/M≦1/2のとき、出力サンプルデータを生成する際に参照されない入力サンプルデータが存在する。このとき、上記した実施の形態では折返し歪みが発生する場合がある。上記不具合を解決するためには、初期設定ステップにおけるパラメータWの初期値を変更したり、もしくはサンプルデータ出力ステップにおけるY[j]を、X[i+1],X[i]からのみならず、より多くの入力サンプルデータから算出したりする方法が考えられる。
【0143】
また、上述した各実施の形態における、サンプルデータ列変換装置、分配点値算出装置および各構成手段の全部または一部の各機能をコンピュータに実行させるためのプログラムを格納したことを特徴とするプログラム記録媒体も本発明である。
【0144】
【発明の効果】
以上説明したところから明らかなように、任意の数のサンプルから構成される入力ディジタル信号から、その入力ディジタル信号を構成するサンプルの数とは異なる任意の数のサンプルから構成される出力ディジタル信号へ変換するさい、小さなメモリ容量および演算量でその変換を実現することができるサンプルデータ列変換方法を提供することができる。
【0145】
また、本発明は、処理工程を少なくして2つの数から1つの数を算出することができる分配点値算出方法を提供することができる。
【0146】
さらに、本発明は、多数個のサンプルから構成されるサンプルデータ列のそれぞれのサンプルを除算する場合であっても、小さい負担で除算を行うことができるサンプルデータ除算方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1および2の実施の形態のサンプルデータ列変換装置のブロック図
【図2】本発明の第1および2の実施の形態のサンプルデータ列変換装置の動作のフローチャート
【図3】本発明の第1の実施の形態のサンプルデータ列変換装置の動作を具体的に説明するための説明図
【図4】本発明の第2の実施の形態のサンプルデータ列変換装置の動作を具体的に説明するための説明図
【図5】本発明の第3の実施の形態のサンプルデータ列変換装置のブロック図
【図6】本発明の第3の実施の形態のサンプルデータ列変換装置の動作のフローチャート
【図7】本発明の第4の実施の形態の分配点値算出装置のブロック図
【図8】本発明の第4の実施の形態の分配点値算出装置の動作のフローチャート
【図9】本発明の第5の実施の形態のサンプルデータ除算装置のブロック図
【図10】本発明の第5の実施の形態のサンプルデータ除算装置のフローチャート
【図11】従来のサンプルデータ変換方法の一例を説明した図
【図12】従来の、隣り合う2つの数の数を加重平均して算出する方法について説明したフローチャート
【符号の説明】
1 入力手段
2 初期設定手段
3 第1判定手段
4 第1設定値更新手段
5 Y[j]算出手段
6 サンプルデータ出力手段
7 第2設定値更新手段
8 第2判定手段
9 ダミー補填手段
10 データ入力手段
11 パラメータ入力手段
12 減算手段
13 w倍手段
14 加算手段
15 出力手段
16 入力手段
17 初期設定手段
18 W倍手段
19 ビットシフト手段
20 サンプルデータ出力手段
21 設定値更新手段
22 判定手段
201、601 初期設定ステップ
202、602 第1判定ステップ
203、603 サンプルデータ出力ステップ
204、604 減算ステップ
205、605 第2判定ステップ
206、606 加算ステップ
607 ダミー補填ステップ
801 第1ロードステップ
802 第2ロードステップ
803 第3ロードステップ
804 減算ステップ
805 w倍ステップ
806 加算ステップ
807 出力ステップ
1001 初期設定ステップ
1002 w倍ステップ
1003 ビットシフトステップ
1004 サンプルデータ出力ステップ
1005 判定ステップ

Claims (9)

  1. M個のサンプルから構成される入力サンプルデータ列を、N個のサンプルから構成される出力サンプルデータ列に変換するサンプルデータ列変換方法であって、
    前記入力サンプルデータ列の第i(0≦i≦M−1)番目のサンプルの値をX[i]とし、前記出力サンプルデータ列の第j(0≦j≦N−1)番目のサンプルの値をY[j]としたとき、
    前記M、前記Nおよび、0を除く所定の定数kを入力する入力ステップと、
    初期値が、前記kと前記Nの積kNと0との間の所定の値、または前記積kNであるパラメータWと、前記iおよび前記jの初期値がともに0であるということと、前記X[i]のiを前記Mに置き換えたときのX[M]がX[M−1]であるということと、が設定される初期設定ステップと、
    前記定数kが正(k>0)の場合、前記パラメータWが0以下(W≦0)であるか否かを判定し、前記定数kが負(k<0)の場合、前記パラメータWが0以上(W≧0)であるか否かを判定する第1判定ステップと、
    前記第1判定ステップによって前記判定が行われた後に、前記定数kが正(k>0)の場合、前記パラメータWが0を超える(W>0)とき前記iの値を変更せず、前記パラメータWが0以下(W≦0)のとき前記iの値を(i+1)に変更するとともに、そのパラメータWの値を(W+k×N)に変更し、前記定数kが負(k<0)の場合、前記パラメータWが0未満(W<0)のとき前記iの値を変更せず、前記パラメータWが0以上(W≧0)のとき前記iの値を(i+1)に変更するとともに、前記パラメータWの値を(W+k×N)に変更する第1設定値更新ステップと、
    前記第1設定値更新ステップによって決定されたiの値およびパラメータWと、前記k、前記N、前記X[i]およびX[i+1]を用いた(数1)に基づいて、前記出力サンプルデータ列の第j番目のサンプルの値Y[j]を算出するY[j]算出ステップと、
    Figure 0003566568
    前記Y[j]算出ステップによって算出されたY[j]を出力するサンプルデータ出力ステップと、
    前記Y[j]算出ステップによって所定の前記jに対応する前記Y[j]が算出された後に、そのY[j]の算出に用いたパラメータWの値を(W−k×M)に変更するとともに、前記所定のjの値を(j+1)に変更する第2設定値更新ステップと、
    前記第2設定値更新ステップによって更新されたjの値が前記N未満であるか否かを判定する第2判定ステップとを備え、
    前記第2判定ステップによって、前記更新されたjの値が前記N未満であると判定された場合、前記第1判定ステップは引き続き前記所定の処理を行い、前記更新されたjの値が前記N以上であると判定された場合、全ての処理を終了し、
    記jの値が小さいものから順にY[j]を算出することを特徴とするサンプルデータ列変換方法
  2. 前記出力サンプルデータ列の各サンプルデータが所定の定数bバイトのデータであって、その出力サンプルデータ列全体のバイト長さが所定の定数pの整数倍でないとき、
    前記第2判定ステップにおいて前記更新されたjの値が前記N以上であると判定された場合、その後に、前記bと前記Nとの積bNより大きいものであって、かつ前記定数pを自然数倍した値となる所定の値をLとしたとき、(L−bN)バイトのダミーデータを補填するダミー補填ステップを備え、
    出力ステップは、前記ダミー補填ステップによって補填されたダミーデータも出力することを特徴とする請求項1記載のサンプルデータ列変換方法
  3. 前記kは1であることを特徴とする請求項1または2記載のサンプルデータ列変換方法
  4. 前記kは、前記Mと前記Nの最大公約数の逆数であることを特徴とする請求項1または2記載のサンプルデータ列変換方法
  5. 所定の2つの数X1およびX2のデータを入力するデータ入力ステップと、
    前記X1とX2との距離を(1−w):wの比を満たす割合で分配する位置の数Yを求めるためのパラメータwを入力するパラメータ入力ステップと、
    前記X1から前記X2を減算してX3を生成する減算ステップと、
    前記減算ステップによって得られたX3を前記パラメータw倍してX4を生成するw倍ステップと、
    前記w倍ステップによって得られたX4に前記X2を加算してYを生成する加算ステップと、
    前記加算ステップによって得られた前記Yを出力する出力ステップとを
    備えたことを特徴とする分配点値算出方法
  6. N個のディジタル信号のサンプルから構成される入力サンプルデータ列の第i(0≦i≦N−1)番目のサンプルの値をX[i]とし、前記入力サンプルデータ列の各サンプルを所定の定数Aで除算したY[i](0≦i≦N−1)を出力サンプルデータ列として出力するサンプルデータ除算方法であって、
    記Aを、所定の定数Qを2^k(^はべき乗を表し、kは所定の自然数を表すとする)で除算したものであるとするとき、
    前記N、前記Qおよび、前記kを入力する入力ステップと、
    前記iの初期値が0であるということと、(数2)を満たす所定の係数Wとが設定される初期設定ステップと、
    Figure 0003566568
    前記X[i]を、前記初期設定ステップで得られた係数W倍してZ[i]を生成するW倍ステップと、
    前記W倍ステップにより得られたディジタル信号Z[i]を下位ビット側に前記kビットシフトしてディジタル信号Y[i]を生成するビットシフトステップと、
    前記ビットシフトステップによって生成されたY[i]を出力するサンプルデータ出力ステップと、
    所定の前記iに対応する前記Y[i]が算出された後に、そのiの値を(i+1)に変更する設定値更新ステップと、
    前記設定値更新ステップによって更新されたiの値が前記N未満であるか否かを判定する判定ステップとを備え、
    前記判定ステップによって、前記更新されたiの値が前記N未満であると判定された場合、前記更新されたiに対応するX[i]に対して、前記W倍ステップ、前記ビットシフトステップ、前記サンプルデータ出力ステップ、及び前記設定値更新ステッップの各ステップを実施し、前記更新されたiの値が前記N以上であると判定された場合、全ての処理を終了し、
    記iの値が小さいものから順にY[i]を算出することを特徴とするサンプルデータ除算方法
  7. 請求項1から4のいずれかに記載のサンプルデータ列変換方法の各ステップコンピュータに実行させるためのプログラムを格納したことを特徴とするプログラム記録媒体。
  8. 請求項5記載の分配点値算出方法の各ステップコンピュータに実行させるためのプログラムを格納したことを特徴とするプログラム記録媒体。
  9. 請求項6記載のサンプルデータ除算方法の各ステップコンピュータに実行させるためのプログラムを格納したことを特徴とするプログラム記録媒体。
JP36140798A 1998-09-28 1998-12-18 サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体 Expired - Fee Related JP3566568B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP36140798A JP3566568B2 (ja) 1998-12-18 1998-12-18 サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体
PCT/JP1999/005247 WO2000019718A1 (fr) 1998-09-28 1999-09-27 Procede de traitement de donnees, processeur de donnees et support d'enregistrement de programmes
EP99944835A EP1033874A4 (en) 1998-09-28 1999-09-27 DATA PROCESSING METHOD, DATA PROCESSOR, AND PROGRAM RECORDING MEDIUM
CNB2004100856136A CN1326395C (zh) 1998-09-28 1999-09-27 数据处理方法、数据处理装置
US09/554,751 US6771877B1 (en) 1998-09-28 1999-09-27 Data processing method, data processing apparatus and program recording medium
CNB998024325A CN1178490C (zh) 1998-09-28 1999-09-27 数据处理方法、数据处理装置
US10/871,281 US7209634B2 (en) 1998-09-28 2004-06-21 Data processing method, data processing apparatus, and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36140798A JP3566568B2 (ja) 1998-12-18 1998-12-18 サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2000182029A JP2000182029A (ja) 2000-06-30
JP3566568B2 true JP3566568B2 (ja) 2004-09-15

Family

ID=18473454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36140798A Expired - Fee Related JP3566568B2 (ja) 1998-09-28 1998-12-18 サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP3566568B2 (ja)

Also Published As

Publication number Publication date
JP2000182029A (ja) 2000-06-30

Similar Documents

Publication Publication Date Title
JP2612939B2 (ja) イメージ表示システム用補間装置およびイメージ表示システム
JP2892930B2 (ja) 表示モニタ上に図形メモリとビデオメモリからの情報を表示するシステムと方法
US7679619B2 (en) Data outputting method, data outputting device, liquid crystal panel driving device, and liquid crystal display device
WO2010053176A1 (ja) ベジェ曲線描画装置、ベジェ曲線描画方法および記録媒体
JP2000165689A (ja) 色変換方法
AU615784B2 (en) Method and apparatus for implementing adaptive forward differencing using integer arithmetic
KR100294676B1 (ko) 범용 영상 포맷 변환 장치
JP3566568B2 (ja) サンプルデータ列変換方法、分配点値算出方法、サンプルデータ除算方法およびプログラム記録媒体
JPH10190478A (ja) データ圧縮装置および方法、記録媒体、並びに、データ伸張装置および方法
US6005988A (en) Method and apparatus for rapid digital image resizing
JP2825395B2 (ja) 並列処理装置および方法
JP3066596B2 (ja) アドレス変換装置
JP2000148442A (ja) 提供媒体、並びにデータ処理装置およびデータ処理方法
JP3805303B2 (ja) 画素数変換方法及び画素数変換装置
US6501470B1 (en) Look-up table device and image generation device
JP2000112448A (ja) 画素補間処理方法及びそのユニット、並びにそれを備えたデジタル画像表示装置
US20030187613A1 (en) Method of data interpolation using midpoint slope control scaling
JP7547046B2 (ja) データ変換装置、データ変換方法、及びプログラム
JP4643781B2 (ja) ディジタルビデオ画像をサイズ変更する方法および装置
US5333263A (en) Digital image processing apparatus
CN1965568A (zh) 用于垂直缩放像素数据的方法及设备
JP7532087B2 (ja) 装置、方法、及びプログラム
JPH0329059A (ja) 画像処理方法および装置
JP2005128618A (ja) 除算器、露出制御装置および除算方法
KR100602249B1 (ko) 영상 처리 장치 및 그 처리 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees