(57)【特許請求の範囲】
【請求項１】
対象画像データの２次元離散フーリエ変換を行う方法であって、
前記対象画像データの最外画素以外の画素が全てゼロに設定されている境界画像データを構築するステップ（ａ）と、
前記対象画像データの各行に対し１次元高速フーリエ変換を行い、前記対象画像データの各列に対して１次元高速フーリエ変換を行うことによって、前記対象画像データの２次元高速フーリエ変換を行うステップ（ｂ）と、
構築された前記境界画像データにおいて第１列のみに対して１次元高速フーリエ変換を行い、構築された前記境界画像データの残りの列について列単位１次元高速フーリエ変換を行わず、前記第１列の１次元高速フーリエ変換の結果をスケーリングすることにより、構築された前記境界画像データの残りの列の１次元高速フーリエ変換を導出し、構築された前記境界画像データの各行に対し１次元高速フーリエ変換を行うことにより、前記境界画像データの２次元高速フーリエ変換を行うステップ（ｃ）と、
前記ステップ（ｂ）によって実行された前記対象画像データの２次元高速フーリエ変換から前記ステップ（ｃ）において導出された前記境界画像データの高速フーリエ変換を減算することによって、前記対象画像データからエッジアーチファクトが除去された画像データの高速フーリエ変換を導出するステップ（ｄ）と、
を１以上のデジタル処理装置が実行する、方法。
【請求項２】
前記ステップ（ｂ）および（ｃ）は並行して処理される、
請求項１に記載の方法
【請求項３】
前記１以上のデジタル処理装置は、ホストコンピュータと、前記ホストコンピュータと接続された１以上のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）と、を備え、
前記ステップ（ａ）および（ｄ）は、前記ホストコンピュータによって実行され、前記ステップ（ｂ）および（ｃ）は、前記１以上のＦＰＧＡによって並行して実行される、
請求項１に記載の方法。
【請求項４】
対象画像データの２次元離散フーリエ変換を行うシステムであって、
ホストコンピュータと、
バスにより前記ホストコンピュータと接続された１以上のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡｓ）と、を備え、
前記ホストコンピュータは、前記対象画像データの最外画素以外の画素が全てゼロに設定されている境界画像データを構築し、
前記１以上のＦＰＧＡは、（ｉ）前記対象画像データの各行に対し１次元高速フーリエ変換を行い、前記対象画像データの各列に対して１次元高速フーリエ変換を行うことによって、前記対象画像データの２次元高速フーリエ変換を行い、
前記１以上のＦＰＧＡは、（ｉｉ）構築された前記境界画像データにおいて第１列のみに対して１次元高速フーリエ変換を行い、構築された前記境界画像データの残りの列について列単位１次元高速フーリエ変換を行わず、前記第１列の１次元高速フーリエ変換の結果をスケーリングすることにより、構築された前記境界画像データの残りの列の１次元高速フーリエ変換を導出し、構築された前記境界画像データの各行に対し１次元高速フーリエ変換を行うことにより、前記境界画像データの２次元高速フーリエ変換を行い、
前記ホストコンピュータは、前記対象画像データの２次元高速フーリエ変換から前記境界画像データの高速フーリエ変換を減算することによって、前記対象画像データからエッジアーチファクトが除去された画像データの高速フーリエ変換を導出する、
システム。
【請求項５】
前記ホストコンピュータは、（ｉ）および（ｉｉ）が並行して処理されるように前記１以上のＦＰＧＡを制御する、
請求項４に記載のシステム。
【請求項６】
Ｎ（Ｎは２より大きい整数）次元画像データのＮ次元高速フーリエ変換を行う方法であって、
前記Ｎ次元画像データを、複数の２次元画像データにスライスし、
請求項１記載の対象画像データの２次元離散フーリエ変換の実行方法を前記複数の２次元画像データのそれぞれに対し実行し、
請求項１記載の前記方法を前記複数の２次元画像データのそれぞれに対し実行した結果からＮ次元高速フーリエ変換を導出する、
処理を１以上のデジタル処理装置が実行する、
方法。
【請求項７】
前記ホストコンピュータは、さらに、Ｎ（Ｎは２より大きい整数）次元画像データを受け取り、受け取った前記Ｎ次元画像データを複数の２次元画像データにスライスするよう構成され、
前記１以上のＦＰＧＡは、前記複数の２次元画像データのそれぞれに対して（ｉ）および（ｉｉ）を実行し、
前記ホストコンピュータは、前記１以上のＦＰＧＡが前記複数の２次元画像データのそれぞれに対し実行した（ｉ）および（ｉｉ）の結果から前記Ｎ次元画像データのＮ次元フーリエ変換を導出する、
請求項５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元離散フーリエ変換（２次元ＤＦＴ）におけるエッジ効果または級数終端誤差を除去するようフィールド・プログラマブル・ハードウェアを構成する方法およびシステムに関する。本出願は、ここに、２０１５年７月２０日に出願された米国仮出願６２／１９４，６８９を全体として参照により引用する。
【背景技術】
【０００２】
離散フーリエ変換（ＤＦＴ）は、デジタル通信システム、画像処理、コンピュータビジョン、生物医学的画像化、および２次元データからの３次元（例えば、トモグラフィー）密度の再構築を含むが、これに限定されない広範囲の用途を有する、最も一般的に使用され極めて重要な関数の１つである。フーリエ画像解析は、空間領域における複雑な畳み込み演算を周波数領域における単純な掛け算に変換することにより、計算を単純化する。その計算の複雑性に起因して、ＤＦＴは、しばしば、高いスループットおよびリアルタイムに近い動作を必要とするアプリケーションの計算上の制約となる。１９６５年に最初に提案されたクーリー−テューキー型高速フーリエ変換（ＦＦＴ）アルゴリズム（非特許文献１）は、１次元ＤＦＴについて、ＤＦＴの複雑さをＯ（Ｎ２）からＯ（ＮｌｏｇＮ）に低減する。しかしながら、２次元ＤＦＴの場合、１次元ＦＦＴを２次元で計算しなければならないので、その複雑性はＯ（Ｎ２ｌｏｇＮ）に増加し、２次元ＤＦＴはリアルタイムマシンビジョンアプリケーションにとって重大なボトルネックになってしまう（非特許文献２）。
【０００３】
資源効率がよく高スループットな２次元ＤＦＴの実装がいくつか存在する。これらの実装の多くは、ソフトウェアベースであり、例えば、Ｉｎｔｅｌ  ＭＫＬ（非特許文献３）、ＦＦＴＷ（非特許文献４）およびＳｐｉｒａｌ（非特許文献５）等の汎用プロセッサ（ＧＰＰ）の効率的なパフォーマンスのために最適化されている。ＧＰＰ上の実装は、様々なシナリオに容易に適用できる。しかしながら、ＧＰＰはより多くの電力を消費し、リアルタイム組み込みアプリケーションにとって理想的ではない。特定用途向け集積回路（ＡＳＩＣ）ベースの実装もいくつか提案されているが（非特許文献６）、ＡＳＩＣ実装を変更するのは容易ではないため、画像処理システムの迅速な試作に対して費用効率の高い解決策ではない。その固有の並列性およびリコンフィギュラビリティにより、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）は、ＦＦＴアルゴリズム自体の並列性を完全に利用するため、ＦＦＴ計算を加速する魅力的なターゲットである。過去数年間で、高スループットのＦＰＧＡベースの実装がいくつかあった。これらの実装のほとんどは、外部メモリを効率的に使用して行および列の分解（ＲＣＤ）により１次元ＦＦＴを繰り返し起動することに依存している（非特許文献２、７および８）。それらの多くは、リアルタイムまたはリアルタイムに近い性能（すなわち、標準５１２×５１２画像に対し１秒あたり２３フレーム以上）を達成している。
【０００４】
２次元ＤＦＴを計算している間、画像は周期的であると仮定されるが、通常はそうではない。この画像の非周期性は、エッジアーチファクトまたは級数終端誤差として知られる、フーリエ変換におけるアーチファクトの原因となる。これらのアーチファクトは、非特許文献９および１０に見られるように、周波数領域における高振幅係数のいくつかのクロスとして現れる。このようなエッジアーチファクトは、後続の処理段階に渡されることができ、生物医学的用途において結果の重大な誤解につながるおそれがある。現在の２次元ＦＦＴ  ＦＰＧＡ実装のいずれも、この問題に直接取り組んでいない。これらのアーチファクトは、たいてい、ミラーリング、ウィンドウイング、ゼロ詰め、または後処理（例えば、フィルタリング技術）を用いて前処理中に除去される。これらの技術は、通常、計算集約的であり、画像サイズの増加を伴い、しばしば変換を変更する傾向もある。最も一般的な手法は、エッジをゆっくり減衰させるために、コーナーピクセルにおいて画像をランピングすることである。ランピングは通常、テューキー（テーパーコサイン）またはハミング窓などのアポディゼイション関数により行われ、強度をなめらかにゼロに低減する。このような手法は、ＦＦＴを計算する前に、窓関数をルックアップテーブル（ＬＵＴ）に格納し、それに画像ストリームを乗算することによって、前処理動作としてＦＰＧＡに実装することができる（非特許文献１０）。この手法は、小さな画像の場合、極端に計算集約的というわけではないが、画像から不注意に必要な情報を取り除いてしまうため、画像をさらに他の画像と共に処理して、診断や他の意思決定に重要なアプリケーションに使用される最終的な画像を再構築する場合、深刻な結果をもたらす可能性がある。他の一般的な方法は、画像をＮ×Ｎから２Ｎ×２Ｎへミラーリングする方法である。このようにすることで、画像は周期的になり、エッジアーチファクトが除去される。しかしながら、この方法は、画像のサイズを４倍に増加させるだけでなく、変換を対称にするため、不正確な位相成分を生成してしまう。
【０００５】
これまでのＲＣＤベースの２次元ＦＦＴ  ＦＰＧＡ実装のほとんどは、２つの大きな設計上の課題を有している。（１）１次元ＦＦＴ実装は、かなり高いスループットおよび資源効率性を有している必要がある。（２）画像は通常大きく、行および列の１次元ＦＦＴ演算の間に中間のストレージが必要となるため、外部ＤＲＡＭは、高帯域幅を有し、効率的にアドレス指定される必要がある。
【０００６】
１次元、２次元、または多次元ＦＦＴを計算している間に同時にエッジアーチファクトを取り除くことは、使用される方法に関わらず、追加の設計上の課題をもたらす。しかしながら、これらのアーチファクトは、次の処理レベルに伝播するおそれがあるため、アプリケーション内で除去されなければならない。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Cooley, James W., and John W. Tukey. An algorithm for the machine calculation of complex Fourier series. Mathematics of computation 19.90 (1965): 297-301
【非特許文献２】Kee, H., Bhattacharyya, S. S., Petersen, N., & Kornerup, J. Resource-efficient acceleration of 2-dimensional Fast Fourier Transform computations on FPGAs. Distributed Smart Cameras, 2009. ICDSC 2009. Third ACM/IEEE International Conference on. IEEE, 2009
【非特許文献３】Wang, Endong, et al. Intel Math Kernel Library. High-Performance Computing on the Intel Xeon Phi. Springer International Publishing, 2014. 167-188
【非特許文献４】Frigo, Matteo, and Steven G. Johnson. FFTW: An adaptive software architecture for the FFT. Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on. Vol. 3. IEEE, 1998
【非特許文献５】Puschel, Markus, et al. SPIRAL: Code generation for DSP transforms. Proceedings of the IEEE 93.2 (2005): 232-275
【非特許文献６】Lenart, Thomas, Mats Gustafsson, and Viktor Owall. A hardware acceleration platform for digital holographic imaging. Journal of Signal Processing Systems 52.3 (2008): 297-311
【非特許文献７】Uzun, Isa Servan, Abbes Amira, and Ahmed Bouridane. FPGA implementations of fast Fourier transforms for real-time signal and image processing. Vision, Image and Signal Processing, IEE Proceedings-. Vol. 152. No. 3. IET, 2005
【非特許文献８】Yu, Chi-Li, et al. Multidimensional DFT IP generator for FPGA platforms. Circuits and Systems I: Regular Papers, IEEE Transactions on 58.4 (2011): 755-764
【非特許文献９】He, Dajun, and Qibin Sun. A practical print-scan resilient watermarking scheme. IEEE ICIP (1). 2005
【非特許文献１０】Bailey, Donald G. Design for embedded image processing on FPGAs. John Wiley and Sons, 2011: 323-324
【非特許文献１１】Moisan, Lionel. Periodic plus smooth image decomposition. Journal of Mathematical Imaging and Vision 39.2 (2011): 161-179
【非特許文献１２】Hast, Anders. Robust and Invariant Phase Based Local Feature Matching. Pattern Recognition (ICPR), 2014 22nd International Conference on. IEEE, 2014
【非特許文献１３】Galerne, Bruno, Yann Gousseau, and Jean-Michel Morel. Random phase textures: Theory and synthesis. Image Processing, IEEE Transactions on 20.1 (2011): 257-267
【非特許文献１４】Hovden, Robert, et al. Periodic Artifact Reduction in Fourier Transforms of Full Field Atomic Resolution Images. Microscopy and Microanalysis 21.02 (2015): 436-441
【非特許文献１５】Kehtarnavaz, Nasser, and Sidharth Mahotra. FPGA implementation made easy for applied digital signal processing courses. Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on. IEEE, 2011
【非特許文献１６】Elliott, Chance, et al. National instruments LabVIEW: a programming environment for laboratory automation and measurement. Journal of the Association for Laboratory Automation 12.1 (2007): 17-24
【非特許文献１７】Caesar, Greg, and Mark Wetzel. PXI Express: extending backplanes to 6 Gbyte/s while maintaining backwards compatibility. Autotestcon, 2005. IEEE. IEEE, 2005
【非特許文献１８】National Instruments Technical Document [online], Device Specifications NI PXIe-7976R, NI FlexRIO FPGA Module for PXI Exporess. 2014, Available: http://www.ni.com/pdf/manuals/374545a.pdf (Accessed on: 16th January, 2015)
【非特許文献１９】Jung, Hyunuk, and Soonhoi Ha. Hardware synthesis from coarse-grained dataflow specification for fast HW/SW cosynthesis. Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis. ACM, 2004
【非特許文献２０】Eonic PowerFFT ASIC [Online]. Available: http://www.eonic.com/
【非特許文献２１】Kee, Hojin, et al. Systematic generation of FPGA-based FFT implementations. Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on. IEEE, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、エッジアーチファクトを除去するための既存技術は、メモリをたくさん使用し１次元ＤＦＴルーティンを何回も起動する等、大きな計算資源を必要とする、または、使いやすい実装可能な方法でエッジアーチファクトを効果的かつ十分に除去しない。今日まで、リアルタイムアプリケーションのための２次元離散フーリエ変換についてエッジアーチファクトを除去するのに利用できる効率的かつ効果的な技術は存在しない。
【０００９】
本発明の目的は、リアルタイムでの２次元離散フーリエ変換においてエッジアーチファクトを除去するための効率的かつ効果的なスキームおよびシステムを提供することである。
【００１０】
本発明のもう１つの目的は、２次元ＦＦＴ  ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＧａｔｅＡｒｒａｙ）に容易に実装可能であって、リアルタイムでの２次元離散フーリエ変換においてエッジアーチファクトを除去するための効率的かつ効果的なスキームおよびシステムを提供することである。
【００１１】
本発明のもう１つの目的は、リアルタイムでの２次元離散フーリエ変換においてエッジアーチファクトを除去するための効率的かつ効果的なスキームが実装されたＦＰＧＡを備える２次元ＦＦＴシステムを提供することである。
【課題を解決するための手段】
【００１２】
これらの利点およびその他の利点を達成するために、本発明の目的に従って、具現化され広範に記載されているように、１つの側面では、本発明は、１以上のデジタル処理装置において実行される、対象画像データの２次元離散フーリエ変換を行う方法であって、前記対象画像データから境界画像データを抽出するステップ（ａ）と、前記対象画像データの各行に対し１次元高速フーリエ変換を行い、前記対象画像データの各列に対して１次元高速フーリエ変換を行うことによって、前記対象画像データの２次元高速フーリエ変換を行うステップ（ｂ）と、スムース成分の高速フーリエ変換を導出するように、列単位１次元高速フーリエ変換を行うことなく前記境界画像データに対し簡易２次元高速フーリエ変換処理を行うステップ（ｃ）と、前記ステップ（ｂ）によって実行された前記対象画像データの２次元高速フーリエ変換から前記ステップ（ｃ）において導出された前記スムース成分の高速フーリエ変換を減算することによって、エッジアーチファクトが除去された前記対象画像データのピリオディック成分の高速フーリエ変換を導出するステップ（ｄ）と、を含み、前記ステップ（ｃ）は、抽出された前記境界画像データにおいて第１列ベクトルのみに対して１次元高速フーリエ変換を行い、拡大縮小された列ベクトルを使用して抽出された前記境界画像データの残りの列の１次元高速フーリエ変換を導出し、抽出された前記境界画像データの各行に対し１次元高速フーリエ変換を行うことを含む、方法を提供する。この方法において、前記ステップ（ｂ）および（ｃ）は並行して処理されてもよい。
【００１３】
この方法において、前記１以上のプロセッサは、ホストコンピュータと、前記ホストコンピュータと接続された１以上のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）と、を備え、前記ステップ（ａ）および（ｄ）は、前記ホストコンピュータによって実行され、前記ステップ（ｂ）および（ｃ）は、前記１以上のＦＰＧＡによって並行して実行されてもよい。
【００１４】
他の側面では、本発明は、対象画像データの２次元離散フーリエ変換を行うシステムであって、ホストコンピュータと、バスにより前記ホストコンピュータと接続された１以上のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡｓ）と、を備え、前記ホストコンピュータは、前記対象画像データから境界画像データを抽出し、前記１以上のＦＰＧＡは、（ｉ）前記対象画像データの各行に対し１次元高速フーリエ変換を行い、前記対象画像データの各列に対して１次元高速フーリエ変換を行うことによって、前記対象画像データの２次元高速フーリエ変換を行い、前記１以上のＦＰＧＡは、（ｉｉ）スムース成分の高速フーリエ変換を導出するように、列単位１次元高速フーリエ変換を行わずに、抽出された前記境界画像データに対し簡易２次元高速フーリエ変換処理を行い、前記ホストコンピュータは、前記スムース成分の前記高速フーリエ変換を前記対象画像データの前記２次元高速フーリエ変換から減算することによって、エッジアーチファクトが除去された前記対象画像データのピリオディック成分の高速フーリエ変換を導出し、前記簡易２次元高速フーリエ変換処理は、前記境界画像データにおいて第１列ベクトルのみに対して１次元高速フーリエ変換を行い、拡大縮小された列ベクトルを使用して抽出された前記境界画像データの残りの列の１次元高速フーリエ変換を導出し、抽出された前記境界画像データの各行に対し１次元高速フーリエ変換を行うことを含む、システムを提供する。このシステムにおいて、前記ホストコンピュータは、（ｉ）および（ｉｉ）が並行して処理されるように前記１以上のＦＰＧＡを制御してもよい。
【００１５】
他の側面では、本発明は、Ｎ（Ｎは２より大きい整数）次元画像データのＮ次元高速フーリエ変換を行う方法であって、前記Ｎ次元画像データを、複数の２次元画像データにスライスし、上記の対象画像データの２次元離散フーリエ変換の実行方法を前記複数の２次元画像データのそれぞれに対し実行し、上記の方法を前記複数の２次元画像データのそれぞれに対し実行した結果からＮ次元高速フーリエ変換を導出する、方法を提供する。同様に、上記のシステムは、前記ホストコンピュータは、さらに、Ｎ（Ｎは２より大きい整数）次元画像データを受け取り、受け取った前記Ｎ次元画像データを複数の２次元画像データにスライスし、前記１以上のＦＰＧＡは、前記複数の２次元画像データのそれぞれに対して（ｉ）および（ｉｉ）を実行し、前記ホストコンピュータは、前記１以上のＦＰＧＡが前記複数の２次元画像データのそれぞれに対し実行した（ｉ）および（ｉｉ）の結果から前記Ｎ次元画像データのＮ次元フーリエ変換を導出するように構成されていてもよい。
【発明の効果】
【００１６】
本発明の１以上の側面によれば、２次元ＦＦＴにおいてとにかく生成されるエッジアーチファクトが効率的におよび効果的に除去される。特に、いくつかの実施形態では、効果的にエッジアーチファクトを除去しつつ、２次元ＤＦＴのための外部へのアクセスおよび１次元ＤＦＴ処理がこれまでの技術と比較して大幅に削減される。例えば、本発明の実施例において、１次元ＦＦＴの必要な起動回数は低減され、外部ＤＲＡＭの利用は大幅に低減され、これにより計算資源を大幅に節約する。
【００１７】
本発明の追加のまたは個々の特徴と利点は、以下の記載において説明され、一部はその記載から明らかであり、あるいは、本発明の実施により習得することができる。本発明の目的と他の利点は添付図面だけでなくその明細書および特許請求の範囲において特に指摘される構成によって実現され、達成されるだろう。
【００１８】
上述の一般的な説明と、以下に述べる詳細な説明は、例示的かつ説明的なものであって、特許請求されている本発明の詳しい説明を提供することが意図されていることを理解されたい。
【図面の簡単な説明】
【００１９】
【図１】図１は、非周期的な境界を有する例示画像に適用された、本発明の実施形態に係る、処理前後の画像およびそれぞれのフーリエ成分分布を示す。図１（ａ）は、非周期的な境界を有する例示画像である。図１（ｂ）は、図１（ａ）の画像の２次元ＤＦＴを示す図である。図１（ｃ）は、スムース成分のＤＦＴ、すなわち、図１（ａ）の画像から除去されたアーチファクトである。図１（ｄ）は、ピリオディック成分、すなわち、エッジアーチファクトが除去された図１（ａ）の画像のＤＦＴである。図１（ｅ）は、スムース成分から再構築した画像を示す図である。図１（ｆ）は、ピリオディック成分から再構築された画像を示す図である。
【図２】図２は、ミラーリング、ピリオディックプラススムースデコンポジション（ＰＳＤ）、および本発明の実施形態に係る改良ピリオディックプラススムースデコンポジション（ＯＰＳＤ）について、画像サイズの増加に伴うＤＲＡＭアクセス回数と計算対象のＤＦＴポイント数とをそれぞれ示すグラフである。
【図３】図３は、本発明の実施形態に係る、ＰＸＩｅ筐体上の高速バスを介して接続されたホストＰＣコントローラを備えるＰＸＩｅベースのマルチＦＰＧＡシステムのブロック図である。
【図４】図４は、ＩＬＵＴを伴う２次元ＦＦＴのブロック図であり、本発明の実施形態に係る、制御部（ＣＵ）を介してスケジュールされた外部メモリとローカルメモリとの間のデータ転送を示している。
【図５】図５は、本発明の実施形態に係る、改良ピリオディックプラススムースデコンポジションを使用した同時エッジアーチファクト除去を伴うＰＸＩｅベースの２次元ＦＦＴ実装の機能ブロック図である。
【図６】図６は、本発明の実施形態に係る全体的なハードウェア設計の流れを示す図である。ＤＦＴは標準ＶＨＤＬブロック、Ｆｌｉｐ関数、およびＭａｔｈ関数を用いて実装される。Ｆｌｉｐ関数およびＭａｔｈ関数は、図７および図８において詳細に描かれており、ディスプレイＡおよびディスプレイＢは、それぞれ、オリジナルのＤＦＴおよび改良ＤＦＴを示す図であり、１つまたは２つの表示装置上に表示されてもよい。
【図７】図７はＦｌｉｐ関数を示す図である。画像のエッジは、ベクトルに格納され、減算され、対応して入れ替えられる。
【図８】図８はＭａｔｈ関数を示す図である。標準ＣＯＲＤＩＣを使用してコサインが実装されている。
【図９】図９は、画像について、原画像、そのＤＦＴ、計算された除去成分（ＲＣ）、およびＤＦＴ−Ｒをそれぞれ示す図である。
【発明を実施するための形態】
【００２０】
上述したこれらのアーチファクトを除去する理想的な方法は、画像から最小限の情報を除去しつつ、画像を周期的にすることを含むべきである。本開示は、この目的のために、効率的なピリオディックプラススムース（“Ｐ＋Ｓ”）デコンポジション（ＰＳＤ）ベースの手法を使用する。Ｍｏｉｓａｎ（非特許文献１１）によって最初に提示され非特許文献１２、１３および１４において使用されたＰＳＤは、境界のピクセルを除いてピクセルに直接介入せず、画像サイズの増加を伴わないため、エッジアーチファクトを除去するための理想的な方法である。さらに、ＰＳＤは本来、本質的に並列であるため、高スループットのＦＰＧＡベースの実装に対して理想的なものとなる。本発明者らは、オリジナルのＰ＋Ｓデコンポジションアルゴリズムを大幅に改良し、全体的な実装をより効率的にした。特に、１次元ＦＦＴの必要起動回数および外部ＤＲＡＭの利用を大幅に削減する。
【００２１】
本開示において、アルゴリズムを迅速に試作するために、本発明者らは、ロバストなデータフローベースのグラフィカルデザイン環境（非特許文献１６）であるＮａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ社のＬａｂＶｉｅｗ  ＦＰＧＡ  ２０１４（非特許文献１５）を使用した。ＬａｂＶｉｅｗ  ＦＰＧＡは、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ（ＮＩ）社のＸｉｌｉｎｘベースのリコンフィギュラブルハードウェアとの統合を提供し、ホストＰＣとの効率的な通信およびＰＸＩｅ（ＰＣＩ  ｅＸｔｅｎｔｉｏｎｓ  ｆｏｒ  Ｉｎｄｕｓｔｒｙ  Ｅｘｐｒｅｓｓ）バス（非特許文献１７）を介した複数のＦＰＧＡ間の高スループット通信を可能にする。ＬａｂＶｉｅｗ  ＦＰＧＡにより、外部のハードウェア記述言語（ＨＤＬ）コードを統合することができ、将来の処理段階に対し開示された設計を柔軟に拡張できる。本発明者らは、Ｘｉｌｉｎｘ  Ｋｉｎｔｅｘ  ７ＦＰＧＡおよび２ＧＢ高帯域幅外部メモリを有するＮＩ社のＰＸＩｅ７９７６Ｒ（非特許文献１８）ボードを用いた。しかしながら、本開示で提示される改良および設計は、リコンフィギュラブルコンピュータベースのシステムに拡張可能である。
【００２２】
本開示は以下のように構成されている。次のセクションＩでは、ピリオディックプラススムースデコンポジションを用いたエッジアーチファクトの除去について説明する。次に、セクションＩＩでは、ＦＦＴ起動回数を減少させ、外部メモリへのアクセスを減少させる、本発明の実施形態に係るＰ＋Ｓデコンポジションの改良について説明する。セクションＩＩＩＡでは、ハードウェア構成について説明し、セクションＩＩＩＢでは、使用されるハードウェアの文脈における改良Ｐ＋Ｓデコンポジションのためのアーキテクチャの実施形態、さらなる処理段階のために一般化する方法、および様々なアプリケーションならびに実験結果について説明する。
【００２３】
＜Ｉ．エッジアーチファクト除去のためのピリオディックプラススムースデコンポジション＞
ピリオディックプラススムースデコンポジション（ＰＳＤ）は、画像をピリオディック成分およびスムース成分に分解することを含み、スムース成分は、画像の境界から計算され、その後、ピリオディック成分を得るために、画像から減算される。有限領域Ω＝｛０，１，・・・，ｎ−１｝×｛０，１，・・・，ｍ−１｝上で離散ｎ×ｍグレースケール画像Ｉを持つものとする。Ｉの離散フーリエ変換（ＤＦＴ）は、以下のように定義される。
【数１】
0006429428.tif 000002
【００２４】
これは、行列の乗算ＷＩＶと同等であり、ここで、
【数２】
0006429428.tif 000003
かつ、
【数３】
0006429428.tif 000004
である。
【００２５】
Ｖは、Ｗと同一の構造を有するが、ｍ次元である。ｗｋは周期ｎを有するので、ｗｋ＝ｗｋ＋ｌｎ、∀ｋ，ｌ∈Ｎであり、したがって、
【数４】
0006429428.tif 000005
である。
【００２６】
一般的に、Ｉは（ｎ，ｍ）ピリオディックではないため、図１（ｂ）に示すように、ＤＦＴ内には、画像の対向するエッジ間の鋭い不連続から生じる高振幅エッジアーチファクトが存在する。Ｍｏｉｓａｎ（非特許文献１１）は、Ｉを、全ての高周波の細部を伴う画像のエッセンスをとらえるピリオディック成分Ｐと、境界での不連続を再作成する、なめらかに変化する背景Ｓとに分解することを提案した。すなわち、Ｉ＝Ｐ＋Ｓである。ピリオディックプラススムースデコンポジションは、境界画像Ｂ＝Ｒ＋Ｃを最初に構築することによって計算することができる。ここで、Ｒは、行方向に遷移するときの境界不連続を表し、Ｃは、列方向に進むときの境界不連続を表す。
【数５】
0006429428.tif 000006
【００２７】
境界画像Ｂの構造は、以下に示すように、エッジにのみ非ゼロ値が存在する簡易な構造であるとわかる。
【数６】
0006429428.tif 000007
スムース成分ＳのＤＦＴは、以下の式によって求めることができる。
【数７】
0006429428.tif 000008
【００２８】
エッジアーチファクトが除去された画像ＩのＤＦＴは、
【数８】
0006429428.tif 000009
である。図１は、非周期境界を有する例示画像に適用された、本発明の実施形態に係る、処理前後の画像Ｉとそれぞれのフーリエ成分分布とを示す図である。具体的には、図１（ａ）は、非周期境界を有する画像Ｉである。図１（ｂ）は、図１（ａ）の画像の２次元ＤＦＴを示す図である。図１（ｃ）は、スムース成分のＤＦＴ、すなわち、図１（ａ）の画像から除去されたアーチファクトである。図１（ｄ）は、ピリオディック成分、すなわち、エッジアーチファクトが除去された図１（ａ）の画像のＤＦＴである。図１（ｅ）は、スムース成分から再構築された画像を示す図である。図１（ｆ）は、ピリオディック成分から再構築された画像を示す図である。
【００２９】
図に示されるように、再構築の際、図１（ａ）の実画像と、図１（ｆ）の周期的な再構築画像との間に無視できる視覚的差異があるのは、明らかである。以下のアルゴリズム１は、全体的なＰ＋Ｓ実装を要約している。アルゴリズムの構成方法はいくつか存在する。本開示では、ピリオディック成分およびスムース成分のＤＦＴがさらなる処理段階で容易に利用できるように構成されている。最良の結果を得るには、ピリオディック成分およびスムース成分の両方が、同様の処理段階を経て、結果を表示する前に、一緒に組み入れなければならない。しかしながら、アプリケーションによっては、スムース成分は完全に破棄されてしまう場合がある。
【数９】
0006429428.tif 000010
【００３０】
＜ＩＩ．ＦＰＧＡ実装のためのＰＳＤ改善＞
本開示は、ＦＰＧＡ上で効果的に構成されることができるよう、オリジナルのＰ＋Ｓアルゴリズムの大幅な改善を提供する。以下に説明するように、本開示におけるこの独自の改良の結果として、１次元ＦＦＴ起動回数および外部ＤＲＡＭの利用が大幅に削減される。上記のアルゴリズム１は、２つの２次元ＦＦＴが各画像フレーム（すなわち、原画像Ｉおよび境界画像Ｂ）に対し計算される必要があることを示している。これらのＦＦＴは並行して計算することができるが、それには、１次元ＦＦＴを多量に起動し、外部メモリに繰り返しアクセスすることが必要となる。
【００３１】
上記式（６）を調べると、本発明者らは、境界画像Ｂが、境界行と境界列とが互いの代数的否定であるという意味で対称であることに気づいた。全体で、Ｂはｎ＋ｍ−１個の固有要素を有し、行および列に対し以下のコーナ間関係を有する。
【数１０】
0006429428.tif 000011
【００３２】
ＢのＦＦＴを計算するには、通常、最初に１次元ＦＦＴを列単位で実行し、その後１次元ＦＦＴ’を行単位で実行する、または、その逆を行う。長さｎの列ベクトルｖのＦＦＴは、Ｗｖであり、Ｗは式（４）で与えられる。行列Ｂの列方向のＦＦＴは、以下のように与えられる。
【数１１】
0006429428.tif 000012
【００３３】
Ｂ.１で示される第１列に対し、このベクトルの１次元ＦＦＴは以下のとおりである。
【数１２】
0006429428.tif 000013
【００３４】
列ｊ∈｛２，３，・・・，ｎ−１｝の１次元ＦＦＴは以下のようになることがわかる。
【数１３】
0006429428.tif 000014
【００３５】
最終列Ｂ.ｍの１次元ＦＦＴは以下のとおりである。
【数１４】
0006429428.tif 000015
したがって、行列Ｂの列方向ＦＦＴは以下のとおりである。
【数１５】
0006429428.tif 000016
【００３６】
行列Ｂの列単位の１次元ＦＦＴを計算するには、第１ベクトルのＦＦＴを計算し、次に、適切にスケーリングされたベクトルνを使用して残りの列のＦＦＴを導出すれば十分である。行単位ＦＦＴは通常計算されなければならない。アルゴリズム２は、
【数１６】
0006429428.tif 000017
を計算するためのショートカットの要約を提示する。アルゴリズム２で提示されたステップは、アルゴリズム１のステップ１３を置換する。境界画像の列単位１次元ＦＦＴの計算を減らすことにより、本方法は、ＦＰＧＡベースの実装について、１次元ＦＦＴの起動回数を大幅に削減し、ＤＲＡＭアクセスを削減する。これは、初期ベクトル
【数１７】
0006429428.tif 000018
および縮尺係数ｂ１ｊをブロックＲＡＭ／レジスタメモリに一時的に格納することにより実装でき、ＤＲＡＭアクセスを劇的に削減し、１次元ＦＦＴの必要な起動回数を低減する。
【数１８】
0006429428.tif 000019
【００３７】
Ｎ×Ｍ画像の場合、上述した技術によれば、２次元ＦＦＴの列単位成分を計算しつつ、ＤＲＡＭアクセスを４ＮＭポイントから３ＮＭ＋Ｎ＋Ｍ−１ポイントに減らすことができ、１次元ＦＦＴの起動回数をＭ列ベクトルよりも１列ベクトルに減らすことができる。換言すると、計算対象となるＤＦＴポイントの数は４ＮＭから３ＮＭ＋Ｍに削減される。表１は、ＤＲＡＭアクセスポイント（読み出し）およびＤＦＴポイントについて、ミラーリングと、Ｐ＋Ｓデコンポジション（ＰＳＤ）と、改良Ｐ＋Ｓデコンポジション（ＯＰＳＤ）の本実施形態との比較を示している。ミラーリングは、最大振幅情報を維持しながらエッジアーチファクトを除去する代替技術の１つであるため、比較目的で使用されている。しかしながら、画像の複製に起因して、位相情報のほとんどが失われる。
【００３８】
図２は、ミラーリング、ピリオディックプラススムースデコンポジション（ＰＳＤ）、および本発明の実施形態に係る改良ピリオディックプラススムースデコンポジション（ＯＰＳＤ）について、画像サイズの増加に伴うＤＲＡＭアクセス回数と計算対象となるＤＦＴポイントの数をそれぞれ示すグラフである。図２に示すように、本発明の実施形態に係る改良ＰＳＤ法は、従来のミラーリングおよびＰＤＳと比較して、外部メモリからの読み出しを大幅に削減することができるとともに、必要なＤＦＴ計算の総数を削減することができる。
【表１】
0006429428.tif 000020
【００３９】
＜ＩＩＩ．改良ＰＳＤのＦＰＧＡ実装＞
＜Ａ．ハードウェア構成＞
２次元ＤＦＴは、通常、複雑な画像処理およびマシンビジョンシステムにおいて畳み込み演算を単純化するために使用されるので、本発明者らは、本発明の実施例として、次の処理レベルのために拡張可能なシステムの設計を試作した。図３は、本発明の実施形態に係る、ＰＸＩｅ筐体上の高速バスを介して接続されたホストＰＣコントローラを備えるＰＸＩｅベースのマルチＦＰＧＡシステムのブロック図である。本発明の実施形態に係る改良ピリオディックプラススムースデコンポジションアルゴリズム案を迅速に試作するため、ＰＸＩｅ（ＰＣＩ  ｅＸｔｅｎｔｉｏｎｓ  ｆｏｒ  Ｉｎｄｕｓｔｒｙ  ｅｘｐｒｅｓｓ）ベースのリコンフィギュラブルシステムを使用した。ＰＸＩｅは、バス構造が強化されたＰＣＩシステムの工業用拡張であり、各接続デバイスに最大４ＧＢ／ｓのスループットでバスへの専用アクセスを提供する。これにより、ホストＰＣと複数のＦＰＧＡとの間の高速専用リンクが可能となる。ＬａｂＶｉｅｗ  ＦＰＧＡグラフィカルデザイン環境を複雑な信号および画像処理システムの迅速な試作に使用することができる。これにより、効果的に外部ＨＤＬコードとＬａｂＶｉｅｗグラフィカルデザインを１つのプラットフォーム上で効果的に統合することができる。実施例を作成するのに、本発明者らは、ＦｌｅｘＲＩＯ（Ｆｌｅｘｉｂｌｅ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｉ／Ｏ）ＦＰＧＡボードを使用し、ＰＸＩｅ筐体に接続した。ＰＸＩｅ  ＦｌｅｘＲＩＯ  ＦＰＧＡボードは柔軟性があり、複数のＦＰＧＡ間において１．５ＧＢ／ｓの高速で直接データ転送ができるため、高スループットを達成するために使用できる。これにより、通常ホストＰＣを介して通信するマルチＦＰＧＡシステムを大幅に単純化することができる。この特徴により、さらなる処理段階に対して我々のシステムを拡張することが可能となり、様々なアプリケーションに対して柔軟に対応できる。図３は、ＰＸＩｅ筐体上の高速バスを介して接続されたホストＰＣコントローラを有するＰＸＩｅベースのマルチＦＰＧＡシステムの基本概要を示す図である。Ｋｉｎｔｅｘ  ７  ＦＰＧＡと最大１０ＧＢ／ｓのデータ帯域幅を有する２ＧＢ外部ＤＲＡＭとを有するＮＩ社ＰＸＩｅ−７９７６Ｒ  ＦｌｅｘＲＩＯボードを使用した。このＦＰＧＡボードは、ＰＸＩｅ−８１３５コアｉ７ＰＣコントローラと共にＰＸＩｅ−１０８２筐体に接続された。
【００４０】
＜Ｂ．基本アーキテクチャ＞
上記したアルゴリズム１および２のように、本実施形態の実装は、４つの段階に分解できる。（１）画像フレームの２次元ＦＦＴを計算する。（２）境界画像を計算する。（３）境界画像の２次元ＦＦＴを計算し、スムース成分を算出する。（４）原画像の２次元ＦＦＴからスムース成分を減算して、ピリオディック成分を導出する。全てのステップのうち、ボトルネックは、２次元ＦＦＴ計算に存在するだろう。
【００４１】
ＦＰＧＡ上の２次元ＦＦＴの実装のほとんどは、中間外部ＤＲＡＭ記憶装置を用いて行および列の分解（ＲＣＤ）を使用する。ＲＣＤベースの２次元ＦＦＴの高速化は、通常、列単位および行単位の１次元ＦＦＴ計算に使用される１次元ＦＦＴのスループットに依存する。Ｎ×Ｍ画像のＲＣＤは、Ｎ行方向の１次元ＦＦＴおよびＭ列方向の１次元ＦＦＴの計算を必要とする。これは、最初の（行また列）方向の計算の後、Ｍ×Ｎ（もしくは、Ｍ＝ＮならばＮ２）個の値が記憶されなければならないことを意味する。２次元ＦＦＴは通常、大きな画像に対し計算されるので、限られた組み込みブロックＲＡＭには格納できず、外部メモリを使用しなければならない。したがって、高速化は、外部メモリの帯域幅および効率的なアドレッシングにも依存する。小さなサイズの画像の場合、外部メモリとは対照的に、レジスタを介して実装されたブロックＲＡＭまたはメモリを使用できる（非特許文献１９）。外部メモリと異なり、使用可能なチャネル数および帯域幅という点で制限がないため、レジスタメモリは、通常、より高速でより使いやすい。しかしながら、このような手法は、リソースが高価であり、画像が大きい場合にはかなりの量のＦＰＧＡリソースが消費される。Ｕｚｕｎ（非特許文献７）は、共用外部ＲＡＭを備えるいくつかの１次元ＦＦＴプロセッサを用いるリアルタイム２次元ＦＦＴ計算のためのアーキテクチャを提示した。
【００４２】
本発明の実施形態に係る２次元ＦＦＴ実装の場合、本発明者らは、マルチコア１次元ＦＦＴを伴うＲＣＤに基づく手法も使用した。１次元ＦＦＴ実装の場合、本発明者らは、Ｈｏｊｉｎ（非特許文献２０）によって最初に示されたＩｎｎｅｒ  Ｌｏｏｐ  Ｕｎｒｏｌｌｉｎｇ  Ｔｅｃｈｎｉｑｕｅ（ＩＬＵＴ）を使用し、２次元ＦＦＴ設定（非特許文献２）においても使用した。長さＮの１次元ＦＦＴは、ｌｏｇＮのＦＦＴステージを有し、各ステージは、Ｎ／２個のバタフライユニットを有する。ＩＬＵＴは、いくつかのバタフライユニットを並行して実行することによって単一のＦＦＴステージを展開することを含む（非特許文献２）。図４は、ＩＬＵＴを伴う２次元ＤＦＴのブロック図を示し、本発明の実施形態に係る、制御部（ＣＵ）を介してスケジューリングされた外部メモリとローカルメモリとの間のデータ転送を示す。カメラとＦＰＧＡとの間のデータは、ＤＭＡ（Ｄｉｒｅｃｔ  ＭｅｍｏｒｙＡｃｃｅｓｓ）ＦＩＦＯを使用することによりＰＣコントローラを介して転送される。しかしながら、カメラリンクフロントエンドを使用することにより、データをＦＰＧＡに直接転送することも可能である。図４に示すローカルメモリは、外部メモリと１次元ＦＦＴコアとの間でデータをバッファするのに使用される。このローカルメモリは、リード／ライト成分に分割され、ＦＰＧＡスライスを使用して実装される。これにより、境界画像の２次元ＦＦＴを計算するのに必要なベクトルを一時的に保存するためのブロックＲＡＭ（ＢＲＡＭ）を節約できる。制御部（ＣＵ）は、ローカルメモリと外部メモリとの間でのデータの転送のスケジューリングを編成する。
【００４３】
境界画像の２次元ＦＦＴは、行および列の分解によって算出される必要もある。しかしながら、数学的に上記に示したとおり、初期の行方向ＦＦＴは、第１（境界）ベクトルの１次元ＦＦＴを計算することにより算出でき、残りのベクトルのＦＦＴは、適切にこのベクトルをスケーリングすることによって計算することができる。境界画像はＰＣコントローラで算出される。しかし、画像全体がＦＰＧＡに転送される必要はない。第１列および最終列の１次元ＦＦＴを計算するための境界列ベクトルが必要である。第１列と最終列との間の各列の１次元ＦＦＴについて、
【数１９】
0006429428.tif 000021
の適切なスケーリングのために境界行ベクトルも必要である。ホストとＦＰＧＡとの間のデータ転送を最小限にするために、本実施形態は、ＤＭＡ  ＦＩＦＯを介して転送されている各画像フレームの終わりに余分の行および列ベクトルを関連付ける。したがって、Ｎ×Ｍ画像フレームを転送する場合、ＰＣコントローラから送信されるデータポイントの量は、ＮＭ＋Ｎ＋Ｍとなる。
【００４４】
画像フレームが外部ＤＲＡＭに直接格納されている間、境界画像の行ベクトルおよび列ベクトルはブロックＲＡＭ（ＢＲＡＭ）に格納される。これにより、実画像のＦＦＴ計算と並列して処理される境界画像の列単位１次元ＦＦＴを計算することができる。制御部は、外部メモリとローカルメモリとの間の全てのリード／ライト動作の予定を決定する。図５は、上述した本発明の実施形態に係る改良ＰＳＤ処理を伴う全体の２次元ＦＦＴの機能ブロック図である。具体的には、上述した本発明の実施形態に係る改良ピリオディックプラススムースデコンポジションを使用した同時エッジアーチファクト除去を伴うＰＸＩｅベースの２次元ＦＦＴ実装の機能ブロック図である。２つの画像の減算はホストＰＣで行われ、メモリのクラッシュを最小限に抑え、かつ、それが利用可能になるにつれて、各フレームのピリオディック成分およびスムース成分にアクセスできるようになる。
【００４５】
従来のＲＣＤベースの２次元ＦＦＴハードウェア実装は、エッジアーチファクを同時に除去するのにピリオディックプラススムースデコンポジションを使用していない。本発明の実施形態は、各画像フレームに対する１次元ＦＦＴの計算量（原画像および境界画像）を効果的に２倍にするが、同時エッジアーチファクト除去を行わない従来の実装と比較して、実行時間がほんの少し長くなるだけである。上述したように、この高速化は、原画像および境界画像についての２次元ＦＦＴ計算の並列化と、オリジナルのピリオディックプラススムースデコンポジションアルゴリズムを改良することによる外部ＤＲＡＭアクセスの削減によって達成された。
【００４６】
上述したように、本開示は、同時エッジアーチファクト除去を伴う高スループット２次元ＤＦＴを計算するための、改良されたＦＰＧＡベースのスキームを提供する。これは、ピリオディックプラススムースデコンポジションアルゴリズムに基づいており、２次元画像の周波数領域を、高周波の十字形アーチファクトを有し、原画像の２次元ＤＦＴから減算されることができるスムース成分に分割し、アーチファクトのないピリオディック成分を取得する。この手法は、２つの２次元ＤＦＴを同時に計算することを含むため、外部メモリアドレッシングおよび１次元ＦＦＴが繰り返し起動されることが問題となりうる。この問題を解決するため、上述したように、本開示は、オリジナルのＰＳＤアルゴリズムを改良するためのスキームを提供し、当該スキームは、計算対象となるＤＦＴサンプルの数およびＤＲＡＭアクセスを２４％も削減することができる。本発明の実施形態に係る技術を、高速ＰＸＩバス上のホストＰＣと通信するＸｉｌｉｎｘ  Ｋｉｎｔｅｘ  ７  ＦＰＧＡを使用した広範な合成およびベンチマークを用いてテストした。開示システムは、いくつかのＦＰＧＡが高速バスを介し通信することをサポートするように拡張可能であり、大規模コンピュータビジョンおよび生物医学的応用に理想的でありうる。画像をピリオディック周波数成分とスムース周波数成分とに分解するにも関わらず、本発明の実施形態に係る設計は、従来のＦＰＧＡベースの２次元ＤＦＴ実装と比較して、少しだけ長いランタイムを必要とするのみであり、様々なリアルタイムアプリケーションに使用できる。
【００４７】
＜本発明の実施形態の追加の詳細および他の変形例＞
幾つかは既に説明済みではあるが、本発明の実施形態の追加の詳細および他の考えられる変形例を以下に示す。
【００４８】
本発明のいくつかの実施形態は、ＬａｂＶｉｅｗ  ２０１４を用いて作成し、ＬａｂＶｉｅｗ  ＦＰＧＡモジュール  ２０１４を用いてテストした。使用したＦＰＧＡデバイスはＸｉｌｉｎｘ  Ｖｅｒｔｉｘ  ５であったが、設計は、どのようなＦＰＧＡモジュールにも拡張可能である。
【００４９】
画像取得は、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ（ＮＩ）社の画像入力ソフトウェアＩＭＡＱ  Ｖｉｓｉｏｎを使って行った。画像はファイルからロードしたが、ＩＭＡＱプロトコルをサポートしていれば、カメラや他の画像入力装置からロードしてもよい。
【００５０】
代替の画像取得ソフトウェアであるパワーオーバーカメラリンク（ＰｏＣＬ）を画像取得プロトコルとして使ってもよい。
【００５１】
本発明の実施形態において使用する離散フーリエ変換（ＤＦＴ）機能は、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ社のものであり、ＬａｂＶｉｅｗ  ２０１４において提供されている。しかしながら、全体的な設計を迅速化するために、他のＤＦＴ  ＩｎｔｅｌｌｅｃｔｕａｌＰｒｏｐｅｒｔｙ（ＩＰ）ブロックに置き換えてもよい。
【００５２】
図６は、本発明の実施形態に係る全体的なハードウェア設計フローを示す図である。ＤＦＴは、標準ＶＨＤＬブロック、Ｆｌｉｐ関数およびＭａｔｈ関数を用いて実装される。ディスプレイＡおよびディスプレイＢは、オリジナルのＤＦＴおよび改良ＤＦＴをそれぞれ示し、単一のまたは２つのディスプレイ上に表示されてもよい。
【００５３】
Ｆｌｉｐ関数のフロー図を図７に示す。メモリ交換に必要な全体の時間を減らすために、指標配列関数、差関数および部分配列置換関数を、非特許文献１１で述べられているように、キャッシュメモリ内で位置を直接入れ替えるのに使用する。
【００５４】
図８に示すＭａｔｈ関数は、必要な数学関数（除算、乗算、減算、および余弦を含む）を計算し、フーリエ変換されたｆｌｉｐ関数の出力を入力として必要とする。
【００５５】
Ｍａｔｈ関数における余弦は、ＣＯＲＤＩＣ（Ｃｏｏｒｄｉｎａｔｅ  Ｒｏｔａｔｉｏｎ  Ｄｉｇｉｔａｌ  Ｃｏｍｐｕｔｅｒ）アルゴリズムを使用して、または、ＬＵＴ（ルックアップテーブル）に基づいて計算してもよい。
【００５６】
図６の点線の領域は並列処理を表すことに留意されたい。ＤＦＴは、ｆｌｉｐ関数のＤＦＴとその後のｍａｔｈ関数の計算に並行して計算される。
【００５７】
図９は、本実施形態に係る画像について、原画像、そのＤＦＴ、算出された除去成分（ＲＣ）、およびＤＦＴ−ＲＣをそれぞれ示す図である。
【００５８】
本発明の本実施形態は、画像サイズ５１２×５１２に対するものであったが、任意の矩形サイズに拡大縮小できる。ＩＭＡＱディスプレイを用いて、結果をスクリーン上に表示する。
【００５９】
３ＧＨｚの汎用プロセッサ（ＧＰＰ）と比較して、開示のスキームは、１．５クロックサイクル未満で改良ＦＦＴを潜在的に計算できる。しかしながら、この数値は、使用されるＦＰＧＡのタイプおよび選択されるクロックサイクルに依存する。
【００６０】
本開示は、同時エッジアーチファクト除去を伴う高スループット２次元ＤＦＴを計算するための新規なＦＰＧＡベースの設計を提供した。アポディゼイション関数またはミラー関数を使用してこれらのアーチファクトを除去する標準的な手法は、重要な周波数を除去すること、または画像サイズを増加させることによって計算を急増させることを伴う。本開示は、５１２×５１２サイズの画像ストリームに対しリアルタイム性能（すなわち、１秒あたり２３フレーム以上）を達成しつつ、ＦＰＧＡ実装用に改良されたアーチファクト除去アルゴリズムに基づくピリオディックプラススムースデコンポジションを使用する。ここに開示される手法は、外部メモリ利用を大幅に削減し、メモリが衝突するのを防止し、設計を単純化する。本発明の実施形態は、ホストＰＣと通信するＰＸＩｅベースのＸｉｌｉｎｘ  Ｋｉｎｔｅｘ  ７  ＦＰＧＡシステムを使用して実証され、さらに様々な工業用途に開示されたスキームを拡張できる利点を与える。
【００６１】
本発明の趣旨及び範囲から逸脱することなく本発明に対して様々な修正及び変形を行えることは当業者には自明であろう。すなわち、本発明は添付の特許請求の範囲とその均等物の範囲内で生じるさまざまな修正及び変形を包含することが意図されている。特に、上述したいずれか２以上の実施形態及びその修正のいずれかの一部又は全体が結合されて本発明の範囲内でみなされることは明示的に熟慮される。
【図１】
0006429428.tif 000022
【図２】
0006429428.tif 000023
【図３】
0006429428.tif 000024
【図４】
0006429428.tif 000025
【図５】
0006429428.tif 000026
【図６】
0006429428.tif 000027
【図７】
0006429428.tif 000028
【図８】
0006429428.tif 000029
【図９】
0006429428.tif 000030