Image Denoising 成功大學 資訊工程系 陳 培 殷. Outline Embedded System What CSE Students Can Do in Embedded System Design Example -Image Denoising Demo.

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

Field Programmable Gate Array
FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Implementing Fault Tolerant Systems with Windows CE.NET Reliable System Design 2010 by: Amir M. Rahmani.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
CS4101 嵌入式系統概論 Design and Development 金仲達教授 國立清華大學資訊工程學系 Slides from Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf,
Dedicated Computer Systems
Digital Systems Emphasis for Electrical Engineering Students Digital Systems skills are very valuable for electrical engineers Digital systems are the.
The Design Process Outline Goal Reading Design Domain Design Flow
Introduction to Computer Science Fall 2003, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Introduction to Embedded System 成功大學資訊工程系 陳 培 殷 嵌入式系統概論.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Configurable System-on-Chip: Xilinx EDK
From Embedded System to Digital IC Design 陳 培 殷 教授 國立成功大學 資訊工程系.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
Design of image denoising circuit 成功大學 資訊工程系 陳 培 殷.
6/30/2015HY220: Ιάκωβος Μαυροειδής1 Moore’s Law Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
SSS 4/9/99CMU Reconfigurable Computing1 The CMU Reconfigurable Computing Project April 9, 1999 Mihai Budiu
Mahesh Sukumar Subramanian Srinivasan. Introduction Face detection - determines the locations of human faces in digital images. Binary pattern-classification.
Hardware/Software Partitioning Witawas Srisa-an Embedded Systems Design and Implementation.
Microcontroller: Introduction
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
Camera Interfacing using ARM7
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
Exploring Engineering Chapter 9, Part 2 Logic and Computers.
How to design Microcontroller Based System? Fall 2014 Sung Yeul Park, Ph.D. Dept. of Electrical and Computer Eng University of Connecticut.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Embedded Systems. 2 A “short list” of embedded systems And the list goes on and on Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
Prof. JunDong Cho VADA Lab. Project.
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
陳培殷, Pei-Yin Chen, 國立成功大學資訊工程系
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Smart Home and Embedded System Design
CAD for Physical Design of VLSI Circuits
SYSTEM-ON-CHIP (SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
COE 405 Design and Modeling of Digital Systems
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
EMT 351 DIGITAL IC DESIGN En. Rizalafande Che Ismail (Course Co-ordinator) Pn. Siti Zarina Md Naziri School of Microelectronic Engineering School of Microelectronic.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
MICROPROCESSOR FUNCTION Technician Series Created Mar 2015 gmail.com.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Introduction to VLSI Design Amit Kumar Mishra ECE Department IIT Guwahati.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
1 Lesson 1 Computers and Computer Systems Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
System On Chip.
Chapter 1: Introduction
Introduction to Embedded Systems
HIGH LEVEL SYNTHESIS.
Win with HDL Slide 4 System Level Design
數位IC設計 Pei-Yin Chen, 陳培殷.
Presentation transcript:

Image Denoising 成功大學 資訊工程系 陳 培 殷

Outline Embedded System What CSE Students Can Do in Embedded System Design Example -Image Denoising Demo

PCB PC: a general-purpose computing system PC Pentium

PCB Embedded System: a special-purpose computing system Most embedded systems are designed for 1.special purpose (customizing and non-programmable) 2.real time applications 3. stable applications 4. automatic applications Embedded System (1/2)

uP UART MPEG ROM RAM Embedded System (2/2) Traditional embedded systems use low-level processors only. ARM PCI MPEG USB FLASH ROM RAM DSP AMBA Advanced embedded systems Multi-core

Application Everywhere!

Applications Information Appliances (IA): 1. Smart phone, VOIP 2. Digital TV, set-top box 3. PlayStation 4. PDA, mp3 player 5. Camera, DV 6. Air-conditioner, microwave oven, refrigerator, vacuum cleaner, sensor network 7. Motorcycles 8. Car (abs, engine firing, air bag) >100 processors 9. … Ubiquitous computing (many computers for everyone)

Requirements 1. Friendly user interface 2. Short time-to-market 3. Real-time (Speed) 4. Cost 5. Power consummation/dissipation (cooling strategy and battery life)

Synthesis Applications 傳輸距離: 100 m 功率消耗: 2 W 功能:影像傳輸、 語音傳輸 螢 幕: 176 x 220 pixel 色 1.8 吋 TFT 其他 Specifications Hardware: CPU, RAM, I/O… Hardware: CPU, RAM, I/O… Software: C,C++ Software: C,C++ System Design clk) begin if (sel1) begin out=in1; else out=in2; end Component Design Layout Placement & Routing Fabrication Marketing System Development Flow Testing

What CSE students can do in Embedded System Design? My personal Views: 1. Hardware Design -Chip 2. Hardware Design -System 3. Related Tools Design 4. Firmware Design 5. Software Design 6. ESL Design

Design Flow Specification System Architecture Hardware Design Software Design System Integration System Verification/Testing Hardware/software partition is very difficult !!! (cost  time)

IC Industry in Taiwan 晶粒測試及切割 晶圓切割 設計 導線架 測試 封裝 製造 光罩 晶圓 邏輯設計 封 裝 化學品 成品測試 光罩設計 長晶

ARM PCI MPEG USB FLASH ROM RAM DSP AMBA Hardware Design -- Chip (1/4) ASIC The basic design flow for digital cell-based ASIC Describe circuits with hardware description language (HDL 硬體描述語言 )  VHDL and Verilog Synthesis ( 合成 ) the circuits …. Need the concepts of digital logic/system application specific integrated circuit (ASIC 晶片 ) such as USB, MPEG, …. Full custom design vs. semi custom (cell-based) design

Hardware Design -- Chip (2/4)

Hardware Design -- Chip (3/4) if (a==b) if (c==1) d=f; else d=1; else d=0; a b c f d f c a b d Translate into Boolean Representation Optimize + Map HDL Source Target Technology Synthesis = Translation+Optimization+Mapping Process of logic synthesis Software Engineers play a very important role for EDA tools development !!!

Hardware Design -- Chip (4/4) FPGA or CPLD Real ASIC chip less flexible, long design cycle, higher speed, larger-scale production to reduce price more flexible, shorter design cycle, lower speed, lower utilization, suitable for smaller production Standard cell PLD Fab (TSMC, UMC,..) Two implementations : Xilinx, Altera

Hardware Design -- System ARM PCI MPEG USB FLASH ROM RAM DSP AMBA ASIC Input devices: keyboard, touch screen, switch, button,.. Output devices: monitor, LCD, LED, … Extended devices: compact flash card (CF), PCMCIA, SD (for storage, wireless communication, I/O) Power system: Transmission Interface: PCI, USB, IEEE 1394, UART, bluetooth… Bus: AMBA ( Advanced Microcontroller Bus Architecture ) Input devices Output devices

Related Tools Design 晶粒測試及切割 晶圓切割 設計 導線架 測試 封裝 製造 光罩 晶圓 邏輯設計 封 裝 化學品 成品測試 光罩設計 長晶

Firmware Design ARM PCI MPEG USB FLASH ROM RAM DSP AMBA ASIC Devices drivers for I/O devices, extended devices, transmission interface Assembly codes and C codes for some dedicated CPUs (ARM, 8086,..)  Architectures and instruction sets of different CPUs, DMA,… Input devices Output devices

Software Design ARM PCI MPEG USB FLASH ROM RAM DSP AMBA ASIC Input devices Output devices Embedded OS: WinCE, Palm OS, uC/OS, Linux, JAVA  Real time OS (time)  as small as possible (memory)  Distributed embedded system (+ fault tolerance) Application Software: wireless communication, network, multimedia, health, convenience, Web, ….  Porting a customized embedded system to different machines is very difficult (need large modification)

Future Chip: tens of millions of transistors or more (.35,.25,.18,.09) Design shifts from ASIC/board to system System on a Board (printed circuit board) System on a chip uP FPGA MPEG ASIC ATM ROM SW PCB uP Core SRAM ROM ATMMPEG ROM FPGA Glue Logic A/D Block PCB SOC System-on-a chip is possible (the whole system is built in a single chip)

SOC is industry trend multi-core

Example: Mobile Phone Voice only; 2 processors 4 year product life cycle Short talk time Yesterday Voice, data, video, SMS <12 month product life cycle Lower power; longer talk time Today 5~8 Processors Memory Graphics Bluetooth GPS Radio WLAN Single Chip DSP Radio Flash Memory Processor Source: EI-SONICS

What’s ESL tools ? Describe a SOC design in a more abstract way. Provide virtual prototypes for HW and SW implementation. Help system integration in early design phase. Help to verify the result after job partition. Claim that design and verification can be done in minutes. Electronic System Level (ESL) Tools Suitable for students in CSE

Hardware Software Co-Simulation SoC Designer

Example: Image Denoising Noise arises During image acquisition CCD camera, light levels, sensor temperature During image transmission Interference in the transmission channel Noise Detection Noise Removal Noise Suppression Process Hardware Design – Chip !

Drawbacks of conventional algorithms Heavy computation loading Iterations Large computation loading Additional memory space Our goals: Cost-effective Good performance Suitable for VLSI implementation Real-time requirement Motivation

Low-Complexity Algorithms Embedded System 1. Power consumption 2. Computing time (real time vs. high quality) VLSI Implementation 1. Circuit cost 2. Circuit speed 3. Power consumption Low-Complexity algorithms are necessary for embedded systems and VLSI implementations.

Issues for VLSI Implementation Circuit Cost fixed point vs. floating point less complexity, moderate quality vs. high complexity, high quality +, - vs. *, / 2*x left shift x 5*x  4*x + x Functional units sharing Circuit Speed Pipeline architecture Delay reduction Power Consumption Sleep Shut down partially

Cost-Effective Denoising Method (1/4) 1.Find Min & Max in the mask 3.Check Suspected Noise 4.Choose eligible & representative edge directions 5.Find the minimum difference 6.Reconstruct the corrupted pixel 2.Utilize Min & Max info. to detect noise Noise DetectionNoise Removal

Check suspected noise Case 1Case 2Case 3Case 4 Cost-Effective Denoising Method (2/4)

Choose eligible & representative edge directions Case 1Case 2Case 3Case 4 Cost-Effective Denoising Method (3/4)

Find the minimum difference and reconstruct the noisy pixel Case 1 Cost-Effective Denoising Method (4/4)

Architecture of the Denoising Chip

Shift Register Bank 1st Raw2nd Raw 1st Raw 2nd Raw 1st Raw 3rd Raw

Dataflow Max & Min Computation Unit Noise Detection Unit Edge Detection Unit Output Selection Unit

Stage 1 Stage 2 Stage 3 Stage 4 Pipeline Stages

Demo Source Image Sending Image Denoising Circuit FPGA Board Receiving Image Result Image Software Program Hardware Platform PC Hardware Software Co-Simulation/Verification PSNP calculation