Realtime Video DisplayCSEE 4840 Project Proposal - March 2009Manish Sinha, Srikanth Vemula, William GreeneDepartment of Electrical EngineeringColumbia University{ms3766,sv2271,wmg2110}@columbia.eduABSTRACTDisplaying real time video captured froma camera is an essential function in a vari-ety of applications ranging from CCTV se-curity monitoring to webconference meet-ings. In this project, we propose to builda system on a FPGA, in conjunction witha commercial web camera, that can reada stream of video from a camera, decodethis stream, and then display it on a localscreen.1 INTRODUCTIONThe first phase of our project will center oninterfacing with the camera. We intend topurchase a web camera with a USB output. Wewill use the USB port on the Altera DE2 boardto read in the stream of data from the camera.The second phase of our project will centeron decoding the JPEG image stream. We willhave to make careful design decisions includingwhether to handle JPEG decoding in hardwareor in software. Satisfying the real time constraintwill be a key challenge.The third and final phase of our projectwill involve displaying the stream of decodedJPEG images on a screen. We intend to use theVGA interface on the Altera DE2 board and aconnected LCD monitor to accomplish this.2 RELATED WORKGroups in past CSEE 4840 Embedded Systemscourses have completed projects that overlap withour proposed one. In the 2007 class, the Imagicgroup [1] created a digital picture frame whichneeded to decode and encode JPEG images. Inthe 2006 course, the spycam group [2] displayedvideo captured from an internet camera with anEthernet interface. This group too had to handleJPEG decoding.3 MAIN DELIVERABLEWe will deliver a system that, in real time, will:read the output data stream from a camera, de-code this stream and, display it on a screen.4 PLAN OF ACTION1. Research web cameras and find which one isthe easiest to communicate with.2. Research the USB protocol [3] and start writ-ing a driver to interface with the web camera.3. Implement the IDCT [4] (for JPEG decod-ing) either manually or by using an existinglibrary. Analyze performance between soft-ware and hardware implementations.4. Write the code to display just one decodedJPEG image.5. Write the code to display the series of de-coded JPEG images and verify if the realtime constraint is satisfied.5 MILESTONES• March 30: Complete the USB driver to in-terface with the web camera and read theraw stream of data.• April 13: Complete decoding and displayof a single JPEG frame.• April 29: Complete decoding and displayof a series of JPEG frames.6 IF TIME PERMITSIf we finish early, we will extend our system toinclude streaming functionality over a local areanetwork so that a destination system could viewthe video being captured from a source system.7 REFERENCES1. CSEE 4840 Spring 2007 - Imagic:http://www1.cs.columbia.edu/~sedwards/classes/2007/4840/reports/Imagic.pdf2. CSEE 4840 Spring 2006 - spycam:http://www1.cs.columbia.edu/~sedwards/classes/2006/4840/reports/spycam.pdf3. USB 2.0 Specifications:http://www.usb.org/developers/docs/usb_20_122208.zip4.
View Full Document