EC6703 EMBEDDED AND REAL TIME SYSTEMS

Slides:



Advertisements
Similar presentations
© 2008 Wayne Wolf Overheads for Computers as Components 2 nd ed. Accelerators zExample: video accelerator.
Advertisements

CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 5 Program Design and Analysis.
Digital Media Dr. Jim Rowan ITEC 2110 Video. Works because of persistence of vision Fusion frequency –~ 40 frames.
CS-334: Computer Architecture
Distributed Multimedia Systems
Motivation Application driven -- VoD, Information on Demand (WWW), education, telemedicine, videoconference, videophone Storage capacity Large capacity.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
Chapter 7 Hardware Accelerators 金仲達教授 清華大學資訊工程學系 (Slides are taken from the textbook slides)
Computer System Overview
Remote Surveillance System Presented by: Robarin Holdings Limited Telephone: Facsimile:
Computer Basics Flashcards #2
Text. Graphics Images – photos Animation Video Audio Text Copyright issues.
+ Video Compression Rudina Alhamzi, Danielle Guir, Scott Hansen, Joe Jiang, Jason Ostroski.
Video Data Topic 4: Multimedia Technology. What is Video? A video is just a collection of bit-mapped images that when played quickly one after another.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
TERMS TO KNOW. Programming Language A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has.
Video Data Topic 4: Multimedia Technology. What is Video? A video is just a collection of bit-mapped images that when played quickly one after another.
CS 1308 Computer Literacy and the Internet. Creating Digital Pictures  A traditional photograph is an analog representation of an image.  Digitizing.
Digital Camcorder and Video Computer Multimedia. Two most important factors that make up a video Frames per second ( fps ) The resolution ( # of pixels.
Research For Both Hardware And Software Required In Digital Graphics. By Joanne Hocking.
Chapter 11 Fluency with Information Technology 4 th edition by Lawrence Snyder (slides by Deborah Woodall : 1.
 Refers to sampling the gray/color level in the picture at MXN (M number of rows and N number of columns )array of points.  Once points are sampled,
3. Multimedia Systems Technology
Core Issues in Digital Preservation: Audio and Video Jacob Nadal, Preservation Officer UCLA Library.
Chapter 2 : Imaging and Image Representation Computer Vision Lab. Chonbuk National University.
MULTIMEDIA INPUT / OUTPUT TECHNOLOGIES
Cis303a_chapt04.ppt Chapter 4 Processor Technology and Architecture Internal Components CPU Operation (internal components) Control Unit Move data and.
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Bus-Based Computer Systems Example: alarm clock 1.
CSCI-100 Introduction to Computing Hardware Part II.
Click once to reveal the definition. Think of the answer. Then click to see if you were correct. HARDWARE Physical parts of the computer.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 8 Networks and Multiprocessors.
The embedded systems platform
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Video Data Topic 4: Multimedia Technology. What is Video? A video is just a collection of bit-mapped images that when played quickly one after another.
Exciting Applications of Polynomials Why Learning Polynomials?
Camera Basics. Film (Analog) Cameras Digital Cameras Types of Cameras.
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
The embedded systems platform
Or, how to make it all fit! DIGITAL VIDEO FILES AND COMPRESSION STANDARDS.
Computer Hardware Introduction What’s inside that box?
Multimedia Systems Dr. Wissam Alkhadour.
How to Sell IP Video.
Computer Architecture & Operations I
Video Basics.
Stored program concept
DCT IMAGE COMPRESSION.
Digital Media Dr. Jim Rowan ITEC 2110 Video.
Basic Computer Hardware & Software
Technology Literacy Hardware.
Computer Organization & Assembly Language Chapter 3
"Digital Media Primer" Yue-Ling Wong, Copyright (c)2013 by Pearson Education, Inc. All rights reserved.
Video.
Data Compression.
Video Compression - MPEG
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Chapter 1: Introduction to Computers and Programming
Sum of Absolute Differences Hardware Accelerator
Case Study.
Topics Introduction Hardware and Software How Computers Store Data
Standards Presentation ECE 8873 – Data Compression and Modeling
Barb Ericson Georgia Institute of Technology April 2006
Judith Molka-Danielsen, Oct. 02, 2000
Final Study Guide Arts & Communications.
Follow the Data Data (and information) move from place to place in computer systems and networks. As it moves it changes form frequently. This story.
CS 101 Test 2 Review.
(c) V/2-Com (Verhaart) Multimedia Elements & standards 4/15/2019 (c) V/2-Com (Verhaart)
Notes from Last Class Office Hours: GL Accounts?
Presentation transcript:

EC6703 EMBEDDED AND REAL TIME SYSTEMS

UNIT V CASE STUDY Data compressor Alarm Clock Audio player Software modem Digital still camera Telephone answering machine Engine control unit Video accelerator.

ALARM CLOCK

Alarm clock interface Alarm on Alarm off buzzer PM Alarm ready light set time set alarm hour minute button

Operations Set time: hold set time, depress hour, minute. Set alarm time: hold set alarm, depress hour, minute. Turn alarm on/off: depress alarm on/off.

Alarm clock requirements

Alarm clock class diagram 1 1 1 1 Lights* Display Mechanism 1 1 1 Buttons* Speaker* 1

Alarm clock physical classes Lights* Buttons* Speaker* digit-val() digit-scan() alarm-on-light() PM-light() set-time(): boolean set-alarm(): boolean alarm-on(): boolean alarm-off(): boolean minute(): boolean hour(): boolean buzz()

Display class Display time[4]: integer alarm-indicator: boolean PM-indicator: boolean set-time() alarm-light-on() alarm-light-off() PM-light-on() PM-light-off()

Mechanism class Mechanism Seconds: integer PM: boolean tens-hours, ones-hours: boolean tens-minutes, ones-minutes: boolean alarm-ready: boolean alarm-tens-hours, alarm-ones-hours: boolean alarm-tens-minutes, alarm-ones-minutes: scan-keyboard() update-time()

Update-time behavior update seconds with rollover display.set-time(current time) F Time >= alarm and alarm-on? Rollover? F T T update hh:mm with rollover alarm.buzzer(true) PM->AM AM->PM PM=true PM=false

Scan-keyboard behavior Set-time and not set-alarm and hours compute button activations Alarm-on Increment time tens w. rollover and AM/PM alarm-ready= true Alarm-off alarm-ready= false alarm.buzzer(false) Increment time ones w. rollover and AM/PM save button states Set-time and not set-alarm and minutes

System architecture Includes: Two major software components: periodic behavior (clock); aperiodic behavior (buttons, buzzer activation). Two major software components: interrupt-driven routine updates time; foreground program deals with buttons, commands.

Interrupt-driven routine Timer probably can’t handle one-minute interrupt interval. Use software variable to convert interrupt frequency to seconds.

Foreground program Operates as while loop: while (TRUE) { read_buttons(button_values); process_command(button_values); check_alarm(); }

Testing Component testing: System testing: test interrupt code on the platform; can test foreground program using a mock-up. System testing: relatively few components to integrate; check clock accuracy; check recognition of buttons, buzzer, etc.

Audio players Audio players may use flash, hard disk, or CD for mass storage. An MP3 player performs three basic functions: audio storage, audio decompression,and user interface. Decompression requires small amount of CPU: 10% of ARM7. File system must be compatible (FAT). Cirrus CS7410

Digital still cameras DSC must determine exposure before taking picture. After taking picture: Improve image quality. Compress. Save as file.

Digital still camera architecture DSC uses CPU for general-purpose processing, DSP for image processing. Internal memory buffers the passes on the image. Display is lower resolution than image sensor. Image must be down sampled.

Image capture Before taking picture: Determine exposure. Determine focus. Optimize white balance. Bayer pattern

Image processing Must perform basic processing to get usable picture: Bayer->RGB interpolation. DSCs perform many functions formerly performed by photoprocessors for film: Image sharpening. Color balance.

File management EXIF standard gives format for digital pictures: Format of data in a file. Directory structure. EXIF file includes: Image (JPEG, etc.) Thumbnail. Metadata (camera type, date/time, etc.)

Accelerators Example: video accelerator

Concept Build accelerator for block motion estimation, one step in video compression. Perform two-dimensional correlation: f2 Frame 1 f2 f2 f2 f2 f2 f2 f2 f2 f2

Block motion estimation MPEG divides frame into 16 x 16 macroblocks for motion estimation. Search for best match within a search range. Measure similarity with sum-of-absolute-differences (SAD): S | M(i,j) - S(i-ox, j-oy) |

Best match Best match produces motion vector for motion block:

Full search algorithm bestx = 0; besty = 0; bestsad = MAXSAD; for (ox = - SEARCHSIZE; ox < SEARCHSIZE; ox++) { for (oy = -SEARCHSIZE; oy < SEARCHSIZE; oy++) { int result = 0; for (i=0; i<MBSIZE; i++) { for (j=0; j<MBSIZE; j++) { result += iabs(mb[i][j] - search[i-ox+XCENTER][j-oy-YCENTER]);

Full search algorithm, cont’d. } if (result <= bestsad) { bestsad = result; bestx = ox; besty = oy; }

Computational requirements Let MBSIZE = 16, SEARCHSIZE = 8. Search area is 8 + 8 + 1 in each dimension. Must perform: nops = (16 x 16) x (17 x 17) = 73984 ops CIF format has 352 x 288 pixels -> 22 x 18 macroblocks.

Accelerator requirements

Accelerator data types, basic classes Motion-vector Macroblock Search-area x, y : pos pixels[] : pixelval pixels[] : pixelval PC Motion-estimator memory[] compute-mv()

Sequence diagram :PC :Motion-estimator compute-mv() Search area memory[] memory[] macroblocks memory[]

Architectural considerations Requires large amount of memory: macroblock has 256 pixels; search area has 1,089 pixels. May need external memory (especially if buffering multiple macroblocks/search areas).

Motion estimator organization PE 0 search area network PE 1 comparator ctrl Address generator ... Motion vector macroblock network PE 15

Pixel schedules M(0,0) S(0,2)

System testing Testing requires a large amount of data. Use simple patterns with obvious answers for initial tests. Extract sample data from JPEG pictures for more realistic tests.