JP3983451B2 - ディジタル信号のサンプリング周波数変換装置 - Google Patents
ディジタル信号のサンプリング周波数変換装置 Download PDFInfo
- Publication number
- JP3983451B2 JP3983451B2 JP2000106185A JP2000106185A JP3983451B2 JP 3983451 B2 JP3983451 B2 JP 3983451B2 JP 2000106185 A JP2000106185 A JP 2000106185A JP 2000106185 A JP2000106185 A JP 2000106185A JP 3983451 B2 JP3983451 B2 JP 3983451B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- node
- sampling frequency
- input
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0102—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving the resampling of the incoming video signal
Description
【発明の属する技術分野】
この発明はディジタル信号のサンプリング周波数変換装置に関し、特に、データ駆動型プロセッサによる高速並列演算処理機能を利用して画像データのサンプリング周波数を変換するディジタル信号のサンプリング周波数変換装置に関する。
【0002】
【従来の技術】
高速かつ高精度で情報信号に対してさまざまな処理を施すために、情報信号は一般にディジタル信号に変換されて処理される。大量の情報を伝達する画像処理も例外ではない。画像信号は本質的にアナログ信号である。よって、画像信号はディジタル信号に変換するために、あるサンプリング周波数でサンプリングされてディジタル信号に変換される。画像信号のサンプリング周波数変換もまた大量の情報を処理し、伝達している。
【0003】
ディジタル信号のサンプリング周波数を変換する従来例として、たとえば特開平6−30384号公報に示されたデータ駆動型プロセッサを用いたディジタル信号のサンプリング周波数変換装置がある。データ駆動型プロセッサ4では、「ある処理の実行に必要な入力データがすべて揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる。」という規則に従って処理が進行する。
【0004】
データ駆動型プロセッサの情報処理動作を含むデータ処理装置には、非同期のハンドシェイク方式を採用したデータ伝送装置が用いられる。このようなデータ伝送装置では、複数のデータ伝送路が接続され、それらのデータ伝送路がデータの伝送要求信号およびデータの転送を許可するか否かを示す転送許可信号を互いに送受信しながら、自律的なデータ転送が行なわれる。
【0005】
図3はデータ伝送路の構成を示すブロック図である。図3において、データ伝送路は、自己同期型の転送制御回路(以下、C素子と称する)2a〜2cと、データ保持回路(パイプラインレジスタ)3a〜3cと、データ保持回路の出力に対して演算などを行なうロジック回路3d,3eを含んでいる。C素子2a〜2cは、前段から転送要求信号を受ける入力端子CIと、後段に転送要求信号を出力する出力端子COと、後段の転送許可または転送の禁止を示す転送許可信号を入力する入力端子RIと、前段に転送許可信号を出力する出力端子ROと、パイプラインレジスタ3a〜3cを制御する制御信号出力端子CPを有している。
【0006】
図4は図3に示したC素子の動作を説明するためのタイミングチャートである。図4は端子CI(もしくは端子CO)が、「0」のときは前段(後段)にデータ転送要求を行なっている状態であり、逆に「1」の場合は前段(後段)にデータ転送要求を行なっていない状態を示している。一方、端子RI(もしくは端子RO)が「0」のときは後段(前段)は転送禁止状態であることを示し、逆に「1」の場合は後段(前段)は転送許可状態であることを示している。あるC素子の端子CIに「1」から「0」が入力される、すなわち前段からデータ転送が要求され、転送されると端子ROが「1」から「0」に変化し、これによりさらなる前段からのデータ転送を禁止する。
【0007】
転送が完了すると、端子CIへの入力は「0」から「1」へと変化し、前段からはデータ転送要求を行なわない状態となり、前段から当該C素子へデータのセットが終了したことが知らされる。これに伴い、端子ROは「0」から「1」へと変化し前段に対して、次の転送許可状態であることを示す。そして、端子CIへの入力が「1」となり、前段からのデータ転送要求が行なわれない状態となった後、端子CPからクロックパルスが出力されてパイプラインレジスタ3a〜3cからデータが出力されてロジック回路3d,3eで演算などが行なわれる。そして、端子COが「1」から「0」に変化し、後段にデータ転送要求が行なわれ、後段にデータが転送されると、端子RIへの入力は「1」から「0」に変化し、後段が転送禁止状態となったことが知らされる。これを受けて、端子CPの出力が「0」とされてパイプラインレジスタの制御が停止され、その後端子COは「0」から「1」へと変化し、後段に対してデータ転送要求を行なわない状態となる。そして、データが後段のパイプラインレジスタに格納され、さらに次のロジック回路に出力されると、端子RIに「0」信号から「1」信号が入力され、後段は転送許可状態となる。このサイクルを繰返すことによって、次のデータが転送されて演算などの処理がなされ、自己同期システムによるデータ転送がなされる。
【0008】
図5は図3に示したデータ伝送路を有するデータ駆動型プロセッサのブロック図である。図5において、データ駆動型プロセッサPeは合流部JNCと、発火制御部FCと、演算部FPと、プログラム記憶部PSと、分岐部BRNと、複数個のパイプラインレジスタ3a〜3cとC素子2a〜2cを含んでいる。C素子2a〜2cの動作は先に説明したとおりである。
【0009】
図6は図5に示すデータ駆動型プロセッサPeに入力される入力データパケットと出力される出力データパケットを示す図である。図6において、(a)に示す入力データパケットおよび(b)に示す出力パケットは、行先ノード番号を格納するための行先ノード番号領域と、世代番号を格納するための世代番号領域と、命令コードを格納する命令コード領域と、データを格納するためのデータ領域とを含む。入力画像信号はデータ格納領域に格納される。世代番号とは、並列処理をしたいデータ群同士を区別するための識別番号である。行先ノード番号とは、同一世代内の入力データ同士を区別するための番号であり、データ駆動型情報処理装置内部においてデータパケットの転送先を示している。命令コードとは命令デコーダに格納されている命令を実行するためのものである。
【0010】
データ駆動型プロセッサPeに図6(a)に示すデータパケットが入力されると、入力パケットはまず合流部JNCを通り、発火制御部FCに伝達され、行先ノード番号と世代番号が同一のデータパケットの間で対データが形成される。すなわち、ノード番号と世代番号が一致する異なる2つのデータパケットの検出が行なわれ、両方の番号が一致する2つのうち、一方のデータパケットを他方のデータパケットのデータ領域に追加格納し、この他方のデータパケットが出力される。
【0011】
データ領域に対データを格納したデータパケットは演算部FPに伝達される。演算部FPは、伝達されたデータパケットを入力し、この入力データパケットの中の命令コードに基づいて、該データパケットの内容に対して所定の演算を行ない、その演算結果を該データパケットのデータ領域に格納する。このデータパケットはプログラム記憶部PSに伝達される。
【0012】
プログラム記憶部PSは伝達されたデータパケットの行先ノード番号に基づいて、プログラム記憶部PS内のプログラムメモリから次の位の行先ノード番号と次の位の命令コードを読出す。読出された行先ノード番号と命令コードは、該データパケットの行先ノード番号領域と命令コード領域にそれぞれ格納される。
【0013】
プログラム記憶部PSから出力されたデータパケットは分岐部BRNへ伝達され、その行先ノード番号に基づいて外部に出力するか、または合流部JNCに戻され、再度データ駆動型プロセッサPe内部に入力される。これらの伝達は前述のC素子2a〜2cにより制御されて実行される。そして、このようなデータ駆動型プロセッサPeが1個もしくは複数個接続されて、データ駆動型情報処理装置が構成されている。
【0014】
データ駆動型情報処理装置内部または外部のメモリにアクセスする命令を格納したデータパケットは、パケット内部の世代番号領域の値をメモリのアドレスとして扱い、メモリアクセスを行なう。バンク(1フィールド)、行および列に対応するものはそれぞれデータパケットにおける世代番号領域内のフィールドFDと、ラインLNとピクセルPXで表わされる。
【0015】
図7は従来のデータ駆動型プロセッサによるサンプリング周波数変換回路のブロック図であり、特開平6−30384号公報に記載されているものである。
【0016】
図7において、サンプリング周波数変換回路4は入力ポート5とデータ駆動エンジン6とメモリインタフェース7と出力ポート8とを含み、このサンプリング周波数変換回路4にはメモリ9が接続される。入力信号である画像信号xは入力ポート5に与えられてデータパケットに生成され、データ駆動エンジン6に与えられる。データ駆動エンジン6に与えられたデータパケットはメモリインタフェース7を介して画像メモリ9に記憶され、サンプリング周波数変換の処理が行なわれ、処理を終了したデータパケットは再度メモリインタフェース7からデータ駆動エンジン6を介して出力ポート8に与えられる。出力ポート8に与えられたパケットはデータパケットYとして外部に出力される。外部に出力されたデータパケット内のデータ領域のデータは補間され、周波数変換された画像信号となる。
【0017】
図8は図7に示した画像メモリにおける画像とデータパケット内部の世代番号フィールドに含まれるデータとメモリセルとの対応関係を示す図である。図8において、フィールドアドレスFDは画像メモリ9におけるフィールド領域を特定する。この画像メモリ9におけるフィールドアドレスFDの指定する領域はバンクであってもよく(1フィールドが1フレームに対応させられる場合)、また1つのフィールドメモリに対応してもよい。画像メモリ9の構成に応じて適当に対応付けられる。ラインアドレスLNはこのフィールドにおける行を特定する。ピクセルアドレスPXのフィールドアドレスFDが特定するフィールドにおける列を特定する。図5に示したデータ駆動型プロセッサはデータフロープログラムに従って処理を実行する。データフロープログラムは演算および制御を示すノード(アクターと呼ばれる)と、ノードとノードとの間を結ぶアークとで構成される有向グラフで記述される。
【0018】
図9はデータフロープログラム(データフローグラフと称される)の一例を示す図である。図9において、ノードNDAは入力アークaおよびb上に与えられたデータに対し、入力データが揃った時点で演算OP1を施して演算結果を出力アークe上に伝達する。ノードNDBは入力アークcおよびdを有し、これらのアークに入力データが揃った時点で演算OP2を施し、出力アークf上にその演算結果を出力する。ノードNDCは制御アークf上の信号が「真」状態のとき、入力アークe上のデータを出力アークg上に伝達する。各ノードにおいては、入力アークにデータ(トークンと呼ばれる)が揃ったときにそのノードに割当てられた演算が実行される。演算の実行をそのノードが「発火する」と称する。
【0019】
発火の結果、入力データ(以下、入力トークンと称する)は消費され、出力トークンが生成される。たとえば、ノードNDAは2つの入力アークaおよびbに入力データがそれぞれ到着し、かつ出力アークeが空いているときに発火する。このとき、ノードNDBの入力アークcおよびdに入力データが到着していれば、ノードNDAとノードNDBとは同時に発火することができる。ノードNDCはノードNDAおよびノードNDBの演算の完了を待つ必要がある。ノードNDCはノードNDAおよびノードNDBの演算が実行完了して、双方の入力データが揃ったときに発火することができる。
【0020】
一般に、n入力m出力のノードは、最大2入力および2出力を有する基本ノードの組合せで実現することができる。基本ノードとしては、入力アークに与えられたデータに演算を施す演算ノードと、入力トークンをコピーして複数の出力アークに出力する分配ノードと、複数の入力アークに与えられたデータを出力アークに伝達する合流ノードと、データの経路を制御する制御ノードがある。
【0021】
図10は従来例のサンプリング周波数変換回路におけるデータフローグラフ形式のプログラム例を示す図である
図7における入力ポート5はサンプリング周波数でサンプリングされたディジタル信号を受け、受けた順に世代番号および所定の行先を示すノード番号を付加して入力パケットを生成する。データ駆動エンジン6は入力されたデータパケットとメモリインタフェース7から読出されたデータパケットに従って演算処理を行なう。メモリインタフェース7は入力データパケット内の世代番号をアドレス信号として画像メモリ9から読出および書込を行なう。
【0022】
図10に示したプログラム例は前述の特開平6−30384号公報に記載されたものであり、MUSE(多重サブナイキストサブサンプリングエンコーディング)方式による画像処理の中で、32.4MHzのサンプリング周波数に変換されている画像データを48.6MHzのサンプリング周波数の画像データに補間して変換するものである。
【0023】
まず、図7に示した入力ポート5に時系列的に与えられる入力データX1,X2…は入力順に世代番号が付され、かつノード番号が付されてデータパケットのフォーマットに変換される。このデータパケットは、ノード401の命令[WR]によってデータパケットの世代番号順に画像メモリ9に書込まれる。なお、この画像メモリ9へのデータパケットの書込は、この場合1つおきのピクセルアドレス位置に書込んでいる。これは32.4MHzサンプリングデータから48.6MHzサンプリングデータに変換されると、補間データが加わりデータ数が増加するので、サンプリング周波数変換されたデータが再び画像メモリ9に書込まれる際、最初に書込まれた入力データが読出される前に補間データにより書換えられないようにするためである。
【0024】
ノード401と並行してノード402において演算「AGN」が実行される。ノード402における演算「AGN」は右データが固定データ「0」であり、入力データパケットが与えられた時点でこの固定された定数「0」との演算が行なわれる。この演算「AGN」は入力データパケットの世代番号をデータとして、データ領域にコピーしてデータパケットを出力する命令である。したがって、データ領域には世代番号が格納されている。
【0025】
ノード402の出力はノード403に与えられる。ノード403はノード402の出力データパケットに含まれるデータ領域内のデータと固定データ「1」との「AND」演算を実行する。これにより、奇数世代のデータパケットのデータ領域には「1」が書込まれ、偶数世代のデータパケットデータ領域には「0」が書込まれる。これにより奇数世代の画像データと偶数世代の画像データとの分離が行なわれる。
【0026】
ノード403により奇数世代の画像データと偶数世代の画像データの分離が行なわれたデータ系列はノード404に与えられる。ノード404の演算[EQ」はデータパケットのデータ領域のデータが「1」であればそこに「1」が書込まれ、そうでない場合には「0」が書込まれる。
【0027】
ノード404の出力はノード405に与えられる。ノード405は制御ゲートであり、右データすなわちノード404の出力データが「1」の場合にこのノード404から与えられた左データを通過させる。そうでない場合は、この左入力アークへ与えられたデータを消滅させる。これにより、ノード405からは奇数世代の画像データに対応するデータパケットのみが与えられる。以後、このノード405からの奇数世代の画像データのみを用いてサンプリング周波数の変換が行なわれる。この奇数世代画像データに対応するデータパケットのみを利用するのは1つのデータパケットたとえばX5が与えられたときに同時に3つのデータY1,Y2,Y3を出力するためである。これにより、等価的に2つの入力画像データに対して3つの変換後の画像データを出力することになり、これにより任意の画像データのサンプリング周波数を1.5倍した画像データを得ることができる。たとえば、サンプリング周波数32.4MHzの画像データを図10に示すデータフロー型プログラムの処理を施すと、32.4MHzの1.5倍である48.6MHzのサンプリング周波数に変換された画像データを得ることができる。
【0028】
この奇数世代データパケットはノード406およびノード407へ与えられる。ここでは、画像データX5の世代番号が格納されたデータパケットがノード406に与えられた場合について説明する。ノード406では、世代番号(FD,LN,PX)が(0,0,−2)、つまりX5のピクセルアドレスから−2のアドレスで画像メモリ9に格納されたデータの読出が行なわれる。
【0029】
既に説明したように、データパケットは1つおきのピクセルアドレス(2倍のアドレス)に書込まれているため、この場合は1世代前の画像データX4のデータパケットが読出される。続いて、ノード408に送られると(0,0,−6)、つまりX5のピクセルアドレスから−6のアドレスで画像メモリ9に格納されたデータの読出が行なわれる。これにより、画像メモリ9から3世代前の画像データX2のデータパケットが読出される。
【0030】
一方、ノード407においては(0,0,0)、つまり画像メモリ9から画像データX5のデータパケットが読出される。ノード407より読出された画像データX5はノード409へ与えられる。ノード409により世代番号にオフセット−4が与えられ、2世代前の画像データX3が読出される。次いで、ノード410に進み、画像データX5の世代番号にオフセット−8を与えて画像メモリ9へアクセスする。これにより、画像データX5よりも4世代前の画像データX1が読出される。これによりサンプリング周波数変換に必要とされる5つの画像データX1,X2,X3,X4,X5が読出される。
【0031】
次いで、補間処理を伴ったサンプリング周波数変換を行なうために演算処理が実行される。ノード407の演算により読出されたデータX5はノード418およびノード427へ与えられる。ノード418は画像データX5と定数α6とを乗算する。ノード427はこの画像データX5とα4とを乗算する演算を行なう。
【0032】
ノード406で読出されたデータX4はノード411,419および428へ与えられ、それぞれのノードにおいて定数α5,α3およびα1と乗算される。ノード408の演算により読出されたデータX2は、ノード412,420および429へ与えられ、それぞれのノードにおいて定数α2,α0およびα2と乗算される。さらに、ノード408の演算により読出されたデータX2はノード413,421および430へも与えられ、それぞれ定数α1,α3およびα5と乗算される。ノード410の演算により読出されたデータX1はノード414,422へ与えられ、それぞれのノードにおいて定数α4,α6が乗算される。
【0033】
ノード411からの演算結果およびノード412からの演算結果はノード415で加算される。ノード413の演算結果とノード415の演算結果はノード416で加算される。ノード414の演算結果とノード416の演算結果はノード417で加算される。これにより、画像データY1に対応するデータパケットが生成される。また、ノード418の演算結果とノード419の演算結果はノード423で加算される。ノード420の演算結果とノード423の演算結果はノード424で加算される。ノード421の演算結果とノード424の演算結果はノード425で加算される。ノード422の演算結果とノード425の演算結果はノード426で加算され、これにより画像データY2に対応するデータパケットが生成される。
【0034】
ノード427の演算結果とノード428の演算結果はノード431で加算され、ノード431の演算結果とノード429の演算結果はノード432で加算され、ノード430の演算結果とノード432の演算結果はノード433で加算される。これにより画像データY3に対応するデータパケットが生成される。ノード411からノード433にかけてのデータフローにおける画像信号の補間処理を伴うサンプリング周波数変換は図10に示す式434で実現することができる。
【0035】
従来のデータ駆動型プロセッサにおいては、画像信号の補間処理の仕様変更の際は行列434−aのa1,a2,a3,a4,a5およびa6の各種パラメータを変更し、一方サンプリング周波数変換の仕様変更の際は、入力データ434−b,出力データ434−cおよび変換パラメータ行列434−aのすべてを変更しなければならない。
【0036】
【発明が解決しようとする課題】
上述の如く、従来のディジタル信号のサンプリング周波数変換装置は、サンプリング周波数変換の仕様に対しては補間処理を伴うサンプリング周波数変換を行なうデータフロー形式のプログラムを変更することにより対応することができる。データ駆動型プロセッサはデータフロー形式のプログラムに従って、入力データの処理とデータ駆動型処理外部のメモリから読出したデータの処理などを行なっているからである。
【0037】
しかし、従来のデータ駆動型プロセッサを使用したサンプリング周波数変換装置において、図10の式434の補間処理を伴うサンプリング周波数変換を行なうためのプログラム仕様変更はサンプリング周波数に係るパラメータ行列434−aの決定などのタイミング調整を行なわなければならず、また最終的には実際に動作させて決定しなければならず、容易ではない。
【0038】
また、プログラムメモリに格納するプログラムには物理的に限界があり、特開平6−30384号公報に記載されたディジタル信号のサンプリング周波数変換装置を従来のデータ駆動型プロセッサで実現するためには、多量のプログラム格納メモリを費やすことになる。画像データに対してサンプリング周波数変換以外のさまざまな処理、たとえばガンマ補正やRGB変換なども行なう際にはメモリ不足やプログラム量に応じた処理速度の低下などの欠点がある。
【0039】
それゆえに、この発明の主たる目的は、サンプリング周波数変換の仕様変更などの際に、クロックのタイミングを変更するだけで迅速に仕様変更可能なディジタル信号のサンプリング周波数変換装置を提供することである。
【0040】
【課題を解決するための手段】
この発明は、ディジタル信号のサンプリング周波数変換装置であって、データ信号を受け、データ信号に入力順に世代番号および行先ノード番号を付して第1のパケットを生成するデータパケット生成部と、クロック信号を受け、クロック信号に入力順に世代番号および行先ノード番号を割り当てた第2のパケットを生成するデータパケット生成機構と、第1および第2のパケットを受け、第1のパケットから抜き出されたデータ値に基づいて第2のパケット内のデータ領域を更新する入力制御部と、入力制御部に接続され、入力制御部から伝送される第2のパケットを受け、第2のパケットに含まれる行先ノード番号に割り当てられた命令に従って読み出されたデータパケットに対して演算処理を行なうデータ駆動エンジンとを備える。
【0041】
好ましくは、メモリインターフェイスを介してデータ駆動エンジンに接続されるメモリをさらに備え、データ駆動エンジンは、第1のパケットに基づいて更新された第2のパケットを受け、第1のパケットの世代番号に基づくアドレスに従って第2のパケットをメモリへ書き込み、入力制御部は、メモリに書き込まれた第2のパケットのデータと第2のパケットにアドレスが隣接するデータとの間の所定比率の点を補間することにより第2のパケット内のデータ領域を更新する。
【0042】
好ましくは、第2のパケットからデータ値を抜き出す演算に用いられる第1の可変定数は、クロック信号に応じて生成されるデータパケットの世代番号のディジタル化に用いられる。
【0043】
好ましくは、第2のパケットからデータ値を抜き出す演算に用いられる第1の可変定数は、2のべき乗である。
好ましくは、所定比率の決定に用いられる第2の可変定数は、データ信号のサンプリング周波数と所望のディジタル化されたサンプリング周波数との変換比に対応する。
【0044】
【発明の実施の形態】
図1はこの発明の一実施形態のデータ駆動型プロセッサを使用した画像データのサンプリング周波数変換回路の一例を示すブロック図である。図1において、サンプリング周波数変換回路40は、データ駆動エンジン6とメモリインタフェース7と出力ポート8は前述の図7と同様であり、入力ポート10にデータパケット生成部12と入力制御部13とを内蔵させ、さらにデータパケット生成機構11を新たに設けた点が異なっている。
【0045】
データパケット生成機構11はクロック入力端子に入力されたクロックから所望の周波数変換を行なうために補間されたデータを格納するためのデータパケットを生成する。入力ポート10内のデータパケット生成部12は入力データXを受け、受けた順に世代番号および所定の行先を示すノード番号を付して入力パケットを生成する。入力ポート10内の入力制御部13はデータパケット生成部12で生成された画像データXを格納したデータパケットと、データパケット生成機構11で生成された所望の周波数変換を行なうために補間されたデータを格納するためのデータパケットの行先ノード番号を参照してデータ駆動エンジン6に伝送するものである。データ駆動エンジン6は前述の図7で説明したように、1つもしくは複数のデータ駆動型プロセッサPeを含んで構成されている。
【0046】
データ駆動エンジン6は読出されたデータパケットに含まれる行先ノード番号に従って処理を実行する。この処理実行時においては、行先ノード番号に割当てられた命令に従って読出されたデータパケットに対して演算処理を行なう。データ駆動エンジン6は入力データパケットの割合と、入力データパケットとは別のクロックにより生成されるデータパケットの割合との比が前者のサンプリング周波数と後者のサンプリング周波数との比で与えられる数のデータパケットを1つの入力データパケットに対応して生成する。
【0047】
サンプリング周波数変換などの周波数変換処理を施したデータを利用するのは、一般にサンプリング周波数変換器の出力ポート以降(たとえば、データ駆動型プロセッサの外部)がデータを要求するときである。そのため、データを要求する側(データ駆動型プロセッサの出力段以降の装置)からクロックをデータ駆動型プロセッサに送った方がデータ駆動型プロセッサにおいて処理速度の面から効率がよい。したがって、クロック入力端子は出力側に配置するのが実用的である。
【0048】
図2はこの発明の一実施形態のデータ駆動型プロセッサで実現した解像度変換器のデータフローグラフ形式のプログラム例を示す。図2において、入力ポート70へ時系列的に与えられた入力画像データX1は入力順に世代番号が付され、かつ行先ノード番号が付されてデータパケットのフォーマットに変換される。このデータパケットはデータ駆動エンジン6内のプログラム記憶付発火制御ユニット(複数あるデータ駆動型プロセッサPeを基本としたユニットの1つ)へ与えられる。プログラム記憶付発火制御ユニットは、その世代番号順に生成されたデータパケットをノード71のWR命令により図6に示した世代番号に基づくアドレスにしたがって画像メモリ7へ書込む。
【0049】
一方、クロック入力端子から投入されたクロックによりデータパケット生成機構11でパケット投入順に世代番号と行先ノード番号が割当てられる。このとき、データ領域には何も入っていない。データパケット生成機構11により生成されたパケットは、ノード73において演算APXが実行される。演算APXは1入力2出力の命令であり、入力されたデータパケットの世代番号からピクセルPXを抜き出し、抜き出した値でデータパケットのデータ領域の値を更新する。この時点でデータパケットの生成機構で生成されたデータパケットのデータ領域のデータが書込まれる。このとき、データパケットのデータ領域はピクセルPXがデータとなっている。
【0050】
ノード77はデータパケットのデータ領域を左データとし、固定データ「256」を右データとして左データを右データで割算を行なったときの剰余でパケット内のデータ領域を更新する。つまり、データ領域の値の下位9ビットを抜き出して、その値でデータ領域を更新することになる。
【0051】
ノード74へ送られたデータパケットはパケット内のデータ領域の値、つまりピクセルPXを左データとし、固定データ「256」を右データとして左データと右データの乗算を行ないデータ領域を更新する。これは、データ領域を左に8ビットシフトするのと同じことである。
【0052】
図2に示すように、ノード77およびノード74の右データの固定値Zは、ここでの説明では256を使用しているが、この値は任意に設定可能である。このZ値は任意のクロック入力に応じて生成される各データパケットの世代番号(ここではPX値)をこのZ値の逆数0,1/256,2/256,…255/256、1の近い値に近似してディジタル化していくため、Z値が大きいほど図8に示した本来のピクセルPXとの近似の精度が高くなることになる。
【0053】
このZ値は、たとえば128,256,512など2nの値を使用すると、乗算や割算はデータ領域のデータを右もしくは左へビットをシフトし、所望のデータを取出すだけでよく、計算を簡易化することができる。
【0054】
また、後述のCST値は、入力される画像データXiのサンプリング周波数に対して、所望のディジタル化されたサンプリング周波数に変換された画像データYiの周波数の変換比に対応するものであり、CST/Z倍に変換することになる。このCST/Z値を任意に変えることで、容易に所望の周波数変換比を得ることができる。
【0055】
ノード74とノード77の演算の結果、ノード77の演算結果のデータパケットのデータ領域はノード73のデータ領域の値の小数部分で更新され、ノード74の演算結果のデータパケットのデータ領域はノード73のデータ領域の値の整数部分で更新される。ノード75,ノード76の命令VSは1入力1出力の命令であり、データ領域の値をPXとして、この値をアドレス信号とし、アドレス信号にオフセットをかけた先の画像メモリ9のアドレスに書込まれたデータを参照し、データ領域を更新する。ノード75のオフセット値はすべて0のため、アドレス信号で読出した先の画像メモリ9に書込まれたデータXiでパケット内のデータ領域を更新する。このため、データパケット内のデータ領域はXiのデータとなる。ノード76はピクセル番号にオフセットとして+1を施すため、ノード75で読出した1つの異なるアドレスに書かれたデータXi+1を画像メモリ9から読出し、パケット内のデータ領域を更新する。このとき、データパケットのデータ領域はXi+1のデータになる。
【0056】
ノード79はノード75の出力、つまりVSにより読出したデータとノード77の出力を入力として受取り、その積を出力として送る。ノード80は固定データ512(CST=512)を左データとし、ノード77から送られたデータを右データとして、左データから右データの減算を行ない、その結果を出力として送る。ノード81はノード76のVSにより読出したデータとノード80の出力を入力として受取り、その結果を出力として送る。
【0057】
ノード82はノード81の演算結果とノード79の演算結果との加算を行ない、その結果をノード83に送る。しかし、このデータパケットのデータ領域の値は、CST倍所望の値よりも大きいため、ノード83でデータ領域の値を1/CSTする処理を行なう。このデータフロープログラムではLOG2のCSTビット分右シフトして、その値でデータ領域を更新している。すなわち、512は29、つまり1/512にするため、右へ9ビットシフト処理してデータを抜き出している。
【0058】
この演算結果でデータパケット内のデータ領域を更新し、データパケットYiを出力する。データパケットYiは、図2に示す式84の
Yi=CD/CST×Xi+(1−CD/CST)×Xi+1
により求めることができる。たとえば、CD/CSTを0.5にすれば、隣り合う2点の中心の点を補間することが可能となる。補間は隣り合う2点(Xi,Xi+1)を直線に結んだ線上の値で近似している。最も簡単な近似により補間可能であるため、データフロープログラムも容易に実現することができる。この補間により、2点間の画像データから3点分の画像データを生成することが可能となる。そして、CD/CSTを走査することにより、補間する画像メモリ9の空間上の場所を容易に変更することが可能となる。
【0059】
解像度変換の仕様変更は、データフロープログラムを変更するのではなく、入力ポートとは別に設けたクロック入力端子のタイミングを変更することにより、所望の解像度変換後の画像データをデータ駆動型プロセッサの出力ポートより得ることができる。
【0060】
データ駆動型プロセッサにおいては、各ノードにおいて演算に必要なデータが揃った時点で発火して演算が実行される。したがって、データ駆動型プロセッサを使用していない一般のディジタル回路などのように入力信号のタイミング調整を行なうことなく容易に、高速で確実に解像度変換処理などを行なうことができる。
【0061】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0062】
【発明の効果】
以上のように、この発明によれば、入力画像の解像度変換を入力ポートとは別に、所望のサンプリング周波数のクロック信号を入力する入力端子を設け、このクロック信号に応じてデータパケットを生成するデータパケット生成機構を設けてデータ駆動型プロセッサで処理を行なうようにしたので、サンプリング周波数変換の仕様変更などの際に、新たに解像度変換器の作り直しなどをする必要がなく、従来の入力ポートとは別のパケット自動生成機構を駆動するクロック入力端子から入力するクロック信号のタイミングを変更するだけで、容易に所望の特性を備えたサンプリング周波数変換装置を実現することができる。
【0063】
また、従来の変換器の仕様変更はデータフロープログラムを変更していたものが、この発明ではクロック信号のタイミングを変更するだけでよく、従来に比べて格段に容易かつ迅速に仕様変更が可能となる。
【0064】
さらに、従来例よりも解像度変換に要する補間処理を伴うサンプリング周波数変換のデータフロー形式のプログラムは、図10に示した従来のサンプリング変換を行なうデータフロー型プログラムよりも図2に示したこの発明によるデータフロー型プログラムの方が小さくてすみ、演算量も40%減少する。したがって、2.5倍の解像度変換にかかる処理能力の向上と、解像度変換処理に要するプログラム保存用メモリ使用量も40%節約可能となる。
【0065】
さらに、この発明はさまざまな補間を伴うサンプリング周波数の変換器に使用可能であるが、たとえばファクシミリで受信した画像データを任意の紙サイズに伸張(A4版→B4版)して出力し、印字する際の補間を伴うサンプリング周波数の変更にも有効となる。
【図面の簡単な説明】
【図1】 この発明の一実施形態のサンプリング周波数変換回路の概略ブロック図である。
【図2】 この発明の一実施形態による画像の解像度変換を行なうデータフロープログラムの一例を示す図である。
【図3】 データ伝送路の構成を示すブロック図である。
【図4】 図3に示したC素子の動作を説明するためのタイミングチャートである。
【図5】 図3に示したデータ伝送路を有するデータ駆動型プロセッサのブロック図である。
【図6】 データパケットのフォーマットを示す図である。
【図7】 従来のデータ駆動型プロセッサによるサンプリング周波数変換回路のブロック図である。
【図8】 図7に示した画像メモリにおける画像とデータパケット内部の世代番号フィールドに含まれるデータとメモリセルとの対応関係を示す図である。
【図9】 従来のデータ駆動型プロセッサによるデータフロープログラムの一例を示す図である。
【図10】 従来例のサンプリング周波数変換回路のデータフローグラフ形式のプログラム例を示す図である。
【符号の説明】
6 データ駆動エンジン、7 メモリインタフェース、8 出力ポート、9 画像メモリ、10 入力ポート、11 データパケット生成機構、12 データパケット生成部、13 入力制御部。
Claims (5)
- データ信号を受け、前記データ信号に入力順に世代番号および行先ノード番号を付して第1のパケットを生成するデータパケット生成部と、
クロック信号を受け、前記クロック信号に入力順に世代番号および行先ノード番号を割り当てた第2のパケットを生成するデータパケット生成機構と、
前記第1および前記第2のパケットを受け、前記第1のパケットから抜き出されたデータ値に基づいて前記第2のパケット内のデータ領域を更新する入力制御部と、
前記入力制御部に接続され、前記入力制御部から伝送される前記第2のパケットを受け、前記第2のパケットに含まれる行先ノード番号に割り当てられた命令に従って読み出されたデータパケットに対して演算処理を行なうデータ駆動エンジンとを備える、ディジタル信号のサンプリング周波数変換装置。 - メモリインターフェイスを介して前記データ駆動エンジンに接続されるメモリをさらに備え、
前記データ駆動エンジンは、前記第1のパケットに基づいて更新された前記第2のパケットを受け、前記第1のパケットの世代番号に基づくアドレスに従って前記第2のパケットを前記メモリへ書き込み、
前記入力制御部は、前記メモリに書き込まれた前記第2のパケットのデータと前記第2のパケットにアドレスが隣接するデータとの間の所定比率の点を補間することにより前記第2のパケット内のデータ領域を更新する、請求項1に記載のディジタル信号のサンプリング周波数変換装置。 - 前記第2のパケットからデータ値を抜き出す演算に用いられる第1の可変定数は、前記クロック信号に応じて生成される前記データパケットの世代番号のディジタル化に用いられる、請求項1または2に記載のディジタル信号のサンプリング周波数変換装置。
- 前記第2のパケットからデータ値を抜き出す演算に用いられる第1の可変定数は、2のべき乗である、請求項1または2に記載のディジタル信号のサンプリング周波数変換装置。
- 前記所定比率の決定に用いられる第2の可変定数は、前記データ信号のサンプリング周波数と所望のディジタル化されたサンプリング周波数との変換比に対応する、請求項2に記載のディジタル信号のサンプリング周波数変換装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000106185A JP3983451B2 (ja) | 2000-04-07 | 2000-04-07 | ディジタル信号のサンプリング周波数変換装置 |
US09/826,889 US6373410B2 (en) | 2000-04-07 | 2001-04-06 | Apparatus for and method of converting sampling frequency of digital signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000106185A JP3983451B2 (ja) | 2000-04-07 | 2000-04-07 | ディジタル信号のサンプリング周波数変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001290794A JP2001290794A (ja) | 2001-10-19 |
JP3983451B2 true JP3983451B2 (ja) | 2007-09-26 |
Family
ID=18619403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000106185A Expired - Fee Related JP3983451B2 (ja) | 2000-04-07 | 2000-04-07 | ディジタル信号のサンプリング周波数変換装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6373410B2 (ja) |
JP (1) | JP3983451B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100385331B1 (ko) * | 2000-12-19 | 2003-05-27 | 주식회사 코스모탄 | 변속재생 시에도 음색변화를 유발하지 않도록 하는오디오신호 재생방법과 이를 위한 재생장치 |
JP3911130B2 (ja) * | 2001-02-15 | 2007-05-09 | シャープ株式会社 | データ駆動型情報処理装置 |
JP4315626B2 (ja) * | 2001-11-16 | 2009-08-19 | シャープ株式会社 | データ駆動型情報処理装置のメモリ制御部における情報処理方法 |
US8606967B2 (en) | 2008-06-17 | 2013-12-10 | Qualcomm Incorporated | Methods and apparatus for proxying of devices and services using overlay networks |
US8655848B1 (en) | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
US8671072B1 (en) | 2009-09-14 | 2014-03-11 | Netapp, Inc. | System and method for hijacking inodes based on replication operations received in an arbitrary order |
US8799367B1 (en) | 2009-10-30 | 2014-08-05 | Netapp, Inc. | Using logical block addresses with generation numbers as data fingerprints for network deduplication |
US8473690B1 (en) * | 2009-10-30 | 2013-06-25 | Netapp, Inc. | Using logical block addresses with generation numbers as data fingerprints to provide cache coherency |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11133991A (ja) * | 1997-10-29 | 1999-05-21 | Toshiba Corp | デジタル信号処理装置及び標本化周波数の切り替え時の制御方法 |
US5903487A (en) * | 1997-11-25 | 1999-05-11 | Windbond Electronics Corporation | Memory device and method of operation |
-
2000
- 2000-04-07 JP JP2000106185A patent/JP3983451B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-06 US US09/826,889 patent/US6373410B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6373410B2 (en) | 2002-04-16 |
JP2001290794A (ja) | 2001-10-19 |
US20010028319A1 (en) | 2001-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04107070A (ja) | 符号,復号装置 | |
US5729664A (en) | Image processing apparatus and method for converting an input color image signal from one color space to another | |
JPH01265347A (ja) | アドレス生成装置 | |
JP3983451B2 (ja) | ディジタル信号のサンプリング周波数変換装置 | |
US5973707A (en) | Scan converting method and apparatus for raster to block and block to raster using a shared block buffer and two input/output buffers, one being raster, the other scan | |
JP3166447B2 (ja) | 画像処理装置及び画像処理方法 | |
EP0661648B1 (en) | Digital signal processing circuit | |
US4713789A (en) | Processor and method of processing image data | |
JPS63271601A (ja) | 出力パルス発生装置 | |
JPS58206254A (ja) | 誤り検出符号生成/検査方式 | |
KR101116613B1 (ko) | 메모리 액세스 제어 장치 및 방법 | |
JP4771619B2 (ja) | ダイレクトメモリアクセス制御装置 | |
JPH1145207A (ja) | データバス変換方式 | |
KR0120570B1 (ko) | 디지탈 화상처리장치에 있어서 화상데이타 변배처리방법 및 회로 | |
JP2853139B2 (ja) | 画像メモリ用アドレス発生器 | |
JPH11102282A (ja) | インタフェースバッファ回路 | |
JPH10312356A (ja) | データ転送装置 | |
JP3761962B2 (ja) | タイムスイッチメモリのデータ制御装置 | |
JP3502885B2 (ja) | 画像拡大・縮小方法及びそれに用いるクロック生成回路 | |
JP2662114B2 (ja) | 画像データ境界処理装置 | |
JP3479847B2 (ja) | 入力装置、出力装置、及び入出力装置 | |
JP3710208B2 (ja) | 画像処理方法及び装置 | |
JPH05257458A (ja) | メモリのアドレス発生回路 | |
JP3842968B2 (ja) | 画像データ処理装置 | |
JPH09191377A (ja) | ラインメモリ制御装置および画像データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070309 |
|
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: 20070626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
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: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110713 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120713 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |