Have GPUs made FPGAs redundant in the field of video processing?

Since the 1990s FPGAs have been popular for accelerating video processing applications. This paper presents GPUs (graphics processing units) as another viable solution, comparing their throughput with that of FPGAs. Previous work on using FPGAs and GPUs for video processing is analysed, grounds for comparison formulated and then exemplified through case studies of primary colour correction and 2D convolution. GPUs are seen to be advantageous in applications utilising their optimised instruction set and which have a low number of memory accesses. We found that for 2D convolution, the throughput of the GPUs exceeds that of FPGAs if the mask dimension is 2 times 2. For mask sizes greater than 4 times 4 and for primary colour correction FPGAs have higher throughput. The GPU implementation of primary colour correction is shown to be capable of a throughput of 63 MP/s (million pixels per second) enough for high definition video at 30 f/s (frames per second). For 2D convolution GPUs achieved the target throughput rate of 8MP/s (512 times 512 frames at 30 f/s) up to size 7 times 7. The Spartan 3 FPGA was capable of over 60 MP/s throughput and the Virtex II Pro over 110 MP/s at this size of convolution

[1]  Robert Strzodka,et al.  Real-time motion estimation and visualization on graphics cards , 2004, IEEE Visualization 2004.

[2]  Karl S. Hemmert,et al.  An analysis of the double-precision floating-point FFT on FPGAs , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[3]  George L. Geannopoulos,et al.  Low-voltage swing logic circuits for a Pentium/spl reg/ 4 processor integer core , 2005 .

[4]  Wayne Luk,et al.  Reconfigurable shape-adaptive template matching architectures , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[5]  Frank Vahid,et al.  A quantitative analysis of the speedup factors of FPGAs over processors , 2004, FPGA '04.

[6]  Peter Y. K. Cheung,et al.  Analysis of yield loss due to random photolithographic defects in the interconnect structure of FPGAs , 2005, FPGA '05.

[7]  Philippe Colantoni,et al.  Fast and Accurate Color Images Processing Using 3D Graphics Cards , 2003, VMV.

[8]  Keith D. Underwood,et al.  FPGAs vs. CPUs: trends in peak floating-point performance , 2004, FPGA '04.

[9]  Wayne Luk,et al.  Video Image Processing with the Sonic Architecture , 2000, Computer.

[10]  Kenneth Moreland,et al.  The FFT on a GPU , 2003, HWWS '03.

[11]  Wayne Luk,et al.  A Reconfigurable Platform for Real-Time Embedded Video Image Processing , 2003, FPL.

[12]  Dinesh Manocha,et al.  General-Purpose Computations Using Graphics Processors , 2005, Computer.

[13]  George L. Geannopoulos,et al.  Low-voltage swing logic circuits for a Pentium/spl reg/ 4 processor integer core , 2005, IEEE Journal of Solid-State Circuits.

[14]  Steve Mann,et al.  Computer vision signal processing on graphics processing units , 2004, 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[15]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..

[16]  Wayne Luk,et al.  Customising graphics applications: techniques and programming interface , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[17]  Bryan E. Feldman,et al.  Image Processing on the GPU : a Canonical Example , 2003 .

[18]  R. Fernando,et al.  The Cg tutorial日本語版 : プログラム可能なリアルタイムグラフィックス完全ガイド , 2003 .

[19]  Ray Andraka,et al.  A survey of CORDIC algorithms for FPGA based computers , 1998, FPGA '98.

[20]  B. Fawcett FPGAs as reconfigurable processing elements , 1996 .

[21]  Abbes Amira,et al.  Design and Efficient FPGA Implementation of an RGB to YCrCb Color Space Converter Using Distributed Arithmetic , 2004, FPL.