Embedded Software for Video Wayne Wolf Princeton University and MediaWorks Technology.

Slides:



Advertisements
Similar presentations
CSE 424 Final Presentation Team Members: Edward Andert Shang Wang Michael Vetrano Thomas Barry Roger Dolan Eric Barber Sponsor: Aviral Shrivastava.
Advertisements

Philips Research ICS 252 class, February 3, The Trimedia CPU64 VLIW Media Processor Kees Vissers Philips Research Visiting Industrial Fellow
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Ascendent's Fusion 360 hybrid platform creates a true hybrid surveillance system by utilizing the advantages of Analog, Megapixel, and IP technologies.
High Performance Embedded Computing © 2007 Elsevier Lecture 15: Embedded Multiprocessor Architectures Embedded Computing Systems Mikko Lipasti, adapted.
Nios implementation in CCD Camera for "Pi of the Sky" experiment Photonics and Web Engineering Research Group Institute of Electronics Systems Warsaw University.
 Understanding the Sources of Inefficiency in General-Purpose Chips.
Real-Time Video Analysis on an Embedded Smart Camera for Traffic Surveillance Presenter: Yu-Wei Fan.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
H.264/AVC Baseline Profile Decoder Complexity Analysis Michael Horowitz, Anthony Joch, Faouzi Kossentini, and Antti Hallapuro IEEE TRANSACTIONS ON CIRCUITS.
Platform-based Design 5KK70 TU/e 2009 Henk Corporaal Bart Mesman.
© 2008 Wayne Wolf Overheads for Computers as Components 2 nd ed. Multiprocessors zWhy multiprocessors? zCPUs and accelerators. zMultiprocessor performance.
Chapter 7 Hardware Accelerators 金仲達教授 清華大學資訊工程學系 (Slides are taken from the textbook slides)
Define Embedded Systems Small (?) Application Specific Computer Systems.
1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
1 Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai.
Presenter : Cheng-Ta Wu Antti Rasmus, Ari Kulmala, Erno Salminen, and Timo D. Hämäläinen Tampere University of Technology, Institute of Digital and Computer.
A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications From J. Fowers, G. Brown, P. Cooke, and G. Stitt, University.
CSCE 313: Embedded Systems Multiprocessor Systems
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
From Concept to Silicon How an idea becomes a part of a new chip at ATI Richard Huddy ATI Research.
Real-Time Face Detection and Tracking Using Multiple Cameras RIT Computer Engineering Senior Design Project John RuppertJustin HnatowJared Holsopple This.
Mahesh Sukumar Subramanian Srinivasan. Introduction Face detection - determines the locations of human faces in digital images. Binary pattern-classification.
EEL 6935 Embedded Systems Long Presentation 2 Group Member: Qin Chen, Xiang Mao 4/2/20101.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Introduction and Motivation.
On-Chip Control Flow Integrity Check for Real Time Embedded Systems Fardin Abdi Taghi Abad, Joel Van Der Woude, Yi Lu, Stanley Bak, Marco Caccamo, Lui.
1 Daniel Micheletti Darren Allen Daniel Mazo Jon Lamb Lyle Johnson Pixel Perfect WiCam: A Wireless Digital Camera Presented by : Kyle Swenson.
Server Types Different servers do different jobs. Proxy Servers Mail Servers Web Servers Applications Servers FTP Servers Telnet Servers List Servers Video/Image.
CSE 690: GPGPU Lecture 4: Stream Processing Klaus Mueller Computer Science, Stony Brook University.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.
Real-Time Human Posture Reconstruction in Wireless Smart Camera Networks Chen Wu, Hamid Aghajan Wireless Sensor Network Lab, Stanford University, USA IPSN.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
Making FPGAs a Cost-Effective Computing Architecture Tom VanCourt Yongfeng Gu Martin Herbordt Boston University BOSTON UNIVERSITY.
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11, Single semester project. Date:22/4/12 Technion – Israel Institute of Technology Faculty.
Memory/Storage Architecture Lab 1 Virtualization History of Computing = History of Virtualization  e.g., process abstraction, virtual memory, cache memory,
Dr. Alireza Ghorshi Dr. Mohammad Mortazavi Dr. Mohammad Khansari Dr. Alireza Nemany Pour.
A 50-Gb/s IP Router 참고논문 : Craig Partridge et al. [ IEEE/ACM ToN, June 1998 ]
International Conference on Computer Vision and Graphics, ICCVG ‘2002 Algorithm for Fusion of 3D Scene by Subgraph Isomorphism with Procrustes Analysis.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
1 Martin Schulz, Lawrence Livermore National Laboratory Brian White, Sally A. McKee, Cornell University Hsien-Hsin Lee, Georgia Institute of Technology.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
Data Compression. Compression? Compression refers to the ways in which the amount of data needed to store an image or other file can be reduced. This.
1 Webcam Mouse Using Face and Eye Tracking in Various Illumination Environments Yuan-Pin Lin et al. Proceedings of the 2005 IEEE Y.S. Lee.
MULTIMEDIA INPUT / OUTPUT TECHNOLOGIES
Deconstructing Storage Arrays Timothy E. Denehy, John Bent, Florentina I. Popovici, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of Wisconsin,
Compilers for Embedded Systems Ram, Vasanth, and VJ Instructor : Dr. Edwin Sha Synthesis and Optimization of High-Performance Systems.
CS/EE 5810 CS/EE 6810 F00: 1 Multimedia. CS/EE 5810 CS/EE 6810 F00: 2 New Architecture Direction “… media processing will become the dominant force in.
Workshop - November Toulouse Astrium Use Case.
Fast and Robust Algorithm of Tracking Multiple Moving Objects for Intelligent Video Surveillance Systems Jong Sun Kim, Dong Hae Yeom, and Young Hoon Joo,2011.
ARM offers a broad range of processor cores to address a wide variety of applications while delivering optimum performance, power consumption and system.
© 2000 Morgan Kaufman Overheads for Computers as Components Accelerators zAccelerated systems. zSystem design: yperformance analysis; yscheduling and.
© 2000 Morgan Kaufman Overheads for Computers as Components1 Design methodologies zA procedure for designing a system. zUnderstanding your methodology.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Multiprocessor SoC integration Method: A Case Study on Nexperia, Li Bin, Mengtian Rong Presented by Pei-Wei Li.
Advanced SW/HW Optimization Techniques for Application Specific MCSoC m Yumiko Kimezawa Supervised by Prof. Ben Abderazek Graduate School of Computer.
High Performance Embedded Computing © 2007 Elsevier Lecture 10: Code Generation Embedded Computing Systems Michael Schulte Based on slides and textbook.
High Performance Embedded Computing © 2007 Elsevier Lecture 7: Memory Systems & Code Compression Embedded Computing Systems Mikko Lipasti, adapted from.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
PRESENTED BY: MOHAMAD HAMMAM ALSAFRJALANI UFL ECE Dept. 3/31/2010 UFL ECE Dept 1 CACHE OPTIMIZATION FOR AN EMBEDDED MPEG-4 VIDEO DECODER.
Advanced Rendering Technology The AR250 A New Architecture for Ray Traced Rendering.
Week 1. Introduction Types of Software Information Systems Information Systems Technologies and Methodologies.
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Distributed Real-Time Embedded Video Processing
Multi-core SOC for Future Media Processing
Research Institute for Future Media Computing
Presentation transcript:

