Software / Hardware Co-Design of a JPEG Encoder Team Members: Joe Salemi Brandon Sterner.

Slides:



Advertisements
Similar presentations
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Advertisements

Image Data Representations and Standards
Night Vision James Stacy Brian Herre Maurio Grando Eric Faller Chris Bawiec James Team Bender.
A Matlab Playground for JPEG Andy Pekarske Nikolay Kolev.
SWE 423: Multimedia Systems
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Department of Computer Engineering University of California at Santa Cruz Data Compression (3) Hai Tao.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
JPEG.
Video on DSP and FPGA John Johansson April 12, 2004.
Configurable System-on-Chip: Xilinx EDK
FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University Over the past few decades, the improvements from machine language to objected.
USER VERIFICATION SYSTEM. Scope Web Interface RGB separation Pervasive.
OUTLINE WHAT ? HOW ? WHY ? BLUEPOST Poster and Message Content Specified by the User Displaying the Poster Content on a Monitor Sending Messages to.
Snapshot Mike Huhs Sanjay Jhaveri. Project Digital Camera  User Interface  Compression and Storage.
CMPT 365 Multimedia Systems
T.Sharon-A.Frank 1 Multimedia Image Compression 2 T.Sharon-A.Frank Coding Techniques – Hybrid.
1 HARDWARE / SOFTWARE PARTITIONING Devang Sachdev Lizheng Zhang.
Aztec PC Oscilloscope Michael Mason Jed Brown Josh Price Andrew Youngs.
5. 1 JPEG “ JPEG ” is Joint Photographic Experts Group. compresses pictures which don't have sharp changes e.g. landscape pictures. May lose some of the.
Roger Cheng (JPEG slides courtesy of Brian Bailey) Spring 2007
1 JPEG Compression CSC361/661 Burg/Wong. 2 Fact about JPEG Compression JPEG stands for Joint Photographic Experts Group JPEG compression is used with.jpg.
Image Compression JPEG. Fact about JPEG Compression JPEG stands for Joint Photographic Experts Group JPEG compression is used with.jpg and can be embedded.
PS2 Keyboard Interface Using Spartan-3 Starter Kit Board
Dr. Sanatan Chattopadhyay Dr. Sudipta Bandopahyaya
Image Compression - JPEG. Video Compression MPEG –Audio compression Lossy / perceptually lossless / lossless 3 layers Models based on speech generation.
Trevor McCasland Arch Kelley.  Goal: reduce the size of stored files and data while retaining all necessary perceptual information  Used to create an.
Critical Design Review 27 February 2007 Black Box Car System (BBCS) ctrl + z: Benjamin Baker, Lisa Furnish, Chris Klepac, Benjamin Mauser, Zachary Miers.
Page 18/30/2015 CSE 40373/60373: Multimedia Systems 4.2 Color Models in Images  Colors models and spaces used for stored, displayed, and printed images.
CSE & CSE Multimedia Processing Lecture 7
Introduction to JPEG Alireza Shafaei ( ) Fall 2005.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 8 – JPEG Compression (Part 3) Klara Nahrstedt Spring 2012.
Performed by: Dor Kasif, Or Flisher Instructor: Rolf Hilgendorf Jpeg decompression algorithm implementation using HLS midterm presentation Winter
Digilent System Board Capabilities Serial Port (RS-232) Parallel Port 1 Pushbutton Hint: Good for a reset button Connected to a clock input. See Digilent.
1 Image Compression. 2 GIF: Graphics Interchange Format Basic mode Dynamic mode A LZW method.
Concepts of Multimedia Processing and Transmission IT 481, Lecture 5 Dennis McCaughey, Ph.D. 19 February, 2007.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
JPEG. The JPEG Standard JPEG is an image compression standard which was accepted as an international standard in  Developed by the Joint Photographic.
Indiana University Purdue University Fort Wayne Hongli Luo
JPEG CIS 658 Fall 2005.
Group No 5 1.Muhammad Talha Islam 2.Karim Akhter 3.Muhammad Arif 4.Muhammad Umer Khalid.
Understanding JPEG MIT-CETI Xi’an ‘99 Lecture 10 Ben Walter, Lan Chen, Wei Hu.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
1 Image Formats. 2 Color representation An image = a collection of picture elements (pixels) Each pixel has a “color” Different types of pixels Binary.
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
09/17/02 (C) 2002, University of Wisconsin, CS 559 Last Time Color Spaces File formats.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
02/05/2002 (C) University of Wisconsin 2002, CS 559 Last Time Color Quantization Mach Banding –Humans exaggerate sharp boundaries, but not fuzzy ones.
Data compression. lossless – looking for unicolor areas or repeating patterns –Run length encoding –Dictionary compressions Lossy – reduction of colors.
The task of compression consists of two components, an encoding algorithm that takes a file and generates a “compressed” representation (hopefully with.
Performed by: Dor Kasif, Or Flisher Instructor: Rolf Hilgendorf Jpeg decompression algorithm implementation using HLS PDR presentation Winter Duration:
Fig1: component of Demo Set. Fig2:Load Map of M16C Family.
Lecture 1: Review of Computer Organization
UClinux console (HyperTerminal) Memec V2MB1000 prototyping board running uClinux on embedded Xilinx® MicroBlaze™ processor Development system with Xilinx.
JPEG.
Introduction to JPEG m Akram Ben Ahmed
Implementing JPEG Encoder for FPGA ECE 734 PROJECT Deepak Agarwal.
By Dr. Hadi AL Saadi Lossy Compression. Source coding is based on changing of the original image content. Also called semantic-based coding High compression.
IS502:M ULTIMEDIA D ESIGN FOR I NFORMATION S YSTEM M ULTIMEDIA OF D ATA C OMPRESSION Presenter Name: Mahmood A.Moneim Supervised By: Prof. Hesham A.Hefny.
Modem. Introduction: A modem [Modulator -Demodulator] is a device. Data communication means transmitting digital information form one computer to other.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 2 Introduction to Routers.
Chapter 9 Image Compression Standards
JPEG Image Coding Standard
JPEG.
CMPT 365 Multimedia Systems
JPEG Image Compression
Image Coding and Compression
Presentation transcript:

Software / Hardware Co-Design of a JPEG Encoder Team Members: Joe Salemi Brandon Sterner

What is Software/Hardware Co-Design? Using software and hardware in parallel to execute a given application, with the goal of increasing overall performance. Using software and hardware in parallel to execute a given application, with the goal of increasing overall performance. SW/HW co-design may effectively be applied to any application that is both computationally intensive and can be partitioned into separate units. SW/HW co-design may effectively be applied to any application that is both computationally intensive and can be partitioned into separate units.

Baseline DCT-JPEG Encoding Algorithm JPEG Encoding involves using DCT (Discrete Cosign Transforms) operations, which can involve roughly 300 floating point operations each. Encoding a JPEG file usually involves thousands of DCT operations. JPEG Encoding involves using DCT (Discrete Cosign Transforms) operations, which can involve roughly 300 floating point operations each. Encoding a JPEG file usually involves thousands of DCT operations. Our hypothesis is that if we were to partition the DCT operations out and execute them with FPGA’s working in parallel with a PC, application performance would be greatly increased. Our hypothesis is that if we were to partition the DCT operations out and execute them with FPGA’s working in parallel with a PC, application performance would be greatly increased.

Baseline DCT- JPEG Encoding Algorithm Initial image file is a PPM (Portable Pixel Map). This format was chosen because the data is stored as integer RGB values. Initial image file is a PPM (Portable Pixel Map). This format was chosen because the data is stored as integer RGB values. Separate image into three color planes, RGB. Separate image into three color planes, RGB. Convert the color planes to the YIQ color space, which takes better into consideration some known facts about the human vision. Convert the color planes to the YIQ color space, which takes better into consideration some known facts about the human vision. Each color plane subdivides into sub regions of 8 x 8 pixels each. Each color plane subdivides into sub regions of 8 x 8 pixels each. A two dimensional discrete cosine transform (DCT2) is then applied to each 8 x 8 sub region separately. The matrices are now in the frequency domain. Since the transformation matrix is band-limited, only 8 x 8 = 64 frequency components are included in the result. A two dimensional discrete cosine transform (DCT2) is then applied to each 8 x 8 sub region separately. The matrices are now in the frequency domain. Since the transformation matrix is band-limited, only 8 x 8 = 64 frequency components are included in the result. Each 8x8 matrix is then scaled by an 8 x 8 matrix Q (known as the quantization matrix), which is determined by empirical studies of human visual perception. Since the human eye is more perceptive to lower frequencies than to higher frequencies, the idea is to scale the amplitude of each frequency by a quantization factor to eliminate the higher frequencies. Each 8x8 matrix is then scaled by an 8 x 8 matrix Q (known as the quantization matrix), which is determined by empirical studies of human visual perception. Since the human eye is more perceptive to lower frequencies than to higher frequencies, the idea is to scale the amplitude of each frequency by a quantization factor to eliminate the higher frequencies. Each sequence is then encoded using Huffman compression. Each sequence is then encoded using Huffman compression.

Baseline DCT-JPEG Encoding Algorithm

Equipment Purple Box Purple Box A small purple 486 computer running at 100MHz A small purple 486 computer running at 100MHz Digilent Digilab 2 development board Digilent Digilab 2 development board Xilinx Spartan 2 XC2S200 FPGA Xilinx Spartan 2 XC2S200 FPGA 200,000 gate FPGA, 143 user IO pins 200,000 gate FPGA, 143 user IO pins Digilent DIO Module Digilent DIO Module Switches, Push Buttons, LEDs, Seven Segment Displays, etc. Switches, Push Buttons, LEDs, Seven Segment Displays, etc. Digilent Memory Module Digilent Memory Module Two 512KB SRAM banks Two 512KB SRAM banks Development PC with Tornado for monitoring the timing of the system. Development PC with Tornado for monitoring the timing of the system.

Diamond Prometheus Development Kit

Digilent Digilab 2

Digilent Memory Module and DIO Board

Block Diagram of System Communication:  Communication between PC and “Purple Box” is over the RIT network.  “Purple Box” is connected to the FPGA via a LPT1  SRAM module is connected to D2 expansion slot

User Interface Command Line Interface Command Line Interface Used for starting Used for starting Displaying timing data Displaying timing data Displaying Errors Displaying Errors Status Lights (FPGA) Status Lights (FPGA) Idle Idle Computing Computing Memory Transfers Memory Transfers Image Viewing - Uncertain Image Viewing - Uncertain Would prefer to send resulting JPEG file back to the development PC. This depends on whether SE security policy will allow us to do this. Would prefer to send resulting JPEG file back to the development PC. This depends on whether SE security policy will allow us to do this. Alternative would be to display the image directly from the purple box. This depends on whether the difficulties can be resolved in downloading the new version of VxWorks onto the “purple box”. Alternative would be to display the image directly from the purple box. This depends on whether the difficulties can be resolved in downloading the new version of VxWorks onto the “purple box”.

Progress/Timeline PurpleBox File System Testing Done PurpleBox File System Testing Done PurpleBox Parallel Port Testing Done PurpleBox Parallel Port Testing Done Software ImplementationIn Progress Software ImplementationIn Progress Hardware ImplementationIn Progress Hardware ImplementationIn Progress Testing and Analysis of Results Testing and Analysis of Results

Hardware Costs DescriptionCost Dell PC $1500 “Purple Box” $800 Digilab 2 FPGA board $99.95 Digilent Memory Module $48.95 Digilent DIO Module $79.00 TOTAL$

Software WindRiver VxWorks WindRiver VxWorks WindRiver Tornado WindRiver Tornado Xilinx ISE 6.0 Xilinx ISE 6.0 Matlab Matlab

Difficulties File IO File IO By default, redirected to FTP By default, redirected to FTP Remember to close files Remember to close files Purple box crashing Purple box crashing Unexplainable crashes Unexplainable crashes SE security policy SE security policy Can’t write to C drive Can’t write to C drive FTP policy FTP policy

Questions ?