Embedded Software for Video Wayne Wolf Princeton University and MediaWorks Technology

Outline zInitial observations. zSample application: smart cameras. zLevels of abstraction in software: yprocess; ydata; yinstructions. zLessons.

Characteristics of embedded computing zFunctional and non-functional requirements: performance, power, cost. zSome aspects of design methodology are similar to hardware design. zEmbedded software delivers more complex functions than HW models. zWill often be delivered in chips---that’s where the money is.

Ozer et al: human activity recognition JPEG IMAGE/ MPEG VIDEO Uncompressed IMAGE/VIDEO EIGENSPACE MATCHING PRINCIPAL COMPONENTS RELATIONAL GRAPH MATCHING Motion Vectors DCT Extracted Area Pixel Values OBJECT DETECTION

Previous work zWatlington et al.: Dataflow architecture for real-time video processing. zWandell et al.: Programmable sensor array. zFoote et al.: Panaromic camera system. zNicolescu et al.: Algorithms to pan, tilt, zoom array of cameras. zMIT Media Lab.: Smart rooms for several applications. zKeck Lab.: Multiple cameras on networked PCs.

Our hardware platform TriMedia Board TM32 (VLIW) PCI Bus Host PC Camera NTSC Shared Memory TriMedia Board TM32 (VLIW) Shared Memory Camera NTSC

Background elimination Skin color detection contour following Superellipse fitting graph matching Background elimination Skin color detection Contour following Superellipse fitting Graph matching

Skin color detectionContour followingSuperellipse fitting time

Skin detection CPU time

Contour following CPU time

Superellipse fitting CPU time

Graph matching CPU time

Characteristics of current video computing zStreaming data (with control). zA wide range of types of algorithms. Data volume Algorithm complexity

Challenges in embedded video software zVideo is more than pushing pixels. zPrograms run a long time---harder to verify. zMust derive programs through many stages from functional to real-time. zMust effectively use a deep memory hierarchy: registers through off-chip.

Characteristics of next- generation video systems zDistributed computation and networking: yDistributed analysis of video. yData fusion.

Design methodology for this system zAlgorithm design: Matlab. zC implementation on existing platform. zSoftware optimization. zDesign of custom platform and software.

Memory hierarchy management On-Chip Memory Off-Chip Memory Cache Buffers Registers

Levels of abstraction and optimization zInstruction: opcode selection, register allocation. zData: loop transformations, data layout, buffer optimization. zModule: inlining, outlining. zProcess: decomposition, communication, etc.

Questions from smart camera zInstructions: yWhich loops are predictable and which are not? zData: yHow does data layout change at each stage? yHow do we buffer and lay out data? zProcess: yHow do we manage multiple processes?

View from a start-up zStandards body software sucks. zConfigurable CPUs: offer some advantages, but harder to characterize. zEmbedded OS verification: WinCE, Linux. zMust manage multiple versions of software. zCan’t buy many useful components. zVerification, verification, verification.

ACM TECS zLook for the TECS Web site soon at